All functions:
  Elements:
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/parser-test.c:20,1
    - Dst: fopen
      Src: /src/libspectre/test/parser-test.c:21,1
    - Dst: printf
      Src: /src/libspectre/test/parser-test.c:23,1
    - Dst: free
      Src: /src/libspectre/test/parser-test.c:25,1
    - Dst: free
      Src: /src/libspectre/test/parser-test.c:28,1
    - Dst: fseek
      Src: /src/libspectre/test/parser-test.c:30,1
    - Dst: fread
      Src: /src/libspectre/test/parser-test.c:38,1
    - Dst: fwrite
      Src: /src/libspectre/test/parser-test.c:39,1
    - Dst: fclose
      Src: /src/libspectre/test/parser-test.c:44,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - fd
    - section
    - begin
    - end
    argTypes:
    - FILE*
    - char*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 11
    functionDepth: 1
    functionLinenumber: 11
    functionLinenumberEnd: 45
    functionName: write_section
    functionSourceFile: /src/libspectre/test/parser-test.c
    functionUses: 0
    functionsReached:
    - fread
    - printf
    - free
    - _spectre_strdup_printf
    - fseek
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void write_section (FILE *fd, const char *section, long begin, long
      end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/test/parser-test.c:55,1
    - Dst: printf
      Src: /src/libspectre/test/parser-test.c:57,1
    - Dst: psscan
      Src: /src/libspectre/test/parser-test.c:61,1
    - Dst: printf
      Src: /src/libspectre/test/parser-test.c:63,1
    - Dst: fclose
      Src: /src/libspectre/test/parser-test.c:64,1
    - Dst: write_section
      Src: /src/libspectre/test/parser-test.c:69,1
    - Dst: write_section
      Src: /src/libspectre/test/parser-test.c:70,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/parser-test.c:74,1
    - Dst: write_section
      Src: /src/libspectre/test/parser-test.c:75,1
    - Dst: free
      Src: /src/libspectre/test/parser-test.c:76,1
    - Dst: write_section
      Src: /src/libspectre/test/parser-test.c:78,1
    - Dst: fclose
      Src: /src/libspectre/test/parser-test.c:80,1
    - Dst: psdocdestroy
      Src: /src/libspectre/test/parser-test.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 84
    functionName: main
    functionSourceFile: /src/libspectre/test/parser-test.c
    functionUses: 0
    functionsReached:
    - psscan
    - printf
    - write_section
    - psdocdestroy
    - _spectre_strdup_printf
    - free
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fmemopen
      Src: /src/libspectre/test/spectre_read_fuzzer.c:27,1
    - Dst: spectre_document_new
      Src: /src/libspectre/test/spectre_read_fuzzer.c:31,1
    - Dst: fclose
      Src: /src/libspectre/test/spectre_read_fuzzer.c:34,1
    - Dst: spectre_document_load_from_stream
      Src: /src/libspectre/test/spectre_read_fuzzer.c:38,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre_read_fuzzer.c:40,1
    - Dst: spectre_document_free
      Src: /src/libspectre/test/spectre_read_fuzzer.c:42,1
    - Dst: fclose
      Src: /src/libspectre/test/spectre_read_fuzzer.c:43,1
    - Dst: spectre_document_free
      Src: /src/libspectre/test/spectre_read_fuzzer.c:47,1
    - Dst: fclose
      Src: /src/libspectre/test/spectre_read_fuzzer.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 51
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libspectre/test/spectre_read_fuzzer.c
    functionUses: 0
    functionsReached:
    - spectre_document_free
    - spectre_document_status
    - spectre_document_load_from_stream
    - spectre_document_new
    - fmemopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/test/fuzz_main.c:17,1
    - Dst: fopen
      Src: /src/libspectre/test/fuzz_main.c:21,1
    - Dst: fprintf
      Src: /src/libspectre/test/fuzz_main.c:24,1
    - Dst: fseek
      Src: /src/libspectre/test/fuzz_main.c:28,1
    - Dst: ftell
      Src: /src/libspectre/test/fuzz_main.c:30,1
    - Dst: rewind
      Src: /src/libspectre/test/fuzz_main.c:31,1
    - Dst: malloc
      Src: /src/libspectre/test/fuzz_main.c:35,1
    - Dst: fprintf
      Src: /src/libspectre/test/fuzz_main.c:38,1
    - Dst: fread
      Src: /src/libspectre/test/fuzz_main.c:42,1
    - Dst: fprintf
      Src: /src/libspectre/test/fuzz_main.c:44,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libspectre/test/fuzz_main.c:48,1
    - Dst: free
      Src: /src/libspectre/test/fuzz_main.c:51,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 9
    functionDepth: 1
    functionLinenumber: 9
    functionLinenumberEnd: 54
    functionName: main
    functionSourceFile: /src/libspectre/test/fuzz_main.c
    functionUses: 0
    functionsReached:
    - fread
    - rewind
    - malloc
    - ftell
    - fprintf
    - fseek
    - LLVMFuzzerTestOneInput
    - free
    - fopen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - orientation
    argTypes:
    - SpectreOrientation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 25
    functionName: orientation_to_string
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      orientation_to_string (SpectreOrientation orientation)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_get_format
      Src: /src/libspectre/test/spectre-test.c:32,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:33,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:35,1
    - Dst: spectre_document_get_language_level
      Src: /src/libspectre/test/spectre-test.c:36,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:37,1
    - Dst: spectre_document_is_eps
      Src: /src/libspectre/test/spectre-test.c:38,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:39,1
    - Dst: spectre_document_get_n_pages
      Src: /src/libspectre/test/spectre-test.c:40,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:41,1
    - Dst: spectre_document_get_title
      Src: /src/libspectre/test/spectre-test.c:42,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:43,1
    - Dst: spectre_document_get_creator
      Src: /src/libspectre/test/spectre-test.c:44,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:45,1
    - Dst: spectre_document_get_for
      Src: /src/libspectre/test/spectre-test.c:46,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:47,1
    - Dst: spectre_document_get_creation_date
      Src: /src/libspectre/test/spectre-test.c:48,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:49,1
    - Dst: orientation_to_string
      Src: /src/libspectre/test/spectre-test.c:50,1
    - Dst: spectre_document_get_orientation
      Src: /src/libspectre/test/spectre-test.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 51
    functionName: test_metadata
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_document_get_creator
    - spectre_document_get_format
    - spectre_document_get_creation_date
    - orientation_to_string
    - printf
    - spectre_document_get_title
    - spectre_document_get_orientation
    - spectre_document_get_language_level
    - spectre_document_get_for
    - spectre_document_get_n_pages
    - spectre_document_is_eps
    linkageType: ''
    returnType: void
    signature: void test_metadata (SpectreDocument *document)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_get_page
      Src: /src/libspectre/test/spectre-test.c:63,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/test/spectre-test.c:65,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/test/spectre-test.c:67,1
    - Dst: spectre_render_context_set_rotation
      Src: /src/libspectre/test/spectre-test.c:87,1
    - Dst: spectre_page_render
      Src: /src/libspectre/test/spectre-test.c:88,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:89,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:90,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:91,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:91,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:92,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:96,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:101,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:102,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:103,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:105,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:106,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/test/spectre-test.c:109,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:110,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - document
    - output
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 111
    functionName: test_rotation
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - cairo_image_surface_create_for_data
    - spectre_status_to_string
    - spectre_render_context_free
    - printf
    - spectre_render_context_new
    - spectre_render_context_set_rotation
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - free
    - spectre_document_get_page
    - _spectre_strdup_printf
    - spectre_page_get_size
    - spectre_page_status
    - spectre_page_free
    - spectre_page_render
    linkageType: ''
    returnType: void
    signature: "void test_rotation (SpectreDocument *document,\n\t       const char
      \     *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_get_page
      Src: /src/libspectre/test/spectre-test.c:126,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/test/spectre-test.c:128,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:136,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/test/spectre-test.c:139,1
    - Dst: spectre_page_render_slice
      Src: /src/libspectre/test/spectre-test.c:141,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:143,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:147,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:152,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:153,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:154,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:156,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:158,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:160,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:160,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:163,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/test/spectre-test.c:164,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - document
    - output
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 166
    functionName: test_render_slice
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - cairo_image_surface_create_for_data
    - spectre_status_to_string
    - spectre_render_context_free
    - printf
    - spectre_render_context_new
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - _spectre_strdup_printf
    - spectre_document_get_page
    - free
    - spectre_page_get_size
    - spectre_page_status
    - spectre_page_free
    - spectre_page_render_slice
    linkageType: ''
    returnType: void
    signature: "void test_render_slice (SpectreDocument *document,\n\t\t   const char
      \     *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spectre_document_get_page
      Src: /src/libspectre/test/spectre-test.c:177,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:179,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/test/spectre-test.c:181,1
    - Dst: spectre_render_context_set_page_size
      Src: /src/libspectre/test/spectre-test.c:183,1
    - Dst: spectre_page_render
      Src: /src/libspectre/test/spectre-test.c:184,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:185,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:189,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:194,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:195,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:196,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:198,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:200,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:201,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:201,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:204,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/test/spectre-test.c:205,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - document
    - output
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 207
    functionName: test_page_size
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - cairo_image_surface_create_for_data
    - spectre_status_to_string
    - spectre_render_context_free
    - printf
    - spectre_render_context_new
    - spectre_render_context_set_page_size
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - _spectre_strdup_printf
    - spectre_document_get_page
    - free
    - spectre_page_status
    - spectre_page_free
    - spectre_page_render
    linkageType: ''
    returnType: void
    signature: "void test_page_size (SpectreDocument *document,\n\t\tconst char      *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:216,1
    - Dst: spectre_document_render
      Src: /src/libspectre/test/spectre-test.c:218,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:219,1
    - Dst: spectre_document_get_page_size
      Src: /src/libspectre/test/spectre-test.c:224,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:226,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:231,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:232,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:233,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:235,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:237,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:238,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:238,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - document
    - output
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 242
    functionName: test_document_render
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_document_render
    - cairo_image_surface_create_for_data
    - spectre_status_to_string
    - printf
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - _spectre_strdup_printf
    - free
    - spectre_document_status
    - spectre_document_get_page_size
    linkageType: ''
    returnType: void
    signature: "void test_document_render (SpectreDocument *document,\n\t\t      const
      char      *output)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:252,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/test/spectre-test.c:254,1
    - Dst: spectre_render_context_set_scale
      Src: /src/libspectre/test/spectre-test.c:256,1
    - Dst: spectre_document_render_full
      Src: /src/libspectre/test/spectre-test.c:257,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:258,1
    - Dst: spectre_document_get_page_size
      Src: /src/libspectre/test/spectre-test.c:263,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:268,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:273,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:274,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:275,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:277,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:279,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:280,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:280,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/test/spectre-test.c:283,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - document
    - output
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 285
    functionName: test_document_render_full
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - cairo_image_surface_create_for_data
    - spectre_status_to_string
    - spectre_render_context_free
    - printf
    - spectre_render_context_new
    - cairo_surface_write_to_png
    - cairo_surface_destroy
    - _spectre_strdup_printf
    - free
    - spectre_document_status
    - spectre_render_context_set_scale
    - spectre_document_render_full
    - spectre_document_get_page_size
    linkageType: ''
    returnType: void
    signature: "void test_document_render_full (SpectreDocument *document,\n\t\t\t
      \  const char      *output)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: spectre_exporter_new
      Src: /src/libspectre/test/spectre-test.c:298,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:300,1
    - Dst: spectre_exporter_begin
      Src: /src/libspectre/test/spectre-test.c:301,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:302,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:305,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:306,1
    - Dst: spectre_exporter_free
      Src: /src/libspectre/test/spectre-test.c:307,1
    - Dst: spectre_document_get_n_pages
      Src: /src/libspectre/test/spectre-test.c:313,1
    - Dst: spectre_exporter_do_page
      Src: /src/libspectre/test/spectre-test.c:317,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:319,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:320,1
    - Dst: spectre_exporter_end
      Src: /src/libspectre/test/spectre-test.c:325,1
    - Dst: spectre_exporter_free
      Src: /src/libspectre/test/spectre-test.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - document
    - format
    - output_dir
    argTypes:
    - SpectreDocument*
    - SpectreExporterFormat
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 327
    functionName: test_export
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_exporter_free
    - spectre_status_to_string
    - printf
    - spectre_exporter_new
    - spectre_exporter_begin
    - spectre_exporter_do_page
    - _spectre_strdup_printf
    - free
    - spectre_document_get_n_pages
    - spectre_exporter_end
    linkageType: ''
    returnType: void
    signature: "void test_export (SpectreDocument      *document,\n\t     SpectreExporterFormat
      format,\n\t     const char           *output_dir)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:335,1
    - Dst: spectre_document_save
      Src: /src/libspectre/test/spectre-test.c:336,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:337,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:338,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:339,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:339,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - document
    - output_dir
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 342
    functionName: test_save
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_status_to_string
    - printf
    - spectre_document_save
    - _spectre_strdup_printf
    - free
    - spectre_document_status
    linkageType: ''
    returnType: void
    signature: "void test_save (SpectreDocument *document,\n\t   const char      *output_dir)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:350,1
    - Dst: spectre_document_save_to_pdf
      Src: /src/libspectre/test/spectre-test.c:351,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:352,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:353,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:354,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:354,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - document
    - output_dir
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 357
    functionName: test_save_to_pdf
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_status_to_string
    - printf
    - spectre_document_save_to_pdf
    - _spectre_strdup_printf
    - free
    - spectre_document_status
    linkageType: ''
    returnType: void
    signature: "void test_save_to_pdf (SpectreDocument *document,\n\t\t  const char
      \     *output_dir)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:367,1
    - Dst: spectre_document_load
      Src: /src/libspectre/test/spectre-test.c:369,1
    - Dst: spectre_document_new
      Src: /src/libspectre/test/spectre-test.c:371,1
    - Dst: spectre_document_load
      Src: /src/libspectre/test/spectre-test.c:372,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:373,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:374,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:375,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:375,1
    - Dst: spectre_document_free
      Src: /src/libspectre/test/spectre-test.c:376,1
    - Dst: test_document_render
      Src: /src/libspectre/test/spectre-test.c:381,1
    - Dst: test_document_render_full
      Src: /src/libspectre/test/spectre-test.c:382,1
    - Dst: test_export
      Src: /src/libspectre/test/spectre-test.c:383,1
    - Dst: test_export
      Src: /src/libspectre/test/spectre-test.c:384,1
    - Dst: test_save
      Src: /src/libspectre/test/spectre-test.c:385,1
    - Dst: test_save_to_pdf
      Src: /src/libspectre/test/spectre-test.c:386,1
    - Dst: test_metadata
      Src: /src/libspectre/test/spectre-test.c:387,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/test/spectre-test.c:389,1
    - Dst: spectre_document_get_n_pages
      Src: /src/libspectre/test/spectre-test.c:391,1
    - Dst: spectre_document_get_page
      Src: /src/libspectre/test/spectre-test.c:399,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:400,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:401,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:402,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:402,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/test/spectre-test.c:406,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:407,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:408,1
    - Dst: spectre_page_get_label
      Src: /src/libspectre/test/spectre-test.c:408,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:409,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:410,1
    - Dst: orientation_to_string
      Src: /src/libspectre/test/spectre-test.c:411,1
    - Dst: spectre_page_get_orientation
      Src: /src/libspectre/test/spectre-test.c:411,1
    - Dst: spectre_document_get_page_by_label
      Src: /src/libspectre/test/spectre-test.c:413,1
    - Dst: spectre_page_get_label
      Src: /src/libspectre/test/spectre-test.c:413,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:414,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:415,1
    - Dst: spectre_page_get_label
      Src: /src/libspectre/test/spectre-test.c:416,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:417,1
    - Dst: spectre_document_status
      Src: /src/libspectre/test/spectre-test.c:417,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:419,1
    - Dst: spectre_render_context_set_page_size
      Src: /src/libspectre/test/spectre-test.c:422,1
    - Dst: spectre_page_render
      Src: /src/libspectre/test/spectre-test.c:423,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:424,1
    - Dst: printf
      Src: /src/libspectre/test/spectre-test.c:425,1
    - Dst: spectre_status_to_string
      Src: /src/libspectre/test/spectre-test.c:426,1
    - Dst: spectre_page_status
      Src: /src/libspectre/test/spectre-test.c:426,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:427,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:428,1
    - Dst: cairo_image_surface_create_for_data
      Src: /src/libspectre/test/spectre-test.c:432,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/test/spectre-test.c:437,1
    - Dst: cairo_surface_write_to_png
      Src: /src/libspectre/test/spectre-test.c:438,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:439,1
    - Dst: cairo_surface_destroy
      Src: /src/libspectre/test/spectre-test.c:441,1
    - Dst: free
      Src: /src/libspectre/test/spectre-test.c:442,1
    - Dst: spectre_page_free
      Src: /src/libspectre/test/spectre-test.c:443,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/test/spectre-test.c:446,1
    - Dst: test_render_slice
      Src: /src/libspectre/test/spectre-test.c:448,1
    - Dst: test_page_size
      Src: /src/libspectre/test/spectre-test.c:449,1
    - Dst: test_rotation
      Src: /src/libspectre/test/spectre-test.c:450,1
    - Dst: spectre_document_free
      Src: /src/libspectre/test/spectre-test.c:452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 455
    functionName: main
    functionSourceFile: /src/libspectre/test/spectre-test.c
    functionUses: 0
    functionsReached:
    - spectre_page_get_label
    - cairo_image_surface_create_for_data
    - test_rotation
    - spectre_render_context_new
    - cairo_surface_destroy
    - spectre_document_free
    - test_export
    - spectre_page_get_size
    - spectre_page_free
    - spectre_document_status
    - spectre_document_new
    - test_render_slice
    - spectre_render_context_free
    - test_page_size
    - spectre_render_context_set_page_size
    - _spectre_strdup_printf
    - spectre_document_get_page
    - spectre_document_load
    - spectre_document_get_page_by_label
    - spectre_status_to_string
    - test_document_render_full
    - test_save
    - printf
    - free
    - spectre_page_render
    - orientation_to_string
    - spectre_page_get_orientation
    - test_document_render
    - test_save_to_pdf
    - test_metadata
    - cairo_surface_write_to_png
    - spectre_document_get_n_pages
    - spectre_page_status
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - status
    argTypes:
    - SpectreStatus
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 46
    functionName: spectre_status_to_string
    functionSourceFile: /src/libspectre/libspectre/spectre-status.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_status_to_string (SpectreStatus status)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 45
    functionName: SpectreRenderContext
    functionSourceFile: /src/libspectre/libspectre/spectre-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: SPECTRE_BEGIN_DECLS
    signature: SPECTRE_BEGIN_DECLS SpectreRenderContext
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-render-context.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 49
    functionName: spectre_render_context_new
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 5
    functionsReached:
    - malloc
    linkageType: ''
    returnType: SpectreRenderContext
    signature: 'SpectreRenderContext *

      spectre_render_context_new (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-render-context.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rc
    argTypes:
    - SpectreRenderContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: spectre_render_context_free
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 5
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void spectre_render_context_free (SpectreRenderContext *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - x_scale
    - y_scale
    argTypes:
    - SpectreRenderContext*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: spectre_render_context_set_scale
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 1
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_scale (SpectreRenderContext *rc,\n\t\t\t\t
      \ double                x_scale,\n\t\t\t\t  double                y_scale)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rc
    - x_scale
    - y_scale
    argTypes:
    - SpectreRenderContext*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: spectre_render_context_get_scale
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_get_scale (SpectreRenderContext *rc,\n\t\t\t\t
      \ double               *x_scale,\n\t\t\t\t  double               *y_scale)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:88,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - rc
    - rotation
    argTypes:
    - SpectreRenderContext*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: spectre_render_context_set_rotation
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 1
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_rotation (SpectreRenderContext *rc,\n\t\t\t\t
      \    unsigned int          rotation)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rc
    argTypes:
    - SpectreRenderContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: spectre_render_context_get_rotation
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int spectre_render_context_get_rotation (SpectreRenderContext
      *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - x_dpi
    - y_dpi
    argTypes:
    - SpectreRenderContext*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: spectre_render_context_set_resolution
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_resolution (SpectreRenderContext *rc,\n\t\t\t\t
      \      double                x_dpi,\n\t\t\t\t       double                y_dpi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rc
    - x_dpi
    - y_dpi
    argTypes:
    - SpectreRenderContext*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: spectre_render_context_get_resolution
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_get_resolution (SpectreRenderContext *rc,\n\t\t\t\t
      \      double               *x_dpi,\n\t\t\t\t       double               *y_dpi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - width
    - height
    argTypes:
    - SpectreRenderContext*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: spectre_render_context_set_page_size
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 2
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_page_size (SpectreRenderContext *rc,\n\t\t\t\t
      \     int                   width,\n\t\t\t\t      int                   height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rc
    - width
    - height
    argTypes:
    - SpectreRenderContext*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 168
    functionName: spectre_render_context_get_page_size
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_get_page_size (SpectreRenderContext *rc,\n\t\t\t\t
      \     int                  *width,\n\t\t\t\t      int                  *height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rc
    - use_platform_fonts
    argTypes:
    - SpectreRenderContext*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: spectre_render_context_set_use_platform_fonts
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_use_platform_fonts (SpectreRenderContext
      *rc,\n\t\t\t\t\t       int                   use_platform_fonts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rc
    argTypes:
    - SpectreRenderContext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: spectre_render_context_get_use_platform_fonts
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: int spectre_render_context_get_use_platform_fonts (SpectreRenderContext
      *rc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rc
    - graphics_bits
    - text_bits
    argTypes:
    - SpectreRenderContext*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: spectre_render_context_set_antialias_bits
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_set_antialias_bits (SpectreRenderContext
      *rc,\n\t\t\t\t\t   int                   graphics_bits,\n\t\t\t\t\t   int                   text_bits)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-render-context.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - rc
    - graphics_bits
    - text_bits
    argTypes:
    - SpectreRenderContext*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: spectre_render_context_get_antialias_bits
    functionSourceFile: /src/libspectre/libspectre/spectre-render-context.c
    functionUses: 0
    functionsReached:
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_render_context_get_antialias_bits (SpectreRenderContext
      *rc,\n\t\t\t\t\t   int                  *graphics_bits,\n\t\t\t\t\t   int                  *text_bits)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: spectre_gs_new
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:37,1
    - Dst: spectre_gs_create_instance
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:38,1
    - Dst: spectre_gs_cleanup
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:39,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:40,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:53,1
    - Dst: assert
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:56,1
    - Dst: spectre_gs_run
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:58,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:59,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:60,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:66,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:68,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:73,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:79,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:84,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - exporter
    - filename
    argTypes:
    - SpectreExporter*
    - char*
    assertStmts:
    - condition: (kArgs == arg)
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/libspectre/libspectre/spectre-exporter-pdf.c
    constantsTouched: []
    func_position:
      end: 91
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 91
    functionName: spectre_exporter_pdf_begin
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-pdf.c
    functionUses: 0
    functionsReached:
    - spectre_gs_new
    - spectre_gs_free
    - spectre_gs_process
    - spectre_gs_cleanup
    - assert
    - _spectre_strdup_printf
    - free
    - spectre_gs_create_instance
    - spectre_gs_run
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_pdf_begin (SpectreExporter *exporter,\n\t\t\t
      \   const char      *filename)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:102,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - exporter
    - page_index
    argTypes:
    - SpectreExporter*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 114
    functionName: spectre_exporter_pdf_do_page
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-pdf.c
    functionUses: 0
    functionsReached:
    - spectre_gs_process
    - spectre_gs_free
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_pdf_do_page (SpectreExporter *exporter,\n\t\t\t
      \     unsigned int     page_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:125,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - SpectreExporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 134
    functionName: spectre_exporter_pdf_end
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-pdf.c
    functionUses: 0
    functionsReached:
    - spectre_gs_process
    - spectre_gs_free
    linkageType: ''
    returnType: SpectreStatus
    signature: SpectreStatus spectre_exporter_pdf_end (SpectreExporter *exporter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:141,1
    - Dst: psdocreference
      Src: /src/libspectre/libspectre/spectre-exporter-pdf.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 152
    functionName: _spectre_exporter_pdf_new
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-pdf.c
    functionUses: 0
    functionsReached:
    - calloc
    - psdocreference
    linkageType: ''
    returnType: SpectreExporter
    signature: 'SpectreExporter *

      _spectre_exporter_pdf_new (struct document *doc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-document.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: spectre_document_new
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: SpectreDocument
    signature: 'SpectreDocument *

      spectre_document_new (void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:58,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/spectre-document.c:60,1
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-document.c:66,1
    - Dst: psscan
      Src: /src/libspectre/libspectre/spectre-document.c:75,1
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-document.c:83,1
    - Dst: spectre_document_render
      Src: /src/libspectre/libspectre/spectre-document.c:92,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-document.c:93,1
    - Dst: spectre_document_status
      Src: /src/libspectre/libspectre/spectre-document.c:95,1
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-document.c:97,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 3
    argNames:
    - document
    - filename
    - file
    argTypes:
    - SpectreDocument*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 110
    functionName: document_load
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - spectre_document_render
    - psscan
    - strcmp
    - psdocdestroy
    - free
    - spectre_document_status
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void document_load (SpectreDocument *document,\n\t       const char
      \     *filename,\n\t       FILE            *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:118,1
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-document.c:120,1
    - Dst: document_load
      Src: /src/libspectre/libspectre/spectre-document.c:125,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-document.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - document
    - filename
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 127
    functionName: spectre_document_load
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - fclose
    - document_load
    - fopen
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_document_load (SpectreDocument *document,\n\t\t       const
      char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: document_load
      Src: /src/libspectre/libspectre/spectre-document.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - document
    - file
    argTypes:
    - SpectreDocument*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: spectre_document_load_from_stream
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - document_load
    linkageType: ''
    returnType: void
    signature: "void spectre_document_load_from_stream (SpectreDocument *document,\n\t\t\t\t
      \  FILE            *file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-document.c:143,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-document.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: spectre_document_free
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 2
    functionsReached:
    - free
    - psdocdestroy
    linkageType: ''
    returnType: void
    signature: void spectre_document_free (SpectreDocument *document)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: spectre_document_status
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 7
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreStatus
    signature: SpectreStatus spectre_document_status (SpectreDocument *document)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: spectre_document_get_n_pages
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 3
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int spectre_document_get_n_pages (SpectreDocument *document)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: spectre_document_get_orientation
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreOrientation
    signature: SpectreOrientation spectre_document_get_orientation (SpectreDocument
      *document)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: spectre_document_get_title
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_document_get_title (SpectreDocument *document)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: spectre_document_get_creator
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_document_get_creator (SpectreDocument *document)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: spectre_document_get_for
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_document_get_for (SpectreDocument *document)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: spectre_document_get_creation_date
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_document_get_creation_date (SpectreDocument *document)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: spectre_document_get_format
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_document_get_format (SpectreDocument *document)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: spectre_document_is_eps
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: int
    signature: int spectre_document_is_eps (SpectreDocument *document)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:280,1
    - Dst: atoi
      Src: /src/libspectre/libspectre/spectre-document.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: spectre_document_get_language_level
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - atoi
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int spectre_document_get_language_level (SpectreDocument *document)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:297,1
    - Dst: spectre_document_get_n_pages
      Src: /src/libspectre/libspectre/spectre-document.c:303,1
    - Dst: _spectre_page_new
      Src: /src/libspectre/libspectre/spectre-document.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - document
    - page_index
    argTypes:
    - SpectreDocument*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 323
    functionName: spectre_document_get_page
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 4
    functionsReached:
    - _spectre_page_new
    - spectre_document_get_n_pages
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectrePage
    signature: "SpectrePage *\nspectre_document_get_page (SpectreDocument *document,\n\t\t\t
      \  unsigned int     page_index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:332,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/spectre-document.c:345,1
    - Dst: spectre_document_get_page
      Src: /src/libspectre/libspectre/spectre-document.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - document
    - label
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 357
    functionName: spectre_document_get_page_by_label
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - spectre_document_get_page
    - _spectre_return_val_if_fail
    - strcmp
    linkageType: ''
    returnType: SpectrePage
    signature: "SpectrePage *\nspectre_document_get_page_by_label (SpectreDocument
      *document,\n\t\t\t\t    const char      *label)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:367,1
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:368,1
    - Dst: spectre_document_get_page
      Src: /src/libspectre/libspectre/spectre-document.c:375,1
    - Dst: spectre_page_free
      Src: /src/libspectre/libspectre/spectre-document.c:377,1
    - Dst: spectre_page_render
      Src: /src/libspectre/libspectre/spectre-document.c:381,1
    - Dst: spectre_page_status
      Src: /src/libspectre/libspectre/spectre-document.c:382,1
    - Dst: spectre_page_free
      Src: /src/libspectre/libspectre/spectre-document.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - document
    - rc
    - page_data
    - row_length
    argTypes:
    - SpectreDocument*
    - SpectreRenderContext*
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 359
    functionDepth: 3
    functionLinenumber: 359
    functionLinenumberEnd: 385
    functionName: spectre_document_render_full
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - spectre_document_get_page
    - spectre_page_free
    - spectre_page_status
    - spectre_page_render
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_document_render_full (SpectreDocument      *document,\n\t\t\t
      \     SpectreRenderContext *rc,\n\t\t\t      unsigned char       **page_data,\n\t\t\t
      \     int                  *row_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:394,1
    - Dst: spectre_render_context_new
      Src: /src/libspectre/libspectre/spectre-document.c:396,1
    - Dst: spectre_document_render_full
      Src: /src/libspectre/libspectre/spectre-document.c:397,1
    - Dst: spectre_render_context_free
      Src: /src/libspectre/libspectre/spectre-document.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - document
    - page_data
    - row_length
    argTypes:
    - SpectreDocument*
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 387
    functionDepth: 4
    functionLinenumber: 387
    functionLinenumberEnd: 399
    functionName: spectre_document_render
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 2
    functionsReached:
    - spectre_render_context_new
    - spectre_document_render_full
    - spectre_render_context_free
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_document_render (SpectreDocument *document,\n\t\t\t unsigned
      char  **page_data,\n\t\t\t int             *row_length)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:409,1
    - Dst: spectre_document_get_page
      Src: /src/libspectre/libspectre/spectre-document.c:416,1
    - Dst: spectre_page_free
      Src: /src/libspectre/libspectre/spectre-document.c:418,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/libspectre/spectre-document.c:422,1
    - Dst: spectre_page_free
      Src: /src/libspectre/libspectre/spectre-document.c:428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - document
    - width
    - height
    argTypes:
    - SpectreDocument*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 429
    functionName: spectre_document_get_page_size
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 2
    functionsReached:
    - spectre_document_get_page
    - spectre_page_free
    - spectre_page_get_size
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_document_get_page_size (SpectreDocument *document,\n\t\t\t\tint
      \            *width,\n\t\t\t\tint             *height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:439,1
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:440,1
    - Dst: stat
      Src: /src/libspectre/libspectre/spectre-document.c:447,1
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-document.c:452,1
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-document.c:458,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-document.c:461,1
    - Dst: pscopy
      Src: /src/libspectre/libspectre/spectre-document.c:465,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-document.c:467,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-document.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - document
    - filename
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 471
    functionName: spectre_document_save
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - _spectre_return_if_fail
    - pscopy
    - stat
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: "void spectre_document_save (SpectreDocument *document,\n\t\t       const
      char      *filename)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:481,1
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-document.c:482,1
    - Dst: spectre_exporter_new
      Src: /src/libspectre/libspectre/spectre-document.c:489,1
    - Dst: spectre_exporter_begin
      Src: /src/libspectre/libspectre/spectre-document.c:495,1
    - Dst: spectre_exporter_free
      Src: /src/libspectre/libspectre/spectre-document.c:499,1
    - Dst: spectre_document_get_n_pages
      Src: /src/libspectre/libspectre/spectre-document.c:503,1
    - Dst: spectre_exporter_do_page
      Src: /src/libspectre/libspectre/spectre-document.c:504,1
    - Dst: spectre_exporter_free
      Src: /src/libspectre/libspectre/spectre-document.c:512,1
    - Dst: spectre_exporter_end
      Src: /src/libspectre/libspectre/spectre-document.c:516,1
    - Dst: spectre_exporter_free
      Src: /src/libspectre/libspectre/spectre-document.c:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - document
    - filename
    argTypes:
    - SpectreDocument*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 525
    functionName: spectre_document_save_to_pdf
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 1
    functionsReached:
    - spectre_exporter_free
    - spectre_exporter_new
    - spectre_exporter_begin
    - spectre_exporter_do_page
    - spectre_document_get_n_pages
    - spectre_exporter_end
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_document_save_to_pdf (SpectreDocument *document,\n\t\t\t
      \     const char      *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - document
    argTypes:
    - SpectreDocument*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: _spectre_document_get_doc
    functionSourceFile: /src/libspectre/libspectre/spectre-document.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct document
    signature: 'struct document *

      _spectre_document_get_doc (SpectreDocument *document)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-exporter.c:33,1
    - Dst: _spectre_document_get_doc
      Src: /src/libspectre/libspectre/spectre-exporter.c:35,1
    - Dst: _spectre_exporter_ps_new
      Src: /src/libspectre/libspectre/spectre-exporter.c:39,1
    - Dst: _spectre_exporter_pdf_new
      Src: /src/libspectre/libspectre/spectre-exporter.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - document
    - format
    argTypes:
    - SpectreDocument*
    - SpectreExporterFormat
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 27
    functionDepth: 2
    functionLinenumber: 27
    functionLinenumberEnd: 45
    functionName: spectre_exporter_new
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter.c
    functionUses: 2
    functionsReached:
    - _spectre_document_get_doc
    - _spectre_exporter_pdf_new
    - _spectre_exporter_ps_new
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreExporter
    signature: "SpectreExporter *\nspectre_exporter_new (SpectreDocument      *document,\n\t\t
      \     SpectreExporterFormat format)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-exporter.c:54,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-exporter.c:59,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-exporter.c:64,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-exporter.c:69,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-exporter.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - SpectreExporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: spectre_exporter_free
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter.c
    functionUses: 2
    functionsReached:
    - free
    - psdocdestroy
    - spectre_gs_free
    - fclose
    linkageType: ''
    returnType: void
    signature: void spectre_exporter_free (SpectreExporter *exporter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-exporter.c:80,1
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-exporter.c:81,1
    - Dst: SpectreExporter*::begin
      Src: /src/libspectre/libspectre/spectre-exporter.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - exporter
    - filename
    argTypes:
    - SpectreExporter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 87
    functionName: spectre_exporter_begin
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter.c
    functionUses: 2
    functionsReached:
    - SpectreExporter*::begin
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_begin (SpectreExporter *exporter,\n\t\t\tconst
      char      *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-exporter.c:93,1
    - Dst: SpectreExporter*::do_page
      Src: /src/libspectre/libspectre/spectre-exporter.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exporter
    - page_index
    argTypes:
    - SpectreExporter*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: spectre_exporter_do_page
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter.c
    functionUses: 2
    functionsReached:
    - SpectreExporter*::do_page
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_do_page (SpectreExporter *exporter,\n\t\t\t
      \ unsigned int     page_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-exporter.c:101,1
    - Dst: SpectreExporter*::end
      Src: /src/libspectre/libspectre/spectre-exporter.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - SpectreExporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 107
    functionName: spectre_exporter_end
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter.c
    functionUses: 2
    functionsReached:
    - SpectreExporter*::end
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreStatus
    signature: SpectreStatus spectre_exporter_end (SpectreExporter *exporter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ap1
    - ','
    - ap2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SPECTRE_VA_COPY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECTRE_VA_COPY(ap1, ap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ap1
    - ','
    - ap2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: SPECTRE_VA_COPY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECTRE_VA_COPY(ap1, ap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ap1
    - ','
    - ap2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: SPECTRE_VA_COPY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECTRE_VA_COPY(ap1, ap2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: _SPECTRE_BOOLEAN_EXPR
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SPECTRE_BOOLEAN_EXPR(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: _SPECTRE_LIKELY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SPECTRE_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: _SPECTRE_UNLIKELY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SPECTRE_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: _SPECTRE_LIKELY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SPECTRE_LIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: _SPECTRE_UNLIKELY
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _SPECTRE_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: _spectre_assert
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _spectre_assert(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: _spectre_return_if_fail
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _spectre_return_if_fail(condition)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - condition
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: _spectre_return_val_if_fail
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _spectre_return_val_if_fail(condition, val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: spectre_open
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spectre_open (void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: spectre_preclose
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spectre_preclose (void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: spectre_close
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spectre_close (void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:75,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-device.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: spectre_presize
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    linkageType: ''
    returnType: int
    signature: "int spectre_presize (void *handle, void *device, int width, int height,\n\t\t
      int raster, unsigned int format)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 94
    functionName: spectre_size
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int spectre_size (void *handle, void *device, int width, int height,
      int raster,\n\t      unsigned int format, unsigned char *pimage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: spectre_sync
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spectre_sync (void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-device.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: spectre_page
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int spectre_page (void *handle, void *device, int copies, int flush)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-device.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: spectre_update
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int spectre_update (void *handle, void *device, int x, int y, int w,
      int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-device.c:157,1
    - Dst: psdocreference
      Src: /src/libspectre/libspectre/spectre-device.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 164
    functionName: spectre_device_new
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - calloc
    - psdocreference
    linkageType: ''
    returnType: SpectreDevice
    signature: 'SpectreDevice *

      spectre_device_new (struct document *doc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - pixel_a_start
    - pixel_b_start
    argTypes:
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: swap_pixels
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void swap_pixels (unsigned char *data,\n             size_t         pixel_a_start,\n
      \            size_t         pixel_b_start)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-device.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dest
    - src
    - dest_pixel_start
    - src_pixel_start
    argTypes:
    - unsigned char*
    - unsigned char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: copy_pixel
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void copy_pixel (unsigned char *dest,\n            unsigned char *src,\n
      \           size_t         dest_pixel_start,\n            size_t         src_pixel_start)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: swap_pixels
      Src: /src/libspectre/libspectre/spectre-device.c:211,1
    - Dst: swap_pixels
      Src: /src/libspectre/libspectre/spectre-device.c:218,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-device.c:229,1
    - Dst: memset
      Src: /src/libspectre/libspectre/spectre-device.c:232,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-device.c:235,1
    - Dst: copy_pixel
      Src: /src/libspectre/libspectre/spectre-device.c:241,1
    - Dst: copy_pixel
      Src: /src/libspectre/libspectre/spectre-device.c:250,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:258,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 5
    argNames:
    - page_data
    - row_length
    - width
    - height
    - orientation
    argTypes:
    - unsigned char**
    - int*
    - int
    - int
    - SpectreOrientation
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 263
    functionName: rotate_image_to_orientation
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - swap_pixels
    - malloc
    - free
    - memset
    - copy_pixel
    linkageType: ''
    returnType: void
    signature: "void rotate_image_to_orientation (unsigned char    **page_data,\n
      \                            int               *row_length,\n                             int
      \               width,\n                             int                height,\n
      \                            SpectreOrientation orientation)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/libspectre/spectre-device.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - instance
    - callout_handle
    - device_name
    - id
    - size
    - data
    argTypes:
    - void*
    - void*
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: spectre_callout_handler
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int spectre_callout_handler(void *instance, void *callout_handle, const
      char *device_name, int id, int size, void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: spectre_gs_new
      Src: /src/libspectre/libspectre/spectre-device.c:309,1
    - Dst: spectre_gs_create_instance
      Src: /src/libspectre/libspectre/spectre-device.c:313,1
    - Dst: spectre_gs_cleanup
      Src: /src/libspectre/libspectre/spectre-device.c:314,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:315,1
    - Dst: spectre_gs_register_callout
      Src: /src/libspectre/libspectre/spectre-device.c:320,1
    - Dst: spectre_gs_cleanup
      Src: /src/libspectre/libspectre/spectre-device.c:321,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:322,1
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-device.c:335,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:343,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:345,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:347,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:348,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:351,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:367,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:369,1
    - Dst: spectre_gs_run
      Src: /src/libspectre/libspectre/spectre-device.c:374,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:375,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:376,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:377,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:378,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:379,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:380,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:381,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:382,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:384,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:385,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-device.c:389,1
    - Dst: spectre_gs_send_string
      Src: /src/libspectre/libspectre/spectre-device.c:391,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:392,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:393,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:394,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:397,1
    - Dst: spectre_gs_send_page
      Src: /src/libspectre/libspectre/spectre-device.c:399,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:400,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:401,1
    - Dst: rotate_image_to_orientation
      Src: /src/libspectre/libspectre/spectre-device.c:408,1
    - Dst: spectre_gs_free
      Src: /src/libspectre/libspectre/spectre-device.c:410,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 72
    argCount: 9
    argNames:
    - device
    - page
    - rc
    - x
    - y
    - width
    - height
    - page_data
    - row_length
    argTypes:
    - SpectreDevice*
    - unsigned int
    - SpectreRenderContext*
    - int
    - int
    - int
    - int
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 413
    functionName: spectre_device_render
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - spectre_gs_new
    - spectre_gs_free
    - spectre_gs_send_page
    - spectre_gs_cleanup
    - spectre_gs_send_string
    - rotate_image_to_orientation
    - _spectre_strdup_printf
    - free
    - calloc
    - spectre_gs_create_instance
    - spectre_gs_register_callout
    - spectre_gs_run
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_device_render (SpectreDevice        *device,\n\t\t
      \      unsigned int          page,\n\t\t       SpectreRenderContext *rc,\n\t\t
      \      int                   x,\n\t\t       int                   y,\n\t\t       int
      \                  width,\n\t\t       int                   height,\n\t\t       unsigned
      char       **page_data,\n\t\t       int                  *row_length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-device.c:422,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-device.c:426,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - device
    argTypes:
    - SpectreDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 427
    functionName: spectre_device_free
    functionSourceFile: /src/libspectre/libspectre/spectre-device.c
    functionUses: 0
    functionsReached:
    - free
    - psdocdestroy
    linkageType: ''
    returnType: void
    signature: void spectre_device_free (SpectreDevice *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: memset
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memset(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: PS_malloc
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_malloc(sss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ccc
    - ','
    - sss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: PS_calloc
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_calloc(ccc,sss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppp
    - ','
    - sss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: PS_realloc
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_realloc(ppp,sss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: PS_free
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_free(ppp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: PS_cfree
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_cfree(ppp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: PS_XtMalloc
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_XtMalloc(sss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppp
    - ','
    - sss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: PS_XtRealloc
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_XtRealloc(ppp,sss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: PS_XtFree
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_XtFree(ppp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_strncasecmp
      Src: /src/libspectre/libspectre/ps.c:112,1
    - Dst: PS_malloc
      Src: /src/libspectre/libspectre/ps.c:115,1
    - Dst: strncpy
      Src: /src/libspectre/libspectre/ps.c:116,1
    - Dst: _spectre_strncasecmp
      Src: /src/libspectre/libspectre/ps.c:118,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:119,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 126
    functionName: dsc_strncmp
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - _spectre_strncasecmp
    - PS_free
    - PS_malloc
    - strncpy
    linkageType: ''
    returnType: int
    signature: int dsc_strncmp(char *s1, char *s2, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: length
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: length(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: iscomment
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iscomment(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: DSCcomment
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSCcomment(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - aaa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: PT
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT(aaa)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - aaa
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: PT
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PT(aaa)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:215,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:219,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:223,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:224,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:225,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - bb
    - line
    argTypes:
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 246
    functionName: scan_boundingbox
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - sscanf
    - _spectre_strtod
    linkageType: ''
    returnType: Boolean
    signature: Boolean scan_boundingbox(int *bb, const char *line)
  - BBCount: 152
    BranchProfiles: []
    Callsites:
    - Dst: BEGINMESSAGE
      Src: /src/libspectre/libspectre/ps.c:415,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:422,1
    - Dst: ps_io_init
      Src: /src/libspectre/libspectre/ps.c:426,1
    - Dst: ps_read_doseps
      Src: /src/libspectre/libspectre/ps.c:429,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:430,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/ps.c:431,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:432,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:433,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:440,1
    - Dst: readlineuntil
      Src: /src/libspectre/libspectre/ps.c:442,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/ps.c:444,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:445,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:446,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:459,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:459,1
    - Dst: INFMESSAGE
      Src: /src/libspectre/libspectre/ps.c:460,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:462,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:463,1
    - Dst: _spectre_strdup
      Src: /src/libspectre/libspectre/ps.c:472,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:477,1
    - Dst: _spectre_strdup
      Src: /src/libspectre/libspectre/ps.c:478,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:481,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:482,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:498,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:499,1
    - Dst: _spectre_strdup
      Src: /src/libspectre/libspectre/ps.c:501,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/ps.c:507,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:512,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:516,1
    - Dst: isprint
      Src: /src/libspectre/libspectre/ps.c:518,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:522,1
    - Dst: gettextline
      Src: /src/libspectre/libspectre/ps.c:523,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:523,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:524,1
    - Dst: gettextline
      Src: /src/libspectre/libspectre/ps.c:525,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:525,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:526,1
    - Dst: gettextline
      Src: /src/libspectre/libspectre/ps.c:527,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:527,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:528,1
    - Dst: gettextline
      Src: /src/libspectre/libspectre/ps.c:529,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:529,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:530,1
    - Dst: gettextline
      Src: /src/libspectre/libspectre/ps.c:531,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:531,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:532,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:533,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:533,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:534,1
    - Dst: scan_boundingbox
      Src: /src/libspectre/libspectre/ps.c:537,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:538,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:542,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:543,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:543,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:544,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:544,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:546,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:549,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:552,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:555,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:559,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:560,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:560,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:561,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:561,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:563,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:566,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:569,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:573,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:574,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:574,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:575,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:575,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:580,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:580,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:595,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:596,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:600,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:605,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:607,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:608,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:609,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:610,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:610,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:613,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:614,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:615,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:620,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:625,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:626,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:626,1
    - Dst: PS_realloc
      Src: /src/libspectre/libspectre/ps.c:629,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:632,1
    - Dst: memset
      Src: /src/libspectre/libspectre/ps.c:633,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:634,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:634,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:637,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:638,1
    - Dst: _spectre_strtod
      Src: /src/libspectre/libspectre/ps.c:639,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:644,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:652,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:654,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:655,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:656,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:657,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:657,1
    - Dst: _spectre_strcasecmp
      Src: /src/libspectre/libspectre/ps.c:666,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:667,1
    - Dst: PS_malloc
      Src: /src/libspectre/libspectre/ps.c:668,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/ps.c:668,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:669,1
    - Dst: strcpy
      Src: /src/libspectre/libspectre/ps.c:670,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:679,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:683,1
    - Dst: PS_realloc
      Src: /src/libspectre/libspectre/ps.c:685,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:688,1
    - Dst: memset
      Src: /src/libspectre/libspectre/ps.c:689,1
    - Dst: _spectre_strcasecmp
      Src: /src/libspectre/libspectre/ps.c:697,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:699,1
    - Dst: PS_malloc
      Src: /src/libspectre/libspectre/ps.c:701,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/ps.c:701,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:702,1
    - Dst: strcpy
      Src: /src/libspectre/libspectre/ps.c:703,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:712,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:717,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:718,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:718,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:720,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:721,1
    - Dst: PS_realloc
      Src: /src/libspectre/libspectre/ps.c:723,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:726,1
    - Dst: memset
      Src: /src/libspectre/libspectre/ps.c:727,1
    - Dst: _spectre_strcasecmp
      Src: /src/libspectre/libspectre/ps.c:735,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:745,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:755,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:755,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:756,1
    - Dst: blank
      Src: /src/libspectre/libspectre/ps.c:766,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:766,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:770,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:770,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:773,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:774,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:774,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:778,1
    - Dst: blank
      Src: /src/libspectre/libspectre/ps.c:790,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:790,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:794,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:794,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:797,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:798,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:798,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:800,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:803,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:804,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:804,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:805,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:807,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:809,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:811,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:815,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:816,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:816,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:819,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:825,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:828,1
    - Dst: scan_boundingbox
      Src: /src/libspectre/libspectre/ps.c:829,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:830,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:835,1
    - Dst: blank
      Src: /src/libspectre/libspectre/ps.c:847,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:847,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:851,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:852,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:853,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:854,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:855,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:861,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:862,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:863,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:864,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:865,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:866,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:867,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:868,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:872,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:873,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:874,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:875,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:876,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:877,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:878,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:886,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:886,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:887,1
    - Dst: blank
      Src: /src/libspectre/libspectre/ps.c:900,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:900,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:904,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:905,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:906,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:907,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:912,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:913,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:914,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:915,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:916,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:917,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:920,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:923,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:924,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:924,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:925,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:927,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:929,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:931,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:935,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:936,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:936,1
    - Dst: _spectre_strcasecmp
      Src: /src/libspectre/libspectre/ps.c:942,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:948,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:950,1
    - Dst: scan_boundingbox
      Src: /src/libspectre/libspectre/ps.c:951,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:952,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:957,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:957,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:958,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:986,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:987,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:988,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:989,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:990,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:991,1
    - Dst: blank
      Src: /src/libspectre/libspectre/ps.c:1005,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:1005,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1011,1
    - Dst: PS_calloc
      Src: /src/libspectre/libspectre/ps.c:1012,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:1013,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1017,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1017,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:1018,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1018,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1019,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1024,1
    - Dst: PS_realloc
      Src: /src/libspectre/libspectre/ps.c:1032,1
    - Dst: CHECK_MALLOCED
      Src: /src/libspectre/libspectre/ps.c:1033,1
    - Dst: memset
      Src: /src/libspectre/libspectre/ps.c:1036,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:1047,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1048,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1049,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1050,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1051,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1053,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1056,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1057,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1057,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1059,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1061,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1063,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1065,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1070,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:1071,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1071,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1073,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1078,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1080,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:1081,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1081,1
    - Dst: _spectre_strcasecmp
      Src: /src/libspectre/libspectre/ps.c:1087,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1092,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1094,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1095,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1095,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1096,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1096,1
    - Dst: scan_boundingbox
      Src: /src/libspectre/libspectre/ps.c:1099,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1100,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:1124,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1125,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1125,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1128,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1130,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1131,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:1131,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1131,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1132,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1148,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1158,1
    - Dst: scan_boundingbox
      Src: /src/libspectre/libspectre/ps.c:1159,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1159,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1161,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1162,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1162,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1163,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1165,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1167,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1169,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1172,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1173,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1173,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1174,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1176,1
    - Dst: strcmp
      Src: /src/libspectre/libspectre/ps.c:1178,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1181,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1183,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1183,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1193,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1193,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:1194,1
    - Dst: readline
      Src: /src/libspectre/libspectre/ps.c:1212,1
    - Dst: DSCcomment
      Src: /src/libspectre/libspectre/ps.c:1215,1
    - Dst: iscomment
      Src: /src/libspectre/libspectre/ps.c:1215,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1216,1
    - Dst: ps_gettext
      Src: /src/libspectre/libspectre/ps.c:1216,1
    - Dst: length
      Src: /src/libspectre/libspectre/ps.c:1216,1
    - Dst: sscanf
      Src: /src/libspectre/libspectre/ps.c:1217,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:1239,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:1240,1
    CyclomaticComplexity: 304
    EdgeCount: 304
    ICount: 685
    argCount: 3
    argNames:
    - file
    - filename
    - scanstyle
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 1242
    functionName: psscan
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 2
    functionsReached:
    - iscomment
    - sscanf
    - length
    - strlen
    - fprintf
    - ps_read_doseps
    - PS_malloc
    - ENDMESSAGE
    - scan_boundingbox
    - ps_io_exit
    - _spectre_strdup
    - ps_io_init
    - CHECK_MALLOCED
    - ps_gettext
    - memset
    - readline
    - INFMESSAGE
    - DSCcomment
    - strcmp
    - PS_realloc
    - BEGINMESSAGE
    - _spectre_strtod
    - malloc
    - readlineuntil
    - PS_free
    - gettextline
    - strcpy
    - PS_calloc
    - isprint
    - blank
    - _spectre_strcasecmp
    linkageType: ''
    returnType: struct document
    signature: 'struct document *

      psscan(FILE *file, const char *filename, int scanstyle)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: BEGINMESSAGE
      Src: /src/libspectre/libspectre/ps.c:1255,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1258,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1261,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1263,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1264,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1265,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1266,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1267,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1268,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1269,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1270,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1271,1
    - Dst: free
      Src: /src/libspectre/libspectre/ps.c:1272,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:1273,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:1275,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1276
    functionName: psfree
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ENDMESSAGE
    - free
    - PS_free
    - BEGINMESSAGE
    linkageType: ''
    returnType: void
    signature: void psfree(struct document *doc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_assert
      Src: /src/libspectre/libspectre/ps.c:1284,1
    - Dst: psfree
      Src: /src/libspectre/libspectre/ps.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1291
    functionName: psdocdestroy
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 5
    functionsReached:
    - _spectre_assert
    - psfree
    linkageType: ''
    returnType: void
    signature: void psdocdestroy (struct document *doc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_assert
      Src: /src/libspectre/libspectre/ps.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1304
    functionName: psdocreference
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 2
    functionsReached:
    - _spectre_assert
    linkageType: ''
    returnType: struct document
    signature: 'struct document *

      psdocreference (struct document *doc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1747
      start: 1745
    functionDepth: 0
    functionLinenumber: 1745
    functionLinenumberEnd: 1747
    functionName: IS_COMMENT
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_COMMENT(comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1749
    functionName: IS_BEGIN
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BEGIN(comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1751
    functionName: IS_END
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_END(comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1754
    functionName: SKIP_WHILE
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_WHILE(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comment
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1759
    functionName: SKIP_UNTIL_1
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_UNTIL_1(comment)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - comment1
    - ','
    - comment2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1759
    functionDepth: 0
    functionLinenumber: 1759
    functionLinenumberEnd: 1764
    functionName: SKIP_UNTIL_2
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_UNTIL_2(comment1,comment2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_fgetchars
      Src: /src/libspectre/libspectre/ps.c:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1822
    functionName: INFIMESSAGE
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ps_io_fgetchars
    linkageType: ''
    returnType: void
    signature: "void INFIMESSAGE(number of lines to skip:,num)\n            while
      (num)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_fgetchars
      Src: /src/libspectre/libspectre/ps.c:1879,1
    - Dst: ENDMESSAGE
      Src: /src/libspectre/libspectre/ps.c:1884,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - fd
    - enddoseps
    - lineP
    - positionP
    - line_lenP
    - charP
    argTypes:
    - FileData
    - long
    - char**
    - long*
    - unsigned int*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1872
    functionDepth: 0
    functionLinenumber: 1872
    functionLinenumberEnd: 1894
    functionName: readlineuntil
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 1
    functionsReached:
    - ENDMESSAGE
    - ps_io_fgetchars
    linkageType: ''
    returnType: char
    signature: char * readlineuntil (FileData fd, long enddoseps, char **lineP, long
      *positionP, unsigned int *line_lenP, char charP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - position
    argTypes:
    - will
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1924
    functionName: INFMESSAGE
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void INFMESSAGE(will copy until specified file position)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_fgetchars
      Src: /src/libspectre/libspectre/ps.c:1950,1
    - Dst: fputs
      Src: /src/libspectre/libspectre/ps.c:1951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1953
    functionName: INFIMESSAGE
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ps_io_fgetchars
    - fputs
    linkageType: ''
    returnType: void
    signature: "void INFIMESSAGE(number of lines:,num)\n               while (num)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_init
      Src: /src/libspectre/libspectre/ps.c:2006,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2007,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:2008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - from
    - to
    - d
    - begin
    - end
    argTypes:
    - FILE*
    - FILE*
    - Document
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2009
    functionName: pscopy
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 1
    functionsReached:
    - pscopyuntil
    - ps_io_init
    - ps_io_exit
    linkageType: ''
    returnType: void
    signature: void pscopy (FILE *from, FILE *to, Document d, long begin, long end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_init
      Src: /src/libspectre/libspectre/ps.c:2019,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2022,1
    - Dst: SMESSAGE
      Src: /src/libspectre/libspectre/ps.c:2023,1
    - Dst: ps_io_ftell
      Src: /src/libspectre/libspectre/ps.c:2024,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:2026,1
    - Dst: fputs
      Src: /src/libspectre/libspectre/ps.c:2029,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:2031,1
    - Dst: fputs
      Src: /src/libspectre/libspectre/ps.c:2035,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2037,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2038,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2039,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2040,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:2042,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - from
    - to
    - d
    argTypes:
    - FILE*
    - FILE*
    - Document
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2043
    functionName: pscopyheaders
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ps_io_exit
    - fputs
    - ps_io_init
    - SMESSAGE
    - PS_free
    - pscopyuntil
    - ps_io_ftell
    linkageType: ''
    returnType: void
    signature: void pscopyheaders (FILE *from, FILE *to, Document d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_init
      Src: /src/libspectre/libspectre/ps.c:2051,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2053,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/ps.c:2054,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:2055,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2056,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - from
    - to
    - d
    - page
    - n_page
    argTypes:
    - FILE*
    - FILE*
    - Document
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 2045
    functionDepth: 1
    functionLinenumber: 2045
    functionLinenumberEnd: 2059
    functionName: pscopypage
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ps_io_exit
    - fprintf
    - ps_io_init
    - PS_free
    - pscopyuntil
    linkageType: ''
    returnType: void
    signature: void pscopypage (FILE *from, FILE *to, Document d, unsigned int page,
      unsigned int n_page)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_io_init
      Src: /src/libspectre/libspectre/ps.c:2069,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2073,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/ps.c:2073,1
    - Dst: ps_io_ftell
      Src: /src/libspectre/libspectre/ps.c:2074,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/ps.c:2075,1
    - Dst: pscopyuntil
      Src: /src/libspectre/libspectre/ps.c:2078,1
    - Dst: ps_io_ftell
      Src: /src/libspectre/libspectre/ps.c:2079,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:2081,1
    - Dst: PS_free
      Src: /src/libspectre/libspectre/ps.c:2085,1
    - Dst: ps_io_exit
      Src: /src/libspectre/libspectre/ps.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - from
    - to
    - d
    - n_pages
    argTypes:
    - FILE*
    - FILE*
    - Document
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2061
    functionDepth: 1
    functionLinenumber: 2061
    functionLinenumberEnd: 2089
    functionName: pscopytrailer
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - ps_io_exit
    - strlen
    - fprintf
    - ps_io_init
    - PS_free
    - pscopyuntil
    - ps_io_ftell
    linkageType: ''
    returnType: void
    signature: void pscopytrailer (FILE *from, FILE *to, Document d, unsigned int
      n_pages)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - PS_WORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2214
      start: 2207
    functionDepth: 0
    functionLinenumber: 2207
    functionLinenumberEnd: 2214
    functionName: reorder_word
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PS_WORD
    signature: PS_WORD reorder_word(PS_WORD val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/libspectre/ps.c:2219,1
    - Dst: reorder_dword
      Src: /src/libspectre/libspectre/ps.c:2221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - dword
    argTypes:
    - FileData
    - PS_DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2216
    functionDepth: 0
    functionLinenumber: 2216
    functionLinenumberEnd: 2225
    functionName: ps_read_doseps_dword
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - reorder_dword
    - fread
    linkageType: ''
    returnType: void
    signature: void ps_read_doseps_dword(FileData fd, PS_DWORD *dword)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/libspectre/ps.c:2230,1
    - Dst: reorder_word
      Src: /src/libspectre/libspectre/ps.c:2232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - word
    argTypes:
    - FileData
    - PS_WORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2227
    functionDepth: 1
    functionLinenumber: 2227
    functionLinenumberEnd: 2236
    functionName: ps_read_doseps_word
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - reorder_word
    - fread
    linkageType: ''
    returnType: void
    signature: void ps_read_doseps_word(FileData fd, PS_WORD *word)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 6
    argNames:
    - doc
    - page
    - urx
    - ury
    - llx
    - lly
    argTypes:
    - struct document*
    - int
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2298
    functionName: psgetpagebbox
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int psgetpagebbox (const struct document *doc, int page, int *urx,
      int *ury, int *llx, int *lly)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psgetpagebbox
      Src: /src/libspectre/libspectre/ps.c:2343,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 6
    argNames:
    - doc
    - page
    - urx
    - ury
    - llx
    - lly
    argTypes:
    - struct document*
    - int
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2303
    functionDepth: 1
    functionLinenumber: 2303
    functionLinenumberEnd: 2367
    functionName: psgetpagebox
    functionSourceFile: /src/libspectre/libspectre/ps.c
    functionUses: 0
    functionsReached:
    - psgetpagebbox
    linkageType: ''
    returnType: void
    signature: void psgetpagebox (const struct document *doc, int page, int *urx,
      int *ury, int *llx, int *lly)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:29,1
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:33,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:35,1
    - Dst: pscopyheaders
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:40,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - exporter
    - filename
    argTypes:
    - SpectreExporter*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 25
    functionDepth: 2
    functionLinenumber: 25
    functionLinenumberEnd: 43
    functionName: spectre_exporter_ps_begin
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-ps.c
    functionUses: 0
    functionsReached:
    - fclose
    - pscopyheaders
    - fopen
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_ps_begin (SpectreExporter *exporter,\n\t\t\t
      \  const char      *filename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pscopypage
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - exporter
    - page_index
    argTypes:
    - SpectreExporter*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 2
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: spectre_exporter_ps_do_page
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-ps.c
    functionUses: 0
    functionsReached:
    - pscopypage
    linkageType: ''
    returnType: SpectreStatus
    signature: "SpectreStatus spectre_exporter_ps_do_page (SpectreExporter *exporter,\n\t\t\t
      \    unsigned int     page_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pscopytrailer
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:61,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:64,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - exporter
    argTypes:
    - SpectreExporter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: spectre_exporter_ps_end
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-ps.c
    functionUses: 0
    functionsReached:
    - fclose
    - pscopytrailer
    linkageType: ''
    returnType: SpectreStatus
    signature: SpectreStatus spectre_exporter_ps_end (SpectreExporter *exporter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:77,1
    - Dst: psdocreference
      Src: /src/libspectre/libspectre/spectre-exporter-ps.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - doc
    argTypes:
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 88
    functionName: _spectre_exporter_ps_new
    functionSourceFile: /src/libspectre/libspectre/spectre-exporter-ps.c
    functionUses: 1
    functionsReached:
    - calloc
    - psdocreference
    linkageType: ''
    returnType: SpectreExporter
    signature: 'SpectreExporter *

      _spectre_exporter_ps_new (struct document *doc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-page.c:47,1
    - Dst: psdocreference
      Src: /src/libspectre/libspectre/spectre-page.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - page_index
    - doc
    argTypes:
    - unsigned int
    - struct document*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: _spectre_page_new
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 1
    functionsReached:
    - calloc
    - psdocreference
    linkageType: ''
    returnType: SpectrePage
    signature: "SpectrePage *\n_spectre_page_new (unsigned int     page_index,\n\t\t
      \  struct document *doc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psdocdestroy
      Src: /src/libspectre/libspectre/spectre-page.c:66,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-page.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - page
    argTypes:
    - SpectrePage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: spectre_page_free
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 6
    functionsReached:
    - free
    - psdocdestroy
    linkageType: ''
    returnType: void
    signature: void spectre_page_free (SpectrePage *page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - SpectrePage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: spectre_page_status
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 5
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreStatus
    signature: SpectreStatus spectre_page_status (SpectrePage *page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - SpectrePage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: spectre_page_get_index
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 0
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int spectre_page_get_index (SpectrePage *page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - page
    argTypes:
    - SpectrePage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: spectre_page_get_label
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: char
    signature: 'char *

      spectre_page_get_label (SpectrePage *page)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_val_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - page
    argTypes:
    - SpectrePage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 124
    functionName: spectre_page_get_orientation
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 1
    functionsReached:
    - _spectre_return_val_if_fail
    linkageType: ''
    returnType: SpectreOrientation
    signature: SpectreOrientation spectre_page_get_orientation (SpectrePage *page)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:131,1
    - Dst: psgetpagebox
      Src: /src/libspectre/libspectre/spectre-page.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - page
    - width
    - height
    argTypes:
    - SpectrePage*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 147
    functionName: spectre_page_get_size
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 4
    functionsReached:
    - psgetpagebox
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_page_get_size (SpectrePage *page,\n\t\t       int         *width,\n\t\t
      \      int         *height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:158,1
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:159,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/libspectre/spectre-page.c:161,1
    - Dst: spectre_device_new
      Src: /src/libspectre/libspectre/spectre-page.c:163,1
    - Dst: spectre_device_render
      Src: /src/libspectre/libspectre/spectre-page.c:164,1
    - Dst: spectre_device_free
      Src: /src/libspectre/libspectre/spectre-page.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - page
    - rc
    - page_data
    - row_length
    argTypes:
    - SpectrePage*
    - SpectreRenderContext*
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 168
    functionName: spectre_page_render
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 4
    functionsReached:
    - spectre_device_new
    - spectre_device_free
    - spectre_page_get_size
    - spectre_device_render
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_page_render (SpectrePage          *page,\n\t\t     SpectreRenderContext
      *rc,\n\t\t     unsigned char       **page_data,\n\t\t     int                  *row_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:183,1
    - Dst: _spectre_return_if_fail
      Src: /src/libspectre/libspectre/spectre-page.c:184,1
    - Dst: spectre_page_get_size
      Src: /src/libspectre/libspectre/spectre-page.c:186,1
    - Dst: spectre_device_new
      Src: /src/libspectre/libspectre/spectre-page.c:188,1
    - Dst: spectre_device_render
      Src: /src/libspectre/libspectre/spectre-page.c:189,1
    - Dst: spectre_device_free
      Src: /src/libspectre/libspectre/spectre-page.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - page
    - rc
    - x
    - y
    - width
    - height
    - page_data
    - row_length
    argTypes:
    - SpectrePage*
    - SpectreRenderContext*
    - int
    - int
    - int
    - int
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 194
    functionName: spectre_page_render_slice
    functionSourceFile: /src/libspectre/libspectre/spectre-page.c
    functionUses: 1
    functionsReached:
    - spectre_device_new
    - spectre_device_free
    - spectre_page_get_size
    - spectre_device_render
    - _spectre_return_if_fail
    linkageType: ''
    returnType: void
    signature: "void spectre_page_render_slice (SpectrePage          *page,\n\t\t\t
      \  SpectreRenderContext *rc,\n\t\t\t   int                   x,\n\t\t\t   int
      \                  y,\n\t\t\t   int                   width,\n\t\t\t   int                   height,\n\t\t\t
      \  unsigned char       **page_data,\n\t\t\t   int                  *row_length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/libspectre/spectre-gs.c:46,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/spectre-gs.c:51,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/spectre-gs.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 68
    functionName: critic_error_code
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int critic_error_code (int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handler
    - out
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: spectre_gs_stdout
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int spectre_gs_stdout (void *handler, const char *out, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/libspectre/spectre-gs.c:92,1
    - Dst: fseek
      Src: /src/libspectre/libspectre/spectre-gs.c:97,1
    - Dst: gsapi_run_string_begin
      Src: /src/libspectre/libspectre/spectre-gs.c:99,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:100,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-gs.c:101,1
    - Dst: _spectre_strdup_printf
      Src: /src/libspectre/libspectre/spectre-gs.c:108,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/libspectre/spectre-gs.c:109,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/spectre-gs.c:109,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-gs.c:112,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:113,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-gs.c:114,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:119,1
    - Dst: fread
      Src: /src/libspectre/libspectre/spectre-gs.c:125,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/libspectre/spectre-gs.c:126,1
    - Dst: fclose
      Src: /src/libspectre/libspectre/spectre-gs.c:132,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:133,1
    - Dst: gsapi_run_string_end
      Src: /src/libspectre/libspectre/spectre-gs.c:136,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:137,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 6
    argNames:
    - gs
    - filename
    - x
    - y
    - begin
    - end
    argTypes:
    - SpectreGS*
    - char*
    - int
    - int
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 141
    functionName: spectre_gs_process
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 3
    functionsReached:
    - fread
    - strlen
    - critic_error_code
    - gsapi_run_string_begin
    - gsapi_run_string_end
    - _spectre_strdup_printf
    - free
    - fseek
    - fopen
    - gsapi_run_string_continue
    - fclose
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_process (SpectreGS  *gs,\n\t\t    const char *filename,\n\t\t
      \   int         x,\n\t\t    int         y,\n\t\t    long        begin,\n\t\t
      \   long        end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/libspectre/spectre-gs.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: spectre_gs_new
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: SpectreGS
    signature: 'SpectreGS *

      spectre_gs_new (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_new_instance
      Src: /src/libspectre/libspectre/spectre-gs.c:159,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:160,1
    - Dst: gsapi_set_stdio
      Src: /src/libspectre/libspectre/spectre-gs.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - gs
    - caller_handle
    argTypes:
    - SpectreGS*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: spectre_gs_create_instance
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 2
    functionsReached:
    - gsapi_new_instance
    - critic_error_code
    - gsapi_set_stdio
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_create_instance (SpectreGS *gs,\n\t\t\t    void      *caller_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_register_callout
      Src: /src/libspectre/libspectre/spectre-gs.c:177,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - gs
    - callout
    - caller_handle
    argTypes:
    - SpectreGS*
    - gs_callout
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: spectre_gs_register_callout
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 1
    functionsReached:
    - critic_error_code
    - gsapi_register_callout
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_register_callout (SpectreGS *gs,\n\t\t\t\t gs_callout
      \     callout,void      *caller_handle)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/libspectre/spectre-gs.c:188,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - gs
    - n_args
    - args
    argTypes:
    - SpectreGS*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: spectre_gs_run
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 2
    functionsReached:
    - critic_error_code
    - gsapi_init_with_args
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_run (SpectreGS *gs,\n\t\tint        n_args,\n\t\tchar
      \    **args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_run_string_with_length
      Src: /src/libspectre/libspectre/spectre-gs.c:200,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/spectre-gs.c:201,1
    - Dst: critic_error_code
      Src: /src/libspectre/libspectre/spectre-gs.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gs
    - str
    argTypes:
    - SpectreGS*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: spectre_gs_send_string
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 1
    functionsReached:
    - gsapi_run_string_with_length
    - strlen
    - critic_error_code
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_send_string (SpectreGS  *gs,\n\t\t\tconst char *str)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: psgetpagebbox
      Src: /src/libspectre/libspectre/spectre-gs.c:219,1
    - Dst: psgetpagebox
      Src: /src/libspectre/libspectre/spectre-gs.c:220,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-gs.c:239,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-gs.c:247,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-gs.c:261,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-gs.c:271,1
    - Dst: spectre_gs_process
      Src: /src/libspectre/libspectre/spectre-gs.c:280,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - gs
    - doc
    - page_index
    - x
    - y
    argTypes:
    - SpectreGS*
    - struct document*
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 288
    functionName: spectre_gs_send_page
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 1
    functionsReached:
    - psgetpagebbox
    - psgetpagebox
    - spectre_gs_process
    linkageType: ''
    returnType: int
    signature: "int spectre_gs_send_page (SpectreGS       *gs,\n\t\t      struct document
      *doc,\n\t\t      unsigned int     page_index,\n\t\t      int              x,\n\t\t
      \     int              y)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_exit
      Src: /src/libspectre/libspectre/spectre-gs.c:298,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/libspectre/spectre-gs.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - gs
    - flag
    argTypes:
    - SpectreGS*
    - SpectreGSCleanupFlag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: spectre_gs_cleanup
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 2
    functionsReached:
    - gsapi_delete_instance
    - gsapi_exit
    linkageType: ''
    returnType: void
    signature: "void spectre_gs_cleanup (SpectreGS           *gs,\n\t\t    SpectreGSCleanupFlag
      flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spectre_gs_cleanup
      Src: /src/libspectre/libspectre/spectre-gs.c:312,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-gs.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - gs
    argTypes:
    - SpectreGS*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: spectre_gs_free
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 5
    functionsReached:
    - spectre_gs_cleanup
    - free
    linkageType: ''
    returnType: void
    signature: void spectre_gs_free (SpectreGS *gs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_revision
      Src: /src/libspectre/libspectre/spectre-gs.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 327
    functionName: spectre_gs_get_version
    functionSourceFile: /src/libspectre/libspectre/spectre-gs.c
    functionUses: 0
    functionsReached:
    - gsapi_revision
    linkageType: ''
    returnType: long
    signature: long spectre_gs_get_version (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getpid
      Src: /src/libspectre/libspectre/spectre-utils.c:45,1
    - Dst: GetCurrentProcessId
      Src: /src/libspectre/libspectre/spectre-utils.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: _spectre_get_pid
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - GetCurrentProcessId
    - getpid
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long _spectre_get_pid (void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/libspectre/spectre-utils.c:65,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:76,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 80
    functionName: init_warnings
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - getenv
    - fprintf
    linkageType: ''
    returnType: void
    signature: void init_warnings (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_warnings
      Src: /src/libspectre/libspectre/spectre-utils.c:96,1
    - Dst: va_start
      Src: /src/libspectre/libspectre/spectre-utils.c:98,1
    - Dst: vfprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:99,1
    - Dst: va_end
      Src: /src/libspectre/libspectre/spectre-utils.c:100,1
    - Dst: fflush
      Src: /src/libspectre/libspectre/spectre-utils.c:103,1
    - Dst: abort
      Src: /src/libspectre/libspectre/spectre-utils.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: _spectre_warn
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - va_start
    - init_warnings
    - va_end
    - vfprintf
    - fflush
    - abort
    linkageType: ''
    returnType: void
    signature: "void _spectre_warn (const char *format,\n            ...)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: init_warnings
      Src: /src/libspectre/libspectre/spectre-utils.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:124,1
    - Dst: _spectre_get_pid
      Src: /src/libspectre/libspectre/spectre-utils.c:124,1
    - Dst: va_start
      Src: /src/libspectre/libspectre/spectre-utils.c:126,1
    - Dst: vfprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:127,1
    - Dst: va_end
      Src: /src/libspectre/libspectre/spectre-utils.c:128,1
    - Dst: fflush
      Src: /src/libspectre/libspectre/spectre-utils.c:131,1
    - Dst: abort
      Src: /src/libspectre/libspectre/spectre-utils.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 134
    functionName: _spectre_warn_check_failed
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - va_start
    - init_warnings
    - va_end
    - vfprintf
    - fprintf
    - fflush
    - _spectre_get_pid
    - abort
    linkageType: ''
    returnType: void
    signature: "void _spectre_warn_check_failed (const char *format,\n\t\t\t    ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _SPECTRE_UNLIKELY
      Src: /src/libspectre/libspectre/spectre-utils.c:144,1
    - Dst: _spectre_warn
      Src: /src/libspectre/libspectre/spectre-utils.c:145,1
    - Dst: _spectre_get_pid
      Src: /src/libspectre/libspectre/spectre-utils.c:146,1
    - Dst: abort
      Src: /src/libspectre/libspectre/spectre-utils.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - condition
    - condition_text
    - file
    - line
    - func
    argTypes:
    - int
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: _spectre_real_assert
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - _SPECTRE_UNLIKELY
    - _spectre_get_pid
    - _spectre_warn
    - abort
    linkageType: ''
    returnType: void
    signature: "void _spectre_real_assert (int          condition,\n\t\t      const
      char  *condition_text,\n\t\t      const char  *file,\n\t\t      int          line,\n\t\t
      \     const char  *func)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vasprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:159,1
    - Dst: SPECTRE_VA_COPY
      Src: /src/libspectre/libspectre/spectre-utils.c:168,1
    - Dst: _vscprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:171,1
    - Dst: vsnprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:173,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-utils.c:175,1
    - Dst: vsprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:177,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-utils.c:179,1
    - Dst: va_end
      Src: /src/libspectre/libspectre/spectre-utils.c:184,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - format
    - args
    argTypes:
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 188
    functionName: spectre_strdup_vprintf
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached:
    - SPECTRE_VA_COPY
    - va_end
    - vsprintf
    - malloc
    - free
    - vasprintf
    - vsnprintf
    - _vscprintf
    linkageType: ''
    returnType: char
    signature: "char *\nspectre_strdup_vprintf (const char *format,\n\t\t\tva_list
      \    args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/libspectre/spectre-utils.c:196,1
    - Dst: spectre_strdup_vprintf
      Src: /src/libspectre/libspectre/spectre-utils.c:197,1
    - Dst: va_end
      Src: /src/libspectre/libspectre/spectre-utils.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 201
    functionName: _spectre_strdup_printf
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 14
    functionsReached:
    - va_start
    - va_end
    - spectre_strdup_vprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      _spectre_strdup_printf (const char *format, ...)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/libspectre/spectre-utils.c:212,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-utils.c:214,1
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-utils.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 221
    functionName: _spectre_strdup
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      _spectre_strdup (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: TOLOWER
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOLOWER(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/libspectre/libspectre/spectre-utils.c:233,1
    - Dst: TOLOWER
      Src: /src/libspectre/libspectre/spectre-utils.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s1
    - s2
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: _spectre_strncasecmp
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 1
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: int
    signature: "int _spectre_strncasecmp (const char *s1,\n\t\t      const char *s2,\n\t\t
      \     size_t      n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TOLOWER
      Src: /src/libspectre/libspectre/spectre-utils.c:251,1
    - Dst: TOLOWER
      Src: /src/libspectre/libspectre/spectre-utils.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: _spectre_strcasecmp
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 1
    functionsReached:
    - TOLOWER
    linkageType: ''
    returnType: int
    signature: "int _spectre_strcasecmp (const char *s1,\n\t\t     const char *s2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ascii_isspace
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_isspace(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: ascii_isdigit
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ascii_isdigit(c)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/libspectre/libspectre/spectre-utils.c:288,1
    - Dst: strlen
      Src: /src/libspectre/libspectre/spectre-utils.c:290,1
    - Dst: ascii_isspace
      Src: /src/libspectre/libspectre/spectre-utils.c:298,1
    - Dst: ascii_isdigit
      Src: /src/libspectre/libspectre/spectre-utils.c:305,1
    - Dst: ascii_isdigit
      Src: /src/libspectre/libspectre/spectre-utils.c:306,1
    - Dst: ascii_isdigit
      Src: /src/libspectre/libspectre/spectre-utils.c:312,1
    - Dst: ascii_isdigit
      Src: /src/libspectre/libspectre/spectre-utils.c:319,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-utils.c:331,1
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-utils.c:334,1
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-utils.c:336,1
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-utils.c:338,1
    - Dst: strtod
      Src: /src/libspectre/libspectre/spectre-utils.c:343,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-utils.c:353,1
    - Dst: malloc
      Src: /src/libspectre/libspectre/spectre-utils.c:357,1
    - Dst: memcpy
      Src: /src/libspectre/libspectre/spectre-utils.c:358,1
    - Dst: strtod
      Src: /src/libspectre/libspectre/spectre-utils.c:362,1
    - Dst: free
      Src: /src/libspectre/libspectre/spectre-utils.c:369,1
    - Dst: strtod
      Src: /src/libspectre/libspectre/spectre-utils.c:372,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 2
    argNames:
    - nptr
    - endptr
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 382
    functionName: _spectre_strtod
    functionSourceFile: /src/libspectre/libspectre/spectre-utils.c
    functionUses: 2
    functionsReached:
    - strlen
    - malloc
    - free
    - memcpy
    - ascii_isspace
    - ascii_isdigit
    - localeconv
    - strtod
    linkageType: ''
    returnType: double
    signature: "double _spectre_strtod (const char *nptr,\n\t\t char      **endptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: read_uint32
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int read_uint32(const unsigned char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: read_uint16
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int read_uint16(const unsigned char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:87,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - box
    argTypes:
    - box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: box_free
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void box_free(box_t *box)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:98,1
    - Dst: read_uint32
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:100,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:101,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:104,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:108,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:110,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:112,1
    - Dst: read_uint32
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:114,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:117,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:119,1
    - Dst: read_uint32
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:121,1
    - Dst: read_uint32
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:122,1
    - Dst: read_uint16
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:123,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: box_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - MIN
    - read_uint32
    - read_uint16
    - malloc
    - memcpy
    - memcmp
    linkageType: ''
    returnType: box_t
    signature: box_t *box_read(const unsigned char *buf, const long size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:142,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:144,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:150,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:153,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:162,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - box
    argTypes:
    - box_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 166
    functionName: box_print
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcmp
    linkageType: ''
    returnType: void
    signature: void box_print(box_t *box)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:178,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:180,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:189,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:192,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:193,1
    - Dst: box_read
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:203,1
    - Dst: box_print
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:206,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:208,1
    - Dst: box_read
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:209,1
    - Dst: box_print
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:213,1
    - Dst: box_free
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:219,1
    - Dst: box_free
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:225,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:230,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:235,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - jpx
    argTypes:
    - imagedata*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 245
    functionName: jpx_read_imagedata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - box_read
    - fread
    - fopen
    - fprintf
    - box_free
    - memcmp
    - box_print
    linkageType: ''
    returnType: int
    signature: int jpx_read_imagedata(imagedata * jpx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jpx_read_imagedata
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:254,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:256,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:258,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:261,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:262,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:263,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:265,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:266,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:267,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:268,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:269,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:270,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:271,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:272,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:273,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:274,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:277,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:278,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:280,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:281,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:282,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:284,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:287,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:288,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:289,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:292,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:293,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:294,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:295,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:296,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:297,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:298,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:299,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:301,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:302,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:303,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:305,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:306,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:307,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:308,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:309,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:310,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 46
    argCount: 2
    argNames:
    - jpx
    - out
    argTypes:
    - imagedata*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 314
    functionName: jpx_pdf
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - fread
    - sprintf
    - ceil
    - strlen
    - jpx_read_imagedata
    - fprintf
    - fseek
    - ftell
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int jpx_pdf(imagedata * jpx, FILE * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:325,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:327,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:329,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:330,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:331,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:332,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:334,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:335,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:336,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:336,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:337,1
    - Dst: jpx_pdf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:346,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:349,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:350,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:351,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:354,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:356,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:357,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:358,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:360,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:361,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:362,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/jpxtopdf.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 367
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/jpxtopdf.c
    functionUses: 0
    functionsReached:
    - ftell
    - fprintf
    - jpx_pdf
    - fopen
    - getenv
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:134,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: Malloc
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void *Malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:145,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: Calloc
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - calloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void * Calloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - word
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: putword
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void putword(unsigned char *buf, int word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bmp
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: getdword
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getdword(unsigned char *bmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bmp
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 164
    functionName: getword
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getword(unsigned char *bmp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bmp
    - i
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 172
    functionName: putdword
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void putdword(unsigned char *bmp, int i)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:191,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:203,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:204,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:205,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:210,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:218,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:219,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:220,1
    - Dst: getword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:225,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:226,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:227,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:230,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:231,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:232,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:238,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:239,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:240,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:260,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:278,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:350,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:351,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:373,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:374,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 178
    argCount: 7
    argNames:
    - bmp
    - width_ret
    - height_ret
    - span
    - bpp
    - image_offset
    - filelen
    argTypes:
    - unsigned char*
    - int*
    - int*
    - int*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 384
    functionName: bmp_load_sub
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - Malloc
    - free
    - getword
    - getdword
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *bmp_load_sub(unsigned char *bmp,\n                                   int
      \          *width_ret,\n                                   int           *height_ret,\n
      \                                  int           *span,\n                                   int
      \          *bpp,\n                                   int            image_offset,\n
      \                                  int            filelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:403,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:404,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:405,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:406,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:414,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:415,1
    - Dst: getdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:417,1
    - Dst: bmp_load_sub
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:418,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 421
    functionName: bmp_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fread
    - Malloc
    - ftell
    - free
    - fseek
    - bmp_load_sub
    - getdword
    linkageType: ''
    returnType: void
    signature: "void *bmp_read(ImageReader *im,\n                      int         *width,\n
      \                     int         *height,\n                      int         *span,\n
      \                     int         *bpp,\n                      int         *cmyk,\n
      \                     void       **lab)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - file
    - count
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 433
    functionName: skip_bytes
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int skip_bytes(FILE *file, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:440,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:441,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:442,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:443,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:445,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:446,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:447,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - file
    - rev
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 451
    functionName: get_int
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int get_int(FILE *file, int rev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:458,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:459,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:461,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - file
    - rev
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 465
    functionName: get_short
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int get_short(FILE *file, int rev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: skip_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:482,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:484,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:485,1
    - Dst: skip_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:486,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:488,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:489,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:490,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:493,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:494,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:495,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:498,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:500,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:503,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:504,1
    - Dst: skip_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:507,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:509,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:510,1
    - Dst: skip_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:513,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:516,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:526,1
    - Dst: skip_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:543,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 8
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - rev
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 550
    functionName: cups_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - skip_bytes
    - Malloc
    - get_int
    - fgetc
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void *cups_read(ImageReader *im,\n                       int         *width,\n
      \                      int         *height,\n                       int         *span,\n
      \                      int         *bpp,\n                       int         *cmyk,\n
      \                      int          rev,\n                       void       **lab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cups_read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 561
    functionName: cups_read_le
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - cups_read
    linkageType: ''
    returnType: void
    signature: "void *cups_read_le(ImageReader *im,\n                          int
      \        *width,\n                          int         *height,\n                          int
      \        *span,\n                          int         *bpp,\n                          int
      \        *cmyk,\n                          void       **lab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cups_read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 572
    functionName: cups_read_be
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - cups_read
    linkageType: ''
    returnType: void
    signature: "void *cups_read_be(ImageReader *im,\n                          int
      \        *width,\n                          int         *height,\n                          int
      \        *span,\n                          int         *bpp,\n                          int
      \        *cmyk,\n                          void       **lab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: skip_to_eol
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: void
    signature: void skip_to_eol(FILE *file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:591,1
    - Dst: skip_to_eol
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 599
    functionName: get_uncommented_char
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - skip_to_eol
    linkageType: ''
    returnType: int
    signature: int get_uncommented_char(FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_uncommented_char
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:608,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:609,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:612,1
    - Dst: get_uncommented_char
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:615,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 620
    functionName: get_pnm_num
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - isdigit
    - isspace
    - get_uncommented_char
    linkageType: ''
    returnType: int
    signature: int get_pnm_num(FILE *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:638,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 653
    functionName: pbm_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: void
    signature: "void pbm_read(FILE          *file,\n                     int            width,\n
      \                    int            height,\n                     int            maxval,\n
      \                    unsigned char *bmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:669,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:683,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:698,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 707
    functionName: pgm_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fread
    linkageType: ''
    returnType: void
    signature: "void pgm_read(FILE          *file,\n                     int            width,\n
      \                    int            height,\n                     int            maxval,\n
      \                    unsigned char *bmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:723,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:739,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:756,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:756,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:757,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:757,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:758,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 767
    functionName: ppm_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fread
    linkageType: ''
    returnType: void
    signature: "void ppm_read(FILE          *file,\n                     int            width,\n
      \                    int            height,\n                     int            maxval,\n
      \                    unsigned char *bmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:783,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:788,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:800,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:800,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:801,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:801,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:802,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:802,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:803,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:803,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 812
    functionName: pam_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fread
    linkageType: ''
    returnType: void
    signature: "void pam_read(FILE          *file,\n                     int            width,\n
      \                    int            height,\n                     int            maxval,\n
      \                    unsigned char *bmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 837
    functionName: pbm_read_plain
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - get_pnm_num
    linkageType: ''
    returnType: void
    signature: "void pbm_read_plain(FILE          *file,\n                           int
      \           width,\n                           int            height,\n                           int
      \           maxval,\n                           unsigned char *bmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:853,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:864,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 873
    functionName: pgm_read_plain
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - get_pnm_num
    linkageType: ''
    returnType: void
    signature: "void pgm_read_plain(FILE          *file,\n                           int
      \           width,\n                           int            height,\n                           int
      \           maxval,\n                           unsigned char *bmp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:890,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:891,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:892,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:905,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:906,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - file
    - width
    - height
    - maxval
    - bmp
    argTypes:
    - FILE*
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 916
    functionName: ppm_read_plain
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - get_pnm_num
    linkageType: ''
    returnType: void
    signature: "void ppm_read_plain(FILE          *file,\n                           int
      \           width,\n                           int            height,\n                           int
      \           maxval,\n                           unsigned char *bmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_uncommented_char
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:926,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:927,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:931,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:937,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:939,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - file
    - string
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 944
    functionName: skip_string
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - ungetc
    - isspace
    - get_uncommented_char
    linkageType: ''
    returnType: int
    signature: int skip_string(FILE *file, const char *string)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:953,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:954,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:955,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:956,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:957,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:958,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:959,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:960,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:962,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:963,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:964,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:965,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:967,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:968,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:969,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:973,1
    - Dst: skip_to_eol
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:974,1
    - Dst: skip_to_eol
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:978,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - file
    - width
    - height
    - maxval
    argTypes:
    - FILE*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 946
    functionDepth: 3
    functionLinenumber: 946
    functionLinenumberEnd: 981
    functionName: pam_header_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fprintf
    - get_pnm_num
    - skip_string
    - exit
    - skip_to_eol
    linkageType: ''
    returnType: int
    signature: "int pam_header_read(FILE *file,\n                           int  *width,\n
      \                          int  *height,\n                           int  *maxval)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:997,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1000,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1005,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1030,1
    - Dst: pam_header_read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1034,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1036,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1037,1
    - Dst: get_pnm_num
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1039,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1047,1
    - Dst: read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1049,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 983
    functionDepth: 4
    functionLinenumber: 983
    functionLinenumberEnd: 1051
    functionName: pnm_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - read
    - Malloc
    - fgetc
    - pam_header_read
    - fprintf
    - get_pnm_num
    linkageType: ''
    returnType: void
    signature: "void *pnm_read(ImageReader *im,\n                      int         *width,\n
      \                     int         *height,\n                      int         *span,\n
      \                     int         *bpp,\n                      int         *cmyk,\n
      \                     void        **lab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - im_
    - buf
    - n
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1054
    functionDepth: 0
    functionLinenumber: 1054
    functionLinenumberEnd: 1060
    functionName: tiff_cread
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t tiff_cread(thandle_t im_,\n                           void
      *buf,\n                           tmsize_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - im_
    - buf
    - n
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1067
    functionName: tiff_cwrite
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t tiff_cwrite(thandle_t im_,\n                           void
      *buf,\n                           tmsize_t n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1074,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - im_
    - offset
    - whence
    argTypes:
    - thandle_t
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1076
    functionName: tiff_cseek
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - ftell
    - fseek
    linkageType: ''
    returnType: toff_t
    signature: "toff_t tiff_cseek(thandle_t im_,\n                         toff_t
      offset,\n                         int whence)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - im_
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1081
    functionName: tiff_cclose
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tiff_cclose(thandle_t im_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1086,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1089,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1090,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - im_
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1093
    functionName: tiff_csize
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - ftell
    - fseek
    linkageType: ''
    returnType: toff_t
    signature: toff_t tiff_csize(thandle_t im_)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1124,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1135,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1136,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1141,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1142,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1145,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1148,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1149,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1152,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1154,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1158,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1159,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1162,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1163,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1164,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1165,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1168,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1172,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1173,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1176,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1177,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1180,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1181,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1184,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1186,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1187,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1190,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1197,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1198,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1200,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1202,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1203,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1207,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1208,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1216,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1219,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1220,1
    - Dst: Calloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1224,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1229,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1232,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1232,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1234,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1235,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1239,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1241,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1269,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1272,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1273,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1280,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1281,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1282,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1283,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1284,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1287,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1288,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 138
    argCount: 7
    argNames:
    - im
    - im_width
    - im_height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1297
    functionName: tif_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - TIFFClientOpen
    - TIFFIsTiled
    - Malloc
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - cmsOpenProfileFromMem
    - TIFFGetField
    - TIFFClose
    - cmsDoTransform
    - TIFFReadScanline
    - cmsCreateTransform
    - ftell
    - cmsCreateLab4Profile
    - cmsDeleteTransform
    - cmsCreateContext
    - Calloc
    - memcpy
    - _TIFFfree
    - exit
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: "void * tif_read(ImageReader* im,\n    int* im_width,\n    int* im_height,\n
      \   int* span,\n    int* bpp,\n    int* cmyk,\n    void **lab)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1319,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1322,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1323,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1324,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1324,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1325,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1326,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1329,1
    - Dst: png_set_sig_bytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1330,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1331,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1334,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1335,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1336,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1337,1
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1338,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1340,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1342,1
    - Dst: png_set_add_alpha
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1343,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1345,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1347,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1348,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1349,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1353,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1356,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1370,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1371,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1379
    functionName: png_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - png_set_packing
    - png_set_sig_bytes
    - fprintf
    - png_read_row
    - png_init_io
    - png_set_strip_16
    - png_get_image_width
    - png_destroy_read_struct
    - png_create_read_struct
    - png_get_color_type
    - png_read_info
    - png_set_add_alpha
    - png_get_image_height
    - png_get_rowbytes
    - malloc
    - ftell
    - png_read_end
    - png_create_info_struct
    - png_jmpbuf
    - png_set_expand
    - setjmp
    - png_set_strip_alpha
    - png_read_update_info
    - exit
    linkageType: ''
    returnType: void
    signature: "void *png_read(ImageReader *im,\n                      int         *width,\n
      \                     int         *height,\n                      int         *span,\n
      \                     int         *bpp,\n                      int         *cmyk,\n
      \                     void        **lab)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1396,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1400,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1402,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1403,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1407,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1408,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1410,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1413,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1414,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1415,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1417,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1418,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1420,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1424,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1425,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1430,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1431,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1436,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1437,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1440,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1441,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1445,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1447,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1448,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1453,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1457,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1458,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1459,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1460,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1462,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1463,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1465,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1466,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1468,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1469,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1470,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1471,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1475,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1476,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1479,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1480,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1484,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1485,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1486,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1487,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1488,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1489,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1490,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1491,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1493,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1494,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1496,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1498,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1506,1
    - Dst: get_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1513,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1515,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1516,1
    - Dst: get_short
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1520,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1522,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1523,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1530,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1531,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1538,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1558,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1586,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1604,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1625,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1654,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1668,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1671,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1672,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1673,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1674,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1675,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1676,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1677,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1678,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 284
    argCount: 7
    argNames:
    - im
    - width
    - height
    - span
    - bpp
    - cmyk
    - lab
    argTypes:
    - ImageReader*
    - int*
    - int*
    - int*
    - int*
    - int*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1681
    functionName: psd_read
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fread
    - get_short
    - Malloc
    - get_int
    - fgetc
    - free
    - fprintf
    - feof
    - exit
    linkageType: ''
    returnType: void
    signature: "void *psd_read(ImageReader *im,\n                      int         *width,\n
      \                     int         *height,\n                      int         *span,\n
      \                     int         *bpp,\n                      int         *cmyk,\n
      \                     void       **lab)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1688,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1690,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1691,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1696,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1701,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1705,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1708,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1709,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1710,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1720,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1723,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1728,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1729,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1735,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1736,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - im
    - filename
    argTypes:
    - ImageReader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1683
    functionDepth: 0
    functionLinenumber: 1683
    functionLinenumberEnd: 1740
    functionName: image_open
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fgetc
    - ungetc
    - fprintf
    - fopen
    - exit
    linkageType: ''
    returnType: void
    signature: "void image_open(ImageReader *im,\n                       char        *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - im
    argTypes:
    - ImageReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1746
    functionName: image_close
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void image_close(ImageReader *im)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1795
    functionName: simple_diff_int
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void simple_diff_int(unsigned char *bmp,\n                            unsigned
      char *bmp2,\n                            unsigned char *map,\n                            BBox
      \         *bbox2,\n                            Params        *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1845
    functionName: simple_diff_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void simple_diff_n(unsigned char *bmp,\n                          unsigned
      char *bmp2,\n                          unsigned char *map,\n                          BBox
      \         *bbox2,\n                          Params        *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: simple_diff_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1854,1
    - Dst: simple_diff_n
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:1856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1857
    functionName: simple_diff
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - simple_diff_int
    - simple_diff_n
    linkageType: ''
    returnType: void
    signature: "void simple_diff(unsigned char *bmp,\n                        unsigned
      char *bmp2,\n                        unsigned char *map,\n                        BBox
      \         *bbox2,\n                        Params        *params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    - x
    - y
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1930
    functionName: fuzzy_slow_lab
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_slow_lab(FuzzyParams* fuzzy_params,\n    unsigned char*
      isrc,\n    unsigned char* isrc2,\n    unsigned char* map,\n    int            x,\n
      \   int            y)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 6
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    - x
    - y
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1932
    functionDepth: 0
    functionLinenumber: 1932
    functionLinenumberEnd: 1992
    functionName: fuzzy_slow
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_slow(FuzzyParams   *fuzzy_params,\n                      unsigned
      char *isrc,\n                      unsigned char *isrc2,\n                      unsigned
      char *map,\n                      int            x,\n                      int
      \           y)"
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 57
    argCount: 6
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    - x
    - y
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2074
    functionName: fuzzy_slow_exhaustive
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_slow_exhaustive(FuzzyParams   *fuzzy_params,\n                                 unsigned
      char *isrc,\n                                 unsigned char *isrc2,\n                                 unsigned
      char *map,\n                                 int            x,\n                                 int
      \           y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2077
    functionDepth: 0
    functionLinenumber: 2077
    functionLinenumberEnd: 2100
    functionName: fuzzy_fast_lab
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_fast_lab(FuzzyParams* fuzzy_params,\n    unsigned char*
      isrc,\n    unsigned char* isrc2,\n    unsigned char* map)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2139
    functionName: fuzzy_fast
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_fast(FuzzyParams   *fuzzy_params,\n                      unsigned
      char *isrc,\n                      unsigned char *isrc2,\n                      unsigned
      char *map)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 4
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2141
    functionDepth: 0
    functionLinenumber: 2141
    functionLinenumberEnd: 2196
    functionName: fuzzy_fast_exhaustive
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_fast_exhaustive(FuzzyParams   *fuzzy_params,\n                                 unsigned
      char *isrc,\n                                 unsigned char *isrc2,\n                                 unsigned
      char *map)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2265,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2296,1
    - Dst: FuzzyParams::fastFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2322,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2347,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2378,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 140
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2198
    functionDepth: 0
    functionLinenumber: 2198
    functionLinenumberEnd: 2399
    functionName: fuzzy_diff_int
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - FuzzyParams::slowFn
    - FuzzyParams::fastFn
    linkageType: ''
    returnType: void
    signature: "void fuzzy_diff_int(unsigned char *bmp,\n                           unsigned
      char *bmp2,\n                           unsigned char *map,\n                           BBox
      \         *bbox2,\n                           Params        *params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 6
    argNames:
    - fuzzy_params
    - src
    - src2
    - map
    - x
    - y
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2453
    functionName: fuzzy_slow_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_slow_n(FuzzyParams   *fuzzy_params,\n                        unsigned
      char *src,\n                        unsigned char *src2,\n                        unsigned
      char *map,\n                        int            x,\n                        int
      \           y)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 6
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    - x
    - y
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2520
    functionName: fuzzy_slow_exhaustive_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_slow_exhaustive_n(FuzzyParams   *fuzzy_params,\n                                   unsigned
      char *isrc,\n                                   unsigned char *isrc2,\n                                   unsigned
      char *map,\n                                   int            x,\n                                   int
      \           y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2551
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2551
    functionName: fuzzy_fast_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_fast_n(FuzzyParams   *fuzzy_params,\n                        unsigned
      char *isrc,\n                        unsigned char *isrc2,\n                        unsigned
      char *map)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 4
    argNames:
    - fuzzy_params
    - isrc
    - isrc2
    - map
    argTypes:
    - FuzzyParams*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2595
      start: 2553
    functionDepth: 0
    functionLinenumber: 2553
    functionLinenumberEnd: 2595
    functionName: fuzzy_fast_exhaustive_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fuzzy_fast_exhaustive_n(FuzzyParams   *fuzzy_params,\n                                   unsigned
      char *isrc,\n                                   unsigned char *isrc2,\n                                   unsigned
      char *map)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2668,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2705,1
    - Dst: FuzzyParams::fastFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2737,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2768,1
    - Dst: FuzzyParams::slowFn
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2805,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 157
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2826
    functionName: fuzzy_diff_n
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - FuzzyParams::slowFn
    - FuzzyParams::fastFn
    linkageType: ''
    returnType: void
    signature: "void fuzzy_diff_n(unsigned char *bmp,\n                         unsigned
      char *bmp2,\n                         unsigned char *map,\n                         BBox
      \         *bbox2,\n                         Params        *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - bbox
    argTypes:
    - BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2828
    functionDepth: 0
    functionLinenumber: 2828
    functionLinenumberEnd: 2831
    functionName: BBox_valid
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BBox_valid(BBox *bbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fuzzy_diff_int
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2840,1
    - Dst: fuzzy_diff_n
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - bmp
    - bmp2
    - map
    - bbox2
    - params
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2833
    functionDepth: 1
    functionLinenumber: 2833
    functionLinenumberEnd: 2843
    functionName: fuzzy_diff
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fuzzy_diff_n
    - fuzzy_diff_int
    linkageType: ''
    returnType: void
    signature: "void fuzzy_diff(unsigned char *bmp,\n                       unsigned
      char *bmp2,\n                       unsigned char *map,\n                       BBox
      \         *bbox2,\n                       Params        *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2850
    functionName: toFixedDomain
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int toFixedDomain(int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2853
      start: 2852
    functionDepth: 0
    functionLinenumber: 2852
    functionLinenumberEnd: 2853
    functionName: FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2853
    functionDepth: 0
    functionLinenumber: 2853
    functionLinenumberEnd: 2854
    functionName: FIXED_REST_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_REST_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2855
    functionName: ROUND_FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_FIXED_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - l
    - h
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2861
    functionName: LinearInterp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LinearInterp(int a, int l, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2864
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2864
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2884,1
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2885,1
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2886,1
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2887,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2889,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2890,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2891,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2892,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2894,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2895,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2896,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2897,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2916,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2920,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2921,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2921,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2922,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2922,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2928,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2929,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2929,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2930,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2930,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2936,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2936,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2937,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2937,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2938,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2944,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2944,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2945,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2946,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2946,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2952,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2952,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2953,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2954,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2954,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2960,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2960,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2961,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2961,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2962,1
    - Dst: ROUND_FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2971,1
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2971,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2980,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2984,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2985,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2985,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2986,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2986,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2992,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2993,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2993,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2994,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:2994,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3000,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3000,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3001,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3001,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3002,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3008,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3008,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3009,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3010,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3010,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3016,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3016,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3017,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3018,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3018,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3024,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3024,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3025,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3025,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3026,1
    - Dst: ROUND_FIXED_TO_INT
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3035,1
    - Dst: toFixedDomain
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3035,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3038,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3039,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3040,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 106
    argCount: 7
    argNames:
    - c
    - m
    - y
    - k
    - r
    - g
    - b
    argTypes:
    - int
    - int
    - int
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 2864
    functionDepth: 1
    functionLinenumber: 2864
    functionLinenumberEnd: 3041
    functionName: lookup
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - toFixedDomain
    - ROUND_FIXED_TO_INT
    - FIXED_REST_TO_INT
    - LinearInterp
    - DENS
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void lookup(int c, int m, int y, int k,\n       int *r, int *g, int
      *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lookup
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - bmp
    - bbox
    - span
    argTypes:
    - unsigned char*
    - BBox*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3045
    functionDepth: 2
    functionLinenumber: 3045
    functionLinenumberEnd: 3086
    functionName: uncmyk_bmp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - lookup
    linkageType: ''
    returnType: void
    signature: "void uncmyk_bmp(unsigned char *bmp,\n                       BBox          *bbox,\n
      \                      int            span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - bmp
    - bbox
    - span
    argTypes:
    - unsigned char*
    - BBox*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3088
    functionDepth: 0
    functionLinenumber: 3088
    functionLinenumberEnd: 3136
    functionName: untag_bmp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void untag_bmp(unsigned char *bmp,\n                      BBox          *bbox,\n
      \                     int            span)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3193,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - bmp
    - map
    - bbox
    - span
    - map_span
    argTypes:
    - unsigned char*
    - unsigned char*
    - BBox*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3202
    functionName: diff_bmp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void diff_bmp(unsigned char *bmp,\n                     unsigned char
      *map,\n                     BBox          *bbox,\n                     int            span,\n
      \                    int            map_span)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3208,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3212,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - bbox
    - str
    - w
    - h
    - page
    - threshold
    - window
    argTypes:
    - BBox*
    - char*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3204
    functionDepth: 0
    functionLinenumber: 3204
    functionLinenumberEnd: 3217
    functionName: save_meta
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fclose
    - fprintf
    - fopen
    linkageType: ''
    returnType: void
    signature: void save_meta(BBox *bbox, char *str, int w, int h, int page, int threshold,
      int window)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3233,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3250,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3251,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3252,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3254,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3255,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3256,1
    - Dst: putword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3257,1
    - Dst: putword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3258,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3259,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3260,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3261,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3262,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3263,1
    - Dst: putdword
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3264,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3266,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3272,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3282,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3286,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 45
    argCount: 5
    argNames:
    - data
    - bbox
    - span
    - bpp
    - str
    argTypes:
    - unsigned char*
    - BBox*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3219
    functionDepth: 1
    functionLinenumber: 3219
    functionLinenumberEnd: 3291
    functionName: save_bmp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - putword
    - putdword
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: "void save_bmp(unsigned char *data,\n                     BBox          *bbox,\n
      \                    int            span,\n                     int            bpp,\n
      \                    char          *str)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3310,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3314,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3316,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3319,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3325,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3325,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3329,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3335,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3351,1
    - Dst: png_set_rows
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3356,1
    - Dst: png_write_png
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3359,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3363,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3366,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3367,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 5
    argNames:
    - data
    - bbox
    - span
    - bpp
    - str
    argTypes:
    - unsigned char*
    - BBox*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3294
    functionDepth: 1
    functionLinenumber: 3294
    functionLinenumberEnd: 3369
    functionName: save_png
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_jmpbuf
    - png_write_png
    - png_set_rows
    - png_set_IHDR
    - setjmp
    - malloc
    - free
    - fopen
    - png_create_write_struct
    - png_init_io
    - png_destroy_write_struct
    - fclose
    linkageType: ''
    returnType: void
    signature: "void save_png(unsigned char *data,\n                     BBox          *bbox,\n
      \                    int            span,\n                     int            bpp,\n
      \                    char          *str)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3374,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3375,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3376,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3377,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3378,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3379,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3380,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3381,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3383,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3388,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3389,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3390,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3391,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3392,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3393,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3394,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3395,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3396,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3397,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3398,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3399,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3372
    functionDepth: 0
    functionLinenumber: 3372
    functionLinenumberEnd: 3401
    functionName: syntax
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void syntax(void)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3409,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3421,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3423,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3428,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3430,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3435,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3437,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3438,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3439,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3440,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3443,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3445,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3446,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3447,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3448,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3460,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3463,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3477,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3480,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3483,1
    - Dst: syntax
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3492,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 3
    argNames:
    - argc
    - argv
    - params
    argTypes:
    - int
    - char*[]
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3403
    functionDepth: 1
    functionLinenumber: 3403
    functionLinenumberEnd: 3508
    functionName: parseArgs
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - atoi
    - memset
    - syntax
    linkageType: ''
    returnType: void
    signature: void parseArgs(int argc, char *argv[], Params *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3519,1
    - Dst: OFFSET
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3532,1
    - Dst: OFFSET
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3533,1
    - Dst: OFFSET
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3534,1
    - Dst: OFFSET
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - params
    - span
    - bpp
    argTypes:
    - Params*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3544
      start: 3510
    functionDepth: 2
    functionLinenumber: 3510
    functionLinenumberEnd: 3544
    functionName: makeWindowTable
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached:
    - Malloc
    - OFFSET
    linkageType: ''
    returnType: void
    signature: void makeWindowTable(Params *params, int span, int bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3525
      start: 3524
    functionDepth: 0
    functionLinenumber: 3524
    functionLinenumberEnd: 3525
    functionName: OFFSET
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFFSET(x,y)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 3
    argNames:
    - map
    - global
    - params
    argTypes:
    - unsigned char*
    - BBox*
    - Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3632
      start: 3546
    functionDepth: 0
    functionLinenumber: 3546
    functionLinenumberEnd: 3632
    functionName: rediff
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rediff(unsigned char *map,\n                   BBox          *global,\n
      \                  Params        *params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - bmp
    - w
    - h
    - span
    - bpp
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3669
      start: 3634
    functionDepth: 0
    functionLinenumber: 3634
    functionLinenumberEnd: 3669
    functionName: unspot
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unspot(unsigned char *bmp, int w, int h, int span, int bpp)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: parseArgs
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3694,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3698,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3706,1
    - Dst: image_open
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3710,1
    - Dst: image_open
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3711,1
    - Dst: ImageReader::read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3715,1
    - Dst: read
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3716,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3723,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3732,1
    - Dst: makeWindowTable
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3739,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3741,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3742,1
    - Dst: DEBUG_BBOX
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3760,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3760,1
    - Dst: DEBUG_BBOX
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3818,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3818,1
    - Dst: Malloc
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3822,1
    - Dst: unspot
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3826,1
    - Dst: unspot
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3827,1
    - Dst: DEBUG_BBOX
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3846,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3846,1
    - Dst: rediff
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3850,1
    - Dst: BBox_valid
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3851,1
    - Dst: DEBUG_BBOX
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3853,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3853,1
    - Dst: uncmyk_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3859,1
    - Dst: uncmyk_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3860,1
    - Dst: untag_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3863,1
    - Dst: untag_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3864,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3870,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3871,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3872,1
    - Dst: save_png
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3873,1
    - Dst: save_png
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3874,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3876,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3877,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3878,1
    - Dst: save_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3879,1
    - Dst: save_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3880,1
    - Dst: diff_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3882,1
    - Dst: save_png
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3884,1
    - Dst: save_bmp
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3886,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3888,1
    - Dst: save_meta
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3889,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3908,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3910,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3911,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3912,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3913,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3914,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3921,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3923,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3927,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3929,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3933,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3935,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3936,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/bmpcmp.c:3939,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 181
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3671
    functionDepth: 3
    functionLinenumber: 3671
    functionLinenumberEnd: 3942
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/bmpcmp.c
    functionUses: 1
    functionsReached:
    - Malloc
    - ImageReader::read
    - save_meta
    - image_open
    - BBox_valid
    - fprintf
    - read
    - memset
    - DEBUG_BBOX
    - unspot
    - parseArgs
    - save_bmp
    - free
    - rediff
    - sprintf
    - untag_bmp
    - makeWindowTable
    - uncmyk_bmp
    - save_png
    - image_close
    - exit
    - diff_bmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:36,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: die
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void die(char *why)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - argc
    - argv
    - pi
    - arg
    argTypes:
    - int
    - char**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 56
    functionName: get_arg
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * get_arg (int argc, char **argv, int *pi, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:60,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:61,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:62,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:63,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:64,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:65,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:66,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:67,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:68,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:69,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:70,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int usage (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - buf
    argTypes:
    - int*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: get4
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get4(int *value, uchar *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - value
    - buf
    argTypes:
    - int*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: get2
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get2(int *value, uchar *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:108,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:116,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - in_buff
    - in_length
    - out_buff
    - out_length
    argTypes:
    - uchar*
    - int
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: rle_decode
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void rle_decode(uchar *in_buff, int in_length, \n                       uchar
      *out_buff, int out_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:143,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:144,1
    - Dst: rle_decode
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ibufs
    - xs
    - fi
    - planes
    - image_ctx
    argTypes:
    - ETS_SrcPixel**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 151
    functionName: read_psd_line_rle8
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - rle_decode
    - fseek
    - fread
    linkageType: ''
    returnType: void
    signature: "void read_psd_line_rle8(ETS_SrcPixel **ibufs, int xs, FILE *fi, int
      planes, \n                              void *image_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:168,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ibufs
    - xs
    - fi
    - planes
    - image_ctx
    argTypes:
    - ETS_SrcPixel**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: read_psd_line8
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fseek
    - fread
    linkageType: ''
    returnType: void
    signature: "void read_psd_line8(ETS_SrcPixel **ibufs, int xs, FILE *fi, int planes,\n
      \                         void *image_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:192,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - obufs
    - xs
    - fo
    - planes
    - image_ctx
    argTypes:
    - uchar**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 199
    functionName: write_psd_line8
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void write_psd_line8(uchar **obufs, int xs, FILE *fo, int planes,\n
      \                          void *image_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:218,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ibufs
    - xs
    - fi
    - planes
    - image_ctx
    argTypes:
    - ETS_SrcPixel**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 231
    functionName: read_psd_line16
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fseek
    - fread
    linkageType: ''
    returnType: void
    signature: "void read_psd_line16(ETS_SrcPixel **ibufs, int xs, FILE *fi, int planes,\n
      \                         void *image_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:251,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - obufs
    - xs
    - fo
    - planes
    - image_ctx
    argTypes:
    - uchar**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 258
    functionName: write_psd_line16
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - memcpy
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void write_psd_line16(uchar **obufs, int xs, FILE *fo, int planes,\n
      \                          void *image_ctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:265,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:267,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:269,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:271,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - image_ctx
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 274
    functionName: finalize_psd
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void finalize_psd(void *image_ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:298,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:300,1
    - Dst: get4
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:304,1
    - Dst: get4
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:305,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:311,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:314,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:317,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:321,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:337,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:340,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:341,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:345,1
    - Dst: get4
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:346,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:347,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:348,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:349,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:350,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:351,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:355,1
    - Dst: get4
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:356,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:357,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:358,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:359,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:360,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:361,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:366,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:369,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:372,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:376,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:379,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:386,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:387,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:388,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:398,1
    - Dst: get2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:399,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:406,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:415,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:416,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:419,1
    - Dst: rle_decode
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:420,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:421,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:423,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:424,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:425,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:426,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:435,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:452,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 111
    argCount: 3
    argNames:
    - fi
    - psd_ctx
    - fo
    argTypes:
    - FILE*
    - psd_ctx_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 458
    functionName: read_psd
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - get4
    - fread
    - rewind
    - die
    - malloc
    - free
    - fwrite
    - rle_decode
    - get2
    - fclose
    linkageType: ''
    returnType: void
    signature: void read_psd(FILE *fi, psd_ctx_t *psd_ctx, FILE *fo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:466,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:468,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:470,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:472,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:474,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:477,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:479,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:481,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 4
    argNames:
    - fi
    - xs
    - ys
    - fo
    argTypes:
    - FILE*
    - int*
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: read_pgm
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fprintf
    - sscanf
    - fgets
    - die
    linkageType: ''
    returnType: void
    signature: void read_pgm(FILE *fi, int *xs, int *ys, FILE *fo)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:492,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:496,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:499,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:504,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:506,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:508,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:510,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:512,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:515,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:516,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:518,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:521,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:522,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:524,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:526,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:528,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:530,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:532,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:534,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:536,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:538,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:543,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:544,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 4
    argNames:
    - fi
    - xs
    - ys
    - fo
    argTypes:
    - FILE*
    - int*
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 550
    functionName: read_pam
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - sscanf
    - printf
    - die
    - fprintf
    - fgets
    linkageType: ''
    returnType: int
    signature: int read_pam(FILE *fi, int *xs, int *ys, FILE *fo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:556,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ibufs
    - xs
    - fi
    - planes
    - image_ctx
    argTypes:
    - ETS_SrcPixel**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 559
    functionName: read_pgm_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fread
    - die
    linkageType: ''
    returnType: void
    signature: "void read_pgm_line(ETS_SrcPixel **ibufs, int xs, FILE *fi, int planes,
      \n                          void *image_ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:568,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:569,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:570,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:571,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:573,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - ibufs
    - xs
    - fi
    - planes
    - image_ctx
    argTypes:
    - ETS_SrcPixel**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 577
    functionName: read_pam_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fgetc
    - die
    linkageType: ''
    returnType: void
    signature: "void read_pam_line(ETS_SrcPixel **ibufs, int xs, FILE *fi, int planes,
      \n                          void *image_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - obufs
    - xs
    - fo
    - planes
    - image_ctx
    argTypes:
    - uchar**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 583
    functionName: write_pgm_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void write_pgm_line(uchar **obufs, int xs, FILE *fo, int planes,\n
      \                          void *image_ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:592,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:593,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:594,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:595,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - obufs
    - xs
    - fo
    - planes
    - image_ctx
    argTypes:
    - uchar**
    - int
    - FILE*
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 601
    functionName: write_pam_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: void
    signature: "void write_pam_line(uchar **obufs, int xs, FILE *fo, int planes,\n
      \                          void *image_ctx)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:665,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:671,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:673,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:676,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:678,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:684,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:687,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:690,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:693,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:696,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:699,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:707,1
    - Dst: read_pgm
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:711,1
    - Dst: read_pam
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:720,1
    - Dst: read_psd
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:728,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:749,1
    - Dst: die
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:753,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:758,1
    - Dst: ets_malloc_aligned
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:759,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:765,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:767,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:768,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:775,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:785,1
    - Dst: ets_new
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:810,1
    - Dst: read_line
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:815,1
    - Dst: ets_line
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:816,1
    - Dst: write_line
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:836,1
    - Dst: finalize
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:839,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:841,1
    - Dst: ets_free_aligned
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:844,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:845,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:848,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:850,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c:854,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 154
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 603
    functionDepth: 2
    functionLinenumber: 603
    functionLinenumberEnd: 855
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/test_ets.c
    functionUses: 1
    functionsReached:
    - get_arg
    - sscanf
    - read_pgm
    - fclose
    - ets_line
    - read_psd
    - fgets
    - ets_free_aligned
    - pow
    - usage
    - ets_malloc_aligned
    - malloc
    - free
    - fopen
    - fscanf
    - ets_free
    - ets_new
    - die
    - read_line
    - write_line
    - read_pam
    - finalize
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: ets_malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      ets_malloc_aligned(int size, int align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ets_free_aligned
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ets_free_aligned(void *p)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:177,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:179,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 1
    argNames:
    - params
    argTypes:
    - ETS_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 183
    functionName: compute_distscale
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: double
    signature: double compute_distscale(const ETS_Params *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: ets_log2
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ets_log2(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: ets_log2up
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached:
    - ets_log2
    linkageType: ''
    returnType: int
    signature: int ets_log2up(int x)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 3
    argNames:
    - nl
    - rs_base
    - levels
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 244
    functionName: compute_randshift
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compute_randshift(int nl, int rs_base, int levels)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 141
    argCount: 3
    argNames:
    - etc
    - dest
    - src
    argTypes:
    - ETS_Ctx*
    - uchar**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 602
    functionName: ets_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ets_line(ETS_Ctx *etc, uchar **dest, const ETS_SrcPixel *const
      *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:613,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:614,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:615,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:616,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:617,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:618,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:619,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ETS_PlaneCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 621
    functionName: ets_plane_free
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void ets_plane_free(ETS_PlaneCtx *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: compute_distscale
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:651,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:657,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:661,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:662,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:662,1
    - Dst: ets_log2up
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:668,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:677,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:704,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:705,1
    - Dst: compute_randshift
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:775,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:782,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:791,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:792,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:793,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:794,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:804,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 57
    argCount: 3
    argNames:
    - params
    - etc
    - plane_idx
    argTypes:
    - ETS_Params*
    - ETS_Ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 808
    functionName: ets_plane_new
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 0
    functionsReached:
    - compute_randshift
    - ets_log2up
    - rand
    - malloc
    - calloc
    - ets_log2
    - compute_distscale
    linkageType: ''
    returnType: ETS_PlaneCtx
    signature: 'ETS_PlaneCtx *

      ets_plane_new(const ETS_Params *params, ETS_Ctx *etc, int plane_idx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:813,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:827,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:831,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:836,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:851,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:852,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:858,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:866,1
    - Dst: ets_plane_new
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:868,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 1
    argNames:
    - params
    argTypes:
    - ETS_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 874
    functionName: ets_new
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 1
    functionsReached:
    - ets_plane_new
    - malloc
    - memcpy
    - fwrite
    - calloc
    linkageType: ''
    returnType: ETS_Ctx
    signature: 'ETS_Ctx *

      ets_new(const ETS_Params *params)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:889,1
    - Dst: ets_plane_free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:892,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:893,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:894,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:895,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c:897,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ETS_Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: ets_free
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/ETS/ets.c
    functionUses: 1
    functionsReached:
    - ets_plane_free
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void ets_free(ETS_Ctx *ctx)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:276,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:281,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:289,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:299,1
    - Dst: srand
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:301,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:305,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:317,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:327,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:336,1
    - Dst: init_gs_display
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:345,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:349,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:354,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:379,1
    - Dst: update_gs_image
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:384,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:388,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:401,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:412,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:413,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:452,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:465,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:483,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:510,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:520,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:524,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:528,1
    - Dst: do_dot
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:549,1
    - Dst: do_dot
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:555,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:562,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:564,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:567,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:571,1
    - Dst: close_gs_display
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:573,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:579,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:580,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:581,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:582,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:583,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:584,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:585,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:586,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:587,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:588,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:589,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:590,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:591,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:592,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:593,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:594,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:595,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:596,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:597,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:598,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:599,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:600,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:601,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:602,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:603,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:604,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:605,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 253
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 607
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - pow
    - sscanf
    - qsort
    - init_gs_display
    - do_dot
    - printf
    - rand
    - fprintf
    - srand
    - fopen
    - update_gs_image
    - close_gs_display
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:615,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:619,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 6
    argNames:
    - thisX
    - thisY
    - refX
    - refY
    - rx_sq
    - ry_sq
    argTypes:
    - int
    - int
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 633
    functionName: ValFunction
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: double
    signature: double ValFunction(int thisX, int thisY, int refX, int refY, double
      rx_sq, double ry_sq)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vp
    - vq
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 648
    functionName: CompareOrder
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CompareOrder(const void *vp, const void *vq)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:659,1
    - Dst: update_gs_dot
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:662,1
    - Dst: ValFunction
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:677,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - choice_X
    - choice_Y
    - level
    - last
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 691
    functionName: do_dot
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - ValFunction
    - fprintf
    - update_gs_dot
    linkageType: ''
    returnType: int
    signature: int do_dot(int choice_X, int choice_Y, int level, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _read
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:731,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: gsdll_stdin
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - fileno
    - _read
    linkageType: ''
    returnType: int
    signature: int gsdll_stdin(void *instance, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:737,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 740
    functionName: gsdll_stdout
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stdout(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:745,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: gsdll_stderr
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stderr(void *instance, const char *str, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentThreadId
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:771,1
    - Dst: GetCurrentThread
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:772,1
    - Dst: GetMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:774,1
    - Dst: image_open
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:777,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:783,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:784,1
    - Dst: image_updatesize
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:788,1
    - Dst: image_sync
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:791,1
    - Dst: image_page
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:794,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:797,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:798,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 801
    functionName: winthread
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - GetCurrentThreadId
    - image_sync
    - image_page
    - image_updatesize
    - GetCurrentThread
    - image_open
    - image_close
    - TranslateMessage
    - GetMessage
    - DispatchMessage
    linkageType: ''
    returnType: void
    signature: void winthread(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:810,1
    - Dst: image_new
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:812,1
    - Dst: CreateMutex
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:813,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 817
    functionName: display_open
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - PostThreadMessage
    - fprintf
    - image_new
    - CreateMutex
    linkageType: ''
    returnType: int
    signature: int display_open(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:823,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:825,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 831
    functionName: display_preclose
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - image_find
    - fprintf
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int display_preclose(void *handle, void *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:837,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:839,1
    - Dst: GetForegroundWindow
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:842,1
    - Dst: SetForegroundWindow
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:843,1
    - Dst: image_delete
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:845,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 849
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - SetForegroundWindow
    - PostThreadMessage
    - image_find
    - fprintf
    - image_delete
    - GetForegroundWindow
    linkageType: ''
    returnType: int
    signature: int display_close(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:856,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:859,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:862,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 865
    functionName: display_presize
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - image_find
    - fprintf
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: "int display_presize(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:872,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:875,1
    - Dst: image_size
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:877,1
    - Dst: ReleaseMutex
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:879,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 867
    functionDepth: 1
    functionLinenumber: 867
    functionLinenumberEnd: 883
    functionName: display_size
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - PostThreadMessage
    - ReleaseMutex
    - image_find
    - fprintf
    - image_size
    linkageType: ''
    returnType: int
    signature: "int display_size(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:889,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:891,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 885
    functionDepth: 0
    functionLinenumber: 885
    functionLinenumberEnd: 895
    functionName: display_sync
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - image_find
    - fprintf
    - PostThreadMessage
    linkageType: ''
    returnType: int
    signature: int display_sync(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:901,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:904,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 908
    functionName: display_page
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - image_find
    - fprintf
    - PostThreadMessage
    linkageType: ''
    returnType: int
    signature: int display_page(void *handle, void *device, int copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 918
    functionName: display_update
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_update(void *handle, void *device,\n    int x, int y,
      int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:929,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:932,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - device
    - size
    argTypes:
    - void*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 937
    functionName: display_memalloc
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *display_memalloc(void *handle, void *device, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:942,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - device
    - mem
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 939
    functionDepth: 0
    functionLinenumber: 939
    functionLinenumberEnd: 947
    functionName: display_memfree
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    linkageType: ''
    returnType: int
    signature: int display_memfree(void *handle, void *device, void *mem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:983,1
    - Dst: _isatty
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:986,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:986,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:987,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:987,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:988,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:988,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:989,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:989,1
    - Dst: GetForegroundWindow
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:991,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:993,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:994,1
    - Dst: _beginthread
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:999,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1000,1
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1005,1
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1008,1
    - Dst: PostThreadMessage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1010,1
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1012,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1015,1
    - Dst: gsapi_set_stdio
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1017,1
    - Dst: gsapi_set_display_callback
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1018,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1024,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1025,1
    - Dst: gsapi_run_string_begin
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1028,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1029,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1030,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1031,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1034,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1038,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1038,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1039,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1044
    functionName: init_gs_display
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - _isatty
    - strlen
    - fprintf
    - _setmode
    - gsapi_delete_instance
    - memset
    - Sleep
    - gsapi_run_string_continue
    - PostThreadMessage
    - printf
    - gsapi_run_string_begin
    - GetForegroundWindow
    - sprintf
    - gsapi_exit
    - fileno
    - gsapi_set_stdio
    - gsapi_init_with_args
    - gsapi_new_instance
    - _beginthread
    - gsapi_set_display_callback
    linkageType: ''
    returnType: int
    signature: int init_gs_display(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1053,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1060,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1064,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1065,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1065,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1066,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1071,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1076
    functionName: update_gs_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - pow
    - sprintf
    - printf
    - strlen
    - gsapi_run_string_continue
    linkageType: ''
    returnType: int
    signature: int update_gs_image()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1085,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1086,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1086,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1087,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1093,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1094,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1094,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1095,1
    - Dst: getch
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1102,1
    - Dst: getchar
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1104,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1107,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1117,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1118,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1118,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1119,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - choice_X
    - choice_Y
    - last
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1124
    functionName: update_gs_dot
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - sprintf
    - printf
    - exit
    - strlen
    - getch
    - getchar
    - gsapi_run_string_continue
    linkageType: ''
    returnType: int
    signature: int update_gs_dot(int choice_X, int choice_Y, int last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_run_string_end
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1131,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1133,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1135
    functionName: close_gs_display
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_stochastic/gen_stochastic.c
    functionUses: 1
    functionsReached:
    - gsapi_delete_instance
    - gsapi_exit
    - gsapi_run_string_end
    linkageType: ''
    returnType: void
    signature: void close_gs_display()
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:72,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:74,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:75,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:92,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:94,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:95,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:98,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:100,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:101,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:105,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:117,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:118,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:182,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:183,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:186,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:189,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:191,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:192,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:197,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:199,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:202,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c:208,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 232
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/thresh_remap/thresh_remap.c
    functionUses: 1
    functionsReached:
    - printf
    - fprintf
    - fopen
    - exit
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: int main( int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:55,1
    - Dst: _vsnprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:56,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - count
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 62
    functionName: snprintf
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 2
    functionsReached:
    - va_start
    - _vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int snprintf(char *buffer, size_t count, const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:69,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:70,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:71,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:72,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:73,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:74,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:75,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:76,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:77,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:78,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:79,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:80,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:81,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:82,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:83,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:84,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:85,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:86,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:87,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:88,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:89,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:90,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:91,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:92,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:94,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:95,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:96,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int usage (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - argc
    - argv
    - pi
    - arg
    argTypes:
    - int
    - char**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 117
    functionName: get_arg
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_arg (int argc, char **argv, int *pi, const char *arg)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: htsc_set_default_params
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:126,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:135,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:137,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:140,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:148,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:162,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:164,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:171,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:173,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:176,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:178,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:182,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:184,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:195,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:197,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:201,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:203,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:206,1
    - Dst: htsc_gen_ordered
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:211,1
    - Dst: htsc_save_screen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:214,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:217,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 220
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 1
    functionsReached:
    - get_arg
    - usage
    - htsc_set_default_params
    - sscanf
    - htsc_gen_ordered
    - htsc_save_screen
    - free
    - atoi
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:233,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:234,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:239,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - final_mask
    argTypes:
    - htsc_dig_grid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: htsc_save_tos
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 0
    functionsReached:
    - fclose
    - fprintf
    - fopen
    linkageType: ''
    returnType: int
    signature: int htsc_save_tos(htsc_dig_grid_t *final_mask)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: htsc_save_tos
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:265,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:268,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:271,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:274,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:277,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:289,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:292,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:300,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:308,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:318,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:321,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:324,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:326,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:328,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:333,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:340,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:343,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:345,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:347,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:348,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c:358,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 4
    argNames:
    - final_mask
    - use_holladay_grid
    - S
    - params
    argTypes:
    - htsc_dig_grid_t*
    - bool
    - int
    - htsc_param_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 361
    functionName: htsc_save_screen
    functionSourceFile: /src/libspectre/ghostscript/toolbin/halftone/gen_ordered/gen_ordered_main.c
    functionUses: 1
    functionsReached:
    - htsc_save_tos
    - fprintf
    - fwrite
    - fopen
    - snprintf
    - ROUND
    - fclose
    linkageType: ''
    returnType: int
    signature: "int htsc_save_screen(htsc_dig_grid_t *final_mask, bool use_holladay_grid,
      int S,\n                htsc_param_t params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(x,y)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 99
    argCount: 4
    argNames:
    - buffer
    - outBuffer
    - length
    - stride
    argTypes:
    - unsigned char*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 178
    functionName: packBits
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int packBits(unsigned char *buffer, unsigned char *outBuffer, int length,
      int stride)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: file_length
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - fstat
    linkageType: ''
    returnType: off_t
    signature: off_t file_length(int file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Image*::get_scan_line
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:198,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:200,1
    - Dst: Image*::get_scan_line
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:201,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:228,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - image
    - buf
    argTypes:
    - Image*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 230
    functionName: image_get_rgb_scan_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - Image*::get_scan_line
    linkageType: ''
    returnType: int
    signature: int image_get_rgb_scan_line (Image *image, uchar *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_get_rgb_scan_line
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:234,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - image
    - buf
    - image_index
    - row_index
    - rcode
    argTypes:
    - Image*
    - uchar*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 241
    functionName: image_get_rgb_scan_line_with_error
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - printf
    - image_get_rgb_scan_line
    linkageType: ''
    returnType: int
    signature: int image_get_rgb_scan_line_with_error (Image *image, uchar *buf, int
      image_index, int row_index, int *rcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Image*::close
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: image_close
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 2
    functionsReached:
    - Image*::close
    linkageType: ''
    returnType: int
    signature: int image_close (Image *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - y
    argTypes:
    - Image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: no_seek
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_seek(Image *self, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - out_buf
    - out_buffer_size
    argTypes:
    - Image*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: write
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 12
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int write(Image *self, uchar *out_buf, int out_buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:275,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 278
    functionName: image_pnm_close
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: int
    signature: int image_pnm_close (Image *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:283,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:284,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:287,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - templ
    - path
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: create_pnm_image_struct
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - malloc
    - printf
    - fopen
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      create_pnm_image_struct(Image *templ, const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_pnm_image_struct
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:306,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:311,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:312,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:313,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - templ
    - path
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 316
    functionName: create_pnm_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - create_pnm_image_struct
    - fprintf
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      create_pnm_image(Image *templ, const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:323,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 324
    functionName: image_pnm_feof
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - ftell
    - feof
    linkageType: ''
    returnType: int
    signature: int image_pnm_feof (Image *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - short
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: write_int16
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write_int16(short v, FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - v
    - f
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: write_int32
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write_int32(int v, FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - y
    argTypes:
    - Image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: seek_bmp_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int seek_bmp_image(Image *self, int y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_pnm_image_struct
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:362,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:371,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:372,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:373,1
    - Dst: write_int16
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:374,1
    - Dst: write_int16
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:375,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:376,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:379,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:380,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:381,1
    - Dst: write_int16
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:382,1
    - Dst: write_int16
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:383,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:384,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:385,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:386,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:387,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:388,1
    - Dst: write_int32
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:389,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:394,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:396,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:400,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:403,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:405,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - templ
    - path
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 410
    functionName: create_bmp_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - write_int16
    - create_pnm_image_struct
    - printf
    - fputc
    - malloc
    - free
    - write_int32
    - memset
    - fwrite
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      create_bmp_image(Image *templ, const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: packBits
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:420,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - self
    - out_buf
    - out_buffer_size
    argTypes:
    - Image*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 426
    functionName: compressedWrite
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - packBits
    - fwrite
    linkageType: ''
    returnType: int
    signature: int compressedWrite(Image *self, uchar *out_buf, int out_buffer_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:431,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:432,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:435,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - templ
    - path
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 449
    functionName: create_raw_image_struct
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - malloc
    - printf
    - fopen
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      create_raw_image_struct(Image *templ, const char *path)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:452,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - stream
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 454
    functionName: writeInt
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: int
    signature: int writeInt(int i, FILE *stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_raw_image_struct
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:460,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:465,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:466,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:467,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:468,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:469,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:470,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:471,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:472,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:473,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:474,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:475,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:476,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:477,1
    - Dst: writeInt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - templ
    - path
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 480
    functionName: create_raw_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - create_raw_image_struct
    - writeInt
    - fwrite
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      create_raw_image(Image *templ, const char *path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - self
    - buf
    argTypes:
    - Image*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: image_pnm_get_scan_line
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: int
    signature: int image_pnm_get_scan_line (Image *self, uchar *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:506,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:509,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:512,1
    - Dst: file_length
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:514,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 516
    functionName: alloc_pnm_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - printf
    - fileno
    - malloc
    - file_length
    - fopen
    linkageType: ''
    returnType: ImagePnm
    signature: 'ImagePnm *

      alloc_pnm_image (const char *fn)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:526,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:549,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:553,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:557,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:561,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - image
    argTypes:
    - ImagePnm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 571
    functionName: open_pnm_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - sscanf
    - fgets
    linkageType: ''
    returnType: int
    signature: int open_pnm_image (ImagePnm *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_pnm_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fn
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 573
    functionDepth: 2
    functionLinenumber: 573
    functionLinenumberEnd: 587
    functionName: alloc_image_file
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - alloc_pnm_image
    linkageType: ''
    returnType: Image
    signature: 'Image *

      alloc_image_file (const char *fn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open_pnm_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 596
    functionName: open_image
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - open_pnm_image
    linkageType: ''
    returnType: int
    signature: int open_image (Image *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:601,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 607
    functionName: alloc_window
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: uchar
    signature: 'uchar **

      alloc_window (int row_bytes, int window_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:615,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - window_size
    argTypes:
    - uchar**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: free_window
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_window (uchar **buf, int window_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - window_size
    argTypes:
    - uchar**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 632
    functionName: roll_window
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void roll_window (uchar **buf, int window_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:658,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:659,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:660,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:662,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:663,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:664,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 11
    argCount: 7
    argNames:
    - buf1
    - buf2
    - fparams
    - x
    - y
    - width
    - height
    argTypes:
    - uchar**
    - uchar**
    - FuzzyParams*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 669
    functionName: check_window
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: bool
    signature: "bool check_window (uchar **buf1, uchar **buf2,\n              const
      FuzzyParams *fparams,\n              int x, int y, int width, int height)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:677,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:678,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:679,1
    - Dst: alloc_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:685,1
    - Dst: alloc_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:686,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:696,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:698,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:702,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:704,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:706,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:711,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:712,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:719,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:720,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:734,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:736,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:740,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:742,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:759,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:771,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:772,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:773,1
    - Dst: check_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:776,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:779,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:780,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:781,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:784,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:790,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:794,1
    - Dst: roll_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:802,1
    - Dst: roll_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:803,1
    - Dst: ImagePnm*::super::seek
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:805,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:807,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:808,1
    - Dst: ImagePnm*::super::write
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:811,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:814,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:815,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:823,1
    - Dst: image_get_rgb_scan_line_with_error
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:827,1
    - Dst: free_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:832,1
    - Dst: free_window
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:833,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:835,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 110
    argCount: 5
    argNames:
    - image1
    - image2
    - fparams
    - freport
    - image_out
    argTypes:
    - Image*
    - Image*
    - FuzzyParams*
    - FuzzyReport*
    - ImagePnm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 673
    functionDepth: 3
    functionLinenumber: 673
    functionLinenumberEnd: 837
    functionName: fuzzy_diff_images
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 0
    functionsReached:
    - sqrt
    - alloc_window
    - check_window
    - MAX
    - printf
    - abs
    - ImagePnm*::super::write
    - MIN
    - roll_window
    - malloc
    - free
    - memcpy
    - memset
    - ImagePnm*::super::seek
    - memcmp
    - image_get_rgb_scan_line_with_error
    - free_window
    linkageType: ''
    returnType: int
    signature: "int fuzzy_diff_images (Image *image1, Image *image2, const FuzzyParams
      *fparams,\n                   FuzzyReport *freport, ImagePnm *image_out)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - argc
    - argv
    - pi
    - arg
    argTypes:
    - int
    - char**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 852
    functionName: get_arg
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_arg (int argc, char **argv, int *pi, const char *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 859
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: int
    signature: int usage (void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:886,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:886,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:889,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:894,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:894,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:900,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:906,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:910,1
    - Dst: alloc_image_file
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:912,1
    - Dst: alloc_image_file
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:916,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:919,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:924,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:924,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:926,1
    - Dst: Image*::feof_
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:931,1
    - Dst: feof_
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:931,1
    - Dst: Image*::feof_
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:933,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:935,1
    - Dst: feof_
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:938,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:940,1
    - Dst: open_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:943,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:945,1
    - Dst: open_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:949,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:951,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:955,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:956,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:961,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:962,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:965,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:967,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:975,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:977,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:980,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:981,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:981,1
    - Dst: create_bmp_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:982,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:983,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:983,1
    - Dst: create_raw_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:984,1
    - Dst: create_pnm_image
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:986,1
    - Dst: fuzzy_diff_images
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:995,1
    - Dst: image_pnm_close
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:998,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:1002,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:1006,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:1009,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:1012,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c:1013,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 113
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 861
    functionDepth: 4
    functionLinenumber: 861
    functionLinenumberEnd: 1015
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/toolbin/tests/fuzzy.c
    functionUses: 1
    functionsReached:
    - get_arg
    - MAX
    - strlen
    - memmove
    - create_bmp_image
    - create_raw_image
    - fuzzy_diff_images
    - Image*::feof_
    - alloc_image_file
    - open_image
    - usage
    - feof_
    - image_pnm_close
    - strcmp
    - printf
    - malloc
    - sprintf
    - strcpy
    - image_close
    - atoi
    - create_pnm_image
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: ROUND
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: get_padding
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_padding(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:112,1
    - Dst: char::char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:113,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: wchar_t_to_char
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - char::char
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char * wchar_t_to_char(wchar_t *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:125,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:126,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:127,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:128,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - filename
    - buffer_size
    argTypes:
    - unsigned char*
    - TCHAR[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: save_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - wchar_t_to_char
    - free
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void save_profile(unsigned char *buffer, TCHAR filename[], int buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - input
    argTypes:
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: swapbytes32
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong swapbytes32(ulong input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - curr_ptr
    - input
    argTypes:
    - unsigned char*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 158
    functionName: write_bigendian_4bytes
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_bigendian_4bytes(unsigned char *curr_ptr,ulong input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - curr_ptr
    - input
    argTypes:
    - unsigned char*
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 170
    functionName: write_bigendian_2bytes
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_bigendian_2bytes(unsigned char *curr_ptr,ushort input)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:181,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:184,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - input_ptr
    - number_of_curves
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: add_ident_curves
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_ident_curves(unsigned char *input_ptr,int number_of_curves)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:202,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:206,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:209,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:212,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:216,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - input_ptr
    - clut
    argTypes:
    - unsigned char*
    - gsicc_clut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 224
    functionName: add_clutAtoB
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_clutAtoB(unsigned char *input_ptr, gsicc_clut *clut)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 246
    functionName: double2icS15Fixed16Number
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: icS15Fixed16Number
    signature: icS15Fixed16Number double2icS15Fixed16Number(float number_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:258,1
    - Dst: double2icS15Fixed16Number
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:258,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - input_ptr
    - float_ptr_in
    - has_bias
    argTypes:
    - unsigned char*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: add_matrixwithbias
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - double2icS15Fixed16Number
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_matrixwithbias(unsigned char *input_ptr, float *float_ptr_in,
      bool has_bias)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - icDateTimeNumber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: setdatetime
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setdatetime(icDateTimeNumber *datetime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: double2XYZtype
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: icS15Fixed16Number
    signature: icS15Fixed16Number double2XYZtype(float number_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 301
    functionName: lstar2_16bit
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short lstar2_16bit(float number_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: abstar2_16bit
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short abstar2_16bit(float number_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: float2u8Fixed8
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short float2u8Fixed8(float number_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:342,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:345,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:353,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:354,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - tag_list
    - num_tags
    - last_tag
    - desc_name
    argTypes:
    - gsicc_tag[]
    - int
    - int*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 357
    functionName: init_common_tags
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - get_padding
    linkageType: ''
    returnType: void
    signature: void init_common_tags(gsicc_tag tag_list[],int num_tags, int *last_tag,
      const char desc_name[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:366,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:368,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:370,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:371,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:373,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:375,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: add_desc_tag
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - memcpy
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_desc_tag(unsigned char *buffer,const char text[], gsicc_tag
      tag_list[], int curr_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:387,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:389,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:391,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:392,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:394,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: add_text_tag
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - memcpy
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_text_tag(unsigned char *buffer,const char text[], gsicc_tag
      tag_list[], int curr_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:408,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:410,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:412,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:414,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:416,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:418,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:420,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:420,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:422,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 429
    functionName: add_v4_text_tag
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - strlen
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_v4_text_tag(unsigned char *buffer,const char text[], gsicc_tag
      tag_list[], int curr_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_v4_text_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:438,1
    - Dst: add_v4_text_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - tag_list
    - desc_name
    argTypes:
    - unsigned char*
    - gsicc_tag[]
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: add_common_tag_data
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - add_v4_text_tag
    linkageType: ''
    returnType: void
    signature: void add_common_tag_data(unsigned char *buffer,gsicc_tag tag_list[],
      const char desc_name[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tag_list
    - last_tag
    - tagsig
    - datasize
    argTypes:
    - gsicc_tag[]
    - int*
    - icTagSignature
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: init_tag
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - get_padding
    linkageType: ''
    returnType: void
    signature: void init_tag(gsicc_tag tag_list[], int *last_tag, icTagSignature tagsig,
      int datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setdatetime
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:463,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:472,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:473,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:474,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - header
    argTypes:
    - icHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 478
    functionName: setheader_common
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - double2XYZtype
    - memset
    - setdatetime
    linkageType: ''
    returnType: void
    signature: void setheader_common(icHeader *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:487,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:489,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:491,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:493,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:495,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:497,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:500,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:502,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:504,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:506,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:508,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:510,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:512,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - buffer
    - header
    argTypes:
    - unsigned char*
    - icHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 515
    functionName: copy_header
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void copy_header(unsigned char *buffer,icHeader *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:524,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:527,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:529,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - tag_list
    - num_tags
    argTypes:
    - unsigned char*
    - gsicc_tag*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 534
    functionName: copy_tagtable
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void copy_tagtable(unsigned char *buffer,gsicc_tag *tag_list, ulong
      num_tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:539,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:540,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - XYZ
    - vector
    argTypes:
    - icS15Fixed16Number[]
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: get_XYZ_floatptr
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_XYZ_floatptr(icS15Fixed16Number XYZ[], float *vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - matrix_fixed
    - matrix
    argTypes:
    - icS15Fixed16Number[]
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: get_matrix_floatptr
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_matrix_floatptr(icS15Fixed16Number matrix_fixed[], float *matrix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - input_ptr
    - matrix_fixed
    argTypes:
    - unsigned char*
    - icS15Fixed16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 566
    functionName: add_matrixdata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_matrixdata(unsigned char *input_ptr, icS15Fixed16Number matrix_fixed[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:577,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:580,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:583,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - input_ptr
    - curve_data
    - num_samples
    argTypes:
    - unsigned char*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 594
    functionName: add_curve
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_curve(unsigned char *input_ptr, float *curve_data, int num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:604,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:606,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:609,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:612,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - input_ptr
    - gamma
    - curveType
    argTypes:
    - unsigned char*
    - unsigned short
    - icTagTypeSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 616
    functionName: add_gammadata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: "void add_gammadata(unsigned char *input_ptr, unsigned short gamma,\n
      \             icTagTypeSignature curveType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:627,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:629,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - input_ptr
    - temp_XYZ
    argTypes:
    - unsigned char*
    - icS15Fixed16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 635
    functionName: add_xyzdata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_xyzdata(unsigned char *input_ptr, icS15Fixed16Number temp_XYZ[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:646,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:649,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:650,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:652,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:653,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:655,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - input_ptr
    - cielab
    - num_colors
    - num_samples
    argTypes:
    - unsigned char*
    - cielab_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 659
    functionName: add_clut_labdata_16bit
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - abstar2_16bit
    - pow
    - write_bigendian_2bytes
    - lstar2_16bit
    linkageType: ''
    returnType: void
    signature: void add_clut_labdata_16bit(unsigned char *input_ptr, cielab_t *cielab,
      int num_colors, int num_samples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:672,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:675,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:678,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:686,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:688,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:696,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:697,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:699,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:700,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:702,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 5
    argNames:
    - input_ptr
    - colorant_names
    - num_colors
    - cielab
    - num_samples
    argTypes:
    - unsigned char*
    - colornames_t*
    - int
    - cielab_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 706
    functionName: add_colorantdata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - write_bigendian_2bytes
    - lstar2_16bit
    - memset
    - memcpy
    - abstar2_16bit
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_colorantdata(unsigned char *input_ptr, colornames_t *colorant_names,
      int num_colors,  cielab_t *cielab, int num_samples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:719,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:722,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:725,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:728,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:732,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:735,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:743,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:745,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:753,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:754,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:756,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:757,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:759,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 5
    argNames:
    - input_ptr
    - colorant_names
    - num_colors
    - cielab
    - num_samples
    argTypes:
    - unsigned char*
    - colornames_t*
    - int
    - cielab_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 763
    functionName: add_namesdata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - write_bigendian_2bytes
    - lstar2_16bit
    - memset
    - memcpy
    - abstar2_16bit
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_namesdata(unsigned char *input_ptr, colornames_t *colorant_names,
      int num_colors,  cielab_t *cielab, int num_samples)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:799,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:802,1
    - Dst: get_matrix_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:812,1
    - Dst: get_matrix_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:814,1
    - Dst: get_matrix_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:817,1
    - Dst: add_matrixdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:819,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:823,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:825,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:832,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:839,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:843,1
    - Dst: add_clut_labdata_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:848,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:849,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:856,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 12
    argNames:
    - input_ptr
    - table_data
    - num_colors
    - num_samples
    - is_link
    - numout
    - pcs_is_xyz_btoa
    - numin_LUT_entries
    - in_LUTs
    - numout_LUT_entries
    - out_LUTs
    - use_Y_only
    argTypes:
    - unsigned char*
    - void*
    - int
    - int
    - int
    - int
    - bool
    - int
    - void*
    - int
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 861
    functionName: add_tabledata_withcurves
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - write_bigendian_2bytes
    - add_matrixdata
    - memset
    - add_clut_labdata_16bit
    - write_bigendian_4bytes
    - get_matrix_floatptr
    linkageType: ''
    returnType: void
    signature: "void add_tabledata_withcurves(unsigned char *input_ptr, void *table_data,
      int num_colors,\n              int num_samples, int is_link, int numout, bool
      pcs_is_xyz_btoa,\n              int numin_LUT_entries, void *in_LUTs, int numout_LUT_entries,\n
      \             void *out_LUTs, bool use_Y_only)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:892,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:895,1
    - Dst: get_matrix_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:904,1
    - Dst: get_matrix_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:906,1
    - Dst: add_matrixdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:908,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:912,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:914,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:919,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:921,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:926,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:930,1
    - Dst: add_clut_labdata_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:935,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:936,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:941,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:943,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 7
    argNames:
    - input_ptr
    - table_data
    - num_colors
    - num_samples
    - is_link
    - numout
    - pcs_is_xyz_btoa
    argTypes:
    - unsigned char*
    - void*
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 863
    functionDepth: 2
    functionLinenumber: 863
    functionLinenumberEnd: 946
    functionName: add_tabledata
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - write_bigendian_2bytes
    - add_matrixdata
    - memset
    - add_clut_labdata_16bit
    - write_bigendian_4bytes
    - get_matrix_floatptr
    linkageType: ''
    returnType: void
    signature: "void add_tabledata(unsigned char *input_ptr, void *table_data, int
      num_colors,\n              int num_samples, int is_link, int numout, bool pcs_is_xyz_btoa
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - xyz
    - lab
    argTypes:
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 979
    functionName: lab2xyz
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void lab2xyz(float xyz[], float lab[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:991,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:998,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1003,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - xyz_value
    - lab_value
    argTypes:
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1009
    functionName: xyz2lab
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: void
    signature: void xyz2lab(float xyz_value[], float lab_value[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - g
    - b
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1027
    functionName: color_rgb_to_gray
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float color_rgb_to_gray(float r, float g, float b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - c
    - m
    - y
    - k
    argTypes:
    - float
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1036
    functionName: color_cmyk_to_gray
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - color_rgb_to_gray
    linkageType: ''
    returnType: float
    signature: float color_cmyk_to_gray(float c, float m, float y, float k)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 6
    argNames:
    - c
    - m
    - y
    - k
    - rgb
    - cpsi_mode
    argTypes:
    - float
    - float
    - float
    - float
    - float[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1065
    functionName: color_cmyk_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void color_cmyk_to_rgb(float c, float m, float y, float k, float rgb[3],
      bool cpsi_mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1094,1
    - Dst: min
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1094,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1097,1
    - Dst: min
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1116,1
    - Dst: max
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - r
    - g
    - b
    - cmyk
    - ucr_data
    - cpsi_mode
    argTypes:
    - float
    - float
    - float
    - float[]
    - ucrbg_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1128
    functionName: color_rgb_to_cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - min
    - ROUND
    - max
    linkageType: ''
    returnType: void
    signature: void color_rgb_to_cmyk(float r, float g, float b, float cmyk[4], ucrbg_t
      *ucr_data, bool cpsi_mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - lum
    - cmyk
    - effect_data
    argTypes:
    - float
    - float[]
    - ucrbg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1150
    functionName: luminance_to_cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - ROUND
    linkageType: ''
    returnType: void
    signature: void luminance_to_cmyk(float lum, float cmyk[4], ucrbg_t *effect_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_gray
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1171,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1152
    functionDepth: 0
    functionLinenumber: 1152
    functionLinenumberEnd: 1182
    functionName: create_cmyk2gray
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - color_cmyk_to_gray
    - ROUND
    linkageType: ''
    returnType: void
    signature: void create_cmyk2gray(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1191
    functionName: create_cmyk2rgb
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_cmyk2rgb(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1200
    functionName: create_rgb2gray
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_rgb2gray(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1209
    functionName: create_rgb2cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_rgb2cmyk(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1218
    functionName: create_gray2cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_gray2cmyk(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - table_data
    - mlut_size
    - num_samples
    argTypes:
    - unsigned short*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1227
    functionName: create_gray2rgb
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void create_gray2rgb(unsigned short *table_data, int mlut_size, int
      num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1252,1
    - Dst: xyz2lab
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1259,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1261,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1262,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1265,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1266,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1269,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 4
    argNames:
    - table_data
    - mlut_size
    - num_samples
    - cpsi_mode
    argTypes:
    - unsigned short*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1276
    functionName: create_cmyk2lab
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - write_bigendian_2bytes
    - lstar2_16bit
    - abstar2_16bit
    - color_cmyk_to_rgb
    - xyz2lab
    linkageType: ''
    returnType: void
    signature: void create_cmyk2lab(unsigned short *table_data, int mlut_size, int
      num_samples, bool cpsi_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - table_data
    - mlut_size
    - num_samples
    - cpsi_mode
    argTypes:
    - unsigned short*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1322
    functionName: create_cmyk2xyz
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void create_cmyk2xyz(unsigned short *table_data, int mlut_size, int
      num_samples, bool cpsi_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1350,1
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1356,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1362,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - table_data
    - mlut_size
    - num_samples
    - ucr_data
    - cpsi_mode
    argTypes:
    - unsigned short*
    - int
    - int
    - ucrbg_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1367
    functionName: create_xyz2cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - color_rgb_to_cmyk
    - ROUND
    - color_rgb_to_gray
    linkageType: ''
    returnType: void
    signature: void create_xyz2cmyk(unsigned short *table_data, int mlut_size, int
      num_samples, ucrbg_t *ucr_data, bool cpsi_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - table_data
    - num_samples
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1392
    functionName: create_xyz2gray_special
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - ROUND
    linkageType: ''
    returnType: void
    signature: void create_xyz2gray_special(unsigned short *table_data, int num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1406,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - table_data
    - num_samples
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1396
    functionDepth: 1
    functionLinenumber: 1396
    functionLinenumberEnd: 1412
    functionName: create_gray2lab_special
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - abstar2_16bit
    - lstar2_16bit
    linkageType: ''
    returnType: void
    signature: void create_gray2lab_special(unsigned short *table_data, int num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xyz2lab
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1444,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1447,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - table_data
    - num_samples
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1455
    functionName: create_rgb2lab_special
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - abstar2_16bit
    - xyz2lab
    - lstar2_16bit
    linkageType: ''
    returnType: void
    signature: void create_rgb2lab_special(unsigned short *table_data, int num_samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1484,1
    - Dst: xyz2lab
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1490,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1493,1
    - Dst: abstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - table_data
    - num_samples
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1461
    functionDepth: 1
    functionLinenumber: 1461
    functionLinenumberEnd: 1502
    functionName: create_cmyk2lab_special
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - abstar2_16bit
    - xyz2lab
    - lstar2_16bit
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void create_cmyk2lab_special(unsigned short *table_data, int num_samples)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lab2xyz
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1523,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1527,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - table_data
    - num_samples
    argTypes:
    - unsigned short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1504
    functionDepth: 1
    functionLinenumber: 1504
    functionLinenumberEnd: 1531
    functionName: create_lab2gray_special
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - lab2xyz
    - ROUND
    linkageType: ''
    returnType: void
    signature: void create_lab2gray_special(unsigned short *table_data, int num_samples)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lab2xyz
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1555,1
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1561,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 5
    argNames:
    - table_data
    - mlut_size
    - num_samples
    - ucr_data
    - cpsi_mode
    argTypes:
    - unsigned short*
    - int
    - int
    - ucrbg_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1571
    functionName: create_lab2cmyk
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - lab2xyz
    - color_rgb_to_cmyk
    - ROUND
    linkageType: ''
    returnType: void
    signature: void create_lab2cmyk(unsigned short *table_data, int mlut_size, int
      num_samples, ucrbg_t *ucr_data, bool cpsi_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: luminance_to_cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1600,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - table_data
    - mlut_size
    - num_samples
    - effect_data
    argTypes:
    - unsigned short*
    - int
    - int
    - ucrbg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1573
    functionDepth: 1
    functionLinenumber: 1573
    functionLinenumberEnd: 1610
    functionName: create_xyz2cmyk_effect
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - luminance_to_cmyk
    - ROUND
    linkageType: ''
    returnType: void
    signature: void create_xyz2cmyk_effect(unsigned short *table_data, int mlut_size,
      int num_samples, ucrbg_t *effect_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1638,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1644,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1650,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1652,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1654,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1655,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1657,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1659,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1661,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1663,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1668,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1673,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1676,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1683,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1685,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1692,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1693,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1696,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1697,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1701,1
    - Dst: create_cmyk2xyz
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1702,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1703,1
    - Dst: create_xyz2cmyk_effect
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1704,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1706,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1710,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 3
    argNames:
    - FileName
    - effect_data
    - desc_ptr
    argTypes:
    - TCHAR[]
    - ucrbg_t*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1614
    functionDepth: 3
    functionLinenumber: 1614
    functionLinenumberEnd: 1714
    functionName: create_effect_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - save_profile
    - copy_header
    - create_cmyk2xyz
    - malloc
    - copy_tagtable
    - add_xyzdata
    - add_tabledata
    - setheader_common
    - create_xyz2cmyk_effect
    - get_XYZ_floatptr
    linkageType: ''
    returnType: int
    signature: int create_effect_profile(TCHAR FileName[], ucrbg_t *effect_data, char
      desc_ptr[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1740,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1750,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1755,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1756,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1757,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1759,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1761,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1763,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1765,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1770,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1775,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1778,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1784,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1790,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1791,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1794,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1795,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1799,1
    - Dst: create_cmyk2lab
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1801,1
    - Dst: create_cmyk2xyz
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1803,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1805,1
    - Dst: create_lab2cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1807,1
    - Dst: create_xyz2cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1809,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1812,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1816,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 4
    argNames:
    - FileName
    - pcs_islab
    - cpsi_mode
    - ucr_data
    argTypes:
    - TCHAR[]
    - bool
    - bool
    - ucrbg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1716
    functionDepth: 3
    functionLinenumber: 1716
    functionLinenumberEnd: 1820
    functionName: create_pscmyk_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - save_profile
    - create_xyz2cmyk
    - copy_header
    - create_lab2cmyk
    - create_cmyk2lab
    - malloc
    - copy_tagtable
    - add_xyzdata
    - create_cmyk2xyz
    - add_tabledata
    - setheader_common
    - get_XYZ_floatptr
    linkageType: ''
    returnType: int
    signature: int create_pscmyk_profile(TCHAR FileName[], bool pcs_islab, bool cpsi_mode,
      ucrbg_t *ucr_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1844,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1850,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1855,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1856,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1857,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1859,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1864,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1869,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1872,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1878,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1884,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1885,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1888,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1889,1
    - Dst: float2u8Fixed8
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1893,1
    - Dst: add_gammadata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1894,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 1
    argNames:
    - FileName
    argTypes:
    - TCHAR[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1900
    functionName: create_psgray_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - save_profile
    - copy_header
    - malloc
    - copy_tagtable
    - add_xyzdata
    - setheader_common
    - float2u8Fixed8
    - get_XYZ_floatptr
    - add_gammadata
    linkageType: ''
    returnType: int
    signature: int create_psgray_profile(TCHAR FileName[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1928,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1930,1
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1939,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1945,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1950,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1951,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1952,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1955,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1958,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1963,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1968,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1971,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1977,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1983,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1984,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1987,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1988,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1992,1
    - Dst: create_lab2gray_special
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1994,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1996,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:1998,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2000,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2002,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2004,1
    - Dst: add_tabledata_withcurves
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2009,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2014,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2015,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2016,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2017,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 68
    argCount: 2
    argNames:
    - FileName
    - threshhold
    argTypes:
    - TCHAR[]
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1903
    functionDepth: 3
    functionLinenumber: 1903
    functionLinenumberEnd: 2020
    functionName: create_gray_threshold_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - create_lab2gray_special
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - add_tabledata_withcurves
    - save_profile
    - copy_header
    - malloc
    - copy_tagtable
    - add_xyzdata
    - memset
    - memcpy
    - free
    - setheader_common
    - get_XYZ_floatptr
    linkageType: ''
    returnType: int
    signature: int create_gray_threshold_profile(TCHAR FileName[], float threshhold)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2051,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2069,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2069,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2069,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2070,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2071,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2074,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2076,1
    - Dst: lstar2_16bit
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2080,1
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2086,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2092,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2097,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2098,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2099,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2102,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2105,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2110,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2115,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2118,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2124,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2130,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2131,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2134,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2135,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2139,1
    - Dst: create_gray2lab_special
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2145,1
    - Dst: create_rgb2lab_special
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2148,1
    - Dst: create_cmyk2lab_special
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2151,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2157,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2158,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2164,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2172,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2174,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2180,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2184,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2189,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2191,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2193,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2195,1
    - Dst: add_tabledata_withcurves
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2198,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2204,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2205,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2206,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2207,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2208,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2209,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2210,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 118
    argCount: 3
    argNames:
    - FileName
    - threshhold
    - num_colors
    argTypes:
    - TCHAR[]
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2212
    functionName: create_input_threshold_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - create_gray2lab_special
    - strlen
    - copy_header
    - ROUND
    - add_common_tag_data
    - add_tabledata_withcurves
    - copy_tagtable
    - add_xyzdata
    - memset
    - setheader_common
    - pow
    - init_common_tags
    - malloc
    - free
    - get_XYZ_floatptr
    - strcat
    - init_tag
    - sprintf
    - create_cmyk2lab_special
    - save_profile
    - lstar2_16bit
    - strcpy
    - create_rgb2lab_special
    - memcpy
    linkageType: ''
    returnType: int
    signature: int create_input_threshold_profile(TCHAR FileName[], float threshhold,
      int num_colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2240,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2246,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2251,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2252,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2253,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2254,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2255,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2256,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2260,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2266,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2270,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2273,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2278,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2285,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2286,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2291,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2292,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2295,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2296,1
    - Dst: float2u8Fixed8
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2301,1
    - Dst: add_gammadata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2302,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 1
    argNames:
    - FileName
    argTypes:
    - TCHAR[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2215
    functionDepth: 1
    functionLinenumber: 2215
    functionLinenumberEnd: 2309
    functionName: create_psrgb_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - save_profile
    - copy_header
    - malloc
    - copy_tagtable
    - add_xyzdata
    - setheader_common
    - float2u8Fixed8
    - get_XYZ_floatptr
    - add_gammadata
    linkageType: ''
    returnType: int
    signature: int create_psrgb_profile(TCHAR FileName[])
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2334,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2376,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2381,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2383,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2385,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2389,1
    - Dst: create_cmyk2gray
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2393,1
    - Dst: create_cmyk2rgb
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2396,1
    - Dst: create_gray2rgb
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2399,1
    - Dst: create_gray2cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2402,1
    - Dst: create_rgb2gray
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2405,1
    - Dst: create_rgb2cmyk
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2408,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2413,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2417,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2420,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2425,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2431,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2433,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 91
    argCount: 2
    argNames:
    - FileName
    - link_type
    argTypes:
    - TCHAR[]
    - link_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2311
    functionDepth: 3
    functionLinenumber: 2311
    functionLinenumberEnd: 2435
    functionName: create_devicelink_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - save_profile
    - create_cmyk2gray
    - create_gray2cmyk
    - create_rgb2cmyk
    - copy_header
    - malloc
    - copy_tagtable
    - add_tabledata
    - setheader_common
    - create_cmyk2rgb
    - create_rgb2gray
    - create_gray2rgb
    linkageType: ''
    returnType: int
    signature: int create_devicelink_profile(TCHAR FileName[],link_t link_type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2460,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2509,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2514,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2515,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2516,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2522,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2524,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2526,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2531,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2535,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2538,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2543,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2549,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2550,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2553,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2554,1
    - Dst: add_colorantdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2562,1
    - Dst: add_tabledata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2566,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2568,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 92
    argCount: 5
    argNames:
    - cielab
    - colorant_names
    - num_colors
    - num_samples
    - FileName
    argTypes:
    - cielab_t*
    - colornames_t*
    - int
    - int
    - TCHAR[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2438
    functionDepth: 3
    functionLinenumber: 2438
    functionLinenumberEnd: 2571
    functionName: create_devicen_profile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - pow
    - init_tag
    - add_common_tag_data
    - add_colorantdata
    - init_common_tags
    - save_profile
    - copy_header
    - malloc
    - copy_tagtable
    - add_xyzdata
    - add_tabledata
    - setheader_common
    - get_XYZ_floatptr
    linkageType: ''
    returnType: int
    signature: int create_devicen_profile(cielab_t *cielab, colornames_t *colorant_names,
      int num_colors, int num_samples, TCHAR FileName[])
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - lutatobparts
    argTypes:
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2614
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2614
    functionName: getsize_lutAtoBtype
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getsize_lutAtoBtype(gsicc_lutatob *lutatobparts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2640,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2643,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2648,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2655,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2658,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2664,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2666,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2668,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2674,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2677,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2684,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2686,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2688,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2697,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2700,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2710,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2714,1
    - Dst: add_matrixwithbias
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2719,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2724,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2728,1
    - Dst: add_clutAtoB
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2734,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2736,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2741,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2746,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 92
    argCount: 2
    argNames:
    - input_ptr
    - lutatobparts
    argTypes:
    - unsigned char*
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2751
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2751
    functionName: add_lutAtoBtype
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - add_ident_curves
    - add_curve
    - memset
    - add_matrixwithbias
    - add_clutAtoB
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_lutAtoBtype(unsigned char *input_ptr, gsicc_lutatob *lutatobparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2766,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2772,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2774,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2775,1
    - Dst: getsize_lutAtoBtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2779,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2780,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2787,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2791,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2794,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2799,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2806,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2807,1
    - Dst: get_XYZ_floatptr
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2810,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2811,1
    - Dst: add_lutAtoBtype
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2816,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp:2818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 38
    argCount: 4
    argNames:
    - pp_buffer_in
    - header
    - lutatobparts
    - desc_name
    argTypes:
    - unsigned char**
    - icHeader*
    - gsicc_lutatob*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2819
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2819
    functionName: create_lutAtoBprofile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/icc_create.cpp
    functionUses: 0
    functionsReached:
    - init_tag
    - add_common_tag_data
    - init_common_tags
    - add_lutAtoBtype
    - copy_header
    - malloc
    - copy_tagtable
    - add_xyzdata
    - free
    - getsize_lutAtoBtype
    - get_XYZ_floatptr
    linkageType: ''
    returnType: void
    signature: "void create_lutAtoBprofile(unsigned char **pp_buffer_in, icHeader
      *header,\n                      gsicc_lutatob *lutatobparts, char *desc_name
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: CAboutDlg::CAboutDlg
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CAboutDlg::CAboutDlg()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAboutDlg::DoDataExchange
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pDX
    argTypes:
    - CDataExchange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: CAboutDlg::DoDataExchange
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - CAboutDlg::DoDataExchange
    linkageType: ''
    returnType: void
    signature: void CAboutDlg::DoDataExchange(CDataExchange* pDX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:54,1
    - Dst: AfxGetApp
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pParent
    argTypes:
    - CWnd*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    functionName: CICC_CreatorDlg::CICC_CreatorDlg
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - AfxGetApp
    - _T
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::CICC_CreatorDlg(CWnd* pParent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CAboutDlg::DoDataExchange
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:61,1
    - Dst: DDX_Control
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:62,1
    - Dst: DDX_Control
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:63,1
    - Dst: DDX_Text
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:64,1
    - Dst: DDX_Control
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pDX
    argTypes:
    - CDataExchange*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 66
    functionName: CICC_CreatorDlg::DoDataExchange
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - DDX_Text
    - CAboutDlg::DoDataExchange
    - DDX_Control
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::DoDataExchange(CDataExchange* pDX)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:90,1
    - Dst: char::char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:91,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: wchar_t_to_char
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - char::char
    - WideCharToMultiByte
    linkageType: ''
    returnType: char
    signature: char * wchar_t_to_char(wchar_t *text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CICC_CreatorDlg::OnInitDialog
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:98,1
    - Dst: ASSERT
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:99,1
    - Dst: ASSERT
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:100,1
    - Dst: GetSystemMenu
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:102,1
    - Dst: CString::LoadString
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:106,1
    - Dst: CString::IsEmpty
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:107,1
    - Dst: CMenu*::AppendMenu
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:109,1
    - Dst: CMenu*::AppendMenu
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:110,1
    - Dst: SetIcon
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:113,1
    - Dst: SetIcon
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:114,1
    - Dst: SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:123,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:123,1
    - Dst: Preallocate
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:126,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:127,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:127,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:128,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 131
    functionName: CICC_CreatorDlg::OnInitDialog
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - CString::LoadString
    - ASSERT
    - _T
    - Preallocate
    - CMenu*::AppendMenu
    - CString::IsEmpty
    - CICC_CreatorDlg::OnInitDialog
    - SetDlgItemText
    - SetWindowText
    - SetIcon
    - GetSystemMenu
    linkageType: ''
    returnType: BOOL
    signature: BOOL CICC_CreatorDlg::OnInitDialog()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CAboutDlg::CAboutDlg
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:137,1
    - Dst: CAboutDlg::DoModal
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:138,1
    - Dst: CICC_CreatorDlg::OnSysCommand
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - nID
    - lParam
    argTypes:
    - UINT
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: CICC_CreatorDlg::OnSysCommand
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - CICC_CreatorDlg::OnSysCommand
    - CAboutDlg::CAboutDlg
    - CAboutDlg::DoModal
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnSysCommand(UINT nID, LPARAM lParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsIconic
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:148,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:151,1
    - Dst: reinterpret_cast<WPARAM>
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:151,1
    - Dst: CPaintDC::GetSafeHdc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:151,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:152,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:153,1
    - Dst: GetClientRect
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:155,1
    - Dst: CRect::Width
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:156,1
    - Dst: CRect::Height
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:157,1
    - Dst: CPaintDC::DrawIcon
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:159,1
    - Dst: CICC_CreatorDlg::OnPaint
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 165
    functionName: CICC_CreatorDlg::OnPaint
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - reinterpret_cast<WPARAM>
    - CICC_CreatorDlg::OnPaint
    - GetClientRect
    - SendMessage
    - CRect::Height
    - CPaintDC::GetSafeHdc
    - CPaintDC::DrawIcon
    - IsIconic
    - CRect::Width
    - GetSystemMetrics
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnPaint()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<HCURSOR>
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 170
    functionName: CICC_CreatorDlg::OnQueryDragIcon
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - static_cast<HCURSOR>
    linkageType: ''
    returnType: HCURSOR
    signature: HCURSOR CICC_CreatorDlg::OnQueryDragIcon()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:182,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:183,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:187,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:188,1
    - Dst: GetOpenFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:192,1
    - Dst: CICC_CreatorDlg::GetCIELAB
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:194,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:196,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:196,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:200,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 202
    functionName: CICC_CreatorDlg::OnBnClickedCielab
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - ZeroMemory
    - GetOpenFileName
    - CICC_CreatorDlg::GetCIELAB
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedCielab()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:212,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:213,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:217,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:218,1
    - Dst: GetOpenFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:222,1
    - Dst: CICC_CreatorDlg::GetNames
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:224,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:226,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:226,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:230,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: CICC_CreatorDlg::OnBnClickedNames
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - ZeroMemory
    - GetOpenFileName
    - CICC_CreatorDlg::GetNames
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedNames()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:242,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:242,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:247,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:248,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:252,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:253,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:257,1
    - Dst: create_devicen_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:259,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:261,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 263
    functionName: CICC_CreatorDlg::OnBnClickedIccProfile
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    - create_devicen_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedIccProfile()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:273,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:274,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:275,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:278,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:281,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:281,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:282,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:285,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:288,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:288,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:289,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:295,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:297,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:298,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:301,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:301,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:302,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:309,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:310,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:311,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:313,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - file_name_wide
    argTypes:
    - LPWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 315
    functionName: CICC_CreatorDlg::GetCIELAB
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - pow
    - _T
    - wchar_t_to_char
    - CICC_CreatorDlg::SetDlgItemText
    - malloc
    - free
    - fopen
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: int CICC_CreatorDlg::GetCIELAB(LPWSTR file_name_wide)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:326,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:327,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:328,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:331,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:334,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:335,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:335,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:341,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:342,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:345,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:346,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:346,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:356,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:357,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:366,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - file_name_wide
    argTypes:
    - LPWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 368
    functionName: CICC_CreatorDlg::GetNames
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 1
    functionsReached:
    - _T
    - wchar_t_to_char
    - strlen
    - CICC_CreatorDlg::SetDlgItemText
    - malloc
    - free
    - fopen
    - fgets
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: int CICC_CreatorDlg::GetNames(LPWSTR file_name_wide)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:380,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:381,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:385,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:389,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:390,1
    - Dst: create_psgray_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:392,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:394,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:394,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:397,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:398,1
    - Dst: create_psrgb_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:400,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:402,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:402,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:405,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:406,1
    - Dst: create_pscmyk_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:408,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:410,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:410,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 412
    functionName: CICC_CreatorDlg::OnBnClickedPsicc
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    - create_psrgb_profile
    - create_psgray_profile
    - create_pscmyk_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedPsicc()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:420,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:421,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:425,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:426,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:430,1
    - Dst: create_input_threshold_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:432,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:434,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 414
    functionDepth: 4
    functionLinenumber: 414
    functionLinenumberEnd: 436
    functionName: CICC_CreatorDlg::OnBnClickedGraythreshInput
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    - create_input_threshold_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedGraythreshInput()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:444,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:445,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:449,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:450,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:454,1
    - Dst: create_input_threshold_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:456,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:458,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 438
    functionDepth: 4
    functionLinenumber: 438
    functionLinenumberEnd: 460
    functionName: CICC_CreatorDlg::OnBnClickedRGBthreshInput
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    - create_input_threshold_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedRGBthreshInput()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:468,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:469,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:473,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:474,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:478,1
    - Dst: create_input_threshold_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:480,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:482,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 462
    functionDepth: 4
    functionLinenumber: 462
    functionLinenumberEnd: 484
    functionName: CICC_CreatorDlg::OnBnClickedCMYKthreshInput
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    - create_input_threshold_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedCMYKthreshInput()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CICC_CreatorDlg::m_threshold_input::GetWindowTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:491,1
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:492,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:493,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:497,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:497,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:502,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:502,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: CICC_CreatorDlg::OnEnChangeEditthreshInput
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - _T
    - wchar_t_to_char
    - free
    - SetWindowText
    - CICC_CreatorDlg::m_threshold_input::GetWindowTextW
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnEnChangeEditthreshInput()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:513,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:514,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:518,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:519,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:523,1
    - Dst: create_gray_threshold_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:525,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:527,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 529
    functionName: CICC_CreatorDlg::OnBnClickedGraythresh
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - create_gray_threshold_profile
    - CICC_CreatorDlg::SetDlgItemText
    - GetSaveFileName
    - ZeroMemory
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedGraythresh()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CICC_CreatorDlg::m_graythreshold::GetWindowTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:536,1
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:537,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:538,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:542,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:542,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:547,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:547,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:549,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 550
    functionName: CICC_CreatorDlg::OnEnChangeEditthresh
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - sscanf
    - CICC_CreatorDlg::m_graythreshold::GetWindowTextW
    - _T
    - wchar_t_to_char
    - free
    - SetWindowText
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnEnChangeEditthresh()
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:565,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:570,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:577,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:578,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:579,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:580,1
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:587,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:588,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:589,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:595,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:598,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:601,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:617,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - file_name_wide
    - is_ucr
    argTypes:
    - LPWSTR
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 619
    functionName: CICC_CreatorDlg::ParseData
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - wchar_t_to_char
    - malloc
    - free
    - fopen
    - fgets
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: int CICC_CreatorDlg::ParseData(LPWSTR file_name_wide, bool is_ucr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:629,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:630,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:634,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:635,1
    - Dst: GetOpenFileNameW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:639,1
    - Dst: CICC_CreatorDlg::ParseData
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:641,1
    - Dst: CICC_CreatorDlg::SetDlgItemTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:644,1
    - Dst: CICC_CreatorDlg::SetDlgItemTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:648,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:649,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:650,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:651,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:652,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:653,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 657
    functionName: CICC_CreatorDlg::OnBnClickedPstables
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - GetOpenFileNameW
    - ZeroMemory
    - free
    - CICC_CreatorDlg::SetDlgItemTextW
    - CICC_CreatorDlg::ParseData
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedPstables()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 664
    functionName: CICC_CreatorDlg::OnBnClickedCheck1
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedCheck1()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:672,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:673,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:677,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:678,1
    - Dst: GetOpenFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:682,1
    - Dst: CICC_CreatorDlg::ParseData
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:684,1
    - Dst: CICC_CreatorDlg::SetDlgItemTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:687,1
    - Dst: CICC_CreatorDlg::SetDlgItemTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:691,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:692,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:693,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:694,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:695,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 666
    functionDepth: 2
    functionLinenumber: 666
    functionLinenumberEnd: 700
    functionName: CICC_CreatorDlg::OnBnClickedEffecttables2
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - ZeroMemory
    - GetOpenFileName
    - free
    - CICC_CreatorDlg::SetDlgItemTextW
    - CICC_CreatorDlg::ParseData
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedEffecttables2()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:710,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:711,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:715,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:716,1
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:720,1
    - Dst: CICC_CreatorDlg::m_desc_effect_str::GetWindowTextW
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:722,1
    - Dst: wchar_t_to_char
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:723,1
    - Dst: create_effect_profile
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:724,1
    - Dst: free
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:725,1
    - Dst: CICC_CreatorDlg::SetDlgItemText
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:728,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 702
    functionDepth: 4
    functionLinenumber: 702
    functionLinenumberEnd: 730
    functionName: CICC_CreatorDlg::OnBnClickedEffecticc3
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_CreatorDlg.cpp
    functionUses: 0
    functionsReached:
    - _T
    - wchar_t_to_char
    - CICC_CreatorDlg::m_desc_effect_str::GetWindowTextW
    - GetSaveFileName
    - CICC_CreatorDlg::SetDlgItemText
    - ZeroMemory
    - free
    - create_effect_profile
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorDlg::OnBnClickedEffecticc3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: CICC_CreatorApp::CICC_CreatorApp
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CICC_CreatorApp::CICC_CreatorApp()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitCommonControlsEx
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:59,1
    - Dst: CICC_CreatorApp::InitInstance
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:61,1
    - Dst: AfxEnableControlContainer
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:63,1
    - Dst: SetRegistryKey
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:72,1
    - Dst: _T
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:72,1
    - Dst: CICC_CreatorDlg::CICC_CreatorDlg
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:74,1
    - Dst: CICC_CreatorDlg::DoModal
      Src: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 91
    functionName: CICC_CreatorApp::InitInstance
    functionSourceFile: /src/libspectre/ghostscript/toolbin/color/icc_creator/ICC_Creator/ICC_Creator.cpp
    functionUses: 1
    functionsReached:
    - AfxEnableControlContainer
    - InitCommonControlsEx
    - _T
    - CICC_CreatorDlg::CICC_CreatorDlg
    - SetRegistryKey
    - CICC_CreatorApp::InitInstance
    - CICC_CreatorDlg::DoModal
    linkageType: ''
    returnType: BOOL
    signature: BOOL CICC_CreatorApp::InitInstance()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:46,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:49,1
    - Dst: jbig2_image_read_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:53,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:55,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:58,1
    - Dst: jbig2_image_write_png_file
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:61,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/pbm2png.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/pbm2png.c
    functionUses: 1
    functionsReached:
    - jbig2_ctx_new
    - fprintf
    - jbig2_image_read_pbm_file
    - jbig2_image_write_png_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:54,1
    - Dst: jbig2_new::jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:59,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:61,1
    - Dst: patterns::patterns
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:62,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:63,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:64,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:73,1
    - Dst: patterns::patterns
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:74,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:75,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:77,1
    - Dst: patterns::patterns
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:77,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:78,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:84,1
    - Dst: patterns::patterns
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:84,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:86,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:88,1
    - Dst: patterns::patterns
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:88,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:89,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - params
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2PatternDictParams*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 98
    functionName: jbig2_hd_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - jbig2_free
    - jbig2_image_compose
    - patterns::patterns
    - jbig2_image_new
    - jbig2_new
    - jbig2_new::jbig2_new
    linkageType: ''
    returnType: Jbig2PatternDict
    signature: 'Jbig2PatternDict *

      jbig2_hd_new(Jbig2Ctx *ctx, const Jbig2PatternDictParams *params, Jbig2Image
      *image)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:112,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:113,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - dict
    argTypes:
    - Jbig2Ctx*
    - Jbig2PatternDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 115
    functionName: jbig2_hd_release
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_hd_release(Jbig2Ctx *ctx, Jbig2PatternDict *dict)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:143,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:145,1
    - Dst: jbig2_decode_generic_mmr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:164,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:166,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:169,1
    - Dst: jbig2_decode_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:172,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:174,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:177,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:178,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:180,1
    - Dst: jbig2_hd_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:185,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:187,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:188,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - data
    - size
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2PatternDictParams*
    - byte*
    - size_t
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 191
    functionName: jbig2_decode_pattern_dict
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_error
    - jbig2_free
    - jbig2_word_stream_buf_new
    - jbig2_decode_generic_mmr
    - jbig2_word_stream_buf_free
    - jbig2_arith_new
    - jbig2_image_new
    - jbig2_decode_generic_region
    - jbig2_hd_new
    linkageType: ''
    returnType: Jbig2PatternDict
    signature: "Jbig2PatternDict *\njbig2_decode_pattern_dict(Jbig2Ctx *ctx, Jbig2Segment
      *segment,\n                          const Jbig2PatternDictParams *params, const
      byte *data, const size_t size, Jbig2ArithCx *GB_stats)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:204,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:211,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:214,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:218,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:221,1
    - Dst: jbig2_generic_stats_size
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:227,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:229,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:231,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:232,1
    - Dst: jbig2_decode_pattern_dict
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:235,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:239,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 243
    functionName: jbig2_pattern_dictionary
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_decode_pattern_dict
    - jbig2_error
    - jbig2_free
    - jbig2_generic_stats_size
    - memset
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_pattern_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment,
      const byte *segment_data)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:282,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:284,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:289,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:291,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:294,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:295,1
    - Dst: jbig2_decode_halftone_mmr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:317,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:319,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:321,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:325,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:327,1
    - Dst: jbig2_decode_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:331,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:334,1
    - Dst: jbig2_decode_halftone_mmr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:345,1
    - Dst: jbig2_decode_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:347,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:350,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:365,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:367,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:371,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:373,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:376,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:377,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:389,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:396,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:397,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:400,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:402,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 405
    functionName: jbig2_decode_gray_scale_image
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_image_release
    - jbig2_decode_halftone_mmr
    - jbig2_error
    - jbig2_free
    - jbig2_word_stream_buf_new
    - jbig2_word_stream_buf_free
    - jbig2_arith_new
    - jbig2_image_new
    - jbig2_decode_generic_region
    - jbig2_new
    linkageType: ''
    returnType: uint16_t
    signature: "uint16_t **\njbig2_decode_gray_scale_image(Jbig2Ctx *ctx, Jbig2Segment
      *segment,\n                              const byte *data, const size_t size,\n
      \                             bool GSMMR, uint32_t GSW, uint32_t GSH,\n                              uint32_t
      GSBPP, bool GSUSESKIP, Jbig2Image *GSKIP, int GSTEMPLATE, Jbig2ArithCx *GB_stats)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - segment
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 438
    functionName: jbig2_decode_ht_region_get_hpats
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_find_segment
    linkageType: ''
    returnType: Jbig2PatternDict
    signature: 'Jbig2PatternDict *

      jbig2_decode_ht_region_get_hpats(Jbig2Ctx *ctx, Jbig2Segment *segment)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_ht_region_get_hpats
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:471,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:473,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:478,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:482,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:484,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:492,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:494,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:505,1
    - Dst: jbig2_decode_gray_scale_image
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:510,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:513,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:526,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:530,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:532,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:541,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:544,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:545,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 7
    argNames:
    - ctx
    - segment
    - params
    - data
    - size
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2HalftoneRegionParams*
    - byte*
    - size_t
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 548
    functionName: jbig2_decode_halftone_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_error
    - jbig2_decode_ht_region_get_hpats
    - jbig2_free
    - jbig2_image_compose
    - jbig2_decode_gray_scale_image
    - memset
    - jbig2_image_new
    - jbig2_image_set_pixel
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment,\n
      \                            Jbig2HalftoneRegionParams *params, const byte *data,
      const size_t size, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_get_region_segment_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:566,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:581,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:585,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:588,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:594,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:595,1
    - Dst: jbig2_get_int32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:596,1
    - Dst: jbig2_get_int32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:597,1
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:603,1
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:604,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:607,1
    - Dst: jbig2_generic_stats_size
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:618,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:620,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:622,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:624,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:627,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:629,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:630,1
    - Dst: jbig2_decode_halftone_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:633,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:635,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:636,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:637,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:642,1
    - Dst: jbig2_page_add_result
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:645,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:647,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:648,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:651,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c:656,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 657
    functionName: jbig2_halftone_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_halftone.c
    functionUses: 0
    functionsReached:
    - jbig2_get_int32
    - jbig2_get_uint32
    - jbig2_image_release
    - jbig2_error
    - jbig2_free
    - jbig2_page_add_result
    - jbig2_generic_stats_size
    - jbig2_decode_halftone_region
    - memset
    - jbig2_get_uint16
    - jbig2_image_new
    - jbig2_get_region_segment_info
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_halftone_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const
      byte *segment_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:79,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:81,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:82,1
    - Dst: jbig2_image_write_png_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:84,1
    - Dst: jbig2_image_write_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:86,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - segment
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 91
    functionName: jbig2_dump_symbol_dict
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - snprintf
    - jbig2_image_write_pbm_file
    - jbig2_image_write_png_file
    - jbig2_error
    linkageType: ''
    returnType: void
    signature: void jbig2_dump_symbol_dict(Jbig2Ctx *ctx, Jbig2Segment *segment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:100,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:102,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:105,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:110,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:112,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ctx
    - n_symbols
    argTypes:
    - Jbig2Ctx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 118
    functionName: jbig2_sd_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - memset
    - jbig2_new
    - jbig2_free
    linkageType: ''
    returnType: Jbig2SymbolDict
    signature: 'Jbig2SymbolDict *

      jbig2_sd_new(Jbig2Ctx *ctx, uint32_t n_symbols)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:130,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:131,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - dict
    argTypes:
    - Jbig2Ctx*
    - Jbig2SymbolDict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 133
    functionName: jbig2_sd_release
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_sd_release(Jbig2Ctx *ctx, Jbig2SymbolDict *dict)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dict
    - id
    argTypes:
    - Jbig2SymbolDict*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: jbig2_sd_glyph
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_sd_glyph(Jbig2SymbolDict *dict, unsigned int id)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:153,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - segment
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: jbig2_sd_count_referred
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_find_segment
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_sd_count_referred(Jbig2Ctx *ctx, Jbig2Segment *segment)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_sd_count_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:169,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:172,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:174,1
    - Dst: jbig2_find_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:179,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:189,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:190,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 195
    functionName: jbig2_sd_list_referred
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - jbig2_free
    - jbig2_find_segment
    - jbig2_sd_count_referred
    - jbig2_new
    linkageType: ''
    returnType: Jbig2SymbolDict
    signature: 'Jbig2SymbolDict **

      jbig2_sd_list_referred(Jbig2Ctx *ctx, Jbig2Segment *segment)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_sd_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:211,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:216,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:218,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ctx
    - n_dicts
    - dicts
    argTypes:
    - Jbig2Ctx*
    - uint32_t
    - Jbig2SymbolDict**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 222
    functionName: jbig2_sd_cat
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_sd_new
    - jbig2_image_reference
    - jbig2_error
    linkageType: ''
    returnType: Jbig2SymbolDict
    signature: 'Jbig2SymbolDict *

      jbig2_sd_cat(Jbig2Ctx *ctx, uint32_t n_dicts, Jbig2SymbolDict **dicts)'
  - BBCount: 75
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:255,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:261,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:263,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:267,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:269,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:270,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:277,1
    - Dst: jbig2_huffman_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:278,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:279,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:280,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:281,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:284,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:289,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:291,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:295,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:296,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:297,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:298,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:299,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:303,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:308,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:309,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:310,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:311,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:313,1
    - Dst: jbig2_arith_iaid_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:316,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:317,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:318,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:321,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:326,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:327,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:328,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:329,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:331,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:332,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:333,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:338,1
    - Dst: jbig2_sd_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:353,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:355,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:359,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:361,1
    - Dst: jbig2_sd_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:364,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:366,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:370,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:380,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:382,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:385,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:389,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:400,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:404,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:406,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:411,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:413,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:417,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:422,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:428,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:433,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:437,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:443,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:449,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:454,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:467,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:469,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:471,1
    - Dst: jbig2_decode_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:475,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:477,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:488,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:490,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:493,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:497,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:501,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:505,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:510,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:512,1
    - Dst: jbig2_decode_text_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:517,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:520,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:542,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:543,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:544,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:545,1
    - Dst: jbig2_huffman_skip
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:546,1
    - Dst: jbig2_arith_iaid_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:548,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:549,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:550,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:554,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:558,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:563,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:567,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:570,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:572,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:581,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:587,1
    - Dst: jbig2_decode_refinement_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:588,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:590,1
    - Dst: jbig2_huffman_advance
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:602,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:604,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:617,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:618,1
    - Dst: jbig2_image_write_pbm
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:619,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:620,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:622,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:625,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:639,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:650,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:652,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:656,1
    - Dst: jbig2_huffman_skip
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:661,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:663,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:666,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:668,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:674,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:679,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:679,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:679,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:680,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:681,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:686,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:690,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:698,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:698,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:699,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:699,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:703,1
    - Dst: jbig2_decode_generic_mmr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:707,1
    - Dst: jbig2_huffman_offset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:707,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:709,1
    - Dst: jbig2_huffman_advance
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:715,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:717,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:724,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:726,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:729,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:731,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:738,1
    - Dst: jbig2_sd_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:745,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:747,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:759,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:761,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:763,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:765,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:770,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:772,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:779,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:781,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:789,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:793,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:805,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:814,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:815,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:818,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:820,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:822,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:824,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:825,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:826,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:827,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:828,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:829,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:830,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:831,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:833,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:835,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:837,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:838,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:839,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:840,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:841,1
    - Dst: jbig2_arith_iaid_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:842,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:843,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:844,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:845,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:846,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:847,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:848,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:849,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:850,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:852,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:853,1
    CyclomaticComplexity: 164
    EdgeCount: 164
    ICount: 490
    argCount: 7
    argNames:
    - ctx
    - segment
    - params
    - data
    - size
    - GB_stats
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2SymbolDictParams*
    - byte*
    - size_t
    - Jbig2ArithCx*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 856
    functionName: jbig2_decode_symbol_dict
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_arith_iaid_decode
    - jbig2_arith_iaid_ctx_free
    - jbig2_image_new
    - jbig2_decode_generic_region
    - snprintf
    - jbig2_image_reference
    - fclose
    - jbig2_huffman_new
    - jbig2_huffman_advance
    - jbig2_arith_iaid_ctx_new
    - jbig2_arith_int_ctx_new
    - jbig2_word_stream_buf_free
    - jbig2_release_huffman_table
    - memset
    - jbig2_arith_new
    - jbig2_sd_new
    - jbig2_decode_text_region
    - jbig2_huffman_get
    - jbig2_huffman_free
    - jbig2_error
    - jbig2_build_huffman_table
    - jbig2_word_stream_buf_new
    - jbig2_free
    - jbig2_huffman_offset
    - jbig2_image_compose
    - jbig2_decode_generic_mmr
    - jbig2_huffman_get_bits
    - jbig2_image_write_pbm
    - jbig2_huffman_skip
    - fopen
    - jbig2_new
    - jbig2_arith_int_ctx_free
    - memcpy
    - jbig2_sd_release
    - jbig2_decode_refinement_region
    - jbig2_arith_int_decode
    linkageType: ''
    returnType: Jbig2SymbolDict
    signature: "Jbig2SymbolDict *\njbig2_decode_symbol_dict(Jbig2Ctx *ctx,\n                         Jbig2Segment
      *segment,\n                         const Jbig2SymbolDictParams *params, const
      byte *data, size_t size, Jbig2ArithCx *GB_stats, Jbig2ArithCx *GR_stats)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:877,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:880,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:890,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:893,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:896,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:898,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:901,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:906,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:909,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:915,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:918,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:921,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:923,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:926,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:931,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:935,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:941,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:943,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:946,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:950,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:953,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:959,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:961,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:964,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:968,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:971,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:980,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:984,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:991,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:998,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1006,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1008,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1011,1
    - Dst: jbig2_sd_count_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1016,1
    - Dst: jbig2_sd_list_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1020,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1022,1
    - Dst: jbig2_sd_cat
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1025,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1027,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1028,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1031,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1040,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1045,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1047,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1050,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1053,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1055,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1056,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1059,1
    - Dst: jbig2_decode_symbol_dict
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1062,1
    - Dst: jbig2_dump_symbol_dict
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1065,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1071,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1072,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1073,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1076,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1077,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1082,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1083,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1084,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1085,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1087,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1093,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1094,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1095,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1096,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c:1098,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 204
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 859
    functionDepth: 3
    functionLinenumber: 859
    functionLinenumberEnd: 1099
    functionName: jbig2_symbol_dictionary
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_symbol_dict.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_sd_cat
    - jbig2_error
    - jbig2_build_huffman_table
    - jbig2_free
    - jbig2_decode_symbol_dict
    - jbig2_find_table
    - jbig2_dump_symbol_dict
    - jbig2_release_huffman_table
    - memset
    - memcpy
    - jbig2_sd_list_referred
    - jbig2_get_uint16
    - jbig2_sd_release
    - jbig2_sd_count_referred
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_symbol_dictionary(Jbig2Ctx *ctx, Jbig2Segment *segment, const
      byte *segment_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - b1
    - b2
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: memcmp
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memcmp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memcmp(const void *b1, const void *b2, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:42,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:45,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 52
    functionName: jbig2_arith_int_ctx_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c
    functionUses: 1
    functionsReached:
    - jbig2_error
    - memset
    - jbig2_new
    linkageType: ''
    returnType: Jbig2ArithIntCtx
    signature: 'Jbig2ArithIntCtx *

      jbig2_arith_int_ctx_new(Jbig2Ctx *ctx)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:67,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:69,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:72,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:74,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:77,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:79,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:83,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:85,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:89,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:91,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:95,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:97,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:126,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:128,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 4
    argNames:
    - ctx
    - actx
    - as
    - p_result
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithIntCtx*
    - Jbig2ArithState*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 142
    functionName: jbig2_arith_int_decode
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c
    functionUses: 1
    functionsReached:
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_arith_int_decode(Jbig2Ctx *ctx, Jbig2ArithIntCtx *actx, Jbig2ArithState
      *as, int32_t *p_result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - iax
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithIntCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: jbig2_arith_int_ctx_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_int.c
    functionUses: 1
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_arith_int_ctx_free(Jbig2Ctx *ctx, Jbig2ArithIntCtx *iax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: CVT_PTR
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT_PTR(ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:57,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:60,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: jbig2_png_write_data
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_io_ptr
    - fwrite
    linkageType: ''
    returnType: void
    signature: void jbig2_png_write_data(png_structp png_ptr, png_bytep data, png_size_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:72,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 77
    functionName: jbig2_png_flush
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c
    functionUses: 0
    functionsReached:
    - png_get_io_ptr
    - fflush
    linkageType: ''
    returnType: void
    signature: void jbig2_png_flush(png_structp png_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:91,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:97,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:98,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:103,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:105,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:106,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:114,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:117,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:118,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:121,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:126,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:131,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - image
    - out
    argTypes:
    - Jbig2Image*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 135
    functionName: jbig2_image_write_png
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_set_write_fn
    - png_jmpbuf
    - png_set_invert_mono
    - png_set_IHDR
    - setjmp
    - png_write_row
    - fprintf
    - png_create_write_struct
    - png_write_info
    - png_write_end
    - png_destroy_write_struct
    linkageType: ''
    returnType: int
    signature: int jbig2_image_write_png(Jbig2Image *image, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:144,1
    - Dst: jbig2_image_write_png
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:148,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - image
    - filename
    argTypes:
    - Jbig2Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 152
    functionName: jbig2_image_write_png_file
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_png.c
    functionUses: 2
    functionsReached:
    - fclose
    - fprintf
    - jbig2_image_write_png
    - fopen
    linkageType: ''
    returnType: int
    signature: int jbig2_image_write_png_file(Jbig2Image *image, char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:52,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:58,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:60,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:65,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:68,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:69,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:73,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - SBSYMCODELEN
    argTypes:
    - Jbig2Ctx*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 75
    functionName: jbig2_arith_iaid_ctx_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c
    functionUses: 1
    functionsReached:
    - jbig2_new
    - memset
    - jbig2_error
    - jbig2_free
    linkageType: ''
    returnType: Jbig2ArithIaidCtx
    signature: 'Jbig2ArithIaidCtx *

      jbig2_arith_iaid_ctx_new(Jbig2Ctx *ctx, uint8_t SBSYMCODELEN)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:91,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:93,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - actx
    - as
    - p_result
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithIaidCtx*
    - Jbig2ArithState*
    - int32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: jbig2_arith_iaid_decode
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c
    functionUses: 1
    functionsReached:
    - jbig2_arith_decode
    - fprintf
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_arith_iaid_decode(Jbig2Ctx *ctx, Jbig2ArithIaidCtx *actx,
      Jbig2ArithState *as, int32_t *p_result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:112,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - iax
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithIaidCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 115
    functionName: jbig2_arith_iaid_ctx_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith_iaid.c
    functionUses: 1
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_arith_iaid_ctx_free(Jbig2Ctx *ctx, Jbig2ArithIaidCtx *iax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: _
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/getopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msgid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: _
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/getopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(msgid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch1
    - ','
    - ch2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: SWAP_FLAGS
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/getopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_FLAGS(ch1, ch2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:41,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:42,1
    - Dst: jbig2_image_write_pbm
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:46,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - image
    - filename
    argTypes:
    - Jbig2Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: jbig2_image_write_pbm_file
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c
    functionUses: 1
    functionsReached:
    - fclose
    - fprintf
    - jbig2_image_write_pbm
    - fopen
    linkageType: ''
    returnType: int
    signature: int jbig2_image_write_pbm_file(Jbig2Image *image, char *filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:58,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - image
    - out
    argTypes:
    - Jbig2Image*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: jbig2_image_write_pbm
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c
    functionUses: 2
    functionsReached:
    - fprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int jbig2_image_write_pbm(Jbig2Image *image, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:77,1
    - Dst: jbig2_image_read_pbm
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:81,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - filename
    argTypes:
    - Jbig2Ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: jbig2_image_read_pbm_file
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c
    functionUses: 1
    functionsReached:
    - fclose
    - jbig2_image_read_pbm
    - fprintf
    - fopen
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_image_read_pbm_file(Jbig2Ctx *ctx, char *filename)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:99,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:100,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:104,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:114,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:120,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:125,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:128,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:130,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:130,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:132,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:138,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:139,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:149,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:154,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:156,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c:157,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 2
    argNames:
    - ctx
    - in
    argTypes:
    - Jbig2Ctx*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 162
    functionName: jbig2_image_read_pbm
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image_pbm.c
    functionUses: 1
    functionsReached:
    - sscanf
    - jbig2_image_release
    - fread
    - fgetc
    - fprintf
    - jbig2_image_new
    - feof
    - isdigit
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_image_read_pbm(Jbig2Ctx *ctx, FILE *in)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: pixel_outside_field
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pixel_outside_field(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: refpixel_outside_field
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: refpixel_outside_field(x, y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:62,1
    - Dst: refpixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:63,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:64,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:70,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:71,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:72,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:73,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:74,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:75,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:76,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:77,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:78,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:79,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:80,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:81,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:82,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:83,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:85,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:86,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:95,1
    - Dst: jbig2_image_write_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:96,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:98,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:99,1
    - Dst: jbig2_image_write_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:100,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2RefinementRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 108
    functionName: jbig2_decode_refinement_template0_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_image_write_pbm_file
    - jbig2_error
    - snprintf
    - pixel_outside_field
    - refpixel_outside_field
    - jbig2_image_set_pixel
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_refinement_template0_unopt(Jbig2Ctx *ctx,\n                                        Jbig2Segment
      *segment,\n                                        const Jbig2RefinementRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GR_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:127,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:128,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:129,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:130,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:131,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:132,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:133,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:134,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:135,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:136,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:137,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:139,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:140,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:149,1
    - Dst: jbig2_image_write_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:150,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:152,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:153,1
    - Dst: jbig2_image_write_pbm_file
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:154,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2RefinementRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 162
    functionName: jbig2_decode_refinement_template1_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_image_write_pbm_file
    - jbig2_error
    - snprintf
    - jbig2_image_set_pixel
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_refinement_template1_unopt(Jbig2Ctx *ctx,\n                                        Jbig2Segment
      *segment,\n                                        const Jbig2RefinementRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GR_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:214,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:216,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2RefinementRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 234
    functionName: jbig2_decode_refinement_template1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_refinement_template1(Jbig2Ctx *ctx,\n                                  Jbig2Segment
      *segment,\n                                  const Jbig2RefinementRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GR_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:245,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:247,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:248,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:249,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:250,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:251,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:252,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:253,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 2
    argCount: 4
    argNames:
    - params
    - image
    - x
    - y
    argTypes:
    - Jbig2RefinementRegionParams*
    - Jbig2Image*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 256
    functionName: implicit_value
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    linkageType: ''
    returnType: int
    signature: int implicit_value(const Jbig2RefinementRegionParams *params, Jbig2Image
      *image, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:266,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:267,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:268,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:269,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:270,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:271,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:272,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:273,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:274,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:275,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:276,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:277,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - params
    - image
    - x
    - y
    argTypes:
    - Jbig2RefinementRegionParams*
    - Jbig2Image*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 280
    functionName: mkctx0
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mkctx0(const Jbig2RefinementRegionParams *params, Jbig2Image
      *image, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:290,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:291,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:292,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:293,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:294,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:295,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:296,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:297,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:298,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - params
    - image
    - x
    - y
    argTypes:
    - Jbig2RefinementRegionParams*
    - Jbig2Image*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 301
    functionName: mkctx1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t mkctx1(const Jbig2RefinementRegionParams *params, Jbig2Image
      *image, int x, int y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:313,1
    - Dst: refpixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:314,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:315,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:319,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:321,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:325,1
    - Dst: mkctx
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:325,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:327,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:328,1
    - Dst: implicit_value
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:332,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:334,1
    - Dst: mkctx
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:334,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:336,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:337,1
    - Dst: jbig2_image_set_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 5
    argNames:
    - ctx
    - params
    - as
    - image
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2RefinementRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 345
    functionName: jbig2_decode_refinement_TPGRON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_arith_decode
    - jbig2_error
    - implicit_value
    - pixel_outside_field
    - refpixel_outside_field
    - jbig2_image_set_pixel
    - mkctx
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_refinement_TPGRON(Jbig2Ctx *ctx, const Jbig2RefinementRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GR_stats)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:369,1
    - Dst: jbig2_decode_refinement_TPGRON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:374,1
    - Dst: jbig2_decode_refinement_template1_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:377,1
    - Dst: jbig2_decode_refinement_template0_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GR_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2RefinementRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 380
    functionName: jbig2_decode_refinement_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 1
    functionsReached:
    - jbig2_decode_refinement_TPGRON
    - jbig2_decode_refinement_template1_unopt
    - jbig2_decode_refinement_template0_unopt
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_refinement_region(Jbig2Ctx *ctx,\n                               Jbig2Segment
      *segment,\n                               const Jbig2RefinementRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GR_stats)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:394,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:396,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ctx
    - segment
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 413
    functionName: jbig2_region_find_referred
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - jbig2_find_segment
    linkageType: ''
    returnType: Jbig2Segment
    signature: 'Jbig2Segment *

      jbig2_region_find_referred(Jbig2Ctx *ctx, Jbig2Segment *segment)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:429,1
    - Dst: jbig2_get_region_segment_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:431,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:432,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:438,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:441,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:447,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:452,1
    - Dst: jbig2_region_find_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:461,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:463,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:465,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:471,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:472,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:474,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:478,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:479,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:493,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:495,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:498,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:501,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:503,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:506,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:508,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:510,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:514,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:516,1
    - Dst: jbig2_decode_refinement_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:520,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:522,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:528,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:531,1
    - Dst: jbig2_page_add_result
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:533,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:535,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:541,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:542,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:543,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:544,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c:545,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 92
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 418
    functionDepth: 4
    functionLinenumber: 418
    functionLinenumberEnd: 549
    functionName: jbig2_refinement_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_refinement.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_region_find_referred
    - jbig2_error
    - jbig2_free
    - jbig2_word_stream_buf_new
    - jbig2_page_add_result
    - jbig2_word_stream_buf_free
    - memset
    - jbig2_arith_new
    - jbig2_image_new
    - jbig2_decode_refinement_region
    - jbig2_image_reference
    - jbig2_get_region_segment_info
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_refinement_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const
      byte *segment_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - hs
    - ','
    - offset
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: huff_get_next_word
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: huff_get_next_word(hs, offset, word)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:73,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:81,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:83,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:84,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:87,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:89,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:90,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - ctx
    - ws
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 99
    functionName: jbig2_huffman_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - jbig2_huffman_free
    - jbig2_error
    - huff_get_next_word
    - jbig2_new
    linkageType: ''
    returnType: Jbig2HuffmanState
    signature: 'Jbig2HuffmanState *

      jbig2_huffman_new(Jbig2Ctx *ctx, Jbig2WordStream *ws)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - hs
    argTypes:
    - Jbig2Ctx*
    - Jbig2HuffmanState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: jbig2_huffman_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 2
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_huffman_free(Jbig2Ctx *ctx, Jbig2HuffmanState *hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hs
    argTypes:
    - Jbig2HuffmanState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: jbig2_dump_huffman_state
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void jbig2_dump_huffman_state(Jbig2HuffmanState *hs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:129,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hs
    argTypes:
    - Jbig2HuffmanState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: jbig2_dump_huffman_binary
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void jbig2_dump_huffman_binary(Jbig2HuffmanState *hs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:142,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:144,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:153,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:159,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:165,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:167,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:171,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - table
    argTypes:
    - Jbig2HuffmanTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 172
    functionName: jbig2_dump_huffman_table
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void jbig2_dump_huffman_table(const Jbig2HuffmanTable *table)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:193,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - hs
    argTypes:
    - Jbig2HuffmanState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 203
    functionName: jbig2_huffman_skip
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - huff_get_next_word
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_huffman_skip(Jbig2HuffmanState *hs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:217,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:219,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:221,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - hs
    - advance
    argTypes:
    - Jbig2HuffmanState*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: jbig2_huffman_advance
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - huff_get_next_word
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_huffman_advance(Jbig2HuffmanState *hs, size_t advance)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hs
    argTypes:
    - Jbig2HuffmanState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 237
    functionName: jbig2_huffman_offset
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_huffman_offset(Jbig2HuffmanState *hs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:251,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:260,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:262,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - hs
    - bits
    - err
    argTypes:
    - Jbig2HuffmanState*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 274
    functionName: jbig2_huffman_get_bits
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - huff_get_next_word
    - jbig2_error
    linkageType: ''
    returnType: int32_t
    signature: int32_t jbig2_huffman_get_bits(Jbig2HuffmanState *hs, const int bits,
      int *err)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:290,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:305,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:313,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:315,1
    - Dst: huff_get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:344,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - hs
    - table
    - oob
    argTypes:
    - Jbig2HuffmanState*
    - Jbig2HuffmanTable*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 363
    functionName: jbig2_huffman_get
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - huff_get_next_word
    - jbig2_error
    linkageType: ''
    returnType: int32_t
    signature: int32_t jbig2_huffman_get(Jbig2HuffmanState *hs, const Jbig2HuffmanTable
      *table, bool *oob)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:391,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:394,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:397,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:417,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:420,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:422,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:423,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:427,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:429,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:430,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:431,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:435,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:458,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:459,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:460,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:461,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:494,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - Jbig2Ctx*
    - Jbig2HuffmanParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 497
    functionName: jbig2_build_huffman_table
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 2
    functionsReached:
    - jbig2_error
    - memset
    - jbig2_new
    - jbig2_free
    linkageType: ''
    returnType: Jbig2HuffmanTable
    signature: 'Jbig2HuffmanTable *

      jbig2_build_huffman_table(Jbig2Ctx *ctx, const Jbig2HuffmanParams *params)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:504,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - table
    argTypes:
    - Jbig2Ctx*
    - Jbig2HuffmanTable*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 507
    functionName: jbig2_release_huffman_table
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 2
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_release_huffman_table(Jbig2Ctx *ctx, Jbig2HuffmanTable *table)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - data
    - bitoffset
    - bitlen
    argTypes:
    - byte*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 535
    functionName: jbig2_table_read_bits
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_table_read_bits(const byte *data, size_t *bitoffset,
      const int bitlen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_get_int32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:560,1
    - Dst: jbig2_get_int32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:564,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:581,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:587,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:592,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:594,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:597,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:599,1
    - Dst: jbig2_table_read_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:607,1
    - Dst: jbig2_table_read_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:611,1
    - Dst: jbig2_table_read_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:620,1
    - Dst: jbig2_table_read_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:627,1
    - Dst: jbig2_table_read_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:636,1
    - Dst: jbig2_renew
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:642,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:646,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:661,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:671,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:673,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:674,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 676
    functionName: jbig2_table
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - jbig2_get_int32
    - jbig2_table_read_bits
    - jbig2_error
    - jbig2_free
    - jbig2_renew
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_table(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte *segment_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:683,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - params
    argTypes:
    - Jbig2Ctx*
    - Jbig2HuffmanParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 686
    functionName: jbig2_table_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_table_free(Jbig2Ctx *ctx, Jbig2HuffmanParams *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:695,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ctx
    - segment
    - index
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 706
    functionName: jbig2_find_table
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - jbig2_error
    - jbig2_find_segment
    linkageType: ''
    returnType: Jbig2HuffmanParams
    signature: 'Jbig2HuffmanParams *

      jbig2_find_table(Jbig2Ctx *ctx, Jbig2Segment *segment, int index)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - self
    - offset
    - word
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 749
    functionName: test_get_word1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_get_word1(Jbig2Ctx *ctx, Jbig2WordStream *self, size_t offset,
      uint32_t *word)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:762,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:764,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:769,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:770,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:772,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:775,1
    - Dst: jbig2_huffman_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:780,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:782,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:786,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:787,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:794,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:796,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:798,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:802,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:807,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:809,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:810,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 813
    functionName: test1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - jbig2_huffman_free
    - jbig2_huffman_new
    - jbig2_build_huffman_table
    - printf
    - jbig2_release_huffman_table
    - fprintf
    - jbig2_ctx_new
    - jbig2_ctx_free
    - jbig2_huffman_get
    linkageType: ''
    returnType: int
    signature: int test1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2000
      start: 1999
    functionDepth: 0
    functionLinenumber: 1999
    functionLinenumberEnd: 2000
    functionName: countof
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: countof(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 2001
    functionDepth: 0
    functionLinenumber: 2001
    functionLinenumberEnd: 2007
    functionName: DEF_TEST_HUFFMANCODES
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEF_TEST_HUFFMANCODES(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - self
    - offset
    - word
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2031
    functionDepth: 0
    functionLinenumber: 2031
    functionLinenumberEnd: 2061
    functionName: test_get_word2
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_get_word2(Jbig2Ctx *ctx, Jbig2WordStream *self, size_t offset,
      uint32_t *word)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2069,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2071,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2075,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2085,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2086,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2088,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2089,1
    - Dst: jbig2_huffman_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2093,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2095,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2096,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2097,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2101,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2102,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2104,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2108,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2110,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2115,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2116,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2118,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2122,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2123,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2125,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2127,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2130,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2131,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2132,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2135,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2137,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2141
    functionName: test2
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 0
    functionsReached:
    - jbig2_huffman_free
    - countof
    - jbig2_huffman_new
    - jbig2_build_huffman_table
    - printf
    - jbig2_release_huffman_table
    - fprintf
    - jbig2_ctx_new
    - jbig2_ctx_free
    - jbig2_huffman_get
    linkageType: ''
    returnType: int
    signature: int test2()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test1
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2146,1
    - Dst: test2
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c:2146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2143
    functionDepth: 0
    functionLinenumber: 2143
    functionLinenumberEnd: 2147
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_huffman.c
    functionUses: 1
    functionsReached:
    - test2
    - test1
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocator
    - size
    argTypes:
    - Jbig2Allocator*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: jbig2_default_alloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      jbig2_default_alloc(Jbig2Allocator *allocator, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocator
    - p
    argTypes:
    - Jbig2Allocator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: jbig2_default_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void jbig2_default_free(Jbig2Allocator *allocator, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - allocator
    - p
    - size
    argTypes:
    - Jbig2Allocator*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: jbig2_default_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      jbig2_default_realloc(Jbig2Allocator *allocator, void *p, size_t size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Jbig2Allocator*::alloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - allocator
    - size
    - num
    argTypes:
    - Jbig2Allocator*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: jbig2_alloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - Jbig2Allocator*::alloc
    linkageType: ''
    returnType: void
    signature: 'void *

      jbig2_alloc(Jbig2Allocator *allocator, size_t size, size_t num)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:78,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:80,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:81,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - data
    - msg
    - severity
    - seg_idx
    argTypes:
    - void*
    - char*
    - Jbig2Severity
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: jbig2_default_error
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void jbig2_default_error(void *data, const char *msg, Jbig2Severity
      severity, uint32_t seg_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:93,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:94,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:95,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:97,1
    - Dst: Jbig2Ctx*::error_callback
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - severity
    - segment_number
    - fmt
    argTypes:
    - Jbig2Ctx*
    - Jbig2Severity
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 100
    functionName: jbig2_error
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 31
    functionsReached:
    - va_start
    - va_end
    - strncpy
    - vsnprintf
    - Jbig2Ctx*::error_callback
    linkageType: ''
    returnType: int
    signature: int jbig2_error(Jbig2Ctx *ctx, Jbig2Severity severity, uint32_t segment_number,
      const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:111,1
    - Dst: jbig2_alloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:121,1
    - Dst: error_callback
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:123,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:139,1
    - Dst: error_callback
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:141,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:142,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:149,1
    - Dst: error_callback
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:151,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:152,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 56
    argCount: 7
    argNames:
    - allocator
    - options
    - global_ctx
    - error_callback
    - error_callback_data
    - jbig2_version_major
    - jbig2_version_minor
    argTypes:
    - Jbig2Allocator*
    - Jbig2Options
    - Jbig2GlobalCtx*
    - Jbig2ErrorCallback
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 175
    functionName: jbig2_ctx_new_imp
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - jbig2_free
    - error_callback
    - jbig2_alloc
    - jbig2_new
    linkageType: ''
    returnType: Jbig2Ctx
    signature: 'Jbig2Ctx *

      jbig2_ctx_new_imp(Jbig2Allocator *allocator, Jbig2Options options, Jbig2GlobalCtx
      *global_ctx, Jbig2ErrorCallback error_callback, void *error_callback_data, int
      jbig2_version_major, int jbig2_version_minor)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: get_uint16
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_uint16(bptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: get_int16
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_int16(bptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_int16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bptr
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: jbig2_get_int16
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - get_int16
    linkageType: ''
    returnType: int16_t
    signature: int16_t jbig2_get_int16(const byte *bptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bptr
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: jbig2_get_uint16
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 2
    functionsReached:
    - get_uint16
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t jbig2_get_uint16(const byte *bptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_int16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:203,1
    - Dst: get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bptr
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: jbig2_get_int32
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 2
    functionsReached:
    - get_int16
    - get_uint16
    linkageType: ''
    returnType: int32_t
    signature: int32_t jbig2_get_int32(const byte *bptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:211,1
    - Dst: get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bptr
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: jbig2_get_uint32
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 3
    functionsReached:
    - get_uint16
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_get_uint32(const byte *bptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - desired
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: jbig2_find_buffer_size
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t jbig2_find_buffer_size(size_t desired)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_buffer_size
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:246,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:247,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:249,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:258,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:264,1
    - Dst: jbig2_find_buffer_size
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:267,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:269,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:271,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:273,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:274,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:282,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:298,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:299,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:304,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:307,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:309,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:315,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:318,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:320,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:328,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:331,1
    - Dst: jbig2_parse_segment_header
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:336,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:346,1
    - Dst: jbig2_renew
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:352,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:355,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:403,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:407,1
    - Dst: jbig2_parse_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:412,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:423,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:429,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 143
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - Jbig2Ctx*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 432
    functionName: jbig2_data_in
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_error
    - jbig2_free
    - jbig2_parse_segment
    - jbig2_parse_segment_header
    - memmove
    - memcpy
    - jbig2_find_buffer_size
    - memcmp
    - jbig2_renew
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_data_in(Jbig2Ctx *ctx, const unsigned char *data, size_t
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:444,1
    - Dst: jbig2_free_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:447,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:448,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:454,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:455,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:458,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 461
    functionName: jbig2_ctx_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 2
    functionsReached:
    - jbig2_free_segment
    - jbig2_image_release
    - jbig2_free
    linkageType: ''
    returnType: Jbig2Allocator
    signature: 'Jbig2Allocator *

      jbig2_ctx_free(Jbig2Ctx *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: jbig2_make_global_ctx
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Jbig2GlobalCtx
    signature: 'Jbig2GlobalCtx *

      jbig2_make_global_ctx(Jbig2Ctx *ctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - global_ctx
    argTypes:
    - Jbig2GlobalCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 473
    functionName: jbig2_global_ctx_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - jbig2_ctx_free
    linkageType: ''
    returnType: Jbig2Allocator
    signature: 'Jbig2Allocator *

      jbig2_global_ctx_free(Jbig2GlobalCtx *global_ctx)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:494,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - ctx
    - self
    - offset
    - word
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 519
    functionName: jbig2_word_stream_buf_get_next_word
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_word_stream_buf_get_next_word(Jbig2Ctx *ctx, Jbig2WordStream
      *self, size_t offset, uint32_t *word)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:524,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - Jbig2Ctx*
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 536
    functionName: jbig2_word_stream_buf_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 4
    functionsReached:
    - jbig2_error
    - jbig2_new
    linkageType: ''
    returnType: Jbig2WordStream
    signature: 'Jbig2WordStream *

      jbig2_word_stream_buf_new(Jbig2Ctx *ctx, const byte *data, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - ws
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: jbig2_word_stream_buf_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 4
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_word_stream_buf_free(Jbig2Ctx *ctx, Jbig2WordStream *ws)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Jbig2Allocator*::free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - allocator
    - p
    argTypes:
    - Jbig2Allocator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 557
    functionName: jbig2_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 25
    functionsReached:
    - Jbig2Allocator*::free
    linkageType: ''
    returnType: void
    signature: void jbig2_free(Jbig2Allocator *allocator, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Jbig2Allocator*::realloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - allocator
    - p
    - size
    - num
    argTypes:
    - Jbig2Allocator*
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 566
    functionName: jbig2_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.c
    functionUses: 0
    functionsReached:
    - Jbig2Allocator*::realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      jbig2_realloc(Jbig2Allocator *allocator, void *p, size_t size, size_t num)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - allocator
    - ','
    - options
    - ','
    - global_ctx
    - ','
    - error_callback
    - ','
    - error_callback_data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: jbig2_ctx_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jbig2_ctx_new(allocator, options, global_ctx, error_callback, error_callback_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:41,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:45,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:47,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:55,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:56,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:59,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:61,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:62,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - ctx
    - width
    - height
    argTypes:
    - Jbig2Ctx*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 72
    functionName: jbig2_image_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 8
    functionsReached:
    - jbig2_new
    - jbig2_error
    - jbig2_free
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_image_new(Jbig2Ctx *ctx, uint32_t width, uint32_t height)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: jbig2_image_reference
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_image_reference(Jbig2Ctx *ctx, Jbig2Image *image)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: jbig2_image_release
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 10
    functionsReached:
    - jbig2_image_free
    linkageType: ''
    returnType: void
    signature: void jbig2_image_release(Jbig2Ctx *ctx, Jbig2Image *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:99,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: jbig2_image_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 1
    functionsReached:
    - jbig2_free
    linkageType: ''
    returnType: void
    signature: void jbig2_image_free(Jbig2Ctx *ctx, Jbig2Image *image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:113,1
    - Dst: jbig2_renew
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:117,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:119,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:125,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:135,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:137,1
    - Dst: jbig2_image_clear
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:140,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:142,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:144,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:145,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:152,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 5
    argNames:
    - ctx
    - image
    - width
    - height
    - value
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 161
    functionName: jbig2_image_resize
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_error
    - jbig2_free
    - jbig2_image_compose
    - memset
    - jbig2_image_new
    - jbig2_renew
    - jbig2_image_clear
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_image_resize(Jbig2Ctx *ctx, Jbig2Image *image, uint32_t width, uint32_t
      height, int value)'
  - BBCount: 31
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 98
    argCount: 12
    argNames:
    - JBIG2_RESTRICT
    - JBIG2_RESTRICT
    - early
    - late
    - leftmask
    - rightmask
    - bytewidth_
    - h
    - shift
    - dstride
    - sstride
    - op
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - Jbig2ComposeOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 285
    functionName: template_image_compose_opt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void template_image_compose_opt(const uint8_t * JBIG2_RESTRICT ss,
      uint8_t * JBIG2_RESTRICT dd, int early, int late, uint8_t leftmask, uint8_t
      rightmask, uint32_t bytewidth_, uint32_t h, uint32_t shift, uint32_t dstride,
      uint32_t sstride, Jbig2ComposeOp op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:291,1
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - s
    - d
    - early
    - late
    - mask
    - rightmask
    - bytewidth
    - h
    - shift
    - dstride
    - sstride
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 294
    functionName: jbig2_image_compose_opt_OR
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - template_image_compose_opt
    linkageType: ''
    returnType: void
    signature: void jbig2_image_compose_opt_OR(const uint8_t *s, uint8_t *d, int early,
      int late, uint8_t mask, uint8_t rightmask, uint32_t bytewidth, uint32_t h, uint32_t
      shift, uint32_t dstride, uint32_t sstride)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:300,1
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - s
    - d
    - early
    - late
    - mask
    - rightmask
    - bytewidth
    - h
    - shift
    - dstride
    - sstride
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: jbig2_image_compose_opt_AND
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - template_image_compose_opt
    linkageType: ''
    returnType: void
    signature: void jbig2_image_compose_opt_AND(const uint8_t *s, uint8_t *d, int
      early, int late, uint8_t mask, uint8_t rightmask, uint32_t bytewidth, uint32_t
      h, uint32_t shift, uint32_t dstride, uint32_t sstride)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:309,1
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - s
    - d
    - early
    - late
    - mask
    - rightmask
    - bytewidth
    - h
    - shift
    - dstride
    - sstride
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: jbig2_image_compose_opt_XOR
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - template_image_compose_opt
    linkageType: ''
    returnType: void
    signature: void jbig2_image_compose_opt_XOR(const uint8_t *s, uint8_t *d, int
      early, int late, uint8_t mask, uint8_t rightmask, uint32_t bytewidth, uint32_t
      h, uint32_t shift, uint32_t dstride, uint32_t sstride)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:318,1
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - s
    - d
    - early
    - late
    - mask
    - rightmask
    - bytewidth
    - h
    - shift
    - dstride
    - sstride
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: jbig2_image_compose_opt_XNOR
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - template_image_compose_opt
    linkageType: ''
    returnType: void
    signature: void jbig2_image_compose_opt_XNOR(const uint8_t *s, uint8_t *d, int
      early, int late, uint8_t mask, uint8_t rightmask, uint32_t bytewidth, uint32_t
      h, uint32_t shift, uint32_t dstride, uint32_t sstride)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:327,1
    - Dst: template_image_compose_opt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - s
    - d
    - early
    - late
    - mask
    - rightmask
    - bytewidth
    - h
    - shift
    - dstride
    - sstride
    argTypes:
    - uint8_t*
    - uint8_t*
    - int
    - int
    - uint8_t
    - uint8_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 330
    functionName: jbig2_image_compose_opt_REPLACE
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 0
    functionsReached:
    - template_image_compose_opt
    linkageType: ''
    returnType: void
    signature: void jbig2_image_compose_opt_REPLACE(const uint8_t *s, uint8_t *d,
      int early, int late, uint8_t mask, uint8_t rightmask, uint32_t bytewidth, uint32_t
      h, uint32_t shift, uint32_t dstride, uint32_t sstride)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:354,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:414,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:420,1
    - Dst: jbig2_image_compose_opt_OR
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:438,1
    - Dst: jbig2_image_compose_opt_AND
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:441,1
    - Dst: jbig2_image_compose_opt_XOR
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:444,1
    - Dst: jbig2_image_compose_opt_XNOR
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:447,1
    - Dst: jbig2_image_compose_opt_REPLACE
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:450,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 6
    argNames:
    - ctx
    - dst
    - src
    - x
    - y
    - op
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    - Jbig2Image*
    - int
    - int
    - Jbig2ComposeOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 333
    functionDepth: 2
    functionLinenumber: 333
    functionLinenumberEnd: 455
    functionName: jbig2_image_compose
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 4
    functionsReached:
    - jbig2_error
    - jbig2_image_compose_opt_XNOR
    - jbig2_image_compose_opt_OR
    - jbig2_image_compose_opt_AND
    - jbig2_image_compose_opt_REPLACE
    - jbig2_image_compose_opt_XOR
    linkageType: ''
    returnType: int
    signature: int jbig2_image_compose(Jbig2Ctx *ctx, Jbig2Image *dst, Jbig2Image
      *src, int x, int y, Jbig2ComposeOp op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ctx
    - image
    - value
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: jbig2_image_clear
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void jbig2_image_clear(Jbig2Ctx *ctx, Jbig2Image *image, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - image
    - x
    - y
    argTypes:
    - Jbig2Image*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 484
    functionName: jbig2_image_get_pixel
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jbig2_image_get_pixel(Jbig2Image *image, int x, int y)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - image
    - x
    - y
    - value
    argTypes:
    - Jbig2Image*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 506
    functionName: jbig2_image_set_pixel
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_image.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jbig2_image_set_pixel(Jbig2Image *image, int x, int y, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - mmr
    - width
    - height
    - data
    - size
    argTypes:
    - Jbig2MmrCtx*
    - int
    - int
    - byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 76
    functionName: jbig2_decode_mmr_init
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jbig2_decode_mmr_init(Jbig2MmrCtx *mmr, int width, int height,
      const byte *data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - mmr
    - n_bits
    argTypes:
    - Jbig2MmrCtx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 92
    functionName: jbig2_decode_mmr_consume
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jbig2_decode_mmr_consume(Jbig2MmrCtx *mmr, int n_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: getbit
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getbit(buf, x)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: getbit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:762,1
    - Dst: getbit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:795,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:802,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:814,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:828,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:846,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:851,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:859,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:864,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:872,1
    - Dst: getbit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:882,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 3
    argNames:
    - line
    - x
    - w
    argTypes:
    - byte*
    - uint32_t
    - uint32_t
    assertStmts:
    - condition: (x % 8 == 0)
      pos:
        line_end: 801
        line_start: 801
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (x % 32 == 0)
      pos:
        line_end: 827
        line_start: 827
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (x % 16 == 0)
      pos:
        line_end: 813
        line_start: 813
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (x % 16 == 0)
      pos:
        line_end: 845
        line_start: 845
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (w - x >= 16)
      pos:
        line_end: 850
        line_start: 850
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (x % 8 == 0)
      pos:
        line_end: 858
        line_start: 858
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (w - x >= 8)
      pos:
        line_end: 863
        line_start: 863
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    - condition: (x % 8 == 0)
      pos:
        line_end: 871
        line_start: 871
        source_file: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    constantsTouched: []
    func_position:
      end: 891
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 891
    functionName: jbig2_find_changing_element
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached:
    - getbit
    - assert
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_find_changing_element(const byte *line, uint32_t x,
      uint32_t w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_find_changing_element
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:898,1
    - Dst: getbit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:899,1
    - Dst: jbig2_find_changing_element
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - line
    - x
    - w
    - color
    argTypes:
    - byte*
    - uint32_t
    - uint32_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 902
    functionName: jbig2_find_changing_element_of_color
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached:
    - jbig2_find_changing_element
    - getbit
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t jbig2_find_changing_element_of_color(const byte *line, uint32_t
      x, uint32_t w, int color)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - line
    - x0
    - x1
    argTypes:
    - byte*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 927
    functionName: jbig2_set_bits
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jbig2_set_bits(byte *line, uint32_t x0, uint32_t x1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mmr
    - table
    - initial_bits
    argTypes:
    - Jbig2MmrCtx*
    - mmr_table_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 948
    functionName: jbig2_decode_get_code
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached:
    - jbig2_decode_mmr_consume
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_get_code(Jbig2MmrCtx *mmr, const mmr_table_node *table,
      int initial_bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_get_code
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:957,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:959,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:961,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - mmr
    - table
    - initial_bits
    argTypes:
    - Jbig2Ctx*
    - Jbig2MmrCtx*
    - mmr_table_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 950
    functionDepth: 2
    functionLinenumber: 950
    functionLinenumberEnd: 968
    functionName: jbig2_decode_get_run
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached:
    - jbig2_decode_get_code
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_get_run(Jbig2Ctx *ctx, Jbig2MmrCtx *mmr, const mmr_table_node
      *table, int initial_bits)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:988,1
    - Dst: jbig2_decode_get_run
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:994,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:996,1
    - Dst: jbig2_decode_get_run
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:997,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:999,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1008,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1012,1
    - Dst: jbig2_decode_get_run
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1015,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1017,1
    - Dst: jbig2_decode_get_run
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1018,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1020,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1029,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1033,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1040,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1041,1
    - Dst: jbig2_find_changing_element
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1042,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1045,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1049,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1056,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1057,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1060,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1064,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1072,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1073,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1078,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1082,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1090,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1091,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1096,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1100,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1108,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1109,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1114,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1118,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1126,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1127,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1132,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1136,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1144,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1145,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1150,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1154,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1162,1
    - Dst: jbig2_find_changing_element_of_color
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1163,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1168,1
    - Dst: jbig2_set_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1172,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1180,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 182
    argCount: 5
    argNames:
    - ctx
    - mmr
    - ref
    - dst
    - eofb
    argTypes:
    - Jbig2Ctx*
    - Jbig2MmrCtx*
    - byte*
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 1190
    functionName: jbig2_decode_mmr_line
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 0
    functionsReached:
    - jbig2_find_changing_element_of_color
    - jbig2_error
    - jbig2_find_changing_element
    - jbig2_decode_get_run
    - jbig2_decode_mmr_consume
    - jbig2_set_bits
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_mmr_line(Jbig2Ctx *ctx, Jbig2MmrCtx *mmr, const byte
      *ref, byte *dst, int *eofb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_mmr_init
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1203,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1206,1
    - Dst: jbig2_decode_mmr_line
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1207,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1209,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - data
    - size
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - byte*
    - size_t
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1192
    functionDepth: 4
    functionLinenumber: 1192
    functionLinenumberEnd: 1219
    functionName: jbig2_decode_generic_mmr
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 2
    functionsReached:
    - jbig2_decode_mmr_init
    - memset
    - jbig2_error
    - jbig2_decode_mmr_line
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_generic_mmr(Jbig2Ctx *ctx, Jbig2Segment *segment,
      const Jbig2GenericRegionParams *params, const byte *data, size_t size, Jbig2Image
      *image)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_mmr_init
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1247,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1250,1
    - Dst: jbig2_decode_mmr_line
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1251,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1253,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1259,1
    - Dst: jbig2_decode_mmr_consume
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c:1264,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - ctx
    - params
    - data
    - size
    - image
    - consumed_bytes
    argTypes:
    - Jbig2Ctx*
    - Jbig2GenericRegionParams*
    - byte*
    - size_t
    - Jbig2Image*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1235
    functionDepth: 4
    functionLinenumber: 1235
    functionLinenumberEnd: 1269
    functionName: jbig2_decode_halftone_mmr
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_mmr.c
    functionUses: 1
    functionsReached:
    - jbig2_error
    - jbig2_decode_mmr_consume
    - memset
    - jbig2_decode_mmr_init
    - jbig2_decode_mmr_line
    linkageType: ''
    returnType: int
    signature: int jbig2_decode_halftone_mmr(Jbig2Ctx *ctx, const Jbig2GenericRegionParams
      *params, const byte *data, size_t size, Jbig2Image *image, size_t *consumed_bytes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:42,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:44,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:46,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - segment
    - page
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2Page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: dump_page_info
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    linkageType: ''
    returnType: void
    signature: void dump_page_info(Jbig2Ctx *ctx, Jbig2Segment *segment, Jbig2Page
      *page)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:70,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:84,1
    - Dst: jbig2_renew
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:90,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:92,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:110,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:114,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:115,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:117,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:118,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:122,1
    - Dst: jbig2_get_int16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:126,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:137,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:144,1
    - Dst: dump_page_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:147,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:152,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:154,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:157,1
    - Dst: jbig2_image_clear
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:160,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:161,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 166
    functionName: jbig2_page_info
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - dump_page_info
    - jbig2_get_uint32
    - jbig2_error
    - jbig2_get_int16
    - jbig2_image_new
    - jbig2_renew
    - jbig2_image_clear
    linkageType: ''
    returnType: int
    signature: int jbig2_page_info(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t
      *segment_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:178,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:179,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:181,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: jbig2_end_of_stripe
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_end_of_stripe(Jbig2Ctx *ctx, Jbig2Segment *segment, const
      uint8_t *segment_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:213,1
    - Dst: jbig2_parse_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:215,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:219,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:226,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 231
    functionName: jbig2_complete_page
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_parse_segment
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_complete_page(Jbig2Ctx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:243,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:247,1
    - Dst: jbig2_complete_page
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:249,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:251,1
    - Dst: jbig2_image_write_pbm
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:254,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: jbig2_end_of_page
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_image_write_pbm
    - jbig2_complete_page
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_end_of_page(Jbig2Ctx *ctx, Jbig2Segment *segment, const uint8_t
      *segment_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:274,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:278,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:285,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:291,1
    - Dst: jbig2_image_resize
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:292,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:294,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:300,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 6
    argNames:
    - ctx
    - page
    - image
    - x
    - y
    - op
    argTypes:
    - Jbig2Ctx*
    - Jbig2Page*
    - Jbig2Image*
    - uint32_t
    - uint32_t
    - Jbig2ComposeOp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 305
    functionName: jbig2_page_add_result
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 2
    functionsReached:
    - jbig2_image_compose
    - jbig2_image_resize
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_page_add_result(Jbig2Ctx *ctx, Jbig2Page *page, Jbig2Image
      *image, uint32_t x, uint32_t y, Jbig2ComposeOp op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:331,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:336,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: jbig2_page_out
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_image_reference
    - jbig2_error
    linkageType: ''
    returnType: Jbig2Image
    signature: 'Jbig2Image *

      jbig2_page_out(Jbig2Ctx *ctx)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:359,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:361,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c:367,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - image
    argTypes:
    - Jbig2Ctx*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 368
    functionName: jbig2_release_page
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_page.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_error
    linkageType: ''
    returnType: void
    signature: void jbig2_release_page(Jbig2Ctx *ctx, Jbig2Image *image)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:104,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:107,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - allocator_
    - size
    argTypes:
    - Jbig2Allocator*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: jbig2dec_alloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - jbig2_error
    linkageType: ''
    returnType: void
    signature: void *jbig2dec_alloc(Jbig2Allocator *allocator_, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:131,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - allocator_
    - p
    argTypes:
    - Jbig2Allocator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: jbig2dec_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - free
    - memcpy
    linkageType: ''
    returnType: void
    signature: void jbig2dec_free(Jbig2Allocator *allocator_, void *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:151,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:156,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:161,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:168,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:175,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:184,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 3
    argNames:
    - allocator_
    - p
    - size
    argTypes:
    - Jbig2Allocator*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 189
    functionName: jbig2dec_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - jbig2_error
    - malloc
    - free
    - memcpy
    - realloc
    linkageType: ''
    returnType: void
    signature: void *jbig2dec_realloc(Jbig2Allocator *allocator_, void *p, size_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:197,1
    - Dst: SHA1_Init
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - params
    argTypes:
    - jbig2dec_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: hash_init
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    - SHA1_Init
    linkageType: ''
    returnType: void
    signature: void hash_init(jbig2dec_params_t *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - params
    - image
    argTypes:
    - jbig2dec_params_t*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: hash_image
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - SHA1_Update
    linkageType: ''
    returnType: void
    signature: void hash_image(jbig2dec_params_t *params, Jbig2Image *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Final
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:220,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - params
    - out
    argTypes:
    - jbig2dec_params_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: hash_print
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - snprintf
    - fprintf
    - SHA1_Final
    linkageType: ''
    returnType: void
    signature: void hash_print(jbig2dec_params_t *params, FILE *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - params
    argTypes:
    - jbig2dec_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: hash_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void hash_free(jbig2dec_params_t *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:240,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - params
    - format
    argTypes:
    - jbig2dec_params_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 249
    functionName: set_output_format
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int set_output_format(jbig2dec_params_t *params, const char *format)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt_long
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:271,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:278,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:285,1
    - Dst: print_version
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:296,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:297,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:306,1
    - Dst: set_output_format
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:309,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:315,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:317,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:321,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 3
    argNames:
    - argc
    - argv
    - params
    argTypes:
    - int
    - char*[]
    - jbig2dec_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 326
    functionName: parse_options
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - getopt_long
    - strdup
    - sscanf
    - set_output_format
    - print_version
    - fprintf
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: int parse_options(int argc, char *argv[], jbig2dec_params_t *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 333
    functionName: print_version
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_version(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 372
    functionName: print_usage
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int print_usage(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:405,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:408,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:414,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:420,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:422,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:429,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:433,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:435,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:445,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:447,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 67
    argCount: 4
    argNames:
    - error_callback_data
    - message
    - severity
    - seg_idx
    argTypes:
    - void*
    - char*
    - Jbig2Severity
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 449
    functionName: error_callback
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 2
    functionsReached:
    - strdup
    - free
    - fprintf
    - strcmp
    linkageType: ''
    returnType: void
    signature: void error_callback(void *error_callback_data, const char *message,
      Jbig2Severity severity, uint32_t seg_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - jbig2dec_error_callback_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: flush_errors
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void flush_errors(jbig2dec_error_callback_state_t *state)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:467,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:468,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:475,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:477,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:489,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:490,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:492,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:494,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:497,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:499,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:500,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:503,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - input_filename
    - extension
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 509
    functionName: make_output_filename
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - strlen
    - strrchr
    - malloc
    - fprintf
    - memcpy
    - exit
    linkageType: ''
    returnType: char
    signature: 'char *

      make_output_filename(const char *input_filename, const char *extension)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_image_write_png
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:517,1
    - Dst: jbig2_image_write_pbm
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:520,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - params
    - out
    - image
    argTypes:
    - jbig2dec_params_t*
    - FILE*
    - Jbig2Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 527
    functionName: write_page_image
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - fprintf
    - jbig2_image_write_png
    - jbig2_image_write_pbm
    linkageType: ''
    returnType: int
    signature: int write_page_image(jbig2dec_params_t *params, FILE *out, Jbig2Image
      *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:540,1
    - Dst: hash_print
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:541,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - params
    argTypes:
    - jbig2dec_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 545
    functionName: write_document_hash
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 0
    functionsReached:
    - strncmp
    - fprintf
    - hash_print
    linkageType: ''
    returnType: int
    signature: int write_document_hash(jbig2dec_params_t *params)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:570,1
    - Dst: hash_init
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:579,1
    - Dst: print_usage
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:583,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:584,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:587,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:595,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:597,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:605,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:607,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:611,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:613,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:614,1
    - Dst: print_usage
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:619,1
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:636,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:638,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:640,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:649,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:652,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:654,1
    - Dst: jbig2_data_in
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:659,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:662,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:664,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:668,1
    - Dst: jbig2_make_global_ctx
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:672,1
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:674,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:680,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:682,1
    - Dst: jbig2_data_in
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:686,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:688,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:693,1
    - Dst: jbig2_global_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:694,1
    - Dst: jbig2_complete_page
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:705,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:707,1
    - Dst: make_output_filename
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:715,1
    - Dst: make_output_filename
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:719,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:722,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:726,1
    - Dst: set_output_format
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:730,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:733,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:737,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:738,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:739,1
    - Dst: jbig2_page_out
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:745,1
    - Dst: write_page_image
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:746,1
    - Dst: hash_image
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:748,1
    - Dst: jbig2_release_page
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:749,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:753,1
    - Dst: write_document_hash
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:755,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:763,1
    - Dst: flush_errors
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:770,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:771,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:773,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:775,1
    - Dst: hash_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c:777,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 168
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 780
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2dec.c
    functionUses: 1
    functionsReached:
    - exit
    - strlen
    - hash_init
    - fprintf
    - flush_errors
    - fclose
    - jbig2_global_ctx_free
    - hash_image
    - set_output_format
    - write_document_hash
    - hash_free
    - print_usage
    - make_output_filename
    - parse_options
    - jbig2_ctx_free
    - jbig2_release_page
    - jbig2_make_global_ctx
    - fread
    - jbig2_error
    - free
    - fopen
    - jbig2_data_in
    - jbig2_complete_page
    - write_page_image
    - strncmp
    - jbig2_ctx_new
    - jbig2_page_out
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:64,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:68,1
    - Dst: Jbig2ArithState*::ws::get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:98,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:101,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:119,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:136,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:152,1
    - Dst: Jbig2ArithState*::ws::get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:158,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:161,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 2
    argNames:
    - ctx
    - as
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 183
    functionName: jbig2_arith_bytein
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 0
    functionsReached:
    - Jbig2ArithState*::ws::get_next_word
    - fprintf
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_arith_bytein(Jbig2Ctx *ctx, Jbig2ArithState *as)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:195,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:197,1
    - Dst: Jbig2ArithState*::ws::get_next_word
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:205,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:207,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:208,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:214,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:215,1
    - Dst: jbig2_arith_bytein
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:225,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:226,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:227,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - ctx
    - ws
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 237
    functionName: jbig2_arith_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 4
    functionsReached:
    - jbig2_arith_bytein
    - jbig2_error
    - jbig2_free
    - Jbig2ArithState*::ws::get_next_word
    - jbig2_new
    linkageType: ''
    returnType: Jbig2ArithState
    signature: 'Jbig2ArithState *

      jbig2_arith_new(Jbig2Ctx *ctx, Jbig2WordStream *ws)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_arith_bytein
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:303,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ctx
    - as
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 312
    functionName: jbig2_arith_renormd
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 0
    functionsReached:
    - jbig2_arith_bytein
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_arith_renormd(Jbig2Ctx *ctx, Jbig2ArithState *as)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:323,1
    - Dst: jbig2_arith_renormd
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:340,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:341,1
    - Dst: jbig2_arith_renormd
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:360,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - ctx
    - as
    - pcx
    argTypes:
    - Jbig2Ctx*
    - Jbig2ArithState*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 366
    functionName: jbig2_arith_decode
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 6
    functionsReached:
    - jbig2_arith_renormd
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_arith_decode(Jbig2Ctx *ctx, Jbig2ArithState *as, Jbig2ArithCx
      *pcx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - as
    - cx
    argTypes:
    - Jbig2ArithState*
    - Jbig2ArithCx
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: jbig2_arith_trace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void jbig2_arith_trace(Jbig2ArithState *as, Jbig2ArithCx cx)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - ctx
    - self
    - offset
    - word
    argTypes:
    - Jbig2Ctx*
    - Jbig2WordStream*
    - size_t
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 414
    functionName: test_get_word
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int test_get_word(Jbig2Ctx *ctx, Jbig2WordStream *self, size_t offset,
      uint32_t *word)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:425,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:428,1
    - Dst: jbig2_arith_trace
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:430,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:439,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:442,1
    - Dst: jbig2_arith_trace
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:443,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:447,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 452
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_arith.c
    functionUses: 1
    functionsReached:
    - jbig2_arith_decode
    - jbig2_arith_trace
    - jbig2_free
    - fprintf
    - jbig2_arith_new
    - jbig2_ctx_new
    - jbig2_ctx_free
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: Memento_checkBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkBlock(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: Memento_checkAllMemory
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkAllMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: Memento_check
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: Memento_setParanoia
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_setParanoia(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Memento_paranoidAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_paranoidAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: Memento_breakAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: Memento_breakOnFree
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakOnFree(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: Memento_breakOnRealloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakOnRealloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: Memento_getBlockNum
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_getBlockNum(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: Memento_find
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_find(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: Memento_breakpoint
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: Memento_failAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_failAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: Memento_failThisEvent
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_failThisEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: Memento_listBlocks
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listBlocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: Memento_listNewBlocks
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listNewBlocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: Memento_setMax
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_setMax(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: Memento_stats
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: Memento_label
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: Memento_info
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_info(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: Memento_listBlockInfo
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listBlockInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: Memento_takeByteRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeByteRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: Memento_dropByteRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropByteRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: Memento_takeShortRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeShortRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: Memento_dropShortRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropShortRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: Memento_takeIntRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeIntRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: Memento_dropIntRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropIntRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: Memento_takeRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: Memento_dropRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: Memento_adjustRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_adjustRef(A,V)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: Memento_reference
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_reference(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: Memento_checkPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: Memento_checkBytePointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkBytePointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Memento_checkShortPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkShortPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: Memento_checkIntPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkIntPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: Memento_tick
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: Memento_startLeaking
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_startLeaking()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: Memento_stopLeaking
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_stopLeaking()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: Memento_fin
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_fin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: Memento_bt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_bt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: Memento_sequence
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: Memento_squeezing
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_squeezing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - t
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: jbig2_new
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_priv.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jbig2_new(ctx, t, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - p
    - ','
    - t
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: jbig2_renew
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_priv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jbig2_renew(ctx, p, t, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: UB
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: B2I
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B2I(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: B2P
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B2P(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:109,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:110,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:111,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:129,1
    - Dst: __android_log_print
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:134,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:135,1
    - Dst: __android_log_print
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:142,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 151
    functionName: android_fprintf
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - usleep
    - va_start
    - va_end
    - memcpy
    - __android_log_print
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int android_fprintf(FILE *file, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:168,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:169,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:170,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:172,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:173,1
    - Dst: OutputDebugStringA
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:174,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: windows_fprintf
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    - vsnprintf
    - OutputDebugStringA
    linkageType: ''
    returnType: int
    signature: int windows_fprintf(FILE *file, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: VALGRIND_MAKE_MEM_NOACCESS
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_NOACCESS(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: VALGRIND_MAKE_MEM_UNDEFINED
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_UNDEFINED(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: VALGRIND_MAKE_MEM_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_DEFINED(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 381
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 395
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - S
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 441
    functionName: MEMENTO_ROUNDUP
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_ROUNDUP(S,N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: MEMBLK_SIZE
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: MEMBLK_FROMBLK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_FROMBLK(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: MEMBLK_TOBLK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_TOBLK(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    functionName: MEMBLK_POSTPTR
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_POSTPTR(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - msg
    - errnum
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: error2_cb
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error2_cb(void *data, const char *msg, int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:508,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - pc
    - symname
    - symval
    - symsize
    argTypes:
    - void*
    - uintptr_t
    - char*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: syminfo_cb
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void syminfo_cb(void *data, uintptr_t pc, const char *symname, uintptr_t
      symval, uintptr_t symsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_syminfo
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - msg
    - errnum
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 520
    functionName: error_cb
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_syminfo
    linkageType: ''
    returnType: void
    signature: void error_cb(void *data, const char *msg, int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:525,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - data
    - pc
    - fname
    - line
    - fn
    argTypes:
    - void*
    - uintptr_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: full_cb
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int full_cb(void *data, uintptr_t pc, const char *fname, int line,
      const char *fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_pcinfo
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 539
    functionName: print_stack_libbt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_pcinfo
    linkageType: ''
    returnType: void
    signature: void print_stack_libbt(void *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:553,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:556,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:557,1
    - Dst: system
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:558,1
    - Dst: backtrace_symbols
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:566,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:571,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:573,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 580
    functionName: print_stack_libbt_failed
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - getpid
    - printf
    - fprintf
    - snprintf
    - system
    linkageType: ''
    returnType: void
    signature: void print_stack_libbt_failed(void *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:590,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:592,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:594,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:596,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:598,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:602,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:603,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:604,1
    - Dst: backtrace_create_state
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:613,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:625,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 633
    functionName: init_libbt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - backtrace_create_state
    - dlsym
    - dlopen
    linkageType: ''
    returnType: int
    signature: int init_libbt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_symbols
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:638,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:642,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:645,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:648,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:652,1
    - Dst: init_libbt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:654,1
    - Dst: print_stack_value
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:655,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:661,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 662
    functionName: print_stack_default
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - strchr
    - fprintf
    - memcpy
    - init_libbt
    - print_stack_value
    linkageType: ''
    returnType: void
    signature: void print_stack_default(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 681
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - backtrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_stack_value
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:689,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - print_stack_value
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:751,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:755,1
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:758,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:764,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:775,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:780,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:785,1
    - Dst: Memento_SymInitialize
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:786,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 787
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - GetCurrentProcess
    - GetProcAddress
    - Memento_SymInitialize
    - LoadLibrary
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_CaptureStackBackTrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 797
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_CaptureStackBackTrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_SymFromAddr
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:813,1
    - Dst: Memento_SymGetLineFromAddr
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:814,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 817
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - Memento_SymFromAddr
    - Memento_SymGetLineFromAddr
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 831
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _Unwind_GetIP
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - arg
    argTypes:
    - struct _Unwind_Context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 854
    functionName: unwind_populate_callback
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - _Unwind_GetIP
    linkageType: ''
    returnType: _Unwind_Reason_Code
    signature: "_Unwind_Reason_Code unwind_populate_callback(struct _Unwind_Context
      *context,\n                                                    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _Unwind_Backtrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 856
    functionDepth: 0
    functionLinenumber: 856
    functionLinenumberEnd: 871
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - _Unwind_Backtrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:880,1
    - Dst: __cxa_demangle
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:884,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:886,1
    - Dst: free
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:887,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 894
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - __cxa_demangle
    - dladdr
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 899
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:924,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:930,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:935,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:941,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - head
    - type
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 945
    functionName: Memento_storeDetails
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_getStacktrace
    - VALGRIND_MAKE_MEM_NOACCESS
    - memcpy
    - MEMENTO_UNDERLYING_MALLOC
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: void Memento_storeDetails(Memento_BlkHeader *head, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:955,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 958
    functionName: (Memento_bt)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_showStacktrace
    - Memento_getStacktrace
    linkageType: ''
    returnType: void
    signature: void (Memento_bt)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:967,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skip2
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 970
    functionName: Memento_bt_internal
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_showStacktrace
    - Memento_getStacktrace
    linkageType: ''
    returnType: void
    signature: void Memento_bt_internal(int skip2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 984
    functionName: Memento_breakpoint
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_breakpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: MEMENTO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: MEMENTO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 998
    functionName: Memento_breakpointLocked
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakpointLocked()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1009,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1011,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1015,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1016,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1016,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1018,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1018,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1020,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1020,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1022,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1022,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1024,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - blks
    - b
    - type
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1025
    functionName: Memento_addBlockHead
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: "void Memento_addBlockHead(Memento_Blocks    *blks,\n                                 Memento_BlkHeader
      *b,\n                                 int                type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1031,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1037,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1039,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1043,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1044,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1044,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1046,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1046,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1048,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1048,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1050,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1050,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1052,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - blks
    - b
    - type
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1054
    functionName: Memento_addBlockTail
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: "void Memento_addBlockTail(Memento_Blocks    *blks,\n                                 Memento_BlkHeader
      *b,\n                                 int                type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1083,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1124
    functionName: Memento_Internal_checkAllocedBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_POSTPTR
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllocedBlock(Memento_BlkHeader *b, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1132,1
    - Dst: Memento_Internal_checkAllocedBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1165,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1166
    functionName: Memento_Internal_checkFreedBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_TOBLK
    - Memento_Internal_checkAllocedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkFreedBlock(Memento_BlkHeader *b, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1172,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1174,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1176,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1179,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - blks
    - b
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1187
    functionName: Memento_removeBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: "void Memento_removeBlock(Memento_Blocks    *blks,\n                                Memento_BlkHeader
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1197,1
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - head
    argTypes:
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1202
    functionName: free_block
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_FREE
    linkageType: ''
    returnType: void
    signature: void free_block(Memento_BlkHeader *head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1214,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1216,1
    - Dst: free_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - space
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1224
    functionName: Memento_Internal_makeSpace
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - free_block
    - MEMBLK_SIZE
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_makeSpace(size_t space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1235,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1236,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1236,1
    - Dst: app
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1238,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1240,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1240,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - blks
    - arg
    argTypes:
    - Memento_Blocks*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1247
    functionName: Memento_appBlocks
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - MEMBLK_POSTPTR
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlocks(Memento_Blocks *blks,\n                             int
      \            (*app)(Memento_BlkHeader *,\n                                                    void
      *),\n                             void           *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1261,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1263,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1263,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1267,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1268,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1268,1
    - Dst: app
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1270,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1271,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1271,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - blks
    - arg
    - b
    argTypes:
    - Memento_Blocks*
    - void*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1276
    functionName: Memento_appBlockUser
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlockUser(Memento_Blocks    *blks,\n                                int
      \               (*app)(Memento_BlkHeader *,\n                                                          void
      *),\n                                void              *arg,\n                                Memento_BlkHeader
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1285,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1286,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1286,1
    - Dst: app
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1288,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1289,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1289,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - blks
    - arg
    - b
    argTypes:
    - Memento_Blocks*
    - void*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1278
    functionDepth: 0
    functionLinenumber: 1278
    functionLinenumberEnd: 1292
    functionName: Memento_appBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - MEMBLK_POSTPTR
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlock(Memento_Blocks    *blks,\n                            int
      \               (*app)(Memento_BlkHeader *,\n                                                      void
      *),\n                            void              *arg,\n                            Memento_BlkHeader
      *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1298,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1299,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1300,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1302,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1304,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - b
    - space
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1308
    functionName: showBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_TOBLK
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: int
    signature: int showBlock(Memento_BlkHeader *b, int space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1315,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1324,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1326,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1328
    functionName: blockDisplay
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - fprintf
    linkageType: ''
    returnType: void
    signature: void blockDisplay(Memento_BlkHeader *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisplay
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1334,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1336,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1340
    functionName: Memento_listBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - blockDisplay
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: int
    signature: "int Memento_listBlock(Memento_BlkHeader *b,\n                             void
      \             *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDisplay
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1348,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1349,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1357,1
    - Dst: doNestedDisplay
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - b
    - depth
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1342
    functionDepth: 0
    functionLinenumber: 1342
    functionLinenumberEnd: 1361
    functionName: doNestedDisplay
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 1
    functionsReached:
    - blockDisplay
    - doNestedDisplay
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: "void doNestedDisplay(Memento_BlkHeader *b,\n                            int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1368
    functionName: ptrcmp
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ptrcmp(const void *a_, const void *b_)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1383,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1389,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1395,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1398,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1410,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1414,1
    - Dst: bsearch
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1425,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1428,1
    - Dst: doNestedDisplay
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1461,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1463,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1464,1
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1466,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1477,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1482
    functionName: Memento_listBlocksNested
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - qsort
    - MEMENTO_UNDERLYING_FREE
    - MEMBLK_FROMBLK
    - bsearch
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - fprintf
    - MEMENTO_UNDERLYING_MALLOC
    - VALGRIND_MAKE_MEM_DEFINED
    - doNestedDisplay
    linkageType: ''
    returnType: int
    signature: int Memento_listBlocksNested(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1486,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1487,1
    - Dst: Memento_listBlocksNested
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1488,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1493,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1494,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1495,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1498
    functionName: Memento_listBlocks
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    - Memento_listBlocksNested
    linkageType: ''
    returnType: void
    signature: void Memento_listBlocks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_listBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1507
    functionName: Memento_listNewBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_listBlock
    linkageType: ''
    returnType: int
    signature: "int Memento_listNewBlock(Memento_BlkHeader *b,\n                                void
      \             *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1512,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1515,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1516,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1517,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1518,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1509
    functionDepth: 0
    functionLinenumber: 1509
    functionLinenumberEnd: 1520
    functionName: Memento_listNewBlocks
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_listNewBlocks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1524,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1525,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1526,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1530
    functionName: Memento_endStats
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Memento_endStats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1535,1
    - Dst: Memento_endStats
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1536,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1538
    functionName: Memento_stats
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_endStats
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_stats(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1545,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1546,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1548,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1549,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1554,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1559
    functionName: showInfo
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_TOBLK
    - Memento_showStacktrace
    - fprintf
    linkageType: ''
    returnType: int
    signature: int showInfo(Memento_BlkHeader *b, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1565,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1566,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1567,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1570
    functionName: Memento_listBlockInfo
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_listBlockInfo(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1579,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1588
    functionName: Memento_nonLeakBlocksLeaked
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: int
    signature: int Memento_nonLeakBlocksLeaked(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkAllMemory
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1592,1
    - Dst: Memento_endStats
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1595,1
    - Dst: Memento_nonLeakBlocksLeaked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1596,1
    - Dst: Memento_listBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1597,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1599,1
    - Dst: Memento_listBlockInfo
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1600,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1602,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1607,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1609,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1611,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1615,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1616,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1620,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1623
    functionName: Memento_fin
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_listBlockInfo
    - Memento_endStats
    - Memento_nonLeakBlocksLeaked
    - Memento_checkAllMemory
    - fprintf
    - Memento_breakpoint
    - Memento_listBlocks
    linkageType: ''
    returnType: void
    signature: void Memento_fin(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1628,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1637,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1638,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1640,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1641,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1643,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1644,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1648,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1649,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1651,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1652,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1654,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1655,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1657,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1658,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1660,1
    - Dst: Memento_initMutex
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1662,1
    - Dst: Memento_initStacktracer
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1664,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1667
    functionName: Memento_init
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - atexit
    - Memento_initMutex
    - memset
    - Memento_breakpoint
    - getenv
    - atoi
    - Memento_initStacktracer
    linkageType: ''
    returnType: void
    signature: void Memento_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1679,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1680,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1687,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1699
    functionName: Memento_containsAddr
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_TOBLK
    linkageType: ''
    returnType: int
    signature: "int Memento_containsAddr(Memento_BlkHeader *b,\n                                void
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1706,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1710,1
    - Dst: showInfo
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1712,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1715,1
    - Dst: showInfo
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1717,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1718,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1701
    functionDepth: 0
    functionLinenumber: 1701
    functionLinenumberEnd: 1722
    functionName: Memento_info
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - printf
    - showInfo
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_info(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1746,1
    - Dst: Memento_bt_internal
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1748,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1750,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1743
    functionDepth: 0
    functionLinenumber: 1743
    functionLinenumberEnd: 1751
    functionName: Memento_signal
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - Memento_bt_internal
    linkageType: ''
    returnType: void
    signature: void Memento_signal(int sig)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1767,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1769,1
    - Dst: dup
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1776,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1781,1
    - Dst: Memento_bt_internal
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1782,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1783,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1786,1
    - Dst: waitpid
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1805,1
    - Dst: nanosleep
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1806,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1813,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1814,1
    - Dst: system
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1815,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1822,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1828,1
    - Dst: close
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1829,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1835
    functionName: squeeze
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - dup
    - signal
    - waitpid
    - sprintf
    - fork
    - close
    - dup2
    - fprintf
    - nanosleep
    - system
    - Memento_bt_internal
    linkageType: ''
    returnType: int
    signature: int squeeze(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1847,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1848,1
    - Dst: Memento_fin
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1850,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1851
    functionName: Memento_signal
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - getenv
    - Memento_fin
    - exit
    linkageType: ''
    returnType: void
    signature: void Memento_signal(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1853
    functionDepth: 0
    functionLinenumber: 1853
    functionLinenumberEnd: 1857
    functionName: squeeze
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int squeeze(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1863,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1864,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1865,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1871,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1872,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1873,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1875
    functionName: Memento_startFailing
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - signal
    - fprintf
    - fflush
    - Memento_bt
    linkageType: ''
    returnType: void
    signature: void Memento_startFailing(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkAllMemoryLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1885,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1901
    functionName: Memento_event
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - Memento_checkAllMemoryLocked
    linkageType: ''
    returnType: int
    signature: int Memento_event(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1906
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1906
    functionName: Memento_sequence
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_sequence(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1910,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1908
    functionDepth: 0
    functionLinenumber: 1908
    functionLinenumberEnd: 1914
    functionName: Memento_breakAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_breakAt(int event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1924,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1929,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1930,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1933,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1934,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1948
    functionName: safe_find_block
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_FROMBLK
    - Memento_appBlocks
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: void *safe_find_block(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1956,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1957,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1960,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1962,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1964,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ptr
    - label
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1966
    functionName: Memento_label
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - safe_find_block
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_label(void *ptr, const char *label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1970,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1971,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1971,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1973
    functionName: Memento_tick
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_event
    - MEMENTO_LOCK
    - Memento_breakpointLocked
    linkageType: ''
    returnType: void
    signature: void Memento_tick(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1979,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1979,1
    - Dst: Memento_startFailing
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1982,1
    - Dst: squeeze
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:1984,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 2005
    functionName: Memento_failThisEventLocked
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_event
    - Memento_startFailing
    - Memento_breakpointLocked
    - squeeze
    linkageType: ''
    returnType: int
    signature: int Memento_failThisEventLocked(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2012,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2014,1
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2015,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 2007
    functionDepth: 0
    functionLinenumber: 2007
    functionLinenumberEnd: 2018
    functionName: Memento_failThisEvent
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_failThisEventLocked
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: int
    signature: int Memento_failThisEvent(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2023,1
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2025,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2036,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2045,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2045,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2057,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2059,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2064,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - s
    - eventType
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2020
    functionDepth: 0
    functionLinenumber: 2020
    functionLinenumberEnd: 2065
    functionName: do_malloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_failThisEventLocked
    - Memento_addBlockHead
    - MEMBLK_TOBLK
    - memset
    - MEMENTO_UNDERLYING_MALLOC
    - Memento_storeDetails
    - MEMBLK_SIZE
    linkageType: ''
    returnType: void
    signature: void *do_malloc(size_t s, int eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2072,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2074,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2075,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2078
    functionName: Memento_malloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *Memento_malloc(size_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2085,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2087,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2088,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2090,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 2080
    functionDepth: 0
    functionLinenumber: 2080
    functionLinenumberEnd: 2093
    functionName: Memento_calloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_malloc
    - memset
    - Memento_init
    - MEMENTO_UNLOCK
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_calloc(size_t n, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blk
    - event
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2095
    functionDepth: 0
    functionLinenumber: 2095
    functionLinenumberEnd: 2100
    functionName: do_reference
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_storeDetails
    linkageType: ''
    returnType: void
    signature: void do_reference(Memento_BlkHeader *blk, int event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2111,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2113,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2117,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2119,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2120,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2123
      start: 2102
    functionDepth: 0
    functionLinenumber: 2102
    functionLinenumberEnd: 2123
    functionName: Memento_checkPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_info
    - fprintf
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkPointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2130,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2135,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2137,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2141,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2145,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2147,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2148,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2152
    functionName: Memento_checkBytePointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkBytePointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2159,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2166,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2168,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2170,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2174,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2175,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2176,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2177,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2154
    functionDepth: 0
    functionLinenumber: 2154
    functionLinenumberEnd: 2181
    functionName: Memento_checkShortPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkShortPointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2193,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2197,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2199,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2203,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2204,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2205,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2206,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2208,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2183
    functionDepth: 0
    functionLinenumber: 2183
    functionLinenumberEnd: 2210
    functionName: Memento_checkIntPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkIntPointerOrNull(void *blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2214,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2215,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2215,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2218
    functionName: do_takeRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *do_takeRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2223,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2225,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2225,1
    - Dst: Memento_checkBytePointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2230,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2232,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2233
    functionName: Memento_takeByteRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkBytePointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeByteRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2238,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2240,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2240,1
    - Dst: Memento_checkShortPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2245,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2235
    functionDepth: 0
    functionLinenumber: 2235
    functionLinenumberEnd: 2248
    functionName: Memento_takeShortRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkShortPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeShortRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2253,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2255,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2255,1
    - Dst: Memento_checkIntPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2260,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2250
    functionDepth: 0
    functionLinenumber: 2250
    functionLinenumberEnd: 2263
    functionName: Memento_takeIntRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkIntPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeIntRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2268,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2270,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2270,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2276
      start: 2265
    functionDepth: 0
    functionLinenumber: 2265
    functionLinenumberEnd: 2276
    functionName: Memento_takeRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_event
    - do_takeRef
    - Memento_init
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_takeRef(void *blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2280,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2281,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2281,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2284
    functionName: do_dropRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *do_dropRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2289,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2291,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2291,1
    - Dst: Memento_checkBytePointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2296,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2299
      start: 2286
    functionDepth: 0
    functionLinenumber: 2286
    functionLinenumberEnd: 2299
    functionName: Memento_dropByteRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkBytePointerOrNull
    - do_dropRef
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropByteRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2304,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2306,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2306,1
    - Dst: Memento_checkShortPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2311,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2301
    functionDepth: 0
    functionLinenumber: 2301
    functionLinenumberEnd: 2314
    functionName: Memento_dropShortRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_checkShortPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropShortRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2319,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2321,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2321,1
    - Dst: Memento_checkIntPointerOrNull
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2326,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2316
    functionDepth: 0
    functionLinenumber: 2316
    functionLinenumberEnd: 2329
    functionName: Memento_dropIntRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkIntPointerOrNull
    - do_dropRef
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropIntRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2334,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2336,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2336,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2331
    functionDepth: 0
    functionLinenumber: 2331
    functionLinenumberEnd: 2342
    functionName: Memento_dropRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_event
    - Memento_init
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_dropRef(void *blk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2346,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2346,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2353,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2358,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - blk
    - adjust
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2344
    functionDepth: 0
    functionLinenumber: 2344
    functionLinenumberEnd: 2363
    functionName: Memento_adjustRef
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_event
    - do_takeRef
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_adjustRef(void *blk, int adjust)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2371,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2373,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2374,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2374,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2377
    functionName: Memento_reference
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_init
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_reference(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2386,1
    - Dst: Memento_appBlockUser
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2387,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2391,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2392,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2393,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2394,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2397,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2398,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2399,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2401,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2406,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - memblk
    - action
    argTypes:
    - Memento_BlkHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2381
    functionDepth: 0
    functionLinenumber: 2381
    functionLinenumberEnd: 2417
    functionName: checkBlockUser
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - fprintf
    - Memento_appBlockUser
    - memset
    linkageType: ''
    returnType: int
    signature: int checkBlockUser(Memento_BlkHeader *memblk, const char *action)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2429,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2430,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2431,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2432,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2437,1
    - Dst: Memento_appBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2438,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2442,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2443,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2444,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2445,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2448,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2449,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2450,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2452,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2455,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2457,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - memblk
    - action
    argTypes:
    - Memento_BlkHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2419
    functionDepth: 0
    functionLinenumber: 2419
    functionLinenumberEnd: 2468
    functionName: checkBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - Memento_appBlock
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int checkBlock(Memento_BlkHeader *memblk, const char *action)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2474,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2474,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2479,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2480,1
    - Dst: checkBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2481,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2485,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2488,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2490,1
    - Dst: Memento_removeBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2495,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2497,1
    - Dst: Memento_Internal_makeSpace
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2498,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2498,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2499,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2500,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2500,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2503,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2503,1
    - Dst: Memento_addBlockTail
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2506,1
    - Dst: free_block
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - blk
    - eventType
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2510
    functionName: do_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_addBlockTail
    - free_block
    - Memento_breakpointLocked
    - MEMBLK_FROMBLK
    - MEMBLK_SIZE
    - MEMBLK_TOBLK
    - Memento_storeDetails
    - memset
    - VALGRIND_MAKE_MEM_DEFINED
    - checkBlock
    - Memento_event
    - Memento_removeBlock
    - Memento_Internal_makeSpace
    linkageType: ''
    returnType: void
    signature: void do_free(void *blk, int eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2515,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2517,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2518,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2512
    functionDepth: 0
    functionLinenumber: 2512
    functionLinenumberEnd: 2520
    functionName: Memento_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void Memento_free(void *blk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2528,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2531,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2532,1
    - Dst: checkBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2533,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2537,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2540,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2542,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2544,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2548,1
    - Dst: Memento_removeBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2549,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2550,1
    - Dst: MEMENTO_UNDERLYING_REALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2552,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2555,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2567,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2568,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2569,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2570,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2575,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2576,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2577,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2578,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2578,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2579,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2579,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2580,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2580,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2582,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2583,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - blk
    - newsize
    - type
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2584
    functionName: do_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - MEMBLK_FROMBLK
    - Memento_failThisEventLocked
    - Memento_addBlockHead
    - MEMBLK_TOBLK
    - MEMENTO_UNDERLYING_REALLOC
    - Memento_storeDetails
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMBLK_POSTPTR
    - checkBlock
    - Memento_removeBlock
    - MEMBLK_SIZE
    linkageType: ''
    returnType: void
    signature: void *do_realloc(void *blk, size_t newsize, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2591,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2595,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2596,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2597,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2601,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2602,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2603,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2607,1
    - Dst: do_realloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2608,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - blk
    - newsize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2586
    functionDepth: 0
    functionLinenumber: 2586
    functionLinenumberEnd: 2611
    functionName: Memento_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - do_realloc
    - do_malloc
    - Memento_init
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_realloc(void *blk, size_t newsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2621,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2622,1
    - Dst: checkBlockUser
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2623,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2626
    functionName: Memento_checkBlock
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - MEMBLK_FROMBLK
    - checkBlockUser
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_checkBlock(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_Internal_checkAllocedBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2633,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2636,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2639,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2640,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2645,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2648,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - memblk
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2663
    functionName: Memento_Internal_checkAllAlloced
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - Memento_breakpointLocked
    - fprintf
    - Memento_Internal_checkAllocedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllAlloced(Memento_BlkHeader *memblk, void
      *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Memento_Internal_checkFreedBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2669,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2672,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2675,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2678,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2679,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2681,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2684,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2688,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2691,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2695,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2696,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2702,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2704,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - memblk
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2665
    functionDepth: 0
    functionLinenumber: 2665
    functionLinenumberEnd: 2712
    functionName: Memento_Internal_checkAllFreed
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - Memento_Internal_checkFreedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllFreed(Memento_BlkHeader *memblk, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2720,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2721,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2715
    functionDepth: 0
    functionLinenumber: 2715
    functionLinenumberEnd: 2727
    functionName: Memento_checkAllMemoryLocked
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 1
    functionsReached:
    - memset
    - Memento_appBlocks
    linkageType: ''
    returnType: int
    signature: int Memento_checkAllMemoryLocked(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2734,1
    - Dst: Memento_checkAllMemoryLocked
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2735,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2736,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2743
      start: 2729
    functionDepth: 0
    functionLinenumber: 2729
    functionLinenumberEnd: 2743
    functionName: Memento_checkAllMemory
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 1
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_checkAllMemoryLocked
    - MEMENTO_LOCK
    - Memento_breakpoint
    linkageType: ''
    returnType: int
    signature: int Memento_checkAllMemory(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2745
    functionDepth: 0
    functionLinenumber: 2745
    functionLinenumberEnd: 2753
    functionName: Memento_setParanoia
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_setParanoia(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2755
    functionDepth: 0
    functionLinenumber: 2755
    functionLinenumberEnd: 2759
    functionName: Memento_paranoidAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_paranoidAt(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2768
      start: 2761
    functionDepth: 0
    functionLinenumber: 2761
    functionLinenumberEnd: 2768
    functionName: Memento_getBlockNum
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_FROMBLK
    linkageType: ''
    returnType: int
    signature: int Memento_getBlockNum(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2774,1
    - Dst: Memento_checkAllMemory
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2775,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2770
    functionDepth: 0
    functionLinenumber: 2770
    functionLinenumberEnd: 2778
    functionName: Memento_check
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkAllMemory
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Memento_check(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2785,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2789,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2791,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2795,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2796,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2797,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2802,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2804,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2808,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2809,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2810,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2813,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2780
    functionDepth: 0
    functionLinenumber: 2780
    functionLinenumberEnd: 2815
    functionName: Memento_find
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - fprintf
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_find(void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2821,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2825,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2827,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2831,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2832,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2833,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2835,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2836,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2841,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2843,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2847,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2848,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2849,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2852,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2817
    functionDepth: 0
    functionLinenumber: 2817
    functionLinenumberEnd: 2854
    functionName: Memento_breakOnFree
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_breakOnFree(void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2860,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2864,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2866,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2870,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2871,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2872,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2874,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2875,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2880,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2882,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2886,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2887,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2888,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2891,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2893
    functionName: Memento_breakOnRealloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_breakOnRealloc(void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_startFailing
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2900,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2895
    functionDepth: 0
    functionLinenumber: 2895
    functionLinenumberEnd: 2902
    functionName: Memento_failAt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - Memento_startFailing
    linkageType: ''
    returnType: int
    signature: int Memento_failAt(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2904
    functionDepth: 0
    functionLinenumber: 2904
    functionLinenumberEnd: 2908
    functionName: Memento_setMax
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Memento_setMax(size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2913
    functionName: Memento_startLeaking
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_startLeaking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2915
    functionDepth: 0
    functionLinenumber: 2915
    functionLinenumberEnd: 2918
    functionName: Memento_stopLeaking
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_stopLeaking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2920
    functionDepth: 0
    functionLinenumber: 2920
    functionLinenumberEnd: 2923
    functionName: Memento_squeezing
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_squeezing(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2935,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2939,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2940,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2930
    functionDepth: 0
    functionLinenumber: 2930
    functionLinenumberEnd: 2943
    functionName: '*operator new(size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *operator new(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2950,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2951,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2953
    functionName: operator delete(void *pointer)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void operator delete(void *pointer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2962,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2966,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2967,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2970
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2970
    functionName: '*operator new[](size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *operator new[](size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2974,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2975,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2972
    functionDepth: 0
    functionLinenumber: 2972
    functionLinenumberEnd: 2977
    functionName: operator delete[](void *pointer)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void operator delete[](void *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2984
    functionDepth: 0
    functionLinenumber: 2984
    functionLinenumberEnd: 2986
    functionName: (Memento_breakpoint)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakpoint)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 2991
    functionName: (Memento_checkBlock)(void *b)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_checkBlock)(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2993
    functionDepth: 0
    functionLinenumber: 2993
    functionLinenumberEnd: 2996
    functionName: (Memento_checkAllMemory)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_checkAllMemory)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2998
    functionDepth: 0
    functionLinenumber: 2998
    functionLinenumberEnd: 3001
    functionName: (Memento_check)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_check)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 3003
    functionDepth: 0
    functionLinenumber: 3003
    functionLinenumberEnd: 3006
    functionName: (Memento_setParanoia)(int i)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_setParanoia)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3011
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3011
    functionName: (Memento_paranoidAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_paranoidAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3016
    functionName: (Memento_breakAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_breakAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3021
      start: 3018
    functionDepth: 0
    functionLinenumber: 3018
    functionLinenumberEnd: 3021
    functionName: (Memento_getBlockNum)(void *i)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_getBlockNum)(void *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3023
    functionDepth: 0
    functionLinenumber: 3023
    functionLinenumberEnd: 3026
    functionName: (Memento_find)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_find)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3031
      start: 3028
    functionDepth: 0
    functionLinenumber: 3028
    functionLinenumberEnd: 3031
    functionName: (Memento_failAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_failAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3033
    functionDepth: 0
    functionLinenumber: 3033
    functionLinenumberEnd: 3035
    functionName: (Memento_breakOnFree)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakOnFree)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3037
    functionDepth: 0
    functionLinenumber: 3037
    functionLinenumberEnd: 3039
    functionName: (Memento_breakOnRealloc)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakOnRealloc)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 3041
    functionDepth: 0
    functionLinenumber: 3041
    functionLinenumberEnd: 3044
    functionName: '*(Memento_takeRef)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_takeRef)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 3046
    functionDepth: 0
    functionLinenumber: 3046
    functionLinenumberEnd: 3049
    functionName: '*(Memento_dropRef)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_dropRef)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - adjust
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3051
    functionDepth: 0
    functionLinenumber: 3051
    functionLinenumberEnd: 3054
    functionName: '*(Memento_adjustRef)(void *a, int adjust)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_adjustRef)(void *a, int adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3056
    functionDepth: 0
    functionLinenumber: 3056
    functionLinenumberEnd: 3059
    functionName: '*(Memento_reference)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_reference)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:3068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3069
      start: 3066
    functionDepth: 0
    functionLinenumber: 3066
    functionLinenumberEnd: 3069
    functionName: Memento_malloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_MALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:3073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3074
      start: 3071
    functionDepth: 0
    functionLinenumber: 3071
    functionLinenumberEnd: 3074
    functionName: Memento_free
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_FREE
    linkageType: ''
    returnType: void
    signature: void Memento_free(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_REALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:3078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3079
    functionName: Memento_realloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_REALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_realloc(void *b, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_CALLOC
      Src: /src/libspectre/ghostscript/jbig2dec/memento.c:3083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3084
      start: 3081
    functionDepth: 0
    functionLinenumber: 3081
    functionLinenumberEnd: 3084
    functionName: Memento_calloc
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_CALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_calloc(size_t n, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3088
      start: 3086
    functionDepth: 0
    functionLinenumber: 3086
    functionLinenumberEnd: 3088
    functionName: (Memento_listBlocks)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listBlocks)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3090
    functionDepth: 0
    functionLinenumber: 3090
    functionLinenumberEnd: 3092
    functionName: (Memento_listNewBlocks)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listNewBlocks)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3097
      start: 3094
    functionDepth: 0
    functionLinenumber: 3094
    functionLinenumberEnd: 3097
    functionName: (Memento_setMax)(size_t max)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t (Memento_setMax)(size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3099
    functionDepth: 0
    functionLinenumber: 3099
    functionLinenumberEnd: 3101
    functionName: (Memento_stats)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_stats)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - label
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3106
    functionName: '*(Memento_label)(void *ptr, const char *label)'
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_label)(void *ptr, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3110
    functionName: (Memento_info)(void *addr)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_info)(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3114
      start: 3112
    functionDepth: 0
    functionLinenumber: 3112
    functionLinenumberEnd: 3114
    functionName: (Memento_listBlockInfo)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listBlockInfo)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3118
    functionName: (Memento_startLeaking)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_startLeaking)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3120
    functionDepth: 0
    functionLinenumber: 3120
    functionLinenumberEnd: 3122
    functionName: (Memento_stopLeaking)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_stopLeaking)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3124
    functionDepth: 0
    functionLinenumber: 3124
    functionLinenumberEnd: 3127
    functionName: (Memento_squeezing)(void)
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_squeezing)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: rol
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rol(value, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: blk0
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: blk0
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk0(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: blk
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blk(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: R0
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R0(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: R1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: R2
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R2(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: R3
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R3(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: R4
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R4(v,w,x,y,z,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - context
    - msg
    argTypes:
    - SHA1_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: SHAPrintContext
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void SHAPrintContext(SHA1_CTX *context, char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:138,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:151,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:151,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:151,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:151,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:152,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:152,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:152,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:152,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:153,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:153,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:153,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:153,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:154,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:154,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:154,1
    - Dst: R0
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:154,1
    - Dst: R1
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:155,1
    - Dst: R1
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:155,1
    - Dst: R1
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:155,1
    - Dst: R1
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:155,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:156,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:156,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:156,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:156,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:157,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:157,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:157,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:157,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:158,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:158,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:158,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:158,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:159,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:159,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:159,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:159,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:160,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:160,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:160,1
    - Dst: R2
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:160,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:161,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:161,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:161,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:161,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:162,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:162,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:162,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:162,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:163,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:163,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:163,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:163,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:164,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:164,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:164,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:164,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:165,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:165,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:165,1
    - Dst: R3
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:165,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:166,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:166,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:166,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:166,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:167,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:167,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:167,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:167,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:168,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:168,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:168,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:168,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:169,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:169,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:169,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:169,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:170,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:170,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:170,1
    - Dst: R4
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 95
    argCount: 2
    argNames:
    - state
    - buffer
    argTypes:
    - uint32_t[]
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 181
    functionName: SHA1_Transform
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached:
    - R1
    - R0
    - memcpy
    - R2
    - R3
    - R4
    linkageType: ''
    returnType: void
    signature: void SHA1_Transform(uint32_t state[5], const uint8_t buffer[64])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA1_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: SHA1_Init
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SHA1_Init(SHA1_CTX *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SHAPrintContext
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:203,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:211,1
    - Dst: SHA1_Transform
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:212,1
    - Dst: SHA1_Transform
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:214,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:219,1
    - Dst: SHAPrintContext
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA1_CTX*
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 224
    functionName: SHA1_Update
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached:
    - SHAPrintContext
    - memcpy
    - SHA1_Transform
    linkageType: ''
    returnType: void
    signature: void SHA1_Update(SHA1_CTX *context, const uint8_t *data, const size_t
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:237,1
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:239,1
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:241,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:249,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:250,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:251,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:252,1
    - Dst: SHA1_Transform
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - context
    - digest
    argTypes:
    - SHA1_CTX*
    - uint8_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 257
    functionName: SHA1_Final
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached:
    - memset
    - SHA1_Transform
    - SHA1_Update
    linkageType: ''
    returnType: void
    signature: void SHA1_Final(SHA1_CTX *context, uint8_t digest[SHA1_DIGEST_SIZE])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:271,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:272,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:273,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:279,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:280,1
    - Dst: SHA1_Init
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:284,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:285,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:286,1
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:287,1
    - Dst: SHA1_Final
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:289,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:290,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:293,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:295,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 299
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached:
    - SHA1_Final
    - fread
    - puts
    - fclose
    - printf
    - fopen
    - SHA1_Init
    - fputs
    - feof
    - putchar
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:325,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - digest
    - output
    argTypes:
    - uint8_t[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 332
    functionName: digest_to_hex
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: void digest_to_hex(const uint8_t digest[SHA1_DIGEST_SIZE], char *output)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:342,1
    - Dst: SHA1_Init
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:345,1
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:346,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:346,1
    - Dst: SHA1_Final
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:347,1
    - Dst: digest_to_hex
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:348,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:350,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:351,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:352,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:354,1
    - Dst: SHA1_Init
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:359,1
    - Dst: SHA1_Update
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:361,1
    - Dst: SHA1_Final
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:362,1
    - Dst: digest_to_hex
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:363,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:364,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:365,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:367,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:368,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/jbig2dec/sha1.c:373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 334
    functionDepth: 4
    functionLinenumber: 334
    functionLinenumberEnd: 375
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/sha1.c
    functionUses: 1
    functionsReached:
    - SHA1_Final
    - strcmp
    - SHA1_Init
    - strlen
    - digest_to_hex
    - fprintf
    - SHA1_Update
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - image
    - x
    - y
    argTypes:
    - Jbig2Image*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 353
    functionName: jbig2_image_get_pixel_fast
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jbig2_image_get_pixel_fast(Jbig2Image *image, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - Jbig2Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: jbig2_generic_stats_size
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int jbig2_generic_stats_size(Jbig2Ctx *ctx, int template)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:379,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:411,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:413,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 428
    functionName: jbig2_decode_generic_template0
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - printf
    - fwrite
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template0(Jbig2Ctx *ctx,\n                               Jbig2Segment
      *segment,\n                               const Jbig2GenericRegionParams *params,
      Jbig2ArithState *as,\n                               Jbig2Image *image, Jbig2ArithCx
      *GB_stats)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: pixel_outside_field
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pixel_outside_field(x, y)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:444,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:445,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:446,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:447,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:448,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:470,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:474,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:476,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:477,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:479,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:480,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:482,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 503
    functionName: jbig2_decode_generic_template0_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - pixel_outside_field
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template0_unopt(Jbig2Ctx *ctx,\n                                     Jbig2Segment
      *segment,\n                                     const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:516,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:517,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:539,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:543,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:546,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:548,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 569
    functionName: jbig2_decode_generic_template1_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - pixel_outside_field
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template1_unopt(Jbig2Ctx *ctx,\n                                     Jbig2Segment
      *segment,\n                                     const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:585,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:617,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:619,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:626,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 634
    functionName: jbig2_decode_generic_template1
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - printf
    - fwrite
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template1(Jbig2Ctx *ctx,\n                               Jbig2Segment
      *segment,\n                               const Jbig2GenericRegionParams *params,
      Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:647,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:648,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:670,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:674,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:677,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:679,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 636
    functionDepth: 4
    functionLinenumber: 636
    functionLinenumberEnd: 701
    functionName: jbig2_decode_generic_template2_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - pixel_outside_field
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template2_unopt(Jbig2Ctx *ctx,\n                               Jbig2Segment
      *segment,\n                               const Jbig2GenericRegionParams *params,
      Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:717,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:749,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:751,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:758,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 766
    functionName: jbig2_decode_generic_template2
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - printf
    - fwrite
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template2(Jbig2Ctx *ctx,\n                                Jbig2Segment
      *segment,\n                                const Jbig2GenericRegionParams *params,
      Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:781,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:808,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:810,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 768
    functionDepth: 4
    functionLinenumber: 768
    functionLinenumberEnd: 824
    functionName: jbig2_decode_generic_template3
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - printf
    - fwrite
    - jbig2_arith_decode
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template3(Jbig2Ctx *ctx,\n                               Jbig2Segment
      *segment,\n                               const Jbig2GenericRegionParams *params,
      Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:837,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:838,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:853,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:857,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:859,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:861,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 826
    functionDepth: 4
    functionLinenumber: 826
    functionLinenumberEnd: 878
    functionName: jbig2_decode_generic_template3_unopt
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - pixel_outside_field
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template3_unopt(Jbig2Ctx *ctx,\n                                     Jbig2Segment
      *segment,\n                                     const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:885,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:890,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - image
    - row
    argTypes:
    - Jbig2Image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 892
    functionName: copy_prev_row
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: void copy_prev_row(Jbig2Image *image, int row)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:907,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:908,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:909,1
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:910,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:911,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:924,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:926,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:947,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:953,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:955,1
    - Dst: copy_prev_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:974,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1022,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1024,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1045,1
    - Dst: jbig2_image_get_pixel_fast
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1053,1
    - Dst: jbig2_image_get_pixel_fast
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1054,1
    - Dst: jbig2_image_get_pixel_fast
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1055,1
    - Dst: jbig2_image_get_pixel_fast
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1056,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1060,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1061,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1062,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1063,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1065,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1067,1
    - Dst: copy_prev_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1087,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 143
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 1092
    functionName: jbig2_decode_generic_template0_TPGDON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_image_get_pixel_fast
    - jbig2_error
    - copy_prev_row
    - pixel_outside_field
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template0_TPGDON(Jbig2Ctx *ctx,\n                                      Jbig2Segment
      *segment,\n                                      const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1105,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1106,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1110,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1112,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1133,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1137,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1140,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1142,1
    - Dst: copy_prev_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1162,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1094
    functionDepth: 4
    functionLinenumber: 1094
    functionLinenumberEnd: 1167
    functionName: jbig2_decode_generic_template1_TPGDON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_error
    - copy_prev_row
    - pixel_outside_field
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template1_TPGDON(Jbig2Ctx *ctx,\n                                      Jbig2Segment
      *segment,\n                                      const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1180,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1181,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1185,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1187,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1208,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1212,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1215,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1217,1
    - Dst: copy_prev_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1237,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1242
    functionName: jbig2_decode_generic_template2_TPGDON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_error
    - copy_prev_row
    - pixel_outside_field
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template2_TPGDON(Jbig2Ctx *ctx,\n                                      Jbig2Segment
      *segment,\n                                      const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pixel_outside_field
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1255,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1256,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1260,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1262,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1276,1
    - Dst: jbig2_image_get_pixel
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1280,1
    - Dst: jbig2_arith_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1282,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1284,1
    - Dst: copy_prev_row
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1244
    functionDepth: 4
    functionLinenumber: 1244
    functionLinenumberEnd: 1305
    functionName: jbig2_decode_generic_template3_TPGDON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_get_pixel
    - jbig2_arith_decode
    - jbig2_error
    - copy_prev_row
    - pixel_outside_field
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_template3_TPGDON(Jbig2Ctx *ctx,\n                                      Jbig2Segment
      *segment,\n                                      const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_generic_template0_TPGDON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1314,1
    - Dst: jbig2_decode_generic_template1_TPGDON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1316,1
    - Dst: jbig2_decode_generic_template2_TPGDON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1318,1
    - Dst: jbig2_decode_generic_template3_TPGDON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1320,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1307
    functionDepth: 5
    functionLinenumber: 1307
    functionLinenumberEnd: 1324
    functionName: jbig2_decode_generic_region_TPGDON
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_decode_generic_template2_TPGDON
    - jbig2_error
    - jbig2_decode_generic_template1_TPGDON
    - jbig2_decode_generic_template3_TPGDON
    - jbig2_decode_generic_template0_TPGDON
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_region_TPGDON(Jbig2Ctx *ctx,\n                                   Jbig2Segment
      *segment,\n                                   const Jbig2GenericRegionParams
      *params, Jbig2ArithState *as, Jbig2Image *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_decode_generic_region_TPGDON
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1350,1
    - Dst: jbig2_decode_generic_template0
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1354,1
    - Dst: jbig2_decode_generic_template0_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1356,1
    - Dst: jbig2_decode_generic_template1
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1359,1
    - Dst: jbig2_decode_generic_template1_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1361,1
    - Dst: jbig2_decode_generic_template2
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1365,1
    - Dst: jbig2_decode_generic_template2_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1367,1
    - Dst: jbig2_decode_generic_template3
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1370,1
    - Dst: jbig2_decode_generic_template3_unopt
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1372,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1379,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1382,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 27
    argCount: 6
    argNames:
    - ctx
    - segment
    - params
    - as
    - image
    - GB_stats
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2GenericRegionParams*
    - Jbig2ArithState*
    - Jbig2Image*
    - Jbig2ArithCx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1343
    functionDepth: 6
    functionLinenumber: 1343
    functionLinenumberEnd: 1383
    functionName: jbig2_decode_generic_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 3
    functionsReached:
    - jbig2_decode_generic_template0_unopt
    - jbig2_decode_generic_template3
    - jbig2_decode_generic_template1
    - jbig2_error
    - jbig2_decode_generic_template2_unopt
    - jbig2_decode_generic_template0
    - jbig2_decode_generic_template1_unopt
    - jbig2_decode_generic_region_TPGDON
    - jbig2_decode_generic_template3_unopt
    - jbig2_decode_generic_template2
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_generic_region(Jbig2Ctx *ctx,\n                            Jbig2Segment
      *segment, const Jbig2GenericRegionParams *params, Jbig2ArithState *as, Jbig2Image
      *image, Jbig2ArithCx *GB_stats)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1407,1
    - Dst: jbig2_get_region_segment_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1409,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1410,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1416,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1422,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1424,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1430,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1431,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1432,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1439,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1446,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1450,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1458,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1466,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1470,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1472,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1473,1
    - Dst: jbig2_decode_generic_mmr
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1476,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1478,1
    - Dst: jbig2_generic_stats_size
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1482,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1484,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1486,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1489,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1491,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1493,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1496,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1498,1
    - Dst: jbig2_decode_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1501,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1503,1
    - Dst: jbig2_page_add_result
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1508,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1510,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1513,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1514,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1515,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c:1516,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 99
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1388
    functionDepth: 7
    functionLinenumber: 1388
    functionLinenumberEnd: 1519
    functionName: jbig2_immediate_generic_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_generic.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_error
    - jbig2_free
    - jbig2_word_stream_buf_new
    - jbig2_page_add_result
    - jbig2_decode_generic_mmr
    - jbig2_generic_stats_size
    - jbig2_word_stream_buf_free
    - memcpy
    - memset
    - jbig2_arith_new
    - jbig2_image_new
    - jbig2_decode_generic_region
    - jbig2_get_region_segment_info
    - jbig2_new
    linkageType: ''
    returnType: int
    signature: int jbig2_immediate_generic_region(Jbig2Ctx *ctx, Jbig2Segment *segment,
      const byte *segment_data)
  - BBCount: 82
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:91,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:101,1
    - Dst: jbig2_huffman_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:102,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:104,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:112,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:114,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:118,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:123,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:128,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:130,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:135,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:137,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:142,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:144,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:148,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:152,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:162,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:171,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:173,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:175,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:177,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:181,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:185,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:187,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:200,1
    - Dst: jbig2_huffman_skip
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:209,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:212,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:217,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:220,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:221,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:224,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:225,1
    - Dst: jbig2_image_clear
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:230,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:234,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:236,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:239,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:243,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:256,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:258,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:261,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:265,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:278,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:280,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:283,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:287,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:295,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:300,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:302,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:305,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:309,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:319,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:321,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:324,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:328,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:335,1
    - Dst: jbig2_arith_iaid_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:337,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:340,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:344,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:348,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:358,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:360,1
    - Dst: jbig2_huffman_get_bits
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:365,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:367,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:370,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:374,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:393,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:394,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:395,1
    - Dst: jbig2_arith_int_decode
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:396,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:398,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:399,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:400,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:401,1
    - Dst: jbig2_huffman_get
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:402,1
    - Dst: jbig2_huffman_skip
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:403,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:407,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:408,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:412,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:421,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:424,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:426,1
    - Dst: jbig2_image_clear
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:429,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:437,1
    - Dst: jbig2_decode_refinement_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:438,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:440,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:444,1
    - Dst: jbig2_huffman_advance
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:452,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:454,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:537,1
    - Dst: jbig2_image_compose
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:540,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:542,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:556,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:564,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:565,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:566,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:568,1
    - Dst: jbig2_huffman_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:570,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 433
    argCount: 11
    argNames:
    - ctx
    - segment
    - params
    - dicts
    - n_dicts
    - image
    - data
    - size
    - GR_stats
    - as
    - ws
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - Jbig2TextRegionParams*
    - Jbig2SymbolDict**
    - uint32_t
    - Jbig2Image*
    - byte*
    - size_t
    - Jbig2ArithCx*
    - Jbig2ArithState*
    - Jbig2WordStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 59
    functionDepth: 4
    functionLinenumber: 59
    functionLinenumberEnd: 573
    functionName: jbig2_decode_text_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c
    functionUses: 1
    functionsReached:
    - jbig2_image_release
    - jbig2_arith_iaid_decode
    - jbig2_image_new
    - jbig2_image_reference
    - jbig2_huffman_new
    - jbig2_huffman_advance
    - jbig2_release_huffman_table
    - jbig2_image_clear
    - jbig2_huffman_get
    - jbig2_huffman_free
    - jbig2_error
    - jbig2_build_huffman_table
    - jbig2_free
    - jbig2_image_compose
    - jbig2_huffman_get_bits
    - jbig2_huffman_skip
    - jbig2_new
    - memcpy
    - jbig2_decode_refinement_region
    - jbig2_arith_int_decode
    linkageType: ''
    returnType: int
    signature: "int jbig2_decode_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment,\n
      \                        const Jbig2TextRegionParams *params,\n                         const
      Jbig2SymbolDict *const *dicts, const uint32_t n_dicts,\n                         Jbig2Image
      *image, const byte *data, const size_t size, Jbig2ArithCx *GR_stats, Jbig2ArithState
      *as, Jbig2WordStream *ws)"
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:597,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:601,1
    - Dst: jbig2_get_region_segment_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:604,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:608,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:612,1
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:615,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:618,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:635,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:641,1
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:644,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:648,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:653,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:667,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:670,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:680,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:683,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:686,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:688,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:691,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:696,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:701,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:707,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:710,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:713,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:716,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:718,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:721,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:726,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:732,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:735,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:738,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:741,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:743,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:746,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:751,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:757,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:760,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:763,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:765,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:768,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:773,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:778,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:784,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:787,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:790,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:792,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:795,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:800,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:805,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:811,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:814,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:817,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:819,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:822,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:827,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:832,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:838,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:841,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:844,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:846,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:849,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:854,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:859,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:865,1
    - Dst: jbig2_find_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:868,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:870,1
    - Dst: jbig2_build_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:873,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:878,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:883,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:890,1
    - Dst: jbig2_sd_count_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:894,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:896,1
    - Dst: jbig2_sd_list_referred
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:898,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:900,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:906,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:911,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:921,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:923,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:926,1
    - Dst: jbig2_image_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:929,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:931,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:936,1
    - Dst: jbig2_word_stream_buf_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:939,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:941,1
    - Dst: jbig2_arith_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:945,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:947,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:960,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:961,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:962,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:963,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:965,1
    - Dst: jbig2_arith_iaid_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:972,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:973,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:974,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:975,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:976,1
    - Dst: jbig2_arith_int_ctx_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:977,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:980,1
    - Dst: jbig2_decode_text_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:985,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:989,1
    - Dst: jbig2_image_reference
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:995,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:998,1
    - Dst: jbig2_page_add_result
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1000,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1002,1
    - Dst: jbig2_arith_iaid_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1007,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1008,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1009,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1010,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1011,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1012,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1017,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1018,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1019,1
    - Dst: jbig2_arith_int_ctx_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1020,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1024,1
    - Dst: jbig2_word_stream_buf_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1025,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1028,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1029,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1033,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1034,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1035,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1036,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1037,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1038,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1039,1
    - Dst: jbig2_release_huffman_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1040,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c:1042,1
    CyclomaticComplexity: 133
    EdgeCount: 133
    ICount: 422
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 578
    functionDepth: 5
    functionLinenumber: 578
    functionLinenumberEnd: 1045
    functionName: jbig2_text_region
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_text.c
    functionUses: 0
    functionsReached:
    - jbig2_image_release
    - jbig2_arith_iaid_ctx_free
    - jbig2_image_new
    - jbig2_image_reference
    - jbig2_arith_iaid_ctx_new
    - jbig2_arith_int_ctx_new
    - jbig2_page_add_result
    - jbig2_word_stream_buf_free
    - jbig2_release_huffman_table
    - memset
    - jbig2_arith_new
    - jbig2_decode_text_region
    - jbig2_get_uint32
    - jbig2_error
    - jbig2_build_huffman_table
    - jbig2_word_stream_buf_new
    - jbig2_free
    - jbig2_find_table
    - jbig2_sd_list_referred
    - jbig2_sd_count_referred
    - jbig2_new
    - jbig2_arith_int_ctx_free
    - jbig2_get_uint16
    - jbig2_get_region_segment_info
    linkageType: ''
    returnType: int
    signature: int jbig2_text_region(Jbig2Ctx *ctx, Jbig2Segment *segment, const byte
      *segment_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:58,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:60,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:65,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:67,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:68,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:78,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:91,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:92,1
    - Dst: jbig2_new
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:100,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:102,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:103,1
    - Dst: jbig2_get_uint16
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:110,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:110,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:112,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:122,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:127,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 60
    argCount: 4
    argNames:
    - ctx
    - buf
    - buf_size
    - p_header_size
    argTypes:
    - Jbig2Ctx*
    - uint8_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 138
    functionName: jbig2_parse_segment_header
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 1
    functionsReached:
    - jbig2_get_uint32
    - jbig2_error
    - jbig2_free
    - jbig2_get_uint16
    - jbig2_new
    linkageType: ''
    returnType: Jbig2Segment
    signature: 'Jbig2Segment *

      jbig2_parse_segment_header(Jbig2Ctx *ctx, uint8_t *buf, size_t buf_size, size_t
      *p_header_size)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:146,1
    - Dst: jbig2_sd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:153,1
    - Dst: jbig2_image_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:158,1
    - Dst: jbig2_hd_release
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:162,1
    - Dst: jbig2_table_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:166,1
    - Dst: jbig2_free
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:172,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - ctx
    - segment
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: jbig2_free_segment
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 1
    functionsReached:
    - jbig2_image_release
    - jbig2_hd_release
    - jbig2_free
    - jbig2_table_free
    - jbig2_sd_release
    linkageType: ''
    returnType: void
    signature: void jbig2_free_segment(Jbig2Ctx *ctx, Jbig2Segment *segment)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - number
    argTypes:
    - Jbig2Ctx*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 194
    functionName: jbig2_find_segment
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Jbig2Segment
    signature: 'Jbig2Segment *

      jbig2_find_segment(Jbig2Ctx *ctx, uint32_t number)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:201,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:202,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:203,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - info
    - segment_data
    argTypes:
    - Jbig2RegionSegmentInfo*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: jbig2_get_region_segment_info
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 4
    functionsReached:
    - jbig2_get_uint32
    linkageType: ''
    returnType: void
    signature: void jbig2_get_region_segment_info(Jbig2RegionSegmentInfo *info, const
      uint8_t *segment_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:218,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:220,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:229,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:234,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:237,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:241,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 248
    functionName: jbig2_parse_extension_segment
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_parse_extension_segment(Jbig2Ctx *ctx, Jbig2Segment *segment,
      const uint8_t *segment_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:265,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:268,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:273,1
    - Dst: jbig2_get_uint32
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:275,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:323,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:324,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:325,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:326,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:327,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:328,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 332
    functionName: jbig2_parse_profile_segment
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 0
    functionsReached:
    - jbig2_get_uint32
    - jbig2_error
    linkageType: ''
    returnType: int
    signature: int jbig2_parse_profile_segment(Jbig2Ctx *ctx, Jbig2Segment *segment,
      const uint8_t *segment_data)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:338,1
    - Dst: jbig2_symbol_dictionary
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:342,1
    - Dst: jbig2_text_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:346,1
    - Dst: jbig2_pattern_dictionary
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:348,1
    - Dst: jbig2_halftone_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:352,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:354,1
    - Dst: jbig2_immediate_generic_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:357,1
    - Dst: jbig2_refinement_region
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:361,1
    - Dst: jbig2_page_info
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:363,1
    - Dst: jbig2_end_of_page
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:365,1
    - Dst: jbig2_end_of_stripe
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:367,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:370,1
    - Dst: jbig2_parse_profile_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:373,1
    - Dst: jbig2_table
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:375,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:377,1
    - Dst: jbig2_parse_extension_segment
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:379,1
    - Dst: jbig2_error
      Src: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c:381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 46
    argCount: 3
    argNames:
    - ctx
    - segment
    - segment_data
    argTypes:
    - Jbig2Ctx*
    - Jbig2Segment*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 335
    functionDepth: 8
    functionLinenumber: 335
    functionLinenumberEnd: 384
    functionName: jbig2_parse_segment
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_segment.c
    functionUses: 2
    functionsReached:
    - jbig2_pattern_dictionary
    - jbig2_refinement_region
    - jbig2_end_of_page
    - jbig2_end_of_stripe
    - jbig2_error
    - jbig2_text_region
    - jbig2_halftone_region
    - jbig2_symbol_dictionary
    - jbig2_page_info
    - jbig2_parse_extension_segment
    - jbig2_table
    - jbig2_immediate_generic_region
    - jbig2_parse_profile_segment
    linkageType: ''
    returnType: int
    signature: int jbig2_parse_segment(Jbig2Ctx *ctx, Jbig2Segment *segment, const
      uint8_t *segment_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: JBIG2_COUNTOF
    functionSourceFile: /src/libspectre/ghostscript/jbig2dec/jbig2_hufftab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JBIG2_COUNTOF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: FCLOSE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FCLOSE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: pngtest_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: pngtest_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug1(m,p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: pngtest_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug2(m,p1,p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: pngtest_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: pngtest_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug1(m,p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: pngtest_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pngtest_debug2(m,p1,p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: PNG_UNUSED
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_UNUSED(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ts
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: png_convert_to_rfc1123_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_convert_to_rfc1123_buffer(ts, t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_convert_to_rfc1123
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:133,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - ts
    - t
    argTypes:
    - png_structp
    - png_charp
    - png_const_timep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: tIME_to_str
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_convert_to_rfc1123
    - strcpy
    linkageType: ''
    returnType: int
    signature: int tIME_to_str(png_structp png_ptr, png_charp ts, png_const_timep
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: png_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_jmpbuf(png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: MEMZERO
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMZERO(var)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - png_ptr
    - row_number
    - pass
    argTypes:
    - png_structp
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: read_row_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void read_row_callback(png_structp png_ptr, png_uint_32 row_number,
      int pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - row_number
    - pass
    argTypes:
    - png_structp
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: write_row_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_row_callback(png_structp png_ptr, png_uint_32 row_number,
      int pass)
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 3
    argNames:
    - png_ptr
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 333
    functionName: count_zero_samples
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void count_zero_samples(png_structp png_ptr, png_row_infop row_info,
      png_bytep data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_state
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:354,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:359,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:384,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - png_ptr
    - data_length
    - io_op
    argTypes:
    - png_structp
    - size_t
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 385
    functionName: pngtest_check_io_state
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_io_state
    linkageType: ''
    returnType: void
    signature: "void pngtest_check_io_state(png_structp png_ptr, size_t data_length,\n
      \   png_uint_32 io_op)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:397,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:400,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:405,1
    - Dst: pngtest_check_io_state
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 411
    functionName: pngtest_read_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_io_ptr
    - fread
    - pngtest_check_io_state
    linkageType: ''
    returnType: void
    signature: void pngtest_read_data(png_structp png_ptr, png_bytep data, size_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:432,1
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:432,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:436,1
    - Dst: pngtest_check_io_state
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 442
    functionName: pngtest_write_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_io_ptr
    - fwrite
    - pngtest_check_io_state
    linkageType: ''
    returnType: void
    signature: void pngtest_write_data(png_structp png_ptr, png_bytep data, size_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:460,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:467,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 468
    functionName: pngtest_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: void pngtest_warning(png_structp png_ptr, png_const_charp message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pngtest_warning
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 484
    functionName: pngtest_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - pngtest_warning
    linkageType: ''
    returnType: void
    signature: void pngtest_error(png_structp png_ptr, png_const_charp message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_set_mem_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:534,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:535,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:545,1
    - Dst: png_set_mem_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:548,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:555,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:562,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - png_ptr
    - size
    argTypes:
    - png_structp
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 570
    functionName: png_debug_malloc
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    - printf
    - png_malloc
    - memset
    - png_set_mem_fn
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_debug_malloc(png_structp png_ptr, png_alloc_size_t size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:577,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:582,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:601,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:604,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:605,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:612,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:622,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 2
    argNames:
    - png_ptr
    - ptr
    argTypes:
    - png_structp
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 627
    functionName: png_debug_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - printf
    - memset
    - free
    - fprintf
    linkageType: ''
    returnType: void
    signature: void png_debug_free(png_structp png_ptr, png_voidp ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMZERO
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - info_ptr
    argTypes:
    - png_const_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 660
    functionName: init_callback_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - MEMZERO
    linkageType: ''
    returnType: void
    signature: void init_callback_info(png_const_infop info_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:676,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - png_ptr
    - data
    - what
    argTypes:
    - png_structp
    - struct user_chunk_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 689
    functionName: set_location
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_get_valid
    linkageType: ''
    returnType: int
    signature: int set_location(png_structp png_ptr, struct user_chunk_data *data,
      int what)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_get_user_chunk_ptr
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:695,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:698,1
    - Dst: set_location
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:723,1
    - Dst: set_location
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:742,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:745,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:746,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 2
    argNames:
    - png_ptr
    - chunk
    argTypes:
    - png_struct*
    - png_unknown_chunkp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 750
    functionName: read_user_chunk_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_user_chunk_ptr
    - png_get_uint_31
    - set_location
    linkageType: ''
    returnType: int
    signature: int read_user_chunk_callback(png_struct *png_ptr, png_unknown_chunkp
      chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:759,1
    - Dst: png_write_chunk
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - write_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 762
    functionName: write_sTER_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_write_chunk
    - fprintf
    linkageType: ''
    returnType: void
    signature: void write_sTER_chunk(png_structp write_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:772,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:777,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:778,1
    - Dst: png_write_chunk
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - write_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 781
    functionName: write_vpAg_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_write_chunk
    - fprintf
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: void write_vpAg_chunk(png_structp write_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_sTER_chunk
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:797,1
    - Dst: write_vpAg_chunk
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:800,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - write_ptr
    - location
    argTypes:
    - png_structp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 802
    functionName: write_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - write_vpAg_chunk
    - write_sTER_chunk
    linkageType: ''
    returnType: void
    signature: void write_chunks(png_structp write_ptr, int location)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    functionName: write_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write_chunks(pp,loc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:843,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - png_ptr
    - text_ptr
    - num_text
    argTypes:
    - png_structp
    - png_textp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 847
    functionName: pngtest_check_text_support
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: void
    signature: "void pngtest_check_text_support(png_structp png_ptr, png_textp text_ptr,\n
      \   int num_text)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:882,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:884,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:888,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:890,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:891,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:895,1
    - Dst: png_create_read_struct_2
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:898,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:902,1
    - Dst: png_set_error_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:904,1
    - Dst: png_create_write_struct_2
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:910,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:914,1
    - Dst: png_set_error_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:916,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:919,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:920,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:921,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:923,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:924,1
    - Dst: init_callback_info
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:928,1
    - Dst: png_set_read_user_chunk_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:929,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:934,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:935,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:935,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:937,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:938,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:941,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:942,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:945,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:946,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:947,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:949,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:950,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:955,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:957,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:957,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:959,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:960,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:963,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:964,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:966,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:967,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:968,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:969,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:970,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:980,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:984,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:996,1
    - Dst: png_set_crc_action
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:999,1
    - Dst: png_set_option
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1003,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1007,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1013,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1015,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1017,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1020,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1022,1
    - Dst: png_set_write_status_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1034,1
    - Dst: png_set_read_status_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1036,1
    - Dst: png_set_write_status_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1042,1
    - Dst: png_set_read_status_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1044,1
    - Dst: png_set_read_user_transform_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1048,1
    - Dst: png_set_write_user_transform_fn
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1052,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1065,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1069,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1074,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1075,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1086,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1090,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1093,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1109,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1115,1
    - Dst: png_get_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1123,1
    - Dst: png_set_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1126,1
    - Dst: png_get_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1135,1
    - Dst: png_set_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1136,1
    - Dst: png_get_cHRM
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1146,1
    - Dst: png_set_cHRM
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1149,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1158,1
    - Dst: png_set_gAMA
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1159,1
    - Dst: png_get_iCCP
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1171,1
    - Dst: png_set_iCCP
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1174,1
    - Dst: png_get_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1183,1
    - Dst: png_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1184,1
    - Dst: png_get_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1191,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1192,1
    - Dst: png_get_bKGD
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1198,1
    - Dst: png_set_bKGD
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1200,1
    - Dst: png_get_eXIf_1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1209,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1212,1
    - Dst: png_set_eXIf_1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1215,1
    - Dst: png_get_hIST
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1224,1
    - Dst: png_set_hIST
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1225,1
    - Dst: png_get_oFFs
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1233,1
    - Dst: png_set_oFFs
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1236,1
    - Dst: png_get_pCAL
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1247,1
    - Dst: png_set_pCAL
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1250,1
    - Dst: png_get_pHYs
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1260,1
    - Dst: png_set_pHYs
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1262,1
    - Dst: png_get_sBIT
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1269,1
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1270,1
    - Dst: png_get_sCAL
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1280,1
    - Dst: png_set_sCAL
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1283,1
    - Dst: png_get_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1292,1
    - Dst: png_set_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1295,1
    - Dst: png_get_sPLT
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1307,1
    - Dst: png_set_sPLT
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1310,1
    - Dst: png_get_text
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1320,1
    - Dst: pngtest_debug1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1322,1
    - Dst: pngtest_check_text_support
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1324,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1330,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1333,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1338,1
    - Dst: png_get_tIME
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1346,1
    - Dst: png_set_tIME
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1348,1
    - Dst: png_convert_to_rfc1123_buffer
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1350,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1355,1
    - Dst: png_get_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1370,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1381,1
    - Dst: png_get_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1389,1
    - Dst: png_set_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1394,1
    - Dst: png_set_unknown_chunk_location
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1404,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1413,1
    - Dst: png_write_info_before_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1418,1
    - Dst: write_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1420,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1422,1
    - Dst: write_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1424,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1426,1
    - Dst: write_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1428,1
    - Dst: png_set_compression
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1432,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1437,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1438,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1439,1
    - Dst: pngtest_debug1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1441,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1443,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1451,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1452,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1454,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1455,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1462,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1473,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1474,1
    - Dst: pngtest_debug1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1486,1
    - Dst: pngtest_debug2
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1490,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1492,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1493,1
    - Dst: pngtest_debug2
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1495,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1496,1
    - Dst: png_read_rows
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1499,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1503,1
    - Dst: png_write_rows
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1507,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1509,1
    - Dst: pngtest_debug2
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1516,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1517,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1525,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1528,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1532,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1534,1
    - Dst: png_get_text
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1540,1
    - Dst: pngtest_debug1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1542,1
    - Dst: pngtest_check_text_support
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1544,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1550,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1553,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1558,1
    - Dst: png_get_eXIf_1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1567,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1570,1
    - Dst: png_set_eXIf_1
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1573,1
    - Dst: png_get_tIME
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1582,1
    - Dst: png_set_tIME
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1584,1
    - Dst: png_convert_to_rfc1123_buffer
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1586,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1591,1
    - Dst: png_get_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1603,1
    - Dst: png_set_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1608,1
    - Dst: png_set_unknown_chunk_location
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1618,1
    - Dst: png_set_text_compression_strategy
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1632,1
    - Dst: write_chunks
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1641,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1643,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1650,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1651,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1652,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1657,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1659,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1660,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1663,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1664,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1666,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1667,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1668,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1669,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1671,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1673,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1674,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1685,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1696,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1703,1
    - Dst: pngtest_debug
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1710,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1711,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1713,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1717,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1719,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1720,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1734,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1735,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1739,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1744,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1748,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1750,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1756,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1757,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1769,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1771,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1776,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1780,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1782,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1788,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1789,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1806,1
    - Dst: FCLOSE
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1807,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 366
    argCount: 2
    argNames:
    - inname
    - outname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 1810
    functionName: test_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 0
    functionsReached:
    - png_get_sPLT
    - png_convert_to_rfc1123_buffer
    - png_set_unknown_chunks
    - png_set_text
    - fprintf
    - png_get_bKGD
    - png_create_write_struct_2
    - png_get_sBIT
    - memcmp
    - png_init_io
    - png_destroy_write_struct
    - pngtest_debug1
    - png_create_read_struct
    - png_set_sBIT
    - png_set_compression
    - png_destroy_info_struct
    - png_read_end
    - png_set_gAMA
    - pngtest_debug
    - png_set_gAMA_fixed
    - png_get_cHRM
    - png_get_hIST
    - clock
    - png_set_iCCP
    - png_malloc
    - png_create_read_struct_2
    - png_set_keep_unknown_chunks
    - png_set_tIME
    - png_set_tRNS
    - png_set_sPLT
    - png_get_eXIf_1
    - png_get_sCAL_s
    - pngtest_debug2
    - png_read_rows
    - png_write_info_before_PLTE
    - png_set_interlace_handling
    - png_set_eXIf_1
    - png_free
    - png_set_pHYs
    - png_set_read_status_fn
    - png_set_cHRM
    - png_get_image_width
    - PNG_PASS_COLS
    - png_set_text_compression_strategy
    - png_get_text
    - FCLOSE
    - png_get_sRGB
    - png_set_option
    - png_get_rowbytes
    - fopen
    - png_get_cHRM_fixed
    - png_set_unknown_chunk_location
    - png_jmpbuf
    - PNG_PASS_ROWS
    - png_set_cHRM_fixed
    - png_set_PLTE
    - png_free_data
    - png_get_tIME
    - strncpy
    - png_write_info
    - png_set_crc_action
    - png_get_pHYs
    - write_chunks
    - png_set_sCAL
    - png_set_benign_errors
    - png_write_end
    - png_destroy_read_struct
    - png_set_IHDR
    - pngtest_check_text_support
    - png_set_hIST
    - png_set_read_user_chunk_fn
    - png_error
    - png_create_info_struct
    - png_set_error_fn
    - setjmp
    - png_set_sCAL_s
    - png_set_write_fn
    - png_get_PLTE
    - png_set_oFFs
    - png_set_write_status_fn
    - png_set_bKGD
    - png_set_read_user_transform_fn
    - png_set_read_fn
    - png_get_tRNS
    - png_read_info
    - init_callback_info
    - png_set_sRGB
    - png_get_unknown_chunks
    - fread
    - png_get_image_height
    - png_write_rows
    - png_set_pCAL
    - png_get_IHDR
    - png_get_gAMA
    - png_get_iCCP
    - png_set_write_user_transform_fn
    - png_create_write_struct
    - png_get_sCAL
    - png_get_gAMA_fixed
    - png_get_oFFs
    - png_get_pCAL
    linkageType: ''
    returnType: int
    signature: int test_one_file(const char *inname, const char *outname)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1829,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1830,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1831,1
    - Dst: png_get_copyright
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1831,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1833,1
    - Dst: png_access_version_number
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1834,1
    - Dst: png_get_header_version
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1835,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1838,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1847,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1851,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1854,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1856,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1858,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1859,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1865,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1871,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1872,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1879,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1886,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1896,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1905,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1929,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1932,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1934,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1936,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1948,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1950,1
    - Dst: test_one_file
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1952,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1956,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1959,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1963,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1972,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1975,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1981,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1988,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:1993,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2002,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2004,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2006,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2008,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2030,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2032,1
    - Dst: test_one_file
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2036,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2043,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2046,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2050,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2059,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2061,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2066,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2069,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2075,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2082,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2087,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2095,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2097,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2099,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2101,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2110,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2124,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2128,1
    - Dst: png_get_user_width_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2129,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2130,1
    - Dst: png_get_user_height_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2131,1
    - Dst: png_get_chunk_cache_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2133,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2135,1
    - Dst: png_get_chunk_cache_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2136,1
    - Dst: png_get_chunk_malloc_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2137,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2138,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2140,1
    - Dst: png_get_chunk_malloc_max
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2141,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2142,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 2145
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 1
    functionsReached:
    - clock
    - png_get_user_height_max
    - strcmp
    - png_get_chunk_malloc_max
    - png_get_header_version
    - png_get_chunk_cache_max
    - png_destroy_read_struct
    - png_get_user_width_max
    - fprintf
    - png_create_read_struct
    - test_one_file
    - png_access_version_number
    - exit
    - png_get_copyright
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngtest.c:2150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2147
    functionDepth: 0
    functionLinenumber: 2147
    functionLinenumberEnd: 2154
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtest.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: PNG_PUSH_SAVE_BUFFER_IF_LT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PUSH_SAVE_BUFFER_IF_LT(N)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_push_restore_buffer
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:42,1
    - Dst: png_process_some_data
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - buffer
    - buffer_size
    argTypes:
    - png_structrp
    - png_inforp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: png_process_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached:
    - png_push_restore_buffer
    - png_process_some_data
    linkageType: ''
    returnType: void
    signature: "void png_process_data(png_structrp png_ptr, png_inforp info_ptr,\n
      \   png_bytep buffer, size_t buffer_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_push_save_buffer
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:59,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - png_ptr
    - save
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: png_process_data_pause
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached:
    - png_push_save_buffer
    linkageType: ''
    returnType: size_t
    signature: size_t png_process_data_pause(png_structrp png_ptr, int save)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: png_process_data_skip
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached:
    - png_app_warning
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_process_data_skip(png_structrp png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_push_read_sig
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:103,1
    - Dst: png_push_read_chunk
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:109,1
    - Dst: png_push_read_IDAT
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:115,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 125
    functionName: png_process_some_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_push_read_chunk
    - png_push_read_IDAT
    - png_push_read_sig
    linkageType: ''
    returnType: void
    signature: void png_process_some_data(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_push_fill_buffer
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:144,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:148,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:151,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:152,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 164
    functionName: png_push_read_sig
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_sig_cmp
    - png_push_fill_buffer
    linkageType: ''
    returnType: void
    signature: void png_push_read_sig(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PUSH_SAVE_BUFFER_IF_LT
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:185,1
    - Dst: png_push_fill_buffer
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:186,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:187,1
    - Dst: png_reset_crc
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:188,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:189,1
    - Dst: PNG_CHUNK_FROM_STRING
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:190,1
    - Dst: png_check_chunk_name
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:191,1
    - Dst: png_check_chunk_length
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:192,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:208,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:212,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:224,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:230,1
    - Dst: png_push_have_end
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:242,1
    - Dst: png_chunk_unknown_handling
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:246,1
    - Dst: png_push_have_info
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:266,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:268,1
    - Dst: "PNG_PUSH_SAVE_BUFFER_IF_FULL\n      png_handle_unknown"
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:412,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 66
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 415
    functionName: png_push_read_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_chunk_unknown_handling
    - png_push_fill_buffer
    - png_crc_read
    - PNG_ROWBYTES
    - "PNG_PUSH_SAVE_BUFFER_IF_FULL\n      png_handle_unknown"
    - png_check_chunk_name
    - png_check_chunk_length
    - PNG_PUSH_SAVE_BUFFER_IF_LT
    - png_reset_crc
    - png_benign_error
    - png_get_uint_31
    - png_push_have_info
    - png_push_have_end
    - PNG_CHUNK_FROM_STRING
    linkageType: ''
    returnType: void
    signature: void png_push_read_chunk(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:439,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 461
    functionName: png_push_fill_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void png_push_fill_buffer(png_structp png_ptr, png_bytep buffer, size_t
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:491,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:496,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:501,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:506,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:508,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:509,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:514,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 521
    functionName: png_push_save_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_free
    - memcpy
    - png_malloc_warn
    linkageType: ''
    returnType: void
    signature: void png_push_save_buffer(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - buffer_length
    argTypes:
    - png_structrp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: png_push_restore_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_push_restore_buffer(png_structrp png_ptr, png_bytep buffer,\n
      \   size_t buffer_length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PUSH_SAVE_BUFFER_IF_LT
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:542,1
    - Dst: png_push_fill_buffer
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:543,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:544,1
    - Dst: png_reset_crc
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:545,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:546,1
    - Dst: PNG_CHUNK_FROM_STRING
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:547,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:555,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:580,1
    - Dst: png_process_IDAT_data
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:582,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:606,1
    - Dst: png_process_IDAT_data
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:608,1
    - Dst: PNG_PUSH_SAVE_BUFFER_IF_LT
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:618,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 624
    functionName: png_push_read_IDAT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_push_fill_buffer
    - png_crc_read
    - png_process_IDAT_data
    - PNG_PUSH_SAVE_BUFFER_IF_LT
    - png_reset_crc
    - png_calculate_crc
    - png_get_uint_31
    - png_crc_finish
    - PNG_CHUNK_FROM_STRING
    linkageType: ''
    returnType: void
    signature: void png_push_read_IDAT(png_structrp png_ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:632,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:658,1
    - Dst: PNG_INFLATE
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:671,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:685,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:690,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:692,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:710,1
    - Dst: png_push_process_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:722,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:735,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - buffer_length
    argTypes:
    - png_structrp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 736
    functionName: png_process_IDAT_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - PNG_ROWBYTES
    - PNG_INFLATE
    - png_push_process_row
    - png_benign_error
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_process_IDAT_data(png_structrp png_ptr, png_bytep buffer,\n
      \   size_t buffer_length)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:749,1
    - Dst: png_read_filter_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:754,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:757,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:765,1
    - Dst: png_do_read_transformations
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:769,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:777,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:781,1
    - Dst: png_do_read_interlace
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:790,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:800,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:801,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:808,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:809,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:817,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:818,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:824,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:825,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:836,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:837,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:844,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:845,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:858,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:859,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:864,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:865,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:872,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:873,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:886,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:887,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:894,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:895,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:908,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:909,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:914,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:915,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:920,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:921,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:933,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:934,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:939,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:940,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:949,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:950,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:955,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:956,1
    - Dst: png_push_have_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:963,1
    - Dst: png_read_push_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:964,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 132
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 966
    functionName: png_push_process_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_push_have_row
    - png_do_read_transformations
    - PNG_ROWBYTES
    - png_do_read_interlace
    - png_read_push_finish_row
    - memcpy
    - png_read_filter_row
    linkageType: ''
    returnType: void
    signature: void png_push_process_row(png_structrp png_ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:1000,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 1032
    functionName: png_read_push_finish_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void png_read_push_finish_row(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1039
    functionName: png_push_have_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_push_have_info(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1046
    functionName: png_push_have_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_push_have_end(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - row
    argTypes:
    - png_structrp
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1048
    functionDepth: 0
    functionLinenumber: 1048
    functionLinenumberEnd: 1054
    functionName: png_push_have_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_push_have_row(png_structrp png_ptr, png_bytep row)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - old_row
    - new_row
    argTypes:
    - png_const_structrp
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1070
    functionName: png_progressive_combine_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached:
    - png_combine_row
    linkageType: ''
    returnType: void
    signature: "void png_progressive_combine_row(png_const_structrp png_ptr, png_bytep
      old_row,\n    png_const_bytep new_row)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/pngpread.c:1085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - png_ptr
    - progressive_ptr
    - info_fn
    - row_fn
    - end_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_progressive_info_ptr
    - png_progressive_row_ptr
    - png_progressive_end_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1086
    functionName: png_set_progressive_read_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached:
    - png_set_read_fn
    linkageType: ''
    returnType: void
    signature: "void png_set_progressive_read_fn(png_structrp png_ptr, png_voidp progressive_ptr,\n
      \   png_progressive_info_ptr info_fn, png_progressive_row_ptr row_fn,\n    png_progressive_end_ptr
      end_fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1088
    functionDepth: 0
    functionLinenumber: 1088
    functionLinenumberEnd: 1095
    functionName: png_get_progressive_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_progressive_ptr(png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:28,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - background
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_color_16p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: png_set_bKGD
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: void
    signature: "void png_set_bKGD(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_color_16p background)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:47,1
    - Dst: png_colorspace_set_chromaticities
      Src: /src/libspectre/ghostscript/libpng/pngset.c:61,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:65,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 10
    argNames:
    - png_ptr
    - info_ptr
    - white_x
    - white_y
    - red_x
    - red_y
    - green_x
    - green_y
    - blue_x
    - blue_y
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: png_set_cHRM_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_colorspace_set_chromaticities
    - png_colorspace_sync_info
    linkageType: ''
    returnType: void
    signature: "void png_set_cHRM_fixed(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_fixed_point white_x, png_fixed_point white_y, png_fixed_point red_x,\n
      \   png_fixed_point red_y, png_fixed_point green_x, png_fixed_point green_y,\n
      \   png_fixed_point blue_x, png_fixed_point blue_y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:78,1
    - Dst: png_colorspace_set_endpoints
      Src: /src/libspectre/ghostscript/libpng/pngset.c:93,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 11
    argNames:
    - png_ptr
    - info_ptr
    - int_red_X
    - int_red_Y
    - int_red_Z
    - int_green_X
    - int_green_Y
    - int_green_Z
    - int_blue_X
    - int_blue_Y
    - int_blue_Z
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 98
    functionName: png_set_cHRM_XYZ_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - png_colorspace_set_endpoints
    - png_colorspace_sync_info
    linkageType: ''
    returnType: void
    signature: "void png_set_cHRM_XYZ_fixed(png_const_structrp png_ptr, png_inforp
      info_ptr,\n    png_fixed_point int_red_X, png_fixed_point int_red_Y,\n    png_fixed_point
      int_red_Z, png_fixed_point int_green_X,\n    png_fixed_point int_green_Y, png_fixed_point
      int_green_Z,\n    png_fixed_point int_blue_X, png_fixed_point int_blue_Y,\n
      \   png_fixed_point int_blue_Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:106,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:107,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:108,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:109,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:110,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:111,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:112,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:113,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - png_ptr
    - info_ptr
    - white_x
    - white_y
    - red_x
    - red_y
    - green_x
    - green_y
    - blue_x
    - blue_y
    argTypes:
    - png_const_structrp
    - png_inforp
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: png_set_cHRM
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_set_cHRM_fixed
    - png_fixed
    linkageType: ''
    returnType: void
    signature: "void png_set_cHRM(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   double white_x, double white_y, double red_x, double red_y,\n    double
      green_x, double green_y, double blue_x, double blue_y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_cHRM_XYZ_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:122,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:123,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:124,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:125,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:126,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:127,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:128,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:129,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:130,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - png_ptr
    - info_ptr
    - red_X
    - red_Y
    - red_Z
    - green_X
    - green_Y
    - green_Z
    - blue_X
    - blue_Y
    - blue_Z
    argTypes:
    - png_const_structrp
    - png_inforp
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: png_set_cHRM_XYZ
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_fixed
    - png_set_cHRM_XYZ_fixed
    linkageType: ''
    returnType: void
    signature: "void png_set_cHRM_XYZ(png_const_structrp png_ptr, png_inforp info_ptr,
      double red_X,\n    double red_Y, double red_Z, double green_X, double green_Y,
      double green_Z,\n    double blue_X, double blue_Y, double blue_Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:142,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngset.c:143,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngset.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - eXIf_buf
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: png_set_eXIf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_warning
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: "void png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_bytep eXIf_buf)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:153,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:160,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:166,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:166,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - num_exif
    - eXIf_buf
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_uint_32
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: png_set_eXIf_1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_voidcast
    - png_free
    - png_malloc_warn
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_eXIf_1(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_uint_32 num_exif, png_bytep eXIf_buf)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:189,1
    - Dst: png_colorspace_set_gamma
      Src: /src/libspectre/ghostscript/libpng/pngset.c:194,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - file_gamma
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: png_set_gAMA_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_colorspace_sync_info
    - png_colorspace_set_gamma
    linkageType: ''
    returnType: void
    signature: "void png_set_gAMA_fixed(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_fixed_point file_gamma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:202,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - file_gamma
    argTypes:
    - png_const_structrp
    - png_inforp
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: png_set_gAMA
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_fixed
    - png_set_gAMA_fixed
    linkageType: ''
    returnType: void
    signature: void png_set_gAMA(png_const_structrp png_ptr, png_inforp info_ptr,
      double file_gamma)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:215,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:223,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngset.c:229,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:234,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:234,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:239,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - hist
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_uint_16p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 250
    functionName: png_set_hIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_voidcast
    - png_free_data
    - png_malloc_warn
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_hIST(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_uint_16p hist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:259,1
    - Dst: png_check_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngset.c:272,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngset.c:290,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 9
    argNames:
    - png_ptr
    - info_ptr
    - width
    - height
    - bit_depth
    - color_type
    - interlace_type
    - compression_type
    - filter_type
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_uint_32
    - png_uint_32
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 291
    functionName: png_set_IHDR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 3
    functionsReached:
    - png_debug1
    - PNG_ROWBYTES
    - png_check_IHDR
    linkageType: ''
    returnType: void
    signature: "void png_set_IHDR(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_uint_32 width, png_uint_32 height, int bit_depth,\n    int color_type,
      int interlace_type, int compression_type,\n    int filter_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - offset_x
    - offset_y
    - unit_type
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_int_32
    - png_int_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 307
    functionName: png_set_oFFs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: void
    signature: "void png_set_oFFs(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_int_32 offset_x, png_int_32 offset_y, int unit_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:319,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:325,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:326,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:334,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:341,1
    - Dst: png_check_fp_string
      Src: /src/libspectre/ghostscript/libpng/pngset.c:350,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:350,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:352,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:358,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:359,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:363,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:368,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:370,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:376,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:377,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:380,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:381,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:385,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:390,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:392,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:392,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:397,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngset.c:402,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:407,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngset.c:408,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:411,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:415,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:420,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 9
    argNames:
    - png_ptr
    - info_ptr
    - purpose
    - X0
    - X1
    - type
    - nparams
    - units
    - params
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_charp
    - png_int_32
    - png_int_32
    - int
    - int
    - png_const_charp
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 425
    functionName: png_set_pCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_voidcast
    - strlen
    - png_check_fp_string
    - memcpy
    - png_malloc_warn
    - memset
    - png_debug2
    - png_debug1
    - png_warning
    - png_chunk_report
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_charp purpose, png_int_32 X0, png_int_32 X1, int type,\n    int
      nparams, png_const_charp units, png_charpp params)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:435,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:444,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:446,1
    - Dst: png_check_fp_string
      Src: /src/libspectre/ghostscript/libpng/pngset.c:447,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:448,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:450,1
    - Dst: png_check_fp_string
      Src: /src/libspectre/ghostscript/libpng/pngset.c:451,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:452,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:458,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:460,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:461,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:465,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:470,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:474,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:476,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:477,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:481,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:484,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:489,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - swidth
    - sheight
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    - png_const_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 493
    functionName: png_set_sCAL_s
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_voidcast
    - strlen
    - png_check_fp_string
    - png_free
    - memcpy
    - png_malloc_warn
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_sCAL_s(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   int unit, png_const_charp swidth, png_const_charp sheight)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:500,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:504,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:507,1
    - Dst: png_ascii_from_fp
      Src: /src/libspectre/ghostscript/libpng/pngset.c:515,1
    - Dst: png_ascii_from_fp
      Src: /src/libspectre/ghostscript/libpng/pngset.c:517,1
    - Dst: png_set_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngset.c:520,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - width
    - height
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 522
    functionName: png_set_sCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_warning
    - png_set_sCAL_s
    - png_ascii_from_fp
    linkageType: ''
    returnType: void
    signature: "void png_set_sCAL(png_const_structrp png_ptr, png_inforp info_ptr,
      int unit,\n    double width, double height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:530,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:534,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:537,1
    - Dst: png_ascii_from_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:545,1
    - Dst: png_ascii_from_fixed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:546,1
    - Dst: png_set_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngset.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - width
    - height
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 550
    functionName: png_set_sCAL_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - png_warning
    - png_set_sCAL_s
    - png_ascii_from_fixed
    linkageType: ''
    returnType: void
    signature: "void png_set_sCAL_fixed(png_const_structrp png_ptr, png_inforp info_ptr,
      int unit,\n    png_fixed_point width, png_fixed_point height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - res_x
    - res_y
    - unit_type
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 568
    functionName: png_set_pHYs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: void
    signature: "void png_set_pHYs(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_uint_32 res_x, png_uint_32 res_y, int unit_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:578,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:589,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:593,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:606,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngset.c:616,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:622,1
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/pngset.c:622,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:626,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - palette
    - num_palette
    argTypes:
    - png_structrp
    - png_inforp
    - png_const_colorp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 634
    functionName: png_set_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_calloc
    - png_voidcast
    - png_free_data
    - memcpy
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_PLTE(png_structrp png_ptr, png_inforp info_ptr,\n    png_const_colorp
      palette, int num_palette)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - sig_bit
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_color_8p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 648
    functionName: png_set_sBIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: void
    signature: "void png_set_sBIT(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_color_8p sig_bit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:655,1
    - Dst: png_colorspace_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngset.c:660,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - srgb_intent
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 662
    functionName: png_set_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_colorspace_set_sRGB
    - png_colorspace_sync_info
    linkageType: ''
    returnType: void
    signature: void png_set_sRGB(png_const_structrp png_ptr, png_inforp info_ptr,
      int srgb_intent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:668,1
    - Dst: png_colorspace_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngset.c:673,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - srgb_intent
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 682
    functionName: png_set_sRGB_gAMA_and_cHRM
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - png_colorspace_set_sRGB
    - png_colorspace_sync_info
    linkageType: ''
    returnType: void
    signature: "void png_set_sRGB_gAMA_and_cHRM(png_const_structrp png_ptr, png_inforp
      info_ptr,\n    int srgb_intent)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:696,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:702,1
    - Dst: png_colorspace_set_ICC
      Src: /src/libspectre/ghostscript/libpng/pngset.c:711,1
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/pngset.c:714,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:725,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:726,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:726,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:730,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:735,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:736,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngset.c:737,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:741,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:742,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:748,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngset.c:750,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 6
    argNames:
    - png_ptr
    - info_ptr
    - name
    - compression_type
    - profile
    - proflen
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_charp
    - int
    - png_const_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 757
    functionName: png_set_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_colorspace_sync_info
    - png_voidcast
    - png_free_data
    - strlen
    - png_free
    - png_colorspace_set_ICC
    - png_malloc_warn
    - png_benign_error
    - memcpy
    - png_debug1
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_charp name, int compression_type,\n    png_const_bytep profile,
      png_uint_32 proflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_text_2
      Src: /src/libspectre/ghostscript/libpng/pngset.c:766,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:769,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - text_ptr
    - num_text
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_textp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 770
    functionName: png_set_text
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_set_text_2
    linkageType: ''
    returnType: void
    signature: "void png_set_text(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_textp text_ptr, int num_text)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:778,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:811,1
    - Dst: png_realloc_array
      Src: /src/libspectre/ghostscript/libpng/pngset.c:811,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:818,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:824,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:831,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:846,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:851,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:865,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:871,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:878,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:898,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:902,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngset.c:902,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:907,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngset.c:913,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:918,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:924,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:927,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:940,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:959,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - text_ptr
    - num_text
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_textp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 963
    functionName: png_set_text_2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_malloc_base
    - png_voidcast
    - strlen
    - png_realloc_array
    - png_free
    - png_debug2
    - memcpy
    - png_debug1
    - png_chunk_report
    linkageType: ''
    returnType: int
    signature: "int png_set_text_2(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_textp text_ptr, int num_text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:971,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - mod_time
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_timep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 989
    functionName: png_set_tIME
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_tIME(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_const_timep mod_time)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:997,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1014,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1019,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1020,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1021,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1039,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - trans_alpha
    - num_trans
    - trans_color
    argTypes:
    - png_structrp
    - png_inforp
    - png_const_bytep
    - int
    - png_const_color_16p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 1057
    functionName: png_set_tRNS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_voidcast
    - png_free_data
    - png_malloc
    - memcpy
    - png_debug1
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_tRNS(png_structrp png_ptr, png_inforp info_ptr,\n    png_const_bytep
      trans_alpha, int num_trans, png_const_color_16p trans_color)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1081,1
    - Dst: png_realloc_array
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1081,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1088,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1093,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1107,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1117,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1118,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1118,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1123,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1129,1
    - Dst: png_malloc_array
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1129,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1134,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1143,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1157,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - entries
    - nentries
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_sPLT_tp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1158
    functionName: png_set_sPLT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_malloc_base
    - png_voidcast
    - strlen
    - png_realloc_array
    - png_free
    - memcpy
    - png_malloc_array
    - png_chunk_report
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_sPLT(png_const_structrp png_ptr,\n    png_inforp info_ptr,
      png_const_sPLT_tp entries, int nentries)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1174,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - location
    argTypes:
    - png_const_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1197
    functionName: check_location
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_app_warning
    - png_error
    linkageType: ''
    returnType: png_byte
    signature: png_byte check_location(png_const_structrp png_ptr, int location)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1219,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1228,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1239,1
    - Dst: png_realloc_array
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1239,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1245,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1251,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1262,1
    - Dst: check_location
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1264,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1274,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1275,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1279,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - unknowns
    - num_unknowns
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_const_unknown_chunkp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1296
    functionName: png_set_unknown_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_malloc_base
    - png_voidcast
    - png_realloc_array
    - check_location
    - png_free
    - memcpy
    - png_chunk_report
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_unknown_chunks(png_const_structrp png_ptr,\n    png_inforp
      info_ptr, png_const_unknown_chunkp unknowns, int num_unknowns)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1312,1
    - Dst: check_location
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - chunk
    - location
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1324
    functionName: png_set_unknown_chunk_location
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - check_location
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_unknown_chunk_location(png_const_structrp png_ptr, png_inforp
      info_ptr,\n    int chunk, int location)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - mng_features
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1339
    functionName: png_permit_mng_features
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_permit_mng_features (png_structrp png_ptr, png_uint_32
      mng_features)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1353,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - list
    - count
    - add
    - keep
    argTypes:
    - png_bytep
    - unsigned int
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1343
    functionDepth: 0
    functionLinenumber: 1343
    functionLinenumberEnd: 1369
    functionName: add_one_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - memcpy
    - memcmp
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int add_one_chunk(png_bytep list, unsigned int count, png_const_bytep
      add, int keep)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1383,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1434,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1450,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1461,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1461,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1465,1
    - Dst: add_one_chunk
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1487,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1498,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1508,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1522,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 4
    argNames:
    - png_ptr
    - keep
    - chunk_list
    - num_chunks_in
    argTypes:
    - png_structrp
    - int
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1371
    functionDepth: 1
    functionLinenumber: 1371
    functionLinenumberEnd: 1526
    functionName: png_set_keep_unknown_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_voidcast
    - png_malloc
    - png_free
    - memcpy
    - add_one_chunk
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_keep_unknown_chunks(png_structrp png_ptr, int keep,\n
      \   png_const_bytep chunk_list, int num_chunks_in)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - user_chunk_ptr
    - read_user_chunk_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_user_chunk_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1541
    functionName: png_set_read_user_chunk_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_read_user_chunk_fn(png_structrp png_ptr, png_voidp user_chunk_ptr,\n
      \   png_user_chunk_ptr read_user_chunk_fn)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1549,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1556,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - row_pointers
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1562
    functionName: png_set_rows
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_free_data
    linkageType: ''
    returnType: void
    signature: "void png_set_rows(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_bytepp row_pointers)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1572,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1587,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1599,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1610,1
    - Dst: png_free_buffer_list
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1618,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - png_ptr
    - size
    argTypes:
    - png_structrp
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1565
    functionDepth: 1
    functionLinenumber: 1565
    functionLinenumberEnd: 1623
    functionName: png_set_compression_buffer_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_warning
    - png_free_buffer_list
    linkageType: ''
    returnType: void
    signature: void png_set_compression_buffer_size(png_structrp png_ptr, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - mask
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1625
    functionDepth: 0
    functionLinenumber: 1625
    functionLinenumberEnd: 1630
    functionName: png_set_invalid
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_set_invalid(png_const_structrp png_ptr, png_inforp info_ptr,
      int mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - user_width_max
    - user_height_max
    argTypes:
    - png_structrp
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1648
    functionName: png_set_user_limits
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_set_user_limits (png_structrp png_ptr, png_uint_32 user_width_max,\n
      \   png_uint_32 user_height_max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - user_chunk_cache_max
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1651
    functionDepth: 0
    functionLinenumber: 1651
    functionLinenumberEnd: 1656
    functionName: png_set_chunk_cache_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_set_chunk_cache_max (png_structrp png_ptr, png_uint_32 user_chunk_cache_max)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - user_chunk_malloc_max
    argTypes:
    - png_structrp
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1665
    functionName: png_set_chunk_malloc_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_set_chunk_malloc_max (png_structrp png_ptr,\n    png_alloc_size_t
      user_chunk_malloc_max)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - allowed
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1670
    functionDepth: 1
    functionLinenumber: 1670
    functionLinenumberEnd: 1688
    functionName: png_set_benign_errors
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_benign_errors(png_structrp png_ptr, int allowed)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - allowed
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: png_set_check_for_invalid_index
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_check_for_invalid_index(png_structrp png_ptr, int allowed)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1735,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1784,1
    - Dst: PNG_WARNING_PARAMETERS
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1788,1
    - Dst: png_warning_parameter
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1790,1
    - Dst: png_warning_parameter_signed
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1791,1
    - Dst: png_formatted_warning
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1793,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngset.c:1796,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - png_ptr
    - key
    - new_key
    argTypes:
    - png_structrp
    - png_const_charp
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1800
    functionName: png_check_keyword
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngset.c
    functionUses: 0
    functionsReached:
    - png_formatted_warning
    - PNG_UNUSED
    - PNG_WARNING_PARAMETERS
    - png_warning_parameter_signed
    - png_warning
    - png_debug
    - png_warning_parameter
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_check_keyword(png_structrp png_ptr, png_const_charp
      key, png_bytep new_key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:33,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:34,1
    - Dst: png_free_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: png_destroy_png_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - png_free
    - memset
    - png_free_jmpbuf
    linkageType: ''
    returnType: void
    signature: void png_destroy_png_struct(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:54,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_calloc
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - memset
    - png_malloc
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(png_voidp,PNGAPI

      png_calloc,(png_const_structrp png_ptr, png_alloc_size_t size),PNG_ALLOCATED)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - nelements
    - element_size
    argTypes:
    - png_const_structrp
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: png_malloc_array_checked
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - png_malloc_base
    linkageType: ''
    returnType: png_voidp
    signature: "png_voidp png_malloc_array_checked(png_const_structrp png_ptr, int
      nelements,\n    size_t element_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:179,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - png_malloc
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_malloc_base
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(png_voidp,PNGAPI

      png_malloc,(png_const_structrp png_ptr, png_alloc_size_t size),PNG_ALLOCATED)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:198,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - png_malloc_default
    - PNG_DEPRECATED
    argTypes:
    - PNGAPI
    - PNG_ALLOCATED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_malloc_base
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_voidp,PNGAPI\npng_malloc_default,(png_const_structrp
      png_ptr, png_alloc_size_t size),\n    PNG_ALLOCATED PNG_DEPRECATED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:217,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - png_malloc_warn
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 226
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_malloc_base
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_voidp,PNGAPI\npng_malloc_warn,(png_const_structrp
      png_ptr, png_alloc_size_t size),\n    PNG_ALLOCATED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/pngmem.c:252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - png_free_default
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(void,PNGAPI

      png_free_default,(png_const_structrp png_ptr, png_voidp ptr),PNG_DEPRECATED)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - png_ptr
    - mem_ptr
    - malloc_fn
    - free_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_malloc_ptr
    - png_free_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: png_set_mem_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_set_mem_fn(png_structrp png_ptr, png_voidp mem_ptr, png_malloc_ptr\n
      \ malloc_fn, png_free_ptr free_fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: png_get_mem_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_mem_ptr(png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - png_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 30
    functionName: png_save_uint_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_save_uint_32(png_bytep buf, png_uint_32 i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - png_bytep
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: png_save_uint_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_save_uint_16(png_bytep buf, unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_write_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: png_write_sig
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_data
    linkageType: ''
    returnType: void
    signature: void png_write_sig(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CSTRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:79,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:80,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:94,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:95,1
    - Dst: png_write_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:96,1
    - Dst: png_reset_crc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:102,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - png_ptr
    - chunk_name
    - length
    argTypes:
    - png_structrp
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 112
    functionName: png_write_chunk_header
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNG_CSTRING_FROM_CHUNK
    - png_reset_crc
    - png_debug2
    - png_calculate_crc
    - png_write_data
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: "void png_write_chunk_header(png_structrp png_ptr, png_uint_32 chunk_name,\n
      \   png_uint_32 length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:118,1
    - Dst: PNG_CHUNK_FROM_STRING
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - png_ptr
    - chunk_string
    - length
    argTypes:
    - png_structrp
    - png_const_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: png_write_chunk_start
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_chunk_header
    - PNG_CHUNK_FROM_STRING
    linkageType: ''
    returnType: void
    signature: "void png_write_chunk_start(png_structrp png_ptr, png_const_bytep chunk_string,\n
      \   png_uint_32 length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_write_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:135,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structrp
    - png_const_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 142
    functionName: png_write_chunk_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_data
    - png_calculate_crc
    linkageType: ''
    returnType: void
    signature: void png_write_chunk_data(png_structrp png_ptr, png_const_bytep data,
      size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:160,1
    - Dst: png_write_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: png_write_chunk_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_data
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: void png_write_chunk_end(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:183,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:185,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:186,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - png_ptr
    - chunk_name
    - data
    - length
    argTypes:
    - png_structrp
    - png_uint_32
    - png_const_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: png_write_complete_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - png_write_chunk_header
    - png_write_chunk_end
    linkageType: ''
    returnType: void
    signature: "void png_write_complete_chunk(png_structrp png_ptr, png_uint_32 chunk_name,\n
      \   png_const_bytep data, size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:195,1
    - Dst: PNG_CHUNK_FROM_STRING
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - png_ptr
    - chunk_string
    - data
    - length
    argTypes:
    - png_structrp
    - png_const_bytep
    - png_const_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 3
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: png_write_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 2
    functionsReached:
    - PNG_CHUNK_FROM_STRING
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: "void png_write_chunk(png_structrp png_ptr, png_const_bytep chunk_string,\n
      \   png_const_bytep data, size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:225,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:228,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:228,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 240
    functionName: png_image_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNG_PASS_COLS
    - PNG_ROWBYTES
    - PNG_PASS_ROWS
    linkageType: ''
    returnType: png_alloc_size_t
    signature: png_alloc_size_t png_image_size(png_structrp png_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - data
    - data_size
    argTypes:
    - png_bytep
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 287
    functionName: optimize_cmf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void optimize_cmf(png_bytep data, png_alloc_size_t data_size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PNG_STRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:300,1
    - Dst: PNG_STRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:303,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:308,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:311,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:316,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:322,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:395,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:396,1
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:413,1
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:417,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:431,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - png_ptr
    - owner
    - data_size
    argTypes:
    - png_structrp
    - png_uint_32
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 435
    functionName: png_deflate_claim
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_safecat
    - PNG_STRING_FROM_CHUNK
    - deflateInit2
    - png_zstream_error
    - PNGZ_MSG_CAST
    - deflateEnd
    - deflateReset
    - png_warning
    linkageType: ''
    returnType: int
    signature: "int png_deflate_claim(png_structrp png_ptr, png_uint_32 owner,\n    png_alloc_size_t
      data_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - png_ptr
    - listp
    argTypes:
    - png_structrp
    - png_compression_bufferp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 456
    functionName: png_free_buffer_list
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 1
    functionsReached:
    - png_free
    linkageType: ''
    returnType: void
    signature: void png_free_buffer_list(png_structrp png_ptr, png_compression_bufferp
      *listp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - comp
    - input
    - input_len
    argTypes:
    - compression_state*
    - png_const_bytep
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 484
    functionName: png_text_compress_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_text_compress_init(compression_state *comp, png_const_bytep
      input,\n    png_alloc_size_t input_len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_deflate_claim
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:503,1
    - Dst: PNGZ_INPUT_CAST
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:520,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:557,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:557,1
    - Dst: PNG_COMPRESSION_BUFFER_SIZE
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:558,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:580,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:604,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:609,1
    - Dst: optimize_cmf
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:621,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 4
    argNames:
    - png_ptr
    - chunk_name
    - comp
    - prefix_len
    argTypes:
    - png_structrp
    - png_uint_32
    - compression_state*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 487
    functionDepth: 2
    functionLinenumber: 487
    functionLinenumberEnd: 633
    functionName: png_text_compress
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNGZ_INPUT_CAST
    - png_malloc_base
    - png_voidcast
    - optimize_cmf
    - png_zstream_error
    - png_deflate_claim
    - deflate
    - PNGZ_MSG_CAST
    - PNG_COMPRESSION_BUFFER_SIZE
    linkageType: ''
    returnType: int
    signature: "int png_text_compress(png_structrp png_ptr, png_uint_32 chunk_name,\n
      \   compression_state *comp, png_uint_32 prefix_len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:649,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:663,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - png_ptr
    - comp
    argTypes:
    - png_structrp
    - compression_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 664
    functionName: png_write_compressed_data_out
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_chunk_data
    - png_error
    linkageType: ''
    returnType: void
    signature: void png_write_compressed_data_out(png_structrp png_ptr, compression_state
      *comp)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:679,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:697,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:708,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:724,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:734,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:745,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:751,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:756,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:779,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:787,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:806,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:813,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:814,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:822,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 8
    argNames:
    - png_ptr
    - width
    - height
    - bit_depth
    - color_type
    - compression_type
    - filter_type
    - interlace_type
    argTypes:
    - png_structrp
    - png_uint_32
    - png_uint_32
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 835
    functionName: png_write_IHDR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_ROWBYTES
    - png_write_complete_chunk
    - png_warning
    - png_debug
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: "void png_write_IHDR(png_structrp png_ptr, png_uint_32 width, png_uint_32
      height,\n    int bit_depth, int color_type, int compression_type, int filter_type,\n
      \   int interlace_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:849,1
    - Dst: PNG_MNG_FEATURES_SUPPORTED
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:855,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:862,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:867,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:874,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:881,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:883,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:891,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:905,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:909,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - png_ptr
    - palette
    - num_pal
    argTypes:
    - png_structrp
    - png_const_colorp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 911
    functionName: png_write_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_MNG_FEATURES_SUPPORTED
    - png_write_chunk_data
    - png_write_chunk_header
    - png_write_chunk_end
    - png_debug1
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_PLTE(png_structrp png_ptr, png_const_colorp palette,\n
      \   png_uint_32 num_pal)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:943,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:944,1
    - Dst: PNG_COMPRESSION_BUFFER_SIZE
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:944,1
    - Dst: png_free_buffer_list
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:949,1
    - Dst: png_deflate_claim
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:952,1
    - Dst: png_image_size
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:952,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:953,1
    - Dst: PNGZ_INPUT_CAST
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:966,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:981,1
    - Dst: optimize_cmf
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1002,1
    - Dst: png_image_size
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1002,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1006,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1032,1
    - Dst: optimize_cmf
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1049,1
    - Dst: png_image_size
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1049,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1053,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1065,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1066,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 4
    argNames:
    - png_ptr
    - input
    - input_len
    - flush
    argTypes:
    - png_structrp
    - png_const_bytep
    - png_alloc_size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 930
    functionDepth: 3
    functionLinenumber: 930
    functionLinenumberEnd: 1069
    functionName: png_compress_IDAT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_free_buffer_list
    - PNGZ_INPUT_CAST
    - png_voidcast
    - optimize_cmf
    - png_zstream_error
    - png_malloc
    - png_image_size
    - png_deflate_claim
    - deflate
    - png_write_complete_chunk
    - PNG_COMPRESSION_BUFFER_SIZE
    linkageType: ''
    returnType: void
    signature: "void png_compress_IDAT(png_structrp png_ptr, png_const_bytep input,\n
      \   png_alloc_size_t input_len, int flush)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1075,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1079
    functionName: png_write_IEND
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_IEND(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1088,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1091,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - file_gamma
    argTypes:
    - png_structrp
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1083
    functionDepth: 3
    functionLinenumber: 1083
    functionLinenumberEnd: 1093
    functionName: png_write_gAMA_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_debug
    - png_save_uint_32
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_gAMA_fixed(png_structrp png_ptr, png_fixed_point file_gamma)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1103,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1106,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - srgb_intent
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1098
    functionDepth: 3
    functionLinenumber: 1098
    functionLinenumberEnd: 1111
    functionName: png_write_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_sRGB(png_structrp png_ptr, int srgb_intent)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1126,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1132,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1134,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1137,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1141,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1144,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1147,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1150,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1153,1
    - Dst: png_text_compress_init
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1160,1
    - Dst: png_text_compress
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1163,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1164,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1166,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1168,1
    - Dst: png_write_compressed_data_out
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1170,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - png_ptr
    - name
    - profile
    argTypes:
    - png_structrp
    - png_const_charp
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1173
    functionName: png_write_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - png_text_compress_init
    - png_text_compress
    - png_write_chunk_header
    - png_write_compressed_data_out
    - png_check_keyword
    - png_get_uint_32
    - png_write_chunk_end
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_iCCP(png_structrp png_ptr, png_const_charp name,\n
      \   png_const_bytep profile)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1191,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1193,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1196,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1199,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1202,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1204,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1216,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1221,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1222,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1223,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1224,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1225,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1228,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1240,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1245,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1246,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1247,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1248,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1249,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1252,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 42
    argCount: 2
    argNames:
    - png_ptr
    - spalette
    argTypes:
    - png_structrp
    - png_const_sPLT_tp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1257
    functionName: png_write_sPLT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - png_write_chunk_header
    - png_check_keyword
    - png_write_chunk_end
    - png_save_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_sPLT(png_structrp png_ptr, png_const_sPLT_tp spalette)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1268,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1282,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1296,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1308,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1315,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - png_ptr
    - sbit
    - color_type
    argTypes:
    - png_structrp
    - png_const_color_8p
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1262
    functionDepth: 3
    functionLinenumber: 1262
    functionLinenumberEnd: 1316
    functionName: png_write_sBIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_sBIT(png_structrp png_ptr, png_const_color_8p sbit,
      int color_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1326,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1329,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1330,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1332,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1333,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1335,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1336,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1338,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1339,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - xy
    argTypes:
    - png_structrp
    - png_xy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1321
    functionDepth: 3
    functionLinenumber: 1321
    functionLinenumberEnd: 1342
    functionName: png_write_cHRM_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_save_int_32
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_cHRM_fixed(png_structrp png_ptr, const png_xy *xy)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1353,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1359,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1365,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1374,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1380,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1381,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1387,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1388,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1389,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1396,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1401,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1406,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 5
    argNames:
    - png_ptr
    - trans_alpha
    - tran
    - num_trans
    - color_type
    argTypes:
    - png_structrp
    - png_const_bytep
    - png_const_color_16p
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1347
    functionDepth: 3
    functionLinenumber: 1347
    functionLinenumberEnd: 1408
    functionName: png_write_tRNS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_app_warning
    - png_save_uint_16
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: "void png_write_tRNS(png_structrp png_ptr, png_const_bytep trans_alpha,\n
      \   png_const_color_16p tran, int num_trans, int color_type)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1418,1
    - Dst: PNG_MNG_FEATURES_SUPPORTED
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1423,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1429,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1434,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1439,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1440,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1441,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1448,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1455,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1462,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1468,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1469,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - png_ptr
    - back
    - color_type
    argTypes:
    - png_structrp
    - png_const_color_16p
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1413
    functionDepth: 3
    functionLinenumber: 1413
    functionLinenumberEnd: 1471
    functionName: png_write_bKGD
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNG_MNG_FEATURES_SUPPORTED
    - png_write_complete_chunk
    - png_warning
    - png_save_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_bKGD(png_structrp png_ptr, png_const_color_16p back,
      int color_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1482,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1484,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1489,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - png_ptr
    - exif
    - num_exif
    argTypes:
    - png_structrp
    - png_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1476
    functionDepth: 2
    functionLinenumber: 1476
    functionLinenumberEnd: 1493
    functionName: png_write_eXIf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_chunk_data
    - png_debug
    - png_write_chunk_header
    - png_write_chunk_end
    linkageType: ''
    returnType: void
    signature: void png_write_eXIf(png_structrp png_ptr, png_bytep exif, int num_exif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1504,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1508,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1511,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1515,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1519,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1520,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - png_ptr
    - hist
    - num_hist
    argTypes:
    - png_structrp
    - png_const_uint_16p
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1524
    functionName: png_write_hIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_chunk_data
    - png_write_chunk_header
    - png_debug2
    - png_write_chunk_end
    - png_warning
    - png_save_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_hIST(png_structrp png_ptr, png_const_uint_16p hist,
      int num_hist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1536,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1538,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1541,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1547,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1550,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1553,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1561,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1564,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - png_ptr
    - key
    - text
    - text_len
    argTypes:
    - png_structrp
    - png_const_charp
    - png_const_charp
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1567
    functionName: png_write_tEXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - strlen
    - png_write_chunk_header
    - png_check_keyword
    - png_write_chunk_end
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_tEXt(png_structrp png_ptr, png_const_charp key, png_const_charp
      text,\n    size_t text_len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1580,1
    - Dst: png_write_tEXt
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1584,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1589,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1591,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1594,1
    - Dst: png_text_compress_init
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1601,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1602,1
    - Dst: png_text_compress
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1604,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1605,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1608,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1611,1
    - Dst: png_write_compressed_data_out
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1614,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - png_ptr
    - key
    - text
    - compression
    argTypes:
    - png_structrp
    - png_const_charp
    - png_const_charp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1618
    functionName: png_write_zTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - png_text_compress_init
    - strlen
    - png_text_compress
    - png_write_tEXt
    - png_write_chunk_header
    - png_check_keyword
    - png_write_compressed_data_out
    - png_write_chunk_end
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_zTXt(png_structrp png_ptr, png_const_charp key, png_const_charp
      text,\n    int compression)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1632,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1634,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1637,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1653,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1670,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1672,1
    - Dst: png_text_compress_init
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1686,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1686,1
    - Dst: png_text_compress
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1690,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1691,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1697,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1703,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1705,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1707,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1709,1
    - Dst: png_write_compressed_data_out
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1712,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1715,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1717,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 6
    argNames:
    - png_ptr
    - compression
    - key
    - lang
    - lang_key
    - text
    argTypes:
    - png_structrp
    - int
    - png_const_charp
    - png_const_charp
    - png_const_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1623
    functionDepth: 3
    functionLinenumber: 1623
    functionLinenumberEnd: 1718
    functionName: png_write_iTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - png_text_compress_init
    - strlen
    - png_text_compress
    - png_write_chunk_header
    - png_write_compressed_data_out
    - png_check_keyword
    - png_write_chunk_end
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_iTXt(png_structrp png_ptr, int compression, png_const_charp
      key,\n    png_const_charp lang, png_const_charp lang_key, png_const_charp text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1729,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1732,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1734,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1735,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - png_ptr
    - x_offset
    - y_offset
    - unit_type
    argTypes:
    - png_structrp
    - png_int_32
    - png_int_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1723
    functionDepth: 3
    functionLinenumber: 1723
    functionLinenumberEnd: 1739
    functionName: png_write_oFFs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_save_int_32
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: "void png_write_oFFs(png_structrp png_ptr, png_int_32 x_offset, png_int_32
      y_offset,\n    int unit_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1755,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1758,1
    - Dst: png_check_keyword
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1760,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1763,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1767,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1768,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1769,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1772,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1780,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1781,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1786,1
    - Dst: png_write_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1787,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1788,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1789,1
    - Dst: png_save_int_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1790,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1793,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1794,1
    - Dst: png_write_chunk_data
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1798,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1801,1
    - Dst: png_write_chunk_end
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 8
    argNames:
    - png_ptr
    - purpose
    - X0
    - X1
    - type
    - nparams
    - units
    - params
    argTypes:
    - png_structrp
    - png_charp
    - png_int_32
    - png_int_32
    - int
    - int
    - png_const_charp
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1743
    functionDepth: 2
    functionLinenumber: 1743
    functionLinenumberEnd: 1803
    functionName: png_write_pCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_chunk_data
    - strlen
    - png_malloc
    - png_save_int_32
    - png_write_chunk_header
    - png_check_keyword
    - png_free
    - png_debug2
    - png_write_chunk_end
    - png_debug1
    linkageType: ''
    returnType: void
    signature: "void png_write_pCAL(png_structrp png_ptr, png_charp purpose, png_int_32
      X0,\n    png_int_32 X1, int type, int nparams, png_const_charp units,\n    png_charpp
      params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1815,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1817,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1818,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1823,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1828,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1829,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1831,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - png_ptr
    - unit
    - width
    - height
    argTypes:
    - png_structrp
    - int
    - png_const_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 1833
    functionName: png_write_sCAL_s
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - strlen
    - png_write_complete_chunk
    - memcpy
    - png_debug1
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_sCAL_s(png_structrp png_ptr, int unit, png_const_charp
      width,\n    png_const_charp height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1845,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1848,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1850,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1851,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - png_ptr
    - x_pixels_per_unit
    - y_pixels_per_unit
    - unit_type
    argTypes:
    - png_structrp
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1838
    functionDepth: 3
    functionLinenumber: 1838
    functionLinenumberEnd: 1855
    functionName: png_write_pHYs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    - png_save_uint_32
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: "void png_write_pHYs(png_structrp png_ptr, png_uint_32 x_pixels_per_unit,\n
      \   png_uint_32 y_pixels_per_unit,\n    int unit_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1867,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1873,1
    - Dst: png_save_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1877,1
    - Dst: png_write_complete_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1884,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - png_ptr
    - mod_time
    argTypes:
    - png_structrp
    - png_const_timep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1862
    functionDepth: 3
    functionLinenumber: 1862
    functionLinenumberEnd: 1885
    functionName: png_write_tIME
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_save_uint_16
    - png_debug
    - png_write_complete_chunk
    linkageType: ''
    returnType: void
    signature: void png_write_tIME(png_structrp png_ptr, png_const_timep mod_time)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1915,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1918,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1925,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1925,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1948,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1948,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1963,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1963,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1971,1
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:1972,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2001
      start: 1889
    functionDepth: 1
    functionLinenumber: 1889
    functionLinenumberEnd: 2001
    functionName: png_write_start_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_calloc
    - png_voidcast
    - PNG_ROWBYTES
    - png_malloc
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_start_row(png_structrp png_ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2023,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2073,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2074,1
    - Dst: png_compress_IDAT
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2084,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2004
    functionDepth: 4
    functionLinenumber: 2004
    functionLinenumberEnd: 2085
    functionName: png_write_finish_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - memset
    - png_compress_IDAT
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_finish_row(png_structrp png_ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2106,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2248,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2262,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 3
    argNames:
    - row_info
    - row
    - pass
    argTypes:
    - png_row_infop
    - png_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2265
    functionName: png_do_write_interlace
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - memcpy
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_write_interlace(png_row_infop row_info, png_bytep row,
      int pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2294,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    - lmins
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2315
    functionName: png_setup_sub_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: size_t
    signature: "size_t png_setup_sub_row(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes, size_t lmins)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2317
    functionDepth: 0
    functionLinenumber: 2317
    functionLinenumberEnd: 2337
    functionName: png_setup_sub_row_only
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_setup_sub_row_only(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - png_ptr
    - row_bytes
    - lmins
    argTypes:
    - png_structrp
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2365
    functionName: png_setup_up_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: size_t
    signature: size_t png_setup_up_row(png_structrp png_ptr, size_t row_bytes, size_t
      lmins)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - row_bytes
    argTypes:
    - png_structrp
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2366
    functionDepth: 0
    functionLinenumber: 2366
    functionLinenumberEnd: 2380
    functionName: png_setup_up_row_only
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_setup_up_row_only(png_structrp png_ptr, size_t row_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2399,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    - lmins
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2421
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2421
    functionName: png_setup_avg_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: size_t
    signature: "size_t png_setup_avg_row(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes, size_t lmins)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2442
    functionName: png_setup_avg_row_only
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_setup_avg_row_only(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2461,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2480,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2481,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2482,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2494,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    - lmins
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2504
    functionName: png_setup_paeth_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: size_t
    signature: "size_t png_setup_paeth_row(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes, size_t lmins)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2533,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2534,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - png_ptr
    - bpp
    - row_bytes
    argTypes:
    - png_structrp
    - png_uint_32
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2546
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2546
    functionName: png_setup_paeth_row_only
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: void
    signature: "void png_setup_paeth_row_only(png_structrp png_ptr, png_uint_32 bpp,\n
      \   size_t row_bytes)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: png_write_filtered_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2553,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2562,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2624,1
    - Dst: png_setup_sub_row_only
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2638,1
    - Dst: png_setup_sub_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2647,1
    - Dst: png_setup_up_row_only
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2664,1
    - Dst: png_setup_up_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2673,1
    - Dst: png_setup_avg_row_only
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2690,1
    - Dst: png_setup_avg_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2699,1
    - Dst: png_setup_paeth_row_only
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2716,1
    - Dst: png_setup_paeth_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2725,1
    - Dst: png_write_filtered_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2739,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 2
    argNames:
    - png_ptr
    - row_info
    argTypes:
    - png_structrp
    - png_row_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2549
    functionDepth: 1
    functionLinenumber: 2549
    functionLinenumberEnd: 2742
    functionName: png_write_find_filter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 0
    functionsReached:
    - png_write_filtered_row
    - png_setup_sub_row
    - png_setup_sub_row_only
    - png_setup_up_row_only
    - png_setup_paeth_row_only
    - png_setup_paeth_row
    - png_debug
    - png_setup_up_row
    - png_setup_avg_row_only
    - png_setup_avg_row
    - abs
    linkageType: ''
    returnType: void
    signature: void png_write_find_filter(png_structrp png_ptr, png_row_infop row_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2750,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2752,1
    - Dst: png_compress_IDAT
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2754,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2769,1
    - Dst: png_write_flush
      Src: /src/libspectre/ghostscript/libpng/pngwutil.c:2777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - png_ptr
    - filtered_row
    - full_row_length
    argTypes:
    - png_structrp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2746
    functionDepth: 5
    functionLinenumber: 2746
    functionLinenumberEnd: 2780
    functionName: png_write_filtered_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwutil.c
    functionUses: 1
    functionsReached:
    - png_write_finish_row
    - png_compress_IDAT
    - png_write_flush
    - png_debug1
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_filtered_row(png_structrp png_ptr, png_bytep filtered_row,\n
      \   size_t full_row_length/*includes filter byte*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:31,1
    - Dst: png_handle_as_unknown
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:42,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:65,1
    - Dst: png_write_chunk
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:67,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - where
    argTypes:
    - png_structrp
    - png_const_inforp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 71
    functionName: write_unknown_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_write_chunk
    - png_handle_as_unknown
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void write_unknown_chunks(png_structrp png_ptr, png_const_inforp info_ptr,\n
      \   unsigned int where)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:86,1
    - Dst: png_write_sig
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:94,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:100,1
    - Dst: png_write_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:107,1
    - Dst: png_write_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:136,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:150,1
    - Dst: png_write_iCCP
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:154,1
    - Dst: png_write_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:165,1
    - Dst: png_write_sBIT
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:171,1
    - Dst: png_write_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:179,1
    - Dst: write_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:184,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 83
    functionDepth: 5
    functionLinenumber: 83
    functionLinenumberEnd: 189
    functionName: png_write_info_before_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - png_write_iCCP
    - png_write_sig
    - write_unknown_chunks
    - png_write_cHRM_fixed
    - png_write_IHDR
    - png_write_sBIT
    - png_write_sRGB
    - png_write_gAMA_fixed
    - png_warning
    - png_app_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_info_before_PLTE(png_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:198,1
    - Dst: png_write_info_before_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:203,1
    - Dst: png_write_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:206,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:210,1
    - Dst: png_write_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:231,1
    - Dst: png_write_bKGD
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:237,1
    - Dst: png_write_eXIf
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:242,1
    - Dst: png_write_hIST
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:247,1
    - Dst: png_write_oFFs
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:252,1
    - Dst: png_write_pCAL
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:258,1
    - Dst: png_write_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:265,1
    - Dst: png_write_pHYs
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:271,1
    - Dst: png_write_tIME
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:278,1
    - Dst: png_write_sPLT
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:286,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:293,1
    - Dst: png_write_iTXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:300,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:312,1
    - Dst: png_write_zTXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:321,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:326,1
    - Dst: png_write_tEXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:334,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:341,1
    - Dst: write_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:348,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 350
    functionName: png_write_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 2
    functionsReached:
    - png_write_zTXt
    - png_write_info_before_PLTE
    - png_write_PLTE
    - png_debug2
    - png_write_sCAL_s
    - png_write_pHYs
    - png_write_tIME
    - png_write_tEXt
    - png_warning
    - png_write_oFFs
    - png_write_tRNS
    - png_write_hIST
    - png_write_pCAL
    - png_write_eXIf
    - png_debug
    - png_error
    - png_write_bKGD
    - write_unknown_chunks
    - png_write_sPLT
    - png_write_iTXt
    linkageType: ''
    returnType: void
    signature: void png_write_info(png_structrp png_ptr, png_const_inforp info_ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:360,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:366,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:370,1
    - Dst: png_write_tIME
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:383,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:390,1
    - Dst: png_write_iTXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:397,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:409,1
    - Dst: png_write_zTXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:417,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:422,1
    - Dst: png_write_tEXt
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:430,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:435,1
    - Dst: png_write_eXIf
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:443,1
    - Dst: write_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:447,1
    - Dst: png_write_IEND
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:454,1
    - Dst: png_flush
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:465,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 468
    functionName: png_write_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 2
    functionsReached:
    - png_error
    - png_flush
    - png_write_zTXt
    - png_write_IEND
    - png_write_tIME
    - png_write_tEXt
    - png_debug2
    - png_benign_error
    - write_unknown_chunks
    - png_warning
    - png_write_eXIf
    - png_debug
    - png_write_iTXt
    linkageType: ''
    returnType: void
    signature: void png_write_end(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ptime
    - ttime
    argTypes:
    - png_timep
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 482
    functionName: png_convert_from_struct_tm
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_convert_from_struct_tm(png_timep ptime, const struct tm *
      ttime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:489,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:491,1
    - Dst: png_convert_from_struct_tm
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptime
    - ttime
    argTypes:
    - png_timep
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 493
    functionName: png_convert_from_time_t
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_convert_from_struct_tm
    - gmtime
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_convert_from_time_t(png_timep ptime, time_t ttime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:502,1
    - Dst: png_create_write_struct_2
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_create_write_struct
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 507
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_create_png_struct
    - png_create_write_struct_2
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_structp,PNGAPI\npng_create_write_struct,(png_const_charp
      user_png_ver, png_voidp error_ptr,\n    png_error_ptr error_fn, png_error_ptr
      warn_fn),PNG_ALLOCATED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_create_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:515,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - png_create_write_struct_2
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 570
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_set_write_fn
    - png_create_png_struct
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_structp,PNGAPI\npng_create_write_struct_2,(png_const_charp
      user_png_ver, png_voidp error_ptr,\n    png_error_ptr error_fn, png_error_ptr
      warn_fn, png_voidp mem_ptr,\n    png_malloc_ptr malloc_fn, png_free_ptr free_fn),PNG_ALLOCATED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:585,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - row
    - num_rows
    argTypes:
    - png_structrp
    - png_bytepp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 595
    functionName: png_write_rows
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - png_write_row
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_write_rows(png_structrp png_ptr, png_bytepp row,\n    png_uint_32
      num_rows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:610,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:616,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:626,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - image
    argTypes:
    - png_structrp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 629
    functionName: png_write_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_write_row
    - png_set_interlace_handling
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_image(png_structrp png_ptr, png_bytepp image)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 693
    functionName: png_do_write_intrapixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_write_intrapixel(png_row_infop row_info, png_bytep row)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:706,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:714,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:720,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:725,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:730,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:736,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:741,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:746,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:751,1
    - Dst: png_write_start_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:754,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:767,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:775,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:783,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:791,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:799,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:807,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:815,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:832,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:834,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:835,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:836,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:837,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:838,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:839,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:842,1
    - Dst: png_do_write_interlace
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:849,1
    - Dst: png_write_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:853,1
    - Dst: png_do_write_transformations
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:862,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:870,1
    - Dst: png_do_write_intrapixel
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:886,1
    - Dst: png_do_check_palette_indexes
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:895,1
    - Dst: png_write_find_filter
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:899,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 103
    argCount: 2
    argNames:
    - png_ptr
    - row
    argTypes:
    - png_structrp
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 697
    functionDepth: 5
    functionLinenumber: 697
    functionLinenumberEnd: 903
    functionName: png_write_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 3
    functionsReached:
    - png_error
    - png_do_write_interlace
    - png_do_write_transformations
    - PNG_ROWBYTES
    - png_write_finish_row
    - png_do_check_palette_indexes
    - png_write_start_row
    - png_debug2
    - memcpy
    - png_debug1
    - png_warning
    - png_write_find_filter
    - png_do_write_intrapixel
    linkageType: ''
    returnType: void
    signature: void png_write_row(png_structrp png_ptr, png_const_bytep row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - nrows
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 916
    functionName: png_set_flush
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_flush(png_structrp png_ptr, int nrows)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:922,1
    - Dst: png_compress_IDAT
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:931,1
    - Dst: png_flush
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 919
    functionDepth: 4
    functionLinenumber: 919
    functionLinenumberEnd: 934
    functionName: png_write_flush
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - png_compress_IDAT
    - png_flush
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_flush(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:941,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:945,1
    - Dst: png_free_buffer_list
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:948,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:949,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:952,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:953,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:954,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:961,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 969
    functionName: png_write_destroy
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - deflateEnd
    - png_free
    - png_free_buffer_list
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_write_destroy(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:981,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:989,1
    - Dst: png_write_destroy
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:992,1
    - Dst: png_destroy_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:993,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - png_ptr_ptr
    - info_ptr_ptr
    argTypes:
    - png_structpp
    - png_infopp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 996
    functionName: png_destroy_write_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 3
    functionsReached:
    - png_destroy_info_struct
    - png_destroy_png_struct
    - png_debug
    - png_write_destroy
    linkageType: ''
    returnType: void
    signature: void png_destroy_write_struct(png_structpp png_ptr_ptr, png_infopp
      info_ptr_ptr)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1002,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1020,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1043,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1082,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1104,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1108,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1109,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1114,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1115,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1122,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 3
    argNames:
    - png_ptr
    - method
    - filters
    argTypes:
    - png_structrp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1123
    functionName: png_set_filter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_voidcast
    - PNG_ROWBYTES
    - png_malloc
    - png_app_warning
    - png_debug
    - png_app_error
    linkageType: ''
    returnType: void
    signature: void png_set_filter(png_structrp png_ptr, int method, int filters)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1133,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1134,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1135,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1136,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - png_ptr
    - heuristic_method
    - num_weights
    - filter_weights
    - filter_costs
    argTypes:
    - png_structrp
    - int
    - int
    - png_const_doublep
    - png_const_doublep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1128
    functionDepth: 0
    functionLinenumber: 1128
    functionLinenumberEnd: 1138
    functionName: png_set_filter_heuristics
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: "void png_set_filter_heuristics(png_structrp png_ptr, int heuristic_method,\n
      \   int num_weights, png_const_doublep filter_weights,\n    png_const_doublep
      filter_costs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1147,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1148,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1149,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1150,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - png_ptr
    - heuristic_method
    - num_weights
    - filter_weights
    - filter_costs
    argTypes:
    - png_structrp
    - int
    - int
    - png_const_fixed_point_p
    - png_const_fixed_point_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1142
    functionDepth: 0
    functionLinenumber: 1142
    functionLinenumberEnd: 1152
    functionName: png_set_filter_heuristics_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: "void png_set_filter_heuristics_fixed(png_structrp png_ptr, int heuristic_method,\n
      \   int num_weights, png_const_fixed_point_p filter_weights,\n    png_const_fixed_point_p
      filter_costs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - level
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1166
    functionName: png_set_compression_level
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_compression_level(png_structrp png_ptr, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - mem_level
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1177
    functionName: png_set_compression_mem_level
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_compression_mem_level(png_structrp png_ptr, int mem_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - strategy
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1179
    functionDepth: 1
    functionLinenumber: 1179
    functionLinenumberEnd: 1191
    functionName: png_set_compression_strategy
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_compression_strategy(png_structrp png_ptr, int strategy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1210,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - png_ptr
    - window_bits
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1221
    functionName: png_set_compression_window_bits
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_warning
    linkageType: ''
    returnType: void
    signature: void png_set_compression_window_bits(png_structrp png_ptr, int window_bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1226,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - png_ptr
    - method
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1238
    functionName: png_set_compression_method
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_compression_method(png_structrp png_ptr, int method)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - level
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1252
    functionName: png_set_text_compression_level
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_text_compression_level(png_structrp png_ptr, int level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - mem_level
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1263
    functionName: png_set_text_compression_mem_level
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_text_compression_mem_level(png_structrp png_ptr, int mem_level)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - strategy
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1274
    functionName: png_set_text_compression_strategy
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_text_compression_strategy(png_structrp png_ptr, int strategy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1287,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - png_ptr
    - window_bits
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1279
    functionDepth: 0
    functionLinenumber: 1279
    functionLinenumberEnd: 1298
    functionName: png_set_text_compression_window_bits
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_warning
    linkageType: ''
    returnType: void
    signature: void png_set_text_compression_window_bits(png_structrp png_ptr, int
      window_bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1303,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - png_ptr
    - method
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1312
    functionName: png_set_text_compression_method
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_text_compression_method(png_structrp png_ptr, int method)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - write_row_fn
    argTypes:
    - png_structrp
    - png_write_status_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1323
    functionName: png_set_write_status_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_set_write_status_fn(png_structrp png_ptr, png_write_status_ptr
      write_row_fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - write_user_transform_fn
    argTypes:
    - png_structrp
    - png_user_transform_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1337
    functionName: png_set_write_user_transform_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_write_user_transform_fn(png_structrp png_ptr, png_user_transform_ptr\n
      \   write_user_transform_fn)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1351,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1356,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1363,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1365,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1374,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1376,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1382,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1384,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1390,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1392,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1406,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1410,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1414,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1416,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1423,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1425,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1431,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1433,1
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1439,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1441,1
    - Dst: png_set_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1447,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1449,1
    - Dst: png_write_image
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1455,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1458,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1460,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - transforms
    - params
    argTypes:
    - png_structrp
    - png_inforp
    - int
    - voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1342
    functionDepth: 7
    functionLinenumber: 1342
    functionLinenumberEnd: 1461
    functionName: png_write_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    - png_set_packing
    - png_set_swap
    - png_set_invert_mono
    - png_set_bgr
    - png_set_invert_alpha
    - png_set_swap_alpha
    - png_set_packswap
    - png_set_shift
    - png_write_image
    - png_write_info
    - png_write_end
    - png_app_error
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: "void png_write_png(png_structrp png_ptr, png_inforp info_ptr,\n    int
      transforms, voidp params)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1470,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1475,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1479,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1480,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1484,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1495,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1498,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - image
    argTypes:
    - png_imagep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1467
    functionDepth: 4
    functionLinenumber: 1467
    functionLinenumberEnd: 1502
    functionName: png_image_write_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_image_error
    - png_voidcast
    - png_destroy_info_struct
    - memset
    - png_malloc_warn
    - png_create_write_struct
    - png_destroy_write_struct
    linkageType: ''
    returnType: int
    signature: int png_image_write_init(png_imagep image)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1530,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1535,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1537,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1561,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1624,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1527
    functionDepth: 6
    functionLinenumber: 1527
    functionLinenumberEnd: 1629
    functionName: png_write_image_16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_write_row
    - png_voidcast
    linkageType: ''
    returnType: int
    signature: int png_write_image_16bit(png_voidp argument)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alpha
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1640
    functionName: UNP_RECIPROCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNP_RECIPROCAL(alpha)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - component
    - alpha
    - reciprocal
    argTypes:
    - png_uint_32
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1684
    functionName: png_unpremultiply
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - PNG_sRGB_FROM_LINEAR
    linkageType: ''
    returnType: png_byte
    signature: "png_byte png_unpremultiply(png_uint_32 component, png_uint_32 alpha,\n
      \   png_uint_32 reciprocal/*from the above macro*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1689,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1694,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1696,1
    - Dst: PNG_DIV257
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1729,1
    - Dst: UNP_RECIPROCAL
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1737,1
    - Dst: png_unpremultiply
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1741,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1749,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1749,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1772,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1775,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1686
    functionDepth: 6
    functionLinenumber: 1686
    functionLinenumberEnd: 1781
    functionName: png_write_image_8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - PNG_DIV257
    - UNP_RECIPROCAL
    - png_write_row
    - png_unpremultiply
    - PNG_sRGB_FROM_LINEAR
    linkageType: ''
    returnType: int
    signature: int png_write_image_8bit(png_voidp argument)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PNG_IMAGE_SAMPLE_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1793,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1813,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1814,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1823,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1831,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1833,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1835,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1841,1
    - Dst: PNG_DIV257
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1847,1
    - Dst: png_unpremultiply
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1863,1
    - Dst: png_unpremultiply
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1865,1
    - Dst: png_unpremultiply
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1867,1
    - Dst: png_unpremultiply
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1873,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1879,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1919,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1923,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_write_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1783
    functionDepth: 2
    functionLinenumber: 1783
    functionLinenumberEnd: 1927
    functionName: png_image_set_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - png_set_PLTE
    - PNG_DIV257
    - memset
    - png_unpremultiply
    - PNG_sRGB_FROM_LINEAR
    - png_set_tRNS
    - PNG_IMAGE_SAMPLE_CHANNELS
    linkageType: ''
    returnType: void
    signature: void png_image_set_PLTE(png_image_write_control *display)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1932,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1947,1
    - Dst: PNG_IMAGE_PIXEL_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1954,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1977,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1981,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1985,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:1995,1
    - Dst: png_image_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2000,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2004,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2009,1
    - Dst: png_set_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2024,1
    - Dst: png_set_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2027,1
    - Dst: png_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2037,1
    - Dst: png_set_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2043,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2046,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2058,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2065,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2074,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2083,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2088,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2091,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2107,1
    - Dst: png_set_compression_level
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2114,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2125,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2125,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2126,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2131,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2133,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2136,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2148,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2154,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2159,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 79
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 1929
    functionDepth: 7
    functionLinenumber: 1929
    functionLinenumberEnd: 2161
    functionName: png_image_write_main
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - PNG_IMAGE_PIXEL_CHANNELS
    - png_set_packing
    - png_safe_execute
    - png_set_bgr
    - png_set_compression_level
    - png_set_swap_alpha
    - png_set_benign_errors
    - png_free
    - png_write_end
    - png_set_IHDR
    - png_set_sRGB
    - png_voidcast
    - png_image_set_PLTE
    - png_get_rowbytes
    - png_write_row
    - png_set_gAMA_fixed
    - png_error
    - png_set_swap
    - png_set_cHRM_fixed
    - png_malloc
    - png_set_filter
    - png_write_info
    linkageType: ''
    returnType: int
    signature: int png_image_write_main(png_voidp argument)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2167,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2178,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - png_ptr
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2187
    functionName: '(PNGCBAPI

      image_memory_write)(png_structp png_ptr, png_bytep/*const*/ data, size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_error
    - memcpy
    - png_voidcast
    linkageType: ''
    returnType: void
    signature: 'void (PNGCBAPI

      image_memory_write)(png_structp png_ptr, png_bytep/*const*/ data, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2198,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2205,1
    - Dst: png_image_write_main
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2195
    functionDepth: 8
    functionLinenumber: 2195
    functionLinenumberEnd: 2209
    functionName: png_image_write_memory
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_image_write_main
    - png_set_write_fn
    - png_voidcast
    linkageType: ''
    returnType: int
    signature: int png_image_write_memory(png_voidp argument)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_image_write_init
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2227,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2232,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2238,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2242,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2243,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2265,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2270,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - image
    - memory
    - PNG_RESTRICT memory_bytes
    - convert_to_8bit
    - buffer
    - row_stride
    - colormap
    argTypes:
    - png_imagep
    - void*
    - png_alloc_size_t*
    - int
    - void*
    - png_int_32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2211
    functionDepth: 5
    functionLinenumber: 2211
    functionLinenumberEnd: 2275
    functionName: png_image_write_to_memory
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_image_error
    - png_voidcast
    - png_safe_execute
    - png_image_free
    - memset
    - png_image_write_init
    linkageType: ''
    returnType: int
    signature: "int png_image_write_to_memory(png_imagep image, void *memory,\n    png_alloc_size_t
      * PNG_RESTRICT memory_bytes, int convert_to_8bit,\n    const void *buffer, png_int_32
      row_stride, const void *colormap)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_image_write_init
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2287,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2298,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2305,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2306,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2315,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2320,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - image
    - file
    - convert_to_8bit
    - buffer
    - row_stride
    - colormap
    argTypes:
    - png_imagep
    - FILE*
    - int
    - void*
    - png_int_32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2278
    functionDepth: 5
    functionLinenumber: 2278
    functionLinenumberEnd: 2325
    functionName: png_image_write_to_stdio
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_image_error
    - png_safe_execute
    - png_image_free
    - memset
    - png_image_write_init
    linkageType: ''
    returnType: int
    signature: "int png_image_write_to_stdio(png_imagep image, FILE *file, int convert_to_8bit,\n
      \   const void *buffer, png_int_32 row_stride, const void *colormap)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2337,1
    - Dst: png_image_write_to_stdio
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2341,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2347,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2347,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2349,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2358,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2361,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2365,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2365,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2371,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2372,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2378,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2378,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2382,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngwrite.c:2387,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 6
    argNames:
    - image
    - file_name
    - convert_to_8bit
    - buffer
    - row_stride
    - colormap
    argTypes:
    - png_imagep
    - char*
    - int
    - void*
    - png_int_32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2327
    functionDepth: 6
    functionLinenumber: 2327
    functionLinenumberEnd: 2392
    functionName: png_image_write_to_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwrite.c
    functionUses: 0
    functionsReached:
    - png_image_error
    - strerror
    - fopen
    - png_image_write_to_stdio
    - fflush
    - ferror
    - remove
    - fclose
    linkageType: ''
    returnType: int
    signature: "int png_image_write_to_file(png_imagep image, const char *file_name,\n
      \   int convert_to_8bit, const void *buffer, png_int_32 row_stride,\n    const
      void *colormap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sig
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 920
    functionName: png_check_sig
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_check_sig(sig, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 954
    functionName: png_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_jmpbuf(png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: png_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_jmpbuf(png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1784
    functionDepth: 0
    functionLinenumber: 1784
    functionLinenumberEnd: 1785
    functionName: png_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 40
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_error(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1786
    functionName: png_chunk_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_chunk_error(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1798
    functionName: png_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_warning(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1799
    functionName: png_chunk_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_chunk_warning(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2443
    functionDepth: 0
    functionLinenumber: 2443
    functionLinenumberEnd: 2444
    functionName: PNG_PASS_START_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_ROW(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2444
    functionDepth: 0
    functionLinenumber: 2444
    functionLinenumberEnd: 2445
    functionName: PNG_PASS_START_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_COL(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2451
    functionDepth: 0
    functionLinenumber: 2451
    functionLinenumberEnd: 2452
    functionName: PNG_PASS_ROW_OFFSET
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROW_OFFSET(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2452
    functionDepth: 0
    functionLinenumber: 2452
    functionLinenumberEnd: 2453
    functionName: PNG_PASS_COL_OFFSET
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COL_OFFSET(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2458
    functionDepth: 0
    functionLinenumber: 2458
    functionLinenumberEnd: 2459
    functionName: PNG_PASS_ROW_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROW_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2460
    functionName: PNG_PASS_COL_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COL_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - height
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2466
    functionDepth: 0
    functionLinenumber: 2466
    functionLinenumberEnd: 2468
    functionName: PNG_PASS_ROWS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROWS(height, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - width
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2468
    functionDepth: 0
    functionLinenumber: 2468
    functionLinenumberEnd: 2470
    functionName: PNG_PASS_COLS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COLS(width, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - y_in
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2475
    functionDepth: 0
    functionLinenumber: 2475
    functionLinenumberEnd: 2477
    functionName: PNG_ROW_FROM_PASS_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_FROM_PASS_ROW(y_in, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x_in
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2479
      start: 2477
    functionDepth: 0
    functionLinenumber: 2477
    functionLinenumberEnd: 2479
    functionName: PNG_COL_FROM_PASS_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_FROM_PASS_COL(x_in, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pass
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2489
    functionName: PNG_PASS_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_MASK(pass,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - y
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2492
    functionName: PNG_ROW_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_IN_INTERLACE_PASS(y, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2492
    functionDepth: 0
    functionLinenumber: 2492
    functionLinenumberEnd: 2494
    functionName: PNG_COL_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_IN_INTERLACE_PASS(x, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2518
      start: 2510
    functionDepth: 0
    functionLinenumber: 2510
    functionLinenumberEnd: 2518
    functionName: png_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_composite(composite, fg, alpha, bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2527
    functionName: png_composite_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_composite_16(composite, fg, alpha, bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2535
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2535
    functionName: png_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_composite(composite, fg, alpha, bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2541
    functionName: png_composite_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_composite_16(composite, fg, alpha, bg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2580
    functionName: PNG_get_uint_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_get_uint_32(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2588
    functionName: PNG_get_uint_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_get_uint_16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2593
    functionName: PNG_get_int_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_get_int_32(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2599
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2599
    functionName: png_get_uint_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_get_uint_32(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2599
    functionDepth: 0
    functionLinenumber: 2599
    functionLinenumberEnd: 2600
    functionName: png_get_uint_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_get_uint_16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2600
    functionDepth: 0
    functionLinenumber: 2600
    functionLinenumberEnd: 2601
    functionName: png_get_int_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_get_int_32(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_cntrl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2703
    functionDepth: 0
    functionLinenumber: 2703
    functionLinenumberEnd: 2704
    functionName: PNG_IMAGE_FAILED
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_FAILED(png_cntrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2848
    functionName: PNG_IMAGE_SAMPLE_CHANNELS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_SAMPLE_CHANNELS(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2852
      start: 2850
    functionDepth: 0
    functionLinenumber: 2850
    functionLinenumberEnd: 2852
    functionName: PNG_IMAGE_SAMPLE_COMPONENT_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_SAMPLE_COMPONENT_SIZE(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2858
      start: 2856
    functionDepth: 0
    functionLinenumber: 2856
    functionLinenumberEnd: 2858
    functionName: PNG_IMAGE_SAMPLE_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_SAMPLE_SIZE(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2863
    functionDepth: 0
    functionLinenumber: 2863
    functionLinenumberEnd: 2865
    functionName: PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_MAXIMUM_COLORMAP_COMPONENTS(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - test
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2881
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2881
    functionName: PNG_IMAGE_PIXEL_
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PIXEL_(test,fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2884
      start: 2882
    functionDepth: 0
    functionLinenumber: 2882
    functionLinenumberEnd: 2884
    functionName: PNG_IMAGE_PIXEL_CHANNELS
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PIXEL_CHANNELS(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2888
    functionDepth: 0
    functionLinenumber: 2888
    functionLinenumberEnd: 2890
    functionName: PNG_IMAGE_PIXEL_COMPONENT_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PIXEL_COMPONENT_SIZE(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2895
      start: 2894
    functionDepth: 0
    functionLinenumber: 2894
    functionLinenumberEnd: 2895
    functionName: PNG_IMAGE_PIXEL_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PIXEL_SIZE(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2900
    functionName: PNG_IMAGE_ROW_STRIDE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_ROW_STRIDE(image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - image
    - ','
    - row_stride
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2910
    functionDepth: 0
    functionLinenumber: 2910
    functionLinenumberEnd: 2912
    functionName: PNG_IMAGE_BUFFER_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_BUFFER_SIZE(image, row_stride)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2921
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2921
    functionName: PNG_IMAGE_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_SIZE(image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2927
      start: 2925
    functionDepth: 0
    functionLinenumber: 2925
    functionLinenumberEnd: 2927
    functionName: PNG_IMAGE_COLORMAP_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_COLORMAP_SIZE(image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - image
    - ','
    - size
    - ','
    - convert_to_8_bit
    - ','
    - buffer
    - ','
    - row_stride
    - ','
    - colormap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3111
    functionDepth: 0
    functionLinenumber: 3111
    functionLinenumberEnd: 3115
    functionName: png_image_write_get_memory_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "png_image_write_get_memory_size(image, size, convert_to_8_bit, buffer,\\\n
      \  row_stride, colormap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3130
    functionDepth: 0
    functionLinenumber: 3130
    functionLinenumberEnd: 3131
    functionName: PNG_IMAGE_DATA_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_DATA_SIZE(image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3142
      start: 3141
    functionDepth: 0
    functionLinenumber: 3141
    functionLinenumberEnd: 3142
    functionName: PNG_ZLIB_MAX_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ZLIB_MAX_SIZE(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3150
    functionDepth: 0
    functionLinenumber: 3150
    functionLinenumberEnd: 3152
    functionName: PNG_IMAGE_COMPRESSED_SIZE_MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_COMPRESSED_SIZE_MAX(image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - image
    - ','
    - image_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3155
    functionName: PNG_IMAGE_PNG_SIZE_MAX_
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PNG_SIZE_MAX_(image, image_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - image
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3169
      start: 3167
    functionDepth: 0
    functionLinenumber: 3167
    functionLinenumberEnd: 3169
    functionName: PNG_IMAGE_PNG_SIZE_MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_IMAGE_PNG_SIZE_MAX(image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_constcast
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:37,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structrp
    - png_const_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: png_write_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwio.c
    functionUses: 4
    functionsReached:
    - png_error
    - png_constcast
    linkageType: ''
    returnType: void
    signature: void png_write_data(png_structrp png_ptr, png_const_bytep data, size_t
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:58,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: png_default_write_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwio.c
    functionUses: 0
    functionsReached:
    - png_error
    - fwrite
    linkageType: ''
    returnType: void
    signature: void png_default_write_data(png_structp png_ptr, png_bytep data, size_t
      length)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: png_flush
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_flush(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:86,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 88
    functionName: png_default_flush
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwio.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - fflush
    linkageType: ''
    returnType: void
    signature: void png_default_flush(png_structp png_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:153,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngwio.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - png_ptr
    - io_ptr
    - write_data_fn
    - output_flush_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_rw_ptr
    - png_flush_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 167
    functionName: png_set_write_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwio.c
    functionUses: 4
    functionsReached:
    - PNG_UNUSED
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_write_fn(png_structrp png_ptr, png_voidp io_ptr,\n    png_rw_ptr
      write_data_fn, png_flush_ptr output_flush_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arglist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: PNGARG
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGARG(arglist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: PNG_EXPORT_TYPE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORT_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FUNCTION(type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: PNG_EXPORT_TYPE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORT_TYPE(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 303
    functionName: PNG_EXPORTA
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORTA(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: PNG_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORT(ordinal, type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: PNG_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CALLBACK(type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: PNG_FP_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FP_EXPORT(ordinal, type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: PNG_FIXED_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FIXED_EXPORT(ordinal, type, name, args)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:24,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:27,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - buf
    argTypes:
    - png_const_structrp
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 30
    functionName: png_get_uint_31
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 3
    functionsReached:
    - png_error
    - png_get_uint_32
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_uint_31(png_const_structrp png_ptr, png_const_bytep
      buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:43,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - buf
    argTypes:
    - png_structrp
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: png_get_fixed_point
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_get_uint_32
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_get_fixed_point(png_structrp png_ptr, png_const_bytep
      buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: png_uint_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void png_uint_32 (PNGAPI

      png_get_uint_32)(png_const_bytep buf)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - buf
    argTypes:
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: png_int_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_get_uint_32
    linkageType: ''
    returnType: void
    signature: 'void png_int_32 (PNGAPI

      png_get_int_32)(png_const_bytep buf)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: png_uint_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void png_uint_16 (PNGAPI

      png_get_uint_16)(png_const_bytep buf)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_read_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:137,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:140,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:143,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:144,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 150
    functionName: png_read_sig
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_read_data
    - png_sig_cmp
    linkageType: ''
    returnType: void
    signature: void png_read_sig(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_read_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:168,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:169,1
    - Dst: PNG_CHUNK_FROM_STRING
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:172,1
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:174,1
    - Dst: png_reset_crc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:178,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:179,1
    - Dst: png_check_chunk_name
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:182,1
    - Dst: png_check_chunk_length
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 192
    functionName: png_read_chunk_header
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_read_data
    - png_check_chunk_name
    - png_check_chunk_length
    - png_reset_crc
    - png_debug2
    - png_calculate_crc
    - png_get_uint_31
    - PNG_CHUNK_FROM_STRING
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_read_chunk_header(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_read_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:201,1
    - Dst: png_calculate_crc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - buf
    - length
    argTypes:
    - png_structrp
    - png_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: png_crc_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 2
    functionsReached:
    - png_read_data
    - png_calculate_crc
    linkageType: ''
    returnType: void
    signature: void png_crc_read(png_structrp png_ptr, png_bytep buf, png_uint_32
      length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:226,1
    - Dst: png_crc_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:229,1
    - Dst: PNG_CHUNK_ANCILLARY
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:231,1
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:235,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - png_ptr
    - skip
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 245
    functionName: png_crc_finish
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached:
    - png_chunk_error
    - png_chunk_warning
    - png_crc_read
    - png_crc_error
    - PNG_CHUNK_ANCILLARY
    linkageType: ''
    returnType: int
    signature: int png_crc_finish(png_structrp png_ptr, png_uint_32 skip)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CHUNK_ANCILLARY
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:257,1
    - Dst: png_read_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:275,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 285
    functionName: png_crc_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached:
    - png_read_data
    - png_get_uint_32
    - PNG_CHUNK_ANCILLARY
    linkageType: ''
    returnType: int
    signature: int png_crc_error(png_structrp png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:307,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:313,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:313,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:317,1
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:325,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - png_ptr
    - new_size
    - warn
    argTypes:
    - png_structrp
    - png_alloc_size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 333
    functionName: png_read_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_malloc_base
    - png_voidcast
    - png_chunk_warning
    - png_free
    - memset
    linkageType: ''
    returnType: png_bytep
    signature: png_bytep png_read_buffer(png_structrp png_ptr, png_alloc_size_t new_size,
      int warn)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PNG_STRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:348,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:353,1
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:355,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:358,1
    - Dst: inflateReset2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:407,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:409,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:416,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:418,1
    - Dst: inflateValidate
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:429,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - png_ptr
    - owner
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 444
    functionName: png_inflate_claim
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_safecat
    - png_chunk_error
    - inflateInit2
    - PNG_STRING_FROM_CHUNK
    - png_chunk_warning
    - png_zstream_error
    - inflateReset
    - inflateValidate
    - inflateReset2
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - flush
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 468
    functionName: png_zlib_inflate
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - inflate
    linkageType: ''
    returnType: int
    signature: int png_zlib_inflate(png_structrp png_ptr, int flush)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PNGZ_INPUT_CAST
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:504,1
    - Dst: PNG_INFLATE
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:565,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:587,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 7
    argNames:
    - png_ptr
    - owner
    - finish
    - input
    - input_size_ptr
    - output
    - output_size_ptr
    argTypes:
    - png_structrp
    - png_uint_32
    - int
    - png_const_bytep
    - png_uint_32p
    - png_bytep
    - png_alloc_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 600
    functionName: png_inflate
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - PNG_INFLATE
    - PNGZ_INPUT_CAST
    - png_zstream_error
    - PNGZ_MSG_CAST
    linkageType: ''
    returnType: int
    signature: "int png_inflate(png_structrp png_ptr, png_uint_32 owner, int finish,\n
      \   /* INPUT: */ png_const_bytep input, png_uint_32p input_size_ptr,\n    /*
      OUTPUT: */ png_bytep output, png_alloc_size_t *output_size_ptr)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: png_inflate_claim
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:643,1
    - Dst: png_inflate
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:649,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:662,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:672,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:672,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:677,1
    - Dst: png_inflate
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:679,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:691,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:720,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:727,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:734,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:741,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:762,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 5
    argNames:
    - png_ptr
    - chunklength
    - prefix_size
    - newlength
    - terminate
    argTypes:
    - png_structrp
    - png_uint_32
    - png_uint_32
    - png_alloc_size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 765
    functionName: png_decompress_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_malloc_base
    - png_voidcast
    - png_zstream_error
    - png_chunk_benign_error
    - inflateReset
    - png_inflate_claim
    - png_free
    - memset
    - memcpy
    - png_inflate
    linkageType: ''
    returnType: int
    signature: "int png_decompress_chunk(png_structrp png_ptr,\n    png_uint_32 chunklength,
      png_uint_32 prefix_size,\n    png_alloc_size_t *newlength /* must be initialized
      to the maximum! */,\n    int terminate /*add a '\\0' to the end of the uncompressed
      data*/)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:795,1
    - Dst: PNG_INFLATE
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:815,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:824,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:830,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 7
    argNames:
    - png_ptr
    - read_buffer
    - read_size
    - chunk_bytes
    - next_out
    - out_size
    - finish
    argTypes:
    - png_structrp
    - png_bytep
    - uInt
    - png_uint_32p
    - png_bytep
    - png_alloc_size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 773
    functionDepth: 2
    functionLinenumber: 773
    functionLinenumberEnd: 833
    functionName: png_inflate_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - PNG_INFLATE
    - png_zstream_error
    - PNGZ_MSG_CAST
    - png_crc_read
    linkageType: ''
    returnType: int
    signature: "int png_inflate_read(png_structrp png_ptr, png_bytep read_buffer,
      uInt read_size,\n    png_uint_32p chunk_bytes, png_bytep next_out, png_alloc_size_t
      *out_size,\n    int finish)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:846,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:849,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:853,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:857,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:858,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:860,1
    - Dst: png_get_uint_31
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:861,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:903,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:904,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:905,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:906,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:907,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 909
    functionName: png_handle_IHDR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - PNG_ROWBYTES
    - png_set_IHDR
    - png_crc_finish
    - png_get_uint_31
    - png_debug1
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_IHDR(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1102,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1106,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1110,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1113,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1099
    functionDepth: 3
    functionLinenumber: 1099
    functionLinenumberEnd: 1116
    functionName: png_handle_IEND
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - png_chunk_error
    - png_chunk_benign_error
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_IEND(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1125,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1128,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1132,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1133,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1139,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1140,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1144,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1146,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1149,1
    - Dst: png_colorspace_set_gamma
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1151,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1153
    functionName: png_handle_gAMA
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_colorspace_sync
    - png_chunk_benign_error
    - png_colorspace_set_gamma
    - png_crc_finish
    - png_get_fixed_point
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_gAMA(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1164,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1167,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1171,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1172,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1178,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1179,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1197,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1198,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1203,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1205,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1212,1
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1234,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1157
    functionDepth: 3
    functionLinenumber: 1157
    functionLinenumberEnd: 1235
    functionName: png_handle_sBIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_chunk_benign_error
    - png_crc_finish
    - png_debug
    - png_set_sBIT
    linkageType: ''
    returnType: void
    signature: void png_handle_sBIT(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1245,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1248,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1252,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1253,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1259,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1260,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1264,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1266,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1269,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1270,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1271,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1272,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1273,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1274,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1275,1
    - Dst: png_get_fixed_point
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1276,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1287,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1298,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1299,1
    - Dst: png_colorspace_set_chromaticities
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1304,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1306,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1307
    functionName: png_handle_cHRM
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_colorspace_set_chromaticities
    - png_crc_read
    - png_colorspace_sync
    - png_chunk_benign_error
    - png_crc_finish
    - png_get_fixed_point
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_cHRM(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1316,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1319,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1323,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1324,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1330,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1331,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1335,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1337,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1350,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1351,1
    - Dst: png_colorspace_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1355,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1311
    functionDepth: 3
    functionLinenumber: 1311
    functionLinenumberEnd: 1357
    functionName: png_handle_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_colorspace_set_sRGB
    - png_chunk_error
    - png_crc_read
    - png_colorspace_sync
    - png_chunk_benign_error
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_sRGB(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1368,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1371,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1375,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1376,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1392,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1393,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1400,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1419,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1427,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1428,1
    - Dst: png_inflate_claim
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1448,1
    - Dst: png_inflate_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1456,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1464,1
    - Dst: png_icc_check_length
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1466,1
    - Dst: png_icc_check_header
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1472,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1482,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1483,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1488,1
    - Dst: png_inflate_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1493,1
    - Dst: png_icc_check_tag_table
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1502,1
    - Dst: png_inflate_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1512,1
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1529,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1533,1
    - Dst: png_icc_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1538,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1546,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1549,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1550,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1554,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1578,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1629,1
    - Dst: png_colorspace_sync
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1632,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1634,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1361
    functionDepth: 3
    functionLinenumber: 1361
    functionLinenumberEnd: 1635
    functionName: png_handle_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_warning
    - png_chunk_benign_error
    - png_icc_set_sRGB
    - png_icc_check_header
    - png_colorspace_sync
    - png_read_buffer
    - png_malloc_base
    - png_voidcast
    - png_inflate_claim
    - png_get_uint_32
    - png_debug
    - png_chunk_error
    - png_crc_read
    - png_free_data
    - memcpy
    - png_icc_check_tag_table
    - png_crc_finish
    - png_icc_check_length
    - png_inflate_read
    linkageType: ''
    returnType: void
    signature: void png_handle_iCCP(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1652,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1659,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1665,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1666,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1673,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1677,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1678,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1685,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1686,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1691,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1694,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1695,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1704,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1706,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1719,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1733,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1742,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1748,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1753,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1772,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1773,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1774,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1775,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1778,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1796,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1797,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1798,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1799,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1802,1
    - Dst: png_set_sPLT
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1809,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1811,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 104
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1812
    functionName: png_handle_sPLT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - png_chunk_benign_error
    - png_free
    - png_malloc_warn
    - png_crc_finish
    - png_get_uint_16
    - png_set_sPLT
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_sPLT(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1821,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1824,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1828,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1829,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1835,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1836,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1846,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1847,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1851,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1853,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1862,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1863,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1867,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1869,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1870,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1871,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1879,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1880,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1888,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1889,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1893,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1899,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1900,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1904,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1914,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1916
      start: 1816
    functionDepth: 3
    functionLinenumber: 1816
    functionLinenumberEnd: 1916
    functionName: png_handle_tRNS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_chunk_benign_error
    - png_crc_finish
    - png_get_uint_16
    - png_set_tRNS
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_tRNS(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1927,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1930,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1936,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1937,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1943,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1944,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1959,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1960,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1964,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1966,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:1982,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2003,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2012,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2021,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2027,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2028,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2029,1
    - Dst: png_set_bKGD
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2033,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1920
    functionDepth: 3
    functionLinenumber: 1920
    functionLinenumberEnd: 2034
    functionName: png_handle_bKGD
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_set_bKGD
    - png_crc_read
    - png_chunk_benign_error
    - png_crc_finish
    - png_get_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_bKGD(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2043,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2046,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2050,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2051,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2057,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2058,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2064,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2065,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2069,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2070,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2077,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2082,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2083,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2084,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2090,1
    - Dst: png_set_eXIf_1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2093,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2095,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2097
      start: 2038
    functionDepth: 3
    functionLinenumber: 2038
    functionLinenumberEnd: 2097
    functionName: png_handle_eXIf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_voidcast
    - png_crc_read
    - png_chunk_benign_error
    - png_set_eXIf_1
    - png_free
    - png_malloc_warn
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2107,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2110,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2115,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2116,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2122,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2123,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2132,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2133,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2141,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2142,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2145,1
    - Dst: png_set_hIST
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2148,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2101
    functionDepth: 3
    functionLinenumber: 2101
    functionLinenumberEnd: 2149
    functionName: png_handle_hIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_chunk_benign_error
    - png_set_hIST
    - png_crc_finish
    - png_get_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_hIST(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2160,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2163,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2167,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2168,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2174,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2175,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2181,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2182,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2186,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2188,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2191,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2192,1
    - Dst: png_set_pHYs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2153
    functionDepth: 3
    functionLinenumber: 2153
    functionLinenumberEnd: 2195
    functionName: png_handle_pHYs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_chunk_benign_error
    - png_crc_finish
    - png_get_uint_32
    - png_set_pHYs
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_pHYs(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2206,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2209,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2213,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2214,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2220,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2221,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2227,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2228,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2232,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2234,1
    - Dst: png_get_int_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2237,1
    - Dst: png_get_int_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2238,1
    - Dst: png_set_oFFs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2241
    functionName: png_handle_oFFs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_get_int_32
    - png_crc_read
    - png_chunk_benign_error
    - png_set_oFFs
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_oFFs(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2255,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2258,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2262,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2263,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2269,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2270,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2274,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2277,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2281,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2282,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2286,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2288,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2293,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2304,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2308,1
    - Dst: png_get_int_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2309,1
    - Dst: png_get_int_32
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2310,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2315,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2324,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2330,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2336,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2338,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2338,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2343,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2352,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2360,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2361,1
    - Dst: png_set_pCAL
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2366,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2369,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2370
      start: 2246
    functionDepth: 3
    functionLinenumber: 2246
    functionLinenumberEnd: 2370
    functionName: png_handle_pCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_get_int_32
    - png_voidcast
    - png_crc_read
    - png_chunk_benign_error
    - png_set_pCAL
    - png_free
    - png_malloc_warn
    - png_crc_finish
    - png_debug1
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_pCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2382,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2385,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2389,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2390,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2396,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2397,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2404,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2405,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2409,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2412,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2416,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2417,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2421,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2424,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2430,1
    - Dst: png_check_fp_number
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2440,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2442,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2444,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2445,1
    - Dst: png_check_fp_number
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2452,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2454,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2456,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2457,1
    - Dst: png_set_sCAL_s
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2461,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2375
    functionDepth: 3
    functionLinenumber: 2375
    functionLinenumberEnd: 2464
    functionName: png_handle_sCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - png_chunk_benign_error
    - png_check_fp_number
    - png_set_sCAL_s
    - png_crc_finish
    - png_debug1
    - png_debug
    - PNG_FP_IS_POSITIVE
    linkageType: ''
    returnType: void
    signature: void png_handle_sCAL(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2474,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2477,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2481,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2482,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2491,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2492,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2496,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2498,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2506,1
    - Dst: png_set_tIME
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2468
    functionDepth: 3
    functionLinenumber: 2468
    functionLinenumberEnd: 2509
    functionName: png_handle_tIME
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_crc_read
    - png_chunk_benign_error
    - png_set_tIME
    - png_crc_finish
    - png_get_uint_16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_tIME(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2523,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2530,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2536,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2537,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2544,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2552,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2553,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2558,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2562,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2566,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2568,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2586,1
    - Dst: png_set_text_2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2588,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2589,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2590
      start: 2514
    functionDepth: 3
    functionLinenumber: 2514
    functionLinenumberEnd: 2590
    functionName: png_handle_tEXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - strlen
    - png_set_text_2
    - png_chunk_benign_error
    - png_crc_finish
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_tEXt(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2602,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2609,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2615,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2616,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2623,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2631,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2635,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2636,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2640,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2642,1
    - Dst: png_decompress_chunk
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2672,1
    - Dst: png_set_text_2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2696,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2706,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2707
      start: 2595
    functionDepth: 3
    functionLinenumber: 2595
    functionLinenumberEnd: 2707
    functionName: png_handle_zTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - png_decompress_chunk
    - png_set_text_2
    - png_chunk_benign_error
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_zTXt(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2719,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2726,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2732,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2733,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2740,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2745,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2749,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2750,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2754,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2756,1
    - Dst: png_decompress_chunk
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2817,1
    - Dst: png_set_text_2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2847,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2856,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 68
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - length
    argTypes:
    - png_structrp
    - png_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2712
    functionDepth: 3
    functionLinenumber: 2712
    functionLinenumberEnd: 2857
    functionName: png_handle_iTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - png_decompress_chunk
    - png_set_text_2
    - png_chunk_benign_error
    - png_crc_finish
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_handle_iTXt(png_structrp png_ptr, png_inforp info_ptr, png_uint_32
      length)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2869,1
    - Dst: PNG_CSTRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2885,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2897,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2898,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2905,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2906,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2913,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:2914,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - png_ptr
    - length
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2862
    functionDepth: 3
    functionLinenumber: 2862
    functionLinenumberEnd: 2917
    functionName: png_cache_unknown_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - png_crc_read
    - PNG_CSTRING_FROM_CHUNK
    - png_chunk_benign_error
    - png_free
    - png_malloc_warn
    - png_crc_finish
    linkageType: ''
    returnType: int
    signature: int png_cache_unknown_chunk(png_structrp png_ptr, png_uint_32 length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3139,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - png_ptr
    - chunk_name
    argTypes:
    - png_const_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3133
    functionDepth: 1
    functionLinenumber: 3133
    functionLinenumberEnd: 3150
    functionName: png_check_chunk_name
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 2
    functionsReached:
    - png_chunk_error
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_check_chunk_name(png_const_structrp png_ptr, png_uint_32 chunk_name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3186,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - png_ptr
    - length
    argTypes:
    - png_const_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3152
    functionDepth: 1
    functionLinenumber: 3152
    functionLinenumberEnd: 3190
    functionName: png_check_chunk_length
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 2
    functionsReached:
    - png_chunk_error
    - png_debug2
    linkageType: ''
    returnType: void
    signature: void png_check_chunk_length(png_const_structrp png_ptr, png_uint_32
      length)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3210,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3216,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3223,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3224,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3228,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3238,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3267,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3368,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3368,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3368,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3370,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3370,1
    - Dst: S_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3370,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3379,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3379,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3379,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3381,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3381,1
    - Dst: B_MASKS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3381,1
    - Dst: MASK
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3406,1
    - Dst: MASK
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3410,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3451,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3461,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3486,1
    - Dst: png_isaligned
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3556,1
    - Dst: png_isaligned
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3557,1
    - Dst: png_isaligned
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3564,1
    - Dst: png_isaligned
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3565,1
    - Dst: png_aligncast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3569,1
    - Dst: png_aligncastconst
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3570,1
    - Dst: png_aligncast
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3611,1
    - Dst: png_aligncastconst
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3612,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3650,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3675,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3675,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 141
    argCount: 3
    argNames:
    - png_ptr
    - dp
    - display
    argTypes:
    - png_const_structrp
    - png_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3680
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3680
    functionName: png_combine_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached:
    - png_error
    - PNG_PASS_START_COL
    - PNG_ROWBYTES
    - S_MASKS
    - MASK
    - memcpy
    - B_MASKS
    - PNG_PASS_COL_OFFSET
    - png_aligncastconst
    - png_debug
    - png_isaligned
    - png_aligncast
    linkageType: ''
    returnType: void
    signature: void png_combine_row(png_const_structrp png_ptr, png_bytep dp, int
      display)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3311
    functionName: PNG_LSR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_LSR(x,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3312
    functionName: PNG_LSL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_LSL(x,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3314
      start: 3313
    functionDepth: 0
    functionLinenumber: 3313
    functionLinenumberEnd: 3314
    functionName: PNG_LSR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_LSR(x,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3315
    functionName: PNG_LSL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_LSL(x,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3316
    functionDepth: 0
    functionLinenumber: 3316
    functionLinenumberEnd: 3318
    functionName: S_COPY
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_COPY(p,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 3318
    functionDepth: 0
    functionLinenumber: 3318
    functionLinenumberEnd: 3320
    functionName: B_COPY
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B_COPY(p,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3327
    functionDepth: 0
    functionLinenumber: 3327
    functionLinenumberEnd: 3329
    functionName: PIXEL_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIXEL_MASK(p,x,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3333
      start: 3332
    functionDepth: 0
    functionLinenumber: 3332
    functionLinenumberEnd: 3333
    functionName: S_MASKx
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_MASKx(p,x,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - x
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3334
      start: 3333
    functionDepth: 0
    functionLinenumber: 3333
    functionLinenumberEnd: 3334
    functionName: B_MASKx
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B_MASKx(p,x,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3340
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3340
    functionName: MASK_EXPAND
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK_EXPAND(m,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3344
      start: 3341
    functionDepth: 0
    functionLinenumber: 3341
    functionLinenumberEnd: 3344
    functionName: S_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_MASK(p,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3345
    functionDepth: 0
    functionLinenumber: 3345
    functionLinenumberEnd: 3348
    functionName: B_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B_MASK(p,d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3357
      start: 3355
    functionDepth: 0
    functionLinenumber: 3355
    functionLinenumberEnd: 3357
    functionName: S_MASKS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_MASKS(d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3359
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3359
    functionName: B_MASKS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B_MASKS(d,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3361
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3361
    functionName: DEPTH_INDEX
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEPTH_INDEX(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pass
    - ','
    - depth
    - ','
    - display
    - ','
    - png
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3384
    functionDepth: 0
    functionLinenumber: 3384
    functionLinenumberEnd: 3387
    functionName: MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK(pass,depth,display,png)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pass
    - ','
    - depth
    - ','
    - display
    - ','
    - png
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3394
    functionName: MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MASK(pass,depth,display,png)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3691,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3907,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3911,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3922,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3925,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 119
    argCount: 4
    argNames:
    - row_info
    - row
    - pass
    - transformations
    argTypes:
    - png_row_infop
    - png_bytep
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3683
    functionDepth: 1
    functionLinenumber: 3683
    functionLinenumberEnd: 3927
    functionName: png_do_read_interlace
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached:
    - PNG_ROWBYTES
    - PNG_UNUSED
    - memcpy
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_read_interlace(png_row_infop row_info, png_bytep row,
      int pass,\n    png_uint_32 transformations /* Because these may affect the byte
      layout */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:3939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3946
      start: 3930
    functionDepth: 0
    functionLinenumber: 3930
    functionLinenumberEnd: 3946
    functionName: png_read_filter_row_sub
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub(png_row_infop row_info, png_bytep row,\n
      \   png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3962
      start: 3948
    functionDepth: 0
    functionLinenumber: 3948
    functionLinenumberEnd: 3962
    functionName: png_read_filter_row_up
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_up(png_row_infop row_info, png_bytep row,\n
      \   png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3989
      start: 3964
    functionDepth: 0
    functionLinenumber: 3964
    functionLinenumberEnd: 3989
    functionName: png_read_filter_row_avg
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg(png_row_infop row_info, png_bytep row,\n
      \   png_const_bytep prev_row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4015,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4016,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4017,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4040
      start: 3991
    functionDepth: 0
    functionLinenumber: 3991
    functionLinenumberEnd: 4040
    functionName: png_read_filter_row_paeth_1byte_pixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth_1byte_pixel(png_row_infop row_info,
      png_bytep row,\n    png_const_bytep prev_row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4073,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4074,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4075,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4091
    functionName: png_read_filter_row_paeth_multibyte_pixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth_multibyte_pixel(png_row_infop row_info,
      png_bytep row,\n    png_const_bytep prev_row)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PNG_FILTER_OPTIMIZATIONS
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pp
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4128
      start: 4093
    functionDepth: 0
    functionLinenumber: 4093
    functionLinenumberEnd: 4128
    functionName: png_init_filter_functions
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - PNG_FILTER_OPTIMIZATIONS
    linkageType: ''
    returnType: void
    signature: void png_init_filter_functions(png_structrp pp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_init_filter_functions
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 5
    argNames:
    - pp
    - row_info
    - row
    - prev_row
    - filter
    argTypes:
    - png_structrp
    - png_row_infop
    - png_bytep
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4130
    functionDepth: 1
    functionLinenumber: 4130
    functionLinenumberEnd: 4145
    functionName: png_read_filter_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 1
    functionsReached:
    - png_init_filter_functions
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row(png_structrp pp, png_row_infop row_info,
      png_bytep row,\n    png_const_bytep prev_row, int filter)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4171,1
    - Dst: png_read_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4173,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4178,1
    - Dst: png_read_buffer
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4191,1
    - Dst: png_crc_read
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4193,1
    - Dst: PNG_INFLATE
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4225,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4245,1
    - Dst: png_zstream_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4251,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4254,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4258,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4270,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4273,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 3
    argNames:
    - png_ptr
    - output
    - avail_out
    argTypes:
    - png_structrp
    - png_bytep
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4275
      start: 4148
    functionDepth: 3
    functionLinenumber: 4148
    functionLinenumberEnd: 4275
    functionName: png_read_IDAT_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_chunk_error
    - png_read_buffer
    - png_crc_read
    - PNG_INFLATE
    - png_zstream_error
    - png_chunk_benign_error
    - png_read_chunk_header
    - png_crc_finish
    linkageType: ''
    returnType: void
    signature: "void png_read_IDAT_data(png_structrp png_ptr, png_bytep output,\n
      \   png_alloc_size_t avail_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_read_IDAT_data
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4291,1
    - Dst: png_crc_finish
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4277
    functionDepth: 4
    functionLinenumber: 4277
    functionLinenumberEnd: 4323
    functionName: png_read_finish_IDAT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_crc_finish
    - png_read_IDAT_data
    linkageType: ''
    returnType: void
    signature: void png_read_finish_IDAT(png_structrp png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4342,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4354,1
    - Dst: png_read_finish_IDAT
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4386,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4325
    functionDepth: 5
    functionLinenumber: 4325
    functionLinenumberEnd: 4387
    functionName: png_read_finish_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - memset
    - png_debug
    - png_read_finish_IDAT
    linkageType: ''
    returnType: void
    signature: void png_read_finish_row(png_structrp png_ptr)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4410,1
    - Dst: png_init_read_transformations
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4413,1
    - Dst: PNG_READ_EXPAND_SUPPORTED
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4531,1
    - Dst: PNG_READ_FILLER_SUPPORTED
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4535,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4592,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4597,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4602,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4603,1
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4606,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4610,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4612,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4642,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4646,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4648,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4650,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4651,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4652,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4653,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4654,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4655,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4656,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4668,1
    - Dst: png_inflate_claim
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4676,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrutil.c:4677,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 114
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4680
      start: 4390
    functionDepth: 2
    functionLinenumber: 4390
    functionLinenumberEnd: 4680
    functionName: png_read_start_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrutil.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_calloc
    - PNG_ROWBYTES
    - png_init_read_transformations
    - png_malloc
    - PNG_READ_EXPAND_SUPPORTED
    - png_inflate_claim
    - png_free
    - memset
    - PNG_READ_FILLER_SUPPORTED
    - png_debug1
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_read_start_row(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: png_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_jmpbuf(png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/example.c:253,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/example.c:257,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/example.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - file_name
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 264
    functionName: check_if_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 0
    functionsReached:
    - png_sig_cmp
    - fread
    - fopen
    linkageType: ''
    returnType: int
    signature: int check_if_png(char *file_name, FILE **fp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:300,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:305,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:310,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:313,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:314,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/example.c:322,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/example.c:322,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:325,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:326,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/example.c:334,1
    - Dst: png_read_png
      Src: /src/libspectre/ghostscript/libpng/example.c:355,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/example.c:363,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/example.c:365,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/example.c:379,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/example.c:381,1
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/libpng/example.c:387,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/example.c:392,1
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/example.c:397,1
    - Dst: png_set_palette_to_rgb
      Src: /src/libspectre/ghostscript/libpng/example.c:401,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/libpng/example.c:405,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/example.c:410,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libspectre/ghostscript/libpng/example.c:411,1
    - Dst: png_get_bKGD
      Src: /src/libspectre/ghostscript/libpng/example.c:421,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/example.c:422,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/example.c:425,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/example.c:436,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/example.c:437,1
    - Dst: png_get_sRGB
      Src: /src/libspectre/ghostscript/libpng/example.c:455,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/example.c:456,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/example.c:460,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/example.c:461,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/example.c:463,1
    - Dst: png_set_quantize
      Src: /src/libspectre/ghostscript/libpng/example.c:480,1
    - Dst: png_get_PLTE
      Src: /src/libspectre/ghostscript/libpng/example.c:484,1
    - Dst: png_get_hIST
      Src: /src/libspectre/ghostscript/libpng/example.c:487,1
    - Dst: png_set_quantize
      Src: /src/libspectre/ghostscript/libpng/example.c:488,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/example.c:495,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/example.c:501,1
    - Dst: png_get_sBIT
      Src: /src/libspectre/ghostscript/libpng/example.c:504,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/example.c:505,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/example.c:510,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/example.c:513,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/example.c:516,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/example.c:519,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/example.c:526,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/example.c:535,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/example.c:542,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/example.c:542,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/libpng/example.c:547,1
    - Dst: png_read_rows
      Src: /src/libspectre/ghostscript/libpng/example.c:555,1
    - Dst: png_read_rows
      Src: /src/libspectre/ghostscript/libpng/example.c:561,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:584,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 2
    argNames:
    - fp
    - sig_read
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 588
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 1
    functionsReached:
    - png_set_packing
    - png_read_rows
    - png_set_quantize
    - png_read_png
    - png_get_valid
    - png_get_PLTE
    - png_set_bgr
    - png_set_interlace_handling
    - png_set_swap_alpha
    - atof
    - png_get_bKGD
    - png_get_sBIT
    - png_init_io
    - png_set_strip_16
    - fclose
    - png_destroy_read_struct
    - png_set_invert_mono
    - png_set_packswap
    - png_create_read_struct
    - png_set_tRNS_to_alpha
    - getenv
    - png_read_info
    - png_get_sRGB
    - png_set_gamma
    - png_set_scale_16
    - png_set_palette_to_rgb
    - png_get_rowbytes
    - png_get_IHDR
    - png_set_expand_gray_1_2_4_to_8
    - png_get_gAMA
    - png_set_shift
    - png_create_info_struct
    - png_jmpbuf
    - png_get_hIST
    - png_set_swap
    - png_set_background
    - png_read_image
    - png_malloc
    - setjmp
    - png_set_strip_alpha
    - png_read_update_info
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: void read_png(FILE *fp, int sig_read)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:601,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:608,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:611,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/example.c:614,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/example.c:614,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:616,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/example.c:632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structp*
    - png_infop*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 635
    functionName: initialize_png_reader
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_jmpbuf
    - png_set_progressive_read_fn
    - png_destroy_read_struct
    - setjmp
    - png_create_read_struct
    linkageType: ''
    returnType: int
    signature: int initialize_png_reader(png_structp *png_ptr, png_infop *info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/example.c:641,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/example.c:641,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:644,1
    - Dst: png_process_data
      Src: /src/libspectre/ghostscript/libpng/example.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - buffer
    - length
    argTypes:
    - png_structp*
    - png_infop*
    - png_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 637
    functionDepth: 2
    functionLinenumber: 637
    functionLinenumberEnd: 660
    functionName: process_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 1
    functionsReached:
    - setjmp
    - png_jmpbuf
    - png_process_data
    - png_destroy_read_struct
    linkageType: ''
    returnType: int
    signature: "int process_data(png_structp *png_ptr, png_infop *info_ptr,\n    png_bytep
      buffer, png_uint_32 length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - png_ptr
    - info
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: info_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void info_callback(png_structp png_ptr, png_infop info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_progressive_combine_row
      Src: /src/libspectre/ghostscript/libpng/example.c:700,1
    - Dst: png_progressive_combine_row
      Src: /src/libspectre/ghostscript/libpng/example.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - png_ptr
    - new_row
    - row_num
    - pass
    argTypes:
    - png_structp
    - png_bytep
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 723
    functionName: row_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 0
    functionsReached:
    - png_progressive_combine_row
    linkageType: ''
    returnType: void
    signature: "void row_callback(png_structp png_ptr, png_bytep new_row,\n    png_uint_32
      row_num, int pass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - png_ptr
    - info
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 736
    functionName: end_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void end_callback(png_structp png_ptr, png_infop info)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/example.c:747,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:757,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:761,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:766,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:769,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:770,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/example.c:777,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/example.c:777,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:780,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:781,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/example.c:789,1
    - Dst: png_write_png
      Src: /src/libspectre/ghostscript/libpng/example.c:805,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/example.c:819,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/example.c:824,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/example.c:827,1
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/example.c:847,1
    - Dst: png_set_gAMA
      Src: /src/libspectre/ghostscript/libpng/example.c:852,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/example.c:885,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/example.c:896,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/example.c:920,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/example.c:925,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/example.c:928,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/example.c:931,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/example.c:936,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/example.c:939,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/example.c:942,1
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/example.c:945,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/example.c:949,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/example.c:963,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/example.c:969,1
    - Dst: png_write_image
      Src: /src/libspectre/ghostscript/libpng/example.c:978,1
    - Dst: png_write_rows
      Src: /src/libspectre/ghostscript/libpng/example.c:990,1
    - Dst: png_write_rows
      Src: /src/libspectre/ghostscript/libpng/example.c:994,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/example.c:1021,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/example.c:1031,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/example.c:1034,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 82
    argCount: 1
    argNames:
    - file_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 739
    functionDepth: 8
    functionLinenumber: 739
    functionLinenumberEnd: 1038
    functionName: write_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/example.c
    functionUses: 4
    functionsReached:
    - png_write_png
    - png_set_packing
    - png_set_interlace_handling
    - png_set_bgr
    - png_set_swap_alpha
    - png_free
    - png_set_text
    - png_init_io
    - png_destroy_write_struct
    - fclose
    - png_set_invert_mono
    - png_set_IHDR
    - png_set_packswap
    - png_set_sBIT
    - png_write_rows
    - png_set_shift
    - fopen
    - png_set_gAMA
    - png_create_write_struct
    - png_error
    - png_create_info_struct
    - png_jmpbuf
    - png_set_swap
    - png_set_PLTE
    - png_malloc
    - png_write_image
    - setjmp
    - png_write_info
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: void write_png(char *file_name /* , ... other image information ...
      */)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_constcast
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:83,1
    - Dst: png_default_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:88,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - png_error
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 89
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_default_error
    - png_constcast
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void,PNGAPI\npng_error,(png_const_structrp png_ptr,
      png_const_charp error_message),\n    PNG_NORETURN)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_constcast
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:100,1
    - Dst: png_default_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - png_err
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 105
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_default_error
    - png_constcast
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(void,PNGAPI

      png_err,(png_const_structrp png_ptr),PNG_NORETURN)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - pos
    - string
    argTypes:
    - png_charp
    - size_t
    - size_t
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 125
    functionName: png_safecat
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t png_safecat(png_charp buffer, size_t bufsize, size_t pos,\n
      \   png_const_charp string)"
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 4
    argNames:
    - start
    - end
    - format
    - number
    argTypes:
    - png_const_charp
    - png_charp
    - int
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 206
    functionName: png_format_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_charp
    signature: "png_charp png_format_number(png_const_charp start, png_charp end,
      int format,\n    png_alloc_size_t number)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_constcast
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:235,1
    - Dst: png_default_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 2
    argNames:
    - png_ptr
    - warning_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: png_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 38
    functionsReached:
    - png_constcast
    - png_default_warning
    linkageType: ''
    returnType: void
    signature: void png_warning(png_const_structrp png_ptr, png_const_charp warning_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - p
    - number
    - string
    argTypes:
    - png_warning_parameters
    - int
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: png_warning_parameter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - png_safecat
    linkageType: ''
    returnType: void
    signature: "void png_warning_parameter(png_warning_parameters p, int number,\n
      \   png_const_charp string)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_warning_parameter
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:259,1
    - Dst: PNG_FORMAT_NUMBER
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p
    - number
    - format
    - value
    argTypes:
    - png_warning_parameters
    - int
    - int
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: png_warning_parameter_unsigned
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - PNG_FORMAT_NUMBER
    - png_warning_parameter
    linkageType: ''
    returnType: void
    signature: "void png_warning_parameter_unsigned(png_warning_parameters p, int
      number, int format,\n    png_alloc_size_t value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PNG_FORMAT_NUMBER
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:275,1
    - Dst: png_warning_parameter
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:280,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - p
    - number
    - format
    - value
    argTypes:
    - png_warning_parameters
    - int
    - int
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 281
    functionName: png_warning_parameter_signed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - PNG_FORMAT_NUMBER
    - png_warning_parameter
    linkageType: ''
    returnType: void
    signature: "void png_warning_parameter_signed(png_warning_parameters p, int number,
      int format,\n    png_int_32 value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:356,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 16
    argCount: 3
    argNames:
    - png_ptr
    - p
    - message
    argTypes:
    - png_const_structrp
    - png_warning_parameters
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 357
    functionName: png_formatted_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_formatted_warning(png_const_structrp png_ptr, png_warning_parameters
      p,\n    png_const_charp message)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:369,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:372,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:380,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:383,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:387,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - error_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 389
    functionName: png_benign_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 4
    functionsReached:
    - png_error
    - PNG_UNUSED
    - png_chunk_error
    - png_chunk_warning
    - png_warning
    linkageType: ''
    returnType: void
    signature: void png_benign_error(png_const_structrp png_ptr, png_const_charp error_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:395,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:397,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - error_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 402
    functionName: png_app_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 5
    functionsReached:
    - png_error
    - png_warning
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: void png_app_warning(png_const_structrp png_ptr, png_const_charp error_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:408,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:410,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - error_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 415
    functionName: png_app_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 7
    functionsReached:
    - png_error
    - png_warning
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: void png_app_error(png_const_structrp png_ptr, png_const_charp error_message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    functionName: isnonalpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnonalpha(c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isnonalpha
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - error_message
    argTypes:
    - png_const_structrp
    - png_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 475
    functionName: png_format_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - isnonalpha
    linkageType: ''
    returnType: void
    signature: "void png_format_buffer(png_const_structrp png_ptr, png_charp buffer,
      png_const_charp\n    error_message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:485,1
    - Dst: png_format_buffer
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:489,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - png_chunk_error
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 492
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_format_buffer
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void,PNGAPI\npng_chunk_error,(png_const_structrp
      png_ptr, png_const_charp error_message),\n    PNG_NORETURN)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:501,1
    - Dst: png_format_buffer
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:505,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - warning_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 508
    functionName: png_chunk_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 5
    functionsReached:
    - png_format_buffer
    - png_warning
    linkageType: ''
    returnType: void
    signature: void png_chunk_warning(png_const_structrp png_ptr, png_const_charp
      warning_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:518,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:521,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - error_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 526
    functionName: png_chunk_benign_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 22
    functionsReached:
    - PNG_UNUSED
    - png_chunk_error
    - png_chunk_warning
    linkageType: ''
    returnType: void
    signature: "void png_chunk_benign_error(png_const_structrp png_ptr, png_const_charp\n
      \   error_message)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:534,1
    - Dst: png_chunk_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:547,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:550,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:561,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - png_ptr
    - message
    - error
    argTypes:
    - png_const_structrp
    - png_const_charp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 567
    functionName: png_chunk_report
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 4
    functionsReached:
    - PNG_UNUSED
    - png_chunk_warning
    - png_chunk_benign_error
    - png_app_warning
    - png_app_error
    linkageType: ''
    returnType: void
    signature: void png_chunk_report(png_const_structrp png_ptr, png_const_charp message,
      int error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:578,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 588
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_error
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(void,

      png_fixed_error,(png_const_structrp png_ptr, png_const_charp name),PNG_NORETURN)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:687,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:692,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 702
    functionName: png_free_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - setjmp
    - png_free
    linkageType: ''
    returnType: void
    signature: void png_free_jmpbuf(png_structrp png_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:732,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:734,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:739,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:741,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:747,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:749,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:752,1
    - Dst: png_longjmp
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:754,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 755
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - fprintf
    - png_longjmp
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void /* PRIVATE */,\npng_default_error,(png_const_structrp
      png_ptr, png_const_charp error_message),\n    PNG_NORETURN)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp_fn
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:763,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:765,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:766,1
    - Dst: PNG_ABORT
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - png_longjmp
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 776
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - longjmp_fn
    - PNG_UNUSED
    - PNG_ABORT
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(void,PNGAPI

      png_longjmp,(png_const_structrp png_ptr, int val),PNG_NORETURN)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:805,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:810,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:812,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:819,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:820,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:823,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:825,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - png_ptr
    - warning_message
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 826
    functionName: png_default_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    - fprintf
    linkageType: ''
    returnType: void
    signature: void png_default_warning(png_const_structrp png_ptr, png_const_charp
      warning_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - png_ptr
    - error_ptr
    - error_fn
    - warning_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_error_ptr
    - png_error_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 848
    functionName: png_set_error_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: "void png_set_error_fn(png_structrp png_ptr, png_voidp error_ptr,\n
      \   png_error_ptr error_fn, png_error_ptr warning_fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 862
    functionName: png_get_error_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_error_ptr(png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - strip_mode
    argTypes:
    - png_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: png_set_strip_error_numbers
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_set_strip_error_numbers(png_structrp png_ptr, png_uint_32
      strip_mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:889,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:896,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:904,1
    - Dst: png_control_jmp_buf
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:904,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:908,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:910,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 917
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_safecat
    - png_voidcast
    - png_control_jmp_buf
    - longjmp
    - abort
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void /* PRIVATE */, (PNGCBAPI\npng_safe_error),(png_structp
      png_nonconst_ptr, png_const_charp error_message),\n    PNG_NORETURN)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:924,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_nonconst_ptr
    - warning_message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 932
    functionName: png_safe_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 0
    functionsReached:
    - png_safecat
    - png_voidcast
    linkageType: ''
    returnType: void
    signature: void png_safe_warning(png_structp png_nonconst_ptr, png_const_charp
      warning_message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:945,1
    - Dst: function
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:951,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/pngerror.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - image_in
    - arg
    argTypes:
    - png_imagep
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 961
    functionName: png_safe_execute
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngerror.c
    functionUses: 3
    functionsReached:
    - setjmp
    - png_image_free
    - function
    linkageType: ''
    returnType: int
    signature: int png_safe_execute(png_imagep image_in, int (*function)(png_voidp),
      png_voidp arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:27,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:157,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 74
    argCount: 3
    argNames:
    - row_info
    - row
    - bit_depth
    argTypes:
    - png_row_infop
    - png_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 160
    functionName: png_do_pack
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwtran.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_pack(png_row_infop row_info, png_bytep row, png_uint_32
      bit_depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:175,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:289,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - row_info
    - row
    - bit_depth
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_color_8p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 305
    functionName: png_do_shift
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    - png_get_uint_16
    linkageType: ''
    returnType: void
    signature: "void png_do_shift(png_row_infop row_info, png_bytep row,\n    png_const_color_8p
      bit_depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 399
    functionName: png_do_write_swap_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_write_swap_alpha(png_row_infop row_info, png_bytep row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:406,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 494
    functionName: png_do_write_invert_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_write_invert_alpha(png_row_infop row_info, png_bytep row)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:503,1
    - Dst: png_do_strip_channel
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:526,1
    - Dst: png_do_packswap
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:532,1
    - Dst: png_do_pack
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:537,1
    - Dst: png_do_swap
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:544,1
    - Dst: png_do_shift
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:550,1
    - Dst: png_do_write_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:556,1
    - Dst: png_do_write_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:561,1
    - Dst: png_do_bgr
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:566,1
    - Dst: png_do_invert
      Src: /src/libspectre/ghostscript/libpng/pngwtran.c:571,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - png_ptr
    - row_info
    argTypes:
    - png_structrp
    - png_row_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 573
    functionName: png_do_write_transformations
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngwtran.c
    functionUses: 1
    functionsReached:
    - png_do_write_swap_alpha
    - png_do_packswap
    - png_do_swap
    - png_do_bgr
    - png_do_strip_channel
    - png_do_pack
    - png_do_invert
    - png_debug
    - png_do_shift
    - png_do_write_invert_alpha
    linkageType: ''
    returnType: void
    signature: void png_do_write_transformations(png_structrp png_ptr, png_row_infop
      row_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: PNGZ_MSG_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_MSG_CAST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: PNGZ_INPUT_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_INPUT_CAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: PNGZ_MSG_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_MSG_CAST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PNGZ_INPUT_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_INPUT_CAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: PNG_COMPRESSION_BUFFER_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COMPRESSION_BUFFER_SIZE(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: PNG_COLORSPACE_CANCEL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COLORSPACE_CANCEL(flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:34,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structrp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: png_read_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrio.c
    functionUses: 4
    functionsReached:
    - png_debug1
    - png_error
    linkageType: ''
    returnType: void
    signature: void png_read_data(png_structrp png_ptr, png_bytep data, size_t length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:60,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:60,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: png_default_read_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrio.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - png_error
    - fread
    linkageType: ''
    returnType: void
    signature: void png_default_read_data(png_structp png_ptr, png_bytep data, size_t
      length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrio.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - png_ptr
    - io_ptr
    - read_data_fn
    argTypes:
    - png_structrp
    - png_voidp
    - png_rw_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 119
    functionName: png_set_read_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrio.c
    functionUses: 2
    functionsReached:
    - png_warning
    linkageType: ''
    returnType: void
    signature: "void png_set_read_fn(png_structrp png_ptr, png_voidp io_ptr,\n    png_rw_ptr
      read_data_fn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 29
    functionName: png_set_bgr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 4
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_bgr(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: png_set_swap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 4
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_swap(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 64
    functionName: png_set_packing
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 5
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_packing(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: png_set_packswap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 3
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_packswap(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - png_ptr
    - true_bits
    argTypes:
    - png_structrp
    - png_const_color_8p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: png_set_shift
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 3
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_shift(png_structrp png_ptr, png_const_color_8p true_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: png_set_interlace_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 4
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: int
    signature: int png_set_interlace_handling(png_structrp png_ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:122,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:143,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:144,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:174,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:181,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - png_ptr
    - filler
    - filler_loc
    argTypes:
    - png_structrp
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 201
    functionName: png_set_filler
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 3
    functionsReached:
    - PNG_UNUSED
    - png_debug
    - png_app_error
    linkageType: ''
    returnType: void
    signature: void png_set_filler(png_structrp png_ptr, png_uint_32 filler, int filler_loc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:207,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - filler
    - filler_loc
    argTypes:
    - png_structrp
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 216
    functionName: png_set_add_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - png_debug
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: void png_set_add_alpha(png_structrp png_ptr, png_uint_32 filler, int
      filler_loc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 231
    functionName: png_set_swap_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 4
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_swap_alpha(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: png_set_invert_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_invert_alpha(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: png_set_invert_mono
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 4
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_invert_mono(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 312
    functionName: png_do_invert
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_invert(png_row_infop row_info, png_bytep row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:321,1
    - Dst: __builtin_bswap16
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 343
    functionName: png_do_swap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - __builtin_bswap16
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_swap(png_row_infop row_info, png_bytep row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: png_do_packswap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_packswap(png_row_infop row_info, png_bytep row)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 3
    argNames:
    - row_info
    - row
    - at_start
    argTypes:
    - png_row_infop
    - png_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 613
    functionName: png_do_strip_channel
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_do_strip_channel(png_row_infop row_info, png_bytep row, int
      at_start)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:621,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 692
    functionName: png_do_bgr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_bgr(png_row_infop row_info, png_bytep row)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PADBITS
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:710,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 2
    argNames:
    - png_ptr
    - row_info
    argTypes:
    - png_structrp
    - png_row_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 795
    functionName: png_do_check_palette_indexes
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 1
    functionsReached:
    - PNG_PADBITS
    linkageType: ''
    returnType: void
    signature: void png_do_check_palette_indexes(png_structrp png_ptr, png_row_infop
      row_info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:805,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngtrans.c:814,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - png_ptr
    - user_transform_ptr
    - user_transform_depth
    - user_transform_channels
    argTypes:
    - png_structrp
    - png_voidp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 823
    functionName: png_set_user_transform_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 0
    functionsReached:
    - png_debug
    - png_app_error
    linkageType: ''
    returnType: void
    signature: "void png_set_user_transform_info(png_structrp png_ptr, png_voidp\n
      \  user_transform_ptr, int user_transform_depth, int user_transform_channels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 839
    functionName: png_get_user_transform_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_user_transform_ptr(png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 853
    functionName: png_get_current_row_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_current_row_number(png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 861
    functionName: png_get_current_pass_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngtrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_current_pass_number(png_const_structrp png_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:51,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - num_bytes
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: png_set_sig_bytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_sig_bytes(png_structrp png_ptr, int num_bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/png.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sig
    - start
    - num_to_check
    argTypes:
    - png_const_bytep
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: png_sig_cmp
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int png_sig_cmp(png_const_bytep sig, size_t start, size_t num_to_check)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:120,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/png.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: png_zfree
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_free
    - png_voidcast
    linkageType: ''
    returnType: void
    signature: void png_zfree(voidpf png_ptr, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/png.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: png_reset_crc
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 4
    functionsReached:
    - crc32
    linkageType: ''
    returnType: void
    signature: void png_reset_crc(png_structrp png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CHUNK_ANCILLARY
      Src: /src/libspectre/ghostscript/libpng/png.c:143,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/png.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - png_ptr
    - ptr
    - length
    argTypes:
    - png_structrp
    - png_const_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 187
    functionName: png_calculate_crc
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 5
    functionsReached:
    - PNG_CHUNK_ANCILLARY
    - crc32
    linkageType: ''
    returnType: void
    signature: void png_calculate_crc(png_structrp png_ptr, png_const_bytep ptr, size_t
      length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:225,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:227,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:228,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:229,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:230,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/png.c:232,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - png_ptr
    - user_png_ver
    argTypes:
    - png_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 244
    functionName: png_user_version_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_safecat
    - png_warning
    - PNG_UNUSED
    linkageType: ''
    returnType: int
    signature: int png_user_version_check(png_structrp png_ptr, png_const_charp user_png_ver)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:358,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/png.c:368,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/png.c:368,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/png.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - png_create_info_struct
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 375
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_voidcast
    - memset
    - png_malloc_base
    - png_debug
    linkageType: ''
    returnType: void
    signature: 'void PNG_FUNCTION(png_infop,PNGAPI

      png_create_info_struct,(png_const_structrp png_ptr),PNG_ALLOCATED)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:390,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/png.c:408,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/png.c:409,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:410,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr_ptr
    argTypes:
    - png_const_structrp
    - png_infopp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 412
    functionName: png_destroy_info_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - png_free_data
    - png_free
    - memset
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_destroy_info_struct(png_const_structrp png_ptr, png_infopp
      info_ptr_ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:429,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/png.c:438,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/png.c:439,1
    - Dst: png_malloc_base
      Src: /src/libspectre/ghostscript/libpng/png.c:439,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/png.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - png_info_init_3
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 448
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_malloc_base
    - png_voidcast
    - free
    - memset
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void,PNGAPI\npng_info_init_3,(png_infopp ptr_ptr,
      size_t png_info_struct_size),\n    PNG_DEPRECATED)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:455,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - freer
    - mask
    argTypes:
    - png_const_structrp
    - png_inforp
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: png_data_freer
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_data_freer(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   int freer, png_uint_32 mask)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:474,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:486,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:495,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:497,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:510,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:520,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:521,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:532,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:533,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:542,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:544,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:555,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:556,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:570,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:571,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:582,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:583,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:586,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:600,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:609,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:611,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:625,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:631,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:642,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:651,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:665,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:667,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 113
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - mask
    - num
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 678
    functionName: png_free_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 8
    functionsReached:
    - png_free
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_free_data(png_const_structrp png_ptr, png_inforp info_ptr,
      png_uint_32 mask,\n    int num)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 692
    functionName: png_get_io_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_io_ptr(png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - fp
    argTypes:
    - png_structrp
    - png_FILE_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 711
    functionName: png_init_io
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 5
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_init_io(png_structrp png_ptr, png_FILE_p fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - i
    argTypes:
    - png_bytep
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 729
    functionName: png_save_int_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: void png_save_int_32(png_bytep buf, png_int_32 i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: APPEND_NUMBER
      Src: /src/libspectre/ghostscript/libpng/png.c:762,1
    - Dst: APPEND
      Src: /src/libspectre/ghostscript/libpng/png.c:763,1
    - Dst: APPEND_STRING
      Src: /src/libspectre/ghostscript/libpng/png.c:764,1
    - Dst: APPEND
      Src: /src/libspectre/ghostscript/libpng/png.c:765,1
    - Dst: APPEND_NUMBER
      Src: /src/libspectre/ghostscript/libpng/png.c:766,1
    - Dst: APPEND
      Src: /src/libspectre/ghostscript/libpng/png.c:767,1
    - Dst: APPEND_NUMBER
      Src: /src/libspectre/ghostscript/libpng/png.c:768,1
    - Dst: APPEND
      Src: /src/libspectre/ghostscript/libpng/png.c:769,1
    - Dst: APPEND_NUMBER
      Src: /src/libspectre/ghostscript/libpng/png.c:770,1
    - Dst: APPEND
      Src: /src/libspectre/ghostscript/libpng/png.c:771,1
    - Dst: APPEND_NUMBER
      Src: /src/libspectre/ghostscript/libpng/png.c:772,1
    - Dst: APPEND_STRING
      Src: /src/libspectre/ghostscript/libpng/png.c:773,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - out
    - ptime
    argTypes:
    - char[]
    - png_const_timep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 782
    functionName: png_convert_to_rfc1123_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - APPEND
    - APPEND_STRING
    - APPEND_NUMBER
    - PNG_UNUSED
    linkageType: ''
    returnType: int
    signature: int png_convert_to_rfc1123_buffer(char out[29], png_const_timep ptime)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 758
    functionName: APPEND_STRING
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_STRING(string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: APPEND_NUMBER
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND_NUMBER(format, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 761
    functionName: APPEND
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APPEND(ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_convert_to_rfc1123_buffer
      Src: /src/libspectre/ghostscript/libpng/png.c:796,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/png.c:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - png_ptr
    - ptime
    argTypes:
    - png_structrp
    - png_const_timep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 804
    functionName: png_convert_to_rfc1123
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_convert_to_rfc1123_buffer
    - png_warning
    linkageType: ''
    returnType: png_const_charp
    signature: png_const_charp png_convert_to_rfc1123(png_structrp png_ptr, png_const_timep
      ptime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 826
    functionName: png_get_copyright
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: png_const_charp
    signature: png_const_charp png_get_copyright(png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_header_ver
      Src: /src/libspectre/ghostscript/libpng/png.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 841
    functionName: png_get_libpng_ver
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_get_header_ver
    linkageType: ''
    returnType: png_const_charp
    signature: png_const_charp png_get_libpng_ver(png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 849
    functionName: png_get_header_ver
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: png_const_charp
    signature: png_const_charp png_get_header_ver(png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 865
    functionName: png_get_header_version
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: png_const_charp
    signature: png_const_charp png_get_header_version(png_const_structrp png_ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:882,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - bit_depth
    - palette
    argTypes:
    - int
    - png_colorp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 921
    functionName: png_build_grayscale_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_build_grayscale_palette(int bit_depth, png_colorp palette)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/png.c:945,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - chunk_name
    argTypes:
    - png_const_structrp
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 956
    functionName: png_handle_as_unknown
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int png_handle_as_unknown(png_const_structrp png_ptr, png_const_bytep
      chunk_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CSTRING_FROM_CHUNK
      Src: /src/libspectre/ghostscript/libpng/png.c:965,1
    - Dst: png_handle_as_unknown
      Src: /src/libspectre/ghostscript/libpng/png.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - chunk_name
    argTypes:
    - png_const_structrp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 967
    functionName: png_chunk_unknown_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_handle_as_unknown
    - PNG_CSTRING_FROM_CHUNK
    linkageType: ''
    returnType: int
    signature: int png_chunk_unknown_handling(png_const_structrp png_ptr, png_uint_32
      chunk_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/libpng/png.c:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 981
    functionName: png_reset_zstream
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int png_reset_zstream(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 990
    functionName: png_access_version_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_access_version_number(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1008,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1013,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1020,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1025,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1030,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1034,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1038,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1045,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1049,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/png.c:1058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - png_ptr
    - ret
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1061
    functionName: png_zstream_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 8
    functionsReached:
    - PNGZ_MSG_CAST
    linkageType: ''
    returnType: void
    signature: void png_zstream_error(png_structrp png_ptr, int ret)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1085,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/png.c:1086,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:1096,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:1104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - gAMA
    - from
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_fixed_point
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1111
    functionName: png_colorspace_check_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_muldiv
    - png_chunk_report
    - png_gamma_significant
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_check_gamma(png_const_structrp png_ptr,\n    png_colorspacerp
      colorspace, png_fixed_point gAMA, int from)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/png.c:1146,1
    - Dst: png_colorspace_check_gamma
      Src: /src/libspectre/ghostscript/libpng/png.c:1146,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - colorspace
    - gAMA
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1113
    functionDepth: 4
    functionLinenumber: 1113
    functionLinenumberEnd: 1166
    functionName: png_colorspace_set_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 2
    functionsReached:
    - if
    - png_colorspace_check_gamma
    - png_chunk_report
    linkageType: ''
    returnType: void
    signature: "void png_colorspace_set_gamma(png_const_structrp png_ptr,\n    png_colorspacerp
      colorspace, png_fixed_point gAMA)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/png.c:1179,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:1181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1168
    functionDepth: 2
    functionLinenumber: 1168
    functionLinenumberEnd: 1211
    functionName: png_colorspace_sync_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 6
    functionsReached:
    - png_free_data
    - PNG_UNUSED
    linkageType: ''
    returnType: void
    signature: void png_colorspace_sync_info(png_const_structrp png_ptr, png_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_colorspace_sync_info
      Src: /src/libspectre/ghostscript/libpng/png.c:1221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1222
    functionName: png_colorspace_sync
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 4
    functionsReached:
    - png_colorspace_sync_info
    linkageType: ''
    returnType: void
    signature: void png_colorspace_sync(png_const_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1238,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1240,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1247,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1249,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1256,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1258,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1267,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - xy
    - XYZ
    argTypes:
    - png_xy*
    - png_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1232
    functionDepth: 1
    functionLinenumber: 1232
    functionLinenumberEnd: 1273
    functionName: png_xy_from_XYZ
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_muldiv
    linkageType: ''
    returnType: int
    signature: int png_xy_from_XYZ(png_xy *xy, const png_XYZ *XYZ)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1474,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1476,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1481,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1483,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1491,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1496,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1498,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1500,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:1507,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:1507,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:1508,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1514,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1516,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1518,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1522,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1524,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1526,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1530,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1532,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1534,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 56
    argCount: 2
    argNames:
    - XYZ
    - xy
    argTypes:
    - png_XYZ*
    - png_xy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1539
    functionName: png_XYZ_from_xy
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_reciprocal
    - png_muldiv
    linkageType: ''
    returnType: int
    signature: int png_XYZ_from_xy(png_XYZ *XYZ, const png_xy *xy)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1566,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1568,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1570,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1573,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1575,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1577,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1580,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1582,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:1584,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 31
    argCount: 1
    argNames:
    - XYZ
    argTypes:
    - png_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1589
    functionName: png_XYZ_normalize
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_muldiv
    linkageType: ''
    returnType: int
    signature: int png_XYZ_normalize(png_XYZ *XYZ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1595,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1596,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1597,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1598,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1599,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1600,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1601,1
    - Dst: PNG_OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/libpng/png.c:1602,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 4
    argCount: 3
    argNames:
    - xy1
    - xy2
    - delta
    argTypes:
    - png_xy*
    - png_xy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1605
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1605
    functionName: png_colorspace_endpoints_match
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - PNG_OUT_OF_RANGE
    linkageType: ''
    returnType: int
    signature: int png_colorspace_endpoints_match(const png_xy *xy1, const png_xy
      *xy2, int delta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_XYZ_from_xy
      Src: /src/libspectre/ghostscript/libpng/png.c:1624,1
    - Dst: png_xy_from_XYZ
      Src: /src/libspectre/ghostscript/libpng/png.c:1628,1
    - Dst: png_colorspace_endpoints_match
      Src: /src/libspectre/ghostscript/libpng/png.c:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - XYZ
    - xy
    argTypes:
    - png_XYZ*
    - png_xy*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1617
    functionDepth: 2
    functionLinenumber: 1617
    functionLinenumberEnd: 1638
    functionName: png_colorspace_check_xy
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_xy_from_XYZ
    - png_XYZ_from_xy
    - png_colorspace_endpoints_match
    linkageType: ''
    returnType: int
    signature: int png_colorspace_check_xy(png_XYZ *XYZ, const png_xy *xy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_XYZ_normalize
      Src: /src/libspectre/ghostscript/libpng/png.c:1649,1
    - Dst: png_xy_from_XYZ
      Src: /src/libspectre/ghostscript/libpng/png.c:1653,1
    - Dst: png_colorspace_check_xy
      Src: /src/libspectre/ghostscript/libpng/png.c:1658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - xy
    - XYZ
    argTypes:
    - png_xy*
    - png_XYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1643
    functionDepth: 3
    functionLinenumber: 1643
    functionLinenumberEnd: 1659
    functionName: png_colorspace_check_XYZ
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_colorspace_check_xy
    - png_xy_from_XYZ
    - png_XYZ_normalize
    linkageType: ''
    returnType: int
    signature: int png_colorspace_check_XYZ(png_xy *xy, png_XYZ *XYZ)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_colorspace_endpoints_match
      Src: /src/libspectre/ghostscript/libpng/png.c:1689,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1693,1
    - Dst: png_colorspace_endpoints_match
      Src: /src/libspectre/ghostscript/libpng/png.c:1709,1
    - Dst: PNG_COLORSPACE_CANCEL
      Src: /src/libspectre/ghostscript/libpng/png.c:1713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - png_ptr
    - colorspace
    - xy
    - XYZ
    - preferred
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_xy*
    - png_XYZ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1717
    functionName: png_colorspace_set_xy_and_XYZ
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - PNG_COLORSPACE_CANCEL
    - png_colorspace_endpoints_match
    - png_benign_error
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_set_xy_and_XYZ(png_const_structrp png_ptr,\n    png_colorspacerp
      colorspace, const png_xy *xy, const png_XYZ *XYZ,\n    int preferred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_colorspace_check_xy
      Src: /src/libspectre/ghostscript/libpng/png.c:1731,1
    - Dst: png_colorspace_set_xy_and_XYZ
      Src: /src/libspectre/ghostscript/libpng/png.c:1734,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1742,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1750,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - xy
    - preferred
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_xy*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1719
    functionDepth: 3
    functionLinenumber: 1719
    functionLinenumberEnd: 1754
    functionName: png_colorspace_set_chromaticities
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 2
    functionsReached:
    - png_colorspace_set_xy_and_XYZ
    - png_colorspace_check_xy
    - png_error
    - png_benign_error
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_set_chromaticities(png_const_structrp png_ptr,\n
      \   png_colorspacerp colorspace, const png_xy *xy, int preferred)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_colorspace_check_XYZ
      Src: /src/libspectre/ghostscript/libpng/png.c:1763,1
    - Dst: png_colorspace_set_xy_and_XYZ
      Src: /src/libspectre/ghostscript/libpng/png.c:1766,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1772,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1777,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - XYZ_in
    - preferred
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_XYZ*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1756
    functionDepth: 4
    functionLinenumber: 1756
    functionLinenumberEnd: 1781
    functionName: png_colorspace_set_endpoints
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_colorspace_check_XYZ
    - png_error
    - png_colorspace_set_xy_and_XYZ
    - png_benign_error
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_set_endpoints(png_const_structrp png_ptr,\n    png_colorspacerp
      colorspace, const png_XYZ *XYZ_in, int preferred)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - byte
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1793
    functionName: png_icc_tag_char
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char png_icc_tag_char(png_uint_32 byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_icc_tag_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1799,1
    - Dst: png_icc_tag_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1800,1
    - Dst: png_icc_tag_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1801,1
    - Dst: png_icc_tag_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - name
    - tag
    argTypes:
    - char*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1804
    functionName: png_icc_tag_name
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_icc_tag_char
    linkageType: ''
    returnType: void
    signature: void png_icc_tag_name(char *name, png_uint_32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1806
    functionDepth: 0
    functionLinenumber: 1806
    functionLinenumberEnd: 1811
    functionName: is_ICC_signature_char
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_ICC_signature_char(png_alloc_size_t it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_ICC_signature_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1816,1
    - Dst: is_ICC_signature_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1817,1
    - Dst: is_ICC_signature_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1818,1
    - Dst: is_ICC_signature_char
      Src: /src/libspectre/ghostscript/libpng/png.c:1819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - it
    argTypes:
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1820
    functionName: is_ICC_signature
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - is_ICC_signature_char
    linkageType: ''
    returnType: int
    signature: int is_ICC_signature(png_alloc_size_t it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1832,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1833,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1834,1
    - Dst: is_ICC_signature
      Src: /src/libspectre/ghostscript/libpng/png.c:1835,1
    - Dst: png_icc_tag_name
      Src: /src/libspectre/ghostscript/libpng/png.c:1838,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1848,1
    - Dst: png_format_number
      Src: /src/libspectre/ghostscript/libpng/png.c:1849,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1851,1
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:1855,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:1856,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:1863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - png_ptr
    - colorspace
    - name
    - value
    - reason
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_alloc_size_t
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1822
    functionDepth: 3
    functionLinenumber: 1822
    functionLinenumberEnd: 1867
    functionName: png_icc_profile_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_format_number
    - png_safecat
    - PNG_UNUSED
    - png_icc_tag_name
    - is_ICC_signature
    - png_chunk_report
    linkageType: ''
    returnType: int
    signature: "int png_icc_profile_error(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_alloc_size_t value, png_const_charp
      reason)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1909,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1914,1
    - Dst: png_benign_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1919,1
    - Dst: png_colorspace_endpoints_match
      Src: /src/libspectre/ghostscript/libpng/png.c:1927,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:1929,1
    - Dst: png_colorspace_check_gamma
      Src: /src/libspectre/ghostscript/libpng/png.c:1935,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - png_ptr
    - colorspace
    - intent
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1871
    functionDepth: 4
    functionLinenumber: 1871
    functionLinenumberEnd: 1957
    functionName: png_colorspace_set_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - png_colorspace_endpoints_match
    - png_icc_profile_error
    - png_benign_error
    - png_colorspace_check_gamma
    - png_chunk_report
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_set_sRGB(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    int intent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - name
    - profile_length
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1969
    functionDepth: 4
    functionLinenumber: 1969
    functionLinenumberEnd: 1977
    functionName: icc_check_length
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_icc_profile_error
    linkageType: ''
    returnType: int
    signature: "int icc_check_length(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_uint_32 profile_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: icc_check_length
      Src: /src/libspectre/ghostscript/libpng/png.c:1984,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:1996,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2000,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - name
    - profile_length
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1980
    functionDepth: 5
    functionLinenumber: 1980
    functionLinenumberEnd: 2010
    functionName: png_icc_check_length
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_icc_profile_error
    - icc_check_length
    linkageType: ''
    returnType: int
    signature: "int png_icc_check_length(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_uint_32 profile_length)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2025,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2027,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2032,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2035,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2038,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2044,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2046,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2053,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2068,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2070,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/png.c:2080,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2081,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2104,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2109,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2115,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2120,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2133,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2145,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2155,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2163,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2173,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2181,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2189,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 6
    argNames:
    - png_ptr
    - colorspace
    - name
    - profile_length
    - profile
    - color_type
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_uint_32
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2013
    functionDepth: 4
    functionLinenumber: 2013
    functionLinenumberEnd: 2194
    functionName: png_icc_check_header
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_icc_profile_error
    - png_get_uint_32
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int png_icc_check_header(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_uint_32 profile_length,\n    png_const_bytep
      profile/* first 132 bytes only */, int color_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2201,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2210,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2211,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2212,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2225,1
    - Dst: png_icc_profile_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - png_ptr
    - colorspace
    - name
    - profile_length
    - profile
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_uint_32
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2196
    functionDepth: 4
    functionLinenumber: 2196
    functionLinenumberEnd: 2240
    functionName: png_icc_check_tag_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_icc_profile_error
    - png_get_uint_32
    linkageType: ''
    returnType: int
    signature: "int png_icc_check_tag_table(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_uint_32 profile_length,\n    png_const_bytep
      profile /* header plus whole tag table */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2253
    functionDepth: 0
    functionLinenumber: 2253
    functionLinenumberEnd: 2254
    functionName: PNG_MD5
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_MD5(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - adler
    - ','
    - crc
    - ','
    - md5
    - ','
    - intent
    - ','
    - broke
    - ','
    - date
    - ','
    - length
    - ','
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2256
    functionName: PNG_ICC_CHECKSUM
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ICC_CHECKSUM(adler, crc, md5, intent, broke, date, length, fname)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2334,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2335,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2336,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2337,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2351,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2352,1
    - Dst: adler32
      Src: /src/libspectre/ghostscript/libpng/png.c:2362,1
    - Dst: adler32
      Src: /src/libspectre/ghostscript/libpng/png.c:2363,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/png.c:2375,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/png.c:2376,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:2391,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:2401,1
    - Dst: png_chunk_report
      Src: /src/libspectre/ghostscript/libpng/png.c:2415,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 3
    argNames:
    - png_ptr
    - profile
    - adler
    argTypes:
    - png_const_structrp
    - png_const_bytep
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2306
    functionDepth: 3
    functionLinenumber: 2306
    functionLinenumberEnd: 2425
    functionName: png_compare_ICC_profile_with_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - adler32
    - png_chunk_report
    - png_get_uint_32
    - crc32
    linkageType: ''
    returnType: int
    signature: "int png_compare_ICC_profile_with_sRGB(png_const_structrp png_ptr,\n
      \   png_const_bytep profile, uLong adler)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_compare_ICC_profile_with_sRGB
      Src: /src/libspectre/ghostscript/libpng/png.c:2434,1
    - Dst: png_colorspace_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/png.c:2435,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/png.c:2436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - png_ptr
    - colorspace
    - profile
    - adler
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_bytep
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2427
    functionDepth: 5
    functionLinenumber: 2427
    functionLinenumberEnd: 2437
    functionName: png_icc_set_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_colorspace_set_sRGB
    - png_compare_ICC_profile_with_sRGB
    - png_get_uint_32
    linkageType: ''
    returnType: void
    signature: "void png_icc_set_sRGB(png_const_structrp png_ptr,\n    png_colorspacerp
      colorspace, png_const_bytep profile, uLong adler)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: icc_check_length
      Src: /src/libspectre/ghostscript/libpng/png.c:2449,1
    - Dst: png_icc_check_header
      Src: /src/libspectre/ghostscript/libpng/png.c:2450,1
    - Dst: png_icc_check_tag_table
      Src: /src/libspectre/ghostscript/libpng/png.c:2452,1
    - Dst: png_icc_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/png.c:2457,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - png_ptr
    - colorspace
    - name
    - profile_length
    - profile
    - color_type
    argTypes:
    - png_const_structrp
    - png_colorspacerp
    - png_const_charp
    - png_uint_32
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2441
    functionDepth: 6
    functionLinenumber: 2441
    functionLinenumberEnd: 2464
    functionName: png_colorspace_set_ICC
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_icc_check_header
    - png_icc_check_tag_table
    - icc_check_length
    - png_icc_set_sRGB
    linkageType: ''
    returnType: int
    signature: "int png_colorspace_set_ICC(png_const_structrp png_ptr, png_colorspacerp
      colorspace,\n    png_const_charp name, png_uint_32 profile_length, png_const_bytep
      profile,\n    int color_type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:2484,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:2485,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:2486,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2513,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:2528,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 22
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2468
    functionDepth: 1
    functionLinenumber: 2468
    functionLinenumberEnd: 2530
    functionName: png_colorspace_set_rgb_coefficients
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_muldiv
    linkageType: ''
    returnType: void
    signature: void png_colorspace_set_rgb_coefficients(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2541
    functionName: png_gt
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_gt(size_t a, size_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2543
    functionDepth: 0
    functionLinenumber: 2543
    functionLinenumberEnd: 2544
    functionName: png_gt
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_gt(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2709
    functionName: png_fp_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_fp_add(state, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - state
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2709
    functionDepth: 0
    functionLinenumber: 2709
    functionLinenumberEnd: 2710
    functionName: png_fp_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_fp_set(state, value)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2746,1
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2755,1
    - Dst: png_fp_set
      Src: /src/libspectre/ghostscript/libpng/png.c:2758,1
    - Dst: png_fp_set
      Src: /src/libspectre/ghostscript/libpng/png.c:2764,1
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2766,1
    - Dst: png_fp_set
      Src: /src/libspectre/ghostscript/libpng/png.c:2774,1
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2785,1
    - Dst: png_fp_set
      Src: /src/libspectre/ghostscript/libpng/png.c:2796,1
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2804,1
    - Dst: png_fp_add
      Src: /src/libspectre/ghostscript/libpng/png.c:2812,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 89
    argCount: 4
    argNames:
    - string
    - size
    - statep
    - whereami
    argTypes:
    - png_const_charp
    - size_t
    - int*
    - png_size_tp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2834
      start: 2711
    functionDepth: 1
    functionLinenumber: 2711
    functionLinenumberEnd: 2834
    functionName: png_check_fp_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_fp_set
    - png_fp_add
    linkageType: ''
    returnType: int
    signature: "int png_check_fp_number(png_const_charp string, size_t size, int *statep,\n
      \   png_size_tp whereami)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_check_fp_number
      Src: /src/libspectre/ghostscript/libpng/png.c:2844,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - string
    - size
    argTypes:
    - png_const_charp
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2838
    functionDepth: 2
    functionLinenumber: 2838
    functionLinenumberEnd: 2849
    functionName: png_check_fp_string
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 2
    functionsReached:
    - png_check_fp_number
    linkageType: ''
    returnType: int
    signature: int png_check_fp_string(png_const_charp string, size_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - power
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2889
    functionName: png_pow10
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double png_pow10(int power)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/libspectre/ghostscript/libpng/png.c:2942,1
    - Dst: png_pow10
      Src: /src/libspectre/ghostscript/libpng/png.c:2947,1
    - Dst: png_pow10
      Src: /src/libspectre/ghostscript/libpng/png.c:2952,1
    - Dst: modf
      Src: /src/libspectre/ghostscript/libpng/png.c:3014,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3018,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:3221,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 142
    argCount: 5
    argNames:
    - png_ptr
    - ascii
    - size
    - fp
    - precision
    argTypes:
    - png_const_structrp
    - png_charp
    - size_t
    - double
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3222
      start: 2902
    functionDepth: 1
    functionLinenumber: 2902
    functionLinenumberEnd: 3222
    functionName: png_ascii_from_fp
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_error
    - frexp
    - floor
    - modf
    - png_pow10
    linkageType: ''
    returnType: void
    signature: "void png_ascii_from_fp(png_const_structrp png_ptr, png_charp ascii,
      size_t size,\n    double fp, unsigned int precision)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:3303,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - png_ptr
    - ascii
    - size
    - fp
    argTypes:
    - png_const_structrp
    - png_charp
    - size_t
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3304
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3304
    functionName: png_ascii_from_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - png_error
    linkageType: ''
    returnType: void
    signature: "void png_ascii_from_fixed(png_const_structrp png_ptr, png_charp ascii,\n
      \   size_t size, png_fixed_point fp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3318,1
    - Dst: png_fixed_error
      Src: /src/libspectre/ghostscript/libpng/png.c:3321,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/png.c:3324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - fp
    - text
    argTypes:
    - png_const_structrp
    - double
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3315
    functionDepth: 1
    functionLinenumber: 3315
    functionLinenumberEnd: 3328
    functionName: png_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - PNG_UNUSED
    - floor
    - png_fixed_error
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_fixed(png_const_structrp png_ptr, double fp, png_const_charp
      text)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3366,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 54
    argCount: 4
    argNames:
    - res
    - a
    - times
    - divisor
    argTypes:
    - png_fixed_point_p
    - png_fixed_point
    - png_int_32
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3461
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3461
    functionName: png_muldiv
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 5
    functionsReached:
    - floor
    linkageType: ''
    returnType: int
    signature: "int png_muldiv(png_fixed_point_p res, png_fixed_point a, png_int_32
      times,\n    png_int_32 divisor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:3477,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/png.c:3480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - png_ptr
    - a
    - times
    - divisor
    argTypes:
    - png_const_structrp
    - png_fixed_point
    - png_int_32
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3482
      start: 3471
    functionDepth: 1
    functionLinenumber: 3471
    functionLinenumberEnd: 3482
    functionName: png_muldiv_warn
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_muldiv
    linkageType: ''
    returnType: png_fixed_point
    signature: "png_fixed_point png_muldiv_warn(png_const_structrp png_ptr, png_fixed_point
      a, png_int_32 times,\n    png_int_32 divisor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3491,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:3498,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3487
    functionDepth: 1
    functionLinenumber: 3487
    functionLinenumberEnd: 3503
    functionName: png_reciprocal
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached:
    - floor
    - png_muldiv
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_reciprocal(png_fixed_point a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - gamma_val
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3513
      start: 3508
    functionDepth: 0
    functionLinenumber: 3508
    functionLinenumberEnd: 3513
    functionName: png_gamma_significant
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_gamma_significant(png_fixed_point gamma_val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3526,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:3533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3519
    functionDepth: 1
    functionLinenumber: 3519
    functionLinenumberEnd: 3538
    functionName: png_product2
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - floor
    - png_muldiv
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_product2(png_fixed_point a, png_fixed_point b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3551,1
    - Dst: png_product2
      Src: /src/libspectre/ghostscript/libpng/png.c:3562,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:3565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3569
      start: 3542
    functionDepth: 2
    functionLinenumber: 3542
    functionLinenumberEnd: 3569
    functionName: png_reciprocal2
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_reciprocal
    - floor
    - png_product2
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_reciprocal2(png_fixed_point a, png_fixed_point
      b)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3662
      start: 3638
    functionDepth: 0
    functionLinenumber: 3638
    functionLinenumberEnd: 3662
    functionName: png_log8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_log8bit(unsigned int x)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - x
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3744
      start: 3695
    functionDepth: 0
    functionLinenumber: 3695
    functionLinenumberEnd: 3744
    functionName: png_log16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_log16bit(png_uint_32 x)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - x
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3787
    functionDepth: 0
    functionLinenumber: 3787
    functionLinenumberEnd: 3833
    functionName: png_exp
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_exp(png_fixed_point x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_exp
      Src: /src/libspectre/ghostscript/libpng/png.c:3839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lg2
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3847
      start: 3835
    functionDepth: 0
    functionLinenumber: 3835
    functionLinenumberEnd: 3847
    functionName: png_exp8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_exp
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_exp8bit(png_fixed_point lg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_exp
      Src: /src/libspectre/ghostscript/libpng/png.c:3854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lg2
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3859
      start: 3850
    functionDepth: 0
    functionLinenumber: 3850
    functionLinenumberEnd: 3859
    functionName: png_exp16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_exp
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 png_exp16bit(png_fixed_point lg2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3893,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/png.c:3893,1
    - Dst: png_log8bit
      Src: /src/libspectre/ghostscript/libpng/png.c:3896,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:3899,1
    - Dst: png_exp8bit
      Src: /src/libspectre/ghostscript/libpng/png.c:3900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - value
    - gamma_val
    argTypes:
    - unsigned int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3908
      start: 3863
    functionDepth: 1
    functionLinenumber: 3863
    functionLinenumberEnd: 3908
    functionName: png_gamma_8bit_correct
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - pow
    - floor
    - png_log8bit
    - png_exp8bit
    - png_muldiv
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_gamma_8bit_correct(unsigned int value, png_fixed_point
      gamma_val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:3922,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/png.c:3922,1
    - Dst: png_log16bit
      Src: /src/libspectre/ghostscript/libpng/png.c:3926,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/png.c:3929,1
    - Dst: png_exp16bit
      Src: /src/libspectre/ghostscript/libpng/png.c:3930,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - value
    - gamma_val
    argTypes:
    - unsigned int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3938
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3938
    functionName: png_gamma_16bit_correct
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - pow
    - png_log16bit
    - png_exp16bit
    - floor
    - png_muldiv
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 png_gamma_16bit_correct(unsigned int value, png_fixed_point
      gamma_val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/png.c:3951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - value
    - gamma_val
    argTypes:
    - png_structrp
    - unsigned int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3960
      start: 3946
    functionDepth: 2
    functionLinenumber: 3946
    functionLinenumberEnd: 3960
    functionName: png_gamma_correct
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_gamma_8bit_correct
    linkageType: ''
    returnType: png_uint_16
    signature: "png_uint_16 png_gamma_correct(png_structrp png_ptr, unsigned int value,\n
      \   png_fixed_point gamma_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/png.c:3988,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/png.c:3993,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/png.c:3998,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/png.c:4017,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/png.c:4017,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/png.c:4023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - png_ptr
    - ptable
    - shift
    - gamma_val
    argTypes:
    - png_structrp
    - png_uint_16pp*
    - unsigned int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4043
      start: 3971
    functionDepth: 2
    functionLinenumber: 3971
    functionLinenumberEnd: 4043
    functionName: png_build_16bit_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - pow
    - png_calloc
    - png_malloc
    - png_gamma_significant
    - floor
    - png_gamma_16bit_correct
    linkageType: ''
    returnType: void
    signature: "void png_build_16bit_table(png_structrp png_ptr, png_uint_16pp *ptable,\n
      \   unsigned int shift, png_fixed_point gamma_val)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/png.c:4058,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/png.c:4065,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/png.c:4091,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - png_ptr
    - ptable
    - shift
    - gamma_val
    argTypes:
    - png_structrp
    - png_uint_16pp*
    - unsigned int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4109
      start: 4048
    functionDepth: 2
    functionLinenumber: 4048
    functionLinenumberEnd: 4109
    functionName: png_build_16to8_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_malloc
    - png_calloc
    - png_gamma_16bit_correct
    linkageType: ''
    returnType: void
    signature: "void png_build_16to8_table(png_structrp png_ptr, png_uint_16pp *ptable,\n
      \   unsigned int shift, png_fixed_point gamma_val)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/png.c:4121,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/png.c:4123,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/png.c:4125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - ptable
    - gamma_val
    argTypes:
    - png_structrp
    - png_bytepp
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4130
      start: 4116
    functionDepth: 2
    functionLinenumber: 4116
    functionLinenumberEnd: 4130
    functionName: png_build_8bit_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_malloc
    - png_gamma_8bit_correct
    - png_gamma_significant
    linkageType: ''
    returnType: void
    signature: "void png_build_8bit_table(png_structrp png_ptr, png_bytepp ptable,\n
      \   png_fixed_point gamma_val)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4138,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4148,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4150,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4158,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4160,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4170,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4172,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4181,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4188
      start: 4135
    functionDepth: 1
    functionLinenumber: 4135
    functionLinenumberEnd: 4188
    functionName: png_destroy_gamma_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_free
    linkageType: ''
    returnType: void
    signature: void png_destroy_gamma_table(png_structrp png_ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/png.c:4198,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/png.c:4208,1
    - Dst: png_destroy_gamma_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4209,1
    - Dst: png_build_8bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4214,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/png.c:4216,1
    - Dst: png_build_8bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4224,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:4225,1
    - Dst: png_build_8bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4227,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:4229,1
    - Dst: png_build_16to8_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4298,1
    - Dst: png_product2
      Src: /src/libspectre/ghostscript/libpng/png.c:4299,1
    - Dst: png_build_16bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4303,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/png.c:4304,1
    - Dst: png_build_16bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4312,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:4313,1
    - Dst: png_build_16bit_table
      Src: /src/libspectre/ghostscript/libpng/png.c:4319,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/png.c:4320,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 2
    argNames:
    - png_ptr
    - bit_depth
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4326
      start: 4195
    functionDepth: 3
    functionLinenumber: 4195
    functionLinenumberEnd: 4326
    functionName: png_build_gamma_table
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_build_16bit_table
    - png_reciprocal
    - png_destroy_gamma_table
    - png_build_16to8_table
    - png_build_8bit_table
    - png_reciprocal2
    - png_product2
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_build_gamma_table(png_structrp png_ptr, int bit_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - option
    - onoff
    argTypes:
    - png_structrp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4347
      start: 4331
    functionDepth: 0
    functionLinenumber: 4331
    functionLinenumberEnd: 4347
    functionName: png_set_option
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_set_option(png_structrp png_ptr, int option, int onoff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/png.c:4524,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/png.c:4538,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/png.c:4545,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4557,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/png.c:4563,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:4565,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/png.c:4571,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/png.c:4573,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4579
      start: 4521
    functionDepth: 4
    functionLinenumber: 4521
    functionLinenumberEnd: 4579
    functionName: png_image_free_function
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_voidcast
    - png_destroy_read_struct
    - png_free
    - png_destroy_write_struct
    - fclose
    linkageType: ''
    returnType: int
    signature: int png_image_free_function(png_voidp argument)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_image_free_function
      Src: /src/libspectre/ghostscript/libpng/png.c:4591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - image
    argTypes:
    - png_imagep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4594
      start: 4581
    functionDepth: 5
    functionLinenumber: 4581
    functionLinenumberEnd: 4594
    functionName: png_image_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 3
    functionsReached:
    - png_image_free_function
    linkageType: ''
    returnType: void
    signature: void png_image_free(png_imagep image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_safecat
      Src: /src/libspectre/ghostscript/libpng/png.c:4600,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/png.c:4602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - image
    - error_message
    argTypes:
    - png_imagep
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4596
    functionDepth: 6
    functionLinenumber: 4596
    functionLinenumberEnd: 4604
    functionName: png_image_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/png.c
    functionUses: 4
    functionsReached:
    - png_safecat
    - png_image_free
    linkageType: ''
    returnType: int
    signature: int png_image_error(png_imagep image, png_const_charp error_message)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - flag
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 27
    functionName: png_get_valid
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_valid(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_uint_32 flag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: png_get_rowbytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t png_get_rowbytes(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: png_get_rows
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_bytepp
    signature: png_bytepp png_get_rows(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: png_get_image_width
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_image_width(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: png_get_image_height
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_image_height(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: png_get_bit_depth
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_bit_depth(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: png_get_color_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_color_type(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 94
    functionName: png_get_filter_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_filter_type(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 103
    functionName: png_get_interlace_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_interlace_type(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: png_get_compression_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_compression_type(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:122,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:129,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 134
    functionName: png_get_x_pixels_per_meter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_x_pixels_per_meter(png_const_structrp png_ptr,
      png_const_inforp\n   info_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:144,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:151,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:152,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 156
    functionName: png_get_y_pixels_per_meter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_y_pixels_per_meter(png_const_structrp png_ptr,
      png_const_inforp\n    info_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:165,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:172,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 177
    functionName: png_get_pixels_per_meter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_pixels_per_meter(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:188,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:195,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 200
    functionName: png_get_pixel_aspect_ratio
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: float
    signature: "float png_get_pixel_aspect_ratio(png_const_structrp png_ptr, png_const_inforp\n
      \  info_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:217,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/pngget.c:222,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:227,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 232
    functionName: png_get_pixel_aspect_ratio_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    - png_muldiv
    linkageType: ''
    returnType: png_fixed_point
    signature: "png_fixed_point png_get_pixel_aspect_ratio_fixed(png_const_structrp
      png_ptr,\n    png_const_inforp info_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:242,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:248,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: png_get_x_offset_microns
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_get_x_offset_microns(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:262,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:268,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: png_get_y_offset_microns
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_get_y_offset_microns(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:282,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:288,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 293
    functionName: png_get_x_offset_pixels
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_get_x_offset_pixels(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:302,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:308,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 313
    functionName: png_get_y_offset_pixels
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - PNG_UNUSED
    linkageType: ''
    returnType: png_int_32
    signature: png_int_32 png_get_y_offset_pixels(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/pngget.c:339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - ppm
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 346
    functionName: ppi_from_ppm
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_muldiv
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 ppi_from_ppm(png_uint_32 ppm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppi_from_ppm
      Src: /src/libspectre/ghostscript/libpng/pngget.c:351,1
    - Dst: png_get_pixels_per_meter
      Src: /src/libspectre/ghostscript/libpng/pngget.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 352
    functionName: png_get_pixels_per_inch
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_get_pixels_per_meter
    - ppi_from_ppm
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppi_from_ppm
      Src: /src/libspectre/ghostscript/libpng/pngget.c:357,1
    - Dst: png_get_x_pixels_per_meter
      Src: /src/libspectre/ghostscript/libpng/pngget.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: png_get_x_pixels_per_inch
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - ppi_from_ppm
    - png_get_x_pixels_per_meter
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_x_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppi_from_ppm
      Src: /src/libspectre/ghostscript/libpng/pngget.c:363,1
    - Dst: png_get_y_pixels_per_meter
      Src: /src/libspectre/ghostscript/libpng/pngget.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: png_get_y_pixels_per_inch
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - ppi_from_ppm
    - png_get_y_pixels_per_meter
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_y_pixels_per_inch(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv_warn
      Src: /src/libspectre/ghostscript/libpng/pngget.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - microns
    argTypes:
    - png_const_structrp
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: png_fixed_inches_from_microns
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_muldiv_warn
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point png_fixed_inches_from_microns(png_const_structrp png_ptr,
      png_int_32 microns)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_fixed_inches_from_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:382,1
    - Dst: png_get_x_offset_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: png_get_x_offset_inches_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_get_x_offset_microns
    - png_fixed_inches_from_microns
    linkageType: ''
    returnType: png_fixed_point
    signature: "png_fixed_point png_get_x_offset_inches_fixed(png_const_structrp png_ptr,\n
      \   png_const_inforp info_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_fixed_inches_from_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:392,1
    - Dst: png_get_y_offset_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: png_get_y_offset_inches_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_get_y_offset_microns
    - png_fixed_inches_from_microns
    linkageType: ''
    returnType: png_fixed_point
    signature: "png_fixed_point png_get_y_offset_inches_fixed(png_const_structrp png_ptr,\n
      \   png_const_inforp info_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_x_offset_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 405
    functionName: png_get_x_offset_inches
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_get_x_offset_microns
    linkageType: ''
    returnType: float
    signature: float png_get_x_offset_inches(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_y_offset_microns
      Src: /src/libspectre/ghostscript/libpng/pngget.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: png_get_y_offset_inches
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_get_y_offset_microns
    linkageType: ''
    returnType: float
    signature: float png_get_y_offset_inches(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:429,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - res_x
    - res_y
    - unit_type
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_uint_32*
    - png_uint_32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 457
    functionName: png_get_pHYs_dpi
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_pHYs_dpi(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: png_get_channels
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_channels(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structrp
    - png_const_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: png_get_signature
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_const_bytep
    signature: png_const_bytep png_get_signature(png_const_structrp png_ptr, png_const_inforp
      info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:495,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - background
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_color_16p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: png_get_bKGD
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_bKGD(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_color_16p *background)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:525,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:528,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:531,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:534,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:537,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:540,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:543,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:546,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 10
    argNames:
    - png_ptr
    - info_ptr
    - white_x
    - white_y
    - red_x
    - red_y
    - green_x
    - green_y
    - blue_x
    - blue_y
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 555
    functionName: png_get_cHRM
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_float
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_cHRM(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    double *white_x, double *white_y, double *red_x, double *red_y,\n
      \   double *green_x, double *green_y, double *blue_x, double *blue_y)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:566,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:569,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:572,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:575,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:578,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:581,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:584,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:587,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:590,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:593,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 11
    argNames:
    - png_ptr
    - info_ptr
    - red_X
    - red_Y
    - red_Z
    - green_X
    - green_Y
    - green_Z
    - blue_X
    - blue_Y
    - blue_Z
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 599
    functionName: png_get_cHRM_XYZ
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    - png_float
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_cHRM_XYZ(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    double *red_X, double *red_Y, double *red_Z, double *green_X,\n
      \   double *green_Y, double *green_Z, double *blue_X, double *blue_Y,\n    double
      *blue_Z)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:614,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 11
    argNames:
    - png_ptr
    - info_ptr
    - int_red_X
    - int_red_Y
    - int_red_Z
    - int_green_X
    - int_green_Y
    - int_green_Z
    - int_blue_X
    - int_blue_Y
    - int_blue_Z
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 638
    functionName: png_get_cHRM_XYZ_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_cHRM_XYZ_fixed(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_fixed_point *int_red_X, png_fixed_point *int_red_Y,\n    png_fixed_point
      *int_red_Z, png_fixed_point *int_green_X,\n    png_fixed_point *int_green_Y,
      png_fixed_point *int_green_Z,\n    png_fixed_point *int_blue_X, png_fixed_point
      *int_blue_Y,\n    png_fixed_point *int_blue_Z)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:646,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 10
    argNames:
    - png_ptr
    - info_ptr
    - white_x
    - white_y
    - red_x
    - red_y
    - green_x
    - green_y
    - blue_x
    - blue_y
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    - png_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 671
    functionName: png_get_cHRM_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_cHRM_fixed(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_fixed_point *white_x, png_fixed_point *white_y, png_fixed_point
      *red_x,\n    png_fixed_point *red_y, png_fixed_point *green_x, png_fixed_point
      *green_y,\n    png_fixed_point *blue_x, png_fixed_point *blue_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:681,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - file_gamma
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 692
    functionName: png_get_gAMA_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_gAMA_fixed(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_fixed_point *file_gamma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:700,1
    - Dst: png_float
      Src: /src/libspectre/ghostscript/libpng/pngget.c:706,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - file_gamma
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 712
    functionName: png_get_gAMA
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    - png_float
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_gAMA(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    double *file_gamma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - file_srgb_intent
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 731
    functionName: png_get_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_sRGB(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    int *file_srgb_intent)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:740,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/pngget.c:748,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 6
    argNames:
    - png_ptr
    - info_ptr
    - name
    - compression_type
    - profile
    - proflen
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_charpp
    - int*
    - png_bytepp
    - png_uint_32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 759
    functionName: png_get_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    - png_get_uint_32
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_iCCP(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_charpp name, int *compression_type,\n    png_bytepp profile, png_uint_32
      *proflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - spalettes
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_sPLT_tpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 774
    functionName: png_get_sPLT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int png_get_sPLT(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_sPLT_tpp spalettes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngget.c:782,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:783,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngget.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - exif
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_bytep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 786
    functionName: png_get_eXIf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_warning
    - PNG_UNUSED
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_bytep *exif)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - num_exif
    - exif
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_uint_32*
    - png_bytep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 803
    functionName: png_get_eXIf_1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_eXIf_1(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_uint_32 *num_exif, png_bytep *exif)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - hist
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_uint_16p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 821
    functionName: png_get_hIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_hIST(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_uint_16p *hist)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:830,1
    - Dst: png_check_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngget.c:861,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 9
    argNames:
    - png_ptr
    - info_ptr
    - width
    - height
    - bit_depth
    - color_type
    - interlace_type
    - compression_type
    - filter_type
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_uint_32*
    - png_uint_32*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 866
    functionName: png_get_IHDR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    - png_check_IHDR
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_IHDR(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_uint_32 *width, png_uint_32 *height, int *bit_depth,\n    int
      *color_type, int *interlace_type, int *compression_type,\n    int *filter_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:873,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - offset_x
    - offset_y
    - unit_type
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_int_32*
    - png_int_32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 886
    functionName: png_get_oFFs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_oFFs(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_int_32 *offset_x, png_int_32 *offset_y, int *unit_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:895,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 9
    argNames:
    - png_ptr
    - info_ptr
    - purpose
    - X0
    - X1
    - type
    - nparams
    - units
    - params
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_charp*
    - png_int_32*
    - png_int_32*
    - int*
    - int*
    - png_charp*
    - png_charpp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 913
    functionName: png_get_pCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_pCAL(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_charp *purpose, png_int_32 *X0, png_int_32 *X1, int *type, int *nparams,\n
      \   png_charp *units, png_charpp *params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngget.c:932,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/pngget.c:932,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngget.c:933,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/pngget.c:933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - width
    - height
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - int*
    - png_fixed_point*
    - png_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 920
    functionDepth: 0
    functionLinenumber: 920
    functionLinenumberEnd: 939
    functionName: png_get_sCAL_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached:
    - png_fixed
    - atof
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_sCAL_fixed(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    int *unit, png_fixed_point *width, png_fixed_point *height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/pngget.c:951,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/pngget.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - width
    - height
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - int*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 957
    functionName: png_get_sCAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - atof
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_sCAL(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    int *unit, double *width, double *height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - unit
    - width
    - height
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - int*
    - png_charpp
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 973
    functionName: png_get_sCAL_s
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_sCAL_s(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    int *unit, png_charpp width, png_charpp height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:983,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - res_x
    - res_y
    - unit_type
    argTypes:
    - png_const_structrp
    - png_const_inforp
    - png_uint_32*
    - png_uint_32*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1008
    functionName: png_get_pHYs
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_pHYs(png_const_structrp png_ptr, png_const_inforp
      info_ptr,\n    png_uint_32 *res_x, png_uint_32 *res_y, int *unit_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1015,1
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - palette
    - num_palette
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_colorp*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1027
    functionName: png_get_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_PLTE(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_colorp *palette, int *num_palette)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1034,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - sig_bit
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_color_8p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1044
    functionName: png_get_sBIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 2
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_sBIT(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_color_8p *sig_bit)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - text_ptr
    - num_text
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_textp*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1070
    functionName: png_get_text
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: int
    signature: "int png_get_text(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_textp *text_ptr, int *num_text)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - mod_time
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_timep*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: png_get_tIME
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_tIME(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_timep *mod_time)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug1
      Src: /src/libspectre/ghostscript/libpng/pngget.c:1100,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - png_ptr
    - info_ptr
    - trans_alpha
    - num_trans
    - trans_color
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_bytep*
    - int*
    - png_color_16p*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1134
    functionName: png_get_tRNS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached:
    - png_debug1
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_get_tRNS(png_const_structrp png_ptr, png_inforp info_ptr,\n
      \   png_bytep *trans_alpha, int *num_trans, png_color_16p *trans_color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - png_ptr
    - info_ptr
    - unknowns
    argTypes:
    - png_const_structrp
    - png_inforp
    - png_unknown_chunkpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1149
    functionName: png_get_unknown_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int png_get_unknown_chunks(png_const_structrp png_ptr, png_inforp
      info_ptr,\n    png_unknown_chunkpp unknowns)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1153
    functionDepth: 0
    functionLinenumber: 1153
    functionLinenumberEnd: 1157
    functionName: png_get_rgb_to_gray_status
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_get_rgb_to_gray_status (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: png_get_user_chunk_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp png_get_user_chunk_ptr(png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1198
    functionName: png_get_user_width_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_user_width_max (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    functionName: png_get_user_height_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_user_height_max (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1211
    functionName: png_get_chunk_cache_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_chunk_cache_max (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1218
    functionName: png_get_chunk_malloc_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_alloc_size_t
    signature: png_alloc_size_t png_get_chunk_malloc_max (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    functionName: png_get_io_state
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_io_state (png_const_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: png_get_io_chunk_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_get_io_chunk_type (png_const_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_const_structp
    - png_const_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1245
    functionName: png_get_palette_max
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngget.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_get_palette_max(png_const_structp png_ptr, png_const_infop
      info_ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:38,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:61,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - png_ptr
    - crit_action
    - ancil_action
    argTypes:
    - png_structrp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 101
    functionName: png_set_crc_action
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_crc_action(png_structrp png_ptr, int crit_action, int
      ancil_action)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:115,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - png_ptr
    - need_IHDR
    argTypes:
    - png_structrp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 131
    functionName: png_rtran_ok
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_app_error
    linkageType: ''
    returnType: int
    signature: int png_rtran_ok(png_structrp png_ptr, int need_IHDR)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:141,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:143,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - png_ptr
    - background_color
    - background_gamma_code
    - need_expand
    - background_gamma
    argTypes:
    - png_structrp
    - png_const_color_16p
    - int
    - int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 163
    functionName: png_set_background_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_rtran_ok
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_background_fixed(png_structrp png_ptr,\n    png_const_color_16p
      background_color, int background_gamma_code,\n    int need_expand, png_fixed_point
      background_gamma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:171,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - png_ptr
    - background_color
    - background_gamma_code
    - need_expand
    - background_gamma
    argTypes:
    - png_structrp
    - png_const_color_16p
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 173
    functionName: png_set_background
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_fixed
    - png_set_background_fixed
    linkageType: ''
    returnType: void
    signature: "void png_set_background(png_structrp png_ptr,\n    png_const_color_16p
      background_color, int background_gamma_code,\n    int need_expand, double background_gamma)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:185,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: png_set_scale_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_scale_16(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:199,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: png_set_strip_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 2
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_strip_16(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:212,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: png_set_strip_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 2
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_strip_alpha(png_structrp png_ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - png_ptr
    - output_gamma
    - is_screen
    argTypes:
    - png_structrp
    - png_fixed_point
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 258
    functionName: translate_gamma_flags
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    linkageType: ''
    returnType: png_fixed_point
    signature: "png_fixed_point translate_gamma_flags(png_structrp png_ptr, png_fixed_point
      output_gamma,\n    int is_screen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:275,1
    - Dst: png_fixed_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - png_ptr
    - output_gamma
    argTypes:
    - png_structrp
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 281
    functionName: convert_gamma_value
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - floor
    - png_fixed_error
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point convert_gamma_value(png_structrp png_ptr, double output_gamma)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:293,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:295,1
    - Dst: translate_gamma_flags
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:298,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:310,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:315,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:363,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:385,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:391,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - png_ptr
    - mode
    - output_gamma
    argTypes:
    - png_structrp
    - int
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 396
    functionName: png_set_alpha_mode_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_reciprocal
    - png_rtran_ok
    - translate_gamma_flags
    - memset
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_alpha_mode_fixed(png_structrp png_ptr, int mode,\n    png_fixed_point
      output_gamma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:402,1
    - Dst: convert_gamma_value
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - png_ptr
    - mode
    - output_gamma
    argTypes:
    - png_structrp
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 404
    functionName: png_set_alpha_mode
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_set_alpha_mode_fixed
    - convert_gamma_value
    linkageType: ''
    returnType: void
    signature: void png_set_alpha_mode(png_structrp png_ptr, int mode, double output_gamma)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:432,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:434,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:443,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:460,1
    - Dst: PNG_COLOR_DIST
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:554,1
    - Dst: PNG_COLOR_DIST
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:559,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:572,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:594,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:597,1
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:608,1
    - Dst: PNG_COLOR_DIST
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:633,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:638,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:730,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:738,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:739,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:740,1
    - Dst: png_calloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:763,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:766,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:769,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:811,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 169
    argCount: 6
    argNames:
    - png_ptr
    - palette
    - num_palette
    - maximum_colors
    - histogram
    - full_quantize
    argTypes:
    - png_structrp
    - png_colorp
    - int
    - int
    - png_const_uint_16p
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 813
    functionName: png_set_quantize
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_calloc
    - PNG_COLOR_DIST
    - png_malloc
    - png_rtran_ok
    - png_free
    - memset
    - png_malloc_warn
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_quantize(png_structrp png_ptr, png_colorp palette,\n
      \   int num_palette, int maximum_colors, png_const_uint_16p histogram,\n    int
      full_quantize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:821,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:823,1
    - Dst: translate_gamma_flags
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:827,1
    - Dst: translate_gamma_flags
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:828,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:842,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:845,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - png_ptr
    - scrn_gamma
    - file_gamma
    argTypes:
    - png_structrp
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 854
    functionName: png_set_gamma_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_rtran_ok
    - translate_gamma_flags
    - png_error
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_gamma_fixed(png_structrp png_ptr, png_fixed_point scrn_gamma,\n
      \   png_fixed_point file_gamma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:860,1
    - Dst: convert_gamma_value
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:860,1
    - Dst: convert_gamma_value
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - png_ptr
    - scrn_gamma
    - file_gamma
    argTypes:
    - png_structrp
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 862
    functionName: png_set_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_set_gamma_fixed
    - convert_gamma_value
    linkageType: ''
    returnType: void
    signature: void png_set_gamma(png_structrp png_ptr, double scrn_gamma, double
      file_gamma)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:874,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 880
    functionName: png_set_expand
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_expand(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:904,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 910
    functionName: png_set_palette_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_palette_to_rgb(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:916,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 922
    functionName: png_set_expand_gray_1_2_4_to_8
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_expand_gray_1_2_4_to_8(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:928,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 925
    functionDepth: 1
    functionLinenumber: 925
    functionLinenumberEnd: 934
    functionName: png_set_tRNS_to_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_tRNS_to_alpha(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:944,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:946,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 941
    functionDepth: 1
    functionLinenumber: 941
    functionLinenumberEnd: 950
    functionName: png_set_expand_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_rtran_ok
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_expand_16(png_structrp png_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:957,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:959,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:963,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 965
    functionName: png_set_gray_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_rtran_ok
    - png_set_expand_gray_1_2_4_to_8
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_set_gray_to_rgb(png_structrp png_ptr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:973,1
    - Dst: png_rtran_ok
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:977,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:995,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1006,1
    - Dst: png_app_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1033,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 4
    argNames:
    - png_ptr
    - error_action
    - red
    - green
    argTypes:
    - png_structrp
    - int
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 1051
    functionName: png_set_rgb_to_gray_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_rtran_ok
    - png_app_warning
    - png_error
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_rgb_to_gray_fixed(png_structrp png_ptr, int error_action,\n
      \   png_fixed_point red, png_fixed_point green)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_rgb_to_gray_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1062,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1063,1
    - Dst: png_fixed
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - png_ptr
    - error_action
    - red
    - green
    argTypes:
    - png_structrp
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1065
    functionName: png_set_rgb_to_gray
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_fixed
    - png_set_rgb_to_gray_fixed
    linkageType: ''
    returnType: void
    signature: "void png_set_rgb_to_gray(png_structrp png_ptr, int error_action, double
      red,\n    double green)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - read_user_transform_fn
    argTypes:
    - png_structrp
    - png_user_transform_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1072
    functionDepth: 1
    functionLinenumber: 1072
    functionLinenumberEnd: 1082
    functionName: png_set_read_user_transform_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_set_read_user_transform_fn(png_structrp png_ptr, png_user_transform_ptr\n
      \   read_user_transform_fn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1102,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - screen_gamma
    - file_gamma
    argTypes:
    - png_fixed_point
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: png_gamma_threshold
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_muldiv
    - png_gamma_significant
    linkageType: ''
    returnType: int
    signature: int png_gamma_threshold(png_fixed_point screen_gamma, png_fixed_point
      file_gamma)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1203
    functionName: png_init_palette_transformations
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_init_palette_transformations(png_structrp png_ptr)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1288
    functionName: png_init_rgb_transformations
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_init_rgb_transformations(png_structrp png_ptr)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1293,1
    - Dst: png_gamma_threshold
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1319,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1326,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1335,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1421,1
    - Dst: png_colorspace_set_rgb_coefficients
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1433,1
    - Dst: png_init_palette_transformations
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1494,1
    - Dst: png_init_rgb_transformations
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1497,1
    - Dst: CHOP
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1517,1
    - Dst: CHOP
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1518,1
    - Dst: CHOP
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1519,1
    - Dst: CHOP
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1520,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1576,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1577,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1579,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1580,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1583,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1586,1
    - Dst: png_build_gamma_table
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1588,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1600,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1635,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1636,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1641,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1642,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1651,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1653,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1655,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1657,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1668,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1670,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1672,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1674,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1700,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1704,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1708,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1744,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1745,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1750,1
    - Dst: png_reciprocal2
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1751,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1756,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1759,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1760,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1763,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1767,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1777,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1780,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1783,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1789,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1792,1
    - Dst: png_gamma_correct
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1795,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1873,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1876,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1879,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 212
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1290
    functionDepth: 4
    functionLinenumber: 1290
    functionLinenumberEnd: 1933
    functionName: png_init_read_transformations
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_init_rgb_transformations
    - png_composite
    - png_gamma_8bit_correct
    - png_build_gamma_table
    - png_reciprocal
    - png_gamma_correct
    - png_init_palette_transformations
    - CHOP
    - png_gamma_significant
    - png_gamma_threshold
    - png_reciprocal2
    - png_colorspace_set_rgb_coefficients
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_init_read_transformations(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1516
    functionDepth: 0
    functionLinenumber: 1516
    functionLinenumberEnd: 1517
    functionName: CHOP
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHOP(x)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1942,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:1963,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2128,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 75
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 2142
    functionName: png_read_transform_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_read_transform_info(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2154,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2151
    functionDepth: 1
    functionLinenumber: 2151
    functionLinenumberEnd: 2240
    functionName: png_do_unpack
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_unpack(png_row_infop row_info, png_bytep row)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2255,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - row_info
    - row
    - sig_bits
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_color_8p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2383
    functionName: png_do_unshift
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_unshift(png_row_infop row_info, png_bytep row,\n    png_const_color_8p
      sig_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2388
    functionDepth: 1
    functionLinenumber: 2388
    functionLinenumberEnd: 2442
    functionName: png_do_scale_16_to_8
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_scale_16_to_8(png_row_infop row_info, png_bytep row)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2446
    functionDepth: 1
    functionLinenumber: 2446
    functionLinenumberEnd: 2470
    functionName: png_do_chop
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_chop(png_row_infop row_info, png_bytep row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2479,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2566
      start: 2474
    functionDepth: 1
    functionLinenumber: 2474
    functionLinenumberEnd: 2566
    functionName: png_do_read_swap_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_read_swap_alpha(png_row_infop row_info, png_bytep row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2574,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2570
    functionDepth: 1
    functionLinenumber: 2570
    functionLinenumberEnd: 2667
    functionName: png_do_read_invert_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_read_invert_alpha(png_row_infop row_info, png_bytep row)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2684,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 106
    argCount: 4
    argNames:
    - row_info
    - row
    - filler
    - flags
    argTypes:
    - png_row_infop
    - png_bytep
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2672
    functionDepth: 1
    functionLinenumber: 2672
    functionLinenumberEnd: 2854
    functionName: png_do_read_filler
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_read_filler(png_row_infop row_info, png_bytep row,\n    png_uint_32
      filler, png_uint_32 flags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2865,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:2940,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2859
    functionDepth: 1
    functionLinenumber: 2859
    functionLinenumberEnd: 2942
    functionName: png_do_gray_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_gray_to_rgb(png_row_infop row_info, png_bytep row)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3003,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3187,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 87
    argCount: 3
    argNames:
    - png_ptr
    - row_info
    - row
    argTypes:
    - png_structrp
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 2998
    functionDepth: 1
    functionLinenumber: 2998
    functionLinenumberEnd: 3190
    functionName: png_do_rgb_to_gray
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: int
    signature: int png_do_rgb_to_gray(png_structrp png_ptr, png_row_infop row_info,
      png_bytep row)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3218,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3628,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3647,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3685,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3717,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3760,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3765,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3770,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3793,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3795,1
    - Dst: png_composite
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3798,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3852,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3860,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3869,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3912,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3916,1
    - Dst: png_composite_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3920,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 388
    argCount: 3
    argNames:
    - row_info
    - row
    - png_ptr
    argTypes:
    - png_row_infop
    - png_bytep
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3933
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3933
    functionName: png_do_compose
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_composite
    - png_debug
    - png_composite_16
    linkageType: ''
    returnType: void
    signature: void png_do_compose(png_row_infop row_info, png_bytep row, png_structrp
      png_ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:3954,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 117
    argCount: 3
    argNames:
    - row_info
    - row
    - png_ptr
    argTypes:
    - png_row_infop
    - png_bytep
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 3943
    functionDepth: 1
    functionLinenumber: 3943
    functionLinenumberEnd: 4136
    functionName: png_do_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_gamma(png_row_infop row_info, png_bytep row, png_structrp
      png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4149,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4200,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - row_info
    - row
    - png_ptr
    argTypes:
    - png_row_infop
    - png_bytep
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4144
    functionDepth: 1
    functionLinenumber: 4144
    functionLinenumberEnd: 4201
    functionName: png_do_encode_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_encode_alpha(png_row_infop row_info, png_bytep row, png_structrp
      png_ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4218,1
    - Dst: png_do_expand_palette_rgba8_neon
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4323,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4327,1
    - Dst: png_do_expand_palette_rgb8_neon
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4354,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4357,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 105
    argCount: 6
    argNames:
    - png_ptr
    - row_info
    - row
    - palette
    - trans_alpha
    - num_trans
    argTypes:
    - png_structrp
    - png_row_infop
    - png_bytep
    - png_const_colorp
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4377
      start: 4208
    functionDepth: 1
    functionLinenumber: 4208
    functionLinenumberEnd: 4377
    functionName: png_do_expand_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - png_do_expand_palette_rgb8_neon
    - png_do_expand_palette_rgba8_neon
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_expand_palette(png_structrp png_ptr, png_row_infop row_info,\n
      \   png_bytep row, png_const_colorp palette, png_const_bytep trans_alpha,\n
      \   int num_trans)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4391,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4536,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4603,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 134
    argCount: 3
    argNames:
    - row_info
    - row
    - trans_color
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_color_16p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4605
      start: 4382
    functionDepth: 1
    functionLinenumber: 4382
    functionLinenumberEnd: 4605
    functionName: png_do_expand
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_expand(png_row_infop row_info, png_bytep row,\n    png_const_color_16p
      trans_color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4638
      start: 4612
    functionDepth: 0
    functionLinenumber: 4612
    functionLinenumberEnd: 4638
    functionName: png_do_expand_16
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_do_expand_16(png_row_infop row_info, png_bytep row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4650,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4687,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4718,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - row_info
    - row
    - palette_lookup
    - quantize_lookup
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4732
      start: 4642
    functionDepth: 1
    functionLinenumber: 4642
    functionLinenumberEnd: 4732
    functionName: png_do_quantize
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 0
    functionsReached:
    - PNG_ROWBYTES
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_do_quantize(png_row_infop row_info, png_bytep row,\n    png_const_bytep
      palette_lookup, png_const_bytep quantize_lookup)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4742,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4750,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4766,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4781,1
    - Dst: png_riffle_palette_neon
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4782,1
    - Dst: png_do_expand_palette
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4786,1
    - Dst: png_do_expand
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4794,1
    - Dst: png_do_expand
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4798,1
    - Dst: png_do_strip_channel
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4808,1
    - Dst: png_do_rgb_to_gray
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4816,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4824,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4828,1
    - Dst: png_do_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4870,1
    - Dst: png_do_compose
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4876,1
    - Dst: PNG_READ_RGB_TO_GRAY_SUPPORTED
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4881,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4886,1
    - Dst: png_do_strip_channel
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4906,1
    - Dst: png_do_encode_alpha
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4913,1
    - Dst: png_do_scale_16_to_8
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4918,1
    - Dst: png_do_chop
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4927,1
    - Dst: png_do_quantize
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4933,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4937,1
    - Dst: png_do_expand_16
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4948,1
    - Dst: png_do_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4955,1
    - Dst: png_do_invert
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4960,1
    - Dst: png_do_read_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4965,1
    - Dst: png_do_unshift
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4970,1
    - Dst: png_do_unpack
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4976,1
    - Dst: png_do_check_palette_indexes
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4983,1
    - Dst: png_do_bgr
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4988,1
    - Dst: png_do_packswap
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4993,1
    - Dst: png_do_read_filler
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:4998,1
    - Dst: png_do_read_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:5004,1
    - Dst: png_do_swap
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:5010,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngrtran.c:5038,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 88
    argCount: 2
    argNames:
    - png_ptr
    - row_info
    argTypes:
    - png_structrp
    - png_row_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5041
      start: 4739
    functionDepth: 2
    functionLinenumber: 4739
    functionLinenumberEnd: 5041
    functionName: png_do_read_transformations
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngrtran.c
    functionUses: 1
    functionsReached:
    - png_do_read_swap_alpha
    - PNG_READ_RGB_TO_GRAY_SUPPORTED
    - PNG_ROWBYTES
    - png_do_compose
    - png_do_quantize
    - png_do_unshift
    - png_riffle_palette_neon
    - png_do_chop
    - png_do_scale_16_to_8
    - defined
    - png_warning
    - png_do_expand
    - png_do_rgb_to_gray
    - png_do_expand_16
    - png_do_read_invert_alpha
    - png_do_swap
    - png_do_expand_palette
    - png_do_encode_alpha
    - png_do_bgr
    - png_do_check_palette_indexes
    - png_do_strip_channel
    - png_do_gray_to_rgb
    - png_do_invert
    - png_debug
    - png_error
    - png_do_packswap
    - png_do_read_filler
    - png_malloc
    - png_do_unpack
    linkageType: ''
    returnType: void
    signature: void png_do_read_transformations(png_structrp png_ptr, png_row_infop
      row_info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:30,1
    - Dst: png_create_read_struct_2
      Src: /src/libspectre/ghostscript/libpng/pngread.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_create_read_struct
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 35
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_read_struct_2
    - png_create_png_struct
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_structp,PNGAPI\npng_create_read_struct,(png_const_charp
      user_png_ver, png_voidp error_ptr,\n    png_error_ptr error_fn, png_error_ptr
      warn_fn),PNG_ALLOCATED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_create_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:45,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/pngread.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - png_create_read_struct_2
    argTypes:
    - PNGAPI
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 79
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_set_read_fn
    - png_create_png_struct
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(png_structp,PNGAPI\npng_create_read_struct_2,(png_const_charp
      user_png_ver, png_voidp error_ptr,\n    png_error_ptr error_fn, png_error_ptr
      warn_fn, png_voidp mem_ptr,\n    png_malloc_ptr malloc_fn, png_free_ptr free_fn),PNG_ALLOCATED)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:98,1
    - Dst: png_read_sig
      Src: /src/libspectre/ghostscript/libpng/pngread.c:104,1
    - Dst: png_read_chunk_header
      Src: /src/libspectre/ghostscript/libpng/pngread.c:108,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:117,1
    - Dst: png_chunk_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:121,1
    - Dst: png_chunk_benign_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:124,1
    - Dst: png_handle_IHDR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:139,1
    - Dst: png_handle_IEND
      Src: /src/libspectre/ghostscript/libpng/pngread.c:142,1
    - Dst: png_chunk_unknown_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:145,1
    - Dst: png_handle_unknown
      Src: /src/libspectre/ghostscript/libpng/pngread.c:147,1
    - Dst: png_handle_PLTE
      Src: /src/libspectre/ghostscript/libpng/pngread.c:160,1
    - Dst: png_handle_bKGD
      Src: /src/libspectre/ghostscript/libpng/pngread.c:170,1
    - Dst: png_handle_cHRM
      Src: /src/libspectre/ghostscript/libpng/pngread.c:175,1
    - Dst: png_handle_eXIf
      Src: /src/libspectre/ghostscript/libpng/pngread.c:180,1
    - Dst: png_handle_gAMA
      Src: /src/libspectre/ghostscript/libpng/pngread.c:185,1
    - Dst: png_handle_hIST
      Src: /src/libspectre/ghostscript/libpng/pngread.c:190,1
    - Dst: png_handle_oFFs
      Src: /src/libspectre/ghostscript/libpng/pngread.c:195,1
    - Dst: png_handle_pCAL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:200,1
    - Dst: png_handle_sCAL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:205,1
    - Dst: png_handle_pHYs
      Src: /src/libspectre/ghostscript/libpng/pngread.c:210,1
    - Dst: png_handle_sBIT
      Src: /src/libspectre/ghostscript/libpng/pngread.c:215,1
    - Dst: png_handle_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngread.c:220,1
    - Dst: png_handle_iCCP
      Src: /src/libspectre/ghostscript/libpng/pngread.c:225,1
    - Dst: png_handle_sPLT
      Src: /src/libspectre/ghostscript/libpng/pngread.c:230,1
    - Dst: png_handle_tEXt
      Src: /src/libspectre/ghostscript/libpng/pngread.c:235,1
    - Dst: png_handle_tIME
      Src: /src/libspectre/ghostscript/libpng/pngread.c:240,1
    - Dst: png_handle_tRNS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:245,1
    - Dst: png_handle_zTXt
      Src: /src/libspectre/ghostscript/libpng/pngread.c:250,1
    - Dst: png_handle_iTXt
      Src: /src/libspectre/ghostscript/libpng/pngread.c:255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 262
    functionName: png_read_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 3
    functionsReached:
    - png_handle_eXIf
    - png_chunk_benign_error
    - png_handle_PLTE
    - png_read_chunk_header
    - png_handle_zTXt
    - png_handle_tIME
    - png_handle_sCAL
    - png_handle_bKGD
    - png_handle_cHRM
    - png_handle_hIST
    - png_handle_gAMA
    - png_handle_sPLT
    - png_handle_unknown
    - png_handle_pHYs
    - png_handle_sRGB
    - png_handle_IHDR
    - png_debug
    - png_handle_sBIT
    - png_handle_iTXt
    - png_handle_pCAL
    - png_chunk_error
    - png_handle_iCCP
    - png_chunk_unknown_handling
    - png_handle_tEXt
    - png_read_sig
    - png_handle_IEND
    - png_handle_tRNS
    - png_handle_oFFs
    linkageType: ''
    returnType: void
    signature: void png_read_info(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:269,1
    - Dst: png_read_start_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:275,1
    - Dst: png_read_transform_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:278,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngread.c:280,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structrp
    - png_inforp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 289
    functionName: png_read_update_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 2
    functionsReached:
    - png_read_transform_info
    - PNG_UNUSED
    - png_read_start_row
    - png_debug
    - png_app_error
    linkageType: ''
    returnType: void
    signature: void png_read_update_info(png_structrp png_ptr, png_inforp info_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:300,1
    - Dst: png_read_start_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:305,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: png_start_read_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_read_start_row
    - png_debug
    - png_app_error
    linkageType: ''
    returnType: void
    signature: void png_start_read_image(png_structrp png_ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:323,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - row_info
    - row
    argTypes:
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 379
    functionName: png_do_read_intrapixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_do_read_intrapixel(png_row_infop row_info, png_bytep row)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: png_debug2
      Src: /src/libspectre/ghostscript/libpng/pngread.c:390,1
    - Dst: png_read_start_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:397,1
    - Dst: PNG_ROWBYTES
      Src: /src/libspectre/ghostscript/libpng/pngread.c:405,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:413,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:418,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:424,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:429,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:434,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:439,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:444,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:465,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:466,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:475,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:477,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:486,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:488,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:497,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:499,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:508,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:510,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:519,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:521,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:530,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:539,1
    - Dst: png_read_IDAT_data
      Src: /src/libspectre/ghostscript/libpng/pngread.c:543,1
    - Dst: png_read_filter_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:548,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:551,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngread.c:559,1
    - Dst: png_do_read_intrapixel
      Src: /src/libspectre/ghostscript/libpng/pngread.c:566,1
    - Dst: png_do_read_transformations
      Src: /src/libspectre/ghostscript/libpng/pngread.c:572,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:580,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:584,1
    - Dst: png_do_read_interlace
      Src: /src/libspectre/ghostscript/libpng/pngread.c:592,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:596,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:599,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:606,1
    - Dst: png_combine_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:609,1
    - Dst: png_read_finish_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:611,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 125
    argCount: 3
    argNames:
    - png_ptr
    - row
    - dsp_row
    argTypes:
    - png_structrp
    - png_bytep
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 616
    functionName: png_read_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_read_start_row
    - png_do_read_transformations
    - PNG_ROWBYTES
    - png_do_read_interlace
    - png_do_read_intrapixel
    - png_debug2
    - memcpy
    - png_combine_row
    - png_read_IDAT_data
    - png_warning
    - png_read_finish_row
    - png_read_filter_row
    linkageType: ''
    returnType: void
    signature: void png_read_row(png_structrp png_ptr, png_bytep row, png_bytep dsp_row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:652,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:665,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:672,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:680,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - png_ptr
    - row
    - display_row
    - num_rows
    argTypes:
    - png_structrp
    - png_bytepp
    - png_bytepp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 644
    functionDepth: 7
    functionLinenumber: 644
    functionLinenumberEnd: 683
    functionName: png_read_rows
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 2
    functionsReached:
    - png_debug
    - png_read_row
    linkageType: ''
    returnType: void
    signature: "void png_read_rows(png_structrp png_ptr, png_bytepp row,\n    png_bytepp
      display_row, png_uint_32 num_rows)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:706,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:714,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/pngread.c:716,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/pngread.c:727,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:736,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:740,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:753,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - png_ptr
    - image
    argTypes:
    - png_structrp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 699
    functionDepth: 7
    functionLinenumber: 699
    functionLinenumberEnd: 757
    functionName: png_read_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_start_read_image
    - png_set_interlace_handling
    - png_read_row
    - png_warning
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_read_image(png_structrp png_ptr, png_bytepp image)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:942,1
    - Dst: png_destroy_gamma_table
      Src: /src/libspectre/ghostscript/libpng/pngread.c:945,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:948,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:950,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:952,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:956,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:958,1
    - Dst: png_zfree
      Src: /src/libspectre/ghostscript/libpng/pngread.c:964,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:973,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/libpng/pngread.c:979,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:982,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:988,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:993,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 939
    functionDepth: 2
    functionLinenumber: 939
    functionLinenumberEnd: 1007
    functionName: png_read_destroy
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_zfree
    - png_destroy_gamma_table
    - png_free
    - png_debug
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void png_read_destroy(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1016,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1028,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1029,1
    - Dst: png_read_destroy
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1032,1
    - Dst: png_destroy_png_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - png_ptr_ptr
    - info_ptr_ptr
    - end_info_ptr_ptr
    argTypes:
    - png_structpp
    - png_infopp
    - png_infopp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1034
    functionName: png_destroy_read_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 7
    functionsReached:
    - png_destroy_info_struct
    - png_read_destroy
    - png_destroy_png_struct
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_destroy_read_struct(png_structpp png_ptr_ptr, png_infopp
      info_ptr_ptr,\n    png_infopp end_info_ptr_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - read_row_fn
    argTypes:
    - png_structrp
    - png_read_status_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1043
    functionName: png_set_read_status_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void png_set_read_status_fn(png_structrp png_ptr, png_read_status_ptr
      read_row_fn)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1058,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1060,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1076,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1078,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1087,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1089,1
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1097,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1099,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1107,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1109,1
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1117,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1119,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1129,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1131,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1141,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1143,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1153,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1155,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1161,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1163,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1169,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1171,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1177,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1179,1
    - Dst: png_set_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1186,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1188,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1195,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1197,1
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1203,1
    - Dst: png_app_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1205,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1213,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1219,1
    - Dst: png_free_data
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1223,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1228,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1228,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1237,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1238,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1241,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1245,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1247,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - transforms
    - params
    argTypes:
    - png_structrp
    - png_inforp
    - int
    - voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1048
    functionDepth: 8
    functionLinenumber: 1048
    functionLinenumberEnd: 1248
    functionName: png_read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 1
    functionsReached:
    - png_set_expand_16
    - png_set_packing
    - png_set_interlace_handling
    - png_set_bgr
    - png_set_invert_alpha
    - png_set_swap_alpha
    - png_set_strip_16
    - png_set_invert_mono
    - png_set_packswap
    - png_read_info
    - png_app_error
    - png_voidcast
    - png_set_scale_16
    - png_set_shift
    - png_read_end
    - png_error
    - PNG_UNUSED
    - png_set_expand
    - png_set_swap
    - png_free_data
    - png_read_image
    - png_malloc
    - png_set_strip_alpha
    - png_read_update_info
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: void
    signature: "void png_read_png(png_structrp png_ptr, png_inforp info_ptr,\n    int
      transforms, voidp params)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1310,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1316,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1321,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1325,1
    - Dst: png_malloc_warn
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1326,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1330,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1341,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1344,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1347,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - image
    argTypes:
    - png_imagep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1305
    functionDepth: 7
    functionLinenumber: 1305
    functionLinenumberEnd: 1351
    functionName: png_image_read_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_image_error
    - png_voidcast
    - png_destroy_read_struct
    - png_destroy_info_struct
    - memset
    - png_malloc_warn
    - png_create_read_struct
    linkageType: ''
    returnType: int
    signature: int png_image_read_init(png_imagep image)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1380
    functionName: png_image_format
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_image_format(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - g
    argTypes:
    - png_fixed_point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1400
    functionName: png_gamma_not_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_gamma_significant
    linkageType: ''
    returnType: int
    signature: int png_gamma_not_sRGB(png_fixed_point g)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1409,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1414,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1416,1
    - Dst: png_image_format
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1423,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1406
    functionDepth: 5
    functionLinenumber: 1406
    functionLinenumberEnd: 1468
    functionName: png_image_read_header
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_set_benign_errors
    - png_read_info
    - png_image_format
    - png_voidcast
    linkageType: ''
    returnType: int
    signature: int png_image_read_header(png_voidp argument)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_image_read_init
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1478,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1485,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1490,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - image
    - file
    argTypes:
    - png_imagep
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1471
    functionDepth: 8
    functionLinenumber: 1471
    functionLinenumberEnd: 1499
    functionName: png_image_begin_read_from_stdio
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_image_read_init
    - png_image_error
    - png_safe_execute
    linkageType: ''
    returnType: int
    signature: int png_image_begin_read_from_stdio(png_imagep image, FILE* file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1508,1
    - Dst: png_image_read_init
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1512,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1516,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1520,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1524,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1524,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1528,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - image
    - file_name
    argTypes:
    - png_imagep
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1501
    functionDepth: 8
    functionLinenumber: 1501
    functionLinenumberEnd: 1537
    functionName: png_image_begin_read_from_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_image_error
    - png_safe_execute
    - png_image_read_init
    - fopen
    - strerror
    - fclose
    linkageType: ''
    returnType: int
    signature: int png_image_begin_read_from_file(png_imagep image, const char *file_name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1545,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1556,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1562,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - png_ptr
    - out
    - need
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1568
    functionName: png_image_memory_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - memcpy
    - png_voidcast
    linkageType: ''
    returnType: void
    signature: void png_image_memory_read(png_structp png_ptr, png_bytep out, size_t
      need)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_image_read_init
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1577,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1583,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1588,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1593,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1598,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - image
    - memory
    - size
    argTypes:
    - png_imagep
    - png_const_voidp
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1570
    functionDepth: 8
    functionLinenumber: 1570
    functionLinenumberEnd: 1602
    functionName: png_image_begin_read_from_memory
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_image_read_init
    - png_image_error
    - png_voidcast
    - png_safe_execute
    linkageType: ''
    returnType: int
    signature: "int png_image_begin_read_from_memory(png_imagep image,\n    png_const_voidp
      memory, size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1644,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1651
    functionName: png_image_skip_unused_chunks
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_set_keep_unknown_chunks
    linkageType: ''
    returnType: void
    signature: void png_image_skip_unused_chunks(png_structrp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: PNG_SKIP_CHUNKS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_SKIP_CHUNKS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1656
    functionName: PNG_SKIP_CHUNKS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_SKIP_CHUNKS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1662
    functionDepth: 0
    functionLinenumber: 1662
    functionLinenumberEnd: 1663
    functionName: PNG_DIV51
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_DIV51(v8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1669,1
    - Dst: png_gamma_not_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1671,1
    - Dst: png_reciprocal
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_read_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1665
    functionDepth: 2
    functionLinenumber: 1665
    functionLinenumberEnd: 1683
    functionName: set_file_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_reciprocal
    - png_gamma_not_sRGB
    - png_gamma_significant
    linkageType: ''
    returnType: void
    signature: void set_file_encoding(png_image_read_control *display)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: set_file_encoding
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1693,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1700,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - display
    - value
    - encoding
    argTypes:
    - png_image_read_control*
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1685
    functionDepth: 3
    functionLinenumber: 1685
    functionLinenumberEnd: 1722
    functionName: decode_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_gamma_16bit_correct
    - set_file_encoding
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int decode_gamma(png_image_read_control *display, png_uint_32
      value, int encoding)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: decode_gamma
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1734,1
    - Dst: decode_gamma
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1735,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1753,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - display
    - foreground
    - foreground_encoding
    - alpha
    - background
    - encoding
    argTypes:
    - png_image_read_control*
    - png_uint_32
    - int
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1724
    functionDepth: 4
    functionLinenumber: 1724
    functionLinenumberEnd: 1756
    functionName: png_colormap_compose
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - decode_gamma
    - PNG_sRGB_FROM_LINEAR
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 png_colormap_compose(png_image_read_control *display,\n
      \   png_uint_32 foreground, int foreground_encoding, png_uint_32 alpha,\n    png_uint_32
      background, int encoding)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1773,1
    - Dst: set_file_encoding
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1781,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1793,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1794,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1795,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1805,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1806,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1807,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1854,1
    - Dst: PNG_DIV257
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1855,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1864,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1865,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1866,1
    - Dst: PNG_DIV257
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1867,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1873,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1891,1
    - Dst: PNG_IMAGE_SAMPLE_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1893,1
    - Dst: PNG_IMAGE_SAMPLE_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1899,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1946,1
    - Dst: PNG_IMAGE_SAMPLE_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1948,1
    - Dst: PNG_IMAGE_SAMPLE_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1950,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 109
    argCount: 7
    argNames:
    - display
    - ip
    - red
    - green
    - blue
    - alpha
    - encoding
    argTypes:
    - png_image_read_control*
    - png_uint_32
    - png_uint_32
    - png_uint_32
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1761
    functionDepth: 3
    functionLinenumber: 1761
    functionLinenumberEnd: 1980
    functionName: png_create_colormap_entry
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_voidcast
    - PNG_DIV257
    - set_file_encoding
    - PNG_sRGB_FROM_LINEAR
    - PNG_IMAGE_SAMPLE_CHANNELS
    - png_gamma_16bit_correct
    linkageType: ''
    returnType: void
    signature: "void png_create_colormap_entry(png_image_read_control *display,\n
      \   png_uint_32 ip, png_uint_32 red, png_uint_32 green, png_uint_32 blue,\n
      \   png_uint_32 alpha, int encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_read_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1982
    functionDepth: 4
    functionLinenumber: 1982
    functionLinenumberEnd: 1991
    functionName: make_gray_file_colormap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_colormap_entry
    linkageType: ''
    returnType: int
    signature: int make_gray_file_colormap(png_image_read_control *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_read_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1993
    functionDepth: 4
    functionLinenumber: 1993
    functionLinenumberEnd: 2002
    functionName: make_gray_colormap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_colormap_entry
    linkageType: ''
    returnType: int
    signature: int make_gray_colormap(png_image_read_control *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2038,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2044,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_read_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2005
    functionDepth: 4
    functionLinenumber: 2005
    functionLinenumberEnd: 2056
    functionName: make_ga_colormap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_colormap_entry
    linkageType: ''
    returnType: int
    signature: int make_ga_colormap(png_image_read_control *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2075,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - display
    argTypes:
    - png_image_read_control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2060
    functionDepth: 4
    functionLinenumber: 2060
    functionLinenumberEnd: 2081
    functionName: make_rgb_colormap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_colormap_entry
    linkageType: ''
    returnType: int
    signature: int make_rgb_colormap(png_image_read_control *display)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2086
    functionDepth: 0
    functionLinenumber: 2086
    functionLinenumberEnd: 2088
    functionName: PNG_RGB_INDEX
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_RGB_INDEX(r,g,b)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2093,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2127,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2192,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2222,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2234,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2247,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2271,1
    - Dst: make_gray_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2273,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2294,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2299,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2313,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2344,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2369,1
    - Dst: make_ga_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2371,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2403,1
    - Dst: make_gray_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2405,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2409,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2412,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2422,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2437,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2443,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2451,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2496,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2497,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2498,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2499,1
    - Dst: png_set_rgb_to_gray_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2524,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2542,1
    - Dst: make_ga_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2544,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2556,1
    - Dst: png_gamma_not_sRGB
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2568,1
    - Dst: make_gray_file_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2570,1
    - Dst: make_gray_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2575,1
    - Dst: PNG_DIV257
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2600,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2600,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2606,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2612,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2616,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2631,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2661,1
    - Dst: make_rgb_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2663,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2666,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2687,1
    - Dst: PNG_IMAGE_SAMPLE_SIZE
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2706,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2710,1
    - Dst: make_rgb_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2712,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2714,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2719,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2720,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2721,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2736,1
    - Dst: PNG_RGB_INDEX
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2739,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2756,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2757,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2759,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2761,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2780,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2795,1
    - Dst: make_rgb_colormap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2797,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2826,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2833,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2841,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2842,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2844,1
    - Dst: png_colormap_compose
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2846,1
    - Dst: png_create_colormap_entry
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2855,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2864,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2869,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2876,1
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2882,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2887,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2892,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2897,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2931,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2934,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 290
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2089
    functionDepth: 5
    functionLinenumber: 2089
    functionLinenumberEnd: 2940
    functionName: png_image_read_colormap
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_create_colormap_entry
    - png_set_packing
    - memcmp
    - make_ga_colormap
    - png_set_alpha_mode_fixed
    - make_gray_file_colormap
    - png_set_rgb_to_gray_fixed
    - PNG_sRGB_FROM_LINEAR
    - png_gamma_not_sRGB
    - png_set_tRNS_to_alpha
    - make_gray_colormap
    - png_colormap_compose
    - png_voidcast
    - png_set_scale_16
    - PNG_DIV257
    - png_gamma_16bit_correct
    - png_set_background_fixed
    - png_error
    - make_rgb_colormap
    - PNG_IMAGE_SAMPLE_SIZE
    - PNG_RGB_INDEX
    linkageType: ''
    returnType: int
    signature: int png_image_read_colormap(png_voidp argument)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2946,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2967,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2974,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2986,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2989,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2990,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2991,1
    - Dst: PNG_PASS_ROW_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:2992,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3004,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3009,1
    - Dst: PNG_DIV51
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3040,1
    - Dst: PNG_DIV51
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3040,1
    - Dst: PNG_RGB_INDEX
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3067,1
    - Dst: PNG_RGB_INDEX
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3083,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 86
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 2943
    functionDepth: 7
    functionLinenumber: 2943
    functionLinenumberEnd: 3130
    functionName: png_image_read_and_map
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_PASS_ROW_OFFSET
    - PNG_PASS_START_COL
    - png_voidcast
    - PNG_PASS_COLS
    - PNG_DIV51
    - PNG_PASS_START_ROW
    - png_read_row
    - PNG_PASS_COL_OFFSET
    - PNG_RGB_INDEX
    linkageType: ''
    returnType: int
    signature: int png_image_read_and_map(png_voidp argument)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3135,1
    - Dst: PNG_SKIP_CHUNKS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3144,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3151,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3153,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3205,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3221,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3223,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3233,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3233,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3236,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3238,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3250,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3254,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 54
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3132
    functionDepth: 7
    functionLinenumber: 3132
    functionLinenumberEnd: 3261
    functionName: png_image_read_colormapped
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_voidcast
    - PNG_SKIP_CHUNKS
    - png_safe_execute
    - png_set_interlace_handling
    - png_malloc
    - png_get_rowbytes
    - png_free
    - png_read_row
    - png_read_update_info
    linkageType: ''
    returnType: int
    signature: int png_image_read_colormapped(png_voidp argument)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3267,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3284,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3303,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3306,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3307,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3308,1
    - Dst: PNG_PASS_ROW_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3309,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3322,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3327,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3329,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3264
    functionDepth: 7
    functionLinenumber: 3264
    functionLinenumberEnd: 3376
    functionName: png_image_read_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_PASS_ROW_OFFSET
    - PNG_PASS_START_COL
    - png_voidcast
    - PNG_PASS_COLS
    - PNG_PASS_START_ROW
    - png_read_row
    - PNG_sRGB_FROM_LINEAR
    - PNG_PASS_COL_OFFSET
    linkageType: ''
    returnType: int
    signature: int png_image_read_composite(png_voidp argument)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3394,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3409,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3412,1
    - Dst: png_get_channels
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3414,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3415,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3420,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3433,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3450,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3455,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3462,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3465,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3466,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3467,1
    - Dst: PNG_PASS_ROW_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3468,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3482,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3488,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3509,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3527,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3533,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3549,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3574,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3601,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3604,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3605,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3606,1
    - Dst: PNG_PASS_ROW_OFFSET
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3607,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3625,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3625,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3627,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3663,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3391
    functionDepth: 7
    functionLinenumber: 3391
    functionLinenumberEnd: 3668
    functionName: png_image_read_background
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_error
    - PNG_PASS_ROW_OFFSET
    - PNG_PASS_START_COL
    - png_voidcast
    - PNG_PASS_COLS
    - png_get_channels
    - PNG_PASS_START_ROW
    - png_read_row
    - PNG_sRGB_FROM_LINEAR
    - PNG_PASS_COL_OFFSET
    linkageType: ''
    returnType: int
    signature: int png_image_read_background(png_voidp argument)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3674,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3690,1
    - Dst: png_image_format
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3694,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3705,1
    - Dst: png_set_rgb_to_gray_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3725,1
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3746,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3790,1
    - Dst: png_gamma_significant
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3791,1
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3807,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3810,1
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3834,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3853,1
    - Dst: png_set_add_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3897,1
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3908,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3917,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3940,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3958,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3963,1
    - Dst: PNG_SKIP_CHUNKS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3966,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3975,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3977,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:3998,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4024,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4032,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4052,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4054,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4064,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4064,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4067,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4069,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4077,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4077,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4080,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4082,1
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4094,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4098,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 159
    argCount: 1
    argNames:
    - argument
    argTypes:
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4105
      start: 3671
    functionDepth: 7
    functionLinenumber: 3671
    functionLinenumberEnd: 4105
    functionName: png_image_read_direct
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - png_set_expand_16
    - png_safe_execute
    - png_set_interlace_handling
    - png_set_bgr
    - png_set_swap_alpha
    - png_free
    - png_read_row
    - png_muldiv
    - png_set_alpha_mode_fixed
    - png_gamma_significant
    - png_set_rgb_to_gray_fixed
    - png_image_format
    - png_voidcast
    - PNG_SKIP_CHUNKS
    - png_set_add_alpha
    - png_set_scale_16
    - png_get_rowbytes
    - png_set_background_fixed
    - png_error
    - png_set_expand
    - png_set_swap
    - png_malloc
    - png_set_strip_alpha
    - png_read_update_info
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: int
    signature: int png_image_read_direct(png_voidp argument)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PNG_IMAGE_PIXEL_CHANNELS
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4117,1
    - Dst: PNG_IMAGE_PIXEL_COMPONENT_SIZE
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4162,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4170,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4183,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4185,1
    - Dst: png_safe_execute
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4190,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4193,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4198,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4203,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4208,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4213,1
    - Dst: png_image_error
      Src: /src/libspectre/ghostscript/libpng/pngread.c:4218,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 5
    argNames:
    - image
    - background
    - buffer
    - row_stride
    - colormap
    argTypes:
    - png_imagep
    - png_const_colorp
    - void*
    - png_int_32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4222
      start: 4107
    functionDepth: 7
    functionLinenumber: 4107
    functionLinenumberEnd: 4222
    functionName: png_image_finish_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngread.c
    functionUses: 0
    functionsReached:
    - PNG_IMAGE_PIXEL_CHANNELS
    - png_image_error
    - png_safe_execute
    - PNG_IMAGE_PIXEL_COMPONENT_SIZE
    - memset
    - png_image_free
    linkageType: ''
    returnType: int
    signature: "int png_image_finish_read(png_imagep image, png_const_colorp background,\n
      \   void *buffer, png_int_32 row_stride, void *colormap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: PNG_INTERNAL_DATA
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_DATA(type, name, array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: PNG_INTERNAL_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_FUNCTION(type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 356
    functionName: PNG_INTERNAL_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_CALLBACK(type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: PNG_FP_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FP_EXPORT(ordinal, type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: PNG_FIXED_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FIXED_EXPORT(ordinal, type, name, args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 439
    functionName: PNG_UNUSED
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_UNUSED(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: PNG_WARNING_PARAMETERS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_WARNING_PARAMETERS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - number
    - ','
    - string
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: png_warning_parameter
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_warning_parameter(p,number,string)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - number
    - ','
    - format
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 458
    functionName: png_warning_parameter_unsigned
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_warning_parameter_unsigned(p,number,format,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - number
    - ','
    - format
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 459
    functionName: png_warning_parameter_signed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_warning_parameter_signed(p,number,format,value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - p
    - ','
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 460
    functionName: png_formatted_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_formatted_warning(pp,p,message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s1
    - ','
    - s2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: png_fixed_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_fixed_error(s1,s2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 488
    functionName: png_voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 489
    functionName: png_constcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_constcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: png_aligncast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_aligncast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: png_aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: png_voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 505
    functionName: png_constcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_constcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: png_aligncast
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_aligncast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 507
    functionName: png_aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 561
    functionName: PNG_ABORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ABORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: PNG_ABORT
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ABORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: png_alignof
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_alignof(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: png_alignof
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_alignof(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: png_alignof
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_alignof(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 608
    functionName: png_isaligned
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_isaligned(ptr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: png_isaligned
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_isaligned(ptr, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 725
    functionName: PNG_COLOR_DIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COLOR_DIST(c1, c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v24
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 735
    functionName: PNG_DIV65535
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_DIV65535(v24)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v16
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: PNG_DIV257
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_DIV257(v16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pixel_bits
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 742
    functionName: PNG_ROWBYTES
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROWBYTES(pixel_bits, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pixel_bits
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 757
    functionName: PNG_TRAILBITS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_TRAILBITS(pixel_bits, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pixel_bits
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 760
    functionName: PNG_PADBITS
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PADBITS(pixel_bits, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - ideal
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: PNG_OUT_OF_RANGE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_OUT_OF_RANGE(value, ideal, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - png_ptr
    - ','
    - fixed
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 782
    functionName: png_float
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_float(png_ptr, fixed, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - png_ptr
    - ','
    - fp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 802
    functionName: png_fixed
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_fixed(png_ptr, fp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: PNG_32b
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_32b(b,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b1
    - ','
    - b2
    - ','
    - b3
    - ','
    - b4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: PNG_U32
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_U32(b1,b2,b3,b4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionName: PNG_CHUNK_FROM_STRING
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_FROM_STRING(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 891
    functionName: PNG_STRING_FROM_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_STRING_FROM_CHUNK(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 895
    functionName: PNG_CSTRING_FROM_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CSTRING_FROM_CHUNK(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 898
    functionName: PNG_CHUNK_ANCILLARY
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_ANCILLARY(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 899
    functionName: PNG_CHUNK_CRITICAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_CRITICAL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 900
    functionName: PNG_CHUNK_PRIVATE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_PRIVATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 901
    functionName: PNG_CHUNK_RESERVED
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_RESERVED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 902
    functionName: PNG_CHUNK_SAFE_TO_COPY
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_SAFE_TO_COPY(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - linear
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 952
    functionDepth: 0
    functionLinenumber: 952
    functionLinenumberEnd: 955
    functionName: PNG_sRGB_FROM_LINEAR
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_sRGB_FROM_LINEAR(linear)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1397
    functionName: PNG_INFLATE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INFLATE(pp, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1398
    functionDepth: 0
    functionLinenumber: 1398
    functionLinenumberEnd: 1399
    functionName: PNG_INFLATE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INFLATE(pp, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buffer
    - ','
    - format
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1750
    functionName: PNG_FORMAT_NUMBER
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FORMAT_NUMBER(buffer,format,number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1827
    functionDepth: 0
    functionLinenumber: 1827
    functionLinenumberEnd: 1828
    functionName: png_app_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_app_warning(pp,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1829
    functionName: png_app_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_app_error(pp,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1938
    functionDepth: 0
    functionLinenumber: 1938
    functionLinenumberEnd: 1939
    functionName: PNG_FP_IS_ZERO
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FP_IS_ZERO(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1939
    functionDepth: 0
    functionLinenumber: 1939
    functionLinenumberEnd: 1940
    functionName: PNG_FP_IS_POSITIVE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FP_IS_POSITIVE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1941
    functionName: PNG_FP_IS_NEGATIVE
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_FP_IS_NEGATIVE(state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2053
    functionName: png_control_jmp_buf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_control_jmp_buf(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2055
    functionName: png_control_jmp_buf
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngpriv.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_control_jmp_buf(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: png_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 151
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug(l,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: png_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug1(l,m,p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: png_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug2(l,m,p1,p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: png_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 151
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug(l,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: png_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug1(l,m,p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: png_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug2(l,m,p1,p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: png_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 151
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug(l,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 126
    functionName: png_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug1(l,m,p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: png_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug2(l,m,p1,p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - l
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: png_debug
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 151
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug(l, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: png_debug1
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug1(l, m, p1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - m
    - ','
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: png_debug2
    functionSourceFile: /src/libspectre/ghostscript/libpng/pngdebug.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_debug2(l, m, p1, p2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_have_vsx
      Src: /src/libspectre/ghostscript/libpng/powerpc/powerpc_init.c:78,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pp
    - bpp
    argTypes:
    - png_structp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 124
    functionName: png_init_filter_functions_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/powerpc_init.c
    functionUses: 0
    functionsReached:
    - png_have_vsx
    linkageType: ''
    returnType: void
    signature: void png_init_filter_functions_vsx(png_structp pp, unsigned int bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vec
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: vec_ld_unaligned
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vec_ld_unaligned(vec,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vec
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: vec_st_unaligned
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vec_st_unaligned(vec,data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - row_info
    - ','
    - row
    - ','
    - prev_row
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 57
    functionName: vsx_declare_common_vars
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_declare_common_vars(row_info,row,prev_row,offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:63,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:78,1
    - Dst: vec_ld_unaligned
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:79,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:81,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 102
    functionName: png_read_filter_row_up_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - vec_ld_unaligned
    - vec_add
    - vsx_declare_common_vars
    - vec_st
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_up_vsx(png_row_infop row_info, png_bytep
      row,\n                                png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vec
    - ','
    - offset
    - ','
    - bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: vsx_char_to_short
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_char_to_short(vec,offset,bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vec
    - ','
    - offset
    - ','
    - bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: vsx_short_to_char
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_short_to_char(vec,offset,bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: vsx_abs
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_abs(number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: vsx_abs
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_abs(number)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:182,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:184,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:206,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:207,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:208,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:210,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:211,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:213,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:214,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 229
    functionName: png_read_filter_row_sub4_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - vec_perm
    - vec_add
    - vsx_declare_common_vars
    - vec_st
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub4_vsx(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:239,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:241,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:263,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:264,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:265,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:267,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:268,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:270,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:271,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:273,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:274,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 293
    functionName: png_read_filter_row_sub3_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - vec_perm
    - vec_add
    - vsx_declare_common_vars
    - vec_st
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub3_vsx(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:306,1
    - Dst: vec_ld_unaligned
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:344,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:345,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:347,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:348,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:349,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:350,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:350,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:350,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:350,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:351,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:353,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:354,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:355,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:356,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:356,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:356,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:356,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:357,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:359,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:360,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:361,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:362,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:362,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:362,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:362,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:363,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:365,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 380
    functionName: png_read_filter_row_avg4_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - vec_ld_unaligned
    - vec_sub
    - vec_and
    - vec_xor
    - vec_perm
    - vec_add
    - vec_avg
    - vsx_declare_common_vars
    - vec_splat_u8
    - vec_st
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg4_vsx(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:393,1
    - Dst: vec_ld_unaligned
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:431,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:432,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:434,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:435,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:436,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:437,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:437,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:437,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:437,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:438,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:440,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:441,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:442,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:443,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:443,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:443,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:443,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:444,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:446,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:447,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:448,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:449,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:449,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:449,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:449,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:450,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:452,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:453,1
    - Dst: vec_avg
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:454,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:455,1
    - Dst: vec_and
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:455,1
    - Dst: vec_xor
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:455,1
    - Dst: vec_splat_u8
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:455,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:456,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 480
    functionName: png_read_filter_row_avg3_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - vec_ld_unaligned
    - vec_sub
    - vec_and
    - vec_xor
    - vec_perm
    - vec_add
    - vec_avg
    - vsx_declare_common_vars
    - vec_splat_u8
    - vec_st
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg3_vsx(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - t
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: if_then_else
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_then_else(c,t,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - rp
    - ','
    - pp
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - pa
    - ','
    - pb
    - ','
    - pc
    - ','
    - bpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 499
    functionName: vsx_paeth_process
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vsx_paeth_process(rp,pp,a,b,c,pa,pb,pc,bpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:511,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:528,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:535,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:540,1
    - Dst: vec_ld_unaligned
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:541,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:543,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:543,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:544,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:544,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:545,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:545,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:546,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:547,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:548,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:549,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:550,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:551,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:552,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:552,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:553,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:554,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:556,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:557,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:562,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:562,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:564,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:564,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:565,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:565,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:566,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:566,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:567,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:568,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:569,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:570,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:571,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:572,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:573,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:573,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:574,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:575,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:577,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:578,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:583,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:583,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:585,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:585,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:586,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:586,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:587,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:587,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:588,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:589,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:590,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:591,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:592,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:593,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:594,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:594,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:595,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:596,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:598,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:599,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:604,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:604,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:606,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 65
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 618
    functionName: png_read_filter_row_paeth4_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - vec_ld_unaligned
    - vsx_char_to_short
    - vsx_paeth_process
    - vec_sub
    - vec_min
    - if_then_else
    - vsx_short_to_char
    - vec_perm
    - vec_add
    - vsx_declare_common_vars
    - vec_abs
    - vec_st
    - vec_cmpeq
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth4_vsx(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev_row)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsx_declare_common_vars
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:631,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:648,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:655,1
    - Dst: vec_ld
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:660,1
    - Dst: vec_ld_unaligned
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:661,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:663,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:663,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:664,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:664,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:665,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:665,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:666,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:667,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:668,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:669,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:670,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:671,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:672,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:672,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:673,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:674,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:676,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:677,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:682,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:682,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:684,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:684,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:685,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:685,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:686,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:686,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:687,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:688,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:689,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:690,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:691,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:692,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:693,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:693,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:694,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:695,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:697,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:698,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:703,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:703,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:705,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:705,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:706,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:706,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:707,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:707,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:708,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:709,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:710,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:711,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:712,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:713,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:714,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:714,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:715,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:716,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:718,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:719,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:724,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:724,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:726,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:726,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:727,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:727,1
    - Dst: vsx_char_to_short
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:728,1
    - Dst: vec_perm
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:728,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:729,1
    - Dst: vec_sub
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:730,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:731,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:732,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:733,1
    - Dst: vec_abs
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:734,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:735,1
    - Dst: vec_min
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:735,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:736,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:737,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:739,1
    - Dst: vec_cmpeq
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:740,1
    - Dst: vec_add
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:745,1
    - Dst: vsx_short_to_char
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:745,1
    - Dst: vec_st
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:747,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:756,1
    - Dst: vsx_paeth_process
      Src: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c:762,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 78
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 764
    functionName: png_read_filter_row_paeth3_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/powerpc/filter_vsx_intrinsics.c
    functionUses: 0
    functionsReached:
    - vec_ld_unaligned
    - vsx_char_to_short
    - vsx_paeth_process
    - vec_sub
    - vec_min
    - if_then_else
    - vsx_short_to_char
    - vec_perm
    - vec_add
    - vsx_declare_common_vars
    - vec_abs
    - vec_st
    - vec_cmpeq
    - vec_ld
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth3_vsx(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev_row)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_have_msa
      Src: /src/libspectre/ghostscript/libpng/mips/mips_init.c:82,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - pp
    - bpp
    argTypes:
    - png_structp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 128
    functionName: png_init_filter_functions_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/mips_init.c
    functionUses: 0
    functionsReached:
    - png_have_msa
    linkageType: ''
    returnType: void
    signature: void png_init_filter_functions_msa(png_structp pp, unsigned int bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: png_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ptr(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: png_ptrc
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ptrc(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: png_ldr
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ldr(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: MSA_SRLI_B
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSA_SRLI_B(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psrc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 59
    functionName: LW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LW(psrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SH(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: SW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SW(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: SD
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: SD
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: MSA_SRLI_B
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSA_SRLI_B(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psrc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 130
    functionName: LW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LW(psrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SH(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: SW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SW(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 170
    functionName: SD
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 182
    functionName: SD
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psrc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 198
    functionName: LW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LW(psrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 211
    functionName: SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SH(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: SW
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SW(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - val
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 236
    functionName: SD
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SD(val, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 248
    functionName: SW_ZERO
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SW_ZERO(pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - RTYPE
    - ','
    - psrc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: LD_B
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_B(RTYPE, psrc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: LD_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RTYPE
    - ','
    - psrc
    - ','
    - stride
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: LD_B2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_B2(RTYPE, psrc, stride, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: LD_UB2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_UB2(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RTYPE
    - ','
    - psrc
    - ','
    - stride
    - ','
    - out0
    - ','
    - out1
    - ','
    - out2
    - ','
    - out3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: LD_B4
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_B4(RTYPE, psrc, stride, out0, out1, out2, out3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: LD_UB4
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LD_UB4(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - RTYPE
    - ','
    - in
    - ','
    - pdst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: ST_B
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_B(RTYPE, in, pdst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: ST_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - pdst
    - ','
    - stride
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: ST_B2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_B2(RTYPE, in0, in1, pdst, stride)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: ST_UB2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_UB2(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - pdst
    - ','
    - stride
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: ST_B4
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_B4(RTYPE, in0, in1, in2, in3, pdst, stride)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: ST_UB4
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ST_UB4(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 286
    functionName: ADD2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2(in0, in1, in2, in3, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - in4
    - ','
    - in5
    - ','
    - out0
    - ','
    - out1
    - ','
    - out2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: ADD3
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD3(in0, in1, in2, in3, in4, in5,  \\\n             out0, out1, out2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - in4
    - ','
    - in5
    - ','
    - in6
    - ','
    - in7
    - ','
    - out0
    - ','
    - out1
    - ','
    - out2
    - ','
    - out3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: ADD4
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "ADD4(in0, in1, in2, in3, in4, in5, in6, in7,  \\\n             out0,
      out1, out2, out3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: ILVR_B2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILVR_B2(RTYPE, in0, in1, in2, in3, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: ILVR_B2_SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILVR_B2_SH(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    functionName: HSUB_UB2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSUB_UB2(RTYPE, in0, in1, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: HSUB_UB2_SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HSUB_UB2_SH(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - out0
    - ','
    - out1
    - ','
    - slide_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 319
    functionName: SLDI_B2_0
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLDI_B2_0(RTYPE, in0, in1, out0, out1, slide_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: SLDI_B2_0_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLDI_B2_0_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - out0
    - ','
    - out1
    - ','
    - out2
    - ','
    - slide_val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: SLDI_B3_0
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLDI_B3_0(RTYPE, in0, in1, in2, out0, out1, out2,  slide_val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: SLDI_B3_0_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SLDI_B3_0_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: ILVEV_W2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILVEV_W2(RTYPE, in0, in1, in2, in3, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: ILVEV_W2_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ILVEV_W2_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - out0
    - ','
    - out1
    - ','
    - out2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: ADD_ABS_H3
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ABS_H3(RTYPE, in0, in1, in2, out0, out1, out2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: ADD_ABS_H3_SH
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_ABS_H3_SH(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - RTYPE
    - ','
    - in0
    - ','
    - in1
    - ','
    - in2
    - ','
    - in3
    - ','
    - mask0
    - ','
    - mask1
    - ','
    - out0
    - ','
    - out1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: VSHF_B2
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSHF_B2(RTYPE, in0, in1, in2, in3, mask0, mask1, out0, out1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 352
    functionName: VSHF_B2_UB
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VSHF_B2_UB(...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - inp0
    - ','
    - inp1
    - ','
    - inp2
    - ','
    - inp3
    - ','
    - inp4
    - ','
    - inp5
    - ','
    - out0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 366
    functionName: CMP_AND_SELECT
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMP_AND_SELECT(inp0, inp1, inp2, inp3, inp4, inp5, out0)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LD_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:378,1
    - Dst: LD_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:379,1
    - Dst: ADD4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:382,1
    - Dst: ST_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:385,1
    - Dst: LD_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:399,1
    - Dst: LD_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:400,1
    - Dst: ADD4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:402,1
    - Dst: ST_UB4
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:405,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:410,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:411,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:413,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:414,1
    - Dst: ADD3
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:416,1
    - Dst: ST_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:418,1
    - Dst: ST_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:420,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:425,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:426,1
    - Dst: ADD2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:428,1
    - Dst: ST_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:430,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:436,1
    - Dst: LD_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:437,1
    - Dst: ADD2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:439,1
    - Dst: ST_UB2
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:441,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:446,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:447,1
    - Dst: ST_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:452,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 56
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 456
    functionName: png_read_filter_row_up_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - ST_UB2
    - ADD3
    - LD_UB2
    - ST_UB
    - LD_UB4
    - ADD2
    - ST_UB4
    - ADD4
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_up_msa(png_row_infop row_info, png_bytep
      row,\n                                png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:472,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:474,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:478,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:481,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:482,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:483,1
    - Dst: ILVEV_W2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:489,1
    - Dst: __msa_pckev_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:490,1
    - Dst: ST_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:492,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 495
    functionName: png_read_filter_row_sub4_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - LW
    - __msa_sldi_b
    - __msa_pckev_d
    - ST_UB
    - ILVEV_W2_UB
    - __msa_insert_w
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub4_msa(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:513,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:515,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:519,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:522,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:523,1
    - Dst: __msa_sldi_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:524,1
    - Dst: VSHF_B2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:530,1
    - Dst: __msa_vshf_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:531,1
    - Dst: __msa_copy_s_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:532,1
    - Dst: __msa_copy_s_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:533,1
    - Dst: SD
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:535,1
    - Dst: SW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 540
    functionName: png_read_filter_row_sub3_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - SW
    - LW
    - __msa_sldi_b
    - __msa_copy_s_w
    - VSHF_B2_UB
    - SD
    - __msa_vshf_b
    - __msa_insert_w
    - __msa_copy_s_d
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub3_msa(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:554,1
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:556,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:558,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:559,1
    - Dst: MSA_SRLI_B
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:560,1
    - Dst: __msa_copy_s_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:562,1
    - Dst: SW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:563,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:568,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:570,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:573,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:574,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:575,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:576,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:578,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:580,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:582,1
    - Dst: ILVEV_W2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:585,1
    - Dst: __msa_pckev_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:586,1
    - Dst: ST_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 591
    functionName: png_read_filter_row_avg4_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - SW
    - LW
    - SLDI_B2_0_UB
    - __msa_pckev_d
    - __msa_copy_s_w
    - ILVEV_W2_UB
    - ST_UB
    - __msa_insert_w
    - MSA_SRLI_B
    - __msa_ave_u_b
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg4_msa(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:609,1
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:611,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:613,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:614,1
    - Dst: MSA_SRLI_B
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:615,1
    - Dst: __msa_copy_s_h
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:617,1
    - Dst: SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:618,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:625,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:627,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:630,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:631,1
    - Dst: SLDI_B2_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:632,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:633,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:635,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:637,1
    - Dst: __msa_ave_u_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:639,1
    - Dst: VSHF_B2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:642,1
    - Dst: __msa_vshf_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:643,1
    - Dst: __msa_copy_s_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:644,1
    - Dst: __msa_copy_s_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:645,1
    - Dst: SD
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:647,1
    - Dst: SW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 652
    functionName: png_read_filter_row_avg3_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - SW
    - LW
    - SH
    - SLDI_B2_0_UB
    - __msa_copy_s_w
    - VSHF_B2_UB
    - SD
    - __msa_vshf_b
    - __msa_insert_w
    - __msa_copy_s_h
    - __msa_copy_s_d
    - MSA_SRLI_B
    - __msa_ave_u_b
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg3_msa(png_row_infop row_info, png_bytep
      row,\n                                  png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:670,1
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:671,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:673,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:674,1
    - Dst: __msa_copy_s_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:677,1
    - Dst: SW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:679,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:687,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:689,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:691,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:693,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:694,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:695,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:696,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:697,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:699,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:700,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:701,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:702,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:704,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:705,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:706,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:707,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:709,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:710,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:711,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:712,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:714,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:715,1
    - Dst: ILVEV_W2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:717,1
    - Dst: __msa_pckev_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:718,1
    - Dst: ST_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 723
    functionName: png_read_filter_row_paeth4_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - SW
    - LW
    - ILVR_B2_SH
    - __msa_pckev_d
    - __msa_copy_s_w
    - SLDI_B3_0_UB
    - ILVEV_W2_UB
    - ST_UB
    - __msa_insert_w
    - HSUB_UB2_SH
    - ADD_ABS_H3_SH
    - CMP_AND_SELECT
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth4_msa(png_row_infop row_info,\n                                    png_bytep
      row,\n                                    png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:745,1
    - Dst: LW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:746,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:748,1
    - Dst: __msa_insert_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:749,1
    - Dst: __msa_copy_s_h
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:752,1
    - Dst: SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:754,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:764,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:766,1
    - Dst: LD_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:768,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:770,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:771,1
    - Dst: SLDI_B3_0_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:772,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:773,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:774,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:776,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:777,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:778,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:779,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:781,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:782,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:783,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:784,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:786,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:787,1
    - Dst: ILVR_B2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:788,1
    - Dst: HSUB_UB2_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:789,1
    - Dst: ADD_ABS_H3_SH
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:791,1
    - Dst: CMP_AND_SELECT
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:792,1
    - Dst: VSHF_B2_UB
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:794,1
    - Dst: __msa_vshf_b
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:795,1
    - Dst: __msa_copy_s_d
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:796,1
    - Dst: __msa_copy_s_w
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:797,1
    - Dst: SD
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:799,1
    - Dst: SW
      Src: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 54
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 804
    functionName: png_read_filter_row_paeth3_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/mips/filter_msa_intrinsics.c
    functionUses: 0
    functionsReached:
    - SW
    - LW
    - ILVR_B2_SH
    - __msa_copy_s_w
    - SLDI_B3_0_UB
    - VSHF_B2_UB
    - SD
    - __msa_vshf_b
    - __msa_insert_w
    - __msa_copy_s_h
    - HSUB_UB2_SH
    - ADD_ABS_H3_SH
    - SH
    - __msa_copy_s_d
    - CMP_AND_SELECT
    - LD_UB
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth3_msa(png_row_infop row_info,\n                                    png_bytep
      row,\n                                    png_const_bytep prev_row)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: PNG_EXPORTA
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/sym.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORTA(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: PNG_EXPORTA
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/vers.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORTA(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: PNG_EXPORTA
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/prefix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORTA(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - array
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 12
    functionDepth: 0
    functionLinenumber: 12
    functionLinenumberEnd: 14
    functionName: PNG_INTERNAL_DATA
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/intprefix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_DATA(type, name, array)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 17
    functionName: PNG_INTERNAL_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/intprefix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_FUNCTION(type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 20
    functionName: PNG_INTERNAL_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/intprefix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_INTERNAL_CALLBACK(type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 21
    functionName: PNG_EXPORTA
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/symbols.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORTA(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ordinal
    - ','
    - type
    - ','
    - name
    - ','
    - args
    - ','
    - attributes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 23
    functionName: PNG_REMOVED
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/symbols.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_REMOVED(ordinal, type, name, args, attributes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ordinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: PNG_EXPORT_LAST_ORDINAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/scripts/symbols.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_EXPORT_LAST_ORDINAL(ordinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:33,1
    - Dst: vdupq_n_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:37,1
    - Dst: vdupq_n_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:38,1
    - Dst: vdupq_n_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:39,1
    - Dst: vdupq_n_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:40,1
    - Dst: vld3q_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:48,1
    - Dst: vst4q_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 58
    functionName: png_riffle_palette_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c
    functionUses: 1
    functionsReached:
    - vld3q_u8
    - vst4q_u8
    - png_debug
    - vdupq_n_u8
    linkageType: ''
    returnType: void
    signature: void png_riffle_palette_neon(png_structrp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:71,1
    - Dst: vld1q_dup_u32
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:86,1
    - Dst: vld1q_lane_u32
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:87,1
    - Dst: vld1q_lane_u32
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:88,1
    - Dst: vld1q_lane_u32
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:89,1
    - Dst: vst1q_u32
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - png_ptr
    - row_info
    - row
    - ssp
    - ddp
    argTypes:
    - png_structrp
    - png_row_infop
    - png_const_bytep
    - png_bytepp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 102
    functionName: png_do_expand_palette_rgba8_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c
    functionUses: 1
    functionsReached:
    - vst1q_u32
    - vld1q_dup_u32
    - png_debug
    - vld1q_lane_u32
    linkageType: ''
    returnType: int
    signature: "int png_do_expand_palette_rgba8_neon(png_structrp png_ptr, png_row_infop
      row_info,\n    png_const_bytep row, png_bytepp ssp, png_bytepp ddp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:114,1
    - Dst: vld3_dup_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:126,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:127,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:128,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:129,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:130,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:131,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:132,1
    - Dst: vld3_lane_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:133,1
    - Dst: vst3_u8
      Src: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 5
    argNames:
    - png_ptr
    - row_info
    - row
    - ssp
    - ddp
    argTypes:
    - png_structrp
    - png_row_infop
    - png_const_bytep
    - png_bytepp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 147
    functionName: png_do_expand_palette_rgb8_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/palette_neon_intrinsics.c
    functionUses: 1
    functionsReached:
    - vld3_lane_u8
    - vst3_u8
    - vld3_dup_u8
    - png_debug
    linkageType: ''
    returnType: int
    signature: "int png_do_expand_palette_rgb8_neon(png_structrp png_ptr, png_row_infop
      row_info,\n    png_const_bytep row, png_bytepp ssp, png_bytepp ddp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: png_ptr
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ptr(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: png_ptrc
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ptrc(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - pointer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: png_ldr
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_ldr(type,pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c:58,1
    - Dst: vld1q_u8
      Src: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c:64,1
    - Dst: vld1q_u8
      Src: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c:65,1
    - Dst: vaddq_u8
      Src: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c:66,1
    - Dst: vst1q_u8
      Src: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - row_info
    - row
    - prev_row
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 69
    functionName: png_read_filter_row_up_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/filter_neon_intrinsics.c
    functionUses: 0
    functionsReached:
    - vaddq_u8
    - vld1q_u8
    - png_debug
    - vst1q_u8
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_up_neon(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev_row)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/arm/arm_init.c:70,1
    - Dst: png_have_neon
      Src: /src/libspectre/ghostscript/libpng/arm/arm_init.c:86,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - pp
    - bpp
    argTypes:
    - png_structp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 134
    functionName: png_init_filter_functions_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/arm/arm_init.c
    functionUses: 0
    functionsReached:
    - png_have_neon
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_init_filter_functions_neon(png_structp pp, unsigned int bpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:32,1
    - Dst: _mm_cvtsi32_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: load4
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm_cvtsi32_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i load4(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_cvtsi128_si32
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:37,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: store4
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm_cvtsi128_si32
    linkageType: ''
    returnType: void
    signature: void store4(void* p, __m128i v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:43,1
    - Dst: _mm_cvtsi32_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: load3
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm_cvtsi32_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i load3(const void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_cvtsi128_si32
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:48,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - void*
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: store3
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - memcpy
    - _mm_cvtsi128_si32
    linkageType: ''
    returnType: void
    signature: void store3(void* p, __m128i v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:61,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:63,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:67,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:68,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:69,1
    - Dst: load3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:75,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:76,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:77,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:82,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 83
    functionName: png_read_filter_row_sub3_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - store3
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - load3
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub3_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:94,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:96,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:100,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:101,1
    - Dst: store4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:102,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: png_read_filter_row_sub4_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - PNG_UNUSED
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - png_debug
    - store4
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_sub4_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:121,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:126,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:130,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:131,1
    - Dst: _mm_avg_epu8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:134,1
    - Dst: _mm_sub_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:136,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:136,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:136,1
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:137,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:138,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:139,1
    - Dst: load3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:147,1
    - Dst: load3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:148,1
    - Dst: _mm_avg_epu8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:151,1
    - Dst: _mm_sub_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:153,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:153,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:153,1
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:154,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:156,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 163
    functionName: png_read_filter_row_avg3_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi8
    - _mm_and_si128
    - _mm_avg_epu8
    - store3
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - _mm_xor_si128
    - load3
    - _mm_sub_epi8
    - png_debug
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg3_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:174,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:178,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:183,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:184,1
    - Dst: _mm_avg_epu8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:187,1
    - Dst: _mm_sub_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:189,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:189,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:189,1
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:190,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:192,1
    - Dst: store4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: png_read_filter_row_avg4_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi8
    - _mm_and_si128
    - _mm_avg_epu8
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - _mm_xor_si128
    - _mm_sub_epi8
    - png_debug
    - store4
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_avg4_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_abs_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:204,1
    - Dst: _mm_cmplt_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:209,1
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:209,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:212,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 218
    functionName: abs_i16
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - _mm_cmplt_epi16
    - _mm_sub_epi16
    - _mm_setzero_si128
    - _mm_xor_si128
    - _mm_abs_epi16
    linkageType: ''
    returnType: __m128i
    signature: __m128i abs_i16(__m128i x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_blendv_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:223,1
    - Dst: _mm_or_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:225,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:225,1
    - Dst: _mm_andnot_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - c
    - t
    - e
    argTypes:
    - __m128i
    - __m128i
    - __m128i
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: if_then_else
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 2
    functionsReached:
    - _mm_blendv_epi8
    - _mm_or_si128
    - _mm_andnot_si128
    - _mm_and_si128
    linkageType: ''
    returnType: __m128i
    signature: __m128i if_then_else(__m128i c, __m128i t, __m128i e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:246,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:250,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:258,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:258,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:259,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:259,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:263,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:266,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:269,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:271,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:272,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:273,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:275,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:275,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:278,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:278,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:279,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:279,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:283,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:284,1
    - Dst: _mm_packus_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:284,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:295,1
    - Dst: load3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:295,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:296,1
    - Dst: load3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:296,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:299,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:302,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:305,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:307,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:308,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:309,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:311,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:311,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:314,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:314,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:315,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:315,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:319,1
    - Dst: store3
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:320,1
    - Dst: _mm_packus_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 326
    functionName: png_read_filter_row_paeth3_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - if_then_else
    - _mm_packus_epi16
    - _mm_add_epi16
    - abs_i16
    - _mm_sub_epi16
    - _mm_min_epi16
    - store3
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - _mm_unpacklo_epi8
    - load3
    - png_debug
    - _mm_cmpeq_epi16
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth3_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_setzero_si128
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:345,1
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:350,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:357,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:357,1
    - Dst: _mm_unpacklo_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:358,1
    - Dst: load4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:358,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:361,1
    - Dst: _mm_sub_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:364,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:367,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:369,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:370,1
    - Dst: abs_i16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:371,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:373,1
    - Dst: _mm_min_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:373,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:376,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:376,1
    - Dst: if_then_else
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:377,1
    - Dst: _mm_cmpeq_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:377,1
    - Dst: _mm_add_epi8
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:381,1
    - Dst: store4
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:382,1
    - Dst: _mm_packus_epi16
      Src: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - row_info
    - row
    - prev
    argTypes:
    - png_row_infop
    - png_bytep
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 388
    functionName: png_read_filter_row_paeth4_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/filter_sse2_intrinsics.c
    functionUses: 0
    functionsReached:
    - if_then_else
    - _mm_packus_epi16
    - _mm_add_epi16
    - abs_i16
    - _mm_sub_epi16
    - _mm_min_epi16
    - _mm_add_epi8
    - _mm_setzero_si128
    - load4
    - _mm_unpacklo_epi8
    - store4
    - png_debug
    - _mm_cmpeq_epi16
    linkageType: ''
    returnType: void
    signature: "void png_read_filter_row_paeth4_sse2(png_row_infop row_info, png_bytep
      row,\n   png_const_bytep prev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_debug
      Src: /src/libspectre/ghostscript/libpng/intel/intel_init.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pp
    - bpp
    argTypes:
    - png_structp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 49
    functionName: png_init_filter_functions_sse2
    functionSourceFile: /src/libspectre/ghostscript/libpng/intel/intel_init.c
    functionUses: 0
    functionsReached:
    - png_debug
    linkageType: ''
    returnType: void
    signature: void png_init_filter_functions_sse2(png_structp pp, unsigned int bpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:60,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:62,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:64,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 4
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: ~PngObjectHandler()
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc
    functionUses: 0
    functionsReached:
    - png_free
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void ~PngObjectHandler()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<BufState*>
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:72,1
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:72,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:74,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: user_read_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc
    functionUses: 0
    functionsReached:
    - png_error
    - png_get_io_ptr
    - memcpy
    - static_cast<BufState*>
    linkageType: ''
    returnType: void
    signature: void user_read_data(png_structp png_ptr, png_bytep data, size_t length)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:92,1
    - Dst: std::vector::data
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:92,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:103,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:109,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:115,1
    - Dst: png_set_crc_action
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:121,1
    - Dst: png_set_option
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:123,1
    - Dst: BufState::BufState
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:127,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:130,1
    - Dst: png_set_sig_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:131,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:133,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:133,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:139,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:142,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:142,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:151,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:165,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:166,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:167,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:168,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:169,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:171,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:173,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:175,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:176,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:181,1
    - Dst: static_cast<png_bytep>
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:182,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc:186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 86
    functionDepth: 7
    functionLinenumber: 86
    functionLinenumberEnd: 190
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc
    functionUses: 1
    functionsReached:
    - png_set_packing
    - png_set_sig_bytes
    - png_set_interlace_handling
    - png_read_row
    - png_sig_cmp
    - png_set_read_fn
    - png_create_read_struct
    - png_set_tRNS_to_alpha
    - png_read_info
    - static_cast<png_bytep>
    - png_set_option
    - std::vector::data
    - png_set_scale_16
    - png_get_rowbytes
    - png_get_IHDR
    - png_read_end
    - png_create_info_struct
    - png_jmpbuf
    - png_set_expand
    - png_malloc
    - setjmp
    - png_read_update_info
    - png_set_crc_action
    - png_set_gray_to_rgb
    - BufState::BufState
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:122,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:123,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: color_of
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strcmp
    linkageType: ''
    returnType: struct color
    signature: 'struct color *

      color_of(const char *arg)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:129,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:135,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:141,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: width_of
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strtod
    - strcmp
    linkageType: ''
    returnType: double
    signature: double width_of(const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtod
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:149,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:154,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: coordinate_of
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strtod
    linkageType: ''
    returnType: double
    signature: double coordinate_of(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bicubic
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: sum
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - bicubic
    linkageType: ''
    returnType: define
    signature: define sum(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bicubic
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:249,1
    - Dst: sum
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: results
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - sum
    - bicubic
    linkageType: ''
    returnType: define
    signature: define results(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: BICUBIC1
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BICUBIC1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: BICUBIC2
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BICUBIC2(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct arg*::check_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:301,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:317,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:326,1
    - Dst: struct arg*::inside_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 340
    functionName: alpha_calc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - struct arg*::check_fn
    - abs
    - struct arg*::inside_fn
    linkageType: ''
    returnType: double
    signature: double alpha_calc(const struct arg *arg, double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 363
    functionName: square_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int square_check(double x, double y, double x1, double y1, double x2,
      double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: square_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 369
    functionName: inside_square_filled
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - square_check
    linkageType: ''
    returnType: int
    signature: int inside_square_filled(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:387,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:389,1
    - Dst: square_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:391,1
    - Dst: square_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - arg
    - x
    - y
    - w
    argTypes:
    - struct arg*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 405
    functionName: square_check_line
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fabs
    - square_check
    linkageType: ''
    returnType: int
    signature: int square_check_line(const struct arg *arg, double x, double y, double
      w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: square_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: check_square_filled
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - square_check_line
    linkageType: ''
    returnType: int
    signature: int check_square_filled(const struct arg *arg, double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: square_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 425
    functionName: inside_square
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - square_check_line
    linkageType: ''
    returnType: int
    signature: int inside_square(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: square_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:434,1
    - Dst: square_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 450
    functionName: check_square
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - square_check_line
    linkageType: ''
    returnType: int
    signature: int check_square(const struct arg *arg, double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: square_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 480
    functionName: circle_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - square_check
    linkageType: ''
    returnType: int
    signature: int circle_check(double x, double y, double x1, double y1, double x2,
      double y2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circle_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: inside_circle_filled
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - circle_check
    linkageType: ''
    returnType: int
    signature: int inside_circle_filled(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:496,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:498,1
    - Dst: circle_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:500,1
    - Dst: circle_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - arg
    - x
    - y
    - w
    argTypes:
    - struct arg*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 514
    functionName: circle_check_line
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fabs
    - circle_check
    linkageType: ''
    returnType: int
    signature: int circle_check_line(const struct arg *arg, double x, double y, double
      w)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circle_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 520
    functionName: check_circle_filled
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - circle_check_line
    linkageType: ''
    returnType: int
    signature: int check_circle_filled(const struct arg *arg, double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: circle_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 3
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: inside_circle
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - circle_check_line
    linkageType: ''
    returnType: int
    signature: int inside_circle(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: circle_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:534,1
    - Dst: circle_check_line
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 547
    functionName: check_circle
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - circle_check_line
    linkageType: ''
    returnType: int
    signature: int check_circle(const struct arg *arg, double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 8
    argNames:
    - x
    - y
    - x1
    - y1
    - x2
    - y2
    - w
    - expand
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 598
    functionName: line_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int line_check(double x, double y, double x1, double y1, double x2,
      double y2,\n   double w, double expand)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: line_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 604
    functionName: inside_line
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - line_check
    linkageType: ''
    returnType: int
    signature: int inside_line(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: line_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:612,1
    - Dst: line_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:619,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - x
    - y
    argTypes:
    - struct arg*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 627
    functionName: check_line
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 6
    functionsReached:
    - line_check
    linkageType: ''
    returnType: int
    signature: int check_line(const struct arg *arg, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:658,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:665,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:667,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:670,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - width
    - f
    argTypes:
    - char*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 672
    functionName: shape_of
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - strcmp
    linkageType: ''
    returnType: shape_fn_ptr
    signature: shape_fn_ptr shape_of(const char *arg, double width, int f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:678,1
    - Dst: width_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:679,1
    - Dst: shape_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:680,1
    - Dst: shape_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:681,1
    - Dst: coordinate_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:682,1
    - Dst: coordinate_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:683,1
    - Dst: coordinate_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:684,1
    - Dst: coordinate_of
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - arg
    - argv
    argTypes:
    - struct arg*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: parse_arg
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - shape_of
    - width_of
    - coordinate_of
    - color_of
    linkageType: ''
    returnType: void
    signature: void parse_arg(struct arg *arg, const char **argv/*7 arguments*/)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:693,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:698,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:699,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - name
    - str
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 700
    functionName: read_wh
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 0
    functionsReached:
    - strtoul
    - fprintf
    - exit
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 read_wh(const char *name, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: alpha_calc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:715,1
    - Dst: round
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:737,1
    - Dst: round
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:738,1
    - Dst: round
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:739,1
    - Dst: round
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:740,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - p
    - args
    - nargs
    - x
    - y
    argTypes:
    - png_uint_16p
    - struct arg*
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 745
    functionName: pixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 19
    functionsReached:
    - round
    - alpha_calc
    linkageType: ''
    returnType: void
    signature: void pixel(png_uint_16p p, struct arg *args, int nargs, double x, double
      y)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:753,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:767,1
    - Dst: read_wh
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:770,1
    - Dst: read_wh
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:771,1
    - Dst: parse_arg
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:779,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:783,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:795,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:801,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:801,1
    - Dst: pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:814,1
    - Dst: png_image_write_to_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:818,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:821,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:826,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:828,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:832,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:833,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c:839,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 880
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/genpng.c
    functionUses: 2
    functionsReached:
    - strcmp
    - parse_arg
    - read_wh
    - malloc
    - png_image_write_to_stdio
    - fprintf
    - memset
    - PNG_IMAGE_SIZE
    - free
    - pixel
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: RESULT_STRICT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESULT_STRICT(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: RESULT_RELAXED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESULT_RELAXED(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: RANGE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANGE(lo,hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: VLNAME
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLNAME(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: VLSIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLSIZE(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - oname
    - ','
    - name
    - ','
    - type
    - ','
    - search
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: VL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VL(oname, name, type, search)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - oname
    - ','
    - name
    - ','
    - search
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: VLO
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLO(oname, name, search)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: VLC
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLC(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - search
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: VLL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VLL(name, search)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ct
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 389
    functionName: cts
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      cts(int ct)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 503
    functionName: display_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void display_init(struct display *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:509,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: display_clean_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - fclose
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void display_clean_read(struct display *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:526,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 4
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: display_clean_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - png_destroy_write_struct
    - fclose
    linkageType: ''
    returnType: void
    signature: void display_clean_write(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_read
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:536,1
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:537,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 555
    functionName: display_clean
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - display_clean_write
    - free
    - display_clean_read
    linkageType: ''
    returnType: void
    signature: void display_clean(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_clean
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 562
    functionName: display_destroy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - display_clean
    linkageType: ''
    returnType: void
    signature: void display_destroy(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:568,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:572,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pp
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 577
    functionName: get_dp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: struct display
    signature: 'struct display *

      get_dp(png_structp pp)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:617,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:620,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:622,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:623,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:624,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:626,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:634,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:637,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 3
    argNames:
    - dp
    - level
    - fmt
    argTypes:
    - struct display*
    - error_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 639
    functionName: display_log
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - va_start
    - fputc
    - va_end
    - vfprintf
    - fprintf
    - longjmp
    - exit
    linkageType: ''
    returnType: void
    signature: void display_log(struct display *dp, error_level level, const char
      *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_text
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:665,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:669,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:669,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:672,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:675,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 679
    functionName: text_stash
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - voidcast
    - malloc
    - memcpy
    - png_get_text
    - display_log
    linkageType: ''
    returnType: void
    signature: void text_stash(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 682
    functionName: text_stash
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_stash(dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:688,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 689
    functionName: text_restore
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - png_set_text
    linkageType: ''
    returnType: void
    signature: void text_restore(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 692
    functionName: text_restore
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_restore(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 695
    functionName: text_stash
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_stash(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: text_restore
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_restore(dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:721,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:727,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:729,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - dp
    - opt
    - len
    argTypes:
    - struct display*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 730
    functionName: option_index
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strncmp
    - abort
    - display_log
    linkageType: ''
    returnType: png_byte
    signature: png_byte option_index(struct display *dp, const char *opt, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 734
    functionName: OPTIND
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIND(dp, name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: option_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:738,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dp
    - opt
    - value
    argTypes:
    - struct display*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: get_option
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strlen
    - option_index
    linkageType: ''
    returnType: int
    signature: int get_option(struct display *dp, const char *opt, int *value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:764,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:768,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:771,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - dp
    - sp
    - opt
    - entry_name
    argTypes:
    - struct display*
    - unsigned int
    - png_byte
    - char*
    assertStmts:
    - condition: (offset+add < (int)/*SAFE*/sizeof dp->curr)
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 775
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 775
    functionName: set_opt_string_
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - assert
    - sprintf
    - display_log
    linkageType: ''
    returnType: int
    signature: "int set_opt_string_(struct display *dp, unsigned int sp, png_byte
      opt,\n      const char *entry_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_opt_string_
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dp
    - sp
    argTypes:
    - struct display*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: set_opt_string
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - set_opt_string_
    linkageType: ''
    returnType: void
    signature: void set_opt_string(struct display *dp, unsigned int sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_opt_string_
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dp
    - opt
    - entry_name
    argTypes:
    - struct display*
    - png_byte
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 785
    functionDepth: 2
    functionLinenumber: 785
    functionLinenumberEnd: 810
    functionName: record_opt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - set_opt_string_
    linkageType: ''
    returnType: void
    signature: void record_opt(struct display *dp, png_byte opt, const char *entry_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - dp
    - opt
    - entry
    argTypes:
    - struct display*
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 823
    functionName: opt_list_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int opt_list_end(struct display *dp, png_byte opt, png_byte entry)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:835,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:841,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:860,1
    - Dst: set_opt_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:876,1
    - Dst: opt_list_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:881,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:888,1
    - Dst: text_stash
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:902,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - dp
    - sp
    - opt
    - search
    argTypes:
    - struct display*
    - unsigned int
    - png_byte
    - int
    assertStmts:
    - condition: (sp == dp->tsp && sp < SL)
      pos:
        line_end: 834
        line_start: 834
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (entry > 0U)
      pos:
        line_end: 840
        line_start: 840
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: "(entry+1 < options[opt].value_count &&\n             options[opt].values[entry+1].name
        == range_hi)"
      pos:
        line_end: 860
        line_start: 859
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 903
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 903
    functionName: push_opt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - assert
    - opt_list_end
    - text_stash
    - display_log
    - set_opt_string
    linkageType: ''
    returnType: void
    signature: void push_opt(struct display *dp, unsigned int sp, png_byte opt, int
      search)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:919,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:923,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:925,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:948,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:954,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:965,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:979,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1007,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1018,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1030,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1105,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1111,1
    - Dst: set_opt_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1124,1
    - Dst: opt_list_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1126,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 97
    argCount: 2
    argNames:
    - dp
    - sp
    argTypes:
    - struct display*
    - unsigned int
    assertStmts:
    - condition: (sp+1U == dp->tsp && !dp->stack[sp].end)
      pos:
        line_end: 918
        line_start: 918
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (entry+1U < options[opt].value_count)
      pos:
        line_end: 922
        line_start: 922
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (best_size < MAX_SIZE)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (hi > val)
      pos:
        line_end: 953
        line_start: 953
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (entry_name != NULL)
      pos:
        line_end: 924
        line_start: 924
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (val > lo+1)
      pos:
        line_end: 964
        line_start: 964
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (lo_size < MAX_SIZE && hi_size < MAX_SIZE)
      pos:
        line_end: 978
        line_start: 978
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (lo < val && val < hi)
      pos:
        line_end: 1006
        line_start: 1006
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (lo < val && val < hi)
      pos:
        line_end: 1017
        line_start: 1017
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (hi > lo+3)
      pos:
        line_end: 1029
        line_start: 1029
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (val != dp->stack[sp].best_val)
      pos:
        line_end: 1110
        line_start: 1110
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (hi > lo+1)
      pos:
        line_end: 1104
        line_start: 1104
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 1131
      start: 905
    functionDepth: 3
    functionLinenumber: 905
    functionLinenumberEnd: 1131
    functionName: next_opt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - opt_list_end
    - assert
    - set_opt_string
    linkageType: ''
    returnType: void
    signature: void next_opt(struct display *dp, unsigned int sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dp
    - sp
    argTypes:
    - struct display*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1133
    functionDepth: 0
    functionLinenumber: 1133
    functionLinenumberEnd: 1158
    functionName: compare_option
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_option(const struct display *dp, unsigned int sp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1165,1
    - Dst: push_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1188,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1201,1
    - Dst: compare_option
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1205,1
    - Dst: next_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 3
    argNames:
    - dp
    - opt
    - search
    argTypes:
    - struct display*
    - png_byte
    - int
    assertStmts:
    - condition: (sp >= dp->nsp)
      pos:
        line_end: 1164
        line_start: 1164
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (dp->write_size > 0U && dp->write_size < MAX_SIZE)
      pos:
        line_end: 1200
        line_start: 1200
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 1222
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1222
    functionName: advance_opt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - next_opt
    - compare_option
    - push_opt
    - assert
    linkageType: ''
    returnType: int
    signature: int advance_opt(struct display *dp, png_byte opt, int search)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: advance_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1238,1
    - Dst: record_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1241,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - dp
    - opt
    - value
    - record
    argTypes:
    - struct display*
    - png_byte
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1224
    functionDepth: 5
    functionLinenumber: 1224
    functionLinenumberEnd: 1249
    functionName: getallopts_
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - record_opt
    - advance_opt
    linkageType: ''
    returnType: int
    signature: int getallopts_(struct display *dp, png_byte opt, int *value, int record)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getallopts_
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1254,1
    - Dst: option_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1254,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dp
    - opt_str
    - value
    argTypes:
    - struct display*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1251
    functionDepth: 6
    functionLinenumber: 1251
    functionLinenumberEnd: 1255
    functionName: getallopts
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - getallopts_
    - strlen
    - option_index
    linkageType: ''
    returnType: int
    signature: int getallopts(struct display *dp, const char *opt_str, int *value)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: option_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1262,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1262,1
    - Dst: getallopts_
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1269,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1276,1
    - Dst: advance_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1280,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1282,1
    - Dst: advance_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1289,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1292,1
    - Dst: advance_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1306,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1309,1
    - Dst: advance_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1312,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1319,1
    - Dst: record_opt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 3
    argNames:
    - dp
    - opt_str
    - value
    argTypes:
    - struct display*
    - char*
    - int*
    assertStmts:
    - condition: (0=="reached")
      pos:
        line_end: 1318
        line_start: 1318
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 1327
      start: 1257
    functionDepth: 6
    functionLinenumber: 1257
    functionLinenumberEnd: 1327
    functionName: getsearchopts
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strlen
    - assert
    - advance_opt
    - option_index
    - OPTIND
    - record_opt
    - getallopts_
    linkageType: ''
    returnType: int
    signature: int getsearchopts(struct display *dp, const char *opt_str, int *value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1341,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1357,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1366,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1369,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - dp
    - opt
    - str
    - len
    argTypes:
    - struct display*
    - png_byte
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1370
    functionName: find_val
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strtol
    - abort
    - display_log
    linkageType: ''
    returnType: int
    signature: int find_val(struct display *dp, png_byte opt, const char *str, size_t
      len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1375,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1379,1
    - Dst: option_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1394,1
    - Dst: find_val
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1413,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1413,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1422,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1424,1
    - Dst: find_val
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1452,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1477,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - dp
    - arg
    argTypes:
    - struct display*
    - char*
    assertStmts:
    - condition: (dp->errset == 0)
      pos:
        line_end: 1374
        line_start: 1374
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 1496
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1496
    functionName: opt_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - find_val
    - strlen
    - assert
    - option_index
    - strncmp
    - abort
    - display_log
    linkageType: ''
    returnType: int
    signature: int opt_check(struct display *dp, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1503,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1505,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1506,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dp
    - timer
    argTypes:
    - struct display*
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1509
    functionName: set_timer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - strerror
    - OPTIND
    - display_log
    linkageType: ''
    returnType: void
    signature: void set_timer(struct display *dp, struct timespec *timer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1514,1
    - Dst: set_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - dp
    - what
    argTypes:
    - struct display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1516
    functionName: start_timer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - set_timer
    - OPTIND
    linkageType: ''
    returnType: void
    signature: void start_timer(struct display *dp, int what)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1521,1
    - Dst: set_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - dp
    - what
    argTypes:
    - struct display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1518
    functionDepth: 2
    functionLinenumber: 1518
    functionLinenumberEnd: 1563
    functionName: end_timer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - set_timer
    - OPTIND
    linkageType: ''
    returnType: void
    signature: void end_timer(struct display *dp, int what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - what
    - t
    argTypes:
    - char*
    - struct timespec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1565
    functionDepth: 0
    functionLinenumber: 1565
    functionLinenumberEnd: 1569
    functionName: print_time
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_time(const char *what, struct timespec t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - what
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1571
    functionDepth: 0
    functionLinenumber: 1571
    functionLinenumberEnd: 1572
    functionName: start_timer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: start_timer(dp, what)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - what
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1573
    functionName: end_timer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: end_timer(dp, what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1582,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1583
    functionName: checkdir
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - stat
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: int checkdir(const char *pathname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1602,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1606,1
    - Dst: access
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1610,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1611,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1612,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1621,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1622,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - dp
    - pathname
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1627
    functionName: isdir
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - access
    - stat
    - S_ISDIR
    - strerror
    - display_log
    linkageType: ''
    returnType: int
    signature: int isdir(struct display *dp, const char *pathname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1636,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1640,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1644,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1649,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1651,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1664,1
    - Dst: isdir
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1666,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1667,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1674,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1680,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - dp
    - dir
    - infile
    argTypes:
    - struct display*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1629
    functionDepth: 2
    functionLinenumber: 1629
    functionLinenumberEnd: 1682
    functionName: makename
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strlen
    - isdir
    - display_log
    - memcpy
    linkageType: ''
    returnType: void
    signature: void makename(struct display *dp, const char *dir, const char *infile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1688,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1692,1
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - warning
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1693
    functionName: display_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - get_dp
    - display_log
    linkageType: ''
    returnType: void
    signature: void display_warning(png_structp pp, png_const_charp warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1698,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - error
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1701
    functionName: display_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - get_dp
    - display_log
    linkageType: ''
    returnType: void
    signature: void display_error(png_structp pp, png_const_charp error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1709,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1724,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1724,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dp
    - filename
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1703
    functionDepth: 0
    functionLinenumber: 1703
    functionLinenumberEnd: 1725
    functionName: display_start_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strerror
    - display_log
    - fopen
    linkageType: ''
    returnType: void
    signature: void display_start_read(struct display *dp, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1730,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1732,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1737,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1738,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1740,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1741,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pp
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1727
    functionDepth: 0
    functionLinenumber: 1727
    functionLinenumberEnd: 1743
    functionName: read_function
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - fread
    - get_dp
    - feof
    - strerror
    - display_log
    linkageType: ''
    returnType: void
    signature: void read_function(png_structp pp, png_bytep data, size_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_read
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1748,1
    - Dst: display_start_read
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1749,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1751,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1754,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1757,1
    - Dst: png_set_check_for_invalid_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1762,1
    - Dst: png_set_check_for_invalid_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1769,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1775,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1777,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1780,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1783,1
    - Dst: png_set_user_limits
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1789,1
    - Dst: start_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1793,1
    - Dst: png_read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1794,1
    - Dst: end_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1795,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1796,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1797,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1798,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1799,1
    - Dst: png_get_channels
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1800,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1806,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1809,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1813,1
    - Dst: png_get_palette_max
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1821,1
    - Dst: png_get_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1825,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1827,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1846,1
    - Dst: display_clean_read
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1851,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 2
    argNames:
    - dp
    - filename
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1745
    functionDepth: 9
    functionLinenumber: 1745
    functionLinenumberEnd: 1853
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 2
    functionsReached:
    - start_timer
    - png_read_png
    - png_get_PLTE
    - png_set_benign_errors
    - display_start_read
    - png_get_image_width
    - png_set_user_limits
    - png_get_channels
    - png_set_read_fn
    - png_get_bit_depth
    - png_create_read_struct
    - end_timer
    - png_get_color_type
    - display_log
    - png_get_image_height
    - png_set_check_for_invalid_index
    - display_clean_read
    - png_get_rowbytes
    - png_get_palette_max
    - png_error
    - png_create_info_struct
    - png_set_PLTE
    - png_set_keep_unknown_chunks
    linkageType: ''
    returnType: void
    signature: void read_png(struct display *dp, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1858,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1868,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1878,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - dp
    - filename
    argTypes:
    - struct display*
    - char*
    assertStmts:
    - condition: (dp->fp == NULL)
      pos:
        line_end: 1857
        line_start: 1857
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 1881
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1881
    functionName: display_start_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - display_log
    - strerror
    - assert
    - fopen
    linkageType: ''
    returnType: void
    signature: void display_start_write(struct display *dp, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1886,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1891,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1895,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1899,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1900,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pp
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1901
    functionName: write_function
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - png_error
    - get_dp
    - fwrite
    - strerror
    - display_log
    linkageType: ''
    returnType: void
    signature: void write_function(png_structp pp, png_bytep data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1917
    functionDepth: 0
    functionLinenumber: 1917
    functionLinenumberEnd: 1927
    functionName: search_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void search_compression(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1923
    functionDepth: 0
    functionLinenumber: 1923
    functionLinenumberEnd: 1925
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(name, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1929
    functionDepth: 0
    functionLinenumber: 1929
    functionLinenumberEnd: 1938
    functionName: set_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_compression(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1934
    functionDepth: 0
    functionLinenumber: 1934
    functionLinenumberEnd: 1936
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(name, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1941
    functionDepth: 0
    functionLinenumber: 1941
    functionLinenumberEnd: 1950
    functionName: set_ICC_profile_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_ICC_profile_compression(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1948
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(name, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1952
    functionDepth: 0
    functionLinenumber: 1952
    functionLinenumberEnd: 1953
    functionName: set_ICC_profile_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_ICC_profile_compression(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1956
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1956
    functionName: search_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: search_compression(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1956
    functionDepth: 0
    functionLinenumber: 1956
    functionLinenumberEnd: 1957
    functionName: set_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_compression(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1957
    functionDepth: 0
    functionLinenumber: 1957
    functionLinenumberEnd: 1958
    functionName: set_ICC_profile_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_ICC_profile_compression(dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1961
    functionDepth: 0
    functionLinenumber: 1961
    functionLinenumberEnd: 1970
    functionName: set_text_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_text_compression(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1966
    functionDepth: 0
    functionLinenumber: 1966
    functionLinenumberEnd: 1968
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(name, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1972
    functionDepth: 0
    functionLinenumber: 1972
    functionLinenumberEnd: 1973
    functionName: set_text_compression
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_text_compression(dp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1978,1
    - Dst: display_start_write
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1979,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1981,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1985,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1988,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1991,1
    - Dst: png_set_check_for_invalid_index
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:1995,1
    - Dst: text_restore
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2002,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2005,1
    - Dst: png_set_user_limits
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2011,1
    - Dst: getallopts
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2025,1
    - Dst: png_set_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2026,1
    - Dst: getallopts
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2028,1
    - Dst: png_set_ICC_profile_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2029,1
    - Dst: getallopts
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2031,1
    - Dst: png_set_text_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2032,1
    - Dst: search_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2036,1
    - Dst: set_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2038,1
    - Dst: set_ICC_profile_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2039,1
    - Dst: set_text_compression
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2040,1
    - Dst: get_option
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2046,1
    - Dst: png_set_IDAT_size
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2047,1
    - Dst: get_option
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2055,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2056,1
    - Dst: start_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2062,1
    - Dst: png_write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2063,1
    - Dst: end_timer
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2064,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2071,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2072,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2073,1
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2079,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - dp
    - destname
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 1975
    functionDepth: 8
    functionLinenumber: 1975
    functionLinenumberEnd: 2081
    functionName: write_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 5
    functionsReached:
    - png_set_write_fn
    - png_write_png
    - start_timer
    - png_set_benign_errors
    - get_option
    - set_text_compression
    - fclose
    - png_set_ICC_profile_compression
    - png_set_user_limits
    - end_timer
    - getallopts
    - display_log
    - png_set_compression
    - display_clean_write
    - png_set_IDAT_size
    - search_compression
    - png_set_check_for_invalid_index
    - display_start_write
    - strerror
    - png_create_write_struct
    - set_ICC_profile_compression
    - png_set_keep_unknown_chunks
    - set_compression
    - text_restore
    - png_set_filter
    - png_set_text_compression
    linkageType: ''
    returnType: void
    signature: void write_png(struct display *dp, const char *destname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VLSIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2090,1
    - Dst: VLNAME
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2094,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2096,1
    - Dst: VLNAME
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2097,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2099,1
    - Dst: VLNAME
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2099,1
    - Dst: VLNAME
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2100,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts:
    - condition: (i > 1)
      pos:
        line_end: 2095
        line_start: 2095
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (VLNAME(windowBits_IDAT)[--i].name == range_lo)
      pos:
        line_end: 2098
        line_start: 2098
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 2108
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2108
    functionName: set_windowBits_hi
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - OPTIND
    - assert
    - VLNAME
    - VLSIZE
    linkageType: ''
    returnType: void
    signature: void set_windowBits_hi(struct display *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_option
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2131,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts:
    - condition: (0 && "unreached")
      pos:
        line_end: 2139
        line_start: 2139
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 2141
      start: 2110
    functionDepth: 1
    functionLinenumber: 2110
    functionLinenumberEnd: 2141
    functionName: better_options
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - compare_option
    - assert
    linkageType: ''
    returnType: int
    signature: int better_options(const struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2146,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2147,1
    - Dst: cts
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2149,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts:
    - condition: (dp->filename != NULL)
      pos:
        line_end: 2145
        line_start: 2145
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 2152
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2152
    functionName: print_search_results
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - cts
    - assert
    linkageType: ''
    returnType: void
    signature: void print_search_results(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: print_search_results
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dp
    - log_depth
    argTypes:
    - struct display*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2164
      start: 2154
    functionDepth: 2
    functionLinenumber: 2154
    functionLinenumberEnd: 2164
    functionName: log_search
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - print_search_results
    linkageType: ''
    returnType: void
    signature: void log_search(struct display *dp, unsigned int log_depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2176,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2177,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2178,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2180,1
    - Dst: set_windowBits_hi
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2186,1
    - Dst: get_option
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2192,1
    - Dst: isdir
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2201,1
    - Dst: makename
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2203,1
    - Dst: access
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2207,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2208,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2209,1
    - Dst: write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2217,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2220,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2226,1
    - Dst: log_search
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2229,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2235,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2236,1
    - Dst: write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2246,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2251,1
    - Dst: better_options
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2254,1
    - Dst: rename
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2256,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2257,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2258,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2260,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2264,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2265,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2266,1
    - Dst: log_search
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2268,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 3
    argNames:
    - dp
    - filename
    - destname
    argTypes:
    - struct display*
    - char*
    - char*
    assertStmts:
    - condition: (dp->curr[0] == ' ' && dp->tsp > 0)
      pos:
        line_end: 2225
        line_start: 2225
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    - condition: (dp->csp > 0)
      pos:
        line_end: 2250
        line_start: 2250
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    constantsTouched: []
    func_position:
      end: 2275
      start: 2166
    functionDepth: 3
    functionLinenumber: 2166
    functionLinenumberEnd: 2275
    functionName: cp_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - strcat
    - read_png
    - access
    - log_search
    - makename
    - unlink
    - write_png
    - strcpy
    - set_windowBits_hi
    - assert
    - get_option
    - rename
    - isdir
    - strerror
    - better_options
    - display_log
    linkageType: ''
    returnType: void
    signature: void cp_one_file(struct display *dp, const char *filename, const char
      *destname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2283,1
    - Dst: cp_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2288,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dp
    - file
    - dest
    argTypes:
    - struct display*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2302
      start: 2277
    functionDepth: 4
    functionLinenumber: 2277
    functionLinenumberEnd: 2302
    functionName: cppng
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 0
    functionsReached:
    - setjmp
    - cp_one_file
    - display_log
    linkageType: ''
    returnType: int
    signature: int cppng(struct display *dp, const char *file, const char *gv dest)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2311,1
    - Dst: opt_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2315,1
    - Dst: checkdir
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2323,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2325,1
    - Dst: cppng
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2351,1
    - Dst: print_search_results
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2367,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2372,1
    - Dst: cts
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2374,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2376,1
    - Dst: RESULT_STRICT
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2383,1
    - Dst: RESULT_RELAXED
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2383,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2392,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2395,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2398,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2402,1
    - Dst: print_time
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2403,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2405,1
    - Dst: print_time
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2406,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2409,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2410,1
    - Dst: display_clean
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2414,1
    - Dst: display_destroy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2423,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2429,1
    - Dst: print_time
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2430,1
    - Dst: OPTIND
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2432,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2434,1
    - Dst: print_time
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2435,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2439,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2304
    functionDepth: 5
    functionLinenumber: 2304
    functionLinenumberEnd: 2445
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 2
    functionsReached:
    - checkdir
    - RESULT_RELAXED
    - display_destroy
    - printf
    - print_search_results
    - cppng
    - cts
    - RESULT_STRICT
    - print_time
    - fprintf
    - OPTIND
    - opt_check
    - fflush
    - display_clean
    - display_init
    - putchar
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c:2450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2447
    functionDepth: 0
    functionLinenumber: 2447
    functionLinenumberEnd: 2452
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngcp.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:54,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:81,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:93,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:113,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:127,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:137,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c:143,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 164
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/png-fix-itxt.c
    functionUses: 2
    functionsReached:
    - putchar
    - crc32
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: adler32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:22,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:23,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:28,1
    - Dst: adler32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:39,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:40,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:43,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:47,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:56,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:57,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:57,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:57,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    - Dst: u16
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:58,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ip
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 18
    functionDepth: 1
    functionLinenumber: 18
    functionLinenumberEnd: 62
    functionName: read_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c
    functionUses: 0
    functionsReached:
    - printf
    - u32
    - crc32
    - u16
    - ferror
    - getc
    - adler32
    linkageType: ''
    returnType: int
    signature: int read_one_file(FILE *ip, const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:68,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:76,1
    - Dst: read_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:78,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:81,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:82,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:83,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:86,1
    - Dst: read_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:92,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:96,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 102
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/checksum-icc.c
    functionUses: 2
    functionsReached:
    - read_one_file
    - printf
    - fprintf
    - fopen
    - perror
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/sRGB.h:26,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 29
    functionName: sRGB_from_linear
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/sRGB.h
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double sRGB_from_linear(double l)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/sRGB.h:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: linear_from_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/sRGB.h
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double linear_from_sRGB(double s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - r
    - g
    - b
    argTypes:
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: YfromRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/sRGB.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double YfromRGB(double r, double g, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: implies
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: implies(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: PNGZ_MSG_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_MSG_CAST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: PNGZ_INPUT_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_INPUT_CAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: PNGZ_MSG_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_MSG_CAST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: PNGZ_INPUT_CAST
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNGZ_INPUT_CAST(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: constcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: aligncast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 50
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: constcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: aligncast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: PNG_32b
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_32b(b,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b1
    - ','
    - b2
    - ','
    - b3
    - ','
    - b4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: PNG_U32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_U32(b1,b2,b3,b4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chunk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: CRITICAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRITICAL(chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chunk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: SAFE_TO_COPY
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_TO_COPY(chunk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: png_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 84
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_error(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - unum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: UDIGITS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UDIGITS(unum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - result
    - val
    argTypes:
    - uarb
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: uarb_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uarb_set(uarb result, png_alloc_size_t val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - to
    - from
    - idigits
    argTypes:
    - uarb
    - uarb
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: uarb_copy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uarb_copy(uarb to, uarb from, int idigits)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - num
    - in_digits
    - add
    argTypes:
    - uarb
    - int
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 250
    functionName: uarb_inc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uarb_inc(uarb num, int in_digits, png_int_32 add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uarb_inc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:258,1
    - Dst: uarb_inc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:259,1
    - Dst: uarb_set
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - num
    - in_digits
    - add
    argTypes:
    - uarb
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: uarb_add32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - uarb_inc
    - uarb_set
    linkageType: ''
    returnType: int
    signature: int uarb_add32(uarb num, int in_digits, png_uint_32 add)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - acc
    - a_digits
    - num
    - n_digits
    - val
    argTypes:
    - uarb
    - int
    - uarb
    - FIX_GCC
    - png_uint_16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 308
    functionName: uarb_mult_digit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int uarb_mult_digit(uarb acc, int a_digits, uarb num, FIX_GCC int
      n_digits,\n   png_uint_16 val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uarb_mult_digit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:318,1
    - Dst: uarb_mult_digit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:323,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - acc
    - a_digits
    - num
    - n_digits
    - val
    argTypes:
    - uarb
    - int
    - uarb
    - int
    - png_uint_32
    assertStmts:
    - condition: (a_digits > 0)
      pos:
        line_end: 326
        line_start: 326
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 331
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 331
    functionName: uarb_mult32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - assert
    - uarb_mult_digit
    linkageType: ''
    returnType: int
    signature: int uarb_mult32(uarb acc, int a_digits, uarb num, int n_digits, png_uint_32
      val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - inout
    - ndigits
    - right_shift
    argTypes:
    - uarb
    - int
    - unsigned int
    assertStmts:
    - condition: (right_shift >= 1 && right_shift <= 15)
      pos:
        line_end: 341
        line_start: 341
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 359
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 359
    functionName: uarb_shift
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int uarb_shift(uarb inout, int ndigits, unsigned int right_shift)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - a
    - adigits
    - b
    - bdigits
    argTypes:
    - uarb
    - int
    - uarb
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 379
    functionName: uarb_cmp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uarb_cmp(uarb a, int adigits, uarb b, int bdigits)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - num
    - digits
    - val
    argTypes:
    - uarb
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: uarb_eq32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uarb_eq32(uarb num, int digits, png_uint_32 val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:406,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - num
    - digits
    - out
    argTypes:
    - uarb
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: uarb_printx
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: void uarb_printx(uarb num, int digits, FILE *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uarb_printx
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:425,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:434,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - num
    - digits
    - out
    argTypes:
    - uarb
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 436
    functionName: uarb_print
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - uarb_printx
    - fprintf
    linkageType: ''
    returnType: void
    signature: void uarb_print(uarb num, int digits, FILE *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - seed
    - pv
    - size
    argTypes:
    - png_uint_32*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: make_random_bytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void make_random_bytes(png_uint_32* seed, void* pv, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pv
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: clear
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached:
    - make_random_bytes
    linkageType: ''
    returnType: void
    signature: void clear(void *pv, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 481
    functionName: CLEAR
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR(object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - crc
    - b
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 554
    functionName: crc_one_byte
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 crc_one_byte(png_uint_32 crc, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 571
    functionName: crc_init_4
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 crc_init_4(png_uint_32 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_U32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:586,1
    - Dst: PNG_U32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:592,1
    - Dst: PNG_U32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 602
    functionName: chunk_type_valid
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - PNG_U32
    linkageType: ''
    returnType: int
    signature: int chunk_type_valid(png_uint_32 c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct IDAT_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 627
    functionName: IDAT_list_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    linkageType: ''
    returnType: void
    signature: void IDAT_list_init(struct IDAT_list *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - length
    argTypes:
    - struct IDAT_list*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: IDAT_list_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t IDAT_list_size(struct IDAT_list *list, unsigned int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:645,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:651,1
    - Dst: IDAT_list_size
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:651,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - IDAT_list
    argTypes:
    - struct IDAT_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 655
    functionName: IDAT_list_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - free
    - clear
    - IDAT_list_size
    linkageType: ''
    returnType: void
    signature: void IDAT_list_end(struct IDAT_list *IDAT_list)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:673,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:673,1
    - Dst: IDAT_list_size
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:673,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:674,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tail
    argTypes:
    - struct IDAT_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 686
    functionName: IDAT_list_extend
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - malloc
    - voidcast
    - CLEAR
    - IDAT_list_size
    linkageType: ''
    returnType: struct IDAT_list
    signature: 'struct IDAT_list *

      IDAT_list_extend(struct IDAT_list *tail)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IDAT_list_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:730,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 2
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: global_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - IDAT_list_end
    linkageType: ''
    returnType: int
    signature: int global_end(struct global *global)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:740,1
    - Dst: IDAT_list_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - global
    argTypes:
    - struct global*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 736
    functionDepth: 2
    functionLinenumber: 736
    functionLinenumberEnd: 753
    functionName: global_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - IDAT_list_init
    linkageType: ''
    returnType: void
    signature: void global_init(struct global *global)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CRITICAL
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:763,1
    - Dst: SAFE_TO_COPY
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:816,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - global
    - type
    argTypes:
    - struct global*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 827
    functionName: skip_chunk_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CRITICAL
    - SAFE_TO_COPY
    linkageType: ''
    returnType: int
    signature: int skip_chunk_type(const struct global *global, png_uint_32 type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isgraph
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:921,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:922,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:924,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:925,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:928,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 929
    functionName: emit_string
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isgraph
    - isspace
    - putc
    linkageType: ''
    returnType: void
    signature: void emit_string(const char *str, FILE *out)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 945
    functionName: strcode
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      strcode(int code)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:977,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:978,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:981,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - file
    - code
    - what
    argTypes:
    - struct file*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 982
    functionName: emit_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - strerror
    - fprintf
    linkageType: ''
    returnType: void
    signature: void emit_error(struct file *file, int code, const char *what)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: IDAT_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:996,1
    - Dst: chunk_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:999,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1004,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1011,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1011,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1011,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1013,1
    - Dst: emit_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1014,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 1025
    functionName: file_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - chunk_end
    - IDAT_end
    - emit_error
    - fflush
    - ferror
    - perror
    - fclose
    linkageType: ''
    returnType: int
    signature: int file_end(struct file *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1035,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1058,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1059,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1066,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1072,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1078,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 5
    argNames:
    - file
    - global
    - file_name
    - out_name
    - alloc_ptr
    argTypes:
    - struct file*
    - struct global*
    - char*
    - char*
    - void*
    assertStmts:
    - condition: (file_name != NULL)
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1084
      start: 1027
    functionDepth: 1
    functionLinenumber: 1027
    functionLinenumberEnd: 1084
    functionName: file_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - perror
    - assert
    - fopen
    linkageType: ''
    returnType: int
    signature: "int file_init(struct file *file, struct global *global, const char
      *file_name,\n   const char *out_name, void *alloc_ptr, void (*alloc)(struct
      file*,int))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emit_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - file
    - code
    - what
    argTypes:
    - struct file*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1092
    functionName: log_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - emit_error
    linkageType: ''
    returnType: void
    signature: void log_error(struct file *file, int code, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1108
    functionName: type_char
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char type_char(png_uint_32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1113,1
    - Dst: type_char
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1113,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1114,1
    - Dst: type_char
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1114,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1115,1
    - Dst: type_char
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1115,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1116,1
    - Dst: type_char
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - type
    - out
    argTypes:
    - png_uint_32
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: type_name
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_char
    - putc
    linkageType: ''
    returnType: void
    signature: void type_name(png_uint_32 type, FILE *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1122,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1124
    functionName: type_sep
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: void
    signature: void type_sep(FILE *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: log_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1134,1
    - Dst: current_type
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1154,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1160,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1163,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1165,1
    - Dst: strcode
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1165,1
    - Dst: emit_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1169,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1169,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1170,1
    - Dst: emit_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1171,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1171,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1172,1
    - Dst: emit_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1173,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1174,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1175,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1176,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - file
    - code
    - what
    argTypes:
    - struct file*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1128
    functionDepth: 2
    functionLinenumber: 1128
    functionLinenumberEnd: 1181
    functionName: stop
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_name
    - printf
    - log_error
    - strcode
    - fputs
    - putc
    - longjmp
    - current_type
    - strerror
    - emit_string
    linkageType: ''
    returnType: PNG_NORETURN
    signature: PNG_NORETURN stop(struct file *file, int code, const char *what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - what
    argTypes:
    - struct file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1183
    functionDepth: 3
    functionLinenumber: 1183
    functionLinenumberEnd: 1187
    functionName: stop_invalid
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    linkageType: ''
    returnType: PNG_NORETURN
    signature: PNG_NORETURN stop_invalid(struct file *file, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1195,1
    - Dst: type_sep
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1196,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1197,1
    - Dst: type_sep
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1198,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1199,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - file
    - type
    - what
    argTypes:
    - struct file*
    - png_uint_32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1202
    functionName: type_message
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_name
    - type_sep
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void type_message(struct file *file, png_uint_32 type, const char *what)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fgetpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1210,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1213,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - struct file*
    - fpos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 3
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: file_getpos
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - fgetpos
    - perror
    - stop
    linkageType: ''
    returnType: void
    signature: void file_getpos(struct file *file, fpos_t *pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fsetpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1221,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1223,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - struct file*
    - fpos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1226
    functionName: file_setpos
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    - perror
    - fsetpos
    linkageType: ''
    returnType: void
    signature: void file_setpos(struct file *file, const fpos_t *pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_getpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1228
    functionDepth: 4
    functionLinenumber: 1228
    functionLinenumberEnd: 1236
    functionName: getpos
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - file_getpos
    linkageType: ''
    returnType: void
    signature: void getpos(struct file *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1246,1
    - Dst: emit_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1260,1
    - Dst: read_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1267,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1276,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1276,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1284
    functionName: read_byte
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached:
    - feof
    - read_byte
    - emit_error
    - ferror
    - if
    - getc
    linkageType: ''
    returnType: int
    signature: int read_byte(struct file *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1300,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1294
    functionDepth: 3
    functionLinenumber: 1294
    functionLinenumberEnd: 1309
    functionName: reread_byte
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    - getc
    linkageType: ''
    returnType: png_byte
    signature: png_byte reread_byte(struct file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1311
    functionDepth: 4
    functionLinenumber: 1311
    functionLinenumberEnd: 1322
    functionName: reread_4
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - reread_byte
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 reread_4(struct file *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1331,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1324
    functionDepth: 3
    functionLinenumber: 1324
    functionLinenumberEnd: 1338
    functionName: skip_12
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    - fseek
    linkageType: ''
    returnType: void
    signature: void skip_12(struct file *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1349,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1353,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - file
    - b
    argTypes:
    - struct file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1358
    functionName: write_byte
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    - putc
    linkageType: ''
    returnType: void
    signature: void write_byte(struct file *file, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - file
    - pu
    argTypes:
    - struct file*
    - png_uint_32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1361
    functionDepth: 2
    functionLinenumber: 1361
    functionLinenumberEnd: 1382
    functionName: read_4
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - read_byte
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int read_4(struct file *file, png_uint_32 *pu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1397,1
    - Dst: crc_one_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - file
    - length
    argTypes:
    - struct file*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1385
    functionDepth: 2
    functionLinenumber: 1385
    functionLinenumberEnd: 1410
    functionName: crc_read_many
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - read_byte
    - crc_one_byte
    linkageType: ''
    returnType: int
    signature: int crc_read_many(struct file *file, png_uint_32 length)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1423,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1426,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1461,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1464,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1467,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1470,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1485,1
    - Dst: uarb_mult_digit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1492,1
    - Dst: uarb_set
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1492,1
    - Dst: uarb_set
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1493,1
    - Dst: uarb_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1494,1
    - Dst: uarb_inc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1495,1
    - Dst: uarb_mult32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1499,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1501,1
    - Dst: uarb_mult_digit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1515,1
    - Dst: uarb_set
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1515,1
    - Dst: uarb_set
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1516,1
    - Dst: uarb_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1517,1
    - Dst: uarb_inc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1518,1
    - Dst: uarb_mult32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1521,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1527,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1530,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 69
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts:
    - condition: (file->image_digits >= 1 && file->image_digits <= 5)
      pos:
        line_end: 1529
        line_start: 1529
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1532
      start: 1412
    functionDepth: 4
    functionLinenumber: 1412
    functionLinenumberEnd: 1532
    functionName: calc_image_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - uarb_mult32
    - PNG_PASS_ROWS
    - uarb_mult_digit
    - PNG_PASS_COLS
    - uarb_shift
    - assert
    - uarb_set
    - uarb_inc
    - stop_invalid
    linkageType: ''
    returnType: int
    signature: int calc_image_size(struct file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - chunk
    - message
    argTypes:
    - struct chunk*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1566
    functionDepth: 3
    functionLinenumber: 1566
    functionLinenumberEnd: 1570
    functionName: chunk_message
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_message
    linkageType: ''
    returnType: void
    signature: void chunk_message(struct chunk *chunk, const char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk_var
    argTypes:
    - struct chunk**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1579
    functionName: chunk_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 11
    functionsReached:
    - CLEAR
    linkageType: ''
    returnType: void
    signature: void chunk_end(struct chunk **chunk_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1590,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - chunk
    - file
    argTypes:
    - struct chunk*
    - struct file*
    assertStmts:
    - condition: (file->chunk == NULL)
      pos:
        line_end: 1589
        line_start: 1589
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1608
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1608
    functionName: chunk_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - assert
    linkageType: ''
    returnType: void
    signature: void chunk_init(struct chunk * const chunk, struct file * const file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - file
    - code
    argTypes:
    - struct file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1636
    functionName: current_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 current_type(struct file *file, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chunk
    argTypes:
    - struct chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1638
    functionDepth: 4
    functionLinenumber: 1638
    functionLinenumberEnd: 1647
    functionName: setpos
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - file_setpos
    linkageType: ''
    returnType: void
    signature: void setpos(struct chunk *chunk)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1672,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1674,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1680,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1684,1
    - Dst: zlib_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1685,1
    - Dst: chunk_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1689,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts:
    - condition: (chunk != NULL && file->idat == NULL)
      pos:
        line_end: 1671
        line_start: 1671
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1691
      start: 1662
    functionDepth: 5
    functionLinenumber: 1662
    functionLinenumberEnd: 1691
    functionName: process_zTXt_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - assert
    - chunk_message
    - setpos
    - reread_byte
    - zlib_check
    linkageType: ''
    returnType: int
    signature: int process_zTXt_iCCP(struct file *file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1701,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1703,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1709,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1713,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1718,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1725,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1732,1
    - Dst: zlib_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1733,1
    - Dst: log_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts:
    - condition: (chunk != NULL && file->idat == NULL)
      pos:
        line_end: 1700
        line_start: 1700
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1746
      start: 1693
    functionDepth: 5
    functionLinenumber: 1693
    functionLinenumberEnd: 1746
    functionName: process_iTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - log_error
    - assert
    - setpos
    - reread_byte
    - zlib_check
    linkageType: ''
    returnType: int
    signature: int process_iTXt(struct file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1778,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1780,1
    - Dst: chunk_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - idat_var
    argTypes:
    - struct IDAT**
    assertStmts:
    - condition: (file->chunk != NULL)
      pos:
        line_end: 1779
        line_start: 1779
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1788
      start: 1770
    functionDepth: 2
    functionLinenumber: 1770
    functionLinenumberEnd: 1788
    functionName: IDAT_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached:
    - CLEAR
    - chunk_end
    - assert
    linkageType: ''
    returnType: void
    signature: void IDAT_end(struct IDAT **idat_var)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1799,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1800,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1802,1
    - Dst: struct file*::alloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1816,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - idat
    - file
    argTypes:
    - struct IDAT*
    - struct file*
    assertStmts:
    - condition: (file->chunk == NULL)
      pos:
        line_end: 1798
        line_start: 1798
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->idat == NULL)
      pos:
        line_end: 1799
        line_start: 1799
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->chunk != NULL)
      pos:
        line_end: 1816
        line_start: 1816
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1823
      start: 1790
    functionDepth: 1
    functionLinenumber: 1790
    functionLinenumberEnd: 1823
    functionName: IDAT_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - struct file*::alloc
    - assert
    linkageType: ''
    returnType: void
    signature: void IDAT_init(struct IDAT * const idat, struct file * const file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1847,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1855,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1857,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1879,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - idat
    - start
    argTypes:
    - struct IDAT*
    - int
    assertStmts:
    - condition: "(idat->idat_index == idat->idat_length &&\n         idat->idat_length
        == cur->lengths[count])"
      pos:
        line_end: 1847
        line_start: 1846
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (cur != NULL)
      pos:
        line_end: 1878
        line_start: 1878
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (cur != NULL && cur->count > 0)
      pos:
        line_end: 1856
        line_start: 1856
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (cur != idat->idat_list_tail)
      pos:
        line_end: 1854
        line_start: 1854
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 1904
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1904
    functionName: rechunk_length
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 rechunk_length(struct IDAT *idat, int start)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1926,1
    - Dst: IDAT_list_extend
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1941,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1944,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1965,1
    - Dst: zlib_check
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1967,1
    - Dst: uarb_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1975,1
    - Dst: type_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1979,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1982,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1988,1
    - Dst: rechunk_length
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:1997,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2006,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts:
    - condition: (file->idat != NULL && file->chunk != NULL)
      pos:
        line_end: 1925
        line_start: 1925
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2007
      start: 1906
    functionDepth: 5
    functionLinenumber: 1906
    functionLinenumberEnd: 2007
    functionName: process_IDAT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - IDAT_list_extend
    - type_message
    - assert
    - uarb_cmp
    - setpos
    - rechunk_length
    - stop
    - zlib_check
    linkageType: ''
    returnType: int
    signature: int process_IDAT(struct file *file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - zlib
    argTypes:
    - struct zlib*
    assertStmts:
    - condition: (UNREACHED)
      pos:
        line_end: 2047
        line_start: 2047
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2052
      start: 2039
    functionDepth: 1
    functionLinenumber: 2039
    functionLinenumberEnd: 2052
    functionName: zlib_flevel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: char
    signature: 'char *

      zlib_flevel(struct zlib *zlib)'
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - zlib
    argTypes:
    - struct zlib*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2054
    functionDepth: 0
    functionLinenumber: 2054
    functionLinenumberEnd: 2071
    functionName: zlib_rc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      zlib_rc(struct zlib *zlib)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2084,1
    - Dst: type_sep
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2085,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2086,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2087,1
    - Dst: zlib_rc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2088,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zlib
    - unexpected
    argTypes:
    - struct zlib*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2073
    functionDepth: 2
    functionLinenumber: 2073
    functionLinenumberEnd: 2090
    functionName: zlib_message
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_name
    - zlib_rc
    - fputs
    - fprintf
    - type_sep
    linkageType: ''
    returnType: void
    signature: void zlib_message(struct zlib *zlib, int unexpected)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2120,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2121,1
    - Dst: zlib_flevel
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2121,1
    - Dst: uarb_print
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2123,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2124,1
    - Dst: uarb_print
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2125,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2127,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2128,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2129,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2145,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2146,1
    - Dst: zlib_flevel
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2146,1
    - Dst: zlib_rc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2147,1
    - Dst: uarb_print
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2148,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2149,1
    - Dst: emit_string
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2150,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2151,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2152,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2153,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2159,1
    - Dst: zlib_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2162,1
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - zlib
    argTypes:
    - struct zlib*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2092
    functionDepth: 3
    functionLinenumber: 2092
    functionLinenumberEnd: 2166
    functionName: zlib_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - type_name
    - zlib_message
    - printf
    - CLEAR
    - zlib_rc
    - fputs
    - uarb_print
    - putc
    - emit_string
    - zlib_flevel
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void zlib_end(struct zlib *zlib)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2172,1
    - Dst: inflateReset2
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2184,1
    - Dst: zlib_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - zlib
    - window_bits
    argTypes:
    - struct zlib*
    - int
    assertStmts:
    - condition: (zlib->state >= 0)
      pos:
        line_end: 2171
        line_start: 2171
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2192
      start: 2168
    functionDepth: 3
    functionLinenumber: 2168
    functionLinenumberEnd: 2192
    functionName: zlib_reset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - zlib_message
    - inflateReset2
    - assert
    linkageType: ''
    returnType: int
    signature: int zlib_reset(struct zlib *zlib, int window_bits)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2199,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2230,1
    - Dst: zlib_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 5
    argNames:
    - zlib
    - idat
    - chunk
    - window_bits
    - offset
    argTypes:
    - struct zlib*
    - struct IDAT*
    - struct chunk*
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2194
    functionDepth: 3
    functionLinenumber: 2194
    functionLinenumberEnd: 2242
    functionName: zlib_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - CLEAR
    - zlib_message
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: "int zlib_init(struct zlib *zlib, struct IDAT *idat, struct chunk *chunk,\n
      \  int window_bits, png_uint_32 offset)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - size
    - ndigits
    argTypes:
    - uarbc
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2263
      start: 2244
    functionDepth: 0
    functionLinenumber: 2244
    functionLinenumberEnd: 2263
    functionName: max_window_bits
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int max_window_bits(uarbc size, int ndigits)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2510,1
    - Dst: skip_12
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2525,1
    - Dst: zlib_advance
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2529,1
    - Dst: chunk_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2551,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2592,1
    - Dst: zlib_advance
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2594,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - zlib
    argTypes:
    - struct zlib*
    assertStmts:
    - condition: (zlib->rewrite_offset == 0)
      pos:
        line_end: 2509
        line_start: 2509
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (zlib->rewrite_offset < chunk->chunk_length)
      pos:
        line_end: 2591
        line_start: 2591
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2604
      start: 2488
    functionDepth: 4
    functionLinenumber: 2488
    functionLinenumberEnd: 2604
    functionName: zlib_run
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - skip_12
    - chunk_message
    - assert
    - zlib_advance
    linkageType: ''
    returnType: int
    signature: int zlib_run(struct zlib *zlib)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: file_getpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2625,1
    - Dst: zlib_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2628,1
    - Dst: zlib_run
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2633,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2651,1
    - Dst: max_window_bits
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2655,1
    - Dst: chunk_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2667,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2673,1
    - Dst: zlib_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2674,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2681,1
    - Dst: zlib_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2693,1
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2695,1
    - Dst: zlib_run
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2696,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2708,1
    - Dst: PNGZ_MSG_CAST
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2712,1
    - Dst: zlib_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2714,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2715,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2729,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2736,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2742,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2743,1
    - Dst: zlib_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2749,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - file
    - offset
    argTypes:
    - struct file*
    - png_uint_32
    assertStmts:
    - condition: (zlib.ok_bits == max_bits)
      pos:
        line_end: 2741
        line_start: 2741
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (test_bits == 15)
      pos:
        line_end: 2707
        line_start: 2707
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2752
      start: 2606
    functionDepth: 5
    functionLinenumber: 2606
    functionLinenumberEnd: 2752
    functionName: zlib_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached:
    - file_setpos
    - zlib_message
    - zlib_reset
    - PNGZ_MSG_CAST
    - assert
    - max_window_bits
    - chunk_message
    - zlib_init
    - file_getpos
    - zlib_end
    - zlib_run
    linkageType: ''
    returnType: int
    signature: int zlib_check(struct file *file, png_uint_32 offset)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2798,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2799,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2800,1
    - Dst: type_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2819,1
    - Dst: CRITICAL
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2822,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2823,1
    - Dst: type_message
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2827,1
    - Dst: skip_chunk_type
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2838,1
    - Dst: struct file*::alloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2847,1
    - Dst: struct file*::alloc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2850,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2855,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2856,1
    - Dst: getpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2867,1
    - Dst: stop_invalid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2889,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2892,1
    - Dst: reread_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2893,1
    - Dst: reread_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2894,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2895,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2896,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2897,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2898,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2899,1
    - Dst: calc_image_size
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2904,1
    - Dst: process_zTXt_iCCP
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2910,1
    - Dst: chunk_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2912,1
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2913,1
    - Dst: process_iTXt
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2917,1
    - Dst: chunk_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2919,1
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2920,1
    - Dst: process_IDAT
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2924,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2927,1
    - Dst: read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2938,1
    - Dst: getpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2947,1
    - Dst: read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2948,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 77
    argCount: 4
    argNames:
    - file
    - file_crc
    - next_length
    - next_type
    argTypes:
    - struct file*
    - png_uint_32
    - png_uint_32
    - png_uint_32
    assertStmts:
    - condition: (file->chunk->chunk_type == png_IDAT)
      pos:
        line_end: 2855
        line_start: 2855
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (next_type == png_IDAT)
      pos:
        line_end: 2926
        line_start: 2926
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->chunk != NULL)
      pos:
        line_end: 2854
        line_start: 2854
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 2949
      start: 2783
    functionDepth: 6
    functionLinenumber: 2783
    functionLinenumberEnd: 2949
    functionName: process_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - file_setpos
    - process_zTXt_iCCP
    - type_name
    - struct file*::alloc
    - type_message
    - fputs
    - calc_image_size
    - chunk_end
    - fprintf
    - setpos
    - stop
    - skip_chunk_type
    - assert
    - reread_byte
    - stop_invalid
    - reread_4
    - CRITICAL
    - read_chunk
    - process_iTXt
    - getpos
    - process_IDAT
    linkageType: ''
    returnType: void
    signature: "void process_chunk(struct file *file, png_uint_32 file_crc, png_uint_32
      next_length,\n   png_uint_32 next_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - offset
    argTypes:
    - png_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2961
    functionName: get32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get32(png_bytep buffer, int offset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2975,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2976,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2977,1
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2981,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2984,1
    - Dst: crc_init_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:2993,1
    - Dst: process_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3009,1
    - Dst: read_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3018,1
    - Dst: get32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3030,1
    - Dst: get32
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3034,1
    - Dst: chunk_type_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3036,1
    - Dst: process_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3039,1
    - Dst: read_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3059,1
    - Dst: crc_one_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3068,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3078,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 2963
    functionDepth: 7
    functionLinenumber: 2963
    functionLinenumberEnd: 3079
    functionName: sync_stream
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - file_setpos
    - process_chunk
    - type_name
    - read_byte
    - crc_one_byte
    - get32
    - fputs
    - crc_init_4
    - putc
    - stop
    - read_4
    - chunk_type_valid
    linkageType: ''
    returnType: void
    signature: void sync_stream(struct file *file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3103,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3107,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3109,1
    - Dst: crc_init_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3116,1
    - Dst: crc_read_many
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3117,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3120,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3128,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3133,1
    - Dst: chunk_type_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3135,1
    - Dst: process_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3141,1
    - Dst: process_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3149,1
    - Dst: sync_stream
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3162,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 1
    argNames:
    - file
    argTypes:
    - struct file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3081
    functionDepth: 8
    functionLinenumber: 3081
    functionLinenumberEnd: 3163
    functionName: read_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - process_chunk
    - type_name
    - sync_stream
    - fputs
    - crc_read_many
    - fprintf
    - crc_init_4
    - stop
    - read_4
    - chunk_type_valid
    linkageType: ''
    returnType: void
    signature: void read_chunk(struct file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3171,1
    - Dst: get_control
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3168
    functionDepth: 3
    functionLinenumber: 3168
    functionLinenumberEnd: 3172
    functionName: error_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - stop
    - get_control
    linkageType: ''
    returnType: void
    signature: void error_handler(png_structp png_ptr, png_const_charp message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_control
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3177,1
    - Dst: emit_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3174
    functionDepth: 1
    functionLinenumber: 3174
    functionLinenumberEnd: 3181
    functionName: warning_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - get_control
    - emit_error
    linkageType: ''
    returnType: void
    signature: void warning_handler(png_structp png_ptr, png_const_charp message)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: get_control
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3190,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3196,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3205,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3206,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3208,1
    - Dst: read_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3211,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3215,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3216,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3222,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3232,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3238,1
    - Dst: getpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3241,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3281,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3282,1
    - Dst: read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3283,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3285,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3322,1
    - Dst: read_callback
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3325,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3331,1
    - Dst: crc_init_4
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3339,1
    - Dst: setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3341,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3346,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3364,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3377,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3378,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3383,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3392,1
    - Dst: skip_12
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3406,1
    - Dst: reread_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3417,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3428,1
    - Dst: crc_one_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3436,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3454,1
    - Dst: type_name
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3455,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3456,1
    - Dst: rechunk_length
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3476,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3477,1
    - Dst: stop
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3488,1
    - Dst: file_setpos
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3495,1
    - Dst: chunk_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3498,1
    - Dst: IDAT_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3501,1
    - Dst: write_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3515,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 160
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - count
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts:
    - condition: (idat->idat_index == idat->idat_length)
      pos:
        line_end: 3376
        line_start: 3376
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (type == png_IDAT)
      pos:
        line_end: 3476
        line_start: 3476
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (length == sig1 && type == sig2)
      pos:
        line_end: 3321
        line_start: 3321
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (chunk != NULL)
      pos:
        line_end: 3284
        line_start: 3284
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (cur != NULL && cur->count > 0)
      pos:
        line_end: 3377
        line_start: 3377
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (chunk != NULL)
      pos:
        line_end: 3345
        line_start: 3345
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (idat->idat_count == cur->count)
      pos:
        line_end: 3382
        line_start: 3382
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->read_count == 8)
      pos:
        line_end: 3280
        line_start: 3280
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: ((file->status_code & TRUNCATED) == 0)
      pos:
        line_end: 3205
        line_start: 3205
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->read_count == 0)
      pos:
        line_end: 3204
        line_start: 3204
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: ((file->status_code & TRUNCATED) != 0)
      pos:
        line_end: 3214
        line_start: 3214
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->state == STATE_CHUNKS)
      pos:
        line_end: 3231
        line_start: 3231
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->idat == NULL)
      pos:
        line_end: 3281
        line_start: 3281
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (chunk != NULL)
      pos:
        line_end: 3330
        line_start: 3330
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (idat != NULL)
      pos:
        line_end: 3363
        line_start: 3363
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 3518
      start: 3186
    functionDepth: 9
    functionLinenumber: 3186
    functionLinenumberEnd: 3518
    functionName: read_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached:
    - file_setpos
    - get_control
    - type_name
    - write_byte
    - memmove
    - fputs
    - chunk_end
    - fprintf
    - setpos
    - crc_init_4
    - stop
    - read_4
    - assert
    - IDAT_end
    - rechunk_length
    - reread_byte
    - skip_12
    - read_callback
    - read_chunk
    - crc_one_byte
    - getpos
    linkageType: ''
    returnType: void
    signature: void read_callback(png_structp png_ptr, png_bytep buffer, size_t count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3534
      start: 3530
    functionDepth: 2
    functionLinenumber: 3530
    functionLinenumberEnd: 3534
    functionName: control_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - file_end
    linkageType: ''
    returnType: int
    signature: int control_end(struct control *control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3542,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_const_structrp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3536
    functionDepth: 1
    functionLinenumber: 3536
    functionLinenumberEnd: 3545
    functionName: get_control
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached:
    - voidcast
    - png_get_error_ptr
    linkageType: ''
    returnType: struct file
    signature: 'struct file *

      get_control(png_const_structrp png_ptr)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3550,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3554,1
    - Dst: IDAT_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3555,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3560,1
    - Dst: chunk_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - file
    - allocate_idat
    argTypes:
    - struct file*
    - int
    assertStmts:
    - condition: (file->idat == NULL)
      pos:
        line_end: 3553
        line_start: 3553
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    - condition: (file->chunk == NULL)
      pos:
        line_end: 3559
        line_start: 3559
        source_file: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    constantsTouched: []
    func_position:
      end: 3563
      start: 3547
    functionDepth: 2
    functionLinenumber: 3547
    functionLinenumberEnd: 3563
    functionName: allocate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 1
    functionsReached:
    - IDAT_init
    - voidcast
    - chunk_init
    - assert
    linkageType: ''
    returnType: void
    signature: void allocate(struct file *file, int allocate_idat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - control
    - global
    - file_name
    - out_name
    argTypes:
    - struct control*
    - struct global*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3574
      start: 3565
    functionDepth: 2
    functionLinenumber: 3565
    functionLinenumberEnd: 3574
    functionName: control_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 0
    functionsReached:
    - file_init
    linkageType: ''
    returnType: int
    signature: "int control_init(struct control *control, struct global *global,\n
      \  const char *file_name, const char *out_name)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3586,1
    - Dst: log_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3592,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3597,1
    - Dst: png_set_user_limits
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3605,1
    - Dst: png_set_chunk_cache_max
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3606,1
    - Dst: png_set_chunk_malloc_max
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3607,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3610,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3612,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3614,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3617,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3619,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3622,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3623,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3626,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3636,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3641,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3644,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3647,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - control
    argTypes:
    - struct control*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3649
      start: 3576
    functionDepth: 7
    functionLinenumber: 3576
    functionLinenumberEnd: 3649
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached:
    - png_error
    - png_create_info_struct
    - png_start_read_image
    - png_destroy_read_struct
    - png_set_chunk_malloc_max
    - log_error
    - png_get_image_height
    - png_set_interlace_handling
    - png_set_user_limits
    - setjmp
    - png_set_read_fn
    - fprintf
    - png_create_read_struct
    - png_read_end
    - png_read_row
    - png_read_info
    - png_set_chunk_cache_max
    linkageType: ''
    returnType: int
    signature: int read_png(struct control *control)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3658,1
    - Dst: control_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3664,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3667,1
    - Dst: control_end
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - global
    - file_name
    - out_name
    argTypes:
    - struct global*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3672
      start: 3651
    functionDepth: 3
    functionLinenumber: 3651
    functionLinenumberEnd: 3672
    functionName: one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 3
    functionsReached:
    - control_init
    - read_png
    - fprintf
    - control_end
    linkageType: ''
    returnType: int
    signature: int one_file(struct global *global, const char *file_name, const char
      *out_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3844,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3849,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3851,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3854,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3674
    functionDepth: 0
    functionLinenumber: 3674
    functionLinenumberEnd: 3855
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 4
    functionsReached:
    - fputc
    - fprintf
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void usage(const char *prog)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: global_init
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3868,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3874,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3882,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3884,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3890,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3898,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3898,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3901,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3904,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3907,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3910,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3913,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3916,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3919,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3922,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3925,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3928,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3931,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3931,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3934,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3934,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3937,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3937,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3946,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3946,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3952,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3958,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3962,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3969,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3973,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3979,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3980,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3986,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3992,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:3996,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:4002,1
    - Dst: one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:4009,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 3857
    functionDepth: 4
    functionLinenumber: 3857
    functionLinenumberEnd: 4013
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - global_init
    - usage
    - strcmp
    - atol
    - strlen
    - one_file
    - strncmp
    - fprintf
    - memcpy
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:4025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4029
      start: 4022
    functionDepth: 0
    functionLinenumber: 4022
    functionLinenumberEnd: 4029
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:4037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4039
      start: 4034
    functionDepth: 0
    functionLinenumber: 4034
    functionLinenumberEnd: 4039
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c:4045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4042
    functionDepth: 0
    functionLinenumber: 4042
    functionLinenumberEnd: 4047
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/pngfix.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sRGB_from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: fsRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c
    functionUses: 0
    functionsReached:
    - sRGB_from_linear
    linkageType: ''
    returnType: double
    signature: double fsRGB(double l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fsRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c
    functionUses: 14
    functionsReached:
    - fsRGB
    linkageType: ''
    returnType: double
    signature: double sRGB(unsigned int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linear_from_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: finvsRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c
    functionUses: 0
    functionsReached:
    - linear_from_sRGB
    linkageType: ''
    returnType: double
    signature: double finvsRGB(unsigned int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:63,1
    - Dst: finvsRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:63,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:67,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: invsRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c
    functionUses: 1
    functionsReached:
    - finvsRGB
    - exit
    - fprintf
    - nearbyint
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 invsRGB(unsigned int i)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:90,1
    - Dst: invsRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:120,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:121,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:127,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:128,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:134,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:136,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:143,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:145,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:155,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:155,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:156,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:172,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:178,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:186,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:194,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:203,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:227,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:227,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:228,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:267,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:268,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:293,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:297,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:308,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:308,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:309,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:313,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:317,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:340,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:340,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:341,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:345,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:353,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:354,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:365,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:365,1
    - Dst: PNG_sRGB_FROM_LINEAR
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:370,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:371,1
    - Dst: finvsRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:376,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:378,1
    - Dst: fsRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:379,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:384,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:386,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:391,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:396,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:399,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:401,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:404,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:409,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:412,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:414,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:416,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:421,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:424,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c:426,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 194
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 74
    functionDepth: 3
    functionLinenumber: 74
    functionLinenumberEnd: 430
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/makesRGB.c
    functionUses: 2
    functionsReached:
    - nearbyint
    - sRGB
    - strcmp
    - printf
    - fprintf
    - PNG_sRGB_FROM_LINEAR
    - finvsRGB
    - invsRGB
    - exit
    - abs
    - fsRGB
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:27,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - prog
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c
    functionUses: 5
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(const char *prog)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:37,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:41,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:42,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - prog
    - arg
    - issRGB
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 46
    functionName: component
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c
    functionUses: 0
    functionsReached:
    - usage
    - strtoul
    - fprintf
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long component(const char *prog, const char *arg, int issRGB)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fesetround
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:60,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:68,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:71,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:74,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:77,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:81,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:87,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:91,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:94,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:97,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:100,1
    - Dst: linear_from_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:113,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:138,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:140,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:151,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:153,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:169,1
    - Dst: sRGB_from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:176,1
    - Dst: nearbyint
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:178,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:183,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c:185,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 188
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/tools/cvtcolor.c
    functionUses: 2
    functionsReached:
    - usage
    - nearbyint
    - strcmp
    - YfromRGB
    - sRGB_from_linear
    - printf
    - component
    - linear_from_sRGB
    - fprintf
    - fesetround
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: alpha_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alpha_composite(composite, fg, alpha, bg)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:201,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:205,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:206,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:207,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:230,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:231,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:239,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:244,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:248,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:252,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:257,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:279,1
    - Dst: readpng_version_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:280,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:281,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:288,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:296,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:300,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:301,1
    - Dst: readpng_init
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:307,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:312,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:316,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:319,1
    - Dst: XOpenDisplay
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:325,1
    - Dst: readpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:327,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:328,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:334,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:339,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:340,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:346,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:347,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:349,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:351,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:361,1
    - Dst: readpng_get_bgcolor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:365,1
    - Dst: readpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:367,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:369,1
    - Dst: rpng_x_create_window
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:376,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:377,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:382,1
    - Dst: readpng_get_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:383,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:385,1
    - Dst: readpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:391,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:392,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:395,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:396,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:402,1
    - Dst: rpng_x_display_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:403,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:404,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:405,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:407,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:412,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:414,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:417,1
    - Dst: XLookupKeysym
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:420,1
    - Dst: rpng_x_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:425,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 133
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 430
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 2
    functionsReached:
    - sscanf
    - strlen
    - rpng_x_display_image
    - rpng_x_create_window
    - atof
    - fprintf
    - rpng_x_cleanup
    - readpng_get_bgcolor
    - fclose
    - XLookupKeysym
    - readpng_get_image
    - readpng_version_info
    - getenv
    - fgets
    - Trace
    - printf
    - free
    - fflush
    - fopen
    - sprintf
    - XNextEvent
    - strncmp
    - readpng_init
    - XOpenDisplay
    - exit
    - readpng_cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:455,1
    - Dst: DisplayPlanes
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:456,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:457,1
    - Dst: XSynchronize
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:460,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:466,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:472,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:479,1
    - Dst: XGetVisualInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:485,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:489,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:493,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:505,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:516,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:518,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:524,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:525,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:526,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:530,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:531,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:532,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:534,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:535,1
    - Dst: rpng_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:536,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:540,1
    - Dst: XCreateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:558,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:562,1
    - Dst: XSetWindowColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:568,1
    - Dst: XStringListToTextProperty
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:570,1
    - Dst: XStringListToTextProperty
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:572,1
    - Dst: XAllocSizeHints
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:577,1
    - Dst: XAllocWMHints
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:584,1
    - Dst: XAllocClassHint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:591,1
    - Dst: XSetWMProperties
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:596,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:601,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:603,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:605,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:607,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:609,1
    - Dst: XMapWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:611,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:613,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:634,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:635,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:642,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:645,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:652,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:655,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:658,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:663,1
    - Dst: XCreateImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:667,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:671,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:672,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 140
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 687
    functionName: rpng_x_create_window
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 1
    functionsReached:
    - XSetForeground
    - rpng_x_msb
    - fprintf
    - RootWindow
    - XAllocSizeHints
    - XCreateImage
    - XSetWindowColormap
    - DefaultScreen
    - XFlush
    - XAllocClassHint
    - XSynchronize
    - XFree
    - Trace
    - XMatchVisualInfo
    - XStringListToTextProperty
    - XAllocWMHints
    - malloc
    - free
    - XFillRectangle
    - XMapWindow
    - XGetVisualInfo
    - XCreateWindow
    - XSetWMProperties
    - XCreateGC
    - XCreateColormap
    - XNextEvent
    - DisplayPlanes
    linkageType: ''
    returnType: int
    signature: int rpng_x_create_window(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:704,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:706,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:708,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:709,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:763,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:764,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:765,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:779,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:781,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:825,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:826,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:827,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:842,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:844,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:855,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:857,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:859,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 863
    functionName: rpng_x_display_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 1
    functionsReached:
    - XPutImage
    - alpha_composite
    - Trace
    - XFlush
    linkageType: ''
    returnType: int
    signature: int rpng_x_display_image(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:871,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:877,1
    - Dst: XDestroyImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:880,1
    - Dst: XFreeGC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:885,1
    - Dst: XDestroyWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:888,1
    - Dst: XFreeColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:891,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c:894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 895
    functionName: rpng_x_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 1
    functionsReached:
    - XFreeGC
    - XDestroyWindow
    - free
    - XDestroyImage
    - XFreeColormap
    - XFree
    linkageType: ''
    returnType: void
    signature: void rpng_x_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - u32val
    argTypes:
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: rpng_x_msb
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rpng_x_msb(ulg u32val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:100,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:103,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:106,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:107,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: repl_getch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 0
    functionsReached:
    - ioctl
    - fileno
    - fread
    linkageType: ''
    returnType: int
    signature: int repl_getch( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: alpha_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alpha_composite(composite, fg, alpha, bg)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: AllocConsole
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:189,1
    - Dst: freopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:190,1
    - Dst: freopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:191,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:212,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:216,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:217,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:218,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:241,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:242,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:275,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:279,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:283,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:288,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:314,1
    - Dst: readpng_version_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:315,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:316,1
    - Dst: _getch
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:332,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:335,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:339,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:340,1
    - Dst: readpng_init
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:343,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:346,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:351,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:355,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:358,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:365,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:374,1
    - Dst: _getch
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:377,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:380,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:384,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:393,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:394,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:396,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:398,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:408,1
    - Dst: readpng_get_bgcolor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:412,1
    - Dst: readpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:413,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:414,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:416,1
    - Dst: rpng_win_create_window
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:423,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:424,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:429,1
    - Dst: readpng_get_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:430,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:432,1
    - Dst: readpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:438,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:439,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:442,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:443,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:449,1
    - Dst: rpng_win_display_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:450,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:451,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:452,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:454,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:459,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:466,1
    - Dst: GetMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:468,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:469,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:470,1
    - Dst: rpng_win_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:476,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 147
    argCount: 4
    argNames:
    - hInst
    - hPrevInst
    - cmd
    - showmode
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - PSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 479
    functionName: WinMain
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 0
    functionsReached:
    - rpng_win_display_image
    - sscanf
    - AllocConsole
    - strlen
    - _getch
    - freopen
    - atof
    - fprintf
    - GetMessage
    - readpng_get_bgcolor
    - rpng_win_create_window
    - fclose
    - readpng_get_image
    - readpng_version_info
    - getenv
    - TranslateMessage
    - DispatchMessage
    - fgets
    - Trace
    - printf
    - free
    - fflush
    - fopen
    - rpng_win_cleanup
    - sprintf
    - strncmp
    - readpng_init
    - exit
    - readpng_cleanup
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:502,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:506,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:519,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:546,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:552,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:553,1
    - Dst: GetStockObject
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:554,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:557,1
    - Dst: RegisterClassEx
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:559,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:565,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:566,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:567,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:568,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:569,1
    - Dst: CreateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:571,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:575,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 2
    argNames:
    - hInst
    - showmode
    argTypes:
    - HINSTANCE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 580
    functionName: rpng_win_create_window
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 1
    functionsReached:
    - CreateWindow
    - LoadIcon
    - GetStockObject
    - LoadCursor
    - ShowWindow
    - malloc
    - UpdateWindow
    - memset
    - fprintf
    - RegisterClassEx
    - GetSystemMetrics
    linkageType: ''
    returnType: int
    signature: int rpng_win_create_window(HINSTANCE hInst, int showmode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:594,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:596,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:637,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:638,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:639,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:649,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:650,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:655,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:661,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:662,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 586
    functionDepth: 0
    functionLinenumber: 586
    functionLinenumberEnd: 672
    functionName: rpng_win_display_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 1
    functionsReached:
    - UpdateWindow
    - InvalidateRect
    - alpha_composite
    - Trace
    linkageType: ''
    returnType: int
    signature: int rpng_win_display_image()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:681,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 689
    functionName: rpng_win_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rpng_win_cleanup()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BeginPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:707,1
    - Dst: StretchDIBits
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:709,1
    - Dst: EndPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:715,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:724,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:730,1
    - Dst: DefWindowProc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - hwnd
    - iMsg
    - wP
    - lP
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 735
    functionName: rpng_win_wndproc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng-win.c
    functionUses: 0
    functionsReached:
    - BeginPaint
    - DefWindowProc
    - PostQuitMessage
    - StretchDIBits
    - EndPaint
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT rpng_win_wndproc(HWND hwnd, UINT iMsg, WPARAM wP, LPARAM lP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - usec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: usleep
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: usleep(usec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: usleep
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: usleep(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: CLIP
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIP(a,min,max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: ABS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: CLIP8P
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIP8P(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: ROUNDF
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDF(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - e
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: QUIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: QUIT(e,k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 174
    functionName: alpha_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alpha_composite(composite, fg, alpha, bg)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:337,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:357,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:361,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:362,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:363,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:386,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:387,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:395,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:400,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:404,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:408,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:413,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:420,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:424,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:431,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:435,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:438,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:440,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:443,1
    - Dst: is_number
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:445,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:449,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:473,1
    - Dst: readpng2_version_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:474,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:475,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:477,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:480,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:481,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:486,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:492,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:501,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:506,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:514,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:517,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:518,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:521,1
    - Dst: readpng2_check_sig
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:522,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:523,1
    - Dst: readpng2_init
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:527,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:530,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:537,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:543,1
    - Dst: XOpenDisplay
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:544,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:546,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:547,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:553,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:558,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:559,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:565,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:566,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:568,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:570,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:578,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:601,1
    - Dst: readpng2_decode_data
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:602,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:604,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:608,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:609,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:610,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:612,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:613,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:614,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:616,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:624,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:626,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:632,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:633,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:634,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:637,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:638,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:645,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:651,1
    - Dst: XCheckMaskEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:659,1
    - Dst: QUIT
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:660,1
    - Dst: rpng2_x_reload_bg_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:666,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:669,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:671,1
    - Dst: XCheckMaskEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:673,1
    - Dst: QUIT
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:674,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:695,1
    - Dst: XCheckMaskEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:697,1
    - Dst: QUIT
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:698,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:708,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:721,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:725,1
    - Dst: rpng2_x_redisplay_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:732,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:742,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:744,1
    - Dst: rpng2_x_redisplay_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:747,1
    - Dst: QUIT
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:749,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:751,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:753,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:759,1
    - Dst: rpng2_x_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:760,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 254
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 765
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 2
    functionsReached:
    - sscanf
    - atol
    - strlen
    - is_number
    - atof
    - fprintf
    - readpng2_cleanup
    - gettimeofday
    - rpng2_x_reload_bg_image
    - rpng2_x_cleanup
    - readpng2_init
    - fclose
    - readpng2_check_sig
    - rpng2_x_redisplay_image
    - memset
    - ferror
    - getenv
    - fgets
    - Trace
    - fread
    - readpng2_decode_data
    - fopen
    - feof
    - readpng2_version_info
    - XCheckMaskEvent
    - usleep
    - sprintf
    - QUIT
    - XNextEvent
    - strncmp
    - sleep
    - XOpenDisplay
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:780,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:781,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:782,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:783,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:787,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:788,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:792,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:794,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:798,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:800,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:802,1
    - Dst: rpng2_x_create_window
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:814,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:822,1
    - Dst: rpng2_x_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:823,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:824,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 828
    functionName: rpng2_x_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - fprintf
    - readpng2_cleanup
    - rpng2_x_cleanup
    - exit
    - Trace
    - rpng2_x_create_window
    linkageType: ''
    returnType: void
    signature: void rpng2_x_init(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:856,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:858,1
    - Dst: DisplayPlanes
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:859,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:860,1
    - Dst: XSynchronize
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:863,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:869,1
    - Dst: XGetVisualInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:875,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:879,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:883,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:895,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:905,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:907,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:915,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:916,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:917,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:919,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:920,1
    - Dst: rpng2_x_msb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:921,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:924,1
    - Dst: XCreateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:942,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:946,1
    - Dst: XSetWindowColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:952,1
    - Dst: XStringListToTextProperty
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:954,1
    - Dst: XStringListToTextProperty
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:956,1
    - Dst: XAllocSizeHints
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:961,1
    - Dst: XAllocWMHints
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:969,1
    - Dst: XAllocClassHint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:976,1
    - Dst: XSetWMProperties
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:981,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:986,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:988,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:990,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:992,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:994,1
    - Dst: XMapWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:996,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:998,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1006,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1009,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1012,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1017,1
    - Dst: XCreateImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1021,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1025,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1026,1
    - Dst: rpng2_x_load_bg_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1046,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1062,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1063,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1072,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1075,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 137
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 1079
    functionName: rpng2_x_create_window
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached:
    - XSetForeground
    - rpng2_x_msb
    - rpng2_x_load_bg_image
    - fprintf
    - RootWindow
    - XAllocSizeHints
    - XCreateImage
    - XSetWindowColormap
    - DefaultScreen
    - XFlush
    - XAllocClassHint
    - XSynchronize
    - XFree
    - Trace
    - XMatchVisualInfo
    - XStringListToTextProperty
    - XAllocWMHints
    - malloc
    - free
    - XFillRectangle
    - XMapWindow
    - XGetVisualInfo
    - XCreateWindow
    - XSetWMProperties
    - XCreateGC
    - XCreateColormap
    - XNextEvent
    - DisplayPlanes
    linkageType: ''
    returnType: int
    signature: int rpng2_x_create_window(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1232,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1234,1
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1246,1
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1247,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1248,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1260,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1261,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1261,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1261,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1262,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1264,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1266,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1266,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1268,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1268,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1269,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1269,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1270,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1270,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1298,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1299,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1370,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 209
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1375
    functionName: rpng2_x_load_bg_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached:
    - MAX
    - ABS
    - MIN
    - cos
    - malloc
    - fprintf
    - CLIP
    - fflush
    - XPutImage
    - atan
    linkageType: ''
    returnType: int
    signature: int rpng2_x_load_bg_image(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1400,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1407,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1411,1
    - Dst: QUIT
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1414,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1415,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1484,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1485,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1486,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1552,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1553,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1554,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1584,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1586,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1588,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1591,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1593,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 139
    argCount: 1
    argNames:
    - row
    argTypes:
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1597
    functionName: rpng2_x_display_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached:
    - usleep
    - QUIT
    - XNextEvent
    - alpha_composite
    - fprintf
    - fflush
    - XFlush
    - XPutImage
    - Trace
    linkageType: ''
    returnType: void
    signature: void rpng2_x_display_row(ulg row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1605,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1612,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1603
    functionDepth: 0
    functionLinenumber: 1603
    functionLinenumberEnd: 1615
    functionName: rpng2_x_finish_display
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 0
    functionsReached:
    - printf
    - Trace
    - fflush
    linkageType: ''
    returnType: void
    signature: void rpng2_x_finish_display(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1635,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1637,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1639,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1640,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1727,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1728,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1729,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1772,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1774,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1825,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1826,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1827,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1842,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1844,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1855,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1857,1
    - Dst: XFlush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:1859,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 167
    argCount: 4
    argNames:
    - startcol
    - startrow
    - width
    - height
    argTypes:
    - ulg
    - ulg
    - ulg
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1865
    functionName: rpng2_x_redisplay_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached:
    - XPutImage
    - alpha_composite
    - Trace
    - XFlush
    linkageType: ''
    returnType: void
    signature: "void rpng2_x_redisplay_image(ulg startcol, ulg startrow,\n                                    ulg
      width, ulg height)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2014,1
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2015,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2016,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2028,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2029,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2029,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2029,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2030,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2032,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2034,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2034,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2036,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2036,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2037,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2037,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2038,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2038,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 150
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 1873
    functionDepth: 0
    functionLinenumber: 1873
    functionLinenumberEnd: 2068
    functionName: rpng2_x_reload_bg_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached:
    - MAX
    - MIN
    - ABS
    - cos
    - CLIP
    - atan
    linkageType: ''
    returnType: void
    signature: void rpng2_x_reload_bg_image(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2077,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2082
    functionName: is_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: int
    signature: int is_number(char *p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2093,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2098,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2103,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2109,1
    - Dst: XDestroyImage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2112,1
    - Dst: XFreeGC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2117,1
    - Dst: XDestroyWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2120,1
    - Dst: XFreeColormap
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2123,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c:2126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2090
    functionDepth: 0
    functionLinenumber: 2090
    functionLinenumberEnd: 2127
    functionName: rpng2_x_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 2
    functionsReached:
    - XFreeGC
    - XDestroyWindow
    - free
    - XDestroyImage
    - XFreeColormap
    - XFree
    linkageType: ''
    returnType: void
    signature: void rpng2_x_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - u32val
    argTypes:
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2133
    functionDepth: 0
    functionLinenumber: 2133
    functionLinenumberEnd: 2143
    functionName: rpng2_x_msb
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rpng2_x_msb(ulg u32val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:72,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: writepng_version_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void writepng_version_info(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:93,1
    - Dst: png_get_libpng_ver
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:93,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:98,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:100,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:111,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:112,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:119,1
    - Dst: png_set_compression_level
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:129,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:149,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:156,1
    - Dst: png_set_gAMA
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:161,1
    - Dst: png_set_bKGD
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:169,1
    - Dst: png_convert_from_time_t
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:175,1
    - Dst: png_set_tIME
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:176,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:219,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:225,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:238,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 82
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 251
    functionName: writepng_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_convert_from_time_t
    - png_set_bKGD
    - png_get_libpng_ver
    - png_set_packing
    - png_write_info
    - png_set_IHDR
    - png_set_tIME
    - png_set_compression_level
    - setjmp
    - png_set_text
    - png_set_gAMA
    - png_create_write_struct
    - png_init_io
    - png_destroy_write_struct
    linkageType: ''
    returnType: int
    signature: int writepng_init(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:268,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:269,1
    - Dst: png_write_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:279,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 259
    functionDepth: 6
    functionLinenumber: 259
    functionLinenumberEnd: 289
    functionName: writepng_encode_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - setjmp
    - png_write_end
    - png_destroy_write_struct
    - png_write_image
    linkageType: ''
    returnType: int
    signature: int writepng_encode_image(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:306,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:307,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 297
    functionDepth: 6
    functionLinenumber: 297
    functionLinenumberEnd: 319
    functionName: writepng_encode_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - setjmp
    - png_write_row
    - png_destroy_write_struct
    linkageType: ''
    returnType: int
    signature: int writepng_encode_row(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:336,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:337,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: writepng_encode_finish
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - setjmp
    - png_write_end
    - png_destroy_write_struct
    linkageType: ''
    returnType: int
    signature: int writepng_encode_finish(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:362,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 363
    functionName: writepng_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - png_destroy_write_struct
    linkageType: ''
    returnType: void
    signature: void writepng_cleanup(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:382,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:383,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:387,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:389,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:390,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 401
    functionName: writepng_error_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/writepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - png_get_error_ptr
    - fflush
    - longjmp
    - exit
    linkageType: ''
    returnType: void
    signature: void writepng_error_handler(png_structp png_ptr, png_const_charp msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: getch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: getch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getch()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - buf
    - ','
    - len
    - ','
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: FGETS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FGETS(buf,len,stream)
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:210,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:214,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:215,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:216,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:239,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:240,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:253,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:255,1
    - Dst: time
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:256,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:258,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:260,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:268,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:271,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:276,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:281,1
    - Dst: isatty
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:302,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:303,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:309,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:309,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:310,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:310,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:312,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:312,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:313,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:317,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:317,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:318,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:320,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:325,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:326,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:329,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:330,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:335,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:339,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:348,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:350,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:352,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:354,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:358,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:366,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:369,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:370,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:373,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:374,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:377,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:378,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:380,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:383,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:390,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:393,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:403,1
    - Dst: writepng_version_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:405,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:430,1
    - Dst: DOS_OS2_W32
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:439,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:440,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:440,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:442,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:446,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:448,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:454,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:455,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:456,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:456,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:461,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:462,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:467,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:484,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:485,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:486,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:486,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:491,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:492,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:497,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:514,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:516,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:517,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:518,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:518,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:531,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:532,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:537,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:554,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:555,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:556,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:556,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:561,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:562,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:567,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:584,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:585,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:586,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:586,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:591,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:592,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:597,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:614,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:615,1
    - Dst: FGETS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:616,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:616,1
    - Dst: wpng_isvalid_latin1
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:621,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:622,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:627,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:646,1
    - Dst: writepng_init
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:654,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:657,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:661,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:664,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:668,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:672,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:680,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:700,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:701,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:711,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:712,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:713,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:714,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:719,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:720,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:722,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:723,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:724,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:725,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:729,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:731,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:733,1
    - Dst: writepng_encode_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:735,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:736,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:738,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:739,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:740,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:747,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:749,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:750,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:751,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:752,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:756,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:758,1
    - Dst: writepng_encode_row
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:764,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:765,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:773,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:774,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:775,1
    - Dst: writepng_encode_finish
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:777,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:778,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:779,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:780,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:781,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:788,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:789,1
    - Dst: writepng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:791,1
    - Dst: wpng_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:792,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 405
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 155
    functionDepth: 8
    functionLinenumber: 155
    functionLinenumberEnd: 795
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 2
    functionsReached:
    - sscanf
    - strlen
    - writepng_encode_image
    - strrchr
    - atof
    - fprintf
    - time
    - fclose
    - writepng_encode_finish
    - writepng_init
    - isatty
    - writepng_encode_row
    - getenv
    - fdopen
    - DOS_OS2_W32
    - fgets
    - FGETS
    - wpng_isvalid_latin1
    - fread
    - writepng_version_info
    - malloc
    - free
    - fflush
    - fopen
    - writepng_cleanup
    - setmode
    - fileno
    - strcpy
    - strncpy
    - strncmp
    - wpng_cleanup
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - p
    - len
    argTypes:
    - uch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 813
    functionName: wpng_isvalid_latin1
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wpng_isvalid_latin1(uch *p, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:822,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:827,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:832,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:837,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 840
    functionName: wpng_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 1
    functionsReached:
    - free
    - fclose
    linkageType: ''
    returnType: void
    signature: void wpng_cleanup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getche
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:852,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:859,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 863
    functionName: dos_kbd_gets
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/wpng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - getche
    - fflush
    linkageType: ''
    returnType: char
    signature: char *dos_kbd_gets(char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - png_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: png_jmpbuf
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_jmpbuf(png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: readpng_version_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void readpng_version_info(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:96,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:97,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:103,1
    - Dst: png_get_libpng_ver
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:103,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:108,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:110,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:123,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:123,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:124,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:129,1
    - Dst: png_set_sig_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:130,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:132,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - infile
    - pWidth
    - pHeight
    argTypes:
    - FILE*
    - ulg*
    - ulg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 88
    functionDepth: 5
    functionLinenumber: 88
    functionLinenumberEnd: 148
    functionName: readpng_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 2
    functionsReached:
    - png_read_info
    - png_create_info_struct
    - png_jmpbuf
    - fread
    - png_get_libpng_ver
    - png_destroy_read_struct
    - png_set_sig_bytes
    - png_sig_cmp
    - setjmp
    - png_get_IHDR
    - png_create_read_struct
    - png_init_io
    linkageType: ''
    returnType: int
    signature: int readpng_init(FILE *infile, ulg *pWidth, ulg *pHeight)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:164,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:164,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:165,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:170,1
    - Dst: png_get_bKGD
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - red
    - green
    - blue
    argTypes:
    - uch*
    - uch*
    - uch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 156
    functionDepth: 4
    functionLinenumber: 156
    functionLinenumberEnd: 201
    functionName: readpng_get_bgcolor
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 2
    functionsReached:
    - png_jmpbuf
    - png_destroy_read_struct
    - png_get_valid
    - setjmp
    - png_get_bKGD
    linkageType: ''
    returnType: int
    signature: int readpng_get_bgcolor(uch *red, uch *green, uch *blue)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:218,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:218,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:219,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:221,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:223,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:233,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:235,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:236,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:237,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:241,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:243,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:248,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:255,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:256,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:262,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:264,1
    - Dst: png_get_channels
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:265,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:269,1
    - Dst: return
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:270,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:273,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:274,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:278,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:279,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:284,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:296,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:302,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:305,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:314,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:319,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - display_exponent
    - pChannels
    - pRowbytes
    argTypes:
    - double
    - int*
    - ulg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 208
    functionDepth: 8
    functionLinenumber: 208
    functionLinenumberEnd: 323
    functionName: readpng_get_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 2
    functionsReached:
    - png_get_valid
    - return
    - fprintf
    - png_set_strip_16
    - png_destroy_read_struct
    - png_get_channels
    - Trace
    - png_set_gamma
    - png_set_scale_16
    - png_get_rowbytes
    - malloc
    - free
    - png_get_gAMA
    - png_read_end
    - png_jmpbuf
    - png_set_expand
    - png_read_image
    - setjmp
    - png_read_update_info
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: uch
    signature: uch *readpng_get_image(double display_exponent, int *pChannels, ulg
      *pRowbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:278,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sizeof(png_bytep)
    argTypes:
    - height*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: malloc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 82
    functionsReached:
    - free
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void malloc(height*sizeof(png_bytep))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:314,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - free_image_data
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: readpng_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng.c
    functionUses: 2
    functionsReached:
    - free
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void readpng_cleanup(int free_image_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:111,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:114,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:117,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:118,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: repl_getch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached:
    - ioctl
    - fileno
    - fread
    linkageType: ''
    returnType: int
    signature: int repl_getch( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: CLIP
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIP(a,min,max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: ABS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: CLIP8P
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIP8P(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ROUNDF
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDF(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - composite
    - ','
    - fg
    - ','
    - alpha
    - ','
    - bg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: alpha_composite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alpha_composite(composite, fg, alpha, bg)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:298,1
    - Dst: AllocConsole
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:306,1
    - Dst: freopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:307,1
    - Dst: freopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:308,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:329,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:333,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:334,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:335,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:358,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:359,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:392,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:396,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:400,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:405,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:412,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:416,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:424,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:447,1
    - Dst: readpng2_version_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:448,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:449,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:470,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:470,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:470,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:471,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:471,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:472,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:474,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:475,1
    - Dst: _getch
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:478,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:481,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:485,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:486,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:489,1
    - Dst: readpng2_check_sig
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:490,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:491,1
    - Dst: readpng2_init
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:495,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:498,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:502,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:505,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:512,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:521,1
    - Dst: _getch
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:524,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:527,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:529,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:531,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:535,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:541,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:542,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:544,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:546,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:554,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:577,1
    - Dst: readpng2_decode_data
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:578,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:580,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:584,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:585,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:586,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:588,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:589,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:590,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:592,1
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:600,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:602,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:608,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:609,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:613,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:614,1
    - Dst: GetMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:620,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:621,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:622,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:628,1
    - Dst: rpng2_win_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:629,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 184
    argCount: 4
    argNames:
    - hInst
    - hPrevInst
    - cmd
    - showmode
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - PSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 632
    functionName: WinMain
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached:
    - sscanf
    - AllocConsole
    - rpng2_win_cleanup
    - strlen
    - _getch
    - freopen
    - atof
    - fprintf
    - readpng2_cleanup
    - GetMessage
    - readpng2_init
    - fclose
    - readpng2_check_sig
    - memset
    - defined
    - getenv
    - ferror
    - Sleep
    - fgets
    - TranslateMessage
    - Trace
    - DispatchMessage
    - fread
    - readpng2_decode_data
    - fflush
    - fopen
    - feof
    - readpng2_version_info
    - sprintf
    - strncmp
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, PSTR cmd, int showmode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:647,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:648,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:649,1
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:650,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:654,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:655,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:659,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:661,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:665,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:667,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:669,1
    - Dst: rpng2_win_create_window
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:681,1
    - Dst: readpng2_cleanup
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 642
    functionDepth: 5
    functionLinenumber: 642
    functionLinenumberEnd: 687
    functionName: rpng2_win_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached:
    - rpng2_win_create_window
    - malloc
    - free
    - fprintf
    - readpng2_cleanup
    - Trace
    linkageType: ''
    returnType: void
    signature: void rpng2_win_init()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:712,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:725,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:742,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:758,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:764,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:765,1
    - Dst: GetStockObject
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:766,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:769,1
    - Dst: RegisterClassEx
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:771,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:777,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:778,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:779,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:780,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:781,1
    - Dst: CreateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:783,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:787,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:788,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:797,1
    - Dst: GetDC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:798,1
    - Dst: GetTextMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:801,1
    - Dst: SetBkMode
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:804,1
    - Dst: SetTextColor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:805,1
    - Dst: GetSysColor
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:805,1
    - Dst: TextOut
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:807,1
    - Dst: ReleaseDC
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:808,1
    - Dst: rpng2_win_load_bg_image
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:810,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:828,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:829,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 693
    functionDepth: 5
    functionLinenumber: 693
    functionLinenumberEnd: 833
    functionName: rpng2_win_create_window
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 1
    functionsReached:
    - TextOut
    - strlen
    - UpdateWindow
    - GetDC
    - RegisterClassEx
    - GetSystemMetrics
    - ShowWindow
    - memset
    - GetTextMetrics
    - rpng2_win_load_bg_image
    - LoadIcon
    - GetStockObject
    - LoadCursor
    - malloc
    - ReleaseDC
    - InvalidateRect
    - CreateWindow
    - SetTextColor
    - GetSysColor
    - SetBkMode
    linkageType: ''
    returnType: int
    signature: int rpng2_win_create_window()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:857,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:859,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:980,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:982,1
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:994,1
    - Dst: CLIP
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:995,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:996,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1008,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1009,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1009,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1009,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1010,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1012,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1014,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1014,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1016,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1016,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1017,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1017,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1018,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1018,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1046,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1047,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 172
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 1070
    functionName: rpng2_win_load_bg_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 1
    functionsReached:
    - MAX
    - ABS
    - MIN
    - cos
    - malloc
    - fprintf
    - CLIP
    - fflush
    - atan
    linkageType: ''
    returnType: int
    signature: int rpng2_win_load_bg_image()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1093,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1144,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1145,1
    - Dst: alpha_composite
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1146,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1163,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1164,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 54
    argCount: 1
    argNames:
    - row
    argTypes:
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1168
    functionName: rpng2_win_display_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached:
    - UpdateWindow
    - InvalidateRect
    - alpha_composite
    - Trace
    linkageType: ''
    returnType: void
    signature: void rpng2_win_display_row(ulg row)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1200,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1205,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1210,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1218
    functionName: rpng2_win_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rpng2_win_cleanup()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BeginPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1236,1
    - Dst: StretchDIBits
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1237,1
    - Dst: EndPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1241,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1250,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1256,1
    - Dst: DefWindowProc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - hwnd
    - iMsg
    - wP
    - lP
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1261
    functionName: rpng2_win_wndproc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/rpng2-win.c
    functionUses: 0
    functionsReached:
    - BeginPaint
    - DefWindowProc
    - PostQuitMessage
    - StretchDIBits
    - EndPaint
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT rpng2_win_wndproc(HWND hwnd, UINT iMsg, WPARAM wP, LPARAM lP)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: readpng_version_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void readpng_version_info()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:91,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:107,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:109,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:112,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - infile
    - pWidth
    - pHeight
    argTypes:
    - FILE*
    - ulg*
    - ulg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 125
    functionName: readpng_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c
    functionUses: 2
    functionsReached:
    - fprintf
    - sscanf
    - fgets
    linkageType: ''
    returnType: int
    signature: int readpng_init(FILE *infile, ulg *pWidth, ulg *pHeight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - red
    - green
    - blue
    argTypes:
    - uch*
    - uch*
    - uch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    functionName: readpng_get_bgcolor
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int readpng_get_bgcolor(uch *red, uch *green, uch *blue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Trace
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:157,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:161,1
    - Dst: return
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:162,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - display_exponent
    - pChannels
    - pRowbytes
    argTypes:
    - double
    - int*
    - ulg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 143
    functionDepth: 5
    functionLinenumber: 143
    functionLinenumberEnd: 179
    functionName: readpng_get_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c
    functionUses: 2
    functionsReached:
    - malloc
    - return
    - fprintf
    - Trace
    linkageType: ''
    returnType: uch
    signature: uch *readpng_get_image(double display_exponent, int *pChannels, ulg
      *pRowbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - free_image_data
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: readpng_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readppm.c
    functionUses: 2
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void readpng_cleanup(int free_image_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: readpng2_version_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void readpng2_version_info(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sig
    - num
    argTypes:
    - uch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: readpng2_check_sig
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 2
    functionsReached:
    - png_sig_cmp
    linkageType: ''
    returnType: int
    signature: int readpng2_check_sig(uch *sig, int num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:113,1
    - Dst: png_get_libpng_ver
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:113,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:118,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:120,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:135,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:136,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:156,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:160,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 183
    functionName: readpng2_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 2
    functionsReached:
    - png_create_info_struct
    - png_set_progressive_read_fn
    - png_get_libpng_ver
    - png_destroy_read_struct
    - png_set_keep_unknown_chunks
    - setjmp
    - png_create_read_struct
    linkageType: ''
    returnType: int
    signature: int readpng2_init(mainprog_info *mainprog_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:199,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:200,1
    - Dst: png_process_data
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - mainprog_ptr
    - rawbuf
    - length
    argTypes:
    - mainprog_info*
    - uch*
    - ulg
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 212
    functionName: readpng2_decode_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 2
    functionsReached:
    - setjmp
    - png_process_data
    - png_destroy_read_struct
    linkageType: ''
    returnType: int
    signature: int readpng2_decode_data(mainprog_info *mainprog_ptr, uch *rawbuf,
      ulg length)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:242,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:245,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:247,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:261,1
    - Dst: png_get_bKGD
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:277,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:312,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:314,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:315,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:316,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:320,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:322,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:327,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:346,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:347,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:349,1
    - Dst: png_get_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:351,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:352,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:355,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:361,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:367,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:369,1
    - Dst: png_get_channels
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:370,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 217
    functionDepth: 4
    functionLinenumber: 217
    functionLinenumberEnd: 384
    functionName: readpng2_info_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 0
    functionsReached:
    - png_set_expand
    - png_set_gamma
    - png_get_gAMA_fixed
    - png_get_valid
    - png_set_scale_16
    - png_set_gamma_fixed
    - png_get_progressive_ptr
    - png_set_interlace_handling
    - png_get_IHDR
    - png_get_rowbytes
    - png_get_gAMA
    - fprintf
    - png_get_bKGD
    - png_get_channels
    - fflush
    - png_read_update_info
    - png_set_strip_16
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: void
    signature: void readpng2_info_callback(png_structp png_ptr, png_infop info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:406,1
    - Dst: png_progressive_combine_row
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - png_ptr
    - new_row
    - row_num
    - pass
    argTypes:
    - png_structp
    - png_bytep
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 431
    functionName: readpng2_row_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 0
    functionsReached:
    - png_progressive_combine_row
    - png_get_progressive_ptr
    linkageType: ''
    returnType: void
    signature: "void readpng2_row_callback(png_structp png_ptr, png_bytep new_row,\n
      \                                 png_uint_32 row_num, int pass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - info_ptr
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 462
    functionName: readpng2_end_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 0
    functionsReached:
    - png_get_progressive_ptr
    linkageType: ''
    returnType: void
    signature: void readpng2_end_callback(png_structp png_ptr, png_infop info_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mainprog_ptr
    argTypes:
    - mainprog_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 468
    functionDepth: 4
    functionLinenumber: 468
    functionLinenumberEnd: 478
    functionName: readpng2_cleanup
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 4
    functionsReached:
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void readpng2_cleanup(mainprog_info *mainprog_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:483,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: readpng2_warning_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void readpng2_warning_handler(png_structp png_ptr, png_const_charp
      msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:502,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:503,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:505,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:507,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:509,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:510,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 521
    functionName: readpng2_error_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/gregbook/readpng2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - png_get_error_ptr
    - fflush
    - longjmp
    - exit
    linkageType: ''
    returnType: void
    signature: void readpng2_error_handler(png_structp png_ptr, png_const_charp msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getauxval
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux_aux.c:26,1
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux_aux.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 34
    functionName: png_have_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux_aux.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    - getauxval
    linkageType: ''
    returnType: int
    signature: int png_have_vsx(png_structp png_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c:39,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c:41,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c:44,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c:45,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: png_have_vsx
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/powerpc-vsx/linux.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    - strstr
    - memset
    - fopen
    - fgets
    linkageType: ''
    returnType: int
    signature: int png_have_vsx(png_structp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 54
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: aligncastconst
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: aligncastconst(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - seed
    - pv
    - size
    argTypes:
    - png_uint_32*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 108
    functionName: make_random_bytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 1
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void make_random_bytes(png_uint_32* seed, void* pv, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: reseed
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void reseed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - color
    argTypes:
    - png_colorp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: random_color
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - make_random_bytes
    linkageType: ''
    returnType: void
    signature: void random_color(png_colorp color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: closestinteger
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: double
    signature: double closestinteger(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestinteger
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 140
    functionName: u8d
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - closestinteger
    linkageType: ''
    returnType: png_byte
    signature: png_byte u8d(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: closestinteger
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: u16d
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - closestinteger
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 u16d(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: linear_from_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:162,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 169
    functionName: init_sRGB_to_d
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - pow
    - linear_from_sRGB
    linkageType: ''
    returnType: void
    signature: void init_sRGB_to_d(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u8d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:174,1
    - Dst: sRGB_from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - linear
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 175
    functionName: sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 19
    functionsReached:
    - sRGB_from_linear
    - u8d
    linkageType: ''
    returnType: png_byte
    signature: png_byte sRGB(double linear /*range 0.0 .. 1.0*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed_linear
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: isRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB
    linkageType: ''
    returnType: png_byte
    signature: png_byte isRGB(int fixed_linear)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:191,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - component
    - alpha
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: unpremultiply
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 2
    functionsReached:
    - isRGB
    - sRGB
    linkageType: ''
    returnType: png_byte
    signature: png_byte unpremultiply(int component, int alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed_srgb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: ilinear
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u16d
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 ilinear(int fixed_srgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixed_srgb
    - alpha
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: ilineara
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u16d
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 ilineara(int fixed_srgb, int alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fixed_srgb
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: ilinear_g22
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u16d
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 ilinear_g22(int fixed_srgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fixed_srgb
    - alpha
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: ilineara_g22
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u16d
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 ilineara_g22(int fixed_srgb, int alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ir
    - ig
    - ib
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: YfromRGBint
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGB
    linkageType: ''
    returnType: double
    signature: double YfromRGBint(int ir, int ig, int ib)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:243,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:244,1
    - Dst: sRGB_from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:244,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:244,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: power_law_error8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB_from_linear
    - pow
    - floor
    - fabs
    linkageType: ''
    returnType: int
    signature: int power_law_error8(int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:264,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:265,1
    - Dst: sRGB_from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:265,1
    - Dst: linear_from_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:265,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:265,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 273
    functionName: power_law_error16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - pow
    - sRGB_from_linear
    - linear_from_sRGB
    - floor
    - fabs
    linkageType: ''
    returnType: int
    signature: int power_law_error16(int value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:278,1
    - Dst: power_law_error8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:287,1
    - Dst: power_law_error8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - v1
    - v2
    - error_limit
    - multiple_algorithms
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 296
    functionName: compare_8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - power_law_error8
    - abs
    linkageType: ''
    returnType: int
    signature: int compare_8bit(int v1, int v2, int error_limit, int multiple_algorithms)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:301,1
    - Dst: power_law_error16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:314,1
    - Dst: power_law_error16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:318,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - v1
    - v2
    - error_limit
    - multiple_algorithms
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 323
    functionName: compare_16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - abs
    - power_law_error16
    linkageType: ''
    returnType: int
    signature: int compare_16bit(int v1, int v2, int error_limit, int multiple_algorithms)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:343,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:345,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:347,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:349,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:351,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:353,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:355,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:357,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:359,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:361,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:364,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 1
    argNames:
    - opts
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 366
    functionName: print_opts
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_opts(png_uint_32 opts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:455,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:462,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:466,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 468
    functionName: formatof
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - strtoul
    - fprintf
    - strcmp
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 formatof(const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pf
    argTypes:
    - format_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 483
    functionName: format_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_init(format_list *pf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pf
    argTypes:
    - format_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: format_clear
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void format_clear(format_list *pf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pf
    argTypes:
    - format_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 502
    functionName: format_is_initial
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int format_is_initial(format_list *pf)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - format
    argTypes:
    - format_list*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: format_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int format_set(format_list *pf, png_uint_32 format)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pf
    - format
    argTypes:
    - format_list*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 519
    functionName: format_unset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int format_unset(format_list *pf, png_uint_32 format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pf
    - format
    argTypes:
    - format_list*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 526
    functionName: format_isset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int format_isset(format_list *pf, png_uint_32 format)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: format_set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:564,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pf
    - redundant
    argTypes:
    - format_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 567
    functionName: format_default
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - format_set
    linkageType: ''
    returnType: void
    signature: void format_default(format_list *pf, int redundant)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: newimage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void newimage(Image *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: resetimage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - rewind
    linkageType: ''
    returnType: void
    signature: void resetimage(Image *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 617
    functionName: freebuffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void freebuffer(Image *image)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: freebuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:625,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:626,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:630,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:636,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:643,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 622
    functionDepth: 6
    functionLinenumber: 622
    functionLinenumberEnd: 646
    functionName: freeimage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - freebuffer
    - free
    - remove
    - png_image_free
    - fclose
    linkageType: ''
    returnType: void
    signature: void freeimage(Image *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: freeimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:654,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - image
    - opts
    - file_name
    - stride_extra
    argTypes:
    - Image*
    - png_uint_32
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 7
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: initimage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - freeimage
    - memset
    linkageType: ''
    returnType: void
    signature: "void initimage(Image *image, png_uint_32 opts, const char *file_name,\n
      \  int stride_extra)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PNG_IMAGE_BUFFER_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:668,1
    - Dst: freebuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:672,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:673,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:673,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:677,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:680,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:685,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 665
    functionDepth: 5
    functionLinenumber: 665
    functionLinenumberEnd: 688
    functionName: allocbuffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    - PNG_IMAGE_BUFFER_SIZE
    - freebuffer
    - malloc
    - fprintf
    - memset
    - fflush
    - exit
    linkageType: ''
    returnType: void
    signature: void allocbuffer(Image *image)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - bp
    - b
    argTypes:
    - png_const_bytep
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: check16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check16(png_const_bytep bp, int b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:707,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:709,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:710,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:711,1
    - Dst: check16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:714,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:716,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:717,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - image
    - arg
    argTypes:
    - Image*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 720
    functionName: checkbuffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - fflush
    - check16
    linkageType: ''
    returnType: void
    signature: void checkbuffer(Image *image, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:728,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:730,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:733,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:737,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - image
    - a1
    - a2
    - a3
    argTypes:
    - Image*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 743
    functionName: logerror
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - png_image_free
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int logerror(Image *image, const char *a1, const char *a2, const char
      *a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:753,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:754,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - image
    - f
    - name
    - operation
    argTypes:
    - Image*
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 748
    functionDepth: 7
    functionLinenumber: 748
    functionLinenumberEnd: 755
    functionName: logclose
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - strerror
    - logerror
    - fclose
    linkageType: ''
    returnType: int
    signature: int logclose(Image *image, FILE *f, const char *name, const char *operation)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:765,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:766,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:773,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:776,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 760
    functionDepth: 7
    functionLinenumber: 760
    functionLinenumberEnd: 781
    functionName: checkopaque
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - png_image_free
    - logerror
    - strcmp
    linkageType: ''
    returnType: int
    signature: int checkopaque(Image *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 819
    functionName: gp_g8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_g8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 828
    functionName: gp_ga8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_ga8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 838
    functionName: gp_ag8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_ag8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: gp_rgb8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_rgb8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 862
    functionName: gp_bgr8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_bgr8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: gp_rgba8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_rgba8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 886
    functionName: gp_bgra8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_bgra8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 899
    functionName: gp_argb8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_argb8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:906,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 912
    functionName: gp_abgr8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_abgr8(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 922
    functionName: gp_g16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_g16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 931
    functionName: gp_ga16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_ga16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 941
    functionName: gp_ag16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_ag16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 953
    functionName: gp_rgb16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_rgb16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 956
    functionDepth: 0
    functionLinenumber: 956
    functionLinenumberEnd: 965
    functionName: gp_bgr16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_bgr16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 977
    functionName: gp_rgba16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_rgba16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:983,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 989
    functionName: gp_bgra16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_bgra16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1002
    functionName: gp_argb16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_argb16(Pixel *p, png_const_voidp pb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1015
    functionName: gp_abgr16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void gp_abgr16(Pixel *p, png_const_voidp pb)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - p
    - pb
    argTypes:
    - Pixel*
    - png_const_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1143
    functionName: '(*

      get_pixel(png_uint_32 format))(Pixel *p, png_const_voidp pb)'
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void (*

      get_pixel(png_uint_32 format))(Pixel *p, png_const_voidp pb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1202
    functionDepth: 0
    functionLinenumber: 1202
    functionLinenumberEnd: 1210
    functionName: gpc_noop
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gpc_noop(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1228
    functionName: gpc_nop8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gpc_nop8(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1247
    functionName: gpc_nop6
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gpc_nop6(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1269
    functionName: gpc_bckg
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_bckg(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1293,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1294,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1272
    functionDepth: 0
    functionLinenumber: 1272
    functionLinenumberEnd: 1299
    functionName: gpc_bckc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_bckc(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1312,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1315
    functionName: gpc_g8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGB
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_g8(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1330,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1330,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1338,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1318
    functionDepth: 1
    functionLinenumber: 1318
    functionLinenumberEnd: 1343
    functionName: gpc_g8b
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGB
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_g8b(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilinear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1352,1
    - Dst: ilinear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1362,1
    - Dst: ilinear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1367,1
    - Dst: ilinear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1376,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1347
    functionDepth: 3
    functionLinenumber: 1347
    functionLinenumberEnd: 1380
    functionName: gpc_lin
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilinear
    linkageType: ''
    returnType: void
    signature: void gpc_lin(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1388,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1398,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1403,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1383
    functionDepth: 3
    functionLinenumber: 1383
    functionLinenumberEnd: 1416
    functionName: gpc_pre
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara
    linkageType: ''
    returnType: void
    signature: void gpc_pre(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1424,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1434,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1439,1
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1419
    functionDepth: 3
    functionLinenumber: 1419
    functionLinenumberEnd: 1452
    functionName: gpc_preq
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara
    linkageType: ''
    returnType: void
    signature: void gpc_preq(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilinear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1461,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1464,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1468
    functionName: gpc_glin
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGB
    - ilinear
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_glin(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1477,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1480,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1484
    functionName: gpc_gpre
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara
    - YfromRGB
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_gpre(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilineara
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1493,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1496,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1487
    functionDepth: 3
    functionLinenumber: 1487
    functionLinenumberEnd: 1500
    functionName: gpc_gprq
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara
    - YfromRGB
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_gprq(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilinear_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1509,1
    - Dst: ilinear_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1519,1
    - Dst: ilinear_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1524,1
    - Dst: ilinear_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1504
    functionDepth: 3
    functionLinenumber: 1504
    functionLinenumberEnd: 1537
    functionName: gpc_Lin
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilinear_g22
    linkageType: ''
    returnType: void
    signature: void gpc_Lin(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1547,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1557,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1562,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1571,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1542
    functionDepth: 3
    functionLinenumber: 1542
    functionLinenumberEnd: 1575
    functionName: gpc_Pre
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara_g22
    linkageType: ''
    returnType: void
    signature: void gpc_Pre(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1585,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1595,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1600,1
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1580
    functionDepth: 3
    functionLinenumber: 1580
    functionLinenumberEnd: 1613
    functionName: gpc_Preq
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara_g22
    linkageType: ''
    returnType: void
    signature: void gpc_Preq(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilinear_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1625,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1628,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1619
    functionDepth: 3
    functionLinenumber: 1619
    functionLinenumberEnd: 1632
    functionName: gpc_Glin
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGB
    - ilinear_g22
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_Glin(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1645,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1648,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1639
    functionDepth: 3
    functionLinenumber: 1639
    functionLinenumberEnd: 1652
    functionName: gpc_Gpre
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara_g22
    - YfromRGB
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_Gpre(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ilineara_g22
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1663,1
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1666,1
    - Dst: YfromRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1667,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1657
    functionDepth: 3
    functionLinenumber: 1657
    functionLinenumberEnd: 1670
    functionName: gpc_Gprq
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - ilineara_g22
    - YfromRGB
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_Gprq(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1680,1
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1690,1
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1695,1
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1704,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1675
    functionDepth: 1
    functionLinenumber: 1675
    functionLinenumberEnd: 1708
    functionName: gpc_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - isRGB
    linkageType: ''
    returnType: void
    signature: void gpc_sRGB(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1724,1
    - Dst: u8d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1725,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1711
    functionDepth: 2
    functionLinenumber: 1711
    functionLinenumberEnd: 1727
    functionName: gpc_unpg
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u8d
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_unpg(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1743,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1744,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1745,1
    - Dst: u8d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1730
    functionDepth: 2
    functionLinenumber: 1730
    functionLinenumberEnd: 1748
    functionName: gpc_unpc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u8d
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_unpc(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1767
    functionName: gpc_b16g
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_b16g(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1786,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1787,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1770
    functionDepth: 0
    functionLinenumber: 1770
    functionLinenumberEnd: 1792
    functionName: gpc_b16c
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_b16c(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1800,1
    - Dst: YfromRGBint
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1795
    functionDepth: 2
    functionLinenumber: 1795
    functionLinenumberEnd: 1802
    functionName: gpc_sG
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGBint
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_sG(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1818,1
    - Dst: YfromRGBint
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1818,1
    - Dst: u8d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1805
    functionDepth: 2
    functionLinenumber: 1805
    functionLinenumberEnd: 1821
    functionName: gpc_sGp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGBint
    - u8d
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_sGp(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1837,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1838,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1839,1
    - Dst: u8d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1824
    functionDepth: 2
    functionLinenumber: 1824
    functionLinenumberEnd: 1842
    functionName: gpc_sCp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - u8d
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_sCp(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1853,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1861,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1865
    functionName: gpc_gb16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - isRGB
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_gb16(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1880,1
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1881,1
    - Dst: isRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1882,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1891,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1892,1
    - Dst: sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1868
    functionDepth: 1
    functionLinenumber: 1868
    functionLinenumberEnd: 1897
    functionName: gpc_cb16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - isRGB
    - sRGB
    linkageType: ''
    returnType: void
    signature: void gpc_cb16(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1901
    functionDepth: 0
    functionLinenumber: 1901
    functionLinenumberEnd: 1909
    functionName: gpc_A
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gpc_A(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1916,1
    - Dst: YfromRGBint
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1912
    functionDepth: 2
    functionLinenumber: 1912
    functionLinenumberEnd: 1918
    functionName: gpc_g16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGBint
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_g16(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u16d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1925,1
    - Dst: YfromRGBint
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - out
    - in
    - back
    argTypes:
    - Pixel*
    - Pixel*
    - Background*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1921
    functionDepth: 2
    functionLinenumber: 1921
    functionLinenumberEnd: 1927
    functionName: gpc_g16q
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - YfromRGBint
    - u16d
    linkageType: ''
    returnType: void
    signature: void gpc_g16q(Pixel *out, const Pixel *in, const Background *back)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2069,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2089,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2090,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2103,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 78
    argCount: 5
    argNames:
    - result
    - in_image
    - out_image
    - background
    - via_linear
    argTypes:
    - Transform*
    - Image*
    - Image*
    - png_const_colorp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2250
    functionName: transform_from_formats
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - get_pixel
    - fprintf
    - memset
    - exit
    linkageType: ''
    returnType: void
    signature: "void transform_from_formats(Transform *result, Image *in_image,\n
      \  const Image *out_image, png_const_colorp background, int via_linear)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2303,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2312
    functionName: init_error_via_linear
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - pow
    - floor
    linkageType: ''
    returnType: void
    signature: void init_error_via_linear(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2321,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2325,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2330,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2335,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - string
    - pixel
    - format
    argTypes:
    - char[]
    - Pixel*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2315
    functionDepth: 0
    functionLinenumber: 2315
    functionLinenumberEnd: 2343
    functionName: print_pixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: void
    signature: void print_pixel(char string[64], const Pixel *pixel, png_uint_32 format)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: print_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2358,1
    - Dst: print_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2359,1
    - Dst: print_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2360,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2363,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2365,1
    - Dst: print_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2387,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2388,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2397,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2401,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2408,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 7
    argNames:
    - transform
    - x
    - y
    - in
    - calc
    - out
    - reason
    argTypes:
    - Transform*
    - png_uint_32
    - png_uint_32
    - Pixel*
    - Pixel*
    - Pixel*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2345
    functionDepth: 7
    functionLinenumber: 2345
    functionLinenumberEnd: 2416
    functionName: logpixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - logerror
    - sprintf
    - print_pixel
    linkageType: ''
    returnType: int
    signature: "int logpixel(const Transform *transform, png_uint_32 x, png_uint_32
      y,\n   const Pixel *in, const Pixel *calc, const Pixel *out, const char *reason)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: Transform*::in_gp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2426,1
    - Dst: Transform*::transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2429,1
    - Dst: Transform*::transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2433,1
    - Dst: Transform*::from_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2434,1
    - Dst: Transform*::out_gp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2437,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2456,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2478,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2479,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2480,1
    - Dst: logpixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2523,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 5
    argNames:
    - transform
    - in
    - out
    - x
    - y
    argTypes:
    - Transform*
    - png_const_voidp
    - png_const_voidp
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2418
    functionDepth: 8
    functionLinenumber: 2418
    functionLinenumberEnd: 2524
    functionName: cmppixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - Transform*::transform
    - Transform*::out_gp
    - logpixel
    - Transform*::in_gp
    - abs
    - Transform*::from_linear
    linkageType: ''
    returnType: int
    signature: "int cmppixel(Transform *transform, png_const_voidp in, png_const_voidp
      out,\n   png_uint_32 x, png_uint_32 y/*or palette index*/)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - loc
    - format
    argTypes:
    - png_byte[]
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2526
    functionDepth: 0
    functionLinenumber: 2526
    functionLinenumberEnd: 2592
    functionName: component_loc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: png_byte
    signature: png_byte component_loc(png_byte loc[4], png_uint_32 format)
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: PNG_IMAGE_SAMPLE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2609,1
    - Dst: PNG_IMAGE_SAMPLE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2610,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2619,1
    - Dst: transform_from_formats
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2623,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2649,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2705,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2707,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2717,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2719,1
    - Dst: cmppixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2725,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2759,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2761,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2767,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2769,1
    - Dst: component_loc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2819,1
    - Dst: component_loc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2820,1
    - Dst: aligncastconst
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2880,1
    - Dst: aligncastconst
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2881,1
    - Dst: cmppixel
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2929,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 151
    argCount: 4
    argNames:
    - a
    - b
    - via_linear
    - background
    argTypes:
    - Image*
    - Image*
    - int
    - png_const_colorp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2597
    functionDepth: 9
    functionLinenumber: 2597
    functionLinenumberEnd: 2944
    functionName: compare_two_images
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - sprintf
    - aligncastconst
    - component_loc
    - memset
    - logerror
    - PNG_IMAGE_SAMPLE_SIZE
    - cmppixel
    - transform_from_formats
    linkageType: ''
    returnType: int
    signature: "int compare_two_images(Image *a, Image *b, int via_linear,\n   png_const_colorp
      background)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2952,1
    - Dst: png_image_begin_read_from_memory
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2957,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2959,1
    - Dst: png_image_begin_read_from_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2965,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2966,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2971,1
    - Dst: png_image_begin_read_from_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2971,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2972,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2977,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:2998,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3006,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3009,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3011,1
    - Dst: PNG_IMAGE_ROW_STRIDE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3030,1
    - Dst: allocbuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3031,1
    - Dst: png_image_finish_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3033,1
    - Dst: checkbuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3036,1
    - Dst: checkopaque
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3039,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3042,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 3
    argNames:
    - image
    - format
    - background
    argTypes:
    - Image*
    - png_uint_32
    - png_const_colorp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 2949
    functionDepth: 9
    functionLinenumber: 2949
    functionLinenumberEnd: 3044
    functionName: read_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - checkbuffer
    - png_image_begin_read_from_memory
    - printf
    - png_image_begin_read_from_stdio
    - PNG_IMAGE_ROW_STRIDE
    - png_image_finish_read
    - checkopaque
    - memset
    - logerror
    - fflush
    - if
    - png_image_begin_read_from_file
    - allocbuffer
    linkageType: ''
    returnType: int
    signature: int read_file(Image *image, png_uint_32 format, png_const_colorp background)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3056,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3065,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3067,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3075,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3075,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3079,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3081,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3083,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3090,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3091,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3097,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3102,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3111,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3115,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3120,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3125,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3126,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - image
    argTypes:
    - Image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3050
    functionDepth: 8
    functionLinenumber: 3050
    functionLinenumberEnd: 3130
    functionName: read_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 1
    functionsReached:
    - fread
    - rewind
    - voidcast
    - read_file
    - malloc
    - ftell
    - free
    - fseek
    - logerror
    - fopen
    - strerror
    - logclose
    - fclose
    linkageType: ''
    returnType: int
    signature: int read_one_file(Image *image)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: tmpfile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3143,1
    - Dst: umask
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3163,1
    - Dst: mkstemp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3164,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3169,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3173,1
    - Dst: png_image_write_to_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3179,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3182,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3184,1
    - Dst: initimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3185,1
    - Dst: checkopaque
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3187,1
    - Dst: logclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3192,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3197,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3198,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3203,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3203,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3205,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3215,1
    - Dst: png_image_write_to_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3217,1
    - Dst: initimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3220,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3223,1
    - Dst: checkopaque
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3225,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3230,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3232,1
    - Dst: png_image_write_get_memory_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3240,1
    - Dst: PNG_IMAGE_PNG_SIZE_MAX
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3246,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3247,1
    - Dst: initimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3249,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3250,1
    - Dst: png_image_write_to_memory
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3256,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3263,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3267,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3271,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3275,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3285,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3294,1
    - Dst: compare_two_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3297,1
    - Dst: logerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3301,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 3
    argNames:
    - output
    - image
    - convert_to_8bit
    argTypes:
    - Image*
    - Image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3133
    functionDepth: 10
    functionLinenumber: 3133
    functionLinenumberEnd: 3303
    functionName: write_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - png_image_write_get_memory_size
    - read_file
    - fclose
    - png_image_write_to_stdio
    - fdopen
    - PNG_IMAGE_PNG_SIZE_MAX
    - logclose
    - rewind
    - unlink
    - checkopaque
    - png_image_write_to_file
    - malloc
    - tmpfile
    - compare_two_images
    - logerror
    - fflush
    - png_image_write_to_memory
    - strerror
    - sprintf
    - initimage
    - umask
    - strcpy
    - mkstemp
    linkageType: ''
    returnType: int
    signature: int write_one_file(Image *output, Image *image, int convert_to_8bit)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: checkopaque
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3313,1
    - Dst: newimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3330,1
    - Dst: format_isset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3339,1
    - Dst: random_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3360,1
    - Dst: resetimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3380,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3383,1
    - Dst: compare_two_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3388,1
    - Dst: write_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3398,1
    - Dst: compare_two_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3405,1
    - Dst: write_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3415,1
    - Dst: compare_two_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3428,1
    - Dst: freeimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3436,1
    - Dst: freeimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3439,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 3
    argNames:
    - image
    - opts
    - pf
    argTypes:
    - Image*
    - png_uint_32
    - format_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3306
    functionDepth: 11
    functionLinenumber: 3306
    functionLinenumberEnd: 3442
    functionName: testimage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 0
    functionsReached:
    - freeimage
    - read_file
    - write_one_file
    - random_color
    - checkopaque
    - compare_two_images
    - newimage
    - resetimage
    - format_isset
    linkageType: ''
    returnType: int
    signature: int testimage(Image *image, png_uint_32 opts, format_list *pf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: reseed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3452,1
    - Dst: newimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3453,1
    - Dst: initimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3454,1
    - Dst: read_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3455,1
    - Dst: testimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3457,1
    - Dst: freeimage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3458,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3461,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3466,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3469,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3472,1
    - Dst: print_opts
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3475,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3476,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3478,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - file_name
    - formats
    - opts
    - stride_extra
    - log_pass
    argTypes:
    - char*
    - format_list*
    - png_uint_32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3485
      start: 3444
    functionDepth: 12
    functionLinenumber: 3444
    functionLinenumberEnd: 3485
    functionName: test_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 1
    functionsReached:
    - read_one_file
    - testimage
    - initimage
    - freeimage
    - printf
    - print_opts
    - reseed
    - fflush
    - newimage
    - exit
    linkageType: ''
    returnType: int
    signature: "int test_one_file(const char *file_name, format_list *formats, png_uint_32
      opts,\n   int stride_extra, int log_pass)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: init_sRGB_to_d
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3504,1
    - Dst: init_error_via_linear
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3506,1
    - Dst: format_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3508,1
    - Dst: reseed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3509,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3515,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3517,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3519,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3520,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3522,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3528,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3530,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3536,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3538,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3540,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3542,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3544,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3546,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3548,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3550,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3552,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3554,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3556,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3558,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3560,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3562,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3564,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3566,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3568,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3570,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3574,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3576,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3577,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3579,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3583,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3588,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3589,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3591,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3594,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3601,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3602,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3604,1
    - Dst: formatof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3609,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3612,1
    - Dst: format_set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3614,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3618,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3619,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3620,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3624,1
    - Dst: format_is_initial
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3624,1
    - Dst: format_default
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3625,1
    - Dst: getchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3639,1
    - Dst: test_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3667,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3669,1
    - Dst: test_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3673,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3487
    functionDepth: 2
    functionLinenumber: 3487
    functionLinenumberEnd: 3676
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 2
    functionsReached:
    - strcmp
    - strlen
    - init_sRGB_to_d
    - strncpy
    - format_set
    - formatof
    - memset
    - reseed
    - fprintf
    - init_error_via_linear
    - fflush
    - if
    - format_init
    - format_default
    - getchar
    - exit
    - test_one_file
    - format_is_initial
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c:3824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3827
      start: 3822
    functionDepth: 0
    functionLinenumber: 3822
    functionLinenumberEnd: 3827
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngstest.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: PNG_PASS_START_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_ROW(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: PNG_PASS_START_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_COL(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: PNG_PASS_ROW_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROW_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: PNG_PASS_COL_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COL_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - height
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: PNG_PASS_ROWS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROWS(height, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - width
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: PNG_PASS_COLS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COLS(width, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - yIn
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: PNG_ROW_FROM_PASS_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_FROM_PASS_ROW(yIn, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xIn
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: PNG_COL_FROM_PASS_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_FROM_PASS_COL(xIn, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pass
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: PNG_PASS_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_MASK(pass,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - y
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: PNG_ROW_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_IN_INTERLACE_PASS(y, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: PNG_COL_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_IN_INTERLACE_PASS(x, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b1
    - ','
    - b2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: PNG_u2
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_u2(b1, b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b1
    - ','
    - b2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: PNG_U16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_U16(b1, b2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b1
    - ','
    - b2
    - ','
    - b3
    - ','
    - b4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: PNG_U32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_U32(b1, b2, b3, b4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: PNG_CHUNK_ANCILLARY
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_ANCILLARY(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: PNG_CHUNK_CRITICAL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_CRITICAL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: PNG_CHUNK_PRIVATE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_PRIVATE(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: PNG_CHUNK_RESERVED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_RESERVED(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: PNG_CHUNK_SAFE_TO_COPY
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_CHUNK_SAFE_TO_COPY(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: UNUSED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 47
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 340
    functionName: clear_keep
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_keep(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 353
    functionName: find
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 6
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int find(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - png_byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 366
    functionName: findb
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int findb(const png_byte *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:375,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - flag
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 377
    functionName: find_by_flag
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int find_by_flag(png_uint_32 flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CHUNK_ANCILLARY
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:382,1
    - Dst: PNG_U32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: ancillary
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - PNG_U32
    - PNG_CHUNK_ANCILLARY
    linkageType: ''
    returnType: int
    signature: int ancillary(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_CHUNK_ANCILLARY
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:389,1
    - Dst: PNG_U32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - png_byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: ancillaryb
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - PNG_U32
    - PNG_CHUNK_ANCILLARY
    linkageType: ''
    returnType: int
    signature: int ancillaryb(const png_byte *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - d
    - program
    argTypes:
    - display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 422
    functionName: init_display
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_display(display *d, const char *program)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:427,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:432,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - d
    argTypes:
    - display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 436
    functionName: clean_display
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void clean_display(display *d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clean_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:443,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:449,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 438
    functionDepth: 5
    functionLinenumber: 438
    functionLinenumberEnd: 452
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - longjmp
    - clean_display
    - exit
    linkageType: ''
    returnType: void
    signature: void PNG_FUNCTION(void, display_exit, (display *d), static PNG_NORETURN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - strict
    argTypes:
    - display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: display_rc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int display_rc(const display *d, int strict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:464,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:466,1
    - Dst: display_exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 468
    functionName: PNG_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - display_exit
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: "void PNG_FUNCTION(void, (PNGCBAPI error), (png_structp png_ptr, const
      char *message),\n   static PNG_NORETURN)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:473,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 69
    functionsReached:
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: void warning(png_structp png_ptr, const char *message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:482,1
    - Dst: png_get_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:487,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:502,1
    - Dst: display_exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - d
    - info_ptr
    argTypes:
    - display*
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 509
    functionName: get_valid
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 6
    functionsReached:
    - fprintf
    - png_get_valid
    - png_get_text
    - display_exit
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get_valid(display *d, png_infop info_ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:518,1
    - Dst: png_get_user_chunk_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:518,1
    - Dst: findb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:519,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:544,1
    - Dst: display_exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pp
    - pc
    argTypes:
    - png_structp
    - png_unknown_chunkp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 581
    functionName: read_callback
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 1
    functionsReached:
    - voidcast
    - display_exit
    - fprintf
    - findb
    - png_get_user_chunk_ptr
    linkageType: ''
    returnType: int
    signature: int read_callback(png_structp pp, png_unknown_chunkp pc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_get_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:595,1
    - Dst: findb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:599,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:610,1
    - Dst: ancillaryb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:617,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - d
    - info_ptr
    - after_IDAT
    argTypes:
    - display*
    - png_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 636
    functionName: get_unknown
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - ancillaryb
    - fprintf
    - png_get_unknown_chunks
    - findb
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get_unknown(display *d, png_infop info_ptr, int after_IDAT)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_get_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:595,1
    - Dst: findb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:599,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:610,1
    - Dst: ancillaryb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:617,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 633
    functionName: UNUSED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 47
    functionsReached:
    - ancillaryb
    - fprintf
    - png_get_unknown_chunks
    - findb
    linkageType: ''
    returnType: void
    signature: void UNUSED(after_IDAT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - d
    - info_ptr
    - after_IDAT
    argTypes:
    - display*
    - png_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 649
    functionName: get_unknown
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get_unknown(display *d, png_infop info_ptr, int after_IDAT)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:673,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:677,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:680,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:683,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:684,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:687,1
    - Dst: clean_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:689,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:690,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:693,1
    - Dst: png_set_read_user_chunk_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:700,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:702,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:711,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:717,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:719,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:721,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:723,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:727,1
    - Dst: display_exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:729,1
    - Dst: find
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:735,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:751,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:752,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:761,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:767,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:776,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:782,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:800,1
    - Dst: display_exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:802,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:805,1
    - Dst: png_get_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:807,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:819,1
    - Dst: clean_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:820,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:821,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:829,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:830,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:834,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:838,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:844,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:845,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:855,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:859,1
    - Dst: get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:861,1
    - Dst: get_unknown
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:862,1
    - Dst: get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:868,1
    - Dst: get_unknown
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:869,1
    - Dst: clean_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:871,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 6
    argNames:
    - fp
    - argc
    - argv
    - flags
    - d
    - set_callback
    argTypes:
    - FILE*
    - int
    - char**
    - png_uint_32p
    - display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 659
    functionDepth: 7
    functionLinenumber: 659
    functionLinenumberEnd: 874
    functionName: check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 11
    functionsReached:
    - png_start_read_image
    - find
    - display_exit
    - fprintf
    - clean_display
    - png_read_row
    - memcmp
    - png_init_io
    - png_get_image_width
    - PNG_PASS_COLS
    - png_get_interlace_type
    - png_create_read_struct
    - png_read_info
    - get_valid
    - strcmp
    - png_get_image_height
    - get_unknown
    - UNUSED
    - png_set_read_user_chunk_fn
    - png_read_end
    - png_create_info_struct
    - png_set_keep_unknown_chunks
    - strchr
    - memcpy
    - PNG_ROW_IN_INTERLACE_PASS
    - exit
    linkageType: ''
    returnType: int
    signature: "int check(FILE *fp, int argc, const char **argv, png_uint_32p flags/*out*/,\n
      \  display *d, int set_callback)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_by_flag
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:882,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - d
    - flags
    - message
    argTypes:
    - display*
    - png_uint_32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: check_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - fprintf
    - find_by_flag
    linkageType: ''
    returnType: void
    signature: void check_error(display *d, png_uint_32 flags, const char *message)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: find_by_flag
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:899,1
    - Dst: ancillary
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:931,1
    - Dst: ancillary
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:977,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1001,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 72
    argCount: 7
    argNames:
    - d
    - def
    - chunks
    - known
    - unknown
    - position
    - set_callback
    argTypes:
    - display*
    - int
    - png_uint_32
    - png_uint_32
    - png_uint_32
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 1008
    functionName: check_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ancillary
    - find_by_flag
    linkageType: ''
    returnType: void
    signature: "void check_handling(display *d, int def, png_uint_32 chunks, png_uint_32
      known,\n   png_uint_32 unknown, const char *position, int set_callback)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1017,1
    - Dst: clear_keep
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1018,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1019,1
    - Dst: check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1021,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1042,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1044,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1056,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1058,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1060,1
    - Dst: check_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1062,1
    - Dst: check_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1069,1
    - Dst: check_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 6
    argNames:
    - fp
    - argc
    - argv
    - default_flags
    - d
    - set_callback
    argTypes:
    - FILE*
    - int
    - char**
    - png_uint_32*
    - display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1073
    functionName: perform_one_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - rewind
    - clear_keep
    - check_handling
    - memcpy
    - check_error
    - check
    linkageType: ''
    returnType: void
    signature: "void perform_one_test(FILE *fp, int argc, const char **argv,\n   png_uint_32
      *default_flags, display *d, int set_callback)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1079,1
    - Dst: perform_one_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1083,1
    - Dst: perform_one_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - fp
    - argc
    - argv
    - default_flags
    - d
    - test
    argTypes:
    - FILE*
    - int
    - char**
    - png_uint_32*
    - display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1090
    functionName: perform_one_test_safe
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 0
    functionsReached:
    - setjmp
    - perform_one_test
    linkageType: ''
    returnType: void
    signature: "void perform_one_test_safe(FILE *fp, int argc, const char **argv,\n
      \  png_uint_32 *default_flags, display *d, const char *test)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1108,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - program
    - reason
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1112
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 7
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: PNG_NORETURN
    signature: PNG_NORETURN usage(const char *program, const char *reason)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: init_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1124,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1128,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1131,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1134,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1140,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1151,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1157,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1162,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1165,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1166,1
    - Dst: check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1178,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1186,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1187,1
    - Dst: perform_one_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1195,1
    - Dst: perform_one_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1198,1
    - Dst: display_rc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1215,1
    - Dst: perform_one_test_safe
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1221,1
    - Dst: display_rc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1224,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1232,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1238,1
    - Dst: display_rc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1240,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1245,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1250,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1251,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1252,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1254,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1256,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1257,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1263,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1264,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1272
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 2
    functionsReached:
    - usage
    - ferror
    - perform_one_test
    - perform_one_test_safe
    - strcmp
    - exit
    - printf
    - display_rc
    - fprintf
    - init_display
    - check
    - fflush
    - fopen
    - perror
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1282
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c:1289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1286
    functionDepth: 0
    functionLinenumber: 1286
    functionLinenumberEnd: 1293
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngunknown.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: flooru
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int flooru(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: floorb
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: png_byte
    signature: png_byte floorb(double d)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - color_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 198
    functionName: channels_of_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int channels_of_type(int color_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: channels_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - color_type
    - bit_depth
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: pixel_depth_of_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - channels_of_type
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int pixel_depth_of_type(int color_type, int bit_depth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pixel_depth_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - color_type
    - bit_depth
    - colors
    - small
    argTypes:
    - int
    - int
    - unsigned int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 235
    functionName: image_size_of_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - pixel_depth_of_type
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int image_size_of_type(int color_type, int bit_depth, unsigned
      int *colors,\n   int small)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 7
    argNames:
    - color
    - trans
    - red
    - green
    - blue
    - alpha
    - gamma_table
    argTypes:
    - png_colorp
    - png_bytep
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - png_const_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: set_color
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_color(png_colorp color, png_bytep trans, unsigned int red,\n
      \  unsigned int green, unsigned int blue, unsigned int alpha,\n   png_const_bytep
      gamma_table)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:264,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:266,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:269,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:274,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:279,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:284,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:291,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:292,1
    - Dst: set_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:313,1
    - Dst: xyinterp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:315,1
    - Dst: xyinterp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:316,1
    - Dst: xyinterp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:317,1
    - Dst: xyinterp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - palette
    - trans
    - bit_depth
    - gamma_table
    - colors
    argTypes:
    - png_colorp
    - png_bytep
    - int
    - png_const_bytep
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 326
    functionName: generate_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - xyinterp
    - fprintf
    - exit
    - set_color
    linkageType: ''
    returnType: int
    signature: "int generate_palette(png_colorp palette, png_bytep trans, int bit_depth,\n
      \  png_const_bytep gamma_table, unsigned int *colors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pos
    - ','
    - c1
    - ','
    - c2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: interp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: interp(pos, c1, c2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - c4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: xyinterp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xyinterp(x, y, c1, c2, c3, c4)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:360,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:361,1
    - Dst: flooru
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:364,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:364,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:377,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:378,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:384,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 7
    argNames:
    - row
    - rowbytes
    - x
    - bit_depth
    - value
    - gamma_table
    - conv
    argTypes:
    - png_bytep
    - size_t
    - png_uint_32
    - unsigned int
    - png_uint_32
    - png_const_bytep
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 387
    functionName: set_value
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - flooru
    - pow
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void set_value(png_bytep row, size_t rowbytes, png_uint_32 x, unsigned
      int bit_depth,\n   png_uint_32 value, png_const_bytep gamma_table, double conv)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: image_size_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:396,1
    - Dst: pixel_depth_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:401,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:410,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:416,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:422,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:440,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:479,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:504,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:526,1
    - Dst: channels_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:530,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:538,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:542,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:548,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:563,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:566,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:594,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:596,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:599,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:630,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:633,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:636,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:639,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:647,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:648,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:656,1
    - Dst: channels_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:659,1
    - Dst: channels_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:660,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:668,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:681,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:683,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:698,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:700,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:702,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:718,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:720,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:722,1
    - Dst: set_value
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:724,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:731,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:732,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:737,1
    - Dst: channels_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:739,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:740,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 143
    argCount: 9
    argNames:
    - row
    - rowbytes
    - y
    - color_type
    - bit_depth
    - gamma_table
    - conv
    - colors
    - small
    argTypes:
    - png_bytep
    - size_t
    - unsigned int
    - int
    - int
    - png_const_bytep
    - double
    - unsigned int*
    - int
    assertStmts:
    - condition: (y == 0 && rowbytes == 256 && size_max == 255)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (y == 0 && rowbytes == 1 && size_max == 3)
      pos:
        line_end: 415
        line_start: 415
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (rowbytes == 512 && size_max == 255)
      pos:
        line_end: 478
        line_start: 478
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (y == 0 && rowbytes == 1 && size_max == 1)
      pos:
        line_end: 409
        line_start: 409
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (size_max == 255 && rowbytes == 256*(pixel_depth>>3))
      pos:
        line_end: 503
        line_start: 503
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (y == 0 && rowbytes == 8 && size_max == 15)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (0/*NOT REACHED*/)
      pos:
        line_end: 525
        line_start: 525
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    constantsTouched: []
    func_position:
      end: 744
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 744
    functionName: generate_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - set_value
    - image_size_of_type
    - assert
    - pixel_depth_of_type
    - fprintf
    - memset
    - channels_of_type
    - exit
    - abs
    linkageType: ''
    returnType: int
    signature: "int generate_row(png_bytep row, size_t rowbytes, unsigned int y, int
      color_type,\n   int bit_depth, png_const_bytep gamma_table, double conv,\n   unsigned
      int *colors, int small)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:750,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:759,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: makepng_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: void makepng_warning(png_structp png_ptr, png_const_charp message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: makepng_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:765,1
    - Dst: png_longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - png_ptr
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: makepng_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - png_longjmp
    - makepng_warning
    linkageType: ''
    returnType: void
    signature: void makepng_error(png_structp png_ptr, png_const_charp message)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:774,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:781,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:785,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:785,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:792,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:793,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:798,1
    - Dst: png_set_compression_level
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:804,1
    - Dst: png_set_text_compression_level
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:806,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:808,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:810,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:812,1
    - Dst: image_size_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:816,1
    - Dst: pixel_depth_of_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:828,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:832,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:838,1
    - Dst: floorb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:878,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:878,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:884,1
    - Dst: generate_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:893,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:895,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:898,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:913,1
    - Dst: png_set_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:917,1
    - Dst: png_set_gAMA_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:921,1
    - Dst: png_set_cHRM_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:924,1
    - Dst: chunk_insert*::insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:936,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:941,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:944,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:948,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:953,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:955,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:958,1
    - Dst: generate_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:967,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:971,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:973,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:980,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:988,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:990,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 95
    argCount: 10
    argNames:
    - name
    - fp
    - color_type
    - bit_depth
    - gamma
    - insert
    - filters
    - colors
    - small
    - tRNS
    argTypes:
    - char**
    - FILE*
    - int
    - int
    - png_fixed_point
    - chunk_insert*
    - unsigned int
    - unsigned int*
    - int
    - int
    assertStmts:
    - condition: (size == (1U<<pixel_depth))
      pos:
        line_end: 831
        line_start: 831
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    - condition: (size == 256U)
      pos:
        line_end: 837
        line_start: 837
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    constantsTouched: []
    func_position:
      end: 992
      start: 769
    functionDepth: 7
    functionLinenumber: 769
    functionLinenumberEnd: 992
    functionName: write_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 6
    functionsReached:
    - chunk_insert*::insert
    - png_set_interlace_handling
    - png_set_compression_level
    - png_set_benign_errors
    - fprintf
    - png_init_io
    - png_write_end
    - png_set_filter
    - png_destroy_write_struct
    - png_set_IHDR
    - assert
    - pixel_depth_of_type
    - pow
    - png_set_sRGB
    - generate_palette
    - png_get_rowbytes
    - malloc
    - png_write_row
    - free
    - generate_row
    - png_create_write_struct
    - png_set_gAMA_fixed
    - png_error
    - png_create_info_struct
    - png_jmpbuf
    - image_size_of_type
    - png_set_cHRM_fixed
    - png_set_PLTE
    - setjmp
    - png_set_tRNS
    - png_write_info
    - png_set_text_compression_level
    - floorb
    linkageType: ''
    returnType: int
    signature: "int write_png(const char **name, FILE *fp, int color_type, int bit_depth,\n
      \  volatile png_fixed_point gamma, chunk_insert * volatile insert,\n   unsigned
      int filters, unsigned int *colors, int small, int tRNS)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tmpfile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:998,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1002,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1011,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1013,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1017,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1019,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1020,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1021,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1026,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1028,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1030,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1031,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1036,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1043,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1051,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1056,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1058,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1059,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1060,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1065,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1072,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1076,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1083,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1084,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1087,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1091,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1093,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - name
    - result
    argTypes:
    - png_const_charp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 995
    functionDepth: 5
    functionLinenumber: 995
    functionLinenumberEnd: 1095
    functionName: load_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - ferror
    - rewind
    - exit
    - fopen
    - malloc
    - tmpfile
    - fprintf
    - free
    - putc
    - getc
    - perror
    - fclose
    linkageType: ''
    returnType: size_t
    signature: size_t load_file(png_const_charp name, png_bytepp result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoull
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1101,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1106,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1112,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1117,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1123,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1135,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1136,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - param
    - profile
    argTypes:
    - png_charp
    - png_bytepp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1097
    functionDepth: 5
    functionLinenumber: 1097
    functionLinenumberEnd: 1141
    functionName: load_fake
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - strtoull
    - strlen
    - malloc
    - memset
    - memcpy
    - fprintf
    - exit
    linkageType: ''
    returnType: size_t
    signature: size_t load_fake(png_charp param, png_bytepp profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1148,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - nparams
    - expect
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1151
    functionName: check_param_count
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void check_param_count(int nparams, int expect)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: check_param_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1161,1
    - Dst: load_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1167,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1170,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1172,1
    - Dst: load_fake
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1182,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1188,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1191,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1202,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1203,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1210,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1223,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1227,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1229,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1231,1
    - Dst: png_set_iCCP
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1236,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1240,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1243,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1153
    functionDepth: 6
    functionLinenumber: 1153
    functionLinenumberEnd: 1244
    functionName: insert_iCCP
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - png_set_iCCP
    - png_save_uint_32
    - fprintf
    - check_param_count
    - free
    - png_get_uint_32
    - exit
    - load_fake
    - load_file
    linkageType: ''
    returnType: void
    signature: "void insert_iCCP(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \  png_charpp params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - text
    - keyword
    argTypes:
    - png_text*
    - png_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1246
    functionDepth: 0
    functionLinenumber: 1246
    functionLinenumberEnd: 1256
    functionName: clear_text
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clear_text(png_text *text, png_charp keyword)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: load_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1268,1
    - Dst: load_fake
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1277,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1292,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1295,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - text
    - param
    argTypes:
    - png_structp
    - png_infop
    - png_textp
    - png_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1258
    functionDepth: 6
    functionLinenumber: 1258
    functionLinenumberEnd: 1296
    functionName: set_text
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 5
    functionsReached:
    - free
    - png_set_text
    - load_fake
    - load_file
    linkageType: ''
    returnType: void
    signature: "void set_text(png_structp png_ptr, png_infop info_ptr, png_textp text,\n
      \  png_charp param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1304,1
    - Dst: clear_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1305,1
    - Dst: set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1298
    functionDepth: 7
    functionLinenumber: 1298
    functionLinenumberEnd: 1307
    functionName: insert_tEXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - set_text
    - clear_text
    - check_param_count
    linkageType: ''
    returnType: void
    signature: "void insert_tEXt(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \  png_charpp params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1315,1
    - Dst: clear_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1316,1
    - Dst: set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1309
    functionDepth: 7
    functionLinenumber: 1309
    functionLinenumberEnd: 1319
    functionName: insert_zTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - set_text
    - clear_text
    - check_param_count
    linkageType: ''
    returnType: void
    signature: "void insert_zTXt(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \  png_charpp params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_param_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1327,1
    - Dst: clear_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1328,1
    - Dst: set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1321
    functionDepth: 7
    functionLinenumber: 1321
    functionLinenumberEnd: 1333
    functionName: insert_iTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - set_text
    - clear_text
    - check_param_count
    linkageType: ''
    returnType: void
    signature: "void insert_iTXt(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \  png_charpp params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1345,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1349,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1356,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1357,1
    - Dst: png_set_hIST
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1362
    functionName: insert_hIST
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - strtoul
    - png_set_hIST
    - fprintf
    - memset
    - exit
    linkageType: ''
    returnType: void
    signature: "void insert_hIST(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \     png_charpp params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1368,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - png_ptr
    - param
    - maxval
    argTypes:
    - png_const_structrp
    - png_charp
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1375
    functionName: bval
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - png_error
    - strtoul
    linkageType: ''
    returnType: png_byte
    signature: png_byte bval(png_const_structrp png_ptr, png_charp param, unsigned
      int maxval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1381,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1385,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1389,1
    - Dst: bval
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1393,1
    - Dst: bval
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1394,1
    - Dst: bval
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1395,1
    - Dst: bval
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1402,1
    - Dst: bval
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1406,1
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1411,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1377
    functionDepth: 2
    functionLinenumber: 1377
    functionLinenumberEnd: 1412
    functionName: insert_sBIT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - png_error
    - bval
    - png_get_bit_depth
    - png_get_color_type
    - png_set_sBIT
    linkageType: ''
    returnType: void
    signature: "void insert_sBIT(png_structp png_ptr, png_infop info_ptr, int nparams,\n
      \     png_charpp params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - nparams
    - params
    argTypes:
    - png_structp
    - png_infop
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1419
    functionName: insert_sPLT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void insert_sPLT(png_structp png_ptr, png_infop info_ptr, int nparams,
      png_charpp params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1442,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - what
    - param
    - list
    - nparams
    argTypes:
    - png_const_charp
    - png_charp
    - png_charp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1448
    functionName: find_parameters
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: "int find_parameters(png_const_charp what, png_charp param, png_charp
      *list,\n   int nparams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1453,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - what
    - nparams
    argTypes:
    - png_const_charp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1455
    functionName: bad_parameter_count
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void bad_parameter_count(png_const_charp what, int nparams)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1465,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1470,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - what
    - nparams
    - list
    argTypes:
    - png_const_charp
    - int
    - png_charpp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1457
    functionDepth: 5
    functionLinenumber: 1457
    functionLinenumberEnd: 1482
    functionName: make_insert
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    - exit
    linkageType: ''
    returnType: chunk_insert
    signature: "chunk_insert *\nmake_insert(png_const_charp what,\n   void (*insert)(png_structp,
      png_infop, int, png_charpp),\n   int nparams, png_charpp list)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1505,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1506,1
    - Dst: find_parameters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1510,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1516,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1518,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1521,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1523,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1526,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1528,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1531,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1533,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1536,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1538,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1541,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1543,1
    - Dst: CHUNK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1547,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1548,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1552,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1554,1
    - Dst: bad_parameter_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1557,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 2
    argNames:
    - what
    - param
    argTypes:
    - png_const_charp
    - png_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1484
    functionDepth: 6
    functionLinenumber: 1484
    functionLinenumberEnd: 1559
    functionName: find_insert
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - find_parameters
    - bad_parameter_count
    - CHUNK
    - fprintf
    - exit
    - make_insert
    linkageType: ''
    returnType: chunk_insert
    signature: 'chunk_insert *

      find_insert(png_const_charp what, png_charp param)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1513
    functionName: CHUNK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNK(a,b,c,d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1572,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1572,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - foo
    argTypes:
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1564
    functionDepth: 5
    functionLinenumber: 1564
    functionLinenumberEnd: 1577
    functionName: strstash
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - strcpy
    linkageType: ''
    returnType: png_charp
    signature: png_charp strstash(png_const_charp foo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1587,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1589,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1594,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - text
    argTypes:
    - png_const_charp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1579
    functionDepth: 5
    functionLinenumber: 1579
    functionLinenumberEnd: 1601
    functionName: strstash_list
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: png_charp
    signature: png_charp strstash_list(const png_const_charp *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstash
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1612,1
    - Dst: strstash_list
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1613,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - key
    - text
    argTypes:
    - char*
    - png_const_charp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1606
    functionDepth: 6
    functionLinenumber: 1606
    functionLinenumberEnd: 1617
    functionName: add_tEXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - strstash
    - strstash_list
    - make_insert
    linkageType: ''
    returnType: chunk_insert
    signature: 'chunk_insert *

      add_tEXt(const char *key, const png_const_charp *text)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strstash
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1626,1
    - Dst: strstash
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1627,1
    - Dst: strstash
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1628,1
    - Dst: strstash_list
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1629,1
    - Dst: make_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - language
    - language_key
    - text
    argTypes:
    - char*
    - char*
    - char*
    - png_const_charp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1619
    functionDepth: 6
    functionLinenumber: 1619
    functionLinenumberEnd: 1633
    functionName: add_iTXt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - strstash
    - strstash_list
    - make_insert
    linkageType: ''
    returnType: chunk_insert
    signature: "chunk_insert *\nadd_iTXt(const char *key, const char *language, const
      char *language_key,\n      const png_const_charp *text)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1652,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1653,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1658,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1659,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1670,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1671,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - arg
    - colors
    argTypes:
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1639
    functionDepth: 0
    functionLinenumber: 1639
    functionLinenumberEnd: 1675
    functionName: parse_color
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 0
    functionsReached:
    - strtoul
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void parse_color(char *arg, unsigned int *colors)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1692,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1698,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1704,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1710,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1716,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1722,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1728,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1734,1
    - Dst: parse_color
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1740,1
    - Dst: find_insert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1748,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1761,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1762,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1765,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1771,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1779,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1780,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1781,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1788,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1796,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1797,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1798,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1805,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1807,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1811,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1812,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1818,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1820,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1824,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1825,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1833,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1836,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1836,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1837,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1844,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1845,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1850,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1854,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1866,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1868,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1877,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1878,1
    - Dst: add_tEXt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1917,1
    - Dst: add_iTXt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1924,1
    - Dst: write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1933,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c:1937,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 135
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1677
    functionDepth: 7
    functionLinenumber: 1677
    functionLinenumberEnd: 1941
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/makepng.c
    functionUses: 2
    functionsReached:
    - add_tEXt
    - strcmp
    - remove
    - write_png
    - add_iTXt
    - find_insert
    - strncmp
    - memset
    - fprintf
    - isdigit
    - fopen
    - strerror
    - atoi
    - exit
    - parse_color
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: png_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 57
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void png_warning(png_const_structrp png_ptr, png_const_charp msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_const_structrp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: png_fixed_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void png_fixed_warning(png_const_structrp png_ptr, png_const_charp
      msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pp
    - ','
    - ep
    - ','
    - efp
    - ','
    - wfp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: png_set_error_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_set_error_fn(pp, ep, efp, wfp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: png_malloc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_malloc(pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: png_malloc_warn
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_malloc_warn(pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: png_malloc_base
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_malloc_base(pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: png_calloc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_calloc(pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: png_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_free(pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - b
    - ','
    - sb
    - ','
    - pos
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: png_safecat
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_safecat(b, sb, pos, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - start
    - ','
    - end
    - ','
    - format
    - ','
    - number
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: png_format_number
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_format_number(start, end, format, number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - crc
    - ','
    - pp
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: crc32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crc32(crc, pp, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - zs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: inflateReset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateReset(zs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: png_create_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_create_struct(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: png_destroy_struct
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_destroy_struct(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - m
    - ','
    - mm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: png_create_struct_2
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_create_struct_2(type, m, mm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - f
    - ','
    - mm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: png_destroy_struct_2
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: png_destroy_struct_2(pp, f, mm)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:91,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:93,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:96,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:98,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:101,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:105,1
    - Dst: isfinite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:121,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:124,1
    - Dst: png_ascii_from_fp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:133,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:134,1
    - Dst: isfinite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:143,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:146,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:149,1
    - Dst: png_check_fp_number
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:157,1
    - Dst: PNG_FP_IS_NEGATIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:161,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:163,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:166,1
    - Dst: PNG_FP_IS_ZERO
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:166,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:167,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:167,1
    - Dst: PNG_FP_IS_ZERO
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:171,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:174,1
    - Dst: PNG_FP_IS_NEGATIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:174,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:175,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:175,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:177,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:179,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:182,1
    - Dst: PNG_FP_IS_NEGATIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:182,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:183,1
    - Dst: PNG_FP_IS_ZERO
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:183,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:188,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:189,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:190,1
    - Dst: isfinite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:200,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:218,1
    - Dst: round
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:221,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:236,1
    - Dst: isfinite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:241,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:248,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:248,1
    - Dst: ldexp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:249,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:260,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:262,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:263,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 93
    argCount: 3
    argNames:
    - count
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts:
    - condition: (!PNG_FP_IS_ZERO(state))
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    - condition: (!PNG_FP_IS_POSITIVE(state))
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    - condition: (!PNG_FP_IS_POSITIVE(state))
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    - condition: (!PNG_FP_IS_ZERO(state))
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    - condition: (!PNG_FP_IS_NEGATIVE(state))
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    - condition: (!PNG_FP_IS_NEGATIVE(state))
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    constantsTouched: []
    func_position:
      end: 266
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 266
    functionName: validation_ascii_to_fp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - strlen
    - atof
    - fprintf
    - assert
    - memset
    - isfinite
    - pow
    - frexp
    - strcmp
    - printf
    - PNG_FP_IS_ZERO
    - round
    - png_ascii_from_fp
    - ldexp
    - PNG_FP_IS_NEGATIVE
    - rand
    - fabs
    - png_check_fp_number
    - PNG_FP_IS_POSITIVE
    linkageType: ''
    returnType: int
    signature: int validation_ascii_to_fp(int count, int argc, char **argv)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: png_check_fp_number
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:334,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:337,1
    - Dst: isprint
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:343,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:355,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:360,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:374,1
    - Dst: PNG_FP_IS_NEGATIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:385,1
    - Dst: PNG_FP_IS_ZERO
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:389,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:391,1
    - Dst: PNG_FP_IS_POSITIVE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:395,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:398,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:407,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:413,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:427,1
    - Dst: check_some_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:430,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:443,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:450,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:467,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:476,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:484,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:489,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:498,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:505,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 99
    argCount: 3
    argNames:
    - co
    - c
    - ch
    argTypes:
    - checkfp_command*
    - checkfp_control
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 518
    functionName: check_one_character
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - fputc
    - PNG_FP_IS_ZERO
    - check_some_characters
    - PNG_FP_IS_NEGATIVE
    - fprintf
    - isprint
    - png_check_fp_number
    - check_all_characters
    - isdigit
    - PNG_FP_IS_POSITIVE
    linkageType: ''
    returnType: int
    signature: int check_one_character(checkfp_command *co, checkfp_control c, int
      ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_one_character
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - co
    - c
    argTypes:
    - checkfp_command*
    - checkfp_control
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 3
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: check_all_characters
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - check_one_character
    linkageType: ''
    returnType: int
    signature: int check_all_characters(checkfp_command *co, checkfp_control c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_one_character
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:544,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - co
    - c
    - tests
    argTypes:
    - checkfp_command*
    - checkfp_control
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 554
    functionName: check_some_characters
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - check_all_characters
    - check_one_character
    linkageType: ''
    returnType: int
    signature: "int check_some_characters(checkfp_command *co, checkfp_control c,\n
      \  const char *tests)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:573,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:576,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:581,1
    - Dst: check_all_characters
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:596,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 3
    argNames:
    - count
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 556
    functionDepth: 4
    functionLinenumber: 556
    functionLinenumberEnd: 604
    functionName: validation_checkfp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - strcmp
    - printf
    - fprintf
    - atoi
    - check_all_characters
    linkageType: ''
    returnType: int
    signature: int validation_checkfp(int count, int argc, char **argv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:620,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:627,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:629,1
    - Dst: png_64bit_product
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:652,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:666,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:690,1
    - Dst: png_muldiv
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:694,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:698,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:701,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:707,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:720,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:724,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 3
    argNames:
    - count
    - argc
    - argv
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 727
    functionName: validation_muldiv
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - printf
    - rand
    - fprintf
    - png_64bit_product
    - png_muldiv
    linkageType: ''
    returnType: int
    signature: int validation_muldiv(int count, int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:740,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 743
    functionName: png_log8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - floor
    - log
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_log8bit(unsigned x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:748,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 751
    functionName: png_log16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - floor
    - log
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_log16bit(png_uint_32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:755,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 756
    functionName: png_exp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 2
    functionsReached:
    - floor
    - exp
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_exp(png_uint_32 x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:760,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 761
    functionName: png_exp8bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - floor
    - exp
    linkageType: ''
    returnType: png_byte
    signature: png_byte png_exp8bit(png_uint_32 log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:765,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - log
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 766
    functionName: png_exp16bit
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 1
    functionsReached:
    - floor
    - exp
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 png_exp16bit(png_uint_32 log)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:777,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:779,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:783,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:793,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:793,1
    - Dst: png_log8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:794,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:796,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:797,1
    - Dst: png_log8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:799,1
    - Dst: png_log8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:800,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:800,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:802,1
    - Dst: png_log8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:803,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:808,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:813,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:813,1
    - Dst: png_log16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:814,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:816,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:817,1
    - Dst: png_log16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:819,1
    - Dst: png_log16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:820,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:820,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:824,1
    - Dst: png_log16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:825,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:831,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:837,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:837,1
    - Dst: png_exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:838,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:840,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:841,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:842,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:844,1
    - Dst: png_exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:845,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:850,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:855,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:855,1
    - Dst: png_exp8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:856,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:858,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:859,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:860,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:862,1
    - Dst: png_exp8bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:863,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:868,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:873,1
    - Dst: log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:873,1
    - Dst: png_exp16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:874,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:876,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:877,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:878,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:880,1
    - Dst: png_exp16bit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:881,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:886,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:894,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:897,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:902,1
    - Dst: png_gamma_8bit_correct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:903,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:906,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:907,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:908,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:910,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:916,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:921,1
    - Dst: png_gamma_16bit_correct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:922,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:925,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:926,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:927,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:929,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:935,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 88
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 939
    functionName: validation_gamma
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 0
    functionsReached:
    - png_log16bit
    - pow
    - exp
    - png_gamma_8bit_correct
    - strcmp
    - printf
    - png_exp16bit
    - log
    - floor
    - fprintf
    - png_log8bit
    - png_exp
    - fabs
    - png_exp8bit
    - png_gamma_16bit_correct
    linkageType: ''
    returnType: int
    signature: int validation_gamma(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:961,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:963,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:968,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:981,1
    - Dst: validation_ascii_to_fp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:982,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:983,1
    - Dst: validation_checkfp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:984,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:985,1
    - Dst: validation_muldiv
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:986,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:987,1
    - Dst: validation_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:988,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:992,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:994,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:995,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:996,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c:997,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 955
    functionDepth: 5
    functionLinenumber: 955
    functionLinenumberEnd: 999
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/tarith.c
    functionUses: 2
    functionsReached:
    - validation_ascii_to_fp
    - strcmp
    - validation_checkfp
    - validation_gamma
    - fprintf
    - atoi
    - validation_muldiv
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:37,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:44,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:44,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:46,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:47,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:48,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:52,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:54,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:56,1
    - Dst: png_set_keep_unknown_chunks
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:58,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:60,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:63,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:66,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:67,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:70,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:73,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:75,1
    - Dst: png_get_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:77,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:82,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:90,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:97,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:103,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:104,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:105,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:106,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 34
    functionDepth: 7
    functionLinenumber: 34
    functionLinenumberEnd: 108
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c
    functionUses: 4
    functionsReached:
    - png_start_read_image
    - png_set_interlace_handling
    - png_read_row
    - png_init_io
    - png_destroy_read_struct
    - png_get_interlace_type
    - png_create_read_struct
    - png_read_info
    - png_get_image_height
    - png_get_rowbytes
    - malloc
    - free
    - png_read_end
    - png_error
    - png_create_info_struct
    - png_jmpbuf
    - PNG_PASS_ROWS
    - png_set_keep_unknown_chunks
    - setjmp
    linkageType: ''
    returnType: int
    signature: int read_png(FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/readpng.c
    functionUses: 2
    functionsReached:
    - read_png
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:16,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:17,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:18,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 20
    functionName: put_uLong
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void put_uLong(uLong val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_uLong
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:27,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:29,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:31,1
    - Dst: put_uLong
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:32,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - chunk
    - length
    argTypes:
    - unsigned char*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 33
    functionName: put_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c
    functionUses: 0
    functionsReached:
    - crc32
    - fwrite
    - put_uLong
    linkageType: ''
    returnType: void
    signature: void put_chunk(const unsigned char *chunk, uInt length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:60,1
    - Dst: put_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:61,1
    - Dst: put_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/fakepng.c
    functionUses: 2
    functionsReached:
    - put_chunk
    - fwrite
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: PNG_PASS_START_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_ROW(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: PNG_PASS_START_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_START_COL(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: PNG_PASS_ROW_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROW_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: PNG_PASS_COL_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COL_SHIFT(pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - height
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: PNG_PASS_ROWS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_ROWS(height, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - width
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: PNG_PASS_COLS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_COLS(width, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - yIn
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: PNG_ROW_FROM_PASS_ROW
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_FROM_PASS_ROW(yIn, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xIn
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: PNG_COL_FROM_PASS_COL
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_FROM_PASS_COL(xIn, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pass
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: PNG_PASS_MASK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_PASS_MASK(pass,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - y
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: PNG_ROW_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_ROW_IN_INTERLACE_PASS(y, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - pass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: PNG_COL_IN_INTERLACE_PASS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PNG_COL_IN_INTERLACE_PASS(x, pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - something
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: debugonly
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debugonly(something)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: CHUNK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNK(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - param
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: UNUSED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 49
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED(param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 76
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ps
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: anon_context
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: anon_context(ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ps
    - ','
    - fault
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: context
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: context(ps,fault)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - major
    - ','
    - minor
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: is_gnu
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_gnu(major,minor)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - major
    - ','
    - minor
    - ','
    - patch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: is_gnu_patch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_gnu_patch(major,minor,patch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: gnu_volatile
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gnu_volatile(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - pos
    - cat
    argTypes:
    - char*
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 224
    functionName: safecat
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: "size_t safecat(char *buffer, size_t bufsize, size_t pos,\n   const
      char *cat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:229,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - pos
    - n
    argTypes:
    - char*
    - size_t
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 231
    functionName: safecatn
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: size_t safecatn(char *buffer, size_t bufsize, size_t pos, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:238,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - buffer
    - bufsize
    - pos
    - d
    - precision
    argTypes:
    - char*
    - size_t
    - size_t
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: safecatd
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - sprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t safecatd(char *buffer, size_t bufsize, size_t pos, double d,\n
      \   int precision)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: fix
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: png_fixed_point
    signature: png_fixed_point fix(double d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - seed
    - pv
    - size
    argTypes:
    - png_uint_32*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 292
    functionName: make_random_bytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached:
    - voidcast
    linkageType: ''
    returnType: void
    signature: void make_random_bytes(png_uint_32* seed, void* pv, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - seed
    - bytes
    argTypes:
    - png_uint_32*
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 298
    functionName: make_four_random_bytes
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_random_bytes
    linkageType: ''
    returnType: void
    signature: void make_four_random_bytes(png_uint_32* seed, png_bytep bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pv
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 307
    functionName: randomize
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_random_bytes
    linkageType: ''
    returnType: void
    signature: void randomize(void *pv, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - this
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: R8
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R8(this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: random_byte
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - randomize
    linkageType: ''
    returnType: png_byte
    signature: png_byte random_byte(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:325,1
    - Dst: png_get_uint_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 327
    functionName: random_u16
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - randomize
    - png_get_uint_16
    linkageType: ''
    returnType: png_uint_16
    signature: png_uint_16 random_u16(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: randomize
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:335,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: random_u32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - randomize
    - png_get_uint_32
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 random_u32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_u16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 348
    functionName: random_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - random_u16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int random_mod(unsigned int max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 357
    functionName: random_choice
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - random_byte
    linkageType: ''
    returnType: int
    signature: int random_choice(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - col
    - ','
    - depth
    - ','
    - palette
    - ','
    - interlace
    - ','
    - width
    - ','
    - height
    - ','
    - do_interlace
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: FILEID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILEID(col, depth, palette, interlace, width, height, do_interlace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 371
    functionName: COL_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COL_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: DEPTH_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEPTH_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: PALETTE_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PALETTE_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: INTERLACE_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INTERLACE_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 375
    functionName: DO_INTERLACE_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_INTERLACE_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: WIDTH_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WIDTH_FROM_ID(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: HEIGHT_FROM_ID
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HEIGHT_FROM_ID(id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:384,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:387,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:388,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:389,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:393,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:395,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:396,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:397,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:401,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:403,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:405,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:410,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:411,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:412,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 10
    argNames:
    - buffer
    - bufsize
    - pos
    - colour_type
    - bit_depth
    - npalette
    - interlace_type
    - w
    - h
    - do_interlace
    argTypes:
    - char*
    - size_t
    - size_t
    - png_byte
    - int
    - unsigned int
    - int
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 417
    functionName: standard_name
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - safecatn
    linkageType: ''
    returnType: size_t
    signature: "size_t standard_name(char *buffer, size_t bufsize, size_t pos, png_byte
      colour_type,\n    int bit_depth, unsigned int npalette, int interlace_type,\n
      \   png_uint_32 w, png_uint_32 h, int do_interlace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: standard_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:422,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:422,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:423,1
    - Dst: PALETTE_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:423,1
    - Dst: INTERLACE_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:423,1
    - Dst: WIDTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:424,1
    - Dst: HEIGHT_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:424,1
    - Dst: DO_INTERLACE_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - pos
    - id
    argTypes:
    - char*
    - size_t
    - size_t
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: standard_name_from_id
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - WIDTH_FROM_ID
    - PALETTE_FROM_ID
    - DEPTH_FROM_ID
    - INTERLACE_FROM_ID
    - HEIGHT_FROM_ID
    - DO_INTERLACE_FROM_ID
    - COL_FROM_ID
    - standard_name
    linkageType: ''
    returnType: size_t
    signature: size_t standard_name_from_id(char *buffer, size_t bufsize, size_t pos,
      png_uint_32 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bit_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: PALETTE_COUNT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PALETTE_COUNT(bit_depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: PALETTE_COUNT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - colour_type
    - bit_depth
    - palette_number
    - low_depth_gray
    - tRNS
    argTypes:
    - png_bytep
    - png_bytep
    - unsigned int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 516
    functionName: next_format
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - PALETTE_COUNT
    linkageType: ''
    returnType: int
    signature: "int next_format(png_bytep colour_type, png_bytep bit_depth,\n   unsigned
      int* palette_number, int low_depth_gray, int tRNS)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 7
    argNames:
    - row
    - colour_type
    - bit_depth
    - x
    - sample_index
    - swap16
    - littleendian
    argTypes:
    - png_const_bytep
    - png_byte
    - png_byte
    - png_uint_32
    - unsigned int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 567
    functionName: sample
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int sample(png_const_bytep row, png_byte colour_type, png_byte
      bit_depth,\n    png_uint_32 x, unsigned int sample_index, int swap16, int littleendian)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - toBuffer
    - toIndex
    - fromBuffer
    - fromIndex
    - pixelSize
    - littleendian
    argTypes:
    - png_bytep
    - png_uint_32
    - png_const_bytep
    - png_uint_32
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 615
    functionName: pixel_copy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void pixel_copy(png_bytep toBuffer, png_uint_32 toIndex,\n   png_const_bytep
      fromBuffer, png_uint_32 fromIndex, unsigned int pixelSize,\n   int littleendian)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - toBuffer
    - fromBuffer
    - bitWidth
    - littleendian
    argTypes:
    - png_bytep
    - png_const_bytep
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 639
    functionName: row_copy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void row_copy(png_bytep toBuffer, png_const_bytep fromBuffer, unsigned
      int bitWidth,\n      int littleendian)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:648,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:672,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pa
    - pb
    - bit_width
    argTypes:
    - png_const_bytep
    - png_const_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 683
    functionName: pixel_cmp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pixel_cmp(png_const_bytep pa, png_const_bytep pb, png_uint_32 bit_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_four_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mark
    argTypes:
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: store_pool_mark
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_four_random_bytes
    linkageType: ''
    returnType: void
    signature: void store_pool_mark(png_bytep mark)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_pool_mark
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:825,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 831
    functionName: random_32
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_pool_mark
    - png_get_uint_32
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 random_32(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:837,1
    - Dst: store_pool_mark
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ps
    - pool
    argTypes:
    - png_store*
    - store_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 844
    functionName: store_pool_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_pool_mark
    - memset
    linkageType: ''
    returnType: void
    signature: void store_pool_init(png_store *ps, store_pool *pool)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:849,1
    - Dst: init_exception_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:850,1
    - Dst: store_pool_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:851,1
    - Dst: store_pool_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 883
    functionName: store_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - init_exception_context
    - memset
    - store_pool_init
    linkageType: ''
    returnType: void
    signature: void store_init(png_store* ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_freebuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:890,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - psb
    argTypes:
    - png_store_buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 894
    functionName: store_freebuffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - store_freebuffer
    - free
    linkageType: ''
    returnType: void
    signature: void store_freebuffer(png_store_buffer* psb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_freebuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:899,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 896
    functionDepth: 2
    functionLinenumber: 896
    functionLinenumberEnd: 912
    functionName: store_freenew
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_freebuffer
    - free
    linkageType: ''
    returnType: void
    signature: void store_freenew(png_store *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:919,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:919,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:922,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 914
    functionDepth: 5
    functionLinenumber: 914
    functionLinenumberEnd: 927
    functionName: store_storenew
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - malloc
    - voidcast
    - png_error
    linkageType: ''
    returnType: void
    signature: void store_storenew(png_store *ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_freefile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:934,1
    - Dst: store_freebuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:936,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:940,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:944,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ppf
    argTypes:
    - png_store_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 947
    functionName: store_freefile
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - store_freebuffer
    - free
    - store_freefile
    linkageType: ''
    returnType: void
    signature: void store_freefile(png_store_file **ppf)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - num
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 963
    functionName: bits_of
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int bits_of(png_uint_32 num)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:975,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:977,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:977,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:979,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:980,1
    - Dst: bits_of
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:985,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:988,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - ps
    - id
    argTypes:
    - png_store*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 968
    functionDepth: 5
    functionLinenumber: 968
    functionLinenumberEnd: 1003
    functionName: store_storefile
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - voidcast
    - safecat
    - malloc
    - bits_of
    linkageType: ''
    returnType: void
    signature: void store_storefile(png_store *ps, png_uint_32 id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1013,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1017,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1018,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1025,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1026,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1027,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1033,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1038,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1039,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - ps
    - pp
    - buffer
    - bufsize
    - pos
    - msg
    argTypes:
    - png_store*
    - png_const_structp
    - char*
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1006
    functionDepth: 1
    functionLinenumber: 1006
    functionLinenumberEnd: 1043
    functionName: store_message
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    linkageType: ''
    returnType: size_t
    signature: "size_t store_message(png_store *ps, png_const_structp pp, char *buffer,
      size_t bufsize,\n   size_t pos, const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1053,1
    - Dst: store_message
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1055,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1056,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ps
    - pp
    - prefix
    - message
    argTypes:
    - png_store*
    - png_const_structp
    - png_const_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1058
    functionName: store_verbose
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_message
    - fputc
    - fputs
    linkageType: ''
    returnType: void
    signature: "void store_verbose(png_store *ps, png_const_structp pp, png_const_charp
      prefix,\n   png_const_charp message)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_message
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1071,1
    - Dst: store_verbose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ps
    - pp
    - message
    - is_error
    argTypes:
    - png_store*
    - png_const_structp
    - png_const_charp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1061
    functionDepth: 3
    functionLinenumber: 1061
    functionLinenumberEnd: 1075
    functionName: store_log
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_message
    - store_verbose
    linkageType: ''
    returnType: void
    signature: "void store_log(png_store* ps, png_const_structp pp, png_const_charp
      message,\n   int is_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ps
    - message
    argTypes:
    - png_store*
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1079
    functionDepth: 4
    functionLinenumber: 1079
    functionLinenumberEnd: 1089
    functionName: internal_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_log
    linkageType: ''
    returnType: void
    signature: void internal_error(png_store *ps, png_const_charp message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1097,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1097,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppIn
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1093
    functionDepth: 4
    functionLinenumber: 1093
    functionLinenumberEnd: 1107
    functionName: store_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - store_log
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: void store_error(png_structp ppIn, png_const_charp message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1113,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1113,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppIn
    - message
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1119
    functionName: store_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - store_log
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: void store_warning(png_structp ppIn, png_const_charp message)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1132,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ps
    - pp
    - nImage
    - y
    argTypes:
    - png_store*
    - png_const_structp
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1138
    functionName: store_image_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: png_bytep
    signature: "png_bytep store_image_row(const png_store* ps, png_const_structp pp,
      int nImage,\n   png_uint_32 y)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1150,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1152,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ps
    - pp
    argTypes:
    - png_store*
    - png_const_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1140
    functionDepth: 4
    functionLinenumber: 1140
    functionLinenumberEnd: 1160
    functionName: store_image_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - free
    - store_log
    linkageType: ''
    returnType: void
    signature: void store_image_free(png_store *ps, png_const_structp pp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: store_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1172,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1175,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1175,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1182,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1207,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 5
    argNames:
    - ps
    - pp
    - nImages
    - cbRow
    - cRows
    argTypes:
    - png_store*
    - png_const_structp
    - int
    - size_t
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1162
    functionDepth: 5
    functionLinenumber: 1162
    functionLinenumberEnd: 1226
    functionName: store_ensure_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_image_free
    - voidcast
    - malloc
    - memset
    - store_image_row
    linkageType: ''
    returnType: void
    signature: "void store_ensure_image(png_store *ps, png_const_structp pp, int nImages,\n
      \  size_t cbRow, png_uint_32 cRows)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1235,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1248,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - ps
    - pp
    - iImage
    argTypes:
    - png_store*
    - png_const_structp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1257
    functionName: store_image_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: void
    signature: void store_image_check(const png_store* ps, png_const_structp pp, int
      iImage)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - chunktype
    argTypes:
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1279
    functionName: valid_chunktype
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int valid_chunktype(png_uint_32 chunktype)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1285,1
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1285,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1292,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1299,1
    - Dst: store_storenew
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1308,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1330,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1336,1
    - Dst: valid_chunktype
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1341,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1342,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1358,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - ppIn
    - pb
    - st
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1281
    functionDepth: 6
    functionLinenumber: 1281
    functionLinenumberEnd: 1373
    functionName: store_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - voidcast
    - png_get_io_ptr
    - store_storenew
    - memcpy
    - valid_chunktype
    linkageType: ''
    returnType: void
    signature: void store_write(png_structp ppIn, png_bytep pb, size_t st)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1382
    functionDepth: 0
    functionLinenumber: 1382
    functionLinenumberEnd: 1390
    functionName: store_read_buffer_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t store_read_buffer_size(png_store *ps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1408,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1415
    functionName: store_read_buffer_avail
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: size_t
    signature: size_t store_read_buffer_avail(png_store *ps)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1417
    functionDepth: 0
    functionLinenumber: 1417
    functionLinenumberEnd: 1438
    functionName: store_read_buffer_next
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: int
    signature: int store_read_buffer_next(png_store *ps)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1447,1
    - Dst: store_read_buffer_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1451,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1456,1
    - Dst: store_read_buffer_next
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1462,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - ps
    - pb
    - st
    argTypes:
    - png_store*
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1465
    functionName: store_read_imp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_read_buffer_size
    - store_read_buffer_next
    - memcpy
    linkageType: ''
    returnType: void
    signature: void store_read_imp(png_store *ps, png_bytep pb, size_t st)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: store_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1482,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1483,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1484,1
    - Dst: random_byte
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1500,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1513,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1524,1
    - Dst: store_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1541,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1555,1
    - Dst: store_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1602,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1603,1
    - Dst: store_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1615,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1644,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1647,1
    - Dst: store_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1677,1
    - Dst: store_read_buffer_avail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1686,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 121
    argCount: 4
    argNames:
    - ps
    - pb
    - max
    - min
    argTypes:
    - png_store*
    - png_bytep
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1698
    functionName: store_read_chunk
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_read_imp
    - store_read_buffer_avail
    - png_get_uint_32
    - crc32
    - random_byte
    - random_u32
    linkageType: ''
    returnType: size_t
    signature: size_t store_read_chunk(png_store *ps, png_bytep pb, size_t max, size_t
      min)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1704,1
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1704,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1707,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ppIn
    - pb
    - st
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 3
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: store_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - voidcast
    - png_get_io_ptr
    - store_read_chunk
    linkageType: ''
    returnType: void
    signature: void store_read(png_structp ppIn, png_bytep pb, size_t st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1716,1
    - Dst: store_read_buffer_avail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1724,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1733,1
    - Dst: png_process_data
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1734,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ps
    - pp
    - pi
    argTypes:
    - png_store*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1712
    functionDepth: 3
    functionLinenumber: 1712
    functionLinenumberEnd: 1736
    functionName: store_progressive_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_read_buffer_avail
    - png_process_data
    - store_read_chunk
    linkageType: ''
    returnType: void
    signature: void store_progressive_read(png_store *ps, png_structp pp, png_infop
      pi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1744,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1747,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1752,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1752,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1756,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ps
    - npalette
    argTypes:
    - png_store*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1740
    functionDepth: 5
    functionLinenumber: 1740
    functionLinenumberEnd: 1762
    functionName: store_write_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - voidcast
    - store_log
    - malloc
    linkageType: ''
    returnType: store_palette_entry
    signature: 'store_palette_entry *

      store_write_palette(png_store *ps, int npalette)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ps
    - npalette
    argTypes:
    - png_store*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1765
    functionDepth: 4
    functionLinenumber: 1765
    functionLinenumberEnd: 1780
    functionName: store_current_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_log
    linkageType: ''
    returnType: store_palette_entry
    signature: 'store_palette_entry *

      store_current_palette(png_store *ps, int *npalette)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1808,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ps
    - pp
    - msg
    argTypes:
    - png_store*
    - png_const_structp
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1804
    functionDepth: 4
    functionLinenumber: 1804
    functionLinenumberEnd: 1815
    functionName: store_pool_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_log
    linkageType: ''
    returnType: void
    signature: void store_pool_error(png_store *ps, png_const_structp pp, const char
      *msg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: store_pool_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1825,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1827,1
    - Dst: store_pool_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1828,1
    - Dst: store_pool_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1836,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1838,1
    - Dst: store_pool_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1840,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pp
    - pool
    - memory
    argTypes:
    - png_const_structp
    - store_pool*
    - store_memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1817
    functionDepth: 5
    functionLinenumber: 1817
    functionLinenumberEnd: 1849
    functionName: store_memory_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - free
    - store_pool_error
    - memcmp
    linkageType: ''
    returnType: void
    signature: void store_memory_free(png_const_structp pp, store_pool *pool, store_memory
      *memory)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1856,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1868,1
    - Dst: store_memory_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1873,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1882,1
    - Dst: store_pool_mark
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1899,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - ps
    - pool
    argTypes:
    - png_store*
    - store_pool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1851
    functionDepth: 6
    functionLinenumber: 1851
    functionLinenumberEnd: 1900
    functionName: store_pool_delete
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_pool_mark
    - fprintf
    - store_memory_free
    linkageType: ''
    returnType: void
    signature: void store_pool_delete(png_store *ps, store_pool *pool)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1907,1
    - Dst: png_get_mem_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1907,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1908,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1908,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1924,1
    - Dst: mark::mark
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1924,1
    - Dst: mark::mark
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1924,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1925,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1946,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - ppIn
    - cb
    argTypes:
    - png_structp
    - png_alloc_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1903
    functionDepth: 5
    functionLinenumber: 1903
    functionLinenumberEnd: 1950
    functionName: store_malloc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_get_mem_ptr
    - voidcast
    - malloc
    - store_log
    - memcpy
    - mark::mark
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp store_malloc(png_structp ppIn, png_alloc_size_t cb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1956,1
    - Dst: png_get_mem_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1956,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1957,1
    - Dst: store_pool_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1975,1
    - Dst: store_memory_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1983,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ppIn
    - memory
    argTypes:
    - png_structp
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1952
    functionDepth: 6
    functionLinenumber: 1952
    functionLinenumberEnd: 1984
    functionName: store_free
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - store_pool_error
    - store_memory_free
    - png_get_mem_ptr
    linkageType: ''
    returnType: void
    signature: void store_free(png_structp ppIn, png_voidp memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: anon_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:1994,1
    - Dst: store_pool_delete
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2012,1
    - Dst: store_freenew
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1989
    functionDepth: 7
    functionLinenumber: 1989
    functionLinenumberEnd: 2016
    functionName: store_write_reset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_pool_delete
    - anon_context
    - store_freenew
    linkageType: ''
    returnType: void
    signature: void store_write_reset(png_store *ps)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: anon_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2026,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2030,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2031,1
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2033,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2034,1
    - Dst: png_create_write_struct_2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2041,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2047,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2050,1
    - Dst: png_set_option
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2056,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2058,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - ps
    - ppi
    - name
    argTypes:
    - png_store*
    - png_infopp
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2023
    functionDepth: 8
    functionLinenumber: 2023
    functionLinenumberEnd: 2064
    functionName: set_store_for_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_create_info_struct
    - png_set_write_fn
    - png_set_option
    - safecat
    - png_create_write_struct
    - anon_context
    - png_create_write_struct_2
    - if
    - store_write_reset
    linkageType: ''
    returnType: png_structp
    signature: png_structp set_store_for_write(png_store *ps, png_infopp ppi, const
      char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: anon_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2082,1
    - Dst: store_pool_delete
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2099,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2076
    functionDepth: 7
    functionLinenumber: 2076
    functionLinenumberEnd: 2111
    functionName: store_read_reset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_pool_delete
    - anon_context
    linkageType: ''
    returnType: void
    signature: void store_read_reset(png_store *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: store_read_buffer_next
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2130,1
    - Dst: standard_name_from_id
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2141,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2142,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - ps
    - id
    argTypes:
    - png_store*
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2114
    functionDepth: 4
    functionLinenumber: 2114
    functionLinenumberEnd: 2145
    functionName: store_read_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - standard_name_from_id
    - safecat
    - store_read_buffer_next
    linkageType: ''
    returnType: void
    signature: void store_read_set(png_store *ps, png_uint_32 id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2157,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2160,1
    - Dst: store_read_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2162,1
    - Dst: png_create_read_struct_2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2172,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2178,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2185,1
    - Dst: png_set_option
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2195,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2197,1
    - Dst: store_read_set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2201,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2204,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - ps
    - ppi
    - id
    - name
    argTypes:
    - png_store*
    - png_infopp
    - png_uint_32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2152
    functionDepth: 8
    functionLinenumber: 2152
    functionLinenumberEnd: 2207
    functionName: set_store_for_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_read_reset
    - png_set_option
    - png_create_info_struct
    - safecat
    - png_create_read_struct_2
    - store_log
    - png_create_read_struct
    - store_read_set
    linkageType: ''
    returnType: png_structp
    signature: "png_structp set_store_for_read(png_store *ps, png_infopp ppi, png_uint_32
      id,\n   const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2216,1
    - Dst: store_read_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2217,1
    - Dst: store_freefile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2218,1
    - Dst: store_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2213
    functionDepth: 8
    functionLinenumber: 2213
    functionLinenumberEnd: 2220
    functionName: store_delete
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_read_reset
    - store_write_reset
    - store_image_free
    - store_freefile
    linkageType: ''
    returnType: void
    signature: void store_delete(png_store *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CIE_color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2262
    functionDepth: 0
    functionLinenumber: 2262
    functionLinenumberEnd: 2266
    functionName: chromaticity_x
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double chromaticity_x(CIE_color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - CIE_color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2268
    functionDepth: 0
    functionLinenumber: 2268
    functionLinenumberEnd: 2272
    functionName: chromaticity_y
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double chromaticity_y(CIE_color c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - color_encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2274
    functionDepth: 0
    functionLinenumber: 2274
    functionLinenumberEnd: 2284
    functionName: white_point
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CIE_color
    signature: CIE_color white_point(const color_encoding *encoding)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - color_encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2306
    functionName: normalize_color_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void normalize_color_encoding(color_encoding *encoding)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2317,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2318,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2319,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2320,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2321,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2322,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2323,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2324,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2325,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2326,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2327,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2328,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2329,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2330,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2331,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2332,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2333,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2334,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2335,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2336,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2338,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2343,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2344,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 5
    argNames:
    - buffer
    - bufsize
    - pos
    - e
    - encoding_gamma
    argTypes:
    - char*
    - size_t
    - size_t
    - color_encoding*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2310
    functionDepth: 2
    functionLinenumber: 2310
    functionLinenumberEnd: 2348
    functionName: safecat_color_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - safecatd
    linkageType: ''
    returnType: size_t
    signature: "size_t safecat_color_encoding(char *buffer, size_t bufsize, size_t
      pos,\n   const color_encoding *e, double encoding_gamma)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2500
    functionDepth: 0
    functionLinenumber: 2500
    functionLinenumberEnd: 2504
    functionName: fail
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fail(png_modifier *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2509,1
    - Dst: store_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2564
      start: 2506
    functionDepth: 4
    functionLinenumber: 2506
    functionLinenumberEnd: 2564
    functionName: modifier_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_init
    - memset
    linkageType: ''
    returnType: void
    signature: void modifier_init(png_modifier *pm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - value
    - depth
    - do_round
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2607
    functionName: digitize
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: double
    signature: double digitize(double value, int depth, int do_round)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2612
    functionDepth: 0
    functionLinenumber: 2612
    functionLinenumberEnd: 2622
    functionName: abserr
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double abserr(const png_modifier *pm, int in_depth, int out_depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2624
    functionDepth: 0
    functionLinenumber: 2624
    functionLinenumberEnd: 2635
    functionName: calcerr
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double calcerr(const png_modifier *pm, int in_depth, int out_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2637
    functionDepth: 0
    functionLinenumber: 2637
    functionLinenumberEnd: 2647
    functionName: pcerr
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double pcerr(const png_modifier *pm, int in_depth, int out_depth)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2660
    functionDepth: 0
    functionLinenumber: 2660
    functionLinenumberEnd: 2686
    functionName: outerr
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double outerr(const png_modifier *pm, int in_depth, int out_depth)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2692
    functionDepth: 0
    functionLinenumber: 2692
    functionLinenumberEnd: 2723
    functionName: outlog
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double outlog(const png_modifier *pm, int in_depth, int out_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 3
    argNames:
    - pm
    - in_depth
    - out_depth
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2730
    functionDepth: 0
    functionLinenumber: 2730
    functionLinenumberEnd: 2738
    functionName: output_quantization_factor
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int output_quantization_factor(const png_modifier *pm, int in_depth,\n
      \  int out_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modification_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2777,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pmm
    argTypes:
    - png_modification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2769
    functionDepth: 1
    functionLinenumber: 2769
    functionLinenumberEnd: 2779
    functionName: modification_reset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - modification_reset
    linkageType: ''
    returnType: void
    signature: void modification_reset(png_modification *pmm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2784,1
    - Dst: modification_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pmm
    argTypes:
    - png_modification*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2781
    functionDepth: 2
    functionLinenumber: 2781
    functionLinenumberEnd: 2790
    functionName: modification_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memset
    - modification_reset
    linkageType: ''
    returnType: void
    signature: void modification_init(png_modification *pmm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pm
    - ce
    argTypes:
    - png_modifier*
    - color_encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2803
      start: 2793
    functionDepth: 0
    functionLinenumber: 2793
    functionLinenumberEnd: 2803
    functionName: modifier_current_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void modifier_current_encoding(const png_modifier *pm, color_encoding
      *ce)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: safecat_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2811,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - pos
    - pm
    argTypes:
    - char*
    - size_t
    - size_t
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2818
      start: 2807
    functionDepth: 3
    functionLinenumber: 2807
    functionLinenumberEnd: 2818
    functionName: safecat_current_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - safecat_color_encoding
    linkageType: ''
    returnType: size_t
    signature: "size_t safecat_current_encoding(char *buffer, size_t bufsize, size_t
      pos,\n   const png_modifier *pm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2854
    functionName: modifier_total_encodings
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int modifier_total_encodings(const png_modifier *pm)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: modifier_total_encodings
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2864,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2874,1
    - Dst: modifier_total_encodings
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2885
      start: 2856
    functionDepth: 3
    functionLinenumber: 2856
    functionLinenumberEnd: 2885
    functionName: modifier_encoding_iterate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modifier_total_encodings
    - random_mod
    linkageType: ''
    returnType: void
    signature: void modifier_encoding_iterate(png_modifier *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_read_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2890,1
    - Dst: modifier_encoding_iterate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2887
    functionDepth: 8
    functionLinenumber: 2887
    functionLinenumberEnd: 2907
    functionName: modifier_reset
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_read_reset
    - modifier_encoding_iterate
    linkageType: ''
    returnType: void
    signature: void modifier_reset(png_modifier *pm)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2913
    functionDepth: 0
    functionLinenumber: 2913
    functionLinenumberEnd: 2949
    functionName: modifier_set_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void modifier_set_encoding(png_modifier *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2954
    functionDepth: 0
    functionLinenumber: 2954
    functionLinenumberEnd: 2959
    functionName: modifier_color_encoding_is_sRGB
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int modifier_color_encoding_is_sRGB(const png_modifier *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2965
      start: 2961
    functionDepth: 0
    functionLinenumber: 2961
    functionLinenumberEnd: 2965
    functionName: modifier_color_encoding_is_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int modifier_color_encoding_is_set(const png_modifier *pm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2974,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2975,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2968
    functionDepth: 1
    functionLinenumber: 2968
    functionLinenumberEnd: 2979
    functionName: modifier_crc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_save_uint_32
    - png_get_uint_32
    - crc32
    linkageType: ''
    returnType: void
    signature: void modifier_crc(png_bytep buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modifier_crc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2984,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:2985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2981
    functionDepth: 2
    functionLinenumber: 2981
    functionLinenumberEnd: 2987
    functionName: modifier_setbuffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modifier_crc
    - png_get_uint_32
    linkageType: ''
    returnType: void
    signature: void modifier_setbuffer(png_modifier *pm)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3006,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3010,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3011,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3016,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3020,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3021,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3022,1
    - Dst: modifier_setbuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3032,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3057,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3068,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3069,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3074,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3080,1
    - Dst: png_get_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3081,1
    - Dst: modifier_setbuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3106,1
    - Dst: store_read_chunk
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3141,1
    - Dst: modifier_setbuffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3167,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3190,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 109
    argCount: 3
    argNames:
    - pm
    - pb
    - st
    argTypes:
    - png_modifier*
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 2993
    functionDepth: 3
    functionLinenumber: 2993
    functionLinenumberEnd: 3195
    functionName: modifier_read_imp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_read_chunk
    - png_error
    - modifier_setbuffer
    - memcpy
    - png_get_uint_32
    - memcmp
    - png_save_uint_32
    linkageType: ''
    returnType: void
    signature: void modifier_read_imp(png_modifier *pm, png_bytep pb, size_t st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3202,1
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3202,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3205,1
    - Dst: modifier_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - ppIn
    - pb
    - st
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3208
      start: 3198
    functionDepth: 4
    functionLinenumber: 3198
    functionLinenumberEnd: 3208
    functionName: modifier_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - voidcast
    - png_get_io_ptr
    - modifier_read_imp
    linkageType: ''
    returnType: void
    signature: void modifier_read(png_structp ppIn, png_bytep pb, size_t st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3218,1
    - Dst: store_read_buffer_avail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3241,1
    - Dst: modifier_read_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3254,1
    - Dst: png_process_data
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3255,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - pm
    - pp
    - pi
    argTypes:
    - png_modifier*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3213
    functionDepth: 4
    functionLinenumber: 3213
    functionLinenumberEnd: 3265
    functionName: modifier_progressive_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_read_buffer_avail
    - modifier_read_imp
    - png_process_data
    linkageType: ''
    returnType: void
    signature: void modifier_progressive_read(png_modifier *pm, png_structp pp, png_infop
      pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_store_for_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pm
    - ppi
    - id
    - name
    argTypes:
    - png_modifier*
    - png_infopp
    - png_uint_32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3268
    functionDepth: 9
    functionLinenumber: 3268
    functionLinenumberEnd: 3287
    functionName: set_modifier_for_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - set_store_for_read
    linkageType: ''
    returnType: png_structp
    signature: "png_structp set_modifier_for_read(png_modifier *pm, png_infopp ppi,
      png_uint_32 id,\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3304,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3306,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3307,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pm
    - me
    - add
    argTypes:
    - png_modifier*
    - png_modification*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3301
    functionDepth: 1
    functionLinenumber: 3301
    functionLinenumberEnd: 3310
    functionName: gama_modify
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - png_save_uint_32
    linkageType: ''
    returnType: int
    signature: int gama_modify(png_modifier *pm, png_modification *me, int add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3317,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - me
    - pm
    - gammad
    argTypes:
    - gama_modification*
    - png_modifier*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3312
    functionDepth: 3
    functionLinenumber: 3312
    functionLinenumberEnd: 3325
    functionName: gama_modification_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - fix
    - modification_init
    linkageType: ''
    returnType: void
    signature: void gama_modification_init(gama_modification *me, png_modifier *pm,
      double gammad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3337,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3339,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3340,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3341,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3342,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3343,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3344,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3345,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3346,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3347,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pm
    - me
    - add
    argTypes:
    - png_modifier*
    - png_modification*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3334
    functionDepth: 1
    functionLinenumber: 3334
    functionLinenumberEnd: 3350
    functionName: chrm_modify
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - png_save_uint_32
    linkageType: ''
    returnType: int
    signature: int chrm_modify(png_modifier *pm, png_modification *me, int add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: white_point
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3356,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3362,1
    - Dst: chromaticity_x
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3362,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3363,1
    - Dst: chromaticity_y
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3363,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3365,1
    - Dst: chromaticity_x
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3365,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3366,1
    - Dst: chromaticity_y
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3366,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3367,1
    - Dst: chromaticity_x
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3367,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3368,1
    - Dst: chromaticity_y
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3368,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3369,1
    - Dst: chromaticity_x
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3369,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3370,1
    - Dst: chromaticity_y
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3370,1
    - Dst: modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - me
    - pm
    - encoding
    argTypes:
    - chrm_modification*
    - png_modifier*
    - color_encoding*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3352
    functionDepth: 3
    functionLinenumber: 3352
    functionLinenumberEnd: 3378
    functionName: chrm_modification_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modification_init
    - chromaticity_x
    - fix
    - chromaticity_y
    - white_point
    linkageType: ''
    returnType: void
    signature: "void chrm_modification_init(chrm_modification *me, png_modifier *pm,\n
      \  const color_encoding *encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3389,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3391,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pm
    - me
    - add
    argTypes:
    - png_modifier*
    - png_modification*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3386
    functionDepth: 1
    functionLinenumber: 3386
    functionLinenumberEnd: 3395
    functionName: srgb_modify
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - png_save_uint_32
    linkageType: ''
    returnType: int
    signature: int srgb_modify(png_modifier *pm, png_modification *me, int add)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - me
    - pm
    - intent
    argTypes:
    - srgb_modification*
    - png_modifier*
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3397
    functionDepth: 3
    functionLinenumber: 3397
    functionLinenumberEnd: 3419
    functionName: srgb_modification_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modification_init
    linkageType: ''
    returnType: void
    signature: void srgb_modification_init(srgb_modification *me, png_modifier *pm,
      png_byte intent)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3455,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3459,1
    - Dst: png_save_uint_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pm
    - me
    - add
    argTypes:
    - png_modifier*
    - png_modification*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3475
    functionName: sbit_modify
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_save_uint_32
    linkageType: ''
    returnType: int
    signature: int sbit_modify(png_modifier *pm, png_modification *me, int add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - me
    - pm
    - sbit
    argTypes:
    - sbit_modification*
    - png_modifier*
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3477
    functionDepth: 3
    functionLinenumber: 3477
    functionLinenumberEnd: 3487
    functionName: sbit_modification_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modification_init
    linkageType: ''
    returnType: void
    signature: void sbit_modification_init(sbit_modification *me, png_modifier *pm,
      png_byte sbit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3568,1
    - Dst: make_four_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3577,1
    - Dst: make_four_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3597,1
    - Dst: make_four_random_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3606,1
    - Dst: store_write_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3625,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - ps
    - npalette
    - do_tRNS
    argTypes:
    - png_store*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3544
    functionDepth: 6
    functionLinenumber: 3544
    functionLinenumberEnd: 3637
    functionName: make_standard_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_write_palette
    - memset
    - make_four_random_bytes
    linkageType: ''
    returnType: store_palette_entry
    signature: 'store_palette_entry *

      make_standard_palette(png_store* ps, int npalette, int do_tRNS)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_standard_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3647,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3665,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ps
    - pp
    - pi
    - npalette
    - do_tRNS
    argTypes:
    - png_store*
    - png_structp
    - png_infop
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3643
    functionDepth: 7
    functionLinenumber: 3643
    functionLinenumberEnd: 3687
    functionName: init_standard_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_tRNS
    - png_set_PLTE
    - make_standard_palette
    linkageType: ''
    returnType: void
    signature: "void init_standard_palette(png_store *ps, png_structp pp, png_infop
      pi, int npalette,\n   int do_tRNS)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: R8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3702,1
    - Dst: random_u16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3708,1
    - Dst: random_u16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3709,1
    - Dst: random_u16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3718,1
    - Dst: random_u16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3726,1
    - Dst: png_set_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - pp
    - pi
    - colour_type
    - bit_depth
    argTypes:
    - png_structp
    - png_infop
    - png_byte
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3731
      start: 3690
    functionDepth: 2
    functionLinenumber: 3690
    functionLinenumberEnd: 3731
    functionName: set_random_tRNS
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_tRNS
    - R8
    - random_u16
    linkageType: ''
    returnType: void
    signature: "void set_random_tRNS(png_structp pp, png_infop pi, png_byte colour_type,\n
      \  int bit_depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3743,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pp
    - interlace_type
    argTypes:
    - png_const_structp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3737
    functionDepth: 0
    functionLinenumber: 3737
    functionLinenumberEnd: 3751
    functionName: npasses_from_interlace_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: int
    signature: int npasses_from_interlace_type(png_const_structp pp, int interlace_type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pp
    - colour_type
    - bit_depth
    argTypes:
    - png_const_structp
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3770
      start: 3753
    functionDepth: 0
    functionLinenumber: 3753
    functionLinenumberEnd: 3770
    functionName: bit_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int bit_size(png_const_structp pp, png_byte colour_type, png_byte
      bit_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pp
    - colour_type
    - bit_depth
    argTypes:
    - png_const_structp
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3783
      start: 3778
    functionDepth: 1
    functionLinenumber: 3778
    functionLinenumberEnd: 3783
    functionName: transform_rowsize
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - bit_size
    linkageType: ''
    returnType: size_t
    signature: "size_t transform_rowsize(png_const_structp pp, png_byte colour_type,\n
      \  png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pp
    - ','
    - colour_type
    - ','
    - bit_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3789
      start: 3788
    functionDepth: 0
    functionLinenumber: 3788
    functionLinenumberEnd: 3789
    functionName: transform_width
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: transform_width(pp, colour_type, bit_depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - pp
    - colour_type
    - bit_depth
    argTypes:
    - png_const_structp
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3818
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3818
    functionName: transform_height
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - bit_size
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 transform_height(png_const_structp pp, png_byte colour_type,
      png_byte bit_depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WIDTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3827,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3828,1
    - Dst: transform_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3831,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3831,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pp
    - id
    argTypes:
    - png_const_structp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3824
    functionDepth: 1
    functionLinenumber: 3824
    functionLinenumberEnd: 3834
    functionName: standard_width
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - transform_width
    - WIDTH_FROM_ID
    - UNUSED
    - DEPTH_FROM_ID
    - COL_FROM_ID
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 standard_width(png_const_structp pp, png_uint_32 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HEIGHT_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3839,1
    - Dst: transform_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3842,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3842,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pp
    - id
    argTypes:
    - png_const_structp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3836
    functionDepth: 2
    functionLinenumber: 3836
    functionLinenumberEnd: 3845
    functionName: standard_height
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - HEIGHT_FROM_ID
    - DEPTH_FROM_ID
    - transform_height
    - COL_FROM_ID
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 standard_height(png_const_structp pp, png_uint_32 id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: standard_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3850,1
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3853,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3853,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - id
    argTypes:
    - png_const_structp
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3855
      start: 3847
    functionDepth: 2
    functionLinenumber: 3847
    functionLinenumberEnd: 3855
    functionName: standard_rowsize
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - standard_width
    - COL_FROM_ID
    - DEPTH_FROM_ID
    - bit_size
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 standard_rowsize(png_const_structp pp, png_uint_32 id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3865,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3968,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 76
    argCount: 5
    argNames:
    - pp
    - buffer
    - colour_type
    - bit_depth
    - y
    argTypes:
    - png_const_structp
    - png_byte[]
    - png_byte
    - png_byte
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3969
      start: 3858
    functionDepth: 1
    functionLinenumber: 3858
    functionLinenumberEnd: 3969
    functionName: transform_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - bit_size
    linkageType: ''
    returnType: void
    signature: "void transform_row(png_const_structp pp, png_byte buffer[TRANSFORM_ROWMAX],\n
      \  png_byte colour_type, png_byte bit_depth, png_uint_32 y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3975
      start: 3974
    functionDepth: 0
    functionLinenumber: 3974
    functionLinenumberEnd: 3975
    functionName: DEPTH
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEPTH(bd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3983
      start: 3982
    functionDepth: 0
    functionLinenumber: 3982
    functionLinenumberEnd: 3983
    functionName: check_interlace_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_interlace_type(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3983
    functionDepth: 0
    functionLinenumber: 3983
    functionLinenumberEnd: 3984
    functionName: set_write_interlace_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_write_interlace_handling(pp,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3987
      start: 3986
    functionDepth: 0
    functionLinenumber: 3986
    functionLinenumberEnd: 3987
    functionName: set_write_interlace_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_write_interlace_handling(pp,type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:3999,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - interlace_type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4002
      start: 3987
    functionDepth: 0
    functionLinenumber: 3987
    functionLinenumberEnd: 4002
    functionName: check_interlace_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void check_interlace_type(int const interlace_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 4006
    functionDepth: 0
    functionLinenumber: 4006
    functionLinenumberEnd: 4008
    functionName: set_write_interlace_handling
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_write_interlace_handling(pp,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4009
      start: 4008
    functionDepth: 0
    functionLinenumber: 4008
    functionLinenumberEnd: 4009
    functionName: check_interlace_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_interlace_type(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4043,1
    - Dst: PNG_PASS_COL_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4044,1
    - Dst: pixel_copy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - buffer
    - imageRow
    - pixel_size
    - w
    - pass
    - littleendian
    argTypes:
    - png_bytep
    - png_const_bytep
    - unsigned int
    - png_uint_32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4051
      start: 4030
    functionDepth: 1
    functionLinenumber: 4030
    functionLinenumberEnd: 4051
    functionName: interlace_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - PNG_PASS_START_COL
    - pixel_copy
    - PNG_PASS_COL_SHIFT
    linkageType: ''
    returnType: void
    signature: "void interlace_row(png_bytep buffer, png_const_bytep imageRow,\n   unsigned
      int pixel_size, png_uint_32 w, int pass, int littleendian)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4065,1
    - Dst: PNG_PASS_COL_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4066,1
    - Dst: pixel_copy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - buffer
    - row
    - pixel_size
    - w
    - pass
    - littleendian
    argTypes:
    - png_bytep
    - png_const_bytep
    - unsigned int
    - png_uint_32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4054
    functionDepth: 1
    functionLinenumber: 4054
    functionLinenumberEnd: 4073
    functionName: deinterlace_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - PNG_PASS_START_COL
    - pixel_copy
    - PNG_PASS_COL_SHIFT
    linkageType: ''
    returnType: void
    signature: "void deinterlace_row(png_bytep buffer, png_const_bytep row,\n   unsigned
      int pixel_size, png_uint_32 w, int pass, int littleendian)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4089,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - start
    argTypes:
    - png_structp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4099
      start: 4083
    functionDepth: 3
    functionLinenumber: 4083
    functionLinenumberEnd: 4099
    functionName: choose_random_filter
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_filter
    - random_mod
    linkageType: ''
    returnType: void
    signature: void choose_random_filter(png_structp pp, int start)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - start
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 4101
    functionDepth: 0
    functionLinenumber: 4101
    functionLinenumberEnd: 4102
    functionName: choose_random_filter
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: choose_random_filter(pp, start)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4109,1
    - Dst: check_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4111,1
    - Dst: set_store_for_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4116,1
    - Dst: transform_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4126,1
    - Dst: transform_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4127,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4129,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4150,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4157,1
    - Dst: init_standard_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4162,1
    - Dst: set_random_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4166,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4169,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4171,1
    - Dst: transform_rowsize
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4172,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4173,1
    - Dst: set_write_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4181,1
    - Dst: npasses_from_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4184,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4185,1
    - Dst: transform_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4198,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4212,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4213,1
    - Dst: interlace_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4214,1
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4215,1
    - Dst: choose_random_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4222,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4223,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4245,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4249,1
    - Dst: store_storefile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4252,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4252,1
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4255,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 6
    argNames:
    - ps
    - colour_type
    - bit_depth
    - palette_number
    - interlace_type
    - name
    argTypes:
    - png_store*
    - png_byte
    - png_byte
    - unsigned int
    - int
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4256
      start: 4104
    functionDepth: 9
    functionLinenumber: 4104
    functionLinenumberEnd: 4256
    functionName: make_transform_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - bit_size
    - FILEID
    - png_set_text
    - check_interlace_type
    - set_write_interlace_handling
    - store_write_reset
    - png_write_end
    - context
    - npasses_from_interlace_type
    - transform_row
    - PNG_PASS_COLS
    - safecat
    - png_set_IHDR
    - store_storefile
    - set_random_tRNS
    - set_store_for_write
    - transform_rowsize
    - png_get_rowbytes
    - png_write_row
    - init_standard_palette
    - png_error
    - transform_width
    - choose_random_filter
    - PNG_ROW_IN_INTERLACE_PASS
    - interlace_row
    - png_write_info
    - transform_height
    linkageType: ''
    returnType: void
    signature: "void make_transform_image(png_store* const ps, png_byte const colour_type,\n
      \   png_byte const bit_depth, unsigned int palette_number,\n    int interlace_type,
      png_const_charp name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4265
      start: 4258
    functionDepth: 8
    functionLinenumber: 4258
    functionLinenumberEnd: 4265
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_write_reset
    linkageType: ''
    returnType: void
    signature: void Catch(fault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4276,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4282,1
    - Dst: standard_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4291,1
    - Dst: make_transform_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4297
      start: 4268
    functionDepth: 10
    functionLinenumber: 4268
    functionLinenumberEnd: 4297
    functionName: make_transform_images
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_transform_image
    - safecat
    - standard_name
    - next_format
    linkageType: ''
    returnType: void
    signature: void make_transform_images(png_modifier *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - bit_width
    - y
    argTypes:
    - png_byte[]
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4321
      start: 4302
    functionDepth: 0
    functionLinenumber: 4302
    functionLinenumberEnd: 4321
    functionName: size_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void size_row(png_byte buffer[SIZE_ROWMAX], png_uint_32 bit_width,
      png_uint_32 y)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4329,1
    - Dst: check_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4331,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4341,1
    - Dst: standard_name_from_id
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4344,1
    - Dst: set_store_for_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4345,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4354,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4370,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4377,1
    - Dst: init_standard_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4382,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4384,1
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4390,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4391,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4392,1
    - Dst: npasses_from_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4396,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4404,1
    - Dst: set_write_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4407,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4408,1
    - Dst: size_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4412,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4417,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4440,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4445,1
    - Dst: interlace_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4446,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4466,1
    - Dst: png_set_filter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4472,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4476,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4498,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4502,1
    - Dst: store_storefile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4505,1
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 7
    argNames:
    - ps
    - colour_type
    - bit_depth
    - interlace_type
    - w
    - h
    - do_interlace
    argTypes:
    - png_store*
    - png_byte
    - png_byte
    - int
    - png_uint_32
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4508
      start: 4323
    functionDepth: 9
    functionLinenumber: 4323
    functionLinenumberEnd: 4508
    functionName: make_size_image
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - bit_size
    - FILEID
    - png_set_text
    - size_row
    - check_interlace_type
    - set_write_interlace_handling
    - store_write_reset
    - png_write_end
    - png_set_filter
    - context
    - npasses_from_interlace_type
    - PNG_PASS_COLS
    - safecat
    - png_set_IHDR
    - memset
    - random_mod
    - store_storefile
    - set_store_for_write
    - png_get_rowbytes
    - png_write_row
    - init_standard_palette
    - png_error
    - standard_name_from_id
    - PNG_ROW_IN_INTERLACE_PASS
    - interlace_row
    - png_write_info
    linkageType: ''
    returnType: void
    signature: "void make_size_image(png_store* const ps, png_byte const colour_type,\n
      \   png_byte const bit_depth, int const interlace_type,\n    png_uint_32 const
      w, png_uint_32 const h,\n    int const do_interlace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4517
      start: 4510
    functionDepth: 8
    functionLinenumber: 4510
    functionLinenumberEnd: 4517
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_write_reset
    linkageType: ''
    returnType: void
    signature: void Catch(fault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_size_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4538,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4538,1
    - Dst: make_size_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4540,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4540,1
    - Dst: make_size_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4543,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4543,1
    - Dst: make_size_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4550,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ps
    - colour_type
    - bdlo
    - bdhi
    argTypes:
    - png_store*
    - png_byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4556
      start: 4520
    functionDepth: 10
    functionLinenumber: 4520
    functionLinenumberEnd: 4556
    functionName: make_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_size_image
    - DEPTH
    linkageType: ''
    returnType: void
    signature: "void make_size(png_store* const ps, png_byte const colour_type, int
      bdlo,\n    int const bdhi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4562,1
    - Dst: make_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4566,1
    - Dst: make_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4567,1
    - Dst: make_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4568,1
    - Dst: make_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4569,1
    - Dst: make_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4558
    functionDepth: 11
    functionLinenumber: 4558
    functionLinenumberEnd: 4571
    functionName: make_size_images
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - safecat
    - make_size
    linkageType: ''
    returnType: void
    signature: void make_size_images(png_store *ps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WIDTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4579,1
    - Dst: transform_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4580,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4580,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4580,1
    - Dst: size_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4582,1
    - Dst: WIDTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4582,1
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4582,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4582,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pp
    - std
    - id
    - y
    argTypes:
    - png_const_structp
    - png_byte[]
    - png_uint_32
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4584
      start: 4575
    functionDepth: 2
    functionLinenumber: 4575
    functionLinenumberEnd: 4584
    functionName: standard_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - transform_row
    - WIDTH_FROM_ID
    - bit_size
    - DEPTH_FROM_ID
    - size_row
    - COL_FROM_ID
    linkageType: ''
    returnType: void
    signature: "void standard_row(png_const_structp pp, png_byte std[STANDARD_ROWMAX],\n
      \  png_uint_32 id, png_uint_32 y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pp
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4603
      start: 4596
    functionDepth: 2
    functionLinenumber: 4596
    functionLinenumberEnd: 4603
    functionName: sBIT0_error_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_sBIT
    linkageType: ''
    returnType: void
    signature: void sBIT0_error_fn(png_structp pp, png_infop pi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4611,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4615,1
    - Dst: png_set_sBIT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pp
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4621
      start: 4605
    functionDepth: 2
    functionLinenumber: 4605
    functionLinenumberEnd: 4621
    functionName: sBIT_error_fn
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_sBIT
    - png_get_bit_depth
    - png_get_color_type
    linkageType: ''
    returnType: void
    signature: void sBIT_error_fn(png_structp pp, png_infop pi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4642,1
    - Dst: check_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4644,1
    - Dst: set_store_for_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4649,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4651,1
    - Dst: transform_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4656,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4657,1
    - Dst: transform_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4658,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4659,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4660,1
    - Dst: init_standard_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4664,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4673,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4679,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4682,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4691,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 6
    argNames:
    - ps
    - colour_type
    - bit_depth
    - interlace_type
    - test
    - name
    argTypes:
    - png_store*
    - png_byte
    - png_byte
    - int
    - int
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4692
      start: 4638
    functionDepth: 9
    functionLinenumber: 4638
    functionLinenumberEnd: 4692
    functionName: make_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - gnu_volatile
    - set_store_for_write
    - transform_width
    - fn
    - png_set_IHDR
    - transform_height
    - store_log
    - check_interlace_type
    - init_standard_palette
    - png_write_info
    - context
    linkageType: ''
    returnType: void
    signature: "void make_error(png_store* const ps, png_byte const colour_type,\n
      \   png_byte bit_depth, int interlace_type, int test, png_const_charp name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4696
      start: 4694
    functionDepth: 0
    functionLinenumber: 4694
    functionLinenumberEnd: 4696
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Catch (fault)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4771
    functionDepth: 8
    functionLinenumber: 4771
    functionLinenumberEnd: 4774
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_write_reset
    linkageType: ''
    returnType: void
    signature: void Catch(fault)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: standard_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4791,1
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4794,1
    - Dst: make_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4796,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4796,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pm
    - colour_type
    - bdlo
    - bdhi
    argTypes:
    - png_modifier*
    - png_byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4806
      start: 4777
    functionDepth: 10
    functionLinenumber: 4777
    functionLinenumberEnd: 4806
    functionName: make_errors
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - make_error
    - ARRAY_SIZE
    - DEPTH
    - fail
    - standard_name
    linkageType: ''
    returnType: int
    signature: "int make_errors(png_modifier* const pm, png_byte const colour_type,\n
      \   int bdlo, int const bdhi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4814,1
    - Dst: make_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4816,1
    - Dst: make_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4819,1
    - Dst: make_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4822,1
    - Dst: make_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4825,1
    - Dst: make_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4828,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4831,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4833
      start: 4809
    functionDepth: 11
    functionLinenumber: 4809
    functionLinenumberEnd: 4833
    functionName: perform_error_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - safecat
    - make_errors
    linkageType: ''
    returnType: void
    signature: void perform_error_test(png_modifier *pm)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4845,1
    - Dst: set_store_for_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4857,1
    - Dst: png_convert_to_rfc1123
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4872,1
    - Dst: png_convert_to_rfc1123_buffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4874,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4882,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4884,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4889,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4890,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4891,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4892,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4893,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4895,1
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4898,1
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4903,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - ps
    argTypes:
    - png_store*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4908
      start: 4838
    functionDepth: 9
    functionLinenumber: 4838
    functionLinenumberEnd: 4908
    functionName: perform_formatting_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_convert_to_rfc1123_buffer
    - set_store_for_write
    - strcmp
    - safecat
    - UNUSED
    - store_write_reset
    - png_convert_to_rfc1123
    - context
    linkageType: ''
    returnType: void
    signature: void perform_formatting_test(png_store *ps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_write_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4904
      start: 4901
    functionDepth: 8
    functionLinenumber: 4901
    functionLinenumberEnd: 4904
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_write_reset
    linkageType: ''
    returnType: void
    signature: void Catch(fault)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4974,1
    - Dst: COL_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4977,1
    - Dst: DEPTH_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4978,1
    - Dst: internal_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4980,1
    - Dst: INTERLACE_FROM_ID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4986,1
    - Dst: check_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:4987,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5003,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5005,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 5
    argNames:
    - dp
    - ps
    - id
    - do_interlace
    - use_update_info
    argTypes:
    - standard_display*
    - png_store*
    - png_uint_32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4970
    functionDepth: 5
    functionLinenumber: 4970
    functionLinenumberEnd: 5006
    functionName: standard_display_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - internal_error
    - memset
    - INTERLACE_FROM_ID
    - DEPTH_FROM_ID
    - check_interlace_type
    - COL_FROM_ID
    linkageType: ''
    returnType: void
    signature: "void standard_display_init(standard_display *dp, png_store* ps, png_uint_32
      id,\n   int do_interlace, int use_update_info)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: store_current_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5014,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5020,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - dp
    argTypes:
    - standard_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5011
    functionDepth: 5
    functionLinenumber: 5011
    functionLinenumberEnd: 5037
    functionName: standard_palette_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - memcpy
    - store_current_palette
    linkageType: ''
    returnType: void
    signature: void standard_palette_init(standard_display *dp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_get_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5054,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5059,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5071,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5077,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5080,1
    - Dst: png_get_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5085,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5103,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 4
    argNames:
    - palette
    - npalette
    - pp
    - pi
    argTypes:
    - store_palette
    - int*
    - png_const_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5130
      start: 5043
    functionDepth: 2
    functionLinenumber: 5043
    functionLinenumberEnd: 5130
    functionName: read_palette
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - memset
    - png_get_PLTE
    - png_get_tRNS
    linkageType: ''
    returnType: int
    signature: "int read_palette(store_palette palette, int *npalette, png_const_structp
      pp,\n   png_infop pi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5142,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5143,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5150,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5151,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5152,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5153,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5154,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - standard_display*
    - png_const_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5167
      start: 5135
    functionDepth: 3
    functionLinenumber: 5135
    functionLinenumberEnd: 5167
    functionName: standard_palette_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - safecat
    - read_palette
    - safecatn
    linkageType: ''
    returnType: void
    signature: "void standard_palette_validate(standard_display *dp, png_const_structp
      pp,\n   png_infop pi)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5180,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5181,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5183,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5184,1
    - Dst: png_get_filter_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5186,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5187,1
    - Dst: png_get_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5189,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5190,1
    - Dst: png_get_compression_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5192,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5193,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5195,1
    - Dst: standard_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5197,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5198,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5200,1
    - Dst: standard_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5202,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5203,1
    - Dst: png_get_sBIT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5211,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5216,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5256,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5265,1
    - Dst: standard_rowsize
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5265,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5266,1
    - Dst: standard_palette_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5271,1
    - Dst: png_get_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5280,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5283,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5304,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5308,1
    - Dst: npasses_from_interlace_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5317,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5321,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5322,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5328,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - standard_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5335
      start: 5177
    functionDepth: 4
    functionLinenumber: 5177
    functionLinenumberEnd: 5335
    functionName: standard_info_part1
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - npasses_from_interlace_type
    - png_get_image_width
    - png_get_tRNS
    - png_get_image_height
    - png_set_interlace_handling
    - png_get_compression_type
    - png_get_interlace_type
    - png_get_rowbytes
    - png_get_bit_depth
    - standard_palette_validate
    - standard_rowsize
    - png_get_color_type
    - png_get_sBIT
    - standard_width
    - standard_height
    - png_get_filter_type
    linkageType: ''
    returnType: void
    signature: void standard_info_part1(standard_display *dp, png_structp pp, png_infop
      pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5347,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5348,1
    - Dst: bit_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5354,1
    - Dst: png_get_image_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5356,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5357,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5361,1
    - Dst: store_ensure_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - dp
    - pp
    - pi
    - nImages
    argTypes:
    - standard_display*
    - png_const_structp
    - png_const_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5365
      start: 5341
    functionDepth: 6
    functionLinenumber: 5341
    functionLinenumberEnd: 5365
    functionName: standard_info_part2
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_ensure_image
    - png_get_image_width
    - bit_size
    - png_get_rowbytes
    - png_get_bit_depth
    - png_get_color_type
    linkageType: ''
    returnType: void
    signature: "void standard_info_part2(standard_display *dp, png_const_structp pp,\n
      \   png_const_infop pi, int nImages)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: standard_info_part1
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5374,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5384,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5388,1
    - Dst: standard_info_part2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dp
    - pp
    - pi
    - nImages
    argTypes:
    - standard_display*
    - png_structp
    - png_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5394
      start: 5367
    functionDepth: 7
    functionLinenumber: 5367
    functionLinenumberEnd: 5394
    functionName: standard_info_imp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_read_update_info
    - png_start_read_image
    - standard_info_part2
    - standard_info_part1
    linkageType: ''
    returnType: void
    signature: "void standard_info_imp(standard_display *dp, png_structp pp, png_infop
      pi,\n    int nImages)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5399,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5400,1
    - Dst: standard_info_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5406
      start: 5396
    functionDepth: 8
    functionLinenumber: 5396
    functionLinenumberEnd: 5406
    functionName: standard_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - standard_info_imp
    - png_get_progressive_ptr
    linkageType: ''
    returnType: void
    signature: void standard_info(png_structp pp, png_infop pi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5412,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5413,1
    - Dst: png_get_current_row_number
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5431,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5432,1
    - Dst: png_get_current_pass_number
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5434,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5435,1
    - Dst: PNG_ROW_FROM_PASS_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5438,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5443,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5445,1
    - Dst: deinterlace_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5453,1
    - Dst: row_copy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5456,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5465,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5466,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5467,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - ppIn
    - new_row
    - y
    - pass
    argTypes:
    - png_structp
    - png_bytep
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5468
      start: 5408
    functionDepth: 2
    functionLinenumber: 5408
    functionLinenumberEnd: 5468
    functionName: progressive_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - row_copy
    - png_get_current_pass_number
    - PNG_PASS_COLS
    - voidcast
    - png_get_progressive_ptr
    - png_get_current_row_number
    - deinterlace_row
    - PNG_ROW_IN_INTERLACE_PASS
    - store_image_row
    - PNG_ROW_FROM_PASS_ROW
    linkageType: ''
    returnType: void
    signature: void progressive_row(png_structp ppIn, png_bytep new_row, png_uint_32
      y, int pass)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: standard_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5477,1
    - Dst: standard_width
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5478,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5485,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5494,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5507,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5508,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5510,1
    - Dst: deinterlace_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5513,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5513,1
    - Dst: deinterlace_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5517,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5517,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5522,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5523,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5524,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5531,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - dp
    - pp
    - pi
    - iImage
    - iDisplay
    argTypes:
    - standard_display*
    - png_structp
    - png_infop
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5532
      start: 5470
    functionDepth: 7
    functionLinenumber: 5470
    functionLinenumberEnd: 5532
    functionName: sequential_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - PNG_PASS_COLS
    - deinterlace_row
    - PNG_ROW_IN_INTERLACE_PASS
    - memset
    - store_image_row
    - png_read_row
    - png_read_end
    - standard_width
    - standard_height
    linkageType: ''
    returnType: void
    signature: "void sequential_row(standard_display *dp, png_structp pp, png_infop
      pi,\n    int iImage, int iDisplay)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5540,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5543,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5544,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5551,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5553,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5556,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5558,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5561,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5562,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5566,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5570,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5574,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5577,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5578,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5579,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5582,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5584,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5585,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5586,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5587,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5588,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5593,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5597,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5598,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5599,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5604,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5605,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5606,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 4
    argNames:
    - pp
    - tp
    - keyword
    - text
    argTypes:
    - png_const_structp
    - png_const_textp
    - png_const_charp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5614
      start: 5535
    functionDepth: 1
    functionLinenumber: 5535
    functionLinenumberEnd: 5614
    functionName: standard_check_text
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - sprintf
    - strcmp
    - safecat
    - strlen
    linkageType: ''
    returnType: void
    signature: "void standard_check_text(png_const_structp pp, png_const_textp tp,\n
      \  png_const_charp keyword, png_const_charp text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5621,1
    - Dst: standard_check_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5625,1
    - Dst: standard_check_text
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5632,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5639,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5641,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - dp
    - pp
    - pi
    - check_end
    argTypes:
    - standard_display*
    - png_const_structp
    - png_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5643
      start: 5616
    functionDepth: 2
    functionLinenumber: 5616
    functionLinenumberEnd: 5643
    functionName: standard_text_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - standard_check_text
    - png_get_text
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void standard_text_validate(standard_display *dp, png_const_structp
      pp,\n   png_infop pi, int check_end)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dp
    - ','
    - pp
    - ','
    - pi
    - ','
    - check_end
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5646
      start: 5645
    functionDepth: 0
    functionLinenumber: 5645
    functionLinenumberEnd: 5646
    functionName: standard_text_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: standard_text_validate(dp,pp,pi,check_end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5658,1
    - Dst: standard_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5659,1
    - Dst: pixel_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5667,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5667,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5671,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5673,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5674,1
    - Dst: pixel_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5678,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5678,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5682,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5684,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - dp
    - pp
    - iImage
    - iDisplay
    - y
    argTypes:
    - standard_display*
    - png_const_structp
    - int
    - int
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5687
      start: 5648
    functionDepth: 3
    functionLinenumber: 5648
    functionLinenumberEnd: 5687
    functionName: standard_row_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - sprintf
    - standard_row
    - memset
    - store_image_row
    - pixel_cmp
    linkageType: ''
    returnType: void
    signature: "void standard_row_validate(standard_display *dp, png_const_structp
      pp,\n   int iImage, int iDisplay, png_uint_32 y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: store_image_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5696,1
    - Dst: store_image_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5699,1
    - Dst: standard_row_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - dp
    - pp
    - iImage
    - iDisplay
    argTypes:
    - standard_display*
    - png_const_structp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5706
      start: 5689
    functionDepth: 4
    functionLinenumber: 5689
    functionLinenumberEnd: 5706
    functionName: standard_image_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_image_check
    - standard_row_validate
    linkageType: ''
    returnType: void
    signature: "void standard_image_validate(standard_display *dp, png_const_structp
      pp, int iImage,\n    int iDisplay)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5712,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5713,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5715,1
    - Dst: standard_text_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5720,1
    - Dst: standard_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ppIn
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5723
      start: 5708
    functionDepth: 5
    functionLinenumber: 5708
    functionLinenumberEnd: 5723
    functionName: standard_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - png_get_progressive_ptr
    - UNUSED
    - standard_image_validate
    - standard_text_validate
    linkageType: ''
    returnType: void
    signature: void standard_end(png_structp ppIn, png_infop pi)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5731,1
    - Dst: standard_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5736,1
    - Dst: set_store_for_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5749,1
    - Dst: standard_palette_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5756,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5761,1
    - Dst: store_progressive_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5765,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5770,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5773,1
    - Dst: standard_info_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5778,1
    - Dst: sequential_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5785,1
    - Dst: standard_text_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5792,1
    - Dst: standard_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5793,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - psIn
    - id
    - do_interlace
    - use_update_info
    argTypes:
    - png_store*
    - png_uint_32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5805
      start: 5726
    functionDepth: 9
    functionLinenumber: 5726
    functionLinenumberEnd: 5805
    functionName: standard_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - standard_palette_init
    - standard_info_imp
    - standard_display_init
    - png_set_progressive_read_fn
    - png_error
    - sequential_row
    - standard_text_validate
    - store_progressive_read
    - png_set_read_fn
    - set_store_for_read
    - standard_image_validate
    - png_read_info
    - context
    linkageType: ''
    returnType: void
    signature: "void standard_test(png_store* const psIn, png_uint_32 const id,\n
      \  int do_interlace, int use_update_info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5825,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5825,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5825,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5828,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pm
    - colour_type
    - bdlo
    - bdhi
    argTypes:
    - png_modifier*
    - png_byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5834
      start: 5814
    functionDepth: 10
    functionLinenumber: 5814
    functionLinenumberEnd: 5834
    functionName: test_standard
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - DEPTH
    - standard_test
    - FILEID
    - fail
    linkageType: ''
    returnType: int
    signature: "int test_standard(png_modifier* const pm, png_byte const colour_type,\n
      \   int bdlo, int const bdhi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_standard
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5842,1
    - Dst: test_standard
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5845,1
    - Dst: test_standard
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5848,1
    - Dst: test_standard
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5851,1
    - Dst: test_standard
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5856
      start: 5836
    functionDepth: 11
    functionLinenumber: 5836
    functionLinenumberEnd: 5856
    functionName: perform_standard_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - test_standard
    linkageType: ''
    returnType: void
    signature: void perform_standard_test(png_modifier *pm)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5886,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5886,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5886,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5890,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5893,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5893,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5893,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5897,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5904,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5904,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5904,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5908,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5913,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5913,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5913,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5917,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5939,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5939,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5939,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5943,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5950,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5950,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5950,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5954,1
    - Dst: standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5961,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5961,1
    - Dst: DEPTH
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5961,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5965,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - pm
    - colour_type
    - bdlo
    - bdhi
    argTypes:
    - png_modifier*
    - png_byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5973
      start: 5860
    functionDepth: 10
    functionLinenumber: 5860
    functionLinenumberEnd: 5973
    functionName: test_size
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - DEPTH
    - standard_test
    - FILEID
    - fail
    linkageType: ''
    returnType: int
    signature: "int test_size(png_modifier* const pm, png_byte const colour_type,\n
      \   int bdlo, int const bdhi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: test_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5981,1
    - Dst: test_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5984,1
    - Dst: test_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5991,1
    - Dst: test_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5995,1
    - Dst: test_size
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:5998,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6000
      start: 5975
    functionDepth: 11
    functionLinenumber: 5975
    functionLinenumberEnd: 6000
    functionName: perform_size_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - test_size
    linkageType: ''
    returnType: void
    signature: void perform_size_test(png_modifier *pm)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - this
    - rMax
    - gMax
    - bMax
    - aMax
    argTypes:
    - image_pixel*
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6070
      start: 6045
    functionDepth: 0
    functionLinenumber: 6045
    functionLinenumberEnd: 6070
    functionName: image_pixel_setf
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void image_pixel_setf(image_pixel *this, unsigned int rMax, unsigned
      int gMax,\n        unsigned int bMax, unsigned int aMax)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6093,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6122,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6129,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6133,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6136,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6146,1
    - Dst: image_pixel_setf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 7
    argNames:
    - this
    - row
    - colour_type
    - bit_depth
    - x
    - palette
    - format
    argTypes:
    - image_pixel*
    - png_const_bytep
    - png_byte
    - png_byte
    - png_uint_32
    - store_palette
    - image_pixel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6178
      start: 6076
    functionDepth: 1
    functionLinenumber: 6076
    functionLinenumberEnd: 6178
    functionName: image_pixel_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - image_pixel_setf
    - sample
    linkageType: ''
    returnType: void
    signature: "void image_pixel_init(image_pixel *this, png_const_bytep row, png_byte
      colour_type,\n    png_byte bit_depth, png_uint_32 x, store_palette palette,\n
      \   const image_pixel *format /*from pngvalid transform of input*/)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - this
    argTypes:
    - image_pixel*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6208
      start: 6190
    functionDepth: 0
    functionLinenumber: 6190
    functionLinenumberEnd: 6208
    functionName: image_pixel_convert_PLTE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void image_pixel_convert_PLTE(image_pixel *this)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6222,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 3
    argNames:
    - this
    - display
    - for_background
    argTypes:
    - image_pixel*
    - standard_display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6217
    functionDepth: 1
    functionLinenumber: 6217
    functionLinenumberEnd: 6287
    functionName: image_pixel_add_alpha
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - image_pixel_convert_PLTE
    linkageType: ''
    returnType: void
    signature: "void image_pixel_add_alpha(image_pixel *this, const standard_display
      *display,\n   int for_background)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: modifier_set_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6377,1
    - Dst: modifier_color_encoding_is_set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6379,1
    - Dst: modifier_color_encoding_is_sRGB
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6381,1
    - Dst: srgb_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6382,1
    - Dst: gama_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6387,1
    - Dst: chrm_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - this
    argTypes:
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6393
      start: 6369
    functionDepth: 4
    functionLinenumber: 6369
    functionLinenumberEnd: 6393
    functionName: transform_set_encoding
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modifier_set_encoding
    - chrm_modification_init
    - modifier_color_encoding_is_set
    - modifier_color_encoding_is_sRGB
    - srgb_modification_init
    - gama_modification_init
    linkageType: ''
    returnType: void
    signature: void transform_set_encoding(transform_display *this)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6408,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6409,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6410,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6412
      start: 6404
    functionDepth: 0
    functionLinenumber: 6404
    functionLinenumberEnd: 6412
    functionName: image_transform_set_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: "void image_transform_set_end(const image_transform *this,\n   transform_display
      *that, png_structp pp, png_infop pi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - sample_value
    - scale
    argTypes:
    - double
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6429
      start: 6417
    functionDepth: 0
    functionLinenumber: 6417
    functionLinenumberEnd: 6429
    functionName: sample_scale
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int sample_scale(double sample_value, unsigned int scale)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6438,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6439,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6440,1
    - Dst: sample_scale
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6449,1
    - Dst: sample_scale
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6472,1
    - Dst: sample_scale
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6476,1
    - Dst: sample_scale
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6493,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6505
      start: 6431
    functionDepth: 1
    functionLinenumber: 6431
    functionLinenumberEnd: 6505
    functionName: image_transform_mod_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - sample_scale
    linkageType: ''
    returnType: void
    signature: "void image_transform_mod_end(const image_transform *this, image_pixel
      *that,\n    png_const_structp pp, const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6529,1
    - Dst: standard_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - dp
    - pm
    - id
    - transform_list
    argTypes:
    - transform_display*
    - png_modifier*
    - png_uint_32
    - image_transform*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6544
      start: 6525
    functionDepth: 6
    functionLinenumber: 6525
    functionLinenumberEnd: 6544
    functionName: transform_display_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - standard_display_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void transform_display_init(transform_display *dp, png_modifier *pm,
      png_uint_32 id,\n    const image_transform *transform_list)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: standard_info_part1
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6550,1
    - Dst: transform_display*::transform_list::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6553,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6560,1
    - Dst: standard_info_part2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6565,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6568,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6569,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6602,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6604,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6605,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6606,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6608,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6619,1
    - Dst: transform_display*::transform_list::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6633,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6638,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6640,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6641,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6642,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6644,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6650,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6652,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6653,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6654,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6656,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6663,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6665,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6670,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6677,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6678,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6679,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6681,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6689,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6692,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6693,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6694,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6696,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 69
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6699
      start: 6546
    functionDepth: 7
    functionLinenumber: 6546
    functionLinenumberEnd: 6699
    functionName: transform_info_imp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - transform_display*::transform_list::mod
    - safecat
    - standard_info_part1
    - png_get_bit_depth
    - transform_display*::transform_list::set
    - memset
    - png_get_color_type
    - png_read_update_info
    - standard_info_part2
    - safecatn
    linkageType: ''
    returnType: void
    signature: void transform_info_imp(transform_display *dp, png_structp pp, png_infop
      pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6706
      start: 6701
    functionDepth: 0
    functionLinenumber: 6701
    functionLinenumberEnd: 6706
    functionName: transform_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void transform_info(png_structp pp, png_infop pi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6721,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6722,1
    - Dst: debugonly
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6723,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6728,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6729,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6730,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6731,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6732,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6733,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6734,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6735,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6736,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6737,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6738,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6739,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6740,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6741,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6742,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6743,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6744,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6745,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6747,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 13
    argNames:
    - pp
    - r
    - g
    - b
    - a
    - in_digitized
    - in
    - out
    - sample_depth
    - err
    - limit
    - name
    - digitization_error
    argTypes:
    - png_const_structp
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - unsigned int
    - double
    - unsigned int
    - png_byte
    - double
    - double
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6751
      start: 6708
    functionDepth: 2
    functionLinenumber: 6708
    functionLinenumberEnd: 6751
    functionName: transform_range_check
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - safecatd
    - debugonly
    - safecat
    - floor
    - UNUSED
    - ceil
    - safecatn
    linkageType: ''
    returnType: void
    signature: "void transform_range_check(png_const_structp pp, unsigned int r, unsigned
      int g,\n   unsigned int b, unsigned int a, unsigned int in_digitized, double
      in,\n   unsigned int out, png_byte sample_depth, double err, double limit,\n
      \  const char *name, double digitization_error)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6777,1
    - Dst: store_image_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6780,1
    - Dst: read_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6792,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6794,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6802,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6826,1
    - Dst: transform_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6832,1
    - Dst: image_pixel_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6843,1
    - Dst: transform_display*::transform_list::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6862,1
    - Dst: image_pixel_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6868,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6878,1
    - Dst: transform_range_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6885,1
    - Dst: transform_range_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6892,1
    - Dst: transform_range_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6899,1
    - Dst: transform_range_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6906,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 47
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - transform_display*
    - png_const_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6915
      start: 6753
    functionDepth: 3
    functionLinenumber: 6753
    functionLinenumberEnd: 6915
    functionName: transform_image_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_error
    - store_image_check
    - transform_display*::transform_list::mod
    - transform_row
    - transform_range_check
    - read_palette
    - image_pixel_init
    - UNUSED
    - memset
    - store_image_row
    linkageType: ''
    returnType: void
    signature: "void transform_image_validate(transform_display *dp, png_const_structp
      pp,\n   png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6921,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6922,1
    - Dst: transform_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppIn
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6928
      start: 6917
    functionDepth: 4
    functionLinenumber: 6917
    functionLinenumberEnd: 6928
    functionName: transform_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - transform_image_validate
    - png_get_progressive_ptr
    linkageType: ''
    returnType: void
    signature: void transform_end(png_structp ppIn, png_infop pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6936,1
    - Dst: transform_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6938,1
    - Dst: transform_set_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6950,1
    - Dst: transform_display::transform_list::ini
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6953,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6956,1
    - Dst: safecat_current_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6957,1
    - Dst: set_modifier_for_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6960,1
    - Dst: standard_palette_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6961,1
    - Dst: store_message
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6968,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6971,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6979,1
    - Dst: modifier_progressive_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6983,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6988,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6991,1
    - Dst: transform_info_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6994,1
    - Dst: sequential_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6996,1
    - Dst: transform_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:6999,1
    - Dst: modifier_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7004,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - pmIn
    - idIn
    - transform_listIn
    - name
    argTypes:
    - png_modifier*
    - png_uint_32
    - image_transform*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7005
      start: 6931
    functionDepth: 10
    functionLinenumber: 6931
    functionLinenumberEnd: 7005
    functionName: transform_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - standard_palette_init
    - png_read_info
    - modifier_reset
    - png_set_progressive_read_fn
    - transform_image_validate
    - safecat_current_encoding
    - transform_set_encoding
    - sequential_row
    - transform_display::transform_list::ini
    - safecat
    - transform_display_init
    - store_message
    - png_set_read_fn
    - fprintf
    - transform_info_imp
    - modifier_progressive_read
    - context
    - set_modifier_for_read
    linkageType: ''
    returnType: void
    signature: "void transform_test(png_modifier *pmIn, png_uint_32 idIn,\n    const
      image_transform* transform_listIn, const char * const name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7011
      start: 7007
    functionDepth: 0
    functionLinenumber: 7007
    functionLinenumberEnd: 7011
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Catch(fault)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7015
      start: 7014
    functionDepth: 0
    functionLinenumber: 7014
    functionLinenumberEnd: 7015
    functionName: ITSTRUCT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITSTRUCT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7016
      start: 7015
    functionDepth: 0
    functionLinenumber: 7015
    functionLinenumberEnd: 7016
    functionName: ITDATA
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ITDATA(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7021
      start: 7017
    functionDepth: 0
    functionLinenumber: 7017
    functionLinenumberEnd: 7021
    functionName: IT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next::ini
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - this
    - that
    argTypes:
    - image_transform*
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7042
      start: 7037
    functionDepth: 0
    functionLinenumber: 7037
    functionLinenumberEnd: 7042
    functionName: image_transform_default_ini
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::ini
    linkageType: ''
    returnType: void
    signature: "void image_transform_default_ini(const image_transform *this,\n    transform_display
      *that)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7049,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 7045
    functionDepth: 0
    functionLinenumber: 7045
    functionLinenumberEnd: 7056
    functionName: image_transform_default_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_default_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_palette_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7065,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7067
      start: 7061
    functionDepth: 2
    functionLinenumber: 7061
    functionLinenumberEnd: 7067
    functionName: image_transform_png_set_palette_to_rgb_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_palette_to_rgb
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_palette_to_rgb_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7075,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7078
      start: 7069
    functionDepth: 1
    functionLinenumber: 7069
    functionLinenumberEnd: 7078
    functionName: image_transform_png_set_palette_to_rgb_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - image_pixel_convert_PLTE
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_palette_to_rgb_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7090
      start: 7080
    functionDepth: 0
    functionLinenumber: 7080
    functionLinenumberEnd: 7090
    functionName: image_transform_png_set_palette_to_rgb_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_palette_to_rgb_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7103,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7112
      start: 7099
    functionDepth: 2
    functionLinenumber: 7099
    functionLinenumberEnd: 7112
    functionName: image_transform_png_set_tRNS_to_alpha_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_tRNS_to_alpha
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_tRNS_to_alpha_set(const image_transform
      *this,\n   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7122,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7133,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7139,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7147
      start: 7114
    functionDepth: 2
    functionLinenumber: 7114
    functionLinenumberEnd: 7147
    functionName: image_transform_png_set_tRNS_to_alpha_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - if
    - image_pixel_convert_PLTE
    - next::mod
    - image_pixel_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_tRNS_to_alpha_mod(const image_transform
      *this,\n   image_pixel *that, png_const_structp pp,\n   const transform_display
      *display)"
  - BBCount: 401
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7153,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7170,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7181,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7183,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7197,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7215,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7222,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7230,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7241,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7246,1
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7256,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7261,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7263,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7270,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7281,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7295,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7297,1
    - Dst: image_transform_png_set_expand_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7306,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7313,1
    - Dst: image_transform_png_set_expand_add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7322,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7325,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7337,1
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7348,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7356,1
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7368,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7371,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7376,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7383,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7392,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7403,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7408,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7425,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7432,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7440,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7451,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7456,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7496,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7503,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7511,1
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7522,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7523,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7539,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7546,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7554,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7609,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7671,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7681,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7692,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7693,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7726,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7746,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7748,1
    - Dst: png_set_rgb_to_gray
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7770,1
    - Dst: png_set_rgb_to_gray_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7772,1
    - Dst: API_function
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7800,1
    - Dst: modifier_current_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7810,1
    - Dst: normalize_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7811,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7818,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7819,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7820,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7821,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7825,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7826,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7827,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7828,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7829,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7830,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7831,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7832,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7833,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7851,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7852,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7853,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7854,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7855,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7856,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7857,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7858,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7859,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7870,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7871,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7872,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7873,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7874,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7875,1
    - Dst: safecat_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7877,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7878,1
    - Dst: safecat_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7879,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7881,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7887,1
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7901,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7940,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7942,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7946,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7948,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7952,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7954,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7969,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7970,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7971,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7972,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7973,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7974,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7978,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7979,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7979,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7980,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7980,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7982,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7983,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7983,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7984,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7984,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7986,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7987,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7987,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7988,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7988,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8008,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8014,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8029,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8030,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8031,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8032,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8033,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8034,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8037,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8038,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8038,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8039,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8039,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8055,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8057,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8058,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8067,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8068,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8069,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8070,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8071,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8151,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8151,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8152,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8152,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8153,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8153,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8166,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8175,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8195,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8196,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8197,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8198,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8199,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8224,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8231,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8240,1
    - Dst: R8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8273,1
    - Dst: image_pixel_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8295,1
    - Dst: R8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8301,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8314,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8316,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8319,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8329,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8376,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8382,1
    - Dst: png_set_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8411,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8412,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8423,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8430,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8439,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8457,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8458,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8470,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8477,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8486,1
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8504,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8505,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8517,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8524,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8533,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8549,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8550,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8561,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8568,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8576,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8607,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8608,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8610,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8617,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8644,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8659,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8680,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8681,1
    - Dst: png_set_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8683,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8684,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8705,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8720,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8739,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8741,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8756,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8763,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8772,1
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8789,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8791,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8802,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8809,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8817,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8834,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8835,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8846,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8853,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8862,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8889,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8890,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8891,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8892,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8893,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8895,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8896,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8928,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8935,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8943,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8955,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8963,1
    - Dst: IT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8976,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8995,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9010,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9012,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9023,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9032,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9034,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9054,1
    - Dst: image_transform_reset_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9095,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9099,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9107,1
    - Dst: image_transform*::add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9123,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9126,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9127,1
    - Dst: image_transform_test_counter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9152,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9164,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9171,1
    - Dst: image_transform_add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9181,1
    - Dst: transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9191,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9191,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9194,1
    - Dst: standard_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9241,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9258,1
    - Dst: standard_info_part1
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9268,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9277,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9281,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9283,1
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9289,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9291,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9307,1
    - Dst: png_set_alpha_mode
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9311,1
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9313,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9323,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9325,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9326,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9331,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9339,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9342,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9343,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9344,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9355,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9359,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9362,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9366,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9375,1
    - Dst: standard_info_part2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9380,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9452,1
    - Dst: abserr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9459,1
    - Dst: pcerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9460,1
    - Dst: calcerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9461,1
    - Dst: outerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9462,1
    - Dst: output_quantization_factor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9463,1
    - Dst: outlog
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9465,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9487,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9490,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9491,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9492,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9507,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9511,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9579,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9580,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9581,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9633,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9636,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9670,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9674,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9706,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9709,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9716,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9723,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9726,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9759,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9800,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9805,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9817,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9821,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9876,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9878,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9882,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9884,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9895,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9897,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9901,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9903,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9939,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9950,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9985,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10014,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10017,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10018,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10019,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10025,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10026,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10027,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10028,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10030,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10032,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10034,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10050,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10051,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10055,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10057,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10058,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10067,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10068,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10069,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10070,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10071,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10081,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10083,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10084,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10085,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10086,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10091,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10092,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10093,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10097,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10103,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10112,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10113,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10114,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10118,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10122,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10128,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10129,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10130,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10131,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10132,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10133,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10134,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10135,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10136,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10137,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10138,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10143,1
    - Dst: store_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10145,1
    - Dst: store_verbose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10150,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10169,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10170,1
    - Dst: store_image_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10223,1
    - Dst: init_validate_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10228,1
    - Dst: read_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10245,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10249,1
    - Dst: transform_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10252,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10264,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10266,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10276,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10287,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10291,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10313,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10319,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10321,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10323,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10335,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10336,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10337,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10341,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10343,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10345,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10348,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10350,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10352,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10355,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10357,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10359,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10365,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10370,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10373,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10384,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10384,1
    - Dst: gamma_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10387,1
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10410,1
    - Dst: gamma_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10412,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10412,1
    - Dst: modifier_set_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10428,1
    - Dst: gama_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10435,1
    - Dst: srgb_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10436,1
    - Dst: sbit_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10438,1
    - Dst: modification_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10440,1
    - Dst: set_modifier_for_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10443,1
    - Dst: standard_palette_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10444,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10450,1
    - Dst: modifier_progressive_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10454,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10459,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10462,1
    - Dst: gamma_info_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10465,1
    - Dst: sequential_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10467,1
    - Dst: gamma_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10470,1
    - Dst: modifier_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10475,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10478,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10515,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10538,1
    - Dst: Catch
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10549,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10559,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10560,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10561,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10562,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10564,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10585,1
    - Dst: gamma_threshold_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10595,1
    - Dst: gamma_threshold_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10601,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10604,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10621,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10622,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10623,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10627,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10630,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10632,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10633,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10634,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10636,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10647,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10655,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10659,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10678,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10692,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10696,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10733,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10735,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10739,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10742,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10746,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10749,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10753,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10756,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10760,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10832,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10836,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10849,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10865,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10891,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10892,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10893,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10894,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10896,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10900,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10905,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10906,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10907,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10908,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10909,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10912,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10913,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10914,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10917,1
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10937,1
    - Dst: gamma_composition_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10951,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10955,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10976,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10983,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10986,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10989,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10993,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10994,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10995,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10996,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10998,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11001,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11002,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11004,1
    - Dst: perform_gamma_threshold_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11021,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11023,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11032,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11033,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11034,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11035,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11036,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11037,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11038,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11040,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11041,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11042,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11043,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11044,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11045,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11048,1
    - Dst: perform_gamma_transform_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11054,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11059,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11061,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11068,1
    - Dst: perform_gamma_sbit_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11069,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11072,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11074,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11082,1
    - Dst: perform_gamma_scale16_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11083,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11087,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11088,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11089,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11090,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11091,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11094,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11102,1
    - Dst: perform_gamma_composition_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11112,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11119,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11121,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11131,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11139,1
    - Dst: perform_gamma_composition_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11141,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11147,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11149,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11387,1
    - Dst: png_pass_start_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11388,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11391,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11392,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11395,1
    - Dst: png_pass_start_col
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11396,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11399,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11400,1
    - Dst: PNG_PASS_ROW_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11403,1
    - Dst: png_pass_row_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11407,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11408,1
    - Dst: PNG_PASS_COL_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11411,1
    - Dst: png_pass_col_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11415,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11416,1
    - Dst: png_pass_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11438,1
    - Dst: PNG_ROW_FROM_PASS_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11440,1
    - Dst: png_row_from_pass_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11441,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11444,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11446,1
    - Dst: png_pass_cols
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11450,1
    - Dst: PNG_COL_FROM_PASS_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11452,1
    - Dst: png_col_from_pass_col
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11453,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11456,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11458,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11462,1
    - Dst: png_row_in_interlace_pass
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11463,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11466,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11468,1
    - Dst: PNG_COL_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11471,1
    - Dst: png_col_in_interlace_pass
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11472,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11475,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11477,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11482,1
    - Dst: png_pass_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11483,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11486,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11488,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11491,1
    - Dst: png_pass_cols
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11492,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11495,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11497,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11571,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11576,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11580,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11584,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11588,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11592,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11596,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11600,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11601,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11605,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11619,1
    - Dst: anon_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11643,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11645,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11646,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11647,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11650,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11651,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11652,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11653,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11654,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11655,1
    - Dst: feenableexcept
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11662,1
    - Dst: modifier_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11665,1
    - Dst: store_ensure_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11672,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11675,1
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11695,1
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11712,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11766,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11767,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11769,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11772,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11775,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11778,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11779,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11782,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11785,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11789,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11792,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11795,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11798,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11801,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11804,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11807,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11811,1
    - Dst: transform_disable
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11815,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11818,1
    - Dst: transform_enable
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11822,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11826,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11838,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11841,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11844,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11847,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11850,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11853,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11856,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11859,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11862,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11865,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11868,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11871,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11874,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11877,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11880,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11883,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11888,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11894,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11898,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11901,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11904,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11907,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11910,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11913,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11918,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11923,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11926,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11929,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11932,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11935,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11939,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11942,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11943,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11945,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11948,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11952,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11953,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11955,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11956,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11958,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11959,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11961,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11962,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11964,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11965,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11967,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11968,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11970,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11971,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11973,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11974,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11978,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11979,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11985,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11986,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11988,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11989,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11992,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11999,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12005,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12011,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12017,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12018,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12021,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12024,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12029,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12032,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12042,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12043,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12048,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12049,1
    - Dst: make_transform_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12097,1
    - Dst: perform_interlace_macro_validation
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12102,1
    - Dst: perform_formatting_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12103,1
    - Dst: perform_standard_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12105,1
    - Dst: perform_error_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12107,1
    - Dst: make_size_images
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12113,1
    - Dst: perform_size_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12115,1
    - Dst: perform_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12122,1
    - Dst: perform_gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12127,1
    CyclomaticComplexity: 552
    EdgeCount: 552
    ICount: 1945
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12129
      start: 7149
    functionDepth: 12
    functionLinenumber: 7149
    functionLinenumberEnd: 12129
    functionName: image_transform_png_set_tRNS_to_alpha_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - perform_gamma_composition_tests
    - image_transform_reset_count
    - random_choice
    - R8
    - FILEID
    - png_set_bgr
    - sbit_modification_init
    - fprintf
    - memcmp
    - API_cvt
    - gamma_threshold_test
    - perform_standard_test
    - perform_size_test
    - context
    - PNG_ROW_FROM_PASS_ROW
    - standard_display_init
    - modifier_set_encoding
    - gamma_transform_test
    - png_set_invert_mono
    - perform_gamma_transform_tests
    - store_warning
    - make_transform_images
    - png_pass_cols
    - png_get_color_type
    - pcerr
    - feenableexcept
    - ARRAY_SIZE
    - transform_test
    - floor
    - random_u32
    - png_set_rgb_to_gray
    - png_set_background_fixed
    - store_ensure_image
    - image_transform*::add
    - strncmp
    - gamma_info_imp
    - ceil
    - atoi
    - set_modifier_for_read
    - png_col_from_pass_col
    - CHECK
    - png_set_packing
    - gamma_display_init
    - IT
    - output_quantization_factor
    - png_set_swap_alpha
    - png_row_from_pass_row
    - image_transform_test_counter
    - summarize_gamma_errors
    - PNG_PASS_COLS
    - png_set_gamma_fixed
    - print_one
    - make_size_images
    - png_set_packswap
    - srgb_modification_init
    - png_pass_row_shift
    - perform_gamma_threshold_tests
    - transform_disable
    - png_set_progressive_read_fn
    - sequential_row
    - printf
    - perform_transform_test
    - perform_error_test
    - sample
    - DD
    - png_pass_start_row
    - PNG_PASS_ROWS
    - gnu_volatile
    - sprintf
    - png_set_swap
    - png_set_background
    - voidcast
    - PNG_COL_IN_INTERLACE_PASS
    - modification_reset
    - read_palette
    - perform_gamma_scale16_tests
    - image_transform_png_set_expand_mod
    - outlog
    - png_row_in_interlace_pass
    - Catch
    - transform_enable
    - image_transform_add
    - gamma_test
    - png_get_progressive_ptr
    - png_set_invert_alpha
    - standard_info_part2
    - png_set_strip_16
    - gama_modification_init
    - perform_gamma_test
    - standard_palette_init
    - store_image_check
    - modifier_reset
    - transform_row
    - signal
    - png_set_alpha_mode_fixed
    - safecat
    - PNG_COL_FROM_PASS_COL
    - png_pass_col_shift
    - png_pass_rows
    - perform_gamma_sbit_tests
    - memset
    - png_set_alpha_mode
    - gamma_image_validate
    - init_validate_info
    - png_set_scale_16
    - init_gamma_errors
    - png_set_expand_gray_1_2_4_to_8
    - UNUSED
    - png_set_shift
    - store_verbose
    - gamma_composition_test
    - perform_interlace_macro_validation
    - if
    - image_pixel_convert_PLTE
    - png_error
    - outerr
    - png_set_expand
    - PNG_PASS_COL_SHIFT
    - standard_info_part1
    - fix
    - random_32
    - image_pixel_init
    - store_log
    - fabs
    - fail
    - png_read_update_info
    - API_function
    - exit
    - abort
    - png_set_gray_to_rgb
    - png_set_filler
    - abserr
    - safecatn
    - png_set_expand_16
    - DU
    - next::set
    - image_pixel_add_alpha
    - anon_context
    - atof
    - PNG_PASS_START_ROW
    - image_transform_png_set_expand_add
    - safecatd
    - png_get_bit_depth
    - png_set_read_fn
    - png_set_rgb_to_gray_fixed
    - random_mod
    - modifier_init
    - png_warning
    - png_read_info
    - png_pass_start_col
    - modifier_current_encoding
    - pow
    - gamma_component_validate
    - safecat_color_encoding
    - png_set_add_alpha
    - strcmp
    - png_set_gamma
    - perform_formatting_test
    - gamma_component_compose
    - fflush
    - modifier_progressive_read
    - next::mod
    - PNG_PASS_START_COL
    - normalize_color_encoding
    - PNG_PASS_ROW_SHIFT
    - png_set_strip_alpha
    - png_col_in_interlace_pass
    - calcerr
    - PNG_ROW_IN_INTERLACE_PASS
    - store_image_row
    - next_format
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_tRNS_to_alpha_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7181,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7184
      start: 7177
    functionDepth: 3
    functionLinenumber: 7177
    functionLinenumberEnd: 7184
    functionName: image_transform_png_set_gray_to_rgb_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_gray_to_rgb
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_gray_to_rgb_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7197,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7215,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7216
      start: 7186
    functionDepth: 2
    functionLinenumber: 7186
    functionLinenumberEnd: 7216
    functionName: image_transform_png_set_gray_to_rgb_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    - image_pixel_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_gray_to_rgb_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7228
      start: 7218
    functionDepth: 0
    functionLinenumber: 7218
    functionLinenumberEnd: 7228
    functionName: image_transform_png_set_gray_to_rgb_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_gray_to_rgb_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7241,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7247
      start: 7237
    functionDepth: 2
    functionLinenumber: 7237
    functionLinenumberEnd: 7247
    functionName: image_transform_png_set_expand_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_expand
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7256,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7261,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7264
      start: 7249
    functionDepth: 2
    functionLinenumber: 7249
    functionLinenumberEnd: 7264
    functionName: image_transform_png_set_expand_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - next::mod
    - image_pixel_convert_PLTE
    - image_pixel_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7279
      start: 7266
    functionDepth: 0
    functionLinenumber: 7266
    functionLinenumberEnd: 7279
    functionName: image_transform_png_set_expand_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_expand_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7295,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7298
      start: 7290
    functionDepth: 2
    functionLinenumber: 7290
    functionLinenumberEnd: 7298
    functionName: image_transform_png_set_expand_gray_1_2_4_to_8_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_expand_gray_1_2_4_to_8
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_gray_1_2_4_to_8_set(\n    const
      image_transform *this, transform_display *that, png_structp pp,\n    png_infop
      pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_transform_png_set_expand_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7306,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7315
      start: 7300
    functionDepth: 3
    functionLinenumber: 7300
    functionLinenumberEnd: 7315
    functionName: image_transform_png_set_expand_gray_1_2_4_to_8_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - image_transform_png_set_expand_mod
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_gray_1_2_4_to_8_mod(\n    const
      image_transform *this, image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_transform_png_set_expand_add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7322,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7335
      start: 7317
    functionDepth: 1
    functionLinenumber: 7317
    functionLinenumberEnd: 7335
    functionName: image_transform_png_set_expand_gray_1_2_4_to_8_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - image_transform_png_set_expand_add
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_expand_gray_1_2_4_to_8_add(image_transform
      *this,\n    const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7348,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7357
      start: 7344
    functionDepth: 2
    functionLinenumber: 7344
    functionLinenumberEnd: 7357
    functionName: image_transform_png_set_expand_16_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_expand_16
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_16_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7368,1
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7371,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7377
      start: 7359
    functionDepth: 2
    functionLinenumber: 7359
    functionLinenumberEnd: 7377
    functionName: image_transform_png_set_expand_16_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    - image_pixel_convert_PLTE
    - image_pixel_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_expand_16_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7390
      start: 7379
    functionDepth: 0
    functionLinenumber: 7379
    functionLinenumberEnd: 7390
    functionName: image_transform_png_set_expand_16_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_expand_16_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7403,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7409
      start: 7399
    functionDepth: 2
    functionLinenumber: 7399
    functionLinenumberEnd: 7409
    functionName: image_transform_png_set_scale_16_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_scale_16
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_scale_16_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7426
      start: 7411
    functionDepth: 0
    functionLinenumber: 7411
    functionLinenumberEnd: 7426
    functionName: image_transform_png_set_scale_16_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_scale_16_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7438
      start: 7428
    functionDepth: 0
    functionLinenumber: 7428
    functionLinenumberEnd: 7438
    functionName: image_transform_png_set_scale_16_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_scale_16_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7451,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7457
      start: 7447
    functionDepth: 2
    functionLinenumber: 7447
    functionLinenumberEnd: 7457
    functionName: image_transform_png_set_strip_16_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_strip_16
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_strip_16_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7497
      start: 7459
    functionDepth: 0
    functionLinenumber: 7459
    functionLinenumberEnd: 7497
    functionName: image_transform_png_set_strip_16_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_strip_16_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7509
      start: 7499
    functionDepth: 0
    functionLinenumber: 7499
    functionLinenumberEnd: 7509
    functionName: image_transform_png_set_strip_16_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_strip_16_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_strip_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7522,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7524
      start: 7518
    functionDepth: 2
    functionLinenumber: 7518
    functionLinenumberEnd: 7524
    functionName: image_transform_png_set_strip_alpha_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_strip_alpha
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_strip_alpha_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7539,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7540
      start: 7526
    functionDepth: 0
    functionLinenumber: 7526
    functionLinenumberEnd: 7540
    functionName: image_transform_png_set_strip_alpha_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_strip_alpha_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7552
      start: 7542
    functionDepth: 0
    functionLinenumber: 7542
    functionLinenumberEnd: 7552
    functionName: image_transform_png_set_strip_alpha_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_strip_alpha_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7609,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7671,1
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7681,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7692,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7693,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7726,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7746,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7748,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 2
    argNames:
    - this
    - that
    argTypes:
    - image_transform*
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7761
      start: 7602
    functionDepth: 3
    functionLinenumber: 7602
    functionLinenumberEnd: 7761
    functionName: image_transform_png_set_rgb_to_gray_ini
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - pow
    - random_choice
    - fix
    - UNUSED
    - random_u32
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_rgb_to_gray_ini(const image_transform
      *this,\n    transform_display *that)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_set_rgb_to_gray
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7770,1
    - Dst: png_set_rgb_to_gray_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7772,1
    - Dst: API_function
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7800,1
    - Dst: modifier_current_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7810,1
    - Dst: normalize_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7811,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7818,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7819,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7820,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7821,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7825,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7826,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7827,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7828,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7829,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7830,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7831,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7832,1
    - Dst: API_cvt
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7833,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7851,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7852,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7853,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7854,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7855,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7856,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7857,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7858,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7859,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7870,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7871,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7872,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7873,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7874,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7875,1
    - Dst: safecat_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7877,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7878,1
    - Dst: safecat_color_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7879,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7881,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7887,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7888
      start: 7763
    functionDepth: 3
    functionLinenumber: 7763
    functionLinenumberEnd: 7888
    functionName: image_transform_png_set_rgb_to_gray_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - modifier_current_encoding
    - png_error
    - normalize_color_encoding
    - CHECK
    - safecatd
    - safecat_color_encoding
    - safecat
    - next::set
    - png_set_rgb_to_gray_fixed
    - fabs
    - API_cvt
    - API_function
    - png_set_rgb_to_gray
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_rgb_to_gray_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7789
      start: 7788
    functionDepth: 0
    functionLinenumber: 7788
    functionLinenumberEnd: 7789
    functionName: API_cvt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: API_cvt(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7794
      start: 7793
    functionDepth: 0
    functionLinenumber: 7793
    functionLinenumberEnd: 7794
    functionName: API_cvt
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: API_cvt(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - col
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7850
      start: 7841
    functionDepth: 0
    functionLinenumber: 7841
    functionLinenumberEnd: 7850
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(col,x)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_convert_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7901,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7940,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7942,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7946,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7948,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7952,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7954,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7969,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7970,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7971,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7972,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7973,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7974,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7978,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7979,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7979,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7980,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7980,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7982,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7983,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7983,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7984,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7984,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7986,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7987,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7987,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7988,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:7988,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8008,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8014,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8029,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8030,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8031,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8032,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8033,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8034,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8037,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8038,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8038,1
    - Dst: DU
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8039,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8039,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8055,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8057,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8058,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8067,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8068,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8069,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8070,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8071,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8151,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8151,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8152,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8152,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8153,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8153,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8166,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8175,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8195,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8196,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8197,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8198,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8199,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8224,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 150
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8225
      start: 7890
    functionDepth: 2
    functionLinenumber: 7890
    functionLinenumberEnd: 8225
    functionName: image_transform_png_set_rgb_to_gray_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - DD
    - pow
    - safecatd
    - DU
    - safecat
    - fabs
    - png_warning
    - image_pixel_convert_PLTE
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_rgb_to_gray_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - d
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7936
      start: 7935
    functionDepth: 0
    functionLinenumber: 7935
    functionLinenumberEnd: 7936
    functionName: DD
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DD(v,d,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - d
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7937
      start: 7936
    functionDepth: 0
    functionLinenumber: 7936
    functionLinenumberEnd: 7937
    functionName: DU
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DU(v,d,r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8237
      start: 8227
    functionDepth: 0
    functionLinenumber: 8227
    functionLinenumberEnd: 8237
    functionName: image_transform_png_set_rgb_to_gray_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_rgb_to_gray_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: R8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8273,1
    - Dst: image_pixel_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8295,1
    - Dst: R8
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8301,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8314,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8316,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8320
      start: 8259
    functionDepth: 3
    functionLinenumber: 8259
    functionLinenumberEnd: 8320
    functionName: image_transform_png_set_background_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_background
    - R8
    - next::set
    - image_pixel_init
    - png_set_background_fixed
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_background_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: image_pixel_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8329,1
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8377
      start: 8322
    functionDepth: 2
    functionLinenumber: 8322
    functionLinenumberEnd: 8377
    functionName: image_transform_png_set_background_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    - image_pixel_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_background_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_invert_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8411,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8413
      start: 8407
    functionDepth: 2
    functionLinenumber: 8407
    functionLinenumberEnd: 8413
    functionName: image_transform_png_set_invert_alpha_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::set
    - png_set_invert_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_invert_alpha_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8424
      start: 8415
    functionDepth: 0
    functionLinenumber: 8415
    functionLinenumberEnd: 8424
    functionName: image_transform_png_set_invert_alpha_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_invert_alpha_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8437
      start: 8426
    functionDepth: 0
    functionLinenumber: 8426
    functionLinenumberEnd: 8437
    functionName: image_transform_png_set_invert_alpha_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_invert_alpha_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8457,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8459
      start: 8453
    functionDepth: 2
    functionLinenumber: 8453
    functionLinenumberEnd: 8459
    functionName: image_transform_png_set_bgr_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::set
    - png_set_bgr
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_bgr_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8471
      start: 8461
    functionDepth: 0
    functionLinenumber: 8461
    functionLinenumberEnd: 8471
    functionName: image_transform_png_set_bgr_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_bgr_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8477,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8484
      start: 8473
    functionDepth: 0
    functionLinenumber: 8473
    functionLinenumberEnd: 8484
    functionName: image_transform_png_set_bgr_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_bgr_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_swap_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8504,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8506
      start: 8500
    functionDepth: 2
    functionLinenumber: 8500
    functionLinenumberEnd: 8506
    functionName: image_transform_png_set_swap_alpha_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_swap_alpha
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_swap_alpha_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8518
      start: 8508
    functionDepth: 0
    functionLinenumber: 8508
    functionLinenumberEnd: 8518
    functionName: image_transform_png_set_swap_alpha_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_swap_alpha_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8531
      start: 8520
    functionDepth: 0
    functionLinenumber: 8520
    functionLinenumberEnd: 8531
    functionName: image_transform_png_set_swap_alpha_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_swap_alpha_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8549,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8551
      start: 8545
    functionDepth: 2
    functionLinenumber: 8545
    functionLinenumberEnd: 8551
    functionName: image_transform_png_set_swap_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::set
    - png_set_swap
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_swap_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8562
      start: 8553
    functionDepth: 0
    functionLinenumber: 8553
    functionLinenumberEnd: 8562
    functionName: image_transform_png_set_swap_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_swap_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8574
      start: 8564
    functionDepth: 0
    functionLinenumber: 8564
    functionLinenumberEnd: 8574
    functionName: image_transform_png_set_swap_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_swap_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8607,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8608,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8610,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8618
      start: 8599
    functionDepth: 3
    functionLinenumber: 8599
    functionLinenumberEnd: 8618
    functionName: image_transform_png_set_filler_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - random_choice
    - random_u32
    - next::set
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_filler_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8645
      start: 8620
    functionDepth: 0
    functionLinenumber: 8620
    functionLinenumberEnd: 8645
    functionName: image_transform_png_set_filler_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_filler_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8656
      start: 8647
    functionDepth: 0
    functionLinenumber: 8647
    functionLinenumberEnd: 8656
    functionName: image_transform_png_set_filler_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_filler_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_u32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8680,1
    - Dst: random_choice
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8681,1
    - Dst: png_set_add_alpha
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8683,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8685
      start: 8672
    functionDepth: 3
    functionLinenumber: 8672
    functionLinenumberEnd: 8685
    functionName: image_transform_png_set_add_alpha_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - random_choice
    - random_u32
    - next::set
    - png_set_add_alpha
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_add_alpha_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8706
      start: 8687
    functionDepth: 0
    functionLinenumber: 8687
    functionLinenumberEnd: 8706
    functionName: image_transform_png_set_add_alpha_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_add_alpha_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8717
      start: 8708
    functionDepth: 0
    functionLinenumber: 8708
    functionLinenumberEnd: 8717
    functionName: image_transform_png_set_add_alpha_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_add_alpha_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8739,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8742
      start: 8735
    functionDepth: 2
    functionLinenumber: 8735
    functionLinenumberEnd: 8742
    functionName: image_transform_png_set_packing_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_packing
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_packing_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8757
      start: 8744
    functionDepth: 0
    functionLinenumber: 8744
    functionLinenumberEnd: 8757
    functionName: image_transform_png_set_packing_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_packing_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8770
      start: 8759
    functionDepth: 0
    functionLinenumber: 8759
    functionLinenumberEnd: 8770
    functionName: image_transform_png_set_packing_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_packing_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_packswap
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8789,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8792
      start: 8785
    functionDepth: 2
    functionLinenumber: 8785
    functionLinenumberEnd: 8792
    functionName: image_transform_png_set_packswap_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_packswap
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_packswap_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8803
      start: 8794
    functionDepth: 0
    functionLinenumber: 8794
    functionLinenumberEnd: 8803
    functionName: image_transform_png_set_packswap_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_packswap_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8815
      start: 8805
    functionDepth: 0
    functionLinenumber: 8805
    functionLinenumberEnd: 8815
    functionName: image_transform_png_set_packswap_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_packswap_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8834,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8836
      start: 8830
    functionDepth: 2
    functionLinenumber: 8830
    functionLinenumberEnd: 8836
    functionName: image_transform_png_set_invert_mono_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_invert_mono
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_invert_mono_set(const image_transform
      *this,\n    transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8846,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8847
      start: 8838
    functionDepth: 0
    functionLinenumber: 8838
    functionLinenumberEnd: 8847
    functionName: image_transform_png_set_invert_mono_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_invert_mono_mod(const image_transform
      *this,\n    image_pixel *that, png_const_structp pp,\n    const transform_display
      *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8853,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8860
      start: 8849
    functionDepth: 0
    functionLinenumber: 8849
    functionLinenumberEnd: 8860
    functionName: image_transform_png_set_invert_mono_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_invert_mono_add(image_transform *this,\n
      \   const image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8889,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8890,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8891,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8892,1
    - Dst: random_mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8893,1
    - Dst: png_set_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8895,1
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8897
      start: 8877
    functionDepth: 3
    functionLinenumber: 8877
    functionLinenumberEnd: 8897
    functionName: image_transform_png_set_shift_set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - png_set_shift
    - random_mod
    - next::set
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_shift_set(const image_transform *this,\n
      \   transform_display *that, png_structp pp, png_infop pi)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8928,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8929
      start: 8899
    functionDepth: 0
    functionLinenumber: 8899
    functionLinenumberEnd: 8929
    functionName: image_transform_png_set_shift_mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void image_transform_png_set_shift_mod(const image_transform *this,\n
      \   image_pixel *that, png_const_structp pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8941
      start: 8931
    functionDepth: 0
    functionLinenumber: 8931
    functionLinenumberEnd: 8941
    functionName: image_transform_png_set_shift_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: int
    signature: "int image_transform_png_set_shift_add(image_transform *this,\n    const
      image_transform **that, png_byte colour_type, png_byte bit_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next::set
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - pi
    argTypes:
    - image_transform*
    - transform_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8956
      start: 8950
    functionDepth: 0
    functionLinenumber: 8950
    functionLinenumberEnd: 8956
    functionName: _set
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 7
    functionsReached:
    - next::set
    linkageType: ''
    returnType: void
    signature: "void _set(const image_transform *this,\n    transform_display *that,
      png_structp pp, png_infop pi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: next::mod
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - this
    - that
    - pp
    - display
    argTypes:
    - image_transform*
    - image_pixel*
    - png_const_structp
    - transform_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8964
      start: 8958
    functionDepth: 0
    functionLinenumber: 8958
    functionLinenumberEnd: 8964
    functionName: _mod
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 6
    functionsReached:
    - next::mod
    linkageType: ''
    returnType: void
    signature: "void _mod(const image_transform *this,\n    image_pixel *that, png_const_structp
      pp,\n    const transform_display *display)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - this
    - that
    - colour_type
    - bit_depth
    argTypes:
    - image_transform*
    - image_transform**
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8974
      start: 8966
    functionDepth: 0
    functionLinenumber: 8966
    functionLinenumberEnd: 8974
    functionName: _add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _add(image_transform *this,\n    const image_transform **that,
      png_byte colour_type, png_byte bit_depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:8995,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9010,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 8983
    functionDepth: 0
    functionLinenumber: 8983
    functionLinenumberEnd: 9014
    functionName: transform_enable
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - strcmp
    linkageType: ''
    returnType: void
    signature: void transform_enable(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9023,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9032,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9034,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9035
      start: 9016
    functionDepth: 0
    functionLinenumber: 9016
    functionLinenumberEnd: 9035
    functionName: transform_disable
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    - strcmp
    linkageType: ''
    returnType: void
    signature: void transform_disable(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abort
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9055
      start: 9037
    functionDepth: 0
    functionLinenumber: 9037
    functionLinenumberEnd: 9055
    functionName: image_transform_reset_count
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - abort
    linkageType: ''
    returnType: void
    signature: void image_transform_reset_count(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - counter
    - max
    argTypes:
    - png_uint_32
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9077
      start: 9057
    functionDepth: 0
    functionLinenumber: 9057
    functionLinenumberEnd: 9077
    functionName: image_transform_test_counter
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int image_transform_test_counter(png_uint_32 counter, unsigned int
      max)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: image_transform_reset_count
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9095,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9099,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9107,1
    - Dst: image_transform*::add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9123,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9126,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9127,1
    - Dst: image_transform_test_counter
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9152,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 8
    argNames:
    - this
    - max
    - counter
    - name
    - sizeof_name
    - pos
    - colour_type
    - bit_depth
    argTypes:
    - image_transform**
    - unsigned int
    - png_uint_32
    - char*
    - size_t
    - size_t*
    - png_byte
    - png_byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9155
      start: 9079
    functionDepth: 3
    functionLinenumber: 9079
    functionLinenumberEnd: 9155
    functionName: image_transform_add
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - image_transform_reset_count
    - image_transform_test_counter
    - image_transform*::add
    - safecat
    - random_32
    linkageType: ''
    returnType: png_uint_32
    signature: "png_uint_32 image_transform_add(const image_transform **this, unsigned
      int max,\n   png_uint_32 counter, char *name, size_t sizeof_name, size_t *pos,\n
      \  png_byte colour_type, png_byte bit_depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9164,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9171,1
    - Dst: image_transform_add
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9181,1
    - Dst: transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9191,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9191,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9200
      start: 9157
    functionDepth: 11
    functionLinenumber: 9157
    functionLinenumberEnd: 9200
    functionName: perform_transform_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - image_transform_add
    - safecat
    - FILEID
    - transform_test
    - next_format
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_transform_test(png_modifier *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: standard_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9241,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 13
    argNames:
    - dp
    - pm
    - id
    - file_gamma
    - screen_gamma
    - sbit
    - threshold_test
    - use_input_precision
    - scale16
    - expand16
    - do_background
    - pointer_to_the_background_color
    - background_gamma
    argTypes:
    - gamma_display*
    - png_modifier*
    - png_uint_32
    - double
    - double
    - png_byte
    - int
    - int
    - int
    - int
    - int
    - png_color_16*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9262
      start: 9233
    functionDepth: 6
    functionLinenumber: 9233
    functionLinenumberEnd: 9262
    functionName: gamma_display_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - standard_display_init
    - memset
    linkageType: ''
    returnType: void
    signature: "void gamma_display_init(gamma_display *dp, png_modifier *pm, png_uint_32
      id,\n    double file_gamma, double screen_gamma, png_byte sbit, int threshold_test,\n
      \   int use_input_precision, int scale16, int expand16,\n    int do_background,
      const png_color_16 *pointer_to_the_background_color,\n    double background_gamma)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: standard_info_part1
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9268,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9277,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9281,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9283,1
    - Dst: png_set_expand_16
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9289,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9291,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9307,1
    - Dst: png_set_alpha_mode
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9311,1
    - Dst: png_set_alpha_mode_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9313,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9323,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9325,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9326,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9331,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9339,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9342,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9343,1
    - Dst: png_set_gamma_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9344,1
    - Dst: fix
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9355,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9359,1
    - Dst: png_set_background_fixed
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9362,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9366,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9375,1
    - Dst: standard_info_part2
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - gamma_display*
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9381
      start: 9264
    functionDepth: 7
    functionLinenumber: 9264
    functionLinenumberEnd: 9381
    functionName: gamma_info_imp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - png_error
    - png_set_expand_16
    - png_set_alpha_mode
    - png_set_alpha_mode_fixed
    - png_set_gamma
    - png_set_gamma_fixed
    - png_set_scale_16
    - png_set_background
    - standard_info_part1
    - fix
    - png_read_update_info
    - standard_info_part2
    - png_set_strip_16
    - png_set_background_fixed
    linkageType: ''
    returnType: void
    signature: void gamma_info_imp(gamma_display *dp, png_structp pp, png_infop pi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9388
      start: 9383
    functionDepth: 0
    functionLinenumber: 9383
    functionLinenumberEnd: 9388
    functionName: gamma_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gamma_info(png_structp pp, png_infop pi)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9452,1
    - Dst: abserr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9459,1
    - Dst: pcerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9460,1
    - Dst: calcerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9461,1
    - Dst: outerr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9462,1
    - Dst: output_quantization_factor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9463,1
    - Dst: outlog
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9465,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9487,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9490,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9491,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9492,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9507,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9511,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 5
    argNames:
    - vi
    - dp
    - pp
    - in_depth
    - out_depth
    argTypes:
    - validate_info*
    - gamma_display*
    - png_const_structp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9515
      start: 9425
    functionDepth: 1
    functionLinenumber: 9425
    functionLinenumberEnd: 9515
    functionName: init_validate_info
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - abserr
    - outerr
    - pow
    - output_quantization_factor
    - calcerr
    - outlog
    - fabs
    - pcerr
    linkageType: ''
    returnType: void
    signature: "void init_validate_info(validate_info *vi, gamma_display *dp, png_const_structp
      pp,\n    int in_depth, int out_depth)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9579,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9580,1
    - Dst: UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9581,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - do_background
    - input_sample
    - alpha
    - background
    - compose
    argTypes:
    - int
    - double
    - double
    - double
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9586
      start: 9522
    functionDepth: 0
    functionLinenumber: 9522
    functionLinenumberEnd: 9586
    functionName: gamma_component_compose
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: double
    signature: "double gamma_component_compose(int do_background, double input_sample,
      double alpha,\n   double background, int *compose)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9633,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9636,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9670,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9674,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9706,1
    - Dst: if
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9709,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9716,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9723,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9726,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9759,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9800,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9805,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9817,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9821,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9876,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9878,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9882,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9884,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9895,1
    - Dst: gamma_component_compose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9897,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9901,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9903,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9939,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9950,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:9985,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10014,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10017,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10018,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10019,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10025,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10026,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10027,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10028,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10030,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10032,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10034,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10050,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10051,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10055,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10057,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10058,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10067,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10068,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10069,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10070,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10071,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10081,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10083,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10084,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10085,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10086,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10091,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10092,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10093,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10097,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10103,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10112,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10113,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10114,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10118,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10122,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10128,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10129,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10130,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10131,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10132,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10133,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10134,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10135,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10136,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10137,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10138,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10143,1
    - Dst: store_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10145,1
    - Dst: store_verbose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10150,1
    CyclomaticComplexity: 103
    EdgeCount: 103
    ICount: 229
    argCount: 6
    argNames:
    - name
    - vi
    - id
    - od
    - alpha
    - background
    argTypes:
    - char*
    - validate_info*
    - unsigned int
    - unsigned int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10156
      start: 9589
    functionDepth: 5
    functionLinenumber: 9589
    functionLinenumberEnd: 10156
    functionName: gamma_component_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - png_error
    - pow
    - safecatd
    - safecat
    - store_warning
    - floor
    - gamma_component_compose
    - store_verbose
    - fabs
    - ceil
    - if
    - png_warning
    - safecatn
    linkageType: ''
    returnType: double
    signature: "double gamma_component_validate(const char *name, const validate_info
      *vi,\n    unsigned int id, unsigned int od,\n    const double alpha /* <0 for
      the alpha channel itself */,\n    const double background /* component background
      value */)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10169,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10170,1
    - Dst: store_image_check
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10223,1
    - Dst: init_validate_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10228,1
    - Dst: read_palette
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10245,1
    - Dst: store_image_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10249,1
    - Dst: transform_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10252,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10264,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10266,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10276,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10287,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10291,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10313,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10319,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10321,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10323,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10335,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10336,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10337,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10341,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10343,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10345,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10348,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10350,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10352,1
    - Dst: gamma_component_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10355,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10357,1
    - Dst: sample
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10359,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10365,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10370,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10373,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 54
    argCount: 3
    argNames:
    - dp
    - pp
    - pi
    argTypes:
    - gamma_display*
    - png_const_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10378
      start: 10158
    functionDepth: 6
    functionLinenumber: 10158
    functionLinenumberEnd: 10378
    functionName: gamma_image_validate
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - png_error
    - store_image_check
    - gamma_component_validate
    - transform_row
    - sprintf
    - init_validate_info
    - read_palette
    - png_get_bit_depth
    - store_image_row
    - png_get_color_type
    - memcmp
    - sample
    linkageType: ''
    returnType: void
    signature: "void gamma_image_validate(gamma_display *dp, png_const_structp pp,\n
      \  png_infop pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10384,1
    - Dst: png_get_progressive_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10384,1
    - Dst: gamma_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppIn
    - pi
    argTypes:
    - png_structp
    - png_infop
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10390
      start: 10380
    functionDepth: 7
    functionLinenumber: 10380
    functionLinenumberEnd: 10390
    functionName: gamma_end
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - voidcast
    - gamma_image_validate
    - png_get_progressive_ptr
    linkageType: ''
    returnType: void
    signature: void gamma_end(png_structp ppIn, png_infop pi)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10410,1
    - Dst: gamma_display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10412,1
    - Dst: FILEID
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10412,1
    - Dst: modifier_set_encoding
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10428,1
    - Dst: gama_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10435,1
    - Dst: srgb_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10436,1
    - Dst: sbit_modification_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10438,1
    - Dst: modification_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10440,1
    - Dst: set_modifier_for_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10443,1
    - Dst: standard_palette_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10444,1
    - Dst: png_set_progressive_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10450,1
    - Dst: modifier_progressive_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10454,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10459,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10462,1
    - Dst: gamma_info_imp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10465,1
    - Dst: sequential_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10467,1
    - Dst: gamma_image_validate
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10470,1
    - Dst: modifier_reset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10475,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10478,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10515,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10538,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 16
    argNames:
    - pmIn
    - colour_typeIn
    - bit_depthIn
    - palette_numberIn
    - interlace_typeIn
    - file_gammaIn
    - screen_gammaIn
    - sbitIn
    - threshold_testIn
    - name
    - use_input_precisionIn
    - scale16In
    - expand16In
    - do_backgroundIn
    - bkgd_colorIn
    - bkgd_gammaIn
    argTypes:
    - png_modifier*
    - png_byte
    - png_byte
    - int
    - int
    - double
    - double
    - png_byte
    - int
    - char*
    - int
    - int
    - int
    - int
    - png_color_16*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10547
      start: 10398
    functionDepth: 10
    functionLinenumber: 10398
    functionLinenumberEnd: 10547
    functionName: gamma_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_display_init
    - FILEID
    - sbit_modification_init
    - fprintf
    - gama_modification_init
    - context
    - standard_palette_init
    - modifier_reset
    - modifier_set_encoding
    - srgb_modification_init
    - png_set_read_fn
    - png_read_info
    - png_set_progressive_read_fn
    - gamma_image_validate
    - sequential_row
    - modifier_progressive_read
    - png_error
    - modification_reset
    - gamma_info_imp
    - set_modifier_for_read
    linkageType: ''
    returnType: void
    signature: "void gamma_test(png_modifier *pmIn, png_byte colour_typeIn,\n    png_byte
      bit_depthIn, int palette_numberIn,\n    int interlace_typeIn,\n    const double
      file_gammaIn, const double screen_gammaIn,\n    png_byte sbitIn, int threshold_testIn,\n
      \   const char *name,\n    int use_input_precisionIn, int scale16In,\n    int
      expand16In, int do_backgroundIn,\n    const png_color_16 *bkgd_colorIn, double
      bkgd_gammaIn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10559,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10560,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10561,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10562,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - pm
    - colour_type
    - bit_depth
    - interlace_type
    - file_gamma
    - screen_gamma
    argTypes:
    - png_modifier*
    - png_byte
    - png_byte
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10569
      start: 10553
    functionDepth: 11
    functionLinenumber: 10553
    functionLinenumberEnd: 10569
    functionName: gamma_threshold_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - safecat
    - gamma_test
    - safecatd
    linkageType: ''
    returnType: void
    signature: "void gamma_threshold_test(png_modifier *pm, png_byte colour_type,\n
      \   png_byte bit_depth, int interlace_type, double file_gamma,\n    double screen_gamma)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10585,1
    - Dst: gamma_threshold_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10595,1
    - Dst: gamma_threshold_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10601,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10607
      start: 10571
    functionDepth: 12
    functionLinenumber: 10571
    functionLinenumberEnd: 10607
    functionName: perform_gamma_threshold_tests
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_threshold_test
    - next_format
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_gamma_threshold_tests(png_modifier *pm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10621,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10622,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10623,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10627,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10630,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10632,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10633,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10634,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 10
    argNames:
    - pm
    - colour_type
    - bit_depth
    - palette_number
    - interlace_type
    - file_gamma
    - screen_gamma
    - sbit
    - use_input_precision
    - scale16
    argTypes:
    - png_modifier*
    - png_byte
    - png_byte
    - int
    - int
    - double
    - double
    - png_byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10639
      start: 10609
    functionDepth: 11
    functionLinenumber: 10609
    functionLinenumberEnd: 10639
    functionName: gamma_transform_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_test
    - safecat
    - safecatn
    - safecatd
    linkageType: ''
    returnType: void
    signature: "void gamma_transform_test(png_modifier *pm,\n   png_byte colour_type,
      png_byte bit_depth,\n   int palette_number,\n   int interlace_type, const double
      file_gamma,\n   const double screen_gamma, png_byte sbit,\n   int use_input_precision,
      int scale16)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10647,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10655,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10663
      start: 10641
    functionDepth: 12
    functionLinenumber: 10641
    functionLinenumberEnd: 10663
    functionName: perform_gamma_transform_tests
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_transform_test
    - next_format
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_gamma_transform_tests(png_modifier *pm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10678,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10692,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10702
      start: 10665
    functionDepth: 12
    functionLinenumber: 10665
    functionLinenumberEnd: 10702
    functionName: perform_gamma_sbit_tests
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_transform_test
    - next_format
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_gamma_sbit_tests(png_modifier *pm)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10733,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10735,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10739,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10742,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10746,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10749,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10753,1
    - Dst: gamma_transform_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10756,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10760,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10765
      start: 10709
    functionDepth: 12
    functionLinenumber: 10709
    functionLinenumberEnd: 10765
    functionName: perform_gamma_scale16_tests
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_transform_test
    - fabs
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_gamma_scale16_tests(png_modifier *pm)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10832,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10836,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10849,1
    - Dst: random_32
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10865,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10891,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10892,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10893,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10894,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10896,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10900,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10905,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10906,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10907,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10908,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10909,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10912,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10913,1
    - Dst: safecatd
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10914,1
    - Dst: gamma_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10917,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 10
    argNames:
    - pm
    - colour_type
    - bit_depth
    - palette_number
    - interlace_type
    - file_gamma
    - screen_gamma
    - use_input_precision
    - do_background
    - expand_16
    argTypes:
    - png_modifier*
    - png_byte
    - png_byte
    - int
    - int
    - double
    - double
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10920
      start: 10770
    functionDepth: 11
    functionLinenumber: 10770
    functionLinenumberEnd: 10920
    functionName: gamma_composition_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - safecatd
    - safecat
    - gamma_test
    - random_32
    - fabs
    - safecatn
    linkageType: ''
    returnType: void
    signature: "void gamma_composition_test(png_modifier *pm,\n   png_byte colour_type,
      png_byte bit_depth,\n   int palette_number,\n   int interlace_type, const double
      file_gamma,\n   const double screen_gamma,\n   int use_input_precision, int
      do_background,\n   int expand_16)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: next_format
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10937,1
    - Dst: gamma_composition_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10951,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10955,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 3
    argNames:
    - pm
    - do_background
    - expand_16
    argTypes:
    - png_modifier*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10959
      start: 10923
    functionDepth: 12
    functionLinenumber: 10923
    functionLinenumberEnd: 10959
    functionName: perform_gamma_composition_tests
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - gamma_composition_test
    - next_format
    - fail
    linkageType: ''
    returnType: void
    signature: "void perform_gamma_composition_tests(png_modifier *pm, int do_background,\n
      \  int expand_16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pm
    argTypes:
    - png_modifier*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10970
      start: 10962
    functionDepth: 0
    functionLinenumber: 10962
    functionLinenumberEnd: 10970
    functionName: init_gamma_errors
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_gamma_errors(png_modifier *pm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - leader
    - err
    argTypes:
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10977
      start: 10972
    functionDepth: 0
    functionLinenumber: 10972
    functionLinenumberEnd: 10977
    functionName: print_one
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void print_one(const char *leader, double err)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10983,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10986,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10989,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10993,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10994,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10995,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10996,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:10998,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11001,1
    - Dst: print_one
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11002,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pm
    - who
    - low_bit_depth
    - indexed
    argTypes:
    - png_modifier*
    - png_const_charp
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11005
      start: 10979
    functionDepth: 1
    functionLinenumber: 10979
    functionLinenumberEnd: 11005
    functionName: summarize_gamma_errors
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - printf
    - print_one
    - fflush
    linkageType: ''
    returnType: void
    signature: "void summarize_gamma_errors(png_modifier *pm, png_const_charp who,
      int low_bit_depth,\n   int indexed)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: perform_gamma_threshold_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11021,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11023,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11032,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11033,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11034,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11035,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11036,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11037,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11038,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11040,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11041,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11042,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11043,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11044,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11045,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11048,1
    - Dst: perform_gamma_transform_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11054,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11059,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11061,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11068,1
    - Dst: perform_gamma_sbit_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11069,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11072,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11074,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11082,1
    - Dst: perform_gamma_scale16_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11083,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11087,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11088,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11089,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11090,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11091,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11094,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11102,1
    - Dst: perform_gamma_composition_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11112,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11119,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11121,1
    - Dst: init_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11131,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11139,1
    - Dst: perform_gamma_composition_tests
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11141,1
    - Dst: summarize_gamma_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11147,1
    - Dst: fail
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11149,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 2
    argNames:
    - pm
    - summary
    argTypes:
    - png_modifier*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11153
      start: 11007
    functionDepth: 13
    functionLinenumber: 11007
    functionLinenumberEnd: 11153
    functionName: perform_gamma_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - perform_gamma_threshold_tests
    - perform_gamma_composition_tests
    - summarize_gamma_errors
    - printf
    - perform_gamma_transform_tests
    - init_gamma_errors
    - perform_gamma_scale16_tests
    - perform_gamma_sbit_tests
    - fflush
    - fail
    linkageType: ''
    returnType: void
    signature: void perform_gamma_test(png_modifier *pm, int summary)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11188
      start: 11180
    functionDepth: 0
    functionLinenumber: 11180
    functionLinenumberEnd: 11188
    functionName: png_pass_start_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_pass_start_row(int pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11198
      start: 11190
    functionDepth: 0
    functionLinenumber: 11190
    functionLinenumberEnd: 11198
    functionName: png_pass_start_col
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_pass_start_col(int pass)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11232
      start: 11200
    functionDepth: 0
    functionLinenumber: 11200
    functionLinenumberEnd: 11232
    functionName: png_pass_row_shift
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_pass_row_shift(int pass)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - pass
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11267
      start: 11234
    functionDepth: 0
    functionLinenumber: 11234
    functionLinenumberEnd: 11267
    functionName: png_pass_col_shift
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_pass_col_shift(int pass)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - yIn
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11286
      start: 11269
    functionDepth: 0
    functionLinenumber: 11269
    functionLinenumberEnd: 11286
    functionName: png_row_from_pass_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_row_from_pass_row(png_uint_32 yIn, int pass)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - xIn
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11305
      start: 11288
    functionDepth: 0
    functionLinenumber: 11288
    functionLinenumberEnd: 11305
    functionName: png_col_from_pass_col
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_col_from_pass_col(png_uint_32 xIn, int pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - y
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11318
      start: 11307
    functionDepth: 0
    functionLinenumber: 11307
    functionLinenumberEnd: 11318
    functionName: png_row_in_interlace_pass
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_row_in_interlace_pass(png_uint_32 y, int pass)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - x
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11331
      start: 11320
    functionDepth: 0
    functionLinenumber: 11320
    functionLinenumberEnd: 11331
    functionName: png_col_in_interlace_pass
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int png_col_in_interlace_pass(png_uint_32 x, int pass)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - height
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11350
      start: 11333
    functionDepth: 0
    functionLinenumber: 11333
    functionLinenumberEnd: 11350
    functionName: png_pass_rows
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_pass_rows(png_uint_32 height, int pass)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - width
    - pass
    argTypes:
    - png_uint_32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11369
      start: 11352
    functionDepth: 0
    functionLinenumber: 11352
    functionLinenumberEnd: 11369
    functionName: png_pass_cols
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 png_pass_cols(png_uint_32 width, int pass)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11387,1
    - Dst: png_pass_start_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11388,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11391,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11392,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11395,1
    - Dst: png_pass_start_col
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11396,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11399,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11400,1
    - Dst: PNG_PASS_ROW_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11403,1
    - Dst: png_pass_row_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11407,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11408,1
    - Dst: PNG_PASS_COL_SHIFT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11411,1
    - Dst: png_pass_col_shift
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11415,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11416,1
    - Dst: png_pass_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11438,1
    - Dst: PNG_ROW_FROM_PASS_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11440,1
    - Dst: png_row_from_pass_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11441,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11444,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11446,1
    - Dst: png_pass_cols
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11450,1
    - Dst: PNG_COL_FROM_PASS_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11452,1
    - Dst: png_col_from_pass_col
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11453,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11456,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11458,1
    - Dst: PNG_ROW_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11462,1
    - Dst: png_row_in_interlace_pass
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11463,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11466,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11468,1
    - Dst: PNG_COL_IN_INTERLACE_PASS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11471,1
    - Dst: png_col_in_interlace_pass
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11472,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11475,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11477,1
    - Dst: PNG_PASS_ROWS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11482,1
    - Dst: png_pass_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11483,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11486,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11488,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11491,1
    - Dst: png_pass_cols
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11492,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11495,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11497,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11514
      start: 11371
    functionDepth: 1
    functionLinenumber: 11371
    functionLinenumberEnd: 11514
    functionName: perform_interlace_macro_validation
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 1
    functionsReached:
    - png_col_from_pass_col
    - png_row_in_interlace_pass
    - fprintf
    - PNG_PASS_START_ROW
    - png_row_from_pass_row
    - PNG_ROW_FROM_PASS_ROW
    - PNG_PASS_COLS
    - PNG_COL_FROM_PASS_COL
    - png_pass_col_shift
    - png_pass_rows
    - png_pass_cols
    - png_pass_row_shift
    - png_pass_start_col
    - png_pass_start_row
    - PNG_PASS_START_COL
    - PNG_PASS_ROWS
    - PNG_PASS_ROW_SHIFT
    - PNG_PASS_COL_SHIFT
    - PNG_COL_IN_INTERLACE_PASS
    - png_col_in_interlace_pass
    - PNG_ROW_IN_INTERLACE_PASS
    - exit
    linkageType: ''
    returnType: void
    signature: void perform_interlace_macro_validation(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11571,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11576,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11580,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11584,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11588,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11592,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11596,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11600,1
    - Dst: safecatn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11601,1
    - Dst: store_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11605,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11619,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - signum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11620
      start: 11565
    functionDepth: 4
    functionLinenumber: 11565
    functionLinenumberEnd: 11620
    functionName: signal_handler
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 0
    functionsReached:
    - store_log
    - safecat
    - exit
    - safecatn
    linkageType: ''
    returnType: void
    signature: void signal_handler(int signum)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: anon_context
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11643,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11645,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11646,1
    - Dst: gnu_volatile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11647,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11650,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11651,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11652,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11653,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11654,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11655,1
    - Dst: feenableexcept
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11662,1
    - Dst: modifier_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11665,1
    - Dst: store_ensure_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11672,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11675,1
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11695,1
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11712,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11766,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11767,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11769,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11772,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11775,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11778,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11779,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11782,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11785,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11789,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11792,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11795,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11798,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11801,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11804,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11807,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11811,1
    - Dst: transform_disable
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11815,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11818,1
    - Dst: transform_enable
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11822,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11826,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11838,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11841,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11844,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11847,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11850,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11853,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11856,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11859,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11862,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11865,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11868,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11871,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11874,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11877,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11880,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11883,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11888,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11894,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11898,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11901,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11904,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11907,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11910,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11913,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11918,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11923,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11926,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11929,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11932,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11935,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11939,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11942,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11943,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11945,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11948,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11952,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11953,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11955,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11956,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11958,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11959,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11961,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11962,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11964,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11965,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11967,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11968,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11970,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11971,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11973,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11974,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11978,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11979,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11985,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11986,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11988,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11989,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11992,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:11999,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12005,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12011,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12017,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12018,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12021,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12024,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12029,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12032,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12042,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12043,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12048,1
    - Dst: safecat
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12049,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 171
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12051
      start: 11623
    functionDepth: 6
    functionLinenumber: 11623
    functionLinenumberEnd: 12051
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached:
    - transform_disable
    - gnu_volatile
    - store_ensure_image
    - feenableexcept
    - signal
    - strcmp
    - transform_enable
    - safecat
    - ARRAY_SIZE
    - anon_context
    - strncmp
    - fprintf
    - atof
    - modifier_init
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c:12225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12229
      start: 12223
    functionDepth: 0
    functionLinenumber: 12223
    functionLinenumberEnd: 12229
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngvalid.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: ARRAY_SIZE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARRAY_SIZE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transforms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: is_combo
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_combo(int transforms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transforms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: first_transform
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int first_transform(int transforms)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - transforms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 308
    functionName: is_bad_combo
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int is_bad_combo(int transforms)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 327
    functionName: transform_name
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      transform_name(int t)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 354
    functionName: validate_T
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void validate_T(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: NEW
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEW(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: DELETE
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DELETE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: buffer_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buffer_init(struct buffer *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DELETE
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:396,1
    - Dst: buffer_destroy_list
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct buffer_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 399
    functionName: buffer_destroy_list
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 1
    functionsReached:
    - DELETE
    - buffer_destroy_list
    linkageType: ''
    returnType: void
    signature: void buffer_destroy_list(struct buffer_list *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:405,1
    - Dst: buffer_destroy_list
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: buffer_destroy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - buffer_destroy_list
    - buffer_init
    linkageType: ''
    returnType: void
    signature: void buffer_destroy(struct buffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 416
    functionName: buffer_start_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buffer_start_write(struct buffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - struct buffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: buffer_start_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void buffer_start_read(struct buffer *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pp
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: get_buffer
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - png_get_io_ptr
    linkageType: ''
    returnType: struct buffer
    signature: 'struct buffer *

      get_buffer(png_structp pp)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:443,1
    - Dst: NEW
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - current
    argTypes:
    - struct buffer_list*
    assertStmts:
    - condition: (current->next == NULL)
      pos:
        line_end: 442
        line_start: 442
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    constantsTouched: []
    func_position:
      end: 453
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 453
    functionName: buffer_extend
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - NEW
    - assert
    linkageType: ''
    returnType: struct buffer_list
    signature: 'struct buffer_list *

      buffer_extend(struct buffer_list *current)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:466,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:475,1
    - Dst: buffer_extend
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:480,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - fp
    argTypes:
    - struct buffer*
    - FILE*
    assertStmts:
    - condition: (count == sizeof last->buffer)
      pos:
        line_end: 474
        line_start: 474
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    constantsTouched: []
    func_position:
      end: 503
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 503
    functionName: buffer_from_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - buffer_extend
    - fread
    - assert
    - feof
    linkageType: ''
    returnType: int
    signature: int buffer_from_file(struct buffer *buffer, FILE *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 538
    functionName: RESULT_STRICT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESULT_STRICT(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 539
    functionName: RESULT_RELAXED
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESULT_RELAXED(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:595,1
    - Dst: buffer_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:604,1
    - Dst: buffer_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 610
    functionName: display_init
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 7
    functionsReached:
    - memset
    - buffer_init
    linkageType: ''
    returnType: void
    signature: void display_init(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 4
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: display_clean_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void display_clean_read(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 4
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: display_clean_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - png_destroy_write_struct
    linkageType: ''
    returnType: void
    signature: void display_clean_write(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:632,1
    - Dst: display_clean_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:634,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 643
    functionName: display_clean
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - display_clean_write
    - display_clean_read
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void display_clean(struct display *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_destroy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:650,1
    - Dst: buffer_destroy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 645
    functionDepth: 3
    functionLinenumber: 645
    functionLinenumberEnd: 654
    functionName: display_destroy
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 1
    functionsReached:
    - buffer_destroy
    linkageType: ''
    returnType: void
    signature: void display_destroy(struct display *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:660,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:664,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pp
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 669
    functionName: get_dp
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 4
    functionsReached:
    - exit
    - fprintf
    - png_get_error_ptr
    linkageType: ''
    returnType: struct display
    signature: 'struct display *

      get_dp(png_structp pp)'
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:709,1
    - Dst: is_combo
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:716,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:722,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:731,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:732,1
    - Dst: transform_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:732,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:739,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:740,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:744,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:748,1
    - Dst: transform_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:748,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:751,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:753,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:754,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:755,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:757,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:763,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 3
    argNames:
    - dp
    - level
    - fmt
    argTypes:
    - struct display*
    - error_level
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 764
    functionName: display_log
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 19
    functionsReached:
    - va_start
    - transform_name
    - fputc
    - va_end
    - vfprintf
    - fprintf
    - is_combo
    - longjmp
    linkageType: ''
    returnType: void
    signature: void display_log(struct display *dp, error_level level, const char
      *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:770,1
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - warning
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: display_warning
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - get_dp
    - display_log
    linkageType: ''
    returnType: void
    signature: void display_warning(png_structp pp, png_const_charp warning)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:776,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - error
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: display_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - get_dp
    - display_log
    linkageType: ''
    returnType: void
    signature: void display_error(png_structp pp, png_const_charp error)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:792,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:794,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:794,1
    - Dst: buffer_from_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:800,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:802,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:805,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:805,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dp
    - filename
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 781
    functionDepth: 3
    functionLinenumber: 781
    functionLinenumberEnd: 806
    functionName: display_cache_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - buffer_from_file
    - fopen
    - strerror
    - display_log
    - fclose
    linkageType: ''
    returnType: void
    signature: void display_cache_file(struct display *dp, const char *filename)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:822,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:838,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:848,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - dp
    - bp
    - data
    - size
    argTypes:
    - struct display*
    - struct buffer*
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 855
    functionName: buffer_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - memcpy
    - display_log
    linkageType: ''
    returnType: void
    signature: "void buffer_read(struct display *dp, struct buffer *bp, png_bytep
      data,\n   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:860,1
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:860,1
    - Dst: get_buffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pp
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 857
    functionDepth: 2
    functionLinenumber: 857
    functionLinenumberEnd: 861
    functionName: read_function
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - get_buffer
    - get_dp
    - buffer_read
    linkageType: ''
    returnType: void
    signature: void read_function(png_structp pp, png_bytep data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:873,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:881,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:884,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:889,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:891,1
    - Dst: png_set_user_limits
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:895,1
    - Dst: buffer_start_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:899,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:900,1
    - Dst: png_read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:902,1
    - Dst: png_get_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:906,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:907,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:911,1
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:911,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:914,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:914,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:916,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - dp
    - bp
    - operation
    - transforms
    argTypes:
    - struct display*
    - struct buffer*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 863
    functionDepth: 9
    functionLinenumber: 863
    functionLinenumberEnd: 919
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 6
    functionsReached:
    - png_create_info_struct
    - fputc
    - png_read_png
    - png_set_user_limits
    - display_clean_read
    - buffer_start_read
    - png_get_rowbytes
    - png_set_read_fn
    - png_get_bit_depth
    - fprintf
    - png_create_read_struct
    - png_get_rows
    - display_log
    linkageType: ''
    returnType: void
    signature: "void read_png(struct display *dp, struct buffer *bp, const char *operation,\n
      \  int transforms)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:931,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:937,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:939,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:941,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:943,1
    - Dst: png_get_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:945,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:947,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:949,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:952,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - dp
    argTypes:
    - struct display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 991
    functionName: update_display
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - read_png
    - png_get_valid
    - png_get_rowbytes
    - png_get_IHDR
    - png_get_rows
    - display_log
    linkageType: ''
    returnType: void
    signature: void update_display(struct display *dp)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1003,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1011,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1012,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1013,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1014,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1015,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1016,1
    - Dst: C
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1017,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1021,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1028,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1031,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1036,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1042,1
    - Dst: png_get_rows
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1049,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1065,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1078,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1087,1
    - Dst: png_get_sBIT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1104,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1105,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1137,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1154,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1165,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1209,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1224,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1242,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1252,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1259,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 125
    argCount: 2
    argNames:
    - dp
    - applied_transforms
    argTypes:
    - struct display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1265
    functionName: compare_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - png_get_sBIT
    - png_get_valid
    - png_get_rowbytes
    - png_get_IHDR
    - png_get_rows
    - memcmp
    - C
    - display_log
    linkageType: ''
    returnType: int
    signature: int compare_read(struct display *dp, int applied_transforms)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - item
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1009
    functionName: C
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(item)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: buffer_extend
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1287,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1290,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1304,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - dp
    - buffer
    - data
    - size
    argTypes:
    - struct display*
    - struct buffer*
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1311
    functionName: buffer_write
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - memcpy
    - buffer_extend
    - display_log
    linkageType: ''
    returnType: void
    signature: "void buffer_write(struct display *dp, struct buffer *buffer, png_bytep
      data,\n   size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: buffer_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1316,1
    - Dst: get_dp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1316,1
    - Dst: get_buffer
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pp
    - data
    - size
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1313
    functionDepth: 3
    functionLinenumber: 1313
    functionLinenumberEnd: 1317
    functionName: write_function
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - get_buffer
    - buffer_write
    - get_dp
    linkageType: ''
    returnType: void
    signature: void write_function(png_structp pp, png_bytep data, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1322,1
    - Dst: buffer_start_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1324,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1328,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1332,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1334,1
    - Dst: png_set_user_limits
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1339,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1355,1
    - Dst: png_write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1359,1
    - Dst: display_clean_write
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dp
    - ip
    - transforms
    argTypes:
    - struct display*
    - png_infop
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1319
    functionDepth: 8
    functionLinenumber: 1319
    functionLinenumberEnd: 1365
    functionName: write_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 8
    functionsReached:
    - display_clean_write
    - png_set_write_fn
    - buffer_start_write
    - png_write_png
    - png_set_user_limits
    - png_set_IHDR
    - png_create_write_struct
    - display_log
    linkageType: ''
    returnType: void
    signature: void write_png(struct display *dp, png_infop ip, int transforms)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_bad_combo
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1372,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1379,1
    - Dst: first_transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1383,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1386,1
    - Dst: transform_name
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1386,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1388,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1391,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dp
    - tr
    argTypes:
    - struct display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1402
    functionName: skip_transform
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - transform_name
    - printf
    - first_transform
    - is_bad_combo
    - putchar
    - display_log
    linkageType: ''
    returnType: int
    signature: int skip_transform(struct display *dp, int tr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: display_cache_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1412,1
    - Dst: update_display
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1413,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1420,1
    - Dst: compare_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1424,1
    - Dst: write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1434,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1435,1
    - Dst: compare_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1436,1
    - Dst: first_transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1450,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1457,1
    - Dst: write_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1478,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1483,1
    - Dst: compare_read
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1484,1
    - Dst: is_combo
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1491,1
    - Dst: skip_transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1520,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1522,1
    - Dst: first_transform
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1533,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1545,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1550,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 2
    argNames:
    - dp
    - filename
    argTypes:
    - struct display*
    - char*
    assertStmts:
    - condition: ((next & read_transforms) == next)
      pos:
        line_end: 1521
        line_start: 1521
        source_file: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    constantsTouched: []
    func_position:
      end: 1554
      start: 1404
    functionDepth: 4
    functionLinenumber: 1404
    functionLinenumberEnd: 1554
    functionName: test_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - read_png
    - display_cache_file
    - printf
    - write_png
    - assert
    - compare_read
    - skip_transform
    - is_combo
    - first_transform
    - update_display
    linkageType: ''
    returnType: void
    signature: void test_one_file(struct display *dp, const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1560,1
    - Dst: test_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1564,1
    - Dst: display_log
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dp
    - file
    argTypes:
    - struct display*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1556
    functionDepth: 0
    functionLinenumber: 1556
    functionLinenumberEnd: 1572
    functionName: do_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 0
    functionsReached:
    - setjmp
    - test_one_file
    - display_log
    linkageType: ''
    returnType: int
    signature: int do_test(struct display *dp, const char *file)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: validate_T
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1581,1
    - Dst: display_init
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1582,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1588,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1591,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1594,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1597,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1600,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1603,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1606,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1612,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1618,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1621,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1624,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1627,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1630,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1633,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1636,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1639,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1642,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1645,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1653,1
    - Dst: do_test
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1668,1
    - Dst: RESULT_STRICT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1678,1
    - Dst: RESULT_RELAXED
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1678,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1687,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1690,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1692,1
    - Dst: display_clean
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1696,1
    - Dst: display_destroy
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1700,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1704
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - RESULT_RELAXED
    - display_destroy
    - validate_T
    - strcmp
    - printf
    - RESULT_STRICT
    - fprintf
    - do_test
    - display_clean
    - display_init
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c:1709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1711
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/pngimage.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: voidcast
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: voidcast(type, value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:70,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:72,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:73,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:73,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:75,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:78,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: PNG_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 0
    functionsReached:
    - png_error
    - fread
    - exit
    - png_get_io_ptr
    - fprintf
    - fwrite
    - strerror
    - perror
    linkageType: ''
    returnType: void
    signature: "void PNG_CALLBACK(void, read_and_copy,\n      (png_structp png_ptr,
      png_bytep buffer, size_t cb))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:97,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:100,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:103,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:105,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:105,1
    - Dst: voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:106,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:106,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:109,1
    - Dst: png_get_image_height
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:112,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:113,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:116,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:127,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:133,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:136,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - write_ptr
    - read_ptr
    argTypes:
    - png_structp
    - png_infop
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 83
    functionDepth: 7
    functionLinenumber: 83
    functionLinenumberEnd: 138
    functionName: read_by_row
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_start_read_image
    - voidcast
    - png_get_image_height
    - png_set_interlace_handling
    - png_get_rowbytes
    - malloc
    - png_set_read_fn
    - free
    - png_read_end
    - png_read_row
    - png_read_info
    linkageType: ''
    returnType: void
    signature: "void read_by_row(png_structp png_ptr, png_infop info_ptr,\n      FILE
      *write_ptr, FILE *read_ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: PNG_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PNG_CALLBACK(void, no_warnings, (png_structp png_ptr,\n         png_const_charp
      warning))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:149,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:156,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:156,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:158,1
    - Dst: png_set_benign_errors
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:163,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:165,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:167,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:170,1
    - Dst: read_by_row
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:173,1
    - Dst: png_read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:176,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - fp
    - transforms
    - write_file
    argTypes:
    - FILE*
    - png_int_32
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 147
    functionDepth: 9
    functionLinenumber: 147
    functionLinenumberEnd: 180
    functionName: read_png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 9
    functionsReached:
    - png_error
    - png_create_info_struct
    - png_jmpbuf
    - png_destroy_read_struct
    - png_read_png
    - read_by_row
    - setjmp
    - png_set_benign_errors
    - png_create_read_struct
    - png_init_io
    linkageType: ''
    returnType: int
    signature: int read_png(FILE *fp, png_int_32 transforms, FILE *write_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clock_gettime
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:185,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - struct timespec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: mytime
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 0
    functionsReached:
    - clock_gettime
    - fprintf
    - perror
    linkageType: ''
    returnType: int
    signature: int mytime(struct timespec *t)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:199,1
    - Dst: mytime
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:201,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:205,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:207,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:209,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:210,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:218,1
    - Dst: mytime
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:227,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:242,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:247,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:248,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 3
    argNames:
    - fp
    - nfiles
    - transforms
    argTypes:
    - FILE*
    - int
    - png_int_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 261
    functionName: perform_one_test
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 2
    functionsReached:
    - read_png
    - rewind
    - printf
    - mytime
    - fprintf
    - fflush
    - ferror
    - perror
    linkageType: ''
    returnType: int
    signature: int perform_one_test(FILE *fp, int nfiles, png_int_32 transforms)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:265,1
    - Dst: fgetpos
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:275,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:278,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:279,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:280,1
    - Dst: read_png
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:283,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:285,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:287,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:288,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:296,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:298,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:301,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:303,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:304,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:305,1
    - Dst: fsetpos
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:315,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:317,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:318,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:319,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:326,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:327,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - fp
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 331
    functionName: add_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 0
    functionsReached:
    - read_png
    - ferror
    - fgetpos
    - fprintf
    - fsetpos
    - fopen
    - perror
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: int add_one_file(FILE *fp, char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:336,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:338,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:350,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 361
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 8
    functionsReached:
    - fprintf
    - exit
    - fclose
    linkageType: ''
    returnType: void
    signature: void usage(FILE *fp)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:372,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:376,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:379,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:380,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:382,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:389,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:391,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:395,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:396,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:398,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:401,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:404,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:407,1
    - Dst: tmpfile
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:423,1
    - Dst: umask
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:442,1
    - Dst: mkstemp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:443,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:448,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:452,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:458,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:459,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:460,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:477,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:485,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:486,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:487,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:488,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:489,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:490,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:491,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:492,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:493,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:494,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:495,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:496,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:497,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:498,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:499,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:500,1
    - Dst: OPT
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:501,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:505,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c:506,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 508
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 2
    functionsReached:
    - usage
    - OPT
    - strcmp
    - exit
    - umask
    - unlink
    - mkstemp
    - tmpfile
    - fprintf
    - fopen
    - fdopen
    - atoi
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: OPT
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPT(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 607
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/libtests/timepng.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - png_ptr
    - msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 46
    functionName: png_cexcept_error
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void png_cexcept_error(png_structp png_ptr, png_const_charp msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:52,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - hwnd
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: PngFileInitialize
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - TEXT
    linkageType: ''
    returnType: void
    signature: void PngFileInitialize (HWND hwnd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetOpenFileName
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hwnd
    - pstrFileName
    - pstrTitleName
    argTypes:
    - HWND
    - PTSTR
    - PTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: PngFileOpenDlg
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - GetOpenFileName
    linkageType: ''
    returnType: BOOL
    signature: BOOL PngFileOpenDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSaveFileName
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - hwnd
    - pstrFileName
    - pstrTitleName
    argTypes:
    - HWND
    - PTSTR
    - PTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: PngFileSaveDlg
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - GetSaveFileName
    linkageType: ''
    returnType: BOOL
    signature: BOOL PngFileSaveDlg (HWND hwnd, PTSTR pstrFileName, PTSTR pstrTitleName)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:122,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:130,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:131,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:139,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:147,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:150,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:161,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:163,1
    - Dst: png_set_sig_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:166,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:170,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:174,1
    - Dst: png_set_scale_16
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:183,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:185,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:189,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:191,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:192,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:193,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:196,1
    - Dst: png_get_bKGD
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:199,1
    - Dst: png_set_background
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:201,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:212,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:213,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:217,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:221,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:227,1
    - Dst: png_get_channels
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:228,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:236,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:241,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:243,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:246,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:252,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:255,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:265,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:269,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:273,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:281,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:286,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:288,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:293,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 87
    argCount: 6
    argNames:
    - pstrFileName
    - ppbImageData
    - piWidth
    - piHeight
    - piChannels
    - pBkgColor
    argTypes:
    - PTSTR
    - png_byte**
    - int*
    - int*
    - int*
    - png_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 99
    functionDepth: 8
    functionLinenumber: 99
    functionLinenumberEnd: 296
    functionName: PngLoadImage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - png_set_sig_bytes
    - png_get_valid
    - png_get_bKGD
    - png_init_io
    - png_set_strip_16
    - fclose
    - png_destroy_read_struct
    - png_sig_cmp
    - png_get_channels
    - png_set_read_fn
    - png_create_read_struct
    - png_read_info
    - fread
    - png_set_gamma
    - png_set_scale_16
    - png_get_rowbytes
    - png_get_IHDR
    - malloc
    - png_get_gAMA
    - free
    - png_read_end
    - fopen
    - png_error
    - png_create_info_struct
    - png_set_expand
    - png_read_image
    - png_set_background
    - png_read_update_info
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PngLoadImage (PTSTR pstrFileName, png_byte **ppbImageData,\n
      \                  int *piWidth, int *piHeight, int *piChannels, png_color *pBkgColor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:281,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:286,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 279
    functionDepth: 4
    functionLinenumber: 279
    functionLinenumberEnd: 291
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 1
    functionsReached:
    - fclose
    - free
    - png_destroy_read_struct
    linkageType: ''
    returnType: void
    signature: void Catch (msg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:315,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:320,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:324,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:328,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:330,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:331,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:340,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:342,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:347,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:353,1
    - Dst: png_set_bgr
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:357,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:365,1
    - Dst: png_write_image
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:375,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:379,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:383,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - pstrFileName
    - pDiData
    - iWidth
    - iHeight
    - bkgColor
    argTypes:
    - PTSTR
    - png_byte*
    - int
    - int
    - png_color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 299
    functionDepth: 7
    functionLinenumber: 299
    functionLinenumberEnd: 391
    functionName: PngSaveImage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 0
    functionsReached:
    - png_create_info_struct
    - png_set_write_fn
    - png_write_info
    - png_set_IHDR
    - png_set_bgr
    - png_write_image
    - malloc
    - free
    - fopen
    - png_create_write_struct
    - png_init_io
    - png_write_end
    - png_destroy_write_struct
    - fclose
    linkageType: ''
    returnType: BOOL
    signature: "BOOL PngSaveImage (PTSTR pstrFileName, png_byte *pDiData,\n                   int
      iWidth, int iHeight, png_color bkgColor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:395,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:398,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 403
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 1
    functionsReached:
    - free
    - png_destroy_write_struct
    - fclose
    linkageType: ''
    returnType: void
    signature: void Catch (msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:420,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 426
    functionName: png_read_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 4
    functionsReached:
    - png_error
    - fread
    linkageType: ''
    returnType: void
    signature: void png_read_data(png_structp png_ptr, png_bytep data, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:433,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - png_ptr
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 438
    functionName: png_write_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 4
    functionsReached:
    - png_error
    - fwrite
    linkageType: ''
    returnType: void
    signature: void png_write_data(png_structp png_ptr, png_bytep data, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CVT_PTR
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:444,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 447
    functionName: png_flush
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/PngFile.c
    functionUses: 2
    functionsReached:
    - CVT_PTR
    - fflush
    linkageType: ''
    returnType: void
    signature: void png_flush(png_structp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - etype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: define_exception_type
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/cexcept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: define_exception_type(etype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ec
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: init_exception_context
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/cexcept.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_exception_context(ec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - action
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: exception__catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/cexcept.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exception__catch(action)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    functionName: Catch
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/cexcept.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Catch(e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:93,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:94,1
    - Dst: RegisterClass
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:99,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:101,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:101,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:109,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:109,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:111,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:113,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:116,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:117,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:118,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:119,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:120,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:121,1
    - Dst: CreateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:124,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:131,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:132,1
    - Dst: LoadAccelerators
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:134,1
    - Dst: GetMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:136,1
    - Dst: TranslateAccelerator
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:138,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:140,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - szCmdLine
    - iCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - PSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 145
    functionName: WinMain
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 0
    functionsReached:
    - RegisterClass
    - CreateWindow
    - LoadAccelerators
    - LoadIcon
    - LoadCursor
    - MessageBox
    - strlen
    - ShowWindow
    - strcpy
    - TranslateAccelerator
    - strncpy
    - UpdateWindow
    - TEXT
    - TranslateMessage
    - GetMessage
    - DispatchMessage
    - GetSystemMetrics
    linkageType: ''
    returnType: int
    signature: "int WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,\n                    PSTR
      szCmdLine, int iCmdShow)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: PngFileInitialize
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:181,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:183,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:189,1
    - Dst: BuildPngList
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:194,1
    - Dst: LoadImageFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:199,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:205,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:209,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:216,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:217,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:221,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:225,1
    - Dst: GetMenu
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:231,1
    - Dst: EnableMenuItem
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:234,1
    - Dst: EnableMenuItem
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:236,1
    - Dst: GetMenu
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:241,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:243,1
    - Dst: PngFileOpenDlg
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:249,1
    - Dst: BuildPngList
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:255,1
    - Dst: LoadImageFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:260,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:266,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:270,1
    - Dst: PngFileSaveDlg
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:279,1
    - Dst: SetCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:284,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:284,1
    - Dst: ShowCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:285,1
    - Dst: PngSaveImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:287,1
    - Dst: ShowCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:290,1
    - Dst: SetCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:291,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:291,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:294,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:294,1
    - Dst: SearchPngList
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:302,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:305,1
    - Dst: LoadImageFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:310,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:316,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:320,1
    - Dst: SearchPngList
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:330,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:334,1
    - Dst: LoadImageFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:339,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:345,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:349,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:363,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:371,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:377,1
    - Dst: CheckMenuItem
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:384,1
    - Dst: CheckMenuItem
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:386,1
    - Dst: InvalidateRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:390,1
    - Dst: DisplayImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:394,1
    - Dst: DialogBox
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:400,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:400,1
    - Dst: BeginPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:408,1
    - Dst: SetDIBitsToDevice
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:411,1
    - Dst: EndPaint
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:414,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:420,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:424,1
    - Dst: DefWindowProc
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:428,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 109
    argCount: 4
    argNames:
    - hwnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 147
    functionDepth: 8
    functionLinenumber: 147
    functionLinenumberEnd: 429
    functionName: CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 0
    functionsReached:
    - EnableMenuItem
    - SearchPngList
    - MessageBox
    - DisplayImage
    - PngFileInitialize
    - DefWindowProc
    - HIWORD
    - LoadImageFile
    - EndPaint
    - PngFileOpenDlg
    - BeginPaint
    - DialogBox
    - TEXT
    - ShowCursor
    - PngFileSaveDlg
    - SetDIBitsToDevice
    - LOWORD
    - BuildPngList
    - strcmp
    - LoadCursor
    - PngSaveImage
    - GetMenu
    - SetCursor
    - free
    - CheckMenuItem
    - InvalidateRect
    - strcpy
    - PostQuitMessage
    - exit
    linkageType: ''
    returnType: LRESULT
    signature: "LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam,\n
      \       LPARAM lParam)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:437,1
    - Dst: CenterAbout
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:438,1
    - Dst: GetWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:438,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:439,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:443,1
    - Dst: EndDialog
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - hDlg
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 453
    functionName: AboutDlgProc
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 0
    functionsReached:
    - LOWORD
    - ShowWindow
    - EndDialog
    - CenterAbout
    - GetWindow
    linkageType: ''
    returnType: BOOL
    signature: "BOOL AboutDlgProc (HWND hDlg, UINT message,\n                            WPARAM
      wParam, LPARAM lParam)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:467,1
    - Dst: GetWindowRect
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:472,1
    - Dst: SystemParametersInfo
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:477,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:484,1
    - Dst: GetSystemMetrics
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:485,1
    - Dst: SetWindowPos
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - hwndChild
    - hwndParent
    argTypes:
    - HWND
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 507
    functionName: CenterAbout
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 1
    functionsReached:
    - GetWindowRect
    - GetSystemMetrics
    - SetWindowPos
    - SystemParametersInfo
    linkageType: ''
    returnType: BOOL
    signature: BOOL CenterAbout (HWND hwndChild, HWND hwndParent)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:532,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:538,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:539,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:539,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:541,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:542,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:543,1
    - Dst: FindFirstFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:549,1
    - Dst: FindNextFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:555,1
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:557,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:561,1
    - Dst: FindFirstFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:565,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:572,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:573,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:573,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:575,1
    - Dst: FindNextFile
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:581,1
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:583,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:593,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:595,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:596,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - pstrPathName
    - ppFileList
    - pFileCount
    - pFileIndex
    argTypes:
    - PTSTR
    - TCHAR**
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 513
    functionDepth: 5
    functionLinenumber: 513
    functionLinenumberEnd: 611
    functionName: BuildPngList
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 1
    functionsReached:
    - strcat
    - FindClose
    - FindFirstFile
    - strcmp
    - strcpy
    - strrchr
    - FindNextFile
    - malloc
    - free
    linkageType: ''
    returnType: BOOL
    signature: "BOOL BuildPngList (PTSTR pstrPathName, TCHAR **ppFileList, int *pFileCount,\n
      \    int *pFileIndex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:633,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - pFileList
    - FileCount
    - pFileIndex
    - pstrPrevName
    - pstrNextName
    argTypes:
    - TCHAR*
    - int
    - int*
    - PTSTR
    - PTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 654
    functionName: SearchPngList
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 1
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: BOOL
    signature: "BOOL SearchPngList (\n        TCHAR *pFileList, int FileCount, int
      *pFileIndex,\n        PTSTR pstrPrevName, PTSTR pstrNextName)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:671,1
    - Dst: SetCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:677,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:677,1
    - Dst: ShowCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:678,1
    - Dst: PngLoadImage
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:680,1
    - Dst: ShowCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:683,1
    - Dst: SetCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:684,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:684,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:688,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:688,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:689,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:693,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - hwnd
    - pstrPathName
    - ppbImage
    - pxImgSize
    - pyImgSize
    - piChannels
    - pBkgColor
    argTypes:
    - HWND
    - PTSTR
    - png_byte**
    - int*
    - int*
    - int*
    - png_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 661
    functionDepth: 9
    functionLinenumber: 661
    functionLinenumberEnd: 699
    functionName: LoadImageFile
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 1
    functionsReached:
    - sprintf
    - LoadCursor
    - MessageBox
    - strrchr
    - free
    - SetCursor
    - TEXT
    - SetWindowText
    - ShowCursor
    - PngLoadImage
    linkageType: ''
    returnType: BOOL
    signature: "BOOL LoadImageFile (HWND hwnd, PTSTR pstrPathName,\n                png_byte
      **ppbImage, int *pxImgSize, int *pyImgSize,\n                int *piChannels,
      png_color *pBkgColor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - pDiData
    - cxWinSize
    - cyWinSize
    argTypes:
    - BYTE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 805
    functionName: InitBitmap
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/visupng/VisualPng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BOOL
    signature: BOOL InitBitmap (BYTE *pDiData, int cxWinSize, int cyWinSize)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:65,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:67,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:68,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:70,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:75,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:80,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:81,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:82,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:88,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:91,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:92,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:100,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:101,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:107,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:108,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:109,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:116,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:116,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:118,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:118,1
    - Dst: png2pnm
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:125,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:126,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:130,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:132,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:135,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c
    functionUses: 2
    functionsReached:
    - usage
    - png2pnm
    - setmode
    - fileno
    - fprintf
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:148,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:149,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:150,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:153,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c
    functionUses: 10
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage ()
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:186,1
    - Dst: png_sig_cmp
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:190,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:196,1
    - Dst: png_get_libpng_ver
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:196,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:201,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:204,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:208,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:208,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:210,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:215,1
    - Dst: png_set_sig_bytes
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:216,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:219,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:222,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:229,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:232,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:234,1
    - Dst: png_set_expand
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:235,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:240,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:244,1
    - Dst: png_get_gAMA
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:246,1
    - Dst: png_set_gamma
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:247,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:253,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:256,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:264,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:284,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:285,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:286,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:290,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:296,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:300,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:302,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:307,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:309,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:310,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:319,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:322,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:325,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:332,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:333,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:334,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:339,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:340,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:341,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:350,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:351,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:352,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:373,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:377,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:393,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:400,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:417,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:421,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c:423,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 5
    argNames:
    - png_file
    - pnm_file
    - alpha_file
    - raw
    - alpha
    argTypes:
    - FILE*
    - FILE*
    - FILE*
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 163
    functionDepth: 8
    functionLinenumber: 163
    functionLinenumberEnd: 427
    functionName: png2pnm
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/png2pnm.c
    functionUses: 1
    functionsReached:
    - png_set_sig_bytes
    - png_get_valid
    - fprintf
    - png_init_io
    - png_set_strip_16
    - png_destroy_read_struct
    - png_sig_cmp
    - png_create_read_struct
    - png_read_info
    - fread
    - png_get_libpng_ver
    - png_set_gamma
    - fputc
    - png_get_rowbytes
    - png_get_IHDR
    - malloc
    - png_get_gAMA
    - free
    - png_read_end
    - png_create_info_struct
    - png_jmpbuf
    - png_set_expand
    - png_read_image
    - setmode
    - fileno
    - setjmp
    - png_read_update_info
    - exit
    - png_set_gray_to_rgb
    linkageType: ''
    returnType: BOOL
    signature: "BOOL png2pnm (FILE *png_file, FILE *pnm_file, FILE *alpha_file,\n
      \             BOOL raw, BOOL alpha)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:65,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:67,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:68,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:70,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:75,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:80,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:81,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:82,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:88,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:91,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:92,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:100,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:101,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:107,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:108,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:109,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:118,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:118,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:120,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:120,1
    - Dst: pnm2png
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:127,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:128,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:132,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:134,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:137,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 2
    functionsReached:
    - usage
    - setmode
    - fileno
    - fprintf
    - fopen
    - pnm2png
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:148,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:149,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:150,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:152,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:153,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 157
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 11
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage ()
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:198,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:208,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:209,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:211,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:212,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:218,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:226,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:227,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:229,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:230,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:232,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:233,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:253,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:254,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:256,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:257,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:259,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:260,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:289,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:297,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:298,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:302,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:303,1
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:307,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:308,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:367,1
    - Dst: get_data
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:384,1
    - Dst: get_data
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:396,1
    - Dst: get_value
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:402,1
    - Dst: get_value
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:406,1
    - Dst: get_data
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:419,1
    - Dst: get_value
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:425,1
    - Dst: get_value
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:429,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:440,1
    - Dst: png_get_libpng_ver
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:440,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:444,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:447,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:450,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:451,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:458,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:459,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:463,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:463,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:465,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:466,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:471,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:474,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:479,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:485,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:487,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:488,1
    - Dst: png_write_image
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:498,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:501,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:504,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:507,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:509,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 210
    argCount: 5
    argNames:
    - pnm_file
    - png_file
    - alpha_file
    - interlace
    - alpha
    argTypes:
    - FILE*
    - FILE*
    - FILE*
    - BOOL
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 163
    functionDepth: 7
    functionLinenumber: 163
    functionLinenumberEnd: 512
    functionName: pnm2png
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 1
    functionsReached:
    - get_data
    - sscanf
    - png_set_packing
    - fprintf
    - png_init_io
    - png_write_end
    - png_destroy_write_struct
    - png_set_invert_mono
    - png_set_IHDR
    - get_token
    - png_get_libpng_ver
    - malloc
    - free
    - png_create_write_struct
    - png_create_info_struct
    - png_jmpbuf
    - get_value
    - png_write_image
    - setjmp
    - png_write_info
    linkageType: ''
    returnType: BOOL
    signature: "BOOL pnm2png (FILE *pnm_file, FILE *png_file, FILE *alpha_file,\n
      \             BOOL interlace, BOOL alpha)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:526,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:532,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:544,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 3
    argNames:
    - pnm_file
    - token_buf
    - token_buf_size
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 554
    functionName: get_token
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 1
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: void
    signature: void get_token (FILE *pnm_file, char *token_buf, size_t token_buf_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pnm_file
    - depth
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 588
    functionName: get_data
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 1
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get_data (FILE *pnm_file, int depth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_token
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:607,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c:608,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pnm_file
    - depth
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 618
    functionName: get_value
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/pngminus/pnm2png.c
    functionUses: 1
    functionsReached:
    - sscanf
    - get_token
    linkageType: ''
    returnType: png_uint_32
    signature: png_uint_32 get_value (FILE *pnm_file, int depth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_voidcast
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:42,1
    - Dst: read
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:59,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:69,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:77,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - png_ptr
    - fd
    - buffer_in
    - nbytes
    argTypes:
    - png_structp
    - int
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 94
    functionName: safe_read
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c
    functionUses: 0
    functionsReached:
    - read
    - png_warning
    - png_voidcast
    linkageType: ''
    returnType: size_t
    signature: size_t safe_read(png_structp png_ptr, int fd, void *buffer_in, size_t
      nbytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:99,1
    - Dst: png_warning
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:105,1
    - Dst: safe_read
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:109,1
    - Dst: close
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:113,1
    - Dst: close
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 120
    functionName: png_have_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux-auxv.c
    functionUses: 1
    functionsReached:
    - safe_read
    - png_warning
    - close
    - open
    linkageType: ''
    returnType: int
    signature: int png_have_neon(png_structp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PNG_UNUSED
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/android-ndk.c:36,1
    - Dst: android_getCpuFamily
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/android-ndk.c:37,1
    - Dst: android_getCpuFeatures
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/android-ndk.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 39
    functionName: png_have_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/arm-neon/android-ndk.c
    functionUses: 1
    functionsReached:
    - PNG_UNUSED
    - android_getCpuFeatures
    - android_getCpuFamily
    linkageType: ''
    returnType: int
    signature: int png_have_neon(png_structp png_ptr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c:27,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c:45,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c:52,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c:142,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c:150,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 68
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 161
    functionName: png_have_neon
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/arm-neon/linux.c
    functionUses: 1
    functionsReached:
    - fgetc
    - fclose
    - png_error
    - fopen
    linkageType: ''
    returnType: int
    signature: int png_have_neon(png_structp png_ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:37,1
    - Dst: png_image_begin_read_from_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:40,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:49,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:49,1
    - Dst: png_image_finish_read
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:53,1
    - Dst: png_image_write_to_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:56,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:62,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:67,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:70,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:75,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:76,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c:94,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 28
    functionDepth: 9
    functionLinenumber: 28
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/pngtopng.c
    functionUses: 2
    functionsReached:
    - png_image_finish_read
    - malloc
    - png_image_write_to_file
    - free
    - memset
    - PNG_IMAGE_SIZE
    - fprintf
    - png_image_free
    - png_image_begin_read_from_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:39,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:48,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:52,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:52,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:54,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:58,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:60,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:62,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:64,1
    - Dst: png_get_iCCP
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:71,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:74,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:76,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:79,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:86,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - fp
    - proflen
    argTypes:
    - FILE*
    - png_uint_32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 36
    functionDepth: 5
    functionLinenumber: 36
    functionLinenumberEnd: 88
    functionName: extract
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c
    functionUses: 0
    functionsReached:
    - png_error
    - png_create_info_struct
    - png_read_info
    - png_jmpbuf
    - png_destroy_read_struct
    - setjmp
    - malloc
    - fprintf
    - png_create_read_struct
    - memcpy
    - png_get_iCCP
    - png_init_io
    linkageType: ''
    returnType: png_bytep
    signature: png_bytep extract(FILE *fp, png_uint_32 *proflen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:94,1
    - Dst: extract
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:99,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:107,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:113,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:116,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:121,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:122,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:124,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:127,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:128,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:129,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:139,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:141,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:146,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:148,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:152,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:154,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:162,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 90
    functionDepth: 5
    functionLinenumber: 90
    functionLinenumberEnd: 165
    functionName: extract_one_file
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c
    functionUses: 0
    functionsReached:
    - printf
    - remove
    - strlen
    - strcpy
    - strrchr
    - malloc
    - free
    - memcpy
    - fprintf
    - extract
    - fwrite
    - fopen
    - fflush
    - fclose
    linkageType: ''
    returnType: int
    signature: int extract_one_file(const char *filename)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:175,1
    - Dst: extract_one_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 6
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/iccfrompng.c
    functionUses: 2
    functionsReached:
    - extract_one_file
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:64,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 5
    argNames:
    - row
    - x
    - c
    - bit_depth
    - channels
    argTypes:
    - png_const_bytep
    - png_uint_32
    - unsigned int
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: component
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int component(png_const_bytep row, png_uint_32 x, unsigned
      int c,\n   unsigned int bit_depth, unsigned int channels)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: png_get_bit_depth
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:76,1
    - Dst: png_get_color_type
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:78,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:81,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:81,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:90,1
    - Dst: png_get_PLTE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:94,1
    - Dst: png_get_tRNS
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:99,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:102,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:108,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:114,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:119,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:119,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:120,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:121,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:125,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:125,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:126,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:130,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:130,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:131,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:132,1
    - Dst: component
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:133,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - png_ptr
    - info_ptr
    - row
    - x
    argTypes:
    - png_structp
    - png_infop
    - png_const_bytep
    - png_uint_32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 139
    functionName: print_pixel
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c
    functionUses: 1
    functionsReached:
    - png_error
    - printf
    - component
    - png_get_PLTE
    - png_get_bit_depth
    - png_get_color_type
    - png_get_tRNS
    linkageType: ''
    returnType: void
    signature: "void print_pixel(png_structp png_ptr, png_infop info_ptr, png_const_bytep
      row,\n   png_uint_32 x)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: atol
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:153,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:154,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:155,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:166,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:171,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:180,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:180,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:193,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:198,1
    - Dst: png_malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:205,1
    - Dst: png_get_rowbytes
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:205,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:217,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:239,1
    - Dst: png_start_read_image
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:243,1
    - Dst: PNG_PASS_COLS
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:259,1
    - Dst: PNG_PASS_START_COL
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:266,1
    - Dst: PNG_PASS_START_ROW
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:267,1
    - Dst: PNG_PASS_COL_OFFSET
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:268,1
    - Dst: PNG_PASS_ROW_OFFSET
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:269,1
    - Dst: png_read_row
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:296,1
    - Dst: print_pixel
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:308,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:321,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:325,1
    - Dst: png_free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:344,1
    - Dst: png_destroy_info_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:348,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:352,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:354,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:358,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:362,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c:367,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 141
    functionDepth: 7
    functionLinenumber: 141
    functionLinenumberEnd: 370
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/pngpixel.c
    functionUses: 2
    functionsReached:
    - PNG_PASS_ROW_OFFSET
    - png_start_read_image
    - atol
    - png_free
    - PNG_PASS_START_ROW
    - fprintf
    - png_read_row
    - png_init_io
    - png_destroy_read_struct
    - PNG_PASS_COLS
    - png_create_read_struct
    - png_read_info
    - png_destroy_info_struct
    - png_get_rowbytes
    - png_get_IHDR
    - fopen
    - png_error
    - png_create_info_struct
    - PNG_PASS_START_COL
    - png_jmpbuf
    - print_pixel
    - png_malloc
    - setjmp
    - PNG_PASS_COL_OFFSET
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:74,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:88,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 2
    functionsReached:
    - printf
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: compose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:168,1
    - Dst: compose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:169,1
    - Dst: compose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:170,1
    - Dst: compose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:171,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - sprite
    - x_offset
    - y_offset
    - image
    - buffer
    argTypes:
    - struct sprite*
    - int
    - int
    - png_imagep
    - png_uint_16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 185
    functionName: sprite_op
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 0
    functionsReached:
    - compose
    linkageType: ''
    returnType: void
    signature: "void sprite_op(const struct sprite *sprite, int x_offset, int y_offset,\n
      \  png_imagep image, const png_uint_16 *buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: compose
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compose(c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:203,1
    - Dst: png_image_begin_read_from_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:217,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:223,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:223,1
    - Dst: png_image_finish_read
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:227,1
    - Dst: sprite_op
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:237,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:238,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:246,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:247,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:254,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:255,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:261,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:268,1
    - Dst: tmpfile
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:278,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:284,1
    - Dst: png_image_write_to_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:293,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:297,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:303,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:308,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 3
    argNames:
    - sprite
    - argc
    - argv
    argTypes:
    - struct sprite*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 187
    functionDepth: 9
    functionLinenumber: 187
    functionLinenumberEnd: 312
    functionName: create_sprite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strerror
    - png_image_finish_read
    - malloc
    - free
    - PNG_IMAGE_SIZE
    - fprintf
    - sprite_op
    - tmpfile
    - memset
    - png_image_write_to_stdio
    - png_image_free
    - png_image_begin_read_from_file
    linkageType: ''
    returnType: int
    signature: int create_sprite(struct sprite *sprite, int *argc, const char ***argv)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:331,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:342,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:356,1
    - Dst: png_image_begin_read_from_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:358,1
    - Dst: png_image_finish_read
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:362,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:373,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:381,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 5
    argNames:
    - output
    - out_buf
    - sprite
    - argc
    - argv
    argTypes:
    - png_imagep
    - png_bytep
    - struct sprite*
    - int*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 314
    functionDepth: 9
    functionLinenumber: 314
    functionLinenumberEnd: 388
    functionName: add_sprite
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 0
    functionsReached:
    - sscanf
    - rewind
    - png_image_begin_read_from_stdio
    - fprintf
    - png_image_finish_read
    linkageType: ''
    returnType: int
    signature: "int add_sprite(png_imagep output, png_bytep out_buf, struct sprite
      *sprite,\n   int *argc, const char ***argv)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:404,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:415,1
    - Dst: str
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:415,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:426,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:442,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:444,1
    - Dst: create_sprite
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:451,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:462,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:468,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:476,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:481,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:490,1
    - Dst: add_sprite
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:492,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:501,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:508,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:520,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:523,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 70
    argCount: 4
    argNames:
    - output
    - out_buf
    - argc
    - argv
    argTypes:
    - png_imagep
    - png_bytep
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 390
    functionDepth: 10
    functionLinenumber: 390
    functionLinenumberEnd: 527
    functionName: simpleover_process
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 0
    functionsReached:
    - str
    - sscanf
    - create_sprite
    - sprintf
    - strcmp
    - add_sprite
    - malloc
    - strncmp
    - memset
    - fprintf
    - free
    - fclose
    linkageType: ''
    returnType: int
    signature: "int simpleover_process(png_imagep output, png_bytep out_buf, int argc,\n
      \  const char **argv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: str
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: str(a)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: png_image_begin_read_from_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:548,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:554,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:554,1
    - Dst: png_image_finish_read
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:560,1
    - Dst: simpleover_process
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:569,1
    - Dst: png_image_write_to_file
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:573,1
    - Dst: png_image_write_to_stdio
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:577,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:583,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:591,1
    - Dst: free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:594,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:599,1
    - Dst: PNG_IMAGE_SIZE
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:600,1
    - Dst: png_image_free
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:606,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:613,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c:620,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 529
    functionDepth: 11
    functionLinenumber: 529
    functionLinenumberEnd: 647
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/examples/simpleover.c
    functionUses: 2
    functionsReached:
    - simpleover_process
    - png_image_finish_read
    - malloc
    - png_image_write_to_file
    - png_image_write_to_stdio
    - PNG_IMAGE_SIZE
    - fprintf
    - free
    - png_image_free
    - png_image_begin_read_from_file
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:30,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:37,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:39,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:45,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:48,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:54,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c:57,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - png_ptr
    argTypes:
    - png_structp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 64
    functionName: png_have_msa
    functionSourceFile: /src/libspectre/ghostscript/libpng/contrib/mips-msa/linux.c
    functionUses: 1
    functionsReached:
    - strcmp
    - fopen
    - fgetc
    - memset
    - feof
    - fclose
    linkageType: ''
    returnType: int
    signature: int png_have_msa(png_structp png_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: cbrt
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbrt(arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - dtype
    - ','
    - procs
    - ','
    - dname
    - ','
    - w10
    - ','
    - h10
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - lo
    - ','
    - to
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - print_pages
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: prn_device_body_copies
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_device_body_copies(dtype, procs, dname, w10, h10, xdpi, ydpi, lo,
      to, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_pages)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:550,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:553,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:557,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:564,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:570,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:575,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 576
    functionName: cups_close
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - dmprintf1
    - free
    - ppdClose
    - cupsRasterClose
    - dmprintf
    linkageType: ''
    returnType: private
    signature: private cups_close(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pdev
    - ci
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 618
    functionName: cups_decode_color
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: private
    signature: "private cups_decode_color(gx_device      *pdev,\t/* I - Device info
      */\n                  gx_color_index ci,\t/* I - Color index */\n                  gx_color_value
      *cv)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 698
    functionName: gx_color_index::cups_encode_color
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    linkageType: ''
    returnType: private
    signature: "private gx_color_index\t\t\t/* O - Color index */\ncups_encode_color(gx_device
      \           *pdev,\n\t\t\t\t\t/* I - Device info */\n                  const
      gx_color_value *cv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pname
    - ','
    - name_size
    - ','
    - name_str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 706
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(pname, name_size, name_str)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:715,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:716,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:717,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:725,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:726,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:727,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:728,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:734,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:735,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:736,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:740,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:742,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:744,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:746,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:754,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:756,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:758,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:781,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:785,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:787,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:789,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:795,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:796,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:800,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:801,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:805,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:809,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:811,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:813,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:819,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:820,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:822,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:823,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:826,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:828,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:830,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:832,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:838,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:839,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:845,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:846,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 115
    argCount: 4
    argNames:
    - pdev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 855
    functionName: cups_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int cups_get_color_comp_index(gx_device * pdev, const char * pname,\n\t\t\t
      \ int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 866
    functionName: "gx_cm_color_map_procs *\t/* O - List of device procedures */\ncups_get_color_mapping_procs(const
      gx_device *pdev)"
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: private
    signature: "private gx_cm_color_map_procs *\t/* O - List of device procedures
      */\ncups_get_color_mapping_procs(const gx_device *pdev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:879,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:899,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:914,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:938,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:940,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:943,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:946,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - pdev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 874
    functionDepth: 1
    functionLinenumber: 874
    functionLinenumberEnd: 949
    functionName: cups_get_matrix
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    - dmprintf6
    - dprintf
    - dmprintf4
    - dmprintf
    linkageType: ''
    returnType: private
    signature: "private cups_get_matrix(gx_device *pdev,\t/* I - Device info */\n
      \               gs_matrix *pmat)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:969,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:977,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:980,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:984,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:991,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:992,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:995,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:996,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:999,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1000,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1003,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1004,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1007,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1011,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1016,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1019,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1024,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1028,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1031,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1036,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1039,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1043,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1048,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1052,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1056,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1060,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1064,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1068,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1072,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1076,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1080,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1084,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1089,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1093,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1097,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1101,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1105,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1109,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1113,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1117,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1123,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1128,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1134,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1141,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1148,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1149,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1153,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1154,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1157,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1158,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1161,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1162,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 154
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 1173
    functionName: cups_get_params
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_transient_string
    - dmprintf2
    - param_write_bool
    - param_write_float
    - dmprintf
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: private
    signature: "private cups_get_params(gx_device     *pdev,\t/* I - Device info */\n
      \               gs_param_list *plist)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1192,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1195,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1197,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1205,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1207,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1209,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1211,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1223,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - pdev
    - space_params
    argTypes:
    - gx_device_printer*
    - gdev_space_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1228
    functionName: cups_get_space_params
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - sscanf
    - tolower
    - dmprintf2
    - dmprintf1
    - getenv
    linkageType: ''
    returnType: void
    signature: "void cups_get_space_params(const gx_device_printer *pdev,\n\t\t\t\t\t/*
      I - Printer device */\n                            gdev_space_params *space_params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbrt
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - x
    - xn
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 1235
    functionDepth: 1
    functionLinenumber: 1235
    functionLinenumberEnd: 1248
    functionName: cups_map_cielab
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - cbrt
    linkageType: ''
    returnType: double
    signature: "double cups_map_cielab(double x,\t\t/* I - Raw color value */\n                double
      xn)"
  - BBCount: 121
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1273,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1539,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1540,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1541,1
    - Dst: cbrt
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1613,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1617,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1618,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1619,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1620,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1704,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1708,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1713,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 300
    argCount: 6
    argNames:
    - pdev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1256
    functionDepth: 2
    functionLinenumber: 1256
    functionLinenumberEnd: 1718
    functionName: cups_map_cmyk
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - pow
    - dmprintf1
    - dmprintf6
    - cups_map_cielab
    - dmprintf4
    - cbrt
    - dmprintf3
    linkageType: ''
    returnType: private
    signature: "private cups_map_cmyk(gx_device *pdev,\t\t/* I - Device info */\n
      \             frac      c,\t\t/* I - Cyan value */\n\t      frac      m,\t\t/*
      I - Magenta value */\n\t      frac      y,\t\t/* I - Yellow value */\n\t      frac
      \     k,\t\t/* I - Black value */\n\t      frac      *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1731,1
    - Dst: cups_map_cmyk
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - g
    - out
    argTypes:
    - gx_device*
    - frac
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1725
    functionDepth: 3
    functionLinenumber: 1725
    functionLinenumberEnd: 1740
    functionName: cups_map_gray
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - cups_map_cmyk
    - dmprintf3
    linkageType: ''
    returnType: private
    signature: "private cups_map_gray(gx_device *pdev,\t\t/* I - Device info */\n
      \             frac      g,\t\t/* I - Grayscale value */\n\t      frac      *out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1762,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1773,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1773,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1775,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1775,1
    - Dst: cups_map_cmyk
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1828,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 6
    argNames:
    - pdev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1747
    functionDepth: 3
    functionLinenumber: 1747
    functionLinenumberEnd: 1829
    functionName: cups_map_rgb
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf6
    - cups_map_cmyk
    - min
    - max
    linkageType: ''
    returnType: private
    signature: "private cups_map_rgb(gx_device             *pdev,\n\t\t\t\t\t/* I
      - Device info */\n             const gs_gstate        *pgs,/* I - Device state
      */\n             frac                  r,\t/* I - Red value */\n\t     frac
      \                 g,\t/* I - Green value */\n\t     frac                  b,\t/*
      I - Blue value */\n\t     frac                  *out)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1854,1
    - Dst: cups_set_color_info
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1863,1
    - Dst: dmprintf9
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:1986,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 104
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1839
    functionDepth: 1
    functionLinenumber: 1839
    functionLinenumberEnd: 1998
    functionName: gx_color_index::cups_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf9
    - cups_set_color_info
    - dmprintf5
    linkageType: ''
    returnType: private
    signature: "private gx_color_index\t\t\t/* O - Color index */\ncups_map_cmyk_color(gx_device
      \     *pdev,\n\t\t\t\t\t/* I - Device info */\n                    const gx_color_value
      cv[4])"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2016,1
    - Dst: cups_set_color_info
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2025,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2030,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2259,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 176
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2264
    functionName: cups_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - cups_set_color_info
    - dmprintf3
    linkageType: ''
    returnType: private
    signature: "private cups_map_color_rgb(gx_device      *pdev,/* I - Device info
      */\n                   gx_color_index color,/* I - Color index */\n\t\t   gx_color_value
      prgb[3])"
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2294,1
    - Dst: cups_set_color_info
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2303,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2320,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2320,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2322,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2322,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2526,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2526,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2528,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2528,1
    - Dst: dmprintf8
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2559,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2570,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2570,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2572,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2572,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2609,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2609,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2611,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2611,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2642,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2642,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2644,1
    - Dst: max
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2644,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2697,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2698,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2699,1
    - Dst: cbrt
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2745,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2749,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2750,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2751,1
    - Dst: cups_map_cielab
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2752,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2818,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 359
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2273
    functionDepth: 2
    functionLinenumber: 2273
    functionLinenumberEnd: 2823
    functionName: gx_color_index::cups_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - pow
    - dmprintf8
    - max
    - cups_set_color_info
    - cups_map_cielab
    - dmprintf4
    - cbrt
    - min
    linkageType: ''
    returnType: private
    signature: "private gx_color_index\t\t\t/* O - Color index */\ncups_map_rgb_color(gx_device
      \     *pdev,/* I - Device info */\n                   const gx_color_value cv[3])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2837,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2840,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2845,1
    - Dst: cups_set_color_info
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2849,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2856,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2860,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2860,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2863,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2865,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2831
    functionDepth: 1
    functionLinenumber: 2831
    functionLinenumberEnd: 2871
    functionName: cups_open
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - snprintf
    - dmprintf1
    - cups_set_color_info
    - gdev_prn_open
    - getenv
    - ppdOpenFile
    - dmprintf
    linkageType: ''
    returnType: private
    signature: private cups_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_output_page
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2887,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2894
      start: 2880
    functionDepth: 1
    functionLinenumber: 2880
    functionLinenumberEnd: 2894
    functionName: cups_output_page
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - gdev_prn_output_page
    linkageType: ''
    returnType: private
    signature: private cups_output_page(gx_device *pdev, int num_copies, int flush)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2919,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2955,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2958,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2963,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2966,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2968,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2974,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2978,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2980,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2988,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2991,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2994,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2997,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:2999,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3007,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3007,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3007,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3009,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3022,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3023,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3041,1
    - Dst: cupsRasterWriteHeader
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3048,1
    - Dst: cups_print_chunked
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3051,1
    - Dst: cups_print_chunked
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3056,1
    - Dst: cups_print_banded
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3059,1
    - Dst: cups_print_planar
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3062,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3073,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3074,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 3
    argNames:
    - pdev
    - fp
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3077
      start: 2901
    functionDepth: 1
    functionLinenumber: 2901
    functionLinenumberEnd: 3077
    functionName: cups_print_pages
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - cupsRasterOpen
    - ppdFindAttr
    - dmprintf3
    - dmprintf4
    - strcasecmp
    - memset
    - cups_print_planar
    - cupsRasterWriteHeader
    - gp_get_file
    - cups_print_chunked
    - gdev_prn_raster
    - fileno
    - cups_print_banded
    - dmprintf1
    - gs_malloc
    - return_error
    - atoi
    - gs_free
    - perror
    linkageType: ''
    returnType: private
    signature: "private cups_print_pages(gx_device_printer *pdev,\n\t\t\t\t\t/* I
      - Device info */\n                 gp_file           *fp,\t/* I - Output file
      */\n\t\t int               num_copies)"
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3133,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3221,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3222,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3223,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3224,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3225,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3228,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3240,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3241,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3242,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3243,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3244,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3245,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3246,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3247,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3248,1
    - Dst: arrayoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3249,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3250,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3251,1
    - Dst: arrayoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3252,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3253,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3254,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3255,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3256,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3257,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3258,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3259,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3260,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3261,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3262,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3263,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3264,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3265,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3266,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3267,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3268,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3269,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3270,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3271,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3279,1
    - Dst: floatoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3285,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3289,1
    - Dst: floatoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3294,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3299,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3302,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3303,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3304,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3307,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3309,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3315,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3317,1
    - Dst: cups_set_color_info
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3320,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3328,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3358,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3362,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3369,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3370,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3371,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3372,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3375,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3378,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3383,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3387,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3390,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3396,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3401,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3403,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3408,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3415,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3420,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3422,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3427,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3435,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3437,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3442,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3444,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3449,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3457,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3468,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3473,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3480,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3511,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3514,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3540,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3541,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3542,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3543,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3544,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3545,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3546,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3547,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3553,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3556,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3585,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3602,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3604,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3606,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3608,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3611,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3614,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3626,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3635,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3640,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3690,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3693,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3719,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3720,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3721,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3722,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3723,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3724,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3725,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3726,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3732,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3735,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3764,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3781,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3783,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3785,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3787,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3790,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3793,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3805,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3814,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3819,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3852,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3856,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3875,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3910,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3938,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3948,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3981,1
    - Dst: gx_device_set_media_size
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3989,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:3990,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4026,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4027,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4054,1
    - Dst: gdev_prn_maybe_realloc_memory
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4058,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4065,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4076,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4105,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4142,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4176,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4200,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4226,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4228,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4231,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4233,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4235,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4236,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4238,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4240,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4242,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4245,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4247,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4249,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4255,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4257,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4260,1
    CyclomaticComplexity: 164
    EdgeCount: 164
    ICount: 560
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 3084
    functionDepth: 1
    functionLinenumber: 3084
    functionLinenumberEnd: 4267
    functionName: cups_put_params
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - gdev_prn_maybe_realloc_memory
    - floatoption
    - strlen
    - param_signal_error
    - gdev_prn_put_params
    - snprintf
    - ppdFindAttr
    - strcasecmp
    - memset
    - arrayoption
    - dmprintf
    - intoption
    - strdup
    - free
    - cups_set_color_info
    - dmputs
    - param_read_float_array
    - param_read_string
    - dmprintf2
    - param_read_int
    - stringoption
    - strncpy
    - gx_device_set_media_size
    - dmprintf1
    - booloption
    - gx_device_set_margins
    - fabs
    - return_error
    - dmprintf4
    linkageType: ''
    returnType: private
    signature: "private cups_put_params(gx_device     *pdev,\t/* I - Device info */\n
      \               gs_param_list *plist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3140
    functionDepth: 0
    functionLinenumber: 3140
    functionLinenumberEnd: 3153
    functionName: stringoption
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringoption(name, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - sname
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3165
    functionName: intoption
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: intoption(name, sname, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3166
    functionDepth: 0
    functionLinenumber: 3166
    functionLinenumberEnd: 3177
    functionName: floatoption
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: floatoption(name, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3194
      start: 3178
    functionDepth: 0
    functionLinenumber: 3178
    functionLinenumberEnd: 3194
    functionName: booloption
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: booloption(name, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - sname
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3216
      start: 3195
    functionDepth: 0
    functionLinenumber: 3195
    functionLinenumberEnd: 3216
    functionName: arrayoption
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arrayoption(name, sname, count)
  - BBCount: 157
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4286,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4543,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4562,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4568,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4569,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4583,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4585,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4587,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4589,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4591,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4608,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4611,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4615,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4644,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4647,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4652,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4654,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4665,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4673,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4687,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4696,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4701,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4746,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4748,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4750,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4765,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4767,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4769,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4786,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4788,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4790,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 322
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4797
      start: 4274
    functionDepth: 1
    functionLinenumber: 4274
    functionLinenumberEnd: 4797
    functionName: cups_set_color_info
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 5
    functionsReached:
    - pow
    - sscanf
    - gsicc_set_device_profile
    - sprintf
    - strcmp
    - dmprintf2
    - gx_device_decache_colors
    - dmprintf1
    - gsicc_new_device_profile_array
    - memcpy
    - rc_decrement
    - dmprintf4
    - dmprintf
    linkageType: ''
    returnType: private
    signature: private cups_set_color_info(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4809
      start: 4803
    functionDepth: 1
    functionLinenumber: 4803
    functionLinenumberEnd: 4809
    functionName: cups_sync_output
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    linkageType: ''
    returnType: private
    signature: private cups_sync_output(gx_device *pdev)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4838,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4839,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4840,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4841,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4845,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4848,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4856,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4858,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4859,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4867,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4868,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4870,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4888,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4902,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4904,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4905,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4914,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:4915,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5026,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5034,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 108
    argCount: 4
    argNames:
    - pdev
    - src
    - dst
    - srcbytes
    argTypes:
    - gx_device_printer*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5038
      start: 4816
    functionDepth: 1
    functionLinenumber: 4816
    functionLinenumberEnd: 5038
    functionName: cups_print_chunked
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - gdev_prn_get_bits
    - cupsRasterWritePixels
    - dmprintf1
    - memset
    - memcmp
    - return_error
    - ppdFindAttr
    - dmprintf3
    linkageType: ''
    returnType: int
    signature: "int cups_print_chunked(gx_device_printer *pdev,\n\t\t\t\t\t/* I -
      Printer device */\n                   unsigned char     *src,\n\t\t\t\t\t/*
      I - Scanline buffer */\n\t\t   unsigned char     *dst,\n\t\t\t\t\t/* I - Bitmap
      buffer */\n\t\t   int               srcbytes)"
  - BBCount: 164
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5071,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5072,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5073,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5074,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5078,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5081,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5089,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5091,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5092,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5100,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5101,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5103,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5121,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5146,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5148,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5149,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5156,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5157,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5174,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5370,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5535,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5753,1
    CyclomaticComplexity: 181
    EdgeCount: 181
    ICount: 511
    argCount: 4
    argNames:
    - pdev
    - src
    - dst
    - srcbytes
    argTypes:
    - gx_device_printer*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5756
      start: 5045
    functionDepth: 1
    functionLinenumber: 5045
    functionLinenumberEnd: 5756
    functionName: cups_print_banded
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - gdev_prn_get_bits
    - cupsRasterWritePixels
    - dmprintf1
    - memset
    - memcmp
    - return_error
    - ppdFindAttr
    - dmprintf3
    linkageType: ''
    returnType: int
    signature: "int cups_print_banded(gx_device_printer *pdev,\n\t\t\t\t\t/* I - Printer
      device */\n                  unsigned char     *src,\n\t\t\t\t\t/* I - Scanline
      buffer */\n\t\t  unsigned char     *dst,\n\t\t\t\t\t/* I - Bitmap buffer */\n\t\t
      \ int               srcbytes)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5797,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5799,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5800,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5807,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5808,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5813,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:5897,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:6013,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:6125,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 225
    argCount: 4
    argNames:
    - pdev
    - src
    - dst
    - srcbytes
    argTypes:
    - gx_device_printer*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6128
      start: 5763
    functionDepth: 1
    functionLinenumber: 5763
    functionLinenumberEnd: 6128
    functionName: cups_print_planar
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 1
    functionsReached:
    - gdev_prn_get_bits
    - cupsRasterWritePixels
    - dmprintf1
    - memset
    - memcmp
    - return_error
    linkageType: ''
    returnType: int
    signature: "int cups_print_planar(gx_device_printer *pdev,\n\t\t\t\t\t/* I - Printer
      device */\n                  unsigned char     *src,\n\t\t\t\t\t/* I - Scanline
      buffer */\n\t\t  unsigned char     *dst,\n\t\t\t\t\t/* I - Bitmap buffer */\n\t\t
      \ int               srcbytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/cups/gdevcups.c:6133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6134
      start: 6130
    functionDepth: 1
    functionLinenumber: 6130
    functionLinenumberEnd: 6134
    functionName: cups_spec_op
    functionSourceFile: /src/libspectre/ghostscript/cups/gdevcups.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    linkageType: ''
    returnType: private
    signature: private cups_spec_op(gx_device *dev_, int op, void *data, int datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: sleep
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sleep(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: usleep
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: usleep(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nptr
    - ','
    - endptr
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: strtoll
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strtoll(nptr,endptr,base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 676
    functionDepth: 0
    functionLinenumber: 676
    functionLinenumberEnd: 677
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 678
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 679
    functionDepth: 0
    functionLinenumber: 679
    functionLinenumberEnd: 680
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 681
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 683
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 684
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 686
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 687
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 740
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 740
    functionName: _cups_abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _cups_abs(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 743
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 743
    functionName: _cups_abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _cups_abs(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 746
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configwin.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nptr
    - ','
    - endptr
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: strtoll
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strtoll(nptr,endptr,base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 620
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 621
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 623
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 624
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 626
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 626
    functionDepth: 0
    functionLinenumber: 626
    functionLinenumberEnd: 627
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 629
    functionName: CUPS_RAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_RAND()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 630
    functionName: CUPS_SRAND
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUPS_SRAND(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 696
    functionName: _cups_abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _cups_abs(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 699
    functionName: _cups_abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _cups_abs(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: abs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/configlinux.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language-private.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:48,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: _sspiAlloc
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - calloc
    linkageType: ''
    returnType: _sspi_struct_t
    signature: "_sspi_struct_t *\t\t\t\t/* O  - New SSPI/SSL object */\n_sspiAlloc(void)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:92,1
    - Dst: CryptAcquireContextW
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:99,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:103,1
    - Dst: CryptAcquireContextW
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:105,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:108,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:109,1
    - Dst: CertOpenStore
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:116,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:126,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:127,1
    - Dst: CertStrToName
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:134,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:137,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:138,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:143,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:147,1
    - Dst: CertStrToName
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:152,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:155,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:156,1
    - Dst: CertFindCertificateInStore
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:164,1
    - Dst: CryptGenKey
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:173,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:175,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:176,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:181,1
    - Dst: GetSystemTime
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:188,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:191,1
    - Dst: CertCreateSelfSignCertificate
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:193,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:198,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:199,1
    - Dst: CertAddCertificateContextToStore
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:204,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:208,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:209,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:214,1
    - Dst: CertSetCertificateContextProperty
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:221,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:225,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:226,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:232,1
    - Dst: AcquireCredentialsHandle
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:248,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:254,1
    - Dst: CryptDestroyKey
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:265,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:268,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:271,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:274,1
    - Dst: CertCloseStore
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:277,1
    - Dst: CryptReleaseContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:280,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 116
    argCount: 4
    argNames:
    - conn
    - container
    - cn
    - isServer
    argTypes:
    - _sspi_struct_t*
    - LPWSTR
    - TCHAR*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 61
    functionDepth: 5
    functionLinenumber: 61
    functionLinenumberEnd: 283
    functionName: _sspiGetCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - CryptReleaseContext
    - CertStrToName
    - CryptDestroyKey
    - DEBUG_printf
    - CertOpenStore
    - ZeroMemory
    - GetSystemTime
    - AcquireCredentialsHandle
    - CryptAcquireContextW
    - malloc
    - CertFindCertificateInStore
    - free
    - CertSetCertificateContextProperty
    - GetLastError
    - CertCloseStore
    - CertCreateSelfSignCertificate
    - CertAddCertificateContextToStore
    - CryptGenKey
    - CertFreeCertificateContext
    linkageType: ''
    returnType: BOOL
    signature: "BOOL _sspiGetCredentials(_sspi_struct_t *conn,\n\t\t\t\t\t/* I - Client
      connection */\n                    const LPWSTR   container,\n\t\t\t\t\t/* I
      - Cert container name */\n                    const TCHAR    *cn,\t/* I - Common
      name of certificate */\n                    BOOL           isServer)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: InitializeSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:327,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:327,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:333,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:343,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:347,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:347,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:348,1
    - Dst: DeleteSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:349,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:354,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:359,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:387,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:391,1
    - Dst: SetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:393,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:399,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:404,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:404,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:410,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:415,1
    - Dst: InitializeSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:455,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:466,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:470,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:474,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:474,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:475,1
    - Dst: DeleteSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:476,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:481,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:486,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:509,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:515,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:519,1
    - Dst: SetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:521,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:527,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:533,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:548,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:550,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:564,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:575,1
    - Dst: QueryContextAttributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:594,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:598,1
    - Dst: sspi_verify_certificate
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:603,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:607,1
    - Dst: QueryContextAttributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:615,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:619,1
    - Dst: CertFreeCertificateContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:627,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 160
    argCount: 2
    argNames:
    - conn
    - hostname
    argTypes:
    - _sspi_struct_t*
    - CHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 630
    functionName: _sspiConnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - FAILED
    - FreeContextBuffer
    - recv
    - send
    - DeleteSecurityContext
    - memmove
    - InitializeSecurityContext
    - WSAGetLastError
    - QueryContextAttributes
    - TEXT
    - sspi_verify_certificate
    - realloc
    - CertFreeCertificateContext
    - SetLastError
    linkageType: ''
    returnType: BOOL
    signature: "BOOL _sspiConnect(_sspi_struct_t *conn,\t/* I - Client connection
      */\n             const CHAR *hostname)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:682,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:687,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:696,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:701,1
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:702,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:709,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:709,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:715,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:720,1
    - Dst: AcceptSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:750,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:759,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:766,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:770,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:770,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:775,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:778,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:791,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:804,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:806,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:816,1
    - Dst: QueryContextAttributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:835,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:839,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 105
    argCount: 1
    argNames:
    - conn
    argTypes:
    - _sspi_struct_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 847
    functionName: _sspiAccept
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - FAILED
    - AcceptSecurityContext
    - FreeContextBuffer
    - recv
    - send
    - WSAGetLastError
    - memcpy
    - QueryContextAttributes
    - Sleep
    - realloc
    linkageType: ''
    returnType: BOOL
    signature: BOOL _sspiAccept(_sspi_struct_t *conn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - allow
    argTypes:
    - _sspi_struct_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 861
    functionName: _sspiSetAllowsAnyRoot
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _sspiSetAllowsAnyRoot(_sspi_struct_t *conn,\n\t\t\t\t\t/* I  -
      Client connection */\n                      BOOL           allow)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - conn
    - allow
    argTypes:
    - _sspi_struct_t*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 875
    functionName: _sspiSetAllowsExpiredCerts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _sspiSetAllowsExpiredCerts(_sspi_struct_t *conn,\n\t\t\t\t\t/*
      I  - Client connection */\n                           BOOL           allow)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:896,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:905,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:909,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:910,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:919,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:927,1
    - Dst: EncryptMessage
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:951,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:953,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:955,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:956,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:968,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:975,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:975,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:988,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 3
    argNames:
    - conn
    - buf
    - len
    argTypes:
    - _sspi_struct_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 881
    functionDepth: 5
    functionLinenumber: 881
    functionLinenumberEnd: 991
    functionName: _sspiWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - FAILED
    - send
    - WSASetLastError
    - malloc
    - WSAGetLastError
    - memcpy
    - free
    - EncryptMessage
    - min
    linkageType: ''
    returnType: int
    signature: "int _sspiWrite(_sspi_struct_t *conn,\t/* I  - Client connection */\n
      \          void           *buf,\t\t/* I  - Buffer */\n           size_t         len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1008,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1020,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1023,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1032,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1061,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1066,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1068,1
    - Dst: DecryptMessage
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1081,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1087,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1093,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1093,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1098,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1115,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1116,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1122,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1123,1
    - Dst: min
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1148,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1154,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1165,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1170,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1171,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1177,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1188,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1189,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1201,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 3
    argNames:
    - conn
    - buf
    - len
    argTypes:
    - _sspi_struct_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1213
    functionName: _sspiRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - realloc
    - recv
    - memmove
    - WSASetLastError
    - WSAGetLastError
    - memcpy
    - min
    - DecryptMessage
    linkageType: ''
    returnType: int
    signature: "int _sspiRead(_sspi_struct_t *conn,\t\t/* I  - Client connection */\n
      \         void           *buf,\t\t/* I  - Buffer */\n          size_t         len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _sspiRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - conn
    argTypes:
    - _sspi_struct_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: _sspiPending
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - _sspiRead
    linkageType: ''
    returnType: int
    signature: int _sspiPending(_sspi_struct_t *conn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ApplyControlToken
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1256,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1258,1
    - Dst: AcceptSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1282,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1286,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1296,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1299,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1300,1
    - Dst: FreeContextBuffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1304,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1310,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1315,1
    - Dst: DeleteSecurityContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1318,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1324,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1330,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1336,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1340,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - conn
    argTypes:
    - _sspi_struct_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1341
    functionName: _sspiFree
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 0
    functionsReached:
    - ApplyControlToken
    - SUCCEEDED
    - DEBUG_printf
    - AcceptSecurityContext
    - FreeContextBuffer
    - send
    - DeleteSecurityContext
    - WSAGetLastError
    - free
    - closesocket
    linkageType: ''
    returnType: void
    signature: void _sspiFree(_sspi_struct_t *conn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1385,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1391,1
    - Dst: LocalAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1392,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1398,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1408,1
    - Dst: CertGetCertificateChain
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1414,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1417,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1418,1
    - Dst: ZeroMemory
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1425,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1431,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1435,1
    - Dst: CertVerifyCertificateChainPolicy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1438,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1441,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1442,1
    - Dst: CertFreeCertificateChain
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1457,1
    - Dst: LocalFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/sspi.c:1460,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 3
    argNames:
    - serverCert
    - serverName
    - dwCertFlags
    argTypes:
    - PCCERT_CONTEXT
    - CHAR*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1463
    functionName: sspi_verify_certificate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sspi.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - LocalFree
    - CertGetCertificateChain
    - strlen
    - CertFreeCertificateChain
    - ZeroMemory
    - memset
    - MultiByteToWideChar
    - LocalAlloc
    - GetLastError
    - CertVerifyCertificateChainPolicy
    linkageType: ''
    returnType: DWORD
    signature: "DWORD sspi_verify_certificate(PCCERT_CONTEXT  serverCert,\n\t\t\t\t\t/*
      I  - Server certificate */\n                        const CHAR      *serverName,\n\t\t\t\t\t/*
      I  - Server name */\n                        DWORD           dwCertFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ft
    argTypes:
    - FILETIME
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 76
    functionName: _cups_dir_time
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: time_t
    signature: time_t _cups_dir_time(FILETIME ft)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:100,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: cupsDirClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - free
    - FindClose
    linkageType: ''
    returnType: void
    signature: void cupsDirClose(cups_dir_t *dp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:133,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - directory
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 150
    functionName: cupsDirOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - calloc
    - strlcpy
    linkageType: ''
    returnType: cups_dir_t
    signature: "cups_dir_t *\t\t\t\t/* O - Directory pointer or @code NULL@ if the
      directory could not be opened. */\ncupsDirOpen(const char *directory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FindFirstFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:182,1
    - Dst: FindNextFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:186,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:193,1
    - Dst: _cups_dir_time
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:200,1
    - Dst: _cups_dir_time
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:201,1
    - Dst: _cups_dir_time
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 210
    functionName: cupsDirRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - FindNextFile
    - strlcpy
    - _cups_dir_time
    - FindFirstFile
    linkageType: ''
    returnType: cups_dentry_t
    signature: "cups_dentry_t *\t\t\t\t/* O - Directory entry or @code NULL@ if there
      are no more */\ncupsDirRead(cups_dir_t *dp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: cupsDirRewind
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - FindClose
    linkageType: ''
    returnType: void
    signature: void cupsDirRewind(cups_dir_t *dp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:272,1
    - Dst: closedir
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:285,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 287
    functionName: cupsDirClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - closedir
    - free
    linkageType: ''
    returnType: void
    signature: void cupsDirClose(cups_dir_t *dp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:302,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:315,1
    - Dst: opendir
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:323,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:326,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - directory
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 341
    functionName: cupsDirOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - opendir
    - strlcpy
    - free
    - calloc
    linkageType: ''
    returnType: cups_dir_t
    signature: "cups_dir_t *\t\t\t\t/* O - Directory pointer or @code NULL@ if the
      directory could not be opened. */\ncupsDirOpen(const char *directory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:361,1
    - Dst: readdir_r
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:381,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:383,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:383,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:389,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:393,1
    - Dst: readdir
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:401,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:403,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:407,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:415,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:415,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:422,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:424,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:426,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:428,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:429,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 439
    functionName: cupsDirRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - strcmp
    - stat
    - snprintf
    - strlcpy
    - readdir_r
    - DEBUG_puts
    - strerror
    - readdir
    linkageType: ''
    returnType: cups_dentry_t
    signature: "cups_dentry_t *\t\t\t\t/* O - Directory entry or @code NULL@ when
      there are no more */\ncupsDirRead(cups_dir_t *dp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:451,1
    - Dst: rewinddir
      Src: /src/libspectre/ghostscript/cups/libs/cups/dir.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dp
    argTypes:
    - cups_dir_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 465
    functionName: cupsDirRewind
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dir.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - rewinddir
    linkageType: ''
    returnType: void
    signature: void cupsDirRewind(cups_dir_t *dp)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:70,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:84,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:103,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:108,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:155,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:156,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:164,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:195,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:202,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:203,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:203,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:208,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:209,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:209,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:217,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:218,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:218,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:220,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:222,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:223,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:223,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:224,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:229,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:230,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:230,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:236,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:237,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:237,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:246,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:247,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:247,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:250,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:251,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:251,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:257,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:258,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:258,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:261,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:262,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:262,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 88
    argCount: 5
    argNames:
    - filename
    - filetype
    - dorootchecks
    - cb
    - context
    argTypes:
    - char*
    - _cups_fc_filetype_t
    - int
    - _cups_fc_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 271
    functionName: _cupsFileCheck
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - strerror
    - cupsLangDefault
    - strstr
    - stat
    - _cupsLangString
    - _
    - strrchr
    - strlcpy
    - S_ISDIR
    - snprintf
    - S_ISREG
    linkageType: ''
    returnType: _cups_fc_result_t
    signature: "_cups_fc_result_t _cupsFileCheck(\n    const char          *filename,\t/*
      I - Filename to check */\n    _cups_fc_filetype_t filetype,\t/* I - Type of
      file checks? */\n    int                 dorootchecks,\t/* I - Check for root
      permissions? */\n    _cups_fc_func_t     cb,\t\t/* I - Callback function */\n
      \   void                *context)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:299,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:305,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - context
    - result
    - message
    argTypes:
    - void*
    - _cups_fc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 310
    functionName: _cupsFileCheckFilter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    linkageType: ''
    returnType: void
    signature: "void _cupsFileCheckFilter(\n    void              *context,\t\t/*
      I - Context pointer (unused) */\n    _cups_fc_result_t result,\t\t/* I - Result
      code */\n    const char        *message)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:329,1
    - Dst: cupsFileFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:343,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:356,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:374,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:385,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:402,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:409,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:423,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:425,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:433,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:438,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 443
    functionName: cupsFileClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cups_write
    - close
    - cupsFileFlush
    - deflate
    - deflateEnd
    - free
    - closesocket
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int cupsFileClose(cups_file_t *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: cupsFileCompression
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsFileCompression(cups_file_t *fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 469
    functionName: cupsFileEOF
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsFileEOF(cups_file_t *fp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:499,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:512,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:514,1
    - Dst: isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:531,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:539,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:542,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:544,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:547,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:566,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:568,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:570,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:575,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 5
    argNames:
    - filename
    - path
    - executable
    - buffer
    - bufsize
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 578
    functionName: cupsFileFind
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - access
    - strlcpy
    - isalpha
    - DEBUG_puts
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Full path to file or @code NULL@ if not found
      */\ncupsFileFind(const char *filename,\t/* I - File to find */\n             const
      char *path,\t\t/* I - Colon/semicolon-separated path */\n             int        executable,\t/*
      I - 1 = executable files, 0 = any file/dir */\n\t     char       *buffer,\t/*
      I - Filename buffer */\n\t     int        bufsize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:593,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:601,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:607,1
    - Dst: cups_compress
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:614,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 626
    functionName: cupsFileFlush
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - cups_compress
    - cups_write
    linkageType: ''
    returnType: int
    signature: int cupsFileFlush(cups_file_t *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:644,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:653,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:655,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:663,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:667,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 670
    functionName: cupsFileGetChar
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - cups_fill
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: int cupsFileGetChar(cups_file_t *fp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:693,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:712,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:720,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:725,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:732,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:746,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:749,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:762,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:771,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:781,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:795,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 49
    argCount: 5
    argNames:
    - fp
    - buf
    - buflen
    - value
    - linenum
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 808
    functionName: cupsFileGetConf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - strlen
    - _cups_strcpy
    - _cups_isspace
    - strchr
    - cupsFileGets
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O  - Line read or @code NULL@ on end of file or
      error */\ncupsFileGetConf(cups_file_t *fp,\t/* I  - CUPS file */\n                char
      \       *buf,\t/* O  - String buffer */\n\t\tsize_t      buflen,\t/* I  - Size
      of string buffer */\n                char        **value,\t/* O  - Pointer to
      value */\n\t\tint         *linenum)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:837,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:850,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:863,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:886,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 3
    argNames:
    - fp
    - buf
    - buflen
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 889
    functionName: cupsFileGetLine
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cups_fill
    linkageType: ''
    returnType: size_t
    signature: "size_t cupsFileGetLine(cups_file_t *fp,\t/* I - File to read from
      */\n                char        *buf,\t/* I - Buffer */\n                size_t
      \     buflen)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:912,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:925,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:943,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:968,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 31
    argCount: 3
    argNames:
    - fp
    - buf
    - buflen
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 971
    functionName: cupsFileGets
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cups_fill
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Line read or @code NULL@ on end of file or
      error */\ncupsFileGets(cups_file_t *fp,\t\t/* I - CUPS file */\n             char
      \       *buf,\t\t/* O - String buffer */\n\t     size_t      buflen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _locking
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:996,1
    - Dst: lockf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - fp
    - block
    argTypes:
    - cups_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 1000
    functionName: cupsFileLock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - lockf
    - _locking
    linkageType: ''
    returnType: int
    signature: "int cupsFileLock(cups_file_t *fp,\t\t/* I - CUPS file */\n             int
      \        block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1016
    functionName: cupsFileNumber
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsFileNumber(cups_file_t *fp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1049,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1058,1
    - Dst: cups_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1068,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1073,1
    - Dst: cups_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1077,1
    - Dst: cups_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1080,1
    - Dst: cups_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1083,1
    - Dst: _chsize
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1088,1
    - Dst: ftruncate
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1090,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1095,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1096,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1105,1
    - Dst: httpAddrConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1112,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1114,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1118,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1132,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1135,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1137,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1145
    functionName: cupsFileOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpAddrGetList
    - httpAddrFreeList
    - close
    - _chsize
    - cups_open
    - strrchr
    - open
    - cupsFileOpenFd
    - strlcpy
    - ftruncate
    - httpAddrConnect
    - closesocket
    - isdigit
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file or @code NULL@ if the file or
      socket cannot be opened */\ncupsFileOpen(const char *filename,\t/* I - Name
      of file */\n             const char *mode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1167,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1175,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1182,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1194,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1213,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1225,1
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1231,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1237,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1259,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1259,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1263
    functionName: cupsFileOpenFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cups_write
    - deflateInit2
    - fcntl
    - time
    - crc32
    - calloc
    - isdigit
    - lseek
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file or @code NULL@ if the file could
      not be opened */\ncupsFileOpenFd(int        fd,\t\t/* I - File descriptor */\n\t
      \      const char *mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1295
    functionName: cupsFilePeekChar
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - cups_fill
    linkageType: ''
    returnType: int
    signature: int cupsFilePeekChar(cups_file_t *fp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1313,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1324,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1330,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1331,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1332,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1346,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1352,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1353,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1354,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1359,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1364,1
    - Dst: cupsFileFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1370,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1375,1
    - Dst: cups_compress
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1381,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1384,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1388,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - fp
    - format
    argTypes:
    - cups_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1392
    functionName: cupsFilePrintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - va_start
    - cups_write
    - va_end
    - cupsFileFlush
    - malloc
    - memcpy
    - cups_compress
    - vsnprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: "int cupsFilePrintf(cups_file_t *fp,\t\t/* I - CUPS file */\n               const
      char  *format,\t/* I - Printf-style format string */\n\t       ...)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1423,1
    - Dst: cupsFileFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1433,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - c
    argTypes:
    - cups_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1401
    functionDepth: 2
    functionLinenumber: 1401
    functionLinenumberEnd: 1444
    functionName: cupsFilePutChar
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsFileFlush
    - send
    linkageType: ''
    returnType: int
    signature: "int cupsFilePutChar(cups_file_t *fp,\t/* I - CUPS file */\n                int
      \        c)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1468,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1471,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1477,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1483,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1487,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1491,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1495,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1501,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - fp
    - directive
    - value
    argTypes:
    - cups_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1505
    functionName: cupsFilePutConf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - strchr
    - cupsFilePuts
    - cupsFileWrite
    - cupsFilePutChar
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsFilePutConf(cups_file_t *fp,\t/* I - CUPS file */\n                const
      char *directive,\t/* I - Directive */\n\t\tconst char *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1534,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1538,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1543,1
    - Dst: cupsFileFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1549,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1554,1
    - Dst: cups_compress
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1560,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1563,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1567,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - fp
    - s
    argTypes:
    - cups_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1516
    functionDepth: 2
    functionLinenumber: 1516
    functionLinenumberEnd: 1571
    functionName: cupsFilePuts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cups_write
    - strlen
    - cupsFileFlush
    - memcpy
    - cups_compress
    linkageType: ''
    returnType: int
    signature: "int cupsFilePuts(cups_file_t *fp,\t\t/* I - CUPS file */\n             const
      char  *s)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1589,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1610,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1612,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1625,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1629,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1644,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 3
    argNames:
    - fp
    - buf
    - bytes
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1647
    functionName: cupsFileRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cups_fill
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsFileRead(cups_file_t *fp,\t\t/* I - CUPS file */\n             char
      \       *buf,\t\t/* O - Buffer */\n\t     size_t      bytes)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1664,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1665,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1688,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1700,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1705,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1707,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1707,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1717,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1720
    functionName: cupsFileRewind
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - strerror
    - DEBUG_printf
    - lseek
    - inflateEnd
    linkageType: ''
    returnType: off_t
    signature: off_t cupsFileRewind(cups_file_t *fp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1736,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1738,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1739,1
    - Dst: cupsFileRewind
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1753,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1759,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1782,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1799,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1804,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1806,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1812,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1825,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1830,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1840,1
    - Dst: cups_fill
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1845,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1860,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1865,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1870,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 67
    argCount: 2
    argNames:
    - fp
    - pos
    argTypes:
    - cups_file_t*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1729
    functionDepth: 2
    functionLinenumber: 1729
    functionLinenumberEnd: 1873
    functionName: cupsFileSeek
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsFileRewind
    - DEBUG_puts
    - cups_fill
    - lseek
    - inflateEnd
    linkageType: ''
    returnType: off_t
    signature: "off_t cupsFileSeek(cups_file_t *fp,\t\t/* I - CUPS file */\n             off_t
      \      pos)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1885,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1898,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1882
    functionDepth: 2
    functionLinenumber: 1882
    functionLinenumberEnd: 1909
    functionName: cupsFileStderr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - fflush
    - _cupsGlobals
    - cupsFileOpenFd
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file */\ncupsFileStderr(void)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1921,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1918
    functionDepth: 2
    functionLinenumber: 1918
    functionLinenumberEnd: 1939
    functionName: cupsFileStdin
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    - cupsFileOpenFd
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file */\ncupsFileStdin(void)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1951,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1964,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 1975
    functionName: cupsFileStdout
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - fflush
    - _cupsGlobals
    - cupsFileOpenFd
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file */\ncupsFileStdout(void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1987,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1988,1
    - Dst: CUPS_LLCAST
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1984
    functionDepth: 1
    functionLinenumber: 1984
    functionLinenumberEnd: 1992
    functionName: cupsFileTell
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - CUPS_LLCAST
    linkageType: ''
    returnType: off_t
    signature: off_t cupsFileTell(cups_file_t *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2008,1
    - Dst: _locking
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2018,1
    - Dst: lockf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2020,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 2001
    functionDepth: 1
    functionLinenumber: 2001
    functionLinenumberEnd: 2022
    functionName: cupsFileUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - lockf
    - _locking
    linkageType: ''
    returnType: int
    signature: int cupsFileUnlock(cups_file_t *fp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2040,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2055,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2060,1
    - Dst: cupsFileFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2066,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2071,1
    - Dst: cups_compress
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2077,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2080,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2084,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 3
    argNames:
    - fp
    - buf
    - bytes
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2031
    functionDepth: 2
    functionLinenumber: 2031
    functionLinenumberEnd: 2088
    functionName: cupsFileWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cups_write
    - cupsFileFlush
    - memcpy
    - cups_compress
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsFileWrite(cups_file_t *fp,\t\t/* I - CUPS file */\n              const
      char  *buf,\t\t/* I - Buffer */\n\t      size_t      bytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2101,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2108,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2123,1
    - Dst: cups_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2128,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - fp
    - buf
    - bytes
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2096
    functionDepth: 1
    functionLinenumber: 2096
    functionLinenumberEnd: 2139
    functionName: cups_compress
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - cups_write
    - deflate
    - crc32
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cups_compress(cups_file_t *fp,\t\t/* I - CUPS file */\n              const
      char  *buf,\t\t/* I - Buffer */\n\t      size_t      bytes)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2158,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2159,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2167,1
    - Dst: cups_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2189,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2195,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2212,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2318,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2331,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2333,1
    - Dst: cups_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2354,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2368,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2371,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2384,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2403,1
    - Dst: cups_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2439,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 111
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2147
    functionDepth: 1
    functionLinenumber: 2147
    functionLinenumberEnd: 2461
    functionName: cups_fill
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 6
    functionsReached:
    - DEBUG_printf
    - read
    - cups_read
    - memcpy
    - inflate
    - crc32
    - inflateInit2
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t cups_fill(cups_file_t *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2486,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2494,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2496,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2502,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2510,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2513,1
    - Dst: lstat
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2523,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2525,1
    - Dst: S_ISLNK
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2529,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2542,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 2
    argNames:
    - filename
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2549
    functionName: cups_open
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 1
    functionsReached:
    - lstat
    - S_ISLNK
    - close
    - open
    - fstat
    - S_ISDIR
    linkageType: ''
    returnType: int
    signature: "int cups_open(const char *filename,\t\t/* I - Filename */\n\t  int
      \       mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2564,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2575,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2577,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2580,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2582,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2585,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - fp
    - buf
    - bytes
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2556
    functionDepth: 1
    functionLinenumber: 2556
    functionLinenumberEnd: 2605
    functionName: cups_read
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - read
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cups_read(cups_file_t *fp,\t\t/* I - CUPS file */\n          char
      \       *buf,\t\t/* I - Buffer */\n\t  size_t      bytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2621,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2633,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2635,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2638,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2640,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/file.c:2643,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - buf
    - bytes
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2671
      start: 2612
    functionDepth: 1
    functionLinenumber: 2612
    functionLinenumberEnd: 2671
    functionName: cups_write
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/file.c
    functionUses: 7
    functionsReached:
    - DEBUG_printf
    - write
    - send
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cups_write(cups_file_t *fp,\t\t/* I - CUPS file */\n           const
      char  *buf,\t\t/* I - Buffer */\n\t   size_t      bytes)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:139,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:140,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:143,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:144,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:154,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:154,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:177,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:178,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:183,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:184,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:196,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:211,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:222,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:231,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:233,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:239,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:241,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:241,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:268,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 77
    argCount: 5
    argNames:
    - http
    - dest
    - dinfo
    - option
    - value
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 282
    functionName: cupsCheckDestSupported
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - sscanf
    - pwgMediaForPWG
    - strcmp
    - strstr
    - strncmp
    - snprintf
    - atoi
    - ippFindAttribute
    linkageType: ''
    returnType: int
    signature: "int cupsCheckDestSupported(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    const char   *option,\t\t/*
      I - Option */\n    const char   *value)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cups_create_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:372,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:374,1
    - Dst: cups_create_defaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:378,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:387,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:390,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:403,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:413,1
    - Dst: cups_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:417,1
    - Dst: cups_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:422,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:435,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:437,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:439,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:441,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:444,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:446,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:452,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:454,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:464,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:465,1
    - Dst: ippFirstAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:467,1
    - Dst: ippNextAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:469,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:471,1
    - Dst: ippAttributeString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:474,1
    - Dst: cups_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:477,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:487,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:495,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:501,1
    - Dst: cupsArrayClear
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:506,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:508,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:514,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:527,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:529,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:531,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:532,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:535,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:547,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:548,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:549,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:557,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:575,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 110
    argCount: 11
    argNames:
    - http
    - dest
    - dinfo
    - num_options
    - options
    - new_option
    - new_value
    - num_conflicts
    - conflicts
    - num_resolved
    - resolved
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int
    - cups_option_t*
    - char*
    - char*
    - int*
    - cups_option_t**
    - int*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 579
    functionName: cupsCopyDestConflicts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - cups_test_constraints
    - cupsArrayClear
    - cupsGetOption
    - cups_create_constraints
    - ippNextAttribute
    - DEBUG_printf
    - cupsArrayNew
    - ippFirstAttribute
    - DEBUG_puts
    - ippAttributeString
    - cupsFreeOptions
    - cupsArrayFind
    - strcmp
    - cupsArrayCount
    - cupsAddOption
    - cupsArrayNext
    - cupsArrayDelete
    - cupsArrayAdd
    - cups_create_defaults
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int cupsCopyDestConflicts(\n    http_t        *http,\t\t/* I - Connection
      to destination */\n    cups_dest_t   *dest,\t\t/* I - Destination */\n    cups_dinfo_t
      \ *dinfo,\t\t/* I - Destination information */\n    int           num_options,\t\t/*
      I - Number of current options */\n    cups_option_t *options,\t\t/* I - Current
      options */\n    const char    *new_option,\t\t/* I - New option */\n    const
      char    *new_value,\t\t/* I - New value */\n    int           *num_conflicts,\t/*
      O - Number of conflicting options */\n    cups_option_t **conflicts,\t\t/* O
      - Conflicting options */\n    int           *num_resolved,\t/* O - Number of
      options to resolve */\n    cups_option_t **resolved)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:615,1
    - Dst: _cupsGetDestResource
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:629,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:647,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:648,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:650,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:651,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:652,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:656,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:657,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:661,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:662,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:663,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:665,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:672,1
    - Dst: _cupsNextDelay
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:674,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:691,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:693,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:693,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:694,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:700,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - http
    - dest
    argTypes:
    - http_t*
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 704
    functionName: cupsCopyDestInfo
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsNextDelay
    - strerror
    - ippErrorString
    - ippNewRequest
    - cupsLastErrorString
    - calloc
    - _cupsSetError
    - _cupsGetDestResource
    - ippDelete
    - sleep
    - ippAddString
    - cupsLastError
    - _cupsStrAlloc
    - cupsUser
    - ippAddStrings
    - cupsDoRequest
    linkageType: ''
    returnType: cups_dinfo_t
    signature: "cups_dinfo_t *\t\t\t\t/* O - Destination information */\ncupsCopyDestInfo(\n
      \   http_t      *http,\t\t\t/* I - Connection to destination */\n    cups_dest_t
      *dest)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:735,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:735,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:743,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:744,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - http
    - dest
    - dinfo
    - option
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 745
    functionName: cupsFindDestDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - strerror
    - _cupsSetError
    - snprintf
    - ippFindAttribute
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Default attribute or @code NULL@ for
      none */\ncupsFindDestDefault(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    const char   *option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:775,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:775,1
    - Dst: cups_update_ready
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:783,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:785,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - http
    - dest
    - dinfo
    - option
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 787
    functionName: cupsFindDestReady
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - cups_update_ready
    - _cupsSetError
    - snprintf
    - strerror
    - ippFindAttribute
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Default attribute or @code NULL@ for
      none */\ncupsFindDestReady(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    const char   *option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:817,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:817,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:825,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:826,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - http
    - dest
    - dinfo
    - option
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 827
    functionName: cupsFindDestSupported
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - strerror
    - _cupsSetError
    - snprintf
    - ippFindAttribute
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Default attribute or @code NULL@ for
      none */\ncupsFindDestSupported(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    const char   *option)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:849,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:851,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:852,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:854,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:856,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:858,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:860,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:861,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:863,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 866
    functionName: cupsFreeDestInfo
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - free
    - cupsArrayDelete
    - _cupsStrFree
    - ippDelete
    linkageType: ''
    returnType: void
    signature: void cupsFreeDestInfo(cups_dinfo_t *dinfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:898,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:902,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:902,1
    - Dst: cups_update_ready
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:911,1
    - Dst: cups_create_cached
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:914,1
    - Dst: cupsArrayIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:920,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:922,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:922,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:927,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:929,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:930,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:931,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:934,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:934,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - http
    - dest
    - dinfo
    - n
    - flags
    - size
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int
    - unsigned
    - cups_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 946
    functionName: cupsGetDestMediaByIndex
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - cups_update_ready
    - _cupsSetError
    - cups_create_cached
    - pwgMediaForSize
    - strlcpy
    - memset
    - cupsArrayIndex
    - strerror
    linkageType: ''
    returnType: int
    signature: "int cupsGetDestMediaByIndex(\n    http_t       *http,\t\t\t/* I -
      Connection to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination
      */\n    cups_dinfo_t *dinfo,\t\t/* I - Destination information */\n    int          n,\t\t\t/*
      I - Media size number (0-based) */\n    unsigned     flags,\t\t\t/* I - Media
      flags */\n    cups_size_t  *size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:986,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:990,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:990,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:998,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:999,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1001,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1002,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1002,1
    - Dst: cups_get_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1010,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - http
    - dest
    - dinfo
    - media
    - flags
    - size
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    - unsigned
    - cups_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 1011
    functionName: cupsGetDestMediaByName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - pwgMediaForPWG
    - _cupsSetError
    - _
    - cups_get_media_db
    - memset
    - pwgMediaForLegacy
    - strerror
    linkageType: ''
    returnType: int
    signature: "int cupsGetDestMediaByName(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    const char   *media,\t\t/*
      I - Media name */\n    unsigned     flags,\t\t\t/* I - Media matching flags
      */\n    cups_size_t  *size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1054,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1058,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1058,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1066,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1068,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1070,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1070,1
    - Dst: cups_get_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 7
    argNames:
    - http
    - dest
    - dinfo
    - width
    - length
    - flags
    - size
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int
    - int
    - unsigned
    - cups_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1079
    functionName: cupsGetDestMediaBySize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsSetError
    - _
    - pwgMediaForSize
    - cups_get_media_db
    - memset
    - strerror
    linkageType: ''
    returnType: int
    signature: "int cupsGetDestMediaBySize(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    int         width,\t\t\t/*
      I - Media width in hundredths of\n\t\t\t\t\t *     of millimeters */\n    int
      \        length,\t\t\t/* I - Media length in hundredths of\n\t\t\t\t\t *     of
      millimeters */\n    unsigned     flags,\t\t\t/* I - Media matching flags */\n
      \   cups_size_t  *size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1106,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1106,1
    - Dst: cups_update_ready
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1115,1
    - Dst: cups_create_cached
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1118,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1120,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 4
    argNames:
    - http
    - dest
    - dinfo
    - flags
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1121
    functionName: cupsGetDestMediaCount
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - cups_update_ready
    - _cupsSetError
    - cups_create_cached
    - strerror
    linkageType: ''
    returnType: int
    signature: "int cupsGetDestMediaCount(\n    http_t       *http,\t\t\t/* I - Connection
      to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t
      *dinfo,\t\t/* I - Destination information */\n    unsigned     flags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1150,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1154,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1154,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1162,1
    - Dst: cupsGetDestMediaByName
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1166,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1169,1
    - Dst: cupsGetDestMediaByName
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1170,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1174,1
    - Dst: cupsGetDestMediaByName
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1175,1
    - Dst: cupsGetDestMediaByName
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1180,1
    - Dst: cupsGetDestMediaByIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 5
    argNames:
    - http
    - dest
    - dinfo
    - flags
    - size
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - unsigned
    - cups_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1188
    functionName: cupsGetDestMediaDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - cupsGetDestMediaByName
    - strcmp
    - cupsGetDestMediaByIndex
    - _cupsSetError
    - cupsGetOption
    - memset
    - strerror
    linkageType: ''
    returnType: int
    signature: "int cupsGetDestMediaDefault(\n    http_t       *http,\t\t\t/* I -
      Connection to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination
      */\n    cups_dinfo_t *dinfo,\t\t/* I - Destination information */\n    unsigned
      \    flags,\t\t\t/* I - Media flags */\n    cups_size_t  *size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1204,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1208,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - collection
    argTypes:
    - cups_array_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1195
    functionDepth: 1
    functionLinenumber: 1195
    functionLinenumberEnd: 1215
    functionName: cups_add_dconstres
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - calloc
    - cupsArrayAdd
    - ippFindAttribute
    linkageType: ''
    returnType: void
    signature: "void cups_add_dconstres(\n    cups_array_t *a,\t\t\t/* I - Array */\n
      \   ipp_t        *collection)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _cups_dconstres_t*
    - _cups_dconstres_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 0
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: cups_compare_dconstres
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int cups_compare_dconstres(\n    _cups_dconstres_t *a,\t\t/* I - First
      resolver */\n    _cups_dconstres_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _cups_media_db_t*
    - _cups_media_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1247
    functionName: cups_compare_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cups_compare_media_db(\n    _cups_media_db_t *a,\t\t/* I - First
      media entries */\n    _cups_media_db_t *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1261,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1265,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1267,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1269,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1271,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1273,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1275,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - mdb
    argTypes:
    - _cups_media_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1285
    functionName: cups_copy_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - calloc
    - _cupsStrAlloc
    linkageType: ''
    returnType: _cups_media_db_t
    signature: "_cups_media_db_t *\t\t/* O - New media entry */\ncups_copy_media_db(\n
      \   _cups_media_db_t *mdb)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1302,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1305,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1307,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1312,1
    - Dst: cups_update_ready
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1314,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1319,1
    - Dst: cups_create_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1322,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1327,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1329,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1331,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1337,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1338,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1345,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1346,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1355,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1356,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1362,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1363,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 41
    argCount: 3
    argNames:
    - http
    - dinfo
    - flags
    argTypes:
    - http_t*
    - cups_dinfo_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1365
    functionName: cups_create_cached
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - cupsArrayDelete
    - cupsArrayNext
    - cupsArrayNew
    - cups_update_ready
    - cupsArrayAdd
    - DEBUG_puts
    - cups_create_media_db
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void cups_create_cached(http_t       *http,\t/* I - Connection to
      destination */\n                   cups_dinfo_t *dinfo,\t/* I - Destination
      information */\n                   unsigned     flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1381,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1383,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1387,1
    - Dst: cups_add_dconstres
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1391,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1394,1
    - Dst: cups_add_dconstres
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1372
    functionDepth: 2
    functionLinenumber: 1372
    functionLinenumberEnd: 1400
    functionName: cups_create_constraints
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 1
    functionsReached:
    - cups_add_dconstres
    - cupsArrayNew3
    - ippFindAttribute
    linkageType: ''
    returnType: void
    signature: "void cups_create_constraints(\n    cups_dinfo_t *dinfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ippFirstAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1425,1
    - Dst: ippNextAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1427,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1435,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1436,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1439,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1440,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1441,1
    - Dst: ippAttributeString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1446,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1449,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 16
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1452
    functionName: cups_create_defaults
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 1
    functionsReached:
    - cupsAddOption
    - strcmp
    - strlen
    - strlcpy
    - ippFirstAttribute
    - ippNextAttribute
    - ippAttributeString
    linkageType: ''
    returnType: void
    signature: "void cups_create_defaults(\n    cups_dinfo_t *dinfo)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1475,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1484,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1486,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1497,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1499,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1511,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1513,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1519,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1521,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1531,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1533,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1544,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1546,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1573,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1580,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1584,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1591,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1598,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1605,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1612,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1616,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1620,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1624,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1628,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1633,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1641,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1649,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1657,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1671,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1682,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1683,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1685,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1694,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1700,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1709,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 102
    argCount: 2
    argNames:
    - dinfo
    - flags
    argTypes:
    - cups_dinfo_t*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1713
    functionName: cups_create_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - pwgMediaForPWG
    - cupsArrayAdd
    - strncmp
    - memset
    - pwgMediaForLegacy
    - cupsArrayNew3
    - ippFindAttribute
    linkageType: ''
    returnType: void
    signature: "void cups_create_media_db(\n    cups_dinfo_t *dinfo,\t\t/* I - Destination
      information */\n    unsigned     flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1725,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1727,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1729,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1731,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1733,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1735,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - mdb
    argTypes:
    - _cups_media_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1738
    functionName: cups_free_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 0
    functionsReached:
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void cups_free_media_db(\n    _cups_media_db_t *mdb)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cups_update_ready
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1764,1
    - Dst: cups_create_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1770,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1779,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1783,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1800,1
    - Dst: cups_compare_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1801,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1802,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1830,1
    - Dst: cups_compare_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1831,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1832,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1846,1
    - Dst: cups_compare_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1847,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1848,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1907,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1909,1
    - Dst: cups_is_close_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1910,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1927,1
    - Dst: cups_is_close_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1928,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1929,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1949,1
    - Dst: cups_is_close_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1950,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1951,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1965,1
    - Dst: cups_is_close_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1966,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1967,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1988,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1990,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:1992,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 103
    argCount: 5
    argNames:
    - http
    - dinfo
    - pwg
    - flags
    - size
    argTypes:
    - http_t*
    - cups_dinfo_t*
    - pwg_media_t*
    - unsigned
    - cups_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1745
    functionDepth: 2
    functionLinenumber: 1745
    functionLinenumberEnd: 2005
    functionName: cups_get_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 2
    functionsReached:
    - cups_compare_media_db
    - cupsArrayNext
    - cupsArrayFind
    - cups_update_ready
    - cups_is_close_media_db
    - strlcpy
    - memset
    - cups_create_media_db
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int cups_get_media_db(http_t       *http,\t/* I - Connection to destination
      */\n                  cups_dinfo_t *dinfo,\t/* I - Destination information */\n
      \                 pwg_media_t  *pwg,\t/* I - PWG media info */\n                  unsigned
      \    flags,\t/* I - Media matching flags */\n                  cups_size_t  *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _cups_media_db_t*
    - _cups_media_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2015
    functionDepth: 0
    functionLinenumber: 2015
    functionLinenumberEnd: 2029
    functionName: cups_is_close_media_db
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cups_is_close_media_db(\n    _cups_media_db_t *a,\t\t/* I - First
      media entries */\n    _cups_media_db_t *b)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2064,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2066,1
    - Dst: ippFirstAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2071,1
    - Dst: ippNextAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2073,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2082,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2084,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2086,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2103,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2118,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2133,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2149,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2151,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2157,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2159,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2159,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2192,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2207,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2213,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2215,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2222,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2227,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 98
    argCount: 7
    argNames:
    - dinfo
    - new_option
    - new_value
    - num_options
    - options
    - num_conflicts
    - conflicts
    argTypes:
    - cups_dinfo_t*
    - char*
    - char*
    - int
    - cups_option_t*
    - int*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2231
    functionName: cups_test_constraints
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 1
    functionsReached:
    - atoi
    - sscanf
    - cupsFreeOptions
    - cupsArrayNext
    - cupsAddOption
    - cupsArrayNew
    - strcmp
    - cupsArrayAdd
    - cupsGetOption
    - ippFirstAttribute
    - ippNextAttribute
    - cupsArrayFirst
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t/* O - Active constraints */\ncups_test_constraints(\n
      \   cups_dinfo_t  *dinfo,\t\t/* I - Destination information */\n    const char
      \   *new_option,\t\t/* I - Newly selected option */\n    const char    *new_value,\t\t/*
      I - Newly selected value */\n    int           num_options,\t\t/* I - Number
      of options */\n    cups_option_t *options,\t\t/* I - Options */\n    int           *num_conflicts,\t/*
      O - Number of conflicting options */\n    cups_option_t **conflicts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2258,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2267,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2272,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2275,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2282,1
    - Dst: ippSetVersion
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2283,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2285,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2287,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2288,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2289,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2293,1
    - Dst: cups_create_media_db
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2299,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c:2305,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - http
    - dinfo
    argTypes:
    - http_t*
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2238
    functionDepth: 2
    functionLinenumber: 2238
    functionLinenumberEnd: 2306
    functionName: cups_update_ready
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-options.c
    functionUses: 5
    functionsReached:
    - cupsDoRequest
    - cupsArrayDelete
    - ippNewRequest
    - ippDelete
    - ippAddString
    - cupsUser
    - cups_create_media_db
    - time
    - ippSetVersion
    - ippAddStrings
    linkageType: ''
    returnType: void
    signature: "void cups_update_ready(http_t       *http,\t/* I - Connection to destination
      */\n                  cups_dinfo_t *dinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:182,1
    - Dst: http_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:184,1
    - Dst: accept
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:195,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:198,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:199,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:204,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:213,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:224,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - fd
    - blocking
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 235
    functionName: httpAcceptConnection
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpAddrString
    - _cupsSetHTTPError
    - http_create
    - httpClose
    - setsockopt
    - fcntl
    - accept
    - memset
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - HTTP connection or @code NULL@ */\nhttpAcceptConnection(int
      fd,\t\t/* I - Listen socket file descriptor */\n                     int blocking)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:255,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:259,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:261,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:262,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - credentials
    - data
    - datalen
    argTypes:
    - cups_array_t*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 246
    functionDepth: 5
    functionLinenumber: 246
    functionLinenumberEnd: 270
    functionName: httpAddCredential
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - cupsArrayAdd
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int httpAddCredential(\n    cups_array_t *credentials,\t\t/* I - Credentials
      array */\n    const void   *data,\t\t\t/* I - PEM-encoded X.509 data */\n    size_t
      \      datalen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: _httpBIOMethods
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BIO_METHOD
    signature: "BIO_METHOD *\t\t\t\t/* O - BIO methods for OpenSSL */\n_httpBIOMethods(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_set_wait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - http
    - b
    argTypes:
    - http_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: httpBlocking
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_set_wait
    linkageType: ''
    returnType: void
    signature: "void httpBlocking(http_t *http,\t\t/* I - Connection to server */\n
      \            int    b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: httpCheck
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpWait
    linkageType: ''
    returnType: int
    signature: int httpCheck(http_t *http)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: httpClearCookie
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void httpClearCookie(http_t *http)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:340,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:344,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:349,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:351,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:356,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:362,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:368,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 380
    functionName: httpClearFields
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpSetField
    - DEBUG_printf
    - free
    - memset
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: void httpClearFields(http_t *http)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:395,1
    - Dst: _httpDisconnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:408,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:414,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:417,1
    - Dst: gss_delete_sec_context
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:421,1
    - Dst: gss_release_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:424,1
    - Dst: AuthorizationFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:429,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:432,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:435,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:437,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 438
    functionName: httpClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - gss_release_name
    - httpAddrFreeList
    - AuthorizationFree
    - free
    - httpClearFields
    - _httpDisconnect
    - gss_delete_sec_context
    linkageType: ''
    returnType: void
    signature: void httpClose(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: httpConnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpConnect2
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - New HTTP connection */\nhttpConnect(const char
      *host,\t\t/* I - Host to connect to */\n            int        port)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:478,1
    - Dst: http_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:486,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:494,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 8
    argNames:
    - host
    - port
    - addrlist
    - family
    - encryption
    - blocking
    - msec
    - cancel
    argTypes:
    - char*
    - int
    - http_addrlist_t*
    - int
    - http_encryption_t
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 464
    functionDepth: 3
    functionLinenumber: 464
    functionLinenumberEnd: 504
    functionName: httpConnect2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - httpClose
    - http_create
    - httpReconnect2
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - New HTTP connection */\nhttpConnect2(\n    const
      char        *host,\t\t/* I - Host to connect to */\n    int               port,\t\t/*
      I - Port number */\n    http_addrlist_t   *addrlist,\t/* I - List of addresses
      or NULL to lookup */\n    int               family,\t\t/* I - Address family
      to use or @code AF_UNSPEC@ for any */\n    http_encryption_t encryption,\t/*
      I - Type of encryption to use */\n    int               blocking,\t\t/* I -
      1 for blocking connection, 0 for non-blocking */\n    int               msec,\t\t/*
      I - Connection timeout in milliseconds, 0 means don't connect */\n    int               *cancel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:522,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - host
    - port
    - encryption
    argTypes:
    - char*
    - int
    - http_encryption_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 4
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: httpConnectEncrypt
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpConnect2
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - New HTTP connection */\nhttpConnectEncrypt(\n
      \   const char        *host,\t\t/* I - Host to connect to */\n    int               port,\t\t/*
      I - Port number */\n    http_encryption_t encryption)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SSLCopyPeerTrust
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:568,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:570,1
    - Dst: SecTrustGetCertificateCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:572,1
    - Dst: SecTrustGetCertificateAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:576,1
    - Dst: SecCertificateCopyData
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:577,1
    - Dst: httpAddCredential
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:579,1
    - Dst: CFDataGetBytePtr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:579,1
    - Dst: CFDataGetLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:580,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:581,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:586,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - http
    - credentials
    argTypes:
    - http_t*
    - cups_array_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 537
    functionDepth: 6
    functionLinenumber: 537
    functionLinenumberEnd: 597
    functionName: httpCopyCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - SSLCopyPeerTrust
    - CFDataGetLength
    - cupsArrayNew
    - SecTrustGetCertificateCount
    - CFDataGetBytePtr
    - SecTrustGetCertificateAtIndex
    - SecCertificateCopyData
    - CFRelease
    - httpAddCredential
    linkageType: ''
    returnType: int
    signature: "int httpCopyCredentials(\n    http_t\t *http,\t\t\t/* I - Connection
      to server */\n    cups_array_t **credentials)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CFArrayCreateMutable
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:624,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:625,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:629,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:631,1
    - Dst: CFDataCreate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:633,1
    - Dst: SecCertificateCreateWithData
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:636,1
    - Dst: CFArrayAppendValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:639,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:640,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 655
    functionName: _httpCreateCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - cupsArrayNext
    - CFDataCreate
    - CFArrayCreateMutable
    - CFRelease
    - SecCertificateCreateWithData
    - CFArrayAppendValue
    - cupsArrayFirst
    linkageType: ''
    returnType: http_tls_credentials_t
    signature: "http_tls_credentials_t _httpCreateCredentials(\n    cups_array_t *credentials)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: httpDelete
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpDelete(http_t     *http,\t\t/* I - Connection to server */\n
      \          const char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_shutdown_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:679,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:683,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 689
    functionName: _httpDisconnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - http_shutdown_ssl
    - closesocket
    - close
    linkageType: ''
    returnType: void
    signature: void _httpDisconnect(http_t *http)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:700,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:710,1
    - Dst: http_upgrade
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:712,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - http
    - e
    argTypes:
    - http_t*
    - http_encryption_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 721
    functionName: httpEncryption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - http_upgrade
    - httpReconnect2
    linkageType: ''
    returnType: int
    signature: "int httpEncryption(http_t            *http,\t/* I - Connection to
      server */\n               http_encryption_t e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 735
    functionName: httpError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int httpError(http_t *http)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:750,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:751,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:772,1
    - Dst: http_content_coding_finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:790,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:793,1
    - Dst: http_shutdown_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:799,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:803,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 810
    functionName: httpFlush
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_content_coding_finish
    - DEBUG_printf
    - close
    - http_state_string
    - httpRead2
    - DEBUG_puts
    - http_shutdown_ssl
    - closesocket
    linkageType: ''
    returnType: void
    signature: void httpFlush(http_t *http)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:825,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:830,1
    - Dst: http_write_chunk
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:836,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:838,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 845
    functionName: httpFlushWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - http_write_chunk
    - http_write
    linkageType: ''
    returnType: int
    signature: int httpFlushWrite(http_t *http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - http_tls_credentials_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 872
    functionName: _httpFreeCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - CFRelease
    linkageType: ''
    returnType: void
    signature: "void _httpFreeCredentials(\n    http_tls_credentials_t credentials)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:886,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:888,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:890,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:891,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:892,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 896
    functionName: httpFreeCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - cupsArrayNext
    - cupsArrayDelete
    - free
    - cupsArrayRemove
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void httpFreeCredentials(\n    cups_array_t *credentials)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 908
    functionName: httpGet
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpGet(http_t     *http,\t\t/* I - Connection to server */\n
      \       const char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 929
    functionName: httpGetAuthString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Authorization string */\nhttpGetAuthString(http_t
      *http)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 942
    functionName: httpGetBlocking
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int httpGetBlocking(http_t *http)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:970,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:979,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:989,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:998,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:999,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1006,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1012,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1023,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 1030
    functionName: httpGetContentEncoding
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isspace
    - strlcpy
    - strncmp
    - _cupsStrScand
    - localeconv
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Content-Coding value or\n\t\t\t\t\t       @code
      NULL@ for the identity\n\t\t\t\t\t       coding. */\nhttpGetContentEncoding(http_t
      *http)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1039
    functionDepth: 0
    functionLinenumber: 1039
    functionLinenumberEnd: 1043
    functionName: httpGetCookie
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Cookie data or NULL */\nhttpGetCookie(http_t
      *http)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1062
    functionName: httpGetExpect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: http_status_t
    signature: http_status_t httpGetExpect(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1075
    functionName: httpGetFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int httpGetFd(http_t *http)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - http
    - field
    argTypes:
    - http_t*
    - http_field_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1114
    functionName: httpGetField
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Field value */\nhttpGetField(http_t       *http,\t/*
      I - Connection to server */\n             http_field_t field)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: httpGetLength2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1127
    functionDepth: 1
    functionLinenumber: 1127
    functionLinenumberEnd: 1142
    functionName: httpGetLength
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpGetLength2
    linkageType: ''
    returnType: int
    signature: int httpGetLength(http_t *http)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1161,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1162,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1167,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1169,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1201,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1205,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1210
    functionName: httpGetLength2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strtoll
    - DEBUG_puts
    - http_state_string
    - _cups_strcasecmp
    linkageType: ''
    returnType: off_t
    signature: off_t httpGetLength2(http_t *http)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1230,1
    - Dst: WSASetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1251,1
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1262,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1267,1
    - Dst: http_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1276,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1279,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1288,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1288,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1290,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1292,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1297,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1299,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1301,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1306,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1363,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1371,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1375,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1381,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 79
    argCount: 3
    argNames:
    - line
    - length
    - http
    argTypes:
    - char*
    - int
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1217
    functionDepth: 1
    functionLinenumber: 1217
    functionLinenumberEnd: 1384
    functionName: httpGets
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - http_read
    - _httpWait
    - memmove
    - WSASetLastError
    - WSAGetLastError
    - DEBUG_puts
    - time
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Line or NULL */\nhttpGets(char   *line,\t\t\t/*
      I - Line to read into */\n         int    length,\t\t\t/* I - Max length of
      buffer */\n\t http_t *http)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    functionName: httpGetState
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: http_state_t
    signature: http_state_t httpGetState(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1404
    functionDepth: 0
    functionLinenumber: 1404
    functionLinenumberEnd: 1408
    functionName: httpGetStatus
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: http_status_t
    signature: http_status_t httpGetStatus(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpGetSubField2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - http
    - field
    - name
    - value
    argTypes:
    - http_t*
    - http_field_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1424
    functionName: httpGetSubField
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpGetSubField2
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Value or NULL */\nhttpGetSubField(http_t       *http,\t/*
      I - Connection to server */\n                http_field_t field,\t/* I - Field
      index */\n                const char   *name,\t/* I - Name of sub-field */\n\t\tchar
      \        *value)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1445,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1460,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1474,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1480,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1486,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1501,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1529,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1534,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1538,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1544,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1546,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1553,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 49
    argCount: 5
    argNames:
    - http
    - field
    - name
    - value
    - valuelen
    argTypes:
    - http_t*
    - http_field_t
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1556
    functionName: httpGetSubField2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - _cups_isspace
    - DEBUG_printf
    - DEBUG_puts
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Value or NULL */\nhttpGetSubField2(http_t       *http,\t/*
      I - Connection to server */\n                 http_field_t field,\t/* I - Field
      index */\n                 const char   *name,\t/* I - Name of sub-field */\n\t\t
      char         *value,\t/* O - Value string */\n\t\t int          valuelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1567
    functionName: httpGetVersion
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: http_version_t
    signature: http_version_t httpGetVersion(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1578,1
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1580
    functionName: httpHead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpHead(http_t     *http,\t\t/* I - Connection to server */\n
      \        const char *uri)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobalLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1601,1
    - Dst: _cupsGlobalUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1604,1
    - Dst: WSAStartup
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1609,1
    - Dst: MAKEWORD
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1609,1
    - Dst: sigset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1617,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1623,1
    - Dst: sigaction
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1625,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1628,1
    - Dst: gnutls_global_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1637,1
    - Dst: SSL_load_error_strings
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1644,1
    - Dst: SSL_library_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1645,1
    - Dst: CUPS_SRAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1652,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1652,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1655,1
    - Dst: RAND_seed
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1657,1
    - Dst: _cupsGlobalUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1662
    functionName: httpInitialize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - SSL_load_error_strings
    - signal
    - MAKEWORD
    - CUPS_SRAND
    - CUPS_RAND
    - sigaction
    - RAND_seed
    - memset
    - WSAStartup
    - _cupsGlobalUnlock
    - time
    - _cupsGlobalLock
    - gnutls_global_init
    - sigset
    - SSL_library_init
    linkageType: ''
    returnType: void
    signature: void httpInitialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1674
    functionName: httpOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpOptions(http_t     *http,\t\t/* I - Connection to server */\n
      \           const char *uri)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1698,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1704,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1713,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1715,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1717,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1723,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1724,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1726,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1731,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1735,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1740,1
    - Dst: http_content_coding_finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1752,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1756,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1763,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1764,1
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1793,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1807,1
    - Dst: http_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1808,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1810,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1815,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1836,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1846,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1849,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1855,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1858,1
    - Dst: inflateCopy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1861,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1863,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1871,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1872,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1876,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1878,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1889,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1903,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1906,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1914,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1914,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1917,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 120
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1689
    functionDepth: 2
    functionLinenumber: 1689
    functionLinenumberEnd: 1932
    functionName: httpPeek
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_content_coding_finish
    - DEBUG_printf
    - inflateCopy
    - httpGets
    - strtoll
    - http_read
    - memmove
    - httpWait
    - WSAGetLastError
    - memcpy
    - http_state_string
    - inflate
    - http_debug_hex
    - DEBUG_puts
    - time
    - inflateEnd
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t httpPeek(http_t *http,\t\t\t/* I - Connection to server */\n
      \        char   *buffer,\t\t/* I - Buffer for data */\n\t size_t length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpPeek
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1935
    functionDepth: 3
    functionLinenumber: 1935
    functionLinenumberEnd: 1936
    functionName: _httpPeek
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpPeek
    linkageType: ''
    returnType: ssize_t
    signature: ssize_t _httpPeek(http_t *http, char *buffer, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1948
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1948
    functionName: httpPost
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpPost(http_t     *http,\t\t/* I - Connection to server */\n
      \        const char *uri)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1967,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1969,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1970,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1971,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1973,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1976,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1981,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1983,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:1987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - http
    - format
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1957
    functionDepth: 2
    functionLinenumber: 1957
    functionLinenumberEnd: 1989
    functionName: httpPrintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - va_start
    - va_end
    - DEBUG_puts
    - vsnprintf
    - http_write
    - httpFlushWrite
    - httpWrite2
    linkageType: ''
    returnType: int
    signature: "int httpPrintf(http_t     *http,\t\t/* I - Connection to server */\n
      \          const char *format,\t\t/* I - printf-style format string */\n\t   ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2000,1
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2002
    functionName: httpPut
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpPut(http_t     *http,\t\t/* I - Connection to server */\n
      \       const char *uri)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2020
    functionName: httpRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpRead2
    linkageType: ''
    returnType: int
    signature: "int httpRead(http_t *http,\t\t\t/* I - Connection to server */\n         char
      \  *buffer,\t\t/* I - Buffer for data */\n\t int    length)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2038,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2044,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2053,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2068,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2074,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2076,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2078,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2088,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2104,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2108,1
    - Dst: http_read_buffered
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2116,1
    - Dst: http_read_chunk
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2121,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2132,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2147,1
    - Dst: http_read_chunk
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2162,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2174,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2188,1
    - Dst: http_read_buffered
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2194,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2207,1
    - Dst: HAVE_LIBZ
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2213,1
    - Dst: http_content_coding_finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2223,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2234,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2235,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 87
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2239
      start: 2029
    functionDepth: 2
    functionLinenumber: 2029
    functionLinenumberEnd: 2239
    functionName: httpRead2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - http_read_chunk
    - DEBUG_printf
    - http_content_coding_finish
    - http_read_buffered
    - httpGets
    - memmove
    - inflate
    - http_state_string
    - http_debug_hex
    - HAVE_LIBZ
    - time
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t httpRead2(http_t *http,\t\t\t/* I - Connection to server */\n
      \         char   *buffer,\t\t/* I - Buffer for data */\n\t  size_t length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2266,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2278,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - connection
    - data
    - dataLength
    argTypes:
    - SSLConnectionRef
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2304
    functionName: _httpReadCDSA
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - _httpWait
    - recv
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus _httpReadCDSA(\n    SSLConnectionRef connection,\t/* I  -
      SSL/TLS connection */\n    void             *data,\t\t/* I  - Data buffer */\n
      \   size_t           *dataLength)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2323,1
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2333,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2343,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ptr
    - data
    - length
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2346
    functionName: _httpReadGNUTLS
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _httpWait
    - recv
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _httpReadGNUTLS(\n    gnutls_transport_ptr_t ptr,\t\t/* I
      - Connection to server */\n    void                   *data,\t/* I - Buffer
      */\n    size_t                 length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2371,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2379,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2384,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2385,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2393,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2395,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2406,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2408,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2414,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2418,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2427,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2432,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2438,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2443,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2448,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2454,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2461,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2463,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2465,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2467,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2469,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2471,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2473,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2475,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2479,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2483,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2484,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2486,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2491,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2498,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2502,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2503,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 3
    argNames:
    - http
    - uri
    - urilen
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2356
    functionDepth: 2
    functionLinenumber: 2356
    functionLinenumberEnd: 2506
    functionName: httpReadRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpGets
    - strcmp
    - isspace
    - strlcpy
    - httpClearFields
    - http_state_string
    - DEBUG_puts
    - time
    linkageType: ''
    returnType: http_state_t
    signature: "http_state_t httpReadRequest(http_t *http,\t\t/* I - HTTP connection
      */\n                char   *uri,\t\t/* I - URI buffer */\n\t\tsize_t urilen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2521,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2524
    functionName: httpReconnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpReconnect2
    linkageType: ''
    returnType: int
    signature: int httpReconnect(http_t *http)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2544,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2549,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2549,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2556,1
    - Dst: http_shutdown_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2557,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2567,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2570,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2572,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2585,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2599,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2600,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2601,1
    - Dst: httpAddrConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2604,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2612,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2618,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2619,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2624,1
    - Dst: http_set_timeout
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2627,1
    - Dst: http_setup_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2639,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2642,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2644,1
    - Dst: http_upgrade
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2651,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2654,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2655,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2656,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - http
    - msec
    - cancel
    argTypes:
    - http_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2532
    functionDepth: 1
    functionLinenumber: 2532
    functionLinenumberEnd: 2659
    functionName: httpReconnect2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - httpAddrString
    - httpAddrPort
    - httpAddrConnect2
    - http_setup_ssl
    - _cupsSetError
    - close
    - http_set_timeout
    - http_upgrade
    - DEBUG_puts
    - memset
    - WSAGetLastError
    - strerror
    - http_shutdown_ssl
    - closesocket
    linkageType: ''
    returnType: int
    signature: "int httpReconnect2(http_t *http,\t\t/* I - Connection to server */\n\t
      \      int    msec,\t\t/* I - Timeout in milliseconds */\n\t       int    *cancel)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2686,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2696,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2696,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2701,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2708,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - http
    - scheme
    - data
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2720
      start: 2673
    functionDepth: 5
    functionLinenumber: 2673
    functionLinenumberEnd: 2720
    functionName: httpSetAuthString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - strlcpy
    - free
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void httpSetAuthString(http_t     *http,\t/* I - Connection to server
      */\n                  const char *scheme,\t/* I - Auth scheme (NULL to clear
      it) */\n\t\t  const char *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2734,1
    - Dst: _httpFreeCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2737,1
    - Dst: _httpCreateCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - http
    - credentials
    argTypes:
    - http_t*
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2730
    functionDepth: 2
    functionLinenumber: 2730
    functionLinenumberEnd: 2742
    functionName: httpSetCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - _httpFreeCredentials
    - _httpCreateCredentials
    linkageType: ''
    returnType: int
    signature: "int httpSetCredentials(http_t\t*http,\t\t/* I - Connection to server
      */\n\t\t   cups_array_t *credentials)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2759,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - http
    - cookie
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2751
    functionDepth: 1
    functionLinenumber: 2751
    functionLinenumberEnd: 2765
    functionName: httpSetCookie
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - strdup
    - free
    linkageType: ''
    returnType: void
    signature: "void httpSetCookie(http_t     *http,\t\t/* I - Connection */\n              const
      char *cookie)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2782,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2792,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2794,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2799,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2801,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2806,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2808,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2812,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - http
    - field
    - value
    argTypes:
    - http_t*
    - http_field_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2815
      start: 2777
    functionDepth: 1
    functionLinenumber: 2777
    functionLinenumberEnd: 2815
    functionName: httpSetDefaultField
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - _cupsStrAlloc
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void httpSetDefaultField(http_t       *http,\t/* I - Connection to
      server */\n                    http_field_t field,\t/* I - Field index */\n\t
      \           const char   *value)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - http
    - expect
    argTypes:
    - http_t*
    - http_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2827
    functionDepth: 1
    functionLinenumber: 2827
    functionLinenumberEnd: 2836
    functionName: httpSetExpect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    linkageType: ''
    returnType: void
    signature: "void httpSetExpect(http_t        *http,\t/* I - Connection to server
      */\n              http_status_t expect)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2848,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2861,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2863,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2868,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2870,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2875,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2877,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2881,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2893,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2895,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2904,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2906,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2915,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2928,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2939,1
    - Dst: http_content_coding_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2940,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 44
    argCount: 3
    argNames:
    - http
    - field
    - value
    argTypes:
    - http_t*
    - http_field_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2943
    functionName: httpSetField
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strdup
    - strlen
    - http_content_coding_start
    - strlcpy
    - free
    - strchr
    - DEBUG_puts
    - _cupsStrFree
    - snprintf
    - _cupsStrAlloc
    linkageType: ''
    returnType: void
    signature: "void httpSetField(http_t       *http,\t/* I - Connection to server
      */\n             http_field_t field,\t/* I - Field index */\n\t     const char
      \  *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2956,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2964,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:2971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - http
    - length
    argTypes:
    - http_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2974
      start: 2952
    functionDepth: 1
    functionLinenumber: 2952
    functionLinenumberEnd: 2974
    functionName: httpSetLength
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - snprintf
    - DEBUG_printf
    - strlcpy
    linkageType: ''
    returnType: void
    signature: "void httpSetLength(http_t *http,\t\t/* I - Connection to server */\n
      \             size_t length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: http_set_timeout
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3002,1
    - Dst: http_set_wait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - http
    - timeout
    - cb
    - user_data
    argTypes:
    - http_t*
    - double
    - http_timeout_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2986
    functionDepth: 1
    functionLinenumber: 2986
    functionLinenumberEnd: 3005
    functionName: httpSetTimeout
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_set_timeout
    - http_set_wait
    linkageType: ''
    returnType: void
    signature: "void httpSetTimeout(\n    http_t            *http,\t\t/* I - Connection
      to server */\n    double            timeout,\t\t/* I - Number of seconds for
      timeout,\n                                               must be greater than
      0 */\n    http_timeout_cb_t cb,\t\t/* I - Callback function or NULL */\n    void
      \             *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http
    - uri
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3017
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3017
    functionName: httpTrace
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_send
    linkageType: ''
    returnType: int
    signature: "int httpTrace(http_t     *http,\t\t/* I - Connection to server */\n
      \         const char *uri)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3037,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3038,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3044,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3050,1
    - Dst: http_setup_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3075,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3078,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3080,1
    - Dst: http_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3092,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3094,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3108,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3109,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3118,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3123,1
    - Dst: http_content_coding_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3124,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3125,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3131,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3139,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3145,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3150,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3157,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3160,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3166,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3172,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3174,1
    - Dst: httpSetCookie
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3180,1
    - Dst: http_field
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3182,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3183,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3191,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 79
    argCount: 2
    argNames:
    - http
    - status
    argTypes:
    - http_t*
    - http_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3027
    functionDepth: 2
    functionLinenumber: 3027
    functionLinenumberEnd: 3198
    functionName: _httpUpdate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpSetField
    - sscanf
    - http_field
    - httpClearFields
    - http_state_string
    - DEBUG_printf
    - httpGets
    - httpSetCookie
    - _cups_strcasecmp
    - DEBUG_puts
    - http_setup_ssl
    - http_content_coding_start
    - _cups_isspace
    - httpGetField
    - http_set_length
    - close
    - strchr
    - strncmp
    - atoi
    - closesocket
    linkageType: ''
    returnType: int
    signature: "int _httpUpdate(http_t        *http,\t/* I - Connection to server
      */\n            http_status_t *status)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3211,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3212,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3220,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3222,1
    - Dst: _httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3237,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3245,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3251,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3205
    functionDepth: 3
    functionLinenumber: 3205
    functionLinenumberEnd: 3262
    functionName: httpUpdate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strerror
    - http_state_string
    - _httpUpdate
    - DEBUG_puts
    - httpFlushWrite
    linkageType: ''
    returnType: http_status_t
    signature: http_status_t httpUpdate(http_t *http)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3283,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3287,1
    - Dst: SSL_pending
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3299,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3301,1
    - Dst: gnutls_record_check_pending
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3306,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3308,1
    - Dst: SSLGetBufferedReadSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3315,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3318,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3335,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3342,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3343,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3345,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3352,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3355,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3357,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3360,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3361,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3367,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 3
    argNames:
    - http
    - msec
    - usessl
    argTypes:
    - http_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3371
    functionName: _httpWait
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - FD_SET
    - SSL_pending
    - FD_ZERO
    - gnutls_record_check_pending
    - select
    - WSAGetLastError
    - SSLGetBufferedReadSize
    - poll
    - DEBUG_puts
    linkageType: ''
    returnType: int
    signature: "int _httpWait(http_t *http,\t\t\t/* I - Connection to server */\n
      \         int    msec,\t\t\t/* I - Milliseconds to wait */\n\t  int    usessl)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3388,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3395,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3402,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3413,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3415,1
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - http
    - msec
    argTypes:
    - http_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3380
    functionDepth: 2
    functionLinenumber: 3380
    functionLinenumberEnd: 3424
    functionName: httpWait
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 6
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - _httpWait
    - httpFlushWrite
    linkageType: ''
    returnType: int
    signature: "int httpWait(http_t *http,\t\t\t/* I - Connection to server */\n         int
      \   msec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3442
      start: 3436
    functionDepth: 1
    functionLinenumber: 3436
    functionLinenumberEnd: 3442
    functionName: httpWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpWrite2
    linkageType: ''
    returnType: int
    signature: "int httpWrite(http_t     *http,\t\t/* I - Connection to server */\n
      \         const char *buffer,\t\t/* I - Buffer for data */\n\t  int        length)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3459,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3468,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3476,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3485,1
    - Dst: http_content_coding_finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3489,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3499,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3505,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3507,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3526,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3529,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3539,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3542,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3552,1
    - Dst: http_write_chunk
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3556,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3558,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3560,1
    - Dst: http_content_coding_finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3584,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3589,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3599,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3616,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3617,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3620,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 74
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3623
      start: 3451
    functionDepth: 2
    functionLinenumber: 3451
    functionLinenumberEnd: 3623
    functionName: httpWrite2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - http_content_coding_finish
    - DEBUG_printf
    - httpFlushWrite
    - http_write_chunk
    - deflate
    - memcpy
    - http_state_string
    - DEBUG_puts
    - http_write
    - time
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t httpWrite2(http_t     *http,\t\t/* I - Connection to server
      */\n           const char *buffer,\t\t/* I - Buffer for data */\n\t   size_t
      \    length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3646,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - connection
    - data
    - dataLength
    argTypes:
    - SSLConnectionRef
    - void*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3670
      start: 3631
    functionDepth: 0
    functionLinenumber: 3631
    functionLinenumberEnd: 3670
    functionName: _httpWriteCDSA
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus _httpWriteCDSA(\n    SSLConnectionRef connection,\t/* I  -
      SSL/TLS connection */\n    const void       *data,\t\t/* I  - Data buffer */\n
      \   size_t           *dataLength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3688,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3691,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3694,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - data
    - length
    argTypes:
    - gnutls_transport_ptr_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3679
    functionDepth: 1
    functionLinenumber: 3679
    functionLinenumberEnd: 3698
    functionName: _httpWriteGNUTLS
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - send
    - http_debug_hex
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t _httpWriteGNUTLS(\n    gnutls_transport_ptr_t ptr,\t\t/* I
      - Connection to server */\n    const void             *data,\t/* I - Data buffer
      */\n    size_t                 length)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3720,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3724,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3733,1
    - Dst: httpGetDateString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3733,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3733,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3738,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3746,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3748,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3752,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3759,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3762,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3767,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3775,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3791,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3792,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3809,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3811,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3821,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3830,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3836,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3863,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3864,1
    - Dst: http_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3874,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3881,1
    - Dst: http_content_coding_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3882,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3883,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 79
    argCount: 2
    argNames:
    - http
    - status
    argTypes:
    - http_t*
    - http_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3888
      start: 3708
    functionDepth: 3
    functionLinenumber: 3708
    functionLinenumberEnd: 3888
    functionName: httpWriteResponse
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - httpSetField
    - DEBUG_printf
    - http_set_length
    - httpFlushWrite
    - httpGetDateString
    - http_content_coding_start
    - http_state_string
    - httpPrintf
    - DEBUG_puts
    - httpWrite2
    - httpGetField
    - time
    - httpStatus
    linkageType: ''
    returnType: int
    signature: "int httpWriteResponse(http_t        *http,\t/* I - HTTP connection
      */\n\t\t  http_status_t status)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - h
    - cmd
    - arg1
    - arg2
    argTypes:
    - BIO*
    - int
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3929
      start: 3896
    functionDepth: 0
    functionLinenumber: 3896
    functionLinenumberEnd: 3929
    functionName: http_bio_ctrl
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: "long http_bio_ctrl(BIO  *h,\t\t\t/* I - BIO data */\n              int
      \ cmd,\t\t\t/* I - Control command */\n\t      long arg1,\t\t/* I - First argument
      */\n\t      void *arg2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3949
      start: 3936
    functionDepth: 0
    functionLinenumber: 3936
    functionLinenumberEnd: 3949
    functionName: http_bio_free
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int http_bio_free(BIO *h)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - h
    argTypes:
    - BIO*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3956
    functionDepth: 0
    functionLinenumber: 3956
    functionLinenumberEnd: 3968
    functionName: http_bio_new
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int http_bio_new(BIO *h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3980,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3980,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3982,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:3982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - h
    - str
    argTypes:
    - BIO*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3984
      start: 3975
    functionDepth: 0
    functionLinenumber: 3975
    functionLinenumberEnd: 3984
    functionName: http_bio_puts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - strlen
    - send
    linkageType: ''
    returnType: int
    signature: "int http_bio_puts(BIO        *h,\t\t/* I - BIO data */\n              const
      char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4007,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - h
    - buf
    - size
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4023
      start: 3991
    functionDepth: 2
    functionLinenumber: 3991
    functionLinenumberEnd: 4023
    functionName: http_bio_read
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - _httpWait
    - recv
    linkageType: ''
    returnType: int
    signature: "int http_bio_read(BIO  *h,\t\t\t/* I - BIO data */\n              char
      *buf,\t\t/* I - Buffer */\n\t      int  size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - buf
    - num
    argTypes:
    - BIO*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4036
      start: 4030
    functionDepth: 0
    functionLinenumber: 4030
    functionLinenumberEnd: 4036
    functionName: http_bio_write
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - send
    linkageType: ''
    returnType: int
    signature: "int http_bio_write(BIO        *h,\t\t/* I - BIO data */\n               const
      char *buf,\t\t/* I - Buffer to write */\n\t       int        num)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4065,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4069,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4073,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4076,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4081,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4082,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4045
    functionDepth: 2
    functionLinenumber: 4045
    functionLinenumberEnd: 4091
    functionName: http_content_coding_finish
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 4
    functionsReached:
    - deflate
    - deflateEnd
    - free
    - httpFlushWrite
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: "void http_content_coding_finish(\n    http_t *http)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4107,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4112,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4116,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4116,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4128,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4132,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4132,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4144,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4150,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4154,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4161,1
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4169,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4182,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4194,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4198,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4215,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 2
    argNames:
    - http
    - value
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4217
      start: 4098
    functionDepth: 5
    functionLinenumber: 4098
    functionLinenumberEnd: 4217
    functionName: http_content_coding_start
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - inflateInit2
    - strcmp
    - deflateInit2
    - malloc
    - free
    - memset
    - DEBUG_puts
    - httpFlushWrite
    linkageType: ''
    returnType: void
    signature: "void http_content_coding_start(\n    http_t     *http,\t\t\t/* I -
      HTTP connection */\n    const char *value)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4240,1
    - Dst: httpInitialize
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4247,1
    - Dst: httpAddrCopyList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4255,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4259,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4261,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4271,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4273,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4273,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4274,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4283,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4295,1
    - Dst: http_set_wait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4302,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 7
    argNames:
    - host
    - port
    - addrlist
    - family
    - encryption
    - blocking
    - mode
    argTypes:
    - char*
    - int
    - http_addrlist_t*
    - int
    - http_encryption_t
    - int
    - _http_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4309
      start: 4225
    functionDepth: 2
    functionLinenumber: 4225
    functionLinenumberEnd: 4309
    functionName: http_create
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strerror
    - httpAddrGetList
    - http_set_wait
    - calloc
    - _cupsSetError
    - httpAddrFreeList
    - strlcpy
    - snprintf
    - httpInitialize
    - time
    - httpAddrCopyList
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - HTTP connection */\nhttp_create(\n    const
      char        *host,\t\t/* I - Hostname */\n    int               port,\t\t/*
      I - Port number */\n    http_addrlist_t   *addrlist,\t/* I - Address list or
      NULL */\n    int               family,\t\t/* I - Address family or AF_UNSPEC
      */\n    http_encryption_t encryption,\t/* I - Encryption to use */\n    int
      \              blocking,\t\t/* I - 1 for blocking mode */\n    _http_mode_t
      \     mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - host
    - port
    - addrlist
    - encryption
    - family
    argTypes:
    - char*
    - int
    - http_addrlist_t*
    - http_encryption_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4315
      start: 4312
    functionDepth: 3
    functionLinenumber: 4312
    functionLinenumberEnd: 4315
    functionName: _httpCreate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - http_create
    linkageType: ''
    returnType: http_t
    signature: "http_t *_httpCreate(const char *host, int port, http_addrlist_t *addrlist,\n\t\t
      \   http_encryption_t encryption, int family)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4338,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4340,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4341,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4346,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4350,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4355,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4369,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - prefix
    - buffer
    - bytes
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4371
      start: 4323
    functionDepth: 1
    functionLinenumber: 4323
    functionLinenumberEnd: 4371
    functionName: http_debug_hex
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - sprintf
    - strlen
    - DEBUG_puts
    - memcpy
    - snprintf
    linkageType: ''
    returnType: void
    signature: "void http_debug_hex(const char *prefix,\t/* I - Prefix for line */\n
      \              const char *buffer,\t/* I - Buffer to dump */\n               int
      \       bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4390
      start: 4379
    functionDepth: 1
    functionLinenumber: 4379
    functionLinenumberEnd: 4390
    functionName: http_field
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: http_field_t
    signature: http_field_t http_field(const char *name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4408,1
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4413,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4418,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4423,1
    - Dst: http_read_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4429,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4432,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4437,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4439,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4442,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4452,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4452,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4477,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4481,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4487,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4490,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4505
      start: 4400
    functionDepth: 3
    functionLinenumber: 4400
    functionLinenumberEnd: 4505
    functionName: http_read
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strerror
    - recv
    - httpWait
    - WSAGetLastError
    - http_debug_hex
    - DEBUG_puts
    - http_read_ssl
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_read(http_t *http,\t\t\t/* I - Connection to server */\n
      \         char   *buffer,\t\t/* I - Buffer */\n          size_t length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4522,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4533,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4536,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4540,1
    - Dst: http_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4546
      start: 4514
    functionDepth: 4
    functionLinenumber: 4514
    functionLinenumberEnd: 4546
    functionName: http_read_buffered
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - memcpy
    - http_read
    - memmove
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_read_buffered(http_t *http,\t/* I - Connection to server
      */\n                   char   *buffer,\t/* I - Buffer */\n                   size_t
      length)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4561,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4568,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4570,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4576,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4577,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4579,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4584,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4588,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4593,1
    - Dst: httpGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4602,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4606,1
    - Dst: http_read_buffered
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4615
      start: 4556
    functionDepth: 5
    functionLinenumber: 4556
    functionLinenumberEnd: 4615
    functionName: http_read_chunk
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - http_read_buffered
    - httpGets
    - strtoll
    - DEBUG_puts
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_read_chunk(http_t *http,\t\t/* I - Connection to server
      */\n\t\tchar   *buffer,\t\t/* I - Buffer */\n\t\tsize_t length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SSL_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4629,1
    - Dst: gnutls_record_recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4635,1
    - Dst: SSLRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4669,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4670,1
    - Dst: _sspiRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4703,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - http
    - buf
    - len
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4705
      start: 4623
    functionDepth: 2
    functionLinenumber: 4623
    functionLinenumberEnd: 4705
    functionName: http_read_ssl
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - SSLRead
    - SSL_read
    - DEBUG_printf
    - gnutls_record_recv
    - _sspiRead
    linkageType: ''
    returnType: int
    signature: "int http_read_ssl(http_t *http,\t\t/* I - Connection to server */\n\t
      \     char   *buf,\t\t/* I - Buffer to store data */\n\t      int    len)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4741,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4754,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4756,1
    - Dst: cupsUserAgent
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4756,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4764,1
    - Dst: _httpEncodeURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4771,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4780,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4783,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4793,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4794,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4813,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4814,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4818,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4825,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4827,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4831,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4832,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4838,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4846,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4852,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4858,1
    - Dst: httpPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4864,1
    - Dst: httpFlushWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4870,1
    - Dst: http_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4873,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4874,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4881,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4882,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4887,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 75
    argCount: 3
    argNames:
    - http
    - request
    - uri
    argTypes:
    - http_t*
    - http_state_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4893
      start: 4713
    functionDepth: 3
    functionLinenumber: 4713
    functionLinenumberEnd: 4893
    functionName: http_send
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 7
    functionsReached:
    - httpSetField
    - DEBUG_printf
    - httpAddrPort
    - http_set_length
    - _httpEncodeURI
    - strncmp
    - httpClearFields
    - free
    - httpPrintf
    - cupsUserAgent
    - httpGetField
    - httpFlushWrite
    - httpReconnect2
    linkageType: ''
    returnType: int
    signature: "int http_send(http_t       *http,\t\t/* I - Connection to server */\n
      \         http_state_t request,\t\t/* I - Request code */\n\t  const char   *uri)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4905,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4911,1
    - Dst: SSLSetCertificate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4922,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4923,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4927,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4930
      start: 4902
    functionDepth: 1
    functionLinenumber: 4902
    functionLinenumberEnd: 4930
    functionName: http_set_credentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - SSLSetCertificate
    - _cupsGlobals
    linkageType: ''
    returnType: int
    signature: int http_set_credentials(http_t *http)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4945,1
    - Dst: http_state_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4946,1
    - Dst: httpGetLength2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4948,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4956,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4960,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4963,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4969,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4974,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4985
      start: 4939
    functionDepth: 2
    functionLinenumber: 4939
    functionLinenumberEnd: 4985
    functionName: http_set_length
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - http_state_string
    - _cups_strcasecmp
    - DEBUG_puts
    - httpGetLength2
    linkageType: ''
    returnType: off_t
    signature: off_t http_set_length(http_t *http)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:4999,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5000,1
    - Dst: fmod
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5006,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5008,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - timeout
    argTypes:
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5011
      start: 4991
    functionDepth: 0
    functionLinenumber: 4991
    functionLinenumberEnd: 5011
    functionName: http_set_timeout
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - setsockopt
    - fmod
    linkageType: ''
    returnType: void
    signature: "void http_set_timeout(int    fd,\t\t/* I - File descriptor */\n                 double
      timeout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5030
      start: 5018
    functionDepth: 0
    functionLinenumber: 5018
    functionLinenumberEnd: 5030
    functionName: http_set_wait
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void http_set_wait(http_t *http)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5053,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5071,1
    - Dst: httpAddrLocalhost
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5077,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5079,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5087,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5088,1
    - Dst: SSL_CTX_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5094,1
    - Dst: SSLv23_client_method
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5094,1
    - Dst: SSL_CTX_set_options
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5096,1
    - Dst: BIO_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5098,1
    - Dst: _httpBIOMethods
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5098,1
    - Dst: BIO_ctrl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5099,1
    - Dst: SSL_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5101,1
    - Dst: SSL_set_bio
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5102,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5105,1
    - Dst: SSL_connect
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5108,1
    - Dst: ERR_get_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5112,1
    - Dst: ERR_error_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5114,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5115,1
    - Dst: SSL_CTX_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5118,1
    - Dst: SSL_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5119,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5123,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5130,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5132,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5139,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5142,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5143,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5146,1
    - Dst: gnutls_certificate_allocate_credentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5151,1
    - Dst: gnutls_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5153,1
    - Dst: gnutls_set_default_priority
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5154,1
    - Dst: gnutls_server_name_set
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5155,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5156,1
    - Dst: gnutls_credentials_set
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5157,1
    - Dst: gnutls_transport_set_ptr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5158,1
    - Dst: gnutls_transport_set_pull_function
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5159,1
    - Dst: gnutls_transport_set_push_function
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5160,1
    - Dst: gnutls_handshake
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5162,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5164,1
    - Dst: gnutls_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5165,1
    - Dst: gnutls_error_is_fatal
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5167,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5172,1
    - Dst: gnutls_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5172,1
    - Dst: gnutls_deinit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5174,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5175,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5176,1
    - Dst: SSLCreateContext
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5186,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5189,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5192,1
    - Dst: SSLSetConnection
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5197,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5198,1
    - Dst: SSLSetIOFuncs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5202,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5203,1
    - Dst: SSLSetSessionOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5208,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5210,1
    - Dst: SSLSetSessionOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5218,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5220,1
    - Dst: http_set_credentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5225,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5226,1
    - Dst: SSLSetPeerDomainName
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5238,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5238,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5240,1
    - Dst: SSLHandshake
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5250,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5252,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5262,1
    - Dst: httpCopyCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5269,1
    - Dst: httpFreeCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5274,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5277,1
    - Dst: SSLCopyDistinguishedNames
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5288,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5291,1
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5293,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5295,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5297,1
    - Dst: CFDataGetLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5299,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5300,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5302,1
    - Dst: CFDataGetBytePtr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5302,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5304,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5307,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5312,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5320,1
    - Dst: httpFreeCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5324,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5329,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5334,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5339,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5344,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5349,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5354,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5359,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5375,1
    - Dst: cssmErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5384,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5386,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5389,1
    - Dst: _sspiAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5395,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5399,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5400,1
    - Dst: GetUserName
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5406,1
    - Dst: _sntprintf_s
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5407,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5408,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5410,1
    - Dst: _sspiGetCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5412,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5414,1
    - Dst: _sspiFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5416,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5422,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5423,1
    - Dst: _sspiSetAllowsAnyRoot
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5428,1
    - Dst: _sspiSetAllowsExpiredCerts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5429,1
    - Dst: _sspiConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5431,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5433,1
    - Dst: _sspiFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5435,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5441,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5442,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 213
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5449
      start: 5038
    functionDepth: 7
    functionLinenumber: 5038
    functionLinenumberEnd: 5449
    functionName: http_setup_ssl
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - CFDataGetLength
    - BIO_ctrl
    - CFDataGetBytePtr
    - strlen
    - SSLSetPeerDomainName
    - _sspiSetAllowsAnyRoot
    - WSAGetLastError
    - gnutls_transport_set_ptr
    - httpFreeCredentials
    - ERR_get_error
    - gnutls_transport_set_push_function
    - gnutls_credentials_set
    - _sspiAlloc
    - GetUserName
    - DEBUG_printf
    - SSL_free
    - SSL_CTX_set_options
    - gnutls_certificate_free_credentials
    - _httpBIOMethods
    - cupsArrayNew
    - _sspiGetCredentials
    - _cupsSetError
    - gnutls_deinit
    - SSL_set_bio
    - CFArrayGetCount
    - BIO_new
    - strlcpy
    - CFRelease
    - _cupsGlobals
    - SSL_connect
    - httpAddrLocalhost
    - DEBUG_puts
    - SSLHandshake
    - TEXT
    - SSL_new
    - gnutls_strerror
    - _cupsSetHTTPError
    - gnutls_server_name_set
    - SSLSetIOFuncs
    - _
    - gnutls_set_default_priority
    - ERR_error_string
    - malloc
    - free
    - SSL_CTX_new
    - gnutls_handshake
    - SSLCreateContext
    - gnutls_transport_set_pull_function
    - CFArrayGetValueAtIndex
    - strerror
    - SSLCopyDistinguishedNames
    - http_set_credentials
    - usleep
    - SSLSetConnection
    - cssmErrorString
    - gnutls_certificate_allocate_credentials
    - SSLv23_client_method
    - SSL_CTX_free
    - cupsArrayAdd
    - SSLSetSessionOption
    - memcpy
    - _sspiFree
    - _sspiConnect
    - gnutls_init
    - _sspiSetAllowsExpiredCerts
    - httpCopyCredentials
    - _sntprintf_s
    - SSL_set_tlsext_host_name
    - gnutls_error_is_fatal
    linkageType: ''
    returnType: int
    signature: int http_setup_ssl(http_t *http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SSL_get_SSL_CTX
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5462,1
    - Dst: SSL_shutdown
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5464,1
    - Dst: SSL_CTX_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5465,1
    - Dst: SSL_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5466,1
    - Dst: gnutls_bye
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5474,1
    - Dst: gnutls_deinit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5475,1
    - Dst: gnutls_certificate_free_credentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5476,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5477,1
    - Dst: SSLClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5480,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5481,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5483,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5486,1
    - Dst: _sspiFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5489,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5494
      start: 5456
    functionDepth: 2
    functionLinenumber: 5456
    functionLinenumberEnd: 5494
    functionName: http_shutdown_ssl
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - SSL_shutdown
    - usleep
    - SSL_free
    - gnutls_certificate_free_credentials
    - SSLClose
    - gnutls_bye
    - SSL_CTX_free
    - gnutls_deinit
    - free
    - SSL_get_SSL_CTX
    - CFRelease
    - _sspiFree
    linkageType: ''
    returnType: void
    signature: void http_shutdown_ssl(http_t *http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - http_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5533
      start: 5503
    functionDepth: 0
    functionLinenumber: 5503
    functionLinenumberEnd: 5533
    functionName: http_state_string
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 10
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t/* O - State string */\nhttp_state_string(http_state_t
      state)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5549,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5556,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5563,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5573,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5574,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5575,1
    - Dst: httpOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5577,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5583,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5590,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5609,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5612,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5623
      start: 5542
    functionDepth: 4
    functionLinenumber: 5542
    functionLinenumberEnd: 5623
    functionName: http_upgrade
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - httpSetField
    - DEBUG_printf
    - httpUpdate
    - close
    - httpOptions
    - memcpy
    - httpClearFields
    - DEBUG_puts
    - httpFlush
    - closesocket
    linkageType: ''
    returnType: int
    signature: int http_upgrade(http_t *http)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5640,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5647,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5665,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5672,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5673,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5678,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5681,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5682,1
    - Dst: http_write_ssl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5708,1
    - Dst: send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5711,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5713,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5719,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5721,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5726,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5728,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5729,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5731,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5754,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5755,1
    - Dst: http_debug_hex
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5766,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5769,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 71
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5772
      start: 5631
    functionDepth: 2
    functionLinenumber: 5631
    functionLinenumberEnd: 5772
    functionName: http_write
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 3
    functionsReached:
    - http_debug_hex
    - DEBUG_printf
    - FD_SET
    - FD_ZERO
    - select
    - send
    - WSAGetLastError
    - http_write_ssl
    - poll
    - strerror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_write(http_t     *http,\t\t/* I - Connection to server
      */\n           const char *buffer,\t\t/* I - Buffer for data */\n\t   size_t
      \    length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5788,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5795,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5796,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5796,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5798,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5802,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5804,1
    - Dst: http_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5808,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5815
      start: 5779
    functionDepth: 3
    functionLinenumber: 5779
    functionLinenumberEnd: 5815
    functionName: http_write_chunk
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strlen
    - DEBUG_puts
    - snprintf
    - http_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t http_write_chunk(http_t     *http,\t/* I - Connection to server
      */\n                 const char *buffer,\t/* I - Buffer to write */\n\t\t size_t
      \       length)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5831,1
    - Dst: SSL_write
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5834,1
    - Dst: gnutls_record_send
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5837,1
    - Dst: SSLWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5868,1
    - Dst: _sspiWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5898,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http.c:5901,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - http
    - buf
    - len
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5904
      start: 5823
    functionDepth: 6
    functionLinenumber: 5823
    functionLinenumberEnd: 5904
    functionName: http_write_ssl
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - SSL_write
    - _sspiWrite
    - gnutls_record_send
    - SSLWrite
    linkageType: ''
    returnType: int
    signature: "int http_write_ssl(http_t     *http,\t/* I - Connection to server
      */\n\t       const char *buf,\t\t/* I - Buffer holding data */\n\t       int
      \       len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - http
    - dest
    - job_id
    argTypes:
    - http_t*
    - cups_dest_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: cupsCancelDestJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsCancelDestJob(http_t      *http,\t/* I - Connection
      to destination */\n                  cups_dest_t *dest,\t/* I - Destination
      */\n                  int         job_id)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:74,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:84,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:84,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:85,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:93,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:99,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:105,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:109,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:109,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:110,1
    - Dst: ippSetVersion
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:115,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:117,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:119,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:121,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:122,1
    - Dst: ippGetOperation
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:123,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:124,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:130,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:130,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:132,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:132,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:132,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:133,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:135,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - http
    - dest
    - info
    - job_id
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 136
    functionName: cupsCloseDestJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippErrorString
    - ippNewRequest
    - cupsLastErrorString
    - _cupsSetError
    - ippAddBoolean
    - ippGetOperation
    - ippDelete
    - DEBUG_puts
    - ippAddString
    - cupsLastError
    - ippAddInteger
    - strerror
    - cupsUser
    - ippFindAttribute
    - ippSetVersion
    - cupsDoRequest
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsCloseDestJob(\n    http_t       *http,\t\t\t/* I
      - Connection to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination
      */\n    cups_dinfo_t *info, \t\t/* I - Destination information */\n    int          job_id)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:163,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:178,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:178,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:179,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:187,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:189,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:189,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:190,1
    - Dst: ippSetVersion
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:194,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:196,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:198,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:199,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:201,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:204,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:205,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:206,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:212,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:214,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:217,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:220,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:226,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:226,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:226,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:227,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:229,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 7
    argNames:
    - http
    - dest
    - info
    - job_id
    - title
    - num_options
    - options
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int*
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 230
    functionName: cupsCreateDestJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippErrorString
    - ippNewRequest
    - cupsLastErrorString
    - _cupsSetError
    - cupsEncodeOptions2
    - ippDelete
    - DEBUG_puts
    - ippAddString
    - cupsLastError
    - strerror
    - cupsUser
    - ippFindAttribute
    - ippSetVersion
    - cupsDoRequest
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsCreateDestJob(\n    http_t        *http,\t\t/* I
      - Connection to destination */\n    cups_dest_t   *dest,\t\t/* I - Destination
      */\n    cups_dinfo_t  *info, \t\t/* I - Destination information */\n    int
      \          *job_id,\t\t/* O - Job ID or 0 on error */\n    const char    *title,\t\t/*
      I - Job name */\n    int           num_options,\t\t/* I - Number of job options
      */\n    cups_option_t *options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:247,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:257,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:257,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:258,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:266,1
    - Dst: cupsGetResponse
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:266,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:268,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:269,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:269,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:269,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - http
    - dest
    - info
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 272
    functionName: cupsFinishDestDocument
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippErrorString
    - cupsLastErrorString
    - _cupsSetError
    - ippDelete
    - DEBUG_puts
    - cupsGetResponse
    - cupsLastError
    - strerror
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsFinishDestDocument(\n    http_t       *http,\t\t\t/*
      I - Connection to destination */\n    cups_dest_t  *dest,\t\t\t/* I - Destination
      */\n    cups_dinfo_t *info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:304,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:317,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:317,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:318,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:326,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:328,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:328,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:329,1
    - Dst: ippSetVersion
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:334,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:336,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:338,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:339,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:340,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:342,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:345,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:347,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:349,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:350,1
    - Dst: cupsSendRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:356,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c:358,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 9
    argNames:
    - http
    - dest
    - info
    - job_id
    - docname
    - format
    - num_options
    - options
    - last_document
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - int
    - char*
    - char*
    - int
    - cups_option_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 361
    functionName: cupsStartDestDocument
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-job.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippNewRequest
    - _cupsSetError
    - ippAddBoolean
    - cupsEncodeOptions2
    - ippDelete
    - DEBUG_puts
    - cupsSendRequest
    - ippAddString
    - ippAddInteger
    - strerror
    - cupsUser
    - ippSetVersion
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsStartDestDocument(\n    http_t        *http,\t\t/*
      I - Connection to destination */\n    cups_dest_t   *dest,\t\t/* I - Destination
      */\n    cups_dinfo_t  *info, \t\t/* I - Destination information */\n    int
      \          job_id,\t\t/* I - Job ID */\n    const char    *docname,\t\t/* I
      - Document name */\n    const char    *format,\t\t/* I - Document format */\n
      \   int           num_options,\t\t/* I - Number of document options */\n    cups_option_t
      *options,\t\t/* I - Document options */\n    int           last_document)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:63,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:75,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:82,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:82,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:87,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:87,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:89,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:90,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:97,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:98,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:99,1
    - Dst: httpGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:101,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:103,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:115,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:123,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:129,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:135,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:147,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:150,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:157,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:176,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:177,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:181,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:182,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:189,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 3
    argNames:
    - http
    - resource
    - fd
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 47
    functionDepth: 4
    functionLinenumber: 47
    functionLinenumberEnd: 192
    functionName: cupsGetFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c
    functionUses: 0
    functionsReached:
    - httpSetField
    - DEBUG_printf
    - httpGet
    - _cupsSetHTTPError
    - httpUpdate
    - write
    - httpEncryption
    - _cupsConnect
    - strlcpy
    - httpClearFields
    - cupsDoAuthentication
    - _cups_strcasecmp
    - httpFlush
    - httpGetField
    - httpRead2
    - httpReconnect2
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsGetFd(http_t     *http,\t\t/* I - Connection to
      server or @code CUPS_HTTP_DEFAULT@ */\n\t  const char *resource,\t\t/* I - Resource
      name */\n\t  int        fd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:228,1
    - Dst: cupsGetFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:243,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:249,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:252,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - http
    - resource
    - filename
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 259
    functionName: cupsGetFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c
    functionUses: 0
    functionsReached:
    - cupsGetFd
    - close
    - unlink
    - open
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsGetFile(http_t     *http,\t\t/* I - Connection to
      server or @code CUPS_HTTP_DEFAULT@ */\n\t    const char *resource,\t/* I - Resource
      name */\n\t    const char *filename)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:286,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:298,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:309,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:309,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:311,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:312,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:319,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:322,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:323,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:324,1
    - Dst: httpSetExpect
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:325,1
    - Dst: httpPut
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:327,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:329,1
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:345,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:346,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:356,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:358,1
    - Dst: httpCheck
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:359,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:361,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:365,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:370,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:372,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:377,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:382,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:385,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:395,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:403,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:409,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:415,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:427,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:430,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:437,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:453,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:454,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:457,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 88
    argCount: 3
    argNames:
    - http
    - resource
    - fd
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 460
    functionName: cupsPutFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c
    functionUses: 0
    functionsReached:
    - httpSetField
    - httpSetExpect
    - httpClearFields
    - cupsDoAuthentication
    - DEBUG_printf
    - read
    - httpUpdate
    - httpPut
    - _cups_strcasecmp
    - httpFlush
    - httpReconnect2
    - _cupsSetHTTPError
    - _cupsConnect
    - httpWait
    - httpCheck
    - httpEncryption
    - httpGetField
    - httpWrite2
    - lseek
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsPutFd(http_t     *http,\t\t/* I - Connection to
      server or @code CUPS_HTTP_DEFAULT@ */\n          const char *resource,\t\t/*
      I - Resource name */\n\t  int        fd)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:497,1
    - Dst: cupsPutFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:512,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - http
    - resource
    - filename
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 517
    functionName: cupsPutFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getputfile.c
    functionUses: 0
    functionsReached:
    - close
    - cupsPutFd
    - open
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsPutFile(http_t     *http,\t\t/* I - Connection to
      server or @code CUPS_HTTP_DEFAULT@ */\n            const char *resource,\t/*
      I - Resource name */\n\t    const char *filename)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:58,1
    - Dst: _cupsSNMPDefaultCommunity
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:60,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:62,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:66,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:73,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:78,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:82,1
    - Dst: _cupsSNMPSetDebug
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:83,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:84,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:88,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:90,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:96,1
    - Dst: _cupsSNMPOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:98,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:100,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:100,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:104,1
    - Dst: show_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:107,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:113,1
    - Dst: show_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:117,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 124
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c
    functionUses: 2
    functionsReached:
    - usage
    - show_oid
    - httpAddrGetList
    - puts
    - strcmp
    - printf
    - _cupsSNMPDefaultCommunity
    - fputs
    - _cupsSNMPSetDebug
    - _cupsSNMPOpen
    - strerror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:141,1
    - Dst: _cupsSNMPOIDToString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:141,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:146,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:151,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:155,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:160,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:165,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:169,1
    - Dst: _cupsSNMPOIDToString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:169,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:174,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:176,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:177,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:181,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:185,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:189,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:198,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - packet
    - data
    argTypes:
    - cups_snmp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 201
    functionName: print_packet
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c
    functionUses: 0
    functionsReached:
    - puts
    - printf
    - fputs
    - _cupsSNMPOIDToString
    - putchar
    linkageType: ''
    returnType: void
    signature: "void print_packet(cups_snmp_t *packet,\t/* I - SNMP response packet
      */\n             void        *data)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSNMPStringToOID
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:221,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:223,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:229,1
    - Dst: _cupsSNMPOIDToString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:229,1
    - Dst: _cupsSNMPWalk
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:231,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:234,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:234,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:240,1
    - Dst: _cupsSNMPOIDToString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:240,1
    - Dst: _cupsSNMPWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:242,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:245,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:245,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:249,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:251,1
    - Dst: _cupsSNMPRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:253,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:255,1
    - Dst: _cupsSNMPIsOID
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:259,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:261,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:263,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:264,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:270,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:274,1
    - Dst: print_packet
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - fd
    - community
    - addr
    - s
    - walk
    argTypes:
    - int
    - char*
    - http_addr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 280
    functionName: show_oid
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c
    functionUses: 1
    functionsReached:
    - _cupsSNMPWalk
    - puts
    - printf
    - _cupsSNMPStringToOID
    - fputs
    - _cupsSNMPOIDToString
    - _cupsSNMPWrite
    - strerror
    - print_packet
    - _cupsSNMPRead
    - _cupsSNMPIsOID
    linkageType: ''
    returnType: int
    signature: "int show_oid(int         fd,\t\t/* I - SNMP socket */\n         const
      char  *community,\t/* I - Community name */\n\t http_addr_t *addr,\t\t/* I -
      Address to query */\n         const char  *s,\t\t/* I - OID to query */\n\t
      int         walk)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:290,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:291,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:292,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:293,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:294,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:295,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:296,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 299
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testsnmp.c
    functionUses: 12
    functionsReached:
    - exit
    - puts
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:55,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:61,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:63,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:70,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:71,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:74,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:74,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:76,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:77,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:80,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:83,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 85
    functionName: cupsBackendDeviceURI
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backend.c
    functionUses: 0
    functionsReached:
    - _httpResolveURI
    - strcmp
    - ppdFindAttr
    - strchr
    - ppdClose
    - _cupsGlobals
    - _cups_strcasecmp
    - getenv
    - ppdOpenFile
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Device URI or @code NULL@ */\ncupsBackendDeviceURI(char
      **argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:110,1
    - Dst: quote_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:112,1
    - Dst: quote_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:114,1
    - Dst: quote_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:115,1
    - Dst: quote_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:116,1
    - Dst: quote_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:117,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:118,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 6
    argNames:
    - device_scheme
    - device_uri
    - device_make_and_model
    - device_info
    - device_id
    - device_location
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 120
    functionName: cupsBackendReport
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backend.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - putchar
    - quote_string
    linkageType: ''
    returnType: void
    signature: "void cupsBackendReport(\n    const char *device_scheme,\t\t/* I -
      device-scheme string */\n    const char *device_uri,\t\t/* I - device-uri string
      */\n    const char *device_make_and_model,\t/* I - device-make-and-model string
      or @code NULL@ */\n    const char *device_info,\t\t/* I - device-info string
      or @code NULL@ */\n    const char *device_id,\t\t/* I - device-id string or
      @code NULL@ */\n    const char *device_location)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:130,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:137,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:140,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:142,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/backend.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: quote_string
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backend.c
    functionUses: 1
    functionsReached:
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: void quote_string(const char *s)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:204,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:209,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:209,1
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:251,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:273,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:273,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:276,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:288,1
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:362,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:375,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:376,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:396,1
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:397,1
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:408,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 116
    argCount: 8
    argNames:
    - encoding
    - uri
    - urilen
    - scheme
    - username
    - host
    - port
    - resource
    argTypes:
    - http_uri_coding_t
    - char*
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 436
    functionName: httpAssembleURI
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - http_copy_encode
    - strstr
    - strcmp
    - strlen
    - snprintf
    - strchr
    - isxdigit
    linkageType: ''
    returnType: http_uri_status_t
    signature: "http_uri_status_t httpAssembleURI(\n    http_uri_coding_t encoding,\t\t/*
      I - Encoding flags */\n    char              *uri,\t\t/* I - URI buffer */\n
      \   int               urilen,\t\t/* I - Size of URI buffer */\n    const char
      \       *scheme,\t\t/* I - Scheme name */\n    const char        *username,\t/*
      I - Username */\n    const char        *host,\t\t/* I - Hostname or address
      */\n    int               port,\t\t/* I - Port number */\n    const char        *resource)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:485,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:486,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:487,1
    - Dst: httpAssembleURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:495,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 8
    argNames:
    - encoding
    - uri
    - urilen
    - scheme
    - username
    - host
    - port
    - resourcef
    argTypes:
    - http_uri_coding_t
    - char*
    - int
    - char*
    - char*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 497
    functionName: httpAssembleURIf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - httpAssembleURI
    - va_end
    linkageType: ''
    returnType: http_uri_status_t
    signature: "http_uri_status_t httpAssembleURIf(\n    http_uri_coding_t encoding,\t\t/*
      I - Encoding flags */\n    char              *uri,\t\t/* I - URI buffer */\n
      \   int               urilen,\t\t/* I - Size of URI buffer */\n    const char
      \       *scheme,\t\t/* I - Scheme name */\n    const char        *username,\t/*
      I - Username */\n    const char        *host,\t\t/* I - Hostname or address
      */\n    int               port,\t\t/* I - Port number */\n    const char        *resourcef,\t/*
      I - Printf-style resource */\n    ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:532,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:534,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:534,1
    - Dst: _cupsMD5Init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:536,1
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:537,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:537,1
    - Dst: _cupsMD5Finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:538,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - server
    - port
    - name
    - number
    - buffer
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 553
    functionName: httpAssembleUUID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - _cupsMD5Finish
    - _cupsMD5Append
    - CUPS_RAND
    - strlen
    - _cupsMD5Init
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* I - UUID string */\nhttpAssembleUUID(const char
      *server,\t/* I - Server name */\n\t\t int        port,\t/* I - Port number */\n\t\t
      const char *name,\t/* I - Object name or NULL */\n\t\t int        number,\t/*
      I - Object number or 0 */\n\t\t char       *buffer,\t/* I - String buffer */\n\t\t
      size_t     bufsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpAssembleUUID
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - server
    - port
    - name
    - number
    - buffer
    - bufsize
    argTypes:
    - char*
    - int
    - char*
    - int
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 560
    functionName: _httpAssembleUUID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - httpAssembleUUID
    linkageType: ''
    returnType: char
    signature: "char *_httpAssembleUUID(const char *server, int port, const char *name,\n\t\t\tint
      number, char *buffer, size_t bufsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpDecode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 586
    functionName: httpDecode64
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - httpDecode64_2
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Decoded string */\nhttpDecode64(char       *out,\t\t/*
      I - String to write to */\n             const char *in)"
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 3
    argNames:
    - out
    - outlen
    - in
    argTypes:
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 688
    functionName: httpDecode64_2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O  - Decoded string */\nhttpDecode64_2(char       *out,\t\t/*
      I  - String to write to */\n\t       int        *outlen,\t/* IO - Size of output
      string */\n               const char *in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpEncode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:704,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 705
    functionName: httpEncode64
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - httpEncode64_2
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Encoded string */\nhttpEncode64(char       *out,\t\t/*
      I - String to write to */\n             const char *in)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 4
    argNames:
    - out
    - outlen
    - in
    - inlen
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 798
    functionName: httpEncode64_2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Encoded string */\nhttpEncode64_2(char       *out,\t\t/*
      I - String to write to */\n\t       int        outlen,\t/* I - Size of output
      string */\n               const char *in,\t\t/* I - String to read from */\n\t
      \      int        inlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:810,1
    - Dst: httpGetDateString2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: httpGetDateString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached:
    - httpGetDateString2
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Date/time string */\nhttpGetDateString(time_t
      t)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:831,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - t
    - s
    - slen
    argTypes:
    - time_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 841
    functionName: httpGetDateString2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached:
    - snprintf
    - gmtime
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Date/time string */\nhttpGetDateString2(time_t
      t,\t\t/* I - UNIX time */\n                   char   *s,\t\t/* I - String buffer
      */\n\t\t   int    slen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:862,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:868,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:871,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:879,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:885,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:898,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:905,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 908
    functionName: httpGetDateTime
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - DEBUG_printf
    - sscanf
    linkageType: ''
    returnType: time_t
    signature: time_t httpGetDateTime(const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - uri
    - scheme
    - username
    - host
    - port
    - resource
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 931
    functionName: httpSeparate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - httpSeparateURI
    linkageType: ''
    returnType: void
    signature: "void httpSeparate(const char *uri,\t\t/* I - Universal Resource Identifier
      */\n             char       *scheme,\t/* O - Scheme [32] (http, https, etc.)
      */\n\t     char       *username,\t/* O - Username [1024] */\n\t     char       *host,\t\t/*
      O - Hostname [1024] */\n\t     int        *port,\t\t/* O - Port number to use
      */\n             char       *resource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - uri
    - scheme
    - schemelen
    - username
    - usernamelen
    - host
    - hostlen
    - port
    - resource
    - resourcelen
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: httpSeparate2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - httpSeparateURI
    linkageType: ''
    returnType: void
    signature: "void httpSeparate2(const char *uri,\t\t/* I - Universal Resource Identifier
      */\n              char       *scheme,\t/* O - Scheme (http, https, etc.) */\n\t
      \     int        schemelen,\t/* I - Size of scheme buffer */\n\t      char       *username,\t/*
      O - Username */\n\t      int        usernamelen,\t/* I - Size of username buffer
      */\n\t      char       *host,\t\t/* O - Hostname */\n\t      int        hostlen,\t/*
      I - Size of hostname buffer */\n\t      int        *port,\t\t/* O - Port number
      to use */\n              char       *resource,\t/* O - Resource/filename */\n\t
      \     int        resourcelen)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1025,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1031,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1040,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1051,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1073,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1075,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1077,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1077,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1079,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1081,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1083,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1083,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1083,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1090,1
    - Dst: strpbrk
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1102,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1108,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1139,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1151,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1190,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1203,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1205,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1221,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1236,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1236,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1252,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1258,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1286,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1293,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1302,1
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1304,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 138
    argCount: 11
    argNames:
    - decoding
    - uri
    - scheme
    - schemelen
    - username
    - usernamelen
    - host
    - hostlen
    - port
    - resource
    - resourcelen
    argTypes:
    - http_uri_coding_t
    - char*
    - char*
    - int
    - char*
    - int
    - char*
    - int
    - int*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1321
    functionName: httpSeparateURI
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 2
    functionsReached:
    - strtol
    - strcmp
    - strlen
    - strlcpy
    - strncmp
    - strchr
    - http_copy_decode
    - isxdigit
    - _cups_strcasecmp
    - isdigit
    - strpbrk
    linkageType: ''
    returnType: http_uri_status_t
    signature: "http_uri_status_t httpSeparateURI(\n    http_uri_coding_t decoding,\t\t/*
      I - Decoding flags */\n    const char        *uri,\t\t/* I - Universal Resource
      Identifier */\n    char              *scheme,\t\t/* O - Scheme (http, https,
      etc.) */\n    int               schemelen,\t/* I - Size of scheme buffer */\n
      \   char              *username,\t/* O - Username */\n    int               usernamelen,\t/*
      I - Size of username buffer */\n    char              *host,\t\t/* O - Hostname
      */\n    int               hostlen,\t\t/* I - Size of hostname buffer */\n    int
      \              *port,\t\t/* O - Port number to use */\n    char              *resource,\t/*
      O - Resource/filename */\n    int               resourcelen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1335,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1339,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1344,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1347,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1350,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1353,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1356,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1359,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1362,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1365,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1368,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1371,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1374,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1378,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1381,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1384,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1387,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1390,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1393,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1396,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1399,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1402,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1405,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1408,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1411,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1414,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1418,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1422,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 1
    argNames:
    - status
    argTypes:
    - http_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1423
    functionName: httpStatus
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached:
    - cupsLangDefault
    - _
    - _cupsLangString
    - _cupsGlobals
    - strerror
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Localized status string */\nhttpStatus(http_status_t
      status)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - error
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1448
    functionName: _cups_hstrerror
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Error string */\n_cups_hstrerror(int error)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: http_copy_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dst
    - src
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1465
    functionName: _httpDecodeURI
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - http_copy_decode
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Decoded URI or NULL on error */\n_httpDecodeURI(char
      \      *dst,\t\t/* I - Destination buffer */\n               const char *src,\t\t/*
      I - Source URI */\n\t       size_t     dstsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: http_copy_encode
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dst
    - src
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1479
    functionName: _httpEncodeURI
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 1
    functionsReached:
    - http_copy_encode
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Encoded URI */\n_httpEncodeURI(char       *dst,\t\t/*
      I - Destination buffer */\n               const char *src,\t\t/* I - Source
      URI */\n\t       size_t     dstsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1859,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1871,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - client
    - state
    - context
    argTypes:
    - AvahiClient*
    - AvahiClientState
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1853
    functionDepth: 1
    functionLinenumber: 1853
    functionLinenumberEnd: 1873
    functionName: http_client_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - avahi_simple_poll_quit
    linkageType: ''
    returnType: void
    signature: "void http_client_cb(\n    AvahiClient      *client,\t\t/* I - Client
      information */\n    AvahiClientState state,\t\t/* I - Current state */\n    void
      \            *context)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1899,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1905,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1905,1
    - Dst: isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1912,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1913,1
    - Dst: isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1918,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1919,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 5
    argNames:
    - dst
    - src
    - dstsize
    - term
    - decode
    argTypes:
    - char*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1881
    functionDepth: 0
    functionLinenumber: 1881
    functionLinenumberEnd: 1947
    functionName: http_copy_decode
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 2
    functionsReached:
    - isxdigit
    - strchr
    - tolower
    - isalpha
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t/* O - New source pointer or NULL on error */\nhttp_copy_decode(char
      \      *dst,\t/* O - Destination buffer */\n                 const char *src,\t/*
      I - Source pointer */\n\t\t int        dstsize,\t/* I - Destination size */\n\t\t
      const char *term,\t/* I - Terminating characters */\n\t\t int        decode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:1971,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    argCount: 6
    argNames:
    - dst
    - src
    - dstend
    - reserved
    - term
    - encode
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1996
    functionName: http_copy_encode
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 2
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - End of current URI */\nhttp_copy_encode(char
      \      *dst,\t/* O - Destination buffer */\n                 const char *src,\t/*
      I - Source pointer */\n\t\t char       *dstend,\t/* I - End of destination buffer
      */\n                 const char *reserved,\t/* I - Extra reserved characters
      */\n\t\t const char *term,\t/* I - Terminating characters */\n\t\t int        encode)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2029,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2039,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2039,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2041,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2041,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2043,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2045,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2047,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2049,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2059,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2059,1
    - Dst: TXTRecordGetValuePtr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2060,1
    - Dst: TXTRecordGetValuePtr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2071,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2080,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2090,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2100,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2108,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2109,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2119,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2121,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2121,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2122,1
    - Dst: getnameinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2126,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2127,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2132,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2134,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2135,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2144,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2149,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2157,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2157,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2158,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2159,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2160,1
    - Dst: httpAssembleURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2163,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2164,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2166,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 10
    argNames:
    - sdRef
    - flags
    - interfaceIndex
    - errorCode
    - fullName
    - hostTarget
    - port
    - txtLen
    - txtRecord
    - context
    argTypes:
    - DNSServiceRef
    - DNSServiceFlags
    - uint32_t
    - DNSServiceErrorType
    - char*
    - char*
    - uint16_t
    - uint16_t
    - unsigned char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2167
    functionName: http_resolve_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpAddrString
    - httpAddrGetList
    - strcmp
    - strstr
    - httpAddrLength
    - getnameinfo
    - strlen
    - ntohs
    - snprintf
    - httpAddrFreeList
    - strlcpy
    - memcpy
    - _cups_strcasecmp
    - httpAssembleURI
    - TXTRecordGetValuePtr
    - httpAssembleURIf
    linkageType: ''
    returnType: void
    signature: "void http_resolve_cb(\n    DNSServiceRef       sdRef,\t\t/* I - Service
      reference */\n    DNSServiceFlags     flags,\t\t/* I - Results flags */\n    uint32_t
      \           interfaceIndex,\t/* I - Interface number */\n    DNSServiceErrorType
      errorCode,\t/* I - Error, if any */\n    const char          *fullName,\t/*
      I - Full service name */\n    const char          *hostTarget,\t/* I - Hostname
      */\n    uint16_t            port,\t\t/* I - Port number */\n    uint16_t            txtLen,\t\t/*
      I - Length of TXT record */\n    const unsigned char *txtRecord,\t/* I - TXT
      record data */\n    void                *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pollfds
    - num_pollfds
    - timeout
    - context
    argTypes:
    - struct pollfd*
    - unsigned int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2189
    functionName: http_poll_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: "int http_poll_cb(\n    struct pollfd *pollfds,\t\t/* I - File descriptors
      */\n    unsigned int  num_pollfds,\t\t/* I - Number of file descriptors */\n
      \   int           timeout,\t\t/* I - Timeout in milliseconds (used) */\n    void
      \         *context)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2225,1
    - Dst: avahi_service_resolver_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2234,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2235,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2243,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2245,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2247,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2252,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2252,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2254,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2254,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2256,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2258,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2260,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2262,1
    - Dst: avahi_service_resolver_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2266,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2267,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2276,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2276,1
    - Dst: avahi_string_list_find
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2277,1
    - Dst: avahi_string_list_find
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2288,1
    - Dst: avahi_string_list_get_pair
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2290,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2298,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2308,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2318,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2326,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2327,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2337,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2339,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2339,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2340,1
    - Dst: getnameinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2344,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2345,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2350,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2352,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2353,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2362,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2367,1
    - Dst: httpAssembleURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2375,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2377,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-support.c:2379,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 69
    argCount: 13
    argNames:
    - resolver
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - hostTarget
    - address
    - port
    - txt
    - flags
    - context
    argTypes:
    - AvahiServiceResolver*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiResolverEvent
    - char*
    - char*
    - char*
    - char*
    - AvahiAddress*
    - uint16_t
    - AvahiStringList*
    - AvahiLookupResultFlags
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2196
    functionDepth: 2
    functionLinenumber: 2196
    functionLinenumberEnd: 2380
    functionName: http_resolve_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-support.c
    functionUses: 0
    functionsReached:
    - avahi_string_list_find
    - strstr
    - strlen
    - ntohs
    - snprintf
    - DEBUG_printf
    - httpAddrGetList
    - httpAddrFreeList
    - strlcpy
    - _cups_strcasecmp
    - httpAssembleURI
    - avahi_simple_poll_quit
    - strcmp
    - httpAddrString
    - getnameinfo
    - avahi_string_list_get_pair
    - strncmp
    - memcpy
    - avahi_service_resolver_free
    - httpAddrLength
    linkageType: ''
    returnType: void
    signature: "void http_resolve_cb(\n    AvahiServiceResolver   *resolver,\t/* I
      - Resolver (unused) */\n    AvahiIfIndex           interface,\t/* I - Interface
      index (unused) */\n    AvahiProtocol          protocol,\t/* I - Network protocol
      (unused) */\n    AvahiResolverEvent     event,\t/* I - Event (found, etc.) */\n
      \   const char             *name,\t/* I - Service name */\n    const char             *type,\t/*
      I - Registration type */\n    const char             *domain,\t/* I - Domain
      (unused) */\n    const char             *hostTarget,\t/* I - Hostname */\n    const
      AvahiAddress     *address,\t/* I - Address (unused) */\n    uint16_t               port,\t/*
      I - Port number */\n    AvahiStringList        *txt,\t/* I - TXT record */\n
      \   AvahiLookupResultFlags flags,\t/* I - Lookup flags (unused) */\n    void
      \                  *context)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:317,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:319,1
    - Dst: cups_add_dest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:322,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:329,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:337,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:348,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - name
    - instance
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - int
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 356
    functionName: cupsAddDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cupsGetDest
    - _cupsStrRetain
    - calloc
    - cups_add_dest
    linkageType: ''
    returnType: int
    signature: "int cupsAddDest(const char  *name,\t\t/* I  - Destination name */\n
      \           const char\t*instance,\t/* I  - Instance name or @code NULL@ for
      none/primary */\n            int         num_dests,\t/* I  - Number of destinations
      */\n            cups_dest_t **dests)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFPreferencesCopyAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 369
    functionName: _cupsAppleCopyDefaultPaperID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - CFPreferencesCopyAppValue
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef _cupsAppleCopyDefaultPaperID(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cupsAppleGetUseLastPrinter
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:389,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:391,1
    - Dst: appleCopyNetwork
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:400,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:402,1
    - Dst: appleCopyLocations
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:411,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:417,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:420,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:425,1
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:426,1
    - Dst: appleGetPrinter
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:428,1
    - Dst: CFRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:429,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:431,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 435
    functionName: _cupsAppleCopyDefaultPrinter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsAppleGetUseLastPrinter
    - appleCopyNetwork
    - CFArrayGetCount
    - appleGetPrinter
    - CFRelease
    - appleCopyLocations
    - CFRetain
    - DEBUG_puts
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef _cupsAppleCopyDefaultPrinter(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:449,1
    - Dst: CFPreferencesGetAppBooleanValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: _cupsAppleGetUseLastPrinter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - getenv
    - CFPreferencesGetAppBooleanValue
    linkageType: ''
    returnType: int
    signature: int _cupsAppleGetUseLastPrinter(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFPreferencesSetAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:470,1
    - Dst: CFPreferencesAppSynchronize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:471,1
    - Dst: notify_post
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - CFStringRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 473
    functionName: _cupsAppleSetDefaultPaperID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - CFPreferencesSetAppValue
    - CFPreferencesAppSynchronize
    - notify_post
    linkageType: ''
    returnType: void
    signature: "void _cupsAppleSetDefaultPaperID(\n    CFStringRef name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: appleCopyNetwork
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:496,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:498,1
    - Dst: appleCopyLocations
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:506,1
    - Dst: appleGetPrinter
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:507,1
    - Dst: CFStringCompare
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:514,1
    - Dst: CFArrayCreateMutableCopy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:522,1
    - Dst: CFArrayRemoveValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:526,1
    - Dst: CFArrayCreateMutable
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:529,1
    - Dst: CFDictionaryCreateMutable
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:532,1
    - Dst: CFDictionaryAddValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:542,1
    - Dst: CFDictionaryAddValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:543,1
    - Dst: CFArrayInsertValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:544,1
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:550,1
    - Dst: CFArrayRemoveValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:551,1
    - Dst: CFPreferencesSetAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:557,1
    - Dst: CFPreferencesAppSynchronize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:559,1
    - Dst: notify_post
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:560,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:564,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:567,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:571,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - name
    argTypes:
    - CFStringRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 574
    functionName: _cupsAppleSetDefaultPrinter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - CFPreferencesSetAppValue
    - CFPreferencesAppSynchronize
    - notify_post
    - CFArrayRemoveValueAtIndex
    - CFArrayInsertValueAtIndex
    - CFArrayCreateMutableCopy
    - CFDictionaryAddValue
    - appleCopyNetwork
    - CFArrayGetCount
    - appleGetPrinter
    - CFRelease
    - appleCopyLocations
    - DEBUG_puts
    - CFDictionaryCreateMutable
    - CFStringCompare
    - CFArrayCreateMutable
    linkageType: ''
    returnType: void
    signature: "void _cupsAppleSetDefaultPrinter(\n    CFStringRef name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CFPreferencesSetAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:585,1
    - Dst: CFPreferencesAppSynchronize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:588,1
    - Dst: notify_post
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - uselast
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: _cupsAppleSetUseLastPrinter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - CFPreferencesSetAppValue
    - CFPreferencesAppSynchronize
    - notify_post
    linkageType: ''
    returnType: void
    signature: "void _cupsAppleSetUseLastPrinter(\n    int uselast)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:638,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:638,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:652,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:655,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:655,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:665,1
    - Dst: cups_dnssd_resolve
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:667,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:673,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:677,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:677,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:694,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:696,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:707,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:720,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:725,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:743,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 60
    argCount: 8
    argNames:
    - dest
    - flags
    - msec
    - cancel
    - resource
    - resourcesize
    - cb
    - user_data
    argTypes:
    - cups_dest_t*
    - unsigned
    - int
    - int*
    - char*
    - size_t
    - cups_dest_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 606
    functionDepth: 4
    functionLinenumber: 606
    functionLinenumberEnd: 757
    functionName: cupsConnectDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cups_dnssd_resolve
    - httpSeparateURI
    - httpAddrGetList
    - strstr
    - strcmp
    - _cupsSetError
    - _
    - httpAddrFreeList
    - snprintf
    - cupsGetOption
    - strerror
    - httpConnect2
    - httpReconnect2
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - Connection to server or @code NULL@ */\ncupsConnectDest(\n
      \   cups_dest_t    *dest,\t\t/* I - Destination */\n    unsigned       flags,\t\t/*
      I - Connection flags */\n    int            msec,\t\t/* I - Timeout in milliseconds
      */\n    int            *cancel,\t\t/* I - Pointer to \"cancel\" variable */\n
      \   char           *resource,\t\t/* I - Resource buffer */\n    size_t         resourcesize,\t/*
      I - Size of resource buffer */\n    cups_dest_cb_t cb,\t\t\t/* I - Callback
      function */\n    void           *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsConnectDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - dest
    - flags
    - msec
    - cancel
    - resource
    - resourcesize
    - block
    argTypes:
    - cups_dest_t*
    - unsigned
    - int
    - int*
    - char*
    - size_t
    - cups_dest_block_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 773
    functionDepth: 5
    functionLinenumber: 773
    functionLinenumberEnd: 785
    functionName: cupsConnectDestBlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cupsConnectDest
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - Connection to server or @code NULL@ */\ncupsConnectDestBlock(\n
      \   cups_dest_t       *dest,\t\t/* I - Destination */\n    unsigned          flags,\t\t/*
      I - Connection flags */\n    int               msec,\t\t/* I - Timeout in milliseconds
      */\n    int               *cancel,\t\t/* I - Pointer to \"cancel\" variable
      */\n    char              *resource,\t/* I - Resource buffer */\n    size_t
      \           resourcesize,\t/* I - Size of resource buffer */\n    cups_dest_block_t
      block)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:821,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:835,1
    - Dst: cups_add_dest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:841,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:845,1
    - Dst: cupsRemoveDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:847,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:856,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:857,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - dest
    - num_dests
    - dests
    argTypes:
    - cups_dest_t*
    - int
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 862
    functionName: cupsCopyDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cupsGetDest
    - cupsRemoveDest
    - cups_add_dest
    - _cupsStrRetain
    - calloc
    - cupsFreeOptions
    linkageType: ''
    returnType: int
    signature: "int cupsCopyDest(cups_dest_t *dest,\n             int         num_dests,\n
      \            cups_dest_t **dests)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGetDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:940,1
    - Dst: _cupsUserDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:943,1
    - Dst: cupsGetDefault2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:945,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:947,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:957,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:964,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:975,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:989,1
    - Dst: DNSServiceCreateConnection
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:992,1
    - Dst: DNSServiceRefSockFD
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:995,1
    - Dst: DNSServiceBrowse
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:998,1
    - Dst: DNSServiceBrowse
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1003,1
    - Dst: DNSServiceBrowse
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1010,1
    - Dst: DNSServiceBrowse
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1015,1
    - Dst: avahi_simple_poll_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1022,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1024,1
    - Dst: avahi_simple_poll_set_func
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1028,1
    - Dst: avahi_client_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1030,1
    - Dst: avahi_simple_poll_get
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1030,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1035,1
    - Dst: avahi_simple_poll_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1036,1
    - Dst: avahi_service_browser_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1040,1
    - Dst: avahi_service_browser_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1044,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1066,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1069,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1070,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1075,1
    - Dst: DNSServiceProcessResult
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1079,1
    - Dst: avahi_simple_poll_iterate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1086,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1100,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1103,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1110,1
    - Dst: DNSServiceQueryRecord
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1115,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1130,1
    - Dst: avahi_record_browser_new
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1134,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1150,1
    - Dst: avahi_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1151,1
    - Dst: avahi_client_errno
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1151,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1171,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1174,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1175,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1178,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1179,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1182,1
    - Dst: avahi_service_browser_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1185,1
    - Dst: avahi_service_browser_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1187,1
    - Dst: avahi_client_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1190,1
    - Dst: avahi_simple_poll_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1191,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 116
    argCount: 7
    argNames:
    - flags
    - msec
    - cancel
    - type
    - mask
    - cb
    - user_data
    argTypes:
    - unsigned
    - int
    - int*
    - cups_ptype_t
    - cups_ptype_t
    - cups_dest_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 1196
    functionName: cupsEnumDests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - _cupsUserDefault
    - avahi_simple_poll_new
    - cupsArrayNew3
    - DNSServiceCreateConnection
    - avahi_service_browser_free
    - avahi_strerror
    - cupsGetDest
    - DEBUG_printf
    - avahi_client_free
    - FD_SET
    - _cupsGetDests
    - avahi_service_browser_new
    - DNSServiceQueryRecord
    - avahi_simple_poll_free
    - select
    - strlcpy
    - avahi_record_browser_new
    - DEBUG_puts
    - avahi_client_new
    - avahi_simple_poll_set_func
    - FD_ZERO
    - DNSServiceBrowse
    - cupsFreeDests
    - cupsGetDefault2
    - DNSServiceRefSockFD
    - DNSServiceProcessResult
    - cupsArrayNext
    - cupsArrayDelete
    - avahi_client_errno
    - strchr
    - avahi_simple_poll_iterate
    - poll
    - avahi_simple_poll_get
    - DNSServiceRefDeallocate
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int cupsEnumDests(\n    unsigned       flags,\t\t/* I - Enumeration
      flags */\n    int            msec,\t\t/* I - Timeout in milliseconds,\n\t\t\t\t\t
      *     -1 for indefinite */\n    int            *cancel,\t\t/* I - Pointer to
      \"cancel\" variable */\n    cups_ptype_t   type,\t\t/* I - Printer type bits
      */\n    cups_ptype_t   mask,\t\t/* I - Mask for printer type bits */\n    cups_dest_cb_t
      cb,\t\t\t/* I - Callback function */\n    void           *user_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsEnumDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - flags
    - timeout
    - cancel
    - type
    - mask
    - block
    argTypes:
    - unsigned
    - int
    - int*
    - cups_ptype_t
    - cups_ptype_t
    - cups_dest_block_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1225
    functionName: cupsEnumDestsBlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cupsEnumDests
    linkageType: ''
    returnType: int
    signature: "int cupsEnumDestsBlock(\n    unsigned          flags,\t\t/* I - Enumeration
      flags */\n    int               timeout,\t\t/* I - Timeout in milliseconds,
      0 for indefinite */\n    int               *cancel,\t\t/* I - Pointer to \"cancel\"
      variable */\n    cups_ptype_t      type,\t\t/* I - Printer type bits */\n    cups_ptype_t
      \     mask,\t\t/* I - Mask for printer type bits */\n    cups_dest_block_t block)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1246,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1247,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1249,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - num_dests
    - dests
    argTypes:
    - int
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1233
    functionDepth: 1
    functionLinenumber: 1233
    functionLinenumberEnd: 1253
    functionName: cupsFreeDests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - free
    - _cupsStrFree
    - cupsFreeOptions
    linkageType: ''
    returnType: void
    signature: "void cupsFreeDests(int         num_dests,\t/* I - Number of destinations
      */\n              cups_dest_t *dests)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cups_find_dest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1297,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - name
    - instance
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - int
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1304
    functionName: cupsGetDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 3
    functionsReached:
    - cups_find_dest
    linkageType: ''
    returnType: cups_dest_t
    signature: "cups_dest_t *\t\t\t\t/* O - Destination pointer or @code NULL@ */\ncupsGetDest(const
      char  *name,\t\t/* I - Destination name or @code NULL@ for the default destination
      */\n            const char\t*instance,\t/* I - Instance name or @code NULL@
      */\n            int         num_dests,\t/* I - Number of destinations */\n            cups_dest_t
      *dests)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1333,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1333,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1341,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1347,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1347,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1353,1
    - Dst: cups_dnssd_resolve
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1355,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1360,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1364,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1364,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - dest
    - resource
    - resourcesize
    argTypes:
    - cups_dest_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1370
    functionName: _cupsGetDestResource
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - cups_dnssd_resolve
    - httpSeparateURI
    - strstr
    - _cupsSetError
    - _
    - cupsGetOption
    - strerror
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Printer URI */\n_cupsGetDestResource(\n    cups_dest_t
      *dest,\t\t\t/* I - Destination */\n    char        *resource,\t\t/* I - Resource
      buffer */\n    size_t      resourcesize)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: appleGetPaperSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1458,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1471,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1473,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1477,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1478,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1482,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1483,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1484,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1489,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1491,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1499,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1535,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1536,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1537,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1538,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1539,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1540,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1541,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1542,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1543,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1544,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1545,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1546,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1547,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1548,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1549,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1550,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1551,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1552,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1553,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1554,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1555,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1556,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1562,1
    - Dst: cups_make_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1563,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1568,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1577,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1579,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1585,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1588,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1595,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1601,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1604,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1605,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1606,1
    - Dst: cups_make_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1607,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1619,1
    - Dst: cups_add_dest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1627,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1633,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1639,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 58
    argCount: 6
    argNames:
    - http
    - op
    - name
    - dests
    - type
    - mask
    argTypes:
    - http_t*
    - ipp_op_t
    - char*
    - cups_dest_t**
    - cups_ptype_t
    - cups_ptype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1396
    functionDepth: 3
    functionLinenumber: 1396
    functionLinenumberEnd: 1647
    functionName: _cupsGetDests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - strstr
    - cupsGetOption
    - ippAddString
    - cupsUser
    - ippAddInteger
    - cups_add_dest
    - ippDelete
    - strlcpy
    - appleGetPaperSize
    - _cups_strcasecmp
    - ippAddStrings
    - cupsFreeOptions
    - cupsDoRequest
    - ippNewRequest
    - strcmp
    - httpAssembleURIf
    - cupsAddOption
    - ippPort
    - strncmp
    - cups_make_string
    linkageType: ''
    returnType: int
    signature: "int _cupsGetDests(http_t       *http,\t/* I  - Connection to server
      or\n\t\t\t\t\t *      @code CUPS_HTTP_DEFAULT@ */\n\t      ipp_op_t     op,\t\t/*
      I  - IPP operation */\n\t      const char   *name,\t/* I  - Name of destination
      */\n\t      cups_dest_t  **dests,\t/* IO - Destinations */\n\t      cups_ptype_t
      type,\t/* I  - Printer type bits */\n\t      cups_ptype_t mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetDests2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dests
    argTypes:
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1669
    functionName: cupsGetDests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - cupsGetDests2
    linkageType: ''
    returnType: int
    signature: int cupsGetDests(cups_dest_t **dests)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1703,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1712,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1712,1
    - Dst: _cupsGetDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1721,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1723,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1725,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1737,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1740,1
    - Dst: _cupsUserDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1754,1
    - Dst: cupsGetDefault2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1756,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1758,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1768,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1775,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1785,1
    - Dst: cups_get_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1786,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1789,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1791,1
    - Dst: cups_get_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1793,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1809,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1815,1
    - Dst: cupsRemoveDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1822,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1831,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1839,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 2
    argNames:
    - http
    - dests
    argTypes:
    - http_t*
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1689
    functionDepth: 4
    functionLinenumber: 1689
    functionLinenumberEnd: 1842
    functionName: cupsGetDests2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - cupsGetDest
    - cupsRemoveDest
    - _cupsGetDests
    - calloc
    - _cupsSetError
    - _
    - _cupsUserDefault
    - snprintf
    - strlcpy
    - cupsFreeDests
    - memcpy
    - strchr
    - free
    - _cupsGlobals
    - cups_get_dests
    - cupsLastError
    - cupsGetDefault2
    - getenv
    linkageType: ''
    returnType: int
    signature: "int cupsGetDests2(http_t      *http,\t/* I - Connection to server
      or @code CUPS_HTTP_DEFAULT@ */\n              cups_dest_t **dests)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1874,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1878,1
    - Dst: _cupsUserDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1888,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1894,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1908,1
    - Dst: cups_get_default
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1910,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1919,1
    - Dst: cups_get_default
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1921,1
    - Dst: _cupsGetDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1938,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1942,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1951,1
    - Dst: cups_get_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1952,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1956,1
    - Dst: cups_get_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1958,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - http
    - name
    - instance
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1866
    functionDepth: 4
    functionLinenumber: 1866
    functionLinenumberEnd: 1966
    functionName: cupsGetNamedDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cups_get_default
    - _cupsGetDests
    - _cupsUserDefault
    - snprintf
    - strchr
    - _cupsGlobals
    - cups_get_dests
    - getenv
    - _cupsStrAlloc
    linkageType: ''
    returnType: cups_dest_t
    signature: "cups_dest_t *\t\t\t\t/* O - Destination or @code NULL@ */\ncupsGetNamedDest(http_t
      \    *http,\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n                 const
      char *name,\t/* I - Destination name or @code NULL@ for the default destination
      */\n                 const char *instance)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:1994,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2001,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2002,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2003,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - name
    - instance
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - int
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1980
    functionDepth: 2
    functionLinenumber: 1980
    functionLinenumberEnd: 2017
    functionName: cupsRemoveDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - cupsGetDest
    - _cupsStrFree
    - memmove
    - cupsFreeOptions
    linkageType: ''
    returnType: int
    signature: "int cupsRemoveDest(const char  *name,\t/* I  - Destination name */\n
      \              const char  *instance,\t/* I  - Instance name or @code NULL@
      */\n\t       int         num_dests,\t/* I  - Number of destinations */\n\t       cups_dest_t
      **dests)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2050,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2053,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 5
    argCount: 4
    argNames:
    - name
    - instance
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - int
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2026
    functionDepth: 1
    functionLinenumber: 2026
    functionLinenumberEnd: 2054
    functionName: cupsSetDefaultDest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: void
    signature: "void cupsSetDefaultDest(\n    const char  *name,\t\t\t/* I - Destination
      name */\n    const char  *instance,\t\t/* I - Instance name or @code NULL@ */\n
      \   int         num_dests,\t\t/* I - Number of destinations */\n    cups_dest_t
      *dests)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsSetDests2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - num_dests
    - dests
    argTypes:
    - int
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2069
    functionName: cupsSetDests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - cupsSetDests2
    linkageType: ''
    returnType: void
    signature: "void cupsSetDests(int         num_dests,\t/* I - Number of destinations
      */\n             cups_dest_t *dests)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2100,1
    - Dst: _cupsGetDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2114,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2116,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2118,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2126,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2129,1
    - Dst: cups_get_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2135,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2141,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2147,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2148,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2149,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2151,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2160,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2162,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2172,1
    - Dst: fchmod
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2173,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2173,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2190,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2197,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2198,1
    - Dst: _ippFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2206,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2216,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2218,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2227,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2229,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2235,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2236,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2237,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2238,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2244,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2248,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2249,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2251,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2254,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2262,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2266,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2270,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2277,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2279,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2287,1
    - Dst: CFStringCreateWithCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2289,1
    - Dst: _cupsAppleSetDefaultPrinter
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2296,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2297,1
    - Dst: notify_post
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2308,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 74
    argCount: 3
    argNames:
    - http
    - num_dests
    - dests
    argTypes:
    - http_t*
    - int
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2081
    functionDepth: 4
    functionLinenumber: 2081
    functionLinenumberEnd: 2312
    functionName: cupsSetDests2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - fputs
    - cupsGetOption
    - fprintf
    - _cupsAppleSetDefaultPrinter
    - getuid
    - cups_get_dests
    - snprintf
    - cupsLastError
    - fclose
    - cupsGetDest
    - fchmod
    - _cupsGetDests
    - _ippFindOption
    - CFRelease
    - CFStringCreateWithCString
    - _cupsGlobals
    - getenv
    - _cups_strcasecmp
    - notify_post
    - access
    - cupsFreeDests
    - mkdir
    - fopen
    - fileno
    - strchr
    - putc
    linkageType: ''
    returnType: int
    signature: "int cupsSetDests2(http_t      *http,\t/* I - Connection to server
      or @code CUPS_HTTP_DEFAULT@ */\n              int         num_dests,\t/* I -
      Number of destinations */\n              cups_dest_t *dests)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2330,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2331,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2331,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2336,1
    - Dst: _cupsAppleCopyDefaultPrinter
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2346,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2348,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2349,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - name
    - namesize
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2366
      start: 2320
    functionDepth: 2
    functionLinenumber: 2320
    functionLinenumberEnd: 2366
    functionName: _cupsUserDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - strcmp
    - _cupsAppleCopyDefaultPrinter
    - strlcpy
    - CFRelease
    - getenv
    - CFStringGetCString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Default printer or NULL */\n_cupsUserDefault(char
      \  *name,\t\t/* I - Name buffer */\n                 size_t namesize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CFPreferencesCopyAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2384,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2388,1
    - Dst: CFArrayGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2388,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2374
    functionDepth: 0
    functionLinenumber: 2374
    functionLinenumberEnd: 2395
    functionName: appleCopyLocations
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - CFRelease
    - CFGetTypeID
    - CFArrayGetTypeID
    - CFPreferencesCopyAppValue
    linkageType: ''
    returnType: CFArrayRef
    signature: CFArrayRef appleCopyLocations(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: SCDynamicStoreCreate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2411,1
    - Dst: CFSTR
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2411,1
    - Dst: SCDynamicStoreKeyCreateNetworkGlobalEntity
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2419,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2422,1
    - Dst: CFDictionaryGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2424,1
    - Dst: CFRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2426,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2428,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2431,1
    - Dst: SCDynamicStoreKeyCreateNetworkGlobalEntity
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2441,1
    - Dst: SCDynamicStoreCopyValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2444,1
    - Dst: CFDictionaryGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2446,1
    - Dst: CFRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2448,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2450,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2453,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2461
    functionName: appleCopyNetwork
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - CFRelease
    - SCDynamicStoreCreate
    - CFSTR
    - CFRetain
    - CFDictionaryGetValue
    - SCDynamicStoreKeyCreateNetworkGlobalEntity
    - SCDynamicStoreCopyValue
    linkageType: ''
    returnType: CFStringRef
    signature: CFStringRef appleCopyNetwork(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsAppleCopyDefaultPaperID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2476,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2478,1
    - Dst: CFStringGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2478,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2479,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2482,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2483,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - name
    - namesize
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2468
    functionDepth: 1
    functionLinenumber: 2468
    functionLinenumberEnd: 2489
    functionName: appleGetPaperSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - CFGetTypeID
    - _cupsAppleCopyDefaultPaperID
    - strlcpy
    - CFRelease
    - pwgMediaForLegacy
    - CFStringGetTypeID
    - CFStringGetCString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Default paper size */\nappleGetPaperSize(char
      *name,\t\t/* I - Paper size name buffer */\n                  int  namesize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2508,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2509,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2510,1
    - Dst: CFDictionaryGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2510,1
    - Dst: CFDictionaryGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2512,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2514,1
    - Dst: CFStringGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2514,1
    - Dst: CFStringCompare
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2515,1
    - Dst: CFDictionaryGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2516,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2518,1
    - Dst: CFStringGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 3
    argNames:
    - locations
    - network
    - locindex
    argTypes:
    - CFArrayRef
    - CFStringRef
    - CFIndex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2528
    functionName: appleGetPrinter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - CFGetTypeID
    - CFArrayGetCount
    - CFDictionaryGetTypeID
    - CFArrayGetValueAtIndex
    - CFStringGetTypeID
    - CFDictionaryGetValue
    - CFStringCompare
    linkageType: ''
    returnType: CFStringRef
    signature: "CFStringRef appleGetPrinter(CFArrayRef  locations,\t/* I - Location
      array */\n                CFStringRef network,\t/* I - Network name */\n\t\tCFIndex
      \    *locindex)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2554,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2556,1
    - Dst: cups_find_dest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2571,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2583,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2593,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2594,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - name
    - instance
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - int*
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2538
    functionDepth: 5
    functionLinenumber: 2538
    functionLinenumberEnd: 2600
    functionName: cups_add_dest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 3
    functionsReached:
    - cups_find_dest
    - memmove
    - malloc
    - _cupsStrAlloc
    - realloc
    linkageType: ''
    returnType: cups_dest_t
    signature: "cups_dest_t *\t\t\t/* O  - New destination */\ncups_add_dest(const
      char  *name,\t/* I  - Name of destination */\n              const char  *instance,\t/*
      I  - Instance or NULL */\n              int         *num_dests,\t/* IO - Number
      of destinations */\n\t      cups_dest_t **dests)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - block
    - flags
    - dest
    argTypes:
    - cups_dest_block_t
    - unsigned
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2608
    functionDepth: 0
    functionLinenumber: 2608
    functionLinenumberEnd: 2615
    functionName: cups_block_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cups_block_cb(\n    cups_dest_block_t block,\t\t/* I - Block */\n
      \   unsigned          flags,\t\t/* I - Destination flags */\n    cups_dest_t
      \      *dest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2630,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cups_dest_t*
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2636
      start: 2623
    functionDepth: 1
    functionLinenumber: 2623
    functionLinenumberEnd: 2636
    functionName: cups_compare_dests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int cups_compare_dests(cups_dest_t *a,\t/* I - First destination */\n
      \                  cups_dest_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2660,1
    - Dst: cups_dnssd_get_device
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 8
    argNames:
    - sdRef
    - flags
    - interfaceIndex
    - errorCode
    - serviceName
    - regtype
    - replyDomain
    - context
    argTypes:
    - DNSServiceRef
    - DNSServiceFlags
    - uint32_t
    - DNSServiceErrorType
    - char*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2645
    functionDepth: 1
    functionLinenumber: 2645
    functionLinenumberEnd: 2678
    functionName: cups_dnssd_browse_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cups_dnssd_get_device
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_browse_cb(\n    DNSServiceRef       sdRef,\t\t/* I
      - Service reference */\n    DNSServiceFlags     flags,\t\t/* I - Option flags
      */\n    uint32_t            interfaceIndex,\t/* I - Interface number */\n    DNSServiceErrorType
      errorCode,\t/* I - Error, if any */\n    const char          *serviceName,\t/*
      I - Name of service/device */\n    const char          *regtype,\t/* I - Type
      of service */\n    const char          *replyDomain,\t/* I - Service domain
      */\n    void                *context)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: avahi_service_browser_get_client
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2699,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2713,1
    - Dst: avahi_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2714,1
    - Dst: avahi_client_errno
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2714,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2715,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2729,1
    - Dst: cups_dnssd_get_device
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 9
    argNames:
    - browser
    - interface
    - protocol
    - event
    - name
    - type
    - domain
    - flags
    - context
    argTypes:
    - AvahiServiceBrowser*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiBrowserEvent
    - char*
    - char*
    - char*
    - AvahiLookupResultFlags
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2686
    functionDepth: 1
    functionLinenumber: 2686
    functionLinenumberEnd: 2747
    functionName: cups_dnssd_browse_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - avahi_service_browser_get_client
    - avahi_simple_poll_quit
    - avahi_strerror
    - avahi_client_errno
    - cups_dnssd_get_device
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_browse_cb(\n    AvahiServiceBrowser    *browser,\t/*
      I - Browser */\n    AvahiIfIndex           interface,\t/* I - Interface index
      (unused) */\n    AvahiProtocol          protocol,\t/* I - Network protocol (unused)
      */\n    AvahiBrowserEvent      event,\t/* I - What happened */\n    const char
      \            *name,\t/* I - Service name */\n    const char             *type,\t/*
      I - Registration type */\n    const char             *domain,\t/* I - Domain
      */\n    AvahiLookupResultFlags flags,\t/* I - Flags */\n    void                   *context)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2772,1
    - Dst: avahi_simple_poll_quit
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - client
    - state
    - context
    argTypes:
    - AvahiClient*
    - AvahiClientState
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2775
    functionName: cups_dnssd_client_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - avahi_simple_poll_quit
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_client_cb(\n    AvahiClient      *client,\t\t/* I
      - Client information (unused) */\n    AvahiClientState state,\t\t/* I - Current
      state */\n    void             *context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _cups_dnssd_device_t*
    - _cups_dnssd_device_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2783
    functionDepth: 0
    functionLinenumber: 2783
    functionLinenumberEnd: 2789
    functionName: cups_dnssd_compare_devices
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int cups_dnssd_compare_devices(\n    _cups_dnssd_device_t *a,\t\t/*
      I - First device */\n    _cups_dnssd_device_t *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2801,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2806,1
    - Dst: avahi_record_browser_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2809,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2812,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2813,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2814,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2815,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2817,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - device
    - data
    argTypes:
    - _cups_dnssd_device_t*
    - _cups_dnssd_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2820
      start: 2796
    functionDepth: 1
    functionLinenumber: 2796
    functionLinenumberEnd: 2820
    functionName: cups_dnssd_free_device
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - avahi_record_browser_free
    - free
    - _cupsStrFree
    - DNSServiceRefDeallocate
    - cupsFreeOptions
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_free_device(\n    _cups_dnssd_device_t *device,\t/*
      I - Device */\n    _cups_dnssd_data_t   *data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2840,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2850,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2858,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2859,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2865,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2866,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2868,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2874,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2875,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2881,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2882,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2884,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2892,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2903,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2905,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2908,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2909,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2910,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2911,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2913,1
    - Dst: DNSServiceConstructFullName
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2921,1
    - Dst: avahi_service_name_join
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2924,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2928,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2929,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2934,1
    - Dst: avahi_record_browser_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2936,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - data
    - serviceName
    - regtype
    - replyDomain
    argTypes:
    - _cups_dnssd_data_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2827
    functionDepth: 1
    functionLinenumber: 2827
    functionLinenumberEnd: 2949
    functionName: cups_dnssd_get_device
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - cupsArrayFind
    - DNSServiceConstructFullName
    - strcmp
    - calloc
    - avahi_service_name_join
    - cupsArrayAdd
    - avahi_record_browser_free
    - _cupsStrFree
    - _cups_strcasecmp
    - _cupsStrAlloc
    - DNSServiceRefDeallocate
    linkageType: ''
    returnType: _cups_dnssd_device_t
    signature: "_cups_dnssd_device_t *\t\t/* O - Device */\ncups_dnssd_get_device(\n
      \   _cups_dnssd_data_t *data,\t\t/* I - Enumeration data */\n    const char
      \        *serviceName,\t/* I - Service name */\n    const char         *regtype,\t/*
      I - Registration type */\n    const char         *replyDomain)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2973,1
    - Dst: cups_dnssd_get_device
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2990,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:2996,1
    - Dst: DNSServiceRefDeallocate
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 8
    argNames:
    - sdRef
    - flags
    - interfaceIndex
    - errorCode
    - serviceName
    - regtype
    - replyDomain
    - context
    argTypes:
    - DNSServiceRef
    - DNSServiceFlags
    - uint32_t
    - DNSServiceErrorType
    - char*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2957
    functionDepth: 2
    functionLinenumber: 2957
    functionLinenumberEnd: 3009
    functionName: cups_dnssd_local_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - DNSServiceRefDeallocate
    - cups_dnssd_get_device
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_local_cb(\n    DNSServiceRef       sdRef,\t\t/* I
      - Service reference */\n    DNSServiceFlags     flags,\t\t/* I - Option flags
      */\n    uint32_t            interfaceIndex,\t/* I - Interface number */\n    DNSServiceErrorType
      errorCode,\t/* I - Error, if any */\n    const char          *serviceName,\t/*
      I - Name of service/device */\n    const char          *regtype,\t/* I - Type
      of service */\n    const char          *replyDomain,\t/* I - Service domain
      */\n    void                *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3036,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3040,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3040,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pollfds
    - num_pollfds
    - timeout
    - context
    argTypes:
    - struct pollfd*
    - unsigned int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3046
      start: 3022
    functionDepth: 1
    functionLinenumber: 3022
    functionLinenumberEnd: 3046
    functionName: cups_dnssd_poll_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - strerror
    - DEBUG_printf
    - poll
    linkageType: ''
    returnType: int
    signature: "int cups_dnssd_poll_cb(\n    struct pollfd *pollfds,\t\t/* I - File
      descriptors */\n    unsigned int  num_pollfds,\t\t/* I - Number of file descriptors
      */\n    int           timeout,\t\t/* I - Timeout in milliseconds (unused) */\n
      \   void          *context)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: avahi_record_browser_get_client
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3086,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3099,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3113,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3126,1
    - Dst: avahi_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3127,1
    - Dst: avahi_client_errno
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3127,1
    - Dst: cups_dnssd_unquote
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3139,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3141,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3144,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3169,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3197,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3200,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3204,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3208,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3209,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3210,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3211,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3212,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3213,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3214,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3215,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3215,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3223,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3226,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3229,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3231,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3233,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3235,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3238,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3239,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3242,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3253,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3260,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3267,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3274,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3278,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3279,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3281,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3282,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3284,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3285,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3287,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3288,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3290,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3291,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3293,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3294,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3296,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3297,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3299,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3300,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3302,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3304,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3306,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3308,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3311,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3312,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3314,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3315,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3317,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3318,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3320,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3321,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3330,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3336,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3337,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3339,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3345,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3351,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3352,1
    - Dst: cups_dnssd_unquote
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3360,1
    - Dst: httpAssembleURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3361,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3362,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3365,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3367,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3372,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 122
    argCount: 11
    argNames:
    - browser
    - interfaceIndex
    - protocol
    - event
    - fullName
    - rrclass
    - rrtype
    - rdata
    - rdlen
    - flags
    - context
    argTypes:
    - AvahiRecordBrowser*
    - AvahiIfIndex
    - AvahiProtocol
    - AvahiBrowserEvent
    - char*
    - uint16_t
    - uint16_t
    - void*
    - size_t
    - AvahiLookupResultFlags
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3070
    functionDepth: 2
    functionLinenumber: 3070
    functionLinenumberEnd: 3374
    functionName: cups_dnssd_query_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - strstr
    - strlen
    - avahi_record_browser_get_client
    - snprintf
    - DEBUG_printf
    - strtol
    - strlcpy
    - strlcat
    - _cups_strcasecmp
    - httpAssembleURI
    - cupsArrayFind
    - strcmp
    - cups_dnssd_unquote
    - cupsAddOption
    - strchr
    - memcpy
    - _cups_strncasecmp
    - avahi_strerror
    - avahi_client_errno
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_query_cb(\n    AvahiRecordBrowser     *browser,\t/*
      I - Record browser */\n    AvahiIfIndex           interfaceIndex,\n\t\t\t\t\t/*
      I - Interface index (unused) */\n    AvahiProtocol          protocol,\t/* I
      - Network protocol (unused) */\n    AvahiBrowserEvent      event,\t/* I - What
      happened? */\n    const char             *fullName,\t/* I - Service name */\n
      \   uint16_t               rrclass,\t/* I - Record class */\n    uint16_t               rrtype,\t/*
      I - Record type */\n    const void             *rdata,\t/* I - TXT record */\n
      \   size_t                 rdlen,\t/* I - Length of TXT record */\n    AvahiLookupResultFlags
      flags,\t/* I - Flags */\n    void                   *context)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3399,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3418,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3422,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3422,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3435,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3438,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - dest
    - uri
    - msec
    - cancel
    - cb
    - user_data
    argTypes:
    - cups_dest_t*
    - char*
    - int
    - int*
    - cups_dest_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3381
    functionDepth: 1
    functionLinenumber: 3381
    functionLinenumberEnd: 3440
    functionName: cups_dnssd_resolve
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - _httpResolveURI
    - cupsAddOption
    - _cupsSetError
    - _
    - cupsGetOption
    - gettimeofday
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t/* O - Resolved URI or NULL */\ncups_dnssd_resolve(\n
      \   cups_dest_t    *dest,\t\t/* I - Destination */\n    const char     *uri,\t\t/*
      I - Current printer URI */\n    int            msec,\t\t/* I - Time in milliseconds
      */\n    int            *cancel,\t\t/* I - Pointer to \"cancel\" variable */\n
      \   cups_dest_cb_t cb,\t\t\t/* I - Callback */\n    void           *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3447
    functionDepth: 1
    functionLinenumber: 3447
    functionLinenumberEnd: 3471
    functionName: cups_dnssd_resolve_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 0
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: int
    signature: int cups_dnssd_resolve_cb(void *context)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3491,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3491,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - dst
    - src
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3505
    functionName: cups_dnssd_unquote
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: void
    signature: "void cups_dnssd_unquote(char       *dst,\t/* I - Destination buffer
      */\n                   const char *src,\t/* I - Source string */\n\t\t   size_t
      \    dstsize)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cups_compare_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3537,1
    - Dst: cups_compare_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3576,1
    - Dst: cups_compare_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3593,1
    - Dst: cups_compare_dests
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3597,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 6
    argNames:
    - name
    - instance
    - num_dests
    - dests
    - prev
    - rdiff
    argTypes:
    - char*
    - char*
    - int
    - cups_dest_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3513
    functionDepth: 2
    functionLinenumber: 3513
    functionLinenumberEnd: 3609
    functionName: cups_find_dest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 2
    functionsReached:
    - cups_compare_dests
    linkageType: ''
    returnType: int
    signature: "int cups_find_dest(const char  *name,\t/* I - Destination name */\n
      \              const char  *instance,\t/* I - Instance or NULL */\n               int
      \        num_dests,\t/* I - Number of destinations */\n\t       cups_dest_t
      *dests,\t/* I - Destinations */\n\t       int         prev,\t/* I - Previous
      index */\n\t       int         *rdiff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3631,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3635,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3637,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3639,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3641,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3643,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3646,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3654,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - filename
    - namebuf
    - namesize
    - instance
    argTypes:
    - char*
    - char*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3658
      start: 3616
    functionDepth: 2
    functionLinenumber: 3616
    functionLinenumberEnd: 3658
    functionName: cups_get_default
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - cupsFileGetConf
    - strlcpy
    - strchr
    - cupsFileOpen
    - _cups_strcasecmp
    - cupsFileClose
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Default destination or NULL */\ncups_get_default(const
      char *filename,\t/* I - File to read */\n                 char       *namebuf,\t/*
      I - Name buffer */\n\t\t size_t     namesize,\t/* I - Size of name buffer */\n\t\t
      const char **instance)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3684,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3693,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3705,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3711,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3714,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3714,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3716,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3726,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3742,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3751,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3761,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3764,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3769,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3771,1
    - Dst: cupsAddDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3780,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3782,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3788,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3797,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3811,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3813,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3826,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    argCount: 6
    argNames:
    - filename
    - match_name
    - match_inst
    - user_default_set
    - num_dests
    - dests
    argTypes:
    - char*
    - char*
    - char*
    - int
    - int
    - cups_dest_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3665
    functionDepth: 2
    functionLinenumber: 3665
    functionLinenumberEnd: 3829
    functionName: cups_get_dests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 3
    functionsReached:
    - cupsGetDest
    - DEBUG_printf
    - cupsFileGetConf
    - cupsParseOptions
    - isspace
    - cupsAddDest
    - DEBUG_puts
    - cupsFileOpen
    - _cups_strcasecmp
    - cupsFileClose
    linkageType: ''
    returnType: int
    signature: "int cups_get_dests(\n    const char  *filename,\t\t/* I - File to
      read from */\n    const char  *match_name,\t\t/* I - Destination name we want
      */\n    const char  *match_inst,\t\t/* I - Instance name we want */\n    int
      \        user_default_set,\t/* I - User default printer set? */\n    int         num_dests,\t\t/*
      I - Number of destinations */\n    cups_dest_t **dests)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3876,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3881,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3883,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3888,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3890,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3898,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest.c:3913,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 38
    argCount: 3
    argNames:
    - attr
    - buffer
    - bufsize
    argTypes:
    - ipp_attribute_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3919
      start: 3837
    functionDepth: 0
    functionLinenumber: 3837
    functionLinenumberEnd: 3919
    functionName: cups_make_string
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strlcpy
    - strlen
    - strchr
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - New string */\ncups_make_string(\n    ipp_attribute_t
      *attr,\t\t/* I - Attribute to convert */\n    char            *buffer,\t\t/*
      I - Buffer */\n    size_t          bufsize)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:279,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:281,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:287,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:289,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:291,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:294,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:295,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:296,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:297,1
    - Dst: ippAddCollection
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:298,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:299,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:300,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:302,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:305,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:306,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:307,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:308,1
    - Dst: ippAddCollection
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:309,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:310,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:311,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:313,1
    - Dst: ippAddCollections
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:316,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:318,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:319,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:321,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:324,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:329,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:335,1
    - Dst: ippWriteIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:341,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:348,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:353,1
    - Dst: hex_dump
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:355,1
    - Dst: hex_dump
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:356,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:359,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:365,1
    - Dst: hex_dump
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:366,1
    - Dst: hex_dump
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:367,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:371,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:373,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:379,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:381,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:384,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:389,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:393,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:398,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:400,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:405,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:407,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:411,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:413,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:414,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:417,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:419,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:421,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:421,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:427,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:431,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:435,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:436,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:440,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:443,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:445,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:446,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:452,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:455,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:457,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:459,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:460,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:466,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:470,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:474,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:476,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:478,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:479,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:485,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:490,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:493,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:494,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:498,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:501,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:503,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:504,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:510,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:514,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:516,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:518,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:519,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:525,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:529,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:533,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:535,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:537,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:538,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:544,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:549,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:553,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:560,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:562,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:568,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:573,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:577,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:582,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:584,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:589,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:591,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:595,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:597,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:598,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:601,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:606,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:606,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:611,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:619,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:627,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:629,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:636,1
    - Dst: _ippCheckOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:637,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:638,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:641,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:650,1
    - Dst: _ippFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:651,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:652,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:655,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:663,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:666,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:668,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:678,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:680,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:680,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:685,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:686,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:691,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:696,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:697,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:700,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:701,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 242
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 706
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testipp.c
    functionUses: 2
    functionsReached:
    - ippNew
    - fputs
    - ippAddString
    - memcmp
    - ippLength
    - ippAddInteger
    - ippDelete
    - _ippFindOption
    - ippAddCollections
    - ippFindAttribute
    - putchar
    - cupsFileClose
    - ippTagString
    - printf
    - ippAddCollection
    - strerror
    - ippReadIO
    - puts
    - print_attributes
    - ippWriteIO
    - cupsFileOpen
    - _ippCheckOptions
    - hex_dump
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t/* I - Number of command-line arguments */\n
      \    char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:726,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:734,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:742,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:744,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:750,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:751,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:758,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:760,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - title
    - buffer
    - bytes
    argTypes:
    - char*
    - ipp_uchar_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 765
    functionName: hex_dump
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testipp.c
    functionUses: 1
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void hex_dump(const char  *title,\t\t/* I - Title */\n         ipp_uchar_t
      *buffer,\t\t/* I - Buffer to dump */\n         int         bytes)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:865,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:873,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:876,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:878,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:879,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:886,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:887,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:892,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:893,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:898,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:899,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:907,1
    - Dst: _cupsStrDate
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:907,1
    - Dst: ippDateToTime
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:907,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:909,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:914,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:916,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:931,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:932,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:936,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:941,1
    - Dst: print_attributes
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:942,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:947,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 2
    argNames:
    - ipp
    - indent
    argTypes:
    - ipp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 951
    functionName: print_attributes
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testipp.c
    functionUses: 2
    functionsReached:
    - printf
    - ippDateToTime
    - print_attributes
    - _cupsStrDate
    - putchar
    linkageType: ''
    returnType: void
    signature: "void print_attributes(ipp_t *ipp,\t\t/* I - IPP request */\n                 int
      \  indent)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - buffer
    - bytes
    argTypes:
    - _ippdata_t*
    - ipp_uchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 981
    functionName: read_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testipp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t read_cb(_ippdata_t   *data,\t\t/* I - Data */\n        ipp_uchar_t
      *buffer,\t\t/* O - Buffer to read */\n\tsize_t      bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testipp.c:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - data
    - buffer
    - bytes
    argTypes:
    - _ippdata_t*
    - ipp_uchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 1011
    functionName: write_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testipp.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t write_cb(_ippdata_t   *data,\t\t/* I - Data */\n         ipp_uchar_t
      *buffer,\t\t/* I - Buffer to write */\n\t size_t      bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:52,1
    - Dst: _cupsMD5Init
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:53,1
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:54,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:54,1
    - Dst: _cupsMD5Finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:55,1
    - Dst: httpMD5String
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - username
    - realm
    - passwd
    - md5
    argTypes:
    - char*
    - char*
    - char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: httpMD5
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c
    functionUses: 0
    functionsReached:
    - _cupsMD5Finish
    - _cupsMD5Append
    - strlen
    - httpMD5String
    - _cupsMD5Init
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - MD5 sum */\nhttpMD5(const char *username,\t\t/*
      I - User name */\n        const char *realm,\t\t/* I - Realm name */\n        const
      char *passwd,\t\t/* I - Password string */\n\tchar       md5[33])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:87,1
    - Dst: _cupsMD5Init
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:88,1
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:89,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:89,1
    - Dst: _cupsMD5Finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:90,1
    - Dst: httpMD5String
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:91,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:99,1
    - Dst: _cupsMD5Init
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:101,1
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:102,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:102,1
    - Dst: _cupsMD5Finish
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:103,1
    - Dst: httpMD5String
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - nonce
    - method
    - resource
    - md5
    argTypes:
    - char*
    - char*
    - char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 106
    functionName: httpMD5Final
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c
    functionUses: 0
    functionsReached:
    - _cupsMD5Finish
    - _cupsMD5Append
    - strlen
    - httpMD5String
    - _cupsMD5Init
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - New sum */\nhttpMD5Final(const char *nonce,\t\t/*
      I - Server nonce value */\n             const char *method,\t/* I - METHOD (GET,
      POST, etc.) */\n\t     const char *resource,\t/* I - Resource path */\n             char
      \      md5[33])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - sum
    - md5
    argTypes:
    - unsigned char*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 137
    functionName: httpMD5String
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5passwd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - MD5 sum in hex */\nhttpMD5String(const unsigned
      char *sum,\t/* I - MD5 sum data */\n              char                md5[33])"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: ippEnumString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:650,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:653,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:655,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:660,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:662,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:667,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:675,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:678,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:684,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:689,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:702,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:706,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:713,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:715,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:757,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:758,1
    - Dst: ipp_col_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:768,1
    - Dst: ipp_col_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:771,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:778,1
    - Dst: isprint
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:788,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:791,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:794,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:807,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:809,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:810,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 126
    argCount: 3
    argNames:
    - attr
    - buffer
    - bufsize
    argTypes:
    - ipp_attribute_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 821
    functionName: ippAttributeString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 2
    functionsReached:
    - ippTagString
    - ippEnumString
    - strlen
    - ipp_col_string
    - _cups_isspace
    - strlcpy
    - isprint
    - snprintf
    linkageType: ''
    returnType: size_t
    signature: "size_t ippAttributeString(\n    ipp_attribute_t *attr,\t\t/* I - Attribute
      */\n    char            *buffer,\t\t/* I - String buffer or NULL */\n    size_t
      \         bufsize)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1644,1
    - Dst: ippGetOperation
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1652,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1654,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1655,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1656,1
    - Dst: ippGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1668,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1669,1
    - Dst: ippGetString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1669,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1676,1
    - Dst: ippGetString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1681,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1683,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1683,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1689,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1694,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1694,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1699,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1704,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1704,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1709,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1714,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1714,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1719,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1724,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1724,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1730,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1735,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1735,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1741,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1746,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1746,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1752,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1758,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 1762
    functionName: ippCreateRequestedArray
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 0
    functionsReached:
    - cupsArrayNew
    - strcmp
    - cupsArrayAdd
    - ippGetOperation
    - ippGetCount
    - ippGetString
    - ippFindAttribute
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - CUPS array or @code NULL@ if all */\nippCreateRequestedArray(ipp_t
      *request)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1773,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1780,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1785,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1786,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1787,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1788,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1789,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1790,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1791,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1792,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1803,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1804,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1809,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1812,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1813,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1814,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1815,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1816,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1817,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1822,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1823,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1824,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1825,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1830,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1838,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 23
    argCount: 2
    argNames:
    - attrname
    - enumvalue
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1840
    functionName: ippEnumString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 1
    functionsReached:
    - snprintf
    - ippOpString
    - _cupsGlobals
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Enum string */\nippEnumString(const char *attrname,\t/*
      I - Attribute name */\n              int        enumvalue)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1860,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1861,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1867,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1872,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1873,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1874,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1875,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1876,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1882,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1888,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1889,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1895,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1900,1
    - Dst: ippOpValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1901,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1902,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1903,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1904,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1905,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1911,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1912,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1913,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1914,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1919,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1928,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 2
    argNames:
    - attrname
    - enumstring
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1932
    functionName: ippEnumValue
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 0
    functionsReached:
    - ippOpValue
    - strtol
    - isdigit
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ippEnumValue(const char *attrname,\t/* I - Attribute name */\n
      \            const char *enumstring)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1942,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1973,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 17
    argCount: 1
    argNames:
    - error
    argTypes:
    - ipp_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1976
    functionName: ippErrorString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 4
    functionsReached:
    - sprintf
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Text string */\nippErrorString(ipp_status_t error)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1992,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1995,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:1998,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2002,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2006,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2010,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2014,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2018
    functionName: ippErrorValue
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: ipp_status_t
    signature: ipp_status_t ippErrorValue(const char *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2030,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - op
    argTypes:
    - ipp_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2053
    functionName: ippOpString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 1
    functionsReached:
    - sprintf
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Name */\nippOpString(ipp_op_t op)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2068,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2069,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2072,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2075,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2079,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2083,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2086,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2089,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2092,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2095,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2099
      start: 2062
    functionDepth: 1
    functionLinenumber: 2062
    functionLinenumberEnd: 2099
    functionName: ippOpValue
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 1
    functionsReached:
    - _cups_strcasecmp
    - strncmp
    - strtol
    linkageType: ''
    returnType: ipp_op_t
    signature: ipp_op_t ippOpValue(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2109,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2112,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2115,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2120
    functionName: ippPort
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 1
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - _cupsSetDefaults
    - _cupsGlobals
    linkageType: ''
    returnType: int
    signature: int ippPort(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2130,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2133
    functionName: ippSetPort
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void ippSetPort(int p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tag
    argTypes:
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2153
    functionName: ippTagString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Tag name */\nippTagString(ipp_tag_t tag)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2171,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2174,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2176,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2178,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2180,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2182,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2184,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2186,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2188,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2190,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2192,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2194,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2198
    functionName: ippTagValue
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: ipp_tag_t
    signature: ipp_tag_t ippTagValue(const char *name)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2231,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2233,1
    - Dst: ippAttributeString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2236,1
    - Dst: ippAttributeString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c:2238,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 26
    argCount: 3
    argNames:
    - col
    - buffer
    - bufsize
    argTypes:
    - ipp_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2205
    functionDepth: 2
    functionLinenumber: 2205
    functionLinenumberEnd: 2253
    functionName: ipp_col_string
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp-support.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strlen
    - ippAttributeString
    linkageType: ''
    returnType: size_t
    signature: "size_t ipp_col_string(ipp_t  *col,\t\t/* I - Collection attribute
      */\n               char   *buffer,\t\t/* I - Buffer or NULL */\n               size_t
      bufsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: iconv_close
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:64,1
    - Dst: iconv_close
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 76
    functionName: _cupsCharmapFlush
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/transcode.c
    functionUses: 0
    functionsReached:
    - iconv_close
    linkageType: ''
    returnType: void
    signature: void _cupsCharmapFlush(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:101,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:109,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:120,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:121,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:161,1
    - Dst: _cupsCharmapFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:165,1
    - Dst: iconv_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:167,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:167,1
    - Dst: iconv_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:168,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:168,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:176,1
    - Dst: iconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:179,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:182,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:187,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - dest
    - src
    - maxout
    - encoding
    argTypes:
    - cups_utf8_t*
    - char*
    - int
    - cups_encoding_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 197
    functionName: cupsCharsetToUTF8
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/transcode.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsMutexUnlock
    - _cupsCharmapFlush
    - strlen
    - _cupsEncodingName
    - strlcpy
    - iconv
    - DEBUG_puts
    - _cupsMutexLock
    - iconv_open
    linkageType: ''
    returnType: int
    signature: "int cupsCharsetToUTF8(\n    cups_utf8_t           *dest,\t/* O - Target
      string */\n    const char            *src,\t\t/* I - Source string */\n    const
      int             maxout,\t/* I - Max output */\n    const cups_encoding_t encoding)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:237,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:238,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:286,1
    - Dst: _cupsCharmapFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:290,1
    - Dst: iconv_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:292,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:292,1
    - Dst: iconv_open
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:293,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:293,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:301,1
    - Dst: iconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:304,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:307,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:312,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 4
    argNames:
    - dest
    - src
    - maxout
    - encoding
    argTypes:
    - char*
    - cups_utf8_t*
    - int
    - cups_encoding_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 322
    functionName: cupsUTF8ToCharset
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/transcode.c
    functionUses: 0
    functionsReached:
    - _cupsMutexUnlock
    - _cupsCharmapFlush
    - strlen
    - _cupsEncodingName
    - strlcpy
    - iconv
    - _cupsMutexLock
    - iconv_open
    linkageType: ''
    returnType: int
    signature: "int cupsUTF8ToCharset(\n    char\t\t  *dest,\t/* O - Target string
      */\n    const cups_utf8_t\t  *src,\t\t/* I - Source string */\n    const int\t\t
      \ maxout,\t/* I - Max output */\n    const cups_encoding_t encoding)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:357,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:365,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:390,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:402,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:415,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:422,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:434,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:444,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:457,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:464,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:476,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:486,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:496,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:509,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:516,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:525,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:540,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 3
    argNames:
    - dest
    - src
    - maxout
    argTypes:
    - cups_utf32_t*
    - cups_utf8_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 543
    functionName: cupsUTF8ToUTF32
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/transcode.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int cupsUTF8ToUTF32(\n    cups_utf32_t      *dest,\t\t/* O - Target
      string */\n    const cups_utf8_t *src,\t\t/* I - Source string */\n    const
      int         maxout)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:578,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:586,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:598,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:625,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:643,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:653,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:662,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:673,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:683,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:694,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:705,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/transcode.c:712,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 3
    argNames:
    - dest
    - src
    - maxout
    argTypes:
    - cups_utf8_t*
    - cups_utf32_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 715
    functionName: cupsUTF32ToUTF8
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/transcode.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int cupsUTF32ToUTF8(\n    cups_utf8_t        *dest,\t\t/* O - Target
      string */\n    const cups_utf32_t *src,\t\t/* I - Source string */\n    const
      int          maxout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: _PWG_EQUIVALENT
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PWG_EQUIVALENT(x, y)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:110,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:121,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:121,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:129,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:131,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:131,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:139,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:141,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:141,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:142,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:143,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:147,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:149,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:149,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:150,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:151,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:155,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:157,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:157,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:158,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:160,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:168,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:170,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:170,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:171,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:187,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:189,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:194,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:196,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:196,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:199,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:202,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:206,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:208,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:211,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:215,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:217,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:219,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:221,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:223,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:225,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:227,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:228,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:233,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:234,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:234,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:239,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:240,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:240,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:250,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:252,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:255,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:256,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:256,1
    - Dst: cupsFileSeek
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:266,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:269,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:271,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:272,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:272,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:276,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:280,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:281,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:281,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:285,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:287,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:289,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:289,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:293,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:295,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:297,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:297,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:301,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:303,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:305,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:306,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:306,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:312,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:314,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:314,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:319,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:320,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:324,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:328,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:329,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:329,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:333,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:335,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:337,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:337,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:343,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:345,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:347,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:347,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:352,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:356,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:358,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:358,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:364,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:368,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:370,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:370,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:374,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:375,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:379,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:383,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:385,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:385,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:389,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:395,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:397,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:397,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:401,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:403,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:405,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:407,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:409,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:411,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:413,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:417,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:419,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:419,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:423,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:425,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:427,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:427,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:431,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:433,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:435,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:435,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:439,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:441,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:443,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:445,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:445,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:451,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:453,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:453,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:458,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:459,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:463,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:467,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:468,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:468,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:472,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:474,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:476,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:476,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:480,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:482,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:484,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:484,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:488,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:490,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:492,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:494,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:494,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:500,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:502,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:502,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:507,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:508,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:512,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:518,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:519,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:527,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:529,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:529,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:534,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:537,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:538,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:539,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:540,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:541,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:542,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:543,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:544,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:545,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:549,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:553,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:556,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:557,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:560,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:562,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:563,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:564,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:565,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:566,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:567,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:568,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:569,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:570,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:571,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:572,1
    - Dst: _cupsArrayAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:575,1
    - Dst: _cupsArrayNewStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:577,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:579,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:582,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:586,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:590,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:597,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:599,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:599,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:605,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:607,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:607,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:613,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:615,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:615,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:619,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:629,1
    - Dst: _ppdCacheDestroy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:630,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:634,1
    CyclomaticComplexity: 119
    EdgeCount: 119
    ICount: 353
    argCount: 2
    argNames:
    - filename
    - attrs
    argTypes:
    - char*
    - ipp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 639
    functionName: _ppdCacheCreateWithFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - ippNew
    - sscanf
    - cupsFileGets
    - cupsArrayNew3
    - _cupsStrAlloc
    - pwgFormatSizeName
    - DEBUG_printf
    - strtol
    - _ppdCacheDestroy
    - _cupsSetError
    - cupsFileTell
    - cupsFileSeek
    - ippDelete
    - DEBUG_puts
    - _cups_strcasecmp
    - cupsFileClose
    - _cupsArrayAddStrings
    - cupsFileGetConf
    - _
    - _cupsArrayNewStrings
    - strerror
    - ippReadIO
    - cupsParseOptions
    - cupsArrayAdd
    - strncmp
    - cupsFileOpen
    - calloc
    - atoi
    linkageType: ''
    returnType: _ppd_cache_t
    signature: "_ppd_cache_t *\t\t\t\t/* O  - PPD cache and mapping data */\n_ppdCacheCreateWithFile(\n
      \   const char *filename,\t\t/* I  - File to read */\n    ipp_t      **attrs)"
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:692,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:705,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:707,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:717,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:719,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:732,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:739,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:746,1
    - Dst: pwg_unppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:773,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:774,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:775,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:776,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:785,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:785,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:786,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:791,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:792,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:793,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:794,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:806,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:807,1
    - Dst: _PWG_EQUIVALENT
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:810,1
    - Dst: _PWG_EQUIVALENT
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:811,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:823,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:824,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:845,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:846,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:863,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:864,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:865,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:866,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:867,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:868,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:870,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:871,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:872,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:873,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:874,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:875,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:877,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:878,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:879,1
    - Dst: PWG_FROM_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:880,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:887,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:888,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:892,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:894,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:897,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:909,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:910,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:912,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:914,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:916,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:918,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:919,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:920,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:922,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:924,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:926,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:928,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:930,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:932,1
    - Dst: pwg_unppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:941,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:945,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:946,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:954,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:956,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:959,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:971,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:972,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:973,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:975,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:977,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:979,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:981,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:983,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:985,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:987,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:989,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:991,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:993,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:995,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:997,1
    - Dst: pwg_unppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1006,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1010,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1011,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1019,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1021,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1024,1
    - Dst: pwg_unppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1036,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1038,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1039,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1043,1
    - Dst: _ppdParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1057,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1060,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1067,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1069,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1078,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1082,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1090,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1096,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1097,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1104,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1106,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1110,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1117,1
    - Dst: _ppdParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1131,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1136,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1138,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1153,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1154,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1159,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1160,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1165,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1166,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1171,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1172,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1177,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1178,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1205,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1215,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1216,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1233,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1246,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1247,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1248,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1249,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1250,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1254,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1260,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1261,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1262,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1263,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1264,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1265,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1266,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1267,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1268,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1269,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1271,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1279,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1283,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1286,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1290,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1292,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1297,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1300,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1306,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1308,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1309,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1310,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1314,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1315,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1323,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1325,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1326,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1327,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1331,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1336,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1338,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1344,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1346,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1349,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1350,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1357,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1363,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1365,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1371,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1374,1
    - Dst: _ppdParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1375,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1379,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1381,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1389,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1390,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1401,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1402,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1404,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1405,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1407,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1408,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1410,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1411,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1413,1
    - Dst: _cupsArrayNewStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1414,1
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1420,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1424,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1426,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1427,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1429,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1430,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1444,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1444,1
    - Dst: _ppdCacheDestroy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1445,1
    CyclomaticComplexity: 166
    EdgeCount: 166
    ICount: 339
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 1448
    functionName: _ppdCacheCreateWithPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - ppdFindChoice
    - PWG_FROM_POINTS
    - pwgMediaForSize
    - ppdFindOption
    - cupsGetOption
    - cupsArrayNew3
    - pwg_unppdize_name
    - _cupsStrAlloc
    - ppdFindAttr
    - pwgFormatSizeName
    - DEBUG_printf
    - _ppdCacheDestroy
    - _cupsSetError
    - _cupsStrRetain
    - DEBUG_puts
    - _cups_strcasecmp
    - pwgMediaForPPD
    - cupsArrayFirst
    - cupsFreeOptions
    - strcmp
    - _
    - _PWG_EQUIVALENT
    - _cups_isspace
    - _cupsArrayNewStrings
    - _cupsStrFree
    - ppdFindNextAttr
    - cupsAddOption
    - cupsArrayNext
    - cupsArrayAdd
    - strncmp
    - _cups_strncasecmp
    - calloc
    - atoi
    - _ppdParseOptions
    linkageType: ''
    returnType: _ppd_cache_t
    signature: "_ppd_cache_t *\t\t\t\t/* O - PPD cache and mapping data */\n_ppdCacheCreateWithPPD(ppd_file_t
      *ppd)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1478,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1479,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1482,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1489,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1490,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1493,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1497,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1503,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1504,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1507,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1514,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1515,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1518,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1522,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1525,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1527,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1528,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1529,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1530,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1532,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1533,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1535,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1537,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1539,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - pc
    argTypes:
    - _ppd_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1540
    functionName: _ppdCacheDestroy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 2
    functionsReached:
    - free
    - cupsArrayDelete
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: void _ppdCacheDestroy(_ppd_cache_t *pc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1569,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - output_bin
    argTypes:
    - _ppd_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1573
    functionName: _ppdCacheGetBin
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - output-bin or NULL */\n_ppdCacheGetBin(\n    _ppd_cache_t
      *pc,\t\t\t/* I - PPD cache and mapping data */\n    const char   *output_bin)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1600,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1608,1
    - Dst: ippGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1610,1
    - Dst: ippGetInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1614,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1616,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1621,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1630,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 5
    argNames:
    - pc
    - job
    - value
    - num_options
    - options
    argTypes:
    - _ppd_cache_t*
    - ipp_t*
    - ipp_finishings_t
    - int
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1641
    functionName: _ppdCacheGetFinishingOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - cupsArrayFind
    - cupsAddOption
    - ippGetInteger
    - ippGetCount
    - ippFindAttribute
    linkageType: ''
    returnType: int
    signature: "int _ppdCacheGetFinishingOptions(\n    _ppd_cache_t     *pc,\t\t/*
      I  - PPD cache and mapping data */\n    ipp_t            *job,\t\t/* I  - Job
      attributes or NULL */\n    ipp_finishings_t value,\t\t/* I  - IPP finishings
      value of IPP_FINISHINGS_NONE */\n    int              num_options,\t/* I  -
      Number of options */\n    cups_option_t    **options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1675,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1677,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1680,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1681,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - num_options
    - options
    - max_values
    - values
    argTypes:
    - _ppd_cache_t*
    - int
    - cups_option_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1694
    functionName: _ppdCacheGetFinishingValues
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - cupsGetOption
    - cupsArrayNext
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int _ppdCacheGetFinishingValues(\n    _ppd_cache_t  *pc,\t\t\t/* I
      - PPD cache and mapping data */\n    int           num_options,\t\t/* I - Number
      of options */\n    cups_option_t *options,\t\t/* I - Options */\n    int           max_values,\t\t/*
      I - Maximum number of finishings values */\n    int           *values)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1726,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1728,1
    - Dst: ippGetCollection
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1728,1
    - Dst: ippGetString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1736,1
    - Dst: pwgInitSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1738,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1754,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 3
    argNames:
    - pc
    - job
    - keyword
    argTypes:
    - _ppd_cache_t*
    - ipp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1759
    functionName: _ppdCacheGetInputSlot
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - pwgInitSize
    - ippGetCollection
    - _cups_strcasecmp
    - ippGetString
    - ippFindAttribute
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PPD InputSlot or NULL */\n_ppdCacheGetInputSlot(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    ipp_t        *job,\t\t\t/*
      I - Job attributes or NULL */\n    const char   *keyword)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1789,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1792,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1795,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1808,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 3
    argNames:
    - pc
    - job
    - keyword
    argTypes:
    - _ppd_cache_t*
    - ipp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1813
    functionName: _ppdCacheGetMediaType
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - ippFindAttribute
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PPD MediaType or NULL */\n_ppdCacheGetMediaType(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    ipp_t        *job,\t\t\t/*
      I - Job attributes or NULL */\n    const char   *keyword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1842,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - output_bin
    argTypes:
    - _ppd_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1821
    functionDepth: 1
    functionLinenumber: 1821
    functionLinenumberEnd: 1846
    functionName: _ppdCacheGetOutputBin
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PPD OutputBin or NULL */\n_ppdCacheGetOutputBin(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    const char
      \  *output_bin)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1877,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1900,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1901,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1902,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1906,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1907,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1909,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1917,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1927,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1930,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1931,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1936,1
    - Dst: pwgInitSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1950,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1962,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1963,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1964,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1980,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:1981,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2029,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2037,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2056,1
    - Dst: PWG_TO_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2057,1
    - Dst: PWG_TO_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2057,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2073,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2083,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 94
    argCount: 4
    argNames:
    - pc
    - job
    - keyword
    - exact
    argTypes:
    - _ppd_cache_t*
    - ipp_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 2086
    functionName: _ppdCacheGetPageSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - pwgMediaForPWG
    - PWG_TO_POINTS
    - pwgInitSize
    - snprintf
    - pwgMediaForLegacy
    - _cups_strncasecmp
    - _cups_strcasecmp
    - DEBUG_puts
    - pwgMediaForPPD
    - ippFindAttribute
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PPD PageSize or NULL */\n_ppdCacheGetPageSize(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    ipp_t        *job,\t\t\t/*
      I - Job attributes or NULL */\n    const char   *keyword,\t\t/* I - Keyword
      string or NULL */\n    int          *exact)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2110,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2127,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2128,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2132,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2136,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2141,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2146,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2151,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2156,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2178,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2179,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2186,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2187,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2188,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 2
    argNames:
    - pc
    - page_size
    argTypes:
    - _ppd_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2199
    functionName: _ppdCacheGetSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - pwgMediaForPWG
    - pwgMediaForLegacy
    - _cups_strncasecmp
    - _cupsStrScand
    - _cups_strcasecmp
    - pwgMediaForPPD
    - localeconv
    linkageType: ''
    returnType: pwg_size_t
    signature: "pwg_size_t *\t\t\t\t/* O - PWG size or NULL */\n_ppdCacheGetSize(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    const char
      \  *page_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - input_slot
    argTypes:
    - _ppd_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2207
    functionDepth: 1
    functionLinenumber: 2207
    functionLinenumberEnd: 2228
    functionName: _ppdCacheGetSource
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PWG media-source keyword */\n_ppdCacheGetSource(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    const char
      \  *input_slot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - pc
    - media_type
    argTypes:
    - _ppd_cache_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2236
    functionDepth: 1
    functionLinenumber: 2236
    functionLinenumberEnd: 2257
    functionName: _ppdCacheGetType
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PWG media-type keyword */\n_ppdCacheGetType(\n
      \   _ppd_cache_t *pc,\t\t\t/* I - PPD cache and mapping data */\n    const char
      \  *media_type)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2286,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2286,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2294,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2295,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2297,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2297,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2305,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2313,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2315,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2322,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2324,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2328,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2339,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2343,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2345,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2354,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2356,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2367,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2371,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2372,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2380,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2383,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2386,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2389,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2396,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2398,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2400,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2401,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2403,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2405,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2406,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2408,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2414,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2416,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2418,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2420,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2421,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2428,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2435,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2437,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2438,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2442,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2444,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2446,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2447,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2453,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2455,1
    - Dst: cupsFilePutConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2456,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2464,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2464,1
    - Dst: ippWriteIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2467,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2474,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2476,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2480,1
    - Dst: rename
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2481,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 3
    argNames:
    - pc
    - filename
    - attrs
    argTypes:
    - _ppd_cache_t*
    - char*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2264
    functionDepth: 6
    functionLinenumber: 2264
    functionLinenumberEnd: 2482
    functionName: _ppdCacheWriteFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - cupsFilePrintf
    - cupsArrayNext
    - cupsFileClose
    - cupsFilePutConf
    - _cupsSetError
    - ippWriteIO
    - unlink
    - snprintf
    - rename
    - cupsFileOpen
    - cupsFilePutChar
    - strerror
    - ippLength
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int _ppdCacheWriteFile(\n    _ppd_cache_t *pc,\t\t\t/* I - PPD cache
      and mapping data */\n    const char   *filename,\t\t/* I - File to write */\n
      \   ipp_t        *attrs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2503,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2504,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2505,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2506,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2507,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2508,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2509,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2510,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2511,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2512,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2513,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2514,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2515,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2516,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2517,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2518,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2519,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2520,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2521,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2522,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2523,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2524,1
    - Dst: pwg_ppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 3
    argNames:
    - media_source
    - name
    - namesize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2490
    functionDepth: 1
    functionLinenumber: 2490
    functionLinenumberEnd: 2529
    functionName: _pwgInputSlotForSource
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - strlcpy
    - pwg_ppdize_name
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - InputSlot name */\n_pwgInputSlotForSource(\n
      \   const char *media_source,\t\t/* I - PWG media-source */\n    char       *name,\t\t\t/*
      I - Name buffer */\n    size_t     namesize)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2550,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2551,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2552,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2553,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2554,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2555,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2556,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2557,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2558,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2559,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2560,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2561,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2562,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2563,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2564,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2565,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2566,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2567,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2568,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2569,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2570,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2571,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2572,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2573,1
    - Dst: pwg_ppdize_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2575,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 29
    argCount: 3
    argNames:
    - media_type
    - name
    - namesize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2537
    functionDepth: 1
    functionLinenumber: 2537
    functionLinenumberEnd: 2578
    functionName: _pwgMediaTypeForType
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - strlcpy
    - pwg_ppdize_name
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - MediaType name */\n_pwgMediaTypeForType(\n    const
      char *media_type,\t\t/* I - PWG media-type */\n    char       *name,\t\t\t/*
      I - Name buffer */\n    size_t     namesize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2612,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2614,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2615,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2616,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2623,1
    - Dst: PWG_TO_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2623,1
    - Dst: PWG_TO_POINTS
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2624,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2632,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 3
    argNames:
    - media
    - name
    - namesize
    argTypes:
    - pwg_media_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2637
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2637
    functionName: _pwgPageSizeForMedia
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - PWG_TO_POINTS
    - strlcpy
    - strncmp
    - strchr
    - memcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - PageSize name */\n_pwgPageSizeForMedia(\n    pwg_media_t
      *media,\t\t/* I - Media */\n    char         *name,\t\t\t/* I - PageSize name
      buffer */\n    size_t       namesize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _pwg_finishings_t*
    - _pwg_finishings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2644
    functionDepth: 0
    functionLinenumber: 2644
    functionLinenumberEnd: 2650
    functionName: pwg_compare_finishings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pwg_compare_finishings(\n    _pwg_finishings_t *a,\t\t/* I - First
      finishings value */\n    _pwg_finishings_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2661,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - _pwg_finishings_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2663
    functionName: pwg_free_finishings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 0
    functionsReached:
    - free
    - cupsFreeOptions
    linkageType: ''
    returnType: void
    signature: "void pwg_free_finishings(\n    _pwg_finishings_t *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2679,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2683,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2686,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ipp
    - name
    - namesize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2693
      start: 2670
    functionDepth: 1
    functionLinenumber: 2670
    functionLinenumberEnd: 2693
    functionName: pwg_ppdize_name
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 2
    functionsReached:
    - toupper
    - _cups_isalpha
    linkageType: ''
    returnType: void
    signature: "void pwg_ppdize_name(const char *ipp,\t/* I - IPP keyword */\n                char
      \      *name,\t/* I - Name buffer */\n\t\tsize_t     namesize)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2712,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2713,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2714,1
    - Dst: _cups_isupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2719,1
    - Dst: _cups_isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2719,1
    - Dst: _cups_isupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2720,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2722,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c:2722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 4
    argNames:
    - ppd
    - name
    - namesize
    - dashchars
    argTypes:
    - char*
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2727
      start: 2700
    functionDepth: 1
    functionLinenumber: 2700
    functionLinenumberEnd: 2727
    functionName: pwg_unppdize_name
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd-cache.c
    functionUses: 1
    functionsReached:
    - tolower
    - strchr
    - _cups_isupper
    - _cups_isalnum
    - isdigit
    linkageType: ''
    returnType: void
    signature: "void pwg_unppdize_name(const char *ppd,\t/* I - PPD keyword */\n\t\t
      \ char       *name,\t/* I - Name buffer */\n                  size_t     namesize,\t/*
      I - Size of name buffer */\n                  const char *dashchars)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:48,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:50,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:60,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:63,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:64,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:66,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:69,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:70,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:72,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:76,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:77,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:79,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:82,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:83,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:85,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:88,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:89,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:91,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:95,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:103,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:106,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 111
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testoptions.c
    functionUses: 2
    functionsReached:
    - cupsParseOptions
    - puts
    - strcmp
    - printf
    - fputs
    - cupsGetOption
    - exit
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetLocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:53,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:57,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:58,1
    - Dst: cupsLangGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:62,1
    - Dst: cupsLangGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:63,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:70,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:71,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:74,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:75,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:75,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:76,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:76,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:77,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:77,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:81,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:83,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:84,1
    - Dst: _cupsEncodingName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:84,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:85,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:85,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:86,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:86,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:89,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:95,1
    - Dst: _cupsStrFormatd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:97,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:99,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:101,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testlang.c:104,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 109
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testlang.c
    functionUses: 2
    functionsReached:
    - cupsLangGet
    - cupsLangDefault
    - puts
    - strcmp
    - printf
    - _cupsLangString
    - _cupsEncodingName
    - _cupsSetLocale
    - _cupsStrScand
    - localeconv
    - _cupsStrFormatd
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ftime
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tv
    - tz
    argTypes:
    - struct timeval*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: _cups_gettimeofday
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 0
    functionsReached:
    - _ftime
    linkageType: ''
    returnType: int
    signature: "int _cups_gettimeofday(struct timeval *tv,\t/* I  - Timeval struct
      */\n                   void\t\t  *tz)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: debug_thread_id
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: int
    signature: int debug_thread_id(void)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:144,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:154,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:156,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:157,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:163,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:186,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:188,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:189,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:195,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:246,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:246,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:248,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:252,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:253,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:270,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:270,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:274,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:274,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:276,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:276,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:278,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:282,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:283,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:291,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:291,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:293,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:297,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:298,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:308,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:321,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 189
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 411
    functionName: debug_vsnprintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 0
    functionsReached:
    - va_arg
    - sprintf
    - strlen
    - strchr
    - strlcpy
    - snprintf
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int debug_vsnprintf(char       *buffer,\t/* O - Output buffer */\n
      \               size_t     bufsize,\t/* O - Size of output buffer */\n\t        const
      char *format,\t/* I - printf-style format string */\n\t        va_list    ap)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cups_debug_set
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:434,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:434,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:434,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:435,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:444,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:457,1
    - Dst: regexec
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:458,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:459,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:470,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:471,1
    - Dst: debug_thread_id
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:472,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:476,1
    - Dst: debug_vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:477,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:478,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:495,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:496,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 498
    functionName: _cups_debug_printf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 0
    functionsReached:
    - regexec
    - debug_vsnprintf
    - va_start
    - _cupsMutexUnlock
    - debug_thread_id
    - va_end
    - write
    - _cups_debug_set
    - snprintf
    - gettimeofday
    - isdigit
    - getenv
    - _cupsMutexLock
    linkageType: ''
    returnType: void
    signature: "void _cups_debug_printf(const char *format,\t/* I - Printf-style format
      string */\n                   ...)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cups_debug_set
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:519,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:519,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:519,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:520,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:529,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:542,1
    - Dst: regexec
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:543,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:544,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:554,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:555,1
    - Dst: debug_thread_id
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:556,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:576,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:577,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 579
    functionName: _cups_debug_puts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 0
    functionsReached:
    - regexec
    - _cupsMutexUnlock
    - debug_thread_id
    - write
    - _cups_debug_set
    - snprintf
    - gettimeofday
    - isdigit
    - getenv
    - _cupsMutexLock
    linkageType: ''
    returnType: void
    signature: void _cups_debug_puts(const char *s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:592,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:602,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:622,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:628,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:628,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:631,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:633,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:637,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:642,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:643,1
    - Dst: regcomp
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:645,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:647,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:649,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/debug.c:658,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - logfile
    - level
    - filter
    - force
    argTypes:
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 659
    functionName: _cups_debug_set
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug.c
    functionUses: 2
    functionsReached:
    - getpid
    - _cupsMutexUnlock
    - strcmp
    - calloc
    - close
    - fputs
    - open
    - regcomp
    - free
    - snprintf
    - atoi
    - _cupsMutexLock
    - regfree
    linkageType: ''
    returnType: void
    signature: "void _cups_debug_set(const char *logfile,\t/* I - Log file or NULL
      */\n                const char *level,\t/* I - Log level or NULL */\n\t\tconst
      char *filter,\t/* I - Filter string or NULL */\n\t\tint        force)"
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:268,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:270,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:271,1
    - Dst: httpGetDateString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:271,1
    - Dst: httpGetDateTime
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:272,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:279,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:283,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:284,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:286,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:287,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:288,1
    - Dst: httpGetDateString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:289,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:296,1
    - Dst: httpEncode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:300,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:301,1
    - Dst: httpDecode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:303,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:305,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:311,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:315,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:319,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:325,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:329,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:335,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:341,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:343,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:344,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:348,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:355,1
    - Dst: httpAddrGetList
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:357,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:365,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:366,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:371,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:373,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:375,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:377,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:379,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:384,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:391,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:394,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:400,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:401,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:402,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:404,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:410,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:414,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:417,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:421,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:422,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:425,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:426,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:429,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:430,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:434,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:437,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:438,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:444,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:451,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:456,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:457,1
    - Dst: httpAssembleURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:460,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:474,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:478,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:481,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:487,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:491,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:497,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:503,1
    - Dst: httpAssembleUUID
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:504,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:506,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:508,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:512,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:519,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:521,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:525,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:534,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:535,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:537,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:540,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:544,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:546,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:547,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:549,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:552,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:555,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:557,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:562,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:566,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:572,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:576,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:577,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:578,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:579,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:580,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:581,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:595,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:601,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:605,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:610,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:610,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:616,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:620,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:623,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:627,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:627,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:629,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:630,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:637,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:638,1
    - Dst: httpGetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:638,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:639,1
    - Dst: httpHead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:640,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:642,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:654,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:662,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:668,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:674,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:686,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:689,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:696,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:707,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:709,1
    - Dst: httpGetContentEncoding
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:711,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:713,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:718,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:718,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:720,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:721,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:728,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:729,1
    - Dst: httpGetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:729,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:730,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:731,1
    - Dst: httpGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:733,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:735,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:747,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:755,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:761,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:767,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:779,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:782,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:789,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:799,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:801,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:803,1
    - Dst: httpGetLength2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:804,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:807,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:810,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:813,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:815,1
    - Dst: CUPS_LLCAST
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:817,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:818,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:823,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:824,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c:827,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 297
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 830
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testhttp.c
    functionUses: 2
    functionsReached:
    - httpSetField
    - _httpResolveURI
    - httpDecode64_2
    - httpGet
    - strstr
    - httpGetHostname
    - strlen
    - fputs
    - httpClearFields
    - cupsDoAuthentication
    - httpGetDateTime
    - perror
    - CUPS_LLCAST
    - time
    - fclose
    - httpAddrGetList
    - httpAddrFreeList
    - httpUpdate
    - httpGetAuthString
    - strlcpy
    - httpHead
    - _cups_strcasecmp
    - httpFlush
    - httpAssembleURI
    - httpConnect2
    - httpReconnect2
    - httpSeparateURI
    - strcmp
    - printf
    - httpEncode64_2
    - fflush
    - fopen
    - httpRead2
    - httpEncryption
    - httpGetField
    - fwrite
    - httpGetContentEncoding
    - httpAddrString
    - puts
    - httpClose
    - httpGetDateString
    - strncmp
    - httpAssembleUUID
    - isdigit
    - httpGetLength2
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: ppd_free
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ppd_free(p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:167,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:168,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:170,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:171,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:172,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:173,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:183,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:184,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:187,1
    - Dst: ppd_free_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:197,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:199,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:202,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:203,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:210,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:217,1
    - Dst: ppd_free_filters
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:223,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:232,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:234,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:242,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:252,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:253,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:256,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:259,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:265,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:267,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:269,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:271,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:278,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:285,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:288,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:290,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:293,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:304,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:306,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:308,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:309,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:312,1
    - Dst: _ppdCacheDestroy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:320,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:326,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 327
    functionName: ppdClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 2
    functionsReached:
    - cupsArrayDelete
    - cupsArrayNext
    - _ppdCacheDestroy
    - ppd_free_filters
    - free
    - ppd_free
    - _cupsStrFree
    - ppd_free_group
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: void ppdClose(ppd_file_t *ppd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:341,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:342,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:343,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:344,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:345,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:346,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:347,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:348,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:349,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:350,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:351,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:352,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:353,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:354,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:355,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:356,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:357,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:358,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:359,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:360,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:361,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:362,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:363,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:364,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:369,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:369,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:369,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:371,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - status
    argTypes:
    - ppd_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 372
    functionName: ppdErrorString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _
    - cupsLangDefault
    - _cupsLangString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Status string */\nppdErrorString(ppd_status_t
      status)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:383,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:385,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:387,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:389,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:391,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 397
    functionName: _ppdGetEncoding
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: cups_encoding_t
    signature: cups_encoding_t _ppdGetEncoding(const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - line
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: ppdLastError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: ppd_status_t
    signature: ppd_status_t ppdLastError(int *line)
  - BBCount: 217
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:461,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:538,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:563,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:566,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:567,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:569,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:570,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:572,1
    - Dst: ppd_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:583,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:585,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:588,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:598,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:599,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:604,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:606,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:612,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:616,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:617,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:626,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:639,1
    - Dst: ppd_read
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:641,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:643,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:645,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:647,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:686,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:688,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:689,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:691,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:692,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:696,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:697,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:699,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:712,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:718,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:729,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:740,1
    - Dst: ppd_get_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:745,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:745,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:749,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:750,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:754,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:767,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:780,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:781,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:784,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:786,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:791,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:792,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:792,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:793,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:794,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:794,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:795,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:796,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:796,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:797,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:798,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:798,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:799,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:800,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:800,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:802,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:806,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:807,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:808,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:814,1
    - Dst: _ppdGetEncoding
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:815,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:817,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:819,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:821,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:823,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:825,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:827,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:834,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:835,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:838,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:840,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:842,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:844,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:846,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:848,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:849,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:851,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:853,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:854,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:856,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:858,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:859,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:861,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:862,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:863,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:864,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:865,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:866,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:867,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:868,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:869,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:870,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:871,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:872,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:873,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:876,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:878,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:892,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:893,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:894,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:896,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:897,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:898,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:899,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:900,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:901,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:902,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:903,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:904,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:905,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:906,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:908,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:911,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:913,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:930,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:932,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:933,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:934,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:941,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:943,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:954,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:957,1
    - Dst: ppd_get_coption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:971,1
    - Dst: ppd_get_cparam
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:978,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:990,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1000,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1003,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1004,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1006,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1009,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1010,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1012,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1015,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1016,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1018,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1021,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1022,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1024,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1027,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1028,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1030,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1033,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1034,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1036,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1039,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1040,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1042,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1045,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1046,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1059,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1061,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1066,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1073,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1076,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1078,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1078,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1082,1
    - Dst: ppd_get_coption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1088,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1095,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1098,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1106,1
    - Dst: ppd_add_choice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1107,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1109,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1116,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1116,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1119,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1122,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1129,1
    - Dst: ppd_add_size
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1137,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1139,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1142,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1146,1
    - Dst: ppd_add_choice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1147,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1149,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1156,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1156,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1161,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1163,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1165,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1168,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1171,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1179,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1200,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1202,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1205,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1211,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1213,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1216,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1222,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1228,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1230,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1256,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1259,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1259,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1260,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1270,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1270,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1270,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1273,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1290,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1290,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1293,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1295,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1295,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1298,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1302,1
    - Dst: ppd_get_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1305,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1305,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1309,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1310,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1314,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1327,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1329,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1331,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1343,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1344,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1347,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1349,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1355,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1359,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1360,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1360,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1361,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1362,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1362,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1363,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1364,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1364,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1365,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1366,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1366,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1367,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1368,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1368,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1370,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1375,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1383,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1384,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1386,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1388,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1390,1
    - Dst: ppd_add_choice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1391,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1393,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1400,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1401,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1403,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1406,1
    - Dst: ppd_get_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1423,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1423,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1433,1
    - Dst: ppd_get_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1435,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1448,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1450,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1452,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1462,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1463,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1466,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1468,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1474,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1477,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1482,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1490,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1492,1
    - Dst: ppd_add_choice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1494,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1496,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1503,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1504,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1506,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1509,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1509,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1513,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1516,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1540,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1549,1
    - Dst: ppd_get_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1555,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1560,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1563,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1567,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1570,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1572,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1574,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1582,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1584,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1586,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1588,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1590,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1592,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1612,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1625,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1628,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1637,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1638,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1644,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1650,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1652,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1654,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1656,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1658,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1663,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1669,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1671,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1673,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1684,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1686,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1687,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1691,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1692,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1701,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1703,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1717,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1732,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1733,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1745,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1753,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1770,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1771,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1772,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1784,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1800,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1801,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1807,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1824,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1825,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1826,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1827,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1834,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1849,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1869,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1872,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1874,1
    - Dst: ppd_add_size
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1875,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1888,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1889,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1891,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1894,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1896,1
    - Dst: ppd_add_size
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1897,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1910,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1911,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1912,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1913,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1915,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1921,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1923,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1925,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1931,1
    - Dst: ppd_add_size
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1932,1
    - Dst: ppd_add_choice
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1939,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1947,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1949,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1950,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1950,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1951,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1952,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1952,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1954,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1957,1
    - Dst: ppd_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1969,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1971,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1984,1
    - Dst: cupsFileEOF
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1991,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1992,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:1993,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2002,1
    - Dst: ppd_update_filters
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2011,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2013,1
    - Dst: cupsArrayNew2
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2023,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2038,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2043,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2052,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2066,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2067,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2069,1
    CyclomaticComplexity: 359
    EdgeCount: 359
    ICount: 854
    argCount: 2
    argNames:
    - fp
    - localization
    argTypes:
    - cups_file_t*
    - _ppd_localization_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 2072
    functionName: _ppdOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - sscanf
    - cupsLangDefault
    - ppdFindChoice
    - strlen
    - ppdFindOption
    - _ppdGetEncoding
    - ppd_get_group
    - ppdPageSize
    - cupsCharsetToUTF8
    - _cupsStrScand
    - snprintf
    - _cupsStrAlloc
    - ppdFindAttr
    - realloc
    - DEBUG_printf
    - cupsArrayNew
    - ppd_get_option
    - cupsFileTell
    - ppd_get_coption
    - _cupsStrRetain
    - strlcpy
    - memset
    - ppdFindCustomOption
    - _cupsGlobals
    - _cups_strcasecmp
    - DEBUG_puts
    - localeconv
    - strdup
    - ppd_update_filters
    - strcmp
    - _
    - cupsFileEOF
    - _cups_strcpy
    - _cups_isalpha
    - ppd_get_cparam
    - malloc
    - ppd_add_choice
    - _cups_isspace
    - ppd_free
    - _cupsStrFree
    - ppdClose
    - cupsArrayNew2
    - ppd_add_attr
    - ppd_read
    - cupsArrayAdd
    - strchr
    - strncmp
    - memcpy
    - calloc
    - atoi
    - isdigit
    - ppd_decode
    - ppd_add_size
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record or @code NULL@ if the PPD
      file could not be opened. */\n_ppdOpen(\n    cups_file_t\t\t*fp,\t\t/* I - File
      to read from */\n    _ppd_localization_t\tlocalization)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2090,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2090,1
    - Dst: _ppdOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2097,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2079
    functionDepth: 6
    functionLinenumber: 2079
    functionLinenumberEnd: 2106
    functionName: ppdOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - cupsFileClose
    - fileno
    - _ppdOpen
    - cupsFileOpenFd
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record */\nppdOpen(FILE *fp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ppdOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2115
    functionDepth: 6
    functionLinenumber: 2115
    functionLinenumberEnd: 2119
    functionName: ppdOpen2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _ppdOpen
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record or @code NULL@ if the PPD
      file could not be opened. */\nppdOpen2(cups_file_t *fp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2131,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2156,1
    - Dst: ppdOpen2
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2158,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 2126
    functionDepth: 7
    functionLinenumber: 2126
    functionLinenumberEnd: 2169
    functionName: ppdOpenFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - ppdOpen2
    - cupsFileClose
    - _cupsGlobals
    - cupsFileOpenFd
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record or @code NULL@ if the PPD
      file could not be opened. */\nppdOpenFd(int fd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2182,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2207,1
    - Dst: _ppdOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2209,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - filename
    - localization
    argTypes:
    - char*
    - _ppd_localization_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2176
    functionDepth: 6
    functionLinenumber: 2176
    functionLinenumberEnd: 2220
    functionName: _ppdOpenFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - cupsFileClose
    - cupsFileOpen
    - _cupsGlobals
    - _ppdOpen
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record or @code NULL@ if the PPD
      file could not be opened. */\n_ppdOpenFile(const char\t\t  *filename,\t/* I
      - File to read from */\n\t     _ppd_localization_t  localization)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2227
    functionDepth: 7
    functionLinenumber: 2227
    functionLinenumberEnd: 2231
    functionName: ppdOpenFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 3
    functionsReached:
    - _ppdOpenFile
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file record or @code NULL@ if the PPD
      file could not be opened. */\nppdOpenFile(const char *filename)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - ppd_conform_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2248
      start: 2240
    functionDepth: 1
    functionLinenumber: 2240
    functionLinenumberEnd: 2248
    functionName: ppdSetConformance
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void ppdSetConformance(ppd_conform_t c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2278,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2286,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2288,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2296,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2307,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2308,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2309,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - ppd
    - name
    - spec
    - text
    - value
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2255
    functionDepth: 5
    functionLinenumber: 2255
    functionLinenumberEnd: 2323
    functionName: ppd_add_attr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - cupsArrayNew
    - cupsArrayAdd
    - malloc
    - strlcpy
    - calloc
    - realloc
    linkageType: ''
    returnType: ppd_attr_t
    signature: "ppd_attr_t *\t\t\t/* O - New attribute */\nppd_add_attr(ppd_file_t
      *ppd,\t\t/* I - PPD file data */\n             const char *name,\t\t/* I - Attribute
      name */\n             const char *spec,\t\t/* I - Specifier string, if any */\n\t
      \    const char *text,\t\t/* I - Text string, if any */\n\t     const char *value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2338,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2340,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2350,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - option
    - name
    argTypes:
    - ppd_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2354
      start: 2330
    functionDepth: 5
    functionLinenumber: 2330
    functionLinenumberEnd: 2354
    functionName: ppd_add_choice
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlcpy
    - memset
    - realloc
    linkageType: ''
    returnType: ppd_choice_t
    signature: "ppd_choice_t *\t\t\t/* O - Named choice */\nppd_add_choice(ppd_option_t
      *option,\t/* I - Option */\n               const char   *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2369,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2371,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2380,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2361
    functionDepth: 5
    functionLinenumber: 2361
    functionLinenumberEnd: 2384
    functionName: ppd_add_size
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - malloc
    - strlcpy
    - memset
    - realloc
    linkageType: ''
    returnType: ppd_size_t
    signature: "ppd_size_t *\t\t\t/* O - Named size */\nppd_add_size(ppd_file_t *ppd,\t\t/*
      I - PPD file */\n             const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ppd_attr_t*
    - ppd_attr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2396
    functionName: ppd_compare_attrs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ppd_compare_attrs(ppd_attr_t *a,\t/* I - First attribute */\n
      \                 ppd_attr_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ppd_choice_t*
    - ppd_choice_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2408
      start: 2403
    functionDepth: 0
    functionLinenumber: 2403
    functionLinenumberEnd: 2408
    functionName: ppd_compare_choices
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ppd_compare_choices(ppd_choice_t *a,\t/* I - First choice */\n
      \                   ppd_choice_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ppd_coption_t*
    - ppd_coption_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2415
    functionDepth: 1
    functionLinenumber: 2415
    functionLinenumberEnd: 2420
    functionName: ppd_compare_coptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ppd_compare_coptions(ppd_coption_t *a,\t/* I - First option */\n
      \                    ppd_coption_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ppd_option_t*
    - ppd_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2427
    functionDepth: 1
    functionLinenumber: 2427
    functionLinenumberEnd: 2432
    functionName: ppd_compare_options
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ppd_compare_options(ppd_option_t *a,\t/* I - First option */\n
      \                   ppd_option_t *b)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2450,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2457,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2459,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2460,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2466,1
    - Dst: _cups_isalpha
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2469,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2470,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - string
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2439
    functionDepth: 1
    functionLinenumber: 2439
    functionLinenumberEnd: 2489
    functionName: ppd_decode
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - isxdigit
    - tolower
    - _cups_isalpha
    linkageType: ''
    returnType: int
    signature: int ppd_decode(char *string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2506,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2513
    functionName: ppd_free_filters
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - ppd_free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: void ppd_free_filters(ppd_file_t *ppd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppd_free_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2533,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2535,1
    - Dst: ppd_free_group
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2543,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2545,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - group
    argTypes:
    - ppd_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2547
    functionName: ppd_free_group
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 2
    functionsReached:
    - ppd_free_option
    - ppd_free
    - ppd_free_group
    linkageType: ''
    returnType: void
    signature: void ppd_free_group(ppd_group_t *group)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2567,1
    - Dst: ppd_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2570,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - option
    argTypes:
    - ppd_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2554
    functionDepth: 1
    functionLinenumber: 2554
    functionLinenumberEnd: 2572
    functionName: ppd_free_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - ppd_free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: void ppd_free_option(ppd_option_t *option)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2590,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2597,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2600,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2602,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2604,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2579
    functionDepth: 1
    functionLinenumber: 2579
    functionLinenumberEnd: 2611
    functionName: ppd_get_coption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - cupsArrayNew
    - cupsArrayAdd
    - strlcpy
    - ppdFindCustomOption
    - calloc
    linkageType: ''
    returnType: ppd_coption_t
    signature: "ppd_coption_t *\t\t/* O - Custom option... */\nppd_get_coption(ppd_file_t
      *ppd,\t/* I - PPD file */\n                const char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppdFindCustomParam
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2630,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2637,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2640,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2641,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - opt
    - param
    - text
    argTypes:
    - ppd_coption_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2654
      start: 2618
    functionDepth: 1
    functionLinenumber: 2618
    functionLinenumberEnd: 2654
    functionName: ppd_get_cparam
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - ppdFindCustomParam
    - strlcpy
    - cupsArrayAdd
    - calloc
    linkageType: ''
    returnType: ppd_cparam_t
    signature: "ppd_cparam_t *\t\t\t/* O - Extended option... */\nppd_get_cparam(ppd_coption_t
      *opt,\t/* I - PPD file */\n               const char    *param,\t/* I - Name
      of parameter */\n\t       const char    *text)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2672,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2676,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2681,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2683,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2691,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2693,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2707,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2708,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2710,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - ppd
    - name
    - text
    - cg
    - encoding
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - _cups_globals_t*
    - cups_encoding_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2661
    functionDepth: 5
    functionLinenumber: 2661
    functionLinenumberEnd: 2715
    functionName: ppd_get_group
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strcmp
    - strlen
    - malloc
    - strlcpy
    - memset
    - cupsCharsetToUTF8
    - realloc
    linkageType: ''
    returnType: ppd_group_t
    signature: "ppd_group_t *\t\t\t/* O - Named group */\nppd_get_group(ppd_file_t
      \     *ppd,\t/* I - PPD file */\n              const char      *name,\t/* I
      - Name of group */\n\t      const char      *text,\t/* I - Text for group */\n
      \             _cups_globals_t *cg,\t/* I - Global data */\n\t      cups_encoding_t
      encoding)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2730,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2734,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2740,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2742,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2752,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - group
    - name
    argTypes:
    - ppd_group_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2722
    functionDepth: 5
    functionLinenumber: 2722
    functionLinenumberEnd: 2757
    functionName: ppd_get_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strcmp
    - malloc
    - strlcpy
    - memset
    - realloc
    linkageType: ''
    returnType: ppd_option_t
    signature: "ppd_option_t *\t\t\t/* O - Named option */\nppd_get_option(ppd_group_t
      *group,\t/* I - Group */\n               const char  *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - option
    argTypes:
    - ppd_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2764
    functionDepth: 0
    functionLinenumber: 2764
    functionLinenumberEnd: 2775
    functionName: ppd_hash_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ppd_hash_option(ppd_option_t *option)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2818,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2834,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2858,1
    - Dst: cupsFilePeekChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2886,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2893,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2938,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2952,1
    - Dst: cupsFilePeekChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2966,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:2969,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3007,1
    - Dst: cupsFilePeekChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3023,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3026,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3065,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3074,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3093,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3094,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3101,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3124,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3144,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3158,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3163,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3169,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3174,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3189,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3195,1
    - Dst: ppd_decode
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3223,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3235,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3241,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3251,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3254,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3255,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3268,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 235
    argCount: 8
    argNames:
    - fp
    - line
    - keyword
    - option
    - text
    - string
    - ignoreblank
    - cg
    argTypes:
    - cups_file_t*
    - _ppd_line_t*
    - char*
    - char*
    - char*
    - char**
    - int
    - _cups_globals_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3276
      start: 2783
    functionDepth: 5
    functionLinenumber: 2783
    functionLinenumberEnd: 3276
    functionName: ppd_read
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cupsFileGetChar
    - strcmp
    - strlen
    - malloc
    - _cups_isspace
    - strncmp
    - cupsFilePeekChar
    - _cupsStrAlloc
    - realloc
    - ppd_decode
    linkageType: ''
    returnType: int
    signature: "int ppd_read(cups_file_t    *fp,\t\t/* I - File to read from */\n
      \        _ppd_line_t    *line,\t\t/* I - Line buffer */\n         char           *keyword,\t/*
      O - Keyword from line */\n\t char           *option,\t/* O - Option from line
      */\n         char           *text,\t\t/* O - Human-readable text from line */\n\t
      char           **string,\t/* O - Code/string data */\n         int            ignoreblank,\t/*
      I - Ignore blank lines? */\n\t _cups_globals_t *cg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3304,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3310,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3312,1
    - Dst: ppd_free_filters
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3320,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3331,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3333,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3336,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3342,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3346,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3347,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3349,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3352,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3355,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3356,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3365,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3367,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3374,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3376,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3380,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3390,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3392,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ppd.c:3394,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - ppd
    - cg
    argTypes:
    - ppd_file_t*
    - _cups_globals_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3288
    functionDepth: 5
    functionLinenumber: 3288
    functionLinenumberEnd: 3396
    functionName: ppd_update_filters
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ppd.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - sscanf
    - ppdFindNextAttr
    - ppd_free_filters
    - _cups_strcpy
    - snprintf
    - _cups_isspace
    - strchr
    - strncmp
    - malloc
    - DEBUG_puts
    - _cupsStrAlloc
    - ppdFindAttr
    - realloc
    linkageType: ''
    returnType: int
    signature: "int ppd_update_filters(ppd_file_t      *ppd,/* I - PPD file */\n                   _cups_globals_t
      *cg)"
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:165,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:167,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:168,1
    - Dst: symlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:169,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:170,1
    - Dst: symlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:171,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:174,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:175,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:181,1
    - Dst: _ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:183,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:184,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:192,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:194,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:194,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:197,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:198,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:201,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:203,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:203,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:206,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:209,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:211,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:212,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:215,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:217,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:217,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:220,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:223,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:225,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:226,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:229,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:231,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:231,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:234,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:237,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:239,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:240,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:243,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:246,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:248,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:249,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:251,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:252,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:256,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:259,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:260,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:261,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:262,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:266,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:266,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:267,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:270,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:274,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:276,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:277,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:278,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:280,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:281,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:282,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:286,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:286,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:287,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:290,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:294,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:300,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:301,1
    - Dst: cupsGetConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:303,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:305,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:306,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:307,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:308,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:310,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:312,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:313,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:317,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:319,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:320,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:322,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:323,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:326,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:330,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:333,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:336,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:340,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:342,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:344,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:345,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:349,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:351,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:353,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:356,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:357,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:358,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:359,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:362,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:364,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:365,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:370,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:373,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:375,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:376,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:377,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:378,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:379,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:381,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:386,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:394,1
    - Dst: ppdPageSizeLimits
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:395,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:400,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:406,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:410,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:418,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:419,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:420,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:421,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:423,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:424,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:426,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:430,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:432,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:433,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:434,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:435,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:437,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:438,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:440,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:444,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:446,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:447,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:449,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:450,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:452,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:453,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:455,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:459,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:461,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:462,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:463,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:464,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:466,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:467,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:469,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:473,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:479,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:480,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:481,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:482,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:484,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:485,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:488,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:493,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:499,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:500,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:501,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:502,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:506,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:509,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:510,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:511,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:512,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:516,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:519,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:520,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:521,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:522,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:526,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:529,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:530,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:531,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:532,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:536,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:539,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:540,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:541,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:542,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:544,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:545,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:546,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:547,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:551,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:554,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:555,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:556,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:557,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:559,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:560,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:561,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:562,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:566,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:573,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:574,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:575,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:576,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:578,1
    - Dst: ppdLocalizeMarkerName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:580,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:583,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:586,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:588,1
    - Dst: ppdLocalizeMarkerName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:590,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:591,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:592,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:596,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:600,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:601,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:602,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:603,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:605,1
    - Dst: ppdLocalizeMarkerName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:606,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:607,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:608,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:612,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:616,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:617,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:618,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:619,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:621,1
    - Dst: ppdLocalizeMarkerName
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:622,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:623,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:624,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:628,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:632,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:638,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:640,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:641,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:649,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:651,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:651,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:654,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:655,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:657,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:658,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:662,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:665,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:666,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:667,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:668,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:672,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:672,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:673,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:676,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:680,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:682,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:683,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:684,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:685,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:687,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:688,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:691,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:695,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:698,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:701,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:703,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:704,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:708,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:709,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:711,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:714,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:715,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:716,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:717,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:720,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:722,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:723,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:728,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:731,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:733,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:734,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:735,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:736,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:739,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:740,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:743,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:745,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:746,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:749,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:751,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:752,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:753,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:754,1
    - Dst: ppdInstallableConflict
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:755,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:757,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:762,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:770,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:772,1
    - Dst: ppdPageSizeLimits
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:773,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:778,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:784,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:788,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:792,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:794,1
    - Dst: ppdPageSizeLimits
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:795,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:800,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:806,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:810,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:814,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:816,1
    - Dst: ppdPageSizeLimits
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:817,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:822,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:828,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:832,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:836,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:838,1
    - Dst: ppdPageSizeLimits
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:839,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:844,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:850,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:854,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:864,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:874,1
    - Dst: cupsGetPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:878,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:882,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:882,1
    - Dst: lstat
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:889,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:891,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:891,1
    - Dst: S_ISLNK
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:895,1
    - Dst: readlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:901,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:902,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:906,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:907,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:908,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:910,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:914,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:916,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:923,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:925,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:925,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:943,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:944,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:945,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:946,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:947,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:948,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:949,1
    - Dst: putenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:950,1
    - Dst: ppdLocalize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:953,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:954,1
    - Dst: ppdLocalizeIPPReason
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:958,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:959,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:968,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:974,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:977,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:981,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:983,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:985,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:990,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:997,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1004,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1011,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1018,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1025,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1032,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1039,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1050,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1052,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1055,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1058,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1061,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1063,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1066,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1069,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1071,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1073,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1075,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1076,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1079,1
    - Dst: _ppdCacheCreateWithPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1080,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1081,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1081,1
    - Dst: _ppdCacheWriteFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1084,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1085,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1089,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1090,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1094,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1094,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1098,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1099,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1100,1
    - Dst: system
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1101,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testppd.c:1105,1
    CyclomaticComplexity: 154
    EdgeCount: 154
    ICount: 542
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 136
    functionDepth: 8
    functionLinenumber: 136
    functionLinenumberEnd: 1108
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testppd.c
    functionUses: 2
    functionsReached:
    - getpid
    - lstat
    - putenv
    - stat
    - strlen
    - fputs
    - ppdLocalizeMarkerName
    - cupsGetOption
    - cupsGetConflicts
    - ppdPageSize
    - _ppdCacheWriteFile
    - readlink
    - snprintf
    - ppdFindAttr
    - ppdInstallableConflict
    - ppdLocalizeIPPReason
    - ppdPageSizeLimits
    - strlcpy
    - ppdFindCustomOption
    - symlink
    - _cups_strcasecmp
    - ppdLastError
    - _ppdOpenFile
    - cupsArrayFirst
    - ppdEmitString
    - getenv
    - system
    - cupsFreeOptions
    - access
    - ppdLocalize
    - ppdErrorString
    - printf
    - strcmp
    - S_ISLNK
    - unlink
    - _ppdCacheCreateWithPPD
    - free
    - cupsMarkOptions
    - ppdClose
    - mkdir
    - strerror
    - fflush
    - ppdOpenFile
    - cupsGetPPD
    - ppdFindNextAttr
    - cupsAddOption
    - cupsArrayNext
    - puts
    - ppdConflicts
    - cupsLastErrorString
    - ppdMarkDefaults
    - strncmp
    - cupsResolveConflicts
    - ppdMarkOption
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:85,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:88,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:92,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:103,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:112,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:117,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:120,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:129,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:130,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:133,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:139,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:144,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:153,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 158
    functionName: _cupsStrAlloc
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 12
    functionsReached:
    - DEBUG_printf
    - cupsArrayFind
    - cupsArrayNew
    - _cupsMutexUnlock
    - cupsArrayAdd
    - strlen
    - memcpy
    - calloc
    - _cupsMutexLock
    - abort
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - String pointer */\n_cupsStrAlloc(const char
      *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:174,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:178,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:180,1
    - Dst: strftime
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:184,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:185,1
    - Dst: strftime
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - buf
    - bufsize
    - timeval
    argTypes:
    - char*
    - size_t
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 191
    functionName: _cupsStrDate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 1
    functionsReached:
    - localtime
    - cupsLangDefault
    - strftime
    - cupsCharsetToUTF8
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Buffer */\n_cupsStrDate(char   *buf,\t\t/*
      I - Buffer */\n             size_t bufsize,\t\t/* I - Size of buffer */\n\t
      \    time_t timeval)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:204,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:205,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:207,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:209,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:211,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:212,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:214,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 218
    functionName: _cupsStrFlush
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - DEBUG_printf
    - cupsArrayNext
    - cupsArrayDelete
    - _cupsMutexUnlock
    - free
    - _cupsMutexLock
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: void _cupsStrFlush(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:244,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:245,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:256,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:265,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:267,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:293,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 4
    argNames:
    - buf
    - bufend
    - number
    - loc
    argTypes:
    - char*
    - char*
    - double
    - struct lconv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 298
    functionName: _cupsStrFormatd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 1
    functionsReached:
    - strstr
    - strlen
    - strchr
    - strlcpy
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Pointer to end of string */\n_cupsStrFormatd(char
      \        *buf,\t/* I - String */\n                char         *bufend,\t/*
      I - End of string buffer */\n\t\tdouble       number,\t/* I - Number to format
      */\n                struct lconv *loc)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:334,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:341,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:343,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:347,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:362,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:364,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:368,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 369
    functionName: _cupsStrFree
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 15
    functionsReached:
    - DEBUG_printf
    - cupsArrayFind
    - _cupsMutexUnlock
    - free
    - cupsArrayRemove
    - _cupsMutexLock
    - abort
    linkageType: ''
    returnType: void
    signature: void _cupsStrFree(const char *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:393,1
    - Dst: abort
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:395,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:399,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 407
    functionName: _cupsStrRetain
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - _cupsMutexLock
    - abort
    - _cupsMutexUnlock
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Pointer to string */\n_cupsStrRetain(const
      char *s)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:437,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:448,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:469,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:470,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:482,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:523,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:544,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 62
    argCount: 3
    argNames:
    - buf
    - bufptr
    - loc
    argTypes:
    - char*
    - char**
    - struct lconv*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 545
    functionName: _cupsStrScand
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 4
    functionsReached:
    - strlen
    - _cups_isspace
    - strlcpy
    - isdigit
    - strtod
    linkageType: ''
    returnType: double
    signature: "double _cupsStrScand(const char   *buf,\t/* I - Pointer to number
      */\n              char         **bufptr,\t/* O - New pointer or NULL on error
      */\n              struct lconv *loc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:567,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:570,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:572,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:579,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:584,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - alloc_bytes
    - total_bytes
    argTypes:
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 597
    functionName: _cupsStrStatistics
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - cupsArrayNext
    - _cupsMutexUnlock
    - strlen
    - _cupsMutexLock
    - cupsArrayFirst
    linkageType: ''
    returnType: size_t
    signature: "size_t _cupsStrStatistics(size_t *alloc_bytes,\t/* O - Allocated bytes
      */\n                   size_t *total_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 612
    functionName: _cups_strcpy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _cups_strcpy(char       *dst,\t\t/* I - Destination string */\n
      \            const char *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:630,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:631,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 620
    functionDepth: 5
    functionLinenumber: 620
    functionLinenumberEnd: 635
    functionName: _cups_strdup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - New string pointer */\n_cups_strdup(const char
      *s)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:649,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:649,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:651,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:651,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - s
    - t
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 664
    functionName: _cups_strcasecmp
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 42
    functionsReached:
    - _cups_tolower
    linkageType: ''
    returnType: int
    signature: "int _cups_strcasecmp(const char *s,\t/* I - First string */\n                 const
      char *t)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:677,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:677,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:679,1
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:679,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - s
    - t
    - n
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 695
    functionName: _cups_strncasecmp
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 4
    functionsReached:
    - _cups_tolower
    linkageType: ''
    returnType: int
    signature: "int _cups_strncasecmp(const char *s,\t/* I - First string */\n                  const
      char *t,\t/* I - Second string */\n\t\t  size_t     n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:716,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:726,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:735,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 739
    functionName: _cups_strlcat
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t _cups_strlcat(char       *dst,\t\t/* O - Destination string
      */\n              const char *src,\t\t/* I - Source string */\n\t      size_t
      \    size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:762,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:771,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 775
    functionName: _cups_strlcpy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: size_t
    signature: "size_t _cups_strlcpy(char       *dst,\t\t/* O - Destination string
      */\n              const char *src,\t\t/* I - Source string */\n\t      size_t
      \     size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/string.c:787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _cups_sp_item_t*
    - _cups_sp_item_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 788
    functionName: compare_sp_items
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int compare_sp_items(_cups_sp_item_t *a,\t/* I - First item */\n                 _cups_sp_item_t
      *b)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:52,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:56,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:61,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:63,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:64,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:68,1
    - Dst: cupsResolveConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:78,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:79,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:82,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:84,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:85,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:86,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:88,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:93,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:99,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:103,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:104,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:105,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:108,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:112,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:117,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:118,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:119,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:121,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:122,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:123,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:124,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:128,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c:130,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 34
    functionDepth: 8
    functionLinenumber: 34
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testconflicts.c
    functionUses: 2
    functionsReached:
    - fputs
    - _cups_strcasecmp
    - ppdLastError
    - fgets
    - putchar
    - cupsFreeOptions
    - strdup
    - ppdErrorString
    - printf
    - isspace
    - free
    - cupsMarkOptions
    - fflush
    - ppdOpenFile
    - cupsParseOptions
    - puts
    - ppdMarkDefaults
    - cupsResolveConflicts
    - ppdMarkOption
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:86,1
    - Dst: ppd_ll_CC
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:95,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:103,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:105,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:109,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:111,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:117,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:118,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:119,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:123,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:125,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:129,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:138,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:140,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:142,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:144,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:146,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:148,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:150,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:158,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:160,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:162,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:165,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:167,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:169,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:171,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:173,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:175,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:182,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:184,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:186,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:188,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:190,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:192,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 196
    functionName: ppdLocalize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - ppdFindNextAttr
    - cupsArrayNext
    - strcmp
    - ppd_ll_CC
    - ppdFindAttr
    - strlcpy
    - cupsArraySave
    - ppdFindCustomOption
    - snprintf
    - cupsArrayRestore
    - _ppdLocalizedAttr
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: int ppdLocalize(ppd_file_t *ppd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppd_ll_CC
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:220,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:227,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:229,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ppd
    - keyword
    - spec
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 235
    functionName: ppdLocalizeAttr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 0
    functionsReached:
    - ppd_ll_CC
    - _ppdLocalizedAttr
    - ppdFindAttr
    linkageType: ''
    returnType: ppd_attr_t
    signature: "ppd_attr_t *\t\t\t\t/* O - Localized attribute or @code NULL@ if none
      exists */\nppdLocalizeAttr(ppd_file_t *ppd,\t/* I - PPD file */\n\t\tconst char
      *keyword,\t/* I - Main keyword */\n\t\tconst char *spec)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ppd_ll_CC
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:285,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:291,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:293,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:297,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:305,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:306,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:307,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:308,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:309,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:310,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:311,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:312,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:313,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:314,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:315,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:316,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:317,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:318,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:319,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:320,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:321,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:322,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:323,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:324,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:325,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:326,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:327,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:328,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:329,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:330,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:331,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:332,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:333,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:334,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:335,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:336,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:337,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:338,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:339,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:340,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:341,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:342,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:343,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:344,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:345,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:346,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:347,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:348,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:349,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:350,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:351,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:352,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:353,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:357,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:357,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:371,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:378,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:382,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:390,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:392,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:393,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:401,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:404,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:407,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:410,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:428,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:436,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:451,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:457,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:458,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:464,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:477,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:485,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 118
    argCount: 5
    argNames:
    - ppd
    - reason
    - scheme
    - buffer
    - bufsize
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 491
    functionName: ppdLocalizeIPPReason
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 1
    functionsReached:
    - tolower
    - strcmp
    - ppd_ll_CC
    - _
    - ppdFindAttr
    - _cupsLangString
    - strlen
    - _cups_isspace
    - strlcpy
    - strncmp
    - isxdigit
    - _ppdLocalizedAttr
    - isdigit
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Value or NULL if not found */\nppdLocalizeIPPReason(\n
      \   ppd_file_t *ppd,\t\t\t/* I - PPD file */\n    const char *reason,\t\t\t/*
      I - IPP reason keyword to look up */\n    const char *scheme,\t\t\t/* I - URI
      scheme or NULL for text */\n    char       *buffer,\t\t\t/* I - Value buffer
      */\n    size_t     bufsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppd_ll_CC
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:525,1
    - Dst: _ppdLocalizedAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:531,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:533,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 536
    functionName: ppdLocalizeMarkerName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 1
    functionsReached:
    - ppd_ll_CC
    - _ppdLocalizedAttr
    - ppdFindAttr
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Value or @code NULL@ if not found */\nppdLocalizeMarkerName(\n
      \   ppd_file_t *ppd,\t\t\t/* I - PPD file */\n    const char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:550,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:552,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:553,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - languages
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 556
    functionName: _ppdFreeLanguages
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 0
    functionsReached:
    - free
    - cupsArrayNext
    - cupsArrayDelete
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void _ppdFreeLanguages(\n    cups_array_t *languages)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:577,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:584,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:587,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:589,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:599,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:614,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:617,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:617,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:625,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:627,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:629,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 634
    functionName: _ppdGetLanguages
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - strdup
    - cupsArrayDelete
    - cupsArrayNew
    - strcmp
    - cupsArrayAdd
    - _cups_isspace
    - free
    - ppdFindAttr
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Languages array */\n_ppdGetLanguages(ppd_file_t
      *ppd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 655
    functionName: _ppdHashName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned _ppdHashName(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:672,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:679,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:680,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:682,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:683,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:687,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:696,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:697,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:699,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:707,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:708,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:715,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:718,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - ppd
    - keyword
    - spec
    - ll_CC
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 722
    functionName: _ppdLocalizedAttr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - strncmp
    - DEBUG_puts
    - snprintf
    - ppdFindAttr
    linkageType: ''
    returnType: ppd_attr_t
    signature: "ppd_attr_t *\t\t\t\t/* O - Localized attribute or NULL */\n_ppdLocalizedAttr(ppd_file_t
      *ppd,\t/* I - PPD file */\n\t\t  const char *keyword,\t/* I - Main keyword */\n\t\t
      \ const char *spec,\t/* I - Option keyword */\n\t\t  const char *ll_CC)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:740,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:742,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:750,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:752,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:759,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:760,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:761,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:762,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:763,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:764,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:765,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:766,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:767,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:768,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/localize.c:771,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ll_CC
    - ll_CC_size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 774
    functionName: ppd_ll_CC
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/localize.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - cupsLangDefault
    - strcmp
    - strlen
    - strlcpy
    linkageType: ''
    returnType: cups_lang_t
    signature: "cups_lang_t *\t\t\t/* O - Current language */\nppd_ll_CC(char *ll_CC,\t\t\t/*
      O - Country-specific locale name */\n          int  ll_CC_size)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:74,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:77,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:80,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:83,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:91,1
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:92,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:96,1
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:96,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:105,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:107,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:107,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:109,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:114,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:114,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:116,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:121,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:121,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:123,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:128,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:128,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:130,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:134,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:143,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:144,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:145,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:148,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:148,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:156,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:157,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:158,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:159,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:162,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:170,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:171,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:172,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:173,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:176,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:184,1
    - Dst: cupsArrayLast
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:185,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:186,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:187,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:190,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:198,1
    - Dst: cupsArrayPrev
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:199,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:200,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:201,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:204,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:212,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:213,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:214,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:215,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:218,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:226,1
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:227,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:228,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:229,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:232,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:240,1
    - Dst: cupsArrayDup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:241,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:242,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:243,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:246,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:247,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:255,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:256,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:257,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:258,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:261,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:262,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:270,1
    - Dst: cupsArrayClear
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:271,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:272,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:273,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:276,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:277,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:285,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:286,1
    - Dst: get_seconds
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:288,1
    - Dst: cupsDirOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:290,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:292,1
    - Dst: cupsDirRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:297,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:299,1
    - Dst: load_words
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:304,1
    - Dst: cupsDirClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:307,1
    - Dst: get_seconds
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:309,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:311,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:311,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:312,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:313,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:315,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:322,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:328,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:331,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:337,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:341,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:348,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:350,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:351,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:352,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:354,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:357,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:361,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:367,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:369,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:371,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:375,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:380,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:382,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:384,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:390,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:396,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:398,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:404,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:405,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:411,1
    - Dst: _cupsArrayNewStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:412,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:416,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:418,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:421,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:421,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:423,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:423,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:426,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:428,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:428,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:431,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:433,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:433,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:436,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:438,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:438,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:441,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:444,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:446,1
    - Dst: _cupsArrayAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:447,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:449,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:452,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:452,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:454,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:454,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:457,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:459,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:459,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:462,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:464,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:464,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:467,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:469,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:469,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:472,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:474,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:474,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:477,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:479,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:479,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:482,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:485,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:487,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:494,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:496,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 221
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 499
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testarray.c
    functionUses: 2
    functionsReached:
    - cupsDirOpen
    - cupsArrayClear
    - strlen
    - fputs
    - cupsArrayUserData
    - get_seconds
    - cupsArrayNew
    - strlcpy
    - cupsArraySave
    - cupsArrayPrev
    - strdup
    - _cupsArrayAddStrings
    - cupsArrayFind
    - cupsDirRead
    - strcmp
    - printf
    - cupsArrayDup
    - _cupsArrayNewStrings
    - free
    - fflush
    - cupsArrayCount
    - cupsDirClose
    - cupsArrayNext
    - cupsArrayDelete
    - puts
    - cupsArrayAdd
    - cupsArrayCurrent
    - cupsArrayLast
    - cupsArrayRestore
    - cupsArrayRemove
    - load_words
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: get_seconds
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testarray.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double get_seconds(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 526
    functionName: get_seconds
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testarray.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double get_seconds(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:542,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:544,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:548,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:550,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:551,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:551,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testarray.c:554,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - filename
    - array
    argTypes:
    - char*
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 557
    functionName: load_words
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testarray.c
    functionUses: 1
    functionsReached:
    - strdup
    - cupsArrayFind
    - cupsArrayAdd
    - fopen
    - perror
    - fscanf
    - fclose
    linkageType: ''
    returnType: int
    signature: "int load_words(const char   *filename,\t/* I - File to load */\n           cups_array_t
      *array)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:175,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 171
    functionDepth: 5
    functionLinenumber: 171
    functionLinenumberEnd: 196
    functionName: _cupsBufferGet
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - malloc
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Buffer */\n_cupsBufferGet(size_t size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 215
    functionName: _cupsBufferRelease
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsBufferRelease(char *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:240,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:241,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 4
    argNames:
    - ipp
    - group
    - name
    - value
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 261
    functionName: ippAddBoolean
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddBoolean(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n              ipp_tag_t  group,\t\t/*
      I - IPP group */\n              const char *name,\t\t/* I - Name of attribute
      */\n              char       value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:289,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:290,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 5
    argNames:
    - ipp
    - group
    - name
    - num_values
    - values
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 318
    functionName: ippAddBooleans
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddBooleans(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n               ipp_tag_t  group,\t/* I
      - IPP group */\n\t       const char *name,\t/* I - Name of attribute */\n\t
      \      int        num_values,\t/* I - Number of values */\n\t       const char
      *values)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:345,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:346,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ipp
    - group
    - name
    - value
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 369
    functionName: ippAddCollection
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddCollection(ipp_t
      \     *ipp,\t/* I - IPP message */\n                 ipp_tag_t  group,\t/* I
      - IPP group */\n\t\t const char *name,\t/* I - Name of attribute */\n\t\t ipp_t
      \     *value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:400,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:401,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:417,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 5
    argNames:
    - ipp
    - group
    - name
    - num_values
    - values
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - int
    - ipp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 433
    functionName: ippAddCollections
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddCollections(\n
      \   ipp_t       *ipp,\t\t\t/* I - IPP message */\n    ipp_tag_t   group,\t\t\t/*
      I - IPP group */\n    const char  *name,\t\t\t/* I - Name of attribute */\n
      \   int         num_values,\t\t/* I - Number of values */\n    const ipp_t **values)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:458,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:459,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:473,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:476,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - ipp
    - group
    - name
    - value
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - ipp_uchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 479
    functionName: ippAddDate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - memcpy
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddDate(ipp_t             *ipp,\t/*
      I - IPP message */\n           ipp_tag_t         group,\t/* I - IPP group */\n\t
      \  const char        *name,\t/* I - Name of attribute */\n\t   const ipp_uchar_t
      *value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:508,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:509,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:510,1
    - Dst: ippAddOutOfBand
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:520,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:541,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 13
    argCount: 5
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - value
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 547
    functionName: ippAddInteger
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    - ippAddOutOfBand
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddInteger(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n              ipp_tag_t  group,\t\t/*
      I - IPP group */\n\t      ipp_tag_t  value_tag,\t/* I - Type of attribute */\n
      \             const char *name,\t\t/* I - Name of attribute */\n              int
      \       value)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:579,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:581,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:581,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:607,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 14
    argCount: 6
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - num_values
    - values
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 619
    functionName: ippAddIntegers
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddIntegers(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n               ipp_tag_t  group,\t/* I
      - IPP group */\n\t       ipp_tag_t  value_tag,\t/* I - Type of attribute */\n\t
      \      const char *name,\t/* I - Name of attribute */\n\t       int        num_values,\t/*
      I - Number of values */\n\t       const int  *values)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:652,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:663,1
    - Dst: ippDeleteAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:665,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:669,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 14
    argCount: 5
    argNames:
    - ipp
    - group
    - name
    - data
    - datalen
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 637
    functionDepth: 5
    functionLinenumber: 637
    functionLinenumberEnd: 677
    functionName: ippAddOctetString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - ipp_add_attr
    - ippDeleteAttribute
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddOctetString(ipp_t
      \     *ipp,\t/* I - IPP message */\n                  ipp_tag_t  group,\t/*
      I - IPP group */\n                  const char *name,\t/* I - Name of attribute
      */\n                  const void *data,\t/* I - octetString data */\n\t\t  int
      \       datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:707,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:708,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:709,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:732,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 6
    argCount: 4
    argNames:
    - ipp
    - group
    - value_tag
    - name
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 733
    functionName: ippAddOutOfBand
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddOutOfBand(ipp_t
      \     *ipp,\t/* I - IPP message */\n                ipp_tag_t  group,\t/* I
      - IPP group */\n                ipp_tag_t  value_tag,\t/* I - Type of attribute
      */\n\t\tconst char *name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:761,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:762,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:777,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - ipp
    - group
    - name
    - lower
    - upper
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 784
    functionName: ippAddRange
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddRange(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n            ipp_tag_t  group,\t\t/* I
      - IPP group */\n\t    const char *name,\t\t/* I - Name of attribute */\n\t    int
      \       lower,\t\t/* I - Lower value */\n\t    int        upper)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:813,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:815,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:830,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 6
    argNames:
    - ipp
    - group
    - name
    - num_values
    - lower
    - upper
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 845
    functionName: ippAddRanges
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddRanges(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n             ipp_tag_t  group,\t\t/* I
      - IPP group */\n\t     const char *name,\t\t/* I - Name of attribute */\n\t
      \    int        num_values,\t/* I - Number of values */\n\t     const int  *lower,\t\t/*
      I - Lower values */\n\t     const int  *upper)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:872,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:874,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:890,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 10
    argCount: 6
    argNames:
    - ipp
    - group
    - name
    - units
    - xres
    - yres
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - ipp_res_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 898
    functionName: ippAddResolution
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddResolution(ipp_t
      \     *ipp,\t/* I - IPP message */\n        \t ipp_tag_t  group,\t/* I - IPP
      group */\n\t\t const char *name,\t/* I - Name of attribute */\n\t\t ipp_res_t
      \ units,\t/* I - Units for resolution */\n\t\t int        xres,\t/* I - X resolution
      */\n\t\t int        yres)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:928,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:930,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:946,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 14
    argCount: 7
    argNames:
    - ipp
    - group
    - name
    - num_values
    - units
    - xres
    - yres
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - char*
    - int
    - ipp_res_t
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 962
    functionName: ippAddResolutions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddResolutions(ipp_t
      \     *ipp,\t/* I - IPP message */\n        \t  ipp_tag_t  group,\t/* I - IPP
      group */\n\t\t  const char *name,\t/* I - Name of attribute */\n\t\t  int        num_values,/*
      I - Number of values */\n\t\t  ipp_res_t  units,\t/* I - Units for resolution
      */\n\t\t  const int  *xres,\t/* I - X resolutions */\n\t\t  const int  *yres)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:975,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 989
    functionName: ippAddSeparator
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddSeparator(ipp_t
      *ipp)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1029,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1031,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1031,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1061,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1061,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1064,1
    - Dst: ipp_get_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1064,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1067,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1067,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1074,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1089,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1089,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1095,1
    - Dst: ipp_get_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1095,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1098,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1098,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1101,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 32
    argCount: 6
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - language
    - value
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1106
    functionName: ippAddString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 7
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_get_code
    - strcmp
    - ipp_lang_code
    - _cupsStrAlloc
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddString(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n             ipp_tag_t  group,\t\t/* I
      - IPP group */\n\t     ipp_tag_t  value_tag,\t/* I - Type of attribute */\n
      \            const char *name,\t\t/* I - Name of attribute */\n             const
      char *language,\t/* I - Language code */\n             const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1154,1
    - Dst: ippAddStringfv
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1155,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - language
    - format
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1159
    functionName: ippAddStringf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ippAddStringfv
    - va_start
    - va_end
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddStringf(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n              ipp_tag_t  group,\t\t/*
      I - IPP group */\n\t      ipp_tag_t  value_tag,\t/* I - Type of attribute */\n\t
      \     const char *name,\t\t/* I - Name of attribute */\n\t      const char *language,\t/*
      I - Language code (@code NULL@ for default) */\n\t      const char *format,\t/*
      I - Printf-style format string */\n\t      ...)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1228,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1234,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1239,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1240,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1248,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1299,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1320,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 56
    argCount: 7
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - language
    - format
    - ap
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1194
    functionDepth: 3
    functionLinenumber: 1194
    functionLinenumberEnd: 1321
    functionName: ippAddStringfv
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - va_arg
    - strcmp
    - strlen
    - strlcpy
    - ippAddString
    - vsnprintf
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddStringfv(ipp_t
      \     *ipp,\t\t/* I - IPP message */\n               ipp_tag_t  group,\t/* I
      - IPP group */\n\t       ipp_tag_t  value_tag,\t/* I - Type of attribute */\n\t
      \      const char *name,\t/* I - Name of attribute */\n\t       const char *language,\t/*
      I - Language code (@code NULL@ for default) */\n\t       const char *format,\t/*
      I - Printf-style format string */\n\t       va_list    ap)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1364,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1366,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1366,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1398,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1398,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1403,1
    - Dst: ipp_get_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1403,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1412,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1412,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1423,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1441,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1441,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1453,1
    - Dst: ipp_get_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1453,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1455,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1455,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1457,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 47
    argCount: 7
    argNames:
    - ipp
    - group
    - value_tag
    - name
    - num_values
    - language
    - values
    argTypes:
    - ipp_t*
    - ipp_tag_t
    - ipp_tag_t
    - char*
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1462
    functionName: ippAddStrings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ipp_get_code
    - strcmp
    - ipp_lang_code
    - _cupsStrAlloc
    - ipp_add_attr
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippAddStrings(\n    ipp_t
      \             *ipp,\t\t/* I - IPP message */\n    ipp_tag_t          group,\t\t/*
      I - IPP group */\n    ipp_tag_t          value_tag,\t/* I - Type of attribute
      */\n    const char         *name,\t\t/* I - Name of attribute */\n    int                num_values,\t/*
      I - Number of values */\n    const char         *language,\t/* I - Language
      code (@code NULL@ for default) */\n    const char * const *values)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1514
    functionName: ippContainsInteger
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippContainsInteger(\n    ipp_attribute_t *attr,\t\t/* I - Attribute
      */\n    int             value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1536,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1544,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1552,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1553,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1572,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1575,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1577,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1586,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - attr
    - value
    argTypes:
    - ipp_attribute_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1527
    functionDepth: 1
    functionLinenumber: 1527
    functionLinenumberEnd: 1589
    functionName: ippContainsString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - ippTagString
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int ippContainsString(\n    ipp_attribute_t *attr,\t\t/* I - Attribute
      */\n    const char      *value)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1616,1
    - Dst: ippAddSeparator
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1635,1
    - Dst: ippAddIntegers
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1640,1
    - Dst: ippAddBooleans
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1652,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1671,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1691,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1699,1
    - Dst: ippAddDate
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1707,1
    - Dst: ippAddResolutions
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1712,1
    - Dst: ippAddRanges
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1729,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1745,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1770,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1774,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1785,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1789,1
    - Dst: ippAddCollections
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1795,1
    - Dst: ippAddIntegers
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1812,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1825,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1828,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 123
    argCount: 3
    argNames:
    - dst
    - srcattr
    - quickcopy
    argTypes:
    - ipp_t*
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1604
    functionDepth: 5
    functionLinenumber: 1604
    functionLinenumberEnd: 1835
    functionName: ippCopyAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippAddIntegers
    - ippAddBooleans
    - ippAddSeparator
    - _cupsStrRetain
    - malloc
    - memcpy
    - ippAddResolutions
    - ippAddCollections
    - ippAddRanges
    - _cupsStrAlloc
    - ippAddDate
    - ippAddStrings
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - New attribute */\nippCopyAttribute(\n
      \   ipp_t           *dst,\t\t/* I - Destination IPP message */\n    ipp_attribute_t
      *srcattr,\t\t/* I - Attribute to copy */\n    int             quickcopy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1865,1
    - Dst: ippCopyAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1881,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 5
    argNames:
    - dst
    - src
    - quickcopy
    - cb
    - context
    argTypes:
    - ipp_t*
    - ipp_t*
    - int
    - ipp_copycb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1854
    functionDepth: 6
    functionLinenumber: 1854
    functionLinenumberEnd: 1885
    functionName: ippCopyAttributes
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ippCopyAttribute
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int ippCopyAttributes(\n    ipp_t        *dst,\t\t\t/* I - Destination
      IPP message */\n    ipp_t        *src,\t\t\t/* I - Source IPP message */\n    int
      \         quickcopy,\t\t/* I - 1 for a referenced copy, 0 for normal */\n    ipp_copycb_t
      cb,\t\t\t/* I - Copy callback or @code NULL@ for none */\n    void         *context)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1903,1
    - Dst: mktime
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - date
    argTypes:
    - ipp_uchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1937
    functionName: ippDateToTime
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - memset
    - mktime
    linkageType: ''
    returnType: time_t
    signature: time_t ippDateToTime(const ipp_uchar_t *date)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1951,1
    - Dst: ipp_free_values
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1964,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1967,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1969,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1944
    functionDepth: 2
    functionLinenumber: 1944
    functionLinenumberEnd: 1973
    functionName: ippDelete
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 10
    functionsReached:
    - ipp_free_values
    - DEBUG_printf
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: void ippDelete(ipp_t *ipp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:1991,1
    - Dst: ipp_free_values
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2035,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2038,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2040,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - ipp
    - attr
    argTypes:
    - ipp_t*
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1982
    functionDepth: 2
    functionLinenumber: 1982
    functionLinenumberEnd: 2041
    functionName: ippDeleteAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - ipp_free_values
    - DEBUG_printf
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void ippDeleteAttribute(\n    ipp_t           *ipp,\t\t/* I - IPP
      message */\n    ipp_attribute_t *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ippDeleteAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2079,1
    - Dst: ipp_free_values
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - count
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2057
    functionDepth: 3
    functionLinenumber: 2057
    functionLinenumberEnd: 2091
    functionName: ippDeleteValues
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_free_values
    - ippDeleteAttribute
    linkageType: ''
    returnType: int
    signature: "int ippDeleteValues(\n    ipp_t           *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - Attribute */\n    int             element,\t\t/*
      I  - Index of first value to delete (0-based) */\n    int             count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2103,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2104,1
    - Dst: ippFindNextAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ipp
    - name
    - type
    argTypes:
    - ipp_t*
    - char*
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2120
    functionName: ippFindAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 15
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ippFindNextAttribute
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Matching attribute */\nippFindAttribute(ipp_t
      \     *ipp,\t/* I - IPP message */\n                 const char *name,\t/* I
      - Name of attribute */\n\t\t ipp_tag_t  type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2136,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2137,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2155,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2160,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - ipp
    - name
    - type
    argTypes:
    - ipp_t*
    - char*
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2127
    functionDepth: 2
    functionLinenumber: 2127
    functionLinenumberEnd: 2175
    functionName: ippFindNextAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - _cups_strcasecmp
    - DEBUG_printf
    - ippTagString
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Matching attribute */\nippFindNextAttribute(ipp_t
      \     *ipp,\t/* I - IPP message */\n                     const char *name,\t/*
      I - Name of attribute */\n\t\t     ipp_tag_t  type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2199
    functionName: ippFirstAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - First attribute or @code NULL@ if none
      */\nippFirstAttribute(ipp_t *ipp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - element
    argTypes:
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2228
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2228
    functionName: ippGetBoolean
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippGetBoolean(ipp_attribute_t *attr,\t/* I - IPP attribute */\n
      \             int             element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - element
    argTypes:
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2258
    functionName: ippGetCollection
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - Collection value or @code NULL@ on error */\nippGetCollection(\n
      \   ipp_attribute_t *attr,\t\t/* I - IPP attribute */\n    int             element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2282
      start: 2267
    functionDepth: 0
    functionLinenumber: 2267
    functionLinenumberEnd: 2282
    functionName: ippGetCount
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ippGetCount(ipp_attribute_t *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - element
    argTypes:
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2294
    functionDepth: 0
    functionLinenumber: 2294
    functionLinenumberEnd: 2311
    functionName: ippGetDate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_uchar_t
    signature: "ipp_uchar_t *\t\t\t/* O - Date value or @code NULL@ */\nippGetDate(ipp_attribute_t
      *attr,\t/* I - IPP attribute */\n           int             element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2335
    functionName: ippGetGroupTag
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_tag_t
    signature: ipp_tag_t ippGetGroupTag(ipp_attribute_t *attr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - attr
    - element
    argTypes:
    - ipp_attribute_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2364
      start: 2347
    functionDepth: 0
    functionLinenumber: 2347
    functionLinenumberEnd: 2364
    functionName: ippGetInteger
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippGetInteger(ipp_attribute_t *attr,\t/* I - IPP attribute */\n
      \             int             element)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2373
    functionDepth: 0
    functionLinenumber: 2373
    functionLinenumberEnd: 2388
    functionName: ippGetName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Attribute name or @code NULL@ for separators
      */\nippGetName(ipp_attribute_t *attr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - attr
    - element
    - datalen
    argTypes:
    - ipp_attribute_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2400
    functionDepth: 0
    functionLinenumber: 2400
    functionLinenumberEnd: 2427
    functionName: ippGetOctetString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Pointer to octetString data */\nippGetOctetString(\n
      \   ipp_attribute_t *attr,\t\t/* I - IPP attribute */\n    int             element,\t\t/*
      I - Value number (0-based) */\n    int             *datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2451
    functionName: ippGetOperation
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: ipp_op_t
    signature: ipp_op_t ippGetOperation(ipp_t *ipp)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - attr
    - element
    - uppervalue
    argTypes:
    - ipp_attribute_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2489
    functionName: ippGetRange
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippGetRange(ipp_attribute_t *attr,\t/* I - IPP attribute */\n\t
      \   int             element,\t/* I - Value number (0-based) */\n\t    int             *uppervalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2513
      start: 2498
    functionDepth: 0
    functionLinenumber: 2498
    functionLinenumberEnd: 2513
    functionName: ippGetRequestId
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ippGetRequestId(ipp_t *ipp)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 4
    argNames:
    - attr
    - element
    - yres
    - units
    argTypes:
    - ipp_attribute_t*
    - int
    - int*
    - ipp_res_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2525
    functionDepth: 0
    functionLinenumber: 2525
    functionLinenumberEnd: 2559
    functionName: ippGetResolution
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippGetResolution(\n    ipp_attribute_t *attr,\t\t/* I - IPP attribute
      */\n    int             element,\t\t/* I - Value number (0-based) */\n    int
      \            *yres,\t\t/* O - Vertical/feed resolution */\n    ipp_res_t       *units)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2568
    functionDepth: 0
    functionLinenumber: 2568
    functionLinenumberEnd: 2583
    functionName: ippGetState
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_state_t
    signature: ipp_state_t ippGetState(ipp_t *ipp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2607
    functionName: ippGetStatusCode
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_status_t
    signature: ipp_status_t ippGetStatusCode(ipp_t *ipp)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 3
    argNames:
    - attr
    - element
    - language
    argTypes:
    - ipp_attribute_t*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2641
      start: 2619
    functionDepth: 0
    functionLinenumber: 2619
    functionLinenumberEnd: 2641
    functionName: ippGetString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\nippGetString(ipp_attribute_t *attr,\t/* I - IPP attribute
      */\n             int             element,\t/* I - Value number (0-based) */\n\t
      \    const char      **language)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2650
    functionDepth: 0
    functionLinenumber: 2650
    functionLinenumberEnd: 2665
    functionName: ippGetValueTag
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ipp_tag_t
    signature: ipp_tag_t ippGetValueTag(ipp_attribute_t *attr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ipp
    - minor
    argTypes:
    - ipp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2674
    functionDepth: 0
    functionLinenumber: 2674
    functionLinenumberEnd: 2698
    functionName: ippGetVersion
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippGetVersion(ipp_t *ipp,\t\t/* I - IPP message */\n              int
      \  *minor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ipp_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2709
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2709
    functionName: ippLength
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached:
    - ipp_length
    linkageType: ''
    returnType: size_t
    signature: size_t ippLength(ipp_t *ipp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2733
      start: 2718
    functionDepth: 0
    functionLinenumber: 2718
    functionLinenumberEnd: 2733
    functionName: ippNextAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t\t/* O - Next attribute or @code NULL@ if none
      */\nippNextAttribute(ipp_t *ipp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2744,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2748,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2750,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2757,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2764,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2740
    functionDepth: 1
    functionLinenumber: 2740
    functionLinenumberEnd: 2767
    functionName: ippNew
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - calloc
    - _cupsGlobals
    - DEBUG_puts
    - _cupsSetDefaults
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - New IPP message */\nippNew(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2790,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2790,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2796,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2803,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2808,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2814,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2821,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - op
    argTypes:
    - ipp_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2780
    functionDepth: 3
    functionLinenumber: 2780
    functionLinenumberEnd: 2831
    functionName: ippNewRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 6
    functionsReached:
    - DEBUG_printf
    - ippNew
    - ippOpString
    - cupsLangDefault
    - _cupsMutexUnlock
    - ippAddString
    - _cupsMutexLock
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - IPP request message */\nippNewRequest(ipp_op_t
      op)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2865,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2882,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2891,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2900,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2912,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2921,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2931,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2934,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 1
    argNames:
    - request
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2939
      start: 2847
    functionDepth: 3
    functionLinenumber: 2847
    functionLinenumberEnd: 2939
    functionName: ippNewResponse
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ippNew
    - cupsLangDefault
    - ippAddString
    - strcmp
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - IPP response message */\nippNewResponse(ipp_t
      *request)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2950,1
    - Dst: CUPS_LLCAST
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2951,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2956,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - http
    - ipp
    argTypes:
    - http_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2961
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2961
    functionName: ippRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippReadIO
    - CUPS_LLCAST
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippRead(http_t *http,\t\t\t/* I - HTTP connection */\n
      \       ipp_t  *ipp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2974,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:2976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - ipp
    argTypes:
    - int
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2970
    functionDepth: 1
    functionLinenumber: 2970
    functionLinenumberEnd: 2977
    functionName: ippReadFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippReadIO
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippReadFile(int   fd,\t\t\t/* I - HTTP data */\n            ipp_t
      *ipp)"
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3004,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3006,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3011,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3013,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3031,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3032,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3046,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3047,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3049,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3070,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3071,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3075,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3091,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3092,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3105,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3105,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3106,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3107,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3118,1
    - Dst: ippAddSeparator
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3130,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3136,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3137,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3141,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3142,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3150,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3151,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3159,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3159,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3160,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3161,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3165,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3176,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3176,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3177,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3178,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3212,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3213,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3215,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3216,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3217,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3218,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3224,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3225,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3225,1
    - Dst: ippSetValueTag
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3226,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3239,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3240,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3242,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3243,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3244,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3245,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3255,1
    - Dst: ippSetValueTag
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3257,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3262,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3263,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3265,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3266,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3267,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3268,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3276,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3278,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3290,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3290,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3291,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3292,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3299,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3302,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3303,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3304,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3308,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3321,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3322,1
    - Dst: ipp_add_attr
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3331,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3334,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3335,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3336,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3340,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3353,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3354,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3359,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3363,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3364,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3365,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3366,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3377,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3378,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3380,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3381,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3382,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3383,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3389,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3390,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3406,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3406,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3408,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3409,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3415,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3416,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3453,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3454,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3460,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3461,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3467,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3467,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3468,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3469,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3475,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3476,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3484,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3485,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3486,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3487,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3493,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3494,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3511,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3512,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3513,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3515,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3521,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3522,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3539,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3540,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3543,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3544,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3546,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3548,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3554,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3556,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3577,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3578,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3579,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3581,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3586,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3587,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3588,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3590,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3594,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3597,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3604,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3605,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3606,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3607,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3612,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3620,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3624,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3625,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3626,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3628,1
    - Dst: ippReadIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3632,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3634,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3635,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3641,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3645,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3646,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3647,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3652,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3663,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3664,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3665,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3666,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3671,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3672,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3673,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3674,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3679,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3680,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3685,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3695,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3701,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3702,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3703,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3705,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3713,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3715,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3716,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3717,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3723,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3724,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3749,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3750,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 417
    argCount: 5
    argNames:
    - src
    - cb
    - blocking
    - parent
    - ipp
    argTypes:
    - void*
    - ipp_iocb_t
    - int
    - ipp_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3753
      start: 2986
    functionDepth: 6
    functionLinenumber: 2986
    functionLinenumberEnd: 3753
    functionName: ippReadIO
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 5
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - ippNew
    - _cupsSetHTTPError
    - _cupsBufferRelease
    - _cupsSetError
    - _
    - ippAddSeparator
    - malloc
    - memcpy
    - ippReadIO
    - ippSetValueTag
    - DEBUG_puts
    - _cupsStrAlloc
    - ipp_add_attr
    - _cupsBufferGet
    - ipp_set_value
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippReadIO(void       *src,\t\t/* I - Data source */\n
      \         ipp_iocb_t cb,\t\t/* I - Read callback function */\n\t  int        blocking,\t\t/*
      I - Use blocking IO? */\n\t  ipp_t      *parent,\t\t/* I - Parent request, if
      any */\n          ipp_t      *ipp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3784,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3791,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - boolvalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3795
      start: 3770
    functionDepth: 1
    functionLinenumber: 3770
    functionLinenumberEnd: 3795
    functionName: ippSetBoolean
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetBoolean(ipp_t           *ipp,\t/* I  - IPP message */\n
      \             ipp_attribute_t **attr,\t/* IO - IPP attribute */\n              int
      \            element,\t/* I  - Value number (0-based) */\n              int
      \            boolvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3827,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3834,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3837,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - colvalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3812
    functionDepth: 3
    functionLinenumber: 3812
    functionLinenumberEnd: 3844
    functionName: ippSetCollection
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_set_value
    - element < 0 || element >
    - ippDelete
    linkageType: ''
    returnType: int
    signature: "int ippSetCollection(\n    ipp_t           *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - IPP attribute */\n    int             element,\t\t/*
      I  - Value number (0-based) */\n    ipp_t           *colvalue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3875,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3882,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3883,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - datevalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - ipp_uchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3886
      start: 3861
    functionDepth: 1
    functionLinenumber: 3861
    functionLinenumberEnd: 3886
    functionName: ippSetDate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetDate(ipp_t             *ipp,\t/* I  - IPP message */\n           ipp_attribute_t
      \  **attr,\t/* IO - IPP attribute */\n           int               element,\t/*
      I  - Value number (0-based) */\n           const ipp_uchar_t *datevalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 3
    argNames:
    - ipp
    - attr
    - group_tag
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3906
    functionDepth: 0
    functionLinenumber: 3906
    functionLinenumberEnd: 3928
    functionName: ippSetGroupTag
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetGroupTag(\n    ipp_t           *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - Attribute */\n    ipp_tag_t       group_tag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3960,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:3967,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - intvalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3971
      start: 3945
    functionDepth: 1
    functionLinenumber: 3945
    functionLinenumberEnd: 3971
    functionName: ippSetInteger
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetInteger(ipp_t           *ipp,\t/* I  - IPP message */\n
      \             ipp_attribute_t **attr,\t/* IO - IPP attribute */\n              int
      \            element,\t/* I  - Value number (0-based) */\n              int
      \            intvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4004,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - ipp
    - attr
    - name
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4013
      start: 3985
    functionDepth: 2
    functionLinenumber: 3985
    functionLinenumberEnd: 4013
    functionName: ippSetName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - _cupsStrAlloc
    - _cupsStrFree
    linkageType: ''
    returnType: int
    signature: "int ippSetName(ipp_t           *ipp,\t/* I  - IPP message */\n\t   ipp_attribute_t
      **attr,\t/* IO - IPP attribute */\n\t   const char      *name)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4046,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4054,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4077,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4087,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4089,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 5
    argNames:
    - ipp
    - attr
    - element
    - data
    - datalen
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4101
      start: 4030
    functionDepth: 5
    functionLinenumber: 4030
    functionLinenumberEnd: 4101
    functionName: ippSetOctetString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - memcpy
    - element < 0 || element >
    - ipp_set_value
    linkageType: ''
    returnType: int
    signature: "int ippSetOctetString(\n    ipp_t           *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - IPP attribute */\n    int             element,\t\t/*
      I  - Value number (0-based) */\n    const void      *data,\t\t/* I  - Pointer
      to octetString data */\n    int             datalen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ipp
    - op
    argTypes:
    - ipp_t*
    - ipp_op_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4131
      start: 4113
    functionDepth: 0
    functionLinenumber: 4113
    functionLinenumberEnd: 4131
    functionName: ippSetOperation
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetOperation(ipp_t    *ipp,\t\t/* I - IPP request message */\n
      \               ipp_op_t op)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4163,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4170,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 5
    argNames:
    - ipp
    - attr
    - element
    - lowervalue
    - uppervalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4177
      start: 4148
    functionDepth: 1
    functionLinenumber: 4148
    functionLinenumberEnd: 4177
    functionName: ippSetRange
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetRange(ipp_t           *ipp,\t/* I  - IPP message */\n            ipp_attribute_t
      **attr,\t/* IO - IPP attribute */\n            int             element,\t/*
      I  - Value number (0-based) */\n\t    int             lowervalue,\t/* I  - Lower
      bound for range */\n\t    int             uppervalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ipp
    - request_id
    argTypes:
    - ipp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4211
      start: 4191
    functionDepth: 0
    functionLinenumber: 4191
    functionLinenumberEnd: 4211
    functionName: ippSetRequestId
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetRequestId(ipp_t *ipp,\t\t/* I - IPP message */\n                int
      \  request_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4245,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 9
    argCount: 6
    argNames:
    - ipp
    - attr
    - element
    - unitsvalue
    - xresvalue
    - yresvalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - ipp_res_t
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4228
    functionDepth: 1
    functionLinenumber: 4228
    functionLinenumberEnd: 4261
    functionName: ippSetResolution
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetResolution(\n    ipp_t           *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - IPP attribute */\n    int             element,\t\t/*
      I  - Value number (0-based) */\n    ipp_res_t       unitsvalue,\t\t/* I  - Resolution
      units */\n    int             xresvalue,\t\t/* I  - Horizontal/cross feed resolution
      */\n    int             yresvalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ipp
    - state
    argTypes:
    - ipp_t*
    - ipp_state_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4270
    functionDepth: 0
    functionLinenumber: 4270
    functionLinenumberEnd: 4289
    functionName: ippSetState
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetState(ipp_t       *ipp,\t\t/* I - IPP message */\n            ipp_state_t
      state)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ipp
    - status
    argTypes:
    - ipp_t*
    - ipp_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4319
      start: 4301
    functionDepth: 0
    functionLinenumber: 4301
    functionLinenumberEnd: 4319
    functionName: ippSetStatusCode
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetStatusCode(ipp_t        *ipp,\t/* I - IPP response or event
      message */\n                 ipp_status_t status)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: element < 0 || element >
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4355,1
    - Dst: ipp_set_value
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4362,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4369,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4372,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - strvalue
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4336
    functionDepth: 2
    functionLinenumber: 4336
    functionLinenumberEnd: 4381
    functionName: ippSetString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - _cupsStrAlloc
    - _cupsStrFree
    - ipp_set_value
    - element < 0 || element >
    linkageType: ''
    returnType: int
    signature: "int ippSetString(ipp_t           *ipp,\t/* I  - IPP message */\n             ipp_attribute_t
      **attr,\t/* IO - IPP attribute */\n             int             element,\t/*
      I  - Value number (0-based) */\n\t     const char      *strvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4414,1
    - Dst: ippSetStringfv
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4415,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ipp
    - attr
    - element
    - format
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4419
      start: 4403
    functionDepth: 1
    functionLinenumber: 4403
    functionLinenumberEnd: 4419
    functionName: ippSetStringf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - ippSetStringfv
    linkageType: ''
    returnType: int
    signature: "int ippSetStringf(ipp_t           *ipp,\t/* I  - IPP message */\n
      \             ipp_attribute_t **attr,\t/* IO - IPP attribute */\n              int
      \            element,\t/* I  - Value number (0-based) */\n\t      const char
      \     *format,\t/* I  - Printf-style format string */\n\t      ...)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4474,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4480,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4485,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4486,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4494,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4545,1
    - Dst: ippSetString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4566,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 57
    argCount: 5
    argNames:
    - ipp
    - attr
    - element
    - format
    - ap
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4567
      start: 4441
    functionDepth: 3
    functionLinenumber: 4441
    functionLinenumberEnd: 4567
    functionName: ippSetStringfv
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - ippSetString
    - va_arg
    - strcmp
    - strlen
    - strlcpy
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: "int ippSetStringfv(ipp_t           *ipp,\t/* I  - IPP message */\n
      \              ipp_attribute_t **attr,\t/* IO - IPP attribute */\n               int
      \            element,\t/* I  - Value number (0-based) */\n\t       const char
      \     *format,\t/* I  - Printf-style format string */\n\t       va_list         ap)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ipp_free_values
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4641,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4686,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4693,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4701,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4702,1
    - Dst: ipp_lang_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4702,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4721,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 59
    argCount: 3
    argNames:
    - ipp
    - attr
    - value_tag
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4736
      start: 4593
    functionDepth: 2
    functionLinenumber: 4593
    functionLinenumberEnd: 4736
    functionName: ippSetValueTag
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - cupsLangDefault
    - strcmp
    - ipp_free_values
    - ipp_lang_code
    - _cupsStrAlloc
    linkageType: ''
    returnType: int
    signature: "int ippSetValueTag(\n    ipp_t          *ipp,\t\t/* I  - IPP message
      */\n    ipp_attribute_t **attr,\t\t/* IO - IPP attribute */\n    ipp_tag_t       value_tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ipp
    - major
    - minor
    argTypes:
    - ipp_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4750
    functionDepth: 0
    functionLinenumber: 4750
    functionLinenumberEnd: 4770
    functionName: ippSetVersion
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ippSetVersion(ipp_t *ipp,\t\t/* I - IPP message */\n              int
      \  major,\t\t/* I - Major version number (major.minor) */\n              int
      \  minor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4781,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4818
      start: 4777
    functionDepth: 1
    functionLinenumber: 4777
    functionLinenumberEnd: 4818
    functionName: ippTimeToDate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - gmtime
    - _cupsGlobals
    linkageType: ''
    returnType: ipp_uchar_t
    signature: "ipp_uchar_t *\t\t\t/* O - RFC-1903 date/time data */\nippTimeToDate(time_t
      t)"
  - BBCount: 83
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4877,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4882,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4883,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4890,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4891,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4908,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4909,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4922,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4923,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4936,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4937,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4952,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4953,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4960,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4961,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4968,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4969,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4976,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4977,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4984,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4985,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4992,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:4993,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5000,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5001,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5008,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5009,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5016,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5017,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5029,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5030,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5044,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5045,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5060,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5061,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5079,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5080,1
    - Dst: ippValidateAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5096,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5141,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5142,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5150,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5151,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5199,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5200,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5208,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5209,1
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5222,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5228,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5229,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5237,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5238,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5250,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5259,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5260,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5268,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5270,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5271,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5274,1
    - Dst: islower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5283,1
    - Dst: islower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5286,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5286,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5293,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5294,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5302,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5303,1
    - Dst: isprint
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5316,1
    - Dst: isupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5316,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5317,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5322,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5323,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5331,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5332,1
    - Dst: regcomp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5348,1
    - Dst: regerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5366,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5367,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5368,1
    - Dst: regexec
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5377,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5379,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5380,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5383,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5388,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5390,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5391,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5394,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5396,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5403,1
    - Dst: regcomp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5415,1
    - Dst: regerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5428,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5429,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5430,1
    - Dst: regexec
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5439,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5441,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5442,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5445,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5450,1
    - Dst: ipp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5452,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5453,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5456,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5458,1
    - Dst: regfree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5465,1
    CyclomaticComplexity: 142
    EdgeCount: 142
    ICount: 300
    argCount: 1
    argNames:
    - attr
    argTypes:
    - ipp_attribute_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 4831
    functionDepth: 2
    functionLinenumber: 4831
    functionLinenumberEnd: 5474
    functionName: ippValidateAttribute
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - regexec
    - httpSeparateURI
    - ipp_set_error
    - isupper
    - _
    - strlen
    - islower
    - isspace
    - regcomp
    - isprint
    - isalnum
    - ippValidateAttribute
    - isdigit
    - regerror
    - regfree
    linkageType: ''
    returnType: int
    signature: "int ippValidateAttribute(\n    ipp_attribute_t *attr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ippValidateAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - ipp
    argTypes:
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5501
      start: 5487
    functionDepth: 3
    functionLinenumber: 5487
    functionLinenumberEnd: 5501
    functionName: ippValidateAttributes
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - ippValidateAttribute
    linkageType: ''
    returnType: int
    signature: int ippValidateAttributes(ipp_t *ipp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5512,1
    - Dst: ippWriteIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - http
    - ipp
    argTypes:
    - http_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5518
      start: 5508
    functionDepth: 1
    functionLinenumber: 5508
    functionLinenumberEnd: 5518
    functionName: ippWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippWriteIO
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippWrite(http_t *http,\t\t\t/* I - HTTP connection */\n
      \        ipp_t  *ipp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5531,1
    - Dst: ippWriteIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - ipp
    argTypes:
    - int
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5536
      start: 5527
    functionDepth: 1
    functionLinenumber: 5527
    functionLinenumberEnd: 5536
    functionName: ippWriteFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippWriteIO
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippWriteFile(int   fd,\t\t\t/* I - HTTP data */\n             ipp_t
      *ipp)"
  - BBCount: 98
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5560,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5566,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5568,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5600,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5601,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5603,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5608,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5609,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5623,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5657,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5658,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5665,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5667,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5685,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5687,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5688,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5696,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5697,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5698,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5714,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5724,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5726,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5727,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5736,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5738,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5740,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5741,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5742,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5749,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5794,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5796,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5840,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5842,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5892,1
    - Dst: ippTagString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5894,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5895,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5901,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5903,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5916,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5922,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5923,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5927,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5934,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5936,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5958,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5973,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:5975,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6004,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6018,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6020,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6071,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6073,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6130,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6132,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6157,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6160,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6164,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6166,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6174,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6176,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6189,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6199,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6205,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6215,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6237,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6239,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6267,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6269,1
    - Dst: ippWriteIO
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6281,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6284,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6285,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6307,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6309,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6332,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6334,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6342,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6344,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6358,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6373,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6374,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6378,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6415,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6416,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6431,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 445
    argCount: 5
    argNames:
    - dst
    - cb
    - blocking
    - parent
    - ipp
    argTypes:
    - void*
    - ipp_iocb_t
    - int
    - ipp_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6434
      start: 5545
    functionDepth: 6
    functionLinenumber: 5545
    functionLinenumberEnd: 6434
    functionName: ippWriteIO
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 5
    functionsReached:
    - DEBUG_printf
    - ippTagString
    - _cupsBufferRelease
    - strlen
    - ippWriteIO
    - memcpy
    - DEBUG_puts
    - _cupsBufferGet
    linkageType: ''
    returnType: ipp_state_t
    signature: "ipp_state_t ippWriteIO(void       *dst,\t\t/* I - Destination */\n
      \          ipp_iocb_t cb,\t\t/* I - Write callback function */\n\t   int        blocking,\t\t/*
      I - Use blocking IO? */\n\t   ipp_t      *parent,\t\t/* I - Parent IPP message
      */\n           ipp_t      *ipp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6452,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6471,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6481,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - ipp
    - name
    - group_tag
    - value_tag
    - num_values
    argTypes:
    - ipp_t*
    - char*
    - ipp_tag_t
    - ipp_tag_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6503
      start: 6441
    functionDepth: 2
    functionLinenumber: 6441
    functionLinenumberEnd: 6503
    functionName: ipp_add_attr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 17
    functionsReached:
    - calloc
    - DEBUG_printf
    - _cupsStrAlloc
    linkageType: ''
    returnType: ipp_attribute_t
    signature: "ipp_attribute_t *\t\t/* O - New attribute */\nipp_add_attr(ipp_t      *ipp,\t\t/*
      I - IPP message */\n             const char *name,\t\t/* I - Attribute name
      or NULL */\n             ipp_tag_t  group_tag,\t/* I - Group tag or IPP_TAG_ZERO
      */\n             ipp_tag_t  value_tag,\t/* I - Value tag or IPP_TAG_ZERO */\n
      \            int        num_values)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6519,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6535,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6553,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6577,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6590,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6603,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 3
    argNames:
    - attr
    - element
    - count
    argTypes:
    - ipp_attribute_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6607
      start: 6510
    functionDepth: 3
    functionLinenumber: 6510
    functionLinenumberEnd: 6607
    functionName: ipp_free_values
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 4
    functionsReached:
    - DEBUG_printf
    - memmove
    - ippDelete
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void ipp_free_values(ipp_attribute_t *attr,\t/* I - Attribute to free
      values from */\n                int             element,/* I - First value to
      free */\n                int             count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cups_tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6636,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - value
    - buffer
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6645
      start: 6617
    functionDepth: 1
    functionLinenumber: 6617
    functionLinenumberEnd: 6645
    functionName: ipp_get_code
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached:
    - _cups_tolower
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Language code string */\nipp_get_code(const char
      *value,\t\t/* I - Locale/charset string */\n             char       *buffer,\t/*
      I - String buffer */\n             size_t     bufsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6664,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6666,1
    - Dst: ipp_get_code
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - locale
    - buffer
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6671
      start: 6655
    functionDepth: 2
    functionLinenumber: 6655
    functionLinenumberEnd: 6671
    functionName: ipp_lang_code
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 3
    functionsReached:
    - _cups_strcasecmp
    - strlcpy
    - ipp_get_code
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Language code string */\nipp_lang_code(const
      char *locale,\t/* I - Locale string */\n              char       *buffer,\t/*
      I - String buffer */\n              size_t     bufsize)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6689,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6693,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6723,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6731,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6769,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6793,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6796,1
    - Dst: ipp_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6804,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6826,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 88
    argCount: 2
    argNames:
    - ipp
    - collection
    argTypes:
    - ipp_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6829
      start: 6678
    functionDepth: 1
    functionLinenumber: 6678
    functionLinenumberEnd: 6829
    functionName: ipp_length
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 2
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - strlen
    - ipp_length
    linkageType: ''
    returnType: size_t
    signature: "size_t ipp_length(ipp_t *ipp,\t\t\t/* I - IPP message or collection
      */\n           int   collection)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6845,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6856,1
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6868,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6879,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6901,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - ipp_uchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6904
      start: 6836
    functionDepth: 3
    functionLinenumber: 6836
    functionLinenumberEnd: 6904
    functionName: ipp_read_http
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpWait
    - httpRead2
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ipp_read_http(http_t      *http,\t/* I - Client connection
      */\n              ipp_uchar_t *buffer,\t/* O - Buffer for data */\n\t      size_t
      \     length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6917,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - buffer
    - length
    argTypes:
    - int*
    - ipp_uchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6921
      start: 6911
    functionDepth: 0
    functionLinenumber: 6911
    functionLinenumberEnd: 6921
    functionName: ipp_read_file
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ipp_read_file(int         *fd,\t\t/* I - File descriptor */\n
      \             ipp_uchar_t *buffer,\t/* O - Read buffer */\n\t      size_t      length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6935,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6939,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6940,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6940,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6941,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - status
    - format
    argTypes:
    - ipp_status_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6944
      start: 6928
    functionDepth: 1
    functionLinenumber: 6928
    functionLinenumberEnd: 6944
    functionName: ipp_set_error
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 1
    functionsReached:
    - va_start
    - cupsLangDefault
    - va_end
    - _cupsLangString
    - _cupsSetError
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: "void ipp_set_error(ipp_status_t status,\t/* I - Status code */\n              const
      char   *format,\t/* I - Printf-style error string */\n\t      ...)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:6993,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7000,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7003,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7004,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7012,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7046,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7047,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7048,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - ipp
    - attr
    - element
    argTypes:
    - ipp_t*
    - ipp_attribute_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7075
      start: 6952
    functionDepth: 1
    functionLinenumber: 6952
    functionLinenumberEnd: 7075
    functionName: ipp_set_value
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 9
    functionsReached:
    - DEBUG_printf
    - _cupsSetHTTPError
    - _cupsSetError
    - _
    - memset
    - DEBUG_puts
    - realloc
    linkageType: ''
    returnType: _ipp_value_t
    signature: "_ipp_value_t *\t\t\t/* O  - IPP value element or NULL on error */\nipp_set_value(ipp_t
      \          *ipp,\t/* IO - IPP message */\n              ipp_attribute_t **attr,\t/*
      IO - IPP attribute */\n              int             element)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7088,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/ipp.c:7090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - buffer
    - length
    argTypes:
    - int*
    - ipp_uchar_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7092
      start: 7082
    functionDepth: 0
    functionLinenumber: 7082
    functionLinenumberEnd: 7092
    functionName: ipp_write_file
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/ipp.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t ipp_write_file(int         *fd,\t\t/* I - File descriptor
      */\n               ipp_uchar_t *buffer,\t/* I - Data to write */\n               size_t
      \     length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - l
    - ','
    - a
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: _PWG_MEDIA_IN
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PWG_MEDIA_IN(p,l,a,x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - l
    - ','
    - a
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: _PWG_MEDIA_MM
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PWG_MEDIA_MM(p,l,a,x,y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:301,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:310,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:310,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:312,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:312,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:330,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:331,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:359,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:380,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:383,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:389,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:395,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 7
    argNames:
    - keyword
    - keysize
    - prefix
    - name
    - width
    - length
    - units
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 398
    functionName: pwgFormatSizeName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strcmp
    - _cupsSetError
    - _
    - strlen
    - memcpy
    - snprintf
    linkageType: ''
    returnType: int
    signature: "int pwgFormatSizeName(char       *keyword,\t/* I - Keyword buffer
      */\n\t\t  size_t     keysize,\t/* I - Size of keyword buffer */\n\t\t  const
      char *prefix,\t/* I - Prefix for PWG size or @code NULL@ for automatic */\n\t\t
      \ const char *name,\t/* I - Size name or @code NULL@ */\n\t\t  int        width,\t/*
      I - Width of page in 2540ths */\n\t\t  int        length,\t/* I - Length of
      page in 2540ths */\n\t\t  const char *units)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - keyword
    - keysize
    - prefix
    - name
    - width
    - length
    argTypes:
    - char*
    - size_t
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 2
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: _pwgGenerateSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgFormatSizeName
    linkageType: ''
    returnType: void
    signature: "void _pwgGenerateSize(char *keyword, size_t keysize, const char *prefix,\n\t\t
      \     const char *name, int width, int length)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:449,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:452,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:459,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:468,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:470,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:480,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:481,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:486,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:487,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:493,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:493,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:499,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:502,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:505,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:508,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:523,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:524,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:525,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:526,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:533,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:539,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:547,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:549,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:550,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:568,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:568,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:574,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:574,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 3
    argNames:
    - size
    - job
    - margins_set
    argTypes:
    - pwg_size_t*
    - ipp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 580
    functionName: pwgInitSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 2
    functionsReached:
    - pwgMediaForPWG
    - _cupsSetError
    - _
    - strlen
    - memset
    - pwgMediaForLegacy
    - _cups_strcasecmp
    - pwgMediaForPPD
    - ippFindAttribute
    linkageType: ''
    returnType: int
    signature: "int pwgInitSize(pwg_size_t *size,\t\t/* I - Size to initialize */\n\t
      \   ipp_t      *job,\t\t/* I - Job template attributes */\n\t    int        *margins_set)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgInitSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - job
    - margins_set
    argTypes:
    - pwg_size_t*
    - ipp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 584
    functionName: _pwgInitSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgInitSize
    linkageType: ''
    returnType: int
    signature: int _pwgInitSize(pwg_size_t *size, ipp_t *job, int *margins_set)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:600,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:619,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:627,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:635,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - legacy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 636
    functionName: pwgMediaForLegacy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 6
    functionsReached:
    - cupsArrayAdd
    - cupsArrayFind
    - cupsArrayNew
    - _cupsGlobals
    linkageType: ''
    returnType: pwg_media_t
    signature: "pwg_media_t *\t\t\t\t/* O - Matching size or NULL */\npwgMediaForLegacy(const
      char *legacy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - legacy
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 640
    functionName: _pwgMediaForLegacy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgMediaForLegacy
    linkageType: ''
    returnType: pwg_media_t
    signature: pwg_media_t *_pwgMediaForLegacy(const char *legacy)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:663,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:681,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:688,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:696,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:718,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:737,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:738,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:739,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:744,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:748,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:751,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:756,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:761,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:766,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:776,1
    - Dst: pwg_scan_measurement
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:783,1
    - Dst: pwg_scan_measurement
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:787,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:802,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 69
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 810
    functionName: pwgMediaForPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 4
    functionsReached:
    - cupsArrayFind
    - cupsArrayNew
    - cupsArrayAdd
    - strlen
    - strchr
    - _cups_strncasecmp
    - _cupsGlobals
    - isdigit
    - pwgFormatSizeName
    - pwg_scan_measurement
    linkageType: ''
    returnType: pwg_media_t
    signature: "pwg_media_t *\t\t\t\t/* O - Matching size or NULL */\npwgMediaForPPD(const
      char *ppd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 813
    functionDepth: 3
    functionLinenumber: 813
    functionLinenumberEnd: 814
    functionName: _pwgMediaForPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgMediaForPPD
    linkageType: ''
    returnType: pwg_media_t
    signature: pwg_media_t *_pwgMediaForPPD(const char *ppd)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:836,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:854,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:860,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:868,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:869,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:870,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:881,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:886,1
    - Dst: pwg_scan_measurement
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:891,1
    - Dst: pwg_scan_measurement
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:895,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:903,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - pwg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 910
    functionName: pwgMediaForPWG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 6
    functionsReached:
    - cupsArrayFind
    - cupsArrayNew
    - strcmp
    - cupsArrayAdd
    - strlen
    - strchr
    - strlcpy
    - _cupsGlobals
    - pwg_scan_measurement
    linkageType: ''
    returnType: pwg_media_t
    signature: "pwg_media_t *\t\t\t\t/* O - Matching size or NULL */\npwgMediaForPWG(const
      char *pwg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:914,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pwg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 914
    functionName: _pwgMediaForPWG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgMediaForPWG
    linkageType: ''
    returnType: pwg_media_t
    signature: pwg_media_t *_pwgMediaForPWG(const char *pwg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:940,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:964,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:965,1
    - Dst: pwgFormatSizeName
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - width
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 997
    functionName: pwgMediaForSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 3
    functionsReached:
    - pwgFormatSizeName
    - abs
    - _cupsGlobals
    linkageType: ''
    returnType: pwg_media_t
    signature: "pwg_media_t *\t\t\t\t/* O - PWG media name */\npwgMediaForSize(int
      width,\t\t/* I - Width in hundredths of millimeters */\n\t\tint length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - width
    - length
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 1000
    functionDepth: 3
    functionLinenumber: 1000
    functionLinenumberEnd: 1001
    functionName: _pwgMediaForSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - pwgMediaForSize
    linkageType: ''
    returnType: pwg_media_t
    signature: pwg_media_t *_pwgMediaForSize(int width, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - num_media
    argTypes:
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: _pwgMediaTable
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pwg_media_t
    signature: "pwg_media_t *\t\t\t/* O - Pointer to first entry */\n_pwgMediaTable(size_t
      *num_media)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pwg_media_t*
    - pwg_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: pwg_compare_legacy
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int pwg_compare_legacy(pwg_media_t *a,\t/* I - First size */\n                   pwg_media_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pwg_media_t*
    - pwg_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: pwg_compare_ppd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int pwg_compare_ppd(pwg_media_t *a,\t/* I - First size */\n                pwg_media_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - pwg_media_t*
    - pwg_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1050
    functionName: pwg_compare_pwg
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int pwg_compare_pwg(pwg_media_t *a,\t/* I - First size */\n                pwg_media_t
      *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1082,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1084,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1086,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - buf
    - bufsize
    - val
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1091
    functionName: pwg_format_inches
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - String */\npwg_format_inches(char   *buf,\t\t/*
      I - Buffer */\n                 size_t bufsize,\t/* I - Size of buffer */\n
      \                int    val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1120,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1122,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c:1124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buf
    - bufsize
    - val
    argTypes:
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1127
    functionName: pwg_format_millimeters
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - String */\npwg_format_millimeters(char   *buf,\t/*
      I - Buffer */\n                      size_t bufsize,\t/* I - Size of buffer
      */\n                      int    val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - bufptr
    - numer
    - denom
    argTypes:
    - char*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1138
    functionDepth: 0
    functionLinenumber: 1138
    functionLinenumberEnd: 1184
    functionName: pwg_scan_measurement
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg-media.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pwg_scan_measurement(\n    const char *buf,\t\t\t/* I - Number
      string */\n    char       **bufptr,\t\t/* O - First byte after the number */\n
      \   int        numer,\t\t\t/* I - Numerator from units */\n    int        denom)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:61,1
    - Dst: socket
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:62,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:72,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:78,1
    - Dst: sockaddr_len
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:102,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:107,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:108,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:114,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:121,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:127,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:138,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:140,1
    - Dst: sockaddr_len
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:140,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:141,1
    - Dst: sockaddr_len
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:141,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:147,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:153,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:154,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:169,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:176,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:177,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:187,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:189,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:190,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:200,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 1
    argNames:
    - addrs
    argTypes:
    - struct ifaddrs**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 33
    functionDepth: 5
    functionLinenumber: 33
    functionLinenumberEnd: 203
    functionName: _cups_getifaddrs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c
    functionUses: 0
    functionsReached:
    - strdup
    - close
    - ioctl
    - malloc
    - memset
    - memcpy
    - socket
    - calloc
    - sockaddr_len
    linkageType: ''
    returnType: int
    signature: int _cups_getifaddrs(struct ifaddrs **addrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: sockaddr_len
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockaddr_len(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: sockaddr_len
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sockaddr_len(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:230,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:236,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:242,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:248,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c:256,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - addrs
    argTypes:
    - struct ifaddrs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 260
    functionName: _cups_freeifaddrs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getifaddrs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _cups_freeifaddrs(struct ifaddrs *addrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsCancelJob2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - job_id
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: cupsCancelJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - cupsCancelJob2
    linkageType: ''
    returnType: int
    signature: "int cupsCancelJob(const char *name,\t\t/* I - Name of printer or class
      */\n              int        job_id)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:128,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:128,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:137,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:151,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:155,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:156,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:158,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:160,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:165,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:167,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:170,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:171,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:174,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:176,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:182,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:182,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:184,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - http
    - name
    - job_id
    - purge
    argTypes:
    - http_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 112
    functionDepth: 4
    functionLinenumber: 112
    functionLinenumberEnd: 185
    functionName: cupsCancelJob2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 1
    functionsReached:
    - ippNewRequest
    - _cupsSetError
    - _cupsConnect
    - snprintf
    - ippAddBoolean
    - ippPort
    - ippDelete
    - ippAddString
    - cupsLastError
    - ippAddInteger
    - strerror
    - cupsUser
    - httpAssembleURIf
    - cupsDoRequest
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsCancelJob2(http_t     *http,\t/* I - Connection to
      server or @code CUPS_HTTP_DEFAULT@ */\n               const char *name,\t/*
      I - Name of printer or class */\n               int        job_id,\t/* I - Job
      ID, @code CUPS_JOBID_CURRENT@ for the current job, or @code CUPS_JOBID_ALL@
      for all jobs */\n\t       int        purge)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:216,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:226,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:226,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:234,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:236,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:236,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:240,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:241,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:242,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:244,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:246,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:247,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:249,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:251,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:252,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:253,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:259,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:261,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - http
    - name
    - title
    - num_options
    - options
    argTypes:
    - http_t*
    - char*
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 271
    functionName: cupsCreateJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippNewRequest
    - _cupsSetError
    - snprintf
    - cupsEncodeOptions2
    - ippDelete
    - ippPort
    - ippAddString
    - strerror
    - cupsUser
    - ippFindAttribute
    - httpAssembleURIf
    - cupsDoRequest
    linkageType: ''
    returnType: int
    signature: "int cupsCreateJob(\n    http_t        *http,\t\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n    const char    *name,\t\t/* I -
      Destination name */\n    const char    *title,\t\t/* I - Title of job */\n    int
      \          num_options,\t\t/* I - Number of options */\n    cups_option_t *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:289,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:291,1
    - Dst: cupsGetResponse
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:291,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - http
    - name
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 294
    functionName: cupsFinishDocument
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - snprintf
    - cupsGetResponse
    - cupsLastError
    - ippDelete
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsFinishDocument(http_t     *http,\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n                   const char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:314,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:315,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:316,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:317,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:320,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - num_jobs
    - jobs
    argTypes:
    - int
    - cups_job_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 321
    functionName: cupsFreeJobs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void cupsFreeJobs(int        num_jobs,\t/* I - Number of jobs */\n
      \            cups_job_t *jobs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:345,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:345,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:352,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:364,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:366,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:375,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:379,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:383,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:385,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:396,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:399,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:400,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:405,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - classes
    argTypes:
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 332
    functionDepth: 5
    functionLinenumber: 332
    functionLinenumberEnd: 413
    functionName: cupsGetClasses
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - strdup
    - ippNewRequest
    - _cupsSetError
    - _cupsConnect
    - ippDelete
    - malloc
    - free
    - ippAddString
    - _cups_strcasecmp
    - strerror
    - realloc
    - cupsDoRequest
    linkageType: ''
    returnType: int
    signature: int cupsGetClasses(char ***classes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetDefault2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 435
    functionName: cupsGetDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - cupsGetDefault2
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Default printer or @code NULL@ */\ncupsGetDefault(void)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:457,1
    - Dst: _cupsUserDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:464,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:472,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:483,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:489,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:491,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:494,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:496,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 504
    functionName: cupsGetDefault2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 3
    functionsReached:
    - ippNewRequest
    - _cupsUserDefault
    - _cupsConnect
    - ippDelete
    - strlcpy
    - _cupsGlobals
    - ippFindAttribute
    - cupsDoRequest
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Default printer or @code NULL@ */\ncupsGetDefault2(http_t
      *http)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsGetJobs2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - jobs
    - name
    - myjobs
    - whichjobs
    argTypes:
    - cups_job_t**
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 527
    functionName: cupsGetJobs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - cupsGetJobs2
    linkageType: ''
    returnType: int
    signature: "int cupsGetJobs(cups_job_t **jobs,\t\t/* O - Job data */\n            const
      char *name,\t\t/* I - @code NULL@ = all destinations, otherwise show jobs for
      named destination */\n            int        myjobs,\t\t/* I - 0 = all users,
      1 = mine */\n\t    int        whichjobs)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:566,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:589,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:589,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:600,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:604,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:605,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:611,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:614,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:630,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:632,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:635,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:636,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:639,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:642,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:645,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:648,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:659,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:691,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:694,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:697,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:700,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:703,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:706,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:709,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:712,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:715,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:718,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:721,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:724,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:749,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:751,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:759,1
    - Dst: cupsFreeJobs
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:761,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:764,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:777,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:778,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:779,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:780,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:793,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 108
    argCount: 5
    argNames:
    - http
    - jobs
    - name
    - myjobs
    - whichjobs
    argTypes:
    - http_t*
    - cups_job_t**
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 542
    functionDepth: 5
    functionLinenumber: 542
    functionLinenumberEnd: 800
    functionName: cupsGetJobs2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 1
    functionsReached:
    - strrchr
    - ippAddString
    - cupsFreeJobs
    - _cupsStrAlloc
    - cupsUser
    - realloc
    - _cupsSetError
    - ippDelete
    - strlcpy
    - _cupsGlobals
    - ippAddStrings
    - ippNewRequest
    - strcmp
    - _
    - _cupsConnect
    - malloc
    - strerror
    - httpAssembleURIf
    - ippAddBoolean
    - cupsDoRequest
    linkageType: ''
    returnType: int
    signature: "int cupsGetJobs2(http_t     *http,\t\t/* I - Connection to server
      or @code CUPS_HTTP_DEFAULT@ */\n             cups_job_t **jobs,\t\t/* O - Job
      data */\n             const char *name,\t\t/* I - @code NULL@ = all destinations,
      otherwise show jobs for named destination */\n             int        myjobs,\t\t/*
      I - 0 = all users, 1 = mine */\n\t     int        whichjobs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:817,1
    - Dst: cupsGetPPD3
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 832
    functionName: cupsGetPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 1
    functionsReached:
    - cupsGetPPD3
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Filename for PPD file */\ncupsGetPPD(const char
      *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:852,1
    - Dst: cupsGetPPD3
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:858,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - http
    - name
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 863
    functionName: cupsGetPPD2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - cupsGetPPD3
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Filename for PPD file */\ncupsGetPPD2(http_t
      \    *http,\t\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n
      \           const char *name)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:907,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:914,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:920,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:920,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:926,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:926,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:932,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:932,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:942,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:945,1
    - Dst: cupsServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:945,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:947,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:950,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:956,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:958,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:966,1
    - Dst: symlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:968,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:970,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:988,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1007,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1013,1
    - Dst: symlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1021,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1030,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1052,1
    - Dst: cups_get_printer_uri
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1055,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1059,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1066,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1068,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1070,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1071,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1077,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1078,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1080,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1087,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1089,1
    - Dst: cupsEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1090,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1092,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1102,1
    - Dst: cupsTempFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1104,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1112,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1115,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1124,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1127,1
    - Dst: httpGetDateString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1128,1
    - Dst: cupsGetFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1130,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1132,1
    - Dst: httpGetDateTime
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1140,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1140,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1143,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1147,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1150,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1152,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1155,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1158,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1164,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 105
    argCount: 5
    argNames:
    - http
    - name
    - modtime
    - buffer
    - bufsize
    argTypes:
    - http_t*
    - char*
    - time_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 889
    functionDepth: 5
    functionLinenumber: 889
    functionLinenumberEnd: 1167
    functionName: cupsGetPPD3
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 2
    functionsReached:
    - httpSetField
    - stat
    - cupsGetFd
    - httpGetHostname
    - open
    - gettimeofday
    - snprintf
    - httpGetDateTime
    - DEBUG_printf
    - httpAddrPort
    - cups_get_printer_uri
    - _cupsSetError
    - strlcpy
    - strlcat
    - _cupsGlobals
    - symlink
    - _cups_strcasecmp
    - getenv
    - DEBUG_puts
    - cupsTempFd
    - httpConnect2
    - cupsEncryption
    - _cupsSetHTTPError
    - _
    - unlink
    - _cupsConnect
    - cupsServer
    - httpGetField
    - httpClose
    - close
    - httpGetDateString
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsGetPPD3(http_t     *http,\t\t/* I  - HTTP connection
      or @code CUPS_HTTP_DEFAULT@ */\n            const char *name,\t\t/* I  - Destination
      name */\n\t    time_t     *modtime,\t/* IO - Modification time */\n\t    char
      \      *buffer,\t\t/* I  - Filename buffer */\n\t    size_t     bufsize)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1195,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1195,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1206,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1218,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1220,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1223,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1226,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1235,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1239,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1243,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1245,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1256,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1259,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1260,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1265,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - printers
    argTypes:
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1178
    functionDepth: 5
    functionLinenumber: 1178
    functionLinenumberEnd: 1273
    functionName: cupsGetPrinters
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - strdup
    - ippNewRequest
    - _cupsSetError
    - _cupsConnect
    - ippDelete
    - malloc
    - free
    - ippAddString
    - _cups_strcasecmp
    - strerror
    - realloc
    - ippAddInteger
    - cupsDoRequest
    linkageType: ''
    returnType: int
    signature: int cupsGetPrinters(char ***printers)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1297,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1307,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1307,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1313,1
    - Dst: cupsTempFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1320,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1326,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1335,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1336,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1339,1
    - Dst: cupsDoIORequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1339,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1341,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1343,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - http
    - name
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1291
    functionDepth: 4
    functionLinenumber: 1291
    functionLinenumberEnd: 1350
    functionName: cupsGetServerPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - ippNewRequest
    - _cupsSetError
    - _
    - close
    - _cupsConnect
    - unlink
    - ippDelete
    - ippAddString
    - _cupsGlobals
    - cupsDoIORequest
    - cupsLastError
    - cupsTempFd
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Name of PPD file or @code NULL@ on error */\ncupsGetServerPPD(http_t
      \    *http,\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n                 const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1364,1
    - Dst: cupsPrintFiles2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - name
    - filename
    - title
    - num_options
    - options
    argTypes:
    - char*
    - char*
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1370
    functionName: cupsPrintFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsPrintFiles2
    linkageType: ''
    returnType: int
    signature: "int cupsPrintFile(const char    *name,\t/* I - Destination name */\n
      \             const char    *filename,\t/* I - File to print */\n\t      const
      char    *title,\t/* I - Title of job */\n              int           num_options,/*
      I - Number of options */\n\t      cups_option_t *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1389,1
    - Dst: cupsPrintFiles2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - http
    - name
    - filename
    - title
    - num_options
    - options
    argTypes:
    - http_t*
    - char*
    - char*
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1395
    functionName: cupsPrintFile2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsPrintFiles2
    linkageType: ''
    returnType: int
    signature: "int cupsPrintFile2(\n    http_t        *http,\t\t/* I - Connection
      to server */\n    const char    *name,\t\t/* I - Destination name */\n    const
      char    *filename,\t\t/* I - File to print */\n    const char    *title,\t\t/*
      I - Title of job */\n    int           num_options,\t\t/* I - Number of options
      */\n    cups_option_t *options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1412,1
    - Dst: cupsPrintFiles2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - name
    - num_files
    - files
    - title
    - num_options
    - options
    argTypes:
    - char*
    - int
    - char**
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1422
    functionName: cupsPrintFiles
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsPrintFiles2
    linkageType: ''
    returnType: int
    signature: "int cupsPrintFiles(\n    const char    *name,\t\t/* I - Destination
      name */\n    int           num_files,\t\t/* I - Number of files */\n    const
      char    **files,\t\t/* I - File(s) to print */\n    const char    *title,\t\t/*
      I - Title of job */\n    int           num_options,\t\t/* I - Number of options
      */\n    cups_option_t *options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1450,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1455,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1465,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1465,1
    - Dst: cupsCreateJob
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1474,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1481,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1483,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1493,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1498,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1504,1
    - Dst: cupsStartDocument
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1508,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1512,1
    - Dst: cupsWriteRequestData
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1513,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1515,1
    - Dst: cupsFinishDocument
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1517,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1539,1
    - Dst: cupsCancelJob2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1541,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 7
    argNames:
    - http
    - name
    - num_files
    - files
    - title
    - num_options
    - options
    argTypes:
    - http_t*
    - char*
    - int
    - char**
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1432
    functionDepth: 5
    functionLinenumber: 1432
    functionLinenumberEnd: 1547
    functionName: cupsPrintFiles2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 3
    functionsReached:
    - cupsCreateJob
    - DEBUG_printf
    - cupsFinishDocument
    - cupsCancelJob2
    - cupsStartDocument
    - _cupsSetError
    - cupsFileRead
    - cupsWriteRequestData
    - strrchr
    - _cupsStrRetain
    - cupsGetOption
    - cupsFileOpen
    - _cupsGlobals
    - strerror
    - cupsFileClose
    linkageType: ''
    returnType: int
    signature: "int cupsPrintFiles2(\n    http_t        *http,\t\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n    const char    *name,\t\t/* I -
      Destination name */\n    int           num_files,\t\t/* I - Number of files
      */\n    const char    **files,\t\t/* I - File(s) to print */\n    const char
      \   *title,\t\t/* I - Title of job */\n    int           num_options,\t\t/*
      I - Number of options */\n    cups_option_t *options)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1583,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1585,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1585,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1589,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1590,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1591,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1593,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1595,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1596,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1597,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1599,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1602,1
    - Dst: ippAddBoolean
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1604,1
    - Dst: cupsSendRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1610,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 6
    argNames:
    - http
    - name
    - job_id
    - docname
    - format
    - last_document
    argTypes:
    - http_t*
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1564
    functionDepth: 4
    functionLinenumber: 1564
    functionLinenumberEnd: 1615
    functionName: cupsStartDocument
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 1
    functionsReached:
    - ippNewRequest
    - _cupsSetError
    - snprintf
    - ippAddBoolean
    - ippDelete
    - ippPort
    - cupsSendRequest
    - ippAddString
    - ippAddInteger
    - strerror
    - cupsUser
    - httpAssembleURIf
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsStartDocument(\n    http_t     *http,\t\t\t/* I
      - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n    const char *name,\t\t\t/*
      I - Destination name */\n    int        job_id,\t\t\t/* I - Job ID from @link
      cupsCreateJob@ */\n    const char *docname,\t\t/* I - Name of document */\n
      \   const char *format,\t\t\t/* I - MIME type or @code CUPS_FORMAT_foo@ */\n
      \   int        last_document)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1655,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1663,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1667,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1667,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1676,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1682,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1683,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1695,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1697,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1700,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1709,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1711,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1715,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1720,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1721,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1722,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1723,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1724,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1724,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1730,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1731,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1735,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1739,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1748,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1751,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1757,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1772,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1775,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1781,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1783,1
    - Dst: cupsEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1784,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1787,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1796,1
    - Dst: cups_get_printer_uri
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1798,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1806,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1814,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1817,1
    - Dst: _httpResolveURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1818,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1823,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1825,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1827,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1828,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1839,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1842,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1843,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/util.c:1843,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 8
    argNames:
    - http
    - name
    - host
    - hostsize
    - port
    - resource
    - resourcesize
    - depth
    argTypes:
    - http_t*
    - char*
    - char*
    - int
    - int*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1623
    functionDepth: 4
    functionLinenumber: 1623
    functionLinenumberEnd: 1849
    functionName: cups_get_printer_uri
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/util.c
    functionUses: 2
    functionsReached:
    - _httpResolveURI
    - strstr
    - httpGetHostname
    - strlen
    - ippAddString
    - snprintf
    - cupsLastError
    - DEBUG_printf
    - httpAddrPort
    - cups_get_printer_uri
    - _cupsSetError
    - ippDelete
    - strlcpy
    - _cups_strcasecmp
    - DEBUG_puts
    - ippFindAttribute
    - ippAddStrings
    - httpConnect2
    - httpSeparateURI
    - cupsEncryption
    - ippNewRequest
    - strcmp
    - _
    - httpAssembleURIf
    - httpClose
    - strncmp
    - cupsDoRequest
    linkageType: ''
    returnType: int
    signature: "int cups_get_printer_uri(\n    http_t     *http,\t\t\t/* I - Connection
      to server */\n    const char *name,\t\t\t/* I - Name of printer or class */\n
      \   char       *host,\t\t\t/* I - Hostname buffer */\n    int        hostsize,\t\t/*
      I - Size of hostname buffer */\n    int        *port,\t\t\t/* O - Port number
      */\n    char       *resource,\t\t/* I - Resource buffer */\n    int        resourcesize,\t\t/*
      I - Size of resource buffer */\n    int        depth)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:53,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:57,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:63,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:70,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:75,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:90,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:91,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:95,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:99,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:104,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:109,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:114,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:119,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:136,1
    - Dst: ppdFindCustomParam
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:138,1
    - Dst: ppdFindCustomParam
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:141,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:149,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:161,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:163,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:179,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:186,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 189
    functionName: ppdPageSize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/page.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strcmp
    - ppdFindCustomParam
    - strncmp
    - ppdFindCustomOption
    - _cups_strcasecmp
    - _cupsStrScand
    - DEBUG_puts
    - localeconv
    linkageType: ''
    returnType: ppd_size_t
    signature: "ppd_size_t *\t\t\t\t/* O - Size record for page or NULL */\nppdPageSize(ppd_file_t
      *ppd,\t\t/* I - PPD file record */\n            const char *name)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:224,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:227,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:236,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:238,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:240,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:244,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:246,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:265,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:267,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:274,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:275,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:280,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:281,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:285,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:314,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:316,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:323,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:324,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:329,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:330,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:334,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:352,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 3
    argNames:
    - ppd
    - minimum
    - maximum
    argTypes:
    - ppd_file_t*
    - ppd_size_t*
    - ppd_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 355
    functionName: ppdPageSizeLimits
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/page.c
    functionUses: 1
    functionsReached:
    - sscanf
    - ppdFindMarkedChoice
    - memset
    - cupsArraySave
    - snprintf
    - cupsArrayRestore
    - ppdFindAttr
    linkageType: ''
    returnType: int
    signature: "int ppdPageSizeLimits(ppd_file_t *ppd,\t/* I - PPD file record */\n
      \                 ppd_size_t *minimum,\t/* O - Minimum custom size */\n\t\t
      \ ppd_size_t *maximum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 362
    functionDepth: 3
    functionLinenumber: 362
    functionLinenumberEnd: 373
    functionName: ppdPageWidth
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/page.c
    functionUses: 0
    functionsReached:
    - ppdPageSize
    linkageType: ''
    returnType: float
    signature: "float ppdPageWidth(ppd_file_t *ppd,\t/* I - PPD file record */\n             const
      char *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/page.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppd
    - name
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 3
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: ppdPageLength
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/page.c
    functionUses: 0
    functionsReached:
    - ppdPageSize
    linkageType: ''
    returnType: float
    signature: "float ppdPageLength(ppd_file_t *ppd,\t/* I - PPD file */\n              const
      char *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:66,1
    - Dst: GetTempPath
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:68,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:79,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:100,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:106,1
    - Dst: GetCurrentProcessId
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:107,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:113,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:119,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:119,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:129,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:132,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 149
    functionName: cupsTempFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c
    functionUses: 2
    functionsReached:
    - getpid
    - GetTempPath
    - GetCurrentProcessId
    - snprintf
    - open
    - GetTickCount
    - gettimeofday
    - getenv
    linkageType: ''
    returnType: int
    signature: "int cupsTempFd(char *filename,\t\t/* I - Pointer to buffer */\n           int
      \ len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:167,1
    - Dst: cupsTempFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:184,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: cupsTempFile
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c
    functionUses: 0
    functionsReached:
    - cupsTempFd
    - close
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Filename or @code NULL@ on error */\ncupsTempFile(char
      *filename,\t\t/* I - Pointer to buffer */\n             int  len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsTempFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:218,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:220,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:222,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - filename
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: cupsTempFile2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/tempfile.c
    functionUses: 0
    functionsReached:
    - cupsTempFd
    - unlink
    - close
    - cupsFileOpenFd
    linkageType: ''
    returnType: cups_file_t
    signature: "cups_file_t *\t\t\t\t/* O - CUPS file or @code NULL@ on error */\ncupsTempFile2(char
      *filename,\t\t/* I - Pointer to buffer */\n              int  len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:67,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:70,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:78,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:79,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:84,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:86,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:86,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:87,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:87,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:88,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:94,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - prefix
    - message
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 38
    functionDepth: 2
    functionLinenumber: 38
    functionLinenumberEnd: 99
    functionName: _cupsLangPrintError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c
    functionUses: 0
    functionsReached:
    - strerror
    - cupsLangDefault
    - strlen
    - _cupsLangString
    - _
    - strlcat
    - _cupsGlobals
    - fwrite
    - snprintf
    - cupsUTF8ToCharset
    linkageType: ''
    returnType: void
    signature: "void _cupsLangPrintError(const char *prefix,\t/* I - Non-localized
      message prefix */\n                    const char *message)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:128,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:131,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:137,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:138,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:139,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:140,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:141,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:147,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - fp
    - prefix
    - message
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 158
    functionName: _cupsLangPrintFilter
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - cupsLangDefault
    - va_end
    - _cupsLangString
    - cupsUTF8ToCharset
    - _cupsGlobals
    - fwrite
    - snprintf
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: "int _cupsLangPrintFilter(\n    FILE       *fp,\t\t\t/* I - File to
      write to */\n    const char *prefix,\t\t\t/* I - Non-localized message prefix
      */\n    const char *message,\t\t/* I - Message string to use */\n    ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:184,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:187,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:193,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:194,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:195,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:196,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:198,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:204,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - fp
    - message
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 215
    functionName: _cupsLangPrintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c
    functionUses: 0
    functionsReached:
    - va_start
    - cupsLangDefault
    - va_end
    - _cupsLangString
    - strlcat
    - cupsUTF8ToCharset
    - _cupsGlobals
    - fwrite
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: "int _cupsLangPrintf(FILE       *fp,\t\t/* I - File to write to */\n\t\tconst
      char *message,\t/* I - Message string to use */\n\t        ...)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:238,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:241,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:247,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:248,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:251,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - fp
    - message
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 263
    functionName: _cupsLangPuts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c
    functionUses: 0
    functionsReached:
    - cupsLangDefault
    - _cupsLangString
    - fwrite
    - _cupsGlobals
    - cupsUTF8ToCharset
    linkageType: ''
    returnType: int
    signature: "int _cupsLangPuts(FILE       *fp,\t\t/* I - File to write to */\n
      \             const char *message)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:292,1
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:295,1
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:296,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:300,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:301,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:302,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:304,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:307,1
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:309,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:316,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:319,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:335,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:343,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c:344,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 347
    functionName: _cupsSetLocale
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/langprintf.c
    functionUses: 1
    functionsReached:
    - strdup
    - setlocale
    - cupsLangDefault
    - strcmp
    - strlen
    - strlcpy
    - strchr
    - cupsCharsetToUTF8
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void _cupsSetLocale(char *argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_UNSPECIFIED
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:46,1
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:51,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - addr
    argTypes:
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: httpAddrAny
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_UNSPECIFIED
    - ntohl
    linkageType: ''
    returnType: int
    signature: int httpAddrAny(const http_addr_t *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:79,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - addr1
    - addr2
    argTypes:
    - http_addr_t*
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: httpAddrEqual
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - memcmp
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int httpAddrEqual(const http_addr_t *addr1,\t\t/* I - First address
      */\n              const http_addr_t *addr2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 119
    functionName: httpAddrLength
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 2
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int httpAddrLength(const http_addr_t *addr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: socket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:144,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:146,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:151,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:155,1
    - Dst: _httpAddrSetPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:158,1
    - Dst: bind
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:160,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:160,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:162,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:164,1
    - Dst: listen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:169,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:171,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:173,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - http_addr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 188
    functionName: httpAddrListen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - _cupsSetHTTPError
    - bind
    - setsockopt
    - close
    - listen
    - socket
    - _httpAddrSetPort
    - httpAddrLength
    linkageType: ''
    returnType: int
    signature: "int httpAddrListen(http_addr_t *addr,\t/* I - Address to bind to */\n
      \              int         port)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:206,1
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - addr
    argTypes:
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 220
    functionName: httpAddrLocalhost
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_LOOPBACK
    - ntohl
    linkageType: ''
    returnType: int
    signature: "int httpAddrLocalhost(\n    const http_addr_t *addr)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:235,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:239,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:257,1
    - Dst: httpAddrLocalhost
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:266,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:268,1
    - Dst: res_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:287,1
    - Dst: getnameinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:303,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:303,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:311,1
    - Dst: gethostbyaddr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:321,1
    - Dst: gethostbyaddr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:325,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:337,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:340,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - addr
    - name
    - namelen
    argTypes:
    - http_addr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 347
    functionName: httpAddrLookup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - httpAddrString
    - getnameinfo
    - res_init
    - strlcpy
    - _cupsGlobals
    - httpAddrLocalhost
    - httpAddrLength
    - gethostbyaddr
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Host name */\nhttpAddrLookup(\n    const http_addr_t
      *addr,\t\t/* I - Address to lookup */\n    char              *name,\t\t/* I
      - Host name buffer */\n    int               namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:360,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:363,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - addr
    argTypes:
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 369
    functionName: httpAddrPort
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 4
    functionsReached:
    - ippPort
    - ntohs
    linkageType: ''
    returnType: int
    signature: int httpAddrPort(http_addr_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - addr
    argTypes:
    - http_addr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 372
    functionName: _httpAddrPort
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - httpAddrPort
    linkageType: ''
    returnType: int
    signature: int _httpAddrPort(http_addr_t *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:388,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - addr
    - port
    argTypes:
    - http_addr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 393
    functionName: _httpAddrSetPort
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 1
    functionsReached:
    - htons
    linkageType: ''
    returnType: void
    signature: "void _httpAddrSetPort(http_addr_t *addr,\t/* I - Address */\n                 int
      \        port)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:407,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:425,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:427,1
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:436,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:438,1
    - Dst: getnameinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:448,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:448,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:460,1
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:478,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:480,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:483,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:489,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:490,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:501,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:503,1
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:507,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:512,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:514,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:517,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:519,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:528,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:536,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:545,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:551,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 3
    argNames:
    - addr
    - s
    - slen
    argTypes:
    - http_addr_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 554
    functionName: httpAddrString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 6
    functionsReached:
    - DEBUG_printf
    - httpAddrLength
    - getnameinfo
    - strlen
    - strlcpy
    - strchr
    - snprintf
    - ntohl
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Numeric address string */\nhttpAddrString(const
      http_addr_t *addr,\t/* I - Address to convert */\n               char              *s,\t/*
      I - String buffer */\n\t       int               slen)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:569,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:573,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:580,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:606,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:611,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:617,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:626,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:632,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:648,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:659,1
    - Dst: gethostbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:661,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 663
    functionName: httpGetHostByName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - sscanf
    - strcmp
    - strlen
    - htonl
    - _cupsGlobals
    - gethostbyname
    - DEBUG_puts
    - isdigit
    linkageType: ''
    returnType: struct hostent
    signature: "struct hostent *\t\t\t/* O - Host entry */\nhttpGetHostByName(const
      char *name)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:688,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:690,1
    - Dst: gethostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:698,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:699,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:701,1
    - Dst: SCDynamicStoreCreate
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:709,1
    - Dst: CFSTR
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:710,1
    - Dst: SCDynamicStoreCopyLocalHostName
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:712,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:716,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:723,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:727,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:729,1
    - Dst: gethostbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:738,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 3
    argNames:
    - http
    - s
    - slen
    argTypes:
    - http_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 755
    functionName: httpGetHostname
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addr.c
    functionUses: 3
    functionsReached:
    - snprintf
    - SCDynamicStoreCopyLocalHostName
    - strlcpy
    - strchr
    - CFRelease
    - SCDynamicStoreCreate
    - CFSTR
    - gethostbyname
    - gethostname
    - CFStringGetCString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - FQDN for connection or system */\nhttpGetHostname(http_t
      *http,\t\t/* I - HTTP connection or NULL */\n                char   *s,\t\t/*
      I - String buffer for name */\n                int    slen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:56,1
    - Dst: cupsServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:56,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:56,1
    - Dst: cupsEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:57,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:66,1
    - Dst: cupsAdminSetServerSettings
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:68,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:70,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:71,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:75,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:75,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:80,1
    - Dst: cupsAdminGetServerSettings
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:86,1
    - Dst: show_settings
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:88,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:89,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:94,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 42
    functionDepth: 4
    functionLinenumber: 42
    functionLinenumberEnd: 97
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c
    functionUses: 2
    functionsReached:
    - cupsEncryption
    - cupsParseOptions
    - puts
    - printf
    - cupsLastErrorString
    - show_settings
    - cupsAdminGetServerSettings
    - ippPort
    - cupsAdminSetServerSettings
    - cupsServer
    - httpConnect2
    - cupsFreeOptions
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - num_settings
    - settings
    argTypes:
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 116
    functionName: show_settings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testadmin.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: "void show_settings(\n    int           num_settings,\t\t/* I - Number
      of settings */\n    cups_option_t *settings)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:63,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:69,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:70,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:76,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:78,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:78,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:83,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:85,1
    - Dst: _ppdCacheCreateWithPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:86,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:88,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:93,1
    - Dst: test_ppd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:94,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:107,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:109,1
    - Dst: ippReadFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:110,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:111,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:113,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:119,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:122,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:124,1
    - Dst: _ppdCacheGetPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:126,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:128,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:131,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:133,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:138,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:140,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:144,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:153,1
    - Dst: _ppdCacheDestroy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:154,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:155,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:158,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:159,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:161,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:164,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:166,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:171,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:175,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:177,1
    - Dst: pwgMediaForPWG
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:178,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:180,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:185,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:189,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:191,1
    - Dst: pwgMediaForLegacy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:192,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:194,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:197,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:199,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:204,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:208,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:210,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:211,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:213,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:216,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:218,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:223,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:227,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:229,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:230,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:232,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:235,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:237,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:242,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:246,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:248,1
    - Dst: pwgMediaForPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:249,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:251,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:254,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:256,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:261,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:265,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:267,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:268,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:270,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:273,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:275,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:279,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:281,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:282,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:284,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:287,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:289,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:293,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:295,1
    - Dst: pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:296,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:298,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:301,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:303,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:307,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:309,1
    - Dst: _pwgMediaTable
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:310,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:323,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:326,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:333,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 177
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 337
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c
    functionUses: 2
    functionsReached:
    - ippNew
    - ippReadFile
    - _pwgMediaTable
    - fputs
    - open
    - pwgMediaForSize
    - _ppdCacheDestroy
    - _ppdCacheGetPageSize
    - ippDelete
    - test_ppd_cache
    - _cups_strcasecmp
    - ppdLastError
    - pwgMediaForPPD
    - ippFindAttribute
    - ppdErrorString
    - printf
    - strcmp
    - _ppdCacheCreateWithPPD
    - fflush
    - ppdOpenFile
    - pwgMediaForPWG
    - puts
    - close
    - pwgMediaForLegacy
    - perror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:354,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:356,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:357,1
    - Dst: _ppdCacheGetPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:359,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:361,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:364,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:366,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:370,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:372,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:373,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:375,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:376,1
    - Dst: _ppdCacheGetPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:378,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:380,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:383,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:385,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:389,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:391,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pc
    - ppd
    - ppdsize
    argTypes:
    - _ppd_cache_t*
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 395
    functionName: test_pagesize
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c
    functionUses: 0
    functionsReached:
    - ippNew
    - puts
    - printf
    - _ppdCacheGetPageSize
    - ippDelete
    - ppdPageSize
    - ippAddString
    - fflush
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int test_pagesize(_ppd_cache_t *pc,\t\t/* I - PWG mapping data */\n
      \             ppd_file_t   *ppd,\t/* I - PPD file */\n\t      const char   *ppdsize)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:419,1
    - Dst: _ppdCacheWriteFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:420,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:422,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:426,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:428,1
    - Dst: _ppdCacheCreateWithFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:429,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:431,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:440,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:442,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:453,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:454,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:463,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:465,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:466,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:469,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:470,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:474,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:478,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:482,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:486,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:490,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:494,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:506,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:507,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:510,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:512,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:513,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:516,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:517,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:529,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:530,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:533,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:535,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:536,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:539,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:540,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:550,1
    - Dst: _ppdCacheDestroy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:552,1
    - Dst: test_pagesize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:559,1
    - Dst: test_pagesize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:560,1
    - Dst: test_pagesize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:561,1
    - Dst: test_pagesize
      Src: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c:562,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 76
    argCount: 2
    argNames:
    - pc
    - ppd
    argTypes:
    - _ppd_cache_t*
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 402
    functionDepth: 7
    functionLinenumber: 402
    functionLinenumberEnd: 565
    functionName: test_ppd_cache
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testpwg.c
    functionUses: 1
    functionsReached:
    - puts
    - strcmp
    - printf
    - _ppdCacheDestroy
    - fputs
    - _ppdCacheCreateWithFile
    - _ppdCacheWriteFile
    - test_pagesize
    linkageType: ''
    returnType: int
    signature: "int test_ppd_cache(_ppd_cache_t *pc,\t/* I - PWG mapping data */\n
      \              ppd_file_t   *ppd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:114,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:121,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:123,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:128,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:131,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:134,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:136,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:141,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 4
    argNames:
    - ppd
    - option
    - choice
    - options
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 144
    functionName: cupsGetConflicts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 1
    functionsReached:
    - cupsAddOption
    - cupsArrayNext
    - cupsArrayDelete
    - ppdFindMarkedChoice
    - ppd_test_constraints
    - _cups_strcasecmp
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int cupsGetConflicts(\n    ppd_file_t    *ppd,\t\t\t/* I - PPD file
      */\n    const char    *option,\t\t/* I - Option to test */\n    const char    *choice,\t\t/*
      I - Choice to test */\n    cups_option_t **options)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:230,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:232,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:233,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:239,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:242,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:246,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:252,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:254,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:256,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:264,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:267,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:273,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:278,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:281,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:288,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:297,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:298,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:302,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:309,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:316,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:320,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:334,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:337,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:338,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:339,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:340,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:341,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:342,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:343,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:344,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:345,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:346,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:347,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:348,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:349,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:350,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:357,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:368,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:376,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:408,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:409,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:410,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:411,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:412,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:419,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:422,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:423,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:425,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:427,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:431,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:439,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:444,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:453,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:454,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:463,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:479,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:482,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:483,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:484,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:485,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:494,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:502,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:510,1
    - Dst: cupsArrayClear
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:515,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:516,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:527,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:535,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:536,1
    - Dst: cupsRemoveOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:538,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:547,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:548,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:550,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:552,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:555,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:567,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:569,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:570,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:571,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:573,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:575,1
    CyclomaticComplexity: 85
    EdgeCount: 85
    ICount: 139
    argCount: 5
    argNames:
    - ppd
    - option
    - choice
    - num_options
    - options
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - int*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 578
    functionName: cupsResolveConflicts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 2
    functionsReached:
    - cupsArrayClear
    - ppdFindMarkedChoice
    - cupsGetOption
    - ppdPageSize
    - snprintf
    - ppdFindAttr
    - DEBUG_printf
    - cupsArrayNew
    - cupsArraySave
    - DEBUG_puts
    - _cups_strcasecmp
    - ppd_test_constraints
    - cupsFreeOptions
    - cupsRemoveOption
    - cupsArrayFind
    - _cups_isspace
    - cupsAddOption
    - cupsArrayNext
    - cupsArrayDelete
    - cupsArrayAdd
    - _cups_strncasecmp
    - cupsArrayRestore
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int cupsResolveConflicts(\n    ppd_file_t    *ppd,\t\t\t/* I  - PPD
      file */\n    const char    *option,\t\t/* I  - Newly selected option or @code
      NULL@ for none */\n    const char    *choice,\t\t/* I  - Newly selected choice
      or @code NULL@ for none */\n    int           *num_options,\t\t/* IO - Number
      of additional selected options */\n    cups_option_t **options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:606,1
    - Dst: ppdFirstOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:608,1
    - Dst: ppdNextOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:608,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:611,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:617,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:619,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:626,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:628,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 643
    functionName: ppdConflicts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 1
    functionsReached:
    - cupsArrayCount
    - ppdFirstOption
    - cupsArrayNext
    - cupsArrayDelete
    - ppdNextOption
    - cupsArraySave
    - cupsArrayRestore
    - cupsArrayFirst
    - ppd_test_constraints
    linkageType: ''
    returnType: int
    signature: int ppdConflicts(ppd_file_t *ppd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:665,1
    - Dst: ppd_test_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:679,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ppd
    - option
    - choice
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 685
    functionName: ppdInstallableConflict
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cupsArrayDelete
    - ppd_test_constraints
    linkageType: ''
    returnType: int
    signature: "int ppdInstallableConflict(\n    ppd_file_t *ppd,\t\t\t/* I - PPD
      file */\n    const char *option,\t\t\t/* I - Option */\n    const char *choice)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - installable
    - name
    argTypes:
    - ppd_group_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 712
    functionName: ppd_is_installable
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int ppd_is_installable(\n    ppd_group_t *installable,\t\t/* I - InstallableOptions
      group */\n    const char  *name)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:734,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:740,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:749,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:767,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:768,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:769,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:770,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:777,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:779,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:784,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:786,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:787,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:799,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:800,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:802,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:803,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:808,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:809,1
    - Dst: ppd_is_installable
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:811,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:817,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:819,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:820,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:824,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:825,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:827,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:828,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:833,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:834,1
    - Dst: ppd_is_installable
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:836,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:842,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:844,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:845,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:855,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:862,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:864,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:868,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:872,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:874,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:878,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:882,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:884,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:889,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:891,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:892,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:900,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:902,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:904,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:910,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:916,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:923,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:930,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:930,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:932,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:933,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:936,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:937,1
    - Dst: ppd_is_installable
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:938,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:943,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:950,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:953,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:954,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 111
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 957
    functionName: ppd_load_constraints
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ppdFindNextAttr
    - cupsArrayNew
    - calloc
    - ppdFindChoice
    - cupsArrayAdd
    - _cups_strcpy
    - ppd_is_installable
    - ppdFindOption
    - _cups_isspace
    - strchr
    - DEBUG_puts
    - free
    - strlcpy
    - _cups_strncasecmp
    - _cups_strcasecmp
    - ppdFindAttr
    linkageType: ''
    returnType: void
    signature: void ppd_load_constraints(ppd_file_t *ppd)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:984,1
    - Dst: ppd_load_constraints
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:989,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:991,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:992,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:994,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:996,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:998,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1000,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1027,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1030,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1031,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1039,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1045,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1049,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1050,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1059,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1060,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1064,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1066,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1068,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1070,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1076,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1080,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1081,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1085,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1087,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1090,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1093,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1094,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1096,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1106,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1108,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1113,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1116,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1128,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1131,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1133,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1138,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1141,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1147,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1150,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1151,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1153,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1158,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1160,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1160,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1161,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1163,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1167,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1170,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1170,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1171,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1173,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1181,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1183,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1184,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1185,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1187,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1196,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1198,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1199,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1203,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1205,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c:1206,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 108
    argCount: 6
    argNames:
    - ppd
    - option
    - choice
    - num_options
    - options
    - which
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    - int
    - cups_option_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 964
    functionDepth: 4
    functionLinenumber: 964
    functionLinenumberEnd: 1209
    functionName: ppd_test_constraints
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/conflicts.c
    functionUses: 4
    functionsReached:
    - cupsArrayCount
    - DEBUG_printf
    - cupsArrayNext
    - cupsArrayFind
    - cupsArrayNew
    - cupsArrayAdd
    - snprintf
    - ppd_load_constraints
    - DEBUG_puts
    - cupsArraySave
    - cupsGetOption
    - _cups_strncasecmp
    - ppdPageSize
    - _cups_strcasecmp
    - cupsArrayRestore
    - cupsArrayFirst
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t/* O - Array of active constraints */\nppd_test_constraints(\n
      \   ppd_file_t    *ppd,\t\t\t/* I - PPD file */\n    const char    *option,\t\t/*
      I - Current option */\n    const char    *choice,\t\t/* I - Current choice */\n
      \   int           num_options,\t\t/* I - Number of additional options */\n    cups_option_t
      *options,\t\t/* I - Additional options */\n    int           which)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:336,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:342,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:343,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ipp
    - num_options
    - options
    argTypes:
    - ipp_t*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 345
    functionName: cupsEncodeOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/encode.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsEncodeOptions2
    linkageType: ''
    returnType: void
    signature: "void cupsEncodeOptions(ipp_t         *ipp,\t\t/* I - Request to add
      to */\n        \t  int           num_options,\t/* I - Number of options */\n\t\t
      \ cups_option_t *options)"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:382,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:384,1
    - Dst: ippGetOperation
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:384,1
    - Dst: ippGetOperation
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:398,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:408,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:410,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:412,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:413,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:416,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:433,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:434,1
    - Dst: _ippFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:442,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:461,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:470,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:473,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:474,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:478,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:484,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:495,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:496,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:514,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:545,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:552,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:559,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:569,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:575,1
    - Dst: ippDeleteAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:576,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:650,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:652,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:657,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:658,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:659,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:667,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:677,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:692,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:697,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:704,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:714,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:717,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:721,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:722,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:727,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:736,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:737,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:739,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:748,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:749,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:751,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:754,1
    - Dst: ippDeleteAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:756,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:761,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:762,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:766,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:772,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:775,1
    - Dst: ippDeleteAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:777,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:781,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:788,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 181
    argCount: 4
    argNames:
    - ipp
    - num_options
    - options
    - group_tag
    argTypes:
    - ipp_t*
    - int
    - cups_option_t*
    - ipp_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 358
    functionDepth: 3
    functionLinenumber: 358
    functionLinenumberEnd: 790
    functionName: cupsEncodeOptions2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/encode.c
    functionUses: 5
    functionsReached:
    - ippNew
    - strlen
    - ippDeleteAttribute
    - cupsGetOption
    - ippAddString
    - _cupsStrAlloc
    - DEBUG_printf
    - strtol
    - _ippFindOption
    - DEBUG_puts
    - _cups_strcasecmp
    - ippAddStrings
    - cupsFreeOptions
    - strdup
    - ippOpString
    - strcmp
    - ippGetOperation
    - free
    - cupsParseOptions
    - cupsEncodeOptions2
    linkageType: ''
    returnType: void
    signature: "void cupsEncodeOptions2(\n    ipp_t         *ipp,\t\t\t/* I - Request
      to add to */\n    int           num_options,\t\t/* I - Number of options */\n
      \   cups_option_t *options,\t\t/* I - Options */\n    ipp_tag_t     group_tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:805,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 809
    functionName: _ippCheckOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/encode.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - First out-of-order option or NULL */\n_ippCheckOptions(void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 834
    functionName: _ippFindOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/encode.c
    functionUses: 3
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: _ipp_option_t
    signature: "_ipp_option_t *\t\t\t\t/* O - Attribute information */\n_ippFindOption(const
      char *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/encode.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - _ipp_option_t*
    - _ipp_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 846
    functionName: compare_ipp_options
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/encode.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int compare_ipp_options(_ipp_option_t *a,\t/* I - First option */\n
      \                   _ipp_option_t *b)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:79,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:94,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:96,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:97,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:103,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:126,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:128,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:129,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:135,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:186,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:186,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:187,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:195,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:200,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:217,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:217,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:218,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:226,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:231,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:241,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:241,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:242,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:250,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:255,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:267,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:280,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:283,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:299,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:300,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:304,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:305,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 174
    argCount: 4
    argNames:
    - buffer
    - bufsize
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 335
    functionName: _cups_vsnprintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c
    functionUses: 0
    functionsReached:
    - va_arg
    - sprintf
    - strlen
    - strchr
    - strlcpy
    - memcpy
    - memset
    - snprintf
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int _cups_vsnprintf(char       *buffer,\t/* O - Output buffer */\n
      \               size_t     bufsize,\t/* O - Size of output buffer */\n\t        const
      char *format,\t/* I - printf-style format string */\n\t        va_list    ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:354,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:355,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 359
    functionName: _cups_snprintf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snprintf.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: "int _cups_snprintf(char       *buffer,\t/* O - Output buffer */\n
      \              size_t     bufsize,\t/* O - Size of output buffer */\n               const
      char *format,\t/* I - printf-style format string */\n\t       ...)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ppd_debug_marked
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:99,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:106,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:107,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:108,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:109,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:110,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:112,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:114,1
    - Dst: _ppdCacheCreateWithPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:123,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:159,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:159,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:160,1
    - Dst: _ppdCacheGetPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:161,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:162,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:166,1
    - Dst: _ppdCacheGetInputSlot
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:167,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:168,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:170,1
    - Dst: _ppdCacheGetMediaType
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:171,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:172,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:178,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:180,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:191,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:198,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:237,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:238,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:243,1
    - Dst: _ppdCacheGetOutputBin
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:244,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:250,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:254,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:260,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:261,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:262,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:264,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:265,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:267,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:276,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:277,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:278,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:279,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:280,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:282,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:283,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:285,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:286,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:288,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:290,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:293,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:295,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:296,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:298,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:299,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:301,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:304,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:316,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:319,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:333,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:335,1
    - Dst: ppd_mark_choices
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:342,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:345,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:351,1
    - Dst: ppd_mark_choices
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:357,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:360,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:361,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:363,1
    - Dst: ppd_debug_marked
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:365,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:367,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 115
    argCount: 3
    argNames:
    - ppd
    - num_options
    - options
    argTypes:
    - ppd_file_t*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 368
    functionName: cupsMarkOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 2
    functionsReached:
    - _ppdCacheGetInputSlot
    - ppdFindOption
    - cupsGetOption
    - ppdPageSize
    - ppdFindAttr
    - strtol
    - _ppdCacheGetPageSize
    - _ppdCacheGetOutputBin
    - _cups_strcasecmp
    - strcmp
    - _ppdCacheCreateWithPPD
    - ppd_mark_option
    - ppd_mark_choices
    - _ppdCacheGetMediaType
    - sprintf
    - ppdConflicts
    - _cups_strncasecmp
    - atoi
    - isdigit
    - ppd_debug_marked
    linkageType: ''
    returnType: int
    signature: "int cupsMarkOptions(\n    ppd_file_t    *ppd,\t\t\t/* I - PPD file
      */\n    int           num_options,\t\t/* I - Number of options */\n    cups_option_t
      *options)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:386,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - o
    - choice
    argTypes:
    - ppd_option_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 394
    functionName: ppdFindChoice
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 3
    functionsReached:
    - _cups_strcasecmp
    - _cups_strncasecmp
    linkageType: ''
    returnType: ppd_choice_t
    signature: "ppd_choice_t *\t\t\t\t/* O - Choice pointer or @code NULL@ */\nppdFindChoice(ppd_option_t
      *o,\t\t/* I - Pointer to option */\n              const char   *choice)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:409,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:411,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:413,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:417,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ppd
    - option
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 423
    functionName: ppdFindMarkedChoice
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 3
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - cupsArrayFind
    - ppdFindOption
    linkageType: ''
    returnType: ppd_choice_t
    signature: "ppd_choice_t *\t\t\t\t/* O - Pointer to choice or @code NULL@ */\nppdFindMarkedChoice(ppd_file_t
      *ppd,\t/* I - PPD file */\n                    const char *option)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:450,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:452,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:469,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ppd
    - option
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 474
    functionName: ppdFindOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 5
    functionsReached:
    - _cups_strcasecmp
    - strlcpy
    - cupsArrayFind
    linkageType: ''
    returnType: ppd_option_t
    signature: "ppd_option_t *\t\t\t\t/* O - Pointer to option or @code NULL@ */\nppdFindOption(ppd_file_t
      *ppd,\t\t/* I - PPD file data */\n              const char *option)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:493,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:496,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:499,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ppd
    - option
    - choice
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 500
    functionName: ppdIsMarked
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cupsArrayFind
    - ppdFindOption
    linkageType: ''
    returnType: int
    signature: "int ppdIsMarked(ppd_file_t *ppd,\t\t/* I - PPD file data */\n            const
      char *option,\t\t/* I - Option/Keyword name */\n            const char *choice)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:522,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:524,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:526,1
    - Dst: ppd_defaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 536
    functionName: ppdMarkDefaults
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 2
    functionsReached:
    - cupsArrayRemove
    - cupsArrayNext
    - ppd_defaults
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: void ppdMarkDefaults(ppd_file_t *ppd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:549,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:563,1
    - Dst: ppdConflicts
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ppd
    - option
    - choice
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 570
    functionName: ppdMarkOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - ppd_mark_option
    - ppdConflicts
    linkageType: ''
    returnType: int
    signature: "int ppdMarkOption(ppd_file_t *ppd,\t\t/* I - PPD file record */\n
      \             const char *option,\t/* I - Keyword */\n              const char
      *choice)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 588
    functionName: ppdFirstOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 1
    functionsReached:
    - cupsArrayFirst
    linkageType: ''
    returnType: ppd_option_t
    signature: "ppd_option_t *\t\t\t\t/* O - First option or @code NULL@ */\nppdFirstOption(ppd_file_t
      *ppd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: ppdNextOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 1
    functionsReached:
    - cupsArrayNext
    linkageType: ''
    returnType: ppd_option_t
    signature: "ppd_option_t *\t\t\t\t/* O - Next option or @code NULL@ */\nppdNextOption(ppd_file_t
      *ppd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:646,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:654,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:657,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:666,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:673,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:676,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:686,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:688,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 28
    argCount: 4
    argNames:
    - s
    - num_options
    - options
    - which
    argTypes:
    - char*
    - int
    - cups_option_t**
    - _ppd_parse_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 692
    functionName: _ppdParseOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 1
    functionsReached:
    - _cups_isspace
    - cupsAddOption
    linkageType: ''
    returnType: int
    signature: "int _ppdParseOptions(\n    const char    *s,\t\t\t/* I  - String to
      parse */\n    int           num_options,\t\t/* I  - Number of options */\n    cups_option_t
      **options,\t\t/* IO - Options */\n    _ppd_parse_t  which)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:707,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:709,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:711,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ppd
    - title
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 713
    functionName: ppd_debug_marked
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cupsArrayNext
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void ppd_debug_marked(ppd_file_t *ppd,\t\t/* I - PPD file data */\n
      \            const char *title)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:731,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:732,1
    - Dst: ppd_defaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ppd
    - g
    argTypes:
    - ppd_file_t*
    - ppd_group_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 721
    functionDepth: 3
    functionLinenumber: 721
    functionLinenumberEnd: 736
    functionName: ppd_defaults
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 2
    functionsReached:
    - _cups_strcasecmp
    - ppd_defaults
    - ppdMarkOption
    linkageType: ''
    returnType: void
    signature: "void ppd_defaults(ppd_file_t  *ppd,\t\t/* I - PPD file */\n             ppd_group_t
      *g)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _ppdParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:757,1
    - Dst: ppd_mark_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:760,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ppd
    - s
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 763
    functionName: ppd_mark_choices
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 1
    functionsReached:
    - ppd_mark_option
    - cupsFreeOptions
    - _ppdParseOptions
    linkageType: ''
    returnType: void
    signature: "void ppd_mark_choices(ppd_file_t *ppd,\t/* I - PPD file */\n                 const
      char *s)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:783,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:791,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:793,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:795,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:798,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:801,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:805,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:812,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:814,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:816,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:821,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:823,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:829,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:832,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:838,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:851,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:853,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:861,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:866,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:872,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:874,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:876,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:878,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:880,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:886,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:893,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:895,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:921,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:924,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:926,1
    - Dst: ppdFindCustomParam
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:930,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:938,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:943,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:949,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:951,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:953,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:955,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:957,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:963,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:970,1
    - Dst: _cupsStrRetain
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:972,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:977,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:983,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1000,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1003,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1006,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1006,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1013,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1021,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1023,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1025,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1028,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1031,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1037,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1040,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1043,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1048,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1050,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1056,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1058,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1061,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1064,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1068,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1070,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1071,1
    - Dst: cupsArraySave
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1077,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1079,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1082,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1085,1
    - Dst: cupsArrayRestore
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1089,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/mark.c:1095,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 167
    argCount: 3
    argNames:
    - ppd
    - option
    - choice
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 1096
    functionName: ppd_mark_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/mark.c
    functionUses: 3
    functionsReached:
    - cupsArrayRestore
    - ppdFindChoice
    - ppdFindOption
    - ppdPageSize
    - _cupsStrScand
    - _cupsStrAlloc
    - DEBUG_printf
    - _cupsStrRetain
    - cupsArraySave
    - ppdFindCustomOption
    - _cups_strcasecmp
    - localeconv
    - cupsFreeOptions
    - cupsArrayFind
    - _cupsStrFree
    - cupsParseOptions
    - ppdFindCustomParam
    - cupsArrayAdd
    - _cups_strncasecmp
    - atoi
    - cupsArrayRemove
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void ppd_mark_option(ppd_file_t *ppd,\t/* I - PPD file */\n                const
      char *option,\t/* I - Option name */\n                const char *choice)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:161,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:165,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:167,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:174,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:182,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:186,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:190,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:194,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:197,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:207,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:209,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:217,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:219,1
    - Dst: cupsUTF8ToUTF32
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:223,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:225,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:233,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:239,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:241,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:243,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:247,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:250,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:258,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:260,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:266,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:270,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:273,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:277,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:283,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:285,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:287,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:288,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:290,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:290,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:291,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:292,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:295,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:297,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:298,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:299,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:302,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:304,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:308,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:314,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:316,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:318,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:327,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:331,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:334,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:336,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:338,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:339,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:341,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:341,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:342,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:343,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:346,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:348,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:349,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:350,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:354,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:360,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:362,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:364,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:373,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:377,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:380,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:382,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:384,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:385,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:387,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:387,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:388,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:389,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:392,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:394,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:395,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:396,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:400,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:406,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:408,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:410,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:419,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:423,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:427,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:429,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:431,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:432,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:434,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:434,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:435,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:436,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:439,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:441,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:442,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:443,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:447,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:454,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:456,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:458,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:467,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:471,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:474,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:476,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:478,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:479,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:481,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:481,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:482,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:483,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:486,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:488,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:489,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:490,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:494,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:500,1
    - Dst: cupsUTF8ToCharset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:502,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:504,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:513,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:517,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:520,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:522,1
    - Dst: cupsCharsetToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:524,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:525,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:527,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:527,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:528,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:529,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:532,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:534,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:535,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:536,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:540,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:547,1
    - Dst: cupsUTF8ToUTF32
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:548,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:553,1
    - Dst: print_utf32
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:554,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:556,1
    - Dst: cupsUTF32ToUTF8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:557,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:560,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:562,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:569,1
    - Dst: cupsUTF8ToUTF32
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:570,1
    - Dst: print_utf8
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:574,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:580,1
    - Dst: _cupsCharmapFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:581,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 263
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 586
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c
    functionUses: 2
    functionsReached:
    - strlen
    - fputs
    - fprintf
    - cupsCharsetToUTF8
    - memcmp
    - cupsUTF32ToUTF8
    - fclose
    - _cupsCharmapFlush
    - strlcpy
    - _cups_strcasecmp
    - cupsUTF8ToCharset
    - fgets
    - print_utf32
    - printf
    - rewind
    - print_utf8
    - fopen
    - puts
    - memcpy
    - cupsUTF8ToUTF32
    - perror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Argument Count */\n     char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:601,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:605,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - src
    argTypes:
    - char*
    - cups_utf8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 614
    functionName: print_utf8
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testi18n.c
    functionUses: 1
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void print_utf8(const char\t     *msg,\t/* I - Message String */\n\t
      \  const cups_utf8_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/raster-private.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/raster-private.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cups_setup
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:72,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:75,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:77,1
    - Dst: _read
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:89,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:91,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - bytes
    - timeout
    argTypes:
    - char*
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 93
    functionName: cupsBackChannelRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c
    functionUses: 0
    functionsReached:
    - read
    - cups_setup
    - _read
    - select
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsBackChannelRead(char   *buffer,\t/* I - Buffer to read
      into */\n                    size_t bytes,\t/* I - Bytes to read */\n\t\t    double
      timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cups_setup
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:134,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:137,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:139,1
    - Dst: _write
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:151,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - buffer
    - bytes
    - timeout
    argTypes:
    - char*
    - size_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 177
    functionName: cupsBackChannelWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c
    functionUses: 0
    functionsReached:
    - write
    - cups_setup
    - _write
    - select
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsBackChannelWrite(\n    const char *buffer,\t\t\t/* I -
      Buffer to write */\n    size_t     bytes,\t\t\t/* I - Bytes to write */\n    double
      \    timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:192,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - set
    - tval
    - timeout
    argTypes:
    - fd_set*
    - struct timeval*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 194
    functionName: cups_setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/backchannel.c
    functionUses: 2
    functionsReached:
    - FD_ZERO
    - FD_SET
    linkageType: ''
    returnType: void
    signature: "void cups_setup(fd_set         *set,\t\t/* I - Set for select() */\n
      \          struct timeval *tval,\t/* I - Timer value */\n\t   double         timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: PWG_FROM_POINTS
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PWG_FROM_POINTS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: PWG_TO_POINTS
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/pwg.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PWG_TO_POINTS(n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:212,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:219,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:223,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:227,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:236,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:237,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:246,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:248,1
    - Dst: CFStringCreateWithCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:256,1
    - Dst: CFLocaleCreateCanonicalLanguageIdentifierFromString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:259,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:262,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:263,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:266,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 3
    argNames:
    - locale
    - language
    - langsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 274
    functionName: _cupsAppleLanguage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - CFLocaleCreateCanonicalLanguageIdentifierFromString
    - strcmp
    - strlen
    - toupper
    - strlcpy
    - CFRelease
    - CFStringCreateWithCString
    - CFStringGetCString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Language ID */\n_cupsAppleLanguage(const char
      *locale,\t/* I - Locale ID */\n                   char       *language,/* I
      - Language ID buffer */\n                   size_t     langsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:290,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - cups_encoding_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 300
    functionName: _cupsEncodingName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Character encoding */\n_cupsEncodingName(\n    cups_encoding_t
      encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsLangGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: cupsLangDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 16
    functionsReached:
    - cupsLangGet
    linkageType: ''
    returnType: cups_lang_t
    signature: "cups_lang_t *\t\t\t\t/* O - Language data */\ncupsLangDefault(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lang
    argTypes:
    - cups_lang_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: cupsLangEncoding
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Character encoding */\ncupsLangEncoding(cups_lang_t
      *lang)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:344,1
    - Dst: _cupsMessageFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:352,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:359,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 365
    functionName: cupsLangFlush
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - _cupsMessageFree
    - free
    - _cupsMutexLock
    - _cupsMutexUnlock
    linkageType: ''
    returnType: void
    signature: void cupsLangFlush(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:377,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lang
    argTypes:
    - cups_lang_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: cupsLangFree
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - _cupsMutexLock
    - _cupsMutexUnlock
    linkageType: ''
    returnType: void
    signature: void cupsLangFree(cups_lang_t *lang)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:448,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:455,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:464,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:464,1
    - Dst: appleLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:465,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:467,1
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:491,1
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:493,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:496,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:498,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:498,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:504,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:505,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:506,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:509,1
    - Dst: _cups_isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:516,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:526,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:527,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:528,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:534,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:541,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:544,1
    - Dst: nl_langinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:569,1
    - Dst: _cups_isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:576,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:581,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:591,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:605,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:606,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:617,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:631,1
    - Dst: _cups_isalnum
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:643,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:644,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:653,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:655,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:661,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:675,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:687,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:688,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:690,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:692,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:694,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:699,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:708,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:710,1
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:712,1
    - Dst: cups_cache_lookup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:714,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:716,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:718,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:738,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:740,1
    - Dst: _cupsMessageFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:754,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:763,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:774,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 128
    argCount: 1
    argNames:
    - language
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 777
    functionName: cupsLangGet
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 2
    functionsReached:
    - setlocale
    - _cupsMutexUnlock
    - strlen
    - snprintf
    - DEBUG_printf
    - tolower
    - toupper
    - appleLangDefault
    - strlcpy
    - _cups_isalnum
    - _cups_strcasecmp
    - getenv
    - _cupsMessageFree
    - strcmp
    - nl_langinfo
    - _cupsMutexLock
    - cups_cache_lookup
    - strchr
    - strncmp
    - calloc
    linkageType: ''
    returnType: cups_lang_t
    signature: "cups_lang_t *\t\t\t\t/* O - Language data */\ncupsLangGet(const char
      *language)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:800,1
    - Dst: cups_message_load
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:807,1
    - Dst: _cupsMessageLookup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:809,1
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:811,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - lang
    - message
    argTypes:
    - cups_lang_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 814
    functionName: _cupsLangString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 10
    functionsReached:
    - cups_message_load
    - _cupsMutexLock
    - _cupsMutexUnlock
    - _cupsMessageLookup
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Localized message */\n_cupsLangString(cups_lang_t
      *lang,\t/* I - Language */\n                const char  *message)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:829,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:830,1
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:830,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:837,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 838
    functionName: _cupsMessageFree
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 2
    functionsReached:
    - cupsArrayUserData
    - CFRelease
    - cupsArrayDelete
    linkageType: ''
    returnType: void
    signature: void _cupsMessageFree(cups_array_t *a)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:859,1
    - Dst: _cupsMessageNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:865,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:867,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:875,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:877,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:878,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:901,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:914,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:923,1
    - Dst: cups_unquote
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:933,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:939,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:949,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:957,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:959,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:960,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:968,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:970,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:974,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:976,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:977,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:987,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:988,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:990,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:994,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:995,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:996,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:998,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1012,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1024,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1027,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1033,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1035,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1036,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1038,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1052,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1060,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1062,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1063,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1071,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1073,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1074,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 2
    argNames:
    - filename
    - unquote
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 1077
    functionName: _cupsMessageLoad
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - strlen
    - strrchr
    - cupsFileGets
    - realloc
    - _cupsMessageNew
    - DEBUG_printf
    - DEBUG_puts
    - cupsFileClose
    - strdup
    - free
    - strerror
    - cupsArrayCount
    - cups_unquote
    - cupsArrayAdd
    - strchr
    - strncmp
    - memcpy
    - cupsFileOpen
    - calloc
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - New message array */\n_cupsMessageLoad(const
      char *filename,\t/* I - Message catalog to load */\n                 int        unquote)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1098,1
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1101,1
    - Dst: cupsArrayUserData
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1111,1
    - Dst: CFStringCreateWithCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1112,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1114,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1115,1
    - Dst: CFDictionaryGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1116,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1122,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1123,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1125,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1130,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1132,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1135,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1138,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - a
    - m
    argTypes:
    - cups_array_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1084
    functionDepth: 1
    functionLinenumber: 1084
    functionLinenumberEnd: 1146
    functionName: _cupsMessageLookup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strdup
    - cupsArrayFind
    - calloc
    - cupsArrayAdd
    - CFRelease
    - CFStringCreateWithCString
    - cupsArrayUserData
    - CFDictionaryGetValue
    - CFStringGetCString
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Localized message */\n_cupsMessageLookup(cups_array_t
      *a,\t/* I - Message array */\n                   const char   *m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1153
    functionDepth: 1
    functionLinenumber: 1153
    functionLinenumberEnd: 1160
    functionName: _cupsMessageNew
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - cupsArrayNew3
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Array */\n_cupsMessageNew(void *context)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1179,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1183,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1191,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1191,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1193,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1194,1
    - Dst: CFBundleGetMainBundle
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1197,1
    - Dst: CFBundleCopyBundleLocalizations
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1198,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1200,1
    - Dst: CFBundleCopyPreferredLocalizationsFromArray
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1203,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1205,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1209,1
    - Dst: CFPreferencesCopyAppValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1212,1
    - Dst: CFSTR
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1212,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1220,1
    - Dst: CFArrayGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1220,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1221,1
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1222,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1224,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1227,1
    - Dst: CFArrayGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1227,1
    - Dst: CFArrayGetCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1228,1
    - Dst: CFArrayGetValueAtIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1230,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1233,1
    - Dst: CFStringGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1233,1
    - Dst: CFLocaleCreateCanonicalLocaleIdentifierFromString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1235,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1240,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1242,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1244,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1256,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1258,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1260,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1273,1
    - Dst: strlcat
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1274,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1277,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1281,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1290,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1291,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1168
    functionDepth: 1
    functionLinenumber: 1168
    functionLinenumberEnd: 1300
    functionName: appleLangDefault
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - CFBundleGetMainBundle
    - CFBundleCopyBundleLocalizations
    - DEBUG_printf
    - CFArrayGetTypeID
    - CFArrayGetCount
    - strlcpy
    - CFRelease
    - strlcat
    - _cupsGlobals
    - getenv
    - DEBUG_puts
    - CFStringGetCString
    - strcmp
    - CFPreferencesCopyAppValue
    - CFSTR
    - CFArrayGetValueAtIndex
    - CFLocaleCreateCanonicalLocaleIdentifierFromString
    - CFBundleCopyPreferredLocalizationsFromArray
    - CFGetTypeID
    - strchr
    - CFStringGetTypeID
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t/* O - Locale string */\nappleLangDefault(void)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1321,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1327,1
    - Dst: _cupsAppleLanguage
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1329,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1330,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1332,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1338,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1340,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1340,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1342,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1344,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1346,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1348,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1350,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1353,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1355,1
    - Dst: CFURLCreateFromFileSystemRepresentation
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1358,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1360,1
    - Dst: CFReadStreamCreateWithFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1363,1
    - Dst: CFReadStreamOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1373,1
    - Dst: CFPropertyListCreateWithStream
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1376,1
    - Dst: CFErrorCopyDescription
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1381,1
    - Dst: CFStringGetCString
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1384,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1386,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1388,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1389,1
    - Dst: CFPropertyListCreateWithStream
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1393,1
    - Dst: CFGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1398,1
    - Dst: CFDictionaryGetTypeID
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1398,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1400,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1404,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1407,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1410,1
    - Dst: _cupsMessageNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1418,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - locale
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1308
    functionDepth: 2
    functionLinenumber: 1308
    functionLinenumberEnd: 1419
    functionName: appleMessageLoad
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - access
    - CFGetTypeID
    - CFReadStreamCreateWithFile
    - CFPropertyListCreateWithStream
    - CFURLCreateFromFileSystemRepresentation
    - strlen
    - CFErrorCopyDescription
    - CFDictionaryGetTypeID
    - _cupsAppleLanguage
    - strncmp
    - CFRelease
    - snprintf
    - CFReadStreamOpen
    - _cupsMessageNew
    - CFStringGetCString
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t/* O - Message catalog */\nappleMessageLoad(const
      char *locale)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1436,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1446,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1450,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1455,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - name
    - encoding
    argTypes:
    - char*
    - cups_encoding_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1428
    functionDepth: 1
    functionLinenumber: 1428
    functionLinenumberEnd: 1464
    functionName: cups_cache_lookup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - strcmp
    linkageType: ''
    returnType: cups_lang_t
    signature: "cups_lang_t *\t\t\t/* O - Language data or NULL */\ncups_cache_lookup(\n
      \   const char      *name,\t\t/* I - Name of locale */\n    cups_encoding_t
      encoding)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - _cups_message_t*
    - _cups_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1477
    functionName: cups_message_compare
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int cups_message_compare(\n    _cups_message_t *m1,\t\t/* I - First
      message */\n    _cups_message_t *m2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1488,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1491,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cups_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1484
    functionDepth: 0
    functionLinenumber: 1484
    functionLinenumberEnd: 1494
    functionName: cups_message_free
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cups_message_free(_cups_message_t *m)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: appleMessageLoad
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1505,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1509,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1513,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1516,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1516,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1522,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1525,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1531,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1532,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1534,1
    - Dst: _cupsMessageLoad
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - lang
    argTypes:
    - cups_lang_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1501
    functionDepth: 3
    functionLinenumber: 1501
    functionLinenumberEnd: 1544
    functionName: cups_message_load
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - appleMessageLoad
    - access
    - DEBUG_printf
    - strerror
    - strchr
    - _cupsMessageLoad
    - _cupsGlobals
    - snprintf
    linkageType: ''
    returnType: void
    signature: void cups_message_load(cups_lang_t *lang)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1560,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/language.c:1564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - d
    - s
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1591
    functionName: cups_unquote
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/language.c
    functionUses: 1
    functionsReached:
    - isdigit
    linkageType: ''
    returnType: void
    signature: "void cups_unquote(char       *d,\t\t/* O - Unquoted string */\n             const
      char *s)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:63,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:68,1
    - Dst: cups_find_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:83,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:96,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:100,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:102,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:107,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:115,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:117,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:122,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:131,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:135,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:138,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 4
    argNames:
    - name
    - value
    - num_options
    - options
    argTypes:
    - char*
    - char*
    - int
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 52
    functionDepth: 5
    functionLinenumber: 52
    functionLinenumberEnd: 143
    functionName: cupsAddOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 12
    functionsReached:
    - DEBUG_printf
    - memmove
    - malloc
    - _cupsStrFree
    - DEBUG_puts
    - cups_find_option
    - _cupsStrAlloc
    - realloc
    linkageType: ''
    returnType: int
    signature: "int cupsAddOption(const char    *name,\t/* I  - Name of option */\n
      \             const char    *value,\t/* I  - Value of option */\n\t      int
      \          num_options,/* I  - Number of options */\n              cups_option_t
      **options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:158,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:166,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:167,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - num_options
    - options
    argTypes:
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 171
    functionName: cupsFreeOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 16
    functionsReached:
    - DEBUG_printf
    - free
    - _cupsStrFree
    linkageType: ''
    returnType: void
    signature: "void cupsFreeOptions(\n    int           num_options,\t\t/* I - Number
      of options */\n    cups_option_t *options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:187,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:192,1
    - Dst: cups_find_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:196,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:200,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:204,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - name
    - num_options
    - options
    argTypes:
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 206
    functionName: cupsGetOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 17
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - cups_find_option
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Option value or @code NULL@ */\ncupsGetOption(const
      char    *name,\t/* I - Name of option */\n              int           num_options,/*
      I - Number of options */\n              cups_option_t *options)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:233,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:242,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:248,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:256,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:258,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:259,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:269,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:284,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:298,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:312,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:318,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:326,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:327,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:330,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:341,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:352,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:357,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:363,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:387,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:396,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:399,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:409,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:415,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:422,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:430,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:432,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 89
    argCount: 3
    argNames:
    - arg
    - num_options
    - options
    argTypes:
    - char*
    - int
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 219
    functionDepth: 6
    functionLinenumber: 219
    functionLinenumberEnd: 435
    functionName: cupsParseOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 7
    functionsReached:
    - DEBUG_printf
    - strdup
    - cupsAddOption
    - strlen
    - _cups_strcpy
    - _cups_isspace
    - strchr
    - free
    - _cups_strncasecmp
    - DEBUG_puts
    linkageType: ''
    returnType: int
    signature: "int cupsParseOptions(\n    const char    *arg,\t\t\t/* I - Argument
      to parse */\n    int           num_options,\t\t/* I - Number of options */\n
      \   cups_option_t **options)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:454,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:463,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:472,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:481,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:486,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:487,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:490,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - name
    - num_options
    - options
    argTypes:
    - char*
    - int
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 499
    functionName: cupsRemoveOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - memmove
    - DEBUG_puts
    - _cupsStrFree
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int cupsRemoveOption(\n    const char    *name,\t\t/* I  - Option
      name */\n    int           num_options,\t\t/* I  - Current number of options
      */\n    cups_option_t **options)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:540,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:553,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:559,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:572,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:578,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 36
    argCount: 2
    argNames:
    - device_id
    - values
    argTypes:
    - char*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 509
    functionDepth: 6
    functionLinenumber: 509
    functionLinenumberEnd: 582
    functionName: _cupsGet1284Values
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 0
    functionsReached:
    - _cups_isspace
    - cupsAddOption
    linkageType: ''
    returnType: int
    signature: "int _cupsGet1284Values(\n    const char *device_id,\t\t/* I - IEEE-1284
      device ID string */\n    cups_option_t **values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cups_option_t*
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 594
    functionName: cups_compare_options
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    linkageType: ''
    returnType: int
    signature: "int cups_compare_options(cups_option_t *a,\t/* I - First option */\n\t\t
      \    cups_option_t *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:616,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:622,1
    - Dst: cups_compare_options
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:634,1
    - Dst: cups_compare_options
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:673,1
    - Dst: cups_compare_options
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:690,1
    - Dst: cups_compare_options
      Src: /src/libspectre/ghostscript/cups/libs/cups/options.c:694,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - name
    - num_options
    - options
    - prev
    - rdiff
    argTypes:
    - char*
    - int
    - cups_option_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 706
    functionName: cups_find_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/options.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - cups_compare_options
    linkageType: ''
    returnType: int
    signature: "int cups_find_option(\n    const char    *name,\t\t/* I - Option name
      */\n    int           num_options,\t\t/* I - Number of options */\n    cups_option_t
      *options,\t\t/* I - Options */\n    int           prev,\t\t\t/* I - Previous
      index */\n    int           *rdiff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:57,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppd
    - keyword
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 59
    functionName: ppdFindCustomOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/custom.c
    functionUses: 6
    functionsReached:
    - strlcpy
    - cupsArrayFind
    linkageType: ''
    returnType: ppd_coption_t
    signature: "ppd_coption_t *\t\t\t\t/* O - Custom option or NULL */\nppdFindCustomOption(ppd_file_t
      *ppd,\t/* I - PPD file */\n                    const char *keyword)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:78,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:80,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - opt
    - name
    argTypes:
    - ppd_coption_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 85
    functionName: ppdFindCustomParam
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/custom.c
    functionUses: 3
    functionsReached:
    - _cups_strcasecmp
    - cupsArrayNext
    - cupsArrayFirst
    linkageType: ''
    returnType: ppd_cparam_t
    signature: "ppd_cparam_t *\t\t\t\t/* O - Custom parameter or NULL */\nppdFindCustomParam(ppd_coption_t
      *opt,\t/* I - Custom option */\n                   const char    *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opt
    argTypes:
    - ppd_coption_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: ppdFirstCustomParam
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/custom.c
    functionUses: 0
    functionsReached:
    - cupsArrayFirst
    linkageType: ''
    returnType: ppd_cparam_t
    signature: "ppd_cparam_t *\t\t\t\t/* O - Custom parameter or NULL */\nppdFirstCustomParam(ppd_coption_t
      *opt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/custom.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - opt
    argTypes:
    - ppd_coption_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: ppdNextCustomParam
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/custom.c
    functionUses: 0
    functionsReached:
    - cupsArrayNext
    linkageType: ''
    returnType: ppd_cparam_t
    signature: "ppd_cparam_t *\t\t\t\t/* O - Custom parameter or NULL */\nppdNextCustomParam(ppd_coption_t
      *opt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:117,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:120,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: _cupsSNMPClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - closesocket
    - close
    linkageType: ''
    returnType: void
    signature: void _cupsSNMPClose(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - dstsize
    argTypes:
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 150
    functionName: _cupsSNMPCopyOID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int *\t\t\t\t\t/* O - New OID */\n_cupsSNMPCopyOID(int       *dst,\t/*
      I - Destination OID */\n                 const int *src,\t/* I - Source OID
      */\n\t\t int       dstsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:167,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:170,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:174,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:176,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:177,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:180,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:181,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:183,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:187,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:191,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 195
    functionName: _cupsSNMPDefaultCommunity
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cupsFileGetConf
    - snprintf
    - strlcpy
    - cupsFileOpen
    - _cupsGlobals
    - _cups_strcasecmp
    - DEBUG_puts
    - cupsFileClose
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Default community name */\n_cupsSNMPDefaultCommunity(void)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:215,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:219,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:233,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - packet
    - oid
    argTypes:
    - cups_snmp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: _cupsSNMPIsOID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int _cupsSNMPIsOID(cups_snmp_t *packet,\t/* I - Response packet */\n
      \              const int   *oid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:264,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:269,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:283,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - packet
    - prefix
    argTypes:
    - cups_snmp_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 292
    functionName: _cupsSNMPIsOIDPrefixed
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int _cupsSNMPIsOIDPrefixed(\n    cups_snmp_t *packet,\t\t/* I - Response
      packet */\n    const int   *prefix)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:309,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:325,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 3
    argNames:
    - src
    - dst
    - dstsize
    argTypes:
    - int*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 332
    functionName: _cupsSNMPOIDToString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - snprintf
    - DEBUG_printf
    - strlen
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - New string or @code NULL@ on error */\n_cupsSNMPOIDToString(const
      int *src,\t/* I - OID */\n                     char      *dst,\t/* I - String
      buffer */\n                     size_t    dstsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:350,1
    - Dst: socket
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:352,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:354,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:354,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:365,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:367,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:367,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:369,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:374,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - family
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 377
    functionName: _cupsSNMPOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - setsockopt
    - close
    - socket
    - strerror
    linkageType: ''
    returnType: int
    signature: int _cupsSNMPOpen(int family)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:403,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:408,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:426,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:435,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:436,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:441,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:444,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:456,1
    - Dst: recvfrom
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:468,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:471,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:471,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:480,1
    - Dst: asn1_decode_snmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:482,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:484,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:490,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 3
    argNames:
    - fd
    - packet
    - timeout
    argTypes:
    - int
    - cups_snmp_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 493
    functionName: _cupsSNMPRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - FD_SET
    - strerror
    - recvfrom
    - asn1_decode_snmp
    - FD_ZERO
    - asn1_debug
    - select
    - WSAGetLastError
    - memcpy
    - poll
    - DEBUG_puts
    linkageType: ''
    returnType: cups_snmp_t
    signature: "cups_snmp_t *\t\t\t\t/* O - SNMP packet or @code NULL@ if none */\n_cupsSNMPRead(int
      \        fd,\t\t/* I - SNMP socket file descriptor */\n              cups_snmp_t
      *packet,\t/* I - SNMP packet buffer */\n\t      double      timeout)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:503,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 509
    functionName: _cupsSNMPSetDebug
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void _cupsSNMPSetDebug(int level)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:531,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:561,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - src
    - dst
    - dstsize
    argTypes:
    - char*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 577
    functionName: _cupsSNMPStringToOID
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int *\t\t\t\t\t/* O - Pointer to OID array or @code NULL@ on error
      */\n_cupsSNMPStringToOID(const char *src,\t/* I - OID string */\n                     int
      \       *dst,\t/* I - OID array */\n\t\t     int        dstsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:613,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:620,1
    - Dst: _cupsSNMPCopyOID
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:629,1
    - Dst: _cupsSNMPWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:636,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:640,1
    - Dst: _cupsSNMPRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:645,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:647,1
    - Dst: _cupsSNMPIsOIDPrefixed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:652,1
    - Dst: _cupsSNMPIsOID
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:653,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:655,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:662,1
    - Dst: _cupsSNMPCopyOID
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:667,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 8
    argNames:
    - fd
    - address
    - version
    - community
    - prefix
    - timeout
    - cb
    - data
    argTypes:
    - int
    - http_addr_t*
    - int
    - char*
    - int*
    - double
    - cups_snmp_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 673
    functionName: _cupsSNMPWalk
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - _cupsSNMPCopyOID
    - DEBUG_printf
    - _cupsSNMPIsOIDPrefixed
    - _cupsSNMPWrite
    - DEBUG_puts
    - _cupsSNMPRead
    - _cupsSNMPIsOID
    linkageType: ''
    returnType: int
    signature: "int _cupsSNMPWalk(int            fd,\t/* I - SNMP socket */\n              http_addr_t
      \   *address,\t/* I - Address to query */\n\t      int            version,\t/*
      I - SNMP version */\n\t      const char     *community,/* I - Community name
      */\n              const int      *prefix,\t/* I - OID prefix */\n\t      double
      \        timeout,\t/* I - Timeout for each response in seconds */\n\t      cups_snmp_cb_t
      cb,\t/* I - Function to call for each response */\n\t      void           *data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:704,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:712,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:721,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:728,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:736,1
    - Dst: asn1_encode_snmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:742,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:746,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:752,1
    - Dst: _httpAddrSetPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:760,1
    - Dst: sendto
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:762,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:763,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 7
    argNames:
    - fd
    - address
    - version
    - community
    - request_type
    - request_id
    - oid
    argTypes:
    - int
    - http_addr_t*
    - int
    - char*
    - cups_asn1_t
    - unsigned
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 764
    functionName: _cupsSNMPWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - httpAddrLength
    - asn1_debug
    - strlcpy
    - memset
    - _httpAddrSetPort
    - DEBUG_puts
    - sendto
    - asn1_encode_snmp
    linkageType: ''
    returnType: int
    signature: "int _cupsSNMPWrite(\n    int            fd,\t\t\t/* I - SNMP socket
      */\n    http_addr_t    *address,\t\t/* I - Address to send to */\n    int            version,\t\t/*
      I - SNMP version */\n    const char     *community,\t\t/* I - Community name
      */\n    cups_asn1_t    request_type,\t/* I - Request type */\n    const unsigned
      request_id,\t\t/* I - Request ID */\n    const int      *oid)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:785,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:799,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:808,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:810,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:816,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:818,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:823,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:827,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:829,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:831,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:836,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:846,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:847,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:852,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:854,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:859,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:861,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:866,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:868,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:873,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:875,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:880,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:882,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:887,1
    - Dst: asn1_get_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:889,1
    - Dst: asn1_get_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:894,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:896,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:899,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:900,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:904,1
    - Dst: asn1_get_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:911,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:914,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:917,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:918,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:922,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:924,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:930,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:932,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:938,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:940,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:946,1
    - Dst: asn1_debug
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:948,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:954,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 4
    argNames:
    - prefix
    - buffer
    - len
    - indent
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 961
    functionName: asn1_debug
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 3
    functionsReached:
    - asn1_get_string
    - asn1_debug
    - fputs
    - asn1_get_length
    - fprintf
    - _cupsGlobals
    - putc
    - asn1_get_integer
    - asn1_get_type
    - asn1_get_oid
    linkageType: ''
    returnType: void
    signature: "void asn1_debug(const char    *prefix,\t/* I - Prefix string */\n
      \          unsigned char *buffer,\t/* I - Buffer */\n           size_t        len,\t\t/*
      I - Length of buffer */\n           int           indent)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:982,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:988,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:989,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:989,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:990,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:991,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:991,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:992,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:993,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:993,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:994,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:995,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:995,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:996,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:998,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:998,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:999,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1000,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1000,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1001,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1002,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1002,1
    - Dst: asn1_get_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1005,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1008,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1010,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1010,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1011,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1012,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1012,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1013,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1014,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1014,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1015,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1016,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1016,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1019,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1021,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1022,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1022,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1023,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1024,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1024,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1027,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1029,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1030,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1030,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1031,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1032,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1032,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1035,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1037,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1038,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1038,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1039,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1040,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1041,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1042,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1043,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1043,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1044,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1045,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1045,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1046,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1047,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1047,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1048,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1049,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1049,1
    - Dst: asn1_get_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1052,1
    - Dst: asn1_get_type
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1055,1
    - Dst: asn1_get_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1057,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1060,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1060,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1067,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1072,1
    - Dst: asn1_get_string
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1082,1
    - Dst: asn1_get_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1088,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1094,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1099,1
    - Dst: asn1_get_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1104,1
    - Dst: snmp_set_error
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1108,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1108,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 93
    argCount: 3
    argNames:
    - buffer
    - len
    - packet
    argTypes:
    - unsigned char*
    - size_t
    - cups_snmp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 1119
    functionName: asn1_decode_snmp
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - asn1_get_string
    - _
    - asn1_get_length
    - memset
    - asn1_get_integer
    - snmp_set_error
    - asn1_get_type
    - asn1_get_oid
    linkageType: ''
    returnType: int
    signature: "int asn1_decode_snmp(unsigned char *buffer,\t/* I - Buffer */\n                 size_t
      \       len,\t/* I - Size of buffer */\n                 cups_snmp_t   *packet)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: asn1_size_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1147,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1156,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1160,1
    - Dst: asn1_size_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1168,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1176,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1177,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1178,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1179,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1180,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1181,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1182,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1183,1
    - Dst: asn1_size_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1184,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1185,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1186,1
    - Dst: asn1_size_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1187,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1202,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1204,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1208,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1209,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1213,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1215,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1217,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1219,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1222,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1225,1
    - Dst: asn1_set_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1227,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1239,1
    - Dst: asn1_set_integer
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1243,1
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1248,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1249,1
    - Dst: asn1_set_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1254,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - buffer
    - bufsize
    - packet
    argTypes:
    - unsigned char*
    - size_t
    - cups_snmp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1262
    functionName: asn1_encode_snmp
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - asn1_set_integer
    - asn1_size_oid
    - asn1_size_integer
    - asn1_set_oid
    - strlen
    - memcpy
    - asn1_set_length
    - asn1_size_length
    linkageType: ''
    returnType: int
    signature: "int asn1_encode_snmp(unsigned char *buffer,\t/* I - Buffer */\n                 size_t
      \       bufsize,\t/* I - Size of buffer */\n                 cups_snmp_t   *packet)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - buffer
    - bufend
    - length
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1290
    functionName: asn1_get_integer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int asn1_get_integer(\n    unsigned char **buffer,\t\t/* IO - Pointer
      in buffer */\n    unsigned char *bufend,\t\t/* I  - End of buffer */\n    int
      \          length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - buffer
    - bufend
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1325
    functionName: asn1_get_length
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned asn1_get_length(unsigned char **buffer,\t/* IO - Pointer
      in buffer */\n\t\tunsigned char *bufend)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1353,1
    - Dst: asn1_get_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 5
    argNames:
    - buffer
    - bufend
    - length
    - oid
    - oidsize
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1379
    functionName: asn1_get_oid
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - asn1_get_packed
    linkageType: ''
    returnType: int
    signature: "int asn1_get_oid(\n    unsigned char **buffer,\t\t/* IO - Pointer
      in buffer */\n    unsigned char *bufend,\t\t/* I  - End of buffer */\n    int
      \          length,\t\t/* I  - Length of value */\n    int           *oid,\t\t\t/*
      I  - OID buffer */\n    int           oidsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - bufend
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1386
    functionDepth: 0
    functionLinenumber: 1386
    functionLinenumberEnd: 1409
    functionName: asn1_get_packed
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int asn1_get_packed(\n    unsigned char **buffer,\t\t/* IO - Pointer
      in buffer */\n    unsigned char *bufend)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1442,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - buffer
    - bufend
    - length
    - string
    - strsize
    argTypes:
    - unsigned char**
    - unsigned char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1416
    functionDepth: 0
    functionLinenumber: 1416
    functionLinenumberEnd: 1460
    functionName: asn1_get_string
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O  - String */\nasn1_get_string(\n    unsigned char
      **buffer,\t\t/* IO - Pointer in buffer */\n    unsigned char *bufend,\t\t/*
      I  - End of buffer */\n    int           length,\t\t/* I  - Value length */\n
      \   char          *string,\t\t/* I  - String buffer */\n    int           strsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_get_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buffer
    - bufend
    argTypes:
    - unsigned char**
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1467
    functionDepth: 1
    functionLinenumber: 1467
    functionLinenumberEnd: 1481
    functionName: asn1_get_type
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - asn1_get_packed
    linkageType: ''
    returnType: int
    signature: "int asn1_get_type(unsigned char **buffer,\t/* IO - Pointer in buffer
      */\n\t      unsigned char *bufend)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 2
    argNames:
    - buffer
    - integer
    argTypes:
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1535
    functionName: asn1_set_integer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void asn1_set_integer(unsigned char **buffer,/* IO - Pointer in buffer
      */\n                 int           integer)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - buffer
    - length
    argTypes:
    - unsigned char**
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1567
    functionName: asn1_set_length
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void asn1_set_length(unsigned char **buffer,\t/* IO - Pointer in buffer
      */\n\t\tunsigned      length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_set_length
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1581,1
    - Dst: asn1_size_oid
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1581,1
    - Dst: asn1_set_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1585,1
    - Dst: asn1_set_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1589,1
    - Dst: asn1_set_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - buffer
    - oid
    argTypes:
    - unsigned char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1574
    functionDepth: 1
    functionLinenumber: 1574
    functionLinenumberEnd: 1593
    functionName: asn1_set_oid
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - asn1_set_packed
    - asn1_size_oid
    - asn1_set_length
    linkageType: ''
    returnType: void
    signature: "void asn1_set_oid(unsigned char **buffer,\t/* IO - Pointer in buffer
      */\n             const int     *oid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - buffer
    - integer
    argTypes:
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1630
    functionName: asn1_set_packed
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void asn1_set_packed(unsigned char **buffer,\t/* IO - Pointer in buffer
      */\n\t\tint           integer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - integer
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1638
    functionDepth: 0
    functionLinenumber: 1638
    functionLinenumberEnd: 1649
    functionName: asn1_size_integer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int asn1_size_integer(int integer)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - length
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1657
    functionDepth: 0
    functionLinenumber: 1657
    functionLinenumberEnd: 1666
    functionName: asn1_size_length
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int asn1_size_length(int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: asn1_size_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1681,1
    - Dst: asn1_size_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1683,1
    - Dst: asn1_size_packed
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - oid
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1689
    functionName: asn1_size_oid
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 2
    functionsReached:
    - asn1_size_packed
    linkageType: ''
    returnType: int
    signature: int asn1_size_oid(const int *oid)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - integer
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1710
    functionName: asn1_size_packed
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int asn1_size_packed(int integer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1721,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1725,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/snmp.c:1727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - packet
    - message
    argTypes:
    - cups_snmp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1717
    functionDepth: 2
    functionLinenumber: 1717
    functionLinenumberEnd: 1728
    functionName: snmp_set_error
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/snmp.c
    functionUses: 1
    functionsReached:
    - _cupsLangString
    - cupsLangDefault
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: "void snmp_set_error(cups_snmp_t *packet,\t/* I - Packet */\n               const
      char *message)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:116,1
    - Dst: cupsGetPPD2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:125,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:132,1
    - Dst: httpAssembleURIf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:134,1
    - Dst: ippAddString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:136,1
    - Dst: ippAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:139,1
    - Dst: cupsDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:147,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:148,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:150,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:158,1
    - Dst: cupsTempFile2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:165,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:167,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:169,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:178,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:180,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:181,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:183,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:196,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:198,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:202,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:210,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:211,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:212,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:213,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:219,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:223,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:226,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:228,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:231,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:233,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:235,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:237,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:241,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:245,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:248,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:249,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:251,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:253,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:254,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:254,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:256,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:258,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:259,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:261,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:262,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:269,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:271,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:272,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:273,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:275,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:277,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:278,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:280,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:281,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:288,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:290,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:291,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:292,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:294,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:296,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:297,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:299,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:300,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:307,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:313,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:317,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:322,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:325,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:329,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:332,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:333,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:337,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:337,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:339,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:340,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:351,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:352,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:353,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:354,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:355,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:357,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:359,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:361,1
    - Dst: write_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:363,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:366,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:368,1
    - Dst: write_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:370,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:373,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:375,1
    - Dst: write_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:378,1
    - Dst: write_option
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:380,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:384,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:385,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:387,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 130
    argCount: 4
    argNames:
    - http
    - dest
    - buffer
    - bufsize
    argTypes:
    - http_t*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 390
    functionName: cupsAdminCreateWindowsPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 0
    functionsReached:
    - sscanf
    - cupsLangDefault
    - cupsFileGets
    - ippAddString
    - cupsLastError
    - cupsGetPPD2
    - snprintf
    - time
    - _cupsSetError
    - ippDelete
    - ippAddStrings
    - ippFindAttribute
    - cupsFileClose
    - gmtime
    - cupsFilePrintf
    - cupsTempFile2
    - ippNewRequest
    - _
    - unlink
    - _cupsConnect
    - write_option
    - _cups_isspace
    - httpAssembleURIf
    - cupsFilePuts
    - _cupsLangString
    - strchr
    - strncmp
    - cupsFileOpen
    - cupsDoRequest
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - PPD file or NULL */\ncupsAdminCreateWindowsPPD(\n
      \   http_t     *http,\t\t\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@
      */\n    const char *dest,\t\t\t/* I - Printer or class */\n    char       *buffer,\t\t\t/*
      I - Filename buffer */\n    int        bufsize)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:417,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:427,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:427,1
    - Dst: cupsTempFile2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:435,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:437,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:441,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:442,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:443,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:458,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:460,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:461,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:470,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:472,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:482,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:485,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:486,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:487,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:490,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:493,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:495,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:504,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:505,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:511,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:517,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:520,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:521,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:522,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:525,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:528,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:530,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:539,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:553,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:560,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:563,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:564,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:565,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:568,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:571,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:573,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:583,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:584,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:592,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:594,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:605,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:608,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:609,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:610,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:613,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:616,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:618,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:627,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:634,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:637,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:638,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:639,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:642,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:645,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:647,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:664,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:665,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:674,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:676,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:686,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:689,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:690,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:691,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:694,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:697,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:699,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:708,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:709,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:715,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:721,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:724,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:725,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:726,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:729,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:732,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:734,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:743,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:757,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:764,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:767,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:768,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:769,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:772,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:775,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:777,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:786,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:787,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:788,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:791,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:792,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:793,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:797,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:798,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:803,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:805,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:814,1
    - Dst: do_samba_command
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:816,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:819,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:820,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:821,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:824,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:827,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:829,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:834,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 134
    argCount: 6
    argNames:
    - dest
    - ppd
    - samba_server
    - samba_user
    - samba_password
    - logfile
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 837
    functionName: cupsAdminExportSamba
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 0
    functionsReached:
    - access
    - cupsFilePrintf
    - cupsLangDefault
    - do_samba_command
    - cupsTempFile2
    - _cupsSetError
    - _cupsLangString
    - _
    - snprintf
    - unlink
    - strlcpy
    - _cupsGlobals
    - strerror
    - _cupsLangPuts
    - cupsFileClose
    linkageType: ''
    returnType: int
    signature: "int cupsAdminExportSamba(\n    const char *dest,\t\t\t/* I - Destination
      to export */\n    const char *ppd,\t\t\t/* I - PPD file */\n    const char *samba_server,\t\t/*
      I - Samba server */\n    const char *samba_user,\t\t/* I - Samba username */\n
      \   const char *samba_password,\t\t/* I - Samba password */\n    FILE       *logfile)"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:863,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:884,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:885,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:893,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:904,1
    - Dst: cupsServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:904,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:904,1
    - Dst: cupsEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:905,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:908,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:910,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:911,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:928,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:928,1
    - Dst: get_cupsd_conf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:946,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:949,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:954,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:955,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:955,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:955,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:956,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:957,1
    - Dst: invalidate_cupsd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:982,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:984,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:985,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:987,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:989,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:990,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:992,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:992,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:997,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:999,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1009,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1009,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1014,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1019,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1021,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1022,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1023,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1025,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1027,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1029,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1030,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1034,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1038,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1049,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1054,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1055,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1061,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1064,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1068,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1072,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1074,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1077,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1082,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1083,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1084,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1089,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1095,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1099,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1100,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1101,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1102,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1103,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1104,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1105,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1110,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1112,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1117,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1123,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1128,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1134,1
    - Dst: invalidate_cupsd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1140,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1147,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1152,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 119
    argCount: 3
    argNames:
    - http
    - num_settings
    - settings
    argTypes:
    - http_t*
    - int*
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 849
    functionDepth: 6
    functionLinenumber: 849
    functionLinenumberEnd: 1156
    functionName: cupsAdminGetServerSettings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 1
    functionsReached:
    - cupsLangDefault
    - httpGetHostname
    - strlen
    - strrchr
    - invalidate_cupsd_cache
    - snprintf
    - time
    - httpAddrPort
    - _cupsSetError
    - _cupsGlobals
    - _cups_strcasecmp
    - httpConnect2
    - cupsFileClose
    - cupsEncryption
    - cupsFileGetConf
    - strcmp
    - _
    - unlink
    - _cups_isspace
    - cupsServer
    - strerror
    - get_cupsd_conf
    - cupsAddOption
    - httpClose
    - _cupsLangString
    - ippPort
    - strncmp
    - cupsFileOpen
    - _cups_strncasecmp
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int cupsAdminGetServerSettings(\n    http_t        *http,\t\t/* I
      - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n    int           *num_settings,\t/*
      O - Number of settings */\n    cups_option_t **settings)"
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1211,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1219,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1223,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1223,1
    - Dst: get_cupsd_conf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1232,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1235,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1237,1
    - Dst: cupsAdminGetServerSettings
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1248,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1252,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1254,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1258,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1261,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1263,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1267,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1270,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1272,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1276,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1279,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1281,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1285,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1288,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1290,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1294,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1297,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1303,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1306,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1320,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1323,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1325,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1327,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1330,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1333,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1347,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1350,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1353,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1367,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1370,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1373,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1387,1
    - Dst: cupsTempFile2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1394,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1396,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1399,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1401,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1427,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1429,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1430,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1433,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1438,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1440,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1440,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1449,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1450,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1454,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1456,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1460,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1461,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1462,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1467,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1470,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1472,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1473,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1486,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1490,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1493,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1494,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1499,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1501,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1507,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1508,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1512,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1518,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1520,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1524,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1525,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1528,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1530,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1533,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1536,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1544,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1556,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1558,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1562,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1564,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1566,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1569,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1571,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1580,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1582,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1584,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1587,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1595,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1598,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1601,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1604,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1613,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1616,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1618,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1620,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1622,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1624,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1627,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1635,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1637,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1648,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1658,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1662,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1667,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1676,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1678,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1681,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1685,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1689,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1694,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1699,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1712,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1712,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1713,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1721,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1729,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1733,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1739,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1747,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1759,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1763,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1766,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1777,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1778,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1782,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1783,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1791,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1792,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1796,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1797,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1806,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1807,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1807,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1811,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1813,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1813,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1817,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1818,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1826,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1829,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1831,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1833,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1835,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1837,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1841,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1843,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1849,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1851,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1853,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1857,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1859,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1865,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1868,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1870,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1876,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1878,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1883,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1913,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1921,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1929,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1930,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1931,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1937,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1945,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1948,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1949,1
    - Dst: cupsPutFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1955,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1964,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1968,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1973,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1977,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1981,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1986,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1990,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1995,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:1999,1
    - Dst: invalidate_cupsd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2007,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2011,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2013,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2016,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2023,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2025,1
    CyclomaticComplexity: 171
    EdgeCount: 171
    ICount: 378
    argCount: 3
    argNames:
    - http
    - num_settings
    - settings
    argTypes:
    - http_t*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 1165
    functionDepth: 7
    functionLinenumber: 1165
    functionLinenumberEnd: 2028
    functionName: cupsAdminSetServerSettings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 1
    functionsReached:
    - httpGetHostname
    - cupsGetOption
    - invalidate_cupsd_cache
    - time
    - DEBUG_printf
    - cupsPutFile
    - _cupsSetError
    - _cupsGlobals
    - getenv
    - _cups_strcasecmp
    - cupsFileClose
    - cupsFreeOptions
    - access
    - cupsFilePrintf
    - cupsFileGetConf
    - cupsTempFile2
    - strcmp
    - unlink
    - _cupsConnect
    - cupsAdminGetServerSettings
    - _cups_isspace
    - strerror
    - get_cupsd_conf
    - cupsAddOption
    - cupsFilePuts
    - ippPort
    - cupsFileOpen
    - atoi
    linkageType: ''
    returnType: int
    signature: "int cupsAdminSetServerSettings(\n    http_t        *http,\t\t/* I
      - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n    int           num_settings,\t\t/*
      I - Number of settings */\n    cups_option_t *settings)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cupsLangPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2051,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2052,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2055,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2061,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2065,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2066,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2070,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2070,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2071,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2073,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2074,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2077,1
    - Dst: execlp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2079,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2081,1
    - Dst: _cupsLangPrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2088,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2088,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2089,1
    - Dst: wait
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2097,1
    - Dst: _cupsLangPuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2101,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2103,1
    - Dst: WIFEXITED
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2105,1
    - Dst: WEXITSTATUS
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2106,1
    - Dst: WTERMSIG
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 5
    argNames:
    - command
    - address
    - subcmd
    - authfile
    - logfile
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2110
      start: 2035
    functionDepth: 3
    functionLinenumber: 2035
    functionLinenumberEnd: 2110
    functionName: do_samba_command
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 1
    functionsReached:
    - _cupsLangPrintf
    - DEBUG_printf
    - wait
    - WEXITSTATUS
    - _
    - fork
    - close
    - fileno
    - open
    - execlp
    - dup2
    - WIFEXITED
    - WTERMSIG
    - strerror
    - exit
    - _cupsLangPuts
    linkageType: ''
    returnType: int
    signature: "int do_samba_command(const char *command,\t/* I - Command to run */\n
      \                const char *address,\t/* I - Address for command */\n                 const
      char *subcmd,\t/* I - Sub-command */\n\t\t const char *authfile,\t/* I - Samba
      authentication file */\n\t\t FILE *logfile)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2138,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2140,1
    - Dst: invalidate_cupsd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2141,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2143,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2147,1
    - Dst: access
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2147,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2153,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2158,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2159,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2159,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2159,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2160,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2161,1
    - Dst: cupsTempFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2179,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2183,1
    - Dst: invalidate_cupsd_cache
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2185,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2192,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2195,1
    - Dst: httpGetDateString
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2196,1
    - Dst: cupsGetFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2198,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2200,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2204,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - http
    - cg
    - last_update
    - name
    - namesize
    - remote
    argTypes:
    - http_t*
    - _cups_globals_t*
    - time_t
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2117
    functionDepth: 5
    functionLinenumber: 2117
    functionLinenumberEnd: 2210
    functionName: get_cupsd_conf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 2
    functionsReached:
    - httpSetField
    - access
    - strerror
    - cupsLangDefault
    - stat
    - cupsGetFd
    - httpGetHostname
    - _cupsLangString
    - _
    - snprintf
    - _cupsSetError
    - httpGetDateString
    - close
    - unlink
    - httpClearFields
    - invalidate_cupsd_cache
    - _cups_strcasecmp
    - cupsTempFd
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t get_cupsd_conf(\n    http_t          *http,\t\t/* I
      - Connection to server */\n    _cups_globals_t *cg,\t\t/* I - Global data */\n
      \   time_t          last_update,\t/* I - Last update time for file */\n    char
      \           *name,\t\t/* I - Filename buffer */\n    int             namesize,\t\t/*
      I - Size of filename buffer */\n    int             *remote)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cg
    argTypes:
    - _cups_globals_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2217
    functionDepth: 3
    functionLinenumber: 2217
    functionLinenumberEnd: 2227
    functionName: invalidate_cupsd_cache
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 3
    functionsReached:
    - cupsFreeOptions
    linkageType: ''
    returnType: void
    signature: "void invalidate_cupsd_cache(\n    _cups_globals_t *cg)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2248,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2258,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2271,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2274,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2277,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2279,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2281,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2292,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2295,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2298,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2301,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2303,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2313,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2318,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2322,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2325,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2328,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2330,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c:2335,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 9
    argNames:
    - dstfp
    - order
    - name
    - text
    - attrname
    - suppattr
    - defattr
    - defval
    - valcount
    argTypes:
    - cups_file_t*
    - int
    - char*
    - char*
    - char*
    - ipp_attribute_t*
    - ipp_attribute_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2234
    functionDepth: 6
    functionLinenumber: 2234
    functionLinenumberEnd: 2336
    functionName: write_option
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/adminutil.c
    functionUses: 1
    functionsReached:
    - cupsFilePrintf
    linkageType: ''
    returnType: void
    signature: "void write_option(cups_file_t     *dstfp,\t/* I - PPD file */\n             int
      \            order,\t/* I - Order dependency */\n             const char      *name,\t/*
      I - Option name */\n\t     const char      *text,\t/* I - Option text */\n             const
      char      *attrname,\t/* I - Attribute name */\n             ipp_attribute_t
      *suppattr,\t/* I - IPP -supported attribute */\n\t     ipp_attribute_t *defattr,\t/*
      I - IPP -default attribute */\n\t     int             defval,\t/* I - Default
      value number */\n\t     int             valcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: _cupsMutexInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void _cupsMutexInit(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: _cupsMutexLock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 15
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void _cupsMutexLock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: _cupsMutexUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 15
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void _cupsMutexUnlock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: _cupsRWInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_init
    linkageType: ''
    returnType: void
    signature: void _cupsRWInit(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_rdlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: _cupsRWLockRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_rdlock
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockRead(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_wrlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: _cupsRWLockWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_wrlock
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockWrite(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_rwlock_unlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: _cupsRWUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_unlock
    linkageType: ''
    returnType: void
    signature: void _cupsRWUnlock(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - _cups_thread_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: _cupsThreadCreate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - pthread_create
    linkageType: ''
    returnType: int
    signature: "int _cupsThreadCreate(\n    _cups_thread_func_t func,\t\t/* I - Entry
      point */\n    void                *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: _cupsMutexInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void _cupsMutexInit(_cups_mutex_t *mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobalLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:154,1
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:158,1
    - Dst: _cupsGlobalUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:162,1
    - Dst: EnterCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: _cupsMutexLock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 15
    functionsReached:
    - EnterCriticalSection
    - InitializeCriticalSection
    - _cupsGlobalUnlock
    - _cupsGlobalLock
    linkageType: ''
    returnType: void
    signature: void _cupsMutexLock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: _cupsMutexUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 15
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: void
    signature: void _cupsMutexUnlock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexInit
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: _cupsRWInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - _cupsMutexInit
    linkageType: ''
    returnType: void
    signature: void _cupsRWInit(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 199
    functionName: _cupsRWLockRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - _cupsMutexLock
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockRead(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexLock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: _cupsRWLockWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - _cupsMutexLock
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockWrite(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMutexUnlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: _cupsRWUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - _cupsMutexUnlock
    linkageType: ''
    returnType: void
    signature: void _cupsRWUnlock(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _beginthreadex
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - _cups_thread_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: _cupsThreadCreate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - _beginthreadex
    linkageType: ''
    returnType: int
    signature: "int _cupsThreadCreate(\n    _cups_thread_func_t func,\t\t/* I - Entry
      point */\n    void                *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: _cupsMutexInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsMutexInit(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: _cupsMutexLock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsMutexLock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - _cups_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: _cupsMutexUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsMutexUnlock(_cups_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: _cupsRWInit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsRWInit(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: _cupsRWLockRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockRead(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: _cupsRWLockWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsRWLockWrite(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rwlock
    argTypes:
    - _cups_rwlock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 313
    functionName: _cupsRWUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsRWUnlock(_cups_rwlock_t *rwlock)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/thread.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - _cups_thread_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 332
    functionName: _cupsThreadCreate
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread.c
    functionUses: 0
    functionsReached:
    - fputs
    linkageType: ''
    returnType: int
    signature: "int _cupsThreadCreate(\n    _cups_thread_func_t func,\t\t/* I - Entry
      point */\n    void                *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppdCollect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ppd
    - section
    - choices
    argTypes:
    - ppd_file_t*
    - ppd_section_t
    - ppd_choice_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 80
    functionName: ppdCollect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached:
    - ppdCollect2
    linkageType: ''
    returnType: int
    signature: "int ppdCollect(ppd_file_t    *ppd,\t\t/* I - PPD file data */\n           ppd_section_t
      section,\t/* I - Section to collect */\n           ppd_choice_t  ***choices)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:107,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:123,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:124,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:130,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:130,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:133,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:141,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:143,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:148,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:158,1
    - Dst: ppdFindNextAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:160,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:162,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:164,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:165,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:165,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:173,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:175,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:177,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:179,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:181,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:219,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:221,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:236,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 4
    argNames:
    - ppd
    - section
    - min_order
    - choices
    argTypes:
    - ppd_file_t*
    - ppd_section_t
    - float
    - ppd_choice_t***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 239
    functionName: ppdCollect2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 1
    functionsReached:
    - cupsArrayCount
    - DEBUG_printf
    - sscanf
    - ppdFindNextAttr
    - cupsArrayNext
    - strcmp
    - free
    - strncmp
    - calloc
    - ppdFindAttr
    - cupsArrayFirst
    linkageType: ''
    returnType: int
    signature: "int ppdCollect2(ppd_file_t    *ppd,\t\t/* I - PPD file data */\n            ppd_section_t
      section,\t/* I - Section to collect */\n\t    float         min_order,\t/* I
      - Minimum OrderDependency value */\n            ppd_choice_t  ***choices)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppdEmitAfterOrder
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ppd
    - fp
    - section
    argTypes:
    - ppd_file_t*
    - FILE*
    - ppd_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 252
    functionName: ppdEmit
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached:
    - ppdEmitAfterOrder
    linkageType: ''
    returnType: int
    signature: "int ppdEmit(ppd_file_t    *ppd,\t\t/* I - PPD file record */\n        FILE
      \         *fp,\t\t/* I - File to write to */\n        ppd_section_t section)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:289,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:297,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ppd
    - fp
    - section
    - limit
    - min_order
    argTypes:
    - ppd_file_t*
    - FILE*
    - ppd_section_t
    - int
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 305
    functionName: ppdEmitAfterOrder
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 1
    functionsReached:
    - free
    - ppdEmitString
    - fputs
    linkageType: ''
    returnType: int
    signature: "int ppdEmitAfterOrder(\n    ppd_file_t    *ppd,\t\t\t/* I - PPD file
      record */\n    FILE          *fp,\t\t\t/* I - File to write to */\n    ppd_section_t
      section,\t\t/* I - Section to write */\n    int\t\t  limit,\t\t/* I - Non-zero
      to use min_order */\n    float         min_order)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:335,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:343,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:350,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:352,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - ppd
    - fd
    - section
    argTypes:
    - ppd_file_t*
    - int
    - ppd_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 373
    functionName: ppdEmitFd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached:
    - free
    - write
    - strlen
    - ppdEmitString
    linkageType: ''
    returnType: int
    signature: "int ppdEmitFd(ppd_file_t    *ppd,\t\t/* I - PPD file record */\n          int
      \          fd,\t\t/* I - File to write to */\n          ppd_section_t section)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:403,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:418,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:420,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:424,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:430,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:432,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:453,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:466,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:475,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:481,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:482,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:485,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:500,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:515,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:521,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:522,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:523,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:524,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:526,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:542,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:545,1
    - Dst: ppdEmit
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:547,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:548,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 65
    argCount: 5
    argNames:
    - ppd
    - fp
    - job_id
    - user
    - title
    argTypes:
    - ppd_file_t*
    - FILE*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 551
    functionName: ppdEmitJCL
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached:
    - strstr
    - strcmp
    - snprintf
    - fputs
    - strrchr
    - _cups_isspace
    - strlcpy
    - strncmp
    - fprintf
    - ppdEmit
    - putc
    - _cups_strcasecmp
    - ppdFindAttr
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int ppdEmitJCL(ppd_file_t *ppd,\t\t/* I - PPD file record */\n           FILE
      \      *fp,\t\t/* I - File to write to */\n           int        job_id,\t\t/*
      I - Job ID */\n\t   const char *user,\t\t/* I - Username */\n\t   const char
      *title)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:574,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:583,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:594,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:595,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:596,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:599,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - ppd
    - fp
    argTypes:
    - ppd_file_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 602
    functionName: ppdEmitJCLEnd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached:
    - strncmp
    - fputs
    - putc
    linkageType: ''
    returnType: int
    signature: "int ppdEmitJCLEnd(ppd_file_t *ppd,\t\t/* I - PPD file record */\n
      \             FILE       *fp)"
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:637,1
    - Dst: ppd_handle_media
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:651,1
    - Dst: ppdCollect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:657,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:669,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:670,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:677,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:679,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:695,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:705,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:706,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:707,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:709,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:714,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:715,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:719,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:723,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:725,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:742,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:748,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:749,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:757,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:759,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:766,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:769,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:771,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:776,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:782,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:785,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:787,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:804,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:811,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:814,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:816,1
    - Dst: _cupsStrFormatd
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:828,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:834,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:836,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:844,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:846,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:865,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:866,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:876,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:883,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:886,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:887,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:888,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:901,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:905,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:907,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:909,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:911,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:921,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:923,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:956,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:962,1
    - Dst: _cupsStrFormatd
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:985,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:997,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:998,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1001,1
    - Dst: ppdFindCustomOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1002,1
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1013,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1015,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1017,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1018,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1020,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1022,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1024,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1026,1
    - Dst: _cupsStrFormatd
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1034,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1040,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1042,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1056,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1057,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1070,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1074,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1076,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1081,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1082,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1089,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1091,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1093,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1098,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1099,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1108,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 224
    argCount: 3
    argNames:
    - ppd
    - section
    - min_order
    argTypes:
    - ppd_file_t*
    - ppd_section_t
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 1111
    functionName: ppdEmitString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 3
    functionsReached:
    - sscanf
    - strlen
    - ppdPageSize
    - snprintf
    - ppdFindAttr
    - DEBUG_printf
    - cupsArrayNew
    - strlcpy
    - memset
    - ppdFindCustomOption
    - DEBUG_puts
    - _cups_strcasecmp
    - localeconv
    - _cupsStrFormatd
    - free
    - ppd_handle_media
    - ppdCollect2
    - cupsArrayNext
    - cupsArrayDelete
    - cupsArrayAdd
    - memcpy
    - calloc
    - atoi
    - isdigit
    - cupsArrayFirst
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - String containing option code or @code NULL@
      if there is no option code */\nppdEmitString(ppd_file_t    *ppd,\t/* I - PPD
      file record */\n              ppd_section_t section,\t/* I - Section to write
      */\n\t      float         min_order)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - ppd_cparam_t*
    - ppd_cparam_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1123
    functionName: ppd_compare_cparams
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ppd_compare_cparams(ppd_cparam_t *a,\t/* I - First parameter */\n
      \                   ppd_cparam_t *b)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1162,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1165,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1166,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1169,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1174,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1176,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1178,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1186,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1188,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1194,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1204,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1211,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1214,1
    - Dst: cupsArrayRemove
      Src: /src/libspectre/ghostscript/cups/libs/cups/emit.c:1221,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 25
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1224
    functionName: ppd_handle_media
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/emit.c
    functionUses: 1
    functionsReached:
    - ppdFindMarkedChoice
    - ppdPageSize
    - _cups_strcasecmp
    - cupsArrayRemove
    - ppdFindAttr
    - ppdMarkOption
    linkageType: ''
    returnType: void
    signature: void ppd_handle_media(ppd_file_t *ppd)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:68,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:77,1
    - Dst: ippNewRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:86,1
    - Dst: ippAddInteger
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:89,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:97,1
    - Dst: cupsEncodeOptions2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:105,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:114,1
    - Dst: cupsSendRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:115,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:115,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:117,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:119,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:123,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:131,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:133,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:134,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:149,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:151,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:152,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:160,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:162,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:166,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:167,1
    - Dst: httpGetBlocking
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:174,1
    - Dst: httpBlocking
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:175,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:177,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:186,1
    - Dst: ippRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:190,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:193,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:206,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:224,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:227,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:230,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:233,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:236,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:239,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:246,1
    - Dst: httpBlocking
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:258,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:259,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:262,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:262,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:265,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:267,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:268,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:271,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:273,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:276,1
    - Dst: cupsLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c:278,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 108
    argCount: 6
    argNames:
    - http
    - timeout
    - include_schemes
    - exclude_schemes
    - callback
    - user_data
    argTypes:
    - http_t*
    - int
    - char*
    - char*
    - cups_device_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 279
    functionName: cupsGetDevices
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/getdevices.c
    functionUses: 0
    functionsReached:
    - ippNew
    - cupsDoAuthentication
    - cupsLastError
    - ippLength
    - ippAddInteger
    - DEBUG_printf
    - httpUpdate
    - _cupsSetError
    - ippDelete
    - DEBUG_puts
    - httpGetBlocking
    - httpFlush
    - ippFindAttribute
    - httpReconnect2
    - _cupsSetHTTPError
    - ippNewRequest
    - strcmp
    - ippErrorString
    - _cupsConnect
    - httpBlocking
    - ippRead
    - httpEncryption
    - strerror
    - cupsSendRequest
    - cupsEncodeOptions2
    linkageType: ''
    returnType: ipp_status_t
    signature: "ipp_status_t cupsGetDevices(\n    http_t           *http,\t\t/* I
      - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n    int              timeout,\t\t/*
      I - Timeout in seconds or @code CUPS_TIMEOUT_DEFAULT@ */\n    const char       *include_schemes,\t/*
      I - Comma-separated URI schemes to include or @code CUPS_INCLUDE_ALL@ */\n    const
      char       *exclude_schemes,\t/* I - Comma-separated URI schemes to exclude
      or @code CUPS_EXCLUDE_NONE@ */\n    cups_device_cb_t callback,\t\t/* I - Callback
      function */\n    void             *user_data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: read_write_tests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:78,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:85,1
    - Dst: read_write_tests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:87,1
    - Dst: random_tests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:94,1
    - Dst: pipe
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:101,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:102,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:104,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:105,1
    - Dst: cupsFileOpenFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:107,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:109,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:120,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:121,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:122,1
    - Dst: alarm
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:124,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:125,1
    - Dst: alarm
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:126,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:128,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:136,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:138,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:140,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:145,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:146,1
    - Dst: count_lines
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:148,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:150,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:155,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:156,1
    - Dst: cupsFileRewind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:158,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:160,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:165,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:166,1
    - Dst: count_lines
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:168,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:170,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:174,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:178,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:185,1
    - Dst: cupsFileFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:187,1
    - Dst: cupsFileFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:188,1
    - Dst: cupsFileFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:190,1
    - Dst: cupsFileFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:191,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:193,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:196,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:205,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:207,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:217,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:219,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:226,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:227,1
    - Dst: cupsFileEOF
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:229,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:230,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:232,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 237
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testfile.c
    functionUses: 2
    functionsReached:
    - fputs
    - cupsFileOpenFd
    - cupsFileGets
    - random_tests
    - putchar
    - cupsFileClose
    - read_write_tests
    - printf
    - cupsFileRewind
    - cupsFileEOF
    - fflush
    - alarm
    - pipe
    - count_lines
    - puts
    - close
    - cupsFileOpen
    - cupsFileFind
    - perror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fp
    argTypes:
    - cups_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 254
    functionName: count_lines
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testfile.c
    functionUses: 1
    functionsReached:
    - cupsFileGets
    linkageType: ''
    returnType: int
    signature: int count_lines(cups_file_t *fp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:286,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:288,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:290,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:290,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:295,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:303,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:304,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:306,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:312,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:318,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:321,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:322,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:328,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:328,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:333,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:341,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:342,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:344,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:350,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:352,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:358,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:360,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:362,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:362,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:367,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:373,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:376,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:378,1
    - Dst: cupsFileSeek
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:395,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:397,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:404,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:406,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:406,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:411,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:413,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:422,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:424,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:431,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 438
    functionName: random_tests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testfile.c
    functionUses: 1
    functionsReached:
    - puts
    - printf
    - cupsFileRead
    - cupsFileTell
    - CUPS_RAND
    - unlink
    - cupsFileSeek
    - fputs
    - cupsFileWrite
    - memset
    - cupsFileOpen
    - memcmp
    - strerror
    - cupsFileClose
    linkageType: ''
    returnType: int
    signature: int random_tests(void)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: CUPS_SRAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:472,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:472,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:475,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:481,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:483,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:487,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:493,1
    - Dst: cupsFileCompression
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:495,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:496,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:499,1
    - Dst: cupsFileCompression
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:499,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:508,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:510,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:511,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:514,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:514,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:522,1
    - Dst: cupsFilePrintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:525,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:529,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:532,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:532,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:540,1
    - Dst: cupsFilePutChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:543,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:547,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:550,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:550,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:558,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:561,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:565,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:568,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:568,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:576,1
    - Dst: cupsFilePuts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:578,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:579,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:582,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:582,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:590,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:592,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:593,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:596,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:604,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:606,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:607,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:610,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:610,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:616,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:616,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:624,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:626,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:629,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:635,1
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:637,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:640,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:643,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:649,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:649,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:657,1
    - Dst: cupsFileCompression
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:659,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:660,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:663,1
    - Dst: cupsFileCompression
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:663,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:674,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:677,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:679,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:679,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:684,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:687,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:693,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:693,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:701,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:704,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:708,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:711,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:716,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:716,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:724,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:727,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:729,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:733,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:736,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:742,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:747,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:747,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:755,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:757,1
    - Dst: cupsFileGetChar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:758,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:764,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:767,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:775,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:777,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:778,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:781,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:789,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:791,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:792,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:795,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:795,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:801,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:801,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testfile.c:809,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 167
    argCount: 1
    argNames:
    - compression
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 816
    functionName: read_write_tests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testfile.c
    functionUses: 1
    functionsReached:
    - cupsFileGetChar
    - strlen
    - fputs
    - cupsFileCompression
    - cupsFileGets
    - cupsFilePutChar
    - memcmp
    - time
    - cupsFileRead
    - cupsFileTell
    - cupsFileWrite
    - _cups_strcasecmp
    - cupsFileClose
    - cupsFilePrintf
    - cupsFileGetConf
    - printf
    - unlink
    - strerror
    - puts
    - CUPS_SRAND
    - CUPS_RAND
    - cupsFilePuts
    - cupsFileOpen
    - atoi
    linkageType: ''
    returnType: int
    signature: int read_write_tests(int compression)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: _cupsThreadGetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadGetData(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: _cupsThreadSetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadSetData(k,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: _cupsThreadGetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadGetData(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: _cupsThreadSetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadSetData(k,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: _cupsThreadGetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadGetData(k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - k
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: _cupsThreadSetData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/thread-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cupsThreadSetData(k,p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cupsSideChannelWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:86,1
    - Dst: cupsSideChannelRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - command
    - data
    - datalen
    - timeout
    argTypes:
    - cups_sc_command_t
    - char*
    - int*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 96
    functionName: cupsSideChannelDoRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c
    functionUses: 0
    functionsReached:
    - cupsSideChannelRead
    - cupsSideChannelWrite
    linkageType: ''
    returnType: cups_sc_status_t
    signature: "cups_sc_status_t cupsSideChannelDoRequest(\n    cups_sc_command_t
      command,\t\t/* I  - Command to send */\n    char              *data,\t\t/* O
      \ - Response data buffer pointer */\n    int               *datalen,\t\t/* IO
      - Size of data buffer on entry, number of bytes in buffer on return */\n    double
      \           timeout)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:134,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:153,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:159,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:160,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:165,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:190,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:198,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:201,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:201,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:203,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:217,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:219,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:234,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:236,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:280,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:283,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:285,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 5
    argNames:
    - command
    - status
    - data
    - datalen
    - timeout
    argTypes:
    - cups_sc_command_t*
    - cups_sc_status_t*
    - char*
    - int*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 114
    functionDepth: 6
    functionLinenumber: 114
    functionLinenumberEnd: 288
    functionName: cupsSideChannelRead
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - read
    - FD_SET
    - _cupsBufferRelease
    - FD_ZERO
    - select
    - memcpy
    - poll
    - strerror
    - _cupsBufferGet
    linkageType: ''
    returnType: int
    signature: "int cupsSideChannelRead(\n    cups_sc_command_t *command,\t\t/* O
      - Command code */\n    cups_sc_status_t  *status,\t\t/* O - Status code */\n
      \   char              *data,\t\t/* O - Data buffer pointer */\n    int               *datalen,\t\t/*
      IO - Size of data buffer on entry, number of bytes in buffer on return */\n
      \   double            timeout)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:328,1
    - Dst: cupsSideChannelWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:345,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:346,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:349,1
    - Dst: cupsSideChannelRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:353,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:355,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:361,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:371,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:376,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:380,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:386,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 4
    argNames:
    - oid
    - data
    - datalen
    - timeout
    argTypes:
    - char*
    - char*
    - int*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 314
    functionDepth: 7
    functionLinenumber: 314
    functionLinenumberEnd: 389
    functionName: cupsSideChannelSNMPGet
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsSideChannelRead
    - _cupsBufferRelease
    - strlen
    - cupsSideChannelWrite
    - memcpy
    - _cupsBufferGet
    linkageType: ''
    returnType: cups_sc_status_t
    signature: "cups_sc_status_t cupsSideChannelSNMPGet(\n    const char *oid,\t\t\t/*
      I  - OID to query */\n    char       *data,\t\t\t/* I  - Buffer for OID value
      */\n    int        *datalen,\t\t/* IO - Size of OID buffer on entry, size of
      value on return */\n    double     timeout)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:437,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:447,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:455,1
    - Dst: cupsSideChannelWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:464,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:465,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:467,1
    - Dst: cupsSideChannelRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:472,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:475,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:481,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:491,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:492,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:498,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:505,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:519,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:524,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 4
    argNames:
    - oid
    - timeout
    - cb
    - context
    argTypes:
    - char*
    - double
    - cups_sc_walk_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 420
    functionDepth: 7
    functionLinenumber: 420
    functionLinenumberEnd: 527
    functionName: cupsSideChannelSNMPWalk
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - cupsSideChannelRead
    - strcmp
    - _cupsBufferRelease
    - strlen
    - cupsSideChannelWrite
    - strlcpy
    - strncmp
    - _cupsBufferGet
    linkageType: ''
    returnType: cups_sc_status_t
    signature: "cups_sc_status_t cupsSideChannelSNMPWalk(\n    const char          *oid,\t\t/*
      I - First numeric OID to query */\n    double              timeout,\t/* I -
      Timeout for each query in seconds */\n    cups_sc_walk_func_t cb,\t\t/* I -
      Function to call with each value */\n    void                *context)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:575,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:578,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:582,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:583,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:587,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:595,1
    - Dst: _cupsBufferGet
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:611,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:623,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:627,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:630,1
    - Dst: _cupsBufferRelease
      Src: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c:634,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - command
    - status
    - data
    - datalen
    - timeout
    argTypes:
    - cups_sc_command_t
    - cups_sc_status_t
    - char*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 539
    functionDepth: 6
    functionLinenumber: 539
    functionLinenumberEnd: 637
    functionName: cupsSideChannelWrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/sidechannel.c
    functionUses: 3
    functionsReached:
    - FD_SET
    - _cupsBufferRelease
    - FD_ZERO
    - write
    - select
    - memcpy
    - poll
    - _cupsBufferGet
    linkageType: ''
    returnType: int
    signature: "int cupsSideChannelWrite(\n    cups_sc_command_t command,\t\t/* I
      - Command code */\n    cups_sc_status_t  status,\t\t/* I - Status code */\n
      \   const char        *data,\t\t/* I - Data buffer pointer */\n    int               datalen,\t\t/*
      I - Number of bytes of data */\n    double            timeout)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:65,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:75,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:76,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:77,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:82,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:87,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:91,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:96,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:100,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:105,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:110,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:115,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:120,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:125,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:130,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:135,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:140,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:144,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:149,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:160,1
    - Dst: cupsEnumDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:162,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:164,1
    - Dst: cupsGetPassword
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:166,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:170,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:172,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:174,1
    - Dst: cupsGetPPD3
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:184,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:186,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:187,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:189,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:191,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:203,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:205,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:205,1
    - Dst: cupsCreateJob
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:209,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:212,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:213,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:217,1
    - Dst: cupsStartDocument
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:219,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:222,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:226,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:228,1
    - Dst: cupsWriteRequestData
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:230,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:233,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:238,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:241,1
    - Dst: cupsFinishDocument
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:243,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:246,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:252,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:253,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:254,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:255,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:256,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:257,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:258,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:259,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:260,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:261,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:262,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:263,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:264,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:265,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:266,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:267,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:268,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:269,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:270,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:271,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:272,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:283,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:284,1
    - Dst: cupsGetDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:286,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:290,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:295,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:299,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:302,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:305,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:307,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:315,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:316,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:318,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:327,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:330,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:335,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:341,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:342,1
    - Dst: cupsGetNamedDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:344,1
    - Dst: dests_equal
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:345,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:348,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:351,1
    - Dst: show_diffs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:352,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:357,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:362,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:365,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:371,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:372,1
    - Dst: cupsGetDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:374,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:377,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:381,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:387,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:389,1
    - Dst: cupsGetNamedDest
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:391,1
    - Dst: dests_equal
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:393,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:397,1
    - Dst: show_diffs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:398,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:401,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:407,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:410,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:416,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:417,1
    - Dst: cupsPrintFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:419,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:422,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:422,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:426,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:432,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:433,1
    - Dst: cupsGetPPD
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:435,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:437,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:441,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:447,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:448,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:450,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:452,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:456,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:458,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:459,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:466,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:467,1
    - Dst: cupsGetJobs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:469,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:473,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:477,1
    - Dst: cupsFreeJobs
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:479,1
    - Dst: cupsFreeDests
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:480,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 240
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 47
    functionDepth: 8
    functionLinenumber: 47
    functionLinenumberEnd: 483
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testcups.c
    functionUses: 2
    functionsReached:
    - cupsCreateJob
    - fputs
    - atof
    - fprintf
    - cupsFreeJobs
    - cupsGetNamedDest
    - cupsGetDests
    - cupsGetDest
    - cupsGetJobs
    - cupsFileRead
    - dests_equal
    - _cups_strcasecmp
    - show_diffs
    - cupsGetPassword
    - putchar
    - cupsFileClose
    - cupsFinishDocument
    - strcmp
    - printf
    - cupsStartDocument
    - unlink
    - cupsFreeDests
    - ppdClose
    - fflush
    - strerror
    - ppdOpenFile
    - cupsGetPPD
    - puts
    - cupsLastErrorString
    - cupsPrintFile
    - cupsWriteRequestData
    - cupsEnumDests
    - sleep
    - cupsGetPPD3
    - cupsFileOpen
    - atoi
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:505,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:508,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:513,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:515,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cups_dest_t*
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 519
    functionName: dests_equal
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testcups.c
    functionUses: 1
    functionsReached:
    - _cups_strcasecmp
    - cupsGetOption
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int dests_equal(cups_dest_t *a,\t\t/* I - First destination */\n            cups_dest_t
      *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:536,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:538,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:541,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - user_data
    - flags
    - dest
    argTypes:
    - void*
    - unsigned
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 546
    functionName: enum_cb
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testcups.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: int
    signature: "int enum_cb(void        *user_data,\t\t/* I - User data (unused) */\n
      \       unsigned    flags,\t\t/* I - Destination flags */\n        cups_dest_t
      *dest)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:565,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:566,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:568,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:569,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:573,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:574,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:579,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:583,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:585,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/testcups.c:586,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cups_dest_t*
    - cups_dest_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 553
    functionDepth: 2
    functionLinenumber: 553
    functionLinenumberEnd: 588
    functionName: show_diffs
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/testcups.c
    functionUses: 1
    functionsReached:
    - puts
    - strcmp
    - printf
    - cupsGetOption
    - _cups_strcasecmp
    linkageType: ''
    returnType: void
    signature: "void show_diffs(cups_dest_t *a,\t\t/* I - First destination */\n           cups_dest_t
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: closesocket
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-private.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: closesocket(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addrp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 399
    functionName: _httpAddrFamily
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _httpAddrFamily(addrp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:45,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:59,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:60,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:66,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:74,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:76,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:77,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - ppd
    - name
    - spec
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: ppdFindAttr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/attr.c
    functionUses: 23
    functionsReached:
    - DEBUG_printf
    - cupsArrayFind
    - cupsArrayNext
    - strlcpy
    - memset
    - _cups_strcasecmp
    linkageType: ''
    returnType: ppd_attr_t
    signature: "ppd_attr_t *\t\t\t\t/* O - Attribute or @code NULL@ if not found */\nppdFindAttr(ppd_file_t
      *ppd,\t\t/* I - PPD file data */\n            const char *name,\t\t/* I - Attribute
      name */\n            const char *spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:112,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:118,1
    - Dst: cupsArrayIndex
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:124,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:124,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:129,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - ppd
    - name
    - spec
    argTypes:
    - ppd_file_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 138
    functionName: ppdFindNextAttr
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/attr.c
    functionUses: 6
    functionsReached:
    - _cups_strcasecmp
    - cupsArrayCount
    - cupsArrayNext
    - cupsArrayIndex
    linkageType: ''
    returnType: ppd_attr_t
    signature: "ppd_attr_t *\t\t\t\t/* O - Attribute or @code NULL@ if not found */\nppdFindNextAttr(ppd_file_t
      *ppd,\t/* I - PPD file data */\n                const char *name,\t/* I - Attribute
      name */\n\t\tconst char *spec)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:169,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:178,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:180,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:183,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:189,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:191,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:197,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:199,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:205,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:207,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:213,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:215,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:221,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:223,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:224,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:230,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:232,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:238,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:240,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:241,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:247,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:250,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:256,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:267,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:275,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:277,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:285,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:287,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:293,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:295,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:306,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:316,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:323,1
    - Dst: _cups_isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/attr.c:324,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 3
    argNames:
    - make_and_model
    - buffer
    - bufsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 330
    functionName: _ppdNormalizeMakeAndModel
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/attr.c
    functionUses: 0
    functionsReached:
    - strlen
    - _cups_strcpy
    - strrchr
    - _cups_isspace
    - strlcpy
    - _cups_strncasecmp
    - snprintf
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Normalized make-and-model string or NULL on
      error */\n_ppdNormalizeMakeAndModel(\n    const char *make_and_model,\t\t/*
      I - Original make-and-model string */\n    char       *buffer,\t\t\t/* I - String
      buffer */\n    size_t     bufsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:45,1
    - Dst: httpAddrConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - addrlist
    - sock
    argTypes:
    - http_addrlist_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: httpAddrConnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - httpAddrConnect2
    linkageType: ''
    returnType: http_addrlist_t
    signature: "http_addrlist_t *\t\t\t/* O - Connected address or NULL on failure
      */\nhttpAddrConnect(\n    http_addrlist_t *addrlist,\t\t/* I - List of potential
      addresses */\n    int             *sock)"
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:85,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:91,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:91,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:98,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:114,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:115,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:116,1
    - Dst: socket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:118,1
    - Dst: _httpAddrFamily
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:118,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:135,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:139,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:144,1
    - Dst: setsockopt
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:153,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:160,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:168,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:170,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:173,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:175,1
    - Dst: connect
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:183,1
    - Dst: httpAddrLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:184,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:186,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:187,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:188,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:191,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:199,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:200,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:205,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:207,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:219,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:222,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:224,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:236,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:238,1
    - Dst: FD_ZERO
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:242,1
    - Dst: FD_SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:243,1
    - Dst: select
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:249,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:251,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:256,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:257,1
    - Dst: getpeername
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:265,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:267,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:268,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:269,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:280,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:281,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:282,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:282,1
    - Dst: closesocket
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:294,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:296,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:305,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:307,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:307,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:332,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:341,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:347,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:385,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:406,1
    - Dst: _cups_debug_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:411,1
    - Dst: res_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:439,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:458,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:462,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:467,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:483,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:494,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:500,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:501,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:510,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:520,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:521,1
    - Dst: getaddrinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:529,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:542,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:545,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:546,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:546,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:551,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:554,1
    - Dst: freeaddrinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:574,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:581,1
    - Dst: gai_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:581,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:601,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:602,1
    - Dst: getservbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:603,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:604,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:605,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:607,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:611,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:613,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:628,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:636,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:639,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:644,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:648,1
    - Dst: gethostbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:651,1
    - Dst: AF_INET6
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:652,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:664,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:667,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:675,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:677,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:683,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:685,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:706,1
    - Dst: hstrerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:706,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:716,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:728,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:729,1
    - Dst: getservbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:730,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:731,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:732,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:734,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:738,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:740,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:744,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:746,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:746,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:750,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:766,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:769,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:769,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:770,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:775,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:779,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:795,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:798,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:798,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:799,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:804,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:805,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:827,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:830,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:830,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:831,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:836,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:851,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:854,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:854,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:855,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:860,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 320
    argCount: 4
    argNames:
    - addrlist
    - sock
    - msec
    - cancel
    argTypes:
    - http_addrlist_t*
    - int*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 58
    functionDepth: 5
    functionLinenumber: 58
    functionLinenumberEnd: 881
    functionName: httpAddrConnect2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c
    functionUses: 2
    functionsReached:
    - _cups_debug_printf
    - sscanf
    - AF_INET6
    - strlen
    - ntohs
    - strrchr
    - res_init
    - WSAGetLastError
    - gethostbyname
    - gai_strerror
    - DEBUG_printf
    - httpAddrPort
    - FD_SET
    - getservbyname
    - fcntl
    - calloc
    - _cupsSetError
    - httpAddrFreeList
    - select
    - strlcpy
    - memset
    - getpeername
    - socket
    - _cupsGlobals
    - DEBUG_puts
    - getenv
    - _cups_strcasecmp
    - getaddrinfo
    - _httpAddrFamily
    - strcmp
    - FD_ZERO
    - _
    - connect
    - malloc
    - free
    - htonl
    - htons
    - strerror
    - httpAddrString
    - hstrerror
    - setsockopt
    - close
    - strncmp
    - memcpy
    - poll
    - httpAddrLength
    - atoi
    - closesocket
    - isdigit
    - freeaddrinfo
    linkageType: ''
    returnType: http_addrlist_t
    signature: "http_addrlist_t *\t\t\t/* O - Connected address or NULL on failure
      */\nhttpAddrConnect2(\n    http_addrlist_t *addrlist,\t\t/* I - List of potential
      addresses */\n    int             *sock,\t\t/* O - Socket */\n    int             msec,\t\t/*
      I - Timeout in milliseconds */\n    int             *cancel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:332,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:341,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:347,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - src
    argTypes:
    - http_addrlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 321
    functionDepth: 5
    functionLinenumber: 321
    functionLinenumberEnd: 361
    functionName: httpAddrCopyList
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c
    functionUses: 1
    functionsReached:
    - malloc
    - free
    - memcpy
    linkageType: ''
    returnType: http_addrlist_t
    signature: "http_addrlist_t *\t\t\t/* O - New address list or @code NULL@ on error
      */\nhttpAddrCopyList(\n    http_addrlist_t *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - addrlist
    argTypes:
    - http_addrlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 389
    functionName: httpAddrFreeList
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c
    functionUses: 8
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: "void httpAddrFreeList(\n    http_addrlist_t *addrlist)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:406,1
    - Dst: _cups_debug_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:411,1
    - Dst: res_init
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:439,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:458,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:462,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:467,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:483,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:494,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:500,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:501,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:510,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:520,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:521,1
    - Dst: getaddrinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:529,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:542,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:545,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:546,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:546,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:551,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:554,1
    - Dst: freeaddrinfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:574,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:581,1
    - Dst: gai_strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:581,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:601,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:602,1
    - Dst: getservbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:603,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:604,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:605,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:607,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:609,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:611,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:613,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:628,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:636,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:639,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:644,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:648,1
    - Dst: gethostbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:651,1
    - Dst: AF_INET6
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:652,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:664,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:667,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:675,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:677,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:683,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:685,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:706,1
    - Dst: hstrerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:706,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:716,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:728,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:729,1
    - Dst: getservbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:730,1
    - Dst: ntohs
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:731,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:732,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:734,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:738,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:740,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:744,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:746,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:746,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:750,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:766,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:769,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:769,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:770,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:775,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:779,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:795,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:798,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:798,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:799,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:804,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:805,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:827,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:830,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:830,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:831,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:836,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:851,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:854,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:854,1
    - Dst: httpAddrFreeList
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:855,1
    - Dst: htons
      Src: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c:860,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 205
    argCount: 3
    argNames:
    - hostname
    - family
    - service
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 876
    functionName: httpAddrGetList
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/http-addrlist.c
    functionUses: 7
    functionsReached:
    - _cups_debug_printf
    - sscanf
    - AF_INET6
    - strlen
    - ntohs
    - strrchr
    - res_init
    - gethostbyname
    - gai_strerror
    - getservbyname
    - httpAddrFreeList
    - _cupsSetError
    - strlcpy
    - memset
    - _cupsGlobals
    - _cups_strcasecmp
    - getaddrinfo
    - strcmp
    - _
    - htons
    - htonl
    - strerror
    - hstrerror
    - strncmp
    - memcpy
    - calloc
    - atoi
    - isdigit
    - freeaddrinfo
    linkageType: ''
    returnType: http_addrlist_t
    signature: "http_addrlist_t *\t\t\t/* O - List of addresses or NULL */\nhttpAddrGetList(const
      char *hostname,\t/* I - Hostname, IP address, or NULL for passive listen address
      */\n                int        family,\t/* I - Address family or AF_UNSPEC */\n\t\tconst
      char *service)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:152,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:167,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:168,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:169,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:170,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:171,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:172,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:173,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:174,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:175,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:176,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:177,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:178,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:179,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:180,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:181,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:182,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:193,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:194,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:195,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:196,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:197,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:198,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:199,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:200,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:201,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:202,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:203,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:204,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:205,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:206,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:207,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:208,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:219,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:220,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:221,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:222,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:223,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:224,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:225,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:226,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:227,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:228,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:229,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:230,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:231,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:232,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:233,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:234,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:245,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:246,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:247,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:248,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:249,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:250,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:251,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:252,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:253,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:254,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:255,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:256,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:257,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:258,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:259,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 77
    argCount: 2
    argNames:
    - pms
    - data
    argTypes:
    - _cups_md5_state_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 270
    functionName: _cups_md5_process
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SET
    linkageType: ''
    returnType: void
    signature: void _cups_md5_process(_cups_md5_state_t *pms, const unsigned char
      *data /*[64]*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: ROTATE_LEFT
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_LEFT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: F
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: G
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: H
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: I
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pms
    argTypes:
    - _cups_md5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: _cupsMD5Init
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _cupsMD5Init(_cups_md5_state_t *pms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:303,1
    - Dst: _cups_md5_process
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:308,1
    - Dst: _cups_md5_process
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:313,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pms
    - data
    - nbytes
    argTypes:
    - _cups_md5_state_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 318
    functionName: _cupsMD5Append
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 3
    functionsReached:
    - memcpy
    - _cups_md5_process
    linkageType: ''
    returnType: void
    signature: void _cupsMD5Append(_cups_md5_state_t *pms, const unsigned char *data,
      int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:336,1
    - Dst: _cupsMD5Append
      Src: /src/libspectre/ghostscript/cups/libs/cups/md5.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pms
    - digest
    argTypes:
    - _cups_md5_state_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 341
    functionName: _cupsMD5Finish
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/md5.c
    functionUses: 3
    functionsReached:
    - _cupsMD5Append
    linkageType: ''
    returnType: void
    signature: void _cupsMD5Finish(_cups_md5_state_t *pms, unsigned char digest[16])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:66,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:67,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:68,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:69,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:70,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:71,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:72,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:82,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:82,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:87,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:87,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:90,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:90,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:93,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:93,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:96,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:96,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:99,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:99,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:102,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:102,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:105,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:105,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:108,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:108,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:112,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:117,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:117,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:126,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:126,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:131,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:131,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:134,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:134,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:137,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:137,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:140,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:140,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:144,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:150,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:158,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 62
    argCount: 2
    argNames:
    - lang
    - event
    argTypes:
    - cups_lang_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 159
    functionName: cupsNotifySubject
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/notify.c
    functionUses: 0
    functionsReached:
    - strdup
    - _cupsLangString
    - _
    - strlcpy
    - snprintf
    - ippFindAttribute
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Subject string or @code NULL@ */\ncupsNotifySubject(cups_lang_t
      *lang,\t/* I - Language data */\n                  ipp_t       *event)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:188,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/notify.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - lang
    - event
    argTypes:
    - cups_lang_t*
    - ipp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 197
    functionName: cupsNotifyText
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/notify.c
    functionUses: 0
    functionsReached:
    - strdup
    - ippFindAttribute
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t\t/* O - Message text or @code NULL@ */\ncupsNotifyText(cups_lang_t
      *lang,\t/* I - Language data */\n               ipp_t       *event)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:136,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:140,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:145,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:147,1
    - Dst: httpGetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:148,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:154,1
    - Dst: cups_local_auth
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:162,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:164,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:186,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:187,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:196,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:199,1
    - Dst: httpGetSubField
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:201,1
    - Dst: cupsSetUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:203,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:205,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:206,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:206,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:207,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:210,1
    - Dst: cupsGetPassword2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:213,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:219,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:219,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:227,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:239,1
    - Dst: _cupsSetNegotiateAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:245,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:253,1
    - Dst: httpEncode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:262,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:263,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:264,1
    - Dst: _cups_strncasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:266,1
    - Dst: httpGetSubField
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:276,1
    - Dst: httpGetSubField
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:277,1
    - Dst: httpMD5
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:279,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:279,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:279,1
    - Dst: httpMD5Final
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:280,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:281,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:283,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:284,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:288,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:294,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 3
    argNames:
    - http
    - method
    - resource
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 297
    functionName: cupsDoAuthentication
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 4
    functionsReached:
    - cupsGetPassword2
    - cupsLangDefault
    - httpGetSubField
    - strlen
    - httpSetAuthString
    - snprintf
    - _cupsSetNegotiateAuthString
    - cupsUser
    - DEBUG_printf
    - httpMD5Final
    - _cupsGlobals
    - httpMD5
    - _
    - _cupsConnect
    - httpEncode64_2
    - cupsSetUser
    - httpGetField
    - cups_local_auth
    - _cupsLangString
    - strchr
    - _cups_strncasecmp
    linkageType: ''
    returnType: int
    signature: "int cupsDoAuthentication(\n    http_t     *http,\t\t\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n    const char *method,\t\t\t/* I
      - Request method (\"GET\", \"POST\", \"PUT\") */\n    const char *resource)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:328,1
    - Dst: cups_gss_getname
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:336,1
    - Dst: _cupsGSSServiceName
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:336,1
    - Dst: gss_delete_sec_context
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:341,1
    - Dst: gss_init_sec_context
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:345,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:367,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:371,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:373,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:374,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:374,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:375,1
    - Dst: cupsGetPassword2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:377,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:384,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:385,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:387,1
    - Dst: dispatch_semaphore_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:398,1
    - Dst: gss_acquire_cred_ex_f
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:404,1
    - Dst: dispatch_semaphore_wait
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:411,1
    - Dst: dispatch_release
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:415,1
    - Dst: gss_init_sec_context
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:421,1
    - Dst: gss_release_cred
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:429,1
    - Dst: GSS_ERROR
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:435,1
    - Dst: cups_gss_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:437,1
    - Dst: cups_gss_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:445,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:460,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:462,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:468,1
    - Dst: httpEncode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:469,1
    - Dst: gss_release_buffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:472,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:476,1
    - Dst: gss_release_buffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 3
    argNames:
    - http
    - method
    - resource
    argTypes:
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 305
    functionDepth: 6
    functionLinenumber: 305
    functionLinenumberEnd: 484
    functionName: _cupsSetNegotiateAuthString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 1
    functionsReached:
    - cupsGetPassword2
    - cupsLangDefault
    - httpSetAuthString
    - snprintf
    - cupsUser
    - dispatch_semaphore_wait
    - DEBUG_printf
    - gss_release_buffer
    - dispatch_release
    - cups_gss_printf
    - strlcpy
    - _cupsGlobals
    - DEBUG_puts
    - GSS_ERROR
    - gss_acquire_cred_ex_f
    - _
    - gss_release_cred
    - malloc
    - httpEncode64_2
    - dispatch_semaphore_create
    - _cupsGSSServiceName
    - gss_delete_sec_context
    - gss_init_sec_context
    - cups_gss_getname
    - _cupsLangString
    - strchr
    linkageType: ''
    returnType: int
    signature: "int _cupsSetNegotiateAuthString(\n    http_t     *http,\t\t\t/* I
      - Connection to server */\n    const char *method,\t\t\t/* I - Request method
      (\"GET\", \"POST\", \"PUT\") */\n    const char *resource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gss_release_oid_set
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:511,1
    - Dst: dispatch_semaphore_signal
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - ctx
    - major
    - status
    - creds
    - oids
    - time_rec
    argTypes:
    - void*
    - OM_uint32
    - gss_status_id_t
    - gss_cred_id_t
    - gss_OID_set
    - OM_uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 513
    functionName: cups_gss_acquire
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 0
    functionsReached:
    - gss_release_oid_set
    - dispatch_semaphore_signal
    linkageType: ''
    returnType: void
    signature: "void cups_gss_acquire(\n    void            *ctx,\t\t/* I - Caller
      context */\n    OM_uint32       major,\t\t/* I - Major error code */\n    gss_status_id_t
      status,\t\t/* I - Status (unused) */\n    gss_cred_id_t   creds,\t\t/* I - Credentials
      (if any) */\n    gss_OID_set     oids,\t\t/* I - Mechanism OIDs (unused) */\n
      \   OM_uint32       time_rec)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:534,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:544,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:546,1
    - Dst: gethostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:548,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:550,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:551,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:556,1
    - Dst: gethostbyname
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:564,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:570,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:574,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:587,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:589,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:592,1
    - Dst: gss_import_name
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:594,1
    - Dst: GSS_ERROR
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:598,1
    - Dst: cups_gss_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - http
    - service_name
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 606
    functionName: cups_gss_getname
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strerror
    - strcmp
    - gss_import_name
    - httpGetHostname
    - strlen
    - snprintf
    - cups_gss_printf
    - strchr
    - strlcpy
    - gethostbyname
    - gethostname
    - GSS_ERROR
    linkageType: ''
    returnType: gss_name_t
    signature: "gss_name_t cups_gss_getname(\n    http_t     *http,\t\t\t/* I - Connection
      to server */\n    const char *service_name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gss_display_status
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:629,1
    - Dst: GSS_ERROR
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:636,1
    - Dst: gss_display_status
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:637,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:640,1
    - Dst: gss_release_buffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:643,1
    - Dst: gss_release_buffer
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:644,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - major_status
    - minor_status
    - message
    argTypes:
    - OM_uint32
    - OM_uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 645
    functionName: cups_gss_printf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 2
    functionsReached:
    - GSS_ERROR
    - gss_display_status
    - gss_release_buffer
    - DEBUG_printf
    linkageType: ''
    returnType: void
    signature: "void cups_gss_printf(OM_uint32  major_status,/* I - Major status code
      */\n\t\tOM_uint32  minor_status,/* I - Minor status code */\n\t\tconst char
      *message)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:671,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:683,1
    - Dst: httpAddrString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:684,1
    - Dst: httpAddrLocalhost
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:690,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:691,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:693,1
    - Dst: AuthorizationFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:704,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:708,1
    - Dst: httpGetSubField2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:709,1
    - Dst: AuthorizationCreate
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:712,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:716,1
    - Dst: cssmErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:717,1
    - Dst: AuthorizationCopyRights
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:734,1
    - Dst: AuthorizationMakeExternalForm
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:738,1
    - Dst: httpEncode64_2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:746,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:749,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:751,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:758,1
    - Dst: cssmErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:759,1
    - Dst: httpGetSubField2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:779,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:783,1
    - Dst: cupsUser
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:792,1
    - Dst: getpwnam
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:794,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:794,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:796,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:798,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:811,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:812,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:813,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:819,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:820,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:823,1
    - Dst: httpGetSubField2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:834,1
    - Dst: httpGetSubField2
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:844,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:854,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:855,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:867,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:868,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:876,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/auth.c:878,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 70
    argCount: 1
    argNames:
    - http
    argTypes:
    - http_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 655
    functionDepth: 6
    functionLinenumber: 655
    functionLinenumberEnd: 887
    functionName: cups_local_auth
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/auth.c
    functionUses: 1
    functionsReached:
    - getpid
    - AuthorizationFree
    - httpSetAuthString
    - getpwnam
    - getuid
    - snprintf
    - cupsUser
    - fclose
    - DEBUG_printf
    - httpGetSubField2
    - _cupsGlobals
    - httpAddrLocalhost
    - DEBUG_puts
    - _cups_strcasecmp
    - getenv
    - fgets
    - AuthorizationCopyRights
    - httpEncode64_2
    - AuthorizationCreate
    - fopen
    - strerror
    - httpAddrString
    - cssmErrorString
    - AuthorizationMakeExternalForm
    - strncmp
    linkageType: ''
    returnType: int
    signature: int cups_local_auth(http_t *http)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:120,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:128,1
    - Dst: cups_array_add
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - e
    argTypes:
    - cups_array_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 137
    functionName: cupsArrayAdd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 29
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - cups_array_add
    linkageType: ''
    returnType: int
    signature: "int cupsArrayAdd(cups_array_t *a,\t\t/* I - Array */\n             void
      \        *e)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:159,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:164,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:174,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:176,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:179,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:182,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:183,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:183,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:189,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:192,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:193,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:195,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:197,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:211,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:213,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:216,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:219,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:221,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:224,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:225,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:228,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:231,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 3
    argNames:
    - a
    - s
    - delim
    argTypes:
    - cups_array_t*
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 234
    functionName: _cupsArrayAddStrings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strdup
    - cupsArrayFind
    - cupsArrayAdd
    - strlen
    - isspace
    - strchr
    - free
    - DEBUG_puts
    linkageType: ''
    returnType: int
    signature: "int _cupsArrayAddStrings(cups_array_t *a,\t/* I - Array */\n                     const
      char   *s,\t/* I - Delimited strings or NULL */\n                     char         delim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 280
    functionName: cupsArrayClear
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cupsArrayClear(cups_array_t *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 304
    functionName: cupsArrayCount
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsArrayCount(cups_array_t *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 334
    functionName: cupsArrayCurrent
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Element */\ncupsArrayCurrent(cups_array_t *a)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:375,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:378,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:380,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 381
    functionName: cupsArrayDelete
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 18
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cupsArrayDelete(cups_array_t *a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:407,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:418,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:426,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:429,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:454,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 390
    functionDepth: 5
    functionLinenumber: 390
    functionLinenumberEnd: 466
    functionName: cupsArrayDup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 1
    functionsReached:
    - calloc
    - free
    - memcpy
    - malloc
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Duplicate array */\ncupsArrayDup(cups_array_t
      *a)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cups_array_find
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:525,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 2
    argNames:
    - a
    - e
    argTypes:
    - cups_array_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 561
    functionName: cupsArrayFind
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 22
    functionsReached:
    - cups_array_find
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Element found or @code NULL@ */\ncupsArrayFind(cups_array_t
      *a,\t\t/* I - Array */\n              void         *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 587
    functionName: cupsArrayFirst
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 29
    functionsReached:
    - cupsArrayCurrent
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - First element or @code NULL@ if the array is
      empty */\ncupsArrayFirst(cups_array_t *a)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: cupsArrayGetIndex
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsArrayGetIndex(cups_array_t *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 622
    functionName: cupsArrayGetInsert
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsArrayGetInsert(cups_array_t *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - n
    argTypes:
    - cups_array_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 641
    functionName: cupsArrayIndex
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 2
    functionsReached:
    - cupsArrayCurrent
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - N-th element or @code NULL@ */\ncupsArrayIndex(cups_array_t
      *a,\t\t/* I - Array */\n               int          n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:658,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:666,1
    - Dst: cups_array_add
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:674,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - a
    - e
    argTypes:
    - cups_array_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 675
    functionName: cupsArrayInsert
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 0
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    - cups_array_add
    linkageType: ''
    returnType: int
    signature: "int cupsArrayInsert(cups_array_t *a,\t/* I - Array */\n\t\tvoid         *e)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 701
    functionName: cupsArrayLast
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 1
    functionsReached:
    - cupsArrayCurrent
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Last element or @code NULL@ if the array is
      empty */\ncupsArrayLast(cups_array_t *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - d
    argTypes:
    - cups_array_func_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: cupsArrayNew
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 19
    functionsReached:
    - cupsArrayNew3
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Array */\ncupsArrayNew(cups_array_func_t
      f,\t/* I - Comparison function or @code NULL@ for an unsorted array */\n             void
      \             *d)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - d
    - h
    - hsize
    argTypes:
    - cups_array_func_t
    - void*
    - cups_ahash_func_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 744
    functionName: cupsArrayNew2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 1
    functionsReached:
    - cupsArrayNew3
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Array */\ncupsArrayNew2(cups_array_func_t
      \ f,\t/* I - Comparison function or @code NULL@ for an unsorted array */\n              void
      \              *d,\t/* I - User data or @code NULL@ */\n              cups_ahash_func_t
      \ h,\t/* I - Hash function or @code NULL@ for unhashed lookups */\n\t      int
      \               hsize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:782,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:797,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:801,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - f
    - d
    - h
    - hsize
    - cf
    - ff
    argTypes:
    - cups_array_func_t
    - void*
    - cups_ahash_func_t
    - int
    - cups_acopy_func_t
    - cups_afree_func_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 767
    functionDepth: 5
    functionLinenumber: 767
    functionLinenumberEnd: 812
    functionName: cupsArrayNew3
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 8
    functionsReached:
    - calloc
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Array */\ncupsArrayNew3(cups_array_func_t
      \ f,\t/* I - Comparison function or @code NULL@ for an unsorted array */\n              void
      \              *d,\t/* I - User data or @code NULL@ */\n              cups_ahash_func_t
      \ h,\t/* I - Hash function or @code NULL@ for unhashed lookups */\n\t      int
      \               hsize,\t/* I - Hash size (>= 0) */\n\t      cups_acopy_func_t
      \ cf,\t/* I - Copy function */\n\t      cups_afree_func_t  ff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew3
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:830,1
    - Dst: _cupsArrayAddStrings
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:833,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - delim
    argTypes:
    - char*
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 823
    functionDepth: 6
    functionLinenumber: 823
    functionLinenumberEnd: 836
    functionName: _cupsArrayNewStrings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 3
    functionsReached:
    - _cupsArrayAddStrings
    - cupsArrayNew3
    linkageType: ''
    returnType: cups_array_t
    signature: "cups_array_t *\t\t\t\t/* O - Array */\n_cupsArrayNewStrings(const
      char *s,\t/* I - Delimited strings or NULL */\n                     char       delim)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:868,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 869
    functionName: cupsArrayNext
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 30
    functionsReached:
    - cupsArrayCurrent
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Next element or @code NULL@ */\ncupsArrayNext(cups_array_t
      *a)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayCurrent
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:901,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 902
    functionName: cupsArrayPrev
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 1
    functionsReached:
    - cupsArrayCurrent
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - Previous element or @code NULL@ */\ncupsArrayPrev(cups_array_t
      *a)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cups_array_find
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:940,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:954,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 2
    argNames:
    - a
    - e
    argTypes:
    - cups_array_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 973
    functionName: cupsArrayRemove
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 6
    functionsReached:
    - cups_array_find
    - memmove
    linkageType: ''
    returnType: int
    signature: "int cupsArrayRemove(cups_array_t *a,\t/* I - Array */\n                void
      \        *e)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 998
    functionName: cupsArrayRestore
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - New current element */\ncupsArrayRestore(cups_array_t
      *a)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1026
    functionName: cupsArraySave
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cupsArraySave(cups_array_t *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - a
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1042
    functionName: cupsArrayUserData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t\t/* O - User data */\ncupsArrayUserData(cups_array_t
      *a)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1061,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1082,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1091,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1094,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1098,1
    - Dst: cups_array_find
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1128,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1183,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1193,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1204,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1216,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1220,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 3
    argNames:
    - a
    - e
    - insert
    argTypes:
    - cups_array_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1051
    functionDepth: 5
    functionLinenumber: 1051
    functionLinenumberEnd: 1223
    functionName: cups_array_add
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 2
    functionsReached:
    - cups_array_find
    - DEBUG_printf
    - memmove
    - malloc
    - DEBUG_puts
    - realloc
    linkageType: ''
    returnType: int
    signature: "int cups_array_add(cups_array_t *a,\t\t/* I - Array */\n               void
      \        *e,\t\t/* I - Element to add */\n\t       int          insert)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1242,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1251,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1267,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1307,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1340,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/array.c:1356,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 4
    argNames:
    - a
    - e
    - prev
    - rdiff
    argTypes:
    - cups_array_t*
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1361
    functionName: cups_array_find
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/array.c
    functionUses: 3
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int cups_array_find(cups_array_t *a,\t/* I - Array */\n        \tvoid
      \        *e,\t/* I - Element */\n\t\tint          prev,\t/* I - Previous index
      */\n\t\tint          *rdiff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:81,1
    - Dst: EnterCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: _cupsGlobalLock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 2
    functionsReached:
    - EnterCriticalSection
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void _cupsGlobalLock(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pthread_once
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:103,1
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:109,1
    - Dst: _cupsThreadGetData
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:118,1
    - Dst: cups_globals_alloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:124,1
    - Dst: _cupsThreadSetData
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 133
    functionName: _cupsGlobals
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 59
    functionsReached:
    - pthread_once
    - InitializeCriticalSection
    - _cupsThreadGetData
    - cups_globals_alloc
    - _cupsThreadSetData
    linkageType: ''
    returnType: _cups_globals_t
    signature: "_cups_globals_t *\t\t\t/* O - Pointer to global data */\n_cupsGlobals(void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:144,1
    - Dst: LeaveCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: _cupsGlobalUnlock
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 2
    functionsReached:
    - LeaveCriticalSection
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void _cupsGlobalUnlock(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:171,1
    - Dst: TlsAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:173,1
    - Dst: TlsGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:178,1
    - Dst: cups_globals_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:179,1
    - Dst: TlsGetValue
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:183,1
    - Dst: cups_globals_free
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:184,1
    - Dst: TlsFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:186,1
    - Dst: DeleteCriticalSection
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - hinst
    - reason
    - reserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 195
    functionName: DllMain
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 0
    functionsReached:
    - TlsGetValue
    - DeleteCriticalSection
    - TlsAlloc
    - InitializeCriticalSection
    - TlsFree
    - cups_globals_free
    linkageType: ''
    returnType: BOOL
    signature: "BOOL DllMain(HINSTANCE hinst,\t\t/* I - DLL module handle */\n        DWORD
      \    reason,\t\t/* I - Reason */\n        LPVOID    reserved)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:207,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:226,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:252,1
    - Dst: RegOpenKeyEx
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:254,1
    - Dst: RegQueryValueEx
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:264,1
    - Dst: RegCloseKey
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:265,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:283,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:284,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:287,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:290,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:293,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:296,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:299,1
    - Dst: geteuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:304,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:304,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:304,1
    - Dst: getegid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:304,1
    - Dst: getgid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:304,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:306,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:326,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:329,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:332,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:335,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:338,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 344
    functionName: cups_globals_alloc
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 1
    functionsReached:
    - RegQueryValueEx
    - getegid
    - malloc
    - strlcpy
    - getgid
    - memset
    - getenv
    - getuid
    - snprintf
    - RegOpenKeyEx
    - RegCloseKey
    - geteuid
    linkageType: ''
    returnType: _cups_globals_t
    signature: "_cups_globals_t *\t\t/* O - Pointer to global data */\ncups_globals_alloc(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:360,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:365,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:368,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:369,1
    - Dst: cupsArrayDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:370,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:372,1
    - Dst: _httpFreeCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:374,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:376,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:377,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:378,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:380,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - cg
    argTypes:
    - _cups_globals_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 383
    functionName: cups_globals_free
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 1
    functionsReached:
    - cupsFreeOptions
    - cupsArrayDelete
    - httpClose
    - free
    - _httpFreeCredentials
    - _cupsStrFree
    - cupsFileClose
    linkageType: ''
    returnType: void
    signature: void cups_globals_free(_cups_globals_t *cg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/libspectre/ghostscript/cups/libs/cups/globals.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: cups_globals_init
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/globals.c
    functionUses: 0
    functionsReached:
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void cups_globals_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:75,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: cupsEncryption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 4
    functionsReached:
    - _cupsSetDefaults
    - _cupsGlobals
    linkageType: ''
    returnType: http_encryption_t
    signature: http_encryption_t cupsEncryption(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prompt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: cupsGetPassword
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 1
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Password */\ncupsGetPassword(const char *prompt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:128,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - prompt
    - http
    - method
    - resource
    argTypes:
    - char*
    - http_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: cupsGetPassword2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 2
    functionsReached:
    - _cupsConnect
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Password */\ncupsGetPassword2(const char *prompt,\t/*
      I - Prompt string */\n\t\t http_t     *http,\t/* I - Connection to server or
      @code CUPS_HTTP_DEFAULT@ */\n\t\t const char *method,\t/* I - Request method
      (\"GET\", \"POST\", \"PUT\") */\n\t\t const char *resource)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:158,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: cupsServer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 3
    functionsReached:
    - _cupsSetDefaults
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Server name */\ncupsServer(void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - user_data
    argTypes:
    - cups_client_cert_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: cupsSetClientCertCB
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: "void cupsSetClientCertCB(\n    cups_client_cert_cb_t cb,\t\t/* I -
      Callback function */\n    void                  *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:208,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:211,1
    - Dst: _httpFreeCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:214,1
    - Dst: _httpCreateCredentials
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - credentials
    argTypes:
    - cups_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 218
    functionName: cupsSetCredentials
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - _httpFreeCredentials
    - _httpCreateCredentials
    - _cupsGlobals
    linkageType: ''
    returnType: int
    signature: "int cupsSetCredentials(\n    cups_array_t *credentials)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:237,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - e
    argTypes:
    - http_encryption_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 244
    functionName: cupsSetEncryption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - httpEncryption
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void cupsSetEncryption(http_encryption_t e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - cb
    argTypes:
    - cups_password_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 272
    functionName: cupsSetPasswordCB
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void cupsSetPasswordCB(cups_password_cb_t cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cb
    - user_data
    argTypes:
    - cups_password_cb2_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 304
    functionName: cupsSetPasswordCB2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: "void cupsSetPasswordCB2(\n    cups_password_cb2_t cb,\t\t/* I - Callback
      function */\n    void                *user_data)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:326,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:331,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:333,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:337,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:339,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:341,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:343,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:345,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:351,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:352,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:352,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:356,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:360,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:362,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:373,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - server
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 376
    functionName: cupsSetServer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - strcmp
    - httpClose
    - strrchr
    - strlcpy
    - strchr
    - _cupsGlobals
    - atoi
    - isdigit
    linkageType: ''
    returnType: void
    signature: void cupsSetServer(const char *server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - user_data
    argTypes:
    - cups_server_cert_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 401
    functionName: cupsSetServerCertCB
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: "void cupsSetServerCertCB(\n    cups_server_cert_cb_t cb,\t\t/* I -
      Callback function */\n    void\t\t  *user_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:417,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - user
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: cupsSetUser
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - _cupsGlobals
    linkageType: ''
    returnType: void
    signature: void cupsSetUser(const char *user)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:439,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:451,1
    - Dst: GetVersionEx
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:457,1
    - Dst: GetNativeSystemInfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:459,1
    - Dst: GetSystemInfo
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:461,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:464,1
    - Dst: uname
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:478,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - user_agent
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 484
    functionName: cupsSetUserAgent
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 0
    functionsReached:
    - GetSystemInfo
    - uname
    - strlcpy
    - _cupsGlobals
    - snprintf
    - GetVersionEx
    - GetNativeSystemInfo
    linkageType: ''
    returnType: void
    signature: void cupsSetUserAgent(const char *user_agent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:499,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 506
    functionName: cupsUser
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 13
    functionsReached:
    - _cupsSetDefaults
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - User name */\ncupsUser(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:518,1
    - Dst: cupsSetUserAgent
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 525
    functionName: cupsUserAgent
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 1
    functionsReached:
    - cupsSetUserAgent
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - User-Agent string */\ncupsUserAgent(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:811,1
    - Dst: _cupsSetDefaults
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 818
    functionName: _cupsGSSServiceName
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 1
    functionsReached:
    - _cupsSetDefaults
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: 'char *

      _cupsGSSServiceName(void)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:841,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:844,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:850,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:851,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:853,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:855,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:856,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:857,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:859,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:866,1
    - Dst: getpwnam
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:876,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:876,1
    - Dst: geteuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getegid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getgid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:891,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:893,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:893,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:895,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:902,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:903,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:914,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:916,1
    - Dst: cups_read_client_conf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:924,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:930,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 932
    functionName: _cupsSetDefaults
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 6
    functionsReached:
    - cups_read_client_conf
    - cupsFileClose
    - snprintf
    - getegid
    - getgid
    - cupsFileOpen
    - getenv
    - getuid
    - DEBUG_puts
    - _cupsGlobals
    - getpwnam
    - geteuid
    linkageType: ''
    returnType: void
    signature: void _cupsSetDefaults(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:975,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:978,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:980,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:989,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:991,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:995,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:997,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1000,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1002,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1005,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1008,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1011,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1014,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1018,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1021,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1033,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1035,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1037,1
    - Dst: cupsSetServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1044,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1056,1
    - Dst: cupsSetServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1063,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1070,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1072,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1082,1
    - Dst: GetUserName
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1093,1
    - Dst: setpwent
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1101,1
    - Dst: getpwuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1102,1
    - Dst: getuid
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1102,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1108,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1117,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1126,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1131,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1132,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1133,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1136,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1137,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1138,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1141,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1142,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/usersys.c:1143,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 73
    argCount: 9
    argNames:
    - fp
    - cg
    - cups_encryption
    - cups_server
    - cups_user
    - cups_gssservicename
    - cups_anyroot
    - cups_expiredroot
    - cups_expiredcerts
    argTypes:
    - cups_file_t*
    - _cups_globals_t*
    - char*
    - char*
    - char*
    - HAVE_GSSAPI*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 939
    functionDepth: 4
    functionLinenumber: 939
    functionLinenumberEnd: 1144
    functionName: cups_read_client_conf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/usersys.c
    functionUses: 1
    functionsReached:
    - cupsFileGetConf
    - getpwuid
    - stat
    - cupsSetServer
    - strlcpy
    - getenv
    - setpwent
    - _cups_strcasecmp
    - atoi
    - getuid
    - GetUserName
    linkageType: ''
    returnType: void
    signature: "void cups_read_client_conf(\n    cups_file_t     *fp,\t\t/* I - File
      to read */\n    _cups_globals_t *cg,\t\t/* I - Global data */\n    const char
      \     *cups_encryption,\t/* I - CUPS_ENCRYPTION env var */\n    const char      *cups_server,\t/*
      I - CUPS_SERVER env var */\n    const char      *cups_user,\t\t/* I - CUPS_USER
      env var */\n#ifdef HAVE_GSSAPI\n    const char      *cups_gssservicename,\n\t\t\t\t\t/*
      I - CUPS_GSSSERVICENAME env var */\n#endif /* HAVE_GSSAPI */\n    const char\t
      \   *cups_anyroot,\t/* I - CUPS_ANYROOT env var */\n    const char\t    *cups_expiredroot,\t/*
      I - CUPS_EXPIREDROOT env var */\n    const char\t    *cups_expiredcerts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 96
    functionName: _cups_isalnum
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_isalnum(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: _cups_isalpha
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_isalpha(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: _cups_islower
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_islower(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: _cups_isspace
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_isspace(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: _cups_isupper
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_isupper(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_isupper
      Src: /src/libspectre/ghostscript/cups/libs/cups/string-private.h:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: _cups_tolower
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 3
    functionsReached:
    - _cups_isupper
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_tolower(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cups_islower
      Src: /src/libspectre/ghostscript/cups/libs/cups/string-private.h:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ch
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: _cups_toupper
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/string-private.h
    functionUses: 0
    functionsReached:
    - _cups_islower
    linkageType: ''
    returnType: _CUPS_INLINE
    signature: _CUPS_INLINE _cups_toupper(int ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: _CUPS_DEPRECATED_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: _CUPS_DEPRECATED_1_6_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_1_6_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: _CUPS_DEPRECATED_1_7_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_1_7_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: _CUPS_INTERNAL_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_INTERNAL_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: _CUPS_DEPRECATED_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: _CUPS_DEPRECATED_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: _CUPS_DEPRECATED_1_6_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_1_6_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: _CUPS_DEPRECATED_1_7_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_DEPRECATED_1_7_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: _CUPS_INTERNAL_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_INTERNAL_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: _CUPS_INTERNAL_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_INTERNAL_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: _CUPS_INTERNAL_MSG
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/versioning.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CUPS_INTERNAL_MSG(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DEBUG_puts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug-private.h
    functionUses: 91
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_puts(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: DEBUG_printf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug-private.h
    functionUses: 229
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_printf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - logfile
    - ','
    - level
    - ','
    - filter
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: DEBUG_set
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug-private.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_set(logfile,level,filter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: gettimeofday
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/debug-private.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gettimeofday(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:72,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:74,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:79,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:85,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:88,1
    - Dst: cupsDoIORequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:96,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - http
    - request
    - resource
    - filename
    argTypes:
    - http_t*
    - ipp_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 62
    functionDepth: 3
    functionLinenumber: 62
    functionLinenumberEnd: 102
    functionName: cupsDoFileRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - ippOpString
    - _cupsSetError
    - close
    - ippDelete
    - open
    - cupsDoIORequest
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - Response data */\ncupsDoFileRequest(http_t
      \    *http,\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n                  ipp_t
      \     *request,\t/* I - IPP request */\n                  const char *resource,\t/*
      I - HTTP resource for POST */\n\t\t  const char *filename)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:136,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:138,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:147,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:149,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:149,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:159,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:161,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:172,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:178,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:181,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:189,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:196,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:198,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:198,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:204,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:208,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:211,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:213,1
    - Dst: ippLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:214,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:220,1
    - Dst: httpSetAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:221,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:229,1
    - Dst: cupsSendRequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:235,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:237,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:241,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:248,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:250,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:252,1
    - Dst: cupsWriteRequestData
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:254,1
    - Dst: cupsGetResponse
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:266,1
    - Dst: httpGetStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:267,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:270,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:276,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:286,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:287,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:297,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:305,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 5
    argNames:
    - http
    - request
    - resource
    - infile
    - outfile
    argTypes:
    - http_t*
    - ipp_t*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 308
    functionName: cupsDoIORequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 2
    functionsReached:
    - httpGetStatus
    - httpSetAuthString
    - S_ISDIR
    - ippLength
    - DEBUG_printf
    - read
    - _cupsSetError
    - write
    - ippDelete
    - DEBUG_puts
    - httpFlush
    - ippOpString
    - _cupsSetHTTPError
    - _cupsConnect
    - fstat
    - strerror
    - httpRead2
    - cupsSendRequest
    - cupsWriteRequestData
    - strncmp
    - cupsGetResponse
    - S_ISREG
    - lseek
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - Response data */\ncupsDoIORequest(http_t     *http,\t/*
      I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n                ipp_t
      \     *request,\t/* I - IPP request */\n                const char *resource,\t/*
      I - HTTP resource for POST */\n\t\tint        infile,\t/* I - File to read from
      or -1 for none */\n\t\tint        outfile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:323,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:325,1
    - Dst: cupsDoIORequest
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - http
    - request
    - resource
    argTypes:
    - http_t*
    - ipp_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 7
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: cupsDoRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 13
    functionsReached:
    - DEBUG_printf
    - ippOpString
    - cupsDoIORequest
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - Response data */\ncupsDoRequest(http_t     *http,\t\t/*
      I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n              ipp_t
      \     *request,\t/* I - IPP request */\n              const char *resource)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:352,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:353,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:361,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:366,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:366,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:367,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:374,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:374,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:375,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:389,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:391,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:399,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:404,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:408,1
    - Dst: ippNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:416,1
    - Dst: ippRead
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:418,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:428,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:430,1
    - Dst: ippDelete
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:432,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:445,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:457,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:459,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:460,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:472,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:474,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:475,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:485,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:487,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:488,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:491,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:493,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - http
    - resource
    argTypes:
    - http_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 343
    functionDepth: 7
    functionLinenumber: 343
    functionLinenumberEnd: 497
    functionName: cupsGetResponse
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - ippNew
    - ippErrorString
    - _cupsSetError
    - _
    - httpUpdate
    - ippRead
    - httpEncryption
    - ippDelete
    - _cupsGlobals
    - cupsDoAuthentication
    - DEBUG_puts
    - httpFlush
    - ippFindAttribute
    - httpWrite2
    - httpReconnect2
    linkageType: ''
    returnType: ipp_t
    signature: "ipp_t *\t\t\t\t\t/* O - Response or @code NULL@ on HTTP error */\ncupsGetResponse(http_t
      \    *http,\t/* I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n                const
      char *resource)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 505
    functionDepth: 2
    functionLinenumber: 505
    functionLinenumberEnd: 509
    functionName: cupsLastError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 12
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: ipp_status_t
    signature: ipp_status_t cupsLastError(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 519
    functionDepth: 2
    functionLinenumber: 519
    functionLinenumberEnd: 523
    functionName: cupsLastErrorString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 7
    functionsReached:
    - _cupsGlobals
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - status-message text from last request */\ncupsLastErrorString(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - current
    - previous
    argTypes:
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: _cupsNextDelay
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int _cupsNextDelay(int current,\t\t/* I  - Current delay value or
      0 */\n               int *previous)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:576,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:581,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:586,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:586,1
    - Dst: httpRead2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 596
    functionName: cupsReadResponseData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - _cupsSetError
    - _
    - _cupsGlobals
    - httpRead2
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cupsReadResponseData(\n    http_t *http,\t\t\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n    char   *buffer,\t\t\t/* I - Buffer
      to use */\n    size_t length)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:629,1
    - Dst: ippOpString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:631,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:640,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:640,1
    - Dst: _cupsConnect
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:650,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:660,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:661,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:665,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:667,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:678,1
    - Dst: httpAddrLocalhost
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:679,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:680,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:682,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:691,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:693,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:694,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:695,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:697,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:710,1
    - Dst: httpClearFields
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:716,1
    - Dst: httpSetExpect
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:717,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:718,1
    - Dst: httpSetLength
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:719,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:722,1
    - Dst: _cupsSetNegotiateAuthString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:729,1
    - Dst: httpSetField
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:733,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:735,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:741,1
    - Dst: httpPost
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:743,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:745,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:746,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:748,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:759,1
    - Dst: ippWrite
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:765,1
    - Dst: httpCheck
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:767,1
    - Dst: _httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:771,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:792,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:809,1
    - Dst: httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:811,1
    - Dst: _httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:812,1
    - Dst: httpCheck
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:814,1
    - Dst: _httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:815,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:818,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:828,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:832,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:837,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:845,1
    - Dst: cupsDoAuthentication
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:849,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:851,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:855,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:857,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:859,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:871,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:874,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:876,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:880,1
    - Dst: httpEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:881,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:883,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:896,1
    - Dst: httpReconnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:899,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:901,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 131
    argCount: 4
    argNames:
    - http
    - request
    - resource
    - length
    argTypes:
    - http_t*
    - ipp_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 617
    functionDepth: 7
    functionLinenumber: 617
    functionLinenumberEnd: 914
    functionName: cupsSendRequest
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 4
    functionsReached:
    - httpSetField
    - httpSetExpect
    - httpClearFields
    - cupsDoAuthentication
    - _cupsSetNegotiateAuthString
    - DEBUG_printf
    - _cupsSetError
    - ippWrite
    - httpUpdate
    - httpAddrLocalhost
    - DEBUG_puts
    - _cups_strcasecmp
    - httpFlush
    - httpSetLength
    - ippFindAttribute
    - httpReconnect2
    - ippOpString
    - _cupsSetHTTPError
    - _cupsConnect
    - httpWait
    - httpCheck
    - strerror
    - httpEncryption
    - httpPost
    - strncmp
    - _httpUpdate
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsSendRequest(http_t     *http,\t/* I - Connection
      to server or @code CUPS_HTTP_DEFAULT@ */\n                ipp_t      *request,\t/*
      I - IPP request */\n                const char *resource,\t/* I - Resource path
      */\n\t\tsize_t     length)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:939,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:944,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:949,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:949,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:950,1
    - Dst: httpWrite2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:961,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:963,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:964,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:964,1
    - Dst: _httpWait
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:980,1
    - Dst: _httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:984,1
    - Dst: _cupsSetHTTPError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:987,1
    - Dst: httpUpdate
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:991,1
    - Dst: httpFlush
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:995,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:998,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1003,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - http
    - buffer
    - length
    argTypes:
    - http_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 926
    functionDepth: 4
    functionLinenumber: 926
    functionLinenumberEnd: 1005
    functionName: cupsWriteRequestData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 3
    functionsReached:
    - DEBUG_printf
    - strerror
    - _cupsSetHTTPError
    - _cupsSetError
    - _
    - _httpWait
    - httpUpdate
    - _cupsGlobals
    - _httpUpdate
    - DEBUG_puts
    - httpFlush
    - httpWrite2
    linkageType: ''
    returnType: http_status_t
    signature: "http_status_t cupsWriteRequestData(\n    http_t     *http,\t\t\t/*
      I - Connection to server or @code CUPS_HTTP_DEFAULT@ */\n    const char *buffer,\t\t\t/*
      I - Bytes to write */\n    size_t     length)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1015,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1030,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1031,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1039,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1052,1
    - Dst: WSAGetLastError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1053,1
    - Dst: recv
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1055,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1063,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1075,1
    - Dst: cupsServer
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1075,1
    - Dst: ippPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1075,1
    - Dst: cupsEncryption
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1076,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1079,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1081,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1082,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1012
    functionDepth: 4
    functionLinenumber: 1012
    functionLinenumberEnd: 1091
    functionName: _cupsConnect
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 16
    functionsReached:
    - httpAddrPort
    - cupsEncryption
    - httpClose
    - recv
    - strcmp
    - _cupsSetError
    - _
    - ippPort
    - WSAGetLastError
    - cupsServer
    - _cupsGlobals
    - httpConnect2
    linkageType: ''
    returnType: http_t
    signature: "http_t *\t\t\t\t/* O - HTTP connection */\n_cupsConnect(void)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1108,1
    - Dst: _cupsGlobals
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1112,1
    - Dst: _cupsStrFree
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1117,1
    - Dst: cupsLangDefault
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1131,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1133,1
    - Dst: _cupsLangString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1133,1
    - Dst: _cupsStrAlloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1137,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1140,1
    - Dst: ippErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - status
    - message
    - localize
    argTypes:
    - ipp_status_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1142
    functionName: _cupsSetError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 53
    functionsReached:
    - DEBUG_printf
    - cupsLangDefault
    - ippErrorString
    - _cupsLangString
    - _cupsStrFree
    - _cupsGlobals
    - strerror
    - _cupsStrAlloc
    linkageType: ''
    returnType: void
    signature: "void _cupsSetError(ipp_status_t status,\t/* I - IPP status code */\n
      \             const char   *message,\t/* I - status-message value */\n\t      int
      \         localize)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1155,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1155,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1159,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1159,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1163,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1163,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1167,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1167,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1171,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1171,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1175,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1175,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1179,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1179,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1183,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1183,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1187,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1187,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1191,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1191,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1195,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1195,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1199,1
    - Dst: _cupsSetError
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1201,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/request.c:1201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - status
    argTypes:
    - http_status_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1204
    functionName: _cupsSetHTTPError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/request.c
    functionUses: 12
    functionsReached:
    - strerror
    - DEBUG_printf
    - _cupsSetError
    - httpStatus
    linkageType: ''
    returnType: void
    signature: void _cupsSetHTTPError(http_status_t status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cups_create_localizations
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:70,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:72,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:76,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - http
    - dest
    - dinfo
    - option
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 81
    functionName: cupsLocalizeDestOption
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - cupsArrayFind
    - cups_create_localizations
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Localized string */\ncupsLocalizeDestOption(\n
      \   http_t       *http,\t\t\t/* I - Connection to destination */\n    cups_dest_t
      \ *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t *dinfo,\t\t/* I - Destination
      information */\n    const char   *option)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cups_create_localizations
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:111,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:113,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:116,1
    - Dst: cupsArrayFind
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - http
    - dest
    - dinfo
    - option
    - value
    argTypes:
    - http_t*
    - cups_dest_t*
    - cups_dinfo_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: cupsLocalizeDestValue
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c
    functionUses: 0
    functionsReached:
    - cupsArrayCount
    - snprintf
    - cupsArrayFind
    - cups_create_localizations
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Localized string */\ncupsLocalizeDestValue(\n
      \   http_t       *http,\t\t\t/* I - Connection to destination */\n    cups_dest_t
      \ *dest,\t\t\t/* I - Destination */\n    cups_dinfo_t *dinfo,\t\t/* I - Destination
      information */\n    const char   *option,\t\t/* I - Option to localize */\n
      \   const char   *value)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cupsMessageNew
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:155,1
    - Dst: ippFindAttribute
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:161,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:168,1
    - Dst: httpSeparateURI
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:178,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:183,1
    - Dst: httpGetHostname
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:188,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:190,1
    - Dst: httpAddrPort
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:191,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:205,1
    - Dst: httpConnect2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:210,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:213,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:214,1
    - Dst: cupsTempFile2
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:223,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:225,1
    - Dst: cupsLastErrorString
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:226,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:228,1
    - Dst: cupsGetFd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:232,1
    - Dst: cupsFileNumber
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:232,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:234,1
    - Dst: httpStatus
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:235,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:248,1
    - Dst: cupsFileNumber
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:248,1
    - Dst: cups_read_strings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:250,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:252,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:255,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:256,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:259,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:263,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:266,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:268,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:274,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:275,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:281,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:282,1
    - Dst: httpClose
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:285,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 2
    argNames:
    - http
    - dinfo
    argTypes:
    - http_t*
    - cups_dinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 286
    functionName: cups_create_localizations
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c
    functionUses: 2
    functionsReached:
    - cupsGetFd
    - httpGetHostname
    - httpStatus
    - _cupsMessageNew
    - DEBUG_printf
    - httpAddrPort
    - _cups_strcasecmp
    - DEBUG_puts
    - httpConnect2
    - ippFindAttribute
    - cupsFileClose
    - httpSeparateURI
    - strdup
    - cupsTempFile2
    - strcmp
    - unlink
    - malloc
    - free
    - cupsArrayCount
    - httpClose
    - cupsLastErrorString
    - cups_read_strings
    - cupsArrayAdd
    - cupsFileNumber
    - lseek
    linkageType: ''
    returnType: void
    signature: "void cups_create_localizations(\n    http_t       *http,\t\t\t/* I
      - Connection to destination */\n    cups_dinfo_t *dinfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileGets
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:303,1
    - Dst: cups_scan_strings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:309,1
    - Dst: cups_scan_strings
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:323,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 5
    argNames:
    - strings
    - buffer
    - bufsize
    - id
    - str
    argTypes:
    - cups_file_t*
    - char*
    - size_t
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 334
    functionName: cups_read_strings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c
    functionUses: 1
    functionsReached:
    - cups_scan_strings
    - cupsFileGets
    linkageType: ''
    returnType: int
    signature: "int cups_read_strings(cups_file_t *strings,\t/* I - .strings file
      */\n                  char        *buffer,\t/* I - Line buffer */\n                  size_t
      \     bufsize,\t/* I - Size of line buffer */\n\t\t  char        **id,\t/* O
      - Pointer to ID string */\n\t\t  char        **str)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:361,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c:369,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 381
    functionName: cups_scan_strings
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/cups/dest-localization.c
    functionUses: 1
    functionsReached:
    - _cups_strcpy
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - End of string */\ncups_scan_strings(char *buffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: do_ps_tests
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:217,1
    - Dst: do_raster_tests
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:218,1
    - Dst: do_raster_tests
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:219,1
    - Dst: do_raster_tests
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:220,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:236,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:241,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:244,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:245,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:252,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:253,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:257,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:259,1
    - Dst: do_ppd_tests
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:260,1
    - Dst: do_ras_file
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:262,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:266,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:267,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:272,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 207
    functionDepth: 7
    functionLinenumber: 207
    functionLinenumberEnd: 276
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 2
    functionsReached:
    - cupsParseOptions
    - puts
    - do_ps_tests
    - strcmp
    - do_ppd_tests
    - strrchr
    - do_ras_file
    - do_raster_tests
    - cupsFreeOptions
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:292,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:293,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:295,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:301,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:303,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:304,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:304,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:309,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:310,1
    - Dst: cupsRasterInterpretPPD
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:312,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:314,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:315,1
    - Dst: cupsRasterErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:315,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - filename
    - num_options
    - options
    argTypes:
    - char*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 283
    functionDepth: 8
    functionLinenumber: 283
    functionLinenumberEnd: 325
    functionName: do_ppd_tests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 1
    functionsReached:
    - cupsRasterInterpretPPD
    - puts
    - ppdErrorString
    - printf
    - cupsRasterErrorString
    - ppdMarkDefaults
    - cupsMarkOptions
    - fflush
    - ppdLastError
    - ppdOpenFile
    linkageType: ''
    returnType: int
    signature: "int do_ppd_tests(const char    *filename,\t/* I - PPD file */\n             int
      \          num_options,\t/* I - Number of options */\n             cups_option_t
      *options)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:344,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:345,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:347,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:351,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:353,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:354,1
    - Dst: cupsRasterErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:354,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:358,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:360,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:363,1
    - Dst: print_changes
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:366,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:370,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:372,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:373,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:375,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:381,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:382,1
    - Dst: cupsRasterErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:382,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:387,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:392,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:394,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:395,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:397,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:404,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:405,1
    - Dst: cupsRasterErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:405,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:412,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:418,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:424,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:429,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:432,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:433,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:435,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:437,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:438,1
    - Dst: cupsRasterErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:438,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:443,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:448,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 66
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 451
    functionName: do_ps_tests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 1
    functionsReached:
    - puts
    - printf
    - cupsRasterErrorString
    - fputs
    - print_changes
    - memset
    - fflush
    - memcmp
    - _cupsRasterExecPS
    linkageType: ''
    returnType: int
    signature: int do_ps_tests(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:470,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:472,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:472,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:476,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:478,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:479,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:483,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:485,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:488,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:490,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:493,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:496,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:501,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:503,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:505,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:508,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 512
    functionName: do_ras_file
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 1
    functionsReached:
    - printf
    - close
    - cupsRasterClose
    - cupsRasterReadHeader2
    - open
    - cupsRasterOpen
    - malloc
    - cupsRasterReadPixels
    - free
    - fflush
    - strerror
    - putchar
    linkageType: ''
    returnType: int
    signature: int do_ras_file(const char *filename)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:535,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:539,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:541,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:543,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:543,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:547,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:547,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:549,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:549,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:550,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:554,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:558,1
    - Dst: cupsRasterWriteHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:589,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:590,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:593,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:597,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:598,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:600,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:602,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:607,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:616,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:621,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:626,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:628,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:633,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:642,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:647,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:651,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:657,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:658,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:664,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:665,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:667,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:669,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:669,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:673,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:673,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:675,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:675,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:676,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:680,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:684,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:691,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:721,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:722,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:724,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:726,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:731,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:733,1
    - Dst: print_changes
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:735,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:738,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:739,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:743,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:745,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:750,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:752,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:762,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:764,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:775,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:785,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:787,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:792,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:794,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:804,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:806,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:817,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:824,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:830,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:831,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 203
    argCount: 1
    argNames:
    - mode
    argTypes:
    - cups_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 834
    functionName: do_raster_tests
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 1
    functionsReached:
    - puts
    - printf
    - cupsRasterReadPixels
    - fileno
    - cupsRasterWriteHeader2
    - fputs
    - cupsRasterWritePixels
    - cupsRasterOpen
    - strlcpy
    - cupsRasterReadHeader2
    - memset
    - memcmp
    - print_changes
    - fflush
    - fopen
    - strerror
    - cupsRasterClose
    - fclose
    linkageType: ''
    returnType: int
    signature: int do_raster_tests(cups_mode_t mode)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:849,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:850,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:853,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:854,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:857,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:858,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:861,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:862,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:866,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:870,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:874,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:878,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:882,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:887,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:891,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:893,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:904,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:908,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:912,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:917,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:922,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:926,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:930,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:934,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:938,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:942,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:946,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:950,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:955,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:960,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:964,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:968,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:972,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:976,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:980,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:984,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:988,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:992,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:996,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1000,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1004,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1008,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1012,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1016,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1020,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1025,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1031,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1039,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1047,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1052,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1056,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1057,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1060,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1061,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1064,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1065,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1069,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/testraster.c:1070,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 102
    argCount: 2
    argNames:
    - header
    - expected
    argTypes:
    - cups_page_header2_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 1073
    functionName: print_changes
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/testraster.c
    functionUses: 2
    functionsReached:
    - printf
    - memcmp
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void print_changes(\n    cups_page_header2_t *header,\t/* I - Actual
      page header */\n    cups_page_header2_t *expected)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_error_buffer
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:61,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:68,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:69,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:70,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:93,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:95,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - f
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 57
    functionDepth: 5
    functionLinenumber: 57
    functionLinenumberEnd: 115
    functionName: _cupsRasterAddError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 0
    functionsReached:
    - va_start
    - get_error_buffer
    - va_end
    - malloc
    - memcpy
    - vsnprintf
    - realloc
    linkageType: ''
    returnType: void
    signature: "void _cupsRasterAddError(const char *f,\t/* I - Printf-style error
      message */\n                    ...)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_error_buffer
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 133
    functionName: _cupsRasterClearError
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 0
    functionsReached:
    - get_error_buffer
    linkageType: ''
    returnType: void
    signature: void _cupsRasterClearError(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_error_buffer
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: cupsRasterErrorString
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 2
    functionsReached:
    - get_error_buffer
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Last error */\ncupsRasterErrorString(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:198,1
    - Dst: pthread_once
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:200,1
    - Dst: pthread_getspecific
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:206,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:209,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:215,1
    - Dst: pthread_setspecific
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:216,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 226
    functionName: get_error_buffer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 3
    functionsReached:
    - pthread_setspecific
    - DEBUG_printf
    - calloc
    - pthread_getspecific
    - DEBUG_puts
    - pthread_once
    linkageType: ''
    returnType: _cups_raster_error_t
    signature: "_cups_raster_error_t *\t\t\t/* O - Pointer to error buffer */\nget_error_buffer(void)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_key_create
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:236,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 240
    functionName: raster_init
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - pthread_key_create
    linkageType: ''
    returnType: void
    signature: void raster_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:254,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:257,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/error.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 260
    functionName: raster_destructor
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 0
    functionsReached:
    - DEBUG_printf
    - free
    linkageType: ''
    returnType: void
    signature: void raster_destructor(void *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 280
    functionName: get_error_buffer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/error.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: _cups_raster_error_t
    signature: "_cups_raster_error_t *\t\t\t/* O - Pointer to error buffer */\nget_error_buffer(void)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: _cupsRasterClearError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:173,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:177,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:185,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:203,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:228,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:234,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:236,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:237,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:240,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:242,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:243,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:246,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:248,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:249,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:252,1
    - Dst: _cupsRasterExecPS
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:254,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:255,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:263,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:266,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:276,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:287,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:331,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:347,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 152
    argCount: 5
    argNames:
    - h
    - ppd
    - num_options
    - options
    - func
    argTypes:
    - cups_page_header2_t*
    - ppd_file_t*
    - int
    - cups_option_t*
    - cups_interpret_cb_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 150
    functionDepth: 6
    functionLinenumber: 150
    functionLinenumberEnd: 460
    functionName: cupsRasterInterpretPPD
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - strlcpy
    - free
    - memset
    - _cupsRasterAddError
    - _cupsRasterClearError
    - cupsGetOption
    - atof
    - ppdPageSize
    - ppdEmitString
    - _cupsRasterExecPS
    linkageType: ''
    returnType: int
    signature: "int cupsRasterInterpretPPD(\n    cups_page_header2_t *h,\t\t/* O -
      Page header to create */\n    ppd_file_t          *ppd,\t\t/* I - PPD file */\n
      \   int                 num_options,\t/* I - Number of options */\n    cups_option_t
      \      *options,\t/* I - Options */\n    cups_interpret_cb_t func)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:480,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:487,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:489,1
    - Dst: new_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:493,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:495,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:496,1
    - Dst: scan_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:506,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:509,1
    - Dst: DEBUG_object
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:510,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:520,1
    - Dst: cleartomark_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:522,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:523,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:526,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:527,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:532,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:533,1
    - Dst: copy_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:535,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:538,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:539,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:545,1
    - Dst: copy_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:546,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:549,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:550,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:555,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:556,1
    - Dst: index_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:558,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:561,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:562,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:568,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:569,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:572,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:573,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:578,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:579,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:586,1
    - Dst: roll_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:588,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:591,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:592,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:599,1
    - Dst: setpagedevice
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:600,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:603,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:604,1
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:611,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:615,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:617,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:630,1
    - Dst: error_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:634,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:637,1
    - Dst: DEBUG_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:638,1
    - Dst: delete_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:641,1
    - Dst: delete_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:646,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - h
    - preferred_bits
    - code
    argTypes:
    - cups_page_header2_t*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 467
    functionDepth: 6
    functionLinenumber: 467
    functionLinenumberEnd: 653
    functionName: _cupsRasterExecPS
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - strdup
    - cleartomark_stack
    - copy_stack
    - DEBUG_stack
    - scan_ps
    - index_stack
    - setpagedevice
    - DEBUG_object
    - pop_stack
    - free
    - _cupsRasterAddError
    - DEBUG_puts
    - error_stack
    - delete_stack
    - new_stack
    - roll_stack
    linkageType: ''
    returnType: int
    signature: "int _cupsRasterExecPS(\n    cups_page_header2_t *h,\t\t/* O - Page
      header */\n    int                 *preferred_bits,/* O - Preferred bits per
      color */\n    const char          *code)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:666,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - _cups_ps_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 671
    functionName: cleartomark_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - pop_stack
    linkageType: ''
    returnType: int
    signature: int cleartomark_stack(_cups_ps_stack_t *st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: push_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:695,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - st
    - c
    argTypes:
    - _cups_ps_stack_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 703
    functionName: copy_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - push_stack
    linkageType: ''
    returnType: int
    signature: "int copy_stack(_cups_ps_stack_t *st,\t/* I - Stack */\n           int
      \             c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:713,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - _cups_ps_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 715
    functionName: delete_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void delete_stack(_cups_ps_stack_t *st)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:728,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:732,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:736,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:741,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:743,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:747,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:751,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:755,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:759,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:763,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:767,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:771,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:775,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:779,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:783,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:787,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:791,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:795,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:799,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:803,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:807,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 1
    argNames:
    - obj
    argTypes:
    - _cups_ps_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 722
    functionDepth: 6
    functionLinenumber: 722
    functionLinenumberEnd: 810
    functionName: error_object
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 0
    functionsReached:
    - _cupsRasterAddError
    linkageType: ''
    returnType: void
    signature: void error_object(_cups_ps_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:825,1
    - Dst: error_object
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:828,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - st
    - title
    argTypes:
    - _cups_ps_stack_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 817
    functionDepth: 7
    functionLinenumber: 817
    functionLinenumberEnd: 831
    functionName: error_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - error_object
    - _cupsRasterAddError
    linkageType: ''
    returnType: void
    signature: "void error_stack(_cups_ps_stack_t *st,\t/* I - Stack */\n            const
      char       *title)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - st
    - n
    argTypes:
    - _cups_ps_stack_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 846
    functionName: index_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - push_stack
    linkageType: ''
    returnType: _cups_ps_obj_t
    signature: "_cups_ps_obj_t *\t\t/* O - New object */\nindex_stack(_cups_ps_stack_t
      *st,\t/* I - Stack */\n            int              n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:859,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:864,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:866,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 871
    functionName: new_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - calloc
    - free
    linkageType: ''
    returnType: _cups_ps_stack_t
    signature: "_cups_ps_stack_t *\t\t/* O - New stack */\nnew_stack(void)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - _cups_ps_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 889
    functionName: pop_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: _cups_ps_obj_t
    signature: "_cups_ps_obj_t *\t\t/* O - Object */\npop_stack(_cups_ps_stack_t *st)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:909,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:914,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - st
    - obj
    argTypes:
    - _cups_ps_stack_t*
    - _cups_ps_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 923
    functionName: push_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 2
    functionsReached:
    - memset
    - realloc
    - memcpy
    linkageType: ''
    returnType: _cups_ps_obj_t
    signature: "_cups_ps_obj_t *\t\t/* O - New object */\npush_stack(_cups_ps_stack_t
      *st,\t/* I - Stack */\n           _cups_ps_obj_t   *obj)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:939,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:970,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:973,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:974,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:975,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:983,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:986,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:987,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:989,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - st
    - c
    - s
    argTypes:
    - _cups_ps_stack_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 995
    functionName: roll_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - memmove
    - free
    - memcpy
    - calloc
    linkageType: ''
    returnType: int
    signature: "int roll_stack(_cups_ps_stack_t *st,\t/* I - Stack */\n\t   int              c,\t\t/*
      I - Number of objects */\n           int              s)"
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1031,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1046,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1164,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1173,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1175,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1182,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1225,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1249,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1258,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1258,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1261,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1261,1
    - Dst: _cupsStrScand
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1267,1
    - Dst: localeconv
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1267,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1292,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1292,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1305,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1310,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1315,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1317,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1319,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1321,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1323,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1325,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1327,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1329,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1331,1
    - Dst: push_stack
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1343,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 213
    argCount: 2
    argNames:
    - st
    - ptr
    argTypes:
    - _cups_ps_stack_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1002
    functionDepth: 2
    functionLinenumber: 1002
    functionLinenumberEnd: 1344
    functionName: scan_ps
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - strtol
    - tolower
    - strcmp
    - push_stack
    - isspace
    - strchr
    - memset
    - _cupsStrScand
    - isxdigit
    - atoi
    - isdigit
    - localeconv
    linkageType: ''
    returnType: _cups_ps_obj_t
    signature: "_cups_ps_obj_t *\t\t/* O  - New object or NULL on EOF */\nscan_ps(_cups_ps_stack_t
      *st,\t\t/* I  - Stack */\n        char             **ptr)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1398,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1413,1
    - Dst: DEBUG_object
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1414,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1421,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1422,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1423,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1424,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1425,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1426,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1427,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1428,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1429,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1431,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1433,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1435,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1437,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1439,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1451,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1453,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1455,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1457,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1459,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1460,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1472,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1474,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1476,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1478,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1480,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1482,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1484,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1500,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1502,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1504,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1506,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1508,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1510,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1513,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1515,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1517,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1519,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1521,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1523,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1525,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1528,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1530,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1535,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1537,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1542,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1544,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1547,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1549,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1550,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1551,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1552,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1554,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1556,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1564,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 135
    argCount: 3
    argNames:
    - st
    - h
    - preferred_bits
    argTypes:
    - _cups_ps_stack_t*
    - cups_page_header2_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1572
    functionName: setpagedevice
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strcmp
    - DEBUG_object
    - strlcpy
    - strncmp
    - DEBUG_puts
    - atoi
    linkageType: ''
    returnType: int
    signature: "int setpagedevice(\n    _cups_ps_stack_t    *st,\t\t/* I - Stack */\n
      \   cups_page_header2_t *h,\t\t/* O - Page header */\n    int                 *preferred_bits)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1586,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1590,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1594,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1599,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1601,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1605,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1609,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1613,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1617,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1621,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1625,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1629,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1633,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1637,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1641,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1645,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1649,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1653,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1657,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1661,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1665,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 65
    argCount: 1
    argNames:
    - obj
    argTypes:
    - _cups_ps_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1668
    functionName: DEBUG_object
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 2
    functionsReached:
    - DEBUG_puts
    - DEBUG_printf
    linkageType: ''
    returnType: void
    signature: void DEBUG_object(_cups_ps_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_object
      Src: /src/libspectre/ghostscript/cups/libs/filter/interpret.c:1683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - _cups_ps_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1684
    functionName: DEBUG_stack
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/interpret.c
    functionUses: 1
    functionsReached:
    - DEBUG_object
    linkageType: ''
    returnType: void
    signature: void DEBUG_stack(_cups_ps_stack_t *st)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cupsLangPrintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:73,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:74,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:83,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:83,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:85,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:95,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:97,1
    - Dst: cupsFileStdin
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:102,1
    - Dst: cupsFileGetConf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:110,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:116,1
    - Dst: auto_configure
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:117,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:118,1
    - Dst: print_self_test_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:119,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:120,1
    - Dst: report_levels
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:121,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:124,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:125,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 50
    functionDepth: 8
    functionLinenumber: 50
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 2
    functionsReached:
    - _cupsLangPrintf
    - print_self_test_page
    - cupsFileStdin
    - auto_configure
    - cupsFileGetConf
    - _
    - fputs
    - report_levels
    - _cupsLangPrintFilter
    - cupsFileOpen
    - _cups_strcasecmp
    - getenv
    - ppdOpenFile
    - perror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cupsSideChannelDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:158,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:162,1
    - Dst: begin_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:171,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:181,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:191,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:199,1
    - Dst: cupsSideChannelDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:202,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:210,1
    - Dst: ppdFirstOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:212,1
    - Dst: ppdNextOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:212,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:218,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:220,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:230,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:241,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:276,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:287,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:290,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:292,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:296,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:297,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:299,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:301,1
    - Dst: cupsSideChannelDoRequest
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:304,1
    - Dst: cupsBackChannelRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:312,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:334,1
    - Dst: iscntrl
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:334,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:339,1
    - Dst: iscntrl
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:339,1
    - Dst: _cups_strcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:344,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:348,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:361,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:368,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:376,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:378,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:390,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:400,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:411,1
    - Dst: end_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:412,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:419,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:420,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 115
    argCount: 2
    argNames:
    - ppd
    - user
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 423
    functionName: auto_configure
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 1
    functionsReached:
    - ppdFindChoice
    - fputs
    - fprintf
    - snprintf
    - ppdFindAttr
    - begin_ps
    - ppdFirstOption
    - strcasecmp
    - _cupsLangPrintFilter
    - end_ps
    - putchar
    - printf
    - _
    - _cups_strcpy
    - ppdNextOption
    - isspace
    - iscntrl
    - fflush
    - puts
    - cupsSideChannelDoRequest
    - strchr
    - sleep
    - cupsBackChannelRead
    linkageType: ''
    returnType: int
    signature: "int auto_configure(ppd_file_t *ppd,\t\t/* I - PPD file */\n               const
      char *user)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:438,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:439,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:442,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:443,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ppd
    - user
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 446
    functionName: begin_ps
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 1
    functionsReached:
    - puts
    - fflush
    - fputs
    linkageType: ''
    returnType: void
    signature: "void begin_ps(ppd_file_t *ppd,\t\t/* I - PPD file */\n         const
      char *user)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:457,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:459,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: end_ps
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 1
    functionsReached:
    - fflush
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: void end_ps(ppd_file_t *ppd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:477,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:484,1
    - Dst: end_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ppd
    - user
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 506
    functionName: print_self_test_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 1
    functionsReached:
    - end_ps
    - begin_ps
    - puts
    linkageType: ''
    returnType: void
    signature: "void print_self_test_page(ppd_file_t *ppd,\t/* I - PPD file */\n                     const
      char *user)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: begin_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:521,1
    - Dst: end_ps
      Src: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppd
    - user
    argTypes:
    - ppd_file_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 533
    functionName: report_levels
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/commandtops.c
    functionUses: 1
    functionsReached:
    - end_ps
    - begin_ps
    linkageType: ''
    returnType: void
    signature: "void report_levels(ppd_file_t *ppd,\t\t/* I - PPD file */\n              const
      char *user)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:69,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:72,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:72,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:74,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:75,1
    - Dst: ppdPageSize
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:86,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:96,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:98,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:98,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:99,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:107,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:118,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:123,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:128,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:131,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:134,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:137,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:142,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:147,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:150,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:153,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:156,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:161,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:166,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:169,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:172,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:175,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:180,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:185,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:188,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:191,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:194,1
    - Dst: UpdatePageVars
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:200,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:202,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:203,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:204,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:205,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:206,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:207,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:208,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:209,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 99
    argCount: 3
    argNames:
    - num_options
    - options
    - change_size
    argTypes:
    - int
    - cups_option_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 57
    functionDepth: 8
    functionLinenumber: 57
    functionLinenumberEnd: 213
    functionName: SetCommonOptions
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 0
    functionsReached:
    - setlocale
    - ppdIsMarked
    - UpdatePageVars
    - ppdMarkDefaults
    - cupsGetOption
    - ppdPageSize
    - fprintf
    - cupsMarkOptions
    - _cups_strcasecmp
    - atof
    - getenv
    - atoi
    - ppdOpenFile
    linkageType: ''
    returnType: ppd_file_t
    signature: "ppd_file_t *\t\t\t\t/* O - PPD file */\nSetCommonOptions(\n    int
      \          num_options,\t\t/* I - Number of options */\n    cups_option_t *options,\t\t/*
      I - Options */\n    int           change_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 277
    functionName: UpdatePageVars
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void UpdatePageVars(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:287,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:291,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 299
    functionName: WriteCommon
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 0
    functionsReached:
    - puts
    linkageType: ''
    returnType: void
    signature: void WriteCommon(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:321,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:323,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:333,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:341,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:342,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:343,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:344,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:345,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:346,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:347,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:348,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:349,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:350,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:351,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:354,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:358,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:360,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:364,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:366,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:373,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:381,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:385,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:387,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:391,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:397,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:403,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:404,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:405,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:407,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:408,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:409,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:410,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:411,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:412,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:413,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:414,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:415,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:416,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 4
    argNames:
    - label
    - bottom
    - top
    - width
    argTypes:
    - char*
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 417
    functionName: WriteLabelProlog
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 0
    functionsReached:
    - puts
    - strcmp
    - printf
    - getenv
    - putchar
    linkageType: ''
    returnType: void
    signature: "void WriteLabelProlog(const char *label,\t/* I - Page label */\n\t\t
      float      bottom,\t/* I - Bottom position in points */\n\t\t float      top,\t/*
      I - Top position in points */\n\t\t float      width)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:431,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:447,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:450,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:453,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:457,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:458,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - orient
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 459
    functionName: WriteLabels
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 0
    functionsReached:
    - printf
    - puts
    linkageType: ''
    returnType: void
    signature: void WriteLabels(int orient)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:483,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:484,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:497,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:509,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:510,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:522,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/common.c:529,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 530
    functionName: WriteTextComment
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/common.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - putchar
    - puts
    linkageType: ''
    returnType: void
    signature: "void WriteTextComment(const char *name,\t/* I - Comment name (\"Title\",
      etc.) */\n                 const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:83,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: Setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void Setup(void)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:104,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:105,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:110,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:111,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:113,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:119,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:120,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:125,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:128,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:129,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:130,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:134,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:135,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:136,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:137,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:138,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:141,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:142,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:144,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:145,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:155,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:164,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:167,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:176,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:177,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:182,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:186,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:190,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:194,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:198,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:202,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:206,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:210,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:214,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:218,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:222,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:226,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:230,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:232,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:241,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:245,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:252,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:253,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:257,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:278,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:280,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:281,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:288,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:289,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:290,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:292,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:293,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:294,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:295,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:296,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:297,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:299,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:300,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:301,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:302,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:303,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:304,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:306,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:307,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:308,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:309,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:310,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:311,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:313,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:314,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:315,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:316,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:317,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:318,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:320,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:324,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:330,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:335,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:344,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:345,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:347,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:350,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:353,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:356,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:359,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:368,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:370,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:371,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:378,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:383,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 171
    argCount: 2
    argNames:
    - ppd
    - header
    argTypes:
    - ppd_file_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 386
    functionName: StartPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - printf
    - fputs
    - malloc
    - fprintf
    - exit
    - putchar
    linkageType: ''
    returnType: void
    signature: "void StartPage(ppd_file_t         *ppd,\t/* I - PPD file */\n          cups_page_header2_t
      *header)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:402,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:405,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:409,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:412,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:415,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:421,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:424,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 428
    functionName: EndPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - printf
    - free
    - fflush
    linkageType: ''
    returnType: void
    signature: void EndPage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:442,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: Shutdown
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: void Shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 457
    functionName: CancelJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelJob(int sig)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:572,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:586,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:587,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 4
    argNames:
    - line
    - length
    - plane
    - type
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 588
    functionName: CompressData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - printf
    - memcpy
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void CompressData(unsigned char *line,\t/* I - Data to compress */\n
      \            int           length,\t/* I - Number of bytes */\n\t     int           plane,\t/*
      I - Color plane */\n\t     int           type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:614,1
    - Dst: CompressData
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:631,1
    - Dst: CompressData
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:666,1
    - Dst: CompressData
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:667,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:671,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - header
    argTypes:
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 672
    functionName: OutputLine
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 0
    functionsReached:
    - printf
    - CompressData
    - fflush
    linkageType: ''
    returnType: void
    signature: void OutputLine(cups_page_header2_t *header)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:697,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:710,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:711,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:722,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:724,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:724,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:725,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:732,1
    - Dst: sigset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:742,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:744,1
    - Dst: sigemptyset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:746,1
    - Dst: sigaction
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:748,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:750,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:757,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:757,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:763,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:764,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:766,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:768,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:768,1
    - Dst: Setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:773,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:781,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:792,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:793,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:793,1
    - Dst: StartPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:799,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:816,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:817,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:819,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:827,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:835,1
    - Dst: OutputLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:836,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:845,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:845,1
    - Dst: EndPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:847,1
    - Dst: Shutdown
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:857,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:860,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:866,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:868,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:876,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c:876,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 679
    functionDepth: 8
    functionLinenumber: 679
    functionLinenumberEnd: 881
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertohp.c
    functionUses: 2
    functionsReached:
    - Shutdown
    - open
    - cupsRasterOpen
    - fprintf
    - memcmp
    - OutputLine
    - signal
    - cupsRasterReadHeader2
    - memset
    - _cupsLangPrintFilter
    - getenv
    - ppdLastError
    - cupsRasterClose
    - ppdErrorString
    - _cupsLangPrintError
    - _
    - ppdClose
    - sigset
    - ppdOpenFile
    - Setup
    - sigemptyset
    - EndPage
    - close
    - sigaction
    - StartPage
    - cupsRasterReadPixels
    - setbuf
    - sleep
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:67,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:72,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:74,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:81,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:82,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:84,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:84,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:85,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:87,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:89,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:90,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:94,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:102,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:147,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:148,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:155,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:156,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:164,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:165,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:170,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:178,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:181,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:182,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:184,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:185,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:186,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:187,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:188,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:189,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:190,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:191,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:195,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:200,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:202,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:208,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:213,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:216,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:217,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:219,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:220,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:222,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:223,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:225,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:226,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:228,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:229,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:231,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:232,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:236,1
    - Dst: _ppdCacheGetSize
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:243,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:245,1
    - Dst: _pwgMediaForSize
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:250,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:256,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:260,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:267,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:269,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:301,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:333,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:371,1
    - Dst: cupsRasterWriteHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:401,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:403,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:404,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:412,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:414,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:416,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:418,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:418,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:419,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:426,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:427,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:429,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:429,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:430,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:436,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:438,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:440,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:440,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:441,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:446,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:449,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:451,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c:453,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 230
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 35
    functionDepth: 8
    functionLinenumber: 35
    functionLinenumberEnd: 456
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertopwg.c
    functionUses: 2
    functionsReached:
    - open
    - cupsRasterOpen
    - cupsGetOption
    - fprintf
    - ppdFindAttr
    - _ppdCacheGetSize
    - _pwgMediaForSize
    - cupsRasterWriteHeader2
    - cupsRasterReadHeader2
    - strlcpy
    - memset
    - _cupsLangPrintFilter
    - getenv
    - _cups_strcasecmp
    - cupsRasterClose
    - strcmp
    - _
    - cupsRasterWritePixels
    - malloc
    - free
    - cupsMarkOptions
    - ppdOpenFile
    - cupsParseOptions
    - puts
    - close
    - cupsRasterReadPixels
    - ppdMarkDefaults
    - memcpy
    - atoi
    - perror
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: pwrite
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pwrite(s,n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:113,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:114,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: Setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - getenv
    - strncmp
    - pwrite
    linkageType: ''
    returnType: void
    signature: void Setup(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:136,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:137,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:139,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:149,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:153,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:154,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:158,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:159,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:162,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:164,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:166,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:167,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:178,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:185,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:193,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:195,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:205,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:213,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:214,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:218,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:219,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:220,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:221,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:222,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:223,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:228,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:229,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:230,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:238,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:239,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:240,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:241,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:242,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:246,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:247,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:250,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:277,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:279,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:280,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:288,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:290,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:291,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:299,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:302,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:303,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 106
    argCount: 2
    argNames:
    - ppd
    - header
    argTypes:
    - ppd_file_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 312
    functionName: StartPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - pwrite
    - printf
    - strstr
    - fputs
    - malloc
    - calloc
    - exit
    - putchar
    linkageType: ''
    returnType: void
    signature: "void StartPage(\n    const ppd_file_t         *ppd,\t/* I - PPD file
      */\n    const cups_page_header2_t *header)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:332,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:336,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:337,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:341,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:342,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:350,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:351,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:357,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:360,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:363,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - header
    argTypes:
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 364
    functionName: EndPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - OutputRows
    - free
    - putchar
    - fflush
    linkageType: ''
    returnType: void
    signature: "void EndPage(\n    const cups_page_header2_t *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: Shutdown
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void Shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 392
    functionName: CancelJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelJob(int sig)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:535,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:545,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:560,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:563,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:566,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:574,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:575,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:576,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:577,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:578,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:579,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:580,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:588,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:589,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:590,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:591,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:592,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:593,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:594,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:595,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:598,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:599,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 6
    argNames:
    - line
    - length
    - plane
    - type
    - xstep
    - ystep
    argTypes:
    - unsigned char*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 600
    functionName: CompressData
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - pwrite
    - printf
    - memcpy
    - fflush
    - putchar
    linkageType: ''
    returnType: void
    signature: "void CompressData(const unsigned char *line,\t/* I - Data to compress
      */\n             int                 length,/* I - Number of bytes */\n\t     int
      \                plane,\t/* I - Color plane */\n\t     int                 type,\t/*
      I - Type of compression */\n\t     int                 xstep,\t/* I - X resolution
      */\n\t     int                 ystep)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:699,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:705,1
    - Dst: OutputRows
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:715,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:722,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:747,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:756,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:757,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:758,1
    - Dst: CompressData
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:763,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 1
    argNames:
    - header
    argTypes:
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 769
    functionName: OutputLine
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 1
    functionsReached:
    - pwrite
    - CompressData
    - memset
    - memcmp
    - OutputRows
    - putchar
    linkageType: ''
    returnType: void
    signature: "void OutputLine(\n    const cups_page_header2_t *header)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:791,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:803,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:815,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:824,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:827,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:828,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:829,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:830,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:837,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:841,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:844,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:847,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:850,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:856,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:858,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:863,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:865,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:871,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:872,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:887,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:888,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:896,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:899,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:900,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:901,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:902,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:906,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:908,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:911,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:912,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:916,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:917,1
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:921,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:928,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:933,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:935,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:938,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:944,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 82
    argCount: 2
    argNames:
    - header
    - row
    argTypes:
    - cups_page_header2_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 945
    functionName: OutputRows
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 2
    functionsReached:
    - pwrite
    - printf
    - memset
    - fflush
    - memcmp
    - putchar
    linkageType: ''
    returnType: void
    signature: "void OutputRows(\n    const cups_page_header2_t *header,\t/* I - Page
      image header */\n    int                      row)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:971,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:984,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:985,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:996,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:998,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:998,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:999,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1006,1
    - Dst: sigset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1016,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1018,1
    - Dst: sigemptyset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1020,1
    - Dst: sigaction
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1022,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1024,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1031,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1031,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1037,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1038,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1040,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1042,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1042,1
    - Dst: Setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1049,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1057,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1068,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1069,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1069,1
    - Dst: StartPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1075,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1092,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1093,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1095,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1103,1
    - Dst: OutputLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1110,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1117,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1117,1
    - Dst: EndPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1119,1
    - Dst: Shutdown
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1129,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1131,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1137,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1139,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1147,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c:1147,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 952
    functionDepth: 8
    functionLinenumber: 952
    functionLinenumberEnd: 1152
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertoepson.c
    functionUses: 2
    functionsReached:
    - Shutdown
    - open
    - cupsRasterOpen
    - fprintf
    - OutputLine
    - signal
    - cupsRasterReadHeader2
    - memset
    - _cupsLangPrintFilter
    - getenv
    - ppdLastError
    - cupsRasterClose
    - ppdErrorString
    - _cupsLangPrintError
    - _
    - ppdClose
    - sigset
    - ppdOpenFile
    - Setup
    - sigemptyset
    - EndPage
    - close
    - sigaction
    - StartPage
    - cupsRasterReadPixels
    - setbuf
    - sleep
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: is_first_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_first_page(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: is_last_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_last_page(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: is_not_last_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_not_last_page(p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:249,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:255,1
    - Dst: _cupsLangPrintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:263,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:264,1
    - Dst: sigset
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:274,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:276,1
    - Dst: sigemptyset
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:278,1
    - Dst: sigaction
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:280,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:282,1
    - Dst: cupsFileStdin
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:291,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:298,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:300,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:300,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:309,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:311,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:320,1
    - Dst: SetCommonOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:321,1
    - Dst: set_pstops_options
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:323,1
    - Dst: ppdEmit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:329,1
    - Dst: ppdEmitJCL
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:336,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:342,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:348,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:348,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:355,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:357,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:357,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:358,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:361,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:364,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:373,1
    - Dst: copy_dsc
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:379,1
    - Dst: copy_non_dsc
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:388,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:396,1
    - Dst: ppdEmitJCLEnd
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:405,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:407,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:416,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:417,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:420,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:421,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:423,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 229
    functionDepth: 9
    functionLinenumber: 229
    functionLinenumberEnd: 426
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - cupsFileStdin
    - ppdEmitJCLEnd
    - strstr
    - cupsFileGetLine
    - SetCommonOptions
    - fputs
    - ppdEmitJCL
    - copy_non_dsc
    - signal
    - memset
    - putchar
    - cupsFileClose
    - _cupsLangPrintf
    - cupsFreeOptions
    - _cupsLangPrintError
    - _
    - unlink
    - ppdEmit
    - ppdClose
    - copy_dsc
    - sigset
    - set_pstops_options
    - cupsParseOptions
    - puts
    - sigemptyset
    - sigaction
    - setbuf
    - strncmp
    - cupsFileOpen
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cupsArrayNew
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:441,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:445,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:445,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:446,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:449,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:451,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:451,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:452,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:455,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:456,1
    - Dst: cupsArrayAdd
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - doc
    - label
    argTypes:
    - pstops_doc_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 463
    functionName: add_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached:
    - strdup
    - cupsArrayNew
    - _cupsLangPrintError
    - _
    - cupsFileTell
    - cupsArrayAdd
    - calloc
    - exit
    linkageType: ''
    returnType: pstops_page_t
    signature: "pstops_page_t *\t\t\t/* O - New page info object */\nadd_page(pstops_doc_t
      *doc,\t\t/* I - Document information */\n         const char   *label)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: cancel_job
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancel_job(int sig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:498,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:501,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:514,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:518,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:523,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:526,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 2
    argNames:
    - doc
    - page
    argTypes:
    - pstops_doc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 542
    functionName: check_range
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached:
    - _cups_strcasecmp
    - strtol
    - isdigit
    linkageType: ''
    returnType: int
    signature: "int check_range(pstops_doc_t *doc,\t\t/* I - Document information
      */\n            int          page)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileSeek
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:561,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:563,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:563,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:574,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - fp
    - offset
    - length
    argTypes:
    - cups_file_t*
    - off_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 581
    functionName: copy_bytes
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached:
    - cupsFileRead
    - _cupsLangPrintError
    - _
    - cupsFileSeek
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void copy_bytes(cups_file_t *fp,\t\t/* I - File to read from */\n
      \          off_t       offset,\t\t/* I - Offset to page data */\n           size_t
      \     length)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:624,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:634,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:640,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:645,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:649,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:658,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:659,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:662,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:663,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:666,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:667,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:670,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:671,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:674,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:675,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:678,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:679,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:682,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:683,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:684,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:685,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:686,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:689,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:692,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:693,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:699,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:703,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:713,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:716,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:718,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:721,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:723,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:729,1
    - Dst: UpdatePageVars
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:738,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:742,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:744,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:747,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:747,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:748,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:750,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:755,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:759,1
    - Dst: WriteTextComment
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:762,1
    - Dst: WriteTextComment
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:765,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:774,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:782,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:791,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:797,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:800,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:801,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:802,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 97
    argCount: 6
    argNames:
    - fp
    - doc
    - ppd
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 591
    functionDepth: 6
    functionLinenumber: 591
    functionLinenumberEnd: 805
    functionName: copy_comments
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 0
    functionsReached:
    - sscanf
    - cupsAddOption
    - strstr
    - strcmp
    - WriteTextComment
    - cupsFileGetLine
    - fputs
    - isspace
    - doc_puts
    - strncmp
    - fprintf
    - cupsGetOption
    - UpdatePageVars
    - atoi
    - doc_printf
    - ppdMarkOption
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t copy_comments(cups_file_t  *fp,\t\t/* I - File to read from
      */\n              pstops_doc_t *doc,\t/* I - Document info */\n\t      ppd_file_t
      \  *ppd,\t/* I - PPD file */\n              char         *line,\t/* I - Line
      buffer */\n\t      ssize_t      linelen,\t/* I - Length of initial line */\n\t
      \     size_t       linesize)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:830,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:840,1
    - Dst: copy_comments
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:841,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:847,1
    - Dst: copy_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:848,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:854,1
    - Dst: copy_setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:855,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:861,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:861,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:863,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:865,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:875,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:876,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:883,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:885,1
    - Dst: copy_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:886,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:890,1
    - Dst: skip_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:891,1
    - Dst: is_not_last_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:899,1
    - Dst: cupsArrayLast
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:899,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:900,1
    - Dst: cupsArrayLast
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:902,1
    - Dst: start_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:904,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:905,1
    - Dst: end_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:906,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:908,1
    - Dst: add_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:917,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:922,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:925,1
    - Dst: start_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:928,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:929,1
    - Dst: end_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:930,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:932,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:941,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:950,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:952,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:979,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:980,1
    - Dst: cupsArrayCount
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:980,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:982,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:985,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:988,1
    - Dst: ppdEmitJCLEnd
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:994,1
    - Dst: ppdEmitJCL
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:995,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:997,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1008,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1009,1
    - Dst: cupsArrayLast
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1016,1
    - Dst: cupsArrayFirst
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1017,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1027,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1032,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1033,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1038,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1039,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1044,1
    - Dst: cupsArrayPrev
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1046,1
    - Dst: cupsArrayNext
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1047,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1057,1
    - Dst: copy_trailer
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1064,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 98
    argCount: 6
    argNames:
    - fp
    - doc
    - ppd
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 814
    functionDepth: 7
    functionLinenumber: 814
    functionLinenumberEnd: 1065
    functionName: copy_dsc
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - add_page
    - ppdEmitJCLEnd
    - strstr
    - copy_comments
    - cupsFileGetLine
    - check_range
    - ppdEmitJCL
    - doc_puts
    - fprintf
    - is_not_last_page
    - skip_page
    - doc_write
    - cupsFileTell
    - cupsArrayPrev
    - cupsFileClose
    - copy_prolog
    - printf
    - cupsArrayCount
    - start_nup
    - cupsArrayNext
    - puts
    - copy_page
    - copy_trailer
    - strncmp
    - end_nup
    - copy_bytes
    - cupsArrayLast
    - cupsFileOpen
    - copy_setup
    - cupsArrayFirst
    linkageType: ''
    returnType: void
    signature: "void copy_dsc(cups_file_t  *fp,\t\t/* I - File to read from */\n         pstops_doc_t
      *doc,\t\t/* I - Document info */\n         ppd_file_t   *ppd,\t\t/* I - PPD
      file */\n\t char         *line,\t\t/* I - Line buffer */\n\t ssize_t      linelen,\t\t/*
      I - Length of initial line */\n\t size_t       linesize)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1092,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1099,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1103,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1105,1
    - Dst: WriteTextComment
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1107,1
    - Dst: WriteTextComment
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1108,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1117,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1125,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1134,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1140,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1143,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1149,1
    - Dst: do_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1151,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1153,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1159,1
    - Dst: do_setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1161,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1163,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1170,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1172,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1173,1
    - Dst: ppdEmit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1174,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1175,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1176,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1178,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1181,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1183,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1185,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1188,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1191,1
    - Dst: WriteLabels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1195,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1196,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1205,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1207,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1219,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1221,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1222,1
    - Dst: ppdEmit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1223,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1224,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1225,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1227,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1229,1
    - Dst: WriteLabels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1233,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1234,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1244,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 6
    argNames:
    - fp
    - doc
    - ppd
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1245
    functionName: copy_non_dsc
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - do_setup
    - WriteLabels
    - puts
    - printf
    - cupsFileRead
    - WriteTextComment
    - do_prolog
    - fputs
    - cupsFileWrite
    - fprintf
    - ppdEmit
    - cupsFileOpen
    - fwrite
    - copy_bytes
    - cupsFileClose
    linkageType: ''
    returnType: void
    signature: "void copy_non_dsc(cups_file_t  *fp,\t\t/* I - File to read from */\n
      \            pstops_doc_t *doc,\t\t/* I - Document info */\n             ppd_file_t
      \  *ppd,\t\t/* I - PPD file */\n\t     char         *line,\t/* I - Line buffer
      */\n\t     ssize_t      linelen,\t/* I - Length of initial line */\n\t     size_t
      \      linesize)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: is_first_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1277,1
    - Dst: parse_text
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1279,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1281,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1285,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1285,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1287,1
    - Dst: add_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1296,1
    - Dst: cupsArrayLast
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1298,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1313,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1316,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1321,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1324,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1327,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1330,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1340,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1343,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1348,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1351,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1354,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1357,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1368,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1370,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1372,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1378,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1382,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1383,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1391,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1393,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1394,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1397,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1424,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1430,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1431,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1432,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1433,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1434,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1435,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1442,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1448,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1454,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1460,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1466,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1472,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1478,1
    - Dst: include_feature
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1485,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1489,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1504,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1524,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1529,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1530,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1535,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1536,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1547,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1553,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1555,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1557,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1564,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1571,1
    - Dst: include_feature
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1573,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1578,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1585,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1592,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1593,1
    - Dst: write_options
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1602,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1608,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1612,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1613,1
    - Dst: start_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1621,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1624,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1635,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1636,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1637,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1639,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1640,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1642,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1646,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1647,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1649,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1653,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1654,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1655,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1655,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1664,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1666,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1666,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1671,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1673,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1678,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1682,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1688,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1690,1
    - Dst: end_nup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1696,1
    - Dst: cupsFileTell
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1698,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 178
    argCount: 7
    argNames:
    - fp
    - doc
    - ppd
    - number
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - int
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1255
    functionDepth: 6
    functionLinenumber: 1255
    functionLinenumberEnd: 1701
    functionName: copy_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - add_page
    - sscanf
    - strstr
    - write_options
    - cupsFileGetLine
    - fputs
    - doc_puts
    - fprintf
    - doc_write
    - parse_text
    - is_first_page
    - strtol
    - cupsFileRead
    - cupsFileTell
    - ppdEmitString
    - include_feature
    - printf
    - isspace
    - free
    - start_nup
    - cupsAddOption
    - strchr
    - strncmp
    - memcpy
    - end_nup
    - cupsArrayLast
    - atoi
    - perror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t copy_page(cups_file_t  *fp,\t\t/* I - File to read from */\n
      \         pstops_doc_t *doc,\t\t/* I - Document info */\n          ppd_file_t
      \  *ppd,\t\t/* I - PPD file */\n\t  int          number,\t\t/* I - Current page
      number */\n\t  char         *line,\t\t/* I - Line buffer */\n\t  ssize_t      linelen,\t\t/*
      I - Length of initial line */\n\t  size_t       linesize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1719,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1721,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1721,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1724,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1726,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1730,1
    - Dst: do_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1732,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1734,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1736,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1738,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1739,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1740,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1743,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1746,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1747,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1749,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1752,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 6
    argNames:
    - fp
    - doc
    - ppd
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1711
    functionDepth: 2
    functionLinenumber: 1711
    functionLinenumberEnd: 1755
    functionName: copy_prolog
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - cupsFileGetLine
    - do_prolog
    - fputs
    - doc_puts
    - strncmp
    - doc_write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t copy_prolog(cups_file_t  *fp,\t\t/* I - File to read from
      */\n            pstops_doc_t *doc,\t\t/* I - Document info */\n            ppd_file_t
      \  *ppd,\t\t/* I - PPD file */\n\t    char         *line,\t\t/* I - Line buffer
      */\n\t    ssize_t      linelen,\t/* I - Length of initial line */\n\t    size_t
      \      linesize)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1777,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1779,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1782,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1784,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1788,1
    - Dst: do_setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1790,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1795,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1797,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1799,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1801,1
    - Dst: include_feature
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1808,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1810,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1811,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1813,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1817,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1818,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1820,1
    - Dst: write_options
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1825,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1826,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1829,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 35
    argCount: 6
    argNames:
    - fp
    - doc
    - ppd
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1765
    functionDepth: 3
    functionLinenumber: 1765
    functionLinenumberEnd: 1832
    functionName: copy_setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - do_setup
    - include_feature
    - write_options
    - cupsFileGetLine
    - fputs
    - doc_puts
    - strncmp
    - doc_write
    - cupsFreeOptions
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t copy_setup(cups_file_t  *fp,\t\t/* I - File to read from */\n
      \          pstops_doc_t *doc,\t\t/* I - Document info */\n           ppd_file_t
      \  *ppd,\t\t/* I - PPD file */\n\t   char         *line,\t\t/* I - Line buffer
      */\n\t   ssize_t      linelen,\t/* I - Length of initial line */\n\t   size_t
      \      linesize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1855,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1859,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1861,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1862,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1863,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1864,1
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1866,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1869,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1871,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1873,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1876,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 7
    argNames:
    - fp
    - doc
    - ppd
    - number
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - pstops_doc_t*
    - ppd_file_t*
    - int
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1842
    functionDepth: 2
    functionLinenumber: 1842
    functionLinenumberEnd: 1881
    functionName: copy_trailer
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - puts
    - printf
    - cupsFileGetLine
    - strncmp
    - fprintf
    - fwrite
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t copy_trailer(cups_file_t  *fp,\t\t/* I - File to read from
      */\n             pstops_doc_t *doc,\t\t/* I - Document info */\n             ppd_file_t
      \  *ppd,\t\t/* I - PPD file */\n\t     int          number,\t/* I - Number of
      pages */\n\t     char         *line,\t/* I - Line buffer */\n\t     ssize_t
      \     linelen,\t/* I - Length of initial line */\n\t     size_t       linesize)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1901,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1902,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1903,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1906,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1908,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1909,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1918,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - doc
    - ppd
    argTypes:
    - pstops_doc_t*
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1888
    functionDepth: 4
    functionLinenumber: 1888
    functionLinenumberEnd: 1920
    functionName: do_prolog
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - doc_puts
    - free
    - ppdEmitString
    linkageType: ''
    returnType: void
    signature: "void do_prolog(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \         ppd_file_t   *ppd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1939,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1940,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1946,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1952,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1954,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1955,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1958,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1960,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1961,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1970,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1971,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1976,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1985,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1986,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1993,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:1999,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2005,1
    - Dst: write_label_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2023,1
    - Dst: write_label_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2026,1
    - Dst: write_label_prolog
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2030,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - doc
    - ppd
    argTypes:
    - pstops_doc_t*
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 1927
    functionDepth: 4
    functionLinenumber: 1927
    functionLinenumberEnd: 2031
    functionName: do_setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - doc_puts
    - write_label_prolog
    - free
    - cupsMarkOptions
    - doc_printf
    - ppdEmitString
    linkageType: ''
    returnType: void
    signature: "void do_setup(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \        ppd_file_t   *ppd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2051,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2052,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2053,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2057,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2058,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2059,1
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - doc
    - format
    argTypes:
    - pstops_doc_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2063
      start: 2041
    functionDepth: 3
    functionLinenumber: 2041
    functionLinenumberEnd: 2063
    functionName: doc_printf
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - va_start
    - va_end
    - _
    - _cupsLangPrintFilter
    - doc_write
    - vsnprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void doc_printf(pstops_doc_t *doc,\t\t/* I - Document information
      */\n           const char   *format,\t/* I - Printf-style format string */\n\t
      \  ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: doc_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2077,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - doc
    - s
    argTypes:
    - pstops_doc_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2078
    functionName: doc_puts
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 7
    functionsReached:
    - strlen
    - doc_write
    linkageType: ''
    returnType: void
    signature: "void doc_puts(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \        const char   *s)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2091,1
    - Dst: cupsFileWrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - doc
    - s
    - len
    argTypes:
    - pstops_doc_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2095
    functionName: doc_write
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 6
    functionsReached:
    - cupsFileWrite
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void doc_write(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \         const char   *s,\t\t/* I - Data to send */\n\t  size_t       len)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2107,1
    - Dst: write_labels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2114,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2115,1
    - Dst: is_last_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2121,1
    - Dst: write_labels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2129,1
    - Dst: write_labels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2137,1
    - Dst: write_labels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2145,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2148,1
    - Dst: is_last_page
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2153,1
    - Dst: write_labels
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2155,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2156,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2161,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - doc
    - number
    argTypes:
    - pstops_doc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2102
    functionDepth: 2
    functionLinenumber: 2102
    functionLinenumberEnd: 2162
    functionName: end_nup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - doc_puts
    - write_labels
    - fflush
    - is_last_page
    linkageType: ''
    returnType: void
    signature: "void end_nup(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \       int          number)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2185,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2187,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2195,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2197,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2197,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2205,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2206,1
    - Dst: ppdFindChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2211,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2213,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2214,1
    - Dst: cupsAddOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ppd
    - line
    - num_options
    - options
    argTypes:
    - ppd_file_t*
    - char*
    - int
    - cups_option_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2224
      start: 2169
    functionDepth: 6
    functionLinenumber: 2169
    functionLinenumberEnd: 2224
    functionName: include_feature
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - sscanf
    - cupsAddOption
    - ppdFindChoice
    - _
    - fputs
    - ppdFindOption
    - _cupsLangPrintFilter
    linkageType: ''
    returnType: int
    signature: "int include_feature(\n    ppd_file_t    *ppd,\t\t\t/* I  - PPD file
      */\n    const char    *line,\t\t/* I  - DSC line */\n    int           num_options,\t\t/*
      I  - Number of options */\n    cups_option_t **options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2253,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2266,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2293,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - start
    - end
    - buffer
    - bufsize
    argTypes:
    - char*
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2238
    functionDepth: 0
    functionLinenumber: 2238
    functionLinenumberEnd: 2313
    functionName: parse_text
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - isdigit
    - isspace
    linkageType: ''
    returnType: char
    signature: "char *\t\t\t\t/* O - Value or NULL on error */\nparse_text(const char
      *start,\t\t/* I - Start of text value */\n           char       **end,\t\t/*
      O - End of text value */\n\t   char       *buffer,\t\t/* I - Buffer */\n           size_t
      \    bufsize)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2341,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2343,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2346,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2365,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2367,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2369,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2371,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2373,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2375,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2378,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2380,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2382,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2384,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2386,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2388,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2395,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2406,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2409,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2410,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2410,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2411,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2418,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2419,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2419,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2420,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2420,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2431,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2434,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2436,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2437,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2439,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2441,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2449,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2455,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2457,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2457,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2458,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2465,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2467,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2478,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2479,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2492,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2494,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2496,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2498,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2500,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2502,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2504,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2506,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2508,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2512,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2513,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2525,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2527,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2536,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2537,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2539,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2540,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2542,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2549,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2551,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2553,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2555,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2557,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2559,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2563,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2564,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2576,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2582,1
    - Dst: cupsGetOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2588,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2594,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2595,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2628,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2629,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2637,1
    - Dst: ppdMarkOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2641,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2647,1
    - Dst: ppdFindAttr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2654,1
    - Dst: _cups_strcasecmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2655,1
    - Dst: cupsTempFile2
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2666,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2669,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2670,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2678,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2688,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 160
    argCount: 5
    argNames:
    - doc
    - ppd
    - argv
    - num_options
    - options
    argTypes:
    - pstops_doc_t*
    - ppd_file_t*
    - char*[]
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2690
      start: 2320
    functionDepth: 3
    functionLinenumber: 2320
    functionLinenumberEnd: 2690
    functionName: set_pstops_options
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - cupsTempFile2
    - strcmp
    - exit
    - _
    - ppdFindMarkedChoice
    - ppdFindOption
    - cupsGetOption
    - memset
    - _cupsLangPrintFilter
    - fprintf
    - getenv
    - _cups_strcasecmp
    - atoi
    - ppdFindAttr
    - perror
    - ppdMarkOption
    linkageType: ''
    returnType: void
    signature: "void set_pstops_options(\n    pstops_doc_t  *doc,\t\t\t/* I - Document
      information */\n    ppd_file_t    *ppd,\t\t\t/* I - PPD file */\n    char          *argv[],\t\t/*
      I - Command-line arguments */\n    int           num_options,\t\t/* I - Number
      of options */\n    cups_option_t *options)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cupsFileGetLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2708,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2711,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2711,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2713,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2714,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2716,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2717,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2719,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2720,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2721,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2721,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2730,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2730,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2735,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2737,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2742,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 4
    argNames:
    - fp
    - line
    - linelen
    - linesize
    argTypes:
    - cups_file_t*
    - char*
    - ssize_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2697
    functionDepth: 2
    functionLinenumber: 2697
    functionLinenumberEnd: 2752
    functionName: skip_page
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - strstr
    - cupsFileRead
    - cupsFileGetLine
    - strchr
    - strncmp
    - atoi
    - perror
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t skip_page(cups_file_t *fp,\t\t/* I - File to read from */\n
      \         char        *line,\t\t/* I - Line buffer */\n\t  ssize_t     linelen,\t\t/*
      I - Length of initial line */\n          size_t      linesize)"
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2779,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2800,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2801,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2805,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2807,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2813,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2816,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2820,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2829,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2836,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2838,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2857,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2885,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2887,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2889,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2912,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2914,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2916,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2951,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2995,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2997,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:2999,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3040,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3042,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3044,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3080,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3115,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3139,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3140,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3150,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3156,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3166,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3175,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3185,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 233
    argCount: 4
    argNames:
    - doc
    - number
    - show_border
    - bounding_box
    argTypes:
    - pstops_doc_t*
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3189
      start: 2759
    functionDepth: 4
    functionLinenumber: 2759
    functionLinenumberEnd: 3189
    functionName: start_nup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - doc_puts
    - fprintf
    - doc_printf
    linkageType: ''
    returnType: void
    signature: "void start_nup(pstops_doc_t *doc,\t\t/* I - Document information */\n
      \         int          number,\t\t/* I - Page number */\n\t  int          show_border,\t/*
      I - Show the border? */\n\t  const int    *bounding_box)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3212,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3214,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3224,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3232,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3233,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3234,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3235,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3236,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3237,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3238,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3239,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3240,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3241,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3242,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3245,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3250,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3252,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3254,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3256,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3263,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3272,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3274,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3276,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3280,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3286,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3292,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3293,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3294,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3296,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3297,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3298,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3299,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3300,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3301,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3302,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3303,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3304,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3305,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 57
    argCount: 5
    argNames:
    - doc
    - label
    - bottom
    - top
    - width
    argTypes:
    - pstops_doc_t*
    - char*
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3306
      start: 3197
    functionDepth: 4
    functionLinenumber: 3197
    functionLinenumberEnd: 3306
    functionName: write_label_prolog
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - getenv
    - doc_printf
    - doc_puts
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void write_label_prolog(pstops_doc_t *doc,\t/* I - Document info */\n
      \                  const char   *label,\t/* I - Page label */\n\t\t   float
      \       bottom,\t/* I - Bottom position in points */\n\t\t   float        top,\t/*
      I - Top position in points */\n\t\t   float        width)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3324,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3340,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3343,1
    - Dst: doc_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3346,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3350,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3351,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - doc
    - orient
    argTypes:
    - pstops_doc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3352
      start: 3316
    functionDepth: 4
    functionLinenumber: 3316
    functionLinenumberEnd: 3352
    functionName: write_labels
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 1
    functionsReached:
    - doc_puts
    - doc_printf
    linkageType: ''
    returnType: void
    signature: "void write_labels(pstops_doc_t *doc,\t\t/* I - Document information
      */\n             int          orient)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3377,1
    - Dst: ppdFindOption
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3383,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3391,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3393,1
    - Dst: ppdEmitString
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3394,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3406,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3411,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3412,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3417,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3418,1
    - Dst: doc_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/pstops.c:3427,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - doc
    - ppd
    - num_options
    - options
    argTypes:
    - pstops_doc_t*
    - ppd_file_t*
    - int
    - cups_option_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3359
    functionDepth: 4
    functionLinenumber: 3359
    functionLinenumberEnd: 3429
    functionName: write_options
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/pstops.c
    functionUses: 2
    functionsReached:
    - ppdFindOption
    - doc_puts
    - free
    - cupsMarkOptions
    - ppdEmitString
    linkageType: ''
    returnType: void
    signature: "void write_options(\n    pstops_doc_t  *doc,\t\t/* I - Document */\n
      \   ppd_file_t    *ppd,\t\t/* I - PPD file */\n    int           num_options,\t/*
      I - Number of options */\n    cups_option_t *options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cupsLangPrintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:49,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:50,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:60,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:61,1
    - Dst: cupsFileOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:69,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:71,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:71,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:81,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:82,1
    - Dst: cupsFileRewind
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:84,1
    - Dst: cupsFileRead
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:86,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:87,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:89,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:90,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:91,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:92,1
    - Dst: cupsFileClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c:104,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 107
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/gziptoany.c
    functionUses: 2
    functionsReached:
    - _cupsLangPrintf
    - strerror
    - cupsFileRead
    - _cupsLangPrintError
    - _
    - cupsFileRewind
    - write
    - fputs
    - _cupsLangPrintFilter
    - cupsFileOpen
    - getenv
    - atoi
    - cupsFileClose
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:81,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:83,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:99,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:103,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:104,1
    - Dst: run_read_test
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:106,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:107,1
    - Dst: write_test
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:109,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:111,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:112,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:113,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:115,1
    - Dst: wait
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:116,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:118,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:120,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:123,1
    - Dst: compute_median
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 2
    functionsReached:
    - compute_median
    - signal
    - puts
    - strcmp
    - printf
    - run_read_test
    - wait
    - close
    - fflush
    - write_test
    - get_time
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line args */\n
      \    char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - secs
    argTypes:
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 159
    functionName: compute_median
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double compute_median(double *secs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: get_time
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 1
    functionsReached:
    - gettimeofday
    linkageType: ''
    returnType: double
    signature: double get_time(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:195,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:197,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:201,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:204,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 208
    functionName: read_test
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 1
    functionsReached:
    - cupsRasterReadPixels
    - cupsRasterReadHeader2
    - cupsRasterOpen
    - perror
    - cupsRasterClose
    linkageType: ''
    returnType: void
    signature: void read_test(int fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:222,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:225,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:231,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:232,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:242,1
    - Dst: read_test
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:243,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:244,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:252,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 255
    functionName: run_read_test
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 1
    functionsReached:
    - pipe
    - fork
    - close
    - read_test
    - exit
    linkageType: ''
    returnType: int
    signature: int run_read_test(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CUPS_SRAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:279,1
    - Dst: time
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:279,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:281,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:285,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:285,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:291,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:292,1
    - Dst: CUPS_RAND
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:298,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:306,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:308,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:314,1
    - Dst: cupsRasterWriteHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:343,1
    - Dst: cupsRasterWritePixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:346,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c:349,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - cups_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 350
    functionName: write_test
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rasterbench.c
    functionUses: 1
    functionsReached:
    - CUPS_SRAND
    - CUPS_RAND
    - cupsRasterClose
    - cupsRasterWriteHeader2
    - cupsRasterWritePixels
    - cupsRasterOpen
    - memset
    - perror
    - time
    linkageType: ''
    returnType: void
    signature: "void write_test(int         fd,\t\t/* I - File descriptor to write
      to */\n           cups_mode_t mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:109,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:112,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - r
    argTypes:
    - cups_raster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: cupsRasterClose
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 8
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void cupsRasterClose(cups_raster_t *r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cupsRasterOpenIO
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:141,1
    - Dst: cupsRasterOpenIO
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - cups_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: cupsRasterOpen
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 8
    functionsReached:
    - cupsRasterOpenIO
    linkageType: ''
    returnType: cups_raster_t
    signature: "cups_raster_t *\t\t\t\t/* O - New stream */\ncupsRasterOpen(int         fd,\t\t/*
      I - File descriptor */\n               cups_mode_t mode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cupsRasterClearError
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:171,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:173,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:175,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:176,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:190,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:193,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:194,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:195,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:206,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:207,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:220,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:242,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:247,1
    - Dst: _cupsRasterAddError
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:250,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:251,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:252,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - iocb
    - ctx
    - mode
    argTypes:
    - cups_raster_iocb_t
    - void*
    - cups_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 258
    functionName: cupsRasterOpenIO
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - strerror
    - cups_raster_io
    - free
    - htonl
    - _cupsRasterAddError
    - _cupsRasterClearError
    - calloc
    linkageType: ''
    returnType: cups_raster_t
    signature: "cups_raster_t *\t\t\t\t/* O - New stream */\ncupsRasterOpenIO(\n    cups_raster_iocb_t
      iocb,\t\t/* I - Read/write callback */\n    void               *ctx,\t\t/* I
      - Context pointer for callback */\n    cups_mode_t        mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cups_raster_read_header
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:283,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - h
    argTypes:
    - cups_raster_t*
    - cups_page_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 293
    functionName: cupsRasterReadHeader
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 0
    functionsReached:
    - cups_raster_read_header
    - memcpy
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterReadHeader(\n    cups_raster_t      *r,\t\t/* I
      - Raster stream */\n    cups_page_header_t *h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cups_raster_read_header
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:312,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - r
    - h
    argTypes:
    - cups_raster_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: cupsRasterReadHeader2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 6
    functionsReached:
    - cups_raster_read_header
    - memcpy
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterReadHeader2(\n    cups_raster_t       *r,\t\t/*
      I - Raster stream */\n    cups_page_header2_t *h)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:359,1
    - Dst: cups_swap
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:370,1
    - Dst: cups_raster_read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:403,1
    - Dst: cups_raster_read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:420,1
    - Dst: cups_raster_read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:434,1
    - Dst: cups_raster_read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:455,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:463,1
    - Dst: cups_swap
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:478,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:513,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 82
    argCount: 3
    argNames:
    - r
    - p
    - len
    argTypes:
    - cups_raster_t*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 529
    functionName: cupsRasterReadPixels
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 6
    functionsReached:
    - cups_swap
    - cups_raster_read
    - cups_raster_io
    - memcpy
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterReadPixels(cups_raster_t *r,\t/* I - Raster stream
      */\n                     unsigned char *p,\t/* I - Pointer to pixel buffer */\n\t\t
      \    unsigned      len)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:554,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:555,1
    - Dst: cups_raster_update
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:557,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:572,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:574,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:576,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:577,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:578,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:581,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:582,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:583,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:584,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:585,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:586,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:587,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:588,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:589,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:590,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:591,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:592,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:593,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:594,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:595,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:596,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:597,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:598,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:599,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:600,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:601,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:602,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:603,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:604,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:605,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:606,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:607,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:608,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:610,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:612,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:614,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:616,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:618,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:620,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:622,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:624,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:626,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:628,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:631,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:635,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:637,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:640,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 56
    argCount: 2
    argNames:
    - r
    - h
    argTypes:
    - cups_raster_t*
    - cups_page_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 645
    functionName: cupsRasterWriteHeader
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 1
    functionsReached:
    - cups_raster_io
    - strlcpy
    - htonl
    - memset
    - memcpy
    - cups_raster_update
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterWriteHeader(\n    cups_raster_t      *r,\t\t/*
      I - Raster stream */\n    cups_page_header_t *h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:670,1
    - Dst: cups_raster_update
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:672,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:687,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:688,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:689,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:690,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:691,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:692,1
    - Dst: strlcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:694,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:697,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:698,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:699,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:700,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:701,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:702,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:703,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:704,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:705,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:706,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:707,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:708,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:709,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:710,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:711,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:712,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:713,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:714,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:715,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:716,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:717,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:718,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:719,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:720,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:721,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:722,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:723,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:724,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:725,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:726,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:727,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:729,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:731,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:733,1
    - Dst: htonl
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:735,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:737,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:740,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 51
    argCount: 2
    argNames:
    - r
    - h
    argTypes:
    - cups_raster_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 742
    functionName: cupsRasterWriteHeader2
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 3
    functionsReached:
    - cups_raster_io
    - strlcpy
    - htonl
    - memset
    - memcpy
    - cups_raster_update
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterWriteHeader2(\n    cups_raster_t       *r,\t\t/*
      I - Raster stream */\n    cups_page_header2_t *h)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:762,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:792,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:794,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:820,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:823,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:845,1
    - Dst: cups_raster_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:847,1
    - Dst: cups_raster_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:876,1
    - Dst: cups_raster_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:879,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:896,1
    - Dst: cups_raster_write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:916,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 3
    argNames:
    - r
    - p
    - len
    argTypes:
    - cups_raster_t*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 753
    functionDepth: 5
    functionLinenumber: 753
    functionLinenumberEnd: 922
    functionName: cupsRasterWritePixels
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 6
    functionsReached:
    - DEBUG_printf
    - cups_raster_io
    - malloc
    - memcpy
    - memcmp
    - cups_raster_write
    - realloc
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cupsRasterWritePixels(cups_raster_t *r,\t/* I - Raster stream
      */\n                      unsigned char *p,\t/* I - Bytes to write */\n\t\t
      \     unsigned      len)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:952,1
    - Dst: cups_raster_read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:954,1
    - Dst: DEBUG_puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:967,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:973,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:981,1
    - Dst: cups_raster_update
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - r
    argTypes:
    - cups_raster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 992
    functionName: cups_raster_read_header
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - memset
    - DEBUG_puts
    - cups_raster_update
    - cups_raster_read
    linkageType: ''
    returnType: unsigned
    signature: "unsigned cups_raster_read_header(\n    cups_raster_t *r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1008,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - r
    - buf
    - bytes
    argTypes:
    - cups_raster_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1023
    functionName: cups_raster_io
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 5
    functionsReached:
    - DEBUG_printf
    linkageType: ''
    returnType: int
    signature: "int cups_raster_io(cups_raster_t *r,\t/* I - Raster stream */\n           unsigned
      char *buf,\t\t/* I - Buffer for read/write */\n           int           bytes)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1040,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1043,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1060,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1062,1
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1083,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1155,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 3
    argNames:
    - r
    - buf
    - bytes
    argTypes:
    - cups_raster_t*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1030
    functionDepth: 5
    functionLinenumber: 1030
    functionLinenumberEnd: 1162
    functionName: cups_raster_read
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 2
    functionsReached:
    - DEBUG_printf
    - cups_raster_io
    - malloc
    - memcpy
    - realloc
    linkageType: ''
    returnType: int
    signature: "int cups_raster_read(cups_raster_t *r,\t/* I - Raster stream */\n
      \                unsigned char *buf,\t/* I - Buffer */\n                 int
      \          bytes)"
  - BBCount: 58
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1279,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1281,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 82
    argCount: 1
    argNames:
    - r
    argTypes:
    - cups_raster_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1286
    functionName: cups_raster_update
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 3
    functionsReached:
    - calloc
    - free
    linkageType: ''
    returnType: void
    signature: void cups_raster_update(cups_raster_t *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: DEBUG_printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1307,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1317,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1319,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1357,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1364,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1378,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1390,1
    - Dst: cups_raster_io
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1395,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - r
    - pixels
    argTypes:
    - cups_raster_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1293
    functionDepth: 5
    functionLinenumber: 1293
    functionLinenumberEnd: 1396
    functionName: cups_raster_write
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 1
    functionsReached:
    - DEBUG_printf
    - cups_raster_io
    - malloc
    - memcpy
    - memcmp
    - realloc
    linkageType: ''
    returnType: int
    signature: "int cups_raster_write(\n    cups_raster_t       *r,\t\t/* I - Raster
      stream */\n    const unsigned char *pixels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1414,1
    - Dst: read
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buf
    - bytes
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1422
    functionName: cups_read_fd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cups_read_fd(void          *ctx,\t/* I - File descriptor as
      pointer */\n             unsigned char *buf,\t/* I - Buffer for read */\n\t
      \    size_t        bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - bytes
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1429
    functionDepth: 0
    functionLinenumber: 1429
    functionLinenumberEnd: 1448
    functionName: cups_swap
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cups_swap(unsigned char *buf,\t\t/* I - Buffer to swap */\n          int
      \          bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1466,1
    - Dst: write
      Src: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c:1468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - buf
    - bytes
    argTypes:
    - void*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1455
    functionDepth: 0
    functionLinenumber: 1455
    functionLinenumberEnd: 1474
    functionName: cups_write_fd
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/cupsraster.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t cups_write_fd(void          *ctx,\t/* I - File descriptor
      pointer */\n              unsigned char *buf,\t/* I - Bytes to write */\n\t
      \     size_t        bytes)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:130,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:136,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:156,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:157,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - ppd
    argTypes:
    - ppd_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 160
    functionName: Setup
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 2
    functionsReached:
    - putchar
    - fputs
    linkageType: ''
    returnType: void
    signature: void Setup(ppd_file_t *ppd)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:179,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:180,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:182,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:183,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:186,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:187,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:189,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:192,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:195,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:196,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:197,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:198,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:200,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:202,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:203,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:204,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:206,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:208,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:210,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:211,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:212,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:213,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:214,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:215,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:216,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:218,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:219,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:220,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:221,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:223,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:224,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:235,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:236,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:238,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:246,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:247,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:248,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:248,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:255,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:261,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:267,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:275,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:276,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:282,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:283,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:289,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:290,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:292,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:295,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:297,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:305,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:311,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:320,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:326,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:334,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:335,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:344,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:347,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:348,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:356,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:357,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:362,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:366,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:370,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:374,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:378,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:382,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:386,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:390,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:394,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:398,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:400,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:401,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:403,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:412,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:416,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:418,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:420,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:421,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:422,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:424,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:427,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:431,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:434,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:443,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:446,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:448,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:451,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:452,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:453,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:454,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:460,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:461,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:470,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 152
    argCount: 2
    argNames:
    - ppd
    - header
    argTypes:
    - ppd_file_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 472
    functionName: StartPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 2
    functionsReached:
    - puts
    - strcmp
    - printf
    - fputs
    - ppdFindMarkedChoice
    - malloc
    - atof
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void StartPage(ppd_file_t         *ppd,\t/* I - PPD file */\n          cups_page_header2_t
      *header)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:494,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:502,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:510,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:520,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:528,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:534,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:535,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:537,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:538,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:545,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:551,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:557,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:558,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:560,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:561,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:562,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:563,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:570,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:576,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:577,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:578,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:579,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:585,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:586,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:588,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:590,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:591,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:592,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:593,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:594,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:595,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:596,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:597,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:599,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:609,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:611,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:618,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:619,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:620,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:621,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:628,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:634,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:640,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:641,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:650,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:656,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:657,1
    - Dst: ppdIsMarked
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:658,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:659,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:666,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:673,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:679,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:680,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:682,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:683,1
    - Dst: ppdFindMarkedChoice
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:690,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:691,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:692,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:694,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:698,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:699,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:703,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:709,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:713,1
    - Dst: free
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:719,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 97
    argCount: 2
    argNames:
    - ppd
    - header
    argTypes:
    - ppd_file_t*
    - cups_page_header2_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 722
    functionName: EndPage
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 2
    functionsReached:
    - puts
    - strcmp
    - printf
    - ppdIsMarked
    - fputs
    - ppdFindMarkedChoice
    - free
    - fflush
    - atoi
    linkageType: ''
    returnType: void
    signature: "void EndPage(ppd_file_t *ppd,\t\t/* I - PPD file */\n        cups_page_header2_t
      *header)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 739
    functionName: CancelJob
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void CancelJob(int sig)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:768,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:774,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:778,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:782,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:783,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:784,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:791,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:792,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:793,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:797,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:799,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:801,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:802,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:803,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:815,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:817,1
    - Dst: ZPLCompress
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:847,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:861,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:865,1
    - Dst: ZPLCompress
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:868,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:870,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:876,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:881,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:883,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:884,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:885,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:886,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:892,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:896,1
    - Dst: PCLCompress
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:901,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 84
    argCount: 3
    argNames:
    - ppd
    - header
    - y
    argTypes:
    - ppd_file_t*
    - cups_page_header2_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 907
    functionName: OutputLine
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 2
    functionsReached:
    - ZPLCompress
    - puts
    - PCLCompress
    - printf
    - memcpy
    - memcmp
    - fflush
    - fwrite
    - putchar
    linkageType: ''
    returnType: void
    signature: "void OutputLine(ppd_file_t         *ppd,\t/* I - PPD file */\n           cups_page_header2_t
      *header,\t/* I - Page header */\n           int                y)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1023,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1031,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1032,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1038,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - line
    - length
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 1040
    functionName: PCLCompress
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 1
    functionsReached:
    - printf
    - memcpy
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void PCLCompress(unsigned char *line,\t/* I - Line to compress */\n
      \           int           length)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1060,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1070,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1079,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1086,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - repeat_char
    - repeat_count
    argTypes:
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1087
    functionName: ZPLCompress
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 1
    functionsReached:
    - putchar
    linkageType: ''
    returnType: void
    signature: "void ZPLCompress(char repeat_char,\t\t/* I - Character to repeat */\n\t
      \   int  repeat_count)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1114,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1127,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1128,1
    - Dst: open
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1139,1
    - Dst: _cupsLangPrintError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1141,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1141,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1142,1
    - Dst: cupsRasterOpen
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1149,1
    - Dst: sigset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1159,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1161,1
    - Dst: sigemptyset
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1163,1
    - Dst: sigaction
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1165,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1167,1
    - Dst: cupsParseOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1174,1
    - Dst: ppdOpenFile
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1176,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1176,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1182,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1183,1
    - Dst: ppdLastError
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1187,1
    - Dst: ppdErrorString
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1187,1
    - Dst: ppdMarkDefaults
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1192,1
    - Dst: cupsMarkOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1193,1
    - Dst: Setup
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1199,1
    - Dst: cupsRasterReadHeader2
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1218,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1219,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1219,1
    - Dst: StartPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1225,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1242,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1243,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1245,1
    - Dst: cupsRasterReadPixels
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1253,1
    - Dst: OutputLine
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1260,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1267,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1267,1
    - Dst: EndPage
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1269,1
    - Dst: cupsRasterClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1279,1
    - Dst: close
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1281,1
    - Dst: ppdClose
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1287,1
    - Dst: cupsFreeOptions
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1288,1
    - Dst: _cupsLangPrintFilter
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1296,1
    - Dst: _
      Src: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c:1296,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1094
    functionDepth: 8
    functionLinenumber: 1094
    functionLinenumberEnd: 1301
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/cups/libs/filter/rastertolabel.c
    functionUses: 2
    functionsReached:
    - open
    - cupsRasterOpen
    - fprintf
    - OutputLine
    - signal
    - cupsRasterReadHeader2
    - memset
    - _cupsLangPrintFilter
    - getenv
    - ppdLastError
    - cupsRasterClose
    - cupsFreeOptions
    - ppdErrorString
    - _cupsLangPrintError
    - _
    - cupsMarkOptions
    - ppdClose
    - sigset
    - ppdOpenFile
    - Setup
    - cupsParseOptions
    - sigemptyset
    - EndPage
    - close
    - sigaction
    - StartPage
    - cupsRasterReadPixels
    - setbuf
    - ppdMarkDefaults
    - sleep
    linkageType: ''
    returnType: int
    signature: "int main(int  argc,\t\t\t\t/* I - Number of command-line arguments
      */\n     char *argv[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:110,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: ds32_get_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/doc/gdevds32.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int ds32_get_params_downscale_cmyk(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:128,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 139
    functionName: ds32_put_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/doc/gdevds32.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    - gx_downscaler_read_params
    linkageType: ''
    returnType: int
    signature: int ds32_put_params_downscale_cmyk(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:154,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:156,1
    - Dst: gsicc_link_t*::procs::map_buffer
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - arg
    - dst
    - src
    - w
    - h
    - raster
    argTypes:
    - void*
    - byte**
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: ds32_chunky_post_cm
    functionSourceFile: /src/libspectre/ghostscript/doc/gdevds32.c
    functionUses: 0
    functionsReached:
    - gsicc_init_buffer
    - gsicc_link_t*::procs::map_buffer
    linkageType: ''
    returnType: int
    signature: "int ds32_chunky_post_cm(void  *arg, byte **dst, byte **src, int w,
      int h,\n                                int raster)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:173,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - dsdev
    - data
    - row
    - file
    argTypes:
    - gx_device_ds32*
    - byte*
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: debug_write_pam_32
    functionSourceFile: /src/libspectre/ghostscript/doc/gdevds32.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int debug_write_pam_32(gx_device_ds32 *dsdev, byte *data, int row,
      FILE *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:192,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:204,1
    - Dst: gx_downscaler_init_cm
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:209,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:219,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:221,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:222,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:226,1
    - Dst: debug_write_pam_32
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:230,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:251,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/doc/gdevds32.c:252,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 255
    functionName: ds32_print_page
    functionSourceFile: /src/libspectre/ghostscript/doc/gdevds32.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - gx_downscaler_init_cm
    - gx_downscaler_init
    - gdev_mem_bytes_per_scan_line
    - debug_write_pam_32
    - return_error
    - gx_downscaler_getbits
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int ds32_print_page(gx_device_printer * pdev, FILE * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: RANK
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RANK(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: UPDATE_HASH
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE_HASH(s,h,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: INSERT_STRING
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - match_head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: INSERT_STRING
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSERT_STRING(s, str, match_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 195
    functionName: CLEAR_HASH
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_HASH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - beg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: HCRC_UPDATE
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HCRC_UPDATE(beg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1615
    functionName: FLUSH_BLOCK_ONLY
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK_ONLY(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1617
    functionDepth: 0
    functionLinenumber: 1617
    functionLinenumberEnd: 1621
    functionName: FLUSH_BLOCK
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSH_BLOCK(s, last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1627
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: put_byte
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_byte(s, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: MAX_DIST
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_DIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: d_code
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: d_code(dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: _tr_tally_lit
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: _tr_tally_dist
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: _tr_tally_lit
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_lit(s, c, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - distance
    - ','
    - length
    - ','
    - flush
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: _tr_tally_dist
    functionSourceFile: /src/libspectre/ghostscript/zlib/deflate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _tr_tally_dist(s, distance, length, flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: LOAD
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: RESTORE
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: INITBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: PULL
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: PULLBYTE
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: NEEDBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: BITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 199
    functionName: DROPBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 206
    functionName: BYTEBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: ROOM
    functionSourceFile: /src/libspectre/ghostscript/zlib/infback.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: zlibVersion
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ZEXPORT zlibVersion()
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 113
    functionName: zlibCompileFlags
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uLong
    signature: uLong zlibCompileFlags()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/libspectre/ghostscript/zlib/zutil.c:228,1
    - Dst: farmalloc
      Src: /src/libspectre/ghostscript/zlib/zutil.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 241
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/libspectre/ghostscript/zlib/zutil.c:250,1
    - Dst: farfree
      Src: /src/libspectre/ghostscript/zlib/zutil.c:257,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/zlib/zutil.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 265
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/libspectre/ghostscript/zlib/zutil.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, uInt items, uInt size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/libspectre/ghostscript/zlib/zutil.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: ZLIB_INTERNAL
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.c
    functionUses: 0
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 636
    functionName: gz_intmax
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned ZLIB_INTERNAL
    signature: unsigned ZLIB_INTERNAL gz_intmax()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: send_code
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - c
    - ','
    - tree
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 168
    functionName: send_code
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_code(s, c, tree)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: put_short
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_short(s, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - value
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: send_bits
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: send_bits(s, value, length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Assert
      Src: /src/libspectre/ghostscript/zlib/trees.c:263,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/zlib/trees.c:278,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/zlib/trees.c:286,1
    - Dst: gen_codes
      Src: /src/libspectre/ghostscript/zlib/trees.c:299,1
    - Dst: bi_reverse
      Src: /src/libspectre/ghostscript/zlib/trees.c:304,1
    - Dst: gen_trees_header
      Src: /src/libspectre/ghostscript/zlib/trees.c:309,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 312
    functionName: tr_static_init
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached:
    - gen_trees_header
    - gen_codes
    - bi_reverse
    - Assert
    linkageType: ''
    returnType: local
    signature: local tr_static_init()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - last
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 325
    functionName: SEPARATOR
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEPARATOR(i, last, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/trees.c:328,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/zlib/trees.c:331,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:332,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:335,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:337,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:338,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:341,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:343,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:344,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:347,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:349,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:350,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:356,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:357,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:360,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:362,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:363,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/trees.c:368,1
    - Dst: SEPARATOR
      Src: /src/libspectre/ghostscript/zlib/trees.c:369,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/trees.c:372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 373
    functionName: gen_trees_header
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 1
    functionsReached:
    - Assert
    - fprintf
    - fopen
    - SEPARATOR
    - fclose
    linkageType: ''
    returnType: void
    signature: void gen_trees_header()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - tree
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 436
    functionName: pqremove
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pqremove(s, tree, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tree
    - ','
    - n
    - ','
    - m
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 444
    functionName: smaller
    functionSourceFile: /src/libspectre/ghostscript/zlib/trees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: smaller(tree, n, m, depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1781
    functionName: z_deflateInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1781
    functionDepth: 0
    functionLinenumber: 1781
    functionLinenumberEnd: 1783
    functionName: z_inflateInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1786
    functionName: z_deflateInit2
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1786
    functionDepth: 0
    functionLinenumber: 1786
    functionLinenumberEnd: 1789
    functionName: z_inflateInit2
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1792
    functionName: z_inflateBackInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1793
    functionDepth: 0
    functionLinenumber: 1793
    functionLinenumberEnd: 1795
    functionName: deflateInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1797
    functionName: inflateInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1800
    functionName: deflateInit2
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1803
    functionName: inflateInit2
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1806
      start: 1803
    functionDepth: 0
    functionLinenumber: 1803
    functionLinenumberEnd: 1806
    functionName: inflateBackInit
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBackInit(strm, windowBits, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1827
    functionName: z_gzgetc
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: z_gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1830
    functionName: gzgetc
    functionSourceFile: /src/libspectre/ghostscript/zlib/zlib.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gzgetc(g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: OF
    functionSourceFile: /src/libspectre/ghostscript/zlib/zconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: OF
    functionSourceFile: /src/libspectre/ghostscript/zlib/zconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: Z_ARG
    functionSourceFile: /src/libspectre/ghostscript/zlib/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_ARG(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: Z_ARG
    functionSourceFile: /src/libspectre/ghostscript/zlib/zconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Z_ARG(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: ERR_MSG
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_MSG(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: ERR_RETURN
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RETURN(strm,err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: F_OPEN
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: F_OPEN
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: zmemzero
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: zmemzero
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cond
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: Assert
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Assert(cond,msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: Trace
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Trace(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: Tracev
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracev(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: Tracevv
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracevv(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: Tracec
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracec(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: Tracecv
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Tracecv(c,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - items
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: ZALLOC
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZALLOC(strm, items, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: ZFREE
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZFREE(strm, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: TRY_FREE
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_FREE(s, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: ZSWAP32
    functionSourceFile: /src/libspectre/ghostscript/zlib/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSWAP32(q)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZSWAP32
      Src: /src/libspectre/ghostscript/zlib/crc32.c:121,1
    - Dst: ZSWAP32
      Src: /src/libspectre/ghostscript/zlib/crc32.c:125,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/crc32.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:145,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:148,1
    - Dst: write_table
      Src: /src/libspectre/ghostscript/zlib/crc32.c:149,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:153,1
    - Dst: write_table
      Src: /src/libspectre/ghostscript/zlib/crc32.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:156,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/crc32.c:158,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/crc32.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 162
    functionName: make_crc_table
    functionSourceFile: /src/libspectre/ghostscript/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - write_table
    - fprintf
    - ZSWAP32
    - fopen
    - fclose
    linkageType: ''
    returnType: local
    signature: local make_crc_table()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_crc_table
      Src: /src/libspectre/ghostscript/zlib/crc32.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 195
    functionName: get_crc_table
    functionSourceFile: /src/libspectre/ghostscript/zlib/crc32.c
    functionUses: 0
    functionsReached:
    - make_crc_table
    linkageType: ''
    returnType: z_crc_t
    signature: z_crc_t * ZEXPORT get_crc_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: zstrerror
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: zstrerror
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: zstrerror
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: GT_OFF
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: GT_OFF
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzguts.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GT_OFF(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gz_init
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:398,1
    - Dst: gz_zero
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:404,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:417,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:421,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:425,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:426,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:428,1
    - Dst: gz_comp
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:442,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:444,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 3
    argNames:
    - file
    - format
    - va
    argTypes:
    - gzFile
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 449
    functionName: gzvprintf
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - gz_init
    - vsprintf
    - strlen
    - memcpy
    - vsnprintf
    - gz_zero
    - gz_comp
    linkageType: ''
    returnType: int
    signature: int gzvprintf(gzFile file, const char *format, va_list va)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:456,1
    - Dst: gzvprintf
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:457,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/zlib/gzwrite.c:458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - file
    - format
    argTypes:
    - gzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 460
    functionName: gzprintf
    functionSourceFile: /src/libspectre/ghostscript/zlib/gzwrite.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - gzvprintf
    linkageType: ''
    returnType: int
    signature: int gzprintf(gzFile file, const char *format, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixedtables
      Src: /src/libspectre/ghostscript/zlib/inflate.c:347,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:348,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:349,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:350,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:351,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:352,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:353,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:354,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:355,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:356,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:358,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:361,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:362,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/zlib/inflate.c:365,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:367,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:369,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:372,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/inflate.c:373,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/zlib/inflate.c:376,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/inflate.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 379
    functionName: makefixed
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached:
    - fixedtables
    - putchar
    - puts
    - printf
    linkageType: ''
    returnType: void
    signature: void makefixed()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: UPDATE
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - check
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: UPDATE
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPDATE(check, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 464
    functionName: CRC2
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC2(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - check
    - ','
    - word
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: CRC4
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC4(check, word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: LOAD
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: RESTORE
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTORE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: INITBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 513
    functionName: PULLBYTE
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 521
    functionName: NEEDBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 525
    functionName: BITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 532
    functionName: DROPBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: BYTEBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/inflate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: DO1
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO1(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO2
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO2(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DO4
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO4(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: DO8
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO8(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: DO16
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO16(buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 33
    functionName: CHOP
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHOP(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: MOD28
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: MOD
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: MOD
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: MOD28
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD28(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MOD63
    functionSourceFile: /src/libspectre/ghostscript/zlib/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOD63(a)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:84,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:87,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:90,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:92,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - mem
    - count
    - size
    argTypes:
    - void*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 109
    functionName: mem_alloc
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - memset
    linkageType: ''
    returnType: local
    signature: local *mem_alloc(void *mem, unsigned count, unsigned size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:119,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:145,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:153,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 154
    functionName: mem_free
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local mem_free(void *mem, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:162,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - strm
    argTypes:
    - z_stream*
    assertStmts:
    - condition: (zone != NULL)
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 173
    functionName: mem_setup
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - malloc
    - assert
    linkageType: ''
    returnType: local
    signature: local mem_setup(z_stream *strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - limit
    argTypes:
    - z_stream*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: mem_limit
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local mem_limit(z_stream *strm, size_t limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: mem_used
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_used(z_stream *strm, char *prefix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: mem_high
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_high(z_stream *strm, char *prefix)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mem_high
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:207,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:212,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:214,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:221,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:224,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:226,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:230,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - strm
    - prefix
    argTypes:
    - z_stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 234
    functionName: mem_done
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - mem_high
    - free
    - fprintf
    linkageType: ''
    returnType: local
    signature: local mem_done(z_stream *strm, char *prefix)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:250,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:250,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:271,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 2
    argNames:
    - hex
    - len
    argTypes:
    - char*
    - unsigned*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: h2b
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - malloc
    - strlen
    - realloc
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned *h2b(const char *hex, unsigned *len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:293,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:296,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:298,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:301,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:301,1
    - Dst: inflateGetHeader
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:309,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:309,1
    - Dst: h2b
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:311,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:311,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:320,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:320,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:324,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:325,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:326,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:327,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:328,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:329,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:331,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:332,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:333,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:333,1
    - Dst: inflateCopy
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:335,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:335,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:336,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:336,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:342,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:343,1
    - Dst: inflateReset2
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:344,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:344,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:345,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:345,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:346,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 6
    argNames:
    - hex
    - what
    - step
    - win
    - len
    - err
    argTypes:
    - char*
    - char*
    - unsigned
    - int
    - unsigned
    - int
    assertStmts:
    - condition: (err == 9 || ret == err)
      pos:
        line_end: 319
        line_start: 319
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 324
        line_start: 324
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 331
        line_start: 331
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 334
        line_start: 334
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 343
        line_start: 343
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (in != NULL)
      pos:
        line_end: 310
        line_start: 310
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 335
        line_start: 335
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 344
        line_start: 344
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (out != NULL)
      pos:
        line_end: 300
        line_start: 300
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 327
        line_start: 327
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 332
        line_start: 332
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 347
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 347
    functionName: inf
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflateCopy
    - inflateGetHeader
    - mem_setup
    - assert
    - h2b
    - malloc
    - mem_limit
    - free
    - inflateReset2
    - inflate
    - inflateEnd
    - mem_done
    - inflateInit2
    - inflateSetDictionary
    linkageType: ''
    returnType: local
    signature: "local inf(char *hex, char *what, unsigned step, int win, unsigned
      len,\n               int err)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_setup
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:355,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:358,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:358,1
    - Dst: mem_used
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:359,1
    - Dst: inflatePrime
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:360,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:360,1
    - Dst: inflatePrime
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:361,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:361,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:362,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:363,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:364,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:364,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:365,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:367,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:368,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:369,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:370,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:371,1
    - Dst: mem_setup
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:373,1
    - Dst: inflateInit_
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:376,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:377,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:378,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:382,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:382,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:383,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:383,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_OK)
      pos:
        line_end: 363
        line_start: 363
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 359
        line_start: 359
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 360
        line_start: 360
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 362
        line_start: 362
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 382
        line_start: 382
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 357
        line_start: 357
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 376
        line_start: 376
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 385
      start: 350
    functionDepth: 6
    functionLinenumber: 350
    functionLinenumberEnd: 385
    functionName: cover_support
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflatePrime
    - inflateInit_
    - mem_setup
    - mem_used
    - assert
    - inflateSetDictionary
    - inf
    - fputs
    - inflateEnd
    - mem_done
    - inflateInit
    linkageType: ''
    returnType: local
    signature: local cover_support(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:394,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:394,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:395,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:395,1
    - Dst: inflateCopy
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:396,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:396,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:397,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:399,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:400,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:401,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:402,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:403,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:404,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:405,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:407,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:409,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:410,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:411,1
    - Dst: mem_setup
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:413,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:416,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:421,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:422,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:422,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:423,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:423,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:424,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:425,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:426,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:427,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:428,1
    - Dst: inflatePrime
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:429,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:429,1
    - Dst: inflateSync
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:432,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:432,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:433,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:433,1
    - Dst: inflateSync
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:436,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:436,1
    - Dst: inflateSyncPoint
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:437,1
    - Dst: inflateCopy
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:438,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:438,1
    - Dst: mem_limit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:439,1
    - Dst: inflateUndermine
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:440,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:440,1
    - Dst: inflateMark
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:441,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:442,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:442,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 59
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 421
        line_start: 421
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 426
        line_start: 426
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 394
        line_start: 394
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 428
        line_start: 428
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 432
        line_start: 432
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_MEM_ERROR)
      pos:
        line_end: 437
        line_start: 437
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 441
        line_start: 441
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 393
        line_start: 393
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 431
        line_start: 431
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_DATA_ERROR)
      pos:
        line_end: 439
        line_start: 439
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 444
      start: 388
    functionDepth: 6
    functionLinenumber: 388
    functionLinenumberEnd: 444
    functionName: cover_wrap
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflateCopy
    - inflatePrime
    - inflateUndermine
    - inflateSync
    - inflateSyncPoint
    - mem_setup
    - fputs
    - assert
    - inf
    - mem_limit
    - inflateSetDictionary
    - memset
    - inflate
    - mem_done
    - inflateInit2
    - inflateMark
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: local cover_wrap(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - desc
    - buf
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 461
    functionName: pull
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned pull(void *desc, unsigned char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: push
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local push(void *desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit_
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:476,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:477,1
    - Dst: inflateBackInit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:478,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:478,1
    - Dst: inflateBack
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:479,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:480,1
    - Dst: inflateBackEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:481,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:481,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:482,1
    - Dst: mem_setup
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:484,1
    - Dst: inflateBackInit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:485,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:485,1
    - Dst: inflateBack
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:488,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:489,1
    - Dst: inflateBack
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:493,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:494,1
    - Dst: inflateBack
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:496,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:497,1
    - Dst: inflateBackEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:498,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:498,1
    - Dst: mem_done
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:499,1
    - Dst: inflateBackInit
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:501,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:501,1
    - Dst: inflateBackEnd
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:502,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:502,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == Z_OK)
      pos:
        line_end: 484
        line_start: 484
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 496
        line_start: 496
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 500
        line_start: 500
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 501
        line_start: 501
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 479
        line_start: 479
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 488
        line_start: 488
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_BUF_ERROR)
      pos:
        line_end: 493
        line_start: 493
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_VERSION_ERROR)
      pos:
        line_end: 476
        line_start: 476
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 477
        line_start: 477
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_STREAM_ERROR)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == Z_OK)
      pos:
        line_end: 497
        line_start: 497
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 504
      start: 470
    functionDepth: 6
    functionLinenumber: 470
    functionLinenumberEnd: 504
    functionName: cover_back
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflateBackInit
    - inflateBackInit_
    - mem_setup
    - inflateBack
    - assert
    - fputs
    - inflateBackEnd
    - mem_done
    linkageType: ''
    returnType: local
    signature: local cover_back(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:611,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 614
    functionName: cover_inflate
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_inflate(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:631,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:632,1
    - Dst: inflate_table
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:635,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:636,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts:
    - condition: (ret == 1)
      pos:
        line_end: 631
        line_start: 631
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    - condition: (ret == 1)
      pos:
        line_end: 635
        line_start: 635
        source_file: /src/libspectre/ghostscript/zlib/test/infcover.c
    constantsTouched: []
    func_position:
      end: 638
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 638
    functionName: cover_trees
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inflate_table
    - fputs
    - assert
    linkageType: ''
    returnType: local
    signature: local cover_trees(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:643,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:645,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:648,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:650,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:652,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:654,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:655,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:657,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 659
    functionName: cover_fast
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 0
    functionsReached:
    - inf
    linkageType: ''
    returnType: local
    signature: local cover_fast(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:663,1
    - Dst: zlibVersion
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:663,1
    - Dst: cover_support
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:664,1
    - Dst: cover_wrap
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:665,1
    - Dst: cover_back
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:666,1
    - Dst: cover_inflate
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:667,1
    - Dst: cover_trees
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:668,1
    - Dst: cover_fast
      Src: /src/libspectre/ghostscript/zlib/test/infcover.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 7
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/infcover.c
    functionUses: 2
    functionsReached:
    - zlibVersion
    - cover_trees
    - cover_back
    - cover_inflate
    - fprintf
    - cover_fast
    - cover_wrap
    - cover_support
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/minigzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: fileno
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/minigzip.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fileno(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: perror
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/minigzip.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: perror(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - err
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 28
    functionName: CHECK_ERR
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ERR(err, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/test/example.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: myfree
    functionSourceFile: /src/libspectre/ghostscript/zlib/test/example.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void myfree(void *q, void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:68,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - why1
    - why2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: bail
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local bail(char *why1, char *why2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:91,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:93,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: bclose
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - free
    - close
    linkageType: ''
    returnType: local
    signature: local bclose(bin *in)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:104,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:107,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:108,1
    - Dst: bclose
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 100
    functionDepth: 5
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: bopen
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - malloc
    - bclose
    - open
    linkageType: ''
    returnType: local
    signature: local *bopen(char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 137
    functionName: bload
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: local
    signature: local bload(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 143
    functionName: bget
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bget(in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:149,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:150,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:151,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 154
    functionName: bget4
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bget
    linkageType: ''
    returnType: local unsigned long
    signature: local unsigned long bget4(bin *in)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:182,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:183,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:184,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:189,1
    - Dst: bload
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:194,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - in
    - skip
    argTypes:
    - bin*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 199
    functionName: bskip
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - read
    - bail
    - bload
    - lseek
    linkageType: ''
    returnType: local
    signature: local bskip(bin *in, unsigned skip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:209,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:209,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:210,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:213,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:215,1
    - Dst: bskip
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:218,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:224,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:225,1
    - Dst: bskip
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:226,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:231,1
    - Dst: bget
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:236,1
    - Dst: bskip
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 1
    argNames:
    - in
    argTypes:
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 242
    functionName: gzhead
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bskip
    - bail
    - bget
    linkageType: ''
    returnType: local
    signature: local gzhead(bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:247,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:248,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:249,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - val
    - out
    argTypes:
    - unsigned long
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: put4
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: local
    signature: local put4(unsigned long val, FILE *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bload
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:257,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - strm
    - in
    argTypes:
    - z_streamp
    - bin*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: zpull
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - bail
    - bload
    linkageType: ''
    returnType: local
    signature: local zpull(z_streamp strm, bin *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:267,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - crc
    - tot
    - out
    argTypes:
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: gzinit
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - fwrite
    - crc32
    linkageType: ''
    returnType: local
    signature: local gzinit(unsigned long *crc, unsigned long *tot, FILE *out)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: bopen
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:292,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:294,1
    - Dst: gzhead
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:295,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:299,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:305,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:307,1
    - Dst: zpull
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:311,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:320,1
    - Dst: zpull
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:323,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:329,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:332,1
    - Dst: bail
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:334,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:361,1
    - Dst: zpull
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:364,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:379,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:383,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:389,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:391,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:392,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:398,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:401,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:404,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:405,1
    - Dst: crc32_combine
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:411,1
    - Dst: bget4
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:411,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:415,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:416,1
    - Dst: bclose
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:417,1
    - Dst: put4
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:421,1
    - Dst: put4
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:422,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 96
    argCount: 5
    argNames:
    - name
    - clr
    - crc
    - tot
    - out
    argTypes:
    - char*
    - int
    - unsigned long*
    - unsigned long*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 279
    functionDepth: 6
    functionLinenumber: 279
    functionLinenumberEnd: 424
    functionName: gzcopy
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 0
    functionsReached:
    - crc32_combine
    - bail
    - bclose
    - put4
    - bopen
    - gzhead
    - bget4
    - malloc
    - free
    - inflate
    - fwrite
    - putc
    - zpull
    - inflateInit2
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: "local gzcopy(char *name, int clr, unsigned long *crc, unsigned long
      *tot,\n                  FILE *out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:437,1
    - Dst: gzinit
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:443,1
    - Dst: gzcopy
      Src: /src/libspectre/ghostscript/zlib/examples/gzjoin.c:445,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 427
    functionDepth: 7
    functionLinenumber: 427
    functionLinenumberEnd: 449
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzjoin.c
    functionUses: 2
    functionsReached:
    - gzinit
    - gzcopy
    - fputs
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:48,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:54,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:55,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:56,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:59,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:67,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:68,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:70,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:70,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:71,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:75,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:79,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - source
    - dest
    - level
    argTypes:
    - FILE*
    - FILE*
    - int
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    - condition: (strm.avail_in == 0)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 84
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 84
    functionName: def
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - feof
    - fread
    - assert
    - deflateInit
    - deflateEnd
    - deflate
    - fwrite
    - ferror
    linkageType: ''
    returnType: int
    signature: int def(FILE *source, FILE *dest, int level)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:106,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:112,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:113,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:114,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:125,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:126,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:132,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:136,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:136,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:137,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:146,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - FILE*
    - FILE*
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    constantsTouched: []
    func_position:
      end: 148
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 148
    functionName: inf
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    functionUses: 4
    functionsReached:
    - inflateInit
    - fread
    - assert
    - inflate
    - fwrite
    - ferror
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int inf(FILE *source, FILE *dest)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:153,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:156,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:157,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:158,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:159,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:162,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:165,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:168,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:171,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: zerr
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    functionUses: 0
    functionsReached:
    - fputs
    - ferror
    linkageType: ''
    returnType: void
    signature: void zerr(int ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:181,1
    - Dst: SET_BINARY_MODE
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:182,1
    - Dst: def
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:186,1
    - Dst: zerr
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:188,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:193,1
    - Dst: inf
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:194,1
    - Dst: zerr
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:196,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/zpipe.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 205
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zpipe.c
    functionUses: 2
    functionsReached:
    - zerr
    - strcmp
    - fputs
    - inf
    - SET_BINARY_MODE
    - def
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: BAIL
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BAIL(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: PULL2
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: PULL4
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: PULL8
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 284
    functionName: PUT2
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT2(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: PUT4
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT4(p,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: PUT8
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT8(p,a)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:353,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:354,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:357,1
    - Dst: time
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:357,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:358,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:361,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:363,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 367
    functionName: log_lock
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - stat
    - close
    - unlink
    - strcpy
    - open
    - sleep
    - time
    linkageType: ''
    returnType: local
    signature: local log_lock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:376,1
    - Dst: utimes
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:377,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 380
    functionName: log_touch
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - stat
    - utimes
    - strcpy
    linkageType: ''
    returnType: local
    signature: local log_touch(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:388,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:389,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 393
    functionName: log_check
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - stat
    - log_touch
    - strcpy
    linkageType: ''
    returnType: local
    signature: local log_check(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: log_check
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:398,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:400,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: log_unlock
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - unlink
    - strcpy
    - log_check
    linkageType: ''
    returnType: local
    signature: local log_unlock(struct log *log)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:415,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:416,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:417,1
    - Dst: PULL8
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:420,1
    - Dst: PULL8
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:421,1
    - Dst: PULL4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:422,1
    - Dst: PULL4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:423,1
    - Dst: PULL4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:424,1
    - Dst: PULL4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:425,1
    - Dst: PULL2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 430
    functionName: log_head
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - read
    - PULL4
    - PULL8
    - PULL2
    - memcmp
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_head(struct log *log)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PUT8
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:442,1
    - Dst: PUT8
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:443,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:444,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:445,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:446,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:447,1
    - Dst: PUT2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:448,1
    - Dst: fsync
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:450,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:451,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:452,1
    - Dst: fsync
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 455
    functionName: log_mark
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - PUT2
    - fsync
    - PUT8
    - write
    - PUT4
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_mark(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:476,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:477,1
    - Dst: PUT2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:489,1
    - Dst: PUT2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:490,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:491,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:492,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - log
    - last
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 494
    functionName: log_last
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - read
    - write
    - PUT2
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_last(struct log *log, int last)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_last
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:510,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:521,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:523,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:524,1
    - Dst: log_last
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:534,1
    - Dst: log_last
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:543,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:545,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:550,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:551,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:552,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:553,1
    - Dst: ftruncate
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:553,1
    - Dst: log_mark
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:557,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:559,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:560,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 562
    functionName: log_append
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - write
    - unlink
    - strcpy
    - BAIL
    - PUT4
    - ftruncate
    - crc32
    - log_mark
    - lseek
    - log_last
    linkageType: ''
    returnType: local
    signature: local log_append(struct log *log, unsigned char *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:577,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:578,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:579,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:582,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:583,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:583,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:586,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:587,1
    - Dst: rename
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:588,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:589,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:592,1
    - Dst: log_mark
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:595,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 571
    functionDepth: 5
    functionLinenumber: 571
    functionLinenumberEnd: 596
    functionName: log_replace
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strlen
    - unlink
    - strcpy
    - BAIL
    - malloc
    - rename
    - free
    - log_mark
    linkageType: ''
    returnType: local
    signature: local log_replace(struct log *log)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:623,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:628,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:629,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:631,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:632,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:634,1
    - Dst: deflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:638,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:640,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:644,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:646,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:646,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:647,1
    - Dst: deflatePrime
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:650,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:661,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:663,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:664,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:667,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:670,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:671,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:677,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:678,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:702,1
    - Dst: PUT4
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:703,1
    - Dst: log_last
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:704,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:704,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:705,1
    - Dst: ftruncate
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:705,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:707,1
    - Dst: log_mark
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:710,1
    - Dst: log_replace
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:714,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 69
    argCount: 3
    argNames:
    - log
    - data
    - len
    argTypes:
    - struct log*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 715
    functionName: log_compress
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - read
    - deflateSetDictionary
    - deflateInit2
    - write
    - close
    - deflatePrime
    - strcpy
    - open
    - deflateEnd
    - deflate
    - BAIL
    - PUT4
    - ftruncate
    - log_replace
    - log_touch
    - log_mark
    - lseek
    - log_last
    linkageType: ''
    returnType: local
    signature: local log_compress(struct log *log, unsigned char *data, size_t len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:723,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:724,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:725,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:728,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:728,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - log
    - op
    - record
    argTypes:
    - struct log*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionName: log_log
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - fopen
    - strcpy
    - fprintf
    - ctime
    - time
    - fclose
    linkageType: ''
    returnType: local
    signature: local log_log(struct log *log, int op, char *record)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:746,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:750,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:751,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:754,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:755,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:758,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:759,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:762,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:763,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:765,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:768,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:771,1
    - Dst: log_append
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:777,1
    - Dst: log_compress
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:780,1
    - Dst: log_replace
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:783,1
    - Dst: log_log
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:787,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - log
    - op
    argTypes:
    - struct log*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 738
    functionDepth: 7
    functionLinenumber: 738
    functionLinenumberEnd: 793
    functionName: log_recover
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - read
    - log_compress
    - log_log
    - stat
    - log_append
    - close
    - strcpy
    - open
    - malloc
    - log_replace
    - free
    linkageType: ''
    returnType: local
    signature: local log_recover(struct log *log, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:799,1
    - Dst: log_unlock
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 802
    functionName: log_close
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_unlock
    - close
    linkageType: ''
    returnType: local
    signature: local log_close(struct log *log)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:820,1
    - Dst: log_lock
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:824,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:828,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:829,1
    - Dst: log_close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:831,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:836,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:837,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:838,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:839,1
    - Dst: log_close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:840,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:843,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:844,1
    - Dst: log_head
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:848,1
    - Dst: log_close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:849,1
    - Dst: log_recover
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:854,1
    - Dst: log_close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:855,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:860,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - log
    argTypes:
    - struct log*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 813
    functionDepth: 8
    functionLinenumber: 813
    functionLinenumberEnd: 862
    functionName: log_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_touch
    - log_lock
    - close
    - write
    - strcpy
    - unlink
    - open
    - log_recover
    - log_head
    - log_close
    - lseek
    linkageType: ''
    returnType: local
    signature: local log_open(struct log *log)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:875,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:878,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:882,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:883,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:885,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:888,1
    - Dst: log_open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:893,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:894,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:895,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 865
    functionDepth: 9
    functionLinenumber: 865
    functionLinenumberEnd: 901
    functionName: gzlog_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_open
    - strlen
    - strcpy
    - malloc
    - free
    linkageType: ''
    returnType: gzlog
    signature: gzlog *gzlog_open(char *path)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:917,1
    - Dst: log_check
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:923,1
    - Dst: log_open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:923,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:929,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:935,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:939,1
    - Dst: PULL2
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:941,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:943,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:947,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:949,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:952,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:953,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:956,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:957,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:959,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:962,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:963,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:967,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:968,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:970,1
    - Dst: log_mark
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:975,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:977,1
    - Dst: log_compress
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:980,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:981,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:986,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 908
    functionDepth: 9
    functionLinenumber: 908
    functionLinenumberEnd: 988
    functionName: gzlog_compress
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - read
    - log_compress
    - strcmp
    - log_open
    - write
    - close
    - strcpy
    - open
    - malloc
    - BAIL
    - PULL2
    - free
    - log_check
    - log_touch
    - log_mark
    - lseek
    linkageType: ''
    returnType: int
    signature: int gzlog_compress(gzlog *logd)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1001,1
    - Dst: log_check
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1009,1
    - Dst: log_open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1009,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1013,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1014,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1017,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1018,1
    - Dst: log_touch
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1020,1
    - Dst: log_mark
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1023,1
    - Dst: BAIL
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1025,1
    - Dst: log_append
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1028,1
    - Dst: gzlog_compress
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1036,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 3
    argNames:
    - logd
    - data
    - len
    argTypes:
    - gzlog*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 995
    functionDepth: 10
    functionLinenumber: 995
    functionLinenumberEnd: 1037
    functionName: gzlog_write
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - strcmp
    - log_open
    - write
    - close
    - strcpy
    - log_append
    - open
    - BAIL
    - gzlog_compress
    - log_check
    - log_touch
    - log_mark
    linkageType: ''
    returnType: int
    signature: int gzlog_write(gzlog *logd, void *data, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1047,1
    - Dst: log_close
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1051,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1055,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1056,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzlog.c:1057,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - logd
    argTypes:
    - gzlog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1042
    functionDepth: 4
    functionLinenumber: 1042
    functionLinenumberEnd: 1059
    functionName: gzlog_close
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzlog.c
    functionUses: 0
    functionsReached:
    - log_close
    - free
    - strcpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gzlog_close(gzlog *logd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:95,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg1
    - msg2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: bye
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local bye(char *msg1, char *msg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: gcd
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned gcd(unsigned a, unsigned b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:140,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:148,1
    - Dst: gcd
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:154,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - list
    - len
    - rot
    argTypes:
    - unsigned char*
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: rotate
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - gcd
    - memcpy
    - memmove
    linkageType: ''
    returnType: local
    signature: local rotate(unsigned char *list, unsigned len, unsigned rot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:184,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: readin
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read
    - bye
    linkageType: ''
    returnType: local
    signature: local readin(file *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: readin
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:194,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: readmore
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - bye
    - readin
    linkageType: ''
    returnType: local
    signature: local readmore(file *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - in
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: read1
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read1(in)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:210,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:211,1
    - Dst: readmore
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:214,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - in
    - n
    argTypes:
    - file*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: skip
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 3
    functionsReached:
    - bye
    - lseek
    - readmore
    linkageType: ''
    returnType: local
    signature: local skip(file *in, unsigned n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:227,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:228,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:229,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: read4
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read1
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long read4(file *in)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:240,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:240,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:241,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:241,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:242,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:243,1
    - Dst: skip
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:244,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:246,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:247,1
    - Dst: skip
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:248,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:250,1
    - Dst: read1
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:251,1
    - Dst: skip
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:252,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - in
    argTypes:
    - file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 253
    functionName: gzheader
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - skip
    - bye
    - read1
    linkageType: ''
    returnType: local
    signature: local gzheader(file *in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:270,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:271,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:272,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:273,1
    - Dst: gzheader
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:278,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:281,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:282,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:286,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:287,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:291,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:295,1
    - Dst: readmore
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:300,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:310,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:311,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:312,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:314,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:317,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:331,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:335,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:340,1
    - Dst: read4
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:343,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:344,1
    - Dst: read4
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:346,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:347,1
    - Dst: readin
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:350,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:351,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:355,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:356,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:356,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:358,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:359,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:359,1
    - Dst: rotate
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:363,1
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:368,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:369,1
    - Dst: deflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:370,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:374,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:375,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:375,1
    - Dst: deflatePrime
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:376,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:378,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:381,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:382,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - name
    - strm
    - level
    argTypes:
    - char*
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 384
    functionName: gzscan
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - deflateInit2
    - open
    - gzheader
    - fprintf
    - inflateInit2
    - read
    - read4
    - lseek
    - write
    - inflate
    - crc32
    - inflateEnd
    - deflatePrime
    - readmore
    - malloc
    - free
    - deflateSetDictionary
    - rotate
    - bye
    - readin
    linkageType: ''
    returnType: local
    signature: local gzscan(char *name, z_stream *strm, int level)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:397,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:399,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:404,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:405,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:406,1
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:411,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:413,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:420,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:426,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:429,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:430,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:438,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:449,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:450,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:453,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:457,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:458,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 4
    argNames:
    - name
    - gd
    - strm
    - last
    argTypes:
    - char*
    - int
    - z_stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 460
    functionName: gztack
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 0
    functionsReached:
    - read
    - write
    - bye
    - close
    - open
    - malloc
    - deflate
    - deflateEnd
    - fprintf
    - free
    - crc32
    linkageType: ''
    returnType: local
    signature: local gztack(char *name, int gd, z_stream *strm, int last)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:476,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:479,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:488,1
    - Dst: bye
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:490,1
    - Dst: gzscan
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:494,1
    - Dst: gztack
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:498,1
    - Dst: gztack
      Src: /src/libspectre/ghostscript/zlib/examples/gzappend.c:501,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 466
    functionDepth: 6
    functionLinenumber: 466
    functionLinenumberEnd: 504
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gzappend.c
    functionUses: 2
    functionsReached:
    - printf
    - bye
    - gztack
    - gzscan
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:85,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - index
    argTypes:
    - struct access*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: free_index
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local free_index(struct access *index)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:99,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:101,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:103,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:113,1
    - Dst: free_index
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:115,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:127,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:129,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 6
    argNames:
    - index
    - bits
    - in
    - out
    - left
    - window
    argTypes:
    - struct access*
    - int
    - off_t
    - off_t
    - unsigned
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 134
    functionName: addpoint
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - free_index
    - malloc
    - free
    - memcpy
    - realloc
    linkageType: ''
    returnType: local
    signature: "local *addpoint(struct access *index, int bits,\n    off_t in, off_t
      out, unsigned left, unsigned char *window)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:160,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:172,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:173,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:195,1
    - Dst: addpoint
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:216,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:228,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:229,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:236,1
    - Dst: free_index
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:238,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 3
    argNames:
    - in
    - span
    - built
    argTypes:
    - FILE*
    - off_t
    - struct access**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 144
    functionDepth: 6
    functionLinenumber: 144
    functionLinenumberEnd: 240
    functionName: build_index
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zran.c
    functionUses: 0
    functionsReached:
    - addpoint
    - free_index
    - fread
    - inflate
    - ferror
    - realloc
    - inflateInit2
    - inflateEnd
    linkageType: ''
    returnType: local
    signature: local build_index(FILE *in, off_t span, struct access **built)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:274,1
    - Dst: fseeko
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:277,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:281,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:283,1
    - Dst: inflatePrime
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:286,1
    - Dst: inflateSetDictionary
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:288,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:315,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:316,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:326,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:347,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 5
    argNames:
    - in
    - index
    - offset
    - buf
    - len
    argTypes:
    - FILE*
    - struct access*
    - off_t
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 349
    functionName: extract
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zran.c
    functionUses: 1
    functionsReached:
    - fseeko
    - inflatePrime
    - fread
    - inflate
    - inflateEnd
    - ferror
    - getc
    - inflateInit2
    - inflateSetDictionary
    linkageType: ''
    returnType: local
    signature: "local extract(FILE *in, struct access *index, off_t offset,\n                  unsigned
      char *buf, int len)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:364,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:367,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:369,1
    - Dst: build_index
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:374,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:376,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:379,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:388,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:392,1
    - Dst: extract
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:396,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:398,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:401,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:402,1
    - Dst: free_index
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:406,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/examples/zran.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 354
    functionDepth: 7
    functionLinenumber: 354
    functionLinenumberEnd: 409
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/zran.c
    functionUses: 2
    functionsReached:
    - free_index
    - build_index
    - fprintf
    - extract
    - fwrite
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:64,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - why
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: quit
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    functionUses: 4
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: local
    signature: local quit(char *why)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:80,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:81,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:84,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:86,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - in
    - def
    argTypes:
    - FILE*
    - z_streamp
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 90
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 90
    functionName: partcompress
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    - assert
    - deflate
    - feof
    linkageType: ''
    returnType: local
    signature: local partcompress(FILE *in, z_streamp def)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:106,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:107,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:117,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:118,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - inf
    - def
    argTypes:
    - z_streamp
    - z_streamp
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: "(ret != Z_STREAM_ERROR && ret != Z_DATA_ERROR &&\n               ret
        != Z_NEED_DICT)"
      pos:
        line_end: 107
        line_start: 106
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 121
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 121
    functionName: recompress
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    functionUses: 0
    functionsReached:
    - inflate
    - assert
    - deflate
    linkageType: ''
    returnType: local
    signature: local recompress(z_streamp inf, z_streamp def)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:138,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:139,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:141,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:143,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:147,1
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:151,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:153,1
    - Dst: partcompress
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:158,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:160,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:166,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:166,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:167,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:170,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:171,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:172,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:173,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:185,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:186,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:188,1
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:189,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:190,1
    - Dst: recompress
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:197,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:199,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:202,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:203,1
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:204,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:205,1
    - Dst: recompress
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:212,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:214,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:215,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:219,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:219,1
    - Dst: quit
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:220,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:223,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:224,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:225,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:226,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:227,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:228,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/fitblk.c:229,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 72
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 189
        line_start: 189
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 226
        line_start: 226
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret == Z_STREAM_END)
      pos:
        line_end: 214
        line_start: 214
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    - condition: (ret != Z_STREAM_ERROR)
      pos:
        line_end: 224
        line_start: 224
        source_file: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    constantsTouched: []
    func_position:
      end: 233
      start: 127
    functionDepth: 5
    functionLinenumber: 127
    functionLinenumberEnd: 233
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/fitblk.c
    functionUses: 2
    functionsReached:
    - strtol
    - assert
    - deflateInit
    - malloc
    - partcompress
    - deflateEnd
    - free
    - fprintf
    - quit
    - fwrite
    - ferror
    - deflateReset
    - recompress
    - inflateEnd
    - inflateReset
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: INDEX
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INDEX(i,j,k)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:189,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:190,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:193,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 196
    functionName: cleanup
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 10
    functionsReached:
    - free
    linkageType: ''
    returnType: local
    signature: local cleanup(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:217,1
    - Dst: INDEX
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:220,1
    - Dst: count
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:240,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - syms
    - len
    - left
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (syms > left && left > 0 && len < max)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/libspectre/ghostscript/zlib/examples/enough.c
    - condition: (sum != 0)
      pos:
        line_end: 246
        line_start: 246
        source_file: /src/libspectre/ghostscript/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 252
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 252
    functionName: count
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 8
    functionsReached:
    - INDEX
    - assert
    - count
    linkageType: ''
    returnType: local
    signature: local count(int syms, int len, int left)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INDEX
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:267,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:287,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:289,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:297,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:302,1
    - Dst: cleanup
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:303,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:304,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 5
    argNames:
    - syms
    - len
    - left
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 315
    functionName: beenhere
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - exit
    - fputs
    - memset
    - INDEX
    - calloc
    - cleanup
    - realloc
    linkageType: ''
    returnType: local
    signature: local beenhere(int syms, int len, int left, int mem, int rem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:339,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:344,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:347,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:348,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:349,1
    - Dst: beenhere
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:358,1
    - Dst: examine
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:385,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 5
    argNames:
    - syms
    - len
    - left
    - mem
    - rem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    assertStmts:
    - condition: (rem == left)
      pos:
        line_end: 338
        line_start: 338
        source_file: /src/libspectre/ghostscript/zlib/examples/enough.c
    constantsTouched: []
    func_position:
      end: 396
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 396
    functionName: examine
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 1
    functionsReached:
    - beenhere
    - printf
    - assert
    - fflush
    - examine
    - putchar
    linkageType: ''
    returnType: local
    signature: local examine(int syms, int len, int left, int mem, int rem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INDEX
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:421,1
    - Dst: examine
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:423,1
    - Dst: examine
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:428,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 1
    argNames:
    - syms
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 3
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: enough
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 0
    functionsReached:
    - printf
    - INDEX
    - examine
    linkageType: ''
    returnType: local
    signature: local enough(int syms)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:476,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:478,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:480,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:484,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:499,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:505,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:511,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:513,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:526,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:527,1
    - Dst: cleanup
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:528,1
    - Dst: count
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:536,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:539,1
    - Dst: cleanup
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:540,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:543,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:545,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:547,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:549,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:555,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:556,1
    - Dst: cleanup
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:557,1
    - Dst: enough
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:565,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:567,1
    - Dst: cleanup
      Src: /src/libspectre/ghostscript/zlib/examples/enough.c:570,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 74
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 572
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/enough.c
    functionUses: 2
    functionsReached:
    - count
    - puts
    - enough
    - printf
    - fputs
    - fprintf
    - calloc
    - atoi
    - cleanup
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - in_desc
    - buf
    argTypes:
    - void*
    - z_const unsigned**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 112
    functionName: in
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 35
    functionsReached:
    - read
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned in(void *in_desc, z_const unsigned char **buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:137,1
    - Dst: write
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - out_desc
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 152
    functionName: out
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 9
    functionsReached:
    - write
    - crc32
    linkageType: ''
    returnType: local
    signature: local out(void *out_desc, unsigned char *buf, unsigned len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: NEXT
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: FLUSHCODE
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLUSHCODE()
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:226,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:249,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:252,1
    - Dst: FLUSHCODE
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:269,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:279,1
    - Dst: out
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:281,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:291,1
    - Dst: FLUSHCODE
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:303,1
    - Dst: out
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:353,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 111
    argCount: 5
    argNames:
    - have
    - next
    - indp
    - outfile
    - strm
    argTypes:
    - unsigned
    - z_const unsigned*
    - struct ind*
    - int
    - z_stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 369
    functionName: lunpipe
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - FLUSHCODE
    - NEXT
    - out
    linkageType: ''
    returnType: local
    signature: "local lunpipe(unsigned have, z_const unsigned char *next, struct ind
      *indp,\n                  int outfile, z_stream *strm)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:402,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:406,1
    - Dst: lunpipe
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:415,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:421,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:427,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:428,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:429,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:430,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:431,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:432,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:433,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:441,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:442,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:447,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:455,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:458,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:461,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:462,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:469,1
    - Dst: inflateBack
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:475,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:483,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:484,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:485,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:486,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:494,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:495,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:496,1
    - Dst: NEXT
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:497,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 102
    argCount: 3
    argNames:
    - strm
    - infile
    - outfile
    argTypes:
    - z_stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 511
    functionName: gunpipe
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - lunpipe
    - inflateBack
    - NEXT
    - crc32
    linkageType: ''
    returnType: local
    signature: local gunpipe(z_stream *strm, int infile, int outfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:523,1
    - Dst: chmod
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:527,1
    - Dst: chown
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:530,1
    - Dst: utime
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - from
    - to
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 536
    functionName: copymeta
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - stat
    - utime
    - chown
    - chmod
    linkageType: ''
    returnType: local
    signature: local copymeta(char *from, char *to)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:559,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:561,1
    - Dst: open
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:572,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:574,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:575,1
    - Dst: gunpipe
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:582,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:583,1
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:584,1
    - Dst: copymeta
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:591,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:592,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:595,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:599,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:600,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:603,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:604,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:607,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:609,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:613,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:614,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:617,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:622,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:623,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 4
    argNames:
    - strm
    - inname
    - outname
    - test
    argTypes:
    - z_stream*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 627
    functionName: gunzip
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 0
    functionsReached:
    - gunpipe
    - copymeta
    - close
    - unlink
    - open
    - fprintf
    - strerror
    linkageType: ''
    returnType: local
    signature: local gunzip(z_stream *strm, char *inname, char *outname, int test)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: inflateBackInit
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:643,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:645,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:653,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:654,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:655,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:656,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:659,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:669,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:670,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:671,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:673,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:674,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:675,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:679,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:683,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:685,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:689,1
    - Dst: gunzip
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:692,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:693,1
    - Dst: gunzip
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:697,1
    - Dst: inflateBackEnd
      Src: /src/libspectre/ghostscript/zlib/examples/gun.c:700,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 631
    functionDepth: 5
    functionLinenumber: 631
    functionLinenumberEnd: 702
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/examples/gun.c
    functionUses: 2
    functionsReached:
    - inflateBackInit
    - strcmp
    - strlen
    - malloc
    - inflateBackEnd
    - free
    - fprintf
    - memcpy
    - gunzip
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setcompressionlevel
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/test.cpp:14,1
    - Dst: setcompressionlevel
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/test.cpp:17,1
    - Dst: gzofstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 4
    functionDepth: 1
    functionLinenumber: 4
    functionLinenumberEnd: 24
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/test.cpp
    functionUses: 2
    functionsReached:
    - gzofstream::close
    - setcompressionlevel
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 22
    functionName: gzfilebuf::is_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - (*f)(gzofstream , T)
    - v
    argTypes:
    - gzofstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 95
    functionName: gzomanip::gzomanip
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzomanip(gzofstream &(*f)(gzofstream &, T), T v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - m
    argTypes:
    - gzofstream
    - gzomanip<T>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: '&operator<<(gzofstream &s, const gzomanip<T> &m)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &operator<<(gzofstream &s, const gzomanip<T> &m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:108,1
    - Dst: setcompressionlevel
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: setcompressionlevel
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - gzofstream::rdbuf
    - setcompressionlevel
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionlevel( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:114,1
    - Dst: setcompressionstrategy
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: setcompressionstrategy
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - setcompressionstrategy
    - gzofstream::rdbuf
    linkageType: ''
    returnType: gzofstream
    signature: gzofstream &setcompressionstrategy( gzofstream &s, int l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: setcompressionlevel
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 2
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionlevel(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip<int>
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: setcompressionstrategy
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.h
    functionUses: 1
    functionsReached:
    - gzomanip<int>
    linkageType: ''
    returnType: gzomanip<int>
    signature: gzomanip<int> setcompressionstrategy(int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 8
    functionName: gzfilebuf::gzfilebuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::gzfilebuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:12,1
    - Dst: gzfilebuf::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:14,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: gzfilebuf::~gzfilebuf()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::sync
    - gzfilebuf::close
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::~gzfilebuf()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:21,1
    - Dst: gzopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:51,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 58
    functionName: gzfilebuf::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzopen
    - gzfilebuf::is_open
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::open( const char *name,\n                            int
      io_mode )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:63,1
    - Dst: gzdopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - file_descriptor
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 100
    functionName: gzfilebuf::attach
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzdopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *gzfilebuf::attach( int file_descriptor,\n                              int
      io_mode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:104,1
    - Dst: gzfilebuf::sync
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:106,1
    - Dst: gzclose
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: gzfilebuf::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - gzfilebuf::sync
    - gzclose
    - gzfilebuf::is_open
    linkageType: ''
    returnType: gzfilebuf
    signature: gzfilebuf *gzfilebuf::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: gzfilebuf::setcompressionlevel
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionlevel( int comp_level )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - comp_strategy
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: gzfilebuf::setcompressionstrategy
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::setcompressionstrategy( int comp_strategy )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streampos
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - 'off'
    - dir
    - which
    argTypes:
    - streamoff
    - ios::seek_dir
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: gzfilebuf::seekoff
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - streampos
    linkageType: ''
    returnType: streampos
    signature: streampos gzfilebuf::seekoff( streamoff off, ios::seek_dir dir, int
      which )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:138,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:142,1
    - Dst: allocate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:144,1
    - Dst: setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:146,1
    - Dst: in_avail
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:150,1
    - Dst: gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:151,1
    - Dst: out_waiting
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:153,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:154,1
    - Dst: gzfilebuf::fillbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:162,1
    - Dst: setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:165,1
    - Dst: gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:169,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: gzfilebuf::underflow
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - setg
    - allocate
    - gzfilebuf::is_open
    - setp
    - base
    - gzfilebuf::flushbuf
    - gzfilebuf::fillbuf
    - out_waiting
    - gptr
    - in_avail
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::underflow()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:175,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:178,1
    - Dst: allocate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:179,1
    - Dst: setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:181,1
    - Dst: in_avail
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:183,1
    - Dst: out_waiting
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:186,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:187,1
    - Dst: blen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:192,1
    - Dst: setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:193,1
    - Dst: pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:197,1
    - Dst: pbump
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 204
    functionName: gzfilebuf::overflow
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - setg
    - allocate
    - blen
    - gzfilebuf::is_open
    - setp
    - base
    - gzfilebuf::flushbuf
    - pptr
    - out_waiting
    - in_avail
    - pbump
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::overflow( int c )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:208,1
    - Dst: out_waiting
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:211,1
    - Dst: gzfilebuf::flushbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 216
    functionName: gzfilebuf::sync
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 2
    functionsReached:
    - out_waiting
    - gzfilebuf::is_open
    - gzfilebuf::flushbuf
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::sync()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:223,1
    - Dst: pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:224,1
    - Dst: gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:226,1
    - Dst: setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 233
    functionName: gzfilebuf::flushbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 3
    functionsReached:
    - pbase
    - setp
    - gzwrite
    - pptr
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::flushbuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:240,1
    - Dst: blen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:242,1
    - Dst: gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:244,1
    - Dst: setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:248,1
    - Dst: base
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: gzfilebuf::fillbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - blen
    - gzread
    - base
    - setg
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::fillbuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: gzfilestream_common::gzfilestream_common
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::gzfilestream_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: gzfilestream_common::~gzfilestream_common()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::~gzfilestream_common()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:263,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:264,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:266,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: gzfilestream_common::attach
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - clear
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::attach( int fd, int io_mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:272,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:273,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: gzfilestream_common::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - clear
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::open( const char *name, int io_mode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:281,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: gzfilestream_common::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached:
    - gzfilestream_common::close
    - clear
    linkageType: ''
    returnType: void
    signature: void gzfilestream_common::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 289
    functionName: gzfilestream_common::rdbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gzfilebuf
    signature: gzfilebuf *gzfilestream_common::rdbuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:292,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - clear
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:298,1
    - Dst: gzfilestream_common::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream( const char *name, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:304,1
    - Dst: gzfilestream_common::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 307
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream( int fd, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 309
    functionName: gzifstream::~gzifstream()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzifstream::~gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:312,1
    - Dst: clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - clear
    - gzfilestream_common::rdbuf
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:318,1
    - Dst: gzfilestream_common::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - io_mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::open
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream( const char *name, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzfilestream_common::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:324,1
    - Dst: gzfilestream_common::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - io_mode
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached:
    - gzfilestream_common::rdbuf
    - gzfilestream_common::attach
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream( int fd, int io_mode )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 329
    functionName: gzofstream::~gzofstream()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream/zfstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gzofstream::~gzofstream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: bits
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 9
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: local bits(struct state *s, int need)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: stored
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local stored(struct state *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 255
    functionName: decode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 27
    functionsReached:
    - bits
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, const struct huffman *h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:299,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 305
    functionName: decode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 27
    functionsReached:
    - longjmp
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, const struct huffman *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - h
    - length
    - n
    argTypes:
    - struct huffman*
    - short*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 379
    functionName: construct
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local construct(struct huffman *h, const short *length, int n)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:460,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:477,1
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:480,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:483,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - s
    - lencode
    - distcode
    argTypes:
    - struct state*
    - struct huffman*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 510
    functionName: codes
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 1
    functionsReached:
    - decode
    - bits
    linkageType: ''
    returnType: local
    signature: "local codes(struct state *s,\n                const struct huffman
      *lencode,\n                const struct huffman *distcode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:563,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:568,1
    - Dst: codes
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:575,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 576
    functionName: fixed
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 21
    functionsReached:
    - construct
    - codes
    linkageType: ''
    returnType: local
    signature: local fixed(struct state *s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:684,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:685,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:686,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:692,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:697,1
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:707,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:718,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:721,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:723,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:736,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:741,1
    - Dst: codes
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:746,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 747
    functionName: dynamic
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - decode
    - construct
    - bits
    - codes
    linkageType: ''
    returnType: local
    signature: local dynamic(struct state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:815,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:820,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:821,1
    - Dst: stored
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:823,1
    - Dst: fixed
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:825,1
    - Dst: dynamic
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c:827,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - dest
    - destlen
    - source
    - sourcelen
    argTypes:
    - unsigned char*
    - unsigned long*
    - unsigned char*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 840
    functionName: puff
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/puff.c
    functionUses: 0
    functionsReached:
    - dynamic
    - setjmp
    - fixed
    - bits
    - stored
    linkageType: ''
    returnType: int
    signature: "int puff(unsigned char *dest,           /* pointer to destination
      pointer */\n         unsigned long *destlen,        /* amount of output space
      */\n         const unsigned char *source,   /* pointer to source data pointer
      */\n         unsigned long *sourcelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 52
    functionName: bythirds
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local bythirds(size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:67,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:70,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:73,1
    - Dst: bythirds
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:75,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:76,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:77,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:83,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - name
    - len
    argTypes:
    - char*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 5
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: load
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c
    functionUses: 6
    functionsReached:
    - fread
    - malloc
    - free
    - bythirds
    - fopen
    - realloc
    - fclose
    linkageType: ''
    returnType: local
    signature: local *load(const char *name, size_t *len)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:105,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:112,1
    - Dst: load
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:117,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:119,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:123,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:125,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:129,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:130,1
    - Dst: puff
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:137,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:141,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:142,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:150,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:152,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:153,1
    - Dst: puff
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:156,1
    - Dst: SET_BINARY_MODE
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:157,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:158,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:159,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c:163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 88
    functionDepth: 6
    functionLinenumber: 88
    functionLinenumberEnd: 165
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/puff/pufftest.c
    functionUses: 2
    functionsReached:
    - puff
    - malloc
    - load
    - free
    - fprintf
    - SET_BINARY_MODE
    - fwrite
    - atoi
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - R
    - A
    - B
    argTypes:
    - LARGE_INTEGER*
    - LARGE_INTEGER
    - LARGE_INTEGER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 8
    functionDepth: 0
    functionLinenumber: 8
    functionLinenumberEnd: 18
    functionName: MyDoMinus64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyDoMinus64(LARGE_INTEGER *R,LARGE_INTEGER A,LARGE_INTEGER B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: BeginCountRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __rdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: GetResRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - __rdtsc
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: myGetRDTSC32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: BeginCountRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - myGetRDTSC32
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: myGetRDTSC32
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:60,1
    - Dst: MyDoMinus64
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: GetResRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - myGetRDTSC32
    - MyDoMinus64
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: myGetRDTSC32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void myGetRDTSC32(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pbeginTime64
    argTypes:
    - LARGE_INTEGER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: BeginCountRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BeginCountRdtsc(LARGE_INTEGER * pbeginTime64)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: GetResRdtsc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LARGE_INTEGER
    signature: LARGE_INTEGER GetResRdtsc(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:86,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pbeginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER*
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: BeginCountPerfCounter
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - GetTickCount
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: void BeginCountPerfCounter(LARGE_INTEGER * pbeginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:99,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:100,1
    - Dst: MyDoMinus64
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:103,1
    - Dst: QueryPerformanceFrequency
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:104,1
    - Dst: Int64ShrlMod32
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:108,1
    - Dst: Int64ShrlMod32
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - beginTime64
    - fComputeTimeQueryPerf
    argTypes:
    - LARGE_INTEGER
    - BOOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: GetMsecSincePerfCounter
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - QueryPerformanceFrequency
    - Int64ShrlMod32
    - QueryPerformanceCounter
    - GetTickCount
    - MyDoMinus64
    linkageType: ''
    returnType: DWORD
    signature: DWORD GetMsecSincePerfCounter(LARGE_INTEGER beginTime64,BOOL fComputeTimeQueryPerf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:124,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:128,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:130,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:131,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:132,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:137,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - filename
    - plFileSize
    - pFilePtr
    argTypes:
    - char*
    - long*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: ReadFileMemory
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 0
    functionsReached:
    - fread
    - malloc
    - ftell
    - fseek
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int ReadFileMemory(const char* filename,long* plFileSize,unsigned char**
      pFilePtr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:163,1
    - Dst: ReadFileMemory
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:167,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:169,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:172,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:175,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:178,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:181,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:186,1
    - Dst: BeginCountPerfCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:188,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:189,1
    - Dst: BeginCountRdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:190,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:197,1
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:198,1
    - Dst: min
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:207,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:209,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:216,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:217,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:218,1
    - Dst: GetResRdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:219,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:220,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:221,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:222,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:223,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:226,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:227,1
    - Dst: BeginCountPerfCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:229,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:230,1
    - Dst: BeginCountRdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:231,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:238,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:239,1
    - Dst: min
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:248,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:250,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:257,1
    - Dst: GetTickCount
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:258,1
    - Dst: GetMsecSincePerfCounter
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:259,1
    - Dst: GetResRdtsc
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:260,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:261,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:262,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:263,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:264,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:269,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 76
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 145
    functionDepth: 6
    functionLinenumber: 145
    functionLinenumberEnd: 275
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/testzlib/testzlib.c
    functionUses: 2
    functionsReached:
    - GetResRdtsc
    - atol
    - memcmp
    - realloc
    - ReadFileMemory
    - BeginCountRdtsc
    - GetMsecSincePerfCounter
    - memset
    - inflate
    - min
    - inflateEnd
    - printf
    - deflateInit
    - malloc
    - BeginCountPerfCounter
    - deflate
    - deflateEnd
    - GetTickCount
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::ios_base::openmode
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:22,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 21
    functionDepth: 1
    functionLinenumber: 21
    functionLinenumberEnd: 27
    functionName: gzfilebuf::gzfilebuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::disable_buffer
    - std::ios_base::openmode
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::gzfilebuf()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:34,1
    - Dst: gzfilebuf::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:36,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: gzfilebuf::~gzfilebuf()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::sync
    - gzfilebuf::disable_buffer
    - gzfilebuf::close
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::~gzfilebuf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzsetparams
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - comp_level
    - comp_strategy
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: gzfilebuf::setcompression
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzsetparams
    linkageType: ''
    returnType: int
    signature: "int gzfilebuf::setcompression(int comp_level,\n                          int
      comp_strategy)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:55,1
    - Dst: gzfilebuf::open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:63,1
    - Dst: gzopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:67,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:71,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 75
    functionName: gzfilebuf::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::enable_buffer
    - gzopen
    - gzfilebuf::is_open
    - gzfilebuf::open_mode
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\ngzfilebuf::open(const char *name,\n                std::ios_base::openmode
      mode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:83,1
    - Dst: gzfilebuf::open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:91,1
    - Dst: gzdopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:95,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:99,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 103
    functionName: gzfilebuf::attach
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::enable_buffer
    - gzfilebuf::is_open
    - gzfilebuf::open_mode
    - gzdopen
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\ngzfilebuf::attach(int fd,\n                  std::ios_base::openmode
      mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:110,1
    - Dst: gzfilebuf::sync
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:115,1
    - Dst: gzclose
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:117,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: gzfilebuf::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzfilebuf::sync
    - gzclose
    - gzfilebuf::is_open
    - gzfilebuf::disable_buffer
    linkageType: ''
    returnType: gzfilebuf
    signature: 'gzfilebuf *

      gzfilebuf::close()'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:146,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:148,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:150,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:152,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:160,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:163,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 14
    argCount: 2
    argNames:
    - mode
    - c_mode
    argTypes:
    - std::ios_base::openmode
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 165
    functionName: gzfilebuf::open_mode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - strcat
    - strlen
    - strcpy
    linkageType: ''
    returnType: bool
    signature: "bool gzfilebuf::open_mode(std::ios_base::openmode mode,\n                     char*
      c_mode) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:172,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:175,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:175,1
    - Dst: gzfilebuf::egptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:175,1
    - Dst: std::streamsize
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:176,1
    - Dst: gzfilebuf::egptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:176,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: gzfilebuf::showmanyc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::is_open
    - gzfilebuf::gptr
    - std::streamsize
    - gzfilebuf::egptr
    linkageType: ''
    returnType: std::streamsize
    signature: std::streamsize gzfilebuf::showmanyc()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:188,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:188,1
    - Dst: gzfilebuf::egptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:188,1
    - Dst: traits_type::to_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:189,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:189,1
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:192,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:193,1
    - Dst: gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:197,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:202,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:203,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:206,1
    - Dst: traits_type::to_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:209,1
    - Dst: gzfilebuf::gptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 210
    functionName: gzfilebuf::underflow
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - image_pnm_feof
    - gzfilebuf::is_open
    - gzfilebuf::egptr
    - gzfilebuf::setg
    - gzread
    - traits_type::to_int_type
    - gzfilebuf::gptr
    linkageType: ''
    returnType: gzfilebuf::int_type
    signature: gzfilebuf::int_type gzfilebuf::underflow()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:217,1
    - Dst: gzfilebuf::pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::epptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:220,1
    - Dst: gzfilebuf::pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:220,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:221,1
    - Dst: traits_type::eq_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:223,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:223,1
    - Dst: gzfilebuf::pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:225,1
    - Dst: traits_type::to_char_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:225,1
    - Dst: gzfilebuf::pbump
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:226,1
    - Dst: gzfilebuf::pptr
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:229,1
    - Dst: gzfilebuf::pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:229,1
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:234,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:235,1
    - Dst: gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:237,1
    - Dst: gzfilebuf::pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:237,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:238,1
    - Dst: gzfilebuf::pbump
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:240,1
    - Dst: traits_type::eq_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:244,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:244,1
    - Dst: gzfilebuf::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:247,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:248,1
    - Dst: traits_type::to_char_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:250,1
    - Dst: gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:252,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:253,1
    - Dst: traits_type::eq_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:258,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:258,1
    - Dst: traits_type::not_eof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:259,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 1
    argNames:
    - c
    argTypes:
    - int_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 262
    functionName: gzfilebuf::overflow
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - traits_type::to_char_type
    - traits_type::eq_int_type
    - image_pnm_feof
    - gzfilebuf::pbase
    - gzfilebuf::pbump
    - gzfilebuf::epptr
    - gzfilebuf::is_open
    - traits_type::not_eof
    - gzfilebuf::pptr
    - gzwrite
    linkageType: ''
    returnType: gzfilebuf::int_type
    signature: gzfilebuf::int_type gzfilebuf::overflow(int_type c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::sync
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:270,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:279,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:283,1
    - Dst: gzfilebuf::disable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:288,1
    - Dst: gzfilebuf::enable_buffer
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - char_type*
    - std::streamsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 295
    functionName: gzfilebuf::setbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzfilebuf::sync
    - gzfilebuf::enable_buffer
    - gzfilebuf::disable_buffer
    linkageType: ''
    returnType: std::streambuf
    signature: "std::streambuf *\ngzfilebuf::setbuf(char_type* p,\n                  std::streamsize
      n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: traits_type::eq_int_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:301,1
    - Dst: gzfilebuf::overflow
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:301,1
    - Dst: image_pnm_feof
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: gzfilebuf::sync
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 5
    functionsReached:
    - image_pnm_feof
    - gzfilebuf::overflow
    - traits_type::eq_int_type
    linkageType: ''
    returnType: int
    signature: int gzfilebuf::sync()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: char_type::char_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:317,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:319,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:324,1
    - Dst: char_type::char_type
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:330,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:331,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:333,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:340,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 343
    functionName: gzfilebuf::enable_buffer
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 3
    functionsReached:
    - gzfilebuf::setp
    - gzfilebuf::setg
    - char_type::char_type
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::enable_buffer()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gzfilebuf::pbase
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:353,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:357,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:358,1
    - Dst: gzfilebuf::setg
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:363,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:365,1
    - Dst: gzfilebuf::setp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:367,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 369
    functionName: gzfilebuf::disable_buffer
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 4
    functionsReached:
    - gzfilebuf::setp
    - gzfilebuf::setg
    - gzfilebuf::pbase
    linkageType: ''
    returnType: void
    signature: void gzfilebuf::disable_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::init
    linkageType: ''
    returnType: void
    signature: void gzifstream::gzifstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:383,1
    - Dst: gzifstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::init
    - gzifstream::open
    linkageType: ''
    returnType: void
    signature: "void gzifstream::gzifstream(const char* name,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:392,1
    - Dst: gzifstream::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 394
    functionName: gzifstream::gzifstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzifstream::init
    - gzifstream::attach
    linkageType: ''
    returnType: void
    signature: "void gzifstream::gzifstream(int fd,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:401,1
    - Dst: gzifstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:402,1
    - Dst: gzifstream::clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: gzifstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzifstream::open
    - gzifstream::clear
    - gzifstream::setstate
    linkageType: ''
    returnType: void
    signature: "void gzifstream::open(const char* name,\n                 std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:412,1
    - Dst: gzifstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:413,1
    - Dst: gzifstream::clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 416
    functionName: gzifstream::attach
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzifstream::clear
    - gzifstream::attach
    - gzifstream::setstate
    linkageType: ''
    returnType: void
    signature: "void gzifstream::attach(int fd,\n                   std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:422,1
    - Dst: gzifstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: gzifstream::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 1
    functionsReached:
    - gzifstream::close
    - gzifstream::setstate
    linkageType: ''
    returnType: void
    signature: void gzifstream::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::init
    linkageType: ''
    returnType: void
    signature: void gzofstream::gzofstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:438,1
    - Dst: gzofstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::open
    - gzofstream::init
    linkageType: ''
    returnType: void
    signature: "void gzofstream::gzofstream(const char* name,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::init
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:447,1
    - Dst: gzofstream::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: gzofstream::gzofstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 0
    functionsReached:
    - gzofstream::attach
    - gzofstream::init
    linkageType: ''
    returnType: void
    signature: "void gzofstream::gzofstream(int fd,\n                       std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:456,1
    - Dst: gzofstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:457,1
    - Dst: gzofstream::clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 460
    functionName: gzofstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::setstate
    - gzofstream::open
    - gzofstream::clear
    linkageType: ''
    returnType: void
    signature: "void gzofstream::open(const char* name,\n                 std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::attach
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:467,1
    - Dst: gzofstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:468,1
    - Dst: gzofstream::clear
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - mode
    argTypes:
    - int
    - std::ios_base::openmode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 471
    functionName: gzofstream::attach
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::attach
    - gzofstream::clear
    - gzofstream::setstate
    linkageType: ''
    returnType: void
    signature: "void gzofstream::attach(int fd,\n                   std::ios_base::openmode
      mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:477,1
    - Dst: gzofstream::setstate
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: gzofstream::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.cc
    functionUses: 2
    functionsReached:
    - gzofstream::setstate
    - gzofstream::close
    linkageType: ''
    returnType: void
    signature: void gzofstream::close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: gzfilebuf::is_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_open() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<gzfilebuf*>
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: gzifstream::rdbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached:
    - const_cast<gzfilebuf*>
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\n  rdbuf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzifstream::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: gzifstream::is_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzifstream::is_open
    linkageType: ''
    returnType: bool
    signature: bool is_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: const_cast<gzfilebuf*>
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: gzofstream::rdbuf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 2
    functionsReached:
    - const_cast<gzfilebuf*>
    linkageType: ''
    returnType: gzfilebuf
    signature: "gzfilebuf *\n  rdbuf() const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::is_open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 359
    functionName: gzofstream::is_open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzofstream::is_open
    linkageType: ''
    returnType: bool
    signature: bool is_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:442,1
    - Dst: setcompression
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gzs
    - l
    argTypes:
    - gzofstream
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 444
    functionName: setcompression
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - setcompression
    - gzofstream::rdbuf
    linkageType: ''
    returnType: gzofstream
    signature: 'gzofstream &

      setcompression(gzofstream &gzs, int l, int s = Z_DEFAULT_STRATEGY)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - (*f)(gzofstream , T1, T2)
    - v1
    - v2
    argTypes:
    - gzofstream
    - T1
    - T2
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: gzomanip2<T1,T2>::gzomanip2
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gzomanip2<T1,T2>::gzomanip2(gzofstream &(*f)(gzofstream &, T1,
      T2),\n                              T1 v1,\n                              T2
      v2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' s'
    - ' m'
    argTypes:
    - gzofstream
    - gzomanip2<T1,T2>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: "&\n  operator<<(gzofstream& s, const gzomanip2<T1,T2>& m)"
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzofstream
    signature: "gzofstream &\n  operator<<(gzofstream& s, const gzomanip2<T1,T2>&
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzomanip2<int,int>
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: setcompression
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/zfstream.h
    functionUses: 1
    functionsReached:
    - gzomanip2<int,int>
    linkageType: ''
    returnType: gzomanip2<int,int>
    signature: gzomanip2<int,int> setcompression(int l, int s = Z_DEFAULT_STRATEGY)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gzofstream::gzofstream
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:13,1
    - Dst: gzifstream::gzifstream
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:14,1
    - Dst: gzofstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:17,1
    - Dst: gzofstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:20,1
    - Dst: gzifstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:26,1
    - Dst: gzifstream::getline
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:27,1
    - Dst: gzifstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:28,1
    - Dst: gzifstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:30,1
    - Dst: gzofstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:32,1
    - Dst: gzofstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:33,1
    - Dst: setcompression
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:34,1
    - Dst: gzofstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:37,1
    - Dst: gzifstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:41,1
    - Dst: gzifstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:42,1
    - Dst: gzifstream::getline
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:43,1
    - Dst: gzifstream::rdbuf
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:44,1
    - Dst: gzifstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 50
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream3/test.cc
    functionUses: 2
    functionsReached:
    - gzifstream::close
    - setcompression
    - gzifstream::gzifstream
    - gzofstream::gzofstream
    - gzifstream::rdbuf
    - gzifstream::open
    - gzofstream::rdbuf
    - gzofstream::open
    - gzifstream::getline
    - gzofstream::close
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dirname
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: mkdir
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mkdir(dirname,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: access
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: access(path,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - path
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: chmod
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chmod(path,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: strdup
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strdup(str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:137,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:138,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:142,1
    - Dst: access
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 147
    functionName: TGZfname
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - access
    - strlen
    - strcpy
    linkageType: ''
    returnType: char
    signature: char *TGZfname (const char *arcname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:156,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:158,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arcname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: TGZnotfound
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void TGZnotfound (const char *arcname)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - p
    - width
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 185
    functionName: getoct
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getoct (char *p,int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:196,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: strtime
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - localtime
    - sprintf
    linkageType: ''
    returnType: char
    signature: char *strtime (time_t *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: localtime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:216,1
    - Dst: SystemTimeToFileTime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:228,1
    - Dst: LocalFileTimeToFileTime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:229,1
    - Dst: GetVersion
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:233,1
    - Dst: CreateFile
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:234,1
    - Dst: SetFileTime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:239,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:240,1
    - Dst: utime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - fname
    - ftime
    argTypes:
    - char*
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 248
    functionName: setfiletime
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - localtime
    - SetFileTime
    - utime
    - CreateFile
    - LocalFileTimeToFileTime
    - GetVersion
    - SystemTimeToFileTime
    linkageType: ''
    returnType: int
    signature: int setfiletime (char *fname,time_t ftime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:257,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:259,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - list
    - fname
    - mode
    - time
    argTypes:
    - struct attr_item**
    - char*
    - int
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 5
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: push_attr
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - malloc
    - strdup
    - error
    linkageType: ''
    returnType: void
    signature: void push_attr(struct attr_item **list,char *fname,int mode,time_t
      time)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setfiletime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:276,1
    - Dst: chmod
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:277,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - struct attr_item**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 283
    functionName: restore_attr
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - free
    - setfiletime
    - chmod
    linkageType: ''
    returnType: void
    signature: void restore_attr(struct attr_item **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: ISSPECIAL
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISSPECIAL(c)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISSPECIAL
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - string
    - expr
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 320
    functionName: ExprMatch
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - ISSPECIAL
    linkageType: ''
    returnType: int
    signature: int ExprMatch (char *string,char *expr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:330,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:332,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:335,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:341,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:343,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:356,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:358,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:359,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:366,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 1
    argNames:
    - newdir
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 368
    functionName: makedir
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - strdup
    - strlen
    - free
    - fprintf
    - mkdir
    linkageType: ''
    returnType: int
    signature: int makedir (char *newdir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExprMatch
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - arg
    - argc
    - argv
    - fname
    argTypes:
    - int
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 381
    functionName: matchname
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - ExprMatch
    linkageType: ''
    returnType: int
    signature: int matchname (int arg,int argc,char **argv,char *fname)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:400,1
    - Dst: gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:404,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:406,1
    - Dst: gzerror
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:406,1
    - Dst: getoct
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:430,1
    - Dst: getoct
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:431,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:440,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:449,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:450,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:461,1
    - Dst: strtime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:461,1
    - Dst: makedir
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:464,1
    - Dst: push_attr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:465,1
    - Dst: getoct
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:470,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:477,1
    - Dst: strtime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:477,1
    - Dst: matchname
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:480,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:482,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:485,1
    - Dst: makedir
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:488,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:490,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:494,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:496,1
    - Dst: getoct
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:505,1
    - Dst: gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:511,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:513,1
    - Dst: gzerror
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:513,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:514,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:523,1
    - Dst: strtime
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:523,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:533,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:535,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:537,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:539,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:550,1
    - Dst: push_attr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:553,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:562,1
    - Dst: restore_attr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:570,1
    - Dst: gzclose
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:572,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:573,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 116
    argCount: 5
    argNames:
    - in
    - action
    - arg
    - argc
    - argv
    argTypes:
    - gzFile
    - int
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 386
    functionDepth: 6
    functionLinenumber: 386
    functionLinenumberEnd: 576
    functionName: tar
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - error
    - strlen
    - strrchr
    - fprintf
    - matchname
    - gzread
    - fclose
    - strtime
    - gzerror
    - push_attr
    - remove
    - makedir
    - printf
    - gzclose
    - fwrite
    - fopen
    - strncpy
    - strncmp
    - restore_attr
    - getoct
    linkageType: ''
    returnType: int
    signature: int tar (gzFile in,int action,int arg,int argc,char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:583,1
    - Dst: zlibVersion
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:585,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:586,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - exitval
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: help
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    - zlibVersion
    linkageType: ''
    returnType: void
    signature: void help(int exitval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:595,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: error
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 429
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void error(const char *msg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:613,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:616,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:619,1
    - Dst: help
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:632,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:634,1
    - Dst: help
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:638,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:640,1
    - Dst: help
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:642,1
    - Dst: TGZfname
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:645,1
    - Dst: TGZnotfound
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:646,1
    - Dst: help
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:650,1
    - Dst: gzopen
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:659,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:662,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:665,1
    - Dst: tar
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:665,1
    - Dst: error
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:669,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c:670,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 606
    functionDepth: 7
    functionLinenumber: 606
    functionLinenumberEnd: 674
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/untgz/untgz.c
    functionUses: 2
    functionsReached:
    - TGZnotfound
    - TGZfname
    - gzopen
    - strcmp
    - exit
    - error
    - strrchr
    - fprintf
    - tar
    - help
    linkageType: ''
    returnType: int
    signature: int main(int argc,char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: inflate_table9
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:70,1
    - Dst: inflate_table9
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:77,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:80,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:81,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:82,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:83,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:84,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:85,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:86,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:87,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:88,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:90,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:94,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:97,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:99,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:101,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:104,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:105,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:108,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c:110,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 111
    functionName: makefixed9
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    - puts
    - inflate_table9
    linkageType: ''
    returnType: void
    signature: void makefixed9(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 122
    functionName: INITBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INITBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 136
    functionName: PULL
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULL()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 146
    functionName: PULLBYTE
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PULLBYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: NEEDBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: BITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: DROPBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DROPBITS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: BYTEBITS
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTEBITS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 189
    functionName: ROOM
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROOM()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - window
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: inflateBack9Init
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/infback9/infback9.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateBack9Init(strm, window)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: SET_BINARY_MODE
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_BINARY_MODE(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 44
    functionName: zstringlen::value
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t value() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 54
    functionName: izstream::izstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void izstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: izstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: izstream::izstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - izstream::open
    linkageType: ''
    returnType: void
    signature: void izstream(FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: izstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: izstream::izstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - izstream::open
    linkageType: ''
    returnType: void
    signature: void izstream(const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~izstream()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~izstream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: izstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:66,1
    - Dst: ::gzopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: izstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzopen
    - izstream::close
    linkageType: ''
    returnType: void
    signature: void open(const char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:71,1
    - Dst: izstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:72,1
    - Dst: ::gzdopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:73,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: izstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - fileno
    - SET_BINARY_MODE
    - ::gzdopen
    - izstream::close
    linkageType: ''
    returnType: void
    signature: void open(FILE* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzclose
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: izstream::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzclose
    linkageType: ''
    returnType: int
    signature: int close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: izstream::read
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzread
    linkageType: ''
    returnType: int
    signature: int read(void* buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzerror
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: izstream::error
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzerror
    linkageType: ''
    returnType: char
    signature: char * error(int* errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: izstream::fp
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: gzFile fp()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:116,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' zs'
    - x
    - items
    argTypes:
    - izstream
    - T*
    - Items
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: read
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 127
    functionsReached:
    - fp
    - ::gzread
    linkageType: ''
    returnType: int
    signature: int read(izstream& zs, T* x, Items items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:124,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - izstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: '& operator>(izstream& zs, T& x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - ::gzread
    linkageType: ''
    returnType: izstream
    signature: izstream & operator>(izstream& zs, T& x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ' zs'
    argTypes:
    - izstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: zstringlen::zstringlen
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void zstringlen::zstringlen(izstream& zs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:140,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:140,1
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:140,1
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - izstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 143
    functionName: '& operator>(izstream& zs, char* x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - ::gzread
    - zstringlen::value
    linkageType: ''
    returnType: izstream
    signature: izstream & operator>(izstream& zs, char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:147,1
    - Dst: char::char
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:147,1
    - Dst: ::gzread
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:148,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:148,1
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:148,1
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ' zs'
    argTypes:
    - izstream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: read_string
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 1
    functionsReached:
    - fp
    - ::gzread
    - char::char
    - zstringlen::value
    linkageType: ''
    returnType: char
    signature: char * read_string(izstream& zs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: ozstream::ozstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ozstream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: ozstream::ozstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ozstream::open
    linkageType: ''
    returnType: void
    signature: void ozstream(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: ozstream::ozstream
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ozstream::open
    linkageType: ''
    returnType: void
    signature: void ozstream(const char* name, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: ~ozstream()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: void
    signature: void ~ozstream()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:180,1
    - Dst: ::gzopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: ozstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzopen
    - ozstream::close
    linkageType: ''
    returnType: void
    signature: void open(const char* name, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SET_BINARY_MODE
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:187,1
    - Dst: ozstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:190,1
    - Dst: ::gzdopen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:191,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: ozstream::open
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - ::gzdopen
    - fileno
    - SET_BINARY_MODE
    - ozstream::close
    linkageType: ''
    returnType: void
    signature: void open(FILE* fp, int level = Z_DEFAULT_COMPRESSION)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:200,1
    - Dst: str
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:200,1
    - Dst: pcount
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:200,1
    - Dst: str
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:201,1
    - Dst: ::gzclose
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: ozstream::close
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 2
    functionsReached:
    - str
    - pcount
    - ::gzclose
    - ::gzwrite
    linkageType: ''
    returnType: int
    signature: int close()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: ozstream::write
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzwrite
    linkageType: ''
    returnType: int
    signature: int write(const void* buf, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::os_flush
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:220,1
    - Dst: ::gzflush
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - _flush
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: ozstream::flush
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ozstream::os_flush
    - ::gzflush
    linkageType: ''
    returnType: int
    signature: int flush(int _flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzerror
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: ozstream::error
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ::gzerror
    linkageType: ''
    returnType: char
    signature: char * error(int* errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 234
    functionName: ozstream::fp
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gzFile
    signature: gzFile fp()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostrstream::ostrstream
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: '& os()'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - ostrstream::ostrstream
    linkageType: ''
    returnType: ostream
    signature: ostream & os()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pcount
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:242,1
    - Dst: ostrstream::ostrstream
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:243,1
    - Dst: ostrstream*::fill
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:244,1
    - Dst: fill
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:244,1
    - Dst: ostrstream*::flags
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:245,1
    - Dst: flags
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:245,1
    - Dst: ostrstream*::precision
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:246,1
    - Dst: precision
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:246,1
    - Dst: ostrstream*::width
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:247,1
    - Dst: width
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:247,1
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:248,1
    - Dst: str
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:248,1
    - Dst: pcount
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:248,1
    - Dst: str
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ozstream::os_flush
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 1
    functionsReached:
    - str
    - pcount
    - ostrstream*::precision
    - ::gzwrite
    - ostrstream::ostrstream
    - ostrstream*::flags
    - width
    - fill
    - precision
    - ostrstream*::fill
    - ostrstream*::width
    - flags
    linkageType: ''
    returnType: void
    signature: void os_flush()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:265,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ' zs'
    - x
    - items
    argTypes:
    - ozstream
    - T*
    - Items
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: write
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 115
    functionsReached:
    - fp
    - ::gzwrite
    linkageType: ''
    returnType: int
    signature: int write(ozstream& zs, const T* x, Items items)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:273,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 275
    functionName: '& operator<(ozstream& zs, const T& x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - ::gzwrite
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, const T& x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: esc_strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: zstringlen::zstringlen
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - esc_strlen
    linkageType: ''
    returnType: void
    signature: void zstringlen::zstringlen(ozstream& zs, const char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ::gzwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:288,1
    - Dst: fp
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:288,1
    - Dst: zstringlen::value
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - x
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: '& operator<(ozstream& zs, const char* x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - fp
    - zstringlen::value
    - ::gzwrite
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, const char* x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: '& operator<(ozstream& zs, char* const& x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ozstream
    signature: ozstream & operator<(ozstream& zs, char* const& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: os_flush
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:303,1
    - Dst: os
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ' zs'
    - ' x'
    argTypes:
    - ozstream
    - T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 305
    functionName: '& operator<<(ozstream& zs, const T& x)'
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream.h
    functionUses: 0
    functionsReached:
    - os
    - os_flush
    linkageType: ''
    returnType: ostream
    signature: ostream & operator<<(ozstream& zs, const T& x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ozstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:11,1
    - Dst: read_string
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:14,1
    - Dst: char::char
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:14,1
    - Dst: izstream::close
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:16,1
    - Dst: ozstream::open
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:19,1
    - Dst: setw
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:20,1
    - Dst: setfill
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:20,1
    - Dst: setprecision
      Src: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 6
    functionDepth: 2
    functionLinenumber: 6
    functionLinenumberEnd: 25
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/iostream2/zstream_test.cpp
    functionUses: 2
    functionsReached:
    - setfill
    - read_string
    - setprecision
    - ozstream::open
    - char::char
    - izstream::close
    - setw
    - ozstream::close
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: READ_8
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_8(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: READ_16
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_16(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - adr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: READ_32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_32(adr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 21
    functionName: WRITE_8
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_8(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: WRITE_16
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_16(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buff
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: WRITE_32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/mztools.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_32(buff, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:168,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: do_banner
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_banner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    functionName: do_help
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_help()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:189,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:202,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:204,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:206,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:211,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:217,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - filenameinzip
    - buf
    - size_buf
    - result_crc
    argTypes:
    - char*
    - void*
    - unsigned long
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 222
    functionName: getFileCrc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - feof
    - fread
    - printf
    - FOPEN_FUNC
    - crc32
    - fclose
    linkageType: ''
    returnType: int
    signature: int getFileCrc(const char* filenameinzip,void*buf,unsigned long size_buf,unsigned
      long* result_crc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:228,1
    - Dst: FSEEKO_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:232,1
    - Dst: FTELLO_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:233,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:235,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: isLargeFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/minizip.c
    functionUses: 0
    functionsReached:
    - printf
    - FTELLO_FUNC
    - FOPEN_FUNC
    - FSEEKO_FUNC
    - fclose
    linkageType: ''
    returnType: int
    signature: int isLargeFile(const char* filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: ZREAD64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZREAD64(filefunc,filestream,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: ZWRITE64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZWRITE64(filefunc,filestream,buf,size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: ZCLOSE64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZCLOSE64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: ZERROR64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERROR64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - filefunc
    - ','
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: ZOPEN64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZOPEN64(filefunc,filename,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: ZTELL64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZTELL64(filefunc,filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - filefunc
    - ','
    - filestream
    - ','
    - pos
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: ZSEEK64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZSEEK64(filefunc,filestream,pos,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: CRC32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CRC32(c, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pkeys
    - pcrc_32_tab
    argTypes:
    - unsigned long*
    - z_crc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: decrypt_byte
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int decrypt_byte(unsigned long* pkeys, const z_crc_t* pcrc_32_tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CRC32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:50,1
    - Dst: CRC32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pkeys
    - pcrc_32_tab
    - c
    argTypes:
    - unsigned long*
    - z_crc_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: update_keys
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - CRC32
    linkageType: ''
    returnType: int
    signature: int update_keys(unsigned long* pkeys,const z_crc_t* pcrc_32_tab,int
      c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_keys
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - passwd
    - pkeys
    - pcrc_32_tab
    argTypes:
    - char*
    - unsigned long*
    - z_crc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: init_keys
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - update_keys
    linkageType: ''
    returnType: void
    signature: void init_keys(const char* passwd,unsigned long* pkeys,const z_crc_t*
      pcrc_32_tab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pkeys
    - ','
    - pcrc_32_tab
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: zdecode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zdecode(pkeys,pcrc_32_tab,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pkeys
    - ','
    - pcrc_32_tab
    - ','
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: zencode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zencode(pkeys,pcrc_32_tab,c,t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: srand
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:112,1
    - Dst: time
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:112,1
    - Dst: init_keys
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:114,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:117,1
    - Dst: zencode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:118,1
    - Dst: init_keys
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:121,1
    - Dst: zencode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:124,1
    - Dst: zencode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:126,1
    - Dst: zencode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h:127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - passwd
    - buf
    - bufSize
    - pkeys
    - pcrc_32_tab
    - crcForCrypting
    argTypes:
    - char*
    - unsigned char*
    - int
    - unsigned long*
    - z_crc_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 129
    functionName: crypthead
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/crypt.h
    functionUses: 0
    functionsReached:
    - init_keys
    - rand
    - srand
    - zencode
    - time
    linkageType: ''
    returnType: int
    signature: "int crypthead(const char* passwd,      /* password string */\n                     unsigned
      char* buf,      /* where to write header */\n                     int bufSize,\n
      \                    unsigned long* pkeys,\n                     const z_crc_t*
      pcrc_32_tab,\n                     unsigned long crcForCrypting)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - mode
    - lpdwDesiredAccess
    - lpdwCreationDisposition
    - lpdwShareMode
    - lpdwFlagsAndAttributes
    argTypes:
    - int
    - DWORD*
    - DWORD*
    - DWORD*
    - DWORD*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 75
    functionName: win32_translate_open_mode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void win32_translate_open_mode(int mode,\n                                      DWORD*
      lpdwDesiredAccess,\n                                      DWORD* lpdwCreationDisposition,\n
      \                                     DWORD* lpdwShareMode,\n                                      DWORD*
      lpdwFlagsAndAttributes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:86,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - hFile
    argTypes:
    - HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 77
    functionDepth: 5
    functionLinenumber: 77
    functionLinenumberEnd: 94
    functionName: win32_build_iowin
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - malloc
    - CloseHandle
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_build_iowin(HANDLE hFile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:102,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:107,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:112,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:113,1
    - Dst: CreateFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:118,1
    - Dst: win32_build_iowin
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 122
    functionName: win32_open64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFile
    - MultiByteToWideChar
    - win32_build_iowin
    - win32_translate_open_mode
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_func (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:131,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:137,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:138,1
    - Dst: CreateFileA
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:142,1
    - Dst: win32_build_iowin
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:145,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 146
    functionName: win32_open64_file_funcA
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFile2
    - MultiByteToWideChar
    - win32_build_iowin
    - win32_translate_open_mode
    - CreateFileA
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_funcA (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:155,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:159,1
    - Dst: CreateFileW
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:162,1
    - Dst: win32_build_iowin
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 6
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: win32_open64_file_funcW
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFileW
    - win32_build_iowin
    - win32_translate_open_mode
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open64_file_funcW (voidpf opaque,const void* filename,int
      mode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: win32_translate_open_mode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:175,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:180,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:185,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:186,1
    - Dst: CreateFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:191,1
    - Dst: win32_build_iowin
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 169
    functionDepth: 6
    functionLinenumber: 169
    functionLinenumberEnd: 195
    functionName: win32_open_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CreateFile
    - MultiByteToWideChar
    - win32_build_iowin
    - win32_translate_open_mode
    - CreateFile2
    linkageType: ''
    returnType: voidpf
    signature: voidpf win32_open_file_func (voidpf opaque,const char* filename,int
      mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:207,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:209,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 217
    functionName: win32_read_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - ReadFile
    linkageType: ''
    returnType: uLong
    signature: uLong win32_read_file_func (voidpf opaque, voidpf stream, void* buf,uLong
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:229,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 239
    functionName: win32_write_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - WriteFile
    linkageType: ''
    returnType: uLong
    signature: uLong win32_write_file_func (voidpf opaque,voidpf stream,const void*
      buf,uLong size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointerEx
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:244,1
    - Dst: SetFilePointer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:247,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - hFile
    - pos
    - newPos
    - dwMoveMethod
    argTypes:
    - HANDLE
    - LARGE_INTEGER
    - LARGE_INTEGER*
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 259
    functionName: MySetFilePointerEx
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - SetFilePointer
    - GetLastError
    - SetFilePointerEx
    linkageType: ''
    returnType: BOOL
    signature: BOOL MySetFilePointerEx(HANDLE hFile, LARGE_INTEGER pos, LARGE_INTEGER
      *newPos,  DWORD dwMoveMethod)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:272,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 282
    functionName: win32_tell_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_tell_file_func (voidpf opaque,voidpf stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:296,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 306
    functionName: win32_tell64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T win32_tell64_file_func (voidpf opaque, voidpf stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:335,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:337,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 345
    functionName: win32_seek_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_seek_file_func (voidpf opaque,voidpf stream,uLong
      offset,int origin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MySetFilePointerEx
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:374,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:376,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 384
    functionName: win32_seek64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - GetLastError
    - MySetFilePointerEx
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK win32_seek64_file_func (voidpf opaque, voidpf stream,ZPOS64_T
      offset,int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:396,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: win32_close_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - free
    linkageType: ''
    returnType: int
    signature: int win32_close_file_func (voidpf opaque, voidpf stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: win32_error_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int win32_error_file_func (voidpf opaque,voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: fill_win32_filefunc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc (zlib_filefunc_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    functionName: fill_win32_filefunc64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: fill_win32_filefunc64A
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64A(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 462
    functionName: fill_win32_filefunc64W
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/iowin32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_win32_filefunc64W(zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 20
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pfilefunc
    - filename
    - mode
    argTypes:
    - zlib_filefunc64_32_def*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: call_zopen64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: voidpf
    signature: voidpf call_zopen64 (const zlib_filefunc64_32_def* pfilefunc,const
      void*filename,int mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pfilefunc
    - filestream
    - offset
    - origin
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: call_zseek64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long call_zseek64 (const zlib_filefunc64_32_def* pfilefunc,voidpf filestream,
      ZPOS64_T offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pfilefunc
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: call_ztell64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T call_ztell64 (const zlib_filefunc64_32_def* pfilefunc,voidpf
      filestream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - p_filefunc64_32
    - p_filefunc32
    argTypes:
    - zlib_filefunc64_32_def*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 83
    functionName: fill_zlib_filefunc64_32_def_from_filefunc32
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zlib_filefunc64_32_def_from_filefunc32(zlib_filefunc64_32_def*
      p_filefunc64_32,const zlib_filefunc_def* p_filefunc32)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:109,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: fopen_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fopen
    linkageType: ''
    returnType: voidpf
    signature: voidpf fopen_file_func (voidpf opaque, const char* filename, int mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FOPEN_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - opaque
    - filename
    - mode
    argTypes:
    - voidpf
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 129
    functionName: fopen64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FOPEN_FUNC
    linkageType: ''
    returnType: voidpf
    signature: voidpf fopen64_file_func (voidpf opaque, const void* filename, int
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: fread_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: uLong
    signature: uLong fread_file_func (voidpf opaque, voidpf stream, void* buf, uLong
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - opaque
    - stream
    - buf
    - size
    argTypes:
    - voidpf
    - voidpf
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: fwrite_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: uLong
    signature: uLong fwrite_file_func (voidpf opaque, voidpf stream, const void* buf,
      uLong size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 151
    functionName: ftell_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK ftell_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTELLO_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: ftell64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FTELLO_FUNC
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T ftell64_file_func (voidpf opaque, voidpf stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 182
    functionName: fseek_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK fseek_file_func (voidpf  opaque, voidpf stream, uLong
      offset, int origin)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FSEEKO_FUNC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:203,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - opaque
    - stream
    - offset
    - origin
    argTypes:
    - voidpf
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 207
    functionName: fseek64_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - FSEEKO_FUNC
    linkageType: ''
    returnType: long ZCALLBACK
    signature: long ZCALLBACK fseek64_file_func (voidpf  opaque, voidpf stream, ZPOS64_T
      offset, int origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: fclose_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int fclose_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - stream
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: ferror_file_func
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: int ferror_file_func (voidpf opaque, voidpf stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pzlib_filefunc_def
    argTypes:
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: fill_fopen64_filefunc
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/ioapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_fopen64_filefunc (zlib_filefunc64_def*  pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ALLOC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: TRYFREE
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYFREE(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:215,1
    - Dst: ZERROR64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 228
    functionName: unz64local_getByte
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - ZERROR64
    linkageType: ''
    returnType: local
    signature: local unz64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, int *pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:247,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 239
    functionDepth: 2
    functionLinenumber: 239
    functionLinenumberEnd: 259
    functionName: unz64local_getShort
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                            voidpf filestream,\n                             uLong
      *pX)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:274,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:278,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:282,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:286,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 294
    functionName: unz64local_getLong
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                           voidpf filestream,\n                            uLong
      *pX)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:310,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:314,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:318,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:322,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:326,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:330,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:334,1
    - Dst: unz64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:338,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 346
    functionName: unz64local_getLong64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getByte
    linkageType: ''
    returnType: local
    signature: "local unz64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,\n
      \                           voidpf filestream,\n                            ZPOS64_T
      *pX)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 2
    argNames:
    - fileName1
    - fileName2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: strcmpcasenosensitive_internal
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local strcmpcasenosensitive_internal (const char* fileName1, const
      char* fileName2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:399,1
    - Dst: STRCMPCASENOSENTIVEFUNCTION
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fileName1
    - fileName2
    - iCaseSensitivity
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 402
    functionName: unzStringFileNameCompare
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - STRCMPCASENOSENTIVEFUNCTION
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int unzStringFileNameCompare (const char*  fileName1,\n                                                 const
      char*  fileName2,\n                                                 int iCaseSensitivity)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:421,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:425,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:430,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:448,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:451,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:465,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 467
    functionName: unz64local_SearchCentralDir
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - TRYFREE
    - ZSEEK64
    - ALLOC
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: local unz64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:489,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:493,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:498,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:516,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:519,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:533,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:538,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:542,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:546,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:552,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:556,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:562,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:566,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 478
    functionDepth: 3
    functionLinenumber: 478
    functionLinenumberEnd: 573
    functionName: unz64local_SearchCentralDir64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getLong
    - ZREAD64
    - TRYFREE
    - unz64local_getLong64
    - ZSEEK64
    - ALLOC
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: "local unz64local_SearchCentralDir64(const zlib_filefunc64_32_def*
      pzlib_filefunc_def,\n                                      voidpf filestream)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen64_filefunc
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:609,1
    - Dst: ZOPEN64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:616,1
    - Dst: unz64local_SearchCentralDir64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:623,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:631,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:636,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:640,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:644,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:648,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:652,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:656,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:660,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:664,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:673,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:678,1
    - Dst: unz64local_SearchCentralDir
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:685,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:691,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:696,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:700,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:704,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:708,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:713,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:723,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:729,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:734,1
    - Dst: ZCLOSE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:744,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:755,1
    - Dst: unzGoToFirstFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:759,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 86
    argCount: 3
    argNames:
    - path
    - pzlib_filefunc64_32_def
    - is64bitOpenFunction
    argTypes:
    - void*
    - zlib_filefunc64_32_def*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 584
    functionDepth: 4
    functionLinenumber: 584
    functionLinenumberEnd: 762
    functionName: unzOpenInternal
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getLong
    - unz64local_getShort
    - unz64local_SearchCentralDir64
    - ALLOC
    - unz64local_getLong64
    - ZSEEK64
    - unzGoToFirstFile
    - ZCLOSE64
    - unz64local_SearchCentralDir
    - fill_fopen64_filefunc
    - ZOPEN64
    linkageType: ''
    returnType: local
    signature: "local unzOpenInternal (const void *path,\n                               zlib_filefunc64_32_def*
      pzlib_filefunc64_32_def,\n                               int is64bitOpenFunction)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:771,1
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:772,1
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 765
    functionDepth: 5
    functionLinenumber: 765
    functionLinenumberEnd: 776
    functionName: unzOpen2
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - fill_zlib_filefunc64_32_def_from_filefunc32
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: "unzFile unzOpen2 (const char *path,\n                                        zlib_filefunc_def*
      pzlib_filefunc32_def)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:787,1
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - path
    - pzlib_filefunc_def
    argTypes:
    - void*
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 791
    functionName: unzOpen2_64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: "unzFile unzOpen2_64 (const void *path,\n                                     zlib_filefunc64_def*
      pzlib_filefunc_def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 796
    functionName: unzOpen
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: unzFile unzOpen (const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 798
    functionDepth: 5
    functionLinenumber: 798
    functionLinenumberEnd: 801
    functionName: unzOpen64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenInternal
    linkageType: ''
    returnType: unzFile
    signature: unzFile unzOpen64 (const void *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:816,1
    - Dst: ZCLOSE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:818,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 821
    functionName: unzClose
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzCloseCurrentFile
    - TRYFREE
    - ZCLOSE64
    linkageType: ''
    returnType: int
    signature: int unzClose (unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - pglobal_info
    argTypes:
    - unzFile
    - unz_global_info64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 836
    functionName: unzGetGlobalInfo64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalInfo64 (unzFile file, unz_global_info64* pglobal_info)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - pglobal_info32
    argTypes:
    - unzFile
    - unz_global_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 848
    functionName: unzGetGlobalInfo
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalInfo (unzFile file, unz_global_info* pglobal_info32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - ulDosDate
    - ptm
    argTypes:
    - ZPOS64_T
    - tm_unz*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 863
    functionName: unz64local_DosDateToTmuDate
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local unz64local_DosDateToTmuDate (ZPOS64_T ulDosDate, tm_unz* ptm)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:901,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:910,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:916,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:919,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:922,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:925,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:928,1
    - Dst: unz64local_DosDateToTmuDate
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:931,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:933,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:936,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:940,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:944,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:947,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:950,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:953,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:956,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:959,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:963,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:980,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:996,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1003,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1021,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1032,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1035,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1045,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1051,1
    - Dst: unz64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1058,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1065,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1072,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1093,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1100,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 131
    argCount: 9
    argNames:
    - file
    - pfile_info
    - pfile_info_internal
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - unz_file_info64_internal*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 1115
    functionName: unz64local_GetCurrentFileInfoInternal
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_getLong
    - unz64local_getShort
    - ZREAD64
    - unz64local_DosDateToTmuDate
    - unz64local_getLong64
    - ZSEEK64
    linkageType: ''
    returnType: local
    signature: "local unz64local_GetCurrentFileInfoInternal (unzFile file,\n                                                  unz_file_info64
      *pfile_info,\n                                                  unz_file_info64_internal\n
      \                                                 *pfile_info_internal,\n                                                  char
      *szFileName,\n                                                  uLong fileNameBufferSize,\n
      \                                                 void *extraField,\n                                                  uLong
      extraFieldBufferSize,\n                                                  char
      *szComment,\n                                                  uLong commentBufferSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info64*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1124
    functionDepth: 4
    functionLinenumber: 1124
    functionLinenumberEnd: 1134
    functionName: unzGetCurrentFileInfo64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: "int unzGetCurrentFileInfo64 (unzFile file,\n                                          unz_file_info64
      * pfile_info,\n                                          char * szFileName,
      uLong fileNameBufferSize,\n                                          void *extraField,
      uLong extraFieldBufferSize,\n                                          char*
      szComment,  uLong commentBufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 8
    argNames:
    - file
    - pfile_info
    - szFileName
    - fileNameBufferSize
    - extraField
    - extraFieldBufferSize
    - szComment
    - commentBufferSize
    argTypes:
    - unzFile
    - unz_file_info*
    - char*
    - uLong
    - void*
    - uLong
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1136
    functionDepth: 4
    functionLinenumber: 1136
    functionLinenumberEnd: 1173
    functionName: unzGetCurrentFileInfo
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: "int unzGetCurrentFileInfo (unzFile file,\n                                          unz_file_info
      * pfile_info,\n                                          char * szFileName,
      uLong fileNameBufferSize,\n                                          void *extraField,
      uLong extraFieldBufferSize,\n                                          char*
      szComment,  uLong commentBufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1178
    functionDepth: 4
    functionLinenumber: 1178
    functionLinenumberEnd: 1192
    functionName: unzGoToFirstFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 1
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToFirstFile (unzFile file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1216,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1199
    functionDepth: 4
    functionLinenumber: 1199
    functionLinenumberEnd: 1221
    functionName: unzGoToNextFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToNextFile (unzFile  file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1249,1
    - Dst: unzGoToFirstFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1262,1
    - Dst: unzGetCurrentFileInfo64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1267,1
    - Dst: unzStringFileNameCompare
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1272,1
    - Dst: unzGoToNextFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1275,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - file
    - szFileName
    - iCaseSensitivity
    argTypes:
    - unzFile
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1232
    functionDepth: 5
    functionLinenumber: 1232
    functionLinenumberEnd: 1287
    functionName: unzLocateFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzStringFileNameCompare
    - unzGetCurrentFileInfo64
    - strlen
    - unzGoToNextFile
    - unzGoToFirstFile
    linkageType: ''
    returnType: int
    signature: int unzLocateFile (unzFile file, const char *szFileName, int iCaseSensitivity)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1322
    functionName: unzGetFilePos64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unzGetFilePos64(unzFile file, unz64_file_pos*  file_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetFilePos64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1336
    functionName: unzGetFilePos
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGetFilePos64
    linkageType: ''
    returnType: int
    signature: "int unzGetFilePos(\n    unzFile file,\n    unz_file_pos* file_pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz64_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1338
    functionDepth: 4
    functionLinenumber: 1338
    functionLinenumberEnd: 1358
    functionName: unzGoToFilePos64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzGoToFilePos64(unzFile file, const unz64_file_pos* file_pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGoToFilePos64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - file
    - file_pos
    argTypes:
    - unzFile
    - unz_file_pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1371
    functionName: unzGoToFilePos
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGoToFilePos64
    linkageType: ''
    returnType: int
    signature: "int unzGoToFilePos(\n    unzFile file,\n    unz_file_pos* file_pos)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1398,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1405,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1411,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1417,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1420,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1432,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1435,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1440,1
    - Dst: unz64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1445,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1450,1
    - Dst: unz64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1457,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 47
    argCount: 4
    argNames:
    - s
    - piSizeVar
    - poffset_local_extrafield
    - psize_local_extrafield
    argTypes:
    - unz64_s*
    - uInt*
    - ZPOS64_T*
    - uInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1385
    functionDepth: 3
    functionLinenumber: 1385
    functionLinenumberEnd: 1466
    functionName: unz64local_CheckCurrentFileCoherencyHeader
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZSEEK64
    - unz64local_getLong
    - unz64local_getShort
    linkageType: ''
    returnType: local
    signature: "local unz64local_CheckCurrentFileCoherencyHeader (unz64_s* s, uInt*
      piSizeVar,\n                                                    ZPOS64_T * poffset_local_extrafield,\n
      \                                                   uInt  * psize_local_extrafield)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: unzCloseCurrentFile
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1495,1
    - Dst: unz64local_CheckCurrentFileCoherencyHeader
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1497,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1500,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1504,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1512,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1564,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1569,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1584,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1589,1
    - Dst: get_crc_table
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1619,1
    - Dst: init_keys
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1620,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1621,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1626,1
    - Dst: zdecode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1630,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 101
    argCount: 5
    argNames:
    - file
    - method
    - level
    - raw
    - password
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1472
    functionDepth: 4
    functionLinenumber: 1472
    functionLinenumberEnd: 1639
    functionName: unzOpenCurrentFile3
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzCloseCurrentFile
    - zdecode
    - BZ2_bzDecompressInit
    - get_crc_table
    - ZREAD64
    - TRYFREE
    - init_keys
    - ALLOC
    - ZSEEK64
    - unz64local_CheckCurrentFileCoherencyHeader
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: "int unzOpenCurrentFile3 (unzFile file, int* method,\n                                            int*
      level, int raw, const char* password)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1641
    functionDepth: 5
    functionLinenumber: 1641
    functionLinenumberEnd: 1644
    functionName: unzOpenCurrentFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFile (unzFile file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - password
    argTypes:
    - unzFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1646
    functionDepth: 5
    functionLinenumber: 1646
    functionLinenumberEnd: 1649
    functionName: unzOpenCurrentFilePassword
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFilePassword (unzFile file, const char*  password)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzOpenCurrentFile3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file
    - method
    - level
    - raw
    argTypes:
    - unzFile
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1651
    functionDepth: 5
    functionLinenumber: 1651
    functionLinenumberEnd: 1654
    functionName: unzOpenCurrentFile2
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzOpenCurrentFile3
    linkageType: ''
    returnType: int
    signature: int unzOpenCurrentFile2 (unzFile file, int* method, int* level, int
      raw)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1670
    functionName: unzGetCurrentFileZStreamPos64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unzGetCurrentFileZStreamPos64( unzFile file)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1730,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1736,1
    - Dst: zdecode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1749,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1784,1
    - Dst: BZ2_bzDecompress
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1814,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1821,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1854,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1865,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 103
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1883
    functionName: unzReadCurrentFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - zdecode
    - ZREAD64
    - ZSEEK64
    - inflate
    - crc32
    - BZ2_bzDecompress
    linkageType: ''
    returnType: int
    signature: int unzReadCurrentFile  (unzFile file, voidp buf, unsigned len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1902
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1902
    functionName: unztell
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: z_off_t
    signature: z_off_t unztell (unzFile file)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1918
    functionName: unztell64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unztell64 (unzFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1940
    functionName: ZEXPORT
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZEXPORT unzeof (unzFile file)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1985,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:1992,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - unzFile
    - voidp
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1998
    functionName: unzGetLocalExtrafield
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - ZSEEK64
    linkageType: ''
    returnType: int
    signature: int unzGetLocalExtrafield (unzFile file, voidp buf, unsigned len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2027,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2030,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2033,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2038,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2043
    functionName: unzCloseCurrentFile
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 2
    functionsReached:
    - BZ2_bzDecompressEnd
    - TRYFREE
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int unzCloseCurrentFile (unzFile file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2063,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2069,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 3
    argNames:
    - file
    - szComment
    - uSizeBuf
    argTypes:
    - unzFile
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2051
    functionDepth: 1
    functionLinenumber: 2051
    functionLinenumberEnd: 2076
    functionName: unzGetGlobalComment
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - ZSEEK64
    linkageType: ''
    returnType: int
    signature: int unzGetGlobalComment (unzFile file, char * szComment, uLong uSizeBuf)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2079
    functionDepth: 0
    functionLinenumber: 2079
    functionLinenumberEnd: 2092
    functionName: unzGetOffset64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ZPOS64_T
    signature: ZPOS64_T unzGetOffset64(unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unzGetOffset64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - unzFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2102
    functionName: unzGetOffset
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzGetOffset64
    linkageType: ''
    returnType: uLong
    signature: uLong unzGetOffset (unzFile file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unz64local_GetCurrentFileInfoInternal
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2104
    functionDepth: 4
    functionLinenumber: 2104
    functionLinenumberEnd: 2120
    functionName: unzSetOffset64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unz64local_GetCurrentFileInfoInternal
    linkageType: ''
    returnType: int
    signature: int unzSetOffset64(unzFile file, ZPOS64_T pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unzSetOffset64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c:2124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - pos
    argTypes:
    - unzFile
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2122
    functionDepth: 5
    functionLinenumber: 2122
    functionLinenumberEnd: 2125
    functionName: unzSetOffset
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/unzip.c
    functionUses: 0
    functionsReached:
    - unzSetOffset64
    linkageType: ''
    returnType: int
    signature: int unzSetOffset (unzFile file, uLong pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ALLOC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: TRYFREE
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRYFREE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MAKEULONG64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKEULONG64(a, b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 201
    functionName: linkedlist_datablock_internal* allocate_new_datablock()
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ALLOC
    linkageType: ''
    returnType: local
    signature: local linkedlist_datablock_internal* allocate_new_datablock()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ldi
    argTypes:
    - linkedlist_datablock_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 211
    functionName: free_datablock
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - TRYFREE
    linkageType: ''
    returnType: local
    signature: local free_datablock(linkedlist_datablock_internal* ldi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: init_linkedlist
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local init_linkedlist(linkedlist_data* ll)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_datablock
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ll
    argTypes:
    - linkedlist_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: free_linkedlist
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - free_datablock
    linkageType: ''
    returnType: local
    signature: local free_linkedlist(linkedlist_data* ll)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: allocate_new_datablock
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:235,1
    - Dst: allocate_new_datablock
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:251,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - ll
    - buf
    - len
    argTypes:
    - linkedlist_data*
    - void*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 274
    functionName: add_data_in_datablock
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - allocate_new_datablock
    linkageType: ''
    returnType: local
    signature: local add_data_in_datablock(linkedlist_data* ll, const void* buf, uLong
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - pzlib_filefunc_def
    - filestream
    - x
    - nbByte
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: zip64local_putValue
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    linkageType: ''
    returnType: local
    signature: local zip64local_putValue (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T x, int nbByte)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dest
    - x
    - nbByte
    argTypes:
    - void*
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: zip64local_putValue_inmemory
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local zip64local_putValue_inmemory (void* dest, ZPOS64_T x, int nbByte)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptm
    argTypes:
    - tm_zip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: zip64local_TmzDateToDosDate
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local zip64local_TmzDateToDosDate(const tm_zip* ptm)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:352,1
    - Dst: ZERROR64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pi
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 365
    functionName: zip64local_getByte
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - ZERROR64
    linkageType: ''
    returnType: local
    signature: local zip64local_getByte(const zlib_filefunc64_32_def* pzlib_filefunc_def,voidpf
      filestream,int* pi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:379,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 391
    functionName: zip64local_getShort
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getShort (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:401,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:405,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:409,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:413,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - uLong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 421
    functionName: zip64local_getLong
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getLong (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, uLong* pX)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:432,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:436,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:440,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:444,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:448,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:452,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:456,1
    - Dst: zip64local_getByte
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:460,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - pzlib_filefunc_def
    - filestream
    - pX
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    - ZPOS64_T*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 469
    functionName: zip64local_getLong64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getByte
    linkageType: ''
    returnType: local
    signature: local zip64local_getLong64 (const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream, ZPOS64_T *pX)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:488,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:492,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:497,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:515,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:518,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:532,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 30
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 534
    functionName: zip64local_SearchCentralDir
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZREAD64
    - TRYFREE
    - ZSEEK64
    - ALLOC
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: local zip64local_SearchCentralDir(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:552,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:555,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:560,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:578,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:581,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:598,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:603,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:607,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:611,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:617,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:621,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:627,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:631,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 53
    argCount: 2
    argNames:
    - pzlib_filefunc_def
    - filestream
    argTypes:
    - zlib_filefunc64_32_def*
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 638
    functionName: zip64local_SearchCentralDir64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getLong
    - ZREAD64
    - zip64local_getLong64
    - TRYFREE
    - ZSEEK64
    - ALLOC
    - ZTELL64
    linkageType: ''
    returnType: local
    signature: local zip64local_SearchCentralDir64(const zlib_filefunc64_32_def* pzlib_filefunc_def,
      voidpf filestream)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_SearchCentralDir64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:665,1
    - Dst: zip64local_SearchCentralDir
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:672,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:683,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:687,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:691,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:695,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:699,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:703,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:707,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:711,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:715,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:722,1
    - Dst: zip64local_getLong64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:727,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:737,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:741,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:745,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:749,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:754,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:761,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:771,1
    - Dst: zip64local_getLong
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:778,1
    - Dst: zip64local_getShort
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:785,1
    - Dst: ZCLOSE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:795,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:801,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:804,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:815,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:816,1
    - Dst: ZREAD64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:825,1
    - Dst: add_data_in_datablock
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:829,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:833,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:838,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 97
    argCount: 1
    argNames:
    - pziinit
    argTypes:
    - zip64_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 640
    functionDepth: 4
    functionLinenumber: 640
    functionLinenumberEnd: 842
    functionName: LoadCentralDirectoryRecord
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_getLong
    - zip64local_SearchCentralDir64
    - ZREAD64
    - zip64local_getLong64
    - TRYFREE
    - add_data_in_datablock
    - ZSEEK64
    - zip64local_SearchCentralDir
    - ZCLOSE64
    - ALLOC
    - zip64local_getShort
    linkageType: ''
    returnType: int
    signature: int LoadCentralDirectoryRecord(zip64_internal* pziinit)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fill_fopen64_filefunc
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:858,1
    - Dst: ZOPEN64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:862,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:872,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:874,1
    - Dst: init_linkedlist
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:879,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:883,1
    - Dst: ZCLOSE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:886,1
    - Dst: LoadCentralDirectoryRecord
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:896,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:908,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:910,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc64_32_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_32_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 849
    functionDepth: 5
    functionLinenumber: 849
    functionLinenumberEnd: 918
    functionName: zipOpen3
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - init_linkedlist
    - TRYFREE
    - ALLOC
    - ZSEEK64
    - ZCLOSE64
    - LoadCentralDirectoryRecord
    - fill_fopen64_filefunc
    - ZTELL64
    - ZOPEN64
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen3 (const void *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc64_32_def* pzlib_filefunc64_32_def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_zlib_filefunc64_32_def_from_filefunc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:925,1
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:926,1
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc32_def
    argTypes:
    - char*
    - int
    - zipcharpc*
    - zlib_filefunc_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 920
    functionDepth: 6
    functionLinenumber: 920
    functionLinenumberEnd: 930
    functionName: zipOpen2
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    - fill_zlib_filefunc64_32_def_from_filefunc32
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen2 (const char *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc_def* pzlib_filefunc32_def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:940,1
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pathname
    - append
    - globalcomment
    - pzlib_filefunc_def
    argTypes:
    - void*
    - int
    - zipcharpc*
    - zlib_filefunc64_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 932
    functionDepth: 6
    functionLinenumber: 932
    functionLinenumberEnd: 944
    functionName: zipOpen2_64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen2_64 (const void *pathname, int append, zipcharpc* globalcomment,
      zlib_filefunc64_def* pzlib_filefunc_def)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 948
    functionDepth: 6
    functionLinenumber: 948
    functionLinenumberEnd: 951
    functionName: zipOpen
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen (const char* pathname, int append)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpen3
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:955,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pathname
    - append
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 956
    functionName: zipOpen64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpen3
    linkageType: ''
    returnType: zipFile
    signature: zipFile zipOpen64 (const void* pathname, int append)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:962,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:965,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:970,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:972,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:976,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:979,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:982,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:986,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:990,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:992,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:997,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:999,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1003,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1011,1
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1015,1
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1021,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1035,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1037,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1038,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1040,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1041,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 48
    argCount: 4
    argNames:
    - zi
    - filename
    - size_extrafield_local
    - extrafield_local
    argTypes:
    - zip64_internal*
    - char*
    - uInt
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 958
    functionDepth: 2
    functionLinenumber: 958
    functionLinenumberEnd: 1045
    functionName: Write_LocalFileHeader
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    - strlen
    - ZTELL64
    - zip64local_putValue
    linkageType: ''
    returnType: int
    signature: int Write_LocalFileHeader(zip64_internal* zi, const char* filename,
      uInt size_extrafield_local, const void* extrafield_local)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 18
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - versionMadeBy
    - flagBase
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1279
    functionName: zipOpenNewFileInZip4
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip4 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting,\n                                         uLong
      versionMadeBy, uLong flagBase)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 16
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1281
    functionDepth: 0
    functionLinenumber: 1281
    functionLinenumberEnd: 1294
    functionName: zipOpenNewFileInZip3
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip3 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 17
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - windowBits
    - memLevel
    - strategy
    - password
    - crcForCrypting
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    - int
    - int
    - char*
    - uLong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1296
    functionDepth: 0
    functionLinenumber: 1296
    functionLinenumberEnd: 1309
    functionName: zipOpenNewFileInZip3_64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip3_64(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                         const void* extrafield_local,
      uInt size_extrafield_local,\n                                         const
      void* extrafield_global, uInt size_extrafield_global,\n                                         const
      char* comment, int method, int level, int raw,\n                                         int
      windowBits,int memLevel, int strategy,\n                                         const
      char* password, uLong crcForCrypting, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1311
    functionDepth: 0
    functionLinenumber: 1311
    functionLinenumberEnd: 1322
    functionName: zipOpenNewFileInZip2
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip2(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*
      extrafield_global, uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int raw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - raw
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1324
    functionDepth: 0
    functionLinenumber: 1324
    functionLinenumberEnd: 1335
    functionName: zipOpenNewFileInZip2_64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip2_64(zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*
      extrafield_global, uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int raw, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    - zip64
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1348
    functionName: zipOpenNewFileInZip64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip64 (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*extrafield_global,
      uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level, int zip64)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipOpenNewFileInZip4_64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - file
    - filename
    - zipfi
    - extrafield_local
    - size_extrafield_local
    - extrafield_global
    - size_extrafield_global
    - comment
    - method
    - level
    argTypes:
    - zipFile
    - char*
    - zip_fileinfo*
    - void*
    - uInt
    - void*
    - uInt
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1361
    functionName: zipOpenNewFileInZip
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipOpenNewFileInZip4_64
    linkageType: ''
    returnType: int
    signature: "int zipOpenNewFileInZip (zipFile file, const char* filename, const
      zip_fileinfo* zipfi,\n                                        const void* extrafield_local,
      uInt size_extrafield_local,\n                                        const void*extrafield_global,
      uInt size_extrafield_global,\n                                        const
      char* comment, int method, int level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zencode
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1373,1
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - zi
    argTypes:
    - zip64_internal*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1363
    functionDepth: 1
    functionLinenumber: 1363
    functionLinenumberEnd: 1400
    functionName: zip64FlushWriteBuffer
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    - zencode
    linkageType: ''
    returnType: local
    signature: local zip64FlushWriteBuffer(zip64_internal* zi)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: crc32
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1414,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1427,1
    - Dst: BZ2_bzCompress
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1441,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1460,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1473,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 3
    argNames:
    - file
    - buf
    - len
    argTypes:
    - zipFile
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1402
    functionDepth: 2
    functionLinenumber: 1402
    functionLinenumberEnd: 1507
    functionName: zipWriteInFileInZip
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - BZ2_bzCompress
    - zip64FlushWriteBuffer
    - deflate
    - crc32
    linkageType: ''
    returnType: int
    signature: int zipWriteInFileInZip (zipFile file,const void* buf,unsigned int
      len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - uLong
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: zipCloseFileInZipRaw
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipCloseFileInZipRaw64
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZipRaw (zipFile file, uLong uncompressed_size, uLong
      crc32)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: zip64FlushWriteBuffer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1537,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1543,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1556,1
    - Dst: BZ2_bzCompress
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1562,1
    - Dst: zip64FlushWriteBuffer
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1579,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1585,1
    - Dst: BZ2_bzCompressEnd
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1593,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1615,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1617,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1621,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1625,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1627,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1631,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1634,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1636,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1663,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1665,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1670,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1676,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1682,1
    - Dst: zip64local_putValue_inmemory
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1694,1
    - Dst: add_data_in_datablock
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1698,1
    - Dst: free
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1700,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1706,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1708,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1712,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1719,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1723,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1726,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1734,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1737,1
    - Dst: ZSEEK64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1740,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 134
    argCount: 3
    argNames:
    - file
    - uncompressed_size
    - crc32
    argTypes:
    - zipFile
    - ZPOS64_T
    - uLong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1514
    functionDepth: 2
    functionLinenumber: 1514
    functionLinenumberEnd: 1748
    functionName: zipCloseFileInZipRaw64
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 1
    functionsReached:
    - BZ2_bzCompressEnd
    - zip64local_putValue_inmemory
    - zip64FlushWriteBuffer
    - zip64local_putValue
    - deflate
    - deflateEnd
    - add_data_in_datablock
    - free
    - ZSEEK64
    - BZ2_bzCompress
    - ZTELL64
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZipRaw64 (zipFile file, ZPOS64_T uncompressed_size,
      uLong crc32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZipRaw
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - zipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1750
    functionDepth: 2
    functionLinenumber: 1750
    functionLinenumberEnd: 1753
    functionName: zipCloseFileInZip
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zipCloseFileInZipRaw
    linkageType: ''
    returnType: int
    signature: int zipCloseFileInZip (zipFile file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1760,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1764,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1768,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - zi
    - zip64eocd_pos_inzip
    argTypes:
    - zip64_internal*
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1775
    functionName: Write_Zip64EndOfCentralDirectoryLocator
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: int
    signature: int Write_Zip64EndOfCentralDirectoryLocator(zip64_internal* zi, ZPOS64_T
      zip64eocd_pos_inzip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1783,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1786,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1789,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1792,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1795,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1798,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1801,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1804,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1807,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1812,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1777
    functionDepth: 2
    functionLinenumber: 1777
    functionLinenumberEnd: 1815
    functionName: Write_Zip64EndOfCentralDirectoryRecord
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: int
    signature: int Write_Zip64EndOfCentralDirectoryRecord(zip64_internal* zi, uLong
      size_centraldir, ZPOS64_T centraldir_pos_inzip)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1821,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1824,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1827,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1833,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1835,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1842,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1844,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1848,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1855,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1858,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - zi
    - size_centraldir
    - centraldir_pos_inzip
    argTypes:
    - zip64_internal*
    - uLong
    - ZPOS64_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1816
    functionDepth: 2
    functionLinenumber: 1816
    functionLinenumberEnd: 1862
    functionName: Write_EndOfCentralDirectoryRecord
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - zip64local_putValue
    linkageType: ''
    returnType: int
    signature: int Write_EndOfCentralDirectoryRecord(zip64_internal* zi, uLong size_centraldir,
      ZPOS64_T centraldir_pos_inzip)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1870,1
    - Dst: zip64local_putValue
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1872,1
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1876,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - zi
    - global_comment
    argTypes:
    - zip64_internal*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1864
    functionDepth: 2
    functionLinenumber: 1864
    functionLinenumberEnd: 1880
    functionName: Write_GlobalComment
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - ZWRITE64
    - strlen
    - zip64local_putValue
    linkageType: ''
    returnType: int
    signature: int Write_GlobalComment(zip64_internal* zi, const char* global_comment)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: zipCloseFileInZip
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1897,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1905,1
    - Dst: ZWRITE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1914,1
    - Dst: free_linkedlist
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1922,1
    - Dst: ZTELL64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1927,1
    - Dst: Write_Zip64EndOfCentralDirectoryRecord
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1928,1
    - Dst: Write_Zip64EndOfCentralDirectoryLocator
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1930,1
    - Dst: Write_EndOfCentralDirectoryRecord
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1934,1
    - Dst: Write_GlobalComment
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1937,1
    - Dst: ZCLOSE64
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1939,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1944,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1946,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 2
    argNames:
    - file
    - global_comment
    argTypes:
    - zipFile
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1882
    functionDepth: 3
    functionLinenumber: 1882
    functionLinenumberEnd: 1949
    functionName: zipClose
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - Write_Zip64EndOfCentralDirectoryLocator
    - ZWRITE64
    - TRYFREE
    - zipCloseFileInZip
    - Write_GlobalComment
    - free_linkedlist
    - ZCLOSE64
    - Write_Zip64EndOfCentralDirectoryRecord
    - Write_EndOfCentralDirectoryRecord
    - ZTELL64
    linkageType: ''
    returnType: int
    signature: int zipClose (zipFile file, const char* global_comment)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1965,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1980,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1990,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:1994,1
    - Dst: TRYFREE
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c:2004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - pData
    - dataLen
    - sHeader
    argTypes:
    - char*
    - int*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 2007
    functionName: zipRemoveExtraInfoBlock
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/zip.c
    functionUses: 0
    functionsReached:
    - memset
    - ALLOC
    - memcpy
    - TRYFREE
    linkageType: ''
    returnType: int
    signature: int zipRemoveExtraInfoBlock (char* pData, int* dataLen, short sHeader)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - filename
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: FOPEN_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOPEN_FUNC(filename, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: FTELLO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTELLO_FUNC(stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - origin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FSEEKO_FUNC
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSEEKO_FUNC(stream, offset, origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c:190,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: do_banner
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_banner()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: do_help
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void do_help()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c:227,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - n
    - size_char
    argTypes:
    - ZPOS64_T
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 232
    functionName: Display64BitsSize
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/minizip/miniunz.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void Display64BitsSize(ZPOS64_T n, int size_char)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: struct state*::infun
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:80,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - s
    - need
    argTypes:
    - struct state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 94
    functionName: bits
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 13
    functionsReached:
    - longjmp
    - struct state*::infun
    linkageType: ''
    returnType: local
    signature: local bits(struct state *s, int need)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: struct state*::infun
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:164,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:165,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - s
    - h
    argTypes:
    - struct state*
    - struct huffman*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 172
    functionName: decode
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 31
    functionsReached:
    - longjmp
    - struct state*::infun
    linkageType: ''
    returnType: local
    signature: local decode(struct state *s, struct huffman *h)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - h
    - rep
    - n
    argTypes:
    - struct huffman*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 242
    functionName: construct
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: local construct(struct huffman *h, const unsigned char *rep, int n)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:317,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:318,1
    - Dst: construct
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:319,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:324,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:326,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:331,1
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:333,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:334,1
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:339,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:340,1
    - Dst: struct state*::outfun
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:362,1
    - Dst: decode
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:370,1
    - Dst: bits
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:370,1
    - Dst: struct state*::outfun
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:373,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - s
    argTypes:
    - struct state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 380
    functionName: decomp
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - decode
    - struct state*::outfun
    - construct
    - bits
    linkageType: ''
    returnType: local
    signature: local decomp(struct state *s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:408,1
    - Dst: decomp
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:411,1
    - Dst: struct state::outfun
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:420,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - infun
    - inhow
    - outfun
    - outhow
    - left
    - in
    argTypes:
    - blast_in
    - void*
    - blast_out
    - void*
    - unsigned*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 423
    functionName: blast
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - setjmp
    - struct state::outfun
    - decomp
    linkageType: ''
    returnType: int
    signature: "int blast(blast_in infun, void *inhow, blast_out outfun, void *outhow,\n
      \         unsigned *left, unsigned char **in)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - how
    - buf
    argTypes:
    - void*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: inf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 5
    functionsReached:
    - fread
    linkageType: ''
    returnType: local unsigned
    signature: local unsigned inf(void *how, unsigned char **buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - how
    - buf
    - len
    argTypes:
    - void*
    - unsigned char*
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: outf
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: local
    signature: local outf(void *how, unsigned char *buf, unsigned len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blast
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:453,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:455,1
    - Dst: getchar
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:458,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 465
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/zlib/contrib/blast/blast.c
    functionUses: 2
    functionsReached:
    - fprintf
    - getchar
    - blast
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: SANITY_CHECK
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITY_CHECK(ts)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:127,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:133,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:135,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:136,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:142,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:153,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:171,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - ts
    argTypes:
    - teststate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 177
    functionName: save_header
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - sprintf
    - fprintf
    - fwrite
    - fopen
    - exit
    linkageType: ''
    returnType: FILE
    signature: FILE *save_header(teststate_t *ts)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: save_header
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:190,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:205,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:208,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:213,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:218,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:221,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:226,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:234,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:237,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:242,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:247,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:248,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:251,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 54
    argCount: 2
    argNames:
    - ts
    - h
    argTypes:
    - teststate_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 255
    functionName: save_lines
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - fputc
    - fseek
    - save_header
    - fwrite
    linkageType: ''
    returnType: void
    signature: void save_lines(teststate_t *ts, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ts
    argTypes:
    - teststate_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: save_end
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: void
    signature: void save_end(teststate_t *ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:272,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: open
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 145
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int open(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:283,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: preclose
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int preclose(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:294,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: close
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 156
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int close(void *handle, void *device)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:306,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 329
    functionName: presize
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: "int presize(void *handle, void *device,\n        int width, int height,
      int raster, unsigned int format)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:337,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 353
    functionName: size
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 39
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: "int size(void *handle, void *device, int width, int height,\n     int
      raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:360,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: sync
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 11
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int sync(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:371,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:372,1
    - Dst: save_lines
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:374,1
    - Dst: save_end
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: page
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 21
    functionsReached:
    - printf
    - save_lines
    - save_end
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int page(void *handle, void *device, int copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 390
    functionName: update
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 3
    functionsReached:
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int update(void *handle, void *device, int x, int y, int w, int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:395,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - alignment
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 405
    functionName: aligned_malloc
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: void
    signature: 'void *

      aligned_malloc(size_t size, int alignment)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 416
    functionName: aligned_free
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void aligned_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:424,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:427,1
    - Dst: aligned_malloc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:431,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - handle
    - device
    - size
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 418
    functionDepth: 6
    functionLinenumber: 418
    functionLinenumberEnd: 435
    functionName: memalloc
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - SANITY_CHECK
    - aligned_malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      memalloc(void *handle, void *device, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:442,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:443,1
    - Dst: aligned_free
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - handle
    - device
    - mem
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 447
    functionName: memfree
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - aligned_free
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int memfree(void *handle, void *device, void *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:457,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - handle
    - device
    - component
    - component_name
    - c
    - m
    - y
    - k
    argTypes:
    - void*
    - void*
    - int
    - char*
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 468
    functionName: separation
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: "int separation(void *handle, void *device,\n           int component,
      const char *component_name,\n           unsigned short c, unsigned short m,\n
      \          unsigned short y, unsigned short k)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:475,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:476,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - handle
    - device
    - bandheight
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 486
    functionName: adjust_band_height
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - printf
    - SANITY_CHECK
    linkageType: ''
    returnType: int
    signature: int adjust_band_height(void *handle, void *device, int bandheight)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:497,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:498,1
    - Dst: save_lines
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:502,1
    - Dst: aligned_free
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:503,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:512,1
    - Dst: save_end
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:522,1
    - Dst: aligned_malloc
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:553,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:556,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 58
    argCount: 11
    argNames:
    - handle
    - device
    - memory
    - ox
    - oy
    - raster
    - plane_raster
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - void**
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 488
    functionDepth: 6
    functionLinenumber: 488
    functionLinenumberEnd: 561
    functionName: rectangle_request
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - SANITY_CHECK
    - printf
    - save_lines
    - save_end
    - aligned_malloc
    - aligned_free
    linkageType: ''
    returnType: int
    signature: "int rectangle_request(void *handle, void *device,\n                  void
      **memory, int *ox, int *oy,\n                  int *raster, int *plane_raster,\n
      \                 int *x, int *y, int *w, int *h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:603,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - instance
    - callout_handle
    - device_name
    - id
    - size
    - data
    argTypes:
    - void*
    - void*
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 620
    functionName: callout
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 2
    functionsReached:
    - SANITY_CHECK
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int callout(void *instance,\n        void *callout_handle,\n        const
      char *device_name,\n        int id,\n        int size,\n        void *data)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:654,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:655,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:694,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:697,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:699,1
    - Dst: gsapi_set_display_callback
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:706,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:708,1
    - Dst: gsapi_register_callout
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:714,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:716,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:722,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:726,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:730,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:736,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:741,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:743,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:749,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:753,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 99
    argCount: 5
    argNames:
    - title
    - format
    - use_clist
    - legacy
    - fname
    argTypes:
    - char*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 757
    functionName: do_ddtest
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - gsapi_delete_instance
    - sprintf
    - gsapi_register_callout
    - printf
    - gsapi_exit
    - gsapi_init_with_args
    - gsapi_new_instance
    - gsapi_set_display_callback
    linkageType: ''
    returnType: int
    signature: "int do_ddtest(const char *title, int format,\n                   int
      use_clist, int legacy,\n                   const char *fname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_ddtest
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - title
    - format
    - fname
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 759
    functionDepth: 2
    functionLinenumber: 759
    functionLinenumberEnd: 778
    functionName: displaydev_test
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - do_ddtest
    linkageType: ''
    returnType: int
    signature: int displaydev_test(const char *title, int format, const char *fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:794,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:801,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:803,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:808,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:810,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:814,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:815,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:816,1
    - Dst: gsapi_run_string_begin
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:817,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:819,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:824,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:828,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:832,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:833,1
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:835,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:838,1
    - Dst: gsapi_run_string_end
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:844,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:846,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:850,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:853,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:855,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:861,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 2
    argNames:
    - dev
    - outfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 866
    functionName: runstring_test
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_arg
    - feof
    - sprintf
    - fread
    - gsapi_delete_instance
    - printf
    - va_end
    - gsapi_exit
    - gsapi_init_with_args
    - gsapi_run_string_begin
    - gsapi_run_string_end
    - fopen
    - gsapi_new_instance
    - gsapi_run_string_continue
    linkageType: ''
    returnType: int
    signature: int runstring_test(const char *dev, char *outfile, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_enumerate_params
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:890,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:891,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:892,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:896,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:899,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:902,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 905
    functionName: list_params
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - gsapi_enumerate_params
    - gsapi_get_param
    - printf
    linkageType: ''
    returnType: int
    signature: int list_params(void *instance)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:920,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:927,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:929,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:933,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:935,1
    - Dst: list_params
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:940,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:942,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:947,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:949,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:953,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:955,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:959,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:961,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:966,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:968,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:970,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:975,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:977,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:981,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:983,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:985,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:989,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:991,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:995,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:997,1
    - Dst: gsapi_get_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1003,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1005,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1009,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1012,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1013,1
    - Dst: list_params
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1018,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1020,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1025,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1027,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1033,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 114
    argCount: 2
    argNames:
    - dev
    - outfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 907
    functionDepth: 2
    functionLinenumber: 907
    functionLinenumberEnd: 1038
    functionName: param_test
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - gsapi_delete_instance
    - gsapi_set_param
    - gsapi_get_param
    - sprintf
    - strcmp
    - printf
    - gsapi_exit
    - gsapi_init_with_args
    - list_params
    - gsapi_new_instance
    linkageType: ''
    returnType: int
    signature: int param_test(const char *dev, char *outfile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1051,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1060,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1062,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1067,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1069,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1073,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1075,1
    - Dst: gsapi_run_file
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1079,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1081,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1086,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1088,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1094,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - dev
    - outfile
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1099
    functionName: res_change_test
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 0
    functionsReached:
    - gsapi_delete_instance
    - gsapi_set_param
    - sprintf
    - printf
    - gsapi_exit
    - gsapi_run_file
    - gsapi_init_with_args
    - gsapi_new_instance
    linkageType: ''
    returnType: int
    signature: int res_change_test(const char *dev, char *outfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTEST
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1108,1
    - Dst: param_test
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1108,1
    - Dst: RUNTEST
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1109,1
    - Dst: res_change_test
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1109,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1114,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1115,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1116,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1120,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1121,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1122,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1126,1
    - Dst: RS
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1127,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1139,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1140,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1142,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1144,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1145,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1146,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1148,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1149,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1150,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1152,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1153,1
    - Dst: DD
      Src: /src/libspectre/ghostscript/demos/c/api_test.c:1154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1101
    functionDepth: 3
    functionLinenumber: 1101
    functionLinenumberEnd: 1157
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 2
    functionsReached:
    - DD
    - RUNTEST
    - res_change_test
    - param_test
    - RS
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: RUNTEST
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNTEST(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1113
    functionName: RS
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RS(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STR
    - ','
    - FMT
    - ','
    - FILE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1137
    functionName: DD
    functionSourceFile: /src/libspectre/ghostscript/demos/c/api_test.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DD(STR, FMT, FILE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - begin_cb_data
    - ctx
    - job_id
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 94
    functionName: ijs_server_dummy_begin_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_dummy_begin_cb (void *begin_cb_data,\n                           IjsServerCtx
      *ctx,\n                           IjsJobId job_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - end_cb_data
    - ctx
    - job_id
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    functionName: ijs_server_dummy_end_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_dummy_end_cb (void *end_cb_data,\n                         IjsServerCtx
      *ctx,\n                         IjsJobId job_id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:111,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:114,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:126,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:127,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:130,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:135,1
    - Dst: ijs_recv_init
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:137,1
    - Dst: ijs_send_init
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:138,1
    - Dst: read
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:139,1
    - Dst: write
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:145,1
    - Dst: ijs_server_done
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 167
    functionName: ijs_server_init
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - _setmode
    - read
    - ijs_server_done
    - ijs_recv_init
    - setmode
    - write
    - malloc
    - memcpy
    - fprintf
    - ijs_send_init
    linkageType: ''
    returnType: IjsServerCtx
    signature: 'IjsServerCtx *

      ijs_server_init (void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - begin_cb
    - begin_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsBeginJobCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: ijs_server_install_begin_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_begin_cb (IjsServerCtx *ctx,\n                             IjsBeginJobCb
      *begin_cb, void *begin_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - end_cb
    - end_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsEndJobCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: ijs_server_install_end_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_end_cb (IjsServerCtx *ctx,\n                           IjsEndJobCb
      *end_cb, void *end_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - status_cb
    - status_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsQueryStatusCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: ijs_server_install_status_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_status_cb (IjsServerCtx *ctx,\n                              IjsQueryStatusCb
      *status_cb,\n                              void *status_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - list_cb
    - list_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsListParamsCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: ijs_server_install_list_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_list_cb (IjsServerCtx *ctx,\n                           IjsListParamsCb
      *list_cb, void *list_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - enum_cb
    - enum_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsEnumParamCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: ijs_server_install_enum_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_enum_cb (IjsServerCtx *ctx,\n                           IjsEnumParamCb
      *enum_cb, void *enum_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - set_cb
    - set_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsSetParamCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: ijs_server_install_set_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_set_cb (IjsServerCtx *ctx,\n                           IjsSetParamCb
      *set_cb, void *set_cb_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - get_cb
    - get_cb_data
    argTypes:
    - IjsServerCtx*
    - IjsGetParamCb*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: ijs_server_install_get_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ijs_server_install_get_cb (IjsServerCtx *ctx,\n                           IjsGetParamCb
      *get_cb, void *get_cb_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:238,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: ijs_server_ack
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_send_buf
    linkageType: ''
    returnType: int
    signature: int ijs_server_ack (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:248,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 251
    functionName: ijs_server_done
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 1
    functionsReached:
    - free
    - ijs_server_ack
    linkageType: ''
    returnType: void
    signature: void ijs_server_done (IjsServerCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:258,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:261,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - errorcode
    argTypes:
    - IjsServerCtx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 265
    functionName: ijs_server_nak
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_send_buf
    - ijs_send_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_nak (IjsServerCtx *ctx, int errorcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: ijs_server_proc_ack
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_ack (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: ijs_server_proc_nak
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_nak (IjsServerCtx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:290,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:298,1
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:300,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:303,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 307
    functionName: ijs_server_proc_ping
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_recv_int
    - fprintf
    - ijs_send_buf
    - ijs_send_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_ping (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 314
    functionName: ijs_server_proc_pong
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_pong (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: ijs_server_proc_open
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_ack
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_open (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 328
    functionName: ijs_server_proc_close
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_ack
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_close (IjsServerCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:336,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:340,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 345
    functionName: ijs_server_proc_begin_job
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_nak
    - ijs_server_ack
    - ijs_recv_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_begin_job (IjsServerCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:353,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:357,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 361
    functionName: ijs_server_proc_end_job
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_nak
    - ijs_server_ack
    - ijs_recv_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_end_job (IjsServerCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:369,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:373,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:377,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 378
    functionName: ijs_server_proc_cancel_job
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_nak
    - ijs_server_ack
    - ijs_recv_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_cancel_job (IjsServerCtx *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:386,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:391,1
    - Dst: IjsServerCtx*::status_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:393,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:395,1
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:400,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:403,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 408
    functionName: ijs_server_proc_query_status
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_recv_int
    - ijs_send_buf
    - IjsServerCtx*::status_cb
    - ijs_server_nak
    - ijs_send_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_query_status (IjsServerCtx *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:417,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:422,1
    - Dst: IjsServerCtx*::list_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:424,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:426,1
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:431,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:434,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 439
    functionName: ijs_server_proc_list_params
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_send_block
    - ijs_recv_int
    - IjsServerCtx*::list_cb
    - ijs_send_buf
    - ijs_server_nak
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_list_params (IjsServerCtx *ctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:450,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:455,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:462,1
    - Dst: IjsServerCtx*::enum_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:465,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:467,1
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:472,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:475,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:478,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 480
    functionName: ijs_server_proc_enum_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_send_begin
    - ijs_send_block
    - IjsServerCtx*::enum_cb
    - ijs_recv_int
    - fprintf
    - ijs_send_buf
    - ijs_server_nak
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_enum_param (IjsServerCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 491
    functionName: ijs_strnlen
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_strnlen (const char *s, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - value
    - size
    - result
    argTypes:
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 521
    functionName: ijs_server_parse_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_server_parse_int (const char *value, int size, int *result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:531,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - value
    - size
    - result
    argTypes:
    - char*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 537
    functionName: ijs_server_parse_float
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strtod
    linkageType: ''
    returnType: int
    signature: int ijs_server_parse_float (const char *value, int size, double *result)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:546,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:547,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:548,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:550,1
    - Dst: ijs_server_parse_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:552,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:557,1
    - Dst: ijs_server_parse_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:559,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:564,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:570,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:575,1
    - Dst: ijs_server_parse_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:577,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:582,1
    - Dst: ijs_server_parse_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:584,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:589,1
    - Dst: ijs_server_parse_float
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:598,1
    - Dst: ijs_server_parse_float
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:601,1
    - Dst: IjsServerCtx*::set_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:610,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 5
    argNames:
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - IjsServerCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 612
    functionName: ijs_server_set_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_parse_float
    - ijs_server_parse_int
    - strcmp
    - fputs
    - fprintf
    - memcpy
    - IjsServerCtx*::set_cb
    - fwrite
    linkageType: ''
    returnType: int
    signature: "int ijs_server_set_param (IjsServerCtx *ctx, IjsJobId job_id, const
      char *key,\n                      const char *value, int value_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:623,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:628,1
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:630,1
    - Dst: ijs_strnlen
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:636,1
    - Dst: ijs_server_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:641,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:643,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:645,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 646
    functionName: ijs_server_proc_set_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_ack
    - ijs_strnlen
    - ijs_recv_int
    - ijs_server_set_param
    - ijs_server_nak
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_set_param (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:653,1
    - Dst: IjsServerCtx*::get_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - IjsServerCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 657
    functionName: ijs_server_get_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - fprintf
    - IjsServerCtx*::get_cb
    linkageType: ''
    returnType: int
    signature: "int ijs_server_get_param (IjsServerCtx *ctx, IjsJobId job_id, const
      char *key,\n                      char *value, int value_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:668,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:673,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:680,1
    - Dst: ijs_server_get_param
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:683,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:685,1
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:690,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:693,1
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:696,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 698
    functionName: ijs_server_proc_get_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_get_param
    - ijs_send_begin
    - ijs_send_block
    - ijs_recv_int
    - fprintf
    - ijs_send_buf
    - ijs_server_nak
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_get_param (IjsServerCtx *ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:711,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:717,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 721
    functionName: ijs_server_proc_begin_page
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_nak
    - fprintf
    - ijs_server_ack
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_begin_page (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_read
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - IjsServerCtx*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 730
    functionName: ijs_server_read_data
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_recv_read
    linkageType: ''
    returnType: int
    signature: int ijs_server_read_data (IjsServerCtx *ctx, char *buf, int size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:739,1
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:747,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:750,1
    - Dst: ijs_server_nak
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:754,1
    - Dst: ijs_server_read_data
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:758,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:764,1
    - Dst: ijs_server_read_data
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:766,1
    - Dst: ijs_server_read_data
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:771,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 732
    functionDepth: 5
    functionLinenumber: 732
    functionLinenumberEnd: 776
    functionName: ijs_server_proc_send_data_block
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_ack
    - ijs_recv_int
    - malloc
    - ijs_server_read_data
    - fprintf
    - ijs_server_nak
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_send_data_block (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:782,1
    - Dst: ijs_server_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 785
    functionName: ijs_server_proc_end_page
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ijs_server_ack
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_end_page (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 791
    functionName: ijs_server_proc_exit
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_server_proc_exit (IjsServerCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:820,1
    - Dst: ijs_get_int
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:825,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsServerCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 833
    functionName: ijs_server_iter
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ijs_recv_buf
    - ijs_get_int
    linkageType: ''
    returnType: int
    signature: int ijs_server_iter (IjsServerCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_server_iter
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - ph
    argTypes:
    - IjsServerCtx*
    - IjsPageHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 842
    functionDepth: 2
    functionLinenumber: 842
    functionLinenumberEnd: 858
    functionName: ijs_server_get_page_header
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - ijs_server_iter
    linkageType: ''
    returnType: int
    signature: int ijs_server_get_page_header (IjsServerCtx *ctx, IjsPageHeader *ph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:879,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:887,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:892,1
    - Dst: ijs_server_iter
      Src: /src/libspectre/ghostscript/ijs/ijs_server.c:903,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - IjsServerCtx*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 907
    functionName: ijs_server_get_data
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server.c
    functionUses: 0
    functionsReached:
    - free
    - fprintf
    - ijs_server_iter
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ijs_server_get_data (IjsServerCtx *ctx, char *buf, int size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ijs_exec_server
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:54,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:57,1
    - Dst: ijs_send_init
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:60,1
    - Dst: ijs_recv_init
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:61,1
    - Dst: write
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:63,1
    - Dst: read
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:69,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:71,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:77,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:79,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:81,1
    - Dst: ijs_recv_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:83,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:93,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:94,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:95,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 1
    argNames:
    - server_cmd
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 100
    functionName: ijs_invoke_server
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - read
    - ijs_client_send_cmd_wait
    - ijs_recv_init
    - write
    - close
    - ijs_recv_int
    - malloc
    - free
    - ijs_send_init
    - memcmp
    - ijs_exec_server
    - ijs_send_int
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: IjsClientCtx
    signature: 'IjsClientCtx *

      ijs_invoke_server (const char *server_cmd)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_begin
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - cmd
    argTypes:
    - IjsClientCtx*
    - IjsCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: ijs_client_begin_cmd
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 1
    functionsReached:
    - ijs_send_begin
    linkageType: ''
    returnType: int
    signature: int ijs_client_begin_cmd (IjsClientCtx *ctx, IjsCommand cmd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - val
    argTypes:
    - IjsClientCtx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: ijs_client_send_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_send_int
    linkageType: ''
    returnType: int
    signature: int ijs_client_send_int (IjsClientCtx *ctx, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_buf
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 118
    functionName: ijs_client_send_cmd
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_send_buf
    linkageType: ''
    returnType: int
    signature: int ijs_client_send_cmd (IjsClientCtx *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:133,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 139
    functionName: ijs_client_send_cmd_wait
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 1
    functionsReached:
    - ijs_recv_ack
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_send_cmd_wait (IjsClientCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:148,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:149,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:150,1
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:151,1
    - Dst: write
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:154,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - job_id
    - buf
    - size
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 159
    functionName: ijs_client_send_data_wait
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_begin_cmd
    - write
    - ijs_recv_ack
    - ijs_send_int
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: "int ijs_client_send_data_wait (IjsClientCtx *ctx, IjsJobId job_id,\n
      \                          const char *buf, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:164,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: ijs_client_open
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_open (IjsClientCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:171,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: ijs_client_close
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_close (IjsClientCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:178,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:179,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - job_id
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: ijs_client_begin_job
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_send_int
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_begin_job (IjsClientCtx *ctx, IjsJobId job_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:186,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:187,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - job_id
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 189
    functionName: ijs_client_end_job
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_send_int
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_end_job (IjsClientCtx *ctx, IjsJobId job_id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:201,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:202,1
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:203,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:206,1
    - Dst: ijs_recv_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ctx
    - job_id
    - value
    - value_size
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 211
    functionName: ijs_client_list_params
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_begin_cmd
    - ijs_recv_ack
    - ijs_recv_block
    - ijs_send_int
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: "int ijs_client_list_params (IjsClientCtx *ctx, IjsJobId job_id,\n
      \                     char *value, int value_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:222,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:225,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:226,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:227,1
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:230,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:233,1
    - Dst: ijs_recv_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 238
    functionName: ijs_client_enum_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_begin_cmd
    - strlen
    - ijs_send_block
    - ijs_recv_ack
    - ijs_recv_block
    - ijs_send_int
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: "int ijs_client_enum_param (IjsClientCtx *ctx, IjsJobId job_id,\n                      const
      char *key,\n                      char *value, int value_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:245,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:248,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:249,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:250,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:251,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:254,1
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:257,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: ijs_client_set_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_begin_cmd
    - strlen
    - ijs_send_block
    - ijs_recv_ack
    - ijs_send_int
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: "int ijs_client_set_param (IjsClientCtx *ctx, IjsJobId job_id,\n                      const
      char *key,\n                      const char *value, int value_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:273,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:276,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:277,1
    - Dst: ijs_send_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:278,1
    - Dst: ijs_client_send_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:281,1
    - Dst: ijs_recv_ack
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:284,1
    - Dst: ijs_recv_block
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: ijs_client_get_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_begin_cmd
    - strlen
    - ijs_send_block
    - ijs_recv_ack
    - ijs_recv_block
    - ijs_send_int
    - ijs_client_send_cmd
    linkageType: ''
    returnType: int
    signature: "int ijs_client_get_param (IjsClientCtx *ctx, IjsJobId job_id,\n                      const
      char *key,\n                      char *value, int value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:294,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:295,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - job_id
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: ijs_client_begin_page
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_send_int
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_begin_page (IjsClientCtx *ctx, IjsJobId job_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:302,1
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:303,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - job_id
    argTypes:
    - IjsClientCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: ijs_client_end_page
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - ijs_send_int
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int ijs_client_end_page (IjsClientCtx *ctx, IjsJobId job_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: ijs_client_get_version
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_client_get_version (IjsClientCtx *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_list_params
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:38,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:42,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:43,1
    - Dst: ijs_client_enum_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:46,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:50,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:54,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:56,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: example_list_params
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ijs_client_enum_param
    - ijs_client_list_params
    - strtok
    linkageType: ''
    returnType: int
    signature: int example_list_params (IjsClientCtx *ctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fgets
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:84,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:90,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:93,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:95,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:103,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:113,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:114,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:114,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:115,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:116,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:116,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:117,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:118,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:118,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:119,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:120,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:120,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:121,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:122,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:122,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:123,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:124,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:124,1
    - Dst: ijs_client_begin_page
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:126,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:135,1
    - Dst: ijs_client_send_data_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:143,1
    - Dst: ijs_client_end_page
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:149,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 4
    argNames:
    - ctx
    - f
    - xres
    - yres
    argTypes:
    - IjsClientCtx*
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 66
    functionDepth: 4
    functionLinenumber: 66
    functionLinenumberEnd: 152
    functionName: send_pnm_file
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - ijs_client_end_page
    - sscanf
    - ijs_client_set_param
    - sprintf
    - ijs_client_begin_page
    - fread
    - strlen
    - strcpy
    - fprintf
    - ijs_client_send_data_wait
    - fgets
    linkageType: ''
    returnType: int
    signature: int send_pnm_file (IjsClientCtx *ctx, FILE *f, int xres, int yres)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:159,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - IjsClientCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: verify_context
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void verify_context (IjsClientCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: param_usage
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void param_usage (void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: param_usage
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:193,1
    - Dst: param_usage
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:207,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:210,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:220,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:233,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:235,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - IjsClientCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 170
    functionDepth: 3
    functionLinenumber: 170
    functionLinenumberEnd: 238
    functionName: example_set_params
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ijs_client_set_param
    - memcpy
    - param_usage
    linkageType: ''
    returnType: void
    signature: void example_set_params (IjsClientCtx *ctx, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_get_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:246,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:250,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - IjsClientCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 256
    functionName: example_get_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - ijs_client_get_param
    - fprintf
    linkageType: ''
    returnType: void
    signature: void example_get_param (IjsClientCtx *ctx, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_enum_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:268,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - IjsClientCtx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 258
    functionDepth: 3
    functionLinenumber: 258
    functionLinenumberEnd: 274
    functionName: example_enum_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ijs_client_enum_param
    linkageType: ''
    returnType: void
    signature: void example_enum_param (IjsClientCtx *ctx, const char *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - argc
    - argv
    - pi
    - arg
    argTypes:
    - int
    - char**
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 289
    functionName: get_arg
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      get_arg (int argc, char **argv, int *pi, const char *arg)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:312,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:313,1
    - Dst: strtol
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:317,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:321,1
    - Dst: ijs_invoke_server
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:322,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:324,1
    - Dst: ijs_client_open
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:327,1
    - Dst: ijs_client_begin_job
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:328,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:331,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:332,1
    - Dst: example_set_params
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:333,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:336,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:337,1
    - Dst: example_get_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:338,1
    - Dst: get_arg
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:341,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:342,1
    - Dst: example_enum_param
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:343,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:346,1
    - Dst: example_list_params
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:347,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:350,1
    - Dst: send_pnm_file
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:351,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:357,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:361,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:364,1
    - Dst: send_pnm_file
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:365,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:366,1
    - Dst: verify_context
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:370,1
    - Dst: ijs_client_end_job
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:372,1
    - Dst: ijs_client_close
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:373,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:376,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/ijs/ijs_client_example.c:377,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 291
    functionDepth: 6
    functionLinenumber: 291
    functionLinenumberEnd: 380
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_client_example.c
    functionUses: 2
    functionsReached:
    - get_arg
    - strtol
    - ijs_client_send_cmd_wait
    - example_get_param
    - fclose
    - ijs_client_begin_cmd
    - ijs_client_end_job
    - verify_context
    - example_enum_param
    - send_pnm_file
    - fprintf
    - ijs_client_open
    - fopen
    - ijs_client_close
    - ijs_invoke_server
    - ijs_client_begin_job
    - example_list_params
    - example_set_params
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CreatePipe
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:61,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:63,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:63,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:64,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:67,1
    - Dst: CreatePipe
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:70,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:72,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:72,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:73,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:76,1
    - Dst: _open_osfhandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:79,1
    - Dst: _open_osfhandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:81,1
    - Dst: GetStdHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:106,1
    - Dst: CreateProcess
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:112,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:123,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:124,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:129,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:131,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:140,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:142,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:144,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_win.c:146,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 65
    argCount: 4
    argNames:
    - server_cmd
    - pfd_to
    - pfd_from
    - pchild_pid
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 150
    functionName: ijs_exec_server
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_exec_win.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - CreatePipe
    - close
    - GetStdHandle
    - GetCurrentProcess
    - CreateProcess
    - DuplicateHandle
    - _open_osfhandle
    linkageType: ''
    returnType: int
    signature: "int ijs_exec_server(const char *server_cmd, int *pfd_to, int *pfd_from,\n
      \   int *pchild_pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - val
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: ijs_put_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ijs_put_int (char *p, int val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ch
    - fd
    argTypes:
    - IjsSendChan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: ijs_send_init
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ijs_send_init (IjsSendChan *ch, int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_put_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ch
    - val
    argTypes:
    - IjsSendChan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 53
    functionName: ijs_send_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 14
    functionsReached:
    - ijs_put_int
    linkageType: ''
    returnType: int
    signature: int ijs_send_int (IjsSendChan *ch, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_send_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ch
    - cmd
    argTypes:
    - IjsSendChan*
    - IjsCommand
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 63
    functionName: ijs_send_begin
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 8
    functionsReached:
    - ijs_send_int
    linkageType: ''
    returnType: int
    signature: int ijs_send_begin (IjsSendChan *ch, IjsCommand cmd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ch
    - buf
    - len
    argTypes:
    - IjsSendChan*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: ijs_send_block
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 6
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ijs_send_block (IjsSendChan *ch, const char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ijs_put_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:80,1
    - Dst: write
      Src: /src/libspectre/ghostscript/ijs/ijs.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ch
    argTypes:
    - IjsSendChan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: ijs_send_buf
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 8
    functionsReached:
    - write
    - ijs_put_int
    linkageType: ''
    returnType: int
    signature: int ijs_send_buf (IjsSendChan *ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ch
    - fd
    argTypes:
    - IjsRecvChan*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ijs_recv_init
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ijs_recv_init (IjsRecvChan *ch, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: ijs_get_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ijs_get_int (const char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/ijs/ijs.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ch
    - buf
    - size
    argTypes:
    - IjsRecvChan*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 120
    functionName: ijs_recv_read
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 1
    functionsReached:
    - read
    linkageType: ''
    returnType: int
    signature: int ijs_recv_read (IjsRecvChan *ch, char *buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_read
      Src: /src/libspectre/ghostscript/ijs/ijs.c:128,1
    - Dst: ijs_get_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:131,1
    - Dst: ijs_recv_read
      Src: /src/libspectre/ghostscript/ijs/ijs.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ch
    argTypes:
    - IjsRecvChan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 143
    functionName: ijs_recv_buf
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 1
    functionsReached:
    - ijs_recv_read
    - ijs_get_int
    linkageType: ''
    returnType: int
    signature: int ijs_recv_buf (IjsRecvChan *ch)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ijs_recv_buf
      Src: /src/libspectre/ghostscript/ijs/ijs.c:161,1
    - Dst: ijs_get_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:164,1
    - Dst: ijs_get_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ch
    argTypes:
    - IjsRecvChan*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 175
    functionName: ijs_recv_ack
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 6
    functionsReached:
    - ijs_recv_buf
    - ijs_get_int
    linkageType: ''
    returnType: int
    signature: int ijs_recv_ack (IjsRecvChan *ch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_get_int
      Src: /src/libspectre/ghostscript/ijs/ijs.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ch
    - val
    argTypes:
    - IjsRecvChan*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: ijs_recv_int
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 11
    functionsReached:
    - ijs_get_int
    linkageType: ''
    returnType: int
    signature: int ijs_recv_int (IjsRecvChan *ch, int *val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ch
    - buf
    - buf_size
    argTypes:
    - IjsRecvChan*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 201
    functionName: ijs_recv_block
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs.c
    functionUses: 3
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ijs_recv_block (IjsRecvChan *ch, char *buf, int buf_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pipe
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:39,1
    - Dst: pipe
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:41,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:43,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:44,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:48,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:51,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:52,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:53,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:54,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:63,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:64,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:66,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:67,1
    - Dst: execvp
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:78,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:80,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:92,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:95,1
    - Dst: close
      Src: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 4
    argNames:
    - server_cmd
    - pfd_to
    - pfd_from
    - pchild_pid
    argTypes:
    - char*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 103
    functionName: ijs_exec_server
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_exec_unix.c
    functionUses: 1
    functionsReached:
    - pipe
    - signal
    - close
    - fork
    - dup2
    - fprintf
    - execvp
    - exit
    linkageType: ''
    returnType: int
    signature: "int ijs_exec_server(const char *server_cmd, int *pfd_to, int *pfd_from,\n
      \   int *pchild_pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: read
    functionSourceFile: /src/libspectre/ghostscript/ijs/unistd_.h
    functionUses: 140
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(handle, buffer, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - handle
    - ','
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: write
    functionSourceFile: /src/libspectre/ghostscript/ijs/unistd_.h
    functionUses: 126
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write(handle, buffer, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: close
    functionSourceFile: /src/libspectre/ghostscript/ijs/unistd_.h
    functionUses: 160
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: close(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - status_cb_data
    - ctx
    - job_id
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: example_status_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int example_status_cb (void *status_cb_data,\n                  IjsServerCtx
      *ctx,\n                  IjsJobId job_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:58,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:60,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - list_cb_data
    - ctx
    - job_id
    - val_buf
    - val_size
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: example_list_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int example_list_cb (void *list_cb_data,\n                 IjsServerCtx
      *ctx,\n                 IjsJobId job_id,\n                 char *val_buf,\n
      \                int val_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:78,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:80,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:82,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:84,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:91,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:95,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - enum_cb_data
    - ctx
    - job_id
    - key
    - val_buf
    - val_size
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 98
    functionName: example_enum_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int example_enum_cb (void *enum_cb_data,\n                 IjsServerCtx
      *ctx,\n                 IjsJobId job_id,\n                 const char *key,\n
      \                char *val_buf,\n                 int val_size)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:119,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:121,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:128,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - val
    - size
    - pw
    - ph
    argTypes:
    - char*
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 135
    functionName: example_parse_wxh
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strtod
    linkageType: ''
    returnType: int
    signature: "int example_parse_wxh (const char *val, int size,\n                   double
      *pw, double *ph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pl
    - key
    argTypes:
    - ExampleParamList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: example_find_key
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ExampleParamList
    signature: 'ExampleParamList *

      example_find_key (ExampleParamList *pl, const char *key)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:170,1
    - Dst: example_parse_wxh
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pl
    - printable
    argTypes:
    - ExampleParamList*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: example_compute_printable
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - example_parse_wxh
    - example_find_key
    linkageType: ''
    returnType: int
    signature: int example_compute_printable (ExampleParamList *pl, double printable[4])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:198,1
    - Dst: example_parse_wxh
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:202,1
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:206,1
    - Dst: example_parse_wxh
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:209,1
    - Dst: example_compute_printable
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pl
    - ph
    - px0
    - py0
    argTypes:
    - ExampleParamList*
    - IjsPageHeader*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 232
    functionName: example_compute_offset
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - example_parse_wxh
    - example_find_key
    - example_compute_printable
    linkageType: ''
    returnType: int
    signature: "int example_compute_offset (ExampleParamList *pl, IjsPageHeader *ph,\n
      \                       double *px0, double *py0)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:248,1
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:249,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:254,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:258,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:258,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:261,1
    - Dst: example_compute_printable
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:263,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:266,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:271,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:273,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:275,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:282,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 6
    argNames:
    - get_cb_data
    - ctx
    - job_id
    - key
    - val_buf
    - val_size
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 289
    functionName: example_get_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - sprintf
    - example_compute_printable
    - strcmp
    - example_find_key
    - strlen
    - fprintf
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int example_get_cb (void *get_cb_data,\n                 IjsServerCtx
      *ctx,\n                 IjsJobId job_id,\n                 const char *key,\n
      \                char *val_buf,\n                 int val_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:297,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:300,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:302,1
    - Dst: example_parse_wxh
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:306,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:311,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:312,1
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:314,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:318,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:320,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:321,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:326,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:329,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 6
    argNames:
    - set_cb_data
    - ctx
    - job_id
    - key
    - value
    - value_size
    argTypes:
    - void*
    - IjsServerCtx*
    - IjsJobId
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 333
    functionName: example_set_cb
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - example_find_key
    - fputs
    - malloc
    - free
    - fprintf
    - memcpy
    - fwrite
    - example_parse_wxh
    linkageType: ''
    returnType: int
    signature: "int example_set_cb (void *set_cb_data, IjsServerCtx *ctx, IjsJobId
      job_id,\n                const char *key, const char *value, int value_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: example_find_key
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:345,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:349,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pl
    - key
    argTypes:
    - ExampleParamList*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 5
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: find_param
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - malloc
    - example_find_key
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      find_param (ExampleParamList *pl, const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:363,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:364,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pl
    argTypes:
    - ExampleParamList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 367
    functionName: free_param_list
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void free_param_list (ExampleParamList *pl)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ijs_server_init
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:383,1
    - Dst: ijs_server_install_status_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:386,1
    - Dst: ijs_server_install_list_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:387,1
    - Dst: ijs_server_install_enum_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:388,1
    - Dst: ijs_server_install_set_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:389,1
    - Dst: ijs_server_install_get_cb
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:390,1
    - Dst: ijs_server_get_page_header
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:397,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:399,1
    - Dst: find_param
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:404,1
    - Dst: find_param
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:409,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:412,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:412,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:417,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:421,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:422,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:423,1
    - Dst: free
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:427,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:430,1
    - Dst: example_compute_offset
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:432,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:437,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:442,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:443,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:447,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:448,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:449,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:452,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:463,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:466,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:479,1
    - Dst: ijs_server_get_data
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:481,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:484,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:500,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:503,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:510,1
    - Dst: ijs_server_done
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:511,1
    - Dst: free_param_list
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:513,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/ijs/ijs_server_example.c:516,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 519
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/ijs/ijs_server_example.c
    functionUses: 2
    functionsReached:
    - fputs
    - fprintf
    - free_param_list
    - fclose
    - ijs_server_install_set_cb
    - ijs_server_install_get_cb
    - ijs_server_done
    - ijs_server_get_data
    - find_param
    - fdopen
    - ijs_server_get_page_header
    - ijs_server_init
    - example_compute_offset
    - ijs_server_install_list_cb
    - free
    - ijs_server_install_status_cb
    - fopen
    - fwrite
    - ijs_server_install_enum_cb
    - atoi
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutex
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:13,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 14
    functionName: MyMtxCreate
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - CreateMutex
    linkageType: ''
    returnType: void
    signature: void * MyMtxCreate(cmsContext id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:19,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 20
    functionName: MyMtxDestroy
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: void
    signature: void MyMtxDestroy(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 27
    functionName: MyMtxLock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - WaitForSingleObject
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool MyMtxLock(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseMutex
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: MyMtxUnlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - ReleaseMutex
    linkageType: ''
    returnType: void
    signature: void MyMtxUnlock(cmsContext id, void* mtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sleep
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:50,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:50,1
    - Dst: cmsCreateTransformTHR
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:51,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:61,1
    - Dst: OutputDebugString
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:69,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - lpParameter
    argTypes:
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 80
    functionName: one_thread
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsCreateTransformTHR
    - OutputDebugString
    - rand
    - cmsDoTransform
    - Sleep
    linkageType: ''
    returnType: DWORD
    signature: DWORD one_thread(LPVOID lpParameter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OutputDebugString
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:87,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:89,1
    - Dst: cmsOpenProfileFromFileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:91,1
    - Dst: cmsOpenProfileFromFileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:92,1
    - Dst: CreateThread
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:104,1
    - Dst: WaitForMultipleObjects
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:107,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:110,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:113,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:114,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:115,1
    - Dst: OutputDebugString
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpCmdLine
    - nCmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 120
    functionName: WinMain
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testthread.cpp
    functionUses: 0
    functionsReached:
    - CloseHandle
    - cmsDeleteContext
    - cmsCreateContext
    - CreateThread
    - cmsOpenProfileFromFileTHR
    - OutputDebugString
    - WaitForMultipleObjects
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int
      nCmdShow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: cmsmin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsmin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: cmsmin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsmin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:52,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:53,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:54,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:55,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:56,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - Reason
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: Die
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vsprintf
    - fflush
    - exit
    linkageType: ''
    returnType: void
    signature: void Die(const char* Reason, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: DbgThread
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsContext
    signature: cmsContext DbgThread(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:108,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 127
    functionName: DebugMalloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - malloc
    - Die
    linkageType: ''
    returnType: void
    signature: void * DebugMalloc(cmsContext ContextID, cmsUInt32Number size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:137,1
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:144,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - Ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 148
    functionName: DebugFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - free
    - Die
    linkageType: ''
    returnType: void
    signature: void DebugFree(cmsContext ContextID, void *Ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DebugMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:159,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:164,1
    - Dst: DebugFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - Ptr
    - NewSize
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 168
    functionName: DebugRealloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - memmove
    - DebugFree
    - DebugMalloc
    linkageType: ''
    returnType: void
    signature: void * DebugRealloc(cmsContext ContextID, void* Ptr, cmsUInt32Number
      NewSize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:174,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: DebugMemPrintTotals
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void DebugMemPrintTotals(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: DebugMemDontCheckThis
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugMemDontCheckThis(void *Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:194,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:198,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: MemStr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - sprintf
    linkageType: ''
    returnType: char
    signature: char * MemStr(cmsUInt32Number size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:210,1
    - Dst: MemStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:210,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ok
    argTypes:
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: TestMemoryLeaks
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - MemStr
    linkageType: ''
    returnType: void
    signature: void TestMemoryLeaks(cmsBool ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: PluginMemHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * PluginMemHandler(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:230,1
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:233,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - usr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 237
    functionName: WatchDogContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Die
    - DebugMemDontCheckThis
    - cmsCreateContext
    linkageType: ''
    returnType: cmsContext
    signature: cmsContext WatchDogContext(void* usr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:244,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:246,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: FatalErrorQuit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - Die
    linkageType: ''
    returnType: void
    signature: void FatalErrorQuit(cmsContext ContextID, cmsUInt32Number ErrorCode,
      const char *Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: ResetFatalError
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetLogErrorHandler
    linkageType: ''
    returnType: void
    signature: void ResetFatalError(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:260,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 261
    functionName: Dot
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void Dot(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:265,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 266
    functionName: Say
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void Say(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:274,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:275,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: Fail
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - va_start
    - vsprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void Fail(const char* frm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Dot
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:285,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:286,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:287,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: SubTest
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Dot
    - va_start
    - vsprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void SubTest(const char* frm, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DbgThread
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:295,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:297,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:298,1
    - Dst: Fn
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:306,1
    - Dst: TestMemoryLeaks
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:309,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:313,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:316,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:318,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:321,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - Title
    - Fn
    argTypes:
    - cmsContext
    - char*
    - TestFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 326
    functionName: Check
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 2
    functionsReached:
    - printf
    - Fn
    - fflush
    - TestMemoryLeaks
    - DbgThread
    linkageType: ''
    returnType: void
    signature: void Check(cmsContext ContextID, const char* Title, TestFn Fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:334,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:336,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:337,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:339,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:340,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:345,1
    - Dst: cmsIT8SetDataRowCol
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:346,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:347,1
    - Dst: cmsIT8SetDataRowCol
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:348,1
    - Dst: cmsIT8SaveToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:351,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - gamma
    - FileName
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 353
    functionName: DumpToneCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIT8SetPropertyDbl
    - sprintf
    - cmsIT8SetDataRowCol
    - cmsIT8SaveToFile
    - cmsIT8Free
    - cmsIT8SetDataFormat
    - cmsIT8Alloc
    linkageType: ''
    returnType: void
    signature: void DumpToneCurve(cmsContext ContextID, cmsToneCurve* gamma, const
      char* FileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:371,1
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:373,1
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:374,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 378
    functionName: Create_AboveRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsBuildGamma
    - cmsCreateRGBProfile
    - cmsWhitePointFromTemp
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE Create_AboveRGB(cmsContext ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:385,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:388,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:388,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: Create_Gray22
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsCreateGrayProfile
    - cmsBuildGamma
    - cmsD50_xyY
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE Create_Gray22(cmsContext ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:399,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:402,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:402,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: Create_Gray30
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsCreateGrayProfile
    - cmsBuildGamma
    - cmsD50_xyY
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE Create_Gray30(cmsContext ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:413,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:416,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:416,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:417,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: Create_GrayLab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - cmsD50_xyY
    - cmsFreeToneCurve
    - cmsSetPCS
    - cmsCreateGrayProfile
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE Create_GrayLab(cmsContext ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:429,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:437,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:440,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 443
    functionName: Create_CMYK_DeviceLink
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsCreateLinearizationDeviceLink
    - cmsBuildGamma
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE Create_CMYK_DeviceLink(cmsContext ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 463
    functionName: Clip
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Clip(cmsFloat64Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:472,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:478,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:478,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 492
    functionName: ForwardSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - cmsmin
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ForwardSampler(cmsContext ContextID, register const
      cmsUInt16Number In[], cmsUInt16Number Out[], void* Cargo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:508,1
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:509,1
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:510,1
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:519,1
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:520,1
    - Dst: Clip
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:521,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 526
    functionName: ReverseSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Clip
    - cmsDoTransform
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ReverseSampler(cmsContext ContextID, register const
      cmsUInt16Number In[], register cmsUInt16Number Out[], register void* Cargo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:541,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:543,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:545,1
    - Dst: cmsCreateInkLimitingDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:546,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:548,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:548,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:548,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:549,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:550,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:551,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:553,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:553,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:553,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:555,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:558,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:560,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:561,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:562,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:564,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:566,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:568,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:570,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:570,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:571,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:572,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:572,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:574,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:575,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:577,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:579,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:581,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:583,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:583,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:584,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:585,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:585,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:587,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:588,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:590,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:591,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:592,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:594,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:595,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:596,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:597,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 56
    argCount: 3
    argNames:
    - ContextID
    - InkLimit
    - lUseAboveRGB
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 600
    functionName: CreateFakeCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - BYTES_SH
    - cmsPipelineAlloc
    - cmsLinkTag
    - cmsSetPCS
    - cmsCreate_sRGBProfile
    - cmsWriteTag
    - cmsCreateInkLimitingDeviceLink
    - CHANNELS_SH
    - cmsCreateTransform
    - Create_AboveRGB
    - cmsSetProfileVersion
    - cmsCreateLab4Profile
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsDeleteTransform
    - cmsSetDeviceClass
    - cmsCloseProfile
    - FLOAT_SH
    - cmsStageAllocCLut16bit
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreateFakeCMYK(cmsContext ContextID, cmsFloat64Number InkLimit,
      cmsBool lUseAboveRGB)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:608,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:611,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:612,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:614,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ctx
    - h
    - SubTestTxt
    - FileName
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: OneVirtual
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsOpenProfileFromFile
    - SubTest
    - cmsSaveProfileToFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number OneVirtual(cmsContext ctx, cmsHPROFILE h, const char*
      SubTestTxt, const char* FileName)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:630,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:631,1
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:635,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:636,1
    - Dst: Create_Gray22
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:640,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:641,1
    - Dst: Create_Gray30
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:645,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:646,1
    - Dst: Create_GrayLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:650,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:651,1
    - Dst: Create_CMYK_DeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:655,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:656,1
    - Dst: cmsCreateInkLimitingDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:659,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:661,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:665,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:666,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:670,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:671,1
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:675,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:676,1
    - Dst: cmsCreateNULLProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:680,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:681,1
    - Dst: cmsCreateBCHSWabstractProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:685,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:686,1
    - Dst: CreateFakeCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:690,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:691,1
    - Dst: cmsCreateBCHSWabstractProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:695,1
    - Dst: OneVirtual
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:696,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 46
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 698
    functionName: CreateTestProfiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsCreateLab2Profile
    - Create_CMYK_DeviceLink
    - cmsCreateNULLProfile
    - CreateFakeCMYK
    - Create_GrayLab
    - OneVirtual
    - cmsCreateBCHSWabstractProfile
    - Create_Gray22
    - cmsCreateInkLimitingDeviceLink
    - cmsCreateLab4Profile
    - cmsCreateXYZProfile
    - Create_Gray30
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CreateTestProfiles(cmsContext ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:703,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:704,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:705,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:706,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:707,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:708,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:709,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:710,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:711,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:712,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:713,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:714,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:715,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:716,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:717,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 719
    functionName: RemoveTestProfiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - remove
    linkageType: ''
    returnType: void
    signature: void RemoveTestProfiles(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 30
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 748
    functionName: CheckBaseTypes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckBaseTypes(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 779
    functionName: CheckEndianness
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Die
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckEndianness(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:785,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:786,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:787,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:788,1
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 782
    functionDepth: 1
    functionLinenumber: 782
    functionLinenumberEnd: 797
    functionName: CheckQuickFloor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Die
    - _cmsQuickFloor
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckQuickFloor(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickFloorWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:807,1
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:809,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 816
    functionName: CheckQuickFloorWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloorWord
    - Die
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckQuickFloorWord(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:836,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:842,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - title
    - in
    - out
    - max
    argTypes:
    - char*
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 847
    functionName: IsGoodVal
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fail
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsGoodVal(const char *title, cmsFloat64Number in, cmsFloat64Number
      out, cmsFloat64Number max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - title
    - in
    - out
    argTypes:
    - char*
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 853
    functionName: IsGoodFixed15_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodVal
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsGoodFixed15_16(const char *title, cmsFloat64Number in, cmsFloat64Number
      out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - title
    - in
    - out
    argTypes:
    - char*
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 859
    functionName: IsGoodFixed8_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodVal
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsGoodFixed8_8(const char *title, cmsFloat64Number in, cmsFloat64Number
      out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:863,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - title
    - in
    - out
    argTypes:
    - char*
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 870
    functionName: IsGoodWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fail
    - abs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsGoodWord(const char *title, cmsUInt16Number in, cmsUInt16Number
      out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:874,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - title
    - in
    - out
    - maxErr
    argTypes:
    - char*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 881
    functionName: IsGoodWordPrec
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fail
    - abs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsGoodWordPrec(const char *title, cmsUInt16Number in, cmsUInt16Number
      out, cmsUInt16Number maxErr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:888,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:889,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - d
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 885
    functionDepth: 1
    functionLinenumber: 885
    functionLinenumberEnd: 893
    functionName: TestSingleFixed15_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cms15Fixed16toDouble
    - _cmsDoubleTo15Fixed16
    - fabs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number TestSingleFixed15_16(cmsContext ContextID, cmsFloat64Number
      d)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:898,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:899,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:900,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:901,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:902,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:903,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:904,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:905,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:906,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:907,1
    - Dst: TestSingleFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:908,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 910
    functionName: CheckFixedPoint15_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - TestSingleFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFixedPoint15_16(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDoubleTo8Fixed8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:915,1
    - Dst: _cms8Fixed8toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:916,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - d
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 920
    functionName: TestSingleFixed8_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cms8Fixed8toDouble
    - fabs
    - _cmsDoubleTo8Fixed8
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number TestSingleFixed8_8(cmsContext ContextID, cmsFloat64Number
      d)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:925,1
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:926,1
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:927,1
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:928,1
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:929,1
    - Dst: TestSingleFixed8_8
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 933
    functionName: CheckFixedPoint8_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - TestSingleFixed8_8
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFixedPoint8_8(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:944,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:945,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:946,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:948,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:949,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:950,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:952,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:953,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:954,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:956,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:960,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:964,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:965,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:966,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:968,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:969,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:970,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:972,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:973,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:974,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:976,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:980,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 986
    functionName: CheckD50Roundtrip
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - sqrt
    - _cmsDoubleTo15Fixed16
    - _cms15Fixed16toDouble
    - fabs
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckD50Roundtrip(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - n
    - Tab
    - Descending
    argTypes:
    - cmsInt32Number
    - cmsUInt16Number[]
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1006
    functionName: BuildTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void BuildTable(cmsInt32Number n, cmsUInt16Number Tab[], cmsBool  Descending)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1022,1
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1025,1
    - Dst: BuildTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1028,1
    - Dst: cmsInterpParams*::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1035,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1039,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1041,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1042,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1043,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1048,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1049,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ContextID
    - nNodesToCheck
    - Down
    - max_err
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsBool
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1014
    functionDepth: 5
    functionLinenumber: 1014
    functionLinenumberEnd: 1051
    functionName: Check1D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsComputeInterpParams
    - BuildTable
    - cmsInterpParams*::Interpolation::Lerp16
    - malloc
    - free
    - _cmsFreeInterpParams
    - Fail
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1D(cmsContext ContextID, cmsInt32Number nNodesToCheck,
      cmsBool  Down, cmsInt32Number max_err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1057,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1054
    functionDepth: 6
    functionLinenumber: 1054
    functionLinenumberEnd: 1058
    functionName: Check1DLERP2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP2(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 6
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: Check1DLERP3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP3(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1068
    functionDepth: 6
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    functionName: Check1DLERP4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP4(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 6
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: Check1DLERP6
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP6(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1083,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1080
    functionDepth: 6
    functionLinenumber: 1080
    functionLinenumberEnd: 1084
    functionName: Check1DLERP18
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP18(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 6
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: Check1DLERP2Down
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP2Down(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1094
    functionDepth: 6
    functionLinenumber: 1094
    functionLinenumberEnd: 1098
    functionName: Check1DLERP3Down
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP3Down(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 6
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: Check1DLERP6Down
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP6Down(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1106
    functionDepth: 6
    functionLinenumber: 1106
    functionLinenumberEnd: 1110
    functionName: Check1DLERP18Down
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1DLERP18Down(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1117,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1120,1
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1122,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1112
    functionDepth: 6
    functionLinenumber: 1112
    functionLinenumberEnd: 1127
    functionName: ExhaustiveCheck1DLERP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExhaustiveCheck1DLERP(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1134,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1137,1
    - Dst: Check1D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1139,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1129
    functionDepth: 6
    functionLinenumber: 1129
    functionLinenumberEnd: 1145
    functionName: ExhaustiveCheck1DLERPDown
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - Check1D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExhaustiveCheck1DLERPDown(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1173,1
    - Dst: cmsInterpParams*::Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1181,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1183,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1184,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1185,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1188,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1189,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1195
    functionName: Check3DinterpolationFloatTetrahedral
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::LerpFloat
    - _cmsFreeInterpParams
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3DinterpolationFloatTetrahedral(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1219,1
    - Dst: cmsInterpParams*::Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1226,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1228,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1229,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1230,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1233,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1234,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1241
    functionName: Check3DinterpolationFloatTrilinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::LerpFloat
    - _cmsFreeInterpParams
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3DinterpolationFloatTrilinear(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1264,1
    - Dst: cmsInterpParams*::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1271,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1273,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1274,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1275,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1278,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1279,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1285
    functionName: Check3DinterpolationTetrahedral16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::Lerp16
    - IsGoodWord
    - _cmsFreeInterpParams
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3DinterpolationTetrahedral16(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1308,1
    - Dst: cmsInterpParams*::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1315,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1317,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1318,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1319,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1322,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1323,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1327,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1329
    functionName: Check3DinterpolationTrilinear16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::Lerp16
    - IsGoodWord
    - _cmsFreeInterpParams
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3DinterpolationTrilinear16(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1354,1
    - Dst: cmsInterpParams*::Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1367,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1369,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1370,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1371,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1374,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1375,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1381
    functionName: ExaustiveCheck3DinterpolationFloatTetrahedral
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::LerpFloat
    - _cmsFreeInterpParams
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExaustiveCheck3DinterpolationFloatTetrahedral(cmsContext
      ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1405,1
    - Dst: cmsInterpParams*::Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1418,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1420,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1421,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1422,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1425,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1426,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1433
    functionName: ExaustiveCheck3DinterpolationFloatTrilinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - _cmsComputeInterpParams
    - cmsInterpParams*::Interpolation::LerpFloat
    - _cmsFreeInterpParams
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExaustiveCheck3DinterpolationFloatTrilinear(cmsContext
      ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1456,1
    - Dst: cmsInterpParams*::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1467,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1469,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1470,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1471,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1474,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1478,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1480
    functionName: ExhaustiveCheck3DinterpolationTetrahedral16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsFreeInterpParams
    - _cmsComputeInterpParams
    - IsGoodWord
    - cmsInterpParams*::Interpolation::Lerp16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExhaustiveCheck3DinterpolationTetrahedral16(cmsContext
      ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1503,1
    - Dst: cmsInterpParams*::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1514,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1516,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1517,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1518,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1522,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1526,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1528
    functionName: ExhaustiveCheck3DinterpolationTrilinear16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsFreeInterpParams
    - _cmsComputeInterpParams
    - IsGoodWord
    - cmsInterpParams*::Interpolation::Lerp16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ExhaustiveCheck3DinterpolationTrilinear16(cmsContext
      ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1556,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1558,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1559,1
    - Dst: cmsPipelineEvalReverseFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1563,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1566,1
    - Dst: cmsPipelineEvalReverseFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1577,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1579,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1582,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1585,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1591
    functionName: CheckReverseInterpolation3x3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsPipelineEvalReverseFloat
    - cmsStageAllocCLut16bit
    - fabsf
    - cmsPipelineAlloc
    - memcpy
    - cmsPipelineFree
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckReverseInterpolation3x3(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1632,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1634,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1635,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1638,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1646,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1648,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1649,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1650,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1653,1
    - Dst: cmsPipelineEvalReverseFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1664,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1668,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1672,1
    - Dst: cmsPipelineEvalReverseFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1679,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1681,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1684,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1687,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1691,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1594
    functionDepth: 2
    functionLinenumber: 1594
    functionLinenumberEnd: 1693
    functionName: CheckReverseInterpolation4x3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    - cmsPipelineInsertStage
    - cmsPipelineEvalReverseFloat
    - cmsStageAllocCLut16bit
    - fabsf
    - cmsPipelineAlloc
    - SubTest
    - memcpy
    - cmsPipelineFree
    - Fail
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckReverseInterpolation4x3(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - m
    argTypes:
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1705
    functionName: Fn8D1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: "cmsUInt16Number Fn8D1(cmsUInt16Number a1, cmsUInt16Number a2, cmsUInt16Number
      a3, cmsUInt16Number a4,\n                      cmsUInt16Number a5, cmsUInt16Number
      a6, cmsUInt16Number a7, cmsUInt16Number a8,\n                      cmsUInt32Number
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - m
    argTypes:
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1714
    functionName: Fn8D2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: "cmsUInt16Number Fn8D2(cmsUInt16Number a1, cmsUInt16Number a2, cmsUInt16Number
      a3, cmsUInt16Number a4,\n                      cmsUInt16Number a5, cmsUInt16Number
      a6, cmsUInt16Number a7, cmsUInt16Number a8,\n                      cmsUInt32Number
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    - m
    argTypes:
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1723
    functionName: Fn8D3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: "cmsUInt16Number Fn8D3(cmsUInt16Number a1, cmsUInt16Number a2, cmsUInt16Number
      a3, cmsUInt16Number a4,\n                      cmsUInt16Number a5, cmsUInt16Number
      a6, cmsUInt16Number a7, cmsUInt16Number a8,\n                      cmsUInt32Number
      m)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1734,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1735,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1736,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1728
    functionDepth: 1
    functionLinenumber: 1728
    functionLinenumberEnd: 1742
    functionName: Sampler3D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler3D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1750,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1751,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1752,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1744
    functionDepth: 1
    functionLinenumber: 1744
    functionLinenumberEnd: 1757
    functionName: Sampler4D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler4D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1765,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1766,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1767,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1759
    functionDepth: 1
    functionLinenumber: 1759
    functionLinenumberEnd: 1772
    functionName: Sampler5D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler5D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1780,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1781,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1782,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1787
    functionName: Sampler6D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler6D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1795,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1796,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1797,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1802
    functionName: Sampler7D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler7D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fn8D1
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1810,1
    - Dst: Fn8D2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1811,1
    - Dst: Fn8D3
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1812,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1804
    functionDepth: 1
    functionLinenumber: 1804
    functionLinenumberEnd: 1817
    functionName: Sampler8D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Fn8D3
    - Fn8D1
    - cmsUNUSED_PARAMETER
    - Fn8D2
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number Sampler8D(cmsContext ContextID, register const cmsUInt16Number
      In[],\n               register cmsUInt16Number Out[],\n               register
      void * Cargo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1827,1
    - Dst: Sampler3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1830,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1834,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1835,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1836,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1819
    functionDepth: 2
    functionLinenumber: 1819
    functionLinenumberEnd: 1839
    functionName: CheckOne3D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodWordPrec
    - cmsPipelineEval16
    - Sampler3D
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckOne3D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2, cmsUInt16Number a3)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1849,1
    - Dst: Sampler4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1852,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1856,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1857,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    - a4
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1841
    functionDepth: 2
    functionLinenumber: 1841
    functionLinenumberEnd: 1861
    functionName: CheckOne4D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodWordPrec
    - cmsPipelineEval16
    - Sampler4D
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckOne4D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2, cmsUInt16Number a3, cmsUInt16Number a4)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1872,1
    - Dst: Sampler5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1875,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1879,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1880,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1881,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    - a4
    - a5
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1863
    functionDepth: 2
    functionLinenumber: 1863
    functionLinenumberEnd: 1884
    functionName: CheckOne5D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Sampler5D
    - IsGoodWordPrec
    - cmsPipelineEval16
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool CheckOne5D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2,\n                                     cmsUInt16Number
      a3, cmsUInt16Number a4, cmsUInt16Number a5)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1896,1
    - Dst: Sampler6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1899,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1903,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1904,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1905,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 8
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1886
    functionDepth: 2
    functionLinenumber: 1886
    functionLinenumberEnd: 1908
    functionName: CheckOne6D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Sampler6D
    - IsGoodWordPrec
    - cmsPipelineEval16
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool CheckOne6D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2,\n                                     cmsUInt16Number
      a3, cmsUInt16Number a4,\n                                     cmsUInt16Number
      a5, cmsUInt16Number a6)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1922,1
    - Dst: Sampler7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1925,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1929,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1930,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 9
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1911
    functionDepth: 2
    functionLinenumber: 1911
    functionLinenumberEnd: 1934
    functionName: CheckOne7D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodWordPrec
    - Sampler7D
    - cmsPipelineEval16
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool CheckOne7D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2,\n                                     cmsUInt16Number
      a3, cmsUInt16Number a4,\n                                     cmsUInt16Number
      a5, cmsUInt16Number a6,\n                                     cmsUInt16Number
      a7)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1948,1
    - Dst: Sampler8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1951,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1955,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1956,1
    - Dst: IsGoodWordPrec
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1957,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 10
    argNames:
    - ContextID
    - lut
    - a1
    - a2
    - a3
    - a4
    - a5
    - a6
    - a7
    - a8
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 1960
    functionName: CheckOne8D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodWordPrec
    - Sampler8D
    - cmsPipelineEval16
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool CheckOne8D(cmsContext ContextID, cmsPipeline* lut, cmsUInt16Number
      a1, cmsUInt16Number a2,\n                                     cmsUInt16Number
      a3, cmsUInt16Number a4,\n                                     cmsUInt16Number
      a5, cmsUInt16Number a6,\n                                     cmsUInt16Number
      a7, cmsUInt16Number a8)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1969,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1970,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1971,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1972,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1976,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1977,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1979,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1980,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1981,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1982,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1983,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1984,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1986,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1963
    functionDepth: 3
    functionLinenumber: 1963
    functionLinenumberEnd: 1989
    functionName: Check3Dinterp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOne3D
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3Dinterp(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1998,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:1999,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2000,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2001,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2005,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2006,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2008,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2009,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2010,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2011,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2012,1
    - Dst: CheckOne3D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2013,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2015,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2018
      start: 1991
    functionDepth: 3
    functionLinenumber: 1991
    functionLinenumberEnd: 2018
    functionName: Check3DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOne3D
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3DinterpGranular(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2027,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2028,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2029,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2030,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2034,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2035,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2037,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2038,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2039,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2040,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2041,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2042,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2044,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2021
    functionDepth: 3
    functionLinenumber: 2021
    functionLinenumberEnd: 2047
    functionName: Check4Dinterp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - CheckOne4D
    - cmsStageSampleCLut16bit
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check4Dinterp(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2058,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2059,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2060,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2061,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2065,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2066,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2068,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2069,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2070,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2071,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2072,1
    - Dst: CheckOne4D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2073,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2051
    functionDepth: 3
    functionLinenumber: 2051
    functionLinenumberEnd: 2078
    functionName: Check4DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - CheckOne4D
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check4DinterpGranular(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2088,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2089,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2090,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2091,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2095,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2096,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2098,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2099,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2100,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2101,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2102,1
    - Dst: CheckOne5D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2103,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2108
    functionName: Check5DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - CheckOne5D
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check5DinterpGranular(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2117,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2118,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2119,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2120,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2124,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2125,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2127,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2128,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2129,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2130,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2131,1
    - Dst: CheckOne6D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2132,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2134,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2110
    functionDepth: 3
    functionLinenumber: 2110
    functionLinenumberEnd: 2137
    functionName: Check6DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - cmsPipelineFree
    - CheckOne6D
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check6DinterpGranular(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2146,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2147,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2148,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2149,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2153,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2154,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2156,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2157,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2158,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2159,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2160,1
    - Dst: CheckOne7D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2161,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2163,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 2139
    functionDepth: 3
    functionLinenumber: 2139
    functionLinenumberEnd: 2166
    functionName: Check7DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - CheckOne7D
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check7DinterpGranular(cmsContext ContextID)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2176,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2177,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2178,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2179,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2183,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2184,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2186,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2187,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2188,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2189,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2190,1
    - Dst: CheckOne8D
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2191,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2193,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2169
    functionDepth: 3
    functionLinenumber: 2169
    functionLinenumberEnd: 2196
    functionName: Check8DinterpGranular
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - CheckOne8D
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check8DinterpGranular(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2219,1
    - Dst: cmsLCh2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2220,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2229
    functionName: CheckLab2LCh
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeltaE
    - cmsLCh2Lab
    - cmsLab2LCh
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLab2LCh(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2250,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2251,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2232
    functionDepth: 1
    functionLinenumber: 2232
    functionLinenumberEnd: 2261
    functionName: CheckLab2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsLab2XYZ
    - cmsXYZ2Lab
    - cmsDeltaE
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLab2XYZ(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2283,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2284,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2285,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2286,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2288,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2296
    functionName: CheckLab2xyY
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsXYZ2Lab
    - cmsLab2XYZ
    - cmsXYZ2xyY
    - cmsDeltaE
    - cmsxyY2XYZ
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLab2xyY(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2FloatV2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2312,1
    - Dst: cmsFloat2LabEncodedV2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2313,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2299
    functionDepth: 1
    functionLinenumber: 2299
    functionLinenumberEnd: 2325
    functionName: CheckLabV2encoding
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsLabEncoded2FloatV2
    - cmsFloat2LabEncodedV2
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLabV2encoding(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2340,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2353
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2353
    functionName: CheckLabV4encoding
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFloat2LabEncoded
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLabV4encoding(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2367,1
    - Dst: cmsTempFromWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2368,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2358
    functionDepth: 1
    functionLinenumber: 2358
    functionLinenumberEnd: 2376
    functionName: CheckTemp2CHRM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsTempFromWhitePoint
    - fabs
    - cmsWhitePointFromTemp
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTemp2CHRM(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2385,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2387,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - c
    - g
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2382
    functionDepth: 2
    functionLinenumber: 2382
    functionLinenumberEnd: 2390
    functionName: CheckGammaEstimation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - SubTest
    - cmsEstimateGamma
    - fabs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaEstimation(cmsContext ContextID, cmsToneCurve*
      c, cmsFloat64Number g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2395,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2402,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2404,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2405,1
    - Dst: CheckGammaEstimation
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2410,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2415
      start: 2392
    functionDepth: 3
    functionLinenumber: 2392
    functionLinenumberEnd: 2415
    functionName: CheckGammaCreation16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaEstimation
    - cmsBuildGamma
    - cmsFreeToneCurve
    - cmsEvalToneCurve16
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaCreation16(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2420,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2427,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2428,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2429,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2430,1
    - Dst: CheckGammaEstimation
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2435,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2436,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2417
    functionDepth: 3
    functionLinenumber: 2417
    functionLinenumberEnd: 2438
    functionName: CheckGammaCreationFlt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - CheckGammaEstimation
    - cmsFreeToneCurve
    - fabs
    - Fail
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaCreationFlt(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2445,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2454,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2455,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2457,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2461,1
    - Dst: CheckGammaEstimation
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2463,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - ContextID
    - g
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2442
    functionDepth: 3
    functionLinenumber: 2442
    functionLinenumberEnd: 2467
    functionName: CheckGammaFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    - cmsBuildGamma
    - CheckGammaEstimation
    - printf
    - cmsFreeToneCurve
    - fabs
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaFloat(cmsContext ContextID, cmsFloat64Number
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2469
    functionDepth: 4
    functionLinenumber: 2469
    functionLinenumberEnd: 2472
    functionName: CheckGamma18
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma18(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2474
    functionDepth: 4
    functionLinenumber: 2474
    functionLinenumberEnd: 2477
    functionName: CheckGamma22
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma22(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2479
    functionDepth: 4
    functionLinenumber: 2479
    functionLinenumberEnd: 2482
    functionName: CheckGamma30
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma30(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: powf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2498,1
    - Dst: cmsBuildTabulatedToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2501,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2507,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2508,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2510,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2514,1
    - Dst: CheckGammaEstimation
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2516,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ContextID
    - g
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2486
    functionDepth: 3
    functionLinenumber: 2486
    functionLinenumberEnd: 2520
    functionName: CheckGammaFloatTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    - CheckGammaEstimation
    - printf
    - cmsBuildTabulatedToneCurveFloat
    - cmsFreeToneCurve
    - powf
    - fabs
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaFloatTable(cmsContext ContextID, cmsFloat64Number
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloatTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2526
      start: 2523
    functionDepth: 4
    functionLinenumber: 2523
    functionLinenumberEnd: 2526
    functionName: CheckGamma18Table
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloatTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma18Table(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloatTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2528
    functionDepth: 4
    functionLinenumber: 2528
    functionLinenumberEnd: 2531
    functionName: CheckGamma22Table
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloatTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma22Table(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaFloatTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2533
    functionDepth: 4
    functionLinenumber: 2533
    functionLinenumberEnd: 2536
    functionName: CheckGamma30Table
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaFloatTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma30Table(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2551,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2551,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2554,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2560,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2561,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2563,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2567,1
    - Dst: CheckGammaEstimation
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2569,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - ContextID
    - g
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2539
    functionDepth: 3
    functionLinenumber: 2539
    functionLinenumberEnd: 2573
    functionName: CheckGammaWordTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    - CheckGammaEstimation
    - printf
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - floor
    - fabs
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGammaWordTable(cmsContext ContextID, cmsFloat64Number
      g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaWordTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2575
    functionDepth: 4
    functionLinenumber: 2575
    functionLinenumberEnd: 2578
    functionName: CheckGamma18TableWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaWordTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma18TableWord(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaWordTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2580
    functionDepth: 4
    functionLinenumber: 2580
    functionLinenumberEnd: 2583
    functionName: CheckGamma22TableWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaWordTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma22TableWord(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckGammaWordTable
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2585
    functionDepth: 4
    functionLinenumber: 2585
    functionLinenumberEnd: 2588
    functionName: CheckGamma30TableWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckGammaWordTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma30TableWord(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2599,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2600,1
    - Dst: cmsJoinToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2602,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2604,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2604,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2606,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2607,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2593
    functionDepth: 1
    functionLinenumber: 2593
    functionLinenumberEnd: 2613
    functionName: CheckJointCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsBuildGamma
    - cmsJoinToneCurve
    - cmsFreeToneCurve
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckJointCurves(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2621,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - nEntries
    - Dir
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2634
    functionName: GammaTableLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsQuantizeVal
    - cmsBuildTabulatedToneCurve16
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * GammaTableLinear(cmsContext ContextID, cmsInt32Number
      nEntries, cmsBool Dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2643,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2651,1
    - Dst: cmsJoinToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2653,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2655,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2656,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2658,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2637
    functionDepth: 1
    functionLinenumber: 2637
    functionLinenumberEnd: 2662
    functionName: CheckJointCurvesDescending
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsBuildGamma
    - cmsJoinToneCurve
    - cmsFreeToneCurve
    - cmsReverseToneCurve
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckJointCurvesDescending(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2670,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - c
    - Point
    - Value
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsUInt16Number
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2673
    functionName: CheckFToneCurvePoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsEvalToneCurve16
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFToneCurvePoint(cmsContext ContextID, cmsToneCurve*
      c, cmsUInt16Number Point, cmsInt32Number Value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2698,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2699,1
    - Dst: CheckFToneCurvePoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2702,1
    - Dst: CheckFToneCurvePoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2703,1
    - Dst: CheckFToneCurvePoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2706,1
    - Dst: CheckFToneCurvePoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2709,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2711,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2712,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 2715
    functionName: CheckReverseDegenerated
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReverseToneCurve
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - CheckFToneCurvePoint
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckReverseDegenerated(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2719
    functionDepth: 0
    functionLinenumber: 2719
    functionLinenumberEnd: 2731
    functionName: Build_sRGBGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildParametricToneCurve
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * Build_sRGBGamma(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2746,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2746,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2748,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - g1
    - g2
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2736
    functionDepth: 1
    functionLinenumber: 2736
    functionLinenumberEnd: 2752
    functionName: CombineGammaFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - floor
    - cmsEvalToneCurveFloat
    - cmsBuildTabulatedToneCurve16
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * CombineGammaFloat(cmsContext ContextID, cmsToneCurve*
      g1, cmsToneCurve* g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2766,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2767,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2767,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2770,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - g1
    - g2
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2755
    functionDepth: 1
    functionLinenumber: 2755
    functionLinenumberEnd: 2771
    functionName: CombineGamma16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsEvalToneCurve16
    - _cmsQuantizeVal
    - cmsBuildTabulatedToneCurve16
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * CombineGamma16(cmsContext ContextID, cmsToneCurve* g1,
      cmsToneCurve* g2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build_sRGBGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2779,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2780,1
    - Dst: CombineGammaFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2781,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2782,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2782,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2784,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2773
    functionDepth: 2
    functionLinenumber: 2773
    functionLinenumberEnd: 2788
    functionName: CheckJointFloatCurves_sRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsFreeToneCurve
    - Build_sRGBGamma
    - CombineGammaFloat
    - cmsReverseToneCurve
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckJointFloatCurves_sRGB(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build_sRGBGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2796,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2797,1
    - Dst: CombineGamma16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2798,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2799,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2799,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2801,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2790
    functionDepth: 2
    functionLinenumber: 2790
    functionLinenumberEnd: 2805
    functionName: CheckJoint16Curves_sRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsFreeToneCurve
    - Build_sRGBGamma
    - cmsReverseToneCurve
    - CombineGamma16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckJoint16Curves_sRGB(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2816,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2817,1
    - Dst: cmsJoinToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2818,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2820,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2821,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2823,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2809
    functionDepth: 1
    functionLinenumber: 2809
    functionLinenumberEnd: 2826
    functionName: CheckJointCurvesSShaped
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsJoinToneCurve
    - cmsBuildParametricToneCurve
    - cmsFreeToneCurve
    - cmsReverseToneCurve
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckJointCurvesSShaped(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2836
    functionName: Gamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 13
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number Gamma(cmsFloat32Number x, const cmsFloat64Number Params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2849,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2857
      start: 2838
    functionDepth: 0
    functionLinenumber: 2838
    functionLinenumberEnd: 2857
    functionName: CIE122
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number CIE122(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2859
    functionDepth: 0
    functionLinenumber: 2859
    functionLinenumberEnd: 2877
    functionName: IEC61966_3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number IEC61966_3(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2879
    functionDepth: 0
    functionLinenumber: 2879
    functionLinenumberEnd: 2897
    functionName: IEC61966_21
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number IEC61966_21(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2899
    functionDepth: 0
    functionLinenumber: 2899
    functionLinenumberEnd: 2917
    functionName: param_5
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number param_5(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2919
    functionDepth: 0
    functionLinenumber: 2919
    functionLinenumberEnd: 2931
    functionName: param_6
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number param_6(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: log10
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2939,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2942
      start: 2933
    functionDepth: 0
    functionLinenumber: 2933
    functionLinenumberEnd: 2942
    functionName: param_7
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - log10
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number param_7(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2953
    functionName: param_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number param_8(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2961,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - x
    - Params
    argTypes:
    - cmsFloat32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2964
      start: 2956
    functionDepth: 0
    functionLinenumber: 2956
    functionLinenumberEnd: 2964
    functionName: sigmoidal
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number sigmoidal(cmsFloat32Number x, const cmsFloat64Number
      Params[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2975,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2976,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2983,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2984,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2985,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2987,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2989,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2992,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2993,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2997,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:2998,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3002,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3003,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - Name
    - fn
    - Type
    - Params
    argTypes:
    - cmsContext
    - char*
    - dblfnptr
    - cmsInt32Number
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3005
      start: 2967
    functionDepth: 1
    functionLinenumber: 2967
    functionLinenumberEnd: 3005
    functionName: CheckSingleParametric
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - sprintf
    - cmsBuildParametricToneCurve
    - IsGoodVal
    - fn
    - cmsFreeToneCurve
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckSingleParametric(cmsContext ContextID, const char* Name,
      dblfnptr fn, cmsInt32Number Type, const cmsFloat64Number Params[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3017,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3027,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3039,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3051,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3065,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3074,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3084,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3094,1
    - Dst: CheckSingleParametric
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3099,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3008
    functionDepth: 2
    functionLinenumber: 3008
    functionLinenumberEnd: 3104
    functionName: CheckParametricToneCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckSingleParametric
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckParametricToneCurves(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3115,1
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3116,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3117,1
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3118,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3120,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3108
    functionDepth: 1
    functionLinenumber: 3108
    functionLinenumberEnd: 3124
    functionName: CheckLUTcreation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineFree
    - cmsPipelineAlloc
    - cmsPipelineDup
    - cmsPipelineStageCount
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLUTcreation(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3135,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3136
      start: 3127
    functionDepth: 1
    functionLinenumber: 3127
    functionLinenumberEnd: 3136
    functionName: AddIdentityMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsStageAllocMatrix
    - cmsPipelineInsertStage
    linkageType: ''
    returnType: void
    signature: void AddIdentityMatrix(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3157,1
    - Dst: cmsStageAllocCLutFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3139
    functionDepth: 1
    functionLinenumber: 3139
    functionLinenumberEnd: 3158
    functionName: AddIdentityCLUTfloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsStageAllocCLutFloat
    - cmsPipelineInsertStage
    linkageType: ''
    returnType: void
    signature: void AddIdentityCLUTfloat(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3180,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3161
    functionDepth: 1
    functionLinenumber: 3161
    functionLinenumberEnd: 3181
    functionName: AddIdentityCLUT16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsStageAllocCLut16bit
    - cmsPipelineInsertStage
    linkageType: ''
    returnType: void
    signature: void AddIdentityCLUT16(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3189,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3196,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3196,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - lut
    - Curve
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3186
    functionDepth: 1
    functionLinenumber: 3186
    functionLinenumberEnd: 3199
    functionName: Add3GammaCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsPipelineInsertStage
    - cmsBuildGamma
    - cmsStageAllocToneCurves
    linkageType: ''
    returnType: void
    signature: void Add3GammaCurves(cmsContext ContextID, cmsPipeline* lut, cmsFloat64Number
      Curve)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3215,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3217,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3218,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3231
      start: 3202
    functionDepth: 1
    functionLinenumber: 3202
    functionLinenumberEnd: 3231
    functionName: CheckFloatLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    - floor
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatLUT(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3234
    functionDepth: 1
    functionLinenumber: 3234
    functionLinenumberEnd: 3262
    functionName: Check16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEval16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check16LUT(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3272,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3273,1
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - lut
    - ExpectedStages
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3277
      start: 3266
    functionDepth: 1
    functionLinenumber: 3266
    functionLinenumberEnd: 3277
    functionName: CheckStagesLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineOutputChannels
    - cmsPipelineInputChannels
    - cmsPipelineStageCount
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckStagesLUT(cmsContext ContextID, cmsPipeline* lut,
      cmsInt32Number ExpectedStages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckStagesLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3283,1
    - Dst: Check16LUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3283,1
    - Dst: CheckFloatLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3283,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - lut
    - ExpectedStages
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3287
      start: 3280
    functionDepth: 2
    functionLinenumber: 3280
    functionLinenumberEnd: 3287
    functionName: CheckFullLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineFree
    - Check16LUT
    - CheckStagesLUT
    - CheckFloatLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFullLUT(cmsContext ContextID, cmsPipeline* lut,
      cmsInt32Number ExpectedStages)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3293,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3295,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3297
      start: 3290
    functionDepth: 3
    functionLinenumber: 3290
    functionLinenumberEnd: 3297
    functionName: Check1StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineAlloc
    - CheckFullLUT
    - AddIdentityMatrix
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check1StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3304,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3306,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3307,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3301
    functionDepth: 3
    functionLinenumber: 3301
    functionLinenumberEnd: 3310
    functionName: Check2StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CheckFullLUT
    - AddIdentityMatrix
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check2StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3315,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3317,1
    - Dst: AddIdentityCLUT16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3318,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3321
      start: 3312
    functionDepth: 3
    functionLinenumber: 3312
    functionLinenumberEnd: 3321
    functionName: Check2Stage16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineAlloc
    - AddIdentityCLUT16
    - CheckFullLUT
    - AddIdentityMatrix
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check2Stage16LUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3328,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3330,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3331,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3332,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3335
      start: 3325
    functionDepth: 3
    functionLinenumber: 3325
    functionLinenumberEnd: 3335
    functionName: Check3StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3340,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3342,1
    - Dst: AddIdentityCLUT16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3343,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3344,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3337
    functionDepth: 3
    functionLinenumber: 3337
    functionLinenumberEnd: 3347
    functionName: Check3Stage16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUT16
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check3Stage16LUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3354,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3356,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3357,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3358,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3359,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3351
    functionDepth: 3
    functionLinenumber: 3351
    functionLinenumberEnd: 3362
    functionName: Check4StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check4StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3367,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3369,1
    - Dst: AddIdentityCLUT16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3370,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3371,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3372,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3364
    functionDepth: 3
    functionLinenumber: 3364
    functionLinenumberEnd: 3375
    functionName: Check4Stage16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUT16
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check4Stage16LUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3380,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3382,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3383,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3384,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3385,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3386,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3377
    functionDepth: 3
    functionLinenumber: 3377
    functionLinenumberEnd: 3389
    functionName: Check5StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check5StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3395,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3397,1
    - Dst: AddIdentityCLUT16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3398,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3399,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3400,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3401,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3404
      start: 3392
    functionDepth: 3
    functionLinenumber: 3392
    functionLinenumberEnd: 3404
    functionName: Check5Stage16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUT16
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check5Stage16LUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3409,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3411,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3412,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3413,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3414,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3415,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3416,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3406
    functionDepth: 3
    functionLinenumber: 3406
    functionLinenumberEnd: 3419
    functionName: Check6StageLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check6StageLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3424,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3426,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3427,1
    - Dst: AddIdentityCLUT16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3428,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3429,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3430,1
    - Dst: Add3GammaCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3431,1
    - Dst: CheckFullLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3434
      start: 3421
    functionDepth: 3
    functionLinenumber: 3421
    functionLinenumberEnd: 3434
    functionName: Check6Stage16LUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - AddIdentityMatrix
    - Add3GammaCurves
    - AddIdentityCLUT16
    - cmsPipelineAlloc
    - CheckFullLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check6Stage16LUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3440,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3443,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3443,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3444,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3444,1
    - Dst: CheckFloatLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3446,1
    - Dst: CheckStagesLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3446,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3437
    functionDepth: 2
    functionLinenumber: 3437
    functionLinenumberEnd: 3451
    functionName: CheckLab2LabLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocXYZ2Lab
    - _cmsStageAllocLab2XYZ
    - cmsPipelineAlloc
    - cmsPipelineFree
    - CheckStagesLUT
    - CheckFloatLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLab2LabLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3457,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3460,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3460,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3461,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3461,1
    - Dst: CheckFloatLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3463,1
    - Dst: CheckStagesLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3463,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3468
      start: 3454
    functionDepth: 2
    functionLinenumber: 3454
    functionLinenumberEnd: 3468
    functionName: CheckXYZ2XYZLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocXYZ2Lab
    - _cmsStageAllocLab2XYZ
    - cmsPipelineAlloc
    - cmsPipelineFree
    - CheckStagesLUT
    - CheckFloatLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckXYZ2XYZLUT(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3475,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3478,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3478,1
    - Dst: AddIdentityMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3479,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3480,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3480,1
    - Dst: CheckFloatLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3482,1
    - Dst: CheckStagesLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3482,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3487
      start: 3472
    functionDepth: 2
    functionLinenumber: 3472
    functionLinenumberEnd: 3487
    functionName: CheckLab2LabMatLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocXYZ2Lab
    - AddIdentityMatrix
    - cmsPipelineAlloc
    - cmsPipelineFree
    - CheckStagesLUT
    - CheckFloatLUT
    - _cmsStageAllocLab2XYZ
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLab2LabMatLUT(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3492,1
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3502,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3510,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3511,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3514,1
    - Dst: _cmsStageAllocNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3514,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3516,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3525,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3489
    functionDepth: 1
    functionLinenumber: 3489
    functionLinenumberEnd: 3537
    functionName: CheckNamedColorLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsStageAllocNamedColor
    - cmsPipelineInsertStage
    - sprintf
    - cmsAllocNamedColorList
    - cmsPipelineFree
    - cmsPipelineEval16
    - cmsAppendNamedColor
    - cmsPipelineAlloc
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckNamedColorLUT(cmsContext ContextID)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3555,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3558,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3559,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3560,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3561,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3566,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3567,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3570,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3571,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3574,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3575,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3578,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3579,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3582,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3585,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3588,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3599,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3600,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3604,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3607,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3618,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3619,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3621,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3625,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3629,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3631,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3633,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3634,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3635,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3638,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3640,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3641,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3652,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3653,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3655,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3658,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3662,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3663,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3545
    functionDepth: 1
    functionLinenumber: 3545
    functionLinenumberEnd: 3666
    functionName: CheckMLU
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetProfileVersion
    - cmsMLUgetASCII
    - sprintf
    - cmsMLUsetWide
    - strcmp
    - cmsMLUdup
    - cmsWriteTag
    - cmsMLUsetASCII
    - cmsReadTag
    - cmsMLUalloc
    - remove
    - cmsMLUfree
    - cmsOpenProfileFromFile
    - Fail
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMLU(cmsContext ContextID)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3683,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3692,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3693,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3701,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3702,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3706,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3710,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3713,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3713,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3716,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3718,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3719,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3720,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3723,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3724,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3726,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3726,1
    - Dst: cmsNamedColorIndex
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3728,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3729,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3737,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3738,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3742,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3746,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3749,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3749,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3752,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3753,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3756,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3670
    functionDepth: 1
    functionLinenumber: 3670
    functionLinenumberEnd: 3758
    functionName: CheckNamedColorList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorIndex
    - sprintf
    - cmsWriteTag
    - strcmp
    - cmsNamedColorCount
    - cmsAllocNamedColorList
    - cmsNamedColorInfo
    - cmsAppendNamedColor
    - cmsReadTag
    - remove
    - cmsOpenProfileFromFile
    - Fail
    - cmsFreeNamedColorList
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckNamedColorList(cmsContext ContextID)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3780,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3784,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3785,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3788,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3792,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3793,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3797,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3798,1
    - Dst: Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3809,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3810,1
    - Dst: cmsFormatter::Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3811,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3819,1
    - Dst: Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3830,1
    - Dst: cmsFormatter::Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3831,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 3
    argNames:
    - id
    - Type
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3836
      start: 3768
    functionDepth: 1
    functionLinenumber: 3768
    functionLinenumberEnd: 3836
    functionName: CheckSingleFormatter16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFormatter::Fmt16
    - _cmsGetFormatter
    - memset
    - Fmt16
    - Fail
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: void
    signature: void CheckSingleFormatter16(cmsContext id, cmsUInt32Number Type, const
      char* Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3839
      start: 3838
    functionDepth: 0
    functionLinenumber: 3838
    functionLinenumberEnd: 3839
    functionName: C
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3847,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3848,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3849,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3850,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3851,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3852,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3853,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3854,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3855,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3856,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3857,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3858,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3859,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3860,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3861,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3862,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3863,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3864,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3865,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3866,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3867,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3868,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3869,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3870,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3871,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3872,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3873,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3874,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3875,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3876,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3877,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3878,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3879,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3880,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3881,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3882,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3883,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3884,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3885,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3886,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3887,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3888,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3889,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3890,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3891,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3892,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3893,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3894,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3895,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3896,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3897,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3898,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3899,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3900,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3901,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3902,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3903,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3904,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3905,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3906,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3907,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3908,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3909,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3910,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3911,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3912,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3913,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3914,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3915,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3916,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3917,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3918,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3919,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3920,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3921,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3922,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3923,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3924,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3925,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3926,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3927,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3928,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3929,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3930,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3931,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3932,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3933,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3934,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3935,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3936,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3937,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3938,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3939,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3940,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3941,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3942,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3943,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3944,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3945,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3946,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3947,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3948,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3949,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3950,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3951,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3952,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3953,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3954,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3955,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3956,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3957,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3958,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3959,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3960,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3961,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3962,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3963,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3964,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3965,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3966,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3967,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3968,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3969,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3970,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3971,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3972,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3973,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3974,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3975,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3976,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3977,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3978,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3980,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3981,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3982,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3983,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3984,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3985,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3986,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3987,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3988,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3989,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3990,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3993,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3994,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3995,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3996,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3997,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:3998,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4000,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4001,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4002,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4006,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4007,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4008,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4009,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4011,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4012,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4013,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4014,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 164
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4020
      start: 3842
    functionDepth: 0
    functionLinenumber: 3842
    functionLinenumberEnd: 4020
    functionName: CheckFormatters16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - C
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFormatters16(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4035,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4039,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4040,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4043,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4047,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4048,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4052,1
    - Dst: FmtFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4060,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4061,1
    - Dst: cmsFormatter::FmtFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4062,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4066,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4070,1
    - Dst: FmtFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4078,1
    - Dst: cmsFormatter::FmtFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4079,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - ContextID
    - Type
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4023
    functionDepth: 1
    functionLinenumber: 4023
    functionLinenumberEnd: 4084
    functionName: CheckSingleFormatterFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - FmtFloat
    - _cmsGetFormatter
    - cmsFormatter::FmtFloat
    - memset
    - fabs
    - Fail
    - T_CHANNELS
    linkageType: ''
    returnType: void
    signature: void CheckSingleFormatterFloat(cmsContext ContextID, cmsUInt32Number
      Type, const char* Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4087
      start: 4086
    functionDepth: 0
    functionLinenumber: 4086
    functionLinenumberEnd: 4087
    functionName: C
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4093,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4094,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4095,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4096,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4097,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4098,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4100,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4101,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4103,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4104,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4105,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4107,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4108,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4109,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4110,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4111,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4112,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4113,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4116,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4117,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4118,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4119,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4121,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4122,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4123,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4124,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4088
    functionDepth: 0
    functionLinenumber: 4088
    functionLinenumberEnd: 4132
    functionName: CheckFormattersFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - C
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFormattersFloat(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4139
      start: 4138
    functionDepth: 0
    functionLinenumber: 4138
    functionLinenumberEnd: 4139
    functionName: my_isfinite
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: my_isfinite(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4147,1
    - Dst: my_isfinite
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4149,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4151,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4161
      start: 4139
    functionDepth: 1
    functionLinenumber: 4139
    functionLinenumberEnd: 4161
    functionName: CheckFormattersHalf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - my_isfinite
    - _cmsFloat2Half
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFormattersHalf(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4175,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4177,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4178,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - ContextID
    - xform
    - R
    - G
    - B
    - Ro
    - Go
    - Bo
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4180
      start: 4165
    functionDepth: 1
    functionLinenumber: 4165
    functionLinenumberEnd: 4180
    functionName: CheckOneRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodWord
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOneRGB(cmsContext ContextID, cmsHTRANSFORM xform,
      cmsUInt16Number R, cmsUInt16Number G, cmsUInt16Number B, cmsUInt16Number Ro,
      cmsUInt16Number Go, cmsUInt16Number Bo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4193,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4195,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4196,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4197,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - ContextID
    - xform
    - R
    - G
    - B
    - Ro
    - Go
    - Bo
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4198
      start: 4183
    functionDepth: 1
    functionLinenumber: 4183
    functionLinenumberEnd: 4198
    functionName: CheckOneRGB_double
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodVal
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOneRGB_double(cmsContext ContextID, cmsHTRANSFORM
      xform, cmsFloat64Number R, cmsFloat64Number G, cmsFloat64Number B, cmsFloat64Number
      Ro, cmsFloat64Number Go, cmsFloat64Number Bo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4204,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4209,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4210,1
    - Dst: CheckOneRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4214,1
    - Dst: CheckOneRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4215,1
    - Dst: CheckOneRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4216,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4218,1
    - Dst: CheckOneRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4221,1
    - Dst: CheckOneRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4222,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4224,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4225,1
    - Dst: CheckOneRGB_double
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4228,1
    - Dst: CheckOneRGB_double
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4229,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4231,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4232,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4201
    functionDepth: 2
    functionLinenumber: 4201
    functionLinenumberEnd: 4235
    functionName: CheckChangeBufferFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOneRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - CheckOneRGB_double
    - cmsCloneTransformChangingFormats
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckChangeBufferFormat(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4251,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4254,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4256,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4257,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4263
      start: 4240
    functionDepth: 2
    functionLinenumber: 4240
    functionLinenumberEnd: 4263
    functionName: CheckXYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckXYZ(cmsContext ContextID, cmsInt32Number Pass,
      cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4276,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4277,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4278,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4282,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4289
      start: 4266
    functionDepth: 1
    functionLinenumber: 4266
    functionLinenumberEnd: 4289
    functionName: CheckGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsBuildGamma
    - cmsWriteTag
    - cmsFreeToneCurve
    - cmsReadTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamma(cmsContext ContextID, cmsInt32Number Pass,
      cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4302,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4303,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4304,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4305,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4309,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4311,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4318
      start: 4291
    functionDepth: 1
    functionLinenumber: 4291
    functionLinenumberEnd: 4318
    functionName: CheckTextSingle
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - cmsWriteTag
    - strcmp
    - cmsMLUsetASCII
    - cmsReadTag
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTextSingle(cmsContext ContextID, cmsInt32Number
      Pass, cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4332,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4333,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4334,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4335,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4336,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4337,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4338,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4339,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4343,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4345,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4346,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4347,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4348,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4349,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4350,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4351,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4352,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4353,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4354,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4321
    functionDepth: 1
    functionLinenumber: 4321
    functionLinenumberEnd: 4360
    functionName: CheckText
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - cmsWriteTag
    - strcmp
    - cmsMLUsetASCII
    - cmsReadTag
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckText(cmsContext ContextID, cmsInt32Number Pass,
      cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4373,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4384
      start: 4362
    functionDepth: 1
    functionLinenumber: 4362
    functionLinenumberEnd: 4384
    functionName: CheckData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckData(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4396,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4406
      start: 4387
    functionDepth: 1
    functionLinenumber: 4387
    functionLinenumberEnd: 4406
    functionName: CheckSignature
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckSignature(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4424,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4427,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4441
      start: 4409
    functionDepth: 1
    functionLinenumber: 4409
    functionLinenumberEnd: 4441
    functionName: CheckDateTime
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckDateTime(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4460,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4468,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4469,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4469,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4472,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4473,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4478,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4486,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4487,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4487,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4491,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4498,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4502,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4502,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 6
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    - max_check
    - colorant_check
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    - cmsInt32Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4509
      start: 4444
    functionDepth: 1
    functionLinenumber: 4444
    functionLinenumberEnd: 4509
    functionName: CheckNamedColor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsWriteTag
    - sprintf
    - strcmp
    - cmsAllocNamedColorList
    - cmsNamedColorInfo
    - cmsAppendNamedColor
    - cmsReadTag
    - cmsFreeNamedColorList
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckNamedColor(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag, cmsInt32Number max_check,
      cmsBool  colorant_check)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4523,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4527,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4527,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4528,1
    - Dst: _cmsStageAllocIdentityCLut
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4528,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4529,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4529,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4531,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4532,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4536,1
    - Dst: Check16LUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4545
      start: 4512
    functionDepth: 2
    functionLinenumber: 4512
    functionLinenumberEnd: 4545
    functionName: CheckLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsWriteTag
    - cmsPipelineAlloc
    - cmsReadTag
    - Check16LUT
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - _cmsStageAllocIdentityCLut
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLUT(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4557,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4561,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4565,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4573
      start: 4547
    functionDepth: 2
    functionLinenumber: 4547
    functionLinenumberEnd: 4573
    functionName: CheckCHAD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCHAD(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4583,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4587,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4590,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4591,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4592,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4593,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4594,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4601
      start: 4575
    functionDepth: 2
    functionLinenumber: 4575
    functionLinenumberEnd: 4601
    functionName: CheckChromaticity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckChromaticity(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4614,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4618,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4604
    functionDepth: 1
    functionLinenumber: 4604
    functionLinenumberEnd: 4629
    functionName: CheckColorantOrder
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckColorantOrder(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4646,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4650,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4653,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4654,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4655,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4656,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4666
      start: 4631
    functionDepth: 2
    functionLinenumber: 4631
    functionLinenumberEnd: 4666
    functionName: CheckMeasurement
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMeasurement(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4679,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4680,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4681,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4682,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4683,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4684,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4685,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4686,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4691,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4694,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4695,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4701
      start: 4669
    functionDepth: 1
    functionLinenumber: 4669
    functionLinenumberEnd: 4701
    functionName: CheckUcrBg
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - cmsBuildGamma
    - cmsWriteTag
    - strcmp
    - cmsFreeToneCurve
    - cmsMLUsetASCII
    - cmsReadTag
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckUcrBg(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4714,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4716,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4717,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4718,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4719,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4720,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4721,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4722,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4727,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4732,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4733,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4736,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4737,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4740,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4741,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4744,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4745,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4748,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4749,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4755
      start: 4704
    functionDepth: 1
    functionLinenumber: 4704
    functionLinenumberEnd: 4755
    functionName: CheckCRDinfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - cmsWriteTag
    - cmsMLUsetWide
    - strcmp
    - cmsReadTag
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCRDinfo(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildSegmentedToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4787
      start: 4758
    functionDepth: 0
    functionLinenumber: 4758
    functionLinenumberEnd: 4787
    functionName: CreateSegmentedCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildSegmentedToneCurve
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve *CreateSegmentedCurve(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4801,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4803,1
    - Dst: _cmsStageAllocLabV2ToV4
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4803,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4804,1
    - Dst: _cmsStageAllocLabV4ToV2
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4804,1
    - Dst: AddIdentityCLUTfloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4805,1
    - Dst: CreateSegmentedCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4807,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4808,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4808,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4809,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4811,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4812,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4816,1
    - Dst: CheckFloatLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4823
      start: 4790
    functionDepth: 2
    functionLinenumber: 4790
    functionLinenumberEnd: 4823
    functionName: CheckMPE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - _cmsStageAllocLabV2ToV4
    - cmsPipelineInsertStage
    - cmsWriteTag
    - cmsFreeToneCurve
    - _cmsStageAllocLabV4ToV2
    - cmsStageAllocToneCurves
    - AddIdentityCLUTfloat
    - cmsPipelineAlloc
    - CreateSegmentedCurve
    - cmsReadTag
    - cmsPipelineFree
    - CheckFloatLUT
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMPE(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile, cmsTagSignature tag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4842,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4847,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4852,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4853,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - ContextID
    - Pass
    - hProfile
    - tag
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4860
      start: 4826
    functionDepth: 2
    functionLinenumber: 4826
    functionLinenumberEnd: 4860
    functionName: CheckScreening
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsWriteTag
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckScreening(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile, cmsTagSignature tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4869,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4870,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4871,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4874,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4875,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4876,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - mlu
    - n
    argTypes:
    - cmsContext
    - cmsMLU*
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4879
      start: 4863
    functionDepth: 1
    functionLinenumber: 4863
    functionLinenumberEnd: 4879
    functionName: CheckOneStr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - sprintf
    - strcmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckOneStr(cmsContext ContextID, cmsMLU* mlu, cmsInt32Number
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4885,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4886,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - mlu
    - s1
    - s2
    argTypes:
    - cmsContext
    - cmsMLU**
    - wchar_t*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4888
      start: 4882
    functionDepth: 1
    functionLinenumber: 4882
    functionLinenumberEnd: 4888
    functionName: SetOneStr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUalloc
    - cmsMLUsetWide
    linkageType: ''
    returnType: void
    signature: void SetOneStr(cmsContext ContextID, cmsMLU** mlu, wchar_t* s1, wchar_t*
      s2)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4901,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4904,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4905,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4906,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4907,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4908,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4909,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4933,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4934,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4939,1
    - Dst: CheckOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4968,1
    - Dst: CheckOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4969,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4976
      start: 4891
    functionDepth: 2
    functionLinenumber: 4891
    functionLinenumberEnd: 4976
    functionName: CheckProfileSequenceTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsWriteTag
    - CheckOneStr
    - cmsAllocProfileSequenceDescription
    - cmsReadTag
    - SetOneStr
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckProfileSequenceTag(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4989,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4992,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4993,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4994,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4997,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4998,1
    - Dst: SetOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:4999,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5001,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5002,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5007,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5012,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5013,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5014,1
    - Dst: CheckOneStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5018,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5026
      start: 4979
    functionDepth: 2
    functionLinenumber: 4979
    functionLinenumberEnd: 5026
    functionName: CheckProfileSequenceIDTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsWriteTag
    - CheckOneStr
    - cmsAllocProfileSequenceDescription
    - memcpy
    - cmsReadTag
    - SetOneStr
    - memcmp
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckProfileSequenceIDTag(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5046,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5050,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5054,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5055,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5056,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5058,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5059,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5060,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5068
      start: 5029
    functionDepth: 1
    functionLinenumber: 5029
    functionLinenumberEnd: 5068
    functionName: CheckICCViewingConditions
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - IsGoodVal
    - cmsReadTag
    - cmsWriteTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckICCViewingConditions(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5080,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5081,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5082,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5084,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5086,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5092,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5094,1
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5094,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5095,1
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5095,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5096,1
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5096,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5103
      start: 5071
    functionDepth: 1
    functionLinenumber: 5071
    functionLinenumberEnd: 5103
    functionName: CheckVCGT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - cmsWriteTag
    - IsGoodVal
    - cmsReadTag
    - cmsEstimateGamma
    - cmsFreeToneCurveTriple
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckVCGT(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cmsDictAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5115,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5116,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5117,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5118,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5119,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5120,1
    - Dst: cmsDictFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5121,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5127,1
    - Dst: cmsDictGetEntryList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5129,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5130,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5131,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5132,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5133,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5134,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5135,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5136,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5139,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5149
      start: 5107
    functionDepth: 1
    functionLinenumber: 5107
    functionLinenumberEnd: 5149
    functionName: CheckDictionary16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDictAlloc
    - cmsWriteTag
    - cmsDictGetEntryList
    - cmsDictAddEntry
    - cmsReadTag
    - memcmp
    - cmsDictFree
    - cmsDictNextEntry
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckDictionary16(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cmsDictAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5165,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5167,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5169,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5170,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5171,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5172,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5174,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5175,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5177,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5178,1
    - Dst: cmsDictFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5179,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5186,1
    - Dst: cmsDictGetEntryList
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5189,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5190,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5191,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5192,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5193,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5194,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5196,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5197,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5200,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5201,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5204,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5205,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5208,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5209,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5212,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5219
      start: 5153
    functionDepth: 1
    functionLinenumber: 5153
    functionLinenumberEnd: 5219
    functionName: CheckDictionary24
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDictAlloc
    - cmsMLUgetASCII
    - cmsWriteTag
    - cmsMLUsetWide
    - strcmp
    - cmsDictGetEntryList
    - cmsDictAddEntry
    - cmsDictFree
    - cmsMLUalloc
    - cmsReadTag
    - memcmp
    - cmsMLUfree
    - Fail
    - cmsDictNextEntry
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckDictionary24(cmsContext ContextID, cmsInt32Number
      Pass,  cmsHPROFILE hProfile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5229,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5232,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ContextID
    - Pass
    - hProfile
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5240
      start: 5221
    functionDepth: 1
    functionLinenumber: 5221
    functionLinenumberEnd: 5240
    functionName: CheckRAWtags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - strncmp
    - cmsWriteRawTag
    - cmsReadRawTag
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckRAWtags(cmsContext ContextID, cmsInt32Number Pass,  cmsHPROFILE
      hProfile)
  - BBCount: 72
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5250,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5253,1
    - Dst: cmsGetTagCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5254,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5254,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5255,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5255,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5257,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5258,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5258,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5260,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5261,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5261,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5263,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5264,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5264,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5266,1
    - Dst: cmsGetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5267,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5267,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5271,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5273,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5274,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5275,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5276,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5277,1
    - Dst: CheckXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5278,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5280,1
    - Dst: CheckGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5282,1
    - Dst: CheckGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5283,1
    - Dst: CheckGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5284,1
    - Dst: CheckGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5285,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5287,1
    - Dst: CheckTextSingle
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5289,1
    - Dst: CheckTextSingle
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5290,1
    - Dst: CheckText
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5292,1
    - Dst: CheckText
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5293,1
    - Dst: CheckText
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5294,1
    - Dst: CheckText
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5295,1
    - Dst: CheckText
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5296,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5300,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5302,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5303,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5304,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5305,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5306,1
    - Dst: CheckData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5307,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5309,1
    - Dst: CheckSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5311,1
    - Dst: CheckSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5312,1
    - Dst: CheckSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5313,1
    - Dst: CheckSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5314,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5316,1
    - Dst: CheckDateTime
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5318,1
    - Dst: CheckDateTime
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5319,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5321,1
    - Dst: CheckNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5323,1
    - Dst: CheckNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5324,1
    - Dst: CheckNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5325,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5327,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5329,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5330,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5331,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5332,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5333,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5334,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5335,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5336,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5337,1
    - Dst: CheckLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5338,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5340,1
    - Dst: CheckCHAD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5341,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5343,1
    - Dst: CheckChromaticity
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5344,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5346,1
    - Dst: CheckColorantOrder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5347,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5349,1
    - Dst: CheckMeasurement
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5350,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5352,1
    - Dst: CheckCRDinfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5353,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5355,1
    - Dst: CheckUcrBg
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5356,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5358,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5359,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5360,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5361,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5362,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5363,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5364,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5365,1
    - Dst: CheckMPE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5366,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5368,1
    - Dst: CheckScreening
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5369,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5371,1
    - Dst: CheckProfileSequenceTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5372,1
    - Dst: CheckProfileSequenceIDTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5373,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5375,1
    - Dst: CheckICCViewingConditions
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5376,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5378,1
    - Dst: CheckVCGT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5379,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5381,1
    - Dst: CheckRAWtags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5382,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5384,1
    - Dst: CheckDictionary24
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5386,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5389,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5390,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5391,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5405,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5406,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5410,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5411,1
    CyclomaticComplexity: 141
    EdgeCount: 141
    ICount: 264
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5413
      start: 5244
    functionDepth: 3
    functionLinenumber: 5244
    functionLinenumberEnd: 5413
    functionName: CheckProfileCreation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckICCViewingConditions
    - CheckText
    - CheckMPE
    - cmsSetPCS
    - CheckNamedColor
    - cmsSaveProfileToFile
    - CheckUcrBg
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsGetTagCount
    - CheckGamma
    - CheckScreening
    - CheckSignature
    - remove
    - CheckTextSingle
    - CheckColorantOrder
    - cmsIsTag
    - cmsSetHeaderRenderingIntent
    - cmsSetProfileVersion
    - CheckProfileSequenceTag
    - CheckData
    - CheckXYZ
    - CheckVCGT
    - CheckMeasurement
    - cmsOpenProfileFromFile
    - Fail
    - cmsSetColorSpace
    - CheckDateTime
    - CheckCHAD
    - CheckDictionary24
    - CheckCRDinfo
    - cmsSetDeviceClass
    - cmsGetHeaderRenderingIntent
    - CheckChromaticity
    - CheckProfileSequenceIDTag
    - cmsCloseProfile
    - CheckRAWtags
    - SubTest
    - cmsGetPCS
    - CheckLUT
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckProfileCreation(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5431,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5434,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5436,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5437,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5439,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5442,1
    - Dst: cmsGetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5442,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5443,1
    - Dst: cmsGetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5444,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5448,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5452
      start: 5417
    functionDepth: 1
    functionLinenumber: 5417
    functionLinenumberEnd: 5452
    functionName: CheckVersionHeaderWriting
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetProfileVersion
    - cmsSaveProfileToFile
    - remove
    - cmsCreateProfilePlaceholder
    - fabs
    - cmsGetProfileVersion
    - cmsOpenProfileFromFile
    - Fail
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckVersionHeaderWriting(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5463,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5465,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5466,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5467,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5468,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5469,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5474
      start: 5456
    functionDepth: 1
    functionLinenumber: 5456
    functionLinenumberEnd: 5474
    functionName: CheckMultilocalizedProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - strcmp
    - cmsReadTag
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMultilocalizedProfile(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5485,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5487,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5489
      start: 5480
    functionDepth: 1
    functionLinenumber: 5480
    functionLinenumberEnd: 5489
    functionName: ErrorReportingFunction
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - strncpy
    linkageType: ''
    returnType: void
    signature: void ErrorReportingFunction(cmsContext ContextID, cmsUInt32Number ErrorCode,
      const char *Text)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5497,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5499,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5503,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5505,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5510,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5512,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5516,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5518,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5522,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5524,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5528,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5530,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5534,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5536,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5540,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5542,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5546,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5555
      start: 5492
    functionDepth: 1
    functionLinenumber: 5492
    functionLinenumberEnd: 5555
    functionName: CheckBadProfiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsOpenProfileFromFile
    - cmsOpenProfileFromMem
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckBadProfiles(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5563,1
    - Dst: CheckBadProfiles
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5564,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5570
      start: 5558
    functionDepth: 2
    functionLinenumber: 5558
    functionLinenumberEnd: 5570
    functionName: CheckErrReportingOnBadProfiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckBadProfiles
    - cmsSetLogErrorHandler
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckErrReportingOnBadProfiles(cmsContext ContextID)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5576,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5579,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5581,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5587,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5589,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5593,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5595,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5599,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5601,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5606,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5608,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5612,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5617,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5618,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5620,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5622,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5622,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5631
      start: 5573
    functionDepth: 1
    functionLinenumber: 5573
    functionLinenumberEnd: 5631
    functionName: CheckBadTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckBadTransforms(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5638,1
    - Dst: CheckBadTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5639,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5645
      start: 5633
    functionDepth: 2
    functionLinenumber: 5633
    functionLinenumberEnd: 5645
    functionName: CheckErrReportingOnBadTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckBadTransforms
    - cmsSetLogErrorHandler
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckErrReportingOnBadTransforms(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5663,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5664,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5668,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ContextID
    - xform
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5682
      start: 5653
    functionDepth: 1
    functionLinenumber: 5653
    functionLinenumberEnd: 5682
    functionName: Check8linearXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - Fail
    - memset
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check8linearXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform, cmsInt32Number nChan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5694,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5695,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5696,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5700,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - xform1
    - xform2
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5715
      start: 5684
    functionDepth: 1
    functionLinenumber: 5684
    functionLinenumberEnd: 5715
    functionName: Compare8bitXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - Fail
    - memset
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Compare8bitXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform1, cmsHTRANSFORM xform2, cmsInt32Number nChan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5730,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5734,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5743,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - ContextID
    - xform
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5749
      start: 5719
    functionDepth: 1
    functionLinenumber: 5719
    functionLinenumberEnd: 5749
    functionName: Check16linearXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - Fail
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Check16linearXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform, cmsInt32Number nChan)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5763,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5764,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5768,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5777,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - xform1
    - xform2
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5783
      start: 5751
    functionDepth: 1
    functionLinenumber: 5751
    functionLinenumberEnd: 5783
    functionName: Compare16bitXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - Fail
    - abs
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Compare16bitXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform1, cmsHTRANSFORM xform2, cmsInt32Number nChan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5797,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - xform
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5808
      start: 5787
    functionDepth: 2
    functionLinenumber: 5787
    functionLinenumberEnd: 5808
    functionName: CheckFloatlinearXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatlinearXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform, cmsInt32Number nChan)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5822,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5823,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5828,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - xform1
    - xform2
    - nChan
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsHTRANSFORM
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5835
      start: 5812
    functionDepth: 2
    functionLinenumber: 5812
    functionLinenumberEnd: 5835
    functionName: CompareFloatXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodFixed15_16
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CompareFloatXFORM(cmsContext ContextID, cmsHTRANSFORM
      xform1, cmsHTRANSFORM xform2, cmsInt32Number nChan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5850,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5851,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5852,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5854,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5855,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5856,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5858,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5859,1
    - Dst: CheckFloatlinearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5860,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5861,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5864,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5865,1
    - Dst: Check8linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5866,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5867,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5870,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5871,1
    - Dst: Check16linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5872,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5873,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5876,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5877,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5878,1
    - Dst: CompareFloatXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5880,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5881,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5882,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5885,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5886,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5887,1
    - Dst: Compare8bitXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5889,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5890,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5891,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5895,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5896,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5897,1
    - Dst: Compare16bitXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5899,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5900,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5901,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5906,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5906,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5906,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5907,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5907,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5907,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5910
      start: 5840
    functionDepth: 3
    functionLinenumber: 5840
    functionLinenumberEnd: 5910
    functionName: CheckCurvesOnlyTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - cmsDeleteTransform
    - Check16linearXFORM
    - Compare16bitXFORM
    - Compare8bitXFORM
    - cmsFreeToneCurve
    - CheckFloatlinearXFORM
    - cmsCreateLinearizationDeviceLink
    - SubTest
    - CompareFloatXFORM
    - Check8linearXFORM
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCurvesOnlyTransforms(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5925,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5927,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5932,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - xform
    - L
    - a
    - b
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5938
      start: 5918
    functionDepth: 1
    functionLinenumber: 5918
    functionLinenumberEnd: 5938
    functionName: CheckOneLab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - Fail
    - cmsDeltaE
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOneLab(cmsContext ContextID, cmsHTRANSFORM xform,
      cmsFloat64Number L, cmsFloat64Number a, cmsFloat64Number b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CheckOneLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ContextID
    - xform
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5962
      start: 5941
    functionDepth: 2
    functionLinenumber: 5941
    functionLinenumberEnd: 5962
    functionName: CheckSeveralLab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOneLab
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckSeveralLab(cmsContext ContextID, cmsHTRANSFORM
      xform)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5971,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5972,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5973,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5973,1
    - Dst: CheckSeveralLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5975,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - hLab1
    - hLab2
    - txt
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5978
      start: 5965
    functionDepth: 3
    functionLinenumber: 5965
    functionLinenumberEnd: 5978
    functionName: OneTrivialLab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - CheckSeveralLab
    - SubTest
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number OneTrivialLab(cmsContext ContextID, cmsHPROFILE hLab1,
      cmsHPROFILE hLab2, const char* txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OneTrivialLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5984,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5984,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5984,1
    - Dst: OneTrivialLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5985,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5985,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5985,1
    - Dst: OneTrivialLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5986,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5986,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5986,1
    - Dst: OneTrivialLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5987,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5987,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5987,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5981
    functionDepth: 4
    functionLinenumber: 5981
    functionLinenumberEnd: 5988
    functionName: CheckFloatLabTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreateLab2Profile
    - OneTrivialLab
    - cmsCreateLab4Profile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatLabTransforms(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5998,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:5999,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6002,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6003,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6003,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6009,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6011,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6012,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6014,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6015,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6017,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6018,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6018,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6025,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6027,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6029,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6031,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6032,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6034,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6035,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6035,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6041,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6046,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6048,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6049,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6051,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6052,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6052,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6058,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6064,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6067
      start: 5991
    functionDepth: 1
    functionLinenumber: 5991
    functionLinenumberEnd: 6067
    functionName: CheckEncodedLabTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreateLab2Profile
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsDeltaE
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckEncodedLabTransforms(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6076,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6077,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6079,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6080,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6081,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6083,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6084,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6085,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6087,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6088,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6090,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6092,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6094,1
    - Dst: CheckSeveralLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6095,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6097,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6098,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6102,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6103,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6105,1
    - Dst: CheckSeveralLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6106,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6107,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6108,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6112,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6113,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6114,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6116,1
    - Dst: CheckSeveralLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6117,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6118,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6119,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6120,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6122,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6123,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6124,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6126,1
    - Dst: CheckSeveralLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6127,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6128,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6129,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6130,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6133,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6137
      start: 6069
    functionDepth: 3
    functionLinenumber: 6069
    functionLinenumberEnd: 6137
    functionName: CheckStoredIdentities
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSaveProfileToFile
    - cmsDeleteTransform
    - CheckSeveralLab
    - cmsTransform2DeviceLink
    - SubTest
    - cmsCreateLab4Profile
    - remove
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckStoredIdentities(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6149,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6150,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6151,1
    - Dst: CheckFloatlinearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6152,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6153,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6155,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6156,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6157,1
    - Dst: CheckFloatlinearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6158,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6163
      start: 6142
    functionDepth: 3
    functionLinenumber: 6142
    functionLinenumberEnd: 6163
    functionName: CheckMatrixShaperXFORMFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - CheckFloatlinearXFORM
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMatrixShaperXFORMFloat(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6173,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6174,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6175,1
    - Dst: Check16linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6177,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6178,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6180,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6181,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6182,1
    - Dst: Check16linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6183,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6188
      start: 6166
    functionDepth: 2
    functionLinenumber: 6166
    functionLinenumberEnd: 6188
    functionName: CheckMatrixShaperXFORM16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - Check16linearXFORM
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMatrixShaperXFORM16(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6199,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6200,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6201,1
    - Dst: Check8linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6202,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6203,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6205,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6206,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6207,1
    - Dst: Check8linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6208,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6213
      start: 6192
    functionDepth: 2
    functionLinenumber: 6192
    functionLinenumberEnd: 6213
    functionName: CheckMatrixShaperXFORM8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - Check8linearXFORM
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMatrixShaperXFORM8(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6237,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6239,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6240,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - ContextID
    - xform
    - R
    - G
    - B
    - X
    - Y
    - Z
    - err
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsInt32Number
    - cmsInt32Number
    - cmsInt32Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6242
      start: 6227
    functionDepth: 1
    functionLinenumber: 6227
    functionLinenumberEnd: 6242
    functionName: CheckOneRGB_f
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodVal
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOneRGB_f(cmsContext ContextID, cmsHTRANSFORM xform,
      cmsInt32Number R, cmsInt32Number G, cmsInt32Number B, cmsFloat64Number X, cmsFloat64Number
      Y, cmsFloat64Number Z, cmsFloat64Number err)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6252,1
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6253,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6254,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6256,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6259,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6261,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6262,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6263,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6268,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6269,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6270,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6271,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6272,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6275,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6276,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6277,1
    - Dst: CheckOneRGB_f
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6278,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6280,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6283
      start: 6244
    functionDepth: 2
    functionLinenumber: 6244
    functionLinenumberEnd: 6283
    functionName: Chack_sRGB_Float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - CheckOneRGB_f
    - cmsDeleteTransform
    - cmsCreateLab4Profile
    - cmsCreateXYZProfile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number Chack_sRGB_Float(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6300,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6303,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6305,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6308,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - result
    - intent
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsCIEXYZTRIPLE*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6311
      start: 6288
    functionDepth: 1
    functionLinenumber: 6288
    functionLinenumberEnd: 6311
    functionName: GetProfileRGBPrimaries
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsCreateXYZProfile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool GetProfileRGBPrimaries(cmsContext ContextID,\n                                cmsHPROFILE
      hProfile,\n                                cmsCIEXYZTRIPLE *result,\n                                cmsUInt32Number
      intent)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6322,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6323,1
    - Dst: GetProfileRGBPrimaries
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6326,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6329,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6332,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6333,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6334,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6339,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6340,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6341,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6342,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6343,1
    - Dst: IsGoodFixed15_16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6344,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6345,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6350
      start: 6314
    functionDepth: 2
    functionLinenumber: 6314
    functionLinenumberEnd: 6350
    functionName: CheckRGBPrimaries
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - IsGoodFixed15_16
    - cmsXYZ2xyY
    - GetProfileRGBPrimaries
    - cmsSetAdaptationState
    - Fail
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckRGBPrimaries(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6360,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6361,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6369,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6371,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6373,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6374,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6384,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6385,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6386,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6388,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6394,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6397,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6405,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6406,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6407,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6409,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6415,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6416,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6417,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6419,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6420,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 4
    argNames:
    - ContextID
    - Intent
    - Profile1
    - Profile2
    argTypes:
    - cmsContext
    - cmsInt32Number
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6424
      start: 6357
    functionDepth: 1
    functionLinenumber: 6357
    functionLinenumberEnd: 6424
    functionName: CheckCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsCreateLab4Profile
    - fabs
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCMYK(cmsContext ContextID, cmsInt32Number Intent,
      const char *Profile1, const char* Profile2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6430
      start: 6426
    functionDepth: 2
    functionLinenumber: 6426
    functionLinenumberEnd: 6430
    functionName: CheckCMYKRoundtrip
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckCMYK
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCMYKRoundtrip(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6437
      start: 6433
    functionDepth: 2
    functionLinenumber: 6433
    functionLinenumberEnd: 6437
    functionName: CheckCMYKPerceptual
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckCMYK
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCMYKPerceptual(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CheckCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6445
      start: 6441
    functionDepth: 2
    functionLinenumber: 6441
    functionLinenumberEnd: 6445
    functionName: CheckCMYKRelCol
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckCMYK
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCMYKRelCol(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6452,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6453,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6461,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6463,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6465,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6466,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6477,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6480,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6483,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6486,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6492,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6498,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6506,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6507,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6508,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6510,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6516,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6517,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6518,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6520,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6521,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6525
      start: 6449
    functionDepth: 1
    functionLinenumber: 6449
    functionLinenumberEnd: 6525
    functionName: CheckKOnlyBlackPreserving
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsCreateLab4Profile
    - fabs
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckKOnlyBlackPreserving(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6530,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6531,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6539,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6541,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6543,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6544,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6554,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6555,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6556,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6558,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6564,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6566,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6574,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6575,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6576,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6578,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6583,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6587,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6588,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6589,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6592,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6593,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6596
      start: 6527
    functionDepth: 1
    functionLinenumber: 6527
    functionLinenumberEnd: 6596
    functionName: CheckKPlaneBlackPreserving
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsDeltaE
    - cmsCreateLab4Profile
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckKPlaneBlackPreserving(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6609,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6610,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6612,1
    - Dst: CheckFloatlinearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6613,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6616
      start: 6602
    functionDepth: 3
    functionLinenumber: 6602
    functionLinenumberEnd: 6616
    functionName: CheckProofingXFORMFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsDeleteTransform
    - CheckFloatlinearXFORM
    - cmsCreateProofingTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckProofingXFORMFloat(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6625,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6626,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6628,1
    - Dst: Check16linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6629,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6632
      start: 6618
    functionDepth: 2
    functionLinenumber: 6618
    functionLinenumberEnd: 6632
    functionName: CheckProofingXFORM16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - Check16linearXFORM
    - cmsDeleteTransform
    - cmsCreateProofingTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckProofingXFORM16(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6644,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6647,1
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6648,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6652,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6655,1
    - Dst: CheckFloatlinearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6659,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6660,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6661,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6662,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6663,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6667,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6669,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6671,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6674,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6675,1
    - Dst: Check16linearXFORM
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6677,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6682
      start: 6635
    functionDepth: 3
    functionLinenumber: 6635
    functionLinenumberEnd: 6682
    functionName: CheckGamutCheck
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetAlarmCodes
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - Check16linearXFORM
    - CheckFloatlinearXFORM
    - SubTest
    - cmsCreateProofingTransform
    - Fail
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGamutCheck(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6695,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6696,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6697,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6700,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6701,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6702,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6703,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6705,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6706,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6707,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6708,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6710,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6711,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6712,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6713,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6715,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6716,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6717,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6721
      start: 6688
    functionDepth: 1
    functionLinenumber: 6688
    functionLinenumberEnd: 6721
    functionName: CheckBlackPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsXYZ2Lab
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    - cmsDetectDestinationBlackPoint
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckBlackPoint(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateFakeCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6730,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6731,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6732,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6734,1
    - Dst: cmsDetectTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6735,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6736,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6738,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ContextID
    - InkLimit
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6743
      start: 6724
    functionDepth: 3
    functionLinenumber: 6724
    functionLinenumberEnd: 6743
    functionName: CheckOneTAC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CreateFakeCMYK
    - cmsSaveProfileToFile
    - cmsDetectTAC
    - fabs
    - remove
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOneTAC(cmsContext ContextID, cmsFloat64Number InkLimit)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckOneTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6749,1
    - Dst: CheckOneTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6750,1
    - Dst: CheckOneTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6751,1
    - Dst: CheckOneTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6752,1
    - Dst: CheckOneTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6753,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6756
      start: 6746
    functionDepth: 4
    functionLinenumber: 6746
    functionLinenumberEnd: 6756
    functionName: CheckTAC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOneTAC
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTAC(cmsContext ContextID)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6769,1
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6770,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6773,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6774,1
    - Dst: cmsIT8SetPropertyUncooked
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6775,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6776,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6777,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6778,1
    - Dst: cmsIT8SetPropertyHex
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6779,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6781,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6782,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6784,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6785,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6786,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6787,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6789,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6794,1
    - Dst: cmsIT8SetDataRowCol
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6796,1
    - Dst: cmsIT8SetDataRowColDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6797,1
    - Dst: cmsIT8SetDataRowColDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6798,1
    - Dst: cmsIT8SetDataRowColDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6799,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6802,1
    - Dst: cmsIT8SaveToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6803,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6804,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6806,1
    - Dst: cmsIT8LoadFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6807,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6810,1
    - Dst: cmsIT8SaveToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6811,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6812,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6815,1
    - Dst: cmsIT8LoadFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6816,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6820,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6821,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6827,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6828,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6833,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6834,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6840,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6841,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6842,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6847,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6848,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6849,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6855,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6856,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6857,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6862,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6864,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 70
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6867
      start: 6763
    functionDepth: 2
    functionLinenumber: 6763
    functionLinenumberEnd: 6867
    functionName: CheckCGATS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIT8SetPropertyHex
    - cmsIT8LoadFromFile
    - cmsIT8SetPropertyDbl
    - sprintf
    - cmsIT8SetDataRowCol
    - cmsIT8SetDataRowColDbl
    - cmsIT8SaveToFile
    - cmsIT8GetDataDbl
    - remove
    - cmsIT8SetSheetType
    - SubTest
    - cmsIT8GetPropertyDbl
    - cmsIT8Free
    - cmsIT8SetDataFormat
    - cmsIT8SetPropertyUncooked
    - cmsIT8SetPropertyStr
    - cmsIT8Alloc
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCGATS(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8LoadFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6876,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6881
      start: 6870
    functionDepth: 1
    functionLinenumber: 6870
    functionLinenumberEnd: 6881
    functionName: CheckCGATS2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIT8LoadFromMem
    - cmsIT8Free
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCGATS2(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8LoadFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6890,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6895
      start: 6884
    functionDepth: 1
    functionLinenumber: 6884
    functionLinenumberEnd: 6895
    functionName: CheckCGATS_Overflow
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsIT8LoadFromMem
    - cmsIT8Free
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckCGATS_Overflow(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6909,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6911,1
    - Dst: cmsGetPostScriptCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6913,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6916,1
    - Dst: cmsGetPostScriptCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6917,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6921,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6922,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6923,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6926,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6927,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6929,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - BuffThread
    - cInProf
    - FileName
    argTypes:
    - cmsContext
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6930
      start: 6899
    functionDepth: 1
    functionLinenumber: 6899
    functionLinenumberEnd: 6930
    functionName: GenerateCSA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCloseProfile
    - _cmsMalloc
    - cmsCreateLab4Profile
    - fwrite
    - fopen
    - remove
    - cmsOpenProfileFromFile
    - _cmsFree
    - cmsGetPostScriptCSA
    - fclose
    linkageType: ''
    returnType: void
    signature: void GenerateCSA(cmsContext BuffThread, const char* cInProf, const
      char* FileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6943,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6945,1
    - Dst: cmsGetPostScriptCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6947,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6950,1
    - Dst: cmsGetPostScriptCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6951,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6955,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6956,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6957,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6960,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6961,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - BuffThread
    - cOutProf
    - FileName
    argTypes:
    - cmsContext
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6964
      start: 6933
    functionDepth: 1
    functionLinenumber: 6933
    functionLinenumberEnd: 6964
    functionName: GenerateCRD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsGetPostScriptCRD
    - cmsCloseProfile
    - _cmsMalloc
    - cmsCreateLab4Profile
    - fwrite
    - fopen
    - remove
    - cmsOpenProfileFromFile
    - _cmsFree
    - fclose
    linkageType: ''
    returnType: void
    signature: void GenerateCRD(cmsContext BuffThread, const char* cOutProf, const
      char* FileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6969,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6970,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6971,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6972,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6973,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6974,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6976,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6977,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6978,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6979,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6980,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6984
      start: 6966
    functionDepth: 0
    functionLinenumber: 6966
    functionLinenumberEnd: 6984
    functionName: CheckPostScript
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - GenerateCRD
    - GenerateCSA
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckPostScript(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6992,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6994,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6995,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:6997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ContextID
    - xform
    - g
    - L
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsUInt8Number
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6998
      start: 6987
    functionDepth: 1
    functionLinenumber: 6987
    functionLinenumberEnd: 6998
    functionName: CheckGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodVal
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGray(cmsContext ContextID, cmsHTRANSFORM xform,
      cmsUInt8Number g, double L)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Create_Gray22
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7003,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7004,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7009,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7010,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7010,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7012,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7013,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7014,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7015,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7019
      start: 7000
    functionDepth: 2
    functionLinenumber: 7000
    functionLinenumberEnd: 7019
    functionName: CheckInputGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - Create_Gray22
    - CheckGray
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckInputGray(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Create_GrayLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7024,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7025,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7030,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7031,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7031,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7033,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7034,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7035,1
    - Dst: CheckGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7036,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7038,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7040
      start: 7021
    functionDepth: 2
    functionLinenumber: 7021
    functionLinenumberEnd: 7040
    functionName: CheckLabInputGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - Create_GrayLab
    - CheckGray
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLabInputGray(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7053,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - xform
    - L
    - g
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - double
    - cmsUInt8Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 7043
    functionDepth: 1
    functionLinenumber: 7043
    functionLinenumberEnd: 7056
    functionName: CheckOutGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - IsGoodVal
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOutGray(cmsContext ContextID, cmsHTRANSFORM xform,
      double L, cmsUInt8Number g)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Create_Gray22
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7061,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7062,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7067,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7068,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7068,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7070,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7071,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7073,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7074,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7077,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7079
      start: 7058
    functionDepth: 2
    functionLinenumber: 7058
    functionLinenumberEnd: 7079
    functionName: CheckOutputGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOutGray
    - cmsDeleteTransform
    - Create_Gray22
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOutputGray(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Create_GrayLab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7085,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7086,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7092,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7093,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7093,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7095,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7096,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7102,1
    - Dst: CheckOutGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7104,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7110
      start: 7082
    functionDepth: 2
    functionLinenumber: 7082
    functionLinenumberEnd: 7110
    functionName: CheckLabOutputGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - CheckOutGray
    - cmsDeleteTransform
    - Create_GrayLab
    - floor
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckLabOutputGray(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7118,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7120,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7124,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7126,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7127,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7129,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7132
      start: 7113
    functionDepth: 1
    functionLinenumber: 7113
    functionLinenumberEnd: 7132
    functionName: CheckV4gamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetProfileVersion
    - cmsWriteTag
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - remove
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckV4gamma(cmsContext ContextID)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsGBDAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7147,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7151,1
    - Dst: cmsGDBAddPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7160,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7164,1
    - Dst: cmsGDBCompute
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7165,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7169,1
    - Dst: cmsGDBCheckPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7177,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7181,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7185,1
    - Dst: cmsGBDAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7186,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7187,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7188,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7190,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7191,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7191,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7205,1
    - Dst: cmsGDBAddPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7209,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7210,1
    - Dst: cmsGDBCompute
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7219,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7233,1
    - Dst: cmsGDBCheckPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7234,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7236,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7237,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7244,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7245,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7247,1
    - Dst: cmsGBDAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7248,1
    - Dst: cmsLCh2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7259,1
    - Dst: cmsGDBAddPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7260,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7261,1
    - Dst: cmsGDBCompute
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7267,1
    - Dst: cmsGBDFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7269,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7272
      start: 7137
    functionDepth: 2
    functionLinenumber: 7137
    functionLinenumberEnd: 7272
    functionName: CheckGBD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsGDBAddPoint
    - cmsGDBCheckPoint
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsLCh2Lab
    - cmsGBDAlloc
    - cmsGDBCompute
    - cmsCloseProfile
    - cmsDoTransform
    - SubTest
    - cmsCreateLab4Profile
    - cmsGBDFree
    - cmsCreateTransform
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckGBD(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7279,1
    - Dst: cmsMD5computeID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7283,1
    - Dst: cmsGetHeaderProfileID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7283,1
    - Dst: cmsMD5computeID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7284,1
    - Dst: cmsGetHeaderProfileID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7284,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7286,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7289,1
    - Dst: cmsMD5computeID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7292,1
    - Dst: cmsGetHeaderProfileID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7292,1
    - Dst: cmsMD5computeID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7293,1
    - Dst: cmsGetHeaderProfileID
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7293,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7295,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7297,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7299
      start: 7275
    functionDepth: 1
    functionLinenumber: 7275
    functionLinenumberEnd: 7299
    functionName: CheckMD5
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsMD5computeID
    - cmsGetHeaderProfileID
    - memcmp
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckMD5(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateInkLimitingDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7311,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7314,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7317,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7318,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7321,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7324,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7330,1
    - Dst: cmsPipelineUnlinkStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7333,1
    - Dst: cmsPipelineUnlinkStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7334,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7335,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7336,1
    - Dst: cmsTagLinkedTo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7338,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7340,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7341,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7343,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7344,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7349
      start: 7303
    functionDepth: 1
    functionLinenumber: 7303
    functionLinenumberEnd: 7349
    functionName: CheckLinking
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsSaveProfileToFile
    - cmsWriteTag
    - cmsTagLinkedTo
    - cmsPipelineFree
    - cmsPipelineDup
    - cmsCreateInkLimitingDeviceLink
    - cmsReadTag
    - cmsPipelineUnlinkStage
    - cmsLinkTag
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckLinking(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7362,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7365,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7367,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7368,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7369,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7371,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7373,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7373,1
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7377,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7380,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7381,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7381,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7382,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7384,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7386,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7387,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7387,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7388,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - ctx
    - dataSpace
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7393
      start: 7355
    functionDepth: 1
    functionLinenumber: 7355
    functionLinenumberEnd: 7393
    functionName: IdentityMatrixProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsSetProfileVersion
    - cmsD50_XYZ
    - cmsPipelineInsertStage
    - cmsWriteTag
    - cmsStageAllocMatrix
    - cmsSetDeviceClass
    - cmsPipelineAlloc
    - _cmsMAT3identity
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE IdentityMatrixProfile(cmsContext ctx, cmsColorSpaceSignature
      dataSpace)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7399,1
    - Dst: IdentityMatrixProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7410,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7412,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7413,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7415,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7416,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7418,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7419,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7420,1
    - Dst: IdentityMatrixProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7425,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7427,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7428,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7430,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7433,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7435,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7436,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7437,1
    - Dst: IdentityMatrixProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7441,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7445,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7446,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7448,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7451,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7453,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7454,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7455,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7456,1
    - Dst: IdentityMatrixProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7461,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7463,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7464,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7466,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7468,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7470,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7471,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7472,1
    - Dst: IdentityMatrixProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7479,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7481,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7482,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7484,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7486,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7488,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7489,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7490,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7493,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7497
      start: 7395
    functionDepth: 2
    functionLinenumber: 7395
    functionLinenumberEnd: 7497
    functionName: CheckFloatXYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - IsGoodVal
    - IdentityMatrixProfile
    - cmsDoTransform
    - cmsCreateXYZProfile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatXYZ(cmsContext ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7519,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7520,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7522,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7523,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7536,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7537,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7539,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7540,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7541,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7546,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7547,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7548,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7549,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7552
      start: 7516
    functionDepth: 1
    functionLinenumber: 7516
    functionLinenumberEnd: 7552
    functionName: ChecksRGB2LabFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - IsGoodVal
    - cmsDoTransform
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number ChecksRGB2LabFLT(cmsContext ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7568
      start: 7557
    functionDepth: 0
    functionLinenumber: 7557
    functionLinenumberEnd: 7568
    functionName: Rec709
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double Rec709(double L)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7579,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7586,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7592,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7592,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7593,1
    - Dst: Rec709
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7593,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7597,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7604
      start: 7571
    functionDepth: 1
    functionLinenumber: 7571
    functionLinenumberEnd: 7604
    functionName: CheckParametricRec709
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Rec709
    - pow
    - cmsBuildParametricToneCurve
    - cmsFreeToneCurve
    - floor
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckParametricRec709(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7614
      start: 7611
    functionDepth: 0
    functionLinenumber: 7611
    functionLinenumberEnd: 7614
    functionName: StraightLine
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number StraightLine( cmsFloat32Number x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7623,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7624,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - ContextID
    - label
    - curve
    - fn
    argTypes:
    - cmsContext
    - char*
    - cmsToneCurve*
    - Function
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7631
      start: 7616
    functionDepth: 1
    functionLinenumber: 7616
    functionLinenumberEnd: 7631
    functionName: TestCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - fn
    - IsGoodVal
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number TestCurve(cmsContext ContextID, const char* label, cmsToneCurve*
      curve, Function fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StraightLine
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7644,1
    - Dst: cmsBuildTabulatedToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7647,1
    - Dst: TestCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7648,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7652
      start: 7633
    functionDepth: 2
    functionLinenumber: 7633
    functionLinenumberEnd: 7652
    functionName: CheckFloatSamples
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildTabulatedToneCurveFloat
    - cmsFreeToneCurve
    - TestCurve
    - StraightLine
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatSamples(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: StraightLine
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7686,1
    - Dst: cmsBuildSegmentedToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7700,1
    - Dst: TestCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7702,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7707
      start: 7654
    functionDepth: 2
    functionLinenumber: 7654
    functionLinenumberEnd: 7707
    functionName: CheckFloatSegments
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsBuildSegmentedToneCurve
    - cmsFreeToneCurve
    - TestCurve
    - StraightLine
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatSegments(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7718,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7719,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7724,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7725,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7727,1
    - Dst: SubTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7735,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7736,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7737,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7738,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7748
      start: 7710
    functionDepth: 2
    functionLinenumber: 7710
    functionLinenumberEnd: 7748
    functionName: CheckReadRAW
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - SubTest
    - cmsReadRawTag
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckReadRAW(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7762,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7767,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7771,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7774,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7775,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7780,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7781,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7782,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7783,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7785,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7788,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7792,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7795,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7797
      start: 7751
    functionDepth: 5
    functionLinenumber: 7751
    functionLinenumberEnd: 7797
    functionName: CheckMeta
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsSaveProfileToMem
    - cmsCloseProfile
    - malloc
    - free
    - cmsReadTag
    - fwrite
    - fopen
    - cmsOpenProfileFromFile
    - fclose
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMeta(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7808,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7811,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7815,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7817,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7820,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7827
      start: 7801
    functionDepth: 1
    functionLinenumber: 7801
    functionLinenumberEnd: 7827
    functionName: CheckFloatNULLxform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - IsGoodVal
    - cmsDoTransform
    - Fail
    - cmsCreateTransform
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFloatNULLxform(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7836,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7839,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7840,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7843,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7846,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7849,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7855
      start: 7829
    functionDepth: 1
    functionLinenumber: 7829
    functionLinenumberEnd: 7855
    functionName: CheckRemoveTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsWriteTag
    - cmsMLUsetASCII
    - cmsMLUalloc
    - cmsMLUfree
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckRemoveTag(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7868,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7869,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7873,1
    - Dst: cmsDoTransformStride
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7874,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7875,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7876,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7881
      start: 7858
    functionDepth: 1
    functionLinenumber: 7858
    functionLinenumberEnd: 7881
    functionName: CheckMatrixSimplify
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsDoTransformStride
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMatrixSimplify(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7917,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7918,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7919,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7923,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7925,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7926,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7928,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7929,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7930,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7931,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7935,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7937,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7939,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7941,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7944,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7945,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7946,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7947,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7951,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7953,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7955,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7957,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7959,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7960,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7961,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7962,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7967,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7971,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7973,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7975,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7977,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7978,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7979,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7980,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7986,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7990
      start: 7885
    functionDepth: 1
    functionLinenumber: 7885
    functionLinenumberEnd: 7990
    functionName: CheckTransformLineStride
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsDoTransformLineStride
    - memset
    - memcmp
    - cmsOpenProfileFromFile
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTransformLineStride(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7996,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7997,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:7999,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8004,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8005,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8009
      start: 7993
    functionDepth: 2
    functionLinenumber: 7993
    functionLinenumberEnd: 8009
    functionName: CheckPlanar8opt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckPlanar8opt(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8017,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8018,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8020,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8025,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8026,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8027,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8028,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8034
      start: 8014
    functionDepth: 2
    functionLinenumber: 8014
    functionLinenumberEnd: 8034
    functionName: CheckSE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckSE(cmsContext ContextID)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8053,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8057,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8059,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8063,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8064,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8068,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8068,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8068,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8072,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8072,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8072,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8075,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8077,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8079,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8080,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8082,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8093,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8097,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8103,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8105,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8108
      start: 8039
    functionDepth: 1
    functionLinenumber: 8039
    functionLinenumberEnd: 8108
    functionName: CheckForgedMPE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsSetLogErrorHandler
    - cmsGetColorSpace
    - BYTES_SH
    - COLORSPACE_SH
    - cmsDoTransform
    - T_BYTES
    - cmsOpenProfileFromFile
    - CHANNELS_SH
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckForgedMPE(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8122,1
    - Dst: Create_AboveRGB
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8123,1
    - Dst: cmsCreateNULLProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8125,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8126,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8137,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8138,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8139,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8146
      start: 8116
    functionDepth: 2
    functionLinenumber: 8116
    functionLinenumberEnd: 8146
    functionName: CheckProofingIntersection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - Create_AboveRGB
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - cmsCreateNULLProfile
    - cmsCreateProofingTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CheckProofingIntersection(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8164,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - Txt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8165
      start: 8161
    functionDepth: 0
    functionLinenumber: 8161
    functionLinenumberEnd: 8165
    functionName: TitlePerformance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void TitlePerformance(const char* Txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8173,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - Bytes
    - SizeOfPixel
    - diff
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8175
      start: 8167
    functionDepth: 0
    functionLinenumber: 8167
    functionLinenumberEnd: 8175
    functionName: PrintPerformance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: void
    signature: void PrintPerformance(cmsUInt32Number Bytes, cmsUInt32Number SizeOfPixel,
      cmsFloat64Number diff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8191,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8193,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8195,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8196,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8201,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8217,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8219,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8221,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8223,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8224,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8226,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8229
      start: 8178
    functionDepth: 5
    functionLinenumber: 8178
    functionLinenumberEnd: 8229
    functionName: SpeedTest32bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest32bits(cmsContext ContextID, const char * Title, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8243,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8245,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8247,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8248,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8252,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8267,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8269,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8271,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8273,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8274,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8276,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8279
      start: 8232
    functionDepth: 5
    functionLinenumber: 8232
    functionLinenumberEnd: 8279
    functionName: SpeedTest16bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest16bits(cmsContext ContextID, const char * Title, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8295,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8297,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8299,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8300,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8305,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8321,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8323,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8325,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8327,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8329,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8331,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8335
      start: 8282
    functionDepth: 5
    functionLinenumber: 8282
    functionLinenumberEnd: 8335
    functionName: SpeedTest32bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest32bitsCMYK(cmsContext ContextID, const char * Title,
      cmsHPROFILE hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8349,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8351,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8353,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8354,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8358,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8374,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8376,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8378,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8380,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8382,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8384,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8386,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8388
      start: 8338
    functionDepth: 5
    functionLinenumber: 8338
    functionLinenumberEnd: 8388
    functionName: SpeedTest16bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest16bitsCMYK(cmsContext ContextID, const char * Title,
      cmsHPROFILE hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8402,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8404,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8406,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8407,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8411,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8425,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8427,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8429,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8431,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8433,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8435,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8439
      start: 8391
    functionDepth: 5
    functionLinenumber: 8391
    functionLinenumberEnd: 8439
    functionName: SpeedTest8bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest8bits(cmsContext ContextID, const char * Title, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8453,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8455,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8457,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8458,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8462,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8477,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8479,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8481,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8483,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8485,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8487,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 4
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8492
      start: 8442
    functionDepth: 5
    functionLinenumber: 8442
    functionLinenumberEnd: 8492
    functionName: SpeedTest8bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest8bitsCMYK(cmsContext ContextID, const char * Title, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8508,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8510,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8512,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8513,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8518,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8530,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8532,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8534,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8536,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8537,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8539,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8540,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8541
      start: 8495
    functionDepth: 5
    functionLinenumber: 8495
    functionLinenumberEnd: 8541
    functionName: SpeedTest32bitsGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest32bitsGray(cmsContext ContextID, const char * Title,
      cmsHPROFILE hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8555,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8557,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8559,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8560,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8563,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8575,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8577,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8579,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8581,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8582,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8584,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8585,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8586
      start: 8544
    functionDepth: 5
    functionLinenumber: 8544
    functionLinenumberEnd: 8586
    functionName: SpeedTest16bitsGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest16bitsGray(cmsContext ContextID, const char * Title,
      cmsHPROFILE hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8601,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8603,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8605,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8606,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8609,1
    - Dst: TitlePerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8621,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8623,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8625,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8627,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8628,1
    - Dst: PrintPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8630,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8631,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - Title
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - char*
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8632
      start: 8589
    functionDepth: 5
    functionLinenumber: 8589
    functionLinenumberEnd: 8632
    functionName: SpeedTest8bitsGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - TitlePerformance
    - clock
    - PrintPerformance
    - malloc
    - cmsDoTransform
    - Die
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void SpeedTest8bitsGray(cmsContext ContextID, const char * Title, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8638,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8643,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8648
      start: 8635
    functionDepth: 1
    functionLinenumber: 8635
    functionLinenumberEnd: 8648
    functionName: CreateCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsFreeToneCurve
    - cmsCreateLinearizationDeviceLink
    - cmsBuildGamma
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreateCurves(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8654,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8655,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8656,1
    - Dst: SpeedTest8bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8658,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8659,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8660,1
    - Dst: SpeedTest16bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8663,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8664,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8665,1
    - Dst: SpeedTest32bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8667,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8668,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8669,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8671,1
    - Dst: SpeedTest8bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8675,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8676,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8677,1
    - Dst: SpeedTest16bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8680,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8681,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8682,1
    - Dst: SpeedTest32bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8685,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8686,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8687,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8690,1
    - Dst: SpeedTest8bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8694,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8695,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8696,1
    - Dst: SpeedTest16bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8699,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8700,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8701,1
    - Dst: SpeedTest32bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8704,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8705,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8706,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8709,1
    - Dst: SpeedTest8bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8713,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8714,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8715,1
    - Dst: SpeedTest16bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8718,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8719,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8720,1
    - Dst: SpeedTest32bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8723,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8724,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8725,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8728,1
    - Dst: SpeedTest8bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8732,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8733,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8734,1
    - Dst: SpeedTest16bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8737,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8738,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8739,1
    - Dst: SpeedTest32bits
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8742,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8743,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8744,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8747,1
    - Dst: SpeedTest8bitsCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8751,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8752,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8753,1
    - Dst: SpeedTest16bitsCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8755,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8756,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8757,1
    - Dst: SpeedTest32bitsCMYK
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8759,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8760,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8761,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8763,1
    - Dst: SpeedTest8bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8767,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8768,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8769,1
    - Dst: SpeedTest16bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8771,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8772,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8773,1
    - Dst: SpeedTest32bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8775,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8776,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8777,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8779,1
    - Dst: SpeedTest8bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8783,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8784,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8785,1
    - Dst: SpeedTest16bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8787,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8788,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8789,1
    - Dst: SpeedTest32bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8791,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8792,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8793,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8795,1
    - Dst: SpeedTest8bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8799,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8800,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8801,1
    - Dst: SpeedTest16bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8803,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8804,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8805,1
    - Dst: SpeedTest32bitsGray
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8807,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8808,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8809,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8812
      start: 8651
    functionDepth: 6
    functionLinenumber: 8651
    functionLinenumberEnd: 8812
    functionName: SpeedTest
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - SpeedTest32bitsGray
    - SpeedTest8bits
    - CreateCurves
    - SpeedTest32bitsCMYK
    - printf
    - SpeedTest16bitsGray
    - SpeedTest8bitsCMYK
    - SpeedTest8bitsGray
    - SpeedTest16bits
    - fflush
    - SpeedTest16bitsCMYK
    - cmsOpenProfileFromFile
    - SpeedTest32bits
    linkageType: ''
    returnType: void
    signature: void SpeedTest(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetSupportedIntents
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8826,1
    - Dst: DbgThread
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8826,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8828,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8830,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8833
      start: 8819
    functionDepth: 1
    functionLinenumber: 8819
    functionLinenumberEnd: 8833
    functionName: PrintSupportedIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 0
    functionsReached:
    - cmsGetSupportedIntents
    - DbgThread
    - printf
    linkageType: ''
    returnType: void
    signature: void PrintSupportedIntents(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _CrtSetDbgFlag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8853,1
    - Dst: cmsGetEncodedCMMversion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8858,1
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8859,1
    - Dst: cmsGetEncodedCMMversion
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8859,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8862,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8864,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8867,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8871,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8872,1
    - Dst: cmsFast8Bitextensions
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8872,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8873,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8876,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8877,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8878,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8882,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8883,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8884,1
    - Dst: PrintSupportedIntents
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8886,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8888,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8889,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8890,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8891,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8892,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8893,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8894,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8898,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8903,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8904,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8905,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8906,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8907,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8908,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8909,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8910,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8911,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8915,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8916,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8920,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8921,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8922,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8923,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8927,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8928,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8929,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8930,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8933,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8934,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8939,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8940,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8941,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8942,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8943,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8944,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8945,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8946,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8949,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8950,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8951,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8952,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8953,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8956,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8959,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8960,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8962,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8963,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8964,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8966,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8967,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8968,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8970,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8971,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8972,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8974,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8976,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8977,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8978,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8979,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8980,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8981,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8984,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8985,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8986,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8987,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8988,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8989,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8990,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8991,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8992,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8993,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8994,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8995,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8998,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:8999,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9000,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9001,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9002,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9003,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9006,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9009,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9012,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9015,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9018,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9019,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9020,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9023,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9024,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9027,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9028,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9029,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9030,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9032,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9033,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9034,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9036,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9039,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9040,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9041,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9042,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9043,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9045,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9046,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9048,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9050,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9052,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9055,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9056,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9059,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9061,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9062,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9064,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9065,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9066,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9067,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9068,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9069,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9070,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9071,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9072,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9073,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9074,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9075,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9076,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9077,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9078,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9079,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9080,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9081,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9082,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9083,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9084,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9085,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9091,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9092,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9093,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9094,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9095,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9096,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9097,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9098,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9099,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9100,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9101,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9102,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9103,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9104,1
    - Dst: SpeedTest
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9110,1
    - Dst: CheckProfileZOO
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9115,1
    - Dst: DebugMemPrintTotals
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9118,1
    - Dst: cmsUnregisterPlugins
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9120,1
    - Dst: RemoveTestProfiles
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c:9124,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 186
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9127
      start: 8843
    functionDepth: 7
    functionLinenumber: 8843
    functionLinenumberEnd: 9127
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testcms2.c
    functionUses: 2
    functionsReached:
    - _CrtSetDbgFlag
    - Check
    - cmsSetLogErrorHandler
    - strcmp
    - printf
    - RemoveTestProfiles
    - cmsUnregisterPlugins
    - Die
    - cmsPlugin
    - CheckProfileZOO
    - cmsGetEncodedCMMversion
    - PrintSupportedIntents
    - SpeedTest
    - cmsFast8Bitextensions
    - DebugMemPrintTotals
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:37,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - src
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: DupContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 1
    functionsReached:
    - cmsDupContext
    - DebugMemDontCheckThis
    linkageType: ''
    returnType: cmsContext
    signature: cmsContext DupContext(cmsContext src, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:53,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:54,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:55,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:57,1
    - Dst: PluginMemHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:57,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:58,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:59,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:61,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:62,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:64,1
    - Dst: PluginMemHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:64,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:65,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:67,1
    - Dst: PluginMemHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:67,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:69,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:70,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:72,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:73,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:74,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 78
    functionName: CheckAllocContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsCreateContext
    - PluginMemHandler
    - cmsPlugin
    - DebugMemDontCheckThis
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckAllocContext(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:91,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:92,1
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:94,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:97,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:98,1
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:101,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:104,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:105,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:106,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:109,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:114,1
    - Dst: DebugMemDontCheckThis
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:115,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:117,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:118,1
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:120,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:122,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:123,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:124,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 133
    functionName: CheckSimpleContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsCreateContext
    - DebugMemDontCheckThis
    - WatchDogContext
    - Fail
    - cmsGetContextUserData
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckSimpleContext(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:151,1
    - Dst: cmsSetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:153,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:154,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:155,1
    - Dst: cmsGetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:157,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:162,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:168,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:169,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 173
    functionName: CheckAlarmColorsContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsSetAlarmCodes
    - cmsGetAlarmCodes
    - WatchDogContext
    - Fail
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckAlarmColorsContext(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:187,1
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:189,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:191,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:193,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:194,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:196,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:196,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:198,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:199,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:200,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:202,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 210
    functionName: CheckAdaptationStateContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - IsGoodVal
    - WatchDogContext
    - Fail
    - DupContext
    - cmsSetAdaptationState
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckAdaptationStateContext(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - Value
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 235
    functionName: Fake1Dfloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: "void Fake1Dfloat(cmsContext ContextID, const cmsFloat32Number Value[],\n
      \                   cmsFloat32Number Output[],\n                    const cmsInterpParams*
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - struct _cms_interp_struc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: Fake3D16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Fake3D16(cmsContext ContextID, register const cmsUInt16Number
      Input[],\n              register cmsUInt16Number Output[],\n              register
      const struct _cms_interp_struc* p)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - nInputChannels
    - nOutputChannels
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 273
    functionName: my_Interpolators_Factory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: cmsInterpFunction
    signature: "cmsInterpFunction my_Interpolators_Factory(cmsContext ContextID, cmsUInt32Number
      nInputChannels,\n                                           cmsUInt32Number
      nOutputChannels,\n                                           cmsUInt32Number
      dwFlags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:293,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:295,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:299,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:301,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:303,1
    - Dst: cmsBuildTabulatedToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:307,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:309,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:314,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:314,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:315,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:315,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:316,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:316,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:317,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:317,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:319,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:320,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:321,1
    - Dst: cmsBuildTabulatedToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:324,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:326,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:331,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:331,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:332,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:332,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:333,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:333,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:334,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:334,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:336,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:340,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:341,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:342,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 64
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 345
    functionName: CheckInterp1DPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsBuildTabulatedToneCurveFloat
    - IsGoodVal
    - cmsFreeToneCurve
    - cmsPlugin
    - WatchDogContext
    - Fail
    - cmsEvalToneCurveFloat
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckInterp1DPlugin(cmsContext ContextID)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:368,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:370,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:374,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:376,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:377,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:378,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:383,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:385,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:386,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:387,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:390,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:392,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:393,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:394,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:396,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:397,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:401,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:402,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:403,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:406,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:408,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:409,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:410,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:413,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:415,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:416,1
    - Dst: IsGoodWord
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:417,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:419,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:423,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 73
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 425
    functionName: CheckInterp3DPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsPipelineInsertStage
    - cmsPipelineEval16
    - cmsStageAllocCLut16bit
    - IsGoodWord
    - cmsPipelineAlloc
    - cmsPlugin
    - WatchDogContext
    - cmsPipelineFree
    - Fail
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckInterp3DPlugin(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:444,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:448,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:452,1
    - Dst: acos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Params
    - R
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsFloat64Number[]
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 464
    functionName: my_fns
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - asin
    - acos
    - cos
    - sin
    linkageType: ''
    returnType: cmsFloat64Number
    signature: "cmsFloat64Number my_fns(cmsContext ContextID, cmsInt32Number Type,\n
      \                       const cmsFloat64Number Params[],\n                        cmsFloat64Number
      R)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:475,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Params
    - R
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsFloat64Number[]
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 486
    functionName: my_fns2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - tan
    - atan
    linkageType: ''
    returnType: cmsFloat64Number
    signature: "cmsFloat64Number my_fns2(cmsContext ContextID, cmsInt32Number Type,\n
      \                       const cmsFloat64Number Params[],\n                        cmsFloat64Number
      R)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:498,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Params
    - R
    argTypes:
    - cmsContext
    - int
    - double[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: Rec709Math
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double Rec709Math(cmsContext ContextID, int Type, const double Params[],
      double R)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:556,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:558,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:560,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:562,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:564,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:565,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:566,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:567,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:568,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:571,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:571,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:571,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:572,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:572,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:572,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:573,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:573,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:573,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:575,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:575,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:575,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:576,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:576,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:576,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:577,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:577,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:577,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:579,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:579,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:579,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:580,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:580,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:580,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:581,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:581,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:581,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:584,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:584,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:584,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:585,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:585,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:585,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:586,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:586,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:586,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:588,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:588,1
    - Dst: acos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:588,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:589,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:589,1
    - Dst: acos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:589,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:590,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:590,1
    - Dst: acos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:590,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:592,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:593,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:594,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:595,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:596,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:598,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:599,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:605,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:606,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:607,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:608,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:610,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:611,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 613
    functionName: CheckParametricCurvePlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - tan
    - sin
    - cmsBuildParametricToneCurve
    - IsGoodVal
    - asin
    - cmsFreeToneCurve
    - cos
    - WatchDogContext
    - cmsPlugin
    - acos
    - cmsReverseToneCurve
    - cmsEvalToneCurveFloat
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckParametricCurvePlugin(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:630,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:631,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - nfo
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 639
    functionName: my_Unroll565
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * my_Unroll565(cmsContext ContextID, register struct
      _cmstransform_struct* nfo,\n                            register cmsUInt16Number
      wIn[],\n                            register cmsUInt8Number* accum,\n                            register
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:650,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:651,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 660
    functionName: my_Pack565
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * my_Pack565(cmsContext ContextID, register _cmsTRANSFORM*
      info,\n                           register cmsUInt16Number wOut[],\n                           register
      cmsUInt8Number* output,\n                           register cmsUInt32Number
      Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Dir
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFormatterDirection
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 675
    functionName: my_FormatterFactory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFormatter
    signature: "cmsFormatter my_FormatterFactory(cmsContext ContextID, cmsUInt32Number
      Type,\n                                  cmsFormatterDirection Dir,\n                                  cmsUInt32Number
      dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Dir
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFormatterDirection
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 690
    functionName: my_FormatterFactory2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFormatter
    signature: "cmsFormatter my_FormatterFactory2(cmsContext ContextID, cmsUInt32Number
      Type,\n                                  cmsFormatterDirection Dir,\n                                  cmsUInt32Number
      dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:711,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:718,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:720,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:722,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:724,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:726,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:728,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:729,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 736
    functionName: CheckFormattersPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsDeleteTransform
    - cmsDoTransform
    - cmsPlugin
    - WatchDogContext
    - cmsCreateTransform
    - DupContext
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckFormattersPlugin(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:751,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 756
    functionName: Type_int_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - _cmsReadUInt32Number
    linkageType: ''
    returnType: void
    signature: "void *Type_int_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n \t\t\t    cmsIOHANDLER* io,\n               cmsUInt32Number* nItems,\n
      \              cmsUInt32Number SizeOfTag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 764
    functionName: Type_int_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Type_int_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                        cmsIOHANDLER* io,\n                        void*
      Ptr, cmsUInt32Number nItems)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:770,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 771
    functionName: Type_int_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: "void * Type_int_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                   const void *Ptr, cmsUInt32Number n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: Type_int_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: "void Type_int_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                   void* Ptr)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:805,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:806,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:808,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:809,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:811,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:812,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:814,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:816,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:821,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:822,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:826,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:828,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:833,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:835,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:840,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:842,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:846,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:848,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:849,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:851,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:855,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:858,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:862,1
    - Dst: ResetFatalError
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:863,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:865,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:867,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:872,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:874,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:876,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:882,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:883,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:889,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:890,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:891,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:892,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 793
    functionDepth: 5
    functionLinenumber: 793
    functionLinenumberEnd: 895
    functionName: CheckTagTypePlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsSaveProfileToMem
    - cmsWriteTag
    - cmsSetLogErrorHandler
    - cmsOpenProfileFromMem
    - ResetFatalError
    - cmsCloseProfile
    - malloc
    - free
    - cmsPlugin
    - cmsReadTag
    - WatchDogContext
    - Fail
    - DupContext
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTagTypePlugin(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 902
    functionDepth: 0
    functionLinenumber: 902
    functionLinenumberEnd: 910
    functionName: EvaluateNegate
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void EvaluateNegate(cmsContext ContextID, const cmsFloat32Number In[],\n
      \                    cmsFloat32Number Out[],\n                     const cmsStage
      *mpe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsStageAllocPlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 918
    functionName: StageAllocNegate
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsStageAllocPlaceholder
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * StageAllocNegate(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:927,1
    - Dst: StageAllocNegate
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:931,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 932
    functionName: Type_negate_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - StageAllocNegate
    linkageType: ''
    returnType: void
    signature: "void *Type_negate_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n \t\t\t    cmsIOHANDLER* io,\n                cmsUInt32Number* nItems,\n
      \               cmsUInt32Number SizeOfTag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 942
    functionName: Type_negate_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Type_negate_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                        cmsIOHANDLER* io,\n                        void*
      Ptr, cmsUInt32Number nItems)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:966,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:967,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:969,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:970,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:972,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:973,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:975,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:977,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:981,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:982,1
    - Dst: StageAllocNegate
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:982,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:986,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:988,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:989,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:990,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:993,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:997,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:998,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1003,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1005,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1007,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1012,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1014,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1019,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1021,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1025,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1027,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1028,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1030,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1034,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1038,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1042,1
    - Dst: ResetFatalError
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1044,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1046,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1048,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1053,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1055,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1057,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1063,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1065,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1066,1
    - Dst: IsGoodVal
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1067,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1069,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1070,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1075,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1076,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1077,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 95
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 1080
    functionName: CheckMPEPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsPipelineInsertStage
    - cmsCreateProfilePlaceholder
    - cmsPipelineAlloc
    - cmsOpenProfileFromMem
    - cmsPipelineEvalFloat
    - cmsSaveProfileToMem
    - cmsWriteTag
    - cmsPlugin
    - WatchDogContext
    - DupContext
    - StageAllocNegate
    - ResetFatalError
    - malloc
    - free
    - cmsReadTag
    - cmsPipelineFree
    - Fail
    - cmsSetLogErrorHandler
    - IsGoodVal
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMPEPlugin(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Data
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1093
    functionName: FastEvaluateCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateCurves(cmsContext ContextID, register const cmsUInt16Number
      In[],\n                                     register cmsUInt16Number Out[],\n
      \                                    register const void* Data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1106,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1108,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1110,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1113,1
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1115,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1123
    functionName: MyOptimize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsStageNext
    - cmsStageType
    - _cmsPipelineSetOptimizationParameters
    - cmsPipelineGetPtrToFirstStage
    - cmsEstimateGamma
    - cmsStageData
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool MyOptimize(cmsContext ContextID, cmsPipeline** Lut,\n                   cmsUInt32Number
      \ Intent,\n                   cmsUInt32Number* InputFormat,\n                   cmsUInt32Number*
      OutputFormat,\n                   cmsUInt32Number* dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1134,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1143,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1145,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1147,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1148,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1149,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1151,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1152,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1154,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1156,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1157,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1132
    functionDepth: 2
    functionLinenumber: 1132
    functionLinenumberEnd: 1164
    functionName: CheckOptimizationPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsBuildGamma
    - cmsDeleteTransform
    - cmsFreeToneCurve
    - cmsDoTransform
    - cmsCreateLinearizationDeviceLink
    - cmsPlugin
    - WatchDogContext
    - cmsCreateTransform
    - DupContext
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckOptimizationPlugin(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1197,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1198,1
    - Dst: _cmsDefaultICCintents
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1199,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1204,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1207,1
    - Dst: cmsStageAllocIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - ContextID
    - nProfiles
    - TheIntents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1211
    functionName: MyNewIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsDefaultICCintents
    - cmsGetColorSpace
    - cmsPipelineAlloc
    - cmsStageAllocIdentity
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline *  MyNewIntent(cmsContext      ContextID,\n                          cmsUInt32Number
      nProfiles,\n                          cmsUInt32Number TheIntents[],\n                          cmsHPROFILE
      \    hProfiles[],\n                          cmsBool         BPC[],\n                          cmsFloat64Number
      AdaptationStates[],\n                          cmsUInt32Number dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1222,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1232,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1234,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1236,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1237,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1238,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1239,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1241,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1242,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1244,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1245,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1245,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1247,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1249,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1250,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1257
    functionName: CheckIntentPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsBuildGamma
    - cmsDeleteTransform
    - cmsFreeToneCurve
    - cmsDoTransform
    - cmsCreateLinearizationDeviceLink
    - cmsPlugin
    - WatchDogContext
    - cmsCreateTransform
    - DupContext
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckIntentPlugin(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - ContextID
    - CMM
    - InputBuffer
    - OutputBuffer
    - Size
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1279
    functionName: TrancendentalTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TrancendentalTransform(cmsContext ContextID, struct _cmstransform_struct
      * CMM,\n                              const void* InputBuffer,\n                              void*
      OutputBuffer,\n                              cmsUInt32Number Size,\n                              cmsUInt32Number
      Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - ContextID
    - xformPtr
    - UserData
    - FreePrivateDataFn
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1299
    functionName: TransformFactory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool TransformFactory(cmsContext ContextID, _cmsTransformFn* xformPtr,\n
      \                         void** UserData,\n                           _cmsFreeUserDataFn*
      FreePrivateDataFn,\n                           cmsPipeline** Lut,\n                           cmsUInt32Number*
      InputFormat,\n                           cmsUInt32Number* OutputFormat,\n                           cmsUInt32Number*
      dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1312,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1321,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1323,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1325,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1326,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1327,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1329,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1330,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1332,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1334,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1335,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1342
    functionName: CheckTransformPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsBuildGamma
    - cmsDeleteTransform
    - cmsFreeToneCurve
    - cmsDoTransform
    - cmsCreateLinearizationDeviceLink
    - cmsPlugin
    - WatchDogContext
    - cmsCreateTransform
    - DupContext
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckTransformPlugin(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1360
    functionName: MyMtxCreate
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    linkageType: ''
    returnType: void
    signature: void * MyMtxCreate(cmsContext id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Die
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1368,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1362
    functionDepth: 1
    functionLinenumber: 1362
    functionLinenumberEnd: 1372
    functionName: MyMtxDestroy
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - Die
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void MyMtxDestroy(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1381
    functionName: MyMtxLock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool MyMtxLock(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1389
    functionName: MyMtxUnlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyMtxUnlock(cmsContext id, void* mtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1402,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1412,1
    - Dst: DupContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1414,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1416,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1417,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1418,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1420,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1421,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1423,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1425,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1426,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1433
    functionName: CheckMutexPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - cmsBuildGamma
    - cmsDeleteTransform
    - cmsFreeToneCurve
    - cmsDoTransform
    - cmsCreateLinearizationDeviceLink
    - cmsPlugin
    - WatchDogContext
    - cmsCreateTransform
    - DupContext
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMutexPlugin(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WatchDogContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1439,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1457,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1460,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1465,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1471,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1472,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1473,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1474,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1475,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1478,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1479,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1480,1
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1490,1
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1491,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1493,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1494,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1496,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1497,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1500,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c:1501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1436
    functionDepth: 2
    functionLinenumber: 1436
    functionLinenumberEnd: 1504
    functionName: CheckMethodPackDoublesFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/testplugin.c
    functionUses: 0
    functionsReached:
    - PLANAR_SH
    - cmsDeleteContext
    - cmsCreateLab2Profile
    - cmsDeleteTransform
    - cmsLabEncoded2Float
    - FLOAT_SH
    - BYTES_SH
    - COLORSPACE_SH
    - cmsPlugin
    - memset
    - cmsDoTransform
    - WatchDogContext
    - cmsOpenProfileFromFile
    - CHANNELS_SH
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckMethodPackDoublesFromFloat(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTagCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:48,1
    - Dst: cmsGetTagSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:51,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - h
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: ReadAllTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - cmsGetTagSignature
    - cmsGetTagCount
    - cmsReadTag
    linkageType: ''
    returnType: void
    signature: void ReadAllTags(cmsContext ContextID, cmsHPROFILE h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTagCount
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:65,1
    - Dst: cmsGetTagSignature
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:68,1
    - Dst: cmsReadRawTag
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - h
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: ReadAllRAWTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - cmsGetTagSignature
    - cmsGetTagCount
    - cmsReadRawTag
    linkageType: ''
    returnType: void
    signature: void ReadAllRAWTags(cmsContext ContextID, cmsHPROFILE h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetProfileInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:81,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:84,1
    - Dst: cmsGetProfileInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:85,1
    - Dst: wprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:87,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - h
    - Info
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsInfoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: PrintInfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - _cmsFree
    - cmsGetProfileInfo
    - wprintf
    linkageType: ''
    returnType: void
    signature: void PrintInfo(cmsContext ContextID, cmsHPROFILE h, cmsInfoType Info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:95,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:96,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:97,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:98,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - h
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: PrintAllInfos
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - printf
    - PrintInfo
    linkageType: ''
    returnType: void
    signature: void PrintAllInfos(cmsContext ContextID, cmsHPROFILE h)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:108,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:109,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:111,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:112,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:114,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:115,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:117,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:118,1
    - Dst: _cmsReadOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:121,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:122,1
    - Dst: _cmsReadOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:124,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:125,1
    - Dst: _cmsReadOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:127,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:128,1
    - Dst: _cmsReadOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:130,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:131,1
    - Dst: _cmsReadDevicelinkLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:134,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:135,1
    - Dst: _cmsReadDevicelinkLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:137,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:138,1
    - Dst: _cmsReadDevicelinkLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:140,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:141,1
    - Dst: _cmsReadDevicelinkLUT
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:143,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:144,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:147,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:148,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:149,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:150,1
    - Dst: cmsDetectTAC
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:151,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - ContextID
    - h
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 152
    functionName: ReadAllLUTS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - _cmsReadOutputLUT
    - cmsPipelineFree
    - cmsDetectTAC
    - _cmsReadInputLUT
    - cmsDetectDestinationBlackPoint
    - _cmsReadDevicelinkLUT
    linkageType: ''
    returnType: void
    signature: void ReadAllLUTS(cmsContext ContextID, cmsHPROFILE h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:163,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:164,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:166,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:169,1
    - Dst: PrintAllInfos
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:171,1
    - Dst: ReadAllTags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:172,1
    - Dst: ReadAllLUTS
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:173,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:177,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:178,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:180,1
    - Dst: ReadAllTags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:182,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - ContextID
    - Profile
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 188
    functionName: CheckSingleSpecimen
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - cmsSaveProfileToFile
    - sprintf
    - ReadAllLUTS
    - printf
    - ReadAllTags
    - cmsOpenProfileFromFile
    - PrintAllInfos
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckSingleSpecimen(cmsContext ContextID, const char*
      Profile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:197,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:198,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:200,1
    - Dst: ReadAllTags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:203,1
    - Dst: ReadAllRAWTags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:204,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:205,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:206,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:208,1
    - Dst: ReadAllTags
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:210,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - ContextID
    - Profile
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: CheckRAWSpecimen
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - cmsSaveProfileToFile
    - sprintf
    - ReadAllTags
    - ReadAllRAWTags
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckRAWSpecimen(cmsContext ContextID, const char* Profile)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:239,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:241,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:245,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:257,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:265,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:266,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:267,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - ContextID
    - Profile
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 272
    functionName: count_stats
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 0
    functionsReached:
    - sprintf
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsDetectDestinationBlackPoint
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int count_stats(cmsContext ContextID, const char* Profile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:281,1
    - Dst: _findfirst
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:283,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:284,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:289,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:290,1
    - Dst: CheckSingleSpecimen
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:292,1
    - Dst: CheckRAWSpecimen
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:293,1
    - Dst: count_stats
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:295,1
    - Dst: TestMemoryLeaks
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:297,1
    - Dst: _findnext
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:301,1
    - Dst: _findclose
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:303,1
    - Dst: ResetFatalError
      Src: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 307
    functionName: CheckProfileZOO
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/testbed/zoo_icc.c
    functionUses: 1
    functionsReached:
    - _findnext
    - cmsSetLogErrorHandler
    - strcmp
    - printf
    - CheckRAWSpecimen
    - _findfirst
    - ResetFatalError
    - CheckSingleSpecimen
    - _findclose
    - TestMemoryLeaks
    - count_stats
    linkageType: ''
    returnType: void
    signature: void CheckProfileZOO(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - Word
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: _cmsAdjustEndianess16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number _cmsAdjustEndianess16(cmsUInt16Number Word)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - DWord
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: _cmsAdjustEndianess32
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number _cmsAdjustEndianess32(cmsUInt32Number DWord)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:86,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - Result
    - QWord
    argTypes:
    - cmsUInt64Number*
    - cmsUInt64Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 107
    functionName: _cmsAdjustEndianess64
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsAdjustEndianess64(cmsUInt64Number* Result, cmsUInt64Number*
      QWord)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:114,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt8Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 121
    functionName: _cmsReadUInt8Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadUInt8Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt8Number* n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:127,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:129,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: _cmsReadUInt16Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess16
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadUInt16Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt16Number* n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:140,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:145,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - io
    - n
    - Array
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 136
    functionDepth: 2
    functionLinenumber: 136
    functionLinenumberEnd: 153
    functionName: _cmsReadUInt16Array
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsReadUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadUInt16Array(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number n, cmsUInt16Number* Array)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:159,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:161,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: _cmsReadUInt32Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadUInt32Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number* n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:172,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:174,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:179,1
    - Dst: fpclassify
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:194,1
    - Dst: fpclassify
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:194,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsFloat32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 199
    functionName: _cmsReadFloat32Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - fpclassify
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadFloat32Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsFloat32Number* n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:206,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:208,1
    - Dst: _cmsAdjustEndianess64
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt64Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: _cmsReadUInt64Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess64
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadUInt64Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt64Number* n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:224,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:226,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:230,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsFloat64Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 234
    functionName: _cmsRead15Fixed16Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cms15Fixed16toDouble
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRead15Fixed16Number(cmsContext ContextID, cmsIOHANDLER*
      io, cmsFloat64Number* n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:241,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:243,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:247,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:247,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:248,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:248,1
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:249,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - io
    - XYZ
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 252
    functionName: _cmsReadXYZNumber
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cms15Fixed16toDouble
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadXYZNumber(cmsContext ContextID, cmsIOHANDLER* io, cmsCIEXYZ*
      XYZ)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:256,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt8Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 262
    functionName: _cmsWriteUInt8Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteUInt8Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt8Number n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:268,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:270,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: _cmsWriteUInt16Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess16
    - cmsIOHANDLER*::Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteUInt16Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt16Number n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:281,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:282,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - io
    - n
    - Array
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 277
    functionDepth: 2
    functionLinenumber: 277
    functionLinenumberEnd: 289
    functionName: _cmsWriteUInt16Array
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsWriteUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteUInt16Array(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number n, const cmsUInt16Number* Array)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:295,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:297,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: _cmsWriteUInt32Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Write
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteUInt32Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:309,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:312,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 317
    functionName: _cmsWriteFloat32Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Write
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteFloat32Number(cmsContext ContextID, cmsIOHANDLER*
      io, cmsFloat32Number n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:323,1
    - Dst: _cmsAdjustEndianess64
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:325,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt64Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: _cmsWriteUInt64Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess64
    - cmsIOHANDLER*::Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteUInt64Number(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt64Number* n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:336,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:338,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:338,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - io
    - n
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: _cmsWrite15Fixed16Number
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsDoubleTo15Fixed16
    - cmsIOHANDLER*::Write
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWrite15Fixed16Number(cmsContext ContextID, cmsIOHANDLER*
      io, cmsFloat64Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:349,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:350,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:352,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:352,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:353,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:353,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:354,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:354,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - io
    - XYZ
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 357
    functionName: _cmsWriteXYZNumber
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsDoubleTo15Fixed16
    - cmsIOHANDLER*::Write
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteXYZNumber(cmsContext ContextID, cmsIOHANDLER* io,
      const cmsCIEXYZ* XYZ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - fixed8
    argTypes:
    - cmsContext
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: _cms8Fixed8toDouble
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cms8Fixed8toDouble(cmsContext ContextID, cmsUInt16Number
      fixed8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - val
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: _cmsDoubleTo8Fixed8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsDoubleTo15Fixed16
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number _cmsDoubleTo8Fixed8(cmsContext ContextID, cmsFloat64Number
      val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:382,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - fix32
    argTypes:
    - cmsContext
    - cmsS15Fixed16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: _cms15Fixed16toDouble
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    - abs
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cms15Fixed16toDouble(cmsContext ContextID, cmsS15Fixed16Number
      fix32)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:399,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - v
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 401
    functionName: _cmsDoubleTo15Fixed16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    - floor
    linkageType: ''
    returnType: cmsS15Fixed16Number
    signature: cmsS15Fixed16Number _cmsDoubleTo15Fixed16(cmsContext ContextID, cmsFloat64Number
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:407,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:409,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:410,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:412,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:413,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:414,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:415,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:416,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - ContextID
    - Source
    - Dest
    argTypes:
    - cmsContext
    - cmsDateTimeNumber*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 421
    functionName: _cmsDecodeDateTimeNumber
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAdjustEndianess16
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsDecodeDateTimeNumber(cmsContext ContextID, const cmsDateTimeNumber
      *Source, struct tm *Dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:425,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:427,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:428,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:430,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:431,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:432,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:433,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:434,1
    - Dst: _cmsAdjustEndianess16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - Dest
    - Source
    argTypes:
    - cmsContext
    - cmsDateTimeNumber*
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 436
    functionName: _cmsEncodeDateTimeNumber
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAdjustEndianess16
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsEncodeDateTimeNumber(cmsContext ContextID, cmsDateTimeNumber
      *Dest, const struct tm *Source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:443,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:445,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - io
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 449
    functionName: _cmsReadTypeBase
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature _cmsReadTypeBase(cmsContext ContextID, cmsIOHANDLER*
      io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:456,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:458,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:459,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - io
    - sig
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsTagTypeSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 461
    functionName: _cmsWriteTypeBase
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - memset
    - cmsIOHANDLER*::Write
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteTypeBase(cmsContext ContextID, cmsIOHANDLER* io, cmsTagTypeSignature
      sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:469,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:471,1
    - Dst: _cmsALIGNLONG
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:472,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - io
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: _cmsReadAlignment
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Read
    - cmsIOHANDLER*::Tell
    - _cmsALIGNLONG
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadAlignment(cmsContext ContextID, cmsIOHANDLER* io)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:486,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:488,1
    - Dst: _cmsALIGNLONG
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:489,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:494,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:495,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ContextID
    - io
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 496
    functionName: _cmsWriteAlignment
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIOHANDLER*::Write
    - memset
    - cmsIOHANDLER*::Tell
    - _cmsALIGNLONG
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteAlignment(cmsContext ContextID, cmsIOHANDLER* io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:507,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:508,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:510,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:512,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:514,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:518,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - io
    - frm
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 523
    functionName: _cmsIOPrintf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - va_start
    - _cmsAssert
    - va_end
    - cmsIOHANDLER*::Write
    - vsnprintf
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsIOPrintf(cmsContext ContextID, cmsIOHANDLER* io, const
      char* frm, ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:531,1
    - Dst: _cmsCreateSubAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:537,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:541,1
    - Dst: _cmsSubAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 547
    functionName: _cmsPluginMalloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsSubAlloc
    - cmsSignalError
    - _cmsGetContext
    - _cmsCreateSubAlloc
    linkageType: ''
    returnType: void
    signature: void * _cmsPluginMalloc(cmsContext ContextID, cmsUInt32Number size)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:560,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:566,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:572,1
    - Dst: _cmsRegisterMemHandlerPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:580,1
    - Dst: _cmsRegisterInterpPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:584,1
    - Dst: _cmsRegisterTagTypePlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:588,1
    - Dst: _cmsRegisterTagPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:592,1
    - Dst: _cmsRegisterFormattersPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:596,1
    - Dst: _cmsRegisterRenderingIntentPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:600,1
    - Dst: _cmsRegisterParametricCurvesPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:604,1
    - Dst: _cmsRegisterMultiProcessElementPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:608,1
    - Dst: _cmsRegisterOptimizationPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:612,1
    - Dst: _cmsRegisterTransformPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:616,1
    - Dst: _cmsRegisterMutexPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:620,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:624,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 65
    argCount: 2
    argNames:
    - id
    - Plug_in
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 631
    functionName: cmsPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 13
    functionsReached:
    - _cmsRegisterInterpPlugin
    - _cmsRegisterMemHandlerPlugin
    - _cmsRegisterRenderingIntentPlugin
    - cmsSignalError
    - _cmsRegisterMutexPlugin
    - _cmsRegisterOptimizationPlugin
    - _cmsRegisterMultiProcessElementPlugin
    - _cmsRegisterFormattersPlugin
    - _cmsRegisterParametricCurvesPlugin
    - _cmsRegisterTransformPlugin
    - _cmsRegisterTagTypePlugin
    - _cmsRegisterTagPlugin
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsPlugin(cmsContext id, void* Plug_in)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 688
    functionName: _cmsGetContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: struct _cmsContext_struct
    signature: struct _cmsContext_struct * _cmsGetContext(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:700,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:703,1
    - Dst: _cmsGetContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ContextID
    - mc
    argTypes:
    - cmsContext
    - _cmsMemoryClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 718
    functionName: _cmsContextGetClientChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsSignalError
    - _cmsGetContext
    linkageType: ''
    returnType: void
    signature: void * _cmsContextGetClientChunk(cmsContext ContextID, _cmsMemoryClient
      mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsRegisterMemHandlerPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:728,1
    - Dst: _cmsRegisterInterpPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:729,1
    - Dst: _cmsRegisterTagTypePlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:730,1
    - Dst: _cmsRegisterTagPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:731,1
    - Dst: _cmsRegisterFormattersPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:732,1
    - Dst: _cmsRegisterRenderingIntentPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:733,1
    - Dst: _cmsRegisterParametricCurvesPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:734,1
    - Dst: _cmsRegisterMultiProcessElementPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:735,1
    - Dst: _cmsRegisterOptimizationPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:736,1
    - Dst: _cmsRegisterTransformPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:737,1
    - Dst: _cmsRegisterMutexPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 739
    functionName: cmsUnregisterPlugins
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsRegisterInterpPlugin
    - _cmsRegisterMemHandlerPlugin
    - _cmsRegisterRenderingIntentPlugin
    - _cmsRegisterMutexPlugin
    - _cmsRegisterOptimizationPlugin
    - _cmsRegisterMultiProcessElementPlugin
    - _cmsRegisterFormattersPlugin
    - _cmsRegisterParametricCurvesPlugin
    - _cmsRegisterTransformPlugin
    - _cmsRegisterTagTypePlugin
    - _cmsRegisterTagPlugin
    linkageType: ''
    returnType: void
    signature: void cmsUnregisterPlugins(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - PluginBundle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 763
    functionName: _cmsFindMemoryPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsPluginMemHandler
    signature: cmsPluginMemHandler * _cmsFindMemoryPlugin(void* PluginBundle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CreateMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:784,1
    - Dst: InterlockedCompareExchangePointer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:785,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:786,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:788,1
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:791,1
    - Dst: ReleaseMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:792,1
    - Dst: _cmsInstallAllocFunctions
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:799,1
    - Dst: _cmsFindMemoryPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:799,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:805,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:810,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:813,1
    - Dst: _cmsEnterCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:816,1
    - Dst: _cmsLeaveCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:819,1
    - Dst: _cmsCreateSubAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:825,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:828,1
    - Dst: _cmsAllocLogErrorChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:832,1
    - Dst: _cmsAllocAlarmCodesChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:833,1
    - Dst: _cmsAllocAdaptationStateChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:834,1
    - Dst: _cmsAllocMemPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:835,1
    - Dst: _cmsAllocInterpPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:836,1
    - Dst: _cmsAllocCurvesPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:837,1
    - Dst: _cmsAllocFormattersPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:838,1
    - Dst: _cmsAllocTagTypePluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:839,1
    - Dst: _cmsAllocMPETypePluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:840,1
    - Dst: _cmsAllocTagPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:841,1
    - Dst: _cmsAllocIntentsPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:842,1
    - Dst: _cmsAllocOptimizationPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:843,1
    - Dst: _cmsAllocTransformPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:844,1
    - Dst: _cmsAllocMutexPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:845,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:848,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:850,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 2
    argNames:
    - Plugin
    - UserData
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 855
    functionName: cmsCreateContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 5
    functionsReached:
    - cmsDeleteContext
    - _cmsAllocMPETypePluginChunk
    - _cmsAllocMemPluginChunk
    - _cmsInstallAllocFunctions
    - _cmsAllocInterpPluginChunk
    - CreateMutex
    - _cmsAllocOptimizationPluginChunk
    - _cmsAllocAlarmCodesChunk
    - _cmsAllocCurvesPluginChunk
    - _cmsAllocTagTypePluginChunk
    - ReleaseMutex
    - InitializeCriticalSection
    - memset
    - _cmsAllocAdaptationStateChunk
    - cmsPlugin
    - _cmsAllocLogErrorChunk
    - InterlockedCompareExchangePointer
    - WaitForSingleObject
    - _cmsMalloc
    - _cmsLeaveCriticalSectionPrimitive
    - _cmsFindMemoryPlugin
    - _cmsAllocTagPluginChunk
    - _cmsAllocFormattersPluginChunk
    - CloseHandle
    - _cmsEnterCriticalSectionPrimitive
    - _cmsCreateSubAlloc
    - memcpy
    - _cmsAllocTransformPluginChunk
    - _cmsAllocMutexPluginChunk
    - _cmsAllocIntentsPluginChunk
    linkageType: ''
    returnType: cmsContext
    signature: cmsContext cmsCreateContext(void* Plugin, void* UserData)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:864,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:869,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:874,1
    - Dst: _cmsEnterCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:877,1
    - Dst: _cmsLeaveCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:880,1
    - Dst: _cmsCreateSubAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:885,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:888,1
    - Dst: _cmsAllocLogErrorChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:893,1
    - Dst: _cmsAllocAlarmCodesChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:894,1
    - Dst: _cmsAllocAdaptationStateChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:895,1
    - Dst: _cmsAllocMemPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:896,1
    - Dst: _cmsAllocInterpPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:897,1
    - Dst: _cmsAllocCurvesPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:898,1
    - Dst: _cmsAllocFormattersPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:899,1
    - Dst: _cmsAllocTagTypePluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:900,1
    - Dst: _cmsAllocMPETypePluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:901,1
    - Dst: _cmsAllocTagPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:902,1
    - Dst: _cmsAllocIntentsPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:903,1
    - Dst: _cmsAllocOptimizationPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:904,1
    - Dst: _cmsAllocTransformPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:905,1
    - Dst: _cmsAllocMutexPluginChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:906,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 2
    argNames:
    - ContextID
    - NewUserData
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 918
    functionName: cmsDupContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - cmsDeleteContext
    - _cmsAllocMPETypePluginChunk
    - _cmsAllocMemPluginChunk
    - _cmsAllocInterpPluginChunk
    - _cmsAllocOptimizationPluginChunk
    - _cmsAllocAlarmCodesChunk
    - _cmsAllocCurvesPluginChunk
    - _cmsAllocTagTypePluginChunk
    - _cmsAllocAdaptationStateChunk
    - _cmsAllocLogErrorChunk
    - _cmsMalloc
    - _cmsLeaveCriticalSectionPrimitive
    - _cmsAllocTagPluginChunk
    - _cmsAllocFormattersPluginChunk
    - _cmsEnterCriticalSectionPrimitive
    - _cmsCreateSubAlloc
    - _cmsGetContext
    - memcpy
    - _cmsAllocTransformPluginChunk
    - _cmsAllocMutexPluginChunk
    - _cmsAllocIntentsPluginChunk
    linkageType: ''
    returnType: cmsContext
    signature: cmsContext cmsDupContext(cmsContext ContextID, void* NewUserData)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:951,1
    - Dst: cmsUnregisterPlugins
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:957,1
    - Dst: _cmsSubAllocDestroy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:961,1
    - Dst: _cmsEnterCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:965,1
    - Dst: _cmsLeaveCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:983,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:986,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 988
    functionName: cmsDeleteContext
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 19
    functionsReached:
    - _cmsEnterCriticalSectionPrimitive
    - _cmsLeaveCriticalSectionPrimitive
    - memcpy
    - _cmsSubAllocDestroy
    - cmsUnregisterPlugins
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsDeleteContext(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 994
    functionName: cmsGetContextUserData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 1
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT cmsGetContextUserData(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:1000,1
    - Dst: _cmsEnterCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:1002,1
    - Dst: _cmsLeaveCriticalSectionPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rc
    - delta
    argTypes:
    - cmsUInt32Number*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1008
    functionName: _cmsAdjustReferenceCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsplugin.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsEnterCriticalSectionPrimitive
    - _cmsLeaveCriticalSectionPrimitive
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number _cmsAdjustReferenceCount(cmsUInt32Number *rc, int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:50,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:61,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 63
    functionName: _cmsAllocInterpPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: void _cmsAllocInterpPluginChunk(struct _cmsContext_struct* ctx, const
      struct _cmsContext_struct* src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 81
    functionName: _cmsRegisterInterpPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterInterpPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:87,1
    - Dst: _cmsInterpPluginChunkType*::Interpolators
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:93,1
    - Dst: DefaultInterpolatorsFactory
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - p
    argTypes:
    - cmsContext
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 106
    functionName: _cmsSetInterpolationRoutine
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsInterpPluginChunkType*::Interpolators
    - DefaultInterpolatorsFactory
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsSetInterpolationRoutine(cmsContext ContextID, cmsInterpParams*
      p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:121,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:126,1
    - Dst: _cmsSetInterpolationRoutine
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:148,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:149,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:150,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - ContextID
    - nSamples
    - InputChan
    - OutputChan
    - Table
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number[]
    - cmsUInt32Number
    - cmsUInt32Number
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 156
    functionName: _cmsComputeInterpParamsEx
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsSetInterpolationRoutine
    - _cmsFree
    - cmsSignalError
    - _cmsMallocZero
    linkageType: ''
    returnType: cmsInterpParams
    signature: "cmsInterpParams * _cmsComputeInterpParamsEx(cmsContext ContextID,\n
      \                                          const cmsUInt32Number nSamples[],\n
      \                                          cmsUInt32Number InputChan, cmsUInt32Number
      OutputChan,\n                                           const void *Table,\n
      \                                          cmsUInt32Number dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - p
    argTypes:
    - cmsContext
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    functionName: _cmsFreeInterpParams
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 9
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void _cmsFreeInterpParams(cmsContext ContextID, cmsInterpParams* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a
    - l
    - h
    argTypes:
    - cmsS15Fixed16Number
    - cmsS15Fixed16Number
    - cmsS15Fixed16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: LinearInterp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE LinearInterp(cmsS15Fixed16Number a, cmsS15Fixed16Number l,
      cmsS15Fixed16Number h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:202,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:212,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:214,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:215,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Value
    - cmsUInt16Number Output
    - cmsInterpParams* p
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: LinLerp1D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - LinearInterp
    - FIXED_REST_TO_INT
    - cmsUNUSED_PARAMETER
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: void
    signature: "void LinLerp1D(cmsContext ContextID,\n               CMSREGISTER const
      cmsUInt16Number Value[],\n               CMSREGISTER cmsUInt16Number Output[],\n
      \              CMSREGISTER const cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isnan
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 228
    functionName: cmsFloat32Number::fclamp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - isnan
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsFloat32Number fclamp(cmsFloat32Number v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:240,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:242,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:252,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - Value
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: LinLerp1Dfloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - floor
    - fclamp
    - ceil
    linkageType: ''
    returnType: void
    signature: "void LinLerp1Dfloat(cmsContext ContextID, const cmsFloat32Number Value[],\n
      \                   cmsFloat32Number Output[],\n                    const cmsInterpParams*
      p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:279,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:282,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:284,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:285,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 296
    functionName: Eval1Input
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - LinearInterp
    - FIXED_REST_TO_INT
    - cmsUNUSED_PARAMETER
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval1Input(cmsContext ContextID,\n                CMSREGISTER
      const cmsUInt16Number Input[],\n                CMSREGISTER cmsUInt16Number
      Output[],\n                CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:311,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:313,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:328,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - ContextID
    - Value
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 345
    functionName: Eval1InputFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - floor
    - fclamp
    - ceil
    linkageType: ''
    returnType: void
    signature: "void Eval1InputFloat(cmsContext ContextID, const cmsFloat32Number
      Value[],\n                     cmsFloat32Number Output[],\n                     const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:366,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:369,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:370,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:372,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:373,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:376,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:379,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:383,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:384,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:385,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:386,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:388,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:389,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 399
    functionName: BilinearInterpFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    - fclamp
    - cmsUNUSED_PARAMETER
    - DENS
    - LERP
    linkageType: ''
    returnType: void
    signature: "void BilinearInterpFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                         cmsFloat32Number Output[],\n                         const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: LERP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERP(a,l,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 356
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:421,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:425,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:426,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:427,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:430,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:431,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:432,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:443,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:444,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:445,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:446,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:448,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:449,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 459
    functionName: BilinearInterp16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - FIXED_REST_TO_INT
    - cmsUNUSED_PARAMETER
    - DENS
    - FIXED_TO_INT
    - _cmsToFixedDomain
    - LERP
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE BilinearInterp16(cmsContext ContextID,\n                      CMSREGISTER
      const cmsUInt16Number Input[],\n                      CMSREGISTER cmsUInt16Number
      Output[],\n                      CMSREGISTER const cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 411
    functionName: LERP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERP(a,l,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:482,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:487,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:488,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:489,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:491,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:492,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:493,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:496,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:499,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:502,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:506,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:507,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:508,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:509,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:511,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:512,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:513,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:514,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:517,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:518,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:519,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:520,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:522,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:523,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 533
    functionName: TrilinearInterpFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - fclamp
    - cmsUNUSED_PARAMETER
    - floor
    - DENS
    - LERP
    linkageType: ''
    returnType: void
    signature: "void TrilinearInterpFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                          cmsFloat32Number Output[],\n                          const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: LERP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERP(a,l,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 471
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:556,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:560,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:561,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:562,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:565,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:566,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:567,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:569,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:570,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:571,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:585,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:586,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:587,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:588,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:590,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:591,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:592,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:593,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:596,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:597,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:598,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:599,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:601,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:602,1
    - Dst: LERP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 612
    functionName: TrilinearInterp16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - FIXED_REST_TO_INT
    - cmsUNUSED_PARAMETER
    - DENS
    - FIXED_TO_INT
    - _cmsToFixedDomain
    - LERP
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE TrilinearInterp16(cmsContext ContextID,\n                       CMSREGISTER
      const cmsUInt16Number Input[],\n                       CMSREGISTER cmsUInt16Number
      Output[],\n                       CMSREGISTER const cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - l
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: LERP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LERP(a,l,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 617
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:629,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:634,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:635,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:636,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:638,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:639,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:640,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:644,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:647,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:650,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:656,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:660,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:661,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:661,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:662,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:662,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:668,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:669,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:669,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:670,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:670,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:676,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:676,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:677,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:677,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:678,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:684,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:684,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:685,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:686,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:686,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:692,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:692,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:693,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:694,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:694,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:700,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:700,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:701,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:701,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:702,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 712
    functionName: TetrahedralInterpFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - floor
    - fclamp
    - DENS
    linkageType: ''
    returnType: void
    signature: "void TetrahedralInterpFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                            cmsFloat32Number Output[],\n                            const
      cmsInterpParams* p)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:732,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:734,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:735,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:736,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:738,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:739,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:740,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:742,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:743,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:744,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 109
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 851
    functionName: TetrahedralInterp16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FIXED_REST_TO_INT
    - _cmsToFixedDomain
    - FIXED_TO_INT
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE TetrahedralInterp16(cmsContext ContextID,\n                         CMSREGISTER
      const cmsUInt16Number Input[],\n                         CMSREGISTER cmsUInt16Number
      Output[],\n                         CMSREGISTER const cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 855
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:873,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:876,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:877,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:878,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:879,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:881,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:882,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:883,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:884,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:886,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:887,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:888,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:889,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:908,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:912,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:913,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:913,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:914,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:914,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:920,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:921,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:921,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:922,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:922,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:928,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:928,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:929,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:929,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:930,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:936,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:936,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:937,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:938,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:938,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:944,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:944,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:945,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:946,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:946,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:952,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:952,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:953,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:953,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:954,1
    - Dst: ROUND_FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:963,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:963,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:972,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:976,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:977,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:977,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:978,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:978,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:984,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:985,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:985,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:986,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:986,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:992,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:992,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:993,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:993,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:994,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1000,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1000,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1001,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1002,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1002,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1008,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1008,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1009,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1010,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1010,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1016,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1016,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1017,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1017,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1018,1
    - Dst: ROUND_FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1027,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1027,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1033,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 103
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 1035
    functionName: Eval4Inputs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - ROUND_FIXED_TO_INT
    - FIXED_REST_TO_INT
    - LinearInterp
    - cmsUNUSED_PARAMETER
    - DENS
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval4Inputs(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1057,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1058,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1062,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1065,1
    - Dst: TetrahedralInterpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1070,1
    - Dst: TetrahedralInterpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1083
    functionName: Eval4InputsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - TetrahedralInterpFloat
    - _cmsQuickFloor
    - fclamp
    - memmove
    linkageType: ''
    returnType: void
    signature: "void Eval4InputsFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                      cmsFloat32Number Output[],\n                      const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1102,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1103,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1104,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1110,1
    - Dst: Eval4Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1115,1
    - Dst: Eval4Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1120,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1127
    functionName: Eval5Inputs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - FIXED_REST_TO_INT
    - LinearInterp
    - memmove
    - FIXED_TO_INT
    - Eval4Inputs
    - _cmsToFixedDomain
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval5Inputs(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1144,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1145,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1149,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1152,1
    - Dst: Eval4InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1157,1
    - Dst: Eval4InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1171
    functionName: Eval5InputsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    - fclamp
    - memmove
    - Eval4InputsFloat
    linkageType: ''
    returnType: void
    signature: "void Eval5InputsFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                      cmsFloat32Number Output[],\n                      const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1190,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1191,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1192,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1198,1
    - Dst: Eval5Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1203,1
    - Dst: Eval5Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1208,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1175
    functionDepth: 3
    functionLinenumber: 1175
    functionLinenumberEnd: 1215
    functionName: Eval6Inputs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - Eval5Inputs
    - FIXED_REST_TO_INT
    - LinearInterp
    - memmove
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval6Inputs(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1232,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1233,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1237,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1240,1
    - Dst: Eval5InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1245,1
    - Dst: Eval5InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1218
    functionDepth: 4
    functionLinenumber: 1218
    functionLinenumberEnd: 1259
    functionName: Eval6InputsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    - fclamp
    - Eval5InputsFloat
    - memmove
    linkageType: ''
    returnType: void
    signature: "void Eval6InputsFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                      cmsFloat32Number Output[],\n                      const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1278,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1279,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1280,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1286,1
    - Dst: Eval6Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1291,1
    - Dst: Eval6Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1296,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1262
    functionDepth: 4
    functionLinenumber: 1262
    functionLinenumberEnd: 1301
    functionName: Eval7Inputs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - Eval6Inputs
    - FIXED_REST_TO_INT
    - LinearInterp
    - memmove
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval7Inputs(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1318,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1319,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1323,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1326,1
    - Dst: Eval6InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1331,1
    - Dst: Eval6InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1304
    functionDepth: 5
    functionLinenumber: 1304
    functionLinenumberEnd: 1347
    functionName: Eval7InputsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    - fclamp
    - memmove
    - Eval6InputsFloat
    linkageType: ''
    returnType: void
    signature: "void Eval7InputsFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                      cmsFloat32Number Output[],\n                      const
      cmsInterpParams* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1364,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1365,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1366,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1372,1
    - Dst: Eval7Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1377,1
    - Dst: Eval7Inputs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1381,1
    - Dst: LinearInterp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - cmsInterpParams* p16
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1349
    functionDepth: 5
    functionLinenumber: 1349
    functionLinenumberEnd: 1386
    functionName: Eval8Inputs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - FIXED_REST_TO_INT
    - LinearInterp
    - memmove
    - FIXED_TO_INT
    - _cmsToFixedDomain
    - Eval7Inputs
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE Eval8Inputs(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const cmsInterpParams* p16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1404,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1405,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1409,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1412,1
    - Dst: Eval7InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1417,1
    - Dst: Eval7InputsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - Input
    - Output
    - p
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1390
    functionDepth: 6
    functionLinenumber: 1390
    functionLinenumberEnd: 1432
    functionName: Eval8InputsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    - fclamp
    - Eval7InputsFloat
    - memmove
    linkageType: ''
    returnType: void
    signature: "void Eval8InputsFloat(cmsContext ContextID, const cmsFloat32Number
      Input[],\n                      cmsFloat32Number Output[],\n                      const
      cmsInterpParams* p)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c:1443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 3
    argNames:
    - nInputChannels
    - nOutputChannels
    - dwFlags
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1540
    functionName: DefaultInterpolatorsFactory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsintrp.c
    functionUses: 1
    functionsReached:
    - memset
    linkageType: ''
    returnType: cmsInterpFunction
    signature: cmsInterpFunction DefaultInterpolatorsFactory(cmsUInt32Number nInputChannels,
      cmsUInt32Number nOutputChannels, cmsUInt32Number dwFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - w
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: Word2Byte
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsUInt8Number
    signature: cmsUInt8Number Word2Byte(cmsUInt16Number w)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:302,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - m
    - b
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt8Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 310
    functionName: WriteByte
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void WriteByte(cmsContext ContextID, cmsIOHANDLER* m, cmsUInt8Number
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - txt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 330
    functionName: RemoveCR
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * RemoveCR(const char* txt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:339,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:341,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:342,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:347,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:348,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:350,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:351,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:352,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:353,1
    - Dst: RemoveCR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:353,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:354,1
    - Dst: RemoveCR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:354,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:355,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:355,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:356,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - m
    - Title
    - hProfile
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - char*
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 359
    functionName: EmitHeader
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - cmsMLUgetASCII
    - RemoveCR
    - cmsReadTag
    - ctime
    - time
    linkageType: ''
    returnType: void
    signature: void EmitHeader(cmsContext ContextID, cmsIOHANDLER* m, const char*
      Title, cmsHPROFILE hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:369,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:373,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:373,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:374,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - m
    - BlackPoint
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 376
    functionName: EmitWhiteBlackD50
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - cmsD50_XYZ
    linkageType: ''
    returnType: void
    signature: void EmitWhiteBlackD50(cmsContext ContextID, cmsIOHANDLER* m, cmsCIEXYZ*
      BlackPoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - m
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 385
    functionName: EmitRangeCheck
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitRangeCheck(cmsContext ContextID, cmsIOHANDLER* m)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:404,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ContextID
    - m
    - RenderingIntent
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: EmitIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitIntent(cmsContext ContextID, cmsIOHANDLER* m, cmsUInt32Number
      RenderingIntent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:419,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:420,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:421,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:422,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:423,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:424,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:425,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:426,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:427,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:428,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:429,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:430,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - m
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 432
    functionName: EmitLab2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitLab2XYZ(cmsContext ContextID, cmsIOHANDLER* m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:437,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - m
    - name
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: EmitSafeGuardBegin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitSafeGuardBegin(cmsContext ContextID, cmsIOHANDLER* m, const
      char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:444,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:447,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - m
    - name
    - depth
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: EmitSafeGuardEnd
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitSafeGuardEnd(cmsContext ContextID, cmsIOHANDLER* m, const
      char* name, int depth)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:465,1
    - Dst: cmsEstimateGamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:468,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:470,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:474,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:475,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:479,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:480,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:483,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:491,1
    - Dst: EmitRangeCheck
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:494,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:496,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:497,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:498,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:499,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:500,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:501,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:502,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:503,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:504,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:505,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:506,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:507,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:508,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:509,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:510,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:511,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:512,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:513,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:514,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:515,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:516,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:517,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:518,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:519,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:520,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:521,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:523,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 50
    argCount: 4
    argNames:
    - ContextID
    - m
    - Table
    - name
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsToneCurve*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 526
    functionName: Emit1Gamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - cmsIsToneCurveLinear
    - EmitRangeCheck
    - cmsEstimateGamma
    - EmitSafeGuardBegin
    - EmitSafeGuardEnd
    linkageType: ''
    returnType: void
    signature: void Emit1Gamma(cmsContext ContextID, cmsIOHANDLER* m, cmsToneCurve*
      Table, const char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - g1
    - g2
    - nEntries
    argTypes:
    - cmsUInt16Number*
    - cmsUInt16Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 535
    functionName: GammaTableEquals
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GammaTableEquals(cmsUInt16Number* g1, cmsUInt16Number* g2,
      cmsUInt32Number nEntries)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GammaTableEquals
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:550,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:552,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:555,1
    - Dst: Emit1Gamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - m
    - n
    - g
    - nameprefix
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsToneCurve*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 540
    functionDepth: 4
    functionLinenumber: 540
    functionLinenumberEnd: 561
    functionName: EmitNGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - GammaTableEquals
    - _cmsIOPrintf
    - Emit1Gamma
    - snprintf
    linkageType: ''
    returnType: void
    signature: void EmitNGamma(cmsContext ContextID, cmsIOHANDLER* m, cmsUInt32Number
      n, cmsToneCurve* g[], const char* nameprefix)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cmsEndPointsBySpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:597,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:615,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:617,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:623,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:632,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:635,1
    - Dst: Word2Byte
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:649,1
    - Dst: WriteByte
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:650,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 654
    functionName: OutputValueSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - WriteByte
    - _cmsEndPointsBySpace
    - Word2Byte
    linkageType: ''
    returnType: int
    signature: int OutputValueSampler(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:681,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:684,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:686,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:688,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:690,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:691,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:692,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 9
    argNames:
    - ContextID
    - m
    - mpe
    - PreMaj
    - PostMaj
    - PreMin
    - PostMin
    - FixWhite
    - ColorSpace
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsStage*
    - char*
    - char*
    - char*
    - char*
    - int
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 694
    functionName: WriteCLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - cmsStageSampleCLut16bit
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: "void WriteCLUT(cmsContext ContextID, cmsIOHANDLER* m, cmsStage* mpe,
      const char* PreMaj,\n                                               const char*
      PostMaj,\n                                               const char* PreMin,\n
      \                                              const char* PostMin,\n                                               int
      FixWhite,\n                                               cmsColorSpaceSignature
      ColorSpace)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:703,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:704,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:706,1
    - Dst: Emit1Gamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:707,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:709,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:710,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:712,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:713,1
    - Dst: EmitWhiteBlackD50
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:715,1
    - Dst: EmitIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:716,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:718,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - m
    - Curve
    - BlackPoint
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsToneCurve*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 722
    functionName: EmitCIEBasedA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - EmitWhiteBlackD50
    - _cmsIOPrintf
    - EmitIntent
    - EmitSafeGuardBegin
    - Emit1Gamma
    - EmitSafeGuardEnd
    linkageType: ''
    returnType: int
    signature: int EmitCIEBasedA(cmsContext ContextID, cmsIOHANDLER* m, cmsToneCurve*
      Curve, cmsCIEXYZ* BlackPoint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:732,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:733,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:735,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:736,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:737,1
    - Dst: EmitNGamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:738,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:739,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:740,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:741,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:742,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:743,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:744,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:745,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:746,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:748,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:752,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:758,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:760,1
    - Dst: EmitWhiteBlackD50
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:762,1
    - Dst: EmitIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:763,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:765,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 5
    argNames:
    - ContextID
    - m
    - Matrix
    - CurveSet
    - BlackPoint
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsFloat64Number*
    - cmsToneCurve**
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 727
    functionDepth: 5
    functionLinenumber: 727
    functionLinenumberEnd: 770
    functionName: EmitCIEBasedABC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - EmitWhiteBlackD50
    - _cmsIOPrintf
    - EmitNGamma
    - EmitIntent
    - EmitSafeGuardBegin
    - EmitSafeGuardEnd
    linkageType: ''
    returnType: int
    signature: int EmitCIEBasedABC(cmsContext ContextID, cmsIOHANDLER* m, cmsFloat64Number*
      Matrix, cmsToneCurve** CurveSet, cmsCIEXYZ* BlackPoint)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:785,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:787,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:794,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:806,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:808,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:810,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:812,1
    - Dst: EmitSafeGuardBegin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:814,1
    - Dst: EmitNGamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:816,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:816,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:816,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:817,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:819,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:821,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:823,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:825,1
    - Dst: EmitSafeGuardEnd
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:827,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:833,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:835,1
    - Dst: WriteCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:836,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:837,1
    - Dst: EmitLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:840,1
    - Dst: EmitWhiteBlackD50
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:841,1
    - Dst: EmitIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:842,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:844,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:845,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 5
    argNames:
    - ContextID
    - m
    - Pipeline
    - Intent
    - BlackPoint
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsPipeline*
    - cmsUInt32Number
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 773
    functionDepth: 5
    functionLinenumber: 773
    functionLinenumberEnd: 848
    functionName: EmitCIEBasedDEF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - EmitWhiteBlackD50
    - _cmsIOPrintf
    - EmitLab2XYZ
    - cmsStageType
    - snprintf
    - EmitNGamma
    - EmitIntent
    - EmitSafeGuardBegin
    - _cmsStageGetPtrToCurveSet
    - cmsStageInputChannels
    - WriteCLUT
    - cmsStageOutputChannels
    - EmitSafeGuardEnd
    linkageType: ''
    returnType: int
    signature: int EmitCIEBasedDEF(cmsContext ContextID, cmsIOHANDLER* m, cmsPipeline*
      Pipeline, cmsUInt32Number Intent, cmsCIEXYZ* BlackPoint)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:855,1
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:856,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:857,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:866,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:868,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:872,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:873,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Intent
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 875
    functionName: ExtractGray2Y
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsBuildTabulatedToneCurve16
    - cmsDoTransform
    - cmsCreateXYZProfile
    - _cmsQuickSaturateWord
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * ExtractGray2Y(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt32Number Intent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:896,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:897,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:900,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:903,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:908,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:909,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:913,1
    - Dst: ExtractGray2Y
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:922,1
    - Dst: EmitCIEBasedA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:923,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:924,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:934,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:938,1
    - Dst: EmitCIEBasedDEF
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:940,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:941,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:948,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:953,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 5
    argNames:
    - ContextID
    - m
    - hProfile
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 882
    functionDepth: 6
    functionLinenumber: 882
    functionLinenumberEnd: 956
    functionName: WriteInputLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - ExtractGray2Y
    - cmsDetectBlackPoint
    - cmsDeleteTransform
    - cmsCreateMultiprofileTransform
    - cmsFreeToneCurve
    - cmsSignalError
    - cmsPipelineDup
    - _cmsOptimizePipeline
    - EmitCIEBasedDEF
    - cmsCreateLab4Profile
    - cmsFormatterForColorspaceOfProfile
    - cmsPipelineFree
    - EmitCIEBasedA
    - T_CHANNELS
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int WriteInputLUT(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mpe
    argTypes:
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 964
    functionName: GetPtrToMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number * GetPtrToMatrix(const cmsStage* mpe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:975,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:977,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:981,1
    - Dst: EmitCIEBasedA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:982,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:991,1
    - Dst: GetPtrToMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:991,1
    - Dst: EmitCIEBasedABC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:997,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:998,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1003,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ContextID
    - m
    - hProfile
    - Matrix
    - Shaper
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - cmsStage*
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 968
    functionDepth: 6
    functionLinenumber: 968
    functionLinenumberEnd: 1008
    functionName: WriteInputMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - cmsDetectBlackPoint
    - cmsSignalError
    - memmove
    - cmsGetColorSpace
    - EmitCIEBasedABC
    - _cmsStageGetPtrToCurveSet
    - EmitCIEBasedA
    - GetPtrToMatrix
    linkageType: ''
    returnType: int
    signature: int WriteInputMatrixShaper(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hProfile, cmsStage* Matrix, cmsStage* Shaper)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1024,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1025,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1028,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1031,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1032,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1033,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1034,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1036,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1046,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1049,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1050,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1055,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1057,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1058,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - ContextID
    - m
    - hNamedColor
    - Intent
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1060
    functionName: WriteNamedColorCSA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - cmsDeleteTransform
    - cmsNamedColorCount
    - cmsGetNamedColorList
    - cmsNamedColorInfo
    - cmsDoTransform
    - cmsCreateLab4Profile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int WriteNamedColorCSA(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hNamedColor, cmsUInt32Number Intent)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1077,1
    - Dst: WriteNamedColorCSA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1079,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1086,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1091,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1097,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1102,1
    - Dst: WriteInputMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1104,1
    - Dst: WriteInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1109,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1118,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1124,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - ContextID
    - hProfile
    - Intent
    - dwFlags
    - mem
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1064
    functionDepth: 7
    functionLinenumber: 1064
    functionLinenumberEnd: 1126
    functionName: GenerateCSA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 1
    functionsReached:
    - WriteInputLUT
    - WriteNamedColorCSA
    - cmsSignalError
    - _cmsReadInputLUT
    - cmsGetDeviceClass
    - cmsGetPCS
    - cmsPipelineFree
    - WriteInputMatrixShaper
    - cmsPipelineCheckAndRetreiveStages
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number GenerateCSA(cmsContext ContextID,\n                            cmsHPROFILE
      hProfile,\n                            cmsUInt32Number Intent,\n                            cmsUInt32Number
      dwFlags,\n                            cmsIOHANDLER* mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadMediaWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1208,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1210,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1211,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1213,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1223,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1226,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1233,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1242,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1245,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1251,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - m
    - hProfile
    - DoBPC
    - lIsAbsolute
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1194
    functionDepth: 2
    functionLinenumber: 1194
    functionLinenumberEnd: 1264
    functionName: EmitPQRStage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsReadMediaWhitePoint
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitPQRStage(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hProfile, int DoBPC, int lIsAbsolute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1270,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1271,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1272,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1273,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1274,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1275,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1276,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1277,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1280,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1281,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1282,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - ContextID
    - m
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1267
    functionDepth: 2
    functionLinenumber: 1267
    functionLinenumberEnd: 1288
    functionName: EmitXYZ2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    linkageType: ''
    returnType: void
    signature: void EmitXYZ2Lab(cmsContext ContextID, cmsIOHANDLER* m)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1314,1
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1317,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1318,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1320,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1333,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1336,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1340,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1346,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1352,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1354,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1355,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1358,1
    - Dst: EmitWhiteBlackD50
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1361,1
    - Dst: EmitPQRStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1362,1
    - Dst: EmitXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1363,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1375,1
    - Dst: WriteCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1378,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1378,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1380,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1383,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1385,1
    - Dst: EmitIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1388,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1390,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1394,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1397,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 46
    argCount: 5
    argNames:
    - ContextID
    - m
    - hProfile
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1401
    functionName: WriteOutputLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - EmitWhiteBlackD50
    - cmsPipelineDup
    - EmitPQRStage
    - WriteCLUT
    - cmsDetectBlackPoint
    - cmsCreateMultiprofileTransform
    - cmsGetColorSpace
    - cmsFormatterForColorspaceOfProfile
    - cmsCreateLab4Profile
    - cmsPipelineFree
    - _cmsIOPrintf
    - cmsDeleteTransform
    - cmsSignalError
    - EmitXYZ2Lab
    - EmitIntent
    - _cmsOptimizePipeline
    - cmsPipelineGetPtrToFirstStage
    - T_CHANNELS
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int WriteOutputLUT(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1417,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1419,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - Colorant
    - nColorant
    - Out
    argTypes:
    - char*
    - cmsUInt32Number
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1405
    functionDepth: 0
    functionLinenumber: 1405
    functionLinenumberEnd: 1424
    functionName: BuildColorantList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strcat
    linkageType: ''
    returnType: void
    signature: void BuildColorantList(char *Colorant, cmsUInt32Number nColorant, cmsUInt16Number
      Out[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1441,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1442,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1445,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1449,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1452,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1453,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1454,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1455,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1457,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1466,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1469,1
    - Dst: BuildColorantList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1470,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1471,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1474,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1478,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1481,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - ContextID
    - m
    - hNamedColor
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1483
    functionName: WriteNamedColorCRD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - _cmsIOPrintf
    - BuildColorantList
    - cmsDeleteTransform
    - cmsNamedColorCount
    - cmsGetNamedColorList
    - cmsNamedColorInfo
    - cmsDoTransform
    - cmsFormatterForColorspaceOfProfile
    - cmsCreateTransform
    - T_CHANNELS
    linkageType: ''
    returnType: int
    signature: int WriteNamedColorCRD(cmsContext ContextID, cmsIOHANDLER* m, cmsHPROFILE
      hNamedColor, cmsUInt32Number Intent, cmsUInt32Number dwFlags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EmitHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1501,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1506,1
    - Dst: WriteNamedColorCRD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1508,1
    - Dst: WriteOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1516,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1523,1
    - Dst: _cmsIOPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - hProfile
    - Intent
    - dwFlags
    - mem
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1491
    functionDepth: 4
    functionLinenumber: 1491
    functionLinenumberEnd: 1532
    functionName: GenerateCRD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 1
    functionsReached:
    - _cmsIOPrintf
    - WriteNamedColorCRD
    - cmsGetDeviceClass
    - WriteOutputLUT
    - EmitHeader
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number GenerateCRD(cmsContext ContextID,\n                             cmsHPROFILE
      hProfile,\n                             cmsUInt32Number Intent, cmsUInt32Number
      dwFlags,\n                             cmsIOHANDLER* mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1550,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - ContextID
    - Type
    - hProfile
    - Intent
    - dwFlags
    - io
    argTypes:
    - cmsContext
    - cmsPSResourceType
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1560
    functionName: cmsGetPostScriptColorResource
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 0
    functionsReached:
    - GenerateCRD
    - GenerateCSA
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsGetPostScriptColorResource(cmsContext ContextID,\n
      \                                                              cmsPSResourceType
      Type,\n                                                               cmsHPROFILE
      hProfile,\n                                                               cmsUInt32Number
      Intent,\n                                                               cmsUInt32Number
      dwFlags,\n                                                               cmsIOHANDLER*
      io)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenIOhandlerFromNULL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1574,1
    - Dst: cmsOpenIOhandlerFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1576,1
    - Dst: cmsGetPostScriptColorResource
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1580,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ContextID
    - hProfile
    - Intent
    - dwFlags
    - Buffer
    - dwBufferLen
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1586
    functionName: cmsGetPostScriptCRD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 1
    functionsReached:
    - cmsCloseIOhandler
    - cmsGetPostScriptColorResource
    - cmsOpenIOhandlerFromNULL
    - cmsOpenIOhandlerFromMem
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsGetPostScriptCRD(cmsContext ContextID,\n                              cmsHPROFILE
      hProfile,\n                              cmsUInt32Number Intent, cmsUInt32Number
      dwFlags,\n                              void* Buffer, cmsUInt32Number dwBufferLen)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenIOhandlerFromNULL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1602,1
    - Dst: cmsOpenIOhandlerFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1604,1
    - Dst: cmsGetPostScriptColorResource
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1608,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c:1611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - ContextID
    - hProfile
    - Intent
    - dwFlags
    - Buffer
    - dwBufferLen
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1591
    functionDepth: 1
    functionLinenumber: 1591
    functionLinenumberEnd: 1615
    functionName: cmsGetPostScriptCSA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsps2.c
    functionUses: 1
    functionsReached:
    - cmsCloseIOhandler
    - cmsGetPostScriptColorResource
    - cmsOpenIOhandlerFromNULL
    - cmsOpenIOhandlerFromMem
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsGetPostScriptCSA(cmsContext ContextID,\n                                              cmsHPROFILE
      hProfile,\n                                              cmsUInt32Number Intent,\n
      \                                             cmsUInt32Number dwFlags,\n                                              void*
      Buffer,\n                                              cmsUInt32Number dwBufferLen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:115,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 132
    functionName: DupPluginIntentsList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupPluginIntentsList(struct _cmsContext_struct* ctx,\n                                               const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupPluginIntentsList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:140,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: _cmsAllocIntentsPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    - DupPluginIntentsList
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocIntentsPluginChunk(struct _cmsContext_struct* ctx,\n
      \                                        const struct _cmsContext_struct* src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - Intent
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: SearchIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsIntentsList
    signature: cmsIntentsList * SearchIntent(cmsContext ContextID, cmsUInt32Number
      Intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:183,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:184,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:185,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:187,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:188,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:189,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:191,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:192,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:193,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:195,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:196,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:197,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - BlackPointIn
    - BlackPointOut
    - m
    - 'off'
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 200
    functionName: ComputeBlackPointCompensation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsD50_XYZ
    - _cmsVEC3init
    linkageType: ''
    returnType: void
    signature: "void ComputeBlackPointCompensation(cmsContext ContextID, const cmsCIEXYZ*
      BlackPointIn,\n                                   const cmsCIEXYZ* BlackPointOut,\n
      \                                  cmsMAT3* m, cmsVEC3* off)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:215,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:217,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:218,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:219,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:221,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:227,1
    - Dst: cmsTempFromWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - Chad
    argTypes:
    - cmsContext
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 233
    functionName: CHAD2Temp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsTempFromWhitePoint
    - cmsD50_XYZ
    - _cmsMAT3eval
    - cmsXYZ2xyY
    - _cmsMAT3inverse
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number CHAD2Temp(cmsContext ContextID, const cmsMAT3* Chad)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:242,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:243,1
    - Dst: _cmsAdaptationMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:244,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - Chad
    - Temp
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: Temp2CHAD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsD50_XYZ
    - _cmsAdaptationMatrix
    - cmsxyY2XYZ
    - cmsWhitePointFromTemp
    linkageType: ''
    returnType: void
    signature: void Temp2CHAD(cmsContext ContextID, cmsMAT3* Chad, cmsFloat64Number
      Temp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:267,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:268,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:269,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:275,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:276,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:277,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:283,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:287,1
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:290,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:291,1
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:299,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:300,1
    - Dst: CHAD2Temp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:303,1
    - Dst: CHAD2Temp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:304,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:308,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:308,1
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:310,1
    - Dst: Temp2CHAD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:317,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:319,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 7
    argNames:
    - ContextID
    - AdaptationState
    - WhitePointIn
    - ChromaticAdaptationMatrixIn
    - WhitePointOut
    - ChromaticAdaptationMatrixOut
    - m
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - cmsCIEXYZ*
    - cmsMAT3*
    - cmsCIEXYZ*
    - cmsMAT3*
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 325
    functionName: ComputeAbsoluteIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - _cmsMAT3isIdentity
    - CHAD2Temp
    - _cmsVEC3init
    - _cmsMAT3per
    - _cmsMAT3inverse
    - fabs
    - _cmsMAT3identity
    - Temp2CHAD
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ComputeAbsoluteIntent(cmsContext ContextID, cmsFloat64Number
      AdaptationState,\n                               const cmsCIEXYZ* WhitePointIn,\n
      \                              const cmsMAT3* ChromaticAdaptationMatrixIn,\n
      \                              const cmsCIEXYZ* WhitePointOut,\n                               const
      cmsMAT3* ChromaticAdaptationMatrixOut,\n                               cmsMAT3*
      m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:338,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:341,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - m
    - 'off'
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 348
    functionName: IsEmptyLayer
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - fabs
    - _cmsMAT3identity
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsEmptyLayer(cmsContext ContextID, cmsMAT3* m, cmsVEC3* off)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:365,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:366,1
    - Dst: _cmsReadMediaWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:374,1
    - Dst: _cmsReadCHAD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:375,1
    - Dst: _cmsReadMediaWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:377,1
    - Dst: _cmsReadCHAD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:378,1
    - Dst: ComputeAbsoluteIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:380,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:392,1
    - Dst: cmsDetectDestinationBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:393,1
    - Dst: ComputeBlackPointCompensation
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:399,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 8
    argNames:
    - ContextID
    - i
    - hProfiles
    - Intent
    - BPC
    - AdaptationState
    - m
    - 'off'
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsHPROFILE[]
    - cmsUInt32Number
    - cmsBool
    - cmsFloat64Number
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 417
    functionName: ComputeConversion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsDetectBlackPoint
    - cmsDetectDestinationBlackPoint
    - _cmsReadMediaWhitePoint
    - _cmsVEC3init
    - ComputeBlackPointCompensation
    - ComputeAbsoluteIntent
    - _cmsMAT3identity
    - _cmsReadCHAD
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ComputeConversion(cmsContext ContextID,\n                          cmsUInt32Number
      i,\n                          cmsHPROFILE hProfiles[],\n                          cmsUInt32Number
      Intent,\n                          cmsBool BPC,\n                          cmsFloat64Number
      AdaptationState,\n                          cmsMAT3* m, cmsVEC3* off)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: IsEmptyLayer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:435,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:436,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:436,1
    - Dst: IsEmptyLayer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:441,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:442,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:442,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:444,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:444,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:459,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:459,1
    - Dst: IsEmptyLayer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:461,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:462,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:462,1
    - Dst: IsEmptyLayer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:468,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:469,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:469,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:470,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:470,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:471,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:471,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 42
    argCount: 6
    argNames:
    - ContextID
    - Result
    - InPCS
    - OutPCS
    - m
    - 'off'
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsColorSpaceSignature
    - cmsColorSpaceSignature
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 488
    functionName: AddConversion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocXYZ2Lab
    - IsEmptyLayer
    - cmsStageAllocMatrix
    - _cmsStageAllocLab2XYZ
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AddConversion(cmsContext ContextID, cmsPipeline* Result, cmsColorSpaceSignature
      InPCS, cmsColorSpaceSignature OutPCS, cmsMAT3* m, cmsVEC3* off)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsColorSpaceSignature
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 507
    functionName: ColorSpaceIsCompatible
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ColorSpaceIsCompatible(cmsColorSpaceSignature a, cmsColorSpaceSignature
      b)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:533,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:536,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:543,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:560,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:561,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:565,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:566,1
    - Dst: ColorSpaceIsCompatible
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:569,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:571,1
    - Dst: _cmsReadDevicelinkLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:580,1
    - Dst: ComputeConversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:585,1
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:588,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:589,1
    - Dst: AddConversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:593,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:600,1
    - Dst: _cmsReadOutputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:606,1
    - Dst: ComputeConversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:610,1
    - Dst: AddConversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:611,1
    - Dst: cmsPipelineCat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:617,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:620,1
    - Dst: _cmsStageClipNegatives
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:634,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:634,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:637,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:647,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:648,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:651,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 90
    argCount: 7
    argNames:
    - ContextID
    - nProfiles
    - TheIntents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 511
    functionDepth: 4
    functionLinenumber: 511
    functionLinenumberEnd: 652
    functionName: DefaultICCintents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 1
    functionsReached:
    - cmsPipelineInsertStage
    - cmsPipelineAlloc
    - _cmsMAT3identity
    - _cmsReadInputLUT
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - _cmsReadDevicelinkLUT
    - AddConversion
    - ColorSpaceIsCompatible
    - cmsChannelsOf
    - _cmsReadOutputLUT
    - _cmsVEC3init
    - ComputeConversion
    - cmsPipelineFree
    - _cmsStageClipNegatives
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - cmsGetPCS
    - cmsPipelineCat
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline * DefaultICCintents(cmsContext       ContextID,\n                               cmsUInt32Number
      \ nProfiles,\n                               cmsUInt32Number  TheIntents[],\n
      \                              cmsHPROFILE      hProfiles[],\n                               cmsBool
      \         BPC[],\n                               cmsFloat64Number AdaptationStates[],\n
      \                              cmsUInt32Number  dwFlags)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - Intent
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 688
    functionName: TranslateNonICCIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number TranslateNonICCIntents(cmsUInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:710,1
    - Dst: GrayOnlyParams*::cmyk2cmyk::Eval16Fn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:715,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 717
    functionName: BlackPreservingGrayOnlySampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsEvalToneCurve16
    - GrayOnlyParams*::cmyk2cmyk::Eval16Fn
    linkageType: ''
    returnType: int
    signature: int BlackPreservingGrayOnlySampler(cmsContext ContextID, CMSREGISTER
      const cmsUInt16Number In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void*
      Cargo)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TranslateNonICCIntents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:741,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:744,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:745,1
    - Dst: DefaultICCintents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:746,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:748,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:751,1
    - Dst: DefaultICCintents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:755,1
    - Dst: _cmsBuildKToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:766,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:779,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:782,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:786,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:790,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:794,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:795,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:801,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:802,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:803,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 7
    argNames:
    - ContextID
    - nProfiles
    - TheIntents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 720
    functionDepth: 5
    functionLinenumber: 720
    functionLinenumberEnd: 806
    functionName: BlackPreservingKOnlyIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsFreeToneCurve
    - cmsGetColorSpace
    - DefaultICCintents
    - _cmsBuildKToneCurve
    - cmsStageAllocCLut16bit
    - memset
    - cmsPipelineAlloc
    - cmsStageSampleCLut16bit
    - TranslateNonICCIntents
    - cmsPipelineFree
    - _cmsReasonableGridpointsByColorspace
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline *  BlackPreservingKOnlyIntents(cmsContext     ContextID,\n
      \                                         cmsUInt32Number nProfiles,\n                                          cmsUInt32Number
      TheIntents[],\n                                          cmsHPROFILE     hProfiles[],\n
      \                                         cmsBool         BPC[],\n                                          cmsFloat64Number
      AdaptationStates[],\n                                          cmsUInt32Number
      dwFlags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:842,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:848,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:853,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:857,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:860,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:866,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:870,1
    - Dst: cmsPipelineEvalReverseFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:874,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:897,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:898,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:899,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:900,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:903,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:904,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 909
    functionName: BlackPreservingSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    - cmsPipelineEvalReverseFloat
    - cmsDoTransform
    - fabsf
    - cmsDeltaE
    - _cmsQuickSaturateWord
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: int
    signature: int BlackPreservingSampler(cmsContext ContextID, CMSREGISTER const
      cmsUInt16Number In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TranslateNonICCIntents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:933,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:936,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:937,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:938,1
    - Dst: DefaultICCintents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:939,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:942,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:946,1
    - Dst: _cmsReadInputLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:950,1
    - Dst: cmsDetectTAC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:954,1
    - Dst: DefaultICCintents
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:959,1
    - Dst: _cmsBuildKToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:969,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:978,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:979,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:980,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:980,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:986,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:987,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:987,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:987,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:988,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:988,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:988,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:992,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:998,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1001,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1004,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1007,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1011,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1012,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1013,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1015,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1016,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 7
    argNames:
    - ContextID
    - nProfiles
    - TheIntents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 912
    functionDepth: 5
    functionLinenumber: 912
    functionLinenumberEnd: 1019
    functionName: BlackPreservingKPlaneIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageSampleCLut16bit
    - BYTES_SH
    - cmsPipelineAlloc
    - TranslateNonICCIntents
    - cmsFreeToneCurve
    - _cmsReadInputLUT
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - DefaultICCintents
    - memset
    - CHANNELS_SH
    - cmsCreateTransform
    - _cmsBuildKToneCurve
    - cmsCreateLab4Profile
    - cmsPipelineFree
    - cmsDeleteTransform
    - cmsDetectTAC
    - FLOAT_SH
    - cmsStageAllocCLut16bit
    - _cmsReasonableGridpointsByColorspace
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline * BlackPreservingKPlaneIntents(cmsContext     ContextID,\n
      \                                         cmsUInt32Number nProfiles,\n                                          cmsUInt32Number
      TheIntents[],\n                                          cmsHPROFILE     hProfiles[],\n
      \                                         cmsBool         BPC[],\n                                          cmsFloat64Number
      AdaptationStates[],\n                                          cmsUInt32Number
      dwFlags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1039,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1056,1
    - Dst: SearchIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1066,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1068,1
    - Dst: cmsIntentsList*::Link
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 7
    argNames:
    - ContextID
    - nProfiles
    - TheIntents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1026
    functionDepth: 3
    functionLinenumber: 1026
    functionLinenumberEnd: 1074
    functionName: _cmsLinkProfiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 0
    functionsReached:
    - cmsIntentsList*::Link
    - SearchIntent
    - cmsSignalError
    - cmsGetEncodedICCversion
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline * _cmsLinkProfiles(cmsContext     ContextID,\n                              cmsUInt32Number
      nProfiles,\n                              cmsUInt32Number TheIntents[],\n                              cmsHPROFILE
      \    hProfiles[],\n                              cmsBool         BPC[],\n                              cmsFloat64Number
      AdaptationStates[],\n                              cmsUInt32Number dwFlags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1083,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - ContextID
    - nMax
    - Codes
    - Descriptions
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1114
    functionName: cmsGetSupportedIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 1
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetSupportedIntents(cmsContext ContextID, cmsUInt32Number
      nMax, cmsUInt32Number* Codes, char** Descriptions)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1119,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1130,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c:1135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - id
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1144
    functionName: _cmsRegisterRenderingIntentPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscnvrt.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterRenderingIntentPlugin(cmsContext id, cmsPluginBase*
      Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMod
    argTypes:
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: compute_n
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number compute_n(cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMod
    argTypes:
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: compute_z
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number compute_z(cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pMod
    argTypes:
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: computeNbb
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number computeNbb(cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:81,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:82,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:82,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pMod
    argTypes:
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: computeFL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number computeFL(cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pMod
    argTypes:
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: computeD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number computeD(cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - clr
    argTypes:
    - CAM02COLOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: XYZtoCAT02
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR XYZtoCAT02(CAM02COLOR clr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 121
    functionName: ChromaticAdaptation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR ChromaticAdaptation(CAM02COLOR clr, cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - clr
    argTypes:
    - CAM02COLOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: CAT02toHPE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR CAT02toHPE(CAM02COLOR clr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:155,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 168
    functionName: NonlinearCompression
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR NonlinearCompression(CAM02COLOR clr, cmsCIECAM02* pMod)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: atan
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:186,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:188,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:192,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:197,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:220,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:223,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:224,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:226,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:230,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:230,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:231,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:231,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:233,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:234,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 237
    functionName: ComputeCorrelates
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - atan
    - pow
    - cos
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR ComputeCorrelates(CAM02COLOR clr, cmsCIECAM02* pMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:247,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:247,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:248,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:248,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:251,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:253,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:263,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:263,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:263,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:263,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:264,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:267,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:267,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:269,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:269,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:272,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:276,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:276,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:277,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 291
    functionName: InverseCorrelates
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    - fabs
    - cos
    - sin
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR InverseCorrelates(CAM02COLOR clr, cmsCIECAM02* pMod)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:303,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:303,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 309
    functionName: InverseNonlinearity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - pow
    - fabs
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR InverseNonlinearity(CAM02COLOR clr, cmsCIECAM02* pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - clr
    argTypes:
    - CAM02COLOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 330
    functionName: HPEtoCAT02
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR HPEtoCAT02(CAM02COLOR clr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - clr
    - pMod
    argTypes:
    - CAM02COLOR
    - cmsCIECAM02*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: InverseChromaticAdaptation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR InverseChromaticAdaptation(CAM02COLOR clr,  cmsCIECAM02*
      pMod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - clr
    argTypes:
    - CAM02COLOR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: CAT02toXYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CAM02COLOR
    signature: CAM02COLOR CAT02toXYZ(CAM02COLOR clr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:360,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:362,1
    - Dst: compute_n
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:403,1
    - Dst: compute_z
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:404,1
    - Dst: computeNbb
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:405,1
    - Dst: computeFL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:406,1
    - Dst: computeD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:409,1
    - Dst: XYZtoCAT02
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:414,1
    - Dst: ChromaticAdaptation
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:415,1
    - Dst: CAT02toHPE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:416,1
    - Dst: NonlinearCompression
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:417,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - ContextID
    - pVC
    argTypes:
    - cmsContext
    - cmsViewingConditions*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 421
    functionName: cmsCIECAM02Init
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - XYZtoCAT02
    - _cmsAssert
    - _cmsMallocZero
    - CAT02toHPE
    - ChromaticAdaptation
    - computeFL
    - compute_z
    - computeD
    - compute_n
    - NonlinearCompression
    - computeNbb
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsCIECAM02Init(cmsContext ContextID, const cmsViewingConditions*
      pVC)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hModel
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: cmsCIECAM02Done
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsCIECAM02Done(cmsContext ContextID, cmsHANDLE hModel)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:435,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:437,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:438,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:439,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:441,1
    - Dst: XYZtoCAT02
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:447,1
    - Dst: ChromaticAdaptation
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:448,1
    - Dst: CAT02toHPE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:449,1
    - Dst: NonlinearCompression
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:450,1
    - Dst: ComputeCorrelates
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - hModel
    - pIn
    - pOut
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsCIEXYZ*
    - cmsJCh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 456
    functionName: cmsCIECAM02Forward
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - XYZtoCAT02
    - _cmsAssert
    - cmsUNUSED_PARAMETER
    - ChromaticAdaptation
    - CAT02toHPE
    - memset
    - ComputeCorrelates
    - NonlinearCompression
    linkageType: ''
    returnType: void
    signature: void cmsCIECAM02Forward(cmsContext ContextID, cmsHANDLE hModel, const
      cmsCIEXYZ* pIn, cmsJCh* pOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:462,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:464,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:465,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:466,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:468,1
    - Dst: InverseCorrelates
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:474,1
    - Dst: InverseNonlinearity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:475,1
    - Dst: HPEtoCAT02
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:476,1
    - Dst: InverseChromaticAdaptation
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:477,1
    - Dst: CAT02toXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - hModel
    - pIn
    - pOut
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsJCh*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: cmsCIECAM02Reverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscam02.c
    functionUses: 0
    functionsReached:
    - CAT02toXYZ
    - _cmsAssert
    - InverseChromaticAdaptation
    - InverseNonlinearity
    - cmsUNUSED_PARAMETER
    - memset
    - InverseCorrelates
    - HPEtoCAT02
    linkageType: ''
    returnType: void
    signature: void cmsCIECAM02Reverse(cmsContext ContextID, cmsHANDLE hModel, const
      cmsJCh* pIn, cmsCIEXYZ* pOut)
  - 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: sinf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: sqrtf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqrtf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: _cmsALIGNLONG
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cmsALIGNLONG(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: _cmsALIGNMEM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cmsALIGNMEM(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: cmsUNUSED_PARAMETER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsUNUSED_PARAMETER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: isinf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: isinf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: FROM_8_TO_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_8_TO_16(rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: FROM_16_TO_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_16_TO_8(rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: _cmsAssert
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cmsAssert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: _cmsAssert
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cmsAssert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: _cmsAssert
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cmsAssert(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: FIXED_REST_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_REST_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: ROUND_FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_FIXED_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 150
    functionName: cmsS15Fixed16Number::_cmsToFixedDomain
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsS15Fixed16Number _cmsToFixedDomain(int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - cmsS15Fixed16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 151
    functionName: _cmsFromFixedDomain
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsFromFixedDomain(cmsS15Fixed16Number a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 178
    functionName: _cmsQuickFloor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 7
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsQuickFloor(cmsFloat64Number val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: cmsUInt16Number::_cmsQuickFloorWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - _cmsQuickFloor
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number _cmsQuickFloorWord(cmsFloat64Number d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUInt16Number::_cmsQuickFloorWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: cmsUInt16Number::_cmsQuickSaturateWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - cmsUInt16Number::_cmsQuickFloorWord
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number _cmsQuickSaturateWord(cmsFloat64Number d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: _cmsLockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: _cmsUnlockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsUnlockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: _cmsInitMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsInitMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 306
    functionName: _cmsDestroyMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsDestroyMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: _cmsEnterCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsEnterCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: _cmsLeaveCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLeaveCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: _cmsLockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: _cmsUnlockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsUnlockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 342
    functionName: _cmsInitMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsInitMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_destroy
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 347
    functionName: _cmsDestroyMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - pthread_mutex_destroy
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsDestroyMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: _cmsEnterCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - pthread_mutex_lock
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsEnterCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: _cmsLeaveCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLeaveCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: _cmsLockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: _cmsUnlockPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsUnlockPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: _cmsInitMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsInitMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: _cmsDestroyMutexPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsDestroyMutexPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 394
    functionName: _cmsEnterCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsEnterCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - m
    argTypes:
    - _cmsMutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: _cmsLeaveCriticalSectionPrimitive
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/lcms2_internal.h
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsLeaveCriticalSectionPrimitive(_cmsMutex *m)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:38,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:39,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:43,1
    - Dst: cmsMLUsetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:44,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:46,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:47,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:54,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:56,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Description
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 58
    functionName: SetTextTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsMLUfree
    - cmsMLUalloc
    - cmsWriteTag
    - cmsMLUsetWide
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetTextTags(cmsContext ContextID, cmsHPROFILE hProfile, const
      wchar_t* Description)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:65,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:81,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:82,1
    - Dst: _cmsWriteProfileSequence
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:84,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:90,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Model
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 93
    functionName: SetSeqDescTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsAllocProfileSequenceDescription
    - cmsMLUsetASCII
    - _cmsWriteProfileSequence
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetSeqDescTag(cmsContext ContextID, cmsHPROFILE hProfile, const
      char* Model)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:111,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:115,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:117,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:118,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:119,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:121,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:139,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:143,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:143,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:145,1
    - Dst: _cmsAdaptationMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:146,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:146,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:149,1
    - Dst: _cmsBuildRGB2XYZtransferMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:158,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:172,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:173,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:174,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:181,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:185,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:189,1
    - Dst: cmsLinkTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:194,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:198,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:203,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:211,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 82
    argCount: 4
    argNames:
    - ContextID
    - WhitePoint
    - Primaries
    - TransferFunction
    argTypes:
    - cmsContext
    - cmsCIExyY*
    - cmsCIExyYTRIPLE*
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 213
    functionName: cmsCreateRGBProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 1
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsSetProfileVersion
    - cmsD50_XYZ
    - cmsWriteTag
    - cmsSetDeviceClass
    - cmsCloseProfile
    - _cmsBuildRGB2XYZtransferMatrix
    - SetTextTags
    - cmsLinkTag
    - cmsxyY2XYZ
    - cmsSetPCS
    - _cmsAdaptationMatrix
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: "cmsHPROFILE cmsCreateRGBProfile(cmsContext ContextID,\n                                          const
      cmsCIExyY* WhitePoint,\n                                          const cmsCIExyYTRIPLE*
      Primaries,\n                                          cmsToneCurve* const TransferFunction[3])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:225,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:229,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:231,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:232,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:233,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:234,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:247,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:252,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:253,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:258,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:265,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 3
    argNames:
    - ContextID
    - WhitePoint
    - TransferFunction
    argTypes:
    - cmsContext
    - cmsCIExyY*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 267
    functionName: cmsCreateGrayProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 3
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsSetProfileVersion
    - cmsWriteTag
    - cmsSetDeviceClass
    - cmsCloseProfile
    - SetTextTags
    - cmsxyY2XYZ
    - cmsSetPCS
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: "cmsHPROFILE cmsCreateGrayProfile(cmsContext ContextID,\n                                           const
      cmsCIExyY* WhitePoint,\n                                           const cmsToneCurve*
      TransferFunction)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:282,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:286,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:288,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:289,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:290,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:292,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:295,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:298,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:303,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:303,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:307,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:308,1
    - Dst: SetSeqDescTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:309,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:312,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:318,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:320,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - ContextID
    - ColorSpace
    - TransferFunctions
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 324
    functionName: cmsCreateLinearizationDeviceLink
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 7
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsChannelsOf
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsWriteTag
    - SetSeqDescTag
    - cmsSetDeviceClass
    - cmsStageAllocToneCurves
    - cmsCloseProfile
    - cmsPipelineAlloc
    - SetTextTags
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: "cmsHPROFILE cmsCreateLinearizationDeviceLink(cmsContext ContextID,\n
      \                                                         cmsColorSpaceSignature
      ColorSpace,\n                                                          cmsToneCurve*
      const TransferFunctions[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:348,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:363,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:364,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 370
    functionName: InkLimitingSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: int
    signature: int InkLimitingSampler(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:384,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:390,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:396,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:400,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:402,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:403,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:404,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:406,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:410,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:414,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:416,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:419,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:421,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:421,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:422,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:423,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:423,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:427,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:429,1
    - Dst: SetSeqDescTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:430,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:433,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:440,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 3
    argNames:
    - ContextID
    - ColorSpace
    - Limit
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 446
    functionName: cmsCreateInkLimitingDeviceLink
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 3
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsChannelsOf
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsWriteTag
    - SetSeqDescTag
    - cmsSetDeviceClass
    - cmsSignalError
    - cmsCloseProfile
    - cmsStageSampleCLut16bit
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - SetTextTags
    - cmsSetPCS
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: "cmsHPROFILE cmsCreateInkLimitingDeviceLink(cmsContext ContextID,\n
      \                                                    cmsColorSpaceSignature
      ColorSpace,\n                                                     cmsFloat64Number
      Limit)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:455,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:455,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:458,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:460,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:461,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:462,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:464,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:467,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:470,1
    - Dst: _cmsStageAllocIdentityCLut
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:470,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:473,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:474,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:481,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:484,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ContextID
    - WhitePoint
    argTypes:
    - cmsContext
    - cmsCIExyY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 487
    functionName: cmsCreateLab2Profile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 4
    functionsReached:
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsD50_xyY
    - cmsCreateRGBProfile
    - cmsWriteTag
    - cmsSetDeviceClass
    - SetTextTags
    - cmsPipelineAlloc
    - cmsSetPCS
    - cmsPipelineFree
    - _cmsStageAllocIdentityCLut
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreateLab2Profile(cmsContext ContextID, const cmsCIExyY*
      WhitePoint)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:497,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:497,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:500,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:502,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:503,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:504,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:506,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:509,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:512,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:512,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:515,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:516,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:523,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:526,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - ContextID
    - WhitePoint
    argTypes:
    - cmsContext
    - cmsCIExyY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 529
    functionName: cmsCreateLab4Profile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 22
    functionsReached:
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsD50_xyY
    - cmsCreateRGBProfile
    - cmsWriteTag
    - cmsSetDeviceClass
    - SetTextTags
    - cmsPipelineAlloc
    - cmsSetPCS
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreateLab4Profile(cmsContext ContextID, const cmsCIExyY*
      WhitePoint)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:538,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:538,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:541,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:543,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:544,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:545,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:547,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:550,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:553,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:553,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:556,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:557,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:564,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:567,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 570
    functionName: cmsCreateXYZProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 5
    functionsReached:
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsD50_xyY
    - cmsCreateRGBProfile
    - cmsWriteTag
    - cmsSetDeviceClass
    - SetTextTags
    - cmsPipelineAlloc
    - cmsSetPCS
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreateXYZProfile(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 601
    functionName: Build_sRGBGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 2
    functionsReached:
    - cmsBuildParametricToneCurve
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * Build_sRGBGamma(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Build_sRGBGamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:616,1
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:619,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:620,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:623,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:624,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 604
    functionDepth: 2
    functionLinenumber: 604
    functionLinenumberEnd: 629
    functionName: cmsCreate_sRGBProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 20
    functionsReached:
    - cmsCreateRGBProfile
    - cmsFreeToneCurve
    - Build_sRGBGamma
    - SetTextTags
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreate_sRGBProfile(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:653,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:656,1
    - Dst: cmsLCh2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:665,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:669,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:670,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 678
    functionName: bchswSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsXYZ2Lab
    - cmsLab2XYZ
    - cmsLCh2Lab
    - cmsFloat2LabEncoded
    - cmsLabEncoded2Float
    - cmsLab2LCh
    linkageType: ''
    returnType: int
    signature: int bchswSampler(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:711,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:712,1
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:713,1
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:714,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:718,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:722,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:723,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:724,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:726,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:729,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:731,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:736,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:740,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:746,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:751,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:753,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:753,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:755,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:758,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:764,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 8
    argNames:
    - ContextID
    - nLUTPoints
    - Bright
    - Contrast
    - Hue
    - Saturation
    - TempSrc
    - TempDest
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 767
    functionName: cmsCreateBCHSWabstractProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 1
    functionsReached:
    - cmsSetHeaderRenderingIntent
    - cmsPipelineInsertStage
    - cmsD50_XYZ
    - cmsWriteTag
    - cmsSetDeviceClass
    - cmsWhitePointFromTemp
    - cmsCloseProfile
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageAllocCLut16bitGranular
    - SetTextTags
    - cmsxyY2XYZ
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: "cmsHPROFILE cmsCreateBCHSWabstractProfile(cmsContext ContextID,\n
      \                                                   cmsUInt32Number nLUTPoints,\n
      \                                                   cmsFloat64Number Bright,\n
      \                                                   cmsFloat64Number Contrast,\n
      \                                                   cmsFloat64Number Hue,\n
      \                                                   cmsFloat64Number Saturation,\n
      \                                                   cmsUInt32Number TempSrc,\n
      \                                                   cmsUInt32Number TempDest)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:783,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:787,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:789,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:792,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:793,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:794,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:797,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:800,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:801,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:802,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:803,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:805,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:808,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:808,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:811,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:814,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:815,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:815,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:817,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:823,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:826,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 829
    functionName: cmsCreateNULLProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 2
    functionsReached:
    - cmsSetProfileVersion
    - cmsPipelineInsertStage
    - cmsD50_XYZ
    - cmsWriteTag
    - cmsStageAllocMatrix
    - cmsSetDeviceClass
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - cmsStageAllocToneCurves
    - cmsCloseProfile
    - SetTextTags
    - cmsPipelineAlloc
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreateNULLProfile(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ColorSpace
    argTypes:
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 837
    functionName: IsPCS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsPCS(cmsColorSpaceSignature ColorSpace)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:848,1
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:848,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:850,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:851,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:852,1
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:856,1
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:856,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:858,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:859,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:860,1
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:864,1
    - Dst: IsPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:864,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:866,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:867,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:868,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:873,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:874,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - hProfile
    - ColorSpace
    - PCS
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsColorSpaceSignature
    - cmsColorSpaceSignature
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 876
    functionName: FixColorSpaces
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsSetPCS
    - cmsSetDeviceClass
    - IsPCS
    - cmsSetColorSpace
    linkageType: ''
    returnType: void
    signature: "void FixColorSpaces(cmsContext ContextID, cmsHPROFILE hProfile,\n
      \                             cmsColorSpaceSignature ColorSpace,\n                              cmsColorSpaceSignature
      PCS,\n                              cmsUInt32Number dwFlags)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:895,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:899,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:900,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:901,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:904,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:906,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:909,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:910,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:914,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:919,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:924,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:925,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:925,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:926,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:927,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:927,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:928,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:929,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:932,1
    - Dst: _cmsFindFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:940,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:944,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:947,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:948,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:953,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - ContextID
    - xform
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 955
    functionName: CreateNamedColorDevicelink
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - BYTES_SH
    - cmsSetPCS
    - cmsDupNamedColorList
    - cmsWriteTag
    - cmsDoTransform
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsFreeNamedColorList
    - CHANNELS_SH
    - cmsChannelsOf
    - _cmsFindFormatter
    - cmsNamedColorCount
    - _cmsGetFormatter
    - cmsGetNamedColorList
    - cmsSetColorSpace
    - cmsSetDeviceClass
    - cmsPipelineOutputChannels
    - cmsSignalError
    - cmsCloseProfile
    - FLOAT_SH
    - SetTextTags
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreateNamedColorDevicelink(cmsContext ContextID, cmsHTRANSFORM
      xform)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:998,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - Tab
    - Lut
    argTypes:
    - cmsContext
    - cmsAllowedLUT*
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1002
    functionName: CheckOne
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - cmsStageType
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckOne(cmsContext ContextID, const cmsAllowedLUT* Tab, const
      cmsPipeline* Lut)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckOne
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1017,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - Lut
    - IsV4
    - DestinationTag
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsBool
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1021
    functionName: FindCombination
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 0
    functionsReached:
    - CheckOne
    linkageType: ''
    returnType: cmsAllowedLUT
    signature: cmsAllowedLUT * FindCombination(cmsContext ContextID, const cmsPipeline*
      Lut, cmsBool IsV4, cmsTagSignature DestinationTag)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1037,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1040,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1045,1
    - Dst: CreateNamedColorDevicelink
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1046,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1051,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1057,1
    - Dst: _cmsStageAllocLabV2ToV4curves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1057,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1065,1
    - Dst: _cmsStageAllocLabV4ToV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1065,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1070,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1073,1
    - Dst: FixColorSpaces
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1075,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1079,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1080,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1082,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1083,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1085,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1085,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1085,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1086,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1086,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1086,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1088,1
    - Dst: FindCombination
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1099,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1104,1
    - Dst: FindCombination
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1105,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1116,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1119,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1121,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1121,1
    - Dst: cmsPipelineGetPtrToLastStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1124,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1126,1
    - Dst: _cmsStageAllocIdentityCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1126,1
    - Dst: FindCombination
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1129,1
    - Dst: cmsPipelineSetSaveAs8bitsFlag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1139,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1142,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1145,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1149,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1153,1
    - Dst: _cmsWriteProfileSequence
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1157,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1162,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1165,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1170,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1172,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1176,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c:1177,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 105
    argCount: 4
    argNames:
    - ContextID
    - hTransform
    - Version
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsFloat64Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1025
    functionDepth: 3
    functionLinenumber: 1025
    functionLinenumberEnd: 1179
    functionName: cmsTransform2DeviceLink
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsvirt.c
    functionUses: 1
    functionsReached:
    - cmsPipelineInsertStage
    - FixColorSpaces
    - cmsPipelineDup
    - BYTES_SH
    - cmsWriteTag
    - cmsGetDeviceClass
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsPipelineSetSaveAs8bitsFlag
    - CHANNELS_SH
    - _cmsStageAllocLabV2ToV4curves
    - cmsChannelsOf
    - cmsSetHeaderRenderingIntent
    - cmsSetProfileVersion
    - cmsStageType
    - _cmsAssert
    - FindCombination
    - _cmsStageAllocIdentityCurves
    - cmsPipelineFree
    - _cmsWriteProfileSequence
    - _cmsStageAllocLabV4ToV2
    - cmsCloseProfile
    - _cmsOptimizePipeline
    - cmsPipelineGetPtrToFirstStage
    - SetTextTags
    - cmsPipelineGetPtrToLastStage
    - CreateNamedColorDevicelink
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsTransform2DeviceLink(cmsContext ContextID, cmsHTRANSFORM
      hTransform, cmsFloat64Number Version, cmsUInt32Number dwFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: cmsD50_XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 8
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsCIEXYZ
    signature: cmsCIEXYZ * CMSEXPORT cmsD50_XYZ(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:43,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: cmsD50_xyY
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 6
    functionsReached:
    - cmsD50_XYZ
    - cmsXYZ2xyY
    linkageType: ''
    returnType: cmsCIExyY
    signature: cmsCIExyY * CMSEXPORT cmsD50_xyY(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:54,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:56,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - WhitePoint
    - TempK
    argTypes:
    - cmsContext
    - cmsCIExyY*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 93
    functionName: cmsWhitePointFromTemp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsSignalError
    - _cmsAssert
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsWhitePointFromTemp(cmsContext ContextID, cmsCIExyY* WhitePoint,
      cmsFloat64Number TempK)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:151,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:153,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:154,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - ContextID
    - TempK
    - WhitePoint
    argTypes:
    - cmsContext
    - cmsFloat64Number*
    - cmsCIExyY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 188
    functionName: cmsTempFromWhitePoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    - sqrt
    - _cmsAssert
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsTempFromWhitePoint(cmsContext ContextID, cmsFloat64Number*
      TempK, const cmsCIExyY* WhitePoint)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:208,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:210,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:214,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:218,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:219,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:222,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:223,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:224,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:228,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - Conversion
    - SourceWhitePoint
    - DestWhitePoint
    - Chad
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 232
    functionName: ComputeChromaticAdaptation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 0
    functionsReached:
    - _cmsVEC3init
    - _cmsMAT3per
    - _cmsMAT3eval
    - _cmsMAT3inverse
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ComputeChromaticAdaptation(cmsContext ContextID, cmsMAT3*
      Conversion,\n                                const cmsCIEXYZ* SourceWhitePoint,\n
      \                               const cmsCIEXYZ* DestWhitePoint,\n                                const
      cmsMAT3* Chad)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ComputeChromaticAdaptation
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:247,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - r
    - ConeMatrix
    - FromIll
    - ToIll
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsMAT3*
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 248
    functionName: _cmsAdaptationMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 2
    functionsReached:
    - ComputeChromaticAdaptation
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsAdaptationMatrix(cmsContext ContextID, cmsMAT3* r, const
      cmsMAT3* ConeMatrix, const cmsCIEXYZ* FromIll, const cmsCIEXYZ* ToIll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsxyY2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:258,1
    - Dst: _cmsAdaptationMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:260,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:260,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - r
    - SourceWhitePt
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsCIExyY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 266
    functionName: _cmsAdaptMatrixToD50
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 0
    functionsReached:
    - cmsD50_XYZ
    - _cmsAdaptationMatrix
    - _cmsMAT3per
    - cmsxyY2XYZ
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsAdaptMatrixToD50(cmsContext ContextID, cmsMAT3* r, const
      cmsCIExyY* SourceWhitePt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:300,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:301,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:302,1
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:306,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:310,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:313,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:316,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:317,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:318,1
    - Dst: _cmsAdaptMatrixToD50
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - ContextID
    - r
    - WhitePt
    - Primrs
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsCIExyY*
    - cmsCIExyYTRIPLE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 323
    functionName: _cmsBuildRGB2XYZtransferMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 1
    functionsReached:
    - _cmsAdaptMatrixToD50
    - _cmsVEC3init
    - _cmsMAT3eval
    - _cmsMAT3inverse
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsBuildRGB2XYZtransferMatrix(cmsContext ContextID, cmsMAT3*
      r, const cmsCIExyY* WhitePt, const cmsCIExyYTRIPLE* Primrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:336,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:337,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:338,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:339,1
    - Dst: _cmsAdaptationMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:341,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:343,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - Result
    - SourceWhitePt
    - Illuminant
    - Value
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 351
    functionName: cmsAdaptToIlluminant
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmswtpnt.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsAdaptationMatrix
    - _cmsMAT3eval
    - _cmsVEC3init
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsAdaptToIlluminant(cmsContext ContextID, cmsCIEXYZ* Result,\n
      \                                      const cmsCIEXYZ* SourceWhitePt,\n                                       const
      cmsCIEXYZ* Illuminant,\n                                       const cmsCIEXYZ*
      Value)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:55,1
    - Dst: cmsCreateExtendedTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:74,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 9
    argNames:
    - ContextID
    - nProfiles
    - InputFormat
    - OutputFormat
    - Intents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: _cmsChain2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsCreateExtendedTransform
    - cmsCreateLab4Profile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM _cmsChain2Lab(cmsContext            ContextID,\n                            cmsUInt32Number
      \       nProfiles,\n                            cmsUInt32Number        InputFormat,\n
      \                           cmsUInt32Number        OutputFormat,\n                            const
      cmsUInt32Number  Intents[],\n                            const cmsHPROFILE      hProfiles[],\n
      \                           const cmsBool          BPC[],\n                            const
      cmsFloat64Number AdaptationStates[],\n                            cmsUInt32Number
      \       dwFlags)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsChain2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:108,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:111,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:121,1
    - Dst: cmsBuildTabulatedToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:125,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:129,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 8
    argNames:
    - ContextID
    - nPoints
    - nProfiles
    - Intents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 133
    functionName: ComputeKToLstar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - _cmsCalloc
    - cmsBuildTabulatedToneCurveFloat
    - cmsDoTransform
    - _cmsChain2Lab
    - _cmsFree
    linkageType: ''
    returnType: cmsToneCurve
    signature: "cmsToneCurve * ComputeKToLstar(cmsContext            ContextID,\n
      \                              cmsUInt32Number       nPoints,\n                               cmsUInt32Number
      \      nProfiles,\n                               const cmsUInt32Number Intents[],\n
      \                              const cmsHPROFILE     hProfiles[],\n                               const
      cmsBool         BPC[],\n                               const cmsFloat64Number
      AdaptationStates[],\n                               cmsUInt32Number dwFlags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:151,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:152,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:156,1
    - Dst: ComputeKToLstar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:160,1
    - Dst: ComputeKToLstar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:163,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:170,1
    - Dst: cmsJoinToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:176,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:179,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:179,1
    - Dst: cmsIsToneCurveMonotonic
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:185,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:186,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 8
    argNames:
    - ContextID
    - nPoints
    - nProfiles
    - Intents
    - hProfiles
    - BPC
    - AdaptationStates
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 139
    functionDepth: 5
    functionLinenumber: 139
    functionLinenumberEnd: 191
    functionName: _cmsBuildKToneCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 2
    functionsReached:
    - cmsJoinToneCurve
    - cmsFreeToneCurve
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsIsToneCurveMonotonic
    - ComputeKToLstar
    linkageType: ''
    returnType: cmsToneCurve
    signature: "cmsToneCurve * _cmsBuildKToneCurve(cmsContext        ContextID,\n
      \                                  cmsUInt32Number   nPoints,\n                                   cmsUInt32Number
      \  nProfiles,\n                                   const cmsUInt32Number Intents[],\n
      \                                  const cmsHPROFILE hProfiles[],\n                                   const
      cmsBool     BPC[],\n                                   const cmsFloat64Number
      AdaptationStates[],\n                                   cmsUInt32Number   dwFlags)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:226,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:230,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:233,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:235,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:238,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:239,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:242,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:245,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:259,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:270,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 278
    functionName: GamutSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - _cmsQuickFloor
    - cmsDeltaE
    - memmove
    linkageType: ''
    returnType: int
    signature: int GamutSampler(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:308,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:312,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:316,1
    - Dst: cmsIsMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:324,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:348,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:350,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:351,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:352,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:352,1
    - Dst: cmsCreateExtendedTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:355,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:367,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:367,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:368,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:375,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:387,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:390,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:391,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:392,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:396,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:404,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:405,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:406,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:407,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 54
    argCount: 7
    argNames:
    - ContextID
    - hProfiles
    - BPC
    - Intents
    - AdaptationStates
    - nGamutPCSposition
    - hGamut
    argTypes:
    - cmsContext
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsUInt32Number[]
    - cmsFloat64Number[]
    - cmsUInt32Number
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 411
    functionName: _cmsCreateGamutCheckPipeline
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsIsMatrixShaper
    - cmsChannelsOf
    - cmsPipelineInsertStage
    - cmsDeleteTransform
    - cmsSignalError
    - cmsGetColorSpace
    - cmsCreateExtendedTransform
    - BYTES_SH
    - cmsStageAllocCLut16bit
    - memset
    - cmsPipelineAlloc
    - cmsCreateLab4Profile
    - cmsStageSampleCLut16bit
    - cmsCloseProfile
    - cmsPipelineFree
    - CHANNELS_SH
    - _cmsReasonableGridpointsByColorspace
    - cmsCreateTransform
    linkageType: ''
    returnType: cmsPipeline
    signature: "cmsPipeline * _cmsCreateGamutCheckPipeline(cmsContext ContextID,\n
      \                                         cmsHPROFILE hProfiles[],\n                                          cmsBool
      \ BPC[],\n                                          cmsUInt32Number Intents[],\n
      \                                         cmsFloat64Number AdaptationStates[],\n
      \                                         cmsUInt32Number nGamutPCSposition,\n
      \                                         cmsHPROFILE hGamut)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:436,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 455
    functionName: EstimateTAC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDoTransform
    linkageType: ''
    returnType: int
    signature: int EstimateTAC(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void * Cargo)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:467,1
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:472,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:474,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:480,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:483,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:486,1
    - Dst: cmsSliceSpace16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:495,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 503
    functionName: cmsDetectTAC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 3
    functionsReached:
    - cmsDeleteTransform
    - cmsSliceSpace16
    - cmsGetDeviceClass
    - cmsCreateLab4Profile
    - cmsFormatterForColorspaceOfProfile
    - cmsCreateTransform
    - T_CHANNELS
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsDetectTAC(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:547,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c:582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 6
    argNames:
    - ContextID
    - Lab
    - amax
    - amin
    - bmax
    - bmin
    argTypes:
    - cmsContext
    - cmsCIELab*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 589
    functionName: cmsDesaturateLab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgmt.c
    functionUses: 0
    functionsReached:
    - cmsSignalError
    - cmsLab2LCh
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsDesaturateLab(cmsContext ContextID, cmsCIELab* Lab,\n                                   double
      amax, double amin,\n                                   double bmax, double bmin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:107,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - y
    - x
    argTypes:
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 114
    functionName: _cmsAtan2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - atan2
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cmsAtan2(cmsFloat64Number y, cmsFloat64Number x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:127,1
    - Dst: _cmsAtan2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:134,1
    - Dst: _cmsAtan2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:135,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - sp
    - v
    argTypes:
    - cmsSpherical*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: ToSpherical
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - sqrt
    - _cmsAtan2
    linkageType: ''
    returnType: void
    signature: void ToSpherical(cmsSpherical* sp, const cmsVEC3* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:149,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:150,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:151,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - v
    - sp
    argTypes:
    - cmsVEC3*
    - cmsSpherical*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 161
    functionName: ToCartesian
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void ToCartesian(cmsVEC3* v, const cmsSpherical* sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:169,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - sp
    - alpha
    - theta
    argTypes:
    - cmsSpherical*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: QuantizeToSector
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void QuantizeToSector(const cmsSpherical* sp, int* alpha, int* theta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:184,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - line
    - a
    - b
    argTypes:
    - cmsContext
    - cmsLine*
    - cmsVEC3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: LineOf2Points
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - _cmsVEC3init
    linkageType: ''
    returnType: void
    signature: void LineOf2Points(cmsContext ContextID, cmsLine* line, cmsVEC3* a,
      cmsVEC3* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - p
    - line
    - t
    argTypes:
    - cmsVEC3*
    - cmsLine*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: GetPointOfLine
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void GetPointOfLine(cmsVEC3* p, const cmsLine* line, cmsFloat64Number
      t)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3minus
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:224,1
    - Dst: _cmsVEC3dot
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:226,1
    - Dst: _cmsVEC3dot
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:227,1
    - Dst: _cmsVEC3dot
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:228,1
    - Dst: _cmsVEC3dot
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:229,1
    - Dst: _cmsVEC3dot
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:230,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:288,1
    - Dst: GetPointOfLine
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:291,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 51
    argCount: 4
    argNames:
    - ContextID
    - r
    - line1
    - line2
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsLine*
    - cmsLine*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 293
    functionName: ClosestLineToLine
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - _cmsVEC3minus
    - GetPointOfLine
    - _cmsVEC3dot
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ClosestLineToLine(cmsContext ContextID, cmsVEC3* r, const cmsLine*
      line1, const cmsLine* line2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: cmsGBDAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 1
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsGBDAlloc(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hGBD
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 315
    functionName: cmsGBDFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 1
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsGBDFree(cmsContext ContextID, cmsHANDLE hGBD)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:326,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:327,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:328,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:331,1
    - Dst: ToSpherical
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:334,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:337,1
    - Dst: QuantizeToSector
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:342,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:345,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - ContextID
    - gbd
    - Lab
    - sp
    argTypes:
    - cmsContext
    - cmsGDB*
    - cmsCIELab*
    - cmsSpherical*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 351
    functionName: GetPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - ToSpherical
    - _cmsVEC3init
    - cmsSignalError
    - QuantizeToSector
    linkageType: ''
    returnType: cmsGDBPoint
    signature: cmsGDBPoint * GetPoint(cmsContext ContextID, cmsGDB* gbd, const cmsCIELab*
      Lab, cmsSpherical* sp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:363,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - hGBD
    - Lab
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 384
    functionName: cmsGDBAddPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 1
    functionsReached:
    - GetPoint
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsGDBAddPoint(cmsContext ContextID, cmsHANDLE hGBD, const
      cmsCIELab* Lab)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - hGBD
    - Lab
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 403
    functionName: cmsGDBCheckPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 1
    functionsReached:
    - GetPoint
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsGDBCheckPoint(cmsContext ContextID, cmsHANDLE hGBD, const
      cmsCIELab* Lab)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - gbd
    - alpha
    - theta
    - Close
    argTypes:
    - cmsGDB*
    - int
    - int
    - cmsGDBPoint*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 466
    functionName: FindNearSectors
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FindNearSectors(cmsGDB* gbd, int alpha, int theta, cmsGDBPoint*
      Close[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FindNearSectors
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:487,1
    - Dst: ToCartesian
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:496,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:499,1
    - Dst: LineOf2Points
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:500,1
    - Dst: ToCartesian
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:514,1
    - Dst: ToCartesian
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:515,1
    - Dst: LineOf2Points
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:517,1
    - Dst: ClosestLineToLine
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:520,1
    - Dst: ToSpherical
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:523,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - ContextID
    - gbd
    - alpha
    - theta
    argTypes:
    - cmsContext
    - cmsGDB*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 542
    functionName: InterpolateMissingSector
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - ToCartesian
    - _cmsVEC3init
    - ToSpherical
    - LineOf2Points
    - ClosestLineToLine
    - FindNearSectors
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool InterpolateMissingSector(cmsContext ContextID, cmsGDB* gbd,
      int alpha, int theta)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:552,1
    - Dst: InterpolateMissingSector
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:557,1
    - Dst: InterpolateMissingSector
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:563,1
    - Dst: InterpolateMissingSector
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:571,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:578,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - ContextID
    - hGBD
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 579
    functionName: cmsGDBCompute
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - cmsUNUSED_PARAMETER
    - InterpolateMissingSector
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsGDBCompute(cmsContext ContextID, cmsHANDLE hGBD, cmsUInt32Number
      dwFlags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:596,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:600,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:603,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:604,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:605,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:606,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:607,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:608,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:609,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:611,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:612,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:613,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:614,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:615,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:618,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:619,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:620,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:621,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:622,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:625,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:626,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:627,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:630,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:631,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:632,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:633,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:634,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:635,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:636,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:637,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:638,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:639,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:640,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:641,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:643,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:644,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:645,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:646,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:647,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:649,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:650,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:651,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:654,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:655,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:656,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:657,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:658,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:659,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:660,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:661,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:662,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:665,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:666,1
    - Dst: ToCartesian
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:675,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:677,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:680,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:682,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:686,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:691,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:692,1
    - Dst: ToCartesian
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:702,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:706,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:709,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:711,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:716,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:718,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:720,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:723,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:724,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:725,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:726,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c:728,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 92
    argCount: 2
    argNames:
    - hGBD
    - fname
    argTypes:
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 731
    functionName: cmsGBDdumpVRML
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssm.c
    functionUses: 0
    functionsReached:
    - ToCartesian
    - fprintf
    - fclose
    - fopen
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsGBDdumpVRML(cmsHANDLE hGBD, const char* fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:68,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:70,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:74,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:79,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:81,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ContextID
    - Dest
    - hProfile
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 90
    functionName: _cmsReadMediaWhitePoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 2
    functionsReached:
    - cmsD50_XYZ
    - _cmsAssert
    - cmsGetDeviceClass
    - cmsReadTag
    - cmsGetEncodedICCversion
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadMediaWhitePoint(cmsContext ContextID, cmsCIEXYZ* Dest,
      cmsHPROFILE hProfile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:98,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:100,1
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:108,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:111,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:113,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:115,1
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:119,1
    - Dst: _cmsAdaptationMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:123,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - ContextID
    - Dest
    - hProfile
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 128
    functionName: _cmsReadCHAD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 1
    functionsReached:
    - cmsD50_XYZ
    - _cmsAssert
    - cmsGetDeviceClass
    - cmsReadTag
    - _cmsMAT3identity
    - _cmsAdaptationMatrix
    - cmsGetEncodedICCversion
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadCHAD(cmsContext ContextID, cmsMAT3* Dest, cmsHPROFILE
      hProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:137,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:139,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:140,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:141,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:146,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:147,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - r
    - hProfile
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 151
    functionName: ReadICCMatrixRGB2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsReadTag
    - _cmsVEC3init
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadICCMatrixRGB2XYZ(cmsContext ContextID, cmsMAT3* r, cmsHPROFILE
      hProfile)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:161,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:164,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:168,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:175,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:184,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:184,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:185,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:185,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:186,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:190,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:195,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:195,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:196,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:196,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:203,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 205
    functionName: BuildGrayInputMatrixPipeline
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageAllocMatrix
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - cmsStageAllocToneCurves
    - cmsPipelineAlloc
    - cmsReadTag
    - cmsGetPCS
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * BuildGrayInputMatrixPipeline(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadICCMatrixRGB2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:216,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:227,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:228,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:229,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:234,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:237,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:237,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:238,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:238,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:244,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:246,1
    - Dst: _cmsStageAllocXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:246,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:255,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 257
    functionName: BuildRGBInputMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocXYZ2Lab
    - cmsStageAllocMatrix
    - cmsStageAllocToneCurves
    - cmsPipelineAlloc
    - cmsReadTag
    - ReadICCMatrixRGB2XYZ
    - cmsGetPCS
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * BuildRGBInputMatrixShaper(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:265,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:265,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:266,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:267,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:275,1
    - Dst: _cmsStageNormalizeToLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:275,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:280,1
    - Dst: _cmsStageNormalizeToXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:280,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:286,1
    - Dst: _cmsStageNormalizeFromLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:286,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:291,1
    - Dst: _cmsStageNormalizeFromXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:291,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - tagFloat
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 300
    functionName: _cmsReadFloatInputTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - _cmsStageNormalizeToLabFloat
    - cmsPipelineInsertStage
    - cmsPipelineDup
    - cmsGetColorSpace
    - _cmsStageNormalizeFromXyzFloat
    - cmsReadTag
    - _cmsStageNormalizeToXyzFloat
    - _cmsStageNormalizeFromLabFloat
    - cmsGetPCS
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * _cmsReadFloatInputTag(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsTagSignature tagFloat)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:414,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:417,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:420,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:422,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:426,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:428,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:428,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:432,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:432,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:436,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:436,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:439,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:443,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:444,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 446
    functionName: BuildGrayOutputPipeline
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageAllocMatrix
    - cmsFreeToneCurve
    - cmsStageAllocToneCurves
    - cmsPipelineAlloc
    - cmsReadTag
    - cmsGetPCS
    - cmsReverseToneCurve
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * BuildGrayOutputPipeline(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ReadICCMatrixRGB2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:457,1
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:460,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:471,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:472,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:473,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:478,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:479,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:480,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:483,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:487,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:493,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:495,1
    - Dst: _cmsStageAllocLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:495,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:499,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:499,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:500,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:500,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:504,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:507,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:508,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 510
    functionName: BuildRGBOutputMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsStageAllocLab2XYZ
    - cmsStageAllocMatrix
    - cmsStageAllocToneCurves
    - cmsReadTag
    - ReadICCMatrixRGB2XYZ
    - cmsPipelineAlloc
    - _cmsMAT3inverse
    - cmsGetPCS
    - cmsReverseToneCurve
    - cmsPipelineFree
    - cmsFreeToneCurveTriple
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * BuildRGBOutputMatrixShaper(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:519,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:521,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:523,1
    - Dst: _cmsSetInterpolationRoutine
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - Lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 514
    functionDepth: 3
    functionLinenumber: 514
    functionLinenumberEnd: 531
    functionName: ChangeInterpolationToTrilinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - _cmsSetInterpolationRoutine
    - cmsStageNext
    - cmsPipelineGetPtrToFirstStage
    - cmsStageType
    linkageType: ''
    returnType: void
    signature: void ChangeInterpolationToTrilinear(cmsContext ContextID, cmsPipeline*
      Lut)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:538,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:538,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:539,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:540,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:548,1
    - Dst: _cmsStageNormalizeToLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:548,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:554,1
    - Dst: _cmsStageNormalizeToXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:554,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:561,1
    - Dst: _cmsStageNormalizeFromLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:561,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:566,1
    - Dst: _cmsStageNormalizeFromXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:566,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:573,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - tagFloat
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 575
    functionName: _cmsReadFloatOutputTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - _cmsStageNormalizeToLabFloat
    - cmsPipelineInsertStage
    - cmsPipelineDup
    - cmsGetColorSpace
    - _cmsStageNormalizeFromXyzFloat
    - cmsReadTag
    - _cmsStageNormalizeToXyzFloat
    - _cmsStageNormalizeFromLabFloat
    - cmsGetPCS
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * _cmsReadFloatOutputTag(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsTagSignature tagFloat)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:660,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:660,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:661,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:662,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:668,1
    - Dst: _cmsStageNormalizeToLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:668,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:674,1
    - Dst: _cmsStageNormalizeToXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:674,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:680,1
    - Dst: _cmsStageNormalizeFromLabFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:680,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:686,1
    - Dst: _cmsStageNormalizeFromXyzFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:686,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:692,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - tagFloat
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 694
    functionName: _cmsReadFloatDevicelinkTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - _cmsStageNormalizeToLabFloat
    - cmsPipelineInsertStage
    - cmsPipelineDup
    - cmsGetColorSpace
    - _cmsStageNormalizeFromXyzFloat
    - cmsReadTag
    - _cmsStageNormalizeToXyzFloat
    - _cmsStageNormalizeFromLabFloat
    - cmsGetPCS
    - cmsPipelineFree
    linkageType: ''
    returnType: cmsPipeline
    signature: cmsPipeline * _cmsReadFloatDevicelinkTag(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsTagSignature tagFloat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:800,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:804,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:808,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:809,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:810,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:811,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:812,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 819
    functionName: cmsIsMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 1
    functionsReached:
    - cmsIsTag
    - cmsGetColorSpace
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsMatrixShaper(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:827,1
    - Dst: cmsGetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:828,1
    - Dst: cmsIsIntentSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:838,1
    - Dst: cmsIsIntentSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:839,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:842,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:846,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - Intent
    - UsedDirection
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 848
    functionName: cmsIsCLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsGetHeaderRenderingIntent
    - cmsSignalError
    - cmsGetDeviceClass
    - cmsIsIntentSupported
    - cmsIsTag
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsCLUT(cmsContext ContextID, cmsHPROFILE hProfile, cmsUInt32Number
      Intent, cmsUInt32Number UsedDirection)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:856,1
    - Dst: cmsIsMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - Intent
    - UsedDirection
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 864
    functionName: cmsIsIntentSupported
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 1
    functionsReached:
    - cmsIsMatrixShaper
    - cmsIsCLUT
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsIsIntentSupported(cmsContext ContextID, cmsHPROFILE hProfile,\n
      \                                       cmsUInt32Number Intent, cmsUInt32Number
      UsedDirection)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:879,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:882,1
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:886,1
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:887,1
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:890,1
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:892,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:898,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:899,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 903
    functionName: _cmsReadProfileSequence
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsDupProfileSequenceDescription
    - cmsReadTag
    - memmove
    - cmsMLUdup
    linkageType: ''
    returnType: cmsSEQ
    signature: cmsSEQ * _cmsReadProfileSequence(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:908,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:910,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:912,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - seq
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsSEQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 916
    functionName: _cmsWriteProfileSequence
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 2
    functionsReached:
    - cmsGetEncodedICCversion
    - cmsWriteTag
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteProfileSequence(cmsContext ContextID, cmsHPROFILE
      hProfile, const cmsSEQ* seq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:923,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - h
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 927
    functionName: GetMLUFromProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    - cmsMLUdup
    linkageType: ''
    returnType: cmsMLU
    signature: cmsMLU * GetMLUFromProfile(cmsContext ContextID, cmsHPROFILE h, cmsTagSignature
      sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:933,1
    - Dst: cmsGetHeaderAttributes
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:943,1
    - Dst: cmsGetHeaderProfileID
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:944,1
    - Dst: cmsGetHeaderManufacturer
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:945,1
    - Dst: cmsGetHeaderModel
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:946,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:948,1
    - Dst: GetMLUFromProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:954,1
    - Dst: GetMLUFromProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:955,1
    - Dst: GetMLUFromProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - ContextID
    - nProfiles
    - hProfiles
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsHPROFILE[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 961
    functionName: _cmsCompileProfileSequence
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsGetHeaderAttributes
    - cmsGetHeaderManufacturer
    - cmsAllocProfileSequenceDescription
    - cmsGetHeaderModel
    - cmsGetHeaderProfileID
    - cmsReadTag
    - GetMLUFromProfile
    linkageType: ''
    returnType: cmsSEQ
    signature: cmsSEQ * _cmsCompileProfileSequence(cmsContext ContextID, cmsUInt32Number
      nProfiles, cmsHPROFILE hProfiles[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:993,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Info
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsInfoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 994
    functionName: GetInfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsReadTag
    linkageType: ''
    returnType: cmsMLU
    signature: cmsMLU * GetInfo(cmsContext ContextID, cmsHPROFILE hProfile, cmsInfoType
      Info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:1002,1
    - Dst: cmsMLUgetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:1005,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - ContextID
    - hProfile
    - Info
    - LanguageCode
    - CountryCode
    - Buffer
    - BufferSize
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsInfoType
    - char[]
    - char[]
    - wchar_t*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 998
    functionDepth: 2
    functionLinenumber: 998
    functionLinenumberEnd: 1006
    functionName: cmsGetProfileInfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 1
    functionsReached:
    - cmsMLUgetWide
    - GetInfo
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsGetProfileInfo(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsInfoType Info,\n                                            const
      char LanguageCode[3], const char CountryCode[3],\n                                            wchar_t*
      Buffer, cmsUInt32Number BufferSize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:1013,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c:1016,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - ContextID
    - hProfile
    - Info
    - LanguageCode
    - CountryCode
    - Buffer
    - BufferSize
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsInfoType
    - char[]
    - char[]
    - char*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1017
    functionName: cmsGetProfileInfoASCII
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio1.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - GetInfo
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsGetProfileInfoASCII(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsInfoType Info,\n                                                          const
      char LanguageCode[3], const char CountryCode[3],\n                                                          char*
      Buffer, cmsUInt32Number BufferSize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:63,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: EvaluateIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: void
    signature: "void EvaluateIdentity(cmsContext ContextID, const cmsFloat32Number
      In[],\n                            cmsFloat32Number Out[],\n                      const
      cmsStage *mpe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - In
    - Out
    - n
    argTypes:
    - cmsFloat32Number[]
    - cmsUInt16Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: FromFloatTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: void
    signature: void FromFloatTo16(const cmsFloat32Number In[], cmsUInt16Number Out[],
      cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - In
    - Out
    - n
    argTypes:
    - cmsUInt16Number[]
    - cmsFloat32Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: From16ToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void From16ToFloat(const cmsUInt16Number In[], cmsFloat32Number Out[],
      cmsUInt32Number n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:117,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:119,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:126,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:129,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:139,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - ContextID
    - Lut
    - n
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 148
    functionName: cmsPipelineCheckAndRetreiveStages
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - va_start
    - va_arg
    - va_end
    - cmsPipelineStageCount
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsPipelineCheckAndRetreiveStages(cmsContext ContextID, const
      cmsPipeline* Lut, cmsUInt32Number n, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: _cmsStageGetPtrToCurveSet
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve ** _cmsStageGetPtrToCurveSet(const cmsStage* mpe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:172,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 182
    functionName: EvaluateCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: void
    signature: "void EvaluateCurves(cmsContext ContextID, const cmsFloat32Number In[],\n
      \                   cmsFloat32Number Out[],\n                    const cmsStage
      *mpe)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:190,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:198,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:201,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: CurveSetElemTypeFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsFreeToneCurve
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void CurveSetElemTypeFree(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:213,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:217,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:224,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:236,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:239,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:240,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 242
    functionName: CurveSetDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsCalloc
    - cmsDupToneCurve
    - cmsFreeToneCurve
    - _cmsMallocZero
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void * CurveSetDup(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:317,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 335
    functionName: EvaluateMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void EvaluateMatrix(cmsContext ContextID, const cmsFloat32Number In[],\n
      \                   cmsFloat32Number Out[],\n                    const cmsStage
      *mpe)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:346,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:351,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: MatrixElemDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * MatrixElemDup(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:368,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:371,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: MatrixElemTypeFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void MatrixElemTypeFree(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsStageCLutData*::Params::Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: EvaluateCLUTfloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsStageCLutData*::Params::Interpolation::LerpFloat
    linkageType: ''
    returnType: void
    signature: void EvaluateCLUTfloat(cmsContext ContextID, const cmsFloat32Number
      In[], cmsFloat32Number Out[], const cmsStage *mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:452,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:453,1
    - Dst: FromFloatTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:455,1
    - Dst: _cmsStageCLutData*::Params::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:456,1
    - Dst: From16ToFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 458
    functionName: EvaluateCLUTfloatIn16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsStageCLutData*::Params::Interpolation::Lerp16
    - From16ToFloat
    - FromFloatTo16
    linkageType: ''
    returnType: void
    signature: void EvaluateCLUTfloatIn16(cmsContext ContextID, const cmsFloat32Number
      In[], cmsFloat32Number Out[], const cmsStage *mpe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - Dims
    - b
    argTypes:
    - cmsUInt32Number[]
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 481
    functionName: CubeSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number CubeSize(const cmsUInt32Number Dims[], cmsUInt32Number
      b)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:490,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:499,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:503,1
    - Dst: _cmsComputeInterpParamsEx
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:509,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:520,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:521,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 483
    functionDepth: 4
    functionLinenumber: 483
    functionLinenumberEnd: 523
    functionName: CLUTElemDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    - _cmsComputeInterpParamsEx
    - _cmsMallocZero
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * CLUTElemDup(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:537,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:539,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 541
    functionName: CLutElemTypeFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - _cmsFreeInterpParams
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void CLutElemTypeFree(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 709
    functionName: IdentitySampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: int
    signature: int IdentitySampler(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void * Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i
    - MaxSamples
    argTypes:
    - cmsFloat64Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 742
    functionName: _cmsQuantizeVal
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 2
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number _cmsQuantizeVal(cmsFloat64Number i, cmsUInt32Number
      MaxSamples)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:771,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:772,1
    - Dst: CubeSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:774,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:787,1
    - Dst: Sampler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:795,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 5
    argNames:
    - ContextID
    - mpe
    - Sampler
    - Cargo
    - dwFlags
    argTypes:
    - cmsContext
    - cmsStage*
    - cmsSAMPLER16
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 747
    functionDepth: 2
    functionLinenumber: 747
    functionLinenumberEnd: 810
    functionName: cmsStageSampleCLut16bit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 15
    functionsReached:
    - Sampler
    - CubeSize
    - memset
    - _cmsQuantizeVal
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsStageSampleCLut16bit(cmsContext ContextID, cmsStage* mpe,
      cmsSAMPLER16 Sampler, void * Cargo, cmsUInt32Number dwFlags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CubeSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:831,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:844,1
    - Dst: Sampler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:852,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - ContextID
    - mpe
    - Sampler
    - Cargo
    - dwFlags
    argTypes:
    - cmsContext
    - cmsStage*
    - cmsSAMPLERFLOAT
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 867
    functionName: cmsStageSampleCLutFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - Sampler
    - CubeSize
    - _cmsQuantizeVal
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsStageSampleCLutFloat(cmsContext ContextID, cmsStage* mpe,
      cmsSAMPLERFLOAT Sampler, void * Cargo, cmsUInt32Number dwFlags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CubeSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:882,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:893,1
    - Dst: Sampler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:897,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - nInputs
    - clutPoints
    - Sampler
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsSAMPLER16
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 873
    functionDepth: 2
    functionLinenumber: 873
    functionLinenumberEnd: 902
    functionName: cmsSliceSpace16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - Sampler
    - CubeSize
    - _cmsQuantizeVal
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsSliceSpace16(cmsContext ContextID, cmsUInt32Number nInputs,
      const cmsUInt32Number clutPoints[],\n                                         cmsSAMPLER16
      Sampler, void * Cargo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CubeSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:913,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:924,1
    - Dst: Sampler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - nInputs
    - clutPoints
    - Sampler
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsSAMPLERFLOAT
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 933
    functionName: cmsSliceSpaceFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - Sampler
    - CubeSize
    - _cmsQuantizeVal
    linkageType: ''
    returnType: cmsInt32Number
    signature: "cmsInt32Number cmsSliceSpaceFloat(cmsContext ContextID, cmsUInt32Number
      nInputs, const cmsUInt32Number clutPoints[],\n                                            cmsSAMPLERFLOAT
      Sampler, void * Cargo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:954,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 965
    functionName: EvaluateLab2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsLab2XYZ
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void EvaluateLab2XYZ(cmsContext ContextID, const cmsFloat32Number
      In[],\n                     cmsFloat32Number Out[],\n                     const
      cmsStage *mpe)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:988,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:989,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:990,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:995,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1009,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 1015
    functionName: _cmsStageAllocLabV2ToV4curves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsStageAllocToneCurves
    - cmsBuildTabulatedToneCurve16
    - cmsFreeToneCurveTriple
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageAllocLabV2ToV4curves(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1070,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1075
    functionName: _cmsStageNormalizeFromLabFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - cmsStageAllocMatrix
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageNormalizeFromLabFloat(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1093
    functionName: _cmsStageNormalizeFromXyzFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - cmsStageAllocMatrix
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageNormalizeFromXyzFloat(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1113
    functionName: _cmsStageNormalizeToLabFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - cmsStageAllocMatrix
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageNormalizeToLabFloat(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1130
    functionName: _cmsStageNormalizeToXyzFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - cmsStageAllocMatrix
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageNormalizeToXyzFloat(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1143
    functionName: Clipper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void Clipper(cmsContext ContextID, const cmsFloat32Number In[], cmsFloat32Number
      Out[], const cmsStage *mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsStageAllocPlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - nChannels
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1149
    functionName: _cmsStageClipNegatives
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - _cmsStageAllocPlaceholder
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage *  _cmsStageClipNegatives(cmsContext ContextID, cmsUInt32Number
      nChannels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1168,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1178
    functionName: EvaluateXYZ2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsXYZ2Lab
    linkageType: ''
    returnType: void
    signature: void EvaluateXYZ2Lab(cmsContext ContextID, const cmsFloat32Number In[],
      cmsFloat32Number Out[], const cmsStage *mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1195,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1196,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1197,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1200
    functionName: _cmsStageAllocLabPrelin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsBuildParametricToneCurve
    - cmsBuildGamma
    - cmsStageAllocToneCurves
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * _cmsStageAllocLabPrelin(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsStage*::FreePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1207,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1210
    functionName: cmsStageFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsStage*::FreePtr
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsStageFree(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    functionName: cmsStageInputChannels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsStageInputChannels(cmsContext ContextID, const cmsStage*
      mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1223
    functionName: cmsStageOutputChannels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsStageOutputChannels(cmsContext ContextID, const
      cmsStage* mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1229
    functionName: cmsStageType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsStageSignature
    signature: cmsStageSignature cmsStageType(cmsContext ContextID, const cmsStage*
      mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1235
    functionName: cmsStageData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT cmsStageData(cmsContext ContextID, const cmsStage*
      mpe)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1295,1
    - Dst: cmsPipelineGetPtrToLastStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1296,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1318
    functionName: BlessLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - cmsPipelineGetPtrToFirstStage
    - cmsPipelineGetPtrToLastStage
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool BlessLUT(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: From16ToFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1330,1
    - Dst: cmsStage*::EvalPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1337,1
    - Dst: FromFloatTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1343
    functionName: _LUTeval16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - FromFloatTo16
    - From16ToFloat
    - cmsStage*::EvalPtr
    linkageType: ''
    returnType: void
    signature: void _LUTeval16(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[],  CMSREGISTER const void* D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1356,1
    - Dst: cmsStage*::EvalPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1363,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - cmsFloat32Number In
    - cmsFloat32Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1368
    functionName: _LUTevalFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - memmove
    - cmsStage*::EvalPtr
    linkageType: ''
    returnType: void
    signature: void _LUTevalFloat(cmsContext ContextID, CMSREGISTER const cmsFloat32Number
      In[], CMSREGISTER cmsFloat32Number Out[], const void* D)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1403,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1406
    functionName: cmsPipelineInputChannels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsPipelineInputChannels(cmsContext ContextID, const
      cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1410,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1413
    functionName: cmsPipelineOutputChannels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsPipelineOutputChannels(cmsContext ContextID, const
      cmsPipeline* lut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1427,1
    - Dst: cmsPipeline*::FreeDataFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1430,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1416
    functionDepth: 2
    functionLinenumber: 1416
    functionLinenumberEnd: 1433
    functionName: cmsPipelineFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 46
    functionsReached:
    - _cmsFree
    - cmsPipeline*::FreeDataFn
    - cmsStageFree
    linkageType: ''
    returnType: void
    signature: void cmsPipelineFree(cmsContext ContextID, cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1439,1
    - Dst: cmsPipeline*::Eval16Fn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - lut
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1441
    functionName: cmsPipelineEval16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 9
    functionsReached:
    - _cmsAssert
    - cmsPipeline*::Eval16Fn
    linkageType: ''
    returnType: void
    signature: void cmsPipelineEval16(cmsContext ContextID, const cmsUInt16Number
      In[], cmsUInt16Number Out[],  const cmsPipeline* lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1447,1
    - Dst: cmsPipeline*::EvalFloatFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - lut
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1449
    functionName: cmsPipelineEvalFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 4
    functionsReached:
    - _cmsAssert
    - cmsPipeline*::EvalFloatFn
    linkageType: ''
    returnType: void
    signature: void cmsPipelineEvalFloat(cmsContext ContextID, const cmsFloat32Number
      In[], cmsFloat32Number Out[], const cmsPipeline* lut)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BlessLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1539,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - ContextID
    - lut
    - loc
    - mpe
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsStageLoc
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1540
    functionName: cmsPipelineInsertStage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 46
    functionsReached:
    - BlessLUT
    linkageType: ''
    returnType: int
    signature: int cmsPipelineInsertStage(cmsContext ContextID, cmsPipeline* lut,
      cmsStageLoc loc, cmsStage* mpe)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1592,1
    - Dst: BlessLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - ContextID
    - lut
    - loc
    - mpe
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsStageLoc
    - cmsStage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1596
      start: 1543
    functionDepth: 2
    functionLinenumber: 1543
    functionLinenumberEnd: 1596
    functionName: cmsPipelineUnlinkStage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - BlessLUT
    - cmsStageFree
    linkageType: ''
    returnType: void
    signature: void cmsPipelineUnlinkStage(cmsContext ContextID, cmsPipeline* lut,
      cmsStageLoc loc, cmsStage** mpe)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1617,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1617,1
    - Dst: BlessLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1621,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - l1
    - l2
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1600
    functionDepth: 2
    functionLinenumber: 1600
    functionLinenumberEnd: 1622
    functionName: cmsPipelineCat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageDup
    - BlessLUT
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsPipelineCat(cmsContext ContextID, cmsPipeline* l1, const
      cmsPipeline* l2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - lut
    - 'On'
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1632
    functionName: cmsPipelineSetSaveAs8bitsFlag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsPipelineSetSaveAs8bitsFlag(cmsContext ContextID, cmsPipeline*
      lut, cmsBool On)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1652
    functionDepth: 1
    functionLinenumber: 1652
    functionLinenumberEnd: 1662
    functionName: cmsPipelineStageCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsPipelineStageCount(cmsContext ContextID, const cmsPipeline*
      lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1672,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Eval16
    - PrivateData
    - FreePrivateDataFn
    - DupPrivateDataFn
    argTypes:
    - cmsContext
    - cmsPipeline*
    - _cmsOPTeval16Fn
    - void*
    - _cmsFreeUserDataFn
    - _cmsDupUserDataFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1678
    functionName: _cmsPipelineSetOptimizationParameters
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void _cmsPipelineSetOptimizationParameters(cmsContext ContextID, cmsPipeline*
      Lut,\n                                        _cmsOPTeval16Fn Eval16,\n                                        void*
      PrivateData,\n                                        _cmsFreeUserDataFn FreePrivateDataFn,\n
      \                                       _cmsDupUserDataFn  DupPrivateDataFn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Val
    argTypes:
    - cmsFloat32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1707
    functionDepth: 0
    functionLinenumber: 1707
    functionLinenumberEnd: 1717
    functionName: IncDelta
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void IncDelta(cmsFloat32Number *Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrtf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - a
    - b
    - n
    argTypes:
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1734
    functionName: EuclideanDistance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 0
    functionsReached:
    - sqrtf
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number EuclideanDistance(cmsFloat32Number a[], cmsFloat32Number
      b[], int n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1786,1
    - Dst: EuclideanDistance
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1789,1
    - Dst: IncDelta
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1812,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1814,1
    - Dst: _cmsMAT3solve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c:1826,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 5
    argNames:
    - ContextID
    - Target
    - Result
    - Hint
    - lut
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1746
    functionDepth: 2
    functionLinenumber: 1746
    functionLinenumberEnd: 1843
    functionName: cmsPipelineEvalReverseFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmslut.c
    functionUses: 3
    functionsReached:
    - _cmsMAT3solve
    - cmsPipelineEvalFloat
    - EuclideanDistance
    - IncDelta
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsPipelineEvalReverseFloat(cmsContext ContextID,\n                                              cmsFloat32Number
      Target[],\n                                              cmsFloat32Number Result[],\n
      \                                             cmsFloat32Number Hint[],\n                                              const
      cmsPipeline* lut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: DSWAP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DSWAP(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - r
    - x
    - y
    - z
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: _cmsVEC3init
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 11
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void _cmsVEC3init(cmsContext ContextID, cmsVEC3* r, cmsFloat64Number
      x, cmsFloat64Number y, cmsFloat64Number z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - r
    - a
    - b
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsVEC3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: _cmsVEC3minus
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void _cmsVEC3minus(cmsContext ContextID, cmsVEC3* r, const cmsVEC3*
      a, const cmsVEC3* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - r
    - u
    - v
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsVEC3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: _cmsVEC3cross
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void _cmsVEC3cross(cmsContext ContextID, cmsVEC3* r, const cmsVEC3*
      u, const cmsVEC3* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - u
    - v
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: _cmsVEC3dot
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cmsVEC3dot(cmsContext ContextID, const cmsVEC3* u,
      const cmsVEC3* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:70,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: _cmsVEC3length
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - sqrt
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cmsVEC3length(cmsContext ContextID, const cmsVEC3*
      a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:83,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - a
    - b
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 86
    functionName: _cmsVEC3distance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - sqrt
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number _cmsVEC3distance(cmsContext ContextID, const cmsVEC3*
      a, const cmsVEC3* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:93,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:94,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 2
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: _cmsMAT3identity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 6
    functionsReached:
    - _cmsVEC3init
    linkageType: ''
    returnType: void
    signature: void _cmsMAT3identity(cmsContext ContextID, cmsMAT3* a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 102
    functionName: CloseEnough
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CloseEnough(cmsFloat64Number a, cmsFloat64Number b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:110,1
    - Dst: CloseEnough
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: _cmsMAT3isIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 1
    functionsReached:
    - CloseEnough
    - _cmsMAT3identity
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsMAT3isIdentity(cmsContext ContextID, const cmsMAT3* a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:126,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:126,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:126,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:126,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:127,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:127,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:127,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:127,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:128,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:128,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:128,1
    - Dst: ROWCOL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - r
    - a
    - b
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsMAT3*
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: _cmsMAT3per
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 3
    functionsReached:
    - ROWCOL
    - _cmsVEC3init
    linkageType: ''
    returnType: void
    signature: void _cmsMAT3per(cmsContext ContextID, cmsMAT3* r, const cmsMAT3* a,
      const cmsMAT3* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: ROWCOL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROWCOL(i, j)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:139,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - ContextID
    - a
    - b
    argTypes:
    - cmsContext
    - cmsMAT3*
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: _cmsMAT3inverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsMAT3inverse(cmsContext ContextID, const cmsMAT3* a, cmsMAT3*
      b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:168,1
    - Dst: _cmsMAT3inverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:170,1
    - Dst: _cmsMAT3eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - x
    - a
    - b
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: _cmsMAT3solve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 1
    functionsReached:
    - _cmsMAT3inverse
    - _cmsMAT3eval
    - memmove
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsMAT3solve(cmsContext ContextID, cmsVEC3* x, cmsMAT3* a,
      cmsVEC3* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - r
    - a
    - v
    argTypes:
    - cmsContext
    - cmsVEC3*
    - cmsMAT3*
    - cmsVEC3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: _cmsMAT3eval
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmtrx.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void _cmsMAT3eval(cmsContext ContextID, cmsVEC3* r, const cmsMAT3*
      a, const cmsVEC3* v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:36,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - longs
    argTypes:
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: byteReverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached:
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: void
    signature: void byteReverse(cmsUInt8Number * buf, cmsUInt32Number longs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: F1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F1(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: F2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: F3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F3(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: F4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F4(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - f
    - ','
    - w
    - ','
    - x
    - ','
    - y
    - ','
    - z
    - ','
    - data
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: STEP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(f, w, x, y, z, data, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:76,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:77,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:78,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:79,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:80,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:81,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:82,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:83,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:84,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:85,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:86,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:87,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:88,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:89,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:90,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:91,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:93,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:94,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:95,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:96,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:97,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:98,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:99,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:100,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:101,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:102,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:103,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:104,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:105,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:106,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:107,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:108,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:110,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:111,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:112,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:113,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:114,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:115,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:116,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:117,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:118,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:119,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:120,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:121,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:122,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:123,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:124,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:125,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:127,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:128,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:129,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:130,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:131,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:132,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:133,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:134,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:135,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:136,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:137,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:138,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:139,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:140,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:141,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 73
    argCount: 2
    argNames:
    - buf
    - in
    argTypes:
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 148
    functionName: cmsMD5_Transform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached:
    - STEP
    linkageType: ''
    returnType: void
    signature: void cmsMD5_Transform(cmsUInt32Number buf[4], cmsUInt32Number in[16])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: cmsMD5alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsMD5alloc(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:188,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:192,1
    - Dst: byteReverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:193,1
    - Dst: cmsMD5_Transform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:195,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:201,1
    - Dst: byteReverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:202,1
    - Dst: cmsMD5_Transform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:203,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - Handle
    - buf
    - len
    argTypes:
    - cmsHANDLE
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 209
    functionName: cmsMD5add
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached:
    - cmsMD5_Transform
    - byteReverse
    - memmove
    linkageType: ''
    returnType: void
    signature: void cmsMD5add(cmsHANDLE Handle, const cmsUInt8Number* buf, cmsUInt32Number
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:227,1
    - Dst: byteReverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:228,1
    - Dst: cmsMD5_Transform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:229,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:231,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:233,1
    - Dst: byteReverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:235,1
    - Dst: cmsMD5_Transform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:240,1
    - Dst: byteReverse
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:242,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:243,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - ProfileID
    - Handle
    argTypes:
    - cmsContext
    - cmsProfileID*
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 246
    functionName: cmsMD5finish
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 0
    functionsReached:
    - cmsMD5_Transform
    - byteReverse
    - memmove
    - memset
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsMD5finish(cmsContext ContextID, cmsProfileID* ProfileID,  cmsHANDLE
      Handle)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:262,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:265,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:268,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:270,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:273,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:276,1
    - Dst: cmsSaveProfileToMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:280,1
    - Dst: cmsMD5alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:283,1
    - Dst: cmsMD5add
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:287,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:290,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:293,1
    - Dst: cmsMD5finish
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:296,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:303,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c:304,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 306
    functionName: cmsMD5computeID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsmd5.c
    functionUses: 1
    functionsReached:
    - cmsSaveProfileToMem
    - _cmsAssert
    - cmsMD5add
    - memmove
    - cmsMD5alloc
    - _cmsMalloc
    - cmsMD5finish
    - memset
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsMD5computeID(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - h
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 517
    functionName: _cmsHalf2Float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmshalf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number _cmsHalf2Float(cmsUInt16Number h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - flt
    argTypes:
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 533
    functionName: _cmsFloat2Half
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmshalf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number _cmsFloat2Half(cmsFloat32Number flt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsRealloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - mlu
    argTypes:
    - cmsContext
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 86
    functionName: GrowMLUpool
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsRealloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GrowMLUpool(cmsContext ContextID, cmsMLU* mlu)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsRealloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ContextID
    - mlu
    argTypes:
    - cmsContext
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 112
    functionName: GrowMLUtable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsRealloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GrowMLUtable(cmsContext ContextID, cmsMLU* mlu)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - mlu
    - LanguageCode
    - CountryCode
    argTypes:
    - cmsMLU*
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 133
    functionName: SearchMLUEntry
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SearchMLUEntry(cmsMLU* mlu, cmsUInt16Number LanguageCode, cmsUInt16Number
      CountryCode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GrowMLUtable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:149,1
    - Dst: SearchMLUEntry
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:153,1
    - Dst: GrowMLUpool
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:158,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - ContextID
    - mlu
    - size
    - Block
    - LanguageCode
    - CountryCode
    argTypes:
    - cmsContext
    - cmsMLU*
    - cmsUInt32Number
    - wchar_t*
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 177
    functionName: AddMLUBlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - GrowMLUpool
    - GrowMLUtable
    - SearchMLUEntry
    - memmove
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool AddMLUBlock(cmsContext ContextID, cmsMLU* mlu, cmsUInt32Number
      size, const wchar_t *Block,\n                     cmsUInt16Number LanguageCode,
      cmsUInt16Number CountryCode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: strTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number strTo16(const char str[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - n
    argTypes:
    - char[]
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 198
    functionName: strFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void strFrom16(char str[3], cmsUInt16Number n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:203,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:206,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:207,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:211,1
    - Dst: AddMLUBlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:217,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - mlu
    - LanguageCode
    - CountryCode
    - ASCIIString
    argTypes:
    - cmsContext
    - cmsMLU*
    - char[]
    - char[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 222
    functionName: cmsMLUsetASCII
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 6
    functionsReached:
    - _cmsCalloc
    - strlen
    - strTo16
    - _cmsFree
    - AddMLUBlock
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsMLUsetASCII(cmsContext ContextID, cmsMLU* mlu, const char
      LanguageCode[3], const char CountryCode[3], const char* ASCIIString)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: mywcslen
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number mywcslen(const wchar_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:240,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:241,1
    - Dst: mywcslen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:247,1
    - Dst: AddMLUBlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - mlu
    - Language
    - Country
    - WideString
    argTypes:
    - cmsContext
    - cmsMLU*
    - char[]
    - char[]
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 249
    functionName: cmsMLUsetWide
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 5
    functionsReached:
    - strTo16
    - mywcslen
    - AddMLUBlock
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsMLUsetWide(cmsContext ContextID, cmsMLU* mlu, const char
      Language[3], const char Country[3], const wchar_t* WideString)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:302,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:303,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - mlu
    argTypes:
    - cmsContext
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: cmsMLUfree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 8
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsMLUfree(cmsContext ContextID, cmsMLU* mlu)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 6
    argNames:
    - mlu
    - len
    - LanguageCode
    - CountryCode
    - UsedLanguageCode
    - UsedCountryCode
    argTypes:
    - cmsMLU*
    - cmsUInt32Number*
    - cmsUInt16Number
    - cmsUInt16Number
    - cmsUInt16Number*
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 358
    functionName: _cmsMLUgetWide
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wchar_t
    signature: "wchar_t * _cmsMLUgetWide(const cmsMLU* mlu,\n                              cmsUInt32Number
      *len,\n                              cmsUInt16Number LanguageCode, cmsUInt16Number
      CountryCode,\n                              cmsUInt16Number* UsedLanguageCode,
      cmsUInt16Number* UsedCountryCode)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:370,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:371,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:372,1
    - Dst: _cmsMLUgetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:378,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - ContextID
    - mlu
    - LanguageCode
    - CountryCode
    - Buffer
    - BufferSize
    argTypes:
    - cmsContext
    - cmsMLU*
    - char[]
    - char[]
    - char*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 405
    functionName: cmsMLUgetASCII
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 10
    functionsReached:
    - cmsUNUSED_PARAMETER
    - strTo16
    - _cmsMLUgetWide
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsMLUgetASCII(cmsContext ContextID, const cmsMLU*
      mlu,\n                                       const char LanguageCode[3], const
      char CountryCode[3],\n                                       char* Buffer, cmsUInt32Number
      BufferSize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:415,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:416,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:417,1
    - Dst: _cmsMLUgetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:422,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - ContextID
    - mlu
    - LanguageCode
    - CountryCode
    - Buffer
    - BufferSize
    argTypes:
    - cmsContext
    - cmsMLU*
    - char[]
    - char[]
    - wchar_t*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 439
    functionName: cmsMLUgetWide
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 3
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    - strTo16
    - _cmsMLUgetWide
    linkageType: ''
    returnType: cmsUInt32Number
    signature: "cmsUInt32Number cmsMLUgetWide(cmsContext ContextID, const cmsMLU*
      mlu,\n                                      const char LanguageCode[3], const
      char CountryCode[3],\n                                      wchar_t* Buffer,
      cmsUInt32Number BufferSize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:449,1
    - Dst: strTo16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:450,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:452,1
    - Dst: _cmsMLUgetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:457,1
    - Dst: strFrom16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:461,1
    - Dst: strFrom16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - ContextID
    - mlu
    - LanguageCode
    - CountryCode
    - ObtainedLanguage
    - ObtainedCountry
    argTypes:
    - cmsContext
    - cmsMLU*
    - char[]
    - char[]
    - char[]
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 465
    functionName: cmsMLUgetTranslation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - strTo16
    - _cmsMLUgetWide
    - strFrom16
    linkageType: ''
    returnType: CMSAPI
    signature: "CMSAPI cmsMLUgetTranslation(cmsContext ContextID, const cmsMLU* mlu,\n
      \                                             const char LanguageCode[3], const
      char CountryCode[3],\n                                              char ObtainedLanguage[3],
      char ObtainedCountry[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - mlu
    argTypes:
    - cmsContext
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: cmsMLUtranslationsCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsMLUtranslationsCount(cmsContext ContextID, const
      cmsMLU* mlu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:485,1
    - Dst: strFrom16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:493,1
    - Dst: strFrom16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - mlu
    - idx
    - LanguageCode
    - CountryCode
    argTypes:
    - cmsContext
    - cmsMLU*
    - cmsUInt32Number
    - char[]
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 497
    functionName: cmsMLUtranslationsCodes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - strFrom16
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsMLUtranslationsCodes(cmsContext ContextID,\n                                          const
      cmsMLU* mlu,\n                                          cmsUInt32Number idx,\n
      \                                         char LanguageCode[3],\n                                          char
      CountryCode[3])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:518,1
    - Dst: _cmsRealloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:523,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - ContextID
    - v
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 530
    functionName: GrowNamedColorList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsRealloc
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GrowNamedColorList(cmsContext ContextID, cmsNAMEDCOLORLIST*
      v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:562,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - v
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 564
    functionName: cmsFreeNamedColorList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 4
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsFreeNamedColorList(cmsContext ContextID, cmsNAMEDCOLORLIST*
      v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GrowNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:603,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - NamedColorList
    - Name
    - PCS
    - Colorant
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    - char*
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 624
    functionName: cmsAppendNamedColor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 3
    functionsReached:
    - GrowNamedColorList
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsAppendNamedColor(cmsContext ContextID, cmsNAMEDCOLORLIST*
      NamedColorList,\n                                       const char* Name,\n
      \                                      cmsUInt16Number PCS[3], cmsUInt16Number
      Colorant[cmsMAXCHANNELS])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - NamedColorList
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: cmsNamedColorCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsNamedColorCount(cmsContext ContextID, const cmsNAMEDCOLORLIST*
      NamedColorList)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:644,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:647,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:648,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:649,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:651,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:654,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 8
    argNames:
    - ContextID
    - NamedColorList
    - nColor
    - Name
    - Prefix
    - Suffix
    - PCS
    - Colorant
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    - cmsUInt32Number
    - char*
    - char*
    - char*
    - cmsUInt16Number*
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 659
    functionName: cmsNamedColorInfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 4
    functionsReached:
    - memmove
    - strcpy
    - cmsNamedColorCount
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsNamedColorInfo(cmsContext ContextID, const cmsNAMEDCOLORLIST*
      NamedColorList, cmsUInt32Number nColor,\n                                     char*
      Name,\n                                     char* Prefix,\n                                     char*
      Suffix,\n                                     cmsUInt16Number* PCS,\n                                     cmsUInt16Number*
      Colorant)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:668,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - NamedColorList
    - Name
    argTypes:
    - cmsContext
    - cmsNAMEDCOLORLIST*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 675
    functionName: cmsNamedColorIndex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 1
    functionsReached:
    - cmsstrcasecmp
    - cmsNamedColorCount
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number cmsNamedColorIndex(cmsContext ContextID, const cmsNAMEDCOLORLIST*
      NamedColorList, const char* Name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 684
    functionName: FreeNamedColorList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 5
    functionsReached:
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: void
    signature: void FreeNamedColorList(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 686
    functionDepth: 0
    functionLinenumber: 686
    functionLinenumberEnd: 691
    functionName: DupNamedColorList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - cmsDupNamedColorList
    linkageType: ''
    returnType: void
    signature: void * DupNamedColorList(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:697,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 710
    functionName: EvalNamedColorPCS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    - cmsSignalError
    linkageType: ''
    returnType: void
    signature: void EvalNamedColorPCS(cmsContext ContextID, const cmsFloat32Number
      In[], cmsFloat32Number Out[], const cmsStage *mpe)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:716,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - mpe
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 728
    functionName: EvalNamedColor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    - cmsSignalError
    linkageType: ''
    returnType: void
    signature: void EvalNamedColor(cmsContext ContextID, const cmsFloat32Number In[],
      cmsFloat32Number Out[], const cmsStage *mpe)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:794,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:795,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:796,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:799,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:800,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - ContextID
    - pseq
    argTypes:
    - cmsContext
    - cmsSEQ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 801
    functionName: cmsFreeProfileSequenceDescription
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 3
    functionsReached:
    - cmsMLUfree
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsFreeProfileSequenceDescription(cmsContext ContextID, cmsSEQ*
      pseq)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:856,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 861
    functionName: cmsDictAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsDictAlloc(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:869,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:875,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:876,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:877,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:878,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:882,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - ContextID
    - hDict
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 888
    functionName: cmsDictFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - cmsMLUfree
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsDictFree(cmsContext ContextID, cmsHANDLE hDict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:896,1
    - Dst: mywcslen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 897
    functionName: DupWcs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - mywcslen
    - _cmsDupMem
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t * DupWcs(cmsContext ContextID, const wchar_t* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:905,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:906,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:908,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:911,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:912,1
    - Dst: DupWcs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:913,1
    - Dst: DupWcs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - ContextID
    - hDict
    - Name
    - Value
    - DisplayName
    - DisplayValue
    argTypes:
    - cmsContext
    - cmsHANDLE
    - wchar_t*
    - wchar_t*
    - cmsMLU*
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 920
    functionName: cmsDictAddEntry
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - DupWcs
    - _cmsMallocZero
    - cmsMLUdup
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsDictAddEntry(cmsContext ContextID, cmsHANDLE hDict, const
      wchar_t* Name, const wchar_t* Value, const cmsMLU *DisplayName, const cmsMLU
      *DisplayValue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:930,1
    - Dst: cmsDictAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:932,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:939,1
    - Dst: cmsDictFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - hDict
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 924
    functionDepth: 3
    functionLinenumber: 924
    functionLinenumberEnd: 949
    functionName: cmsDictDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsDictFree
    - cmsDictAlloc
    - cmsDictAddEntry
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsDictDup(cmsContext ContextID, cmsHANDLE hDict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - hDict
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 959
    functionName: cmsDictGetEntryList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsDICTentry
    signature: cmsDICTentry * CMSEXPORT cmsDictGetEntryList(cmsContext ContextID,
      cmsHANDLE hDict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - e
    argTypes:
    - cmsContext
    - cmsDICTentry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 967
    functionName: cmsDictNextEntry
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsnamed.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsDICTentry
    signature: cmsDICTentry * CMSEXPORT cmsDictNextEntry(cmsContext ContextID, const
      cmsDICTentry* e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:79,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:86,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:102,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 103
    functionName: DupPluginCurvesList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupPluginCurvesList(struct _cmsContext_struct* ctx,\n                                               const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:109,1
    - Dst: DupPluginCurvesList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:114,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: _cmsAllocCurvesPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    - DupPluginCurvesList
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocCurvesPluginChunk(struct _cmsContext_struct* ctx,\n
      \                               const struct _cmsContext_struct* src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:129,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:139,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:151,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: _cmsRegisterParametricCurvesPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    - memmove
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterParametricCurvesPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - Type
    - c
    argTypes:
    - int
    - _cmsParametricCurvesCollection*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: IsInSet
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: int
    signature: int IsInSet(int Type, _cmsParametricCurvesCollection* c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:182,1
    - Dst: IsInSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:186,1
    - Dst: IsInSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:197,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - ContextID
    - Type
    - index
    argTypes:
    - cmsContext
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: GetParametricCurveByType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - IsInSet
    linkageType: ''
    returnType: _cmsParametricCurvesCollection
    signature: _cmsParametricCurvesCollection *GetParametricCurveByType(cmsContext
      ContextID, int Type, int* index)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:222,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:227,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:232,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:241,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:244,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:256,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:275,1
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:282,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:284,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:287,1
    - Dst: GetParametricCurveByType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:292,1
    - Dst: _cmsComputeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:298,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:303,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:304,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:305,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:306,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:307,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 5
    argNames:
    - ContextID
    - nEntries
    - nSegments
    - Segments
    - Values
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsCurveSegment*
    - cmsUInt16Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 309
    functionName: AllocateToneCurveStruct
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - GetParametricCurveByType
    - _cmsCalloc
    - _cmsDupMem
    - _cmsComputeInterpParams
    - cmsSignalError
    - _cmsMallocZero
    - memmove
    - _cmsFree
    linkageType: ''
    returnType: cmsToneCurve
    signature: "cmsToneCurve * AllocateToneCurveStruct(cmsContext ContextID, cmsUInt32Number
      nEntries,\n                                      cmsUInt32Number nSegments,
      const cmsCurveSegment* Segments,\n                                      const
      cmsUInt16Number* Values)"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:317,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:325,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:331,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:338,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:345,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:348,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:358,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:371,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:385,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:386,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:395,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:409,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:424,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:440,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:451,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:472,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:485,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:486,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:487,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:497,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:501,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:519,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:533,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:534,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:547,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:567,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:573,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:583,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:592,1
    - Dst: log10
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:596,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:604,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:605,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:606,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:612,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:612,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:620,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:632,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:633,1
    - Dst: log
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:639,1
    - Dst: log
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:639,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:646,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:649,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:649,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:658,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:658,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 188
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Params
    - R
    argTypes:
    - cmsContext
    - cmsInt32Number
    - cmsFloat64Number[]
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 667
    functionName: DefaultEvalParametricFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - pow
    - log
    - cmsUNUSED_PARAMETER
    - log10
    - fabs
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number DefaultEvalParametricFn(cmsContext ContextID, cmsInt32Number
      Type, const cmsFloat64Number Params[], cmsFloat64Number R)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Interpolation::LerpFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:691,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:699,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:703,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - ContextID
    - g
    - R
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 712
    functionName: EvalSegmentedFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - isinf
    - Interpolation::LerpFloat
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number EvalSegmentedFn(cmsContext ContextID, const cmsToneCurve
      *g, cmsFloat64Number R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:717,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 720
    functionName: cmsGetToneCurveEstimatedTableEntries
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetToneCurveEstimatedTableEntries(cmsContext ContextID,
      const cmsToneCurve* t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:724,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 727
    functionName: cmsGetToneCurveEstimatedTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number * CMSEXPORT cmsGetToneCurveEstimatedTable(cmsContext
      ContextID, const cmsToneCurve* t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:740,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Gamma
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 742
    functionName: EntriesByGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number EntriesByGamma(cmsFloat64Number Gamma)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:865,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:868,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:877,1
    - Dst: _cmsFreeInterpParams
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:881,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:884,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:885,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:889,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ContextID
    - Curve
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 892
    functionName: cmsFreeToneCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 43
    functionsReached:
    - _cmsFreeInterpParams
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsFreeToneCurve(cmsContext ContextID, cmsToneCurve* Curve)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:898,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:900,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:901,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - Curve
    argTypes:
    - cmsContext
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 905
    functionName: cmsFreeToneCurveTriple
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 3
    functionsReached:
    - _cmsAssert
    - cmsFreeToneCurve
    linkageType: ''
    returnType: void
    signature: void cmsFreeToneCurveTriple(cmsContext ContextID, cmsToneCurve* Curve[3])
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 3
    argNames:
    - In
    - LutTable
    - p
    argTypes:
    - cmsFloat64Number
    - cmsUInt16Number[]
    - struct _cms_interp_struc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 963
    functionDepth: 0
    functionLinenumber: 963
    functionLinenumberEnd: 1008
    functionName: GetInterval
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int GetInterval(cmsFloat64Number In, const cmsUInt16Number LutTable[],
      const struct _cms_interp_struc* p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1103,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1104,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1105,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1145,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1146,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1147,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 6
    argNames:
    - ContextID
    - w
    - y
    - z
    - lambda
    - m
    argTypes:
    - cmsContext
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsFloat32Number[]
    - cmsFloat32Number
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1150
    functionName: smooth2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    - _cmsCalloc
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool smooth2(cmsContext ContextID, cmsFloat32Number w[], cmsFloat32Number
      y[],\n                cmsFloat32Number z[], cmsFloat32Number lambda, int m)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1161,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1167,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1168,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1169,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1173,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1174,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1175,1
    - Dst: smooth2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1183,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1194,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1202,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1208,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1217,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1223,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1229,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1234,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1237,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1240,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1244,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 65
    argCount: 3
    argNames:
    - ContextID
    - Tab
    - lambda
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1256
    functionName: cmsSmoothToneCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - _cmsCalloc
    - smooth2
    - cmsSignalError
    - memset
    - _cmsQuickSaturateWord
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsSmoothToneCurve(cmsContext ContextID, cmsToneCurve* Tab,
      cmsFloat64Number lambda)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1264,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1266,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1270,1
    - Dst: _cmsQuantizeVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - Curve
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1276
    functionName: cmsIsToneCurveLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 8
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsQuantizeVal
    - abs
    - _cmsAssert
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsToneCurveLinear(cmsContext ContextID, const cmsToneCurve*
      Curve)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1285,1
    - Dst: cmsIsToneCurveDescending
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1292,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1322
    functionName: cmsIsToneCurveMonotonic
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - cmsIsToneCurveDescending
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsToneCurveMonotonic(cmsContext ContextID, const cmsToneCurve*
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1327,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1331
    functionName: cmsIsToneCurveDescending
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsToneCurveDescending(cmsContext ContextID, const cmsToneCurve*
      t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1337,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1341
    functionName: cmsIsToneCurveMultisegment
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsToneCurveMultisegment(cmsContext ContextID, const cmsToneCurve*
      t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1345,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1346,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - t
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1350
    functionName: cmsGetToneCurveParametricType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number cmsGetToneCurveParametricType(cmsContext ContextID,
      const cmsToneCurve* t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1355,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1362,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1363,1
    - Dst: EvalSegmentedFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - Curve
    - v
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1369
    functionName: cmsEvalToneCurveFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 12
    functionsReached:
    - _cmsAssert
    - _cmsQuickSaturateWord
    - cmsEvalToneCurve16
    - EvalSegmentedFn
    linkageType: ''
    returnType: cmsFloat32Number
    signature: cmsFloat32Number cmsEvalToneCurveFloat(cmsContext ContextID, const
      cmsToneCurve* Curve, cmsFloat32Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1376,1
    - Dst: cmsToneCurve*::InterpParams::Interpolation::Lerp16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - Curve
    - v
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1380
    functionName: cmsEvalToneCurve16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 5
    functionsReached:
    - _cmsAssert
    - cmsToneCurve*::InterpParams::Interpolation::Lerp16
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number cmsEvalToneCurve16(cmsContext ContextID, const cmsToneCurve*
      Curve, cmsUInt16Number v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1406,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1414,1
    - Dst: log
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1421,1
    - Dst: log
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1421,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c:1429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ContextID
    - t
    - Precision
    argTypes:
    - cmsContext
    - cmsToneCurve*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1400
    functionDepth: 2
    functionLinenumber: 1400
    functionLinenumberEnd: 1435
    functionName: cmsEstimateGamma
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsgamma.c
    functionUses: 4
    functionsReached:
    - _cmsAssert
    - sqrt
    - log
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsEstimateGamma(cmsContext ContextID, const cmsToneCurve*
      t, cmsFloat64Number Precision)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 52
    functionName: _cmsAllocAdaptationStateChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocAdaptationStateChunk(struct _cmsContext_struct* ctx,\n
      \                                  const struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - d
    argTypes:
    - cmsContext
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: cmsSetAdaptationState
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsSetAdaptationState(cmsContext ContextID, cmsFloat64Number
      d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:90,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:92,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - AlarmCodesP
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 95
    functionName: cmsSetAlarmCodes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - _cmsContextGetClientChunk
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cmsSetAlarmCodes(cmsContext ContextID, const cmsUInt16Number AlarmCodesP[cmsMAXCHANNELS])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:101,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:103,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - AlarmCodesP
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: cmsGetAlarmCodes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - _cmsContextGetClientChunk
    - memcpy
    linkageType: ''
    returnType: void
    signature: void cmsGetAlarmCodes(cmsContext ContextID, cmsUInt16Number AlarmCodesP[cmsMAXCHANNELS])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 124
    functionName: _cmsAllocAlarmCodesChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocAlarmCodesChunk(struct _cmsContext_struct* ctx,\n                              const
      struct _cmsContext_struct* src)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:140,1
    - Dst: _cmsAdjustReferenceCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:142,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:143,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:149,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:152,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:155,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:158,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:161,1
    - Dst: _cmsTRANSFORMCORE*::FreeUserData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:164,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:166,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - ContextID
    - hTransform
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 167
    functionName: cmsDeleteTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 58
    functionsReached:
    - _cmsAssert
    - _cmsTRANSFORMCORE*::FreeUserData
    - cmsFreeProfileSequenceDescription
    - cmsPipelineFree
    - _cmsFree
    - cmsFreeNamedColorList
    - _cmsAdjustReferenceCount
    linkageType: ''
    returnType: void
    signature: void cmsDeleteTransform(cmsContext ContextID, cmsHTRANSFORM hTransform)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Format
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 181
    functionName: PixelSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number PixelSize(cmsUInt32Number Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:198,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:199,1
    - Dst: _cmsTRANSFORM*::xform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - Transform
    - InputBuffer
    - OutputBuffer
    - Size
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - void*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: cmsDoTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 50
    functionsReached:
    - _cmsTRANSFORM*::xform
    - PixelSize
    linkageType: ''
    returnType: void
    signature: "void cmsDoTransform(cmsContext ContextID, cmsHTRANSFORM  Transform,\n
      \                             const void* InputBuffer,\n                              void*
      OutputBuffer,\n                              cmsUInt32Number Size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsTRANSFORM*::xform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - ContextID
    - Transform
    - InputBuffer
    - OutputBuffer
    - Size
    - Stride
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 221
    functionName: cmsDoTransformStride
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - _cmsTRANSFORM*::xform
    linkageType: ''
    returnType: void
    signature: "void cmsDoTransformStride(cmsContext ContextID, cmsHTRANSFORM  Transform,\n
      \                             const void* InputBuffer,\n                              void*
      OutputBuffer,\n                              cmsUInt32Number Size, cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsTRANSFORM*::xform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - ContextID
    - Transform
    - InputBuffer
    - OutputBuffer
    - PixelsPerLine
    - LineCount
    - BytesPerLineIn
    - BytesPerLineOut
    - BytesPerPlaneIn
    - BytesPerPlaneOut
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 244
    functionName: cmsDoTransformLineStride
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - _cmsTRANSFORM*::xform
    linkageType: ''
    returnType: void
    signature: "void cmsDoTransformLineStride(cmsContext ContextID, cmsHTRANSFORM
      \ Transform,\n                              const void* InputBuffer,\n                              void*
      OutputBuffer,\n                              cmsUInt32Number PixelsPerLine,\n
      \                             cmsUInt32Number LineCount,\n                              cmsUInt32Number
      BytesPerLineIn,\n                              cmsUInt32Number BytesPerLineOut,\n
      \                             cmsUInt32Number BytesPerPlaneIn,\n                              cmsUInt32Number
      BytesPerPlaneOut)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHandleExtraChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:267,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:271,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:272,1
    - Dst: _cmsTRANSFORM*::FromInputFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:281,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:287,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:299,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:305,1
    - Dst: _cmsTRANSFORM*::ToOutputFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 316
    functionName: FloatXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - cmsPipelineEvalFloat
    - _cmsTRANSFORM*::FromInputFloat
    - _cmsHandleExtraChannels
    - memset
    - _cmsTRANSFORM*::ToOutputFloat
    linkageType: ''
    returnType: void
    signature: "void FloatXFORM(cmsContext ContextID, _cmsTRANSFORM* p,\n                const
      void* in,\n                void* out,\n                cmsUInt32Number PixelsPerLine,\n
      \               cmsUInt32Number LineCount,\n                const cmsStride*
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHandleExtraChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:333,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:337,1
    - Dst: _cmsTRANSFORM*::FromInputFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:346,1
    - Dst: _cmsTRANSFORM*::ToOutputFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:347,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 353
    functionName: NullFloatXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsHandleExtraChannels
    - memset
    - _cmsTRANSFORM*::ToOutputFloat
    - _cmsTRANSFORM*::FromInputFloat
    linkageType: ''
    returnType: void
    signature: "void NullFloatXFORM(cmsContext ContextID, _cmsTRANSFORM* p,\n                    const
      void* in,\n                    void* out,\n                    cmsUInt32Number
      PixelsPerLine,\n                    cmsUInt32Number LineCount,\n                    const
      cmsStride* Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHandleExtraChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:372,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:376,1
    - Dst: _cmsTRANSFORM*::FromInput
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:385,1
    - Dst: _cmsTRANSFORM*::ToOutput
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 393
    functionName: NullXFORM
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsHandleExtraChannels
    - memset
    - _cmsTRANSFORM*::FromInput
    - _cmsTRANSFORM*::ToOutput
    linkageType: ''
    returnType: void
    signature: "void NullXFORM(cmsContext ContextID,\n               _cmsTRANSFORM*
      p,\n               const void* in,\n               void* out,\n               cmsUInt32Number
      PixelsPerLine,\n               cmsUInt32Number LineCount,\n               const
      cmsStride* Stride)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:413,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:422,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:425,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:425,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:429,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 433
    functionName: PrecalculatedXFORMIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - memmove
    - cmsUNUSED_PARAMETER
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: void
    signature: "void PrecalculatedXFORMIdentity(cmsContext ContextID,\n                                _cmsTRANSFORM*
      p,\n                                const void* in,\n                                void*
      out,\n                                cmsUInt32Number PixelsPerLine,\n                                cmsUInt32Number
      LineCount,\n                                const cmsStride* Stride)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:452,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:463,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:467,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:467,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 481
    functionName: PrecalculatedXFORMIdentityPlanar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - memmove
    - cmsUNUSED_PARAMETER
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: void
    signature: "void PrecalculatedXFORMIdentityPlanar(cmsContext ContextID,\n                                      _cmsTRANSFORM*
      p,\n                                      const void* in,\n                                      void*
      out,\n                                      cmsUInt32Number PixelsPerLine,\n
      \                                     cmsUInt32Number LineCount,\n                                      const
      cmsStride* Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsTRANSFORMCORE*::GamutCheck::Eval16Fn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:492,1
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:497,1
    - Dst: _cmsTRANSFORMCORE*::Lut::Eval16Fn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - p
    - wIn
    - wOut
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: TransformOnePixelWithGamutCheck
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsTRANSFORMCORE*::Lut::Eval16Fn
    - _cmsTRANSFORMCORE*::GamutCheck::Eval16Fn
    linkageType: ''
    returnType: void
    signature: "void TransformOnePixelWithGamutCheck(cmsContext ContextID, _cmsTRANSFORM*
      p,\n                                     const cmsUInt16Number wIn[],\n                                     cmsUInt16Number
      wOut[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 561
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 565
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 581
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 597
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 607
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 643
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 659
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 693
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 693
    functionDepth: 0
    functionLinenumber: 693
    functionLinenumberEnd: 699
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 718
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 724
    functionDepth: 0
    functionLinenumber: 724
    functionLinenumberEnd: 730
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 737
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 750
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 767
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 771
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 790
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 803
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 809
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 822
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - D
    - ','
    - S
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 842
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,D,S,Z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - S
    - ','
    - D
    - ','
    - Z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 849
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,S,D,Z)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:882,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 899
    functionName: DupPluginTransformList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupPluginTransformList(struct _cmsContext_struct* ctx,\n                                               const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupPluginTransformList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:908,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:912,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 914
    functionName: _cmsAllocTransformPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    - DupPluginTransformList
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocTransformPluginChunk(struct _cmsContext_struct* ctx,\n
      \                                       const struct _cmsContext_struct* src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHandleExtraChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:928,1
    - Dst: struct _cmstransform_struct*::OldXform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - InputBuffer
    - OutputBuffer
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 943
    functionName: _cmsTransform2toTransformAdaptor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsHandleExtraChannels
    - struct _cmstransform_struct*::OldXform
    linkageType: ''
    returnType: void
    signature: "void _cmsTransform2toTransformAdaptor(cmsContext ContextID, struct
      _cmstransform_struct *CMMcargo,\n                                      const
      void* InputBuffer,\n                                      void* OutputBuffer,\n
      \                                     cmsUInt32Number PixelsPerLine,\n                                      cmsUInt32Number
      LineCount,\n                                      const cmsStride* Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:952,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:965,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 985
    functionName: _cmsRegisterTransformPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterTransformPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - CMMcargo
    - ptr
    - FreePrivateDataFn
    argTypes:
    - struct _cmstransform_struct*
    - void*
    - _cmsFreeUserDataFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: _cmsSetTransformUserData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsSetTransformUserData(struct _cmstransform_struct *CMMcargo,
      void* ptr, _cmsFreeUserDataFn FreePrivateDataFn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - CMMcargo
    argTypes:
    - struct _cmstransform_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1000
    functionName: _cmsGetTransformUserData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsGetTransformUserData(struct _cmstransform_struct
      *CMMcargo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1005,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - CMMcargo
    - FromInput
    - ToOutput
    argTypes:
    - struct _cmstransform_struct*
    - cmsFormatter16*
    - cmsFormatter16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: _cmsGetTransformFormatters16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsGetTransformFormatters16(struct _cmstransform_struct *CMMcargo,
      cmsFormatter16* FromInput, cmsFormatter16* ToOutput)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1012,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - CMMcargo
    - FromInput
    - ToOutput
    argTypes:
    - struct _cmstransform_struct*
    - cmsFormatterFloat*
    - cmsFormatterFloat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1015
    functionName: _cmsGetTransformFormattersFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void _cmsGetTransformFormattersFloat(struct _cmstransform_struct *CMMcargo,
      cmsFormatterFloat* FromInput, cmsFormatterFloat* ToOutput)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1028,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1028,1
    - Dst: _cmsLutIsIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1029,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1030,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1042,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1042,1
    - Dst: _cmsLutIsIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1043,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1045,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1051,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1055,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1055,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1055,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1056,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1056,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1056,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1057,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1057,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1058,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1058,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1059,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1059,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1059,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1059,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1062,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1062,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1062,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1062,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1065,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1065,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1065,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1065,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1068,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1068,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1068,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1068,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1071,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1071,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1071,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1071,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1074,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1074,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1074,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1074,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1077,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1077,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1077,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1077,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1080,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1080,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1080,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1080,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1083,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1083,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1083,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1083,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1086,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1086,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1086,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1086,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1089,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1089,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1089,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1089,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1092,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1092,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1092,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1092,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1095,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1095,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1095,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1095,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1098,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1098,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1098,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1098,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1101,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1101,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1101,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1101,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1104,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1104,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1104,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1104,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1107,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1107,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1107,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1107,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1110,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1110,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1110,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1110,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1116,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 94
    argCount: 4
    argNames:
    - p
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - _cmsTRANSFORM*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1124
    functionName: _cmsFindFormatter
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - T_EXTRA
    - _cmsLutIsIdentity
    - T_PLANAR
    - BYTES_SH
    - COLORSPACE_SH
    - CHANNELS_SH
    - T_CHANNELS
    linkageType: ''
    returnType: void
    signature: void _cmsFindFormatter(_cmsTRANSFORM* p, cmsUInt32Number InputFormat,
      cmsUInt32Number OutputFormat, cmsUInt32Number dwFlags)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1132,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1137,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1139,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1143,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1145,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1146,1
    - Dst: _cmsTransformCollection*::Factory
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1162,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1177,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1178,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1179,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1180,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1192,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1196,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1196,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1199,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1200,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1205,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1206,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1230,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1231,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1235,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1236,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1240,1
    - Dst: _cmsFindFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1246,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 6
    argNames:
    - ContextID
    - lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1128
    functionDepth: 4
    functionLinenumber: 1128
    functionLinenumberEnd: 1254
    functionName: AllocEmptyTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsFormatterIsFloat
    - _cmsFindFormatter
    - cmsDeleteTransform
    - _cmsGetFormatter
    - _cmsContextGetClientChunk
    - cmsSignalError
    - _cmsMallocZero
    - _cmsOptimizePipeline
    - _cmsTransformCollection*::Factory
    - cmsPipelineFree
    - _cmsFree
    - T_BYTES
    linkageType: ''
    returnType: _cmsTRANSFORM
    signature: "_cmsTRANSFORM * AllocEmptyTransform(cmsContext ContextID, cmsPipeline*
      lut,\n                                               cmsUInt32Number Intent,
      cmsUInt32Number* InputFormat, cmsUInt32Number* OutputFormat, cmsUInt32Number*
      dwFlags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1266,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1278,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1283,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1283,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1288,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1289,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1293,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1294,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 5
    argNames:
    - ContextID
    - nProfiles
    - hProfiles
    - Input
    - Output
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsHPROFILE[]
    - cmsColorSpaceSignature*
    - cmsColorSpaceSignature*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1306
    functionName: GetXFormColorSpaces
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - cmsGetDeviceClass
    - cmsGetPCS
    - cmsGetColorSpace
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GetXFormColorSpaces(cmsContext ContextID, cmsUInt32Number nProfiles,
      cmsHPROFILE hProfiles[], cmsColorSpaceSignature* Input, cmsColorSpaceSignature*
      Output)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1312,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1313,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - Check
    - dwFormat
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1322
    functionName: IsProperColorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - _cmsLCMScolorSpace
    - T_COLORSPACE
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsProperColorSpace(cmsContext ContextID, cmsColorSpaceSignature
      Check, cmsUInt32Number dwFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - Dest
    argTypes:
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1340
    functionName: NormalizeXYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void NormalizeXYZ(cmsCIEXYZ* Dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NormalizeXYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - wtPt
    - src
    argTypes:
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1358
    functionName: SetWhitePoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - NormalizeXYZ
    linkageType: ''
    returnType: void
    signature: void SetWhitePoint(cmsCIEXYZ* wtPt, const cmsCIEXYZ* src)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: AllocEmptyTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1381,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1390,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1390,1
    - Dst: GetXFormColorSpaces
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1394,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1395,1
    - Dst: IsProperColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1400,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1401,1
    - Dst: IsProperColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1405,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1406,1
    - Dst: _cmsLinkProfiles
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1411,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1413,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1418,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1418,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1419,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1419,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1420,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1421,1
    - Dst: AllocEmptyTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1427,1
    - Dst: SetWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1438,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1438,1
    - Dst: SetWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1439,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1439,1
    - Dst: _cmsCreateGamutCheckPipeline
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1444,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1452,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1455,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1455,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1459,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1462,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1465,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1465,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1470,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1472,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1472,1
    - Dst: _cmsCompileProfileSequence
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1478,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1486,1
    - Dst: TransformOnePixelWithGamutCheck
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1489,1
    - Dst: _cmsTRANSFORM*::core::Lut::Eval16Fn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1493,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 11
    argNames:
    - ContextID
    - nProfiles
    - hProfiles
    - BPC
    - Intents
    - AdaptationStates
    - hGamutProfile
    - nGamutPCSposition
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsHPROFILE[]
    - cmsBool[]
    - cmsUInt32Number[]
    - cmsFloat64Number[]
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1361
    functionDepth: 5
    functionLinenumber: 1361
    functionLinenumberEnd: 1499
    functionName: cmsCreateExtendedTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - GetXFormColorSpaces
    - IsProperColorSpace
    - TransformOnePixelWithGamutCheck
    - AllocEmptyTransform
    - cmsDupNamedColorList
    - _cmsCreateGamutCheckPipeline
    - cmsPipelineInputChannels
    - cmsGetDeviceClass
    - memset
    - cmsChannelsOf
    - _cmsCompileProfileSequence
    - cmsReadTag
    - cmsPipelineFree
    - _cmsFormatterIsFloat
    - SetWhitePoint
    - cmsPipelineOutputChannels
    - cmsSignalError
    - _cmsLinkProfiles
    - _cmsTRANSFORM*::core::Lut::Eval16Fn
    - cmsIsTag
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM cmsCreateExtendedTransform(cmsContext ContextID,\n                                                   cmsUInt32Number
      nProfiles, cmsHPROFILE hProfiles[],\n                                                   cmsBool
      \ BPC[],\n                                                   cmsUInt32Number
      Intents[],\n                                                   cmsFloat64Number
      AdaptationStates[],\n                                                   cmsHPROFILE
      hGamutProfile,\n                                                   cmsUInt32Number
      nGamutPCSposition,\n                                                   cmsUInt32Number
      InputFormat,\n                                                   cmsUInt32Number
      OutputFormat,\n                                                   cmsUInt32Number
      dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1516,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1523,1
    - Dst: cmsCreateExtendedTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1527,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - ContextID
    - hProfiles
    - nProfiles
    - InputFormat
    - OutputFormat
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHPROFILE[]
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1502
    functionDepth: 6
    functionLinenumber: 1502
    functionLinenumberEnd: 1528
    functionName: cmsCreateMultiprofileTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 2
    functionsReached:
    - cmsCreateExtendedTransform
    - cmsSignalError
    - cmsSetAdaptationState
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM cmsCreateMultiprofileTransform(cmsContext ContextID,\n
      \                                                      cmsHPROFILE hProfiles[],\n
      \                                                      cmsUInt32Number nProfiles,\n
      \                                                      cmsUInt32Number InputFormat,\n
      \                                                      cmsUInt32Number OutputFormat,\n
      \                                                      cmsUInt32Number Intent,\n
      \                                                      cmsUInt32Number dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - ContextID
    - Input
    - InputFormat
    - Output
    - OutputFormat
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1532
    functionDepth: 7
    functionLinenumber: 1532
    functionLinenumberEnd: 1547
    functionName: cmsCreateTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 50
    functionsReached:
    - cmsCreateMultiprofileTransform
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM cmsCreateTransform(cmsContext ContextID,\n                                           cmsHPROFILE
      Input,\n                                           cmsUInt32Number InputFormat,\n
      \                                          cmsHPROFILE Output,\n                                           cmsUInt32Number
      OutputFormat,\n                                           cmsUInt32Number Intent,\n
      \                                          cmsUInt32Number dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1571,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1574,1
    - Dst: cmsCreateExtendedTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 9
    argNames:
    - ContextID
    - InputProfile
    - InputFormat
    - OutputProfile
    - OutputFormat
    - ProofingProfile
    - nIntent
    - ProofingIntent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1550
    functionDepth: 8
    functionLinenumber: 1550
    functionLinenumberEnd: 1579
    functionName: cmsCreateProofingTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 4
    functionsReached:
    - cmsCreateExtendedTransform
    - cmsCreateTransform
    - cmsSetAdaptationState
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM cmsCreateProofingTransform(cmsContext ContextID,\n                                                   cmsHPROFILE
      InputProfile,\n                                                   cmsUInt32Number
      InputFormat,\n                                                   cmsHPROFILE
      OutputProfile,\n                                                   cmsUInt32Number
      OutputFormat,\n                                                   cmsHPROFILE
      ProofingProfile,\n                                                   cmsUInt32Number
      nIntent,\n                                                   cmsUInt32Number
      ProofingIntent,\n                                                   cmsUInt32Number
      dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - hTransform
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1584
    functionDepth: 1
    functionLinenumber: 1584
    functionLinenumberEnd: 1591
    functionName: cmsGetTransformInputFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetTransformInputFormat(cmsContext ContextID, cmsHTRANSFORM
      hTransform)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - hTransform
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1593
    functionDepth: 1
    functionLinenumber: 1593
    functionLinenumberEnd: 1600
    functionName: cmsGetTransformOutputFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetTransformOutputFormat(cmsContext ContextID, cmsHTRANSFORM
      hTransform)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1611,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1615,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1619,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1623,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1625,1
    - Dst: _cmsGetFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1626,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1630,1
    - Dst: _cmsFindFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1638,1
    - Dst: _cmsAdjustReferenceCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c:1640,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - ContextID
    - hTransform
    - InputFormat
    - OutputFormat
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1602
    functionDepth: 2
    functionLinenumber: 1602
    functionLinenumberEnd: 1643
    functionName: cmsCloneTransformChangingFormats
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsxform.c
    functionUses: 1
    functionsReached:
    - _cmsFindFormatter
    - _cmsGetFormatter
    - _cmsAssert
    - cmsSignalError
    - _cmsMalloc
    - memcpy
    - _cmsAdjustReferenceCount
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: "cmsHTRANSFORM cmsCloneTransformChangingFormats(cmsContext ContextID,\n
      \                                              const cmsHTRANSFORM hTransform,\n
      \                                              cmsUInt32Number InputFormat,\n
      \                                              cmsUInt32Number OutputFormat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: cmsGetEncodedCMMversion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmsGetEncodedCMMversion(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:44,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:44,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:48,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: cmsstrcasecmp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 1
    functionsReached:
    - toupper
    linkageType: ''
    returnType: int
    signature: int cmsstrcasecmp(const char* s1, const char* s2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:56,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:60,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:64,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 68
    functionName: cmsfilelength
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - ftell
    - fseek
    linkageType: ''
    returnType: long int
    signature: long int cmsfilelength(FILE* f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:97,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 5
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: _cmsMallocDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - malloc
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void * _cmsMallocDefaultFn(cmsContext ContextID, cmsUInt32Number size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:106,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: _cmsMallocZeroDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - memset
    linkageType: ''
    returnType: void
    signature: void * _cmsMallocZeroDefaultFn(cmsContext ContextID, cmsUInt32Number
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:121,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - Ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: _cmsFreeDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - free
    linkageType: ''
    returnType: void
    signature: void _cmsFreeDefaultFn(cmsContext ContextID, void *Ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:134,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Ptr
    - size
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: _cmsReallocDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - realloc
    linkageType: ''
    returnType: void
    signature: void * _cmsReallocDefaultFn(cmsContext ContextID, void* Ptr, cmsUInt32Number
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:160,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - num
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 161
    functionName: _cmsCallocDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: void
    signature: void * _cmsCallocDefaultFn(cmsContext ContextID, cmsUInt32Number num,
      cmsUInt32Number size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:171,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - Org
    - size
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: _cmsDupDefaultFn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - memmove
    linkageType: ''
    returnType: void
    signature: void * _cmsDupDefaultFn(cmsContext ContextID, const void* Org, cmsUInt32Number
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:189,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 201
    functionName: _cmsAllocMemPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: void _cmsAllocMemPluginChunk(struct _cmsContext_struct* ctx, const
      struct _cmsContext_struct* src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:208,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - Plugin
    - ptr
    argTypes:
    - cmsPluginMemHandler*
    - _cmsMemPluginChunkType*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: _cmsInstallAllocFunctions
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _cmsInstallAllocFunctions(cmsPluginMemHandler* Plugin, _cmsMemPluginChunkType*
      ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:255,1
    - Dst: _cmsInstallAllocFunctions
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:259,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 261
    functionName: _cmsRegisterMemHandlerPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsInstallAllocFunctions
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterMemHandlerPlugin(cmsContext ContextID, cmsPluginBase
      *Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:266,1
    - Dst: _cmsMemPluginChunkType*::MallocPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 268
    functionName: _cmsMalloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 11
    functionsReached:
    - _cmsMemPluginChunkType*::MallocPtr
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsMalloc(cmsContext ContextID, cmsUInt32Number size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:273,1
    - Dst: _cmsMemPluginChunkType*::MallocZeroPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: _cmsMallocZero
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 12
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMemPluginChunkType*::MallocZeroPtr
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsMallocZero(cmsContext ContextID, cmsUInt32Number
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:280,1
    - Dst: _cmsMemPluginChunkType*::CallocPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - num
    - size
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: _cmsCalloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 6
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMemPluginChunkType*::CallocPtr
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsCalloc(cmsContext ContextID, cmsUInt32Number num,
      cmsUInt32Number size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:287,1
    - Dst: _cmsMemPluginChunkType*::ReallocPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - Ptr
    - size
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: _cmsRealloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 3
    functionsReached:
    - _cmsMemPluginChunkType*::ReallocPtr
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsRealloc(cmsContext ContextID, void* Ptr, cmsUInt32Number
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:295,1
    - Dst: _cmsMemPluginChunkType*::FreePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - Ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: _cmsFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 32
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMemPluginChunkType*::FreePtr
    linkageType: ''
    returnType: void
    signature: void _cmsFree(cmsContext ContextID, void* Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:303,1
    - Dst: _cmsMemPluginChunkType*::DupPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - Org
    - size
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 305
    functionName: _cmsDupMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 5
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMemPluginChunkType*::DupPtr
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsDupMem(cmsContext ContextID, const void* Org,
      cmsUInt32Number size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:323,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:327,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - Initial
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 340
    functionName: _cmsCreateSubAllocChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - _cmsFree
    - _cmsMallocZero
    linkageType: ''
    returnType: _cmsSubAllocator_chunk
    signature: _cmsSubAllocator_chunk * _cmsCreateSubAllocChunk(cmsContext ContextID,
      cmsUInt32Number Initial)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:349,1
    - Dst: _cmsCreateSubAllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:354,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ContextID
    - Initial
    argTypes:
    - cmsContext
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: _cmsCreateSubAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 3
    functionsReached:
    - _cmsFree
    - _cmsMallocZero
    - _cmsCreateSubAllocChunk
    linkageType: ''
    returnType: _cmsSubAllocator
    signature: _cmsSubAllocator * _cmsCreateSubAlloc(cmsContext ContextID, cmsUInt32Number
      Initial)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:372,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:373,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sub
    argTypes:
    - _cmsSubAllocator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 378
    functionName: _cmsSubAllocDestroy
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 1
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void _cmsSubAllocDestroy(_cmsSubAllocator* sub)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsALIGNMEM
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:387,1
    - Dst: _cmsCreateSubAllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - sub
    - size
    argTypes:
    - _cmsSubAllocator*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 382
    functionDepth: 4
    functionLinenumber: 382
    functionLinenumberEnd: 411
    functionName: _cmsSubAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 1
    functionsReached:
    - _cmsALIGNMEM
    - _cmsCreateSubAllocChunk
    linkageType: ''
    returnType: void
    signature: void *  _cmsSubAlloc(_cmsSubAllocator* sub, cmsUInt32Number size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:422,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - s
    - ptr
    - size
    argTypes:
    - _cmsSubAllocator*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 5
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: _cmsSubAllocDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 10
    functionsReached:
    - _cmsSubAlloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void * _cmsSubAllocDup(_cmsSubAllocator* s, const void *ptr, cmsUInt32Number
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 6
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: _cmsAllocLogErrorChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocLogErrorChunk(struct _cmsContext_struct* ctx,\n                            const
      struct _cmsContext_struct* src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:482,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:483,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 485
    functionName: DefaultLogErrorHandlerFunction
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void DefaultLogErrorHandlerFunction(cmsContext ContextID, cmsUInt32Number
      ErrorCode, const char *Text)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - Fn
    argTypes:
    - cmsContext
    - cmsLogErrorHandlerFunction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 488
    functionDepth: 2
    functionLinenumber: 488
    functionLinenumberEnd: 499
    functionName: cmsSetLogErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 8
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: void
    signature: void cmsSetLogErrorHandler(cmsContext ContextID, cmsLogErrorHandlerFunction
      Fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:510,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:511,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:512,1
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:515,1
    - Dst: _cmsLogErrorChunkType*::LogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - ErrorText
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 519
    functionName: cmsSignalError
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 25
    functionsReached:
    - _cmsLogErrorChunkType*::LogErrorHandler
    - va_start
    - va_end
    - _cmsContextGetClientChunk
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void cmsSignalError(cmsContext ContextID, cmsUInt32Number ErrorCode,
      const char *ErrorText, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:527,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - String
    - sig
    argTypes:
    - char[]
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: _cmsTagSignature2String
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - memmove
    - _cmsAdjustEndianess32
    linkageType: ''
    returnType: void
    signature: void _cmsTagSignature2String(char String[5], cmsTagSignature sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:542,1
    - Dst: _cmsInitMutexPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:544,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - id
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: defMtxCreate
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - _cmsInitMutexPrimitive
    linkageType: ''
    returnType: void
    signature: void * defMtxCreate(cmsContext id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDestroyMutexPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:551,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 553
    functionName: defMtxDestroy
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    - _cmsDestroyMutexPrimitive
    linkageType: ''
    returnType: void
    signature: void defMtxDestroy(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:558,1
    - Dst: _cmsLockPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: defMtxLock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsLockPrimitive
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool defMtxLock(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:565,1
    - Dst: _cmsUnlockPrimitive
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 567
    functionName: defMtxUnlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsUnlockPrimitive
    linkageType: ''
    returnType: void
    signature: void defMtxUnlock(cmsContext id, void* mtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 575
    functionDepth: 6
    functionLinenumber: 575
    functionLinenumberEnd: 589
    functionName: _cmsAllocMutexPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocMutexPluginChunk(struct _cmsContext_struct* ctx,\n                                        const
      struct _cmsContext_struct* src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:595,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 619
    functionName: _cmsRegisterMutexPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterMutexPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:624,1
    - Dst: _cmsMutexPluginChunkType*::CreateMutexPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 629
    functionName: _cmsCreateMutex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMutexPluginChunkType*::CreateMutexPtr
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT _cmsCreateMutex(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:633,1
    - Dst: _cmsMutexPluginChunkType*::DestroyMutexPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:637,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: _cmsDestroyMutex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMutexPluginChunkType*::DestroyMutexPtr
    linkageType: ''
    returnType: void
    signature: void _cmsDestroyMutex(cmsContext ContextID, void* mtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:643,1
    - Dst: _cmsMutexPluginChunkType*::LockMutexPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 648
    functionName: _cmsLockMutex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMutexPluginChunkType*::LockMutexPtr
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsLockMutex(cmsContext ContextID, void* mtx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:652,1
    - Dst: _cmsMutexPluginChunkType*::UnlockMutexPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: _cmsUnlockMutex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmserr.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsMutexPluginChunkType*::UnlockMutexPtr
    linkageType: ''
    returnType: void
    signature: void _cmsUnlockMutex(cmsContext ContextID, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: READ_FN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_FN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: WRITE_FN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_FN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FREE_FN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE_FN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: DUP_FN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUP_FN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TYPE_HANDLER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_HANDLER(t, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: TYPE_MPE_HANDLER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TYPE_MPE_HANDLER(t, x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:73,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - Data
    - pos
    argTypes:
    - cmsContext
    - cmsPluginBase*
    - _cmsMemoryClient
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: RegisterTypesPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool RegisterTypesPlugin(cmsContext ContextID, cmsPluginBase* Data,
      _cmsMemoryClient pos)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - sig
    - PluginLinkedList
    - DefaultLinkedList
    argTypes:
    - cmsTagTypeSignature
    - _cmsTagTypeLinkedList*
    - _cmsTagTypeLinkedList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 118
    functionName: GetHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsTagTypeHandler
    signature: cmsTagTypeHandler * GetHandler(cmsTagTypeSignature sig, _cmsTagTypeLinkedList*
      PluginLinkedList, _cmsTagTypeLinkedList* DefaultLinkedList)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:127,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:128,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - io
    - n
    - Array
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 135
    functionName: _cmsWriteWCharArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsWriteUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteWCharArray(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number n, const wchar_t* Array)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:144,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:150,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - io
    - n
    - Array
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: _cmsReadWCharArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsReadUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadWCharArray(cmsContext ContextID, cmsIOHANDLER* io,
      cmsUInt32Number n, wchar_t* Array)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:183,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:190,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:193,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:198,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:199,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:207,1
    - Dst: ElementFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:210,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:214,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:215,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:219,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:220,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 41
    argCount: 7
    argNames:
    - ContextID
    - self
    - io
    - Count
    - BaseOffset
    - Cargo
    - ElementFn
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt32Number
    - void*
    - PositionTableEntryFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 222
    functionName: ReadPositionTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - ElementFn
    - cmsIOHANDLER*::Seek
    - _cmsReadUInt32Number
    - _cmsCalloc
    - cmsIOHANDLER*::Tell
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ReadPositionTable(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                              cmsIOHANDLER* io,\n                              cmsUInt32Number
      Count,\n                              cmsUInt32Number BaseOffset,\n                              void
      *Cargo,\n                              PositionTableEntryFn ElementFn)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:239,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:242,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:246,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:251,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:252,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:258,1
    - Dst: ElementFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:262,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:265,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:269,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:270,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:273,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:274,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:277,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:279,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:280,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:284,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:285,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 8
    argNames:
    - ContextID
    - self
    - io
    - SizeOfTag
    - Count
    - BaseOffset
    - Cargo
    - ElementFn
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - void*
    - PositionTableEntryFn
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 287
    functionName: WritePositionTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - ElementFn
    - cmsIOHANDLER*::Seek
    - _cmsCalloc
    - _cmsWriteUInt32Number
    - cmsIOHANDLER*::Tell
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool WritePositionTable(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                               cmsIOHANDLER* io,\n                               cmsUInt32Number
      SizeOfTag,\n                               cmsUInt32Number Count,\n                               cmsUInt32Number
      BaseOffset,\n                               void *Cargo,\n                               PositionTableEntryFn
      ElementFn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:303,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:306,1
    - Dst: _cmsReadXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:309,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:310,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:317,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 299
    functionDepth: 3
    functionLinenumber: 299
    functionLinenumberEnd: 318
    functionName: Type_XYZ_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    - _cmsReadXYZNumber
    - _cmsMallocZero
    linkageType: ''
    returnType: void
    signature: void *Type_XYZ_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:323,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:325,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: Type_XYZ_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWriteXYZNumber
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_XYZ_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:332,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:334,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 336
    functionName: Type_XYZ_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_XYZ_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:341,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: Type_XYZ_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_XYZ_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void *Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:351,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:352,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 354
    functionName: DecideXYZtype
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideXYZtype(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:368,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:371,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:374,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:379,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:380,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:385,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:387,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:388,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:392,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:393,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:397,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:398,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:406,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:409,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 410
    functionName: Type_Chromaticity_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsRead15Fixed16Number
    - _cmsMallocZero
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_Chromaticity_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:415,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:415,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:416,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - x
    - y
    - io
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: SaveOneChromaticity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsDoubleTo15Fixed16
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SaveOneChromaticity(cmsContext ContextID, cmsFloat64Number
      x, cmsFloat64Number y, cmsIOHANDLER* io)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:426,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:427,1
    - Dst: SaveOneChromaticity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:429,1
    - Dst: SaveOneChromaticity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:430,1
    - Dst: SaveOneChromaticity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:431,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:435,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:436,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: Type_Chromaticity_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - SaveOneChromaticity
    - _cmsWriteUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Chromaticity_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:442,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:444,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 446
    functionName: Type_Chromaticity_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_Chromaticity_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:451,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: Type_Chromaticity_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_Chromaticity_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:473,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:476,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:479,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:483,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:485,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:487,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:494,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 468
    functionDepth: 3
    functionLinenumber: 468
    functionLinenumberEnd: 495
    functionName: Type_ColorantOrderType_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - _cmsCalloc
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - memset
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_ColorantOrderType_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:508,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:511,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:515,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:516,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 517
    functionName: Type_ColorantOrderType_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsIOHANDLER*::Write
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ColorantOrderType_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:522,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:524,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: Type_ColorantOrderType_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_ColorantOrderType_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:532,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 534
    functionName: Type_ColorantOrderType_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_ColorantOrderType_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:547,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:551,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:556,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:558,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 565
    functionName: Type_S15Fixed16_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsRead15Fixed16Number
    - _cmsFree
    - _cmsCalloc
    linkageType: ''
    returnType: void
    signature: void *Type_S15Fixed16_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:575,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 581
    functionName: Type_S15Fixed16_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWrite15Fixed16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_S15Fixed16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:586,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 588
    functionName: Type_S15Fixed16_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_S15Fixed16_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:594,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: Type_S15Fixed16_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_S15Fixed16_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:611,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:615,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:620,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:621,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 605
    functionDepth: 3
    functionLinenumber: 605
    functionLinenumberEnd: 631
    functionName: Type_U16Fixed16_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsReadUInt32Number
    - _cmsFree
    - _cmsCalloc
    linkageType: ''
    returnType: void
    signature: void *Type_U16Fixed16_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:641,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:643,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 649
    functionName: Type_U16Fixed16_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - floor
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_U16Fixed16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:655,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 3
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: Type_U16Fixed16_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_U16Fixed16_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:662,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 659
    functionDepth: 3
    functionLinenumber: 659
    functionLinenumberEnd: 664
    functionName: Type_U16Fixed16_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_U16Fixed16_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:678,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:681,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:686,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:687,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 688
    functionName: Type_Signature_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsMalloc
    - _cmsReadUInt32Number
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void *Type_Signature_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:695,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:697,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: Type_Signature_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Signature_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:704,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: Type_Signature_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_Signature_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:711,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 713
    functionName: Type_Signature_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_Signature_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:729,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:732,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:740,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:743,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:750,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:752,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:757,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:759,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 724
    functionDepth: 4
    functionLinenumber: 724
    functionLinenumberEnd: 762
    functionName: Type_Text_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - cmsMLUsetASCII
    - _cmsMalloc
    - cmsMLUalloc
    - cmsMLUfree
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_Text_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:772,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:775,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:779,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:782,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:785,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:787,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 791
    functionName: Type_Text_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Text_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:796,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:798,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 800
    functionName: Type_Text_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUdup
    linkageType: ''
    returnType: void
    signature: void * Type_Text_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:807,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 811
    functionName: Type_Text_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void Type_Text_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:816,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:822,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 823
    functionName: DecideTextType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideTextType(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:836,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:845,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:849,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:850,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:854,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:856,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 863
    functionName: Type_Data_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_Data_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:871,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:873,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:875,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 877
    functionName: Type_Data_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsIOHANDLER*::Write
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Data_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:885,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:887,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 889
    functionName: Type_Data_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_Data_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:894,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 896
    functionName: Type_Data_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_Data_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:911,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:919,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:926,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:930,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:934,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:941,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:942,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:947,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:948,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:954,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:964,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:965,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:969,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:979,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:980,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 70
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 902
    functionDepth: 4
    functionLinenumber: 902
    functionLinenumberEnd: 982
    functionName: Type_Text_Description_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - _cmsReadUInt8Number
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - cmsMLUsetASCII
    - cmsMLUalloc
    - cmsMLUfree
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_Text_Description_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:995,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:998,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1001,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1019,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1020,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1024,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1027,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1031,1
    - Dst: cmsMLUgetWide
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1032,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1036,1
    - Dst: _cmsALIGNLONG
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1039,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1050,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1051,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1053,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1055,1
    - Dst: _cmsWriteWCharArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1057,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1060,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1061,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1063,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1067,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1072,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1073,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1077,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 59
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 986
    functionDepth: 3
    functionLinenumber: 986
    functionLinenumberEnd: 1078
    functionName: Type_Text_Description_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt16Number
    - cmsMLUgetASCII
    - _cmsCalloc
    - _cmsDupMem
    - _cmsWriteUInt32Number
    - _cmsFree
    - _cmsWriteWCharArray
    - strlen
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - memset
    - _cmsWriteUInt8Number
    - cmsMLUgetWide
    - _cmsALIGNLONG
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Text_Description_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1084,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1086,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: Type_Text_Description_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUdup
    linkageType: ''
    returnType: void
    signature: void * Type_Text_Description_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1095,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1099
    functionName: Type_Text_Description_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void Type_Text_Description_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1105,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1112
    functionName: DecideTextDescType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideTextDescType(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1124,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1127,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1135,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1146,1
    - Dst: _cms8Fixed8toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1147,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1150,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1158,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1161,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1162,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1171
    functionName: Type_Curve_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - cmsBuildParametricToneCurve
    - _cms8Fixed8toDouble
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void *Type_Curve_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDoubleTo8Fixed8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1182,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1184,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1185,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1190,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1191,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1193,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1194,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1195
    functionName: Type_Curve_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt16Number
    - _cmsWriteUInt32Number
    - _cmsDoubleTo8Fixed8
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt16Array
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Curve_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1201,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1203,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1205
    functionName: Type_Curve_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupToneCurve
    linkageType: ''
    returnType: void
    signature: void * Type_Curve_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1212,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1207
    functionDepth: 3
    functionLinenumber: 1207
    functionLinenumberEnd: 1216
    functionName: Type_Curve_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeToneCurve
    linkageType: ''
    returnType: void
    signature: void Type_Curve_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1237
    functionName: DecideCurveType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideCurveType(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1247,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1249,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1250,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1254,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1258,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1263,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1266,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1239
    functionDepth: 3
    functionLinenumber: 1239
    functionLinenumberEnd: 1272
    functionName: Type_ParametricCurve_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsRead15Fixed16Number
    - cmsBuildParametricToneCurve
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - memset
    linkageType: ''
    returnType: void
    signature: void *Type_ParametricCurve_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1281,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1287,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1292,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1298,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1299,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1303,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1275
    functionDepth: 3
    functionLinenumber: 1275
    functionLinenumberEnd: 1309
    functionName: Type_ParametricCurve_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWrite15Fixed16Number
    - _cmsWriteUInt16Number
    - cmsSignalError
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ParametricCurve_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1314,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1316,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1318
    functionName: Type_ParametricCurve_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupToneCurve
    linkageType: ''
    returnType: void
    signature: void * Type_ParametricCurve_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1325,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1320
    functionDepth: 3
    functionLinenumber: 1320
    functionLinenumberEnd: 1329
    functionName: Type_ParametricCurve_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeToneCurve
    linkageType: ''
    returnType: void
    signature: void Type_ParametricCurve_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1351,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1354,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1357,1
    - Dst: _cmsDecodeDateTimeNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1359,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1346
    functionDepth: 3
    functionLinenumber: 1346
    functionLinenumberEnd: 1365
    functionName: Type_DateTime_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDecodeDateTimeNumber
    - _cmsMalloc
    - cmsIOHANDLER*::Read
    linkageType: ''
    returnType: void
    signature: void *Type_DateTime_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsEncodeDateTimeNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1374,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1375,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1379,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1381
    functionName: Type_DateTime_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsEncodeDateTimeNumber
    - cmsIOHANDLER*::Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_DateTime_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1386,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1387,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1383
    functionDepth: 3
    functionLinenumber: 1383
    functionLinenumberEnd: 1389
    functionName: Type_DateTime_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_DateTime_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1394,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1391
    functionDepth: 3
    functionLinenumber: 1391
    functionLinenumberEnd: 1396
    functionName: Type_DateTime_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_DateTime_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1414,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1417,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1419,1
    - Dst: _cmsReadXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1420,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1421,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1422,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1423,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1426,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1410
    functionDepth: 3
    functionLinenumber: 1410
    functionLinenumberEnd: 1429
    functionName: Type_Measurement_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - _cmsRead15Fixed16Number
    - _cmsReadXYZNumber
    - _cmsDupMem
    - cmsUNUSED_PARAMETER
    - memset
    linkageType: ''
    returnType: void
    signature: void *Type_Measurement_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1437,1
    - Dst: _cmsWriteXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1438,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1439,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1440,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1441,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1445,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1446,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1432
    functionDepth: 2
    functionLinenumber: 1432
    functionLinenumberEnd: 1447
    functionName: Type_Measurement_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteXYZNumber
    - _cmsWrite15Fixed16Number
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Measurement_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1452,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1453,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1449
    functionDepth: 3
    functionLinenumber: 1449
    functionLinenumberEnd: 1455
    functionName: Type_Measurement_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_Measurement_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1460,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1457
    functionDepth: 3
    functionLinenumber: 1457
    functionLinenumberEnd: 1462
    functionName: Type_Measurement_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_Measurement_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1484,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1487,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1488,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1492,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1496,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1506,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1507,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1510,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1511,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1540,1
    - Dst: _cmsReadWCharArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1543,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1554,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 67
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1474
    functionDepth: 3
    functionLinenumber: 1474
    functionLinenumberEnd: 1556
    functionName: Type_MLU_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - _cmsReadWCharArray
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void *Type_MLU_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1569,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1570,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1574,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1575,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1587,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1588,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1589,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1590,1
    - Dst: _cmsWriteWCharArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1593,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1597,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1598,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1558
    functionDepth: 3
    functionLinenumber: 1558
    functionLinenumberEnd: 1599
    functionName: Type_MLU_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt16Number
    - _cmsWriteWCharArray
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_MLU_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1605,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1607,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1609
    functionName: Type_MLU_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUdup
    linkageType: ''
    returnType: void
    signature: void * Type_MLU_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1614,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1618
    functionName: Type_MLU_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void Type_MLU_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1630,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1626
    functionDepth: 1
    functionLinenumber: 1626
    functionLinenumberEnd: 1639
    functionName: DecideLUTtypeA2B
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideLUTtypeA2B(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - ICCVersion
    - Data
    argTypes:
    - cmsContext
    - cmsFloat64Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1654
    functionName: DecideLUTtypeB2A
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature DecideLUTtypeB2A(cmsContext ContextID, cmsFloat64Number
      ICCVersion, const void *Data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1685,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1687,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1691,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1697,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1700,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1703,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1706,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1706,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1710,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1716,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1719,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - ContextID
    - io
    - lut
    - nChannels
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsPipeline*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1675
    functionDepth: 3
    functionLinenumber: 1675
    functionLinenumberEnd: 1721
    functionName: Read8bitTables
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsPipelineInsertStage
    - cmsIOHANDLER*::Read
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - cmsStageAllocToneCurves
    - _cmsMalloc
    - memset
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Read8bitTables(cmsContext ContextID, cmsIOHANDLER* io, cmsPipeline*
      lut, cmsUInt32Number nChannels)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1741,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1746,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1752,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1754,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 4
    argNames:
    - ContextID
    - io
    - n
    - Tables
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - _cmsStageToneCurvesData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1724
    functionDepth: 3
    functionLinenumber: 1724
    functionLinenumberEnd: 1759
    functionName: Write8bitTables
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt8Number
    - FROM_16_TO_8
    - cmsSignalError
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Write8bitTables(cmsContext ContextID, cmsIOHANDLER* io, cmsUInt32Number
      n, _cmsStageToneCurvesData* Tables)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - n
    - a
    - b
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1763
    functionDepth: 0
    functionLinenumber: 1763
    functionLinenumberEnd: 1784
    functionName: uipow
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number uipow(cmsUInt32Number n, cmsUInt32Number a, cmsUInt32Number
      b)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1799,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1803,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1804,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1805,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1810,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1817,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1821,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1822,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1823,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1824,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1825,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1826,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1827,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1828,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1829,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1833,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1835,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1835,1
    - Dst: Read8bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1840,1
    - Dst: uipow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1843,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1849,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1852,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1854,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1858,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1859,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1860,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1866,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1868,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1871,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1871,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1872,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1875,1
    - Dst: Read8bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1880,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1886,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1889,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 107
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1791
    functionDepth: 4
    functionLinenumber: 1791
    functionLinenumberEnd: 1890
    functionName: Type_LUT8_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - _cmsReadUInt8Number
    - _cmsRead15Fixed16Number
    - cmsPipelineInsertStage
    - Read8bitTables
    - _cmsCalloc
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - cmsPipelineFree
    - _cmsFree
    - uipow
    linkageType: ''
    returnType: void
    signature: void *Type_LUT8_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1904,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1931,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1941,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1942,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1943,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1944,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1952,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1959,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1960,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1961,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1962,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1963,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1964,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1965,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1966,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1967,1
    - Dst: Write8bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1971,1
    - Dst: uipow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1973,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1982,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1983,1
    - Dst: Write8bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1989,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:1993,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 80
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1893
    functionDepth: 4
    functionLinenumber: 1893
    functionLinenumberEnd: 1994
    functionName: Type_LUT8_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWrite15Fixed16Number
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt8Number
    - Write8bitTables
    - uipow
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_LUT8_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2000,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2002,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2004
    functionName: Type_LUT8_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineDup
    linkageType: ''
    returnType: void
    signature: void * Type_LUT8_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2009,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2006
    functionDepth: 3
    functionLinenumber: 2006
    functionLinenumberEnd: 2013
    functionName: Type_LUT8_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void Type_LUT8_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2035,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2039,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2042,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2047,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2047,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2051,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2057,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 5
    argNames:
    - ContextID
    - io
    - lut
    - nChannels
    - nEntries
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsPipeline*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2020
    functionDepth: 3
    functionLinenumber: 2020
    functionLinenumberEnd: 2061
    functionName: Read16bitTables
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - cmsStageAllocToneCurves
    - _cmsReadUInt16Array
    - memset
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Read16bitTables(cmsContext ContextID, cmsIOHANDLER* io, cmsPipeline*
      lut,\n                                    cmsUInt32Number nChannels, cmsUInt32Number
      nEntries)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2071,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - io
    - Tables
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsStageToneCurvesData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2084
      start: 2063
    functionDepth: 2
    functionLinenumber: 2063
    functionLinenumberEnd: 2084
    functionName: Write16bitTables
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsWriteUInt16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Write16bitTables(cmsContext ContextID, cmsIOHANDLER* io, _cmsStageToneCurvesData*
      Tables)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2094,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2098,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2099,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2100,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2103,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2110,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2114,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2115,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2116,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2117,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2118,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2119,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2120,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2121,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2122,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2126,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2128,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2128,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2132,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2133,1
    - Dst: Read16bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2139,1
    - Dst: uipow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2142,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2148,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2151,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2152,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2156,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2156,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2157,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2160,1
    - Dst: Read16bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2165,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2171,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2174,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 100
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2086
    functionDepth: 4
    functionLinenumber: 2086
    functionLinenumberEnd: 2175
    functionName: Type_LUT16_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt8Number
    - _cmsRead15Fixed16Number
    - cmsPipelineInsertStage
    - _cmsReadUInt16Number
    - _cmsCalloc
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - uipow
    - cmsPipelineFree
    - _cmsFree
    - Read16bitTables
    linkageType: ''
    returnType: void
    signature: void *Type_LUT16_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2190,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2218,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2222,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2223,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2230,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2231,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2232,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2233,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2241,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2249,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2250,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2251,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2252,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2253,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2254,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2255,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2256,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2257,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2262,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2264,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2268,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2270,1
    - Dst: Write16bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2277,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2282,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2283,1
    - Dst: uipow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2287,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2292,1
    - Dst: Write16bitTables
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2298,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2303,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2304,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2310,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 111
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2311
      start: 2180
    functionDepth: 3
    functionLinenumber: 2180
    functionLinenumberEnd: 2311
    functionName: Type_LUT16_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWrite15Fixed16Number
    - _cmsWriteUInt16Number
    - cmsPipelineOutputChannels
    - cmsPipelineInputChannels
    - cmsSignalError
    - Write16bitTables
    - _cmsWriteUInt16Array
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt8Number
    - uipow
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_LUT16_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2316,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2318,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2320
    functionName: Type_LUT16_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineDup
    linkageType: ''
    returnType: void
    signature: void * Type_LUT16_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2325,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2322
    functionDepth: 3
    functionLinenumber: 2322
    functionLinenumberEnd: 2329
    functionName: Type_LUT16_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void Type_LUT16_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2345,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2348,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2351,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2352,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2353,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2354,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2355,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2356,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2357,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2358,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2359,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2361,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2362,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2363,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 4
    argNames:
    - ContextID
    - self
    - io
    - Offset
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2339
    functionDepth: 2
    functionLinenumber: 2339
    functionLinenumberEnd: 2368
    functionName: ReadMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsIOHANDLER*::Seek
    - _cmsRead15Fixed16Number
    - cmsStageAllocMatrix
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * ReadMatrix(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number Offset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2384,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2386,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2387,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2396,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2398,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2399,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2400,1
    - Dst: cmsStageAllocCLut16bitGranular
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2402,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2414,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2415,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2418,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2425,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2426,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2431,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2432,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Offset
    - InputChannels
    - OutputChannels
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2375
    functionDepth: 3
    functionLinenumber: 2375
    functionLinenumberEnd: 2437
    functionName: ReadCLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsIOHANDLER*::Seek
    - _cmsReadUInt8Number
    - cmsIOHANDLER*::Read
    - cmsSignalError
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - cmsStageAllocCLut16bitGranular
    - cmsStageFree
    linkageType: ''
    returnType: cmsStage
    signature: "cmsStage * ReadCLUT(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io,\n                   cmsUInt32Number Offset, cmsUInt32Number
      InputChannels, cmsUInt32Number OutputChannels)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2445,1
    - Dst: Type_Curve_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2449,1
    - Dst: Type_ParametricCurve_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2452,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2458,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - ContextID
    - self
    - io
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2463
      start: 2439
    functionDepth: 4
    functionLinenumber: 2439
    functionLinenumberEnd: 2463
    functionName: ReadEmbeddedCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - Type_Curve_Read
    - cmsSignalError
    - Type_ParametricCurve_Read
    - _cmsReadTypeBase
    - _cmsTagSignature2String
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * ReadEmbeddedCurve(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2476,1
    - Dst: ReadEmbeddedCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2483,1
    - Dst: _cmsReadAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2485,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2489,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2493,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Offset
    - nCurves
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2467
    functionDepth: 5
    functionLinenumber: 2467
    functionLinenumberEnd: 2496
    functionName: ReadSetOfCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Seek
    - _cmsReadAlignment
    - cmsFreeToneCurve
    - cmsStageAllocToneCurves
    - ReadEmbeddedCurve
    linkageType: ''
    returnType: cmsStage
    signature: cmsStage * ReadSetOfCurves(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number Offset, cmsUInt32Number nCurves)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2534,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2536,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2537,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2539,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2541,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2542,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2543,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2544,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2545,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2551,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2555,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2555,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2560,1
    - Dst: ReadCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2560,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2565,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2565,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2570,1
    - Dst: ReadMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2570,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2575,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2575,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2582,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2585,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2520
    functionDepth: 6
    functionLinenumber: 2520
    functionLinenumberEnd: 2586
    functionName: Type_LUTA2B_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt8Number
    - _cmsReadUInt32Number
    - _cmsReadUInt16Number
    - cmsPipelineInsertStage
    - ReadCLUT
    - ReadSetOfCurves
    - cmsUNUSED_PARAMETER
    - cmsPipelineAlloc
    - ReadMatrix
    - cmsIOHANDLER*::Tell
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void * Type_LUTA2B_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2601,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2608,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2614,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2621,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - ContextID
    - self
    - io
    - mpe
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2589
    functionDepth: 2
    functionLinenumber: 2589
    functionLinenumberEnd: 2622
    functionName: WriteMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWrite15Fixed16Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteMatrix(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsStage* mpe)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2634,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2635,1
    - Dst: _cmsWriteTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2649,1
    - Dst: Type_Curve_Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2654,1
    - Dst: Type_ParametricCurve_Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2658,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2665,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2666,1
    - Dst: _cmsWriteAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2671,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Type
    - mpe
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsTagTypeSignature
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2626
    functionDepth: 4
    functionLinenumber: 2626
    functionLinenumberEnd: 2676
    functionName: WriteSetOfCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteAlignment
    - cmsSignalError
    - Type_ParametricCurve_Write
    - _cmsWriteTypeBase
    - _cmsStageGetPtrToCurveSet
    - Type_Curve_Write
    - _cmsTagSignature2String
    - cmsStageOutputChannels
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteSetOfCurves(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsTagTypeSignature Type, cmsStage* mpe)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2685,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2688,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2692,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2696,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2698,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2699,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2700,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2701,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2708,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2708,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2714,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2717,1
    - Dst: _cmsWriteAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2721,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Precision
    - mpe
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt8Number
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2679
    functionDepth: 3
    functionLinenumber: 2679
    functionLinenumberEnd: 2724
    functionName: WriteCLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - _cmsWriteAlignment
    - cmsSignalError
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - memset
    - _cmsWriteUInt8Number
    - _cmsWriteUInt16Array
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteCLUT(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt8Number  Precision, cmsStage* mpe)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2741,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2744,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2745,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2746,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2747,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2750,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2755,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2756,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2759,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2760,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2761,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2764,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2767,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2768,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2769,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2770,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2771,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2775,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2776,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2780,1
    - Dst: WriteCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2781,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2786,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2787,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2791,1
    - Dst: WriteMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2792,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2797,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2798,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2801,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2803,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2805,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2806,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2807,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2808,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2809,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2811,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2815,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 71
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2729
    functionDepth: 5
    functionLinenumber: 2729
    functionLinenumberEnd: 2816
    functionName: Type_LUTA2B_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Seek
    - _cmsWriteUInt16Number
    - _cmsWriteUInt32Number
    - cmsPipelineOutputChannels
    - cmsPipelineInputChannels
    - cmsSignalError
    - WriteSetOfCurves
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt8Number
    - WriteMatrix
    - cmsIOHANDLER*::Tell
    - WriteCLUT
    - cmsPipelineCheckAndRetreiveStages
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_LUTA2B_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2822,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2824,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2819
    functionDepth: 1
    functionLinenumber: 2819
    functionLinenumberEnd: 2826
    functionName: Type_LUTA2B_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineDup
    linkageType: ''
    returnType: void
    signature: void * Type_LUTA2B_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2831,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2835
      start: 2828
    functionDepth: 3
    functionLinenumber: 2828
    functionLinenumberEnd: 2835
    functionName: Type_LUTA2B_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void Type_LUTA2B_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2854,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2856,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2857,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2863,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2865,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2866,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2867,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2868,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2869,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2872,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2876,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2876,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2881,1
    - Dst: ReadMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2881,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2886,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2886,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2891,1
    - Dst: ReadCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2891,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2896,1
    - Dst: ReadSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2896,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2903,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2906,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 57
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2840
    functionDepth: 6
    functionLinenumber: 2840
    functionLinenumberEnd: 2907
    functionName: Type_LUTB2A_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt8Number
    - _cmsReadUInt32Number
    - _cmsReadUInt16Number
    - cmsPipelineInsertStage
    - ReadCLUT
    - ReadSetOfCurves
    - cmsUNUSED_PARAMETER
    - cmsPipelineAlloc
    - ReadMatrix
    - cmsIOHANDLER*::Tell
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void * Type_LUTB2A_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2929,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2931,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2932,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2933,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2934,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2936,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2940,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2941,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2943,1
    - Dst: _cmsWriteUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2944,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2945,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2947,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2949,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2950,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2951,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2952,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2953,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2957,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2958,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2962,1
    - Dst: WriteCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2963,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2968,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2969,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2973,1
    - Dst: WriteMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2974,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2979,1
    - Dst: WriteSetOfCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2980,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2983,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2985,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2987,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2988,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2989,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2990,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2991,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2993,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:2997,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2917
    functionDepth: 5
    functionLinenumber: 2917
    functionLinenumberEnd: 2998
    functionName: Type_LUTB2A_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Seek
    - _cmsWriteUInt16Number
    - _cmsWriteUInt32Number
    - cmsPipelineOutputChannels
    - cmsPipelineInputChannels
    - cmsSignalError
    - WriteSetOfCurves
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt8Number
    - WriteMatrix
    - cmsIOHANDLER*::Tell
    - WriteCLUT
    - cmsPipelineCheckAndRetreiveStages
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_LUTB2A_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3005,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3007,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3009
    functionName: Type_LUTB2A_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineDup
    linkageType: ''
    returnType: void
    signature: void * Type_LUTB2A_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3014,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3018
      start: 3011
    functionDepth: 3
    functionLinenumber: 3011
    functionLinenumberEnd: 3018
    functionName: Type_LUTB2A_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void Type_LUTB2A_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3040,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3043,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3046,1
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3050,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3053,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3056,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3058,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3067,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3070,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3033
    functionDepth: 3
    functionLinenumber: 3033
    functionLinenumberEnd: 3071
    functionName: Type_ColorantTable_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsIOHANDLER*::Read
    - cmsAllocNamedColorList
    - cmsSignalError
    - cmsAppendNamedColor
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: void
    signature: void *Type_ColorantTable_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3082,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3084,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3091,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3093,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3096,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3097,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3102,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3076
    functionDepth: 3
    functionLinenumber: 3076
    functionLinenumberEnd: 3104
    functionName: Type_ColorantTable_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorCount
    - _cmsWriteUInt32Number
    - cmsNamedColorInfo
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - memset
    - _cmsWriteUInt16Array
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ColorantTable_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3111,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3113,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3107
    functionDepth: 1
    functionLinenumber: 3107
    functionLinenumberEnd: 3115
    functionName: Type_ColorantTable_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupNamedColorList
    linkageType: ''
    returnType: void
    signature: void * Type_ColorantTable_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void* Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3121,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3118
    functionDepth: 2
    functionLinenumber: 3118
    functionLinenumberEnd: 3125
    functionName: Type_ColorantTable_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: void
    signature: void Type_ColorantTable_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3154,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3158,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3159,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3160,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3162,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3163,1
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3167,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3169,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3174,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3183,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3184,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3187,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3188,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3190,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3197,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3200,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3201
      start: 3143
    functionDepth: 3
    functionLinenumber: 3143
    functionLinenumberEnd: 3201
    functionName: Type_NamedColor_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsIOHANDLER*::Read
    - cmsAllocNamedColorList
    - cmsSignalError
    - cmsAppendNamedColor
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - memset
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: void
    signature: void *Type_NamedColor_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3213,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3215,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3216,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3217,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3219,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3220,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3224,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3225,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3233,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3235,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3236,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3237,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3242,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3205
    functionDepth: 3
    functionLinenumber: 3205
    functionLinenumberEnd: 3244
    functionName: Type_NamedColor_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorCount
    - _cmsWriteUInt32Number
    - cmsNamedColorInfo
    - cmsIOHANDLER*::Write
    - strncpy
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt16Array
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_NamedColor_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3251,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3253,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3246
    functionDepth: 1
    functionLinenumber: 3246
    functionLinenumberEnd: 3255
    functionName: Type_NamedColor_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupNamedColorList
    linkageType: ''
    returnType: void
    signature: void * Type_NamedColor_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void* Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3261,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3258
    functionDepth: 2
    functionLinenumber: 3258
    functionLinenumberEnd: 3265
    functionName: Type_NamedColor_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeNamedColorList
    linkageType: ''
    returnType: void
    signature: void Type_NamedColor_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3285,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3290,1
    - Dst: Type_Text_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3291,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3295,1
    - Dst: Type_Text_Description_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3296,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3304,1
    - Dst: Type_MLU_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - mlu
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsMLU**
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3310
      start: 3279
    functionDepth: 5
    functionLinenumber: 3279
    functionLinenumberEnd: 3310
    functionName: ReadEmbeddedText
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadTypeBase
    - Type_Text_Description_Read
    - Type_MLU_Read
    - cmsMLUfree
    - Type_Text_Read
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadEmbeddedText(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsMLU** mlu, cmsUInt32Number SizeOfTag)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3321,1
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3327,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3338,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3342,1
    - Dst: _cmsReadUInt64Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3346,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3350,1
    - Dst: ReadEmbeddedText
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3354,1
    - Dst: ReadEmbeddedText
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3355,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3362,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 53
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3364
      start: 3313
    functionDepth: 6
    functionLinenumber: 3313
    functionLinenumberEnd: 3364
    functionName: Type_ProfileSequenceDesc_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsAllocProfileSequenceDescription
    - ReadEmbeddedText
    - cmsFreeProfileSequenceDescription
    - _cmsReadUInt64Number
    linkageType: ''
    returnType: void
    signature: void *Type_ProfileSequenceDesc_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3374,1
    - Dst: Type_Text_Description_Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3375,1
    - Dst: _cmsWriteTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3378,1
    - Dst: Type_MLU_Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - self
    - io
    - Text
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsMLU*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3369
    functionDepth: 4
    functionLinenumber: 3369
    functionLinenumberEnd: 3381
    functionName: SaveDescription
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteTypeBase
    - Type_MLU_Write
    - Type_Text_Description_Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SaveDescription(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsMLU* Text)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3390,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3396,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3397,1
    - Dst: _cmsWriteUInt64Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3398,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3399,1
    - Dst: SaveDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3401,1
    - Dst: SaveDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3402,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3408
      start: 3384
    functionDepth: 5
    functionLinenumber: 3384
    functionLinenumberEnd: 3408
    functionName: Type_ProfileSequenceDesc_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt64Number
    - cmsUNUSED_PARAMETER
    - SaveDescription
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ProfileSequenceDesc_Write(cmsContext ContextID, struct
      _cms_typehandler_struct* self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number
      nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3414,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3416,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3418
      start: 3411
    functionDepth: 1
    functionLinenumber: 3411
    functionLinenumberEnd: 3418
    functionName: Type_ProfileSequenceDesc_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupProfileSequenceDescription
    linkageType: ''
    returnType: void
    signature: void * Type_ProfileSequenceDesc_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void* Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3423,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3427
      start: 3420
    functionDepth: 3
    functionLinenumber: 3420
    functionLinenumberEnd: 3427
    functionName: Type_ProfileSequenceDesc_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: void
    signature: void Type_ProfileSequenceDesc_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3451,1
    - Dst: ReadEmbeddedText
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Cargo
    - n
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3455
      start: 3441
    functionDepth: 6
    functionLinenumber: 3441
    functionLinenumberEnd: 3455
    functionName: ReadSeqID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Read
    - ReadEmbeddedText
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ReadSeqID(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                                             cmsIOHANDLER* io,\n                                             void*
      Cargo,\n                                             cmsUInt32Number n,\n                                             cmsUInt32Number
      SizeOfTag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3469,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3472,1
    - Dst: cmsAllocProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3476,1
    - Dst: ReadPositionTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3481,1
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3459
    functionDepth: 4
    functionLinenumber: 3459
    functionLinenumberEnd: 3491
    functionName: Type_ProfileSequenceId_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsAllocProfileSequenceDescription
    - ReadPositionTable
    - cmsIOHANDLER*::Tell
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: void
    signature: void *Type_ProfileSequenceId_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3503,1
    - Dst: SaveDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3506,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3510,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Cargo
    - n
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3511
      start: 3494
    functionDepth: 5
    functionLinenumber: 3494
    functionLinenumberEnd: 3511
    functionName: WriteSeqID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsIOHANDLER*::Write
    - SaveDescription
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool WriteSeqID(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                                             cmsIOHANDLER* io,\n                                             void*
      Cargo,\n                                             cmsUInt32Number n,\n                                             cmsUInt32Number
      SizeOfTag)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3520,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3523,1
    - Dst: WritePositionTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3526,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3531
      start: 3513
    functionDepth: 4
    functionLinenumber: 3513
    functionLinenumberEnd: 3531
    functionName: Type_ProfileSequenceId_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Tell
    - WritePositionTable
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ProfileSequenceId_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDupProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3536,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3538,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3533
    functionDepth: 1
    functionLinenumber: 3533
    functionLinenumberEnd: 3540
    functionName: Type_ProfileSequenceId_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupProfileSequenceDescription
    linkageType: ''
    returnType: void
    signature: void * Type_ProfileSequenceId_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void* Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeProfileSequenceDescription
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3545,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3549
      start: 3542
    functionDepth: 3
    functionLinenumber: 3542
    functionLinenumberEnd: 3549
    functionName: Type_ProfileSequenceId_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsFreeProfileSequenceDescription
    linkageType: ''
    returnType: void
    signature: void Type_ProfileSequenceId_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3564,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3567,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3573,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3577,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3580,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3585,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3589,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3591,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3597,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3600,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3601,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3603,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3604,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3608
      start: 3561
    functionDepth: 4
    functionLinenumber: 3561
    functionLinenumberEnd: 3608
    functionName: Type_UcrBg_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsIOHANDLER*::Read
    - _cmsMallocZero
    - cmsBuildTabulatedToneCurve16
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - cmsMLUsetASCII
    - cmsMLUalloc
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_UcrBg_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3616,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3619,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3620,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3623,1
    - Dst: _cmsWriteUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3624,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3627,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3628,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3629,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3631,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3632,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3637
      start: 3610
    functionDepth: 3
    functionLinenumber: 3610
    functionLinenumberEnd: 3637
    functionName: Type_UcrBg_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - _cmsWriteUInt32Number
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - _cmsFree
    - _cmsWriteUInt16Array
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_UcrBg_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3643,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3644,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3648,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3649,1
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3650,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3655
      start: 3639
    functionDepth: 3
    functionLinenumber: 3639
    functionLinenumberEnd: 3655
    functionName: Type_UcrBg_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupToneCurve
    - _cmsMallocZero
    - cmsMLUdup
    linkageType: ''
    returnType: void
    signature: void * Type_UcrBg_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3661,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3663,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3664,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3665,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3667,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3668
      start: 3657
    functionDepth: 3
    functionLinenumber: 3657
    functionLinenumberEnd: 3668
    functionName: Type_UcrBg_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUfree
    - cmsFreeToneCurve
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_UcrBg_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void *Ptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3695,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3699,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3704,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3707,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3708,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3714,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - mlu
    - SizeOfTag
    - Section
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsMLU*
    - cmsUInt32Number*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3719
      start: 3690
    functionDepth: 4
    functionLinenumber: 3690
    functionLinenumberEnd: 3719
    functionName: ReadCountAndSting
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - cmsMLUsetASCII
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadCountAndSting(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsMLU* mlu, cmsUInt32Number* SizeOfTag, const char*
      Section)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3726,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3728,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3729,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3731,1
    - Dst: cmsMLUgetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3733,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3735,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - mlu
    - Section
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsMLU*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3721
    functionDepth: 3
    functionLinenumber: 3721
    functionLinenumberEnd: 3739
    functionName: WriteCountAndSting
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsMLUgetASCII
    - _cmsWriteUInt32Number
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - _cmsMalloc
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteCountAndSting(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsMLU* mlu, const char* Section)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3744,1
    - Dst: ReadCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3747,1
    - Dst: ReadCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3748,1
    - Dst: ReadCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3749,1
    - Dst: ReadCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3750,1
    - Dst: ReadCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3751,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3757,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3741
    functionDepth: 5
    functionLinenumber: 3741
    functionLinenumberEnd: 3760
    functionName: Type_CrdInfo_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - ReadCountAndSting
    - cmsMLUalloc
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void *Type_CrdInfo_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: WriteCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3768,1
    - Dst: WriteCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3769,1
    - Dst: WriteCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3770,1
    - Dst: WriteCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3771,1
    - Dst: WriteCountAndSting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3772,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3762
    functionDepth: 4
    functionLinenumber: 3762
    functionLinenumberEnd: 3780
    functionName: Type_CrdInfo_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - WriteCountAndSting
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_CrdInfo_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUdup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3786,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3788,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3790
      start: 3783
    functionDepth: 1
    functionLinenumber: 3783
    functionLinenumberEnd: 3790
    functionName: Type_CrdInfo_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUdup
    linkageType: ''
    returnType: void
    signature: void * Type_CrdInfo_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3795,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3799
      start: 3792
    functionDepth: 2
    functionLinenumber: 3792
    functionLinenumberEnd: 3799
    functionName: Type_CrdInfo_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void Type_CrdInfo_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void *Ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3814,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3819,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3820,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3827,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3828,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3829,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3839,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3842,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3843,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3844
      start: 3808
    functionDepth: 3
    functionLinenumber: 3808
    functionLinenumberEnd: 3844
    functionName: Type_Screening_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - _cmsRead15Fixed16Number
    - _cmsMallocZero
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_Screening_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3853,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3854,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3858,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3859,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3860,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3865,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3866,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3867
      start: 3847
    functionDepth: 2
    functionLinenumber: 3847
    functionLinenumberEnd: 3867
    functionName: Type_Screening_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWrite15Fixed16Number
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Screening_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3873,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3874,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3870
    functionDepth: 3
    functionLinenumber: 3870
    functionLinenumberEnd: 3877
    functionName: Type_Screening_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_Screening_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3883,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3885
      start: 3880
    functionDepth: 3
    functionLinenumber: 3880
    functionLinenumberEnd: 3885
    functionName: Type_Screening_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_Screening_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3899,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3901,1
    - Dst: _cmsReadXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3906,1
    - Dst: _cmsReadXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3907,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3908,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3916,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3920,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3895
    functionDepth: 3
    functionLinenumber: 3895
    functionLinenumberEnd: 3921
    functionName: Type_ViewingConditions_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - _cmsReadXYZNumber
    - _cmsMallocZero
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_ViewingConditions_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3929,1
    - Dst: _cmsWriteXYZNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3930,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3931,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3935,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3936,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3937
      start: 3924
    functionDepth: 2
    functionLinenumber: 3924
    functionLinenumberEnd: 3937
    functionName: Type_ViewingConditions_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt32Number
    - cmsUNUSED_PARAMETER
    - _cmsWriteXYZNumber
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_ViewingConditions_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3943,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3944,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3947
      start: 3940
    functionDepth: 3
    functionLinenumber: 3940
    functionLinenumberEnd: 3947
    functionName: Type_ViewingConditions_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Type_ViewingConditions_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3953,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3955
      start: 3950
    functionDepth: 3
    functionLinenumber: 3950
    functionLinenumberEnd: 3955
    functionName: Type_ViewingConditions_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Type_ViewingConditions_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3966,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3968,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3970
      start: 3963
    functionDepth: 1
    functionLinenumber: 3963
    functionLinenumberEnd: 3970
    functionName: GenericMPEdup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsStageDup
    linkageType: ''
    returnType: void
    signature: void * GenericMPEdup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3975,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3979
      start: 3972
    functionDepth: 2
    functionLinenumber: 3972
    functionLinenumberEnd: 3979
    functionName: GenericMPEfree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsStageFree
    linkageType: ''
    returnType: void
    signature: void GenericMPEfree(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void *Ptr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:3997,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4000,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4005,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4006,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4007,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4010,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4017,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4027,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4028,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4037,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4038,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4046,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4056,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4059,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4063,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4072,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4073,1
    - Dst: cmsBuildSegmentedToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4080,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4083,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4085,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4091,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4093,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 94
    argCount: 3
    argNames:
    - ContextID
    - self
    - io
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4096
      start: 3988
    functionDepth: 3
    functionLinenumber: 3988
    functionLinenumberEnd: 4096
    functionName: ReadSegmentedCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - _cmsCalloc
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - cmsBuildSegmentedToneCurve
    - _cmsTagSignature2String
    - _cmsFree
    - _cmsReadFloat32Number
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * ReadSegmentedCurve(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReadSegmentedCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4108,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Cargo
    - n
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4112
      start: 4099
    functionDepth: 4
    functionLinenumber: 4099
    functionLinenumberEnd: 4112
    functionName: ReadMPECurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - ReadSegmentedCurve
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ReadMPECurve(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                     cmsIOHANDLER* io,\n                     void* Cargo,\n
      \                    cmsUInt32Number n,\n                     cmsUInt32Number
      SizeOfTag)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4125,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4127,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4128,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4132,1
    - Dst: ReadPositionTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4135,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4137,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4144,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4147,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4151,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4152
      start: 4114
    functionDepth: 4
    functionLinenumber: 4114
    functionLinenumberEnd: 4152
    functionName: Type_MPEcurve_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsCalloc
    - cmsFreeToneCurve
    - cmsStageAllocToneCurves
    - cmsUNUSED_PARAMETER
    - ReadPositionTable
    - cmsIOHANDLER*::Tell
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void *Type_MPEcurve_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4163,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4164,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4165,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4166,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4170,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4181,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4182,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4183,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4186,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4195,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4196,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4202,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4203,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4206,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 62
    argCount: 3
    argNames:
    - ContextID
    - io
    - g
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4218
      start: 4156
    functionDepth: 2
    functionLinenumber: 4156
    functionLinenumberEnd: 4218
    functionName: WriteSegmentedCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteFloat32Number
    - _cmsWriteUInt16Number
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteSegmentedCurve(cmsContext ContextID, cmsIOHANDLER* io,
      cmsToneCurve* g)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WriteSegmentedCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4230,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4232,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Cargo
    - n
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4234
      start: 4221
    functionDepth: 3
    functionLinenumber: 4221
    functionLinenumberEnd: 4234
    functionName: WriteMPECurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - WriteSegmentedCurve
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool WriteMPECurve(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                      cmsIOHANDLER* io,\n                      void*
      Cargo,\n                      cmsUInt32Number n,\n                      cmsUInt32Number
      SizeOfTag)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4244,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4247,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4248,1
    - Dst: WritePositionTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4250,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4237
    functionDepth: 4
    functionLinenumber: 4237
    functionLinenumberEnd: 4257
    functionName: Type_MPEcurve_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Tell
    - _cmsWriteUInt16Number
    - cmsUNUSED_PARAMETER
    - WritePositionTable
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_MPEcurve_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4274,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4276,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4277,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4287,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4290,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4293,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4301,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4302,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4303,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4314,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4315,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4316,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4323,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4324,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4325,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4331,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 4266
    functionDepth: 3
    functionLinenumber: 4266
    functionLinenumberEnd: 4332
    functionName: Type_MPEmatrix_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsCalloc
    - cmsStageAllocMatrix
    - cmsUNUSED_PARAMETER
    - _cmsFree
    - _cmsReadFloat32Number
    linkageType: ''
    returnType: void
    signature: void *Type_MPEmatrix_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4341,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4342,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4347,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4355,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4358,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4364,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4365,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4366
      start: 4334
    functionDepth: 2
    functionLinenumber: 4334
    functionLinenumberEnd: 4366
    functionName: Type_MPEmatrix_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsWriteUInt16Number
    - _cmsWriteFloat32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_MPEmatrix_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4378,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4380,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4381,1
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4386,1
    - Dst: cmsStageAllocCLutFloatGranular
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4398,1
    - Dst: _cmsReadFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4405,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4413,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4416,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4417
      start: 4370
    functionDepth: 2
    functionLinenumber: 4370
    functionLinenumberEnd: 4417
    functionName: Type_MPEclut_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsStageAllocCLutFloatGranular
    - _cmsReadUInt16Number
    - cmsIOHANDLER*::Read
    - cmsUNUSED_PARAMETER
    - cmsStageFree
    - _cmsReadFloat32Number
    linkageType: ''
    returnType: void
    signature: void *Type_MPEclut_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4434,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4435,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4437,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4442,1
    - Dst: _cmsWriteFloat32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4446,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4451,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4452,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4453
      start: 4420
    functionDepth: 2
    functionLinenumber: 4420
    functionLinenumberEnd: 4453
    functionName: Type_MPEclut_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt16Number
    - _cmsWriteFloat32Number
    - cmsIOHANDLER*::Write
    - cmsUNUSED_PARAMETER
    - memset
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_MPEclut_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4481,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4485,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4488,1
    - Dst: GetHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4491,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4496,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4499,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4508,1
    - Dst: cmsTagTypeHandler*::ReadPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4508,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4514,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - Cargo
    - n
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4516
      start: 4470
    functionDepth: 3
    functionLinenumber: 4470
    functionLinenumberEnd: 4516
    functionName: ReadMPEElem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsPipelineInsertStage
    - cmsTagTypeHandler*::ReadPtr
    - _cmsContextGetClientChunk
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - GetHandler
    - _cmsTagSignature2String
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool ReadMPEElem(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                    cmsIOHANDLER* io,\n                    void* Cargo,\n
      \                   cmsUInt32Number n,\n                    cmsUInt32Number
      SizeOfTag)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4529,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4532,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4533,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4539,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4542,1
    - Dst: ReadPositionTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4543,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4555,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4559,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4560
      start: 4520
    functionDepth: 4
    functionLinenumber: 4520
    functionLinenumberEnd: 4560
    functionName: Type_MPE_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - cmsUNUSED_PARAMETER
    - cmsPipelineAlloc
    - ReadPositionTable
    - cmsIOHANDLER*::Tell
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void *Type_MPE_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4576,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4578,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4580,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4581,1
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4582,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4584,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4587,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4591,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4592,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4593,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4595,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4599,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4600,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4606,1
    - Dst: GetHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4610,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4615,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4618,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4622,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4623,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4624,1
    - Dst: cmsTagTypeHandler*::WritePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4625,1
    - Dst: _cmsWriteAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4626,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4628,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4634,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4636,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4639,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4640,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4643,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4645,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4646,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4650,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4651,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4654,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 85
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4655
      start: 4565
    functionDepth: 3
    functionLinenumber: 4565
    functionLinenumberEnd: 4655
    functionName: Type_MPE_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteAlignment
    - cmsIOHANDLER*::Seek
    - _cmsWriteUInt16Number
    - _cmsCalloc
    - _cmsWriteUInt32Number
    - _cmsContextGetClientChunk
    - cmsPipelineInputChannels
    - cmsPipelineOutputChannels
    - cmsSignalError
    - cmsUNUSED_PARAMETER
    - GetHandler
    - cmsTagTypeHandler*::WritePtr
    - cmsIOHANDLER*::Tell
    - _cmsTagSignature2String
    - _cmsFree
    - cmsPipelineStageCount
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_MPE_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4661,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4663,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4665
      start: 4658
    functionDepth: 1
    functionLinenumber: 4658
    functionLinenumberEnd: 4665
    functionName: Type_MPE_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineDup
    linkageType: ''
    returnType: void
    signature: void * Type_MPE_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4670,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4667
    functionDepth: 3
    functionLinenumber: 4667
    functionLinenumberEnd: 4674
    functionName: Type_MPE_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsPipelineFree
    linkageType: ''
    returnType: void
    signature: void Type_MPE_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void *Ptr)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4701,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4706,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4709,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4721,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4724,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4729,1
    - Dst: _cmsReadUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4730,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4740,1
    - Dst: _cmsReadUInt8Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4752,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4753,1
    - Dst: _cmsReadUInt16Array
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4759,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4764,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4781,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4782,1
    - Dst: _cmsRead15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4783,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4798,1
    - Dst: cmsBuildParametricToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4805,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4813,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4823,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4824,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4827,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 91
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4828
      start: 4693
    functionDepth: 4
    functionLinenumber: 4693
    functionLinenumberEnd: 4828
    functionName: Type_vcgt_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - _cmsReadUInt16Number
    - _cmsReadUInt32Number
    - _cmsReadUInt8Number
    - _cmsCalloc
    - _cmsRead15Fixed16Number
    - pow
    - cmsBuildParametricToneCurve
    - cmsSignalError
    - cmsBuildTabulatedToneCurve16
    - _cmsReadUInt16Array
    - cmsUNUSED_PARAMETER
    - _cmsFree
    - cmsFreeToneCurveTriple
    linkageType: ''
    returnType: void
    signature: "void *Type_vcgt_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self,\n                     cmsIOHANDLER* io,\n                     cmsUInt32Number*
      nItems,\n                     cmsUInt32Number SizeOfTag)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetToneCurveParametricType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4838,1
    - Dst: cmsGetToneCurveParametricType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4839,1
    - Dst: cmsGetToneCurveParametricType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4840,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4842,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4851,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4853,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4854,1
    - Dst: _cmsWrite15Fixed16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4855,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4862,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4863,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4864,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4865,1
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4870,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4871,1
    - Dst: _cmsWriteUInt16Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4873,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4880,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4881,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 34
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4882
      start: 4832
    functionDepth: 2
    functionLinenumber: 4832
    functionLinenumberEnd: 4882
    functionName: Type_vcgt_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - pow
    - _cmsWriteUInt16Number
    - _cmsWrite15Fixed16Number
    - _cmsWriteUInt32Number
    - cmsUNUSED_PARAMETER
    - _cmsQuickSaturateWord
    - cmsGetToneCurveParametricType
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_vcgt_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4889,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4891,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4894,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4895,1
    - Dst: cmsDupToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4896,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4901
      start: 4884
    functionDepth: 3
    functionLinenumber: 4884
    functionLinenumberEnd: 4901
    functionName: Type_vcgt_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDupToneCurve
    - _cmsCalloc
    linkageType: ''
    returnType: void
    signature: void * Type_vcgt_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4907,1
    - Dst: cmsFreeToneCurveTriple
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4908,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4910
      start: 4904
    functionDepth: 4
    functionLinenumber: 4904
    functionLinenumberEnd: 4910
    functionName: Type_vcgt_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFree
    - cmsFreeToneCurveTriple
    linkageType: ''
    returnType: void
    signature: void Type_vcgt_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4933,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4936,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4939,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - e
    - Count
    argTypes:
    - cmsContext
    - _cmsDICelem*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4944
      start: 4930
    functionDepth: 3
    functionLinenumber: 4930
    functionLinenumberEnd: 4944
    functionName: AllocElem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    - _cmsCalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AllocElem(cmsContext ContextID, _cmsDICelem* e,  cmsUInt32Number
      Count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4950,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - e
    argTypes:
    - cmsContext
    - _cmsDICelem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4953
      start: 4947
    functionDepth: 3
    functionLinenumber: 4947
    functionLinenumberEnd: 4953
    functionName: FreeElem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void FreeElem(cmsContext ContextID, _cmsDICelem* e)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FreeElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4959,1
    - Dst: FreeElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4960,1
    - Dst: FreeElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4961,1
    - Dst: FreeElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4962,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - _cmsDICarray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4956
    functionDepth: 4
    functionLinenumber: 4956
    functionLinenumberEnd: 4963
    functionName: FreeArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - FreeElem
    linkageType: ''
    returnType: void
    signature: void FreeArray(cmsContext ContextID, _cmsDICarray* a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4971,1
    - Dst: AllocElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4974,1
    - Dst: AllocElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4975,1
    - Dst: AllocElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4978,1
    - Dst: AllocElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4982,1
    - Dst: FreeArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4987,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - ContextID
    - a
    - Count
    - Length
    argTypes:
    - cmsContext
    - _cmsDICarray*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4989
      start: 4967
    functionDepth: 5
    functionLinenumber: 4967
    functionLinenumberEnd: 4989
    functionName: AllocArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - AllocElem
    - memset
    - FreeArray
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AllocArray(cmsContext ContextID, _cmsDICarray* a, cmsUInt32Number
      Count, cmsUInt32Number Length)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4995,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:4996,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - io
    - e
    - i
    - BaseOffset
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5002
      start: 4992
    functionDepth: 2
    functionLinenumber: 4992
    functionLinenumberEnd: 5002
    functionName: ReadOneElem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadOneElem(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICelem*
      e, cmsUInt32Number i, cmsUInt32Number BaseOffset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ReadOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5013,1
    - Dst: ReadOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5014,1
    - Dst: ReadOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5018,1
    - Dst: ReadOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 6
    argNames:
    - ContextID
    - io
    - a
    - Count
    - Length
    - BaseOffset
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICarray*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5005
    functionDepth: 3
    functionLinenumber: 5005
    functionLinenumberEnd: 5028
    functionName: ReadOffsetArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - ReadOneElem
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadOffsetArray(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICarray*
      a, cmsUInt32Number Count, cmsUInt32Number Length, cmsUInt32Number BaseOffset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5035,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - io
    - e
    - i
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5039
      start: 5032
    functionDepth: 2
    functionLinenumber: 5032
    functionLinenumberEnd: 5039
    functionName: WriteOneElem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsWriteUInt32Number
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteOneElem(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICelem*
      e, cmsUInt32Number i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WriteOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5048,1
    - Dst: WriteOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5049,1
    - Dst: WriteOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5053,1
    - Dst: WriteOneElem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5058,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - io
    - a
    - Count
    - Length
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICarray*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5063
      start: 5041
    functionDepth: 3
    functionLinenumber: 5041
    functionLinenumberEnd: 5063
    functionName: WriteOffsetArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - WriteOneElem
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteOffsetArray(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICarray*
      a, cmsUInt32Number Count, cmsUInt32Number Length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5079,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5084,1
    - Dst: _cmsReadWCharArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5087,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ContextID
    - io
    - e
    - i
    - wcstr
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    - wchar_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5095
      start: 5065
    functionDepth: 3
    functionLinenumber: 5065
    functionLinenumberEnd: 5095
    functionName: ReadOneWChar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Seek
    - _cmsReadWCharArray
    - _cmsFree
    - _cmsMallocZero
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadOneWChar(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICelem*
      e, cmsUInt32Number i, wchar_t ** wcstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5107
      start: 5097
    functionDepth: 0
    functionLinenumber: 5097
    functionLinenumberEnd: 5107
    functionName: mywcslen
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number mywcslen(const wchar_t *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5112,1
    - Dst: mywcslen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5123,1
    - Dst: _cmsWriteWCharArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5124,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - ContextID
    - io
    - e
    - i
    - wcstr
    - BaseOffset
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    - wchar_t*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5128
      start: 5109
    functionDepth: 3
    functionLinenumber: 5109
    functionLinenumberEnd: 5128
    functionName: WriteOneWChar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Tell
    - _cmsWriteWCharArray
    - mywcslen
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteOneWChar(cmsContext ContextID, cmsIOHANDLER* io,  _cmsDICelem*
      e, cmsUInt32Number i, const wchar_t * wcstr, cmsUInt32Number BaseOffset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5142,1
    - Dst: Type_MLU_Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - ContextID
    - self
    - io
    - e
    - i
    - mlu
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    - cmsMLU**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5146
      start: 5130
    functionDepth: 4
    functionLinenumber: 5130
    functionLinenumberEnd: 5146
    functionName: ReadOneMLUC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - Type_MLU_Read
    - cmsIOHANDLER*::Seek
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ReadOneMLUC(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io,  _cmsDICelem* e, cmsUInt32Number i, cmsMLU** mlu)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5161,1
    - Dst: Type_MLU_Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5164,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - ContextID
    - self
    - io
    - e
    - i
    - mlu
    - BaseOffset
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - _cmsDICelem*
    - cmsUInt32Number
    - cmsMLU*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5168
      start: 5148
    functionDepth: 4
    functionLinenumber: 5148
    functionLinenumberEnd: 5168
    functionName: WriteOneMLUC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Tell
    - Type_MLU_Write
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WriteOneMLUC(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io,  _cmsDICelem* e, cmsUInt32Number i, const cmsMLU* mlu,
      cmsUInt32Number BaseOffset)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5185,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5188,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5192,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5197,1
    - Dst: cmsDictAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5202,1
    - Dst: AllocArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5206,1
    - Dst: ReadOffsetArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5209,1
    - Dst: ReadOneWChar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5214,1
    - Dst: ReadOneWChar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5215,1
    - Dst: ReadOneMLUC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5218,1
    - Dst: ReadOneMLUC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5222,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5227,1
    - Dst: cmsDictAddEntry
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5232,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5235,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5236,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5237,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5238,1
    - Dst: FreeArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5243,1
    - Dst: FreeArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5248,1
    - Dst: cmsDictFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5249,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - nItems
    - SizeOfTag
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - cmsUInt32Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5251
      start: 5171
    functionDepth: 6
    functionLinenumber: 5171
    functionLinenumberEnd: 5251
    functionName: Type_Dictionary_Read
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsReadUInt32Number
    - cmsDictAlloc
    - FreeArray
    - ReadOffsetArray
    - cmsSignalError
    - ReadOneMLUC
    - ReadOneWChar
    - cmsDictAddEntry
    - cmsDictFree
    - cmsIOHANDLER*::Tell
    - AllocArray
    - _cmsFree
    - cmsMLUfree
    linkageType: ''
    returnType: void
    signature: void *Type_Dictionary_Read(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, cmsUInt32Number* nItems, cmsUInt32Number SizeOfTag)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5266,1
    - Dst: cmsDictGetEntryList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5270,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5270,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5281,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5282,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5285,1
    - Dst: AllocArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5288,1
    - Dst: WriteOffsetArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5291,1
    - Dst: cmsDictGetEntryList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5294,1
    - Dst: WriteOneWChar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5297,1
    - Dst: WriteOneWChar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5298,1
    - Dst: WriteOneMLUC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5301,1
    - Dst: WriteOneMLUC
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5305,1
    - Dst: cmsDictNextEntry
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5308,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5312,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5313,1
    - Dst: WriteOffsetArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5315,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5317,1
    - Dst: FreeArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5319,1
    - Dst: FreeArray
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5323,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5326,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 67
    argCount: 5
    argNames:
    - ContextID
    - self
    - io
    - Ptr
    - nItems
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5254
    functionDepth: 6
    functionLinenumber: 5254
    functionLinenumberEnd: 5327
    functionName: Type_Dictionary_Write
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsIOHANDLER*::Seek
    - WriteOneWChar
    - FreeArray
    - _cmsWriteUInt32Number
    - cmsDictGetEntryList
    - WriteOneMLUC
    - cmsUNUSED_PARAMETER
    - WriteOffsetArray
    - cmsIOHANDLER*::Tell
    - AllocArray
    - cmsDictNextEntry
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Type_Dictionary_Write(cmsContext ContextID, struct _cms_typehandler_struct*
      self, cmsIOHANDLER* io, void* Ptr, cmsUInt32Number nItems)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDictDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5333,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5335,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - self
    - Ptr
    - n
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5337
      start: 5330
    functionDepth: 4
    functionLinenumber: 5330
    functionLinenumberEnd: 5337
    functionName: Type_Dictionary_Dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDictDup
    linkageType: ''
    returnType: void
    signature: void * Type_Dictionary_Dup(cmsContext ContextID, struct _cms_typehandler_struct*
      self, const void *Ptr, cmsUInt32Number n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDictFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5343,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - self
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_typehandler_struct*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5345
      start: 5340
    functionDepth: 3
    functionLinenumber: 5340
    functionLinenumberEnd: 5345
    functionName: Type_Dictionary_Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsDictFree
    linkageType: ''
    returnType: void
    signature: void Type_Dictionary_Free(cmsContext ContextID, struct _cms_typehandler_struct*
      self, void* Ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5410,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ctx
    - src
    - loc
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5427
      start: 5395
    functionDepth: 6
    functionLinenumber: 5395
    functionLinenumberEnd: 5427
    functionName: DupTagTypeList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupTagTypeList(struct _cmsContext_struct* ctx,\n                    const
      struct _cmsContext_struct* src,\n                    int loc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupTagTypeList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5436,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5442
      start: 5430
    functionDepth: 7
    functionLinenumber: 5430
    functionLinenumberEnd: 5442
    functionName: _cmsAllocTagTypePluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - DupTagTypeList
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocTagTypePluginChunk(struct _cmsContext_struct* ctx,\n
      \                                const struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupTagTypeList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5450,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5457
      start: 5444
    functionDepth: 7
    functionLinenumber: 5444
    functionLinenumberEnd: 5457
    functionName: _cmsAllocMPETypePluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - DupTagTypeList
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocMPETypePluginChunk(struct _cmsContext_struct* ctx,\n
      \                              const struct _cmsContext_struct* src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegisterTypesPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5464
      start: 5461
    functionDepth: 3
    functionLinenumber: 5461
    functionLinenumberEnd: 5464
    functionName: _cmsRegisterTagTypePlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - RegisterTypesPlugin
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterTagTypePlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RegisterTypesPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5469
      start: 5466
    functionDepth: 3
    functionLinenumber: 5466
    functionLinenumberEnd: 5469
    functionName: _cmsRegisterMultiProcessElementPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - RegisterTypesPlugin
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterMultiProcessElementPlugin(cmsContext ContextID,
      cmsPluginBase* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5475,1
    - Dst: GetHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - sig
    argTypes:
    - cmsContext
    - cmsTagTypeSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5478
      start: 5473
    functionDepth: 2
    functionLinenumber: 5473
    functionLinenumberEnd: 5478
    functionName: _cmsGetTagTypeHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    - GetHandler
    linkageType: ''
    returnType: cmsTagTypeHandler
    signature: cmsTagTypeHandler * _cmsGetTagTypeHandler(cmsContext ContextID, cmsTagTypeSignature
      sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5612,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5598
    functionDepth: 6
    functionLinenumber: 5598
    functionLinenumberEnd: 5629
    functionName: DupTagList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupTagList(struct _cmsContext_struct* ctx,\n                    const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupTagList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5636,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5643
      start: 5631
    functionDepth: 7
    functionLinenumber: 5631
    functionLinenumberEnd: 5643
    functionName: _cmsAllocTagPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - DupTagList
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocTagPluginChunk(struct _cmsContext_struct* ctx,\n                                 const
      struct _cmsContext_struct* src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5649,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5667
      start: 5645
    functionDepth: 2
    functionLinenumber: 5645
    functionLinenumberEnd: 5667
    functionName: _cmsRegisterTagPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterTagPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c:5673,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - sig
    argTypes:
    - cmsContext
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5690
      start: 5670
    functionDepth: 2
    functionLinenumber: 5670
    functionLinenumberEnd: 5690
    functionName: _cmsGetTagDescriptor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmstypes.c
    functionUses: 0
    functionsReached:
    - _cmsContextGetClientChunk
    linkageType: ''
    returnType: cmsTagDescriptor
    signature: cmsTagDescriptor * _cmsGetTagDescriptor(cmsContext ContextID, cmsTagSignature
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:52,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - iohandler
    - Buffer
    - size
    - count
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: NULLRead
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number NULLRead(cmsContext ContextID, cmsIOHANDLER* iohandler,
      void *Buffer, cmsUInt32Number size, cmsUInt32Number count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - iohandler
    - offset
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: NULLSeek
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool NULLSeek(cmsContext ContextID, cmsIOHANDLER* iohandler, cmsUInt32Number
      offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: NULLTell
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number NULLTell(cmsContext ContextID, cmsIOHANDLER* iohandler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:82,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - ContextID
    - iohandler
    - size
    - Ptr
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: NULLWrite
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool NULLWrite(cmsContext ContextID, cmsIOHANDLER* iohandler, cmsUInt32Number
      size, const void *Ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:98,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 3
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: NULLClose
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool NULLClose(cmsContext ContextID, cmsIOHANDLER* iohandler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:159,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - iohandler
    - Buffer
    - size
    - count
    argTypes:
    - cmsContext
    - struct _cms_io_handler*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: MemoryRead
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsSignalError
    - memmove
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number MemoryRead(cmsContext ContextID, struct _cms_io_handler*
      iohandler, void *Buffer, cmsUInt32Number size, cmsUInt32Number count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - iohandler
    - offset
    argTypes:
    - cmsContext
    - struct _cms_io_handler*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: MemorySeek
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsSignalError
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool MemorySeek(cmsContext ContextID, struct _cms_io_handler* iohandler,
      cmsUInt32Number offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - struct _cms_io_handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: MemoryTell
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number MemoryTell(cmsContext ContextID, struct _cms_io_handler*
      iohandler)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:203,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:214,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - iohandler
    - size
    - Ptr
    argTypes:
    - cmsContext
    - struct _cms_io_handler*
    - cmsUInt32Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: MemoryWrite
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool MemoryWrite(cmsContext ContextID, struct _cms_io_handler* iohandler,
      cmsUInt32Number size, const void *Ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:231,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:234,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - struct _cms_io_handler*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: MemoryClose
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool MemoryClose(cmsContext ContextID, struct _cms_io_handler* iohandler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:321,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - iohandler
    - Buffer
    - size
    - count
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 329
    functionName: FileRead
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 9
    functionsReached:
    - cmsSignalError
    - fread
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number FileRead(cmsContext ContextID, cmsIOHANDLER* iohandler,
      void *Buffer, cmsUInt32Number size, cmsUInt32Number count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:335,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - iohandler
    - offset
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 342
    functionName: FileSeek
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 3
    functionsReached:
    - fseek
    - cmsSignalError
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool FileSeek(cmsContext ContextID, cmsIOHANDLER* iohandler, cmsUInt32Number
      offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:348,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: FileTell
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 7
    functionsReached:
    - ftell
    - cmsSignalError
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number FileTell(cmsContext ContextID, cmsIOHANDLER* iohandler)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:361,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:365,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - iohandler
    - size
    - Buffer
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsUInt32Number
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: FileWrite
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    - fwrite
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool FileWrite(cmsContext ContextID, cmsIOHANDLER* iohandler, cmsUInt32Number
      size, const void* Buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:372,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - iohandler
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 375
    functionName: FileClose
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 26
    functionsReached:
    - _cmsFree
    - fclose
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool FileClose(cmsContext ContextID, cmsIOHANDLER* iohandler)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Close
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - io
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 479
    functionName: cmsCloseIOhandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 2
    functionsReached:
    - cmsIOHANDLER*::Close
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsCloseIOhandler(cmsContext ContextID, cmsIOHANDLER* io)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:495,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:496,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:507,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:507,1
    - Dst: _cmsCreateMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 514
    functionName: cmsCreateProfilePlaceholder
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 14
    functionsReached:
    - gmtime
    - _cmsMallocZero
    - memmove
    - time
    - _cmsCreateMutex
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsCreateProfilePlaceholder(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 524
    functionName: cmsGetTagCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 3
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number cmsGetTagCount(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:530,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - n
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 536
    functionName: cmsGetTagSignature
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsTagSignature
    signature: cmsTagSignature cmsGetTagSignature(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsUInt32Number n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - Profile
    - sig
    argTypes:
    - _cmsICCPROFILE*
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 551
    functionName: SearchOneTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int SearchOneTag(_cmsICCPROFILE* Profile, cmsTagSignature sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:559,1
    - Dst: SearchOneTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:564,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - Icc
    - sig
    - lFollowLinks
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    - cmsTagSignature
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 582
    functionName: _cmsSearchTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - SearchOneTag
    linkageType: ''
    returnType: int
    signature: int _cmsSearchTag(cmsContext ContextID, _cmsICCPROFILE* Icc, cmsTagSignature
      sig, cmsBool lFollowLinks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:589,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:590,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:597,1
    - Dst: cmsTagTypeHandler::FreePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:606,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - Icc
    - i
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 612
    functionName: _cmsDeleteTagByPos
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsFree
    - cmsTagTypeHandler::FreePtr
    linkageType: ''
    returnType: void
    signature: void _cmsDeleteTagByPos(cmsContext ContextID, _cmsICCPROFILE* Icc,
      int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:622,1
    - Dst: _cmsDeleteTagByPos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:626,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ContextID
    - Icc
    - sig
    - NewPos
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    - cmsTagSignature
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 642
    functionName: _cmsNewTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsSearchTag
    - cmsSignalError
    - _cmsDeleteTagByPos
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsNewTag(cmsContext ContextID, _cmsICCPROFILE* Icc, cmsTagSignature
      sig, int* NewPos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 650
    functionName: cmsIsTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 4
    functionsReached:
    - _cmsSearchTag
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIsTag(cmsContext ContextID, cmsHPROFILE hProfile, cmsTagSignature
      sig)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - DWord
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 675
    functionName: _validatedVersion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number _validatedVersion(cmsUInt32Number DWord)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmsIOHANDLER*::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:689,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:694,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:695,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:700,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:701,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:702,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:704,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:705,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:706,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:707,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:708,1
    - Dst: _cmsAdjustEndianess64
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:710,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:711,1
    - Dst: _validatedVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:711,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:714,1
    - Dst: _cmsDecodeDateTimeNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:722,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:725,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:729,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:732,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:741,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:742,1
    - Dst: _cmsReadUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:743,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - ContextID
    - Icc
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 678
    functionDepth: 3
    functionLinenumber: 678
    functionLinenumberEnd: 769
    functionName: _cmsReadHeader
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsAdjustEndianess64
    - _cmsReadUInt32Number
    - _validatedVersion
    - _cmsAdjustEndianess32
    - cmsIOHANDLER*::Read
    - cmsSignalError
    - memmove
    - _cmsDecodeDateTimeNumber
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsReadHeader(cmsContext ContextID, _cmsICCPROFILE* Icc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:779,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:780,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:781,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:783,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:784,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:785,1
    - Dst: _cmsEncodeDateTimeNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:788,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:790,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:793,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:795,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:798,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:799,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:800,1
    - Dst: _cmsAdjustEndianess64
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:802,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:805,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:808,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:808,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:808,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:809,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:809,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:809,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:810,1
    - Dst: _cmsDoubleTo15Fixed16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:810,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:810,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:813,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:815,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:818,1
    - Dst: _cmsICCPROFILE*::IOhandler::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:821,1
    - Dst: _cmsWriteUInt32Number
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:833,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:839,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:840,1
    - Dst: _cmsAdjustEndianess32
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:841,1
    - Dst: _cmsICCPROFILE*::IOhandler::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:843,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - ContextID
    - Icc
    - UsedSpace
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 847
    functionName: _cmsWriteHeader
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsAdjustEndianess64
    - _cmsEncodeDateTimeNumber
    - cmsD50_XYZ
    - _cmsDoubleTo15Fixed16
    - _cmsAdjustEndianess32
    - _cmsWriteUInt32Number
    - _cmsICCPROFILE*::IOhandler::Write
    - memmove
    - memset
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsWriteHeader(cmsContext ContextID, _cmsICCPROFILE* Icc,
      cmsUInt32Number UsedSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: cmsGetHeaderRenderingIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetHeaderRenderingIntent(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - RenderingIntent
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 864
    functionName: cmsSetHeaderRenderingIntent
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 8
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderRenderingIntent(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsUInt32Number RenderingIntent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 871
    functionName: cmsGetHeaderFlags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetHeaderFlags(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Flags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 878
    functionName: cmsSetHeaderFlags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderFlags(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt32Number Flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 885
    functionName: cmsGetHeaderManufacturer
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetHeaderManufacturer(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - manufacturer
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 892
    functionName: cmsSetHeaderManufacturer
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderManufacturer(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt32Number manufacturer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: cmsGetHeaderCreator
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetHeaderCreator(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: cmsGetHeaderModel
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetHeaderModel(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - model
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 913
    functionName: cmsSetHeaderModel
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderModel(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt32Number model)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:918,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Flags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt64Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: cmsGetHeaderAttributes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: void
    signature: void cmsGetHeaderAttributes(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt64Number* Flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:925,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Flags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 927
    functionName: cmsSetHeaderAttributes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderAttributes(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt64Number Flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:932,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - ProfileID
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt8Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 934
    functionName: cmsGetHeaderProfileID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: void
    signature: void cmsGetHeaderProfileID(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt8Number* ProfileID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:939,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - ProfileID
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt8Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 941
    functionName: cmsSetHeaderProfileID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: void
    signature: void cmsSetHeaderProfileID(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt8Number* ProfileID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:946,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Dest
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - struct tm*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 949
    functionName: cmsGetHeaderCreationDateTime
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - memmove
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsGetHeaderCreationDateTime(cmsContext ContextID, cmsHPROFILE
      hProfile, struct tm *Dest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: cmsGetPCS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 11
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsColorSpaceSignature
    signature: cmsColorSpaceSignature cmsGetPCS(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - pcs
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 963
    functionName: cmsSetPCS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 15
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetPCS(cmsContext ContextID, cmsHPROFILE hProfile, cmsColorSpaceSignature
      pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 970
    functionName: cmsGetColorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 16
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsColorSpaceSignature
    signature: cmsColorSpaceSignature cmsGetColorSpace(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 977
    functionName: cmsSetColorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 14
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetColorSpace(cmsContext ContextID, cmsHPROFILE hProfile, cmsColorSpaceSignature
      sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 984
    functionName: cmsGetDeviceClass
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 14
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsProfileClassSignature
    signature: cmsProfileClassSignature cmsGetDeviceClass(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsProfileClassSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 1
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: cmsSetDeviceClass
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 14
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetDeviceClass(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsProfileClassSignature sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 993
    functionDepth: 1
    functionLinenumber: 993
    functionLinenumberEnd: 998
    functionName: cmsGetEncodedICCversion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsGetEncodedICCversion(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Version
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: cmsSetEncodedICCversion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsSetEncodedICCversion(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsUInt32Number Version)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - in
    - BaseIn
    - BaseOut
    argTypes:
    - cmsUInt32Number
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1026
    functionName: BaseToBase
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number BaseToBase(cmsUInt32Number in, int BaseIn, int BaseOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1031,1
    - Dst: BaseToBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1035,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Version
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: cmsSetProfileVersion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 15
    functionsReached:
    - cmsUNUSED_PARAMETER
    - BaseToBase
    - floor
    linkageType: ''
    returnType: void
    signature: void cmsSetProfileVersion(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsFloat64Number Version)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1042,1
    - Dst: BaseToBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: cmsGetProfileVersion
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    - BaseToBase
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsGetProfileVersion(cmsContext ContextID, cmsHPROFILE
      hProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1053,1
    - Dst: _cmsReadHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1060,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ContextID
    - io
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1050
    functionDepth: 4
    functionLinenumber: 1050
    functionLinenumberEnd: 1066
    functionName: cmsOpenProfileFromIOhandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsReadHeader
    - cmsCloseProfile
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsOpenProfileFromIOhandler(cmsContext ContextID, cmsIOHANDLER*
      io)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1072,1
    - Dst: _cmsReadHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1085,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ContextID
    - io
    - write
    argTypes:
    - cmsContext
    - cmsIOHANDLER*
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1091
    functionName: cmsOpenProfileFromIOhandler2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsReadHeader
    - cmsCloseProfile
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsOpenProfileFromIOhandler2(cmsContext ContextID, cmsIOHANDLER*
      io, cmsBool write)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1098,1
    - Dst: cmsOpenIOhandlerFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1104,1
    - Dst: _cmsReadHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1114,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - lpFileName
    - sAccess
    argTypes:
    - cmsContext
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1095
    functionDepth: 4
    functionLinenumber: 1095
    functionLinenumberEnd: 1120
    functionName: cmsOpenProfileFromFile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 29
    functionsReached:
    - _cmsReadHeader
    - cmsOpenIOhandlerFromFile
    - cmsCloseProfile
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsOpenProfileFromFile(cmsContext ContextID, const char
      *lpFileName, const char *sAccess)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1126,1
    - Dst: cmsOpenIOhandlerFromStream
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1132,1
    - Dst: _cmsReadHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1141,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - ICCProfile
    - sAccess
    argTypes:
    - cmsContext
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1123
    functionDepth: 4
    functionLinenumber: 1123
    functionLinenumberEnd: 1148
    functionName: cmsOpenProfileFromStream
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsReadHeader
    - cmsOpenIOhandlerFromStream
    - cmsCloseProfile
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsOpenProfileFromStream(cmsContext ContextID, FILE* ICCProfile,
      const char *sAccess)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1157,1
    - Dst: cmsOpenIOhandlerFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1164,1
    - Dst: _cmsReadHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1167,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - ContextID
    - MemPtr
    - dwSize
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1152
    functionDepth: 4
    functionLinenumber: 1152
    functionLinenumberEnd: 1174
    functionName: cmsOpenProfileFromMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 4
    functionsReached:
    - _cmsReadHeader
    - cmsCloseProfile
    - cmsOpenIOhandlerFromMem
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE cmsOpenProfileFromMem(cmsContext ContextID, const void*
      MemPtr, cmsUInt32Number dwSize)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1190,1
    - Dst: _cmsICCPROFILE*::IOhandler::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1214,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1216,1
    - Dst: _cmsICCPROFILE*::IOhandler::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1219,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1220,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1221,1
    - Dst: _cmsWriteAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1227,1
    - Dst: cmsIOHANDLER*::Write
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1238,1
    - Dst: _cmsGetTagDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1243,1
    - Dst: cmsTagDescriptor*::DecideType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1247,1
    - Dst: _cmsGetTagTypeHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1253,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1256,1
    - Dst: _cmsWriteTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1261,1
    - Dst: cmsTagTypeHandler::WritePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1266,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1270,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1271,1
    - Dst: _cmsWriteAlignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1280,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - ContextID
    - Icc
    - FileOrig
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    - _cmsICCPROFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1179
    functionDepth: 3
    functionLinenumber: 1179
    functionLinenumberEnd: 1286
    functionName: SaveTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsWriteAlignment
    - _cmsGetTagDescriptor
    - _cmsICCPROFILE*::IOhandler::Seek
    - cmsIOHANDLER*::Write
    - cmsSignalError
    - cmsTagTypeHandler::WritePtr
    - _cmsICCPROFILE*::IOhandler::Read
    - _cmsMalloc
    - cmsTagDescriptor*::DecideType
    - _cmsGetTagTypeHandler
    - _cmsWriteTypeBase
    - cmsGetProfileVersion
    - _cmsTagSignature2String
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SaveTags(cmsContext ContextID, _cmsICCPROFILE* Icc, _cmsICCPROFILE*
      FileOrig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - Icc
    argTypes:
    - cmsContext
    - _cmsICCPROFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1290
    functionDepth: 2
    functionLinenumber: 1290
    functionLinenumberEnd: 1311
    functionName: SetLinks
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsSearchTag
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetLinks(cmsContext ContextID, _cmsICCPROFILE* Icc)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1323,1
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1325,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1326,1
    - Dst: cmsOpenIOhandlerFromNULL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1328,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1330,1
    - Dst: _cmsWriteHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1336,1
    - Dst: SaveTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1337,1
    - Dst: SetLinks
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1346,1
    - Dst: _cmsWriteHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1347,1
    - Dst: SaveTags
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1348,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1351,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1352,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1355,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1361,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1362,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1363,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - io
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsIOHANDLER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1316
    functionDepth: 4
    functionLinenumber: 1316
    functionLinenumberEnd: 1366
    functionName: cmsSaveProfileToIOhandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsWriteHeader
    - _cmsUnlockMutex
    - cmsOpenIOhandlerFromNULL
    - _cmsAssert
    - memmove
    - _cmsLockMutex
    - cmsCloseIOhandler
    - SaveTags
    - SetLinks
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsSaveProfileToIOhandler(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsIOHANDLER* io)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenIOhandlerFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1372,1
    - Dst: cmsSaveProfileToIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1377,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1378,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - FileName
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1370
    functionDepth: 5
    functionLinenumber: 1370
    functionLinenumberEnd: 1384
    functionName: cmsSaveProfileToFile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 8
    functionsReached:
    - cmsCloseIOhandler
    - cmsOpenIOhandlerFromFile
    - remove
    - cmsSaveProfileToIOhandler
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsSaveProfileToFile(cmsContext ContextID, cmsHPROFILE hProfile,
      const char* FileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsOpenIOhandlerFromStream
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1390,1
    - Dst: cmsSaveProfileToIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1394,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - Stream
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1387
    functionDepth: 5
    functionLinenumber: 1387
    functionLinenumberEnd: 1398
    functionName: cmsSaveProfileToStream
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - cmsCloseIOhandler
    - cmsOpenIOhandlerFromStream
    - cmsSaveProfileToIOhandler
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsSaveProfileToStream(cmsContext ContextID, cmsHPROFILE hProfile,
      FILE* Stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1407,1
    - Dst: cmsSaveProfileToIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1412,1
    - Dst: cmsOpenIOhandlerFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1417,1
    - Dst: cmsSaveProfileToIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1420,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - MemPtr
    - BytesNeeded
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - void*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1402
    functionDepth: 5
    functionLinenumber: 1402
    functionLinenumberEnd: 1424
    functionName: cmsSaveProfileToMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 4
    functionsReached:
    - _cmsAssert
    - cmsCloseIOhandler
    - cmsOpenIOhandlerFromMem
    - cmsSaveProfileToIOhandler
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsSaveProfileToMem(cmsContext ContextID, cmsHPROFILE hProfile,
      void *MemPtr, cmsUInt32Number* BytesNeeded)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1441,1
    - Dst: cmsTagTypeHandler::FreePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1454,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1457,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1462,1
    - Dst: _cmsDestroyMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1465,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1429
    functionDepth: 6
    functionLinenumber: 1429
    functionLinenumberEnd: 1470
    functionName: cmsCloseProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 95
    functionsReached:
    - cmsSaveProfileToFile
    - cmsTagTypeHandler::FreePtr
    - cmsCloseIOhandler
    - _cmsDestroyMutex
    - _cmsFree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsCloseProfile(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - TagDescriptor
    - Type
    argTypes:
    - cmsTagDescriptor*
    - cmsTagTypeSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1477
    functionDepth: 0
    functionLinenumber: 1477
    functionLinenumberEnd: 1491
    functionName: IsTypeSupported
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsTypeSupported(cmsTagDescriptor* TagDescriptor, cmsTagTypeSignature
      Type)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1507,1
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1509,1
    - Dst: _cmsGetTagDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1522,1
    - Dst: IsTypeSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1525,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1529,1
    - Dst: cmsIOHANDLER*::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1540,1
    - Dst: _cmsGetTagDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1544,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1549,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1552,1
    - Dst: _cmsReadTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1557,1
    - Dst: IsTypeSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1560,1
    - Dst: _cmsGetTagTypeHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1565,1
    - Dst: cmsTagTypeHandler::ReadPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1574,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1582,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1583,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1593,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1594,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1601,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1607,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 77
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1495
    functionDepth: 3
    functionLinenumber: 1495
    functionLinenumberEnd: 1609
    functionName: cmsReadTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 47
    functionsReached:
    - cmsIOHANDLER*::Seek
    - _cmsGetTagDescriptor
    - _cmsUnlockMutex
    - cmsTagTypeHandler::ReadPtr
    - cmsSignalError
    - IsTypeSupported
    - _cmsLockMutex
    - _cmsReadTypeBase
    - _cmsGetTagTypeHandler
    - _cmsSearchTag
    - _cmsTagSignature2String
    linkageType: ''
    returnType: void
    signature: void * CMSEXPORT cmsReadTag(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsTagSignature sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 1613
    functionDepth: 2
    functionLinenumber: 1613
    functionLinenumberEnd: 1626
    functionName: _cmsGetTagTrueType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 0
    functionsReached:
    - _cmsSearchTag
    linkageType: ''
    returnType: cmsTagTypeSignature
    signature: cmsTagTypeSignature _cmsGetTagTrueType(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsTagSignature sig)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1642,1
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1648,1
    - Dst: _cmsDeleteTagByPos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1652,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1654,1
    - Dst: _cmsNewTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1661,1
    - Dst: _cmsGetTagDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1670,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1672,1
    - Dst: cmsGetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1678,1
    - Dst: cmsTagDescriptor*::DecideType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1687,1
    - Dst: IsTypeSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1695,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1697,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1698,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1700,1
    - Dst: _cmsGetTagTypeHandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1705,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1708,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1709,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1711,1
    - Dst: cmsTagTypeHandler::DupPtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1724,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1728,1
    - Dst: _cmsTagSignature2String
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1729,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1730,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1735,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1739,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - sig
    - data
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1631
    functionDepth: 5
    functionLinenumber: 1631
    functionLinenumberEnd: 1742
    functionName: cmsWriteTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 45
    functionsReached:
    - _cmsGetTagDescriptor
    - _cmsUnlockMutex
    - cmsSignalError
    - _cmsNewTag
    - _cmsLockMutex
    - IsTypeSupported
    - cmsTagDescriptor*::DecideType
    - _cmsGetTagTypeHandler
    - cmsGetProfileVersion
    - cmsTagTypeHandler::DupPtr
    - _cmsSearchTag
    - _cmsTagSignature2String
    - _cmsDeleteTagByPos
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsWriteTag(cmsContext ContextID, cmsHPROFILE hProfile, cmsTagSignature
      sig, const void* data)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1762,1
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1765,1
    - Dst: _cmsICCPROFILE*::IOhandler::Seek
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1781,1
    - Dst: _cmsICCPROFILE*::IOhandler::Read
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1782,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1784,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1788,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1802,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1804,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1808,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1815,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1816,1
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1817,1
    - Dst: cmsOpenIOhandlerFromNULL
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1824,1
    - Dst: cmsOpenIOhandlerFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1826,1
    - Dst: _cmsGetTagDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1832,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1834,1
    - Dst: _cmsWriteTypeBase
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1844,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1845,1
    - Dst: cmsTagTypeHandler::WritePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1849,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1850,1
    - Dst: cmsIOHANDLER*::Tell
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1855,1
    - Dst: cmsCloseIOhandler
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1856,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1858,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1862,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 5
    argNames:
    - ContextID
    - hProfile
    - sig
    - data
    - BufferSize
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1750
    functionDepth: 4
    functionLinenumber: 1750
    functionLinenumberEnd: 1864
    functionName: cmsReadRawTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 3
    functionsReached:
    - _cmsGetTagDescriptor
    - _cmsUnlockMutex
    - cmsOpenIOhandlerFromNULL
    - _cmsICCPROFILE*::IOhandler::Seek
    - cmsTagTypeHandler::WritePtr
    - _cmsLockMutex
    - memmove
    - _cmsICCPROFILE*::IOhandler::Read
    - cmsIOHANDLER*::Tell
    - cmsCloseIOhandler
    - cmsReadTag
    - _cmsWriteTypeBase
    - _cmsSearchTag
    - cmsOpenIOhandlerFromMem
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsReadRawTag(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsTagSignature sig, void* data, cmsUInt32Number BufferSize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1875,1
    - Dst: _cmsNewTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1877,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1878,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1888,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1891,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - hProfile
    - sig
    - data
    - Size
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1870
    functionDepth: 5
    functionLinenumber: 1870
    functionLinenumberEnd: 1898
    functionName: cmsWriteRawTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - _cmsDupMem
    - _cmsUnlockMutex
    - _cmsNewTag
    - _cmsLockMutex
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsWriteRawTag(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsTagSignature sig, const void* data, cmsUInt32Number Size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsLockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1906,1
    - Dst: _cmsNewTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1908,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1909,1
    - Dst: _cmsUnlockMutex
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - sig
    - dest
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1901
    functionDepth: 5
    functionLinenumber: 1901
    functionLinenumberEnd: 1924
    functionName: cmsLinkTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 3
    functionsReached:
    - _cmsUnlockMutex
    - _cmsNewTag
    - _cmsLockMutex
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsLinkTag(cmsContext ContextID, cmsHPROFILE hProfile, cmsTagSignature
      sig, cmsTagSignature dest)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsSearchTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c:1934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - sig
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1938
    functionName: cmsTagLinkedTo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsio0.c
    functionUses: 1
    functionsReached:
    - _cmsSearchTag
    linkageType: ''
    returnType: cmsTagSignature
    signature: cmsTagSignature cmsTagLinkedTo(cmsContext ContextID, cmsHPROFILE hProfile,
      cmsTagSignature sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: DOUBLE_TO_1FIXED14
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_TO_1FIXED14(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - head
    argTypes:
    - cmsContext
    - cmsStage**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 112
    functionName: _RemoveElement
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsStageFree
    linkageType: ''
    returnType: void
    signature: void _RemoveElement(cmsContext ContextID, cmsStage** head)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _RemoveElement
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - Lut
    - UnaryOp
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsStageSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: _Remove1Op
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _RemoveElement
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _Remove1Op(cmsContext ContextID, cmsPipeline* Lut, cmsStageSignature
      UnaryOp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _RemoveElement
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:151,1
    - Dst: _RemoveElement
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:152,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - ContextID
    - Lut
    - Op1
    - Op2
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsStageSignature
    - cmsStageSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 160
    functionName: _Remove2Op
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _RemoveElement
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _Remove2Op(cmsContext ContextID, cmsPipeline* Lut, cmsStageSignature
      Op1, cmsStageSignature Op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: CloseEnoughFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CloseEnoughFloat(cmsFloat64Number a, cmsFloat64Number b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMAT3identity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:175,1
    - Dst: CloseEnoughFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - cmsMAT3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: isFloatMatrixIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - CloseEnoughFloat
    - _cmsMAT3identity
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool isFloatMatrixIdentity(cmsContext ContextID, const cmsMAT3*
      a)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:203,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:204,1
    - Dst: cmsStageInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:209,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:209,1
    - Dst: cmsStageInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:210,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:210,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:214,1
    - Dst: _RemoveElement
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:220,1
    - Dst: _RemoveElement
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:221,1
    - Dst: isFloatMatrixIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:224,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:227,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ContextID
    - Lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 184
    functionDepth: 4
    functionLinenumber: 184
    functionLinenumberEnd: 242
    functionName: _MultiplyMatrix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsStageAllocMatrix
    - _cmsMAT3per
    - _RemoveElement
    - cmsStageInputChannels
    - cmsStageOutputChannels
    - cmsStageData
    - isFloatMatrixIdentity
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _MultiplyMatrix(cmsContext ContextID, cmsPipeline* Lut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _Remove1Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:257,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:260,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:263,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:266,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:269,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:272,1
    - Dst: _Remove2Op
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:275,1
    - Dst: _MultiplyMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ContextID
    - Lut
    argTypes:
    - cmsContext
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 247
    functionDepth: 5
    functionLinenumber: 247
    functionLinenumberEnd: 285
    functionName: PreOptimize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _Remove2Op
    - _MultiplyMatrix
    - _Remove1Op
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool PreOptimize(cmsContext ContextID, cmsPipeline* Lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:293,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - p
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 297
    functionName: Eval16nop1D
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void Eval16nop1D(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const struct _cms_interp_struc* p)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Prelin16Data*::EvalCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 321
    functionName: PrelinEval16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - Prelin16Data*::EvalCLUT
    linkageType: ''
    returnType: void
    signature: "void PrelinEval16(cmsContext ContextID,\n                  CMSREGISTER
      const cmsUInt16Number Input[],\n                  CMSREGISTER cmsUInt16Number
      Output[],\n                  CMSREGISTER const void* D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:329,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:330,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 324
    functionDepth: 3
    functionLinenumber: 324
    functionLinenumberEnd: 333
    functionName: PrelinOpt16free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void PrelinOpt16free(cmsContext ContextID, void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:339,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:343,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: Prelin16dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Prelin16dup(cmsContext ContextID, const void* ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:357,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:381,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:382,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 6
    argNames:
    - ContextID
    - ColorMap
    - nInputs
    - In
    - nOutputs
    - Out
    argTypes:
    - cmsContext
    - cmsInterpParams*
    - cmsUInt32Number
    - cmsToneCurve**
    - cmsUInt32Number
    - cmsToneCurve**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 398
    functionName: PrelinOpt16alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsCalloc
    - _cmsMallocZero
    linkageType: ''
    returnType: Prelin16Data
    signature: "Prelin16Data * PrelinOpt16alloc(cmsContext ContextID,\n                               const
      cmsInterpParams* ColorMap,\n                               cmsUInt32Number nInputs,
      cmsToneCurve** In,\n                               cmsUInt32Number nOutputs,
      cmsToneCurve** Out )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:415,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:416,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:423,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 431
    functionName: XFormSampler16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsPipelineEvalFloat
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number XFormSampler16(cmsContext ContextID, CMSREGISTER const
      cmsUInt16Number In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:440,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:443,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:446,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - ContextID
    - mpe
    argTypes:
    - cmsContext
    - cmsStage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 450
    functionName: AllCurvesAreLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsIsToneCurveLinear
    - cmsStageOutputChannels
    - _cmsStageGetPtrToCurveSet
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AllCurvesAreLinear(cmsContext ContextID, cmsStage* mpe)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:465,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:476,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:477,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:478,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:479,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:498,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:499,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:500,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:515,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 6
    argNames:
    - ContextID
    - CLUT
    - At
    - Value
    - nChannelsOut
    - nChannelsIn
    argTypes:
    - cmsContext
    - cmsStage*
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 530
    functionName: PatchLUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - floor
    - cmsSignalError
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool PatchLUT(cmsContext ContextID, cmsStage* CLUT, cmsUInt16Number
      At[], cmsUInt16Number Value[],\n                  cmsUInt32Number nChannelsOut,
      cmsUInt32Number nChannelsIn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:540,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - n
    - White1
    - White2
    argTypes:
    - cmsUInt32Number
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 544
    functionName: WhitesAreEqual
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool WhitesAreEqual(cmsUInt32Number n, cmsUInt16Number White1[],
      cmsUInt16Number White2[] )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cmsEndPointsBySpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:556,1
    - Dst: _cmsEndPointsBySpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:559,1
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:566,1
    - Dst: WhitesAreEqual
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:568,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:571,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:572,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:573,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:574,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:580,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:583,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:595,1
    - Dst: cmsReverseToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:599,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:605,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:606,1
    - Dst: PatchLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:616,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 4
    argNames:
    - ContextID
    - Lut
    - EntryColorSpace
    - ExitColorSpace
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsColorSpaceSignature
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 619
    functionName: FixWhiteMisalignment
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - WhitesAreEqual
    - cmsFreeToneCurve
    - PatchLUT
    - cmsPipelineEval16
    - cmsEvalToneCurve16
    - _cmsEndPointsBySpace
    - _cmsStageGetPtrToCurveSet
    - cmsReverseToneCurve
    - cmsPipelineCheckAndRetreiveStages
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool FixWhiteMisalignment(cmsContext ContextID, cmsPipeline* Lut,
      cmsColorSpaceSignature EntryColorSpace, cmsColorSpaceSignature ExitColorSpace)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:648,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:648,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:650,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:650,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:651,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:651,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:657,1
    - Dst: cmsPipelineStageCount
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:660,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:666,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:668,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:669,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:673,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:680,1
    - Dst: AllCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:686,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:689,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:690,1
    - Dst: cmsPipelineUnlinkStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:695,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:701,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:705,1
    - Dst: cmsPipelineGetPtrToLastStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:713,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:716,1
    - Dst: AllCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:719,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:722,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:723,1
    - Dst: cmsPipelineUnlinkStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:727,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:734,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:738,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:739,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:743,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:744,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:747,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:753,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:754,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:755,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:768,1
    - Dst: PrelinOpt16alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:772,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:779,1
    - Dst: FixWhiteMisalignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:789,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:795,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 90
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 630
    functionDepth: 5
    functionLinenumber: 630
    functionLinenumberEnd: 796
    functionName: OptimizeByResampling
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsICCcolorSpace
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - cmsStageFree
    - PrelinOpt16alloc
    - cmsPipelineStageCount
    - cmsStageNext
    - cmsStageType
    - _cmsAssert
    - _cmsPipelineSetOptimizationParameters
    - cmsPipelineUnlinkStage
    - cmsPipelineFree
    - _cmsFormatterIsFloat
    - cmsStageDup
    - T_COLORSPACE
    - cmsUNUSED_PARAMETER
    - cmsStageAllocCLut16bit
    - cmsPipelineGetPtrToFirstStage
    - FixWhiteMisalignment
    - AllCurvesAreLinear
    - _cmsReasonableGridpointsByColorspace
    - cmsPipelineGetPtrToLastStage
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OptimizeByResampling(cmsContext ContextID, cmsPipeline** Lut,
      cmsUInt32Number Intent, cmsUInt32Number* InputFormat, cmsUInt32Number* OutputFormat,
      cmsUInt32Number* dwFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:812,1
    - Dst: cmsIsToneCurveDescending
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:817,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:830,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ContextID
    - g
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 839
    functionName: SlopeLimiting
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    - floor
    - cmsIsToneCurveDescending
    linkageType: ''
    returnType: void
    signature: void SlopeLimiting(cmsContext ContextID, cmsToneCurve* g)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:851,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:862,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:862,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:863,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:863,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:864,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:864,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:867,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:868,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:869,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:874,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:875,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:876,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:879,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:880,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:881,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:884,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:885,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - ContextID
    - p
    - G
    argTypes:
    - cmsContext
    - cmsInterpParams*
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 893
    functionName: PrelinOpt8alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - FIXED_REST_TO_INT
    - _cmsMallocZero
    - cmsEvalToneCurve16
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: Prelin8Data
    signature: Prelin8Data * PrelinOpt8alloc(cmsContext ContextID, const cmsInterpParams*
      p, cmsToneCurve* G[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 3
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: Prelin8free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Prelin8free(cmsContext ContextID, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 905
    functionName: Prelin8dup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * Prelin8dup(cmsContext ContextID, const void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 911
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:926,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:948,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:952,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:953,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:953,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:954,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:954,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:959,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:960,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:960,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:961,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:961,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:966,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:966,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:967,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:967,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:968,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:973,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:973,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:974,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:975,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:975,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:980,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:980,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:981,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:982,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:982,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:987,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:987,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:988,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:988,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:989,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number Input
    - cmsUInt16Number Output
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 999
    functionName: PrelinEval8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - DENS
    linkageType: ''
    returnType: CMS_NO_SANITIZE
    signature: "CMS_NO_SANITIZE PrelinEval8(cmsContext ContextID,\n                 CMSREGISTER
      const cmsUInt16Number Input[],\n                 CMSREGISTER cmsUInt16Number
      Output[],\n                 CMSREGISTER const void* D)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - g
    argTypes:
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1022
    functionName: IsDegenerated
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsDegenerated(const cmsToneCurve* g)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1046,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1046,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1049,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1050,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1052,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1053,1
    - Dst: _cmsFormatterIs8bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1056,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1063,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1065,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1066,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1069,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1069,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1070,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1070,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1076,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1079,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1080,1
    - Dst: cmsPipelineGetPtrToLastStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1086,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1089,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1091,1
    - Dst: IsDegenerated
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1093,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1100,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1114,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1118,1
    - Dst: SlopeLimiting
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1123,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1131,1
    - Dst: cmsIsToneCurveMonotonic
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1135,1
    - Dst: IsDegenerated
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1138,1
    - Dst: cmsReverseToneCurveEx
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1147,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1152,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1155,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1155,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1159,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1162,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1165,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1169,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1172,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1176,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1181,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1182,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1185,1
    - Dst: _cmsStageGetPtrToCurveSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1188,1
    - Dst: _cmsFormatterIs8bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1192,1
    - Dst: PrelinOpt8alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1194,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1199,1
    - Dst: PrelinOpt16alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1204,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1209,1
    - Dst: FixWhiteMisalignment
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1219,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1227,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1235,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1236,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1239,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1240,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1244,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1245,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 138
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1027
    functionDepth: 5
    functionLinenumber: 1027
    functionLinenumberEnd: 1246
    functionName: OptimizeByComputingLinearization
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsICCcolorSpace
    - cmsPipelineDup
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - _cmsQuickSaturateWord
    - IsDegenerated
    - cmsPipelineEvalFloat
    - cmsIsToneCurveLinear
    - _cmsFormatterIs8bit
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - SlopeLimiting
    - cmsStageAllocToneCurves
    - memset
    - cmsIsToneCurveMonotonic
    - PrelinOpt16alloc
    - cmsStageData
    - cmsStageNext
    - cmsStageType
    - _cmsPipelineSetOptimizationParameters
    - PrelinOpt8alloc
    - _cmsStageGetPtrToCurveSet
    - cmsPipelineFree
    - _cmsFormatterIsFloat
    - T_PLANAR
    - cmsReverseToneCurveEx
    - T_COLORSPACE
    - cmsUNUSED_PARAMETER
    - cmsStageAllocCLut16bit
    - cmsPipelineGetPtrToFirstStage
    - FixWhiteMisalignment
    - _cmsReasonableGridpointsByColorspace
    - cmsPipelineGetPtrToLastStage
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OptimizeByComputingLinearization(cmsContext ContextID, cmsPipeline**
      Lut, cmsUInt32Number Intent, cmsUInt32Number* InputFormat, cmsUInt32Number*
      OutputFormat, cmsUInt32Number* dwFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1259,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1262,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1251
    functionDepth: 3
    functionLinenumber: 1251
    functionLinenumberEnd: 1264
    functionName: CurvesFree
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void CurvesFree(cmsContext ContextID, void* ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1269,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1274,1
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1281
    functionName: CurvesDup
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * CurvesDup(cmsContext ContextID, const void* ptr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1290,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1296,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1298,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1304,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1309,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1311,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1312,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1320,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1320,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - ContextID
    - nCurves
    - nElements
    - G
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsToneCurve**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1284
    functionDepth: 3
    functionLinenumber: 1284
    functionLinenumberEnd: 1332
    functionName: CurvesAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - _cmsCalloc
    - _cmsMallocZero
    - cmsEvalToneCurve16
    - _cmsFree
    linkageType: ''
    returnType: Curves16Data
    signature: Curves16Data * CurvesAlloc(cmsContext ContextID, cmsUInt32Number nCurves,
      cmsUInt32Number nElements, cmsToneCurve** G)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1350
    functionName: FastEvaluateCurves8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateCurves8(cmsContext ContextID,\n                         CMSREGISTER
      const cmsUInt16Number In[],\n                         CMSREGISTER cmsUInt16Number
      Out[],\n                         CMSREGISTER const void* D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1366
    functionName: FastEvaluateCurves16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateCurves16(cmsContext ContextID,\n                          CMSREGISTER
      const cmsUInt16Number In[],\n                          CMSREGISTER cmsUInt16Number
      Out[],\n                          CMSREGISTER const void* D)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1382
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1382
    functionName: FastIdentity16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void FastIdentity16(cmsContext ContextID,\n                    CMSREGISTER
      const cmsUInt16Number In[],\n                    CMSREGISTER cmsUInt16Number
      Out[],\n                    CMSREGISTER const void* D)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1400,1
    - Dst: _cmsFormatterIsFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1400,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1403,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1405,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1406,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1410,1
    - Dst: _cmsCalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1414,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1418,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1428,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1431,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1434,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1438,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1443,1
    - Dst: AllCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1448,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1451,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1453,1
    - Dst: _cmsFormatterIs8bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1457,1
    - Dst: CurvesAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1458,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1462,1
    - Dst: CurvesAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1466,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1470,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1476,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1479,1
    - Dst: cmsStageAllocIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1479,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1483,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1487,1
    - Dst: cmsStageFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1493,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1496,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1499,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1502,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1505,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1506,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1507,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1508,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 88
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1387
    functionDepth: 4
    functionLinenumber: 1387
    functionLinenumberEnd: 1509
    functionName: OptimizeByJoiningCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsPipelineAlloc
    - _cmsQuickSaturateWord
    - cmsPipelineEvalFloat
    - _cmsFormatterIs8bit
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - cmsStageAllocToneCurves
    - cmsStageFree
    - _cmsFree
    - cmsStageData
    - cmsStageNext
    - cmsStageType
    - _cmsPipelineSetOptimizationParameters
    - CurvesAlloc
    - cmsStageAllocIdentity
    - cmsPipelineFree
    - _cmsFormatterIsFloat
    - _cmsCalloc
    - cmsUNUSED_PARAMETER
    - cmsPipelineGetPtrToFirstStage
    - AllCurvesAreLinear
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OptimizeByJoiningCurves(cmsContext ContextID, cmsPipeline**
      Lut, cmsUInt32Number Intent, cmsUInt32Number* InputFormat, cmsUInt32Number*
      OutputFormat, cmsUInt32Number* dwFlags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1515
    functionDepth: 3
    functionLinenumber: 1515
    functionLinenumberEnd: 1519
    functionName: FreeMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void FreeMatShaper(cmsContext ContextID, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsDupMem
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1521
    functionDepth: 3
    functionLinenumber: 1521
    functionLinenumberEnd: 1525
    functionName: DupMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsDupMem
    linkageType: ''
    returnType: void
    signature: void * DupMatShaper(cmsContext ContextID, const void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - D
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1531
    functionDepth: 1
    functionLinenumber: 1531
    functionLinenumberEnd: 1568
    functionName: MatShaperEval16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: "void MatShaperEval16(cmsContext ContextID,\n                     CMSREGISTER
      const cmsUInt16Number In[],\n                     CMSREGISTER cmsUInt16Number
      Out[],\n                     CMSREGISTER const void* D)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1580,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsS1Fixed14Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1587
      start: 1571
    functionDepth: 2
    functionLinenumber: 1571
    functionLinenumberEnd: 1587
    functionName: FillFirstShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - DOUBLE_TO_1FIXED14
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: void
    signature: void FillFirstShaper(cmsContext ContextID, cmsS1Fixed14Number* Table,
      cmsToneCurve* Curve)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1599,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1613,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1614,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1616,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1618,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - ContextID
    - Table
    - Curve
    - Is8BitsOutput
    argTypes:
    - cmsContext
    - cmsUInt16Number*
    - cmsToneCurve*
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1590
    functionDepth: 2
    functionLinenumber: 1590
    functionLinenumberEnd: 1620
    functionName: FillSecondShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - _cmsQuickSaturateWord
    - cmsEvalToneCurveFloat
    - FROM_16_TO_8
    linkageType: ''
    returnType: void
    signature: void FillSecondShaper(cmsContext ContextID, cmsUInt16Number* Table,
      cmsToneCurve* Curve, cmsBool Is8BitsOutput)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFormatterIs8bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1628,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1631,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1635,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1636,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1637,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1639,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1640,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1641,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1646,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1656,1
    - Dst: OPTIMIZED_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1662,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1665,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - ContextID
    - Dest
    - Curve1
    - Mat
    - 'Off'
    - Curve2
    - OutputFormat
    argTypes:
    - cmsContext
    - cmsPipeline*
    - cmsToneCurve*[]
    - cmsMAT3*
    - cmsVEC3*
    - cmsToneCurve*[]
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1623
    functionDepth: 3
    functionLinenumber: 1623
    functionLinenumberEnd: 1667
    functionName: SetMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - FillFirstShaper
    - _cmsFormatterIs8bit
    - _cmsPipelineSetOptimizationParameters
    - DOUBLE_TO_1FIXED14
    - OPTIMIZED_SH
    - _cmsMalloc
    - FillSecondShaper
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetMatShaper(cmsContext ContextID, cmsPipeline* Dest, cmsToneCurve*
      Curve1[3], cmsMAT3* Mat, cmsVEC3* Off, cmsToneCurve* Curve2[3], cmsUInt32Number*
      OutputFormat)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1681,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1681,1
    - Dst: _cmsFormatterIs8bit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1684,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1698,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1703,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1704,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1710,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1716,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1725,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1729,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1732,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1737,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1749,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1753,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1753,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1758,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1758,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1762,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1762,1
    - Dst: OptimizeByJoiningCurves
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1768,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1771,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1772,1
    - Dst: SetMatShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1779,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1782,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1787,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 6
    argNames:
    - ContextID
    - Lut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1670
    functionDepth: 5
    functionLinenumber: 1670
    functionLinenumberEnd: 1789
    functionName: OptimizeMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsFormatterIs8bit
    - cmsStageDup
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - OptimizeByJoiningCurves
    - _cmsMAT3per
    - T_CHANNELS
    - memcpy
    - cmsPipelineAlloc
    - cmsPipelineCheckAndRetreiveStages
    - SetMatShaper
    - cmsPipelineFree
    - cmsStageData
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OptimizeMatrixShaper(cmsContext ContextID, cmsPipeline** Lut,
      cmsUInt32Number Intent, cmsUInt32Number* InputFormat, cmsUInt32Number* OutputFormat,
      cmsUInt32Number* dwFlags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1828,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1829,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1836,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1852,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1819
    functionDepth: 6
    functionLinenumber: 1819
    functionLinenumberEnd: 1853
    functionName: DupPluginOptimizationList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupPluginOptimizationList(struct _cmsContext_struct* ctx,\n                               const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DupPluginOptimizationList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1861,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1855
    functionDepth: 7
    functionLinenumber: 1855
    functionLinenumberEnd: 1867
    functionName: _cmsAllocOptimizationPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 2
    functionsReached:
    - _cmsSubAllocDup
    - DupPluginOptimizationList
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocOptimizationPluginChunk(struct _cmsContext_struct* ctx,\n
      \                                        const struct _cmsContext_struct* src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1874,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1886,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1900
    functionName: _cmsRegisterOptimizationPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterOptimizationPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1910,1
    - Dst: PreOptimize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1917,1
    - Dst: OptimizeByResampling
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1918,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1923,1
    - Dst: PreOptimize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1928,1
    - Dst: _cmsPipelineSetOptimizationParameters
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1932,1
    - Dst: _cmsOptimizationCollection*::OptimizePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1946,1
    - Dst: _cmsOptimizationCollection*::OptimizePtr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c:1957,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - ContextID
    - PtrLut
    - Intent
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - cmsPipeline**
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1903
    functionDepth: 6
    functionLinenumber: 1903
    functionLinenumberEnd: 1965
    functionName: _cmsOptimizePipeline
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 4
    functionsReached:
    - PreOptimize
    - _cmsPipelineSetOptimizationParameters
    - _cmsContextGetClientChunk
    - OptimizeByResampling
    - _cmsOptimizationCollection*::OptimizePtr
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool _cmsOptimizePipeline(cmsContext ContextID,\n                             cmsPipeline**
      \   PtrLut,\n                             cmsUInt32Number  Intent,\n                             cmsUInt32Number*
      InputFormat,\n                             cmsUInt32Number* OutputFormat,\n
      \                            cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - PtrLut
    argTypes:
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1970
    functionName: _cmsLutIsIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsopt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsLutIsIdentity(cmsPipeline *PtrLut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: cmsmin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsmin(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: cmsmax
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsmax(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:43,1
    - Dst: cmsCreateExtendedTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:53,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - hProfile
    - nIntent
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 40
    functionDepth: 7
    functionLinenumber: 40
    functionLinenumberEnd: 58
    functionName: CreateRoundtripXForm
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 0
    functionsReached:
    - cmsCreateExtendedTransform
    - cmsCreateLab4Profile
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsHTRANSFORM
    signature: cmsHTRANSFORM CreateRoundtripXForm(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsUInt32Number nIntent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsIntentSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:79,1
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:86,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:89,1
    - Dst: _cmsEndPointsBySpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:92,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:98,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:104,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:111,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:113,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:123,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:130,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:133,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - ContextID
    - hInput
    - Intent
    - BlackPoint
    - dwFlags
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsCIEXYZ*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 62
    functionDepth: 8
    functionLinenumber: 62
    functionLinenumberEnd: 141
    functionName: BlackPointAsDarkerColorant
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 0
    functionsReached:
    - cmsCreateLab2Profile
    - cmsDeleteTransform
    - cmsLab2XYZ
    - cmsGetColorSpace
    - cmsUNUSED_PARAMETER
    - cmsDoTransform
    - _cmsEndPointsBySpace
    - cmsFormatterForColorspaceOfProfile
    - cmsIsIntentSupported
    - cmsCreateTransform
    - T_CHANNELS
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool BlackPointAsDarkerColorant(cmsContext ContextID,\n                                    cmsHPROFILE
      hInput,\n                                    cmsUInt32Number Intent,\n                                    cmsCIEXYZ*
      BlackPoint,\n                                    cmsUInt32Number dwFlags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsIntentSupported
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:154,1
    - Dst: CreateRoundtripXForm
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:160,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:167,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:173,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ContextID
    - BlackPoint
    - hProfile
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 146
    functionDepth: 8
    functionLinenumber: 146
    functionLinenumberEnd: 182
    functionName: BlackPointUsingPerceptualBlack
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsLab2XYZ
    - CreateRoundtripXForm
    - cmsDoTransform
    - cmsIsIntentSupported
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool BlackPointUsingPerceptualBlack(cmsContext ContextID, cmsCIEXYZ*
      BlackPoint, cmsHPROFILE hProfile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:195,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:213,1
    - Dst: cmsIsMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:217,1
    - Dst: BlackPointAsDarkerColorant
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:218,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:232,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:240,1
    - Dst: _cmsReadMediaWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:244,1
    - Dst: cmsAdaptToIlluminant
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:247,1
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:247,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:250,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:253,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:267,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:268,1
    - Dst: BlackPointUsingPerceptualBlack
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:269,1
    - Dst: BlackPointAsDarkerColorant
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:272,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 5
    argNames:
    - ContextID
    - BlackPoint
    - hProfile
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 190
    functionDepth: 9
    functionLinenumber: 190
    functionLinenumberEnd: 273
    functionName: cmsDetectBlackPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 4
    functionsReached:
    - cmsIsMatrixShaper
    - cmsXYZ2Lab
    - cmsD50_XYZ
    - BlackPointAsDarkerColorant
    - cmsLab2XYZ
    - _cmsReadMediaWhitePoint
    - BlackPointUsingPerceptualBlack
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsReadTag
    - cmsAdaptToIlluminant
    - cmsGetEncodedICCversion
    - cmsIsTag
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsDetectBlackPoint(cmsContext ContextID, cmsCIEXYZ* BlackPoint,
      cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:309,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:310,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:311,1
    - Dst: _cmsVEC3init
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:313,1
    - Dst: _cmsMAT3solve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:315,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:322,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:324,1
    - Dst: cmsmax
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:324,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:334,1
    - Dst: cmsmax
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:336,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - ContextID
    - n
    - x
    - y
    argTypes:
    - cmsContext
    - int
    - cmsFloat64Number[]
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 340
    functionName: RootOfLeastSquaresFitQuadraticCurve
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 0
    functionsReached:
    - sqrt
    - cmsmax
    - _cmsVEC3init
    - _cmsMAT3solve
    - fabs
    - cmsmin
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number RootOfLeastSquaresFitQuadraticCurve(cmsContext ContextID,
      int n, cmsFloat64Number x[], cmsFloat64Number y[])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:361,1
    - Dst: cmsGetEncodedICCversion
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:380,1
    - Dst: cmsIsMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:384,1
    - Dst: BlackPointAsDarkerColorant
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:385,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:396,1
    - Dst: cmsIsCLUT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:397,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:403,1
    - Dst: cmsDetectBlackPoint
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:415,1
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:420,1
    - Dst: CreateRoundtripXForm
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:435,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:443,1
    - Dst: cmsmax
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:443,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:444,1
    - Dst: cmsmax
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:444,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:446,1
    - Dst: cmsmin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:454,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:460,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:474,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:484,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:485,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:526,1
    - Dst: RootOfLeastSquaresFitQuadraticCurve
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:533,1
    - Dst: cmsLab2XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:542,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c:544,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 5
    argNames:
    - ContextID
    - BlackPoint
    - hProfile
    - Intent
    - dwFlags
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 346
    functionDepth: 10
    functionLinenumber: 346
    functionLinenumberEnd: 546
    functionName: cmsDetectDestinationBlackPoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmssamp.c
    functionUses: 4
    functionsReached:
    - cmsIsMatrixShaper
    - cmsDetectBlackPoint
    - cmsXYZ2Lab
    - cmsDeleteTransform
    - BlackPointAsDarkerColorant
    - cmsmax
    - cmsLab2XYZ
    - RootOfLeastSquaresFitQuadraticCurve
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - CreateRoundtripXForm
    - cmsDoTransform
    - cmsIsCLUT
    - fabs
    - cmsmin
    - cmsGetEncodedICCversion
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsDetectDestinationBlackPoint(cmsContext ContextID, cmsCIEXYZ*
      BlackPoint, cmsHPROFILE hProfile, cmsUInt32Number Intent, cmsUInt32Number dwFlags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: CHANGE_ENDIAN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANGE_ENDIAN(w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickFloorWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:42,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: cmsUInt8Number::_cmsQuickSaturateByte
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickFloorWord
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt8Number _cmsQuickSaturateByte(cmsFloat64Number d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Format
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 58
    functionName: trueBytesSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number trueBytesSize(cmsUInt32Number Format)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: copy8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: from8to16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    linkageType: ''
    returnType: void
    signature: void from8to16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:85,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: from8to16SE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from8to16SE(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    functionName: from8toFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void from8toFLT(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: from8toDBL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void from8toDBL(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:105,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:107,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: from8toHLF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFloat2Half
    linkageType: ''
    returnType: void
    signature: void from8toHLF(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: from16to8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - FROM_16_TO_8
    linkageType: ''
    returnType: void
    signature: void from16to8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:125,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    functionName: from16SEto8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - FROM_16_TO_8
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from16SEto8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: copy16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: from16to16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from16to16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: from16toFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void from16toFLT(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 151
    functionName: from16SEtoFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from16SEtoFLT(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: from16toDBL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void from16toDBL(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: from16SEtoDBL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from16SEtoDBL(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:170,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:172,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: from16toHLF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFloat2Half
    linkageType: ''
    returnType: void
    signature: void from16toHLF(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:181,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:182,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:184,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: from16SEtoHLF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFloat2Half
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void from16SEtoHLF(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateByte
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: fromFLTto8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateByte
    linkageType: ''
    returnType: void
    signature: void fromFLTto8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: fromFLTto16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: void
    signature: void fromFLTto16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:208,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: fromFLTto16SE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void fromFLTto16SE(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: copy32
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy32(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: fromFLTtoDBL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fromFLTtoDBL(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:231,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:233,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: fromFLTtoHLF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFloat2Half
    linkageType: ''
    returnType: void
    signature: void fromFLTtoHLF(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:245,1
    - Dst: _cmsQuickSaturateByte
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:246,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:248,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 252
    functionName: fromHLFto8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - cmsUNUSED_PARAMETER
    - _cmsQuickSaturateByte
    linkageType: ''
    returnType: void
    signature: void fromHLFto8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:258,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:259,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:261,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 264
    functionName: fromHLFto16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - _cmsQuickSaturateWord
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void fromHLFto16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:270,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:271,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:272,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:274,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 277
    functionName: fromHLFto16SE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - _cmsQuickSaturateWord
    - cmsUNUSED_PARAMETER
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void fromHLFto16SE(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:282,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:284,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 287
    functionName: fromHLFtoFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void fromHLFtoFLT(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:293,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:295,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: fromHLFtoDBL
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsHalf2Float
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void fromHLFtoDBL(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateByte
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: fromDBLto8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateByte
    linkageType: ''
    returnType: void
    signature: void fromDBLto8(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 313
    functionName: fromDBLto16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: void
    signature: void fromDBLto16(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:319,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: fromDBLto16SE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: void
    signature: void fromDBLto16SE(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: fromDBLtoFLT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fromDBLtoFLT(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:334,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:336,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: fromDBLtoHLF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsFloat2Half
    linkageType: ''
    returnType: void
    signature: void fromDBLtoHLF(void* dst, const void* src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dst
    - src
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 345
    functionName: copy64
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void copy64(void* dst, const void* src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:352,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:354,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:357,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:360,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:362,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:363,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:368,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 15
    argCount: 1
    argNames:
    - frm
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 371
    functionName: FormatterPos
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - T_FLOAT
    - T_ENDIAN16
    - T_BYTES
    linkageType: ''
    returnType: int
    signature: int FormatterPos(cmsUInt32Number frm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FormatterPos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:386,1
    - Dst: FormatterPos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:387,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:391,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - id
    - in
    - out
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 396
    functionName: _cmsGetFormatterAlpha
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - cmsSignalError
    - FormatterPos
    linkageType: ''
    returnType: cmsFormatterAlphaFn
    signature: cmsFormatterAlphaFn _cmsGetFormatterAlpha(cmsContext id, cmsUInt32Number
      in, cmsUInt32Number out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:407,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:408,1
    - Dst: trueBytesSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:411,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:418,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:427,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:436,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 3
    argNames:
    - Format
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 453
    functionName: ComputeIncrementsForChunky
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_SWAPFIRST
    - T_DOSWAP
    - memset
    - T_CHANNELS
    - trueBytesSize
    linkageType: ''
    returnType: void
    signature: "void ComputeIncrementsForChunky(cmsUInt32Number Format,\n                                cmsUInt32Number
      ComponentStartingOrder[],\n                                cmsUInt32Number ComponentPointerIncrements[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:465,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:466,1
    - Dst: trueBytesSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:469,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:475,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:484,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:493,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - Format
    - BytesPerPlane
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 509
    functionName: ComputeIncrementsForPlanar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_SWAPFIRST
    - T_DOSWAP
    - memset
    - T_CHANNELS
    - trueBytesSize
    linkageType: ''
    returnType: void
    signature: "void ComputeIncrementsForPlanar(cmsUInt32Number Format,\n                                cmsUInt32Number
      BytesPerPlane,\n                                cmsUInt32Number ComponentStartingOrder[],\n
      \                               cmsUInt32Number ComponentPointerIncrements[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:520,1
    - Dst: ComputeIncrementsForPlanar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:522,1
    - Dst: ComputeIncrementsForChunky
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - Format
    - BytesPerPlane
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 528
    functionName: ComputeComponentIncrements
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - ComputeIncrementsForPlanar
    - ComputeIncrementsForChunky
    linkageType: ''
    returnType: void
    signature: "void ComputeComponentIncrements(cmsUInt32Number Format,\n                                 cmsUInt32Number
      BytesPerPlane,\n                                 cmsUInt32Number ComponentStartingOrder[],\n
      \                                cmsUInt32Number ComponentPointerIncrements[])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:557,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:558,1
    - Dst: ComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:566,1
    - Dst: ComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:567,1
    - Dst: _cmsGetFormatterAlpha
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:570,1
    - Dst: copyValueFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:589,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:608,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:609,1
    - Dst: copyValueFn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c:625,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 533
    functionDepth: 4
    functionLinenumber: 533
    functionLinenumberEnd: 639
    functionName: _cmsHandleExtraChannels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmsalpha.c
    functionUses: 4
    functionsReached:
    - T_EXTRA
    - copyValueFn
    - memset
    - _cmsGetFormatterAlpha
    - ComputeComponentIncrements
    linkageType: ''
    returnType: void
    signature: "void _cmsHandleExtraChannels(cmsContext ContextID, _cmsTRANSFORM*
      p, const void* in,\n                                               void* out,\n
      \                                              cmsUInt32Number PixelsPerLine,\n
      \                                              cmsUInt32Number LineCount,\n
      \                                              const cmsStride* Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: CHANGE_ENDIAN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANGE_ENDIAN(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: REVERSE_FLAVOR_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE_FLAVOR_8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: REVERSE_FLAVOR_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE_FLAVOR_16(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: cmsUInt16Number::FomLabV2ToLabV4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number FomLabV2ToLabV4(cmsUInt16Number x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: cmsUInt16Number::FomLabV4ToLabV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number FomLabV4ToLabV2(cmsUInt16Number x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:101,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:102,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:103,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:104,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:105,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:117,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:118,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:130,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:136,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 139
    functionName: UnrollChunkyBytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - FROM_8_TO_16
    - REVERSE_FLAVOR_16
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - cmsUNUSED_PARAMETER
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollChunkyBytes(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wIn[],\n                                  CMSREGISTER cmsUInt8Number* accum,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:149,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:150,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:151,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:152,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:157,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:163,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 170
    functionName: UnrollPlanarBytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - FROM_8_TO_16
    - REVERSE_FLAVOR_16
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollPlanarBytes(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wIn[],\n                                  CMSREGISTER cmsUInt8Number* accum,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:180,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:181,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:182,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:183,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:187,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 189
    functionName: Unroll4Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4Bytes(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:198,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:198,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:199,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:199,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:200,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:200,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:201,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:201,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:205,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 207
    functionName: Unroll4BytesReverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4BytesReverse(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:216,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:217,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:218,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:219,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:223,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: Unroll4BytesSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4BytesSwapFirst(cmsContext ContextID,\n                                      CMSREGISTER
      _cmsTRANSFORM* info,\n                                      CMSREGISTER cmsUInt16Number
      wIn[],\n                                      CMSREGISTER cmsUInt8Number* accum,\n
      \                                     CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:235,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:236,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:237,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:238,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:242,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: Unroll4BytesSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4BytesSwap(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:253,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:254,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:255,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:256,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:260,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: Unroll4BytesSwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4BytesSwapSwapFirst(cmsContext ContextID,\n
      \                                         CMSREGISTER _cmsTRANSFORM* info,\n
      \                                         CMSREGISTER cmsUInt16Number wIn[],\n
      \                                         CMSREGISTER cmsUInt8Number* accum,\n
      \                                         CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:271,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:272,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:273,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:277,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 279
    functionName: Unroll3Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3Bytes(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:289,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:290,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:291,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:295,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 297
    functionName: Unroll3BytesSkip1Swap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3BytesSkip1Swap(cmsContext ContextID,\n                                      CMSREGISTER
      _cmsTRANSFORM* info,\n                                      CMSREGISTER cmsUInt16Number
      wIn[],\n                                      CMSREGISTER cmsUInt8Number* accum,\n
      \                                     CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:306,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:307,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:308,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:313,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: Unroll3BytesSkip1SwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3BytesSkip1SwapSwapFirst(cmsContext ContextID,\n
      \                                              CMSREGISTER _cmsTRANSFORM* info,\n
      \                                              CMSREGISTER cmsUInt16Number wIn[],\n
      \                                              CMSREGISTER cmsUInt8Number* accum,\n
      \                                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:325,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:326,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:327,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:331,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 333
    functionName: Unroll3BytesSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3BytesSkip1SwapFirst(cmsContext ContextID,\n
      \                                          CMSREGISTER _cmsTRANSFORM* info,\n
      \                                          CMSREGISTER cmsUInt16Number wIn[],\n
      \                                          CMSREGISTER cmsUInt8Number* accum,\n
      \                                          CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:344,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:345,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:346,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:350,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: Unroll3BytesSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3BytesSwap(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:361,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:361,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:362,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:362,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:363,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:363,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:367,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: UnrollLabV2_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FomLabV2ToLabV4
    - cmsUNUSED_PARAMETER
    - FROM_8_TO_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabV2_8(cmsContext ContextID,\n                              CMSREGISTER
      _cmsTRANSFORM* info,\n                              CMSREGISTER cmsUInt16Number
      wIn[],\n                              CMSREGISTER cmsUInt8Number* accum,\n                              CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:379,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:379,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:380,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:380,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:381,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:381,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:385,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 387
    functionName: UnrollALabV2_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FomLabV2ToLabV4
    - cmsUNUSED_PARAMETER
    - FROM_8_TO_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollALabV2_8(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wIn[],\n                               CMSREGISTER cmsUInt8Number* accum,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:396,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:397,1
    - Dst: FomLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:398,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:402,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 404
    functionName: UnrollLabV2_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FomLabV2ToLabV4
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabV2_16(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wIn[],\n                               CMSREGISTER cmsUInt8Number* accum,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:414,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:415,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:419,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: Unroll2Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll2Bytes(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:434,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:438,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: Unroll1Byte
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1Byte(cmsContext ContextID,\n                            CMSREGISTER
      _cmsTRANSFORM* info,\n                            CMSREGISTER cmsUInt16Number
      wIn[],\n                            CMSREGISTER cmsUInt8Number* accum,\n                            CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:450,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:455,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: Unroll1ByteSkip1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1ByteSkip1(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:466,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:471,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 473
    functionName: Unroll1ByteSkip2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1ByteSkip2(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:482,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:482,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:486,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: Unroll1ByteReversed
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1ByteReversed(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:498,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:499,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:500,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:501,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:502,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:503,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:517,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:519,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:532,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 539
    functionName: UnrollAnyWords
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - CHANGE_ENDIAN
    - REVERSE_FLAVOR_16
    - T_ENDIAN16
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - cmsUNUSED_PARAMETER
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollAnyWords(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wIn[],\n                               CMSREGISTER cmsUInt8Number* accum,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:548,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:549,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:550,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:551,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:556,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:565,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 573
    functionName: UnrollPlanarWords
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - CHANGE_ENDIAN
    - REVERSE_FLAVOR_16
    - T_ENDIAN16
    - T_DOSWAP
    - T_CHANNELS
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollPlanarWords(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wIn[],\n                                  CMSREGISTER cmsUInt8Number* accum,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:590,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 592
    functionName: Unroll4Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4Words(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:601,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:602,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:603,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:604,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:608,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 610
    functionName: Unroll4WordsReverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4WordsReverse(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:626,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 628
    functionName: Unroll4WordsSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4WordsSwapFirst(cmsContext ContextID,\n                                      CMSREGISTER
      _cmsTRANSFORM* info,\n                                      CMSREGISTER cmsUInt16Number
      wIn[],\n                                      CMSREGISTER cmsUInt8Number* accum,\n
      \                                     CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:645,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: Unroll4WordsSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4WordsSwap(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:663,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 665
    functionName: Unroll4WordsSwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll4WordsSwapSwapFirst(cmsContext ContextID,\n
      \                                         CMSREGISTER _cmsTRANSFORM* info,\n
      \                                         CMSREGISTER cmsUInt16Number wIn[],\n
      \                                         CMSREGISTER cmsUInt8Number* accum,\n
      \                                         CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:680,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 682
    functionName: Unroll3Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3Words(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:697,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 684
    functionDepth: 1
    functionLinenumber: 684
    functionLinenumberEnd: 699
    functionName: Unroll3WordsSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3WordsSwap(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:715,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 717
    functionName: Unroll3WordsSkip1Swap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3WordsSkip1Swap(cmsContext ContextID,\n                                      CMSREGISTER
      _cmsTRANSFORM* info,\n                                      CMSREGISTER cmsUInt16Number
      wIn[],\n                                      CMSREGISTER cmsUInt8Number* accum,\n
      \                                     CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:733,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 735
    functionName: Unroll3WordsSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll3WordsSkip1SwapFirst(cmsContext ContextID,\n
      \                                          CMSREGISTER _cmsTRANSFORM* info,\n
      \                                          CMSREGISTER cmsUInt16Number wIn[],\n
      \                                          CMSREGISTER cmsUInt8Number* accum,\n
      \                                          CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:748,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 750
    functionName: Unroll1Word
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1Word(cmsContext ContextID,\n                            CMSREGISTER
      _cmsTRANSFORM* info,\n                            CMSREGISTER cmsUInt16Number
      wIn[],\n                            CMSREGISTER cmsUInt8Number* accum,\n                            CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:759,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:763,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 765
    functionName: Unroll1WordReversed
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1WordReversed(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:780,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 782
    functionName: Unroll1WordSkip3
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll1WordSkip3(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:796,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 798
    functionName: Unroll2Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll2Words(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wIn[],\n                             CMSREGISTER cmsUInt8Number* accum,\n                             CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:809,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:824,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:829,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 833
    functionName: UnrollLabDoubleTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - cmsFloat2LabEncoded
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabDoubleTo16(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:846,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:860,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:869,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:870,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 873
    functionName: UnrollLabFloatTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - cmsFloat2LabEncoded
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabFloatTo16(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wIn[],\n                                   CMSREGISTER cmsUInt8Number* accum,\n
      \                                  CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:883,1
    - Dst: cmsFloat2XYZEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:898,1
    - Dst: cmsFloat2XYZEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:905,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 910
    functionName: UnrollXYZDoubleTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - cmsFloat2XYZEncoded
    - T_EXTRA
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollXYZDoubleTo16(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wIn[],\n                                    CMSREGISTER cmsUInt8Number* accum,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:920,1
    - Dst: cmsFloat2XYZEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:935,1
    - Dst: cmsFloat2XYZEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:948,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 954
    functionName: UnrollXYZFloatTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - cmsFloat2XYZEncoded
    - T_EXTRA
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollXYZFloatTo16(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wIn[],\n                                   CMSREGISTER cmsUInt8Number* accum,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - Type
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 977
    functionName: IsInkSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_COLORSPACE
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE IsInkSpace(cmsUInt32Number Type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:983,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Format
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 991
    functionName: PixelSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 1
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number PixelSize(cmsUInt32Number Format)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1002,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1003,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1004,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1005,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1006,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1008,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1012,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1015,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1029,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1032,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1041,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1045,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 1049
    functionName: UnrollDoubleTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - REVERSE_FLAVOR_16
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - _cmsQuickSaturateWord
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollDoubleTo16(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wIn[],\n                                 CMSREGISTER cmsUInt8Number* accum,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1061,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1062,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1063,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1064,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1065,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1067,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1071,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1073,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1087,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1090,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1099,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1053
    functionDepth: 2
    functionLinenumber: 1053
    functionLinenumberEnd: 1107
    functionName: UnrollFloatTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - REVERSE_FLAVOR_16
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - _cmsQuickSaturateWord
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollFloatTo16(cmsContext ContextID,\n                                CMSREGISTER
      _cmsTRANSFORM* info,\n                                CMSREGISTER cmsUInt16Number
      wIn[],\n                                CMSREGISTER cmsUInt8Number* accum,\n
      \                               CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1122,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1126,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1128
    functionName: UnrollDouble1Chan
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollDouble1Chan(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wIn[],\n                                  CMSREGISTER cmsUInt8Number* accum,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1140,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1141,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1142,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1143,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1144,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1146,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1149,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1151,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1174,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1133
    functionDepth: 2
    functionLinenumber: 1133
    functionLinenumberEnd: 1182
    functionName: UnrollFloatsToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollFloatsToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wIn[],\n                                    cmsUInt8Number*
      accum,\n                                    cmsUInt32Number Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1193,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1194,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1195,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1196,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1197,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1199,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1202,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1204,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1227,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1235
    functionName: UnrollDoublesToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollDoublesToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wIn[],\n                                    cmsUInt8Number*
      accum,\n                                    cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1248,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1250,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1240
    functionDepth: 1
    functionLinenumber: 1240
    functionLinenumberEnd: 1267
    functionName: UnrollLabDoubleToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabDoubleToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                       cmsFloat32Number wIn[],\n                                       cmsUInt8Number*
      accum,\n                                       cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1278,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1280,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1297
    functionName: UnrollLabFloatToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollLabFloatToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                      cmsFloat32Number wIn[],\n                                      cmsUInt8Number*
      accum,\n                                      cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1310,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1312,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1329
    functionName: UnrollXYZDoubleToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollXYZDoubleToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                       cmsFloat32Number wIn[],\n                                       cmsUInt8Number*
      accum,\n                                       cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1339,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1341,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1358
    functionName: UnrollXYZFloatToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollXYZFloatToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                      cmsFloat32Number wIn[],\n                                      cmsUInt8Number*
      accum,\n                                      cmsUInt32Number Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1374,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1375,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1376,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1377,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1378,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1394,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1397,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1408,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1416
    functionName: PackAnyBytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - REVERSE_FLAVOR_8
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackAnyBytes(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wOut[],\n                             CMSREGISTER cmsUInt8Number* output,\n
      \                            CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1427,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1428,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1429,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1430,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1431,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1432,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1451,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1454,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1467,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1475
    functionName: PackAnyWords
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - CHANGE_ENDIAN
    - REVERSE_FLAVOR_16
    - T_ENDIAN16
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - cmsUNUSED_PARAMETER
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackAnyWords(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wOut[],\n                             CMSREGISTER cmsUInt8Number* output,\n
      \                            CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1485,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1486,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1487,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1488,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1494,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1501,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1503,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1510
    functionName: PackPlanarBytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - REVERSE_FLAVOR_8
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackPlanarBytes(cmsContext ContextID,\n                                CMSREGISTER
      _cmsTRANSFORM* info,\n                                CMSREGISTER cmsUInt16Number
      wOut[],\n                                CMSREGISTER cmsUInt8Number* output,\n
      \                               CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1520,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1521,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1522,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1523,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1529,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1539,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1513
    functionDepth: 1
    functionLinenumber: 1513
    functionLinenumberEnd: 1549
    functionName: PackPlanarWords
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - CHANGE_ENDIAN
    - REVERSE_FLAVOR_16
    - T_ENDIAN16
    - T_DOSWAP
    - T_CHANNELS
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackPlanarWords(cmsContext ContextID,\n                                CMSREGISTER
      _cmsTRANSFORM* info,\n                                CMSREGISTER cmsUInt16Number
      wOut[],\n                                CMSREGISTER cmsUInt8Number* output,\n
      \                               CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1560,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1561,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1562,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1563,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1564,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1565,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1569,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1571
    functionName: Pack6Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack6Bytes(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1582,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1583,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1584,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1585,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1586,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1587,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1591,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1593
    functionName: Pack6BytesSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack6BytesSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1618,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1620
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1620
    functionName: Pack6Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack6Words(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1645,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1647
    functionName: Pack6WordsSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack6WordsSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1657,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1658,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1659,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1660,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1664,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1665,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1666
    functionName: Pack4Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4Bytes(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1675,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1675,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1676,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1676,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1677,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1677,1
    - Dst: REVERSE_FLAVOR_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1678,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1678,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1682,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1684
    functionName: Pack4BytesReverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    - REVERSE_FLAVOR_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4BytesReverse(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wOut[],\n                                  CMSREGISTER cmsUInt8Number* output,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1694,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1695,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1696,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1697,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1701,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1703
    functionName: Pack4BytesSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4BytesSwapFirst(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1713,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1714,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1715,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1716,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1720,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1706
    functionDepth: 1
    functionLinenumber: 1706
    functionLinenumberEnd: 1722
    functionName: Pack4BytesSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4BytesSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1731,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1732,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1733,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1734,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1738,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1740
    functionName: Pack4BytesSwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4BytesSwapSwapFirst(cmsContext ContextID,\n                                        CMSREGISTER
      _cmsTRANSFORM* info,\n                                        CMSREGISTER cmsUInt16Number
      wOut[],\n                                        CMSREGISTER cmsUInt8Number*
      output,\n                                        CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1760,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1762
    functionName: Pack4Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4Words(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1771,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1773,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1775,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1777,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1782,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1764
    functionDepth: 1
    functionLinenumber: 1764
    functionLinenumberEnd: 1784
    functionName: Pack4WordsReverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4WordsReverse(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wOut[],\n                                  CMSREGISTER cmsUInt8Number* output,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1805,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1787
    functionDepth: 1
    functionLinenumber: 1787
    functionLinenumberEnd: 1807
    functionName: Pack4WordsSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4WordsSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1817,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1819,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1821,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1823,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1828,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1829,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1830
    functionName: Pack4WordsBigEndian
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack4WordsBigEndian(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1840,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1840,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1841,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1841,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1842,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1842,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1846,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1848
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1848
    functionName: PackLabV2_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FomLabV4ToLabV2
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabV2_8(cmsContext ContextID,\n                            CMSREGISTER
      _cmsTRANSFORM* info,\n                            CMSREGISTER cmsUInt16Number
      wOut[],\n                            CMSREGISTER cmsUInt8Number* output,\n                            CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1858,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1858,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1859,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1859,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1860,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1860,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1864,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1866
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1866
    functionName: PackALabV2_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FomLabV4ToLabV2
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackALabV2_8(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wOut[],\n                             CMSREGISTER cmsUInt8Number* output,\n
      \                            CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1875,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1877,1
    - Dst: FomLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1879,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1884,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1868
    functionDepth: 1
    functionLinenumber: 1868
    functionLinenumberEnd: 1886
    functionName: PackLabV2_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FomLabV4ToLabV2
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabV2_16(cmsContext ContextID,\n                             CMSREGISTER
      _cmsTRANSFORM* info,\n                             CMSREGISTER cmsUInt16Number
      wOut[],\n                             CMSREGISTER cmsUInt8Number* output,\n
      \                            CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1895,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1896,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1897,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1901,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1888
    functionDepth: 1
    functionLinenumber: 1888
    functionLinenumberEnd: 1903
    functionName: Pack3Bytes
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3Bytes(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1918,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1905
    functionDepth: 1
    functionLinenumber: 1905
    functionLinenumberEnd: 1920
    functionName: Pack3BytesOptimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesOptimized(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1929,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1930,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1931,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1935,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1922
    functionDepth: 1
    functionLinenumber: 1922
    functionLinenumberEnd: 1937
    functionName: Pack3BytesSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1952,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1954
      start: 1939
    functionDepth: 1
    functionLinenumber: 1939
    functionLinenumberEnd: 1954
    functionName: Pack3BytesSwapOptimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesSwapOptimized(cmsContext ContextID,\n                                        CMSREGISTER
      _cmsTRANSFORM* info,\n                                        CMSREGISTER cmsUInt16Number
      wOut[],\n                                        CMSREGISTER cmsUInt8Number*
      output,\n                                        CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1973,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1975
    functionName: Pack3Words
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3Words(cmsContext ContextID,\n                           CMSREGISTER
      _cmsTRANSFORM* info,\n                           CMSREGISTER cmsUInt16Number
      wOut[],\n                           CMSREGISTER cmsUInt8Number* output,\n                           CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1993,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:1994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 1995
    functionName: Pack3WordsSwap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsSwap(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2004,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2006,1
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2008,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2013,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2015
    functionName: Pack3WordsBigEndian
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsBigEndian(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2024,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2025,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2026,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2031,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2017
    functionDepth: 1
    functionLinenumber: 2017
    functionLinenumberEnd: 2033
    functionName: Pack3BytesAndSkip1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wOut[],\n                                   CMSREGISTER cmsUInt8Number* output,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2049,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2051
    functionName: Pack3BytesAndSkip1Optimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1Optimized(cmsContext ContextID,\n
      \                                           CMSREGISTER _cmsTRANSFORM* info,\n
      \                                           CMSREGISTER cmsUInt16Number wOut[],\n
      \                                           CMSREGISTER cmsUInt8Number* output,\n
      \                                           CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2062,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2063,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2064,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2068,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2054
    functionDepth: 1
    functionLinenumber: 2054
    functionLinenumberEnd: 2070
    functionName: Pack3BytesAndSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1SwapFirst(cmsContext ContextID,\n
      \                                           CMSREGISTER _cmsTRANSFORM* info,\n
      \                                           CMSREGISTER cmsUInt16Number wOut[],\n
      \                                           CMSREGISTER cmsUInt8Number* output,\n
      \                                           CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2086,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2072
    functionDepth: 1
    functionLinenumber: 2072
    functionLinenumberEnd: 2088
    functionName: Pack3BytesAndSkip1SwapFirstOptimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1SwapFirstOptimized(cmsContext ContextID,\n
      \                                                    CMSREGISTER _cmsTRANSFORM*
      info,\n                                                     CMSREGISTER cmsUInt16Number
      wOut[],\n                                                     CMSREGISTER cmsUInt8Number*
      output,\n                                                     CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2098,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2099,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2100,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2104,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2106
    functionName: Pack3BytesAndSkip1Swap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1Swap(cmsContext ContextID,\n                                       CMSREGISTER
      _cmsTRANSFORM* info,\n                                       CMSREGISTER cmsUInt16Number
      wOut[],\n                                       CMSREGISTER cmsUInt8Number*
      output,\n                                       CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2122,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2124
      start: 2108
    functionDepth: 1
    functionLinenumber: 2108
    functionLinenumberEnd: 2124
    functionName: Pack3BytesAndSkip1SwapOptimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1SwapOptimized(cmsContext ContextID,\n
      \                                               CMSREGISTER _cmsTRANSFORM* info,\n
      \                                               CMSREGISTER cmsUInt16Number
      wOut[],\n                                                CMSREGISTER cmsUInt8Number*
      output,\n                                                CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2134,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2135,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2136,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2141,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2143
      start: 2127
    functionDepth: 1
    functionLinenumber: 2127
    functionLinenumberEnd: 2143
    functionName: Pack3BytesAndSkip1SwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1SwapSwapFirst(cmsContext ContextID,\n
      \                                               CMSREGISTER _cmsTRANSFORM* info,\n
      \                                               CMSREGISTER cmsUInt16Number
      wOut[],\n                                                CMSREGISTER cmsUInt8Number*
      output,\n                                                CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2159,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2161
    functionName: Pack3BytesAndSkip1SwapSwapFirstOptimized
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3BytesAndSkip1SwapSwapFirstOptimized(cmsContext
      ContextID,\n                                                         CMSREGISTER
      _cmsTRANSFORM* info,\n                                                         CMSREGISTER
      cmsUInt16Number wOut[],\n                                                         CMSREGISTER
      cmsUInt8Number* output,\n                                                         CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2180,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2182
    functionName: Pack3WordsAndSkip1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsAndSkip1(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wOut[],\n                                   CMSREGISTER cmsUInt8Number* output,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2201,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2184
    functionDepth: 1
    functionLinenumber: 2184
    functionLinenumberEnd: 2203
    functionName: Pack3WordsAndSkip1Swap
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsAndSkip1Swap(cmsContext ContextID,\n                                       CMSREGISTER
      _cmsTRANSFORM* info,\n                                       CMSREGISTER cmsUInt16Number
      wOut[],\n                                       CMSREGISTER cmsUInt8Number*
      output,\n                                       CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2223,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2206
    functionDepth: 1
    functionLinenumber: 2206
    functionLinenumberEnd: 2225
    functionName: Pack3WordsAndSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsAndSkip1SwapFirst(cmsContext ContextID,\n
      \                                           CMSREGISTER _cmsTRANSFORM* info,\n
      \                                           CMSREGISTER cmsUInt16Number wOut[],\n
      \                                           CMSREGISTER cmsUInt8Number* output,\n
      \                                           CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2245,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2228
    functionDepth: 1
    functionLinenumber: 2228
    functionLinenumberEnd: 2247
    functionName: Pack3WordsAndSkip1SwapSwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack3WordsAndSkip1SwapSwapFirst(cmsContext ContextID,\n
      \                                               CMSREGISTER _cmsTRANSFORM* info,\n
      \                                               CMSREGISTER cmsUInt16Number
      wOut[],\n                                                CMSREGISTER cmsUInt8Number*
      output,\n                                                CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2258,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2262,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2264
    functionName: Pack1Byte
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1Byte(cmsContext ContextID,\n                          CMSREGISTER
      _cmsTRANSFORM* info,\n                          CMSREGISTER cmsUInt16Number
      wOut[],\n                          CMSREGISTER cmsUInt8Number* output,\n                          CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2274,1
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2274,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2278,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2280
    functionName: Pack1ByteReversed
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1ByteReversed(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wOut[],\n                                  CMSREGISTER cmsUInt8Number* output,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2290,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2295,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2297
    functionName: Pack1ByteSkip1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1ByteSkip1(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2308,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2312,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2300
    functionDepth: 1
    functionLinenumber: 2300
    functionLinenumberEnd: 2314
    functionName: Pack1ByteSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - FROM_16_TO_8
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1ByteSkip1SwapFirst(cmsContext ContextID,\n                                        CMSREGISTER
      _cmsTRANSFORM* info,\n                                        CMSREGISTER cmsUInt16Number
      wOut[],\n                                        CMSREGISTER cmsUInt8Number*
      output,\n                                        CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2328,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2330
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2330
    functionName: Pack1Word
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1Word(cmsContext ContextID,\n                          CMSREGISTER
      _cmsTRANSFORM* info,\n                          CMSREGISTER cmsUInt16Number
      wOut[],\n                          CMSREGISTER cmsUInt8Number* output,\n                          CMSREGISTER
      cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE_FLAVOR_16
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2340,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2345,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2333
    functionDepth: 1
    functionLinenumber: 2333
    functionLinenumberEnd: 2347
    functionName: Pack1WordReversed
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - REVERSE_FLAVOR_16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1WordReversed(cmsContext ContextID,\n                                  CMSREGISTER
      _cmsTRANSFORM* info,\n                                  CMSREGISTER cmsUInt16Number
      wOut[],\n                                  CMSREGISTER cmsUInt8Number* output,\n
      \                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHANGE_ENDIAN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2356,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2361,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2349
    functionDepth: 1
    functionLinenumber: 2349
    functionLinenumberEnd: 2363
    functionName: Pack1WordBigEndian
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - CHANGE_ENDIAN
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1WordBigEndian(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wOut[],\n                                   CMSREGISTER cmsUInt8Number* output,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2378,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2366
    functionDepth: 1
    functionLinenumber: 2366
    functionLinenumberEnd: 2380
    functionName: Pack1WordSkip1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1WordSkip1(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2395,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2397
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2397
    functionName: Pack1WordSkip1SwapFirst
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack1WordSkip1SwapFirst(cmsContext ContextID,\n                                        CMSREGISTER
      _cmsTRANSFORM* info,\n                                        CMSREGISTER cmsUInt16Number
      wOut[],\n                                        CMSREGISTER cmsUInt8Number*
      output,\n                                        CMSREGISTER cmsUInt32Number
      Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2409,1
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2413,1
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2423,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2426
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2426
    functionName: PackLabDoubleFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabDoubleFrom16(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2437,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2439,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2443,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2429
    functionDepth: 1
    functionLinenumber: 2429
    functionLinenumberEnd: 2459
    functionName: PackLabFloatFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabFloatFrom16(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* info,\n                                   CMSREGISTER cmsUInt16Number
      wOut[],\n                                   CMSREGISTER cmsUInt8Number* output,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2468,1
    - Dst: cmsXYZEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2472,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2474,1
    - Dst: cmsXYZEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2485,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* Info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2489
    functionName: PackXYZDoubleFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    - cmsXYZEncoded2Float
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackXYZDoubleFrom16(cmsContext ContextID,\n                                    CMSREGISTER
      _cmsTRANSFORM* Info,\n                                    CMSREGISTER cmsUInt16Number
      wOut[],\n                                    CMSREGISTER cmsUInt8Number* output,\n
      \                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2498,1
    - Dst: cmsXYZEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2502,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2504,1
    - Dst: cmsXYZEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2517,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* Info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2525
    functionName: PackXYZFloatFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    - cmsXYZEncoded2Float
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackXYZFloatFrom16(cmsContext ContextID,\n                                   CMSREGISTER
      _cmsTRANSFORM* Info,\n                                   CMSREGISTER cmsUInt16Number
      wOut[],\n                                   CMSREGISTER cmsUInt8Number* output,\n
      \                                  CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2534,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2535,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2536,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2537,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2538,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2539,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2541,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2546,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2569,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2573,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2527
    functionDepth: 2
    functionLinenumber: 2527
    functionLinenumberEnd: 2578
    functionName: PackDoubleFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackDoubleFrom16(cmsContext ContextID,\n                                 CMSREGISTER
      _cmsTRANSFORM* info,\n                                 CMSREGISTER cmsUInt16Number
      wOut[],\n                                 CMSREGISTER cmsUInt8Number* output,\n
      \                                CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2588,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2589,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2590,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2591,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2592,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2593,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2595,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2600,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2623,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2581
    functionDepth: 2
    functionLinenumber: 2581
    functionLinenumberEnd: 2631
    functionName: PackFloatFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackFloatFrom16(cmsContext ContextID,\n                                CMSREGISTER
      _cmsTRANSFORM* info,\n                                CMSREGISTER cmsUInt16Number
      wOut[],\n                                CMSREGISTER cmsUInt8Number* output,\n
      \                               CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2643,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2644,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2645,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2646,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2647,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2648,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2650,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2655,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2678,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2682,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2637
    functionDepth: 2
    functionLinenumber: 2637
    functionLinenumberEnd: 2686
    functionName: PackFloatsFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackFloatsFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wOut[],\n                                    cmsUInt8Number*
      output,\n                                    cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2694,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2695,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2696,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2697,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2698,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2699,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2701,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2706,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2728,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2738
      start: 2688
    functionDepth: 2
    functionLinenumber: 2688
    functionLinenumberEnd: 2738
    functionName: PackDoublesFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackDoublesFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wOut[],\n                                    cmsUInt8Number*
      output,\n                                    cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2752,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2754,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - Info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2744
    functionDepth: 1
    functionLinenumber: 2744
    functionLinenumberEnd: 2771
    functionName: PackLabFloatFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabFloatFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      Info,\n                                      cmsFloat32Number wOut[],\n                                      cmsUInt8Number*
      output,\n                                      cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2782,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2784,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - Info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2774
    functionDepth: 1
    functionLinenumber: 2774
    functionLinenumberEnd: 2801
    functionName: PackLabDoubleFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackLabDoubleFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      Info,\n                                       cmsFloat32Number wOut[],\n                                       cmsUInt8Number*
      output,\n                                       cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2813,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2815,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - Info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2832
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 2832
    functionName: PackXYZFloatFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackXYZFloatFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      Info,\n                                      cmsFloat32Number wOut[],\n                                      cmsUInt8Number*
      output,\n                                      cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2843,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2845,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - Info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2835
    functionDepth: 1
    functionLinenumber: 2835
    functionLinenumberEnd: 2862
    functionName: PackXYZDoubleFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_PLANAR
    - T_EXTRA
    - PixelSize
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackXYZDoubleFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      Info,\n                                       cmsFloat32Number wOut[],\n                                       cmsUInt8Number*
      output,\n                                       cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2879,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2880,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2881,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2882,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2883,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2885,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2888,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2891,1
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2901,1
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2903,1
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2907,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2914,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2918,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2871
    functionDepth: 2
    functionLinenumber: 2871
    functionLinenumberEnd: 2922
    functionName: UnrollHalfTo16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - _cmsHalf2Float
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - _cmsQuickSaturateWord
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollHalfTo16(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wIn[],\n                               CMSREGISTER cmsUInt8Number* accum,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2933,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2934,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2935,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2936,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2937,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2939,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2942,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2944,1
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2954,1
    - Dst: _cmsHalf2Float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2956,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2967,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - info
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2926
    functionDepth: 2
    functionLinenumber: 2926
    functionLinenumberEnd: 2975
    functionName: UnrollHalfToFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - _cmsHalf2Float
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * UnrollHalfToFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wIn[],\n                                    cmsUInt8Number*
      accum,\n                                    cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2985,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2986,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2987,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2988,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2989,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2990,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2992,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:2997,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3012,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3014,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3020,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3021,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3024,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - _cmsTRANSFORM* info
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 2978
    functionDepth: 2
    functionLinenumber: 2978
    functionLinenumberEnd: 3028
    functionName: PackHalfFrom16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - _cmsFloat2Half
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackHalfFrom16(cmsContext ContextID,\n                               CMSREGISTER
      _cmsTRANSFORM* info,\n                               CMSREGISTER cmsUInt16Number
      wOut[],\n                               CMSREGISTER cmsUInt8Number* output,\n
      \                              CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3038,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3039,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3040,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3041,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3042,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3043,1
    - Dst: IsInkSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3045,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3050,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3065,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3067,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3073,1
    - Dst: _cmsFloat2Half
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3074,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3077,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 5
    argNames:
    - ContextID
    - info
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - cmsFloat32Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3032
    functionDepth: 2
    functionLinenumber: 3032
    functionLinenumberEnd: 3081
    functionName: PackHalfFromFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_PLANAR
    - memmove
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - IsInkSpace
    - _cmsFloat2Half
    - PixelSize
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * PackHalfFromFloat(cmsContext ContextID, _cmsTRANSFORM*
      info,\n                                    cmsFloat32Number wOut[],\n                                    cmsUInt8Number*
      output,\n                                    cmsUInt32Number Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - dwInput
    - dwFlags
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 3182
    functionDepth: 0
    functionLinenumber: 3182
    functionLinenumberEnd: 3220
    functionName: _cmsGetStockInputFormatter
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFormatter
    signature: cmsFormatter _cmsGetStockInputFormatter(cmsUInt32Number dwInput, cmsUInt32Number
      dwFlags)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OPTIMIZED_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3339,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - dwInput
    - dwFlags
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3332
    functionDepth: 1
    functionLinenumber: 3332
    functionLinenumberEnd: 3376
    functionName: _cmsGetStockOutputFormatter
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - OPTIMIZED_SH
    linkageType: ''
    returnType: cmsFormatter
    signature: cmsFormatter _cmsGetStockOutputFormatter(cmsUInt32Number dwInput, cmsUInt32Number
      dwFlags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3399,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3406,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3422,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3390
    functionDepth: 6
    functionLinenumber: 3390
    functionLinenumberEnd: 3423
    functionName: DupFormatterFactoryList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    linkageType: ''
    returnType: void
    signature: "void DupFormatterFactoryList(struct _cmsContext_struct* ctx,\n                                               const
      struct _cmsContext_struct* src)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3429,1
    - Dst: DupFormatterFactoryList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3434,1
    - Dst: _cmsSubAllocDup
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - src
    argTypes:
    - struct _cmsContext_struct*
    - struct _cmsContext_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3426
    functionDepth: 7
    functionLinenumber: 3426
    functionLinenumberEnd: 3440
    functionName: _cmsAllocFormattersPluginChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - _cmsSubAllocDup
    - DupFormatterFactoryList
    linkageType: ''
    returnType: void
    signature: "void _cmsAllocFormattersPluginChunk(struct _cmsContext_struct* ctx,\n
      \                                   const struct _cmsContext_struct* src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3447,1
    - Dst: _cmsPluginMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - cmsPluginBase*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3445
    functionDepth: 2
    functionLinenumber: 3445
    functionLinenumberEnd: 3467
    functionName: _cmsRegisterFormattersPlugin
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 2
    functionsReached:
    - _cmsContextGetClientChunk
    - _cmsPluginMalloc
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsRegisterFormattersPlugin(cmsContext ContextID, cmsPluginBase*
      Data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsContextGetClientChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3474,1
    - Dst: cmsFormattersFactoryList*::Factory
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3479,1
    - Dst: _cmsGetStockInputFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3485,1
    - Dst: _cmsGetStockOutputFormatter
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Dir
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFormatterDirection
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3469
    functionDepth: 2
    functionLinenumber: 3469
    functionLinenumberEnd: 3488
    functionName: _cmsGetFormatter
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 5
    functionsReached:
    - _cmsGetStockOutputFormatter
    - _cmsContextGetClientChunk
    - cmsFormattersFactoryList*::Factory
    - _cmsGetStockInputFormatter
    linkageType: ''
    returnType: cmsFormatter
    signature: "cmsFormatter _cmsGetFormatter(cmsContext ContextID,\n                                        cmsUInt32Number
      Type,         // Specific type, i.e. TYPE_RGB_8\n                                        cmsFormatterDirection
      Dir,\n                                        cmsUInt32Number dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Type
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3492
    functionDepth: 1
    functionLinenumber: 3492
    functionLinenumberEnd: 3495
    functionName: _cmsFormatterIsFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 5
    functionsReached:
    - T_FLOAT
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsFormatterIsFloat(cmsUInt32Number Type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - Type
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3503
      start: 3498
    functionDepth: 1
    functionLinenumber: 3498
    functionLinenumberEnd: 3503
    functionName: _cmsFormatterIs8bit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 4
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool _cmsFormatterIs8bit(cmsUInt32Number Type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3509,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3510,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3511,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3515,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3515,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3515,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - nBytes
    - lIsFloat
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3516
      start: 3506
    functionDepth: 2
    functionLinenumber: 3506
    functionLinenumberEnd: 3516
    functionName: cmsFormatterForColorspaceOfProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 5
    functionsReached:
    - cmsChannelsOf
    - cmsGetColorSpace
    - FLOAT_SH
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsFormatterForColorspaceOfProfile(cmsContext ContextID,
      cmsHPROFILE hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3522,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3524,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3525,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3529,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3529,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3529,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c:3529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - hProfile
    - nBytes
    - lIsFloat
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsUInt32Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3530
      start: 3519
    functionDepth: 2
    functionLinenumber: 3519
    functionLinenumberEnd: 3530
    functionName: cmsFormatterForPCSOfProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspack.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - FLOAT_SH
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsGetPCS
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsFormatterForPCSOfProfile(cmsContext ContextID, cmsHPROFILE
      hProfile, cmsUInt32Number nBytes, cmsBool lIsFloat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - Dest
    - Source
    argTypes:
    - cmsContext
    - cmsCIExyY*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: cmsXYZ2xyY
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 4
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsXYZ2xyY(cmsContext ContextID, cmsCIExyY* Dest, const cmsCIEXYZ*
      Source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Dest
    - Source
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsCIExyY*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: cmsxyY2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 6
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void cmsxyY2XYZ(cmsContext ContextID, cmsCIEXYZ* Dest, const cmsCIExyY*
      Source)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - t
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 129
    functionName: f
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 986
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number f(cmsFloat64Number t)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - t
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 141
    functionName: f_1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number f_1(cmsFloat64Number t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:150,1
    - Dst: f
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:152,1
    - Dst: f
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:153,1
    - Dst: f
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - WhitePoint
    - Lab
    - xyz
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsCIELab*
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 2
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: cmsXYZ2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 7
    functionsReached:
    - f
    - cmsD50_XYZ
    linkageType: ''
    returnType: void
    signature: void cmsXYZ2Lab(cmsContext ContextID, const cmsCIEXYZ* WhitePoint,
      cmsCIELab* Lab, const cmsCIEXYZ* xyz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsD50_XYZ
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:168,1
    - Dst: f_1
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:174,1
    - Dst: f_1
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:175,1
    - Dst: f_1
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ContextID
    - WhitePoint
    - xyz
    - Lab
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsCIEXYZ*
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 178
    functionName: cmsLab2XYZ
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 8
    functionsReached:
    - cmsD50_XYZ
    - f_1
    linkageType: ''
    returnType: void
    signature: void cmsLab2XYZ(cmsContext ContextID, const cmsCIEXYZ* WhitePoint,
      cmsCIEXYZ* xyz,  const cmsCIELab* Lab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 184
    functionName: L2float2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number L2float2(cmsUInt16Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: ab2float2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number ab2float2(cmsUInt16Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: L2Fix2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number L2Fix2(cmsFloat64Number L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ab
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: ab2Fix2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number ab2Fix2(cmsFloat64Number ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: L2float4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number L2float4(cmsUInt16Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: ab2float4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number ab2float4(cmsUInt16Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:222,1
    - Dst: L2float2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:223,1
    - Dst: ab2float2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:224,1
    - Dst: ab2float2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Lab
    - wLab
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: cmsLabEncoded2FloatV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 1
    functionsReached:
    - cmsUNUSED_PARAMETER
    - ab2float2
    - L2float2
    linkageType: ''
    returnType: void
    signature: void cmsLabEncoded2FloatV2(cmsContext ContextID, cmsCIELab* Lab, const
      cmsUInt16Number wLab[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:231,1
    - Dst: L2float4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:232,1
    - Dst: ab2float4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:233,1
    - Dst: ab2float4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Lab
    - wLab
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: cmsLabEncoded2Float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    - L2float4
    - ab2float4
    linkageType: ''
    returnType: void
    signature: void cmsLabEncoded2Float(cmsContext ContextID, cmsCIELab* Lab, const
      cmsUInt16Number wLab[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 246
    functionName: Clamp_L_doubleV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Clamp_L_doubleV2(cmsFloat64Number L)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ab
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 256
    functionName: Clamp_ab_doubleV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Clamp_ab_doubleV2(cmsFloat64Number ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:261,1
    - Dst: Clamp_L_doubleV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:263,1
    - Dst: Clamp_ab_doubleV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:264,1
    - Dst: Clamp_ab_doubleV2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:265,1
    - Dst: L2Fix2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:267,1
    - Dst: ab2Fix2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:268,1
    - Dst: ab2Fix2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - wLab
    - fLab
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: cmsFloat2LabEncodedV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 1
    functionsReached:
    - Clamp_ab_doubleV2
    - ab2Fix2
    - Clamp_L_doubleV2
    - cmsUNUSED_PARAMETER
    - L2Fix2
    linkageType: ''
    returnType: void
    signature: void cmsFloat2LabEncodedV2(cmsContext ContextID, cmsUInt16Number wLab[3],
      const cmsCIELab* fLab)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - L
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 280
    functionName: Clamp_L_doubleV4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Clamp_L_doubleV4(cmsFloat64Number L)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ab
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 289
    functionName: Clamp_ab_doubleV4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Clamp_ab_doubleV4(cmsFloat64Number ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - L
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: L2Fix4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number L2Fix4(cmsFloat64Number L)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ab
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: ab2Fix4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number ab2Fix4(cmsFloat64Number ab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:306,1
    - Dst: Clamp_L_doubleV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:308,1
    - Dst: Clamp_ab_doubleV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:309,1
    - Dst: Clamp_ab_doubleV4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:310,1
    - Dst: L2Fix4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:312,1
    - Dst: ab2Fix4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:313,1
    - Dst: ab2Fix4
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - ContextID
    - wLab
    - fLab
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 315
    functionName: cmsFloat2LabEncoded
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 4
    functionsReached:
    - ab2Fix4
    - Clamp_ab_doubleV4
    - cmsUNUSED_PARAMETER
    - L2Fix4
    - Clamp_L_doubleV4
    linkageType: ''
    returnType: void
    signature: void cmsFloat2LabEncoded(cmsContext ContextID, cmsUInt16Number wLab[3],
      const cmsCIELab* fLab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - deg
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 322
    functionName: RADIANS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number RADIANS(cmsFloat64Number deg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: atan2deg
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - atan2
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number atan2deg(cmsFloat64Number a, cmsFloat64Number b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: Sqr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Sqr(cmsFloat64Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:357,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:359,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:359,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:359,1
    - Dst: atan2deg
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - LCh
    - Lab
    argTypes:
    - cmsContext
    - cmsCIELCh*
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 361
    functionName: cmsLab2LCh
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 3
    functionsReached:
    - cmsUNUSED_PARAMETER
    - pow
    - atan2deg
    - Sqr
    linkageType: ''
    returnType: void
    signature: void cmsLab2LCh(cmsContext ContextID, cmsCIELCh* LCh, const cmsCIELab*
      Lab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:368,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:371,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Lab
    - LCh
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELCh*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: cmsLCh2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 3
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void cmsLCh2Lab(cmsContext ContextID, cmsCIELab* Lab, const cmsCIELCh*
      LCh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: XYZ2Fix
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cmsQuickSaturateWord
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number XYZ2Fix(cmsFloat64Number d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:385,1
    - Dst: XYZ2Fix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:418,1
    - Dst: XYZ2Fix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:419,1
    - Dst: XYZ2Fix
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:420,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - ContextID
    - XYZ
    - fXYZ
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 421
    functionName: cmsFloat2XYZEncoded
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    - XYZ2Fix
    linkageType: ''
    returnType: void
    signature: void cmsFloat2XYZEncoded(cmsContext ContextID, cmsUInt16Number XYZ[3],
      const cmsCIEXYZ* fXYZ)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cms15Fixed16toDouble
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - v
    argTypes:
    - cmsContext
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: XYZ2float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - _cms15Fixed16toDouble
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number XYZ2float(cmsContext ContextID, cmsUInt16Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XYZ2float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:440,1
    - Dst: XYZ2float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:441,1
    - Dst: XYZ2float
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - fXYZ
    - XYZ
    argTypes:
    - cmsContext
    - cmsCIEXYZ*
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: cmsXYZEncoded2Float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 2
    functionsReached:
    - XYZ2float
    linkageType: ''
    returnType: void
    signature: void cmsXYZEncoded2Float(cmsContext ContextID, cmsCIEXYZ* fXYZ, const
      cmsUInt16Number XYZ[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:450,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:452,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:453,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:454,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:456,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:456,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:456,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - Lab1
    - Lab2
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: cmsDeltaE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 8
    functionsReached:
    - cmsUNUSED_PARAMETER
    - pow
    - Sqr
    - fabs
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsDeltaE(cmsContext ContextID, const cmsCIELab* Lab1,
      const cmsCIELab* Lab2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:467,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:469,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:470,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:472,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:473,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:475,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:475,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:475,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:479,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:481,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - Lab1
    - Lab2
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: cmsCIE94DeltaE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - sqrt
    - pow
    - Sqr
    - cmsDeltaE
    - fabs
    - cmsLab2LCh
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsCIE94DeltaE(cmsContext ContextID, const cmsCIELab*
      Lab1, const cmsCIELab* Lab2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:497,1
    - Dst: log
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - Lab
    argTypes:
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 502
    functionName: ComputeLBFD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - log
    - Sqr
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number ComputeLBFD(const cmsCIELab* Lab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ComputeLBFD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:514,1
    - Dst: ComputeLBFD
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:515,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:518,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:519,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:525,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:527,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:527,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:527,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:528,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:528,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:528,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:528,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:534,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:534,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:534,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:534,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:534,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:535,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:536,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:537,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:538,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:539,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:542,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:543,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:544,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:545,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:546,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:548,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:551,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:551,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:551,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - ContextID
    - Lab1
    - Lab2
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 554
    functionName: cmsBFDdeltaE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - sqrt
    - ComputeLBFD
    - Sqr
    - cos
    - cmsDeltaE
    - cmsLab2LCh
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsBFDdeltaE(cmsContext ContextID, const cmsCIELab*
      Lab1, const cmsCIELab* Lab2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:565,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:566,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:572,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:574,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:574,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:574,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:575,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:575,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:575,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:575,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:580,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:580,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:582,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:582,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:590,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:592,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:592,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:592,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - ContextID
    - Lab1
    - Lab2
    - l
    - c
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELab*
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 595
    functionName: cmsCMCdeltaE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - sqrt
    - Sqr
    - cos
    - cmsDeltaE
    - fabs
    - cmsLab2LCh
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsCMCdeltaE(cmsContext ContextID, const cmsCIELab*
      Lab1, const cmsCIELab* Lab2, cmsFloat64Number l, cmsFloat64Number c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:605,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:605,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:605,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:610,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:610,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:610,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:612,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:612,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:612,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:612,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:616,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:616,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:616,1
    - Dst: atan2deg
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:617,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:622,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:622,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:622,1
    - Dst: atan2deg
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:623,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:630,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:641,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:641,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:641,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:643,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:643,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:644,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:644,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:645,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:645,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:646,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:646,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:648,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:648,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:648,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:653,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:653,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:655,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:655,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:655,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:655,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:657,1
    - Dst: RADIANS
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:657,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:659,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:659,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:660,1
    - Dst: Sqr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:661,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - ContextID
    - Lab1
    - Lab2
    - Kl
    - Kc
    - Kh
    argTypes:
    - cmsContext
    - cmsCIELab*
    - cmsCIELab*
    - cmsFloat64Number
    - cmsFloat64Number
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 667
    functionName: cmsCIE2000DeltaE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 0
    functionsReached:
    - sqrt
    - pow
    - exp
    - Sqr
    - sin
    - cos
    - cmsUNUSED_PARAMETER
    - RADIANS
    - fabs
    - atan2deg
    linkageType: ''
    returnType: cmsFloat64Number
    signature: "cmsFloat64Number cmsCIE2000DeltaE(cmsContext ContextID, const cmsCIELab*
      Lab1, const cmsCIELab* Lab2,\n                                  cmsFloat64Number
      Kl, cmsFloat64Number Kc, cmsFloat64Number Kh)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:681,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - ContextID
    - Colorspace
    - dwFlags
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 716
    functionName: _cmsReasonableGridpointsByColorspace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 5
    functionsReached:
    - cmsChannelsOf
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number _cmsReasonableGridpointsByColorspace(cmsContext ContextID,
      cmsColorSpaceSignature Colorspace, cmsUInt32Number dwFlags)
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 4
    argNames:
    - Space
    - White
    - Black
    - nOutputs
    argTypes:
    - cmsColorSpaceSignature
    - cmsUInt16Number**
    - cmsUInt16Number**
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 768
    functionName: _cmsEndPointsBySpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool _cmsEndPointsBySpace(cmsColorSpaceSignature Space,\n                             cmsUInt16Number
      **White,\n                             cmsUInt16Number **Black,\n                             cmsUInt32Number
      *nOutputs)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 2
    argNames:
    - ContextID
    - OurNotation
    argTypes:
    - cmsContext
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 820
    functionName: _cmsICCcolorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 2
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsColorSpaceSignature
    signature: cmsColorSpaceSignature _cmsICCcolorSpace(cmsContext ContextID, int
      OurNotation)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 75
    argCount: 2
    argNames:
    - ContextID
    - ProfileSpace
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 888
    functionName: _cmsLCMScolorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 5
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: int
    signature: int _cmsLCMScolorSpace(cmsContext ContextID, cmsColorSpaceSignature
      ProfileSpace)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 63
    argCount: 2
    argNames:
    - ContextID
    - ColorSpace
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 891
    functionDepth: 1
    functionLinenumber: 891
    functionLinenumberEnd: 955
    functionName: cmsChannelsOf
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmspcs.c
    functionUses: 11
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsChannelsOf(cmsContext ContextID, cmsColorSpaceSignature
      ColorSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: isseparator
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool isseparator(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isseparator
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:366,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: ismiddle
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - isseparator
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ismiddle(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:373,1
    - Dst: ismiddle
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: isidchar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - ismiddle
    - isalnum
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool isidchar(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:380,1
    - Dst: ismiddle
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 377
    functionDepth: 2
    functionLinenumber: 377
    functionLinenumberEnd: 381
    functionName: isfirstidchar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - ismiddle
    - isdigit
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool isfirstidchar(int c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:394,1
    - Dst: isalpha
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 405
    functionName: isabsolutepath
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - isalpha
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool isabsolutepath(const char *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isabsolutepath
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:417,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:419,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:425,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:428,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - relPath
    - basePath
    - buffer
    - MaxLen
    argTypes:
    - char*
    - char*
    - char*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 438
    functionName: BuildAbsolutePath
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - isabsolutepath
    - strrchr
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool BuildAbsolutePath(const char *relPath, const char *basePath,
      char *buffer, cmsUInt32Number MaxLen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 449
    functionName: NoMeta
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: char
    signature: char * NoMeta(const char* str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:458,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:459,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:461,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:463,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ContextID
    - it8
    - Txt
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 452
    functionDepth: 3
    functionLinenumber: 452
    functionLinenumberEnd: 468
    functionName: SynError
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - cmsSignalError
    - snprintf
    - vsnprintf
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SynError(cmsContext ContextID, cmsIT8* it8, const char *Txt,
      ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:475,1
    - Dst: NoMeta
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ContextID
    - it8
    - sy
    - Err
    argTypes:
    - cmsContext
    - cmsIT8*
    - SYMBOL
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 477
    functionName: Check
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 5
    functionsReached:
    - SynError
    - NoMeta
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Check(cmsContext ContextID, cmsIT8* it8, SYMBOL sy, const char*
      Err)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:485,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:487,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:491,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - it8
    argTypes:
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 502
    functionName: NextCh
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fclose
    - feof
    linkageType: ''
    returnType: void
    signature: void NextCh(cmsIT8* it8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:516,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - id
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: BinSrchKey
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsstrcasecmp
    linkageType: ''
    returnType: SYMBOL
    signature: SYMBOL BinSrchKey(const char *id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 531
    functionName: xpow10
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number xpow10(int n)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:540,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:543,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:551,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:553,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:557,1
    - Dst: xpow10
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:560,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:564,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:569,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:573,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:579,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:583,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:590,1
    - Dst: xpow10
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:594,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - it8
    - inum
    argTypes:
    - cmsIT8*
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 596
    functionName: ReadReal
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - toupper
    - isdigit
    - NextCh
    - xpow10
    linkageType: ''
    returnType: void
    signature: void ReadReal(cmsIT8* it8, cmsInt32Number inum)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:617,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:630,1
    - Dst: xpow10
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:637,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:641,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:662,1
    - Dst: xpow10
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:673,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 48
    argCount: 1
    argNames:
    - Buffer
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 677
    functionName: ParseFloatNumber
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - toupper
    - isdigit
    - xpow10
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number ParseFloatNumber(const char *Buffer)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: isseparator
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:691,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:692,1
    - Dst: isfirstidchar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:694,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:703,1
    - Dst: isidchar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:705,1
    - Dst: BinSrchKey
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:710,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:716,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:722,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:730,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:731,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:735,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:736,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:738,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:744,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:749,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:754,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:758,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:765,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:770,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:777,1
    - Dst: ReadReal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:782,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:789,1
    - Dst: ReadReal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:794,1
    - Dst: isidchar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:804,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:808,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:812,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:815,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:821,1
    - Dst: isidchar
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:823,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:836,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:848,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:850,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:856,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:863,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:865,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:876,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:883,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:890,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:895,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:909,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:913,1
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:914,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:919,1
    - Dst: BuildAbsolutePath
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:924,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:927,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:931,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:934,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:940,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 166
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 681
    functionDepth: 4
    functionLinenumber: 681
    functionLinenumberEnd: 943
    functionName: InSymbol
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - AllocChunk
    - BuildAbsolutePath
    - isseparator
    - Check
    - strlen
    - snprintf
    - BinSrchKey
    - isfirstidchar
    - toupper
    - SynError
    - ReadReal
    - InSymbol
    - fopen
    - isxdigit
    - isdigit
    - isidchar
    - NextCh
    linkageType: ''
    returnType: void
    signature: void InSymbol(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Check
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:949,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:951,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 946
    functionDepth: 5
    functionLinenumber: 946
    functionLinenumberEnd: 954
    functionName: CheckEOLN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - Check
    - InSymbol
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool CheckEOLN(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - it8
    - sy
    argTypes:
    - cmsContext
    - cmsIT8*
    - SYMBOL
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 958
    functionDepth: 5
    functionLinenumber: 958
    functionLinenumberEnd: 963
    functionName: Skip
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - InSymbol
    linkageType: ''
    returnType: void
    signature: void Skip(cmsContext ContextID, cmsIT8* it8, SYMBOL sy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 967
    functionDepth: 5
    functionLinenumber: 967
    functionLinenumberEnd: 973
    functionName: SkipEOLN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - InSymbol
    linkageType: ''
    returnType: void
    signature: void SkipEOLN(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:985,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:988,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:989,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:990,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:996,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - it8
    - Buffer
    - max
    - ErrorTitle
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 977
    functionDepth: 4
    functionLinenumber: 977
    functionLinenumberEnd: 1001
    functionName: GetVal
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - snprintf
    - SynError
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool GetVal(cmsContext ContextID, cmsIT8* it8, char* Buffer, cmsUInt32Number
      max, const char* ErrorTitle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1005
    functionDepth: 4
    functionLinenumber: 1005
    functionLinenumberEnd: 1015
    functionName: GetTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SynError
    linkageType: ''
    returnType: TABLE
    signature: TABLE * GetTable(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1036,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1037,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1042,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1044,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - hIT8
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1021
    functionDepth: 3
    functionLinenumber: 1021
    functionLinenumberEnd: 1045
    functionName: cmsIT8Free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 4
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void cmsIT8Free(cmsContext ContextID, cmsHANDLE hIT8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1053,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1057,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1061,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ContextID
    - it8
    - size
    argTypes:
    - cmsContext
    - cmsIT8*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1049
    functionDepth: 3
    functionLinenumber: 1049
    functionLinenumberEnd: 1071
    functionName: AllocBigBlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    - _cmsMallocZero
    linkageType: ''
    returnType: void
    signature: void * AllocBigBlock(cmsContext ContextID, cmsIT8* it8, cmsUInt32Number
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsALIGNMEM
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1081,1
    - Dst: AllocBigBlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1095,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - it8
    - size
    argTypes:
    - cmsContext
    - cmsIT8*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1075
    functionDepth: 4
    functionLinenumber: 1075
    functionLinenumberEnd: 1103
    functionName: AllocChunk
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 3
    functionsReached:
    - AllocBigBlock
    - _cmsALIGNMEM
    linkageType: ''
    returnType: void
    signature: void * AllocChunk(cmsContext ContextID, cmsIT8* it8, cmsUInt32Number
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1110,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1114,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - it8
    - str
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1107
    functionDepth: 5
    functionLinenumber: 1107
    functionLinenumberEnd: 1118
    functionName: AllocString
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - strlen
    - AllocChunk
    - strncpy
    linkageType: ''
    returnType: char
    signature: char *AllocString(cmsContext ContextID, cmsIT8* it8, const char* str)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1125,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1134,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1151,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 5
    argNames:
    - ContextID
    - p
    - Key
    - Subkey
    - LastPtr
    argTypes:
    - cmsContext
    - KEYVALUE*
    - char*
    - char*
    - KEYVALUE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1156
    functionName: IsAvailableOnList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - cmsstrcasecmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsAvailableOnList(cmsContext ContextID, KEYVALUE* p, const
      char* Key, const char* Subkey, KEYVALUE** LastPtr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1170,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1181,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1184,1
    - Dst: AllocString
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1189,1
    - Dst: AllocString
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1190,1
    - Dst: AllocString
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1220,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 7
    argNames:
    - ContextID
    - it8
    - Head
    - Key
    - Subkey
    - xValue
    - WriteAs
    argTypes:
    - cmsContext
    - cmsIT8*
    - KEYVALUE**
    - char*
    - char*
    - char*
    - WRITEMODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1161
    functionDepth: 6
    functionLinenumber: 1161
    functionLinenumberEnd: 1227
    functionName: AddToList
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SynError
    - IsAvailableOnList
    - AllocChunk
    - AllocString
    linkageType: ''
    returnType: KEYVALUE
    signature: KEYVALUE * AddToList(cmsContext ContextID, cmsIT8* it8, KEYVALUE**
      Head, const char *Key, const char *Subkey, const char* xValue, WRITEMODE WriteAs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - it8
    - Key
    - as
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    - WRITEMODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 7
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: AddAvailableProperty
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - AddToList
    linkageType: ''
    returnType: KEYVALUE
    signature: KEYVALUE * AddAvailableProperty(cmsContext ContextID, cmsIT8* it8,
      const char* Key, WRITEMODE as)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - it8
    - Key
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1236
    functionDepth: 7
    functionLinenumber: 1236
    functionLinenumberEnd: 1240
    functionName: AddAvailableSampleID
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - AddToList
    linkageType: ''
    returnType: KEYVALUE
    signature: KEYVALUE * AddAvailableSampleID(cmsContext ContextID, cmsIT8* it8,
      const char* Key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1256
    functionName: AllocTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: void
    signature: void AllocTable(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AllocTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1267,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - IT8
    - nTable
    argTypes:
    - cmsContext
    - cmsHANDLE
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1259
    functionDepth: 4
    functionLinenumber: 1259
    functionLinenumberEnd: 1278
    functionName: cmsIT8SetTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SynError
    - AllocTable
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number cmsIT8SetTable(cmsContext ContextID, cmsHANDLE  IT8,
      cmsUInt32Number nTable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1288,1
    - Dst: AllocTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1291,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1311,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1315,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1316,1
    - Dst: AddAvailableProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1321,1
    - Dst: AddAvailableSampleID
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1283
    functionDepth: 8
    functionLinenumber: 1283
    functionLinenumberEnd: 1328
    functionName: cmsIT8Alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - AddAvailableProperty
    - strcpy
    - _cmsMallocZero
    - AllocTable
    - AddAvailableSampleID
    - cmsIT8SetSheetType
    - AllocChunk
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsIT8Alloc(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - hIT8
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1331
    functionDepth: 5
    functionLinenumber: 1331
    functionLinenumberEnd: 1334
    functionName: cmsIT8GetSheetType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetSheetType(cmsContext ContextID, cmsHANDLE
      hIT8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1338,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - Type
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1336
    functionDepth: 5
    functionLinenumber: 1336
    functionLinenumberEnd: 1343
    functionName: cmsIT8SetSheetType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - GetTable
    - strncpy
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetSheetType(cmsContext ContextID, cmsHANDLE hIT8, const
      char* Type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1352,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1345
    functionDepth: 7
    functionLinenumber: 1345
    functionLinenumberEnd: 1353
    functionName: cmsIT8SetComment
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetComment(cmsContext ContextID, cmsHANDLE hIT8, const
      char* Val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1363,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - Key
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1356
    functionDepth: 7
    functionLinenumber: 1356
    functionLinenumberEnd: 1364
    functionName: cmsIT8SetPropertyStr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetPropertyStr(cmsContext ContextID, cmsHANDLE hIT8,
      const char* Key, const char *Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1371,1
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1373,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - cProp
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1366
    functionDepth: 7
    functionLinenumber: 1366
    functionLinenumberEnd: 1374
    functionName: cmsIT8SetPropertyDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - snprintf
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetPropertyDbl(cmsContext ContextID, cmsHANDLE hIT8,
      const char* cProp, cmsFloat64Number Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1381,1
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1383,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - cProp
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1384
      start: 1376
    functionDepth: 7
    functionLinenumber: 1376
    functionLinenumberEnd: 1384
    functionName: cmsIT8SetPropertyHex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - snprintf
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetPropertyHex(cmsContext ContextID, cmsHANDLE hIT8,
      const char* cProp, cmsUInt32Number Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1390,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - Key
    - Buffer
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1386
    functionDepth: 7
    functionLinenumber: 1386
    functionLinenumberEnd: 1391
    functionName: cmsIT8SetPropertyUncooked
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetPropertyUncooked(cmsContext ContextID, cmsHANDLE hIT8,
      const char* Key, const char* Buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1397,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - Key
    - SubKey
    - Buffer
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1393
    functionDepth: 7
    functionLinenumber: 1393
    functionLinenumberEnd: 1398
    functionName: cmsIT8SetPropertyMulti
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetPropertyMulti(cmsContext ContextID, cmsHANDLE hIT8,
      const char* Key, const char* SubKey, const char *Buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1406,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - Key
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1401
    functionDepth: 5
    functionLinenumber: 1401
    functionLinenumberEnd: 1411
    functionName: cmsIT8GetProperty
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - IsAvailableOnList
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetProperty(cmsContext ContextID, cmsHANDLE
      hIT8, const char* Key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8GetProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1416,1
    - Dst: ParseFloatNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - cProp
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1414
    functionDepth: 6
    functionLinenumber: 1414
    functionLinenumberEnd: 1421
    functionName: cmsIT8GetPropertyDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - cmsIT8GetProperty
    - ParseFloatNumber
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsIT8GetPropertyDbl(cmsContext ContextID, cmsHANDLE
      hIT8, const char* cProp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1428,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - Key
    - SubKey
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1423
    functionDepth: 5
    functionLinenumber: 1423
    functionLinenumberEnd: 1432
    functionName: cmsIT8GetPropertyMulti
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - IsAvailableOnList
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetPropertyMulti(cmsContext ContextID, cmsHANDLE
      hIT8, const char* Key, const char *SubKey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1440,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1444,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1448,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1452,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1437
    functionDepth: 7
    functionLinenumber: 1437
    functionLinenumberEnd: 1458
    functionName: AllocateDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SynError
    - GetTable
    - AllocChunk
    - cmsIT8GetPropertyDbl
    linkageType: ''
    returnType: void
    signature: void AllocateDataFormat(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - it8
    - n
    argTypes:
    - cmsContext
    - cmsIT8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1460
    functionDepth: 5
    functionLinenumber: 1460
    functionLinenumberEnd: 1469
    functionName: GetDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    linkageType: ''
    returnType: char
    signature: char *GetDataFormat(cmsContext ContextID, cmsIT8* it8, int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1474,1
    - Dst: AllocateDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1477,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1480,1
    - Dst: AllocString
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1485,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - ContextID
    - it8
    - n
    - label
    argTypes:
    - cmsContext
    - cmsIT8*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1471
    functionDepth: 8
    functionLinenumber: 1471
    functionLinenumberEnd: 1489
    functionName: SetDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - SynError
    - GetTable
    - AllocateDataFormat
    - AllocString
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetDataFormat(cmsContext ContextID, cmsIT8* it8, int n, const
      char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ContextID
    - h
    - n
    - Sample
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1492
    functionDepth: 9
    functionLinenumber: 1492
    functionLinenumberEnd: 1496
    functionName: cmsIT8SetDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - SetDataFormat
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetDataFormat(cmsContext ContextID, cmsHANDLE  h, int
      n, const char *Sample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1501,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1505,1
    - Dst: cmsIT8GetProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1505,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1506,1
    - Dst: cmsIT8GetProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1506,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1510,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1513,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1498
    functionDepth: 6
    functionLinenumber: 1498
    functionLinenumberEnd: 1520
    functionName: AllocateDataSet
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsIT8GetProperty
    - SynError
    - GetTable
    - atoi
    - AllocChunk
    linkageType: ''
    returnType: void
    signature: void AllocateDataSet(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - it8
    - nSet
    - nField
    argTypes:
    - cmsContext
    - cmsIT8*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1522
    functionDepth: 5
    functionLinenumber: 1522
    functionLinenumberEnd: 1534
    functionName: GetData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - GetTable
    linkageType: ''
    returnType: char
    signature: char * GetData(cmsContext ContextID, cmsIT8* it8, int nSet, int nField)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1539,1
    - Dst: AllocateDataSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1542,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1548,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1552,1
    - Dst: AllocString
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - ContextID
    - it8
    - nSet
    - nField
    - Val
    argTypes:
    - cmsContext
    - cmsIT8*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1536
    functionDepth: 7
    functionLinenumber: 1536
    functionLinenumberEnd: 1558
    functionName: SetData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - SynError
    - GetTable
    - AllocateDataSet
    - AllocString
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetData(cmsContext ContextID, cmsIT8* it8, int nSet, int nField,
      const char *Val)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1569,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1575,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1581,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1582,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1593,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ContextID
    - f
    - str
    argTypes:
    - cmsContext
    - SAVESTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1565
    functionDepth: 3
    functionLinenumber: 1565
    functionLinenumberEnd: 1602
    functionName: WriteStr
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - strlen
    - cmsSignalError
    - memmove
    - cmsUNUSED_PARAMETER
    - fwrite
    linkageType: ''
    returnType: void
    signature: void WriteStr(cmsContext ContextID, SAVESTREAM* f, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1613,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1614,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1616,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - f
    - frm
    argTypes:
    - cmsContext
    - SAVESTREAM*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1607
    functionDepth: 4
    functionLinenumber: 1607
    functionLinenumberEnd: 1619
    functionName: Writef
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - WriteStr
    - va_end
    linkageType: ''
    returnType: void
    signature: void Writef(cmsContext ContextID, SAVESTREAM* f, const char* frm, ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1626,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1629,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1630,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1638,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1642,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1645,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1649,1
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1654,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1657,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1658,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1659,1
    - Dst: AddAvailableProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1662,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1665,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1671,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1675,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1679,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1679,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1683,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1683,1
    - Dst: Writef
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1687,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1690,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1695,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 3
    argNames:
    - ContextID
    - it8
    - fp
    argTypes:
    - cmsContext
    - cmsIT8*
    - SAVESTREAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1622
    functionDepth: 8
    functionLinenumber: 1622
    functionLinenumberEnd: 1698
    functionName: WriteHeader
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - AddAvailableProperty
    - Writef
    - IsAvailableOnList
    - SynError
    - GetTable
    - WriteStr
    - atoi
    linkageType: ''
    returnType: void
    signature: void WriteHeader(cmsContext ContextID, cmsIT8* it8, SAVESTREAM* fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1706,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1710,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1711,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1712,1
    - Dst: cmsIT8GetProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1712,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1716,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1717,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - fp
    - it8
    argTypes:
    - cmsContext
    - SAVESTREAM*
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1702
    functionDepth: 6
    functionLinenumber: 1702
    functionLinenumberEnd: 1721
    functionName: WriteDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - atoi
    - GetTable
    - cmsIT8GetProperty
    - WriteStr
    linkageType: ''
    returnType: void
    signature: void WriteDataFormat(cmsContext ContextID, SAVESTREAM* fp, cmsIT8*
      it8)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1729,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1733,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1735,1
    - Dst: cmsIT8GetProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1735,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1739,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1745,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1749,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1751,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1752,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1753,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1756,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1759,1
    - Dst: WriteStr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - ContextID
    - fp
    - it8
    argTypes:
    - cmsContext
    - SAVESTREAM*
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1725
    functionDepth: 6
    functionLinenumber: 1725
    functionLinenumberEnd: 1763
    functionName: WriteData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsIT8GetProperty
    - GetTable
    - strchr
    - WriteStr
    - atoi
    linkageType: ''
    returnType: void
    signature: void WriteData(cmsContext ContextID, SAVESTREAM* fp, cmsIT8* it8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1774,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1776,1
    - Dst: cmsIT8SetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1781,1
    - Dst: WriteHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1782,1
    - Dst: WriteDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1783,1
    - Dst: WriteData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1784,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - cFileName
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1768
    functionDepth: 9
    functionLinenumber: 1768
    functionLinenumberEnd: 1790
    functionName: cmsIT8SaveToFile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - cmsIT8SetTable
    - WriteData
    - WriteHeader
    - memset
    - fopen
    - WriteDataFormat
    - fclose
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SaveToFile(cmsContext ContextID, cmsHANDLE hIT8, const
      char* cFileName)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1800,1
    - Dst: cmsIT8SetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1815,1
    - Dst: WriteHeader
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1816,1
    - Dst: WriteDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1817,1
    - Dst: WriteData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1818,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - MemPtr
    - BytesNeeded
    argTypes:
    - cmsContext
    - cmsHANDLE
    - void*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1794
    functionDepth: 9
    functionLinenumber: 1794
    functionLinenumberEnd: 1829
    functionName: cmsIT8SaveToMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - WriteData
    - cmsIT8SetTable
    - WriteHeader
    - memset
    - WriteDataFormat
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SaveToMem(cmsContext ContextID, cmsHANDLE hIT8, void
      *MemPtr, cmsUInt32Number* BytesNeeded)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1838,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1840,1
    - Dst: CheckEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1841,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1850,1
    - Dst: SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1853,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1856,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1857,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1860,1
    - Dst: Skip
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1861,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1862,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1865,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1834
    functionDepth: 9
    functionLinenumber: 1834
    functionLinenumberEnd: 1871
    functionName: DataFormatSection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SkipEOLN
    - CheckEOLN
    - InSymbol
    - SynError
    - GetTable
    - Skip
    - SetDataFormat
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool DataFormatSection(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1881,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1883,1
    - Dst: CheckEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1884,1
    - Dst: AllocateDataSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1887,1
    - Dst: GetVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1899,1
    - Dst: SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1902,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1907,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1908,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1912,1
    - Dst: Skip
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1913,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1914,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1919,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1875
    functionDepth: 8
    functionLinenumber: 1875
    functionLinenumberEnd: 1922
    functionName: DataSection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SkipEOLN
    - SetData
    - InSymbol
    - SynError
    - GetTable
    - AllocateDataSet
    - Skip
    - GetVal
    - CheckEOLN
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool DataSection (cmsContext ContextID, cmsIT8* it8)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1943,1
    - Dst: GetVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1944,1
    - Dst: AddAvailableProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1945,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1946,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1951,1
    - Dst: GetVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1952,1
    - Dst: AddAvailableSampleID
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1953,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1954,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1959,1
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1962,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1965,1
    - Dst: AddAvailableProperty
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1967,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1972,1
    - Dst: GetVal
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1973,1
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1976,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1976,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1983,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1991,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1996,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:1998,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2005,1
    - Dst: strspn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2009,1
    - Dst: strspn
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2010,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2013,1
    - Dst: AddToList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2014,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2014,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2018,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2025,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2028,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 66
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1927
    functionDepth: 8
    functionLinenumber: 1927
    functionLinenumberEnd: 2033
    functionName: HeaderSection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - AddAvailableProperty
    - SkipEOLN
    - strlen
    - IsAvailableOnList
    - strrchr
    - strncpy
    - InSymbol
    - AddAvailableSampleID
    - SynError
    - GetTable
    - strchr
    - GetVal
    - strspn
    - AddToList
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool HeaderSection(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isseparator
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2043,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2044,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2050,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - it8
    - SheetTypePtr
    argTypes:
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2054
    functionName: ReadType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - isseparator
    - NextCh
    linkageType: ''
    returnType: void
    signature: void ReadType(cmsIT8* it8, char* SheetTypePtr)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ReadType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2063,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2066,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2068,1
    - Dst: DataFormatSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2076,1
    - Dst: DataSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2081,1
    - Dst: AllocTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2085,1
    - Dst: isseparator
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2097,1
    - Dst: NextCh
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2098,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2103,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2104,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2109,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2115,1
    - Dst: InSymbol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2116,1
    - Dst: SkipEOLN
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2124,1
    - Dst: HeaderSection
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2128,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 3
    argNames:
    - ContextID
    - it8
    - nosheet
    argTypes:
    - cmsContext
    - cmsIT8*
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2057
    functionDepth: 10
    functionLinenumber: 2057
    functionLinenumberEnd: 2134
    functionName: ParseIT8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SkipEOLN
    - isseparator
    - DataFormatSection
    - DataSection
    - InSymbol
    - AllocTable
    - HeaderSection
    - ReadType
    - cmsIT8SetSheetType
    - NextCh
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ParseIT8(cmsContext ContextID, cmsIT8* it8, cmsBool nosheet)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2158,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2166,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2173,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2178,1
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2192,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2200,1
    - Dst: SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2140
    functionDepth: 8
    functionLinenumber: 2140
    functionLinenumberEnd: 2218
    functionName: CookPointers
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - SetData
    - IsAvailableOnList
    - SynError
    - GetData
    - snprintf
    - cmsstrcasecmp
    linkageType: ''
    returnType: void
    signature: void CookPointers(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - Buffer
    - n
    argTypes:
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2259
    functionName: IsMyBlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsMyBlock(const cmsUInt8Number* Buffer, cmsUInt32Number n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2269,1
    - Dst: cmsSignalError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2271,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2275,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2277,1
    - Dst: IsMyBlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - FileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2262
    functionDepth: 3
    functionLinenumber: 2262
    functionLinenumberEnd: 2283
    functionName: IsMyFile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - fread
    - cmsSignalError
    - fopen
    - IsMyBlock
    - fclose
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsMyFile(const char* FileName)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2294,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2295,1
    - Dst: IsMyBlock
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2297,1
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2300,1
    - Dst: _cmsMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2304,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2307,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2311,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2314,1
    - Dst: ParseIT8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2317,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2319,1
    - Dst: CookPointers
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2323,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2326,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - ContextID
    - Ptr
    - len
    argTypes:
    - cmsContext
    - void*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2288
    functionDepth: 11
    functionLinenumber: 2288
    functionLinenumberEnd: 2332
    functionName: cmsIT8LoadFromMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - strncpy
    - _cmsMalloc
    - CookPointers
    - cmsIT8Free
    - _cmsFree
    - ParseIT8
    - IsMyBlock
    - cmsIT8Alloc
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsIT8LoadFromMem(cmsContext ContextID, const void *Ptr,
      cmsUInt32Number len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2342,1
    - Dst: IsMyFile
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2344,1
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2347,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2352,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2355,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2360,1
    - Dst: ParseIT8
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2363,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2365,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2366,1
    - Dst: CookPointers
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2370,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2373,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - ContextID
    - cFileName
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2335
    functionDepth: 11
    functionLinenumber: 2335
    functionLinenumberEnd: 2380
    functionName: cmsIT8LoadFromFile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - IsMyFile
    - _cmsAssert
    - fclose
    - fopen
    - strncpy
    - CookPointers
    - cmsIT8Free
    - ParseIT8
    - cmsIT8Alloc
    linkageType: ''
    returnType: cmsHANDLE
    signature: cmsHANDLE cmsIT8LoadFromFile(cmsContext ContextID, const char* cFileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2387,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - SampleNames
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2382
    functionDepth: 5
    functionLinenumber: 2382
    functionLinenumberEnd: 2394
    functionName: cmsIT8EnumDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - GetTable
    linkageType: ''
    returnType: int
    signature: int cmsIT8EnumDataFormat(cmsContext ContextID, cmsHANDLE hIT8, char
      ***SampleNames)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2405,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2407,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - PropertyNames
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2397
    functionDepth: 5
    functionLinenumber: 2397
    functionLinenumberEnd: 2427
    functionName: cmsIT8EnumProperties
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - GetTable
    - AllocChunk
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsIT8EnumProperties(cmsContext ContextID, cmsHANDLE
      hIT8, char ***PropertyNames)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2437,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2440,1
    - Dst: IsAvailableOnList
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2442,1
    - Dst: AllocChunk
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2456,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - cProp
    - SubpropertyNames
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2429
    functionDepth: 5
    functionLinenumber: 2429
    functionLinenumberEnd: 2467
    functionName: cmsIT8EnumPropertyMulti
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - GetTable
    - IsAvailableOnList
    - AllocChunk
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsIT8EnumPropertyMulti(cmsContext ContextID, cmsHANDLE
      hIT8, const char* cProp, const char ***SubpropertyNames)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2474,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2478,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - it8
    - cPatch
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2469
    functionDepth: 6
    functionLinenumber: 2469
    functionLinenumberEnd: 2489
    functionName: LocatePatch
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - GetData
    - cmsstrcasecmp
    linkageType: ''
    returnType: int
    signature: int LocatePatch(cmsContext ContextID, cmsIT8* it8, const char* cPatch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2497,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2501,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ContextID
    - it8
    argTypes:
    - cmsContext
    - cmsIT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2492
    functionDepth: 6
    functionLinenumber: 2492
    functionLinenumberEnd: 2509
    functionName: LocateEmptyPatch
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - GetData
    linkageType: ''
    returnType: int
    signature: int LocateEmptyPatch(cmsContext ContextID, cmsIT8* it8)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2516,1
    - Dst: GetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2520,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ContextID
    - it8
    - cSample
    argTypes:
    - cmsContext
    - cmsIT8*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2511
    functionDepth: 6
    functionLinenumber: 2511
    functionLinenumberEnd: 2529
    functionName: LocateSample
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - GetTable
    - GetDataFormat
    - cmsstrcasecmp
    linkageType: ''
    returnType: int
    signature: int LocateSample(cmsContext ContextID, cmsIT8* it8, const char* cSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2536,1
    - Dst: LocateSample
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - cSample
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2532
    functionDepth: 7
    functionLinenumber: 2532
    functionLinenumberEnd: 2539
    functionName: cmsIT8FindDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - LocateSample
    linkageType: ''
    returnType: int
    signature: int cmsIT8FindDataFormat(cmsContext ContextID, cmsHANDLE hIT8, const
      char* cSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2547,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - row
    - col
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2543
    functionDepth: 6
    functionLinenumber: 2543
    functionLinenumberEnd: 2550
    functionName: cmsIT8GetDataRowCol
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - GetData
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetDataRowCol(cmsContext ContextID, cmsHANDLE
      hIT8, int row, int col)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8GetDataRowCol
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2557,1
    - Dst: ParseFloatNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - row
    - col
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2553
    functionDepth: 7
    functionLinenumber: 2553
    functionLinenumberEnd: 2562
    functionName: cmsIT8GetDataRowColDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsIT8GetDataRowCol
    - ParseFloatNumber
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsIT8GetDataRowColDbl(cmsContext ContextID, cmsHANDLE
      hIT8, int row, int col)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2569,1
    - Dst: SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - row
    - col
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2572
      start: 2565
    functionDepth: 8
    functionLinenumber: 2565
    functionLinenumberEnd: 2572
    functionName: cmsIT8SetDataRowCol
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 2
    functionsReached:
    - _cmsAssert
    - SetData
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetDataRowCol(cmsContext ContextID, cmsHANDLE hIT8, int
      row, int col, const char* Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2580,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2582,1
    - Dst: SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - row
    - col
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - int
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2575
    functionDepth: 8
    functionLinenumber: 2575
    functionLinenumberEnd: 2585
    functionName: cmsIT8SetDataRowColDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - _cmsAssert
    - SetData
    - snprintf
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetDataRowColDbl(cmsContext ContextID, cmsHANDLE hIT8,
      int row, int col, cmsFloat64Number Val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2594,1
    - Dst: LocateSample
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2596,1
    - Dst: LocatePatch
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2601,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - cPatch
    - cSample
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2589
    functionDepth: 7
    functionLinenumber: 2589
    functionLinenumberEnd: 2607
    functionName: cmsIT8GetData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - LocatePatch
    - LocateSample
    - GetData
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetData(cmsContext ContextID, cmsHANDLE hIT8,
      const char* cPatch, const char* cSample)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2614,1
    - Dst: ParseFloatNumber
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - it8
    - cPatch
    - cSample
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2617
      start: 2610
    functionDepth: 8
    functionLinenumber: 2610
    functionLinenumberEnd: 2617
    functionName: cmsIT8GetDataDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 1
    functionsReached:
    - cmsIT8GetData
    - ParseFloatNumber
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number cmsIT8GetDataDbl(cmsContext ContextID, cmsHANDLE  it8,
      const char* cPatch, const char* cSample)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2627,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2629,1
    - Dst: LocateSample
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2631,1
    - Dst: AllocateDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2638,1
    - Dst: AllocateDataSet
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2639,1
    - Dst: CookPointers
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2640,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2643,1
    - Dst: LocateEmptyPatch
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2645,1
    - Dst: SynError
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2647,1
    - Dst: LocatePatch
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2653,1
    - Dst: SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2659,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - cPatch
    - cSample
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2621
    functionDepth: 9
    functionLinenumber: 2621
    functionLinenumberEnd: 2660
    functionName: cmsIT8SetData
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - LocateSample
    - SetData
    - _cmsAssert
    - LocateEmptyPatch
    - SynError
    - GetTable
    - LocatePatch
    - AllocateDataSet
    - CookPointers
    - AllocateDataFormat
    - cmsstrcasecmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetData(cmsContext ContextID, cmsHANDLE hIT8, const char*
      cPatch, const char* cSample, const char *Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2670,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2672,1
    - Dst: cmsIT8SetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - cPatch
    - cSample
    - Val
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2663
    functionDepth: 10
    functionLinenumber: 2663
    functionLinenumberEnd: 2674
    functionName: cmsIT8SetDataDbl
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - cmsIT8SetData
    - snprintf
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool cmsIT8SetDataDbl(cmsContext ContextID, cmsHANDLE hIT8, const
      char* cPatch,\n                                   const char* cSample,\n                                   cmsFloat64Number
      Val)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2684,1
    - Dst: GetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2686,1
    - Dst: GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2687,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ContextID
    - hIT8
    - nPatch
    - buffer
    argTypes:
    - cmsContext
    - cmsHANDLE
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2695
      start: 2678
    functionDepth: 6
    functionLinenumber: 2678
    functionLinenumberEnd: 2695
    functionName: cmsIT8GetPatchName
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - GetTable
    - GetData
    - strncpy
    linkageType: ''
    returnType: char
    signature: char * CMSEXPORT cmsIT8GetPatchName(cmsContext ContextID, cmsHANDLE
      hIT8, int nPatch, char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2699,1
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2700,1
    - Dst: LocatePatch
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - cPatch
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2703
      start: 2697
    functionDepth: 7
    functionLinenumber: 2697
    functionLinenumberEnd: 2703
    functionName: cmsIT8GetPatchByName
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - LocatePatch
    - cmsUNUSED_PARAMETER
    linkageType: ''
    returnType: int
    signature: int cmsIT8GetPatchByName(cmsContext ContextID, cmsHANDLE hIT8, const
      char *cPatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2708,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - hIT8
    argTypes:
    - cmsContext
    - cmsHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2705
    functionDepth: 1
    functionLinenumber: 2705
    functionLinenumberEnd: 2713
    functionName: cmsIT8TableCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - _cmsAssert
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number cmsIT8TableCount(cmsContext ContextID, cmsHANDLE hIT8)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2724,1
    - Dst: cmsIT8GetData
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2732,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2735,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2743,1
    - Dst: cmsIT8SetTable
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2746,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - ContextID
    - hIT8
    - cSet
    - cField
    - ExpectedType
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2718
    functionDepth: 8
    functionLinenumber: 2718
    functionLinenumberEnd: 2747
    functionName: cmsIT8SetTableByLabel
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - sscanf
    - _cmsAssert
    - cmsIT8GetData
    - cmsIT8SetTable
    - cmsstrcasecmp
    linkageType: ''
    returnType: int
    signature: int cmsIT8SetTableByLabel(cmsContext ContextID, cmsHANDLE hIT8, const
      char* cSet, const char* cField, const char* ExpectedType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2755,1
    - Dst: LocateSample
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - cSample
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2763
      start: 2750
    functionDepth: 7
    functionLinenumber: 2750
    functionLinenumberEnd: 2763
    functionName: cmsIT8SetIndexColumn
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - _cmsAssert
    - LocateSample
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool cmsIT8SetIndexColumn(cmsContext ContextID, cmsHANDLE hIT8,
      const char* cSample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsUNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2769,1
    - Dst: _cmsAssert
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2771,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2774,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c:2776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - hIT8
    - Formatter
    argTypes:
    - cmsContext
    - cmsHANDLE
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2766
    functionDepth: 1
    functionLinenumber: 2766
    functionLinenumberEnd: 2779
    functionName: cmsIT8DefineDblFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/cmscgats.c
    functionUses: 0
    functionsReached:
    - cmsUNUSED_PARAMETER
    - strncpy
    - strcpy
    - _cmsAssert
    linkageType: ''
    returnType: void
    signature: void cmsIT8DefineDblFormat(cmsContext ContextID, cmsHANDLE hIT8, const
      char* Formatter)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: COMPARE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPARE(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - TO
    - ','
    - FROM
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,TO,FROM,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - TO
    - ','
    - FROM
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,TO,FROM,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - TO
    - ','
    - FROM
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,TO,FROM,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - TO
    - ','
    - FROM
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: UNPACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNPACK(CTX,T,TO,FROM,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - FROM
    - ','
    - TO
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,FROM,TO,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - FROM
    - ','
    - TO
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,FROM,TO,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - FROM
    - ','
    - TO
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,FROM,TO,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - CTX
    - ','
    - T
    - ','
    - FROM
    - ','
    - TO
    - ','
    - STRIDE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(CTX,T,FROM,TO,STRIDE)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: COPY_MATCHED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_MATCHED(FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: COPY_MATCHED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_MATCHED(FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: COPY_MATCHED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_MATCHED(FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: COPY_MATCHED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_MATCHED(FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: COPY_MATCHED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_MATCHED(FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRANS
    - ','
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: COPY_EXTRAS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_EXTRAS(TRANS,FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRANS
    - ','
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: COPY_EXTRAS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_EXTRAS(TRANS,FROM,TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - TRANS
    - ','
    - FROM
    - ','
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: COPY_EXTRAS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_EXTRAS(TRANS,FROM,TO)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsHandleExtraChannels
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:210,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:221,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:224,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:225,1
    - Dst: UNPACK
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:243,1
    - Dst: COMPARE
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:245,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:253,1
    - Dst: evalGamut
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:264,1
    - Dst: cmsGetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:267,1
    - Dst: eval
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:271,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:288,1
    - Dst: COPY_EXTRAS
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:289,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:299,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:301,1
    - Dst: COPY_MATCHED
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:304,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h:306,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 7
    argNames:
    - ContextID
    - p
    - in
    - out
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - _cmsTRANSFORM*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 310
    functionName: FUNCTION_NAME
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/src/extra_xform.h
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    - COMPARE
    - COPY_MATCHED
    - _cmsHandleExtraChannels
    - cmsGetAlarmCodes
    - eval
    - memset
    - memcpy
    - COPY_EXTRAS
    - evalGamut
    - UNPACK
    - PACK
    linkageType: ''
    returnType: void
    signature: "void FUNCTION_NAME(cmsContext ContextID,\n\t\t   _cmsTRANSFORM* p,\n
      \                  const void* in,\n                   void* out,\n                   cmsUInt32Number
      PixelsPerLine,\n                   cmsUInt32Number LineCount,\n                   const
      cmsStride* Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 696
    functionName: EXTRA_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXTRA_SH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 697
    functionName: FLOAT_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLOAT_SH(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 698
    functionName: OPTIMIZED_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OPTIMIZED_SH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 699
    functionName: COLORSPACE_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLORSPACE_SH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 700
    functionName: SWAPFIRST_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAPFIRST_SH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    functionName: FLAVOR_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAVOR_SH(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 702
    functionName: PLANAR_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PLANAR_SH(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: ENDIAN16_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENDIAN16_SH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 704
    functionName: DOSWAP_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOSWAP_SH(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 705
    functionName: CHANNELS_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANNELS_SH(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 706
    functionName: BYTES_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTES_SH(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 708
    functionDepth: 0
    functionLinenumber: 708
    functionLinenumberEnd: 709
    functionName: T_EXTRA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_EXTRA(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 710
    functionName: T_FLOAT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_FLOAT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    functionName: T_OPTIMIZED
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_OPTIMIZED(o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 712
    functionName: T_COLORSPACE
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_COLORSPACE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 713
    functionName: T_SWAPFIRST
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_SWAPFIRST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 714
    functionName: T_FLAVOR
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_FLAVOR(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 715
    functionName: T_PLANAR
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_PLANAR(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 716
    functionName: T_ENDIAN16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_ENDIAN16(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 717
    functionName: T_DOSWAP
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_DOSWAP(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 718
    functionName: T_CHANNELS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_CHANNELS(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 719
    functionName: T_BYTES
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_BYTES(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1665
    functionName: cmsFLAGS_GRIDPOINTS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/include/lcms2mt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmsFLAGS_GRIDPOINTS(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x8
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: FROM_8_TO_15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_8_TO_15(x8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x15
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: FROM_15_TO_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_15_TO_8(x15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:52,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:53,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:55,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: FatalErrorQuit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - UNUSED_PARAMETER
    - exit
    linkageType: ''
    returnType: void
    signature: void FatalErrorQuit(cmsContext ContextID, cmsUInt32Number ErrorCode,
      const char *Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:66,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:67,1
    - Dst: FatalErrorQuit
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: Fail
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 35
    functionsReached:
    - va_start
    - vsprintf
    - FatalErrorQuit
    linkageType: ''
    returnType: void
    signature: void Fail(const char* frm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:78,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:83,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: CreateCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 1
    functionsReached:
    - cmsFreeToneCurve
    - cmsCreateLinearizationDeviceLink
    - cmsBuildGamma
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreateCurves(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:101,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:103,1
    - Dst: Formatter_15Bit_Factory
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:107,1
    - Dst: Formatter_15Bit_Factory
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:108,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:112,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:116,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:117,1
    - Dst: Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:126,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:127,1
    - Dst: cmsFormatter::Fmt16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:128,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:134,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - id
    - Type
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 139
    functionName: CheckSingleFormatter15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsFormatter::Fmt16
    - UNUSED_PARAMETER
    - memset
    - Fmt16
    - Fail
    - Formatter_15Bit_Factory
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: void
    signature: void CheckSingleFormatter15(cmsContext id, cmsUInt32Number Type, const
      char* Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: C
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: C(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:147,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:148,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:149,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:150,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:151,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:152,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:153,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:154,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:155,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:156,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:157,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:158,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:159,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:160,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:161,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:162,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:163,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:164,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:165,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:166,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:167,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:168,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:169,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:170,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:171,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:172,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:173,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:174,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:175,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:176,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:177,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:178,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:179,1
    - Dst: C
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 181
    functionName: CheckFormatters15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - C
    linkageType: ''
    returnType: void
    signature: void CheckFormatters15(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:193,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:195,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:209,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:216,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - Format
    - planeStride
    - ExpectedChannels
    - ExpectedAlpha
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 228
    functionName: checkSingleComputeIncrements
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - va_start
    - va_arg
    - va_end
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number checkSingleComputeIncrements(cmsUInt32Number Format,
      cmsUInt32Number planeStride, cmsUInt32Number ExpectedChannels, cmsUInt32Number
      ExpectedAlpha, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - frm
    - ','
    - plane
    - ','
    - chans
    - ','
    - alpha
    - ','
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(frm, plane, chans, alpha, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:237,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:238,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:239,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:240,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:241,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:242,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:244,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:245,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:246,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:248,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:249,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:251,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:252,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:253,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:255,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:256,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:257,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:259,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:260,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:261,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:263,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:264,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:265,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:267,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:268,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:269,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:271,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:272,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:273,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:276,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:277,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:278,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:280,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:281,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:282,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:284,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:286,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:287,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:288,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:290,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:291,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:292,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:294,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:298,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:299,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:301,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:302,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:304,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:305,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:307,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:308,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:310,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:311,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:312,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:314,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:315,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:316,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:318,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:319,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:320,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:322,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:323,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 65
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 327
    functionName: CheckComputeIncrements
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: cmsInt32Number
    signature: cmsInt32Number CheckComputeIncrements(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:335,1
    - Dst: FROM_15_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsUInt16Number
    - cmsUInt8Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 336
    functionName: Valid15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - abs
    - FROM_15_TO_8
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Valid15(cmsUInt16Number a, cmsUInt8Number b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:344,1
    - Dst: FROM_8_TO_15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:348,1
    - Dst: FROM_15_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:349,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:352,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 355
    functionName: Check15bitMacros
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - Fail
    - FROM_15_TO_8
    - FROM_8_TO_15
    linkageType: ''
    returnType: void
    signature: void Check15bitMacros(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:370,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:371,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:373,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:374,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:378,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:382,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:383,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:384,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:385,1
    - Dst: FROM_8_TO_15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:397,1
    - Dst: FROM_8_TO_15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:398,1
    - Dst: FROM_8_TO_15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:399,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:404,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:405,1
    - Dst: Valid15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:413,1
    - Dst: Valid15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:414,1
    - Dst: Valid15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:415,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:416,1
    - Dst: FROM_15_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:417,1
    - Dst: FROM_15_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:417,1
    - Dst: FROM_15_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:417,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:422,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:422,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:423,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:423,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:424,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 4
    argNames:
    - ContextID
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 426
    functionName: TryAllValues15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - malloc
    - cmsDoTransform
    - free
    - Valid15
    - FROM_8_TO_15
    - Fail
    - cmsCreateTransform
    - FROM_15_TO_8
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TryAllValues15(cmsContext ContextID, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Check15bitMacros
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:432,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:434,1
    - Dst: TryAllValues15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:435,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:435,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:435,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:436,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:438,1
    - Dst: TryAllValues15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:439,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:439,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:439,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:440,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:442,1
    - Dst: TryAllValues15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:443,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:443,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:443,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:444,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 9
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: Check15bitsConversions
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - Check15bitMacros
    - cmsOpenProfileFromFile
    - TryAllValues15
    linkageType: ''
    returnType: void
    signature: void Check15bitsConversions(cmsContext ContextID)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:461,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:462,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:464,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:465,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:469,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:473,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:474,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:475,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:483,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:484,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:485,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:492,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:493,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:506,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:516,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:516,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:517,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:519,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:520,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - Raw
    - Plugin
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 450
    functionDepth: 8
    functionLinenumber: 450
    functionLinenumberEnd: 521
    functionName: TryAllValues16bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsDeleteTransform
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TryAllValues16bits(cmsContext Raw, cmsContext Plugin, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:527,1
    - Dst: TryAllValues16bits
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:528,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:528,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:528,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Raw
    - Plugin
    argTypes:
    - cmsContext
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 523
    functionDepth: 9
    functionLinenumber: 523
    functionLinenumberEnd: 530
    functionName: CheckAccuracy16Bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - cmsOpenProfileFromFile
    - TryAllValues16bits
    linkageType: ''
    returnType: void
    signature: void CheckAccuracy16Bits(cmsContext Raw, cmsContext Plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsFloat32Number
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: ValidFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ValidFloat(cmsFloat32Number a, cmsFloat32Number b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:558,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:559,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:561,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:562,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:566,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:570,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:571,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:572,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:588,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:589,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:597,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:598,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:599,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:600,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:606,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:606,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:607,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:609,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:610,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - Raw
    - Plugin
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 547
    functionDepth: 8
    functionLinenumber: 547
    functionLinenumberEnd: 611
    functionName: TryAllValuesFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - ValidFloat
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TryAllValuesFloat(cmsContext Raw, cmsContext Plugin, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:624,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:625,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:627,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:628,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:632,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:636,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:637,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:638,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:655,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:656,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:665,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:666,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:667,1
    - Dst: ValidFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:668,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:669,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:676,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:676,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:677,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:679,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:680,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - Raw
    - Plugin
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 613
    functionDepth: 8
    functionLinenumber: 613
    functionLinenumberEnd: 681
    functionName: TryAllValuesFloatAlpha
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - ValidFloat
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TryAllValuesFloatAlpha(cmsContext Raw, cmsContext Plugin, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsUInt16Number
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: Valid16Float
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Valid16Float(cmsUInt16Number a, cmsFloat32Number b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:707,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:708,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:710,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:711,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:715,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:719,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:720,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:721,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:722,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:735,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:736,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:737,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:743,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:744,1
    - Dst: Valid16Float
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:753,1
    - Dst: Valid16Float
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:754,1
    - Dst: Valid16Float
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:755,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:756,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:762,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:762,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:763,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:763,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:764,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:765,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 5
    argNames:
    - Raw
    - Plugin
    - hlcmsProfileIn
    - hlcmsProfileOut
    - Intent
    argTypes:
    - cmsContext
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    - cmsInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 694
    functionDepth: 8
    functionLinenumber: 694
    functionLinenumberEnd: 766
    functionName: TryAllValuesFloatVs16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsDeleteTransform
    - malloc
    - cmsDoTransform
    - free
    - Valid16Float
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TryAllValuesFloatVs16(cmsContext Raw, cmsContext Plugin, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut, cmsInt32Number Intent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:779,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:781,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:782,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:784,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:786,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:787,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:789,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:791,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:793,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:794,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:795,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:797,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:798,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 770
    functionDepth: 8
    functionLinenumber: 770
    functionLinenumberEnd: 802
    functionName: CheckChangeFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - printf
    - cmsDoTransform
    - cmsCreateLab4Profile
    - memcmp
    - cmsCloneTransformChangingFormats
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void CheckChangeFormat(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - cmsUInt16Number
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 808
    functionName: ValidInt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ValidInt(cmsUInt16Number a, cmsUInt16Number b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:821,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:823,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:824,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:827,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:828,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:830,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:831,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:835,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:836,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:837,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:852,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:853,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:855,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:856,1
    - Dst: ValidInt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:865,1
    - Dst: ValidInt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:866,1
    - Dst: ValidInt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:867,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:868,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:875,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:876,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:877,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:878,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 810
    functionDepth: 8
    functionLinenumber: 810
    functionLinenumberEnd: 880
    functionName: CheckLab2Roundtrip
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsCreateLab2Profile
    - cmsCreate_sRGBProfile
    - cmsDeleteTransform
    - printf
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - ValidInt
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void CheckLab2Roundtrip(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:886,1
    - Dst: TryAllValuesFloatAlpha
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:887,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:887,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:887,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:888,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:890,1
    - Dst: TryAllValuesFloatAlpha
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:891,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:891,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:891,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:892,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:895,1
    - Dst: TryAllValuesFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:896,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:896,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:896,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:897,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:900,1
    - Dst: TryAllValuesFloatVs16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:901,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:901,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:901,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:902,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:905,1
    - Dst: TryAllValuesFloatVs16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:906,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:906,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:906,1
    - Dst: TryAllValuesFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:907,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:907,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:907,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - Raw
    - Plugin
    argTypes:
    - cmsContext
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 883
    functionDepth: 9
    functionLinenumber: 883
    functionLinenumberEnd: 909
    functionName: CheckConversionFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - TryAllValuesFloatVs16
    - TryAllValuesFloat
    - cmsOpenProfileFromFile
    - TryAllValuesFloatAlpha
    linkageType: ''
    returnType: void
    signature: void CheckConversionFloat(cmsContext Raw, cmsContext Plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - diff
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 923
    functionName: MPixSec
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number MPixSec(cmsFloat64Number diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: PerformanceHeader
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void PerformanceHeader(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:941,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:943,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:946,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:948,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:951,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:953,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:953,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:954,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:960,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:963,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 7
    argNames:
    - Title
    - fn
    - ct
    - inICC
    - outICC
    - sz
    - prev
    argTypes:
    - char*
    - perf_fn
    - cmsContext
    - char*
    - char*
    - size_t
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 934
    functionDepth: 5
    functionLinenumber: 934
    functionLinenumberEnd: 965
    functionName: Performance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 9
    functionsReached:
    - CreateCurves
    - printf
    - fn
    - fflush
    - cmsOpenProfileFromFile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number Performance(const char* Title, perf_fn fn, cmsContext
      ct, const char* inICC, const char* outICC, size_t sz, cmsFloat64Number prev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:975,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:977,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:980,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:982,1
    - Dst: fn1
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:985,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:988,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:990,1
    - Dst: CreateCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:993,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:995,1
    - Dst: fn2
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:997,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1000,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1000,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1001,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - ct1
    - ct2
    - Title
    - fn1
    - fn2
    - inICC
    - outICC
    argTypes:
    - cmsContext
    - cmsContext
    - char*
    - perf_fn
    - perf_fn
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 968
    functionDepth: 5
    functionLinenumber: 968
    functionLinenumberEnd: 1002
    functionName: ComparativeCt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - CreateCurves
    - printf
    - fn1
    - fflush
    - cmsOpenProfileFromFile
    - fn2
    linkageType: ''
    returnType: void
    signature: void ComparativeCt(cmsContext ct1, cmsContext ct2, const char* Title,
      perf_fn fn1, perf_fn fn2, const char* inICC, const char* outICC)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - Raw
    - Plugin
    - Title
    - fn1
    - fn2
    - inICC
    - outICC
    argTypes:
    - cmsContext
    - cmsContext
    - char*
    - perf_fn
    - perf_fn
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1004
    functionDepth: 6
    functionLinenumber: 1004
    functionLinenumberEnd: 1008
    functionName: Comparative
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - ComparativeCt
    linkageType: ''
    returnType: void
    signature: void Comparative(cmsContext Raw, cmsContext Plugin, const char* Title,
      perf_fn fn1, perf_fn fn2, const char* inICC, const char* outICC)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1022,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1024,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1025,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1026,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1029,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1043,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1045,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1047,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1048,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1050,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1052,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1011
    functionDepth: 8
    functionLinenumber: 1011
    functionLinenumberEnd: 1053
    functionName: SpeedTest8bitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest8bitsRGB(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1066,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1068,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1069,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1070,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1073,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1088,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1090,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1092,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1093,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1095,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1096,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1055
    functionDepth: 8
    functionLinenumber: 1055
    functionLinenumberEnd: 1098
    functionName: SpeedTest8bitsRGBA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest8bitsRGBA(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1113,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1115,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1116,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1117,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1120,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1134,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1136,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1138,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1139,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1141,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1143,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1102
    functionDepth: 8
    functionLinenumber: 1102
    functionLinenumberEnd: 1144
    functionName: SpeedTest15bitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest15bitsRGB(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1157,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1159,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1160,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1161,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1164,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1179,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1181,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1183,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1184,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1186,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1187,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1146
    functionDepth: 8
    functionLinenumber: 1146
    functionLinenumberEnd: 1189
    functionName: SpeedTest15bitsRGBA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest15bitsRGBA(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1203,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1205,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1206,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1207,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1210,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1225,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1227,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1229,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1230,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1232,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1233,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1191
    functionDepth: 8
    functionLinenumber: 1191
    functionLinenumberEnd: 1234
    functionName: SpeedTest15bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest15bitsCMYK(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1248,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1250,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1251,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1252,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1255,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1262,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1263,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1264,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1269,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1271,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1273,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1274,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1276,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1278,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1237
    functionDepth: 8
    functionLinenumber: 1237
    functionLinenumberEnd: 1279
    functionName: SpeedTest16bitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest16bitsRGB(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1285,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1286,1
    - Dst: PerformanceHeader
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1288,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1289,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1290,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1291,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ct
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1282
    functionDepth: 6
    functionLinenumber: 1282
    functionLinenumberEnd: 1294
    functionName: SpeedTest8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - PerformanceHeader
    - Performance
    linkageType: ''
    returnType: void
    signature: void SpeedTest8(cmsContext ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1300,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1301,1
    - Dst: PerformanceHeader
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1303,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1304,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1305,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1306,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1307,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ct
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1297
    functionDepth: 6
    functionLinenumber: 1297
    functionLinenumberEnd: 1309
    functionName: SpeedTest15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - PerformanceHeader
    - Performance
    linkageType: ''
    returnType: void
    signature: void SpeedTest15(cmsContext ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1314,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1315,1
    - Dst: PerformanceHeader
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1317,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ct
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1311
    functionDepth: 6
    functionLinenumber: 1311
    functionLinenumberEnd: 1320
    functionName: SpeedTest16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - PerformanceHeader
    - Performance
    linkageType: ''
    returnType: void
    signature: void SpeedTest16(cmsContext ct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1334,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1336,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1337,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1338,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1341,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1355,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1357,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1359,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1360,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1362,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1363,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1323
    functionDepth: 8
    functionLinenumber: 1323
    functionLinenumberEnd: 1364
    functionName: SpeedTestFloatRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTestFloatRGB(cmsContext ct, cmsHPROFILE hlcmsProfileIn,
      cmsHPROFILE hlcmsProfileOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1374,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1375,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1376,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1377,1
    - Dst: PerformanceHeader
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1379,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1380,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1381,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1382,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1383,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1387,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1388,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1389,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1390,1
    - Dst: PerformanceHeader
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1392,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1393,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1394,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1395,1
    - Dst: Performance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - noPlugin
    - plugin
    argTypes:
    - cmsContext
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1369
    functionDepth: 6
    functionLinenumber: 1369
    functionLinenumberEnd: 1397
    functionName: SpeedTestFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - PerformanceHeader
    - Performance
    - fflush
    linkageType: ''
    returnType: void
    signature: void SpeedTestFloat(cmsContext noPlugin, cmsContext plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1411,1
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1414,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1416,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1418,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1419,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1424,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1425,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1441,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1446,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1447,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1448,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1453,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1464,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1465,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1467,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1468,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1400
    functionDepth: 8
    functionLinenumber: 1400
    functionLinenumberEnd: 1469
    functionName: SpeedTestFloatByUsing16BitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - UNUSED_PARAMETER
    - floor
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTestFloatByUsing16BitsRGB(cmsContext ct, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1478,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1479,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1480,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1481,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1482,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1483,1
    - Dst: Comparative
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1485,1
    - Dst: Comparative
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1486,1
    - Dst: Comparative
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1487,1
    - Dst: Comparative
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - Raw
    - Plugin
    argTypes:
    - cmsContext
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1475
    functionDepth: 7
    functionLinenumber: 1475
    functionLinenumberEnd: 1489
    functionName: ComparativeFloatVs16bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - Comparative
    - fflush
    linkageType: ''
    returnType: void
    signature: void ComparativeFloatVs16bits(cmsContext Raw, cmsContext Plugin)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1522,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1524,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1525,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1526,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1532,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1533,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1545,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1549,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1552,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1553,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1553,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1555,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1556,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1510
    functionDepth: 8
    functionLinenumber: 1510
    functionLinenumberEnd: 1558
    functionName: SpeedTest8bitDoTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - MPixSec
    - malloc
    - cmsDoTransform
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest8bitDoTransform(cmsContext ct, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Fail
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1573,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1575,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1576,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1577,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1583,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1584,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1596,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1598,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1600,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1601,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1601,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1603,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1604,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - ct
    - hlcmsProfileIn
    - hlcmsProfileOut
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1561
    functionDepth: 8
    functionLinenumber: 1561
    functionLinenumberEnd: 1606
    functionName: SpeedTest8bitLineStride
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - clock
    - cmsDoTransformLineStride
    - MPixSec
    - malloc
    - free
    - Fail
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number SpeedTest8bitLineStride(cmsContext ct, cmsHPROFILE
      hlcmsProfileIn, cmsHPROFILE hlcmsProfileOut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1611,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1612,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1613,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1614,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1616,1
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1618,1
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1619,1
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1620,1
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1621,1
    - Dst: ComparativeCt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - NoPlugin
    - Plugin
    argTypes:
    - cmsContext
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1608
    functionDepth: 6
    functionLinenumber: 1608
    functionLinenumberEnd: 1623
    functionName: ComparativeLineStride8bits
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - printf
    - ComparativeCt
    - fflush
    linkageType: ''
    returnType: void
    signature: void ComparativeLineStride8bits(cmsContext NoPlugin, cmsContext Plugin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1644,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1645,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1647,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1648,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1651,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1652,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1654,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1654,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1654,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1655,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1656,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1660,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1665,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1667,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1669,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1670,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1672,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1673,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ct
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1627
    functionDepth: 8
    functionLinenumber: 1627
    functionLinenumberEnd: 1674
    functionName: TestGrayTransformPerformance
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - clock
    - cmsDeleteTransform
    - printf
    - MPixSec
    - cmsFreeToneCurve
    - EXTRA_SH
    - malloc
    - cmsDoTransform
    - free
    - cmsCreateGrayProfile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TestGrayTransformPerformance(cmsContext ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1693,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1694,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1696,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1697,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1700,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1701,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1703,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1704,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1705,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1709,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1714,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1716,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1718,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1719,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1721,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1722,1
    - Dst: MPixSec
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - ct
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1676
    functionDepth: 8
    functionLinenumber: 1676
    functionLinenumberEnd: 1723
    functionName: TestGrayTransformPerformance1
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - clock
    - cmsDeleteTransform
    - printf
    - MPixSec
    - cmsFreeToneCurve
    - malloc
    - cmsDoTransform
    - cmsCreateLinearizationDeviceLink
    - free
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void TestGrayTransformPerformance1(cmsContext ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1729,1
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1730,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1732,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1733,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1735,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1736,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1737,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1738,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1740,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1741,1
    - Dst: cmsFastFloatExtensions
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1741,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1742,1
    - Dst: CheckLab2Roundtrip
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1744,1
    - Dst: CheckComputeIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1746,1
    - Dst: CheckFormatters15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1749,1
    - Dst: Check15bitsConversions
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1750,1
    - Dst: CheckAccuracy16Bits
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1753,1
    - Dst: CheckChangeFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1756,1
    - Dst: CheckConversionFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1759,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1760,1
    - Dst: SpeedTest8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1762,1
    - Dst: SpeedTest16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1763,1
    - Dst: SpeedTest15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1764,1
    - Dst: SpeedTestFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1765,1
    - Dst: ComparativeFloatVs16bits
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1768,1
    - Dst: ComparativeLineStride8bits
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1769,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1772,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1773,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1774,1
    - Dst: TestGrayTransformPerformance
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1775,1
    - Dst: TestGrayTransformPerformance1
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1776,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c:1778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1727
    functionDepth: 10
    functionLinenumber: 1727
    functionLinenumberEnd: 1782
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/testbed/fast_float_testbed.c
    functionUses: 13
    functionsReached:
    - SpeedTest15
    - CheckLab2Roundtrip
    - CheckConversionFloat
    - Check15bitsConversions
    - TestGrayTransformPerformance
    - ComparativeFloatVs16bits
    - SpeedTestFloat
    - ComparativeLineStride8bits
    - cmsPlugin
    - SpeedTest8
    - printf
    - CheckComputeIncrements
    - CheckAccuracy16Bits
    - CheckChangeFormat
    - cmsFastFloatExtensions
    - TestGrayTransformPerformance1
    - cmsCreateContext
    - cmsSetLogErrorHandler
    - SpeedTest16
    - CheckFormatters15
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: UNUSED_PARAMETER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 382
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNUSED_PARAMETER(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: FROM_8_TO_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_8_TO_16(rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: FROM_16_TO_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_16_TO_8(rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: CHANGE_ENDIAN
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHANGE_ENDIAN(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: REVERSE_FLAVOR_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE_FLAVOR_16(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FIXED_REST_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_REST_TO_INT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 59
    functionName: cmsS15Fixed16Number::_cmsToFixedDomain
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsS15Fixed16Number _cmsToFixedDomain(int a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - cmsS15Fixed16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 60
    functionName: _cmsFromFixedDomain
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsFromFixedDomain(cmsS15Fixed16Number a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: cmsFloat32Number::fclamp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsFloat32Number fclamp(cmsFloat32Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 100
    functionName: _cmsQuickFloor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 9
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE _cmsQuickFloor(cmsFloat64Number val)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - d
    argTypes:
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 111
    functionName: cmsUInt16Number::_cmsSaturateWord
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number _cmsSaturateWord(cmsFloat64Number d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h:130,1
    - Dst: ceilf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - LutTable
    - v
    argTypes:
    - cmsFloat32Number[]
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 140
    functionName: cmsFloat32Number::flerp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_internal.h
    functionUses: 0
    functionsReached:
    - ceilf
    - _cmsQuickFloor
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsFloat32Number flerp(const cmsFloat32Number LutTable[],
      cmsFloat32Number v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:61,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:63,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:63,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:64,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 107
    functionName: FastEvaluateRGBCurves8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateRGBCurves8(cmsContext ContextID,\n                                   struct
      _cmstransform_struct *CMMcargo,\n                                   const void*
      Input,\n                                   void* Output,\n                                   cmsUInt32Number
      PixelsPerLine,\n                                   cmsUInt32Number LineCount,\n
      \                                  const cmsStride* Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:138,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:138,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:139,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:139,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 182
    functionName: FastRGBIdentity8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    linkageType: ''
    returnType: void
    signature: "void FastRGBIdentity8(cmsContext ContextID,\n                             struct
      _cmstransform_struct *CMMcargo,\n                             const void* Input,\n
      \                            void* Output,\n                             cmsUInt32Number
      PixelsPerLine,\n                             cmsUInt32Number LineCount,\n                             const
      cmsStride* Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:210,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:212,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:212,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:213,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 247
    functionName: FastEvaluateGrayCurves8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateGrayCurves8(cmsContext ContextID,\n                                    struct
      _cmstransform_struct *CMMcargo,\n                                    const void*
      Input,\n                                    void* Output,\n                                    cmsUInt32Number
      PixelsPerLine,\n                                    cmsUInt32Number LineCount,\n
      \                                   const cmsStride* Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:273,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:273,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:274,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 308
    functionName: FastGrayIdentity8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    linkageType: ''
    returnType: void
    signature: "void FastGrayIdentity8(cmsContext ContextID,\n                             struct
      _cmstransform_struct *CMMcargo,\n                             const void* Input,\n
      \                            void* Output,\n                             cmsUInt32Number
      PixelsPerLine,\n                             cmsUInt32Number LineCount,\n                             const
      cmsStride* Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - Curves8Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 327
    functionName: AllCurvesAreLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AllCurvesAreLinear(Curves8Data* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:336,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:345,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:348,1
    - Dst: _cmsSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - nChan
    - Src
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 352
    functionName: ComputeCompositeCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    - _cmsSaturateWord
    - _cmsMallocZero
    - FROM_16_TO_8
    linkageType: ''
    returnType: Curves8Data
    signature: Curves8Data * ComputeCompositeCurves(cmsContext ContextID, cmsUInt32Number
      nChan,  cmsPipeline* Src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:374,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:374,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:377,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:377,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:380,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:381,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:387,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:389,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:391,1
    - Dst: ComputeCompositeCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:394,1
    - Dst: AllCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:403,1
    - Dst: AllCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c:405,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 409
    functionName: Optimize8ByJoiningCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_curves.c
    functionUses: 0
    functionsReached:
    - cmsStageNext
    - ComputeCompositeCurves
    - cmsStageType
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - AllCurvesAreLinear
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Optimize8ByJoiningCurves(cmsContext ContextID,\n                                 _cmsTransformFn*
      TransformFn,\n                                 void** UserData,\n                                 _cmsFreeUserDataFn*
      FreeUserData,\n                                 cmsPipeline** Lut,\n                                 cmsUInt32Number*
      InputFormat,\n                                 cmsUInt32Number* OutputFormat,\n
      \                                cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: DOUBLE_TO_1FIXED14
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_TO_1FIXED14(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 1
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: XMatShaper8Data
    signature: XMatShaper8Data * malloc_aligned(cmsContext ContextID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - a
    argTypes:
    - cmsContext
    - XMatShaper8Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 3
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: free_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 1
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void free_aligned(cmsContext ContextID, XMatShaper8Data* a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:76,1
    - Dst: free_aligned
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 79
    functionName: FreeMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - free_aligned
    linkageType: ''
    returnType: void
    signature: void FreeMatShaper(cmsContext ContextID, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:92,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsS1Fixed14Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: FillFirstShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 1
    functionsReached:
    - DOUBLE_TO_1FIXED14
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: void
    signature: void FillFirstShaper(cmsContext ContextID, cmsS1Fixed14Number* Table,
      cmsToneCurve* Curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsFloat32Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: FillFirstShaperFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 0
    functionsReached:
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: void
    signature: void FillFirstShaperFloat(cmsContext ContextID, cmsFloat32Number* Table,
      cmsToneCurve* Curve)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:124,1
    - Dst: _cmsSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:125,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsUInt8Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: FillSecondShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 1
    functionsReached:
    - _cmsSaturateWord
    - cmsEvalToneCurveFloat
    - FROM_16_TO_8
    linkageType: ''
    returnType: void
    signature: void FillSecondShaper(cmsContext ContextID, cmsUInt8Number* Table,
      cmsToneCurve* Curve)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_aligned
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:140,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:144,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:145,1
    - Dst: FillFirstShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:146,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:148,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:149,1
    - Dst: FillSecondShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:150,1
    - Dst: FillFirstShaperFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:153,1
    - Dst: FillFirstShaperFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:154,1
    - Dst: FillFirstShaperFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:155,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:160,1
    - Dst: DOUBLE_TO_1FIXED14
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - ContextID
    - Curve1
    - Mat
    - 'Off'
    - Curve2
    argTypes:
    - cmsContext
    - cmsToneCurve*[]
    - cmsMAT3*
    - cmsVEC3*
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 133
    functionDepth: 3
    functionLinenumber: 133
    functionLinenumberEnd: 181
    functionName: SetMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 1
    functionsReached:
    - FillFirstShaper
    - DOUBLE_TO_1FIXED14
    - FillFirstShaperFloat
    - malloc_aligned
    - FillSecondShaper
    linkageType: ''
    returnType: XMatShaper8Data
    signature: XMatShaper8Data * SetMatShaper(cmsContext ContextID, cmsToneCurve*
      Curve1[3], cmsMAT3* Mat, cmsVEC3* Off, cmsToneCurve* Curve2[3])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:196,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:220,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:220,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:221,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:221,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 283
    functionName: MatShaperXform8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    linkageType: ''
    returnType: void
    signature: "void MatShaperXform8(cmsContext ContextID,\n                     struct
      _cmstransform_struct *CMMcargo,\n                     const void* Input,\n                     void*
      Output,\n                     cmsUInt32Number PixelsPerLine,\n                     cmsUInt32Number
      LineCount,\n                     const cmsStride* Stride)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:308,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:308,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:309,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:309,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:312,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:312,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:318,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:322,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:325,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:326,1
    - Dst: cmsStageInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:331,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:331,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:338,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:343,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:347,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:355,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:359,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:359,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:364,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:365,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:367,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:368,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:372,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:372,1
    - Dst: Optimize8ByJoiningCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:377,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:380,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:381,1
    - Dst: SetMatShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:389,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c:396,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 399
    functionName: Optimize8MatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_matsh.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageDup
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - SetMatShaper
    - _cmsMAT3per
    - T_CHANNELS
    - cmsPipelineAlloc
    - Optimize8ByJoiningCurves
    - cmsPipelineCheckAndRetreiveStages
    - fabs
    - cmsStageInputChannels
    - cmsPipelineFree
    - cmsStageOutputChannels
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Optimize8MatrixShaper(    cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeUserData,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - Format
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 60
    functionName: trueBytesSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c
    functionUses: 2
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: int
    signature: int trueBytesSize(cmsUInt32Number Format)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:76,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:77,1
    - Dst: trueBytesSize
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:80,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:83,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:99,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:108,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - Format
    - BytesPerPlane
    - nChannels
    - nAlpha
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 122
    functionName: ComputeIncrementsForChunky
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c
    functionUses: 1
    functionsReached:
    - T_EXTRA
    - T_SWAPFIRST
    - UNUSED_PARAMETER
    - T_DOSWAP
    - T_CHANNELS
    - trueBytesSize
    linkageType: ''
    returnType: void
    signature: "void ComputeIncrementsForChunky(cmsUInt32Number Format, \n                                cmsUInt32Number
      BytesPerPlane,\n                                cmsUInt32Number* nChannels,\n
      \                               cmsUInt32Number* nAlpha,\n                                cmsUInt32Number
      ComponentStartingOrder[], \n                                cmsUInt32Number
      ComponentPointerIncrements[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:135,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:136,1
    - Dst: trueBytesSize
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:139,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:155,1
    - Dst: T_SWAPFIRST
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 6
    argNames:
    - Format
    - BytesPerPlane
    - nChannels
    - nAlpha
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 177
    functionName: ComputeIncrementsForPlanar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c
    functionUses: 1
    functionsReached:
    - T_EXTRA
    - T_SWAPFIRST
    - T_DOSWAP
    - T_CHANNELS
    - trueBytesSize
    linkageType: ''
    returnType: void
    signature: "void ComputeIncrementsForPlanar(cmsUInt32Number Format, \n                                cmsUInt32Number
      BytesPerPlane,\n                                cmsUInt32Number* nChannels,\n
      \                               cmsUInt32Number* nAlpha,\n                                cmsUInt32Number
      ComponentStartingOrder[], \n                                cmsUInt32Number
      ComponentPointerIncrements[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:189,1
    - Dst: ComputeIncrementsForPlanar
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:191,1
    - Dst: ComputeIncrementsForChunky
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - Format
    - BytesPerPlane
    - nChannels
    - nAlpha
    - ComponentStartingOrder
    - ComponentPointerIncrements
    argTypes:
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number[]
    - cmsUInt32Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 197
    functionName: _cmsComputeComponentIncrements
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_separate.c
    functionUses: 6
    functionsReached:
    - T_PLANAR
    - ComputeIncrementsForPlanar
    - ComputeIncrementsForChunky
    linkageType: ''
    returnType: void
    signature: "void _cmsComputeComponentIncrements(cmsUInt32Number Format,\n                                     cmsUInt32Number
      BytesPerPlane,\n                                     cmsUInt32Number* nChannels,\n
      \                                    cmsUInt32Number* nAlpha,\n                                     cmsUInt32Number
      ComponentStartingOrder[], \n                                     cmsUInt32Number
      ComponentPointerIncrements[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:47,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:57,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:57,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:58,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:58,1
    - Dst: cmsEvalToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:59,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:59,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:62,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:63,1
    - Dst: FROM_8_TO_16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:64,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:68,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:69,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:70,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:73,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:74,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:75,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:78,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:79,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - ContextID
    - p
    - G
    argTypes:
    - cmsContext
    - cmsInterpParams*
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 87
    functionName: Performance8alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 0
    functionsReached:
    - FROM_8_TO_16
    - FIXED_REST_TO_INT
    - _cmsMallocZero
    - cmsEvalToneCurve16
    - FIXED_TO_INT
    - _cmsToFixedDomain
    linkageType: ''
    returnType: Performance8Data
    signature: Performance8Data * Performance8alloc(cmsContext ContextID, const cmsInterpParams*
      p, cmsToneCurve* G[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: Performance8free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Performance8free(cmsContext ContextID, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEval16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - cmsUInt16Number In
    - cmsUInt16Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 106
    functionName: XFormSampler16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEval16
    linkageType: ''
    returnType: int
    signature: int XFormSampler16(cmsContext ContextID, CMSREGISTER const cmsUInt16Number
      In[], CMSREGISTER cmsUInt16Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:127,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:150,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:150,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:151,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:151,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:194,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:198,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:199,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:199,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:200,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:200,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:205,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:206,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:206,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:207,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:207,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:212,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:212,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:213,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:213,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:214,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:219,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:219,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:220,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:221,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:221,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:226,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:226,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:227,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:228,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:228,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:233,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:233,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:234,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:234,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:235,1
    - Dst: FROM_16_TO_8
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:245,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 259
    functionName: PerformanceEval8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - DENS
    - FROM_16_TO_8
    linkageType: ''
    returnType: void
    signature: "void PerformanceEval8(cmsContext ContextID,\n                      struct
      _cmstransform_struct *CMMcargo,\n                      const void* Input,\n
      \                     void* Output,\n                      cmsUInt32Number PixelsPerLine,\n
      \                     cmsUInt32Number LineCount,\n                      const
      cmsStride* Stride)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetToneCurveEstimatedTableEntries
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:269,1
    - Dst: cmsGetToneCurveEstimatedTable
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:270,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - g
    argTypes:
    - cmsContext
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 283
    functionName: IsDegenerated
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 1
    functionsReached:
    - cmsGetToneCurveEstimatedTable
    - cmsGetToneCurveEstimatedTableEntries
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsDegenerated(cmsContext ContextID, const cmsToneCurve* g)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:294,1
    - Dst: _cmsSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:313,1
    - Dst: _cmsSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - Table16
    - nEntries
    argTypes:
    - cmsUInt16Number*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 322
    functionName: SlopeLimiting
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 1
    functionsReached:
    - floor
    - _cmsSaturateWord
    linkageType: ''
    returnType: void
    signature: void SlopeLimiting(cmsUInt16Number* Table16, int nEntries)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:355,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:355,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:358,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:358,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:361,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:366,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:368,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:369,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:372,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:372,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:373,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:376,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:377,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:379,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:380,1
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:381,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:396,1
    - Dst: _cmsSaturateWord
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:400,1
    - Dst: SlopeLimiting
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:405,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:407,1
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:410,1
    - Dst: cmsIsToneCurveLinear
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:419,1
    - Dst: cmsIsToneCurveMonotonic
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:423,1
    - Dst: IsDegenerated
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:426,1
    - Dst: cmsPipelineInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:434,1
    - Dst: cmsReverseToneCurveEx
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:435,1
    - Dst: cmsPipelineDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:440,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:443,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:443,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:446,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:446,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:449,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:452,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:455,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:455,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:458,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:461,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:464,1
    - Dst: Performance8alloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:466,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:472,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:473,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:476,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:479,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:493,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:494,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:497,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c:498,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 106
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeDataFn
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 327
    functionDepth: 4
    functionLinenumber: 327
    functionLinenumberEnd: 501
    functionName: Optimize8BitRGBTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_8_tethra.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - _cmsICCcolorSpace
    - cmsPipelineDup
    - _cmsMallocZero
    - cmsStageSampleCLut16bit
    - cmsPipelineAlloc
    - IsDegenerated
    - cmsPipelineEvalFloat
    - cmsIsToneCurveLinear
    - cmsFreeToneCurve
    - cmsPipelineInputChannels
    - cmsBuildTabulatedToneCurve16
    - SlopeLimiting
    - cmsStageAllocToneCurves
    - memset
    - cmsIsToneCurveMonotonic
    - Performance8alloc
    - _cmsFree
    - cmsStageData
    - T_BYTES
    - cmsStageNext
    - cmsStageType
    - cmsPipelineFree
    - cmsReverseToneCurveEx
    - cmsPipelineOutputChannels
    - T_COLORSPACE
    - cmsStageAllocCLut16bit
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - _cmsSaturateWord
    - _cmsReasonableGridpointsByColorspace
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Optimize8BitRGBTransform( cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeDataFn,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 2
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: VXMatShaperFloatData
    signature: VXMatShaperFloatData * malloc_aligned(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: FreeMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void FreeMatShaper(cmsContext ContextID, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsFloat32Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 85
    functionName: FillShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 0
    functionsReached:
    - cmsEvalToneCurveFloat
    linkageType: ''
    returnType: void
    signature: void FillShaper(cmsContext ContextID, cmsFloat32Number* Table, cmsToneCurve*
      Curve)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_aligned
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:96,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:101,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:102,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:103,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:105,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:106,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 5
    argNames:
    - ContextID
    - Curve1
    - Mat
    - 'Off'
    - Curve2
    argTypes:
    - cmsContext
    - cmsToneCurve*[]
    - cmsMAT3*
    - cmsVEC3*
    - cmsToneCurve*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 133
    functionName: SetMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 2
    functionsReached:
    - FillShaper
    - malloc_aligned
    linkageType: ''
    returnType: VXMatShaperFloatData
    signature: VXMatShaperFloatData * SetMatShaper(cmsContext ContextID, cmsToneCurve*
      Curve1[3], cmsMAT3* Mat, cmsVEC3* Off, cmsToneCurve* Curve2[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:145,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:164,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:164,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:165,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:165,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:177,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:178,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:179,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:192,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:193,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 205
    functionName: MatShaperFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - flerp
    linkageType: ''
    returnType: void
    signature: "void MatShaperFloat(cmsContext ContextID, struct _cmstransform_struct
      *CMMcargo,\n                      const cmsFloat32Number* Input,\n                      cmsFloat32Number*
      Output,\n                      cmsUInt32Number len,\n                      cmsUInt32Number
      Stride)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:230,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:230,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:233,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:233,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:234,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:234,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:237,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:237,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:243,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:247,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:250,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:251,1
    - Dst: cmsStageInputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:256,1
    - Dst: cmsStageOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:256,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:263,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:268,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:272,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:280,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:284,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:284,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:289,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:290,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:292,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:293,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:297,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:297,1
    - Dst: OptimizeFloatByJoiningCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:302,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:305,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:306,1
    - Dst: SetMatShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:313,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c:320,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 209
    functionDepth: 4
    functionLinenumber: 209
    functionLinenumberEnd: 323
    functionName: OptimizeFloatMatrixShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_matsh.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageDup
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - SetMatShaper
    - _cmsMAT3per
    - OptimizeFloatByJoiningCurves
    - T_CHANNELS
    - T_FLOAT
    - cmsPipelineAlloc
    - cmsPipelineCheckAndRetreiveStages
    - fabs
    - cmsStageInputChannels
    - cmsPipelineFree
    - cmsStageOutputChannels
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool OptimizeFloatMatrixShaper(cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeUserData,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - p
    argTypes:
    - cmsContext
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: FloatCMYKAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: FloatCMYKData
    signature: FloatCMYKData * FloatCMYKAlloc(cmsContext ContextID, const cmsInterpParams*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - cmsFloat32Number In
    - cmsFloat32Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: XFormSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    linkageType: ''
    returnType: int
    signature: int XFormSampler(cmsContext ContextID, CMSREGISTER const cmsFloat32Number
      In[], CMSREGISTER cmsFloat32Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - l
    - h
    argTypes:
    - cmsFloat32Number
    - cmsFloat32Number
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: cmsFloat32Number::LinearInterpInt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsFloat32Number LinearInterpInt(cmsFloat32Number a, cmsFloat32Number
      l, cmsFloat32Number h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - cmsFloat32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: cmsFloat32Number::fclamp100
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsFloat32Number fclamp100(cmsFloat32Number v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:89,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:108,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:109,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:113,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:114,1
    - Dst: fclamp100
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:129,1
    - Dst: fclamp100
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:130,1
    - Dst: fclamp100
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:131,1
    - Dst: fclamp100
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:132,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:145,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:146,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:147,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:148,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:165,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:169,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:170,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:170,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:171,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:171,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:177,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:178,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:178,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:179,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:179,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:185,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:185,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:186,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:186,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:187,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:193,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:193,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:194,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:195,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:195,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:201,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:201,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:202,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:203,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:203,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:209,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:209,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:210,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:210,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:211,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:229,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:233,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:234,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:234,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:235,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:235,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:241,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:242,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:242,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:243,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:243,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:249,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:249,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:250,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:250,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:251,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:257,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:257,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:258,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:259,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:259,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:265,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:265,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:266,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:267,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:267,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:273,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:273,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:274,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:274,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:275,1
    - Dst: LinearInterpInt
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:288,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 117
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 294
    functionName: FloatCMYKCLUTEval
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - _cmsQuickFloor
    - LinearInterpInt
    - fclamp100
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - DENS
    linkageType: ''
    returnType: void
    signature: "void FloatCMYKCLUTEval(cmsContext ContextID,\n                      struct
      _cmstransform_struct *CMMcargo,\n                      const cmsFloat32Number*
      Input,\n                      cmsFloat32Number* Output,\n                      cmsUInt32Number
      len,\n                      cmsUInt32Number Stride)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:324,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:324,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:327,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:327,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:330,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:335,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:337,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:338,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:341,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:341,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:342,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:345,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:345,1
    - Dst: cmsStageAllocCLutFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:350,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:350,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:353,1
    - Dst: cmsStageSampleCLutFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:356,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:359,1
    - Dst: FloatCMYKAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:361,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:365,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c:376,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeDataFn
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 379
    functionName: OptimizeCLUTCMYKTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_cmyk.c
    functionUses: 0
    functionsReached:
    - cmsStageNext
    - cmsPipelineInsertStage
    - _cmsICCcolorSpace
    - cmsStageType
    - cmsStageAllocCLutFloat
    - cmsPipelineOutputChannels
    - FloatCMYKAlloc
    - T_COLORSPACE
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - cmsPipelineAlloc
    - cmsStageSampleCLutFloat
    - cmsPipelineFree
    - _cmsReasonableGridpointsByColorspace
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool OptimizeCLUTCMYKTransform(cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeDataFn,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 3
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 3
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: CurvesFloatData
    signature: CurvesFloatData * malloc_aligned(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: free_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 2
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void free_aligned(cmsContext ContextID, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:81,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:82,1
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:84,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:88,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:89,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:104,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:105,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 116
    functionName: FastEvaluateFloatRGBCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - flerp
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateFloatRGBCurves(cmsContext ContextID,\n                            struct
      _cmstransform_struct *CMMcargo,\n                            const cmsFloat32Number*
      Input,\n                            cmsFloat32Number* Output,\n                            cmsUInt32Number
      len,\n                            cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:139,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:140,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:145,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:146,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:161,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:162,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 173
    functionName: FastFloatRGBIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - memmove
    linkageType: ''
    returnType: void
    signature: "void FastFloatRGBIdentity(cmsContext ContextID,\n                                struct
      _cmstransform_struct *CMMcargo,\n                                const cmsFloat32Number*
      Input,\n                                cmsFloat32Number* Output,\n                                cmsUInt32Number
      len,\n                                cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:191,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:192,1
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:194,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:198,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:199,1
    - Dst: flerp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 214
    functionName: FastEvaluateFloatGrayCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - flerp
    linkageType: ''
    returnType: void
    signature: "void FastEvaluateFloatGrayCurves(cmsContext ContextID,\n                                    struct
      _cmstransform_struct *CMMcargo,\n                                    const cmsFloat32Number*
      Input,\n                                    cmsFloat32Number* Output,\n                                    cmsUInt32Number
      len,\n                                    cmsUInt32Number Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:232,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:233,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:237,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:238,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 253
    functionName: FastFloatGrayIdentity
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - memmove
    linkageType: ''
    returnType: void
    signature: "void FastFloatGrayIdentity(cmsContext ContextID,\n                                struct
      _cmstransform_struct *CMMcargo,\n                                const cmsFloat32Number*
      Input,\n                                cmsFloat32Number* Output,\n                                cmsUInt32Number
      len,\n                                cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:269,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:270,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - data
    argTypes:
    - CurvesFloatData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 277
    functionName: AllRGBCurvesAreLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - fabsf
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool AllRGBCurvesAreLinear(CurvesFloatData* data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - CurvesFloatData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 293
    functionName: KCurveIsLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool KCurveIsLinear(CurvesFloatData* data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_aligned
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:303,1
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ContextID
    - nChan
    - Src
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsPipeline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 327
    functionName: ComputeCompositeCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 1
    functionsReached:
    - cmsPipelineEvalFloat
    - malloc_aligned
    linkageType: ''
    returnType: CurvesFloatData
    signature: CurvesFloatData * ComputeCompositeCurves(cmsContext ContextID, cmsUInt32Number
      nChan,  cmsPipeline* Src)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:348,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:348,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:351,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:351,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:354,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:355,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:361,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:363,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:365,1
    - Dst: ComputeCompositeCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:368,1
    - Dst: KCurveIsLinear
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:377,1
    - Dst: AllRGBCurvesAreLinear
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 383
    functionName: OptimizeFloatByJoiningCurves
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_curves.c
    functionUses: 1
    functionsReached:
    - cmsStageNext
    - ComputeCompositeCurves
    - cmsStageType
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - AllRGBCurvesAreLinear
    - KCurveIsLinear
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool OptimizeFloatByJoiningCurves(cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeUserData,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - p
    argTypes:
    - cmsContext
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 53
    functionName: Performance16alloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: Performance16Data
    signature: Performance16Data * Performance16alloc(cmsContext ContextID, const
      cmsInterpParams* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: Performance16free
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void Performance16free(cmsContext ContextID, void* ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: TO_OUTPUT_16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_OUTPUT_16(d,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: TO_OUTPUT_8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_OUTPUT_8(d,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: TO_OUTPUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TO_OUTPUT(d,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: FROM_INPUT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FROM_INPUT(v)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:90,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:115,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:116,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:118,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:119,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:121,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:122,1
    - Dst: FROM_INPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:143,1
    - Dst: FROM_INPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:144,1
    - Dst: FROM_INPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:145,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:151,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:152,1
    - Dst: _cmsToFixedDomain
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:153,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:155,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:156,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:157,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:159,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:160,1
    - Dst: FIXED_REST_TO_INT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:161,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:194,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:211,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:228,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:247,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:264,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:281,1
    - Dst: TO_OUTPUT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:290,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 153
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 299
    functionName: PerformanceEval16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - FROM_INPUT
    - TO_OUTPUT
    - FIXED_REST_TO_INT
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - FIXED_TO_INT
    - _cmsToFixedDomain
    - T_BYTES
    linkageType: ''
    returnType: void
    signature: "void PerformanceEval16(cmsContext ContextID,\n                      struct
      _cmstransform_struct *CMMcargo,\n                      const void* Input,\n
      \                     void* Output,\n                      cmsUInt32Number PixelsPerLine,\n
      \                     cmsUInt32Number LineCount,\n                      const
      cmsStride* Stride)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:327,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:327,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:330,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:330,1
    - Dst: T_BIT15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:333,1
    - Dst: T_BIT15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:333,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:336,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:339,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:341,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:342,1
    - Dst: _cmsOptimizePipeline
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:347,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:354,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:357,1
    - Dst: Performance16alloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c:359,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeDataFn
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 307
    functionDepth: 7
    functionLinenumber: 307
    functionLinenumberEnd: 370
    functionName: Optimize16BitRGBTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_16_tethra.c
    functionUses: 0
    functionsReached:
    - cmsStageNext
    - Performance16alloc
    - cmsStageType
    - T_COLORSPACE
    - _cmsOptimizePipeline
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - T_BIT15
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Optimize16BitRGBTransform(cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeDataFn,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OptimizeMatrixShaper15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:39,1
    - Dst: Optimize8ByJoiningCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:42,1
    - Dst: Optimize8MatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:45,1
    - Dst: OptimizeFloatByJoiningCurves
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:48,1
    - Dst: OptimizeFloatMatrixShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:51,1
    - Dst: Optimize8BitRGBTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:54,1
    - Dst: Optimize16BitRGBTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:57,1
    - Dst: OptimizeCLUTRGBTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:60,1
    - Dst: OptimizeCLUTCMYKTransform
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c:63,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 27
    functionDepth: 8
    functionLinenumber: 27
    functionLinenumberEnd: 68
    functionName: Floating_Point_Transforms_Dispatcher
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c
    functionUses: 0
    functionsReached:
    - OptimizeMatrixShaper15
    - Optimize16BitRGBTransform
    - OptimizeCLUTCMYKTransform
    - Optimize8MatrixShaper
    - OptimizeFloatByJoiningCurves
    - OptimizeCLUTRGBTransform
    - Optimize8ByJoiningCurves
    - OptimizeFloatMatrixShaper
    - Optimize8BitRGBTransform
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool Floating_Point_Transforms_Dispatcher(cmsContext ContextID,\n
      \                                 _cmsTransformFn* TransformFn,\n                                  void**
      UserData,\n                                  _cmsFreeUserDataFn* FreeUserData,\n
      \                                 cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: cmsFastFloatExtensions
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_sup.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void * cmsFastFloatExtensions(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ContextID
    - p
    argTypes:
    - cmsContext
    - cmsInterpParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 32
    functionDepth: 3
    functionLinenumber: 32
    functionLinenumberEnd: 42
    functionName: FloatCLUTAlloc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: FloatCLUTData
    signature: FloatCLUTData * FloatCLUTAlloc(cmsContext ContextID, const cmsInterpParams*
      p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineEvalFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ContextID
    - cmsFloat32Number In
    - cmsFloat32Number Out
    - Cargo
    argTypes:
    - cmsContext
    - CMSREGISTER[]
    - CMSREGISTER[]
    - CMSREGISTER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: XFormSampler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c
    functionUses: 0
    functionsReached:
    - cmsPipelineEvalFloat
    linkageType: ''
    returnType: int
    signature: int XFormSampler(cmsContext ContextID, CMSREGISTER const cmsFloat32Number
      In[], CMSREGISTER cmsFloat32Number Out[], CMSREGISTER void* Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - j
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DENS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENS(i,j,k)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:79,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:95,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:96,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:100,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:101,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:115,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:116,1
    - Dst: fclamp
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:117,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:128,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:129,1
    - Dst: _cmsQuickFloor
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:130,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:145,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:149,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:150,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:150,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:151,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:151,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:157,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:158,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:158,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:159,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:159,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:165,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:165,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:166,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:166,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:167,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:173,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:173,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:174,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:175,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:175,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:181,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:181,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:182,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:183,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:183,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:189,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:189,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:190,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:190,1
    - Dst: DENS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:191,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 68
    argCount: 6
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - len
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsFloat32Number*
    - cmsFloat32Number*
    - cmsUInt32Number
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 206
    functionName: FloatCLUTEval
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - _cmsQuickFloor
    - fclamp
    - cmsGetTransformInputFormat
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    - DENS
    linkageType: ''
    returnType: void
    signature: "void FloatCLUTEval(cmsContext ContextID,\n                      struct
      _cmstransform_struct *CMMcargo,\n                      const cmsFloat32Number*
      Input,\n                      cmsFloat32Number* Output,\n                      cmsUInt32Number
      len,\n                      cmsUInt32Number Stride)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:236,1
    - Dst: T_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:236,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:239,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:239,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:242,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:243,1
    - Dst: cmsPipelineGetPtrToFirstStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:248,1
    - Dst: cmsStageNext
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:250,1
    - Dst: cmsStageType
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:251,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:254,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:254,1
    - Dst: _cmsReasonableGridpointsByColorspace
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:255,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:258,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:258,1
    - Dst: cmsStageAllocCLutFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:263,1
    - Dst: cmsPipelineOutputChannels
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:263,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:266,1
    - Dst: cmsStageSampleCLutFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:269,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:272,1
    - Dst: FloatCLUTAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:274,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:278,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c:289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeDataFn
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 214
    functionDepth: 4
    functionLinenumber: 214
    functionLinenumberEnd: 292
    functionName: OptimizeCLUTRGBTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_tethra.c
    functionUses: 1
    functionsReached:
    - cmsStageNext
    - cmsPipelineInsertStage
    - _cmsICCcolorSpace
    - cmsStageType
    - cmsStageAllocCLutFloat
    - cmsPipelineOutputChannels
    - cmsPipelineFree
    - T_COLORSPACE
    - cmsPipelineGetPtrToFirstStage
    - T_FLOAT
    - cmsPipelineAlloc
    - cmsStageSampleCLutFloat
    - FloatCLUTAlloc
    - _cmsReasonableGridpointsByColorspace
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool OptimizeCLUTRGBTransform(cmsContext ContextID,\n                                  _cmsTransformFn*
      TransformFn,\n                                  void** UserData,\n                                  _cmsFreeUserDataFn*
      FreeDataFn,\n                                  cmsPipeline** Lut,\n                                  cmsUInt32Number*
      InputFormat,\n                                  cmsUInt32Number* OutputFormat,\n
      \                                 cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: DOUBLE_TO_1FIXED15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOUBLE_TO_1FIXED15(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _cmsMallocZero
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 4
    functionsReached:
    - _cmsMallocZero
    linkageType: ''
    returnType: XMatShaperData
    signature: XMatShaperData * malloc_aligned(cmsContext ContextID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _cmsFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - ContextID
    - Data
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: FreeMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 0
    functionsReached:
    - _cmsFree
    linkageType: ''
    returnType: void
    signature: void FreeMatShaper(cmsContext ContextID, void* Data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsEvalToneCurveFloat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:92,1
    - Dst: DOUBLE_TO_1FIXED15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - Table
    - Curve
    argTypes:
    - cmsContext
    - cmsUInt16Number*
    - cmsToneCurve*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: FillShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 1
    functionsReached:
    - cmsEvalToneCurveFloat
    - DOUBLE_TO_1FIXED15
    linkageType: ''
    returnType: void
    signature: void FillShaper(cmsContext ContextID, cmsUInt16Number* Table, cmsToneCurve*
      Curve)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc_aligned
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:107,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:113,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:114,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:115,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:117,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:118,1
    - Dst: FillShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:119,1
    - Dst: DOUBLE_TO_1FIXED15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:125,1
    - Dst: DOUBLE_TO_1FIXED15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - ContextID
    - Curve1
    - Mat
    - 'Off'
    - Curve2
    - IdentityMat
    argTypes:
    - cmsContext
    - cmsToneCurve*[]
    - cmsMAT3*
    - cmsVEC3*
    - cmsToneCurve*[]
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 145
    functionName: SetMatShaper
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 3
    functionsReached:
    - FillShaper
    - malloc_aligned
    - DOUBLE_TO_1FIXED15
    linkageType: ''
    returnType: XMatShaperData
    signature: XMatShaperData * SetMatShaper(cmsContext ContextID, cmsToneCurve* Curve1[3],
      cmsMAT3* Mat, cmsVEC3* Off, cmsToneCurve* Curve2[3], cmsBool IdentityMat)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _cmsGetTransformUserData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:157,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:181,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:181,1
    - Dst: _cmsComputeComponentIncrements
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:182,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:182,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:234,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 7
    argNames:
    - ContextID
    - CMMcargo
    - Input
    - Output
    - PixelsPerLine
    - LineCount
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - void*
    - void*
    - cmsUInt32Number
    - cmsUInt32Number
    - cmsStride*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 251
    functionName: MatShaperXform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 0
    functionsReached:
    - _cmsComputeComponentIncrements
    - cmsGetTransformInputFormat
    - memmove
    - _cmsGetTransformUserData
    - cmsGetTransformOutputFormat
    linkageType: ''
    returnType: void
    signature: "void MatShaperXform(cmsContext ContextID,\n                    struct
      _cmstransform_struct *CMMcargo,\n                    const void* Input,\n                    void*
      Output,\n                    cmsUInt32Number PixelsPerLine,\n                    cmsUInt32Number
      LineCount,\n                    const cmsStride* Stride)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:277,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:277,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:280,1
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:280,1
    - Dst: T_BIT15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:281,1
    - Dst: T_BIT15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:281,1
    - Dst: cmsPipelineCheckAndRetreiveStages
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:287,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:291,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:294,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:295,1
    - Dst: _cmsMAT3per
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:301,1
    - Dst: _cmsMAT3isIdentity
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:305,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:313,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:317,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:317,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:321,1
    - Dst: cmsStageAllocMatrix
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:322,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:325,1
    - Dst: cmsStageDup
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:325,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:328,1
    - Dst: cmsStageData
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:329,1
    - Dst: SetMatShaper
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:336,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c:343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 8
    argNames:
    - ContextID
    - TransformFn
    - UserData
    - FreeUserData
    - Lut
    - InputFormat
    - OutputFormat
    - dwFlags
    argTypes:
    - cmsContext
    - _cmsTransformFn*
    - void**
    - _cmsFreeUserDataFn*
    - cmsPipeline**
    - cmsUInt32Number*
    - cmsUInt32Number*
    - cmsUInt32Number*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 347
    functionName: OptimizeMatrixShaper15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15mats.c
    functionUses: 1
    functionsReached:
    - cmsPipelineInsertStage
    - cmsStageDup
    - _cmsMAT3isIdentity
    - cmsStageAllocMatrix
    - _cmsMAT3per
    - T_CHANNELS
    - cmsPipelineAlloc
    - cmsPipelineCheckAndRetreiveStages
    - SetMatShaper
    - cmsPipelineFree
    - T_BIT15
    - cmsStageData
    - T_BYTES
    linkageType: ''
    returnType: cmsBool
    signature: "cmsBool OptimizeMatrixShaper15(cmsContext ContextID,\n                                   _cmsTransformFn*
      TransformFn,\n                                   void** UserData,\n                                   _cmsFreeUserDataFn*
      FreeUserData,\n                                   cmsPipeline** Lut,\n                                   cmsUInt32Number*
      InputFormat,\n                                   cmsUInt32Number* OutputFormat,\n
      \                                  cmsUInt32Number* dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x16
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: cmsUInt16Number::From16To15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number From16To15(cmsUInt16Number x16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x15
    argTypes:
    - cmsUInt16Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: cmsUInt16Number::From15To16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number From15To16(cmsUInt16Number x15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:65,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:66,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:67,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:68,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: Unroll15bitsGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From15To16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsGray(cmsContext ContextID,\n                                 CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                 CMSREGISTER
      cmsUInt16Number Values[],\n                                 CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                 CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:83,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:84,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:85,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: Pack15bitsGray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From16To15
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsGray(cmsContext ContextID,\n                               CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                               CMSREGISTER
      cmsUInt16Number Values[],\n                               CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                               CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:99,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:100,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:101,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:103,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:105,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: Unroll15bitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From15To16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsRGB(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:120,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:121,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:122,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:124,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:126,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: Pack15bitsRGB
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From16To15
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsRGB(cmsContext ContextID,\n                               CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                               CMSREGISTER
      cmsUInt16Number Values[],\n                               CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                               CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:141,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:142,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:143,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:145,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:147,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 152
    functionName: Unroll15bitsRGBA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From15To16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsRGBA(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:162,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:163,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:164,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:166,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:168,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 173
    functionName: Pack15bitsRGBA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From16To15
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsRGBA(cmsContext ContextID,\n                               CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                               CMSREGISTER
      cmsUInt16Number Values[],\n                               CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                               CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:184,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:185,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:186,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:188,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:190,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 195
    functionName: Unroll15bitsBGR
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From15To16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsBGR(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:205,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:206,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:207,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:209,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:211,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 216
    functionName: Pack15bitsBGR
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From16To15
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsBGR(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:226,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:227,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:228,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:230,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:232,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:234,1
    - Dst: From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 239
    functionName: Unroll15bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From15To16
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsCMYK(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:248,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:249,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:250,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:252,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:254,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:256,1
    - Dst: From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 261
    functionName: Pack15bitsCMYK
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - UNUSED_PARAMETER
    - From16To15
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsCMYK(cmsContext ContextID,\n                               CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                               CMSREGISTER
      cmsUInt16Number Values[],\n                               CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                               CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUInt16Number::From15To16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - x
    - Reverse
    - SwapEndian
    argTypes:
    - cmsUInt16Number
    - cmsBool
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 274
    functionName: cmsUInt16Number::UnrollOne
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - cmsUInt16Number::From15To16
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number UnrollOne(cmsUInt16Number x, cmsBool Reverse,
      cmsBool SwapEndian)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsUInt16Number::From16To15
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - x
    - Reverse
    - SwapEndian
    argTypes:
    - cmsUInt16Number
    - cmsBool
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: cmsUInt16Number::PackOne
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - cmsUInt16Number::From16To15
    linkageType: ''
    returnType: cmsINLINE
    signature: cmsINLINE cmsUInt16Number PackOne(cmsUInt16Number x, cmsBool Reverse,
      cmsBool SwapEndian)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:298,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:299,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:300,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:301,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:305,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:306,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:309,1
    - Dst: UnrollOne
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number wIn
    - cmsUInt8Number* accum
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 322
    functionName: Unroll15bitsPlanar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_ENDIAN16
    - UNUSED_PARAMETER
    - T_DOSWAP
    - T_CHANNELS
    - T_FLAVOR
    - UnrollOne
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsPlanar(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number wIn[],\n                                   CMSREGISTER cmsUInt8Number*
      accum,\n                                   CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:333,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:334,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:335,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:336,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:340,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:343,1
    - Dst: PackOne
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number wOut
    - cmsUInt8Number* output
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 355
    functionName: Pack15bitsPlanar
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_ENDIAN16
    - UNUSED_PARAMETER
    - T_DOSWAP
    - T_CHANNELS
    - PackOne
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsPlanar(cmsContext ContextID,\n                                 CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                 CMSREGISTER
      cmsUInt16Number wOut[],\n                                 CMSREGISTER cmsUInt8Number*
      output,\n                                 CMSREGISTER cmsUInt32Number Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:369,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:370,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:371,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:372,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:376,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:377,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:380,1
    - Dst: UnrollOne
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 394
    functionName: Unroll15bitsChunky
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_ENDIAN16
    - UNUSED_PARAMETER
    - T_DOSWAP
    - T_CHANNELS
    - T_FLAVOR
    - UnrollOne
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Unroll15bitsChunky(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:406,1
    - Dst: T_DOSWAP
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:407,1
    - Dst: T_FLAVOR
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:408,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:409,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:413,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:414,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:417,1
    - Dst: PackOne
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 430
    functionName: Pack15bitsChunky
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - T_ENDIAN16
    - UNUSED_PARAMETER
    - T_DOSWAP
    - T_CHANNELS
    - PackOne
    - T_FLAVOR
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number * Pack15bitsChunky(cmsContext ContextID,\n                           CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                           CMSREGISTER
      cmsUInt16Number Values[],\n                           CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                           CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:446,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:450,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:451,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:465,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 466
    functionName: PackNBytesDither
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - UNUSED_PARAMETER
    - T_CHANNELS
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number *  PackNBytesDither(cmsContext ContextID,\n                                   CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                   CMSREGISTER
      cmsUInt16Number Values[],\n                                   CMSREGISTER cmsUInt8Number*
      \ Buffer,\n                                   CMSREGISTER cmsUInt32Number  Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:478,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:482,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:483,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - cmsUInt16Number Values
    - cmsUInt8Number*  Buffer
    - cmsUInt32Number
    argTypes:
    - cmsContext
    - CMSREGISTER*
    - CMSREGISTER[]
    - CMSREGISTER
    - CMSREGISTER
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 499
    functionName: PackNBytesSwapDither
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 0
    functionsReached:
    - T_EXTRA
    - UNUSED_PARAMETER
    - T_CHANNELS
    linkageType: ''
    returnType: cmsUInt8Number
    signature: "cmsUInt8Number *  PackNBytesSwapDither(cmsContext ContextID,\n                                          CMSREGISTER
      struct _cmstransform_struct* CMMcargo,\n                                          CMSREGISTER
      cmsUInt16Number Values[],\n                                          CMSREGISTER
      cmsUInt8Number*  Buffer,\n                                          CMSREGISTER
      cmsUInt32Number  Stride)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:512,1
    - Dst: UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c:513,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Dir
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFormatterDirection
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 600
    functionName: Formatter_15Bit_Factory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/src/fast_float_15bits.c
    functionUses: 1
    functionsReached:
    - UNUSED_PARAMETER
    linkageType: ''
    returnType: cmsFormatter
    signature: "cmsFormatter Formatter_15Bit_Factory(cmsContext ContextID,\n                                     cmsUInt32Number
      Type,\n                                     cmsFormatterDirection Dir,\n                                     cmsUInt32Number
      dwFlags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: BIT15_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/include/lcms2mt_fast_float.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BIT15_SH(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: T_BIT15
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/include/lcms2mt_fast_float.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_BIT15(a)
  - 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: DITHER_SH
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/include/lcms2mt_fast_float.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DITHER_SH(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: T_DITHER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/plugins/fast_float/include/lcms2mt_fast_float.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T_DITHER(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:57,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:59,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:60,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:61,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:62,1
    - Dst: PrintRenderingIntents
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:64,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:66,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:67,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:68,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:69,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:71,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:72,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:74,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:75,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:78,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:81,1
    - Dst: PrintBuiltins
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:109,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 35
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 117
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c
    functionUses: 0
    functionsReached:
    - PrintRenderingIntents
    - fprintf
    - exit
    - PrintBuiltins
    linkageType: ''
    returnType: int
    signature: int Help(int level)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:125,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:132,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:135,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:145,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:147,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:160,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:160,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:165,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:167,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:179,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:181,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:192,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:194,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:200,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:205,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:207,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:232,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 235
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c
    functionUses: 0
    functionsReached:
    - xgetopt
    - FatalError
    - Help
    - atof
    - fprintf
    - atoi
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:244,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:245,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:249,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:250,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:252,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:253,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:260,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:262,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 6
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: SetTextTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c
    functionUses: 12
    functionsReached:
    - cmsMLUsetASCII
    - cmsMLUalloc
    - cmsWriteTag
    - cmsMLUfree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetTextTags(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:278,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:279,1
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:282,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:286,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:291,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:294,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:299,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:302,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:306,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:312,1
    - Dst: cmsCreateInkLimitingDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:313,1
    - Dst: cmsFLAGS_GRIDPOINTS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:324,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:329,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:345,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:349,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:351,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:355,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:357,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:361,1
    - Dst: cmsSetHeaderRenderingIntent
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:362,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:364,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:367,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:370,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:372,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:377,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c:380,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 384
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/linkicc/linkicc.c
    functionUses: 15
    functionsReached:
    - PrintProfileInformation
    - fprintf
    - cmsSaveProfileToFile
    - cmsCreateMultiprofileTransform
    - FatalError
    - cmsGetColorSpace
    - cmsCreateInkLimitingDeviceLink
    - memset
    - InitUtils
    - cmsSetHeaderRenderingIntent
    - HandleSwitches
    - fflush
    - OpenStockProfile
    - cmsDeleteTransform
    - cmsTransform2DeviceLink
    - Help
    - SetTextTags
    - cmsFLAGS_GRIDPOINTS
    - cmsSetAdaptationState
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: xisatty
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xisatty(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: xisatty
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xisatty(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:96,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:98,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:101,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:102,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:105,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:110,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:112,1
    - Dst: PrintRenderingIntents
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:120,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:123,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:125,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:126,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 136
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 2
    functionsReached:
    - PrintRenderingIntents
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Help(void)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:147,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:163,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:165,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:170,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:173,1
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:175,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:192,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:206,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:208,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:221,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:246,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:252,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:254,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:271,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 96
    argCount: 3
    argNames:
    - ContextID
    - argc
    - argv
    argTypes:
    - cmsContext
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 280
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 1
    functionsReached:
    - xgetopt
    - FatalError
    - atof
    - atoi
    - cmsSetAdaptationState
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(cmsContext ContextID, int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - range
    - IsInput
    argTypes:
    - cmsFloat64Number
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: SetRange
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetRange(cmsFloat64Number range, cmsBool IsInput)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cmsAllocNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:303,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:309,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:310,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:311,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:312,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:316,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:317,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:318,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:319,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:323,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:324,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:325,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:326,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:330,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:331,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:332,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:333,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:338,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:339,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:340,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:341,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:345,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:346,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:347,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:348,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:352,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:353,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:357,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:358,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:359,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:360,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:364,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:365,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:366,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:367,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:371,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:372,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:373,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:374,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:375,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:379,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:380,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:381,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:382,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:387,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:389,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:393,1
    - Dst: cmsAppendNamedColor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:394,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 79
    argCount: 3
    argNames:
    - ContextID
    - space
    - IsInput
    argTypes:
    - cmsContext
    - cmsColorSpaceSignature
    - cmsBool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 400
    functionName: ComponentNames
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - sprintf
    - cmsAllocNamedColorList
    - SetRange
    - cmsAppendNamedColor
    linkageType: ''
    returnType: cmsNAMEDCOLORLIST
    signature: cmsNAMEDCOLORLIST * ComponentNames(cmsContext ContextID, cmsColorSpaceSignature
      space, cmsBool IsInput)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:417,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:422,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:423,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:424,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:427,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:428,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:432,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:433,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:434,1
    - Dst: ComponentNames
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:437,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:439,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:441,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:442,1
    - Dst: ComponentNames
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:445,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:450,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:453,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:458,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:459,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:460,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:463,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:464,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:467,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:468,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:469,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:470,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:471,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:473,1
    - Dst: ComponentNames
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:476,1
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:478,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:480,1
    - Dst: cmsDupNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:481,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:482,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:483,1
    - Dst: SetRange
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:485,1
    - Dst: ComponentNames
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:487,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:492,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:501,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:502,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:506,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:507,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:511,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:512,1
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:518,1
    - Dst: cmsFormatterForPCSOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:522,1
    - Dst: cmsFormatterForColorspaceOfProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:527,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:531,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:546,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:559,1
    - Dst: cmsSetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:564,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:570,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:572,1
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:582,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:583,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:585,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:588,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:591,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:592,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:595,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:596,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 131
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 404
    functionDepth: 9
    functionLinenumber: 404
    functionLinenumberEnd: 599
    functionName: OpenTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - SetRange
    - PrintProfileInformation
    - cmsDupNamedColorList
    - FatalError
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsFormatterForColorspaceOfProfile
    - cmsCreateTransform
    - cmsIsTag
    - cmsSetAlarmCodes
    - cmsNamedColorCount
    - printf
    - cmsReadTag
    - cmsCreateLab4Profile
    - cmsFormatterForPCSOfProfile
    - cmsCreateProofingTransform
    - OpenStockProfile
    - ComponentNames
    - cmsCreateXYZProfile
    - cmsGetPCS
    - cmsCloseProfile
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OpenTransforms(cmsContext ContextID)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:606,1
    - Dst: cmsFreeNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:607,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:609,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:610,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:611,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 4
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: CloseTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsFreeNamedColorList
    - cmsDeleteTransform
    linkageType: ''
    returnType: void
    signature: void CloseTransforms(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:624,1
    - Dst: xisatty
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:627,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:628,1
    - Dst: scanf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:630,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:632,1
    - Dst: CloseTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:634,1
    - Dst: xisatty
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:636,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:637,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:639,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:643,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - Buffer
    - frm
    argTypes:
    - cmsContext
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 644
    functionName: GetLine
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 8
    functionsReached:
    - va_start
    - xisatty
    - va_end
    - vfprintf
    - toupper
    - fprintf
    - CloseTransforms
    - scanf
    - exit
    linkageType: ''
    returnType: void
    signature: void GetLine(cmsContext ContextID, char* Buffer, const char* frm, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:655,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:660,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:664,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:670,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:681,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:683,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:686,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - ContextID
    - Value
    argTypes:
    - cmsContext
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 648
    functionDepth: 3
    functionLinenumber: 648
    functionLinenumberEnd: 687
    functionName: PrintFloatResults
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - sprintf
    - printf
    - cmsNamedColorInfo
    - floor
    linkageType: ''
    returnType: void
    signature: void PrintFloatResults(cmsContext ContextID, cmsFloat64Number Value[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:698,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:701,1
    - Dst: GetLine
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:703,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:704,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:707,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:709,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 691
    functionDepth: 3
    functionLinenumber: 691
    functionLinenumberEnd: 714
    functionName: GetIndex
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorCount
    - cmsGetNamedColorList
    - GetLine
    - cmsNamedColorInfo
    - printf
    - FatalError
    - atoi
    linkageType: ''
    returnType: cmsUInt16Number
    signature: cmsUInt16Number GetIndex(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xisatty
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:724,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:725,1
    - Dst: GetIndex
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:730,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:731,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:735,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:739,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:743,1
    - Dst: GetLine
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:746,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:748,1
    - Dst: xisatty
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:751,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - ContextID
    - Float
    argTypes:
    - cmsContext
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 717
    functionDepth: 4
    functionLinenumber: 717
    functionLinenumberEnd: 753
    functionName: TakeFloatValues
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - sprintf
    - xisatty
    - GetLine
    - cmsNamedColorInfo
    - atof
    - fprintf
    - memcpy
    - GetIndex
    linkageType: ''
    returnType: void
    signature: void TakeFloatValues(cmsContext ContextID, cmsFloat64Number Float[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:763,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:764,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - Input
    argTypes:
    - cmsContext
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: PrintPCSFloat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - printf
    - cmsDoTransform
    linkageType: ''
    returnType: void
    signature: void PrintPCSFloat(cmsContext ContextID, cmsFloat64Number Input[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:784,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:789,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:792,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:796,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:803,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:803,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:805,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:805,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:810,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:810,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:812,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:812,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:817,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - ContextID
    - Encoded
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 818
    functionName: PrintEncodedResults
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - sprintf
    - printf
    - cmsNamedColorInfo
    - floor
    linkageType: ''
    returnType: void
    signature: void PrintEncodedResults(cmsContext ContextID, cmsUInt16Number Encoded[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:829,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:830,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - ContextID
    - Input
    argTypes:
    - cmsContext
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 836
    functionName: PrintPCSEncoded
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - printf
    - cmsDoTransform
    linkageType: ''
    returnType: void
    signature: void PrintPCSEncoded(cmsContext ContextID, cmsFloat64Number Input[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8GetData
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:848,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:851,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ContextID
    - Name
    - Max
    argTypes:
    - cmsContext
    - char*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 845
    functionDepth: 8
    functionLinenumber: 845
    functionLinenumberEnd: 855
    functionName: GetIT8Val
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsIT8GetData
    - FatalError
    - atof
    linkageType: ''
    returnType: cmsFloat64Number
    signature: cmsFloat64Number GetIT8Val(cmsContext ContextID, const char* Name,
      cmsFloat64Number Max)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8GetPatchName
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:865,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:866,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:878,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:880,1
    - Dst: cmsNamedColorIndex
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:882,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:884,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:897,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:898,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:899,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:903,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:904,1
    - Dst: cmsIT8GetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:905,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:910,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:911,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:912,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:916,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:920,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:921,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:922,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:923,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:927,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:928,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:929,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:950,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:955,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:956,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:966,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:971,1
    - Dst: GetIT8Val
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:972,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - ContextID
    - nPatch
    - Float
    argTypes:
    - cmsContext
    - int
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 860
    functionDepth: 9
    functionLinenumber: 860
    functionLinenumberEnd: 978
    functionName: TakeCGATSValues
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorIndex
    - cmsChannelsOf
    - sprintf
    - cmsGetNamedColorList
    - FatalError
    - GetIT8Val
    - cmsIT8GetDataDbl
    - cmsIT8GetPatchName
    linkageType: ''
    returnType: void
    signature: void TakeCGATSValues(cmsContext ContextID, int nPatch, cmsFloat64Number
      Float[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:984,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:986,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - ContextID
    - Col
    - Val
    argTypes:
    - cmsContext
    - char*
    - cmsFloat64Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 980
    functionDepth: 11
    functionLinenumber: 980
    functionLinenumberEnd: 989
    functionName: SetCGATSfld
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - floor
    - FatalError
    - cmsIT8SetDataDbl
    linkageType: ''
    returnType: void
    signature: void SetCGATSfld(cmsContext ContextID, const char* Col, cmsFloat64Number
      Val)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8SetData
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:996,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1004,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1005,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1006,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1011,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1012,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1013,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1018,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1019,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1020,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1024,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1028,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1029,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1030,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1031,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1035,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1036,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1037,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1059,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1064,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1066,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1076,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1081,1
    - Dst: SetCGATSfld
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1083,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 2
    argNames:
    - ContextID
    - Float
    argTypes:
    - cmsContext
    - cmsFloat64Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 993
    functionDepth: 12
    functionLinenumber: 993
    functionLinenumberEnd: 1087
    functionName: PutCGATSValues
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsIT8SetData
    - SetCGATSfld
    - sprintf
    - cmsChannelsOf
    linkageType: ''
    returnType: void
    signature: void PutCGATSValues(cmsContext ContextID, cmsFloat64Number Float[])
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8DefineDblFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1095,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1096,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1099,1
    - Dst: cmsIT8SetComment
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1101,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1102,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1111,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1112,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1113,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1114,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1115,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1119,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1120,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1121,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1122,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1123,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1128,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1129,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1130,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1131,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1132,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1136,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1137,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1138,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1142,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1143,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1144,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1145,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1146,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1147,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1151,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1152,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1153,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1154,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1155,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1177,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1178,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1179,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1182,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1183,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1193,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1194,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1195,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1198,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 83
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1092
    functionDepth: 10
    functionLinenumber: 1092
    functionLinenumberEnd: 1203
    functionName: SetOutputDataFormat
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - cmsIT8SetPropertyDbl
    - sprintf
    - cmsIT8SetComment
    - cmsIT8DefineDblFormat
    - cmsIT8SetPropertyStr
    - cmsIT8SetDataFormat
    linkageType: ''
    returnType: void
    signature: void SetOutputDataFormat(cmsContext ContextID)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8LoadFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1214,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1217,1
    - Dst: cmsIT8GetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1219,1
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1224,1
    - Dst: SetOutputDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1225,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1226,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1229,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - ContextID
    - argc
    - argv
    argTypes:
    - cmsContext
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1207
    functionDepth: 12
    functionLinenumber: 1207
    functionLinenumberEnd: 1230
    functionName: OpenCGATSFiles
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 0
    functionsReached:
    - cmsIT8LoadFromFile
    - SetOutputDataFormat
    - FatalError
    - strncpy
    - cmsIT8GetPropertyDbl
    - cmsIT8Alloc
    linkageType: ''
    returnType: void
    signature: void OpenCGATSFiles(cmsContext ContextID, int argc, char *argv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1244,1
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1246,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1252,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1256,1
    - Dst: OpenTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1259,1
    - Dst: OpenCGATSFiles
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1262,1
    - Dst: TakeCGATSValues
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1270,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1274,1
    - Dst: TakeFloatValues
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1275,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1280,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1282,1
    - Dst: PutCGATSValues
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1287,1
    - Dst: PrintFloatResults
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1292,1
    - Dst: PrintPCSFloat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1292,1
    - Dst: PrintEncodedResults
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1295,1
    - Dst: PrintPCSEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1295,1
    - Dst: CloseTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1303,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1306,1
    - Dst: cmsIT8SaveToFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1309,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c:1310,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1235
    functionDepth: 13
    functionLinenumber: 1235
    functionLinenumberEnd: 1315
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/transicc/transicc.c
    functionUses: 15
    functionsReached:
    - PutCGATSValues
    - TakeCGATSValues
    - cmsIT8SaveToFile
    - PrintFloatResults
    - TakeFloatValues
    - Help
    - OpenCGATSFiles
    - cmsDoTransform
    - OpenTransforms
    - fprintf
    - HandleSwitches
    - PrintPCSFloat
    - feof
    - PrintPCSEncoded
    - CloseTransforms
    - PrintEncodedResults
    - cmsIT8Free
    - InitUtils
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ab
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: DecodeAbTIFF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double DecodeAbTIFF(double ab)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:48,1
    - Dst: DecodeAbTIFF
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:55,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:57,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:60,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 64
    functionName: CreateStep
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c
    functionUses: 0
    functionsReached:
    - DecodeAbTIFF
    - cmsBuildTabulatedToneCurve16
    - free
    - floor
    - calloc
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * CreateStep(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: CreateLinear
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c
    functionUses: 0
    functionsReached:
    - cmsBuildTabulatedToneCurve16
    linkageType: ''
    returnType: cmsToneCurve
    signature: cmsToneCurve * CreateLinear(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:84,1
    - Dst: cmsMLUalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:85,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:89,1
    - Dst: cmsMLUsetASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:90,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:92,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:93,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:100,1
    - Dst: cmsMLUfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:102,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 1
    argNames:
    - hProfile
    argTypes:
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 78
    functionDepth: 6
    functionLinenumber: 78
    functionLinenumberEnd: 104
    functionName: SetTextTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c
    functionUses: 13
    functionsReached:
    - cmsMLUsetASCII
    - cmsMLUalloc
    - cmsWriteTag
    - cmsMLUfree
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SetTextTags(cmsHPROFILE hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:114,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:116,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:117,1
    - Dst: CreateLinear
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:120,1
    - Dst: CreateStep
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:121,1
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:127,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:129,1
    - Dst: cmsStageAllocToneCurves
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:130,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:132,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:133,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:134,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:135,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:137,1
    - Dst: SetTextTags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:139,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:141,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:143,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:144,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:145,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 107
    functionDepth: 7
    functionLinenumber: 107
    functionLinenumberEnd: 150
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mktiff8.c
    functionUses: 15
    functionsReached:
    - cmsPipelineInsertStage
    - cmsSetProfileVersion
    - cmsWriteTag
    - CreateLinear
    - cmsSetPCS
    - cmsSetDeviceClass
    - cmsFreeToneCurve
    - cmsPipelineFree
    - cmsStageAllocToneCurves
    - CreateStep
    - fprintf
    - cmsPipelineAlloc
    - SetTextTags
    - remove
    - cmsOpenProfileFromFile
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:53,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:55,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - In
    - Out
    - Cargo
    argTypes:
    - WORD[]
    - WORD[]
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 67
    functionName: Forward
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c
    functionUses: 0
    functionsReached:
    - printf
    - cmsDoTransform
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: int
    signature: int Forward(register WORD In[], register WORD Out[], register LPVOID
      Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - In
    - Out
    - Cargo
    argTypes:
    - WORD[]
    - WORD[]
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 85
    functionName: Reverse
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c
    functionUses: 2
    functionsReached:
    - cmsDoTransform
    linkageType: ''
    returnType: int
    signature: int Reverse(register WORD In[], register WORD Out[], register LPVOID
      Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateLabProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:94,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:95,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:97,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - Cargo
    argTypes:
    - LPCARGO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 8
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: InitCargo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c
    functionUses: 0
    functionsReached:
    - cmsCreate_sRGBProfile
    - cmsCreateTransform
    - cmsCreateLabProfile
    linkageType: ''
    returnType: void
    signature: void InitCargo(LPCARGO Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:114,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:115,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:116,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - Cargo
    argTypes:
    - LPCARGO
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 7
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: FreeCargo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void FreeCargo(LPCARGO Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:129,1
    - Dst: InitCargo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:131,1
    - Dst: cmsCreateLabProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:133,1
    - Dst: cmsAllocLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:136,1
    - Dst: cmsAllocLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:137,1
    - Dst: cmsAlloc3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:139,1
    - Dst: cmsAlloc3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:140,1
    - Dst: cmsSample3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:143,1
    - Dst: cmsSample3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:144,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:147,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:148,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:150,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:151,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:153,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:154,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:155,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:156,1
    - Dst: _cmsSaveProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:158,1
    - Dst: cmsFreeLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:161,1
    - Dst: cmsFreeLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:162,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:163,1
    - Dst: FreeCargo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 123
    functionDepth: 9
    functionLinenumber: 123
    functionLinenumberEnd: 170
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkcmy.c
    functionUses: 15
    functionsReached:
    - cmsFreeLUT
    - cmsSetDeviceClass
    - _cmsSaveProfile
    - cmsAddTag
    - cmsAllocLUT
    - FreeCargo
    - fprintf
    - cmsAlloc3DGrid
    - cmsSample3DGrid
    - InitCargo
    - cmsSetColorSpace
    - cmsCreateLabProfile
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - In
    - Lab
    argTypes:
    - WORD[]
    - LPcmsCIELab
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: ITU2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ITU2Lab(WORD In[3], LPcmsCIELab Lab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:51,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:52,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Lab
    - Out
    argTypes:
    - LPcmsCIELab
    - WORD[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 54
    functionName: Lab2ITU
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void Lab2ITU(LPcmsCIELab Lab, WORD Out[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:72,1
    - Dst: cmsClampLab
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:73,1
    - Dst: Lab2ITU
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - In
    - Out
    - Cargo
    argTypes:
    - WORD[]
    - WORD[]
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 2
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: InputDirection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c
    functionUses: 0
    functionsReached:
    - Lab2ITU
    - cmsClampLab
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: int
    signature: int InputDirection(register WORD In[], register WORD Out[], register
      LPVOID Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ITU2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:86,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - In
    - Out
    - Cargo
    argTypes:
    - WORD[]
    - WORD[]
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: OutputDirection
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c
    functionUses: 0
    functionsReached:
    - ITU2Lab
    - cmsFloat2LabEncoded
    linkageType: ''
    returnType: int
    signature: int OutputDirection(register WORD In[], register WORD Out[], register
      LPVOID Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:103,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:105,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:106,1
    - Dst: cmsAllocLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:108,1
    - Dst: cmsAllocLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:109,1
    - Dst: cmsAlloc3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:111,1
    - Dst: cmsAlloc3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:112,1
    - Dst: cmsSample3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:114,1
    - Dst: cmsSample3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:115,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:117,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:118,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:121,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:122,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:123,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:125,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:126,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:127,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:128,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:130,1
    - Dst: cmsFreeLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:132,1
    - Dst: cmsFreeLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:133,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 98
    functionDepth: 7
    functionLinenumber: 98
    functionLinenumberEnd: 138
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/itufax.c
    functionUses: 15
    functionsReached:
    - cmsFreeLUT
    - cmsSetPCS
    - cmsSetDeviceClass
    - unlink
    - cmsAddTag
    - cmsAllocLUT
    - fprintf
    - cmsAlloc3DGrid
    - cmsSample3DGrid
    - cmsOpenProfileFromFile
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: PrintUsage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int PrintUsage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PrintUsage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:44,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:47,1
    - Dst: PrintUsage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:47,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:49,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:51,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:53,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:54,1
    - Dst: cmsSetProfileVersion
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:56,1
    - Dst: cmsSaveProfileToFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:57,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:58,1
    - Dst: remove
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:60,1
    - Dst: rename
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 38
    functionDepth: 7
    functionLinenumber: 38
    functionLinenumberEnd: 65
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/vericc.c
    functionUses: 15
    functionsReached:
    - cmsSetProfileVersion
    - cmsSaveProfileToFile
    - rename
    - strncmp
    - fprintf
    - PrintUsage
    - atof
    - remove
    - cmsOpenProfileFromFile
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:44,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:63,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c
    functionUses: 2
    functionsReached:
    - xgetopt
    - FatalError
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:71,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:75,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:78,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:81,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:82,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:85,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Help(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsXYZ2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:103,1
    - Dst: cmsLab2LCh
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:104,1
    - Dst: cmsXYZ2xyY
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:105,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:108,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:109,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:110,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:112,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - WtPt
    argTypes:
    - cmsCIEXYZ*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 116
    functionName: ShowWhitePoint
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c
    functionUses: 0
    functionsReached:
    - sqrt
    - cmsXYZ2Lab
    - printf
    - cmsXYZ2xyY
    - cmsLab2LCh
    linkageType: ''
    returnType: void
    signature: void ShowWhitePoint(cmsCIEXYZ* WtPt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:123,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:125,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:130,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:134,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:137,1
    - Dst: ShowWhitePoint
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:138,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 7
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/wtpt.c
    functionUses: 15
    functionsReached:
    - ShowWhitePoint
    - Help
    - cmsReadTag
    - HandleSwitches
    - cmsOpenProfileFromFile
    - InitUtils
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:34,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:36,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:36,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:42,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - In
    - Out
    - Cargo
    argTypes:
    - WORD[]
    - WORD[]
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: Forward
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c
    functionUses: 0
    functionsReached:
    - fabs
    - floor
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: int
    signature: int Forward(register WORD In[], register WORD Out[], register LPVOID
      Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:62,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:64,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:65,1
    - Dst: cmsAllocLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:68,1
    - Dst: cmsAlloc3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:70,1
    - Dst: cmsSample3DGrid
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:72,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:74,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:76,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:77,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:78,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:80,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:81,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:82,1
    - Dst: cmsAddTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:83,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:86,1
    - Dst: cmsFreeLUT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:88,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 7
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/mkgrayer.c
    functionUses: 15
    functionsReached:
    - cmsFreeLUT
    - cmsSetPCS
    - cmsSetDeviceClass
    - unlink
    - cmsAddTag
    - cmsAllocLUT
    - fprintf
    - cmsAlloc3DGrid
    - cmsSample3DGrid
    - cmsOpenProfileFromFile
    - cmsSetColorSpace
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:32,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:33,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:34,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bin
    - bout
    argTypes:
    - cmsUInt8Number[]
    - cmsUInt8Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: VecDist
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c
    functionUses: 0
    functionsReached:
    - sqrt
    - fabs
    linkageType: ''
    returnType: double
    signature: double VecDist(cmsUInt8Number bin[3], cmsUInt8Number bout[3])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:51,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:55,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:58,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:62,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:65,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:70,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:78,1
    - Dst: VecDist
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:80,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:92,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:94,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:94,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:95,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c:96,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 8
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/samples/roundtrip.c
    functionUses: 15
    functionsReached:
    - sqrt
    - cmsDeleteTransform
    - printf
    - cmsDoTransform
    - VecDist
    - cmsOpenProfileFromFile
    - cmsCreateTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int  argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:38,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:39,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:40,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:41,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:42,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: FatalError
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 13
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void FatalError(const char *frm, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:52,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:54,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: MyErrorLogHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - fprintf
    linkageType: ''
    returnType: void
    signature: void MyErrorLogHandler(cmsContext ContextID, cmsUInt32Number ErrorCode,
      const char *Text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:61,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ContextID
    - PName
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 65
    functionName: InitUtils
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 3
    functionsReached:
    - cmsSetLogErrorHandler
    - strncpy
    linkageType: ''
    returnType: void
    signature: void InitUtils(cmsContext ContextID, const char* PName)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:72,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:74,1
    - Dst: cmsCreateLab2Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:75,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:77,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:78,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:80,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:81,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:83,1
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:87,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:88,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:91,1
    - Dst: cmsCreateXYZProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:92,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:94,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:96,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:97,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:97,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:98,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:102,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:104,1
    - Dst: cmsCreateGrayProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:105,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:105,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:106,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:110,1
    - Dst: cmsCreate_sRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:111,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:113,1
    - Dst: cmsCreateNULLProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:114,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:117,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:119,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:124,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:125,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:130,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - ContextID
    - File
    argTypes:
    - cmsContext
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 131
    functionName: OpenStockProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 2
    functionsReached:
    - cmsCreateLab2Profile
    - cmsCreate_sRGBProfile
    - cmsBuildGamma
    - cmsD50_xyY
    - cmsCreateNULLProfile
    - cmsFreeToneCurve
    - cmsWhitePointFromTemp
    - cmsCreateLinearizationDeviceLink
    - cmsCreateLab4Profile
    - cmsCreateXYZProfile
    - cmsOpenProfileFromFile
    - cmsCreateGrayProfile
    - cmsstrcasecmp
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE OpenStockProfile(cmsContext ContextID, const char* File)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:136,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 146
    functionName: PrintBuiltins
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintBuiltins(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetProfileInfoASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:156,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:159,1
    - Dst: cmsGetProfileInfoASCII
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:162,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:164,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:165,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - ContextID
    - h
    - Info
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsInfoType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: PrintInfo
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 1
    functionsReached:
    - printf
    - strlen
    - malloc
    - free
    - cmsGetProfileInfoASCII
    linkageType: ''
    returnType: void
    signature: void PrintInfo(cmsContext ContextID, cmsHPROFILE h, cmsInfoType Info)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsIsTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:179,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:181,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:183,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:185,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:189,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:194,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:195,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - ContextID
    - hInput
    - Sig
    - Title
    argTypes:
    - cmsContext
    - cmsHPROFILE
    - cmsTagSignature
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 173
    functionDepth: 4
    functionLinenumber: 173
    functionLinenumberEnd: 201
    functionName: PrintColorantTable
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorCount
    - printf
    - cmsNamedColorInfo
    - cmsReadTag
    - cmsIsTag
    linkageType: ''
    returnType: void
    signature: void PrintColorantTable(cmsContext ContextID, cmsHPROFILE hInput, cmsTagSignature
      Sig, const char* Title)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:207,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:211,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:212,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:213,1
    - Dst: PrintInfo
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:214,1
    - Dst: PrintColorantTable
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:218,1
    - Dst: PrintColorantTable
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:219,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ContextID
    - hInput
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 5
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: PrintProfileInformation
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 2
    functionsReached:
    - printf
    - PrintInfo
    - fprintf
    - PrintColorantTable
    linkageType: ''
    returnType: void
    signature: void PrintProfileInformation(cmsContext ContextID, cmsHPROFILE hInput)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:234,1
    - Dst: cmsGetSupportedIntents
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:236,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:239,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: PrintRenderingIntents
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 2
    functionsReached:
    - cmsGetSupportedIntents
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintRenderingIntents(cmsContext ContextID)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:250,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:252,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:256,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:257,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:261,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - Buffer
    - dwLen
    - Filename
    argTypes:
    - cmsUInt8Number*
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: SaveMemoryBlock
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 0
    functionsReached:
    - fclose
    - FatalError
    - fwrite
    - fopen
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool SaveMemoryBlock(const cmsUInt8Number* Buffer, cmsUInt32Number
      dwLen, const char* Filename)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 1
    argNames:
    - ColorChannels
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 297
    functionName: PixelTypeFromChanCount
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 0
    functionsReached:
    - FatalError
    linkageType: ''
    returnType: int
    signature: int PixelTypeFromChanCount(int ColorChannels)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 1
    argNames:
    - ColorChannels
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 336
    functionName: ChanCountFromPixelType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/vprf.c
    functionUses: 0
    functionsReached:
    - FatalError
    linkageType: ''
    returnType: int
    signature: int ChanCountFromPixelType(int ColorChannels)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: UTILS_UNUSED_PARAMETER
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/utils.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTILS_UNUSED_PARAMETER(x)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/xgetopt.c:46,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/lcms2mt/utils/common/xgetopt.c:73,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - argc
    - argv
    - optionS
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 75
    functionName: xgetopt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/common/xgetopt.c
    functionUses: 3
    functionsReached:
    - strchr
    - perror
    linkageType: ''
    returnType: int
    signature: int xgetopt(int argc, char *argv[], char *optionS)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: my_error_exit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - FatalError
    linkageType: ''
    returnType: void
    signature: void my_error_exit (j_common_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - jpeg_saved_marker_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 127
    functionName: IsITUFax
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool IsITUFax(jpeg_saved_marker_ptr ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_write_marker
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: SetITUFax
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - jpeg_write_marker
    linkageType: ''
    returnType: void
    signature: void SetITUFax(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - In
    - Lab
    argTypes:
    - cmsUInt16Number[]
    - cmsCIELab*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: ITU2Lab
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ITU2Lab(const cmsUInt16Number In[3], cmsCIELab* Lab)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:163,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:164,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - Lab
    - Out
    argTypes:
    - cmsCIELab*
    - cmsUInt16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: Lab2ITU
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 1
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void Lab2ITU(const cmsCIELab* Lab, cmsUInt16Number Out[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsLabEncoded2Float
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:183,1
    - Dst: cmsDesaturateLab
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:184,1
    - Dst: Lab2ITU
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:185,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:188,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: PCS2ITU
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - Lab2ITU
    - cmsDesaturateLab
    - cmsLabEncoded2Float
    linkageType: ''
    returnType: int
    signature: int PCS2ITU(cmsContext ContextID, register const cmsUInt16Number In[],
      register cmsUInt16Number Out[], register void*  Cargo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ITU2Lab
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:198,1
    - Dst: cmsFloat2LabEncoded
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:199,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:202,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ContextID
    - In
    - Out
    - Cargo
    argTypes:
    - cmsContext
    - cmsUInt16Number[]
    - cmsUInt16Number[]
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: ITU2PCS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - ITU2Lab
    - cmsFloat2LabEncoded
    linkageType: ''
    returnType: int
    signature: int ITU2PCS(cmsContext ContextID, register const cmsUInt16Number In[],
      register cmsUInt16Number Out[], register void*  Cargo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:214,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:217,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:220,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:221,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:223,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:225,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:229,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:230,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:231,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:232,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 207
    functionDepth: 6
    functionLinenumber: 207
    functionLinenumberEnd: 236
    functionName: CreateITU2PCS_ICC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsWriteTag
    - cmsSetDeviceClass
    - cmsStageSampleCLut16bit
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreateITU2PCS_ICC(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsPipelineAlloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:247,1
    - Dst: cmsStageAllocCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:250,1
    - Dst: cmsPipelineInsertStage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:253,1
    - Dst: cmsStageSampleCLut16bit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:254,1
    - Dst: cmsCreateProfilePlaceholder
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:256,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:258,1
    - Dst: cmsWriteTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:262,1
    - Dst: cmsSetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:263,1
    - Dst: cmsSetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:264,1
    - Dst: cmsSetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:265,1
    - Dst: cmsPipelineFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 240
    functionDepth: 6
    functionLinenumber: 240
    functionLinenumberEnd: 270
    functionName: CreatePCS2ITU_ICC
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - cmsPipelineInsertStage
    - cmsWriteTag
    - cmsSetDeviceClass
    - cmsStageSampleCLut16bit
    - cmsStageAllocCLut16bit
    - cmsPipelineAlloc
    - cmsSetPCS
    - cmsPipelineFree
    - cmsSetColorSpace
    - cmsCreateProfilePlaceholder
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE CreatePCS2ITU_ICC(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: PS_FIXED_TO_FLOAT
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PS_FIXED_TO_FLOAT(h, l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:286,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:287,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:288,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:289,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:293,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:293,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:297,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:297,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:299,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:299,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:300,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:300,1
    - Dst: PS_FIXED_TO_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:306,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:306,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:306,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:307,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:307,1
    - Dst: PS_FIXED_TO_FLOAT
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:308,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:308,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:308,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:309,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - data
    - datalen
    argTypes:
    - JOCTET*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 323
    functionName: ProcessPhotoshopAPP13
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - GETJOCTET
    - PS_FIXED_TO_FLOAT
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool ProcessPhotoshopAPP13(JOCTET FAR *data, int datalen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:335,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:336,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:337,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:338,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:339,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:340,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:341,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:342,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:343,1
    - Dst: ProcessPhotoshopAPP13
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:345,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 11
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - jpeg_saved_marker_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 354
    functionName: HandlePhotoshopAPP13
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - ProcessPhotoshopAPP13
    - GETJOCTET
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool HandlePhotoshopAPP13(jpeg_saved_marker_ptr ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arr
    - pos
    - swapBytes
    argTypes:
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 374
    functionName: read16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t read16(uint8_t* arr, int pos,  int swapBytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - arr
    - pos
    - swapBytes
    argTypes:
    - uint8_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: read32
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t read32(uint8_t* arr, int pos,  int swapBytes)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:402,1
    - Dst: read32
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:404,1
    - Dst: read32
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:414,1
    - Dst: read32
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:420,1
    - Dst: read32
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:421,1
    - Dst: read16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - arr
    - pos
    - swapBytes
    - dest
    argTypes:
    - uint8_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 434
    functionName: read_tag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - read16
    - read32
    linkageType: ''
    returnType: int
    signature: int read_tag(uint8_t* arr, int pos,  int swapBytes, void* dest)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:455,1
    - Dst: read16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:462,1
    - Dst: read32
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:472,1
    - Dst: read16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:475,1
    - Dst: read16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:480,1
    - Dst: read_tag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:485,1
    - Dst: read_tag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:489,1
    - Dst: read_tag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:493,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:514,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:515,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:520,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:521,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - struct jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 536
    functionName: HandleEXIF
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - read16
    - read32
    - read_tag
    - floor
    - memcmp
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool HandleEXIF(struct jpeg_decompress_struct* cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:545,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:547,1
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:551,1
    - Dst: jpeg_create_decompress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:555,1
    - Dst: jpeg_stdio_src
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:556,1
    - Dst: jpeg_save_markers
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:559,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:563,1
    - Dst: jpeg_read_header
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:564,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - FileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 567
    functionName: OpenInput
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - jpeg_create_decompress
    - jpeg_read_header
    - jpeg_std_error
    - FatalError
    - jpeg_save_markers
    - fseek
    - jpeg_stdio_src
    - fopen
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OpenInput(const char* FileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:574,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:576,1
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:580,1
    - Dst: jpeg_create_compress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:586,1
    - Dst: jpeg_stdio_dest
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - FileName
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 589
    functionName: OpenOutput
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - jpeg_stdio_dest
    - jpeg_std_error
    - FatalError
    - fopen
    - jpeg_create_compress
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool OpenOutput(const char* FileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_destroy_decompress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:594,1
    - Dst: jpeg_destroy_compress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:595,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:596,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 598
    functionName: Done
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - jpeg_destroy_decompress
    - jpeg_destroy_compress
    - fclose
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool Done(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: IsITUFax
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:608,1
    - Dst: HandlePhotoshopAPP13
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:609,1
    - Dst: HandleEXIF
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:610,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:655,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:659,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:659,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:659,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:659,1
    - Dst: FLAVOR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 603
    functionDepth: 3
    functionLinenumber: 603
    functionLinenumberEnd: 660
    functionName: GetInputPixelType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - HandleEXIF
    - HandlePhotoshopAPP13
    - FLAVOR_SH
    - FatalError
    - EXTRA_SH
    - BYTES_SH
    - COLORSPACE_SH
    - CHANNELS_SH
    - IsITUFax
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number GetInputPixelType(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:667,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:690,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:693,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:693,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:693,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:693,1
    - Dst: FLAVOR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:693,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - dwInput
    - OutColorSpace
    argTypes:
    - cmsUInt32Number
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 694
    functionName: ComputeOutputFormatDescriptor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - PLANAR_SH
    - T_PLANAR
    - FLAVOR_SH
    - FatalError
    - BYTES_SH
    - COLORSPACE_SH
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number ComputeOutputFormatDescriptor(cmsUInt32Number dwInput,
      int OutColorSpace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:701,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 698
    functionDepth: 2
    functionLinenumber: 698
    functionLinenumberEnd: 704
    functionName: GetProfileColorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - _cmsLCMScolorSpace
    - cmsGetColorSpace
    linkageType: ''
    returnType: int
    signature: int GetProfileColorSpace(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:709,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ContextID
    - hProfile
    argTypes:
    - cmsContext
    - cmsHPROFILE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 706
    functionDepth: 2
    functionLinenumber: 706
    functionLinenumberEnd: 712
    functionName: GetDevicelinkColorSpace
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - cmsGetPCS
    - _cmsLCMScolorSpace
    linkageType: ''
    returnType: int
    signature: int GetDevicelinkColorSpace(cmsContext ContextID, cmsHPROFILE hProfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:732,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:733,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:734,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:735,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:736,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:742,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:743,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:744,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:745,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:746,1
    - Dst: jpeg_write_marker
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:749,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 8
    argCount: 2
    argNames:
    - srcinfo
    - dstinfo
    argTypes:
    - j_decompress_ptr
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 752
    functionName: jcopy_markers_execute
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - GETJOCTET
    - jpeg_write_marker
    linkageType: ''
    returnType: void
    signature: void jcopy_markers_execute(j_decompress_ptr srcinfo, j_compress_ptr
      dstinfo)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:784,1
    - Dst: jpeg_set_defaults
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:798,1
    - Dst: jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:799,1
    - Dst: jpeg_set_quality
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - OutputColorSpace
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 819
    functionName: WriteOutputFields
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - jpeg_set_defaults
    - jpeg_set_quality
    - FatalError
    - jpeg_set_colorspace
    linkageType: ''
    returnType: void
    signature: void WriteOutputFields(int OutputColorSpace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:829,1
    - Dst: cmsfilelength
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:832,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:833,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:834,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:835,1
    - Dst: write_icc_profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:838,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ProfileFile
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 840
    functionName: DoEmbedProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - write_icc_profile
    - fread
    - malloc
    - free
    - fopen
    - cmsfilelength
    - fclose
    linkageType: ''
    returnType: void
    signature: void DoEmbedProfile(const char* ProfileFile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_start_decompress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:859,1
    - Dst: jpeg_start_compress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:860,1
    - Dst: SetITUFax
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:863,1
    - Dst: DoEmbedProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:867,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:869,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:870,1
    - Dst: jpeg_read_scanlines
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:875,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:877,1
    - Dst: jpeg_write_scanlines
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:879,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:882,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:883,1
    - Dst: jpeg_finish_decompress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:885,1
    - Dst: jpeg_finish_compress
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ContextID
    - hXForm
    - OutputColorSpace
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 844
    functionDepth: 5
    functionLinenumber: 844
    functionLinenumberEnd: 889
    functionName: DoTransform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 78
    functionsReached:
    - jpeg_read_scanlines
    - jpeg_write_scanlines
    - jpeg_start_decompress
    - jpeg_finish_decompress
    - jpeg_start_compress
    - DoEmbedProfile
    - malloc
    - cmsDoTransform
    - free
    - jpeg_finish_compress
    - SetITUFax
    linkageType: ''
    returnType: int
    signature: int DoTransform(cmsContext ContextID, cmsHTRANSFORM hXForm, int OutputColorSpace)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:907,1
    - Dst: cmsSetAlarmCodes
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:926,1
    - Dst: GetInputPixelType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:930,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:934,1
    - Dst: read_icc_profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:940,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:942,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:946,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:947,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:948,1
    - Dst: SaveMemoryBlock
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:952,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:954,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:959,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:962,1
    - Dst: CreateITU2PCS_ICC
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:963,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:965,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:968,1
    - Dst: CreatePCS2ITU_ICC
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:969,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:971,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:976,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:978,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:985,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:987,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:990,1
    - Dst: _cmsICCcolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:990,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:990,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:991,1
    - Dst: GetDevicelinkColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:997,1
    - Dst: GetProfileColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1000,1
    - Dst: jpeg_copy_critical_parameters
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1003,1
    - Dst: WriteOutputFields
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1005,1
    - Dst: ComputeOutputFormatDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1007,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1010,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1015,1
    - Dst: DoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1017,1
    - Dst: jcopy_markers_execute
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1020,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1022,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1023,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1024,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1025,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 82
    argCount: 3
    argNames:
    - ContextID
    - cDefInpProf
    - cOutputProf
    argTypes:
    - cmsContext
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 895
    functionDepth: 9
    functionLinenumber: 895
    functionLinenumberEnd: 1028
    functionName: TransformImage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 0
    functionsReached:
    - GetDevicelinkColorSpace
    - _cmsICCcolorSpace
    - PrintProfileInformation
    - fprintf
    - GetInputPixelType
    - read_icc_profile
    - jpeg_copy_critical_parameters
    - CreateITU2PCS_ICC
    - cmsOpenProfileFromMem
    - SaveMemoryBlock
    - FatalError
    - cmsGetColorSpace
    - cmsstrcasecmp
    - cmsSetAlarmCodes
    - ComputeOutputFormatDescriptor
    - free
    - fflush
    - cmsCreateProofingTransform
    - cmsOpenProfileFromFile
    - OpenStockProfile
    - cmsDeleteTransform
    - DoTransform
    - CreatePCS2ITU_ICC
    - T_COLORSPACE
    - cmsCloseProfile
    - WriteOutputFields
    - GetProfileColorSpace
    - jcopy_markers_execute
    - cmsSetAdaptationState
    linkageType: ''
    returnType: int
    signature: int TransformImage(cmsContext ContextID, char *cDefInpProf, char *cOutputProf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1036,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1043,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1045,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1046,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1047,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1048,1
    - Dst: PrintRenderingIntents
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1050,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1053,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1054,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1055,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1056,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1057,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1059,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1061,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1062,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1064,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1065,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1066,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1067,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1069,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1070,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1072,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1073,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1078,1
    - Dst: PrintBuiltins
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1093,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1098,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1106,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 39
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1033
    functionDepth: 4
    functionLinenumber: 1033
    functionLinenumberEnd: 1107
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 4
    functionsReached:
    - PrintRenderingIntents
    - fprintf
    - exit
    - PrintBuiltins
    linkageType: ''
    returnType: void
    signature: void Help(int level)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1117,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1128,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1131,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1142,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1150,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1158,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1171,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1192,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1194,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1200,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1201,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1207,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1214,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1222,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1232,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1236
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 3
    functionsReached:
    - xgetopt
    - sscanf
    - FatalError
    - Help
    - atof
    - atoi
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1241,1
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1243,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1245,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1248,1
    - Dst: OpenInput
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1251,1
    - Dst: OpenOutput
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1252,1
    - Dst: TransformImage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1254,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1257,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1257,1
    - Dst: Done
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1259,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c:1261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1239
    functionDepth: 4
    functionLinenumber: 1239
    functionLinenumberEnd: 1264
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/jpgicc.c
    functionUses: 15
    functionsReached:
    - cmsDeleteContext
    - TransformImage
    - cmsCreateContext
    - OpenInput
    - Help
    - OpenOutput
    - HandleSwitches
    - fprintf
    - fflush
    - Done
    - InitUtils
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_write_m_header
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:73,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:80,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:81,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:82,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:83,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:84,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:85,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:86,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:87,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:88,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:89,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:90,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:91,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:94,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:95,1
    - Dst: jpeg_write_m_byte
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 3
    argNames:
    - cinfo
    - icc_data_ptr
    - icc_data_len
    argTypes:
    - j_compress_ptr
    - JOCTET*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 104
    functionName: write_icc_profile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_write_m_header
    - jpeg_write_m_byte
    linkageType: ''
    returnType: void
    signature: "void write_icc_profile (j_compress_ptr cinfo,\n\t\t   const JOCTET
      *icc_data_ptr,\n\t\t   unsigned int icc_data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_save_markers
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: setup_read_icc_profile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_save_markers
    linkageType: ''
    returnType: void
    signature: void setup_read_icc_profile (j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:130,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:131,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:132,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:133,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:134,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:135,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:136,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:137,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:138,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:139,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:140,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:141,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 2
    argCount: 1
    argNames:
    - marker
    argTypes:
    - jpeg_saved_marker_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: marker_is_icc
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c
    functionUses: 0
    functionsReached:
    - GETJOCTET
    linkageType: ''
    returnType: boolean
    signature: boolean marker_is_icc (jpeg_saved_marker_ptr marker)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: marker_is_icc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:190,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:192,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:193,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:195,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:224,1
    - Dst: marker_is_icc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:230,1
    - Dst: GETJOCTET
      Src: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c:234,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 3
    argNames:
    - cinfo
    - icc_data_ptr
    - icc_data_len
    argTypes:
    - j_decompress_ptr
    - JOCTET**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 164
    functionDepth: 5
    functionLinenumber: 164
    functionLinenumberEnd: 248
    functionName: read_icc_profile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/jpgicc/iccjpeg.c
    functionUses: 1
    functionsReached:
    - malloc
    - marker_is_icc
    - GETJOCTET
    linkageType: ''
    returnType: boolean
    signature: "boolean read_icc_profile (j_decompress_ptr cinfo,\n\t\t  JOCTET **icc_data_ptr,\n\t\t
      \ unsigned int *icc_data_len)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:47,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:69,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:81,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:83,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:90,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:91,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:97,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 100
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c
    functionUses: 4
    functionsReached:
    - atoi
    - xgetopt
    - FatalError
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:105,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:111,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:117,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:119,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:123,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 129
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Help(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:135,1
    - Dst: cmsGetPostScriptCSA
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:141,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:144,1
    - Dst: cmsGetPostScriptCSA
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:150,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:152,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:155,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 132
    functionDepth: 7
    functionLinenumber: 132
    functionLinenumberEnd: 156
    functionName: GenerateCSA
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c
    functionUses: 2
    functionsReached:
    - malloc
    - free
    - fprintf
    - OpenStockProfile
    - cmsGetPostScriptCSA
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void GenerateCSA(cmsContext ContextID)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:162,1
    - Dst: cmsFLAGS_GRIDPOINTS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:178,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:181,1
    - Dst: cmsGetPostScriptCRD
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:184,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:187,1
    - Dst: cmsGetPostScriptCRD
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:189,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:192,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:193,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:194,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - ContextID
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 159
    functionDepth: 7
    functionLinenumber: 159
    functionLinenumberEnd: 195
    functionName: GenerateCRD
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c
    functionUses: 2
    functionsReached:
    - FatalError
    - cmsGetPostScriptCRD
    - malloc
    - free
    - fprintf
    - cmsFLAGS_GRIDPOINTS
    - OpenStockProfile
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void GenerateCRD(cmsContext ContextID)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:204,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:206,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:210,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:213,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:218,1
    - Dst: GenerateCSA
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:221,1
    - Dst: GenerateCRD
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:224,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c:227,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 4
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/psicc/psicc.c
    functionUses: 15
    functionsReached:
    - GenerateCRD
    - Help
    - HandleSwitches
    - GenerateCSA
    - fopen
    - InitUtils
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:62,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:62,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:64,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:64,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:65,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:68,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:69,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:70,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 72
    functionName: ConsoleWarningHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - strcat
    - vsprintf
    - strlen
    - strcpy
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void ConsoleWarningHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:80,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:81,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:81,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:84,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:84,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:86,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:87,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 89
    functionName: ConsoleErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - vsprintf
    - strcpy
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void ConsoleErrorHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:98,1
    - Dst: ConsoleWarningHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:99,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: Warning
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - va_start
    - ConsoleWarningHandler
    - va_end
    linkageType: ''
    returnType: void
    signature: void Warning(const char *frm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: OutOfMem
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - FatalError
    linkageType: ''
    returnType: void
    signature: void OutOfMem(cmsUInt32Number size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 126
    functionName: FromLabV2ToLabV4
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FromLabV2ToLabV4(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: FromLabV4ToLabV2
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FromLabV4ToLabV2(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:142,1
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:143,1
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:144,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:148,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 150
    functionName: UnrollTIFFLab8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - FromLabV2ToLabV4
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * UnrollTIFFLab8(cmsContext ContextID, struct _cmstransform_struct*
      CMMcargo,\n                              register cmsUInt16Number wIn[],\n                              register
      cmsUInt8Number* accum,\n                              register cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:161,1
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:162,1
    - Dst: FromLabV2ToLabV4
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:163,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:167,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - wIn
    - accum
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: UnrollTIFFLab16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - FromLabV2ToLabV4
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * UnrollTIFFLab16(cmsContext ContextID, struct _cmstransform_struct*
      CMMcargo,\n                              register cmsUInt16Number wIn[],\n                              register
      cmsUInt8Number* accum,\n                              register cmsUInt32Number
      Stride )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:180,1
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:182,1
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:183,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:190,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 192
    functionName: PackTIFFLab8
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - FromLabV4ToLabV2
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * PackTIFFLab8(cmsContext ContextID, struct _cmstransform_struct*
      CMMcargo,\n                            register cmsUInt16Number wOut[],\n                            register
      cmsUInt8Number* output,\n                            register cmsUInt32Number
      Stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:203,1
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:205,1
    - Dst: FromLabV4ToLabV2
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:206,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:213,1
    - Dst: UTILS_UNUSED_PARAMETER
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - ContextID
    - CMMcargo
    - wOut
    - output
    - Stride
    argTypes:
    - cmsContext
    - struct _cmstransform_struct*
    - cmsUInt16Number[]
    - cmsUInt8Number*
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: PackTIFFLab16
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - UTILS_UNUSED_PARAMETER
    - FromLabV4ToLabV2
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char * PackTIFFLab16(cmsContext ContextID, struct _cmstransform_struct*
      CMMcargo,\n                            register cmsUInt16Number wOut[],\n                            register
      cmsUInt8Number* output,\n                            register cmsUInt32Number
      Stride)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ContextID
    - Type
    - Dir
    - dwFlags
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - cmsFormatterDirection
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: TiffFormatterFactory
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - T_BYTES
    linkageType: ''
    returnType: cmsFormatter
    signature: "cmsFormatter TiffFormatterFactory(cmsContext ContextID, cmsUInt32Number
      Type,\n                                  cmsFormatterDirection Dir,\n                                  cmsUInt32Number
      dwFlags)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:253,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:254,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:257,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:260,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:262,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:263,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:271,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:281,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:311,1
    - Dst: PixelTypeFromChanCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:316,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:320,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:325,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:327,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:344,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:350,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    - Dst: FLAVOR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:358,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 1
    argNames:
    - Bank
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 359
    functionName: GetInputPixelType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 1
    functionsReached:
    - PLANAR_SH
    - TIFFGetField
    - TIFFSetField
    - TIFFGetFieldDefaulted
    - FLAVOR_SH
    - FatalError
    - FLOAT_SH
    - EXTRA_SH
    - COLORSPACE_SH
    - PixelTypeFromChanCount
    - BYTES_SH
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number GetInputPixelType(TIFF *Bank)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:367,1
    - Dst: ChanCountFromPixelType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:368,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:371,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:371,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:371,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:371,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - dwInput
    - OutColorSpace
    - bps
    argTypes:
    - cmsUInt32Number
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: ComputeOutputFormatDescriptor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 1
    functionsReached:
    - PLANAR_SH
    - T_PLANAR
    - FLOAT_SH
    - BYTES_SH
    - COLORSPACE_SH
    - ChanCountFromPixelType
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number ComputeOutputFormatDescriptor(cmsUInt32Number dwInput,
      int OutColorSpace, int bps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:380,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:381,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:383,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:390,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:392,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:393,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:397,1
    - Dst: OutOfMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:398,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:400,1
    - Dst: OutOfMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:401,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:408,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:412,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:416,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:422,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:423,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:429,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:430,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 5
    argNames:
    - ContextID
    - hXForm
    - in
    - out
    - nPlanes
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - TIFF*
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 432
    functionName: TileBasedXform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFFReadEncodedTile
    - TIFFGetFieldDefaulted
    - FatalError
    - TIFFNumberOfTiles
    - cmsDoTransform
    - _TIFFmalloc
    - OutOfMem
    - TIFFWriteEncodedTile
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int TileBasedXform(cmsContext ContextID, cmsHTRANSFORM hXForm, TIFF*
      in, TIFF* out, int nPlanes)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:440,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:441,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:443,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:452,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:454,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:455,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:456,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:462,1
    - Dst: OutOfMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:463,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:465,1
    - Dst: OutOfMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:466,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:473,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:480,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:483,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:489,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:490,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:495,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:496,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - ContextID
    - hXForm
    - in
    - out
    - nPlanes
    argTypes:
    - cmsContext
    - cmsHTRANSFORM
    - TIFF*
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 498
    functionName: StripBasedXform
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - FatalError
    - cmsDoTransform
    - _TIFFmalloc
    - OutOfMem
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int StripBasedXform(cmsContext ContextID, cmsHTRANSFORM hXForm, TIFF*
      in, TIFF* out, int nPlanes)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ChanCountFromPixelType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:506,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:525,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:526,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:527,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:531,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:532,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:533,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:537,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:538,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:539,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:540,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:544,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:545,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:546,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:547,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:552,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:554,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:555,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:556,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:576,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:577,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:581,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:582,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:583,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:586,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:587,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:590,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:595,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:599,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 3
    argNames:
    - out
    - Colorspace
    - BytesPerSample
    argTypes:
    - TIFF*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 600
    functionName: WriteOutputTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - ChanCountFromPixelType
    - FatalError
    linkageType: ''
    returnType: void
    signature: void WriteOutputTags(TIFF *out, int Colorspace, int BytesPerSample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:618,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:620,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:621,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:623,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:624,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:626,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:627,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:630,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:632,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:633,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:634,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:635,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:636,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:637,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:638,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:639,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:640,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:641,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:642,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:643,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:644,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:646,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:647,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:649,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:650,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:651,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:652,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:654,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:655,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:656,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 659
    functionName: CopyOtherTags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - CopyField
    - TIFFGetField
    - TIFFSetField
    linkageType: ''
    returnType: void
    signature: void CopyOtherTags(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:672,1
    - Dst: cmsfilelength
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:675,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:678,1
    - Dst: OutOfMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:680,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:684,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:687,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:689,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:692,1
    - Dst: free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - Out
    - ProfileFile
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 664
    functionDepth: 5
    functionLinenumber: 664
    functionLinenumberEnd: 694
    functionName: DoEmbedProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    - fread
    - fopen
    - FatalError
    - malloc
    - free
    - OutOfMem
    - cmsfilelength
    - fclose
    linkageType: ''
    returnType: void
    signature: void DoEmbedProfile(TIFF* Out, const char* ProfileFile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:714,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:716,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:721,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:722,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:723,1
    - Dst: SaveMemoryBlock
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:727,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:734,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:745,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:753,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:758,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:759,1
    - Dst: cmsBuildTabulatedToneCurve16
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:760,1
    - Dst: cmsCreateRGBProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:762,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:765,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:768,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - ContextID
    - in
    argTypes:
    - cmsContext
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 698
    functionDepth: 6
    functionLinenumber: 698
    functionLinenumberEnd: 777
    functionName: GetTIFFProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 0
    functionsReached:
    - SaveMemoryBlock
    - TIFFGetField
    - cmsCreateRGBProfile
    - TIFFGetFieldDefaulted
    - cmsFreeToneCurve
    - cmsBuildTabulatedToneCurve16
    - PrintProfileInformation
    - fprintf
    - fflush
    - cmsOpenProfileFromMem
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE GetTIFFProfile(cmsContext ContextID, TIFF* in)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: cmsSetAdaptationState
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:794,1
    - Dst: DoEmbedProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:797,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:810,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:822,1
    - Dst: GetTIFFProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:826,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:829,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:831,1
    - Dst: OpenStockProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:835,1
    - Dst: GetInputPixelType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:842,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:846,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:846,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:846,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:847,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:851,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:851,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:853,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:853,1
    - Dst: ComputeOutputFormatDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:855,1
    - Dst: WriteOutputTags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:857,1
    - Dst: CopyOtherTags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:858,1
    - Dst: cmsCreateInkLimitingDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:868,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:868,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:879,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:885,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:892,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:893,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:896,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:898,1
    - Dst: T_PLANAR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:903,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:904,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:904,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:910,1
    - Dst: TileBasedXform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:912,1
    - Dst: StripBasedXform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:915,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:919,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:921,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 4
    argNames:
    - ContextID
    - in
    - out
    - cDefInpProf
    argTypes:
    - cmsContext
    - TIFF*
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 781
    functionDepth: 9
    functionLinenumber: 781
    functionLinenumberEnd: 924
    functionName: TransformImage
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 1
    functionsReached:
    - GetTIFFProfile
    - TIFFIsTiled
    - DoEmbedProfile
    - GetInputPixelType
    - T_EXTRA
    - cmsCreateMultiprofileTransform
    - FatalError
    - cmsGetColorSpace
    - cmsCreateInkLimitingDeviceLink
    - _cmsLCMScolorSpace
    - TIFFWriteDirectory
    - CopyOtherTags
    - ComputeOutputFormatDescriptor
    - WriteOutputTags
    - cmsCreateProofingTransform
    - cmsOpenProfileFromFile
    - StripBasedXform
    - OpenStockProfile
    - cmsDeleteTransform
    - T_PLANAR
    - TileBasedXform
    - T_COLORSPACE
    - cmsSetAdaptationState
    - cmsGetPCS
    - T_CHANNELS
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int TransformImage(cmsContext ContextID, TIFF* in, TIFF* out, const
      char *cDefInpProf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:931,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:932,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:939,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:941,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:942,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:943,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:944,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:945,1
    - Dst: PrintRenderingIntents
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:947,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:949,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:950,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:952,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:953,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:955,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:956,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:958,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:959,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:960,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:961,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:964,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:965,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:966,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:968,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:970,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:971,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:972,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:977,1
    - Dst: PrintBuiltins
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:992,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:997,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1006,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1007,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 928
    functionDepth: 4
    functionLinenumber: 928
    functionLinenumberEnd: 1008
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 7
    functionsReached:
    - PrintRenderingIntents
    - PrintBuiltins
    - fprintf
    - fflush
    - exit
    linkageType: ''
    returnType: void
    signature: void Help(int level)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1018,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1033,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1035,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1039,1
    - Dst: Warning
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1042,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1063,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1071,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1079,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1092,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1097,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1107,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1109,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1114,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1116,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1127,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1128,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1134,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 95
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1138
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 5
    functionsReached:
    - xgetopt
    - FatalError
    - Help
    - atof
    - atoi
    - Warning
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1148,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1150,1
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1152,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1154,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1158,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1162,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1163,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1165,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1166,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1168,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1172,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1173,1
    - Dst: TransformImage
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1178,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1184,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1184,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1186,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1187,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c:1189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1143
    functionDepth: 4
    functionLinenumber: 1143
    functionLinenumberEnd: 1192
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tificc.c
    functionUses: 15
    functionsReached:
    - cmsDeleteContext
    - TIFFSetWarningHandler
    - TransformImage
    - cmsCreateContext
    - TIFFReadDirectory
    - FatalError
    - TIFFClose
    - Help
    - cmsPlugin
    - HandleSwitches
    - fprintf
    - TIFFSetErrorHandler
    - fflush
    - InitUtils
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:58,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:58,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:60,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:60,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:61,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:64,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:65,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: ConsoleWarningHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 1
    functionsReached:
    - strcat
    - vsprintf
    - strlen
    - strcpy
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void ConsoleWarningHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:76,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:76,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:78,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:78,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:80,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:81,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: ConsoleErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - strcat
    - vsprintf
    - strlen
    - strcpy
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void ConsoleErrorHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:92,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:94,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:98,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:100,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:102,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:103,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:106,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: Help
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    - fflush
    linkageType: ''
    returnType: void
    signature: void Help()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:119,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:137,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 150
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 6
    functionsReached:
    - Help
    - xgetopt
    - FatalError
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - LPSTAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: ClearStatistics
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ClearStatistics(LPSTAT st)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - st
    - dE
    argTypes:
    - LPSTAT
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: AddOnePixel
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void AddOnePixel(LPSTAT st, double dE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - LPSTAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: Std
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double Std(LPSTAT st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - LPSTAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: Mean
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Mean(LPSTAT st)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:194,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:195,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:198,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:201,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:203,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:204,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:209,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:212,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:223,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:247,1
    - Dst: PixelTypeFromChanCount
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:250,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:254,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:259,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:261,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:274,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:280,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    - Dst: FLAVOR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - Bank
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 288
    functionName: GetInputPixelType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 2
    functionsReached:
    - PLANAR_SH
    - TIFFGetField
    - TIFFSetField
    - TIFFGetFieldDefaulted
    - FLAVOR_SH
    - FatalError
    - EXTRA_SH
    - BYTES_SH
    - COLORSPACE_SH
    - PixelTypeFromChanCount
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number GetInputPixelType(TIFF *Bank)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:302,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:308,1
    - Dst: PrintProfileInformation
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:309,1
    - Dst: GetInputPixelType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:313,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - tiff
    - PtrProfile
    - PtrXform
    argTypes:
    - TIFF*
    - cmsHPROFILE*
    - cmsHTRANSFORM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 8
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: OpenEmbedded
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - PrintProfileInformation
    - fprintf
    - GetInputPixelType
    - cmsCreateTransform
    - cmsOpenProfileFromMem
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number OpenEmbedded(TIFF* tiff, cmsHPROFILE* PtrProfile, cmsHTRANSFORM*
      PtrXform)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_BYTES
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:326,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:326,1
    - Dst: T_EXTRA
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dwFormat
    argTypes:
    - cmsUInt32Number
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: PixelSize
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 24
    functionsReached:
    - T_EXTRA
    - T_CHANNELS
    - T_BYTES
    linkageType: ''
    returnType: size_t
    signature: size_t PixelSize(cmsUInt32Number dwFormat)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:345,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:346,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:347,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:348,1
    - Dst: OpenEmbedded
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:350,1
    - Dst: OpenEmbedded
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:351,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:355,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:355,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:356,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:356,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:360,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:361,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:362,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:364,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:365,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:367,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:368,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:370,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:370,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:377,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:378,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:389,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:391,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:392,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:400,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:401,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:402,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:404,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:404,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:407,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:408,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:409,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:410,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:418,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:419,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:420,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:421,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:423,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:425,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:426,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:427,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:428,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:429,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:433,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:441,1
    - Dst: PixelSize
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:442,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:444,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:445,1
    - Dst: cmsDeltaE
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:447,1
    - Dst: AddOnePixel
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:448,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:453,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:460,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:470,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:471,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:472,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:473,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:474,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:474,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:476,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:477,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 96
    argCount: 3
    argNames:
    - tiff1
    - tiff2
    - diff
    argTypes:
    - TIFF*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 330
    functionDepth: 9
    functionLinenumber: 330
    functionLinenumberEnd: 480
    functionName: CmpImages
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - _TIFFmalloc
    - TIFFWriteScanline
    - TIFFGetField
    - FatalError
    - AddOnePixel
    - cmsDoTransform
    - PixelSize
    - TIFFWriteDirectory
    - TIFFReadScanline
    - TIFFSetField
    - floor
    - sqrt
    - cmsDeleteTransform
    - OpenEmbedded
    - cmsDeltaE
    - fabs
    - _TIFFfree
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int CmpImages(TIFF* tiff1, TIFF* tiff2, TIFF* diff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:489,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:492,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - tif1
    - tiff2
    - tag
    - Val
    - Error
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 498
    functionName: AssureShortTagIs
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - FatalError
    linkageType: ''
    returnType: void
    signature: void AssureShortTagIs(TIFF* tif1, TIFF* tiff2, int tag, int Val, const
      char* Error)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:506,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tif1
    - tif2
    - tag
    argTypes:
    - TIFF*
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: CmpShortTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CmpShortTag(TIFF* tif1, TIFF* tif2, int tag)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:517,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - tif1
    - tif2
    - tag
    argTypes:
    - TIFF*
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 521
    functionName: CmpLongTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CmpLongTag(TIFF* tif1, TIFF* tif2, int tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CmpShortTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:527,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - Error
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 529
    functionName: EqualShortTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - FatalError
    - CmpShortTag
    linkageType: ''
    returnType: void
    signature: void EqualShortTag(TIFF* tif1, TIFF* tif2, int tag, const char* Error)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CmpLongTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:536,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - Error
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 538
    functionName: EqualLongTag
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - CmpLongTag
    - FatalError
    linkageType: ''
    returnType: void
    signature: void EqualLongTag(TIFF* tif1, TIFF* tif2, int tag, const char* Error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:546,1
    - Dst: cmsIT8SetData
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:548,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:549,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:550,1
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:550,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:551,1
    - Dst: Std
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:551,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:552,1
    - Dst: cmsIT8SetDataDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - hIT8
    - Name
    - st
    argTypes:
    - cmsHANDLE
    - char*
    - LPSTAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 542
    functionDepth: 11
    functionLinenumber: 542
    functionLinenumberEnd: 555
    functionName: AddOneCGATSRow
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - Mean
    - cmsIT8SetDataDbl
    - Std
    - cmsIT8SetData
    linkageType: ''
    returnType: void
    signature: void AddOneCGATSRow(cmsHANDLE hIT8, char *Name, LPSTAT st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsIT8Alloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:561,1
    - Dst: cmsIT8SetSheetType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:565,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:568,1
    - Dst: cmsIT8SetComment
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:570,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:572,1
    - Dst: time
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:573,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:574,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:574,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:575,1
    - Dst: cmsIT8SetPropertyStr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:577,1
    - Dst: cmsIT8SetComment
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:579,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:581,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:584,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:585,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:586,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:587,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:588,1
    - Dst: cmsIT8SetDataFormat
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:589,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:595,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:596,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:600,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:601,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:602,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:603,1
    - Dst: cmsIT8SetPropertyDbl
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:608,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:609,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:610,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:611,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:612,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:615,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:619,1
    - Dst: AddOneCGATSRow
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:620,1
    - Dst: cmsIT8SaveToFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:622,1
    - Dst: cmsIT8Free
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:623,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 2
    argNames:
    - TiffName1
    - TiffName2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 558
    functionDepth: 12
    functionLinenumber: 558
    functionLinenumberEnd: 624
    functionName: CreateCGATS
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 0
    functionsReached:
    - cmsIT8SetPropertyDbl
    - sprintf
    - cmsIT8SetComment
    - cmsIT8SaveToFile
    - strlen
    - FatalError
    - strcpy
    - cmsIT8SetSheetType
    - AddOneCGATSRow
    - cmsIT8Free
    - ctime
    - cmsIT8SetDataFormat
    - cmsIT8SetPropertyStr
    - time
    - cmsIT8Alloc
    linkageType: ''
    returnType: void
    signature: void CreateCGATS(const char* TiffName1, const char* TiffName2)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: InitUtils
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:632,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:634,1
    - Dst: Help
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:638,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:641,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:642,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:644,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:645,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:647,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:648,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:652,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:653,1
    - Dst: AssureShortTagIs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:658,1
    - Dst: AssureShortTagIs
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:659,1
    - Dst: EqualLongTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:661,1
    - Dst: EqualLongTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:662,1
    - Dst: EqualShortTag
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:664,1
    - Dst: cmsCreateLab4Profile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:667,1
    - Dst: ClearStatistics
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:669,1
    - Dst: ClearStatistics
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:671,1
    - Dst: CmpImages
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:673,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:674,1
    - Dst: CreateCGATS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:677,1
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:681,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:683,1
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:683,1
    - Dst: Std
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:686,1
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:690,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:692,1
    - Dst: Mean
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:692,1
    - Dst: Std
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:695,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:700,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:701,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:702,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c:703,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 626
    functionDepth: 13
    functionLinenumber: 626
    functionLinenumberEnd: 706
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/tificc/tifdiff.c
    functionUses: 15
    functionsReached:
    - AssureShortTagIs
    - EqualShortTag
    - TIFFSetErrorHandler
    - CreateCGATS
    - TIFFSetWarningHandler
    - CmpImages
    - FatalError
    - TIFFClose
    - Mean
    - InitUtils
    - printf
    - HandleSwitches
    - EqualLongTag
    - cmsCreateLab4Profile
    - Std
    - ClearStatistics
    - Help
    - TIFFOpen
    - cmsCloseProfile
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:73,1
    - Dst: vsprintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:74,1
    - Dst: mexErrMsgTxt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:75,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - frm
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 79
    functionName: FatalError
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 43
    functionsReached:
    - va_start
    - vsprintf
    - va_end
    - mexErrMsgTxt
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool FatalError(const char *frm, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mexErrMsgTxt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - ErrorCode
    - Text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: MatLabErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - mexErrMsgTxt
    linkageType: ''
    returnType: void
    signature: "void MatLabErrorHandler(cmsContext ContextID, cmsUInt32Number ErrorCode,
      \n\t\t\t\t\t\tconst char *Text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: xoptinit
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xoptinit()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:123,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:149,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - argc
    - argv
    - optionS
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 151
    functionName: xgetopt
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 7
    functionsReached:
    - strchr
    - FatalError
    linkageType: ''
    returnType: int
    signature: int xgetopt(int argc, char *argv[], char *optionS)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mxGetClassID
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:160,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - Array
    argTypes:
    - mxArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: SizeOfArrayType
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - mxGetClassID
    - FatalError
    linkageType: ''
    returnType: size_t
    signature: size_t SizeOfArrayType(const mxArray *Array)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mxGetNumberOfDimensions
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:184,1
    - Dst: mxGetDimensions
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:185,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - In
    argTypes:
    - mxArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 197
    functionName: GetNumberOfPixels
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - mxGetNumberOfDimensions
    - FatalError
    - mxGetDimensions
    linkageType: ''
    returnType: size_t
    signature: size_t GetNumberOfPixels(const mxArray* In)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: mxDuplicateArray
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:207,1
    - Dst: mxGetNumberOfDimensions
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:208,1
    - Dst: mxGetDimensions
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:209,1
    - Dst: mxMalloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:219,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:222,1
    - Dst: mxGetClassID
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:225,1
    - Dst: mxSetDimensions
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:242,1
    - Dst: mxFree
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:243,1
    - Dst: mxSetPr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:245,1
    - Dst: mxRealloc
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:245,1
    - Dst: mxGetPr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - In
    - OutputChannels
    argTypes:
    - mxArray*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 251
    functionName: AllocateOutputArray
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - mxDuplicateArray
    - mxMalloc
    - memmove
    - mxGetDimensions
    - mxFree
    - mxGetPr
    - mxGetClassID
    - mxSetPr
    - mxGetNumberOfDimensions
    - mxSetDimensions
    - mxRealloc
    linkageType: ''
    returnType: mxArray
    signature: mxArray * AllocateOutputArray(const mxArray* In, int OutputChannels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:267,1
    - Dst: FLOAT_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ColorSpace
    - Bytes
    argTypes:
    - cmsColorSpaceSignature
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: MakeFormatDescriptor
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - cmsChannelsOf
    - PLANAR_SH
    - FLOAT_SH
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - CHANNELS_SH
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number MakeFormatDescriptor(cmsColorSpaceSignature ColorSpace,
      int Bytes)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreate_sRGBProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:281,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:283,1
    - Dst: cmsCreateLab2ProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:284,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:286,1
    - Dst: cmsCreateLab4ProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:287,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:289,1
    - Dst: cmsCreateLab4ProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:290,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:292,1
    - Dst: cmsWhitePointFromTemp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:296,1
    - Dst: cmsCreateLab4ProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:297,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:300,1
    - Dst: cmsCreateXYZProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:301,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:303,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:305,1
    - Dst: cmsCreateGrayProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:306,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:306,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:307,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:311,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:313,1
    - Dst: cmsCreateGrayProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:314,1
    - Dst: cmsD50_xyY
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:314,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:315,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:319,1
    - Dst: cmsCreate_sRGBProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:320,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:322,1
    - Dst: cmsCreateNULLProfileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:323,1
    - Dst: cmsstrcasecmp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:326,1
    - Dst: cmsBuildGamma
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:328,1
    - Dst: cmsCreateLinearizationDeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:333,1
    - Dst: cmsFreeToneCurve
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:334,1
    - Dst: cmsOpenProfileFromFileTHR
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:339,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - File
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 340
    functionName: OpenProfile
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - cmsBuildGamma
    - cmsD50_xyY
    - cmsCreateLab2ProfileTHR
    - cmsCreateXYZProfileTHR
    - cmsOpenProfileFromFileTHR
    - cmsFreeToneCurve
    - cmsCreateNULLProfileTHR
    - cmsWhitePointFromTemp
    - cmsCreate_sRGBProfileTHR
    - cmsCreateLinearizationDeviceLink
    - cmsCreateLab4ProfileTHR
    - cmsCreateGrayProfileTHR
    - cmsstrcasecmp
    linkageType: ''
    returnType: cmsHPROFILE
    signature: cmsHPROFILE OpenProfile(const char* File)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: GetFlags
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - FatalError
    linkageType: ''
    returnType: cmsUInt32Number
    signature: cmsUInt32Number GetFlags()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OpenProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:382,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:388,1
    - Dst: GetFlags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:389,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:391,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:393,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:395,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:396,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:403,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:405,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:406,1
    - Dst: OpenProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:412,1
    - Dst: OpenProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:413,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:415,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:416,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:418,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:419,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:420,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:436,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:437,1
    - Dst: MakeFormatDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:440,1
    - Dst: MakeFormatDescriptor
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:441,1
    - Dst: GetFlags
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:444,1
    - Dst: OpenProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:448,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:455,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 366
    functionDepth: 9
    functionLinenumber: 366
    functionLinenumberEnd: 461
    functionName: OpenTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 1
    functionsReached:
    - OpenProfile
    - GetFlags
    - cmsChannelsOf
    - cmsDeleteTransform
    - cmsCreateMultiprofileTransform
    - cmsTransform2DeviceLink
    - FatalError
    - cmsGetColorSpace
    - cmsGetDeviceClass
    - cmsGetPCS
    - cmsOpenProfileFromFile
    - MakeFormatDescriptor
    - cmsCreateProofingTransform
    linkageType: ''
    returnType: void
    signature: void OpenTransforms(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mxGetPr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:468,1
    - Dst: mxGetPr
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:469,1
    - Dst: GetNumberOfPixels
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:470,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - In
    - Out
    argTypes:
    - mxArray*
    - mxArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: ApplyTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - cmsDoTransform
    - GetNumberOfPixels
    - mxGetPr
    linkageType: ''
    returnType: void
    signature: void ApplyTransforms(const mxArray *In, mxArray *Out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:482,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:483,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:484,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:485,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 477
    functionDepth: 7
    functionLinenumber: 477
    functionLinenumberEnd: 491
    functionName: CloseTransforms
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 2
    functionsReached:
    - cmsDeleteTransform
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void CloseTransforms(void)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: xoptinit
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:499,1
    - Dst: xgetopt
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:501,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:513,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:515,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:526,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:533,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:539,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:560,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:572,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:581,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 584
    functionName: HandleSwitches
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 7
    functionsReached:
    - atoi
    - xoptinit
    - FatalError
    - xgetopt
    linkageType: ''
    returnType: void
    signature: void HandleSwitches(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:592,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:594,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:596,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:597,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:598,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:599,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:600,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:601,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:602,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:604,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:606,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:607,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:609,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:610,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:612,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:614,1
    - Dst: mexPrintf
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 626
    functionName: PrintHelp
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - mexPrintf
    linkageType: ''
    returnType: void
    signature: void PrintHelp(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PrintHelp
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:647,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:653,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:659,1
    - Dst: mxIsNumeric
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:679,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:680,1
    - Dst: mxIsChar
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:682,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:683,1
    - Dst: mxGetString
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:690,1
    - Dst: FatalError
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:691,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:696,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:698,1
    - Dst: HandleSwitches
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:706,1
    - Dst: SizeOfArrayType
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:709,1
    - Dst: OpenTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:711,1
    - Dst: AllocateOutputArray
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:714,1
    - Dst: ApplyTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:717,1
    - Dst: CloseTransforms
      Src: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c:719,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 4
    argNames:
    - nlhs
    - plhs
    - nrhs
    - prhs
    argTypes:
    - int
    - mxArray*[]
    - int
    - mxArray*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 722
    functionName: mexFunction
    functionSourceFile: /src/libspectre/ghostscript/lcms2mt/utils/matlab/icctrans.c
    functionUses: 0
    functionsReached:
    - PrintHelp
    - SizeOfArrayType
    - mxGetString
    - cmsSetLogErrorHandler
    - FatalError
    - HandleSwitches
    - OpenTransforms
    - strtok
    - AllocateOutputArray
    - CloseTransforms
    - ApplyTransforms
    - mxIsChar
    - mxIsNumeric
    linkageType: ''
    returnType: void
    signature: "void mexFunction(\n\t\t\t\t int nlhs,              // Number of left
      hand side (output) arguments\n\t\t\t\t mxArray *plhs[],       // Array of left
      hand side arguments\n\t\t\t\t int nrhs,              // Number of right hand
      side (input) arguments\n\t\t\t\t const mxArray *prhs[]  // Array of right hand
      side arguments\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - i
    - ','
    - o
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: T1_Add_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Add_Table( p, i, o, l )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: T1_Release_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Release_Table( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: T1_Skip_Spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Skip_Spaces( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: T1_Skip_PS_Token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Skip_PS_Token( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: T1_ToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToInt( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - b
    - ','
    - m
    - ','
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: T1_ToBytes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToBytes( p, b, m, n, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - m
    - ','
    - f
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: T1_ToFixedArray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToFixedArray( p, m, f, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: T1_ToToken
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToToken( p, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - ','
    - m
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: T1_Load_Field
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Load_Field( p, f, o, m, pf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - ','
    - m
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: T1_Load_Field_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Load_Field_Table( p, f, o, m, pf )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PSAux_Service::ps_parser_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:145,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:166,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:167,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:170,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:172,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:173,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:176,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:178,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:194,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:200,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:201,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:213,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - parser
    - stream
    - memory
    - psaux
    argTypes:
    - T42_Parser
    - FT_Stream
    - FT_Memory
    - PSAux_Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 216
    functionName: t42_parser_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_STREAM_READ
    - FT_ALLOC
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - FT_THROW
    - ft_memcmp
    - FT_FREE
    - FT_TRACE2
    - PSAux_Service::ps_parser_funcs::init
    linkageType: ''
    returnType: void
    signature: "void t42_parser_init( T42_Parser     parser,\n                   FT_Stream
      \     stream,\n                   FT_Memory      memory,\n                   PSAux_Service
      \ psaux )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:227,1
    - Dst: T42_Parser::root::funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - T42_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 231
    functionName: t42_parser_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - T42_Parser::root::funcs::done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void t42_parser_done( T42_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: t42_is_space
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t42_is_space( FT_Byte  c )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToFixedArray
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:255,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:259,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:263,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:267,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:268,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:275,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:276,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:277,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:278,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:279,1
    - Dst: FT_Matrix_Check
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:288,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:290,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T42_Face
    - T42_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 298
    functionName: t42_parse_font_matrix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - T1_ToFixedArray
    - FT_ABS
    - FT_THROW
    - FT_Matrix_Check
    - FT_DivFix
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t42_parse_font_matrix( T42_Face    face,\n                         T42_Loader
      \ loader )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:312,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:316,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:317,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:323,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:341,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:347,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:348,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:352,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:359,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:360,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:361,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:366,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:367,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:368,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:368,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:377,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:400,1
    - Dst: t42_is_space
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:411,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:413,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:420,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:426,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:435,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:436,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:441,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:456,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:464,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:482,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:488,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:493,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:505,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:509,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:513,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:517,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T42_Face
    - T42_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 519
    functionName: t42_parse_encoding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - T1_Release_Table
    - FT_ERR
    - t42_is_space
    - FT_TRACE6
    - T1_Add_Table
    - T1_ToInt
    - T1_Skip_PS_Token
    - ft_strncmp
    - ft_isdigit
    - FT_THROW
    - PSAux_Service::ps_table_funcs::init
    - FT_FREE
    - FT_SET_ERROR
    - T1_Skip_Spaces
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t42_parse_encoding( T42_Face    face,\n                      T42_Loader
      \ loader )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:564,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:568,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:569,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:573,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:596,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:598,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:602,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:610,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:611,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:614,1
    - Dst: T1_ToBytes
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:620,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:625,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:632,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:634,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:638,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:641,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:642,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:648,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:656,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:657,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:666,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:667,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:678,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:679,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:707,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:708,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:712,1
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:735,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:739,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:741,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:751,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:761,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:762,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:769,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:773,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:780,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 149
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T42_Face
    - T42_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 781
    functionName: t42_parse_sfnts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - T1_Skip_PS_Token
    - T1_ToInt
    - ft_isdigit
    - FT_THROW
    - T1_ToBytes
    - FT_FREE
    - FT_PEEK_ULONG
    - T1_Skip_Spaces
    - FT_REALLOC
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t42_parse_sfnts( T42_Face    face,\n                   T42_Loader
      \ loader )"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:804,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:808,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:809,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:813,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:815,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:820,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:821,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:828,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:843,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:846,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:859,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:862,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:867,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:868,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:874,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:875,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:884,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:886,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:890,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:896,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:905,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:921,1
    - Dst: t42_is_space
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:932,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:937,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:940,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:941,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:950,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:955,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:956,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:965,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:974,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:981,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:984,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:988,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:991,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:992,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:998,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1014,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1015,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1020,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1029,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1036,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1043,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1050,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1056,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1062,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1068,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1074,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 178
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T42_Face
    - T42_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 784
    functionDepth: 1
    functionLinenumber: 784
    functionLinenumberEnd: 1086
    functionName: t42_parse_charstrings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - t42_is_space
    - ft_strcmp
    - T1_ToInt
    - T1_Skip_PS_Token
    - FT_BOOL
    - ft_isdigit
    - FT_THROW
    - PSAux_Service::ps_table_funcs::init
    - T1_Add_Table
    - FT_TRACE0
    - T1_Skip_Spaces
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t42_parse_charstrings( T42_Face    face,\n                         T42_Loader
      \ loader )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T1_Field::reader
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1103,1
    - Dst: T1_Load_Field_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1133,1
    - Dst: T1_Load_Field
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1136,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - face
    - loader
    - field
    argTypes:
    - T42_Face
    - T42_Loader
    - T1_Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1141
    functionName: t42_load_keyword
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - T1_Load_Field_Table
    - T1_Load_Field
    - T1_Field::reader
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t42_load_keyword( T42_Face    face,\n                    T42_Loader
      \ loader,\n                    T1_Field    field )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1162,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1173,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1179,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1180,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1187,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1190,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1193,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1203,1
    - Dst: T1_ToToken
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1204,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1222,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1246,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1247,1
    - Dst: t42_load_keyword
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1250,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1262,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1267,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 61
    argCount: 4
    argNames:
    - face
    - loader
    - base
    - size
    argTypes:
    - T42_Face
    - T42_Loader
    - FT_Byte*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1272
    functionName: t42_parse_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - ft_strlen
    - ft_strncmp
    - T1_Skip_PS_Token
    - t42_load_keyword
    - ft_memcmp
    - T1_ToToken
    - T1_Skip_Spaces
    linkageType: ''
    returnType: void
    signature: "void t42_parse_dict( T42_Face    face,\n                  T42_Loader
      \ loader,\n                  FT_Byte*    base,\n                  FT_Long     size
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1279,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - loader
    - face
    argTypes:
    - T42_Loader
    - T42_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1289
    functionName: t42_loader_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t42_loader_init( T42_Loader  loader,\n                   T42_Face
      \   face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1299,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1300,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1301,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1302,1
    - Dst: t42_parser_done
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - T42_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1306
    functionName: t42_loader_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.c
    functionUses: 0
    functionsReached:
    - T1_Release_Table
    - t42_parser_done
    linkageType: ''
    returnType: void
    signature: void t42_loader_done( T42_Loader  loader )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: t42_loader_init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:43,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:47,1
    - Dst: t42_parser_init
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:56,1
    - Dst: t42_parse_dict
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:63,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:70,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:72,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:82,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:83,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:129,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:136,1
    - Dst: t42_loader_done
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:154,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - face
    argTypes:
    - T42_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 156
    functionName: T42_Open_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - t42_parse_dict
    - ft_strcmp
    - t42_loader_done
    - FT_ALLOC
    - FT_THROW
    - t42_loader_init
    - FT_ERROR
    - t42_parser_init
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error T42_Open_Face( T42_Face  face )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:177,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:178,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:179,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:185,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:188,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:188,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:193,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:194,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:198,1
    - Dst: T42_Open_Face
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:201,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:212,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:213,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:292,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:292,1
    - Dst: FT_Open_Face
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:304,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:304,1
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:311,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:354,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:356,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:357,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:396,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 137
    argCount: 5
    argNames:
    - stream
    - t42face
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 163
    functionDepth: 4
    functionLinenumber: 163
    functionLinenumberEnd: 401
    functionName: T42_Face_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_GLOBAL_SERVICE
    - FT_CMap_New
    - FT_ERR_NEQ
    - FT_Get_Module_Interface
    - FT_Done_Size
    - FT_Open_Face
    - FT_THROW
    - FT_ERROR
    - FT_TRACE2
    - T42_Open_Face
    - FT_FACE_LIBRARY
    - FT_UNUSED
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: "void T42_Face_Init( FT_Stream      stream,\n                 FT_Face
      \       t42face,       /* T42_Face */\n                 FT_Int         face_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:422,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:425,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:426,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:427,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:428,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:429,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:432,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:433,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:434,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:436,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:437,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:439,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:440,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:441,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:443,1
    - Dst: T1_Done_AFM
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:448,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - t42face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 457
    functionName: T42_Face_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Done_Face
    - FT_FREE
    - T1_Done_AFM
    linkageType: ''
    returnType: void
    signature: void T42_Face_Done( FT_Face  t42face )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:482,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:485,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 492
    functionName: T42_Driver_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERROR
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: void T42_Driver_Init( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 499
    functionName: T42_Driver_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void T42_Driver_Done( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_New_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:512,1
    - Dst: FT_Activate_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: T42_Size_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Activate_Size
    - FT_New_Size
    linkageType: ''
    returnType: void
    signature: void T42_Size_Init( FT_Size  size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Activate_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:530,1
    - Dst: FT_Request_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t42size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 537
    functionName: T42_Size_Request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Activate_Size
    - FT_Request_Size
    linkageType: ''
    returnType: void
    signature: "void T42_Size_Request( FT_Size          t42size,      /* T42_Size
      */\n                    FT_Size_Request  req )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Activate_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:549,1
    - Dst: FT_Select_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - t42size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: T42_Size_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Activate_Size
    - FT_Select_Size
    linkageType: ''
    returnType: void
    signature: "void T42_Size_Select( FT_Size   t42size,         /* T42_Size */\n
      \                  FT_ULong  strike_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:569,1
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - t42size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 575
    functionName: T42_Size_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Done_Size
    - FT_List_Find
    linkageType: ''
    returnType: void
    signature: void T42_Size_Done( FT_Size  t42size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_New_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:595,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t42slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 600
    functionName: T42_GlyphSlot_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_New_GlyphSlot
    linkageType: ''
    returnType: void
    signature: void T42_GlyphSlot_Init( FT_GlyphSlot  t42slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t42slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 610
    functionName: T42_GlyphSlot_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_Done_GlyphSlot
    linkageType: ''
    returnType: void
    signature: void T42_GlyphSlot_Done( FT_GlyphSlot  t42slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_glyphslot_free_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:617,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:620,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:621,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 635
    functionName: t42_glyphslot_clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - ft_glyphslot_free_bitmap
    linkageType: ''
    returnType: void
    signature: void t42_glyphslot_clear( FT_GlyphSlot  slot )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:651,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:654,1
    - Dst: t42_glyphslot_clear
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:658,1
    - Dst: FT_Driver_Class::load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 4
    argNames:
    - glyph
    - size
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 686
    functionName: T42_GlyphSlot_Load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.c
    functionUses: 0
    functionsReached:
    - t42_glyphslot_clear
    - ft_strtol
    - FT_Driver_Class::load_glyph
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void T42_GlyphSlot_Load( FT_GlyphSlot  glyph,\n                      FT_Size
      \      size,\n                      FT_UInt       glyph_index,\n                      FT_Int32
      \     load_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 49
    functionName: T42_FaceRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T42_FaceRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 39
    functionName: T42_ParserRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T42_ParserRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: T42_SizeRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42objs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T42_SizeRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_STRCPYN
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - face
    - glyph_index
    - buffer
    - buffer_max
    argTypes:
    - T42_Face
    - FT_UInt
    - FT_Pointer
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: t42_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached:
    - FT_STRCPYN
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t42_get_glyph_name( T42_Face    face,\n                      FT_UInt
      \    glyph_index,\n                      FT_Pointer  buffer,\n                      FT_UInt
      \    buffer_max )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:83,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:84,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - face
    - glyph_name
    argTypes:
    - T42_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: t42_get_name_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached:
    - ft_strtol
    - ft_strcmp
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt t42_get_name_index( T42_Face          face,\n                      const
      FT_String*  glyph_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - T42_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: t42_get_ps_font_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  t42_get_ps_font_name( T42_Face  face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_info
    argTypes:
    - FT_Face
    - PS_FontInfoRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: t42_ps_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t42_ps_get_font_info( FT_Face          face,\n                        PS_FontInfoRec*
      \ afont_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_extra
    argTypes:
    - FT_Face
    - PS_FontExtraRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: t42_ps_get_font_extra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t42_ps_get_font_extra( FT_Face           face,\n                         PS_FontExtraRec*
      \ afont_extra )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: t42_ps_has_glyph_names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Int
    signature: FT_Int t42_ps_has_glyph_names( FT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_private
    argTypes:
    - FT_Face
    - PS_PrivateRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: t42_ps_get_font_private
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t42_ps_get_font_private( FT_Face         face,\n                           PS_PrivateRec*
      \ afont_private )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:194,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - t42_interface
    argTypes:
    - FT_Module
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: T42_Get_Interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type42/t42drivr.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void T42_Get_Interface( FT_Module         module,\n                     const
      FT_String*  t42_interface )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:45,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: panic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void panic( const char*  message )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:88,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:97,1
    - Dst: panic
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:100,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:105,1
    - Dst: panic
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:107,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:109,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 2
    argNames:
    - name
    - end
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 63
    functionDepth: 5
    functionLinenumber: 63
    functionLinenumberEnd: 111
    functionName: names_add
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    - panic
    - memcmp
    - realloc
    linkageType: ''
    returnType: void
    signature: "void names_add( const char*  name,\n           const char*  end )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 122
    functionName: name_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int name_compare( const void*  name1,\n              const void*  name2
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: names_sort
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: void
    signature: void names_sort( void )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:145,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:148,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:157,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:159,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:160,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:163,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:175,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:177,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:181,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:197,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:208,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:209,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:214,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:219,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:225,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - out
    - format
    - dll_name
    argTypes:
    - FILE*
    - OutputFormat
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 229
    functionName: names_dump
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - strchr
    - fprintf
    - exit
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void names_dump( FILE*         out,\n            OutputFormat  format,\n
      \           const char*   dll_name )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:250,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:255,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:271,1
    - Dst: isalpha
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:298,1
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:308,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:314,1
    - Dst: names_add
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:316,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 48
    argCount: 2
    argNames:
    - file
    - verbose
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 333
    functionName: read_header_file
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 0
    functionsReached:
    - feof
    - fprintf
    - memcmp
    - isalpha
    - isalnum
    - fgets
    - names_add
    linkageType: ''
    returnType: int
    signature: "int read_header_file( FILE*  file,\n                  int    verbose
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:359,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 366
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 13
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage( void )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:381,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:400,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:409,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:412,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:413,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:422,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:460,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:471,1
    - Dst: read_header_file
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:480,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:485,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:489,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:493,1
    - Dst: read_header_file
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:495,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:496,1
    - Dst: panic
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:502,1
    - Dst: names_sort
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:504,1
    - Dst: names_dump
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:505,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/apinames.c:508,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 369
    functionDepth: 7
    functionLinenumber: 369
    functionLinenumberEnd: 511
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/apinames.c
    functionUses: 15
    functionsReached:
    - read_header_file
    - usage
    - names_sort
    - names_dump
    - fprintf
    - panic
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: "int main( int                 argc,\n      const char* const*  argv
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:29,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:30,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:33,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 17
    functionDepth: 1
    functionLinenumber: 17
    functionLinenumberEnd: 40
    functionName: test_cos
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - printf
    - FT_Cos
    - abs
    - cos
    linkageType: ''
    returnType: void
    signature: void test_cos( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:55,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:56,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:59,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: test_sin
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - printf
    - sin
    - abs
    - FT_Sin
    linkageType: ''
    returnType: void
    signature: void test_sin( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Tan
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:81,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:82,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:85,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: test_tan
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - abs
    - tan
    - FT_Tan
    - printf
    linkageType: ''
    returnType: void
    signature: void test_tan( void )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:111,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:112,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:117,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:121,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:123,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: test_atan2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - sin
    - printf
    - cos
    - FT_Atan2
    - abs
    linkageType: ''
    returnType: void
    signature: void test_atan2( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Unit
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:143,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:145,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:146,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:150,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:151,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 160
    functionName: test_unit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - FT_Vector_Unit
    - sin
    - printf
    - cos
    - abs
    linkageType: ''
    returnType: void
    signature: void test_unit( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:176,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:177,1
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:178,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:180,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 187
    functionName: test_length
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - FT_Vector_Length
    - sin
    - printf
    - cos
    - abs
    linkageType: ''
    returnType: void
    signature: void test_length( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:203,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:204,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:216,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:217,1
    - Dst: FT_Vector_Rotate
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:222,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:230,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:231,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 241
    functionName: test_rotate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 0
    functionsReached:
    - sin
    - printf
    - cos
    - FT_Vector_Rotate
    - abs
    linkageType: ''
    returnType: void
    signature: void test_rotate( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: test_cos
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:246,1
    - Dst: test_sin
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:247,1
    - Dst: test_tan
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:248,1
    - Dst: test_atan2
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:249,1
    - Dst: test_unit
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:250,1
    - Dst: test_length
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:251,1
    - Dst: test_rotate
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:252,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_trig.c
    functionUses: 15
    functionsReached:
    - printf
    - test_cos
    - test_rotate
    - test_unit
    - test_sin
    - test_tan
    - test_length
    - test_atan2
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:15,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:18,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:22,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:23,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:26,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:29,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:36,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:43,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:46,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:49,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - fi
    argTypes:
    - AFM_FontInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 62
    functionName: dump_fontinfo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_fontinfo( AFM_FontInfo  fi )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - name
    - len
    - user_data
    argTypes:
    - char*
    - FT_Offset
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 73
    functionName: dummy_get_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dummy_get_index( const char*  name,\n                   FT_Offset
      \   len,\n                   void*        user_data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:85,1
    - Dst: FT_Stream_EnterFrame
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:89,1
    - Dst: PSAux_Service::afm_parser_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:93,1
    - Dst: PSAux_Service::afm_parser_funcs::parse
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:103,1
    - Dst: PSAux_Service::afm_parser_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - library
    - stream
    - fi
    argTypes:
    - FT_Library
    - FT_Stream
    - AFM_FontInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 108
    functionName: parse_afm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c
    functionUses: 0
    functionsReached:
    - PSAux_Service::afm_parser_funcs::done
    - FT_Stream_EnterFrame
    - FT_Get_Module_Interface
    - PSAux_Service::afm_parser_funcs::parse
    - PSAux_Service::afm_parser_funcs::init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error parse_afm( FT_Library    library,\n             FT_Stream
      \    stream,\n             AFM_FontInfo  fi )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:121,1
    - Dst: FT_Init_FreeType
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:123,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:127,1
    - Dst: FT_Stream_Open
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:128,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:133,1
    - Dst: parse_afm
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:134,1
    - Dst: dump_fontinfo
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:141,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:144,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:146,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:149,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:151,1
    - Dst: FT_Done_FreeType
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c:154,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 157
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_afm.c
    functionUses: 15
    functionsReached:
    - parse_afm
    - dump_fontinfo
    - printf
    - FT_Init_FreeType
    - FT_ZERO
    - FT_FREE
    - FT_Stream_Open
    - FT_Done_FreeType
    - FT_ERR
    - FT_Stream_Close
    linkageType: ''
    returnType: int
    signature: "int main( int    argc,\n            char** argv )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 19
    functionName: get_time
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 1
    functionsReached:
    - clock
    linkageType: ''
    returnType: long
    signature: long get_time( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: XX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: XVEC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XVEC(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: XVAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XVAL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:117,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:118,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:119,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:120,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:121,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:122,1
    - Dst: FT_Outline_Get_BBox
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:125,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:126,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:127,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:128,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:129,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 131
    functionName: dump_outline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 0
    functionsReached:
    - printf
    - FT_Outline_Get_CBox
    - XVAL
    - FT_Outline_Get_BBox
    linkageType: ''
    returnType: void
    signature: void dump_outline( FT_Outline*  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_time
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:143,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:145,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:147,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:148,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:150,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:151,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:152,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:153,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:154,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:158,1
    - Dst: FT_Outline_Get_BBox
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:160,1
    - Dst: get_time
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:162,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:163,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:165,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:166,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:167,1
    - Dst: XVAL
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:168,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - outline
    - repeat
    argTypes:
    - FT_Outline*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 171
    functionName: profile_outline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 0
    functionsReached:
    - printf
    - FT_Outline_Get_CBox
    - FT_Outline_Get_BBox
    - XVAL
    - get_time
    linkageType: ''
    returnType: void
    signature: "void profile_outline( FT_Outline*   outline,\n                   long
      \         repeat )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:177,1
    - Dst: profile_outline
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:178,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:180,1
    - Dst: profile_outline
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:181,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:183,1
    - Dst: profile_outline
      Src: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 187
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/test_bbox.c
    functionUses: 15
    functionsReached:
    - printf
    - profile_outline
    linkageType: ''
    returnType: int
    signature: int main( int  argc, char**  argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:108,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: FT_MoveTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FT_MoveTo( const FT_Vector  *to,\n             void             *user
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:119,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: FT_LineTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FT_LineTo( const FT_Vector  *to,\n             void             *user
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:131,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:132,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - _cp
    - to
    - user
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: FT_ConicTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FT_ConicTo( const FT_Vector  *_cp,\n              const FT_Vector
      \ *to,\n              void             *user )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:145,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:146,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:147,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - cp1
    - cp2
    - to
    - user
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 151
    functionName: FT_CubicTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FT_CubicTo( const FT_Vector  *cp1,\n              const FT_Vector
      \ *cp2,\n              const FT_Vector  *to,\n              void             *user
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:172,1
    - Dst: FT_Set_Char_Size
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:178,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:183,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:185,1
    - Dst: FT_Outline_Decompose
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:186,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:189,1
    - Dst: FT_Render_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:192,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 196
    functionName: TestFace
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Decompose
    - FT_Load_Glyph
    - FT_Done_Face
    - FT_Render_Glyph
    - FT_Set_Char_Size
    - FT_IS_SCALABLE
    linkageType: ''
    returnType: void
    signature: void TestFace( FT_Face  face )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Init_FreeType
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:206,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:208,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:209,1
    - Dst: FT_New_Face
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:212,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:215,1
    - Dst: TestFace
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:219,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:226,1
    - Dst: FT_New_Face
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:230,1
    - Dst: TestFace
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:231,1
    - Dst: FT_Done_FreeType
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:235,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:237,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - testfont
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 238
    functionName: ExecuteTest
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - FT_Done_Face
    - FT_Init_FreeType
    - fprintf
    - FT_Done_FreeType
    - exit
    - TestFace
    - FT_New_Face
    linkageType: ''
    returnType: void
    signature: void ExecuteTest( char*  testfont )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:252,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:255,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:259,1
    - Dst: strcasecmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:260,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - extensions
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 264
    functionName: extmatch
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - strrchr
    linkageType: ''
    returnType: int
    signature: "int extmatch( char*   filename,\n            char**  extensions )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:275,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:279,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:280,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:281,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:282,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:285,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:303,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:332,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:340,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 35
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct fontlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 344
    functionName: figurefiletype
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - strstr
    - fprintf
    - fopen
    - getc
    - fclose
    linkageType: ''
    returnType: void
    signature: void figurefiletype( struct fontlist*  item )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:369,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:372,1
    - Dst: readdir
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:375,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:377,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:379,1
    - Dst: S_ISDIR
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:379,1
    - Dst: extmatch
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:381,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:386,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:389,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:390,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:394,1
    - Dst: figurefiletype
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:397,1
    - Dst: closedir
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:402,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:407,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - fontdirs
    - extensions
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 412
    functionName: FindFonts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - extmatch
    - strdup
    - realloc
    - readdir
    - opendir
    - stat
    - closedir
    - fprintf
    - S_ISDIR
    - snprintf
    - figurefiletype
    - exit
    linkageType: ''
    returnType: void
    signature: "void FindFonts( char**  fontdirs,\n             char**  extensions
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - item
    argTypes:
    - struct fontlist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 422
    functionName: getErrorCnt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getErrorCnt( struct fontlist*  item )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: random
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:430,1
    - Dst: random
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - low
    - high
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 433
    functionName: getRandom
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - random
    linkageType: ''
    returnType: int
    signature: "int getRandom( int  low,\n             int  high )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:446,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:449,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:453,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:456,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:458,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:461,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:462,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:464,1
    - Dst: getErrorCnt
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:466,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:469,1
    - Dst: getRandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:469,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:472,1
    - Dst: getRandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:472,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:474,1
    - Dst: getRandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:474,1
    - Dst: getRandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:477,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:485,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:489,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:491,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:492,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:496,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - item
    - newfont
    argTypes:
    - struct fontlist*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 499
    functionName: copyfont
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - ferror
    - fread
    - getErrorCnt
    - unlink
    - fprintf
    - fseek
    - putc
    - fwrite
    - fopen
    - getRandom
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: "int copyfont( struct fontlist*  item,\n            char*             newfont
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:507,1
    - Dst: kill
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:510,1
    - Dst: write
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 512
    functionName: abort_test
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 0
    functionsReached:
    - write
    - kill
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void abort_test( int  sig )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getRandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:518,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:523,1
    - Dst: copyfont
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:525,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:527,1
    - Dst: alarm
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:530,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:531,1
    - Dst: ExecuteTest
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:532,1
    - Dst: waitpid
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:538,1
    - Dst: alarm
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:539,1
    - Dst: WIFSIGNALED
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:540,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:541,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:543,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:547,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:548,1
    - Dst: alarm
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:550,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 552
    functionName: do_test
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 1
    functionsReached:
    - signal
    - sprintf
    - copyfont
    - waitpid
    - printf
    - fork
    - unlink
    - ExecuteTest
    - WIFSIGNALED
    - fprintf
    - getRandom
    - exit
    - alarm
    linkageType: ''
    returnType: void
    signature: void do_test( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:563,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:566,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:567,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:568,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:570,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:572,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:574,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:575,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:576,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:577,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:578,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:580,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:581,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:582,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:584,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:585,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:587,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:588,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:590,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:591,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:593,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:594,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - out
    - name
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 595
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 14
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void usage( FILE*  out,\n         char*  name )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:609,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:610,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:621,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:623,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:625,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:627,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:632,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:635,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:636,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:639,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:644,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:647,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:652,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:653,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:656,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:658,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:660,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:661,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:663,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:665,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:667,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:669,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:671,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:674,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:675,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:678,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:682,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:683,1
    - Dst: free
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:689,1
    - Dst: free
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:694,1
    - Dst: free
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:700,1
    - Dst: ExecuteTest
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:705,1
    - Dst: time
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:707,1
    - Dst: srandom
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:708,1
    - Dst: FindFonts
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:710,1
    - Dst: mkdir
      Src: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c:711,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 717
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/tools/ftrandom/ftrandom.c
    functionUses: 15
    functionsReached:
    - usage
    - strtoul
    - strcmp
    - srandom
    - ExecuteTest
    - FindFonts
    - free
    - fprintf
    - mkdir
    - calloc
    - exit
    - time
    - strtod
    linkageType: ''
    returnType: int
    signature: "int main( int     argc,\n        char**  argv )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: farmalloc
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:92,1
    - Dst: farmalloc
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 105
    functionName: zcalloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c
    functionUses: 0
    functionsReached:
    - farmalloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: farfree
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:111,1
    - Dst: farfree
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:118,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:126,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: zcfree
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c
    functionUses: 0
    functionsReached:
    - Assert
    - farfree
    linkageType: ''
    returnType: void
    signature: void zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _halloc
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: zcalloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c
    functionUses: 0
    functionsReached:
    - _halloc
    linkageType: ''
    returnType: voidpf
    signature: voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _hfree
      Src: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: zcfree
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.c
    functionUses: 0
    functionsReached:
    - _hfree
    linkageType: ''
    returnType: void
    signature: void zcfree (voidpf opaque, voidpf ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: OF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: OF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OF(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: ZEXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: ZEXPORTVA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORTVA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: ZEXPORTVA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORTVA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: ZEXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: ZEXPORTRVA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORTRVA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: ZEXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: ZEXPORTVA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORTVA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: ZEXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: ZEXPORTVA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXPORTVA(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: ZEXTERN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXTERN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: ZEXTERNDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftzconf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEXTERNDEF(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 817
    functionName: deflateInit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zlib.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit(strm, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - strm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 817
    functionDepth: 0
    functionLinenumber: 817
    functionLinenumberEnd: 819
    functionName: inflateInit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zlib.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit(strm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - strm
    - ','
    - level
    - ','
    - method
    - ','
    - windowBits
    - ','
    - memLevel
    - ','
    - strategy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 822
    functionName: deflateInit2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zlib.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deflateInit2(strm, level, method, windowBits, memLevel, strategy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - windowBits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 824
    functionName: inflateInit2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zlib.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inflateInit2(strm, windowBits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:75,1
    - Dst: inflate_codes_free
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:77,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - s
    - z
    - c
    argTypes:
    - inflate_blocks_statef*
    - z_streamp
    - uLongf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: inflate_blocks_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c
    functionUses: 0
    functionsReached:
    - inflate_codes_free
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: local
    signature: 'local inflate_blocks_reset( /* s, z, c) */

      inflate_blocks_statef *s,

      z_streamp z,

      uLongf *c )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:95,1
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:99,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:101,1
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:104,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:106,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:107,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:113,1
    - Dst: inflate_blocks_reset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: 'inflate_blocks_statef *inflate_blocks_new( /* z, c, w) */

      z_streamp z,

      check_func c,

      uInt w )'
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infblock.c
    functionUses: 0
    functionsReached:
    - inflate_blocks_reset
    - ZFREE
    - Tracev
    - ZALLOC
    linkageType: ''
    returnType: local
    signature: 'local inflate_blocks_statef *inflate_blocks_new( /* z, c, w) */

      z_streamp z,

      check_func c,

      uInt w )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: ERR_RETURN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ERR_RETURN(strm,err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: F_OPEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(fd,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: F_OPEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F_OPEN(name, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: zstrerror
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror(errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - errnum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: zstrerror
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zstrerror(errnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: zmemzero
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: zmemzero
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zmemzero(dest, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - strm
    - ','
    - items
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: ZALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZALLOC(strm, items, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - strm
    - ','
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: ZFREE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZFREE(strm, addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: TRY_FREE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/zutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRY_FREE(s, p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: zmemcpy
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infutil.c:49,1
    - Dst: zmemcpy
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infutil.c:75,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - s
    - z
    - r
    argTypes:
    - inflate_blocks_statef*
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 86
    functionName: inflate_flush
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infutil.c
    functionUses: 0
    functionsReached:
    - zmemcpy
    linkageType: ''
    returnType: local
    signature: 'local inflate_flush( /* s, z, r) */

      inflate_blocks_statef *s,

      z_streamp z,

      int r )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflate_blocks_reset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:62,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - z
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 65
    functionName: inflateReset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c
    functionUses: 4
    functionsReached:
    - inflate_blocks_reset
    - Tracev
    linkageType: ''
    returnType: void
    signature: 'void inflateReset( /* z) */

      z_streamp z )'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inflate_blocks_free
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:74,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:75,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - z
    argTypes:
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: inflateEnd
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c
    functionUses: 18
    functionsReached:
    - inflate_blocks_free
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: void
    signature: 'void inflateEnd( /* z) */

      z_streamp z )'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:103,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:118,1
    - Dst: inflate_blocks_new
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:125,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:128,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:131,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:134,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - z
    - w
    - version
    - stream_size
    argTypes:
    - z_streamp
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 136
    functionName: inflateInit2_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c
    functionUses: 0
    functionsReached:
    - inflate_blocks_new
    - inflateReset
    - ZALLOC
    - Tracev
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: 'void inflateInit2_( /* z, w, version, stream_size) */

      z_streamp z,

      int w,

      const char *version,

      int stream_size )'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:188,1
    - Dst: inflate_blocks
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:223,1
    - Dst: inflate_blocks_reset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:235,1
    - Dst: NEXTBYTE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:260,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c:269,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 2
    argNames:
    - z
    - f
    argTypes:
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 282
    functionName: inflate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inflate.c
    functionUses: 16
    functionsReached:
    - NEXTBYTE
    - inflate_blocks_reset
    - Tracev
    - inflate_blocks
    linkageType: ''
    returnType: void
    signature: 'void inflate( /* z, f) */

      z_streamp z,

      int f )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 15
    functionName: DO1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO1(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 16
    functionName: DO2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO2(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 17
    functionName: DO4
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO4(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 17
    functionDepth: 0
    functionLinenumber: 17
    functionLinenumberEnd: 18
    functionName: DO8
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO8(buf,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: DO16
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO16(buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DO16
      Src: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c:36,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - adler
    - buf
    - len
    argTypes:
    - uLong
    - Bytef*
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 48
    functionName: adler32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/adler32.c
    functionUses: 2
    functionsReached:
    - DO16
    linkageType: ''
    returnType: void
    signature: "void adler32( /* adler, buf, len) */\n    uLong adler,\n    const
      Bytef *buf,\n    uInt len )"
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 110
    argCount: 10
    argNames:
    - b
    - n
    - s
    - d
    - e
    - t
    - m
    - hp
    - hn
    - v
    argTypes:
    - uIntf*
    - uInt
    - uInt
    - uIntf*
    - uIntf*
    - inflate_huft**
    - uIntf*
    - inflate_huft*
    - uInt*
    - uIntf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 296
    functionName: huft_build
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: local
    signature: "local huft_build( /* b, n, s, d, e, t, m, hp, hn, v) */\nuIntf *b,
      \              /* code lengths in bits (all assumed <= BMAX) */\nuInt n,                 /*
      number of codes (assumed <= 288) */\nuInt s,                 /* number of simple-valued
      codes (0..s-1) */\nconst uIntf *d,         /* list of base values for non-simple
      codes */\nconst uIntf *e,         /* list of extra bits for non-simple codes
      */\ninflate_huft * FAR *t,  /* result: starting table */\nuIntf *m,               /*
      maximum lookup bits, returns actual */\ninflate_huft *hp,       /* space for
      trees */\nuInt *hn,               /* hufts used in space */\nuIntf *v                /*
      working area: values in order of bit length */\n/* Given a list of code lengths
      and a maximum table size, make a set of\n   tables to decode that set of codes.
      \ Return Z_OK on success, Z_BUF_ERROR\n   if the given code set is incomplete
      (the tables are still built in this\n   case), or Z_DATA_ERROR if the input
      is invalid. */\n)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:344,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:348,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:358,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:363,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:384,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:390,1
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:427,1
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:429,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:431,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:445,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:452,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:456,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:457,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:461,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 9
    argNames:
    - nl
    - nd
    - c
    - bl
    - bd
    - tl
    - td
    - hp
    - z
    argTypes:
    - uInt
    - uInt
    - uIntf*
    - uIntf*
    - uIntf*
    - inflate_huft**
    - inflate_huft**
    - inflate_huft*
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 468
    functionName: inflate_trees_dynamic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c
    functionUses: 0
    functionsReached:
    - huft_build
    - ZFREE
    - FT_UNUSED
    - ZALLOC
    linkageType: ''
    returnType: local
    signature: 'local inflate_trees_dynamic( /* nl, nd, c, bl, bd, tl, td, hp, z)
      */

      uInt nl,                /* number of literal/length codes */

      uInt nd,                /* number of distance codes */

      uIntf *c,               /* that many (total) code lengths */

      uIntf *bl,              /* literal desired/actual bit depth */

      uIntf *bd,              /* distance desired/actual bit depth */

      inflate_huft * FAR *tl, /* literal/length tree result */

      inflate_huft * FAR *td, /* distance tree result */

      inflate_huft *hp,       /* space for trees */

      z_streamp z             /* for messages */

      )'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:427,1
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:429,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:431,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:445,1
    - Dst: huft_build
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:452,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:456,1
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:457,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c:461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 5
    argNames:
    - bl
    - bd
    - tl
    - td
    - z
    argTypes:
    - uIntf*
    - uIntf*
    - inflate_huft**
    - inflate_huft**
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 468
    functionName: inflate_trees_fixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/inftrees.c
    functionUses: 0
    functionsReached:
    - huft_build
    - ZFREE
    - FT_UNUSED
    - ZALLOC
    linkageType: ''
    returnType: local
    signature: 'local inflate_trees_fixed( /* bl, bd, tl, td, z) */

      uIntf *bl,                      /* literal desired/actual bit depth */

      uIntf *bd,                      /* distance desired/actual bit depth */

      const inflate_huft * FAR *tl,   /* literal/length tree result */

      const inflate_huft * FAR *td,   /* distance tree result */

      z_streamp z                     /* for memory allocation */

      )'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: NEEDBITS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEEDBITS(j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: DUMPBITS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUMPBITS(j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: OUTBYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infutil.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUTBYTE(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - memory
    - items
    - size
    argTypes:
    - FT_Memory
    - uInt
    - uInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 136
    functionName: ft_gzip_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    linkageType: ''
    returnType: voidpf
    signature: "voidpf ft_gzip_alloc( FT_Memory  memory,\n                 uInt       items,\n
      \                uInt       size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - address
    argTypes:
    - FT_Memory
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: ft_gzip_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_MEM_FREE
    linkageType: ''
    returnType: void
    signature: "void ft_gzip_free( FT_Memory  memory,\n                voidpf     address
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_alloc
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - items
    - size
    argTypes:
    - voidpf
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: zcalloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_alloc
    linkageType: ''
    returnType: local
    signature: "local zcalloc ( voidpf    opaque,\n            unsigned  items,\n
      \           unsigned  size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_free
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - voidpf
    - voidpf
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: zcfree
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_free
    linkageType: ''
    returnType: local
    signature: "local zcfree( voidpf  opaque,\n          voidpf  ptr )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:212,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:213,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:223,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:228,1
    - Dst: FT_READ_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:236,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:237,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:248,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:262,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:271,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 38
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 276
    functionName: ft_gzip_check_header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_READ_BYTE
    - FT_STREAM_READ
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_READ_USHORT_LE
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_gzip_check_header( FT_Stream  stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_check_header
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:300,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:304,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:315,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:317,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - zip
    - stream
    - source
    argTypes:
    - FT_GZipFile
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 321
    functionName: ft_gzip_file_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - inflateInit2
    - ft_gzip_check_header
    - FT_STREAM_POS
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_gzip_file_init( FT_GZipFile  zip,\n                     FT_Stream
      \   stream,\n                     FT_Stream    source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_GZipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 344
    functionName: ft_gzip_file_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void ft_gzip_file_done( FT_GZipFile  zip )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:354,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_GZipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 372
    functionName: ft_gzip_file_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_SEEK
    - inflateReset
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_gzip_file_reset( FT_GZipFile  zip )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:385,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:390,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:402,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_GZipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 413
    functionName: ft_gzip_file_fill_input
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Stream::read
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_gzip_file_fill_input( FT_GZipFile  zip )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_file_fill_input
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:434,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:445,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_GZipFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 457
    functionName: ft_gzip_file_fill_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - inflate
    - ft_gzip_file_fill_input
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_gzip_file_fill_output( FT_GZipFile  zip )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_file_fill_output
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - zip
    - count
    argTypes:
    - FT_GZipFile
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 461
    functionDepth: 4
    functionLinenumber: 461
    functionLinenumberEnd: 488
    functionName: ft_gzip_file_skip_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_file_fill_output
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_gzip_file_skip_output( FT_GZipFile  zip,\n                            FT_ULong
      \    count )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_file_reset
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:505,1
    - Dst: ft_gzip_file_skip_output
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:513,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:531,1
    - Dst: ft_gzip_file_fill_output
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:541,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - zip
    - pos
    - buffer
    - count
    argTypes:
    - FT_GZipFile
    - FT_ULong
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 548
    functionName: ft_gzip_file_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_file_skip_output
    - ft_gzip_file_reset
    - ft_gzip_file_fill_output
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong ft_gzip_file_io( FT_GZipFile  zip,\n                   FT_ULong
      \    pos,\n                   FT_Byte*     buffer,\n                   FT_ULong
      \    count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_file_done
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:569,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:571,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:577,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 559
    functionDepth: 3
    functionLinenumber: 559
    functionLinenumberEnd: 578
    functionName: ft_gzip_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - ft_gzip_file_done
    linkageType: ''
    returnType: void
    signature: void ft_gzip_stream_close( FT_Stream  stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_gzip_file_io
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - offset
    - buffer
    - count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 6
    functionLinenumber: 581
    functionLinenumberEnd: 591
    functionName: ft_gzip_stream_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_file_io
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ft_gzip_stream_io( FT_Stream       stream,\n                     unsigned
      long   offset,\n                     unsigned char*  buffer,\n                     unsigned
      long   count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:603,1
    - Dst: FT_Stream_ReadULongLE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:605,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 613
    functionName: ft_gzip_get_uncompressed_size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_Stream_Seek
    - FT_Stream_ReadULongLE
    linkageType: ''
    returnType: FT_ULong
    signature: FT_ULong ft_gzip_get_uncompressed_size( FT_Stream  stream )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:629,1
    - Dst: ft_gzip_check_header
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:639,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:643,1
    - Dst: FT_QNEW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:646,1
    - Dst: ft_gzip_file_init
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:648,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:651,1
    - Dst: ft_gzip_get_uncompressed_size
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:667,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:675,1
    - Dst: ft_gzip_file_io
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:680,1
    - Dst: ft_gzip_file_done
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:683,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:684,1
    - Dst: ft_gzip_file_io
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:697,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:698,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 619
    functionDepth: 6
    functionLinenumber: 619
    functionLinenumberEnd: 716
    functionName: FT_Stream_OpenGzip
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - ft_gzip_file_io
    - ft_gzip_file_init
    - FT_ALLOC
    - ft_gzip_file_done
    - FT_THROW
    - FT_ZERO
    - FT_FREE
    - ft_gzip_get_uncompressed_size
    - ft_gzip_check_header
    - FT_QNEW
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenGzip( FT_Stream  stream,\n                      FT_Stream
      \ source )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:735,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:749,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:751,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:753,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:756,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:764,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:768,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:771,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:774,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - memory
    - output
    - output_len
    - input
    - input_len
    argTypes:
    - FT_Memory
    - FT_Byte*
    - FT_ULong*
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 777
    functionName: FT_Gzip_Uncompress
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - inflate
    - inflateInit2
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: "void FT_Gzip_Uncompress( FT_Memory       memory,\n                      FT_Byte*
      \       output,\n                      FT_ULong*       output_len,\n                      const
      FT_Byte*  input,\n                      FT_ULong        input_len )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:786,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:787,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 790
    functionName: FT_Stream_OpenGzip
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenGzip( FT_Stream  stream,\n                      FT_Stream
      \ source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:800,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:801,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:802,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:803,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:804,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - memory
    - output
    - output_len
    - input
    - input_len
    argTypes:
    - FT_Memory
    - FT_Byte*
    - FT_ULong*
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 807
    functionName: FT_Gzip_Uncompress
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/ftgzip.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Gzip_Uncompress( FT_Memory       memory,\n                      FT_Byte*
      \       output,\n                      FT_ULong*       output_len,\n                      const
      FT_Byte*  input,\n                      FT_ULong        input_len )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ZALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:67,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 77
    functionName: 'inflate_codes_statef *inflate_codes_new( /* bl, bd, tl, td, z)
      */

      uInt bl, uInt bd,

      inflate_huft *tl,

      inflate_huft *td, /* need separate declaration for Borland C++ */

      z_streamp z )'
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c
    functionUses: 0
    functionsReached:
    - Tracev
    - ZALLOC
    linkageType: ''
    returnType: local
    signature: 'local inflate_codes_statef *inflate_codes_new( /* bl, bd, tl, td,
      z) */

      uInt bl, uInt bd,

      inflate_huft *tl,

      inflate_huft *td, /* need separate declaration for Borland C++ */

      z_streamp z )'
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: inflate_fast
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:108,1
    - Dst: NEEDBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:123,1
    - Dst: DUMPBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:125,1
    - Dst: Tracevv
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:130,1
    - Dst: Tracevv
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:151,1
    - Dst: NEEDBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:161,1
    - Dst: DUMPBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:163,1
    - Dst: Tracevv
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:166,1
    - Dst: NEEDBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:171,1
    - Dst: DUMPBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:173,1
    - Dst: NEEDBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:194,1
    - Dst: DUMPBITS
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:196,1
    - Dst: Tracevv
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:197,1
    - Dst: Assert
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:222,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 3
    argNames:
    - s
    - z
    - r
    argTypes:
    - inflate_blocks_statef*
    - z_streamp
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 245
    functionName: inflate_codes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c
    functionUses: 0
    functionsReached:
    - Tracevv
    - DUMPBITS
    - inflate_fast
    - NEEDBITS
    - Assert
    linkageType: ''
    returnType: local
    signature: 'local inflate_codes( /* s, z, r) */

      inflate_blocks_statef *s,

      z_streamp z,

      int r )'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZFREE
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:252,1
    - Dst: Tracev
      Src: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - z
    argTypes:
    - inflate_codes_statef*
    - z_streamp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: inflate_codes_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gzip/infcodes.c
    functionUses: 1
    functionsReached:
    - ZFREE
    - Tracev
    linkageType: ''
    returnType: local
    signature: 'local inflate_codes_free( /* c, z) */

      inflate_codes_statef *c,

      z_streamp z )'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:58,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:59,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:60,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:62,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:64,1
    - Dst: otv_Coverage_get_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:65,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:68,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:75,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:75,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 80
    functionName: otv_O_x_Ox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - otv_Coverage_get_count
    - OTV_TRACE
    - func
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_O_x_Ox( FT_Bytes       table,\n              OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:103,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:105,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:107,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:122,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:125,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 133
    functionName: otv_CaretValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c
    functionUses: 0
    functionsReached:
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_CaretValue_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:152,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:156,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:157,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:159,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:161,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:164,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: otv_MarkGlyphSets_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_ULONG
    - otv_Coverage_validate
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MarkGlyphSets_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:194,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:195,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:196,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:197,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:198,1
    - Dst: OTV_OPTIONAL_TABLE32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:200,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:205,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:208,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:210,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:213,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:224,1
    - Dst: otv_GSUBGPOS_have_MarkAttachmentType_flag
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:225,1
    - Dst: otv_GSUBGPOS_have_MarkAttachmentType_flag
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:226,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:230,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:234,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:239,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:244,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:254,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:255,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:257,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:259,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:260,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:263,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:264,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:267,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:268,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:271,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:272,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:277,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:278,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:280,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:285,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:286,1
    - Dst: otv_MarkGlyphSets_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:288,1
    - Dst: OTV_OPTIONAL_OFFSET32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:293,1
    - Dst: OTV_SIZE_CHECK32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:294,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:296,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c:299,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 5
    argNames:
    - table
    - gsub
    - gpos
    - glyph_count
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_Bytes
    - FT_UInt
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 300
    functionName: otv_GDEF_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgdef.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - FT_TRACE3
    - OTV_OPTIONAL_OFFSET
    - otv_ClassDef_validate
    - OTV_OPTIONAL_TABLE32
    - OTV_LIMIT_CHECK
    - FT_BOOL
    - FT_TRACE4
    - OTV_NEST3
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_OFFSET32
    - OTV_OPTIONAL_TABLE
    - otv_GSUBGPOS_have_MarkAttachmentType_flag
    - OTV_RUN
    - OTV_SIZE_CHECK32
    - otv_MarkGlyphSets_validate
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_GDEF_validate( FT_Bytes      table,\n                     FT_Bytes
      \     gsub,\n                     FT_Bytes      gpos,\n                     FT_UInt
      \      glyph_count,\n                     FT_Validator  ftvalid )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:49,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:50,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:51,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:52,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:53,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:54,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:55,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:56,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:57,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:58,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:62,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:64,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:73,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:74,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:76,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:78,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:79,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:81,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:85,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:86,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:88,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:90,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:91,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:93,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:95,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:96,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:100,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:101,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:106,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:107,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:109,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:111,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:112,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:114,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:118,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:119,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:121,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:123,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:124,1
    - Dst: otv_x_ux
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:126,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:128,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:129,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:133,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:134,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 68
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 141
    functionName: otv_JstfPriority_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - OTV_RUN
    - otv_x_ux
    linkageType: ''
    returnType: void
    signature: "void otv_JstfPriority_validate( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:155,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:156,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:159,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:161,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:162,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:163,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:164,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:166,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:170,1
    - Dst: OTV_NEST1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:174,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:175,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:178,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:181,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:182,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:185,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:188,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:193,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 197
    functionName: otv_JstfScript_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - OTV_RUN
    - OTV_NEST1
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_JstfScript_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:220,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:223,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:225,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:228,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:230,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:232,1
    - Dst: otv_GSUBGPOS_get_Lookup_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:235,1
    - Dst: otv_GSUBGPOS_get_Lookup_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:240,1
    - Dst: otv_JstfScript_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:252,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:252,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - table
    - gsub
    - gpos
    - glyph_count
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_Bytes
    - FT_UInt
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 256
    functionName: otv_JSTF_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvjstf.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - otv_JstfScript_validate
    - OTV_LIMIT_CHECK
    - FT_NEXT_ULONG
    - FT_TRACE4
    - otv_GSUBGPOS_get_Lookup_count
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_JSTF_validate( FT_Bytes      table,\n                     FT_Bytes
      \     gsub,\n                     FT_Bytes      gpos,\n                     FT_UInt
      \      glyph_count,\n                     FT_Validator  ftvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:51,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:53,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:54,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:56,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:67,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:68,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:69,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:71,1
    - Dst: otv_Coverage_get_first
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:73,1
    - Dst: otv_Coverage_get_last
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:77,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:88,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:89,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:90,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:92,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:94,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:98,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:102,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 112
    functionName: otv_SingleSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - otv_Coverage_get_last
    - OTV_LIMIT_CHECK
    - FT_NEXT_SHORT
    - OTV_TRACE
    - otv_Coverage_validate
    - otv_Coverage_get_first
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_SingleSubst_validate( FT_Bytes       table,\n                            OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:133,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:135,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:136,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:138,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:144,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 153
    functionName: otv_MultipleSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MultipleSubst_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:174,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:176,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:177,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:179,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:185,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 194
    functionName: otv_AlternateSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_AlternateSubst_validate( FT_Bytes       table,\n                               OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:219,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:220,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:224,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:226,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 238
    functionName: otv_Ligature_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_Ligature_validate( FT_Bytes       table,\n                         OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:249,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:251,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:252,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:254,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:259,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 268
    functionName: otv_LigatureSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_LigatureSubst_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:289,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:291,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:292,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:294,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:304,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:305,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:313,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:314,1
    - Dst: OTV_NEST1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:318,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 327
    functionName: otv_ContextSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - OTV_NEST1
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ContextSubst_validate( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:348,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:350,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:351,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:353,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:363,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:365,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:373,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:375,1
    - Dst: OTV_NEST1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:379,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 388
    functionName: otv_ChainContextSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - OTV_NEST1
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ChainContextSubst_validate( FT_Bytes       table,\n                                  OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:409,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:411,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:412,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:414,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:425,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:426,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:427,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 444
    functionName: otv_ExtensionSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - validate
    - OTV_LIMIT_CHECK
    - FT_NEXT_ULONG
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ExtensionSubst_validate( FT_Bytes       table,\n                               OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:466,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:468,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:469,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:471,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:476,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:477,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:478,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:480,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:482,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:484,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:487,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:487,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:489,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:491,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:493,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:496,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:496,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:498,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:500,1
    - Dst: otv_Coverage_get_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:502,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:505,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:509,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 519
    functionName: otv_ReverseChainSingleSubst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_TRACE
    - otv_Coverage_get_count
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ReverseChainSingleSubst_validate( FT_Bytes       table,\n
      \                                       OTV_Validator  otvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:559,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:564,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:567,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:569,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:572,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:578,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:582,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:590,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:591,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:592,1
    - Dst: otv_LookupList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:598,1
    - Dst: otv_FeatureList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:600,1
    - Dst: otv_ScriptList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:602,1
    - Dst: OTV_OPTIONAL_OFFSET32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:607,1
    - Dst: OTV_SIZE_CHECK32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:608,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:610,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c:613,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - table
    - glyph_count
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_UInt
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 614
    functionName: otv_GSUB_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgsub.c
    functionUses: 0
    functionsReached:
    - otv_FeatureList_validate
    - FT_TRACE3
    - otv_ScriptList_validate
    - OTV_OPTIONAL_TABLE32
    - OTV_LIMIT_CHECK
    - otv_LookupList_validate
    - OTV_TRACE
    - OTV_SIZE_CHECK32
    - OTV_OPTIONAL_OFFSET32
    - FT_TRACE4
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_GSUB_validate( FT_Bytes      table,\n                     FT_UInt
      \      glyph_count,\n                     FT_Validator  ftvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:41,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:43,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:44,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:47,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:55,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:59,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:61,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 69
    functionName: otv_BaseCoord_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_BaseCoord_validate( FT_Bytes       table,\n                          OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:80,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:82,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:84,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:86,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 91
    functionName: otv_BaseTagList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_BaseTagList_validate( FT_Bytes       table,\n                            OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:102,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:104,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:107,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:109,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:111,1
    - Dst: otv_BaseCoord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:115,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 118
    functionName: otv_BaseValues_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - otv_BaseCoord_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_BaseValues_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:129,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:130,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:133,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:135,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:137,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:138,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:139,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:141,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:145,1
    - Dst: otv_BaseCoord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:147,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:149,1
    - Dst: otv_BaseCoord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:151,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:153,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:160,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:161,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:163,1
    - Dst: otv_BaseCoord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:165,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:167,1
    - Dst: otv_BaseCoord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:169,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 173
    functionName: otv_MinMax_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - otv_BaseCoord_validate
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MinMax_validate( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:184,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:185,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:188,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:190,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:191,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:192,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:193,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:195,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:199,1
    - Dst: otv_BaseValues_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:201,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:203,1
    - Dst: otv_MinMax_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:205,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:207,1
    - Dst: otv_MinMax_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:214,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 218
    functionName: otv_BaseScript_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - otv_BaseValues_validate
    - OTV_SIZE_CHECK
    - otv_MinMax_validate
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_BaseScript_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:229,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:231,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:232,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:234,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:236,1
    - Dst: otv_BaseScript_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:244,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 248
    functionName: otv_BaseScriptList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - otv_BaseScript_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_BaseScriptList_validate( FT_Bytes       table,\n                               OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:258,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:261,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:263,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:264,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:268,1
    - Dst: otv_BaseTagList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:270,1
    - Dst: otv_BaseScriptList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:273,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 251
    functionDepth: 5
    functionLinenumber: 251
    functionLinenumberEnd: 276
    functionName: otv_Axis_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_SIZE_CHECK
    - otv_BaseScriptList_validate
    - OTV_OPTIONAL_TABLE
    - otv_BaseTagList_validate
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_Axis_validate( FT_Bytes       table,\n                     OTV_Validator
      \ otvalid )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:289,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:290,1
    - Dst: OTV_OPTIONAL_TABLE32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:292,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:297,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:300,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:302,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:305,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:311,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:315,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:323,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:324,1
    - Dst: otv_Axis_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:326,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:328,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:329,1
    - Dst: otv_Axis_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:331,1
    - Dst: OTV_OPTIONAL_OFFSET32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:335,1
    - Dst: OTV_SIZE_CHECK32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:336,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:338,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - table
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 280
    functionDepth: 6
    functionLinenumber: 280
    functionLinenumberEnd: 342
    functionName: otv_BASE_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvbase.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - OTV_OPTIONAL_OFFSET
    - OTV_OPTIONAL_TABLE32
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - otv_Axis_validate
    - OTV_OPTIONAL_TABLE
    - OTV_SIZE_CHECK32
    - OTV_OPTIONAL_OFFSET32
    - FT_TRACE4
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_BASE_validate( FT_Bytes      table,\n                     FT_Validator
      \ ftvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:48,1
    - Dst: FT_Load_Sfnt_Table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:51,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:52,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:57,1
    - Dst: FT_Load_Sfnt_Table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - face
    - tag
    - table
    - table_len
    argTypes:
    - FT_Face
    - FT_Tag
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 64
    functionName: otv_load_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_Load_Sfnt_Table
    - FT_ERR_EQ
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error otv_load_table( FT_Face             face,\n                  FT_Tag
      \             tag,\n                  FT_Byte* volatile*  table,\n                  FT_ULong*
      \          table_len )"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:98,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:100,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:108,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:115,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:122,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:129,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:136,1
    - Dst: otv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:143,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:152,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:153,1
    - Dst: otv_BASE_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:154,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:162,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:163,1
    - Dst: otv_GPOS_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:164,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:172,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:173,1
    - Dst: otv_GSUB_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:174,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:182,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:183,1
    - Dst: otv_GDEF_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:184,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:192,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:193,1
    - Dst: otv_JSTF_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:194,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:202,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:203,1
    - Dst: otv_MATH_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:204,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:219,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:222,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:223,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:224,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:225,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:226,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:230,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:233,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 115
    argCount: 7
    argNames:
    - face
    - ot_flags
    - ot_base
    - ot_gdef
    - ot_gpos
    - ot_gsub
    - ot_jstf
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 67
    functionDepth: 7
    functionLinenumber: 67
    functionLinenumberEnd: 237
    functionName: otv_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - otv_GDEF_validate
    - ft_validator_init
    - otv_MATH_validate
    - otv_BASE_validate
    - otv_load_table
    - otv_JSTF_validate
    - FT_FACE_MEMORY
    - ft_setjmp
    - FT_FREE
    - otv_GPOS_validate
    - otv_GSUB_validate
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error otv_validate( FT_Face volatile   face,\n                FT_UInt
      \           ot_flags,\n                FT_Bytes          *ot_base,\n                FT_Bytes
      \         *ot_gdef,\n                FT_Bytes          *ot_gpos,\n                FT_Bytes
      \         *ot_gsub,\n                FT_Bytes          *ot_jstf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:259,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - service_id
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 262
    functionName: otvalid_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmod.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer otvalid_get_service( FT_Module    module,\n                       const
      char*  service_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:53,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:56,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:59,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:66,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:67,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 73
    functionName: otv_MathConstants_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MathConstants_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:93,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:94,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:96,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:99,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:102,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:104,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:105,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:107,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:110,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:111,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:116,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:117,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - table
    - otvalid
    - isItalic
    argTypes:
    - FT_Bytes
    - OTV_Validator
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 123
    functionName: otv_MathItalicsCorrectionInfo_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - OTV_NAME_ENTER
    - FT_NEXT_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void otv_MathItalicsCorrectionInfo_validate( FT_Bytes       table,\n
      \                                         OTV_Validator  otvalid,\n                                          FT_Int
      \        isItalic )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:141,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:146,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:148,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:150,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:157,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:158,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:160,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:167,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:168,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 174
    functionName: otv_MathKern_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_MathKern_validate( FT_Bytes       table,\n                         OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:184,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:185,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:188,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:190,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:192,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:193,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:195,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:198,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:199,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:205,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:206,1
    - Dst: otv_MathKern_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: otv_MathKernInfo_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - otv_MathKern_validate
    - otv_Coverage_validate
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MathKernInfo_validate( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:233,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:235,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:237,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:238,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:239,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:240,1
    - Dst: otv_MathItalicsCorrectionInfo_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:243,1
    - Dst: otv_MathItalicsCorrectionInfo_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:248,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:253,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:254,1
    - Dst: otv_MathKernInfo_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: otv_MathGlyphInfo_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - otv_MathKernInfo_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - otv_MathItalicsCorrectionInfo_validate
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MathGlyphInfo_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:281,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:286,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:289,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:290,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:292,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:295,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:297,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 311
    functionName: otv_GlyphAssembly_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_GlyphAssembly_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:322,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:327,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:329,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:330,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:332,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:340,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:346,1
    - Dst: otv_GlyphAssembly_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 351
    functionName: otv_MathGlyphConstruction_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - OTV_SIZE_CHECK
    - otv_GlyphAssembly_validate
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_MathGlyphConstruction_validate( FT_Bytes       table,\n                                      OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:361,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:362,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:363,1
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:366,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:368,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:371,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:372,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:373,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:374,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:376,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:379,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:381,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:383,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:385,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:389,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:390,1
    - Dst: otv_MathGlyphConstruction_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:391,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:396,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:397,1
    - Dst: otv_MathGlyphConstruction_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:398,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 402
    functionName: otv_MathVariants_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 0
    functionsReached:
    - otv_MathGlyphConstruction_validate
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MathVariants_validate( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:428,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:431,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:433,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:436,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:437,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:438,1
    - Dst: otv_MathConstants_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:442,1
    - Dst: otv_MathGlyphInfo_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:444,1
    - Dst: otv_MathVariants_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:446,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - table
    - glyph_count
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_UInt
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 416
    functionDepth: 4
    functionLinenumber: 416
    functionLinenumberEnd: 450
    functionName: otv_MATH_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvmath.c
    functionUses: 1
    functionsReached:
    - FT_TRACE3
    - OTV_LIMIT_CHECK
    - FT_NEXT_ULONG
    - otv_MathConstants_validate
    - otv_MathVariants_validate
    - FT_TRACE4
    - FT_NEXT_USHORT
    - otv_MathGlyphInfo_validate
    linkageType: ''
    returnType: void
    signature: "void otv_MATH_validate( FT_Bytes      table,\n                     FT_UInt
      \      glyph_count,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: FT_INVALID_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INVALID_( _error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: OTV_OPTIONAL_TABLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_OPTIONAL_TABLE( _table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: OTV_OPTIONAL_TABLE32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_OPTIONAL_TABLE32( _table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: OTV_OPTIONAL_OFFSET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_OPTIONAL_OFFSET( _offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: OTV_OPTIONAL_OFFSET32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_OPTIONAL_OFFSET32( _offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: OTV_LIMIT_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_LIMIT_CHECK( _count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 105
    functionName: OTV_SIZE_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_SIZE_CHECK( _size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 127
    functionName: OTV_SIZE_CHECK32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_SIZE_CHECK32( _size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: OTV_NAME_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NAME_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: OTV_NAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NAME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: OTV_FUNC_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_FUNC_(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: OTV_FUNC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_FUNC(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: OTV_NEST1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST1( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: OTV_NEST2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST2( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 176
    functionName: OTV_NEST3
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST3( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: OTV_NAME_ENTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NAME_ENTER( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: OTV_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_TRACE( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: OTV_NEST1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST1( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: OTV_NEST2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST2( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 224
    functionName: OTV_NEST3
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NEST3( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: OTV_NAME_ENTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_NAME_ENTER( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: OTV_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OTV_TRACE( s )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:50,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:52,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:53,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:55,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:65,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:67,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:69,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:76,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:91,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:93,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:95,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:100,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:101,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:102,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - table
    - otvalid
    - expected_count
    argTypes:
    - FT_Bytes
    - OTV_Validator
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 130
    functionName: otv_Coverage_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 8
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_Coverage_validate( FT_Bytes       table,\n                         OTV_Validator
      \ otvalid,\n                         FT_Int         expected_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: otv_Coverage_get_first
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void otv_Coverage_get_first( FT_Bytes  table )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:149,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:150,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:158,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 171
    functionName: otv_Coverage_get_last
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void otv_Coverage_get_last( FT_Bytes  table )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:178,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:179,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:195,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 209
    functionName: otv_Coverage_get_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 2
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void otv_Coverage_get_count( FT_Bytes  table )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:228,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:230,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:231,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:233,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:243,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:245,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:246,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:248,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:250,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:263,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:265,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:267,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:272,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:273,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 295
    functionName: otv_ClassDef_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_ClassDef_validate( FT_Bytes       table,\n                         OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:314,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:316,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:317,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:318,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:319,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:334,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 338
    functionName: otv_Device_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 6
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_Device_validate( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:361,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:363,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:364,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:365,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:366,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:368,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:375,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:377,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:381,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:381,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:384,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 387
    functionName: otv_Lookup_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_Lookup_validate( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:400,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:402,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:403,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:405,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:407,1
    - Dst: otv_Lookup_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:413,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: otv_LookupList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - otv_Lookup_validate
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_LookupList_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 423
    functionName: otv_LookupList_get_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_UInt
    signature: FT_UInt otv_LookupList_get_count( FT_Bytes  table )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:444,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:446,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:448,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:450,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:452,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:456,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 460
    functionName: otv_Feature_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_Feature_validate( FT_Bytes       table,\n                        OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: otv_Feature_get_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_UInt
    signature: FT_UInt otv_Feature_get_count( FT_Bytes  table )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:481,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:483,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:484,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:486,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:488,1
    - Dst: otv_LookupList_get_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:490,1
    - Dst: otv_Feature_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:498,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - table
    - lookups
    - otvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 502
    functionName: otv_FeatureList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - otv_Feature_validate
    - otv_LookupList_get_count
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_FeatureList_validate( FT_Bytes       table,\n                            FT_Bytes
      \      lookups,\n                            OTV_Validator  otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:525,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:527,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:529,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:530,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:532,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:533,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:538,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 546
    functionName: otv_LangSys_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_LangSys_validate( FT_Bytes       table,\n                        OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:565,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:567,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:568,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:569,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:571,1
    - Dst: otv_LangSys_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:574,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:576,1
    - Dst: otv_LangSys_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:584,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: otv_Script_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - otv_LangSys_validate
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_Script_validate( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:602,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:604,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:605,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:607,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:609,1
    - Dst: otv_Feature_get_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:611,1
    - Dst: otv_Script_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:618,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - table
    - features
    - otvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 622
    functionName: otv_ScriptList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - otv_Script_validate
    - otv_Feature_get_count
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ScriptList_validate( FT_Bytes       table,\n                           FT_Bytes
      \      features,\n                           OTV_Validator  otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:662,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:663,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:665,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:667,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:673,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 678
    functionName: otv_x_Ox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - func
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_x_Ox( FT_Bytes       table,\n            OTV_Validator  otvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:694,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:695,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:696,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:698,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:700,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:702,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:708,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:708,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 713
    functionName: otv_u_C_x_Ox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_TRACE
    - func
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_u_C_x_Ox( FT_Bytes       table,\n                OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:728,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:729,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:731,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:733,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 743
    functionName: otv_x_ux
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_x_ux( FT_Bytes       table,\n            OTV_Validator  otvalid
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:761,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:762,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:763,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:765,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:766,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:771,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:776,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:779,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 784
    functionName: otv_x_y_ux_sy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_x_y_ux_sy( FT_Bytes       table,\n                 OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:803,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:804,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:806,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:808,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:811,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:815,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:817,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:820,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:822,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:824,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:827,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:829,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:831,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:835,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:838,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 843
    functionName: otv_x_ux_y_uy_z_uz_p_sp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_x_ux_y_uy_z_uz_p_sp( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:861,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:862,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:863,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:864,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:866,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:868,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:869,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:871,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:879,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 849
    functionDepth: 2
    functionLinenumber: 849
    functionLinenumberEnd: 889
    functionName: otv_u_O_O_x_Onx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - otv_ClassDef_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_TRACE
    - func
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_u_O_O_x_Onx( FT_Bytes       table,\n                   OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:906,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:907,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:908,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:910,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:911,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:913,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:916,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:916,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:920,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 895
    functionDepth: 2
    functionLinenumber: 895
    functionLinenumberEnd: 928
    functionName: otv_u_x_y_Ox_sy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - otv_Coverage_validate
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_u_x_y_Ox_sy( FT_Bytes       table,\n                   OTV_Validator
      \ otvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:948,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:949,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:950,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:951,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:952,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:953,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:955,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:957,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:959,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:960,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:961,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:963,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:971,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:975,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 981
    functionName: otv_u_O_O_O_O_x_Onx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - otv_ClassDef_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_TRACE
    - func
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_u_O_O_O_O_x_Onx( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:999,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1000,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1002,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1004,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1007,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1007,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1009,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1011,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1013,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1016,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1016,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1018,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1020,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1022,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1025,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1025,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1027,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1029,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1031,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1035,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1038,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1043
    functionName: otv_u_x_Ox_y_Oy_z_Oz_p_sp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - FT_NEXT_USHORT
    - otv_Coverage_validate
    - OTV_TRACE
    linkageType: ''
    returnType: void
    signature: "void otv_u_x_Ox_y_Oy_z_Oz_p_sp( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: otv_LookupList_get_count
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1052,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1053
    functionName: otv_GSUBGPOS_get_Lookup_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - otv_LookupList_get_count
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void otv_GSUBGPOS_get_Lookup_count( FT_Bytes  table )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1068,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1072,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1080,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c:1086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1093
    functionName: otv_GSUBGPOS_have_MarkAttachmentType_flag
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvcommn.c
    functionUses: 1
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void otv_GSUBGPOS_have_MarkAttachmentType_flag( FT_Bytes  table )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:68,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:70,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:72,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:74,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:81,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:84,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:88,1
    - Dst: otv_Anchor_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:90,1
    - Dst: otv_Anchor_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: otv_x_sxy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - otv_Anchor_validate
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_x_sxy( FT_Bytes       table,\n             OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:120,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:121,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:122,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:123,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:124,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:125,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:127,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:128,1
    - Dst: otv_MarkArray_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:130,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 141
    functionName: otv_u_O_O_u_O_O
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - otv_MarkArray_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - func
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_u_O_O_u_O_O( FT_Bytes       table,\n                   OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 163
    functionName: otv_value_length
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_UInt
    signature: FT_UInt otv_value_length( FT_UInt  format )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:181,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:190,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:201,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:214,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:218,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:219,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:223,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:225,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - table
    - format
    - otvalid
    argTypes:
    - FT_Bytes
    - FT_UInt
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 231
    functionName: otv_ValueRecord_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ValueRecord_validate( FT_Bytes       table,\n                            FT_UInt
      \       format,\n                            OTV_Validator  otvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:250,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:252,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:253,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:255,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:265,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:272,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:273,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:276,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:277,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:278,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:282,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:284,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:286,1
    - Dst: otv_Device_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 297
    functionName: otv_Anchor_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 1
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - otv_Device_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_Anchor_validate( FT_Bytes       table,\n                       OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:316,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:318,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:319,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:321,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:323,1
    - Dst: otv_Anchor_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:330,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 334
    functionName: otv_MarkArray_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 1
    functionsReached:
    - otv_Anchor_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MarkArray_validate( FT_Bytes       table,\n                          OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:355,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:357,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:358,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:360,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:371,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:372,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:373,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:375,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:376,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:385,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:386,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:387,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:388,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:390,1
    - Dst: otv_value_length
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:392,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:394,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:398,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 347
    functionDepth: 3
    functionLinenumber: 347
    functionLinenumberEnd: 414
    functionName: otv_SinglePos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - otv_ValueRecord_validate
    - OTV_LIMIT_CHECK
    - otv_Coverage_validate
    - OTV_TRACE
    - otv_value_length
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_SinglePos_validate( FT_Bytes       table,\n                          OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:437,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:441,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:442,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:444,1
    - Dst: otv_value_length
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:446,1
    - Dst: otv_value_length
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:447,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:449,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:457,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 4
    argNames:
    - table
    - format1
    - format2
    - otvalid
    argTypes:
    - FT_Bytes
    - FT_UInt
    - FT_UInt
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 466
    functionName: otv_PairSet_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - otv_ValueRecord_validate
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - otv_value_length
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_PairSet_validate( FT_Bytes       table,\n                        FT_UInt
      \       format1,\n                        FT_UInt        format2,\n                        OTV_Validator
      \ otvalid )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:479,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:481,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:482,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:484,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:493,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:494,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:495,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:496,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:497,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:499,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:501,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:503,1
    - Dst: otv_PairSet_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:507,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:507,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:518,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:519,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:520,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:521,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:522,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:523,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:524,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:525,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:527,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:528,1
    - Dst: otv_value_length
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:530,1
    - Dst: otv_value_length
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:531,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:533,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:534,1
    - Dst: otv_ClassDef_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:535,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:537,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:550,1
    - Dst: otv_ValueRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:555,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 53
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 471
    functionDepth: 4
    functionLinenumber: 471
    functionLinenumberEnd: 567
    functionName: otv_PairPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - otv_ValueRecord_validate
    - otv_ClassDef_validate
    - OTV_LIMIT_CHECK
    - otv_PairSet_validate
    - otv_Coverage_validate
    - OTV_TRACE
    - otv_value_length
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_PairPos_validate( FT_Bytes       table,\n                        OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:586,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:588,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:589,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:591,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:600,1
    - Dst: OTV_OPTIONAL_TABLE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:601,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:604,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:605,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:606,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:608,1
    - Dst: otv_Coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:610,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:614,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:621,1
    - Dst: OTV_OPTIONAL_OFFSET
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:622,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:624,1
    - Dst: otv_Anchor_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:626,1
    - Dst: OTV_SIZE_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:628,1
    - Dst: otv_Anchor_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 640
    functionName: otv_CursivePos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_OPTIONAL_OFFSET
    - OTV_LIMIT_CHECK
    - otv_Anchor_validate
    - OTV_TRACE
    - otv_Coverage_validate
    - OTV_SIZE_CHECK
    - OTV_OPTIONAL_TABLE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_CursivePos_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:664,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:666,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:667,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:669,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:675,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:676,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 684
    functionName: otv_MarkBasePos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MarkBasePos_validate( FT_Bytes       table,\n                            OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:705,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:707,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:708,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:710,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:716,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 725
    functionName: otv_MarkLigPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MarkLigPos_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:746,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:748,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:749,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:751,1
    - Dst: OTV_NEST2
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:757,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:758,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 766
    functionName: otv_MarkMarkPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_NEST2
    - OTV_LIMIT_CHECK
    - OTV_TRACE
    - OTV_RUN
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_MarkMarkPos_validate( FT_Bytes       table,\n                            OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:787,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:789,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:790,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:792,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:802,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:803,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:811,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:812,1
    - Dst: OTV_NEST1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:816,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:817,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 825
    functionName: otv_ContextPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - OTV_NEST1
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ContextPos_validate( FT_Bytes       table,\n                           OTV_Validator
      \ otvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:846,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:848,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:849,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:851,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:861,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:863,1
    - Dst: OTV_NEST3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:871,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:873,1
    - Dst: OTV_NEST1
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:877,1
    - Dst: OTV_RUN
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:878,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 886
    functionName: otv_ChainContextPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - OTV_LIMIT_CHECK
    - OTV_NEST3
    - OTV_TRACE
    - OTV_RUN
    - OTV_NEST1
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ChainContextPos_validate( FT_Bytes       table,\n                                OTV_Validator
      \ otvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OTV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:907,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:909,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:910,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:912,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:923,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:924,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:925,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 940
    functionName: otv_ExtensionPos_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - validate
    - OTV_LIMIT_CHECK
    - FT_NEXT_ULONG
    - OTV_TRACE
    - FT_NEXT_USHORT
    - OTV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void otv_ExtensionPos_validate( FT_Bytes       table,\n                             OTV_Validator
      \ otvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: otv_Lookup_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - table
    - otvalid
    argTypes:
    - FT_Bytes
    - OTV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 2
    functionLinenumber: 961
    functionLinenumberEnd: 968
    functionName: otv_GPOS_subtable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 0
    functionsReached:
    - otv_Lookup_validate
    linkageType: ''
    returnType: void
    signature: "void otv_GPOS_subtable_validate( FT_Bytes       table,\n                              OTV_Validator
      \ otvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: OTV_OPTIONAL_TABLE32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:993,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:998,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1001,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1003,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1006,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1012,1
    - Dst: OTV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1016,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1024,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1025,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1026,1
    - Dst: otv_LookupList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1032,1
    - Dst: otv_FeatureList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1034,1
    - Dst: otv_ScriptList_validate
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1036,1
    - Dst: OTV_OPTIONAL_OFFSET32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1041,1
    - Dst: OTV_SIZE_CHECK32
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1042,1
    - Dst: OTV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1044,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c:1047,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - table
    - glyph_count
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_UInt
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 982
    functionDepth: 4
    functionLinenumber: 982
    functionLinenumberEnd: 1048
    functionName: otv_GPOS_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/otvalid/otvgpos.c
    functionUses: 1
    functionsReached:
    - otv_FeatureList_validate
    - FT_TRACE3
    - otv_ScriptList_validate
    - OTV_OPTIONAL_TABLE32
    - OTV_LIMIT_CHECK
    - otv_LookupList_validate
    - OTV_TRACE
    - OTV_SIZE_CHECK32
    - OTV_OPTIONAL_OFFSET32
    - FT_TRACE4
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void otv_GPOS_validate( FT_Bytes      table,\n                     FT_UInt
      \      glyph_count,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: FT_Stream_FTell
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_Stream_FTell( stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: FT_Stream_SeekSet
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_Stream_SeekSet( stream, off )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: FT_fdot14ToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_fdot14ToFixed( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: FT_intToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_intToFixed( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: FT_fdot6ToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_fdot6ToFixed( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: FT_fixedToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_fixedToInt( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: FT_fixedToFdot6
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_fixedToFdot6( x )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:156,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:161,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:169,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:174,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:181,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:190,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:194,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:200,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:208,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:213,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 3
    argNames:
    - stream
    - size
    - point_cnt
    argTypes:
    - FT_Stream
    - FT_ULong
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 222
    functionName: ft_var_readpackedpoints
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_GET_BYTE
    - FT_NEW_ARRAY
    - FT_TRACE1
    - FT_GET_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: FT_UShort
    signature: "FT_UShort *\n  ft_var_readpackedpoints( FT_Stream  stream,\n                           FT_ULong
      \  size,\n                           FT_UInt   *point_cnt )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:270,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:275,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:279,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:285,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:298,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:298,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:304,1
    - Dst: FT_GET_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:304,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:310,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - stream
    - size
    - delta_cnt
    argTypes:
    - FT_Stream
    - FT_ULong
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 316
    functionName: ft_var_readpackeddeltas
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_GET_BYTE
    - FT_NEW_ARRAY
    - FT_GET_CHAR
    - FT_TRACE1
    - FT_intToFixed
    - FT_GET_SHORT
    - FT_FREE
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed *\n  ft_var_readpackeddeltas( FT_Stream  stream,\n                           FT_ULong
      \  size,\n                           FT_UInt    delta_cnt )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:335,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:345,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:348,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:351,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:354,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:358,1
    - Dst: FT_GET_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:361,1
    - Dst: FT_GET_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:362,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:366,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:370,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:374,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:379,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:385,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:387,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:389,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:395,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:397,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:405,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:405,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:407,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:407,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:409,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:414,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:418,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 419
    functionName: ft_var_load_avar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_NEW_ARRAY
    - FT_GET_SHORT
    - FT_GET_LONG
    - FT_TRACE5
    - FT_GET_USHORT
    - FT_TRACE2
    - FT_FREE
    - TT_Face::goto_table
    - FT_fdot14ToFixed
    - FT_FACE_STREAM
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ft_var_load_avar( TT_Face  face )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:427,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:442,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:443,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:448,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:450,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:455,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:456,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:462,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:463,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:469,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:474,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:479,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:482,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:483,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:488,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:492,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:496,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:504,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:515,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:516,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:517,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:520,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:521,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:522,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:529,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:536,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:539,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:540,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:541,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:547,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:550,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:556,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:559,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:564,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:570,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:575,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:577,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:587,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:601,1
    - Dst: FT_READ_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:613,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:622,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 115
    argCount: 3
    argNames:
    - face
    - offset
    - itemStore
    argTypes:
    - TT_Face
    - FT_ULong
    - GX_ItemVarStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 625
    functionName: ft_var_load_item_variation_store
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_STREAM_SEEK
    - FT_READ_CHAR
    - FT_THROW
    - FT_fdot14ToFixed
    - FT_FREE
    - FT_TRACE2
    - FT_READ_ULONG
    - FT_FACE_STREAM
    - FT_READ_USHORT
    - FT_READ_SHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_var_load_item_variation_store( TT_Face          face,\n
      \                                   FT_ULong         offset,\n                                    GX_ItemVarStore
      \ itemStore )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:634,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:646,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:647,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:648,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:653,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:654,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:663,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:666,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:681,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:691,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:694,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:704,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:707,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 4
    argNames:
    - face
    - offset
    - map
    - itemStore
    argTypes:
    - TT_Face
    - FT_ULong
    - GX_DeltaSetIdxMap
    - GX_ItemVarStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 716
    functionName: ft_var_load_delta_set_index_mapping
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_READ_BYTE
    - FT_NEW_ARRAY
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_TRACE2
    - FT_FACE_STREAM
    - FT_READ_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_var_load_delta_set_index_mapping( TT_Face            face,\n
      \                                      FT_ULong           offset,\n                                       GX_DeltaSetIdxMap
      \ map,\n                                       GX_ItemVarStore    itemStore
      )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:747,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:766,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:768,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:774,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:776,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:781,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:785,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:788,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:789,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:794,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:795,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:799,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:800,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:805,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:811,1
    - Dst: ft_var_load_item_variation_store
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:816,1
    - Dst: ft_var_load_delta_set_index_mapping
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:825,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:834,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 2
    argNames:
    - face
    - vertical
    argTypes:
    - TT_Face
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 863
    functionName: ft_var_load_hvvar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Face::goto_table
    - FT_STREAM_SKIP
    - ft_var_load_item_variation_store
    - FT_THROW
    - FT_TRACE2
    - FT_READ_ULONG
    - FT_STREAM_POS
    - ft_var_load_delta_set_index_mapping
    - FT_FACE_STREAM
    - FT_READ_USHORT
    - FT_NEW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_var_load_hvvar( TT_Face  face,\n                     FT_Bool
      \ vertical )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:928,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:933,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:939,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:940,1
    - Dst: FT_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:947,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 4
    argNames:
    - face
    - itemStore
    - outerIndex
    - innerIndex
    argTypes:
    - TT_Face
    - GX_ItemVarStore
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 948
    functionName: ft_var_get_item_delta
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_fixedToInt
    - FT_MulFix
    - FT_intToFixed
    - FT_MulDiv
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int ft_var_get_item_delta( TT_Face          face,\n                         GX_ItemVarStore
      \ itemStore,\n                         FT_UInt          outerIndex,\n                         FT_UInt
      \         innerIndex )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ft_var_load_hvvar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:995,1
    - Dst: ft_var_load_hvvar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1011,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1050,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1051,1
    - Dst: ft_var_get_item_delta
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1056,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1061,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - face
    - gindex
    - avalue
    - vertical
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Int*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 1072
    functionName: tt_hvadvance_adjust
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - ft_var_get_item_delta
    - FT_THROW
    - ft_var_load_hvvar
    - FT_TRACE5
    - FT_TRACE2
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_hvadvance_adjust( TT_Face  face,\n                       FT_UInt
      \ gindex,\n                       FT_Int  *avalue,\n                       FT_Bool
      \ vertical )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_hvadvance_adjust
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - gindex
    - avalue
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1076
    functionDepth: 4
    functionLinenumber: 1076
    functionLinenumberEnd: 1081
    functionName: tt_hadvance_adjust
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - tt_hvadvance_adjust
    linkageType: ''
    returnType: void
    signature: "void tt_hadvance_adjust( TT_Face  face,\n                      FT_UInt
      \ gindex,\n                      FT_Int  *avalue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_hvadvance_adjust
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - gindex
    - avalue
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1090
    functionName: tt_vadvance_adjust
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - tt_hvadvance_adjust
    linkageType: ''
    returnType: void
    signature: "void tt_vadvance_adjust( TT_Face  face,\n                      FT_UInt
      \ gindex,\n                      FT_Int  *avalue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - dflt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1101
    functionName: GX_VALUE_CASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_VALUE_CASE( tag, dflt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1109
    functionName: GX_GASP_CASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_GASP_CASE( idx )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1120,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1121,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1122,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1123,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1124,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1125,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1126,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1127,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1128,1
    - Dst: GX_GASP_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1129,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1131,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1132,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1133,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1134,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1135,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1136,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1137,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1138,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1139,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1140,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1141,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1142,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1143,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1144,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1145,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1146,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1147,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1148,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1149,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1150,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1151,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1152,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1153,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1154,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1155,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1156,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1157,1
    - Dst: GX_VALUE_CASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 2
    argNames:
    - face
    - mvar_tag
    argTypes:
    - TT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1166
    functionName: ft_var_get_value_pointer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - GX_VALUE_CASE
    - GX_GASP_CASE
    linkageType: ''
    returnType: FT_Short
    signature: "FT_Short *\n  ft_var_get_value_pointer( TT_Face   face,\n                            FT_ULong
      \ mvar_tag )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1187,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1202,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1204,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1207,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1211,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1214,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1215,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1220,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1224,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1228,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1229,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1230,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1233,1
    - Dst: ft_var_load_item_variation_store
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1235,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1242,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1246,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1247,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1256,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1257,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1258,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1264,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1269,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1274,1
    - Dst: ft_var_get_value_pointer
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1282,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1184
    functionDepth: 2
    functionLinenumber: 1184
    functionLinenumberEnd: 1298
    functionName: ft_var_load_mvar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_NEW_ARRAY
    - FT_FRAME_ENTER
    - TT_Face::goto_table
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - ft_var_load_item_variation_store
    - FT_GET_ULONG
    - FT_THROW
    - ft_var_get_value_pointer
    - FT_GET_USHORT
    - FT_TRACE2
    - FT_STREAM_POS
    - FT_FACE_STREAM
    - FT_READ_USHORT
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: void ft_var_load_mvar( TT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1307,1
    - Dst: tt_size_reset
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - node
    - user
    argTypes:
    - FT_ListNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1313
    functionName: tt_size_reset_iterator
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - tt_size_reset
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_size_reset_iterator( FT_ListNode  node,\n                          void*
      \       user )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_var_get_value_pointer
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1346,1
    - Dst: ft_var_get_item_delta
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1350,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1357,1
    - Dst: FT_List_Iterate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1426,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1430
    functionName: tt_apply_mvar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - ft_var_get_value_pointer
    - FT_TRACE5
    - FT_List_Iterate
    - ft_var_get_item_delta
    linkageType: ''
    returnType: void
    signature: void tt_apply_mvar( TT_Face  face )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1465,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1481,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1482,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1483,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1484,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1485,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1486,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1487,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1488,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1493,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1495,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1495,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1500,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1504,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1505,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1510,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1511,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1517,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1519,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1527,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1529,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1537,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1538,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1542,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1549,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1554,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1563,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1568,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1572,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1575,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1586,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1591,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1595,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1598,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1604,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1610,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1614,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1615,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1620,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1624,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1624,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1625,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1628,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1631,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1633,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 94
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1638
    functionName: ft_var_load_gvar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_FRAME_USHORT
    - FT_fdot14ToFixed
    - FT_NEW_ARRAY
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_GET_USHORT
    - FT_FRAME_ULONG
    - FT_STREAM_POS
    - FT_FRAME_ENTER
    - FT_TRACE1
    - FT_GET_ULONG
    - FT_TRACE2
    - FT_SET_ERROR
    - FT_FACE_STREAM
    - FT_FRAME_EXIT
    - FT_STREAM_READ_FIELDS
    - FT_GET_SHORT
    - FT_TRACE5
    - TT_Face::goto_table
    - FT_FRAME_START
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_var_load_gvar( TT_Face  face )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1686,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1696,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1702,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1709,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1719,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1720,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1722,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1728,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1730,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1741,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1749,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1753,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1757,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1763,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - blend
    - tupleIndex
    - tuple_coords
    - im_start_coords
    - im_end_coords
    argTypes:
    - GX_Blend
    - FT_UShort
    - FT_Fixed*
    - FT_Fixed*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1766
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1766
    functionName: ft_var_apply_tuple
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_MAX
    - FT_MIN
    - FT_TRACE6
    - FT_MulDiv
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed ft_var_apply_tuple( GX_Blend   blend,\n                      FT_UShort
      \ tupleIndex,\n                      FT_Fixed*  tuple_coords,\n                      FT_Fixed*
      \ im_start_coords,\n                      FT_Fixed*  im_end_coords )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1789,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1805,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1808,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1822,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1822,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1823,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1825,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1825,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1826,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1831,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1838,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1848,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 4
    argNames:
    - face
    - num_coords
    - coords
    - normalized
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1862
    functionName: ft_var_to_normalized
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_MulDiv
    - FT_TRACE5
    - FT_TRACE2
    - SUB_LONG
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void ft_var_to_normalized( TT_Face    face,\n                        FT_UInt
      \   num_coords,\n                        FT_Fixed*  coords,\n                        FT_Fixed*
      \ normalized )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1885,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1902,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1912,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1919,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1932,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:1935,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - face
    - num_coords
    - coords
    - design
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1940
    functionName: ft_var_to_design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_TRACE5
    - FT_TRACE2
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void ft_var_to_design( TT_Face    face,\n                    FT_UInt
      \   num_coords,\n                    FT_Fixed*  coords,\n                    FT_Fixed*
      \ design )"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2037,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2038,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2039,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2041,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2042,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2043,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2044,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2054,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2055,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2056,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2057,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2058,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2059,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2060,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2072,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2075,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2075,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2079,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2079,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2082,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2088,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2088,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2091,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2095,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2099,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2102,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2105,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2107,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2111,1
    - Dst: ALIGN_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2138,1
    - Dst: ALIGN_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2139,1
    - Dst: ALIGN_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2141,1
    - Dst: ALIGN_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2143,1
    - Dst: ALIGN_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2145,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2159,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2201,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2214,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2243,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2248,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2263,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2267,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2273,1
    - Dst: ft_var_load_avar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2276,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2278,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2282,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2291,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2295,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2296,1
    - Dst: FT_GET_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2300,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2304,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2318,1
    - Dst: SFNT_Service::get_name
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2322,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2325,1
    - Dst: SFNT_Service::get_name
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2331,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2334,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2338,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2340,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2349,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2350,1
    - Dst: ft_var_to_normalized
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2354,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2357,1
    - Dst: SFNT_Service::get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2370,1
    - Dst: SFNT_Service::get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2378,1
    - Dst: SFNT_Service::get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2388,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2394,1
    - Dst: ft_var_load_mvar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2410,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2420,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2422,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 191
    argCount: 2
    argNames:
    - face
    - master
    argTypes:
    - TT_Face
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2465
      start: 2000
    functionDepth: 3
    functionLinenumber: 2000
    functionLinenumberEnd: 2465
    functionName: TT_Get_MM_Var
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_MEM_COPY
    - FT_FRAME_USHORT
    - SFNT_Service::get_name_id
    - FT_NEW_ARRAY
    - ft_strcmp
    - FT_ALLOC
    - ft_var_load_avar
    - FT_STREAM_SEEK
    - FT_GET_USHORT
    - FT_FRAME_ULONG
    - FT_STREAM_POS
    - FT_FRAME_ENTER
    - SFNT_Service::get_name
    - FT_TRACE1
    - FT_BOOL
    - FT_FREE
    - FT_TRACE2
    - FT_SET_ERROR
    - FT_FRAME_EXIT
    - FT_STREAM_READ_FIELDS
    - ft_var_to_normalized
    - FT_GET_LONG
    - ALIGN_SIZE
    - FT_TRACE5
    - TT_Face::goto_table
    - FT_FRAME_START
    - ft_var_load_mvar
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void TT_Get_MM_Var( TT_Face      face,\n                 FT_MM_Var*
      \ *master )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2135
    functionDepth: 0
    functionLinenumber: 2135
    functionLinenumberEnd: 2137
    functionName: ALIGN_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGN_SIZE( n )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2496,1
    - Dst: TT_Get_MM_Var
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2496,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2505,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2511,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2516,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2519,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2522,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2527,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2530,1
    - Dst: ft_var_load_gvar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2530,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2535,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2544,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2573,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2573,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2619,1
    - Dst: ft_var_to_design
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2624,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2638,1
    - Dst: tt_face_load_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2641,1
    - Dst: tt_face_vary_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2647,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2657,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 95
    argCount: 4
    argNames:
    - face
    - num_coords
    - coords
    - set_design_coords
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2468
    functionDepth: 4
    functionLinenumber: 2468
    functionLinenumberEnd: 2662
    functionName: tt_set_mm_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Get_MM_Var
    - FT_NEW_ARRAY
    - FT_IS_NAMED_INSTANCE
    - FT_MEM_COPY
    - FT_TRACE1
    - FT_FACE
    - ft_var_load_gvar
    - FT_THROW
    - FT_TRACE5
    - FT_FREE
    - FT_TRACE2
    - ft_var_to_design
    - tt_face_vary_cvt
    - FT_SET_ERROR
    - tt_face_load_cvt
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_set_mm_blend( TT_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords,\n                   FT_Bool
      \   set_design_coords )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2711
    functionName: TT_Set_MM_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - tt_set_mm_blend
    linkageType: ''
    returnType: void
    signature: "void TT_Set_MM_Blend( TT_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2752,1
    - Dst: TT_Get_MM_Var
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2752,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2762,1
    - Dst: tt_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2762,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2769,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2741
    functionDepth: 5
    functionLinenumber: 2741
    functionLinenumberEnd: 2790
    functionName: TT_Get_MM_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Get_MM_Var
    - FT_SET_ERROR
    - tt_set_mm_blend
    - FT_TRACE2
    linkageType: ''
    returnType: void
    signature: "void TT_Get_MM_Blend( TT_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2841,1
    - Dst: TT_Get_MM_Var
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2841,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2850,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2858,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2873,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2873,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2913,1
    - Dst: ft_var_load_avar
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2917,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2919,1
    - Dst: ft_var_to_normalized
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2921,1
    - Dst: tt_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2923,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2933,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2935
      start: 2822
    functionDepth: 5
    functionLinenumber: 2822
    functionLinenumberEnd: 2935
    functionName: TT_Set_Var_Design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Get_MM_Var
    - FT_NEW_ARRAY
    - FT_IS_NAMED_INSTANCE
    - tt_set_mm_blend
    - ft_var_to_normalized
    - FT_FACE
    - ft_var_load_avar
    - FT_TRACE5
    - FT_FREE
    - FT_TRACE2
    - FT_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void TT_Set_Var_Design( TT_Face    face,\n                     FT_UInt
      \   num_coords,\n                     FT_Fixed*  coords )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2975,1
    - Dst: TT_Get_MM_Var
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2975,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2985,1
    - Dst: tt_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2985,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:2992,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2964
    functionDepth: 5
    functionLinenumber: 2964
    functionLinenumberEnd: 3013
    functionName: TT_Get_Var_Design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Get_MM_Var
    - FT_SET_ERROR
    - tt_set_mm_blend
    - FT_TRACE2
    linkageType: ''
    returnType: void
    signature: "void TT_Get_Var_Design( TT_Face    face,\n                     FT_UInt
      \   num_coords,\n                     FT_Fixed*  coords )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3040,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3049,1
    - Dst: TT_Get_MM_Var
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3049,1
    - Dst: SFNT_Service::get_name
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3073,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3080,1
    - Dst: TT_Set_Var_Design
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3084,1
    - Dst: TT_Set_Var_Design
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3096,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - face
    - instance_index
    argTypes:
    - TT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3104
      start: 3037
    functionDepth: 6
    functionLinenumber: 3037
    functionLinenumberEnd: 3104
    functionName: TT_Set_Named_Instance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - TT_Get_MM_Var
    - SFNT_Service::get_name
    - FT_FREE
    - FT_SET_ERROR
    - TT_Set_Var_Design
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void TT_Set_Named_Instance( TT_Face  face,\n                         FT_UInt
      \ instance_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - node
    - user
    argTypes:
    - FT_ListNode
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3116
    functionDepth: 0
    functionLinenumber: 3116
    functionLinenumberEnd: 3128
    functionName: tt_cvt_ready_iterator
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_cvt_ready_iterator( FT_ListNode  node,\n                         void*
      \       user )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3189,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3193,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3201,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3207,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3210,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3216,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3222,1
    - Dst: FT_GET_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3223,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3225,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3231,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3233,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3234,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3235,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3238,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3239,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3245,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3248,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3256,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3258,1
    - Dst: ft_var_readpackedpoints
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3260,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3263,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3265,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3268,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3273,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3283,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3285,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3286,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3291,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3291,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3295,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3298,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3305,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3308,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3312,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3322,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3322,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3324,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3324,1
    - Dst: ft_var_apply_tuple
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3327,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3339,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3341,1
    - Dst: ft_var_readpackedpoints
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3345,1
    - Dst: ft_var_readpackeddeltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3356,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3373,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3382,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3387,1
    - Dst: FT_fdot6ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3389,1
    - Dst: FT_fdot6ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3391,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3400,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3411,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3424,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3429,1
    - Dst: FT_fdot6ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3431,1
    - Dst: FT_fdot6ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3433,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3442,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3447,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3448,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3452,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3455,1
    - Dst: FT_fixedToFdot6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3458,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3461,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3465,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3466,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3467,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3468,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3469,1
    - Dst: FT_List_Iterate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3473,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 152
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3155
    functionDepth: 2
    functionLinenumber: 3155
    functionLinenumberEnd: 3478
    functionName: tt_face_vary_cvt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 1
    functionsReached:
    - FT_MEM_COPY
    - FT_TRACE6
    - FT_TRACE7
    - FT_Stream_FTell
    - FT_fdot6ToFixed
    - FT_MulFix
    - FT_Stream_SeekSet
    - FT_fdot14ToFixed
    - FT_NEW_ARRAY
    - FT_THROW
    - FT_GET_USHORT
    - ft_var_readpackeddeltas
    - FT_FRAME_ENTER
    - FT_List_Iterate
    - FT_FREE
    - FT_TRACE2
    - FT_fixedToFdot6
    - FT_FRAME_EXIT
    - FT_GET_SHORT
    - ft_var_readpackedpoints
    - ft_var_apply_tuple
    - FT_GET_LONG
    - FT_TRACE5
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_vary_cvt( TT_Face    face,\n                    FT_Stream
      \ stream )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - p1
    - p2
    - ref
    - in_points
    - out_points
    argTypes:
    - int
    - int
    - int
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3514
      start: 3486
    functionDepth: 0
    functionLinenumber: 3486
    functionLinenumberEnd: 3514
    functionName: tt_delta_shift
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_delta_shift( int         p1,\n                  int         p2,\n
      \                 int         ref,\n                  FT_Vector*  in_points,\n
      \                 FT_Vector*  out_points )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3564,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3577,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 6
    argNames:
    - p1
    - p2
    - ref1
    - ref2
    - in_points
    - out_points
    argTypes:
    - int
    - int
    - int
    - int
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3583
      start: 3523
    functionDepth: 1
    functionLinenumber: 3523
    functionLinenumberEnd: 3583
    functionName: tt_delta_interpolate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void tt_delta_interpolate( int         p1,\n                        int
      \        p2,\n                        int         ref1,\n                        int
      \        ref2,\n                        FT_Vector*  in_points,\n                        FT_Vector*
      \ out_points )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_delta_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3636,1
    - Dst: tt_delta_shift
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3650,1
    - Dst: tt_delta_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3659,1
    - Dst: tt_delta_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3667,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - outline
    - out_points
    - in_points
    - has_delta
    argTypes:
    - FT_Outline*
    - FT_Vector*
    - FT_Vector*
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3678
      start: 3591
    functionDepth: 2
    functionLinenumber: 3591
    functionLinenumberEnd: 3678
    functionName: tt_interpolate_deltas
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - tt_delta_shift
    - tt_delta_interpolate
    linkageType: ''
    returnType: void
    signature: "void tt_interpolate_deltas( FT_Outline*  outline,\n                         FT_Vector*
      \  out_points,\n                         FT_Vector*   in_points,\n                         FT_Bool*
      \    has_delta )"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3756,1
    - Dst: INT_TO_F26DOT6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3760,1
    - Dst: INT_TO_F26DOT6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3761,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3768,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3773,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3774,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3775,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3781,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3782,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3785,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3789,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3790,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3791,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3794,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3795,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3801,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3804,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3812,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3814,1
    - Dst: ft_var_readpackedpoints
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3816,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3819,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3821,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3824,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3829,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3830,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3835,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3836,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3846,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3848,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3849,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3854,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3854,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3858,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3861,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3865,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3874,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3874,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3876,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3876,1
    - Dst: ft_var_apply_tuple
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3879,1
    - Dst: FT_Stream_FTell
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3891,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3893,1
    - Dst: ft_var_readpackedpoints
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3897,1
    - Dst: ft_var_readpackeddeltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3908,1
    - Dst: ft_var_readpackeddeltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3912,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3927,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3935,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3936,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3973,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3975,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3977,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3979,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3981,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:3990,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4019,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4020,1
    - Dst: tt_interpolate_deltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4025,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4030,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4075,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4077,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4079,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4081,1
    - Dst: FT_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4083,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4092,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4097,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4098,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4099,1
    - Dst: FT_Stream_SeekSet
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4103,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4106,1
    - Dst: FT_fixedToFdot6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4110,1
    - Dst: FT_fixedToFdot6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4111,1
    - Dst: FT_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4113,1
    - Dst: FT_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4114,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4118,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4119,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4123,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4124,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4125,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4126,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4128,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4131,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4132,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4133,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 176
    argCount: 5
    argNames:
    - face
    - glyph_index
    - outline
    - unrounded
    - n_points
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Outline*
    - FT_Vector*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 3713
    functionDepth: 3
    functionLinenumber: 3713
    functionLinenumberEnd: 4136
    functionName: TT_Vary_Apply_Glyph_Deltas
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_TRACE6
    - FT_TRACE7
    - FT_Stream_FTell
    - FT_MulFix
    - FT_fixedToInt
    - FT_Stream_SeekSet
    - FT_fdot14ToFixed
    - FT_NEW_ARRAY
    - FT_intToFixed
    - tt_interpolate_deltas
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_GET_USHORT
    - INT_TO_F26DOT6
    - ft_var_readpackeddeltas
    - FT_FRAME_ENTER
    - FT_FREE
    - FT_TRACE2
    - FT_fixedToFdot6
    - FT_FRAME_EXIT
    - FT_GET_SHORT
    - ft_var_readpackedpoints
    - ft_var_apply_tuple
    - FT_TRACE5
    linkageType: ''
    returnType: void
    signature: "void TT_Vary_Apply_Glyph_Deltas( TT_Face      face,\n                              FT_UInt
      \     glyph_index,\n                              FT_Outline*  outline,\n                              FT_Vector*
      \  unrounded,\n                              FT_UInt      n_points )"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - face
    - num_coords
    - coords
    - normalizedcoords
    - mm_var
    argTypes:
    - TT_Face
    - FT_UInt*
    - FT_Fixed**
    - FT_Fixed**
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4178
      start: 4150
    functionDepth: 0
    functionLinenumber: 4150
    functionLinenumberEnd: 4178
    functionName: tt_get_var_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_get_var_blend( TT_Face      face,\n                    FT_UInt
      \    *num_coords,\n                    FT_Fixed*   *coords,\n                    FT_Fixed*
      \  *normalizedcoords,\n                    FT_MM_Var*  *mm_var )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4185,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4193,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4194,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4197,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4203,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - face
    - itemStore
    argTypes:
    - TT_Face
    - GX_ItemVarStore
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4207
      start: 4181
    functionDepth: 1
    functionLinenumber: 4181
    functionLinenumberEnd: 4207
    functionName: ft_var_done_item_variation_store
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: "void ft_var_done_item_variation_store( TT_Face          face,\n                                    GX_ItemVarStore
      \ itemStore )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4221,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4233,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4234,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4235,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4236,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4241,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4242,1
    - Dst: ft_var_done_item_variation_store
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4247,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4250,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4251,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4252,1
    - Dst: ft_var_done_item_variation_store
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4257,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4260,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4261,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4262,1
    - Dst: ft_var_done_item_variation_store
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4267,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4270,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4271,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4274,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4275,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c:4276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4278
      start: 4219
    functionDepth: 2
    functionLinenumber: 4219
    functionLinenumberEnd: 4278
    functionName: tt_done_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgxvar.c
    functionUses: 0
    functionsReached:
    - ft_var_done_item_variation_store
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void tt_done_blend( TT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: IS_DEFAULT_INSTANCE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DEFAULT_INSTANCE( _face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: IS_DEFAULT_INSTANCE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_DEFAULT_INSTANCE( _face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:104,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:106,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - face
    - idx
    - lsb
    - aw
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Short*
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: TT_Get_HMetrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_TRACE5
    - get_metrics
    linkageType: ''
    returnType: void
    signature: "void TT_Get_HMetrics( TT_Face     face,\n                   FT_UInt
      \    idx,\n                   FT_Short*   lsb,\n                   FT_UShort*
      \ aw )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:124,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:129,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:136,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:140,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - face
    - idx
    - yMax
    - tsb
    - ah
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Pos
    - FT_Short*
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 142
    functionName: TT_Get_VMetrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_TRACE5
    - FT_ABS
    - get_metrics
    linkageType: ''
    returnType: void
    signature: "void TT_Get_VMetrics( TT_Face     face,\n                   FT_UInt
      \    idx,\n                   FT_Pos      yMax,\n                   FT_Short*
      \  tsb,\n                   FT_UShort*  ah )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:151,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:162,1
    - Dst: TT_Get_HMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:165,1
    - Dst: TT_Get_VMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:168,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:173,1
    - Dst: sph_set_tweaks
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - loader
    - glyph_index
    argTypes:
    - TT_Loader
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 202
    functionName: tt_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - sph_set_tweaks
    - FT_STREAM_SEEK
    - TT_Get_HMetrics
    - FT_FACE_DRIVER
    - TT_Get_VMetrics
    - FT_STREAM_POS
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_get_metrics( TT_Loader  loader,\n                  FT_UInt
      \   glyph_index )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::root::internal::incremental_interface::funcs::get_glyph_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:231,1
    - Dst: TT_Face::root::internal::incremental_interface::funcs::get_glyph_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:247,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - loader
    - glyph_index
    argTypes:
    - TT_Loader
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 272
    functionName: tt_get_metrics_incr_overrides
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - TT_Face::root::internal::incremental_interface::funcs::get_glyph_metrics
    linkageType: ''
    returnType: void
    signature: "void tt_get_metrics_incr_overrides( TT_Loader  loader,\n                                 FT_UInt
      \   glyph_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:294,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:298,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - loader
    - glyph_index
    - offset
    - byte_count
    argTypes:
    - TT_Loader
    - FT_UInt
    - FT_ULong
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 305
    functionName: TT_Access_Glyph_Frame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_ENTER
    - FT_STREAM_SEEK
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void TT_Access_Glyph_Frame( TT_Loader  loader,\n                         FT_UInt
      \   glyph_index,\n                         FT_ULong   offset,\n                         FT_UInt
      \   byte_count )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: TT_Forget_Glyph_Frame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    linkageType: ''
    returnType: void
    signature: void TT_Forget_Glyph_Frame( TT_Loader  loader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:326,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:328,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:330,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:331,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:332,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:333,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:335,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:336,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - loader
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 343
    functionName: TT_Load_Glyph_Header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_NEXT_SHORT
    - FT_TRACE5
    linkageType: ''
    returnType: void
    signature: void TT_Load_Glyph_Header( TT_Loader  loader )
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:367,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:379,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:389,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:406,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:409,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:420,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:422,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:426,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:434,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:435,1
    - Dst: Update_Max
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:443,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:457,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:470,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:477,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:483,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:513,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:522,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:547,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:556,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:575,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 141
    argCount: 1
    argNames:
    - load
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 577
    functionName: TT_Load_Simple_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - Update_Max
    - FT_TRACE1
    - IS_HINTED
    - FT_NEXT_SHORT
    - FT_NEXT_BYTE
    - FT_THROW
    - FT_ASSERT
    - FT_TRACE5
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void TT_Load_Simple_Glyph( TT_Loader  load )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_CheckSubGlyphs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:601,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:613,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:614,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:640,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:641,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:645,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:646,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:653,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:654,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:658,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:659,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:669,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:674,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:675,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:679,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:680,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:681,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:682,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:695,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:709,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:711,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:714,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:718,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:723,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:726,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:730,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:752,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:764,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 98
    argCount: 1
    argNames:
    - loader
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 766
    functionName: TT_Load_Composite_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_CHAR
    - FT_GlyphLoader_CheckSubGlyphs
    - FT_TRACE7
    - FT_NEXT_SHORT
    - FT_NEXT_BYTE
    - FT_THROW
    - FT_TRACE5
    - FT_STREAM_POS
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void TT_Load_Composite_Glyph( TT_Loader  loader )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: TT_Init_Glyph_Loading
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TT_Init_Glyph_Loading( TT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - zone
    - load
    - start_point
    - start_contour
    argTypes:
    - TT_GlyphZone
    - FT_GlyphLoad
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 796
    functionName: tt_prepare_zone
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_prepare_zone( TT_GlyphZone  zone,\n                   FT_GlyphLoad
      \ load,\n                   FT_UInt       start_point,\n                   FT_UInt
      \      start_contour )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1167,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1173,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1193,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1243,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1244,1
    - Dst: FT_Hypot
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1252,1
    - Dst: FT_Hypot
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1254,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1258,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1259,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1271,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1272,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1277,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1280,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1294,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1296,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1303,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 4
    argNames:
    - loader
    - subglyph
    - start_point
    - num_base_points
    argTypes:
    - TT_Loader
    - FT_SubGlyph
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1306
    functionName: TT_Process_Composite_Component
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Translate
    - FT_Hypot
    - FT_Outline_Transform
    - FT_BOOL
    - IS_HINTED
    - FT_THROW
    - FT_MulFix
    - FT_FACE_DRIVER
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error TT_Process_Composite_Component( TT_Loader    loader,\n                                  FT_SubGlyph
      \ subglyph,\n                                  FT_UInt      start_point,\n                                  FT_UInt
      \     num_base_points )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1332,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1358,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1359,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1362,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1372,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1375,1
    - Dst: Update_Max
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1379,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1392,1
    - Dst: tt_prepare_zone
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1401,1
    - Dst: TT_Hint_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1411,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 3
    argNames:
    - loader
    - start_point
    - start_contour
    argTypes:
    - TT_Loader
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1412
    functionName: TT_Process_Composite_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - Update_Max
    - tt_prepare_zone
    - FT_STREAM_READ
    - FT_TRACE1
    - FT_STREAM_SEEK
    - TT_Hint_Glyph
    - FT_THROW
    - FT_TRACE5
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_READ_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error TT_Process_Composite_Glyph( TT_Loader  loader,\n                              FT_UInt
      \   start_point,\n                              FT_UInt    start_contour )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1507,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - loader
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1541
    functionName: tt_loader_set_pp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_FACE_DRIVER
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: void tt_loader_set_pp( TT_Loader  loader )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - list
    - idx
    argTypes:
    - FT_List
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1564
    functionName: ft_list_get_node_at
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_ListNode
    signature: "FT_ListNode ft_list_get_node_at( FT_List  list,\n                       FT_UInt
      \ idx )"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1599,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1605,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1614,1
    - Dst: TT_Face::root::internal::incremental_interface::funcs::get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1643,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1653,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1654,1
    - Dst: tt_face_get_location
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1664,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1677,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1678,1
    - Dst: TT_Face::access_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1682,1
    - Dst: TT_Face::read_glyph_header
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1689,1
    - Dst: TT_Face::forget_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1691,1
    - Dst: tt_get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1709,1
    - Dst: tt_loader_set_pp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1720,1
    - Dst: tt_get_metrics_incr_overrides
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1723,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1728,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1728,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1729,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1729,1
    - Dst: TT_Vary_Apply_Glyph_Deltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1759,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1780,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1783,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1793,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1794,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1797,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1798,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1799,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1800,1
    - Dst: tt_loader_set_pp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1809,1
    - Dst: tt_get_metrics_incr_overrides
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1812,1
    - Dst: TT_Face::access_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1821,1
    - Dst: TT_Face::read_simple_glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1833,1
    - Dst: TT_Face::forget_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1838,1
    - Dst: TT_Process_Simple_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1841,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1845,1
    - Dst: ft_list_get_node_at
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1875,1
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1880,1
    - Dst: FT_UINT_TO_POINTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1881,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1883,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1885,1
    - Dst: FT_UINT_TO_POINTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1890,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1894,1
    - Dst: FT_UINT_TO_POINTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1896,1
    - Dst: FT_List_Add
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1897,1
    - Dst: TT_Face::read_composite_glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1904,1
    - Dst: TT_Face::forget_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1912,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1917,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1917,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1918,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1918,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1941,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1942,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1943,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1944,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1989,1
    - Dst: TT_Vary_Apply_Glyph_Deltas
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:1989,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2022,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2026,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2030,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2031,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2032,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2033,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2045,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2046,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2049,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2050,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2051,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2052,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2060,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2082,1
    - Dst: load_truetype_glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2109,1
    - Dst: TT_Process_Composite_Component
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2144,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2157,1
    - Dst: TT_Process_Composite_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2164,1
    - Dst: TT_Face::forget_glyph_frame
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2180,1
    - Dst: TT_Face::root::internal::incremental_interface::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2185,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 292
    argCount: 4
    argNames:
    - loader
    - glyph_index
    - recurse_count
    - header_only
    argTypes:
    - TT_Loader
    - FT_UInt
    - FT_UInt
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 1576
    functionDepth: 4
    functionLinenumber: 1576
    functionLinenumberEnd: 2192
    functionName: load_truetype_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 1
    functionsReached:
    - tt_face_get_location
    - FT_FACE
    - TT_Face::access_glyph_frame
    - FT_Stream_OpenMemory
    - FT_IS_VARIATION
    - tt_loader_set_pp
    - FT_MulFix
    - FT_ZERO
    - FT_PIX_ROUND
    - FT_NEW_ARRAY
    - FT_List_Add
    - TT_Process_Simple_Glyph
    - FT_THROW
    - FT_GlyphLoader_Add
    - TT_Face::read_composite_glyph
    - TT_Process_Composite_Glyph
    - FT_List_Find
    - ft_list_get_node_at
    - TT_Process_Composite_Component
    - TT_Vary_Apply_Glyph_Deltas
    - FT_IS_NAMED_INSTANCE
    - tt_get_metrics_incr_overrides
    - FT_TRACE1
    - FT_UINT_TO_POINTER
    - TT_Face::read_simple_glyph
    - load_truetype_glyph
    - TT_Face::root::internal::incremental_interface::funcs::get_glyph_data
    - FT_FREE
    - FT_TRACE2
    - FT_SET_ERROR
    - TT_Face::read_glyph_header
    - IS_HINTED
    - TT_Face::root::internal::incremental_interface::funcs::free_glyph_data
    - FT_TRACE5
    - TT_Face::forget_glyph_frame
    - tt_get_metrics
    - FT_NEW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_truetype_glyph( TT_Loader  loader,\n                       FT_UInt
      \   glyph_index,\n                       FT_UInt    recurse_count,\n                       FT_Bool
      \   header_only )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2202,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2216,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2226,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2238,1
    - Dst: tt_face_get_device_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2244,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2255,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2255,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 21
    argCount: 2
    argNames:
    - loader
    - glyph_index
    argTypes:
    - TT_Loader
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2195
    functionDepth: 1
    functionLinenumber: 2195
    functionLinenumberEnd: 2272
    functionName: compute_glyph_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_CBox
    - IS_HINTED
    - FT_BOOL
    - FT_FACE_DRIVER
    - SUB_LONG
    - tt_face_get_device_metrics
    - FT_LOAD_TARGET_MODE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error compute_glyph_metrics( TT_Loader  loader,\n                         FT_UInt
      \   glyph_index )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SFNT_Service::load_sbit_image
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 4
    argNames:
    - size
    - glyph
    - glyph_index
    - load_flags
    argTypes:
    - TT_Size
    - TT_GlyphSlot
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2382
    functionDepth: 1
    functionLinenumber: 2382
    functionLinenumberEnd: 2437
    functionName: load_sbit_image
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 1
    functionsReached:
    - SFNT_Service::load_sbit_image
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_sbit_image( TT_Size       size,\n                   TT_GlyphSlot
      \ glyph,\n                   FT_UInt       glyph_index,\n                   FT_Int32
      \     load_flags )"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2454,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2457,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2465,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2470,1
    - Dst: tt_size_ready_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2498,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2510,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2516,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2516,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2519,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2525,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2541,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2541,1
    - Dst: FT_IS_TRICKY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2555,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2572,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2572,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2575,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2575,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2578,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2578,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2581,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2581,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2584,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2584,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2587,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2587,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2598,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2599,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2603,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2603,1
    - Dst: TT_Load_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2606,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2618,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2629,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2649,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2660,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2673,1
    - Dst: tt_size_run_prep
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2683,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2704,1
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2717,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 117
    argCount: 5
    argNames:
    - loader
    - size
    - glyph
    - load_flags
    - glyf_table_only
    argTypes:
    - TT_Loader
    - TT_Size
    - TT_GlyphSlot
    - FT_Int32
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2732
      start: 2442
    functionDepth: 1
    functionLinenumber: 2442
    functionLinenumberEnd: 2732
    functionName: tt_loader_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - TT_Load_Context
    - FT_IS_TRICKY
    - IS_HINTED
    - FT_BOOL
    - FT_THROW
    - FT_GlyphLoader_Rewind
    - FT_ZERO
    - FT_FACE_DRIVER
    - tt_size_ready_bytecode
    - FT_TRACE4
    - tt_size_run_prep
    - FT_LOAD_TARGET_MODE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_loader_init( TT_Loader     loader,\n                  TT_Size
      \      size,\n                  TT_GlyphSlot  glyph,\n                  FT_Int32
      \     load_flags,\n                  FT_Bool       glyf_table_only )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_List_Finalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - TT_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2735
    functionDepth: 1
    functionLinenumber: 2735
    functionLinenumberEnd: 2742
    functionName: tt_loader_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - FT_List_Finalize
    linkageType: ''
    returnType: void
    signature: void tt_loader_done( TT_Loader  loader )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2786,1
    - Dst: IS_DEFAULT_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2793,1
    - Dst: load_sbit_image
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2799,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2800,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2804,1
    - Dst: TT_Get_HMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2824,1
    - Dst: TT_Get_VMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2827,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2838,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2840,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2843,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2844,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2858,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2863,1
    - Dst: tt_loader_init
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2866,1
    - Dst: load_truetype_glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2867,1
    - Dst: tt_loader_done
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2868,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2875,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2878,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2891,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2897,1
    - Dst: tt_loader_init
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2901,1
    - Dst: load_truetype_glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2910,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2928,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2933,1
    - Dst: compute_glyph_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2965,1
    - Dst: tt_loader_done
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2968,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c:2981,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 4
    argNames:
    - size
    - glyph
    - glyph_index
    - load_flags
    argTypes:
    - TT_Size
    - TT_GlyphSlot
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2777
    functionDepth: 5
    functionLinenumber: 2777
    functionLinenumberEnd: 2986
    functionName: TT_Load_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttgload.c
    functionUses: 0
    functionsReached:
    - IS_DEFAULT_INSTANCE
    - FT_Outline_Translate
    - load_sbit_image
    - FT_TRACE1
    - IS_HINTED
    - TT_Get_HMetrics
    - FT_MulFix
    - load_truetype_glyph
    - FT_ERR_EQ
    - FT_THROW
    - tt_loader_init
    - TT_Get_VMetrics
    - tt_loader_done
    - FT_IS_SCALABLE
    - compute_glyph_metrics
    linkageType: ''
    returnType: void
    signature: "void TT_Load_Glyph( TT_Size       size,\n                 TT_GlyphSlot
      \ glyph,\n                 FT_UInt       glyph_index,\n                 FT_Int32
      \     load_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: IS_HINTED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_HINTED( flags )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:73,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:77,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:91,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:94,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:95,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:98,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:108,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:119,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:127,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:139,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:168,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:176,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:186,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:189,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 193
    functionName: tt_face_load_loca
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - TT_Face::goto_table
    - FT_FRAME_EXTRACT
    - FT_THROW
    - FT_ERR_EQ
    - FT_TRACE2
    - FT_STREAM_POS
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_loca( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:215,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:219,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:226,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:230,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:240,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:254,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:263,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 3
    argNames:
    - face
    - gindex
    - asize
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 287
    functionName: tt_face_get_location
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 1
    functionsReached:
    - FT_NEXT_USHORT
    - FT_NEXT_ULONG
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_location( TT_Face   face,\n                        FT_UInt
      \  gindex,\n                        FT_UInt  *asize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 298
    functionName: tt_face_done_loca
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: void
    signature: void tt_face_done_loca( TT_Face  face )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:332,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:334,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:337,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:348,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:351,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:360,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:363,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:364,1
    - Dst: tt_face_vary_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:368,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:376,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:377,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 382
    functionName: tt_face_load_cvt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 1
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_NEW_ARRAY
    - FT_GET_SHORT
    - FT_TRACE2
    - tt_face_vary_cvt
    - TT_Face::goto_table
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_cvt( TT_Face    face,\n                    FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:414,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:417,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:424,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:429,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:432,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:440,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:441,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 446
    functionName: tt_face_load_fpgm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - FT_TRACE2
    - FT_UNUSED
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_fpgm( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:478,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:480,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:487,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:492,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:495,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:503,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:504,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 509
    functionName: tt_face_load_prep
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - FT_TRACE2
    - FT_UNUSED
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_prep( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:544,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:548,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:558,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:559,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:581,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:585,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:605,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 608
    functionName: tt_face_load_hdmx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_NEXT_ULONG
    - FT_FRAME_EXTRACT
    - FT_THROW
    - TT_Face::goto_table
    - FT_FRAME_RELEASE
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_hdmx( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:618,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 620
    functionName: tt_face_free_hdmx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_hdmx( TT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - face
    - ppem
    - gindex
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 649
    functionName: tt_face_get_device_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttpload.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_device_metrics( TT_Face  face,\n                              FT_UInt
      \ ppem,\n                              FT_UInt  gindex )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:78,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:79,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:80,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:81,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - zone
    argTypes:
    - TT_GlyphZone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 88
    functionName: tt_glyphzone_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_glyphzone_done( TT_GlyphZone  zone )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:125,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:128,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:129,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:130,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:131,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:132,1
    - Dst: tt_glyphzone_done
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - memory
    - maxPoints
    - maxContours
    - zone
    argTypes:
    - FT_Memory
    - FT_UShort
    - FT_Short
    - TT_GlyphZone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 143
    functionName: tt_glyphzone_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_ZERO
    - tt_glyphzone_done
    linkageType: ''
    returnType: void
    signature: "void tt_glyphzone_new( FT_Memory     memory,\n                    FT_UShort
      \    maxPoints,\n                    FT_Short      maxContours,\n                    TT_GlyphZone
      \ zone )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strstr
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:206,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 210
    functionName: tt_check_trickyness_family
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - ft_strstr
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool tt_check_trickyness_family( const FT_String*  name )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:229,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:233,1
    - Dst: FT_GET_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:236,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:238,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stream
    - length
    argTypes:
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 241
    functionName: tt_synth_sfnt_checksum
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_GET_BYTE
    - FT_FRAME_ENTER
    - FT_GET_ULONG
    - FT_FRAME_EXIT
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 tt_synth_sfnt_checksum( FT_Stream  stream,\n                          FT_ULong
      \  length )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:258,1
    - Dst: tt_synth_sfnt_checksum
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - face
    - i
    argTypes:
    - TT_Face
    - FT_UShort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 266
    functionName: tt_get_sfnt_checksum
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - tt_synth_sfnt_checksum
    - TT_Face::goto_table
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong tt_get_sfnt_checksum( TT_Face    face,\n                        FT_UShort
      \ i )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_SET
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:444,1
    - Dst: tt_get_sfnt_checksum
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:479,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 502
    functionName: tt_check_trickyness_sfnt_ids
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_MEM_SET
    - tt_get_sfnt_checksum
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool tt_check_trickyness_sfnt_ids( TT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_check_trickyness_family
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:513,1
    - Dst: tt_check_trickyness_sfnt_ids
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 505
    functionDepth: 4
    functionLinenumber: 505
    functionLinenumberEnd: 523
    functionName: tt_check_trickyness
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - tt_check_trickyness_sfnt_ids
    - tt_check_trickyness_family
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool tt_check_trickyness( FT_Face  face )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_get_location
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:541,1
    - Dst: FT_Get_Glyph_Name
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:563,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - ttface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 571
    functionName: tt_check_single_notdef
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - tt_face_get_location
    - FT_Get_Glyph_Name
    - ft_strncmp
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool tt_check_single_notdef( FT_Face  ttface )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::extra::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:786,1
    - Dst: SFNT_Service::done_face
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:789,1
    - Dst: tt_face_done_loca
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:792,1
    - Dst: tt_face_free_hdmx
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:794,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:797,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:801,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:802,1
    - Dst: tt_done_blend
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:807,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - ttface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 769
    functionDepth: 3
    functionLinenumber: 769
    functionLinenumberEnd: 810
    functionName: tt_face_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::done_face
    - TT_Face::extra::finalizer
    - tt_face_done_loca
    - tt_done_blend
    - FT_FREE
    - FT_FRAME_RELEASE
    - tt_face_free_hdmx
    linkageType: ''
    returnType: void
    signature: void tt_face_done( FT_Face  ttface )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_Load_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:850,1
    - Dst: TT_Set_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:882,1
    - Dst: TT_Clear_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:888,1
    - Dst: TT_Clear_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:889,1
    - Dst: TT_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:893,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:895,1
    - Dst: TT_Face::interpreter
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:896,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:899,1
    - Dst: TT_Save_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 2
    argNames:
    - size
    - pedantic
    argTypes:
    - TT_Size
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 912
    functionName: tt_size_run_fpgm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - TT_Save_Context
    - TT_Load_Context
    - TT_Clear_CodeRange
    - TT_Set_CodeRange
    - TT_Face::interpreter
    - FT_TRACE4
    - TT_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: "void tt_size_run_fpgm( TT_Size  size,\n                    FT_Bool
      \ pedantic )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:948,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:951,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:952,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:955,1
    - Dst: TT_Load_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:959,1
    - Dst: TT_Set_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:970,1
    - Dst: TT_Clear_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:975,1
    - Dst: TT_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:979,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:981,1
    - Dst: TT_Face::interpreter
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:982,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:985,1
    - Dst: TT_Save_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1017,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 2
    argNames:
    - size
    - pedantic
    argTypes:
    - TT_Size
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 934
    functionDepth: 1
    functionLinenumber: 934
    functionLinenumberEnd: 1020
    functionName: tt_size_run_prep
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 1
    functionsReached:
    - TT_Save_Context
    - FT_TRACE6
    - TT_Load_Context
    - TT_Clear_CodeRange
    - TT_Set_CodeRange
    - TT_Face::interpreter
    - FT_MulFix
    - FT_TRACE4
    - TT_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: "void tt_size_run_prep( TT_Size  size,\n                    FT_Bool
      \ pedantic )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_Done_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1032,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1036,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1040,1
    - Dst: tt_glyphzone_done
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1044,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1046,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - ftsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1059
    functionName: tt_size_done_bytecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - tt_glyphzone_done
    - FT_FREE
    - TT_Done_Context
    linkageType: ''
    returnType: void
    signature: void tt_size_done_bytecode( FT_Size  ftsize )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1078,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1079,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1080,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1081,1
    - Dst: TT_Done_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1084,1
    - Dst: tt_glyphzone_done
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1085,1
    - Dst: TT_New_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1090,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1126,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1127,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1128,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1129,1
    - Dst: tt_glyphzone_new
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1138,1
    - Dst: tt_size_run_fpgm
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1165,1
    - Dst: tt_size_done_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1170,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 2
    argNames:
    - ftsize
    - pedantic
    argTypes:
    - FT_Size
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1173
    functionName: tt_size_init_bytecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - tt_glyphzone_new
    - TT_New_Context
    - TT_Done_Context
    - FT_FREE
    - tt_size_done_bytecode
    - tt_size_run_fpgm
    - tt_glyphzone_done
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_size_init_bytecode( FT_Size  ftsize,\n                         FT_Bool
      \ pedantic )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_size_init_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1184,1
    - Dst: tt_size_run_prep
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - size
    - pedantic
    argTypes:
    - TT_Size
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1177
    functionDepth: 4
    functionLinenumber: 1177
    functionLinenumberEnd: 1219
    functionName: tt_size_ready_bytecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 1
    functionsReached:
    - tt_size_init_bytecode
    - tt_size_run_prep
    linkageType: ''
    returnType: void
    signature: "void tt_size_ready_bytecode( TT_Size  size,\n                          FT_Bool
      \ pedantic )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ttsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1255
    functionName: tt_size_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tt_size_init( FT_Size  ttsize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_size_done_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ttsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1271
    functionDepth: 3
    functionLinenumber: 1271
    functionLinenumberEnd: 1281
    functionName: tt_size_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - tt_size_done_bytecode
    linkageType: ''
    returnType: void
    signature: void tt_size_done( FT_Size  ttsize )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1324,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1333,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1334,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1336,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1337,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1339,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1340,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1357,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1359,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1362,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1363,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1373,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 2
    argNames:
    - size
    - only_height
    argTypes:
    - TT_Size
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1392
    functionName: tt_size_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_MulFix
    - FT_DivFix
    - FT_PIX_ROUND
    linkageType: ''
    returnType: void
    signature: "void tt_size_reset( TT_Size  size,\n                 FT_Bool  only_height
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ttdriver
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1433
    functionName: tt_driver_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void tt_driver_init( FT_Module  ttdriver )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ttdriver
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1449
    functionDepth: 0
    functionLinenumber: 1449
    functionLinenumberEnd: 1452
    functionName: tt_driver_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void tt_driver_done( FT_Module  ttdriver )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_CreateExtra
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: tt_slot_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttobjs.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_CreateExtra
    linkageType: ''
    returnType: void
    signature: void tt_slot_init( FT_GlyphSlot  slot )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:71,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:75,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:86,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:107,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:112,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - module
    - property_name
    - value
    - value_is_string
    argTypes:
    - FT_Module
    - char*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 115
    functionName: tt_property_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - ft_strtol
    - FT_THROW
    - FT_TRACE0
    - FT_ERR
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_property_set( FT_Module    module,         /* TT_Driver
      */\n                   const char*  property_name,\n                   const
      void*  value,\n                   FT_Bool      value_is_string )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:129,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:139,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - module
    - property_name
    - value
    argTypes:
    - FT_Module
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 142
    functionName: tt_property_get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE0
    - ft_strcmp
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_property_get( FT_Module    module,         /* TT_Driver
      */\n                   const char*  property_name,\n                   const
      void*  value )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFNT_Service::get_kerning
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ttface
    - left_glyph
    - right_glyph
    - kerning
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: tt_get_kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::get_kerning
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_get_kerning( FT_Face     ttface,          /* TT_Face */\n
      \                 FT_UInt     left_glyph,\n                  FT_UInt     right_glyph,\n
      \                 FT_Vector*  kerning )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:239,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:239,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:241,1
    - Dst: TT_Get_VMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:251,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:259,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:259,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:261,1
    - Dst: TT_Get_HMetrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 5
    argNames:
    - ttface
    - start
    - count
    - flags
    - advances
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Int32
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 276
    functionName: tt_get_advances
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - FT_IS_NAMED_INSTANCE
    - FT_IS_VARIATION
    - FT_THROW
    - TT_Get_HMetrics
    - TT_Get_VMetrics
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_get_advances( FT_Face    ttface,\n                   FT_UInt
      \   start,\n                   FT_UInt    count,\n                   FT_Int32
      \  flags,\n                   FT_Fixed  *advances )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:305,1
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:308,1
    - Dst: tt_size_reset
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:310,1
    - Dst: SFNT_Service::load_strike_metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:318,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: tt_size_select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - FT_IS_SCALABLE
    - FT_Select_Metrics
    - tt_size_reset
    - SFNT_Service::load_strike_metrics
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_size_select( FT_Size   size,\n                  FT_ULong
      \ strike_index )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:341,1
    - Dst: SFNT_Service::set_sbit_strike
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:348,1
    - Dst: tt_size_select
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:353,1
    - Dst: FT_Request_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:358,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:360,1
    - Dst: tt_size_reset
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:362,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:379,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 387
    functionName: tt_size_request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - FT_HAS_FIXED_SIZES
    - tt_size_reset
    - tt_size_select
    - FT_Request_Metrics
    - FT_MulDiv
    - FT_IS_SCALABLE
    - SFNT_Service::set_sbit_strike
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_size_request( FT_Size          size,\n                   FT_Size_Request
      \ req )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:433,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:436,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:447,1
    - Dst: FT_IS_TRICKY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:454,1
    - Dst: FT_IS_TRICKY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:465,1
    - Dst: TT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:475,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 4
    argNames:
    - ttslot
    - ttsize
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 420
    functionDepth: 6
    functionLinenumber: 420
    functionLinenumberEnd: 481
    functionName: tt_glyph_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_IS_TRICKY
    - TT_Load_Glyph
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_glyph_load( FT_GlyphSlot  ttslot,      /* TT_GlyphSlot
      */\n                 FT_Size       ttsize,      /* TT_Size      */\n                 FT_UInt
      \      glyph_index,\n                 FT_Int32      load_flags )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:586,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:597,1
    - Dst: SFNT_Service::get_interface
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - driver
    - tt_interface
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 606
    functionName: tt_get_interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttdriver.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::get_interface
    - ft_service_list_lookup
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: "void tt_get_interface( FT_Module    driver,    /* TT_Driver */\n                    const
      char*  tt_interface )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:756,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:760,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:766,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:770,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:772,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - detected_font_name
    - rule_font_name
    argTypes:
    - FT_String*
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 780
    functionName: is_member_of_family_class
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool is_member_of_family_class( const FT_String*  detected_font_name,\n
      \                            const FT_String*  rule_font_name )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:791,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:795,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:801,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:805,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:807,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - detected_font_style
    - rule_font_style
    argTypes:
    - FT_String*
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 815
    functionName: is_member_of_style_class
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool is_member_of_style_class( const FT_String*  detected_font_style,\n
      \                           const FT_String*  rule_font_style )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_member_of_family_class
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:834,1
    - Dst: is_member_of_style_class
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:838,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 7
    argNames:
    - face
    - family
    - ppem
    - style
    - glyph_index
    - rule
    - num_rules
    argTypes:
    - TT_Face
    - FT_String*
    - FT_UInt
    - FT_String*
    - FT_UInt
    - SPH_TweakRule*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: sph_test_tweak
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached:
    - is_member_of_style_class
    - FT_Get_Char_Index
    - is_member_of_family_class
    linkageType: ''
    returnType: void
    signature: "void sph_test_tweak( TT_Face               face,\n                  const
      FT_String*      family,\n                  FT_UInt               ppem,\n                  const
      FT_String*      style,\n                  FT_UInt               glyph_index,\n
      \                 const SPH_TweakRule*  rule,\n                  FT_UInt               num_rules
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_member_of_family_class
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:865,1
    - Dst: is_member_of_style_class
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:869,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:871,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 9
    argCount: 7
    argNames:
    - face
    - family
    - ppem
    - style
    - glyph_index
    - rule
    - num_rules
    argTypes:
    - TT_Face
    - FT_String*
    - FT_UInt
    - FT_String*
    - FT_UInt
    - SPH_ScaleRule*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 877
    functionName: scale_test_tweak
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached:
    - is_member_of_style_class
    - FT_Get_Char_Index
    - is_member_of_family_class
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt scale_test_tweak( TT_Face               face,\n                    const
      FT_String*      family,\n                    FT_UInt               ppem,\n                    const
      FT_String*      style,\n                    FT_UInt               glyph_index,\n
      \                   const SPH_ScaleRule*  rule,\n                    FT_UInt
      \              num_rules )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scale_test_tweak
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - face
    - family
    - ppem
    - style
    - glyph_index
    argTypes:
    - TT_Face
    - FT_String*
    - FT_UInt
    - FT_String*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 889
    functionName: sph_test_tweak_x_scaling
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached:
    - scale_test_tweak
    linkageType: ''
    returnType: void
    signature: "void sph_test_tweak_x_scaling( TT_Face           face,\n                            const
      FT_String*  family,\n                            FT_UInt           ppem,\n                            const
      FT_String*  style,\n                            FT_UInt           glyph_index
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 896
    functionName: TWEAK_RULES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TWEAK_RULES( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: TWEAK_RULES_EXCEPTIONS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TWEAK_RULES_EXCEPTIONS( x )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:918,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:922,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:930,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:931,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:932,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:933,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:934,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:935,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:936,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:937,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:938,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:939,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:940,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:941,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:942,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:944,1
    - Dst: TWEAK_RULES_EXCEPTIONS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:945,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:947,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:949,1
    - Dst: TWEAK_RULES_EXCEPTIONS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:950,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:952,1
    - Dst: TWEAK_RULES_EXCEPTIONS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:953,1
    - Dst: tt_size_ready_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:962,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:964,1
    - Dst: tt_size_ready_bytecode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:977,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:979,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:985,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:987,1
    - Dst: TWEAK_RULES
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:988,1
    - Dst: sph_test_tweak
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:991,1
    - Dst: IS_HINTED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:996,1
    - Dst: sph_test_tweak
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c:998,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 2
    argNames:
    - loader
    - glyph_index
    argTypes:
    - TT_Loader
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 904
    functionDepth: 5
    functionLinenumber: 904
    functionLinenumberEnd: 1002
    functionName: sph_set_tweaks
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttsubpix.c
    functionUses: 1
    functionsReached:
    - printf
    - FT_BOOL
    - IS_HINTED
    - TWEAK_RULES_EXCEPTIONS
    - tt_size_ready_bytecode
    - sph_test_tweak
    - TWEAK_RULES
    linkageType: ''
    returnType: void
    signature: "void sph_set_tweaks( TT_Loader  loader,\n                  FT_UInt
      \   glyph_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: PROJECT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROJECT( v1, v2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: DUALPROJ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUALPROJ( v1, v2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: FAST_PROJECT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAST_PROJECT( v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: FAST_DUALPROJ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAST_DUALPROJ( v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: BOUNDS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNDS( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: BOUNDSL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNDSL( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:135,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:139,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - exec
    - range
    - IP
    argTypes:
    - TT_ExecContext
    - FT_Int
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 151
    functionName: TT_Goto_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void TT_Goto_CodeRange( TT_ExecContext  exec,\n                     FT_Int
      \         range,\n                     FT_Long         IP )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - exec
    - range
    - base
    - length
    argTypes:
    - TT_ExecContext
    - FT_Int
    - void*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 186
    functionName: TT_Set_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void TT_Set_CodeRange( TT_ExecContext  exec,\n                    FT_Int
      \         range,\n                    void*           base,\n                    FT_Long
      \        length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - exec
    - range
    argTypes:
    - TT_ExecContext
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 213
    functionName: TT_Clear_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void TT_Clear_CodeRange( TT_ExecContext  exec,\n                      FT_Int
      \         range )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:252,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:256,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:261,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - exec
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 268
    functionName: TT_Done_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void TT_Done_Context( TT_ExecContext  exec )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:297,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:302,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:322,1
    - Dst: TT_Done_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - exec
    - memory
    argTypes:
    - TT_ExecContext
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 326
    functionName: Init_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_TRACE1
    - FT_ERROR
    - TT_Done_Context
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error Init_Context( TT_ExecContext  exec,\n                FT_Memory
      \      memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - memory
    - size
    - multiplier
    - _pbuff
    - new_max
    argTypes:
    - FT_Memory
    - FT_ULong*
    - FT_ULong
    - void*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 377
    functionName: Update_Max
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached:
    - FT_REALLOC
    linkageType: ''
    returnType: void
    signature: "void Update_Max( FT_Memory  memory,\n              FT_ULong*  size,\n
      \             FT_ULong   multiplier,\n              void*      _pbuff,\n              FT_ULong
      \  new_max )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:451,1
    - Dst: Update_Max
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:459,1
    - Dst: Update_Max
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 3
    argNames:
    - exec
    - face
    - size
    argTypes:
    - TT_ExecContext
    - TT_Face
    - TT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 488
    functionName: TT_Load_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 3
    functionsReached:
    - Update_Max
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void TT_Load_Context( TT_ExecContext  exec,\n                   TT_Face
      \        face,\n                   TT_Size         size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - exec
    - size
    argTypes:
    - TT_ExecContext
    - TT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 528
    functionName: TT_Save_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TT_Save_Context( TT_ExecContext  exec,\n                   TT_Size
      \        size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:549,1
    - Dst: TT_ExecContext::face::interpreter
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - exec
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 574
    functionName: TT_Run_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::face::interpreter
    - TT_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: void TT_Run_Context( TT_ExecContext  exec )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:614,1
    - Dst: Init_Context
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - driver
    argTypes:
    - TT_Driver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 600
    functionDepth: 3
    functionLinenumber: 600
    functionLinenumberEnd: 626
    functionName: TT_New_Context
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 1
    functionsReached:
    - FT_NEW
    - Init_Context
    linkageType: ''
    returnType: void
    signature: void TT_New_Context( TT_Driver  driver )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1312,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1328
    functionName: TT_MulFix14_arm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 TT_MulFix14_arm( FT_Int32  a,\n                   FT_Int
      \   b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1366
    functionName: TT_MulFix14_long_long
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 TT_MulFix14_long_long( FT_Int32  a,\n                         FT_Int
      \   b )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1409
    functionName: TT_MulFix14
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 TT_MulFix14( FT_Int32  a,\n               FT_Int    b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ax
    - ay
    - bx
    - by
    argTypes:
    - FT_Int32
    - FT_Int32
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1445
    functionName: TT_DotFix14_long_long
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 TT_DotFix14_long_long( FT_Int32  ax,\n                         FT_Int32
      \ ay,\n                         FT_Int    bx,\n                         FT_Int
      \   by )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 4
    argNames:
    - ax
    - ay
    - bx
    - by
    argTypes:
    - FT_Int32
    - FT_Int32
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1495
    functionName: TT_DotFix14
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 TT_DotFix14( FT_Int32  ax,\n               FT_Int32  ay,\n
      \              FT_Int    bx,\n               FT_Int    by )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1528,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1530,1
    - Dst: FT_Hypot
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1536
    functionName: Current_Ratio
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_Hypot
    - TT_MulFix14
    linkageType: ''
    returnType: FT_Long
    signature: FT_Long Current_Ratio( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1540
    functionDepth: 0
    functionLinenumber: 1540
    functionLinenumberEnd: 1543
    functionName: Current_Ppem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Current_Ppem( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1549,1
    - Dst: Current_Ratio
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1550
    functionName: Current_Ppem_Stretched
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - Current_Ratio
    linkageType: ''
    returnType: void
    signature: void Current_Ppem_Stretched( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - idx
    argTypes:
    - TT_ExecContext
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1565
    functionName: Read_CVT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Read_CVT( TT_ExecContext  exc,\n            FT_ULong        idx
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1572,1
    - Dst: Current_Ratio
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1572,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - idx
    argTypes:
    - TT_ExecContext
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1573
    functionName: Read_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - Current_Ratio
    linkageType: ''
    returnType: void
    signature: "void Read_CVT_Stretched( TT_ExecContext  exc,\n                      FT_ULong
      \       idx )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - idx
    - value
    argTypes:
    - TT_ExecContext
    - FT_ULong
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1582
    functionName: Write_CVT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Write_CVT( TT_ExecContext  exc,\n             FT_ULong        idx,\n
      \            FT_F26Dot6      value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1590,1
    - Dst: Current_Ratio
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - idx
    - value
    argTypes:
    - TT_ExecContext
    - FT_ULong
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1591
    functionName: Write_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_DivFix
    - Current_Ratio
    linkageType: ''
    returnType: void
    signature: "void Write_CVT_Stretched( TT_ExecContext  exc,\n                       FT_ULong
      \       idx,\n                       FT_F26Dot6      value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - idx
    - value
    argTypes:
    - TT_ExecContext
    - FT_ULong
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1595
    functionDepth: 0
    functionLinenumber: 1595
    functionLinenumberEnd: 1600
    functionName: Move_CVT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void Move_CVT( TT_ExecContext  exc,\n            FT_ULong        idx,\n
      \           FT_F26Dot6      value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1608,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1609,1
    - Dst: Current_Ratio
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - idx
    - value
    argTypes:
    - TT_ExecContext
    - FT_ULong
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1610
    functionName: Move_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_DivFix
    - Current_Ratio
    linkageType: ''
    returnType: void
    signature: "void Move_CVT_Stretched( TT_ExecContext  exc,\n                      FT_ULong
      \       idx,\n                      FT_F26Dot6      value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1635
      start: 1628
    functionDepth: 0
    functionLinenumber: 1628
    functionLinenumberEnd: 1635
    functionName: GetShortIns
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Short
    signature: FT_Short GetShortIns( TT_ExecContext  exc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1666,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1674,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - exc
    - aRange
    - aIP
    argTypes:
    - TT_ExecContext
    - FT_Int
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1694
    functionName: Ins_Goto_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool Ins_Goto_CodeRange( TT_ExecContext  exc,\n                      FT_Int
      \         aRange,\n                      FT_Long         aIP )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1764,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1765,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1776,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1777,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1784,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1785,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1802,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1803,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 18
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1747
    functionDepth: 0
    functionLinenumber: 1747
    functionLinenumberEnd: 1809
    functionName: Direct_Move
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void Direct_Move( TT_ExecContext  exc,\n               TT_GlyphZone
      \   zone,\n               FT_UShort       point,\n               FT_F26Dot6
      \     distance )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1844,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1845,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1852,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1853,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1832
    functionDepth: 0
    functionLinenumber: 1832
    functionLinenumberEnd: 1856
    functionName: Direct_Move_Orig
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_Orig( TT_ExecContext  exc,\n                    TT_GlyphZone
      \   zone,\n                    FT_UShort       point,\n                    FT_F26Dot6
      \     distance )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1878,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1884,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1889,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1870
    functionDepth: 0
    functionLinenumber: 1870
    functionLinenumberEnd: 1892
    functionName: Direct_Move_X
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_X( TT_ExecContext  exc,\n                 TT_GlyphZone
      \   zone,\n                 FT_UShort       point,\n                 FT_F26Dot6
      \     distance )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1901,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1908,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1911
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1911
    functionName: Direct_Move_Y
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_Y( TT_ExecContext  exc,\n                 TT_GlyphZone
      \   zone,\n                 FT_UShort       point,\n                 FT_F26Dot6
      \     distance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1930,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1924
    functionDepth: 0
    functionLinenumber: 1924
    functionLinenumberEnd: 1933
    functionName: Direct_Move_Orig_X
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_Orig_X( TT_ExecContext  exc,\n                      TT_GlyphZone
      \   zone,\n                      FT_UShort       point,\n                      FT_F26Dot6
      \     distance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1942,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - exc
    - zone
    - point
    - distance
    argTypes:
    - TT_ExecContext
    - TT_GlyphZone
    - FT_UShort
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1945
    functionName: Direct_Move_Orig_Y
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_Orig_Y( TT_ExecContext  exc,\n                      TT_GlyphZone
      \   zone,\n                      FT_UShort       point,\n                      FT_F26Dot6
      \     distance )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1972,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1977,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:1983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1965
    functionDepth: 0
    functionLinenumber: 1965
    functionLinenumberEnd: 1988
    functionName: Round_None
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_UNUSED
    - SUB_LONG
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_None( TT_ExecContext  exc,\n              FT_F26Dot6
      \     distance,\n              FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2016,1
    - Dst: FT_PIX_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2021,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2021,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2027,1
    - Dst: FT_PIX_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2027,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2027,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 2009
    functionDepth: 1
    functionLinenumber: 2009
    functionLinenumberEnd: 2034
    functionName: Round_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND_LONG
    - SUB_LONG
    - NEG_LONG
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_To_Grid( TT_ExecContext  exc,\n                 FT_F26Dot6
      \     distance,\n                 FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2062,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2067,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2067,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2067,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2074,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2074,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2074,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2074,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2055
    functionDepth: 1
    functionLinenumber: 2055
    functionLinenumberEnd: 2082
    functionName: Round_To_Half_Grid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_FLOOR
    - SUB_LONG
    - NEG_LONG
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_To_Half_Grid( TT_ExecContext  exc,\n                      FT_F26Dot6
      \     distance,\n                      FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2110,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2115,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2115,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2121,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2121,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2127
    functionName: Round_Down_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_FLOOR
    - SUB_LONG
    - NEG_LONG
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_Down_To_Grid( TT_ExecContext  exc,\n                      FT_F26Dot6
      \     distance,\n                      FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2155,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2160,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2160,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2166,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2166,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2148
    functionDepth: 1
    functionLinenumber: 2148
    functionLinenumberEnd: 2173
    functionName: Round_Up_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_CEIL_LONG
    - SUB_LONG
    - NEG_LONG
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_Up_To_Grid( TT_ExecContext  exc,\n                    FT_F26Dot6
      \     distance,\n                    FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2201,1
    - Dst: FT_PAD_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2206,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2206,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2212,1
    - Dst: FT_PAD_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2212,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2219
    functionName: Round_To_Double_Grid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PAD_ROUND_LONG
    - SUB_LONG
    - NEG_LONG
    - ADD_LONG
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_To_Double_Grid( TT_ExecContext  exc,\n                        FT_F26Dot6
      \     distance,\n                        FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2256,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2259,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2265,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2265,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2246
    functionDepth: 0
    functionLinenumber: 2246
    functionLinenumberEnd: 2274
    functionName: Round_Super
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - NEG_LONG
    - ADD_LONG
    - SUB_LONG
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_Super( TT_ExecContext  exc,\n               FT_F26Dot6
      \     distance,\n               FT_F26Dot6      compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2309,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2312,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2318,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2318,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2321,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - exc
    - distance
    - compensation
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6
    - FT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2299
    functionDepth: 0
    functionLinenumber: 2299
    functionLinenumberEnd: 2327
    functionName: Round_Super_45
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - NEG_LONG
    - ADD_LONG
    - SUB_LONG
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Round_Super_45( TT_ExecContext  exc,\n                  FT_F26Dot6
      \     distance,\n                  FT_F26Dot6      compensation )"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - exc
    - round_mode
    argTypes:
    - TT_ExecContext
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2380
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2380
    functionName: Compute_Round
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Compute_Round( TT_ExecContext  exc,\n                 FT_Byte
      \        round_mode )"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 3
    argNames:
    - exc
    - GridPeriod
    - selector
    argTypes:
    - TT_ExecContext
    - FT_F2Dot14
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2451
    functionName: SetSuperRound
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetSuperRound( TT_ExecContext  exc,\n                 FT_F2Dot14
      \     GridPeriod,\n                 FT_Long         selector )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_DotFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - dx
    - dy
    argTypes:
    - TT_ExecContext
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2480
    functionName: Project
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_DotFix14
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Project( TT_ExecContext  exc,\n           FT_Pos          dx,\n
      \          FT_Pos          dy )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_DotFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - exc
    - dx
    - dy
    argTypes:
    - TT_ExecContext
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2509
      start: 2501
    functionDepth: 1
    functionLinenumber: 2501
    functionLinenumberEnd: 2509
    functionName: Dual_Project
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_DotFix14
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Dual_Project( TT_ExecContext  exc,\n                FT_Pos
      \         dx,\n                FT_Pos          dy )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2535,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - exc
    - dx
    - dy
    argTypes:
    - TT_ExecContext
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2539
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2539
    functionName: Project_x
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Project_x( TT_ExecContext  exc,\n             FT_Pos          dx,\n
      \            FT_Pos          dy )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2565,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - exc
    - dx
    - dy
    argTypes:
    - TT_ExecContext
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2569
    functionName: Project_y
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_F26Dot6
    signature: "FT_F26Dot6 Project_y( TT_ExecContext  exc,\n             FT_Pos          dx,\n
      \            FT_Pos          dy )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2627,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2632
    functionName: Compute_Funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: void Compute_Funcs( TT_ExecContext  exc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_NormLen
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - Vx
    - Vy
    - R
    argTypes:
    - FT_F26Dot6
    - FT_F26Dot6
    - FT_UnitVector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2684
      start: 2660
    functionDepth: 1
    functionLinenumber: 2660
    functionLinenumberEnd: 2684
    functionName: Normalize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_Vector_NormLen
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool Normalize( FT_F26Dot6      Vx,\n             FT_F26Dot6      Vy,\n
      \            FT_UnitVector*  R )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_cur_ppem
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2708
    functionDepth: 0
    functionLinenumber: 2708
    functionLinenumberEnd: 2713
    functionName: Ins_MPPEM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_cur_ppem
    linkageType: ''
    returnType: void
    signature: "void Ins_MPPEM( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_cur_ppem
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2740
    functionName: Ins_MPS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_cur_ppem
    linkageType: ''
    returnType: void
    signature: "void Ins_MPS( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2749
    functionDepth: 0
    functionLinenumber: 2749
    functionLinenumberEnd: 2753
    functionName: Ins_DUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_DUP( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2762
    functionDepth: 0
    functionLinenumber: 2762
    functionLinenumberEnd: 2766
    functionName: Ins_POP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_POP( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2775
    functionDepth: 0
    functionLinenumber: 2775
    functionLinenumberEnd: 2779
    functionName: Ins_CLEAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_CLEAR( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2788
    functionDepth: 0
    functionLinenumber: 2788
    functionLinenumberEnd: 2797
    functionName: Ins_SWAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SWAP( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2806
    functionDepth: 0
    functionLinenumber: 2806
    functionLinenumberEnd: 2811
    functionName: Ins_DEPTH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_DEPTH( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2820
    functionDepth: 0
    functionLinenumber: 2820
    functionLinenumberEnd: 2824
    functionName: Ins_LT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_LT( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2833
    functionDepth: 0
    functionLinenumber: 2833
    functionLinenumberEnd: 2837
    functionName: Ins_LTEQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_LTEQ( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2846
    functionDepth: 0
    functionLinenumber: 2846
    functionLinenumberEnd: 2850
    functionName: Ins_GT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GT( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2859
    functionDepth: 0
    functionLinenumber: 2859
    functionLinenumberEnd: 2863
    functionName: Ins_GTEQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GTEQ( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2876
      start: 2872
    functionDepth: 0
    functionLinenumber: 2872
    functionLinenumberEnd: 2876
    functionName: Ins_EQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_EQ( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2889
      start: 2885
    functionDepth: 0
    functionLinenumber: 2885
    functionLinenumberEnd: 2889
    functionName: Ins_NEQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_NEQ( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2903
      start: 2898
    functionDepth: 0
    functionLinenumber: 2898
    functionLinenumberEnd: 2903
    functionName: Ins_ODD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_round
    linkageType: ''
    returnType: void
    signature: "void Ins_ODD( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2917
      start: 2912
    functionDepth: 0
    functionLinenumber: 2912
    functionLinenumberEnd: 2917
    functionName: Ins_EVEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_round
    linkageType: ''
    returnType: void
    signature: "void Ins_EVEN( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2930
      start: 2926
    functionDepth: 0
    functionLinenumber: 2926
    functionLinenumberEnd: 2930
    functionName: Ins_AND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_AND( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2939
    functionDepth: 0
    functionLinenumber: 2939
    functionLinenumberEnd: 2943
    functionName: Ins_OR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_OR( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2952
    functionDepth: 0
    functionLinenumber: 2952
    functionLinenumberEnd: 2956
    functionName: Ins_NOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_NOT( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2969
      start: 2965
    functionDepth: 0
    functionLinenumber: 2965
    functionLinenumberEnd: 2969
    functionName: Ins_ADD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_ADD( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2978
    functionDepth: 0
    functionLinenumber: 2978
    functionLinenumberEnd: 2982
    functionName: Ins_SUB
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_SUB( FT_Long*  args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2996,1
    - Dst: FT_MulDiv_No_Round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:2998,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2991
    functionDepth: 0
    functionLinenumber: 2991
    functionLinenumberEnd: 2999
    functionName: Ins_DIV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulDiv_No_Round
    linkageType: ''
    returnType: void
    signature: "void Ins_DIV( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 3008
    functionDepth: 0
    functionLinenumber: 3008
    functionLinenumberEnd: 3012
    functionName: Ins_MUL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: void Ins_MUL( FT_Long*  args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3021
    functionDepth: 0
    functionLinenumber: 3021
    functionLinenumberEnd: 3026
    functionName: Ins_ABS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_ABS( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3039
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3039
    functionName: Ins_NEG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_NEG( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3052
      start: 3048
    functionDepth: 1
    functionLinenumber: 3048
    functionLinenumberEnd: 3052
    functionName: Ins_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_FLOOR
    linkageType: ''
    returnType: void
    signature: void Ins_FLOOR( FT_Long*  args )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3065
      start: 3061
    functionDepth: 1
    functionLinenumber: 3061
    functionLinenumberEnd: 3065
    functionName: Ins_CEILING
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_PIX_CEIL_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_CEILING( FT_Long*  args )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3074
    functionDepth: 1
    functionLinenumber: 3074
    functionLinenumberEnd: 3111
    functionName: Ins_RS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_RS( TT_ExecContext  exc,\n          FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3134
      start: 3120
    functionDepth: 1
    functionLinenumber: 3120
    functionLinenumberEnd: 3134
    functionName: Ins_WS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_WS( TT_ExecContext  exc,\n          FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3150,1
    - Dst: TT_ExecContext::func_write_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3143
    functionDepth: 1
    functionLinenumber: 3143
    functionLinenumberEnd: 3157
    functionName: Ins_WCVTP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_write_cvt
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_WCVTP( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3173,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3166
    functionDepth: 1
    functionLinenumber: 3166
    functionLinenumberEnd: 3180
    functionName: Ins_WCVTF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_WCVTF( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3196,1
    - Dst: TT_ExecContext::func_read_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3189
    functionDepth: 1
    functionLinenumber: 3189
    functionLinenumberEnd: 3205
    functionName: Ins_RCVT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_read_cvt
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_RCVT( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3218
      start: 3214
    functionDepth: 0
    functionLinenumber: 3214
    functionLinenumberEnd: 3218
    functionName: Ins_AA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_AA( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3233
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3233
    functionName: Ins_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: void Ins_DEBUG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3250
    functionName: Ins_ROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_round
    linkageType: ''
    returnType: void
    signature: "void Ins_ROUND( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3259
    functionDepth: 0
    functionLinenumber: 3259
    functionLinenumberEnd: 3267
    functionName: Ins_NROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Round_None
    linkageType: ''
    returnType: void
    signature: "void Ins_NROUND( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3281
      start: 3276
    functionDepth: 0
    functionLinenumber: 3276
    functionLinenumberEnd: 3281
    functionName: Ins_MAX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_MAX( FT_Long*  args )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3295
    functionName: Ins_MIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_MIN( FT_Long*  args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3316,1
    - Dst: FT_ARRAY_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3322,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3304
    functionDepth: 1
    functionLinenumber: 3304
    functionLinenumberEnd: 3328
    functionName: Ins_MINDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ARRAY_MOVE
    linkageType: ''
    returnType: void
    signature: "void Ins_MINDEX( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3337
    functionDepth: 0
    functionLinenumber: 3337
    functionLinenumberEnd: 3354
    functionName: Ins_CINDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_CINDEX( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3376
      start: 3363
    functionDepth: 0
    functionLinenumber: 3363
    functionLinenumberEnd: 3376
    functionName: Ins_ROLL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_ROLL( FT_Long*  args )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3392
    functionDepth: 0
    functionLinenumber: 3392
    functionLinenumberEnd: 3403
    functionName: Ins_SLOOP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SLOOP( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3430
      start: 3406
    functionDepth: 0
    functionLinenumber: 3406
    functionLinenumberEnd: 3430
    functionName: SkipCode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool SkipCode( TT_ExecContext  exc )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SkipCode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3455,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3465,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3470,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3439
    functionDepth: 1
    functionLinenumber: 3439
    functionLinenumberEnd: 3474
    functionName: Ins_IF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - SkipCode
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void Ins_IF( TT_ExecContext  exc,\n          FT_Long*        args
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SkipCode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3507
      start: 3483
    functionDepth: 0
    functionLinenumber: 3483
    functionLinenumberEnd: 3507
    functionName: Ins_ELSE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - SkipCode
    linkageType: ''
    returnType: void
    signature: void Ins_ELSE( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3520
      start: 3516
    functionDepth: 0
    functionLinenumber: 3516
    functionLinenumberEnd: 3520
    functionName: Ins_EIF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_EIF( void )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3535,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3544,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3553,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3529
    functionDepth: 0
    functionLinenumber: 3529
    functionLinenumberEnd: 3555
    functionName: Ins_JMPR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_JMPR( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ins_JMPR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3569,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3570
      start: 3564
    functionDepth: 0
    functionLinenumber: 3564
    functionLinenumberEnd: 3570
    functionName: Ins_JROT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Ins_JMPR
    linkageType: ''
    returnType: void
    signature: "void Ins_JROT( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ins_JMPR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3585
      start: 3579
    functionDepth: 0
    functionLinenumber: 3579
    functionLinenumberEnd: 3585
    functionName: Ins_JROF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Ins_JMPR
    linkageType: ''
    returnType: void
    signature: "void Ins_JROF( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3713,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3735,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3745,1
    - Dst: SkipCode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3769,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3785,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3887,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 117
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3895
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3895
    functionName: Ins_FDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - SkipCode
    - FT_TRACE6
    linkageType: ''
    returnType: void
    signature: "void Ins_FDEF( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3916,1
    - Dst: Ins_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3935,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3904
    functionDepth: 0
    functionLinenumber: 3904
    functionLinenumberEnd: 3944
    functionName: Ins_ENDF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Ins_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: void Ins_ENDF( TT_ExecContext  exc )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:3965,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4012,1
    - Dst: Ins_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4025,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4032,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4033
      start: 3953
    functionDepth: 1
    functionLinenumber: 3953
    functionLinenumberEnd: 4033
    functionName: Ins_CALL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Ins_Goto_CodeRange
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_CALL( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4053,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4098,1
    - Dst: Ins_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4113,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4119,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4125,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4126
      start: 4042
    functionDepth: 1
    functionLinenumber: 4042
    functionLinenumberEnd: 4126
    functionName: Ins_LOOPCALL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Ins_Goto_CodeRange
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_LOOPCALL( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4146,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4164,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4173,1
    - Dst: SkipCode
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4188,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4194,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4201
      start: 4135
    functionDepth: 0
    functionLinenumber: 4135
    functionLinenumberEnd: 4201
    functionName: Ins_IDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - SkipCode
    linkageType: ''
    returnType: void
    signature: "void Ins_IDEF( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4226,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4236
      start: 4217
    functionDepth: 0
    functionLinenumber: 4217
    functionLinenumberEnd: 4236
    functionName: Ins_NPUSHB
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_NPUSHB( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4254,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4256,1
    - Dst: GetShortIns
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4245
    functionDepth: 0
    functionLinenumber: 4245
    functionLinenumberEnd: 4267
    functionName: Ins_NPUSHW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - GetShortIns
    linkageType: ''
    returnType: void
    signature: "void Ins_NPUSHW( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4285,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4293
      start: 4276
    functionDepth: 0
    functionLinenumber: 4276
    functionLinenumberEnd: 4293
    functionName: Ins_PUSHB
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_PUSHB( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4311,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4313,1
    - Dst: GetShortIns
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4323
      start: 4302
    functionDepth: 0
    functionLinenumber: 4302
    functionLinenumberEnd: 4323
    functionName: Ins_PUSHW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - GetShortIns
    linkageType: ''
    returnType: void
    signature: "void Ins_PUSHW( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4346,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4347,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4350,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4357,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4358,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4375,1
    - Dst: Normalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - exc
    - aIdx1
    - aIdx2
    - Vec
    argTypes:
    - TT_ExecContext
    - FT_UShort
    - FT_UShort
    - FT_UnitVector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4381
      start: 4333
    functionDepth: 0
    functionLinenumber: 4333
    functionLinenumberEnd: 4381
    functionName: Ins_SxVTL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Normalize
    - FT_THROW
    - BOUNDS
    - SUB_LONG
    - NEG_LONG
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool Ins_SxVTL( TT_ExecContext  exc,\n             FT_UShort       aIdx1,\n
      \            FT_UShort       aIdx2,\n             FT_UnitVector*  Vec )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4425
      start: 4398
    functionDepth: 0
    functionLinenumber: 4398
    functionLinenumberEnd: 4425
    functionName: Ins_SxyTCA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Compute_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SxyTCA( TT_ExecContext  exc )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ins_SxVTL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4438,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4446
      start: 4434
    functionDepth: 0
    functionLinenumber: 4434
    functionLinenumberEnd: 4446
    functionName: Ins_SPVTL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Ins_SxVTL
    - Compute_Funcs
    linkageType: ''
    returnType: void
    signature: "void Ins_SPVTL( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Ins_SxVTL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4459,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4466
      start: 4455
    functionDepth: 0
    functionLinenumber: 4455
    functionLinenumberEnd: 4466
    functionName: Ins_SFVTL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Ins_SxVTL
    - Compute_Funcs
    linkageType: ''
    returnType: void
    signature: "void Ins_SFVTL( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4480
      start: 4475
    functionDepth: 0
    functionLinenumber: 4475
    functionLinenumberEnd: 4480
    functionName: Ins_SFVTPV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Compute_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SFVTPV( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Normalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4503,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4507
      start: 4489
    functionDepth: 0
    functionLinenumber: 4489
    functionLinenumberEnd: 4507
    functionName: Ins_SPVFS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Compute_Funcs
    - Normalize
    linkageType: ''
    returnType: void
    signature: "void Ins_SPVFS( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Normalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4530,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4532
      start: 4516
    functionDepth: 0
    functionLinenumber: 4516
    functionLinenumberEnd: 4532
    functionName: Ins_SFVFS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Compute_Funcs
    - Normalize
    linkageType: ''
    returnType: void
    signature: "void Ins_SFVFS( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4547
      start: 4541
    functionDepth: 0
    functionLinenumber: 4541
    functionLinenumberEnd: 4547
    functionName: Ins_GPV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_GPV( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4562
      start: 4556
    functionDepth: 0
    functionLinenumber: 4556
    functionLinenumberEnd: 4562
    functionName: Ins_GFV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_GFV( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4576
      start: 4571
    functionDepth: 0
    functionLinenumber: 4571
    functionLinenumberEnd: 4576
    functionName: Ins_SRP0
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SRP0( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4590
      start: 4585
    functionDepth: 0
    functionLinenumber: 4585
    functionLinenumberEnd: 4590
    functionName: Ins_SRP1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SRP1( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4604
      start: 4599
    functionDepth: 0
    functionLinenumber: 4599
    functionLinenumberEnd: 4604
    functionName: Ins_SRP2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SRP2( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4618
      start: 4613
    functionDepth: 0
    functionLinenumber: 4613
    functionLinenumberEnd: 4618
    functionName: Ins_SMD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SMD( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4632
      start: 4627
    functionDepth: 0
    functionLinenumber: 4627
    functionLinenumberEnd: 4632
    functionName: Ins_SCVTCI
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SCVTCI( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4646
      start: 4641
    functionDepth: 0
    functionLinenumber: 4641
    functionLinenumberEnd: 4646
    functionName: Ins_SSWCI
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SSWCI( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4661
      start: 4655
    functionDepth: 0
    functionLinenumber: 4655
    functionLinenumberEnd: 4661
    functionName: Ins_SSW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    linkageType: ''
    returnType: void
    signature: "void Ins_SSW( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4670
    functionDepth: 0
    functionLinenumber: 4670
    functionLinenumberEnd: 4674
    functionName: Ins_FLIPON
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPON( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4687
      start: 4683
    functionDepth: 0
    functionLinenumber: 4683
    functionLinenumberEnd: 4687
    functionName: Ins_FLIPOFF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPOFF( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4700
      start: 4696
    functionDepth: 0
    functionLinenumber: 4696
    functionLinenumberEnd: 4700
    functionName: Ins_SANGW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SANGW( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4714
      start: 4709
    functionDepth: 0
    functionLinenumber: 4709
    functionLinenumberEnd: 4714
    functionName: Ins_SDB
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SDB( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4731
      start: 4723
    functionDepth: 0
    functionLinenumber: 4723
    functionLinenumberEnd: 4731
    functionName: Ins_SDS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SDS( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4745
      start: 4740
    functionDepth: 0
    functionLinenumber: 4740
    functionLinenumberEnd: 4745
    functionName: Ins_RTHG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTHG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4759
      start: 4754
    functionDepth: 0
    functionLinenumber: 4754
    functionLinenumberEnd: 4759
    functionName: Ins_RTG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4772
      start: 4767
    functionDepth: 0
    functionLinenumber: 4767
    functionLinenumberEnd: 4772
    functionName: Ins_RTDG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTDG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4785
      start: 4780
    functionDepth: 0
    functionLinenumber: 4780
    functionLinenumberEnd: 4785
    functionName: Ins_RUTG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RUTG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4799
      start: 4794
    functionDepth: 0
    functionLinenumber: 4794
    functionLinenumberEnd: 4799
    functionName: Ins_RDTG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RDTG( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4813
      start: 4808
    functionDepth: 0
    functionLinenumber: 4808
    functionLinenumberEnd: 4813
    functionName: Ins_ROFF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_ROFF( TT_ExecContext  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSuperRound
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4830
      start: 4822
    functionDepth: 0
    functionLinenumber: 4822
    functionLinenumberEnd: 4830
    functionName: Ins_SROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - SetSuperRound
    linkageType: ''
    returnType: void
    signature: "void Ins_SROUND( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetSuperRound
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4847
      start: 4839
    functionDepth: 0
    functionLinenumber: 4839
    functionLinenumberEnd: 4847
    functionName: Ins_S45ROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - SetSuperRound
    linkageType: ''
    returnType: void
    signature: "void Ins_S45ROUND( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4869,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4872,1
    - Dst: FAST_DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4878,1
    - Dst: FAST_PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4880,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4884
      start: 4859
    functionDepth: 1
    functionLinenumber: 4859
    functionLinenumberEnd: 4884
    functionName: Ins_GC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FAST_DUALPROJ
    - FAST_PROJECT
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_GC( TT_ExecContext  exc,\n          FT_Long*        args
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4907,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4910,1
    - Dst: FAST_PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4914,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4916,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4916,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4922
      start: 4897
    functionDepth: 1
    functionLinenumber: 4897
    functionLinenumberEnd: 4922
    functionName: Ins_SCFS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_PROJECT
    - TT_ExecContext::func_move
    - FT_THROW
    - BOUNDS
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_SCFS( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4951,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4952,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4955,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4961,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4972,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4983,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4984,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4991,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4992,1
    - Dst: FAST_DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:4994,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5004,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5009
      start: 4940
    functionDepth: 1
    functionLinenumber: 4940
    functionLinenumberEnd: 5009
    functionName: Ins_MD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_DUALPROJ
    - PROJECT
    - FT_ABS
    - FT_THROW
    - FT_MulFix
    - DUALPROJ
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_MD( TT_ExecContext  exc,\n          FT_Long*        args
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5031,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5032,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5035,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5044,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5045,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5063,1
    - Dst: Normalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5066,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5073,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5074,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5087,1
    - Dst: Normalize
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5090,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5091,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5092
      start: 5018
    functionDepth: 0
    functionLinenumber: 5018
    functionLinenumberEnd: 5092
    functionName: Ins_SDPVTL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Normalize
    - Compute_Funcs
    - FT_THROW
    - BOUNDS
    - SUB_LONG
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_SDPVTL( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5122
      start: 5101
    functionDepth: 0
    functionLinenumber: 5101
    functionLinenumberEnd: 5122
    functionName: Ins_SZP0
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SZP0( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5147,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5152
      start: 5131
    functionDepth: 0
    functionLinenumber: 5131
    functionLinenumberEnd: 5152
    functionName: Ins_SZP1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SZP1( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5182
      start: 5161
    functionDepth: 0
    functionLinenumber: 5161
    functionLinenumberEnd: 5182
    functionName: Ins_SZP2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SZP2( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5207,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5217
      start: 5191
    functionDepth: 0
    functionLinenumber: 5191
    functionLinenumberEnd: 5217
    functionName: Ins_SZPS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void Ins_SZPS( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5241,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5254,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5268,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5276,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5279
      start: 5226
    functionDepth: 1
    functionLinenumber: 5226
    functionLinenumberEnd: 5279
    functionName: Ins_INSTCTRL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void Ins_INSTCTRL( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5326
      start: 5288
    functionDepth: 0
    functionLinenumber: 5288
    functionLinenumberEnd: 5326
    functionName: Ins_SCANCTRL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SCANCTRL( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5335
    functionDepth: 0
    functionLinenumber: 5335
    functionLinenumberEnd: 5341
    functionName: Ins_SCANTYPE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Ins_SCANTYPE( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5375,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5385,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5389,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5402
      start: 5357
    functionDepth: 0
    functionLinenumber: 5357
    functionLinenumberEnd: 5402
    functionName: Ins_FLIPPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPPT( TT_ExecContext  exc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5430,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5431,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5434,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5440
      start: 5411
    functionDepth: 0
    functionLinenumber: 5411
    functionLinenumberEnd: 5440
    functionName: Ins_FLIPRGON
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_FLIPRGON( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5468,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5469,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5472,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5478
      start: 5449
    functionDepth: 0
    functionLinenumber: 5449
    functionLinenumberEnd: 5478
    functionName: Ins_FLIPRGOFF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_FLIPRGOFF( TT_ExecContext  exc,\n                 FT_Long*
      \       args )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5504,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5507,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5515,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5517,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 5
    argNames:
    - exc
    - x
    - y
    - zone
    - refp
    argTypes:
    - TT_ExecContext
    - FT_F26Dot6*
    - FT_F26Dot6*
    - TT_GlyphZone
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5521
      start: 5481
    functionDepth: 1
    functionLinenumber: 5481
    functionLinenumberEnd: 5521
    functionName: Compute_Point_Displacement
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - PROJECT
    - FT_MulDiv
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool Compute_Point_Displacement( TT_ExecContext  exc,\n                              FT_F26Dot6*
      \    x,\n                              FT_F26Dot6*     y,\n                              TT_GlyphZone
      \   zone,\n                              FT_UShort*      refp )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5538,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5552,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 5
    argNames:
    - exc
    - point
    - dx
    - dy
    - touch
    argTypes:
    - TT_ExecContext
    - FT_UShort
    - FT_F26Dot6
    - FT_F26Dot6
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5557
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5557
    functionName: Move_Zp2_Point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void Move_Zp2_Point( TT_ExecContext  exc,\n                  FT_UShort
      \      point,\n                  FT_F26Dot6      dx,\n                  FT_F26Dot6
      \     dy,\n                  FT_Bool         touch )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5579,1
    - Dst: Compute_Point_Displacement
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5583,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5591,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5595,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5603,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5606,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5614
      start: 5566
    functionDepth: 0
    functionLinenumber: 5566
    functionLinenumberEnd: 5614
    functionName: Ins_SHP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - Compute_Point_Displacement
    - Move_Zp2_Point
    linkageType: ''
    returnType: void
    signature: void Ins_SHP( TT_ExecContext  exc )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5642,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5645,1
    - Dst: Compute_Point_Displacement
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5649,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5668,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5670
      start: 5627
    functionDepth: 0
    functionLinenumber: 5627
    functionLinenumberEnd: 5670
    functionName: Ins_SHC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - Compute_Point_Displacement
    - Move_Zp2_Point
    linkageType: ''
    returnType: void
    signature: "void Ins_SHC( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5691,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5694,1
    - Dst: Compute_Point_Displacement
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5698,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5716,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5718
      start: 5679
    functionDepth: 0
    functionLinenumber: 5679
    functionLinenumberEnd: 5718
    functionName: Ins_SHZ
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    - Compute_Point_Displacement
    - Move_Zp2_Point
    linkageType: ''
    returnType: void
    signature: "void Ins_SHZ( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5737,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5747,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5751,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5752,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5760,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5764,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5791,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5803,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5805,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5806,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5814,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5815,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5828,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5839,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5839,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5843,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5846,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5863,1
    - Dst: Move_Zp2_Point
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5867,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 66
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5878
      start: 5727
    functionDepth: 1
    functionLinenumber: 5727
    functionLinenumberEnd: 5878
    functionName: Ins_SHPIX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Move_Zp2_Point
    - FT_BOOL
    - FT_THROW
    - BOUNDS
    - FT_PIX_ROUND
    - NEG_LONG
    - TT_MulFix14
    linkageType: ''
    returnType: void
    signature: "void Ins_SHPIX( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5911,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5912,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5915,1
    - Dst: TT_ExecContext::func_move_orig
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5924,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5928,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5931,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5933,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5943,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5946,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5953
      start: 5887
    functionDepth: 1
    functionLinenumber: 5887
    functionLinenumberEnd: 5953
    functionName: Ins_MSIRP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_move
    - PROJECT
    - FT_THROW
    - BOUNDS
    - SUB_LONG
    - NEG_LONG
    - TT_ExecContext::func_move_orig
    linkageType: ''
    returnType: void
    signature: "void Ins_MSIRP( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5973,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5976,1
    - Dst: FAST_PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5982,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5987,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5988,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5994,1
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:5995,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6003,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6007
      start: 5962
    functionDepth: 1
    functionLinenumber: 5962
    functionLinenumberEnd: 6007
    functionName: Ins_MDAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_PROJECT
    - TT_ExecContext::func_round
    - TT_ExecContext::func_move
    - FT_THROW
    - Round_None
    - BOUNDS
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_MDAP( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6040,1
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6041,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6044,1
    - Dst: TT_ExecContext::func_read_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6068,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6079,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6081,1
    - Dst: FAST_PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6094,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6101,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6103,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6112,1
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6117,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6122,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6122,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 37
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6127
      start: 6016
    functionDepth: 1
    functionLinenumber: 6016
    functionLinenumberEnd: 6127
    functionName: Ins_MIAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_PROJECT
    - TT_ExecContext::func_round
    - SUB_LONG
    - TT_ExecContext::func_move
    - TT_ExecContext::func_read_cvt
    - FT_THROW
    - BOUNDS
    - Round_None
    - BOUNDSL
    - NEG_LONG
    - TT_MulFix14
    linkageType: ''
    returnType: void
    signature: "void Ins_MIAP( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6156,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6157,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6160,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6175,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6186,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6187,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6194,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6194,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6196,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6196,1
    - Dst: FAST_DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6199,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6226,1
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6232,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6238,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6254,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6255,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6261,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6263,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6263,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6271
      start: 6136
    functionDepth: 1
    functionLinenumber: 6136
    functionLinenumberEnd: 6271
    functionName: Ins_MDRP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_DUALPROJ
    - TT_ExecContext::func_round
    - TT_ExecContext::func_move
    - PROJECT
    - FT_THROW
    - FT_MulFix
    - DUALPROJ
    - BOUNDS
    - Round_None
    - SUB_LONG
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_MDRP( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6305,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6317,1
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6318,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6319,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6322,1
    - Dst: TT_ExecContext::func_read_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6329,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6333,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6335,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6350,1
    - Dst: TT_MulFix14
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6353,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6358,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6359,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6366,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6403,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6405,1
    - Dst: TT_ExecContext::func_round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6411,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6425,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6427,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6434,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6451,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6452,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6465,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6476,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6479,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6503,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6506,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 94
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6518
      start: 6280
    functionDepth: 1
    functionLinenumber: 6280
    functionLinenumberEnd: 6518
    functionName: Ins_MIRP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_round
    - SUB_LONG
    - TT_ExecContext::func_move
    - PROJECT
    - TT_ExecContext::func_read_cvt
    - FT_THROW
    - DUALPROJ
    - BOUNDS
    - Round_None
    - FT_PIX_ROUND
    - BOUNDSL
    - NEG_LONG
    - ADD_LONG
    - TT_MulFix14
    linkageType: ''
    returnType: void
    signature: "void Ins_MIRP( TT_ExecContext  exc,\n            FT_Long*        args
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6540,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6546,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6549,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6559,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6563,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6569,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6572,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6572,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6581
      start: 6527
    functionDepth: 1
    functionLinenumber: 6527
    functionLinenumberEnd: 6581
    functionName: Ins_ALIGNRP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_move
    - PROJECT
    - FT_THROW
    - BOUNDS
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_ALIGNRP( TT_ExecContext  exc )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6616,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6617,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6618,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6619,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6620,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6623,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6629,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6630,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6632,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6633,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6635,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6636,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6638,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6638,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6638,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6639,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6640,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6640,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6641,1
    - Dst: MUL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6651,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6651,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6651,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6653,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6653,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6653,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6654,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6656,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6657,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6660,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6661,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6669,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6669,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6670,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6672,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6672,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6673,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6677
      start: 6590
    functionDepth: 0
    functionLinenumber: 6590
    functionLinenumberEnd: 6677
    functionName: Ins_ISECT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - MUL_LONG
    - SUB_LONG
    - FT_ABS
    - FT_THROW
    - BOUNDS
    - FT_MulDiv
    - NEG_LONG
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_ISECT( TT_ExecContext  exc,\n             FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6697,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6698,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6701,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6705,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6707,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6708,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6708,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6709
      start: 6686
    functionDepth: 1
    functionLinenumber: 6686
    functionLinenumberEnd: 6709
    functionName: Ins_ALIGNPTS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_move
    - PROJECT
    - FT_THROW
    - BOUNDS
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_ALIGNPTS( TT_ExecContext  exc,\n                FT_Long*
      \       args )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6733,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6746,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6749,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6764,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6765,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6773,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6775,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6781,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6781,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6784,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6784,1
    - Dst: FAST_DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6788,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6791,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6801,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6805,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6812,1
    - Dst: DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6814,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6820,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6820,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6823,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6823,1
    - Dst: FAST_DUALPROJ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6827,1
    - Dst: PROJECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6830,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6835,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6860,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6863,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6869
      start: 6721
    functionDepth: 1
    functionLinenumber: 6721
    functionLinenumberEnd: 6869
    functionName: Ins_IP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FAST_DUALPROJ
    - TT_ExecContext::func_move
    - FT_MulDiv
    - PROJECT
    - FT_THROW
    - FT_MulFix
    - DUALPROJ
    - BOUNDS
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: void Ins_IP( TT_ExecContext  exc )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6888,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6904
      start: 6878
    functionDepth: 0
    functionLinenumber: 6878
    functionLinenumberEnd: 6904
    functionName: Ins_UTP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_UTP( TT_ExecContext  exc,\n           FT_Long*        args
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6928,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6932,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6935,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - worker
    - p1
    - p2
    - p
    argTypes:
    - IUP_Worker
    - FT_UInt
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6937
      start: 6918
    functionDepth: 0
    functionLinenumber: 6918
    functionLinenumberEnd: 6937
    functionName: _iup_worker_shift
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: "void _iup_worker_shift( IUP_Worker  worker,\n                     FT_UInt
      \    p1,\n                     FT_UInt     p2,\n                     FT_UInt
      \    p )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6954,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6955,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6980,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6981,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6993,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:6996,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7017,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7020,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7027,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7027,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7028,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7031,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7032,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7032,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 5
    argNames:
    - worker
    - p1
    - p2
    - ref1
    - ref2
    argTypes:
    - IUP_Worker
    - FT_UInt
    - FT_UInt
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7038
      start: 6940
    functionDepth: 1
    functionLinenumber: 6940
    functionLinenumberEnd: 7038
    functionName: _iup_worker_interpolate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - BOUNDS
    - SUB_LONG
    - ADD_LONG
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void _iup_worker_interpolate( IUP_Worker  worker,\n                           FT_UInt
      \    p1,\n                           FT_UInt     p2,\n                           FT_UInt
      \    ref1,\n                           FT_UInt     ref2 )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7118,1
    - Dst: _iup_worker_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7135,1
    - Dst: _iup_worker_shift
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7147,1
    - Dst: _iup_worker_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7150,1
    - Dst: _iup_worker_interpolate
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7157,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7166
      start: 7047
    functionDepth: 2
    functionLinenumber: 7047
    functionLinenumberEnd: 7166
    functionName: Ins_IUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - _iup_worker_interpolate
    - BOUNDS
    - _iup_worker_shift
    linkageType: ''
    returnType: void
    signature: void Ins_IUP( TT_ExecContext  exc )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_cur_ppem
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7194,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7203,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7219,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7261,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7274,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7281,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7287,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7301,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7301,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7318,1
    - Dst: TT_ExecContext::func_move
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7322,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7328,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 67
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7333
      start: 7175
    functionDepth: 1
    functionLinenumber: 7175
    functionLinenumberEnd: 7333
    functionName: Ins_DELTAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_move
    - TT_ExecContext::func_cur_ppem
    - FT_THROW
    - BOUNDS
    - FT_PIX_ROUND
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void Ins_DELTAP( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TT_ExecContext::func_cur_ppem
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7351,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7359,1
    - Dst: BOUNDSL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7369,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7373,1
    - Dst: TT_ExecContext::func_move_cvt
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7411
      start: 7342
    functionDepth: 1
    functionLinenumber: 7342
    functionLinenumberEnd: 7411
    functionName: Ins_DELTAC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - TT_ExecContext::func_cur_ppem
    - TT_ExecContext::func_move_cvt
    - FT_THROW
    - BOUNDSL
    linkageType: ''
    returnType: void
    signature: "void Ins_DELTAC( TT_ExecContext  exc,\n              FT_Long*        args
      )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7440,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7460,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 52
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7652
      start: 7435
    functionDepth: 1
    functionLinenumber: 7435
    functionLinenumberEnd: 7652
    functionName: Ins_GETINFO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_FACE_DRIVER
    - FT_TRACE6
    linkageType: ''
    returnType: void
    signature: "void Ins_GETINFO( TT_ExecContext  exc,\n               FT_Long*        args
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7677,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - exc
    - args
    argTypes:
    - TT_ExecContext
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7693
      start: 7667
    functionDepth: 0
    functionLinenumber: 7667
    functionLinenumberEnd: 7693
    functionName: Ins_GETVARIATION
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: "void Ins_GETVARIATION( TT_ExecContext  exc,\n                    FT_Long*
      \       args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - args
    argTypes:
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7709
      start: 7705
    functionDepth: 0
    functionLinenumber: 7705
    functionLinenumberEnd: 7709
    functionName: Ins_GETDATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GETDATA( FT_Long*  args )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7730,1
    - Dst: Ins_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7741,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7749
      start: 7714
    functionDepth: 0
    functionLinenumber: 7714
    functionLinenumberEnd: 7749
    functionName: Ins_UNKNOWN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Ins_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: void Ins_UNKNOWN( TT_ExecContext  exc )
  - BBCount: 184
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_TRICKY
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7825,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7836,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7843,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7865,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7867,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7878,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7882,1
    - Dst: Compute_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7904,1
    - Dst: Compute_Round
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7905,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7913,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7919,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7920,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7921,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7922,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7927,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7928,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7952,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:7983,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8003,1
    - Dst: Ins_SxyTCA
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8036,1
    - Dst: Ins_SPVTL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8041,1
    - Dst: Ins_SFVTL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8046,1
    - Dst: Ins_SPVFS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8050,1
    - Dst: Ins_SFVFS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8054,1
    - Dst: Ins_GPV
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8058,1
    - Dst: Ins_GFV
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8062,1
    - Dst: Ins_SFVTPV
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8066,1
    - Dst: Ins_ISECT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8070,1
    - Dst: Ins_SRP0
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8074,1
    - Dst: Ins_SRP1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8078,1
    - Dst: Ins_SRP2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8082,1
    - Dst: Ins_SZP0
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8086,1
    - Dst: Ins_SZP1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8090,1
    - Dst: Ins_SZP2
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8094,1
    - Dst: Ins_SZPS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8098,1
    - Dst: Ins_SLOOP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8102,1
    - Dst: Ins_RTG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8106,1
    - Dst: Ins_RTHG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8110,1
    - Dst: Ins_SMD
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8114,1
    - Dst: Ins_ELSE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8118,1
    - Dst: Ins_JMPR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8122,1
    - Dst: Ins_SCVTCI
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8126,1
    - Dst: Ins_SSWCI
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8130,1
    - Dst: Ins_SSW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8134,1
    - Dst: Ins_DUP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8138,1
    - Dst: Ins_POP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8142,1
    - Dst: Ins_CLEAR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8146,1
    - Dst: Ins_SWAP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8150,1
    - Dst: Ins_DEPTH
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8154,1
    - Dst: Ins_CINDEX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8158,1
    - Dst: Ins_MINDEX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8162,1
    - Dst: Ins_ALIGNPTS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8166,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8170,1
    - Dst: Ins_UTP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8174,1
    - Dst: Ins_LOOPCALL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8178,1
    - Dst: Ins_CALL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8182,1
    - Dst: Ins_FDEF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8186,1
    - Dst: Ins_ENDF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8190,1
    - Dst: Ins_MDAP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8195,1
    - Dst: Ins_IUP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8200,1
    - Dst: Ins_SHP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8205,1
    - Dst: Ins_SHC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8210,1
    - Dst: Ins_SHZ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8215,1
    - Dst: Ins_SHPIX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8219,1
    - Dst: Ins_IP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8223,1
    - Dst: Ins_MSIRP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8228,1
    - Dst: Ins_ALIGNRP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8232,1
    - Dst: Ins_RTDG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8236,1
    - Dst: Ins_MIAP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8241,1
    - Dst: Ins_NPUSHB
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8245,1
    - Dst: Ins_NPUSHW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8249,1
    - Dst: Ins_WS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8253,1
    - Dst: Ins_RS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8257,1
    - Dst: Ins_WCVTP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8261,1
    - Dst: Ins_RCVT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8265,1
    - Dst: Ins_GC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8270,1
    - Dst: Ins_SCFS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8274,1
    - Dst: Ins_MD
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8279,1
    - Dst: Ins_MPPEM
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8283,1
    - Dst: Ins_MPS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8287,1
    - Dst: Ins_FLIPON
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8291,1
    - Dst: Ins_FLIPOFF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8295,1
    - Dst: Ins_DEBUG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8299,1
    - Dst: Ins_LT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8303,1
    - Dst: Ins_LTEQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8307,1
    - Dst: Ins_GT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8311,1
    - Dst: Ins_GTEQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8315,1
    - Dst: Ins_EQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8319,1
    - Dst: Ins_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8323,1
    - Dst: Ins_ODD
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8327,1
    - Dst: Ins_EVEN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8331,1
    - Dst: Ins_IF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8335,1
    - Dst: Ins_EIF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8339,1
    - Dst: Ins_AND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8343,1
    - Dst: Ins_OR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8347,1
    - Dst: Ins_NOT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8351,1
    - Dst: Ins_DELTAP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8355,1
    - Dst: Ins_SDB
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8359,1
    - Dst: Ins_SDS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8363,1
    - Dst: Ins_ADD
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8367,1
    - Dst: Ins_SUB
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8371,1
    - Dst: Ins_DIV
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8375,1
    - Dst: Ins_MUL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8379,1
    - Dst: Ins_ABS
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8383,1
    - Dst: Ins_NEG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8387,1
    - Dst: Ins_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8391,1
    - Dst: Ins_CEILING
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8395,1
    - Dst: Ins_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8402,1
    - Dst: Ins_NROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8409,1
    - Dst: Ins_WCVTF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8413,1
    - Dst: Ins_DELTAP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8418,1
    - Dst: Ins_DELTAC
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8424,1
    - Dst: Ins_SROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8428,1
    - Dst: Ins_S45ROUND
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8432,1
    - Dst: Ins_JROT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8436,1
    - Dst: Ins_JROF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8440,1
    - Dst: Ins_ROFF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8444,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8448,1
    - Dst: Ins_RUTG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8452,1
    - Dst: Ins_RDTG
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8456,1
    - Dst: Ins_SANGW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8460,1
    - Dst: Ins_AA
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8464,1
    - Dst: Ins_FLIPPT
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8468,1
    - Dst: Ins_FLIPRGON
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8472,1
    - Dst: Ins_FLIPRGOFF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8476,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8481,1
    - Dst: Ins_SCANCTRL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8485,1
    - Dst: Ins_SDPVTL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8490,1
    - Dst: Ins_GETINFO
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8494,1
    - Dst: Ins_IDEF
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8498,1
    - Dst: Ins_ROLL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8502,1
    - Dst: Ins_MAX
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8506,1
    - Dst: Ins_MIN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8510,1
    - Dst: Ins_SCANTYPE
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8514,1
    - Dst: Ins_INSTCTRL
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8518,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8523,1
    - Dst: Ins_GETVARIATION
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8532,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8534,1
    - Dst: Ins_GETDATA
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8542,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8544,1
    - Dst: Ins_MIRP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8550,1
    - Dst: Ins_MDRP
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8552,1
    - Dst: Ins_PUSHW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8554,1
    - Dst: Ins_PUSHB
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8556,1
    - Dst: Ins_UNKNOWN
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8558,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8567,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8582,1
    - Dst: Ins_Goto_CodeRange
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8593,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8603,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8629,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8636,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8645,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8651,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c:8655,1
    CyclomaticComplexity: 178
    EdgeCount: 178
    ICount: 560
    argCount: 1
    argNames:
    - exc
    argTypes:
    - TT_ExecContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8658
      start: 7785
    functionDepth: 1
    functionLinenumber: 7785
    functionLinenumberEnd: 8658
    functionName: TT_RunIns
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/truetype/ttinterp.c
    functionUses: 0
    functionsReached:
    - Ins_SHZ
    - Ins_EQ
    - FT_TRACE6
    - FT_TRACE7
    - Ins_NPUSHW
    - Ins_SCANTYPE
    - Ins_FLIPRGOFF
    - Ins_ELSE
    - Ins_GC
    - Ins_ROUND
    - Ins_ALIGNRP
    - Ins_OR
    - FT_MAX
    - Ins_FLIPPT
    - Ins_WCVTP
    - Ins_SRP2
    - Ins_CALL
    - Ins_DUP
    - Ins_SPVTL
    - Compute_Round
    - Ins_SROUND
    - Ins_DEPTH
    - Ins_FDEF
    - Ins_IF
    - Ins_RDTG
    - Ins_JROF
    - Ins_SDB
    - Ins_DIV
    - Ins_SHPIX
    - FT_TRACE5
    - Ins_ABS
    - Ins_IUP
    - Ins_NPUSHB
    - Ins_POP
    - Ins_DELTAP
    - Ins_WS
    - Ins_MIAP
    - Ins_RTHG
    - Ins_SDPVTL
    - Ins_SZP2
    - Ins_CINDEX
    - Ins_RCVT
    - Ins_SCFS
    - Ins_NEG
    - Ins_AA
    - Ins_Goto_CodeRange
    - Ins_GTEQ
    - Compute_Funcs
    - FT_TRACE4
    - Ins_DEBUG
    - FT_THROW
    - Ins_GETDATA
    - Ins_SCANCTRL
    - Ins_SCVTCI
    - Ins_MPS
    - Ins_RTG
    - Ins_SDS
    - Ins_SRP0
    - Ins_FLIPRGON
    - Ins_SFVTL
    - Ins_ISECT
    - Ins_AND
    - Ins_SxyTCA
    - Ins_SFVTPV
    - Ins_WCVTF
    - FT_MIN
    - Ins_LTEQ
    - Ins_PUSHB
    - Ins_SPVFS
    - Ins_RS
    - Ins_SHC
    - Ins_ROLL
    - Ins_ADD
    - Ins_SZP0
    - Ins_SHP
    - Ins_RTDG
    - Ins_S45ROUND
    - Ins_ODD
    - Ins_INSTCTRL
    - Ins_EIF
    - Ins_NOT
    - Ins_IDEF
    - Ins_SSW
    - Ins_SSWCI
    - Ins_ROFF
    - FT_ERR
    - Ins_ENDF
    - Ins_PUSHW
    - FT_TRACE1
    - Ins_DELTAC
    - Ins_ALIGNPTS
    - Ins_SUB
    - Ins_MDRP
    - Ins_MDAP
    - Ins_LOOPCALL
    - Ins_MINDEX
    - Ins_MIRP
    - Ins_GFV
    - Ins_FLIPON
    - Ins_GETINFO
    - Ins_GPV
    - Ins_MD
    - Ins_CEILING
    - Ins_GT
    - Ins_LT
    - Ins_SRP1
    - Ins_NEQ
    - Ins_MPPEM
    - Ins_EVEN
    - Ins_SFVFS
    - Ins_MAX
    - Ins_SZP1
    - Ins_FLIPOFF
    - Ins_SANGW
    - Ins_MIN
    - Ins_SMD
    - Ins_JMPR
    - Ins_NROUND
    - Ins_FLOOR
    - Ins_UNKNOWN
    - Ins_SWAP
    - Ins_UTP
    - Ins_GETVARIATION
    - Ins_RUTG
    - Ins_SLOOP
    - Ins_CLEAR
    - Ins_MUL
    - FT_IS_TRICKY
    - Ins_SZPS
    - Ins_IP
    - Ins_JROT
    - Ins_MSIRP
    linkageType: ''
    returnType: void
    signature: void TT_RunIns( TT_ExecContext  exc )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:63,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:78,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:79,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:80,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:82,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:87,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:92,1
    - Dst: gxv_mort_coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:95,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:102,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - table
    - limit
    - nSubtables
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 113
    functionName: gxv_morx_subtables_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c
    functionUses: 0
    functionsReached:
    - gxv_mort_coverage_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtables_validate( FT_Bytes       table,\n                               FT_Bytes
      \      limit,\n                               FT_UShort      nSubtables,\n                               GXV_Validator
      \ gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:130,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:132,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:134,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:138,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:139,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:140,1
    - Dst: gxv_mort_featurearray_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:143,1
    - Dst: gxv_morx_subtables_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 157
    functionName: gxv_morx_chain_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - gxv_morx_subtables_validate
    - GXV_LIMIT_CHECK
    - gxv_mort_featurearray_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_chain_validate( FT_Bytes       table,\n                           FT_Bytes
      \      limit,\n                           GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:177,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:180,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:181,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:182,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:189,1
    - Dst: GXV_32BIT_ALIGNMENT_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:190,1
    - Dst: gxv_morx_chain_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:191,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 161
    functionDepth: 3
    functionLinenumber: 161
    functionLinenumberEnd: 196
    functionName: gxv_morx_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx.c
    functionUses: 0
    functionsReached:
    - GXV_32BIT_ALIGNMENT_VALIDATE
    - GXV_TRACE
    - FT_TRACE3
    - FT_NEXT_ULONG
    - gxv_morx_chain_validate
    - FT_TRACE4
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:79,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:80,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:81,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:83,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:84,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:94,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:96,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:97,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:98,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:99,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:100,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:104,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:106,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:111,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:113,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:118,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:119,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:122,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 123
    functionName: gxv_mort_subtable_type0_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type0_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:134,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:137,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 149
    functionName: gxv_mort_subtable_type0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort0.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - gxv_StateTable_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type0_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c:449,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c:450,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c:466,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c:469,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 480
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfgen.c
    functionUses: 15
    functionsReached:
    - printf
    - ft_strncmp
    linkageType: ''
    returnType: int
    signature: int main( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_StateTable_subtable_setup
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort*
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 96
    functionName: gxv_mort_subtable_type5_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c
    functionUses: 0
    functionsReached:
    - gxv_StateTable_subtable_setup
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type5_subtable_setup( FT_UShort      table_size,\n
      \                                         FT_UShort      classTable,\n                                          FT_UShort
      \     stateArray,\n                                          FT_UShort      entryTable,\n
      \                                         FT_UShort*     classTable_length_p,\n
      \                                         FT_UShort*     stateArray_length_p,\n
      \                                         FT_UShort*     entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:117,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:120,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:123,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:126,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:133,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:134,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:135,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:137,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - offset
    - count
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 139
    functionName: gxv_mort_subtable_type5_InsertList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type5_InsertList_validate( FT_UShort      offset,\n
      \                                              FT_UShort      count,\n                                               FT_Bytes
      \      table,\n                                               FT_Bytes       limit,\n
      \                                              GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:164,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:168,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:169,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:170,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:171,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:172,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:173,1
    - Dst: gxv_mort_subtable_type5_InsertList_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:184,1
    - Dst: gxv_mort_subtable_type5_InsertList_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:193,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 199
    functionName: gxv_mort_subtable_type5_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - gxv_mort_subtable_type5_InsertList_validate
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type5_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:213,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:215,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 231
    functionName: gxv_mort_subtable_type5_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort5.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - gxv_StateTable_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type5_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: GXV_LCAR_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_LCAR_DATA( FIELD )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:73,1
    - Dst: GXV_LCAR_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:75,1
    - Dst: gxv_ctlPoint_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - partial
    - glyph
    - gxvalid
    argTypes:
    - FT_Short
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: gxv_lcar_partial_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c
    functionUses: 0
    functionsReached:
    - gxv_ctlPoint_validate
    - GXV_LCAR_DATA
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_lcar_partial_validate( FT_Short       partial,\n                             FT_UShort
      \     glyph,\n                             GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:97,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:99,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:100,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:102,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:105,1
    - Dst: gxv_lcar_partial_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 110
    functionName: gxv_lcar_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - gxv_lcar_partial_validate
    - FT_NEXT_SHORT
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_lcar_LookupValue_validate( FT_UShort            glyph,\n
      \                                GXV_LookupValueCPtr  value_p,\n                                 GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:159,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:167,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 171
    functionName: gxv_lcar_LookupFmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - FT_UNUSED
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_lcar_LookupFmt4_transit( FT_UShort            relative_gindex,\n
      \                              GXV_LookupValueCPtr  base_value_p,\n                               FT_Bytes
      \            lookuptbl_limit,\n                               GXV_Validator
      \       gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:202,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:205,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:206,1
    - Dst: GXV_LCAR_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:207,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:207,1
    - Dst: GXV_LCAR_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:212,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:218,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 221
    functionName: gxv_lcar_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvlcar.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - gxv_LookupTable_validate
    - FT_NEXT_LONG
    - GXV_LCAR_DATA
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_lcar_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: GXV_TRAK_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRAK_DATA( FIELD )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:107,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:109,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:110,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:112,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:117,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:118,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:119,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:121,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:122,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:123,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:124,1
    - Dst: gxv_sfntName_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:126,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:131,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - table
    - limit
    - nTracks
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 140
    functionName: gxv_trak_trackTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_LONG
    - GXV_TRAK_DATA
    - gxv_sfntName_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_trak_trackTable_validate( FT_Bytes       table,\n                                FT_Bytes
      \      limit,\n                                FT_UShort      nTracks,\n                                GXV_Validator
      \ gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_ODTECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:153,1
    - Dst: GXV_ODTECT_INIT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:156,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:157,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:160,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:161,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:162,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:163,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:165,1
    - Dst: gxv_trak_trackTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:169,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:170,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:175,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:176,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:179,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:181,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:183,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:184,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:186,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:187,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:188,1
    - Dst: GXV_TRAK_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:189,1
    - Dst: gxv_odtect_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 196
    functionName: gxv_trak_trackData_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - gxv_odtect_add_range
    - FT_NEXT_ULONG
    - GXV_ODTECT_INIT
    - GXV_TRAK_DATA
    - GXV_ODTECT
    - gxv_odtect_validate
    - gxv_trak_trackTable_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_trak_trackData_validate( FT_Bytes       table,\n                               FT_Bytes
      \      limit,\n                               GXV_Validator  gxvalid )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GXV_ODTECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:227,1
    - Dst: GXV_ODTECT_INIT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:229,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:236,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:239,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:240,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:241,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:242,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:243,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:244,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:246,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:247,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:248,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:249,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:250,1
    - Dst: GXV_32BIT_ALIGNMENT_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:260,1
    - Dst: GXV_32BIT_ALIGNMENT_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:261,1
    - Dst: gxv_trak_trackData_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:270,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:271,1
    - Dst: gxv_trak_trackData_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:277,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:278,1
    - Dst: gxv_odtect_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:282,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c:284,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 285
    functionName: gxv_trak_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvtrak.c
    functionUses: 0
    functionsReached:
    - GXV_32BIT_ALIGNMENT_VALIDATE
    - GXV_TRACE
    - FT_TRACE3
    - gxv_odtect_add_range
    - FT_NEXT_ULONG
    - GXV_ODTECT_INIT
    - GXV_ODTECT
    - FT_TRACE4
    - gxv_odtect_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - gxv_trak_trackData_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_trak_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:70,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:71,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:72,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:73,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:75,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:77,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: gxv_morx_subtable_type2_opttable_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_opttable_load( FT_Bytes       table,\n
      \                                        FT_Bytes       limit,\n                                         GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:102,1
    - Dst: gxv_set_length_by_ulong_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:117,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:119,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:121,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:123,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:125,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:128,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong*
    - FT_ULong*
    - FT_ULong*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 136
    functionName: gxv_morx_subtable_type2_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - gxv_set_length_by_ulong_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_subtable_setup( FT_ULong       table_size,\n
      \                                         FT_ULong       classTable,\n                                          FT_ULong
      \      stateArray,\n                                          FT_ULong       entryTable,\n
      \                                         FT_ULong*      classTable_length_p,\n
      \                                         FT_ULong*      stateArray_length_p,\n
      \                                         FT_ULong*      entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:160,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:165,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:180,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:197,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:201,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:208,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:212,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:215,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - table
    - ligActionIndex
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 220
    functionName: gxv_morx_subtable_type2_ligActionIndex_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_ULONG
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_ligActionIndex_validate(\n    FT_Bytes
      \      table,\n    FT_UShort      ligActionIndex,\n    GXV_Validator  gxvalid
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:240,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:241,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:254,1
    - Dst: gxv_morx_subtable_type2_ligActionIndex_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 259
    functionName: gxv_morx_subtable_type2_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - gxv_morx_subtable_type2_ligActionIndex_validate
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_entry_validate(\n    FT_UShort                       state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:274,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:284,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:285,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - gxvalid
    argTypes:
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 292
    functionName: gxv_morx_subtable_type2_ligatureTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_ligatureTable_validate( FT_Bytes       table,\n
      \                                                 GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:305,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:307,1
    - Dst: gxv_XStateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:320,1
    - Dst: gxv_morx_subtable_type2_ligatureTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 328
    functionName: gxv_morx_subtable_type2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx2.c
    functionUses: 0
    functionsReached:
    - gxv_morx_subtable_type2_ligatureTable_validate
    - gxv_XStateTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type2_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_UShort*
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: gxv_compare_ushort_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gxv_compare_ushort_offset( FT_UShort*  a,\n                             FT_UShort*
      \ b )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:80,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - offset
    - length
    - buff
    - nmemb
    - limit
    - gxvalid
    argTypes:
    - FT_UShort*
    - FT_UShort**
    - FT_UShort*
    - FT_UInt
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 103
    functionName: gxv_set_length_by_ushort_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - ft_qsort
    linkageType: ''
    returnType: void
    signature: "void gxv_set_length_by_ushort_offset( FT_UShort*     offset,\n                                   FT_UShort**
      \   length,\n                                   FT_UShort*     buff,\n                                   FT_UInt
      \       nmemb,\n                                   FT_UShort      limit,\n                                   GXV_Validator
      \ gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_ULong*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: gxv_compare_ulong_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gxv_compare_ulong_offset( FT_ULong*  a,\n                            FT_ULong*
      \ b )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:145,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 6
    argNames:
    - offset
    - length
    - buff
    - nmemb
    - limit
    - gxvalid
    argTypes:
    - FT_ULong*
    - FT_ULong**
    - FT_ULong*
    - FT_UInt
    - FT_ULong
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 168
    functionName: gxv_set_length_by_ulong_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - ft_qsort
    linkageType: ''
    returnType: void
    signature: "void gxv_set_length_by_ulong_offset( FT_ULong*      offset,\n                                  FT_ULong**
      \    length,\n                                  FT_ULong*      buff,\n                                  FT_UInt
      \       nmemb,\n                                  FT_ULong       limit,\n                                  GXV_Validator
      \ gxvalid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:198,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:199,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:201,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - table
    - limit
    - min
    - max
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_Byte*
    - FT_Byte*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: gxv_array_getlimits_byte
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - FT_MAX
    - FT_MIN
    - FT_NEXT_BYTE
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_array_getlimits_byte( FT_Bytes       table,\n                            FT_Bytes
      \      limit,\n                            FT_Byte*       min,\n                            FT_Byte*
      \      max,\n                            GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:227,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:228,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:230,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - table
    - limit
    - min
    - max
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 235
    functionName: gxv_array_getlimits_ushort
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - FT_MAX
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - FT_MIN
    linkageType: ''
    returnType: void
    signature: "void gxv_array_getlimits_ushort( FT_Bytes       table,\n                              FT_Bytes
      \      limit,\n                              FT_UShort*     min,\n                              FT_UShort*
      \    max,\n                              GXV_Validator  gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:294,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:295,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:301,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:307,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 2
    argNames:
    - binSrchHeader
    - gxvalid
    argTypes:
    - GXV_BinSrchHeader*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 309
    functionName: gxv_BinSrchHeader_check_consistency
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_BinSrchHeader_check_consistency( GXV_BinSrchHeader*  binSrchHeader,\n
      \                                      GXV_Validator       gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:338,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:342,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:343,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:350,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:351,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:356,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:357,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:358,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:359,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:360,1
    - Dst: gxv_BinSrchHeader_check_consistency
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:362,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - table
    - limit
    - unitSize_p
    - nUnits_p
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 372
    functionName: gxv_BinSrchHeader_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - gxv_BinSrchHeader_check_consistency
    - GXV_NAME_ENTER
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_BinSrchHeader_validate( FT_Bytes       table,\n                              FT_Bytes
      \      limit,\n                              FT_UShort*     unitSize_p,\n                              FT_UShort*
      \    nUnits_p,\n                              GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - P
    - ','
    - SIGNSPEC
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: GXV_LOOKUP_VALUE_LOAD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_LOOKUP_VALUE_LOAD( P, SIGNSPEC )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:394,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - signspec
    argTypes:
    - FT_Bytes
    - GXV_LookupValue_SignSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 399
    functionName: gxv_lookup_value_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - FT_NEXT_SHORT
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_lookup_value_load( FT_Bytes                  p,\n
      \                        GXV_LookupValue_SignSpec  signspec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - FORMAT
    - ','
    - UNITSIZE
    - ','
    - NUNITS
    - ','
    - CORRECTSIZE
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 419
    functionName: GXV_UNITSIZE_VALIDATE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_UNITSIZE_VALIDATE( FORMAT, UNITSIZE, NUNITS, CORRECTSIZE )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:433,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:435,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:439,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:442,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:444,1
    - Dst: GXV_LOOKUP_VALUE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:448,1
    - Dst: GXV_Validator::lookupval_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 454
    functionName: gxv_LookupTable_fmt0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_LOOKUP_VALUE_LOAD
    - GXV_SET_ERR_IF_PARANOID
    - GXV_Validator::lookupval_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt0_validate( FT_Bytes       table,\n                                 FT_Bytes
      \      limit,\n                                 GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 3
    argNames:
    - table
    - unitSize
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: gxv_LookupTable_fmt2_skip_endmarkers
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt2_skip_endmarkers( FT_Bytes       table,\n
      \                                       FT_UShort      unitSize,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:509,1
    - Dst: gxv_BinSrchHeader_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:512,1
    - Dst: GXV_UNITSIZE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:515,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:519,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:520,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:521,1
    - Dst: GXV_LOOKUP_VALUE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:522,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:524,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:525,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:529,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:532,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:537,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:540,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:545,1
    - Dst: GXV_Validator::lookupval_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:552,1
    - Dst: gxv_LookupTable_fmt2_skip_endmarkers
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 560
    functionName: gxv_LookupTable_fmt2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - gxv_LookupTable_fmt2_skip_endmarkers
    - GXV_NAME_ENTER
    - GXV_LOOKUP_VALUE_LOAD
    - GXV_UNITSIZE_VALIDATE
    - gxv_BinSrchHeader_validate
    - GXV_SET_ERR_IF_PARANOID
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_Validator::lookupval_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt2_validate( FT_Bytes       table,\n                                 FT_Bytes
      \      limit,\n                                 GXV_Validator  gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:581,1
    - Dst: gxv_BinSrchHeader_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:584,1
    - Dst: GXV_UNITSIZE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:587,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:591,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:592,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:593,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:595,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:596,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:600,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:603,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:608,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:611,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:616,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:622,1
    - Dst: GXV_LOOKUP_VALUE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:623,1
    - Dst: GXV_Validator::lookupfmt4_trans
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:627,1
    - Dst: GXV_Validator::lookupval_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:632,1
    - Dst: gxv_LookupTable_fmt2_skip_endmarkers
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:636,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 641
    functionName: gxv_LookupTable_fmt4_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - gxv_LookupTable_fmt2_skip_endmarkers
    - GXV_NAME_ENTER
    - GXV_LOOKUP_VALUE_LOAD
    - GXV_UNITSIZE_VALIDATE
    - gxv_BinSrchHeader_validate
    - GXV_Validator::lookupfmt4_trans
    - GXV_SET_ERR_IF_PARANOID
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_Validator::lookupval_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt4_validate( FT_Bytes       table,\n                                 FT_Bytes
      \      limit,\n                                 GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - table
    - unitSize
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 661
    functionName: gxv_LookupTable_fmt6_skip_endmarkers
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt6_skip_endmarkers( FT_Bytes       table,\n
      \                                       FT_UShort      unitSize,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:679,1
    - Dst: gxv_BinSrchHeader_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:682,1
    - Dst: GXV_UNITSIZE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:685,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:689,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:690,1
    - Dst: GXV_LOOKUP_VALUE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:691,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:693,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:694,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:700,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:702,1
    - Dst: GXV_Validator::lookupval_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:706,1
    - Dst: gxv_LookupTable_fmt6_skip_endmarkers
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 714
    functionName: gxv_LookupTable_fmt6_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_LOOKUP_VALUE_LOAD
    - GXV_UNITSIZE_VALIDATE
    - gxv_BinSrchHeader_validate
    - GXV_SET_ERR_IF_PARANOID
    - gxv_LookupTable_fmt6_skip_endmarkers
    - FT_NEXT_USHORT
    - GXV_Validator::lookupval_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt6_validate( FT_Bytes       table,\n                                 FT_Bytes
      \      limit,\n                                 GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:731,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:734,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:735,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:736,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:738,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:739,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:744,1
    - Dst: GXV_LOOKUP_VALUE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:745,1
    - Dst: GXV_Validator::lookupval_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:746,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 751
    functionName: gxv_LookupTable_fmt8_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_NAME_ENTER
    - GXV_LOOKUP_VALUE_LOAD
    - FT_NEXT_USHORT
    - GXV_Validator::lookupval_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_fmt8_validate( FT_Bytes       table,\n                                 FT_Bytes
      \      limit,\n                                 GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:778,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:784,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:785,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:786,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 801
    functionName: gxv_LookupTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - func
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_LookupTable_validate( FT_Bytes       table,\n                            FT_Bytes
      \      limit,\n                            GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:828,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:830,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - gid
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 834
    functionName: gxv_glyphid_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 4
    functionsReached:
    - GXV_TRACE
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_glyphid_validate( FT_UShort      gid,\n                        GXV_Validator
      \ gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - gid
    - ctl_point
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 872
    functionName: gxv_ctlPoint_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - FT_Load_Glyph
    linkageType: ''
    returnType: void
    signature: "void gxv_ctlPoint_validate( FT_UShort      gid,\n                         FT_UShort
      \     ctl_point,\n                         GXV_Validator  gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:894,1
    - Dst: FT_Get_Sfnt_Name_Count
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:899,1
    - Dst: FT_Get_Sfnt_Name
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:902,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:909,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:914,1
    - Dst: GXV_TRACE_HEXDUMP_SFNTNAME
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:915,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:916,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - name_index
    - min_index
    - max_index
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 920
    functionName: gxv_sfntName_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - GXV_TRACE
    - FT_Get_Sfnt_Name_Count
    - GXV_NAME_ENTER
    - FT_TRACE1
    - GXV_TRACE_HEXDUMP_SFNTNAME
    - FT_Get_Sfnt_Name
    linkageType: ''
    returnType: void
    signature: "void gxv_sfntName_validate( FT_UShort      name_index,\n                         FT_UShort
      \     min_index,\n                         FT_UShort      max_index,\n                         GXV_Validator
      \ gxvalid )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:954,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:958,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:959,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:960,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:962,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:967,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:975,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:980,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:981,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 5
    argNames:
    - table
    - length_p
    - stateSize
    - maxClassID_p
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort*
    - FT_UShort
    - FT_Byte*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 1012
    functionName: gxv_ClassTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_BYTE
    - FT_MEM_ZERO
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_ClassTable_validate( FT_Bytes       table,\n                           FT_UShort*
      \    length_p,\n                           FT_UShort      stateSize,\n                           FT_Byte*
      \      maxClassID_p,\n                           GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1031,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1034,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1036,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1043,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1054,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1055,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1058,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 7
    argNames:
    - table
    - length_p
    - maxClassID
    - stateSize
    - maxState_p
    - maxEntry_p
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort*
    - FT_Byte
    - FT_UShort
    - FT_Byte*
    - FT_Byte*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1064
    functionName: gxv_StateArray_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_BYTE
    - FT_MAX
    - GXV_LIMIT_CHECK
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_StateArray_validate( FT_Bytes       table,\n                           FT_UShort*
      \    length_p,\n                           FT_Byte        maxClassID,\n                           FT_UShort
      \     stateSize,\n                           FT_Byte*       maxState_p,\n                           FT_Byte*
      \      maxEntry_p,\n                           GXV_Validator  gxvalid )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: GXV_GLYPHOFFSET_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1084,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1089,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1091,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1095,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1099,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1109,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1110,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1111,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1117,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1119,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1125,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1127,1
    - Dst: GXV_GLYPHOFFSET_FMT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1133,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1140,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1144,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1148,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1152,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1156,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1160,1
    - Dst: GXV_Validator::statetable::entry_validate_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 9
    argNames:
    - table
    - length_p
    - maxEntry
    - stateArray
    - stateArray_length
    - maxClassID
    - statetable_table
    - statetable_limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort*
    - FT_Byte
    - FT_UShort
    - FT_UShort
    - FT_Byte
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1176
    functionName: gxv_EntryTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_CHAR
    - GXV_NAME_ENTER
    - FT_NEXT_LONG
    - FT_NEXT_SHORT
    - FT_NEXT_ULONG
    - FT_NEXT_BYTE
    - GXV_Validator::statetable::entry_validate_func
    - GXV_SET_ERR_IF_PARANOID
    - GXV_GLYPHOFFSET_SIZE
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - GXV_GLYPHOFFSET_FMT
    linkageType: ''
    returnType: void
    signature: "void gxv_EntryTable_validate( FT_Bytes       table,\n                           FT_UShort*
      \    length_p,\n                           FT_Byte        maxEntry,\n                           FT_UShort
      \     stateArray,\n                           FT_UShort      stateArray_length,\n
      \                          FT_Byte        maxClassID,\n                           FT_Bytes
      \      statetable_table,\n                           FT_Bytes       statetable_limit,\n
      \                          GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ushort_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort*
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1204
    functionName: gxv_StateTable_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - gxv_set_length_by_ushort_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_StateTable_subtable_setup( FT_UShort      table_size,\n                                 FT_UShort
      \     classTable,\n                                 FT_UShort      stateArray,\n
      \                                FT_UShort      entryTable,\n                                 FT_UShort*
      \    classTable_length_p,\n                                 FT_UShort*     stateArray_length_p,\n
      \                                FT_UShort*     entryTable_length_p,\n                                 GXV_Validator
      \ gxvalid )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1229,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1231,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1233,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1234,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1235,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1236,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1237,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1239,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1240,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1241,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1242,1
    - Dst: GXV_Validator::statetable::optdata_load_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1248,1
    - Dst: setup_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1255,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1264,1
    - Dst: gxv_ClassTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1267,1
    - Dst: gxv_StateArray_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1276,1
    - Dst: gxv_EntryTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1295,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1306
    functionName: gxv_StateTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 2
    functionsReached:
    - GXV_TRACE
    - gxv_StateArray_validate
    - GXV_NAME_ENTER
    - GXV_Validator::statetable::optdata_load_func
    - setup_func
    - gxv_EntryTable_validate
    - FT_NEXT_USHORT
    - gxv_ClassTable_validate
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_StateTable_validate( FT_Bytes       table,\n                           FT_Bytes
      \      limit,\n                           GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ulong_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong*
    - FT_ULong*
    - FT_ULong*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1334
    functionName: gxv_XStateTable_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ulong_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_XStateTable_subtable_setup( FT_ULong       table_size,\n
      \                                 FT_ULong       classTable,\n                                  FT_ULong
      \      stateArray,\n                                  FT_ULong       entryTable,\n
      \                                 FT_ULong*      classTable_length_p,\n                                  FT_ULong*
      \     stateArray_length_p,\n                                  FT_ULong*      entryTable_length_p,\n
      \                                 GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1348
    functionName: gxv_XClassTable_lookupval_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_XClassTable_lookupval_validate( FT_UShort            glyph,\n
      \                                     GXV_LookupValueCPtr  value_p,\n                                      GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1395,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1399
    functionName: gxv_XClassTable_lookupfmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_XClassTable_lookupfmt4_transit( FT_UShort
      \           relative_gindex,\n                                      GXV_LookupValueCPtr
      \ base_value_p,\n                                      FT_Bytes             lookuptbl_limit,\n
      \                                     GXV_Validator        gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1416,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1419,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1421,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1428,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1439,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1440,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 7
    argNames:
    - table
    - length_p
    - maxClassID
    - stateSize
    - maxState_p
    - maxEntry_p
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_ULong*
    - FT_UShort
    - FT_ULong
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1449
    functionName: gxv_XStateArray_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_MAX
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_XStateArray_validate( FT_Bytes       table,\n                            FT_ULong*
      \     length_p,\n                            FT_UShort      maxClassID,\n                            FT_ULong
      \      stateSize,\n                            FT_UShort*     maxState_p,\n
      \                           FT_UShort*     maxEntry_p,\n                            GXV_Validator
      \ gxvalid )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GXV_GLYPHOFFSET_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1466,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1469,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1470,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1482,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1483,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1484,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1488,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1490,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1496,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1499,1
    - Dst: GXV_GLYPHOFFSET_FMT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1502,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1509,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1513,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1517,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1521,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1525,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1529,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1533,1
    - Dst: GXV_Validator::xstatetable::entry_validate_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1538,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 8
    argNames:
    - table
    - length_p
    - maxEntry
    - stateArray_length
    - maxClassID
    - xstatetable_table
    - xstatetable_limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_ULong*
    - FT_UShort
    - FT_ULong
    - FT_UShort
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1550
    functionName: gxv_XEntryTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_CHAR
    - GXV_NAME_ENTER
    - FT_NEXT_LONG
    - FT_NEXT_SHORT
    - FT_NEXT_ULONG
    - FT_NEXT_BYTE
    - GXV_Validator::xstatetable::entry_validate_func
    - GXV_SET_ERR_IF_PARANOID
    - GXV_GLYPHOFFSET_SIZE
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - GXV_GLYPHOFFSET_FMT
    linkageType: ''
    returnType: void
    signature: "void gxv_XEntryTable_validate( FT_Bytes       table,\n                            FT_ULong*
      \     length_p,\n                            FT_UShort      maxEntry,\n                            FT_ULong
      \      stateArray_length,\n                            FT_UShort      maxClassID,\n
      \                           FT_Bytes       xstatetable_table,\n                            FT_Bytes
      \      xstatetable_limit,\n                            GXV_Validator  gxvalid
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1574,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1576,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1578,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1579,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1580,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1581,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1582,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1584,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1585,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1586,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1587,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1592,1
    - Dst: GXV_Validator::xstatetable::optdata_load_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1595,1
    - Dst: setup_func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1602,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1617,1
    - Dst: gxv_XStateArray_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1633,1
    - Dst: gxv_XEntryTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1652,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1554
    functionDepth: 2
    functionLinenumber: 1554
    functionLinenumberEnd: 1662
    functionName: gxv_XStateTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 1
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - gxv_LookupTable_validate
    - gxv_XStateArray_validate
    - gxv_XEntryTable_validate
    - FT_NEXT_ULONG
    - GXV_Validator::xstatetable::optdata_load_func
    - setup_func
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_XStateTable_validate( FT_Bytes       table,\n                            FT_Bytes
      \      limit,\n                            GXV_Validator  gxvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 4
    argNames:
    - table1_start
    - table1_length
    - table2_start
    - table2_length
    argTypes:
    - FT_Bytes
    - FT_ULong
    - FT_Bytes
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1673
    functionDepth: 0
    functionLinenumber: 1673
    functionLinenumberEnd: 1698
    functionName: gxv_compare_ranges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gxv_compare_ranges( FT_Bytes  table1_start,\n                      FT_ULong
      \ table1_length,\n                      FT_Bytes  table2_start,\n                      FT_ULong
      \ table2_length )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - start
    - length
    - name
    - odtect
    argTypes:
    - FT_Bytes
    - FT_ULong
    - FT_String*
    - GXV_odtect_Range
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1711
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1711
    functionName: gxv_odtect_add_range
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gxv_odtect_add_range( FT_Bytes          start,\n                        FT_ULong
      \         length,\n                        const FT_String*  name,\n                        GXV_odtect_Range
      \ odtect )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1721,1
    - Dst: gxv_compare_ranges
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1725,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1732,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c:1735,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - odtect
    - gxvalid
    argTypes:
    - GXV_odtect_Range
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1743
    functionName: gxv_odtect_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.c
    functionUses: 2
    functionsReached:
    - gxv_compare_ranges
    - GXV_TRACE
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_odtect_validate( GXV_odtect_Range  odtect,\n                       GXV_Validator
      \    gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: GXV_BSLN_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_BSLN_DATA( field )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:81,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:84,1
    - Dst: GXV_BSLN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:89,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: gxv_bsln_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - FT_UNUSED
    - GXV_BSLN_DATA
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_LookupValue_validate( FT_UShort            glyph,\n
      \                                GXV_LookupValueCPtr  value_p,\n                                 GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:141,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: gxv_bsln_LookupFmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_bsln_LookupFmt4_transit( FT_UShort            relative_gindex,\n
      \                              GXV_LookupValueCPtr  base_value_p,\n                               FT_Bytes
      \            lookuptbl_limit,\n                               GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:157,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - tables
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: gxv_bsln_parts_fmt0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_parts_fmt0_validate( FT_Bytes       tables,\n                                FT_Bytes
      \      limit,\n                                GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:176,1
    - Dst: gxv_bsln_parts_fmt0_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:179,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tables
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 190
    functionName: gxv_bsln_parts_fmt1_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - gxv_LookupTable_validate
    - gxv_bsln_parts_fmt0_validate
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_parts_fmt1_validate( FT_Bytes       tables,\n                                FT_Bytes
      \      limit,\n                                GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_BSLN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:204,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:207,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:209,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:212,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:213,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:215,1
    - Dst: GXV_BSLN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:218,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:223,1
    - Dst: gxv_ctlPoint_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - tables
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 234
    functionName: gxv_bsln_parts_fmt2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_BSLN_DATA
    - gxv_ctlPoint_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_parts_fmt2_validate( FT_Bytes       tables,\n                                FT_Bytes
      \      limit,\n                                GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:245,1
    - Dst: gxv_bsln_parts_fmt2_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:248,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - tables
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 259
    functionName: gxv_bsln_parts_fmt3_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - gxv_LookupTable_validate
    - GXV_NAME_ENTER
    - gxv_bsln_parts_fmt2_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_parts_fmt3_validate( FT_Bytes       tables,\n                                FT_Bytes
      \      limit,\n                                GXV_Validator  gxvalid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:301,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:305,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:306,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:307,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:308,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:315,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 327
    functionName: gxv_bsln_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvbsln.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_TRACE3
    - FT_NEXT_ULONG
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_bsln_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: GXV_JUST_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_JUST_DATA( a )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:75,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:80,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - gid
    - msg_tag
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_String*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: gxv_just_check_max_gid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_just_check_max_gid( FT_UShort         gid,\n                          const
      FT_String*  msg_tag,\n                          GXV_Validator     gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:104,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:105,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:109,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:110,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:111,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:112,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:113,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:114,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:120,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 127
    functionName: gxv_just_wdp_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_ULONG
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_wdp_entry_validate( FT_Bytes       table,\n                               FT_Bytes
      \      limit,\n                               GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:139,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:140,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:143,1
    - Dst: gxv_just_wdp_entry_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: gxv_just_wdc_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - gxv_just_wdp_entry_validate
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_wdc_entry_validate( FT_Bytes       table,\n                               FT_Bytes
      \      limit,\n                               GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:158,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:162,1
    - Dst: gxv_just_wdc_entry_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 152
    functionDepth: 3
    functionLinenumber: 152
    functionLinenumberEnd: 176
    functionName: gxv_just_widthDeltaClusters_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_JUST_DATA
    - GXV_NAME_ENTER
    - gxv_just_wdc_entry_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_just_widthDeltaClusters_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:196,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:197,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:198,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:200,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:204,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:208,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:210,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:218,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:219,1
    - Dst: gxv_just_check_max_gid
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 224
    functionName: gxv_just_actSubrecord_type0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_check_max_gid
    - GXV_TRACE
    - FT_NEXT_LONG
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_type0_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:236,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:237,1
    - Dst: gxv_just_check_max_gid
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 242
    functionName: gxv_just_actSubrecord_type1_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_check_max_gid
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_type1_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:258,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:260,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:264,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:265,1
    - Dst: gxv_just_check_max_gid
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:268,1
    - Dst: gxv_just_check_max_gid
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 273
    functionName: gxv_just_actSubrecord_type2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_check_max_gid
    - FT_NEXT_USHORT
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_type2_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:288,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:289,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:290,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:291,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:292,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:297,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:301,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 310
    functionName: gxv_just_actSubrecord_type4_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_LONG
    - GXV_TRACE
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_type4_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:323,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:324,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:325,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:328,1
    - Dst: gxv_just_check_max_gid
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 333
    functionName: gxv_just_actSubrecord_type5_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_check_max_gid
    - GXV_TRACE
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_type5_validate( FT_Bytes       table,\n
      \                                       FT_Bytes       limit,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:348,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:350,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:351,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:352,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:353,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:357,1
    - Dst: gxv_just_actSubrecord_type0_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:360,1
    - Dst: gxv_just_actSubrecord_type1_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:362,1
    - Dst: gxv_just_actSubrecord_type2_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:364,1
    - Dst: gxv_just_actSubrecord_type4_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:368,1
    - Dst: gxv_just_actSubrecord_type5_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 377
    functionName: gxv_just_actSubrecord_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_actSubrecord_type1_validate
    - GXV_NAME_ENTER
    - gxv_just_actSubrecord_type0_validate
    - gxv_just_actSubrecord_type2_validate
    - FT_NEXT_ULONG
    - gxv_just_actSubrecord_type4_validate
    - gxv_just_actSubrecord_type5_validate
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_actSubrecord_validate( FT_Bytes       table,\n                                  FT_Bytes
      \      limit,\n                                  GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:390,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:391,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:392,1
    - Dst: gxv_just_actSubrecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 380
    functionDepth: 4
    functionLinenumber: 380
    functionLinenumberEnd: 403
    functionName: gxv_just_pcActionRecord_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - gxv_just_actSubrecord_validate
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_pcActionRecord_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:411,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:413,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:414,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:415,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 417
    functionName: gxv_just_pcTable_LookupValue_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_JUST_DATA
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_just_pcTable_LookupValue_entry_validate( FT_UShort            glyph,\n
      \                                              GXV_LookupValueCPtr  value_p,\n
      \                                              GXV_Validator        gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:428,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:429,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:430,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 440
    functionName: gxv_just_pcLookupTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_LookupTable_validate
    - GXV_JUST_DATA
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_just_pcLookupTable_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:451,1
    - Dst: gxv_just_pcLookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:453,1
    - Dst: gxv_just_pcActionRecord_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 462
    functionName: gxv_just_postcompTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_pcLookupTable_validate
    - GXV_NAME_ENTER
    - gxv_just_pcActionRecord_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_just_postcompTable_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:482,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:483,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:484,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:485,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:486,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 496
    functionName: gxv_just_classTable_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_just_classTable_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:510,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:512,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:513,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:514,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:515,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:517,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:519,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:521,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:524,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 499
    functionDepth: 4
    functionLinenumber: 499
    functionLinenumberEnd: 539
    functionName: gxv_just_justClassTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - gxv_StateTable_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_justClassTable_validate ( FT_Bytes       table,\n                                     FT_Bytes
      \      limit,\n                                     GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:547,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:549,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:550,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:551,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:552,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 553
    functionName: gxv_just_wdcTable_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_JUST_DATA
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_just_wdcTable_LookupValue_validate( FT_UShort            glyph,\n
      \                                         GXV_LookupValueCPtr  value_p,\n                                          GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:564,1
    - Dst: GXV_JUST_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:565,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 575
    functionName: gxv_just_justData_lookuptable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_LookupTable_validate
    - GXV_JUST_DATA
    linkageType: ''
    returnType: void
    signature: "void gxv_just_justData_lookuptable_validate( FT_Bytes       table,\n
      \                                         FT_Bytes       limit,\n                                          GXV_Validator
      \ gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_ODTECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:595,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:598,1
    - Dst: GXV_ODTECT_INIT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:600,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:601,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:602,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:603,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:604,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:606,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:607,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:608,1
    - Dst: gxv_just_justData_lookuptable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:610,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:611,1
    - Dst: gxv_just_widthDeltaClusters_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:616,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:618,1
    - Dst: gxv_just_postcompTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:624,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:626,1
    - Dst: gxv_just_justClassTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:632,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:634,1
    - Dst: gxv_odtect_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:639,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 581
    functionDepth: 6
    functionLinenumber: 581
    functionLinenumberEnd: 642
    functionName: gxv_just_justData_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - gxv_just_widthDeltaClusters_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - gxv_odtect_add_range
    - GXV_ODTECT_INIT
    - gxv_just_justData_lookuptable_validate
    - gxv_just_postcompTable_validate
    - GXV_ODTECT
    - gxv_just_justClassTable_validate
    - gxv_odtect_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_justData_validate( FT_Bytes       table,\n                              FT_Bytes
      \      limit,\n                              GXV_Validator  gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_ODTECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:663,1
    - Dst: GXV_ODTECT_INIT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:666,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:672,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:677,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:678,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:679,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:680,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:681,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:682,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:687,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:692,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:696,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:697,1
    - Dst: gxv_just_justData_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:703,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:704,1
    - Dst: gxv_just_justData_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:710,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:711,1
    - Dst: gxv_odtect_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:715,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c:717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 646
    functionDepth: 7
    functionLinenumber: 646
    functionLinenumberEnd: 718
    functionName: gxv_just_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvjust.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_TRACE3
    - gxv_odtect_add_range
    - FT_NEXT_ULONG
    - GXV_ODTECT_INIT
    - gxv_just_justData_validate
    - GXV_ODTECT
    - FT_TRACE4
    - gxv_odtect_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_just_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:65,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: gxv_mort_subtable_type1_substitutionTable_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_substitutionTable_load( FT_Bytes       table,\n
      \                                                 FT_Bytes       limit,\n                                                  GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ushort_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort*
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: gxv_mort_subtable_type1_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ushort_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_subtable_setup( FT_UShort      table_size,\n
      \                                         FT_UShort      classTable,\n                                          FT_UShort
      \     stateArray,\n                                          FT_UShort      entryTable,\n
      \                                         FT_UShort*     classTable_length_p,\n
      \                                         FT_UShort*     stateArray_length_p,\n
      \                                         FT_UShort*     entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:111,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:112,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - wordOffset
    - tag
    - state
    - gxvalid
    argTypes:
    - FT_Short
    - FT_String*
    - FT_Byte
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 131
    functionName: gxv_mort_subtable_type1_offset_to_subst_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - FT_MAX
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_offset_to_subst_validate(\n    FT_Short
      \         wordOffset,\n    const FT_String*  tag,\n    FT_Byte           state,\n
      \   GXV_Validator     gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:151,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:152,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:166,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:167,1
    - Dst: gxv_mort_subtable_type1_offset_to_subst_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:170,1
    - Dst: gxv_mort_subtable_type1_offset_to_subst_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 179
    functionName: gxv_mort_subtable_type1_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - gxv_mort_subtable_type1_offset_to_subst_validate
    - FT_UNUSED
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:194,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:200,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:201,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:208,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:211,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 216
    functionName: gxv_mort_subtable_type1_substTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_substTable_validate( FT_Bytes       table,\n
      \                                              FT_Bytes       limit,\n                                               GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:234,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:236,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:249,1
    - Dst: gxv_mort_subtable_type1_substTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 225
    functionDepth: 4
    functionLinenumber: 225
    functionLinenumberEnd: 257
    functionName: gxv_mort_subtable_type1_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort1.c
    functionUses: 0
    functionsReached:
    - gxv_mort_subtable_type1_substTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - gxv_StateTable_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type1_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:68,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:69,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:70,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:71,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:73,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:75,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 79
    functionName: gxv_mort_subtable_type2_opttable_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_opttable_load( FT_Bytes       table,\n
      \                                        FT_Bytes       limit,\n                                         GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:100,1
    - Dst: gxv_set_length_by_ushort_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:115,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:117,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:119,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:121,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:123,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:126,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort*
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 134
    functionName: gxv_mort_subtable_type2_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ushort_offset
    - GXV_NAME_ENTER
    - GXV_TRACE
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_subtable_setup( FT_UShort      table_size,\n
      \                                         FT_UShort      classTable,\n                                          FT_UShort
      \     stateArray,\n                                          FT_UShort      entryTable,\n
      \                                         FT_UShort      *classTable_length_p,\n
      \                                         FT_UShort      *stateArray_length_p,\n
      \                                         FT_UShort      *entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_32BIT_ALIGNMENT_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:152,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:155,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:159,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:163,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:167,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:180,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:190,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:194,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:198,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - table
    - ligActionOffset
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 208
    functionName: gxv_mort_subtable_type2_ligActionOffset_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - GXV_32BIT_ALIGNMENT_VALIDATE
    - GXV_TRACE
    - FT_NEXT_ULONG
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_ligActionOffset_validate(\n    FT_Bytes
      \      table,\n    FT_UShort      ligActionOffset,\n    GXV_Validator  gxvalid
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:226,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:227,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:228,1
    - Dst: gxv_mort_subtable_type2_ligActionOffset_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 241
    functionName: gxv_mort_subtable_type2_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - gxv_mort_subtable_type2_ligActionOffset_validate
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:256,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:265,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:266,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:269,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - gxvalid
    argTypes:
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 273
    functionName: gxv_mort_subtable_type2_ligatureTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_ligatureTable_validate( FT_Bytes       table,\n
      \                                                 GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:286,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:288,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:301,1
    - Dst: gxv_mort_subtable_type2_ligatureTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 309
    functionName: gxv_mort_subtable_type2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort2.c
    functionUses: 0
    functionsReached:
    - gxv_mort_subtable_type2_ligatureTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    - gxv_StateTable_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type2_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx4.c:47,1
    - Dst: gxv_mort_subtable_type4_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx4.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: gxv_morx_subtable_type4_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx4.c
    functionUses: 0
    functionsReached:
    - gxv_mort_subtable_type4_validate
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type4_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:76,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 78
    functionName: gxv_morx_subtable_type5_insertionGlyphList_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type5_insertionGlyphList_load( FT_Bytes       table,\n
      \                                                  FT_Bytes       limit,\n                                                   GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ulong_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong*
    - FT_ULong*
    - FT_ULong*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 109
    functionName: gxv_morx_subtable_type5_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ulong_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type5_subtable_setup( FT_ULong       table_size,\n
      \                                         FT_ULong       classTable,\n                                          FT_ULong
      \      stateArray,\n                                          FT_ULong       entryTable,\n
      \                                         FT_ULong*      classTable_length_p,\n
      \                                         FT_ULong*      stateArray_length_p,\n
      \                                         FT_ULong*      entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:123,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:130,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:131,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:132,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - table_index
    - count
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: gxv_morx_subtable_type5_InsertList_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type5_InsertList_validate( FT_UShort      table_index,\n
      \                                              FT_UShort      count,\n                                               FT_Bytes
      \      table,\n                                               FT_Bytes       limit,\n
      \                                              GXV_Validator  gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:162,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:166,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:167,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:168,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:169,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:170,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:171,1
    - Dst: gxv_morx_subtable_type5_InsertList_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:181,1
    - Dst: gxv_morx_subtable_type5_InsertList_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:187,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 191
    functionName: gxv_morx_subtable_type5_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c
    functionUses: 0
    functionsReached:
    - gxv_morx_subtable_type5_InsertList_validate
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type5_entry_validate(\n    FT_UShort                       state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:205,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:207,1
    - Dst: gxv_XStateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 195
    functionDepth: 3
    functionLinenumber: 195
    functionLinenumberEnd: 223
    functionName: gxv_morx_subtable_type5_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx5.c
    functionUses: 0
    functionsReached:
    - gxv_XStateTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type5_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:47,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: gxv_mort_subtable_type4_lookupval_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type4_lookupval_validate( FT_UShort            glyph,\n
      \                                             GXV_LookupValueCPtr  value_p,\n
      \                                             GXV_Validator        gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:98,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: gxv_mort_subtable_type4_lookupfmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_mort_subtable_type4_lookupfmt4_transit(\n
      \   FT_UShort            relative_gindex,\n    GXV_LookupValueCPtr  base_value_p,\n
      \   FT_Bytes             lookuptbl_limit,\n    GXV_Validator        gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:113,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 123
    functionName: gxv_mort_subtable_type4_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort4.c
    functionUses: 1
    functionsReached:
    - gxv_LookupTable_validate
    - GXV_NAME_ENTER
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtable_type4_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:67,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: gxv_morx_subtable_type1_substitutionTable_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_substitutionTable_load( FT_Bytes       table,\n
      \                                                 FT_Bytes       limit,\n                                                  GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ulong_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong
    - FT_ULong*
    - FT_ULong*
    - FT_ULong*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 100
    functionName: gxv_morx_subtable_type1_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ulong_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_subtable_setup( FT_ULong       table_size,\n
      \                                         FT_ULong       classTable,\n                                          FT_ULong
      \      stateArray,\n                                          FT_ULong       entryTable,\n
      \                                         FT_ULong*      classTable_length_p,\n
      \                                         FT_ULong*      stateArray_length_p,\n
      \                                         FT_ULong*      entryTable_length_p,\n
      \                                         GXV_Validator  gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:123,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:124,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:125,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:138,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:143,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:144,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 157
    functionName: gxv_morx_subtable_type1_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_entry_validate(\n    FT_UShort                       state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:165,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: gxv_morx_subtable_type1_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_LookupValue_validate( FT_UShort            glyph,\n
      \                                               GXV_LookupValueCPtr  value_p,\n
      \                                               GXV_Validator        gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:193,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: gxv_morx_subtable_type1_LookupFmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_morx_subtable_type1_LookupFmt4_transit(\n
      \   FT_UShort            relative_gindex,\n    GXV_LookupValueCPtr  base_value_p,\n
      \   FT_Bytes             lookuptbl_limit,\n    GXV_Validator        gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:225,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:226,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: gxv_morx_subtable_type1_substitutionTable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - gxv_LookupTable_validate
    - FT_NEXT_ULONG
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_substitutionTable_validate( FT_Bytes
      \      table,\n                                                      FT_Bytes
      \      limit,\n                                                      GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:250,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:252,1
    - Dst: gxv_XStateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:267,1
    - Dst: gxv_morx_subtable_type1_substitutionTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 275
    functionName: gxv_morx_subtable_type1_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx1.c
    functionUses: 0
    functionsReached:
    - gxv_morx_subtable_type1_substitutionTable_validate
    - gxv_XStateTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type1_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FIELD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: GXV_OPBD_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_OPBD_DATA( FIELD )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:81,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:82,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:86,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:87,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:89,1
    - Dst: gxv_ctlPoint_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:94,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: gxv_opbd_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c
    functionUses: 0
    functionsReached:
    - gxv_ctlPoint_validate
    - FT_NEXT_SHORT
    - GXV_LIMIT_CHECK
    - GXV_OPBD_DATA
    linkageType: ''
    returnType: void
    signature: "void gxv_opbd_LookupValue_validate( FT_UShort            glyph,\n
      \                                GXV_LookupValueCPtr  value_p,\n                                 GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:142,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: gxv_opbd_LookupFmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_opbd_LookupFmt4_transit( FT_UShort            relative_gindex,\n
      \                              GXV_LookupValueCPtr  base_value_p,\n                               FT_Bytes
      \            lookuptbl_limit,\n                               GXV_Validator
      \       gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:180,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:182,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:185,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:186,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:187,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:187,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:191,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:196,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:196,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:197,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:204,1
    - Dst: GXV_OPBD_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:207,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:209,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c:214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 215
    functionName: gxv_opbd_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvopbd.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_TRACE3
    - gxv_LookupTable_validate
    - FT_NEXT_ULONG
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - GXV_OPBD_DATA
    linkageType: ''
    returnType: void
    signature: "void gxv_opbd_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:48,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:51,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:55,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:58,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:70,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:71,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:75,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:76,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:78,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - f
    - gxvalid
    argTypes:
    - GXV_mort_feature
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 82
    functionName: gxv_mort_feature_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_feature_validate( GXV_mort_feature  f,\n                             GXV_Validator
      \    gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:101,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:104,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:105,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:106,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:107,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:108,1
    - Dst: gxv_mort_feature_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:110,1
    - Dst: IS_GXV_MORT_FEATURE_OFF
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - table
    - limit
    - nFeatureFlags
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_ULong
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: gxv_mort_featurearray_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 1
    functionsReached:
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - IS_GXV_MORT_FEATURE_OFF
    - FT_NEXT_USHORT
    - gxv_mort_feature_validate
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_featurearray_validate( FT_Bytes       table,\n                                  FT_Bytes
      \      limit,\n                                  FT_ULong       nFeatureFlags,\n
      \                                 GXV_Validator  gxvalid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:125,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:126,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:130,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:132,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:135,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:138,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:142,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - coverage
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 148
    functionName: gxv_mort_coverage_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 1
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_coverage_validate( FT_UShort      coverage,\n                              GXV_Validator
      \ gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:173,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:188,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:189,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:190,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:192,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:197,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:202,1
    - Dst: gxv_mort_coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:203,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:210,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - table
    - limit
    - nSubtables
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 221
    functionName: gxv_mort_subtables_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 0
    functionsReached:
    - gxv_mort_coverage_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - func
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_subtables_validate( FT_Bytes       table,\n                               FT_Bytes
      \      limit,\n                               FT_UShort      nSubtables,\n                               GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:238,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:240,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:242,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:246,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:247,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:248,1
    - Dst: gxv_mort_featurearray_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:250,1
    - Dst: gxv_mort_subtables_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 258
    functionName: gxv_mort_chain_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 0
    functionsReached:
    - gxv_mort_subtables_validate
    - GXV_NAME_ENTER
    - FT_NEXT_ULONG
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - gxv_mort_featurearray_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_chain_validate( FT_Bytes       table,\n                           FT_Bytes
      \      limit,\n                           GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:279,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:282,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:283,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:284,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:291,1
    - Dst: GXV_32BIT_ALIGNMENT_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:292,1
    - Dst: gxv_mort_chain_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:293,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 262
    functionDepth: 4
    functionLinenumber: 262
    functionLinenumberEnd: 298
    functionName: gxv_mort_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.c
    functionUses: 0
    functionsReached:
    - GXV_32BIT_ALIGNMENT_VALIDATE
    - GXV_TRACE
    - FT_TRACE3
    - FT_NEXT_ULONG
    - gxv_mort_chain_validate
    - FT_TRACE4
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_mort_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:57,1
    - Dst: FT_Load_Sfnt_Table
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:60,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:61,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:66,1
    - Dst: FT_Load_Sfnt_Table
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:69,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - face
    - tag
    - table
    - table_len
    argTypes:
    - FT_Face
    - FT_Tag
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: gxv_load_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_Load_Sfnt_Table
    - FT_ERR_EQ
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error gxv_load_table( FT_Face             face,\n                  FT_Tag
      \             tag,\n                  FT_Byte* volatile*  table,\n                  FT_ULong*
      \          table_len )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _sfnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: GXV_TABLE_DECL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TABLE_DECL( _sfnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _sfnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: GXV_TABLE_LOAD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TABLE_LOAD( _sfnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _sfnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: GXV_TABLE_VALIDATE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TABLE_VALIDATE( _sfnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _sfnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: GXV_TABLE_SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TABLE_SET( _sfnt )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:113,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:121,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:122,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:123,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:124,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:125,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:126,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:127,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:128,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:129,1
    - Dst: GXV_TABLE_DECL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:130,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:136,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:137,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:138,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:139,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:140,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:141,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:142,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:143,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:144,1
    - Dst: GXV_TABLE_LOAD
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:145,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:148,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:149,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:150,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:151,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:152,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:153,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:154,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:155,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:156,1
    - Dst: GXV_TABLE_VALIDATE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:157,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:160,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:161,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:162,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:163,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:164,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:165,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:166,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:167,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:168,1
    - Dst: GXV_TABLE_SET
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:169,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:174,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:175,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:176,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:177,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:178,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:179,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:180,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:181,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:182,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 58
    argCount: 4
    argNames:
    - face
    - gx_flags
    - tables
    - table_count
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes[]
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 187
    functionName: gxv_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached:
    - GXV_TABLE_VALIDATE
    - GXV_TABLE_DECL
    - GXV_TABLE_SET
    - FT_FACE_MEMORY
    - FT_FREE
    - GXV_TABLE_LOAD
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error gxv_validate( FT_Face   face,\n                FT_UInt   gx_flags,\n
      \               FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],\n                FT_UInt
      \  table_count )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:195,1
    - Dst: gxv_load_table
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:209,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:215,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:217,1
    - Dst: gxv_kern_validate_classic
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:218,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - face
    - ckern_flags
    - ckern_table
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 232
    functionName: classic_kern_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached:
    - ft_validator_init
    - FT_FACE_MEMORY
    - gxv_kern_validate_classic
    - ft_setjmp
    - FT_FREE
    - gxv_load_table
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error classic_kern_validate( FT_Face    face,\n                         FT_UInt
      \   ckern_flags,\n                         FT_Bytes*  ckern_table )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:262,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - service_id
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 265
    functionName: gxvalid_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmod.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer gxvalid_get_service( FT_Module    module,\n                       const
      char*  service_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:61,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:62,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:63,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:64,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_XStateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 83
    functionName: gxv_morx_subtable_type0_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type0_entry_validate(\n    FT_UShort                        state,\n
      \   FT_UShort                        flags,\n    GXV_XStateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                         table,\n    FT_Bytes
      \                        limit,\n    GXV_Validator                    gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:94,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:97,1
    - Dst: gxv_XStateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 109
    functionName: gxv_morx_subtable_type0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmorx0.c
    functionUses: 0
    functionsReached:
    - gxv_XStateTable_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_morx_subtable_type0_validate( FT_Bytes       table,\n                                    FT_Bytes
      \      limit,\n                                    GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: GXV_KERN_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_KERN_DATA( field )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gxvalid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: KERN_IS_CLASSIC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_IS_CLASSIC( gxvalid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gxvalid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: KERN_IS_NEW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_IS_NEW( gxvalid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gxvalid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: KERN_DIALECT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_DIALECT( gxvalid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gxvalid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: KERN_ALLOWS_MS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_ALLOWS_MS( gxvalid )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gxvalid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: KERN_ALLOWS_APPLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_ALLOWS_APPLE( gxvalid )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:121,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:124,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:136,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:137,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:140,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:141,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:144,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:162,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - table
    - limit
    - nPairs
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 169
    functionName: gxv_kern_subtable_fmt0_pairs_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_SHORT
    - FT_NEXT_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt0_pairs_validate( FT_Bytes       table,\n
      \                                        FT_Bytes       limit,\n                                         FT_UShort
      \     nPairs,\n                                         GXV_Validator  gxvalid
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:182,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:188,1
    - Dst: gxv_BinSrchHeader_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:189,1
    - Dst: gxv_kern_subtable_fmt0_pairs_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 195
    functionName: gxv_kern_subtable_fmt0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_kern_subtable_fmt0_pairs_validate
    - gxv_BinSrchHeader_validate
    - GXV_NAME_ENTER
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt0_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:219,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 221
    functionName: gxv_kern_subtable_fmt1_valueTable_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt1_valueTable_load( FT_Bytes       table,\n
      \                                         FT_Bytes       limit,\n                                          GXV_Validator
      \ gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_set_length_by_ushort_offset
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - table_size
    - classTable
    - stateArray
    - entryTable
    - classTable_length_p
    - stateArray_length_p
    - entryTable_length_p
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort
    - FT_UShort*
    - FT_UShort*
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 255
    functionName: gxv_kern_subtable_fmt1_subtable_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_set_length_by_ushort_offset
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt1_subtable_setup( FT_UShort      table_size,\n
      \                                        FT_UShort      classTable,\n                                         FT_UShort
      \     stateArray,\n                                         FT_UShort      entryTable,\n
      \                                        FT_UShort*     classTable_length_p,\n
      \                                        FT_UShort*     stateArray_length_p,\n
      \                                        FT_UShort*     entryTable_length_p,\n
      \                                        GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:280,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:281,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:302,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:304,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 6
    argNames:
    - state
    - flags
    - glyphOffset_p
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Byte
    - FT_UShort
    - GXV_StateTable_GlyphOffsetCPtr
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 308
    functionName: gxv_kern_subtable_fmt1_entry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt1_entry_validate(\n    FT_Byte                         state,\n
      \   FT_UShort                       flags,\n    GXV_StateTable_GlyphOffsetCPtr
      \ glyphOffset_p,\n    FT_Bytes                        table,\n    FT_Bytes                        limit,\n
      \   GXV_Validator                   gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:320,1
    - Dst: gxv_StateTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 336
    functionName: gxv_kern_subtable_fmt1_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - gxv_StateTable_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt1_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 368
    functionName: GXV_KERN_FMT2_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_KERN_FMT2_DATA( field )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:378,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:379,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:386,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:388,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:389,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:390,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:391,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:394,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:395,1
    - Dst: gxv_array_getlimits_ushort
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:397,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:398,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:399,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - table
    - limit
    - spec
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_kern_ClassSpec
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 405
    functionName: gxv_kern_subtable_fmt2_clstbl_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_NAME_ENTER
    - gxv_odtect_add_range
    - gxv_array_getlimits_ushort
    - GXV_KERN_FMT2_DATA
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt2_clstbl_validate( FT_Bytes            table,\n
      \                                         FT_Bytes            limit,\n                                          GXV_kern_ClassSpec
      \ spec,\n                                          GXV_Validator       gxvalid
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_ODTECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:413,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:422,1
    - Dst: GXV_ODTECT_INIT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:424,1
    - Dst: GXV_KERN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:426,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:428,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:429,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:429,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:430,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:431,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:432,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:432,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:434,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:434,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:437,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:438,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:439,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:439,1
    - Dst: gxv_kern_subtable_fmt2_clstbl_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:441,1
    - Dst: gxv_kern_subtable_fmt2_clstbl_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:444,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:447,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:448,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:449,1
    - Dst: gxv_odtect_add_range
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:452,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:452,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:453,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:454,1
    - Dst: GXV_KERN_FMT2_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:455,1
    - Dst: gxv_odtect_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 461
    functionName: gxv_kern_subtable_fmt2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_KERN_DATA
    - gxv_odtect_add_range
    - GXV_ODTECT_INIT
    - GXV_ODTECT
    - GXV_KERN_FMT2_DATA
    - gxv_odtect_validate
    - gxv_kern_subtable_fmt2_clstbl_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt2_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:479,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:481,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:482,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:483,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:484,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:485,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:486,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:490,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:492,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:496,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:501,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:511,1
    - Dst: gxv_array_getlimits_byte
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:512,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:526,1
    - Dst: gxv_array_getlimits_byte
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:527,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:545,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:546,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 555
    functionName: gxv_kern_subtable_fmt3_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_BYTE
    - gxv_array_getlimits_byte
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_fmt3_validate( FT_Bytes       table,\n                                   FT_Bytes
      \      limit,\n                                   GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:570,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:578,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:579,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:580,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:585,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - coverage
    - format
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 592
    functionName: gxv_kern_coverage_new_apple_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool gxv_kern_coverage_new_apple_validate( FT_UShort      coverage,\n
      \                                       FT_UShort*     format,\n                                        GXV_Validator
      \ gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: KERN_ALLOWS_MS
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:608,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:616,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:617,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:622,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - coverage
    - format
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 633
    functionName: gxv_kern_coverage_classic_apple_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_BOOL
    - KERN_ALLOWS_MS
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool gxv_kern_coverage_classic_apple_validate( FT_UShort      coverage,\n
      \                                           FT_UShort*     format,\n                                            GXV_Validator
      \ gxvalid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:649,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:657,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:658,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:659,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:660,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:665,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:671,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - coverage
    - format
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 675
    functionName: gxv_kern_coverage_classic_microsoft_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool gxv_kern_coverage_classic_microsoft_validate( FT_UShort      coverage,\n
      \                                               FT_UShort*     format,\n                                                GXV_Validator
      \ gxvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:694,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:696,1
    - Dst: KERN_IS_NEW
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:698,1
    - Dst: gxv_kern_coverage_new_apple_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:700,1
    - Dst: KERN_IS_CLASSIC
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:709,1
    - Dst: KERN_ALLOWS_APPLE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:709,1
    - Dst: gxv_kern_coverage_classic_apple_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:711,1
    - Dst: KERN_IS_CLASSIC
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:720,1
    - Dst: KERN_ALLOWS_MS
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:720,1
    - Dst: gxv_kern_coverage_classic_microsoft_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:722,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:731,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 3
    argNames:
    - coverage
    - format
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort*
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 736
    functionName: gxv_kern_coverage_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_kern_coverage_classic_apple_validate
    - GXV_TRACE
    - KERN_IS_CLASSIC
    - KERN_IS_NEW
    - GXV_NAME_ENTER
    - KERN_ALLOWS_APPLE
    - KERN_ALLOWS_MS
    - gxv_kern_coverage_classic_microsoft_validate
    - gxv_kern_coverage_new_apple_validate
    linkageType: ''
    returnType: GXV_kern_Dialect
    signature: "GXV_kern_Dialect gxv_kern_coverage_validate( FT_UShort      coverage,\n
      \                             FT_UShort*     format,\n                              GXV_Validator
      \ gxvalid )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:757,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:759,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:760,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:761,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:762,1
    - Dst: gxv_kern_coverage_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:764,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:774,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:775,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:786,1
    - Dst: KERN_IS_NEW
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:788,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:790,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:792,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:796,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:802,1
    - Dst: gxv_kern_subtable_fmt0_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:809,1
    - Dst: gxv_kern_subtable_fmt1_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:811,1
    - Dst: gxv_kern_subtable_fmt2_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:813,1
    - Dst: gxv_kern_subtable_fmt3_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:815,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 739
    functionDepth: 5
    functionLinenumber: 739
    functionLinenumberEnd: 822
    functionName: gxv_kern_subtable_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_kern_subtable_fmt0_validate
    - GXV_TRACE
    - KERN_IS_NEW
    - GXV_NAME_ENTER
    - gxv_kern_coverage_validate
    - gxv_kern_subtable_fmt1_validate
    - gxv_kern_subtable_fmt2_validate
    - gxv_kern_subtable_fmt3_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_subtable_validate( FT_Bytes       table,\n                              FT_Bytes
      \      limit,\n                              GXV_Validator  gxvalid )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:857,1
    - Dst: KERN_DIALECT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:859,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:861,1
    - Dst: GXV_KERN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:862,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:862,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:863,1
    - Dst: GXV_KERN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:864,1
    - Dst: GXV_KERN_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:866,1
    - Dst: KERN_IS_CLASSIC
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:868,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:870,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:871,1
    - Dst: KERN_IS_NEW
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:873,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:878,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:881,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:882,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:887,1
    - Dst: gxv_kern_subtable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:889,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:893,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 5
    argNames:
    - table
    - face
    - classic_only
    - dialect_request
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Bool
    - GXV_kern_Dialect
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 833
    functionDepth: 6
    functionLinenumber: 833
    functionLinenumberEnd: 894
    functionName: gxv_kern_validate_generic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - KERN_IS_CLASSIC
    - KERN_IS_NEW
    - GXV_KERN_DATA
    - FT_TRACE3
    - KERN_DIALECT
    - FT_NEXT_ULONG
    - gxv_kern_subtable_validate
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_validate_generic( FT_Bytes          table,\n                             FT_Face
      \          face,\n                             FT_Bool           classic_only,\n
      \                            GXV_kern_Dialect  dialect_request,\n                             FT_Validator
      \     ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_kern_validate_generic
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 898
    functionDepth: 7
    functionLinenumber: 898
    functionLinenumberEnd: 903
    functionName: gxv_kern_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 0
    functionsReached:
    - gxv_kern_validate_generic
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_kern_validate_generic
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - table
    - face
    - dialect_flags
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Int
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 7
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: gxv_kern_validate_classic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvkern.c
    functionUses: 1
    functionsReached:
    - gxv_kern_validate_generic
    linkageType: ''
    returnType: void
    signature: "void gxv_kern_validate_classic( FT_Bytes      table,\n                             FT_Face
      \      face,\n                             FT_Int        dialect_flags,\n                             FT_Validator
      \ ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: IS_GXV_MORT_FEATURE_OFF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvmort.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_GXV_MORT_FEATURE_OFF( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: GXV_SET_ERR_IF_PARANOID
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_SET_ERR_IF_PARANOID( err )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: GXV_GLYPHOFFSET_FMT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_GLYPHOFFSET_FMT( table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: GXV_GLYPHOFFSET_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_GLYPHOFFSET_SIZE( table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: GXV_TABLE_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TABLE_DATA( tag, field )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: FT_INVALID_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INVALID_( _error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 277
    functionName: GXV_LIMIT_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 77
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_LIMIT_CHECK( _count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 289
    functionName: GXV_NAME_ENTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_NAME_ENTER( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: GXV_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRACE( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: GXV_NAME_ENTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_NAME_ENTER( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: GXV_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 64
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRACE( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: GXV_32BIT_ALIGNMENT_VALIDATE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_32BIT_ALIGNMENT_VALIDATE( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 344
    functionName: GXV_TRACE_HEXDUMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRACE_HEXDUMP( p, len )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: GXV_TRACE_HEXDUMP_C
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRACE_HEXDUMP_C( p, len )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: GXV_TRACE_HEXDUMP_SFNTNAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_TRACE_HEXDUMP_SFNTNAME( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 509
    functionName: GXV_SUBTABLE_OFFSET_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_SUBTABLE_OFFSET_CHECK( _offset )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 516
    functionName: GXV_SUBTABLE_LIMIT_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_SUBTABLE_LIMIT_CHECK( _count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _us
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: GXV_USHORT_TO_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_USHORT_TO_SHORT( _us )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - odtect
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: GXV_ODTECT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_ODTECT( n, odtect )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - odtect
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: GXV_ODTECT_INIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvcommn.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_ODTECT_INIT( odtect )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: GXV_FEAT_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_FEAT_DATA( field )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:87,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:89,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:93,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:95,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:101,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:103,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:110,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:117,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:126,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 4
    argNames:
    - feature
    - nSettings
    - exclusive
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - FT_Bool
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 134
    functionName: gxv_feat_registry_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - GXV_SET_ERR_IF_PARANOID
    linkageType: ''
    returnType: void
    signature: "void gxv_feat_registry_validate( FT_UShort      feature,\n                              FT_UShort
      \     nSettings,\n                              FT_Bool        exclusive,\n
      \                             GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:147,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:149,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:150,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:151,1
    - Dst: gxv_sfntName_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: gxv_feat_name_index_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_NEXT_SHORT
    - gxv_sfntName_validate
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_feat_name_index_validate( FT_Bytes       table,\n                                FT_Bytes
      \      limit,\n                                GXV_Validator  gxvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:172,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:174,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:176,1
    - Dst: gxv_feat_name_index_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:182,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - table
    - limit
    - exclusive
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - FT_Bool
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 187
    functionName: gxv_feat_setting_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - gxv_feat_name_index_validate
    - GXV_FEAT_DATA
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_feat_setting_validate( FT_Bytes       table,\n                             FT_Bytes
      \      limit,\n                             FT_Bool        exclusive,\n                             GXV_Validator
      \ gxvalid )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:196,1
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:208,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:211,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:213,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:214,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:216,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:217,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:218,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:224,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:226,1
    - Dst: gxv_feat_registry_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:243,1
    - Dst: gxv_feat_name_index_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:245,1
    - Dst: gxv_feat_setting_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:250,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:252,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:253,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - table
    - limit
    - gxvalid
    argTypes:
    - FT_Bytes
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 190
    functionDepth: 4
    functionLinenumber: 190
    functionLinenumberEnd: 261
    functionName: gxv_feat_name_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached:
    - GXV_NAME_ENTER
    - gxv_feat_setting_validate
    - gxv_feat_name_index_validate
    - FT_BOOL
    - FT_NEXT_ULONG
    - gxv_feat_registry_validate
    - GXV_FEAT_DATA
    - GXV_SET_ERR_IF_PARANOID
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_feat_name_validate( FT_Bytes       table,\n                          FT_Bytes
      \      limit,\n                          GXV_Validator  gxvalid )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:296,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:302,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:305,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:308,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:309,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:315,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:318,1
    - Dst: gxv_feat_name_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:326,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:328,1
    - Dst: GXV_SET_ERR_IF_PARANOID
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:329,1
    - Dst: GXV_FEAT_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:331,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c:335,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 273
    functionDepth: 5
    functionLinenumber: 273
    functionLinenumberEnd: 336
    functionName: gxv_feat_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvfeat.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_TRACE3
    - gxv_feat_name_validate
    - FT_NEXT_ULONG
    - GXV_FEAT_DATA
    - GXV_SET_ERR_IF_PARANOID
    - FT_TRACE4
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: void
    signature: "void gxv_feat_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: GXV_PROP_DATA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GXV_PROP_DATA( field )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GXV_NAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:86,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:90,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - gid
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 106
    functionName: gxv_prop_zero_advance_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - GXV_NAME_ENTER
    - FT_Load_Glyph
    linkageType: ''
    returnType: void
    signature: "void gxv_prop_zero_advance_validate( FT_UShort      gid,\n                                  GXV_Validator
      \ gxvalid )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gxv_prop_zero_advance_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:116,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:127,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:142,1
    - Dst: gxv_glyphid_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:149,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:155,1
    - Dst: GXV_PROP_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:162,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:164,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:171,1
    - Dst: GXV_PROP_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:178,1
    - Dst: GXV_PROP_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:179,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:181,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - property
    - glyph
    - gxvalid
    argTypes:
    - FT_UShort
    - FT_UShort
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 185
    functionName: gxv_prop_property_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached:
    - gxv_glyphid_validate
    - GXV_TRACE
    - GXV_PROP_DATA
    - gxv_prop_zero_advance_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_prop_property_validate( FT_UShort      property,\n                              FT_UShort
      \     glyph,\n                              GXV_Validator  gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gxv_prop_property_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - glyph
    - value_p
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: gxv_prop_LookupValue_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached:
    - gxv_prop_property_validate
    linkageType: ''
    returnType: void
    signature: "void gxv_prop_LookupValue_validate( FT_UShort            glyph,\n
      \                                GXV_LookupValueCPtr  value_p,\n                                 GXV_Validator
      \       gxvalid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:241,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - relative_gindex
    - base_value_p
    - lookuptbl_limit
    - gxvalid
    argTypes:
    - FT_UShort
    - GXV_LookupValueCPtr
    - FT_Bytes
    - GXV_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: gxv_prop_LookupFmt4_transit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    linkageType: ''
    returnType: GXV_LookupValueDesc
    signature: "GXV_LookupValueDesc gxv_prop_LookupFmt4_transit( FT_UShort            relative_gindex,\n
      \                              GXV_LookupValueCPtr  base_value_p,\n                               FT_Bytes
      \            lookuptbl_limit,\n                               GXV_Validator
      \       gxvalid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:278,1
    - Dst: GXV_LIMIT_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:281,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:282,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:283,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:284,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:286,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:287,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:288,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:295,1
    - Dst: GXV_TRACE
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:303,1
    - Dst: gxv_prop_property_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:307,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:311,1
    - Dst: GXV_PROP_DATA
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:317,1
    - Dst: gxv_LookupTable_validate
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:323,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c:326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 3
    argNames:
    - table
    - face
    - ftvalid
    argTypes:
    - FT_Bytes
    - FT_Face
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 327
    functionName: gxv_prop_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/gxvalid/gxvprop.c
    functionUses: 0
    functionsReached:
    - GXV_TRACE
    - FT_TRACE3
    - gxv_LookupTable_validate
    - FT_NEXT_LONG
    - FT_TRACE4
    - gxv_prop_property_validate
    - FT_NEXT_USHORT
    - GXV_LIMIT_CHECK
    - GXV_PROP_DATA
    linkageType: ''
    returnType: void
    signature: "void gxv_prop_validate( FT_Bytes      table,\n                     FT_Face
      \      face,\n                     FT_Validator  ftvalid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - error
    - value
    argTypes:
    - FT_Error*
    - FT_Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: cf2_setError
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pserror.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf2_setError( FT_Error*  error,\n                FT_Error   value
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:38,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cmap
    - is_expert
    argTypes:
    - T1_CMapStd
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: t1_cmap_std_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_std_init( T1_CMapStd  cmap,\n                    FT_Int
      \     is_expert )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - T1_CMapStd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: t1_cmap_std_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_cmap_std_done( T1_CMapStd  cmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T1_CMapStd::sid_to_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:77,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:86,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - T1_CMapStd
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 95
    functionName: t1_cmap_std_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - T1_CMapStd::sid_to_string
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_std_char_index( T1_CMapStd  cmap,\n                          FT_UInt32
      \  char_code )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_cmap_std_char_index
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - T1_CMapStd
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 119
    functionName: t1_cmap_std_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - t1_cmap_std_char_index
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_std_char_next( T1_CMapStd   cmap,\n                         FT_UInt32
      \  *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:126,1
    - Dst: t1_cmap_std_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - T1_CMapStd
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: t1_cmap_standard_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - t1_cmap_std_init
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_standard_init( T1_CMapStd  cmap,\n                         FT_Pointer
      \ pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:156,1
    - Dst: t1_cmap_std_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - T1_CMapStd
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: t1_cmap_expert_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - t1_cmap_std_init
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_expert_init( T1_CMapStd  cmap,\n                       FT_Pointer
      \ pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:194,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:197,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:204,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - T1_CMapCustom
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 208
    functionName: t1_cmap_custom_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_ASSERT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_custom_init( T1_CMapCustom  cmap,\n                       FT_Pointer
      \    pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - T1_CMapCustom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: t1_cmap_custom_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_cmap_custom_done( T1_CMapCustom  cmap )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - T1_CMapCustom
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 232
    functionName: t1_cmap_custom_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_custom_char_index( T1_CMapCustom  cmap,\n                             FT_UInt32
      \     char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - T1_CMapCustom
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 260
    functionName: t1_cmap_custom_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_custom_char_next( T1_CMapCustom  cmap,\n                            FT_UInt32
      \    *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - idx
    argTypes:
    - T1_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: psaux_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void psaux_get_glyph_name( T1_Face  face,\n                        FT_UInt
      \ idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:301,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:302,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:305,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:309,1
    - Dst: FT_Service_PsCMaps::unicodes_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unicodes
    - pointer
    argTypes:
    - PS_Unicodes
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 317
    functionName: t1_cmap_unicode_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_Service_PsCMaps::unicodes_init
    - FT_CMAP_FACE
    - FT_FACE_MEMORY
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_unicode_init( PS_Unicodes  unicodes,\n                        FT_Pointer
      \  pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:323,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:324,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unicodes
    argTypes:
    - PS_Unicodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: t1_cmap_unicode_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void t1_cmap_unicode_done( PS_Unicodes  unicodes )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:336,1
    - Dst: FT_Service_PsCMaps::unicodes_char_index
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - char_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: t1_cmap_unicode_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_index
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_unicode_char_index( PS_Unicodes  unicodes,\n                              FT_UInt32
      \   char_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:348,1
    - Dst: FT_Service_PsCMaps::unicodes_char_next
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - pchar_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 353
    functionName: t1_cmap_unicode_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1cmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_next
    linkageType: ''
    returnType: void
    signature: "void t1_cmap_unicode_char_next( PS_Unicodes  unicodes,\n                             FT_UInt32
      \  *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: AFM_IS_NEWLINE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_IS_NEWLINE( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: AFM_IS_EOF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_IS_EOF( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: AFM_IS_SPACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_IS_SPACE( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: AFM_IS_SEP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_IS_SEP( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: AFM_GETC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_GETC()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: AFM_STREAM_KEY_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_STREAM_KEY_BEGIN( stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stream
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: AFM_STREAM_KEY_LEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_STREAM_KEY_LEN( stream, key )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: AFM_STATUS_EOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_STATUS_EOC( stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: AFM_STATUS_EOL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_STATUS_EOL( stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: AFM_STATUS_EOF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AFM_STATUS_EOF( stream )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AFM_STATUS_EOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:99,1
    - Dst: AFM_GETC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:104,1
    - Dst: AFM_IS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:105,1
    - Dst: AFM_IS_NEWLINE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:109,1
    - Dst: AFM_IS_SEP
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:111,1
    - Dst: AFM_IS_EOF
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:113,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - stream
    argTypes:
    - AFM_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 117
    functionName: afm_stream_skip_spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - AFM_IS_SPACE
    - AFM_IS_SEP
    - AFM_IS_NEWLINE
    - AFM_STATUS_EOC
    - AFM_IS_EOF
    - AFM_GETC
    linkageType: ''
    returnType: int
    signature: int afm_stream_skip_spaces( AFM_Stream  stream )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: afm_stream_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:127,1
    - Dst: AFM_STATUS_EOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:128,1
    - Dst: AFM_STREAM_KEY_BEGIN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:131,1
    - Dst: AFM_GETC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:135,1
    - Dst: AFM_IS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:138,1
    - Dst: AFM_IS_NEWLINE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:140,1
    - Dst: AFM_IS_SEP
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:145,1
    - Dst: AFM_IS_EOF
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:150,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - stream
    argTypes:
    - AFM_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 158
    functionName: afm_stream_read_one
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - AFM_IS_SPACE
    - AFM_IS_SEP
    - AFM_IS_NEWLINE
    - AFM_STATUS_EOC
    - AFM_IS_EOF
    - afm_stream_skip_spaces
    - AFM_GETC
    - AFM_STREAM_KEY_BEGIN
    linkageType: ''
    returnType: char
    signature: "char *\n  afm_stream_read_one( AFM_Stream  stream )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: afm_stream_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:168,1
    - Dst: AFM_STATUS_EOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:169,1
    - Dst: AFM_STREAM_KEY_BEGIN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:172,1
    - Dst: AFM_GETC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:177,1
    - Dst: AFM_IS_NEWLINE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:180,1
    - Dst: AFM_IS_EOF
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - stream
    argTypes:
    - AFM_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 193
    functionName: afm_stream_read_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - AFM_IS_NEWLINE
    - AFM_STATUS_EOL
    - AFM_IS_EOF
    - afm_stream_skip_spaces
    - AFM_GETC
    - AFM_STREAM_KEY_BEGIN
    linkageType: ''
    returnType: char
    signature: "char *\n  afm_stream_read_string( AFM_Stream  stream )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: afm_stream_read_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:391,1
    - Dst: afm_stream_read_one
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:393,1
    - Dst: AFM_STREAM_KEY_LEN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:398,1
    - Dst: FT_QALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:409,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:411,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:418,1
    - Dst: PS_Conv_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:423,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:428,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:429,1
    - Dst: AFM_Parser::get_index
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:434,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - parser
    - vals
    - n
    argTypes:
    - AFM_Parser
    - AFM_Value
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 442
    functionName: afm_parser_read_vals
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - PS_Conv_ToInt
    - afm_stream_read_string
    - AFM_STREAM_KEY_LEN
    - ft_strncmp
    - FT_BOOL
    - PS_Conv_ToFixed
    - FT_QALLOC
    - afm_stream_read_one
    - AFM_Parser::get_index
    linkageType: ''
    returnType: void
    signature: "void afm_parser_read_vals( AFM_Parser  parser,\n                        AFM_Value
      \  vals,\n                        FT_Int      n )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: AFM_STATUS_EOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:459,1
    - Dst: afm_stream_read_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:460,1
    - Dst: afm_stream_read_one
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:463,1
    - Dst: AFM_STATUS_EOF
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:467,1
    - Dst: AFM_STATUS_EOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:468,1
    - Dst: AFM_STATUS_EOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:479,1
    - Dst: afm_stream_read_one
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:480,1
    - Dst: afm_stream_read_one
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:483,1
    - Dst: AFM_STATUS_EOF
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:487,1
    - Dst: AFM_STATUS_EOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:488,1
    - Dst: AFM_STREAM_KEY_LEN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:496,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 3
    argNames:
    - parser
    - line
    - len
    argTypes:
    - AFM_Parser
    - FT_Bool
    - FT_Offset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 500
    functionName: afm_parser_next_key
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - afm_stream_read_string
    - AFM_STREAM_KEY_LEN
    - AFM_STATUS_EOC
    - AFM_STATUS_EOL
    - AFM_STATUS_EOF
    - afm_stream_read_one
    linkageType: ''
    returnType: void
    signature: "void afm_parser_next_key( AFM_Parser  parser,\n                       FT_Bool
      \    line,\n                       FT_Offset*  len )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:519,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - key
    - len
    argTypes:
    - char*
    - FT_Offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 526
    functionName: afm_tokenize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - ft_strncmp
    linkageType: ''
    returnType: AFM_Token
    signature: "AFM_Token afm_tokenize( const char*  key,\n                FT_Offset
      \   len )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - parser
    - memory
    - base
    - limit
    argTypes:
    - AFM_Parser
    - FT_Memory
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 554
    functionName: afm_parser_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void afm_parser_init( AFM_Parser  parser,\n                   FT_Memory
      \  memory,\n                   FT_Byte*    base,\n                   FT_Byte*
      \   limit )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - AFM_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 564
    functionName: afm_parser_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void afm_parser_done( AFM_Parser  parser )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:576,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - parser
    - aint
    argTypes:
    - AFM_Parser
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 567
    functionDepth: 4
    functionLinenumber: 567
    functionLinenumberEnd: 584
    functionName: afm_parser_read_int
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - afm_parser_read_vals
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error afm_parser_read_int( AFM_Parser  parser,\n                       FT_Int*
      \    aint )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: afm_parser_read_int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:598,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:612,1
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:616,1
    - Dst: afm_tokenize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:621,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:636,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:662,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 1
    argNames:
    - parser
    argTypes:
    - AFM_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 587
    functionDepth: 5
    functionLinenumber: 587
    functionLinenumberEnd: 663
    functionName: afm_parse_track_kern
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - afm_tokenize
    - afm_parser_read_int
    - FT_QNEW_ARRAY
    - FT_THROW
    - afm_parser_read_vals
    - afm_parser_next_key
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error afm_parse_track_kern( AFM_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g1
    - ','
    - g2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    functionName: KERN_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_INDEX( g1, g2 )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:678,1
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 688
    functionName: afm_compare_kern_pairs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - KERN_INDEX
    linkageType: ''
    returnType: void
    signature: "void afm_compare_kern_pairs( const void*  a,\n                          const
      void*  b )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: afm_parser_read_int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:702,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:716,1
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:720,1
    - Dst: afm_tokenize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:722,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:746,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:771,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:785,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - parser
    argTypes:
    - AFM_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 691
    functionDepth: 5
    functionLinenumber: 691
    functionLinenumberEnd: 786
    functionName: afm_parse_kern_pairs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - ft_qsort
    - afm_tokenize
    - afm_parser_read_int
    - FT_QNEW_ARRAY
    - FT_THROW
    - afm_parser_read_vals
    - afm_parser_next_key
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error afm_parse_kern_pairs( AFM_Parser  parser )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:797,1
    - Dst: afm_tokenize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:799,1
    - Dst: afm_parse_track_kern
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:802,1
    - Dst: afm_parse_kern_pairs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:809,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:827,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - parser
    argTypes:
    - AFM_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 789
    functionDepth: 6
    functionLinenumber: 789
    functionLinenumberEnd: 828
    functionName: afm_parse_kern_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - afm_tokenize
    - FT_THROW
    - afm_parse_track_kern
    - afm_parse_kern_pairs
    - afm_parser_next_key
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error afm_parse_kern_data( AFM_Parser  parser )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:842,1
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:847,1
    - Dst: afm_tokenize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:849,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:857,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - parser
    - n
    - end_section
    argTypes:
    - AFM_Parser
    - FT_Int
    - AFM_Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 858
    functionName: afm_parser_skip_section
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - afm_parser_next_key
    - afm_tokenize
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error afm_parser_skip_section( AFM_Parser  parser,\n                           FT_Int
      \     n,\n                           AFM_Token   end_section )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:866,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:873,1
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:875,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:877,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:878,1
    - Dst: afm_parser_next_key
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:880,1
    - Dst: afm_tokenize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:885,1
    - Dst: afm_parser_read_int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:888,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:893,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:901,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:912,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:923,1
    - Dst: afm_parser_read_vals
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:931,1
    - Dst: afm_parser_read_int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:942,1
    - Dst: afm_parser_skip_section
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:945,1
    - Dst: afm_parse_kern_data
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:953,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:968,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c:971,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    argCount: 1
    argNames:
    - parser
    argTypes:
    - AFM_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 862
    functionDepth: 7
    functionLinenumber: 862
    functionLinenumberEnd: 977
    functionName: afm_parser_parse
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/afmparse.c
    functionUses: 0
    functionsReached:
    - afm_parser_skip_section
    - afm_parse_kern_data
    - ft_strncmp
    - afm_tokenize
    - afm_parser_read_int
    - FT_THROW
    - afm_parser_read_vals
    - FT_FREE
    - afm_parser_next_key
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: void afm_parser_parse( AFM_Parser  parser )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:234,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:235,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:238,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:239,1
    - Dst: cff_lookup_glyph_by_stdcharcode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:255,1
    - Dst: cff_lookup_glyph_by_stdcharcode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:256,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:261,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:263,1
    - Dst: FT_GlyphLoader_CheckSubGlyphs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:276,1
    - Dst: FT_GlyphLoader_Prepare
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:304,1
    - Dst: CFF_Decoder*::get_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:307,1
    - Dst: cff_decoder_parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:313,1
    - Dst: CFF_Decoder*::free_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:317,1
    - Dst: CFF_Decoder*::get_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:337,1
    - Dst: cff_decoder_parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:343,1
    - Dst: CFF_Decoder*::free_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:347,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 6
    argNames:
    - decoder
    - asb
    - adx
    - ady
    - bchar
    - achar
    argTypes:
    - CFF_Decoder*
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 364
    functionName: cff_operator_seac
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_CheckSubGlyphs
    - FT_GlyphLoader_Prepare
    - cff_decoder_parse_charstrings
    - cff_lookup_glyph_by_stdcharcode
    - FT_THROW
    - CFF_Decoder*::get_glyph_callback
    - CFF_Decoder*::free_glyph_callback
    - ADD_LONG
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_operator_seac( CFF_Decoder*  decoder,\n                     FT_Pos
      \       asb,\n                     FT_Pos        adx,\n                     FT_Pos
      \       ady,\n                     FT_Int        bchar,\n                     FT_Int
      \       achar )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - in_charstring_type
    - num_subrs
    argTypes:
    - FT_Int
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 418
    functionName: cff_compute_bias
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int cff_compute_bias( FT_Int   in_charstring_type,\n                    FT_UInt
      \ num_subrs )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:444,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:447,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:449,1
    - Dst: FT_Service_CFFLoad::get_standard_encoding
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:456,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - cff
    - charcode
    argTypes:
    - CFF_Font
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 465
    functionName: cff_lookup_glyph_by_stdcharcode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 1
    functionsReached:
    - FT_FACE_FIND_GLOBAL_SERVICE
    - FT_THROW
    - FT_Service_CFFLoad::get_standard_encoding
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cff_lookup_glyph_by_stdcharcode( CFF_Font  cff,\n                                   FT_Int
      \   charcode )"
  - BBCount: 263
    BranchProfiles: []
    Callsites:
    - Dst: T2_Hints_Funcs::open
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:544,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:609,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:611,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:772,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:825,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:967,1
    - Dst: T2_Hints_Funcs::stems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:973,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:984,1
    - Dst: T2_Hints_Funcs::stems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:994,1
    - Dst: T2_Hints_Funcs::hintmask
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1013,1
    - Dst: T2_Hints_Funcs::counter
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1018,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1028,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1033,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1035,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1044,1
    - Dst: cff_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1046,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1048,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1049,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1054,1
    - Dst: cff_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1056,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1058,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1063,1
    - Dst: cff_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1065,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1067,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1072,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1074,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1075,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1084,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1085,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1086,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1098,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1109,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1110,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1117,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1119,1
    - Dst: cff_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1121,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1136,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1143,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1144,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1150,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1151,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1152,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1154,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1155,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1156,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1158,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1159,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1160,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1173,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1183,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1190,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1195,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1200,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1201,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1203,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1204,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1205,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1207,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1208,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1221,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1231,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1237,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1242,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1247,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1248,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1250,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1251,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1252,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1254,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1255,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1270,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1273,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1285,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1295,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1296,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1298,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1299,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1300,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1302,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1304,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1305,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1309,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1310,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1312,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1313,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1314,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1316,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1318,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1319,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1334,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1342,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1343,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1351,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1352,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1353,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1360,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1361,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1362,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1364,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1365,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1366,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1368,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1369,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1370,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1382,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1391,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1392,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1400,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1401,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1402,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1404,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1405,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1406,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1408,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1409,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1410,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1417,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1418,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1419,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1430,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1435,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1436,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1443,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1444,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1445,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1448,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1449,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1450,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1454,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1455,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1459,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1460,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1463,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1464,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1465,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1468,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1470,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1481,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1484,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1485,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1492,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1493,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1496,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1497,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1498,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1502,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1503,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1507,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1508,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1511,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1513,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1517,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1518,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1534,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1537,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1538,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1553,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1554,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1559,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1561,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1568,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1569,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1570,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1571,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1578,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1584,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1587,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1598,1
    - Dst: cff_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1600,1
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1601,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1606,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1607,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1608,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1609,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1618,1
    - Dst: cff_operator_seac
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1620,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1626,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1629,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1637,1
    - Dst: cff_operator_seac
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1646,1
    - Dst: cff_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1655,1
    - Dst: T2_Hints_Funcs::close
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1660,1
    - Dst: T2_Hints_Funcs::apply
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1665,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1674,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1678,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1682,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1695,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1697,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1702,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1704,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1709,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1711,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1716,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1730,1
    - Dst: cff_random
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1737,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1742,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1744,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1749,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1762,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1776,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1785,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1799,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1816,1
    - Dst: NEG_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1845,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1863,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1875,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1892,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1908,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1920,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1932,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1951,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1972,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1980,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1990,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1993,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:1998,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2008,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2011,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2016,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2017,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2026,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2028,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2029,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2043,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2066,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2092,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2104,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2116,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2128,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2140,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2154,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2160,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2167,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2181,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2198,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2204,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2211,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2225,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2237,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2242,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2254,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2257,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2258,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2260,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2272,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2278,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2280,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2283,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2284,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2287,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2288,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2291,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2292,1
    CyclomaticComplexity: 317
    EdgeCount: 317
    ICount: 1087
    argCount: 4
    argNames:
    - decoder
    - charstring_base
    - charstring_len
    - in_dict
    argTypes:
    - CFF_Decoder*
    - FT_Byte*
    - FT_ULong
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 497
    functionDepth: 2
    functionLinenumber: 497
    functionLinenumberEnd: 2293
    functionName: cff_decoder_parse_charstrings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 1
    functionsReached:
    - cff_check_points
    - FT_MulFix
    - T2_Hints_Funcs::close
    - cff_builder_add_point
    - SUB_LONG
    - T2_Hints_Funcs::open
    - T2_Hints_Funcs::hintmask
    - FT_THROW
    - FT_GlyphLoader_Add
    - cff_builder_add_point1
    - FT_DivFix
    - cff_builder_start_point
    - FT_BOOL
    - NEG_LONG
    - cff_random
    - T2_Hints_Funcs::apply
    - FT_MIN
    - cff_builder_close_contour
    - cff_operator_seac
    - T2_Hints_Funcs::stems
    - NEG_INT
    - FT_TRACE4
    - ADD_LONG
    - FT_ERROR
    - T2_Hints_Funcs::counter
    linkageType: ''
    returnType: void
    signature: "void cff_decoder_parse_charstrings( CFF_Decoder*  decoder,\n                                 FT_Byte*
      \     charstring_base,\n                                 FT_ULong      charstring_len,\n
      \                                FT_Bool       in_dict )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2340,1
    - Dst: cff_builder_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2343,1
    - Dst: cff_compute_bias
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - decoder
    - face
    - size
    - slot
    - hinting
    - hint_mode
    - get_callback
    - free_callback
    argTypes:
    - CFF_Decoder*
    - TT_Face
    - CFF_Size
    - CFF_GlyphSlot
    - FT_Bool
    - FT_Render_Mode
    - CFF_Decoder_Get_Glyph_Callback
    - CFF_Decoder_Free_Glyph_Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2357
    functionName: cff_decoder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 0
    functionsReached:
    - cff_compute_bias
    - FT_ZERO
    - cff_builder_init
    linkageType: ''
    returnType: void
    signature: "void cff_decoder_init( CFF_Decoder*                     decoder,\n
      \                   TT_Face                          face,\n                    CFF_Size
      \                        size,\n                    CFF_GlyphSlot                    slot,\n
      \                   FT_Bool                          hinting,\n                    FT_Render_Mode
      \                  hint_mode,\n                    CFF_Decoder_Get_Glyph_Callback
      \  get_callback,\n                    CFF_Decoder_Free_Glyph_Callback  free_callback
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_CFFLoad::fd_select_get
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2378,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2384,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2385,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2389,1
    - Dst: FT_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2395,1
    - Dst: cff_compute_bias
      Src: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c:2406,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - decoder
    - size
    - glyph_index
    argTypes:
    - CFF_Decoder*
    - CFF_Size
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2417
      start: 2363
    functionDepth: 1
    functionLinenumber: 2363
    functionLinenumberEnd: 2417
    functionName: cff_decoder_prepare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/cffdecode.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - FT_Service_CFFLoad::fd_select_get
    - FT_THROW
    - FT_TRACE4
    - FT_SIZE
    - cff_compute_bias
    linkageType: ''
    returnType: void
    signature: "void cff_decoder_prepare( CFF_Decoder*  decoder,\n                       CFF_Size
      \     size,\n                       FT_UInt       glyph_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: CF2_StackNumber_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CF2_StackNumber_
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:103,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:109,1
    - Dst: IS_PS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:128,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:147,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:156,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 41
    argCount: 3
    argNames:
    - cursor
    - limit
    - base
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 158
    functionName: PS_Conv_Strtol
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    - FT_BOOL
    - IS_PS_SPACE
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_Strtol( FT_Byte**  cursor,\n                  FT_Byte*
      \  limit,\n                  FT_Long    base )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PS_Conv_Strtol
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:173,1
    - Dst: PS_Conv_Strtol
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cursor
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 192
    functionName: PS_Conv_ToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 1
    functionsReached:
    - PS_Conv_Strtol
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_ToInt( FT_Byte**  cursor,\n                 FT_Byte*
      \  limit )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:217,1
    - Dst: PS_Conv_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:232,1
    - Dst: IS_PS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:253,1
    - Dst: PS_Conv_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:283,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:341,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:354,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:359,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:363,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 106
    argCount: 3
    argNames:
    - cursor
    - limit
    - power_ten
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 196
    functionDepth: 3
    functionLinenumber: 196
    functionLinenumberEnd: 365
    functionName: PS_Conv_ToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 1
    functionsReached:
    - PS_Conv_ToInt
    - IS_PS_SPACE
    - FT_BOOL
    - FT_TRACE4
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_ToFixed( FT_Byte**  cursor,\n                   FT_Byte*
      \  limit,\n                   FT_Long    power_ten )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: IS_PS_DIGIT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:423,1
    - Dst: IS_PS_DIGIT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:429,1
    - Dst: IS_PS_DIGIT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:435,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 4
    argNames:
    - cursor
    - limit
    - buffer
    - n
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Byte*
    - FT_Offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 460
    functionName: PS_Conv_StringDecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 0
    functionsReached:
    - IS_PS_DIGIT
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_StringDecode( FT_Byte**  cursor,\n                        FT_Byte*
      \  limit,\n                        FT_Byte*   buffer,\n                        FT_Offset
      \ n )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: IS_PS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:494,1
    - Dst: IS_PS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c:526,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 4
    argNames:
    - cursor
    - limit
    - buffer
    - n
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Byte*
    - FT_Offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 554
    functionName: PS_Conv_ASCIIHexDecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 0
    functionsReached:
    - IS_PS_SPACE
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_ASCIIHexDecode( FT_Byte**  cursor,\n                          FT_Byte*
      \  limit,\n                          FT_Byte*   buffer,\n                          FT_Offset
      \ n )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 5
    argNames:
    - cursor
    - limit
    - buffer
    - n
    - seed
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Byte*
    - FT_Offset
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 608
    functionName: PS_Conv_EexecDecode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psconv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PS_Conv_EexecDecode( FT_Byte**   cursor,\n                       FT_Byte*
      \   limit,\n                       FT_Byte*    buffer,\n                       FT_Offset
      \  n,\n                       FT_UShort*  seed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: randomError2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psread.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int randomError2( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:66,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: randomValue
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psread.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: CF2_Int
    signature: CF2_Int randomValue()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: randomError2
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:85,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:87,1
    - Dst: randomValue
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:91,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:98,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - buf
    argTypes:
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: cf2_buf_readByte
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psread.c
    functionUses: 0
    functionsReached:
    - randomValue
    - randomError2
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: void cf2_buf_readByte( CF2_Buffer  buf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psread.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: cf2_buf_isEnd
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psread.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: void cf2_buf_isEnd( CF2_Buffer  buf )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:120,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:140,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:156,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:157,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:161,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:163,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:167,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:168,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:168,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:170,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:175,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:175,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:181,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:182,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:182,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:185,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:192,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:192,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:198,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:199,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:199,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:203,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:210,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:210,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:216,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:217,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:217,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:224,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:224,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:229,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 7
    argNames:
    - emRatio
    - ppem
    - stemWidth
    - darkenAmount
    - boldenAmount
    - stemDarkened
    - darkenParams
    argTypes:
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed*
    - CF2_Fixed
    - FT_Bool
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 234
    functionName: cf2_computeDarkening
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c
    functionUses: 0
    functionsReached:
    - cf2_intToFixed
    - FT_MSB
    - cf2_doubleToFixed
    - FT_MulFix
    - FT_MulDiv
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void cf2_computeDarkening( CF2_Fixed   emRatio,\n                        CF2_Fixed
      \  ppem,\n                        CF2_Fixed   stemWidth,\n                        CF2_Fixed*
      \ darkenAmount,\n                        CF2_Fixed   boldenAmount,\n                        FT_Bool
      \    stemDarkened,\n                        FT_Int*     darkenParams )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cf2_getSubfont
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:268,1
    - Dst: cf2_getVStore
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:278,1
    - Dst: cf2_getNormalizedVector
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:288,1
    - Dst: FT_Service_CFFLoad::blend_check_vector
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:294,1
    - Dst: FT_Service_CFFLoad::load_private_dict
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:300,1
    - Dst: cf2_getPpemY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:326,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:334,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:338,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:346,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:352,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:354,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:369,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:396,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:396,1
    - Dst: cf2_fixedFracMul
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:402,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:402,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:408,1
    - Dst: cf2_getStdVW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:409,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:412,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:412,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:418,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:419,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:419,1
    - Dst: cf2_computeDarkening
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:426,1
    - Dst: cf2_computeDarkening
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:435,1
    - Dst: cf2_fixedFracMul
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:447,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:447,1
    - Dst: cf2_getStdHW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:453,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:455,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:456,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:456,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:460,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:460,1
    - Dst: cf2_computeDarkening
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:463,1
    - Dst: cf2_blues_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:479,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 2
    argNames:
    - font
    - transform
    argTypes:
    - CF2_Font
    - CF2_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 482
    functionName: cf2_font_setup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c
    functionUses: 0
    functionsReached:
    - cf2_blues_init
    - cf2_getVStore
    - cf2_getNormalizedVector
    - cf2_computeDarkening
    - MUL_INT32
    - cf2_intToFixed
    - FT_BOOL
    - FT_MAX
    - FT_Service_CFFLoad::blend_check_vector
    - FT_Service_CFFLoad::load_private_dict
    - ft_memcmp
    - cf2_getPpemY
    - cf2_getStdHW
    - FT_DivFix
    - cf2_getSubfont
    - cf2_getStdVW
    - cf2_fixedFracMul
    linkageType: ''
    returnType: void
    signature: "void cf2_font_setup( CF2_Font           font,\n                  const
      CF2_Matrix*  transform )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf2_font_setup
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:511,1
    - Dst: cf2_outline_reset
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:524,1
    - Dst: cf2_interpT2CharString
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:527,1
    - Dst: cf2_outline_close
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:554,1
    - Dst: cf2_setError
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c:561,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - font
    - charstring
    - transform
    - glyphWidth
    argTypes:
    - CF2_Font
    - CF2_Buffer
    - CF2_Matrix*
    - CF2_F16Dot16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 487
    functionDepth: 3
    functionLinenumber: 487
    functionLinenumberEnd: 564
    functionName: cf2_getGlyphOutline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfont.c
    functionUses: 0
    functionsReached:
    - cf2_font_setup
    - cf2_setError
    - cf2_outline_reset
    - cf2_interpT2CharString
    - cf2_outline_close
    linkageType: ''
    returnType: void
    signature: "void cf2_getGlyphOutline( CF2_Font           font,\n                       CF2_Buffer
      \        charstring,\n                       const CF2_Matrix*  transform,\n
      \                      CF2_F16Dot16*      glyphWidth )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:77,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: cf2_getWindingMomentum
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - SUB_INT32
    linkageType: ''
    returnType: CF2_Int
    signature: "CF2_Int cf2_getWindingMomentum( CF2_Fixed  x1,\n                          CF2_Fixed
      \ y1,\n                          CF2_Fixed  x2,\n                          CF2_Fixed
      \ y2 )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:102,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:104,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:108,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:110,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:123,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:187,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:188,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:190,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:197,1
    - Dst: cf2_hint_lock
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:202,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:205,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 7
    argNames:
    - hint
    - stemHintArray
    - indexStemHint
    - font
    - hintOrigin
    - scale
    - bottom
    argTypes:
    - CF2_Hint
    - CF2_ArrStack
    - size_t
    - CF2_Font
    - CF2_Fixed
    - CF2_Fixed
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 206
    functionName: cf2_hint_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_arrstack_getPointer
    - SUB_INT32
    - cf2_hint_lock
    - cf2_intToFixed
    - FT_MulFix
    - FT_ZERO
    - cf2_hint_isTop
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_hint_init( CF2_Hint            hint,\n                 const
      CF2_ArrStack  stemHintArray,\n                 size_t              indexStemHint,\n
      \                const CF2_Font      font,\n                 CF2_Fixed           hintOrigin,\n
      \                CF2_Fixed           scale,\n                 FT_Bool             bottom
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: cf2_hint_initZero
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: void cf2_hint_initZero( CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 221
    functionName: cf2_hint_isValid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: void cf2_hint_isValid( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: cf2_hint_isPair
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool cf2_hint_isPair( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: cf2_hint_isPairTop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool cf2_hint_isPairTop( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: cf2_hint_isTop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: void cf2_hint_isTop( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: cf2_hint_isBottom
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: void cf2_hint_isBottom( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: cf2_hint_isLocked
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool cf2_hint_isLocked( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cf2_hint_isSynthetic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool cf2_hint_isSynthetic( const CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hint
    argTypes:
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 270
    functionName: cf2_hint_lock
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_hint_lock( CF2_Hint  hint )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - hintmap
    - font
    - initialMap
    - hintMoves
    - scale
    argTypes:
    - CF2_HintMap
    - CF2_Font
    - CF2_HintMap
    - CF2_ArrStack
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 289
    functionName: cf2_hintmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmap_init( CF2_HintMap   hintmap,\n                    CF2_Font
      \     font,\n                    CF2_HintMap   initialMap,\n                    CF2_ArrStack
      \ hintMoves,\n                    CF2_Fixed     scale )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hintmap
    argTypes:
    - CF2_HintMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: cf2_hintmap_isValid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Bool
    signature: FT_Bool cf2_hintmap_isValid( const CF2_HintMap  hintmap )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:306,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:313,1
    - Dst: cf2_hint_isPair
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:318,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:319,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:320,1
    - Dst: cf2_hint_isSynthetic
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:321,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - hintmap
    argTypes:
    - CF2_HintMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 326
    functionName: cf2_hintmap_dump
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_hint_isSynthetic
    - FT_TRACE6
    - cf2_hint_isLocked
    - cf2_hint_isTop
    - FT_UNUSED
    - cf2_hint_isPair
    linkageType: ''
    returnType: void
    signature: void cf2_hintmap_dump( CF2_HintMap  hintmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:337,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:345,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:361,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:361,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:361,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:372,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:372,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:372,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - hintmap
    - csCoord
    argTypes:
    - CF2_HintMap
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 378
    functionName: cf2_hintmap_map
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_ASSERT
    - SUB_INT32
    - ADD_INT32
    linkageType: ''
    returnType: CF2_Fixed
    signature: "CF2_Fixed cf2_hintmap_map( CF2_HintMap  hintmap,\n                   CF2_Fixed
      \   csCoord )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cf2_arrstack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:401,1
    - Dst: cf2_hint_isPair
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:413,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:419,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:420,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:420,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:421,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:421,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:422,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:422,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:423,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:425,1
    - Dst: cf2_fixedFraction
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:428,1
    - Dst: cf2_fixedFraction
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:429,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:436,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:439,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:442,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:444,1
    - Dst: cf2_hint_isSynthetic
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:459,1
    - Dst: cf2_hint_isSynthetic
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:463,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:472,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:478,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:492,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:497,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:514,1
    - Dst: cf2_arrstack_push
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:523,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:527,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:530,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:535,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:537,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:545,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:545,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:547,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:555,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:555,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:557,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:566,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:569,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:575,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:579,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:583,1
    - Dst: cf2_hint_isPair
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:586,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:588,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:590,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 59
    argCount: 1
    argNames:
    - hintmap
    argTypes:
    - CF2_HintMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 594
    functionName: cf2_hintmap_adjustHints
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_arrstack_getPointer
    - FT_MIN
    - cf2_hint_isSynthetic
    - SUB_INT32
    - cf2_arrstack_push
    - cf2_arrstack_clear
    - cf2_fixedFraction
    - cf2_intToFixed
    - FT_BOOL
    - cf2_hint_isValid
    - FT_MAX
    - FT_ASSERT
    - cf2_hint_isLocked
    - cf2_arrstack_size
    - FT_DivFix
    - ADD_INT32
    - cf2_hint_isPair
    linkageType: ''
    returnType: void
    signature: void cf2_hintmap_adjustHints( CF2_HintMap  hintmap )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:613,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:613,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:614,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:617,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:623,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:642,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:646,1
    - Dst: cf2_hint_isPairTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:674,1
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:679,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:680,1
    - Dst: cf2_hintmap_map
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:687,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:689,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:692,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:692,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:697,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:698,1
    - Dst: cf2_hintmap_map
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:701,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:758,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:769,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:779,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 63
    argCount: 3
    argNames:
    - hintmap
    - bottomHintEdge
    - topHintEdge
    argTypes:
    - CF2_HintMap
    - CF2_Hint
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 787
    functionName: cf2_hintmap_insertHint
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - SUB_INT32
    - cf2_hintmap_isValid
    - FT_TRACE7
    - cf2_hint_isValid
    - FT_MulFix
    - FT_ASSERT
    - cf2_hint_isLocked
    - FT_TRACE4
    - cf2_hint_isPairTop
    - cf2_hintmap_map
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmap_insertHint( CF2_HintMap  hintmap,\n                          CF2_Hint
      \    bottomHintEdge,\n                          CF2_Hint     topHintEdge )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:822,1
    - Dst: cf2_hintmask_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:826,1
    - Dst: cf2_hintmap_build
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:827,1
    - Dst: cf2_hintmask_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:835,1
    - Dst: cf2_hintmask_setAll
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:838,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:839,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:840,1
    - Dst: cf2_hintmask_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:841,1
    - Dst: cf2_hintmask_getMaskPtr
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:859,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:862,1
    - Dst: cf2_hint_initZero
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:874,1
    - Dst: cf2_hintmap_insertHint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:877,1
    - Dst: cf2_hintmap_insertHint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:881,1
    - Dst: cf2_hint_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:896,1
    - Dst: cf2_hint_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:903,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:911,1
    - Dst: cf2_hint_isLocked
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:912,1
    - Dst: cf2_blues_capture
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:913,1
    - Dst: cf2_hintmap_insertHint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:918,1
    - Dst: cf2_hint_initZero
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:972,1
    - Dst: cf2_hint_initZero
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:979,1
    - Dst: cf2_hintmap_insertHint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:980,1
    - Dst: cf2_hintmask_getMaskPtr
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:987,1
    - Dst: cf2_hint_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:996,1
    - Dst: cf2_hint_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1003,1
    - Dst: cf2_hintmap_insertHint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1011,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1025,1
    - Dst: cf2_hintmap_dump
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1029,1
    - Dst: cf2_hintmap_adjustHints
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1041,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1043,1
    - Dst: cf2_hintmap_dump
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1044,1
    - Dst: cf2_hint_isSynthetic
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1052,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1057,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1061,1
    - Dst: cf2_hintmask_setNew
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1075,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 82
    argCount: 6
    argNames:
    - hintmap
    - hStemHintArray
    - vStemHintArray
    - hintMask
    - hintOrigin
    - initialMap
    argTypes:
    - CF2_HintMap
    - CF2_ArrStack
    - CF2_ArrStack
    - CF2_HintMask
    - CF2_Fixed
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 1076
    functionName: cf2_hintmap_build
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached:
    - FT_TRACE6
    - cf2_hintmask_isValid
    - cf2_hintmap_isValid
    - cf2_hintmap_dump
    - cf2_arrstack_size
    - cf2_hintmask_getMaskPtr
    - cf2_hint_initZero
    - cf2_hintmask_init
    - cf2_arrstack_getPointer
    - cf2_hintmask_setAll
    - cf2_hintmap_build
    - cf2_blues_capture
    - cf2_hintmap_adjustHints
    - cf2_hint_isLocked
    - cf2_hint_isSynthetic
    - cf2_hint_init
    - cf2_hintmap_insertHint
    - cf2_hintmask_setNew
    - cf2_hint_isTop
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmap_build( CF2_HintMap   hintmap,\n                     CF2_ArrStack
      \ hStemHintArray,\n                     CF2_ArrStack  vStemHintArray,\n                     CF2_HintMask
      \ hintMask,\n                     CF2_Fixed     hintOrigin,\n                     FT_Bool
      \      initialMap )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1092,1
    - Dst: cf2_arrstack_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1097,1
    - Dst: cf2_hintmap_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1102,1
    - Dst: cf2_hintmap_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1107,1
    - Dst: cf2_hintmap_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1112,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1136,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1137,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1138,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 10
    argNames:
    - glyphpath
    - font
    - callbacks
    - scaleY
    - hStemHintArray
    - vStemHintArray
    - hintMask
    - hintOriginY
    - blues
    - fractionalTranslation
    argTypes:
    - CF2_GlyphPath
    - CF2_Font
    - CF2_OutlineCallbacks
    - CF2_Fixed
    - CF2_ArrStack
    - CF2_ArrStack
    - CF2_HintMask
    - CF2_Fixed
    - CF2_Blues
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1080
    functionDepth: 1
    functionLinenumber: 1080
    functionLinenumberEnd: 1147
    functionName: cf2_glyphpath_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_arrstack_init
    - cf2_fixedAbs
    - FT_MAX
    - cf2_doubleToFixed
    - FT_ZERO
    - cf2_hintmap_init
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_init( CF2_GlyphPath         glyphpath,\n                      CF2_Font
      \             font,\n                      CF2_OutlineCallbacks  callbacks,\n
      \                     CF2_Fixed             scaleY,\n                      /*
      CF2_Fixed  hShift, */\n                      CF2_ArrStack          hStemHintArray,\n
      \                     CF2_ArrStack          vStemHintArray,\n                      CF2_HintMask
      \         hintMask,\n                      CF2_Fixed             hintOriginY,\n
      \                     const CF2_Blues       blues,\n                      const
      FT_Vector*      fractionalTranslation )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf2_arrstack_finalize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glyphpath
    argTypes:
    - CF2_GlyphPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1151
    functionDepth: 1
    functionLinenumber: 1151
    functionLinenumberEnd: 1154
    functionName: cf2_glyphpath_finalize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_arrstack_finalize
    linkageType: ''
    returnType: void
    signature: void cf2_glyphpath_finalize( CF2_GlyphPath  glyphpath )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1173,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1173,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1174,1
    - Dst: cf2_hintmap_map
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1175,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1177,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1178,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1179,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1180,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1182,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1183,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1184,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - glyphpath
    - hintmap
    - ppt
    - x
    - y
    argTypes:
    - CF2_GlyphPath
    - CF2_HintMap
    - FT_Vector*
    - CF2_Fixed
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1163
    functionDepth: 2
    functionLinenumber: 1163
    functionLinenumberEnd: 1187
    functionName: cf2_glyphpath_hintPoint
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - cf2_hintmap_map
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_hintPoint( CF2_GlyphPath  glyphpath,\n                           CF2_HintMap
      \   hintmap,\n                           FT_Vector*     ppt,\n                           CF2_Fixed
      \     x,\n                           CF2_Fixed      y )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1236,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1236,1
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1237,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1237,1
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1238,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1238,1
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1239,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1239,1
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1240,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1240,1
    - Dst: CF2_CS_SCALE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1241,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1241,1
    - Dst: cf2_perp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1243,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1248,1
    - Dst: cf2_perp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1248,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1250,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1251,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1251,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1252,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1253,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1253,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1266,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1266,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1270,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1270,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1275,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1275,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1279,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1279,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1284,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1284,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1286,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1286,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 6
    argNames:
    - glyphpath
    - u1
    - u2
    - v1
    - v2
    - intersection
    argTypes:
    - CF2_GlyphPath
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1291
    functionName: cf2_glyphpath_computeIntersection
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - SUB_INT32
    - cf2_fixedAbs
    - FT_MulFix
    - cf2_perp
    - FT_DivFix
    - CF2_CS_SCALE
    - ADD_INT32
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool cf2_glyphpath_computeIntersection( CF2_GlyphPath     glyphpath,\n
      \                                    const FT_Vector*  u1,\n                                     const
      FT_Vector*  u2,\n                                     const FT_Vector*  v1,\n
      \                                    const FT_Vector*  v2,\n                                     FT_Vector*
      \       intersection )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1227
    functionName: cf2_perp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_perp( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: CF2_CS_SCALE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF2_CS_SCALE( x )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1333,1
    - Dst: cf2_glyphpath_computeIntersection
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1354,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1380,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1388,1
    - Dst: CF2_GlyphPath::callbacks::lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1398,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1408,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1413,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1418,1
    - Dst: CF2_GlyphPath::callbacks::cubeTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1424,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1442,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1450,1
    - Dst: CF2_GlyphPath::callbacks::lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1465,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - glyphpath
    - hintmap
    - nextP0
    - nextP1
    - close
    argTypes:
    - CF2_GlyphPath
    - CF2_HintMap
    - FT_Vector*
    - FT_Vector
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1476
    functionName: cf2_glyphpath_pushPrevElem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_glyphpath_hintPoint
    - CF2_GlyphPath::callbacks::lineTo
    - cf2_glyphpath_computeIntersection
    - CF2_GlyphPath::callbacks::cubeTo
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_pushPrevElem( CF2_GlyphPath  glyphpath,\n                              CF2_HintMap
      \   hintmap,\n                              FT_Vector*     nextP0,\n                              FT_Vector
      \     nextP1,\n                              FT_Bool        close )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1493,1
    - Dst: cf2_glyphpath_moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1497,1
    - Dst: cf2_glyphpath_hintPoint
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1502,1
    - Dst: CF2_GlyphPath::callbacks::moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - glyphpath
    - start
    argTypes:
    - CF2_GlyphPath
    - FT_Vector
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1481
    functionDepth: 3
    functionLinenumber: 1481
    functionLinenumberEnd: 1513
    functionName: cf2_glyphpath_pushMove
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_glyphpath_hintPoint
    - cf2_glyphpath_moveTo
    - CF2_GlyphPath::callbacks::moveTo
    - cf2_hintmap_isValid
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_pushMove( CF2_GlyphPath  glyphpath,\n                          FT_Vector
      \     start )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1535,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1536,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1543,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1544,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1554,1
    - Dst: cf2_getWindingMomentum
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1555,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1564,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1570,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1579,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1579,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1581,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1581,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1589,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1595,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1595,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1598,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1604,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1604,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1606,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1606,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1617,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1617,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1621,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1623,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1632,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1632,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1634,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1634,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1642,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1642,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1646,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1648,1
    - Dst: MUL_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1648,1
    - Dst: NEG_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1651,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1657,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1657,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1659,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 7
    argNames:
    - glyphpath
    - x1
    - y1
    - x2
    - y2
    - x
    - y
    argTypes:
    - CF2_GlyphPath
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed*
    - CF2_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1526
    functionDepth: 2
    functionLinenumber: 1526
    functionLinenumberEnd: 1664
    functionName: cf2_glyphpath_computeOffset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - SUB_INT32
    - MUL_INT32
    - NEG_INT32
    - FT_MulFix
    - cf2_doubleToFixed
    - cf2_getWindingMomentum
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_computeOffset( CF2_GlyphPath  glyphpath,\n                               CF2_Fixed
      \     x1,\n                               CF2_Fixed      y1,\n                               CF2_Fixed
      \     x2,\n                               CF2_Fixed      y2,\n                               CF2_Fixed*
      \    x,\n                               CF2_Fixed*     y )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_glyphpath_closeOpenPath
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1682,1
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1693,1
    - Dst: cf2_hintmask_isNew
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1694,1
    - Dst: cf2_hintmap_build
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1695,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - glyphpath
    - x
    - y
    argTypes:
    - CF2_GlyphPath
    - CF2_Fixed
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1704
      start: 1678
    functionDepth: 4
    functionLinenumber: 1678
    functionLinenumberEnd: 1704
    functionName: cf2_glyphpath_moveTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached:
    - cf2_glyphpath_closeOpenPath
    - cf2_hintmask_isNew
    - cf2_hintmap_build
    - cf2_hintmap_isValid
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_moveTo( CF2_GlyphPath  glyphpath,\n                        CF2_Fixed
      \     x,\n                        CF2_Fixed      y )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf2_hintmask_isNew
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1724,1
    - Dst: cf2_glyphpath_computeOffset
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1756,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1765,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1766,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1767,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1768,1
    - Dst: cf2_glyphpath_pushMove
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1773,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1783,1
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1783,1
    - Dst: cf2_glyphpath_pushPrevElem
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1786,1
    - Dst: cf2_hintmap_build
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - glyphpath
    - x
    - y
    argTypes:
    - CF2_GlyphPath
    - CF2_Fixed
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1708
    functionDepth: 4
    functionLinenumber: 1708
    functionLinenumberEnd: 1810
    functionName: cf2_glyphpath_lineTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_glyphpath_pushPrevElem
    - cf2_glyphpath_pushMove
    - cf2_hintmap_isValid
    - cf2_hintmap_build
    - FT_ASSERT
    - cf2_hintmask_isNew
    - cf2_glyphpath_computeOffset
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_lineTo( CF2_GlyphPath  glyphpath,\n                        CF2_Fixed
      \     x,\n                        CF2_Fixed      y )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf2_glyphpath_computeOffset
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1827,1
    - Dst: cf2_glyphpath_computeOffset
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1834,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1844,1
    - Dst: cf2_getWindingMomentum
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1845,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1848,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1849,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1850,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1851,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1853,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1854,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1855,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1856,1
    - Dst: cf2_glyphpath_pushMove
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1861,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1871,1
    - Dst: cf2_hintmap_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1871,1
    - Dst: cf2_glyphpath_pushPrevElem
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1874,1
    - Dst: cf2_hintmask_isNew
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1890,1
    - Dst: cf2_hintmap_build
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 7
    argNames:
    - glyphpath
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - CF2_GlyphPath
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1814
    functionDepth: 4
    functionLinenumber: 1814
    functionLinenumberEnd: 1900
    functionName: cf2_glyphpath_curveTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 0
    functionsReached:
    - cf2_glyphpath_pushPrevElem
    - cf2_glyphpath_pushMove
    - cf2_hintmap_isValid
    - cf2_hintmap_build
    - FT_ASSERT
    - cf2_hintmask_isNew
    - cf2_glyphpath_computeOffset
    - cf2_getWindingMomentum
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_glyphpath_curveTo( CF2_GlyphPath  glyphpath,\n                         CF2_Fixed
      \     x1,\n                         CF2_Fixed      y1,\n                         CF2_Fixed
      \     x2,\n                         CF2_Fixed      y2,\n                         CF2_Fixed
      \     x3,\n                         CF2_Fixed      y3 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf2_glyphpath_lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1915,1
    - Dst: cf2_glyphpath_pushPrevElem
      Src: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c:1921,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - glyphpath
    argTypes:
    - CF2_GlyphPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1904
    functionDepth: 5
    functionLinenumber: 1904
    functionLinenumberEnd: 1933
    functionName: cf2_glyphpath_closeOpenPath
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pshints.c
    functionUses: 1
    functionsReached:
    - cf2_glyphpath_pushPrevElem
    - cf2_glyphpath_lineTo
    linkageType: ''
    returnType: void
    signature: void cf2_glyphpath_closeOpenPath( CF2_GlyphPath  glyphpath )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:62,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:70,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - memory
    - e
    - stackSize
    argTypes:
    - FT_Memory
    - FT_Error*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: cf2_stack_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_NEW
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_init( FT_Memory  memory,\n                  FT_Error*
      \ e,\n                  FT_UInt    stackSize )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:91,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stack
    argTypes:
    - CF2_Stack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 96
    functionName: cf2_stack_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cf2_stack_free( CF2_Stack  stack )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - CF2_Stack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: cf2_stack_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_stack_count( CF2_Stack  stack )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stack
    - val
    argTypes:
    - CF2_Stack
    - CF2_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: cf2_stack_pushInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_pushInt( CF2_Stack  stack,\n                     CF2_Int
      \   val )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stack
    - val
    argTypes:
    - CF2_Stack
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: cf2_stack_pushFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_pushFixed( CF2_Stack  stack,\n                       CF2_Fixed
      \ val )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:144,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - stack
    argTypes:
    - CF2_Stack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 156
    functionName: cf2_stack_popInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: void cf2_stack_popInt( CF2_Stack  stack )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:166,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:167,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:175,1
    - Dst: cf2_fracToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - stack
    argTypes:
    - CF2_Stack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: cf2_stack_popFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - cf2_intToFixed
    - cf2_fracToFixed
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: void cf2_stack_popFixed( CF2_Stack  stack )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:190,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:190,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:192,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:194,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:195,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:201,1
    - Dst: cf2_fracToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - stack
    - idx
    argTypes:
    - CF2_Stack
    - CF2_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: cf2_stack_getReal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - cf2_fracToFixed
    - cf2_stack_count
    - cf2_intToFixed
    - FT_ASSERT
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_getReal( CF2_Stack  stack,\n                     CF2_UInt
      \  idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:216,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - stack
    - idx
    - val
    argTypes:
    - CF2_Stack
    - CF2_UInt
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 224
    functionName: cf2_stack_setReal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - cf2_stack_count
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_setReal( CF2_Stack  stack,\n                     CF2_UInt
      \  idx,\n                     CF2_Fixed  val )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:232,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - num
    argTypes:
    - CF2_Stack
    - CF2_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: cf2_stack_pop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - cf2_stack_count
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_pop( CF2_Stack  stack,\n                 CF2_UInt   num
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:255,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c:257,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - stack
    - count
    - shift
    argTypes:
    - CF2_Stack
    - CF2_Int
    - CF2_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 321
    functionName: cf2_stack_roll
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached:
    - cf2_stack_count
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_stack_roll( CF2_Stack  stack,\n                  CF2_Int
      \   count,\n                  CF2_Int    shift )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stack
    argTypes:
    - CF2_Stack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: cf2_stack_clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psstack.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_stack_clear( CF2_Stack  stack )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:71,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:74,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:76,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:77,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:80,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:82,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:82,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:85,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 2
    argNames:
    - transform
    - unitsPerEm
    argTypes:
    - CF2_Matrix*
    - CF2_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 88
    functionName: cf2_checkTransform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_DivFix
    - cf2_intToFixed
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cf2_checkTransform( const CF2_Matrix*  transform,\n                      CF2_Int
      \           unitsPerEm )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:98,1
    - Dst: cf2_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - outline
    - width
    argTypes:
    - CF2_Outline
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: cf2_setGlyphWidth
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - cf2_fixedToInt
    linkageType: ''
    returnType: void
    signature: "void cf2_setGlyphWidth( CF2_Outline  outline,\n                     CF2_Fixed
      \   width )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:117,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: cf2_free_instance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cf2_free_instance( void*  ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:141,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:142,1
    - Dst: ps_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - callbacks
    - params
    argTypes:
    - CF2_OutlineCallbacks
    - CF2_CallbackParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 149
    functionName: cf2_builder_moveTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ps_builder_close_contour
    linkageType: ''
    returnType: void
    signature: "void cf2_builder_moveTo( CF2_OutlineCallbacks      callbacks,\n                      const
      CF2_CallbackParams  params )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:163,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:164,1
    - Dst: ps_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:172,1
    - Dst: ps_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:184,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - callbacks
    - params
    argTypes:
    - CF2_OutlineCallbacks
    - CF2_CallbackParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: cf2_builder_lineTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - ps_builder_start_point
    - FT_ASSERT
    - ps_builder_add_point1
    linkageType: ''
    returnType: void
    signature: "void cf2_builder_lineTo( CF2_OutlineCallbacks      callbacks,\n                      const
      CF2_CallbackParams  params )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:207,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:208,1
    - Dst: ps_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:216,1
    - Dst: ps_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:228,1
    - Dst: ps_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:236,1
    - Dst: ps_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:239,1
    - Dst: ps_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - callbacks
    - params
    argTypes:
    - CF2_OutlineCallbacks
    - CF2_CallbackParams
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 245
    functionName: cf2_builder_cubeTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - ps_builder_start_point
    - ps_builder_check_points
    - FT_ASSERT
    - ps_builder_add_point
    linkageType: ''
    returnType: void
    signature: "void cf2_builder_cubeTo( CF2_OutlineCallbacks      callbacks,\n                      const
      CF2_CallbackParams  params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - outline
    - memory
    - error
    argTypes:
    - CF2_Outline
    - FT_Memory
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 261
    functionName: cf2_outline_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_outline_init( CF2_Outline  outline,\n                    FT_Memory
      \   memory,\n                    FT_Error*    error )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:272,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:280,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - decoder
    - x_scale
    - y_scale
    - hinted
    - scaled
    argTypes:
    - PS_Decoder*
    - CF2_Fixed*
    - CF2_Fixed*
    - FT_Bool*
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 291
    functionName: cf2_getScaleAndHintFlag
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_getScaleAndHintFlag( PS_Decoder*  decoder,\n                           CF2_Fixed*
      \  x_scale,\n                           CF2_Fixed*   y_scale,\n                           FT_Bool*
      \    hinted,\n                           FT_Bool*     scaled )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:299,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 303
    functionName: cf2_getUnitsPerEm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: FT_UShort
    signature: FT_UShort cf2_getUnitsPerEm( PS_Decoder*  decoder )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:319,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:324,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:326,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:340,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:342,1
    - Dst: cf2_outline_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:352,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:364,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:383,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:385,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:390,1
    - Dst: cf2_getScaleAndHintFlag
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:392,1
    - Dst: cf2_getUnitsPerEm
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:426,1
    - Dst: cf2_checkTransform
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:430,1
    - Dst: cf2_getGlyphOutline
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:435,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:437,1
    - Dst: cf2_setGlyphWidth
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:439,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 3
    argNames:
    - decoder
    - charstring_base
    - charstring_len
    argTypes:
    - PS_Decoder*
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 443
    functionName: cf2_decoder_parse_charstrings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - cf2_getScaleAndHintFlag
    - cf2_getUnitsPerEm
    - cf2_getGlyphOutline
    - cf2_setGlyphWidth
    - cf2_outline_init
    - FT_ALLOC
    - cf2_checkTransform
    - FT_THROW
    - FT_ASSERT
    - FT_FACE_DRIVER
    - FT_ZERO
    - FT_ERR
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_decoder_parse_charstrings( PS_Decoder*  decoder,\n                                 FT_Byte*
      \    charstring_base,\n                                 FT_ULong     charstring_len
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: cf2_getSubfont
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_getSubfont( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 463
    functionName: cf2_getVStore
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_getVStore( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    functionName: cf2_getMaxstack
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_getMaxstack( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:490,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:491,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:492,1
    - Dst: FT_Service_MultiMasters::get_var_blend
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:497,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - decoder
    - len
    - vec
    argTypes:
    - PS_Decoder*
    - CF2_UInt*
    - FT_Fixed**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 498
    functionName: cf2_getNormalizedVector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - FT_Service_MultiMasters::get_var_blend
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: "void cf2_getNormalizedVector( PS_Decoder*  decoder,\n                           CF2_UInt
      \    *len,\n                           FT_Fixed*    *vec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:506,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 521
    functionName: cf2_getPpemY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: void cf2_getPpemY( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:530,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: cf2_getStdVW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: void cf2_getStdVW( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:540,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 544
    functionName: cf2_getStdHW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: void cf2_getStdHW( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:554,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:556,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:558,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:559,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - decoder
    - blueScale
    - blueShift
    - blueFuzz
    argTypes:
    - PS_Decoder*
    - CF2_Fixed*
    - CF2_Fixed*
    - CF2_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 563
    functionName: cf2_getBlueMetrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_DivFix
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: "void cf2_getBlueMetrics( PS_Decoder*  decoder,\n                      CF2_Fixed*
      \  blueScale,\n                      CF2_Fixed*   blueShift,\n                      CF2_Fixed*
      \  blueFuzz )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - count
    - data
    argTypes:
    - PS_Decoder*
    - size_t*
    - FT_Pos**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 578
    functionName: cf2_getBlueValues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_getBlueValues( PS_Decoder*  decoder,\n                     size_t*
      \     count,\n                     FT_Pos*     *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - count
    - data
    argTypes:
    - PS_Decoder*
    - size_t*
    - FT_Pos**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 591
    functionName: cf2_getOtherBlues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_getOtherBlues( PS_Decoder*  decoder,\n                     size_t*
      \     count,\n                     FT_Pos*     *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - count
    - data
    argTypes:
    - PS_Decoder*
    - size_t*
    - FT_Pos**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: cf2_getFamilyBlues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_getFamilyBlues( PS_Decoder*  decoder,\n                      size_t*
      \     count,\n                      FT_Pos*     *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - decoder
    - count
    - data
    argTypes:
    - PS_Decoder*
    - size_t*
    - FT_Pos**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 617
    functionName: cf2_getFamilyOtherBlues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_getFamilyOtherBlues( PS_Decoder*  decoder,\n                           size_t*
      \     count,\n                           FT_Pos*     *data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: cf2_getLanguageGroup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_getLanguageGroup( PS_Decoder*  decoder )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:639,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:641,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - decoder
    - subrNum
    - buf
    argTypes:
    - PS_Decoder*
    - CF2_Int
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 654
    functionName: cf2_initGlobalRegionBuffer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_initGlobalRegionBuffer( PS_Decoder*  decoder,\n                              CF2_Int
      \     subrNum,\n                              CF2_Buffer   buf )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:670,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:671,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:673,1
    - Dst: cff_lookup_glyph_by_stdcharcode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:683,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:685,1
    - Dst: PS_Decoder*::get_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:688,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:697,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - decoder
    - code
    - buf
    argTypes:
    - PS_Decoder*
    - CF2_Int
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 660
    functionDepth: 2
    functionLinenumber: 660
    functionLinenumberEnd: 704
    functionName: cf2_getSeacComponent
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - PS_Decoder*::get_glyph_callback
    - cff_lookup_glyph_by_stdcharcode
    - FT_THROW
    - FT_ASSERT
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_getSeacComponent( PS_Decoder*  decoder,\n                        CF2_Int
      \     code,\n                        CF2_Buffer   buf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:711,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:712,1
    - Dst: PS_Decoder*::free_glyph_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:714,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - decoder
    - buf
    argTypes:
    - PS_Decoder*
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: cf2_freeSeacComponent
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - PS_Decoder*::free_glyph_callback
    linkageType: ''
    returnType: void
    signature: "void cf2_freeSeacComponent( PS_Decoder*  decoder,\n                         CF2_Buffer
      \  buf )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Incremental_InterfaceRec*::funcs::get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:738,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:754,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - decoder
    - glyph_index
    - buf
    argTypes:
    - PS_Decoder*
    - FT_UInt
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 763
    functionName: cf2_getT1SeacComponent
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_Incremental_InterfaceRec*::funcs::get_glyph_data
    - FT_ASSERT
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_getT1SeacComponent( PS_Decoder*  decoder,\n                          FT_UInt
      \     glyph_index,\n                          CF2_Buffer   buf )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:776,1
    - Dst: T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:784,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:790,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - buf
    argTypes:
    - PS_Decoder*
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 794
    functionName: cf2_freeT1SeacComponent
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cf2_freeT1SeacComponent( PS_Decoder*  decoder,\n                           CF2_Buffer
      \  buf )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:805,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:807,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:813,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:834,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - decoder
    - subrNum
    - buf
    argTypes:
    - PS_Decoder*
    - CF2_Int
    - CF2_Buffer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 846
    functionName: cf2_initLocalRegionBuffer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_ZERO
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_initLocalRegionBuffer( PS_Decoder*  decoder,\n                             CF2_Int
      \     subrNum,\n                             CF2_Buffer   buf )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:852,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 856
    functionName: cf2_getDefaultWidthX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: void cf2_getDefaultWidthX( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:862,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - PS_Decoder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 866
    functionName: cf2_getNominalWidthX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - cf2_intToFixed
    linkageType: ''
    returnType: void
    signature: void cf2_getNominalWidthX( PS_Decoder*  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:875,1
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - outline
    argTypes:
    - CF2_Outline
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 880
    functionName: cf2_outline_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_GlyphLoader_Rewind
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_outline_reset( CF2_Outline  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:889,1
    - Dst: ps_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:891,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psft.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - outline
    argTypes:
    - CF2_Outline
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 894
    functionName: cf2_outline_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psft.c
    functionUses: 1
    functionsReached:
    - FT_GlyphLoader_Add
    - FT_ASSERT
    - ps_builder_close_contour
    linkageType: ''
    returnType: void
    signature: void cf2_outline_close( CF2_Outline  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hintmask
    - error
    argTypes:
    - CF2_HintMask
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: cf2_hintmask_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 1
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmask_init( CF2_HintMask  hintmask,\n                     FT_Error*
      \    error )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hintmask
    argTypes:
    - CF2_HintMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: cf2_hintmask_isValid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_hintmask_isValid( const CF2_HintMask  hintmask )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hintmask
    argTypes:
    - CF2_HintMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: cf2_hintmask_isNew
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_hintmask_isNew( const CF2_HintMask  hintmask )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hintmask
    - val
    argTypes:
    - CF2_HintMask
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: cf2_hintmask_setNew
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmask_setNew( CF2_HintMask  hintmask,\n                       FT_Bool
      \      val )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hintmask
    argTypes:
    - CF2_HintMask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: cf2_hintmask_getMaskPtr
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cf2_hintmask_getMaskPtr( CF2_HintMask  hintmask )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - hintmask
    - bitCount
    argTypes:
    - CF2_HintMask
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 125
    functionName: cf2_hintmask_setCounts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 0
    functionsReached:
    - CF2_SET_ERROR
    linkageType: ''
    returnType: size_t
    signature: "size_t cf2_hintmask_setCounts( CF2_HintMask  hintmask,\n                          size_t
      \       bitCount )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_hintmask_setCounts
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:146,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:149,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:151,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:156,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:157,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:160,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - hintmask
    - charstring
    - bitCount
    argTypes:
    - CF2_HintMask
    - CF2_Buffer
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 169
    functionName: cf2_hintmask_read
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 0
    functionsReached:
    - cf2_hintmask_setCounts
    - FT_ASSERT
    - FT_TRACE4
    - cf2_buf_readByte
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmask_read( CF2_HintMask  hintmask,\n                     CF2_Buffer
      \   charstring,\n                     size_t        bitCount )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf2_hintmask_setCounts
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:181,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:184,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hintmask
    - bitCount
    argTypes:
    - CF2_HintMask
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 195
    functionName: cf2_hintmask_setAll
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 1
    functionsReached:
    - cf2_hintmask_setCounts
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_hintmask_setAll( CF2_HintMask  hintmask,\n                       size_t
      \       bitCount )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:289,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:290,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:296,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:300,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:300,1
    - Dst: cf2_getNominalWidthX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:301,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:313,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:314,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:316,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:317,1
    - Dst: cf2_arrstack_push
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:323,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 6
    argNames:
    - font
    - opStack
    - stemHintArray
    - width
    - haveWidth
    - hintOffset
    argTypes:
    - CF2_Font
    - CF2_Stack
    - CF2_ArrStack
    - CF2_Fixed*
    - FT_Bool*
    - CF2_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 331
    functionName: cf2_doStems
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 0
    functionsReached:
    - cf2_stack_count
    - cf2_getNominalWidthX
    - cf2_stack_clear
    - cf2_arrstack_push
    - FT_BOOL
    - cf2_stack_getReal
    - FT_ERROR
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_doStems( const CF2_Font  font,\n               CF2_Stack
      \      opStack,\n               CF2_ArrStack    stemHintArray,\n               CF2_Fixed*
      \     width,\n               FT_Bool*        haveWidth,\n               CF2_Fixed
      \      hintOffset )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:351,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:358,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:358,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:367,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:368,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:368,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:369,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:369,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:370,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:375,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:381,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:387,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:388,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:393,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:394,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:400,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:407,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 6
    argNames:
    - opStack
    - curX
    - curY
    - glyphPath
    - readFromStack
    - doConditionalLastRead
    argTypes:
    - CF2_Stack
    - CF2_Fixed*
    - CF2_Fixed*
    - CF2_GlyphPath
    - FT_Bool*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 334
    functionDepth: 5
    functionLinenumber: 334
    functionLinenumberEnd: 411
    functionName: cf2_doFlex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 0
    functionsReached:
    - SUB_INT32
    - cf2_glyphpath_curveTo
    - FT_BOOL
    - cf2_fixedAbs
    - cf2_stack_getReal
    - cf2_stack_clear
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_doFlex( CF2_Stack       opStack,\n              CF2_Fixed*
      \     curX,\n              CF2_Fixed*      curY,\n              CF2_GlyphPath
      \  glyphPath,\n              const FT_Bool*  readFromStack,\n              FT_Bool
      \        doConditionalLastRead )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:428,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:436,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:440,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:441,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:442,1
    - Dst: cf2_stack_setReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:446,1
    - Dst: cf2_stack_pop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - blend
    - opStack
    - numBlends
    argTypes:
    - CFF_Blend
    - CF2_Stack
    - CF2_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 451
    functionName: cf2_doBlend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 0
    functionsReached:
    - cf2_stack_count
    - FT_MulFix
    - cf2_stack_getReal
    - cf2_stack_pop
    - cf2_stack_setReal
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_doBlend( const CFF_Blend  blend,\n               CF2_Stack
      \       opStack,\n               CF2_UInt         numBlends )"
  - BBCount: 236
    BranchProfiles: []
    Callsites:
    - Dst: cf2_getNominalWidthX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:490,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:531,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:532,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:533,1
    - Dst: cf2_arrstack_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:536,1
    - Dst: cf2_arrstack_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:540,1
    - Dst: cf2_arrstack_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:544,1
    - Dst: cf2_hintmask_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:550,1
    - Dst: cf2_glyphpath_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:557,1
    - Dst: cf2_getDefaultWidthX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:588,1
    - Dst: cf2_getMaxstack
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:598,1
    - Dst: cf2_stack_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:600,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:604,1
    - Dst: cf2_arrstack_setCount
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:612,1
    - Dst: cf2_arrstack_getBuffer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:614,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:627,1
    - Dst: cf2_buf_isEnd
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:630,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:642,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:666,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:667,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:683,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:697,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:707,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:711,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:719,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:724,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:737,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:745,1
    - Dst: CF2_Font::cffload::blend_check_vector
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:750,1
    - Dst: CF2_Font::cffload::blend_build_vector
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:755,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:764,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:767,1
    - Dst: cf2_doBlend
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:771,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:779,1
    - Dst: cf2_hintmask_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:786,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:788,1
    - Dst: cf2_doStems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:795,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:810,1
    - Dst: cf2_hintmask_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:817,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:819,1
    - Dst: cf2_doStems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:826,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:840,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:843,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:846,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:847,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:847,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:856,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:856,1
    - Dst: cf2_glyphpath_moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:859,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:866,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:869,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:873,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:873,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:875,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:875,1
    - Dst: cf2_glyphpath_lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:878,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:881,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:889,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:891,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:894,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:898,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:902,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:904,1
    - Dst: cf2_glyphpath_lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:908,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:911,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:918,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:922,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:930,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:930,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:931,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:931,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:932,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:932,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:933,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:933,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:934,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:934,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:935,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:935,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:937,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:946,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:946,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:948,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:948,1
    - Dst: cf2_glyphpath_lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:951,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:954,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:960,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:963,1
    - Dst: cf2_glyphpath_closeOpenPath
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:966,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:978,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:985,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:991,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:996,1
    - Dst: ft_hash_num_lookup
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1000,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1013,1
    - Dst: cf2_initGlobalRegionBuffer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1017,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1021,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1028,1
    - Dst: cf2_initLocalRegionBuffer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1032,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1036,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1046,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1051,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1057,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1064,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1084,1
    - Dst: cf2_doFlex
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1086,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1108,1
    - Dst: cf2_doFlex
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1110,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1132,1
    - Dst: cf2_doFlex
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1134,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1156,1
    - Dst: cf2_doFlex
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1158,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1174,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1180,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1195,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1210,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1215,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1218,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1221,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1221,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1223,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1224,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1225,1
    - Dst: cf2_stack_setReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1227,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1229,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1229,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1230,1
    - Dst: cf2_stack_setReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1231,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1233,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1233,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1234,1
    - Dst: cf2_doStems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1237,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1257,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1259,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1260,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1262,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1272,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1274,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1275,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1277,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1286,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1288,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1290,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1296,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1309,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1310,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1312,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1313,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1314,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1317,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1321,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1322,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1328,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1329,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1343,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1346,1
    - Dst: t1_lookup_glyph_by_stdcharcode_ps
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1363,1
    - Dst: t1_lookup_glyph_by_stdcharcode_ps
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1365,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1371,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1374,1
    - Dst: FT_GlyphLoader_CheckSubGlyphs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1389,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1409,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1410,1
    - Dst: FT_GlyphLoader_Prepare
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1426,1
    - Dst: cf2_getT1SeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1428,1
    - Dst: cf2_interpT2CharString
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1443,1
    - Dst: cf2_freeT1SeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1451,1
    - Dst: cf2_getT1SeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1468,1
    - Dst: cf2_interpT2CharString
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1476,1
    - Dst: cf2_freeT1SeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1484,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1498,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1505,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1509,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1510,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1512,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1513,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1516,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1518,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1531,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1532,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1542,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1544,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1547,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1549,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1549,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1559,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1561,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1562,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1564,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1565,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1576,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1578,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1579,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1581,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1582,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1592,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1596,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1597,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1603,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1604,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1607,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1608,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1618,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1620,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1623,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1625,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1635,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1637,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1638,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1640,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1646,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1655,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1657,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1658,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1672,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1673,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1708,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1710,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1716,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1717,1
    - Dst: ps_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1728,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1749,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1751,1
    - Dst: ps_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1767,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1770,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1781,1
    - Dst: cf2_arrstack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1800,1
    - Dst: cf2_arrstack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1801,1
    - Dst: cf2_hintmask_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1803,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1814,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1831,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1834,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1843,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1846,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1870,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1875,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1876,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1877,1
    - Dst: cf2_stack_setReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1881,1
    - Dst: cf2_stack_pop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1883,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1903,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1910,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1928,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1929,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1931,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1932,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1949,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1950,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1952,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1953,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1970,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1971,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1973,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1974,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1990,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1991,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1996,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:1997,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2014,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2021,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2037,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2043,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2075,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2076,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2077,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2078,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2080,1
    - Dst: cff_random
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2103,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2105,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2116,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2130,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2137,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2140,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2148,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2151,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2162,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2164,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2169,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2174,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2176,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2185,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2187,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2188,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2200,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2202,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2205,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2217,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2219,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2220,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2221,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2222,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2224,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2234,1
    - Dst: cff_random
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2242,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2244,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2254,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2256,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2257,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2259,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2260,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2269,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2271,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2283,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2293,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2302,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2304,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2306,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2307,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2317,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2319,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2320,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2322,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2323,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2333,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2335,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2336,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2352,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2353,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2365,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2367,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2368,1
    - Dst: cf2_stack_roll
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2370,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2376,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2379,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2401,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2409,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2410,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2426,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2433,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2437,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2440,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2442,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2454,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2459,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2463,1
    - Dst: cf2_glyphpath_moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2467,1
    - Dst: cf2_arrstack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2472,1
    - Dst: cf2_arrstack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2473,1
    - Dst: cf2_hintmask_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2475,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2485,1
    - Dst: cf2_arrstack_getPointer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2489,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2498,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2499,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2502,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2502,1
    - Dst: cf2_glyphpath_closeOpenPath
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2513,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2517,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2531,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2535,1
    - Dst: cf2_stack_popInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2536,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2538,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2539,1
    - Dst: cf2_getSeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2541,1
    - Dst: cf2_interpT2CharString
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2547,1
    - Dst: cf2_freeSeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2555,1
    - Dst: cf2_getSeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2557,1
    - Dst: cf2_interpT2CharString
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2563,1
    - Dst: cf2_freeSeacComponent
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2571,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2579,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2582,1
    - Dst: cf2_hintmask_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2583,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2585,1
    - Dst: cf2_doStems
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2591,1
    - Dst: cf2_hintmask_read
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2604,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2606,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2607,1
    - Dst: cf2_hintmap_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2628,1
    - Dst: cf2_hintmask_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2633,1
    - Dst: cf2_hintmask_read
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2635,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2637,1
    - Dst: cf2_arrstack_size
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2638,1
    - Dst: cf2_hintmap_build
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2639,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2649,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2652,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2655,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2656,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2656,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2665,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2665,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2666,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2666,1
    - Dst: cf2_glyphpath_moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2669,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2674,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2677,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2680,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2681,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2681,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2690,1
    - Dst: cf2_stack_popFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2690,1
    - Dst: cf2_glyphpath_moveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2693,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2699,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2703,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2707,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2707,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2709,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2709,1
    - Dst: cf2_glyphpath_lineTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2712,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2721,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2721,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2722,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2722,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2723,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2723,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2724,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2724,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2725,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2725,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2726,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2726,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2728,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2735,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2741,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2751,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2760,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2760,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2767,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2767,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2768,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2768,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2769,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2769,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2771,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2771,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2773,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2780,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2786,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2796,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2805,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2805,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2812,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2812,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2813,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2813,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2814,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2814,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2815,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2815,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2818,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2825,1
    - Dst: cf2_stack_count
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2832,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2835,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2845,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2854,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2854,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2856,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2856,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2857,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2857,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2858,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2858,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2862,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2862,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2874,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2874,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2875,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2875,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2876,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2876,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2877,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2877,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2881,1
    - Dst: cf2_stack_getReal
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2881,1
    - Dst: cf2_glyphpath_curveTo
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2891,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2898,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2906,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2907,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2913,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2915,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2929,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2932,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2943,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2946,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2949,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2960,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2963,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2966,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2973,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2974,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2975,1
    - Dst: cf2_buf_readByte
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:2976,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3004,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3010,1
    - Dst: cf2_stack_pushInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3012,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3016,1
    - Dst: cf2_stack_pushFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3018,1
    - Dst: cf2_stack_clear
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3026,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3031,1
    - Dst: cf2_setError
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3036,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3039,1
    - Dst: cf2_glyphpath_finalize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3042,1
    - Dst: cf2_arrstack_finalize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3043,1
    - Dst: cf2_arrstack_finalize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3044,1
    - Dst: cf2_arrstack_finalize
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3045,1
    - Dst: cf2_stack_free
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3046,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c:3048,1
    CyclomaticComplexity: 361
    EdgeCount: 361
    ICount: 1144
    argCount: 8
    argNames:
    - font
    - buf
    - callbacks
    - translation
    - doingSeac
    - curX
    - curY
    - width
    argTypes:
    - CF2_Font
    - CF2_Buffer
    - CF2_OutlineCallbacks
    - FT_Vector*
    - FT_Bool
    - CF2_Fixed
    - CF2_Fixed
    - CF2_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 471
    functionDepth: 6
    functionLinenumber: 471
    functionLinenumberEnd: 3051
    functionName: cf2_interpT2CharString
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psintrp.c
    functionUses: 2
    functionsReached:
    - cf2_stack_popFixed
    - cf2_buf_isEnd
    - cf2_stack_init
    - cf2_glyphpath_lineTo
    - SUB_INT32
    - FT_GlyphLoader_Prepare
    - cf2_getSeacComponent
    - CF2_Font::cffload::blend_build_vector
    - cf2_glyphpath_moveTo
    - FT_MulFix
    - FT_ZERO
    - cf2_initGlobalRegionBuffer
    - cf2_hintmask_read
    - cf2_getMaxstack
    - cf2_glyphpath_finalize
    - cf2_stack_clear
    - cf2_hintmask_isValid
    - t1_lookup_glyph_by_stdcharcode_ps
    - cf2_getT1SeacComponent
    - cf2_stack_setReal
    - cf2_stack_count
    - ps_builder_check_points
    - cf2_freeT1SeacComponent
    - cf2_getNominalWidthX
    - ft_memcpy
    - FT_THROW
    - cf2_setError
    - cf2_stack_getReal
    - cf2_arrstack_size
    - cf2_buf_readByte
    - cf2_stack_pushFixed
    - FT_DivFix
    - cf2_hintmap_init
    - cf2_arrstack_finalize
    - ADD_INT32
    - cf2_arrstack_getPointer
    - cf2_stack_popInt
    - cf2_doBlend
    - FT_BOOL
    - cf2_stack_roll
    - cf2_hintmap_build
    - cf2_initLocalRegionBuffer
    - cf2_doFlex
    - FT_ASSERT
    - cf2_stack_pop
    - FIXED_TO_INT
    - cf2_interpT2CharString
    - CF2_Font::cffload::blend_check_vector
    - cff_random
    - cf2_stack_free
    - cf2_arrstack_init
    - FT_GlyphLoader_CheckSubGlyphs
    - cf2_getDefaultWidthX
    - cf2_glyphpath_curveTo
    - cf2_arrstack_clear
    - FT_ABS
    - cf2_glyphpath_init
    - cf2_arrstack_getBuffer
    - cf2_arrstack_setCount
    - cf2_glyphpath_closeOpenPath
    - ft_hash_num_lookup
    - FT_TRACE5
    - cf2_doStems
    - FT_TRACE4
    - cf2_stack_pushInt
    - cf2_freeSeacComponent
    - cf2_hintmask_init
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_interpT2CharString( CF2_Font              font,\n                          CF2_Buffer
      \           buf,\n                          CF2_OutlineCallbacks  callbacks,\n
      \                         const FT_Vector*      translation,\n                          FT_Bool
      \              doingSeac,\n                          CF2_Fixed             curX,\n
      \                         CF2_Fixed             curY,\n                          CF2_Fixed*
      \           width )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: CF2_ArrStackRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CF2_ArrStackRec_
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:82,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:83,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - table
    - count
    - memory
    argTypes:
    - PS_Table
    - FT_Int
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: ps_table_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void ps_table_new( PS_Table   table,\n                FT_Int     count,\n
      \               FT_Memory  memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - table
    - old_base
    argTypes:
    - PS_Table
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: shift_elements
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void shift_elements( PS_Table  table,\n                  FT_Byte*
      \ old_base )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:130,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:139,1
    - Dst: shift_elements
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:140,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - table
    - new_size
    argTypes:
    - PS_Table
    - FT_Offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 147
    functionName: reallocate_t1_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - shift_elements
    - FT_FREE
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error reallocate_t1_table( PS_Table   table,\n                       FT_Offset
      \ new_size )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:184,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:185,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:205,1
    - Dst: reallocate_t1_table
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:208,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - table
    - idx
    - object
    - length
    argTypes:
    - PS_Table
    - FT_Int
    - void*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 223
    functionName: ps_table_add
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - reallocate_t1_table
    - FT_PAD_CEIL
    - FT_THROW
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void ps_table_add( PS_Table     table,\n                FT_Int       idx,\n
      \               const void*  object,\n                FT_UInt      length )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:255,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:257,1
    - Dst: shift_elements
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:258,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:261,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - table
    argTypes:
    - PS_Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 264
    functionName: ps_table_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - shift_elements
    - FT_ALLOC
    - FT_FREE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ps_table_done( PS_Table  table )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:275,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:276,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - table
    argTypes:
    - PS_Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: ps_table_release
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void ps_table_release( PS_Table  table )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_PS_NEWLINE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 309
    functionName: skip_comment
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - IS_PS_NEWLINE
    linkageType: ''
    returnType: void
    signature: "void skip_comment( FT_Byte*  *acur,\n                FT_Byte*   limit
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: IS_PS_SPACE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:321,1
    - Dst: skip_comment
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:325,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 312
    functionDepth: 2
    functionLinenumber: 312
    functionLinenumberEnd: 333
    functionName: skip_spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 2
    functionsReached:
    - skip_comment
    - IS_PS_SPACE
    linkageType: ''
    returnType: void
    signature: "void skip_spaces( FT_Byte*  *acur,\n               FT_Byte*   limit
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: IS_OCTAL_DIGIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_OCTAL_DIGIT( c )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:348,1
    - Dst: IS_OCTAL_DIGIT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:390,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 413
    functionName: skip_literal_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    - IS_OCTAL_DIGIT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error skip_literal_string( FT_Byte*  *acur,\n                       FT_Byte*
      \  limit )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:429,1
    - Dst: IS_PS_XDIGIT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:433,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 418
    functionDepth: 3
    functionLinenumber: 418
    functionLinenumberEnd: 447
    functionName: skip_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - skip_spaces
    - IS_PS_XDIGIT
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error skip_string( FT_Byte*  *acur,\n               FT_Byte*   limit
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:466,1
    - Dst: skip_literal_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:486,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:490,1
    - Dst: skip_comment
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:494,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:501,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 506
    functionName: skip_procedure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - skip_literal_string
    - skip_comment
    - FT_ASSERT
    - skip_string
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error skip_procedure( FT_Byte*  *acur,\n                  FT_Byte*
      \  limit )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:529,1
    - Dst: skip_procedure
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:544,1
    - Dst: skip_literal_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:550,1
    - Dst: skip_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:562,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:572,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:574,1
    - Dst: IS_PS_DELIM
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:589,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:598,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:604,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 58
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 612
    functionName: ps_parser_skip_PS_token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - skip_procedure
    - FT_THROW
    - skip_spaces
    - skip_literal_string
    - IS_PS_DELIM
    - skip_string
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: void ps_parser_skip_PS_token( PS_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 619
    functionName: ps_parser_skip_spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - skip_spaces
    linkageType: ''
    returnType: void
    signature: void ps_parser_skip_spaces( PS_Parser  parser )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:639,1
    - Dst: skip_literal_string
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:654,1
    - Dst: skip_procedure
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:663,1
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:678,1
    - Dst: ps_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:698,1
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:700,1
    - Dst: ps_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:709,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - parser
    - token
    argTypes:
    - PS_Parser
    - T1_Token
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 626
    functionDepth: 4
    functionLinenumber: 626
    functionLinenumberEnd: 722
    functionName: ps_parser_to_token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - skip_literal_string
    - ps_parser_skip_PS_token
    - ps_parser_skip_spaces
    - skip_procedure
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_token( PS_Parser  parser,\n                      T1_Token
      \  token )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_to_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:740,1
    - Dst: ps_parser_to_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:759,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - parser
    - tokens
    - max_tokens
    - pnum_tokens
    argTypes:
    - PS_Parser
    - T1_Token
    - FT_UInt
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 729
    functionDepth: 5
    functionLinenumber: 729
    functionLinenumberEnd: 774
    functionName: ps_parser_to_token_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_parser_to_token
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_token_array( PS_Parser  parser,\n                            T1_Token
      \  tokens,\n                            FT_UInt    max_tokens,\n                            FT_Int*
      \   pnum_tokens )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:816,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:834,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - acur
    - limit
    - max_coords
    - coords
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Int
    - FT_Short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 851
    functionName: ps_tocoordarray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - skip_spaces
    - PS_Conv_ToFixed
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int ps_tocoordarray( FT_Byte*  *acur,\n                   FT_Byte*
      \  limit,\n                   FT_Int     max_coords,\n                   FT_Short*
      \ coords )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:896,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:914,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 5
    argNames:
    - acur
    - limit
    - max_values
    - values
    - power_ten
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Int
    - FT_Fixed*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 860
    functionDepth: 4
    functionLinenumber: 860
    functionLinenumberEnd: 931
    functionName: ps_tofixedarray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - skip_spaces
    - PS_Conv_ToFixed
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int ps_tofixedarray( FT_Byte*  *acur,\n                   FT_Byte*
      \  limit,\n                   FT_Int     max_values,\n                   FT_Fixed*
      \ values,\n                   FT_Int     power_ten )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:983,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:987,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 3
    argNames:
    - cursor
    - limit
    - memory
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 991
    functionName: ps_tostring
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_String
    signature: "FT_String *\n  ps_tostring( FT_Byte**  cursor,\n               FT_Byte*
      \  limit,\n               FT_Memory  memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 11
    argCount: 2
    argNames:
    - acur
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1027
    functionName: ps_tobool
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ps_tobool( FT_Byte*  *acur,\n             FT_Byte*   limit )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_to_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1049,1
    - Dst: ps_parser_to_token
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1072,1
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1105,1
    - Dst: ps_tobool
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1110,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1111,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1115,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1116,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1120,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1121,1
    - Dst: PS_Conv_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1125,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1126,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1178,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1183,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1191,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1193,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1197,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1200,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1205,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1207,1
    - Dst: ps_tofixedarray
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1221,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1225,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1227,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1231,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1232,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1233,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1234,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1236,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1252,1
    - Dst: ps_tofixedarray
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1257,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1261,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1270,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1272,1
    - Dst: skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1276,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1279,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1285,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1286,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1287,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1288,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1290,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1296,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1298,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1312,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1321,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 162
    argCount: 5
    argNames:
    - parser
    - field
    - objects
    - max_objects
    - pflags
    argTypes:
    - PS_Parser
    - T1_Field
    - void**
    - FT_UInt
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1323
    functionName: ps_parser_load_field
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_NEW_ARRAY
    - PS_Conv_ToInt
    - FT_ALLOC
    - FT_RoundFix
    - ps_tobool
    - ps_parser_to_token
    - FT_THROW
    - skip_spaces
    - PS_Conv_ToFixed
    - FT_FREE
    - ps_tofixedarray
    - FT_UNUSED
    - FT_TRACE4
    - FT_TRACE0
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void ps_parser_load_field( PS_Parser       parser,\n                        const
      T1_Field  field,\n                        void**          objects,\n                        FT_UInt
      \        max_objects,\n                        FT_ULong*       pflags )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_to_token_array
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1350,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1354,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1369,1
    - Dst: ps_parser_load_field
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1378,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1389,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1395,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - parser
    - field
    - objects
    - max_objects
    - pflags
    argTypes:
    - PS_Parser
    - T1_Field
    - void**
    - FT_UInt
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1330
    functionDepth: 6
    functionLinenumber: 1330
    functionLinenumberEnd: 1403
    functionName: ps_parser_load_field_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_parser_load_field
    - ps_parser_to_token_array
    - FT_TRACE4
    - FT_ERR
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ps_parser_load_field_table( PS_Parser       parser,\n                              const
      T1_Field  field,\n                              void**          objects,\n                              FT_UInt
      \        max_objects,\n                              FT_ULong*       pflags
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1409,1
    - Dst: PS_Conv_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1407
    functionDepth: 4
    functionLinenumber: 1407
    functionLinenumberEnd: 1411
    functionName: ps_parser_to_int
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - PS_Conv_ToInt
    - ps_parser_skip_spaces
    linkageType: ''
    returnType: void
    signature: void ps_parser_to_int( PS_Parser  parser )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1427,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1437,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1438,1
    - Dst: PS_Conv_ASCIIHexDecode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1445,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1456,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1457,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 5
    argNames:
    - parser
    - bytes
    - max_bytes
    - pnum_bytes
    - delimiters
    argTypes:
    - PS_Parser
    - FT_Byte*
    - FT_Offset
    - FT_ULong*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1417
    functionDepth: 4
    functionLinenumber: 1417
    functionLinenumberEnd: 1466
    functionName: ps_parser_to_bytes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - PS_Conv_ASCIIHexDecode
    - FT_ERROR
    - ps_parser_skip_spaces
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_bytes( PS_Parser  parser,\n                      FT_Byte*
      \  bytes,\n                      FT_Offset  max_bytes,\n                      FT_ULong*
      \ pnum_bytes,\n                      FT_Bool    delimiters )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1473,1
    - Dst: PS_Conv_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - parser
    - power_ten
    argTypes:
    - PS_Parser
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1470
    functionDepth: 4
    functionLinenumber: 1470
    functionLinenumberEnd: 1475
    functionName: ps_parser_to_fixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - PS_Conv_ToFixed
    - ps_parser_skip_spaces
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_fixed( PS_Parser  parser,\n                      FT_Int
      \    power_ten )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1483,1
    - Dst: ps_tocoordarray
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - parser
    - max_coords
    - coords
    argTypes:
    - PS_Parser
    - FT_Int
    - FT_Short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1479
    functionDepth: 5
    functionLinenumber: 1479
    functionLinenumberEnd: 1486
    functionName: ps_parser_to_coord_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_tocoordarray
    - ps_parser_skip_spaces
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_coord_array( PS_Parser  parser,\n                            FT_Int
      \    max_coords,\n                            FT_Short*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1495,1
    - Dst: ps_tofixedarray
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - parser
    - max_values
    - values
    - power_ten
    argTypes:
    - PS_Parser
    - FT_Int
    - FT_Fixed*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1490
    functionDepth: 5
    functionLinenumber: 1490
    functionLinenumberEnd: 1498
    functionName: ps_parser_to_fixed_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_parser_skip_spaces
    - ps_tofixedarray
    linkageType: ''
    returnType: void
    signature: "void ps_parser_to_fixed_array( PS_Parser  parser,\n                            FT_Int
      \    max_values,\n                            FT_Fixed*  values,\n                            FT_Int
      \    power_ten )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_tostring
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1504
    functionDepth: 2
    functionLinenumber: 1504
    functionLinenumberEnd: 1507
    functionName: T1_ToString
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_tostring
    linkageType: ''
    returnType: void
    signature: void T1_ToString( PS_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_tobool
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1514
    functionName: T1_ToBool
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_tobool
    linkageType: ''
    returnType: void
    signature: void T1_ToBool( PS_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - parser
    - base
    - limit
    - memory
    argTypes:
    - PS_Parser
    - FT_Byte*
    - FT_Byte*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1520
    functionDepth: 0
    functionLinenumber: 1520
    functionLinenumberEnd: 1531
    functionName: ps_parser_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ps_parser_init( PS_Parser  parser,\n                  FT_Byte*
      \  base,\n                  FT_Byte*   limit,\n                  FT_Memory  memory
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - PS_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1538
    functionName: ps_parser_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ps_parser_done( PS_Parser  parser )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 5
    argNames:
    - builder
    - face
    - size
    - glyph
    - hinting
    argTypes:
    - T1_Builder
    - FT_Face
    - FT_Size
    - FT_GlyphSlot
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1614
    functionName: t1_builder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Rewind
    linkageType: ''
    returnType: void
    signature: "void t1_builder_init( T1_Builder    builder,\n                   FT_Face
      \      face,\n                   FT_Size       size,\n                   FT_GlyphSlot
      \ glyph,\n                   FT_Bool       hinting )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - T1_Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1632
    functionDepth: 0
    functionLinenumber: 1632
    functionLinenumberEnd: 1639
    functionName: t1_builder_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_builder_done( T1_Builder  builder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - count
    argTypes:
    - T1_Builder
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1648
    functionName: t1_builder_check_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_GLYPHLOADER_CHECK_POINTS
    linkageType: ''
    returnType: void
    signature: "void t1_builder_check_points( T1_Builder  builder,\n                           FT_Int
      \     count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1667,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - builder
    - x
    - y
    - flag
    argTypes:
    - T1_Builder
    - FT_Pos
    - FT_Pos
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1672
    functionName: t1_builder_add_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void t1_builder_add_point( T1_Builder  builder,\n                        FT_Pos
      \     x,\n                        FT_Pos      y,\n                        FT_Byte
      \    flag )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1684,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - T1_Builder
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1677
    functionDepth: 2
    functionLinenumber: 1677
    functionLinenumberEnd: 1689
    functionName: t1_builder_add_point1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - t1_builder_check_points
    - t1_builder_add_point
    linkageType: ''
    returnType: void
    signature: "void t1_builder_add_point1( T1_Builder  builder,\n                         FT_Pos
      \     x,\n                         FT_Pos      y )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1703,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1704,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1713,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - builder
    argTypes:
    - T1_Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1724
    functionName: t1_builder_add_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: void t1_builder_add_contour( T1_Builder  builder )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1733,1
    - Dst: t1_builder_add_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1743,1
    - Dst: t1_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - T1_Builder
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1729
    functionDepth: 3
    functionLinenumber: 1729
    functionLinenumberEnd: 1749
    functionName: t1_builder_start_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    - t1_builder_add_contour
    - t1_builder_add_point1
    linkageType: ''
    returnType: void
    signature: "void t1_builder_start_point( T1_Builder  builder,\n                          FT_Pos
      \     x,\n                          FT_Pos      y )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - builder
    argTypes:
    - T1_Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1754
    functionDepth: 0
    functionLinenumber: 1754
    functionLinenumberEnd: 1803
    functionName: t1_builder_close_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_builder_close_contour( T1_Builder  builder )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1862,1
    - Dst: FT_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1869,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - builder
    - face
    - size
    - glyph
    - hinting
    argTypes:
    - CFF_Builder*
    - TT_Face
    - CFF_Size
    - CFF_GlyphSlot
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1889
    functionName: cff_builder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - FT_GlyphLoader_Rewind
    - FT_SIZE
    linkageType: ''
    returnType: void
    signature: "void cff_builder_init( CFF_Builder*   builder,\n                    TT_Face
      \       face,\n                    CFF_Size       size,\n                    CFF_GlyphSlot
      \ glyph,\n                    FT_Bool        hinting )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - CFF_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1914
    functionName: cff_builder_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_builder_done( CFF_Builder*  builder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - count
    argTypes:
    - CFF_Builder*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1923
    functionName: cff_check_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - FT_GLYPHLOADER_CHECK_POINTS
    linkageType: ''
    returnType: void
    signature: "void cff_check_points( CFF_Builder*  builder,\n                    FT_Int
      \       count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1942,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - builder
    - x
    - y
    - flag
    argTypes:
    - CFF_Builder*
    - FT_Pos
    - FT_Pos
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1961
    functionName: cff_builder_add_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - FT_FACE_DRIVER
    linkageType: ''
    returnType: void
    signature: "void cff_builder_add_point( CFF_Builder*  builder,\n                         FT_Pos
      \       x,\n                         FT_Pos        y,\n                         FT_Byte
      \      flag )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1973,1
    - Dst: cff_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1975,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - CFF_Builder*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1966
    functionDepth: 2
    functionLinenumber: 1966
    functionLinenumberEnd: 1978
    functionName: cff_builder_add_point1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - cff_check_points
    - cff_builder_add_point
    linkageType: ''
    returnType: void
    signature: "void cff_builder_add_point1( CFF_Builder*  builder,\n                          FT_Pos
      \       x,\n                          FT_Pos        y )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:1995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - builder
    argTypes:
    - CFF_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1983
    functionDepth: 1
    functionLinenumber: 1983
    functionLinenumberEnd: 2006
    functionName: cff_builder_add_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_GLYPHLOADER_CHECK_POINTS
    linkageType: ''
    returnType: void
    signature: void cff_builder_add_contour( CFF_Builder*  builder )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_builder_add_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2022,1
    - Dst: cff_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2024,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - CFF_Builder*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2011
    functionDepth: 3
    functionLinenumber: 2011
    functionLinenumberEnd: 2028
    functionName: cff_builder_start_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - cff_builder_add_contour
    - cff_builder_add_point1
    linkageType: ''
    returnType: void
    signature: "void cff_builder_start_point( CFF_Builder*  builder,\n                           FT_Pos
      \       x,\n                           FT_Pos        y )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - builder
    argTypes:
    - CFF_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2033
    functionDepth: 0
    functionLinenumber: 2033
    functionLinenumberEnd: 2082
    functionName: cff_builder_close_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_builder_close_contour( CFF_Builder*  builder )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 3
    argNames:
    - ps_builder
    - builder
    - is_t1
    argTypes:
    - PS_Builder*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2119
    functionDepth: 0
    functionLinenumber: 2119
    functionLinenumberEnd: 2178
    functionName: ps_builder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void ps_builder_init( PS_Builder*  ps_builder,\n                   void*
      \       builder,\n                   FT_Bool      is_t1 )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - builder
    argTypes:
    - PS_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2196
    functionDepth: 0
    functionLinenumber: 2196
    functionLinenumberEnd: 2203
    functionName: ps_builder_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ps_builder_done( PS_Builder*  builder )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - builder
    - count
    argTypes:
    - PS_Builder*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2208
    functionDepth: 1
    functionLinenumber: 2208
    functionLinenumberEnd: 2212
    functionName: ps_builder_check_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 2
    functionsReached:
    - FT_GLYPHLOADER_CHECK_POINTS
    linkageType: ''
    returnType: void
    signature: "void ps_builder_check_points( PS_Builder*  builder,\n                           FT_Int
      \      count )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2231,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2244,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2249,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - builder
    - x
    - y
    - flag
    argTypes:
    - PS_Builder*
    - FT_Pos
    - FT_Pos
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2262
    functionName: ps_builder_add_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - FT_FACE_DRIVER
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void ps_builder_add_point( PS_Builder*  builder,\n                        FT_Pos
      \      x,\n                        FT_Pos       y,\n                        FT_Byte
      \     flag )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ps_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2274,1
    - Dst: ps_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - PS_Builder*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2267
    functionDepth: 2
    functionLinenumber: 2267
    functionLinenumberEnd: 2279
    functionName: ps_builder_add_point1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 1
    functionsReached:
    - ps_builder_check_points
    - ps_builder_add_point
    linkageType: ''
    returnType: void
    signature: "void ps_builder_add_point1( PS_Builder*  builder,\n                         FT_Pos
      \      x,\n                         FT_Pos       y )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2293,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2294,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - builder
    argTypes:
    - PS_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2284
    functionDepth: 1
    functionLinenumber: 2284
    functionLinenumberEnd: 2314
    functionName: ps_builder_add_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: void ps_builder_add_contour( PS_Builder*  builder )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_builder_add_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2330,1
    - Dst: ps_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - builder
    - x
    - y
    argTypes:
    - PS_Builder*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2336
      start: 2319
    functionDepth: 3
    functionLinenumber: 2319
    functionLinenumberEnd: 2336
    functionName: ps_builder_start_point
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 2
    functionsReached:
    - ps_builder_add_contour
    - ps_builder_add_point1
    linkageType: ''
    returnType: void
    signature: "void ps_builder_start_point( PS_Builder*  builder,\n                          FT_Pos
      \      x,\n                          FT_Pos       y )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - builder
    argTypes:
    - PS_Builder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2341
    functionDepth: 0
    functionLinenumber: 2341
    functionLinenumberEnd: 2390
    functionName: ps_builder_close_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ps_builder_close_contour( PS_Builder*  builder )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2427,1
    - Dst: ps_builder_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2434,1
    - Dst: ps_builder_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 34
    argCount: 3
    argNames:
    - ps_decoder
    - decoder
    - is_t1
    argTypes:
    - PS_Decoder*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2423
    functionDepth: 1
    functionLinenumber: 2423
    functionLinenumberEnd: 2484
    functionName: ps_decoder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - ps_builder_init
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void ps_decoder_init( PS_Decoder*  ps_decoder,\n                   void*
      \       decoder,\n                   FT_Bool      is_t1 )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2498,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2499,1
    - Dst: cff_random
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2550,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - face
    - priv
    - subfont
    argTypes:
    - FT_Face
    - PS_Private
    - CFF_SubFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2571
      start: 2490
    functionDepth: 1
    functionLinenumber: 2490
    functionLinenumberEnd: 2571
    functionName: t1_make_subfont
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - cff_random
    linkageType: ''
    returnType: void
    signature: "void t1_make_subfont( FT_Face      face,\n                   PS_Private
      \  priv,\n                   CFF_SubFont  subfont )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PS_Conv_EexecDecode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c:2579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - length
    - seed
    argTypes:
    - FT_Byte*
    - FT_Offset
    - FT_UShort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2575
    functionDepth: 1
    functionLinenumber: 2575
    functionLinenumberEnd: 2584
    functionName: t1_decrypt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 0
    functionsReached:
    - PS_Conv_EexecDecode
    linkageType: ''
    returnType: void
    signature: "void t1_decrypt( FT_Byte*   buffer,\n              FT_Offset  length,\n
      \             FT_UShort  seed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2596
    functionName: cff_random
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psobjs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_random( FT_UInt32  r )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: cf2_intToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_intToFixed( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: cf2_fixedToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fixedToInt( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cf2_fixedRound
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fixedRound( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cf2_doubleToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_doubleToFixed( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: cf2_fixedAbs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fixedAbs( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cf2_fixedFloor
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fixedFloor( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: cf2_fixedFraction
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fixedFraction( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: cf2_fracToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psfixed.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_fracToFixed( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: CF2_BufferRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psread.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CF2_BufferRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - error
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: CF2_SET_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/pserror.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF2_SET_ERROR( error, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - arrstack
    - memory
    - error
    - sizeItem
    argTypes:
    - CF2_ArrStack
    - FT_Memory
    - FT_Error*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 72
    functionName: cf2_arrstack_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_arrstack_init( CF2_ArrStack  arrstack,\n                     FT_Memory
      \    memory,\n                     FT_Error*     error,\n                     size_t
      \       sizeItem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:81,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arrstack
    argTypes:
    - CF2_ArrStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: cf2_arrstack_finalize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cf2_arrstack_finalize( CF2_ArrStack  arrstack )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:98,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:111,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:113,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:121,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - arrstack
    - numElements
    argTypes:
    - CF2_ArrStack
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 135
    functionName: cf2_arrstack_setNumElements
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_REALLOC
    - CF2_SET_ERROR
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool cf2_arrstack_setNumElements( CF2_ArrStack  arrstack,\n                               size_t
      \       numElements )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:143,1
    - Dst: cf2_arrstack_setNumElements
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - arrstack
    - numElements
    argTypes:
    - CF2_ArrStack
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: cf2_arrstack_setCount
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 1
    functionsReached:
    - cf2_arrstack_setNumElements
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void cf2_arrstack_setCount( CF2_ArrStack  arrstack,\n                         size_t
      \       numElements )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arrstack
    argTypes:
    - CF2_ArrStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: cf2_arrstack_clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 2
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_arrstack_clear( CF2_ArrStack  arrstack )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arrstack
    argTypes:
    - CF2_ArrStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: cf2_arrstack_size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 3
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_arrstack_size( const CF2_ArrStack  arrstack )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arrstack
    argTypes:
    - CF2_ArrStack
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 182
    functionName: cf2_arrstack_getBuffer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void cf2_arrstack_getBuffer( const CF2_ArrStack  arrstack )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:193,1
    - Dst: CF2_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - arrstack
    - idx
    argTypes:
    - CF2_ArrStack
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 205
    functionName: cf2_arrstack_getPointer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 4
    functionsReached:
    - FT_ASSERT
    - CF2_SET_ERROR
    linkageType: ''
    returnType: void
    signature: "void cf2_arrstack_getPointer( const CF2_ArrStack  arrstack,\n                           size_t
      \             idx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:215,1
    - Dst: cf2_arrstack_setNumElements
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:220,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:228,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c:235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arrstack
    - ptr
    argTypes:
    - CF2_ArrStack
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 238
    functionName: cf2_arrstack_push
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psarrst.c
    functionUses: 2
    functionsReached:
    - cf2_arrstack_setNumElements
    - FT_ASSERT
    - FT_MEM_COPY
    linkageType: ''
    returnType: void
    signature: "void cf2_arrstack_push( CF2_ArrStack  arrstack,\n                     const
      void*   ptr )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: cf2_blueToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cf2_blueToFixed( x )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:97,1
    - Dst: cf2_getBlueMetrics
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:100,1
    - Dst: cf2_getBlueValues
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:105,1
    - Dst: cf2_getOtherBlues
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:106,1
    - Dst: cf2_getFamilyBlues
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:107,1
    - Dst: cf2_getFamilyOtherBlues
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:108,1
    - Dst: FCM_getHorizontalLineMetrics
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:124,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:131,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:132,1
    - Dst: cf2_getLanguageGroup
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:141,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:144,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:145,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:146,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:147,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:161,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:162,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:173,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:174,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:193,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:195,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:197,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:202,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:242,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:244,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:246,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:251,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:279,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:279,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:302,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:304,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:304,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:320,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:322,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:322,1
    - Dst: cf2_blueToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:340,1
    - Dst: cf2_fixedAbs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:345,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:345,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:366,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:366,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:370,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:370,1
    - Dst: tetraphilia_assert
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:387,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:411,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:412,1
    - Dst: cf2_doubleToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:412,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:432,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:433,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:438,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:439,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 127
    argCount: 2
    argNames:
    - blues
    - font
    argTypes:
    - CF2_Blues
    - CF2_Font
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 444
    functionName: cf2_blues_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c
    functionUses: 1
    functionsReached:
    - SUB_INT32
    - cf2_getLanguageGroup
    - cf2_intToFixed
    - FT_MulFix
    - FT_ZERO
    - cf2_getFamilyOtherBlues
    - cf2_fixedAbs
    - cf2_fixedRound
    - FT_DivFix
    - cf2_getFamilyBlues
    - cf2_getOtherBlues
    - cf2_getBlueValues
    - cf2_getBlueMetrics
    - FT_MulDiv
    - FCM_getHorizontalLineMetrics
    - cf2_doubleToFixed
    - cf2_blueToFixed
    - FT_TRACE4
    - tetraphilia_assert
    linkageType: ''
    returnType: void
    signature: "void cf2_blues_init( CF2_Blues  blues,\n                  CF2_Font
      \  font )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:483,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:483,1
    - Dst: cf2_hint_isBottom
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:484,1
    - Dst: cf2_hint_isBottom
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:490,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:492,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:495,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:502,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:507,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:508,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:509,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:515,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:518,1
    - Dst: cf2_hint_isTop
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:525,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:527,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:530,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:537,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:542,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:543,1
    - Dst: cf2_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:544,1
    - Dst: cf2_fixedRound
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:550,1
    - Dst: SUB_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:553,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:564,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:566,1
    - Dst: cf2_hint_lock
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:568,1
    - Dst: cf2_hint_isValid
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:571,1
    - Dst: ADD_INT32
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:573,1
    - Dst: cf2_hint_lock
      Src: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c:574,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - blues
    - bottomHintEdge
    - topHintEdge
    argTypes:
    - CF2_Blues
    - CF2_Hint
    - CF2_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 579
    functionName: cf2_blues_capture
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/psblues.c
    functionUses: 1
    functionsReached:
    - FT_MIN
    - SUB_INT32
    - cf2_hint_lock
    - cf2_intToFixed
    - FT_MAX
    - cf2_hint_isValid
    - FT_ASSERT
    - cf2_fixedRound
    - cf2_hint_isBottom
    - cf2_hint_isTop
    - ADD_INT32
    linkageType: ''
    returnType: void
    signature: "void cf2_blues_capture( const CF2_Blues  blues,\n                     CF2_Hint
      \        bottomHintEdge,\n                     CF2_Hint         topHintEdge
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: Fix2Int
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fix2Int( f )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_PsCMaps::adobe_std_strings
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:145,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - charcode
    argTypes:
    - PS_Decoder*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: t1_lookup_glyph_by_stdcharcode_ps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 1
    functionsReached:
    - FT_Service_PsCMaps::adobe_std_strings
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void t1_lookup_glyph_by_stdcharcode_ps( PS_Decoder*  decoder,\n                                     FT_Int
      \      charcode )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_PsCMaps::adobe_std_strings
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:198,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:208,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - decoder
    - charcode
    argTypes:
    - T1_Decoder
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 213
    functionName: t1_lookup_glyph_by_stdcharcode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - FT_Service_PsCMaps::adobe_std_strings
    - ft_strcmp
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int t1_lookup_glyph_by_stdcharcode( T1_Decoder  decoder,\n                                  FT_Int
      \     charcode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T1_Decoder::parse_callback
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - decoder
    - glyph
    argTypes:
    - T1_Decoder
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: t1_decoder_parse_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - T1_Decoder::parse_callback
    linkageType: ''
    returnType: void
    signature: "void t1_decoder_parse_glyph( T1_Decoder  decoder,\n                          FT_UInt
      \    glyph )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:278,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:279,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:284,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:285,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:300,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:302,1
    - Dst: t1_lookup_glyph_by_stdcharcode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:315,1
    - Dst: t1_lookup_glyph_by_stdcharcode
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:316,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:321,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:323,1
    - Dst: FT_GlyphLoader_CheckSubGlyphs
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:336,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:353,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:354,1
    - Dst: FT_GlyphLoader_Prepare
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:368,1
    - Dst: t1_decoder_parse_glyph
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:372,1
    - Dst: t1_decoder_parse_glyph
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:394,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 6
    argNames:
    - decoder
    - asb
    - adx
    - ady
    - bchar
    - achar
    argTypes:
    - T1_Decoder
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 410
    functionName: t1operator_seac
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - t1_lookup_glyph_by_stdcharcode
    - FT_GlyphLoader_CheckSubGlyphs
    - FT_GlyphLoader_Prepare
    - FT_THROW
    - FIXED_TO_INT
    - t1_decoder_parse_glyph
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1operator_seac( T1_Decoder  decoder,\n                   FT_Pos
      \     asb,\n                   FT_Pos      adx,\n                   FT_Pos      ady,\n
      \                  FT_Int      bchar,\n                   FT_Int      achar
      )"
  - BBCount: 176
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:477,1
    - Dst: FT_ARRAY_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:481,1
    - Dst: T1_Hints_Funcs::open
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:494,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:506,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:512,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:586,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:622,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:632,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:654,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:677,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:693,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:718,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:733,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:739,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:741,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:754,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:763,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:764,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:811,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:826,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:826,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:827,1
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:827,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:844,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:859,1
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:859,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:862,1
    - Dst: T1_Hints_Funcs::reset
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:877,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:901,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:909,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:938,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:939,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:961,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:967,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:980,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:991,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1002,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1013,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1029,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1050,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1099,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1110,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1119,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1133,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1157,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1171,1
    - Dst: t1_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1173,1
    - Dst: T1_Hints_Funcs::close
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1178,1
    - Dst: T1_Hints_Funcs::apply
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1183,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1192,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1203,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1206,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1208,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1213,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1219,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1223,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1229,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1232,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1239,1
    - Dst: t1operator_seac
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1246,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1250,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1251,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1254,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1258,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1260,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1266,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1267,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1274,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1281,1
    - Dst: t1_builder_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1286,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1292,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1294,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1294,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1297,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1301,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1303,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1314,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1316,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1316,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1317,1
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1317,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1320,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1321,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1323,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1324,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1325,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1327,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1328,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1332,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1334,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1334,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1337,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1338,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1341,1
    - Dst: t1_builder_add_point1
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1341,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1346,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1348,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1349,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1360,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1362,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1362,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1363,1
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1363,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1366,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1367,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1368,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1370,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1371,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1372,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1374,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1375,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1376,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1380,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1382,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1382,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1383,1
    - Dst: t1_builder_check_points
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1383,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1386,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1387,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1389,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1390,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1391,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1393,1
    - Dst: t1_builder_add_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1394,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1398,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1400,1
    - Dst: t1_builder_start_point
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1400,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1403,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1407,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1409,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1420,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1425,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1436,1
    - Dst: Fix2Int
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1438,1
    - Dst: ft_hash_num_lookup
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1442,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1454,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1461,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1489,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1501,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1512,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1522,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1526,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1538,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1543,1
    - Dst: T1_Hints_Funcs::stem
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1549,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1554,1
    - Dst: T1_Hints_Funcs::stem3
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1558,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1562,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1567,1
    - Dst: T1_Hints_Funcs::stem
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1568,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1573,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1581,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1582,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1583,1
    - Dst: T1_Hints_Funcs::stem3
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1584,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1589,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1607,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1621,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1626,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1639,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1647,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1653,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1656,1
    CyclomaticComplexity: 242
    EdgeCount: 242
    ICount: 693
    argCount: 3
    argNames:
    - decoder
    - charstring_base
    - charstring_len
    argTypes:
    - T1_Decoder
    - FT_Byte*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 1657
    functionName: t1_decoder_parse_charstrings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - T1_Hints_Funcs::reset
    - FT_MulFix
    - t1_builder_close_contour
    - SUB_LONG
    - T1_Hints_Funcs::close
    - ft_memcpy
    - Fix2Int
    - FT_THROW
    - FT_GlyphLoader_Add
    - t1_builder_add_point1
    - T1_Hints_Funcs::stem
    - FT_TRACE0
    - FT_DivFix
    - t1_builder_add_point
    - FT_UNUSED
    - t1_builder_start_point
    - FT_ARRAY_ZERO
    - T1_Hints_Funcs::apply
    - T1_Hints_Funcs::open
    - FT_ASSERT
    - t1operator_seac
    - FT_SET_ERROR
    - t1_builder_check_points
    - ft_hash_num_lookup
    - FT_TRACE5
    - T1_Hints_Funcs::stem3
    - FT_TRACE4
    - ADD_LONG
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t1_decoder_parse_charstrings( T1_Decoder  decoder,\n                                FT_Byte*
      \   charstring_base,\n                                FT_UInt     charstring_len
      )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1721,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1760,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1779,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1799,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1819,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1834,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1849,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1854,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1865,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1873,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1885,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1889,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1898,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1902,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1906,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1908,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1917,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1921,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1930,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1933,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1937,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1940,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 138
    argCount: 3
    argNames:
    - decoder
    - charstring_base
    - charstring_len
    argTypes:
    - T1_Decoder
    - FT_Byte*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1941
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1941
    functionName: t1_decoder_parse_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    - FT_THROW
    - FT_ASSERT
    - FT_TRACE5
    - FT_TRACE4
    - FT_TRACE0
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t1_decoder_parse_metrics( T1_Decoder  decoder,\n                            FT_Byte*
      \   charstring_base,\n                            FT_UInt     charstring_len
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1958,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1965,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1968,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1970,1
    - Dst: t1_builder_init
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:1976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 9
    argNames:
    - decoder
    - face
    - size
    - slot
    - glyph_names
    - blend
    - hinting
    - hint_mode
    - parse_callback
    argTypes:
    - T1_Decoder
    - FT_Face
    - FT_Size
    - FT_GlyphSlot
    - FT_Byte**
    - PS_Blend
    - FT_Bool
    - FT_Render_Mode
    - T1_Decoder_Callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 1991
    functionName: t1_decoder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_GLOBAL_SERVICE
    - t1_builder_init
    - FT_THROW
    - FT_ZERO
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t1_decoder_init( T1_Decoder           decoder,\n                   FT_Face
      \             face,\n                   FT_Size              size,\n                   FT_GlyphSlot
      \        slot,\n                   FT_Byte**            glyph_names,\n                   PS_Blend
      \            blend,\n                   FT_Bool              hinting,\n                   FT_Render_Mode
      \      hint_mode,\n                   T1_Decoder_Callback  parse_callback )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_builder_done
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:2001,1
    - Dst: T1_Decoder::cf2_instance::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:2005,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c:2006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - T1_Decoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2008
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2008
    functionName: t1_decoder_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psaux/t1decode.c
    functionUses: 0
    functionsReached:
    - t1_builder_done
    - FT_FREE
    - T1_Decoder::cf2_instance::finalizer
    linkageType: ''
    returnType: void
    signature: void t1_decoder_done( T1_Decoder  decoder )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - charcode
    argTypes:
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: cff_get_standard_encoding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_get_standard_encoding( FT_UInt  charcode )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - idx
    - errorp
    argTypes:
    - CFF_Index
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 231
    functionName: cff_index_read_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong cff_index_read_offset( CFF_Index  idx,\n                         FT_Error
      \ *errorp )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:245,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:248,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:252,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:258,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:271,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:276,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:286,1
    - Dst: cff_index_read_offset
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:289,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:295,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:304,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:310,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:317,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 4
    argNames:
    - idx
    - stream
    - load
    - cff2
    argTypes:
    - CFF_Index
    - FT_Stream
    - FT_Bool
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 320
    functionName: cff_index_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_READ_BYTE
    - cff_index_read_offset
    - FT_FRAME_EXTRACT
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_ZERO
    - FT_FREE
    - FT_READ_ULONG
    - FT_STREAM_POS
    - FT_READ_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_index_init( CFF_Index  idx,\n                  FT_Stream
      \ stream,\n                  FT_Bool    load,\n                  FT_Bool    cff2
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:333,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:335,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - idx
    argTypes:
    - CFF_Index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 338
    functionName: cff_index_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_ZERO
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cff_index_done( CFF_Index  idx )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:360,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:361,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:362,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:378,1
    - Dst: FT_PEEK_UOFF3
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:383,1
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:388,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:391,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - idx
    argTypes:
    - CFF_Index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 399
    functionName: cff_index_load_offsets
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_NEW_ARRAY
    - FT_STREAM_SEEK
    - FT_FREE
    - FT_PEEK_ULONG
    - FT_PEEK_USHORT
    - FT_PEEK_UOFF3
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_index_load_offsets( CFF_Index  idx )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_load_offsets
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:423,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:431,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:432,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:445,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:475,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - idx
    - table
    - pool
    - pool_size
    argTypes:
    - CFF_Index
    - FT_Byte***
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 494
    functionName: cff_index_get_pointers
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_NEW_ARRAY
    - FT_ALLOC
    - FT_TRACE0
    - cff_index_load_offsets
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_index_get_pointers( CFF_Index   idx,\n                          FT_Byte***
      \ table,\n                          FT_Byte**   pool,\n                          FT_ULong*
      \  pool_size )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:519,1
    - Dst: cff_index_read_offset
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:522,1
    - Dst: cff_index_read_offset
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:531,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:555,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:575,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:576,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:588,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 47
    argCount: 4
    argNames:
    - idx
    - element
    - pbytes
    - pbyte_len
    argTypes:
    - CFF_Index
    - FT_UInt
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 592
    functionName: cff_index_access_element
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_index_read_offset
    - FT_STREAM_SEEK
    - FT_FRAME_EXTRACT
    - FT_THROW
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cff_index_access_element( CFF_Index  idx,\n                            FT_UInt
      \   element,\n                            FT_Byte**  pbytes,\n                            FT_ULong*
      \ pbyte_len )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - idx
    - pbytes
    argTypes:
    - CFF_Index
    - FT_Byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 606
    functionName: cff_index_forget_element
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: void
    signature: "void cff_index_forget_element( CFF_Index  idx,\n                            FT_Byte**
      \ pbytes )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_access_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:627,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:631,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:634,1
    - Dst: cff_index_forget_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:637,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - font
    - element
    argTypes:
    - CFF_Font
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 641
    functionName: cff_index_get_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - cff_index_forget_element
    - cff_index_access_element
    - FT_MEM_COPY
    linkageType: ''
    returnType: void
    signature: "void cff_index_get_name( CFF_Font  font,\n                      FT_UInt
      \  element )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - font
    - element
    argTypes:
    - CFF_Font
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 652
    functionName: cff_index_get_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cff_index_get_string( CFF_Font  font,\n                        FT_UInt
      \  element )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_get_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:665,1
    - Dst: CFF_Font::psnames::adobe_std_strings
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - font
    - sid
    argTypes:
    - CFF_Font
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: cff_index_get_sid_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_index_get_string
    - CFF_Font::psnames::adobe_std_strings
    linkageType: ''
    returnType: void
    signature: "void cff_index_get_sid_string( CFF_Font  font,\n                            FT_UInt
      \  sid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fdselect
    - stream
    argTypes:
    - CFF_FDSelect
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: CFF_Done_FD_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: void
    signature: "void CFF_Done_FD_Select( CFF_FDSelect  fdselect,\n                      FT_Stream
      \    stream )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:710,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:710,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:723,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:728,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:729,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:736,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:741,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 4
    argNames:
    - fdselect
    - num_glyphs
    - stream
    - offset
    argTypes:
    - CFF_FDSelect
    - FT_UInt
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 746
    functionName: CFF_Load_FD_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_READ_BYTE
    - FT_STREAM_SEEK
    - FT_FRAME_EXTRACT
    - FT_THROW
    - FT_TRACE0
    - FT_READ_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error CFF_Load_FD_Select( CFF_FDSelect  fdselect,\n                      FT_UInt
      \      num_glyphs,\n                      FT_Stream     stream,\n                      FT_ULong
      \     offset )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:784,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:791,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - fdselect
    - glyph_index
    argTypes:
    - CFF_FDSelect
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 815
    functionName: cff_fd_select_get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void cff_fd_select_get( CFF_FDSelect  fdselect,\n                     FT_UInt
      \      glyph_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:846,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - charset
    - num_glyphs
    - memory
    argTypes:
    - CFF_Charset
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 860
    functionName: cff_charset_compute_cids
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_charset_compute_cids( CFF_Charset  charset,\n                            FT_UInt
      \     num_glyphs,\n                            FT_Memory    memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - charset
    - cid
    argTypes:
    - CFF_Charset
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 874
    functionName: cff_charset_cid_to_gindex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cff_charset_cid_to_gindex( CFF_Charset  charset,\n                             FT_UInt
      \     cid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - charset
    - memory
    argTypes:
    - CFF_Charset
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: cff_charset_free_cids
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cff_charset_free_cids( CFF_Charset  charset,\n                         FT_Memory
      \   memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_charset_free_cids
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:893,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - charset
    - stream
    argTypes:
    - CFF_Charset
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 898
    functionName: cff_charset_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_charset_free_cids
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cff_charset_done( CFF_Charset  charset,\n                    FT_Stream
      \   stream )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:924,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:925,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:929,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:940,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:944,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:946,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:962,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:968,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:973,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:980,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:993,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:994,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1015,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1017,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1022,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1026,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1033,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1035,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1040,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1044,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1051,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1053,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1058,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1062,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1067,1
    - Dst: cff_charset_compute_cids
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1074,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1080,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1081,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 109
    argCount: 6
    argNames:
    - charset
    - num_glyphs
    - stream
    - base_offset
    - offset
    - invert
    argTypes:
    - CFF_Charset
    - FT_UInt
    - FT_Stream
    - FT_ULong
    - FT_ULong
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 1088
    functionName: cff_charset_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_READ_BYTE
    - FT_NEW_ARRAY
    - FT_FRAME_ENTER
    - FT_FRAME_EXIT
    - cff_charset_compute_cids
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_GET_USHORT
    - FT_FREE
    - FT_READ_USHORT
    - FT_ARRAY_COPY
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_charset_load( CFF_Charset  charset,\n                    FT_UInt
      \     num_glyphs,\n                    FT_Stream    stream,\n                    FT_ULong
      \    base_offset,\n                    FT_ULong     offset,\n                    FT_Bool
      \     invert )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1102,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1104,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1110,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - vstore
    - memory
    argTypes:
    - CFF_VStoreRec*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1113
    functionName: cff_vstore_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cff_vstore_done( CFF_VStoreRec*  vstore,\n                   FT_Memory
      \      memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1117
    functionDepth: 0
    functionLinenumber: 1117
    functionLinenumberEnd: 1118
    functionName: FT_fdot14ToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_fdot14ToFixed( x )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1127,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1143,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1144,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1148,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1151,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1155,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1160,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1161,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1166,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1171,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1176,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1177,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1178,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1181,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1189,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1199,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1200,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1201,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1204,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1205,1
    - Dst: FT_fdot14ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1206,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1211,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1219,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1224,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1230,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1233,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1238,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1247,1
    - Dst: cff_vstore_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1249,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 74
    argCount: 4
    argNames:
    - vstore
    - stream
    - base_offset
    - offset
    argTypes:
    - CFF_VStoreRec*
    - FT_Stream
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1252
    functionName: cff_vstore_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - FT_THROW
    - cff_vstore_done
    - FT_FREE
    - FT_READ_ULONG
    - FT_STREAM_POS
    - FT_fdot14ToFixed
    - FT_ERR
    - FT_READ_USHORT
    - FT_READ_SHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_vstore_load( CFF_VStoreRec*  vstore,\n                   FT_Stream
      \      stream,\n                   FT_ULong        base_offset,\n                   FT_ULong
      \       offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - subFont
    argTypes:
    - CFF_SubFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1266
    functionName: cff_blend_clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_blend_clear( CFF_SubFont  subFont )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1301,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1305,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1319,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1355,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1358,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - subFont
    - parser
    - numBlends
    argTypes:
    - CFF_SubFont
    - CFF_Parser
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1379
    functionName: cff_blend_doBlend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE4
    - FT_REALLOC
    - cff_parse_num
    linkageType: ''
    returnType: void
    signature: "void cff_blend_doBlend( CFF_SubFont  subFont,\n                     CFF_Parser
      \  parser,\n                     FT_UInt      numBlends )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1404,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1406,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1417,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1418,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1424,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1425,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1434,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1453,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1466,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1468,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1517,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1520,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1525,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1528,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1532,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1540,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1545,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 78
    argCount: 4
    argNames:
    - blend
    - vsindex
    - lenNDV
    - NDV
    argTypes:
    - CFF_Blend
    - FT_UInt
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1387
    functionDepth: 1
    functionLinenumber: 1387
    functionLinenumberEnd: 1555
    functionName: cff_blend_build_vector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_THROW
    - FT_MulFix
    - FT_TRACE4
    - FT_DivFix
    - FT_REALLOC
    linkageType: ''
    returnType: void
    signature: "void cff_blend_build_vector( CFF_Blend  blend,\n                          FT_UInt
      \   vsindex,\n                          FT_UInt    lenNDV,\n                          FT_Fixed*
      \ NDV )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1570,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 5
    argCount: 4
    argNames:
    - blend
    - vsindex
    - lenNDV
    - NDV
    argTypes:
    - CFF_Blend
    - FT_UInt
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1561
    functionDepth: 0
    functionLinenumber: 1561
    functionLinenumberEnd: 1579
    functionName: cff_blend_check_vector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - ft_memcmp
    linkageType: ''
    returnType: void
    signature: "void cff_blend_check_vector( CFF_Blend  blend,\n                          FT_UInt
      \   vsindex,\n                          FT_UInt    lenNDV,\n                          FT_Fixed*
      \ NDV )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::get_var_blend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1594,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - face
    - num_coords
    - coords
    - normalizedcoords
    - mm_var
    argTypes:
    - CFF_Face
    - FT_UInt*
    - FT_Fixed**
    - FT_Fixed**
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1599
    functionName: cff_get_var_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::get_var_blend
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: "void cff_get_var_blend( CFF_Face     face,\n                     FT_UInt
      \    *num_coords,\n                     FT_Fixed*   *coords,\n                     FT_Fixed*
      \  *normalizedcoords,\n                     FT_MM_Var*  *mm_var )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::done_blend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1609,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - CFF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1603
    functionDepth: 1
    functionLinenumber: 1603
    functionLinenumberEnd: 1610
    functionName: cff_done_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - FT_Service_MultiMasters::done_blend
    linkageType: ''
    returnType: void
    signature: void cff_done_blend( CFF_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - encoding
    argTypes:
    - CFF_Encoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1621
    functionName: cff_encoding_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_encoding_done( CFF_Encoding  encoding )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1642,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1670,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1671,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1672,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1688,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1708,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1725,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1729,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1761,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1762,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1773,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1779,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1783,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1813,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1818,1
    - Dst: cff_charset_compute_cids
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1826,1
    - Dst: cff_charset_cid_to_gindex
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1838,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1854,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1855,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 118
    argCount: 6
    argNames:
    - encoding
    - charset
    - num_glyphs
    - stream
    - base_offset
    - offset
    argTypes:
    - CFF_Encoding
    - CFF_Charset
    - FT_UInt
    - FT_Stream
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1624
    functionDepth: 2
    functionLinenumber: 1624
    functionLinenumberEnd: 1864
    functionName: cff_encoding_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_READ_BYTE
    - cff_charset_cid_to_gindex
    - cff_charset_compute_cids
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_READ_USHORT
    - FT_ARRAY_COPY
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_encoding_load( CFF_Encoding  encoding,\n                     CFF_Charset
      \  charset,\n                     FT_UInt       num_glyphs,\n                     FT_Stream
      \    stream,\n                     FT_ULong      base_offset,\n                     FT_ULong
      \     offset )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1894,1
    - Dst: cff_parser_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1911,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1920,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1921,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1924,1
    - Dst: cff_parser_run
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1925,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1928,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1947,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1955,1
    - Dst: cff_blend_clear
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1963,1
    - Dst: cff_parser_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1964,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - font
    - subfont
    - lenNDV
    - NDV
    argTypes:
    - CFF_Font
    - CFF_SubFont
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 1969
    functionName: cff_load_private_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_parser_init
    - FT_FRAME_ENTER
    - FT_FRAME_EXIT
    - cff_parser_done
    - FT_STREAM_SEEK
    - cff_blend_clear
    - FT_ZERO
    - FT_TRACE2
    - cff_parser_run
    - FT_TRACE4
    linkageType: ''
    returnType: void
    signature: "void cff_load_private_dict( CFF_Font     font,\n                         CFF_SubFont
      \ subfont,\n                         FT_UInt      lenNDV,\n                         FT_Fixed*
      \   NDV )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:1997,1
    - Dst: cff_parser_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2005,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2016,1
    - Dst: cff_index_access_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2043,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2050,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2051,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2059,1
    - Dst: cff_parser_run
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2060,1
    - Dst: cff_index_forget_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2065,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2067,1
    - Dst: cff_load_private_dict
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2081,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2102,1
    - Dst: PSAux_Service::cff_random
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2111,1
    - Dst: PSAux_Service::cff_random
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2124,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2138,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2142,1
    - Dst: cff_index_get_pointers
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2146,1
    - Dst: cff_parser_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2153,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 8
    argNames:
    - subfont
    - idx
    - font_index
    - stream
    - base_offset
    - code
    - font
    - face
    argTypes:
    - CFF_SubFont
    - CFF_Index
    - FT_UInt
    - FT_Stream
    - FT_ULong
    - FT_UInt
    - CFF_Font
    - CFF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 1978
    functionDepth: 3
    functionLinenumber: 1978
    functionLinenumberEnd: 2156
    functionName: cff_subfont_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_parser_init
    - cff_index_forget_element
    - cff_parser_done
    - FT_STREAM_SEEK
    - FT_BOOL
    - FT_FRAME_EXTRACT
    - cff_index_get_pointers
    - FT_ZERO
    - cff_index_access_element
    - FT_FACE_DRIVER
    - cff_load_private_dict
    - cff_parser_run
    - FT_FRAME_RELEASE
    - FT_TRACE4
    - PSAux_Service::cff_random
    - cff_index_init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_subfont_load( CFF_SubFont  subfont,\n                    CFF_Index
      \   idx,\n                    FT_UInt      font_index,\n                    FT_Stream
      \   stream,\n                    FT_ULong     base_offset,\n                    FT_UInt
      \     code,\n                    CFF_Font     font,\n                    CFF_Face
      \    face )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2165,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2166,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2168,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2169,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - memory
    - subfont
    argTypes:
    - FT_Memory
    - CFF_SubFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2159
    functionDepth: 2
    functionLinenumber: 2159
    functionLinenumberEnd: 2172
    functionName: cff_subfont_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_index_done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cff_subfont_done( FT_Memory    memory,\n                    CFF_SubFont
      \ subfont )"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2189,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2190,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2191,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2192,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2204,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2205,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2208,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2217,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2225,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2226,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2230,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2238,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2245,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2246,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2252,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2259,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2260,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2273,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2275,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2279,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2283,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2283,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2290,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2290,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2295,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2296,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2308,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2309,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2313,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2313,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2315,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2315,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2317,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2317,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2319,1
    - Dst: cff_index_get_pointers
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2319,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2328,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2330,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2344,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2347,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2359,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2363,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2373,1
    - Dst: cff_subfont_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2374,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2385,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2388,1
    - Dst: cff_vstore_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2403,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2412,1
    - Dst: cff_index_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2415,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2423,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2429,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2440,1
    - Dst: cff_subfont_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2441,1
    - Dst: CFF_Load_FD_Select
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2457,1
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2463,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2474,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2475,1
    - Dst: cff_index_get_pointers
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2481,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2490,1
    - Dst: cff_charset_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2493,1
    - Dst: cff_encoding_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2501,1
    - Dst: cff_index_get_name
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2514,1
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2517,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 179
    argCount: 7
    argNames:
    - library
    - stream
    - face_index
    - font
    - face
    - pure_cff
    - cff2
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Int
    - CFF_Font
    - CFF_Face
    - FT_Bool
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2176
    functionDepth: 4
    functionLinenumber: 2176
    functionLinenumberEnd: 2520
    functionName: cff_font_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - cff_index_done
    - FT_ZERO
    - cff_encoding_load
    - FT_NEW_ARRAY
    - cff_subfont_load
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - cff_index_get_pointers
    - FT_THROW
    - cff_vstore_load
    - FT_FRAME_BYTE
    - FT_TRACE0
    - FT_READ_USHORT
    - cff_index_init
    - FT_READ_BYTE
    - cff_charset_load
    - FT_BOOL
    - cff_index_get_name
    - FT_TRACE2
    - FT_SET_ERROR
    - FT_STREAM_READ_FIELDS
    - FT_STREAM_POS
    - FT_FRAME_START
    - FT_TRACE4
    - CFF_Load_FD_Select
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cff_font_load( FT_Library library,\n                 FT_Stream
      \ stream,\n                 FT_Int     face_index,\n                 CFF_Font
      \  font,\n                 CFF_Face   face,\n                 FT_Bool    pure_cff,\n
      \                FT_Bool    cff2 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2530,1
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2531,1
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2532,1
    - Dst: cff_index_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2533,1
    - Dst: cff_subfont_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2540,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2543,1
    - Dst: cff_encoding_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2546,1
    - Dst: cff_charset_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2547,1
    - Dst: cff_vstore_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2548,1
    - Dst: cff_subfont_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2550,1
    - Dst: CFF_Done_FD_Select
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2552,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2554,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2556,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2557,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2558,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2559,1
    - Dst: CFF_Font::cf2_instance::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2563,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2564,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffload.c:2567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - font
    argTypes:
    - CFF_Font
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2568
      start: 2524
    functionDepth: 3
    functionLinenumber: 2524
    functionLinenumberEnd: 2568
    functionName: cff_font_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffload.c
    functionUses: 0
    functionsReached:
    - CFF_Done_FD_Select
    - CFF_Font::cf2_instance::finalizer
    - cff_encoding_done
    - cff_subfont_done
    - cff_charset_done
    - cff_vstore_done
    - FT_FREE
    - cff_index_done
    linkageType: ''
    returnType: void
    signature: void cff_font_done( CFF_Font  font )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:39,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - CFF_CMapStd
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 49
    functionName: cff_cmap_encoding_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_encoding_init( CFF_CMapStd  cmap,\n                          FT_Pointer
      \  pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - CFF_CMapStd
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: cff_cmap_encoding_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_cmap_encoding_done( CFF_CMapStd  cmap )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - CFF_CMapStd
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 70
    functionName: cff_cmap_encoding_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_encoding_char_index( CFF_CMapStd  cmap,\n                                FT_UInt32
      \   char_code )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - CFF_CMapStd
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 104
    functionName: cff_cmap_encoding_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_encoding_char_next( CFF_CMapStd   cmap,\n                               FT_UInt32
      \   *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - idx
    argTypes:
    - TT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: cff_sid_to_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - cff_index_get_sid_string
    linkageType: ''
    returnType: void
    signature: "void cff_sid_to_glyph_name( TT_Face  face,\n                         FT_UInt
      \ idx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:150,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:151,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:156,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:162,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:165,1
    - Dst: FT_Service_PsCMaps::unicodes_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - unicodes
    - pointer
    argTypes:
    - PS_Unicodes
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: cff_cmap_unicode_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - FT_Service_PsCMaps::unicodes_init
    - FT_CMAP_FACE
    - FT_FACE_MEMORY
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_unicode_init( PS_Unicodes  unicodes,\n                         FT_Pointer
      \  pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:179,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:180,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unicodes
    argTypes:
    - PS_Unicodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 185
    functionName: cff_cmap_unicode_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void cff_cmap_unicode_done( PS_Unicodes  unicodes )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:192,1
    - Dst: FT_Service_PsCMaps::unicodes_char_index
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - char_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 198
    functionName: cff_cmap_unicode_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_index
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_unicode_char_index( PS_Unicodes  unicodes,\n                               FT_UInt32
      \   char_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:205,1
    - Dst: FT_Service_PsCMaps::unicodes_char_next
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - pchar_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: cff_cmap_unicode_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_next
    linkageType: ''
    returnType: void
    signature: "void cff_cmap_unicode_char_next( PS_Unicodes  unicodes,\n                              FT_UInt32
      \  *pchar_code )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:54,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:66,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:68,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - parser
    - code
    - object
    - library
    - stackSize
    - num_designs
    - num_axes
    argTypes:
    - CFF_Parser
    - FT_UInt
    - void*
    - FT_Library
    - FT_UInt
    - FT_UShort
    - FT_UShort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 77
    functionName: cff_parser_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 2
    functionsReached:
    - FT_NEW_ARRAY
    - FT_ZERO
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void cff_parser_init( CFF_Parser  parser,\n                   FT_UInt
      \    code,\n                   void*       object,\n                   FT_Library
      \ library,\n                   FT_UInt     stackSize,\n                   FT_UShort
      \  num_designs,\n                   FT_UShort   num_axes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:89,1
    - Dst: FT_Memory::free
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:91,1
    - Dst: FT_Memory::free
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - memory
    - data
    - user
    argTypes:
    - FT_Memory
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: finalize_t2_strings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_Memory::free
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void finalize_t2_strings( FT_Memory  memory,\n                       void*
      \     data,\n                       void*      user )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:103,1
    - Dst: FT_List_Finalize
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: cff_parser_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 2
    functionsReached:
    - FT_List_Finalize
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cff_parser_done( CFF_Parser  parser )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:126,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:128,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - parser
    - first
    - last
    argTypes:
    - CFF_Parser
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 156
    functionName: cff_parser_within_limits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_parser_within_limits( CFF_Parser  parser,\n                            FT_Byte*
      \   first,\n                            FT_Byte*    last )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:171,1
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:178,1
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:192,1
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:199,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:210,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - parser
    - start
    argTypes:
    - CFF_Parser
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 212
    functionName: cff_parse_integer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parser_within_limits
    - FT_TRACE4
    linkageType: ''
    returnType: FT_Long
    signature: "FT_Long cff_parse_integer( CFF_Parser  parser,\n                     FT_Byte*
      \   start )"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:286,1
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:323,1
    - Dst: cff_parser_within_limits
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:362,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:407,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:418,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:445,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:450,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:485,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:506,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:511,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:516,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 171
    argCount: 4
    argNames:
    - parser
    - start
    - power_ten
    - scaling
    argTypes:
    - CFF_Parser
    - FT_Byte*
    - FT_Long
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 518
    functionName: cff_parse_real
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parser_within_limits
    - FT_DivFix
    - FT_TRACE4
    - FT_MIN
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed cff_parse_real( CFF_Parser  parser,\n                  FT_Byte*
      \   start,\n                  FT_Long     power_ten,\n                  FT_Long*
      \   scaling )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_parse_real
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:529,1
    - Dst: cff_parse_integer
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - parser
    - d
    argTypes:
    - CFF_Parser
    - FT_Byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 556
    functionName: cff_parse_num
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 1
    functionsReached:
    - cff_parse_real
    - cff_parse_integer
    linkageType: ''
    returnType: void
    signature: "void cff_parse_num( CFF_Parser  parser,\n                 FT_Byte**
      \  d )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cff_parse_real
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:566,1
    - Dst: cff_parse_integer
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:569,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:574,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:597,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 3
    argNames:
    - parser
    - d
    - scaling
    argTypes:
    - CFF_Parser
    - FT_Byte**
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: do_fixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parse_real
    - cff_parse_integer
    - FT_ABS
    - FT_TRACE4
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed do_fixed( CFF_Parser  parser,\n            FT_Byte**   d,\n
      \           FT_Long     scaling )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - parser
    - d
    argTypes:
    - CFF_Parser
    - FT_Byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: cff_parse_fixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - do_fixed
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed cff_parse_fixed( CFF_Parser  parser,\n                   FT_Byte**
      \  d )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - parser
    - d
    - scaling
    argTypes:
    - CFF_Parser
    - FT_Byte**
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 614
    functionDepth: 3
    functionLinenumber: 614
    functionLinenumberEnd: 620
    functionName: cff_parse_fixed_scaled
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - do_fixed
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed cff_parse_fixed_scaled( CFF_Parser  parser,\n                          FT_Byte**
      \  d,\n                          FT_Long     scaling )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:631,1
    - Dst: cff_parse_real
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:634,1
    - Dst: cff_parse_integer
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:641,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:652,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - parser
    - d
    - scaling
    argTypes:
    - CFF_Parser
    - FT_Byte**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 666
    functionName: cff_parse_fixed_dynamic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parse_real
    - cff_parse_integer
    - FT_ASSERT
    - FT_DivFix
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed cff_parse_fixed_dynamic( CFF_Parser  parser,\n                           FT_Byte**
      \  d,\n                           FT_Long*    scaling )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cff_parse_fixed_dynamic
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:701,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:716,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:760,1
    - Dst: FT_Matrix_Check
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:768,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:770,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:778,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 792
    functionName: cff_parse_font_matrix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_THROW
    - cff_parse_fixed_dynamic
    - FT_Matrix_Check
    - FT_TRACE4
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_font_matrix( CFF_Parser  parser )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:804,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:808,1
    - Dst: cff_parse_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:808,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:809,1
    - Dst: cff_parse_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:809,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:810,1
    - Dst: cff_parse_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:810,1
    - Dst: FT_RoundFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:811,1
    - Dst: cff_parse_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:811,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 795
    functionDepth: 4
    functionLinenumber: 795
    functionLinenumberEnd: 822
    functionName: cff_parse_font_bbox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_RoundFix
    - FT_ERR
    - FT_TRACE4
    - cff_parse_fixed
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_font_bbox( CFF_Parser  parser )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:833,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:840,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:843,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:844,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:849,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:852,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:853,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:858,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 866
    functionName: cff_parse_private_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parse_num
    - FT_THROW
    - FT_TRACE4
    - FT_ERR
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_private_dict( CFF_Parser  parser )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE_COMP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:881,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:882,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:885,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:889,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:894,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:899,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:901,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 872
    functionDepth: 3
    functionLinenumber: 872
    functionLinenumberEnd: 916
    functionName: cff_parse_multiple_master
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - cff_parse_num
    - FT_TRACE_COMP
    - FT_THROW
    - FT_ERR
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_multiple_master( CFF_Parser  parser )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:927,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:931,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:932,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:934,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:935,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:937,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:941,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 919
    functionDepth: 3
    functionLinenumber: 919
    functionLinenumberEnd: 948
    functionName: cff_parse_cid_ros
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    - FT_ERR
    - FT_TRACE1
    - cff_parse_num
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_cid_ros( CFF_Parser  parser )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:963,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:971,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:972,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:976,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:978,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 951
    functionDepth: 3
    functionLinenumber: 951
    functionLinenumberEnd: 984
    functionName: cff_parse_vsindex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE4
    - cff_parse_num
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_vsindex( CFF_Parser  parser )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1000,1
    - Dst: cff_blend_check_vector
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1007,1
    - Dst: cff_blend_build_vector
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1012,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1020,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1023,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1024,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1028,1
    - Dst: cff_blend_doBlend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1032,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 987
    functionDepth: 3
    functionLinenumber: 987
    functionLinenumberEnd: 1038
    functionName: cff_parse_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - cff_parse_num
    - cff_blend_doBlend
    - FT_THROW
    - cff_blend_check_vector
    - cff_blend_build_vector
    - FT_TRACE4
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_blend( CFF_Parser  parser )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1053,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1057,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1063,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CFF_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1042
    functionDepth: 3
    functionLinenumber: 1042
    functionLinenumberEnd: 1067
    functionName: cff_parse_maxstack
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE4
    - cff_parse_num
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cff_parse_maxstack( CFF_Parser  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionName: CFF_FIELD_NUM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_NUM( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionName: CFF_FIELD_FIXED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_FIXED( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1076
    functionName: CFF_FIELD_FIXED_1000
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_FIXED_1000( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1076
    functionDepth: 0
    functionLinenumber: 1076
    functionLinenumberEnd: 1078
    functionName: CFF_FIELD_STRING
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_STRING( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: CFF_FIELD_BOOL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_BOOL( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1097
    functionName: CFF_FIELD_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_CALLBACK( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1098
    functionDepth: 0
    functionLinenumber: 1098
    functionLinenumberEnd: 1106
    functionName: CFF_FIELD_BLEND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_BLEND( code, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1115
    functionName: CFF_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD( code, name, id, kind )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - max
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1126
    functionName: CFF_FIELD_DELTA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_DELTA( code, name, max, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1149
    functionName: CFF_FIELD_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_CALLBACK( code, name, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1159
    functionName: CFF_FIELD_BLEND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_BLEND( code, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - id
    - ','
    - kind
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1169
    functionName: CFF_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD( code, name, id, kind )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - name
    - ','
    - max
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1181
    functionName: CFF_FIELD_DELTA
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFF_FIELD_DELTA( code, name, max, id )
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1289,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1290,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1296,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1299,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1300,1
    - Dst: PSAux_Service::cff_decoder_funcs::parse_charstrings_old
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1304,1
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1313,1
    - Dst: FT_List_Add
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1318,1
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1320,1
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1332,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1354,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1456,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1469,1
    - Dst: cff_parse_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1473,1
    - Dst: cff_parse_fixed_scaled
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1477,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1502,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1506,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1510,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1514,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1518,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1538,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1546,1
    - Dst: cff_parse_num
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1546,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1565,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1571,1
    - Dst: reader
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c:1576,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 239
    argCount: 3
    argNames:
    - parser
    - start
    - limit
    argTypes:
    - CFF_Parser
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1195
    functionDepth: 4
    functionLinenumber: 1195
    functionLinenumberEnd: 1595
    functionName: cff_parser_run
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffparse.c
    functionUses: 2
    functionsReached:
    - FT_List_Add
    - FT_Get_Module_Interface
    - cff_parse_num
    - cff_parse_fixed
    - FT_THROW
    - cff_parse_fixed_scaled
    - PSAux_Service::cff_decoder_funcs::parse_charstrings_old
    - FT_ZERO
    - NEG_LONG
    - FT_TRACE4
    - ADD_LONG
    - reader
    - FT_Memory::alloc
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cff_parser_run( CFF_Parser  parser,\n                  FT_Byte*
      \   start,\n                  FT_Byte*    limit )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SFNT_Service::get_kerning
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ttface
    - left_glyph
    - right_glyph
    - kerning
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: cff_get_kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::get_kerning
    linkageType: ''
    returnType: void
    signature: "void cff_get_kerning( FT_Face     ttface,          /* TT_Face */\n
      \                  FT_UInt     left_glyph,\n                   FT_UInt     right_glyph,\n
      \                  FT_Vector*  kerning )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:173,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:175,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:189,1
    - Dst: cff_slot_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - cffslot
    - cffsize
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 199
    functionName: cff_glyph_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - cff_slot_load
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void cff_glyph_load( FT_GlyphSlot  cffslot,      /* CFF_GlyphSlot
      */\n                  FT_Size       cffsize,      /* CFF_Size      */\n                  FT_UInt
      \      glyph_index,\n                  FT_Int32      load_flags )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:214,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:228,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:228,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:230,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:245,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:251,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:262,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:262,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:264,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:276,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:282,1
    - Dst: cff_glyph_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:298,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 5
    argNames:
    - face
    - start
    - count
    - flags
    - advances
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Int32
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 308
    functionName: cff_get_advances
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_IS_NAMED_INSTANCE
    - cff_glyph_load
    - FT_IS_VARIATION
    - FT_THROW
    - FT_TRACE5
    - get_metrics
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void cff_get_advances( FT_Face    face,\n                    FT_UInt
      \   start,\n                    FT_UInt    count,\n                    FT_Int32
      \  flags,\n                    FT_Fixed*  advances )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:332,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:333,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:335,1
    - Dst: FT_Service_GlyphDict::get_name
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:342,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:342,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:348,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:352,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:359,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:363,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:371,1
    - Dst: FT_STRCPYN
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - face
    - glyph_index
    - buffer
    - buffer_max
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Pointer
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 380
    functionName: cff_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - cff_index_get_sid_string
    - ft_module_get_service
    - FT_FACE
    - FT_Service_GlyphDict::get_name
    - FT_STRCPYN
    - FT_THROW
    - FT_Get_Module
    - FT_FACE_LIBRARY
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_glyph_name( CFF_Face    face,\n                      FT_UInt
      \    glyph_index,\n                      FT_Pointer  buffer,\n                      FT_UInt
      \    buffer_max )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:402,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:403,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:405,1
    - Dst: FT_Service_GlyphDict::name_index
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:412,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:412,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:415,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:423,1
    - Dst: cff_index_get_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:432,1
    - Dst: FT_Service_PsCMaps::adobe_std_strings
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:434,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:439,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - face
    - glyph_name
    argTypes:
    - CFF_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 444
    functionName: cff_get_name_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_GLOBAL_SERVICE
    - ft_module_get_service
    - FT_FACE
    - ft_strcmp
    - FT_Service_GlyphDict::name_index
    - cff_index_get_string
    - FT_Service_PsCMaps::adobe_std_strings
    - FT_Get_Module
    - FT_FACE_LIBRARY
    - FT_ERROR
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt cff_get_name_index( CFF_Face          face,\n                      const
      FT_String*  glyph_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 464
    functionName: cff_ps_has_glyph_names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int
    signature: FT_Int cff_ps_has_glyph_names( FT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:482,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:485,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:487,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:489,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:491,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:493,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - face
    - afont_info
    argTypes:
    - CFF_Face
    - PS_FontInfoRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 508
    functionName: cff_ps_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - cff_index_get_sid_string
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_ps_get_font_info( CFF_Face         face,\n                        PS_FontInfoRec*
      \ afont_info )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:527,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:532,1
    - Dst: ft_strstr
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:542,1
    - Dst: ft_strstr
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:544,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - face
    - afont_extra
    argTypes:
    - CFF_Face
    - PS_FontExtraRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 586
    functionName: cff_ps_get_font_extra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - ft_strstr
    - cff_index_get_sid_string
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_ps_get_font_extra( CFF_Face          face,\n                         PS_FontExtraRec*
      \ afont_extra )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:617,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:617,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:619,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:620,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:622,1
    - Dst: FT_Service_PsFontName::get_ps_font_name
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:629,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:629,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - face
    argTypes:
    - CFF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 633
    functionName: cff_get_ps_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - ft_module_get_service
    - FT_FACE
    - FT_Service_PsFontName::get_ps_font_name
    - FT_Get_Module
    - FT_FACE_LIBRARY
    - FT_IS_SFNT
    linkageType: ''
    returnType: char
    signature: "char *\n  cff_get_ps_name( CFF_Face  face )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:657,1
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:660,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:661,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:667,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:669,1
    - Dst: FT_Service_TTCMaps::get_cmap_info
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:675,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:678,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - charmap
    - cmap_info
    argTypes:
    - FT_CharMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 681
    functionName: cff_get_cmap_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - ft_module_get_service
    - FT_Service_TTCMaps::get_cmap_info
    - FT_CMAP_FACE
    - FT_THROW
    - FT_CMAP
    - FT_Get_Module
    - FT_FACE_LIBRARY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_cmap_info( FT_CharMap    charmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:712,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:719,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:727,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:741,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - face
    - registry
    - ordering
    - supplement
    argTypes:
    - CFF_Face
    - char**
    - char**
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 749
    functionName: cff_get_ros
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE1
    - cff_index_get_sid_string
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_ros( CFF_Face      face,\n               const char*
      \ *registry,\n               const char*  *ordering,\n               FT_Int
      \      *supplement )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - face
    - is_cid
    argTypes:
    - CFF_Face
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 772
    functionName: cff_get_is_cid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_is_cid( CFF_Face  face,\n                  FT_Bool
      \ *is_cid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:794,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:800,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - face
    - glyph_index
    - cid
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 812
    functionName: cff_get_cid_from_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_cid_from_glyph_index( CFF_Face  face,\n                                FT_UInt
      \  glyph_index,\n                                FT_UInt  *cid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:854,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 855
    functionName: cff_set_mm_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - FT_Service_MultiMasters::set_mm_blend
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_set_mm_blend( CFF_Face   face,\n                    FT_UInt
      \   num_coords,\n                    FT_Fixed*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::get_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:866,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 867
    functionName: cff_get_mm_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::get_mm_blend
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_mm_blend( CFF_Face   face,\n                    FT_UInt
      \   num_coords,\n                    FT_Fixed*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::set_mm_weightvector
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:878,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 879
    functionName: cff_set_mm_weightvector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - FT_Service_MultiMasters::set_mm_weightvector
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_set_mm_weightvector( CFF_Face   face,\n                           FT_UInt
      \   len,\n                           FT_Fixed*  weightvector )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::get_mm_weightvector
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:890,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - CFF_Face
    - FT_UInt*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 891
    functionName: cff_get_mm_weightvector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::get_mm_weightvector
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_mm_weightvector( CFF_Face   face,\n                           FT_UInt*
      \  len,\n                           FT_Fixed*  weightvector )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::get_mm_var
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:901,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - master
    argTypes:
    - CFF_Face
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 902
    functionName: cff_get_mm_var
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::get_mm_var
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_mm_var( CFF_Face     face,\n                  FT_MM_Var*
      \ *master )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::set_var_design
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:913,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 914
    functionName: cff_set_var_design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::set_var_design
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_set_var_design( CFF_Face   face,\n                      FT_UInt
      \   num_coords,\n                      FT_Fixed*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::get_var_design
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:925,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 926
    functionName: cff_get_var_design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::get_var_design
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_get_var_design( CFF_Face   face,\n                      FT_UInt
      \   num_coords,\n                      FT_Fixed*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MultiMasters::set_instance
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:936,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - instance_index
    argTypes:
    - CFF_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 937
    functionName: cff_set_instance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::set_instance
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_set_instance( CFF_Face  face,\n                    FT_UInt
      \  instance_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MetricsVariations::hadvance_adjust
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:972,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:972,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - gindex
    - avalue
    argTypes:
    - CFF_Face
    - FT_UInt
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 973
    functionName: cff_hadvance_adjust
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MetricsVariations::hadvance_adjust
    - FT_FACE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cff_hadvance_adjust( CFF_Face  face,\n                       FT_UInt
      \  gindex,\n                       FT_Int   *avalue )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:982,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - CFF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 976
    functionDepth: 1
    functionLinenumber: 976
    functionLinenumberEnd: 983
    functionName: cff_metrics_adjust
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: void cff_metrics_adjust( CFF_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:1098,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:1110,1
    - Dst: FT_Module::clazz::get_interface
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c:1112,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - driver
    - module_interface
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1113
    functionName: cff_get_interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffdrivr.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_Module::clazz::get_interface
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: "void cff_get_interface( FT_Module    driver,       /* CFF_Driver */\n
      \                    const char*  module_interface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::root::internal::incremental_interface::funcs::get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:57,1
    - Dst: cff_index_access_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - face
    - glyph_index
    - pointer
    - length
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 77
    functionName: cff_get_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c
    functionUses: 0
    functionsReached:
    - TT_Face::root::internal::incremental_interface::funcs::get_glyph_data
    - cff_index_access_element
    linkageType: ''
    returnType: void
    signature: "void cff_get_glyph_data( TT_Face    face,\n                      FT_UInt
      \   glyph_index,\n                      FT_Byte**  pointer,\n                      FT_ULong*
      \ length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:86,1
    - Dst: TT_Face::root::internal::incremental_interface::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:100,1
    - Dst: cff_index_forget_element
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - face
    - pointer
    - length
    argTypes:
    - TT_Face
    - FT_Byte**
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 112
    functionName: cff_free_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c
    functionUses: 0
    functionsReached:
    - TT_Face::root::internal::incremental_interface::funcs::free_glyph_data
    - cff_index_forget_element
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cff_free_glyph_data( TT_Face    face,\n                       FT_Byte**
      \ pointer,\n                       FT_ULong   length )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CFF_Decoder_Funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:152,1
    - Dst: cff_get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:167,1
    - Dst: CFF_Decoder_Funcs::prepare
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:171,1
    - Dst: CFF_Decoder_Funcs::parse_charstrings_old
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:173,1
    - Dst: cff_free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - face
    - max_advance
    argTypes:
    - TT_Face
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 137
    functionDepth: 4
    functionLinenumber: 137
    functionLinenumberEnd: 188
    functionName: cff_compute_max_advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c
    functionUses: 0
    functionsReached:
    - cff_free_glyph_data
    - CFF_Decoder_Funcs::prepare
    - cff_get_glyph_data
    - CFF_Decoder_Funcs::parse_charstrings_old
    - CFF_Decoder_Funcs::init
    linkageType: ''
    returnType: void
    signature: "void cff_compute_max_advance( TT_Face  face,\n                           FT_Int*
      \ max_advance )"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: cff_charset_cid_to_gindex
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:225,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:228,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:232,1
    - Dst: SFNT_Service::load_sbit_image
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:265,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:309,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:315,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:322,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:348,1
    - Dst: cff_fd_select_get
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:357,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:373,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:374,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:390,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:391,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:399,1
    - Dst: CFF_Decoder_Funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:407,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:408,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:417,1
    - Dst: cff_get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:420,1
    - Dst: CFF_Decoder_Funcs::prepare
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:425,1
    - Dst: CFF_Decoder_Funcs::parse_charstrings_old
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:432,1
    - Dst: PSAux_Service::ps_decoder_init
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:439,1
    - Dst: CFF_Decoder_Funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:441,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:447,1
    - Dst: CFF_Decoder_Funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:456,1
    - Dst: cff_free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:462,1
    - Dst: CFF_Decoder::builder::funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:496,1
    - Dst: TT_Face::root::internal::incremental_interface::funcs::get_glyph_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:515,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:558,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:575,1
    - Dst: get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:585,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:617,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:619,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:621,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:627,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:649,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:650,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:654,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:655,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:659,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c:673,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 198
    argCount: 4
    argNames:
    - glyph
    - size
    - glyph_index
    - load_flags
    argTypes:
    - CFF_GlyphSlot
    - CFF_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 680
    functionName: cff_slot_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffgload.c
    functionUses: 1
    functionsReached:
    - SFNT_Service::load_sbit_image
    - FT_Outline_Transform
    - FT_MulFix
    - CFF_Decoder_Funcs::init
    - cff_free_glyph_data
    - FT_Outline_Translate
    - PSAux_Service::ps_decoder_init
    - CFF_Decoder_Funcs::prepare
    - FT_THROW
    - FT_FACE_DRIVER
    - FT_ERR_EQ
    - CFF_Decoder_Funcs::parse_charstrings_old
    - CFF_Decoder_Funcs::parse_charstrings
    - FT_LOAD_TARGET_MODE
    - cff_charset_cid_to_gindex
    - ft_synthesize_vertical_metrics
    - FT_Outline_Get_CBox
    - FT_BOOL
    - FT_MulDiv
    - cff_fd_select_get
    - cff_get_glyph_data
    - CFF_Decoder::builder::funcs::done
    - get_metrics
    - TT_Face::root::internal::incremental_interface::funcs::get_glyph_metrics
    linkageType: ''
    returnType: void
    signature: "void cff_slot_load( CFF_GlyphSlot  glyph,\n                 CFF_Size
      \      size,\n                 FT_UInt        glyph_index,\n                 FT_Int32
      \      load_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:73,1
    - Dst: PSHinter_Service::get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - CFF_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: cff_size_get_globals_funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_globals_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: PSH_Globals_Funcs
    signature: PSH_Globals_Funcs cff_size_get_globals_funcs( CFF_Size  size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:96,1
    - Dst: PSH_Globals_Funcs::destroy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:102,1
    - Dst: PSH_Globals_Funcs::destroy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:105,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - cffsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 110
    functionName: cff_size_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::destroy
    - FT_FREE
    - cff_size_get_globals_funcs
    linkageType: ''
    returnType: void
    signature: void cff_size_done( FT_Size  cffsize )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - subfont
    - priv
    argTypes:
    - CFF_SubFont
    - PS_Private
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 160
    functionName: cff_make_private_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void cff_make_private_dict( CFF_SubFont  subfont,\n                         PS_Private
      \  priv )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cff_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:168,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:183,1
    - Dst: cff_make_private_dict
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:186,1
    - Dst: PSH_Globals_Funcs::create
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:187,1
    - Dst: cff_make_private_dict
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:197,1
    - Dst: PSH_Globals_Funcs::create
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - cffsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 211
    functionName: cff_size_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW
    - cff_size_get_globals_funcs
    - PSH_Globals_Funcs::create
    - cff_make_private_dict
    linkageType: ''
    returnType: void
    signature: void cff_size_init( FT_Size  cffsize )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:226,1
    - Dst: cff_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:228,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:240,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:253,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:254,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 268
    functionName: cff_size_select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - cff_size_get_globals_funcs
    - FT_Select_Metrics
    - PSH_Globals_Funcs::set_scale
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void cff_size_select( FT_Size   size,\n                   FT_ULong
      \ strike_index )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:283,1
    - Dst: SFNT_Service::set_sbit_strike
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:290,1
    - Dst: cff_size_select
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:293,1
    - Dst: FT_Request_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:298,1
    - Dst: cff_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:300,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:312,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:325,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:326,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 340
    functionName: cff_size_request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - FT_HAS_FIXED_SIZES
    - cff_size_select
    - FT_Request_Metrics
    - PSH_Globals_Funcs::set_scale
    - FT_MulDiv
    - SFNT_Service::set_sbit_strike
    - cff_size_get_globals_funcs
    linkageType: ''
    returnType: void
    signature: "void cff_size_request( FT_Size          size,\n                    FT_Size_Request
      \ req )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: cff_slot_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_slot_done( FT_GlyphSlot  slot )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:369,1
    - Dst: PSHinter_Service::get_t2_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 382
    functionName: cff_slot_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_t2_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: void cff_slot_init( FT_GlyphSlot  slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:399,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - memory
    - source
    argTypes:
    - FT_Memory
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: cff_strcpy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    - FT_STRDUP
    linkageType: ''
    returnType: FT_String
    signature: "FT_String *\n  cff_strcpy( FT_Memory         memory,\n              const
      FT_String*  source )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - name
    argTypes:
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 440
    functionName: remove_subset_prefix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - ft_strlen
    linkageType: ''
    returnType: void
    signature: void remove_subset_prefix( FT_String*  name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:452,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:453,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 2
    argNames:
    - family_name
    - style_name
    argTypes:
    - FT_String*
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 485
    functionName: remove_style
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - ft_strlen
    linkageType: ''
    returnType: void
    signature: "void remove_style( FT_String*        family_name,\n                const
      FT_String*  style_name )"
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:508,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:512,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:513,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:517,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:519,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:522,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:526,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:527,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:532,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:534,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:537,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:541,1
    - Dst: SFNT_Service::init_face
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:542,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:547,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:548,1
    - Dst: CFF_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:560,1
    - Dst: SFNT_Service::load_face
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:566,1
    - Dst: SFNT_Service::load_cmap
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:574,1
    - Dst: CFF_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:581,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:588,1
    - Dst: CFF_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:589,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:597,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:611,1
    - Dst: cff_font_load
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:615,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:651,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:655,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:665,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:670,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:672,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:687,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:689,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:690,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:702,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:704,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:705,1
    - Dst: FT_HAS_MULTIPLE_MASTERS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:718,1
    - Dst: FT_Service_MultiMasters::set_instance
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:722,1
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:727,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:751,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:752,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:756,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:758,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:759,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:760,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:761,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:762,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:763,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:792,1
    - Dst: FT_Matrix_Multiply_Scaled
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:797,1
    - Dst: FT_Vector_Transform_Scaled
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:800,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:805,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:822,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:823,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:828,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:830,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:831,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:832,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:833,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:834,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:835,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:884,1
    - Dst: cff_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:886,1
    - Dst: cff_index_get_name
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:891,1
    - Dst: remove_subset_prefix
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:895,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:900,1
    - Dst: cff_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:940,1
    - Dst: remove_style
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:943,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:952,1
    - Dst: cff_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:958,1
    - Dst: cff_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:965,1
    - Dst: cff_index_get_sid_string
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1001,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1006,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1007,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1013,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1014,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1072,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1075,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1076,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1112,1
    CyclomaticComplexity: 105
    EdgeCount: 105
    ICount: 293
    argCount: 5
    argNames:
    - stream
    - cffface
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 489
    functionDepth: 5
    functionLinenumber: 489
    functionLinenumberEnd: 1119
    functionName: cff_face_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - remove_subset_prefix
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_CMap_New
    - FT_ERR_NEQ
    - FT_Get_Module_Interface
    - cff_strcpy
    - SFNT_Service::load_face
    - FT_Vector_Transform_Scaled
    - ft_strcmp
    - FT_STREAM_SEEK
    - ft_strncmp
    - FT_Service_MultiMasters::set_instance
    - SFNT_Service::init_face
    - FT_THROW
    - FT_ERR_EQ
    - CFF_Face::goto_table
    - FT_DivFix
    - cff_index_get_name
    - FT_TRACE2
    - FT_HAS_MULTIPLE_MASTERS
    - FT_MulDiv
    - FT_FACE_FIND_GLOBAL_SERVICE
    - cff_index_get_sid_string
    - FT_MIN
    - FT_ABS
    - cff_font_load
    - remove_style
    - SFNT_Service::load_cmap
    - FT_TRACE4
    - FT_NEW
    - FT_Matrix_Multiply_Scaled
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cff_face_init( FT_Stream      stream,\n                 FT_Face
      \       cffface,        /* CFF_Face */\n                 FT_Int         face_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SFNT_Service::done_face
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1137,1
    - Dst: cff_font_done
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1145,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1146,1
    - Dst: cff_done_blend
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - cffface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1123
    functionDepth: 4
    functionLinenumber: 1123
    functionLinenumberEnd: 1154
    functionName: cff_face_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - cff_font_done
    - FT_FREE
    - SFNT_Service::done_face
    - cff_done_blend
    linkageType: ''
    returnType: void
    signature: void cff_face_done( FT_Face  cffface )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1158
    functionDepth: 0
    functionLinenumber: 1158
    functionLinenumberEnd: 1196
    functionName: cff_driver_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cff_driver_init( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1203
    functionName: cff_driver_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cff/cffobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void cff_driver_done( FT_Module  module )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:102,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:108,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:109,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:110,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:114,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:117,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:124,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:127,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:128,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:131,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:137,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:171,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:210,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:219,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:233,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:235,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:245,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:259,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 71
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 261
    functionName: pcf_read_TOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_STREAM_READ_FIELDS
    - FT_MIN
    - FT_FACE
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_FREE
    - FT_TRACE4
    - FT_TRACE0
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_read_TOC( FT_Stream  stream,\n                PCF_Face
      \  face )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:326,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:332,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:337,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:345,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - stream
    - format
    - metric
    argTypes:
    - FT_Stream
    - FT_ULong
    - PCF_Metric
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 369
    functionName: pcf_get_metric
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_STREAM_READ_FIELDS
    - FT_TRACE5
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_metric( FT_Stream   stream,\n                  FT_ULong
      \   format,\n                  PCF_Metric  metric )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:380,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:389,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:393,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - stream
    - tables
    - ntables
    - type
    - aformat
    - asize
    argTypes:
    - FT_Stream
    - PCF_Table
    - FT_ULong
    - FT_ULong
    - FT_ULong*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 408
    functionName: pcf_seek_to_table_type
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - FT_STREAM_SKIP
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_seek_to_table_type( FT_Stream  stream,\n                          PCF_Table
      \ tables,\n                          FT_ULong   ntables, /* same as PCF_Toc->count
      */\n                          FT_ULong   type,\n                          FT_ULong
      \ *aformat,\n                          FT_ULong  *asize )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - tables
    - ntables
    - type
    argTypes:
    - PCF_Table
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 424
    functionName: pcf_has_table_type
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool pcf_has_table_type( PCF_Table  tables,\n                      FT_ULong
      \  ntables, /* same as PCF_Toc->count */\n                      FT_ULong   type
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:468,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - face
    - prop
    argTypes:
    - PCF_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 476
    functionName: pcf_find_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void pcf_find_property( PCF_Face          face,\n                     const
      FT_String*  prop )"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:488,1
    - Dst: pcf_seek_to_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:493,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:502,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:505,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:508,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:510,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:513,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:514,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:516,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:520,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:525,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:535,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:544,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:549,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:551,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:556,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:564,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:566,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:578,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:580,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:585,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:586,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:588,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:592,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:597,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:605,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:611,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:614,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:618,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:623,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:632,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:636,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:639,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:651,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:655,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:658,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:664,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:671,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:672,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 117
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 675
    functionName: pcf_get_properties
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_NEW_ARRAY
    - FT_STREAM_READ_FIELDS
    - FT_STRDUP
    - FT_FACE
    - FT_STREAM_SKIP
    - FT_Stream_Read
    - FT_THROW
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_FREE
    - FT_READ_ULONG
    - FT_TRACE4
    - FT_TRACE0
    - pcf_seek_to_table_type
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_properties( FT_Stream  stream,\n                      PCF_Face
      \  face )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:683,1
    - Dst: pcf_seek_to_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:689,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:698,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:701,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:704,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:705,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:708,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:709,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:710,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:712,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:714,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:715,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:717,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:721,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:722,1
    - Dst: FT_READ_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:724,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:727,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:729,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:732,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:735,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:740,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:744,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:762,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:771,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:777,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:780,1
    - Dst: pcf_get_metric
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:781,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:800,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:806,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 810
    functionName: pcf_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_NEW_ARRAY
    - pcf_get_metric
    - FT_FACE
    - FT_THROW
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_READ_USHORT_LE
    - FT_TRACE5
    - FT_READ_ULONG
    - FT_FREE
    - FT_TRACE4
    - FT_TRACE0
    - FT_READ_USHORT
    - pcf_seek_to_table_type
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_metrics( FT_Stream  stream,\n                   PCF_Face
      \  face )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pcf_seek_to_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:823,1
    - Dst: FT_Stream_EnterFrame
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:832,1
    - Dst: FT_GET_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:836,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:837,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:838,1
    - Dst: FT_GET_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:840,1
    - Dst: FT_Stream_ExitFrame
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:842,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:844,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:849,1
    - Dst: PCF_BIT_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:852,1
    - Dst: PCF_GLYPH_PAD_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:855,1
    - Dst: PCF_GLYPH_PAD_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:856,1
    - Dst: PCF_SCAN_UNIT_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:857,1
    - Dst: PCF_SCAN_UNIT_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:858,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:860,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:861,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:863,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:868,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:877,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:882,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:888,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:889,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:891,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:893,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:900,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:912,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:913,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:915,1
    - Dst: PCF_GLYPH_PAD_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:919,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:921,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:925,1
    - Dst: PCF_GLYPH_PAD_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:927,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:928,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:930,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 813
    functionDepth: 2
    functionLinenumber: 813
    functionLinenumberEnd: 936
    functionName: pcf_get_bitmaps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_Stream_EnterFrame
    - FT_GET_ULONG
    - FT_Stream_ExitFrame
    - FT_GET_ULONG_LE
    - FT_THROW
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_TRACE5
    - PCF_SCAN_UNIT_INDEX
    - FT_READ_ULONG
    - PCF_BIT_ORDER
    - FT_UNUSED
    - FT_TRACE4
    - FT_TRACE0
    - PCF_GLYPH_PAD_INDEX
    - pcf_seek_to_table_type
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_bitmaps( FT_Stream  stream,\n                   PCF_Face
      \  face )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:982,1
    - Dst: pcf_seek_to_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:993,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1002,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1005,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1008,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1010,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1011,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1012,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1014,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1016,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1021,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1025,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1037,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1042,1
    - Dst: FT_Stream_EnterFrame
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1045,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1049,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1061,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1084,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1085,1
    - Dst: FT_PEEK_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1087,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1091,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1103,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1124,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1125,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1127,1
    - Dst: FT_Stream_ExitFrame
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1134,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1139,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 72
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 1143
    functionName: pcf_get_encodings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_NEW_ARRAY
    - FT_STREAM_READ_FIELDS
    - FT_GET_USHORT_LE
    - FT_Stream_EnterFrame
    - FT_FACE
    - FT_Stream_ExitFrame
    - FT_PEEK_USHORT_LE
    - FT_THROW
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_TRACE5
    - FT_GET_USHORT
    - FT_FREE
    - FT_TRACE4
    - FT_TRACE0
    - FT_PEEK_USHORT
    - pcf_seek_to_table_type
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_encodings( FT_Stream  stream,\n                     PCF_Face
      \  face )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pcf_seek_to_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1200,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1209,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1212,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1217,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1218,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1221,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1222,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1225,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1227,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1232,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1236,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1252,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1255,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1258,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1261,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1265,1
    - Dst: pcf_get_metric
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1266,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1272,1
    - Dst: pcf_get_metric
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1273,1
    - Dst: PCF_FORMAT_MATCH
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1279,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1281,1
    - Dst: pcf_get_metric
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1282,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1288,1
    - Dst: pcf_get_metric
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1289,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 3
    argNames:
    - stream
    - face
    - type
    argTypes:
    - FT_Stream
    - PCF_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1303
    functionName: pcf_get_accel
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_STREAM_READ_FIELDS
    - pcf_get_metric
    - FT_ABS
    - PCF_BYTE_ORDER
    - PCF_FORMAT_MATCH
    - FT_TRACE5
    - FT_TRACE4
    - FT_TRACE0
    - pcf_seek_to_table_type
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_accel( FT_Stream  stream,\n                 PCF_Face
      \  face,\n                 FT_ULong   type )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1310,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1321,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1332,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1340,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1346,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1357,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1365,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1373,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1392,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 50
    argCount: 1
    argNames:
    - pcf
    argTypes:
    - PCF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1412
    functionName: pcf_interpret_style
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - FT_FACE
    - ft_strlen
    - FT_ALLOC
    - pcf_find_property
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error pcf_interpret_style( PCF_Face  pcf )
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1420,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1422,1
    - Dst: pcf_read_TOC
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1426,1
    - Dst: pcf_get_properties
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1437,1
    - Dst: pcf_has_table_type
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1442,1
    - Dst: pcf_get_accel
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1447,1
    - Dst: pcf_get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1453,1
    - Dst: pcf_get_bitmaps
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1458,1
    - Dst: pcf_get_encodings
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1463,1
    - Dst: pcf_get_accel
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1470,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1488,1
    - Dst: pcf_interpret_style
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1488,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1491,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1497,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1515,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1519,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1520,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1521,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1529,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1535,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1537,1
    - Dst: ft_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1540,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1541,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1542,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1546,1
    - Dst: ft_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1549,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1553,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1560,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1570,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1578,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1588,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1590,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1594,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1598,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1601,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1606,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1608,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1611,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1615,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1620,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1623,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1628,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1631,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1634,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1638,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1638,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1643,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1648,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1650,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1653,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1657,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1660,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1665,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1667,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1670,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1674,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1677,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1682,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1684,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1687,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1691,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1698,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1701,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1713,1
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1714,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1719,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1721,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c:1733,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 169
    argCount: 3
    argNames:
    - stream
    - face
    - face_index
    argTypes:
    - FT_Stream
    - PCF_Face
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1416
    functionDepth: 3
    functionLinenumber: 1416
    functionLinenumberEnd: 1737
    functionName: pcf_load_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfread.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - ft_strlen
    - pcf_find_property
    - FT_ZERO
    - pcf_get_bitmaps
    - FT_NEW_ARRAY
    - ft_strcpy
    - ft_strcat
    - FT_THROW
    - pcf_get_accel
    - FT_FACE_DRIVER
    - FT_TRACE0
    - pcf_has_table_type
    - pcf_interpret_style
    - pcf_get_properties
    - FT_MulDiv
    - FT_SET_ERROR
    - pcf_read_TOC
    - FT_STRDUP
    - FT_ABS
    - pcf_get_metrics
    - pcf_get_encodings
    linkageType: ''
    returnType: void
    signature: "void pcf_load_font( FT_Stream  stream,\n                 PCF_Face
      \  face,\n                 FT_Long    face_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - nbytes
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 58
    functionName: BitOrderInvert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void BitOrderInvert( unsigned char*  buf,\n                  size_t
      \         nbytes )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - nbytes
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 78
    functionName: TwoByteSwap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TwoByteSwap( unsigned char*  buf,\n               size_t          nbytes
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - buf
    - nbytes
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: FourByteSwap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FourByteSwap( unsigned char*  buf,\n                size_t          nbytes
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: PCF_TableRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER PCF_TableRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: PCF_FORMAT_MATCH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_FORMAT_MATCH( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: PCF_BYTE_ORDER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_BYTE_ORDER( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: PCF_BIT_ORDER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_BIT_ORDER( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: PCF_GLYPH_PAD_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_GLYPH_PAD_INDEX( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: PCF_GLYPH_PAD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_GLYPH_PAD( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: PCF_SCAN_UNIT_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_SCAN_UNIT_INDEX( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: PCF_SCAN_UNIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_SCAN_UNIT( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: PCF_FORMAT_BITS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_FORMAT_BITS( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: PCF_SIZE_TO_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_SIZE_TO_INDEX( s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: PCF_INDEX_TO_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_INDEX_TO_SIZE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - bit
    - ','
    - byte
    - ','
    - glyph
    - ','
    - scan
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: PCF_FORMAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCF_FORMAT( bit, byte, glyph, scan )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:83,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcfcmap
    - init_data
    argTypes:
    - FT_CMap
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: pcf_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void pcf_cmap_init( FT_CMap     pcfcmap,   /* PCF_CMap */\n                 FT_Pointer
      \ init_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcfcmap
    argTypes:
    - FT_CMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: pcf_cmap_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pcf_cmap_done( FT_CMap  pcfcmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pcfcmap
    - charcode
    argTypes:
    - FT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: pcf_cmap_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pcf_cmap_char_index( FT_CMap    pcfcmap,  /* PCF_CMap */\n                       FT_UInt32
      \ charcode )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pcfcmap
    - acharcode
    argTypes:
    - FT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 173
    functionName: pcf_cmap_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pcf_cmap_char_next( FT_CMap    pcfcmap,   /* PCF_CMap */\n                      FT_UInt32
      \ *acharcode )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:199,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:201,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:202,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:217,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:219,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:223,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:226,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:227,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:228,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:229,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:230,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:231,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - pcfface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 239
    functionName: PCF_Face_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    - FT_Stream_Close
    linkageType: ''
    returnType: void
    signature: void PCF_Face_Done( FT_Face  pcfface )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:252,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:253,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:256,1
    - Dst: pcf_load_font
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:258,1
    - Dst: PCF_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:261,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:273,1
    - Dst: FT_Stream_OpenGzip
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:274,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:275,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:289,1
    - Dst: FT_Stream_OpenLZW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:290,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:291,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:305,1
    - Dst: FT_Stream_OpenBzip2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:306,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:307,1
    - Dst: pcf_load_font
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:322,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:345,1
    - Dst: PCF_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:346,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:347,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:369,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:370,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:371,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:374,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:375,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:384,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:397,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:405,1
    - Dst: PCF_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:406,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:407,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 82
    argCount: 5
    argNames:
    - stream
    - pcfface
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 243
    functionDepth: 7
    functionLinenumber: 243
    functionLinenumberEnd: 409
    functionName: PCF_Face_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Stream_OpenLZW
    - pcf_load_font
    - FT_CMap_New
    - ft_strcmp
    - FT_FACE
    - PCF_Face_Done
    - FT_Stream_OpenGzip
    - FT_THROW
    - FT_ERR_EQ
    - FT_TRACE2
    - FT_ERROR
    - FT_Stream_OpenBzip2
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void PCF_Face_Init( FT_Stream      stream,\n                 FT_Face
      \       pcfface,        /* PCF_Face */\n                 FT_Int         face_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 426
    functionName: PCF_Size_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Select_Metrics
    linkageType: ''
    returnType: void
    signature: "void PCF_Size_Select( FT_Size   size,\n                   FT_ULong
      \ strike_index )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:435,1
    - Dst: FT_REQUEST_HEIGHT
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:456,1
    - Dst: PCF_Size_Select
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:463,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 464
    functionName: PCF_Size_Request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - PCF_Size_Select
    - FT_REQUEST_HEIGHT
    linkageType: ''
    returnType: void
    signature: "void PCF_Size_Request( FT_Size          size,\n                    FT_Size_Request
      \ req )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIZE_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:473,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:481,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:485,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:491,1
    - Dst: PCF_GLYPH_PAD
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:506,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:525,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:539,1
    - Dst: ft_glyphslot_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:549,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:553,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:554,1
    - Dst: PCF_BIT_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:557,1
    - Dst: BitOrderInvert
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:558,1
    - Dst: PCF_BYTE_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:560,1
    - Dst: PCF_BIT_ORDER
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:561,1
    - Dst: PCF_SCAN_UNIT
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:563,1
    - Dst: TwoByteSwap
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:569,1
    - Dst: FourByteSwap
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:573,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - slot
    - size
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 580
    functionName: PCF_Glyph_Load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - PCF_SCAN_UNIT
    - FT_STREAM_READ
    - FT_TRACE1
    - ft_synthesize_vertical_metrics
    - BitOrderInvert
    - TwoByteSwap
    - FT_STREAM_SEEK
    - FourByteSwap
    - FT_SIZE_FACE
    - FT_THROW
    - PCF_GLYPH_PAD
    - PCF_BYTE_ORDER
    - ft_glyphslot_alloc_bitmap
    - PCF_BIT_ORDER
    linkageType: ''
    returnType: void
    signature: "void PCF_Glyph_Load( FT_GlyphSlot  slot,\n                  FT_Size
      \      size,\n                  FT_UInt       glyph_index,\n                  FT_Int32
      \     load_flags )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pcf_find_property
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:597,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:610,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:611,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:626,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - face
    - prop_name
    - aproperty
    argTypes:
    - PCF_Face
    - char*
    - BDF_PropertyRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 627
    functionName: pcf_get_bdf_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - pcf_find_property
    - FT_TRACE1
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_bdf_property( PCF_Face          face,\n                        const
      char*       prop_name,\n                        BDF_PropertyRec  *aproperty
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - face
    - acharset_encoding
    - acharset_registry
    argTypes:
    - PCF_Face
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 639
    functionName: pcf_get_charset_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_get_charset_id( PCF_Face      face,\n                      const
      char*  *acharset_encoding,\n                      const char*  *acharset_registry
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:665,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:669,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:675,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:683,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:699,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:700,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:701,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:703,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:708,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - module
    - property_name
    - value
    - value_is_string
    argTypes:
    - FT_Module
    - char*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 711
    functionName: pcf_property_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - ft_strtol
    - FT_THROW
    - FT_TRACE0
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_property_set( FT_Module    module,         /* PCF_Driver
      */\n                    const char*  property_name,\n                    const
      void*  value,\n                    FT_Bool      value_is_string )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:725,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:738,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:739,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:741,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:746,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - module
    - property_name
    - value
    argTypes:
    - FT_Module
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 749
    functionName: pcf_property_get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    - FT_TRACE0
    - FT_THROW
    - ft_strcmp
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pcf_property_get( FT_Module    module,         /* PCF_Driver
      */\n                    const char*  property_name,\n                    const
      void*  value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:778,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - name
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 781
    functionName: pcf_driver_requester
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void pcf_driver_requester( FT_Module    module,\n                        const
      char*  name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 797
    functionName: pcf_driver_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void pcf_driver_init( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    functionName: pcf_driver_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pcf/pcfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void pcf_driver_done( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_STRCPYN
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - face
    - glyph_index
    - buffer
    - buffer_max
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Pointer
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: t1_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached:
    - FT_STRCPYN
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_get_glyph_name( T1_Face     face,\n                     FT_UInt
      \    glyph_index,\n                     FT_Pointer  buffer,\n                     FT_UInt
      \    buffer_max )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - face
    - glyph_name
    argTypes:
    - T1_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 89
    functionName: t1_get_name_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt t1_get_name_index( T1_Face           face,\n                     const
      FT_String*  glyph_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - T1_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: t1_get_ps_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  t1_get_ps_name( T1_Face  face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_info
    argTypes:
    - FT_Face
    - PS_FontInfoRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 154
    functionName: t1_ps_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_ps_get_font_info( FT_Face          face,\n                       PS_FontInfoRec*
      \ afont_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_extra
    argTypes:
    - FT_Face
    - PS_FontExtraRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: t1_ps_get_font_extra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_ps_get_font_extra( FT_Face           face,\n                        PS_FontExtraRec*
      \ afont_extra )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 173
    functionName: t1_ps_has_glyph_names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Int
    signature: FT_Int t1_ps_has_glyph_names( FT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_private
    argTypes:
    - FT_Face
    - PS_PrivateRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: t1_ps_get_font_private
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_ps_get_font_private( FT_Face         face,\n                          PS_PrivateRec*
      \ afont_private )"
  - BBCount: 123
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:277,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:279,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:298,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:301,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:313,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:330,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:333,1
    - Dst: ft_hash_num_lookup
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:354,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:375,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:569,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:571,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:578,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:580,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:587,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:589,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:596,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:598,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:606,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:608,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 320
    argCount: 5
    argNames:
    - face
    - key
    - idx
    - value
    - value_len_
    argTypes:
    - FT_Face
    - PS_Dict_Keys
    - FT_UInt
    - void*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 620
    functionName: t1_ps_get_font_value
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached:
    - ft_hash_num_lookup
    - ft_memcpy
    - ft_strlen
    linkageType: ''
    returnType: FT_Long
    signature: "FT_Long t1_ps_get_font_value( FT_Face       face,\n                        PS_Dict_Keys
      \ key,\n                        FT_UInt       idx,\n                        void
      \        *value,\n                        FT_Long       value_len_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:681,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - t1_interface
    argTypes:
    - FT_Module
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 684
    functionName: Get_Interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Get_Interface( FT_Module         module,\n                 const
      FT_String*  t1_interface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T1_Get_Kerning
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c:738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - t1face
    - left_glyph
    - right_glyph
    - kerning
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 744
    functionName: Get_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1driver.c
    functionUses: 1
    functionsReached:
    - T1_Get_Kerning
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error Get_Kerning( FT_Face     t1face,        /* T1_Face */\n               FT_UInt
      \    left_glyph,\n               FT_UInt     right_glyph,\n               FT_Vector*
      \ kerning )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 85
    functionName: T1_ParserRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T1_ParserRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - i
    - ','
    - o
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: T1_Add_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Add_Table( p, i, o, l )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: T1_Release_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Release_Table( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: T1_Skip_Spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Skip_Spaces( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: T1_Skip_PS_Token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Skip_PS_Token( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: T1_ToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToInt( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: T1_ToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToFixed( p, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: T1_ToCoordArray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToCoordArray( p, m, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - m
    - ','
    - f
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: T1_ToFixedArray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToFixedArray( p, m, f, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: T1_ToToken
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToToken( p, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - t
    - ','
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: T1_ToTokenArray
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_ToTokenArray( p, t, m, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - ','
    - m
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: T1_Load_Field
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Load_Field( p, f, o, m, pf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - ','
    - m
    - ','
    - pf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: T1_Load_Field_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_Load_Field_Table( p, f, o, m, pf )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:64,1
    - Dst: PSHinter_Service::get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - T1_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 69
    functionName: T1_Size_Get_Globals_Funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_globals_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: PSH_Globals_Funcs
    signature: PSH_Globals_Funcs T1_Size_Get_Globals_Funcs( T1_Size  size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T1_Size_Get_Globals_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:83,1
    - Dst: PSH_Globals_Funcs::destroy
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - t1size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: T1_Size_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::destroy
    - T1_Size_Get_Globals_Funcs
    linkageType: ''
    returnType: void
    signature: void T1_Size_Done( FT_Size  t1size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T1_Size_Get_Globals_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:97,1
    - Dst: PSH_Globals_Funcs::create
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - t1size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 113
    functionName: T1_Size_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::create
    - T1_Size_Get_Globals_Funcs
    linkageType: ''
    returnType: void
    signature: void T1_Size_Init( FT_Size  t1size )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: T1_Size_Get_Globals_Funcs
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:121,1
    - Dst: FT_Request_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:124,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - t1size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 133
    functionName: T1_Size_Request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::set_scale
    - T1_Size_Get_Globals_Funcs
    - FT_Request_Metrics
    linkageType: ''
    returnType: void
    signature: "void T1_Size_Request( FT_Size          t1size,     /* T1_Size */\n
      \                  FT_Size_Request  req )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: T1_GlyphSlot_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void T1_GlyphSlot_Done( FT_GlyphSlot  slot )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:164,1
    - Dst: PSHinter_Service::get_t1_funcs
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 177
    functionName: T1_GlyphSlot_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_t1_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: void T1_GlyphSlot_Init( FT_GlyphSlot  slot )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:215,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:219,1
    - Dst: T1_Done_Blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:225,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:234,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:235,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:236,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:237,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:238,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:242,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:243,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:244,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:246,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:247,1
    - Dst: ft_hash_num_free
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:249,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:250,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:252,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:253,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:254,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:256,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:257,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:258,1
    - Dst: T1_Done_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:263,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 1
    argNames:
    - t1face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 275
    functionName: T1_Face_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - ft_hash_num_free
    - T1_Done_Metrics
    - FT_ASSERT
    - FT_FREE
    - T1_Done_Blend
    linkageType: ''
    returnType: void
    signature: void T1_Face_Done( FT_Face  t1face )
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:320,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:321,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:322,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:327,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:330,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:330,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:335,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:336,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:340,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:340,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:343,1
    - Dst: T1_Open_Face
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:346,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:350,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:361,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:362,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:461,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:462,1
    - Dst: T1_Compute_Max_Advance
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:494,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:498,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:527,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:529,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:530,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:569,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 143
    argCount: 5
    argNames:
    - stream
    - t1face
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 575
    functionName: T1_Face_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_GLOBAL_SERVICE
    - T1_Compute_Max_Advance
    - FT_CMap_New
    - FT_ERR_NEQ
    - FT_Get_Module_Interface
    - ft_strcmp
    - FT_THROW
    - FT_ERROR
    - FT_TRACE2
    - FIXED_TO_INT
    - FT_FACE_LIBRARY
    - T1_Open_Face
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void T1_Face_Init( FT_Stream      stream,\n                FT_Face
      \       t1face,          /* T1_Face */\n                FT_Int         face_index,\n
      \               FT_Int         num_params,\n                FT_Parameter*  params
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 632
    functionName: T1_Driver_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void T1_Driver_Init( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - driver
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 651
    functionName: T1_Driver_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1objs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void T1_Driver_Done( FT_Module  driver )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:62,1
    - Dst: FT_Incremental_InterfaceRec*::funcs::get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:74,1
    - Dst: T1_Decoder_Funcs::parse_charstrings_old
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:92,1
    - Dst: T1_Decoder_Funcs::parse_metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:98,1
    - Dst: PSAux_Service::ps_decoder_init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:108,1
    - Dst: PSAux_Service::t1_make_subfont
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:110,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:110,1
    - Dst: T1_Decoder_Funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:114,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:121,1
    - Dst: T1_Decoder_Funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - decoder
    - glyph_index
    - char_string
    - force_scaling
    argTypes:
    - T1_Decoder
    - FT_UInt
    - FT_Data*
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 136
    functionName: T1_Parse_Glyph_And_Get_Char_String
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c
    functionUses: 0
    functionsReached:
    - FT_Incremental_InterfaceRec*::funcs::get_glyph_data
    - PSAux_Service::ps_decoder_init
    - FT_FACE
    - T1_Decoder_Funcs::parse_charstrings
    - T1_Decoder_Funcs::parse_charstrings_old
    - T1_Decoder_Funcs::parse_metrics
    - PSAux_Service::t1_make_subfont
    - FT_FACE_DRIVER
    - FT_ERR_EQ
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error T1_Parse_Glyph_And_Get_Char_String( T1_Decoder  decoder,\n
      \                                     FT_UInt     glyph_index,\n                                      FT_Data*
      \   char_string,\n                                      FT_Bool*    force_scaling
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: T1_Parse_Glyph_And_Get_Char_String
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:171,1
    - Dst: T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - decoder
    - glyph_index
    argTypes:
    - T1_Decoder
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 192
    functionName: T1_Parse_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c
    functionUses: 0
    functionsReached:
    - T1_Parse_Glyph_And_Get_Char_String
    - T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
    linkageType: ''
    returnType: void
    signature: "void T1_Parse_Glyph( T1_Decoder  decoder,\n                  FT_UInt
      \    glyph_index )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:223,1
    - Dst: PSAux_Service::t1_decoder_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:228,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:253,1
    - Dst: T1_Parse_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:260,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:267,1
    - Dst: PSAux_Service::t1_decoder_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - face
    - max_advance
    argTypes:
    - T1_Face
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 213
    functionDepth: 4
    functionLinenumber: 213
    functionLinenumberEnd: 273
    functionName: T1_Compute_Max_Advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c
    functionUses: 1
    functionsReached:
    - PSAux_Service::t1_decoder_funcs::done
    - FT_TRACE6
    - T1_Parse_Glyph
    - PSAux_Service::t1_decoder_funcs::init
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void T1_Compute_Max_Advance( T1_Face  face,\n                          FT_Pos*
      \ max_advance )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:291,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:299,1
    - Dst: PSAux_Service::t1_decoder_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:306,1
    - Dst: T1_Parse_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:331,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:333,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:337,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 5
    argNames:
    - t1face
    - first
    - count
    - load_flags
    - advances
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Int32
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 344
    functionName: T1_Get_Advances
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c
    functionUses: 0
    functionsReached:
    - T1_Parse_Glyph
    - FT_TRACE5
    - PSAux_Service::t1_decoder_funcs::init
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Advances( FT_Face    t1face,        /* T1_Face */\n                   FT_UInt
      \   first,\n                   FT_UInt    count,\n                   FT_Int32
      \  load_flags,\n                   FT_Fixed*  advances )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:380,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:384,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:386,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:405,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:407,1
    - Dst: T1_Decoder_Funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:413,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:420,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:427,1
    - Dst: T1_Parse_Glyph_And_Get_Char_String
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:438,1
    - Dst: T1_Decoder_Funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:452,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:472,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:474,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:488,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:490,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:503,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:505,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:518,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:520,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:522,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:528,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:551,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:552,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:556,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:557,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:561,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:572,1
    - Dst: T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:589,1
    - Dst: T1_Decoder_Funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c:601,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 113
    argCount: 4
    argNames:
    - t1glyph
    - t1size
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 604
    functionName: T1_Load_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1gload.c
    functionUses: 0
    functionsReached:
    - T1_Decoder_Funcs::init
    - FT_Outline_Translate
    - FT_TRACE1
    - ft_synthesize_vertical_metrics
    - FT_Outline_Transform
    - FT_Outline_Get_CBox
    - FT_BOOL
    - FT_THROW
    - FT_MulFix
    - FT_ASSERT
    - T1_Face::root::internal::incremental_interface::funcs::free_glyph_data
    - FIXED_TO_INT
    - T1_Parse_Glyph_And_Get_Char_String
    - T1_Decoder_Funcs::done
    - FT_LOAD_TARGET_MODE
    linkageType: ''
    returnType: void
    signature: "void T1_Load_Glyph( FT_GlyphSlot  t1glyph,          /* T1_GlyphSlot
      */\n                 FT_Size       t1size,           /* T1_Size      */\n                 FT_UInt
      \      glyph_index,\n                 FT_Int32      load_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 54
    functionName: T1_Loader_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T1_Loader_
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:82,1
    - Dst: FT_READ_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:86,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - stream
    - atag
    - asize
    argTypes:
    - FT_Stream
    - FT_UShort*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: read_pfb_tag
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c
    functionUses: 0
    functionsReached:
    - FT_READ_ULONG_LE
    - FT_READ_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error read_pfb_tag( FT_Stream   stream,\n                FT_UShort
      \ *atag,\n                FT_ULong   *asize )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:107,1
    - Dst: read_pfb_tag
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:110,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:117,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:120,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:124,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:125,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:127,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - stream
    - header_string
    - header_length
    argTypes:
    - FT_Stream
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 132
    functionName: check_type1_format
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - read_pfb_tag
    - FT_STREAM_SEEK
    - FT_THROW
    - ft_memcmp
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error check_type1_format( FT_Stream    stream,\n                      const
      char*  header_string,\n                      size_t       header_length )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PSAux_Service::ps_parser_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:146,1
    - Dst: check_type1_format
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:158,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:161,1
    - Dst: check_type1_format
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:164,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:167,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:190,1
    - Dst: read_pfb_tag
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:193,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:201,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:219,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:225,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:226,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:237,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 4
    argNames:
    - parser
    - stream
    - memory
    - psaux
    argTypes:
    - T1_Parser
    - FT_Stream
    - FT_Memory
    - PSAux_Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 240
    functionName: T1_New_Parser
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c
    functionUses: 0
    functionsReached:
    - FT_ERR_NEQ
    - read_pfb_tag
    - FT_STREAM_READ
    - FT_ALLOC
    - FT_STREAM_SEEK
    - check_type1_format
    - FT_STREAM_SKIP
    - FT_FREE
    - FT_TRACE2
    - PSAux_Service::ps_parser_funcs::init
    linkageType: ''
    returnType: void
    signature: "void T1_New_Parser( T1_Parser      parser,\n                 FT_Stream
      \     stream,\n                 FT_Memory      memory,\n                 PSAux_Service
      \ psaux )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:250,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:254,1
    - Dst: T1_Parser::root::funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - T1_Parser
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: T1_Finalize_Parser
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - T1_Parser::root::funcs::done
    linkageType: ''
    returnType: void
    signature: void T1_Finalize_Parser( T1_Parser  parser )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:276,1
    - Dst: read_pfb_tag
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:283,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:292,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:300,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:302,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:306,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:307,1
    - Dst: read_pfb_tag
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:313,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:320,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:357,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:359,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:386,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:389,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:401,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:403,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:416,1
    - Dst: ft_memchr
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:429,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:430,1
    - Dst: ft_memchr
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:431,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:443,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:445,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:454,1
    - Dst: ft_isxdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:475,1
    - Dst: ft_isxdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:475,1
    - Dst: ft_isxdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:476,1
    - Dst: ft_isxdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:476,1
    - Dst: PSAux_Service::ps_parser_funcs::to_bytes
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:483,1
    - Dst: FT_MEM_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:495,1
    - Dst: PSAux_Service::t1_decrypt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:499,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:503,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c:505,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 134
    argCount: 2
    argNames:
    - parser
    - psaux
    argTypes:
    - T1_Parser
    - PSAux_Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 522
    functionName: T1_Get_Private_Dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1parse.c
    functionUses: 0
    functionsReached:
    - PSAux_Service::ps_parser_funcs::to_bytes
    - read_pfb_tag
    - FT_STREAM_READ
    - PSAux_Service::t1_decrypt
    - ft_memchr
    - FT_ALLOC
    - T1_Skip_PS_Token
    - FT_STREAM_SEEK
    - FT_BOOL
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_STREAM_POS
    - ft_isxdigit
    - T1_Skip_Spaces
    - FT_MEM_MOVE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Private_Dict( T1_Parser      parser,\n                       PSAux_Service
      \ psaux )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:43,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:46,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - memory
    - fi
    argTypes:
    - FT_Memory
    - AFM_FontInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 50
    functionName: T1_Done_Metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void T1_Done_Metrics( FT_Memory     memory,\n                   AFM_FontInfo
      \ fi )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:73,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:74,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 3
    argNames:
    - name
    - len
    - user_data
    argTypes:
    - char*
    - FT_Offset
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: t1_get_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 0
    functionsReached:
    - ft_strncmp
    - ft_strlen
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int t1_get_index( const char*  name,\n                FT_Offset
      \   len,\n                void*        user_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g1
    - ','
    - g2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: KERN_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KERN_INDEX( g1, g2 )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:94,1
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 104
    functionName: compare_kern_pairs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 0
    functionsReached:
    - KERN_INDEX
    linkageType: ''
    returnType: void
    signature: "void compare_kern_pairs( const void*  a,\n                      const
      void*  b )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:133,1
    - Dst: FT_PEEK_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:136,1
    - Dst: FT_PEEK_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:139,1
    - Dst: FT_PEEK_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:145,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:153,1
    - Dst: FT_PEEK_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:157,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:161,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:170,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:190,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:204,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:205,1
    - Dst: FT_PEEK_SHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:207,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:214,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:219,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:225,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 71
    argCount: 3
    argNames:
    - t1_face
    - stream
    - fi
    argTypes:
    - FT_Face
    - FT_Stream
    - AFM_FontInfo
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 230
    functionName: T1_Read_PFM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_SHORT_LE
    - ft_qsort
    - FT_Set_Charmap
    - FT_THROW
    - FT_QNEW_ARRAY
    - FT_PEEK_USHORT_LE
    - FT_FREE
    - FT_Get_Char_Index
    - FT_PEEK_ULONG_LE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error T1_Read_PFM( FT_Face       t1_face,\n               FT_Stream
      \    stream,\n               AFM_FontInfo  fi )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:243,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:250,1
    - Dst: T1_Done_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:252,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:257,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:258,1
    - Dst: PSAux_Service::afm_parser_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:268,1
    - Dst: PSAux_Service::afm_parser_funcs::parse
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:279,1
    - Dst: PSAux_Service::afm_parser_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:280,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:284,1
    - Dst: FT_PEEK_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:292,1
    - Dst: T1_Read_PFM
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:293,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:318,1
    - Dst: T1_Done_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 2
    argNames:
    - t1_face
    - stream
    argTypes:
    - FT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 325
    functionName: T1_Read_Metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - PSAux_Service::afm_parser_funcs::done
    - FT_TRACE1
    - T1_Done_Metrics
    - T1_Read_PFM
    - PSAux_Service::afm_parser_funcs::parse
    - FT_ERR_EQ
    - PSAux_Service::afm_parser_funcs::init
    - FT_NEW
    - FT_ERR
    - FT_PEEK_ULONG_LE
    linkageType: ''
    returnType: void
    signature: "void T1_Read_Metrics( FT_Face    t1_face,\n                   FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:336,1
    - Dst: KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - fi
    - glyph1
    - glyph2
    - kerning
    argTypes:
    - AFM_FontInfo
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 367
    functionName: T1_Get_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 1
    functionsReached:
    - KERN_INDEX
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Kerning( AFM_FontInfo  fi,\n                  FT_UInt
      \      glyph1,\n                  FT_UInt       glyph2,\n                  FT_Vector*
      \   kerning )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:381,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c:397,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - face
    - ptsize
    - degree
    - kerning
    argTypes:
    - FT_Face
    - FT_Fixed
    - FT_Int
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 405
    functionName: T1_Get_Track_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1afm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Track_Kerning( FT_Face    face,\n                        FT_Fixed
      \  ptsize,\n                        FT_Int     degree,\n                        FT_Fixed*
      \ kerning )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:116,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:133,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:134,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:135,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:136,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:175,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:186,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 3
    argNames:
    - face
    - num_designs
    - num_axis
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 188
    functionName: t1_allocate_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_NEW_ARRAY
    - FT_NEW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_allocate_blend( T1_Face  face,\n                     FT_UInt
      \ num_designs,\n                     FT_UInt  num_axis )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - face
    - master
    argTypes:
    - T1_Face
    - FT_Multi_Master*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 222
    functionName: T1_Get_Multi_Master
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Multi_Master( T1_Face           face,\n                       FT_Multi_Master*
      \ master )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INT_TO_FIXED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:238,1
    - Dst: INT_TO_FIXED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:243,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:245,1
    - Dst: INT_TO_FIXED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - axismap
    - ncv
    argTypes:
    - PS_DesignMap
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 251
    functionName: mm_axis_unmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_DivFix
    - INT_TO_FIXED
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed mm_axis_unmap( PS_DesignMap  axismap,\n                 FT_Fixed
      \     ncv )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - weights
    - axiscoords
    - axis_count
    argTypes:
    - FT_Fixed*
    - FT_Fixed*
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 293
    functionName: mm_weights_unmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void mm_weights_unmap( FT_Fixed*  weights,\n                    FT_Fixed*
      \ axiscoords,\n                    FT_UInt    axis_count )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T1_Get_Multi_Master
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:314,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:317,1
    - Dst: INT_TO_FIXED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:332,1
    - Dst: INT_TO_FIXED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:333,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:343,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:344,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:345,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:346,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:347,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:348,1
    - Dst: mm_weights_unmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:351,1
    - Dst: mm_axis_unmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:356,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 2
    argNames:
    - face
    - master
    argTypes:
    - T1_Face
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 363
    functionName: T1_Get_MM_Var
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_MAKE_TAG
    - ft_strcmp
    - mm_weights_unmap
    - FT_ALLOC
    - mm_axis_unmap
    - INT_TO_FIXED
    - T1_Get_Multi_Master
    linkageType: ''
    returnType: void
    signature: "void T1_Get_MM_Var( T1_Face      face,\n                 FT_MM_Var*
      \ *master )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:378,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 424
    functionName: t1_set_mm_blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulFix
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_set_mm_blend( T1_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 445
    functionName: T1_Set_MM_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - t1_set_mm_blend
    linkageType: ''
    returnType: void
    signature: "void T1_Set_MM_Blend( T1_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:460,1
    - Dst: mm_weights_unmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:462,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:469,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 480
    functionName: T1_Get_MM_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE2
    - mm_weights_unmap
    linkageType: ''
    returnType: void
    signature: "void T1_Get_MM_Blend( T1_Face    face,\n                   FT_UInt
      \   num_coords,\n                   FT_Fixed*  coords )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:493,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:503,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 520
    functionName: T1_Set_MM_WeightVector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void T1_Set_MM_WeightVector( T1_Face    face,\n                          FT_UInt
      \   len,\n                          FT_Fixed*  weightvector )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:533,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - T1_Face
    - FT_UInt*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 549
    functionName: T1_Get_MM_WeightVector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void T1_Get_MM_WeightVector( T1_Face    face,\n                          FT_UInt*
      \  len,\n                          FT_Fixed*  weightvector )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:564,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:616,1
    - Dst: t1_set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:624,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 634
    functionName: T1_Set_MM_Design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - t1_set_mm_blend
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void T1_Set_MM_Design( T1_Face   face,\n                    FT_UInt
      \  num_coords,\n                    FT_Long*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:643,1
    - Dst: T1_Set_MM_Blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - instance_index
    argTypes:
    - T1_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 640
    functionDepth: 2
    functionLinenumber: 640
    functionLinenumberEnd: 646
    functionName: T1_Reset_MM_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - T1_Set_MM_Blend
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void T1_Reset_MM_Blend( T1_Face  face,\n                     FT_UInt
      \ instance_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:667,1
    - Dst: T1_Set_MM_Design
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 670
    functionName: T1_Set_Var_Design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - T1_Set_MM_Design
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void T1_Set_Var_Design( T1_Face    face,\n                     FT_UInt
      \   num_coords,\n                     FT_Fixed*  coords )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:685,1
    - Dst: mm_weights_unmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:687,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:694,1
    - Dst: mm_axis_unmap
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - T1_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 706
    functionName: T1_Get_Var_Design
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - mm_axis_unmap
    - FT_TRACE2
    - mm_weights_unmap
    linkageType: ''
    returnType: void
    signature: "void T1_Get_Var_Design( T1_Face    face,\n                     FT_UInt
      \   num_coords,\n                     FT_Fixed*  coords )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:724,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:729,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:730,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:731,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:741,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:746,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:754,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:758,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - face
    argTypes:
    - T1_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 760
    functionName: T1_Done_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void T1_Done_Blend( T1_Face  face )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:775,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:779,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:784,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:786,1
    - Dst: t1_allocate_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:791,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:795,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:815,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:819,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:824,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:827,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:830,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:834,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:838,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 842
    functionName: parse_blend_axis_types
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - t1_allocate_blend
    - FT_ALLOC
    - FT_THROW
    - FT_FREE
    - FT_TRACE4
    - FT_TRACE0
    - FT_ERR
    - FT_ERROR
    - T1_ToTokenArray
    linkageType: ''
    returnType: void
    signature: "void parse_blend_axis_types( T1_Face    face,\n                          T1_Loader
      \ loader )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:859,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:863,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:868,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:871,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:884,1
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:897,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:903,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:906,1
    - Dst: t1_allocate_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:911,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:920,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:921,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:926,1
    - Dst: T1_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:934,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:935,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:937,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:940,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 845
    functionDepth: 2
    functionLinenumber: 845
    functionLinenumberEnd: 948
    functionName: parse_blend_design_positions
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - t1_allocate_blend
    - T1_ToFixed
    - FT_THROW
    - FT_TRACE4
    - FT_ERR
    - FT_ERROR
    - T1_ToTokenArray
    linkageType: ''
    returnType: void
    signature: "void parse_blend_design_positions( T1_Face    face,\n                                T1_Loader
      \ loader )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:965,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:969,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:974,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:976,1
    - Dst: t1_allocate_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:983,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:988,1
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1003,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1006,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1010,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1011,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1017,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1018,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1023,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1039,1
    - Dst: T1_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1040,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1042,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1047,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1050,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 1057
    functionName: parse_blend_design_map
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - t1_allocate_blend
    - T1_ToFixed
    - T1_ToInt
    - FT_THROW
    - FT_TRACE4
    - FT_ERR
    - FT_ERROR
    - T1_ToTokenArray
    linkageType: ''
    returnType: void
    signature: "void parse_blend_design_map( T1_Face    face,\n                          T1_Loader
      \ loader )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToTokenArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1075,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1079,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1084,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1087,1
    - Dst: t1_allocate_blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1093,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1100,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1104,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1111,1
    - Dst: T1_ToFixed
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1120,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1122,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1132
    functionName: parse_weight_vector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - t1_allocate_blend
    - T1_ToFixed
    - FT_THROW
    - FT_TRACE4
    - FT_ERR
    - FT_ERROR
    - T1_ToTokenArray
    linkageType: ''
    returnType: void
    signature: "void parse_weight_vector( T1_Face    face,\n                       T1_Loader
      \ loader )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToFixedArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1141,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1149,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1151,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1158
    functionName: parse_buildchar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    - T1_ToFixedArray
    linkageType: ''
    returnType: void
    signature: "void parse_buildchar( T1_Face    face,\n                   T1_Loader
      \ loader )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1192,1
    - Dst: T1_Field::reader
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1194,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1271,1
    - Dst: T1_Load_Field_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1277,1
    - Dst: T1_Load_Field
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1280,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1285,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1292,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    argCount: 3
    argNames:
    - face
    - loader
    - field
    argTypes:
    - T1_Face
    - T1_Loader
    - T1_Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1174
    functionDepth: 1
    functionLinenumber: 1174
    functionLinenumberEnd: 1296
    functionName: t1_load_keyword
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - T1_Field::reader
    - T1_Load_Field_Table
    - FT_TRACE4
    - T1_Load_Field
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error t1_load_keyword( T1_Face         face,\n                   T1_Loader
      \      loader,\n                   const T1_Field  field )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1303,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1308
    functionName: parse_private
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void parse_private( T1_Face    face,\n                 T1_Loader  loader
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1329,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1333,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1335,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1338,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1354,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - parser
    - size
    - base
    - incremental
    argTypes:
    - T1_Parser
    - FT_ULong*
    - FT_Byte**
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1313
    functionDepth: 1
    functionLinenumber: 1313
    functionLinenumberEnd: 1359
    functionName: read_binary_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - T1_ToInt
    - T1_Skip_PS_Token
    - ft_isdigit
    - FT_THROW
    - T1_Skip_Spaces
    - FT_ERROR
    linkageType: ''
    returnType: int
    signature: "int read_binary_data( T1_Parser  parser,\n                    FT_ULong*
      \ size,\n                    FT_Byte**  base,\n                    FT_Bool    incremental
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToFixedArray
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1379,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1383,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1387,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1395,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1399,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1400,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1408,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1410,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1411,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1412,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1413,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1414,1
    - Dst: FT_Matrix_Check
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1422,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1424,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1425,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1365
    functionDepth: 1
    functionLinenumber: 1365
    functionLinenumberEnd: 1432
    functionName: t1_parse_font_matrix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - T1_ToFixedArray
    - FT_ABS
    - FT_THROW
    - FT_Matrix_Check
    - FT_TRACE4
    - FT_DivFix
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void t1_parse_font_matrix( T1_Face    face,\n                        T1_Loader
      \ loader )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1446,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1450,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1451,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1457,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1475,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1480,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1485,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1492,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1493,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1494,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1499,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1500,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1501,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1501,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1510,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1533,1
    - Dst: IS_PS_DELIM
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1544,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1546,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1553,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1559,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1568,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1569,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1574,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1589,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1599,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1618,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1624,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1629,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1633,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1636,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1638,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1650,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1653,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1657,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1660,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1664,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1667,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1672,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1673,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 112
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1435
    functionDepth: 1
    functionLinenumber: 1435
    functionLinenumberEnd: 1676
    functionName: parse_encoding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - T1_Release_Table
    - FT_ERR
    - FT_TRACE6
    - T1_Add_Table
    - T1_ToInt
    - T1_Skip_PS_Token
    - ft_strncmp
    - ft_isdigit
    - FT_TRACE4
    - FT_THROW
    - IS_PS_DELIM
    - PSAux_Service::ps_table_funcs::init
    - FT_FREE
    - FT_TRACE2
    - FT_SET_ERROR
    - T1_Skip_Spaces
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void parse_encoding( T1_Face    face,\n                  T1_Loader
      \ loader )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1693,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1699,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1700,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1703,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1707,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1710,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1733,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1741,1
    - Dst: ft_hash_num_init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1744,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1751,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1754,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1760,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1779,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1782,1
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1784,1
    - Dst: read_binary_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1786,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1793,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1796,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1799,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1801,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1802,1
    - Dst: ft_hash_num_insert
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1809,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1832,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1837,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1839,1
    - Dst: PSAux_Service::t1_decrypt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1840,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1842,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1844,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1847,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1856,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1859,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1861,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 87
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1679
    functionDepth: 2
    functionLinenumber: 1679
    functionLinenumberEnd: 1868
    functionName: parse_subrs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - ft_hash_num_insert
    - FT_ALLOC
    - T1_Skip_PS_Token
    - T1_ToInt
    - ft_strncmp
    - ft_hash_num_init
    - FT_TRACE4
    - FT_THROW
    - PSAux_Service::ps_table_funcs::init
    - FT_FREE
    - PSAux_Service::t1_decrypt
    - T1_Add_Table
    - FT_TRACE0
    - T1_Skip_Spaces
    - read_binary_data
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void parse_subrs( T1_Face    face,\n               T1_Loader  loader
      )"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: T1_ToInt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1894,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1897,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1904,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1924,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1929,1
    - Dst: PSAux_Service::ps_table_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1937,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1953,1
    - Dst: IS_PS_DELIM
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1960,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1986,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:1989,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2002,1
    - Dst: read_binary_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2009,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2018,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2027,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2042,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2047,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2049,1
    - Dst: PSAux_Service::t1_decrypt
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2050,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2052,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2054,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2057,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2067,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2075,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2084,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2091,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2098,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2105,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2111,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2117,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2123,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2129,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2147,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2153,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2159,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2163,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2168,1
    - Dst: T1_Add_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2174,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2185,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2188,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2190,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 166
    argCount: 2
    argNames:
    - face
    - loader
    argTypes:
    - T1_Face
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2197
      start: 1874
    functionDepth: 2
    functionLinenumber: 1874
    functionLinenumberEnd: 2197
    functionName: parse_charstrings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 3
    functionsReached:
    - FT_MEM_COPY
    - ft_strcmp
    - FT_ALLOC
    - T1_ToInt
    - T1_Skip_PS_Token
    - FT_TRACE4
    - FT_THROW
    - IS_PS_DELIM
    - PSAux_Service::ps_table_funcs::init
    - FT_FREE
    - PSAux_Service::t1_decrypt
    - T1_Add_Table
    - FT_TRACE0
    - T1_Skip_Spaces
    - read_binary_data
    linkageType: ''
    returnType: void
    signature: "void parse_charstrings( T1_Face    face,\n                     T1_Loader
      \ loader )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2260,1
    - Dst: IS_PS_TOKEN
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2270,1
    - Dst: IS_PS_TOKEN
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2274,1
    - Dst: IS_PS_TOKEN
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2279,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2288,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2291,1
    - Dst: read_binary_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2308,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2309,1
    - Dst: read_binary_data
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2321,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2322,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2335,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2357,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2358,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2395,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2403,1
    - Dst: t1_load_keyword
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2405,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2410,1
    - Dst: T1_Skip_PS_Token
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2427,1
    - Dst: T1_Skip_Spaces
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2433,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 81
    argCount: 4
    argNames:
    - face
    - loader
    - base
    - size
    argTypes:
    - T1_Face
    - T1_Loader
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2243
    functionDepth: 2
    functionLinenumber: 2243
    functionLinenumberEnd: 2438
    functionName: parse_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 1
    functionsReached:
    - FT_TRACE1
    - ft_strlen
    - IS_PS_TOKEN
    - ft_strcmp
    - t1_load_keyword
    - T1_Skip_PS_Token
    - ft_isdigit
    - FT_THROW
    - ft_memcmp
    - FT_ERR_EQ
    - T1_Skip_Spaces
    - read_binary_data
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error parse_dict( T1_Face    face,\n              T1_Loader  loader,\n
      \             FT_Byte*   base,\n              FT_ULong   size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2445,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - face
    argTypes:
    - T1_Loader
    - T1_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2448
      start: 2441
    functionDepth: 0
    functionLinenumber: 2441
    functionLinenumberEnd: 2448
    functionName: t1_init_loader
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void t1_init_loader( T1_Loader  loader,\n                  T1_Face
      \   face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2459,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2460,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2461,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2462,1
    - Dst: T1_Release_Table
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2463,1
    - Dst: ft_hash_num_free
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2466,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2467,1
    - Dst: T1_Finalize_Parser
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - loader
    argTypes:
    - T1_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2451
    functionDepth: 2
    functionLinenumber: 2451
    functionLinenumberEnd: 2471
    functionName: t1_done_loader
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 0
    functionsReached:
    - T1_Finalize_Parser
    - T1_Release_Table
    - FT_FREE
    - ft_hash_num_free
    linkageType: ''
    returnType: void
    signature: void t1_done_loader( T1_Loader  loader )
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: t1_init_loader
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2486,1
    - Dst: T1_New_Parser
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2500,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2507,1
    - Dst: parse_dict
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2508,1
    - Dst: T1_Get_Private_Dict
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2513,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2517,1
    - Dst: parse_dict
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2518,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2533,1
    - Dst: T1_Done_Blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2535,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2543,1
    - Dst: T1_Done_Blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2555,1
    - Dst: T1_Done_Blend
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2566,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2578,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2580,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2611,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2612,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2657,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2664,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2685,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2693,1
    - Dst: t1_done_loader
      Src: /src/libspectre/ghostscript/freetype/src/type1/t1load.c:2700,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 119
    argCount: 1
    argNames:
    - face
    argTypes:
    - T1_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2702
      start: 2475
    functionDepth: 4
    functionLinenumber: 2475
    functionLinenumberEnd: 2702
    functionName: T1_Open_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/type1/t1load.c
    functionUses: 1
    functionsReached:
    - FT_NEW_ARRAY
    - ft_strcmp
    - t1_init_loader
    - T1_Get_Private_Dict
    - parse_dict
    - FT_THROW
    - T1_New_Parser
    - FT_TRACE2
    - T1_Done_Blend
    - FT_TRACE4
    - t1_done_loader
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: void T1_Open_Face( T1_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 68
    functionName: PFR_HeaderRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrtypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER PFR_HeaderRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g1
    - ','
    - g2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: PFR_KERN_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrtypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_KERN_INDEX( g1, g2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: PFR_KERN_PAIR_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrtypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_KERN_PAIR_INDEX( pair )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: PFR_NEXT_KPAIR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrtypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_KPAIR( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: PFR_CMapRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER PFR_CMapRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:43,1
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - glyph
    - loader
    argTypes:
    - PFR_Glyph
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: pfr_glyph_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Rewind
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void pfr_glyph_init( PFR_Glyph       glyph,\n                  FT_GlyphLoader
      \ loader )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:58,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PFR_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: pfr_glyph_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void pfr_glyph_done( PFR_Glyph  glyph )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PFR_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 115
    functionName: pfr_glyph_close_contour
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pfr_glyph_close_contour( PFR_Glyph  glyph )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PFR_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: pfr_glyph_start
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pfr_glyph_start( PFR_Glyph  glyph )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:138,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:139,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - glyph
    - to
    argTypes:
    - PFR_Glyph
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 157
    functionName: pfr_glyph_line_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_line_to( PFR_Glyph   glyph,\n                     FT_Vector*
      \ to )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:174,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:175,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - glyph
    - control1
    - control2
    - to
    argTypes:
    - PFR_Glyph
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 198
    functionName: pfr_glyph_curve_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_GLYPHLOADER_CHECK_POINTS
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_curve_to( PFR_Glyph   glyph,\n                      FT_Vector*
      \ control1,\n                      FT_Vector*  control2,\n                      FT_Vector*
      \ to )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfr_glyph_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:210,1
    - Dst: FT_GLYPHLOADER_CHECK_POINTS
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:216,1
    - Dst: pfr_glyph_line_to
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - glyph
    - to
    argTypes:
    - PFR_Glyph
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 224
    functionName: pfr_glyph_move_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_GLYPHLOADER_CHECK_POINTS
    - pfr_glyph_line_to
    - pfr_glyph_close_contour
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_move_to( PFR_Glyph   glyph,\n                     FT_Vector*
      \ to )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfr_glyph_close_contour
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:231,1
    - Dst: FT_GlyphLoader_Add
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PFR_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: pfr_glyph_end
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Add
    - pfr_glyph_close_contour
    linkageType: ''
    returnType: void
    signature: void pfr_glyph_end( PFR_Glyph  glyph )
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:259,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:260,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:271,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:272,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:280,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:281,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:286,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:287,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:296,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:299,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:316,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:317,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:322,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:323,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:327,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:328,1
    - Dst: pfr_extra_items_skip
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:341,1
    - Dst: pfr_glyph_start
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:346,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:365,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:366,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:372,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:377,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:381,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:385,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:392,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:402,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:412,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:418,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:424,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:443,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:444,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:448,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:452,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:453,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:454,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:458,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:459,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:461,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:465,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:473,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:474,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:478,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:482,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:483,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:484,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:488,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:489,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:491,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:495,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:502,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:503,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:514,1
    - Dst: pfr_glyph_end
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:522,1
    - Dst: pfr_glyph_line_to
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:528,1
    - Dst: pfr_glyph_move_to
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:533,1
    - Dst: pfr_glyph_curve_to
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:537,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:551,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:552,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 215
    argCount: 3
    argNames:
    - glyph
    - p
    - limit
    argTypes:
    - PFR_Glyph
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 554
    functionName: pfr_glyph_load_simple
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - pfr_glyph_start
    - PFR_NEXT_INT8
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    - PFR_NEXT_SHORT
    - FT_TRACE6
    - FT_TRACE7
    - pfr_glyph_line_to
    - pfr_glyph_curve_to
    - pfr_extra_items_skip
    - pfr_glyph_move_to
    - FT_THROW
    - PFR_CHECK
    - pfr_glyph_end
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_load_simple( PFR_Glyph  glyph,\n                         FT_Byte*
      \  p,\n                         FT_Byte*   limit )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:571,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:572,1
    - Dst: pfr_extra_items_skip
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:584,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:608,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:609,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:614,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:630,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:631,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:637,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:638,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:644,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:645,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:652,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:653,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:657,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:658,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:668,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:669,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:673,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:674,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:687,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:688,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:692,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:693,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:698,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:699,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:703,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:704,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:715,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:716,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 95
    argCount: 3
    argNames:
    - glyph
    - p
    - limit
    argTypes:
    - PFR_Glyph
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 718
    functionName: pfr_glyph_load_compound
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - PFR_NEXT_INT8
    - FT_RENEW_ARRAY
    - PFR_NEXT_SHORT
    - pfr_extra_items_skip
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_USHORT
    - PFR_NEXT_ULONG
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_load_compound( PFR_Glyph  glyph,\n                           FT_Byte*
      \  p,\n                           FT_Byte*   limit )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:733,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:734,1
    - Dst: pfr_glyph_load_compound
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:750,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:752,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:759,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:771,1
    - Dst: pfr_glyph_load_rec
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:776,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:794,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:796,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:815,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:821,1
    - Dst: pfr_glyph_load_simple
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:824,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:826,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 5
    argNames:
    - glyph
    - stream
    - gps_offset
    - offset
    - size
    argTypes:
    - PFR_Glyph
    - FT_Stream
    - FT_ULong
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 721
    functionDepth: 4
    functionLinenumber: 721
    functionLinenumberEnd: 831
    functionName: pfr_glyph_load_rec
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 1
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_STREAM_SEEK
    - pfr_glyph_load_simple
    - FT_MulFix
    - pfr_glyph_load_compound
    - FT_TRACE4
    - pfr_glyph_load_rec
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_glyph_load_rec( PFR_Glyph  glyph,\n                      FT_Stream
      \ stream,\n                      FT_ULong   gps_offset,\n                      FT_ULong
      \  offset,\n                      FT_ULong   size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:842,1
    - Dst: pfr_glyph_load_rec
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - glyph
    - stream
    - gps_offset
    - offset
    - size
    argTypes:
    - PFR_Glyph
    - FT_Stream
    - FT_ULong
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 835
    functionDepth: 5
    functionLinenumber: 835
    functionLinenumberEnd: 848
    functionName: pfr_glyph_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrgload.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Rewind
    - pfr_glyph_load_rec
    linkageType: ''
    returnType: void
    signature: "void pfr_glyph_load( PFR_Glyph  glyph,\n                  FT_Stream
      \ stream,\n                  FT_ULong   gps_offset,\n                  FT_ULong
      \  offset,\n                  FT_ULong   size )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pfr_face_get_kerning
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:40,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:46,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pfrface
    - left
    - right
    - avector
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 57
    functionName: pfr_get_kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c
    functionUses: 0
    functionsReached:
    - pfr_face_get_kerning
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void pfr_get_kerning( FT_Face     pfrface,     /* PFR_Face */\n                   FT_UInt
      \    left,\n                   FT_UInt     right,\n                   FT_Vector
      \ *avector )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pfrface
    - gindex
    - anadvance
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 95
    functionName: pfr_get_advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void pfr_get_advance( FT_Face   pfrface,       /* PFR_Face */\n                   FT_UInt
      \  gindex,\n                   FT_Pos   *anadvance )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:122,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:125,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - pfrface
    - anoutline_resolution
    - ametrics_resolution
    - ametrics_x_scale
    - ametrics_y_scale
    argTypes:
    - FT_Face
    - FT_UInt*
    - FT_UInt*
    - FT_Fixed*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 136
    functionName: pfr_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c
    functionUses: 0
    functionsReached:
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void pfr_get_metrics( FT_Face    pfrface,      /* PFR_Face */\n                   FT_UInt
      \  *anoutline_resolution,\n                   FT_UInt   *ametrics_resolution,\n
      \                  FT_Fixed  *ametrics_x_scale,\n                   FT_Fixed
      \ *ametrics_y_scale )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:165,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - service_id
    argTypes:
    - FT_Module
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: pfr_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrdrivr.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void pfr_get_service( FT_Module         module,\n                   const
      FT_String*  service_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - writer
    - target
    - decreasing
    argTypes:
    - PFR_BitWriter
    - FT_Bitmap*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 65
    functionName: pfr_bitwriter_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_bitwriter_init( PFR_BitWriter  writer,\n                      FT_Bitmap*
      \    target,\n                      FT_Bool        decreasing )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - writer
    - p
    - limit
    argTypes:
    - PFR_BitWriter
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: pfr_bitwriter_decode_bytes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_bitwriter_decode_bytes( PFR_BitWriter  writer,\n                              FT_Byte*
      \      p,\n                              FT_Byte*       limit )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - writer
    - p
    - limit
    argTypes:
    - PFR_BitWriter
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 200
    functionName: pfr_bitwriter_decode_rle1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_bitwriter_decode_rle1( PFR_BitWriter  writer,\n                             FT_Byte*
      \      p,\n                             FT_Byte*       limit )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - writer
    - p
    - limit
    argTypes:
    - PFR_BitWriter
    - FT_Byte*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 265
    functionName: pfr_bitwriter_decode_rle2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_bitwriter_decode_rle2( PFR_BitWriter  writer,\n                             FT_Byte*
      \      p,\n                             FT_Byte*       limit )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:286,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:312,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:324,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:330,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:363,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:365,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:383,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:385,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:388,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:390,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 7
    argNames:
    - base
    - limit
    - count
    - flags
    - char_code
    - found_offset
    - found_size
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - FT_UInt
    - FT_UInt*
    - FT_UInt
    - FT_ULong*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 391
    functionName: pfr_lookup_bitmap_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - PFR_NEXT_USHORT
    - FT_PEEK_USHORT
    - FT_TRACE0
    - PFR_NEXT_ULONG
    - PFR_NEXT_BYTE
    linkageType: ''
    returnType: void
    signature: "void pfr_lookup_bitmap_data( FT_Byte*   base,\n                          FT_Byte*
      \  limit,\n                          FT_UInt    count,\n                          FT_UInt*
      \  flags,\n                          FT_UInt    char_code,\n                          FT_ULong*
      \ found_offset,\n                          FT_ULong*  found_size )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:416,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:417,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:428,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:429,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:435,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:436,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:437,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:441,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:442,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:443,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:447,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:448,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:449,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:466,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:467,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:473,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:474,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:475,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:479,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:480,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:481,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:496,1
    - Dst: PFR_NEXT_INT8
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:497,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:501,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:502,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:506,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:507,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:526,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:527,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 94
    argCount: 9
    argNames:
    - pdata
    - limit
    - scaled_advance
    - axpos
    - aypos
    - axsize
    - aysize
    - aadvance
    - aformat
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - FT_Long
    - FT_Long*
    - FT_Long*
    - FT_UInt*
    - FT_UInt*
    - FT_Long*
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 529
    functionName: pfr_load_bitmap_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached:
    - PFR_NEXT_INT8
    - PFR_NEXT_SHORT
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_USHORT
    - PFR_NEXT_LONG
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_load_bitmap_metrics( FT_Byte**  pdata,\n                           FT_Byte*
      \  limit,\n                           FT_Long    scaled_advance,\n                           FT_Long
      \  *axpos,\n                           FT_Long   *aypos,\n                           FT_UInt
      \  *axsize,\n                           FT_UInt   *aysize,\n                           FT_Long
      \  *aadvance,\n                           FT_UInt   *aformat )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pfr_bitwriter_init
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:545,1
    - Dst: pfr_bitwriter_decode_bytes
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:550,1
    - Dst: pfr_bitwriter_decode_rle1
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:554,1
    - Dst: pfr_bitwriter_decode_rle2
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:558,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - p
    - limit
    - format
    - decreasing
    - target
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - FT_UInt
    - FT_Bool
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 567
    functionName: pfr_load_bitmap_bits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached:
    - pfr_bitwriter_init
    - pfr_bitwriter_decode_rle2
    - pfr_bitwriter_decode_rle1
    - pfr_bitwriter_decode_bytes
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_load_bitmap_bits( FT_Byte*    p,\n                        FT_Byte*
      \   limit,\n                        FT_UInt     format,\n                        FT_Bool
      \    decreasing,\n                        FT_Bitmap*  target )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:613,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:632,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:633,1
    - Dst: pfr_lookup_bitmap_data
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:636,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:644,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:649,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:664,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:672,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:676,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:677,1
    - Dst: pfr_load_bitmap_metrics
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:681,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:714,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:718,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:722,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:725,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:726,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:731,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:732,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:747,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:748,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:750,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:770,1
    - Dst: ft_glyphslot_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:787,1
    - Dst: pfr_load_bitmap_bits
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:789,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:793,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c:800,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 103
    argCount: 4
    argNames:
    - glyph
    - size
    - glyph_index
    - metrics_only
    argTypes:
    - PFR_Slot
    - PFR_Size
    - FT_UInt
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 805
    functionName: pfr_slot_load_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrsbit.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_TRACE1
    - pfr_load_bitmap_bits
    - pfr_load_bitmap_metrics
    - ft_glyphslot_alloc_bitmap
    - FT_STREAM_SEEK
    - FT_BOOL
    - pfr_lookup_bitmap_data
    - FT_THROW
    - FT_ERR_EQ
    - FT_PIX_ROUND
    - FT_MulDiv
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_slot_load_bitmap( PFR_Slot  glyph,\n                        PFR_Size
      \ size,\n                        FT_UInt   glyph_index,\n                        FT_Bool
      \  metrics_only )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: PFR_CHECK_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_CHECK_SIZE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: PFR_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_CHECK( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: PFR_NEXT_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_BYTE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PFR_NEXT_INT8
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_INT8( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: PFR_NEXT_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_SHORT( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: PFR_NEXT_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_USHORT( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: PFR_NEXT_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_LONG( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: PFR_NEXT_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PFR_NEXT_ULONG( p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfr_phy_font_done
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:60,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:60,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pfrface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 64
    functionName: pfr_face_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 0
    functionsReached:
    - pfr_phy_font_done
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void pfr_face_done( FT_Face  pfrface )
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:77,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:78,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:81,1
    - Dst: pfr_header_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:84,1
    - Dst: pfr_header_check
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:88,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:90,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:91,1
    - Dst: pfr_log_font_count
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:100,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:114,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:115,1
    - Dst: pfr_log_font_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:120,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:125,1
    - Dst: pfr_phy_font_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:130,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:162,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:163,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:216,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:266,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 113
    argCount: 5
    argNames:
    - stream
    - pfrface
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 276
    functionName: pfr_face_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_CMap_New
    - FT_BOOL
    - FT_THROW
    - pfr_header_check
    - pfr_log_font_load
    - FT_TRACE2
    - pfr_phy_font_load
    - FT_ERROR
    - pfr_header_load
    - FT_UNUSED
    - pfr_log_font_count
    linkageType: ''
    returnType: void
    signature: "void pfr_face_init( FT_Stream      stream,\n                 FT_Face
      \       pfrface,\n                 FT_Int         face_index,\n                 FT_Int
      \        num_params,\n                 FT_Parameter*  params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfr_glyph_init
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pfrslot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 297
    functionName: pfr_slot_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 0
    functionsReached:
    - pfr_glyph_init
    linkageType: ''
    returnType: void
    signature: void pfr_slot_init( FT_GlyphSlot  pfrslot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfr_glyph_done
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfrslot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: pfr_slot_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 0
    functionsReached:
    - pfr_glyph_done
    linkageType: ''
    returnType: void
    signature: void pfr_slot_done( FT_GlyphSlot  pfrslot )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:325,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:332,1
    - Dst: pfr_slot_load_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:339,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:350,1
    - Dst: pfr_glyph_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:361,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:373,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:393,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:423,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:439,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:440,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:444,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:445,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:449,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 70
    argCount: 4
    argNames:
    - pfrslot
    - pfrsize
    - gindex
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 311
    functionDepth: 6
    functionLinenumber: 311
    functionLinenumberEnd: 459
    functionName: pfr_slot_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 0
    functionsReached:
    - pfr_slot_load_bitmap
    - FT_TRACE1
    - FT_Outline_Transform
    - FT_Outline_Get_CBox
    - FT_BOOL
    - pfr_glyph_load
    - FT_THROW
    - FT_MulFix
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void pfr_slot_load( FT_GlyphSlot  pfrslot,         /* PFR_Slot */\n
      \                FT_Size       pfrsize,         /* PFR_Size */\n                 FT_UInt
      \      gindex,\n                 FT_Int32      load_flags )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: PFR_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:498,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:514,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:515,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:521,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:525,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:526,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:536,1
    - Dst: PFR_NEXT_KPAIR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:538,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:559,1
    - Dst: PFR_NEXT_KPAIR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:561,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:573,1
    - Dst: PFR_NEXT_KPAIR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:575,1
    - Dst: FT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:584,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c:592,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 4
    argNames:
    - pfrface
    - glyph1
    - glyph2
    - kerning
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 597
    functionName: pfr_face_get_kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrobjs.c
    functionUses: 1
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_PEEK_SHORT
    - FT_STREAM_SEEK
    - FT_BOOL
    - PFR_KERN_INDEX
    - FT_NEXT_ULONG
    - FT_MSB
    - PFR_NEXT_KPAIR
    linkageType: ''
    returnType: void
    signature: "void pfr_face_get_kerning( FT_Face     pfrface,        /* PFR_Face
      */\n                        FT_UInt     glyph1,\n                        FT_UInt
      \    glyph2,\n                        FT_Vector*  kerning )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c:32,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c:34,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - PFR_CMap
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: pfr_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void pfr_cmap_init( PFR_CMap    cmap,\n                 FT_Pointer
      \ pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - PFR_CMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: pfr_cmap_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pfr_cmap_done( PFR_CMap  cmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - PFR_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: pfr_cmap_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_cmap_char_index( PFR_CMap   cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - PFR_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 156
    functionName: pfr_cmap_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pfr_cmap_char_next( PFR_CMap    cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pfr_extra_items_parse
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pp
    - limit
    argTypes:
    - FT_Byte**
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: pfr_extra_items_skip
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 2
    functionsReached:
    - pfr_extra_items_parse
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_items_skip( FT_Byte*  *pp,\n                        FT_Byte*
      \  limit )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:144,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:145,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:149,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:150,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:151,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:153,1
    - Dst: PFR_ExtraItem::parser
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:164,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:181,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:182,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 4
    argNames:
    - pp
    - limit
    - item_list
    - item_data
    argTypes:
    - FT_Byte**
    - FT_Byte*
    - PFR_ExtraItem
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 184
    functionName: pfr_extra_items_parse
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - PFR_ExtraItem::parser
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_items_parse( FT_Byte*       *pp,\n                         FT_Byte*
      \       limit,\n                         PFR_ExtraItem   item_list,\n                         FT_Pointer
      \     item_data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:248,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - header
    - stream
    argTypes:
    - PFR_Header
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 257
    functionName: pfr_header_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_STREAM_SEEK
    linkageType: ''
    returnType: void
    signature: "void pfr_header_load( PFR_Header  header,\n                   FT_Stream
      \  stream )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - header
    argTypes:
    - PFR_Header
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 276
    functionName: pfr_header_check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pfr_header_check( PFR_Header  header )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:298,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:299,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:312,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - section_offset
    - acount
    argTypes:
    - FT_Stream
    - FT_UInt32
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 323
    functionName: pfr_log_font_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_STREAM_SEEK
    - FT_READ_USHORT
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_log_font_count( FT_Stream  stream,\n                      FT_UInt32
      \ section_offset,\n                      FT_Long   *acount )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:340,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:341,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:345,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:347,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:348,1
    - Dst: FT_READ_UOFF3
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:349,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:363,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:364,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:370,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:372,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:373,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:374,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:375,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:377,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:396,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:401,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:402,1
    - Dst: PFR_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:405,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:411,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:412,1
    - Dst: pfr_extra_items_skip
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:417,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:422,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:423,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:424,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:427,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:428,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:433,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:440,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 5
    argNames:
    - log_font
    - stream
    - idx
    - section_offset
    - size_increment
    argTypes:
    - PFR_LogFont
    - FT_Stream
    - FT_UInt
    - FT_UInt32
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 442
    functionName: pfr_log_font_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - PFR_NEXT_SHORT
    - FT_STREAM_SEEK
    - pfr_extra_items_skip
    - FT_STREAM_SKIP
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_BYTE
    - FT_READ_UOFF3
    - PFR_NEXT_USHORT
    - PFR_NEXT_LONG
    - PFR_NEXT_ULONG
    - FT_READ_USHORT
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_log_font_load( PFR_LogFont  log_font,\n                     FT_Stream
      \   stream,\n                     FT_UInt      idx,\n                     FT_UInt32
      \   section_offset,\n                     FT_Bool      size_increment )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:467,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:470,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:471,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:476,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:479,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:505,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:510,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:511,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:514,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:515,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:517,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:520,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:521,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:524,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:525,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:528,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:529,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:538,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:539,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 3
    argNames:
    - p
    - limit
    - phy_font
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - PFR_PhyFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 542
    functionName: pfr_extra_item_load_bitmap_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_USHORT
    - PFR_NEXT_ULONG
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_item_load_bitmap_info( FT_Byte*     p,\n                                   FT_Byte*
      \    limit,\n                                   PFR_PhyFont  phy_font )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:568,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - p
    - limit
    - phy_font
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - PFR_PhyFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 577
    functionName: pfr_extra_item_load_font_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_MEM_COPY
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_item_load_font_id( FT_Byte*     p,\n                               FT_Byte*
      \    limit,\n                               PFR_PhyFont  phy_font )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:595,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:596,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:602,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:604,1
    - Dst: FT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:611,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:617,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:618,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - p
    - limit
    - phy_font
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - PFR_PhyFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 621
    functionName: pfr_extra_item_load_stem_snaps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_NEXT_SHORT
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_item_load_stem_snaps( FT_Byte*     p,\n                                  FT_Byte*
      \    limit,\n                                  PFR_PhyFont  phy_font )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:636,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:639,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:641,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:642,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:643,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:656,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:670,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:671,1
    - Dst: PFR_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:673,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:676,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:677,1
    - Dst: PFR_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:679,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:684,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:685,1
    - Dst: PFR_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:687,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:690,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:691,1
    - Dst: PFR_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:693,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:705,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:712,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:714,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:715,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 52
    argCount: 3
    argNames:
    - p
    - limit
    - phy_font
    argTypes:
    - FT_Byte*
    - FT_Byte*
    - PFR_PhyFont
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 718
    functionName: pfr_extra_item_load_kerning_pairs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 0
    functionsReached:
    - PFR_NEXT_SHORT
    - PFR_KERN_INDEX
    - FT_THROW
    - PFR_CHECK
    - PFR_NEXT_USHORT
    - FT_FREE
    - FT_NEW
    - PFR_NEXT_BYTE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void pfr_extra_item_load_kerning_pairs( FT_Byte*     p,\n                                     FT_Byte*
      \    limit,\n                                     PFR_PhyFont  phy_font )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:747,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:764,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:767,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - p
    - len
    - memory
    - astring
    argTypes:
    - FT_Byte*
    - FT_UInt
    - FT_Memory
    - FT_String**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 774
    functionName: pfr_aux_name_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_FREE
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error pfr_aux_name_load( FT_Byte*     p,\n                     FT_UInt
      \     len,\n                     FT_Memory    memory,\n                     FT_String*
      \ *astring )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:781,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:782,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:783,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:785,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:791,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:795,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:799,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 2
    argNames:
    - phy_font
    - memory
    argTypes:
    - PFR_PhyFont
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 818
    functionName: pfr_phy_font_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void pfr_phy_font_done( PFR_PhyFont  phy_font,\n                     FT_Memory
      \   memory )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:841,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:842,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:850,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:851,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:852,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:853,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:854,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:855,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:856,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:857,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:858,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:863,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:864,1
    - Dst: pfr_extra_items_parse
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:870,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:880,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:881,1
    - Dst: PFR_CHECK_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:889,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:900,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:905,1
    - Dst: pfr_aux_name_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:912,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:923,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:924,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:925,1
    - Dst: pfr_aux_name_load
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:931,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:951,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:952,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:954,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:956,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:960,1
    - Dst: PFR_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:963,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:964,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:965,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:967,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:968,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:975,1
    - Dst: PFR_CHECK_SIZE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:994,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:996,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1005,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1006,1
    - Dst: PFR_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1009,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1014,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1021,1
    - Dst: PFR_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1022,1
    - Dst: PFR_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1025,1
    - Dst: PFR_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1026,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1033,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1036,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1043,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c:1044,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 126
    argCount: 4
    argNames:
    - phy_font
    - stream
    - offset
    - size
    argTypes:
    - PFR_PhyFont
    - FT_Stream
    - FT_UInt32
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 1046
    functionName: pfr_phy_font_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pfr/pfrload.c
    functionUses: 1
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - pfr_extra_items_parse
    - FT_NEW_ARRAY
    - PFR_NEXT_SHORT
    - FT_STREAM_SEEK
    - FT_THROW
    - PFR_CHECK
    - PFR_CHECK_SIZE
    - PFR_NEXT_USHORT
    - FT_STREAM_POS
    - PFR_NEXT_ULONG
    - PFR_NEXT_BYTE
    - FT_ERROR
    - pfr_aux_name_load
    linkageType: ''
    returnType: void
    signature: "void pfr_phy_font_load( PFR_PhyFont  phy_font,\n                     FT_Stream
      \   stream,\n                     FT_UInt32    offset,\n                     FT_UInt32
      \   size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: FT_EXPORT_VAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT_VAR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: FT_ERR_XCAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_XCAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: FT_ERR_CAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_CAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: FT_MIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MIN( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: FT_MAX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAX( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: FT_ABS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ABS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    functionName: FT_HYPOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HYPOT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: ADD_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: SUB_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: MUL_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 160
    functionName: NEG_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEG_LONG( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: FT_UNUSED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 102
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UNUSED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:201,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:202,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: FT_Message
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void FT_Message( const char*  fmt,\n              ... )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:213,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:214,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - error
    - line
    - file
    argTypes:
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 218
    functionName: FT_Throw
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int FT_Throw( int          error,\n            int          line,\n
      \           const char*  file )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: FT_TRACE5
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE5( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: FT_TRACE7
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE7( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: FT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: FT_THROW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 198
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_THROW( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: FT_TRACE5
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE5( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: FT_TRACE7
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE7( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: FT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: FT_THROW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 198
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_THROW( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - move_to_
    - ','
    - line_to_
    - ','
    - conic_to_
    - ','
    - cubic_to_
    - ','
    - shift_
    - ','
    - delta_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: FT_DEFINE_OUTLINE_FUNCS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_OUTLINE_FUNCS( class_,               \\\n                                 move_to_,
      line_to_,   \\\n                                 conic_to_, cubic_to_, \\\n
      \                                shift_, delta_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - glyph_format_
    - ','
    - raster_new_
    - ','
    - raster_reset_
    - ','
    - raster_set_mode_
    - ','
    - raster_render_
    - ','
    - raster_done_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: FT_DEFINE_RASTER_FUNCS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_RASTER_FUNCS( class_, glyph_format_,            \\\n                                raster_new_,
      raster_reset_,       \\\n                                raster_set_mode_, raster_render_,
      \\\n                                raster_done_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: FT_MEM_SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_SET( d, s, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: FT_MEM_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_ZERO( dest, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: FT_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ZERO( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: TRUNC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRUNC( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: FRACT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRACT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: UPSCALE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPSCALE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: DOWNSCALE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOWNSCALE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: UPSCALE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPSCALE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: DOWNSCALE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOWNSCALE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - dividend
    - ','
    - divisor
    - ','
    - quotient
    - ','
    - remainder
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: FT_DIV_MOD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DIV_MOD( type, dividend, divisor, quotient, remainder )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - dividend
    - ','
    - divisor
    - ','
    - quotient
    - ','
    - remainder
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 383
    functionName: FT_DIV_MOD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DIV_MOD( type, dividend, divisor, quotient, remainder )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: FT_UDIVPREP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UDIVPREP( c, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 394
    functionName: FT_UDIV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UDIV( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:510,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:513,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: gray_dump_cells
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void gray_dump_cells( RAS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_longjmp
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:546,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: gray_record_cell
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - ft_longjmp
    linkageType: ''
    returnType: void
    signature: void gray_record_cell( RAS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gray_record_cell
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:586,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 2
    argNames:
    - TCoord
    - ey
    argTypes:
    - RAS_ARG_
    - TCoord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 595
    functionName: gray_set_cell
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_MAX
    - gray_record_cell
    linkageType: ''
    returnType: void
    signature: "void gray_set_cell( RAS_ARG_ TCoord  ex,\n                          TCoord
      \ ey )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:616,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:617,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:626,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:627,1
    - Dst: FT_DIV_MOD
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:657,1
    - Dst: FT_DIV_MOD
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:671,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 5
    argNames:
    - TCoord
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - RAS_ARG_
    - TPos
    - TCoord
    - TPos
    - TCoord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 698
    functionName: gray_render_scanline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_DIV_MOD
    - FRACT
    - TRUNC
    linkageType: ''
    returnType: void
    signature: "void gray_render_scanline( RAS_ARG_ TCoord  ey,\n                                 TPos
      \   x1,\n                                 TCoord  y1,\n                                 TPos
      \   x2,\n                                 TCoord  y2 )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:714,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:715,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:722,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:723,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:738,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:739,1
    - Dst: FT_DIV_MOD
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:796,1
    - Dst: FT_DIV_MOD
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:810,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 2
    argNames:
    - TPos
    - to_y
    argTypes:
    - RAS_ARG_
    - TPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 840
    functionName: gray_render_line
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_DIV_MOD
    - FRACT
    - TRUNC
    linkageType: ''
    returnType: void
    signature: "void gray_render_line( RAS_ARG_ TPos  to_x,\n                             TPos
      \ to_y )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:857,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:858,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:865,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:866,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:868,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:869,1
    - Dst: FT_UDIVPREP
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:907,1
    - Dst: FT_UDIVPREP
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:908,1
    - Dst: FT_UDIV
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:920,1
    - Dst: FT_UDIV
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:932,1
    - Dst: FT_UDIV
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:945,1
    - Dst: FT_UDIV
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:955,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:969,1
    - Dst: FRACT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:970,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 91
    argCount: 2
    argNames:
    - TPos
    - to_y
    argTypes:
    - RAS_ARG_
    - TPos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 978
    functionName: gray_render_line
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_UDIV
    - FRACT
    - FT_UDIVPREP
    - TRUNC
    linkageType: ''
    returnType: void
    signature: "void gray_render_line( RAS_ARG_ TPos  to_x,\n                             TPos
      \ to_y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - base
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1001
    functionName: gray_split_conic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_split_conic( FT_Vector*  base )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1014,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1015,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1016,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1017,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1022,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1023,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1024,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1025,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1026,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1027,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1034,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1035,1
    - Dst: gray_split_conic
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1057,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - control
    - to
    argTypes:
    - RAS_ARG_*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1065
    functionName: gray_render_conic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - gray_split_conic
    - UPSCALE
    - FT_ABS
    - TRUNC
    linkageType: ''
    returnType: void
    signature: "void gray_render_conic( RAS_ARG_ const FT_Vector*  control,\n                              const
      FT_Vector*  to )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - base
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1068
    functionDepth: 0
    functionLinenumber: 1068
    functionLinenumberEnd: 1097
    functionName: gray_split_cubic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_split_cubic( FT_Vector*  base )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1109,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1110,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1111,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1112,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1113,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1114,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1119,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1120,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1121,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1122,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1123,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1124,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1125,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1126,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1138,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1139,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1140,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1141,1
    - Dst: gray_split_cubic
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1153,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 3
    argNames:
    - control1
    - control2
    - to
    argTypes:
    - RAS_ARG_*
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1156
    functionName: gray_render_cubic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - UPSCALE
    - gray_split_cubic
    - FT_ABS
    - TRUNC
    linkageType: ''
    returnType: void
    signature: "void gray_render_cubic( RAS_ARG_ const FT_Vector*  control1,\n                              const
      FT_Vector*  control2,\n                              const FT_Vector*  to )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1167,1
    - Dst: UPSCALE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - to
    - worker
    argTypes:
    - FT_Vector*
    - gray_PWorker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1175
    functionName: gray_move_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - UPSCALE
    linkageType: ''
    returnType: int
    signature: "int gray_move_to( const FT_Vector*  to,\n                gray_PWorker
      \     worker )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - worker
    argTypes:
    - FT_Vector*
    - gray_PWorker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1184
    functionName: gray_line_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gray_line_to( const FT_Vector*  to,\n                gray_PWorker
      \     worker )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - control
    - to
    - worker
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - gray_PWorker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1194
    functionName: gray_conic_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gray_conic_to( const FT_Vector*  control,\n                 const
      FT_Vector*  to,\n                 gray_PWorker      worker )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - control1
    - control2
    - to
    - worker
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - gray_PWorker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1205
    functionName: gray_cubic_to
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gray_cubic_to( const FT_Vector*  control1,\n                 const
      FT_Vector*  control2,\n                 const FT_Vector*  to,\n                 gray_PWorker
      \     worker )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: render_span
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1246,1
    - Dst: FT_MEM_SET
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1286,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 4
    argNames:
    - TCoord
    - y
    - coverage
    - acount
    argTypes:
    - RAS_ARG_
    - TCoord
    - TArea
    - TCoord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1289
    functionName: gray_hline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_MEM_SET
    - render_span
    linkageType: ''
    returnType: void
    signature: "void gray_hline( RAS_ARG_ TCoord  x,\n                       TCoord
      \ y,\n                       TArea   coverage,\n                       TCoord
      \ acount )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gray_hline
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1309,1
    - Dst: gray_hline
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1315,1
    - Dst: gray_hline
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1321,1
    - Dst: render_span
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1326,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1330
    functionName: gray_sweep
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - gray_hline
    - render_span
    linkageType: ''
    returnType: void
    signature: void gray_sweep( RAS_ARG )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1399,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1402,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1413,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1421,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1422,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1425,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1426,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1432,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1442,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1462,1
    - Dst: FT_Outline_Funcs*::move_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1464,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1473,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1481,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1482,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1484,1
    - Dst: FT_Outline_Funcs*::line_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1486,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1493,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1494,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1505,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1507,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1508,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1512,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1516,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1528,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1532,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1540,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1544,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1553,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1559,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1560,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1562,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1563,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1570,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1571,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1573,1
    - Dst: FT_Outline_Funcs*::cubic_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1578,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1584,1
    - Dst: FT_Outline_Funcs*::cubic_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1589,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1596,1
    - Dst: FT_Outline_Funcs*::line_to
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1598,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1607,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1611,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1615,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 142
    argCount: 3
    argNames:
    - outline
    - func_interface
    - user
    argTypes:
    - FT_Outline*
    - FT_Outline_Funcs*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1616
    functionName: FT_Outline_Decompose
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 1
    functionsReached:
    - FT_Outline_Funcs*::cubic_to
    - SCALED
    - FT_THROW
    - FT_CURVE_TAG
    - FT_TRACE5
    - FT_Outline_Funcs*::conic_to
    - FT_Outline_Funcs*::line_to
    - FT_Outline_Funcs*::move_to
    linkageType: ''
    returnType: int
    signature: "int FT_Outline_Decompose( const FT_Outline*        outline,\n                        const
      FT_Outline_Funcs*  func_interface,\n                        void*                    user
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1379
    functionName: SCALED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALED( x )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1641,1
    - Dst: FT_Trace_Disable
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1644,1
    - Dst: FT_Outline_Decompose
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1645,1
    - Dst: FT_Trace_Enable
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1647,1
    - Dst: gray_record_cell
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1650,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1652,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1660,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - continued
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1667
    functionName: gray_convert_glyph_inner
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Decompose
    - FT_TRACE7
    - gray_record_cell
    - FT_THROW
    - ft_setjmp
    - FT_Trace_Disable
    - FT_Trace_Enable
    linkageType: ''
    returnType: int
    signature: "int gray_convert_glyph_inner( RAS_ARG,\n                            int
      \ continued )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1705,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1717,1
    - Dst: gray_convert_glyph_inner
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1724,1
    - Dst: gray_sweep
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1729,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1670
    functionDepth: 2
    functionLinenumber: 1670
    functionLinenumberEnd: 1753
    functionName: gray_convert_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_MIN
    - FT_TRACE7
    - FT_MEM_ZERO
    - gray_convert_glyph_inner
    - gray_sweep
    linkageType: ''
    returnType: int
    signature: int gray_convert_glyph( RAS_ARG )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1769,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1773,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1776,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1783,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1787,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1809,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1816,1
    - Dst: gray_convert_glyph
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1840,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - raster
    - params
    argTypes:
    - FT_Raster
    - FT_Raster_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1756
    functionDepth: 3
    functionLinenumber: 1756
    functionLinenumberEnd: 1841
    functionName: gray_raster_render
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - gray_convert_glyph
    linkageType: ''
    returnType: int
    signature: "int gray_raster_render( FT_Raster                raster,\n                      const
      FT_Raster_Params*  params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1855,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - memory
    - araster
    argTypes:
    - void*
    - FT_Raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1849
    functionDepth: 0
    functionLinenumber: 1849
    functionLinenumberEnd: 1862
    functionName: gray_raster_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int gray_raster_new( void*       memory,\n                   FT_Raster*
      \ araster )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - FT_Raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: gray_raster_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void gray_raster_done( FT_Raster  raster )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1883,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - memory
    - araster
    argTypes:
    - FT_Memory
    - FT_Raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1874
    functionDepth: 1
    functionLinenumber: 1874
    functionLinenumberEnd: 1890
    functionName: gray_raster_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    linkageType: ''
    returnType: int
    signature: "int gray_raster_new( FT_Memory   memory,\n                   FT_Raster*
      \ araster )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - FT_Raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1893
    functionDepth: 1
    functionLinenumber: 1893
    functionLinenumberEnd: 1900
    functionName: gray_raster_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void gray_raster_done( FT_Raster  raster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1910,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1911,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - raster
    - pool_base
    - pool_size
    argTypes:
    - FT_Raster
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1905
    functionDepth: 0
    functionLinenumber: 1905
    functionLinenumberEnd: 1913
    functionName: gray_raster_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void gray_raster_reset( FT_Raster       raster,\n                     unsigned
      char*  pool_base,\n                     unsigned long   pool_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1921,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1922,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c:1923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - raster
    - mode
    - args
    argTypes:
    - FT_Raster
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1916
    functionDepth: 0
    functionLinenumber: 1916
    functionLinenumberEnd: 1927
    functionName: gray_raster_set_mode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftgrays.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int gray_raster_set_mode( FT_Raster      raster,\n                        unsigned
      long  mode,\n                        void*          args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Library_SetLcdFilter
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:49,1
    - Dst: FT_Renderer::clazz::raster_class::raster_reset
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - render
    argTypes:
    - FT_Renderer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 56
    functionName: ft_smooth_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - FT_Renderer::clazz::raster_class::raster_reset
    - FT_Library_SetLcdFilter
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_smooth_init( FT_Renderer  render )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Renderer::clazz::raster_class::raster_set_mode
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - render
    - mode_tag
    - data
    argTypes:
    - FT_Renderer
    - FT_ULong
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: ft_smooth_set_mode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - FT_Renderer::clazz::raster_class::raster_set_mode
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_set_mode( FT_Renderer  render,\n                      FT_ULong
      \    mode_tag,\n                      FT_Pointer   data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:83,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:88,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:91,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - render
    - slot
    - matrix
    - delta
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 95
    functionName: ft_smooth_transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Outline_Transform
    - FT_Outline_Translate
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_transform( FT_Renderer       render,\n                       FT_GlyphSlot
      \     slot,\n                       const FT_Matrix*  matrix,\n                       const
      FT_Vector*  delta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:104,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - render
    - slot
    - cbox
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: ft_smooth_get_cbox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_CBox
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void ft_smooth_get_cbox( FT_Renderer   render,\n                      FT_GlyphSlot
      \ slot,\n                      FT_BBox*      cbox )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:134,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:141,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:148,1
    - Dst: ft_glyphslot_preset_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:152,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:154,1
    - Dst: FT_ALLOC_MULT
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:159,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:179,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:205,1
    - Dst: lcd_filter_func
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:246,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:267,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:270,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:275,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:278,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:284,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:287,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:298,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:310,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:313,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:328,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:331,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:336,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:339,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:345,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:348,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:360,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:372,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:377,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 144
    argCount: 5
    argNames:
    - render
    - slot
    - mode
    - origin
    - required_mode
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 380
    functionName: ft_smooth_render_generic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_Outline_Translate
    - lcd_filter_func
    - FT_Renderer::raster_render
    - FT_ALLOC
    - ft_glyphslot_preset_bitmap
    - FT_THROW
    - FT_ALLOC_MULT
    - FT_FREE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_render_generic( FT_Renderer       render,\n                            FT_GlyphSlot
      \     slot,\n                            FT_Render_Mode    mode,\n                            const
      FT_Vector*  origin,\n                            FT_Render_Mode    required_mode
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_smooth_render_generic
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - render
    - slot
    - mode
    - origin
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: ft_smooth_render
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - ft_smooth_render_generic
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_render( FT_Renderer       render,\n                    FT_GlyphSlot
      \     slot,\n                    FT_Render_Mode    mode,\n                    const
      FT_Vector*  origin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_smooth_render_generic
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - render
    - slot
    - mode
    - origin
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 407
    functionName: ft_smooth_render_lcd
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - ft_smooth_render_generic
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_render_lcd( FT_Renderer       render,\n                        FT_GlyphSlot
      \     slot,\n                        FT_Render_Mode    mode,\n                        const
      FT_Vector*  origin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_smooth_render_generic
      Src: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - render
    - slot
    - mode
    - origin
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 419
    functionName: ft_smooth_render_lcd_v
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/smooth/ftsmooth.c
    functionUses: 0
    functionsReached:
    - ft_smooth_render_generic
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_smooth_render_lcd_v( FT_Renderer       render,\n                          FT_GlyphSlot
      \     slot,\n                          FT_Render_Mode    mode,\n                          const
      FT_Vector*  origin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - memory
    - items
    - size
    argTypes:
    - FT_Memory
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: ft_bzip2_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    linkageType: ''
    returnType: void
    signature: "void *\n  ft_bzip2_alloc( FT_Memory  memory,\n                  int
      \       items,\n                  int        size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - address
    argTypes:
    - FT_Memory
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: ft_bzip2_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_MEM_FREE
    linkageType: ''
    returnType: void
    signature: "void ft_bzip2_free( FT_Memory  memory,\n                 void*      address
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:122,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:123,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:132,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 138
    functionName: ft_bzip2_check_header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_STREAM_SEEK
    - FT_STREAM_READ
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_bzip2_check_header( FT_Stream  stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_check_header
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:162,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:166,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:178,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - zip
    - stream
    - source
    argTypes:
    - FT_BZip2File
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: ft_bzip2_file_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_bzip2_check_header
    - FT_STREAM_SEEK
    - BZ2_bzDecompressInit
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_bzip2_file_init( FT_BZip2File  zip,\n                      FT_Stream
      \    stream,\n                      FT_Stream     source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BZ2_bzDecompressEnd
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_BZip2File
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: ft_bzip2_file_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - BZ2_bzDecompressEnd
    linkageType: ''
    returnType: void
    signature: void ft_bzip2_file_done( FT_BZip2File  zip )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:217,1
    - Dst: BZ2_bzDecompressEnd
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:222,1
    - Dst: BZ2_bzDecompressInit
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_BZip2File
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 237
    functionName: ft_bzip2_file_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - BZ2_bzDecompressEnd
    - FT_STREAM_SEEK
    - BZ2_bzDecompressInit
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_bzip2_file_reset( FT_BZip2File  zip )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:250,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:255,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:267,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_BZip2File
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 278
    functionName: ft_bzip2_file_fill_input
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Stream::read
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_bzip2_file_fill_input( FT_BZip2File  zip )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_file_fill_input
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:299,1
    - Dst: BZ2_bzDecompress
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:304,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:310,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_BZip2File
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 322
    functionName: ft_bzip2_file_fill_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_bzip2_file_fill_input
    - BZ2_bzDecompress
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_bzip2_file_fill_output( FT_BZip2File  zip )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_file_fill_output
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - zip
    - count
    argTypes:
    - FT_BZip2File
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 353
    functionName: ft_bzip2_file_skip_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - ft_bzip2_file_fill_output
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_bzip2_file_skip_output( FT_BZip2File  zip,\n                             FT_ULong
      \     count )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_file_reset
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:370,1
    - Dst: ft_bzip2_file_skip_output
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:378,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:396,1
    - Dst: ft_bzip2_file_fill_output
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - zip
    - pos
    - buffer
    - count
    argTypes:
    - FT_BZip2File
    - FT_ULong
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 413
    functionName: ft_bzip2_file_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - ft_bzip2_file_skip_output
    - ft_bzip2_file_fill_output
    - ft_bzip2_file_reset
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong ft_bzip2_file_io( FT_BZip2File  zip,\n                    FT_ULong
      \     pos,\n                    FT_Byte*      buffer,\n                    FT_ULong
      \     count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_file_done
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:434,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 440
    functionName: ft_bzip2_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - ft_bzip2_file_done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void ft_bzip2_stream_close( FT_Stream  stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_bzip2_file_io
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - offset
    - buffer
    - count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 453
    functionName: ft_bzip2_stream_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 0
    functionsReached:
    - ft_bzip2_file_io
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ft_bzip2_stream_io( FT_Stream       stream,\n                      unsigned
      long   offset,\n                      unsigned char*  buffer,\n                      unsigned
      long   count )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:467,1
    - Dst: ft_bzip2_check_header
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:477,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:481,1
    - Dst: FT_QNEW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:484,1
    - Dst: ft_bzip2_file_init
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:486,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:489,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 504
    functionName: FT_Stream_OpenBzip2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - ft_bzip2_check_header
    - ft_bzip2_file_init
    - FT_ZERO
    - FT_FREE
    - FT_QNEW
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenBzip2( FT_Stream  stream,\n                       FT_Stream
      \ source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:512,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:513,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 516
    functionName: FT_Stream_OpenBzip2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bzip2/ftbzip2.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenBzip2( FT_Stream  stream,\n                       FT_Stream
      \ source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:60,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:61,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: FT_Message
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void FT_Message( const char*  fmt,\n              ... )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:75,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:76,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:77,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 80
    functionName: FT_Panic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - va_start
    - exit
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: "void FT_Panic( const char*  fmt,\n            ... )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:92,1
    - Dst: FT_Error_String
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:97,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:99,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:100,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - error
    - line
    - file
    argTypes:
    - FT_Error
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 105
    functionName: FT_Throw
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - FT_Error_String
    - fprintf
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Throw( FT_Error     error,\n            int          line,\n
      \           const char*  file )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: FT_TRACE_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: FT_Trace_Get_Count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Get_Count( void )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Trace_Get_Count
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - idx
    argTypes:
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: FT_Trace_Get_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - FT_Trace_Get_Count
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Get_Name( FT_Int  idx )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 166
    functionName: FT_Trace_Disable
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Disable( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 175
    functionName: FT_Trace_Enable
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Enable( void )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:199,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 271
    functionName: ft_debug_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - ft_getenv
    linkageType: ''
    returnType: void
    signature: void ft_debug_init( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 281
    functionName: ft_debug_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ft_debug_init( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 288
    functionName: FT_Trace_Get_Count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Get_Count( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - idx
    argTypes:
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 297
    functionName: FT_Trace_Get_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Get_Name( FT_Int  idx )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 304
    functionName: FT_Trace_Disable
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Disable( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: FT_Trace_Enable
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdebug.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Trace_Enable( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:130,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:131,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:132,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fontName
    - pathSpec
    - face_index
    argTypes:
    - char*
    - FSSpec*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: FT_GetFile_From_Mac_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_GetFile_From_Mac_Name( const char*  fontName,\n                            FSSpec*
      \     pathSpec,\n                            FT_Long*     face_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ATSFontGetFileReference
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:152,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:156,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:157,1
    - Dst: ATSFontGetFileSpecification
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:166,1
    - Dst: FSpMakeFSRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - ats_font_id
    - ats_font_ref
    argTypes:
    - ATSFontRef
    - FSRef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 172
    functionName: FT_ATSFontGetFileReference
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    - ATSFontGetFileSpecification
    - FSpMakeFSRef
    - ATSFontGetFileReference
    linkageType: ''
    returnType: OSStatus
    signature: "OSStatus FT_ATSFontGetFileReference( ATSFontRef  ats_font_id,\n                              FSRef*
      \     ats_font_ref )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CFStringCreateWithCString
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:186,1
    - Dst: ATSFontFindFromName
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:188,1
    - Dst: CFRelease
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:190,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:193,1
    - Dst: FT_ATSFontGetFileReference
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:195,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:196,1
    - Dst: FT_ATSFontGetFileReference
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:207,1
    - Dst: FSCompareFSRefs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:209,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - fontName
    - ats_font_ref
    - face_index
    argTypes:
    - char*
    - FSRef*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 218
    functionName: FT_GetFileRef_From_Mac_ATS_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - ATSFontFindFromName
    - FSCompareFSRefs
    - FT_THROW
    - FT_ATSFontGetFileReference
    - CFRelease
    - CFStringCreateWithCString
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FT_GetFileRef_From_Mac_ATS_Name( const char*  fontName,\n
      \                                  FSRef*       ats_font_ref,\n                                   FT_Long*
      \    face_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:232,1
    - Dst: FT_GetFileRef_From_Mac_ATS_Name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:234,1
    - Dst: FSRefMakePath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:238,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - fontName
    - path
    - maxPathSize
    - face_index
    argTypes:
    - char*
    - UInt8*
    - UInt32
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 242
    functionName: FT_GetFilePath_From_Mac_ATS_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_GetFileRef_From_Mac_ATS_Name
    - FSRefMakePath
    linkageType: ''
    returnType: void
    signature: "void FT_GetFilePath_From_Mac_ATS_Name( const char*  fontName,\n                                    UInt8*
      \      path,\n                                    UInt32       maxPathSize,\n
      \                                   FT_Long*     face_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:253,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:254,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:255,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:257,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:264,1
    - Dst: FT_GetFileRef_From_Mac_ATS_Name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:266,1
    - Dst: FSGetCatalogInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:270,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:272,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - fontName
    - pathSpec
    - face_index
    argTypes:
    - char*
    - FSSpec*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 276
    functionName: FT_GetFile_From_Mac_ATS_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FSGetCatalogInfo
    - FT_GetFileRef_From_Mac_ATS_Name
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_GetFile_From_Mac_ATS_Name( const char*  fontName,\n                                FSSpec*
      \     pathSpec,\n                                FT_Long*     face_index )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FSPathMakeRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:287,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:288,1
    - Dst: FSOpenResourceFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:291,1
    - Dst: FSOpenResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:296,1
    - Dst: ResError
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pathname
    - res
    argTypes:
    - UInt8*
    - ResFileRefNum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 300
    functionName: FT_FSPathMakeRes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FSOpenResFile
    - FT_THROW
    - ResError
    - FSOpenResourceFile
    - FSPathMakeRef
    linkageType: ''
    returnType: OSErr
    signature: "OSErr FT_FSPathMakeRes( const UInt8*    pathname,\n                    ResFileRefNum*
      \ res )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FSPathMakeRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:311,1
    - Dst: FSGetCatalogInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - UInt8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: get_file_type_from_path
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FSGetCatalogInfo
    - FSPathMakeRef
    linkageType: ''
    returnType: OSType
    signature: OSType get_file_type_from_path( const UInt8*  pathname )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_isupper
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:336,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:342,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - ps_name
    - lwfn_file_name
    argTypes:
    - char*
    - Str255
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 350
    functionName: create_lwfn_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - ft_isalnum
    - ft_isupper
    linkageType: ''
    returnType: void
    signature: "void create_lwfn_name( char*   ps_name,\n                    Str255
      \ lwfn_file_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fond_data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 361
    functionName: count_faces_sfnt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - EndianS16_BtoN
    linkageType: ''
    returnType: short
    signature: short count_faces_sfnt( char*  fond_data )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:371,1
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fond_data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 382
    functionName: count_faces_scalable
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - EndianS16_BtoN
    linkageType: ''
    returnType: short
    signature: short count_faces_scalable( char*  fond_data )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: count_faces_sfnt
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:418,1
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:424,1
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:427,1
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:432,1
    - Dst: EndianS32_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:436,1
    - Dst: EndianS32_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:446,1
    - Dst: EndianS16_BtoN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:449,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:450,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:466,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:488,1
    - Dst: create_lwfn_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:497,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 5
    argNames:
    - fond_data
    - have_sfnt
    - sfnt_id
    - lwfn_file_name
    - face_index
    argTypes:
    - char*
    - short*
    - ResID*
    - Str255
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 499
    functionName: parse_fond
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - FT_MIN
    - EndianS32_BtoN
    - create_lwfn_name
    - count_faces_sfnt
    - EndianS16_BtoN
    linkageType: ''
    returnType: void
    signature: "void parse_fond( char*   fond_data,\n              short*  have_sfnt,\n
      \             ResID*  sfnt_id,\n              Str255  lwfn_file_name,\n              short
      \  face_index )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FSPathMakeRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:515,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:516,1
    - Dst: FSGetCatalogInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:518,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:520,1
    - Dst: FSRefMakePath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:522,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:523,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:525,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:526,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:529,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:530,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:531,1
    - Dst: FSPathMakeRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:534,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:535,1
    - Dst: FSGetCatalogInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:537,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:539,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - path_fond
    - base_lwfn
    - path_lwfn
    - path_size
    argTypes:
    - UInt8*
    - ConstStr255Param
    - UInt8*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 542
    functionName: lookup_lwfn_by_fond
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FSGetCatalogInfo
    - ft_strlen
    - ft_strcat
    - FT_THROW
    - FSPathMakeRef
    - FSRefMakePath
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error lookup_lwfn_by_fond( const UInt8*      path_fond,\n                       ConstStr255Param
      \ base_lwfn,\n                       UInt8*            path_lwfn,\n                       size_t
      \           path_size )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: parse_fond
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:559,1
    - Dst: lookup_lwfn_by_fond
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:563,1
    - Dst: count_faces_scalable
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:572,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - fond
    - pathname
    argTypes:
    - Handle
    - UInt8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 575
    functionName: count_faces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - count_faces_scalable
    - parse_fond
    - lookup_lwfn_by_fond
    linkageType: ''
    returnType: short
    signature: "short count_faces( Handle        fond,\n               const UInt8*
      \ pathname )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UseResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:599,1
    - Dst: Get1Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:608,1
    - Dst: GetHandleSize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:622,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:628,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:635,1
    - Dst: Get1Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:647,1
    - Dst: GetHandleSize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:651,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:684,1
    - Dst: CloseResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:694,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 68
    argCount: 4
    argNames:
    - memory
    - res
    - pfb_data
    - size
    argTypes:
    - FT_Memory
    - ResFileRefNum
    - FT_Byte**
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 696
    functionName: read_lwfn
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - FT_ALLOC
    - GetHandleSize
    - UseResFile
    - FT_THROW
    - Get1Resource
    - CloseResFile
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error read_lwfn( FT_Memory      memory,\n             ResFileRefNum
      \ res,\n             FT_Byte**      pfb_data,\n             FT_ULong*      size
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FSPathMakeRes
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:712,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:713,1
    - Dst: read_lwfn
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:717,1
    - Dst: CloseResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:718,1
    - Dst: open_face_from_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:722,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - library
    - pathname
    - face_index
    - aface
    argTypes:
    - FT_Library
    - UInt8*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 728
    functionName: FT_New_Face_From_LWFN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_FSPathMakeRes
    - FT_THROW
    - read_lwfn
    - CloseResFile
    - open_face_from_buffer
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FT_New_Face_From_LWFN( FT_Library    library,\n                         const
      UInt8*  pathname,\n                         FT_Long       face_index,\n                         FT_Face*
      \     aface )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GetResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:746,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:748,1
    - Dst: GetHandleSize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:750,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:754,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:756,1
    - Dst: ReleaseResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:758,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:762,1
    - Dst: ReleaseResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:763,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:765,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:766,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:773,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:776,1
    - Dst: open_face_PS_from_sfnt_stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:777,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:783,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:784,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:785,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:789,1
    - Dst: open_face_from_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:792,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - library
    - sfnt_id
    - face_index
    - aface
    argTypes:
    - FT_Library
    - ResID
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 800
    functionName: FT_New_Face_From_SFNT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - FT_ALLOC
    - GetHandleSize
    - FT_Stream_OpenMemory
    - open_face_PS_from_sfnt_stream
    - ReleaseResource
    - FT_THROW
    - GetResource
    - ft_memcmp
    - FT_FREE
    - open_face_from_buffer
    - FT_NEW
    - FT_Stream_Close
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FT_New_Face_From_SFNT( FT_Library  library,\n                         ResID
      \      sfnt_id,\n                         FT_Long     face_index,\n                         FT_Face*
      \   aface )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:810,1
    - Dst: FT_FSPathMakeRes
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:817,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:818,1
    - Dst: UseResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:820,1
    - Dst: ResError
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:821,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:822,1
    - Dst: Get1IndResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:830,1
    - Dst: ResError
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:831,1
    - Dst: count_faces
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:834,1
    - Dst: FT_New_Face_From_FOND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:838,1
    - Dst: CloseResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 4
    argNames:
    - library
    - pathname
    - face_index
    - aface
    argTypes:
    - FT_Library
    - UInt8*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 804
    functionDepth: 4
    functionLinenumber: 804
    functionLinenumberEnd: 847
    functionName: FT_New_Face_From_Suitcase
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_New_Face_From_FOND
    - UseResFile
    - FT_THROW
    - ResError
    - Get1IndResource
    - CloseResFile
    - FT_ERR
    - count_faces
    - FT_FSPathMakeRes
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FT_New_Face_From_Suitcase( FT_Library    library,\n                             const
      UInt8*  pathname,\n                             FT_Long       face_index,\n
      \                            FT_Face*      aface )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetResInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:870,1
    - Dst: ResError
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:871,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:872,1
    - Dst: parse_fond
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:874,1
    - Dst: HomeResFile
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:881,1
    - Dst: ResError
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:882,1
    - Dst: FSGetForkCBInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:890,1
    - Dst: FSRefMakePath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:895,1
    - Dst: lookup_lwfn_by_fond
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:899,1
    - Dst: FT_New_Face_From_LWFN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:907,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:912,1
    - Dst: FT_New_Face_From_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 31
    argCount: 4
    argNames:
    - library
    - fond
    - face_index
    - aface
    argTypes:
    - FT_Library
    - Handle
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 853
    functionDepth: 3
    functionLinenumber: 853
    functionLinenumberEnd: 922
    functionName: FT_New_Face_From_FOND
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 1
    functionsReached:
    - FT_New_Face_From_LWFN
    - GetResInfo
    - FT_New_Face_From_SFNT
    - FT_THROW
    - ResError
    - HomeResFile
    - FSGetForkCBInfo
    - parse_fond
    - lookup_lwfn_by_fond
    - FSRefMakePath
    linkageType: ''
    returnType: void
    signature: "void FT_New_Face_From_FOND( FT_Library  library,\n                         Handle
      \     fond,\n                         FT_Long     face_index,\n                         FT_Face*
      \   aface )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_file_type_from_path
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:937,1
    - Dst: FT_New_Face_From_LWFN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:939,1
    - Dst: FT_New_Face_From_Suitcase
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:945,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - library
    - pathname
    - face_index
    - aface
    argTypes:
    - FT_Library
    - UInt8*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 926
    functionDepth: 5
    functionLinenumber: 926
    functionLinenumberEnd: 954
    functionName: FT_New_Face_From_Resource
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - get_file_type_from_path
    - FT_New_Face_From_LWFN
    - FT_New_Face_From_Suitcase
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FT_New_Face_From_Resource( FT_Library    library,\n                             const
      UInt8*  pathname,\n                             FT_Long       face_index,\n
      \                            FT_Face*      aface )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:980,1
    - Dst: FT_New_Face_From_Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:985,1
    - Dst: FT_Open_Face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:994,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - library
    - pathname
    - face_index
    - aface
    argTypes:
    - FT_Library
    - char*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 969
    functionDepth: 6
    functionLinenumber: 969
    functionLinenumberEnd: 995
    functionName: FT_New_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_Open_Face
    - FT_New_Face_From_Resource
    linkageType: ''
    returnType: void
    signature: "void FT_New_Face( FT_Library   library,\n               const char*
      \ pathname,\n               FT_Long      face_index,\n               FT_Face*
      \    aface )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1027,1
    - Dst: FSRefMakePath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1029,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1031,1
    - Dst: FT_New_Face_From_Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1033,1
    - Dst: FT_Open_Face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1040,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - library
    - ref
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FSRef*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1011
    functionDepth: 6
    functionLinenumber: 1011
    functionLinenumberEnd: 1041
    functionName: FT_New_Face_From_FSRef
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Open_Face
    - FSRefMakePath
    - FT_New_Face_From_Resource
    linkageType: ''
    returnType: void
    signature: "void FT_New_Face_From_FSRef( FT_Library    library,\n                          const
      FSRef*  ref,\n                          FT_Long       face_index,\n                          FT_Face*
      \     aface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1063,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1064,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1065,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1066,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1068,1
    - Dst: FSpMakeFSRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1075,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1076,1
    - Dst: FT_New_Face_From_FSRef
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmac.c:1078,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - library
    - spec
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FSSpec*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1056
    functionDepth: 7
    functionLinenumber: 1056
    functionLinenumberEnd: 1080
    functionName: FT_New_Face_From_FSSpec
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmac.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_New_Face_From_FSRef
    - FSpMakeFSRef
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_New_Face_From_FSSpec( FT_Library     library,\n                           const
      FSSpec*  spec,\n                           FT_Long        face_index,\n                           FT_Face*
      \      aface )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgasp.c:31,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - face
    - ppem
    argTypes:
    - FT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 58
    functionName: FT_Get_Gasp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgasp.c
    functionUses: 0
    functionsReached:
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Gasp( FT_Face  face,\n               FT_UInt  ppem )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:48,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:50,1
    - Dst: FT_HAS_MULTIPLE_MASTERS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:52,1
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - face
    - aservice
    argTypes:
    - FT_Face
    - FT_Service_MultiMasters*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 63
    functionName: ft_face_get_mm_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_LOOKUP_SERVICE
    - FT_ERR
    - FT_HAS_MULTIPLE_MASTERS
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_face_get_mm_service( FT_Face                   face,\n
      \                         FT_Service_MultiMasters  *aservice )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:76,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:78,1
    - Dst: FT_HAS_MULTIPLE_MASTERS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:80,1
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:82,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - face
    - aservice
    argTypes:
    - FT_Face
    - FT_Service_MetricsVariations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 91
    functionName: ft_face_get_mvar_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_LOOKUP_SERVICE
    - FT_ERR
    - FT_HAS_MULTIPLE_MASTERS
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_face_get_mvar_service( FT_Face                        face,\n
      \                           FT_Service_MetricsVariations  *aservice )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:107,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:109,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:112,1
    - Dst: FT_Service_MultiMasters::get_mm
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - face
    - amaster
    argTypes:
    - FT_Face
    - FT_Multi_Master*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 118
    functionName: FT_Get_Multi_Master
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_MultiMasters::get_mm
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Multi_Master( FT_Face           face,\n                       FT_Multi_Master
      \ *amaster )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:134,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:136,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:139,1
    - Dst: FT_Service_MultiMasters::get_mm_var
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - face
    - amaster
    argTypes:
    - FT_Face
    - FT_MM_Var**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: FT_Get_MM_Var
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - ft_face_get_mm_service
    - FT_Service_MultiMasters::get_mm_var
    linkageType: ''
    returnType: void
    signature: "void FT_Get_MM_Var( FT_Face      face,\n                 FT_MM_Var*
      \ *amaster )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:158,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - library
    - amaster
    argTypes:
    - FT_Library
    - FT_MM_Var*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: FT_Done_MM_Var
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void FT_Done_MM_Var( FT_Library  library,\n                  FT_MM_Var*
      \ amaster )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:181,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:183,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:186,1
    - Dst: FT_Service_MultiMasters::set_mm_design
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:188,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 199
    functionName: FT_Set_MM_Design_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::set_mm_design
    - FT_THROW
    - FT_Face::autohint::finalizer
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Set_MM_Design_Coordinates( FT_Face   face,\n                                FT_UInt
      \  num_coords,\n                                FT_Long*  coords )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:216,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:218,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:221,1
    - Dst: FT_Service_MultiMasters::set_mm_weightvector
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:223,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 234
    functionName: FT_Set_MM_WeightVector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Face::autohint::finalizer
    - FT_ERR
    - ft_face_get_mm_service
    - FT_Service_MultiMasters::set_mm_weightvector
    linkageType: ''
    returnType: void
    signature: "void FT_Set_MM_WeightVector( FT_Face    face,\n                          FT_UInt
      \   len,\n                          FT_Fixed*  weightvector )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:249,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:251,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:254,1
    - Dst: FT_Service_MultiMasters::get_mm_weightvector
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - face
    - len
    - weightvector
    argTypes:
    - FT_Face
    - FT_UInt*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 260
    functionName: FT_Get_MM_WeightVector
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - ft_face_get_mm_service
    - FT_Service_MultiMasters::get_mm_weightvector
    linkageType: ''
    returnType: void
    signature: "void FT_Get_MM_WeightVector( FT_Face    face,\n                          FT_UInt*
      \  len,\n                          FT_Fixed*  weightvector )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:278,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:280,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:283,1
    - Dst: FT_Service_MultiMasters::set_var_design
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:285,1
    - Dst: ft_face_get_mvar_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:294,1
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:297,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:303,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 308
    functionName: FT_Set_Var_Design_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - ft_face_get_mvar_service
    - FT_THROW
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_Service_MultiMasters::set_var_design
    - FT_Face::autohint::finalizer
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Var_Design_Coordinates( FT_Face    face,\n                                 FT_UInt
      \   num_coords,\n                                 FT_Fixed*  coords )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:325,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:327,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:330,1
    - Dst: FT_Service_MultiMasters::get_var_design
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 336
    functionName: FT_Get_Var_Design_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_MultiMasters::get_var_design
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Var_Design_Coordinates( FT_Face    face,\n                                 FT_UInt
      \   num_coords,\n                                 FT_Fixed*  coords )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:354,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:356,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:359,1
    - Dst: FT_Service_MultiMasters::set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:361,1
    - Dst: ft_face_get_mvar_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:370,1
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:373,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:379,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 384
    functionName: FT_Set_MM_Blend_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    - FT_Service_MultiMasters::set_mm_blend
    - FT_THROW
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_Face::autohint::finalizer
    - ft_face_get_mvar_service
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Set_MM_Blend_Coordinates( FT_Face    face,\n                               FT_UInt
      \   num_coords,\n                               FT_Fixed*  coords )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:405,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:407,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:410,1
    - Dst: FT_Service_MultiMasters::set_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:412,1
    - Dst: ft_face_get_mvar_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:421,1
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:424,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:430,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 435
    functionName: FT_Set_Var_Blend_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    - FT_Service_MultiMasters::set_mm_blend
    - FT_THROW
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_Face::autohint::finalizer
    - ft_face_get_mvar_service
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Var_Blend_Coordinates( FT_Face    face,\n                                FT_UInt
      \   num_coords,\n                                FT_Fixed*  coords )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:452,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:454,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:457,1
    - Dst: FT_Service_MultiMasters::get_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 463
    functionName: FT_Get_MM_Blend_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_MultiMasters::get_mm_blend
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Get_MM_Blend_Coordinates( FT_Face    face,\n                               FT_UInt
      \   num_coords,\n                               FT_Fixed*  coords )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:483,1
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:485,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:488,1
    - Dst: FT_Service_MultiMasters::get_mm_blend
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:490,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - face
    - num_coords
    - coords
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 494
    functionName: FT_Get_Var_Blend_Coordinates
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_MultiMasters::get_mm_blend
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Var_Blend_Coordinates( FT_Face    face,\n                                FT_UInt
      \   num_coords,\n                                FT_Fixed*  coords )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:508,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - master
    - axis_index
    - flags
    argTypes:
    - FT_MM_Var*
    - FT_UInt
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 518
    functionName: FT_Get_Var_Axis_Flags
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Var_Axis_Flags( FT_MM_Var*  master,\n                         FT_UInt
      \    axis_index,\n                         FT_UInt*    flags )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ft_face_get_mm_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:535,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:538,1
    - Dst: FT_Service_MultiMasters::set_instance
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:540,1
    - Dst: ft_face_get_mvar_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:545,1
    - Dst: FT_Service_MetricsVariations::metrics_adjust
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:548,1
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftmm.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - face
    - instance_index
    argTypes:
    - FT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 566
    functionName: FT_Set_Named_Instance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftmm.c
    functionUses: 0
    functionsReached:
    - FT_Service_MultiMasters::set_instance
    - ft_face_get_mvar_service
    - FT_Service_MetricsVariations::metrics_adjust
    - FT_Face::autohint::finalizer
    - FT_ERR
    - ft_face_get_mm_service
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Named_Instance( FT_Face  face,\n                         FT_UInt
      \ instance_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:37,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:40,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:42,1
    - Dst: FT_Service_PsInfo::ps_get_font_info
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:45,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:47,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - face
    - afont_info
    argTypes:
    - FT_Face
    - PS_FontInfoRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: FT_Get_PS_Font_Info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttype1.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_Service_PsInfo::ps_get_font_info
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PS_Font_Info( FT_Face          face,\n                       PS_FontInfoRec*
      \ afont_info )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:64,1
    - Dst: FT_Service_PsInfo::ps_has_glyph_names
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:67,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: FT_Has_PS_Glyph_Names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttype1.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Service_PsInfo::ps_has_glyph_names
    linkageType: ''
    returnType: void
    signature: void FT_Has_PS_Glyph_Names( FT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:85,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:88,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:90,1
    - Dst: FT_Service_PsInfo::ps_get_font_private
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:93,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:95,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - face
    - afont_private
    argTypes:
    - FT_Face
    - PS_PrivateRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 98
    functionName: FT_Get_PS_Font_Private
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttype1.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_Service_PsInfo::ps_get_font_private
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PS_Font_Private( FT_Face         face,\n                          PS_PrivateRec*
      \ afont_private )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:116,1
    - Dst: FT_Service_PsInfo::ps_get_font_value
      Src: /src/libspectre/ghostscript/freetype/src/base/fttype1.c:119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - face
    - key
    - idx
    - value
    - value_len
    argTypes:
    - FT_Face
    - PS_Dict_Keys
    - FT_UInt
    - void*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 124
    functionName: FT_Get_PS_Font_Value
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttype1.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Service_PsInfo::ps_get_font_value
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PS_Font_Value( FT_Face       face,\n                        PS_Dict_Keys
      \ key,\n                        FT_UInt       idx,\n                        void
      \        *value,\n                        FT_Long       value_len )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:43,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:53,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:57,1
    - Dst: FT_Service_OTvalidate::validate
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:60,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:68,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 7
    argNames:
    - face
    - validation_flags
    - BASE_table
    - GDEF_table
    - GPOS_table
    - GSUB_table
    - JSTF_table
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    - FT_Bytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 72
    functionName: FT_OpenType_Validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftotval.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_GLOBAL_SERVICE
    - FT_Service_OTvalidate::validate
    linkageType: ''
    returnType: void
    signature: "void FT_OpenType_Validate( FT_Face    face,\n                        FT_UInt
      \   validation_flags,\n                        FT_Bytes  *BASE_table,\n                        FT_Bytes
      \ *GDEF_table,\n                        FT_Bytes  *GPOS_table,\n                        FT_Bytes
      \ *GSUB_table,\n                        FT_Bytes  *JSTF_table )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:85,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftotval.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - face
    - table
    argTypes:
    - FT_Face
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: FT_OpenType_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftotval.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: "void FT_OpenType_Free( FT_Face   face,\n                    FT_Bytes
      \ table )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:64,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:69,1
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:84,1
    - Dst: FT_Bitmap_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - bitmap_glyph
    - slot
    argTypes:
    - FT_Glyph
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 90
    functionName: ft_bitmap_glyph_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Bitmap_Copy
    - FT_GLYPH
    - FT_Bitmap_Init
    linkageType: ''
    returnType: void
    signature: "void ft_bitmap_glyph_init( FT_Glyph      bitmap_glyph,\n                        FT_GlyphSlot
      \ slot )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Bitmap_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - bitmap_source
    - bitmap_target
    argTypes:
    - FT_Glyph
    - FT_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: ft_bitmap_glyph_copy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Bitmap_Copy
    linkageType: ''
    returnType: void
    signature: "void ft_bitmap_glyph_copy( FT_Glyph  bitmap_source,\n                        FT_Glyph
      \ bitmap_target )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:113,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bitmap_glyph
    argTypes:
    - FT_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 117
    functionName: ft_bitmap_glyph_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_GLYPH
    - FT_Bitmap_Done
    linkageType: ''
    returnType: void
    signature: void ft_bitmap_glyph_done( FT_Glyph  bitmap_glyph )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bitmap_glyph
    - cbox
    argTypes:
    - FT_Glyph
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: ft_bitmap_glyph_bbox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_bitmap_glyph_bbox( FT_Glyph  bitmap_glyph,\n                        FT_BBox*
      \ cbox )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:164,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:172,1
    - Dst: FT_Outline_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:177,1
    - Dst: FT_Outline_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - outline_glyph
    - slot
    argTypes:
    - FT_Glyph
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 188
    functionName: ft_outline_glyph_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Outline_Copy
    - FT_GLYPH
    - FT_Outline_New
    linkageType: ''
    returnType: void
    signature: "void ft_outline_glyph_init( FT_Glyph      outline_glyph,\n                         FT_GlyphSlot
      \ slot )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:197,1
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outline_glyph
    argTypes:
    - FT_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: ft_outline_glyph_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Done
    - FT_GLYPH
    linkageType: ''
    returnType: void
    signature: void ft_outline_glyph_done( FT_Glyph  outline_glyph )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:208,1
    - Dst: FT_Outline_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:211,1
    - Dst: FT_Outline_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - outline_source
    - outline_target
    argTypes:
    - FT_Glyph
    - FT_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 219
    functionName: ft_outline_glyph_copy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Copy
    - FT_GLYPH
    - FT_Outline_New
    linkageType: ''
    returnType: void
    signature: "void ft_outline_glyph_copy( FT_Glyph  outline_source,\n                         FT_Glyph
      \ outline_target )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:231,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - outline_glyph
    - matrix
    - delta
    argTypes:
    - FT_Glyph
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 235
    functionName: ft_outline_glyph_transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Transform
    - FT_Outline_Translate
    linkageType: ''
    returnType: void
    signature: "void ft_outline_glyph_transform( FT_Glyph          outline_glyph,\n
      \                             const FT_Matrix*  matrix,\n                              const
      FT_Vector*  delta )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outline_glyph
    - bbox
    argTypes:
    - FT_Glyph
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: ft_outline_glyph_bbox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_CBox
    linkageType: ''
    returnType: void
    signature: "void ft_outline_glyph_bbox( FT_Glyph  outline_glyph,\n                         FT_BBox*
      \ bbox )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - outline_glyph
    - slot
    argTypes:
    - FT_Glyph
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: ft_outline_glyph_prepare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_outline_glyph_prepare( FT_Glyph      outline_glyph,\n                            FT_GlyphSlot
      \ slot )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - library
    - clazz
    - aglyph
    argTypes:
    - FT_Library
    - FT_Glyph_Class*
    - FT_Glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 309
    functionName: ft_new_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_new_glyph( FT_Library             library,\n                 const
      FT_Glyph_Class*  clazz,\n                 FT_Glyph*              aglyph )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:326,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:334,1
    - Dst: ft_new_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:339,1
    - Dst: FT_Glyph_Class*::glyph_copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:347,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:350,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - FT_Glyph
    - FT_Glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: FT_Glyph_Copy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_new_glyph
    - FT_Glyph_Class*::glyph_copy
    - FT_Done_Glyph
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_Copy( FT_Glyph   source,\n                 FT_Glyph
      \ *target )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:369,1
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:382,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:390,1
    - Dst: ft_new_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - library
    - format
    - aglyph
    argTypes:
    - FT_Library
    - FT_Glyph_Format
    - FT_Glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 394
    functionName: FT_New_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Lookup_Renderer
    - ft_new_glyph
    linkageType: ''
    returnType: void
    signature: "void FT_New_Glyph( FT_Library       library,\n                FT_Glyph_Format
      \ format,\n                FT_Glyph        *aglyph )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:408,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:411,1
    - Dst: FT_New_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:414,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:422,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:423,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:429,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:430,1
    - Dst: FT_Glyph::clazz::glyph_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:438,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:443,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - slot
    - aglyph
    argTypes:
    - FT_GlyphSlot
    - FT_Glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 449
    functionName: FT_Get_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Glyph::clazz::glyph_init
    - FT_Done_Glyph
    - FT_THROW
    - FT_New_Glyph
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Glyph( FT_GlyphSlot  slot,\n                FT_Glyph     *aglyph
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:463,1
    - Dst: FT_Glyph_Class*::glyph_transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:472,1
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:476,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:479,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - glyph
    - matrix
    - delta
    argTypes:
    - FT_Glyph
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 482
    functionName: FT_Glyph_Transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Glyph_Class*::glyph_transform
    - FT_Vector_Transform
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_Transform( FT_Glyph    glyph,\n                      FT_Matrix*
      \ matrix,\n                      FT_Vector*  delta )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_Glyph_Class*::glyph_bbox
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:508,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:514,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:515,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:516,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:517,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - glyph
    - bbox_mode
    - acbox
    argTypes:
    - FT_Glyph
    - FT_UInt
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 529
    functionName: FT_Glyph_Get_CBox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Glyph_Class*::glyph_bbox
    - FT_PIX_CEIL_LONG
    - FT_PIX_FLOOR
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_Get_CBox( FT_Glyph  glyph,\n                     FT_UInt
      \  bbox_mode,\n                     FT_BBox  *acbox )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:572,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:573,1
    - Dst: ft_new_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:579,1
    - Dst: FT_Glyph_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:587,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:589,1
    - Dst: FT_Glyph_Class*::glyph_prepare
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:593,1
    - Dst: FT_Render_Glyph_Internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:595,1
    - Dst: FT_Glyph_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:605,1
    - Dst: ft_bitmap_glyph_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:613,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:621,1
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:623,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:627,1
    - Dst: FT_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:627,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:632,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 61
    argCount: 4
    argNames:
    - the_glyph
    - render_mode
    - origin
    - destroy
    argTypes:
    - FT_Glyph*
    - FT_Render_Mode
    - FT_Vector*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 634
    functionName: FT_Glyph_To_Bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 0
    functionsReached:
    - FT_Done_Glyph
    - ft_new_glyph
    - FT_GLYPH
    - FT_THROW
    - FT_Glyph_Transform
    - FT_ZERO
    - FT_Glyph_Class*::glyph_prepare
    - ft_bitmap_glyph_init
    - FT_Render_Glyph_Internal
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_To_Bitmap( FT_Glyph*       the_glyph,\n                      FT_Render_Mode
      \ render_mode,\n                      FT_Vector*      origin,\n                      FT_Bool
      \        destroy )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Glyph_Class*::glyph_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:649,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - FT_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 653
    functionName: FT_Done_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftglyph.c
    functionUses: 3
    functionsReached:
    - FT_FREE
    - FT_Glyph_Class*::glyph_done
    linkageType: ''
    returnType: void
    signature: void FT_Done_Glyph( FT_Glyph  glyph )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_Orientation
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: FT_Outline_GetInsideBorder
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_Orientation
    linkageType: ''
    returnType: void
    signature: void FT_Outline_GetInsideBorder( FT_Outline*  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_Orientation
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: FT_Outline_GetOutsideBorder
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_Orientation
    linkageType: ''
    returnType: void
    signature: void FT_Outline_GetOutsideBorder( FT_Outline*  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: FT_IS_SMALL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_SMALL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: ft_pos_abs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Pos
    signature: FT_Pos ft_pos_abs( FT_Pos  x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - base
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 101
    functionName: ft_conic_split
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ft_conic_split( FT_Vector*  base )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:119,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:119,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:120,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:120,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:132,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:140,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:144,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:145,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:149,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:149,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - base
    - angle_in
    - angle_out
    argTypes:
    - FT_Vector*
    - FT_Angle*
    - FT_Angle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 152
    functionName: ft_conic_is_small_enough
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_pos_abs
    - FT_BOOL
    - FT_IS_SMALL
    - FT_Atan2
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool ft_conic_is_small_enough( FT_Vector*  base,\n                            FT_Angle
      \  *angle_in,\n                            FT_Angle   *angle_out )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - base
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: ft_cubic_split
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ft_cubic_split( FT_Vector*  base )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - angle1
    - angle2
    argTypes:
    - FT_Angle
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: ft_angle_mean
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    linkageType: ''
    returnType: FT_Angle
    signature: "FT_Angle ft_angle_mean( FT_Angle  angle1,\n                 FT_Angle
      \ angle2 )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:216,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:216,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:217,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:217,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:218,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:218,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:233,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:242,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:247,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:248,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:260,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:264,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:265,1
    - Dst: ft_angle_mean
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:266,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:273,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:275,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:279,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:280,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:281,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:286,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:286,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:287,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:287,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:289,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 4
    argNames:
    - base
    - angle_in
    - angle_mid
    - angle_out
    argTypes:
    - FT_Vector*
    - FT_Angle*
    - FT_Angle*
    - FT_Angle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 291
    functionName: ft_cubic_is_small_enough
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_pos_abs
    - FT_BOOL
    - FT_IS_SMALL
    - FT_Atan2
    - ft_angle_mean
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool ft_cubic_is_small_enough( FT_Vector*  base,\n                            FT_Angle
      \  *angle_in,\n                            FT_Angle   *angle_mid,\n                            FT_Angle
      \  *angle_out )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:345,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - border
    - new_points
    argTypes:
    - FT_StrokeBorder
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: ft_stroke_border_grow
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_grow( FT_StrokeBorder  border,\n                         FT_UInt
      \         new_points )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:365,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - border
    - reverse
    argTypes:
    - FT_StrokeBorder
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 421
    functionName: ft_stroke_border_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void ft_stroke_border_close( FT_StrokeBorder  border,\n                          FT_Bool
      \         reverse )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:432,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:443,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:444,1
    - Dst: ft_stroke_border_grow
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:448,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - border
    - to
    - movable
    argTypes:
    - FT_StrokeBorder
    - FT_Vector*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 463
    functionName: ft_stroke_border_lineto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_IS_SMALL
    - ft_stroke_border_grow
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_lineto( FT_StrokeBorder  border,\n                           FT_Vector*
      \      to,\n                           FT_Bool          movable )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:474,1
    - Dst: ft_stroke_border_grow
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - border
    - control
    - to
    argTypes:
    - FT_StrokeBorder
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 466
    functionDepth: 2
    functionLinenumber: 466
    functionLinenumberEnd: 495
    functionName: ft_stroke_border_conicto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ft_stroke_border_grow
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_conicto( FT_StrokeBorder  border,\n                            FT_Vector*
      \      control,\n                            FT_Vector*       to )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:507,1
    - Dst: ft_stroke_border_grow
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - border
    - control1
    - control2
    - to
    argTypes:
    - FT_StrokeBorder
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 530
    functionName: ft_stroke_border_cubicto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ft_stroke_border_grow
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_cubicto( FT_StrokeBorder  border,\n                            FT_Vector*
      \      control1,\n                            FT_Vector*       control2,\n                            FT_Vector*
      \      to )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:550,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:575,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:580,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:580,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:581,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:583,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:587,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 5
    argNames:
    - border
    - center
    - radius
    - angle_start
    - angle_diff
    argTypes:
    - FT_StrokeBorder
    - FT_Vector*
    - FT_Fixed
    - FT_Angle
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 603
    functionName: ft_stroke_border_arcto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_MulDiv
    - FT_Cos
    - FT_Sin
    - FT_Vector_From_Polar
    - ft_stroke_border_cubicto
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_arcto( FT_StrokeBorder  border,\n                          FT_Vector*
      \      center,\n                          FT_Fixed         radius,\n                          FT_Angle
      \        angle_start,\n                          FT_Angle         angle_diff
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:612,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - border
    - to
    argTypes:
    - FT_StrokeBorder
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: ft_stroke_border_moveto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroke_border_lineto
    - ft_stroke_border_close
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_moveto( FT_StrokeBorder  border,\n                           FT_Vector*
      \      to )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - border
    - memory
    argTypes:
    - FT_StrokeBorder
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: ft_stroke_border_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_stroke_border_init( FT_StrokeBorder  border,\n                         FT_Memory
      \       memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - border
    argTypes:
    - FT_StrokeBorder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 642
    functionName: ft_stroke_border_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ft_stroke_border_reset( FT_StrokeBorder  border )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:651,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - border
    argTypes:
    - FT_StrokeBorder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 658
    functionName: ft_stroke_border_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void ft_stroke_border_done( FT_StrokeBorder  border )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - border
    - anum_points
    - anum_contours
    argTypes:
    - FT_StrokeBorder
    - FT_UInt*
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 709
    functionName: ft_stroke_border_get_counts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroke_border_get_counts( FT_StrokeBorder  border,\n                               FT_UInt
      \        *anum_points,\n                               FT_UInt         *anum_contours
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:718,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:760,1
    - Dst: FT_Outline_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:760,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - border
    - outline
    argTypes:
    - FT_StrokeBorder
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 761
    functionName: ft_stroke_border_export
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_ARRAY_COPY
    - FT_Outline_Check
    linkageType: ''
    returnType: void
    signature: "void ft_stroke_border_export( FT_StrokeBorder  border,\n                           FT_Outline*
      \     outline )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: FT_SIDE_TO_ROTATE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SIDE_TO_ROTATE( s )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:811,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:814,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:818,1
    - Dst: ft_stroke_border_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:822,1
    - Dst: ft_stroke_border_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:823,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - library
    - astroker
    argTypes:
    - FT_Library
    - FT_Stroker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 829
    functionName: FT_Stroker_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_NEW
    - ft_stroke_border_init
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_New( FT_Library   library,\n                  FT_Stroker
      \ *astroker )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stroker_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - stroker
    - radius
    - line_cap
    - line_join
    - miter_limit
    argTypes:
    - FT_Stroker
    - FT_Fixed
    - FT_Stroker_LineCap
    - FT_Stroker_LineJoin
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 858
    functionName: FT_Stroker_Set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Stroker_Rewind
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_Set( FT_Stroker           stroker,\n                  FT_Fixed
      \            radius,\n                  FT_Stroker_LineCap   line_cap,\n                  FT_Stroker_LineJoin
      \ line_join,\n                  FT_Fixed             miter_limit )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_reset
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:868,1
    - Dst: ft_stroke_border_reset
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - FT_Stroker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 871
    functionName: FT_Stroker_Rewind
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 1
    functionsReached:
    - ft_stroke_border_reset
    linkageType: ''
    returnType: void
    signature: void FT_Stroker_Rewind( FT_Stroker  stroker )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:884,1
    - Dst: ft_stroke_border_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:885,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:888,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - FT_Stroker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 877
    functionDepth: 2
    functionLinenumber: 877
    functionLinenumberEnd: 890
    functionName: FT_Stroker_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroke_border_done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void FT_Stroker_Done( FT_Stroker  stroker )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:904,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:906,1
    - Dst: ft_stroke_border_arcto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stroker
    - side
    argTypes:
    - FT_Stroker
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 894
    functionDepth: 4
    functionLinenumber: 894
    functionLinenumberEnd: 917
    functionName: ft_stroker_arcto
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_stroke_border_arcto
    - FT_SIDE_TO_ROTATE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_arcto( FT_Stroker  stroker,\n                    FT_Int
      \     side )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroker_arcto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:935,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:941,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:946,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:947,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:952,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:956,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:957,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:962,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:968,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:973,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:978,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:982,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:987,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - stroker
    - angle
    - side
    argTypes:
    - FT_Stroker
    - FT_Angle
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 921
    functionDepth: 5
    functionLinenumber: 921
    functionLinenumberEnd: 992
    functionName: ft_stroker_cap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroker_arcto
    - ft_stroke_border_lineto
    - FT_SIDE_TO_ROTATE
    - FT_Vector_From_Polar
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_cap( FT_Stroker  stroker,\n                  FT_Angle
      \   angle,\n                  FT_Int      side )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1009,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1011,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1022,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1022,1
    - Dst: FT_Tan
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1023,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1026,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1033,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1045,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1047,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1049,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1054,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - stroker
    - side
    - line_length
    argTypes:
    - FT_Stroker
    - FT_Int
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 996
    functionDepth: 3
    functionLinenumber: 996
    functionLinenumberEnd: 1057
    functionName: ft_stroker_inside
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_stroke_border_lineto
    - ft_pos_abs
    - FT_Tan
    - FT_BOOL
    - FT_SIDE_TO_ROTATE
    - FT_MulFix
    - FT_Cos
    - FT_Vector_From_Polar
    - FT_DivFix
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_inside( FT_Stroker  stroker,\n                     FT_Int
      \     side,\n                     FT_Fixed    line_length )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroker_arcto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1072,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1082,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1085,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1088,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1092,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1105,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1106,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1113,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1127,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1134,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1144,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1145,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1151,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1152,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1152,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1154,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1158,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1163,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1167,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1175,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1182,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1192,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1194,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1198,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1206,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1212,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 75
    argCount: 3
    argNames:
    - stroker
    - side
    - line_length
    argTypes:
    - FT_Stroker
    - FT_Int
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1061
    functionDepth: 5
    functionLinenumber: 1061
    functionLinenumberEnd: 1219
    functionName: ft_stroker_outside
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroker_arcto
    - FT_Angle_Diff
    - ft_stroke_border_lineto
    - ft_pos_abs
    - FT_Sin
    - FT_BOOL
    - FT_SIDE_TO_ROTATE
    - FT_Cos
    - FT_MulFix
    - FT_MulDiv
    - FT_Vector_From_Polar
    - FT_DivFix
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_outside( FT_Stroker  stroker,\n                      FT_Int
      \     side,\n                      FT_Fixed    line_length )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1231,1
    - Dst: ft_stroker_inside
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1242,1
    - Dst: ft_stroker_outside
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stroker
    - line_length
    argTypes:
    - FT_Stroker
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1222
    functionDepth: 6
    functionLinenumber: 1222
    functionLinenumberEnd: 1251
    functionName: ft_stroker_process_corner
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_stroker_outside
    - ft_stroker_inside
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_process_corner( FT_Stroker  stroker,\n                             FT_Fixed
      \   line_length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1267,1
    - Dst: ft_stroke_border_moveto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1274,1
    - Dst: ft_stroke_border_moveto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - stroker
    - start_angle
    - line_length
    argTypes:
    - FT_Stroker
    - FT_Angle
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1292
    functionName: ft_stroker_subpath_start
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Vector_From_Polar
    - ft_stroke_border_moveto
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_subpath_start( FT_Stroker  stroker,\n                            FT_Angle
      \   start_angle,\n                            FT_Fixed    line_length )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1310,1
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1320,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1322,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1323,1
    - Dst: ft_stroker_subpath_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1331,1
    - Dst: ft_stroker_process_corner
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1339,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1354,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - stroker
    - to
    argTypes:
    - FT_Stroker
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1298
    functionDepth: 7
    functionLinenumber: 1298
    functionLinenumberEnd: 1368
    functionName: FT_Stroker_LineTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroke_border_lineto
    - FT_Vector_Length
    - FT_THROW
    - ft_stroker_subpath_start
    - FT_Atan2
    - FT_Vector_From_Polar
    - ft_stroker_process_corner
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_LineTo( FT_Stroker  stroker,\n                     FT_Vector*
      \ to )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1387,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1393,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1394,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1395,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1396,1
    - Dst: ft_conic_is_small_enough
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1416,1
    - Dst: ft_conic_split
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1421,1
    - Dst: ft_stroker_subpath_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1432,1
    - Dst: ft_stroker_process_corner
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1436,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1439,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1439,1
    - Dst: ft_stroker_process_corner
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1448,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1467,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1469,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1469,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1473,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1479,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1482,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1487,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1501,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1505,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1505,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1514,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1515,1
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1520,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1522,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1522,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1523,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1523,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1525,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1527,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1533,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1536,1
    - Dst: ft_stroke_border_conicto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1539,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1543,1
    - Dst: ft_stroke_border_conicto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1554,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 103
    argCount: 3
    argNames:
    - stroker
    - control
    - to
    argTypes:
    - FT_Stroker
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1374
    functionDepth: 7
    functionLinenumber: 1374
    functionLinenumberEnd: 1569
    functionName: FT_Stroker_ConicTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_stroke_border_lineto
    - ft_pos_abs
    - FT_Vector_Length
    - FT_MulDiv
    - FT_SIDE_TO_ROTATE
    - FT_IS_SMALL
    - ft_stroke_border_conicto
    - FT_THROW
    - FT_Cos
    - ft_stroker_subpath_start
    - ft_conic_split
    - FT_Atan2
    - FT_Sin
    - FT_Vector_From_Polar
    - FT_DivFix
    - ft_conic_is_small_enough
    - ft_stroker_process_corner
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_ConicTo( FT_Stroker  stroker,\n                      FT_Vector*
      \ control,\n                      FT_Vector*  to )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1589,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1595,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1596,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1597,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1598,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1599,1
    - Dst: FT_IS_SMALL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1600,1
    - Dst: ft_cubic_is_small_enough
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1621,1
    - Dst: ft_cubic_split
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1627,1
    - Dst: ft_stroker_subpath_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1638,1
    - Dst: ft_stroker_process_corner
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1642,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1645,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1645,1
    - Dst: ft_stroker_process_corner
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1654,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1673,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1674,1
    - Dst: ft_angle_mean
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1675,1
    - Dst: ft_angle_mean
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1676,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1677,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1677,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1678,1
    - Dst: FT_Cos
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1678,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1682,1
    - Dst: FT_SIDE_TO_ROTATE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1688,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1691,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1695,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1700,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1714,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1718,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1718,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1727,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1728,1
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1733,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1735,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1735,1
    - Dst: ft_pos_abs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1736,1
    - Dst: FT_Sin
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1736,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1738,1
    - Dst: FT_Vector_From_Polar
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1740,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1746,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1749,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1752,1
    - Dst: ft_stroke_border_lineto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1759,1
    - Dst: ft_stroke_border_cubicto
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1770,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 110
    argCount: 4
    argNames:
    - stroker
    - control1
    - control2
    - to
    argTypes:
    - FT_Stroker
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1575
    functionDepth: 7
    functionLinenumber: 1575
    functionLinenumberEnd: 1785
    functionName: FT_Stroker_CubicTo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroke_border_lineto
    - ft_pos_abs
    - FT_Vector_Length
    - FT_THROW
    - FT_Vector_From_Polar
    - FT_DivFix
    - FT_IS_SMALL
    - ft_cubic_split
    - FT_Atan2
    - FT_MulDiv
    - FT_Sin
    - ft_stroke_border_cubicto
    - FT_Angle_Diff
    - ft_cubic_is_small_enough
    - FT_SIDE_TO_ROTATE
    - FT_Cos
    - ft_stroker_subpath_start
    - ft_angle_mean
    - ft_stroker_process_corner
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_CubicTo( FT_Stroker  stroker,\n                      FT_Vector*
      \ control1,\n                      FT_Vector*  control2,\n                      FT_Vector*
      \ to )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1796,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1812,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - stroker
    - to
    - open
    argTypes:
    - FT_Stroker
    - FT_Vector*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1791
    functionDepth: 1
    functionLinenumber: 1791
    functionLinenumberEnd: 1822
    functionName: FT_Stroker_BeginSubPath
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_BeginSubPath( FT_Stroker  stroker,\n                           FT_Vector*
      \ to,\n                           FT_Bool     open )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1835,1
    - Dst: ft_stroke_border_grow
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1840,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - stroker
    - open
    argTypes:
    - FT_Stroker
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1825
    functionDepth: 2
    functionLinenumber: 1825
    functionLinenumberEnd: 1886
    functionName: ft_stroker_add_reverse_left
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ft_stroke_border_grow
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_stroker_add_reverse_left( FT_Stroker  stroker,\n                               FT_Bool
      \    open )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1900,1
    - Dst: ft_stroker_cap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1912,1
    - Dst: ft_stroker_add_reverse_left
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1917,1
    - Dst: ft_stroker_cap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1923,1
    - Dst: ft_stroke_border_close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1930,1
    - Dst: FT_Stroker_LineTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1942,1
    - Dst: FT_Angle_Diff
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1949,1
    - Dst: ft_stroker_inside
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1959,1
    - Dst: ft_stroker_outside
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1966,1
    - Dst: ft_stroke_border_close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1974,1
    - Dst: ft_stroke_border_close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1975,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 1
    argNames:
    - stroker
    argTypes:
    - FT_Stroker
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1893
    functionDepth: 8
    functionLinenumber: 1893
    functionLinenumberEnd: 1980
    functionName: FT_Stroker_EndSubPath
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Angle_Diff
    - ft_stroker_cap
    - ft_stroker_add_reverse_left
    - ft_stroke_border_close
    - FT_Stroker_LineTo
    - FT_THROW
    - ft_stroker_outside
    - ft_stroker_inside
    linkageType: ''
    returnType: void
    signature: void FT_Stroker_EndSubPath( FT_Stroker  stroker )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:1997,1
    - Dst: ft_stroke_border_get_counts
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2001,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - stroker
    - border
    - anum_points
    - anum_contours
    argTypes:
    - FT_Stroker
    - FT_StrokerBorder
    - FT_UInt*
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2011
      start: 1986
    functionDepth: 1
    functionLinenumber: 1986
    functionLinenumberEnd: 2011
    functionName: FT_Stroker_GetBorderCounts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_stroke_border_get_counts
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_GetBorderCounts( FT_Stroker        stroker,\n                              FT_StrokerBorder
      \ border,\n                              FT_UInt          *anum_points,\n                              FT_UInt
      \         *anum_contours )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2028,1
    - Dst: ft_stroke_border_get_counts
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2032,1
    - Dst: ft_stroke_border_get_counts
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2037,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - stroker
    - anum_points
    - anum_contours
    argTypes:
    - FT_Stroker
    - FT_UInt*
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2017
    functionDepth: 1
    functionLinenumber: 2017
    functionLinenumberEnd: 2053
    functionName: FT_Stroker_GetCounts
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_stroke_border_get_counts
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_GetCounts( FT_Stroker  stroker,\n                        FT_UInt
      \   *anum_points,\n                        FT_UInt    *anum_contours )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_stroke_border_export
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2073,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 3
    argNames:
    - stroker
    - border
    - outline
    argTypes:
    - FT_Stroker
    - FT_StrokerBorder
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2059
    functionDepth: 2
    functionLinenumber: 2059
    functionLinenumberEnd: 2075
    functionName: FT_Stroker_ExportBorder
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - ft_stroke_border_export
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_ExportBorder( FT_Stroker        stroker,\n                           FT_StrokerBorder
      \ border,\n                           FT_Outline*       outline )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stroker_ExportBorder
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2084,1
    - Dst: FT_Stroker_ExportBorder
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stroker
    - outline
    argTypes:
    - FT_Stroker
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2081
    functionDepth: 3
    functionLinenumber: 2081
    functionLinenumberEnd: 2086
    functionName: FT_Stroker_Export
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Stroker_ExportBorder
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_Export( FT_Stroker   stroker,\n                     FT_Outline*
      \ outline )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2116,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2119,1
    - Dst: FT_Stroker_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2121,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2147,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2157,1
    - Dst: FT_Stroker_BeginSubPath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2174,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2183,1
    - Dst: FT_Stroker_LineTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2194,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2213,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2219,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2231,1
    - Dst: FT_Stroker_ConicTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2239,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2248,1
    - Dst: FT_Stroker_CubicTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2264,1
    - Dst: FT_Stroker_CubicTo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2270,1
    - Dst: FT_Stroker_EndSubPath
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2283,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2297,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 127
    argCount: 3
    argNames:
    - stroker
    - outline
    - opened
    argTypes:
    - FT_Stroker
    - FT_Outline*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2096
    functionDepth: 9
    functionLinenumber: 2096
    functionLinenumberEnd: 2298
    functionName: FT_Stroker_ParseOutline
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Stroker_CubicTo
    - FT_Stroker_LineTo
    - FT_Stroker_BeginSubPath
    - FT_Stroker_ConicTo
    - FT_THROW
    - FT_Stroker_EndSubPath
    - FT_CURVE_TAG
    - FT_Stroker_Rewind
    linkageType: ''
    returnType: void
    signature: "void FT_Stroker_ParseOutline( FT_Stroker   stroker,\n                           FT_Outline*
      \ outline,\n                           FT_Bool      opened )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2308,1
    - Dst: FT_Glyph_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2323,1
    - Dst: FT_Stroker_ParseOutline
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2336,1
    - Dst: FT_Stroker_GetCounts
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2340,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2342,1
    - Dst: FT_Outline_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2344,1
    - Dst: FT_Stroker_Export
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2354,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2358,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2364,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - pglyph
    - stroker
    - destroy
    argTypes:
    - FT_Glyph*
    - FT_Stroker
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2304
    functionDepth: 10
    functionLinenumber: 2304
    functionLinenumberEnd: 2372
    functionName: FT_Glyph_Stroke
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Done
    - FT_Done_Glyph
    - FT_Stroker_Export
    - FT_Stroker_GetCounts
    - FT_Stroker_ParseOutline
    - FT_Outline_New
    - FT_Glyph_Copy
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_Stroke( FT_Glyph    *pglyph,\n                   FT_Stroker
      \  stroker,\n                   FT_Bool      destroy )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2383,1
    - Dst: FT_Glyph_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2398,1
    - Dst: FT_Outline_GetOutsideBorder
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2412,1
    - Dst: FT_Stroker_ParseOutline
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2421,1
    - Dst: FT_Stroker_GetBorderCounts
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2425,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2428,1
    - Dst: FT_Outline_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2430,1
    - Dst: FT_Stroker_ExportBorder
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2440,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2444,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c:2450,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 4
    argNames:
    - pglyph
    - stroker
    - inside
    - destroy
    argTypes:
    - FT_Glyph*
    - FT_Stroker
    - FT_Bool
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2458
      start: 2378
    functionDepth: 10
    functionLinenumber: 2378
    functionLinenumberEnd: 2458
    functionName: FT_Glyph_StrokeBorder
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstroke.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Done
    - FT_Outline_GetOutsideBorder
    - FT_Done_Glyph
    - FT_Stroker_ExportBorder
    - FT_Stroker_ParseOutline
    - FT_Outline_New
    - FT_Stroker_GetBorderCounts
    - FT_Glyph_Copy
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Glyph_StrokeBorder( FT_Glyph    *pglyph,\n                         FT_Stroker
      \  stroker,\n                         FT_Bool      inside,\n                         FT_Bool
      \     destroy )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - service_descriptors
    - service_id
    argTypes:
    - FT_ServiceDesc
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 130
    functionName: ft_service_list_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 8
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void ft_service_list_lookup( FT_ServiceDesc  service_descriptors,\n
      \                         const char*     service_id )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - valid
    - base
    - limit
    - level
    argTypes:
    - FT_Validator
    - FT_Byte*
    - FT_Byte*
    - FT_ValidationLevel
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    functionName: ft_validator_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_validator_init( FT_Validator        valid,\n                     const
      FT_Byte*      base,\n                     const FT_Byte*      limit,\n                     FT_ValidationLevel
      \ level )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - valid
    argTypes:
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: ft_validator_run
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ft_validator_run( FT_Validator  valid )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_longjmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - valid
    - error
    argTypes:
    - FT_Validator
    - FT_Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 171
    functionName: ft_validator_error
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_longjmp
    linkageType: ''
    returnType: void
    signature: "void ft_validator_error( FT_Validator  valid,\n                      FT_Error
      \     error )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:202,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:205,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:209,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:217,1
    - Dst: FT_Stream_Open
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:227,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:236,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:243,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - library
    - args
    - astream
    argTypes:
    - FT_Library
    - FT_Open_Args*
    - FT_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 254
    functionName: FT_Stream_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Stream_OpenMemory
    - FT_THROW
    - FT_FREE
    - FT_Stream_Open
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_New( FT_Library           library,\n                 const
      FT_Open_Args*  args,\n                 FT_Stream           *astream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:266,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - external
    argTypes:
    - FT_Stream
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 271
    functionName: FT_Stream_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_Stream_Close
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_Free( FT_Stream  stream,\n                  FT_Int
      \    external )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:309,1
    - Dst: FT_DRIVER_USES_OUTLINES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:314,1
    - Dst: FT_GlyphLoader_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:315,1
    - Dst: FT_Driver_Class::init_slot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 322
    functionName: ft_glyphslot_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_DRIVER_USES_OUTLINES
    - FT_NEW
    - FT_Driver_Class::init_slot
    - FT_GlyphLoader_New
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_glyphslot_init( FT_GlyphSlot  slot )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:330,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 342
    functionName: ft_glyphslot_free_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void ft_glyphslot_free_bitmap( FT_GlyphSlot  slot )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:375,1
    - Dst: ft_lcd_padding
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:436,1
    - Dst: ft_lcd_padding
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:441,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:469,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:493,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 87
    argCount: 3
    argNames:
    - slot
    - mode
    - origin
    argTypes:
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 499
    functionName: ft_glyphslot_preset_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_Outline_Get_CBox
    - FT_PAD_CEIL
    - FT_TRACE3
    - ft_lcd_padding
    linkageType: ''
    returnType: void
    signature: "void ft_glyphslot_preset_bitmap( FT_GlyphSlot      slot,\n                              FT_Render_Mode
      \   mode,\n                              const FT_Vector*  origin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_glyphslot_free_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:506,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - slot
    - buffer
    argTypes:
    - FT_GlyphSlot
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 511
    functionName: ft_glyphslot_set_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - ft_glyphslot_free_bitmap
    linkageType: ''
    returnType: void
    signature: "void ft_glyphslot_set_bitmap( FT_GlyphSlot  slot,\n                           FT_Byte*
      \     buffer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:518,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:523,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - slot
    - size
    argTypes:
    - FT_GlyphSlot
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 529
    functionName: ft_glyphslot_alloc_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_ALLOC
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: "void ft_glyphslot_alloc_bitmap( FT_GlyphSlot  slot,\n                             FT_ULong
      \     size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_glyphslot_free_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:536,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:539,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 532
    functionDepth: 2
    functionLinenumber: 532
    functionLinenumberEnd: 561
    functionName: ft_glyphslot_clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - ft_glyphslot_free_bitmap
    linkageType: ''
    returnType: void
    signature: void ft_glyphslot_clear( FT_GlyphSlot  slot )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Driver_Class::done_slot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:573,1
    - Dst: ft_glyphslot_free_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:576,1
    - Dst: FT_DRIVER_USES_OUTLINES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:582,1
    - Dst: FT_GlyphLoader_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:584,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:588,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 590
    functionName: ft_glyphslot_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Driver_Class::done_slot
    - FT_GlyphLoader_Done
    - FT_FREE
    - ft_glyphslot_free_bitmap
    - FT_DRIVER_USES_OUTLINES
    linkageType: ''
    returnType: void
    signature: void ft_glyphslot_done( FT_GlyphSlot  slot )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:607,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:610,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:616,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:617,1
    - Dst: ft_glyphslot_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:621,1
    - Dst: ft_glyphslot_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:624,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:625,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:640,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - face
    - aslot
    argTypes:
    - FT_Face
    - FT_GlyphSlot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 643
    functionName: FT_New_GlyphSlot
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_ALLOC
    - ft_glyphslot_done
    - FT_THROW
    - FT_FREE
    - ft_glyphslot_init
    - FT_TRACE4
    linkageType: ''
    returnType: void
    signature: "void FT_New_GlyphSlot( FT_Face        face,\n                    FT_GlyphSlot
      \ *aslot )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphSlot::generic::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:674,1
    - Dst: ft_glyphslot_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:676,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:677,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 684
    functionName: FT_Done_GlyphSlot
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_GlyphSlot::generic::finalizer
    - ft_glyphslot_done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void FT_Done_GlyphSlot( FT_GlyphSlot  slot )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 3
    argNames:
    - face
    - matrix
    - delta
    argTypes:
    - FT_Face
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 735
    functionName: FT_Set_Transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Transform( FT_Face     face,\n                    FT_Matrix*
      \ matrix,\n                    FT_Vector*  delta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:753,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:754,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:756,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:756,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:758,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:758,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:761,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:762,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:764,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:766,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:771,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:772,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:774,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:774,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:776,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:776,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:779,1
    - Dst: FT_PIX_CEIL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:780,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:782,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:784,1
    - Dst: FT_PIX_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:788,1
    - Dst: FT_PIX_ROUND_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:789,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 2
    argNames:
    - slot
    - vertical
    argTypes:
    - FT_GlyphSlot
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 790
    functionName: ft_glyphslot_grid_fit_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND_LONG
    - FT_PIX_FLOOR
    - FT_PIX_CEIL_LONG
    - SUB_LONG
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void ft_glyphslot_grid_fit_metrics( FT_GlyphSlot  slot,\n                                 FT_Bool
      \      vertical )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:811,1
    - Dst: ft_glyphslot_clear
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:817,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:865,1
    - Dst: FT_IS_TRICKY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:866,1
    - Dst: FT_DRIVER_HAS_HINTER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:874,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:878,1
    - Dst: ft_strstr
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:885,1
    - Dst: FT_Get_Font_Format
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:885,1
    - Dst: FT_DRIVER_HINTS_LIGHTLY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:896,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:898,1
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:917,1
    - Dst: FT_Driver::clazz::load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:920,1
    - Dst: FT_AutoHinter_Interface::load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:940,1
    - Dst: FT_Driver::clazz::load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:949,1
    - Dst: FT_Outline_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:959,1
    - Dst: ft_glyphslot_grid_fit_metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:965,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:967,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:987,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:993,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:996,1
    - Dst: ft_lookup_glyph_renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1009,1
    - Dst: FT_Renderer::clazz::transform_glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1013,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1021,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1025,1
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1031,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1044,1
    - Dst: FT_Render_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1052,1
    - Dst: ft_glyphslot_preset_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1054,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1058,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1060,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1061,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1062,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1064,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1066,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 94
    argCount: 3
    argNames:
    - face
    - glyph_index
    - load_flags
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 797
    functionDepth: 3
    functionLinenumber: 797
    functionLinenumberEnd: 1075
    functionName: FT_Load_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached:
    - FT_Vector_Transform
    - FT_Outline_Transform
    - FT_Get_Font_Format
    - FT_Outline_Translate
    - FT_Renderer::clazz::transform_glyph
    - FT_THROW
    - FT_IS_SCALABLE
    - FT_IS_SFNT
    - FT_LOAD_TARGET_MODE
    - FT_HAS_FIXED_SIZES
    - ft_lookup_glyph_renderer
    - FT_BOOL
    - ft_glyphslot_clear
    - FT_MulDiv
    - ft_glyphslot_grid_fit_metrics
    - FT_DRIVER_HAS_HINTER
    - FT_IS_TRICKY
    - ft_strstr
    - FT_Render_Glyph
    - ft_glyphslot_preset_bitmap
    - FT_TRACE5
    - FT_DRIVER_HINTS_LIGHTLY
    - FT_Driver::clazz::load_glyph
    - FT_Outline_Check
    - FT_AutoHinter_Interface::load_glyph
    linkageType: ''
    returnType: void
    signature: "void FT_Load_Glyph( FT_Face   face,\n                 FT_UInt   glyph_index,\n
      \                FT_Int32  load_flags )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1089,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1093,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - face
    - char_code
    - load_flags
    argTypes:
    - FT_Face
    - FT_ULong
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1081
    functionDepth: 4
    functionLinenumber: 1081
    functionLinenumberEnd: 1096
    functionName: FT_Load_Char
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Load_Glyph
    - FT_Get_Char_Index
    linkageType: ''
    returnType: void
    signature: "void FT_Load_Char( FT_Face   face,\n                FT_ULong  char_code,\n
      \               FT_Int32  load_flags )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Size::generic::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1107,1
    - Dst: FT_Driver::clazz::done_size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1111,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1113,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - memory
    - size
    - driver
    argTypes:
    - FT_Memory
    - FT_Size
    - FT_Driver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1100
    functionDepth: 1
    functionLinenumber: 1100
    functionLinenumberEnd: 1115
    functionName: destroy_size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Size::generic::finalizer
    - FT_FREE
    - FT_Driver::clazz::done_size
    linkageType: ''
    returnType: void
    signature: "void destroy_size( FT_Memory  memory,\n                FT_Size    size,\n
      \               FT_Driver  driver )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1134,1
    - Dst: ft_cmap_done_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1137,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - face
    - memory
    argTypes:
    - FT_Face
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1144
    functionName: destroy_charmaps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_CMAP
    - ft_cmap_done_internal
    linkageType: ''
    returnType: void
    signature: "void destroy_charmaps( FT_Face    face,\n                    FT_Memory
      \ memory )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Face::autohint::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1158,1
    - Dst: FT_Done_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1163,1
    - Dst: FT_List_Finalize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1166,1
    - Dst: FT_Face::generic::finalizer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1174,1
    - Dst: destroy_charmaps
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1177,1
    - Dst: FT_Driver_Class::done_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1181,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1184,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1193,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - memory
    - face
    - driver
    argTypes:
    - FT_Memory
    - FT_Face
    - FT_Driver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1148
    functionDepth: 4
    functionLinenumber: 1148
    functionLinenumberEnd: 1196
    functionName: destroy_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - destroy_charmaps
    - FT_Stream_Free
    - FT_FREE
    - FT_Face::generic::finalizer
    - FT_Done_GlyphSlot
    - FT_Face::autohint::finalizer
    - FT_List_Finalize
    - FT_Driver_Class::done_face
    linkageType: ''
    returnType: void
    signature: "void destroy_face( FT_Memory  memory,\n                FT_Face    face,\n
      \               FT_Driver  driver )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_List_Finalize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - driver
    argTypes:
    - FT_Driver
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1206
    functionName: Destroy_Driver
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_List_Finalize
    linkageType: ''
    returnType: void
    signature: void Destroy_Driver( FT_Driver  driver )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1231,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1236,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1298,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1299
    functionName: find_unicode_charmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error find_unicode_charmap( FT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1320,1
    - Dst: FT_Get_CMap_Format
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1338
    functionName: find_variant_selector_charmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_Get_CMap_Format
    linkageType: ''
    returnType: FT_CharMap
    signature: FT_CharMap find_variant_selector_charmap( FT_Face  face )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1370,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1381,1
    - Dst: FT_Driver_Class::init_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1403,1
    - Dst: find_unicode_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1413,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1419,1
    - Dst: destroy_charmaps
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1430,1
    - Dst: FT_Driver_Class::done_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1432,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1433,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1434,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 7
    argNames:
    - driver
    - astream
    - external_stream
    - face_index
    - num_params
    - params
    - aface
    argTypes:
    - FT_Driver
    - FT_Stream*
    - FT_Bool
    - FT_Long
    - FT_Int
    - FT_Parameter*
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1349
    functionDepth: 2
    functionLinenumber: 1349
    functionLinenumberEnd: 1439
    functionName: open_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ERR_NEQ
    - find_unicode_charmap
    - FT_ALLOC
    - destroy_charmaps
    - FT_FREE
    - FT_NEW
    - FT_Driver_Class::done_face
    - FT_Driver_Class::init_face
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error open_face( FT_Driver      driver,\n             FT_Stream
      \     *astream,\n             FT_Bool        external_stream,\n             FT_Long
      \       face_index,\n             FT_Int         num_params,\n             FT_Parameter*
      \ params,\n             FT_Face       *aface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1460,1
    - Dst: ft_open_face_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - library
    - pathname
    - face_index
    - aface
    argTypes:
    - FT_Library
    - char*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1450
    functionDepth: 1
    functionLinenumber: 1450
    functionLinenumberEnd: 1467
    functionName: FT_New_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - ft_open_face_internal
    linkageType: ''
    returnType: void
    signature: "void FT_New_Face( FT_Library   library,\n               const char*
      \ pathname,\n               FT_Long      face_index,\n               FT_Face
      \    *aface )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1486,1
    - Dst: ft_open_face_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - library
    - file_base
    - file_size
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Byte*
    - FT_Long
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1494
    functionName: FT_New_Memory_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_open_face_internal
    linkageType: ''
    returnType: void
    signature: "void FT_New_Memory_Face( FT_Library      library,\n                      const
      FT_Byte*  file_base,\n                      FT_Long         file_size,\n                      FT_Long
      \        face_index,\n                      FT_Face        *aface )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1529
    functionDepth: 1
    functionLinenumber: 1529
    functionLinenumberEnd: 1540
    functionName: memory_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void memory_stream_close( FT_Stream  stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1558,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1561,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1565,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - library
    - base
    - size
    - close
    - astream
    argTypes:
    - FT_Library
    - FT_Byte*
    - FT_ULong
    - FT_Stream_CloseFunc
    - FT_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1576
    functionName: new_memory_stream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_NEW
    - FT_Stream_OpenMemory
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error new_memory_stream( FT_Library           library,\n                     FT_Byte*
      \            base,\n                     FT_ULong             size,\n                     FT_Stream_CloseFunc
      \ close,\n                     FT_Stream           *astream )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: new_memory_stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1595,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1602,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1611,1
    - Dst: ft_open_face_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1624,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1630,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1633,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1634,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - library
    - base
    - size
    - face_index
    - driver_name
    - aface
    argTypes:
    - FT_Library
    - FT_Byte*
    - FT_ULong
    - FT_Long
    - char*
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1639
    functionName: open_face_from_buffer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_Stream_Free
    - new_memory_stream
    - FT_FREE
    - ft_open_face_internal
    - FT_Get_Module
    - FT_Stream_Close
    linkageType: ''
    returnType: void
    signature: "void open_face_from_buffer( FT_Library   library,\n                         FT_Byte*
      \    base,\n                         FT_ULong     size,\n                         FT_Long
      \     face_index,\n                         const char*  driver_name,\n                         FT_Face
      \    *aface )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1672,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1675,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1677,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1679,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1687,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1687,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1688,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1688,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1713,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 5
    argNames:
    - stream
    - face_index
    - offset
    - length
    - is_sfnt_cid
    argTypes:
    - FT_Stream
    - FT_Long
    - FT_ULong*
    - FT_ULong*
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1651
    functionDepth: 1
    functionLinenumber: 1651
    functionLinenumberEnd: 1714
    functionName: ft_lookup_PS_in_sfnt_stream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_READ_USHORT
    - FT_READ_ULONG
    - FT_STREAM_SKIP
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_lookup_PS_in_sfnt_stream( FT_Stream  stream,\n                               FT_Long
      \   face_index,\n                               FT_ULong*  offset,\n                               FT_ULong*
      \ length,\n                               FT_Bool*   is_sfnt_cid )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1732,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1733,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1740,1
    - Dst: ft_lookup_PS_in_sfnt_stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1742,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1752,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1753,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1758,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1759,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1763,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1767,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1770,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1773,1
    - Dst: open_face_from_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1777,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1780,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1788,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 6
    argNames:
    - library
    - stream
    - face_index
    - num_params
    - params
    - aface
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Int
    - FT_Parameter*
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1718
    functionDepth: 3
    functionLinenumber: 1718
    functionLinenumberEnd: 1797
    functionName: open_face_PS_from_sfnt_stream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_MIN
    - FT_Stream_Seek
    - FT_ALLOC
    - FT_Stream_Read
    - FT_THROW
    - FT_ERR_EQ
    - FT_FREE
    - FT_TRACE2
    - open_face_from_buffer
    - FT_STREAM_POS
    - FT_UNUSED
    - ft_lookup_PS_in_sfnt_stream
    linkageType: ''
    returnType: void
    signature: "void open_face_PS_from_sfnt_stream( FT_Library     library,\n                                 FT_Stream
      \     stream,\n                                 FT_Long        face_index,\n
      \                                FT_Int         num_params,\n                                 FT_Parameter
      \ *params,\n                                 FT_Face       *aface )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1816,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1836,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1839,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1845,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1852,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1856,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1863,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1869,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1873,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1877,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1894,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1897,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1905,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1909,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1912,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1916,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1923,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1939,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1954,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1977,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1981,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:1988,1
    - Dst: open_face_from_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2002,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2010,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2011,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2013,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2014,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2017,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2018,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 130
    argCount: 6
    argNames:
    - library
    - stream
    - offsets
    - resource_cnt
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long*
    - FT_Long
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2022
      start: 1808
    functionDepth: 3
    functionLinenumber: 1808
    functionLinenumberEnd: 2022
    functionName: Mac_Read_POST_Resource
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - FT_Stream_Seek
    - FT_ALLOC
    - FT_Stream_Read
    - FT_THROW
    - FT_ERR_EQ
    - FT_FREE
    - FT_TRACE2
    - FT_READ_ULONG
    - FT_TRACE4
    - FT_ERR
    - FT_READ_USHORT
    - open_face_from_buffer
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error Mac_Read_POST_Resource( FT_Library  library,\n                          FT_Stream
      \  stream,\n                          FT_Long    *offsets,\n                          FT_Long
      \    resource_cnt,\n                          FT_Long     face_index,\n                          FT_Face
      \   *aface )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2050,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2053,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2057,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2060,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2062,1
    - Dst: open_face_PS_from_sfnt_stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2064,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2073,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2077,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2079,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2081,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2085,1
    - Dst: open_face_from_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2086,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 6
    argNames:
    - library
    - stream
    - offsets
    - resource_cnt
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long*
    - FT_Long
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2095
      start: 2030
    functionDepth: 4
    functionLinenumber: 2030
    functionLinenumberEnd: 2095
    functionName: Mac_Read_sfnt_Resource
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_Stream_Seek
    - open_face_PS_from_sfnt_stream
    - FT_Stream_Read
    - FT_THROW
    - ft_memcmp
    - FT_FREE
    - open_face_from_buffer
    - FT_READ_LONG
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error Mac_Read_sfnt_Resource( FT_Library  library,\n                          FT_Stream
      \  stream,\n                          FT_Long    *offsets,\n                          FT_Long
      \    resource_cnt,\n                          FT_Long     face_index,\n                          FT_Face
      \   *aface )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_Raccess_Get_HeaderInfo
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2117,1
    - Dst: FT_Raccess_Get_DataOffsets
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2123,1
    - Dst: Mac_Read_POST_Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2129,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2131,1
    - Dst: FT_Raccess_Get_DataOffsets
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2140,1
    - Dst: Mac_Read_sfnt_Resource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2149,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2151,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - library
    - stream
    - resource_offset
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2103
    functionDepth: 5
    functionLinenumber: 2103
    functionLinenumberEnd: 2157
    functionName: IsMacResource
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Raccess_Get_DataOffsets
    - Mac_Read_sfnt_Resource
    - Mac_Read_POST_Resource
    - FT_FREE
    - FT_Raccess_Get_HeaderInfo
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error IsMacResource( FT_Library  library,\n                 FT_Stream
      \  stream,\n                 FT_Long     resource_offset,\n                 FT_Long
      \    face_index,\n                 FT_Face    *aface )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2175,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2177,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2181,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2193,1
    - Dst: IsMacResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2207,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - library
    - stream
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2211
      start: 2163
    functionDepth: 6
    functionLinenumber: 2163
    functionLinenumberEnd: 2211
    functionName: IsMacBinary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - IsMacResource
    - FT_Stream_Read
    - FT_Stream_Seek
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error IsMacBinary( FT_Library  library,\n               FT_Stream
      \  stream,\n               FT_Long     face_index,\n               FT_Face    *aface
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2226,1
    - Dst: FT_Raccess_Guess
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2238,1
    - Dst: ft_raccess_rule_by_darwin_vfs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2243,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2246,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2255,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2263,1
    - Dst: FT_Stream_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2266,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2267,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2272,1
    - Dst: IsMacResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2276,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2278,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2280,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2291,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2296,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 5
    argNames:
    - library
    - stream
    - face_index
    - aface
    - args
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Face*
    - FT_Open_Args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2214
    functionDepth: 6
    functionLinenumber: 2214
    functionLinenumberEnd: 2303
    functionName: load_face_in_embedded_rfork
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - IsMacResource
    - ft_raccess_rule_by_darwin_vfs
    - FT_ERR_EQ
    - FT_FREE
    - FT_Stream_New
    - FT_Raccess_Guess
    - FT_Stream_Free
    - FT_ERR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_face_in_embedded_rfork( FT_Library           library,\n
      \                              FT_Stream            stream,\n                               FT_Long
      \             face_index,\n                               FT_Face             *aface,\n
      \                              const FT_Open_Args  *args )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2321,1
    - Dst: IsMacBinary
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2324,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2325,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2332,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2334,1
    - Dst: IsMacResource
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2337,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2339,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2346,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2347,1
    - Dst: load_face_in_embedded_rfork
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - library
    - stream
    - face_index
    - aface
    - args
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Face*
    - FT_Open_Args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2313
    functionDepth: 7
    functionLinenumber: 2313
    functionLinenumberEnd: 2352
    functionName: load_mac_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_TRACE3
    - IsMacResource
    - FT_ERR_EQ
    - IsMacBinary
    - load_face_in_embedded_rfork
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_mac_face( FT_Library           library,\n                 FT_Stream
      \           stream,\n                 FT_Long              face_index,\n                 FT_Face
      \            *aface,\n                 const FT_Open_Args  *args )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_open_face_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - library
    - args
    - face_index
    - aface
    argTypes:
    - FT_Library
    - FT_Open_Args*
    - FT_Long
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2367
    functionName: FT_Open_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached:
    - ft_open_face_internal
    linkageType: ''
    returnType: void
    signature: "void FT_Open_Face( FT_Library           library,\n                const
      FT_Open_Args*  args,\n                FT_Long              face_index,\n                FT_Face
      \            *aface )"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2388,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2393,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2395,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2398,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2400,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2401,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2408,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2410,1
    - Dst: FT_Stream_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2414,1
    - Dst: FT_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2424,1
    - Dst: FT_MODULE_IS_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2427,1
    - Dst: open_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2445,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2447,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2452,1
    - Dst: FT_MODULE_IS_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2461,1
    - Dst: FT_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2467,1
    - Dst: open_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2475,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2482,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2483,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2486,1
    - Dst: open_face_PS_from_sfnt_stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2490,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2498,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2504,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2513,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2514,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2515,1
    - Dst: load_mac_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2521,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2530,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2535,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2540,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2543,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2548,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2551,1
    - Dst: FT_List_Add
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2557,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2560,1
    - Dst: FT_New_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2564,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2573,1
    - Dst: FT_New_Size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2575,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2585,1
    - Dst: FT_HAS_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2590,1
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2594,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2614,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2652,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2658,1
    - Dst: destroy_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2660,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2666,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2676,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 161
    argCount: 5
    argNames:
    - library
    - args
    - face_index
    - aface
    - test_mac_fonts
    argTypes:
    - FT_Library
    - FT_Open_Args*
    - FT_Long
    - FT_Face*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2679
      start: 2370
    functionDepth: 8
    functionLinenumber: 2370
    functionLinenumberEnd: 2679
    functionName: ft_open_face_internal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 4
    functionsReached:
    - FT_HAS_VERTICAL
    - destroy_face
    - FT_MODULE_IS_DRIVER
    - open_face
    - FT_ERR_NEQ
    - FT_List_Add
    - ft_strcmp
    - FT_New_Size
    - FT_Stream_Seek
    - FT_THROW
    - FT_New_GlyphSlot
    - FT_ERR_EQ
    - FT_Stream_New
    - load_mac_face
    - FT_IS_SCALABLE
    - FT_TRACE0
    - FT_ERR
    - FT_UNUSED
    - FT_HAS_FIXED_SIZES
    - FT_Done_Face
    - open_face_PS_from_sfnt_stream
    - FT_BOOL
    - FT_Stream_Free
    - FT_TRACE3
    - FT_TRACE4
    - FT_NEW
    - FT_DRIVER
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_open_face_internal( FT_Library           library,\n                         const
      FT_Open_Args*  args,\n                         FT_Long              face_index,\n
      \                        FT_Face             *aface,\n                         FT_Bool
      \             test_mac_fonts )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2694,1
    - Dst: FT_Attach_Stream
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - face
    - filepathname
    argTypes:
    - FT_Face
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2685
    functionDepth: 1
    functionLinenumber: 2685
    functionLinenumberEnd: 2701
    functionName: FT_Attach_File
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Attach_Stream
    linkageType: ''
    returnType: void
    signature: "void FT_Attach_File( FT_Face      face,\n                  const char*
      \ filepathname )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2720,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2724,1
    - Dst: FT_Stream_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2726,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2733,1
    - Dst: FT_Driver_Class::attach_file
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2736,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2739,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2740,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - face
    - parameters
    argTypes:
    - FT_Face
    - FT_Open_Args*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2745
      start: 2707
    functionDepth: 2
    functionLinenumber: 2707
    functionLinenumberEnd: 2745
    functionName: FT_Attach_Stream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_BOOL
    - FT_THROW
    - FT_Stream_New
    - FT_Driver_Class::attach_file
    - FT_Stream_Free
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Attach_Stream( FT_Face        face,\n                    FT_Open_Args*
      \ parameters )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2751
    functionDepth: 0
    functionLinenumber: 2751
    functionLinenumberEnd: 2759
    functionName: FT_Reference_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: void FT_Reference_Face( FT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2773,1
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2785,1
    - Dst: FT_List_Remove
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2789,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2790,1
    - Dst: destroy_face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2793,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2765
    functionDepth: 5
    functionLinenumber: 2765
    functionLinenumberEnd: 2800
    functionName: FT_Done_Face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 4
    functionsReached:
    - FT_List_Remove
    - destroy_face
    - FT_FREE
    - FT_List_Find
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: void FT_Done_Face( FT_Face  face )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2821,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2824,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2827,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2836,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2836,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2841,1
    - Dst: FT_Driver_Class::init_size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2847,1
    - Dst: FT_List_Add
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2854,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2860,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2861,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - face
    - asize
    argTypes:
    - FT_Face
    - FT_Size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2806
    functionDepth: 1
    functionLinenumber: 2806
    functionLinenumberEnd: 2865
    functionName: FT_New_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_List_Add
    - FT_ALLOC
    - FT_THROW
    - FT_Driver_Class::init_size
    - FT_FREE
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void FT_New_Size( FT_Face   face,\n               FT_Size  *asize
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2881,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2885,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2889,1
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2894,1
    - Dst: FT_List_Remove
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2897,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2898,1
    - Dst: destroy_size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2907,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2913
      start: 2871
    functionDepth: 2
    functionLinenumber: 2871
    functionLinenumberEnd: 2913
    functionName: FT_Done_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_List_Remove
    - FT_THROW
    - FT_FREE
    - FT_List_Find
    - destroy_size
    linkageType: ''
    returnType: void
    signature: void FT_Done_Size( FT_Size  size )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2928,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2929,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2933,1
    - Dst: FT_REQUEST_WIDTH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2935,1
    - Dst: FT_REQUEST_HEIGHT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2936,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2943,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2944,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2947,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2954,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2957,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2959,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2968,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:2970,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 4
    argNames:
    - face
    - req
    - ignore_width
    - size_index
    argTypes:
    - FT_Face
    - FT_Size_Request
    - FT_Bool
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2919
    functionDepth: 1
    functionLinenumber: 2919
    functionLinenumberEnd: 2971
    functionName: FT_Match_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_HAS_FIXED_SIZES
    - FT_TRACE3
    - FT_THROW
    - FT_REQUEST_WIDTH
    - FT_PIX_ROUND
    - FT_REQUEST_HEIGHT
    linkageType: ''
    returnType: void
    signature: "void FT_Match_Size( FT_Face          face,\n                 FT_Size_Request
      \ req,\n                 FT_Bool          ignore_width,\n                 FT_ULong*
      \       size_index )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - metrics
    - advance
    argTypes:
    - FT_Glyph_Metrics*
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2977
    functionDepth: 0
    functionLinenumber: 2977
    functionLinenumberEnd: 2999
    functionName: ft_synthesize_vertical_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_synthesize_vertical_metrics( FT_Glyph_Metrics*  metrics,\n
      \                                 FT_Pos             advance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3009,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3009,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3012,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3012,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3015,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3015,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3018,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3018,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3021,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3024,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3027,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - face
    - metrics
    argTypes:
    - FT_Face
    - FT_Size_Metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3033
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3033
    functionName: ft_recompute_scaled_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_PIX_CEIL
    - FT_PIX_ROUND
    - FT_PIX_FLOOR
    linkageType: ''
    returnType: void
    signature: "void ft_recompute_scaled_metrics( FT_Face           face,\n                               FT_Size_Metrics*
      \ metrics )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3050,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3052,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3054,1
    - Dst: ft_recompute_scaled_metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - face
    - strike_index
    argTypes:
    - FT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3068
      start: 3037
    functionDepth: 2
    functionLinenumber: 3037
    functionLinenumberEnd: 3068
    functionName: FT_Select_Metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached:
    - FT_IS_SCALABLE
    - ft_recompute_scaled_metrics
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void FT_Select_Metrics( FT_Face   face,\n                     FT_ULong
      \ strike_index )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3080,1
    - Dst: FT_REQUEST_WIDTH
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3125,1
    - Dst: FT_REQUEST_HEIGHT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3126,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3131,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3135,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3148,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3153,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3154,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3161,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3162,1
    - Dst: ft_recompute_scaled_metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3168,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 2
    argNames:
    - face
    - req
    argTypes:
    - FT_Face
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3176
      start: 3072
    functionDepth: 2
    functionLinenumber: 3072
    functionLinenumberEnd: 3176
    functionName: FT_Request_Metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached:
    - ft_recompute_scaled_metrics
    - FT_REQUEST_WIDTH
    - FT_MulFix
    - FT_ZERO
    - FT_MulDiv
    - FT_IS_SCALABLE
    - FT_DivFix
    - FT_REQUEST_HEIGHT
    linkageType: ''
    returnType: void
    signature: "void FT_Request_Metrics( FT_Face          face,\n                      FT_Size_Request
      \ req )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3189,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3190,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3193,1
    - Dst: FT_Driver_Class::select_size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3199,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3201,1
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3206,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3208,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3216,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3218,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3220,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3221,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3222,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3223,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3224,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - face
    - strike_index
    argTypes:
    - FT_Face
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3182
    functionDepth: 3
    functionLinenumber: 3182
    functionLinenumberEnd: 3230
    functionName: FT_Select_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_HAS_FIXED_SIZES
    - FT_Driver_Class::select_size
    - FT_THROW
    - FT_TRACE5
    - FT_Select_Metrics
    linkageType: ''
    returnType: void
    signature: "void FT_Select_Size( FT_Face  face,\n                  FT_Int   strike_index
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3245,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3249,1
    - Dst: FT_Driver_Class::request_size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3259,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3261,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3264,1
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3264,1
    - Dst: FT_Match_Size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3273,1
    - Dst: FT_Select_Size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3277,1
    - Dst: FT_Request_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3281,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3283,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3291,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3293,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3295,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3296,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3297,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3298,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3299,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3300,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - face
    - req
    argTypes:
    - FT_Face
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3305
      start: 3236
    functionDepth: 4
    functionLinenumber: 3236
    functionLinenumberEnd: 3305
    functionName: FT_Request_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_HAS_FIXED_SIZES
    - FT_Request_Metrics
    - FT_Driver_Class::request_size
    - FT_THROW
    - FT_Select_Size
    - FT_TRACE5
    - FT_IS_SCALABLE
    - FT_Match_Size
    linkageType: ''
    returnType: void
    signature: "void FT_Request_Size( FT_Face          face,\n                   FT_Size_Request
      \ req )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_Request_Size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3346,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - face
    - char_width
    - char_height
    - horz_resolution
    - vert_resolution
    argTypes:
    - FT_Face
    - FT_F26Dot6
    - FT_F26Dot6
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3311
    functionDepth: 5
    functionLinenumber: 3311
    functionLinenumberEnd: 3347
    functionName: FT_Set_Char_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_Request_Size
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Char_Size( FT_Face     face,\n                    FT_F26Dot6
      \ char_width,\n                    FT_F26Dot6  char_height,\n                    FT_UInt
      \    horz_resolution,\n                    FT_UInt     vert_resolution )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_Request_Size
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3384,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - face
    - pixel_width
    - pixel_height
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3353
    functionDepth: 5
    functionLinenumber: 3353
    functionLinenumberEnd: 3385
    functionName: FT_Set_Pixel_Sizes
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Request_Size
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Pixel_Sizes( FT_Face  face,\n                      FT_UInt
      \ pixel_width,\n                      FT_UInt  pixel_height )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3402,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3405,1
    - Dst: FT_Driver::clazz::get_kerning
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3414,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3422,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3423,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3435,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3438,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3441,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3442,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3446,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3447,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3452,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - face
    - left_glyph
    - right_glyph
    - kern_mode
    - akerning
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3464
      start: 3391
    functionDepth: 1
    functionLinenumber: 3391
    functionLinenumberEnd: 3464
    functionName: FT_Get_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulFix
    - FT_TRACE5
    - FT_PIX_ROUND
    - FT_MulDiv
    - FT_Driver::clazz::get_kerning
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Kerning( FT_Face     face,\n                  FT_UInt
      \    left_glyph,\n                  FT_UInt     right_glyph,\n                  FT_UInt
      \    kern_mode,\n                  FT_Vector  *akerning )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3480,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3483,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3485,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3487,1
    - Dst: FT_Service_Kerning::get_track
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - face
    - point_size
    - degree
    - akerning
    argTypes:
    - FT_Face
    - FT_Fixed
    - FT_Int
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3470
    functionDepth: 1
    functionLinenumber: 3470
    functionLinenumberEnd: 3495
    functionName: FT_Get_Track_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_Service_Kerning::get_track
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Track_Kerning( FT_Face    face,\n                        FT_Fixed
      \  point_size,\n                        FT_Int     degree,\n                        FT_Fixed*
      \ akerning )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3509,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3513,1
    - Dst: find_unicode_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3520,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3524,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3537,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - face
    - encoding
    argTypes:
    - FT_Face
    - FT_Encoding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3538
      start: 3501
    functionDepth: 2
    functionLinenumber: 3501
    functionLinenumberEnd: 3538
    functionName: FT_Select_Charmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - find_unicode_charmap
    linkageType: ''
    returnType: void
    signature: "void FT_Select_Charmap( FT_Face      face,\n                     FT_Encoding
      \ encoding )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3552,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3556,1
    - Dst: FT_Get_CMap_Format
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3563,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3570,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - face
    - charmap
    argTypes:
    - FT_Face
    - FT_CharMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3544
    functionDepth: 1
    functionLinenumber: 3544
    functionLinenumberEnd: 3571
    functionName: FT_Set_Charmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_Get_CMap_Format
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Charmap( FT_Face     face,\n                  FT_CharMap
      \ charmap )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3589,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - charmap
    argTypes:
    - FT_CharMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3592
      start: 3577
    functionDepth: 1
    functionLinenumber: 3577
    functionLinenumberEnd: 3592
    functionName: FT_Get_Charmap_Index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void FT_Get_Charmap_Index( FT_CharMap  charmap )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3600,1
    - Dst: FT_CMap_Class::done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3604,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3606,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - FT_CMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3607
      start: 3595
    functionDepth: 1
    functionLinenumber: 3595
    functionLinenumberEnd: 3607
    functionName: ft_cmap_done_internal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    - FT_CMap_Class::done
    linkageType: ''
    returnType: void
    signature: void ft_cmap_done_internal( FT_CMap  cmap )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3616,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3628,1
    - Dst: ft_cmap_done_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3647,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - FT_CMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3653
      start: 3611
    functionDepth: 2
    functionLinenumber: 3611
    functionLinenumberEnd: 3653
    functionName: FT_CMap_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    - ft_cmap_done_internal
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void FT_CMap_Done( FT_CMap  cmap )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3669,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3672,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3674,1
    - Dst: FT_CMap_Class::init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3681,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3687,1
    - Dst: ft_cmap_done_internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3702,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - clazz
    - init_data
    - charmap
    - acmap
    argTypes:
    - FT_CMap_Class
    - FT_Pointer
    - FT_CharMap
    - FT_CMap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3705
      start: 3657
    functionDepth: 2
    functionLinenumber: 3657
    functionLinenumberEnd: 3705
    functionName: FT_CMap_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 5
    functionsReached:
    - FT_CMap_Class::init
    - FT_RENEW_ARRAY
    - ft_cmap_done_internal
    - FT_ALLOC
    - FT_FACE_MEMORY
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void FT_CMap_New( FT_CMap_Class  clazz,\n               FT_Pointer
      \    init_data,\n               FT_CharMap     charmap,\n               FT_CMap
      \      *acmap )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3719,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3724,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3725,1
    - Dst: FT_CMap::clazz::char_index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3728,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - face
    - charcode
    argTypes:
    - FT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3711
    functionDepth: 1
    functionLinenumber: 3711
    functionLinenumberEnd: 3734
    functionName: FT_Get_Char_Index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 4
    functionsReached:
    - FT_CMap::clazz::char_index
    - FT_CMAP
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Char_Index( FT_Face   face,\n                     FT_ULong
      \ charcode )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3750,1
    - Dst: FT_Get_Next_Char
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - face
    - agindex
    argTypes:
    - FT_Face
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3759
      start: 3740
    functionDepth: 2
    functionLinenumber: 3740
    functionLinenumberEnd: 3759
    functionName: FT_Get_First_Char
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Get_Char_Index
    - FT_Get_Next_Char
    linkageType: ''
    returnType: void
    signature: "void FT_Get_First_Char( FT_Face   face,\n                     FT_UInt
      \ *agindex )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3776,1
    - Dst: FT_CMap::clazz::char_next
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - face
    - charcode
    - agindex
    argTypes:
    - FT_Face
    - FT_ULong
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3792
      start: 3765
    functionDepth: 1
    functionLinenumber: 3765
    functionLinenumberEnd: 3792
    functionName: FT_Get_Next_Char
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_CMap::clazz::char_next
    - FT_CMAP
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Next_Char( FT_Face   face,\n                    FT_ULong
      \ charcode,\n                    FT_UInt  *agindex )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3807,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3833,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3839,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3859,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 3
    argNames:
    - face
    - num_properties
    - properties
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3798
    functionDepth: 0
    functionLinenumber: 3798
    functionLinenumberEnd: 3871
    functionName: FT_Face_Properties
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_memcpy
    linkageType: ''
    returnType: void
    signature: "void FT_Face_Properties( FT_Face        face,\n                      FT_UInt
      \       num_properties,\n                      FT_Parameter*  properties )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_variant_selector_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3888,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3889,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3894,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3899,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3901,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3905,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3907,1
    - Dst: FT_CMap::clazz::char_var_index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3910,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - face
    - charcode
    - variantSelector
    argTypes:
    - FT_Face
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3917
      start: 3877
    functionDepth: 2
    functionLinenumber: 3877
    functionLinenumberEnd: 3917
    functionName: FT_Face_GetCharVariantIndex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_CMap::clazz::char_var_index
    - find_variant_selector_charmap
    - FT_CMAP
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void FT_Face_GetCharVariantIndex( FT_Face   face,\n                               FT_ULong
      \ charcode,\n                               FT_ULong  variantSelector )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_variant_selector_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3932,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3937,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3942,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3944,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3948,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3950,1
    - Dst: FT_CMap::clazz::char_var_default
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3953,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - face
    - charcode
    - variantSelector
    argTypes:
    - FT_Face
    - FT_ULong
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3960
      start: 3923
    functionDepth: 2
    functionLinenumber: 3923
    functionLinenumberEnd: 3960
    functionName: FT_Face_GetCharVariantIsDefault
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_CMap::clazz::char_var_default
    - find_variant_selector_charmap
    - FT_CMAP
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void FT_Face_GetCharVariantIsDefault( FT_Face   face,\n                                   FT_ULong
      \ charcode,\n                                   FT_ULong  variantSelector )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find_variant_selector_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3973,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3978,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3979,1
    - Dst: FT_CMap::clazz::variant_list
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:3982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3987
      start: 3966
    functionDepth: 2
    functionLinenumber: 3966
    functionLinenumberEnd: 3987
    functionName: FT_Face_GetVariantSelectors
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_CMap::clazz::variant_list
    - find_variant_selector_charmap
    - FT_CMAP
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void FT_Face_GetVariantSelectors( FT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_variant_selector_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4001,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4006,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4007,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4012,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4013,1
    - Dst: FT_CMap::clazz::charvariant_list
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4016,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - face
    - charcode
    argTypes:
    - FT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 3993
    functionDepth: 2
    functionLinenumber: 3993
    functionLinenumberEnd: 4021
    functionName: FT_Face_GetVariantsOfChar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_FACE_MEMORY
    - find_variant_selector_charmap
    - FT_CMAP
    - FT_CMap::clazz::charvariant_list
    linkageType: ''
    returnType: void
    signature: "void FT_Face_GetVariantsOfChar( FT_Face   face,\n                             FT_ULong
      \ charcode )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_variant_selector_charmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4035,1
    - Dst: FT_CMAP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4040,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4041,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4046,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4047,1
    - Dst: FT_CMap::clazz::variantchar_list
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4050,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - face
    - variantSelector
    argTypes:
    - FT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4056
      start: 4027
    functionDepth: 2
    functionLinenumber: 4027
    functionLinenumberEnd: 4056
    functionName: FT_Face_GetCharsOfVariant
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_FACE_MEMORY
    - find_variant_selector_charmap
    - FT_CMap::clazz::variantchar_list
    - FT_CMAP
    linkageType: ''
    returnType: void
    signature: "void FT_Face_GetCharsOfVariant( FT_Face   face,\n                             FT_ULong
      \ variantSelector )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_GLYPH_NAMES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4069,1
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4075,1
    - Dst: FT_Service_GlyphDict::name_index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - face
    - glyph_name
    argTypes:
    - FT_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4062
    functionDepth: 1
    functionLinenumber: 4062
    functionLinenumberEnd: 4084
    functionName: FT_Get_Name_Index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Service_GlyphDict::name_index
    - FT_HAS_GLYPH_NAMES
    - FT_FACE_LOOKUP_SERVICE
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Name_Index( FT_Face           face,\n                     const
      FT_String*  glyph_name )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4100,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4103,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4109,1
    - Dst: FT_HAS_GLYPH_NAMES
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4111,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4112,1
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4114,1
    - Dst: FT_Service_GlyphDict::get_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4116,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 4
    argNames:
    - face
    - glyph_index
    - buffer
    - buffer_max
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Pointer
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4121
      start: 4090
    functionDepth: 1
    functionLinenumber: 4090
    functionLinenumberEnd: 4121
    functionName: FT_Get_Glyph_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_Service_GlyphDict::get_name
    - FT_HAS_GLYPH_NAMES
    - FT_FACE_LOOKUP_SERVICE
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Glyph_Name( FT_Face     face,\n                     FT_UInt
      \    glyph_index,\n                     FT_Pointer  buffer,\n                     FT_UInt
      \    buffer_max )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4140,1
    - Dst: FT_Service_PsFontName::get_ps_font_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4150
      start: 4127
    functionDepth: 1
    functionLinenumber: 4127
    functionLinenumberEnd: 4150
    functionName: FT_Get_Postscript_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Service_PsFontName::get_ps_font_name
    - FT_FACE_LOOKUP_SERVICE
    linkageType: ''
    returnType: void
    signature: void FT_Get_Postscript_Name( FT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4163,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4165,1
    - Dst: FT_Service_SFNT_Table::get_table
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - face
    - tag
    argTypes:
    - FT_Face
    - FT_Sfnt_Tag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4156
    functionDepth: 1
    functionLinenumber: 4156
    functionLinenumberEnd: 4171
    functionName: FT_Get_Sfnt_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_IS_SFNT
    - FT_Service_SFNT_Table::get_table
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Sfnt_Table( FT_Face      face,\n                     FT_Sfnt_Tag
      \ tag )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4186,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4187,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4189,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4191,1
    - Dst: FT_Service_SFNT_Table::load_table
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - face
    - tag
    - offset
    - buffer
    - length
    argTypes:
    - FT_Face
    - FT_ULong
    - FT_Long
    - FT_Byte*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4194
      start: 4177
    functionDepth: 1
    functionLinenumber: 4177
    functionLinenumberEnd: 4194
    functionName: FT_Load_Sfnt_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_IS_SFNT
    - FT_Service_SFNT_Table::load_table
    linkageType: ''
    returnType: void
    signature: "void FT_Load_Sfnt_Table( FT_Face    face,\n                      FT_ULong
      \  tag,\n                      FT_Long    offset,\n                      FT_Byte*
      \  buffer,\n                      FT_ULong*  length )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4211,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4212,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4214,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4216,1
    - Dst: FT_Service_SFNT_Table::table_info
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - face
    - table_index
    - tag
    - length
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_ULong*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4219
      start: 4200
    functionDepth: 1
    functionLinenumber: 4200
    functionLinenumberEnd: 4219
    functionName: FT_Sfnt_Table_Info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_IS_SFNT
    - FT_Service_SFNT_Table::table_info
    linkageType: ''
    returnType: void
    signature: "void FT_Sfnt_Table_Info( FT_Face    face,\n                      FT_UInt
      \   table_index,\n                      FT_ULong  *tag,\n                      FT_ULong
      \ *length )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4236,1
    - Dst: FT_Service_TTCMaps::get_cmap_info
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - charmap
    argTypes:
    - FT_CharMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4243
      start: 4225
    functionDepth: 1
    functionLinenumber: 4225
    functionLinenumberEnd: 4243
    functionName: FT_Get_CMap_Language_ID
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Service_TTCMaps::get_cmap_info
    linkageType: ''
    returnType: void
    signature: void FT_Get_CMap_Language_ID( FT_CharMap  charmap )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4260,1
    - Dst: FT_Service_TTCMaps::get_cmap_info
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4263,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - charmap
    argTypes:
    - FT_CharMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4267
      start: 4249
    functionDepth: 1
    functionLinenumber: 4249
    functionLinenumberEnd: 4267
    functionName: FT_Get_CMap_Format
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Service_TTCMaps::get_cmap_info
    linkageType: ''
    returnType: void
    signature: void FT_Get_CMap_Format( FT_CharMap  charmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4279,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - size
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4290
      start: 4273
    functionDepth: 0
    functionLinenumber: 4273
    functionLinenumberEnd: 4290
    functionName: FT_Activate_Size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 3
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: void FT_Activate_Size( FT_Size  size )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4329,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - library
    - format
    - node
    argTypes:
    - FT_Library
    - FT_Glyph_Format
    - FT_ListNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4345
      start: 4307
    functionDepth: 1
    functionLinenumber: 4307
    functionLinenumberEnd: 4345
    functionName: FT_Lookup_Renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_RENDERER
    linkageType: ''
    returnType: void
    signature: "void FT_Lookup_Renderer( FT_Library       library,\n                      FT_Glyph_Format
      \ format,\n                      FT_ListNode*     node )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4352,1
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4348
    functionDepth: 2
    functionLinenumber: 4348
    functionLinenumberEnd: 4360
    functionName: ft_lookup_glyph_renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_Lookup_Renderer
    - FT_FACE_LIBRARY
    linkageType: ''
    returnType: FT_Renderer
    signature: FT_Renderer ft_lookup_glyph_renderer( FT_GlyphSlot  slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4371
      start: 4363
    functionDepth: 2
    functionLinenumber: 4363
    functionLinenumberEnd: 4371
    functionName: ft_set_current_renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Lookup_Renderer
    linkageType: ''
    returnType: void
    signature: void ft_set_current_renderer( FT_Library  library )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4383,1
    - Dst: FT_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4387,1
    - Dst: FT_Renderer_Class*::raster_class::raster_new
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4398,1
    - Dst: FT_List_Add
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4408,1
    - Dst: ft_set_current_renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4410,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4419
      start: 4374
    functionDepth: 3
    functionLinenumber: 4374
    functionLinenumberEnd: 4419
    functionName: ft_add_renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_List_Add
    - FT_FREE
    - FT_Renderer_Class*::raster_class::raster_new
    - FT_RENDERER
    - ft_set_current_renderer
    - FT_NEW
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_add_renderer( FT_Module  module )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4436,1
    - Dst: FT_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4439,1
    - Dst: FT_Renderer::clazz::raster_class::raster_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4445,1
    - Dst: FT_List_Remove
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4448,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4449,1
    - Dst: ft_set_current_renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4451,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4453
      start: 4422
    functionDepth: 3
    functionLinenumber: 4422
    functionLinenumberEnd: 4453
    functionName: ft_remove_renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_List_Remove
    - ft_set_current_renderer
    - FT_List_Find
    - FT_FREE
    - FT_RENDERER
    - FT_Renderer::clazz::raster_class::raster_done
    linkageType: ''
    returnType: void
    signature: void ft_remove_renderer( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - library
    - format
    argTypes:
    - FT_Library
    - FT_Glyph_Format
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4465
      start: 4459
    functionDepth: 2
    functionLinenumber: 4459
    functionLinenumberEnd: 4465
    functionName: FT_Get_Renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_Lookup_Renderer
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Renderer( FT_Library       library,\n                   FT_Glyph_Format
      \ format )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4484,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4490,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4496,1
    - Dst: FT_List_Find
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4500,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4503,1
    - Dst: FT_List_Up
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4507,1
    - Dst: set_mode
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4516,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 4
    argNames:
    - library
    - renderer
    - num_params
    - parameters
    argTypes:
    - FT_Library
    - FT_Renderer
    - FT_UInt
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4524
      start: 4471
    functionDepth: 1
    functionLinenumber: 4471
    functionLinenumberEnd: 4524
    functionName: FT_Set_Renderer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_List_Up
    - FT_List_Find
    - set_mode
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Renderer( FT_Library     library,\n                   FT_Renderer
      \   renderer,\n                   FT_UInt        num_params,\n                   FT_Parameter*
      \ parameters )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Color_Glyph_Layer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4556,1
    - Dst: FT_New_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4563,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4582,1
    - Dst: SFNT_Service::colr_blend
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4588,1
    - Dst: FT_Get_Color_Glyph_Layer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4595,1
    - Dst: FT_Done_GlyphSlot
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4605,1
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4627,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4629,1
    - Dst: FT_Renderer::render
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4632,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4634,1
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4643,1
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4669,1
    - Dst: FT_Bitmap_Convert
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4673,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4684,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4694,1
    - Dst: MD5_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4696,1
    - Dst: MD5_Update
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4698,1
    - Dst: MD5_Final
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4700,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4702,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4704,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4705,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4708,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4734,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4738,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4743,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4745,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4750,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4754,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4755,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4758,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4761,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 92
    argCount: 3
    argNames:
    - library
    - slot
    - render_mode
    argTypes:
    - FT_Library
    - FT_GlyphSlot
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4528
    functionDepth: 4
    functionLinenumber: 4528
    functionLinenumberEnd: 4770
    functionName: FT_Render_Glyph_Internal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - MD5_Init
    - FT_ERR_NEQ
    - MD5_Final
    - FT_Load_Glyph
    - FT_Get_Color_Glyph_Layer
    - FT_Bitmap_Init
    - FT_TRACE3
    - FT_TRACE7
    - FT_Renderer::render
    - FT_Lookup_Renderer
    - FT_New_GlyphSlot
    - SFNT_Service::colr_blend
    - FT_Bitmap_Done
    - FT_Done_GlyphSlot
    - FT_ERR
    - MD5_Update
    - FT_Bitmap_Convert
    linkageType: ''
    returnType: void
    signature: "void FT_Render_Glyph_Internal( FT_Library      library,\n                            FT_GlyphSlot
      \   slot,\n                            FT_Render_Mode  render_mode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4783,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4785,1
    - Dst: FT_Render_Glyph_Internal
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4787,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - slot
    - render_mode
    argTypes:
    - FT_GlyphSlot
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4788
      start: 4776
    functionDepth: 5
    functionLinenumber: 4776
    functionLinenumberEnd: 4788
    functionName: FT_Render_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_FACE_LIBRARY
    - FT_Render_Glyph_Internal
    linkageType: ''
    returnType: void
    signature: "void FT_Render_Glyph( FT_GlyphSlot    slot,\n                   FT_Render_Mode
      \ render_mode )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_MODULE_IS_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4832,1
    - Dst: ft_remove_renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4833,1
    - Dst: FT_MODULE_IS_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4836,1
    - Dst: Destroy_Driver
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4837,1
    - Dst: FT_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4837,1
    - Dst: FT_Module_Class*::module_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4841,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4844,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4845
      start: 4820
    functionDepth: 4
    functionLinenumber: 4820
    functionLinenumberEnd: 4845
    functionName: Destroy_Module
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - Destroy_Driver
    - FT_Module_Class*::module_done
    - FT_MODULE_IS_DRIVER
    - ft_remove_renderer
    - FT_FREE
    - FT_MODULE_IS_RENDERER
    - FT_DRIVER
    linkageType: ''
    returnType: void
    signature: void Destroy_Module( FT_Module  module )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4864,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4867,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4871,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4877,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4881,1
    - Dst: FT_Remove_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4885,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4895,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4900,1
    - Dst: FT_MODULE_IS_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4910,1
    - Dst: ft_add_renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4913,1
    - Dst: FT_MODULE_IS_HINTER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4919,1
    - Dst: FT_MODULE_IS_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4923,1
    - Dst: FT_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4925,1
    - Dst: FT_Module_Class*::module_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4933,1
    - Dst: FT_MODULE_IS_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4945,1
    - Dst: FT_RENDERER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4947,1
    - Dst: FT_Renderer::clazz::raster_class::raster_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4953,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4956,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 2
    argNames:
    - library
    - clazz
    argTypes:
    - FT_Library
    - FT_Module_Class*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4851
    functionDepth: 4
    functionLinenumber: 4851
    functionLinenumberEnd: 4958
    functionName: FT_Add_Module
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_MODULE_IS_DRIVER
    - ft_strcmp
    - FT_MODULE_IS_HINTER
    - FT_ALLOC
    - FT_Remove_Module
    - FT_Module_Class*::module_init
    - FT_THROW
    - FT_DRIVER
    - FT_FREE
    - FT_MODULE_IS_RENDERER
    - FT_RENDERER
    - FT_Renderer::clazz::raster_class::raster_done
    - ft_add_renderer
    linkageType: ''
    returnType: void
    signature: "void FT_Add_Module( FT_Library              library,\n                 const
      FT_Module_Class*  clazz )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:4979,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - library
    - module_name
    argTypes:
    - FT_Library
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4986
      start: 4964
    functionDepth: 0
    functionLinenumber: 4964
    functionLinenumberEnd: 4986
    functionName: FT_Get_Module
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 13
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Module( FT_Library   library,\n                 const
      char*  module_name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - library
    - mod_name
    argTypes:
    - FT_Library
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5003
      start: 4992
    functionDepth: 1
    functionLinenumber: 4992
    functionLinenumberEnd: 5003
    functionName: FT_Get_Module_Interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 5
    functionsReached:
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Module_Interface( FT_Library   library,\n                           const
      char*  mod_name )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5016,1
    - Dst: FT_Module::clazz::get_interface
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5020,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5034,1
    - Dst: clazz::get_interface
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5038,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 3
    argNames:
    - module
    - service_id
    - global
    argTypes:
    - FT_Module
    - char*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5048
      start: 5007
    functionDepth: 1
    functionLinenumber: 5007
    functionLinenumberEnd: 5048
    functionName: ft_module_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 4
    functionsReached:
    - FT_ASSERT
    - clazz::get_interface
    - FT_Module::clazz::get_interface
    linkageType: ''
    returnType: void
    signature: "void ft_module_get_service( FT_Module    module,\n                         const
      char*  service_id,\n                         FT_Bool      global )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5060,1
    - Dst: Destroy_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5083,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5089,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - library
    - module
    argTypes:
    - FT_Library
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5090
      start: 5054
    functionDepth: 5
    functionLinenumber: 5054
    functionLinenumberEnd: 5090
    functionName: FT_Remove_Module
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - Destroy_Module
    linkageType: ''
    returnType: void
    signature: "void FT_Remove_Module( FT_Library  library,\n                    FT_Module
      \  module )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5117,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5120,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5127,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5132,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5134,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5140,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5142,1
    - Dst: clazz::get_interface
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5146,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5150,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5152,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5158,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5160,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5164,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5166,1
    - Dst: FT_Service_Properties::set_property
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5169,1
    - Dst: FT_Service_Properties::get_property
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5173,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 6
    argNames:
    - library
    - module_name
    - property_name
    - value
    - set
    - value_is_string
    argTypes:
    - FT_Library
    - FT_String*
    - FT_String*
    - void*
    - FT_Bool
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5176
      start: 5093
    functionDepth: 1
    functionLinenumber: 5093
    functionLinenumberEnd: 5176
    functionName: ft_property_do
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - FT_Service_Properties::set_property
    - FT_BOOL
    - FT_Service_Properties::get_property
    - FT_THROW
    - clazz::get_interface
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_property_do( FT_Library        library,\n                  const
      FT_String*  module_name,\n                  const FT_String*  property_name,\n
      \                 void*             value,\n                  FT_Bool           set,\n
      \                 FT_Bool           value_is_string )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_property_do
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - library
    - module_name
    - property_name
    - value
    argTypes:
    - FT_Library
    - FT_String*
    - FT_String*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5193
      start: 5182
    functionDepth: 2
    functionLinenumber: 5182
    functionLinenumberEnd: 5193
    functionName: FT_Property_Set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_property_do
    linkageType: ''
    returnType: void
    signature: "void FT_Property_Set( FT_Library        library,\n                   const
      FT_String*  module_name,\n                   const FT_String*  property_name,\n
      \                  const void*       value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_property_do
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - library
    - module_name
    - property_name
    - value
    argTypes:
    - FT_Library
    - FT_String*
    - FT_String*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5210
      start: 5199
    functionDepth: 2
    functionLinenumber: 5199
    functionLinenumberEnd: 5210
    functionName: FT_Property_Get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_property_do
    linkageType: ''
    returnType: void
    signature: "void FT_Property_Get( FT_Library        library,\n                   const
      FT_String*  module_name,\n                   const FT_String*  property_name,\n
      \                  void*             value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_property_do
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - library
    - module_name
    - property_name
    - value
    argTypes:
    - FT_Library
    - FT_String*
    - FT_String*
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5230
      start: 5219
    functionDepth: 2
    functionLinenumber: 5219
    functionLinenumberEnd: 5230
    functionName: ft_property_string_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_property_do
    linkageType: ''
    returnType: void
    signature: "void ft_property_string_set( FT_Library        library,\n                          const
      FT_String*  module_name,\n                          const FT_String*  property_name,\n
      \                         FT_String*        value )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5254,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5251
    functionDepth: 0
    functionLinenumber: 5251
    functionLinenumberEnd: 5259
    functionName: FT_Reference_Library
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: void FT_Reference_Library( FT_Library  library )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5273,1
    - Dst: ft_debug_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5277,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - memory
    - alibrary
    argTypes:
    - FT_Memory
    - FT_Library*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5296
      start: 5265
    functionDepth: 1
    functionLinenumber: 5265
    functionLinenumberEnd: 5296
    functionName: FT_New_Library
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_debug_init
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void FT_New_Library( FT_Memory    memory,\n                  FT_Library
      \ *alibrary )"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - library
    - amajor
    - aminor
    - apatch
    argTypes:
    - FT_Library
    - FT_Int*
    - FT_Int*
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5327
      start: 5302
    functionDepth: 0
    functionLinenumber: 5302
    functionLinenumberEnd: 5327
    functionName: FT_Library_Version
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Library_Version( FT_Library   library,\n                      FT_Int
      \     *amajor,\n                      FT_Int      *aminor,\n                      FT_Int
      \     *apatch )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5339,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5380,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5386,1
    - Dst: FT_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5388,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5391,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5391,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5393,1
    - Dst: FT_Remove_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5405,1
    - Dst: Destroy_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5419,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5426,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5430
      start: 5333
    functionDepth: 6
    functionLinenumber: 5333
    functionLinenumberEnd: 5430
    functionName: FT_Done_Library
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - FT_TRACE7
    - FT_FACE
    - FT_Done_Face
    - Destroy_Module
    - FT_Remove_Module
    - FT_THROW
    - FT_FREE
    - FT_TRACE0
    - FT_DRIVER
    linkageType: ''
    returnType: void
    signature: void FT_Done_Library( FT_Library  library )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 3
    argNames:
    - library
    - hook_index
    - debug_hook
    argTypes:
    - FT_Library
    - FT_UInt
    - FT_DebugHook_Func
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5444
      start: 5436
    functionDepth: 0
    functionLinenumber: 5436
    functionLinenumberEnd: 5444
    functionName: FT_Set_Debug_Hook
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Set_Debug_Hook( FT_Library         library,\n                     FT_UInt
      \           hook_index,\n                     FT_DebugHook_Func  debug_hook
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5457,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5475
      start: 5450
    functionDepth: 2
    functionLinenumber: 5450
    functionLinenumberEnd: 5475
    functionName: FT_Get_TrueType_Engine_Type
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - ft_module_get_service
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: void FT_Get_TrueType_Engine_Type( FT_Library  library )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 7
    argNames:
    - glyph
    - sub_index
    - p_index
    - p_flags
    - p_arg1
    - p_arg2
    - p_transform
    argTypes:
    - FT_GlyphSlot
    - FT_UInt
    - FT_Int*
    - FT_UInt*
    - FT_Int*
    - FT_Int*
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5510
      start: 5481
    functionDepth: 1
    functionLinenumber: 5481
    functionLinenumberEnd: 5510
    functionName: FT_Get_SubGlyph_Info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Get_SubGlyph_Info( FT_GlyphSlot  glyph,\n                        FT_UInt
      \      sub_index,\n                        FT_Int       *p_index,\n                        FT_UInt
      \     *p_flags,\n                        FT_Int       *p_arg1,\n                        FT_Int
      \      *p_arg2,\n                        FT_Matrix    *p_transform )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5533,1
    - Dst: SFNT_Service::get_colr_layer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c:5540,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 5
    argNames:
    - face
    - base_glyph
    - aglyph_index
    - acolor_index
    - iterator
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt*
    - FT_UInt*
    - FT_LayerIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5547
      start: 5516
    functionDepth: 1
    functionLinenumber: 5516
    functionLinenumberEnd: 5547
    functionName: FT_Get_Color_Glyph_Layer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftobjs.c
    functionUses: 1
    functionsReached:
    - SFNT_Service::get_colr_layer
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Color_Glyph_Layer( FT_Face            face,\n                            FT_UInt
      \           base_glyph,\n                            FT_UInt           *aglyph_index,\n
      \                           FT_UInt           *acolor_index,\n                            FT_LayerIterator*
      \ iterator )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:40,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:51,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - face
    - advances
    - count
    - flags
    argTypes:
    - FT_Face
    - FT_Fixed*
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 54
    functionName: _ft_face_scale_advances
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulDiv
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _ft_face_scale_advances( FT_Face    face,\n                           FT_Fixed*
      \ advances,\n                           FT_UInt    count,\n                           FT_Int32
      \  flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - face
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: LOAD_ADVANCE_FAST_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_ADVANCE_FAST_CHECK( face, flags )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:84,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:87,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:90,1
    - Dst: LOAD_ADVANCE_FAST_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:93,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:98,1
    - Dst: _ft_face_scale_advances
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:100,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:102,1
    - Dst: FT_Get_Advances
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:106,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - face
    - gindex
    - flags
    - padvance
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Int32
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 107
    functionName: FT_Get_Advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c
    functionUses: 0
    functionsReached:
    - FT_ERR_NEQ
    - _ft_face_scale_advances
    - LOAD_ADVANCE_FAST_CHECK
    - FT_THROW
    - func
    - FT_Get_Advances
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Advance( FT_Face    face,\n                  FT_UInt    gindex,\n
      \                 FT_Int32   flags,\n                  FT_Fixed  *padvance )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:128,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:131,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:136,1
    - Dst: LOAD_ADVANCE_FAST_CHECK
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:142,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:144,1
    - Dst: _ft_face_scale_advances
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:146,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:148,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:155,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c:161,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - face
    - start
    - count
    - flags
    - padvances
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Int32
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 113
    functionDepth: 4
    functionLinenumber: 113
    functionLinenumberEnd: 172
    functionName: FT_Get_Advances
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftadvanc.c
    functionUses: 1
    functionsReached:
    - FT_ERR_NEQ
    - FT_Load_Glyph
    - _ft_face_scale_advances
    - LOAD_ADVANCE_FAST_CHECK
    - FT_THROW
    - func
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Advances( FT_Face    face,\n                   FT_UInt
      \   start,\n                   FT_UInt    count,\n                   FT_Int32
      \  flags,\n                   FT_Fixed  *padvances )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: FT_USE_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_USE_MODULE( type, x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: FT_USE_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_USE_MODULE( type, x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: FT_USE_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_USE_MODULE( type, x )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Add_Module
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:94,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 102
    functionName: FT_Add_Default_Modules
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached:
    - FT_Add_Module
    - FT_TRACE0
    linkageType: ''
    returnType: void
    signature: void FT_Add_Default_Modules( FT_Library  library )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:125,1
    - Dst: ft_property_string_set
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:175,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 38
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 183
    functionName: FT_Set_Default_Properties
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached:
    - ft_getenv
    - ft_property_string_set
    linkageType: ''
    returnType: void
    signature: void FT_Set_Default_Properties( FT_Library  library )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: FT_Set_Default_Properties
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void FT_Set_Default_Properties( FT_Library  library )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_New_Memory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:210,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:213,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:214,1
    - Dst: FT_New_Library
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:220,1
    - Dst: FT_Done_Memory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:222,1
    - Dst: FT_Add_Default_Modules
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:224,1
    - Dst: FT_Set_Default_Properties
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - alibrary
    argTypes:
    - FT_Library*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 199
    functionDepth: 6
    functionLinenumber: 199
    functionLinenumberEnd: 229
    functionName: FT_Init_FreeType
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 2
    functionsReached:
    - FT_Add_Default_Modules
    - FT_THROW
    - FT_New_Memory
    - FT_Done_Memory
    - FT_Set_Default_Properties
    - FT_New_Library
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: void FT_Init_FreeType( FT_Library  *alibrary )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:241,1
    - Dst: FT_Done_Library
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:246,1
    - Dst: FT_Done_Memory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftinit.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - library
    argTypes:
    - FT_Library
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 235
    functionDepth: 7
    functionLinenumber: 235
    functionLinenumberEnd: 252
    functionName: FT_Done_FreeType
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftinit.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_Done_Memory
    - FT_Done_Library
    linkageType: ''
    returnType: void
    signature: void FT_Done_FreeType( FT_Library  library )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftfstype.c:39,1
    - Dst: FT_Service_PsInfo::ps_get_font_extra
      Src: /src/libspectre/ghostscript/freetype/src/base/ftfstype.c:46,1
    - Dst: FT_Get_Sfnt_Table
      Src: /src/libspectre/ghostscript/freetype/src/base/ftfstype.c:54,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 59
    functionName: FT_Get_FSType_Flags
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftfstype.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Get_Sfnt_Table
    - FT_Service_PsInfo::ps_get_font_extra
    linkageType: ''
    returnType: void
    signature: void FT_Get_FSType_Flags( FT_Face  face )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - abitmap
    argTypes:
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: FT_Bitmap_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Bitmap_Init( FT_Bitmap  *abitmap )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - abitmap
    argTypes:
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: FT_Bitmap_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Bitmap_New( FT_Bitmap  *abitmap )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:78,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:81,1
    - Dst: FT_QREALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:116,1
    - Dst: FT_QALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:119,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:131,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:144,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - library
    - source
    - target
    argTypes:
    - FT_Library
    - FT_Bitmap*
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 153
    functionName: FT_Bitmap_Copy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 2
    functionsReached:
    - FT_QREALLOC
    - FT_MEM_COPY
    - FT_THROW
    - FT_QALLOC
    - FT_ARRAY_COPY
    linkageType: ''
    returnType: void
    signature: "void FT_Bitmap_Copy( FT_Library        library,\n                  const
      FT_Bitmap  *source,\n                  FT_Bitmap        *target)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:175,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:198,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:229,1
    - Dst: FT_QALLOC_MULT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:237,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:253,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:258,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:264,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:281,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:285,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:289,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 4
    argNames:
    - memory
    - bitmap
    - xpixels
    - ypixels
    argTypes:
    - FT_Memory
    - FT_Bitmap*
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 302
    functionName: ft_bitmap_assure_buffer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_QALLOC_MULT
    - FT_ABS
    - FT_THROW
    - FT_MEM_ZERO
    - FT_FREE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_bitmap_assure_buffer( FT_Memory   memory,\n                           FT_Bitmap*
      \ bitmap,\n                           FT_UInt     xpixels,\n                           FT_UInt
      \    ypixels )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:321,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:324,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:326,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:327,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:328,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:330,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:331,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:336,1
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:347,1
    - Dst: FT_Bitmap_Convert
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:348,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:352,1
    - Dst: ft_bitmap_assure_buffer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:375,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 81
    argCount: 4
    argNames:
    - library
    - bitmap
    - xStrength
    - yStrength
    argTypes:
    - FT_Library
    - FT_Bitmap*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 464
    functionName: FT_Bitmap_Embolden
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached:
    - FT_Bitmap_Init
    - ft_bitmap_assure_buffer
    - FT_THROW
    - FT_Bitmap_Done
    - FT_PIX_ROUND
    - FT_Bitmap_Convert
    linkageType: ''
    returnType: void
    signature: "void FT_Bitmap_Embolden( FT_Library  library,\n                      FT_Bitmap*
      \ bitmap,\n                      FT_Pos      xStrength,\n                      FT_Pos
      \     yStrength )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - bgra
    argTypes:
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 510
    functionName: ft_gray_for_premultiplied_srgb_bgra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Byte
    signature: FT_Byte ft_gray_for_premultiplied_srgb_bgra( const FT_Byte*  bgra )
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:529,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:532,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:572,1
    - Dst: FT_QREALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:574,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:583,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:664,1
    - Dst: ft_gray_for_premultiplied_srgb_bgra
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:776,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 141
    argCount: 4
    argNames:
    - library
    - source
    - target
    - alignment
    argTypes:
    - FT_Library
    - FT_Bitmap*
    - FT_Bitmap*
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 793
    functionName: FT_Bitmap_Convert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_QREALLOC
    - ft_gray_for_premultiplied_srgb_bgra
    - FT_ARRAY_COPY
    linkageType: ''
    returnType: void
    signature: "void FT_Bitmap_Convert( FT_Library        library,\n                     const
      FT_Bitmap  *source,\n                     FT_Bitmap        *target,\n                     FT_Int
      \           alignment )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:827,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:834,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:842,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:848,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:849,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:850,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:851,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:857,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:859,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:865,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:867,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:878,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:880,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:886,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:888,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:902,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:903,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:904,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:905,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:911,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:918,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:923,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:926,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:931,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:960,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:962,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:965,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:988,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:990,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:995,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1022,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1029,1
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1045,1
    - Dst: FT_Bitmap_Convert
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1046,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1119,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1122,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 146
    argCount: 6
    argNames:
    - library
    - source_
    - source_offset_
    - target
    - atarget_offset
    - color
    argTypes:
    - FT_Library
    - FT_Bitmap*
    - FT_Vector
    - FT_Bitmap*
    - FT_Vector*
    - FT_Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 1125
    functionName: FT_Bitmap_Blend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_MIN
    - FT_PIX_FLOOR
    - FT_ALLOC
    - FT_Bitmap_Init
    - FT_THROW
    - FT_MAX
    - FT_TRACE5
    - FT_FREE
    - FT_Bitmap_Done
    - FT_Bitmap_Convert
    linkageType: ''
    returnType: void
    signature: "void FT_Bitmap_Blend( FT_Library        library,\n                   const
      FT_Bitmap*  source_,\n                   const FT_Vector   source_offset_,\n
      \                  FT_Bitmap*        target,\n                   FT_Vector        *atarget_offset,\n
      \                  FT_Color          color )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1140,1
    - Dst: FT_Bitmap_Copy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1150
    functionName: FT_GlyphSlot_Own_Bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 0
    functionsReached:
    - FT_Bitmap_Copy
    - FT_Bitmap_Init
    linkageType: ''
    returnType: void
    signature: void FT_GlyphSlot_Own_Bitmap( FT_GlyphSlot  slot )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1163,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1166,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c:1170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - library
    - bitmap
    argTypes:
    - FT_Library
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1174
    functionName: FT_Bitmap_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbitmap.c
    functionUses: 4
    functionsReached:
    - FT_THROW
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void FT_Bitmap_Done( FT_Library  library,\n                  FT_Bitmap
      \ *bitmap )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:48,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:52,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:71,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:73,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:78,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:80,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:101,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:115,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:129,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:133,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:134,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:139,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:140,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:141,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:157,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:161,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:162,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:167,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:173,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:179,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:199,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:210,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:224,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:226,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 71
    argCount: 4
    argNames:
    - module
    - property_name
    - value
    - value_is_string
    argTypes:
    - FT_Module
    - char*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 227
    functionName: ps_property_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - ft_strtol
    - FT_THROW
    - FT_TRACE0
    - FT_ERR
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ps_property_set( FT_Module    module,         /* PS_Driver */\n
      \                  const char*  property_name,\n                   const void*
      \ value,\n                   FT_Bool      value_is_string )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:239,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:257,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:268,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:279,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - module
    - property_name
    - value
    argTypes:
    - FT_Module
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 282
    functionName: ps_property_get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpsprop.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE0
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void ps_property_get( FT_Module    module,         /* PS_Driver */\n
      \                  const char*  property_name,\n                   void*        value
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: ft_trig_downscale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Fixed
    signature: FT_Fixed ft_trig_downscale( FT_Fixed  val )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - val
    argTypes:
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 127
    functionName: ft_trig_downscale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Fixed
    signature: FT_Fixed ft_trig_downscale( FT_Fixed  val )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:143,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:143,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - vec
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 160
    functionName: ft_trig_prenorm
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached:
    - FT_MSB
    - FT_ABS
    linkageType: ''
    returnType: FT_Int
    signature: FT_Int ft_trig_prenorm( FT_Vector*  vec )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - vec
    - theta
    argTypes:
    - FT_Vector*
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 215
    functionName: ft_trig_pseudo_rotate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_trig_pseudo_rotate( FT_Vector*  vec,\n                         FT_Angle
      \   theta )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:286,1
    - Dst: FT_PAD_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:288,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 1
    argNames:
    - vec
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 292
    functionName: ft_trig_pseudo_polarize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached:
    - FT_PAD_ROUND
    linkageType: ''
    returnType: void
    signature: void ft_trig_pseudo_polarize( FT_Vector*  vec )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Unit
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 306
    functionName: FT_Cos
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 6
    functionsReached:
    - FT_Vector_Unit
    linkageType: ''
    returnType: void
    signature: void FT_Cos( FT_Angle  angle )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Unit
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: FT_Sin
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 5
    functionsReached:
    - FT_Vector_Unit
    linkageType: ''
    returnType: void
    signature: void FT_Sin( FT_Angle  angle )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_trig_pseudo_rotate
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:331,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - angle
    argTypes:
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: FT_Tan
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 2
    functionsReached:
    - FT_DivFix
    - ft_trig_pseudo_rotate
    linkageType: ''
    returnType: void
    signature: void FT_Tan( FT_Angle  angle )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_trig_prenorm
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:351,1
    - Dst: ft_trig_pseudo_polarize
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: FT_Atan2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 6
    functionsReached:
    - ft_trig_pseudo_polarize
    - ft_trig_prenorm
    linkageType: ''
    returnType: void
    signature: "void FT_Atan2( FT_Fixed  dx,\n            FT_Fixed  dy )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_trig_pseudo_rotate
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - vec
    - angle
    argTypes:
    - FT_Vector*
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 372
    functionName: FT_Vector_Unit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 3
    functionsReached:
    - ft_trig_pseudo_rotate
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_Unit( FT_Vector*  vec,\n                  FT_Angle
      \   angle )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_trig_prenorm
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:393,1
    - Dst: ft_trig_pseudo_rotate
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:394,1
    - Dst: ft_trig_downscale
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:395,1
    - Dst: ft_trig_downscale
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:396,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - vec
    - angle
    argTypes:
    - FT_Vector*
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 412
    functionName: FT_Vector_Rotate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 1
    functionsReached:
    - ft_trig_prenorm
    - ft_trig_downscale
    - ft_trig_pseudo_rotate
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_Rotate( FT_Vector*  vec,\n                    FT_Angle
      \   angle )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:432,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:436,1
    - Dst: ft_trig_prenorm
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:440,1
    - Dst: ft_trig_pseudo_polarize
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:441,1
    - Dst: ft_trig_downscale
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - vec
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 449
    functionName: FT_Vector_Length
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 4
    functionsReached:
    - ft_trig_pseudo_polarize
    - ft_trig_prenorm
    - ft_trig_downscale
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: void FT_Vector_Length( FT_Vector*  vec )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_trig_prenorm
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:471,1
    - Dst: ft_trig_pseudo_polarize
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:472,1
    - Dst: ft_trig_downscale
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:474,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - vec
    - length
    - angle
    argTypes:
    - FT_Vector*
    - FT_Fixed*
    - FT_Angle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 479
    functionName: FT_Vector_Polarize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 0
    functionsReached:
    - ft_trig_pseudo_polarize
    - ft_trig_prenorm
    - ft_trig_downscale
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_Polarize( FT_Vector*  vec,\n                      FT_Fixed
      \  *length,\n                      FT_Angle   *angle )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Rotate
      Src: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - vec
    - length
    - angle
    argTypes:
    - FT_Vector*
    - FT_Fixed
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: FT_Vector_From_Polar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 8
    functionsReached:
    - FT_Vector_Rotate
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_From_Polar( FT_Vector*  vec,\n                        FT_Fixed
      \   length,\n                        FT_Angle    angle )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - angle1
    - angle2
    argTypes:
    - FT_Angle
    - FT_Angle
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 515
    functionName: FT_Angle_Diff
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fttrigon.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Angle_Diff( FT_Angle  angle1,\n                 FT_Angle  angle2
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - x_unsigned
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    functionName: FT_MOVE_SIGN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MOVE_SIGN( x, x_unsigned, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: FT_RoundFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 2
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: void FT_RoundFix( FT_Fixed  a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: FT_CeilFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: void FT_CeilFix( FT_Fixed  a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: FT_FloorFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_FloorFix( FT_Fixed  a )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 1
    argNames:
    - z
    argTypes:
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 147
    functionName: FT_MSB
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_MSB( FT_UInt32 z )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 165
    functionName: FT_Hypot
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 2
    functionsReached:
    - FT_Vector_Length
    linkageType: ''
    returnType: void
    signature: "void FT_Hypot( FT_Fixed  x,\n            FT_Fixed  y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:187,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:188,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:189,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - a_
    - b_
    - c_
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 197
    functionName: FT_MulDiv
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 31
    functionsReached:
    - FT_MOVE_SIGN
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_MulDiv( FT_Long  a_,\n             FT_Long  b_,\n             FT_Long
      \ c_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:216,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:217,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:218,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - a_
    - b_
    - c_
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 226
    functionName: FT_MulDiv_No_Round
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 1
    functionsReached:
    - FT_MOVE_SIGN
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_MulDiv_No_Round( FT_Long  a_,\n                      FT_Long
      \ b_,\n                      FT_Long  c_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MULFIX_ASSEMBLER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 247
    functionName: FT_MulFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 41
    functionsReached:
    - FT_MULFIX_ASSEMBLER
    linkageType: ''
    returnType: void
    signature: "void FT_MulFix( FT_Long  a_,\n             FT_Long  b_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:264,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:265,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 273
    functionName: FT_DivFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 32
    functionsReached:
    - FT_MOVE_SIGN
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_DivFix( FT_Long  a_,\n             FT_Long  b_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - FT_UInt32
    - FT_UInt32
    - FT_Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: ft_multo64
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_multo64( FT_UInt32  x,\n              FT_UInt32  y,\n              FT_Int64
      \ *z )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - hi
    - lo
    - y
    argTypes:
    - FT_UInt32
    - FT_UInt32
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 347
    functionName: ft_div64by32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - FT_MSB
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 ft_div64by32( FT_UInt32  hi,\n                FT_UInt32
      \ lo,\n                FT_UInt32  y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - FT_Int64*
    - FT_Int64*
    - FT_Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: FT_Add64
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Add64( FT_Int64*  x,\n            FT_Int64*  y,\n            FT_Int64
      \ *z )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:430,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:431,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:432,1
    - Dst: ft_multo64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:445,1
    - Dst: FT_Add64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:450,1
    - Dst: ft_div64by32
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:454,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - a_
    - b_
    - c_
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 460
    functionName: FT_MulDiv
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 31
    functionsReached:
    - FT_Add64
    - FT_MOVE_SIGN
    - NEG_LONG
    - ft_multo64
    - ft_div64by32
    linkageType: ''
    returnType: void
    signature: "void FT_MulDiv( FT_Long  a_,\n             FT_Long  b_,\n             FT_Long
      \ c_ )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:478,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:479,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:480,1
    - Dst: ft_multo64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:493,1
    - Dst: ft_div64by32
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:497,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - a_
    - b_
    - c_
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 503
    functionName: FT_MulDiv_No_Round
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 1
    functionsReached:
    - FT_MOVE_SIGN
    - NEG_LONG
    - ft_multo64
    - ft_div64by32
    linkageType: ''
    returnType: void
    signature: "void FT_MulDiv_No_Round( FT_Long  a_,\n                      FT_Long
      \ b_,\n                      FT_Long  c_ )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MULFIX_ASSEMBLER
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:514,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:582,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:583,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 602
    functionName: FT_MulFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 41
    functionsReached:
    - FT_MOVE_SIGN
    - FT_MULFIX_ASSEMBLER
    - NEG_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_MulFix( FT_Long  a_,\n             FT_Long  b_ )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:621,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:622,1
    - Dst: FT_Add64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:645,1
    - Dst: ft_div64by32
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:646,1
    - Dst: NEG_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:651,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 652
    functionName: FT_DivFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 32
    functionsReached:
    - FT_MOVE_SIGN
    - NEG_LONG
    - FT_Add64
    - ft_div64by32
    linkageType: ''
    returnType: void
    signature: "void FT_DivFix( FT_Long  a_,\n             FT_Long  b_ )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:670,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:670,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:671,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:672,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:672,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:673,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:674,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:674,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:675,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:676,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:676,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Matrix*
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 683
    functionName: FT_Matrix_Multiply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_Matrix_Multiply( const FT_Matrix*  a,\n                      FT_Matrix
      \       *b )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:695,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:698,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:699,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:702,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:704,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:705,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:710,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:711,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 714
    functionName: FT_Matrix_Invert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_MulFix
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: void FT_Matrix_Invert( FT_Matrix*  matrix )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:732,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:732,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:733,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:734,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:734,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:735,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:736,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:736,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:737,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:738,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:738,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - a
    - b
    - scaling
    argTypes:
    - FT_Matrix*
    - FT_Matrix*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 745
    functionName: FT_Matrix_Multiply_Scaled
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 1
    functionsReached:
    - ADD_LONG
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void FT_Matrix_Multiply_Scaled( const FT_Matrix*  a,\n                             FT_Matrix
      \       *b,\n                             FT_Long           scaling )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:763,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:764,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:765,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:766,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:793,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:796,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:799,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:800,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:801,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:802,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:807,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - matrix
    argTypes:
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 815
    functionName: FT_Matrix_Check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 3
    functionsReached:
    - FT_DivFix
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: void FT_Matrix_Check( const FT_Matrix*  matrix )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:833,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:833,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:834,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:835,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:835,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - vector
    - matrix
    - scaling
    argTypes:
    - FT_Vector*
    - FT_Matrix*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 840
    functionName: FT_Vector_Transform_Scaled
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 1
    functionsReached:
    - ADD_LONG
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_Transform_Scaled( FT_Vector*        vector,\n                              const
      FT_Matrix*  matrix,\n                              FT_Long           scaling
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:858,1
    - Dst: FT_MOVE_SIGN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:859,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:882,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - vector
    argTypes:
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 936
    functionName: FT_Vector_NormLen
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 1
    functionsReached:
    - FT_MOVE_SIGN
    - FT_MSB
    linkageType: ''
    returnType: void
    signature: void FT_Vector_NormLen( FT_Vector*  vector )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - x
    argTypes:
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 973
    functionName: FT_SqrtFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_SqrtFixed( FT_Int32  x )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SUB_INT64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:991,1
    - Dst: MUL_INT64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:991,1
    - Dst: MUL_INT64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:992,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1002,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1002,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1002,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1003,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1003,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1003,1
    - Dst: MUL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1005,1
    - Dst: MUL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1006,1
    - Dst: ft_multo64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1022,1
    - Dst: ft_multo64
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1023,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - in_x
    - in_y
    - out_x
    - out_y
    argTypes:
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1041
    functionName: ft_corner_orientation
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - MUL_LONG
    - MUL_INT64
    - FT_ABS
    - SUB_INT64
    - ADD_LONG
    - ft_multo64
    linkageType: ''
    returnType: void
    signature: "void ft_corner_orientation( FT_Pos  in_x,\n                         FT_Pos
      \ in_y,\n                         FT_Pos  out_x,\n                         FT_Pos
      \ out_y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_HYPOT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1077,1
    - Dst: FT_HYPOT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1078,1
    - Dst: FT_HYPOT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - in_x
    - in_y
    - out_x
    - out_y
    argTypes:
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1086
    functionName: ft_corner_is_flat
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcalc.c
    functionUses: 0
    functionsReached:
    - FT_HYPOT
    linkageType: ''
    returnType: void
    signature: "void ft_corner_is_flat( FT_Pos  in_x,\n                     FT_Pos
      \ in_y,\n                     FT_Pos  out_x,\n                     FT_Pos  out_y
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpatent.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: FT_Face_CheckTrueTypePatents
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpatent.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void FT_Face_CheckTrueTypePatents( FT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpatent.c:45,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpatent.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - face
    - value
    argTypes:
    - FT_Face
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 49
    functionName: FT_Face_SetUnpatentedHinting
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpatent.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Face_SetUnpatentedHinting( FT_Face  face,\n                                FT_Bool
      \ value )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftfntfmt.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: FT_Get_Font_Format
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftfntfmt.c
    functionUses: 1
    functionsReached:
    - FT_FACE_FIND_SERVICE
    linkageType: ''
    returnType: void
    signature: void FT_Get_Font_Format( FT_Face  face )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftfntfmt.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: FT_Get_X11_Font_Format
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftfntfmt.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    linkageType: ''
    returnType: void
    signature: void FT_Get_X11_Font_Format( FT_Face  face )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:39,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:46,1
    - Dst: FT_Service_CID::get_ros
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:49,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - face
    - registry
    - ordering
    - supplement
    argTypes:
    - FT_Face
    - char**
    - char**
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 62
    functionName: FT_Get_CID_Registry_Ordering_Supplement
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcid.c
    functionUses: 0
    functionsReached:
    - FT_Service_CID::get_ros
    - FT_FACE_FIND_SERVICE
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,\n
      \                                          const char*  *registry,\n                                           const
      char*  *ordering,\n                                           FT_Int       *supplement)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:69,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:78,1
    - Dst: FT_Service_CID::get_is_cid
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - face
    - is_cid
    argTypes:
    - FT_Face
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: FT_Get_CID_Is_Internally_CID_Keyed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcid.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_ERR
    - FT_Service_CID::get_is_cid
    linkageType: ''
    returnType: void
    signature: "void FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,\n                                      FT_Bool
      \ *is_cid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:96,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:105,1
    - Dst: FT_Service_CID::get_cid_from_glyph_index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcid.c:108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - face
    - glyph_index
    - cid
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 115
    functionName: FT_Get_CID_From_Glyph_Index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcid.c
    functionUses: 0
    functionsReached:
    - FT_FACE_FIND_SERVICE
    - FT_Service_CID::get_cid_from_glyph_index
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Get_CID_From_Glyph_Index( FT_Face   face,\n                               FT_UInt
      \  glyph_index,\n                               FT_UInt  *cid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:49,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:55,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:59,1
    - Dst: FT_Service_GXvalidate::validate
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:62,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:67,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - face
    - validation_flags
    - tables
    - table_length
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes[]
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 71
    functionName: FT_TrueTypeGX_Validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_GXvalidate::validate
    - FT_FACE_FIND_GLOBAL_SERVICE
    linkageType: ''
    returnType: void
    signature: "void FT_TrueTypeGX_Validate( FT_Face   face,\n                          FT_UInt
      \  validation_flags,\n                          FT_Bytes  tables[FT_VALIDATE_GX_LENGTH],\n
      \                         FT_UInt   table_length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:84,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - face
    - table
    argTypes:
    - FT_Face
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: FT_TrueTypeGX_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: "void FT_TrueTypeGX_Free( FT_Face   face,\n                      FT_Bytes
      \ table )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:101,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:107,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:111,1
    - Dst: FT_Service_CKERNvalidate::validate
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:114,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:118,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - face
    - validation_flags
    - ckern_table
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Bytes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: FT_ClassicKern_Validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_GLOBAL_SERVICE
    - FT_Service_CKERNvalidate::validate
    linkageType: ''
    returnType: void
    signature: "void FT_ClassicKern_Validate( FT_Face    face,\n                           FT_UInt
      \   validation_flags,\n                           FT_Bytes  *ckern_table )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:135,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - face
    - table
    argTypes:
    - FT_Face
    - FT_Bytes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 139
    functionName: FT_ClassicKern_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgxval.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: "void FT_ClassicKern_Free( FT_Face   face,\n                       FT_Bytes
      \ table )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR_CAT
      Src: /src/libspectre/ghostscript/freetype/src/base/fterrors.c:30,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - error_code
    argTypes:
    - FT_Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 46
    functionName: FT_Error_String
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fterrors.c
    functionUses: 1
    functionsReached:
    - FT_ERR_CAT
    linkageType: ''
    returnType: void
    signature: void FT_Error_String( FT_Error  error_code )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: FT_ERRORDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fterrors.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERRORDEF( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:74,1
    - Dst: ft_smalloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - memory
    - size
    argTypes:
    - FT_Memory
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 77
    functionName: ft_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached:
    - ft_smalloc
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ft_alloc( FT_Memory  memory,\n            long       size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:110,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:111,1
    - Dst: ft_srealloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - memory
    - cur_size
    - new_size
    - block
    argTypes:
    - FT_Memory
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: ft_realloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached:
    - ft_srealloc
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ft_realloc( FT_Memory  memory,\n              long       cur_size,\n
      \             long       new_size,\n              void*      block )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:136,1
    - Dst: ft_sfree
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - memory
    - block
    argTypes:
    - FT_Memory
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: ft_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached:
    - ft_sfree
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ft_free( FT_Memory  memory,\n           void*      block )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: STREAM_FILE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STREAM_FILE( stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_fclose
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:179,1
    - Dst: STREAM_FILE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: ft_ansi_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached:
    - ft_fclose
    - STREAM_FILE
    linkageType: ''
    returnType: void
    signature: void ft_ansi_stream_close( FT_Stream  stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: STREAM_FILE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:225,1
    - Dst: ft_fseek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:228,1
    - Dst: ft_fread
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:230,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - stream
    - offset
    - buffer
    - count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 231
    functionName: ft_ansi_stream_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 0
    functionsReached:
    - ft_fread
    - STREAM_FILE
    - ft_fseek
    linkageType: ''
    returnType: void
    signature: "void ft_ansi_stream_io( FT_Stream       stream,\n                     unsigned
      long   offset,\n                     unsigned char*  buffer,\n                     unsigned
      long   count )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:244,1
    - Dst: ft_fopen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:253,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:256,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:259,1
    - Dst: ft_fseek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:262,1
    - Dst: ft_ftell
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:263,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:266,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:267,1
    - Dst: ft_fclose
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:268,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:269,1
    - Dst: ft_fseek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:271,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:277,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - stream
    - filepathname
    argTypes:
    - FT_Stream
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 282
    functionName: FT_Stream_Open
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 2
    functionsReached:
    - ft_ftell
    - FT_TRACE1
    - ft_fclose
    - FT_THROW
    - ft_fopen
    - FT_ERROR
    - ft_fseek
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_Open( FT_Stream    stream,\n                  const
      char*  filepathname )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_smalloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:305,1
    - Dst: ft_mem_debug_init
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 318
    functionName: FT_New_Memory
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 1
    functionsReached:
    - ft_smalloc
    - ft_mem_debug_init
    linkageType: ''
    returnType: void
    signature: void FT_New_Memory( void )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_debug_done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:327,1
    - Dst: ft_sfree
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - memory
    argTypes:
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 330
    functionName: FT_Done_Memory
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsystem.c
    functionUses: 2
    functionsReached:
    - ft_mem_debug_done
    - ft_sfree
    linkageType: ''
    returnType: void
    signature: void FT_Done_Memory( FT_Memory  memory )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: FT_SHIFTCLAMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SHIFTCLAMP( x )
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - cbox
    - slot
    - mode
    argTypes:
    - FT_BBox*
    - FT_GlyphSlot
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 74
    functionName: ft_lcd_padding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_lcd_padding( FT_BBox*        cbox,\n                  FT_GlyphSlot
      \   slot,\n                  FT_Render_Mode  mode )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:128,1
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:131,1
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:132,1
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:171,1
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:174,1
    - Dst: FT_SHIFTCLAMP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:175,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 2
    argNames:
    - bitmap
    - weights
    argTypes:
    - FT_Bitmap*
    - FT_LcdFiveTapFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 178
    functionName: ft_lcd_filter_fir
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_SHIFTCLAMP
    linkageType: ''
    returnType: void
    signature: "void ft_lcd_filter_fir( FT_Bitmap*           bitmap,\n                     FT_LcdFiveTapFilter
      \ weights )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:201,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 2
    argNames:
    - bitmap
    - weights
    argTypes:
    - FT_Bitmap*
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 283
    functionName: _ft_lcd_filter_legacy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void _ft_lcd_filter_legacy( FT_Bitmap*      bitmap,\n                         FT_Byte*
      \       weights )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:295,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:298,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - library
    - weights
    argTypes:
    - FT_Library
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: FT_Library_SetLcdFilterWeights
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_memcpy
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdFilterWeights( FT_Library      library,\n                                  unsigned
      char  *weights )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:320,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:329,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:336,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - library
    - filter
    argTypes:
    - FT_Library
    - FT_LcdFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 356
    functionName: FT_Library_SetLcdFilter
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - ft_memcpy
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdFilter( FT_Library    library,\n                           FT_LcdFilter
      \ filter )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:363,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:364,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - library
    - sub
    argTypes:
    - FT_Library
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 367
    functionName: FT_Library_SetLcdGeometry
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdGeometry( FT_Library  library,\n                             FT_Vector*
      \ sub )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:381,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:381,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:382,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:382,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:383,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:383,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:384,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:384,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:388,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:388,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:389,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:389,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:390,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:390,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:391,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - cbox
    - slot
    - mode
    argTypes:
    - FT_BBox*
    - FT_GlyphSlot
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 393
    functionName: ft_lcd_padding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 1
    functionsReached:
    - FT_MAX
    - FT_MIN
    linkageType: ''
    returnType: void
    signature: "void ft_lcd_padding( FT_BBox*        cbox,\n                  FT_GlyphSlot
      \   slot,\n                  FT_Render_Mode  mode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:400,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:401,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - library
    - weights
    argTypes:
    - FT_Library
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 404
    functionName: FT_Library_SetLcdFilterWeights
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdFilterWeights( FT_Library      library,\n                                  unsigned
      char  *weights )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:411,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:412,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - library
    - filter
    argTypes:
    - FT_Library
    - FT_LcdFilter
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: FT_Library_SetLcdFilter
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdFilter( FT_Library    library,\n                           FT_LcdFilter
      \ filter )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:425,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:428,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:430,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - library
    - sub
    argTypes:
    - FT_Library
    - FT_Vector[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: FT_Library_SetLcdGeometry
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftlcdfil.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_memcpy
    linkageType: ''
    returnType: void
    signature: "void FT_Library_SetLcdGeometry( FT_Library  library,\n                             FT_Vector
      \  sub[3] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - stream
    - base
    - size
    argTypes:
    - FT_Stream
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 45
    functionName: FT_Stream_OpenMemory
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenMemory( FT_Stream       stream,\n                        const
      FT_Byte*  base,\n                        FT_ULong        size )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream::close
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: FT_Stream_Close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 5
    functionsReached:
    - FT_Stream::close
    linkageType: ''
    returnType: void
    signature: void FT_Stream_Close( FT_Stream  stream )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:65,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:67,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:71,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:77,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - stream
    - pos
    argTypes:
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 88
    functionName: FT_Stream_Seek
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 6
    functionsReached:
    - FT_THROW
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_Seek( FT_Stream  stream,\n                  FT_ULong
      \  pos )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:96,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - distance
    argTypes:
    - FT_Stream
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: FT_Stream_Skip
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Stream_Seek
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_Skip( FT_Stream  stream,\n                  FT_Long
      \   distance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: FT_Stream_Pos
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Stream_Pos( FT_Stream  stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_ReadAt
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - stream
    - buffer
    - count
    argTypes:
    - FT_Stream
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: FT_Stream_Read
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 5
    functionsReached:
    - FT_Stream_ReadAt
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_Read( FT_Stream  stream,\n                  FT_Byte*
      \  buffer,\n                  FT_ULong   count )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:130,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:134,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:138,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:145,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:152,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - stream
    - pos
    - buffer
    - count
    argTypes:
    - FT_Stream
    - FT_ULong
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 160
    functionName: FT_Stream_ReadAt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_Stream::read
    - FT_MEM_COPY
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadAt( FT_Stream  stream,\n                    FT_ULong
      \  pos,\n                    FT_Byte*   buffer,\n                    FT_ULong
      \  count )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:175,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - stream
    - buffer
    - count
    argTypes:
    - FT_Stream
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 189
    functionName: FT_Stream_TryRead
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_Stream::read
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_TryRead( FT_Stream  stream,\n                     FT_Byte*
      \  buffer,\n                     FT_ULong   count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_EnterFrame
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - stream
    - count
    - pbytes
    argTypes:
    - FT_Stream
    - FT_ULong
    - FT_Byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 211
    functionName: FT_Stream_ExtractFrame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_Stream_EnterFrame
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ExtractFrame( FT_Stream  stream,\n                          FT_ULong
      \  count,\n                          FT_Byte**  pbytes )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:224,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - stream
    - pbytes
    argTypes:
    - FT_Stream
    - FT_Byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 231
    functionName: FT_Stream_ReleaseFrame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - ft_mem_free
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReleaseFrame( FT_Stream  stream,\n                          FT_Byte**
      \ pbytes )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:242,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:245,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:256,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:260,1
    - Dst: ft_mem_qalloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:266,1
    - Dst: FT_QALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:272,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:276,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:280,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:284,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:285,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:298,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:302,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - stream
    - count
    argTypes:
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 314
    functionName: FT_Stream_EnterFrame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 4
    functionsReached:
    - FT_TRACE7
    - ft_mem_qalloc
    - FT_THROW
    - FT_ASSERT
    - FT_QALLOC
    - FT_FREE
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_EnterFrame( FT_Stream  stream,\n                        FT_ULong
      \  count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:329,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:331,1
    - Dst: ft_mem_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:339,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: FT_Stream_ExitFrame
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 2
    functionsReached:
    - ft_mem_free
    - FT_ASSERT
    - FT_FREE
    - FT_TRACE7
    linkageType: ''
    returnType: void
    signature: void FT_Stream_ExitFrame( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: FT_Stream_GetChar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetChar( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:374,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 383
    functionName: FT_Stream_GetUShort
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetUShort( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:393,1
    - Dst: FT_NEXT_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: FT_Stream_GetUShortLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_NEXT_USHORT_LE
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetUShortLE( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:412,1
    - Dst: FT_NEXT_UOFF3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 420
    functionName: FT_Stream_GetUOffset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_UOFF3
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetUOffset( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:430,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 438
    functionName: FT_Stream_GetULong
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_NEXT_ULONG
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetULong( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:448,1
    - Dst: FT_NEXT_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:453,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: FT_Stream_GetULongLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_NEXT_ULONG_LE
    linkageType: ''
    returnType: void
    signature: void FT_Stream_GetULongLE( FT_Stream  stream )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:466,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:472,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:487,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 493
    functionName: FT_Stream_ReadChar
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadChar( FT_Stream  stream,\n                      FT_Error*
      \ error )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:505,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:513,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:522,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:532,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 538
    functionName: FT_Stream_ReadUShort
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_NEXT_USHORT
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadUShort( FT_Stream  stream,\n                        FT_Error*
      \ error )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:550,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:558,1
    - Dst: FT_NEXT_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:567,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:577,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 583
    functionName: FT_Stream_ReadUShortLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_NEXT_USHORT_LE
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadUShortLE( FT_Stream  stream,\n                          FT_Error*
      \ error )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:595,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:603,1
    - Dst: FT_NEXT_UOFF3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:612,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:622,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:623,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 628
    functionName: FT_Stream_ReadUOffset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_NEXT_UOFF3
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadUOffset( FT_Stream  stream,\n                         FT_Error*
      \ error )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:640,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:648,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:657,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:667,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:668,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 673
    functionName: FT_Stream_ReadULong
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_ASSERT
    - FT_Stream::read
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadULong( FT_Stream  stream,\n                       FT_Error*
      \ error )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:685,1
    - Dst: FT_Stream::read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:693,1
    - Dst: FT_NEXT_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:702,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:712,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:713,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - stream
    - error
    argTypes:
    - FT_Stream
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 718
    functionName: FT_Stream_ReadULongLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_Stream::read
    - FT_NEXT_ULONG_LE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadULongLE( FT_Stream  stream,\n                         FT_Error*
      \ error )"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:732,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:735,1
    - Dst: FT_Stream_EnterFrame
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:750,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:767,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:774,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:783,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:789,1
    - Dst: FT_NEXT_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:795,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:801,1
    - Dst: FT_NEXT_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:807,1
    - Dst: FT_NEXT_UOFF3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:813,1
    - Dst: FT_NEXT_UOFF3_LE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:819,1
    - Dst: FT_Stream_ExitFrame
      Src: /src/libspectre/ghostscript/freetype/src/base/ftstream.c:862,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 96
    argCount: 3
    argNames:
    - stream
    - fields
    - structure
    argTypes:
    - FT_Stream
    - FT_Frame_Field*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 722
    functionDepth: 2
    functionLinenumber: 722
    functionLinenumberEnd: 865
    functionName: FT_Stream_ReadFields
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftstream.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_Stream_EnterFrame
    - FT_NEXT_ULONG
    - FT_NEXT_BYTE
    - FT_Stream_ExitFrame
    - FT_THROW
    - FT_NEXT_UOFF3
    - FT_NEXT_USHORT_LE
    - FT_NEXT_USHORT
    - FT_NEXT_ULONG_LE
    - FT_NEXT_UOFF3_LE
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_ReadFields( FT_Stream              stream,\n                        const
      FT_Frame_Field*  fields,\n                        void*                  structure
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - addr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: FT_MEM_VAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_VAL( addr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: FT_FILENAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FILENAME( x )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - num
    argTypes:
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: ft_mem_closest_prime
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Long
    signature: FT_Long ft_mem_closest_prime( FT_Long  num )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:214,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:216,1
    - Dst: vprintf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:217,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:218,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:220,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: ft_mem_debug_panic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void ft_mem_debug_panic( const char*  fmt,\n                      ...
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MemTable::alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - table
    - size
    argTypes:
    - FT_MemTable
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: ft_mem_table_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_MemTable::alloc
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer ft_mem_table_alloc( FT_MemTable  table,\n                      FT_Long
      \     size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MemTable::free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - table
    - block
    argTypes:
    - FT_MemTable
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: ft_mem_table_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_MemTable::free
    linkageType: ''
    returnType: void
    signature: "void ft_mem_table_free( FT_MemTable  table,\n                     FT_Pointer
      \  block )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_closest_prime
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:260,1
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:268,1
    - Dst: FT_ARRAY_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:274,1
    - Dst: FT_MEM_VAL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:286,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_MemTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 302
    functionName: ft_mem_table_resize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - ft_mem_closest_prime
    - ft_mem_table_free
    - FT_ARRAY_ZERO
    - ft_mem_table_alloc
    - FT_MEM_VAL
    linkageType: ''
    returnType: void
    signature: void ft_mem_table_resize( FT_MemTable  table )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:311,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:315,1
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:329,1
    - Dst: FT_ARRAY_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:333,1
    - Dst: FT_Memory::free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - memory
    argTypes:
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 342
    functionName: ft_mem_table_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_ARRAY_ZERO
    - FT_ZERO
    - FT_Memory::free
    - FT_Memory::alloc
    linkageType: ''
    returnType: FT_MemTable
    signature: FT_MemTable ft_mem_table_new( FT_Memory  memory )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_DumpMemory
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:353,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:368,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:372,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:378,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:384,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:390,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:405,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:411,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:413,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:416,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:419,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:423,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_MemTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 424
    functionName: ft_mem_table_destroy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_FILENAME
    - ft_mem_table_free
    - printf
    - ft_mem_debug_panic
    - FT_DumpMemory
    linkageType: ''
    returnType: void
    signature: void ft_mem_table_destroy( FT_MemTable  table )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_VAL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - table
    - address
    argTypes:
    - FT_MemTable
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 450
    functionName: ft_mem_table_get_nodep
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_MEM_VAL
    linkageType: ''
    returnType: FT_MemNode
    signature: "FT_MemNode *\n  ft_mem_table_get_nodep( FT_MemTable  table,\n                          FT_Byte*
      \    address )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:479,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - table
    argTypes:
    - FT_MemTable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 503
    functionName: ft_mem_table_get_source
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - ft_mem_debug_panic
    - ft_mem_table_alloc
    linkageType: ''
    returnType: FT_MemSource
    signature: FT_MemSource ft_mem_table_get_source( FT_MemTable  table )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_table_get_nodep
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:520,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:529,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:536,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:541,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:542,1
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:547,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:549,1
    - Dst: ft_mem_table_get_source
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:553,1
    - Dst: ft_mem_table_resize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:600,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - table
    - address
    - size
    - delta
    argTypes:
    - FT_MemTable
    - FT_Byte*
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 602
    functionName: ft_mem_table_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_FILENAME
    - ft_mem_table_resize
    - ft_mem_table_alloc
    - ft_mem_debug_panic
    - ft_mem_table_get_nodep
    - ft_mem_table_get_source
    linkageType: ''
    returnType: void
    signature: "void ft_mem_table_set( FT_MemTable  table,\n                    FT_Byte*
      \    address,\n                    FT_Long      size,\n                    FT_Long
      \     delta )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_table_get_nodep
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:615,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:623,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:627,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:628,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:629,1
    - Dst: FT_MEM_SET
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:632,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:661,1
    - Dst: ft_mem_table_resize
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:665,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:669,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:672,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - table
    - address
    - delta
    argTypes:
    - FT_MemTable
    - FT_Byte*
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 674
    functionName: ft_mem_table_remove
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_FILENAME
    - ft_mem_table_free
    - FT_MEM_SET
    - ft_mem_table_resize
    - ft_mem_debug_panic
    - ft_mem_table_get_nodep
    linkageType: ''
    returnType: void
    signature: "void ft_mem_table_remove( FT_MemTable  table,\n                       FT_Byte*
      \    address,\n                       FT_Long      delta )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:686,1
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:698,1
    - Dst: ft_mem_table_set
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:701,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - memory
    - size
    argTypes:
    - FT_Memory
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 677
    functionDepth: 3
    functionLinenumber: 677
    functionLinenumberEnd: 710
    functionName: ft_mem_debug_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - ft_mem_debug_panic
    - ft_mem_table_set
    - ft_mem_table_alloc
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer ft_mem_debug_alloc( FT_Memory  memory,\n                      FT_Long
      \   size )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:721,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:722,1
    - Dst: ft_mem_table_remove
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:725,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - memory
    - block
    argTypes:
    - FT_Memory
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 713
    functionDepth: 3
    functionLinenumber: 713
    functionLinenumberEnd: 734
    functionName: ft_mem_debug_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - ft_mem_debug_panic
    - ft_mem_table_remove
    - FT_FILENAME
    - ft_mem_table_free
    linkageType: ''
    returnType: void
    signature: "void ft_mem_debug_free( FT_Memory   memory,\n                     FT_Pointer
      \ block )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:748,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:759,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:766,1
    - Dst: ft_mem_table_get_nodep
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:771,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:774,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:779,1
    - Dst: ft_mem_debug_panic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:784,1
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:801,1
    - Dst: ft_mem_table_set
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:805,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:807,1
    - Dst: ft_mem_table_remove
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:810,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:816,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 4
    argNames:
    - memory
    - cur_size
    - new_size
    - block
    argTypes:
    - FT_Memory
    - FT_Long
    - FT_Long
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 819
    functionName: ft_mem_debug_realloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached:
    - FT_FILENAME
    - ft_memcpy
    - ft_mem_table_free
    - ft_mem_table_set
    - ft_mem_table_alloc
    - ft_mem_debug_panic
    - ft_mem_table_get_nodep
    - ft_mem_table_remove
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer ft_mem_debug_realloc( FT_Memory   memory,\n                        FT_Long
      \    cur_size,\n                        FT_Long     new_size,\n                        FT_Pointer
      \ block )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:829,1
    - Dst: ft_mem_table_new
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:831,1
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:842,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:845,1
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:855,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:858,1
    - Dst: ft_getenv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:868,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:871,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - memory
    argTypes:
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 822
    functionDepth: 2
    functionLinenumber: 822
    functionLinenumberEnd: 882
    functionName: ft_mem_debug_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 1
    functionsReached:
    - ft_strtol
    - ft_mem_table_new
    - ft_getenv
    linkageType: ''
    returnType: FT_Int
    signature: FT_Int ft_mem_debug_init( FT_Memory  memory )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_table_destroy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:897,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - memory
    argTypes:
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 900
    functionName: ft_mem_debug_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 1
    functionsReached:
    - ft_mem_table_destroy
    linkageType: ''
    returnType: void
    signature: void ft_mem_debug_done( FT_Memory  memory )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 903
    functionDepth: 0
    functionLinenumber: 903
    functionLinenumberEnd: 917
    functionName: ft_mem_source_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ft_mem_source_compare( const void*  p1,\n                         const
      void*  p2 )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:946,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:959,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:964,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:968,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:969,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:970,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:979,1
    - Dst: FT_FILENAME
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:982,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:985,1
    - Dst: ft_mem_table_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c:987,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - memory
    argTypes:
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 989
    functionName: FT_DumpMemory
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftdbgmem.c
    functionUses: 1
    functionsReached:
    - FT_FILENAME
    - ft_mem_table_free
    - printf
    - ft_qsort
    - ft_mem_table_alloc
    linkageType: ''
    returnType: void
    signature: void FT_DumpMemory( FT_Memory  memory )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:70,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:73,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:84,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:92,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:93,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:96,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:97,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:103,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:113,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:133,1
    - Dst: FT_Outline_Funcs*::move_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:135,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:144,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:152,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:153,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:155,1
    - Dst: FT_Outline_Funcs*::line_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:157,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:164,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:165,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:176,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:178,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:179,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:183,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:187,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:199,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:203,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:211,1
    - Dst: FT_Outline_Funcs*::conic_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:215,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:224,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:230,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:231,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:233,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:234,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:241,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:242,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:244,1
    - Dst: FT_Outline_Funcs*::cubic_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:249,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:255,1
    - Dst: FT_Outline_Funcs*::cubic_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:260,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:267,1
    - Dst: FT_Outline_Funcs*::line_to
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:269,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:278,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:282,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:286,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 141
    argCount: 3
    argNames:
    - outline
    - func_interface
    - user
    argTypes:
    - FT_Outline*
    - FT_Outline_Funcs*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 288
    functionName: FT_Outline_Decompose
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 2
    functionsReached:
    - FT_Outline_Funcs*::cubic_to
    - SCALED
    - FT_THROW
    - FT_CURVE_TAG
    - FT_TRACE5
    - FT_Outline_Funcs*::conic_to
    - FT_Outline_Funcs*::line_to
    - FT_Outline_Funcs*::move_to
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Decompose( FT_Outline*              outline,\n                        const
      FT_Outline_Funcs*  func_interface,\n                        void*                    user
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: SCALED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALED( x )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:304,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:309,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:315,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:318,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:320,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:321,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:322,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:333,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 4
    argNames:
    - library
    - numPoints
    - numContours
    - anoutline
    argTypes:
    - FT_Library
    - FT_UInt
    - FT_Int
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 336
    functionName: FT_Outline_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 4
    functionsReached:
    - FT_THROW
    - FT_NEW_ARRAY
    - FT_Outline_Done
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_New( FT_Library   library,\n                  FT_UInt
      \     numPoints,\n                  FT_Int       numContours,\n                  FT_Outline
      \ *anoutline )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:380,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 381
    functionName: FT_Outline_Check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: void FT_Outline_Check( FT_Outline*  outline )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:394,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:398,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:405,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:406,1
    - Dst: FT_ARRAY_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:410,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - FT_Outline*
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 420
    functionName: FT_Outline_Copy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_ARRAY_COPY
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Copy( const FT_Outline*  source,\n                   FT_Outline
      \       *target )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:433,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:436,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:441,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:445,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:446,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - library
    - outline
    argTypes:
    - FT_Library
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 452
    functionName: FT_Outline_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 4
    functionsReached:
    - FT_THROW
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Done( FT_Library   library,\n                   FT_Outline*
      \ outline )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - outline
    - acbox
    argTypes:
    - FT_Outline*
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 502
    functionName: FT_Outline_Get_CBox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Get_CBox( const FT_Outline*  outline,\n                       FT_BBox
      \          *acbox )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:523,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - outline
    - xOffset
    - yOffset
    argTypes:
    - FT_Outline*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 527
    functionName: FT_Outline_Translate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 8
    functionsReached:
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Translate( const FT_Outline*  outline,\n                        FT_Pos
      \            xOffset,\n                        FT_Pos             yOffset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 588
    functionName: FT_Outline_Reverse
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_Outline_Reverse( FT_Outline*  outline )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:605,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:608,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:611,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:613,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:616,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:633,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:636,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:637,1
    - Dst: FT_Lookup_Renderer
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:646,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 3
    argNames:
    - library
    - outline
    - params
    argTypes:
    - FT_Library
    - FT_Outline*
    - FT_Raster_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 651
    functionName: FT_Outline_Render
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - FT_ERR_NEQ
    - FT_Renderer::raster_render
    - FT_Outline_Get_CBox
    - FT_THROW
    - FT_Lookup_Renderer
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Render( FT_Library         library,\n                     FT_Outline*
      \       outline,\n                     FT_Raster_Params*  params )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:665,1
    - Dst: FT_Outline_Render
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:677,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - library
    - outline
    - abitmap
    argTypes:
    - FT_Library
    - FT_Outline*
    - FT_Bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 657
    functionDepth: 3
    functionLinenumber: 657
    functionLinenumberEnd: 678
    functionName: FT_Outline_Get_Bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Outline_Render
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Get_Bitmap( FT_Library        library,\n                         FT_Outline*
      \      outline,\n                         const FT_Bitmap  *abitmap )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:693,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:694,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:696,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vector
    - matrix
    argTypes:
    - FT_Vector*
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 701
    functionName: FT_Vector_Transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 2
    functionsReached:
    - FT_MulFix
    linkageType: ''
    returnType: void
    signature: "void FT_Vector_Transform( FT_Vector*        vector,\n                       const
      FT_Matrix*  matrix )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - outline
    - matrix
    argTypes:
    - FT_Outline*
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 722
    functionName: FT_Outline_Transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 7
    functionsReached:
    - FT_Vector_Transform
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Transform( const FT_Outline*  outline,\n                        const
      FT_Matrix*   matrix )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - outline
    - ','
    - c
    - ','
    - first
    - ','
    - last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 735
    functionName: FT_OUTLINE_GET_CONTOUR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_OUTLINE_GET_CONTOUR( outline, c, first, last )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_OUTLINE_GET_CONTOUR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 3
    argNames:
    - outline
    - c
    - point
    argTypes:
    - FT_Outline*
    - FT_Short
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 788
    functionName: ft_contour_has
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - FT_OUTLINE_GET_CONTOUR
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool ft_contour_has( FT_Outline*  outline,\n                  FT_Short
      \    c,\n                  FT_Vector*   point )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_OUTLINE_GET_CONTOUR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:800,1
    - Dst: ft_contour_has
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:804,1
    - Dst: ft_contour_has
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:810,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - outline
    - c
    argTypes:
    - FT_Outline*
    - FT_UShort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 791
    functionDepth: 2
    functionLinenumber: 791
    functionLinenumberEnd: 818
    functionName: ft_contour_enclosed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - FT_OUTLINE_GET_CONTOUR
    - ft_contour_has
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool ft_contour_enclosed( FT_Outline*  outline,\n                       FT_UShort
      \   c )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ft_contour_enclosed
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:848,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:873,1
    - Dst: FT_Atan2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:874,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 887
    functionName: ft_outline_get_orientation
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - ft_contour_enclosed
    - FT_Atan2
    linkageType: ''
    returnType: FT_Orientation
    signature: FT_Orientation ft_outline_get_orientation( FT_Outline*  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_EmboldenXY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - outline
    - strength
    argTypes:
    - FT_Outline*
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: FT_Outline_Embolden
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 0
    functionsReached:
    - FT_Outline_EmboldenXY
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Embolden( FT_Outline*  outline,\n                       FT_Pos
      \      strength )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:915,1
    - Dst: FT_Outline_Get_Orientation
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:922,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:926,1
    - Dst: FT_Vector_NormLen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:957,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:977,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:977,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:994,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:994,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:998,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1001,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1001,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1002,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1004,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1007,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1007,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1008,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1010,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 3
    argNames:
    - outline
    - xstrength
    - ystrength
    argTypes:
    - FT_Outline*
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 1034
    functionName: FT_Outline_EmboldenXY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 1
    functionsReached:
    - FT_MIN
    - FT_THROW
    - FT_Outline_Get_Orientation
    - FT_MulFix
    - FT_MulDiv
    - FT_Vector_NormLen
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_EmboldenXY( FT_Outline*  outline,\n                         FT_Pos
      \      xstrength,\n                         FT_Pos       ystrength )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1058,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1064,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1064,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1065,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1066,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1068,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1069,1
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1087,1
    - Dst: MUL_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c:1088,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - outline
    argTypes:
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1103
    functionName: FT_Outline_Get_Orientation
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftoutln.c
    functionUses: 3
    functionsReached:
    - MUL_LONG
    - FT_Outline_Get_CBox
    - FT_ABS
    - FT_MAX
    - FT_MSB
    - ADD_LONG
    linkageType: ''
    returnType: void
    signature: void FT_Outline_Get_Orientation( FT_Outline*  outline )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - bbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 56
    functionName: FT_UPDATE_BBOX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UPDATE_BBOX( p, bbox )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - bbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: CHECK_X
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_X( p, bbox )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - bbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: CHECK_Y
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_Y( p, bbox )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UPDATE_BBOX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FT_Vector*
    - TBBox_Rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: BBox_Move_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - FT_UPDATE_BBOX
    linkageType: ''
    returnType: int
    signature: "int BBox_Move_To( FT_Vector*  to,\n                TBBox_Rec*  user
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - user
    argTypes:
    - FT_Vector*
    - TBBox_Rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 127
    functionName: BBox_Line_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int BBox_Line_To( FT_Vector*  to,\n                TBBox_Rec*  user
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - y1
    - y2
    - y3
    - min
    - max
    argTypes:
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: BBox_Conic_Check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void BBox_Conic_Check( FT_Pos   y1,\n                    FT_Pos   y2,\n
      \                   FT_Pos   y3,\n                    FT_Pos*  min,\n                    FT_Pos*
      \ max )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UPDATE_BBOX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:215,1
    - Dst: CHECK_X
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:217,1
    - Dst: BBox_Conic_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:218,1
    - Dst: CHECK_Y
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:224,1
    - Dst: BBox_Conic_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - control
    - to
    - user
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - TBBox_Rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: BBox_Conic_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - BBox_Conic_Check
    - CHECK_Y
    - CHECK_X
    - FT_UPDATE_BBOX
    linkageType: ''
    returnType: int
    signature: "int BBox_Conic_To( FT_Vector*  control,\n                 FT_Vector*
      \ to,\n                 TBBox_Rec*  user )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:286,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:286,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:287,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:288,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - q1
    - q2
    - q3
    - q4
    argTypes:
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 357
    functionName: cubic_peak
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - FT_MSB
    - FT_ABS
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos cubic_peak( FT_Pos  q1,\n              FT_Pos  q2,\n              FT_Pos
      \ q3,\n              FT_Pos  q4 )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cubic_peak
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:374,1
    - Dst: cubic_peak
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:378,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 6
    argNames:
    - p1
    - p2
    - p3
    - p4
    - min
    - max
    argTypes:
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: BBox_Cubic_Check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - cubic_peak
    linkageType: ''
    returnType: void
    signature: "void BBox_Cubic_Check( FT_Pos   p1,\n                    FT_Pos   p2,\n
      \                   FT_Pos   p3,\n                    FT_Pos   p4,\n                    FT_Pos*
      \ min,\n                    FT_Pos*  max )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_X
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:424,1
    - Dst: CHECK_X
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:425,1
    - Dst: BBox_Cubic_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:426,1
    - Dst: CHECK_Y
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:433,1
    - Dst: CHECK_Y
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:434,1
    - Dst: BBox_Cubic_Check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - control1
    - control2
    - to
    - user
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - TBBox_Rec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 445
    functionName: BBox_Cubic_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 0
    functionsReached:
    - CHECK_Y
    - CHECK_X
    - BBox_Cubic_Check
    linkageType: ''
    returnType: int
    signature: "int BBox_Cubic_To( FT_Vector*  control1,\n                 FT_Vector*
      \ control2,\n                 FT_Vector*  to,\n                 TBBox_Rec*  user
      )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:475,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:478,1
    - Dst: FT_UPDATE_BBOX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:497,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:499,1
    - Dst: FT_UPDATE_BBOX
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:500,1
    - Dst: FT_Outline_Decompose
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c:518,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 2
    argNames:
    - outline
    - abbox
    argTypes:
    - FT_Outline*
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 528
    functionName: FT_Outline_Get_BBox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbbox.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_Outline_Decompose
    - FT_CURVE_TAG
    - FT_UPDATE_BBOX
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Get_BBox( FT_Outline*  outline,\n                       FT_BBox
      \    *abbox )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: F
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: G
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 157
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: H
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: H2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H2(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: I
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - f
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - x
    - ','
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: STEP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP(f, a, b, c, d, x, t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: GET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 92
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: GET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:120,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:120,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:121,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:121,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:122,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:122,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:123,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:123,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:124,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:124,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:125,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:125,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:126,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:126,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:127,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:127,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:128,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:128,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:129,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:129,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:130,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:130,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:131,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:131,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:132,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:132,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:133,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:133,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:134,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:134,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:135,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:135,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:138,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:138,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:139,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:139,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:140,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:140,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:141,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:141,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:142,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:142,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:143,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:143,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:144,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:144,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:145,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:145,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:146,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:146,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:147,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:147,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:148,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:148,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:149,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:149,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:150,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:150,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:151,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:151,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:152,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:152,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:153,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:153,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:156,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:156,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:157,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:157,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:158,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:158,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:159,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:159,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:160,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:160,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:161,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:161,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:162,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:162,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:163,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:163,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:164,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:164,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:165,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:165,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:166,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:166,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:167,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:167,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:168,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:168,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:169,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:169,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:170,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:170,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:171,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:171,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:174,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:174,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:175,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:175,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:176,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:176,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:177,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:177,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:178,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:178,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:179,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:179,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:180,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:180,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:181,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:181,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:182,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:182,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:183,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:183,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:184,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:184,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:185,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:185,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:186,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:186,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:187,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:187,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:188,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:188,1
    - Dst: STEP
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:189,1
    - Dst: GET
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 85
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD5_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 205
    functionName: body
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 0
    functionsReached:
    - STEP
    - GET
    - SET
    linkageType: ''
    returnType: void
    signature: void *body(MD5_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: MD5_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MD5_Init(MD5_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:234,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:238,1
    - Dst: body
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:241,1
    - Dst: body
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:245,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - ctx
    - data
    - size
    argTypes:
    - MD5_CTX*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 250
    functionName: MD5_Update
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 1
    functionsReached:
    - body
    - memcpy
    linkageType: ''
    returnType: void
    signature: void MD5_Update(MD5_CTX *ctx, const void *data, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: OUT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUT(dst, src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:269,1
    - Dst: body
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:270,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:275,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:278,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:279,1
    - Dst: body
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:281,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:283,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:284,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:285,1
    - Dst: OUT
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:286,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/freetype/src/base/md5.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - result
    - ctx
    argTypes:
    - unsigned char*
    - MD5_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 289
    functionName: MD5_Final
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/md5.c
    functionUses: 1
    functionsReached:
    - body
    - memset
    - OUT
    linkageType: ''
    returnType: void
    signature: void MD5_Final(unsigned char *result, MD5_CTX *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:33,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: ft_pfr_check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c
    functionUses: 0
    functionsReached:
    - FT_FACE_LOOKUP_SERVICE
    linkageType: ''
    returnType: FT_Service_PfrMetrics
    signature: FT_Service_PfrMetrics ft_pfr_check( FT_Face  face )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:53,1
    - Dst: ft_pfr_check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:55,1
    - Dst: FT_Service_PfrMetrics::get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:58,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:89,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 5
    argNames:
    - face
    - aoutline_resolution
    - ametrics_resolution
    - ametrics_x_scale
    - ametrics_y_scale
    argTypes:
    - FT_Face
    - FT_UInt*
    - FT_UInt*
    - FT_Fixed*
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 42
    functionDepth: 2
    functionLinenumber: 42
    functionLinenumberEnd: 93
    functionName: FT_Get_PFR_Metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_pfr_check
    - FT_Service_PfrMetrics::get_metrics
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PFR_Metrics( FT_Face    face,\n                      FT_UInt
      \  *aoutline_resolution,\n                      FT_UInt   *ametrics_resolution,\n
      \                     FT_Fixed  *ametrics_x_scale,\n                      FT_Fixed
      \ *ametrics_y_scale )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:109,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:112,1
    - Dst: ft_pfr_check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:114,1
    - Dst: FT_Service_PfrMetrics::get_kerning
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:116,1
    - Dst: FT_Get_Kerning
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - face
    - left
    - right
    - avector
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_UInt
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 122
    functionName: FT_Get_PFR_Kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_pfr_check
    - FT_Service_PfrMetrics::get_kerning
    - FT_Get_Kerning
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PFR_Kerning( FT_Face     face,\n                      FT_UInt
      \    left,\n                      FT_UInt     right,\n                      FT_Vector
      \ *avector )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:137,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:140,1
    - Dst: ft_pfr_check
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:142,1
    - Dst: FT_Service_PfrMetrics::get_advance
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:144,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c:147,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - face
    - gindex
    - aadvance
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 150
    functionName: FT_Get_PFR_Advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftpfr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_pfr_check
    - FT_Service_PfrMetrics::get_advance
    linkageType: ''
    returnType: void
    signature: "void FT_Get_PFR_Advance( FT_Face   face,\n                      FT_UInt
      \  gindex,\n                      FT_Pos   *aadvance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: FT_Get_Sfnt_Name_Count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 1
    functionsReached:
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: void FT_Get_Sfnt_Name_Count( FT_Face  face )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:49,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:52,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:69,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:70,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:71,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:73,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 3
    argNames:
    - face
    - idx
    - aname
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_SfntName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 90
    functionName: FT_Get_Sfnt_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 1
    functionsReached:
    - FT_ERR
    - FT_NEW_ARRAY
    - FT_STREAM_READ
    - FT_STREAM_SEEK
    - FT_FREE
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Sfnt_Name( FT_Face       face,\n                    FT_UInt
      \      idx,\n                    FT_SfntName  *aname )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:100,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:103,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:109,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:125,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:126,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:127,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:129,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - face
    - langID
    - alangTag
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_SfntLangTag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 142
    functionName: FT_Get_Sfnt_LangTag
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 0
    functionsReached:
    - FT_ERR
    - FT_NEW_ARRAY
    - FT_STREAM_READ
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_FREE
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Sfnt_LangTag( FT_Face          face,\n                       FT_UInt
      \         langID,\n                       FT_SfntLangTag  *alangTag )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: FT_Get_Sfnt_Name_Count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 1
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void FT_Get_Sfnt_Name_Count( FT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:162,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:163,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:164,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - face
    - idx
    - aname
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_SfntName*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: FT_Get_Sfnt_Name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Sfnt_Name( FT_Face       face,\n                    FT_UInt
      \      idx,\n                    FT_SfntName  *aname )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:175,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:176,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:177,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - face
    - langID
    - alangTag
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_SfntLangTag*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: FT_Get_Sfnt_LangTag
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsnames.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Get_Sfnt_LangTag( FT_Face          face,\n                       FT_UInt
      \         langID,\n                       FT_SfntLangTag  *alangTag )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:41,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:43,1
    - Dst: FT_Service_BDF::get_charset_id
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:46,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:48,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - face
    - acharset_encoding
    - acharset_registry
    argTypes:
    - FT_Face
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 57
    functionName: FT_Get_BDF_Charset_ID
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_Service_BDF::get_charset_id
    linkageType: ''
    returnType: void
    signature: "void FT_Get_BDF_Charset_ID( FT_Face       face,\n                         const
      char*  *acharset_encoding,\n                         const char*  *acharset_registry
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:73,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:76,1
    - Dst: FT_FACE_FIND_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:80,1
    - Dst: FT_Service_BDF::get_property
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:83,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - face
    - prop_name
    - aproperty
    argTypes:
    - FT_Face
    - char*
    - BDF_PropertyRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: FT_Get_BDF_Property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftbdf.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_FACE_FIND_SERVICE
    - FT_Service_BDF::get_property
    linkageType: ''
    returnType: void
    signature: "void FT_Get_BDF_Property( FT_Face           face,\n                       const
      char*       prop_name,\n                       BDF_PropertyRec  *aproperty )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c:37,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c:40,1
    - Dst: FT_FACE_LOOKUP_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c:42,1
    - Dst: FT_Service_WinFnt::get_header
      Src: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c:45,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - face
    - header
    argTypes:
    - FT_Face
    - FT_WinFNT_HeaderRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: FT_Get_WinFNT_Header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftwinfnt.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Service_WinFnt::get_header
    - FT_FACE_LOOKUP_SERVICE
    linkageType: ''
    returnType: void
    signature: "void FT_Get_WinFNT_Header( FT_Face               face,\n                        FT_WinFNT_HeaderRec
      \ *header )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - memory
    - aloader
    argTypes:
    - FT_Memory
    - FT_GlyphLoader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 83
    functionName: FT_GlyphLoader_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 1
    functionsReached:
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void FT_GlyphLoader_New( FT_Memory        memory,\n                      FT_GlyphLoader
      \ *aloader )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: FT_GlyphLoader_Rewind
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Rewind( FT_GlyphLoader  loader )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:110,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:111,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:112,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:113,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:114,1
    - Dst: FT_GlyphLoader_Rewind
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 123
    functionName: FT_GlyphLoader_Reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Rewind
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Reset( FT_GlyphLoader  loader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Reset
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:135,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: FT_GlyphLoader_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 1
    functionsReached:
    - FT_FREE
    - FT_GlyphLoader_Reset
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Done( FT_GlyphLoader  loader )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 162
    functionName: FT_GlyphLoader_Adjust_Points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Adjust_Points( FT_GlyphLoader  loader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:172,1
    - Dst: FT_GlyphLoader_Adjust_Points
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: FT_GlyphLoader_CreateExtra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 1
    functionsReached:
    - FT_NEW_ARRAY
    - FT_GlyphLoader_Adjust_Points
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_CreateExtra( FT_GlyphLoader  loader )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 193
    functionName: FT_GlyphLoader_Adjust_Subglyphs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Adjust_Subglyphs( FT_GlyphLoader  loader )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:221,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:224,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:226,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:227,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:232,1
    - Dst: FT_ARRAY_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:236,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:253,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:256,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:258,1
    - Dst: FT_GlyphLoader_Adjust_Points
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:266,1
    - Dst: FT_GlyphLoader_Reset
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:270,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - loader
    - n_points
    - n_contours
    argTypes:
    - FT_GlyphLoader
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 273
    functionName: FT_GlyphLoader_CheckPoints
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 0
    functionsReached:
    - FT_GlyphLoader_Adjust_Points
    - FT_RENEW_ARRAY
    - FT_ARRAY_MOVE
    - FT_GlyphLoader_Reset
    - FT_PAD_CEIL
    - FT_THROW
    linkageType: ''
    returnType: void
    signature: "void FT_GlyphLoader_CheckPoints( FT_GlyphLoader  loader,\n                              FT_UInt
      \        n_points,\n                              FT_UInt         n_contours
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:296,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:297,1
    - Dst: FT_GlyphLoader_Adjust_Subglyphs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - loader
    - n_subs
    argTypes:
    - FT_GlyphLoader
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 307
    functionName: FT_GlyphLoader_CheckSubGlyphs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 4
    functionsReached:
    - FT_GlyphLoader_Adjust_Subglyphs
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    linkageType: ''
    returnType: void
    signature: "void FT_GlyphLoader_CheckSubGlyphs( FT_GlyphLoader  loader,\n                                 FT_UInt
      \        n_subs )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Adjust_Points
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:321,1
    - Dst: FT_GlyphLoader_Adjust_Subglyphs
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 323
    functionName: FT_GlyphLoader_Prepare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 3
    functionsReached:
    - FT_GlyphLoader_Adjust_Points
    - FT_GlyphLoader_Adjust_Subglyphs
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Prepare( FT_GlyphLoader  loader )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_GlyphLoader_Prepare
      Src: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - loader
    argTypes:
    - FT_GlyphLoader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 328
    functionDepth: 2
    functionLinenumber: 328
    functionLinenumberEnd: 361
    functionName: FT_GlyphLoader_Add
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftgloadr.c
    functionUses: 5
    functionsReached:
    - FT_GlyphLoader_Prepare
    linkageType: ''
    returnType: void
    signature: void FT_GlyphLoader_Add( FT_GlyphLoader  loader )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:63,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:66,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:70,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:79,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:100,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:106,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:111,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:123,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:128,1
    - Dst: FT_Stream_Read
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:134,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:148,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:153,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:157,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:160,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:162,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 54
    argCount: 5
    argNames:
    - library
    - stream
    - rfork_offset
    - map_offset
    - rdata_pos
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Long*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 168
    functionName: FT_Raccess_Get_HeaderInfo
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 1
    functionsReached:
    - FT_Stream_Seek
    - FT_Stream_Read
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_READ_SHORT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Raccess_Get_HeaderInfo( FT_Library  library,\n                             FT_Stream
      \  stream,\n                             FT_Long     rfork_offset,\n                             FT_Long
      \   *map_offset,\n                             FT_Long    *rdata_pos )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_RFork_Ref*
    - FT_RFork_Ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: ft_raccess_sort_ref_by_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ft_raccess_sort_ref_by_id( FT_RFork_Ref*  a,\n                             FT_RFork_Ref*
      \ b )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:203,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:204,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:208,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:229,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:233,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:234,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:235,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:238,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:243,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:254,1
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:256,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:260,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:265,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:267,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:269,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:271,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:282,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:288,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:295,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:301,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:304,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:309,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:323,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:328,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 66
    argCount: 8
    argNames:
    - library
    - stream
    - map_offset
    - rdata_pos
    - tag
    - sort_by_res_id
    - offsets
    - count
    argTypes:
    - FT_Library
    - FT_Stream
    - FT_Long
    - FT_Long
    - FT_Long
    - FT_Bool
    - FT_Long**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 329
    functionName: FT_Raccess_Get_DataOffsets
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 1
    functionsReached:
    - FT_NEW_ARRAY
    - FT_TRACE3
    - FT_Stream_Seek
    - ft_qsort
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_FREE
    - FT_TRACE2
    - FT_READ_SHORT
    - FT_READ_LONG
    linkageType: ''
    returnType: void
    signature: "void FT_Raccess_Get_DataOffsets( FT_Library  library,\n                              FT_Stream
      \  stream,\n                              FT_Long     map_offset,\n                              FT_Long
      \    rdata_pos,\n                              FT_Long     tag,\n                              FT_Bool
      \    sort_by_res_id,\n                              FT_Long   **offsets,\n                              FT_Long
      \   *count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:464,1
    - Dst: func
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:471,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - library
    - stream
    - base_name
    - new_names
    - offsets
    - errors
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 478
    functionName: FT_Raccess_Guess
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 1
    functionsReached:
    - FT_Stream_Seek
    - func
    linkageType: ''
    returnType: void
    signature: "void FT_Raccess_Guess( FT_Library  library,\n                    FT_Stream
      \  stream,\n                    char*       base_name,\n                    char
      \     **new_names,\n                    FT_Long    *offsets,\n                    FT_Error
      \  *errors )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - library
    - rule_index
    argTypes:
    - FT_Library
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: raccess_get_rule_type_from_rule_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_RFork_Rule
    signature: "FT_RFork_Rule raccess_get_rule_type_from_rule_index( FT_Library  library,\n
      \                                        FT_UInt     rule_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: raccess_get_rule_type_from_rule_index
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - library
    - rule_index
    argTypes:
    - FT_Library
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 511
    functionName: ft_raccess_rule_by_darwin_vfs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 1
    functionsReached:
    - raccess_get_rule_type_from_rule_index
    linkageType: ''
    returnType: void
    signature: "void ft_raccess_rule_by_darwin_vfs( FT_Library  library,\n                                 FT_UInt
      \    rule_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:530,1
    - Dst: raccess_guess_apple_generic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 534
    functionName: raccess_guess_apple_double
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_guess_apple_generic
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_apple_double( FT_Library  library,\n                              FT_Stream
      \  stream,\n                              char       *base_file_name,\n                              char
      \     **result_file_name,\n                              FT_Long    *result_offset
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:552,1
    - Dst: raccess_guess_apple_generic
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 556
    functionName: raccess_guess_apple_single
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_guess_apple_generic
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_apple_single( FT_Library  library,\n                              FT_Stream
      \  stream,\n                              char       *base_file_name,\n                              char
      \     **result_file_name,\n                              FT_Long    *result_offset
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:570,1
    - Dst: raccess_make_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:574,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:576,1
    - Dst: raccess_guess_linux_double_from_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:578,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 586
    functionName: raccess_guess_darwin_ufs_export
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_guess_linux_double_from_file_name
    - FT_FREE
    - raccess_make_file_name
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_darwin_ufs_export( FT_Library  library,\n                                   FT_Stream
      \  stream,\n                                   char       *base_file_name,\n
      \                                  char      **result_file_name,\n                                   FT_Long
      \   *result_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:602,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:604,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:610,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:612,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:615,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 622
    functionName: raccess_guess_darwin_hfsplus
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - ft_strlen
    - FT_ALLOC
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_darwin_hfsplus( FT_Library  library,\n                                FT_Stream
      \  stream,\n                                char       *base_file_name,\n                                char
      \     **result_file_name,\n                                FT_Long    *result_offset
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:638,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:640,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:646,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:648,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:651,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 658
    functionName: raccess_guess_darwin_newvfs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - ft_strlen
    - FT_ALLOC
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_darwin_newvfs( FT_Library  library,\n                               FT_Stream
      \  stream,\n                               char       *base_file_name,\n                               char
      \     **result_file_name,\n                               FT_Long    *result_offset
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:671,1
    - Dst: raccess_make_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:676,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 685
    functionName: raccess_guess_vfat
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_make_file_name
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_vfat( FT_Library  library,\n                      FT_Stream
      \  stream,\n                      char       *base_file_name,\n                      char
      \     **result_file_name,\n                      FT_Long    *result_offset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:698,1
    - Dst: raccess_make_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:703,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:705,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 711
    functionName: raccess_guess_linux_cap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_make_file_name
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_linux_cap( FT_Library  library,\n                           FT_Stream
      \  stream,\n                           char       *base_file_name,\n                           char
      \     **result_file_name,\n                           FT_Long    *result_offset
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:725,1
    - Dst: raccess_make_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:730,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:732,1
    - Dst: raccess_guess_linux_double_from_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:734,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 742
    functionName: raccess_guess_linux_double
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_guess_linux_double_from_file_name
    - FT_FREE
    - raccess_make_file_name
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_linux_double( FT_Library  library,\n                              FT_Stream
      \  stream,\n                              char       *base_file_name,\n                              char
      \     **result_file_name,\n                              FT_Long    *result_offset
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:756,1
    - Dst: raccess_make_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:761,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:764,1
    - Dst: raccess_guess_linux_double_from_file_name
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:766,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:771,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - result_file_name
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 774
    functionName: raccess_guess_linux_netatalk
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - raccess_guess_linux_double_from_file_name
    - FT_FREE
    - raccess_make_file_name
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_linux_netatalk( FT_Library  library,\n                                FT_Stream
      \  stream,\n                                char       *base_file_name,\n                                char
      \     **result_file_name,\n                                FT_Long    *result_offset
      )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:794,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:795,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:796,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:797,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:800,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:803,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:805,1
    - Dst: FT_Stream_Skip
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:809,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:813,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:816,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:820,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:824,1
    - Dst: FT_READ_LONG
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:825,1
    - Dst: FT_Stream_Skip
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:833,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:839,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 5
    argNames:
    - library
    - stream
    - base_file_name
    - magic
    - result_offset
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - FT_Int32
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 840
    functionName: raccess_guess_apple_generic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 2
    functionsReached:
    - FT_Stream_Skip
    - FT_THROW
    - FT_READ_USHORT
    - FT_UNUSED
    - FT_READ_LONG
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_apple_generic( FT_Library  library,\n                               FT_Stream
      \  stream,\n                               char       *base_file_name,\n                               FT_Int32
      \   magic,\n                               FT_Long    *result_offset )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_New
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:856,1
    - Dst: raccess_guess_apple_double
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:860,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - library
    - file_name
    - result_offset
    argTypes:
    - FT_Library
    - char*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 843
    functionDepth: 2
    functionLinenumber: 843
    functionLinenumberEnd: 866
    functionName: raccess_guess_linux_double_from_file_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 3
    functionsReached:
    - raccess_guess_apple_double
    - FT_Stream_New
    - FT_Stream_Free
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error raccess_guess_linux_double_from_file_name( FT_Library  library,\n
      \                                            char       *file_name,\n                                             FT_Long
      \   *result_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:880,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:883,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:883,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:884,1
    - Dst: ft_strrchr
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:887,1
    - Dst: ft_strncpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:890,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:902,1
    - Dst: ft_strcat
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - memory
    - original_name
    - insertion
    argTypes:
    - FT_Memory
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 906
    functionName: raccess_make_file_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 5
    functionsReached:
    - ft_strlen
    - FT_ALLOC
    - ft_strcat
    - ft_strrchr
    - ft_strncpy
    - FT_UNUSED
    linkageType: ''
    returnType: char
    signature: "char *\n  raccess_make_file_name( FT_Memory    memory,\n                          const
      char  *original_name,\n                          const char  *insertion )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:926,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:927,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:928,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - library
    - stream
    - base_name
    - new_names
    - offsets
    - errors
    argTypes:
    - FT_Library
    - FT_Stream
    - char*
    - char**
    - FT_Long*
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 937
    functionName: FT_Raccess_Guess
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftrfork.c
    functionUses: 1
    functionsReached:
    - FT_ERR
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Raccess_Guess( FT_Library  library,\n                    FT_Stream
      \  stream,\n                    char       *base_name,\n                    char
      \     **new_names,\n                    FT_Long    *offsets,\n                    FT_Error
      \  *errors )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - FT_Hashkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: hash_str_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_ULong
    signature: FT_ULong hash_str_lookup( FT_Hashkey*  key )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - FT_Hashkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: hash_num_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: FT_ULong
    signature: FT_ULong hash_num_lookup( FT_Hashkey*  key )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Hashkey*
    - FT_Hashkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: hash_str_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool hash_str_compare( FT_Hashkey*  a,\n                    FT_Hashkey*
      \ b )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Hashkey*
    - FT_Hashkey*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: hash_num_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool hash_num_compare( FT_Hashkey*  a,\n                    FT_Hashkey*
      \ b )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - key
    - hash
    argTypes:
    - FT_Hashkey
    - FT_Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: hash_bucket
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Hashnode
    signature: "FT_Hashnode *\n  hash_bucket( FT_Hashkey  key,\n               FT_Hash
      \    hash )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:146,1
    - Dst: hash_bucket
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:153,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - hash
    - memory
    argTypes:
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 162
    functionName: hash_rehash
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_FREE
    - hash_bucket
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error hash_rehash( FT_Hash    hash,\n               FT_Memory  memory
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - hash
    - is_num
    - memory
    argTypes:
    - FT_Hash
    - FT_Bool
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 192
    functionName: hash_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 1
    functionsReached:
    - FT_MEM_NEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error hash_init( FT_Hash    hash,\n             FT_Bool    is_num,\n
      \            FT_Memory  memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_init
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - memory
    argTypes:
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 200
    functionName: ft_hash_str_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - hash_init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_hash_str_init( FT_Hash    hash,\n                    FT_Memory
      \ memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_init
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - memory
    argTypes:
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 208
    functionName: ft_hash_num_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 1
    functionsReached:
    - hash_init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_hash_num_init( FT_Hash    hash,\n                    FT_Memory
      \ memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:223,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - hash
    - memory
    argTypes:
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 227
    functionName: ft_hash_str_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void ft_hash_str_free( FT_Hash    hash,\n                    FT_Memory
      \ memory )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hash_bucket
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:240,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:247,1
    - Dst: hash_rehash
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - key
    - data
    - hash
    - memory
    argTypes:
    - FT_Hashkey
    - size_t
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 268
    functionName: hash_insert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - hash_rehash
    - FT_NEW
    - hash_bucket
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error hash_insert( FT_Hashkey  key,\n               size_t      data,\n
      \              FT_Hash     hash,\n               FT_Memory   memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_insert
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - key
    - data
    - hash
    - memory
    argTypes:
    - char*
    - size_t
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 283
    functionName: ft_hash_str_insert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - hash_insert
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_hash_str_insert( const char*  key,\n                      size_t
      \      data,\n                      FT_Hash      hash,\n                      FT_Memory
      \   memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_insert
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - num
    - data
    - hash
    - memory
    argTypes:
    - FT_Int
    - size_t
    - FT_Hash
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 298
    functionName: ft_hash_num_insert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 1
    functionsReached:
    - hash_insert
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_hash_num_insert( FT_Int     num,\n                      size_t
      \    data,\n                      FT_Hash    hash,\n                      FT_Memory
      \ memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_bucket
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key
    - hash
    argTypes:
    - FT_Hashkey
    - FT_Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: hash_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - hash_bucket
    linkageType: ''
    returnType: size_t
    signature: "size_t *\n  hash_lookup( FT_Hashkey  key,\n               FT_Hash
      \    hash )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - hash
    argTypes:
    - char*
    - FT_Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 323
    functionName: ft_hash_str_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 0
    functionsReached:
    - hash_lookup
    linkageType: ''
    returnType: size_t
    signature: "size_t *\n  ft_hash_str_lookup( const char*  key,\n                      FT_Hash
      \     hash )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hash_lookup
      Src: /src/libspectre/ghostscript/freetype/src/base/fthash.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - num
    - hash
    argTypes:
    - FT_Int
    - FT_Hash
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: ft_hash_num_lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/fthash.c
    functionUses: 3
    functionsReached:
    - hash_lookup
    linkageType: ''
    returnType: size_t
    signature: "size_t *\n  ft_hash_num_lookup( FT_Int   num,\n                      FT_Hash
      \ hash )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 2
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: FT_GlyphSlot_Oblique
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Transform
    linkageType: ''
    returnType: void
    signature: void FT_GlyphSlot_Oblique( FT_GlyphSlot  slot )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:109,1
    - Dst: FT_Outline_EmboldenXY
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:114,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:132,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:133,1
    - Dst: FT_GlyphSlot_Own_Bitmap
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:136,1
    - Dst: FT_Bitmap_Embolden
      Src: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c:140,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 90
    functionDepth: 3
    functionLinenumber: 90
    functionLinenumberEnd: 160
    functionName: FT_GlyphSlot_Embolden
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftsynth.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_Outline_EmboldenXY
    - FT_MulFix
    - FT_GlyphSlot_Own_Bitmap
    - FT_Bitmap_Embolden
    linkageType: ''
    returnType: void
    signature: void FT_GlyphSlot_Embolden( FT_GlyphSlot  slot )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:39,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:41,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - face
    - apalette_data
    argTypes:
    - FT_Face
    - FT_Palette_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: FT_Palette_Data_Get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Data_Get( FT_Face           face,\n                       FT_Palette_Data
      \ *apalette_data )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:66,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:68,1
    - Dst: SFNT_Service::set_palette
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:79,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - face
    - palette_index
    - apalette
    argTypes:
    - FT_Face
    - FT_UShort
    - FT_Color**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 89
    functionName: FT_Palette_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_IS_SFNT
    - SFNT_Service::set_palette
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Select( FT_Face     face,\n                     FT_UShort
      \  palette_index,\n                     FT_Color*  *apalette )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:102,1
    - Dst: FT_IS_SFNT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - face
    - foreground_color
    argTypes:
    - FT_Face
    - FT_Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 113
    functionName: FT_Palette_Set_Foreground_Color
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_IS_SFNT
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Set_Foreground_Color( FT_Face   face,\n                                   FT_Color
      \ foreground_color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:121,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:122,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - face
    - apalette_data
    argTypes:
    - FT_Face
    - FT_Palette_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: FT_Palette_Data_Get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Data_Get( FT_Face           face,\n                       FT_Palette_Data
      \ *apalette_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:134,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:135,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:136,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - face
    - palette_index
    - apalette
    argTypes:
    - FT_Face
    - FT_UShort
    - FT_Color**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: FT_Palette_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Select( FT_Face     face,\n                     FT_UShort
      \  palette_index,\n                     FT_Color*  *apalette )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:147,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:148,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - face
    - foreground_color
    argTypes:
    - FT_Face
    - FT_Color
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 152
    functionName: FT_Palette_Set_Foreground_Color
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftcolor.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Palette_Set_Foreground_Color( FT_Face   face,\n                                   FT_Color
      \ foreground_color )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_qalloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:55,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - memory
    - size
    - p_error
    argTypes:
    - FT_Memory
    - FT_Long
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 62
    functionName: ft_mem_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached:
    - FT_MEM_ZERO
    - ft_mem_qalloc
    linkageType: ''
    returnType: void
    signature: "void ft_mem_alloc( FT_Memory  memory,\n                FT_Long    size,\n
      \               FT_Error  *p_error )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:76,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:78,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:83,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - memory
    - size
    - p_error
    argTypes:
    - FT_Memory
    - FT_Long
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 88
    functionName: ft_mem_qalloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_Memory::alloc
    linkageType: ''
    returnType: void
    signature: "void ft_mem_qalloc( FT_Memory  memory,\n                 FT_Long    size,\n
      \                FT_Error  *p_error )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_qrealloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:102,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - memory
    - item_size
    - cur_count
    - new_count
    - block
    - p_error
    argTypes:
    - FT_Memory
    - FT_Long
    - FT_Long
    - FT_Long
    - void*
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 110
    functionName: ft_mem_realloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached:
    - ft_mem_qrealloc
    - FT_MEM_ZERO
    linkageType: ''
    returnType: void
    signature: "void ft_mem_realloc( FT_Memory  memory,\n                  FT_Long
      \   item_size,\n                  FT_Long    cur_count,\n                  FT_Long
      \   new_count,\n                  void*      block,\n                  FT_Error
      \ *p_error )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:131,1
    - Dst: ft_mem_free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:135,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:140,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:144,1
    - Dst: FT_Memory::alloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:146,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:148,1
    - Dst: FT_Memory::realloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:157,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - memory
    - item_size
    - cur_count
    - new_count
    - block
    - p_error
    argTypes:
    - FT_Memory
    - FT_Long
    - FT_Long
    - FT_Long
    - void*
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 166
    functionName: ft_mem_qrealloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - FT_Memory::realloc
    - FT_Memory::alloc
    - ft_mem_free
    linkageType: ''
    returnType: void
    signature: "void ft_mem_qrealloc( FT_Memory  memory,\n                   FT_Long
      \   item_size,\n                   FT_Long    cur_count,\n                   FT_Long
      \   new_count,\n                   void*      block,\n                   FT_Error
      \ *p_error )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Memory::free
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - memory
    - P
    argTypes:
    - FT_Memory
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: ft_mem_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 3
    functionsReached:
    - FT_Memory::free
    linkageType: ''
    returnType: void
    signature: "void ft_mem_free( FT_Memory   memory,\n               const void *P
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_mem_qalloc
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:185,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - memory
    - address
    - size
    - p_error
    argTypes:
    - FT_Memory
    - void*
    - FT_ULong
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 193
    functionName: ft_mem_dup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - ft_mem_qalloc
    linkageType: ''
    returnType: void
    signature: "void ft_mem_dup( FT_Memory    memory,\n              const void*  address,\n
      \             FT_ULong     size,\n              FT_Error    *p_error )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:201,1
    - Dst: ft_mem_dup
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - memory
    - str
    - p_error
    argTypes:
    - FT_Memory
    - char*
    - FT_Error*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: ft_mem_strdup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached:
    - ft_mem_dup
    - ft_strlen
    linkageType: ''
    returnType: void
    signature: "void ft_mem_strdup( FT_Memory    memory,\n                 const char*
      \ str,\n                 FT_Error    *p_error )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dst
    - src
    - size
    argTypes:
    - char*
    - char*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 223
    functionName: ft_mem_strcpyn
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ft_mem_strcpyn( char*        dst,\n                  const char*
      \ src,\n                  FT_ULong     size )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - list
    - data
    argTypes:
    - FT_List
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 263
    functionName: FT_List_Find
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_List_Find( FT_List  list,\n                void*    data )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - FT_List
    - FT_ListNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 289
    functionName: FT_List_Add
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_List_Add( FT_List      list,\n               FT_ListNode  node
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - FT_List
    - FT_ListNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: FT_List_Insert
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_List_Insert( FT_List      list,\n                  FT_ListNode
      \ node )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - FT_List
    - FT_ListNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 342
    functionName: FT_List_Remove
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_List_Remove( FT_List      list,\n                  FT_ListNode
      \ node )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - FT_List
    - FT_ListNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 375
    functionName: FT_List_Up
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_List_Up( FT_List      list,\n              FT_ListNode  node
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:390,1
    - Dst: iterator
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - list
    - iterator
    - user
    argTypes:
    - FT_List
    - FT_List_Iterator
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 407
    functionName: FT_List_Iterate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - iterator
    linkageType: ''
    returnType: void
    signature: "void FT_List_Iterate( FT_List           list,\n                   FT_List_Iterator
      \ iterator,\n                   void*             user )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: destroy
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:432,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/base/ftutil.c:434,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - list
    - destroy
    - memory
    - user
    argTypes:
    - FT_List
    - FT_List_Destructor
    - FT_Memory
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 440
    functionName: FT_List_Finalize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/base/ftutil.c
    functionUses: 4
    functionsReached:
    - destroy
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void FT_List_Finalize( FT_List             list,\n                    FT_List_Destructor
      \ destroy,\n                    FT_Memory           memory,\n                    void*
      \              user )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: BASE_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASE_GLYPH( code )
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ft_get_adobe_glyph_index
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:174,1
    - Dst: ft_get_adobe_glyph_index
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:176,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 51
    argCount: 1
    argNames:
    - glyph_name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 179
    functionName: ps_unicode_value
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - ft_get_adobe_glyph_index
    linkageType: ''
    returnType: FT_UInt32
    signature: FT_UInt32 ps_unicode_value( const char*  glyph_name )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:189,1
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: compare_uni_maps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - BASE_GLYPH
    linkageType: ''
    returnType: void
    signature: "void compare_uni_maps( const void*  a,\n                    const
      void*  b )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:277,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - gname
    - glyph
    - extra_glyphs
    - states
    argTypes:
    - char*
    - FT_UInt
    - FT_UInt*
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 290
    functionName: ps_check_extra_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    linkageType: ''
    returnType: void
    signature: "void ps_check_extra_glyph_name( const char*  gname,\n                             FT_UInt
      \     glyph,\n                             FT_UInt*     extra_glyphs,\n                             FT_UInt
      \    *states )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - uni_char
    - states
    argTypes:
    - FT_UInt32
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 310
    functionName: ps_check_extra_glyph_unicode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ps_check_extra_glyph_unicode( FT_UInt32  uni_char,\n                                FT_UInt
      \  *states )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:332,1
    - Dst: get_glyph_name
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:344,1
    - Dst: ps_check_extra_glyph_name
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:349,1
    - Dst: ps_unicode_value
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:351,1
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:353,1
    - Dst: ps_check_extra_glyph_unicode
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:355,1
    - Dst: free_glyph_name
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:363,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:386,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:388,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:395,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:403,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 6
    argNames:
    - memory
    - table
    - num_glyphs
    - get_glyph_name
    - free_glyph_name
    - glyph_data
    argTypes:
    - FT_Memory
    - PS_Unicodes
    - FT_UInt
    - PS_GetGlyphNameFunc
    - PS_FreeGlyphNameFunc
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 411
    functionName: ps_unicodes_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_RENEW_ARRAY
    - free_glyph_name
    - ft_qsort
    - ps_unicode_value
    - FT_THROW
    - FT_FREE
    - ps_check_extra_glyph_name
    - BASE_GLYPH
    - ps_check_extra_glyph_unicode
    - get_glyph_name
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_unicodes_init( FT_Memory             memory,\n                    PS_Unicodes
      \          table,\n                    FT_UInt               num_glyphs,\n                    PS_GetGlyphNameFunc
      \  get_glyph_name,\n                    PS_FreeGlyphNameFunc  free_glyph_name,\n
      \                   FT_Pointer            glyph_data )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:439,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - table
    - unicode
    argTypes:
    - PS_Unicodes
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 457
    functionName: ps_unicodes_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - BASE_GLYPH
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt ps_unicodes_char_index( PS_Unicodes  table,\n                          FT_UInt32
      \   unicode )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:487,1
    - Dst: BASE_GLYPH
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:508,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - table
    - unicode
    argTypes:
    - PS_Unicodes
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 515
    functionName: ps_unicodes_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - BASE_GLYPH
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 ps_unicodes_char_next( PS_Unicodes  table,\n                         FT_UInt32
      \  *unicode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - name_index
    argTypes:
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 528
    functionName: ps_get_macintosh_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  ps_get_macintosh_name( FT_UInt  name_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sid
    argTypes:
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: ps_get_standard_strings
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  ps_get_standard_strings( FT_UInt  sid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:588,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - service_id
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 1
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: psnames_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Pointer
    signature: "FT_Pointer psnames_get_service( FT_Module    module,\n                       const
      char*  service_id )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: PUT_PS_NAMES_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_PS_NAMES_SERVICE( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: PUT_PS_NAMES_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/psmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_PS_NAMES_SERVICE( a )
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 61
    argCount: 2
    argNames:
    - name
    - limit
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4232
      start: 4142
    functionDepth: 0
    functionLinenumber: 4142
    functionLinenumberEnd: 4232
    functionName: ft_get_adobe_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/psnames/pstables.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ft_get_adobe_glyph_index( const char*  name,\n                            const
      char*  limit )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:89,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:90,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:96,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 100
    functionName: ft_lzw_check_header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_STREAM_SEEK
    - FT_STREAM_READ
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_lzw_check_header( FT_Stream  stream )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzw_check_header
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:121,1
    - Dst: ft_lzwstate_init
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - zip
    - stream
    - source
    argTypes:
    - FT_LZWFile
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 130
    functionName: ft_lzw_file_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - ft_lzwstate_init
    - ft_lzw_check_header
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_lzw_file_init( FT_LZWFile  zip,\n                    FT_Stream
      \  stream,\n                    FT_Stream   source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzwstate_done
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_LZWFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: ft_lzw_file_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - ft_lzwstate_done
    linkageType: ''
    returnType: void
    signature: void ft_lzw_file_done( FT_LZWFile  zip )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:152,1
    - Dst: ft_lzwstate_reset
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_LZWFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: ft_lzw_file_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_SEEK
    - ft_lzwstate_reset
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_lzw_file_reset( FT_LZWFile  zip )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzwstate_io
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:175,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zip
    argTypes:
    - FT_LZWFile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: ft_lzw_file_fill_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_lzwstate_io
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_lzw_file_fill_output( FT_LZWFile  zip )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzwstate_io
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:218,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - zip
    - count
    argTypes:
    - FT_LZWFile
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 231
    functionName: ft_lzw_file_skip_output
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_lzwstate_io
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_lzw_file_skip_output( FT_LZWFile  zip,\n                           FT_ULong
      \   count )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzw_file_reset
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:256,1
    - Dst: ft_lzw_file_skip_output
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:265,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:283,1
    - Dst: ft_lzw_file_fill_output
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 4
    argNames:
    - zip
    - pos
    - buffer
    - count
    argTypes:
    - FT_LZWFile
    - FT_ULong
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 299
    functionName: ft_lzw_file_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - ft_lzw_file_reset
    - ft_lzw_file_skip_output
    - ft_lzw_file_fill_output
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong ft_lzw_file_io( FT_LZWFile  zip,\n                  FT_ULong
      \   pos,\n                  FT_Byte*    buffer,\n                  FT_ULong
      \   count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzw_file_done
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:320,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 326
    functionName: ft_lzw_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - ft_lzw_file_done
    linkageType: ''
    returnType: void
    signature: void ft_lzw_stream_close( FT_Stream  stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzw_file_io
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - stream
    - offset
    - buffer
    - count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 329
    functionDepth: 3
    functionLinenumber: 329
    functionLinenumberEnd: 339
    functionName: ft_lzw_stream_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 0
    functionsReached:
    - ft_lzw_file_io
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long ft_lzw_stream_io( FT_Stream       stream,\n                    unsigned
      long   offset,\n                    unsigned char*  buffer,\n                    unsigned
      long   count )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:353,1
    - Dst: ft_lzw_check_header
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:366,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:370,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:373,1
    - Dst: ft_lzw_file_init
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:375,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:378,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 393
    functionName: FT_Stream_OpenLZW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 1
    functionsReached:
    - ft_lzw_check_header
    - ft_lzw_file_init
    - FT_THROW
    - FT_ZERO
    - FT_FREE
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenLZW( FT_Stream  stream,\n                     FT_Stream
      \ source )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:406,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:407,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - source
    argTypes:
    - FT_Stream
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: FT_Stream_OpenLZW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftlzw.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void FT_Stream_OpenLZW( FT_Stream  stream,\n                     FT_Stream
      \ source )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_TryRead
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:37,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:43,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 56
    functionName: ft_lzwstate_refill
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 0
    functionsReached:
    - FT_Stream_TryRead
    - FT_BOOL
    linkageType: ''
    returnType: int
    signature: int ft_lzwstate_refill( FT_LzwState  state )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzwstate_refill
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:90,1
    - Dst: LZW_MASK
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:111,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 59
    functionDepth: 3
    functionLinenumber: 59
    functionLinenumberEnd: 114
    functionName: ft_lzwstate_get_code
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 0
    functionsReached:
    - LZW_MASK
    - ft_lzwstate_refill
    linkageType: ''
    returnType: FT_Int32
    signature: FT_Int32 ft_lzwstate_get_code( FT_LzwState  state )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 151
    functionName: ft_lzwstate_stack_grow
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: int
    signature: int ft_lzwstate_stack_grow( FT_LzwState  state )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_REALLOC_MULT
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:177,1
    - Dst: FT_MEM_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 190
    functionName: ft_lzwstate_prefix_grow
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 0
    functionsReached:
    - FT_MEM_MOVE
    - FT_REALLOC_MULT
    linkageType: ''
    returnType: int
    signature: int ft_lzwstate_prefix_grow( FT_LzwState  state )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 204
    functionName: ft_lzwstate_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ft_lzwstate_reset( FT_LzwState  state )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:211,1
    - Dst: ft_lzwstate_reset
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - state
    - source
    argTypes:
    - FT_LzwState
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 224
    functionName: ft_lzwstate_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 1
    functionsReached:
    - FT_ZERO
    - ft_lzwstate_reset
    linkageType: ''
    returnType: void
    signature: "void ft_lzwstate_init( FT_LzwState  state,\n                    FT_Stream
      \   source )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_lzwstate_reset
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:233,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:236,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:238,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - FT_LzwState
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 242
    functionName: ft_lzwstate_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 1
    functionsReached:
    - ft_lzwstate_reset
    - FT_FREE
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: void ft_lzwstate_done( FT_LzwState  state )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 253
    functionName: FTLZW_STACK_PUSH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTLZW_STACK_PUSH( c )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_Stream_Seek
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:279,1
    - Dst: FT_Stream_TryRead
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:280,1
    - Dst: ft_lzwstate_get_code
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:299,1
    - Dst: ft_lzwstate_get_code
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:322,1
    - Dst: FTLZW_STACK_PUSH
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:352,1
    - Dst: FTLZW_STACK_PUSH
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:361,1
    - Dst: FTLZW_STACK_PUSH
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:367,1
    - Dst: ft_lzwstate_prefix_grow
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:390,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c:393,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 105
    argCount: 3
    argNames:
    - state
    - buffer
    - out_size
    argTypes:
    - FT_LzwState
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 421
    functionName: ft_lzwstate_io
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.c
    functionUses: 2
    functionsReached:
    - ft_lzwstate_prefix_grow
    - FT_Stream_Seek
    - ft_lzwstate_get_code
    - FT_Stream_TryRead
    - FTLZW_STACK_PUSH
    - FT_ASSERT
    linkageType: ''
    returnType: void
    signature: "void ft_lzwstate_io( FT_LzwState  state,\n                  FT_Byte*
      \    buffer,\n                  FT_ULong     out_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: LZW_MASK
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/lzw/ftzopen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZW_MASK( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - metrics
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: AF_LATIN_CONSTANT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_CONSTANT( metrics, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: AF_LATIN_IS_TOP_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_IS_TOP_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: AF_LATIN_IS_SUB_TOP_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_IS_SUB_TOP_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: AF_LATIN_IS_NEUTRAL_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_IS_NEUTRAL_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: AF_LATIN_IS_X_HEIGHT_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_IS_X_HEIGHT_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: AF_LATIN_IS_LONG_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_IS_LONG_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: AF_LATIN_HINTS_DO_HORZ_SNAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_HINTS_DO_HORZ_SNAP( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: AF_LATIN_HINTS_DO_VERT_SNAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_HINTS_DO_VERT_SNAP( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: AF_LATIN_HINTS_DO_STEM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_HINTS_DO_STEM_ADJUST( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: AF_LATIN_HINTS_DO_MONO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_LATIN_HINTS_DO_MONO( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: AF_CJK_IS_TOP_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_CJK_IS_TOP_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: AF_CJK_IS_HORIZ_BLUE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_CJK_IS_HORIZ_BLUE( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    functionName: AF_HINTS_TEST_SCALER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_TEST_SCALER( h, f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    functionName: AF_HINTS_TEST_OTHER
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_TEST_OTHER( h, f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 388
    functionName: AF_HINTS_DO_HORIZONTAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_HORIZONTAL( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 392
    functionName: AF_HINTS_DO_VERTICAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_VERTICAL( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: AF_HINTS_DO_BLUES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_BLUES( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: AF_HINTS_DO_HORIZONTAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_HORIZONTAL( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: AF_HINTS_DO_VERTICAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_VERTICAL( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: AF_HINTS_DO_BLUES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_BLUES( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: AF_HINTS_DO_ADVANCE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_ADVANCE( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 413
    functionName: AF_HINTS_DO_WARP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_HINTS_DO_WARP( h )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - seg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: AF_SEGMENT_LEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_SEGMENT_LEN( seg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seg1
    - ','
    - seg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: AF_SEGMENT_DIST
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_SEGMENT_DIST( seg1, seg2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - ws
    - ','
    - sc
    - ','
    - ss
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: STYLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE( s, S, d, ws, sc, ss, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - ws
    - ','
    - sc
    - ','
    - ss
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: STYLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE( s, S, d, ws, sc, ss, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ws
    - ','
    - WS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: WRITING_SYSTEM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITING_SYSTEM( ws, WS )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - ws
    - ','
    - sc
    - ','
    - ss
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: STYLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE( s, S, d, ws, sc, ss, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - ws
    - ','
    - sc
    - ','
    - ss
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: STYLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE( s, S, d, ws, sc, ss, c )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:145,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:187,1
    - Dst: FT_Get_Next_Char
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:196,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:216,1
    - Dst: FT_Get_Next_Char
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:225,1
    - Dst: af_shaper_get_coverage
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:239,1
    - Dst: af_shaper_get_coverage
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:250,1
    - Dst: af_shaper_get_coverage
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:254,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:259,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:288,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:300,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:307,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:309,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:313,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:318,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:320,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:325,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 82
    argCount: 1
    argNames:
    - globals
    argTypes:
    - AF_FaceGlobals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 327
    functionName: af_face_globals_compute_style_coverage
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached:
    - FT_Set_Charmap
    - af_shaper_get_coverage
    - FT_Get_Next_Char
    - FT_Select_Charmap
    - FT_TRACE4
    - FT_Get_Char_Index
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error af_face_globals_compute_style_coverage( AF_FaceGlobals  globals
      )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:344,1
    - Dst: hb_ft_font_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:362,1
    - Dst: hb_buffer_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:363,1
    - Dst: af_face_globals_compute_style_coverage
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:366,1
    - Dst: af_face_globals_free
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - face
    - aglobals
    - module
    argTypes:
    - FT_Face
    - AF_FaceGlobals*
    - AF_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 378
    functionName: af_face_globals_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached:
    - af_face_globals_free
    - FT_ALLOC
    - hb_ft_font_create
    - hb_buffer_create
    - af_face_globals_compute_style_coverage
    linkageType: ''
    returnType: void
    signature: "void af_face_globals_new( FT_Face          face,\n                       AF_FaceGlobals
      \ *aglobals,\n                       AF_Module        module )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: AF_WritingSystemClass::style_metrics_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:401,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:403,1
    - Dst: hb_font_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:408,1
    - Dst: hb_buffer_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:409,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:414,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - globals
    argTypes:
    - AF_FaceGlobals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 416
    functionName: af_face_globals_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 1
    functionsReached:
    - hb_buffer_destroy
    - AF_WritingSystemClass::style_metrics_done
    - FT_FREE
    - hb_font_destroy
    linkageType: ''
    returnType: void
    signature: void af_face_globals_free( AF_FaceGlobals  globals )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:436,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:458,1
    - Dst: AF_WritingSystemClass::style_metrics_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:466,1
    - Dst: AF_WritingSystemClass::style_metrics_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:471,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:473,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - globals
    - gindex
    - options
    - ametrics
    argTypes:
    - AF_FaceGlobals
    - FT_UInt
    - FT_UInt
    - AF_StyleMetrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 495
    functionName: af_face_globals_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached:
    - AF_WritingSystemClass::style_metrics_done
    - FT_ALLOC
    - FT_THROW
    - FT_FREE
    - AF_WritingSystemClass::style_metrics_init
    linkageType: ''
    returnType: void
    signature: "void af_face_globals_get_metrics( AF_FaceGlobals    globals,\n                               FT_UInt
      \          gindex,\n                               FT_UInt           options,\n
      \                              AF_StyleMetrics  *ametrics )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:503,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c:505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - globals
    - gindex
    argTypes:
    - AF_FaceGlobals
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: af_face_globals_is_digit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afglobal.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void af_face_globals_is_digit( AF_FaceGlobals  globals,\n                            FT_UInt
      \        gindex )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:82,1
    - Dst: af_face_globals_new
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - face
    - aglobals
    - module
    argTypes:
    - FT_Face
    - AF_FaceGlobals*
    - AF_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 72
    functionDepth: 5
    functionLinenumber: 72
    functionLinenumberEnd: 103
    functionName: af_property_get_face_globals
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - af_face_globals_new
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_property_get_face_globals( FT_Face          face,\n                                AF_FaceGlobals*
      \ aglobals,\n                                AF_Module        module )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:116,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:120,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:128,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:151,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:153,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:158,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:165,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:174,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:182,1
    - Dst: af_property_get_face_globals
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:187,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:194,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:200,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:208,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:222,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:241,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:243,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:248,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:250,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:271,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:284,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:290,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:310,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:312,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 89
    argCount: 4
    argNames:
    - ft_module
    - property_name
    - value
    - value_is_string
    argTypes:
    - FT_Module
    - char*
    - void*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 106
    functionDepth: 6
    functionLinenumber: 106
    functionLinenumberEnd: 313
    functionName: af_property_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached:
    - ft_strcmp
    - af_property_get_face_globals
    - ft_strtol
    - FT_THROW
    - FT_TRACE0
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_property_set( FT_Module    ft_module,\n                   const
      char*  property_name,\n                   const void*  value,\n                   FT_Bool
      \     value_is_string )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:330,1
    - Dst: af_property_get_face_globals
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:336,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:342,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:353,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:362,1
    - Dst: af_property_get_face_globals
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:368,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:375,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:385,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:402,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:413,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - ft_module
    - property_name
    - value
    argTypes:
    - FT_Module
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 316
    functionDepth: 6
    functionLinenumber: 316
    functionLinenumberEnd: 416
    functionName: af_property_get
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE0
    - ft_strcmp
    - af_property_get_face_globals
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_property_get( FT_Module    ft_module,\n                   const
      char*  property_name,\n                   void*        value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:436,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - module_interface
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 439
    functionName: af_get_interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_get_interface( FT_Module    module,\n                    const
      char*  module_interface )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ft_module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 465
    functionName: af_autofitter_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void af_autofitter_init( FT_Module  ft_module )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:471,1
    - Dst: af_glyph_hints_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ft_module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 477
    functionName: af_autofitter_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_done
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void af_autofitter_done( FT_Module  ft_module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: FLAT_THRESHOLD
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLAT_THRESHOLD( x )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:67,1
    - Dst: af_glyph_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:73,1
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:107,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:131,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:135,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:140,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:149,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:153,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:158,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:161,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:165,1
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:178,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:180,1
    - Dst: af_latin_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:192,1
    - Dst: af_latin_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:203,1
    - Dst: af_sort_and_quantize_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:232,1
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:245,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:257,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:261,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:263,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:265,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:271,1
    - Dst: af_glyph_hints_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:273,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 83
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 60
    functionDepth: 4
    functionLinenumber: 60
    functionLinenumberEnd: 274
    functionName: af_latin_metrics_init_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_shaper_buf_destroy
    - FT_Load_Glyph
    - GET_UTF8_CHAR
    - af_latin_hints_compute_segments
    - AF_LATIN_CONSTANT
    - af_glyph_hints_done
    - af_glyph_hints_rescale
    - af_glyph_hints_reload
    - FT_TRACE5
    - af_shaper_get_elem
    - FT_ZERO
    - af_latin_hints_link_segments
    - af_sort_and_quantize_widths
    - af_shaper_get_cluster
    - af_shaper_buf_create
    - af_glyph_hints_init
    linkageType: ''
    returnType: void
    signature: "void af_latin_metrics_init_widths( AF_LatinMetrics  metrics,\n                                FT_Face
      \         face )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - count
    - table
    argTypes:
    - FT_UInt
    - AF_LatinBlue*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 313
    functionName: af_latin_sort_blue
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_latin_sort_blue( FT_UInt        count,\n                      AF_LatinBlue*
      \ table )"
  - BBCount: 74
    BranchProfiles: []
    Callsites:
    - Dst: FLAT_THRESHOLD
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:339,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:354,1
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:359,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:376,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:380,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:382,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:384,1
    - Dst: AF_LATIN_IS_SUB_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:387,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:389,1
    - Dst: AF_LATIN_IS_NEUTRAL_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:393,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:396,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:397,1
    - Dst: AF_LATIN_IS_X_HEIGHT_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:401,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:404,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:405,1
    - Dst: AF_LATIN_IS_LONG_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:409,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:412,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:413,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:416,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:419,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:451,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:454,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:458,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:462,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:476,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:483,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:487,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:494,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:496,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:530,1
    - Dst: AF_LATIN_IS_SUB_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:531,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:539,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:542,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:553,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:556,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:583,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:607,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:611,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:616,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:632,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:634,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:639,1
    - Dst: AF_LATIN_IS_LONG_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:648,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:668,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:711,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:729,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:749,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:757,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:759,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:766,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:773,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:774,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:788,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:790,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:802,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:835,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:837,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:851,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:856,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:857,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:859,1
    - Dst: AF_LATIN_IS_NEUTRAL_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:862,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:865,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:869,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:872,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:908,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:915,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:916,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:947,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:950,1
    - Dst: AF_LATIN_IS_SUB_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:951,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:956,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:965,1
    - Dst: AF_LATIN_IS_SUB_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:967,1
    - Dst: AF_LATIN_IS_NEUTRAL_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:969,1
    - Dst: AF_LATIN_IS_X_HEIGHT_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:977,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:980,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:986,1
    - Dst: af_latin_sort_blue
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1001,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1034,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1042,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1056,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1065,1
    CyclomaticComplexity: 115
    EdgeCount: 115
    ICount: 321
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 1069
    functionName: af_latin_metrics_init_blues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_latin_sort_blue
    - AF_LATIN_IS_SUB_TOP_BLUE
    - AF_LATIN_IS_NEUTRAL_BLUE
    - af_shaper_buf_create
    - AF_LATIN_IS_X_HEIGHT_BLUE
    - FT_MAX
    - af_shaper_get_cluster
    - af_shaper_buf_destroy
    - AF_LATIN_IS_TOP_BLUE
    - GET_UTF8_CHAR
    - FT_Load_Glyph
    - FT_BOOL
    - af_sort_pos
    - FT_MIN
    - FT_ABS
    - FT_CURVE_TAG
    - FT_TRACE5
    - AF_LATIN_IS_LONG_BLUE
    - af_shaper_get_elem
    - FLAT_THRESHOLD
    linkageType: ''
    returnType: int
    signature: "int af_latin_metrics_init_blues( AF_LatinMetrics  metrics,\n                               FT_Face
      \         face )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1098,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1108,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1112,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1135,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1138
    functionName: af_latin_metrics_check_digits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_shaper_buf_destroy
    - af_shaper_get_elem
    - af_shaper_get_cluster
    - af_shaper_buf_create
    linkageType: ''
    returnType: void
    signature: "void af_latin_metrics_check_digits( AF_LatinMetrics  metrics,\n                                 FT_Face
      \         face )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1154,1
    - Dst: af_latin_metrics_init_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1156,1
    - Dst: af_latin_metrics_init_blues
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1157,1
    - Dst: af_latin_metrics_check_digits
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1163,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1144
    functionDepth: 5
    functionLinenumber: 1144
    functionLinenumberEnd: 1169
    functionName: af_latin_metrics_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_latin_metrics_init_widths
    - af_latin_metrics_check_digits
    - af_latin_metrics_init_blues
    - FT_Set_Charmap
    - FT_Select_Charmap
    linkageType: ''
    returnType: void
    signature: "void af_latin_metrics_init( AF_LatinMetrics  metrics,\n                         FT_Face
      \         face )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1232,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1263,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1270,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1271,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1274,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1274,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1279,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1295,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1323,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1333,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1336,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1341,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1346,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1346,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1350,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1359,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1370,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1372,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1377,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1396,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1403,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1408,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1428,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1477,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 129
    argCount: 3
    argNames:
    - metrics
    - scaler
    - dim
    argTypes:
    - AF_LatinMetrics
    - AF_Scaler
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1492
    functionName: af_latin_metrics_scale_dim
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FT_ABS
    - FT_MAX
    - FT_MulFix
    - FT_TRACE5
    - FT_PIX_ROUND
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void af_latin_metrics_scale_dim( AF_LatinMetrics  metrics,\n                              AF_Scaler
      \       scaler,\n                              AF_Dimension     dim )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_latin_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1505,1
    - Dst: af_latin_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - metrics
    - scaler
    argTypes:
    - AF_LatinMetrics
    - AF_Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1507
    functionName: af_latin_metrics_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_latin_metrics_scale_dim
    linkageType: ''
    returnType: void
    signature: "void af_latin_metrics_scale( AF_LatinMetrics  metrics,\n                          AF_Scaler
      \       scaler )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - metrics
    - stdHW
    - stdVW
    argTypes:
    - AF_LatinMetrics
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1523
    functionName: af_latin_get_standard_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_latin_get_standard_widths( AF_LatinMetrics  metrics,\n                                FT_Pos*
      \         stdHW,\n                                FT_Pos*          stdVW )"
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: FLAT_THRESHOLD
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1551,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1554,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1558,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1622,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1623,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1631,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1775,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1776,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1848,1
    - Dst: af_axis_hints_new_segment
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1854,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 202
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1959
    functionName: af_latin_hints_compute_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 1
    functionsReached:
    - af_axis_hints_new_segment
    - FT_ZERO
    - FT_ABS
    - FLAT_THRESHOLD
    linkageType: ''
    returnType: void
    signature: "void af_latin_hints_compute_segments( AF_GlyphHints  hints,\n                                   AF_Dimension
      \  dim )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1984,1
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:1989,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 4
    argNames:
    - hints
    - width_count
    - widths
    - dim
    argTypes:
    - AF_GlyphHints
    - FT_UInt
    - AF_WidthRec*
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2098
    functionName: af_latin_hints_link_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 1
    functionsReached:
    - AF_LATIN_CONSTANT
    linkageType: ''
    returnType: void
    signature: "void af_latin_hints_link_segments( AF_GlyphHints  hints,\n                                FT_UInt
      \       width_count,\n                                AF_WidthRec*   widths,\n
      \                               AF_Dimension   dim )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2149,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2157,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2176,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2181,1
    - Dst: af_axis_hints_new_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2228,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2236,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2242,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2367,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 126
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2104
    functionDepth: 2
    functionLinenumber: 2104
    functionLinenumberEnd: 2450
    functionName: af_latin_hints_compute_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_axis_hints_new_edge
    - FT_BOOL
    - FT_MulFix
    - FT_ZERO
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_latin_hints_compute_edges( AF_GlyphHints  hints,\n                                AF_Dimension
      \  dim )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_latin_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2464,1
    - Dst: af_latin_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2467,1
    - Dst: af_latin_hints_compute_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - hints
    - width_count
    - widths
    - dim
    argTypes:
    - AF_GlyphHints
    - FT_UInt
    - AF_WidthRec*
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2456
    functionDepth: 3
    functionLinenumber: 2456
    functionLinenumberEnd: 2473
    functionName: af_latin_hints_detect_features
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_latin_hints_compute_edges
    - af_latin_hints_compute_segments
    - af_latin_hints_link_segments
    linkageType: ''
    returnType: void
    signature: "void af_latin_hints_detect_features( AF_GlyphHints  hints,\n                                  FT_UInt
      \       width_count,\n                                  AF_WidthRec*   widths,\n
      \                                 AF_Dimension   dim )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2503,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2529,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2542,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2559,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2568,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2587
    functionName: af_latin_hints_compute_blue_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void af_latin_hints_compute_blue_edges( AF_GlyphHints    hints,\n
      \                                    AF_LatinMetrics  metrics )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2601,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2667
      start: 2592
    functionDepth: 1
    functionLinenumber: 2592
    functionLinenumberEnd: 2667
    functionName: af_latin_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_rescale
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_latin_hints_init( AF_GlyphHints    hints,\n                       AF_LatinMetrics
      \ metrics )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2709,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - widths
    - count
    - width
    argTypes:
    - AF_Width
    - FT_UInt
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2681
    functionDepth: 1
    functionLinenumber: 2681
    functionLinenumberEnd: 2723
    functionName: af_latin_snap_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_latin_snap_width( AF_Width  widths,\n                       FT_UInt
      \  count,\n                       FT_Pos    width )"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: AF_LATIN_HINTS_DO_STEM_ADJUST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2745,1
    - Dst: AF_LATIN_HINTS_DO_VERT_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2755,1
    - Dst: AF_LATIN_HINTS_DO_HORZ_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2756,1
    - Dst: af_latin_snap_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2854,1
    - Dst: AF_LATIN_HINTS_DO_MONO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2868,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 6
    argNames:
    - hints
    - dim
    - width
    - base_delta
    - base_flags
    - stem_flags
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - FT_Pos
    - FT_Pos
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2730
    functionDepth: 2
    functionLinenumber: 2730
    functionLinenumberEnd: 2922
    functionName: af_latin_compute_stem_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - AF_LATIN_HINTS_DO_HORZ_SNAP
    - af_latin_snap_width
    - AF_LATIN_HINTS_DO_STEM_ADJUST
    - AF_LATIN_HINTS_DO_VERT_SNAP
    - AF_LATIN_HINTS_DO_MONO
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_latin_compute_stem_width( AF_GlyphHints  hints,\n                               AF_Dimension
      \  dim,\n                               FT_Pos         width,\n                               FT_Pos
      \        base_delta,\n                               FT_UInt        base_flags,\n
      \                              FT_UInt        stem_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_latin_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2940,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - hints
    - dim
    - base_edge
    - stem_edge
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2952
      start: 2927
    functionDepth: 3
    functionLinenumber: 2927
    functionLinenumberEnd: 2952
    functionName: af_latin_align_linked_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_TRACE5
    - af_latin_compute_stem_width
    linkageType: ''
    returnType: void
    signature: "void af_latin_align_linked_edge( AF_GlyphHints  hints,\n                              AF_Dimension
      \  dim,\n                              AF_Edge        base_edge,\n                              AF_Edge
      \       stem_edge )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:2963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hints
    - base
    - serif
    argTypes:
    - AF_GlyphHints
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2966
      start: 2958
    functionDepth: 0
    functionLinenumber: 2958
    functionLinenumberEnd: 2966
    functionName: af_latin_align_serif_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_latin_align_serif_edge( AF_GlyphHints  hints,\n                             AF_Edge
      \       base,\n                             AF_Edge        serif )"
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3004,1
    - Dst: AF_HINTS_DO_BLUES
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3014,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3072,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3077,1
    - Dst: af_latin_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3090,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3126,1
    - Dst: af_latin_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3128,1
    - Dst: af_latin_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3146,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3170,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3189,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3194,1
    - Dst: af_latin_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3200,1
    - Dst: af_latin_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3216,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3223,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3235,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3264,1
    - Dst: af_latin_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3277,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3282,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3287,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3295,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3315,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3318,1
    - Dst: af_latin_align_serif_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3419,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3420,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3428,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3430,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3454,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3458,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3468,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3485,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3488,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3506,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3509,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3525,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3526,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 236
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3528
      start: 2982
    functionDepth: 4
    functionLinenumber: 2982
    functionLinenumberEnd: 3528
    functionName: af_latin_hint_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - FT_MulDiv
    - FT_ABS
    - FT_TRACE5
    - FT_PIX_ROUND
    - af_latin_compute_stem_width
    - AF_HINTS_DO_BLUES
    - af_latin_align_serif_edge
    - af_latin_align_linked_edge
    linkageType: ''
    returnType: void
    signature: "void af_latin_hint_edges( AF_GlyphHints  hints,\n                       AF_Dimension
      \  dim )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3545,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3550,1
    - Dst: af_latin_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3553,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3561,1
    - Dst: af_latin_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3564,1
    - Dst: af_latin_hints_compute_blue_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3573,1
    - Dst: AF_HINTS_DO_WARP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3582,1
    - Dst: af_warper_compute
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3589,1
    - Dst: af_glyph_hints_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3591,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3597,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3598,1
    - Dst: af_latin_hint_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3600,1
    - Dst: af_glyph_hints_align_edge_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3601,1
    - Dst: af_glyph_hints_align_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3602,1
    - Dst: af_glyph_hints_align_weak_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3603,1
    - Dst: af_glyph_hints_save
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c:3607,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 4
    argNames:
    - glyph_index
    - hints
    - outline
    - metrics
    argTypes:
    - FT_UInt
    - AF_GlyphHints
    - FT_Outline*
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3611
      start: 3533
    functionDepth: 5
    functionLinenumber: 3533
    functionLinenumberEnd: 3611
    functionName: af_latin_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin.c
    functionUses: 0
    functionsReached:
    - AF_HINTS_DO_WARP
    - af_glyph_hints_scale_dim
    - af_glyph_hints_align_strong_points
    - af_glyph_hints_save
    - af_glyph_hints_align_edge_points
    - af_warper_compute
    - AF_HINTS_DO_HORIZONTAL
    - af_latin_hints_detect_features
    - af_glyph_hints_reload
    - af_latin_hints_compute_blue_edges
    - AF_HINTS_DO_VERTICAL
    - af_latin_hint_edges
    - af_glyph_hints_align_weak_points
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_latin_hints_apply( FT_UInt          glyph_index,\n                        AF_GlyphHints
      \   hints,\n                        FT_Outline*      outline,\n                        AF_LatinMetrics
      \ metrics )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_StyleMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 37
    functionName: af_dummy_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_rescale
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_dummy_hints_init( AF_GlyphHints    hints,\n                       AF_StyleMetrics
      \ metrics )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c:48,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c:49,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c:52,1
    - Dst: af_glyph_hints_save
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - glyph_index
    - hints
    - outline
    - metrics
    argTypes:
    - FT_UInt
    - AF_GlyphHints
    - FT_Outline*
    - AF_StyleMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: af_dummy_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afdummy.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_reload
    - af_glyph_hints_save
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_dummy_hints_apply( FT_UInt          glyph_index,\n                        AF_GlyphHints
      \   hints,\n                        FT_Outline*      outline,\n                        AF_StyleMetrics
      \ metrics )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - description
    - ','
    - tag1
    - ','
    - tag2
    - ','
    - tag3
    - ','
    - tag4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: COVERAGE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "COVERAGE( name, NAME, description,             \\\n                  tag1,
      tag2, tag3, tag4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - description
    - ','
    - tag1
    - ','
    - tag2
    - ','
    - tag3
    - ','
    - tag4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: COVERAGE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "COVERAGE( name, NAME, description, \\\n                  tag1, tag2,
      tag3, tag4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:126,1
    - Dst: hb_font_get_face
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:128,1
    - Dst: hb_ot_tags_from_script
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:136,1
    - Dst: hb_set_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:166,1
    - Dst: hb_ot_layout_collect_lookups
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:167,1
    - Dst: hb_set_is_empty
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:174,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:177,1
    - Dst: hb_set_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:185,1
    - Dst: hb_set_next
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:186,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:189,1
    - Dst: hb_ot_layout_lookup_collect_glyphs
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:194,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:205,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:206,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:209,1
    - Dst: hb_set_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:213,1
    - Dst: hb_ot_layout_collect_lookups
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:214,1
    - Dst: hb_set_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:225,1
    - Dst: hb_set_next
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:226,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:229,1
    - Dst: hb_ot_layout_lookup_collect_glyphs
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:234,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:245,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:246,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:273,1
    - Dst: hb_set_next
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:275,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:278,1
    - Dst: hb_ot_layout_lookup_would_substitute
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:281,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:293,1
    - Dst: hb_set_subtract
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:346,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:349,1
    - Dst: hb_set_next
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:353,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:357,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:360,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:380,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:382,1
    - Dst: hb_set_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:386,1
    - Dst: hb_set_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:387,1
    - Dst: hb_set_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:388,1
    - Dst: hb_set_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:389,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 93
    argCount: 4
    argNames:
    - globals
    - style_class
    - gstyles
    - default_script
    argTypes:
    - AF_FaceGlobals
    - AF_StyleClass
    - FT_UShort*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 392
    functionName: af_shaper_get_coverage
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 1
    functionsReached:
    - hb_set_create
    - hb_ot_tags_from_script
    - GET_UTF8_CHAR
    - hb_ot_layout_lookup_collect_glyphs
    - hb_ot_layout_lookup_would_substitute
    - hb_font_get_face
    - hb_set_subtract
    - FT_THROW
    - hb_set_next
    - hb_set_destroy
    - hb_ot_layout_collect_lookups
    - hb_set_is_empty
    - FT_TRACE4
    - FT_Get_Char_Index
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_shaper_get_coverage( AF_FaceGlobals  globals,\n                          AF_StyleClass
      \  style_class,\n                          FT_UShort*      gstyles,\n                          FT_Bool
      \        default_script )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - description
    - ','
    - tag1
    - ','
    - tag2
    - ','
    - tag3
    - ','
    - tag4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: COVERAGE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "COVERAGE( name, NAME, description,                \\\n                  tag1,
      tag2, tag3, tag4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - description
    - ','
    - tag1
    - ','
    - tag2
    - ','
    - tag3
    - ','
    - tag4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: COVERAGE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "COVERAGE( name, NAME, description, \\\n                  tag1, tag2,
      tag3, tag4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:429,1
    - Dst: hb_buffer_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: af_shaper_buf_create
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - hb_buffer_create
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void *\n  af_shaper_buf_create( FT_Face  face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:439,1
    - Dst: hb_buffer_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - buf
    argTypes:
    - FT_Face
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: af_shaper_buf_destroy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - hb_buffer_destroy
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_shaper_buf_destroy( FT_Face  face,\n                         void*
      \   buf )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: hb_font_set_scale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:469,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:477,1
    - Dst: hb_buffer_clear_contents
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:481,1
    - Dst: hb_buffer_add_utf8
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:482,1
    - Dst: hb_buffer_guess_segment_properties
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:485,1
    - Dst: hb_shape
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:489,1
    - Dst: hb_buffer_clear_contents
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:506,1
    - Dst: hb_buffer_add_utf8
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:507,1
    - Dst: hb_buffer_guess_segment_properties
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:508,1
    - Dst: hb_shape
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:509,1
    - Dst: hb_buffer_get_glyph_infos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:511,1
    - Dst: hb_buffer_get_glyph_infos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:512,1
    - Dst: hb_buffer_clear_contents
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:526,1
    - Dst: hb_buffer_get_length
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:531,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:535,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - p
    - metrics
    - buf_
    - count
    argTypes:
    - char*
    - AF_StyleMetrics
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 540
    functionName: af_shaper_get_cluster
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - hb_buffer_guess_segment_properties
    - hb_buffer_clear_contents
    - FT_TRACE1
    - GET_UTF8_CHAR
    - hb_buffer_get_length
    - hb_buffer_add_utf8
    - hb_shape
    - hb_font_set_scale
    - hb_buffer_get_glyph_infos
    linkageType: ''
    returnType: char
    signature: "char *\n  af_shaper_get_cluster( const char*      p,\n                         AF_StyleMetrics
      \ metrics,\n                         void*            buf_,\n                         unsigned
      int*    count )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:555,1
    - Dst: hb_buffer_get_glyph_infos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:558,1
    - Dst: hb_buffer_get_glyph_positions
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - metrics
    - buf_
    - idx
    - advance
    - y_offset
    argTypes:
    - AF_StyleMetrics
    - void*
    - unsigned int
    - FT_Long*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 570
    functionName: af_shaper_get_elem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - hb_buffer_get_glyph_positions
    - FT_UNUSED
    - hb_buffer_get_glyph_infos
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong af_shaper_get_elem( AF_StyleMetrics  metrics,\n                      void*
      \           buf_,\n                      unsigned int     idx,\n                      FT_Long*
      \        advance,\n                      FT_Long*         y_offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:582,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:583,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:584,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - globals
    - style_class
    - gstyles
    - default_script
    argTypes:
    - AF_FaceGlobals
    - AF_StyleClass
    - FT_UShort*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: af_shaper_get_coverage
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 1
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_shaper_get_coverage( AF_FaceGlobals  globals,\n                          AF_StyleClass
      \  style_class,\n                          FT_UShort*      gstyles,\n                          FT_Bool
      \        default_script )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - face
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 597
    functionName: af_shaper_buf_create
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void *\n  af_shaper_buf_create( FT_Face  face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:604,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - buf
    argTypes:
    - FT_Face
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: af_shaper_buf_destroy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_shaper_buf_destroy( FT_Face  face,\n                         void*
      \   buf )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:623,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:628,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - p
    - metrics
    - buf_
    - count
    argTypes:
    - char*
    - AF_StyleMetrics
    - void*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 642
    functionName: af_shaper_get_cluster
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - FT_Get_Char_Index
    - GET_UTF8_CHAR
    linkageType: ''
    returnType: char
    signature: "char *\n  af_shaper_get_cluster( const char*      p,\n                         AF_StyleMetrics
      \ metrics,\n                         void*            buf_,\n                         unsigned
      int*    count )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:655,1
    - Dst: FT_Get_Advance
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - metrics
    - buf_
    - idx
    - advance
    - y_offset
    argTypes:
    - AF_StyleMetrics
    - void*
    - unsigned int
    - FT_Long*
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 670
    functionName: af_shaper_get_elem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afshaper.c
    functionUses: 3
    functionsReached:
    - FT_Get_Advance
    - FT_UNUSED
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong af_shaper_get_elem( AF_StyleMetrics  metrics,\n                      void*
      \           buf_,\n                      unsigned int     idx,\n                      FT_Long*
      \        advance,\n                      FT_Long*         y_offset )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: AF_ModuleRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afmodule.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER AF_ModuleRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - result
    - ','
    - angle1
    - ','
    - angle2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 151
    functionName: AF_ANGLE_DIFF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_ANGLE_DIFF( result, angle1, angle2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: AF_SCALER_EQUAL_SCALES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_SCALER_EQUAL_SCALES( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ws
    - ','
    - WS
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: WRITING_SYSTEM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITING_SYSTEM( ws, WS )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: AF_UNIRANGE_REC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_UNIRANGE_REC( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - name
    - ','
    - NAME
    - ','
    - description
    - ','
    - tag1
    - ','
    - tag2
    - ','
    - tag3
    - ','
    - tag4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 408
    functionName: COVERAGE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "COVERAGE( name, NAME, description, \\\n                  tag1, tag2,
      tag3, tag4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - ws
    - ','
    - sc
    - ','
    - ss
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: STYLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE( s, S, d, ws, sc, ss, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - writing_system_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    functionName: AF_DECLARE_WRITING_SYSTEM_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_DECLARE_WRITING_SYSTEM_CLASS( writing_system_class )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - writing_system_class
    - ','
    - system
    - ','
    - m_size
    - ','
    - m_init
    - ','
    - m_scale
    - ','
    - m_done
    - ','
    - m_stdw
    - ','
    - h_init
    - ','
    - h_apply
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 520
    functionName: AF_DEFINE_WRITING_SYSTEM_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AF_DEFINE_WRITING_SYSTEM_CLASS(                  \\\n          writing_system_class,
      \                         \\\n          system,                                        \\\n
      \         m_size,                                        \\\n          m_init,
      \                                       \\\n          m_scale,                                       \\\n
      \         m_done,                                        \\\n          m_stdw,
      \                                       \\\n          h_init,                                        \\\n
      \         h_apply )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - script_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 525
    functionName: AF_DECLARE_SCRIPT_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_DECLARE_SCRIPT_CLASS( script_class )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - script_class
    - ','
    - script
    - ','
    - ranges
    - ','
    - nonbase_ranges
    - ','
    - top_to_bottom
    - ','
    - std_charstring
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 542
    functionName: AF_DEFINE_SCRIPT_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AF_DEFINE_SCRIPT_CLASS(           \\\n          script_class,                   \\\n
      \         script,                         \\\n          ranges,                         \\\n
      \         nonbase_ranges,                 \\\n          top_to_bottom,                  \\\n
      \         std_charstring )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - style_class
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: AF_DECLARE_STYLE_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_DECLARE_STYLE_CLASS( style_class )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - style_class
    - ','
    - style
    - ','
    - writing_system
    - ','
    - script
    - ','
    - blue_stringset
    - ','
    - coverage
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 564
    functionName: AF_DEFINE_STYLE_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "AF_DEFINE_STYLE_CLASS(          \\\n          style_class,                  \\\n
      \         style,                        \\\n          writing_system,               \\\n
      \         script,                       \\\n          blue_stringset,               \\\n
      \         coverage )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:76,1
    - Dst: af_glyph_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:82,1
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:115,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:135,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:139,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:144,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:153,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:161,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:164,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:168,1
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:181,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:183,1
    - Dst: af_latin_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:195,1
    - Dst: af_latin_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:206,1
    - Dst: af_sort_and_quantize_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:235,1
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:248,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:260,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:264,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:266,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:268,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:274,1
    - Dst: af_glyph_hints_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:276,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_CJKMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 69
    functionDepth: 4
    functionLinenumber: 69
    functionLinenumberEnd: 277
    functionName: af_cjk_metrics_init_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_shaper_buf_destroy
    - FT_Load_Glyph
    - GET_UTF8_CHAR
    - af_latin_hints_compute_segments
    - AF_LATIN_CONSTANT
    - af_glyph_hints_done
    - af_glyph_hints_rescale
    - af_glyph_hints_reload
    - FT_TRACE5
    - af_shaper_get_elem
    - FT_ZERO
    - af_latin_hints_link_segments
    - af_sort_and_quantize_widths
    - af_shaper_get_cluster
    - af_shaper_buf_create
    - af_glyph_hints_init
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_init_widths( AF_CJKMetrics  metrics,\n                              FT_Face
      \       face )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:318,1
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:323,1
    - Dst: AF_CJK_IS_HORIZ_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:333,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:349,1
    - Dst: AF_CJK_IS_HORIZ_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:351,1
    - Dst: AF_CJK_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:352,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:360,1
    - Dst: GET_UTF8_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:382,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:389,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:395,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:400,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:407,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:411,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:415,1
    - Dst: AF_CJK_IS_HORIZ_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:443,1
    - Dst: AF_CJK_IS_RIGHT_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:445,1
    - Dst: AF_CJK_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:466,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:487,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:503,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:510,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:511,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:541,1
    - Dst: AF_CJK_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:545,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:550,1
    - Dst: AF_CJK_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:556,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:559,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:565,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:567,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 114
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_CJKMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 570
    functionName: af_cjk_metrics_init_blues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_shaper_buf_destroy
    - FT_Load_Glyph
    - GET_UTF8_CHAR
    - AF_CJK_IS_RIGHT_BLUE
    - af_shaper_get_cluster
    - FT_BOOL
    - AF_CJK_IS_TOP_BLUE
    - FT_TRACE5
    - af_shaper_get_elem
    - af_sort_pos
    - AF_CJK_IS_HORIZ_BLUE
    - af_shaper_buf_create
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_init_blues( AF_CJKMetrics  metrics,\n                             FT_Face
      \       face )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: af_shaper_buf_create
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:599,1
    - Dst: af_shaper_get_cluster
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:609,1
    - Dst: af_shaper_get_elem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:613,1
    - Dst: af_shaper_buf_destroy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:636,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_CJKMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 639
    functionName: af_cjk_metrics_check_digits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_shaper_buf_destroy
    - af_shaper_get_elem
    - af_shaper_get_cluster
    - af_shaper_buf_create
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_check_digits( AF_CJKMetrics  metrics,\n                               FT_Face
      \       face )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:653,1
    - Dst: af_cjk_metrics_init_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:655,1
    - Dst: af_cjk_metrics_init_blues
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:656,1
    - Dst: af_cjk_metrics_check_digits
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:657,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:660,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_CJKMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 645
    functionDepth: 5
    functionLinenumber: 645
    functionLinenumberEnd: 662
    functionName: af_cjk_metrics_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_Select_Charmap
    - af_cjk_metrics_init_blues
    - af_cjk_metrics_check_digits
    - FT_Set_Charmap
    - af_cjk_metrics_init_widths
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_init( AF_CJKMetrics  metrics,\n                       FT_Face
      \       face )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:708,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:710,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:715,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:721,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:724,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:729,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:731,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:739,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:740,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 3
    argNames:
    - metrics
    - scaler
    - dim
    argTypes:
    - AF_CJKMetrics
    - AF_Scaler
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 668
    functionDepth: 2
    functionLinenumber: 668
    functionLinenumberEnd: 758
    functionName: af_cjk_metrics_scale_dim
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_DivFix
    - FT_TRACE5
    - FT_PIX_ROUND
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_scale_dim( AF_CJKMetrics  metrics,\n                            AF_Scaler
      \     scaler,\n                            AF_Dimension   dim )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:771,1
    - Dst: af_cjk_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:772,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - metrics
    - scaler
    argTypes:
    - AF_CJKMetrics
    - AF_Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 773
    functionName: af_cjk_metrics_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_cjk_metrics_scale_dim
    linkageType: ''
    returnType: void
    signature: "void af_cjk_metrics_scale( AF_CJKMetrics  metrics,\n                        AF_Scaler
      \     scaler )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - metrics
    - stdHW
    - stdVW
    argTypes:
    - AF_CJKMetrics
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 789
    functionName: af_cjk_get_standard_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_cjk_get_standard_widths( AF_CJKMetrics  metrics,\n                              FT_Pos*
      \       stdHW,\n                              FT_Pos*        stdVW )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: af_latin_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:814,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 803
    functionDepth: 2
    functionLinenumber: 803
    functionLinenumberEnd: 844
    functionName: af_cjk_hints_compute_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_latin_hints_compute_segments
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_cjk_hints_compute_segments( AF_GlyphHints  hints,\n                                 AF_Dimension
      \  dim )"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:860,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:864,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 75
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 1002
    functionName: af_cjk_hints_link_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_DivFix
    - AF_LATIN_CONSTANT
    linkageType: ''
    returnType: void
    signature: "void af_cjk_hints_link_segments( AF_GlyphHints  hints,\n                              AF_Dimension
      \  dim )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1043,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1046,1
    - Dst: AF_SEGMENT_DIST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1091,1
    - Dst: af_axis_hints_new_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1114,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1121,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1127,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1203,1
    - Dst: AF_SEGMENT_DIST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1230,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 103
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1005
    functionDepth: 2
    functionLinenumber: 1005
    functionLinenumberEnd: 1269
    functionName: af_cjk_hints_compute_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_axis_hints_new_edge
    - AF_SEGMENT_DIST
    - FT_BOOL
    - FT_MulFix
    - FT_ZERO
    - FT_DivFix
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_cjk_hints_compute_edges( AF_GlyphHints  hints,\n                              AF_Dimension
      \  dim )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1281,1
    - Dst: af_cjk_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1284,1
    - Dst: af_cjk_hints_compute_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1274
    functionDepth: 3
    functionLinenumber: 1274
    functionLinenumberEnd: 1289
    functionName: af_cjk_hints_detect_features
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_cjk_hints_link_segments
    - af_cjk_hints_compute_segments
    - af_cjk_hints_compute_edges
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_cjk_hints_detect_features( AF_GlyphHints  hints,\n                                AF_Dimension
      \  dim )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1308,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1344,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1356,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1357,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - hints
    - metrics
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_CJKMetrics
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1378
    functionName: af_cjk_hints_compute_blue_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_BOOL
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: "void af_cjk_hints_compute_blue_edges( AF_GlyphHints  hints,\n                                   AF_CJKMetrics
      \ metrics,\n                                   AF_Dimension   dim )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1391,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_CJKMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1384
    functionDepth: 1
    functionLinenumber: 1384
    functionLinenumberEnd: 1448
    functionName: af_cjk_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_rescale
    linkageType: ''
    returnType: void
    signature: "void af_cjk_hints_init( AF_GlyphHints  hints,\n                     AF_CJKMetrics
      \ metrics )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1490,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - widths
    - count
    - width
    argTypes:
    - AF_Width
    - FT_UInt
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1462
    functionDepth: 1
    functionLinenumber: 1462
    functionLinenumberEnd: 1504
    functionName: af_cjk_snap_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_cjk_snap_width( AF_Width  widths,\n                     FT_UInt
      \  count,\n                     FT_Pos    width )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1522,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1524,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1525,1
    - Dst: AF_LATIN_HINTS_DO_STEM_ADJUST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1528,1
    - Dst: AF_LATIN_HINTS_DO_VERT_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1537,1
    - Dst: AF_LATIN_HINTS_DO_HORZ_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1538,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1544,1
    - Dst: af_cjk_snap_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1580,1
    - Dst: AF_LATIN_HINTS_DO_MONO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1594,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 59
    argCount: 5
    argNames:
    - hints
    - dim
    - width
    - base_flags
    - stem_flags
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - FT_Pos
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1627
    functionName: af_cjk_compute_stem_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - AF_LATIN_HINTS_DO_HORZ_SNAP
    - FT_BOOL
    - FT_ABS
    - AF_LATIN_HINTS_DO_MONO
    - AF_LATIN_HINTS_DO_STEM_ADJUST
    - AF_LATIN_HINTS_DO_VERT_SNAP
    - FT_UNUSED
    - af_cjk_snap_width
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_cjk_compute_stem_width( AF_GlyphHints  hints,\n                             AF_Dimension
      \  dim,\n                             FT_Pos         width,\n                             FT_UInt
      \       base_flags,\n                             FT_UInt        stem_flags
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1640,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hints
    - dim
    - base_edge
    - stem_edge
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1632
    functionDepth: 3
    functionLinenumber: 1632
    functionLinenumberEnd: 1652
    functionName: af_cjk_align_linked_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_TRACE5
    - af_cjk_compute_stem_width
    linkageType: ''
    returnType: void
    signature: "void af_cjk_align_linked_edge( AF_GlyphHints  hints,\n                            AF_Dimension
      \  dim,\n                            AF_Edge        base_edge,\n                            AF_Edge
      \       stem_edge )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hints
    - base
    - serif
    argTypes:
    - AF_GlyphHints
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1666
    functionName: af_cjk_align_serif_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_cjk_align_serif_edge( AF_GlyphHints  hints,\n                           AF_Edge
      \       base,\n                           AF_Edge        serif )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: AF_LATIN_HINTS_DO_STEM_ADJUST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1699,1
    - Dst: af_cjk_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1719,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1726,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1727,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1777,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1777,1
    - Dst: AF_LATIN_HINTS_DO_STEM_ADJUST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1785,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 75
    argCount: 5
    argNames:
    - hints
    - edge
    - edge2
    - anchor
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Edge
    - AF_Edge
    - FT_Pos
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1685
    functionDepth: 3
    functionLinenumber: 1685
    functionLinenumberEnd: 1808
    functionName: af_hint_normal_stem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    - AF_LATIN_HINTS_DO_STEM_ADJUST
    - af_cjk_compute_stem_width
    - FT_PIX_FLOOR
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_hint_normal_stem( AF_GlyphHints  hints,\n                       AF_Edge
      \       edge,\n                       AF_Edge        edge2,\n                       FT_Pos
      \        anchor,\n                       AF_Dimension   dim )"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1833,1
    - Dst: AF_HINTS_DO_BLUES
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1839,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1869,1
    - Dst: af_cjk_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1882,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1933,1
    - Dst: af_cjk_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1935,1
    - Dst: af_cjk_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1947,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1988,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:1992,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2001,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2006,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2013,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2013,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2036,1
    - Dst: af_hint_normal_stem
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2040,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2043,1
    - Dst: af_cjk_align_serif_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2134,1
    - Dst: af_cjk_align_serif_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2164,1
    - Dst: af_cjk_align_serif_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2166,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2173,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2184,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2185,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 181
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 1813
    functionDepth: 4
    functionLinenumber: 1813
    functionLinenumberEnd: 2189
    functionName: af_cjk_hint_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_cjk_align_linked_edge
    - printf
    - FT_MulDiv
    - FT_ABS
    - FT_TRACE5
    - af_hint_normal_stem
    - AF_HINTS_DO_BLUES
    - af_cjk_align_serif_edge
    linkageType: ''
    returnType: void
    signature: "void af_cjk_hint_edges( AF_GlyphHints  hints,\n                     AF_Dimension
      \  dim )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2203,1
    - Dst: AF_LATIN_HINTS_DO_HORZ_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2204,1
    - Dst: AF_LATIN_HINTS_DO_VERT_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2206,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2279
      start: 2192
    functionDepth: 1
    functionLinenumber: 2192
    functionLinenumberEnd: 2279
    functionName: af_cjk_align_edge_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - AF_LATIN_HINTS_DO_VERT_SNAP
    - AF_LATIN_HINTS_DO_HORZ_SNAP
    linkageType: ''
    returnType: void
    signature: "void af_cjk_align_edge_points( AF_GlyphHints  hints,\n                            AF_Dimension
      \  dim )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2293,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2294,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2297,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2302,1
    - Dst: af_cjk_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2304,1
    - Dst: af_cjk_hints_compute_blue_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2308,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2311,1
    - Dst: af_cjk_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2313,1
    - Dst: af_cjk_hints_compute_blue_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2317,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2323,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2324,1
    - Dst: AF_HINTS_DO_WARP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2330,1
    - Dst: af_warper_compute
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2337,1
    - Dst: af_glyph_hints_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2339,1
    - Dst: af_cjk_hint_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2345,1
    - Dst: af_cjk_align_edge_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2346,1
    - Dst: af_glyph_hints_align_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2347,1
    - Dst: af_glyph_hints_align_weak_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2348,1
    - Dst: af_glyph_hints_save
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c:2352,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 38
    argCount: 4
    argNames:
    - glyph_index
    - hints
    - outline
    - metrics
    argTypes:
    - FT_UInt
    - AF_GlyphHints
    - FT_Outline*
    - AF_CJKMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2285
    functionDepth: 5
    functionLinenumber: 2285
    functionLinenumberEnd: 2356
    functionName: af_cjk_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afcjk.c
    functionUses: 0
    functionsReached:
    - af_cjk_hints_detect_features
    - AF_HINTS_DO_WARP
    - af_glyph_hints_scale_dim
    - af_glyph_hints_align_strong_points
    - af_glyph_hints_save
    - af_glyph_hints_align_weak_points
    - af_cjk_align_edge_points
    - af_warper_compute
    - AF_HINTS_DO_HORIZONTAL
    - af_glyph_hints_reload
    - AF_HINTS_DO_VERTICAL
    - af_cjk_hints_compute_blue_edges
    - af_cjk_hint_edges
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_cjk_hints_apply( FT_UInt        glyph_index,\n                      AF_GlyphHints
      \ hints,\n                      FT_Outline*    outline,\n                      AF_CJKMetrics
      \ metrics )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:45,1
    - Dst: af_cjk_metrics_init_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:49,1
    - Dst: af_cjk_metrics_init_blues
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:52,1
    - Dst: af_cjk_metrics_check_digits
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:54,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_CJKMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 60
    functionName: af_indic_metrics_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c
    functionUses: 0
    functionsReached:
    - FT_Select_Charmap
    - af_cjk_metrics_init_blues
    - af_cjk_metrics_check_digits
    - FT_Set_Charmap
    - af_cjk_metrics_init_widths
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_indic_metrics_init( AF_CJKMetrics  metrics,\n                         FT_Face
      \       face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_metrics_scale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metrics
    - scaler
    argTypes:
    - AF_CJKMetrics
    - AF_Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 63
    functionDepth: 4
    functionLinenumber: 63
    functionLinenumberEnd: 69
    functionName: af_indic_metrics_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c
    functionUses: 0
    functionsReached:
    - af_cjk_metrics_scale
    linkageType: ''
    returnType: void
    signature: "void af_indic_metrics_scale( AF_CJKMetrics  metrics,\n                          AF_Scaler
      \     scaler )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_CJKMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: af_indic_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c
    functionUses: 0
    functionsReached:
    - af_cjk_hints_init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_indic_hints_init( AF_GlyphHints  hints,\n                       AF_CJKMetrics
      \ metrics )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_cjk_hints_apply
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - glyph_index
    - hints
    - outline
    - metrics
    argTypes:
    - FT_UInt
    - AF_GlyphHints
    - FT_Outline*
    - AF_CJKMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 6
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: af_indic_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c
    functionUses: 0
    functionsReached:
    - af_cjk_hints_apply
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_indic_hints_apply( FT_UInt        glyph_index,\n                        AF_GlyphHints
      \ hints,\n                        FT_Outline*    outline,\n                        AF_CJKMetrics
      \ metrics )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - metrics
    - stdHW
    - stdVW
    argTypes:
    - AF_CJKMetrics
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: af_indic_get_standard_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afindic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_indic_get_standard_widths( AF_CJKMetrics  metrics,\n                                FT_Pos*
      \       stdHW,\n                                FT_Pos*        stdVW )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:74,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:87,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:93,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:97,1
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:106,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:108,1
    - Dst: af_latin2_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:120,1
    - Dst: af_latin2_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:125,1
    - Dst: af_sort_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:150,1
    - Dst: AF_LATIN_CONSTANT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:163,1
    - Dst: af_glyph_hints_done
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:172,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 67
    functionDepth: 4
    functionLinenumber: 67
    functionLinenumberEnd: 173
    functionName: af_latin2_metrics_init_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_Load_Glyph
    - af_latin2_hints_compute_segments
    - AF_LATIN_CONSTANT
    - af_glyph_hints_rescale
    - af_glyph_hints_reload
    - FT_ZERO
    - af_latin2_hints_link_segments
    - af_glyph_hints_done
    - FT_Get_Char_Index
    - af_sort_widths
    - af_glyph_hints_init
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_init_widths( AF_LatinMetrics  metrics,\n                                 FT_Face
      \         face )"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:211,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:222,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:236,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:240,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:271,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:296,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:319,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:323,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:336,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:338,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:346,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:347,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:348,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:350,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:365,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:372,1
    - Dst: af_sort_pos
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:373,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:404,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:407,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:412,1
    - Dst: AF_LATIN_IS_TOP_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:418,1
    - Dst: AF_LATIN_IS_X_HEIGHT_BLUE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:426,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:429,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 104
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 192
    functionDepth: 4
    functionLinenumber: 192
    functionLinenumberEnd: 435
    functionName: af_latin2_metrics_init_blues
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_Load_Glyph
    - AF_LATIN_IS_TOP_BLUE
    - FT_BOOL
    - FT_ABS
    - AF_LATIN_IS_X_HEIGHT_BLUE
    - FT_CURVE_TAG
    - FT_TRACE5
    - af_sort_pos
    - FT_Get_Char_Index
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_init_blues( AF_LatinMetrics  metrics,\n                                FT_Face
      \         face )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:454,1
    - Dst: FT_Get_Advance
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:458,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 481
    functionName: af_latin2_metrics_check_digits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_Get_Char_Index
    - FT_Get_Advance
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_check_digits( AF_LatinMetrics  metrics,\n                                  FT_Face
      \         face )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:507,1
    - Dst: af_latin2_metrics_init_widths
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:514,1
    - Dst: af_latin2_metrics_init_blues
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:515,1
    - Dst: af_latin2_metrics_check_digits
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:516,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - metrics
    - face
    argTypes:
    - AF_LatinMetrics
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 485
    functionDepth: 5
    functionLinenumber: 485
    functionLinenumberEnd: 521
    functionName: af_latin2_metrics_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_latin2_metrics_check_digits
    - FT_Set_Charmap
    - FT_Select_Charmap
    - af_latin2_metrics_init_widths
    - af_latin2_metrics_init_blues
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_init( AF_LatinMetrics  metrics,\n                          FT_Face
      \         face )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:582,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:599,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:600,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:629,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:636,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:636,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:647,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:649,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:654,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:664,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:671,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:676,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:679,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 76
    argCount: 3
    argNames:
    - metrics
    - scaler
    - dim
    argTypes:
    - AF_LatinMetrics
    - AF_Scaler
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 689
    functionName: af_latin2_metrics_scale_dim
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FT_MulFix
    - FT_TRACE5
    - FT_PIX_ROUND
    - FT_MulDiv
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_scale_dim( AF_LatinMetrics  metrics,\n                               AF_Scaler
      \       scaler,\n                               AF_Dimension     dim )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_latin2_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:700,1
    - Dst: af_latin2_metrics_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - metrics
    - scaler
    argTypes:
    - AF_LatinMetrics
    - AF_Scaler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 702
    functionName: af_latin2_metrics_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_latin2_metrics_scale_dim
    linkageType: ''
    returnType: void
    signature: "void af_latin2_metrics_scale( AF_LatinMetrics  metrics,\n                           AF_Scaler
      \       scaler )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - metrics
    - stdHW
    - stdVW
    argTypes:
    - AF_LatinMetrics
    - FT_Pos*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: af_latin2_get_standard_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_latin2_get_standard_widths( AF_LatinMetrics  metrics,\n                                 FT_Pos*
      \         stdHW,\n                                 FT_Pos*          stdVW )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:745,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:749,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:792,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:801,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:818,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:818,1
    - Dst: af_axis_hints_new_segment
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:845,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:889,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 123
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 983
    functionName: af_latin2_hints_compute_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 1
    functionsReached:
    - af_axis_hints_new_segment
    - FT_ASSERT
    - FT_ZERO
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: "void af_latin2_hints_compute_segments( AF_GlyphHints  hints,\n                                    AF_Dimension
      \  dim )"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1125,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1146,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1151,1
    - Dst: af_axis_hints_new_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1207,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1213,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1219,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1306,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 115
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1085
    functionDepth: 2
    functionLinenumber: 1085
    functionLinenumberEnd: 1389
    functionName: af_latin2_hints_compute_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_axis_hints_new_edge
    - FT_BOOL
    - FT_MulFix
    - FT_ZERO
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_latin2_hints_compute_edges( AF_GlyphHints  hints,\n                                 AF_Dimension
      \  dim )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: af_latin2_hints_compute_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1399,1
    - Dst: af_latin2_hints_link_segments
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1402,1
    - Dst: af_latin2_hints_compute_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1393
    functionDepth: 3
    functionLinenumber: 1393
    functionLinenumberEnd: 1407
    functionName: af_latin2_hints_detect_features
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_latin2_hints_link_segments
    - af_latin2_hints_compute_segments
    - af_latin2_hints_compute_edges
    linkageType: ''
    returnType: void
    signature: "void af_latin2_hints_detect_features( AF_GlyphHints  hints,\n                                   AF_Dimension
      \  dim )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1423,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1453,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1475,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1488,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1498,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 40
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1410
    functionDepth: 1
    functionLinenumber: 1410
    functionLinenumberEnd: 1513
    functionName: af_latin2_hints_compute_blue_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void af_latin2_hints_compute_blue_edges( AF_GlyphHints    hints,\n
      \                                     AF_LatinMetrics  metrics )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: af_glyph_hints_rescale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1525,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1588
    functionName: af_latin2_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_glyph_hints_rescale
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_latin2_hints_init( AF_GlyphHints    hints,\n                        AF_LatinMetrics
      \ metrics )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - widths
    - count
    - width
    argTypes:
    - AF_Width
    - FT_UInt
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1602
    functionDepth: 1
    functionLinenumber: 1602
    functionLinenumberEnd: 1644
    functionName: af_latin2_snap_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_latin2_snap_width( AF_Width  widths,\n                        FT_UInt
      \  count,\n                        FT_Pos    width )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1662,1
    - Dst: AF_LATIN_HINTS_DO_STEM_ADJUST
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1665,1
    - Dst: AF_LATIN_HINTS_DO_VERT_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1675,1
    - Dst: AF_LATIN_HINTS_DO_HORZ_SNAP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1676,1
    - Dst: af_latin2_snap_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1744,1
    - Dst: AF_LATIN_HINTS_DO_MONO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1758,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 76
    argCount: 5
    argNames:
    - hints
    - dim
    - width
    - base_flags
    - stem_flags
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - FT_Pos
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1649
    functionDepth: 2
    functionLinenumber: 1649
    functionLinenumberEnd: 1812
    functionName: af_latin2_compute_stem_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - AF_LATIN_HINTS_DO_HORZ_SNAP
    - AF_LATIN_HINTS_DO_MONO
    - af_latin2_snap_width
    - AF_LATIN_HINTS_DO_STEM_ADJUST
    - AF_LATIN_HINTS_DO_VERT_SNAP
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos af_latin2_compute_stem_width( AF_GlyphHints  hints,\n                                AF_Dimension
      \  dim,\n                                FT_Pos         width,\n                                FT_UInt
      \       base_flags,\n                                FT_UInt        stem_flags
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: af_latin2_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1825,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - hints
    - dim
    - base_edge
    - stem_edge
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1817
    functionDepth: 3
    functionLinenumber: 1817
    functionLinenumberEnd: 1836
    functionName: af_latin2_align_linked_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_TRACE5
    - af_latin2_compute_stem_width
    linkageType: ''
    returnType: void
    signature: "void af_latin2_align_linked_edge( AF_GlyphHints  hints,\n                               AF_Dimension
      \  dim,\n                               AF_Edge        base_edge,\n                               AF_Edge
      \       stem_edge )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hints
    - base
    - serif
    argTypes:
    - AF_GlyphHints
    - AF_Edge
    - AF_Edge
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1839
    functionDepth: 0
    functionLinenumber: 1839
    functionLinenumberEnd: 1847
    functionName: af_latin2_align_serif_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void af_latin2_align_serif_edge( AF_GlyphHints  hints,\n                              AF_Edge
      \       base,\n                              AF_Edge        serif )"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1875,1
    - Dst: AF_HINTS_DO_BLUES
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1881,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1910,1
    - Dst: af_latin2_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1920,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1959,1
    - Dst: af_latin2_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1961,1
    - Dst: af_latin2_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1973,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:1988,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2007,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2009,1
    - Dst: af_latin2_align_linked_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2018,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2025,1
    - Dst: af_latin2_compute_stem_width
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2037,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2044,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2050,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2065,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2070,1
    - Dst: FT_PIX_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2070,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2072,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2092,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2095,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2099,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2102,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2108,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2109,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2112,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2116,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2117,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2120,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2139,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2146,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2159,1
    - Dst: af_latin2_align_serif_edge
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2259,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2260,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2268,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2271,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2294,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2297,1
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2307,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 225
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 1861
    functionDepth: 4
    functionLinenumber: 1861
    functionLinenumberEnd: 2324
    functionName: af_latin2_hint_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - af_latin2_align_linked_edge
    - FT_PIX_FLOOR
    - af_latin2_align_serif_edge
    - FT_MulDiv
    - FT_PIX_CEIL
    - FT_ABS
    - FT_TRACE5
    - FT_PIX_ROUND
    - AF_HINTS_DO_BLUES
    - af_latin2_compute_stem_width
    linkageType: ''
    returnType: void
    signature: "void af_latin2_hint_edges( AF_GlyphHints  hints,\n                        AF_Dimension
      \  dim )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2336,1
    - Dst: af_glyph_hints_reload
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2339,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2344,1
    - Dst: af_latin2_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2346,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2351,1
    - Dst: af_latin2_hints_detect_features
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2353,1
    - Dst: af_latin2_hints_compute_blue_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2357,1
    - Dst: AF_HINTS_DO_WARP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2366,1
    - Dst: af_warper_compute
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2373,1
    - Dst: af_glyph_hints_scale_dim
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2374,1
    - Dst: AF_HINTS_DO_HORIZONTAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2379,1
    - Dst: AF_HINTS_DO_VERTICAL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2380,1
    - Dst: af_latin2_hint_edges
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2382,1
    - Dst: af_glyph_hints_align_edge_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2383,1
    - Dst: af_glyph_hints_align_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2384,1
    - Dst: af_glyph_hints_align_weak_points
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2385,1
    - Dst: af_glyph_hints_save
      Src: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c:2388,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - glyph_index
    - hints
    - outline
    - metrics
    argTypes:
    - FT_UInt
    - AF_GlyphHints
    - FT_Outline*
    - AF_LatinMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2327
    functionDepth: 5
    functionLinenumber: 2327
    functionLinenumberEnd: 2392
    functionName: af_latin2_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/aflatin2.c
    functionUses: 0
    functionsReached:
    - AF_HINTS_DO_WARP
    - af_glyph_hints_scale_dim
    - af_glyph_hints_align_strong_points
    - af_latin2_hint_edges
    - af_latin2_hints_compute_blue_edges
    - af_glyph_hints_save
    - af_glyph_hints_align_edge_points
    - af_warper_compute
    - AF_HINTS_DO_HORIZONTAL
    - af_glyph_hints_reload
    - AF_HINTS_DO_VERTICAL
    - af_latin2_hints_detect_features
    - af_glyph_hints_align_weak_points
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_latin2_hints_apply( FT_UInt          glyph_index,\n                         AF_GlyphHints
      \   hints,\n                         FT_Outline*      outline,\n                         AF_LatinMetrics
      \ metrics )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE5
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:109,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 8
    argNames:
    - warper
    - scale
    - delta
    - xx1
    - xx2
    - base_distort
    - segments
    - num_segments
    argTypes:
    - AF_Warper
    - FT_Fixed
    - FT_Pos
    - FT_Pos
    - FT_Pos
    - AF_WarpScore
    - AF_Segment
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 154
    functionName: af_warper_compute_line_best
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_TRACE5
    linkageType: ''
    returnType: void
    signature: "void af_warper_compute_line_best( AF_Warper     warper,\n                               FT_Fixed
      \     scale,\n                               FT_Pos        delta,\n                               FT_Pos
      \       xx1,\n                               FT_Pos        xx2,\n                               AF_WarpScore
      \ base_distort,\n                               AF_Segment    segments,\n                               FT_Int
      \       num_segments )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:240,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:241,1
    - Dst: AF_WARPER_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:243,1
    - Dst: AF_WARPER_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:244,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:343,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:344,1
    - Dst: af_warper_compute_line_best
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:346,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:356,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c:358,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 103
    argCount: 5
    argNames:
    - warper
    - hints
    - dim
    - a_scale
    - a_delta
    argTypes:
    - AF_Warper
    - AF_GlyphHints
    - AF_Dimension
    - FT_Fixed*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 364
    functionName: af_warper_compute
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.c
    functionUses: 3
    functionsReached:
    - AF_WARPER_CEIL
    - FT_MulFix
    - AF_WARPER_FLOOR
    - af_warper_compute_line_best
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_warper_compute( AF_Warper      warper,\n                     AF_GlyphHints
      \ hints,\n                     AF_Dimension   dim,\n                     FT_Fixed
      \     *a_scale,\n                     FT_Pos        *a_delta )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 60
    functionName: GET_UTF8_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afblue.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UTF8_CHAR( ch, p )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 75
    functionName: af_angle_atan
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_angle_atan( FT_Fixed  dx,\n                 FT_Fixed  dy )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c:171,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c:174,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 180
    functionName: af_angle_atan
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c
    functionUses: 0
    functionsReached:
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_angle_atan( FT_Fixed  dx,\n                 FT_Fixed  dy )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - count
    - table
    argTypes:
    - FT_UInt
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 206
    functionName: af_sort_pos
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_sort_pos( FT_UInt  count,\n               FT_Pos*  table )"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - count
    - table
    - threshold
    argTypes:
    - FT_UInt*
    - AF_Width
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 282
    functionName: af_sort_and_quantize_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afangles.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_sort_and_quantize_widths( FT_UInt*  count,\n                               AF_Width
      \ table,\n                               FT_Pos    threshold )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - f
    - ','
    - F
    - ','
    - ds
    - ','
    - df
    - ','
    - C
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 51
    functionName: STYLE_LATIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afstyles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE_LATIN( s, S, f, F, ds, df, C )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - ds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 84
    functionName: META_STYLE_LATIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afstyles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: META_STYLE_LATIN( s, S, ds )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 462
    functionName: STYLE_DEFAULT_INDIC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afstyles.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STYLE_DEFAULT_INDIC( s, S, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: AF_WARPER_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_WARPER_FLOOR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: AF_WARPER_CEIL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afwarp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_WARPER_CEIL( x )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:63,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:73,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:75,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:80,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 3
    argNames:
    - axis
    - memory
    - asegment
    argTypes:
    - AF_AxisHints
    - FT_Memory
    - AF_Segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 92
    functionName: af_axis_hints_new_segment
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FT_NEW_ARRAY
    - ft_memcpy
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: void
    signature: "void af_axis_hints_new_segment( AF_AxisHints  axis,\n                             FT_Memory
      \    memory,\n                             AF_Segment   *asegment )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:128,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:138,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:140,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:145,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 43
    argCount: 6
    argNames:
    - axis
    - fpos
    - dir
    - top_to_bottom_hinting
    - memory
    - anedge
    argTypes:
    - AF_AxisHints
    - FT_Int
    - AF_Direction
    - FT_Bool
    - FT_Memory
    - AF_Edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 175
    functionName: af_axis_hints_new_edge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 3
    functionsReached:
    - FT_THROW
    - FT_NEW_ARRAY
    - ft_memcpy
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: void
    signature: "void af_axis_hints_new_edge( AF_AxisHints  axis,\n                          FT_Int
      \       fpos,\n                          AF_Direction  dir,\n                          FT_Bool
      \      top_to_bottom_hinting,\n                          FT_Memory     memory,\n
      \                         AF_Edge      *anedge )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: AF_DUMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_DUMP( varformat )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - dir
    argTypes:
    - AF_Direction
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 218
    functionName: af_dir_str
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  af_dir_str( AF_Direction  dir )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - base
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: AF_INDEX_NUM
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AF_INDEX_NUM( ptr, base )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_sprintf
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - p
    - idx
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 238
    functionName: af_print_idx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - ft_sprintf
    linkageType: ''
    returnType: char
    signature: "char *\n  af_print_idx( char* p,\n                int   idx )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 3
    argNames:
    - hints
    - point_idx
    - dimension
    argTypes:
    - AF_GlyphHints
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 283
    functionName: af_get_segment_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int af_get_segment_index( AF_GlyphHints  hints,\n                        int
      \           point_idx,\n                        int            dimension )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hints
    - segment_idx
    - dimension
    argTypes:
    - AF_GlyphHints
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 297
    functionName: af_get_edge_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - AF_INDEX_NUM
    linkageType: ''
    returnType: int
    signature: "int af_get_edge_index( AF_GlyphHints  hints,\n                     int
      \           segment_idx,\n                     int            dimension )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hints
    - strong_edges
    - dimension
    argTypes:
    - AF_GlyphHints
    - AF_Edge*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 310
    functionName: af_get_strong_edge_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - AF_INDEX_NUM
    linkageType: ''
    returnType: int
    signature: "int af_get_strong_edge_index( AF_GlyphHints  hints,\n                            AF_Edge*
      \      strong_edges,\n                            int            dimension )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:327,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:331,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:339,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:343,1
    - Dst: af_get_segment_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:344,1
    - Dst: af_get_segment_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:345,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:354,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:358,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:362,1
    - Dst: af_get_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:363,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:364,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:365,1
    - Dst: af_get_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:366,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:367,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:381,1
    - Dst: af_get_strong_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:381,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:384,1
    - Dst: af_get_strong_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:384,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:387,1
    - Dst: af_get_strong_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:387,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:390,1
    - Dst: af_get_strong_edge_index
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:390,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:394,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - hints
    - to_stdout
    argTypes:
    - AF_GlyphHints
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 395
    functionName: af_glyph_hints_dump_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - af_get_edge_index
    - af_get_segment_index
    - AF_INDEX_NUM
    - af_get_strong_edge_index
    - af_print_idx
    - AF_DUMP
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_dump_points( AF_GlyphHints  hints,\n                              FT_Bool
      \       to_stdout )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:410,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:417,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - flags
    argTypes:
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 426
    functionName: af_edge_flags_to_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    linkageType: ''
    returnType: char
    signature: "char *\n  af_edge_flags_to_string( FT_UInt  flags )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:453,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:458,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:466,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:469,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:472,1
    - Dst: af_dir_str
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:475,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:476,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:477,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:479,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:479,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:480,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:480,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:481,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:481,1
    - Dst: af_edge_flags_to_string
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:485,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hints
    - to_stdout
    argTypes:
    - AF_GlyphHints
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 488
    functionName: af_glyph_hints_dump_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - af_dir_str
    - AF_INDEX_NUM
    - af_edge_flags_to_string
    - af_print_idx
    - AF_DUMP
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_dump_segments( AF_GlyphHints  hints,\n                                FT_Bool
      \       to_stdout )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - hints
    - dimension
    - num_segments
    argTypes:
    - AF_GlyphHints
    - FT_Int
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: af_glyph_hints_get_num_segments
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_glyph_hints_get_num_segments( AF_GlyphHints  hints,\n
      \                                  FT_Int         dimension,\n                                   FT_Int*
      \       num_segments )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:539,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:546,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:552,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - hints
    - dimension
    - idx
    - offset
    - is_blue
    - blue_offset
    argTypes:
    - AF_GlyphHints
    - FT_Int
    - FT_Int
    - FT_Pos*
    - FT_Bool*
    - FT_Pos*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 562
    functionName: af_glyph_hints_get_segment_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_BOOL
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_glyph_hints_get_segment_offset( AF_GlyphHints  hints,\n
      \                                    FT_Int         dimension,\n                                     FT_Int
      \        idx,\n                                     FT_Pos        *offset,\n
      \                                    FT_Bool       *is_blue,\n                                     FT_Pos
      \       *blue_offset )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:595,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:600,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:607,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:613,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:616,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:618,1
    - Dst: af_dir_str
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:620,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:621,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:621,1
    - Dst: af_print_idx
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:622,1
    - Dst: AF_INDEX_NUM
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:622,1
    - Dst: af_edge_flags_to_string
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:627,1
    - Dst: AF_DUMP
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - hints
    - to_stdout
    argTypes:
    - AF_GlyphHints
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 630
    functionName: af_glyph_hints_dump_edges
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - af_dir_str
    - AF_INDEX_NUM
    - af_edge_flags_to_string
    - af_print_idx
    - AF_DUMP
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_dump_edges( AF_GlyphHints  hints,\n                             FT_Bool
      \       to_stdout )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 688
    functionName: af_direction_compute
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    linkageType: ''
    returnType: void
    signature: "void af_direction_compute( FT_Pos  dx,\n                        FT_Pos
      \ dy )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hints
    - memory
    argTypes:
    - AF_GlyphHints
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 698
    functionName: af_glyph_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 3
    functionsReached:
    - FT_MEM_ZERO
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_init( AF_GlyphHints  hints,\n                       FT_Memory
      \     memory )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:725,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:730,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:734,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:739,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - hints
    argTypes:
    - AF_GlyphHints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 702
    functionDepth: 1
    functionLinenumber: 702
    functionLinenumberEnd: 744
    functionName: af_glyph_hints_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 4
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void af_glyph_hints_done( AF_GlyphHints  hints )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hints
    - metrics
    argTypes:
    - AF_GlyphHints
    - AF_StyleMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: af_glyph_hints_rescale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_rescale( AF_GlyphHints    hints,\n                          AF_StyleMetrics
      \ metrics )"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:802,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:831,1
    - Dst: FT_Outline_Get_Orientation
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:847,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:894,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:895,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:900,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:915,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:915,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1004,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1004,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1045,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1045,1
    - Dst: af_direction_compute
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1054,1
    - Dst: ft_corner_is_flat
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1151,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 191
    argCount: 2
    argNames:
    - hints
    - outline
    argTypes:
    - AF_GlyphHints
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 1178
    functionName: af_glyph_hints_reload
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 7
    functionsReached:
    - FT_RENEW_ARRAY
    - FT_ABS
    - FT_Outline_Get_Orientation
    - FT_CURVE_TAG
    - FT_MulFix
    - ft_corner_is_flat
    - af_direction_compute
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_reload( AF_GlyphHints  hints,\n                         FT_Outline*
      \   outline )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - hints
    - outline
    argTypes:
    - AF_GlyphHints
    - FT_Outline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1205
    functionName: af_glyph_hints_save
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_save( AF_GlyphHints  hints,\n                       FT_Outline*
      \   outline )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1280
    functionName: af_glyph_hints_align_edge_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_align_edge_points( AF_GlyphHints  hints,\n                                    AF_Dimension
      \  dim )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1440,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1443,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 79
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1294
    functionDepth: 2
    functionLinenumber: 1294
    functionLinenumberEnd: 1458
    functionName: af_glyph_hints_align_strong_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 3
    functionsReached:
    - FT_MulFix
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_align_strong_points( AF_GlyphHints  hints,\n                                      AF_Dimension
      \  dim )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - p1
    - p2
    - ref
    argTypes:
    - AF_Point
    - AF_Point
    - AF_Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1472
    functionDepth: 0
    functionLinenumber: 1472
    functionLinenumberEnd: 1489
    functionName: af_iup_shift
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void af_iup_shift( AF_Point  p1,\n                AF_Point  p2,\n
      \               AF_Point  ref )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1544,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 4
    argNames:
    - p1
    - p2
    - ref1
    - ref2
    argTypes:
    - AF_Point
    - AF_Point
    - AF_Point
    - AF_Point
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1499
    functionDepth: 2
    functionLinenumber: 1499
    functionLinenumberEnd: 1561
    functionName: af_iup_interp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_iup_interp( AF_Point  p1,\n                 AF_Point  p2,\n
      \                AF_Point  ref1,\n                 AF_Point  ref2 )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1629,1
    - Dst: af_iup_interp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1653,1
    - Dst: af_iup_shift
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1660,1
    - Dst: af_iup_interp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1665,1
    - Dst: af_iup_interp
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1669,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 63
    argCount: 2
    argNames:
    - hints
    - dim
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1568
    functionDepth: 3
    functionLinenumber: 1568
    functionLinenumberEnd: 1688
    functionName: af_glyph_hints_align_weak_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 3
    functionsReached:
    - af_iup_interp
    - FT_ASSERT
    - af_iup_shift
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_align_weak_points( AF_GlyphHints  hints,\n                                    AF_Dimension
      \  dim )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1709,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c:1714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - hints
    - dim
    - scale
    - delta
    argTypes:
    - AF_GlyphHints
    - AF_Dimension
    - FT_Fixed
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1696
    functionDepth: 0
    functionLinenumber: 1696
    functionLinenumberEnd: 1716
    functionName: af_glyph_hints_scale_dim
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afhints.c
    functionUses: 3
    functionsReached:
    - FT_MulFix
    linkageType: ''
    returnType: void
    signature: "void af_glyph_hints_scale_dim( AF_GlyphHints  hints,\n                            AF_Dimension
      \  dim,\n                            FT_Fixed       scale,\n                            FT_Pos
      \        delta )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - hints
    argTypes:
    - AF_Loader
    - AF_GlyphHints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: af_loader_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void af_loader_init( AF_Loader      loader,\n                  AF_GlyphHints
      \ hints )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: af_face_globals_new
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - loader
    - module
    - face
    argTypes:
    - AF_Loader
    - AF_Module
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: af_loader_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached:
    - af_face_globals_new
    linkageType: ''
    returnType: void
    signature: "void af_loader_reset( AF_Loader  loader,\n                   AF_Module
      \ module,\n                   FT_Face    face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loader
    argTypes:
    - AF_Loader
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: af_loader_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void af_loader_done( AF_Loader  loader )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: af_intToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: af_intToFixed( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: af_fixedToInt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: af_fixedToInt( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: af_floatToFixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: af_floatToFixed( f )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:107,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:108,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:108,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:116,1
    - Dst: AF_WritingSystemClass::style_metrics_getstdw
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:129,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:134,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:145,1
    - Dst: af_loader_compute_darkening
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:145,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:148,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:148,1
    - Dst: af_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:154,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:164,1
    - Dst: af_loader_compute_darkening
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:164,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:167,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:167,1
    - Dst: af_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:173,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:194,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:194,1
    - Dst: FT_Outline_EmboldenXY
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:198,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:203,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 3
    argNames:
    - loader
    - face
    - style_metrics
    argTypes:
    - AF_Loader
    - FT_Face
    - AF_StyleMetrics
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 207
    functionName: af_loader_embolden_glyph_in_slot
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached:
    - af_loader_compute_darkening
    - FT_DivFix
    - FT_Outline_Transform
    - FT_Outline_EmboldenXY
    - af_intToFixed
    - FT_MulFix
    - af_fixedToInt
    - AF_WritingSystemClass::style_metrics_getstdw
    - FT_ERR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error af_loader_embolden_glyph_in_slot( AF_Loader        loader,\n
      \                                   FT_Face          face,\n                                    AF_StyleMetrics
      \ style_metrics )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:236,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:238,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:241,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:247,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:258,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:259,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:261,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:262,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:264,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:265,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:268,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:270,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:272,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:273,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:294,1
    - Dst: af_loader_reset
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:299,1
    - Dst: af_face_globals_get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:315,1
    - Dst: AF_WritingSystemClass::style_metrics_scale
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:327,1
    - Dst: AF_WritingSystemClass::style_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:333,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:351,1
    - Dst: af_loader_embolden_glyph_in_slot
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:384,1
    - Dst: FT_Matrix_Invert
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:396,1
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:397,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:405,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:413,1
    - Dst: AF_WritingSystemClass::style_hints_apply
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:425,1
    - Dst: AF_HINTS_DO_ADVANCE
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:441,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:467,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:468,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:485,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:486,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:500,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:501,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:511,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:522,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:523,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:528,1
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:529,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:535,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:537,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:539,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:540,1
    - Dst: FT_PIX_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:541,1
    - Dst: FT_PIX_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:542,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:549,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:550,1
    - Dst: FT_IS_FIXED_WIDTH
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:556,1
    - Dst: af_face_globals_is_digit
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:557,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:561,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:576,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:579,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:580,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 146
    argCount: 5
    argNames:
    - loader
    - module
    - face
    - glyph_index
    - load_flags
    argTypes:
    - AF_Loader
    - AF_Module
    - FT_Face
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 213
    functionDepth: 6
    functionLinenumber: 213
    functionLinenumberEnd: 587
    functionName: af_loader_load_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 0
    functionsReached:
    - FT_Vector_Transform
    - FT_Outline_Transform
    - AF_HINTS_DO_ADVANCE
    - af_face_globals_get_metrics
    - FT_MulFix
    - af_loader_reset
    - FT_ZERO
    - FT_PIX_ROUND
    - FT_Outline_Translate
    - af_loader_embolden_glyph_in_slot
    - af_face_globals_is_digit
    - AF_WritingSystemClass::style_metrics_scale
    - FT_PIX_CEIL
    - FT_THROW
    - FT_DivFix
    - FT_LOAD_TARGET_MODE
    - FT_IS_FIXED_WIDTH
    - AF_WritingSystemClass::style_hints_apply
    - FT_Load_Glyph
    - FT_PIX_FLOOR
    - FT_Outline_Get_CBox
    - FT_Matrix_Invert
    - AF_WritingSystemClass::style_hints_init
    linkageType: ''
    returnType: void
    signature: "void af_loader_load_glyph( AF_Loader  loader,\n                        AF_Module
      \ module,\n                        FT_Face    face,\n                        FT_UInt
      \   glyph_index,\n                        FT_Int32   load_flags )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:611,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:611,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:612,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:615,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:615,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:616,1
    - Dst: af_floatToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:617,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:634,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:639,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:640,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:643,1
    - Dst: FT_MSB
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:644,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:649,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:652,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:655,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:656,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:656,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:658,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:663,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:663,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:669,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:670,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:670,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:673,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:680,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:680,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:686,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:687,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:687,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:691,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:698,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:698,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:704,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:705,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:705,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:712,1
    - Dst: af_intToFixed
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:712,1
    - Dst: af_fixedToInt
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:716,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c:716,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 3
    argNames:
    - loader
    - face
    - standard_width
    argTypes:
    - AF_Loader
    - FT_Face
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 598
    functionDepth: 2
    functionLinenumber: 598
    functionLinenumberEnd: 717
    functionName: af_loader_compute_darkening
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.c
    functionUses: 1
    functionsReached:
    - af_floatToFixed
    - af_intToFixed
    - FT_MAX
    - FT_MulFix
    - FT_MSB
    - af_fixedToInt
    - FT_MulDiv
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void af_loader_compute_darkening( AF_Loader  loader,\n                               FT_Face
      \   face,\n                               FT_Pos     standard_width )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 31
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afranges.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - S
    - ','
    - d
    - ','
    - h
    - ','
    - H
    - ','
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: SCRIPT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afranges.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCRIPT( s, S, d, h, H, ss )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 53
    functionName: AF_LoaderRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/autofit/afloader.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER AF_LoaderRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - property
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: _bdf_strncmp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _bdf_strncmp( name, property, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: setsbit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setsbit( m, cc )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: sbitset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbitset( m, cc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - memory
    argTypes:
    - _bdf_list_t*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: _bdf_list_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void _bdf_list_init( _bdf_list_t*  list,\n                  FT_Memory
      \    memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:303,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:304,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - _bdf_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: _bdf_list_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void _bdf_list_done( _bdf_list_t*  list )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:326,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - list
    - num_items
    argTypes:
    - _bdf_list_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 340
    functionName: _bdf_list_ensure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_list_ensure( _bdf_list_t*   list,\n                    unsigned
      long  num_items )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - list
    - n
    argTypes:
    - _bdf_list_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 362
    functionName: _bdf_list_shift
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void _bdf_list_shift( _bdf_list_t*   list,\n                   unsigned
      long  n )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - list
    - c
    - alen
    argTypes:
    - _bdf_list_t*
    - int
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 401
    functionName: _bdf_list_join
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  _bdf_list_join( _bdf_list_t*    list,\n                  int
      \            c,\n                  unsigned long  *alen )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:442,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:447,1
    - Dst: setsbit
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:457,1
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:465,1
    - Dst: _bdf_list_ensure
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:471,1
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:485,1
    - Dst: _bdf_list_ensure
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:500,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 55
    argCount: 4
    argNames:
    - list
    - separators
    - line
    - linelen
    argTypes:
    - _bdf_list_t*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 512
    functionName: _bdf_list_split
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - _bdf_list_ensure
    - FT_THROW
    - sbitset
    - FT_MEM_ZERO
    - setsbit
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_list_split( _bdf_list_t*   list,\n                   const
      char*    separators,\n                   char*          line,\n                   unsigned
      long  linelen )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:535,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:542,1
    - Dst: FT_Stream_TryRead
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:559,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:597,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:598,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:603,1
    - Dst: FT_MEM_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:613,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:655,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 83
    argCount: 4
    argNames:
    - stream
    - callback
    - client_data
    - lno
    argTypes:
    - FT_Stream
    - _bdf_line_func_t
    - void*
    - unsigned long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 657
    functionName: _bdf_readstream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_RENEW_ARRAY
    - FT_Stream_TryRead
    - FT_THROW
    - FT_FREE
    - FT_MEM_MOVE
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_readstream( FT_Stream         stream,\n                   _bdf_line_func_t
      \ callback,\n                   void*             client_data,\n                   unsigned
      long    *lno )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:704,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 716
    functionName: _bdf_atoul
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - sbitset
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long _bdf_atoul( const char*  s )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:737,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 749
    functionName: _bdf_atol
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - sbitset
    linkageType: ''
    returnType: long
    signature: long _bdf_atol( const char*  s )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:762,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 774
    functionName: _bdf_atous
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - sbitset
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short _bdf_atous( const char*  s )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 807
    functionName: _bdf_atos
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - sbitset
    linkageType: ''
    returnType: short
    signature: short _bdf_atos( const char*  s )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 828
    functionName: by_encoding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int by_encoding( const void*  a,\n               const void*  b )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:845,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:848,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:854,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:856,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:858,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:860,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:863,1
    - Dst: ft_hash_str_insert
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:870,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - name
    - format
    - font
    argTypes:
    - char*
    - int
    - bdf_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 831
    functionDepth: 4
    functionLinenumber: 831
    functionLinenumberEnd: 878
    functionName: bdf_create_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_NEW_ARRAY
    - FT_RENEW_ARRAY
    - ft_hash_str_lookup
    - ft_strlen
    - FT_THROW
    - FT_ZERO
    - ft_hash_str_insert
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error bdf_create_property( const char*  name,\n                       int
      \         format,\n                       bdf_font_t*  font )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - name
    - font
    argTypes:
    - char*
    - bdf_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 882
    functionDepth: 3
    functionLinenumber: 882
    functionLinenumberEnd: 898
    functionName: bdf_get_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - ft_hash_str_lookup
    linkageType: ''
    returnType: void
    signature: "void bdf_get_property( char*        name,\n                    bdf_font_t*
      \ font )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:946,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - font
    - comment
    - len
    argTypes:
    - bdf_font_t*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 960
    functionName: _bdf_add_comment
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_add_comment( bdf_font_t*    font,\n                    char*
      \         comment,\n                    unsigned long  len )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:976,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:981,1
    - Dst: _bdf_list_init
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:987,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:991,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:995,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:996,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1000,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1002,1
    - Dst: _bdf_list_done
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1026,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 3
    argNames:
    - font
    - opts
    - lineno
    argTypes:
    - bdf_font_t*
    - bdf_options_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 1030
    functionName: _bdf_set_default_spacing
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - _bdf_list_init
    - FT_MEM_COPY
    - ft_strlen
    - _bdf_list_done
    - FT_THROW
    - FT_UNUSED
    - _bdf_list_split
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_set_default_spacing( bdf_font_t*     font,\n                            bdf_options_t*
      \ opts,\n                            unsigned long   lineno )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: bdf_get_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1059,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 28
    argCount: 5
    argNames:
    - line
    - linelen
    - name
    - value
    - font
    argTypes:
    - char*
    - unsigned long
    - char**
    - char**
    - bdf_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1035
    functionDepth: 4
    functionLinenumber: 1035
    functionLinenumberEnd: 1096
    functionName: _bdf_is_atom
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - bdf_get_property
    linkageType: ''
    returnType: int
    signature: "int _bdf_is_atom( char*          line,\n                unsigned long
      \ linelen,\n                char**         name,\n                char**         value,\n
      \               bdf_font_t*    font )"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1110,1
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1114,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1125,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1129,1
    - Dst: _bdf_atol
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1135,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1139,1
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1151,1
    - Dst: bdf_create_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1154,1
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1157,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1165,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1170,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1177,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1198,1
    - Dst: _bdf_atol
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1204,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1208,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1214,1
    - Dst: ft_hash_str_insert
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1217,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1232,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1234,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1236,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1238,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1242,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1243,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 100
    argCount: 4
    argNames:
    - font
    - name
    - value
    - lineno
    argTypes:
    - bdf_font_t*
    - char*
    - char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1099
    functionDepth: 5
    functionLinenumber: 1099
    functionLinenumberEnd: 1257
    functionName: _bdf_add_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_RENEW_ARRAY
    - ft_hash_str_lookup
    - bdf_create_property
    - _bdf_atoul
    - _bdf_atol
    - _bdf_strncmp
    - FT_THROW
    - FT_ZERO
    - FT_FREE
    - ft_hash_str_insert
    - FT_ERROR
    - FT_UNUSED
    - FT_STRDUP
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_add_property( bdf_font_t*    font,\n                     const
      char*    name,\n                     char*          value,\n                     unsigned
      long  lineno )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1275,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1276,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1277,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1278,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - line
    - linelen
    - lineno
    - call_data
    - client_data
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1282
    functionName: _bdf_parse_end
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_parse_end( char*          line,\n                  unsigned
      long  linelen,\n                  unsigned long  lineno,\n                  void*
      \         call_data,\n                  void*          client_data )"
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1306,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1316,1
    - Dst: _bdf_add_comment
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1326,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1333,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1335,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1336,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1340,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1343,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1349,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1360,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1361,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1365,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1374,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1379,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1380,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1385,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1397,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1413,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1418,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1419,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1425,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1427,1
    - Dst: _bdf_list_shift
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1431,1
    - Dst: _bdf_list_join
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1433,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1437,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1438,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1442,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1445,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1449,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1455,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1460,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1461,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1465,1
    - Dst: _bdf_atol
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1469,1
    - Dst: _bdf_atol
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1478,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1483,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1491,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1515,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1534,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1567,1
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1582,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1594,1
    - Dst: sbitset
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1605,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1608,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1617,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1619,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1623,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1630,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1632,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1636,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1642,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1644,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1655,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1657,1
    - Dst: _bdf_atous
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1661,1
    - Dst: _bdf_atous
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1662,1
    - Dst: _bdf_atos
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1663,1
    - Dst: _bdf_atos
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1664,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1672,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1673,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1677,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1678,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1679,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1685,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1694,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1713,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1721,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1722,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1732,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1733,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1739,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1748,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1749,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1754,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1755,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1759,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 283
    argCount: 5
    argNames:
    - line
    - linelen
    - lineno
    - call_data
    - client_data
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1762
    functionName: _bdf_parse_glyphs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - _bdf_list_shift
    - FT_NEW_ARRAY
    - _bdf_atos
    - FT_RENEW_ARRAY
    - _bdf_add_comment
    - FT_THROW
    - FT_MAX
    - _bdf_list_join
    - FT_UNUSED
    - _bdf_atous
    - ft_qsort
    - _bdf_atoul
    - FT_FREE
    - FT_TRACE2
    - FT_MulDiv
    - _bdf_list_split
    - FT_MIN
    - _bdf_atol
    - _bdf_strncmp
    - sbitset
    - FT_TRACE4
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_parse_glyphs( char*          line,\n                     unsigned
      long  linelen,\n                     unsigned long  lineno,\n                     void*
      \         call_data,\n                     void*          client_data )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1781,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1788,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1796,1
    - Dst: ft_sprintf
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1799,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1800,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1805,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1808,1
    - Dst: ft_sprintf
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1811,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1812,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1817,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1827,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1832,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1838,1
    - Dst: _bdf_is_atom
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1842,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1844,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1850,1
    - Dst: _bdf_list_shift
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1855,1
    - Dst: _bdf_list_join
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1856,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1858,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 5
    argNames:
    - line
    - linelen
    - lineno
    - call_data
    - client_data
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1766
    functionDepth: 6
    functionLinenumber: 1766
    functionLinenumberEnd: 1865
    functionName: _bdf_parse_properties
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - _bdf_add_property
    - _bdf_is_atom
    - _bdf_strncmp
    - bdf_get_font_property
    - FT_TRACE2
    - _bdf_list_join
    - ft_sprintf
    - _bdf_list_split
    - _bdf_list_shift
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_parse_properties( char*          line,\n                         unsigned
      long  linelen,\n                         unsigned long  lineno,\n                         void*
      \         call_data,\n                         void*          client_data )"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1885,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1896,1
    - Dst: _bdf_add_comment
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1909,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1922,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1926,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1933,1
    - Dst: ft_hash_str_init
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1945,1
    - Dst: ft_hash_str_insert
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1951,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1958,1
    - Dst: ft_hash_str_init
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1960,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1970,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1975,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1976,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1980,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1985,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1991,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1992,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:1996,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2009,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2014,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2015,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2019,1
    - Dst: _bdf_atous
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2023,1
    - Dst: _bdf_atous
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2024,1
    - Dst: _bdf_atos
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2026,1
    - Dst: _bdf_atos
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2027,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2040,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2042,1
    - Dst: _bdf_list_shift
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2045,1
    - Dst: _bdf_list_join
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2047,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2051,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2052,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2057,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2059,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2061,1
    - Dst: _bdf_set_default_spacing
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2065,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2075,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2080,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2081,1
    - Dst: _bdf_list_split
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2085,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2089,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2090,1
    - Dst: _bdf_atoul
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2091,1
    - Dst: _bdf_atos
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2099,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2112,1
    - Dst: _bdf_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2123,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2131,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2132,1
    - Dst: ft_sprintf
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2139,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2140,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2144,1
    - Dst: ft_sprintf
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2147,1
    - Dst: _bdf_add_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2148,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2152,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2161,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2162,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 198
    argCount: 5
    argNames:
    - line
    - linelen
    - lineno
    - call_data
    - client_data
    argTypes:
    - char*
    - unsigned long
    - unsigned long
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2166
      start: 1869
    functionDepth: 6
    functionLinenumber: 1869
    functionLinenumberEnd: 2166
    functionName: _bdf_parse_start
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - ft_hash_str_init
    - _bdf_list_shift
    - FT_NEW_ARRAY
    - _bdf_atos
    - _bdf_add_comment
    - FT_ALLOC
    - FT_THROW
    - _bdf_list_join
    - FT_UNUSED
    - _bdf_add_property
    - _bdf_atous
    - _bdf_atoul
    - FT_FREE
    - FT_TRACE2
    - ft_sprintf
    - _bdf_list_split
    - _bdf_strncmp
    - _bdf_set_default_spacing
    - ft_hash_str_insert
    - FT_NEW
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error _bdf_parse_start( char*          line,\n                    unsigned
      long  linelen,\n                    unsigned long  lineno,\n                    void*
      \         call_data,\n                    void*          client_data )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2189,1
    - Dst: _bdf_list_init
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2198,1
    - Dst: _bdf_readstream
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2200,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2217,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2228,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2235,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2242,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2249,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2257,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2263,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2273,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2274,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2280,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2281,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2293,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2302,1
    - Dst: _bdf_list_done
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2309,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2313,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2314,1
    - Dst: bdf_free_font
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2320,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2324,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 4
    argNames:
    - stream
    - extmemory
    - opts
    - font
    argTypes:
    - FT_Stream
    - FT_Memory
    - bdf_options_t*
    - bdf_font_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2327
      start: 2177
    functionDepth: 3
    functionLinenumber: 2177
    functionLinenumberEnd: 2327
    functionName: bdf_load_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 0
    functionsReached:
    - _bdf_list_init
    - FT_RENEW_ARRAY
    - _bdf_list_done
    - bdf_free_font
    - FT_THROW
    - FT_FREE
    - FT_TRACE2
    - FT_NEW
    - _bdf_readstream
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void bdf_load_font( FT_Stream       stream,\n                 FT_Memory
      \      extmemory,\n                 bdf_options_t*  opts,\n                 bdf_font_t*
      \   *font )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2344,1
    - Dst: ft_hash_str_free
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2349,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2350,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2354,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2360,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2363,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2369,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2370,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2376,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2377,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2380,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2381,1
    - Dst: ft_hash_str_free
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2384,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2390,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2392,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2395,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 1
    argNames:
    - font
    argTypes:
    - bdf_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2398
      start: 2331
    functionDepth: 2
    functionLinenumber: 2331
    functionLinenumberEnd: 2398
    functionName: bdf_free_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 1
    functionsReached:
    - ft_hash_str_free
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void bdf_free_font( bdf_font_t*  font )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ft_hash_str_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c:2411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - font
    - name
    argTypes:
    - bdf_font_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2402
    functionDepth: 3
    functionLinenumber: 2402
    functionLinenumberEnd: 2414
    functionName: bdf_get_font_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdflib.c
    functionUses: 1
    functionsReached:
    - ft_hash_str_lookup
    linkageType: ''
    returnType: void
    signature: "void bdf_get_font_property( bdf_font_t*  font,\n                         const
      char*  name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: BDF_encoding_el_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER BDF_encoding_el_
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:68,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bdfcmap
    - init_data
    argTypes:
    - FT_CMap
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: bdf_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void bdf_cmap_init( FT_CMap     bdfcmap,\n                 FT_Pointer
      \ init_data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - bdfcmap
    argTypes:
    - FT_CMap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: bdf_cmap_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bdf_cmap_done( FT_CMap  bdfcmap )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - bdfcmap
    - charcode
    argTypes:
    - FT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 132
    functionName: bdf_cmap_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bdf_cmap_char_index( FT_CMap    bdfcmap,\n                       FT_UInt32
      \ charcode )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:187,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - bdfcmap
    - acharcode
    argTypes:
    - FT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 194
    functionName: bdf_cmap_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void bdf_cmap_char_next( FT_CMap     bdfcmap,\n                      FT_UInt32
      \ *acharcode )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:214,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:225,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:237,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:246,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:252,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:263,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:271,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:279,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:298,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 50
    argCount: 1
    argNames:
    - bdf
    argTypes:
    - BDF_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 318
    functionName: bdf_interpret_style
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - FT_FACE
    - ft_strlen
    - FT_ALLOC
    - bdf_get_font_property
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error bdf_interpret_style( BDF_Face  bdf )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:331,1
    - Dst: bdf_free_font
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:333,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:335,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:337,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:338,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:339,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:340,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:342,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bdfface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 345
    functionName: BDF_Face_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - bdf_free_font
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void BDF_Face_Done( FT_Face  bdfface )
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:357,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:362,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:363,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:366,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:368,1
    - Dst: bdf_load_font
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:376,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:377,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:379,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:396,1
    - Dst: BDF_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:397,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:398,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:405,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:408,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:418,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:428,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:431,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:437,1
    - Dst: bdf_interpret_style
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:437,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:445,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:454,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:460,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:466,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:472,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:477,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:483,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:487,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:492,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:495,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:500,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:507,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:511,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:511,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:520,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:532,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:537,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:542,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:546,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:549,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:558,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:563,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:567,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:570,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:579,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:584,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:588,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:595,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:598,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:611,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:618,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:626,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:639,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:641,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:652,1
    - Dst: FT_STRDUP
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:654,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:666,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:667,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:668,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:671,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:672,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:680,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:693,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:706,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:711,1
    - Dst: BDF_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:724,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:725,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 197
    argCount: 5
    argNames:
    - stream
    - bdfface
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 726
    functionName: BDF_Face_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - FT_ZERO
    - FT_NEW_ARRAY
    - FT_CMap_New
    - ft_strcmp
    - bdf_load_font
    - FT_STREAM_SEEK
    - FT_FACE_MEMORY
    - BDF_Face_Done
    - FT_THROW
    - FT_ERR_EQ
    - FT_TRACE0
    - FT_UNUSED
    - FT_TRACE1
    - FT_TRACE2
    - FT_MulDiv
    - FT_SET_ERROR
    - FT_STRDUP
    - FT_ABS
    - bdf_get_font_property
    - bdf_interpret_style
    - FT_TRACE4
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void BDF_Face_Init( FT_Stream      stream,\n                 FT_Face
      \       bdfface,        /* BDF_Face */\n                 FT_Int         face_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 743
    functionName: BDF_Size_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_Select_Metrics
    linkageType: ''
    returnType: void
    signature: "void BDF_Size_Select( FT_Size   size,\n                   FT_ULong
      \ strike_index )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:753,1
    - Dst: FT_REQUEST_HEIGHT
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:757,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:774,1
    - Dst: BDF_Size_Select
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 782
    functionName: BDF_Size_Request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - BDF_Size_Select
    - FT_REQUEST_HEIGHT
    linkageType: ''
    returnType: void
    signature: "void BDF_Size_Request( FT_Size          size,\n                    FT_Size_Request
      \ req )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIZE_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:792,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:793,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:799,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:804,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:810,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:814,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:828,1
    - Dst: ft_glyphslot_set_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:834,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:867,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 4
    argNames:
    - slot
    - size
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 872
    functionName: BDF_Glyph_Load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_FACE
    - ft_synthesize_vertical_metrics
    - FT_SIZE_FACE
    - ft_glyphslot_set_bitmap
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void BDF_Glyph_Load( FT_GlyphSlot  slot,\n                  FT_Size
      \      size,\n                  FT_UInt       glyph_index,\n                  FT_Int32
      \     load_flags )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:889,1
    - Dst: bdf_get_font_property
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:891,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:904,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:914,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:928,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - face
    - prop_name
    - aproperty
    argTypes:
    - BDF_Face
    - char*
    - BDF_PropertyRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 881
    functionDepth: 4
    functionLinenumber: 881
    functionLinenumberEnd: 929
    functionName: bdf_get_bdf_property
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ASSERT
    - bdf_get_font_property
    - FT_TRACE1
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error bdf_get_bdf_property( BDF_Face          face,\n                        const
      char*       prop_name,\n                        BDF_PropertyRec  *aproperty
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - face
    - acharset_encoding
    - acharset_registry
    argTypes:
    - BDF_Face
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 941
    functionName: bdf_get_charset_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error bdf_get_charset_id( BDF_Face      face,\n                      const
      char*  *acharset_encoding,\n                      const char*  *acharset_registry
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:969,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - name
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 972
    functionName: bdf_driver_requester
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdfdrivr.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void bdf_driver_requester( FT_Module    module,\n                        const
      char*  name )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: _bdf_glyph_modified
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _bdf_glyph_modified( map, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: _bdf_set_glyph_modified
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _bdf_set_glyph_modified( map, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: _bdf_clear_glyph_modified
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/bdf/bdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _bdf_clear_glyph_modified( map, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 38
    functionName: WinMZ_HeaderRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER WinMZ_HeaderRec_
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:191,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:192,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:200,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:201,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - face
    argTypes:
    - FNT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 205
    functionName: fnt_font_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_FREE
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: void fnt_font_done( FNT_Face face )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:219,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:220,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:227,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:228,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:232,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:237,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:238,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:255,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:256,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:261,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:262,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - font
    - stream
    argTypes:
    - FNT_Font
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 267
    functionName: fnt_font_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_STREAM_SEEK
    - FT_BOOL
    - FT_FRAME_EXTRACT
    - FT_THROW
    - FT_TRACE2
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error fnt_font_load( FNT_Font   font,\n                 FT_Stream
      \ stream )"
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:275,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:276,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:283,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:286,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:287,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:290,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:297,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:299,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:300,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:303,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:314,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:316,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:317,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:321,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:332,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:333,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:343,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:347,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:352,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:360,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:364,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:365,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:373,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:374,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:385,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:389,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:392,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:393,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:396,1
    - Dst: FT_GET_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:397,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:401,1
    - Dst: fnt_font_load
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:403,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:417,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:419,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:420,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:423,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:438,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:439,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:447,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:451,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:461,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:462,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:466,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:468,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:469,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:477,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:478,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:484,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:493,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:495,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:501,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:502,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:508,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:517,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:519,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:525,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:526,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:532,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:538,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:539,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:543,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:553,1
    - Dst: fnt_font_load
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:561,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:564,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:569,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:582,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:583,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:589,1
    - Dst: fnt_font_done
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:596,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 185
    argCount: 2
    argNames:
    - face
    - face_instance_index
    argTypes:
    - FNT_Face
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 600
    functionName: fnt_face_get_dll_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_GET_USHORT_LE
    - FT_FRAME_ENTER
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_EXIT
    - FT_FACE
    - fnt_font_load
    - FT_STREAM_SEEK
    - FT_ABS
    - fnt_font_done
    - FT_THROW
    - FT_TRACE2
    - FT_STREAM_POS
    - FT_NEW
    - FT_ERR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error fnt_face_get_dll_font( FNT_Face  face,\n                         FT_Int
      \   face_instance_index )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:616,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cmap
    - pointer
    argTypes:
    - FNT_CMap
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 626
    functionName: fnt_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error fnt_cmap_init( FNT_CMap    cmap,\n                 FT_Pointer
      \ pointer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - FNT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 642
    functionName: fnt_cmap_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt fnt_cmap_char_index( FNT_CMap   cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - FNT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 671
    functionName: fnt_cmap_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 fnt_cmap_char_next( FNT_CMap    cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:699,1
    - Dst: fnt_font_done
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:701,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fntface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 705
    functionName: FNT_Face_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - fnt_font_done
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void FNT_Face_Done( FT_Face  fntface )
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:717,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:720,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:721,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:724,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:726,1
    - Dst: fnt_face_get_dll_font
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:729,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:733,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:738,1
    - Dst: fnt_font_load
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:747,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:755,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:765,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:766,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:773,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:793,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:816,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:817,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:829,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:832,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:835,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:836,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:856,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:868,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:869,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:879,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:880,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:888,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:891,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:897,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:899,1
    - Dst: FNT_Face_Done
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:918,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 5
    argNames:
    - stream
    - fntface
    - face_instance_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 708
    functionDepth: 3
    functionLinenumber: 708
    functionLinenumberEnd: 922
    functionName: FNT_Face_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_FACE
    - fnt_font_load
    - ft_strlen
    - FT_PIX_ROUND
    - FT_NEW_ARRAY
    - FT_CMap_New
    - FT_ALLOC
    - FT_FACE_MEMORY
    - FT_THROW
    - FT_ERR_EQ
    - FT_UNUSED
    - FT_TRACE2
    - FT_MulDiv
    - FT_ABS
    - fnt_face_get_dll_font
    - FT_NEW
    - FT_REALLOC
    - FNT_Face_Done
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FNT_Face_Init( FT_Stream      stream,\n                 FT_Face
      \       fntface,        /* FNT_Face */\n                 FT_Int         face_instance_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:932,1
    - Dst: FT_Select_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - size
    - strike_index
    argTypes:
    - FT_Size
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 943
    functionName: FNT_Size_Select
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_Select_Metrics
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FNT_Size_Select( FT_Size   size,\n                   FT_ULong
      \ strike_index )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:953,1
    - Dst: FT_REQUEST_HEIGHT
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:957,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:973,1
    - Dst: FNT_Size_Select
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:980,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 946
    functionDepth: 4
    functionLinenumber: 946
    functionLinenumberEnd: 981
    functionName: FNT_Size_Request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERR
    - FNT_Size_Select
    - FT_REQUEST_HEIGHT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FNT_Size_Request( FT_Size          size,\n                    FT_Size_Request
      \ req )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_SIZE_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:990,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1002,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1009,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1011,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1015,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1022,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1030,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1031,1
    - Dst: FT_NEXT_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1037,1
    - Dst: FT_NEXT_ULONG_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1041,1
    - Dst: FT_NEXT_USHORT_LE
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1043,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1047,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1048,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1066,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1077,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1087,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1088,1
    - Dst: FT_ALLOC_MULT
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1094,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 4
    argNames:
    - slot
    - size
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1113
    functionName: FNT_Load_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FT_FACE
    - ft_synthesize_vertical_metrics
    - FT_BOOL
    - FT_SIZE_FACE
    - FT_FACE_MEMORY
    - FT_THROW
    - FT_ALLOC_MULT
    - FT_TRACE2
    - FT_NEXT_USHORT_LE
    - FT_NEXT_ULONG_LE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error FNT_Load_Glyph( FT_GlyphSlot  slot,\n                  FT_Size
      \      size,\n                  FT_UInt       glyph_index,\n                  FT_Int32
      \     load_flags )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - aheader
    argTypes:
    - FT_Face
    - FT_WinFNT_HeaderRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1126
    functionName: winfnt_get_header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error winfnt_get_header( FT_Face               face,\n                     FT_WinFNT_HeaderRec
      \ *aheader )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1151,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - service_id
    argTypes:
    - FT_Module
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1154
    functionName: winfnt_get_service
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/winfonts/winfnt.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Module_Interface
    signature: "FT_Module_Interface winfnt_get_service( FT_Module         module,\n
      \                     const FT_String*  service_id )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:68,1
    - Dst: PSAux_Service::ps_parser_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:69,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:73,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:76,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:79,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:82,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:83,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:86,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:119,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:124,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:126,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:127,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:138,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:145,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:154,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:155,1
    - Dst: FT_MEM_MOVE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:159,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:176,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:177,1
    - Dst: cid_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:193,1
    - Dst: cid_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:194,1
    - Dst: cid_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:196,1
    - Dst: cid_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:197,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:212,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:214,1
    - Dst: ft_strtol
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:216,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:221,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:222,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:231,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:233,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:234,1
    - Dst: cid_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:238,1
    - Dst: cid_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:239,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:247,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:248,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 106
    argCount: 4
    argNames:
    - parser
    - stream
    - memory
    - psaux
    argTypes:
    - CID_Parser*
    - FT_Stream
    - FT_Memory
    - PSAux_Service
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 253
    functionName: cid_parser_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_MIN
    - FT_STREAM_READ
    - cid_parser_skip_PS_token
    - cid_parser_skip_spaces
    - ft_strncmp
    - FT_STREAM_SEEK
    - FT_FRAME_EXTRACT
    - ft_strtol
    - FT_THROW
    - FT_ZERO
    - PSAux_Service::ps_parser_funcs::init
    - FT_TRACE2
    - FT_STREAM_POS
    - FT_FRAME_RELEASE
    - FT_MEM_MOVE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cid_parser_new( CID_Parser*    parser,\n                  FT_Stream
      \     stream,\n                  FT_Memory      memory,\n                  PSAux_Service
      \ psaux )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:271,1
    - Dst: CID_Parser*::root::funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parser
    argTypes:
    - CID_Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 274
    functionName: cid_parser_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - CID_Parser*::root::funcs::done
    linkageType: ''
    returnType: void
    signature: void cid_parser_done( CID_Parser*  parser )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 84
    functionName: CID_Parser_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CID_Parser_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: cid_parser_skip_spaces
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_skip_spaces( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: cid_parser_skip_PS_token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_skip_PS_token( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: cid_parser_to_int
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_int( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: cid_parser_to_fixed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_fixed( p, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: cid_parser_to_coord_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_coord_array( p, m, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - m
    - ','
    - f
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: cid_parser_to_fixed_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_fixed_array( p, m, f, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: cid_parser_to_token
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_token( p, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - p
    - ','
    - t
    - ','
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: cid_parser_to_token_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_to_token_array( p, t, m, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: cid_parser_load_field
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_load_field( p, f, o )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - f
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: cid_parser_load_field_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidparse.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cid_parser_load_field_table( p, f, o )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - start
    - offsize
    argTypes:
    - FT_Byte**
    - FT_Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 58
    functionName: cid_get_offset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cid_get_offset( FT_Byte*  *start,\n                  FT_Byte
      \   offsize )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:85,1
    - Dst: T1_Field::reader
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:87,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:118,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:120,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:137,1
    - Dst: cid_parser_load_field_table
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:144,1
    - Dst: cid_parser_load_field
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:147,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 3
    argNames:
    - face
    - loader
    - keyword
    argTypes:
    - CID_Face
    - CID_Loader*
    - T1_Field
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 154
    functionName: cid_load_keyword
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - T1_Field::reader
    - cid_parser_load_field
    - FT_THROW
    - FT_TRACE4
    - cid_parser_load_field_table
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_load_keyword( CID_Face        face,\n                    CID_Loader*
      \    loader,\n                    const T1_Field  keyword )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_to_fixed_array
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:179,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:183,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:187,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:195,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:199,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:207,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:209,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:210,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:211,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:212,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:213,1
    - Dst: FT_Matrix_Check
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:222,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:224,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:225,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 2
    argNames:
    - face
    - parser
    argTypes:
    - CID_Face
    - CID_Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 236
    functionName: cid_parse_font_matrix
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    - cid_parser_to_fixed_array
    - FT_THROW
    - FT_Matrix_Check
    - FT_TRACE4
    - FT_DivFix
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void cid_parse_font_matrix( CID_Face     face,\n                         CID_Parser*
      \ parser )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_to_int
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:250,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:253,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:257,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:277,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:289,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - face
    - parser
    argTypes:
    - CID_Face
    - CID_Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 311
    functionName: parse_fd_array
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - cid_parser_to_int
    - FT_TRACE4
    - FT_TRACE0
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void parse_fd_array( CID_Face     face,\n                  CID_Parser*
      \ parser )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_to_fixed
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:329,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - face
    - parser
    argTypes:
    - CID_Face
    - CID_Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 336
    functionName: parse_expansion_factor
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - cid_parser_to_fixed
    - FT_TRACE4
    linkageType: ''
    returnType: void
    signature: "void parse_expansion_factor( CID_Face     face,\n                          CID_Parser*
      \ parser )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_to_token
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:354,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:358,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:360,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:363,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - face
    - parser
    argTypes:
    - CID_Face
    - CID_Parser*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 368
    functionName: parse_font_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    - FT_UNUSED
    - cid_parser_to_token
    linkageType: ''
    returnType: void
    signature: "void parse_font_name( CID_Face     face,\n                   CID_Parser*
      \ parser )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_skip_spaces
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:410,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:421,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:430,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:432,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:433,1
    - Dst: cid_parser_skip_PS_token
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:444,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:473,1
    - Dst: cid_load_keyword
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:485,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:503,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:504,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 58
    argCount: 4
    argNames:
    - face
    - loader
    - base
    - size
    argTypes:
    - CID_Face
    - CID_Loader*
    - FT_Byte*
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 509
    functionName: cid_parse_dict
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - cid_parser_skip_PS_token
    - ft_strlen
    - cid_parser_skip_spaces
    - ft_strncmp
    - FT_THROW
    - FT_TRACE4
    - cid_load_keyword
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_parse_dict( CID_Face     face,\n                  CID_Loader*
      \ loader,\n                  FT_Byte*     base,\n                  FT_ULong
      \    size )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:527,1
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:546,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:551,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:555,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:562,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:563,1
    - Dst: cid_get_offset
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:568,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:570,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:576,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:577,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:583,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:584,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:592,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:593,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:596,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:597,1
    - Dst: PSAux_Service::t1_decrypt
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:619,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:627,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:636,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:638,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:640,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 74
    argCount: 1
    argNames:
    - face
    argTypes:
    - CID_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 643
    functionName: cid_read_subrs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_NEW_ARRAY
    - FT_FRAME_ENTER
    - FT_RENEW_ARRAY
    - FT_STREAM_READ
    - FT_PAD_CEIL
    - FT_ALLOC
    - cid_get_offset
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_FREE
    - PSAux_Service::t1_decrypt
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error cid_read_subrs( CID_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:650,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - loader
    - face
    argTypes:
    - CID_Loader*
    - CID_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 653
    functionName: cid_init_loader
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_ZERO
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cid_init_loader( CID_Loader*  loader,\n                   CID_Face
      \    face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cid_parser_done
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - loader
    argTypes:
    - CID_Loader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 664
    functionName: cid_done_loader
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - cid_parser_done
    linkageType: ''
    returnType: void
    signature: void cid_done_loader( CID_Loader*  loader )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:684,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:699,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:705,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:709,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:712,1
    - Dst: ft_isdigit
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:715,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:738,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 55
    argCount: 4
    argNames:
    - data
    - data_len
    - offset
    - face
    argTypes:
    - FT_Byte*
    - FT_ULong
    - FT_ULong
    - CID_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 762
    functionName: cid_hex_to_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ
    - FT_STREAM_SEEK
    - ft_isdigit
    - FT_THROW
    - FT_STREAM_POS
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_hex_to_binary( FT_Byte*  data,\n                     FT_ULong
      \ data_len,\n                     FT_ULong  offset,\n                     CID_Face
      \ face )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cid_init_loader
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:781,1
    - Dst: cid_parser_new
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:784,1
    - Dst: cid_parse_dict
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:789,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:798,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:806,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:815,1
    - Dst: FT_SET_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:816,1
    - Dst: cid_hex_to_binary
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:816,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:822,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:836,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:838,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:845,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:849,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:865,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:874,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:883,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:884,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:890,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:893,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:899,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:900,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:910,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:911,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:918,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:919,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:927,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:928,1
    - Dst: cid_read_subrs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:933,1
    - Dst: cid_done_loader
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidload.c:936,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 96
    argCount: 2
    argNames:
    - face
    - face_index
    argTypes:
    - CID_Face
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 766
    functionDepth: 3
    functionLinenumber: 766
    functionLinenumberEnd: 938
    functionName: cid_face_open
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.c
    functionUses: 0
    functionsReached:
    - cid_parser_new
    - FT_ALLOC
    - FT_Stream_OpenMemory
    - cid_parse_dict
    - cid_read_subrs
    - FT_THROW
    - cid_init_loader
    - FT_ERROR
    - FT_TRACE2
    - cid_done_loader
    - FT_SET_ERROR
    - FT_TRACE0
    - FT_NEW
    - cid_hex_to_binary
    linkageType: ''
    returnType: void
    signature: "void cid_face_open( CID_Face  face,\n                 FT_Int    face_index
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 36
    functionName: CID_Loader_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CID_Loader_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: cid_slot_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cid_slot_done( FT_GlyphSlot  slot )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:72,1
    - Dst: PSHinter_Service::get_t1_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:79,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - slot
    argTypes:
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 85
    functionName: cid_slot_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_t1_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: void
    signature: void cid_slot_init( FT_GlyphSlot  slot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:103,1
    - Dst: PSHinter_Service::get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 1
    argNames:
    - size
    argTypes:
    - CID_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 108
    functionName: cid_size_get_globals_funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - PSHinter_Service::get_globals_funcs
    - FT_Get_Module
    linkageType: ''
    returnType: PSH_Globals_Funcs
    signature: PSH_Globals_Funcs cid_size_get_globals_funcs( CID_Size  size )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cid_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:122,1
    - Dst: PSH_Globals_Funcs::destroy
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cidsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 128
    functionName: cid_size_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::destroy
    - cid_size_get_globals_funcs
    linkageType: ''
    returnType: void
    signature: void cid_size_done( FT_Size  cidsize )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cid_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:136,1
    - Dst: PSH_Globals_Funcs::create
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - cidsize
    argTypes:
    - FT_Size
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 153
    functionName: cid_size_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::create
    - cid_size_get_globals_funcs
    linkageType: ''
    returnType: void
    signature: void cid_size_init( FT_Size  cidsize )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Request_Metrics
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:163,1
    - Dst: cid_size_get_globals_funcs
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:165,1
    - Dst: PSH_Globals_Funcs::set_scale
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - req
    argTypes:
    - FT_Size
    - FT_Size_Request
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: cid_size_request
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - PSH_Globals_Funcs::set_scale
    - cid_size_get_globals_funcs
    - FT_Request_Metrics
    linkageType: ''
    returnType: void
    signature: "void cid_size_request( FT_Size          size,\n                    FT_Size_Request
      \ req )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:224,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:225,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:229,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:233,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:234,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:235,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:236,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:237,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:240,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:244,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:245,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:246,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:251,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - cidface
    argTypes:
    - FT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 253
    functionName: cid_face_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void cid_face_done( FT_Face  cidface )
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:296,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:297,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:298,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:306,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:307,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:311,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:312,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:322,1
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:323,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:328,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:331,1
    - Dst: cid_face_open
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:334,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:346,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:347,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:424,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:425,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 94
    argCount: 5
    argNames:
    - stream
    - cidface
    - face_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - FT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 455
    functionName: cid_face_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - FT_Get_Module_Interface
    - cid_face_open
    - ft_strcmp
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_ERROR
    - FT_TRACE2
    - FT_FACE_LIBRARY
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cid_face_init( FT_Stream      stream,\n                 FT_Face
      \       cidface,        /* CID_Face */\n                 FT_Int         face_index,\n
      \                FT_Int         num_params,\n                 FT_Parameter*
      \ params )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 512
    functionName: cid_driver_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cid_driver_init( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - driver
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 531
    functionName: cid_driver_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidobjs.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void cid_driver_done( FT_Module  driver )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:67,1
    - Dst: FT_Incremental_InterfaceRec*::funcs::get_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:78,1
    - Dst: cid_get_offset
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:84,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:89,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:91,1
    - Dst: FT_Incremental_InterfaceRec*::funcs::free_glyph_data
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:95,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:112,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:114,1
    - Dst: cid_get_offset
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:118,1
    - Dst: cid_get_offset
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:119,1
    - Dst: cid_get_offset
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:121,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:122,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:128,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:129,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:136,1
    - Dst: FT_STREAM_READ_AT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:138,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:169,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:170,1
    - Dst: PSAux_Service::t1_decrypt
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:176,1
    - Dst: FT_FACE_DRIVER
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:180,1
    - Dst: PSAux_Service::t1_decoder_funcs::parse_charstrings_old
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:183,1
    - Dst: PSAux_Service::t1_decoder_funcs::parse_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:189,1
    - Dst: PSAux_Service::ps_decoder_init
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:200,1
    - Dst: PSAux_Service::t1_make_subfont
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:202,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:202,1
    - Dst: PSAux_Service::t1_decoder_funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:207,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:214,1
    - Dst: PSAux_Service::t1_decoder_funcs::parse_charstrings
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:223,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 76
    argCount: 2
    argNames:
    - decoder
    - glyph_index
    argTypes:
    - T1_Decoder
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 45
    functionDepth: 3
    functionLinenumber: 45
    functionLinenumberEnd: 229
    functionName: cid_load_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - PSAux_Service::t1_decoder_funcs::parse_metrics
    - FT_Incremental_InterfaceRec*::funcs::get_glyph_data
    - ft_memcpy
    - PSAux_Service::ps_decoder_init
    - FT_ALLOC
    - FT_STREAM_SEEK
    - FT_Incremental_InterfaceRec*::funcs::free_glyph_data
    - PSAux_Service::t1_make_subfont
    - FT_THROW
    - FT_STREAM_READ_AT
    - FT_FACE_DRIVER
    - FT_ERR_EQ
    - FT_TRACE0
    - FT_FRAME_ENTER
    - PSAux_Service::t1_decoder_funcs::parse_charstrings
    - FT_TRACE1
    - cid_get_offset
    - FT_FRAME_EXIT
    - PSAux_Service::t1_decoder_funcs::parse_charstrings_old
    - PSAux_Service::t1_decrypt
    linkageType: ''
    returnType: void
    signature: "void cid_load_glyph( T1_Decoder  decoder,\n                  FT_UInt
      \    glyph_index )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PSAux_Service::t1_decoder_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:298,1
    - Dst: cid_load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:321,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:325,1
    - Dst: PSAux_Service::t1_decoder_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - face
    - max_advance
    argTypes:
    - CID_Face
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 285
    functionDepth: 4
    functionLinenumber: 285
    functionLinenumberEnd: 330
    functionName: cid_face_compute_max_advance
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c
    functionUses: 0
    functionsReached:
    - cid_load_glyph
    - PSAux_Service::t1_decoder_funcs::done
    - PSAux_Service::t1_decoder_funcs::init
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void cid_face_compute_max_advance( CID_Face  face,\n                                FT_Int*
      \  max_advance )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:357,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:370,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:372,1
    - Dst: PSAux_Service::t1_decoder_funcs::init
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:378,1
    - Dst: FT_LOAD_TARGET_MODE
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:385,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:396,1
    - Dst: cid_load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:398,1
    - Dst: PSAux_Service::t1_decoder_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:410,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:428,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:430,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:444,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:446,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:463,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:465,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:467,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:473,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:495,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:496,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:500,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:501,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:505,1
    - Dst: ft_synthesize_vertical_metrics
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:516,1
    - Dst: PSAux_Service::t1_decoder_funcs::done
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c:524,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 4
    argNames:
    - cidglyph
    - cidsize
    - glyph_index
    - load_flags
    argTypes:
    - FT_GlyphSlot
    - FT_Size
    - FT_UInt
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 337
    functionDepth: 4
    functionLinenumber: 337
    functionLinenumberEnd: 527
    functionName: cid_slot_load_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidgload.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Translate
    - PSAux_Service::t1_decoder_funcs::done
    - ft_synthesize_vertical_metrics
    - FT_Outline_Transform
    - FT_Outline_Get_CBox
    - FT_BOOL
    - PSAux_Service::t1_decoder_funcs::init
    - FT_THROW
    - cid_load_glyph
    - FT_MulFix
    - FIXED_TO_INT
    - FT_LOAD_TARGET_MODE
    linkageType: ''
    returnType: void
    signature: "void cid_slot_load_glyph( FT_GlyphSlot  cidglyph,      /* CID_GlyphSlot
      */\n                       FT_Size       cidsize,       /* CID_Size      */\n
      \                      FT_UInt       glyph_index,\n                       FT_Int32
      \     load_flags )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - face
    argTypes:
    - CID_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: cid_get_postscript_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *\n  cid_get_postscript_name( CID_Face  face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_info
    argTypes:
    - FT_Face
    - PS_FontInfoRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: cid_ps_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_ps_get_font_info( FT_Face          face,\n                        PS_FontInfoRec*
      \ afont_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - afont_extra
    argTypes:
    - FT_Face
    - PS_FontExtraRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: cid_ps_get_font_extra
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_ps_get_font_extra( FT_Face          face,\n                        PS_FontExtraRec*
      \ afont_extra )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - face
    - registry
    - ordering
    - supplement
    argTypes:
    - CID_Face
    - char**
    - char**
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 130
    functionName: cid_get_ros
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_get_ros( CID_Face      face,\n               const char*
      \ *registry,\n               const char*  *ordering,\n               FT_Int
      \      *supplement )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c:138,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - face
    - is_cid
    argTypes:
    - CID_Face
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 145
    functionName: cid_get_is_cid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_get_is_cid( CID_Face  face,\n                  FT_Bool
      \ *is_cid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - face
    - glyph_index
    - cid
    argTypes:
    - CID_Face
    - FT_UInt
    - FT_UInt*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 161
    functionName: cid_get_cid_from_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error cid_get_cid_from_glyph_index( CID_Face  face,\n                                FT_UInt
      \  glyph_index,\n                                FT_UInt  *cid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c:207,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - cid_interface
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: cid_get_interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cid/cidriver.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void cid_get_interface( FT_Module    module,\n                     const
      char*  cid_interface )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: psh_hint_is_active
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_is_active( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: psh_hint_is_ghost
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_is_ghost( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: psh_hint_is_fitted
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_is_fitted( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: psh_hint_activate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_activate( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: psh_hint_deactivate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_deactivate( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: psh_hint_set_fitted
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_hint_set_fitted( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d1
    - ','
    - d2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: PSH_DIR_COMPARE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSH_DIR_COMPARE( d1, d2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: PSH_DIR_IS_HORIZONTAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSH_DIR_IS_HORIZONTAL( d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: PSH_DIR_IS_VERTICAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSH_DIR_IS_VERTICAL( d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: psh_point_is_smooth
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_smooth( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: psh_point_is_off
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_off( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: psh_point_is_inflex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_inflex( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: psh_point_set_smooth
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_smooth( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: psh_point_set_off
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_off( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: psh_point_set_inflex
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_inflex( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: psh_point_is_strong
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_strong( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: psh_point_is_fitted
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_fitted( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: psh_point_is_extremum
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_extremum( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: psh_point_is_positive
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_positive( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: psh_point_is_negative
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_negative( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: psh_point_is_edge_min
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_edge_min( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: psh_point_is_edge_max
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_is_edge_max( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: psh_point_set_strong
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_strong( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: psh_point_set_fitted
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_fitted( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: psh_point_set_extremum
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_extremum( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: psh_point_set_positive
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_positive( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: psh_point_set_negative
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_negative( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: psh_point_set_edge_min
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_edge_min( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: psh_point_set_edge_max
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psh_point_set_edge_max( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:56,1
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hint1
    - hint2
    argTypes:
    - PSH_Hint
    - PSH_Hint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: psh_hint_overlap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - ADD_INT
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int psh_hint_overlap( PSH_Hint  hint1,\n                    PSH_Hint
      \ hint2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:66,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:70,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - table
    - memory
    argTypes:
    - PSH_Hint_Table
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 75
    functionName: psh_hint_table_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_done( PSH_Hint_Table  table,\n                       FT_Memory
      \      memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_deactivate
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - table
    argTypes:
    - PSH_Hint_Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 91
    functionName: psh_hint_table_deactivate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_hint_deactivate
    linkageType: ''
    returnType: void
    signature: void psh_hint_table_deactivate( PSH_Hint_Table  table )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:104,1
    - Dst: psh_hint_is_active
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:109,1
    - Dst: psh_hint_activate
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:112,1
    - Dst: psh_hint_overlap
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:127,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - table
    - idx
    argTypes:
    - PSH_Hint_Table
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 139
    functionName: psh_hint_table_record
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - psh_hint_is_active
    - psh_hint_activate
    - psh_hint_overlap
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_record( PSH_Hint_Table  table,\n                         FT_UInt
      \        idx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_table_record
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - table
    - hint_mask
    argTypes:
    - PSH_Hint_Table
    - PS_Mask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 166
    functionName: psh_hint_table_record_mask
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_hint_table_record
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_record_mask( PSH_Hint_Table  table,\n                              PS_Mask
      \        hint_mask )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:180,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:186,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:187,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:188,1
    - Dst: psh_hint_table_record_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:222,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:231,1
    - Dst: psh_hint_table_record
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:235,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 5
    argNames:
    - table
    - hints
    - hint_masks
    - counter_masks
    - memory
    argTypes:
    - PSH_Hint_Table
    - PS_Hint_Table
    - PS_Mask_Table
    - PS_Mask_Table
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 170
    functionDepth: 4
    functionLinenumber: 170
    functionLinenumberEnd: 240
    functionName: psh_hint_table_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - psh_hint_table_record_mask
    - psh_hint_table_record
    - FT_TRACE0
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error psh_hint_table_init( PSH_Hint_Table  table,\n                       PS_Hint_Table
      \  hints,\n                       PS_Mask_Table   hint_masks,\n                       PS_Mask_Table
      \  counter_masks,\n                       FT_Memory       memory )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_table_deactivate
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:255,1
    - Dst: psh_hint_is_active
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:270,1
    - Dst: psh_hint_overlap
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:282,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:283,1
    - Dst: psh_hint_activate
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:292,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:296,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 2
    argNames:
    - table
    - hint_mask
    argTypes:
    - PSH_Hint_Table
    - PS_Mask
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 331
    functionName: psh_hint_table_activate_mask
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_hint_is_active
    - psh_hint_table_deactivate
    - psh_hint_overlap
    - FT_TRACE0
    - psh_hint_activate
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_activate_mask( PSH_Hint_Table  table,\n                                PS_Mask
      \        hint_mask )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:383,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:387,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - dim
    - len
    - do_snapping
    argTypes:
    - PSH_Dimension
    - FT_Pos
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 390
    functionName: psh_dimension_quantize_len
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Pos
    signature: "FT_Pos psh_dimension_quantize_len( PSH_Dimension  dim,\n                              FT_Pos
      \        len,\n                              FT_Bool        do_snapping )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:410,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:411,1
    - Dst: ps_debug_hint_func
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - table
    - scale
    - delta
    - dimension
    argTypes:
    - PSH_Hint_Table
    - FT_Fixed
    - FT_Fixed
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 416
    functionName: ps_simple_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - ps_debug_hint_func
    - FT_MulFix
    linkageType: ''
    returnType: void
    signature: "void ps_simple_scale( PSH_Hint_Table  table,\n                   FT_Fixed
      \       scale,\n                   FT_Fixed        delta,\n                   FT_Int
      \         dimension )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:425,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:426,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:429,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pos
    - len
    argTypes:
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 433
    functionName: psh_hint_snap_stem_side_delta
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    - FT_PIX_ROUND
    linkageType: ''
    returnType: FT_Fixed
    signature: "FT_Fixed psh_hint_snap_stem_side_delta( FT_Fixed  pos,\n                                 FT_Fixed
      \ len )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:447,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:449,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:450,1
    - Dst: psh_hint_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:464,1
    - Dst: psh_blues_snap_stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:481,1
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:482,1
    - Dst: psh_hint_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:516,1
    - Dst: psh_hint_align
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:517,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:526,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:557,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:576,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:577,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:594,1
    - Dst: psh_dimension_quantize_len
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:599,1
    - Dst: psh_hint_snap_stem_side_delta
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:605,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:618,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:639,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:641,1
    - Dst: psh_hint_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:648,1
    - Dst: ps_debug_hint_func
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:652,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 91
    argCount: 4
    argNames:
    - hint
    - globals
    - dimension
    - glyph
    argTypes:
    - PSH_Hint
    - PSH_Globals
    - FT_Int
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 655
    functionName: psh_hint_align
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 1
    functionsReached:
    - ADD_INT
    - psh_hint_set_fitted
    - psh_hint_align
    - FT_PIX_FLOOR
    - psh_hint_snap_stem_side_delta
    - psh_dimension_quantize_len
    - FT_MulFix
    - FT_PIX_ROUND
    - ps_debug_hint_func
    - psh_blues_snap_stem
    - psh_hint_is_fitted
    linkageType: ''
    returnType: void
    signature: "void psh_hint_align( PSH_Hint     hint,\n                  PSH_Globals
      \ globals,\n                  FT_Int       dimension,\n                  PSH_Glyph
      \   glyph )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:675,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:677,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:678,1
    - Dst: psh_hint_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:692,1
    - Dst: psh_blues_snap_stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:705,1
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:706,1
    - Dst: psh_hint_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:740,1
    - Dst: psh_hint_align_light
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:741,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:747,1
    - Dst: psh_hint_snap_stem_side_delta
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:760,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:795,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:796,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:800,1
    - Dst: FT_PIX_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:801,1
    - Dst: psh_hint_snap_stem_side_delta
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:811,1
    - Dst: psh_hint_snap_stem_side_delta
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:815,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:818,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:818,1
    - Dst: psh_hint_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:833,1
    - Dst: ps_debug_hint_func
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:837,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 4
    argNames:
    - hint
    - globals
    - dimension
    - glyph
    argTypes:
    - PSH_Hint
    - PSH_Globals
    - FT_Int
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 664
    functionDepth: 2
    functionLinenumber: 664
    functionLinenumberEnd: 840
    functionName: psh_hint_align_light
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 1
    functionsReached:
    - ADD_INT
    - psh_hint_set_fitted
    - FT_PIX_FLOOR
    - psh_hint_snap_stem_side_delta
    - psh_hint_align_light
    - FT_ABS
    - FT_MulFix
    - FT_PIX_ROUND
    - ps_debug_hint_func
    - psh_blues_snap_stem
    - psh_hint_is_fitted
    linkageType: ''
    returnType: void
    signature: "void psh_hint_align_light( PSH_Hint     hint,\n                        PSH_Globals
      \ globals,\n                        FT_Int       dimension,\n                        PSH_Glyph
      \   glyph )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_simple_scale
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:863,1
    - Dst: ps_simple_scale
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:869,1
    - Dst: psh_hint_align
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:879,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - table
    - globals
    - dimension
    - glyph
    argTypes:
    - PSH_Hint_Table
    - PSH_Globals
    - FT_Int
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 845
    functionDepth: 3
    functionLinenumber: 845
    functionLinenumberEnd: 880
    functionName: psh_hint_table_align_hints
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - ps_simple_scale
    - psh_hint_align
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_align_hints( PSH_Hint_Table  table,\n                              PSH_Globals
      \    globals,\n                              FT_Int          dimension,\n                              PSH_Glyph
      \      glyph )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - PSH_Zone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 906
    functionName: psh_print_zone
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void psh_print_zone( PSH_Zone  zone )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psh_corner_orientation
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:975,1
    - Dst: psh_corner_orientation
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1002,1
    - Dst: psh_point_set_inflex
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1010,1
    - Dst: psh_point_set_inflex
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1015,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 1029
    functionName: psh_glyph_compute_inflections
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_corner_orientation
    - psh_point_set_inflex
    linkageType: ''
    returnType: void
    signature: void psh_glyph_compute_inflections( PSH_Glyph  glyph )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psh_hint_table_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1040,1
    - Dst: psh_hint_table_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1041,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1043,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1050
    functionName: psh_glyph_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_hint_table_done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void psh_glyph_done( PSH_Glyph  glyph )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1061,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - FT_Pos
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1053
    functionDepth: 0
    functionLinenumber: 1053
    functionLinenumberEnd: 1076
    functionName: psh_compute_dir
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    linkageType: ''
    returnType: int
    signature: "int psh_compute_dir( FT_Pos  dx,\n                   FT_Pos  dy )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1110
    functionName: psh_glyph_load_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_load_points( PSH_Glyph  glyph,\n                         FT_Int
      \    dimension )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1131,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1151
    functionName: psh_glyph_save_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_point_is_strong
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_save_points( PSH_Glyph  glyph,\n                         FT_Int
      \    dimension )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1165,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1170,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1171,1
    - Dst: psh_compute_dir
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1237,1
    - Dst: psh_compute_dir
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1242,1
    - Dst: psh_corner_is_flat
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1251,1
    - Dst: psh_glyph_load_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1261,1
    - Dst: psh_glyph_compute_inflections
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1262,1
    - Dst: psh_hint_table_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1266,1
    - Dst: psh_hint_table_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1274,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - glyph
    - outline
    - ps_hints
    - globals
    argTypes:
    - PSH_Glyph
    - FT_Outline*
    - PS_Hints
    - PSH_Globals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1284
    functionName: psh_glyph_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - psh_compute_dir
    - psh_hint_table_init
    - psh_corner_is_flat
    - psh_glyph_load_points
    - FT_ZERO
    - psh_glyph_compute_inflections
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error psh_glyph_init( PSH_Glyph    glyph,\n                  FT_Outline*
      \ outline,\n                  PS_Hints     ps_hints,\n                  PSH_Globals
      \ globals )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_set_extremum
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1344,1
    - Dst: psh_point_is_extremum
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1371,1
    - Dst: psh_point_set_positive
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1393,1
    - Dst: psh_point_set_negative
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1398,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 71
    argCount: 1
    argNames:
    - glyph
    argTypes:
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1404
    functionName: psh_glyph_compute_extrema
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_point_set_extremum
    - psh_point_set_positive
    - psh_point_is_extremum
    - psh_point_set_negative
    linkageType: ''
    returnType: void
    signature: void psh_glyph_compute_extrema( PSH_Glyph  glyph )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1428,1
    - Dst: PSH_DIR_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1431,1
    - Dst: PSH_DIR_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1434,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1452,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1472,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1511,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1528,1
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1542,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 67
    argCount: 5
    argNames:
    - table
    - point
    - count
    - threshold
    - major_dir
    argTypes:
    - PSH_Hint_Table
    - PSH_Point
    - FT_UInt
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1553
    functionName: psh_hint_table_find_strong_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - ADD_INT
    - psh_point_set_strong
    - PSH_DIR_COMPARE
    - psh_point_is_strong
    linkageType: ''
    returnType: void
    signature: "void psh_hint_table_find_strong_points( PSH_Hint_Table  table,\n                                     PSH_Point
      \      point,\n                                     FT_UInt         count,\n
      \                                    FT_Int          threshold,\n                                     FT_Int
      \         major_dir )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1511,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1528,1
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1542,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1549
    functionName: if
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 8
    functionsReached:
    - ADD_INT
    - psh_point_set_strong
    linkageType: ''
    returnType: else
    signature: else if ( psh_point_is_extremum( point ) )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1582,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1596,1
    - Dst: psh_hint_table_activate_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1605,1
    - Dst: psh_hint_table_find_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1607,1
    - Dst: psh_hint_table_activate_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1621,1
    - Dst: psh_hint_table_find_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1623,1
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1635,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1636,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1564
    functionDepth: 3
    functionLinenumber: 1564
    functionLinenumberEnd: 1638
    functionName: psh_glyph_find_strong_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_point_set_strong
    - FT_MIN
    - psh_hint_table_find_strong_points
    - psh_point_is_strong
    - psh_hint_table_activate_mask
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_find_strong_points( PSH_Glyph  glyph,\n                                FT_Int
      \    dimension )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PSH_DIR_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1660,1
    - Dst: PSH_DIR_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1661,1
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1665,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1687,1
    - Dst: psh_point_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1688,1
    - Dst: psh_point_set_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1709,1
    - Dst: psh_point_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1710,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 34
    argCount: 2
    argNames:
    - blues
    - glyph
    argTypes:
    - PSH_Blues
    - PSH_Glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1714
    functionName: psh_glyph_find_blue_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_point_set_strong
    - psh_point_set_fitted
    - PSH_DIR_COMPARE
    - psh_point_is_strong
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_find_blue_points( PSH_Blues  blues,\n                              PSH_Glyph
      \ glyph )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_is_edge_min
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1739,1
    - Dst: psh_point_is_edge_max
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1742,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1750,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1754,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1758,1
    - Dst: psh_point_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1761,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1718
    functionDepth: 1
    functionLinenumber: 1718
    functionLinenumberEnd: 1764
    functionName: psh_glyph_interpolate_strong_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_point_is_edge_max
    - psh_point_is_edge_min
    - FT_MulFix
    - FT_MulDiv
    - psh_point_set_fitted
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_interpolate_strong_points( PSH_Glyph  glyph,\n                                       FT_Int
      \    dimension )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1793,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1809,1
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1819,1
    - Dst: psh_point_is_strong
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1836,1
    - Dst: psh_point_is_smooth
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1840,1
    - Dst: psh_point_is_extremum
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1846,1
    - Dst: psh_point_is_inflex
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1847,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1868,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1884,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1905,1
    - Dst: psh_point_set_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1910,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1915,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 63
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1769
    functionDepth: 1
    functionLinenumber: 1769
    functionLinenumberEnd: 1919
    functionName: psh_glyph_interpolate_normal_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - psh_point_is_smooth
    - psh_point_is_strong
    - psh_point_is_extremum
    - FT_MulFix
    - FT_FREE
    - FT_MulDiv
    - psh_point_set_fitted
    - psh_point_is_inflex
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_interpolate_normal_points( PSH_Glyph  glyph,\n                                       FT_Int
      \    dimension )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: psh_point_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1947,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1960,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1964,1
    - Dst: psh_point_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1981,1
    - Dst: psh_point_is_fitted
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:1991,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2019,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2030,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2035,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2040,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 2
    argNames:
    - glyph
    - dimension
    argTypes:
    - PSH_Glyph
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 1923
    functionDepth: 2
    functionLinenumber: 1923
    functionLinenumberEnd: 2058
    functionName: psh_glyph_interpolate_other_points
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - psh_point_is_fitted
    - FT_DivFix
    linkageType: ''
    returnType: void
    signature: "void psh_glyph_interpolate_other_points( PSH_Glyph  glyph,\n                                      FT_Int
      \    dimension )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psh_glyph_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2094,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2095,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2098,1
    - Dst: psh_glyph_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2105,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2128,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2129,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2135,1
    - Dst: psh_globals_set_scale
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2140,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2146,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2149,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2152,1
    - Dst: psh_glyph_load_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2157,1
    - Dst: psh_glyph_compute_extrema
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2160,1
    - Dst: psh_hint_table_align_hints
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2163,1
    - Dst: psh_glyph_find_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2169,1
    - Dst: psh_glyph_find_blue_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2171,1
    - Dst: psh_glyph_interpolate_strong_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2172,1
    - Dst: psh_glyph_interpolate_normal_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2173,1
    - Dst: psh_glyph_interpolate_other_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2174,1
    - Dst: psh_glyph_save_points
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2177,1
    - Dst: psh_globals_set_scale
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c:2180,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 4
    argNames:
    - ps_hints
    - outline
    - globals
    - hint_mode
    argTypes:
    - PS_Hints
    - FT_Outline*
    - PSH_Globals
    - FT_Render_Mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2192
      start: 2069
    functionDepth: 6
    functionLinenumber: 2069
    functionLinenumberEnd: 2192
    functionName: ps_hints_apply
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshalgo.c
    functionUses: 0
    functionsReached:
    - psh_glyph_save_points
    - psh_glyph_find_blue_points
    - FT_BOOL
    - psh_glyph_compute_extrema
    - psh_hint_table_align_hints
    - psh_glyph_load_points
    - psh_glyph_find_strong_points
    - FT_MulFix
    - psh_glyph_done
    - psh_globals_set_scale
    - FT_FREE
    - FT_PIX_ROUND
    - psh_glyph_interpolate_strong_points
    - FT_MulDiv
    - psh_glyph_interpolate_other_points
    - psh_glyph_interpolate_normal_points
    - FT_NEW
    - psh_glyph_init
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_hints_apply( PS_Hints        ps_hints,\n                  FT_Outline*
      \    outline,\n                  PSH_Globals     globals,\n                  FT_Render_Mode
      \ hint_mode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: ps_hint_is_active
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ps_hint_is_active( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: ps_hint_is_ghost
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ps_hint_is_ghost( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ps_hint_is_bottom
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ps_hint_is_bottom( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_hints_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - module
    argTypes:
    - PS_Hinter_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: ps_hinter_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c
    functionUses: 0
    functionsReached:
    - ps_hints_done
    linkageType: ''
    returnType: void
    signature: void ps_hinter_done( PS_Hinter_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_hints_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c:57,1
    - Dst: psh_globals_funcs_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c:59,1
    - Dst: t1_hints_funcs_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c:61,1
    - Dst: t2_hints_funcs_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - module
    argTypes:
    - PS_Hinter_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: ps_hinter_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c
    functionUses: 0
    functionsReached:
    - ps_hints_init
    - t1_hints_funcs_init
    - psh_globals_funcs_init
    - t2_hints_funcs_init
    linkageType: ''
    returnType: void
    signature: void ps_hinter_init( PS_Hinter_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    functionName: pshinter_get_globals_funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pshinter_get_globals_funcs( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: pshinter_get_t1_funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pshinter_get_t1_funcs( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - module
    argTypes:
    - FT_Module
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    functionName: pshinter_get_t2_funcs
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshmod.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pshinter_get_t2_funcs( FT_Module  module )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - table
    - memory
    argTypes:
    - PS_Hint_Table
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: ps_hint_table_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void ps_hint_table_done( PS_Hint_Table  table,\n                      FT_Memory
      \     memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:73,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - count
    - memory
    argTypes:
    - PS_Hint_Table
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 78
    functionName: ps_hint_table_ensure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_hint_table_ensure( PS_Hint_Table  table,\n                        FT_UInt
      \       count,\n                        FT_Memory      memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_hint_table_ensure
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - table
    - memory
    - ahint
    argTypes:
    - PS_Hint_Table
    - FT_Memory
    - PS_Hint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: ps_hint_table_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hint_table_ensure
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_hint_table_alloc( PS_Hint_Table  table,\n                       FT_Memory
      \     memory,\n                       PS_Hint       *ahint )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mask
    - memory
    argTypes:
    - PS_Mask
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: ps_mask_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void ps_mask_done( PS_Mask    mask,\n                FT_Memory  memory
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:147,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mask
    - count
    - memory
    argTypes:
    - PS_Mask
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 152
    functionName: ps_mask_ensure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_ensure( PS_Mask    mask,\n                  FT_UInt
      \   count,\n                  FT_Memory  memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mask
    - idx
    argTypes:
    - PS_Mask
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: ps_mask_test_bit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int ps_mask_test_bit( PS_Mask  mask,\n                    FT_Int
      \  idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mask
    - idx
    argTypes:
    - PS_Mask
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: ps_mask_clear_bit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ps_mask_clear_bit( PS_Mask  mask,\n                     FT_UInt
      \ idx )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_ensure
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - mask
    - idx
    - memory
    argTypes:
    - PS_Mask
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 207
    functionName: ps_mask_set_bit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_ensure
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_set_bit( PS_Mask    mask,\n                   FT_UInt
      \   idx,\n                   FT_Memory  memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:220,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - table
    - memory
    argTypes:
    - PS_Mask_Table
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: ps_mask_table_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - ps_mask_done
    linkageType: ''
    returnType: void
    signature: "void ps_mask_table_done( PS_Mask_Table  table,\n                      FT_Memory
      \     memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_CEIL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:241,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - table
    - count
    - memory
    argTypes:
    - PS_Mask_Table
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 246
    functionName: ps_mask_table_ensure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    - FT_PAD_CEIL
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_ensure( PS_Mask_Table  table,\n                        FT_UInt
      \       count,\n                        FT_Memory      memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_ensure
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - table
    - memory
    - amask
    argTypes:
    - PS_Mask_Table
    - FT_Memory
    - PS_Mask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 278
    functionName: ps_mask_table_alloc
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_ensure
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_alloc( PS_Mask_Table  table,\n                       FT_Memory
      \     memory,\n                       PS_Mask       *amask )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - table
    - memory
    - amask
    argTypes:
    - PS_Mask_Table
    - FT_Memory
    - PS_Mask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: ps_mask_table_last
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_alloc
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_last( PS_Mask_Table  table,\n                      FT_Memory
      \     memory,\n                      PS_Mask       *amask )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_last
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:320,1
    - Dst: ps_mask_ensure
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:324,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - table
    - source
    - bit_pos
    - bit_count
    - memory
    argTypes:
    - PS_Mask_Table
    - FT_Byte*
    - FT_UInt
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 366
    functionName: ps_mask_table_set_bits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_ensure
    - ps_mask_table_last
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_set_bits( PS_Mask_Table   table,\n                          const
      FT_Byte*  source,\n                          FT_UInt         bit_pos,\n                          FT_UInt
      \        bit_count,\n                          FT_Memory       memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - table
    - index1
    - index2
    argTypes:
    - PS_Mask_Table
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 398
    functionName: ps_mask_table_test_intersect
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_MIN
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int ps_mask_table_test_intersect( PS_Mask_Table  table,\n                                FT_UInt
      \       index1,\n                                FT_UInt        index2 )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_ensure
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:444,1
    - Dst: ps_mask_clear_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:449,1
    - Dst: ft_memmove
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:478,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:488,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - table
    - index1
    - index2
    - memory
    argTypes:
    - PS_Mask_Table
    - FT_UInt
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 493
    functionName: ps_mask_table_merge
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - ft_memmove
    - ps_mask_ensure
    - ps_mask_clear_bit
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_merge( PS_Mask_Table  table,\n                       FT_UInt
      \       index1,\n                       FT_UInt        index2,\n                       FT_Memory
      \     memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_test_intersect
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:512,1
    - Dst: ps_mask_table_merge
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - table
    - memory
    argTypes:
    - PS_Mask_Table
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 530
    functionName: ps_mask_table_merge_all
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_merge
    - ps_mask_table_test_intersect
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_mask_table_merge_all( PS_Mask_Table  table,\n                           FT_Memory
      \     memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:547,1
    - Dst: ps_mask_table_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:548,1
    - Dst: ps_hint_table_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dimension
    - memory
    argTypes:
    - PS_Dimension
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: ps_dimension_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hint_table_done
    - ps_mask_table_done
    linkageType: ''
    returnType: void
    signature: "void ps_dimension_done( PS_Dimension  dimension,\n                     FT_Memory
      \    memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dimension
    argTypes:
    - PS_Dimension
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 560
    functionName: ps_dimension_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ps_dimension_init( PS_Dimension  dimension )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_table_last
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:576,1
    - Dst: ps_mask_set_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dim
    - idx
    - memory
    argTypes:
    - PS_Dimension
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 566
    functionDepth: 4
    functionLinenumber: 566
    functionLinenumberEnd: 584
    functionName: ps_dimension_set_mask_bit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_set_bit
    - ps_mask_table_last
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_set_mask_bit( PS_Dimension  dim,\n                             FT_UInt
      \      idx,\n                             FT_Memory     memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dim
    - end_point
    argTypes:
    - PS_Dimension
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 603
    functionName: ps_dimension_end_mask
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ps_dimension_end_mask( PS_Dimension  dim,\n                         FT_UInt
      \      end_point )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_end_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:617,1
    - Dst: ps_mask_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dim
    - end_point
    - memory
    argTypes:
    - PS_Dimension
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 621
    functionName: ps_dimension_reset_mask
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_alloc
    - ps_dimension_end_mask
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_reset_mask( PS_Dimension  dim,\n                           FT_UInt
      \      end_point,\n                           FT_Memory     memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_reset_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:637,1
    - Dst: ps_mask_table_set_bits
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - dim
    - source
    - source_pos
    - source_bits
    - end_point
    - memory
    argTypes:
    - PS_Dimension
    - FT_Byte*
    - FT_UInt
    - FT_UInt
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 625
    functionDepth: 5
    functionLinenumber: 625
    functionLinenumberEnd: 647
    functionName: ps_dimension_set_mask_bits
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_set_bits
    - ps_dimension_reset_mask
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_set_mask_bits( PS_Dimension    dim,\n                              const
      FT_Byte*  source,\n                              FT_UInt         source_pos,\n
      \                             FT_UInt         source_bits,\n                              FT_UInt
      \        end_point,\n                              FT_Memory       memory )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ADD_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:669,1
    - Dst: ps_hint_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:694,1
    - Dst: ps_mask_table_last
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:704,1
    - Dst: ps_mask_set_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:708,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - dim
    - pos
    - len
    - memory
    - aindex
    argTypes:
    - PS_Dimension
    - FT_Int
    - FT_Int
    - FT_Memory
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 651
    functionDepth: 4
    functionLinenumber: 651
    functionLinenumberEnd: 718
    functionName: ps_dimension_add_t1stem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_set_bit
    - ADD_INT
    - ps_mask_table_last
    - ps_hint_table_alloc
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_add_t1stem( PS_Dimension  dim,\n                           FT_Int
      \       pos,\n                           FT_Int        len,\n                           FT_Memory
      \    memory,\n                           FT_Int       *aindex )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ps_mask_test_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:738,1
    - Dst: ps_mask_test_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:739,1
    - Dst: ps_mask_test_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:740,1
    - Dst: ps_mask_table_alloc
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:747,1
    - Dst: ps_mask_set_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:755,1
    - Dst: ps_mask_set_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:762,1
    - Dst: ps_mask_set_bit
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:769,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 5
    argNames:
    - dim
    - hint1
    - hint2
    - hint3
    - memory
    argTypes:
    - PS_Dimension
    - FT_Int
    - FT_Int
    - FT_Int
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 722
    functionDepth: 3
    functionLinenumber: 722
    functionLinenumberEnd: 776
    functionName: ps_dimension_add_counter
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_set_bit
    - ps_mask_table_alloc
    - ps_mask_test_bit
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_add_counter( PS_Dimension  dim,\n                            FT_Int
      \       hint1,\n                            FT_Int        hint2,\n                            FT_Int
      \       hint3,\n                            FT_Memory     memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_end_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:786,1
    - Dst: ps_mask_table_merge_all
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:789,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dim
    - end_point
    - memory
    argTypes:
    - PS_Dimension
    - FT_UInt
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 780
    functionDepth: 4
    functionLinenumber: 780
    functionLinenumberEnd: 790
    functionName: ps_dimension_end
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_mask_table_merge_all
    - ps_dimension_end_mask
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_dimension_end( PS_Dimension  dim,\n                    FT_UInt
      \      end_point,\n                    FT_Memory     memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:809,1
    - Dst: ps_dimension_done
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - hints
    argTypes:
    - PS_Hints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 804
    functionDepth: 4
    functionLinenumber: 804
    functionLinenumberEnd: 814
    functionName: ps_hints_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 1
    functionsReached:
    - ps_dimension_done
    linkageType: ''
    returnType: void
    signature: void ps_hints_done( PS_Hints  hints )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:821,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hints
    - memory
    argTypes:
    - PS_Hints
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    functionName: ps_hints_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 1
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void ps_hints_init( PS_Hints   hints,\n                 FT_Memory
      \ memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:834,1
    - Dst: ps_dimension_init
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - hints
    - hint_type
    argTypes:
    - PS_Hints
    - PS_Hint_Type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 836
    functionName: ps_hints_open
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_dimension_init
    linkageType: ''
    returnType: void
    signature: "void ps_hints_open( PS_Hints      hints,\n                 PS_Hint_Type
      \ hint_type )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:855,1
    - Dst: ps_dimension_add_t1stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:870,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:877,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - hints
    - dimension
    - count
    - stems
    argTypes:
    - PS_Hints
    - FT_UInt
    - FT_Int
    - FT_Long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 884
    functionName: ps_hints_stem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - ps_dimension_add_t1stem
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void ps_hints_stem( PS_Hints  hints,\n                 FT_UInt   dimension,\n
      \                FT_Int    count,\n                 FT_Long*  stems )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:907,1
    - Dst: ps_dimension_add_t1stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:920,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:921,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:922,1
    - Dst: ps_dimension_add_counter
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:929,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:936,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:937,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:945,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - hints
    - dimension
    - stems
    argTypes:
    - PS_Hints
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 888
    functionDepth: 5
    functionLinenumber: 888
    functionLinenumberEnd: 947
    functionName: ps_hints_t1stem3
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FIXED_TO_INT
    - FT_THROW
    - ps_dimension_add_counter
    - FT_TRACE0
    - ps_dimension_add_t1stem
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void ps_hints_t1stem3( PS_Hints   hints,\n                    FT_UInt
      \   dimension,\n                    FT_Fixed*  stems )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_reset_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:965,1
    - Dst: ps_dimension_reset_mask
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:970,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:978,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - hints
    - end_point
    argTypes:
    - PS_Hints
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 951
    functionDepth: 4
    functionLinenumber: 951
    functionLinenumberEnd: 986
    functionName: ps_hints_t1reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ps_dimension_reset_mask
    linkageType: ''
    returnType: void
    signature: "void ps_hints_t1reset( PS_Hints  hints,\n                    FT_UInt
      \  end_point )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1010,1
    - Dst: ps_dimension_set_mask_bits
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1019,1
    - Dst: ps_dimension_set_mask_bits
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1024,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - hints
    - end_point
    - bit_count
    - bytes
    argTypes:
    - PS_Hints
    - FT_UInt
    - FT_UInt
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 990
    functionDepth: 6
    functionLinenumber: 990
    functionLinenumberEnd: 1033
    functionName: ps_hints_t2mask
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - ps_dimension_set_mask_bits
    linkageType: ''
    returnType: void
    signature: "void ps_hints_t2mask( PS_Hints        hints,\n                   FT_UInt
      \        end_point,\n                   FT_UInt         bit_count,\n                   const
      FT_Byte*  bytes )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1055,1
    - Dst: ps_dimension_set_mask_bits
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1064,1
    - Dst: ps_dimension_set_mask_bits
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1069,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - hints
    - bit_count
    - bytes
    argTypes:
    - PS_Hints
    - FT_UInt
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1036
    functionDepth: 6
    functionLinenumber: 1036
    functionLinenumberEnd: 1078
    functionName: ps_hints_t2counter
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - ps_dimension_set_mask_bits
    linkageType: ''
    returnType: void
    signature: "void ps_hints_t2counter( PS_Hints        hints,\n                      FT_UInt
      \        bit_count,\n                      const FT_Byte*  bytes )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ps_dimension_end
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1096,1
    - Dst: ps_dimension_end
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1099,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hints
    - end_point
    argTypes:
    - PS_Hints
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1082
    functionDepth: 5
    functionLinenumber: 1082
    functionLinenumberEnd: 1108
    functionName: ps_hints_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_dimension_end
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ps_hints_close( PS_Hints  hints,\n                  FT_UInt
      \  end_point )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_hints_open
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hints
    argTypes:
    - T1_Hints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1123
    functionName: t1_hints_open
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hints_open
    linkageType: ''
    returnType: void
    signature: void t1_hints_open( T1_Hints  hints )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1133,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1134,1
    - Dst: ps_hints_stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - hints
    - dimension
    - coords
    argTypes:
    - T1_Hints
    - FT_UInt
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1125
    functionDepth: 6
    functionLinenumber: 1125
    functionLinenumberEnd: 1137
    functionName: t1_hints_stem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hints_stem
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void t1_hints_stem( T1_Hints   hints,\n                 FT_UInt    dimension,\n
      \                FT_Fixed*  coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - funcs
    argTypes:
    - T1_Hints_FuncsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 0
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: t1_hints_funcs_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 1
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: void t1_hints_funcs_init( T1_Hints_FuncsRec*  funcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ps_hints_open
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hints
    argTypes:
    - T2_Hints
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1166
    functionName: t2_hints_open
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hints_open
    linkageType: ''
    returnType: void
    signature: void t2_hints_open( T2_Hints  hints )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADD_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1190,1
    - Dst: FIXED_TO_INT
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1191,1
    - Dst: ps_hints_stem
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1199,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - hints
    - dimension
    - count
    - coords
    argTypes:
    - T2_Hints
    - FT_UInt
    - FT_Int
    - FT_Fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1169
    functionDepth: 6
    functionLinenumber: 1169
    functionLinenumberEnd: 1203
    functionName: t2_hints_stems
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 0
    functionsReached:
    - ps_hints_stem
    - ADD_LONG
    - FIXED_TO_INT
    linkageType: ''
    returnType: void
    signature: "void t2_hints_stems( T2_Hints   hints,\n                  FT_UInt
      \   dimension,\n                  FT_Int     count,\n                  FT_Fixed*
      \ coords )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - funcs
    argTypes:
    - T2_Hints_FuncsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1217
    functionName: t2_hints_funcs_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshrec.c
    functionUses: 1
    functionsReached:
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: void t2_hints_funcs_init( T2_Hints_FuncsRec*  funcs )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:55,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:56,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:66,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - globals
    - direction
    argTypes:
    - PSH_Globals
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 79
    functionName: psh_globals_scale_widths
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_PIX_ROUND
    linkageType: ''
    returnType: void
    signature: "void psh_globals_scale_widths( PSH_Globals  globals,\n                            FT_UInt
      \     direction )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:90,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - dimension
    - org_width
    argTypes:
    - PSH_Dimension
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 126
    functionName: psh_dimension_snap_width
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    linkageType: ''
    returnType: void
    signature: "void psh_dimension_snap_width( PSH_Dimension  dimension,\n                            FT_Int
      \        org_width )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:151,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 6
    argNames:
    - target
    - is_others
    - read_count
    - read
    - top_table
    - bot_table
    argTypes:
    - PSH_Blues
    - FT_Bool
    - FT_UInt
    - FT_Short*
    - PSH_Blue_Table
    - PSH_Blue_Table
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 228
    functionName: psh_blues_set_zones_0
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void psh_blues_set_zones_0( PSH_Blues       target,\n                         FT_Bool
      \        is_others,\n                         FT_UInt         read_count,\n
      \                        FT_Short*       read,\n                         PSH_Blue_Table
      \ top_table,\n                         PSH_Blue_Table  bot_table )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: psh_blues_set_zones_0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:264,1
    - Dst: psh_blues_set_zones_0
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 7
    argNames:
    - target
    - count
    - blues
    - count_others
    - other_blues
    - fuzz
    - family
    argTypes:
    - PSH_Blues
    - FT_UInt
    - FT_Short*
    - FT_UInt
    - FT_Short*
    - FT_Int
    - FT_Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 362
    functionName: psh_blues_set_zones
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - psh_blues_set_zones_0
    linkageType: ''
    returnType: void
    signature: "void psh_blues_set_zones( PSH_Blues  target,\n                       FT_UInt
      \   count,\n                       FT_Short*  blues,\n                       FT_UInt
      \   count_others,\n                       FT_Short*  other_blues,\n                       FT_Int
      \    fuzz,\n                       FT_Int     family )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:407,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:409,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:424,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:455,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:456,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:457,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:458,1
    - Dst: FT_PIX_ROUND
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:461,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:512,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 66
    argCount: 3
    argNames:
    - blues
    - scale
    - delta
    argTypes:
    - PSH_Blues
    - FT_Fixed
    - FT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 523
    functionName: psh_blues_scale_zones
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_MulFix
    - FT_BOOL
    - FT_PIX_ROUND
    linkageType: ''
    returnType: void
    signature: "void psh_blues_scale_zones( PSH_Blues  blues,\n                         FT_Fixed
      \  scale,\n                         FT_Pos     delta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - num
    - values
    - cur_max
    argTypes:
    - FT_UInt
    - FT_Short*
    - FT_Short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 545
    functionName: psh_calc_max_height
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Short
    signature: "FT_Short psh_calc_max_height( FT_UInt          num,\n                       const
      FT_Short*  values,\n                       FT_Short         cur_max )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:572,1
    - Dst: SUB_LONG
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:594,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 4
    argNames:
    - blues
    - stem_top
    - stem_bot
    - alignment
    argTypes:
    - PSH_Blues
    - FT_Int
    - FT_Int
    - PSH_Alignment
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 608
    functionName: psh_blues_snap_stem
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 2
    functionsReached:
    - SUB_LONG
    linkageType: ''
    returnType: void
    signature: "void psh_blues_snap_stem( PSH_Blues      blues,\n                       FT_Int
      \        stem_top,\n                       FT_Int         stem_bot,\n                       PSH_Alignment
      \ alignment )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:636,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - globals
    argTypes:
    - PSH_Globals
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 642
    functionName: psh_globals_destroy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void psh_globals_destroy( PSH_Globals  globals )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:654,1
    - Dst: psh_blues_set_zones
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:702,1
    - Dst: psh_blues_set_zones
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:706,1
    - Dst: psh_calc_max_height
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:716,1
    - Dst: psh_calc_max_height
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:719,1
    - Dst: psh_calc_max_height
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:722,1
    - Dst: psh_calc_max_height
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:725,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:730,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - memory
    - priv
    - aglobals
    argTypes:
    - FT_Memory
    - T1_Private*
    - PSH_Globals*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 751
    functionName: psh_globals_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 0
    functionsReached:
    - FT_NEW
    - FT_DivFix
    - psh_blues_set_zones
    - psh_calc_max_height
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error psh_globals_new( FT_Memory     memory,\n                   T1_Private*
      \  priv,\n                   PSH_Globals  *aglobals )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: psh_globals_scale_widths
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:771,1
    - Dst: psh_globals_scale_widths
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:781,1
    - Dst: psh_blues_scale_zones
      Src: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - globals
    - x_scale
    - y_scale
    - x_delta
    - y_delta
    argTypes:
    - PSH_Globals
    - FT_Fixed
    - FT_Fixed
    - FT_Fixed
    - FT_Fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 784
    functionName: psh_globals_set_scale
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 1
    functionsReached:
    - psh_globals_scale_widths
    - psh_blues_scale_zones
    linkageType: ''
    returnType: void
    signature: "void psh_globals_set_scale( PSH_Globals  globals,\n                         FT_Fixed
      \    x_scale,\n                         FT_Fixed     y_scale,\n                         FT_Fixed
      \    x_delta,\n                         FT_Fixed     y_delta )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - funcs
    argTypes:
    - PSH_Globals_FuncsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 793
    functionName: psh_globals_funcs_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/pshinter/pshglob.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void psh_globals_funcs_init( PSH_Globals_FuncsRec*  funcs )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - class_
    - ','
    - size_
    - ','
    - init_
    - ','
    - done_
    - ','
    - char_index_
    - ','
    - char_next_
    - ','
    - char_var_index_
    - ','
    - char_var_default_
    - ','
    - variant_list_
    - ','
    - charvariant_list_
    - ','
    - variantchar_list_
    - ','
    - format_
    - ','
    - validate_
    - ','
    - get_cmap_info_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 92
    functionName: FT_DEFINE_TT_CMAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_TT_CMAP( class_,             \\\n                           size_,
      \             \\\n                           init_,              \\\n                           done_,
      \             \\\n                           char_index_,        \\\n                           char_next_,
      \        \\\n                           char_var_index_,    \\\n                           char_var_default_,
      \ \\\n                           variant_list_,      \\\n                           charvariant_list_,
      \ \\\n                           variantchar_list_,  \\\n                           format_,
      \           \\\n                           validate_,          \\\n                           get_cmap_info_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: TT_VALIDATOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_VALIDATOR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: TT_VALID_GLYPH_COUNT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_VALID_GLYPH_COUNT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alpha
    - color
    argTypes:
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: multiply_alpha
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int multiply_alpha( unsigned int  alpha,\n                  unsigned
      int  color )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: vector_size
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:82,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:106,1
    - Dst: vector_shuffle
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:110,1
    - Dst: vector_shuffle
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:112,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:122,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:127,1
    - Dst: multiply_alpha
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:148,1
    - Dst: multiply_alpha
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:149,1
    - Dst: multiply_alpha
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:150,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 159
    functionName: premultiply_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached:
    - ft_memcpy
    - vector_shuffle
    - vector_size
    - multiply_alpha
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void premultiply_data( png_structp    png,\n                    png_row_infop
      \ row_info,\n                    png_bytep      data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - png
    - row_info
    - data
    argTypes:
    - png_structp
    - png_row_infop
    - png_bytep
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: convert_bytes_to_data
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void convert_bytes_to_data( png_structp    png,\n                         png_row_infop
      \ row_info,\n                         png_bytep      data )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:194,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:196,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:199,1
    - Dst: ft_longjmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:201,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - png
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 204
    functionName: error_callback
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 2
    functionsReached:
    - png_jmpbuf
    - ft_longjmp
    - FT_THROW
    - png_get_error_ptr
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void error_callback( png_structp      png,\n                  png_const_charp
      \ error_msg )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:212,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - png
    - error_msg
    argTypes:
    - png_structp
    - png_const_charp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: warning_callback
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void warning_callback( png_structp      png,\n                    png_const_charp
      \ error_msg )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:225,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:229,1
    - Dst: png_get_error_ptr
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:231,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:234,1
    - Dst: png_error
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:235,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:240,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - png
    - data
    - length
    argTypes:
    - png_structp
    - png_bytep
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 243
    functionName: read_data_from_FT_Stream
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached:
    - png_error
    - FT_FRAME_ENTER
    - ft_memcpy
    - FT_FRAME_EXIT
    - png_get_io_ptr
    - FT_THROW
    - png_get_error_ptr
    linkageType: ''
    returnType: void
    signature: "void read_data_from_FT_Stream( png_structp  png,\n                            png_bytep
      \   data,\n                            png_size_t   length )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:274,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:284,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:288,1
    - Dst: png_create_read_struct
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:290,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:296,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:300,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:303,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:304,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:308,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:308,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:310,1
    - Dst: png_set_read_fn
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:314,1
    - Dst: png_read_info
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:316,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:317,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:342,1
    - Dst: png_set_palette_to_rgb
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:349,1
    - Dst: png_set_expand_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:355,1
    - Dst: png_set_gray_1_2_4_to_8
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:357,1
    - Dst: png_get_valid
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:362,1
    - Dst: png_set_tRNS_to_alpha
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:363,1
    - Dst: png_set_strip_16
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:366,1
    - Dst: png_set_packing
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:369,1
    - Dst: png_set_gray_to_rgb
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:374,1
    - Dst: png_set_interlace_handling
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:377,1
    - Dst: png_set_filler
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:379,1
    - Dst: png_read_update_info
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:382,1
    - Dst: png_get_IHDR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:383,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:392,1
    - Dst: png_set_read_user_transform_fn
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:405,1
    - Dst: png_set_read_user_transform_fn
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:410,1
    - Dst: ft_glyphslot_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:420,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:425,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:427,1
    - Dst: png_read_image
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:434,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:436,1
    - Dst: png_read_end
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:438,1
    - Dst: png_destroy_read_struct
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:441,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c:442,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 109
    argCount: 10
    argNames:
    - slot
    - x_offset
    - y_offset
    - pix_bits
    - metrics
    - memory
    - data
    - png_len
    - populate_map_and_metrics
    - metrics_only
    argTypes:
    - FT_GlyphSlot
    - FT_Int
    - FT_Int
    - FT_Int
    - TT_SBit_Metrics
    - FT_Memory
    - FT_Byte*
    - FT_UInt
    - FT_Bool
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 247
    functionDepth: 8
    functionLinenumber: 247
    functionLinenumberEnd: 446
    functionName: Load_SBit_Png
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/pngshim.c
    functionUses: 0
    functionsReached:
    - png_set_packing
    - FT_Stream_OpenMemory
    - png_get_valid
    - png_set_interlace_handling
    - png_set_strip_16
    - FT_Stream_Close
    - FT_NEW_ARRAY
    - png_destroy_read_struct
    - FT_THROW
    - png_set_read_fn
    - png_set_read_user_transform_fn
    - png_create_read_struct
    - png_set_tRNS_to_alpha
    - png_read_info
    - png_set_palette_to_rgb
    - png_get_IHDR
    - png_set_expand_gray_1_2_4_to_8
    - ft_setjmp
    - FT_FREE
    - png_read_end
    - png_set_gray_1_2_4_to_8
    - png_create_info_struct
    - png_jmpbuf
    - png_read_image
    - ft_glyphslot_alloc_bitmap
    - png_read_update_info
    - png_set_gray_to_rgb
    - png_set_filler
    linkageType: ''
    returnType: void
    signature: "void Load_SBit_Png( FT_GlyphSlot     slot,\n                 FT_Int
      \          x_offset,\n                 FT_Int           y_offset,\n                 FT_Int
      \          pix_bits,\n                 TT_SBit_Metrics  metrics,\n                 FT_Memory
      \       memory,\n                 FT_Byte*         data,\n                 FT_UInt
      \         png_len,\n                 FT_Bool          populate_map_and_metrics,\n
      \                FT_Bool          metrics_only )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 44
    functionName: WRITE_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_USHORT( p, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: WRITE_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_ULONG( p, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stream
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: sfnt_stream_close
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void sfnt_stream_close( FT_Stream  stream )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: compare_offsets
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compare_offsets( const void*  a,\n                   const void*
      \ b )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:120,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:121,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:122,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:123,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:124,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:125,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:126,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:127,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:128,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:129,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:130,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:131,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:132,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:133,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:138,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:139,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:139,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:141,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:146,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:159,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:160,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:164,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:165,1
    - Dst: WRITE_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:187,1
    - Dst: WRITE_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:188,1
    - Dst: WRITE_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:189,1
    - Dst: WRITE_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:190,1
    - Dst: WRITE_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:191,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:198,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:199,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:202,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:206,1
    - Dst: FT_GET_TAG4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:213,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:214,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:215,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:216,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:217,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:219,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:231,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:233,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:234,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:242,1
    - Dst: ft_qsort
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:246,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:268,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:269,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:294,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:296,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:312,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:313,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:324,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:325,1
    - Dst: FT_REALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:330,1
    - Dst: WRITE_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:345,1
    - Dst: WRITE_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:346,1
    - Dst: WRITE_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:347,1
    - Dst: WRITE_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:348,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:351,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:352,1
    - Dst: ft_memcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:358,1
    - Dst: FT_Gzip_Uncompress
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:370,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:377,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:378,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:384,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:390,1
    - Dst: FT_Stream_OpenMemory
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:403,1
    - Dst: FT_Stream_Free
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:407,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:416,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:417,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:421,1
    - Dst: FT_Stream_Close
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:422,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c:423,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 146
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 427
    functionName: woff_open_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfwoff.c
    functionUses: 0
    functionsReached:
    - WRITE_USHORT
    - FT_FRAME_USHORT
    - FT_Stream_OpenMemory
    - FT_Gzip_Uncompress
    - FT_Stream_Close
    - FT_NEW_ARRAY
    - ft_memcpy
    - FT_ALLOC
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_FRAME_ULONG
    - FT_FRAME_ENTER
    - ft_qsort
    - FT_GET_ULONG
    - FT_ASSERT
    - FT_FREE
    - WRITE_ULONG
    - FT_TRACE2
    - FT_Stream_Free
    - FT_FRAME_EXIT
    - FT_STREAM_READ_FIELDS
    - FT_GET_TAG4
    - FT_STREAM_POS
    - FT_FRAME_START
    - FT_NEW
    - FT_REALLOC
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void woff_open_font( FT_Stream  stream,\n                  TT_Face
      \   face )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmap
    - table
    argTypes:
    - TT_CMap
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: tt_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_cmap_init( TT_CMap   cmap,\n                FT_Byte*  table
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:107,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 128
    functionName: tt_cmap0_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_VALID_GLYPH_COUNT
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap0_validate( FT_Byte*      table,\n                     FT_Validator
      \ valid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 139
    functionName: tt_cmap0_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_cmap0_char_index( TT_CMap    cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 165
    functionName: tt_cmap0_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void tt_cmap0_char_next( TT_CMap     cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 179
    functionName: tt_cmap0_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap0_get_info( TT_CMap       cmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:311,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:323,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:336,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:350,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:351,1
    - Dst: TT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:352,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:353,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:385,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:389,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 398
    functionName: tt_cmap2_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_VALID_GLYPH_COUNT
    - TT_NEXT_SHORT
    - FT_ASSERT
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap2_validate( FT_Byte*      table,\n                     FT_Validator
      \ valid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:431,1
    - Dst: FT_PAD_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:441,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - table
    - char_code
    argTypes:
    - FT_Byte*
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 453
    functionName: tt_cmap2_get_subheader
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PAD_FLOOR
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: FT_Byte
    signature: "FT_Byte *\n  tt_cmap2_get_subheader( FT_Byte*   table,\n                          FT_UInt32
      \ char_code )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap2_get_subheader
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:465,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:475,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:476,1
    - Dst: TT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:477,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:478,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 492
    functionName: tt_cmap2_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_SHORT
    - TT_NEXT_USHORT
    - tt_cmap2_get_subheader
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap2_char_index( TT_CMap    cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap2_get_subheader
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:508,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:512,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:513,1
    - Dst: TT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:514,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:515,1
    - Dst: FT_PAD_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:543,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:547,1
    - Dst: FT_PAD_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:572,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 2
    argNames:
    - cmap
    - pcharcode
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 496
    functionDepth: 2
    functionLinenumber: 496
    functionLinenumberEnd: 579
    functionName: tt_cmap2_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_USHORT
    - FT_PAD_FLOOR
    - tt_cmap2_get_subheader
    - TT_NEXT_SHORT
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap2_char_next( TT_CMap     cmap,\n                      FT_UInt32
      \ *pcharcode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 593
    functionName: tt_cmap2_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap2_get_info( TT_CMap       cmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cmap
    - table
    argTypes:
    - TT_CMap4
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 724
    functionName: tt_cmap4_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap4_init( TT_CMap4  cmap,\n                 FT_Byte*  table
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:742,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:745,1
    - Dst: FT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:748,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:751,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - cmap
    - range_index
    argTypes:
    - TT_CMap4
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 782
    functionName: tt_cmap4_set_range
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_USHORT
    - FT_PEEK_SHORT
    linkageType: ''
    returnType: FT_Int
    signature: "FT_Int tt_cmap4_set_range( TT_CMap4  cmap,\n                      FT_UInt
      \  range_index )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:826,1
    - Dst: tt_cmap4_set_range
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:879,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 53
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - TT_CMap4
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 889
    functionName: tt_cmap4_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap4_set_range
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: void tt_cmap4_next( TT_CMap4  cmap )
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:908,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:924,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:943,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:944,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:945,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:973,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:990,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:991,1
    - Dst: TT_NEXT_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:992,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:993,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1055,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1060,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 85
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 1083
    functionName: tt_cmap4_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_USHORT
    - TT_VALID_GLYPH_COUNT
    - TT_NEXT_SHORT
    - FT_NEXT_USHORT
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap4_validate( FT_Byte*      table,\n                     FT_Validator
      \ valid )"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1105,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1105,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1124,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1125,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1142,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1144,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1169,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 69
    argCount: 3
    argNames:
    - cmap
    - pcharcode
    - next
    argTypes:
    - TT_CMap
    - FT_UInt32*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1218
    functionName: tt_cmap4_char_map_linear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_SHORT
    - FT_PAD_FLOOR
    - TT_NEXT_USHORT
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap4_char_map_linear( TT_CMap     cmap,\n                            FT_UInt32*
      \ pcharcode,\n                            FT_Bool     next )"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: FT_PAD_FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1238,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1238,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1260,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1262,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1271,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1273,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1308,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1318,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1320,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1322,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1334,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1336,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1338,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1340,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1352,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1354,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1362,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1364,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1384,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1386,1
    - Dst: TT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1388,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1390,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1407,1
    - Dst: tt_cmap4_set_range
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1455,1
    - Dst: tt_cmap4_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1469,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 147
    argCount: 3
    argNames:
    - cmap
    - pcharcode
    - next
    argTypes:
    - TT_CMap
    - FT_UInt32*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1221
    functionDepth: 3
    functionLinenumber: 1221
    functionLinenumberEnd: 1479
    functionName: tt_cmap4_char_map_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PAD_FLOOR
    - tt_cmap4_set_range
    - TT_PEEK_SHORT
    - tt_cmap4_next
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap4_char_map_binary( TT_CMap     cmap,\n                            FT_UInt32*
      \ pcharcode,\n                            FT_Bool     next )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap4_char_map_linear
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1490,1
    - Dst: tt_cmap4_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1483
    functionDepth: 4
    functionLinenumber: 1483
    functionLinenumberEnd: 1493
    functionName: tt_cmap4_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap4_char_map_linear
    - tt_cmap4_char_map_binary
    linkageType: ''
    returnType: void
    signature: "void tt_cmap4_char_index( TT_CMap    cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap4_char_map_linear
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1507,1
    - Dst: tt_cmap4_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1516,1
    - Dst: tt_cmap4_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1522,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1497
    functionDepth: 4
    functionLinenumber: 1497
    functionLinenumberEnd: 1526
    functionName: tt_cmap4_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap4_char_map_linear
    - tt_cmap4_next
    - tt_cmap4_char_map_binary
    linkageType: ''
    returnType: void
    signature: "void tt_cmap4_char_next( TT_CMap     cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1540
    functionName: tt_cmap4_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap4_get_info( TT_CMap       cmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1607,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1610,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1623,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1624,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1630
    functionName: tt_cmap6_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_VALID_GLYPH_COUNT
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap6_validate( FT_Byte*      table,\n                     FT_Validator
      \ valid )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1640,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1641,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1634
    functionDepth: 0
    functionLinenumber: 1634
    functionLinenumberEnd: 1652
    functionName: tt_cmap6_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_USHORT
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap6_char_index( TT_CMap    cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1665,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1666,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1681,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1696
    functionName: tt_cmap6_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap6_char_next( TT_CMap     cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1710
    functionName: tt_cmap6_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap6_get_info( TT_CMap       cmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1806,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1812,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1828,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1829,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1830,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1844,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1845,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1890
    functionName: tt_cmap8_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_VALID_GLYPH_COUNT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap8_validate( FT_Byte*      table,\n                     FT_Validator
      \ valid )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1900,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1906,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1907,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1908,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1894
    functionDepth: 0
    functionLinenumber: 1894
    functionLinenumberEnd: 1923
    functionName: tt_cmap8_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap8_char_index( TT_CMap    cmap,\n                       FT_UInt32
      \ char_code )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1936,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1949,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1950,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:1951,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1927
    functionDepth: 0
    functionLinenumber: 1927
    functionLinenumberEnd: 1990
    functionName: tt_cmap8_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap8_char_next( TT_CMap     cmap,\n                      FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2004
    functionName: tt_cmap8_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap8_get_info( TT_CMap       cmap,\n                     TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2069,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2071,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2087,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2088,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2059
    functionDepth: 1
    functionLinenumber: 2059
    functionLinenumberEnd: 2094
    functionName: tt_cmap10_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_VALID_GLYPH_COUNT
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap10_validate( FT_Byte*      table,\n                      FT_Validator
      \ valid )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2104,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2105,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2121
    functionName: tt_cmap10_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap10_char_index( TT_CMap    cmap,\n                        FT_UInt32
      \ char_code )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2132,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2133,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2150,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2162
    functionName: tt_cmap10_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap10_char_next( TT_CMap     cmap,\n                       FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2166
    functionDepth: 0
    functionLinenumber: 2166
    functionLinenumberEnd: 2176
    functionName: tt_cmap10_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap10_get_info( TT_CMap       cmap,\n                      TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cmap
    - table
    argTypes:
    - TT_CMap12
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2247
    functionDepth: 1
    functionLinenumber: 2247
    functionLinenumberEnd: 2258
    functionName: tt_cmap12_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap12_init( TT_CMap12  cmap,\n                  FT_Byte*
      \  table )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2274,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2277,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2292,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2293,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2294,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2308,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2309,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2318
    functionName: tt_cmap12_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_VALID_GLYPH_COUNT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap12_validate( FT_Byte*      table,\n                      FT_Validator
      \ valid )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2342,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2343,1
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2344,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - TT_CMap12
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2383
    functionName: tt_cmap12_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: void tt_cmap12_next( TT_CMap12  cmap )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2393,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2423,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2424,1
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2432,1
    - Dst: tt_cmap12_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2468,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 3
    argNames:
    - cmap
    - pchar_code
    - next
    argTypes:
    - TT_CMap
    - FT_UInt32*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2480
    functionName: tt_cmap12_char_map_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_PEEK_ULONG
    - tt_cmap12_next
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap12_char_map_binary( TT_CMap     cmap,\n                             FT_UInt32*
      \ pchar_code,\n                             FT_Bool     next )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap12_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2484
    functionDepth: 2
    functionLinenumber: 2484
    functionLinenumberEnd: 2488
    functionName: tt_cmap12_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap12_char_map_binary
    linkageType: ''
    returnType: void
    signature: "void tt_cmap12_char_index( TT_CMap    cmap,\n                        FT_UInt32
      \ char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap12_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2502,1
    - Dst: tt_cmap12_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2512,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2515
      start: 2492
    functionDepth: 2
    functionLinenumber: 2492
    functionLinenumberEnd: 2515
    functionName: tt_cmap12_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap12_char_map_binary
    - tt_cmap12_next
    linkageType: ''
    returnType: void
    signature: "void tt_cmap12_char_next( TT_CMap     cmap,\n                       FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2519
    functionDepth: 0
    functionLinenumber: 2519
    functionLinenumberEnd: 2529
    functionName: tt_cmap12_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap12_get_info( TT_CMap       cmap,\n                      TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cmap
    - table
    argTypes:
    - TT_CMap13
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2600
    functionDepth: 1
    functionLinenumber: 2600
    functionLinenumberEnd: 2611
    functionName: tt_cmap13_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap13_init( TT_CMap13  cmap,\n                  FT_Byte*
      \  table )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2627,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2630,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2645,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2646,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2647,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2657,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2615
    functionDepth: 1
    functionLinenumber: 2615
    functionLinenumberEnd: 2666
    functionName: tt_cmap13_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_VALID_GLYPH_COUNT
    linkageType: ''
    returnType: void
    signature: "void tt_cmap13_validate( FT_Byte*      table,\n                      FT_Validator
      \ valid )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2690,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2691,1
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2692,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - TT_CMap13
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2714
      start: 2672
    functionDepth: 0
    functionLinenumber: 2672
    functionLinenumberEnd: 2714
    functionName: tt_cmap13_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: void tt_cmap13_next( TT_CMap13  cmap )
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2724,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2754,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2755,1
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2763,1
    - Dst: tt_cmap13_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2794,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 3
    argNames:
    - cmap
    - pchar_code
    - next
    argTypes:
    - TT_CMap
    - FT_UInt32*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2806
      start: 2717
    functionDepth: 1
    functionLinenumber: 2717
    functionLinenumberEnd: 2806
    functionName: tt_cmap13_char_map_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - TT_PEEK_ULONG
    - tt_cmap13_next
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap13_char_map_binary( TT_CMap     cmap,\n                             FT_UInt32*
      \ pchar_code,\n                             FT_Bool     next )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap13_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2810
    functionDepth: 2
    functionLinenumber: 2810
    functionLinenumberEnd: 2814
    functionName: tt_cmap13_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap13_char_map_binary
    linkageType: ''
    returnType: void
    signature: "void tt_cmap13_char_index( TT_CMap    cmap,\n                        FT_UInt32
      \ char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap13_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2828,1
    - Dst: tt_cmap13_char_map_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2818
    functionDepth: 2
    functionLinenumber: 2818
    functionLinenumberEnd: 2841
    functionName: tt_cmap13_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap13_next
    - tt_cmap13_char_map_binary
    linkageType: ''
    returnType: void
    signature: "void tt_cmap13_char_next( TT_CMap     cmap,\n                       FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2845
    functionDepth: 0
    functionLinenumber: 2845
    functionLinenumberEnd: 2855
    functionName: tt_cmap13_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap13_get_info( TT_CMap       cmap,\n                      TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - cmap
    argTypes:
    - TT_CMap14
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2963
    functionDepth: 1
    functionLinenumber: 2963
    functionLinenumberEnd: 2971
    functionName: tt_cmap14_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_cmap14_done( TT_CMap14  cmap )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_QRENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:2987,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - cmap
    - num_results
    - memory
    argTypes:
    - TT_CMap14
    - FT_UInt32
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2994
      start: 2974
    functionDepth: 1
    functionLinenumber: 2974
    functionLinenumberEnd: 2994
    functionName: tt_cmap14_ensure
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_QRENEW_ARRAY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_cmap14_ensure( TT_CMap14  cmap,\n                    FT_UInt32
      \ num_results,\n                    FT_Memory  memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cmap
    - table
    argTypes:
    - TT_CMap14
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 2998
    functionDepth: 1
    functionLinenumber: 2998
    functionLinenumberEnd: 3009
    functionName: tt_cmap14_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_PEEK_ULONG
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_init( TT_CMap14  cmap,\n                  FT_Byte*
      \  table )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3025,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3026,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3044,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3045,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3046,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3070,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3078,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3079,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3103,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3111,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3112,1
    - Dst: TT_VALID_GLYPH_COUNT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3124,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - table
    - valid
    argTypes:
    - FT_Byte*
    - FT_Validator
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3013
    functionDepth: 1
    functionLinenumber: 3013
    functionLinenumberEnd: 3132
    functionName: tt_cmap14_validate
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_USHORT
    - TT_NEXT_ULONG
    - TT_VALID_GLYPH_COUNT
    - FT_NEXT_BYTE
    - TT_NEXT_UINT24
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_validate( FT_Byte*      table,\n                      FT_Validator
      \ valid )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3139,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - char_code
    argTypes:
    - TT_CMap
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3144
      start: 3136
    functionDepth: 0
    functionLinenumber: 3136
    functionLinenumberEnd: 3144
    functionName: tt_cmap14_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_char_index( TT_CMap    cmap,\n                        FT_UInt32
      \ char_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cmap
    - pchar_code
    argTypes:
    - TT_CMap
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3156
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3156
    functionName: tt_cmap14_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_char_next( TT_CMap     cmap,\n                       FT_UInt32
      \ *pchar_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cmap
    - cmap_info
    argTypes:
    - TT_CMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3170
      start: 3160
    functionDepth: 0
    functionLinenumber: 3160
    functionLinenumberEnd: 3170
    functionName: tt_cmap14_get_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_get_info( TT_CMap       cmap,\n                      TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3177,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3191,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3192,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - base
    - char_code
    argTypes:
    - FT_Byte*
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3204
      start: 3173
    functionDepth: 1
    functionLinenumber: 3173
    functionLinenumberEnd: 3204
    functionName: tt_cmap14_char_map_def_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    - TT_NEXT_UINT24
    - FT_NEXT_BYTE
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap14_char_map_def_binary( FT_Byte    *base,\n                                 FT_UInt32
      \  char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3211,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3225,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - base
    - char_code
    argTypes:
    - FT_Byte*
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3237
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3237
    functionName: tt_cmap14_char_map_nondef_binary
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    - TT_NEXT_UINT24
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt tt_cmap14_char_map_nondef_binary( FT_Byte    *base,\n                                    FT_UInt32
      \  char_code )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3244,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - base
    - variantCode
    argTypes:
    - FT_Byte*
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3240
    functionDepth: 0
    functionLinenumber: 3240
    functionLinenumberEnd: 3270
    functionName: tt_cmap14_find_variant
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_PEEK_ULONG
    - TT_NEXT_UINT24
    linkageType: ''
    returnType: FT_Byte
    signature: "FT_Byte *\n  tt_cmap14_find_variant( FT_Byte    *base,\n                          FT_UInt32
      \  variantCode )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_find_variant
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3279,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3287,1
    - Dst: TT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3288,1
    - Dst: tt_cmap14_char_map_def_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3291,1
    - Dst: TT_CMap::cmap::clazz::char_index
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3295,1
    - Dst: tt_cmap14_char_map_nondef_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - cmap
    - ucmap
    - charcode
    - variantSelector
    argTypes:
    - TT_CMap
    - TT_CMap
    - FT_UInt32
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3274
    functionDepth: 2
    functionLinenumber: 3274
    functionLinenumberEnd: 3303
    functionName: tt_cmap14_char_var_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap14_char_map_def_binary
    - TT_PEEK_ULONG
    - TT_NEXT_ULONG
    - tt_cmap14_char_map_nondef_binary
    - tt_cmap14_find_variant
    - TT_CMap::cmap::clazz::char_index
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_char_var_index( TT_CMap    cmap,\n                            TT_CMap
      \   ucmap,\n                            FT_UInt32  charcode,\n                            FT_UInt32
      \ variantSelector )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_find_variant
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3311,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3319,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3320,1
    - Dst: tt_cmap14_char_map_def_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3323,1
    - Dst: tt_cmap14_char_map_nondef_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - cmap
    - charcode
    - variantSelector
    argTypes:
    - TT_CMap
    - FT_UInt32
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3307
    functionDepth: 2
    functionLinenumber: 3307
    functionLinenumberEnd: 3332
    functionName: tt_cmap14_char_var_isdefault
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - tt_cmap14_char_map_nondef_binary
    - tt_cmap14_char_map_def_binary
    - tt_cmap14_find_variant
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_char_var_isdefault( TT_CMap    cmap,\n                                FT_UInt32
      \ charcode,\n                                FT_UInt32  variantSelector )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_ensure
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3346,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cmap
    - memory
    argTypes:
    - TT_CMap
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3336
    functionDepth: 2
    functionLinenumber: 3336
    functionLinenumberEnd: 3358
    functionName: tt_cmap14_variants
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap14_ensure
    - TT_NEXT_UINT24
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_variants( TT_CMap    cmap,\n                      FT_Memory
      \ memory )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_ensure
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3372,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3377,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3378,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3379,1
    - Dst: tt_cmap14_char_map_def_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3383,1
    - Dst: tt_cmap14_char_map_nondef_binary
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3386,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - cmap
    - memory
    - charCode
    argTypes:
    - TT_CMap
    - FT_Memory
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3362
    functionDepth: 2
    functionLinenumber: 3362
    functionLinenumberEnd: 3396
    functionName: tt_cmap14_char_variants
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap14_char_map_def_binary
    - TT_NEXT_ULONG
    - tt_cmap14_char_map_nondef_binary
    - TT_NEXT_UINT24
    - tt_cmap14_ensure
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_char_variants( TT_CMap    cmap,\n                           FT_Memory
      \ memory,\n                           FT_UInt32  charCode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - FT_Byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3414
      start: 3399
    functionDepth: 0
    functionLinenumber: 3399
    functionLinenumberEnd: 3414
    functionName: tt_cmap14_def_char_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    linkageType: ''
    returnType: FT_UInt
    signature: FT_UInt tt_cmap14_def_char_count( FT_Byte  *p )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_def_char_count
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3428,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3429,1
    - Dst: tt_cmap14_ensure
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3431,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3436,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cmap
    - p
    - memory
    argTypes:
    - TT_CMap
    - FT_Byte*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3417
    functionDepth: 2
    functionLinenumber: 3417
    functionLinenumberEnd: 3451
    functionName: tt_cmap14_get_def_chars
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap14_def_char_count
    - TT_NEXT_ULONG
    - FT_NEXT_BYTE
    - TT_NEXT_UINT24
    - tt_cmap14_ensure
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 *\n  tt_cmap14_get_def_chars( TT_CMap    cmap,\n                           FT_Byte*
      \  p,\n                           FT_Memory  memory )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3465,1
    - Dst: tt_cmap14_ensure
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3467,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3473,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - cmap
    - p
    - memory
    argTypes:
    - TT_CMap
    - FT_Byte*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3479
      start: 3454
    functionDepth: 2
    functionLinenumber: 3454
    functionLinenumberEnd: 3479
    functionName: tt_cmap14_get_nondef_chars
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_NEXT_ULONG
    - tt_cmap14_ensure
    - TT_NEXT_UINT24
    linkageType: ''
    returnType: FT_UInt32
    signature: "FT_UInt32 *\n  tt_cmap14_get_nondef_chars( TT_CMap     cmap,\n                              FT_Byte
      \   *p,\n                              FT_Memory   memory )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: tt_cmap14_find_variant
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3487,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3497,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3498,1
    - Dst: tt_cmap14_get_nondef_chars
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3504,1
    - Dst: tt_cmap14_get_def_chars
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3507,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3528,1
    - Dst: tt_cmap14_def_char_count
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3529,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3530,1
    - Dst: tt_cmap14_get_def_chars
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3533,1
    - Dst: tt_cmap14_get_nondef_chars
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3536,1
    - Dst: tt_cmap14_ensure
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3539,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3543,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3544,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3546,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3563,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3564,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3576,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3589,1
    - Dst: TT_NEXT_UINT24
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3604,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3605,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 3
    argNames:
    - cmap
    - memory
    - variantSelector
    argTypes:
    - TT_CMap
    - FT_Memory
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3617
      start: 3483
    functionDepth: 3
    functionLinenumber: 3483
    functionLinenumberEnd: 3617
    functionName: tt_cmap14_variant_chars
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_cmap14_get_def_chars
    - TT_NEXT_ULONG
    - tt_cmap14_def_char_count
    - TT_NEXT_UINT24
    - FT_NEXT_BYTE
    - tt_cmap14_find_variant
    - tt_cmap14_ensure
    - tt_cmap14_get_nondef_chars
    linkageType: ''
    returnType: void
    signature: "void tt_cmap14_variant_chars( TT_CMap    cmap,\n                           FT_Memory
      \ memory,\n                           FT_UInt32  variantSelector )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_get_ps_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - face
    - idx
    argTypes:
    - TT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3658
    functionDepth: 1
    functionLinenumber: 3658
    functionLinenumberEnd: 3667
    functionName: tt_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - tt_face_get_ps_name
    linkageType: ''
    returnType: void
    signature: "void tt_get_glyph_name( TT_Face  face,\n                     FT_UInt
      \ idx )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3674,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3675,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3678,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3682,1
    - Dst: FT_Service_PsCMaps::unicodes_init
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - unicodes
    - pointer
    argTypes:
    - PS_Unicodes
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3690
      start: 3671
    functionDepth: 1
    functionLinenumber: 3671
    functionLinenumberEnd: 3690
    functionName: tt_cmap_unicode_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_Service_PsCMaps::unicodes_init
    - FT_CMAP_FACE
    - FT_FACE_MEMORY
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_cmap_unicode_init( PS_Unicodes  unicodes,\n                        FT_Pointer
      \  pointer )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3696,1
    - Dst: FT_FACE_MEMORY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3697,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - unicodes
    argTypes:
    - PS_Unicodes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3702
      start: 3694
    functionDepth: 1
    functionLinenumber: 3694
    functionLinenumberEnd: 3702
    functionName: tt_cmap_unicode_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_FREE
    - FT_FACE_MEMORY
    linkageType: ''
    returnType: void
    signature: void tt_cmap_unicode_done( PS_Unicodes  unicodes )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3709,1
    - Dst: FT_Service_PsCMaps::unicodes_char_index
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - char_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3714
      start: 3706
    functionDepth: 1
    functionLinenumber: 3706
    functionLinenumberEnd: 3714
    functionName: tt_cmap_unicode_char_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_index
    linkageType: ''
    returnType: void
    signature: "void tt_cmap_unicode_char_index( PS_Unicodes  unicodes,\n                              FT_UInt32
      \   char_code )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_CMAP_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3721,1
    - Dst: FT_Service_PsCMaps::unicodes_char_next
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - unicodes
    - pchar_code
    argTypes:
    - PS_Unicodes
    - FT_UInt32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3726
      start: 3718
    functionDepth: 1
    functionLinenumber: 3718
    functionLinenumberEnd: 3726
    functionName: tt_cmap_unicode_char_next
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_CMAP_FACE
    - FT_Service_PsCMaps::unicodes_char_next
    linkageType: ''
    returnType: void
    signature: "void tt_cmap_unicode_char_next( PS_Unicodes  unicodes,\n                             FT_UInt32
      \  *pchar_code )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE_LIBRARY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3771,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3773,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3777,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3780,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3782,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3784,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3785,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3788,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3796,1
    - Dst: TT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3797,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3798,1
    - Dst: TT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3800,1
    - Dst: TT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3805,1
    - Dst: ft_validator_init
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3819,1
    - Dst: FT_VALIDATOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3819,1
    - Dst: ft_setjmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3824,1
    - Dst: FT_VALIDATOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3824,1
    - Dst: TT_CMap_Class::validate
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3827,1
    - Dst: FT_VALIDATOR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3827,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3839,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3849,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3858,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3865
      start: 3765
    functionDepth: 3
    functionLinenumber: 3765
    functionLinenumberEnd: 3865
    functionName: tt_face_build_cmaps
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - TT_CMap_Class::validate
    - FT_CMap_New
    - TT_NEXT_USHORT
    - FT_FACE
    - FT_VALIDATOR
    - TT_NEXT_ULONG
    - ft_validator_init
    - FT_TRACE0
    - FT_THROW
    - ft_setjmp
    - FT_UNUSED
    - FT_FACE_LIBRARY
    - FT_ERROR
    - TT_PEEK_USHORT
    linkageType: ''
    returnType: void
    signature: void tt_face_build_cmaps( TT_Face  face )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TT_CMap_Class::get_cmap_info
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3876,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c:3878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - charmap
    - cmap_info
    argTypes:
    - FT_CharMap
    - TT_CMapInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3869
    functionDepth: 0
    functionLinenumber: 3869
    functionLinenumberEnd: 3879
    functionName: tt_get_cmap_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcmap.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - TT_CMap_Class::get_cmap_info
    linkageType: ''
    returnType: void
    signature: "void tt_get_cmap_info( FT_CharMap    charmap,\n                    TT_CMapInfo
      \ *cmap_info )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:101,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:103,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:110,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:115,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:118,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:122,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:123,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:131,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:132,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:149,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:152,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:153,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 156
    functionName: tt_face_load_colr
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_FREE
    - TT_Face::goto_table
    - FT_FRAME_RELEASE
    - FT_NEW
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_colr( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:170,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: tt_face_free_colr
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_colr( TT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:191,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:201,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - base_glyph_begin
    - num_base_glyph
    - glyph_id
    - record
    argTypes:
    - FT_Byte*
    - FT_Int
    - FT_UInt
    - BaseGlyphRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 209
    functionName: find_base_glyph_record
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool find_base_glyph_record( FT_Byte*          base_glyph_begin,\n
      \                         FT_Int            num_base_glyph,\n                          FT_UInt
      \          glyph_id,\n                          BaseGlyphRecord*  record )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: find_base_glyph_record
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:234,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:255,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:256,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:258,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - face
    - base_glyph
    - aglyph_index
    - acolor_index
    - iterator
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_UInt*
    - FT_UInt*
    - FT_LayerIterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 266
    functionName: tt_face_get_colr_layer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c
    functionUses: 0
    functionsReached:
    - FT_NEXT_USHORT
    - find_base_glyph_record
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_colr_layer( TT_Face            face,\n                          FT_UInt
      \           base_glyph,\n                          FT_UInt           *aglyph_index,\n
      \                         FT_UInt           *acolor_index,\n                          FT_LayerIterator*
      \ iterator )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ft_glyphslot_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:300,1
    - Dst: FT_MEM_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:304,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:312,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:313,1
    - Dst: FT_MIN
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:316,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:318,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:337,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:347,1
    - Dst: ft_glyphslot_set_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c:353,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 78
    argCount: 4
    argNames:
    - face
    - color_index
    - dstSlot
    - srcSlot
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_GlyphSlot
    - FT_GlyphSlot
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 442
    functionName: tt_face_colr_blend_layer
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcolr.c
    functionUses: 0
    functionsReached:
    - FT_MEM_COPY
    - FT_MIN
    - FT_ALLOC
    - FT_MEM_ZERO
    - FT_MAX
    - ft_glyphslot_alloc_bitmap
    - ft_glyphslot_set_bitmap
    linkageType: ''
    returnType: void
    signature: "void tt_face_colr_blend_layer( TT_Face       face,\n                            FT_UInt
      \      color_index,\n                            FT_GlyphSlot  dstSlot,\n                            FT_GlyphSlot
      \ srcSlot )"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:90,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:97,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:102,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:105,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:109,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:110,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:112,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:113,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:145,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:146,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:147,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:157,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:165,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:178,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:186,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:199,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:207,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:219,1
    - Dst: tt_face_palette_set
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:223,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:229,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:232,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:233,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 116
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 241
    functionName: tt_face_load_cpal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - tt_face_palette_set
    - FT_NEXT_ULONG
    - FT_FRAME_EXTRACT
    - FT_QNEW_ARRAY
    - FT_THROW
    - FT_FREE
    - TT_Face::goto_table
    - FT_FRAME_RELEASE
    - FT_NEW
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_cpal( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:255,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: tt_face_free_cpal
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_cpal( TT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:277,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:280,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:284,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:292,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:293,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:294,1
    - Dst: FT_NEXT_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - face
    - palette_index
    argTypes:
    - TT_Face
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 301
    functionName: tt_face_palette_set
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttcpal.c
    functionUses: 1
    functionsReached:
    - FT_THROW
    - FT_PEEK_USHORT
    - FT_NEXT_BYTE
    linkageType: ''
    returnType: void
    signature: "void tt_face_palette_set( TT_Face  face,\n                       FT_UInt
      \ palette_index )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:68,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:86,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:97,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - face
    - tag
    argTypes:
    - TT_Face
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 103
    functionName: tt_face_lookup_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_TRACE4
    linkageType: ''
    returnType: void
    signature: "void tt_face_lookup_table( TT_Face   face,\n                        FT_ULong
      \ tag  )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:141,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:147,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - face
    - tag
    - stream
    - length
    argTypes:
    - TT_Face
    - FT_ULong
    - FT_Stream
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 155
    functionName: tt_face_goto_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - tt_face_lookup_table
    - FT_STREAM_SEEK
    linkageType: ''
    returnType: void
    signature: "void tt_face_goto_table( TT_Face    face,\n                      FT_ULong
      \  tag,\n                      FT_Stream  stream,\n                      FT_ULong*
      \ length )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:190,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:191,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:192,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:193,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:194,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:199,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:207,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:210,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:221,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:236,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:264,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:266,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:270,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:271,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:275,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:278,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:291,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:292,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:304,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:306,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:308,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:310,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 67
    argCount: 3
    argNames:
    - sfnt
    - stream
    - valid
    argTypes:
    - SFNT_Header
    - FT_Stream
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 315
    functionName: check_table_dir
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_TRACE2
    - FT_FRAME_ULONG
    - FT_READ_ULONG
    - FT_FRAME_START
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error check_table_dir( SFNT_Header  sfnt,\n                   FT_Stream
      \   stream,\n                   FT_UShort*   valid )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:357,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:358,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:359,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:360,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:361,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:366,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:370,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:372,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:373,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:380,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:385,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:386,1
    - Dst: check_table_dir
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:391,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:394,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:405,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:408,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:409,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:412,1
    - Dst: FT_GET_TAG4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:424,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:425,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:426,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:427,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:446,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:484,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:489,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:499,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:501,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 64
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 505
    functionName: tt_face_load_font_dir
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_GET_TAG4
    - check_table_dir
    - FT_STREAM_SEEK
    - FT_GET_ULONG
    - FT_QNEW_ARRAY
    - FT_THROW
    - FT_READ_ULONG
    - FT_TRACE2
    - FT_STREAM_POS
    - FT_FRAME_START
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_font_dir( TT_Face    face,\n                         FT_Stream
      \ stream )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:569,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:572,1
    - Dst: FT_STREAM_READ_AT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - face
    - tag
    - offset
    - buffer
    - length
    argTypes:
    - TT_Face
    - FT_ULong
    - FT_Long
    - FT_Byte*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 600
    functionName: tt_face_load_any
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - tt_face_lookup_table
    - FT_STREAM_READ_AT
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_any( TT_Face    face,\n                    FT_ULong
      \  tag,\n                    FT_Long    offset,\n                    FT_Byte*
      \  buffer,\n                    FT_ULong*  length )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:634,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:635,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:636,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:637,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:638,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:639,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:640,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:641,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:642,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:643,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:644,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:645,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:646,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:647,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:648,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:649,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:650,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:651,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:652,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:653,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:658,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:664,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:667,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - face
    - stream
    - tag
    argTypes:
    - TT_Face
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 672
    functionName: tt_face_load_generic_header
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_TRACE3
    - FT_FRAME_SHORT
    - FT_FRAME_ULONG
    - TT_Face::goto_table
    - FT_FRAME_START
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_face_load_generic_header( TT_Face    face,\n                               FT_Stream
      \ stream,\n                               FT_ULong   tag )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_load_generic_header
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 680
    functionName: tt_face_load_head
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - tt_face_load_generic_header
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_head( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_load_generic_header
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 686
    functionDepth: 2
    functionLinenumber: 686
    functionLinenumberEnd: 690
    functionName: tt_face_load_bhed
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - tt_face_load_generic_header
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_bhed( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:725,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:726,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:727,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:733,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:734,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:735,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:736,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:737,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:738,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:739,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:740,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:741,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:742,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:743,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:744,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:745,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:746,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:751,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:755,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:774,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:789,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 802
    functionName: tt_face_load_maxp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_TRACE3
    - TT_Face::goto_table
    - FT_FRAME_START
    - FT_TRACE0
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_maxp( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:838,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:839,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:840,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:841,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:851,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:852,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:853,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:854,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:855,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:856,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:866,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:867,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:875,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:879,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:881,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:896,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:897,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:905,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:906,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:912,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:913,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:924,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:937,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:939,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:943,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:944,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:955,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:988,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:994,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 66
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 824
    functionDepth: 1
    functionLinenumber: 824
    functionLinenumberEnd: 1001
    functionName: tt_face_load_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_NEW_ARRAY
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_FRAME_ENTER
    - FT_RENEW_ARRAY
    - TT_Face::goto_table
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_STREAM_POS
    - FT_FRAME_START
    - FT_READ_USHORT
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_name( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1030,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1032,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1042,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1044,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1051
    functionName: tt_face_free_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_name( TT_Face  face )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1081,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1085,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1075
    functionDepth: 1
    functionLinenumber: 1075
    functionLinenumberEnd: 1090
    functionName: tt_face_load_cmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_cmap( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1124,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1125,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1126,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1127,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1128,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1129,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1130,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1131,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1132,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1133,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1134,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1135,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1136,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1137,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1138,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1139,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1140,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1141,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1142,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1143,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1144,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1145,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1146,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1147,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1148,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1149,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1150,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1151,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1152,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1153,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1154,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1155,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1156,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1157,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1158,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1160,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1161,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1162,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1163,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1164,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1165,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1166,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1167,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1174,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1175,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1176,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1183,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1184,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1185,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1186,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1187,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1188,1
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1195,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1196,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1197,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1205,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1211,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1227,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1233,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1239,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1245,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1246,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1247,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1248,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1253
    functionName: tt_face_load_os2
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_TRACE3
    - TT_Face::goto_table
    - FT_FRAME_SHORT
    - FT_FRAME_ULONG
    - FT_FRAME_BYTE
    - FT_FRAME_START
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_os2( TT_Face    face,\n                    FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1286,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1287,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1288,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1289,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1290,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1291,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1292,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1293,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1294,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1295,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1300,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1304,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1310,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1311,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1315
    functionName: tt_face_load_post
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_STREAM_READ_FIELDS
    - FT_TRACE3
    - FT_FRAME_SHORT
    - FT_FRAME_ULONG
    - TT_Face::goto_table
    - FT_FRAME_START
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_post( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1345,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1346,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1347,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1348,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1349,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1350,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1351,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1352,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1353,1
    - Dst: FT_FRAME_BYTES
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1354,1
    - Dst: FT_FRAME_BYTES
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1355,1
    - Dst: FT_FRAME_BYTES
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1356,1
    - Dst: FT_FRAME_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1357,1
    - Dst: FT_FRAME_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1358,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1359,1
    - Dst: FT_FRAME_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1360,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1369,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1373,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1378
    functionName: tt_face_load_pclt
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - TT_Face::goto_table
    - FT_FRAME_BYTE
    - FT_FRAME_BYTES
    - FT_FRAME_CHAR
    - FT_FRAME_ULONG
    - FT_FRAME_START
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_pclt( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1411,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1415,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1418,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1419,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1421,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1427,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1432,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1434,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1435,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1442,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1443,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1445,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c:1451,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1455
    functionName: tt_face_load_gasp
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttload.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_TRACE3
    - FT_QNEW_ARRAY
    - FT_THROW
    - FT_GET_USHORT
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_gasp( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - face
    - tag
    argTypes:
    - TT_Face
    - FT_Sfnt_Tag
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 121
    functionName: get_sfnt_table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\n  get_sfnt_table( TT_Face      face,\n                  FT_Sfnt_Tag
      \ tag )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:132,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:139,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - face
    - idx
    - tag
    - offset
    - length
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_ULong*
    - FT_ULong*
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 147
    functionName: sfnt_table_info
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error sfnt_table_info( TT_Face    face,\n                   FT_UInt
      \   idx,\n                   FT_ULong  *tag,\n                   FT_ULong  *offset,\n
      \                  FT_ULong  *length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_get_ps_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:176,1
    - Dst: FT_STRCPYN
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - face
    - glyph_index
    - buffer
    - buffer_max
    argTypes:
    - FT_Face
    - FT_UInt
    - FT_Pointer
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: sfnt_get_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - tt_face_get_ps_name
    - FT_STRCPYN
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error sfnt_get_glyph_name( FT_Face     face,\n                       FT_UInt
      \    glyph_index,\n                       FT_Pointer  buffer,\n                       FT_UInt
      \    buffer_max )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:198,1
    - Dst: tt_face_get_ps_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:204,1
    - Dst: ft_strcmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:210,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - face
    - glyph_name
    argTypes:
    - FT_Face
    - FT_String*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 215
    functionName: sfnt_get_name_index
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - tt_face_get_ps_name
    - ft_strcmp
    linkageType: ''
    returnType: FT_UInt
    signature: "FT_UInt sfnt_get_name_index( FT_Face           face,\n                       const
      FT_String*  glyph_name )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: sfnt_is_postscript
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sfnt_is_postscript( int  c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: sfnt_is_alphanumeric
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - ft_isalnum
    linkageType: ''
    returnType: int
    signature: int sfnt_is_alphanumeric( int  c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: ROTL32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL32( x, r )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - h
    argTypes:
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 293
    functionName: fmix32
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_UInt32
    signature: FT_UInt32 fmix32( FT_UInt32  h )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:329,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:333,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:338,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:342,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:347,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:351,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:356,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:360,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:385,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:402,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:419,1
    - Dst: ROTL32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:436,1
    - Dst: fmix32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:455,1
    - Dst: fmix32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:456,1
    - Dst: fmix32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:457,1
    - Dst: fmix32
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 104
    argCount: 4
    argNames:
    - key
    - len
    - seed
    - out
    argTypes:
    - void*
    - unsigned int
    - FT_UInt32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 472
    functionName: murmur_hash_3_128
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - ROTL32
    - fmix32
    linkageType: ''
    returnType: void
    signature: "void murmur_hash_3_128( const void*         key,\n                     const
      unsigned int  len,\n                     FT_UInt32           seed,\n                     void*
      \              out )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: IS_WIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WIN( n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: IS_APPLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_APPLE( n )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:502,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:505,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:508,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:509,1
    - Dst: char_type
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:517,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:522,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:531,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:537,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:541,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 5
    argNames:
    - memory
    - stream
    - entry
    - char_type
    - report_invalid_characters
    argTypes:
    - FT_Memory
    - FT_Stream
    - TT_Name
    - char_type_func
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 544
    functionName: get_win_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_ALLOC
    - FT_STREAM_SEEK
    - char_type
    - FT_FREE
    - FT_TRACE0
    - FT_UNUSED
    linkageType: ''
    returnType: char
    signature: "char *\n  get_win_string( FT_Memory       memory,\n                  FT_Stream
      \      stream,\n                  TT_Name         entry,\n                  char_type_func
      \ char_type,\n                  FT_Bool         report_invalid_characters )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:561,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:564,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:567,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:568,1
    - Dst: char_type
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:576,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:581,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:590,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:596,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:600,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - memory
    - stream
    - entry
    - char_type
    - report_invalid_characters
    argTypes:
    - FT_Memory
    - FT_Stream
    - TT_Name
    - char_type_func
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 603
    functionName: get_apple_string
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_ALLOC
    - FT_STREAM_SEEK
    - char_type
    - FT_FREE
    - FT_TRACE0
    - FT_UNUSED
    linkageType: ''
    returnType: char
    signature: "char *\n  get_apple_string( FT_Memory       memory,\n                    FT_Stream
      \      stream,\n                    TT_Name         entry,\n                    char_type_func
      \ char_type,\n                    FT_Bool         report_invalid_characters
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IS_WIN
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:625,1
    - Dst: IS_APPLE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:628,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 4
    argNames:
    - face
    - id
    - win
    - apple
    argTypes:
    - TT_Face
    - FT_UShort
    - FT_Int*
    - FT_Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 634
    functionName: sfnt_get_name_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - IS_WIN
    - IS_APPLE
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool sfnt_get_name_id( TT_Face    face,\n                    FT_UShort
      \ id,\n                    FT_Int    *win,\n                    FT_Int    *apple
      )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: NEG_INT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:691,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 2
    argNames:
    - fixed
    - buf
    argTypes:
    - FT_Int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 773
    functionName: fixed2float
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - NEG_INT
    linkageType: ''
    returnType: char
    signature: "char *\n  fixed2float( FT_Int  fixed,\n               char*   buf
      )"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: sfnt_get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:808,1
    - Dst: sfnt_get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:815,1
    - Dst: sfnt_get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:826,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:834,1
    - Dst: get_win_string
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:841,1
    - Dst: get_apple_string
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:847,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:855,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:860,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:871,1
    - Dst: FT_Service_MultiMasters::get_var_blend
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:881,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:881,1
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:887,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:887,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:888,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:888,1
    - Dst: SFNT_Service::get_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:901,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:906,1
    - Dst: SFNT_Service::get_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:919,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:923,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:932,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:933,1
    - Dst: ft_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:936,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:944,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:950,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:961,1
    - Dst: ft_strcpy
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:968,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:982,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:985,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:988,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:991,1
    - Dst: ft_isalnum
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:994,1
    - Dst: murmur_hash_3_128
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1011,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 108
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 1039
    functionName: sfnt_get_var_ps_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::get_name
    - FT_IS_NAMED_INSTANCE
    - sfnt_get_name_id
    - FT_TRACE1
    - ft_strlen
    - FT_FACE
    - FT_ALLOC
    - ft_strcpy
    - FT_IS_VARIATION
    - get_apple_string
    - ft_isalnum
    - murmur_hash_3_128
    - FT_Service_MultiMasters::get_var_blend
    - FT_FREE
    - get_win_string
    - FT_TRACE0
    - fixed2float
    linkageType: ''
    returnType: char
    signature: "char *\n  sfnt_get_var_ps_name( TT_Face  face )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_IS_NAMED_INSTANCE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1056,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1056,1
    - Dst: FT_IS_VARIATION
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1057,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1057,1
    - Dst: sfnt_get_var_ps_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1059,1
    - Dst: sfnt_get_name_id
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1066,1
    - Dst: get_win_string
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1072,1
    - Dst: get_apple_string
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1078,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1087
    functionName: sfnt_get_ps_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_IS_NAMED_INSTANCE
    - sfnt_get_name_id
    - FT_FACE
    - FT_IS_VARIATION
    - get_apple_string
    - sfnt_get_var_ps_name
    - get_win_string
    linkageType: ''
    returnType: char
    signature: "char *\n  sfnt_get_ps_name( TT_Face  face )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tt_face_find_bdf_prop
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1124,1
    - Dst: tt_face_find_bdf_prop
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1127,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - face
    - acharset_encoding
    - acharset_registry
    argTypes:
    - TT_Face
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1142
    functionName: sfnt_get_charset_id
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - tt_face_find_bdf_prop
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error sfnt_get_charset_id( TT_Face       face,\n                       const
      char*  *acharset_encoding,\n                       const char*  *acharset_registry
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1199,1
    - Dst: ft_service_list_lookup
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c:1201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - module
    - module_interface
    argTypes:
    - FT_Module
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1202
    functionName: sfnt_get_interface
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached:
    - ft_service_list_lookup
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void sfnt_get_interface( FT_Module    module,\n                      const
      char*  module_interface )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1207
    functionName: PUT_EMBEDDED_BITMAPS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_EMBEDDED_BITMAPS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1209
    functionName: PUT_EMBEDDED_BITMAPS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_EMBEDDED_BITMAPS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1212
    functionDepth: 0
    functionLinenumber: 1212
    functionLinenumberEnd: 1213
    functionName: PUT_COLOR_LAYERS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_COLOR_LAYERS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1215
    functionName: PUT_COLOR_LAYERS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_COLOR_LAYERS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1219
    functionName: PUT_PS_NAMES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_PS_NAMES( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1221
    functionName: PUT_PS_NAMES
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfdriver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_PS_NAMES( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: MAC_NAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_NAME( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: MAC_NAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAC_NAME( x )
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:174,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:185,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:194,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:195,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:199,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:201,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:231,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:239,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:243,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:244,1
    - Dst: FT_READ_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:246,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:251,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:253,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:256,1
    - Dst: FT_MAX
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:260,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:263,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:264,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:272,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:277,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:302,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:306,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:307,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 3
    argNames:
    - face
    - stream
    - post_limit
    argTypes:
    - TT_Face
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 311
    functionName: load_format_20
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_NEW_ARRAY
    - FT_FRAME_ENTER
    - FT_READ_BYTE
    - FT_STREAM_READ
    - FT_TRACE6
    - FT_THROW
    - FT_MAX
    - FT_GET_USHORT
    - FT_FREE
    - FT_STREAM_POS
    - FT_READ_USHORT
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_format_20( TT_Face    face,\n                  FT_Stream
      \ stream,\n                  FT_ULong   post_limit )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:325,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:328,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:336,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:340,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:341,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:356,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:374,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 3
    argNames:
    - face
    - stream
    - post_limit
    argTypes:
    - TT_Face
    - FT_Stream
    - FT_ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 378
    functionName: load_format_25
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_STREAM_READ
    - FT_THROW
    - FT_FREE
    - FT_READ_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error load_format_25( TT_Face    face,\n                  FT_Stream
      \ stream,\n                  FT_ULong   post_limit )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:395,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:399,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:404,1
    - Dst: load_format_20
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:409,1
    - Dst: load_format_25
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:411,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:413,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 419
    functionName: load_post_names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached:
    - TT_Face::goto_table
    - FT_STREAM_SKIP
    - FT_THROW
    - load_format_25
    - load_format_20
    - FT_STREAM_POS
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error load_post_names( TT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:440,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:444,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:446,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 459
    functionName: tt_face_free_ps_names
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_ps_names( TT_Face  face )
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:502,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:505,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:510,1
    - Dst: MAC_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:516,1
    - Dst: MAC_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:523,1
    - Dst: load_post_names
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:532,1
    - Dst: MAC_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:543,1
    - Dst: load_post_names
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:555,1
    - Dst: MAC_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c:561,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 3
    argNames:
    - face
    - idx
    - PSname
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_String**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 488
    functionDepth: 3
    functionLinenumber: 488
    functionLinenumberEnd: 568
    functionName: tt_face_get_ps_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttpost.c
    functionUses: 3
    functionsReached:
    - FT_THROW
    - MAC_NAME
    - load_post_names
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_ps_name( TT_Face      face,\n                       FT_UInt
      \     idx,\n                       FT_String**  PSname )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:48,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 58
    functionName: tt_face_free_bdf_props
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    - FT_FACE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_bdf_props( TT_Face  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:70,1
    - Dst: tt_face_goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:72,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:75,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:77,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:85,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:86,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:87,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:111,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:132,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:133,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 61
    functionDepth: 3
    functionLinenumber: 61
    functionLinenumberEnd: 136
    functionName: tt_face_load_bdf_props
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_ZERO
    - tt_face_goto_table
    - FT_FRAME_RELEASE
    - FT_PEEK_USHORT
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_face_load_bdf_props( TT_Face    face,\n                          FT_Stream
      \ stream )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:145,1
    - Dst: tt_face_load_bdf_props
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:157,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:157,1
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:166,1
    - Dst: ft_strlen
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:171,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:177,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:178,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:195,1
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:200,1
    - Dst: FT_PEEK_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:201,1
    - Dst: ft_strncmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:206,1
    - Dst: ft_memchr
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c:216,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 3
    argNames:
    - face
    - property_name
    - aprop
    argTypes:
    - TT_Face
    - char*
    - BDF_PropertyRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 247
    functionName: tt_face_find_bdf_prop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttbdf.c
    functionUses: 1
    functionsReached:
    - FT_FACE
    - ft_strlen
    - ft_memchr
    - ft_strncmp
    - tt_face_load_bdf_props
    - FT_NEXT_USHORT
    - FT_PEEK_ULONG
    - FT_PEEK_USHORT
    - FT_ERR
    linkageType: ''
    returnType: void
    signature: "void tt_face_find_bdf_prop( TT_Face           face,\n                         const
      char*       property_name,\n                         BDF_PropertyRec  *aprop
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:96,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - face
    - stream
    - vertical
    argTypes:
    - TT_Face
    - FT_Stream
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 105
    functionName: tt_face_load_hmtx
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_POS
    - TT_Face::goto_table
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_hmtx( TT_Face    face,\n                     FT_Stream
      \ stream,\n                     FT_Bool    vertical )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:142,1
    - Dst: FT_FRAME_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:143,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:144,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:145,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:146,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:147,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:148,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:149,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:150,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:151,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:152,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:153,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:154,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:155,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:156,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:157,1
    - Dst: FT_FRAME_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:158,1
    - Dst: FT_FRAME_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:159,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:169,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:177,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:184,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:187,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:188,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:189,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 3
    argNames:
    - face
    - stream
    - vertical
    argTypes:
    - TT_Face
    - FT_Stream
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 196
    functionName: tt_face_load_hhea
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_USHORT
    - FT_TRACE3
    - FT_FRAME_SHORT
    - FT_FRAME_ULONG
    - TT_Face::goto_table
    - FT_FRAME_START
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_hhea( TT_Face    face,\n                     FT_Stream
      \ stream,\n                     FT_Bool    vertical )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:275,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:276,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:277,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:286,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:287,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:295,1
    - Dst: FT_READ_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:298,1
    - Dst: FT_FACE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:312,1
    - Dst: FT_Service_MetricsVariations::vadvance_adjust
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:320,1
    - Dst: FT_Service_MetricsVariations::tsb_adjust
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:322,1
    - Dst: FT_Service_MetricsVariations::hadvance_adjust
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:327,1
    - Dst: FT_Service_MetricsVariations::lsb_adjust
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c:329,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 5
    argNames:
    - face
    - vertical
    - gindex
    - abearing
    - aadvance
    argTypes:
    - TT_Face
    - FT_Bool
    - FT_UInt
    - FT_Short*
    - FT_UShort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 336
    functionName: tt_face_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttmtx.c
    functionUses: 0
    functionsReached:
    - FT_FACE
    - FT_Service_MetricsVariations::vadvance_adjust
    - FT_Service_MetricsVariations::hadvance_adjust
    - FT_STREAM_SEEK
    - FT_Service_MetricsVariations::lsb_adjust
    - FT_Service_MetricsVariations::tsb_adjust
    - FT_READ_USHORT
    - FT_READ_SHORT
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_metrics( TT_Face     face,\n                       FT_Bool
      \    vertical,\n                       FT_UInt     gindex,\n                       FT_Short
      \  *abearing,\n                       FT_UShort  *aadvance )"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:63,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:68,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:70,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:77,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:86,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:87,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:91,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:104,1
    - Dst: FT_NEXT_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:111,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:112,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:121,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:127,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:151,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:154,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:155,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:156,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:158,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:162,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:172,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:179,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:192,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:192,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:196,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:205,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:210,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:228,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:230,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:232,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:236,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:243,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:256,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 125
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 262
    functionName: tt_face_load_sbit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_TRACE1
    - FT_TRACE3
    - FT_NEXT_LONG
    - TT_Face::goto_table
    - FT_FRAME_EXTRACT
    - FT_NEXT_ULONG
    - FT_GET_ULONG
    - FT_STREAM_SEEK
    - FT_THROW
    - FT_GET_USHORT
    - FT_TRACE2
    - FT_STREAM_POS
    - FT_FRAME_RELEASE
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_sbit( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: tt_face_free_sbit
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: void
    signature: void tt_face_free_sbit( TT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Match_Size
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - face
    - req
    - astrike_index
    argTypes:
    - TT_Face
    - FT_Size_Request
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: tt_face_set_sbit_strike
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_Match_Size
    linkageType: ''
    returnType: void
    signature: "void tt_face_set_sbit_strike( TT_Face          face,\n                           FT_Size_Request
      \ req,\n                           FT_ULong*        astrike_index )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:298,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:306,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:348,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:377,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:394,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:397,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:417,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:420,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:422,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:423,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:426,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:427,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:429,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:431,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:442,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:444,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:446,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:449,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:453,1
    - Dst: FT_MulDiv
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:456,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:464,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 3
    argNames:
    - face
    - strike_index
    - metrics
    argTypes:
    - TT_Face
    - FT_ULong
    - FT_Size_Metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 466
    functionName: tt_face_load_strike_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_STREAM_SEEK
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_GET_USHORT
    - FT_TRACE2
    - FT_MulDiv
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_strike_metrics( TT_Face           face,\n                               FT_ULong
      \         strike_index,\n                               FT_Size_Metrics*  metrics
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:496,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:504,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:528,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:534,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:536,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - decoder
    - face
    - strike_index
    - metrics
    argTypes:
    - TT_SBitDecoder
    - TT_Face
    - FT_ULong
    - TT_SBit_MetricsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 550
    functionName: tt_sbit_decoder_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_STREAM_SEEK
    - FT_ERR
    - FT_NEXT_ULONG
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_init( TT_SBitDecoder       decoder,\n                        TT_Face
      \             face,\n                        FT_ULong             strike_index,\n
      \                       TT_SBit_MetricsRec*  metrics )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - decoder
    argTypes:
    - TT_SBitDecoder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 557
    functionName: tt_sbit_decoder_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void tt_sbit_decoder_done( TT_SBitDecoder  decoder )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:572,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:615,1
    - Dst: ft_glyphslot_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:628,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 2
    argNames:
    - decoder
    - metrics_only
    argTypes:
    - TT_SBitDecoder
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 636
    functionName: tt_sbit_decoder_alloc_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - ft_glyphslot_alloc_bitmap
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_alloc_bitmap( TT_SBitDecoder  decoder,\n
      \                               FT_Bool         metrics_only )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:683,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 4
    argNames:
    - decoder
    - pp
    - limit
    - big
    argTypes:
    - TT_SBitDecoder
    - FT_Byte**
    - FT_Byte*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 685
    functionName: tt_sbit_decoder_load_metrics
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE1
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_metrics( TT_SBitDecoder  decoder,\n
      \                               FT_Byte*       *pp,\n                                FT_Byte*
      \       limit,\n                                FT_Bool         big )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:720,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:738,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:740,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:746,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:747,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:808,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 6
    argNames:
    - decoder
    - p
    - limit
    - x_pos
    - y_pos
    - recurse_count
    argTypes:
    - TT_SBitDecoder
    - FT_Byte*
    - FT_Byte*
    - FT_Int
    - FT_Int
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 810
    functionName: tt_sbit_decoder_load_byte_aligned
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE3
    - FT_TRACE1
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_byte_aligned( TT_SBitDecoder  decoder,\n
      \                                    FT_Byte*        p,\n                                     FT_Byte*
      \       limit,\n                                     FT_Int          x_pos,\n
      \                                    FT_Int          y_pos,\n                                     FT_UInt
      \        recurse_count )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:863,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:881,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:883,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:889,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:890,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:976,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 6
    argNames:
    - decoder
    - p
    - limit
    - x_pos
    - y_pos
    - recurse_count
    argTypes:
    - TT_SBitDecoder
    - FT_Byte*
    - FT_Byte*
    - FT_Int
    - FT_Int
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 978
    functionName: tt_sbit_decoder_load_bit_aligned
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE3
    - FT_TRACE1
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_bit_aligned( TT_SBitDecoder  decoder,\n
      \                                   FT_Byte*        p,\n                                    FT_Byte*
      \       limit,\n                                    FT_Int          x_pos,\n
      \                                   FT_Int          y_pos,\n                                    FT_UInt
      \        recurse_count )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1003,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1006,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1010,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1016,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1017,1
    - Dst: FT_NEXT_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1018,1
    - Dst: tt_sbit_decoder_load_image
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1022,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1033,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1048,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 6
    argNames:
    - decoder
    - p
    - limit
    - x_pos
    - y_pos
    - recurse_count
    argTypes:
    - TT_SBitDecoder
    - FT_Byte*
    - FT_Byte*
    - FT_Int
    - FT_Int
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 981
    functionDepth: 1
    functionLinenumber: 981
    functionLinenumberEnd: 1050
    functionName: tt_sbit_decoder_load_compound
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - tt_sbit_decoder_load_image
    - FT_NEXT_CHAR
    - FT_TRACE3
    - FT_TRACE1
    - FT_THROW
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_compound( TT_SBitDecoder  decoder,\n
      \                                FT_Byte*        p,\n                                 FT_Byte*
      \       limit,\n                                 FT_Int          x_pos,\n                                 FT_Int
      \         y_pos,\n                                 FT_UInt         recurse_count
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1066,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1071,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1072,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1076,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1079,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1080,1
    - Dst: Load_SBit_Png
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1084,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1097,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 6
    argNames:
    - decoder
    - p
    - limit
    - x_pos
    - y_pos
    - recurse_count
    argTypes:
    - TT_SBitDecoder
    - FT_Byte*
    - FT_Byte*
    - FT_Int
    - FT_Int
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1055
    functionDepth: 9
    functionLinenumber: 1055
    functionLinenumberEnd: 1099
    functionName: tt_sbit_decoder_load_png
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - Load_SBit_Png
    - FT_TRACE1
    - FT_TRACE3
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_png( TT_SBitDecoder  decoder,\n                            FT_Byte*
      \       p,\n                            FT_Byte*        limit,\n                            FT_Int
      \         x_pos,\n                            FT_Int          y_pos,\n                            FT_UInt
      \        recurse_count )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1125,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1129,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1130,1
    - Dst: tt_sbit_decoder_load_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1143,1
    - Dst: tt_sbit_decoder_load_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1150,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1223,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1228,1
    - Dst: tt_sbit_decoder_alloc_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1234,1
    - Dst: loader
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1243,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1247,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 8
    argNames:
    - decoder
    - glyph_format
    - glyph_start
    - glyph_size
    - x_pos
    - y_pos
    - recurse_count
    - metrics_only
    argTypes:
    - TT_SBitDecoder
    - FT_UInt
    - FT_ULong
    - FT_ULong
    - FT_Int
    - FT_Int
    - FT_UInt
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1251
    functionName: tt_sbit_decoder_load_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - tt_sbit_decoder_load_metrics
    - FT_STREAM_SEEK
    - FT_FRAME_EXTRACT
    - FT_THROW
    - loader
    - tt_sbit_decoder_alloc_bitmap
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_bitmap( TT_SBitDecoder  decoder,\n                               FT_UInt
      \        glyph_format,\n                               FT_ULong        glyph_start,\n
      \                              FT_ULong        glyph_size,\n                               FT_Int
      \         x_pos,\n                               FT_Int          y_pos,\n                               FT_UInt
      \        recurse_count,\n                               FT_Bool         metrics_only
      )"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1272,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1282,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1283,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1293,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1305,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1306,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1307,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1316,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1317,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1331,1
    - Dst: tt_sbit_decoder_load_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1333,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1346,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1347,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1361,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1370,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1375,1
    - Dst: FT_PEEK_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1377,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1397,1
    - Dst: tt_sbit_decoder_load_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1399,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1402,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1410,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1435,1
    - Dst: tt_sbit_decoder_load_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1439,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1449,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1454,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1457,1
    - Dst: FT_TRACE4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1460,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1462,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 133
    argCount: 6
    argNames:
    - decoder
    - glyph_index
    - x_pos
    - y_pos
    - recurse_count
    - metrics_only
    argTypes:
    - TT_SBitDecoder
    - FT_UInt
    - FT_Int
    - FT_Int
    - FT_UInt
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1254
    functionDepth: 4
    functionLinenumber: 1254
    functionLinenumberEnd: 1463
    functionName: tt_sbit_decoder_load_image
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 1
    functionsReached:
    - FT_TRACE3
    - tt_sbit_decoder_load_bitmap
    - tt_sbit_decoder_load_metrics
    - FT_NEXT_ULONG
    - FT_THROW
    - FT_TRACE4
    - FT_NEXT_USHORT
    - FT_PEEK_USHORT
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_sbit_decoder_load_image( TT_SBitDecoder  decoder,\n                              FT_UInt
      \        glyph_index,\n                              FT_Int          x_pos,\n
      \                             FT_Int          y_pos,\n                              FT_UInt
      \        recurse_count,\n                              FT_Bool         metrics_only
      )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1483,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1485,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1495,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1499,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1503,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1505,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1508,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1511,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1512,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1514,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1517,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1521,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1523,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1524,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1527,1
    - Dst: FT_GET_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1528,1
    - Dst: FT_GET_TAG4
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1530,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1534,1
    - Dst: FT_GET_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1537,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1538,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1542,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1545,1
    - Dst: Load_SBit_Png
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1547,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1558,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1562,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1563,1
    - Dst: FT_MAKE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1564,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1565,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1569,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1573,1
    - Dst: tt_face_get_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1581,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 7
    argNames:
    - face
    - strike_index
    - glyph_index
    - stream
    - map
    - metrics
    - metrics_only
    argTypes:
    - TT_Face
    - FT_ULong
    - FT_UInt
    - FT_Stream
    - FT_Bitmap*
    - TT_SBit_MetricsRec*
    - FT_Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1591
      start: 1466
    functionDepth: 9
    functionLinenumber: 1466
    functionLinenumberEnd: 1591
    functionName: tt_face_load_sbix_image
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXIT
    - FT_FRAME_ENTER
    - FT_MAKE_TAG
    - Load_SBit_Png
    - FT_GET_SHORT
    - FT_GET_TAG4
    - FT_STREAM_SEEK
    - FT_NEXT_ULONG
    - FT_GET_ULONG
    - tt_face_get_metrics
    - FT_THROW
    - FT_GET_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error tt_face_load_sbix_image( TT_Face              face,\n                           FT_ULong
      \            strike_index,\n                           FT_UInt              glyph_index,\n
      \                          FT_Stream            stream,\n                           FT_Bitmap
      \          *map,\n                           TT_SBit_MetricsRec  *metrics,\n
      \                          FT_Bool              metrics_only )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: tt_sbit_decoder_init
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1613,1
    - Dst: tt_sbit_decoder_load_image
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1616,1
    - Dst: tt_sbit_decoder_done
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1623,1
    - Dst: tt_face_load_sbix_image
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1629,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1640,1
    - Dst: FT_Bitmap_Init
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1654,1
    - Dst: FT_Bitmap_Convert
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1657,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1659,1
    - Dst: ft_glyphslot_set_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c:1666,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 7
    argNames:
    - face
    - strike_index
    - glyph_index
    - load_flags
    - stream
    - map
    - metrics
    argTypes:
    - TT_Face
    - FT_ULong
    - FT_UInt
    - FT_UInt
    - FT_Stream
    - FT_Bitmap*
    - TT_SBit_MetricsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1594
    functionDepth: 10
    functionLinenumber: 1594
    functionLinenumberEnd: 1672
    functionName: tt_face_load_sbit_image
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttsbit.c
    functionUses: 0
    functionsReached:
    - tt_sbit_decoder_load_image
    - tt_sbit_decoder_init
    - FT_Bitmap_Init
    - tt_sbit_decoder_done
    - tt_face_load_sbix_image
    - ft_glyphslot_set_bitmap
    - FT_THROW
    - FT_Bitmap_Done
    - FT_Bitmap_Convert
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_sbit_image( TT_Face              face,\n                           FT_ULong
      \            strike_index,\n                           FT_UInt              glyph_index,\n
      \                          FT_UInt              load_flags,\n                           FT_Stream
      \           stream,\n                           FT_Bitmap           *map,\n
      \                          TT_SBit_MetricsRec  *metrics )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - g1
    - ','
    - g2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: TT_KERN_INDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_KERN_INDEX( g1, g2 )
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:56,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:62,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:64,1
    - Dst: FT_FRAME_EXTRACT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:68,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:70,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:81,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:99,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:100,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:121,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:139,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:147,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 70
    argCount: 2
    argNames:
    - face
    - stream
    argTypes:
    - TT_Face
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 169
    functionName: tt_face_load_kern
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_EXTRACT
    - FT_NEXT_ULONG
    - FT_THROW
    - TT_Face::goto_table
    - FT_NEXT_USHORT
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void tt_face_load_kern( TT_Face    face,\n                     FT_Stream
      \ stream )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 183
    functionName: tt_face_done_kern
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_RELEASE
    linkageType: ''
    returnType: void
    signature: void tt_face_done_kern( TT_Face  face )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:206,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:207,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:208,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:212,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:223,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:225,1
    - Dst: TT_KERN_INDEX
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:235,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:251,1
    - Dst: FT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:255,1
    - Dst: FT_NEXT_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:271,1
    - Dst: FT_PEEK_SHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c:276,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 3
    argNames:
    - face
    - left_glyph
    - right_glyph
    argTypes:
    - TT_Face
    - FT_UInt
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 307
    functionName: tt_face_get_kerning
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.c
    functionUses: 0
    functionsReached:
    - TT_KERN_INDEX
    - FT_PEEK_SHORT
    - FT_NEXT_ULONG
    - FT_ASSERT
    - FT_NEXT_USHORT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_kerning( TT_Face  face,\n                       FT_UInt
      \ left_glyph,\n                       FT_UInt  right_glyph )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: TT_FACE_HAS_KERNING
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/ttkern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_FACE_HAS_KERNING( face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:68,1
    - Dst: FT_NEXT_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:73,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - entry
    - memory
    argTypes:
    - TT_Name
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 87
    functionName: tt_name_ascii_from_utf16
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    - FT_NEXT_USHORT
    linkageType: ''
    returnType: FT_String
    signature: "FT_String *\n  tt_name_ascii_from_utf16( TT_Name    entry,\n                            FT_Memory
      \ memory )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:103,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - entry
    - memory
    argTypes:
    - TT_Name
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: tt_name_ascii_from_other
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - FT_NEW_ARRAY
    linkageType: ''
    returnType: FT_String
    signature: "FT_String *\n  tt_name_ascii_from_other( TT_Name    entry,\n                            FT_Memory
      \ memory )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:153,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:202,1
    - Dst: FT_QNEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:269,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:270,1
    - Dst: FT_STREAM_READ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:271,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:273,1
    - Dst: convert
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:280,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 77
    argCount: 3
    argNames:
    - face
    - nameid
    - name
    argTypes:
    - TT_Face
    - FT_UShort
    - FT_String**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 286
    functionName: tt_face_get_name
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - FT_STREAM_READ
    - FT_STREAM_SEEK
    - FT_BOOL
    - FT_QNEW_ARRAY
    - FT_ASSERT
    - FT_FREE
    - convert
    linkageType: ''
    returnType: void
    signature: "void tt_face_get_name( TT_Face      face,\n                    FT_UShort
      \   nameid,\n                    FT_String**  name )"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - platform_id
    - encoding_id
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 337
    functionName: sfnt_find_encoding
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Encoding
    signature: "FT_Encoding sfnt_find_encoding( int  platform_id,\n                      int
      \ encoding_id )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: FT_FRAME_START
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:355,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:356,1
    - Dst: FT_FRAME_LONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:357,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:367,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:369,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:374,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:376,1
    - Dst: woff_open_font
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:379,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:397,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:398,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:408,1
    - Dst: FT_STREAM_READ_FIELDS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:410,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:413,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:417,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:425,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:428,1
    - Dst: FT_FRAME_ENTER
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:431,1
    - Dst: FT_GET_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:435,1
    - Dst: FT_FRAME_EXIT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:437,1
    - Dst: FT_TRACE3
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:441,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:446,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    argCount: 2
    argNames:
    - stream
    - face
    argTypes:
    - FT_Stream
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 342
    functionDepth: 5
    functionLinenumber: 342
    functionLinenumberEnd: 453
    functionName: sfnt_open_font
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - FT_FRAME_LONG
    - FT_NEW_ARRAY
    - FT_STREAM_READ_FIELDS
    - FT_FRAME_ENTER
    - FT_FRAME_EXIT
    - FT_TRACE3
    - FT_STREAM_SEEK
    - FT_GET_ULONG
    - FT_THROW
    - woff_open_font
    - FT_TRACE2
    - FT_READ_ULONG
    - FT_STREAM_POS
    - FT_FRAME_START
    - FT_NEW
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error sfnt_open_font( FT_Stream  stream,\n                  TT_Face
      \   face )"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:470,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:471,1
    - Dst: FT_Get_Module_Interface
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:477,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:480,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:481,1
    - Dst: FT_FACE_FIND_GLOBAL_SERVICE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:488,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:494,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:497,1
    - Dst: FT_Get_Module
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:506,1
    - Dst: ft_module_get_service
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:509,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:515,1
    - Dst: sfnt_open_font
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:517,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:524,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:528,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:537,1
    - Dst: FT_STREAM_SEEK
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:542,1
    - Dst: SFNT_Service::load_font_dir
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:546,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:570,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:573,1
    - Dst: FT_READ_ULONG
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:575,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:576,1
    - Dst: FT_STREAM_SKIP
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:577,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:578,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:579,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:580,1
    - Dst: FT_READ_USHORT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:581,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:621,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:622,1
    - Dst: FT_STREAM_POS
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:625,1
    - Dst: FT_STREAM_READ_AT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:637,1
    - Dst: FT_STREAM_READ_AT
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:647,1
    - Dst: ft_memcmp
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:651,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:665,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:666,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:670,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:671,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:672,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:680,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 84
    argCount: 5
    argNames:
    - stream
    - face
    - face_instance_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - TT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 457
    functionDepth: 6
    functionLinenumber: 457
    functionLinenumberEnd: 693
    functionName: sfnt_init_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::load_font_dir
    - FT_Get_Module_Interface
    - FT_ALLOC
    - FT_STREAM_SEEK
    - FT_STREAM_SKIP
    - FT_THROW
    - FT_STREAM_READ_AT
    - FT_STREAM_POS
    - FT_READ_USHORT
    - FT_UNUSED
    - FT_Get_Module
    - ft_module_get_service
    - ft_memcmp
    - FT_FREE
    - FT_TRACE2
    - FT_READ_ULONG
    - FT_FACE_FIND_GLOBAL_SERVICE
    - FT_ABS
    - sfnt_open_font
    - TT_Face::goto_table
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void sfnt_init_face( FT_Stream      stream,\n                  TT_Face
      \       face,\n                  FT_Int         face_instance_index,\n                  FT_Int
      \        num_params,\n                  FT_Parameter*  params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 696
    functionDepth: 0
    functionLinenumber: 696
    functionLinenumberEnd: 711
    functionName: LOAD_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - vertical
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 728
    functionName: LOADM_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOADM_( x, vertical )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - id
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 736
    functionName: GET_NAME
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NAME( id, field )
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:759,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:794,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:798,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:799,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:800,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:801,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:803,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:803,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:804,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:805,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:809,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:821,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:822,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:829,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:834,1
    - Dst: TT_Face::goto_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:835,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:846,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:853,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:854,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:858,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:859,1
    - Dst: LOADM_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:870,1
    - Dst: LOADM_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:873,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:874,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:876,1
    - Dst: FT_ERR_EQ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:891,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:896,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:903,1
    - Dst: LOADM_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:924,1
    - Dst: LOADM_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:927,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:932,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:935,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:947,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:952,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:953,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:957,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:958,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:959,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:974,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:976,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:979,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:981,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:985,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:987,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:989,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:991,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:993,1
    - Dst: GET_NAME
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:995,1
    - Dst: TT_FACE_HAS_KERNING
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1036,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1044,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1045,1
    - Dst: tt_face_lookup_table
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1047,1
    - Dst: tt_face_build_cmaps
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1096,1
    - Dst: sfnt_find_encoding
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1112,1
    - Dst: FT_CMap_New
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1134,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1137,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1138,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1180,1
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1181,1
    - Dst: SFNT_Service::load_strike_metrics
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1190,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1210,1
    - Dst: FT_HAS_FIXED_SIZES
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1228,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1228,1
    - Dst: FT_IS_SCALABLE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1236,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1335,1
    CyclomaticComplexity: 101
    EdgeCount: 101
    ICount: 238
    argCount: 5
    argNames:
    - stream
    - face
    - face_instance_index
    - num_params
    - params
    argTypes:
    - FT_Stream
    - TT_Face
    - FT_Int
    - FT_Int
    - FT_Parameter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 1338
    functionName: sfnt_load_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - TT_FACE_HAS_KERNING
    - LOAD_
    - tt_face_build_cmaps
    - FT_NEW_ARRAY
    - FT_ERR_NEQ
    - FT_CMap_New
    - FT_RENEW_ARRAY
    - FT_THROW
    - FT_ERR_EQ
    - FT_IS_SCALABLE
    - FT_UNUSED
    - FT_HAS_FIXED_SIZES
    - FT_BOOL
    - FT_TRACE2
    - GET_NAME
    - SFNT_Service::load_strike_metrics
    - LOADM_
    - sfnt_find_encoding
    - TT_Face::goto_table
    - tt_face_lookup_table
    linkageType: ''
    returnType: void
    signature: "void sfnt_load_face( FT_Stream      stream,\n                  TT_Face
      \       face,\n                  FT_Int         face_instance_index,\n                  FT_Int
      \        num_params,\n                  FT_Parameter*  params )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SFNT_Service::free_psnames
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1363,1
    - Dst: SFNT_Service::free_eblc
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1367,1
    - Dst: SFNT_Service::free_cpal
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1372,1
    - Dst: SFNT_Service::free_colr
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1373,1
    - Dst: tt_face_free_bdf_props
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1379,1
    - Dst: tt_face_done_kern
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1383,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1386,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1390,1
    - Dst: FT_FACE_STREAM
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1394,1
    - Dst: FT_FRAME_RELEASE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1398,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1408,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1409,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1414,1
    - Dst: SFNT_Service::free_name
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1419,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1422,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1423,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1426,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1427,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1430,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1433,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1437,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1438,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1439,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c:1440,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 1
    argNames:
    - face
    argTypes:
    - TT_Face
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1347
    functionDepth: 2
    functionLinenumber: 1347
    functionLinenumberEnd: 1443
    functionName: sfnt_done_face
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/sfnt/sfobjs.c
    functionUses: 0
    functionsReached:
    - SFNT_Service::free_eblc
    - SFNT_Service::free_psnames
    - SFNT_Service::free_cpal
    - tt_face_free_bdf_props
    - FT_FREE
    - SFNT_Service::free_colr
    - FT_FRAME_RELEASE
    - FT_FACE_STREAM
    - tt_face_done_kern
    - SFNT_Service::free_name
    linkageType: ''
    returnType: void
    signature: void sfnt_done_face( TT_Face  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruNode_Prepend
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - manager
    argTypes:
    - FTC_Node
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 58
    functionName: ftc_node_mru_link
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FTC_MruNode_Prepend
    linkageType: ''
    returnType: void
    signature: "void ftc_node_mru_link( FTC_Node     node,\n                     FTC_Manager
      \ manager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruNode_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - node
    - manager
    argTypes:
    - FTC_Node
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: ftc_node_mru_unlink
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FTC_MruNode_Remove
    linkageType: ''
    returnType: void
    signature: "void ftc_node_mru_unlink( FTC_Node     node,\n                       FTC_Manager
      \ manager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruNode_Up
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - manager
    argTypes:
    - FTC_Node
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: ftc_node_mru_up
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FTC_MruNode_Up
    linkageType: ''
    returnType: void
    signature: "void ftc_node_mru_up( FTC_Node     node,\n                   FTC_Manager
      \ manager )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - hash
    argTypes:
    - FTC_Cache
    - FT_Offset
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 103
    functionName: ftc_get_top_node_for_hash
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ftc_get_top_node_for_hash( FTC_Cache  cache,\n                             FT_Offset
      \ hash )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:139,1
    - Dst: FT_RENEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:193,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 48
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 219
    functionName: ftc_cache_resize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FT_RENEW_ARRAY
    linkageType: ''
    returnType: void
    signature: void ftc_cache_resize( FTC_Cache  cache )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_NODE_TOP_FOR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:227,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:237,1
    - Dst: ftc_cache_resize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - node0
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 252
    functionName: ftc_node_hash_unlink
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_cache_resize
    - FT_TRACE0
    - FTC_NODE_TOP_FOR_HASH
    linkageType: ''
    returnType: void
    signature: "void ftc_node_hash_unlink( FTC_Node   node0,\n                        FTC_Cache
      \ cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_NODE_TOP_FOR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:260,1
    - Dst: ftc_cache_resize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - node
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: ftc_node_hash_link
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_cache_resize
    - FTC_NODE_TOP_FOR_HASH
    linkageType: ''
    returnType: void
    signature: "void ftc_node_hash_link( FTC_Node   node,\n                      FTC_Cache
      \ cache )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:283,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:293,1
    - Dst: FTC_Cache::clazz::node_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:298,1
    - Dst: ftc_node_mru_unlink
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:301,1
    - Dst: ftc_node_hash_unlink
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:304,1
    - Dst: FTC_Cache::clazz::node_free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:307,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - node
    - manager
    argTypes:
    - FTC_Node
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 315
    functionName: ftc_node_destroy
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_node_mru_unlink
    - FTC_Cache::clazz::node_free
    - FTC_Cache::clazz::node_weight
    - ftc_node_hash_unlink
    - FT_TRACE0
    linkageType: ''
    returnType: void
    signature: "void ftc_node_destroy( FTC_Node     node,\n                    FTC_Manager
      \ manager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_cache_init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 331
    functionName: FTC_Cache_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_cache_init
    linkageType: ''
    returnType: void
    signature: void FTC_Cache_Init( FTC_Cache  cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW_ARRAY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 347
    functionName: ftc_cache_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 1
    functionsReached:
    - FT_NEW_ARRAY
    linkageType: ''
    returnType: void
    signature: void ftc_cache_init( FTC_Cache  cache )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftc_node_mru_unlink
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:373,1
    - Dst: FTC_Cache::clazz::node_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:376,1
    - Dst: FTC_Cache::clazz::node_free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:378,1
    - Dst: ftc_cache_resize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 385
    functionName: FTC_Cache_Clear
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_cache_resize
    - ftc_node_mru_unlink
    - FTC_Cache::clazz::node_free
    - FTC_Cache::clazz::node_weight
    linkageType: ''
    returnType: void
    signature: void FTC_Cache_Clear( FTC_Cache  cache )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache_Clear
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:396,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 3
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: ftc_cache_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    - FTC_Cache_Clear
    linkageType: ''
    returnType: void
    signature: void ftc_cache_done( FTC_Cache  cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_cache_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: FTC_Cache_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_cache_done
    linkageType: ''
    returnType: void
    signature: void FTC_Cache_Done( FTC_Cache  cache )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ftc_node_hash_link
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:424,1
    - Dst: ftc_node_mru_link
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:425,1
    - Dst: FTC_Cache::clazz::node_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:431,1
    - Dst: FTC_Manager_Compress
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - cache
    - hash
    - node
    argTypes:
    - FTC_Cache
    - FT_Offset
    - FTC_Node
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 440
    functionName: ftc_cache_add
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_node_hash_link
    - FTC_Manager_Compress
    - FTC_Cache::clazz::node_weight
    - ftc_node_mru_link
    linkageType: ''
    returnType: void
    signature: "void ftc_cache_add( FTC_Cache  cache,\n                 FT_Offset
      \ hash,\n                 FTC_Node   node )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache::clazz::node_new
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:461,1
    - Dst: FTC_CACHE_TRYLOOP_END
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:463,1
    - Dst: ftc_cache_add
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:472,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cache
    - hash
    - query
    - anode
    argTypes:
    - FTC_Cache
    - FT_Offset
    - FT_Pointer
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 444
    functionDepth: 4
    functionLinenumber: 444
    functionLinenumberEnd: 477
    functionName: FTC_Cache_NewNode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FTC_CACHE_TRYLOOP_END
    - FTC_Cache::clazz::node_new
    - ftc_cache_add
    linkageType: ''
    returnType: void
    signature: "void FTC_Cache_NewNode( FTC_Cache   cache,\n                     FT_Offset
      \  hash,\n                     FT_Pointer  query,\n                     FTC_Node
      \  *anode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clazz::node_new
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 462
    functionName: FTC_CACHE_TRYLOOP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - clazz::node_new
    linkageType: ''
    returnType: void
    signature: void FTC_CACHE_TRYLOOP( cache )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:498,1
    - Dst: FTC_NODE_TOP_FOR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:501,1
    - Dst: compare
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:512,1
    - Dst: FTC_NODE_TOP_FOR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:521,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:528,1
    - Dst: ftc_node_mru_up
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:550,1
    - Dst: FTC_Cache_NewNode
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:557,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - cache
    - hash
    - query
    - anode
    argTypes:
    - FTC_Cache
    - FT_Offset
    - FT_Pointer
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 558
    functionName: FTC_Cache_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - FTC_Cache_NewNode
    - FTC_NODE_TOP_FOR_HASH
    - FT_THROW
    - compare
    - ftc_node_mru_up
    - FT_ERROR
    linkageType: ''
    returnType: void
    signature: "void FTC_Cache_Lookup( FTC_Cache   cache,\n                    FT_Offset
      \  hash,\n                    FT_Pointer  query,\n                    FTC_Node
      \  *anode )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache::clazz::node_remove_faceid
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:588,1
    - Dst: FTC_Cache::clazz::node_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:609,1
    - Dst: ftc_node_mru_unlink
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:610,1
    - Dst: FTC_Cache::clazz::node_free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:612,1
    - Dst: ftc_cache_resize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c:617,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - cache
    - face_id
    argTypes:
    - FTC_Cache
    - FTC_FaceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 618
    functionName: FTC_Cache_RemoveFaceID
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.c
    functionUses: 0
    functionsReached:
    - ftc_node_mru_unlink
    - FTC_Cache::clazz::node_free
    - FTC_Cache::clazz::node_weight
    - ftc_cache_resize
    - FTC_Cache::clazz::node_remove_faceid
    linkageType: ''
    returnType: void
    signature: "void FTC_Cache_RemoveFaceID( FTC_Cache   cache,\n                          FTC_FaceID
      \ face_id )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: FTC_FACE_ID_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_FACE_ID_HASH( i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: FTC_NODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: FTC_NODE_P
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE_P( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: FTC_NODE_NEXT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE_NEXT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: FTC_NODE_PREV
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE_PREV( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cache
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: FTC_NODE_TOP_FOR_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE_TOP_FOR_HASH( cache, hash )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cache
    - ','
    - hash
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: FTC_NODE_TOP_FOR_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_NODE_TOP_FOR_HASH( cache, hash )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: FTC_CACHE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: FTC_CACHE_P
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_P( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - cache
    - ','
    - nodecmp
    - ','
    - hash
    - ','
    - query
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 222
    functionName: FTC_CACHE_LOOKUP_CMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - cache
    - ','
    - nodecmp
    - ','
    - hash
    - ','
    - query
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: FTC_CACHE_LOOKUP_CMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_LOOKUP_CMP( cache, nodecmp, hash, query, node, error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: FTC_CACHE_TRYLOOP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_TRYLOOP( cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list_changed
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: FTC_CACHE_TRYLOOP_END
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_TRYLOOP_END( list_changed )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: FTC_FamilyRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FTC_FamilyRec_
  - 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: FTC_FAMILY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_FAMILY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: FTC_FAMILY_P
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_FAMILY_P(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: FTC_GNODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_GNODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: FTC_GNODE_P
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_GNODE_P( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: FTC_GQUERY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_GQUERY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: FTC_GCACHE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_GCACHE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: FTC_GCACHE_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_GCACHE_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: FTC_CACHE_GCACHE_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_GCACHE_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: FTC_CACHE_FAMILY_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_FAMILY_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - family
    - ','
    - cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: FTC_FAMILY_FREE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_FAMILY_FREE( family, cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - cache
    - ','
    - famcmp
    - ','
    - nodecmp
    - ','
    - hash
    - ','
    - gindex
    - ','
    - query
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 307
    functionName: FTC_GCACHE_LOOKUP_CMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash,                \\\n
      \                              gindex, query, node, error )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - cache
    - ','
    - famcmp
    - ','
    - nodecmp
    - ','
    - hash
    - ','
    - gindex
    - ','
    - query
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: FTC_GCACHE_LOOKUP_CMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FTC_GCACHE_LOOKUP_CMP( cache, famcmp, nodecmp, hash,          \\\n
      \                              gindex, query, node, error )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - list
    - ','
    - key
    - ','
    - compare
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 197
    functionName: FTC_MRULIST_LOOKUP_CMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_MRULIST_LOOKUP_CMP( list, key, compare, node, error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - key
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: FTC_MRULIST_LOOKUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_MRULIST_LOOKUP( list, key, node, error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - list
    - ','
    - key
    - ','
    - node
    - ','
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: FTC_MRULIST_LOOKUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_MRULIST_LOOKUP( list, key, node, error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - list
    - ','
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: FTC_MRULIST_LOOP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_MRULIST_LOOP( list, node )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: FTC_MRULIST_LOOP_END
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_MRULIST_LOOP_END()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: FTC_INodeRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FTC_INodeRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FTC_INODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_INODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: FTC_INODE_GINDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_INODE_GINDEX( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: FTC_INODE_FAMILY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_INODE_FAMILY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: FTC_IFAMILY_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_IFAMILY_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: FTC_CACHE_IFAMILY_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_IFAMILY_CLASS( x )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:49,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:50,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - plist
    - node
    argTypes:
    - FTC_MruNode*
    - FTC_MruNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: FTC_MruNode_Prepend
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void FTC_MruNode_Prepend( FTC_MruNode  *plist,\n                       FTC_MruNode
      \  node )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:97,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:98,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - plist
    - node
    argTypes:
    - FTC_MruNode*
    - FTC_MruNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 118
    functionName: FTC_MruNode_Up
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void FTC_MruNode_Up( FTC_MruNode  *plist,\n                  FTC_MruNode
      \  node )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:129,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:144,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:145,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:158,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - plist
    - node
    argTypes:
    - FTC_MruNode*
    - FTC_MruNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 165
    functionName: FTC_MruNode_Remove
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 1
    functionsReached:
    - FT_ASSERT
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: "void FTC_MruNode_Remove( FTC_MruNode  *plist,\n                      FTC_MruNode
      \  node )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - list
    - clazz
    - max_nodes
    - data
    - memory
    argTypes:
    - FTC_MruList
    - FTC_MruListClass
    - FT_UInt
    - FT_Pointer
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 181
    functionName: FTC_MruList_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_Init( FTC_MruList       list,\n                    FTC_MruListClass
      \ clazz,\n                    FT_UInt           max_nodes,\n                    FT_Pointer
      \       data,\n                    FT_Memory         memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:188,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - list
    argTypes:
    - FTC_MruList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 191
    functionName: FTC_MruList_Reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FTC_MruList_Remove
    linkageType: ''
    returnType: void
    signature: void FTC_MruList_Reset( FTC_MruList  list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_Reset
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - FTC_MruList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 198
    functionName: FTC_MruList_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_Reset
    linkageType: ''
    returnType: void
    signature: void FTC_MruList_Done( FTC_MruList  list )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:218,1
    - Dst: FTC_MruNode_Up
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - list
    - key
    argTypes:
    - FTC_MruList
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 232
    functionName: FTC_MruList_Find
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - compare
    - FTC_MruNode_Up
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_Find( FTC_MruList  list,\n                    FT_Pointer
      \  key )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:249,1
    - Dst: FTC_MruNode_Up
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:253,1
    - Dst: FTC_MruList::clazz::node_reset
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:255,1
    - Dst: FTC_MruNode_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:260,1
    - Dst: FTC_MruList::clazz::node_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:264,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:266,1
    - Dst: FTC_MruList::clazz::node_init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:269,1
    - Dst: FTC_MruNode_Prepend
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:273,1
    - Dst: FTC_MruList::clazz::node_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:282,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:284,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 3
    argNames:
    - list
    - key
    - anode
    argTypes:
    - FTC_MruList
    - FT_Pointer
    - FTC_MruNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 286
    functionName: FTC_MruList_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FTC_MruNode_Prepend
    - FTC_MruList::clazz::node_reset
    - FTC_MruList::clazz::node_done
    - FT_ASSERT
    - FT_FREE
    - FTC_MruNode_Up
    - FTC_MruList::clazz::node_init
    - FTC_MruNode_Remove
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_New( FTC_MruList   list,\n                   FT_Pointer
      \   key,\n                   FTC_MruNode  *anode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_Find
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:298,1
    - Dst: FTC_MruList_New
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - list
    - key
    - anode
    argTypes:
    - FTC_MruList
    - FT_Pointer
    - FTC_MruNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 291
    functionDepth: 3
    functionLinenumber: 291
    functionLinenumberEnd: 304
    functionName: FTC_MruList_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_New
    - FTC_MruList_Find
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_Lookup( FTC_MruList   list,\n                      FT_Pointer
      \   key,\n                      FTC_MruNode  *anode )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruNode_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:311,1
    - Dst: FTC_MruList::clazz::node_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:319,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - list
    - node
    argTypes:
    - FTC_MruList
    - FTC_MruNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 323
    functionName: FTC_MruList_Remove
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 1
    functionsReached:
    - FTC_MruNode_Remove
    - FT_FREE
    - FTC_MruList::clazz::node_done
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_Remove( FTC_MruList  list,\n                      FTC_MruNode
      \ node )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: selection
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:335,1
    - Dst: FTC_MruList_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:337,1
    - Dst: selection
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:348,1
    - Dst: FTC_MruList_Remove
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c:349,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - list
    - selection
    - key
    argTypes:
    - FTC_MruList
    - FTC_MruNode_CompareFunc
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 354
    functionName: FTC_MruList_RemoveSelection
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmru.c
    functionUses: 0
    functionsReached:
    - selection
    - FTC_MruList_Remove
    linkageType: ''
    returnType: void
    signature: "void FTC_MruList_RemoveSelection( FTC_MruList              list,\n
      \                              FTC_MruNode_CompareFunc  selection,\n                               FT_Pointer
      \              key )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: FTC_BASIC_ATTR_COMPARE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_BASIC_ATTR_COMPARE( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: FTC_BASIC_ATTR_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_BASIC_ATTR_HASH( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_BASIC_ATTR_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftcfamily
    - ftcquery
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: ftc_basic_family_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_BASIC_ATTR_COMPARE
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_family_compare( FTC_MruNode  ftcfamily,\n                            FT_Pointer
      \  ftcquery )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Family_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:90,1
    - Dst: FTC_FAMILY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ftcfamily
    - ftcquery
    - ftccache
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: ftc_basic_family_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_FAMILY
    - FTC_Family_Init
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_family_init( FTC_MruNode  ftcfamily,\n                         FT_Pointer
      \  ftcquery,\n                         FT_Pointer   ftccache )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupFace
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:106,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:113,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - ftcfamily
    - manager
    argTypes:
    - FTC_Family
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 121
    functionName: ftc_basic_family_get_count
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_Manager_LookupFace
    - FT_TRACE1
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_family_get_count( FTC_Family   ftcfamily,\n                              FTC_Manager
      \ manager )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupSize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:135,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ftcfamily
    - gindex
    - manager
    - aface
    argTypes:
    - FTC_Family
    - FT_UInt
    - FTC_Manager
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 150
    functionName: ftc_basic_family_load_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FT_Load_Glyph
    - FTC_Manager_LookupSize
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_family_load_bitmap( FTC_Family   ftcfamily,\n                                FT_UInt
      \     gindex,\n                                FTC_Manager  manager,\n                                FT_Face
      \    *aface )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupSize
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:167,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:174,1
    - Dst: FT_Get_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:186,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - ftcfamily
    - gindex
    - cache
    - aglyph
    argTypes:
    - FTC_Family
    - FT_UInt
    - FTC_Cache
    - FT_Glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 154
    functionDepth: 4
    functionLinenumber: 154
    functionLinenumberEnd: 200
    functionName: ftc_basic_family_load_glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Get_Glyph
    - FT_Load_Glyph
    - FTC_Manager_LookupSize
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_family_load_glyph( FTC_Family  ftcfamily,\n                               FT_UInt
      \    gindex,\n                               FTC_Cache   cache,\n                               FT_Glyph
      \  *aglyph )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:217,1
    - Dst: FTC_GNode_UnselectFamily
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - ftcgnode
    - ftcface_id
    - cache
    - list_changed
    argTypes:
    - FTC_Node
    - FT_Pointer
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 226
    functionName: ftc_basic_gnode_compare_faceid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FTC_GNode_UnselectFamily
    linkageType: ''
    returnType: void
    signature: "void ftc_basic_gnode_compare_faceid( FTC_Node    ftcgnode,\n                                  FT_Pointer
      \ ftcface_id,\n                                  FTC_Cache   cache,\n                                  FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_GCache_New
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - acache
    argTypes:
    - FTC_Manager
    - FTC_ImageCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: FTC_ImageCache_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_GCache_New
    linkageType: ''
    returnType: void
    signature: "void FTC_ImageCache_New( FTC_Manager      manager,\n                      FTC_ImageCache
      \ *acache )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:299,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:315,1
    - Dst: FTC_BASIC_ATTR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:329,1
    - Dst: FTC_GCACHE_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:332,1
    - Dst: FTC_GCache_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:340,1
    - Dst: FTC_GCACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:340,1
    - Dst: FTC_GQUERY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:342,1
    - Dst: FTC_INODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:347,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - cache
    - type
    - gindex
    - aglyph
    - anode
    argTypes:
    - FTC_ImageCache
    - FTC_ImageType
    - FT_UInt
    - FT_Glyph*
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 358
    functionName: FTC_ImageCache_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FTC_GCACHE_LOOKUP_CMP
    - FTC_BASIC_ATTR_HASH
    - FTC_GCache_Lookup
    - FT_THROW
    - FTC_INODE
    - FTC_GCACHE
    - FTC_GQUERY
    linkageType: ''
    returnType: void
    signature: "void FTC_ImageCache_Lookup( FTC_ImageCache  cache,\n                         FTC_ImageType
      \  type,\n                         FT_UInt         gindex,\n                         FT_Glyph
      \      *aglyph,\n                         FTC_Node       *anode )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:380,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:396,1
    - Dst: FTC_BASIC_ATTR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:404,1
    - Dst: FTC_GCACHE_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:406,1
    - Dst: FTC_INODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - cache
    - scaler
    - load_flags
    - gindex
    - aglyph
    - anode
    argTypes:
    - FTC_ImageCache
    - FTC_Scaler
    - FT_ULong
    - FT_UInt
    - FT_Glyph*
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 426
    functionName: FTC_ImageCache_LookupScaler
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FT_TRACE1
    - FTC_GCACHE_LOOKUP_CMP
    - FTC_BASIC_ATTR_HASH
    - FT_THROW
    - FTC_INODE
    linkageType: ''
    returnType: void
    signature: "void FTC_ImageCache_LookupScaler( FTC_ImageCache  cache,\n                               FTC_Scaler
      \     scaler,\n                               FT_ULong        load_flags,\n
      \                              FT_UInt         gindex,\n                               FT_Glyph
      \      *aglyph,\n                               FTC_Node       *anode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_GCache_New
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - acache
    argTypes:
    - FTC_Manager
    - FTC_SBitCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: FTC_SBitCache_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_GCache_New
    linkageType: ''
    returnType: void
    signature: "void FTC_SBitCache_New( FTC_Manager     manager,\n                     FTC_SBitCache
      \ *acache )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:501,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:513,1
    - Dst: FTC_BASIC_ATTR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:528,1
    - Dst: FTC_GCACHE_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:532,1
    - Dst: FTC_GCache_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:540,1
    - Dst: FTC_GCACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:540,1
    - Dst: FTC_GQUERY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:543,1
    - Dst: FTC_SNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:549,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 5
    argNames:
    - cache
    - type
    - gindex
    - ansbit
    - anode
    argTypes:
    - FTC_SBitCache
    - FTC_ImageType
    - FT_UInt
    - FTC_SBit*
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 560
    functionName: FTC_SBitCache_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_GNODE
    - FT_TRACE1
    - FTC_GCACHE_LOOKUP_CMP
    - FTC_BASIC_ATTR_HASH
    - FTC_GCache_Lookup
    - FT_THROW
    - FTC_SNODE
    - FTC_GCACHE
    - FTC_GQUERY
    linkageType: ''
    returnType: void
    signature: "void FTC_SBitCache_Lookup( FTC_SBitCache  cache,\n                        FTC_ImageType
      \ type,\n                        FT_UInt        gindex,\n                        FTC_SBit
      \     *ansbit,\n                        FTC_Node      *anode )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:584,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:596,1
    - Dst: FTC_BASIC_ATTR_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:605,1
    - Dst: FTC_GCACHE_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:608,1
    - Dst: FTC_SNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:618,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c:619,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - cache
    - scaler
    - load_flags
    - gindex
    - ansbit
    - anode
    argTypes:
    - FTC_SBitCache
    - FTC_Scaler
    - FT_ULong
    - FT_UInt
    - FTC_SBit*
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 629
    functionName: FTC_SBitCache_LookupScaler
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcbasic.c
    functionUses: 0
    functionsReached:
    - FTC_GNODE
    - FT_TRACE1
    - FTC_GCACHE_LOOKUP_CMP
    - FTC_BASIC_ATTR_HASH
    - FT_THROW
    - FTC_SNODE
    linkageType: ''
    returnType: void
    signature: "void FTC_SBitCache_LookupScaler( FTC_SBitCache  cache,\n                              FTC_Scaler
      \    scaler,\n                              FT_ULong       load_flags,\n                              FT_UInt
      \       gindex,\n                              FTC_SBit      *ansbit,\n                              FTC_Node
      \     *anode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - gnode
    - gindex
    - family
    argTypes:
    - FTC_GNode
    - FT_UInt
    - FTC_Family
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: FTC_GNode_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FTC_GNode_Init( FTC_GNode   gnode,\n                  FT_UInt
      \    gindex,\n                  FTC_Family  family )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_FAMILY_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - gnode
    - cache
    argTypes:
    - FTC_GNode
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: FTC_GNode_UnselectFamily
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 1
    functionsReached:
    - FTC_FAMILY_FREE
    linkageType: ''
    returnType: void
    signature: "void FTC_GNode_UnselectFamily( FTC_GNode  gnode,\n                            FTC_Cache
      \ cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_GNode_UnselectFamily
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gnode
    - cache
    argTypes:
    - FTC_GNode
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: FTC_GNode_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - FTC_GNode_UnselectFamily
    linkageType: ''
    returnType: void
    signature: "void FTC_GNode_Done( FTC_GNode  gnode,\n                  FTC_Cache
      \ cache )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:73,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - ftcgnode
    - ftcgquery
    - cache
    - list_changed
    argTypes:
    - FTC_Node
    - FT_Pointer
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: ftc_gnode_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_gnode_compare( FTC_Node    ftcgnode,\n                     FT_Pointer
      \ ftcgquery,\n                     FTC_Cache   cache,\n                     FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_gnode_compare
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:91,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - gnode
    - gquery
    - cache
    - list_changed
    argTypes:
    - FTC_GNode
    - FTC_GQuery
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: FTC_GNode_Compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - FTC_NODE
    - ftc_gnode_compare
    linkageType: ''
    returnType: void
    signature: "void FTC_GNode_Compare( FTC_GNode   gnode,\n                     FTC_GQuery
      \ gquery,\n                     FTC_Cache   cache,\n                     FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_CACHE_GCACHE_CLASS
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - family
    - cache
    argTypes:
    - FTC_Family
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: FTC_Family_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 1
    functionsReached:
    - FTC_CACHE_GCACHE_CLASS
    linkageType: ''
    returnType: void
    signature: "void FTC_Family_Init( FTC_Family  family,\n                   FTC_Cache
      \  cache )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:125,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:125,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:128,1
    - Dst: FTC_MruList_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:130,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ftccache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: ftc_gcache_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - FTC_CACHE
    - FTC_MruList_Init
    - FTC_Cache_Init
    linkageType: ''
    returnType: void
    signature: void ftc_gcache_init( FTC_Cache  ftccache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_gcache_init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:146,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_GCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: FTC_GCache_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - ftc_gcache_init
    - FTC_CACHE
    linkageType: ''
    returnType: void
    signature: void FTC_GCache_Init( FTC_GCache  cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:158,1
    - Dst: FTC_MruList_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ftccache
    argTypes:
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: ftc_gcache_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_Done
    - FTC_Cache_Done
    linkageType: ''
    returnType: void
    signature: void ftc_gcache_done( FTC_Cache  ftccache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_gcache_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:168,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - FTC_GCache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 166
    functionDepth: 6
    functionLinenumber: 166
    functionLinenumberEnd: 169
    functionName: FTC_GCache_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 0
    functionsReached:
    - ftc_gcache_done
    - FTC_CACHE
    linkageType: ''
    returnType: void
    signature: void FTC_GCache_Done( FTC_GCache  cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_RegisterCache
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - manager
    - clazz
    - acache
    argTypes:
    - FTC_Manager
    - FTC_GCacheClass
    - FTC_GCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: FTC_GCache_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 2
    functionsReached:
    - FTC_Manager_RegisterCache
    linkageType: ''
    returnType: void
    signature: "void FTC_GCache_New( FTC_Manager       manager,\n                  FTC_GCacheClass
      \  clazz,\n                  FTC_GCache       *acache )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MRULIST_LOOKUP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:198,1
    - Dst: FTC_Cache_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:208,1
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:208,1
    - Dst: FTC_FAMILY_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - cache
    - hash
    - gindex
    - query
    - anode
    argTypes:
    - FTC_GCache
    - FT_Offset
    - FT_UInt
    - FTC_GQuery
    - FTC_Node*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 214
    functionName: FTC_GCache_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcglyph.c
    functionUses: 2
    functionsReached:
    - FTC_CACHE
    - FTC_Cache_Lookup
    - FTC_FAMILY_FREE
    - FTC_MRULIST_LOOKUP
    linkageType: ''
    returnType: void
    signature: "void FTC_GCache_Lookup( FTC_GCache   cache,\n                     FT_Offset
      \   hash,\n                     FT_UInt      gindex,\n                     FTC_GQuery
      \  query,\n                     FTC_Node    *anode )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - faceid
    - ','
    - index
    - ','
    - charcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 55
    functionName: FTC_CMAP_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CMAP_HASH( faceid, index, charcode )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: FTC_CMAP_QUERY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CMAP_QUERY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: FTC_CMAP_NODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CMAP_NODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftcnode
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 103
    functionName: ftc_cmap_node_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: "void ftc_cmap_node_free( FTC_Node   ftcnode,\n                      FTC_Cache
      \ cache )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ftcanode
    - ftcquery
    - cache
    argTypes:
    - FTC_Node*
    - FT_Pointer
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: ftc_cmap_node_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FT_NEW
    linkageType: ''
    returnType: void
    signature: "void ftc_cmap_node_new( FTC_Node   *ftcanode,\n                     FT_Pointer
      \ ftcquery,\n                     FTC_Cache   cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:141,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cnode
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: ftc_cmap_node_weight
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_cmap_node_weight( FTC_Node   cnode,\n                        FTC_Cache
      \ cache )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:157,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:168,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - ftcnode
    - ftcquery
    - cache
    - list_changed
    argTypes:
    - FTC_Node
    - FT_Pointer
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: ftc_cmap_node_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_cmap_node_compare( FTC_Node    ftcnode,\n                         FT_Pointer
      \ ftcquery,\n                         FTC_Cache   cache,\n                         FT_Bool*
      \   list_changed )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:183,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ftcnode
    - ftcface_id
    - cache
    - list_changed
    argTypes:
    - FTC_Node
    - FT_Pointer
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: ftc_cmap_node_remove_faceid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_cmap_node_remove_faceid( FTC_Node    ftcnode,\n                               FT_Pointer
      \ ftcface_id,\n                               FTC_Cache   cache,\n                               FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_RegisterCache
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:222,1
    - Dst: FTC_CACHE_P
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - manager
    - acache
    argTypes:
    - FTC_Manager
    - FTC_CMapCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: FTC_CMapCache_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FTC_Manager_RegisterCache
    - FTC_CACHE_P
    linkageType: ''
    returnType: void
    signature: "void FTC_CMapCache_New( FTC_Manager     manager,\n                     FTC_CMapCache
      \ *acache )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FTC_CACHE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:236,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:258,1
    - Dst: FTC_CMAP_HASH
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:266,1
    - Dst: FTC_CACHE_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:269,1
    - Dst: FTC_Cache_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:272,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:277,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:277,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:281,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:285,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:286,1
    - Dst: FTC_Manager_LookupFace
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:294,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:295,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:309,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:311,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:314,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:317,1
    - Dst: FTC_CMAP_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c:318,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 4
    argNames:
    - cmap_cache
    - face_id
    - cmap_index
    - char_code
    argTypes:
    - FTC_CMapCache
    - FTC_FaceID
    - FT_Int
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 324
    functionName: FTC_CMapCache_Lookup
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftccmap.c
    functionUses: 0
    functionsReached:
    - FTC_Manager_LookupFace
    - FTC_CACHE
    - FTC_Cache_Lookup
    - FT_Set_Charmap
    - FT_ASSERT
    - FT_Get_Char_Index
    - FT_TRACE0
    - FTC_CMAP_HASH
    - FTC_CACHE_LOOKUP_CMP
    - FTC_CMAP_NODE
    linkageType: ''
    returnType: void
    signature: "void FTC_CMapCache_Lookup( FTC_CMapCache  cmap_cache,\n                        FTC_FaceID
      \    face_id,\n                        FT_Int         cmap_index,\n                        FT_UInt32
      \     char_code )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_LookupFace
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:44,1
    - Dst: FT_New_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:48,1
    - Dst: FT_Activate_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:52,1
    - Dst: FT_Set_Pixel_Sizes
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:55,1
    - Dst: FT_Set_Char_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:57,1
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - manager
    - scaler
    - asize
    argTypes:
    - FTC_Manager
    - FTC_Scaler
    - FT_Size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 34
    functionDepth: 6
    functionLinenumber: 34
    functionLinenumberEnd: 71
    functionName: ftc_scaler_lookup_size
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_New_Size
    - FTC_Manager_LookupFace
    - FT_Activate_Size
    - FT_Set_Char_Size
    - FT_Set_Pixel_Sizes
    - FT_Done_Size
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ftc_scaler_lookup_size( FTC_Manager  manager,\n                          FTC_Scaler
      \  scaler,\n                          FT_Size     *asize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: FTC_SIZE_NODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SIZE_NODE( x )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:91,1
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ftcnode
    - data
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: ftc_size_node_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_Done_Size
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_size_node_done( FTC_MruNode  ftcnode,\n                      FT_Pointer
      \  data )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_SCALER_COMPARE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:108,1
    - Dst: FT_Activate_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ftcnode
    - ftcscaler
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: ftc_size_node_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_Activate_Size
    - FTC_SCALER_COMPARE
    linkageType: ''
    returnType: void
    signature: "void ftc_size_node_compare( FTC_MruNode  ftcnode,\n                         FT_Pointer
      \  ftcscaler )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_scaler_lookup_size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ftcnode
    - ftcscaler
    - ftcmanager
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 118
    functionDepth: 7
    functionLinenumber: 118
    functionLinenumberEnd: 130
    functionName: ftc_size_node_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - ftc_scaler_lookup_size
    linkageType: ''
    returnType: void
    signature: "void ftc_size_node_init( FTC_MruNode  ftcnode,\n                      FT_Pointer
      \  ftcscaler,\n                      FT_Pointer   ftcmanager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:143,1
    - Dst: ftc_scaler_lookup_size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ftcnode
    - ftcscaler
    - ftcmanager
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 134
    functionDepth: 7
    functionLinenumber: 134
    functionLinenumberEnd: 148
    functionName: ftc_size_node_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_Done_Size
    - ftc_scaler_lookup_size
    linkageType: ''
    returnType: void
    signature: "void ftc_size_node_reset( FTC_MruNode  ftcnode,\n                       FT_Pointer
      \  ftcscaler,\n                       FT_Pointer   ftcmanager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftcnode
    - ftcface_id
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: ftc_size_node_compare_faceid
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: FT_Bool
    signature: "FT_Bool ftc_size_node_compare_faceid( FTC_MruNode  ftcnode,\n                                FT_Pointer
      \  ftcface_id )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:188,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:193,1
    - Dst: FTC_MRULIST_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:197,1
    - Dst: FTC_MruList_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:201,1
    - Dst: FTC_SIZE_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - manager
    - scaler
    - asize
    argTypes:
    - FTC_Manager
    - FTC_Scaler
    - FT_Size*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 179
    functionDepth: 4
    functionLinenumber: 179
    functionLinenumberEnd: 208
    functionName: FTC_Manager_LookupSize
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 2
    functionsReached:
    - FT_THROW
    - FTC_MruList_Lookup
    - FTC_SIZE_NODE
    - FTC_MRULIST_LOOKUP_CMP
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_LookupSize( FTC_Manager  manager,\n                          FTC_Scaler
      \  scaler,\n                          FT_Size     *asize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: FTC_FACE_NODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_FACE_NODE( x )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager::request_face
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:243,1
    - Dst: FT_Done_Size
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ftcnode
    - ftcface_id
    - ftcmanager
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 255
    functionName: ftc_face_node_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_Done_Size
    - FTC_Manager::request_face
    linkageType: ''
    returnType: void
    signature: "void ftc_face_node_init( FTC_MruNode  ftcnode,\n                      FT_Pointer
      \  ftcface_id,\n                      FT_Pointer   ftcmanager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_RemoveSelection
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:268,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ftcnode
    - ftcmanager
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 259
    functionDepth: 6
    functionLinenumber: 259
    functionLinenumberEnd: 276
    functionName: ftc_face_node_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_RemoveSelection
    - FT_Done_Face
    linkageType: ''
    returnType: void
    signature: "void ftc_face_node_done( FTC_MruNode  ftcnode,\n                      FT_Pointer
      \  ftcmanager )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ftcnode
    - ftcface_id
    argTypes:
    - FTC_MruNode
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 288
    functionName: ftc_face_node_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_BOOL
    linkageType: ''
    returnType: void
    signature: "void ftc_face_node_compare( FTC_MruNode  ftcnode,\n                         FT_Pointer
      \  ftcface_id )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:315,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:320,1
    - Dst: FTC_MRULIST_LOOKUP_CMP
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:325,1
    - Dst: FTC_MruList_Lookup
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:329,1
    - Dst: FTC_FACE_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - manager
    - face_id
    - aface
    argTypes:
    - FTC_Manager
    - FTC_FaceID
    - FT_Face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 336
    functionName: FTC_Manager_LookupFace
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 3
    functionsReached:
    - FT_THROW
    - FTC_FACE_NODE
    - FTC_MruList_Lookup
    - FTC_MRULIST_LOOKUP_CMP
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_LookupFace( FTC_Manager  manager,\n                          FTC_FaceID
      \  face_id,\n                          FT_Face     *aface )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:365,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:368,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:372,1
    - Dst: FTC_MruList_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:391,1
    - Dst: FTC_MruList_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:397,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 7
    argNames:
    - library
    - max_faces
    - max_sizes
    - max_bytes
    - requester
    - req_data
    - amanager
    argTypes:
    - FT_Library
    - FT_UInt
    - FT_UInt
    - FT_ULong
    - FTC_Face_Requester
    - FT_Pointer
    - FTC_Manager*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 407
    functionName: FTC_Manager_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_NEW
    - FTC_MruList_Init
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_New( FT_Library          library,\n                   FT_UInt
      \            max_faces,\n                   FT_UInt             max_sizes,\n
      \                  FT_ULong            max_bytes,\n                   FTC_Face_Requester
      \ requester,\n                   FT_Pointer          req_data,\n                   FTC_Manager
      \       *amanager )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Cache::clazz::cache_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:432,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:433,1
    - Dst: FTC_MruList_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:440,1
    - Dst: FTC_MruList_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:441,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - manager
    argTypes:
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 447
    functionName: FTC_Manager_Done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FTC_Cache::clazz::cache_done
    - FTC_MruList_Done
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void FTC_Manager_Done( FTC_Manager  manager )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_Reset
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:458,1
    - Dst: FTC_MruList_Reset
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:459,1
    - Dst: FTC_Manager_FlushN
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - manager
    argTypes:
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 462
    functionName: FTC_Manager_Reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_Reset
    - FTC_Manager_FlushN
    linkageType: ''
    returnType: void
    signature: void FTC_Manager_Reset( FTC_Manager  manager )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:489,1
    - Dst: FTC_Cache::clazz::node_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:492,1
    - Dst: FTC_NODE_NEXT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:494,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:499,1
    - Dst: FTC_NODE_NEXT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:513,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:518,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - manager
    argTypes:
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 522
    functionName: FTC_Manager_Check
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FT_TRACE0
    - FTC_Cache::clazz::node_weight
    - FTC_NODE_NEXT
    linkageType: ''
    returnType: void
    signature: void FTC_Manager_Check( FTC_Manager  manager )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FTC_Manager_Check
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:545,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:547,1
    - Dst: FTC_NODE_PREV
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:556,1
    - Dst: FTC_NODE_PREV
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:562,1
    - Dst: ftc_node_destroy
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:565,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - manager
    argTypes:
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 534
    functionDepth: 4
    functionLinenumber: 534
    functionLinenumberEnd: 570
    functionName: FTC_Manager_Compress
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 1
    functionsReached:
    - ftc_node_destroy
    - FT_TRACE0
    - FTC_NODE_PREV
    - FTC_Manager_Check
    linkageType: ''
    returnType: void
    signature: void FTC_Manager_Compress( FTC_Manager  manager )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:580,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:591,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:592,1
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:597,1
    - Dst: FTC_CacheClass::cache_init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:608,1
    - Dst: FTC_CacheClass::cache_done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:611,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:612,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - manager
    - clazz
    - acache
    argTypes:
    - FTC_Manager
    - FTC_CacheClass
    - FTC_Cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 624
    functionName: FTC_Manager_RegisterCache
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 2
    functionsReached:
    - FTC_CacheClass::cache_init
    - FT_ALLOC
    - FT_THROW
    - FT_FREE
    - FT_ERR
    - FT_ERROR
    - FTC_CacheClass::cache_done
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_RegisterCache( FTC_Manager      manager,\n                             FTC_CacheClass
      \  clazz,\n                             FTC_Cache       *acache )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FTC_NODE_PREV
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:641,1
    - Dst: FTC_NODE_PREV
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:644,1
    - Dst: ftc_node_destroy
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - manager
    - count
    argTypes:
    - FTC_Manager
    - FT_UInt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 628
    functionDepth: 4
    functionLinenumber: 628
    functionLinenumberEnd: 660
    functionName: FTC_Manager_FlushN
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 1
    functionsReached:
    - ftc_node_destroy
    - FTC_NODE_PREV
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_FlushN( FTC_Manager  manager,\n                      FT_UInt
      \     count )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FTC_MruList_RemoveSelection
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:678,1
    - Dst: FTC_Cache_RemoveFaceID
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - manager
    - face_id
    argTypes:
    - FTC_Manager
    - FTC_FaceID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 666
    functionDepth: 4
    functionLinenumber: 666
    functionLinenumberEnd: 684
    functionName: FTC_Manager_RemoveFaceID
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached:
    - FTC_MruList_RemoveSelection
    - FTC_Cache_RemoveFaceID
    linkageType: ''
    returnType: void
    signature: "void FTC_Manager_RemoveFaceID( FTC_Manager  manager,\n                            FTC_FaceID
      \  face_id )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - node
    - manager
    argTypes:
    - FTC_Node
    - FTC_Manager
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 697
    functionName: FTC_Node_Unref
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FTC_Node_Unref( FTC_Node     node,\n                  FTC_Manager
      \ manager )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_ALLOC
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:59,1
    - Dst: FT_MEM_COPY
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - sbit
    - bitmap
    - memory
    argTypes:
    - FTC_SBit
    - FT_Bitmap*
    - FT_Memory
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: ftc_sbit_copy_bitmap
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FT_ALLOC
    - FT_MEM_COPY
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ftc_sbit_copy_bitmap( FTC_SBit    sbit,\n                        FT_Bitmap*
      \ bitmap,\n                        FT_Memory   memory )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:77,1
    - Dst: FTC_GNode_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:79,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:79,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ftcsnode
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 82
    functionName: ftc_snode_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FTC_GNode_Done
    - FT_FREE
    - FTC_GNODE
    linkageType: ''
    returnType: void
    signature: "void ftc_snode_free( FTC_Node   ftcsnode,\n                  FTC_Cache
      \ cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_snode_free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:89,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - snode
    - cache
    argTypes:
    - FTC_SNode
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 4
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: FTC_SNode_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FTC_NODE
    - ftc_snode_free
    linkageType: ''
    returnType: void
    signature: "void FTC_SNode_Free( FTC_SNode  snode,\n                  FTC_Cache
      \ cache )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:110,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:120,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:121,1
    - Dst: FTC_SFamilyClass::family_load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:129,1
    - Dst: FT_TRACE0
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:142,1
    - Dst: CHECK_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:158,1
    - Dst: CHECK_BYTE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:159,1
    - Dst: CHECK_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:160,1
    - Dst: CHECK_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:161,1
    - Dst: CHECK_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:162,1
    - Dst: CHECK_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:163,1
    - Dst: CHECK_CHAR
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:164,1
    - Dst: FT_TRACE2
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:166,1
    - Dst: ftc_sbit_copy_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:182,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:186,1
    - Dst: FT_ERR_NEQ
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:194,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 4
    argNames:
    - snode
    - manager
    - gindex
    - asize
    argTypes:
    - FTC_SNode
    - FTC_Manager
    - FT_UInt
    - FT_ULong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 206
    functionName: ftc_snode_load
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FT_ERR_NEQ
    - FTC_GNODE
    - FT_ABS
    - FTC_SFamilyClass::family_load_glyph
    - FT_THROW
    - CHECK_CHAR
    - FT_TRACE2
    - CHECK_BYTE
    - FT_TRACE0
    - ftc_sbit_copy_bitmap
    - FT_ERROR
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ftc_snode_load( FTC_SNode    snode,\n                  FTC_Manager
      \ manager,\n                  FT_UInt      gindex,\n                  FT_ULong
      \   *asize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: CHECK_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_CHAR( d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: CHECK_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_BYTE( d )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FTC_CACHE_SFAMILY_CLASS
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:220,1
    - Dst: FTC_SFamilyClass::family_get_count
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:225,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:228,1
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:232,1
    - Dst: FTC_GNode_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:242,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:242,1
    - Dst: ftc_snode_load
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:250,1
    - Dst: FTC_SNode_Free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - psnode
    - gquery
    - cache
    argTypes:
    - FTC_SNode*
    - FTC_GQuery
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 210
    functionDepth: 5
    functionLinenumber: 210
    functionLinenumberEnd: 264
    functionName: FTC_SNode_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FTC_GNODE
    - FTC_SNode_Free
    - FTC_CACHE_SFAMILY_CLASS
    - FTC_GNode_Init
    - FT_THROW
    - ftc_snode_load
    - FT_NEW
    - FTC_SFamilyClass::family_get_count
    linkageType: ''
    returnType: void
    signature: "void FTC_SNode_New( FTC_SNode  *psnode,\n                 FTC_GQuery
      \ gquery,\n                 FTC_Cache   cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_SNode_New
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ftcpsnode
    - ftcgquery
    - cache
    argTypes:
    - FTC_Node*
    - FT_Pointer
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 268
    functionDepth: 6
    functionLinenumber: 268
    functionLinenumberEnd: 277
    functionName: ftc_snode_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FTC_SNode_New
    linkageType: ''
    returnType: void
    signature: "void ftc_snode_new( FTC_Node   *ftcpsnode,\n                 FT_Pointer
      \ ftcgquery,\n                 FTC_Cache   cache )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:290,1
    - Dst: FT_ASSERT
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ftcsnode
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 312
    functionName: ftc_snode_weight
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FT_ASSERT
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_snode_weight( FTC_Node   ftcsnode,\n                    FTC_Cache
      \ cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_snode_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:320,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - snode
    argTypes:
    - FTC_SNode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 321
    functionName: FTC_SNode_Weight
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - FTC_NODE
    - ftc_snode_weight
    linkageType: ''
    returnType: void
    signature: void FTC_SNode_Weight( FTC_SNode  snode )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:334,1
    - Dst: FT_BOOL
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:341,1
    - Dst: ftc_snode_load
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:392,1
    - Dst: FTC_CACHE_TRYLOOP_END
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:394,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - ftcsnode
    - ftcgquery
    - cache
    - list_changed
    argTypes:
    - FTC_Node
    - FT_Pointer
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 406
    functionName: ftc_snode_compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - ftc_snode_load
    - FTC_CACHE_TRYLOOP_END
    - FT_BOOL
    - FTC_GNODE
    linkageType: ''
    returnType: void
    signature: "void ftc_snode_compare( FTC_Node    ftcsnode,\n                     FT_Pointer
      \ ftcgquery,\n                     FTC_Cache   cache,\n                     FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_snode_load
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 3
    functionLinenumber: 390
    functionLinenumberEnd: 393
    functionName: FTC_CACHE_TRYLOOP
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - ftc_snode_load
    linkageType: ''
    returnType: void
    signature: void FTC_CACHE_TRYLOOP( cache )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_snode_compare
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:417,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - snode
    - gquery
    - cache
    - list_changed
    argTypes:
    - FTC_SNode
    - FTC_GQuery
    - FTC_Cache
    - FT_Bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 412
    functionDepth: 4
    functionLinenumber: 412
    functionLinenumberEnd: 419
    functionName: FTC_SNode_Compare
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.c
    functionUses: 0
    functionsReached:
    - ftc_snode_compare
    - FTC_NODE
    linkageType: ''
    returnType: void
    signature: "void FTC_SNode_Compare( FTC_SNode   snode,\n                     FTC_GQuery
      \ gquery,\n                     FTC_Cache   cache,\n                     FT_Bool*
      \   list_changed )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: FTC_SNODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SNODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: FTC_SNODE_GINDEX
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SNODE_GINDEX( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: FTC_SNODE_FAMILY
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SNODE_FAMILY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: FTC_SFAMILY_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SFAMILY_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: FTC_CACHE_SFAMILY_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcsbits.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_CACHE_SFAMILY_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: FTC_SCALER_COMPARE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SCALER_COMPARE( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: FTC_SCALER_HASH
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcmanag.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_SCALER_HASH( q )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:40,1
    - Dst: FTC_GNode_Done
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:44,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:44,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ftcinode
    - cache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 31
    functionDepth: 3
    functionLinenumber: 31
    functionLinenumberEnd: 46
    functionName: ftc_inode_free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - FTC_GNode_Done
    - FT_FREE
    - FTC_GNODE
    - FT_Done_Glyph
    linkageType: ''
    returnType: void
    signature: "void ftc_inode_free( FTC_Node   ftcinode,\n                  FTC_Cache
      \ cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_inode_free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:53,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inode
    - cache
    argTypes:
    - FTC_INode
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 4
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: FTC_INode_Free
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - FTC_NODE
    - ftc_inode_free
    linkageType: ''
    returnType: void
    signature: "void FTC_INode_Free( FTC_INode  inode,\n                  FTC_Cache
      \ cache )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:68,1
    - Dst: FTC_GNODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:70,1
    - Dst: FTC_CACHE_IFAMILY_CLASS
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:73,1
    - Dst: FTC_GNode_Init
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:77,1
    - Dst: FTC_IFamilyClass::family_load_glyph
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:80,1
    - Dst: FTC_INode_Free
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pinode
    - gquery
    - cache
    argTypes:
    - FTC_INode*
    - FTC_GQuery
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 59
    functionDepth: 5
    functionLinenumber: 59
    functionLinenumberEnd: 91
    functionName: FTC_INode_New
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - FTC_GNODE
    - FTC_CACHE_IFAMILY_CLASS
    - FTC_INode_Free
    - FTC_GNode_Init
    - FT_NEW
    - FTC_IFamilyClass::family_load_glyph
    linkageType: ''
    returnType: void
    signature: "void FTC_INode_New( FTC_INode   *pinode,\n                 FTC_GQuery
      \  gquery,\n                 FTC_Cache    cache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FTC_INode_New
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ftcpinode
    - ftcgquery
    - cache
    argTypes:
    - FTC_Node*
    - FT_Pointer
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 6
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: ftc_inode_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - FTC_INode_New
    linkageType: ''
    returnType: void
    signature: "void ftc_inode_new( FTC_Node   *ftcpinode,\n                 FT_Pointer
      \ ftcgquery,\n                 FTC_Cache   cache )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:115,1
    - Dst: FT_ABS
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ftcinode
    - ftccache
    argTypes:
    - FTC_Node
    - FTC_Cache
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 150
    functionName: ftc_inode_weight
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - FT_ABS
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ftc_inode_weight( FTC_Node   ftcinode,\n                    FTC_Cache
      \ ftccache )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftc_inode_weight
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:158,1
    - Dst: FTC_NODE
      Src: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - inode
    argTypes:
    - FTC_INode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: FTC_INode_Weight
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/cache/ftcimage.c
    functionUses: 0
    functionsReached:
    - ftc_inode_weight
    - FTC_NODE
    linkageType: ''
    returnType: void
    signature: void FTC_INode_Weight( FTC_INode  inode )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Renderer::clazz::raster_class::raster_reset
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - render
    argTypes:
    - FT_Renderer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: ft_raster1_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c
    functionUses: 0
    functionsReached:
    - FT_Renderer::clazz::raster_class::raster_reset
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error ft_raster1_init( FT_Renderer  render )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Renderer::clazz::raster_class::raster_set_mode
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - render
    - mode_tag
    - data
    argTypes:
    - FT_Renderer
    - FT_ULong
    - FT_Pointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: ft_raster1_set_mode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c
    functionUses: 0
    functionsReached:
    - FT_Renderer::clazz::raster_class::raster_set_mode
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_raster1_set_mode( FT_Renderer  render,\n                       FT_ULong
      \    mode_tag,\n                       FT_Pointer   data )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:64,1
    - Dst: FT_Outline_Transform
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:69,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:72,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - render
    - slot
    - matrix
    - delta
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 76
    functionName: ft_raster1_transform
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_Outline_Transform
    - FT_Outline_Translate
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_raster1_transform( FT_Renderer       render,\n                        FT_GlyphSlot
      \     slot,\n                        const FT_Matrix*  matrix,\n                        const
      FT_Vector*  delta )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:85,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - render
    - slot
    - cbox
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: ft_raster1_get_cbox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Get_CBox
    - FT_ZERO
    linkageType: ''
    returnType: void
    signature: "void ft_raster1_get_cbox( FT_Renderer   render,\n                       FT_GlyphSlot
      \ slot,\n                       FT_BBox*      cbox )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:112,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:120,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:126,1
    - Dst: ft_glyphslot_preset_bitmap
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:130,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:132,1
    - Dst: FT_ALLOC_MULT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:137,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:153,1
    - Dst: FT_Renderer::raster_render
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:161,1
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:169,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c:174,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 4
    argNames:
    - render
    - slot
    - mode
    - origin
    argTypes:
    - FT_Renderer
    - FT_GlyphSlot
    - FT_Render_Mode
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 177
    functionName: ft_raster1_render
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftrend1.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Translate
    - FT_Renderer::raster_render
    - ft_glyphslot_preset_bitmap
    - FT_THROW
    - FT_ALLOC_MULT
    - FT_FREE
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error ft_raster1_render( FT_Renderer       render,\n                     FT_GlyphSlot
      \     slot,\n                     FT_Render_Mode    mode,\n                     const
      FT_Vector*  origin )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: FT_ERR_XCAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_XCAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: FT_ERR_CAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_CAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: FT_UNUSED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 220
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UNUSED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: FT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: FT_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: FT_TRACE1
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 55
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE1( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: FT_TRACE6
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE6( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: FT_TRACE7
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE7( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: FT_THROW
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 470
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_THROW( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - glyph_format_
    - ','
    - raster_new_
    - ','
    - raster_reset_
    - ','
    - raster_set_mode_
    - ','
    - raster_render_
    - ','
    - raster_done_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: FT_DEFINE_RASTER_FUNCS
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_RASTER_FUNCS( class_, glyph_format_, raster_new_, \\\n                                raster_reset_,
      raster_set_mode_,    \\\n                                raster_render_, raster_done_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: FT_MEM_SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_SET( d, s, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: FT_MEM_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_ZERO( dest, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: FT_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 70
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ZERO( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: FMulDiv
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMulDiv( a, b, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: FLOOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLOOR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: CEILING
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CEILING( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: TRUNC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRUNC( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: FRAC
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FRAC( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 457
    functionName: SCALED
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: IS_BOTTOM_OVERSHOOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_BOTTOM_OVERSHOOT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: IS_TOP_OVERSHOOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_TOP_OVERSHOOT( x )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:618,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - High
    argTypes:
    - RAS_ARGS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 623
    functionName: Set_High_Precision
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_TRACE6
    linkageType: ''
    returnType: void
    signature: void Set_High_Precision( RAS_ARGS Int  High )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:659,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:677,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:683,1
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:687,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:688,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - TStates
    - overshoot
    argTypes:
    - RAS_ARGS
    - Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 700
    functionName: New_Profile
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_ERROR
    - FT_TRACE6
    linkageType: ''
    returnType: Bool
    signature: "Bool New_Profile( RAS_ARGS TStates  aState,\n                        Bool
      \    overshoot )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_ERROR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:729,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:730,1
    - Dst: FT_TRACE6
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:739,1
    - Dst: FT_TRACE1
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:765,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:766,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - overshoot
    argTypes:
    - RAS_ARGS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 773
    functionName: End_Profile
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - FT_TRACE1
    - FT_ERROR
    - FT_TRACE6
    linkageType: ''
    returnType: Bool
    signature: Bool End_Profile( RAS_ARGS Bool  overshoot )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - Int
    argTypes:
    - RAS_ARGS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 829
    functionName: Insert_Y_Turn
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    linkageType: ''
    returnType: Bool
    signature: Bool Insert_Y_Turn( RAS_ARGS Int  y )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Insert_Y_Turn
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:878,1
    - Dst: Insert_Y_Turn
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:879,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 889
    functionName: Finalize_Profile_Table
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Insert_Y_Turn
    linkageType: ''
    returnType: Bool
    signature: Bool Finalize_Profile_Table( RAS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - base
    argTypes:
    - TPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 908
    functionDepth: 0
    functionLinenumber: 908
    functionLinenumberEnd: 930
    functionName: Split_Conic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Split_Conic( TPoint*  base )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - base
    argTypes:
    - TPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 976
    functionName: Split_Cubic
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Split_Cubic( TPoint*  base )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: SMulDiv
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1035,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1036,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1041,1
    - Dst: FRAC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1042,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1048,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1053,1
    - Dst: FRAC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1054,1
    - Dst: SMulDiv
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1063,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1085,1
    - Dst: SMulDiv_No_Round
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1091,1
    - Dst: SMulDiv_No_Round
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1097,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    argCount: 6
    argNames:
    - Long
    - y1
    - x2
    - y2
    - miny
    - maxy
    argTypes:
    - RAS_ARGS
    - Long
    - Long
    - Long
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1121
    functionName: Line_Up
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - SMulDiv
    - SMulDiv_No_Round
    - FRAC
    - FT_THROW
    - TRUNC
    linkageType: ''
    returnType: Bool
    signature: "Bool Line_Up( RAS_ARGS Long  x1,\n                    Long  y1,\n
      \                   Long  x2,\n                    Long  y2,\n                    Long
      \ miny,\n                    Long  maxy )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Line_Up
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - Long
    - y1
    - x2
    - y2
    - miny
    - maxy
    argTypes:
    - RAS_ARGS
    - Long
    - Long
    - Long
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1174
    functionName: Line_Down
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Line_Up
    linkageType: ''
    returnType: Bool
    signature: "Bool Line_Down( RAS_ARGS Long  x1,\n                      Long  y1,\n
      \                     Long  x2,\n                      Long  y2,\n                      Long
      \ miny,\n                      Long  maxy )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1229,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1240,1
    - Dst: FRAC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1241,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1260,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1267,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1270,1
    - Dst: splitter
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1287,1
    - Dst: FMulDiv
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1292,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 4
    argNames:
    - degree
    - splitter
    - miny
    - maxy
    argTypes:
    - RAS_ARGS
    - TSplitter
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1315
    functionName: Bezier_Up
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FLOOR
    - CEILING
    - FRAC
    - FT_THROW
    - TRUNC
    - splitter
    - FMulDiv
    linkageType: ''
    returnType: Bool
    signature: "Bool Bezier_Up( RAS_ARGS Int        degree,\n                      TSplitter
      \ splitter,\n                      Long       miny,\n                      Long
      \      maxy )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Bezier_Up
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - degree
    - splitter
    - miny
    - maxy
    argTypes:
    - RAS_ARGS
    - TSplitter
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1343
    functionDepth: 2
    functionLinenumber: 1343
    functionLinenumberEnd: 1368
    functionName: Bezier_Down
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Bezier_Up
    linkageType: ''
    returnType: Bool
    signature: "Bool Bezier_Down( RAS_ARGS Int        degree,\n                        TSplitter
      \ splitter,\n                        Long       miny,\n                        Long
      \      maxy )"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1403,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1404,1
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1410,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1411,1
    - Dst: End_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1419,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1419,1
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1420,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1421,1
    - Dst: End_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1429,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1429,1
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1430,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1431,1
    - Dst: Line_Up
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1445,1
    - Dst: Line_Down
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1451,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 2
    argNames:
    - Long
    - y
    argTypes:
    - RAS_ARGS
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1464
    functionName: Line_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - IS_TOP_OVERSHOOT
    - Line_Down
    - End_Profile
    - IS_BOTTOM_OVERSHOOT
    - New_Profile
    - Line_Up
    linkageType: ''
    returnType: Bool
    signature: "Bool Line_To( RAS_ARGS Long  x,\n                    Long  y )"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Split_Conic
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1535,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1551,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1552,1
    - Dst: End_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1557,1
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1561,1
    - Dst: Bezier_Up
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1568,1
    - Dst: Bezier_Down
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1572,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 4
    argNames:
    - Long
    - cy
    - x
    - y
    argTypes:
    - RAS_ARGS
    - Long
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1585
    functionName: Conic_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Split_Conic
    - IS_TOP_OVERSHOOT
    - End_Profile
    - IS_BOTTOM_OVERSHOOT
    - Bezier_Down
    - Bezier_Up
    - New_Profile
    linkageType: ''
    returnType: Bool
    signature: "Bool Conic_To( RAS_ARGS Long  cx,\n                     Long  cy,\n
      \                    Long  x,\n                     Long  y )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Split_Cubic
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1678,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1694,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1695,1
    - Dst: End_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1700,1
    - Dst: New_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1703,1
    - Dst: Bezier_Up
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1710,1
    - Dst: Bezier_Down
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1714,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 6
    argNames:
    - Long
    - cy1
    - cx2
    - cy2
    - x
    - y
    argTypes:
    - RAS_ARGS
    - Long
    - Long
    - Long
    - Long
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1621
    functionDepth: 3
    functionLinenumber: 1621
    functionLinenumberEnd: 1727
    functionName: Cubic_To
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Split_Cubic
    - IS_TOP_OVERSHOOT
    - End_Profile
    - IS_BOTTOM_OVERSHOOT
    - Bezier_Down
    - Bezier_Up
    - New_Profile
    linkageType: ''
    returnType: Bool
    signature: "Bool Cubic_To( RAS_ARGS Long  cx1,\n                     Long  cy1,\n
      \                    Long  cx2,\n                     Long  cy2,\n                     Long
      \ x,\n                     Long  y )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1731
    functionDepth: 0
    functionLinenumber: 1731
    functionLinenumberEnd: 1739
    functionName: SWAP_
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP_( x, y )
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1785,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1786,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1787,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1788,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1792,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1793,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1805,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1815,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1843,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1852,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1853,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1855,1
    - Dst: Line_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1857,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1863,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1864,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1867,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1878,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1880,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1881,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1884,1
    - Dst: Conic_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1888,1
    - Dst: Conic_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1899,1
    - Dst: Conic_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1909,1
    - Dst: FT_CURVE_TAG
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1921,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1927,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1928,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1929,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1930,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1934,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1935,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1940,1
    - Dst: SCALED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1941,1
    - Dst: SWAP_
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1944,1
    - Dst: Cubic_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1946,1
    - Dst: Cubic_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1951,1
    - Dst: Line_To
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1959,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:1966,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 3
    argNames:
    - UShort
    - last
    - flipped
    argTypes:
    - RAS_ARGS
    - UShort
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1765
    functionDepth: 4
    functionLinenumber: 1765
    functionLinenumberEnd: 1970
    functionName: Decompose_Curve
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - SCALED
    - Line_To
    - SWAP_
    - Conic_To
    - FT_THROW
    - FT_CURVE_TAG
    - Cubic_To
    linkageType: ''
    returnType: Bool
    signature: "Bool Decompose_Curve( RAS_ARGS UShort  first,\n                            UShort
      \ last,\n                            Int     flipped )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Decompose_Curve
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2020,1
    - Dst: RAS_VARS
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2020,1
    - Dst: FRAC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2028,1
    - Dst: IS_TOP_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2041,1
    - Dst: IS_BOTTOM_OVERSHOOT
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2043,1
    - Dst: End_Profile
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2044,1
    - Dst: Finalize_Profile_Table
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2052,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - flipped
    argTypes:
    - RAS_ARGS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 1990
    functionDepth: 5
    functionLinenumber: 1990
    functionLinenumberEnd: 2056
    functionName: Convert_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Finalize_Profile_Table
    - RAS_VARS
    - IS_TOP_OVERSHOOT
    - FRAC
    - End_Profile
    - IS_BOTTOM_OVERSHOOT
    - Decompose_Curve
    linkageType: ''
    returnType: Bool
    signature: Bool Convert_Glyph( RAS_ARGS Int  flipped )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - l
    argTypes:
    - TProfileList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2074
    functionDepth: 0
    functionLinenumber: 2074
    functionLinenumberEnd: 2078
    functionName: Init_Linked
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Init_Linked( TProfileList*  l )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - list
    - profile
    argTypes:
    - PProfileList
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2087
    functionDepth: 0
    functionLinenumber: 2087
    functionLinenumberEnd: 2109
    functionName: InsNew
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void InsNew( PProfileList  list,\n          PProfile      profile
      )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - list
    - profile
    argTypes:
    - PProfileList
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2118
    functionDepth: 0
    functionLinenumber: 2118
    functionLinenumberEnd: 2142
    functionName: DelOld
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void DelOld( PProfileList  list,\n          PProfile      profile
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - list
    argTypes:
    - PProfileList
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2200
    functionName: Sort
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sort( PProfileList  list )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - RAS_ARGS*
    - Short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2212
    functionDepth: 0
    functionLinenumber: 2212
    functionLinenumberEnd: 2223
    functionName: Vertical_Sweep_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Vertical_Sweep_Init( RAS_ARGS Short*  min,\n                                Short*
      \ max )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2238,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2239,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2240,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2245,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2253,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2254,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2263,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2264,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2277,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 5
    argNames:
    - Short
    - x1
    - x2
    - left
    - right
    argTypes:
    - RAS_ARGS
    - FT_F26Dot6
    - FT_F26Dot6
    - PProfile
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2226
    functionDepth: 1
    functionLinenumber: 2226
    functionLinenumberEnd: 2305
    functionName: Vertical_Sweep_Span
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_TRACE7
    - FLOOR
    - CEILING
    - TRUNC
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Vertical_Sweep_Span( RAS_ARGS Short       y,\n                                FT_F26Dot6
      \ x1,\n                                FT_F26Dot6  x2,\n                                PProfile
      \   left,\n                                PProfile    right )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2319,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2347,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2348,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2356,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2367,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2416,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2428,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2434,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2447,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2451,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2460,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 5
    argNames:
    - Short
    - x1
    - x2
    - left
    - right
    argTypes:
    - RAS_ARGS
    - FT_F26Dot6
    - FT_F26Dot6
    - PProfile
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2308
    functionDepth: 1
    functionLinenumber: 2308
    functionLinenumberEnd: 2461
    functionName: Vertical_Sweep_Drop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FLOOR
    - TRUNC
    - CEILING
    - FT_TRACE7
    linkageType: ''
    returnType: void
    signature: "void Vertical_Sweep_Drop( RAS_ARGS Short       y,\n                                FT_F26Dot6
      \ x1,\n                                FT_F26Dot6  x2,\n                                PProfile
      \   left,\n                                PProfile    right )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2468
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2468
    functionName: Vertical_Sweep_Step
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Vertical_Sweep_Step( RAS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2486,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - min
    - max
    argTypes:
    - RAS_ARGS*
    - Short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2480
    functionDepth: 0
    functionLinenumber: 2480
    functionLinenumberEnd: 2488
    functionName: Horizontal_Sweep_Init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Horizontal_Sweep_Init( RAS_ARGS Short*  min,\n                                  Short*
      \ max )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2498,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2499,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2507,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2512,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2513,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2517,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2525,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - Short
    - x1
    - x2
    - left
    - right
    argTypes:
    - RAS_ARGS
    - FT_F26Dot6
    - FT_F26Dot6
    - PProfile
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2536
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2536
    functionName: Horizontal_Sweep_Span
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_TRACE7
    - FLOOR
    - CEILING
    - TRUNC
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void Horizontal_Sweep_Span( RAS_ARGS Short       y,\n                                  FT_F26Dot6
      \ x1,\n                                  FT_F26Dot6  x2,\n                                  PProfile
      \   left,\n                                  PProfile    right )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2551,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2568,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2569,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2577,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2588,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2612,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2624,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2630,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2644,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2648,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2657,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 56
    argCount: 5
    argNames:
    - Short
    - x1
    - x2
    - left
    - right
    argTypes:
    - RAS_ARGS
    - FT_F26Dot6
    - FT_F26Dot6
    - PProfile
    - PProfile
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2658
      start: 2539
    functionDepth: 1
    functionLinenumber: 2539
    functionLinenumberEnd: 2658
    functionName: Horizontal_Sweep_Drop
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FLOOR
    - TRUNC
    - CEILING
    - FT_TRACE7
    linkageType: ''
    returnType: void
    signature: "void Horizontal_Sweep_Drop( RAS_ARGS Short       y,\n                                  FT_F26Dot6
      \ x1,\n                                  FT_F26Dot6  x2,\n                                  PProfile
      \   left,\n                                  PProfile    right )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2666
      start: 2661
    functionDepth: 0
    functionLinenumber: 2661
    functionLinenumberEnd: 2666
    functionName: Horizontal_Sweep_Step
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Horizontal_Sweep_Step( RAS_ARG )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Init_Linked
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2692,1
    - Dst: Init_Linked
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2694,1
    - Dst: Init_Linked
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2695,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2700,1
    - Dst: TRUNC
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2701,1
    - Dst: InsNew
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2716,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2724,1
    - Dst: Proc_Sweep_Init
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2730,1
    - Dst: DelOld
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2763,1
    - Dst: InsNew
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2766,1
    - Dst: InsNew
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2768,1
    - Dst: Sort
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2776,1
    - Dst: Sort
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2777,1
    - Dst: FLOOR
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2803,1
    - Dst: CEILING
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2804,1
    - Dst: Proc_Sweep_Span
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2830,1
    - Dst: Proc_Sweep_Step
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2846,1
    - Dst: Sort
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2852,1
    - Dst: Sort
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2853,1
    - Dst: DelOld
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2864,1
    - Dst: DelOld
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2873,1
    - Dst: Proc_Sweep_Step
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2881,1
    - Dst: Proc_Sweep_Drop
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:2900,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 129
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2675
    functionDepth: 1
    functionLinenumber: 2675
    functionLinenumberEnd: 2912
    functionName: Draw_Sweep
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - Proc_Sweep_Drop
    - Proc_Sweep_Init
    - Proc_Sweep_Span
    - FLOOR
    - CEILING
    - Init_Linked
    - FT_THROW
    - DelOld
    - TRUNC
    - InsNew
    - Proc_Sweep_Step
    - Sort
    linkageType: ''
    returnType: Bool
    signature: Bool Draw_Sweep( RAS_ARG )
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - outline
    - acbox
    argTypes:
    - FT_Outline*
    - FT_BBox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2998
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 2998
    functionName: FT_Outline_Get_CBox
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void FT_Outline_Get_CBox( const FT_Outline*  outline,\n                       FT_BBox
      \          *acbox )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Convert_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3033,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3054,1
    - Dst: Draw_Sweep
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3069,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - flipped
    argTypes:
    - RAS_ARGS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3076
      start: 3018
    functionDepth: 6
    functionLinenumber: 3018
    functionLinenumberEnd: 3076
    functionName: Render_Single_Pass
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Draw_Sweep
    - Convert_Glyph
    linkageType: ''
    returnType: int
    signature: int Render_Single_Pass( RAS_ARGS Bool  flipped )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3116,1
    - Dst: Render_Single_Pass
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3133,1
    - Dst: FT_TRACE7
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3139,1
    - Dst: Render_Single_Pass
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3150,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3090
    functionDepth: 7
    functionLinenumber: 3090
    functionLinenumberEnd: 3155
    functionName: Render_Glyph
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 2
    functionsReached:
    - Render_Single_Pass
    - FT_TRACE7
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error Render_Glyph( RAS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - black_PRaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3158
    functionDepth: 0
    functionLinenumber: 3158
    functionLinenumberEnd: 3162
    functionName: ft_black_init
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ft_black_init( black_PRaster  raster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3177,1
    - Dst: FT_ZERO
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3181,1
    - Dst: ft_black_init
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - memory
    - araster
    argTypes:
    - void*
    - FT_Raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3172
    functionDepth: 1
    functionLinenumber: 3172
    functionLinenumberEnd: 3185
    functionName: ft_black_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - ft_black_init
    - FT_ZERO
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ft_black_new( void*       memory,\n                FT_Raster  *araster
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - FT_Raster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3188
    functionDepth: 0
    functionLinenumber: 3188
    functionLinenumberEnd: 3193
    functionName: ft_black_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: void ft_black_done( FT_Raster  raster )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_NEW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3208,1
    - Dst: ft_black_init
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - memory
    - araster
    argTypes:
    - FT_Memory
    - black_PRaster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3199
    functionDepth: 1
    functionLinenumber: 3199
    functionLinenumberEnd: 3217
    functionName: ft_black_new
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - ft_black_init
    - FT_NEW
    linkageType: ''
    returnType: int
    signature: "int ft_black_new( FT_Memory       memory,\n                black_PRaster
      \ *araster )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_FREE
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - raster
    argTypes:
    - black_PRaster
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3220
    functionDepth: 1
    functionLinenumber: 3220
    functionLinenumberEnd: 3227
    functionName: ft_black_done
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_FREE
    linkageType: ''
    returnType: void
    signature: void ft_black_done( black_PRaster  raster )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3238,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3239,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - raster
    - pool_base
    - pool_size
    argTypes:
    - FT_Raster
    - PByte
    - ULong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3241
      start: 3233
    functionDepth: 0
    functionLinenumber: 3233
    functionLinenumberEnd: 3241
    functionName: ft_black_reset
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: void
    signature: "void ft_black_reset( FT_Raster  raster,\n                  PByte      pool_base,\n
      \                 ULong      pool_size )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3249,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3250,1
    - Dst: FT_UNUSED
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - raster
    - mode
    - args
    argTypes:
    - FT_Raster
    - ULong
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3254
      start: 3244
    functionDepth: 0
    functionLinenumber: 3244
    functionLinenumberEnd: 3254
    functionName: ft_black_set_mode
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_UNUSED
    linkageType: ''
    returnType: int
    signature: "int ft_black_set_mode( FT_Raster  raster,\n                     ULong
      \     mode,\n                     void*      args )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3272,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3275,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3282,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3286,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3290,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3293,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3296,1
    - Dst: FT_THROW
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3303,1
    - Dst: Render_Glyph
      Src: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c:3311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 26
    argCount: 2
    argNames:
    - raster
    - params
    argTypes:
    - FT_Raster
    - FT_Raster_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3257
    functionDepth: 8
    functionLinenumber: 3257
    functionLinenumberEnd: 3312
    functionName: ft_black_render
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftraster.c
    functionUses: 0
    functionsReached:
    - FT_THROW
    - Render_Glyph
    linkageType: ''
    returnType: int
    signature: "int ft_black_render( FT_Raster                raster,\n                   const
      FT_Raster_Params*  params )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: FT_LOCAL_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftmisc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _x1
    - ','
    - _x2
    - ','
    - _x3
    - ','
    - _x4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: FT_MAKE_TAG
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftmisc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAKE_TAG( _x1, _x2, _x3, _x4 )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 116
    functionName: FT_MulDiv
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftmisc.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: FT_Long
    signature: "FT_Long FT_MulDiv( FT_Long  a,\n             FT_Long  b,\n             FT_Long
      \ c )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - FT_Long
    - FT_Long
    - FT_Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: FT_MulDiv_No_Round
    functionSourceFile: /src/libspectre/ghostscript/freetype/src/raster/ftmisc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: FT_Long
    signature: "FT_Long FT_MulDiv_No_Round( FT_Long  a,\n                      FT_Long
      \ b,\n                      FT_Long  c )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 82
    functionName: FT_MM_Axis_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftmm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_MM_Axis_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 86
    functionName: FT_Color_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_Color_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 453
    functionName: FT_CURVE_TAG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftimage.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CURVE_TAG( flag )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - value
    - ','
    - _x1
    - ','
    - _x2
    - ','
    - _x3
    - ','
    - _x4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: FT_IMAGE_TAG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IMAGE_TAG( value, _x1, _x2, _x3, _x4 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: FT_ERRORDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fterrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERRORDEF( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: FT_ERRORDEF_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fterrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERRORDEF_( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: FT_NOERRORDEF_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fterrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NOERRORDEF_( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: FT_MODERRDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftmoderr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODERRDEF( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - e
    - ','
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: FT_MODERRDEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftmoderr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODERRDEF( e, v, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 101
    functionName: PS_FontInfoRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/t1tables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER PS_FontInfoRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tag
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: FT_VALIDATE_GX_BITFIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftgxval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_VALIDATE_GX_BITFIELD( tag )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 118
    functionName: FT_SfntName_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftsnames.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_SfntName_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 329
    functionName: FT_Glyph_Metrics_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_Glyph_Metrics_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - value
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 611
    functionName: FT_ENC_TAG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ENC_TAG( value, a, b, c, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1243
    functionName: FT_HAS_HORIZONTAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_HORIZONTAL( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1257
    functionName: FT_HAS_VERTICAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_VERTICAL( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1271
    functionName: FT_HAS_KERNING
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_KERNING( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1286
    functionName: FT_IS_SCALABLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_SCALABLE( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1303
    functionDepth: 0
    functionLinenumber: 1303
    functionLinenumberEnd: 1305
    functionName: FT_IS_SFNT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_SFNT( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1320
    functionName: FT_IS_FIXED_WIDTH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_FIXED_WIDTH( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1333
    functionDepth: 0
    functionLinenumber: 1333
    functionLinenumberEnd: 1335
    functionName: FT_HAS_FIXED_SIZES
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_FIXED_SIZES( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1347
    functionName: FT_HAS_FAST_GLYPHS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_FAST_GLYPHS( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1359
    functionDepth: 0
    functionLinenumber: 1359
    functionLinenumberEnd: 1361
    functionName: FT_HAS_GLYPH_NAMES
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_GLYPH_NAMES( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1376
    functionName: FT_HAS_MULTIPLE_MASTERS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_MULTIPLE_MASTERS( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1398
    functionName: FT_IS_NAMED_INSTANCE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_NAMED_INSTANCE( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1414
    functionDepth: 0
    functionLinenumber: 1414
    functionLinenumberEnd: 1416
    functionName: FT_IS_VARIATION
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_VARIATION( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1431
    functionDepth: 0
    functionLinenumber: 1431
    functionLinenumberEnd: 1433
    functionName: FT_IS_CID_KEYED
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_CID_KEYED( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1447
    functionName: FT_IS_TRICKY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_TRICKY( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - face
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1464
    functionName: FT_HAS_COLOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HAS_COLOR( face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3147
    functionDepth: 0
    functionLinenumber: 3147
    functionLinenumberEnd: 3148
    functionName: FT_LOAD_TARGET_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOAD_TARGET_( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3166
    functionDepth: 0
    functionLinenumber: 3166
    functionLinenumberEnd: 3167
    functionName: FT_LOAD_TARGET_MODE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/freetype.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOAD_TARGET_MODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _x1
    - ','
    - _x2
    - ','
    - _x3
    - ','
    - _x4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 494
    functionName: FT_MAKE_TAG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAKE_TAG( _x1, _x2, _x3, _x4 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: FT_IS_EMPTY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_IS_EMPTY( list )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: FT_BOOL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BOOL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: FT_ERR_XCAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_XCAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: FT_ERR_CAT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_CAT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: FT_ERR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 63
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: FT_ERROR_BASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR_BASE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: FT_ERROR_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR_MODULE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 606
    functionName: FT_ERR_EQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_EQ( x, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: FT_ERR_NEQ
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/fttypes.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERR_NEQ( x, e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d1
    - ','
    - d2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: FTC_IMAGE_TYPE_COMPARE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/ftcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FTC_IMAGE_TYPE_COMPARE( d1, d2 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 111
    functionName: TT_Header_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/tttables.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER TT_Header_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 51
    functionName: PS_DriverRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER PS_DriverRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ident
    - ','
    - _type
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: T1_NEW_SIMPLE_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_NEW_SIMPLE_FIELD( _ident, _type, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _reader
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: T1_NEW_CALLBACK_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_NEW_CALLBACK_FIELD( _ident, _reader, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _ident
    - ','
    - _type
    - ','
    - _fname
    - ','
    - _max
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: T1_NEW_TABLE_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_NEW_TABLE_FIELD( _ident, _type, _fname, _max, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _ident
    - ','
    - _type
    - ','
    - _fname
    - ','
    - _max
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: T1_NEW_TABLE_FIELD2
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_NEW_TABLE_FIELD2( _ident, _type, _fname, _max, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: T1_FIELD_BOOL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_BOOL( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: T1_FIELD_NUM
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_NUM( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: T1_FIELD_FIXED
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_FIXED( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 332
    functionName: T1_FIELD_FIXED_1000
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_FIXED_1000( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: T1_FIELD_STRING
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_STRING( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: T1_FIELD_KEY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_KEY( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: T1_FIELD_BBOX
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_BBOX( _ident, _fname, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _fmax
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: T1_FIELD_NUM_TABLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_NUM_TABLE( _ident, _fname, _fmax, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _fmax
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 350
    functionName: T1_FIELD_FIXED_TABLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_FIXED_TABLE( _ident, _fname, _fmax, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _fmax
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: T1_FIELD_NUM_TABLE2
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_NUM_TABLE2( _ident, _fname, _fmax, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _ident
    - ','
    - _fname
    - ','
    - _fmax
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: T1_FIELD_FIXED_TABLE2
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_FIXED_TABLE2( _ident, _fname, _fmax, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _ident
    - ','
    - _name
    - ','
    - _dict
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: T1_FIELD_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T1_FIELD_CALLBACK( _ident, _name, _dict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1392
    functionDepth: 0
    functionLinenumber: 1392
    functionLinenumberEnd: 1395
    functionName: IS_PS_NEWLINE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_NEWLINE( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1396
    functionDepth: 0
    functionLinenumber: 1396
    functionLinenumberEnd: 1402
    functionName: IS_PS_SPACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_SPACE( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1403
    functionDepth: 0
    functionLinenumber: 1403
    functionLinenumberEnd: 1410
    functionName: IS_PS_SPECIAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_SPECIAL( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1411
    functionDepth: 0
    functionLinenumber: 1411
    functionLinenumberEnd: 1414
    functionName: IS_PS_DELIM
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_DELIM( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1417
    functionName: IS_PS_DIGIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_DIGIT( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1422
    functionName: IS_PS_XDIGIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_XDIGIT( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1425
    functionName: IS_PS_BASE85
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_BASE85( ch )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cur
    - ','
    - limit
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1426
    functionDepth: 0
    functionLinenumber: 1426
    functionLinenumberEnd: 1432
    functionName: IS_PS_TOKEN
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/psaux.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_PS_TOKEN( cur, limit, token )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - class_
    - ','
    - reset_face_
    - ','
    - get_global_hints_
    - ','
    - done_global_hints_
    - ','
    - load_glyph_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: FT_DEFINE_AUTOHINTER_INTERFACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/autohint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_AUTOHINTER_INTERFACE(       \\\n          class_,                             \\\n
      \         reset_face_,                        \\\n          get_global_hints_,
      \                 \\\n          done_global_hints_,                 \\\n          load_glyph_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 61
    functionName: WOFF_HeaderRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/wofftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER WOFF_HeaderRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 64
    functionName: FT_MulFix_arm
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 FT_MulFix_arm( FT_Int32  a,\n                 FT_Int32  b
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: defined
      Src: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: FT_MulFix_arm
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached:
    - defined
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 FT_MulFix_arm( FT_Int32  a,\n                 FT_Int32  b
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 136
    functionName: FT_MulFix_i386
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 FT_MulFix_i386( FT_Int32  a,\n                  FT_Int32
      \ b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 173
    functionName: FT_MulFix_i386
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 FT_MulFix_i386( FT_Int32  a,\n                  FT_Int32
      \ b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - FT_Int32
    - FT_Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 235
    functionName: FT_MulFix_x86_64
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Int32
    signature: "FT_Int32 FT_MulFix_x86_64( FT_Int32  a,\n                    FT_Int32
      \ b )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: FT_MulFix
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MulFix( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: FT_MSB
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MSB( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: FT_MSB
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MSB( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _BitScanReverse
      Src: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - x
    argTypes:
    - FT_UInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 392
    functionName: FT_MSB_i386
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached:
    - _BitScanReverse
    linkageType: ''
    returnType: FT_Int32
    signature: FT_Int32 FT_MSB_i386( FT_UInt32  x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: FT_MSB
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MSB( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 447
    functionName: INT_TO_F26DOT6
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_F26DOT6( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 448
    functionName: INT_TO_F2DOT14
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_F2DOT14( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: INT_TO_FIXED
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_FIXED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: F2DOT14_TO_FIXED
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2DOT14_TO_FIXED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 451
    functionName: FIXED_TO_INT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIXED_TO_INT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: ROUND_F26DOT6
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_F26DOT6( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: ADD_INT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INT( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: SUB_INT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_INT( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: MUL_INT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_INT( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: NEG_INT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEG_INT( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: ADD_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: SUB_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: MUL_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_LONG( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: NEG_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEG_LONG( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 484
    functionName: ADD_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INT32( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: SUB_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_INT32( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: MUL_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_INT32( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: NEG_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEG_INT32( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: ADD_INT64
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_INT64( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: SUB_INT64
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_INT64( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: MUL_INT64
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_INT64( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: NEG_INT64
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEG_INT64( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: FT_Hashkey_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/fthash.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_Hashkey_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: FT_FRAME_OP_COMMAND
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_OP_COMMAND( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - command
    - ','
    - little
    - ','
    - sign
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: FT_MAKE_FRAME_OP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAKE_FRAME_OP( command, little, sign )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: FT_FIELD_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FIELD_SIZE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: FT_FIELD_SIZE_DELTA
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FIELD_SIZE_DELTA( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: FT_FIELD_OFFSET
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FIELD_OFFSET( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - frame_op
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: FT_FRAME_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_FIELD( frame_op, field )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - frame_op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: FT_MAKE_EMPTY_FIELD
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAKE_EMPTY_FIELD( frame_op )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: FT_FRAME_START
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_START( size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: FT_FRAME_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_LONG( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: FT_FRAME_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_ULONG( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: FT_FRAME_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_SHORT( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: FT_FRAME_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_USHORT( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: FT_FRAME_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_OFF3( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    functionName: FT_FRAME_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_UOFF3( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: FT_FRAME_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_BYTE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: FT_FRAME_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_CHAR( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: FT_FRAME_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_LONG_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: FT_FRAME_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_ULONG_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: FT_FRAME_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_SHORT_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: FT_FRAME_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_USHORT_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: FT_FRAME_OFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_OFF3_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: FT_FRAME_UOFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_UOFF3_LE( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - field
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 146
    functionName: FT_FRAME_BYTES
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_BYTES( field, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: FT_FRAME_SKIP_BYTES
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_SKIP_BYTES( count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: FT_BYTE_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BYTE_( p, i )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: FT_INT16
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INT16( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: FT_UINT16
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UINT16( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: FT_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INT32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: FT_UINT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UINT32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - i
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: FT_BYTE_U16
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BYTE_U16( p, i, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - i
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: FT_BYTE_U32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BYTE_U32( p, i, s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: FT_PEEK_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_SHORT( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: FT_PEEK_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_USHORT( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: FT_PEEK_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_LONG( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: FT_PEEK_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_ULONG( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: FT_PEEK_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_OFF3( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    functionName: FT_PEEK_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_UOFF3( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: FT_PEEK_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_SHORT_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FT_PEEK_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_USHORT_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: FT_PEEK_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_LONG_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    functionName: FT_PEEK_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_ULONG_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: FT_PEEK_OFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_OFF3_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: FT_PEEK_UOFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PEEK_UOFF3_LE( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: FT_NEXT_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_CHAR( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: FT_NEXT_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_BYTE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: FT_NEXT_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_SHORT( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: FT_NEXT_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 153
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_USHORT( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: FT_NEXT_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_OFF3( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: FT_NEXT_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_UOFF3( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: FT_NEXT_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_LONG( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: FT_NEXT_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 52
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_ULONG( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: FT_NEXT_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_SHORT_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    functionName: FT_NEXT_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_USHORT_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: FT_NEXT_OFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_OFF3_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 271
    functionName: FT_NEXT_UOFF3_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_UOFF3_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: FT_NEXT_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_LONG_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: FT_NEXT_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEXT_ULONG_LE( buffer )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: FT_GET_MACRO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_MACRO( type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: FT_GET_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_CHAR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: FT_GET_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_BYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: FT_GET_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_SHORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: FT_GET_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_USHORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: FT_GET_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_OFF3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: FT_GET_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_UOFF3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: FT_GET_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_LONG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: FT_GET_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_ULONG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: FT_GET_TAG4
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_TAG4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: FT_GET_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_SHORT_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: FT_GET_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_USHORT_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: FT_GET_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_LONG_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: FT_GET_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_ULONG_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: FT_GET_MACRO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_MACRO( func, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: FT_GET_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_CHAR()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: FT_GET_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_BYTE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: FT_GET_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_SHORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: FT_GET_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_USHORT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: FT_GET_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_OFF3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: FT_GET_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_UOFF3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: FT_GET_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_LONG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: FT_GET_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_ULONG()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: FT_GET_TAG4
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_TAG4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: FT_GET_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_SHORT_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: FT_GET_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_USHORT_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 321
    functionName: FT_GET_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_LONG_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: FT_GET_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GET_ULONG_LE()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - func
    - ','
    - type
    - ','
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 328
    functionName: FT_READ_MACRO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_MACRO( func, type, var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 337
    functionName: FT_READ_BYTE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_BYTE( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: FT_READ_CHAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_CHAR( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: FT_READ_SHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_SHORT( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 340
    functionName: FT_READ_USHORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_USHORT( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: FT_READ_OFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_OFF3( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: FT_READ_UOFF3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_UOFF3( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: FT_READ_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_LONG( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: FT_READ_ULONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_ULONG( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: FT_READ_SHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_SHORT_LE( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: FT_READ_USHORT_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_USHORT_LE( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: FT_READ_LONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_LONG_LE( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - var
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 349
    functionName: FT_READ_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_READ_ULONG_LE( var )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: FT_STREAM_POS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_POS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - position
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 528
    functionName: FT_STREAM_SEEK
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 65
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_SEEK( position )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - distance
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 532
    functionName: FT_STREAM_SKIP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_SKIP( distance )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 537
    functionName: FT_STREAM_READ
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_READ( buffer, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - position
    - ','
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 543
    functionName: FT_STREAM_READ_AT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_READ_AT( position, buffer, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fields
    - ','
    - object
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 546
    functionName: FT_STREAM_READ_FIELDS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STREAM_READ_FIELDS( fields, object )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 552
    functionName: FT_FRAME_ENTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_ENTER( size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: FT_FRAME_EXIT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_EXIT()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - size
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 561
    functionName: FT_FRAME_EXTRACT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_EXTRACT( size, bytes )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 565
    functionName: FT_FRAME_RELEASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftstream.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FRAME_RELEASE( bytes )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: FT_VALIDATOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftvalid.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_VALIDATOR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: FT_INVALID
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftvalid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INVALID( _error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: FT_INVALID_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftvalid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_INVALID_( _error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - class_
    - ','
    - get_globals_funcs_
    - ','
    - get_t1_funcs_
    - ','
    - get_t2_funcs_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 693
    functionName: FT_DEFINE_PSHINTER_INTERFACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/pshints.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_PSHINTER_INTERFACE(        \\\n          class_,                            \\\n
      \         get_globals_funcs_,                \\\n          get_t1_funcs_,                     \\\n
      \         get_t2_funcs_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - class_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 219
    functionName: FT_DECLARE_DRIVER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdrv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DECLARE_DRIVER( class_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 51
    argNames:
    - (
    - class_
    - ','
    - flags_
    - ','
    - size_
    - ','
    - name_
    - ','
    - version_
    - ','
    - requires_
    - ','
    - interface_
    - ','
    - init_
    - ','
    - done_
    - ','
    - get_interface_
    - ','
    - face_object_size_
    - ','
    - size_object_size_
    - ','
    - slot_object_size_
    - ','
    - init_face_
    - ','
    - done_face_
    - ','
    - init_size_
    - ','
    - done_size_
    - ','
    - init_slot_
    - ','
    - done_slot_
    - ','
    - load_glyph_
    - ','
    - get_kerning_
    - ','
    - attach_file_
    - ','
    - get_advances_
    - ','
    - request_size_
    - ','
    - select_size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 281
    functionName: FT_DEFINE_DRIVER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdrv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_DRIVER(                    \\\n          class_,                            \\\n
      \         flags_,                            \\\n          size_,                             \\\n
      \         name_,                             \\\n          version_,                          \\\n
      \         requires_,                         \\\n          interface_,                        \\\n
      \         init_,                             \\\n          done_,                             \\\n
      \         get_interface_,                    \\\n          face_object_size_,
      \                \\\n          size_object_size_,                 \\\n          slot_object_size_,
      \                \\\n          init_face_,                        \\\n          done_face_,
      \                       \\\n          init_size_,                        \\\n
      \         done_size_,                        \\\n          init_slot_,                        \\\n
      \         done_slot_,                        \\\n          load_glyph_,                       \\\n
      \         get_kerning_,                      \\\n          attach_file_,                      \\\n
      \         get_advances_,                     \\\n          request_size_,                     \\\n
      \         select_size_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: FT_TRACE_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: FT_TRACE_COMP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE_COMP( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: FT_TRACE_COMP_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE_COMP_( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: FT_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE( level, varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - level
    - ','
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: FT_TRACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE( level, varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: FT_TRACE0
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE0( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: FT_TRACE1
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE1( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: FT_TRACE2
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE2( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    functionName: FT_TRACE3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE3( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: FT_TRACE4
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 86
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE4( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: FT_TRACE5
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE5( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: FT_TRACE6
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE6( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: FT_TRACE7
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TRACE7( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: FT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - varformat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: FT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ERROR( varformat )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 230
    functionName: FT_ASSERT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSERT( condition )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: FT_THROW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 479
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_THROW( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - condition
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: FT_ASSERT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 105
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSERT( condition )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: FT_THROW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftdebug.h
    functionUses: 479
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_THROW( e )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: FT_MIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MIN( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: FT_MAX
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MAX( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: FT_ABS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ABS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: FT_HYPOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_HYPOT( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: FT_PAD_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_FLOOR( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: FT_PAD_ROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_ROUND( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: FT_PAD_CEIL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_CEIL( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: FT_PIX_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_FLOOR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: FT_PIX_ROUND
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_ROUND( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: FT_PIX_CEIL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_CEIL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: FT_PAD_ROUND_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_ROUND_LONG( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: FT_PAD_CEIL_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_CEIL_LONG( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: FT_PIX_ROUND_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_ROUND_LONG( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: FT_PIX_CEIL_LONG
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_CEIL_LONG( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: FT_PAD_ROUND_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_ROUND_INT32( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: FT_PAD_CEIL_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PAD_CEIL_INT32( x, n )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: FT_PIX_ROUND_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_ROUND_INT32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: FT_PIX_CEIL_INT32
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_PIX_CEIL_INT32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: ft_isdigit
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_isdigit( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: ft_isxdigit
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_isxdigit( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: ft_isupper
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_isupper( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: ft_islower
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_islower( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: ft_isalpha
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_isalpha( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: ft_isalnum
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_isalnum( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: FT_CMAP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CMAP( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: FT_CMAP_PLATFORM_ID
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CMAP_PLATFORM_ID( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: FT_CMAP_ENCODING_ID
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CMAP_ENCODING_ID( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: FT_CMAP_ENCODING
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CMAP_ENCODING( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: FT_CMAP_FACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CMAP_FACE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - class_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: FT_DECLARE_CMAP_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DECLARE_CMAP_CLASS( class_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - class_
    - ','
    - size_
    - ','
    - init_
    - ','
    - done_
    - ','
    - char_index_
    - ','
    - char_next_
    - ','
    - char_var_index_
    - ','
    - char_var_default_
    - ','
    - variant_list_
    - ','
    - charvariant_list_
    - ','
    - variantchar_list_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 258
    functionName: FT_DEFINE_CMAP_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_CMAP_CLASS(       \\\n          class_,                   \\\n
      \         size_,                    \\\n          init_,                    \\\n
      \         done_,                    \\\n          char_index_,              \\\n
      \         char_next_,               \\\n          char_var_index_,          \\\n
      \         char_var_default_,        \\\n          variant_list_,            \\\n
      \         charvariant_list_,        \\\n          variantchar_list_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 509
    functionName: FT_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 511
    functionName: FT_MODULE_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 512
    functionName: FT_MODULE_LIBRARY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_LIBRARY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 513
    functionName: FT_MODULE_MEMORY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_MEMORY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: FT_MODULE_IS_DRIVER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_IS_DRIVER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: FT_MODULE_IS_RENDERER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_IS_RENDERER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 523
    functionName: FT_MODULE_IS_HINTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_IS_HINTER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: FT_MODULE_IS_STYLER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MODULE_IS_STYLER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 529
    functionName: FT_DRIVER_IS_SCALABLE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER_IS_SCALABLE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: FT_DRIVER_USES_OUTLINES
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER_USES_OUTLINES( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: FT_DRIVER_HAS_HINTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER_HAS_HINTER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: FT_DRIVER_HINTS_LIGHTLY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER_HINTS_LIGHTLY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 598
    functionName: FT_FACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 599
    functionName: FT_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SIZE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 600
    functionName: FT_SLOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SLOT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: FT_FACE_DRIVER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_DRIVER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: FT_FACE_LIBRARY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_LIBRARY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: FT_FACE_MEMORY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_MEMORY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: FT_FACE_STREAM
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_STREAM( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 607
    functionName: FT_SIZE_FACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SIZE_FACE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 608
    functionName: FT_SLOT_FACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SLOT_FACE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 610
    functionName: FT_FACE_SLOT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_SLOT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 611
    functionName: FT_FACE_SIZE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_SIZE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 658
    functionDepth: 0
    functionLinenumber: 658
    functionLinenumberEnd: 662
    functionName: FT_REQUEST_WIDTH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_REQUEST_WIDTH( req )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - req
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 667
    functionName: FT_REQUEST_HEIGHT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_REQUEST_HEIGHT( req )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 736
    functionName: FT_RENDERER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_RENDERER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 737
    functionName: FT_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GLYPH( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: FT_BITMAP_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BITMAP_GLYPH( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 739
    functionName: FT_OUTLINE_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_OUTLINE_GLYPH( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 770
    functionName: FT_DRIVER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 773
    functionName: FT_DRIVER_CLASS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DRIVER_CLASS( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - move_to_
    - ','
    - line_to_
    - ','
    - conic_to_
    - ','
    - cubic_to_
    - ','
    - shift_
    - ','
    - delta_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1019
    functionName: FT_DEFINE_OUTLINE_FUNCS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_OUTLINE_FUNCS(           \\\n          class_,                          \\\n
      \         move_to_,                        \\\n          line_to_,                        \\\n
      \         conic_to_,                       \\\n          cubic_to_,                       \\\n
      \         shift_,                          \\\n          delta_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - glyph_format_
    - ','
    - raster_new_
    - ','
    - raster_reset_
    - ','
    - raster_set_mode_
    - ','
    - raster_render_
    - ','
    - raster_done_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1048
    functionName: FT_DEFINE_RASTER_FUNCS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_RASTER_FUNCS(    \\\n          class_,                  \\\n
      \         glyph_format_,           \\\n          raster_new_,             \\\n
      \         raster_reset_,           \\\n          raster_set_mode_,        \\\n
      \         raster_render_,          \\\n          raster_done_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - class_
    - ','
    - size_
    - ','
    - format_
    - ','
    - init_
    - ','
    - done_
    - ','
    - copy_
    - ','
    - transform_
    - ','
    - bbox_
    - ','
    - prepare_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1060
    functionDepth: 0
    functionLinenumber: 1060
    functionLinenumberEnd: 1082
    functionName: FT_DEFINE_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_GLYPH(          \\\n          class_,                 \\\n
      \         size_,                  \\\n          format_,                \\\n
      \         init_,                  \\\n          done_,                  \\\n
      \         copy_,                  \\\n          transform_,             \\\n
      \         bbox_,                  \\\n          prepare_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - class_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1104
    functionName: FT_DECLARE_RENDERER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DECLARE_RENDERER( class_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - class_
    - ','
    - flags_
    - ','
    - size_
    - ','
    - name_
    - ','
    - version_
    - ','
    - requires_
    - ','
    - interface_
    - ','
    - init_
    - ','
    - done_
    - ','
    - get_interface_
    - ','
    - glyph_format_
    - ','
    - render_glyph_
    - ','
    - transform_glyph_
    - ','
    - get_glyph_cbox_
    - ','
    - set_mode_
    - ','
    - raster_class_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1143
    functionName: FT_DEFINE_RENDERER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_RENDERER(                  \\\n          class_,                            \\\n
      \         flags_,                            \\\n          size_,                             \\\n
      \         name_,                             \\\n          version_,                          \\\n
      \         requires_,                         \\\n          interface_,                        \\\n
      \         init_,                             \\\n          done_,                             \\\n
      \         get_interface_,                    \\\n          glyph_format_,                     \\\n
      \         render_glyph_,                     \\\n          transform_glyph_,
      \                 \\\n          get_glyph_cbox_,                   \\\n          set_mode_,
      \                        \\\n          raster_class_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - class_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1171
    functionDepth: 0
    functionLinenumber: 1171
    functionLinenumberEnd: 1174
    functionName: FT_DECLARE_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DECLARE_MODULE( class_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - flags_
    - ','
    - size_
    - ','
    - name_
    - ','
    - version_
    - ','
    - requires_
    - ','
    - interface_
    - ','
    - init_
    - ','
    - done_
    - ','
    - get_interface_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1199
    functionName: FT_DEFINE_ROOT_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_ROOT_MODULE(  \\\n          flags_,               \\\n          size_,
      \               \\\n          name_,                \\\n          version_,
      \            \\\n          requires_,            \\\n          interface_,           \\\n
      \         init_,                \\\n          done_,                \\\n          get_interface_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - class_
    - ','
    - flags_
    - ','
    - size_
    - ','
    - name_
    - ','
    - version_
    - ','
    - requires_
    - ','
    - interface_
    - ','
    - init_
    - ','
    - done_
    - ','
    - get_interface_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1227
    functionName: FT_DEFINE_MODULE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftobjs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_MODULE(         \\\n          class_,                 \\\n
      \         flags_,                 \\\n          size_,                  \\\n
      \         name_,                  \\\n          version_,               \\\n
      \         requires_,              \\\n          interface_,             \\\n
      \         init_,                  \\\n          done_,                  \\\n
      \         get_interface_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 82
    functionName: T1_EncodingRecRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/t1types.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER T1_EncodingRecRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 81
    functionName: TTC_HeaderRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER TTC_HeaderRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: FT_FACE_FIND_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_FIND_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 85
    functionName: FT_FACE_FIND_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_FIND_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: FT_FACE_FIND_GLOBAL_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: FT_FACE_FIND_GLOBAL_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_FIND_GLOBAL_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 189
    functionName: FT_DEFINE_SERVICEDESCREC1
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC1( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: FT_DEFINE_SERVICEDESCREC2
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC2( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: FT_DEFINE_SERVICEDESCREC3
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC3( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 225
    functionName: FT_DEFINE_SERVICEDESCREC4
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC4( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 241
    functionName: FT_DEFINE_SERVICEDESCREC5
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC5( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4,                  \\\n
      \                                  serv_id_5, serv_data_5 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - ','
    - serv_id_6
    - ','
    - serv_data_6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 259
    functionName: FT_DEFINE_SERVICEDESCREC6
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC6( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4,                  \\\n
      \                                  serv_id_5, serv_data_5,                  \\\n
      \                                  serv_id_6, serv_data_6 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - ','
    - serv_id_6
    - ','
    - serv_data_6
    - ','
    - serv_id_7
    - ','
    - serv_data_7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: FT_DEFINE_SERVICEDESCREC7
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC7( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4,                  \\\n
      \                                  serv_id_5, serv_data_5,                  \\\n
      \                                  serv_id_6, serv_data_6,                  \\\n
      \                                  serv_id_7, serv_data_7 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - ','
    - serv_id_6
    - ','
    - serv_data_6
    - ','
    - serv_id_7
    - ','
    - serv_data_7
    - ','
    - serv_id_8
    - ','
    - serv_data_8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 301
    functionName: FT_DEFINE_SERVICEDESCREC8
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC8( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4,                  \\\n
      \                                  serv_id_5, serv_data_5,                  \\\n
      \                                  serv_id_6, serv_data_6,                  \\\n
      \                                  serv_id_7, serv_data_7,                  \\\n
      \                                  serv_id_8, serv_data_8 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - ','
    - serv_id_6
    - ','
    - serv_data_6
    - ','
    - serv_id_7
    - ','
    - serv_data_7
    - ','
    - serv_id_8
    - ','
    - serv_data_8
    - ','
    - serv_id_9
    - ','
    - serv_data_9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 325
    functionName: FT_DEFINE_SERVICEDESCREC9
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC9( class_,                                  \\\n
      \                                  serv_id_1, serv_data_1,                  \\\n
      \                                  serv_id_2, serv_data_2,                  \\\n
      \                                  serv_id_3, serv_data_3,                  \\\n
      \                                  serv_id_4, serv_data_4,                  \\\n
      \                                  serv_id_5, serv_data_5,                  \\\n
      \                                  serv_id_6, serv_data_6,                  \\\n
      \                                  serv_id_7, serv_data_7,                  \\\n
      \                                  serv_id_8, serv_data_8,                  \\\n
      \                                  serv_id_9, serv_data_9 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 43
    argNames:
    - (
    - class_
    - ','
    - serv_id_1
    - ','
    - serv_data_1
    - ','
    - serv_id_2
    - ','
    - serv_data_2
    - ','
    - serv_id_3
    - ','
    - serv_data_3
    - ','
    - serv_id_4
    - ','
    - serv_data_4
    - ','
    - serv_id_5
    - ','
    - serv_data_5
    - ','
    - serv_id_6
    - ','
    - serv_data_6
    - ','
    - serv_id_7
    - ','
    - serv_data_7
    - ','
    - serv_id_8
    - ','
    - serv_data_8
    - ','
    - serv_id_9
    - ','
    - serv_data_9
    - ','
    - serv_id_10
    - ','
    - serv_data_10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 351
    functionName: FT_DEFINE_SERVICEDESCREC10
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICEDESCREC10( class_,                                 \\\n
      \                                   serv_id_1, serv_data_1,                 \\\n
      \                                   serv_id_2, serv_data_2,                 \\\n
      \                                   serv_id_3, serv_data_3,                 \\\n
      \                                   serv_id_4, serv_data_4,                 \\\n
      \                                   serv_id_5, serv_data_5,                 \\\n
      \                                   serv_id_6, serv_data_6,                 \\\n
      \                                   serv_id_7, serv_data_7,                 \\\n
      \                                   serv_id_8, serv_data_8,                 \\\n
      \                                   serv_id_9, serv_data_9,                 \\\n
      \                                   serv_id_10, serv_data_10 )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 452
    functionName: FT_FACE_LOOKUP_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_LOOKUP_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - face
    - ','
    - ptr
    - ','
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: FT_FACE_LOOKUP_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FACE_LOOKUP_SERVICE( face, ptr, id )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 486
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftserv.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEFINE_SERVICE( name )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: CFF_IndexRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/cfftypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER CFF_IndexRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: CONST_FT_RFORK_RULE_ARRAY_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftrfork.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_FT_RFORK_RULE_ARRAY_BEGIN( name, type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - func_suffix
    - ','
    - type_suffix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: CONST_FT_RFORK_RULE_ARRAY_ENTRY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftrfork.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_FT_RFORK_RULE_ARRAY_ENTRY( func_suffix, type_suffix )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 79
    argNames:
    - (
    - class_
    - ','
    - goto_table_
    - ','
    - init_face_
    - ','
    - load_face_
    - ','
    - done_face_
    - ','
    - get_interface_
    - ','
    - load_any_
    - ','
    - load_head_
    - ','
    - load_hhea_
    - ','
    - load_cmap_
    - ','
    - load_maxp_
    - ','
    - load_os2_
    - ','
    - load_post_
    - ','
    - load_name_
    - ','
    - free_name_
    - ','
    - load_kern_
    - ','
    - load_gasp_
    - ','
    - load_pclt_
    - ','
    - load_bhed_
    - ','
    - load_sbit_image_
    - ','
    - get_psname_
    - ','
    - free_psnames_
    - ','
    - get_kerning_
    - ','
    - load_font_dir_
    - ','
    - load_hmtx_
    - ','
    - load_eblc_
    - ','
    - free_eblc_
    - ','
    - set_sbit_strike_
    - ','
    - load_strike_metrics_
    - ','
    - load_cpal_
    - ','
    - load_colr_
    - ','
    - free_cpal_
    - ','
    - free_colr_
    - ','
    - set_palette_
    - ','
    - get_colr_layer_
    - ','
    - colr_blend_
    - ','
    - get_metrics_
    - ','
    - get_name_
    - ','
    - get_name_id_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 869
    functionName: FT_DEFINE_SFNT_INTERFACE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/sfnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SFNT_INTERFACE(        \\\n          class_,                        \\\n
      \         goto_table_,                   \\\n          init_face_,                    \\\n
      \         load_face_,                    \\\n          done_face_,                    \\\n
      \         get_interface_,                \\\n          load_any_,                     \\\n
      \         load_head_,                    \\\n          load_hhea_,                    \\\n
      \         load_cmap_,                    \\\n          load_maxp_,                    \\\n
      \         load_os2_,                     \\\n          load_post_,                    \\\n
      \         load_name_,                    \\\n          free_name_,                    \\\n
      \         load_kern_,                    \\\n          load_gasp_,                    \\\n
      \         load_pclt_,                    \\\n          load_bhed_,                    \\\n
      \         load_sbit_image_,              \\\n          get_psname_,                   \\\n
      \         free_psnames_,                 \\\n          get_kerning_,                  \\\n
      \         load_font_dir_,                \\\n          load_hmtx_,                    \\\n
      \         load_eblc_,                    \\\n          free_eblc_,                    \\\n
      \         set_sbit_strike_,              \\\n          load_strike_metrics_,
      \         \\\n          load_cpal_,                    \\\n          load_colr_,
      \                   \\\n          free_cpal_,                    \\\n          free_colr_,
      \                   \\\n          set_palette_,                  \\\n          get_colr_layer_,
      \              \\\n          colr_blend_,                   \\\n          get_metrics_,
      \                 \\\n          get_name_,                     \\\n          get_name_id_
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 47
    functionName: FT_SubGlyphRec_
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftgloadr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_BEGIN_HEADER
    signature: FT_BEGIN_HEADER FT_SubGlyphRec_
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _loader
    - ','
    - _count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 111
    functionName: FT_GLYPHLOADER_CHECK_P
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftgloadr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GLYPHLOADER_CHECK_P( _loader, _count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _loader
    - ','
    - _count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 117
    functionName: FT_GLYPHLOADER_CHECK_C
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftgloadr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GLYPHLOADER_CHECK_C( _loader, _count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _loader
    - ','
    - _points
    - ','
    - _contours
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: FT_GLYPHLOADER_CHECK_POINTS
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftgloadr.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_GLYPHLOADER_CHECK_POINTS( _loader, _points, _contours )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expression
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: FT_SET_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_SET_ERROR( expression )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: static_cast <T*>
      Src: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - v
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: cplusplus_typeof
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached:
    - static_cast <T*>
    linkageType: ''
    returnType: T
    signature: "T *\n  cplusplus_typeof(        T*,\n                    void  *v
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: FT_ASSIGNP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSIGNP( p, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: FT_ASSIGNP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSIGNP( p, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: FT_DEBUG_INNER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEBUG_INNER( exp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: FT_ASSIGNP_INNER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSIGNP_INNER( p, exp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: FT_DEBUG_INNER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEBUG_INNER( exp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: FT_ASSIGNP_INNER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ASSIGNP_INNER( p, exp )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: FT_MEM_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_ALLOC( ptr, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 161
    functionName: FT_MEM_FREE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_FREE( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: FT_MEM_NEW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_NEW( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: FT_MEM_REALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_REALLOC( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: FT_MEM_QALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QALLOC( ptr, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: FT_MEM_QNEW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QNEW( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 188
    functionName: FT_MEM_QREALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QREALLOC( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - count
    - ','
    - item_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: FT_MEM_ALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_ALLOC_MULT( ptr, count, item_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - oldcnt
    - ','
    - newcnt
    - ','
    - itmsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: FT_MEM_REALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - count
    - ','
    - item_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 212
    functionName: FT_MEM_QALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QALLOC_MULT( ptr, count, item_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - oldcnt
    - ','
    - newcnt
    - ','
    - itmsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    functionName: FT_MEM_QREALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cond
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: FT_MEM_SET_ERROR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_SET_ERROR( cond )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - byte
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: FT_MEM_SET
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_SET( dest, byte, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - source
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: FT_MEM_COPY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_COPY( dest, source, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - source
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: FT_MEM_MOVE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_MOVE( dest, source, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: FT_MEM_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_ZERO( dest, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: FT_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ZERO( p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dest
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    functionName: FT_ARRAY_ZERO
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ARRAY_ZERO( dest, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - source
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: FT_ARRAY_COPY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ARRAY_COPY( dest, source, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - source
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: FT_ARRAY_MOVE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ARRAY_MOVE( dest, source, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: FT_ARRAY_MAX
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ARRAY_MAX( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: FT_ARRAY_CHECK
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ARRAY_CHECK( ptr, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    functionName: FT_MEM_NEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_NEW_ARRAY( ptr, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: FT_MEM_RENEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_RENEW_ARRAY( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 293
    functionName: FT_MEM_QNEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QNEW_ARRAY( ptr, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 301
    functionName: FT_MEM_QRENEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_QRENEW_ARRAY( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: FT_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 61
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ALLOC( ptr, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: FT_REALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_REALLOC( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - count
    - ','
    - item_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: FT_ALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_ALLOC_MULT( ptr, count, item_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - oldcnt
    - ','
    - newcnt
    - ','
    - itmsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 314
    functionName: FT_REALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_REALLOC_MULT( ptr, oldcnt, newcnt, itmsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: FT_QALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QALLOC( ptr, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - cursz
    - ','
    - newsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: FT_QREALLOC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QREALLOC( ptr, cursz, newsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - count
    - ','
    - item_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 323
    functionName: FT_QALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QALLOC_MULT( ptr, count, item_size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - oldcnt
    - ','
    - newcnt
    - ','
    - itmsz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: FT_QREALLOC_MULT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QREALLOC_MULT( ptr, oldcnt, newcnt, itmsz )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: FT_FREE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 191
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_FREE( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 331
    functionName: FT_NEW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEW( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: FT_NEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 73
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_NEW_ARRAY( ptr, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - curcnt
    - ','
    - newcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: FT_RENEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_RENEW_ARRAY( ptr, curcnt, newcnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 340
    functionName: FT_QNEW
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QNEW( ptr )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: FT_QNEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QNEW_ARRAY( ptr, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - curcnt
    - ','
    - newcnt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 346
    functionName: FT_QRENEW_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_QRENEW_ARRAY( ptr, curcnt, newcnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: FT_MEM_STRDUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_STRDUP( dst, str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: FT_STRDUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STRDUP( dst, str )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - address
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: FT_MEM_DUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_MEM_DUP( dst, address, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - address
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: FT_DUP
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DUP( dst, address, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dst
    - ','
    - src
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: FT_STRCPYN
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/ftmemory.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_STRCPYN( dst, src, size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svprop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( Properties )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - class_
    - ','
    - set_property_
    - ','
    - get_property_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: FT_DEFINE_SERVICE_PROPERTIESREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svprop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_PROPERTIESREC( class_,          \\\n                                         set_property_,
      \  \\\n                                         get_property_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svttglyf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( TTGlyf )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - class_
    - ','
    - get_location_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: FT_DEFINE_SERVICE_TTGLYFREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svttglyf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEFINE_SERVICE_TTGLYFREC( class_, get_location_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svtteng.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( TrueTypeEngine )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svmetric.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( MetricsVariations )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - class_
    - ','
    - hadvance_adjust_
    - ','
    - lsb_adjust_
    - ','
    - rsb_adjust_
    - ','
    - vadvance_adjust_
    - ','
    - tsb_adjust_
    - ','
    - bsb_adjust_
    - ','
    - vorg_adjust_
    - ','
    - metrics_adjust_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 116
    functionName: FT_DEFINE_SERVICE_METRICSVARIATIONSREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svmetric.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_METRICSVARIATIONSREC( class_,            \\\n                                                hadvance_adjust_,
      \ \\\n                                                lsb_adjust_,       \\\n
      \                                               rsb_adjust_,       \\\n                                                vadvance_adjust_,
      \ \\\n                                                tsb_adjust_,       \\\n
      \                                               bsb_adjust_,       \\\n                                                vorg_adjust_,
      \     \\\n                                                metrics_adjust_  )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svotval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( OTvalidate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 116
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svmm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( MultiMasters )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - class_
    - ','
    - get_mm_
    - ','
    - set_mm_design_
    - ','
    - set_mm_blend_
    - ','
    - get_mm_blend_
    - ','
    - get_mm_var_
    - ','
    - set_var_design_
    - ','
    - get_var_design_
    - ','
    - set_instance_
    - ','
    - set_weightvector_
    - ','
    - get_weightvector_
    - ','
    - get_var_blend_
    - ','
    - done_blend_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 147
    functionName: FT_DEFINE_SERVICE_MULTIMASTERSREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svmm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_MULTIMASTERSREC( class_,            \\\n                                           get_mm_,
      \          \\\n                                           set_mm_design_,    \\\n
      \                                          set_mm_blend_,     \\\n                                           get_mm_blend_,
      \    \\\n                                           get_mm_var_,       \\\n
      \                                          set_var_design_,   \\\n                                           get_var_design_,
      \  \\\n                                           set_instance_,     \\\n                                           set_weightvector_,
      \\\n                                           get_weightvector_, \\\n                                           get_var_blend_,
      \   \\\n                                           done_blend_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svkern.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( Kerning )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svttcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( TTCMaps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - class_
    - ','
    - get_cmap_info_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: FT_DEFINE_SERVICE_TTCMAPSREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svttcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEFINE_SERVICE_TTCMAPSREC( class_, get_cmap_info_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svbdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( BDF )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - class_
    - ','
    - get_charset_id_
    - ','
    - get_property_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: FT_DEFINE_SERVICE_BDFRec
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svbdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_BDFRec( class_,                                \\\n
      \                                 get_charset_id_,                       \\\n
      \                                 get_property_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpostnm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( PsFontName )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - class_
    - ','
    - get_ps_font_name_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: FT_DEFINE_SERVICE_PSFONTNAMEREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpostnm.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEFINE_SERVICE_PSFONTNAMEREC( class_, get_ps_font_name_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpsinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( PsInfo )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - class_
    - ','
    - get_font_info_
    - ','
    - ps_get_font_extra_
    - ','
    - has_glyph_names_
    - ','
    - get_font_private_
    - ','
    - get_font_value_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: FT_DEFINE_SERVICE_PSINFOREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpsinfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_PSINFOREC( class_,                     \\\n                                     get_font_info_,
      \            \\\n                                     ps_get_font_extra_,         \\\n
      \                                    has_glyph_names_,           \\\n                                     get_font_private_,
      \         \\\n                                     get_font_value_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svcfftl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( CFFLoad )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - class_
    - ','
    - get_standard_encoding_
    - ','
    - load_private_dict_
    - ','
    - fd_select_get_
    - ','
    - blend_check_vector_
    - ','
    - blend_build_vector_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: FT_DEFINE_SERVICE_CFFLOADREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svcfftl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_CFFLOADREC( class_,                  \\\n                                      get_standard_encoding_,
      \ \\\n                                      load_private_dict_,      \\\n                                      fd_select_get_,
      \         \\\n                                      blend_check_vector_,     \\\n
      \                                     blend_build_vector_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svgxval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( GXvalidate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svgxval.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( CKERNvalidate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svsfnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( SFNT_Table )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - class_
    - ','
    - load_
    - ','
    - get_
    - ','
    - info_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: FT_DEFINE_SERVICE_SFNT_TABLEREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svsfnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_DEFINE_SERVICE_SFNT_TABLEREC( class_, load_, get_, info_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svgldict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( GlyphDict )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - class_
    - ','
    - get_name_
    - ','
    - name_index_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: FT_DEFINE_SERVICE_GLYPHDICTREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svgldict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_GLYPHDICTREC( class_,                        \\\n
      \                                       get_name_,                     \\\n
      \                                       name_index_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svwinfnt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( WinFnt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpfr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( PfrMetrics )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( CID )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - class_
    - ','
    - get_ros_
    - ','
    - get_is_cid_
    - ','
    - get_cid_from_glyph_index_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 59
    functionName: FT_DEFINE_SERVICE_CIDREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_CIDREC( class_,                                   \\\n
      \                                 get_ros_,                                 \\\n
      \                                 get_is_cid_,                              \\\n
      \                                 get_cid_from_glyph_index_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: FT_DEFINE_SERVICE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpscmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FT_DEFINE_SERVICE( PsCMaps )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - class_
    - ','
    - unicode_value_
    - ','
    - unicodes_init_
    - ','
    - unicodes_char_index_
    - ','
    - unicodes_char_next_
    - ','
    - macintosh_name_
    - ','
    - adobe_std_strings_
    - ','
    - adobe_std_encoding_
    - ','
    - adobe_expert_encoding_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 135
    functionName: FT_DEFINE_SERVICE_PSCMAPSREC
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/internal/services/svpscmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "FT_DEFINE_SERVICE_PSCMAPSREC( class_,                               \\\n
      \                                     unicode_value_,                       \\\n
      \                                     unicodes_init_,                       \\\n
      \                                     unicodes_char_index_,                 \\\n
      \                                     unicodes_char_next_,                  \\\n
      \                                     macintosh_name_,                      \\\n
      \                                     adobe_std_strings_,                   \\\n
      \                                     adobe_std_encoding_,                  \\\n
      \                                     adobe_expert_encoding_ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: ft_setjmp
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftstdlib.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_setjmp( b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: FT_UNUSED
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 229
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UNUSED( arg )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 339
    functionName: FT_UINT_TO_POINTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UINT_TO_POINTER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: FT_UINT_TO_POINTER
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_UINT_TO_POINTER( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: FT_TYPEOF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_TYPEOF( type )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    functionName: FT_LOCAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: FT_LOCAL_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 384
    functionName: FT_LOCAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 385
    functionName: FT_LOCAL_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    functionName: FT_LOCAL
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: FT_LOCAL_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: FT_LOCAL_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_ARRAY( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: FT_LOCAL_ARRAY_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_LOCAL_ARRAY_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: FT_BASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: FT_BASE
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    functionName: FT_BASE_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: FT_BASE_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 464
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 468
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 470
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 472
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: FT_EXPORT
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 493
    functionName: FT_EXPORT_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 495
    functionName: FT_EXPORT_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 504
    functionName: FT_EXPORT_VAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT_VAR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: FT_EXPORT_VAR
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_EXPORT_VAR( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: FT_CALLBACK_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CALLBACK_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    functionName: FT_CALLBACK_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_CALLBACK_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 551
    functionName: FT_BASE_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_CALLBACK( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: FT_BASE_CALLBACK_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_CALLBACK_DEF( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 554
    functionName: FT_BASE_CALLBACK
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_CALLBACK( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    functionName: FT_BASE_CALLBACK_DEF
    functionSourceFile: /src/libspectre/ghostscript/freetype/include/freetype/config/ftconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FT_BASE_CALLBACK_DEF( x )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:67,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:72,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:79,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 83
    functionName: pdfocr_put_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - memcpy
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int pdfocr_put_some_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfocr_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:88,1
    - Dst: pdf_image_put_params_downscale_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: pdfocr_put_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - pdf_image_put_params_downscale_cmyk
    - pdfocr_put_some_params
    linkageType: ''
    returnType: int
    signature: int pdfocr_put_params_downscale_cmyk(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfocr_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:97,1
    - Dst: pdf_image_put_params_downscale
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 101
    functionName: pdfocr_put_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - pdf_image_put_params_downscale
    - pdfocr_put_some_params
    linkageType: ''
    returnType: int
    signature: int pdfocr_put_params_downscale(gx_device * dev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:113,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 124
    functionName: pdfocr_get_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - strlen
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int pdfocr_get_some_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfocr_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:129,1
    - Dst: pdf_image_get_params_downscale_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: pdfocr_get_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - pdf_image_get_params_downscale_cmyk
    - pdfocr_get_some_params
    linkageType: ''
    returnType: int
    signature: int pdfocr_get_params_downscale_cmyk(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfocr_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:139,1
    - Dst: pdf_image_get_params_downscale
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 144
    functionName: pdfocr_get_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - pdf_image_get_params_downscale
    - pdfocr_get_some_params
    linkageType: ''
    returnType: int
    signature: int pdfocr_get_params_downscale(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:402,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:403,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:404,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:405,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:406,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:407,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:408,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:409,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:410,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:411,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:412,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:413,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:414,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:415,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:416,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:417,1
    - Dst: ocr_init_api
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_pdf_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 420
    functionName: ocr_file_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - stream_write
    - ocr_init_api
    - stell
    linkageType: ''
    returnType: int
    signature: int ocr_file_init(gx_device_pdf_image *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - row
    argTypes:
    - gx_device_pdf_image*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 437
    functionName: ocr_line8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ocr_line8(gx_device_pdf_image *dev, void *row)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - row
    argTypes:
    - gx_device_pdf_image*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 463
    functionName: ocr_line24
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ocr_line24(gx_device_pdf_image *dev, void *row)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - dev
    - row
    argTypes:
    - gx_device_pdf_image*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 493
    functionName: ocr_line32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ocr_line32(gx_device_pdf_image *dev, void *row)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:500,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - dev
    - w
    - h
    - bpp
    argTypes:
    - gx_device_pdf_image*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 515
    functionName: ocr_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int ocr_begin_page(gx_device_pdf_image *dev, int w, int h, int bpp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:531,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:532,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:537,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:538,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:541,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:542,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:544,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:545,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:547,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_pdf_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 550
    functionName: flush_word
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void flush_word(gx_device_pdf_image *dev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:562,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:594,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:595,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:600,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:601,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:604,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:605,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:606,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:607,1
    - Dst: flush_word
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:619,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:632,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:635,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:637,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:639,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 59
    argCount: 6
    argNames:
    - arg
    - rune_
    - line_bbox
    - word_bbox
    - char_bbox
    - pointsize
    argTypes:
    - void*
    - char*
    - int*
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 552
    functionDepth: 2
    functionLinenumber: 552
    functionLinenumberEnd: 648
    functionName: ocr_callback
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gx_downscaler_scale
    - gs_alloc_bytes
    - gs_sprintf
    - memcpy
    - return_error
    - flush_word
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int ocr_callback(void *arg, const char *rune_,\n             const
      int *line_bbox, const int *word_bbox,\n             const int *char_bbox, int
      pointsize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:653,1
    - Dst: ocr_recognise
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:665,1
    - Dst: flush_word
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:674,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:675,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:677,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_pdf_image*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 683
    functionName: ocr_end_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - ocr_recognise
    - flush_word
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int ocr_end_page(gx_device_pdf_image *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_open
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 706
    functionName: pdf_ocr_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - pdf_image_open
    linkageType: ''
    returnType: int
    signature: int pdf_ocr_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_close
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:714,1
    - Dst: ocr_fin_api
      Src: /src/libspectre/ghostscript/devices/gdevpdfocr.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 727
    functionName: pdf_ocr_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfocr.c
    functionUses: 0
    functionsReached:
    - ocr_fin_api
    - pdf_image_close
    linkageType: ''
    returnType: int
    signature: int pdf_ocr_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_cmykog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 132
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(cmykog_device_enum_ptrs, gx_device_cmykog *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_cmykog*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(cmykog_device_reloc_ptrs, gx_device_cmykog
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_device_finalize
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 151
    functionName: cmykog_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_device_finalize
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END cmykog_device_finalize(const gs_memory_t *cmem, void
      *vpdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 203
    functionName: cmykog_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open_planar
    linkageType: ''
    returnType: int
    signature: int cmykog_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: cmykog_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    linkageType: ''
    returnType: int
    signature: int cmykog_close(gx_device * pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_param
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:224,1
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:231,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 232
    functionName: cmykog_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    - gdev_prn_get_param
    linkageType: ''
    returnType: int
    signature: int cmykog_dev_spec_op(gx_device *dev_, int op, void *data, int datasize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:255,1
    - Dst: devn_get_color_comp_index
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 262
    functionName: cmykog_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - strncmp
    - devn_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int cmykog_get_color_comp_index(gx_device * dev, const char * pname,\n
      \                               int name_size, int component_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_name_array
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:274,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:277,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:284,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:285,1
    - Dst: gx_devn_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:287,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 288
    functionName: cmykog_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - return_error
    - gx_devn_prn_put_params
    - param_read_name_array
    linkageType: ''
    returnType: int
    signature: int cmykog_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:326,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:328,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - arg_
    - dev_
    - memory
    - w
    - h
    - bufferp
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - int
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 333
    functionName: cmykog_init_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - return_error
    - memset
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int cmykog_init_buffer(void *arg_, gx_device *dev_, gs_memory_t *memory,
      int w, int h, void **bufferp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - arg_
    - dev_
    - memory
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 350
    functionName: cmykog_free_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void cmykog_free_buffer(void *arg_, gx_device *dev_, gs_memory_t *memory,
      void *buffer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - image
    - width
    - height
    - raster
    argTypes:
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 382
    functionName: average_plane
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void average_plane(byte *image, int width, int height, int raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:389,1
    - Dst: _mm_set1_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:426,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:434,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:436,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:437,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:439,1
    - Dst: _mm_andnot_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:440,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:441,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:443,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:444,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:448,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:449,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:451,1
    - Dst: _mm_andnot_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:452,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:453,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:455,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:456,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:458,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:460,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:461,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:463,1
    - Dst: _mm_andnot_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:464,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:465,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:467,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:468,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:472,1
    - Dst: _mm_shuffle_epi8
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:473,1
    - Dst: _mm_and_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:475,1
    - Dst: _mm_andnot_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:476,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:477,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:479,1
    - Dst: _mm_add_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:480,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:482,1
    - Dst: _mm_srli_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:483,1
    - Dst: _mm_packus_epi16
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:486,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:489,1
    - Dst: _mm_store_si128
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 74
    argCount: 4
    argNames:
    - image
    - width
    - height
    - raster
    argTypes:
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 494
    functionName: average_plane
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - _mm_set1_epi8
    - _mm_set1_epi16
    - _mm_srli_epi16
    - _mm_and_si128
    - _mm_packus_epi16
    - _mm_store_si128
    - _mm_add_epi16
    - _mm_shuffle_epi8
    - _mm_xor_si128
    - _mm_load_si128
    - _mm_andnot_si128
    linkageType: ''
    returnType: void
    signature: void average_plane(byte* image, int width, int height, int raster)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:525,1
    - Dst: gdev_prn_color_usage
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:531,1
    - Dst: average_plane
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - arg_
    - dev_
    - bdev
    - rect
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - gx_device*
    - gs_int_rect*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 551
    functionName: cmykog_process
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - average_plane
    - dev_proc
    - gdev_prn_color_usage
    linkageType: ''
    returnType: int
    signature: int cmykog_process(void *arg_, gx_device *dev_, gx_device *bdev, const
      gs_int_rect *rect, void *buffer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - file
    - data
    - w
    - h
    - raster
    argTypes:
    - gp_file*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 562
    functionName: write_plane
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void write_plane(gp_file *file, byte *data, int w, int h, int raster)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - file
    - w
    - h
    argTypes:
    - gp_file*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 588
    functionName: write_empty_plane
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void write_empty_plane(gp_file *file, int w, int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_plane
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:608,1
    - Dst: write_empty_plane
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - arg_
    - dev_
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 614
    functionName: cmykog_output
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - write_plane
    - write_empty_plane
    linkageType: ''
    returnType: int
    signature: int cmykog_output(void *arg_, gx_device *dev_, void *buffer_)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: psd_allow_multiple_pages
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:628,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:629,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:630,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:633,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:636,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:638,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:639,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:642,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:643,1
    - Dst: gx_device_raster_plane
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:649,1
    - Dst: psd_setup
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:653,1
    - Dst: psd_write_header
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:658,1
    - Dst: gp_open_scratch_file_rm
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:667,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:682,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:689,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:690,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:691,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:692,1
    - Dst: write_empty_plane
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:698,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:708,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:710,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:713,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcmykog.c:714,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 618
    functionDepth: 2
    functionLinenumber: 618
    functionLinenumberEnd: 717
    functionName: cmykog_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcmykog.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - emprintf
    - gp_fwrite
    - write_empty_plane
    - gp_feof
    - psd_allow_multiple_pages
    - psd_setup
    - memset
    - gp_fseek
    - gs_note_error
    - psd_write_header
    - gs_free_object
    - gp_fread
    - unlink
    - dev_proc
    - gp_open_scratch_file_rm
    - gp_fclose
    - return_error
    - gx_device_raster_plane
    linkageType: ''
    returnType: int
    signature: int cmykog_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:190,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:191,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: jpegcmyk_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int jpegcmyk_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:200,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:201,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:202,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: jpegcmyk_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index jpegcmyk_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:213,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:220,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:222,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:224,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:227,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:230,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:233,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 240
    functionName: jpeg_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached:
    - param_write_float
    - param_write_int
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int jpeg_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:254,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:256,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:265,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:270,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:279,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:284,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:287,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:293,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:296,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:299,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:305,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:309,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:315,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:318,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:324,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:326,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 336
    functionName: jpeg_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_read_params
    - param_read_int
    - param_read_float
    - param_signal_error
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int jpeg_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 413
    functionName: jpeg_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jpeg_get_initial_matrix(gx_device *dev, gs_matrix *pmat)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:421,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:422,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:423,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:436,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:439,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:443,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:450,1
    - Dst: gs_jpeg_create_compress
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:476,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:478,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:485,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:486,1
    - Dst: gs_jpeg_set_defaults
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:502,1
    - Dst: gs_jpeg_set_quality
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:505,1
    - Dst: gs_jpeg_set_linear_quality
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:509,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:510,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:525,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:528,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:531,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:533,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:534,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:536,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:539,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:540,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:541,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:542,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:555,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:558,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:559,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:563,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:564,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:566,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:567,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:569,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:570,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:572,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:573,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:577,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpeg.c:578,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 121
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 580
    functionName: jpeg_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpeg.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - max
    - sclose
    - gs_alloc_struct_immovable
    - s_init_state
    - swrite_file
    - gx_downscaler_init
    - gx_downscaler_getbits
    - gs_note_error
    - min
    - gs_free_object
    - gs_jpeg_set_quality
    - sputs
    - gs_jpeg_set_linear_quality
    - s_init
    - gs_jpeg_create_compress
    - gx_downscaler_scale
    - gs_jpeg_destroy
    - gdev_mem_bytes_per_scan_line
    - s_std_init
    - gs_jpeg_set_defaults
    - sflush
    linkageType: ''
    returnType: int
    signature: int jpeg_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:47,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:49,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:51,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:53,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:57,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:68,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:71,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:75,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:77,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - mem
    - prefix
    - pdcolor
    argTypes:
    - gs_memory_t*
    - char*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 79
    functionName: trace_drawing_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - dmprintf2
    - dmputs
    - dmprintf5
    linkageType: ''
    returnType: void
    signature: void trace_drawing_color(const gs_memory_t *mem, const char *prefix,
      const gx_drawing_color *pdcolor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - lop
    argTypes:
    - gs_memory_t*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: trace_lop
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    linkageType: ''
    returnType: void
    signature: void trace_lop(const gs_memory_t *mem, gs_logical_operation_t lop)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:92,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:96,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:98,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:98,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:99,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:102,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:102,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:103,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:106,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:106,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:107,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:110,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:110,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:111,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:111,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:112,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:112,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:113,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - path
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 123
    functionName: trace_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    - gx_path_enum_next
    - dmprintf6
    - gx_path_enum_init
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void trace_path(const gx_path *path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:130,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:131,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:132,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:135,1
    - Dst: trace_path
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:137,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:139,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:140,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dev
    - pcpath
    argTypes:
    - gx_device*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 141
    functionName: trace_clip
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_path
    - dmputs
    - gx_cpath_includes_rectangle
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void trace_clip(gx_device *dev, const gx_clip_path *pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 152
    functionName: trace_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf5
    linkageType: ''
    returnType: int
    signature: "int trace_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                     gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:160,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 164
    functionName: trace_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    - dmprintf7
    linkageType: ''
    returnType: int
    signature: "int trace_copy_mono(gx_device * dev, const byte * data,\n                int
      dx, int raster, gx_bitmap_id id,\n                int x, int y, int w, int h,\n
      \               gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 174
    functionName: trace_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf7
    linkageType: ''
    returnType: int
    signature: "int trace_copy_color(gx_device * dev, const byte * data,\n                 int
      dx, int raster, gx_bitmap_id id,\n                 int x, int y, int w, int
      h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:181,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: trace_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    - dmprintf7
    linkageType: ''
    returnType: int
    signature: "int trace_copy_alpha(gx_device * dev, const byte * data, int dx, int
      raster,\n                 gx_bitmap_id id, int x, int y, int w, int h,\n                 gx_color_index
      color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:194,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:196,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:197,1
    - Dst: trace_lop
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:198,1
    - Dst: trace_clip
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:199,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 13
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 3
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: trace_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_lop
    - trace_drawing_color
    - dmprintf7
    - dmprintf1
    - trace_clip
    - dmputs
    linkageType: ''
    returnType: int
    signature: "int trace_fill_mask(gx_device * dev,\n                const byte *
      data, int dx, int raster, gx_bitmap_id id,\n                int x, int y, int
      w, int h,\n                const gx_drawing_color * pdcolor, int depth,\n                gs_logical_operation_t
      lop, const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 214
    functionName: trace_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmputs
    linkageType: ''
    returnType: int
    signature: "int trace_fill_trapezoid(gx_device * dev,\n                     const
      gs_fixed_edge * left,\n                     const gs_fixed_edge * right,\n                     fixed
      ybot, fixed ytop, bool swap_axes,\n                     const gx_drawing_color
      * pdcolor,\n                     gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:222,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:223,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:223,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:223,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:224,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:224,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:224,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:225,1
    - Dst: trace_lop
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:226,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 229
    functionName: trace_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_lop
    - trace_drawing_color
    - dmprintf6
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int trace_fill_parallelogram(gx_device * dev,\n                         fixed
      px, fixed py, fixed ax, fixed ay,\n                         fixed bx, fixed
      by, const gx_drawing_color * pdcolor,\n                         gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:237,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:238,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:238,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:238,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:239,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:239,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:239,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:240,1
    - Dst: trace_lop
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:241,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: trace_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_lop
    - trace_drawing_color
    - dmprintf6
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int trace_fill_triangle(gx_device * dev,\n                    fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                    const
      gx_drawing_color * pdcolor,\n                    gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:253,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:254,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:254,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:254,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:255,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:256,1
    - Dst: trace_lop
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:257,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: trace_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_lop
    - trace_drawing_color
    - dmprintf4
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int trace_draw_thin_line(gx_device * dev,\n                     fixed
      fx0, fixed fy0, fixed fx1, fixed fy1,\n                     const gx_drawing_color
      * pdcolor,\n                     gs_logical_operation_t lop,\n                     fixed
      adjustx, fixed adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:268,1
    - Dst: dmprintf8
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 274
    functionName: trace_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf6
    - dmprintf8
    linkageType: ''
    returnType: int
    signature: "int trace_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                           int x, int y, int w, int h,\n                           gx_color_index
      color0, gx_color_index color1,\n                           int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 287
    functionName: trace_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmputs
    linkageType: ''
    returnType: int
    signature: "int trace_strip_copy_rop(gx_device * dev, const byte * sdata, int
      sourcex,\n                     uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n                     const gx_strip_bitmap * textures,\n
      \                    const gx_color_index * tcolors,\n                     int
      x, int y, int width, int height,\n                     int phase_x, int phase_y,
      gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 301
    functionName: trace_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmputs
    linkageType: ''
    returnType: int
    signature: "int trace_strip_copy_rop2(gx_device * dev, const byte * sdata, int
      sourcex,\n                      uint sraster, gx_bitmap_id id,\n                      const
      gx_color_index * scolors,\n                      const gx_strip_bitmap * textures,\n
      \                     const gx_color_index * tcolors,\n                      int
      x, int y, int width, int height,\n                      int phase_x, int phase_y,
      gs_logical_operation_t lop,\n                      uint plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:311,1
    - Dst: trace_path
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:312,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:313,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:314,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:315,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:316,1
    - Dst: trace_clip
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:317,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 321
    functionName: trace_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_clip
    - trace_drawing_color
    - trace_path
    - dmprintf4
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int trace_fill_path(gx_device * dev, const gs_gstate * pgs,\n                gx_path
      * ppath, const gx_fill_params * params,\n                const gx_drawing_color
      * pdcolor,\n                const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:329,1
    - Dst: trace_path
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:330,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:331,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:332,1
    - Dst: trace_clip
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:333,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 337
    functionName: trace_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - trace_drawing_color
    - dmprintf1
    - trace_path
    - trace_clip
    - dmputs
    linkageType: ''
    returnType: int
    signature: "int trace_stroke_path(gx_device * dev, const gs_gstate * pgs,\n                  gx_path
      * ppath, const gx_stroke_params * params,\n                  const gx_drawing_color
      * pdcolor,\n                  const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:355,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:358,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:362,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 367
    functionName: trace_plane_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - dmputs
    - dmprintf4
    linkageType: ''
    returnType: int
    signature: "int trace_plane_data(gx_image_enum_common_t * info,\n                 const
      gx_image_plane_t * planes, int height,\n                 int *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 375
    functionName: trace_end_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - gx_image_free_enum
    linkageType: ''
    returnType: int
    signature: int trace_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:393,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:405,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:408,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:411,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:416,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:420,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:426,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:433,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:434,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pim
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 436
    functionName: trace_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - gx_default_begin_typed_image
    - gx_image_enum_common_init
    - gs_color_space_num_components
    - dmprintf7
    - dmprintf4
    - dmputs
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int trace_begin_typed_image(gx_device * dev, const gs_gstate * pgs,\n
      \                       const gs_matrix * pmat,\n                        const
      gs_image_common_t * pim,\n                        const gs_int_rect * prect,\n
      \                       const gx_drawing_color * pdcolor,\n                        const
      gx_clip_path * pcpath,\n                        gs_memory_t * memory,\n                        gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: trace_text_process
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trace_text_process(gs_text_enum_t *pte)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:467,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:468,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:471,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:473,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:475,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:477,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:479,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:483,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:485,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:490,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:492,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:494,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:500,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:503,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:505,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:507,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:511,1
    - Dst: trace_drawing_color
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:515,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:526,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:528,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:549,1
    - Dst: procs::encode_char
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:556,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:561,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:572,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:585,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:585,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:586,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:587,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:588,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:592,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:596,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:598,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/gdevtrac.c:599,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 601
    functionName: trace_text_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtrac.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - countof
    - dmputc
    - gx_path_current_point
    - trace_drawing_color
    - dmprintf2
    - ctm_only
    - rc_alloc_struct_1
    - gs_distance_transform
    - gs_font*::procs::glyph_info
    - dmprintf1
    - gx_default_text_begin
    - gs_text_enum_init
    - procs::encode_char
    - gx_path_add_point
    - dmputs
    - dmprintf3
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int trace_text_begin(gx_device * dev, gs_gstate * pgs,\n                 const
      gs_text_params_t * text, gs_font * font,\n                 gx_path * path, const
      gx_device_color * pdcolor,\n                 const gx_clip_path * pcpath, gs_memory_t
      * memory,\n                 gs_text_enum_t ** ppenum)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:82,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:85,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:88,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:91,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:94,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:97,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:100,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:103,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:105,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:107,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:112,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:115,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:120,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:126,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:143,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:148,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:149,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:150,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:152,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:153,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:154,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:181,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:193,1
    - Dst: mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:195,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:196,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:197,1
    - Dst: mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:198,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:199,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:200,1
    - Dst: mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:201,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:202,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:203,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:208,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:209,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:212,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:215,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:219,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:220,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:221,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevdjtc.c:222,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 90
    argCount: 2
    argNames:
    - pdev
    - fprn
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 225
    functionName: djet500c_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjtc.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fwrite
    - gdev_prn_copy_scan_lines
    - malloc
    - free
    - memset
    - gdev_mem_bytes_per_scan_line
    - gp_fprintf
    - return_error
    - mode2compress
    linkageType: ''
    returnType: int
    signature: int djet500c_print_page(gx_device_printer *pdev, gp_file *fprn)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - row
    - end_row
    - compressed
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 295
    functionName: mode2compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjtc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mode2compress(byte *row, byte *end_row, byte *compressed)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:332,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 340
    functionName: png_get_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int png_get_params_downscale(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:348,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 355
    functionName: png_put_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    - gx_downscaler_read_params
    linkageType: ''
    returnType: int
    signature: int png_put_params_downscale(gx_device *dev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:363,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 371
    functionName: png_get_params_downscale_mfs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int png_get_params_downscale_mfs(gx_device *dev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:379,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 387
    functionName: png_put_params_downscale_mfs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    - gx_downscaler_read_params
    linkageType: ''
    returnType: int
    signature: int png_put_params_downscale_mfs(gx_device *dev, gs_param_list *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: png_get_mem_ptr
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:393,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:399,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - png
    - size
    argTypes:
    - png_structp
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: gdevpng_malloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - png_get_mem_ptr
    - gs_alloc_bytes
    linkageType: ''
    returnType: png_voidp
    signature: png_voidp gdevpng_malloc(png_structp png, png_size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: png_get_mem_ptr
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:412,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - png
    - ptr
    argTypes:
    - png_structp
    - png_voidp
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 417
    functionName: gdevpng_free
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - png_get_mem_ptr
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gdevpng_free(png_structp png, png_voidp ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:422,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - png
    - buf
    - size
    argTypes:
    - png_struct*
    - png_bytep
    - png_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 425
    functionName: my_png_write
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - png_get_io_ptr
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void my_png_write(png_struct *png, png_bytep buf, png_size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: png_get_io_ptr
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:430,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - png
    argTypes:
    - png_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: my_png_flush
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - png_get_io_ptr
    - gp_fflush
    linkageType: ''
    returnType: void
    signature: void my_png_flush(png_struct *png)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:441,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:445,1
    - Dst: png_create_write_struct_2
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:447,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:448,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:489,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:494,1
    - Dst: png_jmpbuf
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:494,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:496,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:500,1
    - Dst: png_set_write_fn
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:505,1
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:508,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:549,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:581,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:584,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:591,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:593,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:594,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:595,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:603,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:609,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:614,1
    - Dst: png_set_pHYs
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:626,1
    - Dst: png_set_IHDR
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:629,1
    - Dst: png_set_PLTE
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:635,1
    - Dst: png_set_text
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:637,1
    - Dst: png_set_iCCP
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:645,1
    - Dst: png_set_invert_alpha
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:681,1
    - Dst: png_set_invert_mono
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:683,1
    - Dst: png_set_bKGD
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:686,1
    - Dst: png_set_swap
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:690,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:695,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:708,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:723,1
    - Dst: png_write_rows
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:727,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:729,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:733,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:738,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:743,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:744,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 177
    argCount: 3
    argNames:
    - pdev
    - file
    - monod
    argTypes:
    - gx_device_png*
    - gp_file*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 437
    functionDepth: 7
    functionLinenumber: 437
    functionLinenumberEnd: 747
    functionName: do_png_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - png_set_write_fn
    - gx_downscaler_fin
    - gs_alloc_bytes
    - strlen
    - png_set_invert_alpha
    - gs_sprintf
    - png_set_text
    - png_set_pHYs
    - png_create_write_struct_2
    - png_write_end
    - png_destroy_write_struct
    - png_set_bKGD
    - png_set_invert_mono
    - png_set_IHDR
    - gx_downscaler_init
    - gx_downscaler_decode_factor
    - gs_note_error
    - gx_downscaler_getbits
    - gs_free_object
    - gx_color_value_to_byte
    - png_write_rows
    - dev_proc
    - png_create_info_struct
    - png_jmpbuf
    - png_set_swap
    - png_set_PLTE
    - png_set_iCCP
    - gdev_prn_raster
    - strncpy
    - setjmp
    - gx_device_has_color
    - png_write_info
    linkageType: ''
    returnType: int
    signature: int do_png_print_page(gx_device_png * pdev, gp_file * file, bool monod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_png_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 8
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: png_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 1
    functionsReached:
    - do_png_print_page
    linkageType: ''
    returnType: int
    signature: int png_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_png_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 8
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: png_print_page_monod
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - do_png_print_page
    linkageType: ''
    returnType: int
    signature: int png_print_page_monod(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - png_ptr
    - buffer
    - length
    argTypes:
    - png_structp
    - png_bytep
    - PPFB_LENGTH_T
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 780
    functionName: png_push_fill_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void png_push_fill_buffer(png_structp png_ptr, png_bytep buffer,\n
      \                    PPFB_LENGTH_T length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 797
    functionName: pngalpha_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    linkageType: ''
    returnType: int
    signature: int pngalpha_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_create_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:805,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:826,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 829
    functionName: pngalpha_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - gx_default_create_buf_device
    linkageType: ''
    returnType: int
    signature: "int pngalpha_create_buf_device(gx_device **pbdev, gx_device *target,
      int y,\n   const gx_render_plane_t *render_plane, gs_memory_t *mem,\n   gx_color_usage_t
      *color_usage)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:839,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:847,1
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:851,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:855,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 859
    functionName: pngalpha_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - gdev_prn_put_params
    - param_read_int
    - gx_downscaler_read_params
    linkageType: ''
    returnType: int
    signature: int pngalpha_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:866,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:869,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:872,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 876
    functionName: pngalpha_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int pngalpha_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:890,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:891,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 893
    functionName: pngalpha_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pngalpha_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:900,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:901,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 904
    functionName: pngalpha_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int pngalpha_decode_color(gx_device * dev, gx_color_index color,\n
      \                            gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:910,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: pngalpha_fillpage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pngalpha_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 11
    argNames:
    - pdev
    - mdev
    - buffers
    - num_chan
    - xstart
    - ystart
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 949
    functionName: pngalpha_put_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pngalpha_put_image (gx_device *pdev, gx_device *mdev, const byte
      **buffers, int num_chan, int xstart,\n              int ystart, int width, int
      height, int row_stride,\n              int alpha_plane_index, int tag_plane_index)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:959,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:971,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:979,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:981,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:982,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:983,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:985,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:988,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:998,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1019,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1040,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1047,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1051,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1062,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1063,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1066,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1067,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1071,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1072,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1079,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1080,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 953
    functionDepth: 1
    functionLinenumber: 953
    functionLinenumberEnd: 1083
    functionName: pngalpha_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - sample_store_flush
    - gx_device_raster
    - min
    - sample_store_next64
    - gs_free_object
    - return_error
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - sample_store_next32
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int pngalpha_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \          int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \                     gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevpng.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - dso
    - ptr
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1095
    functionName: pngalpha_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpng.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int pngalpha_spec_op(gx_device* pdev, int dso, void* ptr, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - obj
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: gs_x_free
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void gs_x_free(gs_memory_t *mem, void *obj, client_name_t cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: small_exact_log2
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:52,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 12
    argCount: 3
    argNames:
    - values
    - maxv
    - mult
    argTypes:
    - x11_cmap_values_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 59
    functionName: set_cmap_values
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - small_exact_log2
    linkageType: ''
    returnType: bool
    signature: bool set_cmap_values(x11_cmap_values_t *values, int maxv, int mult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_cmap_values
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:65,1
    - Dst: set_cmap_values
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:66,1
    - Dst: set_cmap_values
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - xdev
    - map
    argTypes:
    - gx_device_X*
    - XStandardColormap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: set_std_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - set_cmap_values
    linkageType: ''
    returnType: void
    signature: void set_std_cmap(gx_device_X *xdev, XStandardColormap *map)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XGetRGBColormaps
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:79,1
    - Dst: RootWindowOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:79,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - xdev
    - prop
    argTypes:
    - gx_device_X*
    - Atom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 86
    functionName: x_get_std_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - XGetRGBColormaps
    - RootWindowOfScreen
    linkageType: ''
    returnType: XStandardColormap
    signature: 'XStandardColormap *

      x_get_std_cmap(gx_device_X * xdev, Atom prop)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XAllocStandardColormap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:94,1
    - Dst: set_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - xdev
    - colored
    argTypes:
    - gx_device_X*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 131
    functionName: alloc_std_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - set_std_cmap
    - XAllocStandardColormap
    linkageType: ''
    returnType: bool
    signature: bool alloc_std_cmap(gx_device_X *xdev, bool colored)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:143,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - xdev
    - num_colors
    argTypes:
    - gx_device_X*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 159
    functionName: alloc_dynamic_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - min
    - gs_malloc
    linkageType: ''
    returnType: bool
    signature: bool alloc_dynamic_colors(gx_device_X * xdev, int num_colors)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XAllocColor
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:171,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:176,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - xdev
    - xcolor
    argTypes:
    - gx_device_X*
    - XColor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 180
    functionName: x_alloc_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - memcpy
    - XAllocColor
    linkageType: ''
    returnType: bool
    signature: bool x_alloc_color(gx_device_X *xdev, XColor *xcolor)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XFreeColors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - xdev
    - pixels
    - count
    argTypes:
    - gx_device_X*
    - x_pixel*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: x_free_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - XFreeColors
    linkageType: ''
    returnType: void
    signature: void x_free_colors(gx_device_X *xdev, x_pixel *pixels /*[count]*/,
      int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_free_colors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:201,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xdev
    - num_used
    - size
    argTypes:
    - gx_device_X*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: free_ramp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - gs_x_free
    - x_free_colors
    linkageType: ''
    returnType: void
    signature: void free_ramp(gx_device_X * xdev, int num_used, int size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:226,1
    - Dst: x_alloc_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:244,1
    - Dst: free_ramp
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - xdev
    - ramp_size
    - colors
    argTypes:
    - gx_device_X*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 252
    functionName: setup_cube
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - free_ramp
    - x_alloc_color
    - gs_malloc
    linkageType: ''
    returnType: bool
    signature: bool setup_cube(gx_device_X * xdev, int ramp_size, bool colors)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:265,1
    - Dst: XGetWindowProperty
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:272,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:277,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:281,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:283,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:292,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:318,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:321,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:324,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:327,1
    - Dst: DefaultVisualOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:345,1
    - Dst: x_get_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:346,1
    - Dst: x_get_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:348,1
    - Dst: alloc_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:351,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:355,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:356,1
    - Dst: set_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:358,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:370,1
    - Dst: CBRT
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:370,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:371,1
    - Dst: setup_cube
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:376,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:378,1
    - Dst: alloc_dynamic_colors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:395,1
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:395,1
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:396,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:397,1
    - Dst: x_get_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:408,1
    - Dst: alloc_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:410,1
    - Dst: set_std_cmap
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:414,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:423,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:424,1
    - Dst: setup_cube
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:428,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:430,1
    - Dst: alloc_dynamic_colors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:444,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:446,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:456,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:458,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:461,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:469,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 137
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 482
    functionName: gdev_x_setup_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - alloc_dynamic_colors
    - sscanf
    - max
    - XGetWindowProperty
    - emprintf
    - set_std_cmap
    - x_get_std_cmap
    - XInternAtom
    - DefaultVisualOfScreen
    - min
    - alloc_std_cmap
    - CUBE
    - gx_device_must_halftone
    - setup_cube
    - CBRT
    - emprintf3
    - gs_x_free
    - emprintf1
    - gs_malloc
    - return_error
    linkageType: ''
    returnType: int
    signature: int gdev_x_setup_colors(gx_device_X * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 367
    functionName: CUBE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUBE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 368
    functionName: CBRT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CBRT(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: x_free_colors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:498,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:499,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: gdev_x_free_dynamic_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - gs_x_free
    - x_free_colors
    linkageType: ''
    returnType: void
    signature: void gdev_x_free_dynamic_colors(gx_device_X *xdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XFree
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:517,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:522,1
    - Dst: gdev_x_free_dynamic_colors
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:524,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:525,1
    - Dst: gs_x_free
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:529,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 533
    functionName: gdev_x_free_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - gdev_x_free_dynamic_colors
    - gs_x_free
    - XFree
    linkageType: ''
    returnType: void
    signature: void gdev_x_free_colors(gx_device_X *xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 542
    functionName: CV_FRACTION
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CV_FRACTION(n, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 543
    functionName: ND
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ND(n, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: iabs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iabs(int x)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:603,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:611,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:624,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:643,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:644,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:645,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:654,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:658,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:665,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:668,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:671,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:678,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:687,1
    - Dst: CV_FRACTION
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:694,1
    - Dst: CV_FRACTION
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:695,1
    - Dst: CV_FRACTION
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:696,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:698,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:699,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:700,1
    - Dst: CUBE_INDEX
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:702,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:704,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:708,1
    - Dst: iabs
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:717,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:720,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:723,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:744,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:748,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:758,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:762,1
    - Dst: x_alloc_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:771,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:774,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:780,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:785,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 113
    argCount: 3
    argNames:
    - dev
    - cv
    - force
    argTypes:
    - gx_device*
    - gx_color_value[]
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 788
    functionName: encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - countof
    - if_debug1m
    - CV_FRACTION
    - CUBE_INDEX
    - if_debug5m
    - if_debug3m
    - iabs
    - gx_device_has_color
    - if_debug4m
    - if_debug2m
    - x_alloc_color
    - gs_malloc
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index encode_color(gx_device * dev, const gx_color_value cv[],
      bool force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:795,1
    - Dst: encode_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: gdev_x_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - encode_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_x_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:861,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:869,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxcmp.c:920,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 921
    functionName: gdev_x_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_device_has_color
    linkageType: ''
    returnType: int
    signature: "int gdev_x_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                    gx_color_value prgb[3])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:183,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:187,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:191,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:207,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:208,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:209,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:210,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:211,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:212,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:213,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:214,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:215,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:216,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:217,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:218,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:219,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:220,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:221,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:233,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:234,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:235,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:238,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:263,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:267,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:271,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:279,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:354,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:355,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:356,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:363,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:364,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:365,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:367,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:369,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:370,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:371,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:379,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:380,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:381,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:383,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:384,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:385,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:386,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:387,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:388,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:389,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:390,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:391,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:392,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:393,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:394,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:395,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:396,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:397,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:399,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:403,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevlp8k.c:408,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 126
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 411
    functionName: lp8000_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlp8k.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - gdev_prn_copy_scan_lines
    - gdev_prn_get_bits
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - gp_fprintf
    - return_error
    - gs_free
    - gp_fwrite
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int lp8000_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - bytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: PX_PUT_LIT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PX_PUT_LIT(s, bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: DA
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DA(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: DUB
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUB(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: DS
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DS(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: US
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: US(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: DUS
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUS(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ix
    - ','
    - iy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DUSP
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DUSP(ix,iy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 40
    functionName: BlackIs1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool BlackIs1
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dtype
    - ','
    - procs
    - ','
    - dname
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: FAX_DEVICE_BODY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAX_DEVICE_BODY(dtype, procs, dname, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: REAL_NUM_COMPONENTS
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REAL_NUM_COMPONENTS(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: cmyk_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_rgb_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: private_rgb_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void private_rgb_cs_to_rgb_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                 frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: gray_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_rgb_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 403
    functionName: bittag_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      bittag_get_color_mapping_procs(const gx_device *dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:409,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:410,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: bittag_rgb_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bittag_rgb_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:426,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:428,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 433
    functionName: bittag_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: int bittag_map_color_rgb(gx_device * dev, gx_color_index color, gx_color_value
      cv[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: bit_mono_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bit_mono_map_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 468
    functionName: bit_forcemono_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bit_forcemono_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:475,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:476,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:477,1
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:482,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:484,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:485,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 488
    functionName: bitrgb_rgb_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - gx_color_value_to_byte
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bitrgb_rgb_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REAL_NUM_COMPONENTS
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:496,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:506,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:512,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:514,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:515,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:531,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:532,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 539
    functionName: bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - cvalue
    - REAL_NUM_COMPONENTS
    linkageType: ''
    returnType: int
    signature: int bit_map_color_rgb(gx_device * dev, gx_color_index color, gx_color_value
      cv[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 501
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 554
    functionName: bit_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bit_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: bittag_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    linkageType: ''
    returnType: int
    signature: int bittag_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 579
    functionName: bittag_fillpage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int bittag_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_create_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:586,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 590
    functionName: bittag_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - gx_default_create_buf_device
    linkageType: ''
    returnType: int
    signature: "int bittag_create_buf_device(gx_device **pbdev, gx_device *target,
      int y,\n   const gx_render_plane_t *render_plane, gs_memory_t *mem,\n   gx_color_usage_t
      *color_usage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 597
    functionName: bittag_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int bittag_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REAL_NUM_COMPONENTS
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:607,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:617,1
    - Dst: sample_device_crd_get_params
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:618,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:621,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:624,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:627,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 635
    functionName: bit_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - sample_device_crd_get_params
    - REAL_NUM_COMPONENTS
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int bit_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: REAL_NUM_COMPONENTS
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:644,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:668,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:669,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:670,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:671,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:684,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:689,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:702,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:708,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:714,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:721,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:727,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:744,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:755,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:758,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:759,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:760,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:761,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:767,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 91
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 773
    functionName: bit_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - gs_closedevice
    - set_dev_proc
    - set_linear_color_bits_mask_shift
    - param_read_int
    - REAL_NUM_COMPONENTS
    - param_signal_error
    - gdev_prn_put_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int bit_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:780,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:781,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:783,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:783,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:788,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:792,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:796,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:800,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:803,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 805
    functionName: bit_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - any_abs
    - strcmp
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - gdev_mem_bytes_per_scan_line
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int bit_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:814,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:815,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:817,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:817,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:822,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:827,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:830,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:834,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:837,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:840,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 810
    functionDepth: 1
    functionLinenumber: 810
    functionLinenumberEnd: 842
    functionName: bittags_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - any_abs
    - strcmp
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - gdev_mem_bytes_per_scan_line
    - gp_fprintf
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int bittags_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 11
    argNames:
    - pdev
    - mdev
    - buffers
    - num_chan
    - xstart
    - ystart
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 881
    functionName: bit_put_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int bit_put_image(gx_device *pdev, gx_device *mdev, const byte **buffers,
      int num_chan, int xstart,\n              int ystart, int width, int height,
      int row_stride,\n              int alpha_plane_index, int tag_plane_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:891,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:892,1
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevbit.c:895,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - dso
    - ptr
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 896
    functionName: bit_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbit.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int bit_dev_spec_op(gx_device *pdev, int dso, void *ptr, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:73,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:77,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:86,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:87,1
    - Dst: px_write_file_header
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:88,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 92
    functionName: ljet5_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlj56.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open_printer
    - swrite_file
    - gdev_prn_open
    - s_init
    - sflush
    - px_write_file_header
    linkageType: ''
    returnType: int
    signature: int ljet5_open(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:99,1
    - Dst: px_write_file_trailer
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:103,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 105
    functionName: ljet5_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlj56.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gdev_prn_open_printer
    - px_write_file_trailer
    linkageType: ''
    returnType: int
    signature: int ljet5_close(gx_device * pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:112,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:115,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:116,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:124,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:127,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:128,1
    - Dst: DUSP
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:134,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:134,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:138,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:138,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:139,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:139,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:140,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:144,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:144,1
    - Dst: px_write_page_header
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:148,1
    - Dst: px_write_select_media
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:149,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:150,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:152,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:154,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:160,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:161,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:161,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:162,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:162,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:166,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:167,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:167,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:168,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:168,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:172,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:173,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:174,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:175,1
    - Dst: px_put_usp
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:176,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:178,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:180,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:187,1
    - Dst: DUS
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:188,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:188,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:189,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:189,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:193,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:196,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:197,1
    - Dst: gdev_pcl_mode2compress_padded
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:198,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:200,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:201,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:205,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:206,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:207,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:209,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevlj56.c:210,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 212
    functionName: ljet5_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlj56.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - px_write_page_header
    - DA
    - px_put_a
    - px_put_data_length
    - DUS
    - px_put_usp
    - swrite_file
    - px_put_bytes
    - gs_note_error
    - gs_free_object
    - px_put_us
    - gdev_prn_copy_scan_lines
    - gdev_pcl_mode2compress_padded
    - px_write_select_media
    - spputc
    - s_init
    - gs_alloc_byte_array
    - DUB
    - gdev_mem_bytes_per_scan_line
    - DUSP
    - PX_PUT_LIT
    - sflush
    linkageType: ''
    returnType: int
    signature: int ljet5_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: win_pr2_copy_check
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:261,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:269,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:270,1
    - Dst: CreateDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:276,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:278,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:279,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:282,1
    - Dst: win_pr2_getdc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:285,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:290,1
    - Dst: PrintDlg
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:301,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:303,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:306,1
    - Dst: win_pr2_update_dev
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:307,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:308,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:311,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:313,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:322,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:323,1
    - Dst: DeleteDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:324,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:325,1
    - Dst: SetAbortProc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:329,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:336,1
    - Dst: StartDoc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:347,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:348,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:349,1
    - Dst: DeleteDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:350,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:351,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:354,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:355,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:373,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:374,1
    - Dst: gx_device_set_width_height
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:375,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:376,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:377,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:382,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:383,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:384,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:391,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:391,1
    - Dst: win_pr2_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:393,1
    - Dst: gp_open_scratch_file
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:398,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:401,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:402,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:420,1
    - Dst: CreateDialog
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:425,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:427,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 101
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 434
    functionName: win_pr2_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - gx_device_set_width_height
    - StartDoc
    - win_pr2_update_dev
    - SetAbortProc
    - win_pr2_set_bpp
    - win_pr2_getdc
    - ShowWindow
    - GetDeviceCaps
    - memset
    - errprintf
    - GlobalUnlock
    - CreateDC
    - unlink
    - GetLastError
    - GlobalFree
    - gp_open_scratch_file
    - CreateDialog
    - win_pr2_copy_check
    - GlobalLock
    - PrintDlg
    - gp_fclose
    - gdev_prn_open
    - gx_device_set_margins
    - return_error
    - DeleteDC
    linkageType: ''
    returnType: int
    signature: int win_pr2_open(gx_device * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: win_pr2_copy_check
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:444,1
    - Dst: DestroyWindow
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:452,1
    - Dst: AbortDoc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:456,1
    - Dst: EndDoc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:458,1
    - Dst: DeleteDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:460,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:463,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:467,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:471,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 478
    functionName: win_pr2_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - GlobalFree
    - gdev_prn_close
    - unlink
    - win_pr2_copy_check
    - EndDoc
    - AbortDoc
    - DestroyWindow
    - DeleteDC
    linkageType: ''
    returnType: int
    signature: int win_pr2_close(gx_device * dev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:493,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:515,1
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:516,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:516,1
    - Dst: dev_x_offset
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:517,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:521,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:522,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:524,1
    - Dst: StartPage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:538,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:550,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:553,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:554,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:555,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:564,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:565,1
    - Dst: GetDlgItem
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:565,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:566,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:575,1
    - Dst: StretchDIBits
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:582,1
    - Dst: SetDIBitsToDevice
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:587,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:596,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:597,1
    - Dst: GetDlgItem
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:597,1
    - Dst: PeekMessage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:600,1
    - Dst: IsDialogMessage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:601,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:602,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:603,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:617,1
    - Dst: GetDlgItem
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:617,1
    - Dst: EndPage
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:619,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:621,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:625,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:626,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 82
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 629
    functionName: win_pr2_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - PeekMessage
    - gs_sprintf
    - IsDialogMessage
    - GlobalAlloc
    - ShowWindow
    - dev_r_margin
    - TranslateMessage
    - StretchDIBits
    - SetWindowText
    - DispatchMessage
    - dev_print_scan_lines
    - SetDIBitsToDevice
    - GlobalUnlock
    - dev_x_offset
    - gx_color_value_to_byte
    - gdev_prn_copy_scan_lines
    - dev_proc
    - GlobalFree
    - dev_l_margin
    - gdev_prn_raster
    - EndPage
    - StartPage
    - GlobalLock
    - return_error
    - GetDlgItem
    linkageType: ''
    returnType: int
    signature: int win_pr2_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:645,1
    - Dst: pc_8bit_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:652,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:654,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:655,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 659
    functionName: win_pr2_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - gdev_prn_map_rgb_color
    - pc_8bit_map_rgb_color
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index win_pr2_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:668,1
    - Dst: pc_8bit_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:677,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:680,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:681,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 686
    functionName: win_pr2_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - gdev_prn_map_color_rgb
    - gx_color_value_from_byte
    - pc_8bit_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int win_pr2_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                     gx_color_value prgb[3])"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dci_std_color
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:696,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:705,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:707,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:710,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:730,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:732,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:735,1
    - Dst: dci_values
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:746,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:755,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:757,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:760,1
    - Dst: dci_std_color
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:768,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:777,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:779,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:782,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:794,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:794,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:795,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:795,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:797,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:799,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:803,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:805,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 2
    argNames:
    - dev
    - depth
    argTypes:
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 809
    functionName: win_pr2_set_bpp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached:
    - gsicc_set_device_profile
    - dev_proc
    - set_dev_proc
    - gsicc_new_device_profile_array
    - rc_decrement
    - dci_std_color
    - dci_values
    linkageType: ''
    returnType: int
    signature: int win_pr2_set_bpp(gx_device * dev, int depth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:817,1
    - Dst: win_pr2_copy_check
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:820,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:823,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:826,1
    - Dst: win_pr2_write_user_settings
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:829,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:832,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 836
    functionName: win_pr2_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - win_pr2_write_user_settings
    - param_write_bool
    - win_pr2_copy_check
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int win_pr2_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: win_pr2_copy_check
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:863,1
    - Dst: win_pr2_read_user_settings
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:865,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:867,1
    - Dst: win_pr2_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:875,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:884,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:889,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:903,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:908,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:914,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:919,1
    - Dst: win_pr2_print_setup_interaction
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:923,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:928,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:941,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:945,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:955,1
    - Dst: win_pr2_update_win
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:958,1
    - Dst: ResetDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:959,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:960,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 840
    functionDepth: 2
    functionLinenumber: 840
    functionLinenumberEnd: 966
    functionName: win_pr2_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - win_pr2_update_win
    - win_pr2_set_bpp
    - ResetDC
    - GlobalUnlock
    - param_read_int
    - win_pr2_print_setup_interaction
    - win_pr2_copy_check
    - GlobalLock
    - gdev_prn_put_params
    - param_signal_error
    - param_read_bool
    - win_pr2_read_user_settings
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int win_pr2_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: is_spool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:994,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:997,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1010,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1010,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1013,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1015,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1017,1
    - Dst: GetProfileStringW
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1020,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1023,1
    - Dst: wcsicmp
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1031,1
    - Dst: wcslen
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1033,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1037,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1039,1
    - Dst: GetProfileStringW
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1044,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1045,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1046,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1049,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1051,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1052,1
    - Dst: gp_OpenPrinter
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1054,1
    - Dst: DocumentProperties
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1056,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1057,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1059,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1062,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1063,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1064,1
    - Dst: DocumentProperties
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1067,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1070,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1072,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1074,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1106,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1109,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1111,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1113,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1116,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1119,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1121,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1123,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1125,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1126,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1128,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1154,1
    - Dst: DeviceCapabilities
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1165,1
    - Dst: win_pr2_update_win
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1169,1
    - Dst: DocumentProperties
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1172,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1173,1
    - Dst: CreateDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1176,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1179,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1182,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1184,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1185,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1189,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1190,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 162
    argCount: 1
    argNames:
    - wdev
    argTypes:
    - gx_device_win_pr2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 971
    functionDepth: 5
    functionLinenumber: 971
    functionLinenumberEnd: 1197
    functionName: win_pr2_getdc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached:
    - win_pr2_update_win
    - ClosePrinter
    - GlobalAlloc
    - wchar_to_utf8
    - DocumentProperties
    - is_spool
    - DeviceCapabilities
    - gp_OpenPrinter
    - wcslen
    - GlobalUnlock
    - CreateDC
    - malloc
    - free
    - GetProfileStringW
    - gs_strtok
    - wcsicmp
    - utf8_to_wchar
    - strcpy
    - GlobalLock
    - strncmp
    - memcpy
    - gs_malloc
    - gs_free
    linkageType: ''
    returnType: int
    signature: int win_pr2_getdc(gx_device_win_pr2 * wdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - dev
    - pdevmode
    argTypes:
    - gx_device_win_pr2*
    - LPDEVMODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1204
    functionDepth: 0
    functionLinenumber: 1204
    functionLinenumberEnd: 1229
    functionName: win_pr2_update_dev
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int win_pr2_update_dev(gx_device_win_pr2 * dev, LPDEVMODE pdevmode)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - dev
    - pdevmode
    argTypes:
    - gx_device_win_pr2*
    - LPDEVMODE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1261
    functionName: win_pr2_update_win
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int win_pr2_update_win(gx_device_win_pr2 * dev, LPDEVMODE pdevmode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pread
    - ','
    - pname
    - ','
    - pa
    - ','
    - psize
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1272
    functionName: BEGIN_ARRAY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_ARRAY_PARAM(pread, pname, pa, psize, e)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_read_dict
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1297,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1299,1
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1307,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1311,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1314,1
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1316,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1320,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1323,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1325,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1326,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1327,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1328,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1329,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1331,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1339,1
    - Dst: param_end_read_dict
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1346,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1349,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1356,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1362,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - wdev
    - plist
    argTypes:
    - gx_device_win_pr2*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1370
    functionName: win_pr2_read_user_settings
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached:
    - param_begin_read_dict
    - GlobalUnlock
    - param_read_int
    - BEGIN_ARRAY_PARAM
    - GlobalLock
    - param_end_read_dict
    - memcpy
    - END_ARRAY_PARAM
    - param_signal_error
    - gs_note_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int win_pr2_read_user_settings(gx_device_win_pr2 * wdev, gs_param_list
      * plist)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1385,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1393,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1401,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1407,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1410,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1413,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1416,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1419,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1422,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1425,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1429,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1432,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1436,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1439,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1442,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1445,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - wdev
    - plist
    argTypes:
    - gx_device_win_pr2*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1447
    functionName: win_pr2_write_user_settings
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached:
    - param_write_string
    - strlen
    - param_write_bool
    - param_write_int_array
    - param_write_float_array
    - param_begin_write_dict
    - param_end_write_dict
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int win_pr2_write_user_settings(gx_device_win_pr2 * wdev, gs_param_list
      * plist)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1466,1
    - Dst: PrintDlg
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1488,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1490,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1491,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1495,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1497,1
    - Dst: CreateIC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1528,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1531,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1532,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1533,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1534,1
    - Dst: DeleteDC
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1535,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1542,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1543,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1546,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1549,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 72
    argCount: 2
    argNames:
    - wdev
    - mode
    argTypes:
    - gx_device_win_pr2*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1556
    functionName: win_pr2_print_setup_interaction
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 1
    functionsReached:
    - GlobalFree
    - GlobalUnlock
    - GetDeviceCaps
    - PrintDlg
    - gs_sprintf
    - GlobalLock
    - memset
    - CreateIC
    - DeleteDC
    linkageType: ''
    returnType: int
    signature: int win_pr2_print_setup_interaction(gx_device_win_pr2 * wdev, int mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GlobalSize
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1568,1
    - Dst: GlobalSize
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1569,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1603,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1605,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1605,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1605,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1606,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1607,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1612,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1614,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1614,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1614,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1615,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1616,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - wdev
    argTypes:
    - gx_device_win_pr2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1563
    functionDepth: 0
    functionLinenumber: 1563
    functionLinenumberEnd: 1619
    functionName: win_pr2_copy_check
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 4
    functionsReached:
    - GlobalSize
    - GlobalUnlock
    - GlobalLock
    - memcpy
    - GlobalAlloc
    linkageType: ''
    returnType: void
    signature: void win_pr2_copy_check(gx_device_win_pr2 * wdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1627,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1630,1
    - Dst: DestroyWindow
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1632,1
    - Dst: EndDialog
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - hDlg
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1638
      start: 1622
    functionDepth: 0
    functionLinenumber: 1622
    functionLinenumberEnd: 1638
    functionName: CancelDlgProc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - SetWindowText
    - DestroyWindow
    - LOWORD
    - EndDialog
    linkageType: ''
    returnType: BOOL
    signature: BOOL CancelDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/devices/gdevwpr2.c:1643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hdcPrn
    - code
    argTypes:
    - HDC
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1647
      start: 1640
    functionDepth: 1
    functionLinenumber: 1640
    functionLinenumberEnd: 1647
    functionName: AbortProc2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevwpr2.c
    functionUses: 0
    functionsReached:
    - process_interrupts
    linkageType: ''
    returnType: BOOL
    signature: BOOL AbortProc2(HDC hdcPrn, int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:46,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:47,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:48,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:49,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:56,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:65,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:71,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:75,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:84,1
    - Dst: m8510_output_run
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:87,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:92,1
    - Dst: m8510_output_run
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:95,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:99,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:100,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:103,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:104,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 108
    functionName: m8510_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8510.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - m8510_output_run
    - gdev_prn_copy_scan_lines
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - gs_note_error
    - gs_free
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int m8510_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:136,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:137,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:138,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:139,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev8510.c:142,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 12
    argCount: 4
    argNames:
    - pdev
    - out
    - pass
    - prn_stream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 143
    functionName: m8510_output_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8510.c
    functionUses: 1
    functionsReached:
    - gs_sprintf
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void m8510_output_run(gx_device_printer *pdev,\n        byte *out,
      int pass, gp_file *prn_stream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 163
    functionName: chameleon_mono_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index chameleon_mono_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:169,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:170,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:171,1
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:176,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:178,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:179,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: chameleon_rgb_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - gx_color_value_to_byte
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index chameleon_rgb_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 197
    functionName: chameleon_cmyk_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index chameleon_cmyk_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 216
    functionName: chameleon_mono_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: int chameleon_mono_decode_color(gx_device * dev, gx_color_index color,
      gx_color_value cv[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:230,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:232,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: chameleon_rgb_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: int chameleon_rgb_decode_color(gx_device * dev, gx_color_index color,
      gx_color_value cv[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:258,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:259,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 263
    functionName: chameleon_cmyk_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: int chameleon_cmyk_decode_color(gx_device * dev, gx_color_index color,
      gx_color_value cv[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:280,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:303,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:304,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:305,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:306,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:310,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:316,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - pcdev
    argTypes:
    - gx_device_chameleon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 321
    functionName: reconfigure_baby
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - set_linear_color_bits_mask_shift
    - gs_closedevice
    linkageType: ''
    returnType: void
    signature: void reconfigure_baby(gx_device_chameleon *pcdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:330,1
    - Dst: sample_device_crd_get_params
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:331,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:335,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:337,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:339,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:341,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 347
    functionName: chameleon_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - param_write_bool
    - sample_device_crd_get_params
    - gx_downscaler_write_params
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int chameleon_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:363,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:365,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:372,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:377,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:384,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:389,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:398,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:405,1
    - Dst: reconfigure_baby
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 417
    functionName: chameleon_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_read_params
    - reconfigure_baby
    - param_read_int
    - gdev_prn_put_params
    - param_signal_error
    - param_read_bool
    linkageType: ''
    returnType: int
    signature: int chameleon_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: chameleon_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int chameleon_spec_op(gx_device *dev_, int op, void *data, int datasize)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - arg
    - dst
    - src
    - w
    - h
    - raster
    argTypes:
    - void*
    - byte**
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 457
    functionName: craprgbtocmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int craprgbtocmyk(void  *arg,\n              byte **dst,\n              byte
      **src,\n              int    w,\n              int    h,\n              int
      \   raster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - pcdev
    argTypes:
    - gp_file*
    - gx_device_chameleon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 465
    functionName: header_4x1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: int header_4x1(gp_file *file, gx_device_chameleon *pcdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:482,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - data
    - n
    - file
    argTypes:
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 494
    functionName: write_4x1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int write_4x1(const byte *data, int n, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - file
    - pcdev
    argTypes:
    - gp_file*
    - gx_device_chameleon*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: header_3x8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: int header_3x8(gp_file *file, gx_device_chameleon *pcdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - n
    - file
    argTypes:
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 508
    functionName: do_fwrite
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int do_fwrite(const byte *data, int n, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:516,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:518,1
    - Dst: gsicc_link_t*::procs::map_buffer
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - arg
    - dst
    - src
    - w
    - h
    - raster
    argTypes:
    - void*
    - byte**
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 523
    functionName: tiff_chunky_post_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gsicc_init_buffer
    - gsicc_link_t*::procs::map_buffer
    linkageType: ''
    returnType: int
    signature: "int tiff_chunky_post_cm(void  *arg, byte **dst, byte **src, int w,
      int h,\n    int raster)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:559,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:597,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:599,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:602,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:602,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:635,1
    - Dst: gx_downscaler_init_cm_halftone
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:639,1
    - Dst: header
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:653,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:659,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:663,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:665,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevchameleon.c:667,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 78
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 669
    functionName: chameleon_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevchameleon.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - strcmp
    - gs_alloc_bytes
    - write
    - gx_downscaler_init_cm_halftone
    - emprintf
    - gdev_mem_bytes_per_scan_line
    - return_error
    - header
    - gx_downscaler_getbits
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int chameleon_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:77,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:81,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:83,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:85,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:92,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:94,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:95,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:99,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:100,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:114,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:118,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:128,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:135,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:137,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:147,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:153,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:159,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:165,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:172,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:179,1
    - Dst: memflip8x8
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:192,1
    - Dst: memflip8x8
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:193,1
    - Dst: memflip8x8
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:194,1
    - Dst: dot24_improve_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:228,1
    - Dst: dot24_output_run
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:229,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:233,1
    - Dst: dot24_improve_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:243,1
    - Dst: dot24_output_run
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:244,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:248,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:250,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:257,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:258,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:261,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:262,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 129
    argCount: 4
    argNames:
    - pdev
    - prn_stream
    - init_string
    - init_len
    argTypes:
    - gx_device_printer*
    - gp_file*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 265
    functionName: dot24_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdm24.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fflush
    - dot24_output_run
    - gdev_prn_raster
    - gdev_prn_copy_scan_lines
    - dot24_improve_bitmap
    - memset
    - gp_fputc
    - memcmp
    - memflip8x8
    - gs_malloc
    - return_error
    - gp_fprintf
    - gs_free
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int dot24_print_page (gx_device_printer *pdev, gp_file *prn_stream,
      char *init_string, int init_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:272,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:273,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:274,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:275,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:276,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - data
    - count
    - x_high
    - prn_stream
    argTypes:
    - byte*
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: dot24_output_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdm24.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void dot24_output_run (byte *data, int count, int x_high, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - count
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 299
    functionName: dot24_improve_bitmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdm24.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dot24_improve_bitmap (byte *data, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dot24_print_page
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 307
    functionName: necp6_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdm24.c
    functionUses: 0
    functionsReached:
    - dot24_print_page
    linkageType: ''
    returnType: int
    signature: int necp6_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dot24_print_page
      Src: /src/libspectre/ghostscript/devices/gdevdm24.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: lq850_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdm24.c
    functionUses: 0
    functionsReached:
    - dot24_print_page
    linkageType: ''
    returnType: int
    signature: int lq850_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:75,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:78,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:83,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:87,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:89,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:94,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:115,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:116,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:117,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:136,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:140,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:155,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:156,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:157,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:169,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdev3852.c:177,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 180
    functionName: jetp3852_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev3852.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gdev_prn_copy_scan_lines
    - spread3
    - memset
    - gdev_mem_bytes_per_scan_line
    - gp_fputc
    - gp_fprintf
    - return_error
    - emprintf2
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int jetp3852_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: spread3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev3852.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spread3(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - prn_stream
    - dots_per_inch
    - features
    - page_init
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: dljet_mono_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdljm.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    linkageType: ''
    returnType: int
    signature: "int dljet_mono_print_page(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                     int dots_per_inch, int features, const char *page_init)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:59,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:76,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:82,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:83,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:84,1
    - Dst: gdev_pcl_page_orientation
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:85,1
    - Dst: gx_default_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:91,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:93,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:96,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:102,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:107,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:110,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:113,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:115,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:120,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:122,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:124,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:126,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:145,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:147,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:149,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:150,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:152,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:154,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:156,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:158,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:159,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:162,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:165,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:170,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:171,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:175,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:188,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:207,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:210,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:213,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:216,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:220,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:224,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:226,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:250,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:255,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:260,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:263,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:266,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:269,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:274,1
    - Dst: gdev_pcl_mode3compress
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:284,1
    - Dst: gdev_pcl_mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:286,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:295,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:301,1
    - Dst: gdev_pcl_mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:308,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:316,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:317,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:323,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdljm.c:326,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 140
    argCount: 8
    argNames:
    - pdev
    - prn_stream
    - num_copies
    - dots_per_inch
    - features
    - odd_page_init
    - even_page_init
    - tumble
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - int
    - int
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 329
    functionName: dljet_mono_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdljm.c
    functionUses: 1
    functionsReached:
    - dev_print_scan_lines
    - gp_fputs
    - gdev_pcl_mode3compress
    - gs_alloc_byte_array
    - strlen
    - gdev_prn_copy_scan_lines
    - gx_default_print_page_copies
    - gdev_pcl_page_orientation
    - fputs
    - memset
    - gdev_mem_bytes_per_scan_line
    - gdev_pcl_mode2compress
    - gdev_pcl_paper_size
    - gp_fprintf
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int dljet_mono_print_page_copies(gx_device_printer * pdev, gp_file
      * prn_stream,\n                             int num_copies, int dots_per_inch,
      int features,\n                             const char *odd_page_init, const
      char *even_page_init, bool tumble)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: public_st_device_display
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_display()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: BMP_ASSIGN_WORD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BMP_ASSIGN_WORD(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: BMP_ASSIGN_DWORD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BMP_ASSIGN_DWORD(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: BMP_ASSIGN_WORD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BMP_ASSIGN_WORD(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: BMP_ASSIGN_DWORD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BMP_ASSIGN_DWORD(a,v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:106,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:107,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:111,1
    - Dst: BMP_ASSIGN_WORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:115,1
    - Dst: BMP_ASSIGN_WORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:116,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:117,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:120,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:121,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:129,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:130,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:131,1
    - Dst: BMP_ASSIGN_WORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:132,1
    - Dst: BMP_ASSIGN_WORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:133,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:134,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:135,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:144,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:147,1
    - Dst: BMP_ASSIGN_DWORD
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:148,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:149,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:150,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 5
    argNames:
    - pdev
    - file
    - depth
    - palette
    - raster
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 159
    functionName: write_bmp_depth_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached:
    - BMP_ASSIGN_DWORD
    - BMP_ASSIGN_WORD
    - gp_fputc
    - return_error
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int write_bmp_depth_header(gx_device_printer *pdev, gp_file *file,
      int depth,\n                       const byte *palette /* [4 << depth] */,\n
      \                      int raster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ihdr.
    - xPelsPerMeter
    - ','
    - (
    - dword
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 144
    functionName: BMP_ASSIGN_DWORD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "BMP_ASSIGN_DWORD(ihdr.xPelsPerMeter,\n                 (dword)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:178,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:180,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:181,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:182,1
    - Dst: write_bmp_depth_header
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:186,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: write_bmp_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    - dev_proc
    - write_bmp_depth_header
    - gdev_prn_raster
    linkageType: ''
    returnType: int
    signature: int write_bmp_header(gx_device_printer *pdev, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bmp_depth_header
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: write_bmp_separated_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached:
    - write_bmp_depth_header
    linkageType: ''
    returnType: int
    signature: int write_bmp_separated_header(gx_device_printer *pdev, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:221,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:222,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: bmp_map_16m_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index bmp_map_16m_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:231,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:232,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevbmpc.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: bmp_map_16m_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmpc.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int bmp_map_16m_color_rgb(gx_device * dev, gx_color_index color,\n
      \                 gx_color_value prgb[3])"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:112,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:116,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:117,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:138,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:153,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:163,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:172,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:174,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:189,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:191,1
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:197,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:199,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:218,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:222,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:227,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:239,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:240,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:241,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:245,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:259,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:307,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:313,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:328,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:334,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:365,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:372,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:381,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:384,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:386,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:389,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:391,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:393,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:395,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:396,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:398,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:400,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:406,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:407,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:411,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:413,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevescp.c:415,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 139
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 418
    functionName: escp2_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevescp.c
    functionUses: 0
    functionsReached:
    - dev_b_margin
    - gp_fputs
    - gp_fflush
    - dev_l_margin
    - gs_free
    - gdev_prn_raster
    - gdev_prn_get_bits
    - gdev_prn_copy_scan_lines
    - dev_t_margin
    - memset
    - memcmp
    - dev_r_margin
    - fwrite
    - gs_malloc
    - return_error
    - gp_fputc
    - memcpy
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int escp2_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:71,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:73,1
    - Dst: pj_common_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: lj250_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - pj_common_print_page
    linkageType: ''
    returnType: int
    signature: int lj250_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:82,1
    - Dst: pj_common_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: paintjet_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - pj_common_print_page
    linkageType: ''
    returnType: int
    signature: int paintjet_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:90,1
    - Dst: pj_common_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 93
    functionName: pjetxl_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - pj_common_print_page
    linkageType: ''
    returnType: int
    signature: int pjetxl_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:109,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:114,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:117,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:119,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:123,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:126,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:131,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:133,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:136,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:139,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:142,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:145,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:148,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:151,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:158,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:176,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:185,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:186,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:187,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:205,1
    - Dst: compress1_row
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:216,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:217,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:219,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:227,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:230,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:231,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevpjet.c:232,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 4
    argNames:
    - pdev
    - prn_stream
    - y_origin
    - end_page
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 235
    functionName: pj_common_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 3
    functionsReached:
    - gp_fputs
    - gdev_prn_copy_scan_lines
    - spread3
    - memset
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - return_error
    - gp_fprintf
    - gs_free
    - compress1_row
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int pj_common_print_page(gx_device_printer *pdev, gp_file *prn_stream,
      int y_origin,\n  const char *end_page)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: spread3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spread3(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - row
    - end_row
    - compressed
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: compress1_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpjet.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int compress1_row(const byte *row, const byte *end_row,\n  byte *compressed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: oldhandler
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dpy
    - err
    argTypes:
    - Display*
    - XErrorEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: x_catch_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - oldhandler
    linkageType: ''
    returnType: int
    signature: int x_catch_alloc(Display * dpy, XErrorEvent * err)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: orighandler
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dpy
    - err
    argTypes:
    - Display*
    - XErrorEvent*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 82
    functionName: x_catch_free_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - orighandler
    linkageType: ''
    returnType: int
    signature: int x_catch_free_colors(Display * dpy, XErrorEvent * err)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: XOpenDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:110,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:111,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:113,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:116,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:119,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:120,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:122,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:123,1
    - Dst: XGetWindowAttributes
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:130,1
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:147,1
    - Dst: XGetWindowAttributes
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:149,1
    - Dst: XGetWindowProperty
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:157,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:173,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:182,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:183,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:186,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:188,1
    - Dst: XGetGeometry
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:196,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:251,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:252,1
    - Dst: DefaultScreenOfDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:255,1
    - Dst: DefaultVisualOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:258,1
    - Dst: DefaultColormapOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:259,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:261,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:262,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:263,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:264,1
    - Dst: XMatchVisualInfo
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:265,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:266,1
    - Dst: DefaultRootWindow
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:267,1
    - Dst: XVisualIDFromVisual
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:272,1
    - Dst: XGetVisualInfo
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:273,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:276,1
    - Dst: XSetErrorHandler
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:280,1
    - Dst: XtToolkitInitialize
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:284,1
    - Dst: XtCreateApplicationContext
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:285,1
    - Dst: XtAppSetFallbackResources
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:286,1
    - Dst: XtOpenDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:287,1
    - Dst: XtAppCreateShell
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:289,1
    - Dst: XtGetApplicationResources
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:291,1
    - Dst: XQueryColor
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:297,1
    - Dst: DefaultColormap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:297,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:297,1
    - Dst: XAllocColor
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:298,1
    - Dst: XQueryColor
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:301,1
    - Dst: DefaultColormap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:301,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:301,1
    - Dst: XAllocColor
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:302,1
    - Dst: gdev_x_setup_colors
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:305,1
    - Dst: XCloseDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:307,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:311,1
    - Dst: WidthOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:324,1
    - Dst: HeightOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:324,1
    - Dst: x_get_work_area
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:327,1
    - Dst: WidthOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:332,1
    - Dst: WidthMMOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:333,1
    - Dst: HeightOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:334,1
    - Dst: HeightMMOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:335,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:336,1
    - Dst: WidthOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:348,1
    - Dst: HeightOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:349,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:360,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:363,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:386,1
    - Dst: XWMGeometry
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:388,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:388,1
    - Dst: gx_default_get_initial_matrix
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:398,1
    - Dst: XCreateWindow
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:431,1
    - Dst: RootWindowOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:431,1
    - Dst: XStoreName
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:441,1
    - Dst: XSetWMNormalHints
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:442,1
    - Dst: XSetWMHints
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:445,1
    - Dst: XSetClassHint
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:448,1
    - Dst: XtDestroyWidget
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:461,1
    - Dst: XtCloseDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:462,1
    - Dst: XtDestroyApplicationContext
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:463,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:472,1
    - Dst: XSetFunction
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:473,1
    - Dst: XSetLineAttributes
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:474,1
    - Dst: gdev_x_clear_window
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:477,1
    - Dst: XMapWindow
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:480,1
    - Dst: XSync
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:484,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:486,1
    - Dst: XSetGraphicsExposures
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:491,1
    - Dst: XSelectInput
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:492,1
    - Dst: XCreateWindow
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:500,1
    - Dst: RootWindowOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:500,1
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:504,1
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:505,1
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:506,1
    - Dst: XCreatePixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:509,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 228
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 513
    functionName: gdev_x_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - sscanf
    - XCloseDisplay
    - gdev_x_setup_colors
    - XtDestroyApplicationContext
    - XSync
    - RootWindowOfScreen
    - XSetErrorHandler
    - XAllocColor
    - gs_sprintf
    - XGetWindowProperty
    - emprintf
    - XSetWMNormalHints
    - XVisualIDFromVisual
    - WidthMMOfScreen
    - HeightMMOfScreen
    - XtDestroyWidget
    - XGetWindowAttributes
    - WidthOfScreen
    - x_get_work_area
    - XWMGeometry
    - HeightOfScreen
    - XSetWMHints
    - XtGetApplicationResources
    - XInternAtom
    - gx_default_get_initial_matrix
    - DefaultScreen
    - getenv
    - DefaultVisualOfScreen
    - XtToolkitInitialize
    - DefaultScreenOfDisplay
    - min
    - XMatchVisualInfo
    - XSetGraphicsExposures
    - DefaultRootWindow
    - XtCreateApplicationContext
    - XSetClassHint
    - XtCloseDisplay
    - XSetLineAttributes
    - XSelectInput
    - XMapWindow
    - DefaultColormapOfScreen
    - XGetVisualInfo
    - XCreateWindow
    - XGetGeometry
    - XCreateGC
    - XCreateColormap
    - gdev_x_clear_window
    - XSetFunction
    - XNextEvent
    - check_device_separable
    - emprintf1
    - XStoreName
    - XCreatePixmap
    - XtAppCreateShell
    - DefaultColormap
    - return_error
    - XOpenDisplay
    - XQueryColor
    - XtOpenDisplay
    - XtAppSetFallbackResources
    linkageType: ''
    returnType: int
    signature: int gdev_x_open(gx_device_X * xdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_get_win_property
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:523,1
    - Dst: x_get_win_property
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:524,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:528,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - xdev
    - pwidth
    - pheight
    argTypes:
    - gx_device_X*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 530
    functionName: x_get_work_area
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 1
    functionsReached:
    - XFree
    - x_get_win_property
    linkageType: ''
    returnType: void
    signature: void x_get_work_area(gx_device_X *xdev, int *pwidth, int *pheight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: XGetWindowProperty
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:542,1
    - Dst: RootWindowOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:542,1
    - Dst: XInternAtom
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:543,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:554,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - xdev
    - atom_name
    argTypes:
    - gx_device_X*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 556
    functionName: x_get_win_property
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 1
    functionsReached:
    - XGetWindowProperty
    - XInternAtom
    - XFree
    - RootWindowOfScreen
    linkageType: ''
    returnType: long
    signature: 'long *

      x_get_win_property(gx_device_X *xdev, const char *atom_name)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:566,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:588,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:596,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:598,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:612,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:613,1
    - Dst: gdev_mem_data_size
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:620,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:627,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:628,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:637,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:639,1
    - Dst: gdev_mem_open_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:642,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:644,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:645,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:649,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:654,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:655,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:659,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:661,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:662,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:663,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:664,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:665,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:666,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:667,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:668,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:669,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:670,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:671,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:672,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:673,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:674,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:675,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:678,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:679,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:683,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:684,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 88
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 688
    functionName: x_set_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gx_device_forward_fill_in_procs
    - gs_make_mem_device
    - rc_decrement
    - gx_device_white
    - gs_memory_stable
    - gx_device_black
    - gx_device_set_target
    - rc_increment
    - COPY_PROC
    - gdev_mem_open_scan_lines
    - gx_device_fill_in_procs
    - gs_free_object
    - gdev_mem_device_for_bits
    - dev_proc
    - gdev_mem_data_size
    - check_device_separable
    - gs_resize_object
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int x_set_buffer(gx_device_X * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 661
    functionName: COPY_PROC
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_PROC(p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: XSetErrorHandler
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:697,1
    - Dst: XCreatePixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:700,1
    - Dst: XSync
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:703,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:707,1
    - Dst: XFreePixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:711,1
    - Dst: XSync
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:713,1
    - Dst: XSetErrorHandler
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:717,1
    - Dst: XFreePixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:721,1
    - Dst: x_set_buffer
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:726,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:733,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:734,1
    - Dst: XSetWindowBackgroundPixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:741,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:742,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:743,1
    - Dst: XSetBackground
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:748,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:750,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 752
    functionName: gdev_x_clear_window
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 1
    functionsReached:
    - x_set_buffer
    - XSetForeground
    - XSync
    - XSetWindowBackgroundPixmap
    - XSetBackground
    - XFreePixmap
    - XSetErrorHandler
    - emprintf
    - XFillRectangle
    - XCreatePixmap
    linkageType: ''
    returnType: void
    signature: void gdev_x_clear_window(gx_device_X * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:781,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 785
    functionName: gdev_x_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - set_dev_proc
    linkageType: ''
    returnType: int
    signature: int gdev_x_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:794,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:798,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:799,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:800,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:801,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 805
    functionName: gdev_x_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gx_default_get_params
    - param_write_bool
    - param_write_long
    linkageType: ''
    returnType: int
    signature: int gdev_x_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: param_put_long
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:830,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:831,1
    - Dst: param_put_int
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:832,1
    - Dst: param_put_int
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:833,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:843,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:851,1
    - Dst: WidthOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:873,1
    - Dst: HeightOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:873,1
    - Dst: x_get_work_area
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:877,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:887,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:888,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:891,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:893,1
    - Dst: XResizeWindow
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:903,1
    - Dst: XFreePixmap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:906,1
    - Dst: gdev_x_clear_window
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:933,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 810
    functionDepth: 3
    functionLinenumber: 810
    functionLinenumberEnd: 936
    functionName: gdev_x_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - WidthOfScreen
    - gs_closedevice
    - x_get_work_area
    - XResizeWindow
    - gdev_x_clear_window
    - HeightOfScreen
    - XFreePixmap
    - gx_default_put_params
    - min
    - param_put_int
    - param_put_long
    - return_error
    - param_put_bool
    - emprintf3
    linkageType: ''
    returnType: int
    signature: int gdev_x_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_x_send_event
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:946,1
    - Dst: XFree
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:948,1
    - Dst: gdev_x_free_colors
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:951,1
    - Dst: DefaultColormapOfScreen
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:952,1
    - Dst: XFreeColormap
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:953,1
    - Dst: XFreeGC
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:955,1
    - Dst: XCloseDisplay
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:957,1
    - Dst: x_set_buffer
      Src: /src/libspectre/ghostscript/devices/gdevxini.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 940
    functionDepth: 4
    functionLinenumber: 940
    functionLinenumberEnd: 964
    functionName: gdev_x_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxini.c
    functionUses: 0
    functionsReached:
    - XFreeGC
    - XCloseDisplay
    - x_set_buffer
    - XFreeColormap
    - gdev_x_free_colors
    - gdev_x_send_event
    - DefaultColormapOfScreen
    - XFree
    linkageType: ''
    returnType: int
    signature: int gdev_x_close(gx_device_X *xdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:82,1
    - Dst: gx_default_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 87
    functionName: epson_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsc.c
    functionUses: 0
    functionsReached:
    - gx_device_has_color
    - gx_default_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index epson_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:95,1
    - Dst: gx_default_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:138,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 140
    functionName: epson_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsc.c
    functionUses: 0
    functionsReached:
    - gx_device_has_color
    - gx_default_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int epson_map_color_rgb(gx_device * dev, gx_color_index color,\n                    gx_color_value
      prgb[3])"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:202,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:213,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:217,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:220,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:230,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:233,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:235,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:239,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:242,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:243,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:245,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:247,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:249,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:251,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:266,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:271,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:281,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:285,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:288,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:296,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:298,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:299,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:319,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:330,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:383,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:393,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:394,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:396,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:405,1
    - Dst: epsc_output_run
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:437,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:441,1
    - Dst: epsc_output_run
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:448,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:451,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:459,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:462,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:464,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:465,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:466,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 155
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 469
    functionName: epsc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsc.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - epsc_output_run
    - gdev_prn_copy_scan_lines
    - gx_device_has_color
    - memset
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - gp_fputc
    - gs_malloc
    - return_error
    - gp_fprintf
    - gs_free
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int epsc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:479,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:481,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:483,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:484,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:486,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:487,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:489,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsc.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - data
    - count
    - y_mult
    - start_graphics
    - prn_stream
    - pass
    argTypes:
    - byte*
    - int
    - int
    - char
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 500
    functionName: epsc_output_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsc.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void epsc_output_run(byte * data, int count, int y_mult,\n                char
      start_graphics, gp_file * prn_stream, int pass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - resolution
    argTypes:
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: MaxLineLength
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short MaxLineLength(short resolution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:270,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:272,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: hl7x0_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    - gdev_pcl_paper_size
    linkageType: ''
    returnType: int
    signature: int hl7x0_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:281,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:285,1
    - Dst: gdev_prn_close_printer
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: hl7x0_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gdev_prn_open_printer
    - gdev_prn_close_printer
    linkageType: ''
    returnType: int
    signature: int hl7x0_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: initByteList
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:305,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:310,1
    - Dst: hl7x0_print_page
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 316
    functionName: hl720_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached:
    - hl7x0_print_page
    - initByteList
    - addByte
    linkageType: ''
    returnType: int
    signature: int hl720_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:330,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:333,1
    - Dst: MaxLineLength
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:335,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:336,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:345,1
    - Dst: initSummary
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:346,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:352,1
    - Dst: initByteList
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:355,1
    - Dst: dumpToPrinter
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:360,1
    - Dst: dumpPage
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:365,1
    - Dst: dumpToPrinter
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:371,1
    - Dst: initByteList
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:376,1
    - Dst: dumpToPrinter
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:380,1
    - Dst: freeSummary
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:384,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:385,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - pdev
    - printStream
    - ptype
    - dots_per_inch
    - initCommand
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - int
    - ByteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 388
    functionName: hl7x0_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - dev_print_scan_lines
    - dumpToPrinter
    - gs_free
    - dumpPage
    - MaxLineLength
    - gdev_mem_bytes_per_scan_line
    - initByteList
    - freeSummary
    - gs_malloc
    - return_error
    - initSummary
    linkageType: ''
    returnType: int
    signature: "int hl7x0_print_page(gx_device_printer *pdev, gp_file *printStream,
      int ptype,\n  int dots_per_inch, ByteList *initCommand)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - line
    - length
    argTypes:
    - Byte*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 404
    functionName: stripTrailingBlanks
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short stripTrailingBlanks(Byte * line, short length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pixWidth
    - pixOffset
    - resolution
    argTypes:
    - short
    - short
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: horizontalOffset
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: "short horizontalOffset(short pixWidth,\n                              short
      pixOffset,\n                              short resolution)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:430,1
    - Dst: horizontalOffset
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:435,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - pdev
    - s
    - pw
    - ph
    - resolution
    argTypes:
    - gx_device_printer*
    - Summary*
    - short
    - short
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: initSummary
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - horizontalOffset
    - return_error
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int initSummary(gx_device_printer* pdev, Summary * s,short pw, short
      ph, short resolution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_printer*
    - Summary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: freeSummary
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void freeSummary(gx_device_printer* pdev, Summary * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - Summary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    functionName: resetPreviousData
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void resetPreviousData(Summary * s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: currentPosition
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:473,1
    - Dst: addNBytes
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:474,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:480,1
    - Dst: stripTrailingBlanks
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:487,1
    - Dst: isThereEnoughRoom
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:493,1
    - Dst: addNBytes
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:495,1
    - Dst: roomLeft
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:501,1
    - Dst: addNBytes
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:502,1
    - Dst: resetPreviousData
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:509,1
    - Dst: isThereEnoughRoom
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:515,1
    - Dst: MaxLineLength
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:515,1
    - Dst: currentPosition
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:528,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:529,1
    - Dst: makeCommandsForSequence
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:531,1
    - Dst: makeFullLine
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:540,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:549,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 4
    argNames:
    - pSource
    - pLineTmp
    - pCommandList
    - pSummary
    argTypes:
    - gx_device_printer*
    - Byte*
    - ByteList*
    - Summary*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 577
    functionName: dumpPage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - addNBytes
    - stripTrailingBlanks
    - gdev_prn_copy_scan_lines
    - MaxLineLength
    - addByte
    - currentPosition
    - memcpy
    - makeFullLine
    - makeCommandsForSequence
    - resetPreviousData
    - isThereEnoughRoom
    - roomLeft
    linkageType: ''
    returnType: int
    signature: "int dumpPage(gx_device_printer * pSource,\n                      Byte
      \             * pLineTmp,\n                      ByteList          * pCommandList,\n
      \                     Summary           * pSummary\n                      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:606,1
    - Dst: currentPosition
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:614,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:615,1
    - Dst: makeCommandsForSequence
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:689,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 5
    argNames:
    - pCurrentLine
    - pPreviousLine
    - lineWidth
    - commandsList
    - horizontalOffset
    argTypes:
    - Byte*
    - Byte*
    - short
    - ByteList*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 707
    functionName: makeFullLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - currentPosition
    - makeCommandsForSequence
    - addByte
    linkageType: ''
    returnType: void
    signature: "void makeFullLine( Byte      * pCurrentLine,\n                           Byte
      \     * pPreviousLine,\n                           short       lineWidth,\n
      \                          ByteList  * commandsList,\n                           short
      \      horizontalOffset\n                           )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: makeSequenceWithoutRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:752,1
    - Dst: makeSequenceWithoutRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:764,1
    - Dst: makeSequenceWithoutRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:780,1
    - Dst: makeSequenceWithoutRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:790,1
    - Dst: makeSequenceWithRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:805,1
    - Dst: makeSequenceWithRepeat
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:819,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 6
    argNames:
    - pSource
    - length
    - pCommandList
    - offset
    - pNumberOfCommands
    - rest
    argTypes:
    - Byte*
    - short
    - ByteList*
    - short
    - Byte*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 830
    functionName: makeCommandsForSequence
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 2
    functionsReached:
    - makeSequenceWithRepeat
    - makeSequenceWithoutRepeat
    linkageType: ''
    returnType: void
    signature: "void makeCommandsForSequence(Byte     * pSource,\n                                     short
      \     length,\n                                     ByteList * pCommandList,\n
      \                                    short      offset,\n                                     Byte
      \    * pNumberOfCommands,\n                                     short      rest)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentPosition
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:854,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:855,1
    - Dst: addCodedNumber
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:860,1
    - Dst: addCodedNumber
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:867,1
    - Dst: addArray
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pSequence
    - lengthOfSequence
    - pCommandList
    - offset
    argTypes:
    - Byte*
    - short
    - ByteList*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 881
    functionName: makeSequenceWithoutRepeat
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - addCodedNumber
    - currentPosition
    - addArray
    - addByte
    linkageType: ''
    returnType: void
    signature: "void makeSequenceWithoutRepeat(\n                                  Byte
      \    * pSequence,\n                                  short      lengthOfSequence,\n
      \                                 ByteList * pCommandList,\n                                  short
      \     offset             )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: currentPosition
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:905,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:906,1
    - Dst: addCodedNumber
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:911,1
    - Dst: addCodedNumber
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:918,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pSequence
    - lengthOfSequence
    - pCommandList
    - offset
    argTypes:
    - Byte*
    - short
    - ByteList*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 886
    functionDepth: 1
    functionLinenumber: 886
    functionLinenumberEnd: 932
    functionName: makeSequenceWithRepeat
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - addCodedNumber
    - currentPosition
    - addByte
    linkageType: ''
    returnType: void
    signature: "void makeSequenceWithRepeat(\n                                  Byte
      \    * pSequence,\n                                  short      lengthOfSequence,\n
      \                                 ByteList * pCommandList,\n                                  short
      \     offset             )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - list
    - array
    - maxSize
    - initCurrent
    argTypes:
    - ByteList*
    - Byte*
    - short
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 941
    functionName: initByteList
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initByteList(ByteList *list, Byte *array, short maxSize, short
      initCurrent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:950,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - list
    - value
    argTypes:
    - ByteList*
    - Byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 946
    functionDepth: 0
    functionLinenumber: 946
    functionLinenumberEnd: 951
    functionName: addByte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 5
    functionsReached:
    - eprintf
    linkageType: ''
    returnType: void
    signature: void addByte(ByteList *list,Byte value )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:960,1
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:964,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - list
    - source
    - nb
    argTypes:
    - ByteList*
    - Byte*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: addArray
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - memcpy
    - eprintf
    linkageType: ''
    returnType: void
    signature: void addArray(ByteList *list, Byte *source, short nb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:982,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - list
    - value
    - nb
    argTypes:
    - ByteList*
    - Byte
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 983
    functionName: addNBytes
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - eprintf1
    linkageType: ''
    returnType: void
    signature: void addNBytes(ByteList * list, Byte value, short nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - ByteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: currentPosition
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: Byte
    signature: Byte * currentPosition(ByteList * list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: addNBytes
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:1003,1
    - Dst: addByte
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - number
    argTypes:
    - ByteList*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1006
    functionName: addCodedNumber
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 2
    functionsReached:
    - addNBytes
    - addByte
    linkageType: ''
    returnType: void
    signature: void addCodedNumber(ByteList * list, short number)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - biggest
    argTypes:
    - ByteList*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1015
    functionName: isThereEnoughRoom
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isThereEnoughRoom(ByteList * list, short biggest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - ByteList*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1021
    functionName: roomLeft
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: short
    signature: short roomLeft(ByteList * list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevhl7x.c:1032,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - list
    - printStream
    argTypes:
    - ByteList*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    functionName: dumpToPrinter
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevhl7x.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dumpToPrinter(ByteList * list,gp_file * printStream)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 5
    argNames:
    - sdev
    - npixel
    - ip
    - buf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 104
    functionName: stc_gsrgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stc_gsrgb(stcolor_device *sdev,int npixel,byte *ip,byte *buf,byte
      *out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:41,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:43,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:52,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:69,1
    - Dst: IS_LIBCTX_STDOUT
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:81,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:81,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:82,1
    - Dst: IS_LIBCTX_STDERR
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:85,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:85,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:86,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:90,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 96
    functionName: cov_write_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevicov.c
    functionUses: 0
    functionsReached:
    - IS_LIBCTX_STDERR
    - gs_alloc_bytes
    - IS_LIBCTX_STDOUT
    - gdev_prn_raster
    - gdev_prn_get_bits
    - outprintf
    - gp_get_file
    - gp_fprintf
    - errprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int cov_write_page(gx_device_printer *pdev, gp_file *file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:103,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:110,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:119,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:141,1
    - Dst: IS_LIBCTX_STDOUT
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:152,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:152,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:153,1
    - Dst: IS_LIBCTX_STDERR
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:156,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:156,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:157,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevicov.c:161,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 167
    functionName: cov_write_page_ink
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevicov.c
    functionUses: 0
    functionsReached:
    - IS_LIBCTX_STDERR
    - gs_alloc_bytes
    - IS_LIBCTX_STDOUT
    - gdev_prn_raster
    - gdev_prn_get_bits
    - outprintf
    - gp_get_file
    - gp_fprintf
    - errprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int cov_write_page_ink(gx_device_printer *pdev, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 188
    functionName: BJC_ENUMERATE_OPTIONS
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BJC_ENUMERATE_OPTIONS(m)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: devn_params::separations::ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:184,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:187,1
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:193,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:196,1
    - Dst: std_device_std_body_type
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:203,1
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:232,1
    - Dst: display_alloc_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:233,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:234,1
    - Dst: display_set_separations
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:235,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:236,1
    - Dst: display_open
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:240,1
    - Dst: gx_callout
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:255,1
    - Dst: gx_callout
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:257,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:277,1
    - Dst: display_check_structure
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:286,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:287,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:290,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:297,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:301,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:304,1
    - Dst: display_alloc_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:308,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:311,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:317,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:318,1
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:321,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:323,1
    - Dst: dev
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:332,1
    - Dst: gx_default_get_initial_matrix
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:334,1
    - Dst: gx_upright_get_initial_matrix
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:336,1
    - Dst: display_sync_output
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:341,1
    - Dst: display_set_separations
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:346,1
    - Dst: display_set_separations
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:368,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:373,1
    - Dst: gx_device_display*::callback::display_rectangle_request
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:404,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:412,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:429,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:441,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 2
    argNames:
    - copies
    - flush
    argTypes:
    - "index < ddev->devn_params.separations.num_separations)\n        ENUM_RETURN(ddev->devn_params.separations.names[index].data);\n
      \   else\n        ENUM_PREFIX(st_device_clist_mutatable, ddev->devn_params.separations.num_separations);\n
      \   return 0;\nENUM_PTRS_END\n\nstatic\nRELOC_PTRS_WITH(display_reloc_ptrs,
      gx_device_display *ddev)\n    RELOC_PREFIX(st_device_clist_mutatable);\n    {
      \  int i;\n        for (i = 0; i < ddev->devn_params.separations.num_separations;
      ++i) {\n            RELOC_PTR(gx_device_display, devn_params.separations.names[i].data);\n
      \       }\n    }\nRELOC_PTRS_END\n\nconst gx_device_display gs_display_device
      =\n{\n    std_device_std_body_type(gx_device_display, &display_procs, \"display\",\n
      \                       &st_device_display,\n                        INITIAL_WIDTH,
      INITIAL_HEIGHT,\n                        INITIAL_RESOLUTION, INITIAL_RESOLUTION),\n
      \   {0},\t\t\t/* std_procs */\n    GX_CLIST_MUTATABLE_DEVICE_DEFAULTS,\n    NULL,\t\t\t/*
      callback */\n    NULL,\t\t\t/* pHandle */\n    0,                          /*
      pHandle_set */\n    0,\t\t\t\t/* nFormat */\n    NULL,\t\t\t/* pBitmap */\n
      \   0, \t\t\t\t/* zBitmapSize */\n    0, \t\t\t\t/* HWResolution_set */\n\n
      \   {    /* devn_params specific parameters */\n      8,        /* Bits per
      color - must match ncomp, depth, etc. */\n      DeviceCMYKComponents,     /*
      Names of color model colorants */\n      4,                        /* Number
      of colorants for CMYK */\n      0,                        /* MaxSeparations
      has not been specified */\n      -1,\t\t\t/* PageSpotColors has not been specified
      */\n      {0},                      /* SeparationNames */\n      0,                        /*
      Number of SeparationOrder names */\n      {0, 1, 2, 3, 4, 5, 6, 7 } /* Initial
      component SeparationOrder */\n    },\n    { true }                   /* equivalent
      CMYK colors for spot colors */\n};\n\n/* prototypes for internal procedures
      */\nstatic int display_check_structure(gx_device_display *dev);\nstatic void
      display_free_bitmap(gx_device_display * dev);\nstatic int display_alloc_bitmap(gx_device_display
      *, gx_device *);\nstatic int display_set_color_format(gx_device_display *dev,
      int nFormat);\nstatic int display_set_separations(gx_device_display *dev);\nstatic
      int display_raster(gx_device_display *dev);\n\n/* Open the display driver. */\nstatic
      int\ndisplay_open(gx_device * dev)\n{\n    gx_device_display *ddev = (gx_device_display
      *) dev;\n    int ccode;\n    gs_display_get_callback_t data;\n\n    /* Erase
      these, in case we are opening a copied device. */\n    ddev->pBitmap = NULL;\n
      \   ddev->zBitmapSize = 0;\n\n    ddev->orig_procs = ddev->procs;\n\n    /*
      Fetch our callback procedures. */\n    data.callback = NULL;\n    data.caller_handle
      = NULL;\n    ccode = gx_callout(dev, DISPLAY_CALLOUT_GET_CALLBACK, sizeof(data),
      &data);\n    if (ccode < 0) {\n        ccode = gx_callout(dev, DISPLAY_CALLOUT_GET_CALLBACK_LEGACY,
      sizeof(data), &data);\n        if (ccode < 0) {\n            ddev->callback
      = NULL;\n            ddev->pHandle = NULL;\n            if (ccode != gs_error_unknownerror)\n
      \               return ccode;\n        } else {\n            ddev->callback
      = data.callback;\n            ddev->pHandle_set = 0;\n        }\n    } else
      {\n        ddev->callback = data.callback;\n        ddev->pHandle = data.caller_handle;\n
      \       ddev->pHandle_set = 1;\n    }\n\n    /* Allow device to be opened \"disabled\"
      without a callback. */\n    /* The callback will be set later and the device
      re-opened. */\n    if (ddev->callback == NULL)\n        return 0;\n    ccode
      = install_internal_subclass_devices((gx_device **)&ddev, NULL);\n    if (ccode
      < 0)\n        return ccode;\n    dev = (gx_device *)ddev;\n\n    while(dev->parent)\n
      \       dev = dev->parent;\n\n    /* Make sure we have been passed a valid callback
      structure. */\n    if ((ccode = display_check_structure(ddev)) < 0)\n        return_error(ccode);\n\n
      \   /* set color info */\n    if ((ccode = display_set_color_format(ddev, ddev->nFormat))
      < 0)\n        return_error(ccode);\n\n    /* Tell caller that the device is
      open. */\n    /* This is always the first callback */\n    ccode = (*(ddev->callback->display_open))(ddev->pHandle,
      dev);\n    if (ccode < 0)\n        return_error(ccode);\n\n    /* Tell caller
      the proposed device parameters */\n    ccode = (*(ddev->callback->display_presize))
      (ddev->pHandle, dev,\n        dev->width, dev->height, display_raster(ddev),
      ddev->nFormat);\n    if (ccode < 0) {\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    /* allocate the image */\n
      \   ccode = display_alloc_bitmap(ddev, dev);\n    if (ccode < 0) {\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    /* Tell caller the device
      parameters */\n    ccode = (*(ddev->callback->display_size))(ddev->pHandle,
      dev,\n                          dev->width, dev->height,\n                          display_raster(ddev),
      ddev->nFormat,\n                          CLIST_MUTATABLE_HAS_MUTATED(ddev)
      ?\n                               NULL : ((gx_device_memory *)ddev)->base);\n
      \   if (ccode < 0) {\n        display_free_bitmap(ddev);\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    return 0;\n}\n\nstatic void\ndisplay_get_initial_matrix(gx_device
      * dev, gs_matrix * pmat)\n{\n    gx_device_display *ddev = (gx_device_display
      *) dev;\n    if ((ddev->nFormat & DISPLAY_FIRSTROW_MASK) == DISPLAY_TOPFIRST)\n
      \       gx_default_get_initial_matrix(dev, pmat);\n    else\n        gx_upright_get_initial_matrix(dev,
      pmat);  /* Windows / OS/2 */\n}\n\n/* Update the display. */\nint\ndisplay_sync_output(gx_device
      * dev)\n{\n    gx_device_display *ddev = (gx_device_display *) dev;\n    if
      (ddev->callback == NULL)\n        return 0;\t/* ignore the call */\n    display_set_separations(ddev);\n\n
      \   while(dev->parent)\n        dev = dev->parent;\n\n    (*(ddev->callback->display_sync))(ddev->pHandle,
      dev);\n    return (0);\n}\n\n/* Update the display, bring to foreground. */\n/*
      If you want to pause on showpage, delay your return from callback */\nint\ndisplay_output_page(gx_device
      * dev, int"
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 443
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - display_check_structure
    - devn_params::separations::ENUM_RETURN
    - display_open
    - display_alloc_bitmap
    - gx_device_display*::callback::display_rectangle_request
    - RELOC_PTR
    - display_sync_output
    - gx_default_get_initial_matrix
    - gs_note_error
    - std_device_std_body_type
    - display_set_separations
    - CLIST_MUTATABLE_HAS_MUTATED
    - gx_callout
    - display_set_color_format
    - dev_proc
    - ENUM_PREFIX
    - gx_upright_get_initial_matrix
    - dev
    - display_free_bitmap
    - return_error
    - gx_finish_output_page
    - RELOC_PREFIX
    - display_raster
    linkageType: ''
    returnType: void
    signature: "void ENUM_PTRS_WITH(display_enum_ptrs, gx_device_display *ddev)\n
      \   if (index < ddev->devn_params.separations.num_separations)\n        ENUM_RETURN(ddev->devn_params.separations.names[index].data);\n
      \   else\n        ENUM_PREFIX(st_device_clist_mutatable, ddev->devn_params.separations.num_separations);\n
      \   return 0;\nENUM_PTRS_END\n\nstatic\nRELOC_PTRS_WITH(display_reloc_ptrs,
      gx_device_display *ddev)\n    RELOC_PREFIX(st_device_clist_mutatable);\n    {
      \  int i;\n        for (i = 0; i < ddev->devn_params.separations.num_separations;
      ++i) {\n            RELOC_PTR(gx_device_display, devn_params.separations.names[i].data);\n
      \       }\n    }\nRELOC_PTRS_END\n\nconst gx_device_display gs_display_device
      =\n{\n    std_device_std_body_type(gx_device_display, &display_procs, \"display\",\n
      \                       &st_device_display,\n                        INITIAL_WIDTH,
      INITIAL_HEIGHT,\n                        INITIAL_RESOLUTION, INITIAL_RESOLUTION),\n
      \   {0},\t\t\t/* std_procs */\n    GX_CLIST_MUTATABLE_DEVICE_DEFAULTS,\n    NULL,\t\t\t/*
      callback */\n    NULL,\t\t\t/* pHandle */\n    0,                          /*
      pHandle_set */\n    0,\t\t\t\t/* nFormat */\n    NULL,\t\t\t/* pBitmap */\n
      \   0, \t\t\t\t/* zBitmapSize */\n    0, \t\t\t\t/* HWResolution_set */\n\n
      \   {    /* devn_params specific parameters */\n      8,        /* Bits per
      color - must match ncomp, depth, etc. */\n      DeviceCMYKComponents,     /*
      Names of color model colorants */\n      4,                        /* Number
      of colorants for CMYK */\n      0,                        /* MaxSeparations
      has not been specified */\n      -1,\t\t\t/* PageSpotColors has not been specified
      */\n      {0},                      /* SeparationNames */\n      0,                        /*
      Number of SeparationOrder names */\n      {0, 1, 2, 3, 4, 5, 6, 7 } /* Initial
      component SeparationOrder */\n    },\n    { true }                   /* equivalent
      CMYK colors for spot colors */\n};\n\n/* prototypes for internal procedures
      */\nstatic int display_check_structure(gx_device_display *dev);\nstatic void
      display_free_bitmap(gx_device_display * dev);\nstatic int display_alloc_bitmap(gx_device_display
      *, gx_device *);\nstatic int display_set_color_format(gx_device_display *dev,
      int nFormat);\nstatic int display_set_separations(gx_device_display *dev);\nstatic
      int display_raster(gx_device_display *dev);\n\n/* Open the display driver. */\nstatic
      int\ndisplay_open(gx_device * dev)\n{\n    gx_device_display *ddev = (gx_device_display
      *) dev;\n    int ccode;\n    gs_display_get_callback_t data;\n\n    /* Erase
      these, in case we are opening a copied device. */\n    ddev->pBitmap = NULL;\n
      \   ddev->zBitmapSize = 0;\n\n    ddev->orig_procs = ddev->procs;\n\n    /*
      Fetch our callback procedures. */\n    data.callback = NULL;\n    data.caller_handle
      = NULL;\n    ccode = gx_callout(dev, DISPLAY_CALLOUT_GET_CALLBACK, sizeof(data),
      &data);\n    if (ccode < 0) {\n        ccode = gx_callout(dev, DISPLAY_CALLOUT_GET_CALLBACK_LEGACY,
      sizeof(data), &data);\n        if (ccode < 0) {\n            ddev->callback
      = NULL;\n            ddev->pHandle = NULL;\n            if (ccode != gs_error_unknownerror)\n
      \               return ccode;\n        } else {\n            ddev->callback
      = data.callback;\n            ddev->pHandle_set = 0;\n        }\n    } else
      {\n        ddev->callback = data.callback;\n        ddev->pHandle = data.caller_handle;\n
      \       ddev->pHandle_set = 1;\n    }\n\n    /* Allow device to be opened \"disabled\"
      without a callback. */\n    /* The callback will be set later and the device
      re-opened. */\n    if (ddev->callback == NULL)\n        return 0;\n    ccode
      = install_internal_subclass_devices((gx_device **)&ddev, NULL);\n    if (ccode
      < 0)\n        return ccode;\n    dev = (gx_device *)ddev;\n\n    while(dev->parent)\n
      \       dev = dev->parent;\n\n    /* Make sure we have been passed a valid callback
      structure. */\n    if ((ccode = display_check_structure(ddev)) < 0)\n        return_error(ccode);\n\n
      \   /* set color info */\n    if ((ccode = display_set_color_format(ddev, ddev->nFormat))
      < 0)\n        return_error(ccode);\n\n    /* Tell caller that the device is
      open. */\n    /* This is always the first callback */\n    ccode = (*(ddev->callback->display_open))(ddev->pHandle,
      dev);\n    if (ccode < 0)\n        return_error(ccode);\n\n    /* Tell caller
      the proposed device parameters */\n    ccode = (*(ddev->callback->display_presize))
      (ddev->pHandle, dev,\n        dev->width, dev->height, display_raster(ddev),
      ddev->nFormat);\n    if (ccode < 0) {\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    /* allocate the image */\n
      \   ccode = display_alloc_bitmap(ddev, dev);\n    if (ccode < 0) {\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    /* Tell caller the device
      parameters */\n    ccode = (*(ddev->callback->display_size))(ddev->pHandle,
      dev,\n                          dev->width, dev->height,\n                          display_raster(ddev),
      ddev->nFormat,\n                          CLIST_MUTATABLE_HAS_MUTATED(ddev)
      ?\n                               NULL : ((gx_device_memory *)ddev)->base);\n
      \   if (ccode < 0) {\n        display_free_bitmap(ddev);\n        (*(ddev->callback->display_close))(ddev->pHandle,
      dev);\n        return_error(ccode);\n    }\n\n    return 0;\n}\n\nstatic void\ndisplay_get_initial_matrix(gx_device
      * dev, gs_matrix * pmat)\n{\n    gx_device_display *ddev = (gx_device_display
      *) dev;\n    if ((ddev->nFormat & DISPLAY_FIRSTROW_MASK) == DISPLAY_TOPFIRST)\n
      \       gx_default_get_initial_matrix(dev, pmat);\n    else\n        gx_upright_get_initial_matrix(dev,
      pmat);  /* Windows / OS/2 */\n}\n\n/* Update the display. */\nint\ndisplay_sync_output(gx_device
      * dev)\n{\n    gx_device_display *ddev = (gx_device_display *) dev;\n    if
      (ddev->callback == NULL)\n        return 0;\t/* ignore the call */\n    display_set_separations(ddev);\n\n
      \   while(dev->parent)\n        dev = dev->parent;\n\n    (*(ddev->callback->display_sync))(ddev->pHandle,
      dev);\n    return (0);\n}\n\n/* Update the display, bring to foreground. */\n/*
      If you want to pause on showpage, delay your return from callback */\nint\ndisplay_output_page(gx_device
      * dev, int copies, int flush)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 472
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - display_free_bitmap
    linkageType: ''
    returnType: int
    signature: int display_close(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: gx_b_w_gray_encode
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_b_w_gray_encode(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pc_4bit_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 489
    functionName: display_map_rgb_color_device4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - pc_4bit_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_map_rgb_color_device4(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pc_4bit_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: display_map_color_rgb_device4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - pc_4bit_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int display_map_color_rgb_device4(gx_device * dev, gx_color_index
      color,\n                 gx_color_value prgb[3])"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 536
    functionName: display_encode_color_device8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_encode_color_device8(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 562
    functionName: display_decode_color_device8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_decode_color_device8(gx_device * dev, gx_color_index color,\n
      \                gx_color_value prgb[4])"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 599
    functionName: display_map_rgb_color_device16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_map_rgb_color_device16(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 675
    functionName: display_map_color_rgb_device16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_map_color_rgb_device16(gx_device * dev, gx_color_index
      color,\n                 gx_color_value prgb[3])"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_rgb_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:697,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 715
    functionName: display_map_rgb_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_default_rgb_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_map_rgb_color_rgb(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_rgb_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 798
    functionName: display_map_color_rgb_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_default_rgb_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int display_map_color_rgb_rgb(gx_device * dev, gx_color_index color,\n
      \                gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:807,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:808,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 801
    functionDepth: 1
    functionLinenumber: 801
    functionLinenumberEnd: 810
    functionName: display_map_rgb_color_bgr24
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_map_rgb_color_bgr24(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:817,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:818,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: display_map_color_rgb_bgr24
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int display_map_color_rgb_bgr24(gx_device * dev, gx_color_index color,\n
      \                gx_color_value prgb[3])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_display*::mutated_procs::fill_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:831,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 839
    functionName: display_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_device_display*::mutated_procs::fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int display_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_display*::mutated_procs::copy_mono
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:851,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 860
    functionName: display_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_device_display*::mutated_procs::copy_mono
    linkageType: ''
    returnType: int
    signature: "int display_copy_mono(gx_device * dev,\n                  const byte
      * base, int sourcex, int raster,\n                  gx_bitmap_id id, int x,
      int y, int w, int h,\n                  gx_color_index zero, gx_color_index
      one)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_display*::mutated_procs::copy_color
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:871,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 879
    functionName: display_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_device_display*::mutated_procs::copy_color
    linkageType: ''
    returnType: int
    signature: "int display_copy_color(gx_device * dev,\n                   const
      byte * base, int sourcex, int raster,\n                   gx_bitmap_id id, int
      x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_display*::mutated_procs::get_bits
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - y
    - str
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 888
    functionName: display_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_device_display*::mutated_procs::get_bits
    linkageType: ''
    returnType: int
    signature: int display_get_bits(gx_device * dev, int y, byte * str, byte ** actual_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:902,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:922,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:923,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:927,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:929,1
    - Dst: devn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:933,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 936
    functionName: display_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_transient_string
    - param_write_float
    - devn_get_params
    - gx_default_get_params
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int display_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:968,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:977,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:986,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:993,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1000,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1016,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1023,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1081,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1094,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1097,1
    - Dst: gx_device_set_resolution
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1100,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1106,1
    - Dst: devn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1114,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1126,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1134,1
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1149,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1154,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1160,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1165,1
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1171,1
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1174,1
    - Dst: display_alloc_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1176,1
    - Dst: display_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1183,1
    - Dst: display_alloc_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1187,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1189,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1190,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1192,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1197,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1198,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1200,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 178
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 1212
    functionName: display_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - devn_put_params
    - return_error
    - gx_update_from_subclass
    - param_read_int
    - param_read_float
    - CLIST_MUTATABLE_HAS_MUTATED
    - gx_default_put_params
    - display_alloc_bitmap
    - gx_device_set_resolution
    - param_read_long
    - display_set_color_format
    - emprintf
    - display_free_bitmap
    - param_signal_error
    - display_raster
    - param_read_float_array
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int display_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1228
    functionName: display_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int display_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1241
    functionName: display_separation_gray_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gray_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void display_separation_gray_cs_to_cmyk_cm(gx_device * dev, frac gray,
      frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1251
    functionName: display_separation_rgb_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void display_separation_rgb_cs_to_cmyk_cm(gx_device * dev,\n    const
      gs_gstate *pgs, frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1261
    functionName: display_separation_cmyk_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void display_separation_cmyk_cs_to_cmyk_cm(gx_device * dev,\n    frac
      c, frac m, frac y, frac k, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1273
    functionName: display_separation_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      display_separation_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1287,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1295
    functionName: display_separation_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index display_separation_encode_color(gx_device *dev, const
      gx_color_value colors[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COLDUP_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1310,1
    - Dst: COLDUP_DUP
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1314,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1300
    functionDepth: 1
    functionLinenumber: 1300
    functionLinenumberEnd: 1318
    functionName: display_separation_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - COLDUP_DUP
    - COLDUP_SETUP
    linkageType: ''
    returnType: int
    signature: "int display_separation_decode_color(gx_device * dev, gx_color_index
      color,\n    gx_color_value * out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1323
    functionDepth: 1
    functionLinenumber: 1323
    functionLinenumberEnd: 1332
    functionName: display_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - update_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: int
    signature: int display_update_spot_equivalent_colors(gx_device * dev, const gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1343
    functionName: display_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      display_ret_devn_params(gx_device * dev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1351,1
    - Dst: gx_device_display*::callback::display_adjust_band_height
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1359,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - dev
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1345
    functionDepth: 1
    functionLinenumber: 1345
    functionLinenumberEnd: 1366
    functionName: display_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    - dev_proc
    - gx_device_display*::callback::display_adjust_band_height
    linkageType: ''
    returnType: int
    signature: int display_spec_op(gx_device *dev, int op, void *data, int datasize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1374,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1375,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1376,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1377,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1383,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1385,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1387
    functionName: display_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - dev_proc
    - gx_fill_rectangle_device_rop
    linkageType: ''
    returnType: int
    signature: "int display_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devn_get_color_comp_index
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1411
    functionName: display_separation_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - devn_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int display_separation_get_color_comp_index(gx_device * dev,\n    const
      char * pname, int name_size, int component_type)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1420,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1425,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1429,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1434,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1437,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1446,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1449,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1453,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1462,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 27
    argCount: 1
    argNames:
    - ddev
    argTypes:
    - gx_device_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1417
    functionDepth: 1
    functionLinenumber: 1417
    functionLinenumberEnd: 1471
    functionName: display_check_structure
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int display_check_structure(gx_device_display *ddev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1486,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1490,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1494,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1503,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1506,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1509,1
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1515,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - ddev
    argTypes:
    - gx_device_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1518
    functionName: display_free_bitmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 3
    functionsReached:
    - CLIST_IS_WRITER
    - clist_free_icc_table
    - CLIST_MUTATABLE_HAS_MUTATED
    - rc_decrement
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void display_free_bitmap(gx_device_display * ddev)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1521
    functionDepth: 0
    functionLinenumber: 1521
    functionLinenumberEnd: 1552
    functionName: display_raster
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int display_raster(gx_device_display *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1564,1
    - Dst: gdev_mem_set_planar_interleaved
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - mdev
    - tdev
    - interleaved
    argTypes:
    - gx_device_memory*
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1578
    functionName: set_planar
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_mem_set_planar_interleaved
    linkageType: ''
    returnType: int
    signature: int set_planar(gx_device_memory *mdev, const gx_device *tdev, int interleaved)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1594,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1596,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1598,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1601,1
    - Dst: dev_t_proc_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1606,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1606,1
    - Dst: assign_dev_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1608,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1610,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1611,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1612,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1614,1
    - Dst: gs_deviceinitialmatrix
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1630,1
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1638,1
    - Dst: set_planar
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1639,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1644
    functionName: display_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - dev_t_proc_dev_spec_op
    - gdev_mem_device_for_bits
    - set_planar
    - check_device_separable
    - gx_device_fill_in_procs
    - gs_deviceinitialmatrix
    - gs_make_mem_device
    - assign_dev_procs
    - gs_device_is_memory
    - return_error
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int display_create_buf_device(gx_device **pbdev, gx_device *target,
      int y,\n                          const gx_render_plane_t *render_plane,\n                          gs_memory_t
      *mem, gx_color_usage_t *color_usage)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_size_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1658,1
    - Dst: set_planar
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1666,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1669,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1670,1
    - Dst: gdev_mem_line_ptrs_size
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1671,1
    - Dst: display_raster
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - space
    - target
    - render_plane
    - height
    - for_band
    argTypes:
    - gx_device_buf_space_t*
    - gx_device*
    - gx_render_plane_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1646
    functionDepth: 2
    functionLinenumber: 1646
    functionLinenumberEnd: 1674
    functionName: display_size_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gdev_mem_bits_size
    - gx_default_size_buf_device
    - set_planar
    - gdev_mem_line_ptrs_size
    - return_error
    - display_raster
    linkageType: ''
    returnType: int
    signature: "int display_size_buf_device(gx_device_buf_space_t *space, gx_device
      *target,\n                        const gx_render_plane_t *render_plane,\n                        int
      height, bool for_band)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1697,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1702,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1710,1
    - Dst: clist_init_io_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1718,1
    - Dst: clist_init_params
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1719,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1735,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1737,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - ddev
    - buffer_memory
    argTypes:
    - gx_device_display*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1750
    functionName: setup_as_clist
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gx_update_from_subclass
    - clist_init_params
    - clist_init_io_procs
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int setup_as_clist(gx_device_display *ddev, gs_memory_t *buffer_memory)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1763,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1766,1
    - Dst: display_size_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1768,1
    - Dst: gs_alloc_byte_array_immovable
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1802,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1814,1
    - Dst: setup_as_clist
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1817,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1826,1
    - Dst: gx_default_setup_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1829,1
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1835,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1836,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1841,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1842,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1843,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1844,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1845,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1846,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1847,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1848,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1849,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1850,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1851,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1852,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1853,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1854,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1855,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1856,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1857,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1858,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1859,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1860,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1861,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1863,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1864,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1869,1
    - Dst: CLIST_MUTATABLE_HAS_MUTATED
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1878,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1879,1
    - Dst: display_free_bitmap
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1881,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1895,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1897,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 77
    argCount: 2
    argNames:
    - ddev
    - param_dev
    argTypes:
    - gx_device_display*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1753
    functionDepth: 3
    functionLinenumber: 1753
    functionLinenumberEnd: 1901
    functionName: display_alloc_bitmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 2
    functionsReached:
    - dev_proc
    - gdev_create_buf_device
    - CLIST_MUTATABLE_HAS_MUTATED
    - display_size_buf_device
    - gx_default_setup_buf_device
    - memset
    - COPY_PROC
    - display_free_bitmap
    - return_error
    - gs_alloc_byte_array_immovable
    - setup_as_clist
    - set_dev_proc
    linkageType: ''
    returnType: int
    signature: int display_alloc_bitmap(gx_device_display * ddev, gx_device * param_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1841
    functionName: COPY_PROC
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_PROC(p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1921,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1934,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1937,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:1953,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_display*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1977
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1977
    functionName: display_set_separations
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 1
    functionsReached:
    - memset
    - strlen
    - memcpy
    linkageType: ''
    returnType: int
    signature: int display_set_separations(gx_device_display *dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 6
    argNames:
    - pdci
    - model
    - nc
    - depth
    - maxgray
    - maxcolor
    argTypes:
    - gx_device_color_info*
    - DISPLAY_MODEL
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2032
    functionName: set_color_info
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_color_info(gx_device_color_info * pdci, DISPLAY_MODEL model,\n
      \   int nc, int depth, int maxgray, int maxcolor)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2189,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2197,1
    - Dst: set_gray_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2199,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2204,1
    - Dst: set_rgb_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2206,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2211,1
    - Dst: set_rgbk_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2213,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2221,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2223,1
    - Dst: set_rgb_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2224,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2228,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2233,1
    - Dst: set_gray_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2235,1
    - Dst: set_gray_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2238,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2246,1
    - Dst: set_rgb_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2250,1
    - Dst: set_rgb_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2253,1
    - Dst: set_rgb_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2258,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2264,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2266,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2268,1
    - Dst: set_cmyk_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2271,1
    - Dst: set_cmyk_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2274,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2277,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2281,1
    - Dst: set_color_info
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2283,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2288,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2290,1
    - Dst: set_color_procs
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2301,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2304,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevdsp.c:2320,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 177
    argCount: 2
    argNames:
    - ddev
    - nFormat
    argTypes:
    - gx_device_display*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2114
    functionDepth: 1
    functionLinenumber: 2114
    functionLinenumberEnd: 2345
    functionName: display_set_color_format
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdsp.c
    functionUses: 2
    functionsReached:
    - set_color_procs
    - set_rgbk_color_procs
    - set_cmyk_color_procs
    - set_gray_color_procs
    - set_color_info
    - check_device_separable
    - gsicc_new_device_profile_array
    - set_rgb_color_procs
    - return_error
    linkageType: ''
    returnType: int
    signature: int display_set_color_format(gx_device_display *ddev, int nFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: CCFILESTART
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCFILESTART(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: CCFILEEND
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCFILEEND(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: CCNEWPASS
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCNEWPASS(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CCEMPTYLINE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCEMPTYLINE(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - len
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: CCLINESTART
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCLINESTART(len,p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - margin
    - ','
    - num_comp
    - ','
    - depth
    - ','
    - max_gray
    - ','
    - max_rgb
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: ccr_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ccr_prn_device(procs, dev_name, margin, num_comp, depth, max_gray,
      max_rgb, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - ushort[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 124
    functionName: ccr_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index ccr_map_rgb_color(gx_device *pdev, const ushort cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - ushort[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: ccr_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ccr_map_color_rgb(gx_device *pdev, gx_color_index color, ushort
      rgb[3])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:141,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:150,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:151,1
    - Dst: alloc_rb
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:153,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:156,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:160,1
    - Dst: alloc_line
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:163,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:165,1
    - Dst: free_rb_line
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:166,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:167,1
    - Dst: add_cmy8
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:185,1
    - Dst: CCFILESTART
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:188,1
    - Dst: write_cpass
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:189,1
    - Dst: CCNEWPASS
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:190,1
    - Dst: write_cpass
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:191,1
    - Dst: CCNEWPASS
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:192,1
    - Dst: write_cpass
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:193,1
    - Dst: CCFILEEND
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:194,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:198,1
    - Dst: free_rb_line
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 201
    functionName: ccr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 0
    functionsReached:
    - add_cmy8
    - CCFILESTART
    - alloc_line
    - gdev_prn_raster
    - gdev_prn_get_bits
    - CCNEWPASS
    - write_cpass
    - CCFILEEND
    - gs_malloc
    - return_error
    - free_rb_line
    - gs_free
    - alloc_rb
    linkageType: ''
    returnType: int
    signature: int ccr_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:207,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:209,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:215,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:216,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - rb
    - rows
    argTypes:
    - gs_memory_t*
    - cmyrow**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: alloc_rb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_sprintf
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int alloc_rb( gs_memory_t *mem, cmyrow **rb, int rows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:227,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:228,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:229,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:232,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:233,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:234,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - row
    - cols
    argTypes:
    - gs_memory_t*
    - cmyrow*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 241
    functionName: alloc_line
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_free
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int alloc_line( gs_memory_t *mem, cmyrow *row, int cols)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - rb
    - c
    - m
    - y
    argTypes:
    - cmyrow*
    - char
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: add_cmy8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void add_cmy8(cmyrow *rb, char c, char m, char y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CCEMPTYLINE
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:266,1
    - Dst: CCLINESTART
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:269,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - buf
    - rows
    - pass
    - pstream
    argTypes:
    - cmyrow*
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: write_cpass
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 1
    functionsReached:
    - CCLINESTART
    - CCEMPTYLINE
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void write_cpass(cmyrow *buf, int rows, int pass, gp_file * pstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:283,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:284,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:285,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevccr.c:291,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - rbuf
    - rows
    - cols
    argTypes:
    - gs_memory_t*
    - cmyrow*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 293
    functionName: free_rb_line
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevccr.c
    functionUses: 1
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void free_rb_line( gs_memory_t *mem, cmyrow *rbuf, int rows, int cols)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:46,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:48,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:57,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:64,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:65,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:68,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:70,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:71,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:73,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:74,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:77,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:85,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:97,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:104,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevcif.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 108
    functionName: cif_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcif.c
    functionUses: 0
    functionsReached:
    - strlen
    - gdev_prn_copy_scan_lines
    - strncpy
    - strchr
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - return_error
    - gp_fprintf
    - gs_free
    linkageType: ''
    returnType: int
    signature: int cif_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 81
    functionName: x_clear_color_cache
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - gx_device_decache_colors
    linkageType: ''
    returnType: void
    signature: void x_clear_color_cache(gx_device /*gx_device_X_wrapper */  * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:91,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:93,1
    - Dst: get_target_info
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 99
    functionName: x_wrap_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - get_target_info
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_wrap_open(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:107,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: x_forward_sync_output
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_forward_sync_output(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:118,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: x_forward_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_forward_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:131,1
    - Dst: x_clear_color_cache
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: x_wrap_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    - x_clear_color_cache
    linkageType: ''
    returnType: int
    signature: int x_wrap_close(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:143,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:145,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: x_wrap_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - x_alt_map_color
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: "int x_wrap_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                    gx_color_value prgb[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:157,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:159,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 161
    functionName: x_wrap_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - x_alt_map_color
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: "int x_wrap_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                      gx_color_index color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:172,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:174,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:176,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 179
    functionName: x_wrap_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - x_alt_map_color
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: "int x_wrap_copy_mono(gx_device * dev,\n                 const byte
      * base, int sourcex, int raster, gx_bitmap_id id,\n                 int x, int
      y, int w, int h,\n                 gx_color_index zero, gx_color_index one)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:196,1
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:197,1
    - Dst: gx_default_copy_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:201,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:216,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:223,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:224,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:242,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:244,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:250,1
    - Dst: x_alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:258,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:275,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 282
    functionName: x_wrap_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - get_dev_target
    - min
    - memcpy
    - gx_default_copy_color
    - x_alt_map_color
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int x_wrap_copy_color(gx_device * dev, const byte * base, int sourcex,\n
      \                 int raster, gx_bitmap_id id, int x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:291,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: x_forward_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: "int x_forward_copy_color(gx_device * dev, const byte * base, int sourcex,\n
      \                    int raster, gx_bitmap_id id, int x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:303,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - y
    - str
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 306
    functionName: x_forward_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_forward_get_bits(gx_device * dev, int y, byte * str, byte **
      actual_data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:337,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:343,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:346,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:363,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:366,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:372,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:372,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:376,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:381,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:384,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:385,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:388,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - dev
    - y
    - str
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 394
    functionName: x_wrap_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - get_dev_target
    - sample_store_flush
    - sample_store_next64
    - return_error
    - min
    - dev_proc
    - sample_store_next32
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int x_wrap_get_bits(gx_device * dev, int y, byte * str, byte ** actual_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:405,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 418
    functionName: x_wrap_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_wrap_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:428,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:439,1
    - Dst: get_target_info
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 446
    functionName: x_wrap_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - get_target_info
    - dev_proc
    - get_dev_target
    linkageType: ''
    returnType: int
    signature: int x_wrap_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:458,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:463,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:464,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:465,1
    - Dst: x_clear_color_cache
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptdev
    - dev
    argTypes:
    - gx_device**
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 470
    functionName: get_dev_target
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 12
    functionsReached:
    - x_clear_color_cache
    - gx_device_set_target
    - check_device_separable
    - gs_copydevice
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int get_dev_target(gx_device ** ptdev, gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:479,1
    - Dst: copy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:486,1
    - Dst: copy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:487,1
    - Dst: copy2
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:488,1
    - Dst: copy4
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:489,1
    - Dst: copy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:490,1
    - Dst: copy2
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:491,1
    - Dst: copy2
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:492,1
    - Dst: copy4
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:493,1
    - Dst: copy
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:499,1
    - Dst: x_clear_color_cache
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 509
    functionName: get_target_info
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 2
    functionsReached:
    - x_clear_color_cache
    - copy
    - get_dev_target
    - copy4
    - copy2
    linkageType: ''
    returnType: int
    signature: int get_target_info(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 483
    functionName: copy
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 484
    functionName: copy2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy2(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 485
    functionName: copy4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy4(m)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_dev_target
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:529,1
    - Dst: gx_device_X_wrapper*::alt_map_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:531,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:535,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - dev
    - color
    argTypes:
    - gx_device*
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 539
    functionName: x_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 4
    functionsReached:
    - dev_proc
    - gx_device_X_wrapper*::alt_map_color
    - get_dev_target
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index x_alt_map_color(gx_device * dev, gx_color_index color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:624,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:625,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: x_cmyk_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: int
    signature: "int x_cmyk_alt_map_color(gx_device * dev, gx_color_index color,\n
      \                    gx_color_value rgb[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:635,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: x_cmyk_set_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: void x_cmyk_set_procs(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_wrap_open
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:646,1
    - Dst: x_cmyk_set_procs
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 651
    functionName: x_cmyk_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - x_wrap_open
    - x_cmyk_set_procs
    linkageType: ''
    returnType: int
    signature: int x_cmyk_open(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_wrap_put_params
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:656,1
    - Dst: x_cmyk_set_procs
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 653
    functionDepth: 2
    functionLinenumber: 653
    functionLinenumberEnd: 661
    functionName: x_cmyk_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - x_wrap_put_params
    - x_cmyk_set_procs
    linkageType: ''
    returnType: int
    signature: int x_cmyk_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 674
    functionName: x_cmyk_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index x_cmyk_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 724
    functionName: x_mono_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int x_mono_alt_map_color(gx_device * dev, gx_color_index color,\n
      \                    gx_color_value rgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: x_gray_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int x_gray_alt_map_color(gx_device * dev, gx_color_index color,\n
      \                    gx_color_value rgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - r
    - g
    - b
    - alpha
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 801
    functionName: x_alpha_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - gx_forward_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index x_alpha_map_rgb_alpha_color(gx_device * dev,\n gx_color_value
      r, gx_color_value g, gx_color_value b, gx_color_value alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 871
    functionName: x_rg16x_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index x_rg16x_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 881
    functionName: x_rg32x_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index x_rg32x_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 892
    functionName: x_rg16x_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int x_rg16x_alt_map_color(gx_device * dev, gx_color_index color,\n
      \                     gx_color_value rgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 893
    functionDepth: 0
    functionLinenumber: 893
    functionLinenumberEnd: 901
    functionName: x_rg32x_alt_map_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int x_rg32x_alt_map_color(gx_device * dev, gx_color_index color,\n
      \                     gx_color_value rgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:908,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:909,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:910,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:911,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:912,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:913,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:914,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:915,1
    - Dst: gs_lib_register_device
      Src: /src/libspectre/ghostscript/devices/gdevxalt.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 917
    functionName: gs_shared_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxalt.c
    functionUses: 0
    functionsReached:
    - gs_lib_register_device
    linkageType: ''
    returnType: void
    signature: void gs_shared_init(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tiff_set_handlers
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:44,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:46,1
    - Dst: gdev_prn_allocate_memory
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:55,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:60,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:64,1
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:67,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 69
    functionName: tiff_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - gdev_prn_open_printer_seekable
    - gdev_prn_allocate_memory
    - tiff_set_handlers
    - gx_copy_device_procs
    linkageType: ''
    returnType: int
    signature: int tiff_open(gx_device *pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:77,1
    - Dst: gx_device_tiff*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:81,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:82,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: tiff_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - TIFFClose
    - gsicc_free_link_dev
    - gx_device_tiff*::icclink::procs::free_link
    linkageType: ''
    returnType: int
    signature: int tiff_close(gx_device * pdev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:92,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:96,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:99,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:102,1
    - Dst: tiff_compression_param_string
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:104,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:105,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:107,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:109,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 3
    argNames:
    - dev
    - plist
    - which
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 119
    functionName: tiff_get_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_bool
    - tiff_compression_param_string
    - param_write_long
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int tiff_get_some_params(gx_device * dev, gs_param_list * plist, int
      which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: tiff_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_get_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: tiff_get_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_get_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_get_params_downscale(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 137
    functionName: tiff_get_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_get_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_get_params_downscale_cmyk(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: tiff_get_params_downscale_cmyk_ets
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_get_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_get_params_downscale_cmyk_ets(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:161,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:164,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:171,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:174,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:182,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:186,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:189,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:196,1
    - Dst: tiff_compression_id
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:198,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:200,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:201,1
    - Dst: tiff_compression_allowed
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:205,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:207,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:208,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:209,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:216,1
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:220,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:227,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:230,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:242,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:246,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:253,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:260,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 3
    argNames:
    - dev
    - plist
    - which
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 271
    functionName: tiff_put_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_compression_allowed
    - gx_downscaler_read_params
    - return_error
    - tiff_compression_id
    - gdev_prn_put_params
    - param_read_long
    - param_signal_error
    - param_read_bool
    - errprintf
    - dmlprintf
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int tiff_put_some_params(gx_device * dev, gs_param_list * plist, int
      which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: tiff_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_put_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: tiff_put_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_put_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_put_params_downscale(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: tiff_put_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_put_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_put_params_downscale_cmyk(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tiff_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: tiff_put_params_downscale_cmyk_ets
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - tiff_put_some_params
    linkageType: ''
    returnType: int
    signature: int tiff_put_params_downscale_cmyk_ets(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:305,1
    - Dst: tiff_from_filep
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:307,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:309,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:311,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:313,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:322,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:326,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:330,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:335,1
    - Dst: gx_device_tiff*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:339,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:340,1
    - Dst: tiff_set_fields_for_printer
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:346,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - tfdev
    - file
    argTypes:
    - gx_device_tiff*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 349
    functionName: gdev_tiff_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - gsicc_free_link_dev
    - gx_device_tiff*::icclink::procs::free_link
    - gsicc_alloc_link_dev
    - tiff_set_fields_for_printer
    - return_error
    - tiff_from_filep
    - dev_proc
    - gdev_prn_file_is_new
    linkageType: ''
    returnType: int
    signature: "int gdev_tiff_begin_page(gx_device_tiff *tfdev,\n                         gp_file
      *file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:356,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:359,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:363,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:364,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:366,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - tif
    - compression
    - max_strip_size
    argTypes:
    - gx_device_printer*
    - TIFF*
    - uint
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 370
    functionName: tiff_set_compression
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - gdev_mem_bytes_per_scan_line
    - TIFFDefaultStripSize
    - TIFFSetField
    - max
    linkageType: ''
    returnType: int
    signature: "int tiff_set_compression(gx_device_printer *pdev,\n                         TIFF
      *tif,\n                         uint compression,\n                         long
      max_strip_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:378,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:379,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:380,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:381,1
    - Dst: fax_adjusted_width
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:382,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:383,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:384,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:385,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:386,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:388,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:389,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:390,1
    - Dst: gs_revision_number
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:396,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:401,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:403,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:404,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:405,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:407,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:415,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:416,1
    - Dst: time
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:418,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:419,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:421,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:425,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:428,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:429,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:448,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 5
    argNames:
    - pdev
    - tif
    - factor
    - adjustWidth
    - writedatetime
    argTypes:
    - gx_device_printer*
    - TIFF*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 453
    functionName: tiff_set_fields_for_printer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 1
    functionsReached:
    - strncat
    - gx_downscaler_scale
    - fax_adjusted_width
    - TIFFSetField
    - gs_revision_number
    - localtime
    - strlen
    - strncpy
    - gs_sprintf
    - memset
    - time
    linkageType: ''
    returnType: int
    signature: "int tiff_set_fields_for_printer(gx_device_printer *pdev,\n                                TIFF
      \             *tif,\n                                int                factor,\n
      \                               int                adjustWidth,\n                                bool
      \              writedatetime)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:460,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:461,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:461,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:468,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:470,1
    - Dst: min_feature_size_init
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:474,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:481,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:483,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:485,1
    - Dst: min_feature_size_process
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:489,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:497,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:501,1
    - Dst: min_feature_size_process
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:506,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:507,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:511,1
    - Dst: min_feature_size_dnit
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:514,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:515,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 3
    argNames:
    - dev
    - tif
    - min_feature_size
    argTypes:
    - gx_device_printer*
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 518
    functionName: tiff_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - gs_alloc_bytes
    - TIFFCheckpointDirectory
    - gdev_prn_copy_scan_lines
    - min_feature_size_dnit
    - max
    - TIFFScanlineSize
    - memset
    - gdev_mem_bytes_per_scan_line
    - TIFFWriteDirectory
    - min_feature_size_init
    - return_error
    - min_feature_size_process
    - TIFFWriteScanline
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int tiff_print_page(gx_device_printer *dev, TIFF *tif, int min_feature_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:531,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:533,1
    - Dst: gsicc_link_t*::procs::map_buffer
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - arg
    - dst
    - src
    - w
    - h
    - raster
    argTypes:
    - void*
    - byte**
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 538
    functionName: tiff_chunky_post_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - gsicc_init_buffer
    - gsicc_link_t*::procs::map_buffer
    linkageType: ''
    returnType: int
    signature: "int tiff_chunky_post_cm(void  *arg, byte **dst, byte **src, int w,
      int h,\n    int raster)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:550,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:551,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:551,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:557,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:564,1
    - Dst: gx_downscaler_init_cm
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:569,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:579,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:581,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:582,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:586,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:590,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:596,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:598,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:599,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - dev
    - tif
    - params
    - aw
    - bpc
    - num_comps
    argTypes:
    - gx_device_printer*
    - TIFF*
    - gx_downscaler_params*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 602
    functionName: tiff_downscale_and_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - return_error
    - max
    - gx_downscaler_init_cm
    - TIFFScanlineSize
    - gdev_mem_bytes_per_scan_line
    - gx_downscaler_init
    - TIFFWriteDirectory
    - TIFFWriteScanline
    - TIFFCheckpointDirectory
    - gx_downscaler_getbits
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int tiff_downscale_and_print_page(gx_device_printer *dev, TIFF *tif,\n
      \                             gx_downscaler_params *params,\n                              int
      aw, int bpc, int num_comps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:625,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - param
    - id
    argTypes:
    - gs_param_string*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 629
    functionName: tiff_compression_param_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 1
    functionsReached:
    - return_error
    - param_string_from_string
    linkageType: ''
    returnType: int
    signature: int tiff_compression_param_string(gs_param_string *param, uint16 id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:636,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:637,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtifs.c:642,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - param
    argTypes:
    - uint16*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 643
    functionName: tiff_compression_id
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 1
    functionsReached:
    - return_error
    - strlen
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int tiff_compression_id(uint16 *id, gs_param_string *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 2
    argCount: 2
    argNames:
    - compression
    - depth
    argTypes:
    - uint16
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 657
    functionName: tiff_compression_allowed
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtifs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tiff_compression_allowed(uint16 compression, byte depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: tiffscaled_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int tiffscaled_spec_op(gx_device *dev_, int op, void *data, int datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:290,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:291,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:292,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:293,1
    - Dst: tiff_set_compression
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - tif
    - bits_per_sample
    - compression
    - max_strip_size
    argTypes:
    - gx_device_printer*
    - TIFF*
    - unsigned short
    - int
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: tiff_set_gray_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - tiff_set_compression
    linkageType: ''
    returnType: void
    signature: "void tiff_set_gray_fields(gx_device_printer *pdev, TIFF *tif,\n                     unsigned
      short bits_per_sample,\n                     int compression,\n                     long
      max_strip_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:305,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:306,1
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:308,1
    - Dst: tiff_set_gray_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:312,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 315
    functionName: tiffgray_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gp_ftell
    - tiff_set_gray_fields
    - return_error
    - tiff_print_page
    - gdev_tiff_begin_page
    linkageType: ''
    returnType: int
    signature: int tiffgray_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:323,1
    - Dst: tiff_set_gray_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:327,1
    - Dst: tiff_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: tiffscaled_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiff_set_gray_fields
    - gdev_tiff_begin_page
    - tiff_downscale_and_print_page
    linkageType: ''
    returnType: int
    signature: int tiffscaled_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:343,1
    - Dst: tiff_set_icc_color_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:349,1
    - Dst: tiff_set_gray_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:353,1
    - Dst: tiff_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: tiffscaled8_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiff_set_gray_fields
    - gdev_tiff_begin_page
    - tiff_set_icc_color_fields
    - tiff_downscale_and_print_page
    linkageType: ''
    returnType: int
    signature: int tiffscaled8_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:376,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:379,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:382,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:385,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:386,1
    - Dst: tiff_set_compression
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - tfdev
    argTypes:
    - gx_device_tiff*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 390
    functionName: tiff_set_rgb_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - tiff_set_compression
    linkageType: ''
    returnType: void
    signature: void tiff_set_rgb_fields(gx_device_tiff *tfdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:399,1
    - Dst: tiff_set_icc_color_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:404,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:408,1
    - Dst: tiff_set_rgb_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:409,1
    - Dst: tiff_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:412,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 416
    functionName: tiffscaled24_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - tiff_downscale_and_print_page
    - tiff_set_rgb_fields
    - gdev_tiff_begin_page
    - tiff_set_icc_color_fields
    linkageType: ''
    returnType: int
    signature: int tiffscaled24_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:424,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:425,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:426,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:427,1
    - Dst: tiff_set_compression
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - tif
    - bits_per_sample
    - compression
    - max_strip_size
    argTypes:
    - gx_device_printer*
    - TIFF*
    - short
    - uint16
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 430
    functionName: tiff_set_cmyk_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - tiff_set_compression
    linkageType: ''
    returnType: void
    signature: "void tiff_set_cmyk_fields(gx_device_printer *pdev, TIFF *tif,\n                     short
      bits_per_sample,\n                     uint16 compression,\n                     long
      max_strip_size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:438,1
    - Dst: tiff_set_icc_color_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:444,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:448,1
    - Dst: tiff_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:452,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 432
    functionDepth: 3
    functionLinenumber: 432
    functionLinenumberEnd: 456
    functionName: tiffscaled32_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiff_set_cmyk_fields
    - gdev_tiff_begin_page
    - tiff_set_icc_color_fields
    - tiff_downscale_and_print_page
    linkageType: ''
    returnType: int
    signature: int tiffscaled32_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:464,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:468,1
    - Dst: tiff_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 458
    functionDepth: 3
    functionLinenumber: 458
    functionLinenumberEnd: 478
    functionName: tiffscaled4_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiff_set_cmyk_fields
    - gdev_tiff_begin_page
    - tiff_downscale_and_print_page
    linkageType: ''
    returnType: int
    signature: int tiffscaled4_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:487,1
    - Dst: tiff_set_gray_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:491,1
    - Dst: tiff_set_rgb_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:495,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:498,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 506
    functionName: tiff_set_icc_color_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 3
    functionsReached:
    - tiff_set_gray_fields
    - TIFFSetField
    - tiff_set_rgb_fields
    - tiff_set_cmyk_fields
    linkageType: ''
    returnType: int
    signature: int tiff_set_icc_color_fields(gx_device_printer *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 516
    functionName: tiffsep_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int tiffsep_spec_op(gx_device *dev_, int op, void *data, int datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_map_color_rgb
    - ','
    - p_map_cmyk_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    functionName: cmyk_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmyk_procs(p_map_color_rgb, p_map_cmyk_color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:581,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:582,1
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:584,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:588,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:594,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 574
    functionDepth: 3
    functionLinenumber: 574
    functionLinenumberEnd: 595
    functionName: tiffcmyk_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gp_ftell
    - tiff_set_cmyk_fields
    - return_error
    - tiff_print_page
    - gdev_tiff_begin_page
    linkageType: ''
    returnType: int
    signature: int tiffcmyk_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: warning_given
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool warning_given
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:669,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 673
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(tiffsep_device_enum_ptrs, tiffsep_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:678,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - RELOC_PREFIX
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(tiffsep_device_reloc_ptrs, tiffsep_device
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devn_free_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:696,1
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 698
    functionName: tiffsep_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - devn_free_params
    - gx_device_finalize
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END tiffsep_device_finalize(const gs_memory_t *cmem, void
      *vpdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 795
    functionName: prn_device_body_rest_
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_device_body_rest_(print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 887
    functionName: tiffsep_gray_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gray_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void tiffsep_gray_cs_to_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: tiffsep_rgb_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void tiffsep_rgb_cs_to_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                  frac r, frac g, frac b, frac out[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: tiffsep_ret_devn_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:902,1
    - Dst: cmyk_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:931,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 933
    functionName: tiffsep_cmyk_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_devn_cm
    - tiffsep_ret_devn_params
    linkageType: ''
    returnType: void
    signature: "void tiffsep_cmyk_cs_to_cm(gx_device * dev,\n                frac
      c, frac m, frac y, frac k, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 949
    functionName: tiffsep_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      tiffsep_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:964,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:967,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 970
    functionName: tiffsep_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index tiffsep_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 990
    functionName: tiffsep_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tiffsep_decode_color(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1003
    functionName: tiffsep_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - update_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: int
    signature: int tiffsep_update_spot_equivalent_colors(gx_device * dev, const gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: tiffsep_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      tiffsep_ret_devn_params(gx_device * dev)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1021,1
    - Dst: devn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1028,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1034,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1036,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1038,1
    - Dst: tiff_compression_param_string
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1040,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1041,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1043,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1045,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1047,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1049,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1051,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1053,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 27
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1059
    functionName: tiffsep_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_bool
    - devn_get_params
    - tiff_compression_param_string
    - param_write_long
    - gx_downscaler_write_params
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int tiffsep_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1072,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1075,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1082,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1084,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1090,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1092,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1097,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1099,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1106,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1114,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1121,1
    - Dst: tiff_compression_id
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1123,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1125,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1127,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1133,1
    - Dst: tiff_compression_allowed
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1134,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1135,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1137,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1138,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1144,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1147,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1158,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1163,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1170,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1173,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1181,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1185,1
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1189,1
    - Dst: devn_printer_put_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1194,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 104
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1198
    functionName: tiffsep_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiff_compression_allowed
    - gx_downscaler_read_params
    - devn_printer_put_params
    - return_error
    - tiff_compression_id
    - param_read_int
    - emprintf1
    - param_read_long
    - param_signal_error
    - param_read_bool
    - errprintf
    - dev_proc
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int tiffsep_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: tiffsep_put_params
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1206,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1210,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1211,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1216
    functionName: tiffsep1_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - tiffsep_put_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int tiffsep1_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: tiff_set_handlers
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1234,1
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1265,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1275,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1277,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1280
    functionName: tiffsep1_prn_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - dev_proc
    - gdev_prn_open_planar
    - tiff_set_handlers
    linkageType: ''
    returnType: int
    signature: int tiffsep1_prn_open(gx_device * pdev)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1292,1
    - Dst: number_output_separations
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1295,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1303,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1305,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1307,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1308,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1314,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1315,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1317,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1327,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1329,1
    - Dst: gs_parsed_file_name_t::iodev::procs::delete_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1330,1
    - Dst: gs_parsed_file_name_t::iodev::procs::delete_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1332,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1334,1
    - Dst: build_comp_to_sep_map
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1337,1
    - Dst: create_separation_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1343,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1348,1
    - Dst: gs_remove_outputfile_control_path
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1350,1
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1357,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1365,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1367
    functionName: tiffsep1_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gdev_prn_close
    - gx_parse_output_file_name
    - create_separation_file_name
    - strlen
    - TIFFCleanup
    - gs_remove_outputfile_control_path
    - iodev_default
    - gs_sprintf
    - build_comp_to_sep_map
    - gx_device_close_output_file
    - number_output_separations
    - return_error
    - gs_note_error
    - gs_parsed_file_name_t::iodev::procs::delete_file
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int tiffsep1_prn_close(gx_device * pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sep1_ht_order_to_thresholds
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1385
    functionName: sep1_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - sep1_ht_order_to_thresholds
    linkageType: ''
    returnType: int
    signature: "int sep1_fill_path(gx_device * pdev, const gs_gstate * pgs,\n                 gx_path
      * ppath, const gx_fill_params * params,\n                 const gx_device_color
      * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1408,1
    - Dst: devn_get_color_comp_index
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1409,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1421,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1422,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1401
    functionDepth: 1
    functionLinenumber: 1401
    functionLinenumberEnd: 1427
    functionName: tiffsep_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - strncmp
    - devn_get_color_comp_index
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: "int tiffsep_get_color_comp_index(gx_device * dev, const char * pname,\n
      \                               int name_size, int component_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_good_char
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1465,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - pdev
    - buffer
    - max_size
    - sep_num
    - escape
    argTypes:
    - tiffsep_device*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1484
    functionName: copy_separation_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gp_file_name_good_char
    linkageType: ''
    returnType: void
    signature: "void copy_separation_name(tiffsep_device * pdev,\n                char
      * buffer, int max_size, int sep_num, int escape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1494,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1500,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1501,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1502,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1508,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1509,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1510,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1511,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - double_f
    argTypes:
    - tiffsep_device*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1519
    functionName: length_base_file_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - toupper
    - strlen
    linkageType: ''
    returnType: int
    signature: int length_base_file_name(tiffsep_device * pdev, bool *double_f)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: length_base_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1529,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1538,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1543,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1544,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1545,1
    - Dst: copy_separation_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1550,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1555,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1556,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1560,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1564,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1565,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1566,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1569,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1570,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1571,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - pdev
    - buffer
    - max_size
    - sep_num
    - use_sep_name
    argTypes:
    - tiffsep_device*
    - char*
    - uint
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1575
    functionName: create_separation_file_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 1
    functionsReached:
    - strcat
    - length_base_file_name
    - copy_separation_name
    - strlen
    - gs_sprintf
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: "int create_separation_file_name(tiffsep_device * pdev, char * buffer,\n
      \                               uint max_size, int sep_num, bool use_sep_name)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - num_dev_comp
    - num_std_colorants
    - num_order
    - num_spot
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: number_output_separations
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int number_output_separations(int num_dev_comp, int num_std_colorants,\n
      \                                       int num_order, int num_spot)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - map_comp_to_sep
    argTypes:
    - tiffsep_device*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1621
    functionDepth: 0
    functionLinenumber: 1621
    functionLinenumberEnd: 1641
    functionName: build_comp_to_sep_map
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void build_comp_to_sep_map(tiffsep_device * pdev, short * map_comp_to_sep)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: tiff_set_handlers
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1656,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1677,1
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1746,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1756,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1758,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1769,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1773,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1777,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1782,1
    - Dst: tiffsep_device*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1786,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1787,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 77
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1792
    functionName: tiffsep_prn_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiffsep_device*::icclink::procs::free_link
    - dev_proc
    - gsicc_free_link_dev
    - gsicc_alloc_link_dev
    - tiff_set_handlers
    - return_error
    - gdev_prn_open_planar
    linkageType: ''
    returnType: int
    signature: int tiffsep_prn_open(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1800,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tfdev
    - fn
    - comp_num
    argTypes:
    - tiffsep_device*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1811
    functionName: tiffsep_close_sep_file
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - gx_device_close_output_file
    linkageType: ''
    returnType: int
    signature: int tiffsep_close_sep_file(tiffsep_device *tfdev, const char *fn, int
      comp_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1819,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tfdev
    - fn
    argTypes:
    - tiffsep_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1813
    functionDepth: 1
    functionLinenumber: 1813
    functionLinenumberEnd: 1829
    functionName: tiffsep_close_comp_file
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - gx_device_close_output_file
    linkageType: ''
    returnType: int
    signature: int tiffsep_close_comp_file(tiffsep_device *tfdev, const char *fn)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: number_output_separations
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1844,1
    - Dst: tiffsep_device*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1847,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1848,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1852,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1854,1
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1857,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1860,1
    - Dst: build_comp_to_sep_map
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1865,1
    - Dst: create_separation_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1871,1
    - Dst: tiffsep_close_sep_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1876,1
    - Dst: gs_remove_outputfile_control_path
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1878,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1887,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1832
    functionDepth: 2
    functionLinenumber: 1832
    functionLinenumberEnd: 1889
    functionName: tiffsep_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - tiffsep_device*::icclink::procs::free_link
    - gsicc_free_link_dev
    - gs_alloc_bytes
    - gdev_prn_close
    - TIFFCleanup
    - create_separation_file_name
    - gs_remove_outputfile_control_path
    - tiffsep_close_sep_file
    - build_comp_to_sep_map
    - number_output_separations
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int tiffsep_prn_close(gx_device * pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1944,1
    - Dst: tiffsep_device*::icclink::procs::map_buffer
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:1946,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 7
    argNames:
    - params
    - dest
    - width
    - num_comp
    - cmyk_map
    - num_order
    - tfdev
    argTypes:
    - gs_get_bits_params_t*
    - byte*
    - int
    - int
    - cmyk_composite_map*
    - int
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1894
    functionDepth: 1
    functionLinenumber: 1894
    functionLinenumberEnd: 1949
    functionName: build_cmyk_raster_line_fromplanar
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gsicc_init_buffer
    - tiffsep_device*::icclink::procs::map_buffer
    linkageType: ''
    returnType: void
    signature: "void build_cmyk_raster_line_fromplanar(gs_get_bits_params_t *params,
      byte * dest,\n                                  int width, int num_comp,\n                                  cmyk_composite_map
      * cmyk_map, int num_order,\n                                  tiffsep_device
      * const tfdev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 7
    argNames:
    - params
    - dest
    - width
    - num_comp
    - cmyk_map
    - num_order
    - tfdev
    argTypes:
    - gs_get_bits_params_t*
    - byte*
    - int
    - int
    - cmyk_composite_map*
    - int
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1951
    functionDepth: 0
    functionLinenumber: 1951
    functionLinenumberEnd: 1997
    functionName: build_cmyk_raster_line_fromplanar_1bpc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void build_cmyk_raster_line_fromplanar_1bpc(gs_get_bits_params_t *params,
      byte * dest,\n                                       int width, int num_comp,\n
      \                                      cmyk_composite_map * cmyk_map, int num_order,\n
      \                                      tiffsep_device * const tfdev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 7
    argNames:
    - params
    - dest
    - width
    - num_comp
    - cmyk_map
    - num_order
    - tfdev
    argTypes:
    - gs_get_bits_params_t*
    - byte*
    - int
    - int
    - cmyk_composite_map*
    - int
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2041
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2041
    functionName: build_cmyk_raster_line_fromplanar_2bpc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void build_cmyk_raster_line_fromplanar_2bpc(gs_get_bits_params_t *params,
      byte * dest,\n                                       int width, int num_comp,\n
      \                                      cmyk_composite_map * cmyk_map, int num_order,\n
      \                                      tiffsep_device * const tfdev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 7
    argNames:
    - params
    - dest
    - width
    - num_comp
    - cmyk_map
    - num_order
    - tfdev
    argTypes:
    - gs_get_bits_params_t*
    - byte*
    - int
    - int
    - cmyk_composite_map*
    - int
    - tiffsep_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2091
    functionName: build_cmyk_raster_line_fromplanar_4bpc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void build_cmyk_raster_line_fromplanar_4bpc(gs_get_bits_params_t *params,
      byte * dest,\n                                       int width, int num_comp,\n
      \                                      cmyk_composite_map * cmyk_map, int num_order,\n
      \                                      tiffsep_device * const tfdev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2109,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2110,1
    - Dst: gx_ht_construct_threshold
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2122,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2124,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pdev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2093
    functionDepth: 1
    functionLinenumber: 2093
    functionLinenumberEnd: 2145
    functionName: sep1_ht_order_to_thresholds
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 1
    functionsReached:
    - return_error
    - emprintf
    - gx_ht_construct_threshold
    linkageType: ''
    returnType: int
    signature: int sep1_ht_order_to_thresholds(gx_device *pdev, const gs_gstate *pgs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2160,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2164,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2171,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2173,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2174,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2176,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2182,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2185,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2198,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - tfdev
    - num_comp
    - cmyk_map
    argTypes:
    - tiffsep_device*
    - int
    - cmyk_composite_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2202
    functionName: print_cmyk_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - strcpy
    - memcpy
    - return_error
    - dmlprintf5
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int print_cmyk_equivalent_colors(tiffsep_device *tfdev, int num_comp,
      cmyk_composite_map *cmyk_map)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: length_base_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2222,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2231,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2232,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2234,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2236,1
    - Dst: copy_separation_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2241,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2243,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2255,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2256,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2258,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2261,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2268,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2270,1
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2273,1
    - Dst: tiff_from_filep
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2278,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2280,1
    - Dst: tiff_set_fields_for_printer
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2285,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2288,1
    - Dst: tiff_set_cmyk_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2292,1
    - Dst: number_output_separations
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2301,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2305,1
    - Dst: create_separation_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2312,1
    - Dst: tiffsep_close_sep_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2323,1
    - Dst: gs_remove_outputfile_control_path
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2325,1
    - Dst: gs_add_outputfile_control_path
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2331,1
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2335,1
    - Dst: tiff_from_filep
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2340,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2344,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2352,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2354,1
    - Dst: tiff_set_fields_for_printer
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2359,1
    - Dst: tiff_set_gray_fields
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2360,1
    - Dst: build_cmyk_map
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2369,1
    - Dst: print_cmyk_equivalent_colors
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2371,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2378,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2387,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2389,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2395,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2396,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2408,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2418,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2422,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2438,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2443,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2458,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2462,1
    - Dst: gx_downscaler_init_planar
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2467,1
    - Dst: gx_downscaler_get_bits_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2475,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2491,1
    - Dst: build_cmyk_raster_line_fromplanar
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2499,1
    - Dst: build_cmyk_raster_line_fromplanar_4bpc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2504,1
    - Dst: build_cmyk_raster_line_fromplanar_2bpc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2509,1
    - Dst: build_cmyk_raster_line_fromplanar_1bpc
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2514,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2529,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2534,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2538,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2539,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2544,1
    - Dst: create_separation_file_name
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2548,1
    - Dst: tiffsep_close_sep_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2553,1
    - Dst: gs_remove_outputfile_control_path
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2555,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2562,1
    - Dst: tiffsep_close_comp_file
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2563,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2571,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 241
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2211
    functionDepth: 3
    functionLinenumber: 2211
    functionLinenumberEnd: 2573
    functionName: tiffsep_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - TIFFCheckpointDirectory
    - strlen
    - build_cmyk_raster_line_fromplanar_4bpc
    - gs_remove_outputfile_control_path
    - emprintf
    - TIFFWriteScanline
    - build_cmyk_raster_line_fromplanar_1bpc
    - gp_ftell
    - gx_parse_output_file_name
    - build_cmyk_raster_line_fromplanar_2bpc
    - tiffsep_close_sep_file
    - build_cmyk_map
    - TIFFWriteDirectory
    - tiff_set_gray_fields
    - gs_note_error
    - tiffsep_close_comp_file
    - gx_device_open_output_file
    - dmprintf
    - gs_free_object
    - print_cmyk_equivalent_colors
    - gx_downscaler_init_planar
    - tiff_set_cmyk_fields
    - dmlprintf1
    - number_output_separations
    - tiff_from_filep
    - dmlprintf
    - gx_downscaler_scale
    - length_base_file_name
    - copy_separation_name
    - build_cmyk_raster_line_fromplanar
    - create_separation_file_name
    - tiff_set_fields_for_printer
    - gs_add_outputfile_control_path
    - return_error
    - bitmap_raster
    - gx_downscaler_get_bits_rectangle
    linkageType: ''
    returnType: int
    signature: int tiffsep_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: number_output_separations
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2584,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2590,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ht
    - arg
    argTypes:
    - cal_halftone_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2592
    functionName: ht_callback
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - TIFFWriteScanline
    - number_output_separations
    linkageType: ''
    returnType: void
    signature: void ht_callback(cal_halftone_data_t *ht, void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_change_color_model
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2957,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2963,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2981,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2982,1
    - Dst: tiff_open
      Src: /src/libspectre/ghostscript/devices/gdevtsep.c:2984,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2985
      start: 2947
    functionDepth: 2
    functionLinenumber: 2947
    functionLinenumberEnd: 2985
    functionName: tiff_open_s
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtsep.c
    functionUses: 0
    functionsReached:
    - check_device_separable
    - tiff_open
    - memset
    - gx_change_color_model
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int tiff_open_s(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: stc_proc_dither
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_proc_dither(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Dither
    - ','
    - Action
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: STC_TYPESWITCH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STC_TYPESWITCH(Dither,Action)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:107,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:110,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:113,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:116,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:117,1
    - Dst: tiff_set_compression
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - tfdev
    argTypes:
    - gx_device_tiff*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 121
    functionName: tiff_set_rgb_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfnx.c
    functionUses: 2
    functionsReached:
    - TIFFSetField
    - tiff_set_compression
    linkageType: ''
    returnType: void
    signature: void tiff_set_rgb_fields(gx_device_tiff *tfdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:129,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:133,1
    - Dst: tiff_set_rgb_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:134,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:136,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:141,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:146,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:149,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:151,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:158,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:169,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:171,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 177
    functionName: tiff12_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfnx.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - gs_alloc_bytes
    - return_error
    - gdev_prn_raster
    - gdev_prn_copy_scan_lines
    - memset
    - tiff_set_rgb_fields
    - TIFFWriteDirectory
    - TIFFCheckpointDirectory
    - gdev_tiff_begin_page
    - TIFFWriteScanline
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int tiff12_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_tiff_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:185,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:189,1
    - Dst: tiff_set_rgb_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:191,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfnx.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: tiff_rgb_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfnx.c
    functionUses: 0
    functionsReached:
    - tiff_print_page
    - TIFFSetField
    - gdev_tiff_begin_page
    - tiff_set_rgb_fields
    linkageType: ''
    returnType: int
    signature: int tiff_rgb_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - procs
    - ','
    - dname
    - ','
    - w10
    - ','
    - h10
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - ','
    - color_bits
    - ','
    - print_page_copies
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: HPJET_DEVICE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HPJET_DEVICE(procs, dname, w10, h10, xdpi, ydpi, lm, bm, rm, tm, color_bits,
      print_page_copies)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:252,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:263,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:268,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:274,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 275
    functionName: hpjet_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    - gdev_pcl_paper_size
    linkageType: ''
    returnType: int
    signature: int hpjet_open(gx_device * pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:283,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:289,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:291,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:294,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 295
    functionName: hpjet_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gp_fputs
    - gdev_prn_open_printer
    linkageType: ''
    returnType: int
    signature: int hpjet_close(gx_device * pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:301,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:306,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:309,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:311,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: ljet4pjl_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gp_fputs
    - gdev_prn_open_printer
    linkageType: ''
    returnType: int
    signature: int ljet4pjl_close(gx_device *pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:330,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - buf
    - str
    argTypes:
    - gx_device_printer*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 333
    functionName: hpjet_make_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void hpjet_make_init(gx_device_printer *pdev, char *buf, const char
      *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:342,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 345
    functionName: djet_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int djet_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                      int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:353,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 356
    functionName: djet500_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int djet500_print_page_copies(gx_device_printer * pdev, gp_file *
      prn_stream,\n                          int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:368,1
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:369,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: fs600_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int fs600_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                       int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:381,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 384
    functionName: ljet_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljet_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                      int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:392,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 2
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: ljetplus_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljetplus_print_page_copies(gx_device_printer * pdev, gp_file *
      prn_stream,\n                           int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:404,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: ljet2p_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljet2p_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                        int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:416,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: ljet3_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljet3_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                       int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:431,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:432,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 435
    functionName: ljet3d_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljet3d_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                        int num_copies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:447,1
    - Dst: gdev_pcl_page_orientation
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:448,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:449,1
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:450,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: ljet4_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - dljet_mono_print_page_copies
    - hpjet_make_init
    - gdev_pcl_page_orientation
    linkageType: ''
    returnType: int
    signature: "int ljet4_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                       int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:481,1
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:482,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:483,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 487
    functionName: ljet4d_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int ljet4d_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                        int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:498,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 502
    functionName: ljet4pjl_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - dljet_mono_print_page_copies
    linkageType: ''
    returnType: int
    signature: "int ljet4pjl_print_page_copies(gx_device_printer *pdev, gp_file *prn_stream,\n
      \                       int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:512,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: lp2563_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - dljet_mono_print_page_copies
    - hpjet_make_init
    linkageType: ''
    returnType: int
    signature: "int lp2563_print_page_copies(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                        int num_copies)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:526,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:527,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:528,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:529,1
    - Dst: hpjet_make_init
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:531,1
    - Dst: dljet_mono_print_page_copies
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:533,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:537,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:539,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:540,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:541,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 545
    functionName: oce9050_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - hpjet_make_init
    - dljet_mono_print_page_copies
    linkageType: ''
    returnType: int
    signature: "int oce9050_print_page_copies(gx_device_printer * pdev, gp_file *
      prn_stream,\n                          int num_copies)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:551,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:555,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:559,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: hpjet_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - param_write_bool
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int hpjet_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:577,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:580,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:583,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:590,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevdjet.c:595,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 610
    functionName: hpjet_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdjet.c
    functionUses: 0
    functionsReached:
    - param_read_bool
    - param_read_int
    - param_read_null
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int hpjet_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p_map_color_rgb
    - ','
    - p_map_cmyk_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: bmp_cmyk_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bmp_cmyk_procs(p_map_color_rgb, p_map_cmyk_color)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:144,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:152,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:153,1
    - Dst: write_bmp_header
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:157,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:165,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:168,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:172,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 175
    functionName: bmp_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gdev_prn_raster
    - write_bmp_header
    - gdev_prn_copy_scan_lines
    - memset
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int bmp_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:186,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:192,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:193,1
    - Dst: write_bmp_separated_header
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:200,1
    - Dst: gx_render_plane_init
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:207,1
    - Dst: gdev_prn_get_lines
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:212,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:217,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevbmp.c:222,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 225
    functionName: bmp_cmyk_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbmp.c
    functionUses: 0
    functionsReached:
    - write_bmp_separated_header
    - gs_alloc_bytes
    - gdev_prn_get_lines
    - memset
    - return_error
    - gx_render_plane_init
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int bmp_cmyk_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:38,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:40,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:46,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:51,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:55,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:63,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:67,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:74,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:80,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:83,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:88,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdev4081.c:91,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 93
    functionName: r4081_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev4081.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gdev_prn_copy_scan_lines
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - return_error
    - gp_fprintf
    - gs_free
    - gp_fwrite
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int r4081_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: assign_ushort
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_ushort(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: assign_ushort
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_ushort(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:231,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:233,1
    - Dst: pcx_write_page
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: pcxmono_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached:
    - assign_ushort
    - pcx_write_page
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pcxmono_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:255,1
    - Dst: pcx_write_page
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 258
    functionName: pcx16_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcx_write_page
    linkageType: ''
    returnType: int
    signature: int pcx16_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:271,1
    - Dst: pcx_write_page
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:274,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:276,1
    - Dst: pc_write_palette
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 280
    functionName: pcx256_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached:
    - assign_ushort
    - gp_fputc
    - pcx_write_page
    - pc_write_palette
    linkageType: ''
    returnType: int
    signature: int pcx256_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:292,1
    - Dst: pcx_write_page
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: pcx24b_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached:
    - assign_ushort
    - pcx_write_page
    linkageType: ''
    returnType: int
    signature: int pcx24b_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:314,1
    - Dst: pcx_write_page
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 317
    functionName: pcxcmyk_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 0
    functionsReached:
    - memcpy
    - pcx_write_page
    linkageType: ''
    returnType: int
    signature: int pcxcmyk_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:326,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:327,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:331,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:337,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:341,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:342,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:343,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:344,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:345,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:350,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:359,1
    - Dst: pcx_write_rle
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:368,1
    - Dst: pcx_write_rle
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:398,1
    - Dst: pcx_write_rle
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:408,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:410,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:416,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:423,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 4
    argNames:
    - pdev
    - file
    - phdr
    - planar
    argTypes:
    - gx_device_printer*
    - gp_file*
    - pcx_header*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 426
    functionName: pcx_write_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 5
    functionsReached:
    - gs_alloc_bytes
    - ROUND_UP
    - gs_note_error
    - gdev_prn_raster
    - gdev_prn_get_bits
    - gp_fputc
    - return_error
    - pcx_write_rle
    - assign_ushort
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pcx_write_page(gx_device_printer * pdev, gp_file * file, pcx_header
      * phdr,\n               bool planar)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:447,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:455,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:456,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:460,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpcx.c:462,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - from
    - end
    - step
    - file
    argTypes:
    - byte*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 465
    functionName: pcx_write_rle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcx.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void pcx_write_rle(const byte * from, const byte * end, int step, gp_file
      * file)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:82,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:91,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:92,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:97,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:101,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:107,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:112,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:130,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:174,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:178,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:188,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:191,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:198,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:201,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:222,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:237,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:245,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:262,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:265,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:271,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:276,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:277,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:279,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevsj48.c:282,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 126
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 284
    functionName: sj48_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsj48.c
    functionUses: 0
    functionsReached:
    - dev_print_scan_lines
    - gp_fputs
    - gp_fflush
    - gdev_prn_copy_scan_lines
    - gx_device_raster
    - gdev_prn_get_bits
    - gp_fprintf
    - memset
    - gp_fputc
    - gs_malloc
    - gs_note_error
    - gs_free
    - min
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int sj48_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: stc_proc_iconvert
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_proc_iconvert(Name)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:255,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:255,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:261,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:265,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:278,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:286,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:290,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:292,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:322,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:324,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:330,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:334,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:336,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 70
    argCount: 1
    argNames:
    - sd
    argTypes:
    - stcolor_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 341
    functionName: stc_print_setup
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - dev_b_margin
    - dev_l_margin
    - dev_t_margin
    - memcpy
    - dev_r_margin
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: int
    signature: int stc_print_setup(stcolor_device *sd)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: stc_print_setup
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:373,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:373,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:381,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:382,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:390,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:390,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:392,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:403,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:410,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:424,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:428,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:437,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:448,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:451,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:456,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:472,1
    - Dst: stc_proc_iconvert
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:484,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:490,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:492,1
    - Dst: sigemptyset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:541,1
    - Dst: sigaddset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:542,1
    - Dst: sigprocmask
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:543,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:587,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:595,1
    - Dst: stc_iswhite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:601,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:660,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:698,1
    - Dst: stc_print_delta
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:723,1
    - Dst: stc_print_weave
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:724,1
    - Dst: stc_print_bands
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:725,1
    - Dst: sigpending
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:728,1
    - Dst: sigismember
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:729,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:730,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:731,1
    - Dst: sigprocmask
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:732,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:740,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:741,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:742,1
    - Dst: sigprocmask
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:745,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:757,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:760,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:763,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:767,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:770,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:778,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:782,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:790,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:796,1
    CyclomaticComplexity: 102
    EdgeCount: 102
    ICount: 263
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 800
    functionName: stc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_print_bands
    - fputs
    - gp_fwrite
    - dev_b_margin
    - countof
    - gp_fflush
    - gdev_prn_get_bits
    - sigpending
    - stc_proc_iconvert
    - memset
    - sigismember
    - sigaddset
    - gp_fputc
    - fflush
    - stc_print_weave
    - stc_iswhite
    - sigprocmask
    - sigemptyset
    - gdev_prn_raster
    - dev_t_margin
    - stc_print_setup
    - stc_print_delta
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: int
    signature: int stc_print_page(gx_device_printer * pdev, gp_file *prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:809,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:813,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:819,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - sd
    - prt_pixels
    - ext_data
    argTypes:
    - stcolor_device*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 822
    functionName: stc_iswhite
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - countof
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool stc_iswhite(stcolor_device *sd, int prt_pixels,byte *ext_data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: STC_TYPESWITCH
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:881,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 4
    argNames:
    - sd
    - ext_data
    - prt_pixels
    - alg_line
    argTypes:
    - stcolor_device*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 892
    functionName: stc_any_depth
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - STC_TYPESWITCH
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stc_any_depth(stcolor_device *sd,byte *ext_data,int prt_pixels,byte *alg_line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: stc_storeapc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_storeapc(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - sd
    - ext_data
    - prt_pixels
    - alg_line
    argTypes:
    - stcolor_device*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 913
    functionName: stc_rgb24_long
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stc_rgb24_long(stcolor_device *sd,byte *ext_data,int prt_pixels,byte *alg_line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - sd
    - ext_data
    - prt_pixels
    - alg_line
    argTypes:
    - stcolor_device*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 936
    functionName: stc_cmyk32_long
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stc_cmyk32_long(stcolor_device *sd,byte *ext_data,int prt_pixels,byte *alg_line)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 941
    functionDepth: 0
    functionLinenumber: 941
    functionLinenumberEnd: 975
    functionName: STC_CMYK10_ANY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STC_CMYK10_ANY(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - sd
    - ext_data
    - prt_pixels
    - alg_line
    argTypes:
    - stcolor_device*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: stc_cmyk10_float
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\nstc_cmyk10_float(stcolor_device *sd,\n                byte
      *ext_data,int prt_pixels,byte *alg_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1027
    functionName: STC_CMYK10_DANY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STC_CMYK10_DANY(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sd
    - ext_data
    - prt_pixels
    - alg_line
    argTypes:
    - stcolor_device*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1051
    functionName: stc_any_direct
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      stc_any_direct(stcolor_device *sd,byte *ext_data,int prt_pixels,byte *alg_line)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1093,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - out
    - in
    - width
    argTypes:
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1112
    functionName: stc_rle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int stc_rle(byte *out,const byte *in,int width)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1133,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1136,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1137,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 6
    argNames:
    - sd
    - prn_stream
    - escp_used
    - color
    - m
    - wbytes
    argTypes:
    - stcolor_device*
    - gp_file*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1117
    functionDepth: 1
    functionLinenumber: 1117
    functionLinenumberEnd: 1187
    functionName: stc_print_escpcmd
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int stc_print_escpcmd(stcolor_device *sd, gp_file *prn_stream,\n   int
      escp_used, int color,int m,int wbytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - sd
    - color
    - m
    - npass
    argTypes:
    - stcolor_device*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1192
    functionDepth: 0
    functionLinenumber: 1192
    functionLinenumberEnd: 1205
    functionName: stc_bandwidth
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stc_bandwidth(stcolor_device *sd,int color,int m,int npass)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stc_bandwidth
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1240,1
    - Dst: stc_print_escpcmd
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1242,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1249,1
    - Dst: stc_rle
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1252,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1256,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1266,1
    - Dst: stc_rle
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1269,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1272,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 2
    argNames:
    - sd
    - prn_stream
    argTypes:
    - stcolor_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1279
    functionName: stc_print_weave
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_print_escpcmd
    - stc_rle
    - stc_bandwidth
    - memcpy
    - memset
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void stc_print_weave(stcolor_device *sd, gp_file *prn_stream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stc_bandwidth
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1322,1
    - Dst: stc_print_escpcmd
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1324,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1330,1
    - Dst: stc_rle
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1333,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1337,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 2
    argNames:
    - sd
    - prn_stream
    argTypes:
    - stcolor_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1284
    functionDepth: 2
    functionLinenumber: 1284
    functionLinenumberEnd: 1348
    functionName: stc_print_bands
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_print_escpcmd
    - stc_rle
    - stc_bandwidth
    - memcpy
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void stc_print_bands(stcolor_device *sd, gp_file *prn_stream)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stc_rle
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1399,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1416,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1422,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 61
    argCount: 4
    argNames:
    - out
    - in
    - width
    - seed
    argTypes:
    - byte*
    - byte*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1428
    functionName: stc_deltarow
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - stc_rle
    linkageType: ''
    returnType: int
    signature: int stc_deltarow(byte *out,const byte *in,int width,byte *seed)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1465,1
    - Dst: stc_deltarow
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1509,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1516,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    argCount: 2
    argNames:
    - sd
    - prn_stream
    argTypes:
    - stcolor_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1525
    functionName: stc_print_delta
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_deltarow
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void stc_print_delta(stcolor_device *sd, gp_file *prn_stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1542,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1551,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 2
    argNames:
    - mem
    - stc
    argTypes:
    - gs_memory_t*
    - stc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1560
    functionName: stc_freedata
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void stc_freedata(gs_memory_t *mem, stc_t *stc)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1582,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1591,1
    - Dst: STC_TYPESWITCH
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1597,1
    - Dst: stc_print_setup
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1599,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1612,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1678,1
    - Dst: STC_TYPESWITCH
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1772,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1800,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1801,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1802,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1803,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1804,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1805,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1807,1
    - Dst: stc_map_gray_color
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1810,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1814,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1815,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1816,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1817,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1818,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1819,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1821,1
    - Dst: stc_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1824,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1828,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1829,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1831,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1834,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1835,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1836,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1837,1
    - Dst: stc_map_cmyk10_color
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1839,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1841,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1842,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1843,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1844,1
    - Dst: stc_map_cmyk_color
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1846,1
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1890,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1890,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1892,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1895,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1912,1
    - Dst: stc_freedata
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1916,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1918,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 228
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1566
    functionDepth: 2
    functionLinenumber: 1566
    functionLinenumberEnd: 1921
    functionName: stc_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_map_rgb_color
    - countof
    - stc_map_cmyk10_color
    - param_string_from_string
    - stc_map_gray_color
    - dev_l_margin
    - STC_TYPESWITCH
    - stc_freedata
    - stc_print_setup
    - gdev_prn_open
    - dev_r_margin
    - gs_malloc
    - return_error
    - stc_map_cmyk_color
    - set_dev_proc
    linkageType: ''
    returnType: int
    signature: int stc_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1597
    functionName: stc_sizeofitem
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_sizeofitem(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1761
    functionDepth: 0
    functionLinenumber: 1761
    functionLinenumberEnd: 1771
    functionName: stc_adjvals
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_adjvals(T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stc_freedata
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1929,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1932
      start: 1926
    functionDepth: 2
    functionLinenumber: 1926
    functionLinenumberEnd: 1932
    functionName: stc_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - stc_freedata
    linkageType: ''
    returnType: int
    signature: int stc_close(gx_device *pdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - sd
    - i
    - v
    argTypes:
    - stcolor_device*
    - int
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1937
    functionDepth: 0
    functionLinenumber: 1937
    functionLinenumberEnd: 1978
    functionName: stc_truncate
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_value
    signature: gx_color_value stc_truncate(stcolor_device *sd,int i,gx_color_value
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:1984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sd
    - i
    - v
    argTypes:
    - stcolor_device*
    - int
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1985
      start: 1980
    functionDepth: 1
    functionLinenumber: 1980
    functionLinenumberEnd: 1985
    functionName: stc_truncate1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_truncate
    linkageType: ''
    returnType: gx_color_value
    signature: gx_color_value stc_truncate1(stcolor_device *sd,int i,gx_color_value
      v)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - sd
    - i
    - col
    argTypes:
    - stcolor_device*
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 2017
    functionName: stc_expand
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_value
    signature: gx_color_value stc_expand(stcolor_device *sd,int i,gx_color_index col)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2061,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2063,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2022
    functionDepth: 2
    functionLinenumber: 2022
    functionLinenumberEnd: 2066
    functionName: stc_map_gray_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_truncate
    - stc_truncate1
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index stc_map_gray_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2078
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2078
    functionName: stc_map_color_gray
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_expand
    linkageType: ''
    returnType: int
    signature: int stc_map_color_gray(gx_device *pdev, gx_color_index color,gx_color_value
      prgb[3])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2121,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2122,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2123,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2125,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2126,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2127,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2131
    functionName: stc_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_truncate
    - stc_truncate1
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index stc_map_rgb_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2141,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2142,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2146
    functionName: stc_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_expand
    linkageType: ''
    returnType: int
    signature: int stc_map_color_rgb(gx_device *pdev, gx_color_index color,gx_color_value
      prgb[3])
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2170,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2172,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2222,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2223,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2224,1
    - Dst: stc_truncate1
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2225,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2227,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2228,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2229,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2230,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 85
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2151
    functionDepth: 2
    functionLinenumber: 2151
    functionLinenumberEnd: 2242
    functionName: stc_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_truncate
    - stc_truncate1
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index stc_map_cmyk_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2254,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2255,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2256,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - pdev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2245
    functionDepth: 1
    functionLinenumber: 2245
    functionLinenumberEnd: 2265
    functionName: stc_map_color_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_expand
    linkageType: ''
    returnType: int
    signature: int stc_map_color_cmyk(gx_device *pdev, gx_color_index color,gx_color_value
      cv[4])
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2335,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2336,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2337,1
    - Dst: stc_truncate
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2338,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 113
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2401
    functionName: stc_map_cmyk10_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached:
    - stc_truncate
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index stc_map_cmyk10_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2424,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2429,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2430,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2434,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2435,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2439,1
    - Dst: stc_expand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2440,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - pdev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2453
      start: 2403
    functionDepth: 1
    functionLinenumber: 2403
    functionLinenumberEnd: 2453
    functionName: stc_map_color_cmyk10
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_expand
    linkageType: ''
    returnType: int
    signature: "int stc_map_color_cmyk10(gx_device *pdev, gx_color_index color,\n
      \                    gx_color_value cv[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - A
    - ','
    - D
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2459
    functionDepth: 0
    functionLinenumber: 2459
    functionLinenumberEnd: 2461
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(A, D, S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2462
    functionDepth: 0
    functionLinenumber: 2462
    functionLinenumberEnd: 2466
    functionName: stc_write_null
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_write_null(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - I
    - ','
    - Coding
    - ','
    - Transfer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2467
    functionDepth: 0
    functionLinenumber: 2467
    functionLinenumberEnd: 2482
    functionName: stc_write_xarray
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_write_xarray(I,Coding,Transfer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2489
      start: 2483
    functionDepth: 0
    functionLinenumber: 2483
    functionLinenumberEnd: 2489
    functionName: stc_read_null
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_read_null(N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - I
    - ','
    - Coding
    - ','
    - Transfer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2490
    functionDepth: 0
    functionLinenumber: 2490
    functionLinenumberEnd: 2521
    functionName: stc_read_xarray
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_read_xarray(I,Coding,Transfer)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2535,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2541,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2542,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2545,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2549,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2551,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2559,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2560,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2561,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2563,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2569,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2570,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2571,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2573,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2584,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2585,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2587,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2589,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2590,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2591,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2592,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2593,1
    - Dst: stc_write_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2594,1
    - Dst: stc_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2602,1
    - Dst: stc_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2603,1
    - Dst: stc_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2604,1
    - Dst: stc_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2605,1
    - Dst: stc_write_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2606,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2610,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2611,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2614,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2615,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2617,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2624,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2625,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2627,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2629,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2635,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2637,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2637,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2638,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2638,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2639,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2639,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2641,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2641,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2642,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2642,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2643,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2643,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2647,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2648,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2649,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2651,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2651,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2652,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2652,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2653,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2653,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2654,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2654,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2658,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2659,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2660,1
    - Dst: stc_write_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2661,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2663,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2663,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2664,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2664,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2665,1
    - Dst: stc_write_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2665,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 123
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2669
    functionName: stc_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - stc_write_int
    - param_write_string
    - param_write_null
    - param_string_from_string
    - set_param_array
    - param_write_string_array
    - param_write_bool
    - param_write_float_array
    - stc_write_null
    - stc_write_flag
    - param_write_int
    - stc_write_xarray
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int stc_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Mask
    - ','
    - Name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2579
    functionDepth: 0
    functionLinenumber: 2579
    functionLinenumberEnd: 2583
    functionName: stc_write_flag
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_write_flag(Mask,Name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Mask
    - ','
    - Name
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2598
    functionDepth: 0
    functionLinenumber: 2598
    functionLinenumberEnd: 2601
    functionName: stc_write_int
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_write_int(Mask,Name,Val)
  - BBCount: 103
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2691,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2692,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2699,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2700,1
    - Dst: param_read_string_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2701,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2708,1
    - Dst: stc_putcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2718,1
    - Dst: stc_putcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2719,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2722,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2742,1
    - Dst: stc_putcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2748,1
    - Dst: STC_TYPESWITCH
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2768,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2782,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2796,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2857,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2868,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2888,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2894,1
    - Dst: stc_putcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2900,1
    - Dst: stc_putcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2901,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2908,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2918,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2920,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2926,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2928,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2934,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2936,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2961,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2962,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2963,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2964,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2965,1
    - Dst: stc_read_flag
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2966,1
    - Dst: stc_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2979,1
    - Dst: stc_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2980,1
    - Dst: stc_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2981,1
    - Dst: stc_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2982,1
    - Dst: stc_read_int
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2983,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2987,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2991,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:2999,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3008,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3011,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3019,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3021,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3021,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3022,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3022,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3023,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3023,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3025,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3025,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3026,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3026,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3027,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3027,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3031,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3032,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3033,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3035,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3035,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3036,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3036,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3037,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3037,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3038,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3038,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3042,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3043,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3044,1
    - Dst: stc_read_xarray
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3045,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3047,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3047,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3048,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3048,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3049,1
    - Dst: stc_read_null
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3049,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3081,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3110,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3116,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3118,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3130,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3136,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3138,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3151,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3152,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3161,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3166,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3177,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3182,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3195,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3200,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3205,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3218,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3229,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3242,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3243,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3248,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3254,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3262,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3275,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3285,1
    - Dst: stc_freedata
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3307,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3313,1
    CyclomaticComplexity: 174
    EdgeCount: 174
    ICount: 420
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3320
      start: 2675
    functionDepth: 2
    functionLinenumber: 2675
    functionLinenumberEnd: 3320
    functionName: stc_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - stc_read_xarray
    - stc_putcmp
    - stc_freedata
    - memcmp
    - stc_read_int
    - gdev_prn_put_params
    - param_signal_error
    - countof
    - gs_closedevice
    - stc_read_flag
    - STC_TYPESWITCH
    - param_read_bool
    - param_read_float_array
    - param_read_string
    - param_read_string_array
    - param_read_int
    - stc_read_null
    - memcpy
    - gs_malloc
    - gs_free
    linkageType: ''
    returnType: int
    signature: int stc_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2716
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2716
    functionName: stc_putcmp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_putcmp(Name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Mask
    - ','
    - Name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2960
    functionName: stc_read_flag
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_read_flag(Mask,Name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Mask
    - ','
    - Name
    - ','
    - Val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2971
    functionDepth: 0
    functionLinenumber: 2971
    functionLinenumberEnd: 2978
    functionName: stc_read_int
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stc_read_int(Mask,Name,Val)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 5
    argNames:
    - sdev
    - npixel
    - in
    - buf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3375
    functionName: stc_gscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int stc_gscmyk(stcolor_device *sdev,int npixel,byte *in,byte *buf,byte
      *out)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/gdevstc.c:3429,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 155
    argCount: 5
    argNames:
    - sdev
    - npixel
    - in
    - buf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3582
      start: 3380
    functionDepth: 0
    functionLinenumber: 3380
    functionLinenumberEnd: 3582
    functionName: stc_hscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int stc_hscmyk(stcolor_device *sdev,int npixel,byte *in,byte *buf,byte
      *out)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 32
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 311
    functionName: gsijs_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsijs_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n           gx_color_index color)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - draster
    - id
    - x
    - y
    - w
    - height
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 389
    functionName: gsijs_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsijs_copy_mono(gx_device * dev, const byte * data,\n      int
      dx, int draster, gx_bitmap_id id,\n      int x, int y, int w, int height, gx_color_index
      zero, gx_color_index one)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 13
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 412
    functionName: gsijs_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsijs_fill_mask(gx_device * dev,\n      const byte * data, int
      dx, int raster, gx_bitmap_id id,\n      int x, int y, int w, int h,\n      const
      gx_drawing_color * pdcolor, int depth,\n      gs_logical_operation_t lop, const
      gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 432
    functionName: gsijs_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsijs_fill_path(gx_device * dev, const gs_gstate * pgs,\n      gx_path
      * ppath, const gx_fill_params * params,\n      const gx_drawing_color * pdcolor,\n
      \     const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 452
    functionName: gsijs_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsijs_stroke_path(gx_device * dev, const gs_gstate * pgs,\n        gx_path
      * ppath, const gx_stroke_params * params,\n        const gx_drawing_color *
      pdcolor,\n        const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:468,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pdev
    - y
    - str
    - actual_data
    argTypes:
    - gx_device_printer*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: gsijs_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - memset
    - gdev_prn_get_bits
    linkageType: ''
    returnType: int
    signature: int gsijs_get_bits(gx_device_printer * pdev, int y, byte * str, byte
      ** actual_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - y
    - actual_data
    argTypes:
    - gx_device_printer*
    - int
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 486
    functionName: gsijs_k_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsijs_k_get_bits(gx_device_printer * pdev, int y, byte ** actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_create_buf_device
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:493,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:501,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:502,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:503,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:504,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - for_band
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 508
    functionName: gsijs_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - gx_default_create_buf_device
    linkageType: ''
    returnType: int
    signature: "int gsijs_create_buf_device(gx_device **pbdev, gx_device *target,
      int y,\n            const gx_render_plane_t *render_plane, gs_memory_t *mem,
      gx_color_usage_t *for_band)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_enum_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:524,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:530,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - ijsdev
    argTypes:
    - gx_device_ijs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 543
    functionName: gsijs_set_krgb_mode
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - ijs_client_enum_param
    - strstr
    linkageType: ''
    returnType: int
    signature: int gsijs_set_krgb_mode(gx_device_ijs *ijsdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:564,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:566,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:573,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:575,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 4
    argNames:
    - val
    - size
    - pw
    - ph
    argTypes:
    - char*
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 580
    functionName: gsijs_parse_wxh
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - strtod
    linkageType: ''
    returnType: int
    signature: int gsijs_parse_wxh (const char *val, int size, double *pw, double
      *ph)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:611,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:618,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:621,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:625,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - ijsdev
    argTypes:
    - gx_device_ijs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 630
    functionName: gsijs_set_generic_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - gsijs_client_set_param
    linkageType: ''
    returnType: int
    signature: int gsijs_set_generic_params(gx_device_ijs *ijsdev)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:661,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:668,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:671,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:675,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:681,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:683,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:684,1
    - Dst: ijs_client_get_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:692,1
    - Dst: gsijs_parse_wxh
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:701,1
    - Dst: ijs_client_get_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:706,1
    - Dst: gsijs_parse_wxh
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:713,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:725,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:726,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:727,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:728,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - ijsdev
    argTypes:
    - gx_device_ijs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 733
    functionName: gsijs_set_margin_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - ijs_client_get_param
    - ijs_client_set_param
    - gsijs_client_set_param
    - strlen
    - gs_sprintf
    - gsijs_parse_wxh
    - gx_device_set_margins
    linkageType: ''
    returnType: int
    signature: int gsijs_set_margin_params(gx_device_ijs *ijsdev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_get_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:763,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:782,1
    - Dst: gsijs_parse_wxh
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:789,1
    - Dst: gx_device_set_resolution
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:800,1
    - Dst: gdev_prn_maybe_realloc_memory
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:803,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - ijsdev
    argTypes:
    - gx_device_ijs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 748
    functionDepth: 3
    functionLinenumber: 748
    functionLinenumberEnd: 808
    functionName: gsijs_set_resolution
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - ijs_client_get_param
    - gdev_prn_maybe_realloc_memory
    - gx_device_set_resolution
    - gsijs_parse_wxh
    - strtod
    linkageType: ''
    returnType: int
    signature: int gsijs_set_resolution(gx_device_ijs *ijsdev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:820,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:821,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:822,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:840,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:852,1
    - Dst: dup
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:857,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:857,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:859,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:860,1
    - Dst: ijs_invoke_server
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:867,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:869,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:872,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:873,1
    - Dst: ijs_client_get_version
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:876,1
    - Dst: ijs_client_open
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:878,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:879,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:881,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:882,1
    - Dst: ijs_client_begin_job
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:884,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:885,1
    - Dst: ijs_client_close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:886,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:888,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:889,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:896,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:897,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:897,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:898,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:900,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:901,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:905,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:907,1
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:910,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:912,1
    - Dst: gsijs_set_generic_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:915,1
    - Dst: gsijs_set_resolution
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:918,1
    - Dst: gsijs_set_margin_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:921,1
    - Dst: gsijs_set_krgb_mode
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:924,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 811
    functionDepth: 6
    functionLinenumber: 811
    functionLinenumberEnd: 927
    functionName: gsijs_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - gsijs_set_margin_params
    - ijs_client_set_param
    - strlen
    - gs_sprintf
    - emprintf
    - dup
    - ijs_client_get_version
    - ijs_client_open
    - gs_note_error
    - gsijs_set_krgb_mode
    - gp_get_file
    - ijs_invoke_server
    - gsijs_set_generic_params
    - close
    - fileno
    - emprintf1
    - gdev_prn_open
    - gsijs_set_resolution
    - ijs_client_close
    - ijs_client_begin_job
    linkageType: ''
    returnType: int
    signature: int gsijs_open(gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_finish_copydevice
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:937,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:942,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:945,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:947,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 950
    functionName: gsijs_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - memcpy
    - gs_malloc
    - gx_default_finish_copydevice
    linkageType: ''
    returnType: int
    signature: int gsijs_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_end_job
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:960,1
    - Dst: ijs_client_close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:961,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:962,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:963,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:965,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:967,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:970,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:973,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:976,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 953
    functionDepth: 4
    functionLinenumber: 953
    functionLinenumberEnd: 985
    functionName: gsijs_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - ijs_client_send_cmd_wait
    - gdev_prn_close
    - ijs_client_end_job
    - gs_free
    - ijs_client_close
    - ijs_client_begin_cmd
    linkageType: ''
    returnType: int
    signature: int gsijs_close(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:998,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1000,1
    - Dst: dev_x_offset
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1001,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1004
    functionName: gsijs_raster_width
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - dev_x_offset
    - dev_r_margin
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gsijs_raster_width(gx_device *pdev)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1014,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1029,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1031,1
    - Dst: gdev_prn_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1034,1
    - Dst: gsijs_raster_width
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1035,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1048,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1049,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1053,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1054,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1055,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1056,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1059,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1061,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1063,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1064,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1065,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1066,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1068,1
    - Dst: gsijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1069,1
    - Dst: open
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1074,1
    - Dst: open
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1075,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1076,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1077,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1077,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1078,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1079,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1079,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1084,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1085,1
    - Dst: gsijs_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1089,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1091,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1095,1
    - Dst: ijs_client_send_data_wait
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1097,1
    - Dst: gsijs_k_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1102,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1106,1
    - Dst: ijs_client_send_data_wait
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1108,1
    - Dst: ijs_client_begin_cmd
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1113,1
    - Dst: ijs_client_send_cmd_wait
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1114,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1118,1
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1119,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1123,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1125,1
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1127,1
    - Dst: clist_finish_page
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1129,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1138,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1140,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1009
    functionDepth: 3
    functionLinenumber: 1009
    functionLinenumberEnd: 1142
    functionName: gsijs_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gsijs_client_set_param
    - strlen
    - open
    - gs_sprintf
    - gsijs_get_bits
    - gsijs_k_get_bits
    - snprintf
    - ijs_client_send_cmd_wait
    - write
    - gdev_prn_get_bits
    - PRINTER_IS_CLIST
    - gsijs_raster_width
    - gs_note_error
    - ijs_client_begin_cmd
    - gs_free_object
    - gdev_prn_print_scan_lines
    - clist_finish_page
    - ijs_client_send_data_wait
    - gdev_prn_raster
    - close
    - strcpy
    - gs_malloc
    - gx_finish_output_page
    - gs_free
    linkageType: ''
    returnType: int
    signature: int gsijs_output_page(gx_device *dev, int num_copies, int flush)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1152,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1155,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1156,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1161,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1163,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1165,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1171,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1172,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1174,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1180,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1181,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1183,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1188,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1191,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1196,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1198,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1147
    functionDepth: 1
    functionLinenumber: 1147
    functionLinenumberEnd: 1203
    functionName: gsijs_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_transient_string
    - param_write_null
    - param_write_bool
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int gsijs_get_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1212,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1222,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1225,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1227,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - plist
    - pname
    - pval
    - min_value
    - max_value
    - only_when_closed
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1232
    functionName: gsijs_read_int
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - gs_note_error
    - param_read_int
    - param_read_null
    linkageType: ''
    returnType: int
    signature: "int gsijs_read_int(gs_param_list *plist, gs_param_name pname, int
      *pval,\n     int min_value, int max_value, bool only_when_closed)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1241,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1250,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1253,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - plist
    - pname
    - pval
    - only_when_closed
    argTypes:
    - gs_param_list*
    - gs_param_name
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1258
    functionName: gsijs_read_bool
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_bool
    - param_read_null
    linkageType: ''
    returnType: int
    signature: "int gsijs_read_bool(gs_param_list *plist, gs_param_name pname, bool
      *pval,\n                bool only_when_closed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1268,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1270,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1271,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1281,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1285,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1288,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1290,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 6
    argNames:
    - plist
    - pname
    - str
    - size
    - safety
    - only_when_closed
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char*
    - uint
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1295
    functionName: gsijs_read_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - strlen
    - param_read_string
    - strncpy
    - param_signal_error
    - gs_note_error
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int gsijs_read_string(gs_param_list *plist, gs_param_name pname, char
      *str,\n    uint size, bool safety, bool only_when_closed)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1305,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1307,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1309,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1316,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1322,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1325,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1329,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1333,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1335,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 5
    argNames:
    - plist
    - pname
    - str
    - size
    - only_when_closed
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char**
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1340
    functionName: gsijs_read_string_malloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - strlen
    - param_read_string
    - strncpy
    - gs_malloc
    - param_signal_error
    - gs_note_error
    - gs_free
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int gsijs_read_string_malloc(gs_param_list *plist, gs_param_name pname,
      char **str,\n    int *size, bool only_when_closed)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gsijs_read_string
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1364,1
    - Dst: gsijs_read_string_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1369,1
    - Dst: gsijs_read_string_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1374,1
    - Dst: gsijs_read_string_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1379,1
    - Dst: gsijs_read_int
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1383,1
    - Dst: gsijs_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1387,1
    - Dst: gsijs_read_string_malloc
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1391,1
    - Dst: gsijs_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1396,1
    - Dst: gsijs_set_color_format
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1402,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1405,1
    - Dst: gsijs_set_generic_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1408,1
    - Dst: gsijs_set_margin_params
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1410,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1412,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1342
    functionDepth: 4
    functionLinenumber: 1342
    functionLinenumberEnd: 1416
    functionName: gsijs_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 0
    functionsReached:
    - gsijs_set_margin_params
    - gsijs_set_generic_params
    - gs_note_error
    - gsijs_read_string
    - gsijs_read_int
    - gsijs_set_color_format
    - gsijs_read_string_malloc
    - gsijs_read_bool
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int gsijs_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ijs_client_set_param
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1422,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1423,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ijsdev
    - key
    - value
    argTypes:
    - gx_device_ijs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1418
    functionDepth: 3
    functionLinenumber: 1418
    functionLinenumberEnd: 1427
    functionName: gsijs_client_set_param
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 3
    functionsReached:
    - dmprintf2
    - strlen
    - ijs_client_set_param
    linkageType: ''
    returnType: int
    signature: "int gsijs_client_set_param(gx_device_ijs *ijsdev, const char *key,\n
      \   const char *value)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1441,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1454,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1462,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevijs.c:1488,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 50
    argCount: 1
    argNames:
    - ijsdev
    argTypes:
    - gx_device_ijs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1491
    functionName: gsijs_set_color_format
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevijs.c
    functionUses: 1
    functionsReached:
    - set_linear_color_bits_mask_shift
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gsijs_set_color_format(gx_device_ijs *ijsdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - psd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(psd_device_enum_ptrs, psd_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - psd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(psd_device_reloc_ptrs, psd_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - dev_
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: psd_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gdev_prn_dev_spec_op
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END psd_spec_op(gx_device *dev_, int op, void *data, int
      datasize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_device_finalize
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 145
    functionName: psd_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_device_finalize
    linkageType: ''
    returnType: void
    signature: void psd_device_finalize(const gs_memory_t *cmem, void *vpdev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:381,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:456,1
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:461,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 463
    functionName: psd_prn_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open_planar
    - dev_proc
    - set_linear_color_bits_mask_shift
    linkageType: ''
    returnType: int
    signature: int psd_prn_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: gray_cs_to_psdgray_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_psdgray_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: rgb_cs_to_psdgray_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_gray
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_psdgray_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                  frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_gray
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: cmyk_cs_to_psdgray_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_gray
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_psdgray_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 499
    functionName: gray_cs_to_psdrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_psdrgb_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 512
    functionName: rgb_cs_to_psdrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_psdrgb_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                 frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:520,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 523
    functionName: cmyk_cs_to_psdrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: "void cmyk_cs_to_psdrgb_cm(gx_device * dev,\n                        frac
      c, frac m, frac y, frac k, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 533
    functionName: gray_cs_to_psdcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gray_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_psdcmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 542
    functionName: rgb_cs_to_psdcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_psdcmyk_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                          frac r, frac g, frac b, frac out[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_ret_devn_params
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:548,1
    - Dst: cmyk_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:576,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 578
    functionName: cmyk_cs_to_psdcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_ret_devn_params
    - cmyk_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void cmyk_cs_to_psdcmyk_cm(gx_device * dev,\n                        frac
      c, frac m, frac y, frac k, frac out[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:595,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:596,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:597,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:598,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:600,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:604,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 617
    functionName: cmyk_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - ushort2frac
    - frac2ushort
    - gscms_transform_color
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotn_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 623
    functionName: gray_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotn_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:640,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:641,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:642,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:644,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:648,1
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:655,1
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 659
    functionName: rgb_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gscms_transform_color
    - frac2ushort
    - ushort2frac
    - color_rgb_to_cmyk
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotn_cm(gx_device * dev, const gs_gstate *pgs,\n                                   frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: get_psdrgb_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_psdrgb_color_mapping_procs(const gx_device * dev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 702
    functionName: get_psd_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_psd_color_mapping_procs(const gx_device * dev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_decode_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:713,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 719
    functionName: psd_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_decode_color
    linkageType: ''
    returnType: int
    signature: int psd_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value
      rgb[3])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:728,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:732,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:736,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pdev
    - plist
    - cmyk
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 741
    functionName: psd_get_params_generic
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gx_downscaler_write_params
    - gx_devn_prn_get_params
    - param_write_bool
    linkageType: ''
    returnType: int
    signature: int psd_get_params_generic(gx_device * pdev, gs_param_list * plist,
      int cmyk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psd_get_params_generic
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: psd_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_get_params_generic
    linkageType: ''
    returnType: int
    signature: int psd_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psd_get_params_generic
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 753
    functionName: psd_get_params_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_get_params_generic
    linkageType: ''
    returnType: int
    signature: int psd_get_params_cmyk(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:761,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - str
    argTypes:
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 763
    functionName: param_string_eq
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool param_string_eq(const gs_param_string *pcs, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - xdev
    - color_model
    argTypes:
    - psd_device*
    - psd_color_model
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 794
    functionName: psd_set_color_model
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int psd_set_color_model(psd_device *xdev, psd_color_model color_model)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:806,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:811,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:817,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:821,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:827,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:829,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:832,1
    - Dst: param_read_name
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:839,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:843,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:845,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:847,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:849,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:852,1
    - Dst: psd_set_color_model
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:858,1
    - Dst: gx_devn_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:862,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 3
    argNames:
    - pdev
    - plist
    - cmyk
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 870
    functionName: psd_put_params_generic
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_put_params
    - gx_downscaler_read_params
    - gs_note_error
    - param_read_int
    - emprintf1
    - param_read_name
    - psd_set_color_model
    - param_signal_error
    - param_read_bool
    - param_string_eq
    linkageType: ''
    returnType: int
    signature: int psd_put_params_generic(gx_device * pdev, gs_param_list * plist,
      int cmyk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psd_put_params_generic
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 872
    functionDepth: 2
    functionLinenumber: 872
    functionLinenumberEnd: 876
    functionName: psd_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_put_params_generic
    linkageType: ''
    returnType: int
    signature: int psd_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psd_put_params_generic
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 882
    functionName: psd_put_params_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_put_params_generic
    linkageType: ''
    returnType: int
    signature: int psd_put_params_cmyk(gx_device * pdev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:903,1
    - Dst: gx_devn_prn_get_color_comp_index
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:904,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:915,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:916,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:917,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 921
    functionName: psd_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - strncmp
    - gx_devn_prn_get_color_comp_index
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: "int psd_get_color_comp_index(gx_device * dev, const char * pname,\n
      \                                       int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: assign_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u16(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: assign_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u32(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 931
    functionName: assign_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u16(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 932
    functionName: assign_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u32(a,v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:950,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:983,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - xc
    - dev
    - file
    - w
    - h
    argTypes:
    - psd_write_ctx*
    - gx_devn_prn_device*
    - gp_file*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 997
    functionName: psd_setup
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int psd_setup(psd_write_ctx *xc, gx_devn_prn_device *dev, gp_file *file,
      int w, int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - xc
    - buf
    - size
    argTypes:
    - psd_write_ctx*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1007
    functionName: psd_write
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int psd_write(psd_write_ctx *xc, const byte *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xc
    - v
    argTypes:
    - psd_write_ctx*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1013
    functionName: psd_write_8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_write
    linkageType: ''
    returnType: int
    signature: int psd_write_8(psd_write_ctx *xc, byte v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_u16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1020,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xc
    - v
    argTypes:
    - psd_write_ctx*
    - bits16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1015
    functionDepth: 2
    functionLinenumber: 1015
    functionLinenumberEnd: 1022
    functionName: psd_write_16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_write
    - assign_u16
    linkageType: ''
    returnType: int
    signature: int psd_write_16(psd_write_ctx *xc, bits16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_u32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1029,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xc
    - v
    argTypes:
    - psd_write_ctx*
    - bits32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1031
    functionName: psd_write_32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - psd_write
    - assign_u32
    linkageType: ''
    returnType: int
    signature: int psd_write_32(psd_write_ctx *xc, bits32 v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - n
    argTypes:
    - gx_devn_prn_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1045
    functionName: get_sep_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fixed_colorant_name
    signature: fixed_colorant_name get_sep_name(gx_devn_prn_device *pdev, int n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1058,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1059,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1061,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1062,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1063,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1064,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1065,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1066,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1068,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1071,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1080,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1087,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1090,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1091,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1092,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1093,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1099,1
    - Dst: psd_write_8
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1100,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1101,1
    - Dst: psd_write_8
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1106,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1107,1
    - Dst: psd_write_8
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1110,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1113,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1114,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1115,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1116,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1119,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1124,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1124,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1125,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1125,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1126,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1126,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1127,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1127,1
    - Dst: get_sep_name
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1133,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1134,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1135,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1136,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1137,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1138,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1139,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1140,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1141,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1142,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1143,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1146,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1147,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1148,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1149,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1152,1
    - Dst: psd_write_8
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1153,1
    - Dst: psd_write_8
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1154,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1158,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1159,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1160,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1161,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1163,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1164,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1165,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1166,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1167,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1168,1
    - Dst: psd_write_32
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1171,1
    - Dst: psd_write_16
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1174,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 89
    argCount: 2
    argNames:
    - xc
    - pdev
    argTypes:
    - psd_write_ctx*
    - gx_devn_prn_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1177
    functionName: psd_write_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 1
    functionsReached:
    - psd_write_16
    - strcmp
    - convert_color
    - strlen
    - psd_write_8
    - get_sep_name
    - psd_write
    - psd_write_32
    linkageType: ''
    returnType: int
    signature: int psd_write_header(psd_write_ctx *xc, gx_devn_prn_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - component
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    functionName: convert_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert_color(component)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1188,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1189,1
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1193,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1194,1
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1198,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1199,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1203
    functionName: psd_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gscms_release_link
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int psd_prn_close(gx_device *dev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1231,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1250,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1252,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1255,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1263,1
    - Dst: gx_downscaler_init_planar
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1265,1
    - Dst: gx_downscaler_get_bits_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1274,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1284,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1294,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1297,1
    - Dst: psd_write
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1298,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1300,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1302,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1307,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1309,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1316,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1317,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1319,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 2
    argNames:
    - xc
    - pdev
    argTypes:
    - psd_write_ctx*
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1225
    functionDepth: 2
    functionLinenumber: 1225
    functionLinenumberEnd: 1323
    functionName: psd_write_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gx_downscaler_init_planar
    - gs_alloc_bytes
    - memcpy
    - memset
    - gp_fseek
    - psd_write
    - gs_free_object
    - return_error
    - gs_note_error
    - bitmap_raster
    - gx_downscaler_get_bits_rectangle
    linkageType: ''
    returnType: int
    signature: int psd_write_image_data(psd_write_ctx *xc, gx_device_printer *pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1334,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1341,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1348
    functionName: psd_allow_multiple_pages
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 1
    functionsReached:
    - strlen
    - gx_parse_output_file_name
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool psd_allow_multiple_pages (gx_device_printer *pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psd_allow_multiple_pages
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1358,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1359,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1360,1
    - Dst: psd_setup
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1363,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1364,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1365,1
    - Dst: psd_write_header
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1367,1
    - Dst: psd_write_image_data
      Src: /src/libspectre/ghostscript/devices/gdevpsd.c:1369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1350
    functionDepth: 4
    functionLinenumber: 1350
    functionLinenumberEnd: 1372
    functionName: psd_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsd.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_scale
    - psd_allow_multiple_pages
    - psd_setup
    - emprintf
    - gs_note_error
    - psd_write_header
    - psd_write_image_data
    linkageType: ''
    returnType: int
    signature: int psd_print_page(gx_device_printer *pdev, gp_file *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:50,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:51,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:53,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:54,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: sonyfb_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsnfb.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - ioctl
    - perror
    - open
    linkageType: ''
    returnType: int
    signature: int sonyfb_open(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:66,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: sonyfb_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsnfb.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - close
    linkageType: ''
    returnType: int
    signature: int sonyfb_close(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: typeof
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:96,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:110,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:111,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/gdevsnfb.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 114
    functionName: sonyfb_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsnfb.c
    functionUses: 0
    functionsReached:
    - gx_finish_output_page
    - ioctl
    - perror
    - typeof
    linkageType: ''
    returnType: int
    signature: int sonyfb_output_page(gx_device *dev, int num_copies, int flush)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:50,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:51,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:51,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:52,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:52,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:54,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:54,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:55,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:55,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:59,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:60,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:63,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:64,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:66,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:67,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:70,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:71,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:73,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:74,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:77,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:78,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:80,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:81,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:83,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:84,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:86,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:87,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:89,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:90,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:93,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:93,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:95,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:96,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:98,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:99,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:101,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:102,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:104,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:105,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:107,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:108,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:113,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:114,1
    - Dst: px_put_usp
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:115,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - s
    - dev
    - staple
    argTypes:
    - stream*
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 119
    functionName: px_write_file_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - px_put_usp
    - strlen
    - DA
    - DUB
    - px_put_bytes
    - PX_PUT_LIT
    linkageType: ''
    returnType: int
    signature: int px_write_file_header(stream *s, const gx_device *dev, bool staple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - dev
    argTypes:
    - stream*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: px_write_page_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int px_write_page_header(stream *s, const gx_device *dev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: px_enumerate_media
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:142,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:156,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:157,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:158,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:164,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:165,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:177,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:180,1
    - Dst: px_put_rpa
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:183,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:184,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:191,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:194,1
    - Dst: px_put_ubaa
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:195,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:195,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:197,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:201,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:203,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:206,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:208,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:211,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 9
    argNames:
    - s
    - dev
    - pms
    - media_source
    - page
    - Duplex
    - Tumble
    - media_type_set
    - media_type
    argTypes:
    - stream*
    - gx_device*
    - pxeMediaSize_t*
    - byte*
    - int
    - bool
    - bool
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 217
    functionName: px_write_select_media
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - px_put_uba
    - countof
    - px_put_ubaa
    - if_debug2
    - strlen
    - fabs
    - px_enumerate_media
    - px_put_rpa
    linkageType: ''
    returnType: int
    signature: "int px_write_select_media(stream *s, const gx_device *dev,\n                      pxeMediaSize_t
      *pms, byte *media_source,\n                      int page, bool Duplex, bool
      Tumble, int media_type_set, char *media_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ms
    - ','
    - mstr
    - ','
    - res
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: MSD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MSD(ms, mstr, res, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: px_write_file_trailer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int px_write_file_trailer(gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - data
    - count
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: px_put_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 2
    functionsReached:
    - sputs
    linkageType: ''
    returnType: void
    signature: void px_put_bytes(stream * s, const byte * data, uint count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:252,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - a
    argTypes:
    - stream*
    - px_attribute_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: px_put_a
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void px_put_a(stream * s, px_attribute_t a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:258,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - a
    - op
    argTypes:
    - stream*
    - px_attribute_t
    - px_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: px_put_ac
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    - px_put_a
    linkageType: ''
    returnType: void
    signature: void px_put_ac(stream *s, px_attribute_t a, px_tag_t op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:265,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - b
    argTypes:
    - stream*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: px_put_ub
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void px_put_ub(stream * s, byte b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:271,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - b
    - a
    argTypes:
    - stream*
    - byte
    - px_attribute_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: px_put_uba
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - px_put_ub
    - px_put_a
    linkageType: ''
    returnType: void
    signature: void px_put_uba(stream *s, byte b, px_attribute_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:278,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: px_put_s
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void px_put_s(stream * s, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:286,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: px_put_us
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - sputc
    - px_put_s
    linkageType: ''
    returnType: void
    signature: void px_put_us(stream * s, uint i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:292,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - i
    - a
    argTypes:
    - stream*
    - uint
    - px_attribute_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: px_put_usa
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - px_put_a
    - px_put_us
    linkageType: ''
    returnType: void
    signature: void px_put_usa(stream *s, uint i, px_attribute_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:299,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 302
    functionName: px_put_u
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - px_put_ub
    - px_put_us
    linkageType: ''
    returnType: void
    signature: void px_put_u(stream * s, uint i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:307,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:308,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ix
    - iy
    argTypes:
    - stream*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: px_put_usp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 2
    functionsReached:
    - spputc
    - px_put_s
    linkageType: ''
    returnType: void
    signature: void px_put_usp(stream * s, uint ix, uint iy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:314,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:315,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:315,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:316,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:316,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:317,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:317,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:318,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - s
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - stream*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 319
    functionName: px_put_usq_fixed
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - spputc
    - fixed2int
    - px_put_s
    linkageType: ''
    returnType: void
    signature: void px_put_usq_fixed(stream * s, fixed x0, fixed y0, fixed x1, fixed
      y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:324,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: px_put_ss
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    - px_put_s
    linkageType: ''
    returnType: void
    signature: void px_put_ss(stream * s, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:330,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:331,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ix
    - iy
    argTypes:
    - stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 333
    functionName: px_put_ssp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    - px_put_s
    linkageType: ''
    returnType: void
    signature: void px_put_ssp(stream * s, int ix, int iy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:338,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:339,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:340,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - s
    - l
    argTypes:
    - stream*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 342
    functionName: px_put_l
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void px_put_l(stream * s, ulong l)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: frexp
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:378,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:389,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:390,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:391,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - stream*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: px_put_r
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - spputc
    - frexp
    linkageType: ''
    returnType: void
    signature: void px_put_r(stream * s, double r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:397,1
    - Dst: px_put_r
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - r
    argTypes:
    - stream*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: px_put_rl
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - spputc
    - px_put_r
    linkageType: ''
    returnType: void
    signature: void px_put_rl(stream * s, double r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:404,1
    - Dst: px_put_r
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:405,1
    - Dst: px_put_r
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - rx
    - ry
    argTypes:
    - stream*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 407
    functionName: px_put_rp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 0
    functionsReached:
    - spputc
    - px_put_r
    linkageType: ''
    returnType: void
    signature: void px_put_rp(stream * s, double rx, double ry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_rp
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:412,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - s
    - rx
    - ry
    - a
    argTypes:
    - stream*
    - double
    - double
    - px_attribute_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 2
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: px_put_rpa
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - px_put_rp
    - px_put_a
    linkageType: ''
    returnType: void
    signature: void px_put_rpa(stream * s, double rx, double ry, px_attribute_t a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:422,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:424,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:425,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - s
    - data
    - count
    - a
    argTypes:
    - stream*
    - byte*
    - uint
    - px_attribute_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 427
    functionName: px_put_ubaa
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - spputc
    - px_put_a
    - px_put_bytes
    - px_put_us
    linkageType: ''
    returnType: void
    signature: void px_put_ubaa(stream * s, const byte * data, uint count, px_attribute_t
      a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:433,1
    - Dst: px_put_l
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:434,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:436,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevpxut.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - s
    - num_bytes
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: px_put_data_length
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpxut.c
    functionUses: 1
    functionsReached:
    - spputc
    - px_put_l
    linkageType: ''
    returnType: void
    signature: void px_put_data_length(stream * s, uint num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - depth
    - ','
    - max_rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 35
    functionName: t4693d_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev4693.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t4693d_prn_device(name,depth,max_rgb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 57
    functionName: gdev_t4693d_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev4693.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_t4693d_map_rgb_color(gx_device *dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - ushort[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 74
    functionName: gdev_t4693d_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev4693.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gdev_t4693d_map_color_rgb(gx_device *dev, gx_color_index color,
      ushort prgb[3])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:81,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:82,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:92,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:122,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:123,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:124,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:129,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:151,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:152,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:156,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:157,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:158,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:164,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:165,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:166,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:172,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:173,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:174,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdev4693.c:179,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    argCount: 2
    argNames:
    - dev
    - ps_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 181
    functionName: t4693d_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev4693.c
    functionUses: 0
    functionsReached:
    - gs_free
    - gdev_prn_copy_scan_lines
    - gdev_mem_bytes_per_scan_line
    - gp_fputc
    - gs_malloc
    - return_error
    - gs_note_error
    - errprintf
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int t4693d_print_page(gx_device_printer *dev, gp_file *ps_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: flush_text
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: flush_text(xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - dpy
    - ','
    - win
    - ','
    - gc
    - ','
    - im
    - ','
    - sx
    - ','
    - sy
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: put_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_image(dpy,win,gc,im,sx,sy,x,y,w,h)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_x_open
      Src: /src/libspectre/ghostscript/devices/gdevx.c:282,1
    - Dst: update_init
      Src: /src/libspectre/ghostscript/devices/gdevx.c:286,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevx.c:287,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: x_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached:
    - install_internal_subclass_devices
    - gdev_x_open
    - update_init
    linkageType: ''
    returnType: int
    signature: int x_open(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_x_close
      Src: /src/libspectre/ghostscript/devices/gdevx.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 298
    functionDepth: 5
    functionLinenumber: 298
    functionLinenumberEnd: 304
    functionName: x_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached:
    - gdev_x_close
    linkageType: ''
    returnType: int
    signature: int x_close(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_initial_matrix
      Src: /src/libspectre/ghostscript/devices/gdevx.c:315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: x_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - gx_default_get_initial_matrix
    linkageType: ''
    returnType: void
    signature: void x_get_initial_matrix(gx_device * dev, gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_do_flush
      Src: /src/libspectre/ghostscript/devices/gdevx.c:332,1
    - Dst: XSync
      Src: /src/libspectre/ghostscript/devices/gdevx.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: x_sync
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - update_do_flush
    - XSync
    linkageType: ''
    returnType: int
    signature: int x_sync(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XSendEvent
      Src: /src/libspectre/ghostscript/devices/gdevx.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - xdev
    - msg
    argTypes:
    - gx_device_X*
    - Atom
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 351
    functionName: gdev_x_send_event
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached:
    - XSendEvent
    linkageType: ''
    returnType: void
    signature: void gdev_x_send_event(gx_device_X *xdev, Atom msg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: x_sync
      Src: /src/libspectre/ghostscript/devices/gdevx.c:359,1
    - Dst: gdev_x_send_event
      Src: /src/libspectre/ghostscript/devices/gdevx.c:366,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/devices/gdevx.c:367,1
    - Dst: XNextEvent
      Src: /src/libspectre/ghostscript/devices/gdevx.c:370,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/gdevx.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: x_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - gx_finish_output_page
    - x_sync
    - gdev_x_send_event
    - XNextEvent
    linkageType: ''
    returnType: int
    signature: int x_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/devices/gdevx.c:384,1
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:385,1
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:386,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:387,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:388,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:389,1
    - Dst: gdev_x_free_dynamic_colors
      Src: /src/libspectre/ghostscript/devices/gdevx.c:396,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:400,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/devices/gdevx.c:402,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - gscolor
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 405
    functionName: x_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - X_SET_FUNCTION
    - if_debug5m
    - X_SET_FILL_STYLE
    - gdev_x_free_dynamic_colors
    - flush_text
    - x_update_add
    - X_SET_FORE_COLOR
    - XFillRectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int x_fill_rectangle(gx_device * dev,\n                 int x, int
      y, int w, int h, gx_color_index gscolor)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/gdevx.c:444,1
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:445,1
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:451,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:481,1
    - Dst: XSetBackground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:483,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:486,1
    - Dst: NOTE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:489,1
    - Dst: NOTE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:491,1
    - Dst: put_image
      Src: /src/libspectre/ghostscript/devices/gdevx.c:492,1
    - Dst: free_cp
      Src: /src/libspectre/ghostscript/devices/gdevx.c:501,1
    - Dst: XCreatePixmap
      Src: /src/libspectre/ghostscript/devices/gdevx.c:505,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:507,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:508,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/devices/gdevx.c:510,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:512,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:513,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:520,1
    - Dst: XSetBackground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:524,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:525,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:526,1
    - Dst: XSetBackground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:528,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:529,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:530,1
    - Dst: put_image
      Src: /src/libspectre/ghostscript/devices/gdevx.c:532,1
    - Dst: XSetClipMask
      Src: /src/libspectre/ghostscript/devices/gdevx.c:536,1
    - Dst: XSetClipOrigin
      Src: /src/libspectre/ghostscript/devices/gdevx.c:537,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:543,1
    - Dst: XSetClipMask
      Src: /src/libspectre/ghostscript/devices/gdevx.c:546,1
    - Dst: free_cp
      Src: /src/libspectre/ghostscript/devices/gdevx.c:548,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:552,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 94
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 555
    functionName: x_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - X_SET_FUNCTION
    - XSetClipOrigin
    - XSetForeground
    - X_SET_FILL_STYLE
    - XCreateGC
    - flush_text
    - free_cp
    - XSetClipMask
    - lprintf
    - XSetBackground
    - x_update_add
    - X_SET_FORE_COLOR
    - XFillRectangle
    - NOTE_COLOR
    - return_error
    - put_image
    - XCreatePixmap
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int x_copy_mono(gx_device * dev,\n            const byte * base, int
      sourcex, int raster, gx_bitmap_id id,\n            int x, int y, int w, int
      h,\n            gx_color_index zero, gx_color_index one)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XFreeGC
      Src: /src/libspectre/ghostscript/devices/gdevx.c:564,1
    - Dst: XFreePixmap
      Src: /src/libspectre/ghostscript/devices/gdevx.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 572
    functionName: free_cp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached:
    - XFreeGC
    - XFreePixmap
    linkageType: ''
    returnType: void
    signature: void free_cp(gx_device * dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:581,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:582,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:599,1
    - Dst: XDrawPoint
      Src: /src/libspectre/ghostscript/devices/gdevx.c:600,1
    - Dst: XInitImage
      Src: /src/libspectre/ghostscript/devices/gdevx.c:616,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:617,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:618,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/devices/gdevx.c:620,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 8
    argNames:
    - xdev
    - base
    - sourcex
    - raster
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device_X*
    - byte*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 629
    functionName: x_copy_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - X_SET_FUNCTION
    - X_SET_FILL_STYLE
    - XPutImage
    - X_SET_FORE_COLOR
    - return_error
    - XDrawPoint
    - errprintf
    - XInitImage
    linkageType: ''
    returnType: int
    signature: "int x_copy_image(gx_device_X * xdev, const byte * base, int sourcex,
      int raster,\n             int x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/gdevx.c:638,1
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:639,1
    - Dst: x_copy_image
      Src: /src/libspectre/ghostscript/devices/gdevx.c:640,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:642,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevx.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 646
    functionName: x_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - flush_text
    - x_update_add
    - x_copy_image
    - if_debug4m
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int x_copy_color(gx_device * dev,\n             const byte * base,
      int sourcex, int raster, gx_bitmap_id id,\n             int x, int y, int w,
      int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 654
    functionName: x_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      x_get_page_device(gx_device * dev)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:671,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:676,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/devices/gdevx.c:679,1
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:680,1
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:688,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:689,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:700,1
    - Dst: XDrawPoint
      Src: /src/libspectre/ghostscript/devices/gdevx.c:701,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:705,1
    - Dst: X_SET_BACK_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:720,1
    - Dst: X_SET_FORE_COLOR
      Src: /src/libspectre/ghostscript/devices/gdevx.c:721,1
    - Dst: set_tile
      Src: /src/libspectre/ghostscript/devices/gdevx.c:722,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:723,1
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:727,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:728,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:729,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:731,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/devices/gdevx.c:733,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - zero
    - one
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 736
    functionName: x_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - X_SET_FUNCTION
    - X_SET_FILL_STYLE
    - flush_text
    - if_debug6m
    - x_update_add
    - X_SET_FORE_COLOR
    - set_tile
    - XFillRectangle
    - fit_fill
    - XDrawPoint
    - X_SET_BACK_COLOR
    linkageType: ''
    returnType: int
    signature: "int x_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                       int x, int y, int w, int h,\n                       gx_color_index
      zero, gx_color_index one,\n                       int px, int py)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevx.c:748,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:762,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:773,1
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:789,1
    - Dst: update_do_flush
      Src: /src/libspectre/ghostscript/devices/gdevx.c:791,1
    - Dst: XSetGraphicsExposures
      Src: /src/libspectre/ghostscript/devices/gdevx.c:802,1
    - Dst: XGetWindowAttributes
      Src: /src/libspectre/ghostscript/devices/gdevx.c:803,1
    - Dst: XSelectInput
      Src: /src/libspectre/ghostscript/devices/gdevx.c:804,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevx.c:818,1
    - Dst: XGetImage
      Src: /src/libspectre/ghostscript/devices/gdevx.c:819,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevx.c:842,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:881,1
    - Dst: XDestroyImage
      Src: /src/libspectre/ghostscript/devices/gdevx.c:884,1
    - Dst: XWindowEvent
      Src: /src/libspectre/ghostscript/devices/gdevx.c:894,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevx.c:897,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:903,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/devices/gdevx.c:915,1
    - Dst: XSetGraphicsExposures
      Src: /src/libspectre/ghostscript/devices/gdevx.c:925,1
    - Dst: XSelectInput
      Src: /src/libspectre/ghostscript/devices/gdevx.c:926,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 78
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 930
    functionName: x_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - XSetGraphicsExposures
    - flush_text
    - gs_alloc_bytes
    - gx_default_get_bits_rectangle
    - XSelectInput
    - min
    - gs_resize_object
    - memcpy
    - XGetImage
    - XDestroyImage
    - return_error
    - gs_note_error
    - XGetWindowAttributes
    - XWindowEvent
    - bitmap_raster
    - update_do_flush
    linkageType: ''
    returnType: int
    signature: "int x_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect,\n
      \                    gs_get_bits_params_t * params, gs_int_rect ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_fillpage
      Src: /src/libspectre/ghostscript/devices/gdevx.c:938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 935
    functionDepth: 0
    functionLinenumber: 935
    functionLinenumberEnd: 939
    functionName: x_fillpage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - gx_default_fillpage
    linkageType: ''
    returnType: int
    signature: int x_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color *pdevc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XFreePixmap
      Src: /src/libspectre/ghostscript/devices/gdevx.c:959,1
    - Dst: XCreatePixmap
      Src: /src/libspectre/ghostscript/devices/gdevx.c:960,1
    - Dst: X_SET_FILL_STYLE
      Src: /src/libspectre/ghostscript/devices/gdevx.c:976,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/devices/gdevx.c:981,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/devices/gdevx.c:983,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/gdevx.c:985,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/devices/gdevx.c:986,1
    - Dst: XSetTile
      Src: /src/libspectre/ghostscript/devices/gdevx.c:989,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:990,1
    - Dst: put_image
      Src: /src/libspectre/ghostscript/devices/gdevx.c:991,1
    - Dst: XSetTile
      Src: /src/libspectre/ghostscript/devices/gdevx.c:993,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - dev
    - tile
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 996
    functionName: set_tile
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached:
    - X_SET_FUNCTION
    - dmputc
    - X_SET_FILL_STYLE
    - dmlprintf4
    - XFreePixmap
    - dmprintf1
    - XSetTile
    - dmlputs
    - put_image
    - XCreatePixmap
    linkageType: ''
    returnType: int
    signature: int set_tile(gx_device * dev, const gx_strip_bitmap * tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1007
    functionName: update_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_init(gx_device_X *xdev)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: flush_text
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1013,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1041,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1043,1
    - Dst: x_copy_image
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1047,1
    - Dst: X_SET_FUNCTION
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1052,1
    - Dst: XCopyArea
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1053,1
    - Dst: update_init
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1057,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1010
    functionDepth: 2
    functionLinenumber: 1010
    functionLinenumberEnd: 1059
    functionName: update_do_flush
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 2
    functionsReached:
    - X_SET_FUNCTION
    - XCopyArea
    - flush_text
    - x_copy_image
    - fit_fill_xywh
    - update_init
    linkageType: ''
    returnType: void
    signature: void update_do_flush(gx_device_X * xdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1072,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1073,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1074,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1075,1
    - Dst: update_do_flush
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1101,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 5
    argNames:
    - xdev
    - xo
    - yo
    - w
    - h
    argTypes:
    - gx_device_X*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1107
    functionName: x_update_add
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 4
    functionsReached:
    - min
    - update_do_flush
    - max
    linkageType: ''
    returnType: void
    signature: void x_update_add(gx_device_X * xdev, int xo, int yo, int w, int h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IN_TEXT
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1113,1
    - Dst: DRAW_TEXT
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_X*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1117
    functionName: do_flush_text
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - DRAW_TEXT
    - IN_TEXT
    linkageType: ''
    returnType: void
    signature: void do_flush_text(gx_device_X * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_init
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1120
    functionDepth: 1
    functionLinenumber: 1120
    functionLinenumberEnd: 1127
    functionName: x_bbox_init_box
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - update_init
    linkageType: ''
    returnType: bool
    signature: bool x_bbox_init_box(void *pdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1133,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1134,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1135,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1128
    functionDepth: 1
    functionLinenumber: 1128
    functionLinenumberEnd: 1137
    functionName: x_bbox_get_box
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void x_bbox_get_box(const void *pdata, gs_fixed_rect *pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1142,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1142,1
    - Dst: x_update_add
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1144,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1144,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdata
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - void*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1138
    functionDepth: 4
    functionLinenumber: 1138
    functionLinenumberEnd: 1146
    functionName: x_bbox_add_rect
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - x_update_add
    - fixed2int
    - fixed2int_ceiling
    linkageType: ''
    returnType: void
    signature: void x_bbox_add_rect(void *pdata, fixed x0, fixed y0, fixed x1, fixed
      y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: x_bbox_get_box
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1152,1
    - Dst: rect_within
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1147
    functionDepth: 2
    functionLinenumber: 1147
    functionLinenumberEnd: 1154
    functionName: x_bbox_in_rect
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - x_bbox_get_box
    - rect_within
    linkageType: ''
    returnType: bool
    signature: bool x_bbox_in_rect(const void *pdata, const gs_fixed_rect *pbox)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1184,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1185,1
    - Dst: XGetGCValues
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1189,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1192,1
    - Dst: XFillRectangle
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1193,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1194,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1199,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1200,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1204,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1212,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1216,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1220,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1221,1
    - Dst: XFillRectangles
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1234,1
    - Dst: XFillRectangles
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1253,1
    - Dst: XSetForeground
      Src: /src/libspectre/ghostscript/devices/gdevx.c:1255,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 11
    argNames:
    - dev
    - dpy
    - win
    - gc
    - pi
    - sx
    - sy
    - dx
    - dy
    - w
    - h
    argTypes:
    - gx_device*
    - Display*
    - Drawable
    - GC
    - XImage*
    - int
    - int
    - int
    - int
    - unsigned
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1258
    functionName: alt_put_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.c
    functionUses: 0
    functionsReached:
    - XSetForeground
    - lprintf
    - XGetGCValues
    - XFillRectangles
    - XFillRectangle
    - return_error
    linkageType: ''
    returnType: int
    signature: "int alt_put_image(gx_device *dev, Display *dpy, Drawable win, GC gc,
      XImage *pi,\n              int sx, int sy, int dx, int dy, unsigned w, unsigned
      h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - style
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 103
    functionName: X_SET_FILL_STYLE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_SET_FILL_STYLE(xdev, style)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: X_SET_FUNCTION
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_SET_FUNCTION(xdev, func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - font
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: X_SET_FONT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_SET_FONT(xdev, font)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: NOTE_COLOR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NOTE_COLOR(xdev, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: X_SET_BACK_COLOR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_SET_BACK_COLOR(xdev, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xdev
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: X_SET_FORE_COLOR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: X_SET_FORE_COLOR(xdev, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: IN_TEXT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IN_TEXT(xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: DRAW_TEXT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DRAW_TEXT(xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 206
    functionName: private_st_device_X
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_X()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - dname
    - ','
    - w10
    - ','
    - h10
    - ','
    - dpi
    - ','
    - lrm
    - ','
    - btm
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: ATX_DEVICE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ATX_DEVICE(dname, w10, h10, dpi, lrm, btm, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:73,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:74,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - f
    - str
    - value
    argTypes:
    - gp_file*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: fput_atx_command
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void fput_atx_command(gp_file *f, const char *str, int value)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 4
    argNames:
    - in_buf
    - in_size
    - out_buf
    - out_size
    argTypes:
    - byte*
    - int
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 151
    functionName: atx_compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int atx_compress(const byte *in_buf, int in_size, byte *out_buf, int
      out_size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:165,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:167,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:169,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:176,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:187,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:188,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:191,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:194,1
    - Dst: fput_atx_command
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:200,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:206,1
    - Dst: fput_atx_command
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:223,1
    - Dst: atx_compress
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:229,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:235,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:236,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:237,1
    - Dst: fput_atx_command
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:241,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:242,1
    - Dst: fput_atx_command
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:255,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:261,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:264,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:265,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 3
    argNames:
    - pdev
    - f
    - max_width_bytes
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 267
    functionName: atx_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gs_alloc_bytes
    - fput_atx_command
    - gx_device_raster
    - gdev_prn_get_bits
    - memset
    - gp_fputc
    - atx_compress
    - ceil
    - gs_note_error
    - min
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int atx_print_page(gx_device_printer *pdev, gp_file *f, int max_width_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atx_print_page
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 274
    functionName: atx23_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached:
    - atx_print_page
    linkageType: ''
    returnType: int
    signature: int atx23_print_page(gx_device_printer *pdev, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atx_print_page
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: atx24_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached:
    - atx_print_page
    linkageType: ''
    returnType: int
    signature: int atx24_print_page(gx_device_printer *pdev, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atx_print_page
      Src: /src/libspectre/ghostscript/devices/gdevatx.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: atx38_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevatx.c
    functionUses: 0
    functionsReached:
    - atx_print_page
    linkageType: ''
    returnType: int
    signature: int atx38_print_page(gx_device_printer *pdev, gp_file *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:94,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:96,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:98,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:100,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:104,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:106,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:108,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:110,1
    - Dst: outportb
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 118
    functionName: pe_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 0
    functionsReached:
    - sscanf
    - outportb
    - emprintf
    - getenv
    - exit
    linkageType: ''
    returnType: int
    signature: int pe_open(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outportb
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:126,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 132
    functionName: pe_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 0
    functionsReached:
    - memset
    - outportb
    linkageType: ''
    returnType: int
    signature: int pe_close(gx_device *dev)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 6
    argNames:
    - dev
    - x1
    - y1
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 219
    functionName: pe_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pe_fill_rectangle(gx_device *dev, int x1, int y1, int w, int h,\n
      \                     gx_color_index color)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pe_fill_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:237,1
    - Dst: write_byte_masked
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:286,1
    - Dst: write_byte
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:294,1
    - Dst: write_byte_masked
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:303,1
    - Dst: write_byte_masked
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:334,1
    - Dst: write_byte
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:345,1
    - Dst: write_byte_masked
      Src: /src/libspectre/ghostscript/devices/gdevpe.c:358,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 365
    functionName: pe_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 0
    functionsReached:
    - pe_fill_rectangle
    - write_byte
    - write_byte_masked
    linkageType: ''
    returnType: int
    signature: "int pe_copy_mono(gx_device *dev,\n                 const byte *base,
      int sourcex, int raster, gx_bitmap_id id,\n                 int x, int y, int
      w, int h,\n                 gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - bits
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: write_byte_masked
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write_byte_masked(ptr, bits, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: write_byte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpe.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: write_byte(ptr, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hdr
    - ','
    - w
    - ','
    - h
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: B_PUTHDR8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B_PUTHDR8(hdr, w, h, d)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:52,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:55,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:68,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:72,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:93,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:114,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:128,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:133,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:134,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:139,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevcslw.c:142,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 145
    functionName: coslw_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcslw.c
    functionUses: 0
    functionsReached:
    - dev_print_scan_lines
    - gp_fputs
    - gdev_prn_copy_scan_lines
    - memset
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - return_error
    - gp_fprintf
    - gs_free
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int coslw_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevstc1.c:66,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc1.c:76,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc1.c:106,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - sdev
    - npixel
    - in
    - buf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 124
    functionName: stc_gsmono
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc1.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: int stc_gsmono(stcolor_device *sdev,int npixel,byte *in,byte *buf,byte
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - num_comp
    - ','
    - depth
    - ','
    - max_gray
    - ','
    - max_rgb
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 172
    functionName: plan_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: plan_prn_device(procs, dev_name, num_comp, depth, max_gray, max_rgb,
      print_page)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:199,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:200,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: dump_row_ppm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_ppm(int w, byte **data, gp_file *dump_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:221,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:222,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:223,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:224,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: dump_row_pnmk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_pnmk(int w, byte **data, gp_file *dump_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:241,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:242,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:243,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 246
    functionName: dump_row_pnmc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_pnmc(int w, byte **data, gp_file *dump_file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:268,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 271
    functionName: dump_row_pbm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_pbm(int w, byte **data, gp_file *dump_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: dump_row_pgm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_pgm(int w, byte **data, gp_file *dump_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:298,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:299,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:300,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - w
    - data
    - dump_file
    argTypes:
    - int
    - byte**
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 305
    functionName: dump_row_pnmr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_row_pnmr(int w, byte **data, gp_file *dump_file)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:331,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:334,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:337,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:341,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:344,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:346,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 36
    argCount: 5
    argNames:
    - w
    - h
    - num_comps
    - log2bits
    - dump_file
    argTypes:
    - int
    - int
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 348
    functionName: dump_start
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gp_fprintf
    linkageType: ''
    returnType: dump_row
    signature: "dump_row dump_start(int w, int h, int num_comps, int log2bits,\n                           gp_file
      *dump_file)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:360,1
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:362,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 369
    functionName: plan_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - gdev_prn_open_planar
    - set_linear_color_bits_mask_shift
    linkageType: ''
    returnType: int
    signature: int plan_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:375,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 379
    functionName: plan_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - emprintf
    linkageType: ''
    returnType: int
    signature: int plan_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 398
    functionName: plang_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index plang_encode_color(gx_device * pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: plang_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int plang_decode_color(gx_device * dev, gx_color_index color,\n                   gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: plan_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int plan_decode_color(gx_device * dev, gx_color_index color,\n                  gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:449,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:450,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:451,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 454
    functionName: planc_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: "int planc_decode_color(gx_device * dev, gx_color_index color,\n                   gx_color_value
      prgb[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 442
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:474,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:475,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 478
    functionName: planc_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: "int planc_map_color_rgb(gx_device * dev, gx_color_index color,\n                    gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:488,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:489,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:490,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:491,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 495
    functionName: planc_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index planc_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:509,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:509,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:509,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:510,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:510,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:510,1
    - Dst: dump_start
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:513,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:533,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:536,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pdev
    - log2bits
    - numComps
    - pstream
    argTypes:
    - gx_device_printer*
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 545
    functionName: plan_print_page_loop
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - dump_start
    - strlen
    - strncmp
    - memset
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plan_print_page_loop(gx_device_printer * pdev, int log2bits, int
      numComps,\n                     gp_file *pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:554,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 557
    functionName: planm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int planm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:564,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: plang_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plang_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:574,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 577
    functionName: plan_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plan_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:584,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: plank_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plank_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:594,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: planc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int planc_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:604,1
    - Dst: plan_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplan.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 607
    functionName: planr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplan.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plan_print_page_loop
    linkageType: ''
    returnType: int
    signature: int planr_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_CONST_STRING
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:101,1
    - Dst: RELOC_PTRS_WITH
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:104,1
    - Dst: pcg
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:107,1
    - Dst: gs_is_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:142,1
    - Dst: ENUM_CONST_STRING2
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:143,1
    - Dst: ENUM_CONST_STRING
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 145
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - RELOC_PTRS_WITH
    - gs_is_c_glyph_name
    - ENUM_CONST_STRING
    - ENUM_CONST_STRING2
    - pcg
    linkageType: ''
    returnType: void
    signature: "void ENUM_PTRS_WITH(copied_glyph_element_enum_ptrs, gs_copied_glyph_t
      *pcg)\n     if (index < size / (uint)sizeof(gs_copied_glyph_t))\n         return
      ENUM_CONST_STRING(&pcg[index].gdata);\n     return 0;\nENUM_PTRS_END\nstatic
      RELOC_PTRS_WITH(copied_glyph_element_reloc_ptrs, gs_copied_glyph_t *pcg)\n{\n
      \   uint count = size / (uint)sizeof(gs_copied_glyph_t);\n    gs_copied_glyph_t
      *p = pcg;\n\n    for (; count > 0; --count, ++p)\n        if (p->gdata.size
      > 0)\n            RELOC_CONST_STRING_VAR(p->gdata);\n}\nRELOC_PTRS_END\n\n/*\n
      * Type 1 and TrueType fonts also have a 'names' table, parallel to the\n * 'glyphs'
      table.\n * For Type 1 fonts, this is a hash table; glyph numbers are assigned\n
      * arbitrarily, according to the hashed placement of the names.\n * For TrueType
      fonts, this is indexed by GID.\n * The strings in this table are either those
      returned by the font's\n * glyph_name procedure, which we assume are garbage-collected,
      or those\n * associated with the known encodings, which we assume are immutable.\n
      */\ntypedef struct gs_copied_glyph_name_s {\n    gs_glyph glyph;\t\t/* key (for
      comparison and glyph_name only) */\n    gs_const_string str;\t/* glyph name
      */\n} gs_copied_glyph_name_t;\n/*\n * We use the same special GC descriptor
      as above for 'names'.\n */\ngs_private_st_composite(st_gs_copied_glyph_name_element,\n
      \                       gs_copied_glyph_name_t,\n                        \"gs_copied_glyph_name_t[]\",\n
      \                       copied_glyph_name_enum_ptrs,\n                        copied_glyph_name_reloc_ptrs);\nstatic
      ENUM_PTRS_WITH(copied_glyph_name_enum_ptrs, gs_copied_glyph_name_t *pcgn)\n
      \    if (index < size / (uint)sizeof(gs_copied_glyph_name_t))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:157,1
    - Dst: RELOC_CONST_STRING_VAR
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - pcgn
    argTypes:
    - gs_copied_glyph_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - gs_is_c_glyph_name
    - RELOC_CONST_STRING_VAR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(copied_glyph_name_reloc_ptrs, gs_copied_glyph_name_t
      *pcgn)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dir::ccache::mark_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:223,1
    - Dst: dir::ccache::mark_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - dir::ccache::mark_glyph
    linkageType: ''
    returnType: void
    signature: "void ENUM_PTRS_WITH(gs_copied_font_data_enum_ptrs, gs_copied_font_data_t
      *cfdata)\n    /* See comments in gs_copy_font() below regarding the enumeration
      of names\n     * and the font's 'dir' member\n     */\n    if (index == 12 &&
      cfdata->dir != NULL)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:237,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:238,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:239,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:240,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cfdata
    argTypes:
    - gs_copied_font_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR3
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gs_copied_font_data_reloc_ptrs, gs_copied_font_data_t
      *cfdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: cf_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_copied_font_data_t
    signature: 'gs_copied_font_data_t *

      cf_data(const gs_font *font)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:271,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mem
    - pstr
    - cname
    argTypes:
    - gs_memory_t*
    - gs_const_string*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: copy_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: int copy_string(gs_memory_t *mem, gs_const_string *pstr, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - pstr
    - cname
    argTypes:
    - gs_memory_t*
    - gs_const_string*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 282
    functionName: uncopy_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_free_const_string
    linkageType: ''
    returnType: void
    signature: void uncopy_string(gs_memory_t *mem, gs_const_string *pstr, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:290,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - copied
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 302
    functionName: copied_Encoding_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_Encoding_alloc(gs_font *copied)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:311,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:312,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:317,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:319,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:320,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - copied
    - s
    - extra
    - code
    argTypes:
    - gs_font*
    - stream*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 325
    functionName: copied_data_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - stell
    - swrite_string
    - return_error
    - s_init
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_data_alloc(gs_font *copied, stream *s, uint extra, int code)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:343,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:348,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:355,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:356,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:359,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:360,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:361,1
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:366,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:371,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:373,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 4
    argNames:
    - pfont
    - global
    - psi
    - mem
    argTypes:
    - gs_font_type1*
    - bool
    - gs_subr_info_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 383
    functionName: copy_subrs
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::subr_data
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - memcpy
    - return_error
    - gs_glyph_data_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int copy_subrs(gs_font_type1 *pfont, bool global, gs_subr_info_t *psi,\n
      \          gs_memory_t *mem)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:412,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:418,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:421,1
    - Dst: gs_copied_font_data_t*::procs::named_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:423,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:429,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - cfdata
    - glyph
    - pslot
    argTypes:
    - gs_copied_font_data_t*
    - gs_glyph
    - gs_copied_glyph_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 431
    functionName: copied_glyph_slot
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_copied_font_data_t*::procs::named_glyph_slot
    linkageType: ''
    returnType: int
    signature: "int copied_glyph_slot(gs_copied_font_data_t *cfdata, gs_glyph glyph,\n
      \                 gs_copied_glyph_t **pslot)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cfdata
    - glyph
    - pslot
    argTypes:
    - gs_copied_font_data_t*
    - gs_glyph
    - gs_copied_glyph_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: named_glyph_slot_none
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int named_glyph_slot_none(gs_copied_font_data_t *cfdata, gs_glyph
      glyph,\n                        gs_copied_glyph_t **pslot)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:458,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - cfdata
    - glyph
    - pslot
    argTypes:
    - gs_copied_font_data_t*
    - gs_glyph
    - gs_copied_glyph_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 463
    functionName: named_glyph_slot_hashed
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int named_glyph_slot_hashed(gs_copied_font_data_t *cfdata, gs_glyph
      glyph,\n                        gs_copied_glyph_t **pslot)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cfdata
    - glyph
    - pslot
    argTypes:
    - gs_copied_font_data_t*
    - gs_glyph
    - gs_copied_glyph_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 489
    functionName: named_glyph_slot_linear
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int named_glyph_slot_linear(gs_copied_font_data_t *cfdata, gs_glyph
      glyph,\n                        gs_copied_glyph_t **pslot)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:502,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:505,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:508,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:513,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:514,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:517,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:523,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:525,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:528,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:532,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:535,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:536,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:548,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 7
    argNames:
    - font
    - glyph
    - copied
    - options
    - pgdata
    - prefix
    - prefix_bytes
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    - gs_glyph_data_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 550
    functionName: copy_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - gs_note_error
    - memcpy
    - memcmp
    - return_error
    - copied_glyph_slot
    - gs_glyph_data_free
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copy_glyph_data(gs_font *font, gs_glyph glyph, gs_font *copied,
      int options,\n                gs_glyph_data_t *pgdata, const byte *prefix, int
      prefix_bytes)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:560,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:562,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:567,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:569,1
    - Dst: gs_c_name_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:573,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:574,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:575,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:580,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:584,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:589,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - copied_glyph
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 598
    functionName: copy_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::glyph_name
    - copy_string
    - gs_c_glyph_name
    - gs_c_name_glyph
    - memcmp
    - return_error
    - copied_glyph_slot
    - cf_data
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int copy_glyph_name(gs_font *font, gs_glyph glyph, gs_font *copied,\n
      \               gs_glyph copied_glyph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:609,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:612,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 615
    functionName: find_notdef
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_base*::procs::enumerate_glyph
    - gs_font_glyph_is_notdef
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph find_notdef(gs_font_base *font)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:623,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:629,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:631,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:633,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:634,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:638,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - copied
    - chr
    - glyph
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 620
    functionDepth: 2
    functionLinenumber: 620
    functionLinenumberEnd: 641
    functionName: copied_char_add_encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - copied_glyph_slot
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_char_add_encoding(gs_font *copied, gs_char chr, gs_glyph
      glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - copied
    - chr
    - glyph
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 648
    functionName: copied_no_add_encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int copied_no_add_encoding(gs_font *copied, gs_char chr, gs_glyph glyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:657,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - font
    - pscale
    - members
    - info
    argTypes:
    - gs_font*
    - gs_point*
    - int
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 660
    functionName: copied_font_info
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_font_info(gs_font *font, const gs_point *pscale, int members,\n
      \                gs_font_info_t *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - copied
    - chr
    - glyph_space
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 671
    functionName: copied_encode_char
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - cf_data
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph copied_encode_char(gs_font *copied, gs_char chr, gs_glyph_space_t
      glyph_space)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:677,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - font
    - pindex
    - glyph_space
    - pglyph
    argTypes:
    - gs_font*
    - int*
    - gs_glyph_space_t
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 703
    functionName: copied_enumerate_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_enumerate_glyph(gs_font *font, int *pindex,\n                       gs_glyph_space_t
      glyph_space, gs_glyph *pglyph)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:708,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:712,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:713,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - font
    - glyph
    - pstr
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 717
    functionName: copied_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - copied_glyph_slot
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_glyph_name(gs_font *font, gs_glyph glyph, gs_const_string
      *pstr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:730,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:732,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:738,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:739,1
    - Dst: gs_setcachedevice_double
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:752,1
    - Dst: gs_font*::procs::glyph_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:753,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:753,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:758,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:759,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:761,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 5
    argNames:
    - pte
    - pgs
    - font
    - chr
    - glyph
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - gs_font*
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 763
    functionName: copied_build_char
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_stroke
    - gs_setlinewidth
    - gs_setcachedevice_double
    - ctm_only
    - gs_font*::procs::glyph_info
    - gs_fill
    - gs_moveto
    - gs_font*::procs::encode_char
    - gs_font*::procs::glyph_outline
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_build_char(gs_show_enum *pte, gs_gstate *pgs, gs_font *font,\n
      \                 gs_char chr, gs_glyph glyph)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - v0
    - l0
    - v1
    - l1
    argTypes:
    - float*
    - int
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 773
    functionName: compare_arrays
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool compare_arrays(const float *v0, int l0, const float *v1, int l1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 776
    functionName: compare_tables
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_tables(a, b)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:791,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:794,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:801,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:802,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:803,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:804,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:827,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:828,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:829,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:832,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:836,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:838,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:841,1
    - Dst: compare_glyphs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:843,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:849,1
    - Dst: gs_font_type1*::data::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:876,1
    - Dst: gs_font_type1*::data::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:877,1
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:884,1
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:885,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:889,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:890,1
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:900,1
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:901,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:905,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:909,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:914,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:919,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:921,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:922,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 108
    argCount: 6
    argNames:
    - cfont
    - ofont
    - glyphs
    - num_glyphs
    - glyphs_step
    - level
    argTypes:
    - gs_font*
    - gs_font*
    - gs_glyph*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 926
    functionName: compare_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - gs_font_cid0*::cidata::glyph_data
    - countof
    - gs_font_type42*::data::get_glyph_index
    - gs_alloc_bytes
    - compare_glyphs
    - gs_font_type42*::data::get_outline
    - gs_font*::procs::glyph_info
    - memset
    - gs_make_identity
    - memcmp
    - return_error
    - gs_font_type1*::data::procs::glyph_data
    - gs_glyph_data_free
    - cf_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int compare_glyphs(const gs_font *cfont, const gs_font *ofont, gs_glyph
      *glyphs,\n                           int num_glyphs, int glyphs_step, int level)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:936,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:938,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pfont
    - glyph
    - pgd
    argTypes:
    - gs_font_type1*
    - gs_glyph
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 945
    functionName: copied_type1_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_glyph_slot
    - gs_glyph_data_from_string
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_type1_glyph_data(gs_font_type1 * pfont, gs_glyph glyph,\n
      \                       gs_glyph_data_t *pgd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:951,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:956,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pfont
    - subr_num
    - global
    - pgd
    argTypes:
    - gs_font_type1*
    - int
    - bool
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 962
    functionName: copied_type1_subr_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_glyph_data_from_string
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_type1_subr_data(gs_font_type1 * pfont, int subr_num, bool
      global,\n                       gs_glyph_data_t *pgd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:972,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:977,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:978,1
    - Dst: gs_font_type1*::dir::global_glyph_code
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:981,1
    - Dst: copied_type1_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:987,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 5
    argNames:
    - pfont
    - ccode
    - pglyph
    - gstr
    - pgd
    argTypes:
    - gs_font_type1*
    - int
    - gs_glyph*
    - gs_const_string*
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 990
    functionName: copied_type1_seac_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_type1_glyph_data
    - gs_font_type1*::dir::global_glyph_code
    - gs_c_glyph_name
    - return_error
    - gs_c_known_encode
    linkageType: ''
    returnType: int
    signature: "int copied_type1_seac_data(gs_font_type1 * pfont, int ccode,\n                       gs_glyph
      * pglyph, gs_const_string *gstr, gs_glyph_data_t *pgd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - callback_data
    - values
    - count
    argTypes:
    - void*
    - fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: copied_type1_push_values
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int copied_type1_push_values(void *callback_data, const fixed *values,
      int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - callback_data
    - value
    argTypes:
    - void*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 998
    functionDepth: 1
    functionLinenumber: 998
    functionLinenumberEnd: 1002
    functionName: copied_type1_pop_value
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int copied_type1_pop_value(void *callback_data, fixed *value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1009,1
    - Dst: find_notdef
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1012,1
    - Dst: copied_Encoding_alloc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1013,1
    - Dst: copy_subrs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1016,1
    - Dst: copy_subrs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1017,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1019,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - font
    - copied
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1004
    functionDepth: 2
    functionLinenumber: 1004
    functionLinenumberEnd: 1034
    functionName: copy_font_type1
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_Encoding_alloc
    - find_notdef
    - copy_subrs
    - cf_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int copy_font_type1(gs_font *font, gs_font *copied)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type1*::data::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1045,1
    - Dst: copy_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1048,1
    - Dst: copy_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - options
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1055
    functionName: copy_glyph_type1
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copy_glyph_name
    - copy_glyph_data
    - gs_font_type1*::data::procs::glyph_data
    linkageType: ''
    returnType: int
    signature: int copy_glyph_type1(gs_font *font, gs_glyph glyph, gs_font *copied,
      int options)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1077,1
    - Dst: gs_font_type1*::data::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1080,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1083,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1084,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1087,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1091,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1092,1
    - Dst: gs_type1_interp_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1095,1
    - Dst: gs_font_type1*::data::interpret
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1104,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1111,1
    - Dst: type1_cis_get_metrics
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1117
    functionName: copied_type1_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_type1_interp_init
    - gs_font_type1*::data::interpret
    - max
    - type1_cis_get_metrics
    - memset
    - gs_make_identity
    - gs_matrix_fixed_from_matrix
    - return_error
    - gs_font_type1*::data::procs::glyph_data
    linkageType: ''
    returnType: int
    signature: "int copied_type1_glyph_outline(gs_font *font, int WMode, gs_glyph
      glyph,\n                           const gs_matrix *pmat, gx_path *ppath, double
      sbw[4])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1132,1
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1136,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1150,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1151,1
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1163,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1177,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1178,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - pfont
    argTypes:
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1183
    functionName: hash_subrs
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::subr_data
    - gs_md5_finish
    - gs_md5_init
    - gs_md5_append
    - gs_glyph_data_free
    linkageType: ''
    returnType: void
    signature: void hash_subrs(gs_font_type1 *pfont)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1210,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1212,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1216,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1220,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1222,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1224,1
    - Dst: compare_tables
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1226,1
    - Dst: hash_subrs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1229,1
    - Dst: hash_subrs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1231,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1232,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 38
    argCount: 2
    argNames:
    - cfont
    - ofont
    argTypes:
    - gs_font_type1*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1241
    functionName: same_type1_hinting
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - hash_subrs
    - compare_tables
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool same_type1_hinting(const gs_font_type1 *cfont, const gs_font_type1
      *ofont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - font
    - offset
    - len
    - pstr
    argTypes:
    - gs_font_type42*
    - ulong
    - uint
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1255
    functionName: copied_type42_string_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int copied_type42_string_proc(gs_font_type42 *font, ulong offset,
      uint len,\n                          const byte **pstr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1265,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1268,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - font
    - glyph_index
    - pgd
    argTypes:
    - gs_font_type42*
    - uint
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1257
    functionDepth: 1
    functionLinenumber: 1257
    functionLinenumberEnd: 1272
    functionName: copied_type42_get_outline
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_glyph_data_from_null
    - gs_glyph_data_from_string
    linkageType: ''
    returnType: int
    signature: "int copied_type42_get_outline(gs_font_type42 *font, uint glyph_index,\n
      \                         gs_glyph_data_t *pgd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_metrics_options_wmode
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1281,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1284,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1287,1
    - Dst: gs_type42_default_get_metrics
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - options
    - sbw
    argTypes:
    - gs_font_type42*
    - uint
    - gs_type42_metrics_options_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1289
    functionName: copied_type42_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_type42_default_get_metrics
    - gs_type42_metrics_options_wmode
    linkageType: ''
    returnType: int
    signature: "int copied_type42_get_metrics(gs_font_type42 * pfont, uint glyph_index,\n
      \                         gs_type42_metrics_options_t options, float *sbw)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1294,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - font
    - glyph
    argTypes:
    - gs_font_type42*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1301
    functionName: copied_type42_get_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_glyph_slot
    - cf_data
    linkageType: ''
    returnType: uint
    signature: uint copied_type42_get_glyph_index(gs_font_type42 *font, gs_glyph glyph)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1308,1
    - Dst: find_notdef
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1318,1
    - Dst: copied_Encoding_alloc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1319,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1322,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1323,1
    - Dst: psf_write_truetype_stripped
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1324,1
    - Dst: psf_write_cid2_stripped
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1325,1
    - Dst: copied_data_alloc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1326,1
    - Dst: psf_write_truetype_stripped
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1330,1
    - Dst: psf_write_cid2_stripped
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1332,1
    - Dst: gs_type42_font_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1335,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1353,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1358,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1361,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 2
    argNames:
    - font
    - copied
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1303
    functionDepth: 2
    functionLinenumber: 1303
    functionLinenumberEnd: 1364
    functionName: copy_font_type42
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_Encoding_alloc
    - psf_write_truetype_stripped
    - find_notdef
    - copied_data_alloc
    - psf_write_cid2_stripped
    - gs_type42_font_init
    - memset
    - swrite_position_only
    - s_init
    - cf_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int copy_font_type42(gs_font *font, gs_font *copied)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid2*::cidata::CIDMap_proc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1375,1
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1376,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1379,1
    - Dst: gs_font_cid2*::data::substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1393,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1396,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1404,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1405,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1407,1
    - Dst: copy_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1413,1
    - Dst: copy_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1419,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1421,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1421,1
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - options
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1366
    functionDepth: 3
    functionLinenumber: 1366
    functionLinenumberEnd: 1438
    functionName: copy_glyph_type42
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - DISCARD
    - gs_font_type42*::data::get_glyph_index
    - gs_font*::procs::glyph_name
    - copy_glyph_name
    - copied_glyph_slot
    - gs_font_type42*::data::get_metrics
    - gs_font_type42*::data::get_outline
    - copy_glyph_data
    - memcmp
    - gs_font_cid2*::cidata::CIDMap_proc
    - cf_data
    - gs_font_cid2*::data::substitute_glyph_index_vertical
    linkageType: ''
    returnType: int
    signature: int copy_glyph_type42(gs_font *font, gs_glyph glyph, gs_font *copied,
      int options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1444,1
    - Dst: named_glyph_slot_linear
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - copied
    - chr
    - glyph_space
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1461
    functionName: copied_type42_encode_char
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - named_glyph_slot_linear
    - cf_data
    linkageType: ''
    returnType: gs_glyph
    signature: "gs_glyph copied_type42_encode_char(gs_font *copied, gs_char chr,\n
      \                         gs_glyph_space_t glyph_space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::string_proc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pfont
    - base
    - length
    - vptr
    argTypes:
    - gs_font_type42*
    - ulong
    - ulong
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1469
    functionDepth: 0
    functionLinenumber: 1469
    functionLinenumberEnd: 1474
    functionName: access_type42_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_type42*::data::string_proc
    linkageType: ''
    returnType: int
    signature: "int access_type42_data(gs_font_type42 *pfont, ulong base, ulong length,\n
      \                  const byte **vptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1476
    functionDepth: 0
    functionLinenumber: 1476
    functionLinenumberEnd: 1480
    functionName: U16
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint U16(const byte *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - font0
    - font1
    argTypes:
    - gs_font_type42*
    - gs_font_type42*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1496
    functionName: same_maxp_values
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int same_maxp_values(gs_font_type42 *font0, gs_font_type42 *font1)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1511,1
    - Dst: access_type42_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1516,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1519,1
    - Dst: access_type42_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1525,1
    - Dst: get_u32_msb
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1528,1
    - Dst: get_u32_msb
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1529,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1530,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1532,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1534,1
    - Dst: access_type42_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1549,1
    - Dst: access_type42_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1553,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1557,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1558,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - font0
    - font1
    argTypes:
    - gs_font_type42*
    - gs_font_type42*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1498
    functionDepth: 1
    functionLinenumber: 1498
    functionLinenumberEnd: 1567
    functionName: same_type42_hinting
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - access_type42_data
    - U16
    - get_u32_msb
    - memset
    - memcmp
    - min
    linkageType: ''
    returnType: int
    signature: int same_type42_hinting(gs_font_type42 *font0, gs_font_type42 *font1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1574,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - font
    - copied
    - pcdata
    argTypes:
    - gs_font*
    - gs_font*
    - gs_font_cid_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1571
    functionDepth: 2
    functionLinenumber: 1571
    functionLinenumberEnd: 1578
    functionName: copy_font_cid_common
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copy_string
    linkageType: ''
    returnType: int
    signature: int copy_font_cid_common(gs_font *font, gs_font *copied, gs_font_cid_data
      *pcdata)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1587,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1589,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1597,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1598,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1604,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - font
    - glyph
    - pgd
    - pfidx
    argTypes:
    - gs_font_base*
    - gs_glyph
    - gs_glyph_data_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1607
    functionName: copied_cid0_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_glyph_data_from_null
    - return_error
    - copied_glyph_slot
    - gs_glyph_data_from_string
    - cf_data
    linkageType: ''
    returnType: int
    signature: "int copied_cid0_glyph_data(gs_font_base *font, gs_glyph glyph,\n                       gs_glyph_data_t
      *pgd, int *pfidx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copied_cid0_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1613,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfont
    - glyph
    - pgd
    argTypes:
    - gs_font_type1*
    - gs_glyph
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1608
    functionDepth: 3
    functionLinenumber: 1608
    functionLinenumberEnd: 1615
    functionName: copied_sub_type1_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - cf_data
    - copied_cid0_glyph_data
    linkageType: ''
    returnType: int
    signature: "int copied_sub_type1_glyph_data(gs_font_type1 * pfont, gs_glyph glyph,\n
      \                           gs_glyph_data_t *pgd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: copied_cid0_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1621,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - copied
    - glyph
    - pfont1
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font_type1**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1617
    functionDepth: 3
    functionLinenumber: 1617
    functionLinenumberEnd: 1632
    functionName: cid0_subfont
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - copied_cid0_glyph_data
    linkageType: ''
    returnType: int
    signature: int cid0_subfont(gs_font *copied, gs_glyph glyph, gs_font_type1 **pfont1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cid0_subfont
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1639,1
    - Dst: gs_font_type1*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1651,1
    - Dst: gs_font_type1*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1634
    functionDepth: 4
    functionLinenumber: 1634
    functionLinenumberEnd: 1666
    functionName: copied_cid0_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::procs::font_info
    - gs_font_type1*::procs::glyph_info
    - cid0_subfont
    linkageType: ''
    returnType: int
    signature: "int copied_cid0_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                       int members, gs_glyph_info_t *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cid0_subfont
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1673,1
    - Dst: gs_font_type1*::procs::glyph_outline
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1668
    functionDepth: 4
    functionLinenumber: 1668
    functionLinenumberEnd: 1679
    functionName: copied_cid0_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::procs::glyph_outline
    - cid0_subfont
    linkageType: ''
    returnType: int
    signature: "int copied_cid0_glyph_outline(gs_font *font, int WMode, gs_glyph glyph,\n
      \                         const gs_matrix *pmat, gx_path *ppath, double sbw[4])"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1685,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1687,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1693,1
    - Dst: copy_font_cid_common
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1694,1
    - Dst: copy_subrs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1706,1
    - Dst: gs_copy_font
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1711,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1716,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1718,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1726,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1728,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1746,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1747,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - font
    - copied
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1681
    functionDepth: 3
    functionLinenumber: 1681
    functionLinenumberEnd: 1749
    functionName: copy_font_cid0
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - copy_font_cid_common
    - gs_copy_font
    - copy_subrs
    - return_error
    - cf_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int copy_font_cid0(gs_font *font, gs_font *copied)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1764,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1771,1
    - Dst: copy_glyph_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1772,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - options
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1751
    functionDepth: 3
    functionLinenumber: 1751
    functionLinenumberEnd: 1773
    functionName: copy_glyph_cid0
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_cid0*::cidata::glyph_data
    - return_error
    - copy_glyph_data
    linkageType: ''
    returnType: int
    signature: int copy_glyph_cid0(gs_font *font, gs_glyph glyph, gs_font *copied,
      int options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: same_type1_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1792,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cfont
    - ofont
    argTypes:
    - gs_font_cid0*
    - gs_font_cid0*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1781
    functionDepth: 3
    functionLinenumber: 1781
    functionLinenumberEnd: 1796
    functionName: same_cid0_hinting
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - same_type1_hinting
    linkageType: ''
    returnType: int
    signature: int same_cid0_hinting(const gs_font_cid0 *cfont, const gs_font_cid0
      *ofont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1804,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - fcid2
    - glyph
    argTypes:
    - gs_font_cid2*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1812
    functionName: copied_cid2_CIDMap_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_cid2_CIDMap_proc(gs_font_cid2 *fcid2, gs_glyph glyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: copied_cid2_CIDMap_proc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - font
    - glyph
    argTypes:
    - gs_font_type42*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1814
    functionDepth: 2
    functionLinenumber: 1814
    functionLinenumberEnd: 1822
    functionName: copied_cid2_get_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - copied_cid2_CIDMap_proc
    linkageType: ''
    returnType: uint
    signature: uint copied_cid2_get_glyph_index(gs_font_type42 *font, gs_glyph glyph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1830,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1834,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1838,1
    - Dst: copy_font_cid_common
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1839,1
    - Dst: copy_font_type42
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1841,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1843,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1847,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1859,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1860,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1863,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - font
    - copied
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1826
    functionDepth: 3
    functionLinenumber: 1826
    functionLinenumberEnd: 1867
    functionName: copy_font_cid2
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - rc_increment
    - rc_alloc_struct_1
    - copy_font_cid_common
    - memset
    - copy_font_type42
    - return_error
    - cf_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int copy_font_cid2(gs_font *font, gs_font *copied)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1872,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1877,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1880,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1881,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - copied2
    - CIDCount
    argTypes:
    - gs_font_cid2*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1887
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1887
    functionName: expand_CIDMap
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - memset
    - memcpy
    - return_error
    - cf_data
    linkageType: ''
    returnType: int
    signature: int expand_CIDMap(gs_font_cid2 *copied2, uint CIDCount)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1893,1
    - Dst: expand_CIDMap
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1902,1
    - Dst: gs_font_cid2*::cidata::CIDMap_proc
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1906,1
    - Dst: data::substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1915,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1917,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1919,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1921,1
    - Dst: copy_glyph_type42
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1922,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1929,1
    - Dst: copy_glyph_type42
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1930,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - options
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1889
    functionDepth: 4
    functionLinenumber: 1889
    functionLinenumberEnd: 1935
    functionName: copy_glyph_cid2
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - data::substitute_glyph_index_vertical
    - expand_CIDMap
    - copy_glyph_type42
    - return_error
    - gs_font_cid2*::cidata::CIDMap_proc
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copy_glyph_cid2(gs_font *font, gs_glyph glyph, gs_font *copied,
      int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: same_type42_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cfont
    - ofont
    argTypes:
    - gs_font_cid2*
    - gs_font_cid2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 1947
    functionName: same_cid2_hinting
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - same_type42_hinting
    linkageType: ''
    returnType: int
    signature: int same_cid2_hinting(const gs_font_cid2 *cfont, const gs_font_cid2
      *ofont)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1990,1
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:1991,1
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2021,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2040,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2043,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2044,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2076,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2081,1
    - Dst: gs_font*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2083,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2093,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2097,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2100,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2107,1
    - Dst: gs_notify_init
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2111,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2114,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2118,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2122,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2157,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2159,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2161,1
    - Dst: copy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2163,1
    - Dst: uid_copy
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2180,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2186,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2192,1
    - Dst: gs_copied_font_procs_t*::finish_copy_font
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2203,1
    - Dst: gs_copy_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2209,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2215,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2217,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2219,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2221,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2223,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2225,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2226,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2227,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 124
    argCount: 5
    argNames:
    - font
    - orig_matrix
    - mem
    - pfont_new
    - max_reserved_glyphs
    argTypes:
    - gs_font*
    - gs_matrix*
    - gs_memory_t*
    - gs_font**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 1987
    functionDepth: 2
    functionLinenumber: 1987
    functionLinenumberEnd: 2229
    functionName: gs_copy_font
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - count_of
    - uncopy_string
    - gs_note_error
    - gs_struct_type_size
    - copy_string
    - gs_font*::procs::font_info
    - gs_copied_font_procs_t*::finish_copy_font
    - uid_copy
    - gs_object_type
    - memset
    - memcpy
    - gs_free_object
    - gs_copy_glyph
    - return_error
    - gs_font*::procs::enumerate_glyph
    - gs_notify_init
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int gs_copy_font(gs_font *font, const gs_matrix *orig_matrix, gs_memory_t
      *mem, gs_font **pfont_new, int max_reserved_glyphs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2240,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2242,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2244,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2246,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2249,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2250,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2251,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2252,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2234
    functionDepth: 2
    functionLinenumber: 2234
    functionLinenumberEnd: 2256
    functionName: gs_free_copied_descendant_font
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - uncopy_string
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_free_copied_descendant_font(gs_font *font)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_copied_descendant_font
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2272,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2276,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2285,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2289,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2291,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2293,1
    - Dst: uncopy_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2295,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2298,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2299,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2300,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2301,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2302,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2304,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2258
    functionDepth: 3
    functionLinenumber: 2258
    functionLinenumberEnd: 2306
    functionName: gs_free_copied_font
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - uncopy_string
    - gs_free_string
    - gs_free_copied_descendant_font
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_free_copied_font(gs_font *font)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_copy_glyph_options
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - font
    - glyph
    - copied
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2311
    functionDepth: 1
    functionLinenumber: 2311
    functionLinenumberEnd: 2315
    functionName: gs_copy_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - gs_copy_glyph_options
    linkageType: ''
    returnType: int
    signature: int gs_copy_glyph(gs_font *font, gs_glyph glyph, gs_font *copied)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2326,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2327,1
    - Dst: copy_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2327,1
    - Dst: psf_add_subset_pieces
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2332,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2337,1
    - Dst: gs_copy_glyph_options
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2339,1
    - Dst: copy_glyph_name
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2356,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2387,1
    - Dst: copied_glyph_slot
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2387,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2387,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2388,1
    - Dst: gs_type1_piece_codes
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2390,1
    - Dst: gs_copied_font_add_encoding
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2392,1
    - Dst: gs_copied_font_add_encoding
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2393,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 39
    argCount: 4
    argNames:
    - font
    - glyph
    - copied
    - options
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2316
    functionDepth: 3
    functionLinenumber: 2316
    functionLinenumberEnd: 2400
    functionName: gs_copy_glyph_options
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 2
    functionsReached:
    - gs_type1_piece_codes
    - DISCARD
    - psf_add_subset_pieces
    - gs_copy_glyph_options
    - gs_copied_font_add_encoding
    - copy_glyph
    - return_error
    - copied_glyph_slot
    - gs_glyph_data_from_string
    - cf_data
    - copy_glyph_name
    linkageType: ''
    returnType: int
    signature: "int gs_copy_glyph_options(gs_font *font, gs_glyph glyph, gs_font *copied,\n
      \                     int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2412,1
    - Dst: gs_copied_font_data_t*::procs::add_encoding
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - copied
    - chr
    - glyph
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2414
    functionName: gs_copied_font_add_encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_copied_font_data_t*::procs::add_encoding
    - cf_data
    linkageType: ''
    returnType: int
    signature: int gs_copied_font_add_encoding(gs_font *copied, gs_char chr, gs_glyph
      glyph)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2439,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2445,1
    - Dst: gs_copy_glyph
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2446,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2454,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2456,1
    - Dst: gs_copied_font_add_encoding
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2459,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 29
    argCount: 2
    argNames:
    - font
    - copied
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2481
      start: 2421
    functionDepth: 2
    functionLinenumber: 2421
    functionLinenumberEnd: 2481
    functionName: gs_copy_font_complete
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_copied_font_add_encoding
    - gs_copy_glyph
    - return_error
    - gs_font*::procs::enumerate_glyph
    - gs_font*::procs::encode_char
    - cf_data
    linkageType: ''
    returnType: int
    signature: int gs_copy_font_complete(gs_font *font, gs_font *copied)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2505,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2510,1
    - Dst: same_type1_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2518,1
    - Dst: same_type42_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2524,1
    - Dst: same_maxp_values
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2527,1
    - Dst: gs_is_CIDSystemInfo_compatible
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2531,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2532,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2533,1
    - Dst: same_cid0_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2535,1
    - Dst: gs_is_CIDSystemInfo_compatible
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2539,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2540,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2541,1
    - Dst: same_cid2_hinting
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2543,1
    - Dst: same_maxp_values
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2546,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2550,1
    - Dst: compare_glyphs
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2555,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 6
    argNames:
    - cfont
    - ofont
    - glyphs
    - num_glyphs
    - glyphs_step
    - check_hinting
    argTypes:
    - gs_font*
    - gs_font*
    - gs_glyph*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2490
    functionDepth: 4
    functionLinenumber: 2490
    functionLinenumberEnd: 2556
    functionName: gs_copied_can_copy_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_font_cid_system_info
    - same_type42_hinting
    - same_cid2_hinting
    - compare_glyphs
    - same_type1_hinting
    - gs_is_CIDSystemInfo_compatible
    - same_maxp_values
    - same_cid0_hinting
    - memcmp
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_copied_can_copy_glyphs(const gs_font *cfont, const gs_font
      *ofont,\n                          gs_glyph *glyphs, int num_glyphs, int glyphs_step,\n
      \                         bool check_hinting)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2576,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2578,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2591,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2601,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2602,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2611,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2612,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2613,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 25
    argCount: 1
    argNames:
    - copied
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2622
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2622
    functionName: copied_drop_extension_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - strlen
    - bytes_compare
    - cf_data
    - memcmp
    linkageType: ''
    returnType: int
    signature: int copied_drop_extension_glyphs(gs_font *copied)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pg1
    - pg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2631
    functionName: compare_glyph_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int compare_glyph_names(const void *pg1, const void *pg2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2639,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2642,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2647,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2651,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2654,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - cfdata
    - memory
    argTypes:
    - gs_copied_font_data_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2656
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2656
    functionName: order_font_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - qsort
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int order_font_data(gs_copied_font_data_t *cfdata, gs_memory_t *memory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2664,1
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2669,1
    - Dst: order_font_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2671,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2673
      start: 2659
    functionDepth: 2
    functionLinenumber: 2659
    functionLinenumberEnd: 2673
    functionName: copied_order_font
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - return_error
    - order_font_data
    - cf_data
    linkageType: ''
    returnType: int
    signature: int copied_order_font(gs_font *font)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cf_data
      Src: /src/libspectre/ghostscript/devices/gxfcopy.c:2679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2676
    functionDepth: 1
    functionLinenumber: 2676
    functionLinenumberEnd: 2682
    functionName: copied_get_notdef
    functionSourceFile: /src/libspectre/ghostscript/devices/gxfcopy.c
    functionUses: 0
    functionsReached:
    - cf_data
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph copied_get_notdef(const gs_font *font)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - in
    - out
    - scanBits
    - lineSize
    argTypes:
    - byte*
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 126
    functionName: oki_transpose
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevo182.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void oki_transpose(byte *in, byte *out, int scanBits, register int
      lineSize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - in
    - origWidth
    - highRes
    - numSpaces
    - newWidth
    argTypes:
    - byte*
    - int
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 177
    functionName: oki_compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevo182.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: byte
    signature: "byte *\noki_compress(byte *in, int origWidth, int highRes,\n                        int
      *numSpaces, int *newWidth)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:189,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:191,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:193,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:194,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:203,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:209,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:212,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:220,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:225,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:237,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:241,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:246,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:255,1
    - Dst: oki_transpose
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:259,1
    - Dst: oki_transpose
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:260,1
    - Dst: oki_transpose
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:263,1
    - Dst: oki_compress
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:265,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:269,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:271,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:272,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:276,1
    - Dst: oki_compress
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:277,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:280,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:281,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:282,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:283,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:285,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:292,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:293,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:297,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:300,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevo182.c:303,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 72
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 306
    functionName: oki_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevo182.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fflush
    - oki_compress
    - gdev_prn_copy_scan_lines
    - gdev_prn_raster
    - gp_fprintf
    - memset
    - memcmp
    - oki_transpose
    - gp_fputc
    - gs_malloc
    - gs_note_error
    - gs_free
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int oki_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 617
    functionName: RESCODE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESCODE( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - index
    - ','
    - c
    - ','
    - m
    - ','
    - y
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: DECOMPOSE_CMYK
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECOMPOSE_CMYK( index, c, m, y, k )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - y
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 720
    functionName: BUILD_CMYK
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUILD_CMYK( c, m, y, k )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 829
    functionName: SendByte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SendByte( s, x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 832
    functionName: SendWord
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SendWord( s, x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1355,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - DEV*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1343
    functionDepth: 1
    functionLinenumber: 1343
    functionLinenumberEnd: 1357
    functionName: photoex_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    linkageType: ''
    returnType: int
    signature: int photoex_open( DEV *pdev )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BUILD_CMYK
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1386,1
    - Dst: BUILD_CMYK
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1393,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1402,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1402,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1407,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1407,1
    - Dst: Cmy2A
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1411,1
    - Dst: BUILD_CMYK
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - dev
    - prgb
    argTypes:
    - DEV*
    - CVAL[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1427
    functionName: photoex_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - BUILD_CMYK
    - min
    - Cmy2A
    - max
    linkageType: ''
    returnType: CINX
    signature: CINX photoex_map_rgb_color( DEV *dev, const CVAL prgb[] )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECOMPOSE_CMYK
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1445,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1457,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1458,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 3
    argNames:
    - dev
    - index
    - prgb
    argTypes:
    - DEV*
    - CINX
    - CVAL[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1438
    functionDepth: 1
    functionLinenumber: 1438
    functionLinenumberEnd: 1473
    functionName: photoex_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - min
    - DECOMPOSE_CMYK
    linkageType: ''
    returnType: int
    signature: int photoex_map_color_rgb( DEV *dev, CINX index, CVAL prgb[] )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: photoex_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1482
    functionName: photoex_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - photoex_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index photoex_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: photoex_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1491
    functionName: photoex_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - photoex_map_color_rgb
    linkageType: ''
    returnType: int
    signature: int photoex_decode_color(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1514,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1514,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1529,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - c
    - m
    - y
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1561
    functionName: Cmy2A
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: int
    signature: int Cmy2A( int c, int m, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1579,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1581,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1582,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1583,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1584,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1585,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1586,1
    - Dst: GetInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - device
    - plist
    argTypes:
    - DEV*
    - PLIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1589
      start: 1572
    functionDepth: 1
    functionLinenumber: 1572
    functionLinenumberEnd: 1589
    functionName: photoex_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - GetInt
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int photoex_get_params( DEV *device, PLIST *plist )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1604,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1605,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1606,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1607,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1608,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1609,1
    - Dst: PutInt
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1610,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - device
    - plist
    argTypes:
    - DEV*
    - PLIST*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1596
    functionDepth: 1
    functionLinenumber: 1596
    functionLinenumberEnd: 1617
    functionName: photoex_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - PutInt
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int photoex_put_params( DEV *device, PLIST *plist )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: val::val
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1635,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1637,1
    - Dst: maxval::maxval
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1646,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1648,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 6
    argNames:
    - plist
    - name
    - val
    - minval
    - maxval
    - code
    argTypes:
    - PLIST*
    - PNAME
    - int*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1659
    functionName: PutInt
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - param_signal_error
    - val::val
    - param_read_int
    - maxval::maxval
    linkageType: ''
    returnType: int
    signature: "int PutInt( PLIST *plist, PNAME name, int *val,\n                                                int
      minval, int maxval, int code )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - list
    - name
    - value
    - code
    argTypes:
    - PLIST*
    - PNAME
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1666
    functionDepth: 0
    functionLinenumber: 1666
    functionLinenumberEnd: 1670
    functionName: GetInt
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int GetInt( PLIST *list, PNAME name, int *value, int code )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1707,1
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1713,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1740,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1742,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1744,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1747,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1748,1
    - Dst: SendReset
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1765,1
    - Dst: SendReset
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1766,1
    - Dst: SendGmode
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1767,1
    - Dst: SendUnit
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1772,1
    - Dst: RESCODE
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1772,1
    - Dst: SendPaper
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1776,1
    - Dst: SendMargin
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1777,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1777,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1778,1
    - Dst: SendInk
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1784,1
    - Dst: SendInk
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1786,1
    - Dst: SendMicro
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1790,1
    - Dst: SendUnidir
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1791,1
    - Dst: RenderPage
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1795,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1801,1
    - Dst: SendReset
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1802,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1806,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1807,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - device
    - stream
    argTypes:
    - PDEV*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1809
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1809
    functionName: photoex_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - dev_b_margin
    - dev_l_margin
    - SendReset
    - gdev_prn_raster
    - SendGmode
    - RESCODE
    - SendPaper
    - SendUnidir
    - SendUnit
    - SendMargin
    - dev_t_margin
    - SendMicro
    - RenderPage
    - SendInk
    - SendByte
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: int
    signature: int photoex_print_page( PDEV *device, gp_file *stream )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: HalftoneThold
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1827,1
    - Dst: ScheduleLines
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1841,1
    - Dst: RenderLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1850,1
    - Dst: SendDown
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1891,1
    - Dst: SendColour
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1897,1
    - Dst: SendRight
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1903,1
    - Dst: SendRight
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1907,1
    - Dst: SendRight
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1909,1
    - Dst: SendData
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1913,1
    - Dst: RleCompress
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1922,1
    - Dst: RleCompress
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1926,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1930,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1933,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 1
    argNames:
    - p
    argTypes:
    - RENDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1945
    functionName: RenderPage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - ScheduleLines
    - RleCompress
    - RenderLine
    - SendData
    - SendByte
    - HalftoneThold
    - SendDown
    - SendRight
    - gp_fwrite
    - SendColour
    linkageType: ''
    returnType: int
    signature: int RenderPage( RENDER *p )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1964,1
    - Dst: IsScanlineEmpty
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1968,1
    - Dst: HalftoneLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:1989,1
    - Dst: HalftonerStart
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2001,1
    - Dst: HalftoneLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2006,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 2010
    functionName: RenderLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - IsScanlineEmpty
    - HalftoneLine
    - gdev_prn_get_bits
    - HalftonerStart
    linkageType: ''
    returnType: int
    signature: int RenderLine( RENDER *p, int line )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - r
    - line
    argTypes:
    - RENDER*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2017
    functionDepth: 0
    functionLinenumber: 2017
    functionLinenumberEnd: 2030
    functionName: IsScanlineEmpty
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int IsScanlineEmpty( RENDER *r, byte *line )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SchedulerInit
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2065,1
    - Dst: ScheduleLeading
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2093,1
    - Dst: ScheduleTrailing
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2102,1
    - Dst: ScheduleMiddle
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - p
    argTypes:
    - SCHEDUL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2116
    functionName: ScheduleLines
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - ScheduleLeading
    - SchedulerInit
    - ScheduleTrailing
    - ScheduleMiddle
    linkageType: ''
    returnType: int
    signature: int ScheduleLines( SCHEDUL *p )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - SCHEDUL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2153
    functionName: SchedulerInit
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SchedulerInit( SCHEDUL *p )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2168,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2199,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2218,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - p
    argTypes:
    - SCHEDUL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2160
    functionDepth: 0
    functionLinenumber: 2160
    functionLinenumberEnd: 2244
    functionName: ScheduleLeading
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void ScheduleLeading( SCHEDUL *p )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ScheduleBand
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2262,1
    - Dst: ScheduleBand
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - p
    argTypes:
    - SCHEDUL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2306
      start: 2251
    functionDepth: 1
    functionLinenumber: 2251
    functionLinenumberEnd: 2306
    functionName: ScheduleMiddle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - ScheduleBand
    linkageType: ''
    returnType: void
    signature: void ScheduleMiddle( SCHEDUL *p )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ScheduleBand
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2346,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - p
    argTypes:
    - SCHEDUL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2313
    functionDepth: 1
    functionLinenumber: 2313
    functionLinenumberEnd: 2348
    functionName: ScheduleTrailing
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - ScheduleBand
    linkageType: ''
    returnType: void
    signature: void ScheduleTrailing( SCHEDUL *p )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - p
    - mask
    argTypes:
    - SCHEDUL*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2355
    functionDepth: 0
    functionLinenumber: 2355
    functionLinenumberEnd: 2372
    functionName: ScheduleBand
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ScheduleBand( SCHEDUL *p, int mask )
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 5
    argNames:
    - input
    - pixnum
    - lev_on
    - step
    - line
    argTypes:
    - byte*
    - int
    - int
    - int
    - RAWLINE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2427
      start: 2387
    functionDepth: 0
    functionLinenumber: 2387
    functionLinenumberEnd: 2427
    functionName: PackLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void PackLine( byte *input, int pixnum, int lev_on, int step,\n                                                  RAWLINE
      *line )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RleFlush
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2518,1
    - Dst: RleFlush
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2535,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 4
    argNames:
    - raw
    - min
    - max
    - rle_data
    argTypes:
    - RAWLINE*
    - int
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2436
    functionDepth: 1
    functionLinenumber: 2436
    functionLinenumberEnd: 2538
    functionName: RleCompress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - RleFlush
    linkageType: ''
    returnType: int
    signature: int RleCompress( RAWLINE *raw, int min, int max, byte *rle_data )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2580,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2591,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 4
    argNames:
    - first
    - reps
    - now
    - out
    argTypes:
    - byte*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2638
    functionName: RleFlush
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int RleFlush( byte *first, byte *reps, byte *now, byte *out )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - stream
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2644
    functionDepth: 1
    functionLinenumber: 2644
    functionLinenumberEnd: 2647
    functionName: SendReset
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendReset( gp_file *stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2651,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2652,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2653,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - stream
    - top
    - bot
    argTypes:
    - gp_file*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2649
    functionDepth: 1
    functionLinenumber: 2649
    functionLinenumberEnd: 2655
    functionName: SendMargin
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendMargin( gp_file *stream, int top, int bot )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2659,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2660,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - length
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2662
      start: 2657
    functionDepth: 1
    functionLinenumber: 2657
    functionLinenumberEnd: 2662
    functionName: SendPaper
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendPaper( gp_file *stream, int length )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2666,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2667,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - 'on'
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2664
    functionDepth: 1
    functionLinenumber: 2664
    functionLinenumberEnd: 2669
    functionName: SendGmode
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendGmode( gp_file *stream, int on )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2673,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2674,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - res
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2671
    functionDepth: 1
    functionLinenumber: 2671
    functionLinenumberEnd: 2676
    functionName: SendUnit
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendUnit( gp_file *stream, int res )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2680,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - 'on'
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2678
    functionDepth: 1
    functionLinenumber: 2678
    functionLinenumberEnd: 2682
    functionName: SendUnidir
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendUnidir( gp_file *stream, int on )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2686,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2687,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - 'on'
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2689
      start: 2684
    functionDepth: 1
    functionLinenumber: 2684
    functionLinenumberEnd: 2689
    functionName: SendMicro
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendMicro( gp_file *stream, int on )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2693,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2694,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2695,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - x
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2691
    functionDepth: 1
    functionLinenumber: 2691
    functionLinenumberEnd: 2697
    functionName: SendInk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendInk( gp_file *stream, int x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2701,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2702,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - x
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2699
    functionDepth: 1
    functionLinenumber: 2699
    functionLinenumberEnd: 2704
    functionName: SendDown
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendDown( gp_file *stream, int x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2708,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2709,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2710,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - stream
    - amount
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2712
    functionName: SendRight
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendRight( gp_file *stream, int amount )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2718,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2719,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stream
    - col
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2721
    functionName: SendColour
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendColour( gp_file *stream, int col )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SendString
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2725,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2726,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2733,1
    - Dst: RESCODE
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2733,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2735,1
    - Dst: RESCODE
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2735,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2741,1
    - Dst: RESCODE
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2741,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2743,1
    - Dst: RESCODE
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2743,1
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2745,1
    - Dst: SendWord
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2746,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - stream
    - hres
    - vres
    - noz
    - col
    argTypes:
    - gp_file*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2723
    functionDepth: 1
    functionLinenumber: 2723
    functionLinenumberEnd: 2747
    functionName: SendData
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - SendWord
    - RESCODE
    - SendByte
    - SendString
    linkageType: ''
    returnType: void
    signature: void SendData( gp_file *stream, int hres, int vres, int noz, int col
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SendByte
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stream
    - s
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2752
    functionName: SendString
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 12
    functionsReached:
    - SendByte
    linkageType: ''
    returnType: void
    signature: void SendString( gp_file *stream, const char *s )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - render
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2766
      start: 2763
    functionDepth: 0
    functionLinenumber: 2763
    functionLinenumberEnd: 2766
    functionName: HalftonerStart
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void HalftonerStart( RENDER *render, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - render
    argTypes:
    - RENDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2773
    functionDepth: 0
    functionLinenumber: 2773
    functionLinenumberEnd: 2776
    functionName: HalftoneThold
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int HalftoneThold( RENDER *render )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2885,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2888,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2893,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2901,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2904,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2907,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2910,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2913,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2916,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2919,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2922,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2925,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2928,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2931,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2934,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2939,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2942,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2945,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2948,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2951,1
    - Dst: PackLine
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2954,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 81
    argCount: 3
    argNames:
    - render
    - line
    - data
    argTypes:
    - RENDER*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2962
      start: 2788
    functionDepth: 1
    functionLinenumber: 2788
    functionLinenumberEnd: 2962
    functionName: HalftoneLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 1
    functionsReached:
    - PackLine
    linkageType: ''
    returnType: void
    signature: void HalftoneLine( RENDER *render, int line, byte *data )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - RENDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 2976
    functionName: FloydSThold
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FloydSThold( RENDER *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:2985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2983
    functionDepth: 0
    functionLinenumber: 2983
    functionLinenumberEnd: 2987
    functionName: FloydSStart
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void FloydSStart( RENDER *p, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2994
    functionDepth: 0
    functionLinenumber: 2994
    functionLinenumberEnd: 2997
    functionName: FloydSEol
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloydSEol( RENDER *p, int line )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - htone
    - y
    argTypes:
    - HTONE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3086
      start: 3013
    functionDepth: 0
    functionLinenumber: 3013
    functionLinenumberEnd: 3086
    functionName: FloydSLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FloydSLine( HTONE *htone, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - RENDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3100
      start: 3097
    functionDepth: 0
    functionLinenumber: 3097
    functionLinenumberEnd: 3100
    functionName: DitherThold
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DitherThold( RENDER *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3110
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3110
    functionName: DitherStart
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DitherStart( RENDER *p, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3120
    functionName: DitherEol
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DitherEol( RENDER *p, int line )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - htone
    - y
    argTypes:
    - HTONE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3199
      start: 3127
    functionDepth: 0
    functionLinenumber: 3127
    functionLinenumberEnd: 3199
    functionName: DitherLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DitherLine( HTONE *htone, int y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - RENDER*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3213
      start: 3210
    functionDepth: 0
    functionLinenumber: 3210
    functionLinenumberEnd: 3213
    functionName: BendorThold
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int BendorThold( RENDER *p )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevphex.c:3222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3220
    functionDepth: 0
    functionLinenumber: 3220
    functionLinenumberEnd: 3225
    functionName: BendorStart
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void BendorStart( RENDER *p, int line )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - p
    - line
    argTypes:
    - RENDER*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3239
    functionName: BendorEol
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BendorEol( RENDER *p, int line )
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 2
    argNames:
    - htone
    - y
    argTypes:
    - HTONE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3405
      start: 3279
    functionDepth: 0
    functionLinenumber: 3279
    functionLinenumberEnd: 3405
    functionName: BendorLine
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevphex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void BendorLine( HTONE *htone, int y )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:49,1
    - Dst: psw_begin_file_header
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:56,1
    - Dst: psw_print_lines
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:57,1
    - Dst: psw_end_file_header
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:58,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:64,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:65,1
    - Dst: psw_write_page_header
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:66,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - f
    - pdev
    - setup
    - pdpc
    argTypes:
    - gp_file*
    - gx_device_printer*
    - char*[]
    - gx_device_pswrite_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 69
    functionName: ps_image_write_headers
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 0
    functionsReached:
    - swrite_file
    - psw_end_file_header
    - psw_begin_file_header
    - psw_write_page_header
    - gdev_prn_file_is_new
    - s_init
    - sflush
    - psw_print_lines
    linkageType: ''
    returnType: void
    signature: "void ps_image_write_headers(gp_file *f, gx_device_printer *pdev,\n
      \                      const char *const setup[],\n                       gx_device_pswrite_common_t
      *pdpc)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:145,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:152,1
    - Dst: ps_image_write_headers
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:157,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:160,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:170,1
    - Dst: write_data_run
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:191,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:201,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:203,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:205,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:208,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:212,1
    - Dst: write_data_run
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:215,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:219,1
    - Dst: psw_write_page_trailer
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:220,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:222,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:224,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 41
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 226
    functionName: psmono_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 0
    functionsReached:
    - ferror
    - gs_alloc_bytes
    - fputc
    - gdev_prn_get_bits
    - write_data_run
    - fputs
    - fprintf
    - gdev_mem_bytes_per_scan_line
    - psw_write_page_trailer
    - ps_image_write_headers
    - putc
    - return_error
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int psmono_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psw_end_file
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:232,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 238
    functionName: psmono_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - psw_end_file
    linkageType: ''
    returnType: int
    signature: int psmono_close(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:266,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:276,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - data
    - count
    - f
    - invert
    argTypes:
    - byte*
    - int
    - gp_file*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 280
    functionName: write_data_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 1
    functionsReached:
    - min
    - fwrite
    linkageType: ''
    returnType: void
    signature: void write_data_run(const byte * data, int count, gp_file * f, byte
      invert)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:311,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:324,1
    - Dst: ps_image_write_headers
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:325,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:326,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:327,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:328,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:333,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:334,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:345,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:346,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:360,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:367,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:369,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:372,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:373,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:374,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:375,1
    - Dst: psw_write_page_trailer
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:376,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:378,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:380,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:381,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:382,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 55
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 384
    functionName: psrgb_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 0
    functionsReached:
    - sclose
    - ferror
    - sputc
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - fputs
    - swrite_file
    - fprintf
    - psw_write_page_trailer
    - ps_image_write_headers
    - s_std_init
    - return_error
    - s_init
    - sflush
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int psrgb_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: psw_end_file
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:390,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevpsim.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 396
    functionName: psrgb_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpsim.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - psw_end_file
    linkageType: ''
    returnType: int
    signature: int psrgb_close(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:35,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:44,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:45,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:46,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:47,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:51,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:52,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:54,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:56,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:60,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:62,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:64,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:69,1
    - Dst: gdev_pcl_mode3compress
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:72,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:73,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:74,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:77,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:79,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:80,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcljc.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 83
    functionName: cljc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcljc.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gs_alloc_bytes
    - gdev_pcl_mode3compress
    - gdev_prn_copy_scan_lines
    - gx_device_raster
    - memset
    - gdev_pcl_paper_size
    - gp_fprintf
    - gs_note_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int cljc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_open
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: dfax_prn_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_open
    linkageType: ''
    returnType: int
    signature: int dfax_prn_open(gx_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_state
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:80,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:91,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:93,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:95,1
    - Dst: gdev_fax_print_page
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:98,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:104,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevdfax.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 110
    functionName: dfax_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevdfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_init_state
    - gp_fwrite
    - gp_fseek
    - return_error
    - gdev_fax_print_page
    linkageType: ''
    returnType: int
    signature: int dfax_print_page(gx_device_printer *dev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s_
    - c
    - n
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: memset
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 268
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memset(void *s_, int c, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - n
    - c
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: __aebi_memset8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memset8(void *dest, size_t n, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - n
    - c
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: __aebi_memset4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memset4(void *dest, size_t n, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - n
    - c
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: __aebi_memset
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memset(void *dest, size_t n, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: __aebi_memclr8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memclr8(void *dest, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: __aebi_memclr4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memclr4(void *dest, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dest
    - n
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: __aebi_memclr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void __aebi_memclr(void *dest, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s_
    - t_
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 110
    functionName: memcpy
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 243
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memcpy(void *s_, const void *t_, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: __aebi_memcpy8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void __aebi_memcpy8(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: __aebi_memcpy4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void __aebi_memcpy4(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: __aebi_memcpy
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void __aebi_memcpy(void *dest, const void *src, size_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s_
    - t_
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 140
    functionName: memmove
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 85
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *memmove(void *s_, const void *t_, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    functionName: __aebi_memmove8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void __aebi_memmove8(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: __aebi_memcmove4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void __aebi_memcmove4(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - src
    - n
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: __aebi_memmove
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void __aebi_memmove(void *dest, const void *src, size_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - opaque
    - mem
    argTypes:
    - void**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: gs_band_donor_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    linkageType: ''
    returnType: int
    signature: "int gs_band_donor_init(void        **opaque,\n                       gs_memory_t
      \ *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eprintf6
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:182,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:185,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - opaque
    - uWidth
    - uHeight
    - uBitDepth
    - uComponents
    - uStride
    - uBandHeight
    argTypes:
    - void*
    - uint
    - uint
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 5
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: gs_band_donor_band_get
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - malloc
    - eprintf6
    - memset
    linkageType: ''
    returnType: void
    signature: "void *gs_band_donor_band_get(void *opaque,\n                             uint
      \ uWidth,\n                             uint  uHeight,\n                             uint
      \ uBitDepth,\n                             uint  uComponents,\n                             uint
      \ uStride,\n                             uint  uBandHeight)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - opaque
    - nLines
    argTypes:
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: gs_band_donor_band_full
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - eprintf1
    linkageType: ''
    returnType: int
    signature: int gs_band_donor_band_full(void *opaque, uint nLines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:210,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 215
    functionName: gs_band_donor_band_release
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - free
    - eprintf
    linkageType: ''
    returnType: int
    signature: int gs_band_donor_band_release(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - opaque
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: gs_band_donor_fin
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - eprintf
    linkageType: ''
    returnType: void
    signature: void gs_band_donor_fin(void *opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - num_comp
    - ','
    - depth
    - ','
    - max_gray
    - ','
    - max_rgb
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 375
    functionName: plib_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: plib_prn_device(procs, dev_name, num_comp, depth, max_gray, max_rgb,
      print_page)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:422,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:424,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:427,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:429,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 25
    argCount: 5
    argNames:
    - w
    - h
    - num_comps
    - log2bits
    - dump_file
    argTypes:
    - int
    - int
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 431
    functionName: dump_start
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 1
    functionsReached:
    - gp_fprintf
    linkageType: ''
    returnType: void
    signature: "void dump_start(int w, int h, int num_comps, int log2bits,\n                       gp_file
      *dump_file)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:446,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:447,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:448,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:465,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:466,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:467,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:468,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:482,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:483,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:484,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:485,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:498,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - y
    - dump_file
    argTypes:
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 512
    functionName: dump_band
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void dump_band(int y, gp_file *dump_file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:525,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:529,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 538
    functionName: plib_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    - emprintf2
    linkageType: ''
    returnType: int
    signature: int plib_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:555,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - mdev
    - base
    - raster
    - line_ptrs
    - setup_height
    argTypes:
    - gx_device_memory*
    - byte*
    - int
    - byte**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 574
    functionName: set_line_ptrs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int set_line_ptrs(gx_device_memory * mdev, byte * base, int raster,\n
      \             byte **line_ptrs, int setup_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:591,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:599,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:605,1
    - Dst: set_line_ptrs
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:612,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - bdev
    - buffer
    - bytes_per_line
    - line_ptrs
    - y
    - setup_height
    - full_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 620
    functionName: plib_setup_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - set_line_ptrs
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int plib_setup_buf_device(gx_device *bdev, byte *buffer, int bytes_per_line,\n
      \                       byte **line_ptrs, int y, int setup_height,\n                        int
      full_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:632,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:638,1
    - Dst: gx_get_bits_return_pointer
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:641,1
    - Dst: mem_get_bits_rectangle
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - prect
    - params
    - pprect
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 647
    functionName: plib_get_bits_rectangle_mem
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_get_bits_rectangle
    - bitmap_raster
    - gx_get_bits_return_pointer
    linkageType: ''
    returnType: int
    signature: "int plib_get_bits_rectangle_mem(gx_device *pdev, const gs_int_rect
      *prect,\n                            gs_get_bits_params_t *params, gs_int_rect
      **pprect)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_create_buf_planar
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:654,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:658,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 661
    functionName: plib_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - gdev_prn_create_buf_planar
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plib_create_buf_device(gx_device **pbdev, gx_device *target, int
      y,\n   const gx_render_plane_t *render_plane, gs_memory_t *mem,\n   gx_color_usage_t
      *color_usage)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_size_buf_planar
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - space
    - target
    - render_plane
    - height
    - for_band
    argTypes:
    - gx_device_buf_space_t*
    - gx_device*
    - gx_render_plane_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 670
    functionName: plib_size_buf_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - gdev_prn_size_buf_planar
    linkageType: ''
    returnType: int
    signature: "int plib_size_buf_device(gx_device_buf_space_t *space, gx_device *target,\n
      \                      const gx_render_plane_t *render_plane,\n                       int
      height, bool for_band)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:684,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:696,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:700,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:704,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:707,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:711,1
    - Dst: gs_band_donor_init
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:713,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 719
    functionName: plib_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - set_linear_color_bits_mask_shift
    - gs_band_donor_init
    - gdev_prn_open
    - emprintf
    - return_error
    - emprintf2
    linkageType: ''
    returnType: int
    signature: int plib_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:727,1
    - Dst: gs_band_donor_fin
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:729,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: plib_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gs_band_donor_fin
    - emprintf
    linkageType: ''
    returnType: int
    signature: int plib_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 752
    functionName: plibg_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index plibg_encode_color(gx_device * pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 766
    functionName: plibg_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int plibg_decode_color(gx_device * dev, gx_color_index color,\n                   gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 784
    functionName: plib_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int plib_decode_color(gx_device * dev, gx_color_index color,\n                  gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:803,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:804,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:805,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 808
    functionName: plibc_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: "int plibc_decode_color(gx_device * dev, gx_color_index color,\n                   gx_color_value
      prgb[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:818,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:819,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:820,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:821,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 829
    functionName: plibc_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index plibc_encode_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:849,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:850,1
    - Dst: cvalue
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 853
    functionName: plibc_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - cvalue
    linkageType: ''
    returnType: int
    signature: "int plibc_map_color_rgb(gx_device * dev, gx_color_index color,\n                    gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 841
    functionName: cvalue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cvalue(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:866,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:870,1
    - Dst: gs_band_donor_band_get
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:872,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:880,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:883,1
    - Dst: dump_start
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:891,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:903,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:912,1
    - Dst: dump_band
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:916,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:919,1
    - Dst: gs_band_donor_band_full
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:922,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:924,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:928,1
    - Dst: gs_band_donor_band_release
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:930,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:932,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - pdev
    - log2bits
    - numComps
    - pstream
    argTypes:
    - gx_device_printer*
    - int
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 858
    functionDepth: 6
    functionLinenumber: 858
    functionLinenumberEnd: 935
    functionName: plib_print_page_loop
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - dump_band
    - gs_band_donor_band_full
    - gs_band_donor_band_release
    - gs_band_donor_band_get
    - dump_start
    - emprintf1
    - emprintf
    - memset
    - return_error
    - bitmap_raster
    - dev_proc
    - emprintf3
    linkageType: ''
    returnType: int
    signature: "int plib_print_page_loop(gx_device_printer * pdev, int log2bits, int
      numComps,\n                     gp_file *pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:944,1
    - Dst: plib_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 940
    functionDepth: 7
    functionLinenumber: 940
    functionLinenumberEnd: 947
    functionName: plibm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plib_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plibm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:954,1
    - Dst: plib_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 950
    functionDepth: 7
    functionLinenumber: 950
    functionLinenumberEnd: 957
    functionName: plibg_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plib_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plibg_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:964,1
    - Dst: plib_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 960
    functionDepth: 7
    functionLinenumber: 960
    functionLinenumberEnd: 967
    functionName: plib_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plib_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plib_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:974,1
    - Dst: plib_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 7
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: plibk_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plib_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plibk_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:984,1
    - Dst: plib_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevplib.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 980
    functionDepth: 7
    functionLinenumber: 980
    functionLinenumberEnd: 987
    functionName: plibc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevplib.c
    functionUses: 0
    functionsReached:
    - emprintf
    - plib_print_page_loop
    linkageType: ''
    returnType: int
    signature: int plibc_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pread
    - ','
    - pname
    - ','
    - pa
    - ','
    - psize
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: BEGIN_ARRAY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_ARRAY_PARAM(pread, pname, pa, psize, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - plist
    - ','
    - pname
    - ','
    - str
    - ','
    - is_defined
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: cdj_param_check_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdj_param_check_string(plist, pname, str, is_defined)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: invert_word
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: invert_word(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: printColors
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int printColors
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: bjcversion
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjcversion(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: bjcversionstring
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjcversionstring(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: bjcthickpaper
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjcthickpaper(l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: bjc600thickpaper
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjc600thickpaper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: bjc800thickpaper
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjc800thickpaper()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - dtype
    - ','
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - ','
    - correct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: prn_cmyk_colour_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_cmyk_colour_device(dtype, procs, dev_name, x_dpi, y_dpi, bpp, print_page,
      correct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - dtype
    - ','
    - p
    - ','
    - d
    - ','
    - x
    - ','
    - y
    - ','
    - b
    - ','
    - pp
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 431
    functionName: bjc_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjc_device(dtype, p, d, x, y, b, pp, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - ','
    - correction
    - ','
    - shingling
    - ','
    - depletion
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 437
    functionName: cdj_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cdj_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page, correction,
      shingling, depletion)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - ','
    - printqual
    - ','
    - rendertype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 443
    functionName: pjxl_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pjxl_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page, printqual,
      rendertype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 446
    functionName: pj_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pj_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - ','
    - t
    - ','
    - mf
    - ','
    - mt
    - ','
    - mws
    - ','
    - mw
    - ','
    - pq
    - ','
    - dt
    - ','
    - cc
    - ','
    - pc
    - ','
    - mp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    functionName: bjc600_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjc600_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page, t, mf,
      mt, mws, mw, pq, dt, cc, pc, mp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - bpp
    - ','
    - print_page
    - ','
    - t
    - ','
    - mf
    - ','
    - mt
    - ','
    - mws
    - ','
    - mw
    - ','
    - pq
    - ','
    - dt
    - ','
    - cc
    - ','
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: bjc800_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bjc800_device(procs, dev_name, x_dpi, y_dpi, bpp, print_page, t, mf,
      mt, mws, mw, pq, dt, cc, pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 709
    functionName: dj500c_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int dj500c_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 711
    functionDepth: 0
    functionLinenumber: 711
    functionLinenumberEnd: 714
    functionName: dj550c_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int dj550c_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 719
    functionName: dj505j_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int dj505j_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 724
    functionName: dnj650c_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int dnj650c_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 729
    functionName: lj4dith_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int lj4dith_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 734
    functionName: pjxl300_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int pjxl300_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 739
    functionName: pj_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int pj_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: pjxl_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int pjxl_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 746
    functionDepth: 0
    functionLinenumber: 746
    functionLinenumberEnd: 749
    functionName: escp_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int escp_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: bjc_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_open
    linkageType: ''
    returnType: int
    signature: int bjc_open(gx_device *pdev)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cdj_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:777,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:786,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:804,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:809,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:845,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:846,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 2
    argNames:
    - pdev
    - ptype
    argTypes:
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 847
    functionName: hp_colour_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 10
    functionsReached:
    - gdev_prn_open
    - cdj_set_bpp
    - gx_device_set_margins
    - gdev_pcl_paper_size
    linkageType: ''
    returnType: int
    signature: int hp_colour_open(gx_device *pdev, int ptype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:856,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:858,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:859,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 854
    functionDepth: 1
    functionLinenumber: 854
    functionLinenumberEnd: 865
    functionName: cdj_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int cdj_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:876,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:877,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:878,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:879,1
    - Dst: cdj_put_param_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:883,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 891
    functionName: cdj_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - cdj_put_param_bpp
    - cdj_put_param_int
    linkageType: ''
    returnType: int
    signature: int cdj_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:900,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:902,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 898
    functionDepth: 1
    functionLinenumber: 898
    functionLinenumberEnd: 908
    functionName: pjxl_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int pjxl_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:918,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:919,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:920,1
    - Dst: cdj_put_param_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 938
    functionName: pjxl_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - cdj_put_param_bpp
    - cdj_put_param_int
    linkageType: ''
    returnType: int
    signature: int pjxl_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:947,1
    - Dst: cdj_put_param_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: pj_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - cdj_put_param_bpp
    - cdj_put_param_int
    linkageType: ''
    returnType: int
    signature: int pj_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:995,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1002,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1004,1
    - Dst: get_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1009,1
    - Dst: get_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1012,1
    - Dst: get_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1017,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1020,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1026,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1028,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1033,1
    - Dst: bjcversion
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1045,1
    - Dst: bjcversionstring
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1046,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1048,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1051,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1055,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1060,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 992
    functionDepth: 1
    functionLinenumber: 992
    functionLinenumberEnd: 1067
    functionName: bjc_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_null
    - strlen
    - get_param_string
    - param_write_bool
    - param_write_float
    - bjcversion
    - return_error
    - bjcversionstring
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int bjc_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1103,1
    - Dst: put_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1108,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1113,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1115,1
    - Dst: put_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1118,1
    - Dst: cdj_put_param_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1121,1
    - Dst: put_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1124,1
    - Dst: put_param_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1128,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1131,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1143,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1147,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1155,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1158,1
    - Dst: cdj_param_check_float
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1162,1
    - Dst: bjcversion
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1163,1
    - Dst: cdj_param_check_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1166,1
    - Dst: bjcversionstring
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1167,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1171,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1173,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1175,1
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1182,1
    - Dst: END_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1220,1
    - Dst: cdj_put_param_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1222,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 97
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1242
    functionName: bjc_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - cdj_param_check_float
    - param_read_null
    - cdj_put_param_int
    - cdj_param_check_string
    - param_read_int
    - BEGIN_ARRAY_PARAM
    - END_PARAM
    - put_param_string
    - cdj_put_param_bpp
    - bjcversion
    - param_signal_error
    - param_read_bool
    - bjcversionstring
    linkageType: ''
    returnType: int
    signature: int bjc_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: dj500c_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int dj500c_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1258
    functionName: dj550c_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int dj550c_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1266,1
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1267,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1262
    functionDepth: 1
    functionLinenumber: 1262
    functionLinenumberEnd: 1271
    functionName: picty180_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    - gp_fputs
    linkageType: ''
    returnType: int
    signature: int picty180_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1278
    functionName: dj505j_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int dj505j_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1285
    functionName: dnj650c_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int dnj650c_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1287
    functionDepth: 1
    functionLinenumber: 1287
    functionLinenumberEnd: 1291
    functionName: lj4dith_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int lj4dith_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1297,1
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1298,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1302
    functionName: lj4dithp_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    - gp_fputs
    linkageType: ''
    returnType: int
    signature: int lj4dithp_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1309,1
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1310,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1314
    functionName: pjxl300_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    - gp_fputs
    linkageType: ''
    returnType: int
    signature: int pjxl300_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1321
    functionName: pjxl_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int pjxl_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1328
    functionName: pj_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int pj_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1334,1
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1335,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1338
    functionName: declj250_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    - gp_fputs
    linkageType: ''
    returnType: int
    signature: int declj250_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1345
    functionName: escp_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int escp_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hp_colour_print_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1352
    functionName: bjc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - hp_colour_print_page
    linkageType: ''
    returnType: int
    signature: int bjc_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - inP
    - ','
    - out
    - ','
    - errP
    - ','
    - Err
    - ','
    - Bit
    - ','
    - Offset
    - ','
    - Element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1370
    functionDepth: 0
    functionLinenumber: 1370
    functionLinenumberEnd: 1379
    functionName: FSdither
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSdither(inP, out, errP, Err, Bit, Offset, Element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - inP
    - ','
    - out
    - ','
    - Bit
    - ','
    - Element
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: CPbit
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CPbit(inP, out, Bit, Element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1581
    functionName: calc_buffsize
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calc_buffsize(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1585
    functionDepth: 0
    functionLinenumber: 1585
    functionLinenumberEnd: 1586
    functionName: fputshort
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fputshort(n, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1591,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1592,1
    - Dst: fputshort
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1593,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - cmd
    - argsize
    - arg
    - pdev
    - f
    argTypes:
    - byte
    - int
    - byte*
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1587
    functionDepth: 1
    functionLinenumber: 1587
    functionLinenumberEnd: 1597
    functionName: bjc_cmd
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fputc
    - fputshort
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int bjc_cmd(byte cmd, int argsize, byte *arg, gx_device_printer *pdev,\n
      \       gp_file *f)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1602,1
    - Dst: fputshort
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1603,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1604,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1605,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - c
    - rastsize
    - data
    - f
    argTypes:
    - char
    - int
    - byte*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1609
    functionName: bjc_raster_cmd_sub
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fputc
    - fputshort
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int bjc_raster_cmd_sub(char c, int rastsize, byte *data, gp_file *f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1616,1
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1619,1
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1622,1
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1624,1
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1626,1
    - Dst: bjc_raster_cmd_sub
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1637,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - c_id
    - rastsize
    - data
    - pdev
    - f
    argTypes:
    - int
    - int
    - byte*
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1642
      start: 1611
    functionDepth: 2
    functionLinenumber: 1611
    functionLinenumberEnd: 1642
    functionName: bjc_raster_cmd
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - bjc_raster_cmd_sub
    linkageType: ''
    returnType: int
    signature: "int bjc_raster_cmd(int c_id, int rastsize, byte *data, gx_device_printer
      *pdev,\n               gp_file *f)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1751,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1752,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1753,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1754,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - n
    - pdev
    - f
    argTypes:
    - int
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1759
      start: 1747
    functionDepth: 1
    functionLinenumber: 1747
    functionLinenumberEnd: 1759
    functionName: bjc_v_skip
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fputc
    linkageType: ''
    returnType: int
    signature: int bjc_v_skip(int n, gx_device_printer *pdev, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_cmd
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1764,1
    - Dst: bjc_cmd
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1765,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1766,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1761
    functionDepth: 2
    functionLinenumber: 1761
    functionLinenumberEnd: 1770
    functionName: bjc_finish_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fputc
    - bjc_cmd
    linkageType: ''
    returnType: int
    signature: int bjc_finish_page(gx_device_printer *pdev, gp_file *f)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1827,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 3
    argNames:
    - row
    - end_row
    - compressed
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1775
    functionDepth: 0
    functionLinenumber: 1775
    functionLinenumberEnd: 1849
    functionName: bjc_compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int bjc_compress(const byte *row, const byte *end_row, byte *compressed)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1883,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1891,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1906,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1910,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1915,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1915,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1915,1
    - Dst: memflip8x8
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1942,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1949,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1952,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1953,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1968,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1972,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1973,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1978,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1978,1
    - Dst: fputshort
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1979,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1980,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1984,1
    - Dst: fputshort
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1985,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1990,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1995,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:1998,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 108
    argCount: 5
    argNames:
    - prn_stream
    - eg
    - cmd
    - data
    - size
    argTypes:
    - gp_file*
    - ep_globals*
    - char
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1872
    functionDepth: 1
    functionLinenumber: 1872
    functionLinenumberEnd: 2003
    functionName: ep_print_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - gp_fputs
    - ep_print_image
    - memflip8x8
    - memcpy
    - gp_fputc
    - memset
    - memcmp
    - errprintf
    - fputshort
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int ep_print_image(gp_file *prn_stream, ep_globals *eg, char cmd, byte
      *data, int size)
  - BBCount: 115
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_rasterwidth
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2009,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2011,1
    - Dst: gdev_pcl_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2013,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2033,1
    - Dst: calc_buffsize
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2071,1
    - Dst: calc_buffsize
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2087,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2096,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2099,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2116,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2160,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2161,1
    - Dst: bjc_init_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2164,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2167,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2169,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2171,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2176,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2185,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2186,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2187,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2195,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2197,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2199,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2202,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2208,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2211,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2212,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2215,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2217,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2220,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2227,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2229,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2230,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2231,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2234,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2235,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2236,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2237,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2240,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2250,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2254,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2256,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2265,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2267,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2269,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2271,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2275,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2277,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2279,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2283,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2290,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2292,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2294,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2298,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2300,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2302,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2306,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2312,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2314,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2317,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2329,1
    - Dst: bjc_v_skip
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2335,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2351,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2355,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2358,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2364,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2376,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2376,1
    - Dst: bjc_fscmyk
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2404,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2418,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2436,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2439,1
    - Dst: bjc_v_skip
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2441,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2450,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2452,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2457,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2459,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2462,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2464,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2469,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2475,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2477,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2479,1
    - Dst: cdj_expand_line
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2500,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2516,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2517,1
    - Dst: spread3
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2518,1
    - Dst: COPYline
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2540,1
    - Dst: FSDline
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2545,1
    - Dst: FSDline
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2550,1
    - Dst: bjc_fscmyk
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2555,1
    - Dst: FSDline
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2557,1
    - Dst: gdev_pcl_mode9compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2601,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2613,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2619,1
    - Dst: gdev_pcl_mode1compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2623,1
    - Dst: gdev_pcl_mode1compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2636,1
    - Dst: gdev_pcl_mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2657,1
    - Dst: gdev_pcl_mode3compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2658,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2659,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2659,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2666,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2668,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2677,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2679,1
    - Dst: bjc_compress
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2690,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2699,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2702,1
    - Dst: bjc_raster_cmd
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2705,1
    - Dst: bjc_v_skip
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2707,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2709,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2711,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2713,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2718,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2725,1
    - Dst: bjc_finish_page
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2729,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2731,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2733,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2737,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2739,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2741,1
    - Dst: ep_print_image
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2745,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2746,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2748,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2752,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2753,1
    CyclomaticComplexity: 137
    EdgeCount: 137
    ICount: 455
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - ptype
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2006
    functionDepth: 3
    functionLinenumber: 2006
    functionLinenumberEnd: 2756
    functionName: hp_colour_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 13
    functionsReached:
    - gp_fputs
    - strlen
    - gdev_pcl_paper_size
    - gp_fwrite
    - dev_b_margin
    - bjc_raster_cmd
    - memset
    - gdev_prn_rasterwidth
    - bjc_init_page
    - gp_fprintf
    - gdev_pcl_mode1compress
    - gdev_pcl_mode3compress
    - gdev_prn_copy_scan_lines
    - COPYline
    - gdev_pcl_mode9compress
    - bjc_v_skip
    - gp_fputc
    - bjc_finish_page
    - spread3
    - bjc_compress
    - calc_buffsize
    - cdj_expand_line
    - FSDline
    - gdev_prn_raster
    - ep_print_image
    - bjc_fscmyk
    - dev_t_margin
    - gdev_pcl_mode2compress
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: int
    signature: int hp_colour_print_page(gx_device_printer * pdev, gp_file * prn_stream,
      int ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2514
    functionDepth: 0
    functionLinenumber: 2514
    functionLinenumberEnd: 2516
    functionName: spread3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spread3(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - row
    - end_row
    - compressed
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2787
      start: 2769
    functionDepth: 0
    functionLinenumber: 2769
    functionLinenumberEnd: 2787
    functionName: gdev_pcl_mode1compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gdev_pcl_mode1compress(const byte *row, const byte *end_row, byte
      *compressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cv
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2800
      start: 2798
    functionDepth: 0
    functionLinenumber: 2798
    functionLinenumberEnd: 2800
    functionName: gx_color_value_to_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_to_bits(cv, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cv
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2800
    functionDepth: 0
    functionLinenumber: 2800
    functionLinenumberEnd: 2802
    functionName: gx_bits_to_color_value
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_bits_to_color_value(cv, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - y
    - ','
    - k
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2803
    functionDepth: 0
    functionLinenumber: 2803
    functionLinenumberEnd: 2808
    functionName: gx_cmyk_value_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cmyk_value_bits(c, m, y, k, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - v
    - ','
    - c
    - ','
    - m
    - ','
    - y
    - ','
    - k
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2814
      start: 2809
    functionDepth: 0
    functionLinenumber: 2809
    functionLinenumberEnd: 2814
    functionName: gx_value_cmyk_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_value_cmyk_bits(v, c, m, y, k, b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2830,1
    - Dst: gx_cmyk_value_bits
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2837
      start: 2815
    functionDepth: 1
    functionLinenumber: 2815
    functionLinenumberEnd: 2837
    functionName: gdev_cmyk_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - COLROUND_SETUP
    - gx_cmyk_value_bits
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_cmyk_map_cmyk_color(gx_device* pdev, const gx_color_value
      cv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2846,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2871
      start: 2841
    functionDepth: 1
    functionLinenumber: 2841
    functionLinenumberEnd: 2871
    functionName: gdev_cmyk_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_cmyk_map_rgb_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: COLDUP_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2897,1
    - Dst: gx_value_cmyk_bits
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2898,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pdev
    - color
    - pcmyk
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2875
    functionDepth: 1
    functionLinenumber: 2875
    functionLinenumberEnd: 2908
    functionName: gdev_cmyk_map_color_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gx_value_cmyk_bits
    - COLDUP_SETUP
    linkageType: ''
    returnType: int
    signature: int gdev_cmyk_map_color_cmyk(gx_device *pdev, gx_color_index color,
      gx_color_value pcmyk[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c
    - ','
    - c_v
    - ','
    - m
    - ','
    - m_v
    - ','
    - y
    - ','
    - y_v
    - ','
    - k
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2921
    functionDepth: 0
    functionLinenumber: 2921
    functionLinenumberEnd: 2929
    functionName: bg_and_ucr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bg_and_ucr(c, c_v, m, m_v, y, y_v, k)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2935,1
    - Dst: gx_color_value_to_1bit
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2968,1
    - Dst: gx_color_value_to_1bit
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2969,1
    - Dst: gx_color_value_to_1bit
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2970,1
    - Dst: gx_color_value_to_5bits
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2983,1
    - Dst: gx_color_value_to_6bits
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2984,1
    - Dst: gx_color_value_to_5bits
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2985,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2987,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2988,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2989,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2991,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2992,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2993,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:2994,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2999
      start: 2930
    functionDepth: 1
    functionLinenumber: 2930
    functionLinenumberEnd: 2999
    functionName: gdev_pcl_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_5bits
    - gx_color_value_to_byte
    - gx_color_value_to_1bit
    - gx_color_value_to_6bits
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_pcl_map_rgb_color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2968
      start: 2967
    functionDepth: 0
    functionLinenumber: 2967
    functionLinenumberEnd: 2968
    functionName: gx_color_value_to_1bit
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_to_1bit(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2982
      start: 2981
    functionDepth: 0
    functionLinenumber: 2981
    functionLinenumberEnd: 2982
    functionName: gx_color_value_to_5bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_to_5bits(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2982
    functionDepth: 0
    functionLinenumber: 2982
    functionLinenumberEnd: 2983
    functionName: gx_color_value_to_6bits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_to_6bits(cv)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3038,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3039,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3040,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3045,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3046,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3047,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3048,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3053
      start: 3002
    functionDepth: 1
    functionLinenumber: 3002
    functionLinenumberEnd: 3053
    functionName: gdev_pcl_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int gdev_pcl_map_color_rgb(gx_device *pdev, gx_color_index color,\n
      \                           gx_color_value prgb[3])"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 5
    argNames:
    - line
    - linesize
    - cmyk
    - bpp
    - ebpp
    argTypes:
    - word*
    - int
    - short
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3175
      start: 3072
    functionDepth: 0
    functionLinenumber: 3072
    functionLinenumberEnd: 3175
    functionName: cdj_expand_line
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cdj_expand_line(word *line, int linesize, short cmyk, int bpp,
      int ebpp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3181,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - plist
    - pname
    - pvalue
    - minval
    - maxval
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3193
      start: 3177
    functionDepth: 1
    functionLinenumber: 3177
    functionLinenumberEnd: 3193
    functionName: cdj_put_param_int
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 4
    functionsReached:
    - param_signal_error
    - param_read_int
    linkageType: ''
    returnType: int
    signature: "int cdj_put_param_int(gs_param_list *plist, gs_param_name pname, int
      *pvalue,\n  int minval, int maxval, int ecode)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3203,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3240,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3241,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3242,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3244,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3289,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3303,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3307,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3308,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3309,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3312,1
    - Dst: gdev_prn_reallocate_memory
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3321,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3346,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 156
    argCount: 3
    argNames:
    - pdev
    - bpp
    - ccomps
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3195
    functionDepth: 1
    functionLinenumber: 3195
    functionLinenumberEnd: 3380
    functionName: cdj_set_bpp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - return_error
    - gdev_prn_reallocate_memory
    - dev_proc
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: int cdj_set_bpp(gx_device *pdev, int bpp, int ccomps)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3392,1
    - Dst: cdj_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3404,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3406,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3407,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3411,1
    - Dst: cdj_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3413,1
    - Dst: cdj_set_bpp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3416,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3420,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - pdev
    - plist
    - new_bpp
    - real_bpp
    - ccomps
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3387
    functionDepth: 1
    functionLinenumber: 3387
    functionLinenumberEnd: 3424
    functionName: cdj_put_param_bpp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 4
    functionsReached:
    - param_signal_error
    - gdev_prn_put_params
    - cdj_set_bpp
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: "int cdj_put_param_bpp(gx_device *pdev, gs_param_list *plist, int new_bpp,\n
      \ int real_bpp, int ccomps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3432,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pixelcount
    argTypes:
    - gx_device_printer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3428
    functionDepth: 1
    functionLinenumber: 3428
    functionLinenumberEnd: 3436
    functionName: gdev_prn_rasterwidth
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - dev_r_margin
    - dev_l_margin
    linkageType: ''
    returnType: uint
    signature: uint gdev_prn_rasterwidth(const gx_device_printer *pdev, int pixelcount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - params
    - value
    argTypes:
    - stringParamDescription*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3440
    functionDepth: 0
    functionLinenumber: 3440
    functionLinenumberEnd: 3451
    functionName: paramValueToString
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      paramValueToString(const stringParamDescription* params, int value)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - params
    - name
    - namelen
    - value
    argTypes:
    - stringParamDescription*
    - byte*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3467
      start: 3453
    functionDepth: 0
    functionLinenumber: 3453
    functionLinenumberEnd: 3467
    functionName: paramStringValue
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int paramStringValue(const stringParamDescription* params,\n    const
      byte* name, int namelen, int* value)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3477,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3478,1
    - Dst: paramStringValue
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3484,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3486,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - plist
    - pname
    - pstring
    - params
    - pvalue
    - code
    argTypes:
    - gs_param_list*
    - byte*
    - gs_param_string*
    - stringParamDescription*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3469
    functionDepth: 1
    functionLinenumber: 3469
    functionLinenumberEnd: 3493
    functionName: put_param_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - param_signal_error
    - paramStringValue
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int put_param_string(gs_param_list* plist,\n    const byte* pname,
      gs_param_string* pstring,\n    const stringParamDescription* params, int *pvalue,
      int code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: paramValueToString
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3503,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3506,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3508,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3512,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - plist
    - pname
    - pstring
    - params
    - pvalue
    - persist
    - code
    argTypes:
    - gs_param_list*
    - byte*
    - gs_param_string*
    - stringParamDescription*
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3517
      start: 3495
    functionDepth: 1
    functionLinenumber: 3495
    functionLinenumberEnd: 3517
    functionName: get_param_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - param_signal_error
    - paramValueToString
    - strlen
    - param_write_string
    linkageType: ''
    returnType: int
    signature: "int get_param_string(gs_param_list* plist,\n    const byte* pname,
      gs_param_string* pstring,\n    const stringParamDescription* params, int pvalue,
      bool persist, int code)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3529,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3533,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3537,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3540,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3542,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - plist
    - pname
    - str
    - size
    - is_defined
    argTypes:
    - gs_param_list*
    - gs_param_name
    - byte*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3524
    functionDepth: 1
    functionLinenumber: 3524
    functionLinenumberEnd: 3547
    functionName: cdj_param_check_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - memcmp
    - param_signal_error
    - gs_note_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int cdj_param_check_bytes(gs_param_list *plist, gs_param_name pname,\n
      \                     const byte *str, uint size, bool is_defined)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3556,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3561,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3564,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3566,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - plist
    - pname
    - fval
    - is_defined
    argTypes:
    - gs_param_list*
    - gs_param_name
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3551
    functionDepth: 1
    functionLinenumber: 3551
    functionLinenumberEnd: 3571
    functionName: cdj_param_check_float
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - param_signal_error
    - gs_note_error
    - param_read_null
    - param_read_float
    linkageType: ''
    returnType: int
    signature: "int cdj_param_check_float(gs_param_list *plist, gs_param_name pname,
      double fval,\n                      bool is_defined)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Val
    - ','
    - Erow
    - ','
    - Ecol
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3615
    functionDepth: 0
    functionLinenumber: 3615
    functionLinenumberEnd: 3616
    functionName: FSerror
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSerror(Val,Erow,Ecol)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - Error
    - ','
    - Threshold
    - ','
    - Spotsize
    - ','
    - Pixel
    - ','
    - Bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3622
      start: 3617
    functionDepth: 0
    functionLinenumber: 3617
    functionLinenumberEnd: 3622
    functionName: FSdecide
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSdecide(Error,Threshold,Spotsize,Pixel,Bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Error
    - ','
    - Erow
    - ','
    - Ecol
    - ','
    - Eprev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3627
      start: 3623
    functionDepth: 0
    functionLinenumber: 3623
    functionLinenumberEnd: 3627
    functionName: FSdiffuse
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FSdiffuse(Error,Erow,Ecol,Eprev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3633
      start: 3632
    functionDepth: 0
    functionLinenumber: 3632
    functionLinenumberEnd: 3633
    functionName: CMYK_THRESHOLD
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMYK_THRESHOLD(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3634
      start: 3633
    functionDepth: 0
    functionLinenumber: 3633
    functionLinenumberEnd: 3634
    functionName: SPOTSIZE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPOTSIZE(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3635
      start: 3634
    functionDepth: 0
    functionLinenumber: 3634
    functionLinenumberEnd: 3635
    functionName: EMIN
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMIN(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3635
    functionDepth: 0
    functionLinenumber: 3635
    functionLinenumberEnd: 3636
    functionName: EMAX
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EMAX(I)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3699,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3700,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3700,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3702,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3702,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3703,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3703,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3704,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3706,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3706,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3707,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3707,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3708,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3712,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3714,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3714,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3714,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3714,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3725,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3725,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3725,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3726,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3802,1
    - Dst: FSdecide
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3805,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3805,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3805,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3811,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3813,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3814,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3815,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3815,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3816,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3818,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3819,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3820,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3820,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3822,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3824,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3825,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3826,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3826,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3827,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3831,1
    - Dst: FSdecide
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3832,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3832,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3832,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3833,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3835,1
    - Dst: FSdecide
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3836,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3836,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3836,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3837,1
    - Dst: FSerror
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3839,1
    - Dst: FSdecide
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3840,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3840,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3840,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3841,1
    - Dst: SPOTSIZE
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3848,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3849,1
    - Dst: CMYK_THRESHOLD
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3849,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3850,1
    - Dst: FSdiffuse
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3856,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3858,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3858,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3859,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3859,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3861,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3861,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3862,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3862,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3864,1
    - Dst: EMAX
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3864,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3865,1
    - Dst: EMIN
      Src: /src/libspectre/ghostscript/devices/gdevcdj.c:3865,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 154
    argCount: 5
    argNames:
    - inplanes
    - outplanes
    - errplanes
    - plane_size
    - scan
    argTypes:
    - byte**
    - byte*[][]
    - int**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3912
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3912
    functionName: bjc_fscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcdj.c
    functionUses: 1
    functionsReached:
    - FSdiffuse
    - EMAX
    - EMIN
    - rand
    - FSdecide
    - SPOTSIZE
    - FSerror
    - errprintf_nomem
    - CMYK_THRESHOLD
    linkageType: ''
    returnType: int
    signature: "int bjc_fscmyk(byte** inplanes, byte* outplanes[4][4], int** errplanes,\n
      \   int plane_size, int scan)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:70,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:72,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:75,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:77,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:116,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:121,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:122,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:123,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 1
    argNames:
    - printer_file
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 128
    functionName: analyze_error
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevn533.c
    functionUses: 0
    functionsReached:
    - sleep
    - ioctl
    - perror
    linkageType: ''
    returnType: int
    signature: int analyze_error(int printer_file)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:137,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: nwp533_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevn533.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - strcpy
    linkageType: ''
    returnType: int
    signature: int nwp533_open(gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:149,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:151,1
    - Dst: analyze_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:153,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:156,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 160
    functionName: nwp533_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevn533.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - fileno
    - analyze_error
    - return_error
    - ioctl
    - perror
    linkageType: ''
    returnType: int
    signature: int nwp533_close(gx_device *dev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:167,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:170,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:176,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:178,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:180,1
    - Dst: analyze_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:182,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:184,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:185,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:187,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:191,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:194,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:196,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:197,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:201,1
    - Dst: analyze_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:203,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:205,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:206,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevn533.c:209,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 212
    functionName: nwp533_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevn533.c
    functionUses: 0
    functionsReached:
    - write
    - gdev_prn_copy_scan_lines
    - fileno
    - analyze_error
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - return_error
    - gs_free
    - ioctl
    - perror
    - lseek
    linkageType: ''
    returnType: int
    signature: int nwp533_print_page(gx_device_printer *dev, gp_file *prn_stream)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:118,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:121,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:124,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:125,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:142,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:154,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:158,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:176,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:183,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:188,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:192,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:195,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:209,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:233,1
    - Dst: okiibm_output_run
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:246,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:250,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:255,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:264,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:265,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:269,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:271,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:273,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 7
    argNames:
    - pdev
    - prn_stream
    - y_9pin_high
    - init_string
    - init_length
    - end_string
    - end_length
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 275
    functionName: okiibm_print_page1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevokii.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fflush
    - okiibm_output_run
    - gdev_prn_copy_scan_lines
    - gdev_prn_get_bits
    - gs_free
    - memset
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - memcpy
    - gs_malloc
    - return_error
    - gp_fprintf
    - gp_fputc
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int okiibm_print_page1(gx_device_printer *pdev, gp_file *prn_stream,
      int y_9pin_high,\n  const char *init_string, int init_length,\n  const char
      *end_string, int end_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:285,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:286,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:287,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:288,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:291,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - data
    - count
    - y_mult
    - start_graphics
    - prn_stream
    - pass
    argTypes:
    - byte*
    - int
    - int
    - char
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 308
    functionName: okiibm_output_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevokii.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void okiibm_output_run(byte *data, int count, int y_mult,\n  char
      start_graphics, gp_file *prn_stream, int pass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:324,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:327,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:333,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:337,1
    - Dst: okiibm_print_page1
      Src: /src/libspectre/ghostscript/devices/gdevokii.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 317
    functionDepth: 2
    functionLinenumber: 317
    functionLinenumberEnd: 346
    functionName: okiibm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevokii.c
    functionUses: 0
    functionsReached:
    - memcpy
    - okiibm_print_page1
    linkageType: ''
    returnType: int
    signature: int okiibm_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:44,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:45,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:50,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:51,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:52,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:53,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:54,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:55,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:56,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:61,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:73,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:74,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:75,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:76,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevmiff.c:80,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 83
    functionName: miff24_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmiff.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gs_alloc_bytes
    - gx_device_raster
    - gdev_prn_get_bits
    - gp_fputc
    - gp_fprintf
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int miff24_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:58,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:59,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:70,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:74,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:80,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:82,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:83,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:85,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:88,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:89,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:90,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:91,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:108,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:111,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:114,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:118,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:119,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:121,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:122,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:123,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjbig2.c:126,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 128
    functionName: jbig2_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjbig2.c
    functionUses: 0
    functionsReached:
    - sclose
    - s_init_state
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - sputs
    - max
    - swrite_file
    - gdev_mem_bytes_per_scan_line
    - s_std_init
    - gs_note_error
    - s_init
    - sflush
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int jbig2_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:110,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:113,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:117,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:119,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:128,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:144,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:181,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:184,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:188,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:199,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:203,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:206,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 6
    argNames:
    - pdev
    - prn_stream
    - init
    - init_size
    - end
    - end_size
    argTypes:
    - gx_device_printer*
    - gp_file*
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 209
    functionName: can_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlbp8.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gdev_prn_copy_scan_lines
    - gdev_mem_bytes_per_scan_line
    - gp_fprintf
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int can_print_page(gx_device_printer *pdev, gp_file *prn_stream,\n
      \ const char *init, int init_size, const char *end, int end_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_print_page
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: lbp8_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlbp8.c
    functionUses: 0
    functionsReached:
    - can_print_page
    linkageType: ''
    returnType: int
    signature: int lbp8_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: can_print_page
      Src: /src/libspectre/ghostscript/devices/gdevlbp8.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: lips3_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlbp8.c
    functionUses: 0
    functionsReached:
    - can_print_page
    linkageType: ''
    returnType: int
    signature: int lips3_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - data
    - count
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: bjc_put_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - sputs
    linkageType: ''
    returnType: void
    signature: void bjc_put_bytes(stream *s, const byte *data, uint count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:36,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: bjc_put_hi_lo
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_hi_lo(stream *s, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:43,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - value
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: bjc_put_lo_hi
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_lo_hi(stream *s, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:50,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:51,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:52,1
    - Dst: bjc_put_lo_hi
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - s
    - ch
    - count
    argTypes:
    - stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    functionName: bjc_put_command
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_lo_hi
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_command(stream *s, int ch, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: bjc_put_LF
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_LF(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 70
    functionName: bjc_put_FF
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_FF(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: bjc_put_CR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void bjc_put_CR(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: bjc_put_initialize
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_bytes
    linkageType: ''
    returnType: void
    signature: void bjc_put_initialize(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: bjc_put_set_initial
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_bytes
    linkageType: ''
    returnType: void
    signature: void bjc_put_set_initial(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:97,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - compression
    argTypes:
    - stream*
    - bjc_raster_compression_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: bjc_put_set_compression
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_set_compression(stream *s, bjc_raster_compression_t compression)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:105,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - color
    argTypes:
    - stream*
    - bjc_print_color_short_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: bjc_put_print_method_short
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_print_method_short(stream *s, bjc_print_color_short_t
      color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:113,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:114,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:115,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - s
    - color
    - media
    - quality
    - density
    argTypes:
    - stream*
    - bjc_print_color_t
    - bjc_print_media_t
    - bjc_print_quality_t
    - bjc_black_density_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: bjc_put_print_method
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: "void bjc_put_print_method(stream *s, bjc_print_color_t color,\n                     bjc_print_media_t
      media, bjc_print_quality_t quality,\n                     bjc_black_density_t
      density)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:125,1
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:127,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:128,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - s
    - x_resolution
    - y_resolution
    argTypes:
    - stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 131
    functionName: bjc_put_raster_resolution
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_hi_lo
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_raster_resolution(stream *s, int x_resolution, int y_resolution)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:137,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - skip
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: bjc_put_raster_skip
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_hi_lo
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_raster_skip(stream *s, int skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:150,1
    - Dst: bjc_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - s
    - length
    - lm
    - rm
    - top
    argTypes:
    - stream*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: bjc_put_page_margins
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_command
    - bjc_put_bytes
    linkageType: ''
    returnType: void
    signature: void bjc_put_page_margins(stream *s, int length, int lm, int rm, int
      top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:159,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:160,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - supply
    - type
    argTypes:
    - stream*
    - bjc_media_supply_t
    - bjc_media_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: bjc_put_media_supply
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: "void bjc_put_media_supply(stream *s, bjc_media_supply_t supply,\n
      \                    bjc_media_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:169,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - command
    argTypes:
    - stream*
    - bjc_identify_cartridge_command_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: bjc_put_identify_cartridge
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: "void bjc_put_identify_cartridge(stream *s,\n                           bjc_identify_cartridge_command_t
      command)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:178,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:179,1
    - Dst: bjc_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - s
    - component
    - data
    - count
    argTypes:
    - stream*
    - bjc_cmyk_image_component_t
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: bjc_put_cmyk_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    - bjc_put_bytes
    linkageType: ''
    returnType: void
    signature: "void bjc_put_cmyk_image(stream *s, bjc_cmyk_image_component_t component,\n
      \                  const byte *data, int count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:187,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - lines
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: bjc_put_move_lines
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_hi_lo
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_move_lines(stream *s, int lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:195,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - unit
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: bjc_put_move_lines_unit
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_hi_lo
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_move_lines_unit(stream *s, int unit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:204,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:205,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:206,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:207,1
    - Dst: bjc_put_hi_lo
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - s
    - length
    - lm
    - rm
    - top
    argTypes:
    - stream*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: bjc_put_extended_margins
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_hi_lo
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_extended_margins(stream *s, int length, int lm, int rm,
      int top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:217,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:218,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:219,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - depth
    - format
    - ink
    argTypes:
    - stream*
    - int
    - bjc_image_format_t
    - bjc_ink_system_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 221
    functionName: bjc_put_image_format
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: "void bjc_put_image_format(stream *s, int depth, bjc_image_format_t
      format,\n                             bjc_ink_system_t ink)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:227,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - id
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: bjc_put_page_id
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_page_id(stream *s, int id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:235,1
    - Dst: bjc_put_bytes
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - data
    - count
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: bjc_put_continue_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - bjc_put_command
    - bjc_put_bytes
    linkageType: ''
    returnType: void
    signature: void bjc_put_continue_image(stream *s, const byte *data, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bjc_put_command
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:244,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:245,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:246,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:247,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/gdevbjcl.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - s
    - dot_rows
    - dot_cols
    - layers
    argTypes:
    - stream*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 249
    functionName: bjc_put_indexed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbjcl.c
    functionUses: 0
    functionsReached:
    - spputc
    - bjc_put_command
    linkageType: ''
    returnType: void
    signature: void bjc_put_indexed_image(stream *s, int dot_rows, int dot_cols, int
      layers)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:72,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:73,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:74,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:75,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:76,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:77,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:78,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:79,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:80,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:81,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:82,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:83,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:84,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:85,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:86,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:87,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:88,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:89,1
    - Dst: CHECK_PAPER_SIZE
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 25
    functionDepth: 1
    functionLinenumber: 25
    functionLinenumberEnd: 95
    functionName: gdev_pcl_paper_size
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 6
    functionsReached:
    - CHECK_PAPER_SIZE
    linkageType: ''
    returnType: int
    signature: int gdev_pcl_paper_size(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: CHECK_PAPER_SIZE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PAPER_SIZE(w,h,c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: gdev_pcl_page_orientation
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gdev_pcl_page_orientation(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: gdev_pcl_3bit_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gdev_pcl_3bit_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: gdev_pcl_3bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pcl_3bit_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                           gx_color_value prgb[3])"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:230,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 4
    argNames:
    - row
    - end_row
    - compressed
    - pad
    argTypes:
    - word*
    - word*
    - byte*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 252
    functionName: gdev_pcl_mode2compress_padded
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gdev_pcl_mode2compress_padded(const word * row, const word * end_row,\n
      \                             byte * compressed, bool pad)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_pcl_mode2compress_padded
      Src: /src/libspectre/ghostscript/devices/gdevpcl.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - row
    - end_row
    - compressed
    argTypes:
    - word*
    - word*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: gdev_pcl_mode2compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 2
    functionsReached:
    - gdev_pcl_mode2compress_padded
    linkageType: ''
    returnType: int
    signature: "int gdev_pcl_mode2compress(const word * row, const word * end_row,\n
      \                      byte * compressed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 4
    argNames:
    - bytecount
    - current
    - previous
    - compressed
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 313
    functionName: gdev_pcl_mode3compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gdev_pcl_mode3compress(int bytecount, const byte * current, byte
      * previous, byte * compressed)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 76
    argCount: 4
    argNames:
    - bytecount
    - current
    - previous
    - compressed
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 448
    functionName: gdev_pcl_mode9compress
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpcl.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pcl_mode9compress(int bytecount, const byte *current,\n                       const
      byte *previous, byte *compressed)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 1
    argNames:
    - col
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 113
    functionName: escp2c_pick_best
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      escp2c_pick_best(byte *col)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p
    - q
    - i
    argTypes:
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: escp2c_conv_stc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void escp2c_conv_stc(byte *p, byte *q, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: LIMIT
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: LIMIT2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LIMIT2(a)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:147,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:156,1
    - Dst: LIMIT
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:162,1
    - Dst: escp2c_pick_best
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:179,1
    - Dst: LIMIT
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:191,1
    - Dst: LIMIT2
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:198,1
    - Dst: escp2c_pick_best
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:221,1
    - Dst: LIMIT
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:233,1
    - Dst: LIMIT2
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:240,1
    - Dst: escp2c_conv_stc
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:258,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevstc4.c:287,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 95
    argCount: 5
    argNames:
    - sd
    - npixel
    - in
    - buf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 294
    functionName: stc_fs2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc4.c
    functionUses: 0
    functionsReached:
    - LIMIT
    - escp2c_conv_stc
    - LIMIT2
    - memset
    - memcmp
    - escp2c_pick_best
    linkageType: ''
    returnType: int
    signature: int stc_fs2(stcolor_device *sd,int npixel,byte *in,byte *buf,byte *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:50,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:51,1
    - Dst: gdev_prn_get_param
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: fpng_get_param
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gdev_prn_get_param
    - strcmp
    linkageType: ''
    returnType: int
    signature: int fpng_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:63,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 71
    functionName: fpng_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_write_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int fpng_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:79,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: fpng_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gdev_prn_put_params
    - gx_downscaler_read_params
    linkageType: ''
    returnType: int
    signature: int fpng_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_adjust_bandheight
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:94,1
    - Dst: fpng_get_param
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:99,1
    - Dst: gdev_prn_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 105
    functionName: fpng_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - fpng_get_param
    - gdev_prn_dev_spec_op
    - gx_downscaler_adjust_bandheight
    linkageType: ''
    returnType: int
    signature: int fpng_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data,
      int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateBound
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:211,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:212,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - arg
    - dev
    - mem
    - w
    - h
    - pbuffer
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - int
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 219
    functionName: fpng_init_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    - deflateBound
    linkageType: ''
    returnType: int
    signature: int fpng_init_buffer(void *arg, gx_device *dev, gs_memory_t *mem, int
      w, int h, void **pbuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - dev
    - mem
    - buffer
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: fpng_free_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void fpng_free_buffer(void *arg, gx_device *dev, gs_memory_t *mem,
      void *buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - buf
    - v
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 232
    functionName: big32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void big32(unsigned char *buf, unsigned int v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:236,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:237,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:238,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - v
    - file
    argTypes:
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 240
    functionName: write_big32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void write_big32(int v, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_big32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:245,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:246,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:247,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:248,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:249,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:250,1
    - Dst: write_big32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - tag
    - data
    - size
    - file
    argTypes:
    - char*
    - unsigned char*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: putchunk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - write_big32
    - gp_fwrite
    - crc32
    linkageType: ''
    returnType: void
    signature: void putchunk(const char *tag, const unsigned char *data, int size,
      gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem_
    - items
    - size
    argTypes:
    - void*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 259
    functionName: zalloc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *zalloc(void *mem_, unsigned int items, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem_
    - address
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: zfree
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void zfree(void *mem_, void *address)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - d
    - raster
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 289
    functionName: paeth_predict
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int paeth_predict(const unsigned char *d, int raster)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:297,1
    - Dst: gx_downscaler_scale_rounded
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:308,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:321,1
    - Dst: paeth_predict
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:334,1
    - Dst: paeth_predict
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:335,1
    - Dst: paeth_predict
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:336,1
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:360,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:362,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:376,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:386,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:389,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:394,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 65
    argCount: 5
    argNames:
    - arg
    - dev
    - bdev
    - rect
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - gx_device*
    - gs_int_rect*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 399
    functionName: fpng_process
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_scale_rounded
    - deflateInit
    - deflate
    - deflateEnd
    - return_error
    - bitmap_raster
    - dev_proc
    - paeth_predict
    linkageType: ''
    returnType: int
    signature: int fpng_process(void *arg, gx_device *dev, gx_device *bdev, const
      gs_int_rect *rect, void *buffer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putchunk
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - arg
    - dev
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 3
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: fpng_output
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - putchunk
    linkageType: ''
    returnType: int
    signature: int fpng_output(void *arg, gx_device *dev, void *buffer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:420,1
    - Dst: big32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:423,1
    - Dst: gx_downscaler_scale_rounded
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:423,1
    - Dst: big32
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:424,1
    - Dst: gx_downscaler_scale_rounded
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:424,1
    - Dst: putchunk
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:430,1
    - Dst: gx_downscaler_process_page
      Src: /src/libspectre/ghostscript/devices/gdevfpng.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 412
    functionDepth: 3
    functionLinenumber: 412
    functionLinenumberEnd: 439
    functionName: fpng_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfpng.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_scale_rounded
    - gx_downscaler_process_page
    - big32
    - putchunk
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int fpng_print_page(gx_device_printer *pdev, gp_file *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:223,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 228
    functionName: bj200_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbj10.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    linkageType: ''
    returnType: int
    signature: int bj200_open(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:243,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: bj10e_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbj10.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    linkageType: ''
    returnType: int
    signature: int bj10e_open(gx_device *pdev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:253,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:262,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:263,1
    - Dst: dev_print_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:267,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:271,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:278,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:283,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:287,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:290,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:291,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:292,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:295,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:296,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:314,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:347,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:351,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:361,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:364,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:371,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:374,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:394,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:410,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:418,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:430,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:432,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:438,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:442,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:443,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:445,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevbj10.c:448,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 119
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 450
    functionName: bj10e_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevbj10.c
    functionUses: 0
    functionsReached:
    - dev_print_scan_lines
    - gp_fputs
    - gp_fflush
    - gdev_prn_copy_scan_lines
    - gx_device_raster
    - gdev_prn_get_bits
    - gp_fprintf
    - memset
    - gp_fputc
    - gs_malloc
    - gs_note_error
    - gs_free
    - min
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int bj10e_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:71,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: sparc_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsppr.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - gx_device_set_margins
    linkageType: ''
    returnType: int
    signature: int sparc_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - err_code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 108
    functionName: err_code_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsppr.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: char
    signature: 'char *

      err_code_string(int err_code)'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:120,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:120,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:122,1
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:125,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:129,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:129,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:131,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:135,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:137,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:139,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:142,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:142,1
    - Dst: ioctl
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:144,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:144,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:146,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:154,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:156,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:159,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:162,1
    - Dst: err_code_string
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:164,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:165,1
    - Dst: sleep
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:167,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:170,1
    - Dst: err_code_string
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:172,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:175,1
    - Dst: err_code_string
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:177,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:180,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:188,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevsppr.c:192,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 2
    argNames:
    - pdev
    - prn
    argTypes:
    - gx_device_printer*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 194
    functionName: sparc_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevsppr.c
    functionUses: 0
    functionsReached:
    - write
    - gdev_prn_copy_scan_lines
    - fileno
    - err_code_string
    - dmflush
    - gs_free
    - sleep
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - return_error
    - errprintf
    - ioctl
    linkageType: ''
    returnType: int
    signature: int sparc_print_page(gx_device_printer *pdev, FILE *prn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: gray_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotrgb_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 243
    functionName: rgb_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotrgb_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                 frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 254
    functionName: cmyk_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotrgb_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 266
    functionName: gray_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotcmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 280
    functionName: rgb_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotcmyk_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                  frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: cmyk_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotcmyk_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: cmyk_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotn_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 321
    functionName: gray_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotn_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:330,1
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: rgb_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_cmyk
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotn_cm(gx_device * dev, const gs_gstate *pgs,\n                                   frac
      r, frac g, frac b, frac out[])"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 365
    functionName: get_rinkj_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_rinkj_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:379,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 385
    functionName: rinkj_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index rinkj_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: rinkj_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rinkj_decode_color(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_decode_color
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 421
    functionName: rinkj_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - rinkj_decode_color
    linkageType: ''
    returnType: int
    signature: int rinkj_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value
      rgb[3])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_profile_handle_file
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:430,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:431,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:434,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:443,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:447,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - rdev
    argTypes:
    - rinkj_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 450
    functionName: rinkj_open_profile
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - gsicc_get_profile_handle_file
    - strlen
    - gscms_get_link
    - gs_throw
    linkageType: ''
    returnType: int
    signature: int rinkj_open_profile(rinkj_device *rdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:466,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:468,1
    - Dst: sample_device_crd_get_params
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:469,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:470,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:471,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:475,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:477,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:482,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 487
    functionName: rinkj_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_name_array
    - set_param_array
    - strlen
    - param_write_bool
    - sample_device_crd_get_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int rinkj_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - name_size
    - ','
    - str
    - ','
    - str_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 490
    functionDepth: 0
    functionLinenumber: 490
    functionLinenumberEnd: 493
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(name, name_size, str, str_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:506,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - plist
    - pstring
    argTypes:
    - fixed_colorant_names_list
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 513
    functionName: check_process_color_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool check_process_color_names(fixed_colorant_names_list plist,\n
      \                         const gs_param_string * pstring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:537,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - name
    - pstr
    - max_len
    argTypes:
    - gs_param_list*
    - char*
    - gs_param_string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 546
    functionName: rinkj_param_read_fn
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int rinkj_param_read_fn(gs_param_list *plist, const char *name,\n
      \                 gs_param_string *pstr, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:552,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - str
    argTypes:
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: param_string_eq
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool param_string_eq(const gs_param_string *pcs, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - rdev
    - color_model
    argTypes:
    - rinkj_device*
    - rinkj_color_model
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 590
    functionName: rinkj_set_color_model
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rinkj_set_color_model(rinkj_device *rdev, rinkj_color_model color_model)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:609,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:611,1
    - Dst: rinkj_param_read_fn
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:614,1
    - Dst: rinkj_param_read_fn
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:618,1
    - Dst: param_read_name
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:622,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:624,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:626,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:628,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:630,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:633,1
    - Dst: rinkj_set_color_model
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:645,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:647,1
    - Dst: check_process_color_names
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:666,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:671,1
    - Dst: bpc_to_depth
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:683,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:686,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:690,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:694,1
    - Dst: rinkj_open_profile
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:697,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 700
    functionName: rinkj_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - rinkj_set_color_model
    - check_process_color_names
    - gs_closedevice
    - rinkj_param_read_fn
    - BEGIN_ARRAY_PARAM
    - rinkj_open_profile
    - param_read_name
    - memcpy
    - END_ARRAY_PARAM
    - param_signal_error
    - gdev_prn_put_params
    - param_string_eq
    - bpc_to_depth
    linkageType: ''
    returnType: int
    signature: int rinkj_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:713,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:714,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 717
    functionName: rinkj_close_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gscms_release_link
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int rinkj_close_device(gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:743,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:743,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:756,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - src_index
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 765
    functionName: rinkj_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: int
    signature: "int rinkj_get_color_comp_index(gx_device * dev, const char * pname,
      int name_size,\n                                int src_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 4
    argNames:
    - graph_x
    - graph_y
    - n_graph
    - x
    argTypes:
    - double*
    - double*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 780
    functionName: rinkj_graph_lookup
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double rinkj_graph_lookup (const double *graph_x, const double *graph_y,
      int n_graph, double x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gp_fgets
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:814,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:816,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:820,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:826,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:827,1
    - Dst: gp_fgets
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:831,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:833,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 4
    argNames:
    - rdev
    - lutset
    - plane
    - f
    argTypes:
    - rinkj_device*
    - rinkj_lutset*
    - char
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 797
    functionDepth: 1
    functionLinenumber: 797
    functionLinenumberEnd: 844
    functionName: rinkj_add_lut
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - gp_fgets
    - sscanf
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int rinkj_add_lut(rinkj_device *rdev, rinkj_lutset *lutset, char plane,
      gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_graph_lookup
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:859,1
    - Dst: rinkj_screen_eb_set_lut
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:864,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - rdev
    - cmyk_dev
    - lutset
    argTypes:
    - rinkj_device*
    - RinkjDevice*
    - rinkj_lutset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 867
    functionName: rinkj_apply_luts
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - rinkj_graph_lookup
    - rinkj_screen_eb_set_lut
    linkageType: ''
    returnType: int
    signature: int rinkj_apply_luts(rinkj_device *rdev, RinkjDevice *cmyk_dev, const
      rinkj_lutset *lutset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:874,1
    - Dst: gp_fgets
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:886,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:893,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:898,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:899,1
    - Dst: rinkj_add_lut
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:900,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:901,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:901,1
    - Dst: rinkj_device_set_param_string
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:902,1
    - Dst: rinkj_device_set_param_string
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:904,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:908,1
    - Dst: rinkj_apply_luts
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:910,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 5
    argNames:
    - rdev
    - printer_dev
    - cmyk_dev
    - config_fn
    - params
    argTypes:
    - rinkj_device*
    - RinkjDevice*
    - RinkjDevice*
    - char*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 869
    functionDepth: 2
    functionLinenumber: 869
    functionLinenumberEnd: 914
    functionName: rinkj_set_luts
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - rinkj_add_lut
    - strcmp
    - rinkj_apply_luts
    - gp_fgets
    - gp_fclose
    - memcpy
    - rinkj_device_set_param_string
    - gp_fopen
    linkageType: ''
    returnType: int
    signature: "int rinkj_set_luts(rinkj_device *rdev,\n               RinkjDevice
      *printer_dev, RinkjDevice *cmyk_dev,\n               const char *config_fn,
      const RinkjDeviceParams *params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_file_new
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:924,1
    - Dst: rinkj_epson870_new
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:925,1
    - Dst: rinkj_screen_eb_new
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:926,1
    - Dst: rinkj_set_luts
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:934,1
    - Dst: rinkj_device_init
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - rdev
    - file
    argTypes:
    - rinkj_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 939
    functionName: rinkj_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - rinkj_device_init
    - rinkj_byte_stream_file_new
    - rinkj_epson870_new
    - rinkj_screen_eb_new
    - rinkj_set_luts
    linkageType: ''
    returnType: RinkjDevice
    signature: 'RinkjDevice *

      rinkj_init(rinkj_device *rdev, gp_file *file)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - color
    argTypes:
    - bits32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 951
    functionDepth: 0
    functionLinenumber: 951
    functionLinenumberEnd: 956
    functionName: rinkj_color_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bits32
    signature: bits32 rinkj_color_hash(bits32 color)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:962,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:976,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:979,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:982,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:983,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:988,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:992,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:993,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1013,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1020,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1039,1
    - Dst: rinkj_color_hash
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1041,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1046,1
    - Dst: rinkj_color_hash
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1063,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1072,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1094,1
    - Dst: rinkj_color_hash
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1096,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1104,1
    - Dst: rinkj_device_write
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1130,1
    - Dst: rinkj_device_write
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1133,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1136,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1137,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1138,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 119
    argCount: 2
    argNames:
    - pdev
    - cmyk_dev
    argTypes:
    - gx_device_printer*
    - RinkjDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1141
    functionName: rinkj_write_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - rinkj_device_write
    - gscms_transform_color
    - rinkj_color_hash
    - gs_alloc_bytes
    - gdev_prn_raster
    - gdev_prn_get_bits
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int rinkj_write_image_data(gx_device_printer *pdev, RinkjDevice *cmyk_dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1151,1
    - Dst: rinkj_init
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1154,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1156,1
    - Dst: rinkj_write_image_data
      Src: /src/libspectre/ghostscript/devices/gdevrinkj.c:1158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1143
    functionDepth: 4
    functionLinenumber: 1143
    functionLinenumberEnd: 1160
    functionName: rinkj_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevrinkj.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - emprintf
    - rinkj_init
    - rinkj_write_image_data
    linkageType: ''
    returnType: int
    signature: int rinkj_print_page(gx_device_printer *pdev, gp_file *file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:145,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:146,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:147,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:149,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:150,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:154,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:193,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:195,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 50
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 198
    functionName: perm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - fprintf
    - fwrite
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int perm_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - out
    argTypes:
    - gx_device*
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: perm_permute_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void perm_permute_cm(gx_device *pdev, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 222
    functionName: gray_cs_to_perm_cm_0
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_perm_cm_0(gx_device *dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:228,1
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 230
    functionName: rgb_cs_to_perm_cm_0
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_perm_cm_0(gx_device *dev, const gs_gstate *pgs,\n                                  frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: cmyk_cs_to_perm_cm_0
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_perm_cm_0(gx_device *dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: gray_cs_to_perm_cm_1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_perm_cm_1(gx_device *dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 257
    functionName: rgb_cs_to_perm_cm_1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_perm_cm_1(gx_device *dev, const gs_gstate *pgs,\n                                  frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:262,1
    - Dst: perm_permute_cm
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: cmyk_cs_to_perm_cm_1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - perm_permute_cm
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_perm_cm_1(gx_device *dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: perm_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      perm_get_color_mapping_procs(const gx_device *dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - name_size
    - ','
    - str
    - ','
    - str_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 295
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(name, name_size, str, str_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:306,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: perm_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: int
    signature: "int perm_get_color_comp_index(const gx_device *pdev, const char *pname,\n
      \                                       int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:329,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: perm_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index perm_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLDUP_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:350,1
    - Dst: COLDUP_DUP
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 356
    functionName: perm_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - COLDUP_DUP
    - COLDUP_SETUP
    linkageType: ''
    returnType: int
    signature: int perm_decode_color(gx_device *dev, gx_color_index color, gx_color_value
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:367,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:369,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:379,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:382,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:387,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:390,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 392
    functionName: perm_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - param_write_name_array
    - param_string_from_string
    - set_param_array
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int perm_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - dev
    - mode
    - permute
    argTypes:
    - gx_device_perm_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 453
    functionName: perm_set_color_model
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int perm_set_color_model(gx_device_perm_t *dev, int mode, int permute)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:464,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:467,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:471,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:472,1
    - Dst: perm_set_color_model
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:477,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevperm.c:479,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 483
    functionName: perm_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevperm.c
    functionUses: 0
    functionsReached:
    - param_read_int
    - perm_set_color_model
    - return_error
    - gdev_prn_put_params
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int perm_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcm
    - max_count
    argTypes:
    - gx_8bit_color_map*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 31
    functionName: gx_8bit_map_init
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8bcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_8bit_map_init(gx_8bit_color_map * pcm, int max_count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_8bit_rgb_key
      Src: /src/libspectre/ghostscript/devices/gdev8bcm.c:39,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 4
    argNames:
    - pcm
    - r
    - g
    - b
    argTypes:
    - gx_8bit_color_map*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 59
    functionName: gx_8bit_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8bcm.c
    functionUses: 0
    functionsReached:
    - gx_8bit_rgb_key
    linkageType: ''
    returnType: int
    signature: "int gx_8bit_map_rgb_color(const gx_8bit_color_map * pcm, gx_color_value
      r,\n                      gx_color_value g, gx_color_value b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_8bit_map_is_full
      Src: /src/libspectre/ghostscript/devices/gdev8bcm.c:70,1
    - Dst: gx_8bit_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdev8bcm.c:72,1
    - Dst: gx_8bit_rgb_key
      Src: /src/libspectre/ghostscript/devices/gdev8bcm.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pcm
    - r
    - g
    - b
    argTypes:
    - gx_8bit_color_map*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: gx_8bit_add_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8bcm.c
    functionUses: 0
    functionsReached:
    - gx_8bit_map_is_full
    - gx_8bit_map_rgb_color
    - gx_8bit_rgb_key
    linkageType: ''
    returnType: int
    signature: "int gx_8bit_add_rgb_color(gx_8bit_color_map * pcm, gx_color_value
      r,\n                      gx_color_value g, gx_color_value b)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:187,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:196,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:199,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:200,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:212,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:214,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:218,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:219,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:234,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:238,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:249,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:254,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:258,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:263,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:291,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:318,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:319,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:321,1
    - Dst: gdev_prn_transpose_8x8
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:335,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:356,1
    - Dst: eps_output_run
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:379,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:387,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:390,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:391,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:392,1
    - Dst: eps_output_run
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:403,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:409,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:412,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:419,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:420,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:424,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:426,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:428,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 137
    argCount: 8
    argNames:
    - pdev
    - prn_stream
    - y_9pin_high
    - init_string
    - init_length
    - end_string
    - archaic
    - tab_hiccup
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - char*
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 430
    functionName: eps_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gp_fflush
    - eps_output_run
    - gs_free
    - gdev_prn_copy_scan_lines
    - gdev_prn_get_bits
    - max
    - memset
    - gp_fputc
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - gs_malloc
    - return_error
    - gp_fprintf
    - memcpy
    - gdev_prn_transpose_8x8
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int eps_print_page(gx_device_printer *pdev, gp_file *prn_stream, int
      y_9pin_high,\n  const char *init_string, int init_length, const char *end_string,\n
      \ int archaic, int tab_hiccup)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:440,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:443,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:447,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:448,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:450,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:451,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:454,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:467,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - data
    - count
    - y_mult
    - start_graphics
    - prn_stream
    - pass
    argTypes:
    - byte*
    - int
    - int
    - char
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 471
    functionName: eps_output_run
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void eps_output_run(byte *data, int count, int y_mult,\n  char start_graphics,
      gp_file *prn_stream, int pass)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eps_print_page
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 496
    functionName: epson_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 0
    functionsReached:
    - eps_print_page
    linkageType: ''
    returnType: int
    signature: int epson_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eps_print_page
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 504
    functionName: eps9high_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 0
    functionsReached:
    - eps_print_page
    linkageType: ''
    returnType: int
    signature: int eps9high_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eps_print_page
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 512
    functionName: eps9mid_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 0
    functionsReached:
    - eps_print_page
    linkageType: ''
    returnType: int
    signature: int eps9mid_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eps_print_page
      Src: /src/libspectre/ghostscript/devices/gdevepsn.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 529
    functionName: ibmpro_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevepsn.c
    functionUses: 0
    functionsReached:
    - eps_print_page
    linkageType: ''
    returnType: int
    signature: int ibmpro_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 96
    functionName: hocr_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    linkageType: ''
    returnType: int
    signature: int hocr_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:105,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:108,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: hocr_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int hocr_close(gx_device *pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:120,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:127,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:130,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 139
    functionName: ocr_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - gdev_prn_get_params
    - strlen
    - gx_downscaler_write_params
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int ocr_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:150,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:155,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:162,1
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:165,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:170,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:173,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: ocr_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_read_params
    - memcpy
    - param_signal_error
    - gdev_prn_put_params
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int ocr_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:189,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:190,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:191,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:195,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:205,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:209,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:215,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:217,1
    - Dst: ocr_image_to_hocr
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:222,1
    - Dst: ocr_image_to_utf8
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:230,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:241,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:243,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:243,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:244,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:249,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 3
    argNames:
    - pdev
    - file
    - hocr
    argTypes:
    - gx_device_ocr*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 253
    functionName: do_ocr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_scale
    - gx_downscaler_fin
    - ocr_image_to_utf8
    - gs_alloc_bytes
    - ocr_image_to_hocr
    - strlen
    - gx_downscaler_init
    - gx_downscaler_getbits
    - bitmap_raster
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int do_ocr_print_page(gx_device_ocr * pdev, gp_file * file, int hocr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ocr_print_page
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: ocr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 1
    functionsReached:
    - do_ocr_print_page
    linkageType: ''
    returnType: int
    signature: int ocr_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ocr_print_page
      Src: /src/libspectre/ghostscript/devices/gdevocr.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: hocr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevocr.c
    functionUses: 0
    functionsReached:
    - do_ocr_print_page
    linkageType: ''
    returnType: int
    signature: int hocr_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - startbit
    - val
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: next_zero
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int next_zero(int startbit, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - startbit
    - val
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: next_one
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int next_one(int startbit, int val)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:91,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:93,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:95,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:97,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:99,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:101,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:109,1
    - Dst: next_one
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:121,1
    - Dst: next_zero
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:124,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:137,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:138,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:151,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:151,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:152,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:152,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:165,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:165,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:165,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:166,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:166,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:166,1
    - Dst: next_zero
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:180,1
    - Dst: next_one
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:192,1
    - Dst: next_zero
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:195,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:207,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:216,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:216,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:228,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:228,1
    - Dst: bm
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:228,1
    - Dst: next_zero
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:239,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 111
    argCount: 5
    argNames:
    - mem
    - min_feature_size
    - width
    - height
    - min_feature_data
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 248
    functionName: min_feature_size_init
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 1
    functionsReached:
    - bm
    - next_zero
    - next_one
    - memset
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: int
    signature: "int min_feature_size_init(gs_memory_t *mem, int min_feature_size,\n
      \                     int width, int height, void **min_feature_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: bm
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bm(b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:257,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - min_feature_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 263
    functionName: min_feature_size_dnit
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 1
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: int
    signature: int min_feature_size_dnit(void *min_feature_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/minftrsz.c:302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - line
    - min_feature_data
    argTypes:
    - byte*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 336
    functionName: min_feature_size_process
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int min_feature_size_process(byte *line, void *min_feature_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - width
    - adjust_width
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 357
    functionName: fax_adjusted_width
    functionSourceFile: /src/libspectre/ghostscript/devices/minftrsz.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fax_adjusted_width(int width, int adjust_width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dname
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: FAX_DEVICE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAX_DEVICE(dname, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: gdev_fax_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 1
    functionsReached:
    - gdev_prn_open
    linkageType: ''
    returnType: int
    signature: int gdev_fax_open(gx_device * dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:61,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:64,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:66,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:68,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: gdev_fax_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - param_write_bool
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int gdev_fax_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:87,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:94,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:98,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:105,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:109,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:112,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:117,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:124,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:131,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 140
    functionName: gdev_fax_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_bool
    - param_read_int
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: int gdev_fax_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_defaults
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:150,1
    - Dst: fax_adjusted_width
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ss
    - fdev
    - adjust_width
    argTypes:
    - stream_CFE_state*
    - gx_device_fax*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 156
    functionName: gdev_fax_init_state_adjust
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - fax_adjusted_width
    - set_defaults
    linkageType: ''
    returnType: void
    signature: "void gdev_fax_init_state_adjust(stream_CFE_state *ss,\n                           const
      gx_device_fax *fdev,\n                           int adjust_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_state_adjust
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - fdev
    argTypes:
    - stream_CFE_state*
    - gx_device_fax*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: gdev_fax_init_state
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 1
    functionsReached:
    - gdev_fax_init_state_adjust
    linkageType: ''
    returnType: void
    signature: void gdev_fax_init_state(stream_CFE_state *ss, const gx_device_fax
      *fdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_state_adjust
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - fdev
    argTypes:
    - stream_CFE_state*
    - gx_device_fax*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: gdev_fax_init_fax_state
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_init_state_adjust
    linkageType: ''
    returnType: void
    signature: void gdev_fax_init_fax_state(stream_CFE_state *ss, const gx_device_fax
      *fdev)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:182,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:189,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:196,1
    - Dst: stream_template*::init
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:204,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:206,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:209,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:212,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:214,1
    - Dst: min_feature_size_init
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:223,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:229,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:241,1
    - Dst: stream_template*::process
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:245,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:246,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:258,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:262,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:264,1
    - Dst: min_feature_size_process
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:270,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:275,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:283,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:292,1
    - Dst: min_feature_size_dnit
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:302,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:303,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:304,1
    - Dst: stream_template*::release
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:306,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 74
    argCount: 7
    argNames:
    - pdev
    - prn_stream
    - temp
    - ss
    - width
    - row_first
    - row_end
    argTypes:
    - gx_device_printer*
    - gp_file*
    - stream_template*
    - stream_state*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 308
    functionName: gdev_fax_print_strip
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - stream_template*::init
    - strcmp
    - gs_alloc_bytes
    - stream_template*::process
    - gdev_prn_copy_scan_lines
    - min_feature_size_dnit
    - max
    - stream_template*::release
    - memcpy
    - gdev_mem_bytes_per_scan_line
    - memset
    - min_feature_size_init
    - return_error
    - gs_note_error
    - min_feature_size_process
    - if_debug7m
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_fax_print_strip(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                    const stream_template * temp, stream_state * ss,\n                     int
      width, int row_first, int row_end /* last + 1 */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_print_strip
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - ss
    argTypes:
    - gx_device_printer*
    - gp_file*
    - stream_CFE_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: gdev_fax_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 1
    functionsReached:
    - gdev_fax_print_strip
    linkageType: ''
    returnType: int
    signature: "int gdev_fax_print_page(gx_device_printer * pdev, gp_file * prn_stream,\n
      \                   stream_CFE_state * ss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_fax_state
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:326,1
    - Dst: gdev_fax_print_page
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: faxg3_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_init_fax_state
    - gdev_fax_print_page
    linkageType: ''
    returnType: int
    signature: int faxg3_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_fax_state
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:338,1
    - Dst: gdev_fax_print_page
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 343
    functionName: faxg32d_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_init_fax_state
    - gdev_fax_print_page
    linkageType: ''
    returnType: int
    signature: int faxg32d_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_fax_state
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:351,1
    - Dst: gdev_fax_print_page
      Src: /src/libspectre/ghostscript/devices/gdevfax.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 355
    functionName: faxg4_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevfax.c
    functionUses: 0
    functionsReached:
    - gdev_fax_init_fax_state
    - gdev_fax_print_page
    linkageType: ''
    returnType: int
    signature: int faxg4_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tiff_set_handlers
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:92,1
    - Dst: gdev_prn_allocate_memory
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:95,1
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:100,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 104
    functionName: tfax_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - gdev_prn_open_printer_seekable
    - gdev_prn_allocate_memory
    - tiff_set_handlers
    linkageType: ''
    returnType: int
    signature: int tfax_open(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:112,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: tfax_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - TIFFCleanup
    linkageType: ''
    returnType: int
    signature: int tfax_close(gx_device * pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_get_params
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:121,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:125,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:127,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:130,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:133,1
    - Dst: tiff_compression_param_string
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:135,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 140
    functionName: tfax_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_bool
    - gdev_fax_get_params
    - tiff_compression_param_string
    - param_write_long
    linkageType: ''
    returnType: int
    signature: int tfax_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:157,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:169,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:175,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:182,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:188,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:191,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:198,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:201,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:209,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:213,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:216,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:223,1
    - Dst: tiff_compression_id
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:225,1
    - Dst: tiff_compression_allowed
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:226,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:227,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:233,1
    - Dst: gdev_fax_put_params
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:238,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 249
    functionName: tfax_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tiff_compression_allowed
    - tiff_compression_id
    - param_read_int
    - gdev_fax_put_params
    - param_read_long
    - param_signal_error
    - param_read_bool
    - dmlprintf
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int tfax_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:300,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:301,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:302,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:303,1
    - Dst: tiff_set_compression
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - tfdev
    argTypes:
    - gx_device_tfax*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 309
    functionName: tfax_set_fields
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - tiff_set_compression
    linkageType: ''
    returnType: void
    signature: void tfax_set_fields(gx_device_tfax *tfdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:316,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:318,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 321
    functionName: tiffcrle_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tiffcrle_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:328,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:330,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:332,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 335
    functionName: tiffg3_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - TIFFSetField
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tiffg3_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:342,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:344,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:346,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:348,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 349
    functionName: tiffg32d_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - TIFFSetField
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tiffg32d_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:356,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:358,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:360,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 363
    functionName: tiffg4_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - TIFFSetField
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tiffg4_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:371,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:372,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:373,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 376
    functionName: tifflzw_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - TIFFSetField
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tifflzw_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:384,1
    - Dst: tfax_set_fields
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:385,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:386,1
    - Dst: tiff_print_page
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 3
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: tiffpack_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 0
    functionsReached:
    - tfax_set_fields
    - tfax_begin_page
    - TIFFSetField
    - tiff_print_page
    linkageType: ''
    returnType: int
    signature: int tiffpack_print_page(gx_device_printer * dev, gp_file * prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:399,1
    - Dst: tiff_from_filep
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:400,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:402,1
    - Dst: tiff_set_fields_for_printer
      Src: /src/libspectre/ghostscript/devices/gdevtfax.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - tfdev
    - file
    argTypes:
    - gx_device_tfax*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 407
    functionName: tfax_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtfax.c
    functionUses: 6
    functionsReached:
    - return_error
    - tiff_from_filep
    - gdev_prn_file_is_new
    - tiff_set_fields_for_printer
    linkageType: ''
    returnType: int
    signature: int tfax_begin_page(gx_device_tfax * tfdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - num_comp
    - ','
    - depth
    - ','
    - mgr_depth
    - ','
    - max_gray
    - ','
    - max_rgb
    - ','
    - dither_gray
    - ','
    - dither_rgb
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 57
    functionName: mgr_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "mgr_prn_device(procs, dev_name, num_comp, depth, mgr_depth,\\\n        max_gray,
      max_rgb, dither_gray, dither_rgb, print_page)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:112,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:116,1
    - Dst: B_PUTHDR8
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:119,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:120,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:121,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - bdev
    - pstream
    - pcur
    argTypes:
    - gx_device_mgr*
    - gp_file*
    - mgr_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 131
    functionName: mgr_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - gdev_prn_raster
    - B_PUTHDR8
    - gs_malloc
    - return_error
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int mgr_begin_page(gx_device_mgr *bdev, gp_file *pstream, mgr_cursor
      *pcur)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:139,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pcur
    argTypes:
    - mgr_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 147
    functionName: mgr_next_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached:
    - gs_free
    - gdev_prn_copy_scan_lines
    linkageType: ''
    returnType: int
    signature: int mgr_next_row(mgr_cursor *pcur)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mgr_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:159,1
    - Dst: mgr_next_row
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:170,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:173,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 178
    functionName: mgr_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached:
    - mgr_next_row
    - return_error
    - mgr_begin_page
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int mgr_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: mgr_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:189,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:222,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:224,1
    - Dst: mgr_next_row
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:227,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:237,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:238,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:246,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:247,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:253,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:255,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:260,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:265,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:271,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:277,1
    - Dst: swap_bwords
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:281,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:283,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:284,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 86
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 286
    functionName: mgrN_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached:
    - swap_bwords
    - clut2mgr
    - mgr_next_row
    - gs_malloc
    - return_error
    - gs_free
    - mgr_begin_page
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int mgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: mgr_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:300,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:303,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:312,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:314,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:317,1
    - Dst: mgr_next_row
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:332,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:342,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:348,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:349,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:353,1
    - Dst: pc_4bit_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:357,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:359,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:360,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:361,1
    - Dst: mgr_8bit_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:366,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:369,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:370,1
    - Dst: clut2mgr
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:371,1
    - Dst: swap_bwords
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:375,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:377,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevmgr.c:378,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 380
    functionName: cmgrN_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached:
    - mgr_8bit_map_color_rgb
    - swap_bwords
    - pc_4bit_map_color_rgb
    - clut2mgr
    - memset
    - mgr_next_row
    - gs_malloc
    - return_error
    - gs_free
    - mgr_begin_page
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int cmgrN_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 398
    functionName: mgr_8bit_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index mgr_8bit_map_rgb_color(gx_device *dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 421
    functionName: mgr_8bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mgr_8bit_map_color_rgb(gx_device *dev, gx_color_index color,\n
      \ gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - v
    - bits
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 434
    functionName: clut2mgr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: "unsigned int clut2mgr(\n  register int v,\t\t/* value in clut */\n
      \ register int bits\t\t/* number of bits in clut */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: swap_bwords
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmgr.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void swap_bwords(register unsigned char *p, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:104,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:105,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:106,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:107,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:108,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - prn_stream
    - type
    - arg1
    - arg2
    argTypes:
    - gp_file*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 110
    functionName: lj3100sw_output_section_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void lj3100sw_output_section_header(gp_file *prn_stream, int type,
      int arg1, int arg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:117,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - prn_stream
    - buffer
    - pptr
    argTypes:
    - gp_file*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: lj3100sw_flush_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_output_section_header
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: void lj3100sw_flush_buffer(gp_file *prn_stream, char *buffer, char
      **pptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_flush_buffer
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - prn_stream
    - buffer
    - pptr
    - val
    argTypes:
    - gp_file*
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: lj3100sw_output_data_byte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_flush_buffer
    linkageType: ''
    returnType: void
    signature: void lj3100sw_output_data_byte(gp_file *prn_stream, char *buffer, char
      **pptr, int val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_flush_buffer
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:137,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:138,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - prn_stream
    - buffer
    - pptr
    - val
    - num
    argTypes:
    - gp_file*
    - char*
    - char**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 143
    functionName: lj3100sw_output_repeated_data_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_flush_buffer
    - memset
    - min
    linkageType: ''
    returnType: void
    signature: void lj3100sw_output_repeated_data_bytes(gp_file *prn_stream, char
      *buffer, char **pptr, int val, int num)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:148,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:149,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prn_stream
    - buffer
    - pptr
    argTypes:
    - gp_file*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 145
    functionDepth: 4
    functionLinenumber: 145
    functionLinenumberEnd: 151
    functionName: lj3100sw_output_newline
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_output_data_byte
    linkageType: ''
    returnType: void
    signature: void lj3100sw_output_newline(gp_file *prn_stream, char *buffer, char
      **pptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:157,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:158,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:159,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:160,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:162,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:163,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - prn_stream
    - buffer
    - pptr
    - high_resolution
    argTypes:
    - gp_file*
    - char*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 4
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: lj3100sw_output_empty_line
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_output_data_byte
    linkageType: ''
    returnType: void
    signature: void lj3100sw_output_empty_line(gp_file *prn_stream, char *buffer,
      char **pptr, bool high_resolution)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: select_medium
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:173,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:179,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:186,1
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:187,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:188,1
    - Dst: lj3100sw_output_repeated_data_bytes
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:189,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:190,1
    - Dst: lj3100sw_output_repeated_data_bytes
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:191,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:192,1
    - Dst: lj3100sw_flush_buffer
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:200,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:203,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:204,1
    - Dst: lj3100sw_output_newline
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:208,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:217,1
    - Dst: lj3100sw_output_empty_line
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:230,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:233,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:237,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:250,1
    - Dst: lj3100sw_output_empty_line
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:253,1
    - Dst: lj3100sw_output_newline
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:254,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:258,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:259,1
    - Dst: lj3100sw_output_data_byte
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:260,1
    - Dst: lj3100sw_output_repeated_data_bytes
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:262,1
    - Dst: lj3100sw_flush_buffer
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:263,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:265,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:267,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:270,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 272
    functionName: lj3100sw_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - lj3100sw_output_repeated_data_bytes
    - lj3100sw_flush_buffer
    - lj3100sw_output_newline
    - gs_free
    - gdev_prn_raster
    - gdev_prn_get_bits
    - min
    - select_medium
    - gs_sprintf
    - lj3100sw_output_data_byte
    - gs_malloc
    - return_error
    - gdev_prn_file_is_new
    - lj3100sw_output_empty_line
    - lj3100sw_output_section_header
    linkageType: ''
    returnType: int
    signature: int lj3100sw_print_page_copies(gx_device_printer *pdev, gp_file *prn_stream,
      int num_copies /* ignored */)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:281,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:282,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:284,1
    - Dst: lj3100sw_output_section_header
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:285,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevl31s.c:287,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 288
    functionName: lj3100sw_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevl31s.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gp_fputs
    - lj3100sw_output_section_header
    linkageType: ''
    returnType: int
    signature: int lj3100sw_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - procs
    - ','
    - dev_name
    - ','
    - magic
    - ','
    - is_raw
    - ','
    - num_comp
    - ','
    - depth
    - ','
    - max_gray
    - ','
    - max_rgb
    - ','
    - optimize
    - ','
    - x_dpi
    - ','
    - y_dpi
    - ','
    - print_page
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 111
    functionName: pbm_prn_device
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pbm_prn_device(procs, dev_name, magic, is_raw, num_comp, depth, max_gray,
      max_rgb, optimize, x_dpi, y_dpi, print_page)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p_open
    - ','
    - p_get_params
    - ','
    - p_map_rgb_color
    - ','
    - p_map_color_rgb
    - ','
    - p_map_cmyk_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: pgpm_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pgpm_procs(p_open, p_get_params, p_map_rgb_color, p_map_color_rgb,
      p_map_cmyk_color)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:243,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:244,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:246,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:248,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:249,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:250,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:254,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:255,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:257,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:258,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:260,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 264
    functionName: ppm_set_dev_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void ppm_set_dev_procs(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:282,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:291,1
    - Dst: ppm_set_dev_procs
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:293,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 295
    functionName: ppm_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - ppm_set_dev_procs
    - gdev_prn_open_planar
    - set_linear_color_bits_mask_shift
    linkageType: ''
    returnType: int
    signature: int ppm_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppm_open
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 308
    functionName: pnmcmyk_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - ppm_open
    linkageType: ''
    returnType: int
    signature: int pnmcmyk_open(gx_device *pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_bg_output_page
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 323
    functionName: ppm_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gdev_prn_bg_output_page
    linkageType: ''
    returnType: int
    signature: int ppm_output_page(gx_device * pdev, int num_copies, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 353
    functionName: pgm_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pgm_map_rgb_color(gx_device * pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 367
    functionName: pgm_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pgm_map_color_rgb(gx_device * dev, gx_color_index color,\n                  gx_color_value
      prgb[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:383,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:384,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - r
    - g
    - b
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 392
    functionName: gx_old_default_rgb_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index gx_old_default_rgb_map_rgb_color(gx_device * dev,\n
      \                      gx_color_value r, gx_color_value g, gx_color_value b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_old_default_rgb_map_rgb_color
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:401,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 411
    functionName: ppm_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gx_old_default_rgb_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index ppm_map_rgb_color(gx_device * pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 429
    functionName: ppm_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ppm_map_color_rgb(gx_device * dev, gx_color_index color,\n                  gx_color_value
      prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 445
    functionName: pkm_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pkm_map_cmyk_color(gx_device * pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVALUE
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:464,1
    - Dst: CVALUE
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:465,1
    - Dst: CVALUE
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 469
    functionName: pkm_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - CVALUE
    linkageType: ''
    returnType: int
    signature: int pkm_map_color_rgb(gx_device * dev, gx_color_index color, gx_color_value
      rgb[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: CVALUE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVALUE(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params_planar
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:479,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: ppm_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gdev_prn_get_params_planar
    - param_write_null
    linkageType: ''
    returnType: int
    signature: int ppm_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string_array
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:498,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:511,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:514,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:517,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:520,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:522,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:527,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:528,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:529,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:530,1
    - Dst: v < 2 || v >
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:534,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:535,1
    - Dst: gdev_prn_put_params_planar
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:565,1
    - Dst: ppm_set_dev_procs
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:568,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 570
    functionName: ppm_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - param_read_string_array
    - gdev_prn_put_params_planar
    - param_read_long
    - v < 2 || v >
    - dmlprintf1
    - ppm_set_dev_procs
    - param_signal_error
    - dmlprintf2
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int ppm_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 11
    argNames:
    - pdev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 589
    functionName: pnm_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pnm_copy_alpha(gx_device * pdev, const byte * data, int data_x,\n
      \          int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \              gx_color_index color, int depth)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:619,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pim
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 636
    functionName: pnm_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: "int pnm_begin_typed_image(gx_device *dev,\n                      const
      gs_gstate *pgs, const gs_matrix *pmat,\n                      const gs_image_common_t
      *pim, const gs_int_rect *prect,\n                      const gx_drawing_color
      *pdcolor,\n                      const gx_clip_path *pcpath,\n                      gs_memory_t
      *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - data
    - len
    - f
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 644
    functionName: nop_row_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nop_row_proc(gx_device_printer *pdev, byte *data, int len, gp_file
      *f)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster_chunky
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:652,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:653,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:656,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:656,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:656,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:657,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:657,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:657,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:660,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:664,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:666,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:671,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:672,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:675,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:676,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:679,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:680,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:683,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:684,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:687,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:688,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:691,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:694,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:698,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:699,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:703,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:704,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:708,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:709,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:713,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:714,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:718,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:719,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:723,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:725,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:729,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:730,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:742,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:743,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:748,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:749,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:759,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:767,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 121
    argCount: 3
    argNames:
    - pdev
    - magic
    - pstream
    argTypes:
    - gx_device_printer*
    - char
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 769
    functionName: pbm_print_page_loop
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gdev_prn_get_bits
    - strncmp
    - gdev_prn_raster_chunky
    - gp_fprintf
    - return_error
    - gs_note_error
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pbm_print_page_loop(gx_device_printer * pdev, char magic, gp_file
      * pstream,\n             int (*row_proc) (gx_device_printer *, byte *, int,
      gp_file *))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:783,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:784,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:790,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:791,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:793,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:794,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 801
    functionName: pbm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fputc
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int pbm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \             gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 808
    functionName: pbm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int pbm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:829,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:830,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:833,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:834,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:851,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:852,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:854,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:856,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 860
    functionName: pgm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fputc
    - gp_fwrite
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: "int pgm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \             gp_file * pstream)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_row
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:903,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 904
    functionName: pxm_pbm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_row
    linkageType: ''
    returnType: int
    signature: "int pxm_pbm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \                 gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:911,1
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 915
    functionName: pgm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int pgm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:935,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:936,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:973,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:974,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:975,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:976,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:978,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:979,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:982,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:983,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:985,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:988,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 5
    argNames:
    - pdev
    - data
    - depth
    - pstream
    - color
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 993
    functionName: ppgm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fputc
    - gp_fwrite
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: "int ppgm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \              gp_file * pstream, bool color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppgm_print_row
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 2
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: ppm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - ppgm_print_row
    linkageType: ''
    returnType: int
    signature: "int ppm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \             gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ppgm_print_row
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    functionName: ppm_pgm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - ppgm_print_row
    linkageType: ''
    returnType: int
    signature: "int ppm_pgm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \                 gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1012,1
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1015,1
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1019
    functionName: ppm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int ppm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1028,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1029,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1032
    functionName: pam_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: "int pam_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \              gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1041
    functionName: pam_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int pam_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster_chunky
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1049,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1050,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1053,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1053,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1053,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1054,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1054,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1054,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1058,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1060,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1061,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1065,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1066,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1070,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1072,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1076,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1077,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1080,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1081,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1093,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1128,1
    - Dst: pam_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1132,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1043
    functionDepth: 3
    functionLinenumber: 1043
    functionLinenumberEnd: 1133
    functionName: pnmcmyk_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gdev_prn_get_bits
    - pam_print_page
    - strncmp
    - gdev_prn_raster_chunky
    - gp_fprintf
    - return_error
    - gs_note_error
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pnmcmyk_print_page(gx_device_printer *pdev, gp_file *pstream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1145,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1146,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1147,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1135
    functionDepth: 1
    functionLinenumber: 1135
    functionLinenumberEnd: 1156
    functionName: pam4_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: int
    signature: "int pam4_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \              gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1158
    functionDepth: 2
    functionLinenumber: 1158
    functionLinenumberEnd: 1165
    functionName: pam4_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int pam4_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_1bit_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1183,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1201,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1216,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1227,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1230,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1234
    functionName: pkm_print_row_4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - gp_fprintf
    - return_error
    - min
    - gp_fwrite
    - cmyk_1bit_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int pkm_print_row_4(gx_device_printer * pdev, byte * data, int depth,\n
      \               gp_file * pstream)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pkm_map_color_rgb
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1268,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1274,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1276,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1277,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1278,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 4
    argNames:
    - pdev
    - data
    - depth
    - pstream
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1237
    functionDepth: 2
    functionLinenumber: 1237
    functionLinenumberEnd: 1287
    functionName: pkm_print_row
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fputc
    - pkm_map_color_rgb
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: "int pkm_print_row(gx_device_printer * pdev, byte * data, int depth,\n
      \             gp_file * pstream)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pbm_print_page_loop
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1288
    functionDepth: 2
    functionLinenumber: 1288
    functionLinenumberEnd: 1297
    functionName: pkm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_page_loop
    linkageType: ''
    returnType: int
    signature: int pkm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1310,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1311,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1316,1
    - Dst: gx_render_plane_init
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1332,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1336,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1337,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1338,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1342,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1343,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1347,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1349,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1353,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1354,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1358,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1359,1
    - Dst: gdev_prn_color_usage
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1370,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1376,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1379,1
    - Dst: gdev_prn_get_lines
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1390,1
    - Dst: pbm_print_row
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1399,1
    - Dst: pgm_print_row
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1400,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpbm.c:1406,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 64
    argCount: 2
    argNames:
    - pdev
    - pstream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1408
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1408
    functionName: psm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpbm.c
    functionUses: 0
    functionsReached:
    - pbm_print_row
    - gs_alloc_bytes
    - gs_note_error
    - pgm_print_row
    - gdev_prn_get_lines
    - gdev_prn_color_usage
    - memset
    - if_debug4m
    - gp_fprintf
    - return_error
    - gx_render_plane_init
    - bitmap_raster
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int psm_print_page(gx_device_printer * pdev, gp_file * pstream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:120,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - HWResolution
    argTypes:
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 125
    functionName: is_supported_resolution
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: bool
    signature: "bool is_supported_resolution(\n    const float HWResolution[2]\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:150,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:151,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:152,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:156,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:157,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - MediaSize
    - rotatep
    argTypes:
    - float[]
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 165
    functionName: get_paper_size
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - countof
    - fabs
    linkageType: ''
    returnType: clj_paper_size
    signature: "clj_paper_size *\nget_paper_size(\n    const float             MediaSize[2],\n
      \   bool *                  rotatep\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - pdev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 211
    functionName: clj_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - get_paper_size
    linkageType: ''
    returnType: void
    signature: void clj_get_initial_matrix( gx_device *pdev, gs_matrix *pmat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:222,1
    - Dst: gdev_begin_input_media
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:226,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:226,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:230,1
    - Dst: gdev_write_input_page_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:231,1
    - Dst: gdev_end_input_media
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 242
    functionName: clj_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - gdev_end_input_media
    - countof
    - gdev_begin_input_media
    - gdev_write_input_page_size
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int clj_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:258,1
    - Dst: is_supported_resolution
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:267,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:268,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:270,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:271,1
    - Dst: param_read_int_array
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - mediasize
    - plist
    - dev
    argTypes:
    - float[]
    - gs_param_list*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 284
    functionName: clj_media_size
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - is_supported_resolution
    - param_read_int_array
    - return_error
    - param_read_float_array
    linkageType: ''
    returnType: int
    signature: int clj_media_size(float mediasize[2], gs_param_list *plist, gx_device
      *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clj_media_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:298,1
    - Dst: get_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:303,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:304,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 307
    functionName: clj_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_prn_put_params
    - clj_media_size
    - get_paper_size
    linkageType: ''
    returnType: int
    signature: "int clj_put_params(\n    gx_device *             pdev,\n    gs_param_list
      *         plist\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gdev_pcl_mode2compress
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:404,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 4
    argNames:
    - pin
    - in_size
    - pout
    - out_size
    argTypes:
    - byte*
    - int
    - byte*[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 330
    functionDepth: 2
    functionLinenumber: 330
    functionLinenumberEnd: 408
    functionName: pack_and_compress_scanline
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - gdev_pcl_mode2compress
    linkageType: ''
    returnType: void
    signature: "void pack_and_compress_scanline(\n    const byte *        pin,\n    int
      \                in_size,\n    byte  *             pout[3],\n    int                 out_size[3]\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:421,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:435,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:438,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:439,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:440,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:442,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:464,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:483,1
    - Dst: pack_and_compress_scanline
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:489,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:494,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:497,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:498,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:499,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:500,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:501,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:502,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:507,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:511,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:512,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 515
    functionName: clj_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - gs_alloc_bytes
    - gdev_prn_copy_scan_lines
    - get_paper_size
    - pack_and_compress_scanline
    - gp_fprintf
    - return_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int clj_print_page(\n    gx_device_printer *     pdev,\n    gp_file
      *               prn_stream\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 621
    functionName: clj_pr_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int clj_pr_get_params( gx_device *pdev, gs_param_list *plist )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clj_media_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:639,1
    - Dst: get_paper_size
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:644,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:645,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:660,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:661,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:662,1
    - Dst: gs_c_param_list_set_target
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:665,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:666,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:668,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:670,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevclj.c:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 630
    functionDepth: 2
    functionLinenumber: 630
    functionLinenumberEnd: 677
    functionName: clj_pr_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevclj.c
    functionUses: 0
    functionsReached:
    - gs_c_param_list_set_target
    - clj_media_size
    - get_paper_size
    - gdev_prn_put_params
    - param_write_float_array
    - gs_c_param_list_read
    - return_error
    - gs_c_param_list_write
    - gs_c_param_list_release
    linkageType: ''
    returnType: int
    signature: "int clj_pr_put_params(\n    gx_device *             pdev,\n    gs_param_list
      *         plist\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevmeds.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - available
    - default_index
    argTypes:
    - gx_device_printer*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 92
    functionName: select_medium
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevmeds.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int select_medium(gx_device_printer *pdev, const char **available,
      int default_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 157
    functionName: inferno_rgb2cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index inferno_rgb2cmap(gx_device *dev, const gx_color_value
      cv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:168,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 184
    functionName: inferno_cmap2rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int inferno_cmap2rgb(gx_device *dev, gx_color_index color,\n  gx_color_value
      rgb[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - p9color
    argTypes:
    - ulong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 225
    functionName: init_p9color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void init_p9color(ulong *p9color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:240,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:242,1
    - Dst: init_p9color
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:243,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: inferno_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_prn_open
    - init_p9color
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int inferno_open(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:257,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 263
    functionName: inferno_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int inferno_close(gx_device *dev)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:289,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:292,1
    - Dst: bytesperline
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:305,1
    - Dst: initwriteimage
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:306,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:308,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:309,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:312,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:314,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:315,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:324,1
    - Dst: rgb2cmap
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:340,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:344,1
    - Dst: writeimageblock
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:373,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:374,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:376,1
    - Dst: writeimageblock
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:379,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:380,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:383,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 386
    functionName: inferno_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - writeimageblock
    - gs_alloc_bytes
    - gdev_prn_raster
    - gdev_prn_get_bits
    - initwriteimage
    - emprintf
    - gs_free_object
    - return_error
    - bytesperline
    - rgb2cmap
    linkageType: ''
    returnType: int
    signature: int inferno_print_page(gx_device_printer *pdev, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: hupdate
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hupdate(h, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:462,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - w
    argTypes:
    - WImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    functionName: zerohash
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void zerohash(WImage *w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:474,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:478,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:479,1
    - Dst: zerohash
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:483,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:487,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - w
    - buf
    - nbuf
    argTypes:
    - WImage*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 490
    functionName: addbuf
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - eprintf
    - zerohash
    - memmove
    - gp_fprintf
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int addbuf(WImage *w, uchar *buf, int nbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: addbuf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:502,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - w
    argTypes:
    - WImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 508
    functionName: flushdump
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - addbuf
    linkageType: ''
    returnType: int
    signature: int flushdump(WImage *w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hupdate
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:533,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - w
    - p
    - ep
    argTypes:
    - WImage*
    - uchar*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 537
    functionName: updatehash
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - hupdate
    linkageType: ''
    returnType: void
    signature: void updatehash(WImage *w, uchar *p, uchar *ep)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: hupdate
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:559,1
    - Dst: flushdump
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:603,1
    - Dst: flushdump
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:615,1
    - Dst: addbuf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:622,1
    - Dst: updatehash
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:629,1
    - Dst: flushdump
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:633,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 61
    argCount: 1
    argNames:
    - w
    argTypes:
    - WImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 641
    functionName: gobbleline
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - updatehash
    - addbuf
    - flushdump
    - hupdate
    linkageType: ''
    returnType: int
    signature: int gobbleline(WImage *w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:651,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - w
    - data
    - edata
    argTypes:
    - WImage*
    - uchar*
    - uchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 668
    functionName: shiftwindow
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: uchar
    signature: 'uchar *

      shiftwindow(WImage *w, uchar *data, uchar *edata)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bytesperline
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:676,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:678,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:683,1
    - Dst: zerohash
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:700,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 4
    argNames:
    - f
    - r
    - ldepth
    - mem
    argTypes:
    - gp_file*
    - Rectangle
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 705
    functionName: initwriteimage
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - zerohash
    - emprintf
    - gp_fprintf
    - bytesperline
    linkageType: ''
    returnType: WImage
    signature: 'WImage *

      initwriteimage(gp_file *f, Rectangle r, int ldepth, gs_memory_t *mem)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gobbleline
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:714,1
    - Dst: addbuf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:716,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:718,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:720,1
    - Dst: shiftwindow
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:725,1
    - Dst: gobbleline
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:727,1
    - Dst: shiftwindow
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:729,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevifno.c:732,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - w
    - data
    - ndata
    - mem
    argTypes:
    - WImage*
    - uchar*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 736
    functionName: writeimageblock
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 1
    functionsReached:
    - shiftwindow
    - emprintf
    - gobbleline
    - addbuf
    - gp_fprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int writeimageblock(WImage *w, uchar *data, int ndata, gs_memory_t
      *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - r
    - ld
    argTypes:
    - Rectangle
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 757
    functionName: bytesperline
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bytesperline(Rectangle r, int ld)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - cr
    - cg
    - cb
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 786
    functionName: rgb2cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevifno.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rgb2cmap(int cr, int cg, int cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 259
    functionName: gray_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotrgb_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: rgb_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotrgb_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                 frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 284
    functionName: cmyk_cs_to_spotrgb_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotrgb_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: gray_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotcmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 310
    functionName: rgb_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotcmyk_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                  frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 326
    functionName: cmyk_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotcmyk_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:343,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:344,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:345,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:346,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:348,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 363
    functionName: cmyk_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 4
    functionsReached:
    - ushort2frac
    - frac2ushort
    - gscms_transform_color
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotn_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 371
    functionName: gray_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotn_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:388,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:389,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:390,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:392,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:395,1
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:401,1
    - Dst: cmyk_cs_to_spotn_cm
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 405
    functionName: rgb_cs_to_spotn_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - gscms_transform_color
    - frac2ushort
    - ushort2frac
    - color_rgb_to_cmyk
    - cmyk_cs_to_spotn_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotn_cm(gx_device * dev, const gs_gstate *pgs,\n                                   frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 427
    functionName: get_spotrgb_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_spotrgb_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 434
    functionName: get_spotcmyk_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_spotcmyk_color_mapping_procs(const gx_device * dev)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: get_xcf_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      get_xcf_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:464,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 470
    functionName: xcf_encode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index xcf_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLDUP_SETUP
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:484,1
    - Dst: COLDUP_DUP
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 490
    functionName: xcf_decode_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - COLDUP_DUP
    - COLDUP_SETUP
    linkageType: ''
    returnType: int
    signature: int xcf_decode_color(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xcf_decode_color
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 507
    functionName: xcf_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_decode_color
    linkageType: ''
    returnType: int
    signature: int xcf_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value
      rgb[3])
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 6
    argNames:
    - source
    - dest
    - depth
    - first_bit
    - bit_width
    - npixel
    argTypes:
    - byte*
    - byte*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 582
    functionName: repack_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int repack_data(byte * source, byte * dest, int depth, int first_bit,\n
      \               int bit_width, int npixel)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_profile_handle_file
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:591,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:592,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:595,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:604,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - profile_out_fn
    - icc_profile
    - icc_link
    - memory
    argTypes:
    - char*
    - cmm_profile_t*
    - gcmmhlink_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 612
    functionName: xcf_open_profile
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - gsicc_get_profile_handle_file
    - strlen
    - gscms_get_link
    - gs_throw
    linkageType: ''
    returnType: int
    signature: int xcf_open_profile(const char *profile_out_fn, cmm_profile_t *icc_profile,
      gcmmhlink_t icc_link, gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: xcf_open_profile
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:621,1
    - Dst: xcf_open_profile
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:628,1
    - Dst: xcf_open_profile
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:635,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - xcf_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 641
    functionName: xcf_open_profiles
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_open_profile
    linkageType: ''
    returnType: int
    signature: int xcf_open_profiles(xcf_device *xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 645
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:658,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:660,1
    - Dst: sample_device_crd_get_params
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:661,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:662,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:663,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:667,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:669,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:674,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:676,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:681,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 686
    functionName: xcf_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_name_array
    - set_param_array
    - strlen
    - param_write_bool
    - sample_device_crd_get_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int xcf_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - name_size
    - ','
    - str
    - ','
    - str_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(name, name_size, str, str_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:705,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - plist
    - pstring
    argTypes:
    - fixed_colorant_names_list
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 712
    functionName: check_process_color_names
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 1
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool check_process_color_names(fixed_colorant_names_list plist,\n
      \                         const gs_param_string * pstring)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:736,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:740,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - name
    - pstr
    - max_len
    argTypes:
    - gs_param_list*
    - char*
    - gs_param_string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 745
    functionName: xcf_param_read_fn
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int xcf_param_read_fn(gs_param_list *plist, const char *name,\n                  gs_param_string
      *pstr, int max_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:751,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:752,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - str
    argTypes:
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: param_string_eq
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 2
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool param_string_eq(const gs_param_string *pcs, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - xdev
    - color_model
    argTypes:
    - xcf_device*
    - xcf_color_model
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 784
    functionName: xcf_set_color_model
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xcf_set_color_model(xcf_device *xdev, xcf_color_model color_model)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:796,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:797,1
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:801,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:802,1
    - Dst: gscms_release_link
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:806,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:807,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 790
    functionDepth: 1
    functionLinenumber: 790
    functionLinenumberEnd: 811
    functionName: xcf_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - gscms_release_link
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int xcf_prn_close(gx_device *dev)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:831,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:833,1
    - Dst: xcf_param_read_fn
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:836,1
    - Dst: xcf_param_read_fn
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:839,1
    - Dst: xcf_param_read_fn
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:842,1
    - Dst: param_read_name
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:846,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:848,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:850,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:852,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:854,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:857,1
    - Dst: xcf_set_color_model
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:869,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:871,1
    - Dst: check_process_color_names
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:890,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:895,1
    - Dst: bpc_to_depth
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:906,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:909,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:914,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:918,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:922,1
    - Dst: xcf_open_profiles
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:925,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 68
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 928
    functionName: xcf_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - check_process_color_names
    - gs_closedevice
    - xcf_set_color_model
    - xcf_open_profiles
    - BEGIN_ARRAY_PARAM
    - param_read_name
    - memcpy
    - END_ARRAY_PARAM
    - param_signal_error
    - gdev_prn_put_params
    - param_string_eq
    - xcf_param_read_fn
    - bpc_to_depth
    linkageType: ''
    returnType: int
    signature: int xcf_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:954,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:954,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:967,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 942
    functionDepth: 0
    functionLinenumber: 942
    functionLinenumberEnd: 976
    functionName: xcf_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: int
    signature: "int xcf_get_color_comp_index(gx_device * dev, const char * pname,
      int name_size,\n                                        int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 983
    functionName: assign_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u16(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 984
    functionName: assign_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u32(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 986
    functionName: assign_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u16(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 987
    functionName: assign_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_u32(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - tile_size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1019
    functionName: xcf_calc_levels
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xcf_calc_levels(int size, int tile_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1031,1
    - Dst: xcf_calc_levels
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1031,1
    - Dst: xcf_calc_levels
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - xc
    - dev
    argTypes:
    - xcf_write_ctx*
    - xcf_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1035
    functionName: xcf_setup_tiles
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_calc_levels
    - max
    linkageType: ''
    returnType: int
    signature: int xcf_setup_tiles(xcf_write_ctx *xc, xcf_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1043,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xc
    - tile_idx
    argTypes:
    - xcf_write_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1046
    functionName: xcf_tile_sizeof
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: int
    signature: int xcf_tile_sizeof(xcf_write_ctx *xc, int tile_idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - xc
    - buf
    - size
    argTypes:
    - xcf_write_ctx*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1048
    functionDepth: 1
    functionLinenumber: 1048
    functionLinenumberEnd: 1057
    functionName: xcf_write
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int xcf_write(xcf_write_ctx *xc, const byte *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_u32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1064,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xc
    - v
    argTypes:
    - xcf_write_ctx*
    - bits32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: xcf_write_32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write
    - assign_u32
    linkageType: ''
    returnType: int
    signature: int xcf_write_32(xcf_write_ctx *xc, bits32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1073,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - xc
    argTypes:
    - xcf_write_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1068
    functionDepth: 3
    functionLinenumber: 1068
    functionLinenumberEnd: 1077
    functionName: xcf_write_image_props
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write_32
    linkageType: ''
    returnType: int
    signature: int xcf_write_image_props(xcf_write_ctx *xc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xc
    - layer_name
    argTypes:
    - xcf_write_ctx*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1092
    functionName: xcf_base_size
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int xcf_base_size(xcf_write_ctx *xc, const char *layer_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - xc
    - name_size
    argTypes:
    - xcf_write_ctx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1101
    functionName: xcf_channel_size
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xcf_channel_size(xcf_write_ctx *xc, int name_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1115,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1116,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1117,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1118,1
    - Dst: xcf_write_image_props
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1120,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1123,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1124,1
    - Dst: xcf_base_size
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1128,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1132,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1133,1
    - Dst: xcf_channel_size
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1134,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1136,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1139,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1140,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1141,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1142,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1142,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1143,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1143,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1146,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1147,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1150,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1151,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1153,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1154,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1155,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1156,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1160,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1163,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1166,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1167,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1170,1
    - Dst: xcf_tile_sizeof
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1171,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 2
    argNames:
    - xc
    - pdev
    argTypes:
    - xcf_write_ctx*
    - xcf_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1103
    functionDepth: 4
    functionLinenumber: 1103
    functionLinenumberEnd: 1178
    functionName: xcf_write_header
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write
    - strlen
    - xcf_write_image_props
    - xcf_channel_size
    - dmlprintf1
    - xcf_base_size
    - xcf_tile_sizeof
    - xcf_write_32
    linkageType: ''
    returnType: int
    signature: int xcf_write_header(xcf_write_ctx *xc, xcf_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1193,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - xc
    - tile_data
    - row
    - y
    argTypes:
    - xcf_write_ctx*
    - byte**
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1211
    functionName: xcf_shuffle_to_tile
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: "void xcf_shuffle_to_tile(xcf_write_ctx *xc, byte **tile_data, const
      byte *row,\n                    int y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1226,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1227,1
    - Dst: gscms_transform_color
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - pdev
    - xc
    - tile_data
    - row
    - y
    - link
    argTypes:
    - gx_device_printer*
    - xcf_write_ctx*
    - byte**
    - byte*
    - int
    - gcmmhlink_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1252
    functionName: xcf_icc_to_tile
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - min
    - gscms_transform_color
    linkageType: ''
    returnType: void
    signature: "void xcf_icc_to_tile(gx_device_printer *pdev, xcf_write_ctx *xc, byte
      **tile_data, const byte *row,\n                    int y, gcmmhlink_t link)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1258,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1269,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1270,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1277,1
    - Dst: xcf_tile_sizeof
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1279,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1281,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1292,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1294,1
    - Dst: xcf_shuffle_to_tile
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1298,1
    - Dst: xcf_icc_to_tile
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1300,1
    - Dst: xcf_tile_sizeof
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1304,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1307,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1309,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1318,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1322,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1323,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 2
    argNames:
    - xc
    - pdev
    argTypes:
    - xcf_write_ctx*
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1254
    functionDepth: 2
    functionLinenumber: 1254
    functionLinenumberEnd: 1325
    functionName: xcf_write_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_shuffle_to_tile
    - xcf_icc_to_tile
    - xcf_write
    - gs_alloc_bytes
    - gdev_prn_raster
    - gdev_prn_get_bits
    - memset
    - xcf_tile_sizeof
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int xcf_write_image_data(xcf_write_ctx *xc, gx_device_printer *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1336,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1337,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - xc
    argTypes:
    - xcf_write_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1341
    functionName: xcf_write_fake_hierarchy
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write_32
    linkageType: ''
    returnType: int
    signature: int xcf_write_fake_hierarchy(xcf_write_ctx *xc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcf_write_fake_hierarchy
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1352,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1362,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1363,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1364,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1365,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1366,1
    - Dst: xcf_write
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1367,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1370,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1371,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1374,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1376,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1377,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1378,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1379,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1382,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1385,1
    - Dst: xcf_write_fake_hierarchy
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1386,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1389,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1390,1
    - Dst: xcf_tile_sizeof
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1393,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1395,1
    - Dst: xcf_write_32
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - xc
    - pdev
    argTypes:
    - xcf_write_ctx*
    - xcf_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1343
    functionDepth: 4
    functionLinenumber: 1343
    functionLinenumberEnd: 1402
    functionName: xcf_write_footer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write
    - xcf_write_fake_hierarchy
    - xcf_tile_sizeof
    - dmlprintf2
    - xcf_write_32
    linkageType: ''
    returnType: int
    signature: int xcf_write_footer(xcf_write_ctx *xc, xcf_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xcf_setup_tiles
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1412,1
    - Dst: xcf_write_header
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1413,1
    - Dst: xcf_write_image_data
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1414,1
    - Dst: xcf_write_footer
      Src: /src/libspectre/ghostscript/devices/gdevxcf.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1404
    functionDepth: 5
    functionLinenumber: 1404
    functionLinenumberEnd: 1418
    functionName: xcf_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcf.c
    functionUses: 0
    functionsReached:
    - xcf_write_footer
    - xcf_write_header
    - xcf_write_image_data
    - xcf_setup_tiles
    linkageType: ''
    returnType: int
    signature: int xcf_print_page(gx_device_printer *pdev, gp_file *file)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_args
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:149,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:151,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:156,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:157,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:160,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:164,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:167,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:173,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:176,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:178,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_pdf_image*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 185
    functionName: pdfimage_write_args_comment
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_args
    - stream_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int pdfimage_write_args_comment(gx_device_pdf_image *pdev, stream *s)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:196,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:198,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:200,1
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:202,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:204,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:206,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:215,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:219,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:223,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:228,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:229,1
    - Dst: gx_device_pdf_image*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:233,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:234,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:240,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:242,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:243,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:245,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:249,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:252,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:253,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:255,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:257,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:258,1
    - Dst: gx_device_pdf_image*::ocr::file_init
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:261,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:263,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:265,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:268,1
    - Dst: pdfimage_write_args_comment
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:273,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:285,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 2
    argNames:
    - pdf_dev
    - file
    argTypes:
    - gx_device_pdf_image*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 289
    functionName: gdev_pdf_image_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gx_device_pdf_image*::ocr::file_init
    - gsicc_free_link_dev
    - gs_alloc_bytes
    - gx_device_pdf_image*::icclink::procs::free_link
    - gsicc_alloc_link_dev
    - stell
    - swrite_file
    - memset
    - s_alloc
    - return_error
    - gdev_prn_file_is_new
    - dev_proc
    - pdfimage_write_args_comment
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_image_begin_page(gx_device_pdf_image *pdf_dev,\n                         gp_file
      *file)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:296,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:298,1
    - Dst: gsicc_link_t*::procs::map_buffer
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - arg
    - dst
    - src
    - w
    - h
    - raster
    argTypes:
    - void*
    - byte**
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 303
    functionName: pdf_image_chunky_post_cm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gsicc_init_buffer
    - gsicc_link_t*::procs::map_buffer
    linkageType: ''
    returnType: int
    signature: "int pdf_image_chunky_post_cm(void  *arg, byte **dst, byte **src, int
      w, int h,\n    int raster)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:316,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:318,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:323,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:325,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:328,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:329,1
    - Dst: gs_jpeg_create_compress
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:334,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:335,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:336,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:343,1
    - Dst: gs_jpeg_set_defaults
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:359,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:360,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:361,1
    - Dst: gs_jpeg_set_quality
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:366,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:368,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:369,1
    - Dst: gs_jpeg_set_linear_quality
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:374,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:375,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:379,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:380,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:393,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:396,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:397,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:398,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:399,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:401,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:404,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:406,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:408,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:409,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:410,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:411,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 4
    argNames:
    - pdev
    - s
    - t
    - mem
    argTypes:
    - gx_device*
    - stream**
    - stream_template*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 416
    functionName: encode
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 5
    functionsReached:
    - stream_template*::set_defaults
    - gs_jpeg_create_compress
    - gs_alloc_struct_immovable
    - gs_jpeg_destroy
    - gx_downscaler_scale
    - gs_jpeg_set_quality
    - s_alloc_state
    - gs_jpeg_set_linear_quality
    - max
    - s_add_filter
    - return_error
    - gs_jpeg_set_defaults
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int encode(gx_device *pdev, stream **s, const stream_template *t, gs_memory_t
      *mem)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:426,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:430,1
    - Dst: gx_downscaler_scale
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:431,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:439,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:447,1
    - Dst: gx_downscaler_init_cm
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:453,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:465,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:467,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:468,1
    - Dst: gx_device_pdf_image*::ocr::begin_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:472,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:475,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:476,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:481,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:482,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:483,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:484,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:485,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:488,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:489,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:492,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:493,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:496,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:497,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:502,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:503,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:504,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:505,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:508,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:509,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:510,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:511,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:514,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:515,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:516,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:517,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:520,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:521,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:522,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:523,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:527,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:528,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:534,1
    - Dst: gx_device_pdf_image*::ocr::line
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:538,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:539,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:543,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:544,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:553,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:560,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:561,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:563,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:564,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:565,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:567,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:568,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:569,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:570,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:571,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:573,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:574,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:578,1
    - Dst: gx_device_pdf_image*::ocr::end_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:579,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:581,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:583,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:585,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:586,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:587,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:589,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:591,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:592,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:593,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:594,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:595,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:596,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:597,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:599,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:600,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:602,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:603,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 138
    argCount: 4
    argNames:
    - dev
    - params
    - bpc
    - num_comps
    argTypes:
    - gx_device_printer*
    - gx_downscaler_params*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 607
    functionName: pdf_image_downscale_and_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - gx_device_pdf_image*::ocr::line
    - gs_sprintf
    - gx_device_pdf_image*::ocr::end_page
    - stell
    - stream_write
    - gx_downscaler_init_cm
    - gx_downscaler_init
    - pprintd1
    - gx_downscaler_getbits
    - gs_free_object
    - stream_puts
    - encode
    - gx_device_pdf_image*::ocr::begin_page
    - sseek
    - gx_downscaler_scale
    - s_close_filters
    - pprintd2
    - gdev_mem_bytes_per_scan_line
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_image_downscale_and_print_page(gx_device_printer *dev,\n                                   gx_downscaler_params
      *params,\n                                   int bpc, int num_comps)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_AXE_init_inline
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:617,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:618,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 3
    argNames:
    - s
    - str
    - size
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 636
    functionName: write_fileID
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - stream_write
    - s_AXE_init_inline
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void write_fileID(stream *s, const byte *str, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_MD5E_make_stream
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:648,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:652,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:658,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:660,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:665,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:665,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:667,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:667,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:670,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:671,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:672,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:673,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:674,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:675,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:676,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:677,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:678,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:680,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 5
    argNames:
    - pdev
    - fileID
    - CreationDate
    - Title
    - Producer
    argTypes:
    - gx_device_pdf_image*
    - byte[]
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 683
    functionName: pdf_compute_fileID
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - sclose
    - s_MD5E_make_stream
    - strlen
    - gp_get_realtime
    - sputs
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_compute_fileID(gx_device_pdf_image * pdev, byte fileID[16],
      char *CreationDate, char *Title, char *Producer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:693,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:694,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:695,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:696,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - Offset
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 698
    functionName: write_xref_entry
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - strlen
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void write_xref_entry (stream *s, gs_offset_t Offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 708
    functionName: pdf_store_default_Producer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void pdf_store_default_Producer(char *buf)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_store_default_Producer
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:722,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:724,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:725,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:727,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:728,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:729,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:732,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:736,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:739,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:740,1
    - Dst: time
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:744,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:745,1
    - Dst: difftime
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:747,1
    - Dst: mktime
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:747,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:749,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:750,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:753,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:758,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:760,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:762,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:763,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:764,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:770,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:776,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:777,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:778,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:779,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:782,1
    - Dst: pdf_compute_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:783,1
    - Dst: write_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:784,1
    - Dst: write_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:785,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:786,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:791,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:792,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:793,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:794,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:798,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:800,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:803,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:804,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:808,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:809,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:811,1
    - Dst: pdf_compute_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:812,1
    - Dst: write_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:813,1
    - Dst: write_fileID
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:814,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:815,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:818,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:820,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:822,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:829,1
    - Dst: gx_device_pdf_image*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:838,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:839,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 102
    argCount: 2
    argNames:
    - pdf_dev
    - PCLm
    argTypes:
    - gx_device_pdf_image*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 850
    functionName: pdf_image_finish_file
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - mktime
    - gp_fpread
    - gsicc_free_link_dev
    - gx_device_pdf_image*::icclink::procs::free_link
    - gs_sprintf
    - time
    - gp_ftell
    - stell
    - stream_write
    - memset
    - gp_fseek
    - pprintd1
    - gs_free_object
    - stream_puts
    - write_fileID
    - gmtime
    - pdf_store_default_Producer
    - pdf_compute_fileID
    - any_abs
    - localtime
    - difftime
    - write_xref_entry
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: int pdf_image_finish_file(gx_device_pdf_image *pdf_dev, int PCLm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_pdf_image_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:860,1
    - Dst: pdf_image_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:864,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:871,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:872,1
    - Dst: pdf_image_finish_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 878
    functionName: pdf_image_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gx_parse_output_file_name
    - gdev_pdf_image_begin_page
    - strlen
    - pdf_image_downscale_and_print_page
    - pdf_image_finish_file
    linkageType: ''
    returnType: int
    signature: int pdf_image_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:887,1
    - Dst: gdev_prn_allocate_memory
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:901,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:906,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:910,1
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:913,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 916
    functionName: pdf_image_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - gdev_prn_open_printer_seekable
    - install_internal_subclass_devices
    - gx_copy_device_procs
    - gdev_prn_allocate_memory
    linkageType: ''
    returnType: int
    signature: int pdf_image_open(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_finish_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:924,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:928,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 929
    functionName: pdf_image_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - gdev_prn_close
    - pdf_image_finish_file
    linkageType: ''
    returnType: int
    signature: int pdf_image_close(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:937,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - param
    - id
    argTypes:
    - gs_param_string*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 941
    functionName: pdf_image_compression_param_string
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - return_error
    - param_string_from_string
    linkageType: ''
    returnType: int
    signature: int pdf_image_compression_param_string(gs_param_string *param, unsigned
      char id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:948,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:949,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - id
    - param
    argTypes:
    - unsigned char*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 955
    functionName: pdf_image_compression_id
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - return_error
    - strlen
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int pdf_image_compression_id(unsigned char *id, gs_param_string *param)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:961,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:968,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:971,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:974,1
    - Dst: pdf_image_compression_param_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:978,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:979,1
    - Dst: gx_downscaler_write_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:982,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 3
    argNames:
    - dev
    - plist
    - which
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 989
    functionName: pdf_image_get_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - pdf_image_compression_param_string
    - param_write_float
    - gx_downscaler_write_params
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_get_some_params(gx_device * dev, gs_param_list * plist,
      int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 3
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: pdf_image_get_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - pdf_image_get_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_get_params_downscale(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 3
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: pdf_image_get_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - pdf_image_get_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_get_params_downscale_cmyk(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_get_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1006,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: pdf_image_get_params_downscale_cmyk_ets
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - pdf_image_get_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_get_params_downscale_cmyk_ets(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1019,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1021,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1022,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1025,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1027,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1028,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1031,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1033,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1034,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1038,1
    - Dst: pdf_image_compression_id
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1040,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1042,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1043,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1052,1
    - Dst: gx_downscaler_read_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1056,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1063,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1068,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 3
    argNames:
    - dev
    - plist
    - which
    argTypes:
    - gx_device*
    - gs_param_list*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1009
    functionDepth: 2
    functionLinenumber: 1009
    functionLinenumberEnd: 1073
    functionName: pdf_image_put_some_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_read_params
    - param_read_int
    - param_read_float
    - pdf_image_compression_id
    - param_signal_error
    - gdev_prn_put_params
    - errprintf
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int pdf_image_put_some_params(gx_device * dev, gs_param_list * plist,
      int which)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: pdf_image_put_params_downscale
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - pdf_image_put_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_put_params_downscale(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1085
    functionName: pdf_image_put_params_downscale_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 1
    functionsReached:
    - pdf_image_put_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_put_params_downscale_cmyk(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_put_some_params
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 3
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: pdf_image_put_params_downscale_cmyk_ets
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - pdf_image_put_some_params
    linkageType: ''
    returnType: int
    signature: int pdf_image_put_params_downscale_cmyk_ets(gx_device * dev, gs_param_list
      * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1130,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1131,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1133,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1134,1
    - Dst: gp_open_scratch_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1135,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - ptf
    argTypes:
    - gx_device_pdf_image*
    - PCLm_temp_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1125
    functionDepth: 1
    functionLinenumber: 1125
    functionLinenumberEnd: 1142
    functionName: PCLm_open_temp_file
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - strcat
    - gp_open_scratch_file
    - strlen
    - strcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: int PCLm_open_temp_file(gx_device_pdf_image *pdev, PCLm_temp_file_t
      *ptf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: s_is_valid
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1156,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1157,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1162,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1165,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1170,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1170,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1171,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pdev
    - ptf
    - code
    argTypes:
    - gx_device_pdf_image*
    - PCLm_temp_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1144
    functionDepth: 1
    functionLinenumber: 1144
    functionLinenumberEnd: 1176
    functionName: PCLm_close_temp_file
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gp_ferror
    - unlink
    - gp_fclose
    - s_is_valid
    - gs_note_error
    - sflush
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int PCLm_close_temp_file(gx_device_pdf_image *pdev, PCLm_temp_file_t
      *ptf, int code)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PCLm_open_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1181,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1185,1
    - Dst: PCLm_close_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1187,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1188,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1193,1
    - Dst: PCLm_close_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1196,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1197,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - ptf
    argTypes:
    - gx_device_pdf_image*
    - PCLm_temp_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1178
    functionDepth: 2
    functionLinenumber: 1178
    functionLinenumberEnd: 1201
    functionName: PCLm_open_temp_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - PCLm_open_temp_file
    - swrite_file
    - s_alloc
    - return_error
    - PCLm_close_temp_file
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int PCLm_open_temp_stream(gx_device_pdf_image *pdev, PCLm_temp_file_t
      *ptf)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1209,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1216,1
    - Dst: gdev_prn_allocate_memory
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1224,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1229,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1233,1
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1236,1
    - Dst: PCLm_open_temp_stream
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1241,1
    - Dst: PCLm_open_temp_stream
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1245,1
    - Dst: PCLm_close_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1249
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1249
    functionName: PCLm_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - gdev_prn_open_printer_seekable
    - gdev_prn_allocate_memory
    - memset
    - PCLm_close_temp_file
    - PCLm_open_temp_stream
    - gx_copy_device_procs
    linkageType: ''
    returnType: int
    signature: int PCLm_open(gx_device *pdev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1260,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1262,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1264,1
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1266,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1270,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1279,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1283,1
    - Dst: gsicc_alloc_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1287,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1293,1
    - Dst: gx_device_pdf_image*::icclink::procs::free_link
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1297,1
    - Dst: gsicc_free_link_dev
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1298,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1304,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1306,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1307,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1309,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1313,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1316,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1317,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1319,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1321,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1322,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 61
    argCount: 2
    argNames:
    - pdf_dev
    - file
    argTypes:
    - gx_device_pdf_image*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1336
    functionName: gdev_PCLm_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gsicc_free_link_dev
    - gs_alloc_bytes
    - gx_device_pdf_image*::icclink::procs::free_link
    - gsicc_alloc_link_dev
    - swrite_file
    - memset
    - s_alloc
    - return_error
    - gdev_prn_file_is_new
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_PCLm_begin_page(gx_device_pdf_image *pdf_dev,\n                         gp_file
      *file)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1346,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1360,1
    - Dst: gx_downscaler_init
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1366,1
    - Dst: gx_downscaler_init_cm
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1372,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1384,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1386,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1387,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1395,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1397,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1398,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1399,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1400,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1401,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1402,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1403,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1404,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1406,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1407,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1408,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1409,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1415,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1421,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1423,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1424,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1425,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1427,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1428,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1429,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1431,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1432,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1433,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1434,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1436,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1437,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1438,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1439,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1445,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1447,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1450,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1451,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1456,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1458,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1459,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1461,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1467,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1470,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1473,1
    - Dst: gx_downscaler_getbits
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1481,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1484,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1490,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1491,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1492,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1494,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1495,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1496,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1497,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1498,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1499,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1500,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1501,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1502,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1505,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1506,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1509,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1510,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1513,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1514,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1519,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1522,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1523,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1524,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1525,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1530,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1532,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1535,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1536,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1537,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1542,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1544,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1545,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1546,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1547,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1552,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1560,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1565,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1572,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1573,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1574,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1575,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1580,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1581,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1590,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1591,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1592,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1594,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1595,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1596,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1597,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1598,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1599,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1600,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1601,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1602,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1605,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1606,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1610,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1611,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1614,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1615,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1619,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1622,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1623,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1624,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1625,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1630,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1632,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1635,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1636,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1641,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1643,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1644,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1645,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1646,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1648,1
    - Dst: write_xref_entry
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1649,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1650,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1651,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1656,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1657,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 250
    argCount: 3
    argNames:
    - dev
    - bpc
    - num_comps
    argTypes:
    - gx_device_printer*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1338
    functionDepth: 2
    functionLinenumber: 1338
    functionLinenumberEnd: 1661
    functionName: PCLm_downscale_and_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gx_downscaler_fin
    - gp_fpread
    - gs_alloc_bytes
    - gs_sprintf
    - gp_ftell
    - stell
    - stream_write
    - gx_downscaler_init_cm
    - memset
    - gx_downscaler_init
    - gp_fseek
    - pprintd1
    - gx_downscaler_getbits
    - gs_free_object
    - stream_puts
    - encode
    - s_close_filters
    - write_xref_entry
    - pprintd2
    - gdev_mem_bytes_per_scan_line
    - ceil
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: "int PCLm_downscale_and_print_page(gx_device_printer *dev,\n                              int
      bpc, int num_comps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_PCLm_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1671,1
    - Dst: PCLm_downscale_and_print_page
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1675,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1680,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1681,1
    - Dst: pdf_image_finish_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1663
    functionDepth: 3
    functionLinenumber: 1663
    functionLinenumberEnd: 1687
    functionName: PCLm_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - PCLm_downscale_and_print_page
    - gx_parse_output_file_name
    - strlen
    - pdf_image_finish_file
    - gdev_PCLm_begin_page
    linkageType: ''
    returnType: int
    signature: int PCLm_print_page(gx_device_printer * pdev, gp_file * file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_finish_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1695,1
    - Dst: PCLm_close_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1699,1
    - Dst: PCLm_close_temp_file
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1700,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevpdfimg.c:1703,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1689
    functionDepth: 3
    functionLinenumber: 1689
    functionLinenumberEnd: 1707
    functionName: PCLm_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevpdfimg.c
    functionUses: 0
    functionsReached:
    - gdev_prn_close
    - PCLm_close_temp_file
    - pdf_image_finish_file
    linkageType: ''
    returnType: int
    signature: int PCLm_close(gx_device * pdev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevstc2.c:150,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/gdevstc2.c:199,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 5
    argNames:
    - sdev
    - npixel
    - bin
    - bbuf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 221
    functionName: stc_fs
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc2.c
    functionUses: 0
    functionsReached:
    - countof
    - rand
    linkageType: ''
    returnType: int
    signature: int stc_fs(stcolor_device *sdev,int npixel,byte *bin,byte *bbuf,byte
      *out)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/gdevstc2.c:404,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 106
    argCount: 5
    argNames:
    - sdev
    - npixel
    - bin
    - bbuf
    - out
    argTypes:
    - stcolor_device*
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 423
    functionName: stc_fscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevstc2.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int stc_fscmyk(stcolor_device *sdev,int npixel,byte *bin,byte *bbuf,byte
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: init1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: init2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: init3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: top
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: top()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 127
    functionName: fin
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: outByte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: outByte(b)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:151,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:155,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:157,1
    - Dst: init1
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:168,1
    - Dst: init2
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:169,1
    - Dst: init3
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:170,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:172,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:186,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:190,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:213,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:218,1
    - Dst: buffer_store
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:322,1
    - Dst: buffer_store
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:322,1
    - Dst: buffer_store
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:326,1
    - Dst: buffer_store
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:326,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:343,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:343,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:343,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:344,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:344,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:345,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:345,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:345,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:345,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:345,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:346,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:346,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:346,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:346,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:347,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:347,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:347,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:348,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:349,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:349,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:350,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:350,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:351,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:351,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:352,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:352,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:353,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:353,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:353,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:354,1
    - Dst: outByte
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:354,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:356,1
    - Dst: fin
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:365,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:372,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:374,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:378,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:382,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 152
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 384
    functionName: lxm5700m_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached:
    - init2
    - outByte
    - fin
    - gp_fflush
    - buffer_store
    - init3
    - init1
    - gdev_prn_get_bits
    - gdev_prn_copy_scan_lines
    - memset
    - gdev_mem_bytes_per_scan_line
    - memcmp
    - gs_malloc
    - return_error
    - gs_free
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int lxm5700m_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 264
    functionName: buffer_store
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: buffer_store(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:410,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: lxm_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int lxm_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:427,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:430,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevlxm.c:432,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 440
    functionName: lxm_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevlxm.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - gdev_prn_put_params
    - param_read_int
    linkageType: ''
    returnType: int
    signature: int lxm_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 100
    functionName: tekink_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtknk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index tekink_map_rgb_color(gx_device *dev, const gx_color_value
      cv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - ushort[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: tekink_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtknk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tekink_map_color_rgb(gx_device *dev, gx_color_index color, ushort
      prgb[3])
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:135,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:137,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:139,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:148,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:155,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:168,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:214,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:219,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:221,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:236,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:245,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:249,1
    - Dst: gp_fputs
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:252,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/gdevtknk.c:257,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 103
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 117
    functionDepth: 5
    functionLinenumber: 117
    functionLinenumberEnd: 259
    functionName: tekink_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevtknk.c
    functionUses: 0
    functionsReached:
    - gp_fputs
    - strcmp
    - gdev_prn_copy_scan_lines
    - malloc
    - free
    - memset
    - gdev_mem_bytes_per_scan_line
    - gp_fprintf
    - return_error
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int tekink_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:122,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:123,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: jpx_cmyk_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpx.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int jpx_cmyk_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:132,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:133,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:134,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 138
    functionName: jpx_cmyk_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpx.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index jpx_cmyk_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:146,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:147,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:158,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:162,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:173,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:184,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:186,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:187,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:189,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:192,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:193,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:194,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:195,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:209,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:212,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:215,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:219,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:220,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:222,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:223,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:224,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevjpx.c:227,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 229
    functionName: jpx_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevjpx.c
    functionUses: 0
    functionsReached:
    - sclose
    - s_init_state
    - gs_alloc_bytes
    - gdev_prn_get_bits
    - sputs
    - max
    - swrite_file
    - gdev_mem_bytes_per_scan_line
    - dmlprintf1
    - s_std_init
    - gs_note_error
    - s_init
    - sflush
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int jpx_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Level
    - ','
    - P1
    - ','
    - P2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: DebugMsg
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DebugMsg(Level,P1,P2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:263,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:264,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:265,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:268,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - Out
    - Val
    argTypes:
    - gp_file*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 270
    functionName: iWrite
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void iWrite(gp_file *Out, byte Val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:276,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - Out
    - Val
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 278
    functionName: iWrite2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 0
    functionsReached:
    - iWrite
    linkageType: ''
    returnType: void
    signature: void iWrite2(gp_file *Out, int Val)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:290,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:291,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:293,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:298,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:299,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:302,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:307,1
    - Dst: gdev_prn_close_printer
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:309,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 316
    functionName: imagen_prn_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open_printer
    - gdev_prn_open
    - DebugMsg
    - gp_fprintf
    - getenv
    - gdev_prn_close_printer
    linkageType: ''
    returnType: int
    signature: int imagen_prn_open(gx_device *pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:324,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:326,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:330,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:335,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:338,1
    - Dst: gdev_prn_close_printer
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:340,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:343,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 318
    functionDepth: 2
    functionLinenumber: 318
    functionLinenumberEnd: 348
    functionName: imagen_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - gdev_prn_close
    - iWrite
    - gdev_prn_open_printer
    - DebugMsg
    - gp_fputc
    - gdev_prn_close_printer
    linkageType: ''
    returnType: int
    signature: int imagen_prn_close(gx_device *pdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:355,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:356,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:358,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:388,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:401,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:402,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:404,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:407,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:414,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:417,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:418,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:442,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:454,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:457,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:458,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:476,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:507,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:521,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:522,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:525,1
    - Dst: iWrite2
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:526,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:529,1
    - Dst: iWrite2
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:530,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:531,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:532,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:533,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:535,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:539,1
    - Dst: iWrite
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:555,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:557,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:560,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:561,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:563,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:566,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:567,1
    - Dst: DebugMsg
      Src: /src/libspectre/ghostscript/devices/gdevimgn.c:568,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 95
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 573
    functionName: imagen_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevimgn.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - iWrite
    - gdev_prn_copy_scan_lines
    - iWrite2
    - DebugMsg
    - gdev_mem_bytes_per_scan_line
    - gs_malloc
    - obj_align_round
    - gs_free
    linkageType: ''
    returnType: int
    signature: int imagen_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: gx_8bit_rgb_key
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8bcm.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_8bit_rgb_key(r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcm
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: gx_8bit_map_is_full
    functionSourceFile: /src/libspectre/ghostscript/devices/gdev8bcm.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_8bit_map_is_full(pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - p
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: upd_set_dev_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: upd_set_dev_proc(dev, p, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    functionName: upd_proc_pxlget
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: upd_proc_pxlget(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: upd_proc_render
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: upd_proc_render(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 651
    functionName: upd_proc_writer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: upd_proc_writer(name)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - upd
    - i
    - ci0
    argTypes:
    - upd_pc
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 0
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: upd_expand
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_value
    signature: gx_color_value upd_expand(upd_pc upd,int i,gx_color_index ci0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - UPD
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 870
    functionName: upd_pxlget
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: upd_pxlget(UPD)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - Which
    - ','
    - Nelts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 898
    functionName: UPD_MM_GET_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_GET_ARRAY(mem, Which,Nelts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - Which
    - ','
    - Nelts
    - ','
    - Delete
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 907
    functionName: UPD_MM_DEL_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_DEL_ARRAY(mem, Which,Nelts,Delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - Which
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 917
    functionName: UPD_MM_DEL_PARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_DEL_PARAM(mem, Which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - Which
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 928
    functionName: UPD_MM_DEL_APARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_DEL_APARAM(mem, Which)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - To
    - ','
    - From
    - ','
    - Nelts
    - ','
    - Copy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 936
    functionName: UPD_MM_CPY_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_CPY_ARRAY(mem, To,From,Nelts,Copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - To
    - ','
    - From
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 939
    functionName: UPD_MM_CPY_VALUE
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_CPY_VALUE(mem,To,From)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - To
    - ','
    - From
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 941
    functionName: UPD_MM_CPY_VALUE_3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_CPY_VALUE_3(mem,To,From)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - To
    - ','
    - From
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 951
    functionName: UPD_MM_CPY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_CPY_PARAM(mem, To, From)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - To
    - ','
    - From
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 964
    functionName: UPD_MM_CPY_APARAM
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_MM_CPY_APARAM(mem, To,From)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 983
    functionName: upd_cast
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      upd_cast(const void *data)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 995
    functionName: upd_signal_handler
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void upd_signal_handler(int sig)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1051,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1054,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1058,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1064,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1065,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1074,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1081,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1121,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1124,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1131,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1137,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1160,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1178,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1187,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1196,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1197,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1201,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1210,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1213,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1217,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1223,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1224,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 87
    argCount: 2
    argNames:
    - pdev
    - out
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1228
    functionName: upd_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - signal
    - gp_fflush
    - gx_parse_output_file_name
    - strlen
    - gp_ferror
    - memset
    - return_error
    - errprintf
    - dev_proc
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_print_page(gx_device_printer *pdev, gp_file *out)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1253,1
    - Dst: gx_device_set_margins
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1271,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1275,1
    - Dst: upd_open_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1294,1
    - Dst: dev_l_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1302,1
    - Dst: dev_r_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1302,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1305,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1305,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1311,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1312,1
    - Dst: upd_open_render
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1324,1
    - Dst: upd_open_writer
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1326,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1334,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1335,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1336,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1337,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1338,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1339,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1340,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1341,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1342,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1343,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1344,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1345,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1346,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1347,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1348,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1349,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1350,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1351,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1352,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1353,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1354,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1355,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1356,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1357,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1358,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1362,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1364,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1367,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1372,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1374,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1379,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1381,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1386,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1388,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1393,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1395,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1400,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1402,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1407,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1409,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1414,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1416,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1419,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1424,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1426,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1429,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1435,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1437,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1439,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1445,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1453,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 152
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1458
    functionName: upd_open
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - dev_b_margin
    - countof
    - dev_l_margin
    - strlen
    - gx_device_raster
    - upd_open_writer
    - upd_open_render
    - dev_t_margin
    - gdev_prn_open
    - gx_device_set_margins
    - upd_open_map
    - dev_r_margin
    - errprintf
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int upd_open(gx_device *pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1473,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1482,1
    - Dst: upd_close_writer
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1491,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1494,1
    - Dst: upd_close_render
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1499,1
    - Dst: upd_close_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1500,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1502,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1502,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1503,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1503,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1504,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1504,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1505,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1505,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1506,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1506,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1507,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1507,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1509,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1515,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1519,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1524
    functionName: upd_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - countof
    - upd_close_render
    - UPD_MM_DEL_ARRAY
    - gdev_prn_close
    - upd_close_map
    - errprintf
    - upd_close_writer
    - gs_free
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_close(gx_device *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Err
    - ','
    - Dev
    - ','
    - List
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1537
    functionName: UPD_EXIT_GET
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_EXIT_GET(Err,Dev,List)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Err
    - ','
    - Dev
    - ','
    - List
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1539
    functionName: UPD_EXIT_GET
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_EXIT_GET(Err,Dev,List)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1549,1
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1554,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1555,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1560,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1562,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1563,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1567,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1572,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1574,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1576,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1578,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1582,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1586,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1588,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1590,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1594,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1598,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1600,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1602,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1606,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1609,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1611,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1613,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1617,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1620,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1622,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1624,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1628,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1632,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1634,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1636,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1640,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1644,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1646,1
    - Dst: UPD_EXIT_GET
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1648,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1652,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 86
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1657
    functionName: upd_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - param_write_name
    - countof
    - param_write_string
    - param_write_null
    - strlen
    - param_write_string_array
    - param_write_bool
    - param_write_int_array
    - param_write_float_array
    - UPD_EXIT_GET
    - errprintf
    - param_write_int
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int upd_get_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1700,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1717,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1719,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1727,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1729,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1778,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1792,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1792,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1794,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1794,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1796,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1796,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1798,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1798,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1800,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1800,1
    - Dst: UPD_MM_CPY_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1802,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1802,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1806,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1806,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1807,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1807,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1808,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1808,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1809,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1809,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1810,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1810,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1811,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1811,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1815,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1818,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1825,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1826,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1837,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1841,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1850,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1853,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1861,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1864,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1867,1
    - Dst: UPD_MM_CPY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1872,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1878,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1881,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1884,1
    - Dst: UPD_MM_CPY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1889,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1895,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1898,1
    - Dst: UPD_MM_DEL_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1901,1
    - Dst: UPD_MM_CPY_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1906,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1912,1
    - Dst: UPD_PARAM_READ
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1915,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1918,1
    - Dst: UPD_MM_CPY_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1923,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1939,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1940,1
    - Dst: upd_cast
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1943,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1972,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1976,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1984,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:1989,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2058,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2064,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2072,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2090,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2097,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2100,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2100,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2101,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2101,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2102,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2102,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2103,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2103,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2104,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2104,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2105,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2105,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2125,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2125,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2126,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2126,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2127,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2127,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2128,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2128,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2129,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2129,1
    - Dst: UPD_MM_DEL_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2130,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2130,1
    - Dst: upd_procs_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2138,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2141,1
    CyclomaticComplexity: 124
    EdgeCount: 124
    ICount: 346
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 2146
    functionName: upd_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - strlen
    - UPD_MM_CPY_PARAM
    - gdev_prn_put_params
    - gp_fwrite
    - countof
    - UPD_MM_DEL_ARRAY
    - gs_closedevice
    - upd_cast
    - errprintf
    - UPD_MM_DEL_APARAM
    - param_read_float_array
    - param_read_string
    - UPD_PARAM_READ
    - upd_procs_map
    - UPD_MM_GET_ARRAY
    - strncmp
    - UPD_MM_CPY_ARRAY
    - UPD_MM_DEL_PARAM
    - UPD_MM_CPY_APARAM
    linkageType: ''
    returnType: int
    signature: int upd_put_params(gx_device *pdev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Param_read
    - ','
    - Name
    - ','
    - Object
    - ','
    - Mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1752
    functionDepth: 0
    functionLinenumber: 1752
    functionLinenumberEnd: 1765
    functionName: UPD_PARAM_READ
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_PARAM_READ(Param_read,Name,Object,Mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - Param_read
    - ','
    - Name
    - ','
    - Object
    - ','
    - Mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1766
    functionDepth: 0
    functionLinenumber: 1766
    functionLinenumberEnd: 1776
    functionName: UPD_PARAM_READ
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UPD_PARAM_READ(Param_read,Name,Object,Mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2178,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2182,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2182,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2183,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2183,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2209
    functionName: upd_cmyk_icolor
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_cmyk_icolor(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2224,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2225,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2226,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2227,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2215
    functionDepth: 1
    functionLinenumber: 2215
    functionLinenumberEnd: 2266
    functionName: upd_icolor_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - upd_expand
    linkageType: ''
    returnType: int
    signature: int upd_icolor_rgb(gx_device *pdev, gx_color_index color, gx_color_value
      prgb[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2280,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2292
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2292
    functionName: upd_rgb_1color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_rgb_1color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2305,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2318
    functionName: upd_1color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - upd_expand
    linkageType: ''
    returnType: int
    signature: int upd_1color_rgb(gx_device *pdev, gx_color_index color, gx_color_value
      cv[1])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2332,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2332,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2332,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2324
    functionDepth: 1
    functionLinenumber: 2324
    functionLinenumberEnd: 2351
    functionName: upd_rgb_3color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_rgb_3color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2362,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2363,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2364,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2357
    functionDepth: 1
    functionLinenumber: 2357
    functionLinenumberEnd: 2383
    functionName: upd_3color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - upd_expand
    linkageType: ''
    returnType: int
    signature: int upd_3color_rgb(gx_device *pdev, gx_color_index color, gx_color_value
      prgb[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2400,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2406,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2406,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2407,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2407,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2415,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2389
    functionDepth: 1
    functionLinenumber: 2389
    functionLinenumberEnd: 2432
    functionName: upd_rgb_4color
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_rgb_4color(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2446,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2447,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2448,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2452,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2438
    functionDepth: 1
    functionLinenumber: 2438
    functionLinenumberEnd: 2472
    functionName: upd_4color_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - upd_expand
    linkageType: ''
    returnType: int
    signature: int upd_4color_rgb(gx_device *pdev, gx_color_index color, gx_color_value
      prgb[3])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2491,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2502,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2502,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2503,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2503,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2511,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2529
      start: 2478
    functionDepth: 1
    functionLinenumber: 2478
    functionLinenumberEnd: 2529
    functionName: upd_cmyk_kcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_cmyk_kcolor(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2544,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2545,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2546,1
    - Dst: upd_expand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2547,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - pdev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2584
      start: 2535
    functionDepth: 1
    functionLinenumber: 2535
    functionLinenumberEnd: 2584
    functionName: upd_kcolor_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - upd_expand
    linkageType: ''
    returnType: int
    signature: int upd_kcolor_rgb(gx_device *pdev, gx_color_index color, gx_color_value
      prgb[3])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2601,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2639,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2639,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2640,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2640,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2648,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2590
    functionDepth: 1
    functionLinenumber: 2590
    functionLinenumberEnd: 2665
    functionName: upd_rgb_ovcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_rgb_ovcolor(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2683,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2698,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2698,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2699,1
    - Dst: upd_truncate
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2699,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - pdev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2724
      start: 2671
    functionDepth: 1
    functionLinenumber: 2671
    functionLinenumberEnd: 2724
    functionName: upd_rgb_novcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - upd_truncate
    - errprintf
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index upd_rgb_novcolor(gx_device *pdev, const gx_color_value
      cv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - upd
    - i
    - v
    argTypes:
    - upd_pc
    - int
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2734
    functionDepth: 0
    functionLinenumber: 2734
    functionLinenumberEnd: 2770
    functionName: upd_truncate
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_truncate(upd_pc upd,int i,gx_color_value v)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2837,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2841,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2868,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2885,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2886,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2912,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2924,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2954,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:2964,1
    - Dst: XFVAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3018,1
    - Dst: XFVAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3020,1
    - Dst: XFVAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3020,1
    - Dst: XFVAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3020,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3072,1
    - Dst: upd_close_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3083,1
    - Dst: upd_procs_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3086,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 213
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 2776
    functionDepth: 1
    functionLinenumber: 2776
    functionLinenumberEnd: 3090
    functionName: upd_open_map
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - upd_procs_map
    - upd_close_map
    - UPD_MM_DEL_PARAM
    - XFVAL
    - UPD_MM_GET_ARRAY
    - gs_malloc
    - errprintf
    linkageType: ''
    returnType: int
    signature: int upd_open_map(upd_device *udev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2990
    functionName: XFVAL
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XFVAL(I)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3107,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3108,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3109,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3110,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3111,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3114,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3115,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3116,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3117,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3118,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3121,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3122,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3123,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3124,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3125,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3128,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3129,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3130,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3131,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3132,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3135,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3136,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3137,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3138,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3139,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3142,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3143,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3144,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3145,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3146,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3149,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3150,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3151,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3152,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3153,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3157,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3158,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3159,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3160,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3161,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3166
      start: 3096
    functionDepth: 1
    functionLinenumber: 3096
    functionLinenumberEnd: 3166
    functionName: upd_procs_map
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - set_dev_proc
    linkageType: ''
    returnType: int
    signature: int upd_procs_map(upd_device *udev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3183,1
    - Dst: upd_procs_map
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3195,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3198
      start: 3172
    functionDepth: 2
    functionLinenumber: 3172
    functionLinenumberEnd: 3198
    functionName: upd_close_map
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - upd_procs_map
    - gs_free
    linkageType: ''
    returnType: int
    signature: int upd_close_map(upd_device *udev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: upd_open_fscomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3242,1
    - Dst: upd_open_fscmyk
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3245,1
    - Dst: upd_open_fscmy_k
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3248,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3252,1
    - Dst: upd_close_render
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3263
      start: 3216
    functionDepth: 1
    functionLinenumber: 3216
    functionLinenumberEnd: 3263
    functionName: upd_open_render
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - upd_open_fscmy_k
    - upd_close_render
    - upd_open_fscomp
    - errprintf
    - upd_open_fscmyk
    linkageType: ''
    returnType: void
    signature: void upd_open_render(upd_device *udev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: upd_close_fscomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3278,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3281,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3292
      start: 3269
    functionDepth: 1
    functionLinenumber: 3269
    functionLinenumberEnd: 3292
    functionName: upd_close_render
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - upd_close_fscomp
    - gs_free
    linkageType: ''
    returnType: void
    signature: void upd_close_render(upd_device *udev)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3332,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3350,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3353,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3367,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3371,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3374,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3441,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3443,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3445,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3449,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3451,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3453,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3455,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3470,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 113
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3491
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3491
    functionName: upd_open_fscomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - errprintf
    - memset
    - rand
    - gs_malloc
    linkageType: ''
    returnType: void
    signature: void upd_open_fscomp(upd_device *udev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3510,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3521,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3497
    functionDepth: 1
    functionLinenumber: 3497
    functionLinenumberEnd: 3524
    functionName: upd_close_fscomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - errprintf
    - gs_free
    linkageType: ''
    returnType: void
    signature: void upd_close_fscomp(upd_device *udev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3537
      start: 3534
    functionDepth: 0
    functionLinenumber: 3534
    functionLinenumberEnd: 3537
    functionName: FS_M_ROWERR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS_M_ROWERR(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3539
      start: 3538
    functionDepth: 0
    functionLinenumber: 3538
    functionLinenumberEnd: 3539
    functionName: FS_M_ROWERR
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS_M_ROWERR(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Raw
    - ','
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3548
      start: 3543
    functionDepth: 0
    functionLinenumber: 3543
    functionLinenumberEnd: 3548
    functionName: FS_GOAL
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS_GOAL(Raw,I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3555
      start: 3554
    functionDepth: 0
    functionLinenumber: 3554
    functionLinenumberEnd: 3555
    functionName: FS_DIST
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FS_DIST(I)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3591,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3593,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3594,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3596,1
    - Dst: upd_pxlfwd
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3615,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3616,1
    - Dst: upd_pxlrev
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3619,1
    - Dst: upd_pxlrev
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3635,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3636,1
    - Dst: upd_pxlfwd
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3639,1
    - Dst: upd_proc_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3650,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3652,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3679,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3681,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3682,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3688,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3691,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3692,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3698,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3700,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3701,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3707,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3710,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3711,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3717,1
    - Dst: upd_limits
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3754,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 132
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3756
      start: 3573
    functionDepth: 1
    functionLinenumber: 3573
    functionLinenumberEnd: 3756
    functionName: upd_fscomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - FS_GOAL
    - FS_M_ROWERR
    - upd_pxlget
    - FS_DIST
    - memset
    - upd_limits
    - upd_pxlfwd
    - upd_pxlrev
    - upd_proc_pxlget
    linkageType: ''
    returnType: int
    signature: int upd_fscomp(upd_p upd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upd_open_fscomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3767,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3780
      start: 3762
    functionDepth: 2
    functionLinenumber: 3762
    functionLinenumberEnd: 3780
    functionName: upd_open_fscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - upd_open_fscomp
    linkageType: ''
    returnType: void
    signature: void upd_open_fscmyk(upd_device *udev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3801,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3802,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3803,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3804,1
    - Dst: upd_limits
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3815,1
    - Dst: upd_limits
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3828,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3873,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3873,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3880,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3880,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3881,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3881,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3882,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3882,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3926,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3927,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3928,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3935,1
    - Dst: upd_limits
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3946,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 95
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3948
      start: 3786
    functionDepth: 1
    functionLinenumber: 3786
    functionLinenumberEnd: 3948
    functionName: upd_fscmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - FS_GOAL
    - FS_M_ROWERR
    - FS_DIST
    - memset
    - upd_limits
    linkageType: ''
    returnType: int
    signature: int upd_fscmyk(upd_p upd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upd_open_fscomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3968
      start: 3954
    functionDepth: 2
    functionLinenumber: 3954
    functionLinenumberEnd: 3968
    functionName: upd_open_fscmy_k
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - upd_open_fscomp
    linkageType: ''
    returnType: void
    signature: void upd_open_fscmy_k(upd_device *udev)
  - BBCount: 614
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3990,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3991,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3992,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:3993,1
    - Dst: upd_pxlfwd
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4011,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4012,1
    - Dst: upd_pxlrev
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4015,1
    - Dst: upd_pxlrev
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4031,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4032,1
    - Dst: upd_pxlfwd
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4035,1
    - Dst: upd_proc_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4046,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4048,1
    - Dst: upd_pxlget
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4065,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4069,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4069,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4070,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4070,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4071,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4071,1
    - Dst: FS_M_ROWERR
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4072,1
    - Dst: FS_GOAL
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4072,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4108,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4109,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4110,1
    - Dst: FS_DIST
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4111,1
    - Dst: upd_limits
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4121,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4168,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4169,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4214,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4215,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4228,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4229,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4242,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4243,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4256,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4264,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4280,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4288,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4298,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4314,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4330,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4338,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4348,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4364,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4376,1
    - Dst: upd_open_rascomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4423,1
    - Dst: upd_open_wrtescp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4426,1
    - Dst: upd_open_wrtescp2
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4431,1
    - Dst: upd_open_wrtrtl
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4434,1
    - Dst: upd_open_wrtcanon
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4437,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4442,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4451,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4457,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4464,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4473,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4480,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4484,1
    - Dst: upd_close_writer
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4501,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4519,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4531,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4536,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4541,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4547,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4552,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4673,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4677,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4681,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4686,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4692,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4696,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4700,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4704,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4711,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4711,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4712,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4712,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4713,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4713,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4715,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4715,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4716,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4716,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4717,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4717,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4728,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4756,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4761,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4778,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4804,1
    - Dst: upd_cast
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4824,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4861,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4874,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4883,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4944,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5031,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5044,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5059,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5089,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5127,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5141,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5153,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5166,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5190,1
    - Dst: upd_cast
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5227,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5289,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5304,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5322,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5323,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5337,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5359,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5360,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5370,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5371,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5395,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5396,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5406,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5407,1
    - Dst: UPD_MM_DEL_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5430,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5431,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5435,1
    - Dst: UPD_MM_DEL_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5449,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5450,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5454,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5485,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5496,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5509,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5516,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5526,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5673,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5684,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5714,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5752,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5766,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5779,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5791,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5792,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5797,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5798,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5803,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5805,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5810,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5811,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5913,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5924,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5948,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5986,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6000,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6013,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6031,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6032,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6045,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6046,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6061,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6065,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6069,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6086,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6087,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6096,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6097,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6196,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6207,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6237,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6275,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6289,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6302,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6315,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6316,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6321,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6322,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6329,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6335,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6336,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6341,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6342,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6407,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6480,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6481,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6484,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6486,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6487,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6488,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6491,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6498,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6499,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6504,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6505,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6506,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6509,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6527,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6531,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6534,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6536,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6537,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6538,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6541,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6734,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6736,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6739,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6741,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6742,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6743,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6746,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6801,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6804,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6806,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6807,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6808,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6811,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6894,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6898,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6901,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6903,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6904,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6905,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6908,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6920,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6932,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6949,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6950,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6968,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7010,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7013,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7017,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7019,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7021,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7027,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7037,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7038,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7040,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7042,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7112,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7113,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7114,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7115,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7116,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7117,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7117,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7118,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7118,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7131,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7139,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7140,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7141,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7142,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7142,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7143,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7143,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7145,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7147,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7154,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7157,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7159,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7163,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7164,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7165,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7166,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7167,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7168,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7168,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7169,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7169,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7255,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7467,1
    CyclomaticComplexity: 854
    EdgeCount: 854
    ICount: 2550
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7616
      start: 3974
    functionDepth: 1
    functionLinenumber: 3974
    functionLinenumberEnd: 7616
    functionName: upd_fscmy_k
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - FS_GOAL
    - strlen
    - upd_pxlget
    - gs_sprintf
    - LOW
    - upd_open_wrtrtl
    - upd_pxlfwd
    - upd_rle
    - gp_fwrite
    - dev_b_margin
    - upd_open_rascomp
    - upd_cast
    - memset
    - put32
    - gp_fprintf
    - upd_open_wrtescp2
    - upd_pxlrev
    - errprintf
    - upd_proc_pxlget
    - UPD_MM_DEL_APARAM
    - HIGH
    - upd_close_writer
    - gp_fputc
    - upd_open_wrtescp
    - upd_limits
    - gs_malloc
    - FS_M_ROWERR
    - FS_DIST
    - UPD_MM_GET_ARRAY
    - upd_open_wrtcanon
    - memcpy
    - dev_t_margin
    - UPD_MM_DEL_PARAM
    - gs_free
    linkageType: ''
    returnType: int
    signature: int upd_fscmy_k(upd_p upd)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4168,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4169,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4214,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4215,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4228,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4229,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4242,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4243,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4256,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4264,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4280,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4288,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4298,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4314,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4330,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4338,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4348,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4364,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4376,1
    - Dst: upd_open_rascomp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4423,1
    - Dst: upd_open_wrtescp
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4426,1
    - Dst: upd_open_wrtescp2
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4431,1
    - Dst: upd_open_wrtrtl
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4434,1
    - Dst: upd_open_wrtcanon
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4437,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4442,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4451,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4457,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4464,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4473,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4480,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4484,1
    - Dst: upd_close_writer
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4501,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 237
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4504
      start: 4129
    functionDepth: 1
    functionLinenumber: 4129
    functionLinenumberEnd: 4504
    functionName: upd_open_writer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached:
    - upd_open_rascomp
    - UPD_MM_GET_ARRAY
    - upd_open_wrtcanon
    - upd_close_writer
    - upd_open_wrtescp
    - UPD_MM_DEL_PARAM
    - upd_open_wrtescp2
    - errprintf
    - upd_open_wrtrtl
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int upd_open_writer(upd_device *udev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4519,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4531,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4536,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4541,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4547,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4552,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 29
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4557
      start: 4510
    functionDepth: 1
    functionLinenumber: 4510
    functionLinenumberEnd: 4557
    functionName: upd_close_writer
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 3
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void upd_close_writer(upd_device *udev)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 44
    argCount: 2
    argNames:
    - upd
    - check
    argTypes:
    - upd_p
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4620
      start: 4563
    functionDepth: 0
    functionLinenumber: 4563
    functionLinenumberEnd: 4620
    functionName: upd_limits
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void upd_limits(upd_p upd, bool check)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4648
      start: 4626
    functionDepth: 0
    functionLinenumber: 4626
    functionLinenumberEnd: 4648
    functionName: upd_open_rascomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int upd_open_rascomp(upd_device *udev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - I32
    - ','
    - Out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4656
      start: 4654
    functionDepth: 0
    functionLinenumber: 4654
    functionLinenumberEnd: 4656
    functionName: put32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put32(I32,Out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - I32
    - ','
    - Out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4662
      start: 4657
    functionDepth: 0
    functionLinenumber: 4657
    functionLinenumberEnd: 4662
    functionName: put32
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put32(I32,Out)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4673,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4677,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4681,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4686,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4692,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4696,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4700,1
    - Dst: put32
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4704,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4711,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4711,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4712,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4712,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4713,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4713,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4715,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4715,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4716,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4716,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4717,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4717,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4728,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4756,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4761,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4764
      start: 4664
    functionDepth: 1
    functionLinenumber: 4664
    functionLinenumberEnd: 4764
    functionName: upd_start_rascomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memset
    - gp_fputc
    - put32
    linkageType: ''
    returnType: int
    signature: int upd_start_rascomp(upd_p upd, gp_file *out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4778,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4804,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4808
      start: 4769
    functionDepth: 1
    functionLinenumber: 4769
    functionLinenumberEnd: 4808
    functionName: upd_rascomp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_rascomp(upd_p upd, gp_file *out)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: upd_cast
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4824,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4861,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4874,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4883,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:4944,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 90
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4952
      start: 4814
    functionDepth: 1
    functionLinenumber: 4814
    functionLinenumberEnd: 4952
    functionName: upd_open_wrtescp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - errprintf
    - upd_cast
    linkageType: ''
    returnType: int
    signature: int upd_open_wrtescp(upd_device *udev)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5031,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5044,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5059,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5089,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5127,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5141,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5153,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5166,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5190,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 183
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5211
      start: 4958
    functionDepth: 1
    functionLinenumber: 4958
    functionLinenumberEnd: 5211
    functionName: upd_wrtescp
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_wrtescp(upd_p upd, gp_file *out)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: upd_cast
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5227,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5289,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5304,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5322,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5323,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5337,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5359,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5360,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5370,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5371,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5395,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5396,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5406,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5407,1
    - Dst: UPD_MM_DEL_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5430,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5431,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5435,1
    - Dst: UPD_MM_DEL_APARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5449,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5450,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5454,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5485,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5496,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5509,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5516,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5526,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 301
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5594
      start: 5217
    functionDepth: 1
    functionLinenumber: 5217
    functionLinenumberEnd: 5594
    functionName: upd_open_wrtescp2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - dev_b_margin
    - dev_t_margin
    - upd_cast
    - UPD_MM_GET_ARRAY
    - UPD_MM_DEL_PARAM
    - errprintf
    - UPD_MM_DEL_APARAM
    linkageType: ''
    returnType: int
    signature: int upd_open_wrtescp2(upd_device *udev)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5673,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5684,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5714,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5752,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5766,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5779,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5791,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5792,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5797,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5798,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5803,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5805,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5810,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5811,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 173
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5832
      start: 5600
    functionDepth: 1
    functionLinenumber: 5600
    functionLinenumberEnd: 5832
    functionName: upd_wrtescp2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gp_fwrite
    - upd_rle
    linkageType: ''
    returnType: int
    signature: int upd_wrtescp2(upd_p upd, gp_file *out)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5913,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5924,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5948,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:5986,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6000,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6013,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6031,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6032,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6045,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6046,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6061,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6065,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6069,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6086,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6087,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6096,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6097,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 203
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6119
      start: 5840
    functionDepth: 1
    functionLinenumber: 5840
    functionLinenumberEnd: 6119
    functionName: upd_wrtescnm
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gp_fwrite
    - upd_rle
    linkageType: ''
    returnType: int
    signature: int upd_wrtescnm(upd_p upd, gp_file *out)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6196,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6207,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6237,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6275,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6289,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6302,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6315,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6316,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6321,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6322,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6329,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6335,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6336,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6341,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6342,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 179
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6364
      start: 6125
    functionDepth: 1
    functionLinenumber: 6125
    functionLinenumberEnd: 6364
    functionName: upd_wrtescp2x
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - gp_fwrite
    - upd_rle
    linkageType: ''
    returnType: int
    signature: int upd_wrtescp2x(upd_p upd, gp_file *out)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6407,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 45
    argCount: 3
    argNames:
    - out
    - in
    - nbytes
    argTypes:
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6426
      start: 6370
    functionDepth: 0
    functionLinenumber: 6370
    functionLinenumberEnd: 6426
    functionName: upd_rle
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 4
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int upd_rle(byte *out,const byte *in,int nbytes)
  - BBCount: 184
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6480,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6481,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6484,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6486,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6487,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6488,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6491,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6498,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6499,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6504,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6505,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6506,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6509,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6527,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6531,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6534,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6536,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6537,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6538,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6541,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6734,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6736,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6739,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6741,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6742,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6743,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6746,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6801,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6804,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6806,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6807,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6808,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6811,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6894,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6898,1
    - Dst: UPD_MM_GET_ARRAY
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6901,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6903,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6904,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6905,1
    - Dst: UPD_MM_DEL_PARAM
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6908,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6920,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6932,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6949,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6950,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:6968,1
    CyclomaticComplexity: 238
    EdgeCount: 238
    ICount: 503
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6976
      start: 6432
    functionDepth: 1
    functionLinenumber: 6432
    functionLinenumberEnd: 6976
    functionName: upd_open_wrtrtl
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - strlen
    - gs_sprintf
    - UPD_MM_GET_ARRAY
    - memcpy
    - UPD_MM_DEL_PARAM
    - errprintf
    linkageType: ''
    returnType: int
    signature: int upd_open_wrtrtl(upd_device *udev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7010,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7013,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7017,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7019,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7021,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7027,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7037,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7038,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7040,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7042,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7056
      start: 6982
    functionDepth: 1
    functionLinenumber: 6982
    functionLinenumberEnd: 7056
    functionName: upd_wrtrtl
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - strlen
    - gs_sprintf
    - gp_fprintf
    - upd_rle
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_wrtrtl(upd_p upd, gp_file *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - udev
    argTypes:
    - upd_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7074
      start: 7062
    functionDepth: 0
    functionLinenumber: 7062
    functionLinenumberEnd: 7074
    functionName: upd_open_wrtcanon
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int upd_open_wrtcanon(upd_device *udev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7081
      start: 7080
    functionDepth: 0
    functionLinenumber: 7080
    functionLinenumberEnd: 7081
    functionName: LOW
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOW(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7082
      start: 7081
    functionDepth: 0
    functionLinenumber: 7081
    functionLinenumberEnd: 7082
    functionName: HIGH
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HIGH(b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7112,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7113,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7114,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7115,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7116,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7117,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7117,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7118,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7118,1
    - Dst: upd_rle
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7131,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7139,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7140,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7141,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7142,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7142,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7143,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7143,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7145,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7147,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7154,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7157,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7159,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7163,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7164,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7165,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7166,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7167,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7168,1
    - Dst: HIGH
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7168,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7169,1
    - Dst: LOW
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7169,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - upd
    - out
    argTypes:
    - upd_p
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7179
      start: 7085
    functionDepth: 1
    functionLinenumber: 7085
    functionLinenumberEnd: 7179
    functionName: upd_wrtcanon
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached:
    - HIGH
    - gp_fputc
    - LOW
    - upd_rle
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int upd_wrtcanon(upd_p upd, gp_file *out)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7263
      start: 7237
    functionDepth: 0
    functionLinenumber: 7237
    functionLinenumberEnd: 7263
    functionName: upd_pxlfwd
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - errprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlfwd(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7272
      start: 7267
    functionDepth: 0
    functionLinenumber: 7267
    functionLinenumberEnd: 7272
    functionName: upd_pxlget1f1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7279
      start: 7274
    functionDepth: 0
    functionLinenumber: 7274
    functionLinenumberEnd: 7279
    functionName: upd_pxlget1f2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7286
      start: 7281
    functionDepth: 0
    functionLinenumber: 7281
    functionLinenumberEnd: 7286
    functionName: upd_pxlget1f3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f3(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7293
      start: 7288
    functionDepth: 0
    functionLinenumber: 7288
    functionLinenumberEnd: 7293
    functionName: upd_pxlget1f4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f4(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7300
      start: 7295
    functionDepth: 0
    functionLinenumber: 7295
    functionLinenumberEnd: 7300
    functionName: upd_pxlget1f5
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f5(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7307
      start: 7302
    functionDepth: 0
    functionLinenumber: 7302
    functionLinenumberEnd: 7307
    functionName: upd_pxlget1f6
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f6(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7314
      start: 7309
    functionDepth: 0
    functionLinenumber: 7309
    functionLinenumberEnd: 7314
    functionName: upd_pxlget1f7
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f7(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7321
      start: 7316
    functionDepth: 0
    functionLinenumber: 7316
    functionLinenumberEnd: 7321
    functionName: upd_pxlget1f8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1f8(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7330
      start: 7325
    functionDepth: 0
    functionLinenumber: 7325
    functionLinenumberEnd: 7330
    functionName: upd_pxlget2f1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2f1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7337
      start: 7332
    functionDepth: 0
    functionLinenumber: 7332
    functionLinenumberEnd: 7337
    functionName: upd_pxlget2f2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2f2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7344
      start: 7339
    functionDepth: 0
    functionLinenumber: 7339
    functionLinenumberEnd: 7344
    functionName: upd_pxlget2f3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2f3(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7351
      start: 7346
    functionDepth: 0
    functionLinenumber: 7346
    functionLinenumberEnd: 7351
    functionName: upd_pxlget2f4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2f4(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7359
      start: 7354
    functionDepth: 0
    functionLinenumber: 7354
    functionLinenumberEnd: 7359
    functionName: upd_pxlget4f1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget4f1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7366
      start: 7361
    functionDepth: 0
    functionLinenumber: 7361
    functionLinenumberEnd: 7366
    functionName: upd_pxlget4f2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget4f2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7373
      start: 7369
    functionDepth: 0
    functionLinenumber: 7369
    functionLinenumberEnd: 7373
    functionName: upd_pxlget8f
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget8f(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7382
      start: 7376
    functionDepth: 0
    functionLinenumber: 7376
    functionLinenumberEnd: 7382
    functionName: upd_pxlget16f
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget16f(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7392
      start: 7385
    functionDepth: 0
    functionLinenumber: 7385
    functionLinenumberEnd: 7392
    functionName: upd_pxlget24f
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget24f(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7403
      start: 7395
    functionDepth: 0
    functionLinenumber: 7395
    functionLinenumberEnd: 7403
    functionName: upd_pxlget32f
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget32f(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7411
      start: 7407
    functionDepth: 0
    functionLinenumber: 7407
    functionLinenumberEnd: 7411
    functionName: upd_pxlgetnix
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlgetnix(upd_p upd)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/gdevupd.c:7467,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 83
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7475
      start: 7415
    functionDepth: 0
    functionLinenumber: 7415
    functionLinenumberEnd: 7475
    functionName: upd_pxlrev
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 2
    functionsReached:
    - errprintf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlrev(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7484
      start: 7479
    functionDepth: 0
    functionLinenumber: 7479
    functionLinenumberEnd: 7484
    functionName: upd_pxlget1r1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7491
      start: 7486
    functionDepth: 0
    functionLinenumber: 7486
    functionLinenumberEnd: 7491
    functionName: upd_pxlget1r2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7498
      start: 7493
    functionDepth: 0
    functionLinenumber: 7493
    functionLinenumberEnd: 7498
    functionName: upd_pxlget1r3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r3(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7505
      start: 7500
    functionDepth: 0
    functionLinenumber: 7500
    functionLinenumberEnd: 7505
    functionName: upd_pxlget1r4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r4(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7512
      start: 7507
    functionDepth: 0
    functionLinenumber: 7507
    functionLinenumberEnd: 7512
    functionName: upd_pxlget1r5
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r5(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7519
      start: 7514
    functionDepth: 0
    functionLinenumber: 7514
    functionLinenumberEnd: 7519
    functionName: upd_pxlget1r6
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r6(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7521
    functionDepth: 0
    functionLinenumber: 7521
    functionLinenumberEnd: 7526
    functionName: upd_pxlget1r7
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r7(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7533
      start: 7528
    functionDepth: 0
    functionLinenumber: 7528
    functionLinenumberEnd: 7533
    functionName: upd_pxlget1r8
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget1r8(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7542
      start: 7537
    functionDepth: 0
    functionLinenumber: 7537
    functionLinenumberEnd: 7542
    functionName: upd_pxlget2r1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2r1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7549
      start: 7544
    functionDepth: 0
    functionLinenumber: 7544
    functionLinenumberEnd: 7549
    functionName: upd_pxlget2r2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2r2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7556
      start: 7551
    functionDepth: 0
    functionLinenumber: 7551
    functionLinenumberEnd: 7556
    functionName: upd_pxlget2r3
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2r3(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7563
      start: 7558
    functionDepth: 0
    functionLinenumber: 7558
    functionLinenumberEnd: 7563
    functionName: upd_pxlget2r4
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget2r4(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7572
      start: 7567
    functionDepth: 0
    functionLinenumber: 7567
    functionLinenumberEnd: 7572
    functionName: upd_pxlget4r1
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget4r1(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7579
      start: 7574
    functionDepth: 0
    functionLinenumber: 7574
    functionLinenumberEnd: 7579
    functionName: upd_pxlget4r2
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget4r2(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7586
      start: 7582
    functionDepth: 0
    functionLinenumber: 7582
    functionLinenumberEnd: 7586
    functionName: upd_pxlget8r
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget8r(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7595
      start: 7589
    functionDepth: 0
    functionLinenumber: 7589
    functionLinenumberEnd: 7595
    functionName: upd_pxlget16r
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget16r(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7605
      start: 7598
    functionDepth: 0
    functionLinenumber: 7598
    functionLinenumberEnd: 7605
    functionName: upd_pxlget24r
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget24r(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - upd
    argTypes:
    - upd_p
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7616
      start: 7608
    functionDepth: 0
    functionLinenumber: 7608
    functionLinenumberEnd: 7616
    functionName: upd_pxlget32r
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevupd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t upd_pxlget32r(upd_p upd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - file
    argTypes:
    - uint
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: cfax_byte
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void cfax_byte(uint c, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:50,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - c
    - file
    argTypes:
    - ushort
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: cfax_word
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_byte
    linkageType: ''
    returnType: void
    signature: void cfax_word(ushort c, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:57,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:58,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:59,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - c
    - file
    argTypes:
    - ulong
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 2
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: cfax_dword
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_byte
    linkageType: ''
    returnType: void
    signature: void cfax_dword(ulong c, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:66,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:67,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:68,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:69,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:70,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:71,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:72,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:73,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:74,1
    - Dst: cfax_dword
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:75,1
    - Dst: cfax_dword
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - file
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: cfax_doc_hdr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_word
    - cfax_dword
    - cfax_byte
    linkageType: ''
    returnType: void
    signature: void cfax_doc_hdr(gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:82,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:83,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:84,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:85,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:86,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:87,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:88,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:89,1
    - Dst: cfax_dword
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:90,1
    - Dst: cfax_dword
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - file
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 79
    functionDepth: 3
    functionLinenumber: 79
    functionLinenumberEnd: 92
    functionName: cfax_page_hdr
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_word
    - cfax_dword
    - cfax_byte
    linkageType: ''
    returnType: void
    signature: void cfax_page_hdr(gx_device_printer * pdev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:97,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 99
    functionName: cfax_doc_end
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_byte
    linkageType: ''
    returnType: void
    signature: void cfax_doc_end(gp_file * file)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:111,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:118,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:123,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:130,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:134,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:136,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:150,1
    - Dst: gdev_prn_copy_scan_lines
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:152,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:156,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:163,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:165,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:167,1
    - Dst: cfax_word
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:168,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:170,1
    - Dst: cfax_byte
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:173,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:182,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:183,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 5
    argNames:
    - pdev
    - prn_stream
    - temp
    - ss
    - width
    argTypes:
    - gx_device_printer*
    - gp_file*
    - stream_template*
    - stream_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 102
    functionDepth: 3
    functionLinenumber: 102
    functionLinenumberEnd: 185
    functionName: cfax_stream_print_page_width
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gs_alloc_bytes
    - cfax_word
    - gdev_prn_raster
    - gdev_prn_copy_scan_lines
    - max
    - memset
    - cfax_byte
    - return_error
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int cfax_stream_print_page_width(gx_device_printer * pdev, gp_file
      * prn_stream,\n                             const stream_template * temp, stream_state
      * ss,\n                             int width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_file_is_new
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:195,1
    - Dst: cfax_doc_hdr
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:196,1
    - Dst: cfax_page_hdr
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - fp
    - width
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 4
    functionLinenumber: 188
    functionLinenumberEnd: 202
    functionName: cfax_begin_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - gdev_prn_file_is_new
    - cfax_page_hdr
    - cfax_doc_hdr
    linkageType: ''
    returnType: int
    signature: int cfax_begin_page(gx_device_printer * pdev, gp_file * fp, int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_fax_init_fax_state
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:211,1
    - Dst: cfax_begin_page
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:218,1
    - Dst: cfax_stream_print_page_width
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 222
    functionName: cfax_print_page
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_begin_page
    - gdev_fax_init_fax_state
    - cfax_stream_print_page_width
    linkageType: ''
    returnType: int
    signature: int cfax_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfax_doc_end
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:231,1
    - Dst: gdev_prn_close
      Src: /src/libspectre/ghostscript/devices/gdevcfax.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 234
    functionName: cfax_prn_close
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevcfax.c
    functionUses: 0
    functionsReached:
    - cfax_doc_end
    - gdev_prn_close
    linkageType: ''
    returnType: int
    signature: int cfax_prn_close(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: CUBE_INDEX
    functionSourceFile: /src/libspectre/ghostscript/devices/gdevxcmp.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUBE_INDEX(r,g,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:40,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: rinkj_strdup_size
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c
    functionUses: 0
    functionsReached:
    - malloc
    - memcpy
    linkageType: ''
    returnType: char
    signature: 'char *

      rinkj_strdup_size (const char *src, int size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:69,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:73,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:87,1
    - Dst: rinkj_strdup_size
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:89,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - config
    - key
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 6
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: rinkj_config_get
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c
    functionUses: 0
    functionsReached:
    - rinkj_strdup_size
    - strchr
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      rinkj_config_get (const char *config, const char *key)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:123,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:127,1
    - Dst: rinkj_strdup_size
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:140,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:142,1
    - Dst: rinkj_strdup_size
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c:145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 3
    argNames:
    - config
    - p_val
    - p_next
    argTypes:
    - char*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 108
    functionDepth: 6
    functionLinenumber: 108
    functionLinenumberEnd: 153
    functionName: rinkj_config_keyval
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-config.c
    functionUses: 0
    functionsReached:
    - rinkj_strdup_size
    - strchr
    - strlen
    - isspace
    linkageType: ''
    returnType: char
    signature: 'char *

      rinkj_config_keyval (const char *config, char **p_val, const char **p_next)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RinkjByteStream*::write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - bs
    - buf
    - size
    argTypes:
    - RinkjByteStream*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: rinkj_byte_stream_write
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 0
    functionsReached:
    - RinkjByteStream*::write
    linkageType: ''
    returnType: int
    signature: int rinkj_byte_stream_write (RinkjByteStream *bs, const char *buf,
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RinkjByteStream*::write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:34,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bs
    - str
    argTypes:
    - RinkjByteStream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: rinkj_byte_stream_puts
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 0
    functionsReached:
    - strlen
    - RinkjByteStream*::write
    linkageType: ''
    returnType: int
    signature: int rinkj_byte_stream_puts (RinkjByteStream *bs, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:47,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:48,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:49,1
    - Dst: rinkj_byte_stream_write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bs
    - fmt
    argTypes:
    - RinkjByteStream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 51
    functionName: rinkj_byte_stream_printf
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - rinkj_byte_stream_write
    - va_end
    linkageType: ''
    returnType: int
    signature: int rinkj_byte_stream_printf (RinkjByteStream *bs, const char *fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RinkjByteStream*::write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bs
    argTypes:
    - RinkjByteStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: rinkj_byte_stream_close
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 0
    functionsReached:
    - RinkjByteStream*::write
    linkageType: ''
    returnType: int
    signature: int rinkj_byte_stream_close (RinkjByteStream *bs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:79,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:81,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - self
    - buf
    - size
    argTypes:
    - RinkjByteStream*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 95
    functionName: rinkj_byte_stream_file_write
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 0
    functionsReached:
    - free
    - gp_fwrite
    - fclose
    linkageType: ''
    returnType: int
    signature: int rinkj_byte_stream_file_write (RinkjByteStream *self, const char
      *buf, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: rinkj_byte_stream_file_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-byte-stream.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: RinkjByteStream
    signature: 'RinkjByteStream *

      rinkj_byte_stream_file_new (gp_file *f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RinkjDevice*::set
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - RinkjDevice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 31
    functionName: rinkj_device_set
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 0
    functionsReached:
    - RinkjDevice*::set
    linkageType: ''
    returnType: int
    signature: int rinkj_device_set (RinkjDevice *self, const char *config)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:38,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:40,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:45,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:46,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:47,1
    - Dst: rinkj_device_set
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:49,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - self
    - key
    - value
    - value_size
    argTypes:
    - RinkjDevice*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 52
    functionName: rinkj_device_set_param
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 0
    functionsReached:
    - rinkj_device_set
    - strlen
    - malloc
    - free
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int rinkj_device_set_param (RinkjDevice *self, const char *key,\n
      \                       const char *value, int value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_device_set_param
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:58,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - RinkjDevice*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 6
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: rinkj_device_set_param_string
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 1
    functionsReached:
    - strlen
    - rinkj_device_set_param
    linkageType: ''
    returnType: int
    signature: "int rinkj_device_set_param_string (RinkjDevice *self, const char *key,\n
      \                              const char *value)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:65,1
    - Dst: rinkj_device_set_param
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - key
    - value
    argTypes:
    - RinkjDevice*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 6
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: rinkj_device_set_param_int
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 0
    functionsReached:
    - rinkj_device_set_param
    - sprintf
    linkageType: ''
    returnType: int
    signature: int rinkj_device_set_param_int (RinkjDevice *self, const char *key,
      int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RinkjDevice*::init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 79
    functionName: rinkj_device_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 1
    functionsReached:
    - RinkjDevice*::init
    linkageType: ''
    returnType: int
    signature: int rinkj_device_init (RinkjDevice *self, const RinkjDeviceParams *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RinkjDevice*::write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - RinkjDevice*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 87
    functionName: rinkj_device_write
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-device.c
    functionUses: 1
    functionsReached:
    - RinkjDevice*::write
    linkageType: ''
    returnType: int
    signature: int rinkj_device_write (RinkjDevice *self, const char **data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_config_keyval
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:55,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:57,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:59,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:61,1
    - Dst: rinkj_device_set_param_int
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:64,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:67,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:69,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:71,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:72,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - RinkjDevice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 48
    functionDepth: 7
    functionLinenumber: 48
    functionLinenumberEnd: 75
    functionName: rinkj_screen_eb_set
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rinkj_device_set_param_int
    - rinkj_config_keyval
    - free
    - atoi
    linkageType: ''
    returnType: int
    signature: int rinkj_screen_eb_set (RinkjDevice *self, const char *config)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:90,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:91,1
    - Dst: even_better_new
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:119,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:126,1
    - Dst: rinkj_device_init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:128,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 129
    functionName: rinkj_screen_eb_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 0
    functionsReached:
    - fprintf
    - floor
    - even_better_new
    - rinkj_device_init
    linkageType: ''
    returnType: int
    signature: int rinkj_screen_eb_init (RinkjDevice *self, const RinkjDeviceParams
      *params)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_device_write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:150,1
    - Dst: even_better_free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:151,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:152,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:167,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:172,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:173,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:174,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:178,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:179,1
    - Dst: even_better_line
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:186,1
    - Dst: rinkj_device_write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:234,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:240,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:241,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:243,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:244,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:245,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 60
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - RinkjDevice*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 247
    functionName: rinkj_screen_eb_write
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 0
    functionsReached:
    - rinkj_device_write
    - even_better_free
    - even_better_line
    - malloc
    - free
    - fwrite
    linkageType: ''
    returnType: int
    signature: int rinkj_screen_eb_write (RinkjDevice *self, const char **data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - dev_out
    argTypes:
    - RinkjDevice*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 260
    functionDepth: 5
    functionLinenumber: 260
    functionLinenumberEnd: 279
    functionName: rinkj_screen_eb_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: RinkjDevice
    signature: 'RinkjDevice *

      rinkj_screen_eb_new (RinkjDevice *dev_out)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - self
    - xscale
    - yscale
    argTypes:
    - RinkjDevice*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 288
    functionName: rinkj_screen_eb_set_scale
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_screen_eb_set_scale (RinkjDevice *self, double xscale, double
      yscale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:300,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:302,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:306,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:308,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - self
    - plane
    - gamma
    - max
    argTypes:
    - RinkjDevice*
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 5
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: rinkj_screen_eb_set_gamma
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 0
    functionsReached:
    - malloc
    - pow
    - floor
    linkageType: ''
    returnType: void
    signature: void rinkj_screen_eb_set_gamma (RinkjDevice *self, int plane, double
      gamma, double max)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:322,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:324,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - self
    - plane
    - lut
    argTypes:
    - RinkjDevice*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: rinkj_screen_eb_set_lut
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-screen-eb.c
    functionUses: 1
    functionsReached:
    - malloc
    - floor
    linkageType: ''
    returnType: void
    signature: void rinkj_screen_eb_set_lut (RinkjDevice *self, int plane, const double
      *lut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RinkjDither*::dither_line
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-dither.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - dst
    - src
    argTypes:
    - RinkjDither*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: rinkj_dither_line
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-dither.c
    functionUses: 0
    functionsReached:
    - RinkjDither*::dither_line
    linkageType: ''
    returnType: void
    signature: void rinkj_dither_line (RinkjDither *self, unsigned char *dst, const
      unsigned char *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RinkjDither*::close
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-dither.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - RinkjDither*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: rinkj_dither_close
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-dither.c
    functionUses: 0
    functionsReached:
    - RinkjDither*::close
    linkageType: ''
    returnType: void
    signature: void rinkj_dither_close (RinkjDither *self)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_config_keyval
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:84,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:86,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:90,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:91,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:93,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:97,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:100,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:103,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:107,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:110,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:114,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:118,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:121,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:126,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:129,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:131,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:133,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:135,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:137,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:139,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:141,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:143,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:145,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:147,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:149,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:151,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 2
    argNames:
    - self
    - config
    argTypes:
    - RinkjDevice*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 77
    functionDepth: 7
    functionLinenumber: 77
    functionLinenumberEnd: 154
    functionName: rinkj_escp_set
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - strcmp
    - rinkj_config_keyval
    - strchr
    - free
    - fprintf
    - atoi
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_set (RinkjDevice *self, const char *config)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:207,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 3
    argNames:
    - z
    - pass
    - p_x_pass
    argTypes:
    - RinkjEscp*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 213
    functionName: rinkj_escp_ytop
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_ytop (RinkjEscp *z, int pass, int *p_x_pass)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - z
    - baseres
    argTypes:
    - RinkjEscp*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: rinkj_epson_headres
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_printf
    linkageType: ''
    returnType: int
    signature: int rinkj_epson_headres (RinkjEscp *z, int baseres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - z
    - xres
    - yres
    - baseres
    argTypes:
    - RinkjEscp*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: rinkj_epson_units
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_printf
    linkageType: ''
    returnType: int
    signature: int rinkj_epson_units (RinkjEscp *z, int xres, int yres, int baseres)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:241,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:246,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - z
    argTypes:
    - RinkjEscp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 254
    functionName: rinkj_epson_set_common
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_printf
    linkageType: ''
    returnType: int
    signature: int rinkj_epson_set_common (RinkjEscp *z)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:265,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:267,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:272,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:275,1
    - Dst: rinkj_epson_set_common
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:277,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:280,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 294
    functionName: rinkj_epson870_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_printf
    - rinkj_epson_set_common
    linkageType: ''
    returnType: int
    signature: int rinkj_epson870_init (RinkjDevice *self, const RinkjDeviceParams
      *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:305,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:307,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:310,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:312,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:315,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:319,1
    - Dst: rinkj_epson_units
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:321,1
    - Dst: rinkj_epson_set_common
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:323,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:326,1
    - Dst: rinkj_epson_headres
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 338
    functionName: rinkj_epson2200_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_epson_set_common
    - rinkj_byte_stream_printf
    - rinkj_epson_headres
    - rinkj_epson_units
    linkageType: ''
    returnType: int
    signature: int rinkj_epson2200_init (RinkjDevice *self, const RinkjDeviceParams
      *params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:352,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:354,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:356,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:360,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:362,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:363,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:364,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:365,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:366,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:367,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:368,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:369,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:370,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:371,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:373,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:375,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:376,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:377,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:378,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:379,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:380,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:381,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:382,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:383,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:384,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:385,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:390,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:393,1
    - Dst: rinkj_epson_set_common
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:395,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:399,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:403,1
    - Dst: rinkj_epson_headres
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 413
    functionName: rinkj_epson7600_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_epson_headres
    - rinkj_byte_stream_printf
    - rinkj_epson_set_common
    linkageType: ''
    returnType: int
    signature: int rinkj_epson7600_init (RinkjDevice *self, const RinkjDeviceParams
      *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:424,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:426,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:431,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:434,1
    - Dst: rinkj_epson_set_common
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:436,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:439,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:442,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 457
    functionName: rinkj_epsonc80_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_printf
    - rinkj_epson_set_common
    linkageType: ''
    returnType: int
    signature: int rinkj_epsonc80_init (RinkjDevice *self, const RinkjDeviceParams
      *params)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:477,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:481,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:489,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:505,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:512,1
    - Dst: rinkj_escp_ytop
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:537,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:543,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:544,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:547,1
    - Dst: rinkj_epson870_init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:548,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:549,1
    - Dst: rinkj_epson2200_init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:550,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:551,1
    - Dst: rinkj_epson7600_init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:552,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:553,1
    - Dst: rinkj_epsonc80_init
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:554,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 2
    argNames:
    - self
    - params
    argTypes:
    - RinkjDevice*
    - RinkjDeviceParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 559
    functionName: rinkj_escp_init
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_epson2200_init
    - strcmp
    - rinkj_epsonc80_init
    - rinkj_epson870_init
    - fprintf
    - rinkj_escp_ytop
    - calloc
    - rinkj_epson7600_init
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_init (RinkjDevice *self, const RinkjDeviceParams *params)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 594
    functionName: rinkj_escp_shuffle_dblx
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_shuffle_dblx (char *dst, const char *src, int pass,
      int n_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 638
    functionName: rinkj_escp_shuffle_4pass_1bit
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_shuffle_4pass_1bit (char *dst, const char *src, int
      pass, int n_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 672
    functionName: rinkj_escp_shuffle_2pass_2bit
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_shuffle_2pass_2bit (char *dst, const char *src, int
      pass, int n_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: rinkj_escp_shuffle_4pass_2bit
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_shuffle_4pass_2bit (char *dst, const char *src, int
      pass, int n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - src
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 729
    functionName: rinkj_escp_1pass_dblx
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_1pass_dblx (char *dst, const char *src, int n_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - dst
    - src
    - x_pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 738
    functionName: rinkj_escp_select_dblx
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_select_dblx (char *dst, const char *src, int x_pass,
      int n_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    argTypes:
    - char*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 760
    functionName: rinkj_escp_sel_shuffle_dblx
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_sel_shuffle_dblx (char *dst, const char *src, int pass,
      int n_bytes)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:769,1
    - Dst: rinkj_escp_shuffle_2pass_2bit
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:771,1
    - Dst: rinkj_escp_shuffle_4pass_2bit
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:773,1
    - Dst: rinkj_escp_1pass_dblx
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:778,1
    - Dst: rinkj_escp_select_dblx
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:780,1
    - Dst: rinkj_escp_sel_shuffle_dblx
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:782,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:787,1
    - Dst: rinkj_escp_shuffle_dblx
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:789,1
    - Dst: rinkj_escp_shuffle_4pass_1bit
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:791,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 7
    argNames:
    - dst
    - src
    - pass
    - n_bytes
    - passes_per_scan
    - bps
    - head_bps
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 762
    functionDepth: 1
    functionLinenumber: 762
    functionLinenumberEnd: 793
    functionName: rinkj_escp_shuffle
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_escp_shuffle_2pass_2bit
    - rinkj_escp_1pass_dblx
    - rinkj_escp_shuffle_4pass_2bit
    - rinkj_escp_select_dblx
    - rinkj_escp_shuffle_4pass_1bit
    - rinkj_escp_shuffle_dblx
    - memcpy
    - rinkj_escp_sel_shuffle_dblx
    linkageType: ''
    returnType: void
    signature: "void rinkj_escp_shuffle (char *dst, const char *src, int pass, int
      n_bytes,\n                    int passes_per_scan, int bps, int head_bps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:835,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 22
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 841
    functionName: rinkj_escp_compress_rle
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_compress_rle (char *dst, const char *src, int n)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_escp_ytop
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:860,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:864,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:873,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:875,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:878,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:883,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:891,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:893,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:912,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:920,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:922,1
    - Dst: rinkj_byte_stream_printf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:927,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:936,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:938,1
    - Dst: rinkj_escp_shuffle
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:948,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:951,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:956,1
    - Dst: rinkj_escp_compress_rle
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:964,1
    - Dst: rinkj_byte_stream_write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:965,1
    - Dst: rinkj_byte_stream_write
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:968,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:972,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:973,1
    - Dst: rinkj_byte_stream_puts
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:977,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:984,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:985,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 1
    argNames:
    - z
    argTypes:
    - RinkjEscp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 987
    functionName: rinkj_escp_flush
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_puts
    - rinkj_byte_stream_write
    - rinkj_escp_shuffle
    - malloc
    - free
    - fprintf
    - memset
    - rinkj_escp_ytop
    - rinkj_byte_stream_printf
    - rinkj_escp_compress_rle
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_flush (RinkjEscp *z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_escp_ytop
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:997,1
    - Dst: rinkj_escp_flush
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1000,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - z
    argTypes:
    - RinkjEscp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 989
    functionDepth: 6
    functionLinenumber: 989
    functionLinenumberEnd: 1005
    functionName: rinkj_escp_flush_bottom
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_escp_flush
    - rinkj_escp_ytop
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_flush_bottom (RinkjEscp *z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1011,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1013,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1014,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1015,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1016,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - z
    argTypes:
    - RinkjEscp*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: rinkj_escp_free
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void rinkj_escp_free (RinkjEscp *z)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rinkj_escp_flush_bottom
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1032,1
    - Dst: rinkj_byte_stream_puts
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1034,1
    - Dst: rinkj_byte_stream_close
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1036,1
    - Dst: rinkj_escp_free
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1037,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1045,1
    - Dst: rinkj_escp_ytop
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1051,1
    - Dst: rinkj_escp_flush
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - self
    - data
    argTypes:
    - RinkjDevice*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1019
    functionDepth: 7
    functionLinenumber: 1019
    functionLinenumberEnd: 1057
    functionName: rinkj_escp_write
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 0
    functionsReached:
    - rinkj_byte_stream_puts
    - rinkj_escp_free
    - rinkj_byte_stream_close
    - memcpy
    - rinkj_escp_flush
    - rinkj_escp_ytop
    - rinkj_escp_flush_bottom
    linkageType: ''
    returnType: int
    signature: int rinkj_escp_write (RinkjDevice *self, const char **data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - out
    argTypes:
    - RinkjByteStream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1059
    functionDepth: 5
    functionLinenumber: 1059
    functionLinenumberEnd: 1085
    functionName: rinkj_epson870_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/rinkj-epson870.c
    functionUses: 1
    functionsReached:
    - malloc
    linkageType: ''
    returnType: RinkjDevice
    signature: 'RinkjDevice *

      rinkj_epson870_new (RinkjByteStream *out)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 5
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: eb_malloc_aligned
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      eb_malloc_aligned(int size, int align)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: eb_free_aligned
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void eb_free_aligned(void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - EvenBetterParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: eb_compute_rbscale
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double eb_compute_rbscale(const EvenBetterParams *params)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 34
    argCount: 4
    argNames:
    - nl
    - rs_base
    - do_shadows
    - levels
    argTypes:
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 228
    functionName: eb_compute_randshift
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int eb_compute_randshift(int nl, int rs_base, int do_shadows, int levels)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eb_compute_rbscale
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:240,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:243,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:272,1
    - Dst: eb_compute_randshift
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:288,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:297,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:298,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:299,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:300,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 3
    argNames:
    - params
    - start_plane
    - end_plane
    argTypes:
    - EvenBetterParams*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 231
    functionDepth: 6
    functionLinenumber: 231
    functionLinenumberEnd: 312
    functionName: eb_ctx_sse2_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - malloc
    - eb_compute_rbscale
    - eb_compute_randshift
    - eb_malloc_aligned
    linkageType: ''
    returnType: eb_ctx_sse2
    signature: 'eb_ctx_sse2 *

      eb_ctx_sse2_new(const EvenBetterParams *params, int start_plane, int end_plane)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:320,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:321,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:322,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:323,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:324,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:325,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - eb_ctx_sse2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: eb_ctx_sse2_free
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - free
    - eb_free_aligned
    linkageType: ''
    returnType: void
    signature: void eb_ctx_sse2_free(eb_ctx_sse2 *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eb_compute_rbscale
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:342,1
    - Dst: vec_splat_u32
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:343,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:348,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:373,1
    - Dst: vec_rsqrte
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:379,1
    - Dst: vec_madd
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:380,1
    - Dst: vec_madd
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:381,1
    - Dst: vec_madd
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:382,1
    - Dst: vec_nmsub
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:383,1
    - Dst: vec_nmsub
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:384,1
    - Dst: vec_all_eq
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:385,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:413,1
    - Dst: eb_compute_randshift
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:428,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:437,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:438,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:439,1
    - Dst: eb_malloc_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:440,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:449,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 77
    argCount: 3
    argNames:
    - params
    - start_plane
    - end_plane
    argTypes:
    - EvenBetterParams*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 331
    functionDepth: 6
    functionLinenumber: 331
    functionLinenumberEnd: 452
    functionName: eb_ctx_avec_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - sqrt
    - vec_all_eq
    - eb_compute_rbscale
    - vec_nmsub
    - vec_splat_u32
    - eb_compute_randshift
    - vec_madd
    - malloc
    - eb_malloc_aligned
    - vec_rsqrte
    linkageType: ''
    returnType: eb_ctx_avec
    signature: 'eb_ctx_avec *

      eb_ctx_avec_new(const EvenBetterParams *params, int start_plane, int end_plane)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:460,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:461,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:462,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:463,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:464,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:465,1
    - Dst: eb_free_aligned
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - eb_ctx_avec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 467
    functionName: eb_ctx_avec_free
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - free
    - eb_free_aligned
    linkageType: ''
    returnType: void
    signature: void eb_ctx_avec_free(eb_ctx_avec *ctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: eb_sse2_set_daz
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:484,1
    - Dst: eb_avec_core
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:595,1
    - Dst: eb_sse2_core
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:598,1
    - Dst: eb_avec_rev_rs
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:608,1
    - Dst: eb_sse2_rev_rs
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:611,1
    - Dst: eb_sse2_restore_daz
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_Rll**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 620
    functionName: even_better_line_vector
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - eb_sse2_set_daz
    - eb_sse2_core
    - eb_avec_core
    - eb_sse2_rev_rs
    - eb_avec_rev_rs
    - eb_sse2_restore_daz
    linkageType: ''
    returnType: int
    signature: "int even_better_line_vector(EvenBetterCtx *ebc, uchar **dest,\n                      const
      ET_Rll *const *src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: eb_avec_prep_srcbuf
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:659,1
    - Dst: eb_avec_core
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:665,1
    - Dst: eb_avec_rev_rs
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:687,1
    - Dst: eb_sse2_rev_rs
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 696
    functionName: even_better_line_fastprep
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - eb_avec_rev_rs
    - eb_avec_core
    - eb_sse2_rev_rs
    - eb_avec_prep_srcbuf
    linkageType: ''
    returnType: int
    signature: "int even_better_line_fastprep(EvenBetterCtx *ebc, uchar **dest,\n
      \                         const ET_SrcPixel *const *src)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:742,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:743,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:744,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 169
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_Rll**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 1020
    functionName: even_better_line_hi
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void even_better_line_hi (EvenBetterCtx *ebc, uchar **dest,\n                     const
      ET_Rll *const *src)"
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 185
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_Rll**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1337
    functionName: even_better_line_both
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void even_better_line_both (EvenBetterCtx *ebc, uchar **dest,\n                       const
      ET_Rll *const *src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1359,1
    - Dst: even_better_line_vector
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1364,1
    - Dst: even_better_line_both
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1368,1
    - Dst: even_better_line_hi
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1370,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1376,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_Rll**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1379
    functionName: even_better_line_rll
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - even_better_line_hi
    - even_better_line_vector
    - fwrite
    - even_better_line_both
    linkageType: ''
    returnType: void
    signature: "void even_better_line_rll (EvenBetterCtx *ebc, uchar **dest,\n                      const
      ET_Rll *const *src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 4
    argNames:
    - dst
    - src
    - src_width
    - dst_width
    argTypes:
    - ET_Rll*
    - ET_SrcPixel*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1449
    functionName: even_better_compress_rll
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int even_better_compress_rll (ET_Rll *dst, const ET_SrcPixel *src,\n
      \                         int src_width, int dst_width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: even_better_line_fastprep
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1471,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1478,1
    - Dst: even_better_compress_rll
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1479,1
    - Dst: even_better_line_rll
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1481,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1483,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - ebc
    - dest
    - src
    argTypes:
    - EvenBetterCtx*
    - uchar**
    - ET_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1459
    functionDepth: 5
    functionLinenumber: 1459
    functionLinenumberEnd: 1485
    functionName: even_better_line
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 1
    functionsReached:
    - even_better_line_fastprep
    - even_better_compress_rll
    - malloc
    - free
    - even_better_line_rll
    linkageType: ''
    returnType: void
    signature: "void even_better_line (EvenBetterCtx *ebc, uchar **dest,\n                      const
      ET_SrcPixel *const *src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1496,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1497,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1498,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1499,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1500,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1501,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1502,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1503,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1504,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EBPlaneCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1506
    functionName: even_better_plane_free
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void even_better_plane_free (EBPlaneCtx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1508
    functionDepth: 0
    functionLinenumber: 1508
    functionLinenumberEnd: 1517
    functionName: even_log2
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int even_log2 (int x)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: eb_compute_rbscale
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1548,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1555,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1560,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1578,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1579,1
    - Dst: even_log2
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1581,1
    - Dst: eb_compute_randshift
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1599,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1625,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1626,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1627,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1628,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1629,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1630,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1633,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1634,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1635,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1647,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 66
    argCount: 3
    argNames:
    - params
    - ebc
    - plane_idx
    argTypes:
    - EvenBetterParams*
    - EvenBetterCtx*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1536
    functionDepth: 5
    functionLinenumber: 1536
    functionLinenumberEnd: 1656
    functionName: even_better_plane_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 0
    functionsReached:
    - eb_compute_rbscale
    - eb_compute_randshift
    - rand
    - malloc
    - even_log2
    - calloc
    linkageType: ''
    returnType: EBPlaneCtx
    signature: "EBPlaneCtx *\neven_better_plane_new (const EvenBetterParams *params,
      EvenBetterCtx *ebc,\n                       int plane_idx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1661,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1676,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1681,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1687,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1702,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1703,1
    - Dst: even_log2
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1706,1
    - Dst: even_log2
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1707,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1711,1
    - Dst: eb_test_sse2
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1720,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1737,1
    - Dst: eb_ctx_sse2_new
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1742,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1746,1
    - Dst: eb_ctx_avec_new
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1751,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1758,1
    - Dst: even_better_plane_new
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1760,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - params
    argTypes:
    - EvenBetterParams*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1658
    functionDepth: 7
    functionLinenumber: 1658
    functionLinenumberEnd: 1763
    functionName: even_better_new
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 1
    functionsReached:
    - eb_test_sse2
    - eb_ctx_sse2_new
    - even_better_plane_new
    - malloc
    - memcpy
    - even_log2
    - fwrite
    - calloc
    - eb_ctx_avec_new
    linkageType: ''
    returnType: EvenBetterCtx
    signature: 'EvenBetterCtx *

      even_better_new (const EvenBetterParams *params)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1778,1
    - Dst: eb_ctx_sse2_free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1785,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1786,1
    - Dst: eb_ctx_avec_free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1790,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1791,1
    - Dst: even_better_plane_free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1798,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1799,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1801,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1802,1
    - Dst: free
      Src: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c:1804,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EvenBetterCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1805
    functionName: even_better_free
    functionSourceFile: /src/libspectre/ghostscript/devices/rinkj/evenbetter-rll.c
    functionUses: 1
    functionsReached:
    - eb_ctx_avec_free
    - even_better_plane_free
    - free
    - eb_ctx_sse2_free
    - fclose
    linkageType: ''
    returnType: void
    signature: void even_better_free (EvenBetterCtx *ctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:37,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:40,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:43,1
    - Dst: cos_array_from_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:51,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:54,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:55,1
    - Dst: pdf_write_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:63,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:66,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:67,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:67,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 2
    argNames:
    - pdev
    - pparams
    argTypes:
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 73
    functionName: pdf_make_soft_mask_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - cos_become
    - cos_dict_put_c_key_object
    - strlen
    - pdf_alloc_resource
    - gs_sprintf
    - cos_dict_put_c_key_string
    - pdf_write_function
    - return_error
    - cos_array_from_floats
    linkageType: ''
    returnType: int
    signature: int pdf_make_soft_mask_dict(gx_device_pdf * pdev, const gs_pdf14trans_params_t
      * pparams)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:84,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:87,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:89,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:92,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:96,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:101,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:111,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:113,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:117,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:122,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - pdev
    - pparams
    - pgs
    - pdict
    argTypes:
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    - gs_gstate*
    - cos_dict_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 128
    functionName: pdf_make_group_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - cos_become
    - pdf_color_space_named
    - pdf_substitute_resource
    - cos_dict_put_c_key
    - cos_dict_put_c_key_bool
    - pdf_alloc_resource
    - gs_currentcolorspace_inline
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdf_make_group_dict(gx_device_pdf * pdev, const gs_pdf14trans_params_t
      * pparams,\n                            const gs_gstate * pgs, cos_dict_t **pdict)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:140,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:140,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:147,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:150,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:153,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:156,1
    - Dst: cos_array_from_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:161,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:162,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:165,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 5
    argNames:
    - pdev
    - pparams
    - pgs
    - group_dict
    - form_dict
    argTypes:
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    - gs_gstate*
    - cos_dict_t*
    - cos_dict_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 166
    functionName: pdf_make_form_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - cos_array_from_floats
    - cos_dict_put_c_key_int
    - cos_dict_put_c_key_object
    - ctm_only
    - return_error
    - cos_dict_put_c_key_string
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: "int pdf_make_form_dict(gx_device_pdf * pdev, const gs_pdf14trans_params_t
      * pparams,\n                            const gs_gstate * pgs,\n                            const
      cos_dict_t *group_dict, cos_dict_t *form_dict)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:176,1
    - Dst: pdf_make_group_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:177,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:180,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:183,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:186,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:187,1
    - Dst: pdf_prepare_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:203,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:206,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:209,1
    - Dst: pdf_make_form_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:215,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:220,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:221,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:223,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:224,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:224,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 4
    argNames:
    - pgs
    - pdev
    - pparams
    - page_group
    argTypes:
    - gs_gstate*
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 229
    functionName: pdf_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_drawing
    - cos_dict_alloc
    - pdf_put_clip_path
    - cos_stream_dict
    - pdf_open_page
    - pdf_end_gstate
    - pdf_enter_substream
    - cos_dict_put_c_key_object
    - COS_OBJECT
    - pdf_make_form_dict
    - pdf_make_group_dict
    - return_error
    - pdf_check_soft_mask
    - pdf_must_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_transparency_group(gs_gstate * pgs, gx_device_pdf *
      pdev,\n                                const gs_pdf14trans_params_t * pparams,
      bool page_group)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_in_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:236,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:247,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:256,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:259,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:264,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:265,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:265,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:266,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pgs
    - pdev
    argTypes:
    - gs_gstate*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 270
    functionName: pdf_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - pdf_add_resource
    - pdf_substitute_resource
    - strlen
    - sputs
    - return_error
    - is_in_page
    - sputc
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: int pdf_end_transparency_group(gs_gstate * pgs, gx_device_pdf * pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:285,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:295,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:300,1
    - Dst: pdf_make_soft_mask_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:337,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:340,1
    - Dst: pdf_begin_transparency_group
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:343,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - pgs
    - pdev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 345
    functionName: pdf_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_drawing
    - pdf_open_page
    - pdf_end_gstate
    - pdf_begin_transparency_group
    - pdf_make_soft_mask_dict
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_transparency_mask(gs_gstate * pgs, gx_device_pdf * pdev,\n
      \                               const gs_pdf14trans_params_t * pparams)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:358,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:361,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:366,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:366,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:371,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:373,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:374,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:377,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - pgs
    - pdev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 392
    functionName: pdf_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - pdf_substitute_resource
    - strlen
    - pdf_resource_id
    - gs_sprintf
    - return_error
    - cos_dict_put_c_key_string
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int pdf_end_transparency_mask(gs_gstate * pgs, gx_device_pdf * pdev,\n
      \                               const gs_pdf14trans_params_t * pparams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pgs
    - dev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device_pdf*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: pdf_set_blend_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdf_set_blend_params(gs_gstate * pgs, gx_device_pdf * dev,\n                                const
      gs_pdf14trans_params_t * pparams)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_transparency_group
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:423,1
    - Dst: pdf_begin_transparency_group
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:425,1
    - Dst: pdf_end_transparency_group
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:427,1
    - Dst: pdf_begin_transparency_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:433,1
    - Dst: pdf_end_transparency_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:435,1
    - Dst: pdf_set_blend_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:437,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:448,1
    - Dst: psdf_create_compositor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdft.c:452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 401
    functionDepth: 4
    functionLinenumber: 401
    functionLinenumberEnd: 453
    functionName: gdev_pdf_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached:
    - pdf_end_transparency_group
    - pdf_end_transparency_mask
    - pdf_set_blend_params
    - psdf_create_compositor
    - pdf_begin_transparency_mask
    - return_error
    - pdf_begin_transparency_group
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_create_compositor(gx_device *dev,\n    gx_device **pcdev,
      const gs_composite_t *pct,\n    gs_gstate *pgs, gs_memory_t *memory, gx_device
      *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gs_transparency_group_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: gdev_pdf_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_begin_transparency_group(gx_device *dev,\n    const gs_transparency_group_params_t
      *ptgp,\n    const gs_rect *pbbox,\n    gs_gstate *pgs, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: gdev_pdf_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_end_transparency_group(gx_device *dev,\n    gs_gstate
      *pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - ptmp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gx_transparency_mask_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 481
    functionName: gdev_pdf_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_begin_transparency_mask(gx_device *dev,\n    const gx_transparency_mask_params_t
      *ptmp,\n    const gs_rect *pbbox,\n    gs_gstate *pgs, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 488
    functionName: gdev_pdf_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_end_transparency_mask(gx_device *dev,\n    gs_gstate
      *pgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 216
    functionName: pdf_find_standard_font_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int pdf_find_standard_font_name(const byte *str, uint size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:228,1
    - Dst: pdf_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:229,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:247,1
    - Dst: uid_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:253,1
    - Dst: gs_copied_can_copy_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - pdev
    - bfont
    - mask
    - pairs
    - num_glyphs
    argTypes:
    - gx_device_pdf*
    - gs_font_base*
    - int
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 224
    functionDepth: 5
    functionLinenumber: 224
    functionLinenumberEnd: 270
    functionName: find_std_appearance
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - uid_is_UniqueID
    - uid_equal
    - gs_copied_can_copy_glyphs
    - pdf_standard_fonts
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int find_std_appearance(const gx_device_pdf *pdev, gs_font_base *bfont,\n
      \                   int mask, pdf_char_glyph_pair_t *pairs, int num_glyphs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:289,1
    - Dst: pdf_find_standard_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:291,1
    - Dst: pdf_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:294,1
    - Dst: pdf_font_std_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - dir
    argTypes:
    - gx_device_pdf*
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 306
    functionName: scan_for_standard_fonts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_font_std_alloc
    - pdf_standard_fonts
    - uid_is_UniqueID
    - pdf_find_standard_font_name
    linkageType: ''
    returnType: bool
    signature: bool scan_for_standard_fonts(gx_device_pdf *pdev, const gs_font_dir
      *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:317,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:320,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:327,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: pdf_outline_fonts_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - memset
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf_outline_fonts_t
    signature: 'pdf_outline_fonts_t *

      pdf_outline_fonts_alloc(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: pdf_standard_fonts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pdf_standard_font_t
    signature: 'pdf_standard_font_t *

      pdf_standard_fonts(const gx_device_pdf *pdev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:348,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: pdf_clean_standard_fonts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_standard_fonts
    - memset
    linkageType: ''
    returnType: void
    signature: void pdf_clean_standard_fonts(const gx_device_pdf *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:360,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:363,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:364,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:365,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - mem
    - p
    - elem_size
    - old_size
    - new_size
    argTypes:
    - gs_memory_t*
    - void**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 369
    functionName: pdf_resize_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - memset
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_resize_array(gs_memory_t *mem, void **p, int elem_size, int
      old_size, int new_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:391,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:396,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:398,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:402,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:403,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:405,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:408,1
    - Dst: gs_c_name_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:419,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:423,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:424,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 7
    argNames:
    - pdev
    - ppfres
    - rtype
    - rid
    - ftype
    - chars_count
    - write_contents
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - pdf_resource_type_t
    - gs_id
    - font_type
    - int
    - pdf_font_write_contents_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 426
    functionName: font_resource_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - pdf_alloc_resource
    - memset
    - gs_c_name_glyph
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int font_resource_alloc(gx_device_pdf *pdev, pdf_font_resource_t **ppfres,\n
      \                   pdf_resource_type_t rtype, gs_id rid, font_type ftype,\n
      \                   int chars_count,\n                    pdf_font_write_contents_proc_t
      write_contents)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:433,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:438,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:442,1
    - Dst: gs_cmap_ToUnicode_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:450,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:463,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:467,1
    - Dst: pdf_free_charproc_ownership
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:471,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:478,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:482,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:488,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:492,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:498,1
    - Dst: gs_free_copied_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:515,1
    - Dst: gs_free_copied_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:517,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:522,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:527,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 91
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 428
    functionDepth: 4
    functionLinenumber: 428
    functionLinenumberEnd: 533
    functionName: font_resource_free
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_free_copied_font
    - gs_free_string
    - pdf_free_charproc_ownership
    - gs_cmap_ToUnicode_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int font_resource_free(gx_device_pdf *pdev, pdf_font_resource_t *pdfont)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:538,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:541,1
    - Dst: pdf_mark_font_descriptor_used
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:542,1
    - Dst: pdf_font_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:548,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:549,1
    - Dst: pdf_mark_font_descriptor_used
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:550,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 557
    functionName: pdf_assign_font_object_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_reserve_object_id
    - pdf_font_id
    - pdf_resource_id
    - pdf_mark_font_descriptor_used
    linkageType: ''
    returnType: int
    signature: int pdf_assign_font_object_id(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: font_resource_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - pdev
    - ppfres
    - rid
    - ftype
    - chars_count
    - write_contents
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - gs_id
    - font_type
    - int
    - pdf_font_write_contents_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 578
    functionName: font_resource_simple_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - font_resource_alloc
    linkageType: ''
    returnType: int
    signature: "int font_resource_simple_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                           gs_id rid, font_type ftype, int chars_count,\n
      \                          pdf_font_write_contents_proc_t write_contents)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:585,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:588,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:594,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:596,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:598,1
    - Dst: font_resource_simple_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:600,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:603,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:605,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:607,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:609,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - pdev
    - ppfres
    - rid
    - ftype
    - write_contents
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - gs_id
    - font_type
    - pdf_font_write_contents_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 579
    functionDepth: 3
    functionLinenumber: 579
    functionLinenumberEnd: 617
    functionName: font_resource_encoded_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_byte_array
    - font_resource_simple_alloc
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int font_resource_encoded_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                            gs_id rid, font_type ftype,\n                            pdf_font_write_contents_proc_t
      write_contents)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pdfont
    - pfont
    argTypes:
    - pdf_font_resource_t*
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 633
    functionName: set_is_MM_instance
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_is_MM_instance(pdf_font_resource_t *pdfont, const gs_font_base
      *pfont)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:652,1
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:657,1
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:663,1
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:669,1
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:677,1
    - Dst: pdf_resize_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:686,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - pdev
    - pfres
    - chars_count
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 695
    functionName: pdf_resize_resource_arrays
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_resize_array
    linkageType: ''
    returnType: int
    signature: int pdf_resize_resource_arrays(gx_device_pdf *pdev, pdf_font_resource_t
      *pfres, int chars_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdfont
    argTypes:
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: pdf_font_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 1
    functionsReached:
    - pdf_resource_id
    linkageType: ''
    returnType: long
    signature: long pdf_font_id(const pdf_font_resource_t *pdfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:712,1
    - Dst: pdf_font_descriptor_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:715,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pdfont
    - complete
    argTypes:
    - pdf_font_resource_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 716
    functionName: pdf_font_resource_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_font
    - pdf_font_descriptor_font
    linkageType: ''
    returnType: gs_font_base
    signature: 'gs_font_base *

      pdf_font_resource_font(const pdf_font_resource_t *pdfont, bool complete)'
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 723
    functionDepth: 0
    functionLinenumber: 723
    functionLinenumberEnd: 737
    functionName: font_is_symbolic
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool font_is_symbolic(const gs_font *font)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - psa
    - chars
    - size
    argTypes:
    - gs_param_string_array*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 748
    functionName: embed_list_includes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - bytes_compare
    linkageType: ''
    returnType: bool
    signature: "bool embed_list_includes(const gs_param_string_array *psa, const byte
      *chars,\n                    uint size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: find_std_appearance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:756,1
    - Dst: scan_for_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:759,1
    - Dst: find_std_appearance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:761,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - pdev
    - font
    - index
    - pairs
    - num_glyphs
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - int
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 749
    functionDepth: 6
    functionLinenumber: 749
    functionLinenumberEnd: 763
    functionName: embed_as_standard
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - find_std_appearance
    - scan_for_standard_fonts
    linkageType: ''
    returnType: bool
    signature: "bool embed_as_standard(gx_device_pdf *pdev, gs_font *font, int index,\n
      \                 pdf_char_glyph_pair_t *pairs, int num_glyphs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:771,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:773,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:774,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:775,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:780,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:783,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - pfont
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 785
    functionName: has_extension_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::glyph_name
    - strlen
    - psf_enumerate_glyphs_next
    - psf_enumerate_glyphs_reset
    - memcmp
    - psf_enumerate_glyphs_begin
    linkageType: ''
    returnType: bool
    signature: bool has_extension_glyphs(gs_font *pfont)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_standard_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:794,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:800,1
    - Dst: gs_font*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:801,1
    - Dst: IsInWhiteList
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:804,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:818,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:819,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:821,1
    - Dst: embed_as_standard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:841,1
    - Dst: has_extension_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:842,1
    - Dst: embed_list_includes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:848,1
    - Dst: embed_as_standard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:852,1
    - Dst: font_is_symbolic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:855,1
    - Dst: embed_list_includes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:856,1
    - Dst: embed_as_standard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:861,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 5
    argNames:
    - pdev
    - font
    - pindex
    - pairs
    - num_glyphs
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - int*
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 787
    functionDepth: 7
    functionLinenumber: 787
    functionLinenumberEnd: 864
    functionName: pdf_font_embed_status
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - font_is_symbolic
    - pdf_find_standard_font_name
    - gs_font*::procs::font_info
    - embed_as_standard
    - emprintf1
    - embed_list_includes
    - memset
    - memcpy
    - has_extension_glyphs
    - min
    - IsInWhiteList
    linkageType: ''
    returnType: pdf_font_embed_t
    signature: "pdf_font_embed_t pdf_font_embed_status(gx_device_pdf *pdev, gs_font
      *font, int *pindex,\n                      pdf_char_glyph_pair_t *pairs, int
      num_glyphs)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pdf_compute_BaseFont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:882,1
    - Dst: pdf_font_descriptor_base_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:891,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:893,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:896,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:897,1
    - Dst: pdf_font_descriptor_embedding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:907,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:925,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:934,1
    - Dst: pdf_font_descriptor_is_subset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:939,1
    - Dst: pdf_has_subset_prefix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:940,1
    - Dst: pdf_font_descriptor_embedding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:941,1
    - Dst: pdf_add_subset_prefix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:946,1
    - Dst: pdf_fontfile_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:946,1
    - Dst: pdf_add_subset_prefix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:948,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:954,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:954,1
    - Dst: pdf_font_descriptor_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:957,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 56
    argCount: 3
    argNames:
    - pdev
    - pdfont
    - finish
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 959
    functionName: pdf_compute_BaseFont
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 1
    functionsReached:
    - pdf_fontfile_hash
    - pdf_has_subset_prefix
    - pdf_font_descriptor_embedding
    - gs_resize_string
    - return_error
    - gs_free_string
    - pdf_font_descriptor_base_name
    - pdf_add_subset_prefix
    - pdf_compute_BaseFont
    - memcpy
    - uid_set_invalid
    - gs_alloc_string
    - pdf_font_descriptor_is_subset
    - pdf_font_resource_font
    - pdf_font_descriptor_name
    linkageType: ''
    returnType: int
    signature: int pdf_compute_BaseFont(gx_device_pdf *pdev, pdf_font_resource_t *pdfont,
      bool finish)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: font_resource_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:969,1
    - Dst: pdf_compute_BaseFont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pdev
    - ppfres
    - rid
    - DescendantFont
    - CMapName
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - gs_id
    - pdf_font_resource_t*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 979
    functionName: pdf_font_type0_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_compute_BaseFont
    - font_resource_alloc
    linkageType: ''
    returnType: int
    signature: "int pdf_font_type0_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                     gs_id rid, pdf_font_resource_t *DescendantFont,\n
      \                    const gs_const_string *CMapName)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: font_resource_simple_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - ppfres
    - write_contents
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - pdf_font_write_contents_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 984
    functionDepth: 3
    functionLinenumber: 984
    functionLinenumberEnd: 990
    functionName: pdf_font_type3_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - font_resource_simple_alloc
    linkageType: ''
    returnType: int
    signature: "int pdf_font_type3_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                     pdf_font_write_contents_proc_t write_contents)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: font_resource_encoded_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1000,1
    - Dst: pdf_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1003,1
    - Dst: pdf_base_font_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1007,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1011,1
    - Dst: set_is_MM_instance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - pdev
    - ppfres
    - is_original
    - rid
    - pfont
    - index
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - bool
    - gs_id
    - gs_font_base*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 995
    functionDepth: 4
    functionLinenumber: 995
    functionLinenumberEnd: 1020
    functionName: pdf_font_std_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_alloc
    - strlen
    - pdf_standard_fonts
    - font_resource_encoded_alloc
    - set_is_MM_instance
    linkageType: ''
    returnType: int
    signature: "int pdf_font_std_alloc(gx_device_pdf *pdev, pdf_font_resource_t **ppfres,\n
      \                  bool is_original, gs_id rid, gs_font_base *pfont, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: font_resource_encoded_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1032,1
    - Dst: pdf_font_descriptor_FontType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1033,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1037,1
    - Dst: set_is_MM_instance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1039,1
    - Dst: pdf_font_descriptor_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1039,1
    - Dst: pdf_compute_BaseFont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1041,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - ppfres
    - rid
    - pfd
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - gs_id
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1042
    functionName: pdf_font_simple_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_font_descriptor_font
    - pdf_compute_BaseFont
    - font_resource_encoded_alloc
    - set_is_MM_instance
    - gs_note_error
    - pdf_font_descriptor_FontType
    linkageType: ''
    returnType: int
    signature: "int pdf_font_simple_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                      gs_id rid, pdf_font_descriptor_t *pfd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_descriptor_FontType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1051,1
    - Dst: pdf_font_descriptor_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1052,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1069,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1072,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1073,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1077,1
    - Dst: font_resource_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1079,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1095,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1098,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1099,1
    - Dst: pdf_write_cid_systemInfo_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1104,1
    - Dst: pdf_compute_BaseFont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 4
    argNames:
    - pdev
    - ppfres
    - rid
    - pfd
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - gs_id
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1047
    functionDepth: 3
    functionLinenumber: 1047
    functionLinenumberEnd: 1109
    functionName: pdf_font_cidfont_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_write_cid_systemInfo_separate
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - pdf_font_descriptor_font
    - memset
    - pdf_compute_BaseFont
    - return_error
    - font_resource_alloc
    - pdf_font_descriptor_FontType
    linkageType: ''
    returnType: int
    signature: "int pdf_font_cidfont_alloc(gx_device_pdf *pdev, pdf_font_resource_t
      **ppfres,\n                       gs_id rid, pdf_font_descriptor_t *pfd)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1123,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1126,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1129,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1133,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1138,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1139,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1141,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1144,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - pdev
    - pdfont
    - wmode
    - w
    - w0
    - v
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - int
    - double**
    - double**
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1155
    functionName: pdf_obtain_cidfont_widths_arrays
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_cidfont_widths_arrays(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont,\n                                 int wmode, double **w, double **w0,
      double **v)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1170,1
    - Dst: pdf_different_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1173,1
    - Dst: pdf_convert_truetype_font_descriptor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1183,1
    - Dst: pdf_font_type0_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1186,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1190,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1190,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1191,1
    - Dst: pdf_write_OneByteIdentityH
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1193,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1197,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1197,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1160
    functionDepth: 4
    functionLinenumber: 1160
    functionLinenumberEnd: 1208
    functionName: pdf_convert_truetype_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_resource_id
    - pdf_reserve_object_id
    - gs_sprintf
    - pdf_different_encoding_index
    - pdf_write_OneByteIdentityH
    - pdf_convert_truetype_font_descriptor
    - pdf_font_type0_alloc
    linkageType: ''
    returnType: int
    signature: int pdf_convert_truetype_font(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_cmap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c:1219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - pcmap
    - ppres
    - font_index_only
    argTypes:
    - gx_device_pdf*
    - gs_cmap_t*
    - pdf_resource_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1215
    functionDepth: 1
    functionLinenumber: 1215
    functionLinenumberEnd: 1220
    functionName: pdf_cmap_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.c
    functionUses: 0
    functionsReached:
    - pdf_write_cmap
    linkageType: ''
    returnType: int
    signature: "int pdf_cmap_alloc(gx_device_pdf *pdev, const gs_cmap_t *pcmap,\n
      \              pdf_resource_t **ppres, int font_index_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ppge
    - ','
    - font
    - ','
    - bits
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: psf_enumerate_cids_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psf_enumerate_cids_begin(ppge, font, bits, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_1248_state*::templat::init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ss
    - Columns
    - samples_per_pixel
    argTypes:
    - stream_1248_state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: s_1248_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached:
    - stream_1248_state*::templat::init
    linkageType: ''
    returnType: int
    signature: int s_1248_init(stream_1248_state *ss, int Columns, int samples_per_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: s_1_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_1_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: s_2_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_2_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 70
    functionName: s_4_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_4_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: s_12_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_12_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: s_16_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_16_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - nout
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: FOREACH_N_8
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_N_8(in, nout)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_N_8
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:130,1
    - Dst: FOREACH_N_8
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:155,1
    - Dst: FOREACH_N_8
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 189
    functionName: s_N_8_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached:
    - FOREACH_N_8
    linkageType: ''
    returnType: int
    signature: "int s_N_8_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 218
    functionName: s_12_8_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_12_8_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: s_16_8_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_16_8_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - out
    - ','
    - nin
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 254
    functionName: FOREACH_8_N
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOREACH_8_N(out, nin)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: FOREACH_8_N
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:267,1
    - Dst: FOREACH_8_N
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:289,1
    - Dst: FOREACH_8_N
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 49
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 317
    functionName: s_8_N_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached:
    - FOREACH_8_N
    linkageType: ''
    returnType: int
    signature: "int s_8_N_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ss
    - pgs
    argTypes:
    - stream_C2R_state*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: s_C2R_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_C2R_init(stream_C2R_state *ss, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 366
    functionName: s_C2R_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_C2R_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:383,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:383,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:383,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:383,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:384,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:385,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:386,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsds.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 392
    functionName: s_C2R_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.c
    functionUses: 0
    functionsReached:
    - frac2byte
    - byte2frac
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: int
    signature: "int s_C2R_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:60,1
    - Dst: gs_text_resync
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:62,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 70
    functionName: pdf_text_resync
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_resync
    - gs_text_enum_copy_dynamic
    linkageType: ''
    returnType: int
    signature: int pdf_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_is_width_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 79
    functionName: pdf_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_text_is_width_only
    linkageType: ''
    returnType: bool
    signature: bool pdf_text_is_width_only(const gs_text_enum_t *pte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:86,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: pdf_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_current_width
    linkageType: ''
    returnType: int
    signature: int pdf_text_current_width(const gs_text_enum_t *pte, gs_point *pwidth)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:101,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:104,1
    - Dst: gs_text_set_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:108,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:118,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:118,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:119,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:137,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:137,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:138,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:149,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:184,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:184,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:189,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:190,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:191,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:192,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:205,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:218,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:218,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:220,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:224,1
    - Dst: pdf_set_charproc_attrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:229,1
    - Dst: pdf_set_charproc_attrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:232,1
    - Dst: gx_get_clip_path_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:241,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:251,1
    - Dst: pdf_cancel_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:254,1
    - Dst: pdf_forget_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:257,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:266,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:266,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:266,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:274,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:275,1
    - Dst: gs_text_set_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:282,1
    - Dst: gs_text_set_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:284,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:286,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 98
    argCount: 3
    argNames:
    - pte
    - pw
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 287
    functionName: pdf_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - pdf_set_charproc_attrs
    - gs_matrix_multiply
    - gs_point_transform
    - pdf_forget_resource
    - ctm_only
    - gs_distance_transform
    - gx_clip_to_rectangle
    - gs_object_type
    - memcpy
    - gs_matrix_scale
    - gx_get_clip_path_id
    - return_error
    - gs_matrix_fixed_from_matrix
    - gs_text_set_cache
    - pdf_cancel_resource
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int pdf_text_set_cache(gs_text_enum_t *pte, const double *pw,\n                   gs_text_cache_control_t
      control)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_retry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:295,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: pdf_text_retry
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_retry
    linkageType: ''
    returnType: int
    signature: int pdf_text_retry(gs_text_enum_t *pte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:304,1
    - Dst: pdf_text_release_cgp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:307,1
    - Dst: gx_default_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: pdf_text_release
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_text_release_cgp
    - gx_default_text_release
    - gs_text_release
    linkageType: ''
    returnType: void
    signature: void pdf_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - penum
    argTypes:
    - pdf_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: pdf_text_release_cgp
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_text_release_cgp(pdf_text_enum_t *penum)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:351,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:354,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:363,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:373,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:374,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:382,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:383,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 43
    argCount: 4
    argNames:
    - pdev
    - pgs
    - text
    - font
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 394
    functionName: pdf_prepare_text_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_swapcolors_quick
    - pdf_set_drawing_color
    - gx_set_dev_color
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_text_color(gx_device_pdf *const pdev, gs_gstate *pgs,
      const gs_text_params_t *text, gs_font *font)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:407,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:410,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:412,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:414,1
    - Dst: pdf_prepare_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:419,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:433,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:445,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:448,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:456,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:459,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:467,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:468,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:471,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:477,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:482,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:487,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:491,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 2
    argNames:
    - pdev
    - pte
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 499
    functionName: pdf_prepare_text_drawing
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_fill
    - pdf_unclip
    - pdf_put_clip_path
    - pdf_open_page
    - gx_set_dev_color
    - gs_swapcolors_quick
    - pdf_check_soft_mask
    - pdf_set_drawing_color
    - pdf_must_put_clip_path
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_text_drawing(gx_device_pdf *const pdev, gs_text_enum_t
      *pte)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:516,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:526,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:526,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:527,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:528,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:530,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:532,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:534,1
    - Dst: pdf_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:538,1
    - Dst: pdf_compare_text_state_for_charpath
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:543,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:564,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:565,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:574,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:577,1
    - Dst: pdf_text_enum_t*::orig_font::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:581,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:594,1
    - Dst: gx_hld_stringwidth_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:606,1
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:610,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:612,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:615,1
    - Dst: pdf_prepare_text_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:620,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:627,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:628,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:637,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:640,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 90
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path0
    - pdcolor
    - pcpath
    - mem
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 661
    functionName: gdev_pdf_text_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - ctm_only
    - pdf_text_enum_t*::orig_font::procs::next_char_glyph
    - gs_distance_transform
    - gx_default_text_begin
    - rc_alloc_struct_1
    - gs_text_release
    - gx_hld_stringwidth_begin
    - pdf_current_page
    - path_position_valid
    - pdf_prepare_text_color
    - fabs
    - gs_text_enum_init
    - return_error
    - pdf_compare_text_state_for_charpath
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_text_begin(gx_device * dev, gs_gstate * pgs,\n                    const
      gs_text_params_t *text, gs_font * font,\n                    gx_path * path0,
      const gx_device_color * pdcolor,\n                    const gx_clip_path * pcpath,\n
      \                   gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 675
    functionName: pdf_font_cache_elem_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong pdf_font_cache_elem_id(gs_font *font)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_cache_elem_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 688
    functionName: pdf_locate_font_cache_elem
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_font_cache_elem_id
    linkageType: ''
    returnType: pdf_font_cache_elem_t
    signature: 'pdf_font_cache_elem_t **

      pdf_locate_font_cache_elem(gx_device_pdf *pdev, gs_font *font)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:698,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:700,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - e0
    argTypes:
    - gx_device_pdf*
    - pdf_font_cache_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 717
    functionName: pdf_remove_font_cache_elem
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_remove_font_cache_elem(gx_device_pdf *pdev, pdf_font_cache_elem_t
      *e0)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - font
    - num_widths
    - num_chars
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 750
    functionName: font_cache_elem_array_sizes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void font_cache_elem_array_sizes(gx_device_pdf *pdev, gs_font *font,\n
      \                           int *num_widths, int *num_chars)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: font_cache_elem_array_sizes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:758,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:760,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:763,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:773,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:775,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:777,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:781,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 3
    argNames:
    - pdev
    - e
    - font
    argTypes:
    - gx_device_pdf*
    - pdf_font_cache_elem_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 785
    functionName: alloc_font_cache_elem_arrays
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - font_cache_elem_array_sizes
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int alloc_font_cache_elem_arrays(gx_device_pdf *pdev, pdf_font_cache_elem_t
      *e,\n                             gs_font *font)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_remove_font_cache_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:799,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 804
    functionName: pdf_free_font_cache
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_remove_font_cache_elem
    linkageType: ''
    returnType: int
    signature: int pdf_free_font_cache(gx_device_pdf *pdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_locate_font_cache_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:815,1
    - Dst: alloc_font_cache_elem_arrays
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:819,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 7
    argNames:
    - pdev
    - font
    - pdfont
    - glyph_usage
    - real_widths
    - num_chars
    - num_widths
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t**
    - byte**
    - double**
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 834
    functionName: pdf_attached_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_locate_font_cache_elem
    - alloc_font_cache_elem_arrays
    linkageType: ''
    returnType: int
    signature: "int pdf_attached_font_resource(gx_device_pdf *pdev, gs_font *font,\n
      \                           pdf_font_resource_t **pdfont, byte **glyph_usage,\n
      \                           double **real_widths, int *num_chars, int *num_widths)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_locate_font_cache_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:844,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:857,1
    - Dst: font_cache_elem_array_sizes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:858,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:866,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:867,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:869,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:873,1
    - Dst: pdf_font_cache_elem_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:875,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pdev
    - font
    - pdfont
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 884
    functionName: pdf_attach_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - font_cache_elem_array_sizes
    - memset
    - pdf_font_cache_elem_id
    - return_error
    - pdf_locate_font_cache_elem
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pdf_attach_font_resource(gx_device_pdf *pdev, gs_font *font,\n
      \                        pdf_font_resource_t *pdfont)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:901,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:964,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:968,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:973,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 2
    argNames:
    - font
    - pmat
    argTypes:
    - gs_font*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 975
    functionName: pdf_font_orig_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_make_scaling
    - any_abs
    - gs_make_identity
    linkageType: ''
    returnType: int
    signature: int pdf_font_orig_matrix(const gs_font *font, gs_matrix *pmat)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:985,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:992,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:995,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:999,1
    - Dst: gs_cid0_indexed_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:999,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - font
    - cid
    - pmat
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 1005
    functionName: glyph_orig_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - cidata::glyph_data
    - gs_cid0_indexed_font
    - gs_matrix_multiply
    - pdf_font_orig_matrix
    linkageType: ''
    returnType: int
    signature: int glyph_orig_matrix(const gs_font *font, gs_glyph cid, gs_matrix
      *pmat)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pdfont
    - pairs
    - num_chars
    argTypes:
    - pdf_font_resource_t*
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1026
    functionName: pdf_check_encoding_compatibility
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pdf_check_encoding_compatibility(const pdf_font_resource_t *pdfont,\n
      \           const pdf_char_glyph_pair_t *pairs, int num_chars)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pdfont
    - pairs
    - num_chars
    argTypes:
    - pdf_font_resource_t*
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1050
    functionName: pdf_check_encoding_has_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pdf_check_encoding_has_glyphs(const pdf_font_resource_t *pdfont,\n
      \           const pdf_char_glyph_pair_t *pairs, int num_chars)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1082,1
    - Dst: pdf_check_encoding_compatibility
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1098,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1102,1
    - Dst: gs_is_CIDSystemInfo_compatible
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1104,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1105,1
    - Dst: gs_font_cid_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 5
    argNames:
    - pdev
    - pdfont
    - font
    - pairs
    - num_chars
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - gs_font*
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1055
    functionDepth: 2
    functionLinenumber: 1055
    functionLinenumberEnd: 1111
    functionName: pdf_is_compatible_encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_font_cid_system_info
    - pdf_check_encoding_compatibility
    - gs_is_CIDSystemInfo_compatible
    - memcmp
    - pdf_font_resource_font
    linkageType: ''
    returnType: bool
    signature: "bool pdf_is_compatible_encoding(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont,\n                           gs_font *font, const pdf_char_glyph_pair_t
      *pairs, int num_chars)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_check_encoding_has_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - pdev
    - pdfont
    - font
    - pairs
    - num_chars
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - gs_font*
    - pdf_char_glyph_pair_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1145
    functionName: pdf_font_has_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_check_encoding_has_glyphs
    linkageType: ''
    returnType: bool
    signature: "bool pdf_font_has_glyphs(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont,\n                           gs_font *font, const pdf_char_glyph_pair_t
      *pairs, int num_chars)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1169,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1170,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1171,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1184,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1188,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1189,1
    - Dst: pdf_is_compatible_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1191,1
    - Dst: pdf_font_has_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1192,1
    - Dst: gs_copied_can_copy_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1196,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 33
    argCount: 6
    argNames:
    - pdev
    - font
    - type
    - ppdfont
    - cgp
    - compatible_encoding
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_resource_type_t
    - pdf_font_resource_t**
    - pdf_char_glyph_pairs_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1150
    functionDepth: 5
    functionLinenumber: 1150
    functionLinenumberEnd: 1208
    functionName: pdf_find_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_is_compatible_encoding
    - uid_XUID_values
    - pdf_is_CID_font
    - uid_is_XUID
    - uid_XUID_size
    - pdf_font_has_glyphs
    - gs_copied_can_copy_glyphs
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int pdf_find_font_resource(gx_device_pdf *pdev, gs_font *font,\n                       pdf_resource_type_t
      type,\n                       pdf_font_resource_t **ppdfont,\n                       pdf_char_glyph_pairs_t
      *cgp,\n                       bool compatible_encoding)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1237,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1249,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 25
    argCount: 5
    argNames:
    - pdev
    - pdsubf
    - CMapName
    - font_index
    - ppdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - gs_const_string*
    - uint
    - pdf_font_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1258
    functionName: pdf_find_type0_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int pdf_find_type0_font_resource(gx_device_pdf *pdev, const pdf_font_resource_t
      *pdsubf,\n            const gs_const_string *CMapName, uint font_index, pdf_font_resource_t
      **ppdfont)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1274,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1278,1
    - Dst: gs_copied_can_copy_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1280,1
    - Dst: pdf_find_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1289,1
    - Dst: pdf_make_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1294,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - pdev
    - subfont
    - ppdsubf
    - cgp
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t**
    - pdf_char_glyph_pairs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1267
    functionDepth: 6
    functionLinenumber: 1267
    functionLinenumberEnd: 1299
    functionName: pdf_obtain_cidfont_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_attach_font_resource
    - gs_copied_can_copy_glyphs
    - pdf_make_font_resource
    - pdf_find_font_resource
    - pdf_attached_font_resource
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_cidfont_resource(gx_device_pdf *pdev, gs_font *subfont,\n
      \                           pdf_font_resource_t **ppdsubf,\n                            pdf_char_glyph_pairs_t
      *cgp)"
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - pdev
    - index
    - is_standard
    argTypes:
    - gx_device_pdf*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1338
    functionName: pdf_refine_encoding_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_refine_encoding_index(const gx_device_pdf *pdev, int index,
      bool is_standard)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1352,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1354,1
    - Dst: font_resource_encoded_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1355,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1358,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1361,1
    - Dst: pdf_refine_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1364,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1389,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1391,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1398,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1399,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1400,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1401,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 3
    argNames:
    - pdev
    - font
    - ppdfont
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1343
    functionDepth: 4
    functionLinenumber: 1343
    functionLinenumberEnd: 1410
    functionName: pdf_make_font3_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - any_abs
    - gs_alloc_bytes
    - memset
    - font_resource_encoded_alloc
    - return_error
    - pdf_refine_encoding_index
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_make_font3_resource(gx_device_pdf *pdev, gs_font *font,\n
      \                      pdf_font_resource_t **ppdfont)"
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1450,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1457,1
    - Dst: pdf_font_embed_status
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1459,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1462,1
    - Dst: pdf_is_compatible_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1467,1
    - Dst: pdf_font_std_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1469,1
    - Dst: pdf_refine_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1475,1
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1483,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1484,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1485,1
    - Dst: pdf_make_font3_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1507,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1513,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1532,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1541,1
    - Dst: pdf_font_descriptor_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1545,1
    - Dst: font_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1548,1
    - Dst: pdf_do_subset_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1553,1
    - Dst: pdf_refine_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1565,1
    - Dst: pdf_refine_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1568,1
    - Dst: pdf_refine_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1600,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1603,1
    - Dst: pdf_font_descriptor_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1616,1
    - Dst: copied_get_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1617,1
    - Dst: pdf_obtain_cidfont_widths_arrays
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1623,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1627,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 109
    argCount: 4
    argNames:
    - pdev
    - font
    - ppdfont
    - cgp
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t**
    - pdf_char_glyph_pairs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1418
    functionDepth: 8
    functionLinenumber: 1418
    functionLinenumberEnd: 1637
    functionName: pdf_make_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 1
    functionsReached:
    - pdf_font_descriptor_alloc
    - gs_font*::procs::encode_char
    - copied_get_notdef
    - pdf_is_compatible_encoding
    - uid_XUID_values
    - pdf_glyph_widths
    - font_alloc
    - pdf_font_descriptor_font
    - pdf_is_CID_font
    - uid_is_XUID
    - uid_XUID_size
    - pdf_font_std_alloc
    - pdf_do_subset_font
    - return_error
    - pdf_make_font3_resource
    - pdf_refine_encoding_index
    - pdf_font_embed_status
    - pdf_obtain_cidfont_widths_arrays
    linkageType: ''
    returnType: int
    signature: "int pdf_make_font_resource(gx_device_pdf *pdev, gs_font *font,\n                       pdf_font_resource_t
      **ppdfont,\n                       pdf_char_glyph_pairs_t *cgp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1642
    functionDepth: 0
    functionLinenumber: 1642
    functionLinenumberEnd: 1654
    functionName: pdf_is_simple_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_is_simple_font(gs_font *font)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1659
    functionDepth: 0
    functionLinenumber: 1659
    functionLinenumberEnd: 1664
    functionName: pdf_is_CID_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_is_CID_font(gs_font *font)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1674,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1682,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 7
    argNames:
    - penum
    - pstr
    - font
    - font_is_simple
    - char_code
    - cid
    - glyph
    argTypes:
    - gs_text_enum_t*
    - gs_string*
    - gs_font*
    - bool
    - gs_char*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1669
    functionDepth: 0
    functionLinenumber: 1669
    functionLinenumberEnd: 1691
    functionName: pdf_next_char_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::encode_char
    - gs_font*::procs::next_char_glyph
    linkageType: ''
    returnType: int
    signature: "int pdf_next_char_glyph(gs_text_enum_t *penum, const gs_string *pstr,\n
      \              /* const */ gs_font *font, bool font_is_simple,\n               gs_char
      *char_code, gs_char *cid, gs_glyph *glyph)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - cgp
    - glyph_usage
    - char_cache_size
    - char_code
    - cid
    - glyph
    argTypes:
    - pdf_char_glyph_pairs_t*
    - byte*
    - int
    - gs_char
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1693
    functionDepth: 0
    functionLinenumber: 1693
    functionLinenumberEnd: 1720
    functionName: store_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void store_glyphs(pdf_char_glyph_pairs_t *cgp,\n             byte
      *glyph_usage, int char_cache_size,\n             gs_char char_code, gs_char
      cid, gs_glyph glyph)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - cgp
    - glyph
    - last_reserved_char
    argTypes:
    - pdf_char_glyph_pairs_t*
    - gs_glyph
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1722
    functionDepth: 0
    functionLinenumber: 1722
    functionLinenumberEnd: 1740
    functionName: pdf_new_char_code_in_pdfont
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char pdf_new_char_code_in_pdfont(pdf_char_glyph_pairs_t *cgp, gs_glyph
      glyph, int *last_reserved_char)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 4
    argNames:
    - pdfont
    - cgp
    - glyph
    - last_reserved_char
    argTypes:
    - pdf_font_resource_t*
    - pdf_char_glyph_pairs_t*
    - gs_glyph
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1795
      start: 1742
    functionDepth: 0
    functionLinenumber: 1742
    functionLinenumberEnd: 1795
    functionName: pdf_reserve_char_code_in_pdfont
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: "gs_char pdf_reserve_char_code_in_pdfont(pdf_font_resource_t *pdfont,
      pdf_char_glyph_pairs_t *cgp, gs_glyph glyph,\n                                int
      *last_reserved_char)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1804,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - penum
    - pstr
    argTypes:
    - gx_device_pdf*
    - pdf_text_enum_t*
    - gs_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1798
    functionDepth: 1
    functionLinenumber: 1798
    functionLinenumberEnd: 1813
    functionName: pdf_alloc_text_glyphs_table
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int pdf_alloc_text_glyphs_table(gx_device_pdf *pdev, pdf_text_enum_t
      *penum, const gs_string *pstr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_is_simple_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1822,1
    - Dst: pdf_next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1839,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1848,1
    - Dst: store_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1851,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 4
    argNames:
    - penum
    - pstr
    - glyph_usage
    - char_cache_size
    argTypes:
    - pdf_text_enum_t*
    - gs_string*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1855
    functionName: pdf_make_text_glyphs_table
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    - store_glyphs
    - pdf_next_char_glyph
    - pdf_is_simple_font
    linkageType: ''
    returnType: int
    signature: "int pdf_make_text_glyphs_table(pdf_text_enum_t *penum, const gs_string
      *pstr,\n                byte *glyph_usage, int char_cache_size)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1872,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1877,1
    - Dst: gs_c_name_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1881,1
    - Dst: store_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1902,1
    - Dst: pdf_find_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1904,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1909,1
    - Dst: pdf_reserve_char_code_in_pdfont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1925,1
    - Dst: pdf_new_char_code_in_pdfont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1935,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1940,1
    - Dst: pdf_reserve_char_code_in_pdfont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1952,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1966,1
    - Dst: gs_c_decode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1990,1
    - Dst: store_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:1997,1
    - Dst: gs_c_decode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2003,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 98
    argCount: 6
    argNames:
    - pdev
    - cgp
    - font
    - pstr
    - gdata
    - ps_encoding_index
    argTypes:
    - gx_device_pdf*
    - pdf_char_glyph_pairs_t*
    - gs_font*
    - gs_string*
    - gs_glyph*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2009
      start: 1858
    functionDepth: 6
    functionLinenumber: 1858
    functionLinenumberEnd: 2009
    functionName: pdf_make_text_glyphs_table_unencoded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_reserve_char_code_in_pdfont
    - pdf_new_char_code_in_pdfont
    - pdf_attach_font_resource
    - gs_font*::procs::glyph_name
    - store_glyphs
    - gs_c_name_glyph
    - return_error
    - pdf_find_font_resource
    - pdf_attached_font_resource
    - gs_c_decode
    linkageType: ''
    returnType: int
    signature: "int pdf_make_text_glyphs_table_unencoded(gx_device_pdf *pdev, pdf_char_glyph_pairs_t
      *cgp,\n                gs_font *font, const gs_string *pstr, const gs_glyph
      *gdata,\n                int *ps_encoding_index)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2020,1
    - Dst: gs_copied_can_copy_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2028,1
    - Dst: pdf_is_compatible_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2038,1
    - Dst: gs_font*::procs::same_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2054,1
    - Dst: gs_font*::procs::same_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2057,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2060,1
    - Dst: pdf_is_compatible_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2067,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2072,1
    - Dst: pdf_find_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2075,1
    - Dst: pdf_make_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2079,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2084,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2089,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 4
    argNames:
    - pdev
    - font
    - ppdfont
    - cgp
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t**
    - pdf_char_glyph_pairs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2012
    functionDepth: 9
    functionLinenumber: 2012
    functionLinenumberEnd: 2094
    functionName: pdf_obtain_font_resource_encoded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_is_compatible_encoding
    - pdf_attach_font_resource
    - gs_font*::procs::same_font
    - pdf_is_CID_font
    - gs_copied_can_copy_glyphs
    - pdf_make_font_resource
    - pdf_find_font_resource
    - pdf_attached_font_resource
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_font_resource_encoded(gx_device_pdf *pdev, gs_font
      *font,\n        pdf_font_resource_t **ppdfont, pdf_char_glyph_pairs_t *cgp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_is_simple_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2103,1
    - Dst: pdf_next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2120,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 4
    argNames:
    - penum
    - pstr
    - glyph_usage
    - char_cache_size
    argTypes:
    - gs_text_enum_t*
    - gs_string*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2097
    functionDepth: 1
    functionLinenumber: 2097
    functionLinenumberEnd: 2134
    functionName: pdf_mark_text_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_next_char_glyph
    - pdf_is_simple_font
    linkageType: ''
    returnType: int
    signature: "int pdf_mark_text_glyphs(const gs_text_enum_t *penum, const gs_string
      *pstr,\n            byte *glyph_usage, int char_cache_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - penum
    - pstr
    - glyph_usage
    - char_cache_size
    argTypes:
    - gs_text_enum_t*
    - gs_string*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2151
    functionName: pdf_mark_text_glyphs_unencoded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_mark_text_glyphs_unencoded(const gs_text_enum_t *penum, const
      gs_string *pstr,\n            byte *glyph_usage, int char_cache_size)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2169,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2171,1
    - Dst: pdf_alloc_text_glyphs_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2177,1
    - Dst: pdf_make_text_glyphs_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2180,1
    - Dst: pdf_obtain_font_resource_encoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2185,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2188,1
    - Dst: pdf_mark_text_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - penum
    - pstr
    - ppdfont
    argTypes:
    - pdf_text_enum_t*
    - gs_string*
    - pdf_font_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2193
      start: 2156
    functionDepth: 10
    functionLinenumber: 2156
    functionLinenumberEnd: 2193
    functionName: pdf_obtain_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_make_text_glyphs_table
    - pdf_alloc_text_glyphs_table
    - pdf_mark_text_glyphs
    - pdf_obtain_font_resource_encoded
    - return_error
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_font_resource(pdf_text_enum_t *penum,\n            const
      gs_string *pstr, pdf_font_resource_t **ppdfont)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2211,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2213,1
    - Dst: pdf_alloc_text_glyphs_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2221,1
    - Dst: pdf_make_text_glyphs_table_unencoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2224,1
    - Dst: pdf_obtain_font_resource_encoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2228,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2231,1
    - Dst: pdf_mark_text_glyphs_unencoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2236,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - penum
    - pstr
    - ppdfont
    - gdata
    argTypes:
    - pdf_text_enum_t*
    - gs_string*
    - pdf_font_resource_t**
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2238
      start: 2198
    functionDepth: 10
    functionLinenumber: 2198
    functionLinenumberEnd: 2238
    functionName: pdf_obtain_font_resource_unencoded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_alloc_text_glyphs_table
    - pdf_mark_text_glyphs_unencoded
    - pdf_make_text_glyphs_table_unencoded
    - pdf_obtain_font_resource_encoded
    - return_error
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_font_resource_unencoded(pdf_text_enum_t *penum,\n            const
      gs_string *pstr, pdf_font_resource_t **ppdfont, const gs_glyph *gdata)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - gs_const_string*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2245
      start: 2240
    functionDepth: 0
    functionLinenumber: 2240
    functionLinenumberEnd: 2245
    functionName: strings_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool strings_equal(const gs_const_string *s1, const gs_const_string
      *s2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strings_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2256,1
    - Dst: pdf_find_type0_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2270,1
    - Dst: pdf_font_type0_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 5
    argNames:
    - pdev
    - pdsubf
    - font_index
    - CMapName
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - uint
    - gs_const_string*
    - pdf_font_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2250
    functionDepth: 4
    functionLinenumber: 2250
    functionLinenumberEnd: 2280
    functionName: pdf_obtain_parent_type0_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_find_type0_font_resource
    - pdf_font_type0_alloc
    - strings_equal
    linkageType: ''
    returnType: int
    signature: "int pdf_obtain_parent_type0_font_resource(gx_device_pdf *pdev, pdf_font_resource_t
      *pdsubf,\n                uint font_index, const gs_const_string *CMapName,
      pdf_font_resource_t **pdfont)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - pdfont
    - glyph
    argTypes:
    - pdf_font_resource_t*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2282
    functionDepth: 0
    functionLinenumber: 2282
    functionLinenumberEnd: 2310
    functionName: pdf_find_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char pdf_find_glyph(pdf_font_resource_t *pdfont, gs_glyph glyph)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2324,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2332,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2335,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pdelta
    - pmat
    - ppt
    argTypes:
    - gs_point*
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2340
      start: 2320
    functionDepth: 1
    functionLinenumber: 2320
    functionLinenumberEnd: 2340
    functionName: transform_delta_inverse
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform_inverse
    - fabs
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int transform_delta_inverse(const gs_point *pdelta, const gs_matrix
      *pmat,\n                        gs_point *ppt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2355,1
    - Dst: pdf_font_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2376,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2382,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2383,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2384,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2387,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2388,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2390,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2395,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2397,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 7
    argNames:
    - pgs
    - pdfont
    - pfmat
    - smat
    - tmat
    - font
    - pdev
    argTypes:
    - gs_gstate*
    - pdf_font_resource_t*
    - gs_matrix*
    - gs_matrix*
    - gs_matrix*
    - gs_font*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2402
      start: 2342
    functionDepth: 2
    functionLinenumber: 2342
    functionLinenumberEnd: 2402
    functionName: pdf_calculate_text_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - hypot
    - ctm_only
    - gs_make_identity
    - gs_matrix_invert
    - pdf_font_orig_matrix
    - pdf_font_resource_font
    linkageType: ''
    returnType: float
    signature: "float pdf_calculate_text_size(gs_gstate *pgs, pdf_font_resource_t
      *pdfont,\n                              const gs_matrix *pfmat, gs_matrix *smat,
      gs_matrix *tmat,\n                              gs_font *font, gx_device_pdf
      *pdev)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2416,1
    - Dst: pdf_calculate_text_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2421,1
    - Dst: transform_delta_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2428,1
    - Dst: transform_delta_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2441,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2453,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2454,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2477,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2479,1
    - Dst: pdf_set_PaintType0_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2489,1
    - Dst: pdf_set_text_process_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2494,1
    - Dst: pdf_set_text_process_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2501,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 4
    argNames:
    - ppts
    - penum
    - pdfont
    - pfmat
    argTypes:
    - pdf_text_process_state_t*
    - pdf_text_enum_t*
    - pdf_font_resource_t*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2404
    functionDepth: 3
    functionLinenumber: 2404
    functionLinenumberEnd: 2505
    functionName: pdf_update_text_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_set_PaintType0_params
    - gx_path_current_point
    - transform_delta_inverse
    - pdf_set_text_process_state
    - fabs
    - pdf_calculate_text_size
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf_update_text_state(pdf_text_process_state_t *ppts,\n                      const
      pdf_text_enum_t *penum,\n                      pdf_font_resource_t *pdfont,
      const gs_matrix *pfmat)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_render_mode_uses_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2522,1
    - Dst: sync_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2529,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2534,1
    - Dst: pdf_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2538,1
    - Dst: gdev_vector_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2540,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2546,1
    - Dst: pdf_set_text_state_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pdev
    - pte
    - ppts
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    - pdf_text_process_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2512
    functionDepth: 1
    functionLinenumber: 2512
    functionLinenumberEnd: 2556
    functionName: pdf_set_text_process_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 1
    functionsReached:
    - pdf_prepare_stroke
    - pdf_open_contents
    - pdf_set_text_state_values
    - sync_text_state
    - gdev_vector_prepare_stroke
    - pdf_render_mode_uses_stroke
    linkageType: ''
    returnType: int
    signature: "int pdf_set_text_process_state(gx_device_pdf *pdev,\n                           const
      gs_text_enum_t *pte,        /* for pdcolor, pgs */\n                           pdf_text_process_state_t
      *ppts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2564,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pwidth
    - wmode
    - scale
    - pinfo
    argTypes:
    - pdf_glyph_width_t*
    - int
    - gs_matrix*
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2558
    functionDepth: 1
    functionLinenumber: 2558
    functionLinenumberEnd: 2574
    functionName: store_glyph_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int store_glyph_width(pdf_glyph_width_t *pwidth, int wmode, const
      gs_matrix *scale,\n                  const gs_glyph_info_t *pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_base*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2583,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2588,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 4
    argNames:
    - cfont
    - wmode
    - scale_c
    - pwidths
    argTypes:
    - gs_font_base*
    - int
    - gs_matrix*
    - pdf_glyph_widths_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2608
      start: 2576
    functionDepth: 1
    functionLinenumber: 2576
    functionLinenumberEnd: 2608
    functionName: get_missing_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    - gs_font_base*::procs::font_info
    linkageType: ''
    returnType: int
    signature: "int get_missing_width(gs_font_base *cfont, int wmode, const gs_matrix
      *scale_c,\n                    pdf_glyph_widths_t *pwidths)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2622,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2633,1
    - Dst: glyph_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2634,1
    - Dst: glyph_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2637,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2640,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2641,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2648,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2649,1
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2672,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2675,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2676,1
    - Dst: store_glyph_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2682,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2687,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2694,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2702,1
    - Dst: store_glyph_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2712,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2717,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2720,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2724,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2729,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2737,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2741,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2751,1
    - Dst: store_glyph_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2776,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2780,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 108
    argCount: 6
    argNames:
    - pdfont
    - wmode
    - glyph
    - orig_font
    - pwidths
    - cdevproc_result
    argTypes:
    - pdf_font_resource_t*
    - int
    - gs_glyph
    - gs_font*
    - pdf_glyph_widths_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2617
    functionDepth: 2
    functionLinenumber: 2617
    functionLinenumberEnd: 2783
    functionName: pdf_glyph_widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 1
    functionsReached:
    - glyph_orig_matrix
    - gs_font_glyph_is_notdef
    - gs_distance_transform
    - pdf_is_CID_font
    - gs_font*::procs::glyph_info
    - gs_font_base*::procs::glyph_info
    - get_missing_width
    - gs_matrix_scale
    - return_error
    - gs_font*::procs::enumerate_glyph
    - store_glyph_width
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int pdf_glyph_widths(pdf_font_resource_t *pdfont, int wmode, gs_glyph
      glyph,\n                 gs_font *orig_font, pdf_glyph_widths_t *pwidths,\n
      \                const double cdevproc_result[10])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_encode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2795,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2812,1
    - Dst: pdf_find_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2816,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 3
    argNames:
    - pdev
    - penum
    - pch
    argTypes:
    - gx_device_pdf*
    - pdf_text_enum_t*
    - gs_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2829
      start: 2785
    functionDepth: 3
    functionLinenumber: 2785
    functionLinenumberEnd: 2829
    functionName: pdf_choose_output_char_code
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_find_glyph
    - pdf_attached_font_resource
    - pdf_encode_glyph
    linkageType: ''
    returnType: int
    signature: int pdf_choose_output_char_code(gx_device_pdf *pdev, pdf_text_enum_t
      *penum, gs_char *pch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_text_enum_t*::orig_font::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2834,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2835,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2848,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2850,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2851,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 4
    argNames:
    - pdev
    - penum
    - gnstr
    - glyph
    argTypes:
    - gx_device_pdf*
    - pdf_text_enum_t*
    - gs_const_string*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2831
    functionDepth: 1
    functionLinenumber: 2831
    functionLinenumberEnd: 2856
    functionName: pdf_choose_output_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - strcmp
    - return_error
    - pdf_text_enum_t*::orig_font::procs::glyph_name
    - gs_sprintf
    - memcpy
    - gs_alloc_string
    linkageType: ''
    returnType: int
    signature: int pdf_choose_output_glyph_name(gx_device_pdf *pdev, pdf_text_enum_t
      *penum, gs_const_string *gnstr, gs_glyph glyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pte
    - text
    - ppte
    argTypes:
    - gs_text_enum_t*
    - gs_text_params_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2877
      start: 2863
    functionDepth: 1
    functionLinenumber: 2863
    functionLinenumberEnd: 2877
    functionName: pdf_default_text_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gx_default_text_begin
    linkageType: ''
    returnType: int
    signature: "int pdf_default_text_begin(gs_text_enum_t *pte, const gs_text_params_t
      *text,\n                       gs_text_enum_t **ppte)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_start_charproc_accum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2895,1
    - Dst: pdf_viewer_state_from_gs_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2912,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2930,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2938,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2939,1
    - Dst: pdf_choose_output_char_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2942,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2945,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - pdev
    - pte
    - pte_default
    - penum
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    - gs_text_enum_t*
    - pdf_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2879
    functionDepth: 4
    functionLinenumber: 2879
    functionLinenumberEnd: 2959
    functionName: install_PS_charproc_accumulator
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - pdf_attached_font_resource
    - gs_make_identity
    - pdf_choose_output_char_code
    - gs_matrix_fixed_from_matrix
    - gs_matrix_scale
    - pdf_viewer_state_from_gs_gstate
    - pdf_start_charproc_accum
    linkageType: ''
    returnType: int
    signature: "int install_PS_charproc_accumulator(gx_device_pdf *pdev, gs_text_enum_t
      *pte,\n                             gs_text_enum_t *pte_default, pdf_text_enum_t
      *const penum)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_start_charproc_accum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2981,1
    - Dst: pdf_viewer_state_from_gs_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:2985,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3003,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3004,1
    - Dst: pdf_choose_output_char_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3007,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3009,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3012,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3014,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3019,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3020,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 4
    argNames:
    - pdev
    - pte
    - pte_default
    - penum
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    - gs_text_enum_t*
    - pdf_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 2961
    functionDepth: 4
    functionLinenumber: 2961
    functionLinenumberEnd: 3029
    functionName: install_charproc_accumulator
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - pdf_attached_font_resource
    - gs_make_identity
    - pdf_choose_output_char_code
    - gs_matrix_fixed_from_matrix
    - pdf_viewer_state_from_gs_gstate
    - pdf_start_charproc_accum
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int install_charproc_accumulator(gx_device_pdf *pdev, gs_text_enum_t
      *pte,\n                             gs_text_enum_t *pte_default, pdf_text_enum_t
      *const penum)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3039,1
    - Dst: pdf_choose_output_glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3040,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3051,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3056,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3057,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3059,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3060,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3062,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3063,1
    - Dst: emprintf4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3066,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3069,1
    - Dst: pdf_end_charproc_accum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3079,1
    - Dst: gx_default_text_restore_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3085,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3088,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - pdev
    - pte
    - pte_default
    - penum
    - was_PS_type3
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    - gs_text_enum_t*
    - pdf_text_enum_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3031
    functionDepth: 2
    functionLinenumber: 3031
    functionLinenumberEnd: 3092
    functionName: complete_charproc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_end_charproc_accum
    - stell
    - gs_text_release
    - memcpy
    - emprintf4
    - pdf_choose_output_glyph_name
    - return_error
    - gx_default_text_restore_state
    - min
    linkageType: ''
    returnType: int
    signature: "int complete_charproc(gx_device_pdf *pdev, gs_text_enum_t *pte,\n
      \                            gs_text_enum_t *pte_default, pdf_text_enum_t *const
      penum,\n                             bool was_PS_type3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3117,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3119
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3119
    functionName: pdf_type3_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_matrix_invert
    - gs_matrix_scale
    linkageType: ''
    returnType: void
    signature: void pdf_type3_get_initial_matrix(gx_device * dev, gs_matrix * pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3126,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3126,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3129,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3129,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - cc
    - data
    argTypes:
    - gs_memory_t*
    - cached_char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3133
      start: 3121
    functionDepth: 1
    functionLinenumber: 3121
    functionLinenumberEnd: 3133
    functionName: pdf_query_purge_cached_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - cc_pair
    - cc_depth
    linkageType: ''
    returnType: int
    signature: int pdf_query_purge_cached_char(const gs_memory_t *mem, cached_char
      *cc, void *data)
  - BBCount: 68
    BranchProfiles: []
    Callsites:
    - Dst: PROCESS_TEXT_PROC
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3147,1
    - Dst: pdf_prepare_text_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3161,1
    - Dst: complete_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3214,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3300,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3300,1
    - Dst: gx_lookup_cached_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3303,1
    - Dst: gx_purge_selected_cached_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3305,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3309,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3321,1
    - Dst: install_charproc_accumulator
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3336,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3338,1
    - Dst: gs_text_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3355,1
    - Dst: complete_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3357,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3358,1
    - Dst: pdf_choose_output_char_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3372,1
    - Dst: complete_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3374,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3375,1
    - Dst: complete_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3384,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3409,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3413,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3414,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3416,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3420,1
    - Dst: gx_alloc_char_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3424,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3430,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3430,1
    - Dst: gx_add_cached_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3442,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3449,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3456,1
    - Dst: gx_hld_get_color_space_and_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3500,1
    - Dst: gs_text_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3503,1
    - Dst: install_PS_charproc_accumulator
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3521,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3526,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3529,1
    - Dst: process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3599,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3601,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3604,1
    - Dst: process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3605,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3606,1
    - Dst: pdf_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3634,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c:3638,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 237
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3665
      start: 3140
    functionDepth: 5
    functionLinenumber: 3140
    functionLinenumberEnd: 3665
    functionName: pdf_text_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.c
    functionUses: 0
    functionsReached:
    - gs_text_release
    - gs_text_enum_copy_dynamic
    - pdf_choose_output_char_code
    - pdf_prepare_text_drawing
    - pdf_attached_font_resource
    - gx_device_retain
    - gs_alloc_struct
    - process
    - gs_alloc_string
    - PROCESS_TEXT_PROC
    - gx_add_cached_char
    - ctm_only
    - gs_grestore
    - gx_hld_get_color_space_and_ccolor
    - install_PS_charproc_accumulator
    - complete_charproc
    - gs_free_object
    - gx_purge_selected_cached_chars
    - pdf_default_text_begin
    - gx_lookup_cached_char
    - gx_lookup_fm_pair
    - gs_free_string
    - gs_make_identity
    - install_charproc_accumulator
    - gx_alloc_char_bits
    - return_error
    - gs_make_mem_mono_device
    - gs_gsave
    - gs_text_process
    linkageType: ''
    returnType: int
    signature: int pdf_text_process(gs_text_enum_t *pte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:117,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:118,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 123
    functionName: pdf_find_base14_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcmp
    linkageType: ''
    returnType: char
    signature: char *pdf_find_base14_name(const byte *str, uint size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - str
    - size
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 140
    functionName: pdf_has_subset_prefix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_has_subset_prefix(const byte *str, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - index
    - w
    argTypes:
    - ulong
    - int
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong hash(ulong v, int index, ushort w)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:164,1
    - Dst: hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:168,1
    - Dst: hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:174,1
    - Dst: hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:176,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:178,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - pdev
    - pstr
    - used
    - count
    - md5_hash
    argTypes:
    - gx_device_pdf*
    - gs_string*
    - byte*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 185
    functionName: pdf_add_subset_prefix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 1
    functionsReached:
    - return_error
    - memmove
    - hash
    - gs_resize_string
    linkageType: ''
    returnType: int
    signature: int pdf_add_subset_prefix(const gx_device_pdf *pdev, gs_string *pstr,
      byte *used, int count, char *md5_hash)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pdw
    argTypes:
    - gx_device_pdf*
    - pdf_data_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 194
    functionName: pdf_end_fontfile
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - pdf_close_aside
    linkageType: ''
    returnType: int
    signature: int pdf_end_fontfile(gx_device_pdf *pdev, pdf_data_writer_t *pdw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_purge_font_from_char_caches_completely
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - proc_data
    - event_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: copied_font_notify
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - gs_purge_font_from_char_caches_completely
    linkageType: ''
    returnType: int
    signature: int copied_font_notify(void *proc_data, void *event_data)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:217,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:225,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:226,1
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:235,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:254,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:256,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:258,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:278,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:281,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:285,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:288,1
    - Dst: gs_copy_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:292,1
    - Dst: gs_notify_register
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:295,1
    - Dst: gs_copy_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:317,1
    - Dst: gs_copy_font_complete
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:321,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:324,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:326,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:328,1
    - Dst: gs_free_copied_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:339,1
    - Dst: pdf_has_subset_prefix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:356,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:362,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:364,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:367,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:370,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:375,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 105
    argCount: 5
    argNames:
    - pdev
    - ppbfont
    - font
    - orig_matrix
    - is_standard
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t**
    - gs_font_base*
    - gs_matrix*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 208
    functionDepth: 4
    functionLinenumber: 208
    functionLinenumberEnd: 377
    functionName: pdf_base_font_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 1
    functionsReached:
    - gs_alloc_string
    - pdf_has_subset_prefix
    - gs_font_base*::procs::enumerate_glyph
    - gs_alloc_bytes
    - gs_free_copied_font
    - strlen
    - emprintf1
    - gs_copy_font_complete
    - gs_sprintf
    - memset
    - memcpy
    - gs_free_object
    - gs_notify_register
    - gs_copy_font
    - return_error
    - gs_note_error
    - min
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pdf_base_font_alloc(gx_device_pdf *pdev, pdf_base_font_t **ppbfont,\n
      \                   gs_font_base *font, const gs_matrix *orig_matrix,\n                    bool
      is_standard)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbfont
    argTypes:
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 388
    functionName: pdf_base_font_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_string
    signature: 'gs_string *

      pdf_base_font_name(pdf_base_font_t *pbfont)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pbfont
    - complete
    argTypes:
    - pdf_base_font_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: pdf_base_font_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_font_base
    signature: 'gs_font_base *

      pdf_base_font_font(const pdf_base_font_t *pbfont, bool complete)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbfont
    argTypes:
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: pdf_base_font_is_subset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_base_font_is_subset(const pdf_base_font_t *pbfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbfont
    argTypes:
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: pdf_base_font_drop_complete
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_base_font_drop_complete(pdf_base_font_t *pbfont)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_copy_glyph_options
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:435,1
    - Dst: gs_copy_glyph_options
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pbfont
    - glyph
    - font
    argTypes:
    - pdf_base_font_t*
    - gs_glyph
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 424
    functionDepth: 4
    functionLinenumber: 424
    functionLinenumberEnd: 454
    functionName: pdf_base_font_copy_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - gs_copy_glyph_options
    linkageType: ''
    returnType: int
    signature: "int pdf_base_font_copy_glyph(pdf_base_font_t *pbfont, gs_glyph glyph,\n
      \                        gs_font_base *font)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:482,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pdev
    - pbfont
    - rid
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 495
    functionName: pdf_do_subset_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 1
    functionsReached:
    - gs_font_base*::procs::enumerate_glyph
    linkageType: ''
    returnType: bool
    signature: bool pdf_do_subset_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
      gs_id rid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:517,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - pbfont
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 520
    functionName: pdf_write_FontFile_entry
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintld1
    linkageType: ''
    returnType: int
    signature: int pdf_write_FontFile_entry(gx_device_pdf *pdev, pdf_base_font_t *pbfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:548,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:558,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:559,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:560,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:564,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:565,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 3
    argNames:
    - pdev
    - id
    - pbfont
    argTypes:
    - gx_device_pdf*
    - long
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 570
    functionName: pdf_adjust_font_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - gs_resize_string
    - return_error
    - strlen
    - gs_sprintf
    - memcpy
    - isxdigit
    linkageType: ''
    returnType: int
    signature: int pdf_adjust_font_name(gx_device_pdf *pdev, long id, pdf_base_font_t
      *pbfont)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: pdf_do_subset_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:579,1
    - Dst: copied_order_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:590,1
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:608,1
    - Dst: s_MD5C_make_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:612,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:615,1
    - Dst: pdf_adjust_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:628,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:645,1
    - Dst: copied_drop_extension_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:649,1
    - Dst: psf_write_type1_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:657,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:665,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:671,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:675,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:686,1
    - Dst: psf_write_type2_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:689,1
    - Dst: copied_drop_extension_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:713,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:717,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:718,1
    - Dst: psf_write_truetype_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:719,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:722,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:722,1
    - Dst: psf_write_truetype_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:725,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:731,1
    - Dst: psf_write_cid0_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:734,1
    - Dst: psf_write_cid2_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:742,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:747,1
    - Dst: s_MD5C_get_digest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:748,1
    - Dst: pdf_end_fontfile
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:752,1
    - Dst: pdf_obj_mark_unused
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:753,1
    - Dst: pdf_end_fontfile
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:756,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:760,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 109
    argCount: 6
    argNames:
    - pdev
    - pbfont
    - FontType
    - FontBBox
    - rid
    - ppcd
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t*
    - font_type
    - gs_int_rect*
    - gs_id
    - cos_dict_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 575
    functionDepth: 3
    functionLinenumber: 575
    functionLinenumberEnd: 765
    functionName: pdf_write_embedded_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - copied_order_font
    - cos_dict_put_string_copy
    - pdf_adjust_font_name
    - psf_write_type1_font
    - stell
    - pdf_obj_mark_unused
    - swrite_position_only
    - gs_note_error
    - s_MD5C_get_digest
    - psf_write_cid2_font
    - pdf_begin_data_stream
    - pdf_do_subset_font
    - s_init
    - cos_dict_put_c_key_int
    - copied_drop_extension_glyphs
    - psf_write_type2_font
    - pdf_end_fontfile
    - psf_write_truetype_font
    - psf_write_cid0_font
    - s_MD5C_make_stream
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: "int pdf_write_embedded_font(gx_device_pdf *pdev, pdf_base_font_t *pbfont,
      font_type FontType,\n                        gs_int_rect *FontBBox, gs_id rid,
      cos_dict_t **ppcd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:778,1
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:780,1
    - Dst: gs_font_base*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:785,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:789,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:791,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - pbfont
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 770
    functionDepth: 1
    functionLinenumber: 770
    functionLinenumberEnd: 795
    functionName: pdf_write_CharSet
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gs_font_base*::procs::enumerate_glyph
    - pdf_put_name
    - gs_font_base*::procs::glyph_name
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int pdf_write_CharSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:807,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:813,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:815,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c:818,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - pbfont
    - pcidset_id
    argTypes:
    - gx_device_pdf*
    - pdf_base_font_t*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 820
    functionName: pdf_write_CIDSet
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached:
    - stream_write
    - pdf_begin_data_stream
    - pdf_end_data
    - pdf_resource_id
    linkageType: ''
    returnType: int
    signature: "int pdf_write_CIDSet(gx_device_pdf *pdev, pdf_base_font_t *pbfont,\n
      \                long *pcidset_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bfont
    argTypes:
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 827
    functionName: pdf_is_standard_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_is_standard_font(pdf_base_font_t *bfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bfont
    - pcd
    argTypes:
    - pdf_base_font_t*
    - cos_dict_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 833
    functionName: pdf_set_FontFile_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_set_FontFile_object(pdf_base_font_t *bfont, cos_dict_t *pcd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bfont
    argTypes:
    - pdf_base_font_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: pdf_get_FontFile_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cos_dict_t
    signature: 'cos_dict_t *

      pdf_get_FontFile_object(pdf_base_font_t *bfont)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:69,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:72,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:75,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(device_pdfwrite_enum_ptrs, gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: e1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: e1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e1(i,elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:132,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:133,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:134,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:135,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:136,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:137,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:138,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:139,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:140,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:141,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:142,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:143,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:144,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:145,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:146,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:147,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:148,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:149,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:150,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:151,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:152,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:153,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:154,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:155,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:156,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:157,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:158,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:159,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:160,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:161,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:162,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:163,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:164,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:165,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:166,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:167,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:168,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:169,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:170,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:171,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:172,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:173,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:174,1
    - Dst: gx_device_pdf_do_param_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:176,1
    - Dst: gx_device_pdf_do_const_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:179,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:186,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:189,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:190,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:194,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 57
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 195
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 1
    functionsReached:
    - gx_device_pdf_do_param_strings
    - RELOC_PREFIX
    - gx_device_pdf_do_const_strings
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_pdfwrite_reloc_ptrs, gx_device_pdf
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: r1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: r1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: device_pdfwrite_finalize
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gx_device_finalize
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END device_pdfwrite_finalize(const gs_memory_t *cmem, void
      *vpdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: s_is_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:276,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:277,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:282,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:285,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:290,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:290,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:291,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pdev
    - ptf
    - code
    argTypes:
    - gx_device_pdf*
    - pdf_temp_file_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 297
    functionName: pdf_close_temp_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gp_ferror
    - unlink
    - gp_fclose
    - s_is_valid
    - gs_note_error
    - sflush
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_close_temp_file(gx_device_pdf *pdev, pdf_temp_file_t *ptf,
      int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_close_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:301,1
    - Dst: pdf_close_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:302,1
    - Dst: pdf_close_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:303,1
    - Dst: pdf_close_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - code
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: pdf_close_files
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pdf_close_temp_file
    linkageType: ''
    returnType: int
    signature: int pdf_close_files(gx_device_pdf * pdev, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_reset_graphics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:313,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:315,1
    - Dst: pdf_reset_text_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:316,1
    - Dst: pdf_remember_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 319
    functionName: pdf_reset_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - memset
    - pdf_remember_clip_path
    - pdf_reset_text_page
    - pdf_reset_graphics
    linkageType: ''
    returnType: void
    signature: void pdf_reset_page(gx_device_pdf * pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:327,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:328,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:330,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:331,1
    - Dst: gp_open_scratch_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:332,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - ptf
    argTypes:
    - gx_device_pdf*
    - pdf_temp_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 339
    functionName: pdf_open_temp_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - strcat
    - gp_open_scratch_file
    - strlen
    - strcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: int pdf_open_temp_file(gx_device_pdf *pdev, pdf_temp_file_t *ptf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:343,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:347,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:349,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:350,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:356,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - ptf
    argTypes:
    - gx_device_pdf*
    - pdf_temp_file_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 360
    functionName: pdf_open_temp_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pdf_open_temp_file
    - gs_alloc_bytes
    - swrite_file
    - s_alloc
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_open_temp_stream(gx_device_pdf *pdev, pdf_temp_file_t *ptf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:372,1
    - Dst: pdf_create_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:373,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:377,1
    - Dst: pdf_create_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:378,1
    - Dst: pdf_store_default_Producer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:382,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:384,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:385,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:400,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:401,1
    - Dst: time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:405,1
    - Dst: gmtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:406,1
    - Dst: difftime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:408,1
    - Dst: mktime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:408,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:410,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:411,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:414,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:419,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:420,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:421,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:422,1
    - Dst: pdf_create_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 428
    functionName: pdf_initialize_ids
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gmtime
    - mktime
    - any_abs
    - localtime
    - param_string_from_string
    - strlen
    - difftime
    - gs_sprintf
    - memset
    - pdf_create_named_dict
    - pdf_store_default_Producer
    - time
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: void
    signature: void pdf_initialize_ids(gx_device_pdf * pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_MD5E_make_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:442,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:447,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:453,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:455,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:460,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:460,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:462,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:462,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:465,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:476,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:477,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 479
    functionName: pdf_compute_fileID
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 1
    functionsReached:
    - sclose
    - s_MD5E_make_stream
    - strlen
    - gp_get_realtime
    - sputs
    - cos_dict_elements_write
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_compute_fileID(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:489,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:489,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - buf
    - str
    argTypes:
    - byte[]
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: copy_padded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    linkageType: ''
    returnType: void
    signature: void copy_padded(byte buf[32], gs_param_string *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:501,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:502,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - digest
    - key_length
    argTypes:
    - byte[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: Adobe_magic_loop_50
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - gs_md5_finish
    - gs_md5_init
    linkageType: ''
    returnType: void
    signature: void Adobe_magic_loop_50(byte digest[16], int key_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:517,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - data
    - data_size
    - key
    - key_size
    argTypes:
    - byte*
    - int
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: Adobe_magic_loop_19
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - s_arcfour_process_buffer
    - s_arcfour_set_key
    linkageType: ''
    returnType: void
    signature: void Adobe_magic_loop_19(byte *data, int data_size, const byte *key,
      int key_size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:530,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:532,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:541,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:542,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:547,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:549,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:552,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:554,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:557,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:559,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:562,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:564,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:568,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:570,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:573,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:576,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:579,1
    - Dst: copy_padded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:580,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:581,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:582,1
    - Dst: Adobe_magic_loop_50
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:584,1
    - Dst: copy_padded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:585,1
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:586,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:587,1
    - Dst: Adobe_magic_loop_19
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:589,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:590,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:592,1
    - Dst: copy_padded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:593,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:594,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:595,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:596,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:597,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:598,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:599,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:600,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:605,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:607,1
    - Dst: Adobe_magic_loop_50
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:609,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:610,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:613,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:614,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:615,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:616,1
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:617,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:618,1
    - Dst: Adobe_magic_loop_19
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:619,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:620,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:621,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:624,1
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:625,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:626,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 90
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 522
    functionDepth: 2
    functionLinenumber: 522
    functionLinenumberEnd: 629
    functionName: pdf_compute_encryption_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - Adobe_magic_loop_50
    - s_arcfour_process_buffer
    - Adobe_magic_loop_19
    - emprintf
    - memcpy
    - gs_md5_init
    - s_arcfour_set_key
    - return_error
    - gs_md5_finish
    - copy_padded
    linkageType: ''
    returnType: int
    signature: int pdf_compute_encryption_data(gx_device_pdf * pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dci_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:651,1
    - Dst: dci_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:652,1
    - Dst: dci_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:653,1
    - Dst: dci_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:654,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:661,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:674,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:675,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:676,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:677,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:679,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:681,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:682,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:685,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:686,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:687,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:688,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:690,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:692,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:693,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:698,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:699,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:701,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:702,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:704,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:706,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 2
    argNames:
    - pdev
    - index
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 712
    functionName: pdf_set_process_color_model
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - dci_values
    - set_linear_color_bits_mask_shift
    linkageType: ''
    returnType: void
    signature: void pdf_set_process_color_model(gx_device_pdf * pdev, int index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:729,1
    - Dst: pdf_reset_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 731
    functionName: pdf_reset_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pdf_reset_text_state
    - sync_text_state
    linkageType: ''
    returnType: void
    signature: void pdf_reset_text(gx_device_pdf * pdev)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:738,1
    - Dst: pdf_open_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:743,1
    - Dst: pdf_open_temp_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:744,1
    - Dst: pdf_open_temp_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:745,1
    - Dst: pdf_open_temp_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:746,1
    - Dst: gdev_vector_open_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:749,1
    - Dst: s_MD5C_make_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:760,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:763,1
    - Dst: gdev_vector_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:766,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:768,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:770,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:783,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:785,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:786,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:791,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:793,1
    - Dst: pdf_initialize_ids
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:794,1
    - Dst: pdf_compute_fileID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:795,1
    - Dst: pdf_compute_encryption_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:799,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:803,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:805,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:807,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:809,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:813,1
    - Dst: pdf_text_data_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:816,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:818,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:821,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:827,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:828,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:837,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:838,1
    - Dst: pdf_reset_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:855,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:862,1
    - Dst: gs_font_dir_alloc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:866,1
    - Dst: gdev_vector_close_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:890,1
    - Dst: pdf_close_files
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:891,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 114
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 734
    functionDepth: 3
    functionLinenumber: 734
    functionLinenumberEnd: 892
    functionName: pdf_open
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gp_get_realtime
    - emprintf
    - gs_font_dir_alloc2
    - pdf_open_temp_stream
    - cos_array_alloc
    - gs_memory_stable
    - pdf_open_temp_file
    - gs_alloc_struct_array
    - pdf_compute_encryption_data
    - memset
    - pdf_initialize_ids
    - gdev_vector_close_file
    - pdf_reset_page
    - cos_dict_alloc
    - gdev_vector_open_file
    - gdev_vector_init
    - pdf_compute_fileID
    - pdf_close_files
    - s_MD5C_make_stream
    - pdf_text_data_alloc
    - return_error
    linkageType: ''
    returnType: int
    signature: int pdf_open(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:898,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:899,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:900,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:901,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:902,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:903,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:904,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:904,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:905,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:905,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 895
    functionDepth: 1
    functionLinenumber: 895
    functionLinenumberEnd: 907
    functionName: pdf_ferror
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gp_ferror
    - sflush
    - gp_fflush
    linkageType: ''
    returnType: int
    signature: int pdf_ferror(gx_device_pdf *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - pdf_text_rotation_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 924
    functionName: pdf_dominant_rotation
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: int
    signature: int pdf_dominant_rotation(const pdf_text_rotation_t *ptr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:972,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 26
    argCount: 2
    argNames:
    - pdev
    - page
    argTypes:
    - gx_device_pdf*
    - pdf_page_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 974
    functionName: pdf_print_orientation
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pprintd1
    linkageType: ''
    returnType: void
    signature: void pdf_print_orientation(gx_device_pdf * pdev, pdf_page_t *page)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:986,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:996,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1001,1
    - Dst: pdf_close_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1005,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1022,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1030,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1031,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1032,1
    - Dst: pdf_store_page_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1035,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1041,1
    - Dst: pdf_close_text_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1047,1
    - Dst: pdf_dominant_rotation
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1053,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1057,1
    - Dst: pdf_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1077,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1078,1
    - Dst: pdf_reset_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1080,1
    - Dst: pdf_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1081,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1081,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - pdev
    - num_copies
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 1082
    functionName: pdf_close_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - countof
    - pdf_store_page_resources
    - pdf_dominant_rotation
    - gs_note_error
    - pdf_open_contents
    - pdf_close_contents
    - pdf_ferror
    - pdf_write_resource_objects
    - pdf_record_usage
    - pdf_close_text_page
    - pdfwrite_pdf_open_document
    - pdf_page_id
    - pdf_reset_page
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: int pdf_close_page(gx_device_pdf * pdev, int num_copies)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xy
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: round_box_coord
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double round_box_coord(double xy)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1093,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1097,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1101,1
    - Dst: round_box_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1104,1
    - Dst: round_box_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1105,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1106,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1111,1
    - Dst: round_box_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1115,1
    - Dst: round_box_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1116,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1117,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1119,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1121,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1123,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1129,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1130,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1131,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1132,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1143,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1146,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1148,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1154,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1157,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1165,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1168,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1170,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1176,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1194,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1197,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1199,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1218,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1239,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1245,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1257,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1259,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1262,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1274,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1277,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1279,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1281,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1294,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1304,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1310,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1324,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1327,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1337,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1338,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1339,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1342,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1343,1
    - Dst: pdf_print_orientation
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1346,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1348,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1350,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1353,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1356,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1359,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1361,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1363,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1365,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1367,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1368,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1370,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1375,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1377,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1378,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1381,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1386,1
    - Dst: COS_WRITE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1387,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1388,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1398,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1402,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1404,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1405,1
    CyclomaticComplexity: 84
    EdgeCount: 84
    ICount: 208
    argCount: 2
    argNames:
    - pdev
    - page_num
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1090
    functionDepth: 2
    functionLinenumber: 1090
    functionLinenumberEnd: 1407
    functionName: pdf_write_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - pprintg4
    - emprintf
    - COS_FREE
    - pdf_open_obj
    - pprintg1
    - countof
    - pdf_end_obj
    - COS_WRITE
    - pprintg2
    - min
    - stream_puts
    - pdf_print_orientation
    - round_box_coord
    - pdf_page_id
    - cos_dict_delete_c_key
    - pprintld1
    - cos_dict_elements_write
    - memcpy
    - return_error
    - cos_dict_find_c_key
    linkageType: ''
    returnType: int
    signature: int pdf_write_page(gx_device_pdf *pdev, int page_num)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_outputfile_is_separate_pages
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1419,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1420,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1421,1
    - Dst: pdf_close_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1425,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1430,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1436,1
    - Dst: pdf_close_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1440,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1446,1
    - Dst: pdf_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1448,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1449,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1451,1
    - Dst: gx_outputfile_is_separate_pages
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1454,1
    - Dst: pdf_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1456,1
    - Dst: pdf_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1458,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1413
    functionDepth: 4
    functionLinenumber: 1413
    functionLinenumberEnd: 1462
    functionName: pdf_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pdf_close
    - pdf_ferror
    - emprintf
    - gx_outputfile_is_separate_pages
    - return_error
    - gx_finish_output_page
    - pdf_open
    - pdf_exit_substream
    - pdf_close_page
    linkageType: ''
    returnType: int
    signature: int pdf_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1468,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1475,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - pdev
    - tfile
    - start
    - resource_pos
    argTypes:
    - gx_device_pdf*
    - gp_file*
    - int64_t
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1487
    functionName: find_end_xref_section
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gp_fread
    - gp_fseek
    linkageType: ''
    returnType: int
    signature: int find_end_xref_section (gx_device_pdf *pdev, gp_file *tfile, int64_t
      start, gs_offset_t resource_pos)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1493,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1501,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1503,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1512,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1513,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1514,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1522,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - pdev
    - tfile
    - start
    - end
    - resource_pos
    - Offsets
    argTypes:
    - gx_device_pdf*
    - gp_file*
    - int64_t
    - int
    - gs_offset_t
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1530
    functionName: write_xref_section
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gp_fread
    - gs_sprintf
    - emprintf
    - gp_fseek
    - return_error
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int write_xref_section(gx_device_pdf *pdev, gp_file *tfile, int64_t
      start, int end, gs_offset_t resource_pos, gs_offset_t *Offsets)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1541,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1543,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1545,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1546,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1552,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1555,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1556,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1556,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1558,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1560,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1568,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1574,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1576,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1577,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1579,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1580,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1586,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1586,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1591,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1598,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1605,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1606,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1607,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1608,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1608,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1611,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1611,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1617,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1619,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1620,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1623,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1625,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1626,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1631,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 3
    argNames:
    - pdev
    - linear_params
    - object
    argTypes:
    - gx_device_pdf*
    - pdf_linearisation_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1633
    functionName: rewrite_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - sscanf
    - gp_ftell
    - gs_alloc_bytes
    - strstr
    - strlen
    - gp_fread
    - gs_sprintf
    - strncmp
    - memcpy
    - gp_fseek
    - return_error
    - gs_note_error
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int rewrite_object(gx_device_pdf *const pdev, pdf_linearisation_t *linear_params,
      int object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - linear_params
    argTypes:
    - pdf_linearisation_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1643
    functionName: flush_hint_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int flush_hint_stream(pdf_linearisation_t *linear_params)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: flush_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1664,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1665,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - linear_params
    - val
    - size_bits
    argTypes:
    - pdf_linearisation_t*
    - gs_offset_t
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1645
    functionDepth: 2
    functionLinenumber: 1645
    functionLinenumberEnd: 1671
    functionName: write_hint_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - flush_hint_stream
    - memset
    linkageType: ''
    returnType: int
    signature: int write_hint_stream(pdf_linearisation_t *linear_params, gs_offset_t
      val, char size_bits)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1705,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1707,1
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1709,1
    - Dst: pdf_open_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1712,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1784,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1788,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1789,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1791,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1796,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1797,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1797,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1799,1
    - Dst: pdfwrite_fwrite_args_comment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1800,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1802,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1805,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1808,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1809,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1811,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1811,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1814,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1815,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1816,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1816,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1818,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1821,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1827,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1828,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1830,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1830,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1833,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1850,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1858,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1863,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1869,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1872,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1883,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1891,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1901,1
    - Dst: rewrite_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1911,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1925,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1929,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1936,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1937,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1940,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1941,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1946,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1947,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1947,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1949,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1950,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1953,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1954,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1957,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1958,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1961,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:1962,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2000,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2001,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2002,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2005,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2061,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2062,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2070,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2071,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2079,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2080,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2088,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2089,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2097,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2098,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2106,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2108,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2109,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2112,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2113,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2114,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2115,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2116,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2117,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2118,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2119,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2120,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2121,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2122,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2123,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2124,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2125,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2126,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2127,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2128,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2136,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2137,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2144,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2145,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2151,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2152,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2155,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2156,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2163,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2164,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2172,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2173,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2181,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2182,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2189,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2190,1
    - Dst: flush_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2192,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2194,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2215,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2216,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2217,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2218,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2219,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2220,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2221,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2222,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2224,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2225,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2226,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2227,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2228,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2229,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2238,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2243,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2244,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2249,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2250,1
    - Dst: write_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2253,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2254,1
    - Dst: flush_hint_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2257,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2258,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2260,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2261,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2261,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2263,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2266,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2268,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2272,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2281,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2281,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2283,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2283,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2287,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2292,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2293,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2294,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2294,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2296,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2297,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2298,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2298,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2303,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2304,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2309,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2311,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2311,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2313,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2322,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2323,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2324,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2324,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2326,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2327,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2327,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2328,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2329,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2329,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2333,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2334,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2334,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2335,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2336,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2336,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2341,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2345,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2346,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2346,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2351,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2352,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2360,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2362,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2364,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2366,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2366,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2368,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2370,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2372,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2373,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2373,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2374,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2375,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2375,1
    - Dst: pdf_close_temp_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2381,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2389,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2392,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2393,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 498
    argCount: 2
    argNames:
    - pdev
    - linear_params
    argTypes:
    - gx_device_pdf*
    - pdf_linearisation_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 1673
    functionDepth: 3
    functionLinenumber: 1673
    functionLinenumberEnd: 2396
    functionName: pdf_linearise
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - flush_hint_stream
    - strlen
    - gs_sprintf
    - dmprintf6
    - write_hint_stream
    - gp_fwrite
    - pdfwrite_fwrite_args_comment
    - pdf_open_temp_file
    - dmprintf3
    - gp_ftell
    - memset
    - gp_fseek
    - gx_device_open_output_file
    - dmprintf
    - gs_free_object
    - gp_fread
    - pdf_close_temp_file
    - rewrite_object
    - dmprintf2
    - pdf_record_usage
    - dmprintf1
    - memcpy
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: int pdf_linearise(gx_device_pdf *pdev, pdf_linearisation_t *linear_params)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2413,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2415,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2417,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2418,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2447,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2448,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2449,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2450,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 3
    argNames:
    - pdev
    - resource_id
    - page_num
    argTypes:
    - gx_device_pdf*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2456
    functionName: pdf_record_usage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 2
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_bytes
    - gs_resize_object
    - memset
    - memcpy
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_record_usage(gx_device_pdf *const pdev, long resource_id, int
      page_num)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2465,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - resource_id
    - parent_id
    argTypes:
    - gx_device_pdf*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2458
    functionDepth: 2
    functionLinenumber: 2458
    functionLinenumberEnd: 2472
    functionName: pdf_record_usage_by_parent
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - pdf_record_usage
    linkageType: ''
    returnType: int
    signature: int pdf_record_usage_by_parent(gx_device_pdf *const pdev, long resource_id,
      long parent_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2486
    functionDepth: 0
    functionLinenumber: 2486
    functionLinenumberEnd: 2492
    functionName: pdf_free_pdf_font_cache
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_free_pdf_font_cache(gx_device_pdf *pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_element_first
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2501,1
    - Dst: cos_array_element_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2505,1
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2510,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2514,1
    - Dst: discard_array_refs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2515,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2517,1
    - Dst: cos_dict_forall
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - pdev
    - pco
    argTypes:
    - gx_device_pdf*
    - cos_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2496
    functionDepth: 1
    functionLinenumber: 2496
    functionLinenumberEnd: 2524
    functionName: discard_array_refs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 1
    functionsReached:
    - cos_array_element_next
    - discard_array_refs
    - cos_array_element_first
    - cos_dict_forall
    - cos_type
    - pdf_find_resource_by_resource_id
    linkageType: ''
    returnType: int
    signature: int discard_array_refs(gx_device_pdf *pdev, cos_object_t *pco)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2536,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2540,1
    - Dst: discard_array_refs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2541,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2543,1
    - Dst: cos_dict_forall
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 4
    argNames:
    - client_data
    - key_data
    - key_size
    - v
    argTypes:
    - void*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2526
    functionDepth: 2
    functionLinenumber: 2526
    functionLinenumberEnd: 2549
    functionName: discard_dict_refs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 0
    functionsReached:
    - cos_type
    - discard_array_refs
    - pdf_find_resource_by_resource_id
    - cos_dict_forall
    linkageType: ''
    returnType: int
    signature: int discard_dict_refs(void *client_data, const byte *key_data, uint
      key_size, const cos_value_t *v)
  - BBCount: 99
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2572,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2579,1
    - Dst: gx_outputfile_is_separate_pages
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2593,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2595,1
    - Dst: pdf_close_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2602,1
    - Dst: pdf_write_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2607,1
    - Dst: pdf_print_resource_statistics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2611,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2614,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2617,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2620,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2623,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2626,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2629,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2632,1
    - Dst: pdf_clean_standard_fonts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2639,1
    - Dst: pdf_free_font_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2640,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2643,1
    - Dst: pdf_finish_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2646,1
    - Dst: pdf_finish_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2649,1
    - Dst: write_font_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2652,1
    - Dst: write_font_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2655,1
    - Dst: pdf_finish_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2658,1
    - Dst: pdf_write_bitmap_fonts_Encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2662,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2666,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2669,1
    - Dst: pdf_reverse_resource_chain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2674,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2675,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2678,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2685,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2686,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2689,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2697,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2699,1
    - Dst: pdf_dominant_rotation
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2706,1
    - Dst: pdf_print_orientation
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2707,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2709,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2710,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2711,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2716,1
    - Dst: pdfmark_close_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2719,1
    - Dst: pdfmark_close_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2723,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2726,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2727,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2728,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2731,1
    - Dst: pdfmark_write_article
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2738,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2745,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2746,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2750,1
    - Dst: cos_write_dict_as_ordered_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2751,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2756,1
    - Dst: cos_write_dict_as_ordered_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2757,1
    - Dst: pdfmark_end_pagelabels
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2762,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2764,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2765,1
    - Dst: pdf_document_metadata
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2769,1
    - Dst: pdf_begin_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2782,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2783,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2785,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2788,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2789,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2790,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2792,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2793,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2795,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2796,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2799,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2800,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2802,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2804,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2805,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2809,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2812,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2814,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2816,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2817,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2821,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2823,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2824,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2825,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2827,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2831,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2835,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2844,1
    - Dst: cos_dict_objects_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2856,1
    - Dst: pdf_pop_namespace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2857,1
    - Dst: cos_dict_objects_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2858,1
    - Dst: ps2write_dsc_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2866,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2874,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2875,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2878,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2880,1
    - Dst: pdf_copy_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2881,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2892,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2898,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2900,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2901,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2902,1
    - Dst: pdf_reverse_resource_chain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2906,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2915,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2918,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2919,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2926,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2927,1
    - Dst: pdf_write_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2930,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2932,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2933,1
    - Dst: cos_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2934,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2935,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2937,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2940,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2943,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2944,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2945,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2952,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2953,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2958,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2959,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2965,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2967,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2969,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2970,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2971,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2972,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2973,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2974,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2975,1
    - Dst: pdf_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2976,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2977,1
    - Dst: pdf_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2978,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2979,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2980,1
    - Dst: find_end_xref_section
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2987,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2989,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2994,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2996,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:2999,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3002,1
    - Dst: write_xref_section
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3006,1
    - Dst: find_end_xref_section
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3013,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3016,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3024,1
    - Dst: pprintld3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3025,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3027,1
    - Dst: psdf_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3028,1
    - Dst: psdf_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3029,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3030,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3032,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3034,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3035,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3036,1
    - Dst: pdf_linearise
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3043,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3046,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3048,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3105,1
    - Dst: discard_array_refs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3106,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3108,1
    - Dst: cos_dict_forall
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3109,1
    - Dst: font_resource_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3132,1
    - Dst: font_resource_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3147,1
    - Dst: pdf_font_descriptor_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3159,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3173,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3190,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3206,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3207,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3223,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3224,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3242,1
    - Dst: cos_array_element_first
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3245,1
    - Dst: cos_array_element_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3249,1
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3251,1
    - Dst: free_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3263,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3277,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3278,1
    - Dst: free_function_refs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3298,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3309,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3310,1
    - Dst: pdf_free_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3319,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3362,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3369,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3370,1
    - Dst: cos_dict_objects_delete
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3373,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3374,1
    - Dst: cos_dict_objects_delete
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3378,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3379,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3389,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3391,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3392,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3394,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3397,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3402,1
    - Dst: text_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3405,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3408,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3409,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3415,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3417,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3420,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3421,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3427,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3438,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3442,1
    - Dst: gdev_vector_close_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3447,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3453,1
    - Dst: pdf_close_files
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3457,1
    - Dst: gx_device_delete_output_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3468,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3470,1
    - Dst: pdf_free_pdf_font_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdf.c:3473,1
    CyclomaticComplexity: 159
    EdgeCount: 159
    ICount: 560
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3475
      start: 2552
    functionDepth: 5
    functionLinenumber: 2552
    functionLinenumberEnd: 3475
    functionName: pdf_close
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdf.c
    functionUses: 1
    functionsReached:
    - ps2write_dsc_header
    - pdf_write_bitmap_fonts_Encoding
    - pdf_reverse_resource_chain
    - gs_alloc_bytes
    - pdf_document_metadata
    - find_end_xref_section
    - pdf_copy_data
    - gs_sprintf
    - pdf_free_pdf_font_cache
    - pdf_clean_standard_fonts
    - pdfmark_close_outline
    - gx_outputfile_is_separate_pages
    - COS_FREE
    - pdf_open_obj
    - pdf_put_string
    - pdf_find_resource_by_resource_id
    - pprintld2
    - cos_array_element_next
    - discard_array_refs
    - sflush
    - pdf_open_page
    - gp_ftell
    - stell
    - free_color_space
    - pdf_end_obj
    - memset
    - write_font_resources
    - cos_dict_objects_write
    - gp_fseek
    - pprintd1
    - pdf_stell
    - cos_array_element_first
    - psdf_write_string
    - gdev_vector_close_file
    - emprintf2
    - gs_note_error
    - gs_free_object
    - stream_puts
    - pdf_begin_obj
    - write_xref_section
    - pdf_font_descriptor_free
    - pdf_dominant_rotation
    - pdf_print_resource_statistics
    - pdf_free_font_cache
    - pdf_print_orientation
    - font_resource_free
    - pdf_write_page
    - free_function_refs
    - text_data_free
    - stream_putc
    - pdf_write_resource_objects
    - COS_WRITE_OBJECT
    - cos_write
    - pdf_obj_ref
    - cos_write_dict_as_ordered_array
    - cos_type
    - pdf_close_page
    - pdf_linearise
    - pdfmark_write_article
    - pprintld3
    - s_close_filters
    - gx_device_delete_output_file
    - pdf_finish_resources
    - pprintld1
    - cos_dict_elements_write
    - pdf_record_usage
    - pprintd2
    - pdf_close_files
    - pdf_free_resource_objects
    - cos_dict_forall
    - cos_dict_objects_delete
    - return_error
    - cos_release
    - pdf_pop_namespace
    - pdfmark_end_pagelabels
    linkageType: ''
    returnType: int
    signature: int pdf_close(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - v
    - ','
    - emax
    - ','
    - vmin
    - ','
    - vmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: ENCODE_VALUE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_VALUE(v, emax, vmin, vmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: ENCODE_MESH_COORDINATE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_MESH_COORDINATE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: ENCODE_MESH_COLOR_INDEX
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_MESH_COLOR_INDEX(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - vmin
    - ','
    - vmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: ENCODE_MESH_COMPONENT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_MESH_COMPONENT(v, vmin, vmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - pscd
    - key
    - pmat
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - char*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: cos_dict_put_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_c_key_floats
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_matrix(gx_device_pdf *pdev, cos_dict_t *pscd, const
      char *key, const gs_matrix *pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tile
    - depth
    argTypes:
    - gx_strip_bitmap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: tile_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint tile_size(const gx_strip_bitmap *tile, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tile_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:101,1
    - Dst: tile_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:103,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - p_tile
    - m_tile
    argTypes:
    - gx_device_pdf*
    - gx_color_tile*
    - gx_color_tile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: tile_size_ok
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - tile_size
    - max
    linkageType: ''
    returnType: bool
    signature: "bool tile_size_ok(const gx_device_pdf *pdev, const gx_color_tile *p_tile,\n
      \            const gx_color_tile *m_tile)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:119,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:123,1
    - Dst: tile_size_ok
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:132,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:133,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:138,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:143,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:145,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:146,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:153,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:159,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:160,1
    - Dst: cos_reference_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:170,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:172,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:173,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:173,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:174,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:175,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:180,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:185,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:187,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:188,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:189,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:191,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:193,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:194,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:195,1
    - Dst: cos_dict_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:196,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:197,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:198,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:206,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:207,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:207,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 6
    argNames:
    - pdev
    - pdc
    - p_tile
    - m_tile
    - pcs_image
    - ppres
    argTypes:
    - gx_device_pdf*
    - gx_drawing_color*
    - gx_color_tile*
    - gx_color_tile*
    - cos_stream_t*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 211
    functionName: pdf_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - strlen
    - cos_dict_put_matrix
    - gs_sprintf
    - cos_become
    - cos_reference_alloc
    - COS_OBJECT
    - cos_dict_put_c_strings
    - pdf_alloc_resource
    - cos_dict_alloc
    - cos_dict_put_c_key_object
    - cos_stream_add_bytes
    - tile_size_ok
    - cos_dict_put
    - cos_dict_put_c_key_int
    - cos_dict_put_c_key_real
    - is_xxyy
    - gs_make_identity
    - return_error
    - COS_OBJECT_VALUE
    - is_xyyx
    linkageType: ''
    returnType: int
    signature: "int pdf_pattern(gx_device_pdf *pdev, const gx_drawing_color *pdc,\n
      \           const gx_color_tile *p_tile, const gx_color_tile *m_tile,\n            cos_stream_t
      *pcs_image, pdf_resource_t **ppres)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:219,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:222,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:228,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:248,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:249,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:255,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:256,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:259,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:260,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:263,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:265,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:267,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:269,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:271,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:273,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:275,1
    - Dst: cos_dict_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:277,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:279,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:281,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:283,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:283,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - pdev
    - pres
    - pinst
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - gs_pattern1_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 286
    functionName: pdf_store_pattern1_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - cos_stream_dict
    - gs_matrix_multiply
    - any_abs
    - cos_dict_put_c_key_int
    - COS_OBJECT
    - cos_dict_put_c_strings
    - ctm_only
    - cos_dict_put_c_key_object
    - cos_dict_put_matrix
    - cos_dict_put_c_key_floats
    - cos_dict_put_c_key_real
    - gs_make_identity
    - return_error
    - gs_make_scaling
    linkageType: ''
    returnType: int
    signature: "int pdf_store_pattern1_params(gx_device_pdf *pdev, pdf_resource_t
      *pres,\n                        gs_pattern1_instance_t *pinst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pic
    - tile
    argTypes:
    - gs_data_image_t*
    - gx_strip_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: pdf_set_pattern_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_set_pattern_image(gs_data_image_t *pic, const gx_strip_bitmap
      *tile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_t_init_mask_adjust
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:306,1
    - Dst: pdf_set_pattern_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:307,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:308,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:309,1
    - Dst: psdf_CFE_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:311,1
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:312,1
    - Dst: pdf_copy_mask_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:316,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:317,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:318,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - m_tile
    - ppcs_mask
    argTypes:
    - gx_device_pdf*
    - gx_color_tile*
    - cos_stream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 323
    functionName: pdf_put_pattern_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - pdf_begin_image_data
    - pdf_image_writer_init
    - psdf_CFE_binary
    - pdf_begin_write_image
    - pdf_end_write_image
    - pdf_copy_mask_bits
    - gs_image_t_init_mask_adjust
    - pdf_end_image_binary
    - pdf_set_pattern_image
    linkageType: ''
    returnType: int
    signature: "int pdf_put_pattern_mask(gx_device_pdf *pdev, const gx_color_tile
      *m_tile,\n                     cos_stream_t **ppcs_mask)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:341,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:341,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:342,1
    - Dst: tile_size_ok
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:350,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:351,1
    - Dst: pdf_cs_Pattern_uncolored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:353,1
    - Dst: pdf_put_pattern_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:354,1
    - Dst: pdf_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:355,1
    - Dst: pdf_cs_Pattern_uncolored_hl
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:359,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:362,1
    - Dst: pdf_substitute_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:363,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:371,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:376,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:377,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:380,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:380,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:381,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - pdev
    - pdc
    - pcs
    - ppscc
    - pgs
    - ppres
    argTypes:
    - gx_device_pdf*
    - gx_drawing_color*
    - gs_color_space*
    - psdf_set_color_commands_t*
    - gs_gstate*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 383
    functionName: pdf_put_uncolored_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - tile_size_ok
    - cos_value_write
    - pdf_put_pattern_mask
    - pdf_find_resource_by_gs_id
    - pdf_cs_Pattern_uncolored_hl
    - pprints1
    - pdf_cs_Pattern_uncolored
    - pdf_substitute_pattern
    - gx_dc_pure_color
    - psdf_set_color
    - return_error
    - pdf_pattern
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int pdf_put_uncolored_pattern(gx_device_pdf *pdev, const gx_drawing_color
      *pdc,\n                          const gs_color_space *pcs,\n                          const
      psdf_set_color_commands_t *ppscc,\n                          const gs_gstate
      * pgs, pdf_resource_t **ppres)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_uncolored_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:453,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:461,1
    - Dst: tile_size_ok
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:465,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:466,1
    - Dst: pdf_cs_Pattern_colored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:468,1
    - Dst: pdf_cspace_init_Device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:471,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:476,1
    - Dst: gs_image_t_init_adjust
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:484,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:487,1
    - Dst: pdf_set_pattern_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:489,1
    - Dst: pdf_put_pattern_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:491,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:494,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:496,1
    - Dst: psdf_setup_lossless_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:497,1
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:500,1
    - Dst: pdf_copy_color_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:504,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:505,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:510,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:510,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:511,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:512,1
    - Dst: pdf_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:516,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:521,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:522,1
    - Dst: pdf_substitute_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:523,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:528,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:529,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:530,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 79
    argCount: 6
    argNames:
    - pdev
    - pdc
    - pcs
    - ppscc
    - pgs
    - ppres
    argTypes:
    - gx_device_pdf*
    - gx_drawing_color*
    - gs_color_space*
    - psdf_set_color_commands_t*
    - gs_gstate*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 385
    functionDepth: 4
    functionLinenumber: 385
    functionLinenumberEnd: 532
    functionName: pdf_put_colored_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - pdf_image_writer_init
    - pdf_put_pattern_mask
    - pdf_end_write_image
    - gs_image_t_init_adjust
    - pdf_put_uncolored_pattern
    - rc_decrement_cs
    - pdf_color_space_named
    - pdf_begin_image_data
    - COS_OBJECT
    - pdf_begin_write_image
    - pprints1
    - pdf_substitute_pattern
    - psdf_setup_lossless_filters
    - pdf_end_image_binary
    - pdf_pattern
    - pdf_copy_color_bits
    - pdf_find_resource_by_gs_id
    - cos_dict_put_c_key_object
    - pdf_set_pattern_image
    - tile_size_ok
    - cos_value_write
    - pdf_cs_Pattern_colored
    - pdf_cspace_init_Device
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_put_colored_pattern(gx_device_pdf *pdev, const gx_drawing_color
      *pdc,\n                        const gs_color_space *pcs,\n                        const
      psdf_set_color_commands_t *ppscc,\n                        const gs_gstate *
      pgs, pdf_resource_t **ppres)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ShadingType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:541,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:543,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:548,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:549,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:551,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:556,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:558,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:569,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 6
    argNames:
    - pdev
    - pscd
    - pgs
    - psh
    - shfill
    - ppranges
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - gs_gstate*
    - gs_shading_t*
    - bool
    - gs_range_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 574
    functionName: pdf_put_shading_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - ShadingType
    - pdf_color_space_named
    - cos_dict_put_c_key
    - cos_dict_put_c_key_int
    - cos_dict_put_c_strings
    - cos_dict_put_c_key_floats
    - gs_color_space_num_components
    linkageType: ''
    returnType: int
    signature: "int pdf_put_shading_common(gx_device_pdf *pdev, cos_dict_t *pscd,
      const gs_gstate * pgs, const gs_shading_t *psh,\n                       bool
      shfill, const gs_range_t **ppranges)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_function_scaled
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:586,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - pscd
    - pfn
    - pranges
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - gs_function_t*
    - gs_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 590
    functionName: pdf_put_shading_Function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - pdf_function_scaled
    - cos_dict_put_c_key
    linkageType: ''
    returnType: int
    signature: "int pdf_put_shading_Function(gx_device_pdf *pdev, cos_dict_t *pscd,
      const gs_function_t *pfn,\n                         const gs_range_t *pranges)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:600,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:604,1
    - Dst: pdf_put_shading_Function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:605,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:611,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:614,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:616,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 8
    argNames:
    - pdev
    - pscd
    - Coords
    - num_coords
    - Domain
    - Function
    - Extend
    - pranges
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - float*
    - int
    - float*
    - gs_function_t*
    - bool*
    - gs_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 619
    functionName: pdf_put_linear_shading
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - pdf_put_shading_Function
    - strlen
    - cos_dict_put_c_key_floats
    - gs_sprintf
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdf_put_linear_shading(gx_device_pdf *pdev, cos_dict_t *pscd,
      const float *Coords,\n                       int num_coords, const float *Domain
      /*[2]*/,\n                       const gs_function_t *Function,\n                       const
      bool *Extend /*[2]*/,\n                       const gs_range_t *pranges)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ShadingType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:629,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:634,1
    - Dst: pdf_put_shading_Function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:635,1
    - Dst: cos_dict_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:636,1
    - Dst: pdf_put_linear_shading
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:645,1
    - Dst: pdf_put_linear_shading
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:653,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - pdev
    - pscd
    - psh
    - pranges
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - gs_shading_t*
    - gs_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 660
    functionName: pdf_put_scalar_shading
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - ShadingType
    - pdf_put_shading_Function
    - cos_dict_put_matrix
    - cos_dict_put_c_key_floats
    - pdf_put_linear_shading
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_put_scalar_shading(gx_device_pdf *pdev, cos_dict_t *pscd,
      const gs_shading_t *psh,\n                       const gs_range_t *pranges)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:666,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pca
    - lower
    - upper
    argTypes:
    - cos_array_t*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 671
    functionName: pdf_array_add_real2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_array_add_real
    linkageType: ''
    returnType: int
    signature: int pdf_array_add_real2(cos_array_t *pca, double lower, double upper)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - p
    - v
    - num_bytes
    argTypes:
    - byte*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 697
    functionName: put_clamped
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put_clamped(byte *p, double v, int num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_clamped
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:701,1
    - Dst: ENCODE_MESH_COORDINATE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - num_bytes
    argTypes:
    - byte*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: put_clamped_coord
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - ENCODE_MESH_COORDINATE
    - put_clamped
    linkageType: ''
    returnType: void
    signature: void put_clamped_coord(byte *p, double v, int num_bytes)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:719,1
    - Dst: put_clamped_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:722,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:722,1
    - Dst: put_clamped_coord
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:723,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:723,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:725,1
    - Dst: shade_coord_stream_t*::get_decoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:732,1
    - Dst: ENCODE_MESH_COLOR_INDEX
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:737,1
    - Dst: ENCODE_MESH_COMPONENT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:757,1
    - Dst: put_clamped
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:759,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:760,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - pdev
    - pscs
    - cs
    - flag
    - num_comps
    - pmdp
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - shade_coord_stream_t*
    - int
    - int
    - pdf_mesh_data_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 764
    functionName: put_float_mesh_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - ENCODE_MESH_COLOR_INDEX
    - shade_next_coords
    - shade_coord_stream_t*::get_decoded
    - ENCODE_MESH_COMPONENT
    - cos_stream_add_bytes
    - put_clamped_coord
    - put_clamped
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int put_float_mesh_data(gx_device_pdf *pdev, cos_stream_t *pscs, shade_coord_stream_t
      *cs,\n                    int flag, int num_comps, const pdf_mesh_data_params_t
      *pmdp)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:771,1
    - Dst: data_source_is_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:778,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:789,1
    - Dst: shade_next_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:794,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:796,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:800,1
    - Dst: pdf_array_add_real2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:802,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:806,1
    - Dst: pdf_array_add_real2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:808,1
    - Dst: pdf_array_add_real2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:826,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:830,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:830,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:836,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:844,1
    - Dst: cos_stream_add_stream_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:847,1
    - Dst: pdf_put_shading_Function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:853,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:854,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:856,1
    - Dst: ShadingType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:861,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:869,1
    - Dst: put_float_mesh_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:870,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:873,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:874,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:887,1
    - Dst: put_float_mesh_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:888,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:891,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:900,1
    - Dst: put_float_mesh_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:903,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:907,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:908,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:919,1
    - Dst: put_float_mesh_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:922,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:926,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:927,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:934,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:936,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 119
    argCount: 4
    argNames:
    - pdev
    - pscs
    - psh
    - pranges
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - gs_shading_t*
    - gs_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 940
    functionName: pdf_put_mesh_shading
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - put_float_mesh_data
    - cos_array_alloc
    - gs_color_space_get_index
    - data_source_is_array
    - shade_next_init
    - COS_OBJECT
    - pdf_put_shading_Function
    - cos_stream_add_stream_contents
    - gs_note_error
    - shade_next_flag
    - ShadingType
    - pdf_array_add_real2
    - cos_dict_put_c_key_object
    - cos_dict_put_c_key_floats
    - cos_dict_put_c_key_int
    - seofp
    - gs_color_space_num_components
    - gs_make_identity
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_put_mesh_shading(gx_device_pdf *pdev, cos_stream_t *pscs,
      const gs_shading_t *psh,\n                     const gs_range_t *pranges)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pdf_cs_Pattern_colored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:957,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:964,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:968,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:970,1
    - Dst: ShadingType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:974,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:976,1
    - Dst: pdf_put_shading_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:977,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:977,1
    - Dst: pdf_put_mesh_shading
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:980,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:985,1
    - Dst: pdf_put_shading_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:986,1
    - Dst: pdf_put_scalar_shading
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:988,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:994,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1007,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1026,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1034,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1035,1
    - Dst: cos_dict_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1036,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1040,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1046,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1047,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pdc
    - ppscc
    - ppres
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_drawing_color*
    - psdf_set_color_commands_t*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 943
    functionDepth: 4
    functionLinenumber: 943
    functionLinenumberEnd: 1049
    functionName: pdf_put_pattern2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - cos_become
    - ShadingType
    - pdf_put_shading_common
    - cos_stream_dict
    - pdf_put_mesh_shading
    - pdf_put_scalar_shading
    - pdf_substitute_resource
    - cos_dict_put_c_key_int
    - gs_distance_transform_inverse
    - pdf_cs_Pattern_colored
    - cos_dict_put_c_key_object
    - cos_value_write
    - cos_dict_put_matrix
    - pdf_alloc_resource
    - pprints1
    - gs_currentmatrix
    linkageType: ''
    returnType: int
    signature: "int pdf_put_pattern2(gx_device_pdf *pdev, const gs_gstate * pgs, const
      gx_drawing_color *pdc,\n                 const psdf_set_color_commands_t *ppscc,\n
      \                pdf_resource_t **ppres)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c:1060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - cspace
    - res_name
    - name_length
    argTypes:
    - gx_device*
    - gs_color_space*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1054
    functionDepth: 1
    functionLinenumber: 1054
    functionLinenumberEnd: 1062
    functionName: gdev_pdf_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfv.c
    functionUses: 0
    functionsReached:
    - pdf_color_space_named
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_include_color_space(gx_device *dev, gs_color_space *cspace,
      const byte *res_name, int name_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_skip_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 72
    functionName: skip_iv
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - decrypt_skip_next
    linkageType: ''
    returnType: void
    signature: void skip_iv(gs_type1_state *pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_type1_interp_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:84,1
    - Dst: skip_iv
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pcis
    - pgd
    - pfont
    argTypes:
    - gs_type1_state*
    - gs_glyph_data_t*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: type1_next_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - skip_iv
    - gs_type1_interp_init
    linkageType: ''
    returnType: void
    signature: "void type1_next_init(gs_type1_state *pcis, const gs_glyph_data_t *pgd,\n
      \               gs_font_type1 *pfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: type1_clear
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void type1_clear(gs_type1_state *pcis)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:107,1
    - Dst: skip_iv
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pcis
    - index
    argTypes:
    - gs_type1_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: type1_callsubr
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_font_type1*::data::procs::subr_data
    - skip_iv
    linkageType: ''
    returnType: int
    signature: int type1_callsubr(gs_type1_state *pcis, int index)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:124,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 5
    argNames:
    - pcis
    - psht
    - pv
    - lsb
    - active_hints
    argTypes:
    - gs_type1_state*
    - cv_stem_hint_table*
    - fixed*
    - fixed
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 145
    functionName: type1_stem1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - return_error
    - memmove
    linkageType: ''
    returnType: int
    signature: "int type1_stem1(gs_type1_state *pcis, cv_stem_hint_table *psht, const
      fixed *pv,\n            fixed lsb, byte *active_hints)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:150,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:151,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pcis
    - psht
    - pv3
    - lsb
    - active_hints
    argTypes:
    - gs_type1_state*
    - cv_stem_hint_table*
    - fixed*
    - fixed
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 153
    functionName: type1_stem3
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - type1_stem1
    linkageType: ''
    returnType: void
    signature: "void type1_stem3(gs_type1_state *pcis, cv_stem_hint_table *psht, const
      fixed *pv3,\n            fixed lsb, byte *active_hints)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:181,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:183,1
    - Dst: decode_push_num1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:187,1
    - Dst: decode_push_num2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:189,1
    - Dst: decode_num4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:193,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:194,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:195,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:196,1
    - Dst: gs_type1_check_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:201,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:206,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:210,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:214,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:214,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:219,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:220,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:222,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:231,1
    - Dst: type1_callsubr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:233,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:233,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:236,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:243,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:247,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:254,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:261,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:268,1
    - Dst: gs_type1_blend
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:286,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:300,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 134
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 310
    functionName: type1_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - decode_push_num1
    - gs_debug_c
    - gs_type1_blend
    - decode_push_num2
    - CS_CHECK_PUSH
    - type1_callsubr
    - fixed2int_var
    - charstring_next
    - decode_num4
    - dmprintf1
    - fixed2long
    - return_error
    - gs_type1_check_float
    - gs_glyph_data_free
    - int2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int type1_next(gs_type1_state *pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:318,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: sputc2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void sputc2(stream *s, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:324,1
    - Dst: sputc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: sputc4
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - sputc2
    linkageType: ''
    returnType: void
    signature: void sputc4(stream *s, int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:333,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:334,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - s
    - op
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 337
    functionName: type2_put_op
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - spputc
    - sputc
    linkageType: ''
    returnType: void
    signature: void type2_put_op(stream *s, int op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:344,1
    - Dst: sputc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:346,1
    - Dst: sputc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:348,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:350,1
    - Dst: sputc2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:351,1
    - Dst: type2_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:358,1
    - Dst: type2_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:359,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:360,1
    - Dst: type2_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:361,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:362,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: type2_put_int
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 1
    functionsReached:
    - sputc2
    - type2_put_op
    - spputc
    - type2_put_int
    - sputc
    linkageType: ''
    returnType: void
    signature: void type2_put_int(stream *s, int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fixed_is_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:370,1
    - Dst: type2_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:371,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:371,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:372,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:372,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:374,1
    - Dst: sputc4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:375,1
    - Dst: type2_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:377,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:377,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:378,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:378,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - stream*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: type2_put_fixed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 1
    functionsReached:
    - sputc4
    - fixed2int_var
    - fixed_is_int
    - type2_put_fixed
    - fixed_fraction
    - type2_put_op
    - spputc
    - type2_put_int
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void type2_put_fixed(stream *s, fixed v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:396,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:399,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:400,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - s
    - os_count
    - psht
    - op
    argTypes:
    - stream*
    - int
    - cv_stem_hint_table*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 384
    functionDepth: 4
    functionLinenumber: 384
    functionLinenumberEnd: 404
    functionName: type2_put_stems
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - type2_put_fixed
    - type2_put_op
    linkageType: ''
    returnType: void
    signature: void type2_put_stems(stream *s, int os_count, const cv_stem_hint_table
      *psht, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:412,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - mask
    - size
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: type2_put_hintmask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - sputs
    - type2_put_op
    linkageType: ''
    returnType: void
    signature: void type2_put_hintmask(stream *s, const byte *mask, uint size)
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:479,1
    - Dst: type1_next_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:490,1
    - Dst: type1_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:492,1
    - Dst: type1_clear
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:505,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:508,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:511,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:514,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:517,1
    - Dst: type1_stem3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:521,1
    - Dst: type1_stem3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:524,1
    - Dst: type1_clear
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:526,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:529,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:531,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:531,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:532,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:560,1
    - Dst: type1_next_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:565,1
    - Dst: CLEAR_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:566,1
    - Dst: type1_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:568,1
    - Dst: CHECK_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:580,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:583,1
    - Dst: CHECK_HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:596,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:598,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:601,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:604,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:605,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:617,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:623,1
    - Dst: CHECK_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:626,1
    - Dst: CHECK_HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:627,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:630,1
    - Dst: type1_clear
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:633,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:636,1
    - Dst: HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:638,1
    - Dst: type1_clear
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:639,1
    - Dst: type1_stem1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:642,1
    - Dst: type1_stem3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:645,1
    - Dst: type1_stem3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:648,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:652,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:653,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:656,1
    - Dst: HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:659,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:674,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:677,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:680,1
    - Dst: CHECK_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:683,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:686,1
    - Dst: type1_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:692,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:693,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:695,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:696,1
    - Dst: CHECK_HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:701,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:703,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:706,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:709,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:710,1
    - Dst: type1_clear
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:713,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:716,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:738,1
    - Dst: type2_put_stems
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:739,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:746,1
    - Dst: type2_put_stems
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:747,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:763,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:764,1
    - Dst: CHECK_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:767,1
    - Dst: type2_put_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:769,1
    - Dst: type2_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:770,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:773,1
    - Dst: CHECK_OP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:778,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:779,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:781,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:788,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:804,1
    - Dst: HINTS_CHANGED
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:805,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:812,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:868,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:869,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:871,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:876,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:877,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:880,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:898,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:900,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:907,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:910,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:923,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:925,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:937,1
    - Dst: POP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c:940,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 417
    argCount: 3
    argNames:
    - s
    - pgd
    - pfont
    argTypes:
    - stream*
    - gs_glyph_data_t*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 428
    functionDepth: 5
    functionLinenumber: 428
    functionLinenumberEnd: 952
    functionName: psf_convert_type1_to_type2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 0
    functionsReached:
    - type1_stem1
    - CHECK_OP
    - type1_clear
    - memmove
    - type2_put_op
    - POP
    - fixed2int_var
    - memset
    - type1_next
    - fixed2int
    - gs_type1_sbw
    - type2_put_fixed
    - HINTS_CHANGED
    - int2fixed
    - CLEAR_OP
    - type2_put_stems
    - type1_next_init
    - memcpy
    - CHECK_HINTS_CHANGED
    - return_error
    - type1_stem3
    linkageType: ''
    returnType: int
    signature: "int psf_convert_type1_to_type2(stream *s, const gs_glyph_data_t *pgd,\n
      \                          gs_font_type1 *pfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 460
    functionName: CHECK_HINTS_CHANGED
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_HINTS_CHANGED()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: CLEAR_OP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_OP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 476
    functionName: CHECK_OP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: POP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: POP(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: private_st_pdf_text_enum
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_text_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: PROCESS_TEXT_PROC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PROCESS_TEXT_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - key
    - ','
    - type
    - ','
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: pi
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pi(key, type, memb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - acs
    - ','
    - aa
    - ','
    - af
    - ','
    - de
    - ','
    - di
    - ','
    - ds
    - ','
    - dt
    - ','
    - dst
    - ','
    - dstd
    - ','
    - e
    - ','
    - f
    - ','
    - fns
    - ','
    - r
    - ','
    - afs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 143
    functionName: psdf_image_param_names
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_image_param_names(acs, aa, af, de, di, ds, dt, dst, dstd, e, f,
      fns, r, afs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:270,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - plist
    - key
    - str
    argTypes:
    - gs_param_list*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 272
    functionName: psdf_write_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_write_name
    - param_string_from_string
    linkageType: ''
    returnType: int
    signature: int psdf_write_name(gs_param_list *plist, const char *key, const char
      *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - plist
    - key
    - pstr
    argTypes:
    - gs_param_list*
    - char*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: psdf_write_string_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_write_string
    linkageType: ''
    returnType: int
    signature: "int psdf_write_string_param(gs_param_list *plist, const char *key,\n
      \                       const gs_const_string *pstr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:300,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:303,1
    - Dst: param_list_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:304,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:306,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - plist
    - pname
    - plvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_c_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 308
    functionName: psdf_get_image_dict_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_list_copy
    - param_end_write_dict
    - gs_c_param_list_read
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: "int psdf_get_image_dict_param(gs_param_list * plist, const gs_param_name
      pname,\n                          gs_c_param_list *plvalue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:325,1
    - Dst: psdf_get_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:329,1
    - Dst: psdf_get_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:336,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:341,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:348,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - plist
    - pnames
    - params
    argTypes:
    - gs_param_list*
    - psdf_image_param_names_t*
    - psdf_image_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 363
    functionName: psdf_get_image_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_write_name
    - gs_param_write_items
    - psdf_get_image_dict_param
    linkageType: ''
    returnType: int
    signature: "int psdf_get_image_params(gs_param_list * plist,\n          const
      psdf_image_param_names_t * pnames, psdf_image_params * params)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:370,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - plist
    - allpname
    - psa
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 375
    functionName: psdf_get_embed_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_write_name_array
    linkageType: ''
    returnType: int
    signature: "int psdf_get_embed_param(gs_param_list *plist, gs_param_name allpname,\n
      \                    const gs_param_string_array *psa)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:390,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:396,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:404,1
    - Dst: psdf_get_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:405,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:407,1
    - Dst: psdf_get_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:408,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:410,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:411,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:413,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:414,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:420,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:421,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:424,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - pdev
    - image_names
    - params
    - Param
    - plist
    argTypes:
    - gx_device_psdf*
    - psdf_image_param_names_t*
    - psdf_image_params*
    - char*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 425
    functionName: gdev_psdf_get_image_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - psdf_get_image_dict_param
    - psdf_write_name
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gdev_psdf_get_image_param(gx_device_psdf *pdev, const psdf_image_param_names_t
      *image_names,\n                              psdf_image_params * params, char
      *Param, gs_param_list * plist)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_get_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:435,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:441,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:447,1
    - Dst: gdev_psdf_get_image_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:460,1
    - Dst: gdev_psdf_get_image_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:470,1
    - Dst: gdev_psdf_get_image_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:475,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:479,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:480,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:483,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:484,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:487,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:488,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:491,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:492,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:495,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:496,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:499,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:500,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:503,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:504,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:507,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:508,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:511,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:512,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:515,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:516,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:519,1
    - Dst: psdf_get_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:520,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:522,1
    - Dst: psdf_get_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:523,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:525,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:526,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:529,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 67
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 426
    functionDepth: 3
    functionLinenumber: 426
    functionLinenumberEnd: 530
    functionName: gdev_psdf_get_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gdev_psdf_get_image_param
    - psdf_get_embed_param
    - psdf_write_name
    - psdf_write_string_param
    - memcpy
    - return_error
    - gdev_vector_get_param
    linkageType: ''
    returnType: int
    signature: int gdev_psdf_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:536,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:540,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:546,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:551,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:556,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:561,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:566,1
    - Dst: psdf_get_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:573,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:579,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:584,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:589,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:594,1
    - Dst: psdf_write_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:599,1
    - Dst: psdf_get_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:606,1
    - Dst: psdf_get_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:614,1
    - Dst: psdf_get_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:620,1
    - Dst: psdf_get_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:624,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:628,1
    - Dst: psdf_write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:632,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 532
    functionDepth: 3
    functionLinenumber: 532
    functionLinenumberEnd: 636
    functionName: gdev_psdf_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_get_image_params
    - gdev_vector_get_params
    - psdf_get_embed_param
    - param_write_string_array
    - psdf_write_name
    - psdf_write_string_param
    - gs_param_write_items
    linkageType: ''
    returnType: int
    signature: int gdev_psdf_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:651,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:654,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:657,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:658,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - plist
    - key
    - pstr
    - mem
    - ecode
    argTypes:
    - gs_param_list*
    - char*
    - gs_const_string*
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: psdf_read_string_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - return_error
    - memcpy
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int psdf_read_string_param(gs_param_list *plist, const char *key,\n
      \                      gs_const_string *pstr, gs_memory_t *mem, int ecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:679,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - plist
    - key
    - value
    - pnames
    - pecode
    argTypes:
    - gs_param_list*
    - char*
    - int
    - char*[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 681
    functionName: psdf_put_enum
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_put_enum
    linkageType: ''
    returnType: int
    signature: "int psdf_put_enum(gs_param_list *plist, const char *key, int value,\n
      \             const char *const pnames[], int *pecode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_CF_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - plist
    - st
    argTypes:
    - gs_param_list*
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 692
    functionName: psdf_CF_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - s_CF_put_params
    linkageType: ''
    returnType: int
    signature: int psdf_CF_put_params(gs_param_list * plist, stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psdf_DCT_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - st
    argTypes:
    - gs_param_list*
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 699
    functionName: psdf_DCT_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_DCT_filter
    linkageType: ''
    returnType: int
    signature: int psdf_DCT_put_params(gs_param_list * plist, stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_name_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:710,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - plist
    - pname
    - psa
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 718
    functionName: param_read_embed_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_name_array
    linkageType: ''
    returnType: int
    signature: "int param_read_embed_array(gs_param_list * plist, gs_param_name pname,\n
      \                      gs_param_string_array * psa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ps1
    - ps2
    argTypes:
    - gs_param_string*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 1
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: param_string_eq
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 3
    functionsReached:
    - bytes_compare
    linkageType: ''
    returnType: bool
    signature: bool param_string_eq(const gs_param_string *ps1, const gs_param_string
      *ps2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:737,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:741,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:744,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:745,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - prsa
    - psa
    - mem
    argTypes:
    - gs_param_string_array*
    - gs_param_string_array*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 754
    functionName: add_embed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - param_string_eq
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int add_embed(gs_param_string_array *prsa, const gs_param_string_array
      *psa,\n          gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:768,1
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:771,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - prsa
    - pnsa
    - mem
    argTypes:
    - gs_param_string_array*
    - gs_param_string_array*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 777
    functionName: delete_embed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_string_eq
    - gs_free_const_string
    linkageType: ''
    returnType: void
    signature: "void delete_embed(gs_param_string_array *prsa, const gs_param_string_array
      *pnsa,\n             gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:785,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:790,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:791,1
    - Dst: add_embed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:795,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:797,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:800,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - psa
    - asa
    - mem
    argTypes:
    - gs_param_string_array*
    - gs_param_string_array*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 803
    functionName: merge_embed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_free_const_object
    - memcpy
    - return_error
    - add_embed
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int merge_embed(gs_param_string_array * psa, gs_param_string_array
      * asa,\n                     gs_memory_t *mem)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:814,1
    - Dst: param_read_embed_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:815,1
    - Dst: param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:824,1
    - Dst: delete_embed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:832,1
    - Dst: merge_embed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:833,1
    - Dst: param_read_embed_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:838,1
    - Dst: delete_embed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:842,1
    - Dst: param_read_embed_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:843,1
    - Dst: merge_embed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:847,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:852,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 6
    argNames:
    - plist
    - notpname
    - pname
    - psa
    - mem
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_name
    - gs_param_string_array*
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 855
    functionName: psdf_put_embed_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - merge_embed
    - gs_resize_object
    - param_read_embed_array
    - delete_embed
    - param_string_eq
    - gs_memory_stable
    linkageType: ''
    returnType: int
    signature: "int psdf_put_embed_param(gs_param_list * plist, gs_param_name notpname,\n
      \                    gs_param_name pname, gs_param_string_array * psa,\n                     gs_memory_t
      *mem, int ecode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:868,1
    - Dst: param_begin_read_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:869,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:871,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:877,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:880,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:883,1
    - Dst: put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:884,1
    - Dst: stream_template*::release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:886,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:887,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:889,1
    - Dst: gs_c_param_list_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:891,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:893,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:894,1
    - Dst: param_list_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:895,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:898,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:899,1
    - Dst: param_end_read_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:904,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:909,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 6
    argNames:
    - plist
    - pname
    - pplvalue
    - templat
    - put_params
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_c_param_list**
    - stream_template*
    - ss_put_params_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 913
    functionName: psdf_put_image_dict_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - param_begin_read_dict
    - stream_template*::set_defaults
    - param_list_copy
    - gs_c_param_list_release
    - s_alloc_state
    - stream_template*::release
    - gs_c_param_list_alloc
    - param_end_read_dict
    - put_params
    - return_error
    - gs_c_param_list_write
    - param_signal_error
    - gs_memory_stable
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int psdf_put_image_dict_param(gs_param_list * plist, const gs_param_name
      pname,\n                          gs_c_param_list **pplvalue,\n                          const
      stream_template * templat,\n                          ss_put_params_t put_params,
      gs_memory_t * mem)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:931,1
    - Dst: psdf_put_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:936,1
    - Dst: psdf_put_image_dict_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:956,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:963,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:971,1
    - Dst: gs_param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:977,1
    - Dst: gs_param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:981,1
    - Dst: gs_param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:989,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:999,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1005,1
    - Dst: gs_param_string_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1010,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1022,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 88
    argCount: 5
    argNames:
    - pdev
    - plist
    - pnames
    - params
    - ecode
    argTypes:
    - gx_device_psdf*
    - gs_param_list*
    - psdf_image_param_names_t*
    - psdf_image_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 916
    functionDepth: 2
    functionLinenumber: 916
    functionLinenumberEnd: 1045
    functionName: psdf_put_image_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_put_enum
    - gs_param_string_eq
    - param_signal_error
    - gs_param_read_items
    - psdf_put_image_dict_param
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int psdf_put_image_params(const gx_device_psdf * pdev, gs_param_list
      * plist,\n                      const psdf_image_param_names_t * pnames,\n                      psdf_image_params
      * params, int ecode)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1066,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1067,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1069,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1071,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1071,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1072,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1077,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1079,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1079,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1080,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 4
    argNames:
    - mem
    - plist
    - sa
    - da
    argTypes:
    - gs_memory_t*
    - gs_param_list*
    - gs_param_string_array*
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1089
    functionName: psdf_copy_param_string_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memset
    - memcpy
    - return_error
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int psdf_copy_param_string_array(gs_memory_t *mem, gs_param_list *
      plist, gs_param_string_array *sa, gs_param_string_array *da)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_read_embed_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1096,1
    - Dst: psdf_copy_param_string_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - mem
    - plist
    - Key
    - da
    argTypes:
    - gs_memory_t*
    - gs_param_list*
    - char*
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1104
    functionName: psdf_read_copy_param_string_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_copy_param_string_array
    - param_read_embed_array
    linkageType: ''
    returnType: int
    signature: int psdf_read_copy_param_string_array(gs_memory_t *mem, gs_param_list
      * plist, char *Key, gs_param_string_array *da)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1123,1
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1148,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1153,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1161,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1169,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1178,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1187,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1194,1
    - Dst: psdf_put_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1199,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1208,1
    - Dst: psdf_read_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1216,1
    - Dst: psdf_read_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1218,1
    - Dst: psdf_read_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1220,1
    - Dst: psdf_read_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1222,1
    - Dst: psdf_put_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1227,1
    - Dst: psdf_put_image_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1238,1
    - Dst: psdf_put_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1248,1
    - Dst: psdf_put_embed_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1250,1
    - Dst: psdf_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1254,1
    - Dst: psdf_read_string_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1263,1
    - Dst: psdf_read_copy_param_string_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1268,1
    - Dst: gdev_vector_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1272,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1282,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1283,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1291,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1297,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1298,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1303,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1305,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1307,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1309,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1311,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1313,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1315,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1317,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1319,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c:1321,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 133
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1107
    functionDepth: 4
    functionLinenumber: 1107
    functionLinenumberEnd: 1324
    functionName: gdev_psdf_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdp.c
    functionUses: 0
    functionsReached:
    - psdf_put_enum
    - psdf_read_string_param
    - gdev_vector_put_params
    - gs_free_string
    - gs_param_read_items
    - psdf_put_image_params
    - psdf_read_copy_param_string_array
    - gs_free_object
    - param_read_bool
    - param_put_bool
    - gs_c_param_list_release
    - gs_memory_stable
    - psdf_put_embed_param
    linkageType: ''
    returnType: int
    signature: int gdev_psdf_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:60,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:67,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:70,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:82,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:87,1
    - Dst: gs_text_enum_t*::orig_font::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:89,1
    - Dst: gx_current_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:100,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:107,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:140,1
    - Dst: pdf_process_string_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:142,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:146,1
    - Dst: gs_text_enum_t*::orig_font::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:156,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:160,1
    - Dst: pdf_text_release_cgp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:184,1
    - Dst: pdf_shift_text_currentpoint
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:197,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - pte
    - vbuf
    - bsize
    argTypes:
    - gs_text_enum_t*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 198
    functionName: process_composite_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - gx_current_char
    - gx_path_current_point
    - pdf_shift_text_currentpoint
    - gs_text_enum_copy_dynamic
    - gs_text_enum_t*::orig_font::procs::next_char_glyph
    - pdf_process_string_aux
    - pdf_text_release_cgp
    - return_error
    linkageType: ''
    returnType: int
    signature: int process_composite_text(gs_text_enum_t *pte, void *vbuf, uint bsize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:280,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:286,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:287,1
    - Dst: gs_cmap_is_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:300,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:306,1
    - Dst: pdf_cmap_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:309,1
    - Dst: gs_cmap_ranges_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:317,1
    - Dst: gs_cmap_enum_next_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:318,1
    - Dst: gs_cmap_enum_next_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:319,1
    - Dst: gs_cmap_create_char_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:328,1
    - Dst: pdf_cmap_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:334,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:344,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:348,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:349,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:351,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:354,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:355,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:363,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:365,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:367,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 4
    argNames:
    - pdev
    - pdfont
    - pcmap
    - font_index_only
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 372
    functionName: attach_cmap_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - pdf_cmap_alloc
    - gs_cmap_create_char_identity
    - pdf_find_resource_by_gs_id
    - strlen
    - pdf_resource_id
    - strcpy
    - gs_sprintf
    - gs_cmap_enum_next_range
    - memcpy
    - gs_cmap_ranges_enum_init
    - memcmp
    - return_error
    - gs_cmap_is_identity
    linkageType: ''
    returnType: int
    signature: "int attach_cmap_resource(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont,\n                const gs_cmap_t *pcmap, int font_index_only)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:383,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:386,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:387,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:388,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:389,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:391,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:392,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:393,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:394,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:395,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:395,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:395,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:396,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:396,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:396,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:397,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:397,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:397,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:398,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:398,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:398,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pte
    - font
    - pfmat
    - text_bbox
    argTypes:
    - pdf_text_enum_t*
    - gs_font_base*
    - gs_matrix*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 401
    functionName: estimate_fontbbox
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - ctm_only
    - max
    - return_error
    - gs_point_transform
    - min
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int estimate_fontbbox(pdf_text_enum_t *pte, gs_font_base *font,\n
      \                         const gs_matrix *pfmat,\n                          gs_rect
      *text_bbox)"
  - BBCount: 90
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:436,1
    - Dst: gs_font_type0*::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:450,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:467,1
    - Dst: pdf_obtain_cidfont_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:477,1
    - Dst: pdf_obtain_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:490,1
    - Dst: pdf_find_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:493,1
    - Dst: pdf_make_font3_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:495,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:498,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:507,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:509,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:526,1
    - Dst: pdf_resize_resource_arrays
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:544,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:555,1
    - Dst: pdf_obtain_cidfont_widths_arrays
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:562,1
    - Dst: pdf_obtain_parent_type0_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:565,1
    - Dst: pdf_is_CID_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:569,1
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:578,1
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:580,1
    - Dst: pdf_add_ToUnicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:586,1
    - Dst: pdf_add_ToUnicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:591,1
    - Dst: pdf_add_ToUnicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:596,1
    - Dst: pdf_font_used_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:603,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:607,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:609,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:611,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:625,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:631,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:633,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:636,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:650,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:660,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:666,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:668,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:671,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:681,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:693,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:705,1
    - Dst: gs_font_cid2*::cidata::CIDMap_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:715,1
    - Dst: gs_font_cid2*::data::substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:721,1
    - Dst: pdf_obtain_font_resource_unencoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:758,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:769,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:777,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:779,1
    - Dst: pdf_obtain_parent_type0_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:787,1
    - Dst: attach_cmap_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:797,1
    - Dst: pdf_set_text_wmode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:802,1
    - Dst: pdf_update_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:803,1
    - Dst: adjust_first_last_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:827,1
    - Dst: process_text_modify_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:831,1
    - Dst: process_text_modify_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:844,1
    - Dst: estimate_fontbbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:869,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:870,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:873,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:874,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:875,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:876,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:879,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:880,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:880,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:881,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:882,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:883,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:885,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:886,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:887,1
    - Dst: pdf_shift_text_currentpoint
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:891,1
    - Dst: pdf_text_release_cgp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:895,1
    CyclomaticComplexity: 122
    EdgeCount: 122
    ICount: 343
    argCount: 2
    argNames:
    - pte
    - vbuf
    argTypes:
    - pdf_text_enum_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 404
    functionDepth: 11
    functionLinenumber: 404
    functionLinenumberEnd: 907
    functionName: scan_cmap_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - gx_path_current_point
    - pdf_attach_font_resource
    - pdf_obtain_font_resource_unencoded
    - pdf_update_text_state
    - gx_default_fill_triangle
    - emprintf
    - estimate_fontbbox
    - pdf_make_font3_resource
    - pdf_attached_font_resource
    - gx_device_black
    - pdf_obtain_cidfont_resource
    - gs_matrix_multiply
    - gs_font*::procs::decode_glyph
    - attach_cmap_resource
    - fixed2float
    - pdf_obtain_parent_type0_font_resource
    - pdf_font_used_glyph
    - gs_font_cid2*::cidata::CIDMap_proc
    - min
    - gs_font*::procs::encode_char
    - gs_font_type0*::procs::next_char_glyph
    - pdf_obtain_font_resource
    - float2fixed
    - gx_make_clip_device_on_stack
    - pdf_glyph_widths
    - pdf_shift_text_currentpoint
    - adjust_first_last_char
    - pdf_find_glyph
    - process_text_modify_width
    - pdf_is_CID_font
    - pdf_text_release_cgp
    - gs_font_cid2*::data::substitute_glyph_index_vertical
    - emprintf3
    - set_nonclient_dev_color
    - pdf_add_ToUnicode
    - pdf_set_text_wmode
    - pdf_resize_resource_arrays
    - memcpy
    - return_error
    - pdf_obtain_cidfont_widths_arrays
    linkageType: ''
    returnType: int
    signature: int scan_cmap_text(pdf_text_enum_t *pte, void *vbuf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:920,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:923,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:937,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:938,1
    - Dst: scan_cmap_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:939,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:940,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - penum
    - vbuf
    - bsize
    argTypes:
    - gs_text_enum_t*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 909
    functionDepth: 12
    functionLinenumber: 909
    functionLinenumberEnd: 949
    functionName: process_cmap_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - gs_free_string
    - memcpy
    - return_error
    - scan_cmap_text
    linkageType: ''
    returnType: int
    signature: int process_cmap_text(gs_text_enum_t *penum, void *vbuf, uint bsize)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:981,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:990,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:999,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1010,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1013,1
    - Dst: pdf_obtain_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1017,1
    - Dst: gs_find_font_by_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1024,1
    - Dst: gs_font_type0_from_cidfont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1027,1
    - Dst: gs_type0_init_fstack
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1044,1
    - Dst: process_cmap_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c:1045,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - pte
    - vbuf
    - bsize
    argTypes:
    - gs_text_enum_t*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 956
    functionDepth: 13
    functionLinenumber: 956
    functionLinenumberEnd: 1052
    functionName: process_cid_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtc.c
    functionUses: 0
    functionsReached:
    - pdf_obtain_font_resource
    - gs_matrix_multiply
    - gs_find_font_by_id
    - gs_font_type0_from_cidfont
    - process_cmap_text
    - return_error
    - gs_matrix_invert
    - gs_type0_init_fstack
    linkageType: ''
    returnType: int
    signature: int process_cid_text(gs_text_enum_t *pte, void *vbuf, uint bsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppge
    - pglyph
    argTypes:
    - psf_glyph_enum_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 37
    functionName: enumerate_font_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::enumerate_glyph
    linkageType: ''
    returnType: int
    signature: int enumerate_font_next(psf_glyph_enum_t *ppge, gs_glyph *pglyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppge
    - pglyph
    argTypes:
    - psf_glyph_enum_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: enumerate_glyphs_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enumerate_glyphs_next(psf_glyph_enum_t *ppge, gs_glyph *pglyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppge
    - pglyph
    argTypes:
    - psf_glyph_enum_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: enumerate_range_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enumerate_range_next(psf_glyph_enum_t *ppge, gs_glyph *pglyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ppge
    - font
    - subset_list
    - subset_size
    - glyph_space
    argTypes:
    - psf_glyph_enum_t*
    - gs_font*
    - gs_glyph*
    - uint
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 67
    functionName: psf_enumerate_list_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - psf_enumerate_glyphs_reset
    linkageType: ''
    returnType: void
    signature: "void psf_enumerate_list_begin(psf_glyph_enum_t *ppge, gs_font *font,\n
      \                        const gs_glyph *subset_list, uint subset_size,\n                         gs_glyph_space_t
      glyph_space)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - ppge
    - pglyph
    argTypes:
    - psf_glyph_enum_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: enumerate_bits_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enumerate_bits_next(psf_glyph_enum_t *ppge, gs_glyph *pglyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - ppge
    - font
    - subset_bits
    - subset_size
    - glyph_space
    argTypes:
    - psf_glyph_enum_t*
    - gs_font*
    - byte*
    - uint
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 93
    functionName: psf_enumerate_bits_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - psf_enumerate_glyphs_reset
    linkageType: ''
    returnType: void
    signature: "void psf_enumerate_bits_begin(psf_glyph_enum_t *ppge, gs_font *font,\n
      \                        const byte *subset_bits, uint subset_size,\n                         gs_glyph_space_t
      glyph_space)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppge
    argTypes:
    - psf_glyph_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: psf_enumerate_glyphs_reset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void psf_enumerate_glyphs_reset(psf_glyph_enum_t *ppge)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_glyph_enum_t*::enumerate_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppge
    - pglyph
    argTypes:
    - psf_glyph_enum_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: psf_enumerate_glyphs_next
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 1
    functionsReached:
    - psf_glyph_enum_t*::enumerate_next
    linkageType: ''
    returnType: int
    signature: int psf_enumerate_glyphs_next(psf_glyph_enum_t *ppge, gs_glyph *pglyph)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:134,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - glyphs
    - pcount
    - max_count
    - max_pieces
    - font
    argTypes:
    - gs_glyph*
    - uint*
    - uint
    - uint
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 145
    functionName: psf_add_subset_pieces
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 1
    functionsReached:
    - gs_font*::procs::glyph_info
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psf_add_subset_pieces(gs_glyph *glyphs, uint *pcount, uint max_count,\n
      \                      uint max_pieces, gs_font *font)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pg1
    - pg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: compare_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_glyphs(const void *pg1, const void *pg2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - glyphs
    - count
    argTypes:
    - gs_glyph*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: psf_sort_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - qsort
    linkageType: ''
    returnType: int
    signature: int psf_sort_glyphs(gs_glyph *glyphs, int count)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - glyphs
    - count
    - glyph
    argTypes:
    - gs_glyph*
    - int
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 196
    functionName: psf_sorted_glyphs_index_of
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int psf_sorted_glyphs_index_of(const gs_glyph *glyphs, int count, gs_glyph
      glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_sorted_glyphs_index_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - glyphs
    - count
    - glyph
    argTypes:
    - gs_glyph*
    - int
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 202
    functionName: psf_sorted_glyphs_include
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - psf_sorted_glyphs_index_of
    linkageType: ''
    returnType: bool
    signature: bool psf_sorted_glyphs_include(const gs_glyph *glyphs, int count, gs_glyph
      glyph)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:213,1
    - Dst: glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:221,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:233,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:238,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:255,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pfont
    - ppge
    - glyph_data
    argTypes:
    - gs_font_base*
    - psf_glyph_enum_t*
    - glyph_data_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 256
    functionName: psf_check_outline_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - psf_enumerate_glyphs_next
    - gs_font_base*::procs::glyph_info
    - glyph_data
    - return_error
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int psf_check_outline_glyphs(gs_font_base *pfont, psf_glyph_enum_t
      *ppge,\n                         glyph_data_proc_t glyph_data)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:277,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:278,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:293,1
    - Dst: psf_check_outline_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:296,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:310,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:312,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:313,1
    - Dst: psf_add_subset_pieces
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:327,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:328,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:336,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:348,1
    - Dst: psf_sort_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 5
    argNames:
    - pglyphs
    - pfont
    - orig_subset_glyphs
    - orig_subset_size
    - glyph_data
    argTypes:
    - psf_outline_glyphs_t*
    - gs_font_base*
    - gs_glyph*
    - uint
    - glyph_data_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 363
    functionName: psf_get_outline_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfu.c
    functionUses: 0
    functionsReached:
    - psf_sort_glyphs
    - countof
    - psf_add_subset_pieces
    - psf_check_outline_glyphs
    - psf_enumerate_glyphs_next
    - gs_font_glyph_is_notdef
    - gs_font_base*::procs::glyph_info
    - memcpy
    - return_error
    - psf_enumerate_glyphs_begin
    linkageType: ''
    returnType: int
    signature: "int psf_get_outline_glyphs(psf_outline_glyphs_t *pglyphs, gs_font_base
      *pfont,\n                       gs_glyph *orig_subset_glyphs, uint orig_subset_size,\n
      \                      glyph_data_proc_t glyph_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:38,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - f
    - lines
    argTypes:
    - gp_file*
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 42
    functionName: psw_print_lines
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 1
    functionsReached:
    - return_error
    - fprintf
    linkageType: ''
    returnType: int
    signature: int psw_print_lines(gp_file *f, const char *const lines[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:49,1
    - Dst: pprintd3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - dev
    - pdpc
    argTypes:
    - stream*
    - gx_device*
    - gx_device_pswrite_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: psw_put_procset_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 0
    functionsReached:
    - pprintd3
    - pprints1
    linkageType: ''
    returnType: void
    signature: "void psw_put_procset_name(stream *s, const gx_device *dev,\n                     const
      gx_device_pswrite_common_t *pdpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:62,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:63,1
    - Dst: psw_put_procset_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:64,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - f
    - dev
    - pdpc
    argTypes:
    - gp_file*
    - gx_device*
    - gx_device_pswrite_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 66
    functionName: psw_print_procset_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 0
    functionsReached:
    - s_init
    - psw_put_procset_name
    - sflush
    - swrite_file
    linkageType: ''
    returnType: void
    signature: "void psw_print_procset_name(gp_file *f, const gx_device *dev,\n                       const
      gx_device_pswrite_common_t *pdpc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:72,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:73,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:73,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:74,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:74,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - f
    - pbbox
    argTypes:
    - gp_file*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 77
    functionName: psw_print_bbox
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 0
    functionsReached:
    - floor
    - fprintf
    - ceil
    linkageType: ''
    returnType: void
    signature: void psw_print_bbox(gp_file *f, const gs_rect *pbbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:157,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:157,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: is_seekable
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 0
    functionsReached:
    - S_ISREG
    - fileno
    - fstat
    linkageType: ''
    returnType: bool
    signature: bool is_seekable(gp_file *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: psw_print_lines
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:170,1
    - Dst: psw_print_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:172,1
    - Dst: is_seekable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:174,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:176,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:177,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:179,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:180,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:183,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:190,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:191,1
    - Dst: time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:193,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:194,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:196,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:203,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:205,1
    - Dst: psw_print_lines
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:206,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:207,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:208,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:209,1
    - Dst: psw_print_procset_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:210,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:211,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:212,1
    - Dst: psw_print_procset_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:213,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:214,1
    - Dst: psw_print_lines
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:215,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:216,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:217,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 5
    argNames:
    - f
    - dev
    - pbbox
    - pdpc
    - ascii
    argTypes:
    - gp_file*
    - gx_device*
    - gs_rect*
    - gx_device_pswrite_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 220
    functionName: psw_begin_file_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 1
    functionsReached:
    - psw_print_bbox
    - localtime
    - gp_ftell
    - fputs
    - is_seekable
    - fprintf
    - memset
    - psw_print_procset_name
    - fflush
    - ferror
    - return_error
    - time
    - psw_print_lines
    linkageType: ''
    returnType: int
    signature: "int psw_begin_file_header(gp_file *f, const gx_device *dev, const
      gs_rect *pbbox,\n                      gx_device_pswrite_common_t *pdpc, bool
      ascii)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psw_print_lines
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: psw_end_file_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 1
    functionsReached:
    - psw_print_lines
    linkageType: ''
    returnType: int
    signature: int psw_end_file_header(gp_file *f)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:241,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:242,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:243,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:246,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:248,1
    - Dst: psw_print_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:263,1
    - Dst: psw_print_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:265,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:266,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:267,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:268,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:269,1
    - Dst: psw_print_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:271,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:274,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:276,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 5
    argNames:
    - f
    - dev
    - pdpc
    - pbbox
    - page_count
    argTypes:
    - gp_file*
    - gx_device*
    - gx_device_pswrite_common_t*
    - gs_rect*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 278
    functionName: psw_end_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 2
    functionsReached:
    - psw_print_bbox
    - gp_ftell
    - fputc
    - fputs
    - fprintf
    - gp_fseek
    - ferror
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psw_end_file(gp_file *f, const gx_device *dev,\n             const
      gx_device_pswrite_common_t *pdpc, const gs_rect *pbbox,\n             int /*
      should be long */ page_count)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:294,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:296,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:298,1
    - Dst: psw_put_procset_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:308,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:309,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:337,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:338,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:340,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:342,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:344,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:346,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 6
    argNames:
    - s
    - dev
    - pdpc
    - do_scale
    - page_ord
    - dictsize
    argTypes:
    - stream*
    - gx_device*
    - gx_device_pswrite_common_t*
    - bool
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 348
    functionName: psw_write_page_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 1
    functionsReached:
    - pprintld2
    - stream_puts
    - psw_put_procset_name
    - pprints1
    - pprintd2
    - pprintg2
    - pprintd1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psw_write_page_header(stream *s, const gx_device *dev,\n                      const
      gx_device_pswrite_common_t *pdpc,\n                      bool do_scale, long
      page_ord, int dictsize)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:357,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:359,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:360,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:361,1
    - Dst: ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:362,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsu.c:363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - f
    - num_copies
    - flush
    argTypes:
    - gp_file*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 365
    functionName: psw_write_page_trailer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.c
    functionUses: 2
    functionsReached:
    - return_error
    - fprintf
    - fflush
    - ferror
    linkageType: ''
    returnType: int
    signature: int psw_write_page_trailer(gp_file *f, int num_copies, int flush)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:81,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:83,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:84,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:86,1
    - Dst: s_1248_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - pbw
    - width
    - num_components
    - bpc_in
    - bpc_out
    argTypes:
    - psdf_binary_writer*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 91
    functionName: pixel_resize
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - psdf_encode_binary
    - s_1248_init
    - s_alloc_state
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pixel_resize(psdf_binary_writer * pbw, int width, int num_components,\n
      \            int bpc_in, int bpc_out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_restrict_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:100,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - pdev
    - pcs
    - pgs
    - cc
    - c
    argTypes:
    - gx_device*
    - gs_color_space*
    - gs_gstate*
    - gs_client_color*
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    functionName: convert_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 1
    functionsReached:
    - gs_color_space*::type::remap_color
    - cs_restrict_color
    linkageType: ''
    returnType: int
    signature: "int convert_color(gx_device *pdev, const gs_color_space *pcs, const
      gs_gstate * pgs,\n              gs_client_color *cc, float c[3])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:125,1
    - Dst: param_list_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:129,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:136,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:136,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:137,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:138,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:141,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:151,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:155,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:159,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:163,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:169,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:169,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:169,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:170,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:170,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:170,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:171,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:171,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:171,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:177,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:186,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:188,1
    - Dst: convert_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:190,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:194,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:194,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:195,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:195,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:196,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:196,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:203,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:215,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:218,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:223,1
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:224,1
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:227,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 112
    argCount: 6
    argNames:
    - pdev
    - pcs
    - pgs
    - list
    - param
    - st
    argTypes:
    - gx_device*
    - gs_color_space*
    - gs_gstate*
    - gs_c_param_list*
    - gs_c_param_list**
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 229
    functionName: choose_DCT_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - param_list_copy
    - any_abs
    - param_write_string
    - set_linear_color_bits_mask_shift
    - gdev_mem_device_for_bits
    - convert_color
    - gx_device_finalize
    - gs_make_mem_device
    - gsicc_init_device_profile_struct
    - gs_c_param_list_read
    - gs_color_space*::type::num_components
    - param_write_int
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: "int choose_DCT_params(gx_device *pdev, const gs_color_space *pcs,\n
      \                 const gs_gstate * pgs,\n                  gs_c_param_list
      *list, gs_c_param_list **param,\n                  stream_state *st)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:245,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:248,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:277,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:281,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:299,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:301,1
    - Dst: s_CF_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:311,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:324,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:328,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:330,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:346,1
    - Dst: choose_DCT_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:347,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:349,1
    - Dst: psdf_DCT_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:352,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:354,1
    - Dst: gs_pixel_image_t*::ColorSpace::type::num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:371,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:383,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:395,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:399,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 113
    argCount: 5
    argNames:
    - pbw
    - pdip
    - pim
    - pgs
    - lossless
    argTypes:
    - psdf_binary_writer*
    - psdf_image_params*
    - gs_pixel_image_t*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 401
    functionName: setup_image_compression
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - choose_DCT_params
    - gs_color_space_get_index
    - psdf_encode_binary
    - s_CF_put_params
    - gs_c_param_list_write
    - s_alloc_state
    - gs_color_space_num_components
    - gs_c_param_list_read
    - return_error
    - gs_note_error
    - psdf_DCT_filter
    - gs_c_param_list_release
    - gs_pixel_image_t*::ColorSpace::type::num_components
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int setup_image_compression(psdf_binary_writer *pbw, const psdf_image_params
      *pdip,\n                        const gs_pixel_image_t * pim, const gs_gstate
      * pgs,\n                        bool lossless)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - pdip
    - pim
    - resolution
    argTypes:
    - psdf_image_params*
    - gs_pixel_image_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 412
    functionName: do_downsample
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool do_downsample(const psdf_image_params *pdip, const gs_pixel_image_t
      *pim,\n              double resolution)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:451,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:452,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:459,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:460,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:467,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:471,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:474,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:476,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:484,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:492,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:493,1
    - Dst: stream_template*::init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:496,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:498,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:499,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:504,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:505,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:506,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:510,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:511,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:513,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:514,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:517,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:525,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:531,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:532,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:545,1
    - Dst: stream_template*::init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:562,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:564,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:565,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:569,1
    - Dst: s_Downsample_size_out
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:570,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:572,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:576,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:577,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:579,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:580,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:583,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 90
    argCount: 6
    argNames:
    - pbw
    - pdip
    - pim
    - pgs
    - resolution
    - lossless
    argTypes:
    - psdf_binary_writer*
    - psdf_image_params*
    - gs_pixel_image_t*
    - gs_gstate*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 588
    functionName: setup_downsampling
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - stream_template*::set_defaults
    - stream_template*::init
    - setup_image_compression
    - pow
    - psdf_encode_binary
    - s_alloc_state
    - pixel_resize
    - gs_color_space_num_components
    - dmprintf1
    - floor
    - fabs
    - gs_matrix_scale
    - return_error
    - gs_note_error
    - s_Downsample_size_out
    - dmprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int setup_downsampling(psdf_binary_writer * pbw, const psdf_image_params
      * pdip,\n                   gs_pixel_image_t * pim, const gs_gstate * pgs,\n
      \                  double resolution, bool lossless)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:597,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:598,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:599,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - pgs
    - pim
    argTypes:
    - gx_device_psdf*
    - gs_gstate*
    - gs_pixel_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: psdf_is_converting_image_to_RGB
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - gsicc_get_default_type
    linkageType: ''
    returnType: bool
    signature: "bool psdf_is_converting_image_to_RGB(const gx_device_psdf * pdev,\n
      \               const gs_gstate * pgs, const gs_pixel_image_t * pim)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - params
    - plist
    - pim
    - in_line
    argTypes:
    - gx_device_psdf*
    - psdf_image_params*
    - gs_c_param_list*
    - gs_pixel_image_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 618
    functionName: adjust_auto_filter_strategy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void adjust_auto_filter_strategy(gx_device_psdf *pdev,\n                psdf_image_params
      *params, gs_c_param_list *plist,\n                const gs_pixel_image_t * pim,
      bool in_line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - params
    - plist
    - pim
    - in_line
    argTypes:
    - gx_device_psdf*
    - psdf_image_params*
    - gs_c_param_list*
    - gs_pixel_image_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 634
    functionName: adjust_auto_filter_strategy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void adjust_auto_filter_strategy_mono(gx_device_psdf *pdev,\n                psdf_image_params
      *params, gs_c_param_list *plist,\n                const gs_pixel_image_t * pim,
      bool in_line)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:654,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:669,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:701,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:704,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:705,1
    - Dst: do_downsample
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:711,1
    - Dst: adjust_auto_filter_strategy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:717,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:722,1
    - Dst: setup_downsampling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:724,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:726,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:727,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:731,1
    - Dst: psdf_is_converting_image_to_RGB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:734,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:740,1
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:741,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:743,1
    - Dst: do_downsample
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:747,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:748,1
    - Dst: setup_downsampling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:749,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:751,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:752,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:759,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:760,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:763,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:765,1
    - Dst: s_C2R_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:768,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:770,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 81
    argCount: 7
    argNames:
    - pdev
    - pbw
    - pim
    - pctm
    - pgs
    - lossless
    - in_line
    argTypes:
    - gx_device_psdf*
    - psdf_binary_writer*
    - gs_pixel_image_t*
    - gs_matrix*
    - gs_gstate*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 638
    functionDepth: 4
    functionLinenumber: 638
    functionLinenumberEnd: 776
    functionName: psdf_setup_image_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only_cs
    - setup_image_compression
    - setup_downsampling
    - psdf_encode_binary
    - do_downsample
    - adjust_auto_filter_strategy
    - gs_distance_transform_inverse
    - hypot
    - gs_cspace_new_DeviceRGB
    - s_alloc_state
    - gs_distance_transform
    - adjust_auto_filter_strategy_mono
    - gs_color_space_num_components
    - s_C2R_init
    - return_error
    - psdf_is_converting_image_to_RGB
    - min
    - pixel_resize
    linkageType: ''
    returnType: int
    signature: "int psdf_setup_image_filters(gx_device_psdf * pdev, psdf_binary_writer
      * pbw,\n                         gs_pixel_image_t * pim, const gs_matrix * pctm,\n
      \                        const gs_gstate * pgs, bool lossless, bool in_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psdf_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pdev
    - pbw
    - pim
    - in_line
    argTypes:
    - gx_device_psdf*
    - psdf_binary_writer*
    - gs_pixel_image_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 781
    functionDepth: 5
    functionLinenumber: 781
    functionLinenumberEnd: 800
    functionName: psdf_setup_lossless_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 1
    functionsReached:
    - psdf_setup_image_filters
    linkageType: ''
    returnType: int
    signature: "int psdf_setup_lossless_filters(gx_device_psdf *pdev, psdf_binary_writer
      *pbw,\n                            gs_pixel_image_t *pim, bool in_line)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:808,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:812,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:820,1
    - Dst: s_compr_chooser_set_dimensions
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:823,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - pbw
    - pdev
    - width
    - height
    - depth
    - bits_per_sample
    argTypes:
    - psdf_binary_writer*
    - gx_device_psdf*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 826
    functionName: psdf_setup_compression_chooser
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - return_error
    - s_compr_chooser_set_dimensions
    - psdf_encode_binary
    - s_alloc_state
    linkageType: ''
    returnType: int
    signature: "int psdf_setup_compression_chooser(psdf_binary_writer *pbw, gx_device_psdf
      *pdev,\n                    int width, int height, int depth, int bits_per_sample)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:835,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:839,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:842,1
    - Dst: s_image_colors_set_dimensions
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:845,1
    - Dst: s_image_colors_set_mask_colors
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:847,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - pbw
    - pdev
    - width
    - height
    - input_width
    - depth
    - bits_per_sample
    - MaskColor
    argTypes:
    - psdf_binary_writer*
    - gx_device_psdf*
    - int
    - int
    - int
    - int
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 849
    functionName: psdf_setup_image_to_mask_filter
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - psdf_encode_binary
    - s_alloc_state
    - s_image_colors_set_dimensions
    - return_error
    - s_image_colors_set_mask_colors
    linkageType: ''
    returnType: int
    signature: "int psdf_setup_image_to_mask_filter(psdf_binary_writer *pbw, gx_device_psdf
      *pdev,\n                                int width, int height, int input_width,\n
      \                               int depth, int bits_per_sample, uint *MaskColor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:860,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:865,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:868,1
    - Dst: s_image_colors_set_dimensions
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:871,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:873,1
    - Dst: s_image_colors_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:875,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 5
    argNames:
    - pbw
    - pdev
    - input_pim
    - pim
    - pgs
    argTypes:
    - psdf_binary_writer*
    - gx_device_psdf*
    - gs_pixel_image_t*
    - gs_pixel_image_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 883
    functionName: psdf_setup_image_colors_filter
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - psdf_encode_binary
    - s_alloc_state
    - gs_color_space_num_components
    - s_image_colors_set_color_space
    - s_image_colors_set_dimensions
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psdf_setup_image_colors_filter(psdf_binary_writer *pbw,\n                               gx_device_psdf
      *pdev,\n                               const gs_pixel_image_t *input_pim,\n
      \                              gs_pixel_image_t * pim,\n                               const
      gs_gstate *pgs)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:904,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:919,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:951,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:954,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:955,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:962,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:965,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:966,1
    - Dst: do_downsample
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:978,1
    - Dst: adjust_auto_filter_strategy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:984,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:989,1
    - Dst: setup_downsampling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:992,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:994,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:995,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:999,1
    - Dst: do_downsample
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1004,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1005,1
    - Dst: setup_downsampling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1007,1
    - Dst: adjust_auto_filter_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1009,1
    - Dst: setup_image_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1010,1
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1014,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 8
    argNames:
    - pdev
    - pbw
    - pim
    - pctm
    - pgs
    - lossless
    - in_line
    - colour_conversion
    argTypes:
    - gx_device_psdf*
    - psdf_binary_writer*
    - gs_pixel_image_t*
    - gs_matrix*
    - gs_gstate*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 887
    functionDepth: 4
    functionLinenumber: 887
    functionLinenumberEnd: 1019
    functionName: new_setup_image_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - setup_image_compression
    - setup_downsampling
    - do_downsample
    - adjust_auto_filter_strategy
    - gs_distance_transform_inverse
    - hypot
    - gs_distance_transform
    - adjust_auto_filter_strategy_mono
    - gs_color_space_num_components
    - min
    - pixel_resize
    linkageType: ''
    returnType: int
    signature: "int new_setup_image_filters(gx_device_psdf * pdev, psdf_binary_writer
      * pbw,\n                         gs_pixel_image_t * pim, const gs_matrix * pctm,\n
      \                        const gs_gstate * pgs, bool lossless, bool in_line,\n
      \                        bool colour_conversion)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - pdev
    - pbw
    - pim
    - in_line
    - colour_conversion
    - pctm
    - pgs
    argTypes:
    - gx_device_psdf*
    - psdf_binary_writer*
    - gs_pixel_image_t*
    - bool
    - bool
    - gs_matrix*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1021
    functionDepth: 5
    functionLinenumber: 1021
    functionLinenumberEnd: 1042
    functionName: new_setup_lossless_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - new_setup_image_filters
    linkageType: ''
    returnType: int
    signature: "int new_setup_lossless_filters(gx_device_psdf *pdev, psdf_binary_writer
      *pbw,\n                            gs_pixel_image_t *pim, bool in_line,\n                            bool
      colour_conversion, const gs_matrix *pctm, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pixel_resize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pbw
    - width
    - num_comps
    - bpc_in
    - bpc_out
    argTypes:
    - psdf_binary_writer*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1044
    functionDepth: 2
    functionLinenumber: 1044
    functionLinenumberEnd: 1047
    functionName: new_resize_input
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdi.c
    functionUses: 0
    functionsReached:
    - pixel_resize
    linkageType: ''
    returnType: int
    signature: int new_resize_input(psdf_binary_writer *pbw, int width, int num_comps,
      int bpc_in, int bpc_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:63,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - str
    argTypes:
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: pdf_key_eq
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool pdf_key_eq(const gs_param_string * pcs, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:76,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:77,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:79,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pstr
    - pvalue
    argTypes:
    - gs_param_string*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 82
    functionName: pdfmark_scan_int
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_note_error
    - sscanf
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pdfmark_scan_int(const gs_param_string * pstr, int *pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - key
    - pairs
    - count
    - pstr
    argTypes:
    - char*
    - gs_param_string*
    - uint
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 101
    functionName: pdfmark_find_key
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_key_eq
    linkageType: ''
    returnType: bool
    signature: "bool pdfmark_find_key(const char *key, const gs_param_string * pairs,
      uint count,\n                 gs_param_string * pstr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:113,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:115,1
    - Dst: pdfmark_scan_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - pnstr
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 120
    functionName: pdfmark_page_number
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_key_eq
    - pdfmark_scan_int
    linkageType: ''
    returnType: int
    signature: int pdfmark_page_number(gx_device_pdf * pdev, const gs_param_string
      * pnstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:135,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - page
    argTypes:
    - gx_device_pdf*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 146
    functionName: update_max_page_reference
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - emprintf1
    linkageType: ''
    returnType: int
    signature: int update_max_page_reference(gx_device_pdf * pdev, int *page)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:158,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:159,1
    - Dst: pdfmark_page_number
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:165,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:168,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:170,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:171,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:172,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:174,1
    - Dst: update_max_page_reference
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:176,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:179,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:179,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:187,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:188,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 7
    argNames:
    - dstr
    - pdev
    - Page_key
    - View_key
    - pairs
    - count
    - RequirePage
    argTypes:
    - char[]
    - gx_device_pdf*
    - char*
    - char*
    - gs_param_string*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 191
    functionName: pdfmark_make_dest
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_find_key
    - param_string_from_string
    - return_error
    - strlen
    - strcpy
    - gs_sprintf
    - pdf_page_id
    - update_max_page_reference
    - memcpy
    - pdfmark_page_number
    - pdf_key_eq
    linkageType: ''
    returnType: int
    signature: "int pdfmark_make_dest(char dstr[MAX_DEST_STRING], gx_device_pdf *
      pdev,\n                  const char *Page_key, const char *View_key,\n                  const
      gs_param_string * pairs, uint count, uint RequirePage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dstr
    - dest
    argTypes:
    - gs_param_string*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: pdfmark_coerce_dest
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pdfmark_coerce_dest(gs_param_string *dstr, char dest[MAX_DEST_STRING])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - pvalue
    argTypes:
    - cos_dict_t*
    - char*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: pdfmark_put_c_pair
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdfmark_put_c_pair(cos_dict_t *pcd, const char *key,\n                   const
      gs_param_string * pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcd
    - pair
    argTypes:
    - cos_dict_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: pdfmark_put_pair
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_string
    linkageType: ''
    returnType: int
    signature: int pdfmark_put_pair(cos_dict_t *pcd, const gs_param_string * pair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:239,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:240,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:241,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:242,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:245,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:246,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - prect
    - str
    - pctm
    argTypes:
    - gs_rect*
    - gs_param_string*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 249
    functionName: pdfmark_scan_rect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strcpy
    - memcpy
    - return_error
    - gs_point_transform
    linkageType: ''
    returnType: int
    signature: "int pdfmark_scan_rect(gs_rect * prect, const gs_param_string * str,\n
      \                 const gs_matrix * pctm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:262,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:263,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:264,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - str
    - prect
    argTypes:
    - char[]
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 267
    functionName: pdfmark_make_rect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - swrite_string
    - s_init
    - pprintg4
    - stell
    linkageType: ''
    returnType: void
    signature: void pdfmark_make_rect(char str[MAX_RECT_STRING], const gs_rect * prect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:278,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - str
    - pctm
    argTypes:
    - stream*
    - gs_param_string*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 280
    functionName: pdfmark_write_border
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: int
    signature: "int pdfmark_write_border(stream *s, const gs_param_string *str,\n
      \                    const gs_matrix *pctm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:286,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcs
    - key
    - value
    argTypes:
    - cos_stream_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: cos_stream_put_c_strings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_c_strings
    - cos_stream_dict
    linkageType: ''
    returnType: int
    signature: int cos_stream_put_c_strings(cos_stream_t *pcs, const char *key, const
      char *value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cos_write_stream_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:300,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:302,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:305,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:306,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:307,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pdev0
    - pco
    argTypes:
    - gx_device_psdf*
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 312
    functionName: setup_pdfmark_stream_no_compression
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_write_stream_alloc
    - s_alloc_state
    - s_add_filter
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int setup_pdfmark_stream_no_compression(gx_device_psdf *pdev0,\n                        cos_stream_t
      *pco)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cos_write_stream_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:331,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:334,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:336,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:339,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:340,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:342,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:345,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:348,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:351,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:352,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:353,1
    - Dst: pdf_put_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:355,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:355,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pdev0
    - pco
    argTypes:
    - gx_device_psdf*
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 356
    functionName: setup_pdfmark_stream_compression
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - cos_write_stream_alloc
    - s_alloc_state
    - s_add_filter
    - return_error
    - pdf_put_filters
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int setup_pdfmark_stream_compression(gx_device_psdf *pdev0,\n                        cos_stream_t
      *pco)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:365,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:369,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:373,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:377,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:384,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:389,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:391,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:405,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:406,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - pdev
    - objname
    - pres
    argTypes:
    - gx_device_pdf*
    - gs_const_string*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 411
    functionName: pdfmark_bind_named_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_substitute_resource
    - cos_dict_put
    - cos_write_object
    - cos_dict_find
    - cos_object_value
    - pdf_reserve_object_id
    - return_error
    - cos_type
    linkageType: ''
    returnType: int
    signature: "int pdfmark_bind_named_object(gx_device_pdf *pdev, const gs_const_string
      *objname,\n                          pdf_resource_t **pres)"
  - BBCount: 86
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:473,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:480,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:481,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:483,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:485,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:487,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:489,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:490,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:491,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:492,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:493,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:493,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:499,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:501,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:505,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:508,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:508,1
    - Dst: pdfmark_make_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:511,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:514,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:518,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:519,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:522,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:529,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:538,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:540,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:542,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:546,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:551,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:560,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:562,1
    - Dst: pdfmark_scan_rect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:565,1
    - Dst: pdfmark_make_rect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:569,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:570,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:571,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:572,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:577,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:578,1
    - Dst: pdfmark_write_border
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:579,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:582,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:583,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:584,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:585,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:586,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:587,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:591,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:594,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:651,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:655,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:658,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:661,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:662,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:676,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:677,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:678,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:683,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:689,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:698,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:700,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:703,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:705,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:708,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:716,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:718,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:721,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:725,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:726,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:732,1
    - Dst: pdfmark_coerce_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:735,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:736,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:740,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:746,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:747,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:751,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:752,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:753,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:758,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:763,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:767,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:768,1
    - Dst: pdf_scan_token
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:771,1
    - Dst: pdf_scan_token_composite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:774,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:777,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:777,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:778,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:784,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:793,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:795,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:796,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:799,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:801,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:802,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:805,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:813,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:813,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:814,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:820,1
    - Dst: pdfmark_coerce_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:826,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:828,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:829,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:830,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:831,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:832,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:835,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:836,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:837,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:838,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:839,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:840,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:849,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:851,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:852,1
    - Dst: pdfmark_coerce_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:862,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:885,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:887,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:900,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:901,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:903,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:905,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:909,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:911,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:912,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:913,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:916,1
    - Dst: pdfmark_put_c_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:918,1
    CyclomaticComplexity: 130
    EdgeCount: 130
    ICount: 317
    argCount: 7
    argNames:
    - pdev
    - pcd
    - pairs
    - count
    - pctm
    - params
    - for_outline
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - gs_param_string*
    - uint
    - gs_matrix*
    - ao_params_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 452
    functionDepth: 4
    functionLinenumber: 452
    functionLinenumberEnd: 920
    functionName: pdfmark_put_ao_pairs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - gs_alloc_bytes
    - pdfmark_make_rect
    - pdfmark_put_c_pair
    - strlen
    - gs_sprintf
    - emprintf
    - memcmp
    - pdf_key_eq
    - pdfmark_make_dest
    - cos_dict_put_string
    - gs_resize_string
    - param_string_from_string
    - stell
    - cos_dict_put_c_strings
    - pdfmark_coerce_dest
    - pdfmark_write_border
    - gs_note_error
    - gs_free_object
    - cos_dict_alloc
    - pdf_page_id
    - pdfmark_put_pair
    - s_init
    - cos_dict_put_c_key_string
    - pdf_scan_token_composite
    - pdfmark_scan_rect
    - cos_dict_put
    - swrite_string
    - memcpy
    - return_error
    - pdf_scan_token
    - COS_OBJECT_VALUE
    - cos_dict_find_c_key
    linkageType: ''
    returnType: int
    signature: "int pdfmark_put_ao_pairs(gx_device_pdf * pdev, cos_dict_t *pcd,\n
      \                    const gs_param_string * pairs, uint count,\n                     const
      gs_matrix * pctm, ao_params_t * params,\n                     bool for_outline)"
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:944,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:948,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:950,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:952,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:964,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:973,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:978,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:980,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:983,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:999,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1000,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1001,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1008,1
    - Dst: pdfmark_scan_rect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1022,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1028,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1029,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1030,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1031,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1036,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1037,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1039,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1047,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1048,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1050,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1058,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1059,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1061,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1069,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1070,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1072,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1108,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1117,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1122,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1124,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1127,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1142,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1151,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1156,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1158,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1161,1
    - Dst: pdf_make_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1173,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1176,1
    - Dst: pdfmark_put_ao_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1179,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1184,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1185,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1188,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1190,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1195,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1196,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1198,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1199,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1199,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 197
    argCount: 6
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    - subtype
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 923
    functionDepth: 5
    functionLinenumber: 923
    functionLinenumberEnd: 1200
    functionName: pdfmark_annot
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - pdfmark_put_ao_pairs
    - pdf_make_named_dict
    - emprintf
    - COS_RELEASE
    - cos_array_alloc
    - pdf_key_eq
    - cos_array_add
    - param_string_from_string
    - COS_OBJECT
    - cos_dict_put_c_strings
    - min
    - COS_WRITE_OBJECT
    - pdf_page_id
    - pdfmark_scan_rect
    - memcpy
    - return_error
    - cos_object_value
    - cos_dict_find_c_key
    linkageType: ''
    returnType: int
    signature: "int pdfmark_annot(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n              const gs_matrix * pctm, const gs_param_string *objname,\n
      \             const char *subtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_annot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1203
    functionDepth: 6
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    functionName: pdfmark_ANN
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_annot
    linkageType: ''
    returnType: int
    signature: "int pdfmark_ANN(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n            const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_annot
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1211
    functionDepth: 6
    functionLinenumber: 1211
    functionLinenumberEnd: 1216
    functionName: pdfmark_LNK
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_annot
    linkageType: ''
    returnType: int
    signature: "int pdfmark_LNK(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n            const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1226,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1230,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1233,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1236,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1238,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1240,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1241,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1243,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1245,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1247,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1249,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1250,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - pdev
    - pnode
    - next_id
    argTypes:
    - gx_device_pdf*
    - pdf_outline_node_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1255
    functionName: pdfmark_write_outline
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintld2
    - pprintld1
    - COS_FREE
    - cos_dict_elements_write
    - emprintf1
    - pdf_end_separate
    - pdf_open_separate
    - pprintd1
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: "int pdfmark_write_outline(gx_device_pdf * pdev, pdf_outline_node_t
      * pnode,\n                      long next_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - plevel
    argTypes:
    - pdf_outline_level_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1270
    functionName: pdfmark_adjust_parent_count
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdfmark_adjust_parent_count(pdf_outline_level_t * plevel)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_write_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1285,1
    - Dst: pdfmark_adjust_parent_count
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1296
    functionName: pdfmark_close_outline
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 1
    functionsReached:
    - pdfmark_write_outline
    - pdfmark_adjust_parent_count
    linkageType: ''
    returnType: int
    signature: int pdfmark_close_outline(gx_device_pdf * pdev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1314,1
    - Dst: pdfmark_scan_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1315,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1320,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1322,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1323,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1324,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1329,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1331,1
    - Dst: pdfmark_put_ao_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1335,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1340,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1341,1
    - Dst: pdfmark_adjust_parent_count
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1356,1
    - Dst: pdfmark_write_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1357,1
    - Dst: pdfmark_close_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1377,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1299
    functionDepth: 5
    functionLinenumber: 1299
    functionLinenumberEnd: 1380
    functionName: pdfmark_OUT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - pdfmark_adjust_parent_count
    - pdfmark_put_ao_pairs
    - gs_alloc_bytes
    - pdf_obj_ref
    - memcpy
    - pdfmark_write_outline
    - pdfmark_close_outline
    - return_error
    - pdf_key_eq
    - pdfmark_scan_int
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_OUT(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n            const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1389,1
    - Dst: pprintld3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1391,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1394,1
    - Dst: pdfmark_make_rect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1395,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1396,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - pbead
    argTypes:
    - gx_device_pdf*
    - pdf_bead_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1383
    functionDepth: 2
    functionLinenumber: 1383
    functionLinenumberEnd: 1398
    functionName: pdfmark_write_bead
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pprintld3
    - pdfmark_make_rect
    - pprintld1
    - pprints1
    - pdf_end_separate
    - pdf_open_separate
    linkageType: ''
    returnType: int
    signature: int pdfmark_write_bead(gx_device_pdf * pdev, const pdf_bead_t * pbead)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_write_bead
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1415,1
    - Dst: pdfmark_write_bead
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1417,1
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1418,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1420,1
    - Dst: cos_dict_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1421,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1422,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - part
    argTypes:
    - gx_device_pdf*
    - pdf_article_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1401
    functionDepth: 3
    functionLinenumber: 1401
    functionLinenumberEnd: 1424
    functionName: pdfmark_write_article
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pprintld1
    - cos_dict_elements_write
    - pdf_end_separate
    - pdf_open_separate
    - pdfmark_write_bead
    linkageType: ''
    returnType: int
    signature: int pdfmark_write_article(gx_device_pdf * pdev, const pdf_article_t
      * part)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1439,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1440,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1442,1
    - Dst: pdfmark_scan_rect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1443,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1445,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1450,1
    - Dst: COS_VALUE_IS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1452,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1453,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1463,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1464,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1467,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1469,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1470,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1472,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1475,1
    - Dst: pdfmark_write_bead
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1490,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1502,1
    - Dst: pdfmark_page_number
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1503,1
    - Dst: update_max_page_reference
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1504,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1507,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1509,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1509,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1511,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1427
    functionDepth: 3
    functionLinenumber: 1427
    functionLinenumberEnd: 1519
    functionName: pdfmark_ARTICLE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - pdfmark_find_key
    - cos_dict_put_string
    - pdfmark_scan_rect
    - pdf_key_eq
    - pdf_obj_ref
    - gs_alloc_struct
    - update_max_page_reference
    - bytes_compare
    - gs_free_object
    - pdfmark_write_bead
    - COS_FREE
    - return_error
    - pdfmark_page_number
    - pdf_page_id
    - pdfmark_put_pair
    - COS_VALUE_IS_OBJECT
    - cos_dict_find_c_key
    linkageType: ''
    returnType: int
    signature: "int pdfmark_ARTICLE(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                const gs_matrix * pctm, const gs_param_string *
      no_objname)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1530,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1535,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1541,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1545,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1549,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1551,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1554,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1555,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1556,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1557,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1559,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1561,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1562,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1566,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1567,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1522
    functionDepth: 2
    functionLinenumber: 1522
    functionLinenumberEnd: 1572
    functionName: pdfmark_EMBED
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - pdfmark_find_key
    - cos_dict_put_string
    - pdf_obj_ref
    - emprintf
    - return_error
    - pdf_key_eq
    linkageType: ''
    returnType: int
    signature: "int pdfmark_EMBED(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n             const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1586,1
    - Dst: pdfmark_make_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1588,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1590,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1591,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1591,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1593,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1595,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1596,1
    - Dst: pdf_make_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1602,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1603,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1607,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1608,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1610,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1611,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1612,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1614,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1617,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1618,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1619,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1621,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1575
    functionDepth: 4
    functionLinenumber: 1575
    functionLinenumberEnd: 1622
    functionName: pdfmark_DEST
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_make_dest
    - cos_dict_alloc
    - pdfmark_find_key
    - cos_dict_put
    - pdf_make_named_dict
    - cos_string_value
    - strlen
    - pdf_obj_ref
    - COS_WRITE_OBJECT
    - COS_RELEASE
    - return_error
    - pdf_key_eq
    - pdfmark_put_pair
    - COS_OBJECT_VALUE
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdfmark_DEST(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n             const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1634,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1636,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1637,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - psource
    argTypes:
    - gs_memory_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1625
    functionDepth: 1
    functionLinenumber: 1625
    functionLinenumberEnd: 1640
    functionName: ps_source_ok
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - errprintf
    - lprintf
    linkageType: ''
    returnType: bool
    signature: bool ps_source_ok(const gs_memory_t *mem, const gs_param_string * psource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1650,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - psource
    argTypes:
    - stream*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1653
    functionName: pdfmark_write_ps
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - stream_write
    - stream_putc
    linkageType: ''
    returnType: uint
    signature: uint pdfmark_write_ps(stream *s, const gs_param_string * psource)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1662,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1665,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1671,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1673,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pdev
    - compress
    - ppcs
    argTypes:
    - gx_device_pdf*
    - bool
    - cos_stream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1684
    functionName: start_XObject
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - pdf_open_page
    - pdf_enter_substream
    - cos_dict_put_c_key_bool
    - return_error
    linkageType: ''
    returnType: int
    signature: int start_XObject(gx_device_pdf * pdev, bool compress, cos_stream_t
      **ppcs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1695,1
    - Dst: ps_source_ok
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1696,1
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1697,1
    - Dst: ps_source_ok
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1698,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1700,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1703,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1709,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1710,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1721,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1729,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1736,1
    - Dst: pdfmark_write_ps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1736,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1737,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1740,1
    - Dst: start_XObject
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1745,1
    - Dst: cos_stream_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1749,1
    - Dst: cos_stream_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1752,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1758,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1759,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1759,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1760,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1764,1
    - Dst: pdfmark_write_ps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1764,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1765,1
    - Dst: pdfmark_bind_named_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1775,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1779,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1783,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1688
    functionDepth: 2
    functionLinenumber: 1688
    functionLinenumberEnd: 1786
    functionName: pdfmark_PS
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - pdf_open_contents
    - strlen
    - gs_sprintf
    - pdfmark_find_key
    - stream_write
    - pdfmark_bind_named_object
    - ps_source_ok
    - cos_stream_put_c_strings
    - stream_puts
    - pdf_enter_substream
    - cos_write_object
    - pdfmark_write_ps
    - cos_dict_put_c_key_string
    - DISCARD
    - start_XObject
    - pprintld1
    - cos_dict_put_c_key_bool
    - return_error
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PS(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n           const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1795,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1797,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - pcd
    - pairs
    - count
    argTypes:
    - cos_dict_t*
    - gs_param_string*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1789
    functionDepth: 2
    functionLinenumber: 1789
    functionLinenumberEnd: 1799
    functionName: pdfmark_put_pairs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdfmark_put_pair
    linkageType: ''
    returnType: int
    signature: int pdfmark_put_pairs(cos_dict_t *pcd, gs_param_string * pairs, uint
      count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_put_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1802
    functionDepth: 3
    functionLinenumber: 1802
    functionLinenumberEnd: 1807
    functionName: pdfmark_PAGES
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_put_pairs
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PAGES(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n              const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_put_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1814,1
    - Dst: pdf_current_page_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1810
    functionDepth: 3
    functionLinenumber: 1810
    functionLinenumberEnd: 1815
    functionName: pdfmark_PAGE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_current_page_dict
    - pdfmark_put_pairs
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PAGE(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n             const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1830,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1833,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1834,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1838,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1841,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1844,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1846,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1848,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1848,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1851,1
    - Dst: cos_array_add_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1861,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1864,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1865,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1875,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1878,1
    - Dst: cos_array_add_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1880,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1883,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1884,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1891,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - pdev
    - label
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1897
    functionName: pdfmark_add_pagelabel
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_alloc
    - cos_dict_put_c_key
    - cos_array_add
    - cos_string_value
    - pdf_obj_ref
    - COS_FREE
    - return_error
    - cos_array_alloc
    - COS_OBJECT_VALUE
    - cos_array_add_int
    linkageType: ''
    returnType: int
    signature: int pdfmark_add_pagelabel(gx_device_pdf * pdev, const gs_param_string
      *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_add_pagelabel
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1903,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1900
    functionDepth: 2
    functionLinenumber: 1900
    functionLinenumberEnd: 1904
    functionName: pdfmark_end_pagelabels
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 1
    functionsReached:
    - pdfmark_add_pagelabel
    linkageType: ''
    returnType: int
    signature: int pdfmark_end_pagelabels(gx_device_pdf * pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_find_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1915,1
    - Dst: pdfmark_add_pagelabel
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1916,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1908
    functionDepth: 2
    functionLinenumber: 1908
    functionLinenumberEnd: 1920
    functionName: pdfmark_PAGELABEL
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_find_key
    - pdfmark_add_pagelabel
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PAGELABEL(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n             const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1936,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1941,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1941,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1947,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1953,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1959,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1964,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1967,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1974,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1979,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1979,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1980,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1982,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1987
      start: 1923
    functionDepth: 2
    functionLinenumber: 1923
    functionLinenumberEnd: 1987
    functionName: pdfmark_DOCINFO
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - strlen
    - string_match
    - emprintf
    - memcmp
    - return_error
    - pdf_key_eq
    - pdfmark_put_pair
    linkageType: ''
    returnType: int
    signature: "int pdfmark_DOCINFO(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                const gs_matrix * pctm, const gs_param_string *
      no_objname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1998,1
    - Dst: pdfmark_make_dest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:1999,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2001,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2006,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2007,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2009,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2010,1
    - Dst: pdfmark_put_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2012,1
    - Dst: pdfmark_put_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2015,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2016
      start: 1990
    functionDepth: 4
    functionLinenumber: 1990
    functionLinenumberEnd: 2016
    functionName: pdfmark_DOCVIEW
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdfmark_make_dest
    - strlen
    - pdfmark_put_pairs
    - return_error
    - gs_note_error
    - pdf_key_eq
    - pdfmark_put_pair
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdfmark_DOCVIEW(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                const gs_matrix * pctm, const gs_param_string *
      no_objname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2034,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2035,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2036,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2040,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2041,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2043,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2045,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2047,1
    - Dst: start_XObject
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2048,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2051,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2054,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2055,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2060,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2061,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2062,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2063,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2065,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2066,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2067,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2069,1
    - Dst: cos_stream_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2070,1
    - Dst: cos_stream_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2071,1
    - Dst: cos_stream_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2072,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2073,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2073,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2075,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2075,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2077,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2077,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2078,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2021
    functionDepth: 2
    functionLinenumber: 2021
    functionLinenumberEnd: 2088
    functionName: pdfmark_BP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - sscanf
    - cos_stream_dict
    - start_XObject
    - stell
    - pprintg6
    - pprintg4
    - cos_dict_put_c_key_object
    - COS_OBJECT
    - cos_stream_put_c_strings
    - swrite_string
    - memcpy
    - return_error
    - pdf_key_eq
    - s_init
    - gs_matrix_invert
    - cos_dict_put_c_key_string
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: "int pdfmark_BP(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n           const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2104,1
    - Dst: pdf_add_procsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2107,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2111,1
    - Dst: pdfmark_bind_named_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2114,1
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2091
    functionDepth: 2
    functionLinenumber: 2091
    functionLinenumberEnd: 2120
    functionName: pdfmark_EP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - gs_free_const_string
    - pdfmark_bind_named_object
    - pdf_add_procsets
    - return_error
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int pdfmark_EP(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n           const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2131,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2132,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2135,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2136,1
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2139,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2140,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2143,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2123
    functionDepth: 1
    functionLinenumber: 2123
    functionLinenumberEnd: 2148
    functionName: pdfmark_SP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_get_named
    - pdf_add_resource
    - pdf_put_matrix
    - pdf_open_contents
    - pprintld1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdfmark_SP(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n           const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2162,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2163,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2164,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2166,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2171,1
    - Dst: pdf_make_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2172,1
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2179,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2180,1
    - Dst: setup_pdfmark_stream_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2187,1
    - Dst: setup_pdfmark_stream_no_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2190,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 21
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2153
    functionDepth: 2
    functionLinenumber: 2153
    functionLinenumberEnd: 2194
    functionName: pdfmark_OBJ
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - setup_pdfmark_stream_no_compression
    - pdf_refer_named
    - pdf_make_named
    - setup_pdfmark_stream_compression
    - return_error
    - pdf_key_eq
    - cos_type
    linkageType: ''
    returnType: int
    signature: "int pdfmark_OBJ(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n            const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2208,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2209,1
    - Dst: pdfmark_scan_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2214,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2216,1
    - Dst: cos_array_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2217,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2199
    functionDepth: 2
    functionLinenumber: 2199
    functionLinenumberEnd: 2219
    functionName: pdfmark_PUT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_get_named
    - cos_array_put
    - cos_string_value
    - return_error
    - pdfmark_scan_int
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PUT(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n            const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2235,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2237,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2237,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2238,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2240,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2246,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2248,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2252,1
    - Dst: setup_pdfmark_stream_no_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2254,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2263,1
    - Dst: cos_dict_delete_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2264,1
    - Dst: pdfmark_put_pairs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2269,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2228
    functionDepth: 3
    functionLinenumber: 2228
    functionLinenumberEnd: 2270
    functionName: pdfmark_PUTDICT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - setup_pdfmark_stream_no_compression
    - pdf_refer_named
    - strncmp
    - pdfmark_put_pairs
    - return_error
    - cos_type
    - cos_dict_delete_c_key
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PUTDICT(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                const gs_matrix * pctm, const gs_param_string *
      no_objname)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2282,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2283,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2286,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2288,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2289,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2293
      start: 2273
    functionDepth: 1
    functionLinenumber: 2273
    functionLinenumberEnd: 2293
    functionName: pdfmark_PUTSTREAM
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - sputs
    - pdf_get_named
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PUTSTREAM(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                  const gs_matrix * pctm, const gs_param_string
      * no_objname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2305,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2306,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2308,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2296
    functionDepth: 1
    functionLinenumber: 2296
    functionLinenumberEnd: 2310
    functionName: pdfmark_APPEND
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - cos_string_value
    - pdf_get_named
    - cos_array_add
    linkageType: ''
    returnType: int
    signature: "int pdfmark_APPEND(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n               const gs_matrix * pctm, const gs_param_string *
      objname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2322,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2323,1
    - Dst: pdfmark_scan_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2325,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2328,1
    - Dst: cos_array_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2330,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2333
    functionName: pdfmark_PUTINTERVAL
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_get_named
    - cos_array_put
    - cos_string_value
    - return_error
    - pdfmark_scan_int
    linkageType: ''
    returnType: int
    signature: "int pdfmark_PUTINTERVAL(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n                 const gs_matrix * pctm, const gs_param_string
      * no_objname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2344,1
    - Dst: pdf_get_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2345,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - no_objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2352
      start: 2336
    functionDepth: 1
    functionLinenumber: 2336
    functionLinenumberEnd: 2352
    functionName: pdfmark_CLOSE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf_get_named
    linkageType: ''
    returnType: int
    signature: "int pdfmark_CLOSE(gx_device_pdf * pdev, gs_param_string * pairs, uint
      count,\n              const gs_matrix * pctm, const gs_param_string * no_objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2360,1
    - Dst: pdf_push_namespace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2362
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2362
    functionName: pdfmark_NamespacePush
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf_push_namespace
    linkageType: ''
    returnType: int
    signature: "int pdfmark_NamespacePush(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                      const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2370,1
    - Dst: cos_dict_objects_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2371,1
    - Dst: pdf_pop_namespace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2373
      start: 2365
    functionDepth: 1
    functionLinenumber: 2365
    functionLinenumberEnd: 2373
    functionName: pdfmark_NamespacePop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - cos_dict_objects_write
    - pdf_pop_namespace
    linkageType: ''
    returnType: int
    signature: "int pdfmark_NamespacePop(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                     const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2384,1
    - Dst: pdf_make_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2385,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2388,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2389
      start: 2376
    functionDepth: 1
    functionLinenumber: 2376
    functionLinenumberEnd: 2389
    functionName: pdfmark_NI
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - return_error
    - cos_array_add_object
    - pdf_make_named
    linkageType: ''
    returnType: int
    signature: "int pdfmark_NI(gx_device_pdf *pdev, gs_param_string *pairs, uint count,\n
      \          const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2399
    functionName: pdfmark_MP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_MP(gx_device_pdf *pdev, gs_param_string *pairs, uint count,\n
      \          const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2402
    functionDepth: 0
    functionLinenumber: 2402
    functionLinenumberEnd: 2407
    functionName: pdfmark_DP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_DP(gx_device_pdf *pdev, gs_param_string *pairs, uint count,\n
      \          const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2417,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2419,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2421,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2424,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2427,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2410
    functionDepth: 1
    functionLinenumber: 2410
    functionLinenumberEnd: 2431
    functionName: pdfmark_BMC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - pdf_open_contents
    - pprints1
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_BMC(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n            const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2443,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2446,1
    - Dst: pdf_objname_is_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2449,1
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2451,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2463,1
    - Dst: pdf_replace_names
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2469,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2471,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2473,1
    - Dst: pdf_make_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2476,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2480,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2482,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2483,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2484,1
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2487,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2489,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2493,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2495,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2499,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2502,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2503,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2505,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2508,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2434
    functionDepth: 1
    functionLinenumber: 2434
    functionLinenumberEnd: 2510
    functionName: pdfmark_BDC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - pdf_add_resource
    - gs_alloc_bytes
    - pdf_make_named_dict
    - cos_dict_put_c_strings
    - pdf_open_contents
    - pprintld1
    - pdf_objname_is_valid
    - pdf_refer_named
    - pdf_alloc_resource
    - COS_WRITE_OBJECT
    - pprints1
    - memcpy
    - pdf_replace_names
    - COS_RELEASE
    - return_error
    - pdf_find_resource_by_resource_id
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_BDC(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n            const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2519,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2521,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2513
    functionDepth: 1
    functionLinenumber: 2513
    functionLinenumberEnd: 2524
    functionName: pdfmark_EMC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_open_contents
    linkageType: ''
    returnType: int
    signature: "int pdfmark_EMC(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n            const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2529
    functionDepth: 0
    functionLinenumber: 2529
    functionLinenumberEnd: 2534
    functionName: pdfmark_StRoleMap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StRoleMap(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                  const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2537
    functionDepth: 0
    functionLinenumber: 2537
    functionLinenumberEnd: 2542
    functionName: pdfmark_StClassMap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StClassMap(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                   const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2554
      start: 2549
    functionDepth: 0
    functionLinenumber: 2549
    functionLinenumberEnd: 2554
    functionName: pdfmark_StPNE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StPNE(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n              const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2557
    functionDepth: 0
    functionLinenumber: 2557
    functionLinenumberEnd: 2562
    functionName: pdfmark_StBookmarkRoot
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StBookmarkRoot(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                       const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2565
    functionDepth: 0
    functionLinenumber: 2565
    functionLinenumberEnd: 2570
    functionName: pdfmark_StPush
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StPush(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n               const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2573
    functionDepth: 0
    functionLinenumber: 2573
    functionLinenumberEnd: 2578
    functionName: pdfmark_StPop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StPop(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n              const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2581
    functionDepth: 0
    functionLinenumber: 2581
    functionLinenumberEnd: 2586
    functionName: pdfmark_StPopAll
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StPopAll(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                 const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2589
    functionDepth: 0
    functionLinenumber: 2589
    functionLinenumberEnd: 2594
    functionName: pdfmark_StBMC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StBMC(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n              const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2597
    functionDepth: 0
    functionLinenumber: 2597
    functionLinenumberEnd: 2602
    functionName: pdfmark_StBDC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StBDC(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n              const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2605
    functionDepth: 0
    functionLinenumber: 2605
    functionLinenumberEnd: 2610
    functionName: pdfmark_StOBJ
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StOBJ(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n              const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2613
    functionDepth: 0
    functionLinenumber: 2613
    functionLinenumberEnd: 2618
    functionName: pdfmark_StAttr
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StAttr(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n               const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2621
    functionDepth: 0
    functionLinenumber: 2621
    functionLinenumberEnd: 2626
    functionName: pdfmark_StStore
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StStore(gx_device_pdf *pdev, gs_param_string *pairs, uint
      count,\n                const gs_matrix *pctm, const gs_param_string *objname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2634
      start: 2629
    functionDepth: 0
    functionLinenumber: 2629
    functionLinenumberEnd: 2634
    functionName: pdfmark_StRetrieve
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdfmark_StRetrieve(gx_device_pdf *pdev, gs_param_string *pairs,
      uint count,\n                   const gs_matrix *pctm, const gs_param_string
      *objname)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2645,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2649,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2651,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2654,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2655,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2661,1
    - Dst: pdf_create_named_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2662,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2669,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2670,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2636
    functionDepth: 1
    functionLinenumber: 2636
    functionLinenumberEnd: 2675
    functionName: pdfmark_Metadata
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_string
    - param_string_from_string
    - pdf_create_named_dict
    - pdf_key_eq
    - dmprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_Metadata(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n             const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2684,1
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2688,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2689,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2694,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2695,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2697,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2698,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 5
    argNames:
    - pdev
    - pairs
    - count
    - pctm
    - objname
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - uint
    - gs_matrix*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2740
    functionName: pdfmark_Ext_Metadata
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memset
    - cos_dict_find_c_key
    - dmprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdfmark_Ext_Metadata(gx_device_pdf * pdev, gs_param_string * pairs,
      uint count,\n             const gs_matrix * pctm, const gs_param_string * objname)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2820,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2821,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2823,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2826,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2830,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2851,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2855,1
    - Dst: pdf_objname_is_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2857,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2860,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2864,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2868,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2869,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2870,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2878,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2881,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2882,1
    - Dst: pdf_replace_names
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2888,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2890,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c:2896,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - pdev
    - pma
    argTypes:
    - gx_device_pdf*
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2900
      start: 2805
    functionDepth: 1
    functionLinenumber: 2805
    functionLinenumberEnd: 2900
    functionName: pdfmark_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfm.c
    functionUses: 0
    functionsReached:
    - sscanf
    - gs_alloc_byte_array
    - pdf_objname_is_valid
    - memcpy
    - pdf_replace_names
    - return_error
    - pdf_key_eq
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdfmark_process(gx_device_pdf * pdev, const gs_param_string_array
      * pma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:48,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - prefix
    - pstr
    argTypes:
    - stream*
    - char*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: pput_string_entry
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_write
    linkageType: ''
    returnType: void
    signature: void pput_string_entry(stream *s, const char *prefix, const gs_const_string
      *pstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:60,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - pcid
    - size
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 63
    functionName: pput_hex
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pput_hex(stream *s, const byte *pcid, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:71,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:73,1
    - Dst: pput_hex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:74,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:75,1
    - Dst: pput_hex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:76,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:77,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - s
    - pcsr
    - count
    argTypes:
    - stream*
    - gx_code_space_range_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 80
    functionName: cmap_put_ranges
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pput_hex
    - pprintd1
    linkageType: ''
    returnType: void
    signature: void cmap_put_ranges(stream *s, const gx_code_space_range_t *pcsr,
      int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cid_system_info_is_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:86,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:87,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:89,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:90,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:91,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:92,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:93,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pcidsi
    argTypes:
    - stream*
    - gs_cid_system_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 96
    functionName: cmap_put_system_info
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintd1
    - s_write_ps_string
    - cid_system_info_is_null
    linkageType: ''
    returnType: void
    signature: void cmap_put_system_info(stream *s, const gs_cid_system_info_t *pcidsi)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:111,1
    - Dst: gs_cmap_enum_next_lookup
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:112,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:120,1
    - Dst: gs_cmap_enum_next_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:125,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:128,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:131,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:134,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:137,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:142,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:145,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:154,1
    - Dst: gs_cmap_enum_next_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:154,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:157,1
    - Dst: pput_hex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:158,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:159,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:166,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:169,1
    - Dst: pput_hex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:170,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:171,1
    - Dst: gs_cmap_t*::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:175,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:180,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:184,1
    - Dst: put_name_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:185,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:188,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:196,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:198,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:200,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:202,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:206,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 82
    argCount: 7
    argNames:
    - mem
    - s
    - which
    - pcmap
    - pcmo
    - put_name_chars
    - font_index_only
    argTypes:
    - gs_memory_t*
    - stream*
    - int
    - gs_cmap_t*
    - cmap_operators_t*
    - psf_put_name_chars_proc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 99
    functionDepth: 2
    functionLinenumber: 99
    functionLinenumberEnd: 209
    functionName: cmap_put_code_map
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - DISCARD
    - pput_hex
    - put_name_chars
    - gs_cmap_lookups_enum_init
    - pprintld1
    - gs_cmap_t*::glyph_name
    - stream_putc
    - gs_free_object
    - gs_cmap_enum_next_lookup
    - pprintd1
    - return_error
    - min
    - gs_cmap_enum_next_entry
    linkageType: ''
    returnType: int
    signature: "int cmap_put_code_map(gs_memory_t *mem,\n                  stream
      *s, int which, const gs_cmap_t *pcmap,\n                  const cmap_operators_t
      *pcmo,\n                  psf_put_name_chars_proc_t put_name_chars,\n                  int
      font_index_only)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:228,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:234,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:235,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:236,1
    - Dst: pput_string_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:237,1
    - Dst: pput_string_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:238,1
    - Dst: pput_string_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:239,1
    - Dst: pput_string_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:240,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:241,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:242,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:244,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:245,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:249,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:250,1
    - Dst: put_name_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:251,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:252,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:254,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:255,1
    - Dst: cmap_put_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:257,1
    - Dst: cmap_put_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:259,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:263,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:265,1
    - Dst: cmap_put_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:266,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:267,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:270,1
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:271,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:272,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:273,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:275,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:277,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:278,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:280,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:281,1
    - Dst: gs_cmap_ranges_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:292,1
    - Dst: gs_cmap_enum_next_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:293,1
    - Dst: cmap_put_ranges
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:295,1
    - Dst: cmap_put_ranges
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:303,1
    - Dst: cmap_put_code_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:312,1
    - Dst: cmap_put_code_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:316,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:324,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:325,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:327,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c:328,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 78
    argCount: 6
    argNames:
    - mem
    - s
    - pcmap
    - put_name_chars
    - alt_cmap_name
    - font_index_only
    argTypes:
    - gs_memory_t*
    - stream*
    - gs_cmap_t*
    - psf_put_name_chars_proc_t
    - gs_const_string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 214
    functionDepth: 3
    functionLinenumber: 214
    functionLinenumberEnd: 332
    functionName: psf_write_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsfm.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintg1
    - pput_string_entry
    - uid_XUID_values
    - put_name_chars
    - cmap_put_ranges
    - pprintld1
    - cmap_put_code_map
    - uid_is_XUID
    - uid_XUID_size
    - gs_cmap_enum_next_range
    - gs_cmap_ranges_enum_init
    - cmap_put_system_info
    - pprintd1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psf_write_cmap(gs_memory_t *mem,\n               stream *s, const
      gs_cmap_t *pcmap,\n               psf_put_name_chars_proc_t put_name_chars,\n
      \              const gs_const_string *alt_cmap_name, int font_index_only)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: public_st_pdf_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pdf_resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: private_st_pdf_x_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_x_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: private_st_pdf_article
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_article()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: gs_id_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_id_hash(rid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdev
    - ','
    - type
    - ','
    - rid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: PDF_RESOURCE_CHAIN
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PDF_RESOURCE_CHAIN(pdev, type, rid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    functionName: private_st_pdf_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_page()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: private_st_pdf_linearisation_record
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_linearisation_record()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: private_st_pdf_font_cache_elem
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_font_cache_elem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: private_st_pdf_substream_save
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_substream_save()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: private_st_pdf_substream_save_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_substream_save_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: is_in_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_in_page(pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: gx_device_pdf_do_param_strings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_pdf_do_param_strings(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 951
    functionName: gx_device_pdf_do_const_strings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_pdf_do_const_strings(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: private_st_device_pdfwrite
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_pdfwrite()
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1180
    functionName: pdf_end_encrypt
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_end_encrypt(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1238
    functionDepth: 0
    functionLinenumber: 1238
    functionLinenumberEnd: 1242
    functionName: public_st_pdf_lcvd_t
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pdf_lcvd_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1365
    functionDepth: 0
    functionLinenumber: 1365
    functionLinenumberEnd: 1368
    functionName: pdfmark_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pdfmark_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:87,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pcst
    - items
    - size
    argTypes:
    - cff_string_table_t*
    - cff_string_item_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: cff_string_table_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - igcd
    - memset
    linkageType: ''
    returnType: void
    signature: "void cff_string_table_init(cff_string_table_t *pcst, cff_string_item_t
      *items,\n                      int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pcst
    - data
    - size
    argTypes:
    - cff_string_table_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 110
    functionName: cff_string_add
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int cff_string_add(cff_string_table_t *pcst, const byte *data, uint
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:124,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:134,1
    - Dst: cff_string_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:135,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - pcst
    - data
    - size
    - enter
    - pindex
    argTypes:
    - cff_string_table_t*
    - byte*
    - uint
    - bool
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 141
    functionName: cff_string_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - return_error
    - cff_string_add
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int cff_string_index(cff_string_table_t *pcst, const byte *data, uint
      size,\n                 bool enter, int *pindex)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_string_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:148,1
    - Dst: cff_string_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pcw
    - data
    - size
    argTypes:
    - cff_writer_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 157
    functionName: cff_string_sid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_string_index
    linkageType: ''
    returnType: int
    signature: int cff_string_sid(cff_writer_t *pcw, const byte *data, uint size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_writer_t*::pfont::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:163,1
    - Dst: cff_string_sid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcw
    - glyph
    argTypes:
    - cff_writer_t*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 4
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: cff_glyph_sid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_writer_t*::pfont::procs::glyph_name
    - cff_string_sid
    linkageType: ''
    returnType: int
    signature: int cff_glyph_sid(cff_writer_t *pcw, gs_glyph glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:175,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcw
    - c16
    argTypes:
    - cff_writer_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: put_card16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void put_card16(cff_writer_t *pcw, uint c16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - offset
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: offset_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int offset_size(uint offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pcw
    - offset
    argTypes:
    - cff_writer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: put_offset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void put_offset(cff_writer_t *pcw, int offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - ptr
    - count
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 202
    functionName: put_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 8
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int put_bytes(stream * s, const byte *ptr, uint count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 209
    functionName: check_ioerror
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int check_ioerror(stream * s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:218,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:219,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pcw
    - op
    argTypes:
    - cff_writer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: cff_put_op
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void cff_put_op(cff_writer_t *pcw, int op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:229,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:231,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:233,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:235,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:236,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:238,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:239,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:240,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 2
    argNames:
    - pcw
    - i
    argTypes:
    - cff_writer_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 242
    functionName: cff_put_int
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    - put_card16
    linkageType: ''
    returnType: void
    signature: void cff_put_int(cff_writer_t *pcw, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:246,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcw
    - i
    - op
    argTypes:
    - cff_writer_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: cff_put_int_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_int
    linkageType: ''
    returnType: void
    signature: void cff_put_int_value(cff_writer_t *pcw, int i, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pcw
    - i
    - i_default
    - op
    argTypes:
    - cff_writer_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: cff_put_int_if_ne
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_int_value
    linkageType: ''
    returnType: void
    signature: void cff_put_int_if_ne(cff_writer_t *pcw, int i, int i_default, int
      op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcw
    - b
    argTypes:
    - cff_writer_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 3
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: cff_put_bool
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_int
    linkageType: ''
    returnType: void
    signature: void cff_put_bool(cff_writer_t *pcw, bool b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:263,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcw
    - b
    - op
    argTypes:
    - cff_writer_t*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: cff_put_bool_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_bool
    linkageType: ''
    returnType: void
    signature: void cff_put_bool_value(cff_writer_t *pcw, bool b, int op)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:270,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:277,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:278,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:308,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:313,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 2
    argNames:
    - pcw
    - f
    argTypes:
    - cff_writer_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 315
    functionName: cff_put_real
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - sputc
    - cff_put_int
    linkageType: ''
    returnType: void
    signature: void cff_put_real(cff_writer_t *pcw, double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:319,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcw
    - f
    - op
    argTypes:
    - cff_writer_t*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 321
    functionName: cff_put_real_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_real
    linkageType: ''
    returnType: void
    signature: void cff_put_real_value(cff_writer_t *pcw, double f, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_real_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pcw
    - f
    - f_default
    - op
    argTypes:
    - cff_writer_t*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 322
    functionDepth: 5
    functionLinenumber: 322
    functionLinenumberEnd: 327
    functionName: cff_put_real_if_ne
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_real_value
    linkageType: ''
    returnType: void
    signature: void cff_put_real_if_ne(cff_writer_t *pcw, double f, double f_default,
      int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:339,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pcw
    - pf
    - count
    - op
    argTypes:
    - cff_writer_t*
    - float*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 343
    functionName: cff_put_real_deltarray
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_real
    linkageType: ''
    returnType: void
    signature: void cff_put_real_deltarray(cff_writer_t *pcw, const float *pf, int
      count, int op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_string_sid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:347,1
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pcw
    - data
    - size
    argTypes:
    - cff_writer_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 4
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: cff_put_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_string_sid
    - cff_put_int
    linkageType: ''
    returnType: int
    signature: int cff_put_string(cff_writer_t *pcw, const byte *data, uint size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:357,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pcw
    - data
    - size
    - op
    argTypes:
    - cff_writer_t*
    - byte*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 354
    functionDepth: 5
    functionLinenumber: 354
    functionLinenumberEnd: 362
    functionName: cff_put_string_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_string
    linkageType: ''
    returnType: int
    signature: int cff_put_string_value(cff_writer_t *pcw, const byte *data, uint
      size, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcw
    - pfont
    argTypes:
    - cff_writer_t*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 368
    functionName: cff_extra_lenIV
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: int
    signature: int cff_extra_lenIV(const cff_writer_t *pcw, const gs_font_type1 *pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pcw
    - pfont
    argTypes:
    - cff_writer_t*
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: cff_convert_charstrings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cff_convert_charstrings(const cff_writer_t *pcw, const gs_font_base
      *pfont)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:382,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:387,1
    - Dst: psf_convert_type1_to_type2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:388,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:392,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:400,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:401,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:404,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:405,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:406,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 4
    argNames:
    - pcw
    - data
    - size
    - pfont
    argTypes:
    - cff_writer_t*
    - byte*
    - uint
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 375
    functionDepth: 6
    functionLinenumber: 375
    functionLinenumberEnd: 410
    functionName: cff_put_CharString
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_convert_charstrings
    - gs_glyph_data_from_string
    - psf_convert_type1_to_type2
    - gs_type1_decrypt
    - min
    - put_bytes
    linkageType: ''
    returnType: int
    signature: "int cff_put_CharString(cff_writer_t *pcw, const byte *data, uint size,\n
      \                  gs_font_type1 *pfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - count
    - total
    argTypes:
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 416
    functionName: cff_Index_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - offset_size
    linkageType: ''
    returnType: uint
    signature: uint cff_Index_size(uint count, uint total)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:420,1
    - Dst: offset_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:422,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:423,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pcw
    - count
    - total
    argTypes:
    - cff_writer_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: cff_put_Index_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    - offset_size
    - put_offset
    - put_card16
    linkageType: ''
    returnType: void
    signature: void cff_put_Index_header(cff_writer_t *pcw, uint count, uint total)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:433,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:436,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:439,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:442,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pcw
    - pcst
    argTypes:
    - cff_writer_t*
    - cff_string_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 443
    functionName: cff_put_Index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_Index_header
    - put_offset
    - put_bytes
    - put_card16
    linkageType: ''
    returnType: void
    signature: void cff_put_Index(cff_writer_t *pcw, const cff_string_table_t *pcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:454,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pcw
    - end_offset
    argTypes:
    - cff_writer_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 457
    functionName: cff_write_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    - put_bytes
    linkageType: ''
    returnType: int
    signature: int cff_write_header(cff_writer_t *pcw, uint end_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_base*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - pcw
    - pbfont
    - full_info
    - pinfo
    argTypes:
    - cff_writer_t*
    - gs_font_base*
    - bool
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: cff_get_Top_info_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_font_base*::procs::font_info
    linkageType: ''
    returnType: int
    signature: "int cff_get_Top_info_common(cff_writer_t *pcw, gs_font_base *pbfont,\n
      \                       bool full_info, gs_font_info_t *pinfo)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:552,1
    - Dst: cff_put_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:555,1
    - Dst: cff_put_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:558,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:570,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:571,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:572,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:573,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:574,1
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:576,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:577,1
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:578,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:581,1
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:582,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:582,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:583,1
    - Dst: cff_put_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:591,1
    - Dst: cff_put_bool_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:594,1
    - Dst: cff_put_real_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:595,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:597,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:599,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:601,1
    - Dst: constant_matrix_body
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:606,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:615,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:616,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:617,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:618,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:619,1
    - Dst: cff_put_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:620,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:621,1
    - Dst: cff_put_real_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:624,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 4
    argNames:
    - pcw
    - pbfont
    - write_FontMatrix
    - pinfo
    argTypes:
    - cff_writer_t*
    - gs_font_base*
    - bool
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 538
    functionDepth: 6
    functionLinenumber: 538
    functionLinenumberEnd: 626
    functionName: cff_write_Top_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - constant_matrix_body
    - uid_is_UniqueID
    - cff_put_int_value
    - cff_put_int_if_ne
    - uid_XUID_values
    - cff_put_real_if_ne
    - uid_is_XUID
    - uid_XUID_size
    - cff_put_int
    - cff_put_string_value
    - cff_put_real
    - cff_put_bool_value
    linkageType: ''
    returnType: void
    signature: "void cff_write_Top_common(cff_writer_t *pcw, gs_font_base *pbfont,\n
      \                    bool write_FontMatrix, const gs_font_info_t *pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_get_Top_info_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:637,1
    - Dst: cff_write_Top_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:638,1
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:639,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:640,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:641,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:642,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:643,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 6
    argNames:
    - pcw
    - Encoding_offset
    - charset_offset
    - CharStrings_offset
    - Private_offset
    - Private_size
    argTypes:
    - cff_writer_t*
    - uint
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 629
    functionDepth: 7
    functionLinenumber: 629
    functionLinenumberEnd: 651
    functionName: cff_write_Top_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_int_value
    - cff_put_int_if_ne
    - cff_put_int
    - cff_write_Top_common
    - cff_get_Top_info_common
    linkageType: ''
    returnType: void
    signature: "void cff_write_Top_font(cff_writer_t *pcw, uint Encoding_offset,\n
      \                  uint charset_offset, uint CharStrings_offset,\n                   uint
      Private_offset, uint Private_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:657,1
    - Dst: cff_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:658,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcw
    - pcidsi
    argTypes:
    - cff_writer_t*
    - gs_cid_system_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 654
    functionDepth: 5
    functionLinenumber: 654
    functionLinenumberEnd: 660
    functionName: cff_write_ROS
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_int_value
    - cff_put_string
    linkageType: ''
    returnType: void
    signature: void cff_write_ROS(cff_writer_t *pcw, const gs_cid_system_info_t *pcidsi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_write_ROS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:669,1
    - Dst: cff_write_Top_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:670,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:671,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:672,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:677,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:680,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - pcw
    - charset_offset
    - CharStrings_offset
    - FDSelect_offset
    - Font_offset
    - pinfo
    argTypes:
    - cff_writer_t*
    - uint
    - uint
    - uint
    - uint
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 661
    functionDepth: 7
    functionLinenumber: 661
    functionLinenumberEnd: 682
    functionName: cff_write_Top_cidfont
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_write_Top_common
    - cff_put_int_value
    - cff_put_int_if_ne
    - cff_write_ROS
    linkageType: ''
    returnType: void
    signature: "void cff_write_Top_cidfont(cff_writer_t *pcw, uint charset_offset,\n
      \                     uint CharStrings_offset, uint FDSelect_offset,\n                      uint
      Font_offset, const gs_font_info_t *pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:691,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pcw
    - FDArray_offsets
    - num_fonts
    argTypes:
    - cff_writer_t*
    - uint*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 685
    functionDepth: 3
    functionLinenumber: 685
    functionLinenumberEnd: 695
    functionName: cff_write_FDArray_offsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - put_offset
    - cff_put_Index_header
    linkageType: ''
    returnType: void
    signature: "void cff_write_FDArray_offsets(cff_writer_t *pcw, uint *FDArray_offsets,\n
      \                         int num_fonts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_get_Top_info_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:705,1
    - Dst: cff_write_Top_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:706,1
    - Dst: cff_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:707,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:708,1
    - Dst: cff_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:712,1
    - Dst: cff_put_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pcw
    - pbfont
    - Private_offset
    - Private_size
    argTypes:
    - cff_writer_t*
    - gs_font_base*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 698
    functionDepth: 7
    functionLinenumber: 698
    functionLinenumberEnd: 715
    functionName: cff_write_Top_fdarray
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_op
    - cff_put_int_value
    - cff_put_string
    - cff_put_int
    - cff_write_Top_common
    - cff_get_Top_info_common
    linkageType: ''
    returnType: void
    signature: "void cff_write_Top_fdarray(cff_writer_t *pcw, gs_font_base *pbfont,\n
      \                     uint Private_offset, uint Private_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:764,1
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:765,1
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:766,1
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:767,1
    - Dst: cff_put_real_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:769,1
    - Dst: cff_put_real_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:771,1
    - Dst: cff_put_int_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:773,1
    - Dst: cff_put_real_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:776,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:776,1
    - Dst: cff_put_real_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:779,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:779,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:781,1
    - Dst: cff_put_real_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:785,1
    - Dst: cff_put_real_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:787,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:789,1
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:791,1
    - Dst: PUT_FLOAT_TABLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:792,1
    - Dst: cff_put_bool_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:794,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:798,1
    - Dst: cff_put_int_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:800,1
    - Dst: cff_put_real_if_ne
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:802,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - pcw
    - Subrs_offset
    - pfont
    argTypes:
    - cff_writer_t*
    - uint
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 756
    functionDepth: 6
    functionLinenumber: 756
    functionLinenumberEnd: 807
    functionName: cff_write_Private
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_put_bool_value
    - cff_put_int_value
    - cff_put_int_if_ne
    - cff_put_real_value
    - cff_put_real_if_ne
    - PUT_FLOAT_TABLE
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void cff_write_Private(cff_writer_t *pcw, uint Subrs_offset,\n                  const
      gs_font_type1 *pfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - member
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 763
    functionName: PUT_FLOAT_TABLE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_FLOAT_TABLE(member, op)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:823,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:824,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:826,1
    - Dst: cff_writer_t*::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:834,1
    - Dst: cff_extra_lenIV
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:838,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:839,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:840,1
    - Dst: psf_convert_type1_to_type2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:841,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:844,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:848,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:849,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pcw
    - penum
    - pcount
    argTypes:
    - cff_writer_t*
    - psf_glyph_enum_t*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 812
    functionDepth: 6
    functionLinenumber: 812
    functionLinenumberEnd: 855
    functionName: cff_write_CharStrings_offsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_writer_t*::glyph_data
    - cff_convert_charstrings
    - stell
    - cff_extra_lenIV
    - put_offset
    - psf_enumerate_glyphs_next
    - psf_convert_type1_to_type2
    - psf_enumerate_glyphs_reset
    - swrite_position_only
    - s_init
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int cff_write_CharStrings_offsets(cff_writer_t *pcw, psf_glyph_enum_t
      *penum,\n                              uint *pcount)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:865,1
    - Dst: cff_write_CharStrings_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:866,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:867,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:869,1
    - Dst: cff_writer_t*::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:876,1
    - Dst: cff_put_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:878,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pcw
    - penum
    - charstrings_count
    - charstrings_size
    argTypes:
    - cff_writer_t*
    - psf_glyph_enum_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 856
    functionDepth: 7
    functionLinenumber: 856
    functionLinenumberEnd: 882
    functionName: cff_write_CharStrings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_writer_t*::glyph_data
    - cff_write_CharStrings_offsets
    - psf_enumerate_glyphs_next
    - cff_put_CharString
    - cff_put_Index_header
    - psf_enumerate_glyphs_reset
    - gs_glyph_data_free
    linkageType: ''
    returnType: void
    signature: "void cff_write_CharStrings(cff_writer_t *pcw, psf_glyph_enum_t *penum,\n
      \                     uint charstrings_count, uint charstrings_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cff_extra_lenIV
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:895,1
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:902,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:907,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:909,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pcw
    - pcount
    - pfont
    - global
    argTypes:
    - cff_writer_t*
    - uint*
    - gs_font_type1*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 913
    functionName: cff_write_Subrs_offsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::subr_data
    - cff_extra_lenIV
    - put_offset
    - gs_glyph_data_free
    linkageType: ''
    returnType: uint
    signature: "uint cff_write_Subrs_offsets(cff_writer_t *pcw, uint *pcount, gs_font_type1
      *pfont,\n                        bool global)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:925,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:926,1
    - Dst: gs_font_type1*::data::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:928,1
    - Dst: cff_put_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:932,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pcw
    - subrs_count
    - subrs_size
    - pfont
    - global
    argTypes:
    - cff_writer_t*
    - uint
    - uint
    - gs_font_type1*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 915
    functionDepth: 7
    functionLinenumber: 915
    functionLinenumberEnd: 936
    functionName: cff_write_Subrs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::subr_data
    - cff_put_CharString
    - cff_put_Index_header
    - cff_write_Subrs_offsets
    - gs_glyph_data_free
    linkageType: ''
    returnType: void
    signature: "void cff_write_Subrs(cff_writer_t *pcw, uint subrs_count, uint subrs_size,\n
      \               gs_font_type1 *pfont, bool global)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:948,1
    - Dst: gs_font_type1*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:950,1
    - Dst: psf_sorted_glyphs_index_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:957,1
    - Dst: cff_writer_t*::pfont::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:961,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 2
    argNames:
    - pcw
    - pgsub
    argTypes:
    - cff_writer_t*
    - cff_glyph_subset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 940
    functionDepth: 1
    functionLinenumber: 940
    functionLinenumberEnd: 973
    functionName: cff_Encoding_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - cff_writer_t*::pfont::procs::glyph_name
    - memset
    - psf_sorted_glyphs_index_of
    - gs_font_type1*::procs::encode_char
    linkageType: ''
    returnType: uint
    signature: uint cff_Encoding_size(cff_writer_t *pcw, cff_glyph_subset_t *pgsub)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:982,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:988,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:989,1
    - Dst: gs_font_type1*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:991,1
    - Dst: psf_sorted_glyphs_index_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:998,1
    - Dst: cff_writer_t*::pfont::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1002,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1014,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1015,1
    - Dst: lprintf3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1020,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1024,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1028,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1031,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1035,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1036,1
    - Dst: cff_glyph_sid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1037,1
    - Dst: gs_font_type1*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1038,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 37
    argCount: 2
    argNames:
    - pcw
    - pgsub
    argTypes:
    - cff_writer_t*
    - cff_glyph_subset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 975
    functionDepth: 5
    functionLinenumber: 975
    functionLinenumberEnd: 1044
    functionName: cff_write_Encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - lprintf3
    - sputc
    - cff_glyph_sid
    - lprintf2
    - memset
    - gs_font_type1*::procs::encode_char
    - cff_writer_t*::pfont::procs::glyph_name
    - psf_sorted_glyphs_index_of
    - min
    - put_bytes
    - put_card16
    linkageType: ''
    returnType: int
    signature: int cff_write_Encoding(cff_writer_t *pcw, cff_glyph_subset_t *pgsub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1051,1
    - Dst: cff_glyph_sid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1053,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1056,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pcw
    - pgsub
    argTypes:
    - cff_writer_t*
    - cff_glyph_subset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1046
    functionDepth: 5
    functionLinenumber: 1046
    functionLinenumberEnd: 1059
    functionName: cff_write_charset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - sputc
    - cff_glyph_sid
    - put_card16
    linkageType: ''
    returnType: int
    signature: int cff_write_charset(cff_writer_t *pcw, cff_glyph_subset_t *pgsub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1066,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1067,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1068,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1071,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pcw
    - penum
    argTypes:
    - cff_writer_t*
    - psf_glyph_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1074
    functionName: cff_write_cidset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - psf_enumerate_glyphs_next
    - psf_enumerate_glyphs_reset
    - sputc
    - min
    - put_card16
    linkageType: ''
    returnType: int
    signature: int cff_write_cidset(cff_writer_t *pcw, psf_glyph_enum_t *penum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1090,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1091,1
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pcw
    - penum
    - pformat
    argTypes:
    - cff_writer_t*
    - psf_glyph_enum_t*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1108
    functionName: cff_FDSelect_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_font_cid0*::cidata::glyph_data
    - psf_enumerate_glyphs_reset
    - psf_enumerate_glyphs_next
    linkageType: ''
    returnType: uint
    signature: uint cff_FDSelect_size(cff_writer_t *pcw, psf_glyph_enum_t *penum,
      uint *pformat)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1123,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1124,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1127,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1128,1
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1131,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1134,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1135,1
    - Dst: put_card16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1141,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1144,1
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1147,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1149,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1153,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - pcw
    - penum
    - size
    - format
    argTypes:
    - cff_writer_t*
    - psf_glyph_enum_t*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1111
    functionDepth: 2
    functionLinenumber: 1111
    functionLinenumberEnd: 1156
    functionName: cff_write_FDSelect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - gs_font_cid0*::cidata::glyph_data
    - psf_enumerate_glyphs_next
    - psf_enumerate_glyphs_reset
    - return_error
    - spputc
    - sputc
    - put_card16
    linkageType: ''
    returnType: int
    signature: "int cff_write_FDSelect(cff_writer_t *pcw, psf_glyph_enum_t *penum,
      uint size,\n                   int format)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1201,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1203,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1205,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1208,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1212,1
    - Dst: psf_get_type1_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1216,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1221,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1230,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1231,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1236,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1240,1
    - Dst: gs_font_type1*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1253,1
    - Dst: psf_sorted_glyphs_include
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1257,1
    - Dst: psf_sort_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1263,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1269,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1270,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1273,1
    - Dst: psf_sort_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1277,1
    - Dst: psf_sorted_glyphs_include
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1293,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1298,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1304,1
    - Dst: cff_string_table_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1316,1
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1318,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1324,1
    - Dst: cff_string_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1325,1
    - Dst: cff_string_table_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1328,1
    - Dst: cff_write_Top_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1331,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1335,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1339,1
    - Dst: cff_glyph_sid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1341,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1360,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1364,1
    - Dst: cff_Encoding_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1373,1
    - Dst: cff_write_CharStrings_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1376,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1384,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1385,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1387,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1389,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1406,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1410,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1411,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1412,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1414,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1418,1
    - Dst: check_ioerror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1422,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1423,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1424,1
    - Dst: cff_write_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1426,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1429,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1430,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1431,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1434,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1435,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1436,1
    - Dst: cff_write_Top_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1437,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1440,1
    - Dst: cff_put_Index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1443,1
    - Dst: check_ioerror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1444,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1445,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1448,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1449,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1451,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1453,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1454,1
    - Dst: cff_write_Subrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1456,1
    - Dst: cff_write_Encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1459,1
    - Dst: cff_write_charset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1462,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1465,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1467,1
    - Dst: cff_write_CharStrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1469,1
    - Dst: check_ioerror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1471,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1472,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1475,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1477,1
    - Dst: cff_write_Private
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1479,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1480,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1483,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1485,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1487,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1488,1
    - Dst: cff_write_Subrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1490,1
    - Dst: check_ioerror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1493,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1494,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1495,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1497,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1511,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1512,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 168
    argCount: 7
    argNames:
    - s
    - pfont
    - options
    - subset_glyphs
    - subset_size
    - alt_font_name
    - FontBBox
    argTypes:
    - stream*
    - gs_font_type1*
    - int
    - gs_glyph*
    - uint
    - gs_const_string*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1161
    functionDepth: 8
    functionLinenumber: 1161
    functionLinenumberEnd: 1514
    functionName: psf_write_type2_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 1
    functionsReached:
    - cff_convert_charstrings
    - cff_glyph_sid
    - gs_alloc_bytes
    - cff_string_index
    - cff_write_Private
    - lprintf2
    - cff_put_Index_header
    - psf_enumerate_glyphs_reset
    - gs_c_glyph_name
    - check_ioerror
    - cff_write_CharStrings
    - psf_get_type1_glyphs
    - gs_c_known_encode
    - put_bytes
    - psf_sort_glyphs
    - cff_write_Encoding
    - stell
    - cff_string_table_init
    - put_offset
    - cff_Encoding_size
    - cff_Index_size
    - swrite_position_only
    - cff_put_Index
    - if_debug2m
    - psf_enumerate_glyphs_begin
    - gs_free_object
    - cff_write_Subrs
    - cff_write_CharStrings_offsets
    - cff_write_charset
    - psf_enumerate_glyphs_next
    - psf_sorted_glyphs_include
    - cff_write_header
    - cff_write_Subrs_offsets
    - cff_write_Top_font
    - s_init
    - memcpy
    - gs_font_type1*::procs::encode_char
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psf_write_type2_font(stream *s, gs_font_type1 *pfont, int options,\n
      \                     gs_glyph *subset_glyphs, uint subset_size,\n                      const
      gs_const_string *alt_font_name,\n                      gs_int_rect *FontBBox)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid0*::cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pbfont
    - glyph
    - pgd
    - ppfont
    argTypes:
    - gs_font_base*
    - gs_glyph
    - gs_glyph_data_t*
    - gs_font_type1**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1517
    functionDepth: 0
    functionLinenumber: 1517
    functionLinenumberEnd: 1528
    functionName: cid0_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 2
    functionsReached:
    - gs_font_cid0*::cidata::glyph_data
    linkageType: ''
    returnType: int
    signature: "int cid0_glyph_data(gs_font_base *pbfont, gs_glyph glyph, gs_glyph_data_t
      *pgd,\n                gs_font_type1 **ppfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1533,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1535
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1535
    functionName: offset_error
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached:
    - return_error
    - if_debug1
    linkageType: ''
    returnType: int
    signature: int offset_error(const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1537
    functionDepth: 0
    functionLinenumber: 1537
    functionLinenumberEnd: 1538
    functionName: offset_error
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset_error(msg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1592,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1593,1
    - Dst: psf_enumerate_cids_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1596,1
    - Dst: psf_check_outline_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1600,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1606,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1609,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1610,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1615,1
    - Dst: cff_string_table_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1630,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1631,1
    - Dst: cff_string_table_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1632,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1633,1
    - Dst: cff_write_ROS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1636,1
    - Dst: cff_write_Top_fdarray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1640,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1661,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1667,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1674,1
    - Dst: cff_write_cidset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1675,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1676,1
    - Dst: cff_FDSelect_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1679,1
    - Dst: cff_write_CharStrings_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1683,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1694,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1695,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1697,1
    - Dst: cff_write_Subrs_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1699,1
    - Dst: cff_get_Top_info_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1704,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1720,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1724,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1725,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1726,1
    - Dst: cff_Index_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1728,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1731,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1736,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1737,1
    - Dst: cff_write_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1739,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1742,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1743,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1744,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1747,1
    - Dst: put_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1748,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1749,1
    - Dst: cff_write_Top_cidfont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1750,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1752,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1753,1
    - Dst: cff_put_Index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1756,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1759,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1760,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1762,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1765,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1768,1
    - Dst: cff_write_Subrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1770,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1774,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1774,1
    - Dst: cff_write_cidset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1775,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1778,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1779,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1781,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1781,1
    - Dst: cff_write_FDSelect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1783,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1786,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1787,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1789,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1789,1
    - Dst: cff_write_CharStrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1791,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1795,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1796,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1798,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1798,1
    - Dst: cff_write_FDArray_offsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1800,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1801,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1802,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1804,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1804,1
    - Dst: cff_write_Top_fdarray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1815,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1817,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1818,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1821,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1821,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1829,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1830,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1833,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1833,1
    - Dst: cff_write_Private
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1838,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1846,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1847,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1850,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1850,1
    - Dst: cff_convert_charstrings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1855,1
    - Dst: cff_put_Index_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1856,1
    - Dst: cff_write_Subrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1858,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1862,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1863,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1865,1
    - Dst: offset_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c:1865,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 161
    argCount: 6
    argNames:
    - s
    - pfont
    - options
    - subset_cids
    - subset_size
    - alt_font_name
    argTypes:
    - stream*
    - gs_font_cid0*
    - int
    - byte*
    - uint
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1539
    functionDepth: 8
    functionLinenumber: 1539
    functionLinenumberEnd: 1880
    functionName: psf_write_cid0_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf2.c
    functionUses: 1
    functionsReached:
    - cff_convert_charstrings
    - if_debug1m
    - cff_FDSelect_size
    - psf_check_outline_glyphs
    - cff_write_Private
    - cff_put_Index_header
    - cff_write_FDArray_offsets
    - cff_write_Top_cidfont
    - cff_write_cidset
    - cff_write_CharStrings
    - cff_get_Top_info_common
    - offset_error
    - put_bytes
    - countof
    - stell
    - cff_string_table_init
    - put_offset
    - cff_Index_size
    - memset
    - swrite_position_only
    - if_debug4m
    - cff_put_Index
    - if_debug2m
    - cff_write_Subrs
    - cff_write_FDSelect
    - cff_write_CharStrings_offsets
    - cff_write_header
    - cff_write_Subrs_offsets
    - s_init
    - cff_write_Top_fdarray
    - cff_write_ROS
    - if_debug3m
    - psf_enumerate_cids_begin
    - return_error
    linkageType: ''
    returnType: int
    signature: "int psf_write_cid0_font(stream *s, gs_font_cid0 *pfont, int options,\n
      \                   const byte *subset_cids, uint subset_size,\n                    const
      gs_const_string *alt_font_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 180
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(expr)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:110,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:129,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:139,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 2
    argNames:
    - line
    - intact
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 161
    functionName: doit
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      doit(char *line, bool intact)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:171,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:173,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:174,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:181,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:183,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:188,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:189,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:192,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:193,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:196,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:198,1
    - Dst: doit
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:210,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:214,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:217,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:226,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:228,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:234,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:235,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - s
    - fname
    - HaveTrueTypes
    argTypes:
    - stream*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 237
    functionName: copy_ps_file_stripping_all
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - doit
    - strcmp
    - stream_write
    - strlen
    - strcpy
    - sfread
    - emprintf1
    - strchr
    - return_error
    - sfopen
    - sfclose
    linkageType: ''
    returnType: int
    signature: int copy_ps_file_stripping_all(stream *s, const char *fname, bool HaveTrueTypes)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:247,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:249,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:250,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:257,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:259,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:264,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:265,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:268,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:272,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:274,1
    - Dst: doit
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:286,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:290,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:293,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:302,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:304,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:310,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:311,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - s
    - fname
    - HaveTrueTypes
    argTypes:
    - stream*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 313
    functionName: copy_ps_file_strip_comments
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - doit
    - strcmp
    - stream_write
    - strlen
    - strcpy
    - sfread
    - emprintf1
    - strchr
    - return_error
    - sfopen
    - sfclose
    linkageType: ''
    returnType: int
    signature: int copy_ps_file_strip_comments(stream *s, const char *fname, bool
      HaveTrueTypes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:323,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 327
    functionName: write_opdfread
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int write_opdfread(stream *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:336,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:336,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:344,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:345,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:345,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:347,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:348,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:348,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:351,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:352,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:352,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:358,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:358,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - s
    - HaveTrueTypes
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 363
    functionName: write_tt_encodings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - stream_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int write_tt_encodings(stream *s, bool HaveTrueTypes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_opdfread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:370,1
    - Dst: write_tt_encodings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - s
    - HaveTrueTypes
    - stripping
    argTypes:
    - stream*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 377
    functionName: copy_procsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - write_tt_encodings
    - write_opdfread
    linkageType: ''
    returnType: int
    signature: int copy_procsets(stream *s, bool HaveTrueTypes, bool stripping)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:382,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:385,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:387,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:388,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:389,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - s
    - t
    - mem
    argTypes:
    - stream**
    - stream_template*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 393
    functionName: encode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 8
    functionsReached:
    - stream_template*::set_defaults
    - s_alloc_state
    - s_add_filter
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int encode(stream **s, const stream_template *t, gs_memory_t *mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_args
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:409,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:411,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:416,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:417,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:420,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:424,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:427,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:433,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:436,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:438,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pdev
    - f
    argTypes:
    - gx_device_pdf*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 445
    functionName: pdfwrite_fwrite_args_comment
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - gs_lib_ctx_get_args
    - strlen
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int pdfwrite_fwrite_args_comment(gx_device_pdf *pdev, gp_file *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_args
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:458,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:460,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:465,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:466,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:469,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:473,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:476,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:482,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:485,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:487,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:492,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_pdf*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 494
    functionName: pdfwrite_write_args_comment
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_args
    - stream_write
    - strlen
    linkageType: ''
    returnType: int
    signature: int pdfwrite_write_args_comment(gx_device_pdf *pdev, stream *s)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:506,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:508,1
    - Dst: pdfwrite_write_args_comment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:509,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:524,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:525,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:526,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:527,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:532,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:534,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:534,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:534,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:534,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:534,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:535,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:535,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:537,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:539,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:540,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:540,1
    - Dst: pdf_get_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:542,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:544,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:546,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:546,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:547,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:548,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:549,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:549,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:550,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:551,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:551,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:552,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:553,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:553,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:554,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:555,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:555,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:563,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:564,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:567,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:571,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:572,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:574,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:575,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:578,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:579,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:581,1
    - Dst: copy_procsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:583,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:586,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:588,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:589,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:590,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - pdev
    - pages
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 593
    functionName: ps2write_dsc_header
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - s_close_filters
    - pdfwrite_write_args_comment
    - stell
    - stream_write
    - strlen
    - pdf_get_docinfo_item
    - gs_sprintf
    - encode
    - floor
    - copy_procsets
    - ceil
    - return_error
    linkageType: ''
    returnType: int
    signature: int ps2write_dsc_header(gx_device_pdf * pdev, int pages)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: is_in_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:599,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:599,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:613,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:614,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:615,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:615,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:623,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:624,1
    - Dst: encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:627,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:631,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:632,1
    - Dst: copy_procsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:633,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:637,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:639,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:643,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:645,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:647,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:649,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:651,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:652,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:653,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:657,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:659,1
    - Dst: pdfwrite_write_args_comment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:660,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 677
    functionName: pdfwrite_pdf_open_document
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - s_close_filters
    - pdfwrite_write_args_comment
    - stell
    - stream_write
    - strlen
    - gs_sprintf
    - encode
    - copy_procsets
    - pprintd2
    - pdf_stell
    - return_error
    - is_in_page
    linkageType: ''
    returnType: int
    signature: int pdfwrite_pdf_open_document(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    functionName: pdf_next_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long pdf_next_id(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 704
    functionName: pdf_stell
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 2
    functionsReached:
    - stell
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t pdf_stell(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_next_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:722,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 727
    functionName: pdf_obj_forward_ref
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_next_id
    - gp_fwrite
    linkageType: ''
    returnType: long
    signature: long pdf_obj_forward_ref(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_next_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:733,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:734,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:736,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 738
    functionName: pdf_obj_ref
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 6
    functionsReached:
    - pdf_next_id
    - pdf_stell
    - gp_fwrite
    linkageType: ''
    returnType: long
    signature: long pdf_obj_ref(gx_device_pdf * pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:753,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:756,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:758,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:759,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:760,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - id
    argTypes:
    - gx_device_pdf*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 763
    functionName: pdf_obj_mark_unused
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - return_error
    - gp_fseek
    - gp_ftell
    - gp_fwrite
    linkageType: ''
    returnType: long
    signature: long pdf_obj_mark_unused(gx_device_pdf *pdev, long id)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:772,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:774,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:776,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:778,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:780,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:781,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:782,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:783,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:796,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:799,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:802,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:805,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:810,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:813,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:816,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:819,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:822,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:825,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:828,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:831,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:834,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:837,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:841,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:845,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:849,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:853,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:857,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:861,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:865,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:869,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:873,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:877,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:881,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:885,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:889,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:893,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:897,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:900,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:903,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:907,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 114
    argCount: 3
    argNames:
    - pdev
    - id
    - type
    argTypes:
    - gx_device_pdf*
    - long
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 909
    functionName: pdf_open_obj
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 2
    functionsReached:
    - gp_ftell
    - pprintld1
    - pdf_obj_ref
    - pdf_stell
    - gp_fseek
    - return_error
    - gp_fwrite
    linkageType: ''
    returnType: long
    signature: long pdf_open_obj(gx_device_pdf * pdev, long id, pdf_resource_type_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 3
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: pdf_begin_obj
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_open_obj
    linkageType: ''
    returnType: long
    signature: long pdf_begin_obj(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:920,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:926,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 931
    functionName: pdf_end_obj
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 2
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: int
    signature: int pdf_end_obj(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:957,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:958,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:959,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:960,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:961,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:962,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:963,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - pdev
    - object_id
    - key
    argTypes:
    - gx_device_pdf*
    - gs_id
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 965
    functionName: pdf_object_key
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - gs_md5_finish
    - gs_md5_init
    - min
    linkageType: ''
    returnType: int
    signature: int pdf_object_key(const gx_device_pdf * pdev, gs_id object_id, byte
      key[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:973,1
    - Dst: pdf_object_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - object_id
    - psarc4
    argTypes:
    - gx_device_pdf*
    - gs_id
    - stream_arcfour_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 974
    functionName: pdf_encrypt_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_object_key
    - s_arcfour_set_key
    linkageType: ''
    returnType: int
    signature: int pdf_encrypt_init(const gx_device_pdf * pdev, gs_id object_id, stream_arcfour_state
      *psarc4)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_object_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:987,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:988,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:991,1
    - Dst: s_arcfour_set_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:992,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:995,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pdev
    - s
    - object_id
    argTypes:
    - gx_device_pdf*
    - stream**
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 977
    functionDepth: 2
    functionLinenumber: 977
    functionLinenumberEnd: 1005
    functionName: pdf_begin_encrypt
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_object_key
    - s_add_filter
    - s_arcfour_set_key
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int pdf_begin_encrypt(gx_device_pdf * pdev, stream **s, gs_id object_id)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1015,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1020,1
    - Dst: pdf_begin_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1029,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1030,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1032,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1035,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1037,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1039,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1040,1
    - Dst: pdf_begin_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1041,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1053,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1054,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1056,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1059,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1060,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1071,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1072,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1074,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1077,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1078,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1095,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1102,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1108
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1108
    functionName: none_to_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_begin_obj
    - stream_puts
    - pdf_enter_substream
    - gs_alloc_bytes
    - pprintld1
    - pprints1
    - pdf_obj_ref
    - pdf_begin_encrypt
    - s_alloc
    - pdf_stell
    - pprintg2
    - s_std_init
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int none_to_stream(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_save_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1123,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1126,1
    - Dst: pdf_from_stream_to_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1110
    functionDepth: 1
    functionLinenumber: 1110
    functionLinenumberEnd: 1131
    functionName: stream_to_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_from_stream_to_text
    - pprintg2
    - pdf_save_viewer_state
    linkageType: ''
    returnType: int
    signature: int stream_to_text(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_from_string_to_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1133
    functionDepth: 1
    functionLinenumber: 1133
    functionLinenumberEnd: 1139
    functionName: string_to_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_from_string_to_text
    linkageType: ''
    returnType: int
    signature: int string_to_text(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1146,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1147,1
    - Dst: pdf_reset_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1152
    functionName: text_to_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_reset_text
    - pdf_restore_viewer_state
    linkageType: ''
    returnType: int
    signature: int text_to_stream(gx_device_pdf * pdev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1163,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1169,1
    - Dst: pdf_end_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1179,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1181,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1184,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1186,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1187,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1188,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1189,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1190,1
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1154
    functionDepth: 3
    functionLinenumber: 1154
    functionLinenumberEnd: 1194
    functionName: stream_to_none
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - s_close_filters
    - pdf_end_encrypt
    - pprintld1
    - pdf_end_obj
    - pdf_stell
    - pdf_restore_viewer_state
    - pdf_open_obj
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: int stream_to_none(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - context
    argTypes:
    - gx_device_pdf*
    - pdf_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1197
    functionDepth: 0
    functionLinenumber: 1197
    functionLinenumberEnd: 1211
    functionName: pdf_open_contents
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_open_contents(gx_device_pdf * pdev, pdf_context_t context)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1220,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1224,1
    - Dst: pdf_close_text_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1225,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1227,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - last
    argTypes:
    - gx_device_pdf*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1214
    functionDepth: 1
    functionLinenumber: 1214
    functionLinenumberEnd: 1228
    functionName: pdf_close_contents
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pdf_open_contents
    - pdf_close_text_contents
    linkageType: ''
    returnType: int
    signature: int pdf_close_contents(gx_device_pdf * pdev, bool last)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_stream_release_pieces
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1250,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1255,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 3
    argNames:
    - pdev
    - pres
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1260
    functionName: pdf_cancel_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_release
    - cos_stream_release_pieces
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_cancel_resource(gx_device_pdf * pdev, pdf_resource_t *pres,
      pdf_resource_type_t rtype)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_id_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1292,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1298,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1299,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1302,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - pdev
    - pres1
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1306
    functionName: pdf_forget_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - gs_id_hash
    - COS_RELEASE
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_forget_resource(gx_device_pdf * pdev, pdf_resource_t *pres1,
      pdf_resource_type_t rtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - pres0
    - pres1
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1312
    functionName: nocheck
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int nocheck(gx_device_pdf * pdev, pdf_resource_t *pres0, pdf_resource_t
      *pres1)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_same_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1330,1
    - Dst: pdf_cancel_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1334,1
    - Dst: pdf_forget_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1337,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1341,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - pdev
    - ppres
    - rtype
    - write
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t**
    - pdf_resource_type_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1350
    functionName: pdf_substitute_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 5
    functionsReached:
    - pdf_forget_resource
    - cos_write_object
    - pdf_find_same_resource
    - pdf_reserve_object_id
    - pdf_cancel_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_substitute_resource(gx_device_pdf *pdev, pdf_resource_t **ppres,\n
      \       pdf_resource_type_t rtype,\n        int (*eq)(gx_device_pdf * pdev,
      pdf_resource_t *pres0, pdf_resource_t *pres1),\n        bool write)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PDF_RESOURCE_CHAIN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pdev
    - rtype
    - rid
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1371
    functionName: pdf_find_resource_by_gs_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 3
    functionsReached:
    - PDF_RESOURCE_CHAIN
    linkageType: ''
    returnType: pdf_resource_t
    signature: "pdf_resource_t *\npdf_find_resource_by_gs_id(gx_device_pdf * pdev,
      pdf_resource_type_t rtype,\n                           gs_id rid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - rtype
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1388
    functionName: pdf_find_resource_by_resource_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: pdf_resource_t
    signature: 'pdf_resource_t *

      pdf_find_resource_by_resource_id(gx_device_pdf * pdev, pdf_resource_type_t rtype,
      gs_id id)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1406,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1406,1
    - Dst: cos_object_t*::cos_procs::equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1408,1
    - Dst: eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 3
    argNames:
    - pdev
    - rtype
    - ppres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1424
    functionName: pdf_find_same_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_type
    - eq
    - cos_object_t*::cos_procs::equal
    linkageType: ''
    returnType: int
    signature: "int pdf_find_same_resource(gx_device_pdf * pdev, pdf_resource_type_t
      rtype, pdf_resource_t **ppres,\n        int (*eq)(gx_device_pdf * pdev, pdf_resource_t
      *pres0, pdf_resource_t *pres1))"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_id_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1455,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1462,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1463,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1466,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - pdev
    - pres1
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1471
    functionName: pdf_drop_resource_from_chain
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - gs_id_hash
    - COS_RELEASE
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_drop_resource_from_chain(gx_device_pdf * pdev, pdf_resource_t
      *pres1, pdf_resource_type_t rtype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cond
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1486,1
    - Dst: COS_RELEASE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1498,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1499,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1502,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - pdev
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1505
    functionName: pdf_drop_resources
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - COS_RELEASE
    - cond
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void pdf_drop_resources(gx_device_pdf * pdev, pdf_resource_type_t
      rtype,\n        int (*cond)(gx_device_pdf * pdev, pdf_resource_t *pres))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1508
    functionDepth: 1
    functionLinenumber: 1508
    functionLinenumberEnd: 1526
    functionName: pdf_print_resource_statistics
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - dmprintf3
    linkageType: ''
    returnType: void
    signature: void pdf_print_resource_statistics(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1533,1
    - Dst: pdf_open_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pdev
    - id
    - type
    argTypes:
    - gx_device_pdf*
    - long
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1529
    functionDepth: 4
    functionLinenumber: 1529
    functionLinenumberEnd: 1539
    functionName: pdf_open_separate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 3
    functionsReached:
    - pdf_open_obj
    - pdfwrite_pdf_open_document
    linkageType: ''
    returnType: long
    signature: long pdf_open_separate(gx_device_pdf * pdev, long id, pdf_resource_type_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1540
    functionDepth: 5
    functionLinenumber: 1540
    functionLinenumberEnd: 1544
    functionName: pdf_begin_separate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_open_separate
    linkageType: ''
    returnType: long
    signature: long pdf_begin_separate(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1549,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - pres
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1546
    functionDepth: 2
    functionLinenumber: 1546
    functionLinenumberEnd: 1551
    functionName: pdf_reserve_object_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 4
    functionsReached:
    - pdf_obj_ref
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void pdf_reserve_object_id(gx_device_pdf * pdev, pdf_resource_t *pres,
      long id)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1564,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1567,1
    - Dst: cos_object_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1568,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1570,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1571,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1577,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - pdev
    - plist
    - pst
    - ppres
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t**
    - gs_memory_struct_type_t*
    - pdf_resource_t**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1554
    functionDepth: 3
    functionLinenumber: 1554
    functionLinenumberEnd: 1588
    functionName: pdf_alloc_aside
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - cos_object_alloc
    - pdf_reserve_object_id
    - memset
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pdf_alloc_aside(gx_device_pdf * pdev, pdf_resource_t ** plist,\n
      \               const gs_memory_struct_type_t * pst, pdf_resource_t **ppres,\n
      \               long id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1594,1
    - Dst: pdf_alloc_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pdev
    - plist
    - pst
    - ppres
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t**
    - gs_memory_struct_type_t*
    - pdf_resource_t**
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1589
    functionDepth: 6
    functionLinenumber: 1589
    functionLinenumberEnd: 1599
    functionName: pdf_begin_aside
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_alloc_aside
    - pdf_begin_separate
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_aside(gx_device_pdf * pdev, pdf_resource_t ** plist,\n
      \               const gs_memory_struct_type_t * pst, pdf_resource_t ** ppres,\n
      \               pdf_resource_type_t type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1611,1
    - Dst: PDF_RESOURCE_CHAIN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1611,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pdev
    - rtype
    - rid
    - ppres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1602
    functionDepth: 7
    functionLinenumber: 1602
    functionLinenumberEnd: 1617
    functionName: pdf_begin_resource_body
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - PDF_RESOURCE_CHAIN
    - pdf_begin_aside
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_resource_body(gx_device_pdf * pdev, pdf_resource_type_t
      rtype,\n                        gs_id rid, pdf_resource_t ** ppres)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_resource_body
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1627,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1632,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1633,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - rtype
    - rid
    - ppres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1618
    functionDepth: 8
    functionLinenumber: 1618
    functionLinenumberEnd: 1636
    functionName: pdf_begin_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pprints1
    - pprintld1
    - pdf_begin_resource_body
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_resource(gx_device_pdf * pdev, pdf_resource_type_t rtype,
      gs_id rid,\n                   pdf_resource_t ** ppres)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1659,1
    - Dst: PDF_RESOURCE_CHAIN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pdev
    - rtype
    - rid
    - ppres
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    - pdf_resource_t**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1650
    functionDepth: 4
    functionLinenumber: 1650
    functionLinenumberEnd: 1665
    functionName: pdf_alloc_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 6
    functionsReached:
    - PDF_RESOURCE_CHAIN
    - pdf_alloc_aside
    linkageType: ''
    returnType: int
    signature: "int pdf_alloc_resource(gx_device_pdf * pdev, pdf_resource_type_t rtype,
      gs_id rid,\n                   pdf_resource_t ** ppres, long id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pres
    argTypes:
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1672
    functionName: pdf_resource_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long pdf_resource_id(const pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_end_obj
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1675
    functionDepth: 2
    functionLinenumber: 1675
    functionLinenumberEnd: 1683
    functionName: pdf_end_separate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 3
    functionsReached:
    - pdf_end_obj
    linkageType: ''
    returnType: int
    signature: int pdf_end_separate(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1684
    functionDepth: 3
    functionLinenumber: 1684
    functionLinenumberEnd: 1688
    functionName: pdf_end_aside
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_end_separate
    linkageType: ''
    returnType: int
    signature: int pdf_end_aside(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_end_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1691
    functionDepth: 4
    functionLinenumber: 1691
    functionLinenumberEnd: 1695
    functionName: pdf_end_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_end_aside
    linkageType: ''
    returnType: int
    signature: int pdf_end_resource(gx_device_pdf * pdev, pdf_resource_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1713,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1702
    functionDepth: 0
    functionLinenumber: 1702
    functionLinenumberEnd: 1717
    functionName: pdf_write_resource_objects
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 2
    functionsReached:
    - cos_write_object
    linkageType: ''
    returnType: int
    signature: int pdf_write_resource_objects(gx_device_pdf *pdev, pdf_resource_type_t
      rtype)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1743
      start: 1724
    functionDepth: 0
    functionLinenumber: 1724
    functionLinenumberEnd: 1743
    functionName: pdf_reverse_resource_chain
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_reverse_resource_chain(gx_device_pdf *pdev, pdf_resource_type_t
      rtype)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pdev
    - rtype
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1749
    functionDepth: 0
    functionLinenumber: 1749
    functionLinenumberEnd: 1771
    functionName: pdf_free_resource_objects
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_free
    linkageType: ''
    returnType: int
    signature: int pdf_free_resource_objects(gx_device_pdf *pdev, pdf_resource_type_t
      rtype)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1796,1
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1801,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1802,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1804,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1806,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1807,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1808,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1815,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1816,1
    - Dst: pdf_write_resource_objects
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1824,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 3
    argNames:
    - pdev
    - page
    - clear_usage
    argTypes:
    - gx_device_pdf*
    - pdf_page_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1777
    functionDepth: 6
    functionLinenumber: 1777
    functionLinenumberEnd: 1828
    functionName: pdf_store_page_resources
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pprintld1
    - pdf_resource_id
    - pprints1
    - pdf_end_separate
    - pdf_record_usage
    - pdf_write_resource_objects
    - pdf_begin_separate
    linkageType: ''
    returnType: int
    signature: int pdf_store_page_resources(gx_device_pdf *pdev, pdf_page_t *page,
      bool clear_usage)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1838,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1840,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1842,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1845,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - s
    - file
    - count
    - ss
    argTypes:
    - stream*
    - gp_file*
    - gs_offset_t
    - stream_arcfour_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1850
    functionName: pdf_copy_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - s_arcfour_process_buffer
    - stream_write
    - gp_fread
    - gs_note_error
    - min
    linkageType: ''
    returnType: int
    signature: int pdf_copy_data(stream *s, gp_file *file, gs_offset_t count, stream_arcfour_state
      *ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1861,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1862,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1864,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1865,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1867,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1869,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1871,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1872,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1874,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1875,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - s
    - file
    - position
    - count
    argTypes:
    - stream*
    - gp_file*
    - gs_offset_t
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1879
      start: 1854
    functionDepth: 1
    functionLinenumber: 1854
    functionLinenumberEnd: 1879
    functionName: pdf_copy_data_safe
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - sflush
    - gp_ftell
    - stream_write
    - gp_fread
    - gp_fseek
    - return_error
    - min
    linkageType: ''
    returnType: int
    signature: int pdf_copy_data_safe(stream *s, gp_file *file, gs_offset_t position,
      long count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1899,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1901,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1906,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1913,1
    - Dst: pdf_obj_forward_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1914,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pdev
    - page_num
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1917
    functionName: pdf_page_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 6
    functionsReached:
    - cos_dict_alloc
    - max
    - pdf_obj_forward_ref
    - gs_resize_object
    - memset
    linkageType: ''
    returnType: long
    signature: long pdf_page_id(gx_device_pdf * pdev, int page_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1920
    functionDepth: 0
    functionLinenumber: 1920
    functionLinenumberEnd: 1924
    functionName: pdf_current_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: pdf_page_t
    signature: 'pdf_page_t *

      pdf_current_page(gx_device_pdf *pdev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1927
    functionDepth: 3
    functionLinenumber: 1927
    functionLinenumberEnd: 1933
    functionName: pdf_current_page_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_page_id
    linkageType: ''
    returnType: cos_dict_t
    signature: 'cos_dict_t *

      pdf_current_page_dict(gx_device_pdf *pdev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1940,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - pstr
    argTypes:
    - gx_device_pdf*
    - gs_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1936
    functionDepth: 1
    functionLinenumber: 1936
    functionLinenumberEnd: 1946
    functionName: pdf_write_saved_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_write
    - gs_free_string
    linkageType: ''
    returnType: int
    signature: int pdf_write_saved_string(gx_device_pdf * pdev, gs_string * pstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_in_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1952,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1955,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1956,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1957,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1962,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - context
    argTypes:
    - gx_device_pdf*
    - pdf_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1949
    functionDepth: 4
    functionLinenumber: 1949
    functionLinenumberEnd: 1963
    functionName: pdf_open_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 5
    functionsReached:
    - pdf_open_contents
    - is_in_page
    - return_error
    - pdfwrite_pdf_open_document
    - pdf_page_id
    linkageType: ''
    returnType: int
    signature: int pdf_open_page(gx_device_pdf * pdev, pdf_context_t context)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1974,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1980,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1986,1
    - Dst: pdf_remember_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:1990,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1966
    functionDepth: 5
    functionLinenumber: 1966
    functionLinenumberEnd: 1996
    functionName: pdf_unclip
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_open_contents
    - pdf_remember_clip_path
    - pdf_open_page
    - pdf_restore_viewer_state
    linkageType: ''
    returnType: int
    signature: int pdf_unclip(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2013
    functionName: pdf_store_default_Producer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 2
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void pdf_store_default_Producer(char buf[PDF_MAX_PRODUCER])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2023,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2024,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2027,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - before
    - pmat
    - after
    argTypes:
    - gx_device_pdf*
    - char*
    - gs_matrix*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2016
    functionDepth: 1
    functionLinenumber: 2016
    functionLinenumberEnd: 2028
    functionName: pdf_put_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pprintg6
    linkageType: ''
    returnType: void
    signature: "void pdf_put_matrix(gx_device_pdf * pdev, const char *before,\n               const
      gs_matrix * pmat, const char *after)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2048,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2059,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2060,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2063,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - s
    - nstr
    - size
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2036
    functionDepth: 1
    functionLinenumber: 2036
    functionLinenumberEnd: 2067
    functionName: pdf_put_name_chars_1_2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - stream_puts
    - stream_putc
    linkageType: ''
    returnType: int
    signature: int pdf_put_name_chars_1_2(stream *s, const byte *nstr, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2072
      start: 2068
    functionDepth: 0
    functionLinenumber: 2068
    functionLinenumberEnd: 2072
    functionName: pdf_put_name_chars_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdf_put_name_chars_proc_t
    signature: pdf_put_name_chars_proc_t pdf_put_name_chars_proc(const gx_device_pdf
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_name_chars_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - nstr
    - size
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2077
      start: 2073
    functionDepth: 1
    functionLinenumber: 2073
    functionLinenumberEnd: 2077
    functionName: pdf_put_name_chars
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_put_name_chars_proc
    linkageType: ''
    returnType: int
    signature: int pdf_put_name_chars(const gx_device_pdf *pdev, const byte *nstr,
      uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2081,1
    - Dst: pdf_put_name_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - nstr
    - size
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 2078
    functionDepth: 2
    functionLinenumber: 2078
    functionLinenumberEnd: 2083
    functionName: pdf_put_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_put_name_chars
    - stream_putc
    linkageType: ''
    returnType: int
    signature: int pdf_put_name(const gx_device_pdf *pdev, const byte *nstr, uint
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_encrypt_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2095,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2097,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2100,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2101,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2102,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2104,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2105,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2106,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2107,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2108,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2109,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2112,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2115,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2116,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2129,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2130,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - str
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2086
    functionDepth: 3
    functionLinenumber: 2086
    functionLinenumberEnd: 2131
    functionName: pdf_encrypt_encoded_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - sclose
    - s_init_state
    - stell
    - pdf_encrypt_init
    - s_arcfour_process_buffer
    - stream_write
    - stream_putc
    - sgets
    - s_init_filter
    - s_init
    - sread_string
    linkageType: ''
    returnType: int
    signature: int pdf_encrypt_encoded_string(const gx_device_pdf *pdev, const byte
      *str, uint size, gs_id object_id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2138,1
    - Dst: pdf_encrypt_encoded_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - str
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2134
    functionDepth: 4
    functionLinenumber: 2134
    functionLinenumberEnd: 2142
    functionName: pdf_put_encoded_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_write
    - pdf_encrypt_encoded_string
    linkageType: ''
    returnType: int
    signature: int pdf_put_encoded_string(const gx_device_pdf *pdev, const byte *str,
      uint size, gs_id object_id)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2152,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2153,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2185,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2188,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2189,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2193,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2196,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2197,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2201,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2203,1
    - Dst: pdf_encrypt_encoded_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2206,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 58
    argCount: 4
    argNames:
    - pdev
    - str
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2144
    functionDepth: 4
    functionLinenumber: 2144
    functionLinenumberEnd: 2207
    functionName: pdf_put_encoded_string_as_hex
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_write
    - pdf_encrypt_encoded_string
    linkageType: ''
    returnType: int
    signature: int pdf_put_encoded_string_as_hex(const gx_device_pdf *pdev, const
      byte *str, uint size, gs_id object_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2213,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pdev
    - str
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2217
    functionName: pdf_put_encoded_hex_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - return_error
    - stream_write
    - emprintf
    linkageType: ''
    returnType: int
    signature: int pdf_put_encoded_hex_string(const gx_device_pdf *pdev, const byte
      *str, uint size, gs_id object_id)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 10
    argCount: 4
    argNames:
    - pdev
    - p
    - l
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2225
    functionDepth: 0
    functionLinenumber: 2225
    functionLinenumberEnd: 2241
    functionName: pdf_scan_item
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_scan_item(const gx_device_pdf * pdev, const byte * p, uint
      l, gs_id object_id)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2249,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2267,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2268,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2276,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2277,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2287,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2288,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2291,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2294,1
    - Dst: pdf_encrypt_encoded_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2302,1
    - Dst: pdf_scan_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2304,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2305,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 4
    argNames:
    - pdev
    - vstr
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2244
    functionDepth: 4
    functionLinenumber: 2244
    functionLinenumberEnd: 2312
    functionName: pdf_put_composite
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_scan_item
    - stream_write
    - pdf_encrypt_encoded_string
    - stream_putc
    linkageType: ''
    returnType: int
    signature: int pdf_put_composite(const gx_device_pdf * pdev, const byte * vstr,
      uint size, gs_id object_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psdf_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - str
    - size
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2319
    functionDepth: 1
    functionLinenumber: 2319
    functionLinenumberEnd: 2325
    functionName: pdf_put_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - psdf_write_string
    linkageType: ''
    returnType: int
    signature: int pdf_put_string(const gx_device_pdf * pdev, const byte * str, uint
      size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2332,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2334,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2336,1
    - Dst: pdf_put_composite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2338,1
    - Dst: pdf_put_composite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2340,1
    - Dst: pdf_put_encoded_string_as_hex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2343,1
    - Dst: pdf_put_encoded_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2345,1
    - Dst: pdf_put_encoded_hex_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2348,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2349,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 20
    argCount: 4
    argNames:
    - pdev
    - vstr
    - size
    - object_id
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2328
    functionDepth: 5
    functionLinenumber: 2328
    functionLinenumberEnd: 2351
    functionName: pdf_write_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_put_encoded_string_as_hex
    - pdf_put_name
    - stream_write
    - pdf_put_composite
    - pdf_put_encoded_string
    - pdf_put_encoded_hex_string
    linkageType: ''
    returnType: int
    signature: int pdf_write_value(const gx_device_pdf * pdev, const byte * vstr,
      uint size, gs_id object_id)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2371,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2373,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2378,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2380,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2381,1
    - Dst: cos_param_list_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2381,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2389,1
    - Dst: s_CF_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2389,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2391,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2393,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2395,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2398,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2402,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2411,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2413,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2414,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2414,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2416,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2416,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2419,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2419,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2422,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2422,1
    - Dst: TEMPLATE_IS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2425,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2431,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2431,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2433,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2433,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2434,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2437,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2440,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2441,1
    - Dst: cos_array_add_c_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2441,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2442,1
    - Dst: cos_array_add_c_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2442,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2443,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2443,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2444,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2446,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2449,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2450,1
    - Dst: cos_array_add_c_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2450,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2451,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2451,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2451,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2452,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2452,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2453,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2457,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2457,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - pcd
    - pdev
    - s
    - pfn
    argTypes:
    - cos_dict_t*
    - gx_device_pdf*
    - stream*
    - pdf_filter_names_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2459
    functionName: pdf_put_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_dict_alloc
    - cos_array_add_c_string
    - CHECK
    - cos_dict_put_c_key_int
    - cos_param_list_writer_init
    - cos_dict_put_c_strings
    - cos_dict_put_c_key_object
    - COS_OBJECT
    - cos_array_add_object
    - s_CF_get_params
    - return_error
    - cos_array_alloc
    - TEMPLATE_IS
    linkageType: ''
    returnType: int
    signature: "int pdf_put_filters(cos_dict_t *pcd, gx_device_pdf *pdev, stream *s,\n
      \               const pdf_filter_names_t *pfn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - atemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2371
    functionName: TEMPLATE_IS
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEMPLATE_IS(atemp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2411,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2413,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2414,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2414,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2416,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2416,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2419,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2419,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2422,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2405
    functionDepth: 1
    functionLinenumber: 2405
    functionLinenumberEnd: 2425
    functionName: if
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 8
    functionsReached:
    - cos_dict_alloc
    - return_error
    - CHECK
    - cos_dict_put_c_key_int
    linkageType: ''
    returnType: else
    signature: else if (TEMPLATE_IS(s_PNGPE_template))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2467,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2471,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2473,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - pbw
    argTypes:
    - gx_device_pdf*
    - psdf_binary_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2475
      start: 2462
    functionDepth: 1
    functionLinenumber: 2462
    functionLinenumberEnd: 2475
    functionName: pdf_flate_binary
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - return_error
    - stream_template*::set_defaults
    - psdf_encode_binary
    - s_alloc_state
    linkageType: ''
    returnType: int
    signature: int pdf_flate_binary(gx_device_pdf *pdev, psdf_binary_writer *pbw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pdw
    argTypes:
    - gx_device_pdf*
    - pdf_data_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2481
    functionDepth: 1
    functionLinenumber: 2481
    functionLinenumberEnd: 2486
    functionName: pdf_begin_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pdf_begin_data_stream
    linkageType: ''
    returnType: int
    signature: int pdf_begin_data(gx_device_pdf *pdev, pdf_data_writer_t *pdw)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2514,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2517,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2518,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2522,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2523,1
    - Dst: pdf_begin_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2527,1
    - Dst: psdf_begin_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2535,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2544,1
    - Dst: pdf_flate_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2546,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - pdev
    - pdw
    - orig_options
    - object_id
    argTypes:
    - gx_device_pdf*
    - pdf_data_writer_t*
    - int
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2550
      start: 2488
    functionDepth: 3
    functionLinenumber: 2488
    functionLinenumberEnd: 2550
    functionName: pdf_append_data_stream_filters
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - psdf_begin_binary
    - pdf_flate_binary
    - stell
    - pprintld1
    - pdf_begin_encrypt
    - pdf_obj_ref
    linkageType: ''
    returnType: int
    signature: "int pdf_append_data_stream_filters(gx_device_pdf *pdev, pdf_data_writer_t
      *pdw,\n                      int orig_options, gs_id object_id)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2563,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pdev
    - pdw
    - options
    - object_id
    argTypes:
    - gx_device_pdf*
    - pdf_data_writer_t*
    - int
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2552
    functionDepth: 3
    functionLinenumber: 2552
    functionLinenumberEnd: 2569
    functionName: pdf_begin_data_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 3
    functionsReached:
    - pdf_reserve_object_id
    - pdf_open_aside
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_data_stream(gx_device_pdf *pdev, pdf_data_writer_t *pdw,\n
      \                     int options, gs_id object_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2576,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2579,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdw
    argTypes:
    - pdf_data_writer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2572
    functionDepth: 1
    functionLinenumber: 2572
    functionLinenumberEnd: 2583
    functionName: pdf_end_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - COS_WRITE_OBJECT
    - pdf_close_aside
    linkageType: ''
    returnType: int
    signature: int pdf_end_data(pdf_data_writer_t *pdw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2593,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2603,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2608,1
    - Dst: gs_function_make_scaled
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2617,1
    - Dst: pdf_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2619,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2620,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2622,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pdev
    - pfn
    - pranges
    - pvalue
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    - gs_range_t*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2625
      start: 2588
    functionDepth: 1
    functionLinenumber: 2588
    functionLinenumberEnd: 2625
    functionName: pdf_function_scaled
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - gs_function_make_scaled
    - gs_alloc_byte_array
    - gs_function_free
    - gs_free_object
    - return_error
    - pdf_function
    linkageType: ''
    returnType: int
    signature: "int pdf_function_scaled(gx_device_pdf *pdev, const gs_function_t *pfn,\n
      \                   const gs_range_t *pranges, cos_value_t *pvalue)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2635,1
    - Dst: gs_function_get_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2643,1
    - Dst: FunctionType
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2644,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2652,1
    - Dst: pdf_function_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2654,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2662,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2664,1
    - Dst: cos_write_stream_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2665,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2667,1
    - Dst: psdf_begin_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2669,1
    - Dst: pdf_flate_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2672,1
    - Dst: pdf_put_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2678,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2687,1
    - Dst: data_source_access_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2688,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2690,1
    - Dst: psdf_end_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2692,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2693,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2699,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2704,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2708,1
    - Dst: pdf_function_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2709,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2710,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2711,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2713,1
    - Dst: cos_param_list_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2717,1
    - Dst: gs_function_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2720,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 3
    argNames:
    - pdev
    - pfn
    - ppres
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2626
    functionDepth: 5
    functionLinenumber: 2626
    functionLinenumberEnd: 2721
    functionName: pdf_function_aux
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - cos_param_list_writer_init
    - COS_FREE
    - cos_array_alloc
    - gs_function_get_info
    - cos_become
    - FunctionType
    - psdf_begin_binary
    - stream_write
    - pdf_alloc_resource
    - psdf_end_binary
    - pdf_function_array
    - pdf_put_filters
    - min
    - cos_dict_put_c_key
    - cos_write_stream_alloc
    - data_source_access_only
    - s_close_filters
    - pdf_flate_binary
    - return_error
    - COS_OBJECT_VALUE
    - gs_function_get_params
    linkageType: ''
    returnType: int
    signature: "int pdf_function_aux(gx_device_pdf *pdev, const gs_function_t *pfn,\n
      \            pdf_resource_t **ppres)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - pres0
    - pres1
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2726
      start: 2722
    functionDepth: 0
    functionLinenumber: 2722
    functionLinenumberEnd: 2726
    functionName: functions_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int functions_equal(gx_device_pdf * pdev, pdf_resource_t *pres0, pdf_resource_t
      *pres1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_function_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2731,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2738,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2742,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pdev
    - pfn
    - pvalue
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2744
      start: 2727
    functionDepth: 6
    functionLinenumber: 2727
    functionLinenumberEnd: 2744
    functionName: pdf_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_substitute_resource
    - COS_OBJECT_VALUE
    - pdf_function_aux
    linkageType: ''
    returnType: int
    signature: int pdf_function(gx_device_pdf *pdev, const gs_function_t *pfn, cos_value_t
      *pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2752,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2753,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - pdev
    - pca
    - pinfo
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2759
      start: 2745
    functionDepth: 7
    functionLinenumber: 2745
    functionLinenumberEnd: 2759
    functionName: pdf_function_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_array_add
    - pdf_function
    linkageType: ''
    returnType: int
    signature: "int pdf_function_array(gx_device_pdf *pdev, cos_array_t *pca,\n                               const
      gs_function_info_t *pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2766,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - pfn
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2762
    functionDepth: 7
    functionLinenumber: 2762
    functionLinenumberEnd: 2772
    functionName: pdf_write_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - pdf_function
    linkageType: ''
    returnType: int
    signature: int pdf_write_function(gx_device_pdf *pdev, const gs_function_t *pfn,
      long *pid)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2780,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2781,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2781,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2783,1
    - Dst: cos_array_unadd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2786,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2791,1
    - Dst: cos_array_element_first
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2794,1
    - Dst: cos_array_element_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2798,1
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2800,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - pdev
    - pco
    argTypes:
    - gx_device_pdf*
    - cos_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2808
      start: 2774
    functionDepth: 1
    functionLinenumber: 2774
    functionLinenumberEnd: 2808
    functionName: free_function_refs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 1
    functionsReached:
    - cos_array_element_next
    - strlen
    - cos_dict_find
    - cos_array_element_first
    - cos_array_unadd
    - cos_type
    - pdf_find_resource_by_resource_id
    linkageType: ''
    returnType: int
    signature: int free_function_refs(gx_device_pdf *pdev, cos_object_t *pco)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintd4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pbox
    argTypes:
    - gx_device_pdf*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2827
      start: 2811
    functionDepth: 1
    functionLinenumber: 2811
    functionLinenumberEnd: 2827
    functionName: pdf_write_font_bbox
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pprintd4
    linkageType: ''
    returnType: int
    signature: int pdf_write_font_bbox(gx_device_pdf *pdev, const gs_int_rect *pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c:2843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pbox
    argTypes:
    - gx_device_pdf*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2846
      start: 2830
    functionDepth: 1
    functionLinenumber: 2830
    functionLinenumberEnd: 2846
    functionName: pdf_write_font_bbox_float
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfu.c
    functionUses: 0
    functionsReached:
    - pprintg4
    linkageType: ''
    returnType: int
    signature: int pdf_write_font_bbox_float(gx_device_pdf *pdev, const gs_rect *pbox)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 28
    argCount: 3
    argNames:
    - s1
    - s2
    - length
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 556
    functionName: whitelist_strncmp
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/whitelst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int whitelist_strncmp(const char *s1, const char *s2, int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: whitelist_strncmp
      Src: /src/libspectre/ghostscript/devices/vector/whitelst.c:565,1
    - Dst: whitelist_strncmp
      Src: /src/libspectre/ghostscript/devices/vector/whitelst.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - Name
    - size
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 579
    functionName: IsInWhiteList
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/whitelst.c
    functionUses: 1
    functionsReached:
    - whitelist_strncmp
    linkageType: ''
    returnType: int
    signature: int IsInWhiteList (const char *Name, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 182
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - etype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: cos_element_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_element_common(etype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: private_st_cos_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: private_st_cos_stream_piece
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_stream_piece()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: private_st_cos_array_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_array_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: private_st_cos_dict_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_dict_element()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: COS_OBJECT_MEMORY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1283,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1291,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1299,1
    - Dst: cos_copy_element_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1307,1
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1312,1
    - Dst: cos_value_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1314,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1314,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1325,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1326,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1329,1
    - Dst: cos_copy_element_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1331,1
    - Dst: cos_uncopy_element_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1335,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1337,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1339,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1341,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 5
    argNames:
    - pcd
    - key_data
    - key_size
    - pvalue
    - flags
    argTypes:
    - cos_dict_t*
    - byte*
    - uint
    - cos_value_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1352
    functionName: cos_dict_put_copy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - gs_free_const_string
    - COS_OBJECT
    - cos_value_free
    - return_error
    - gs_free_string
    - cos_uncopy_element_value
    - gs_alloc_struct
    - memcpy
    - cos_copy_element_value
    - gs_free_object
    - gs_alloc_string
    - gs_note_error
    - COS_OBJECT_MEMORY
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_copy(cos_dict_t *pcd, const byte *key_data, uint
      key_size,\n                  const cos_value_t *pvalue, int flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pcd
    - key_data
    - key_size
    - pvalue
    argTypes:
    - cos_dict_t*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1353
    functionDepth: 2
    functionLinenumber: 1353
    functionLinenumberEnd: 1358
    functionName: cos_dict_put
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 4
    functionsReached:
    - cos_dict_put_copy
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put(cos_dict_t *pcd, const byte *key_data, uint key_size,\n
      \            const cos_value_t *pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pcd
    - key_data
    - key_size
    - pvalue
    argTypes:
    - cos_dict_t*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1365
    functionName: cos_dict_put_no_copy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_copy
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_no_copy(cos_dict_t *pcd, const byte *key_data, uint
      key_size,\n                     const cos_value_t *pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1369,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - pvalue
    argTypes:
    - cos_dict_t*
    - char*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1371
    functionName: cos_dict_put_c_key
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 5
    functionsReached:
    - strlen
    - cos_dict_put_copy
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_key(cos_dict_t *pcd, const char *key, const cos_value_t
      *pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1378,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pcd
    - key
    - data
    - size
    argTypes:
    - cos_dict_t*
    - char*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1372
    functionDepth: 3
    functionLinenumber: 1372
    functionLinenumberEnd: 1380
    functionName: cos_dict_put_c_key_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 12
    functionsReached:
    - cos_string_value
    - cos_dict_put_c_key
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_c_key_string(cos_dict_t *pcd, const char *key,\n
      \                         const byte *data, uint size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1386,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1387,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcd
    - key
    - value
    argTypes:
    - cos_dict_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1381
    functionDepth: 4
    functionLinenumber: 1381
    functionLinenumberEnd: 1388
    functionName: cos_dict_put_c_key_int
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 9
    functionsReached:
    - gs_sprintf
    - strlen
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_key_int(cos_dict_t *pcd, const char *key, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - value
    argTypes:
    - cos_dict_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1389
    functionDepth: 4
    functionLinenumber: 1389
    functionLinenumberEnd: 1395
    functionName: cos_dict_put_c_key_bool
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 3
    functionsReached:
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_key_bool(cos_dict_t *pcd, const char *key, bool
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1402,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1403,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1404,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1405,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pcd
    - key
    - value
    argTypes:
    - cos_dict_t*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1396
    functionDepth: 4
    functionLinenumber: 1396
    functionLinenumberEnd: 1406
    functionName: cos_dict_put_c_key_real
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 2
    functionsReached:
    - pprintg1
    - stell
    - swrite_string
    - s_init
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_key_real(cos_dict_t *pcd, const char *key, double
      value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_from_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1411,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1416,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1417,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1417,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pdev
    - pcd
    - key
    - pf
    - size
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - char*
    - float*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1421
    functionName: cos_dict_put_c_key_floats
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 6
    functionsReached:
    - COS_OBJECT
    - cos_dict_put_c_key_object
    - COS_FREE
    - return_error
    - cos_array_from_floats
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_c_key_floats(gx_device_pdf *pdev, cos_dict_t *pcd,
      const char *key, const float *pf,\n                          uint size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1427,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - pco
    argTypes:
    - cos_dict_t*
    - char*
    - cos_object_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1422
    functionDepth: 3
    functionLinenumber: 1422
    functionLinenumberEnd: 1428
    functionName: cos_dict_put_c_key_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 11
    functionsReached:
    - cos_object_value
    - cos_dict_put_c_key
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_key_object(cos_dict_t *pcd, const char *key, cos_object_t
      *pco)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1435,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pcd
    - key_data
    - key_size
    - value_data
    - value_size
    argTypes:
    - cos_dict_t*
    - byte*
    - uint
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1429
    functionDepth: 3
    functionLinenumber: 1429
    functionLinenumberEnd: 1437
    functionName: cos_dict_put_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 5
    functionsReached:
    - cos_string_value
    - cos_dict_put
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_string(cos_dict_t *pcd, const byte *key_data, uint
      key_size,\n                    const byte *value_data, uint value_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1441,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - value
    argTypes:
    - cos_dict_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1438
    functionDepth: 4
    functionLinenumber: 1438
    functionLinenumberEnd: 1442
    functionName: cos_dict_put_string_copy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 1
    functionsReached:
    - strlen
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_string_copy(cos_dict_t *pcd, const char *key, const
      char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1448,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcd
    - key
    - value
    argTypes:
    - cos_dict_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1443
    functionDepth: 3
    functionLinenumber: 1443
    functionLinenumberEnd: 1449
    functionName: cos_dict_put_c_strings
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 8
    functionsReached:
    - cos_c_string_value
    - cos_dict_put_c_key
    linkageType: ''
    returnType: int
    signature: int cos_dict_put_c_strings(cos_dict_t *pcd, const char *key, const
      char *value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1461,1
    - Dst: cos_dict_element_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1463,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pcdto
    - pcdfrom
    argTypes:
    - cos_dict_t*
    - cos_dict_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1452
    functionDepth: 1
    functionLinenumber: 1452
    functionLinenumberEnd: 1475
    functionName: cos_dict_move_all
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_dict_element_free
    - cos_dict_find
    linkageType: ''
    returnType: int
    signature: int cos_dict_move_all(cos_dict_t *pcdto, cos_dict_t *pcdfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pcd
    - key_data
    - key_size
    argTypes:
    - cos_dict_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1487
    functionName: cos_dict_find
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 3
    functionsReached:
    - bytes_compare
    linkageType: ''
    returnType: cos_value_t
    signature: 'cos_value_t *

      cos_dict_find(const cos_dict_t *pcd, const byte *key_data, uint key_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1491,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcd
    - key
    argTypes:
    - cos_dict_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1488
    functionDepth: 2
    functionLinenumber: 1488
    functionLinenumberEnd: 1492
    functionName: cos_dict_find_c_key
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 5
    functionsReached:
    - strlen
    - cos_dict_find
    linkageType: ''
    returnType: cos_value_t
    signature: 'cos_value_t *

      cos_dict_find_c_key(const cos_dict_t *pcd, const char *key)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1500,1
    - Dst: cos_value_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - pco0
    - md5
    - hash
    - pdev
    argTypes:
    - cos_object_t*
    - gs_md5_state_t*
    - gs_md5_byte_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1504
    functionName: cos_dict_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - cos_value_hash
    linkageType: ''
    returnType: int
    signature: int cos_dict_hash(const cos_object_t *pco0, gs_md5_state_t *md5, gs_md5_byte_t
      *hash, gx_device_pdf *pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1513,1
    - Dst: cos_dict_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1514,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1517,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1521,1
    - Dst: cos_dict_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1522,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1525,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - pco0
    - pco1
    - pdev
    argTypes:
    - cos_object_t*
    - cos_object_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1532
    functionName: cos_dict_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - memcmp
    - gs_md5_finish
    - gs_md5_init
    - cos_dict_hash
    linkageType: ''
    returnType: int
    signature: int cos_dict_equal(const cos_object_t *pco0, const cos_object_t *pco1,
      gx_device_pdf *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pcd
    - client_data
    argTypes:
    - cos_dict_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1535
    functionDepth: 0
    functionLinenumber: 1535
    functionLinenumberEnd: 1548
    functionName: cos_dict_forall
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 3
    functionsReached:
    - proc
    linkageType: ''
    returnType: int
    signature: "int cos_dict_forall(const cos_dict_t *pcd, void *client_data,\n                int
      (*proc)(void *client_data, const byte *key_data, uint key_size, const cos_value_t
      *v))"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1572,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1580,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1589,1
    - Dst: s_init_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1593,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1594,1
    - Dst: param_write_typed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1595,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1596,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1597,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1599,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1600,1
    - Dst: param_write_typed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1601,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1607,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1608,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1610,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1616,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1618,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1620,1
    - Dst: cos_array_add_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1620,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1623,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1623,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1628,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1630,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1632,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1632,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1638,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1640,1
    - Dst: cos_dict_put_no_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1642,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_typed_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1643
    functionName: cos_param_put_typed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - param_write_typed
    - CHECK
    - cos_dict_put_no_copy
    - strlen
    - memmove
    - cos_array_alloc
    - gs_resize_string
    - stell
    - COS_OBJECT
    - s_init_param_printer
    - return_error
    - swrite_position_only
    - cos_array_add_real
    - cos_string_value
    - s_init
    - cos_array_add_int
    - swrite_string
    - memcpy
    - gs_alloc_string
    - cos_object_value
    linkageType: ''
    returnType: int
    signature: "int cos_param_put_typed(gs_param_list * plist, gs_param_name pkey,\n
      \                   gs_param_typed_value * pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_list_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1649,1
    - Dst: COS_OBJECT_MEMORY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - pclist
    - pcd
    - print_ok
    argTypes:
    - gx_device_pdf*
    - cos_param_list_writer_t*
    - cos_dict_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1655
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1655
    functionName: cos_param_list_writer_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 2
    functionsReached:
    - COS_OBJECT_MEMORY
    - gs_param_list_init
    linkageType: ''
    returnType: int
    signature: "int cos_param_list_writer_init(gx_device_pdf *pdev, cos_param_list_writer_t
      *pclist, cos_dict_t *pcd,\n                           int print_ok)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1672,1
    - Dst: cos_object_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - cname
    argTypes:
    - gx_device_pdf*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1676
    functionName: cos_stream_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_object_init
    - gs_alloc_struct
    linkageType: ''
    returnType: cos_stream_t
    signature: 'cos_stream_t *

      cos_stream_alloc(gx_device_pdf *pdev, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1687,1
    - Dst: cos_object_memory
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1687,1
    - Dst: cos_dict_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pco
    - cname
    argTypes:
    - cos_object_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1678
    functionDepth: 0
    functionLinenumber: 1678
    functionLinenumberEnd: 1691
    functionName: cos_stream_release
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_object_memory
    - cos_dict_release
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void cos_stream_release(cos_object_t *pco, client_name_t cname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1702,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1703,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1704,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1709,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1711,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1713,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1716,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1717,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1719,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1720,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1721,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1724,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1725,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1728,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1729,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pco0
    - md5
    - hash
    - pdev
    argTypes:
    - cos_object_t*
    - gs_md5_state_t*
    - gs_md5_byte_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1733
    functionName: hash_cos_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - gs_md5_finish
    - gp_ftell
    - gp_fread
    - gs_md5_init
    - gp_fseek
    - gs_malloc
    - return_error
    - gs_note_error
    - gs_free
    - sflush
    linkageType: ''
    returnType: int
    signature: int hash_cos_stream(const cos_object_t *pco0, gs_md5_state_t *md5,
      gs_md5_byte_t *hash, gx_device_pdf *pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hash_cos_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1740,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1745,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1747,1
    - Dst: cos_dict_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1748,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1751,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - pco0
    - md5
    - hash
    - pdev
    argTypes:
    - cos_object_t*
    - gs_md5_state_t*
    - gs_md5_byte_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1735
    functionDepth: 2
    functionLinenumber: 1735
    functionLinenumberEnd: 1756
    functionName: cos_stream_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - hash_cos_stream
    - cos_dict_hash
    - gs_md5_init
    - gs_md5_append
    - gs_md5_finish
    linkageType: ''
    returnType: int
    signature: int cos_stream_hash(const cos_object_t *pco0, gs_md5_state_t *md5,
      gs_md5_byte_t *hash, gx_device_pdf *pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1767,1
    - Dst: cos_stream_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1770,1
    - Dst: cos_stream_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1775,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1779,1
    - Dst: cos_dict_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1781,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pco0
    - pco1
    - pdev
    argTypes:
    - cos_object_t*
    - cos_object_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1758
    functionDepth: 3
    functionLinenumber: 1758
    functionLinenumberEnd: 1787
    functionName: cos_stream_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_stream_hash
    - cos_dict_equal
    - gs_md5_init
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cos_stream_equal(const cos_object_t *pco0, const cos_object_t *pco1,
      gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1794
    functionName: cos_stream_length
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long cos_stream_length(const cos_stream_t *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1801,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pdev
    argTypes:
    - cos_stream_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1798
    functionDepth: 0
    functionLinenumber: 1798
    functionLinenumberEnd: 1802
    functionName: cos_stream_elements_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - cos_elements_write
    linkageType: ''
    returnType: int
    signature: int cos_stream_elements_write(const cos_stream_t *pcs, gx_device_pdf
      *pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_encrypt_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1819,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1824,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1825,1
    - Dst: pdf_copy_data_safe
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1832,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1836,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1837,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1838,1
    - Dst: pdf_copy_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1839,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1842,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1843,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - pcs
    - pdev
    argTypes:
    - cos_stream_t*
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1805
    functionDepth: 3
    functionLinenumber: 1805
    functionLinenumberEnd: 1851
    functionName: cos_stream_contents_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - gp_ftell
    - pdf_encrypt_init
    - pdf_copy_data_safe
    - pdf_copy_data
    - gp_fseek
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: int cos_stream_contents_write(const cos_stream_t *pcs, gx_device_pdf
      *pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1862,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1865,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1869,1
    - Dst: cos_elements_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1870,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1871,1
    - Dst: cos_stream_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1871,1
    - Dst: cos_stream_contents_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1872,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pco
    - pdev
    - object_id
    argTypes:
    - cos_object_t*
    - gx_device_pdf*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1853
    functionDepth: 4
    functionLinenumber: 1853
    functionLinenumberEnd: 1876
    functionName: cos_stream_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - s_close_filters
    - pprintld1
    - cos_stream_length
    - cos_stream_contents_write
    - return_error
    - cos_elements_write
    linkageType: ''
    returnType: int
    signature: int cos_stream_write(const cos_object_t *pco, gx_device_pdf *pdev,
      gs_id object_id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1883
    functionName: cos_stream_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: cos_dict_t
    signature: 'cos_dict_t *

      cos_stream_dict(cos_stream_t *pcs)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1901,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1909,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - pdev
    - pcs
    - size
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1921
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1921
    functionName: cos_stream_add
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct
    - stell
    linkageType: ''
    returnType: int
    signature: int cos_stream_add(gx_device_pdf *pdev, cos_stream_t *pcs, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1927,1
    - Dst: cos_stream_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pdev
    - pcs
    - data
    - size
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1924
    functionDepth: 2
    functionLinenumber: 1924
    functionLinenumberEnd: 1929
    functionName: cos_stream_add_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 2
    functionsReached:
    - stream_write
    - cos_stream_add
    linkageType: ''
    returnType: int
    signature: int cos_stream_add_bytes(gx_device_pdf *pdev, cos_stream_t *pcs, const
      byte *data, uint size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1938,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1941,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1943,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1948,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pdev
    - pcs
    - s
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1932
    functionDepth: 3
    functionLinenumber: 1932
    functionLinenumberEnd: 1952
    functionName: cos_stream_add_stream_contents
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 1
    functionsReached:
    - return_error
    - sgets
    - sseek
    - cos_stream_add_bytes
    linkageType: ''
    returnType: int
    signature: int cos_stream_add_stream_contents(gx_device_pdf *pdev, cos_stream_t
      *pcs, stream *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1960,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1968,1
    - Dst: cos_object_memory
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1968,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1971,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:1972,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - pcs
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1956
    functionDepth: 1
    functionLinenumber: 1956
    functionLinenumberEnd: 1974
    functionName: cos_stream_release_pieces
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 1
    functionsReached:
    - stell
    - return_error
    - cos_object_memory
    - sseek
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int cos_stream_release_pieces(gx_device_pdf *pdev, cos_stream_t *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2005,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2006,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2007,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2009,1
    - Dst: cos_stream_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2010,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 1991
    functionDepth: 2
    functionLinenumber: 1991
    functionLinenumberEnd: 2012
    functionName: cos_write_stream_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - stell
    - stream_write
    - cos_stream_add
    - gs_md5_append
    - sflush
    linkageType: ''
    returnType: int
    signature: "int cos_write_stream_process(stream_state * st, stream_cursor_read
      * pr,\n                         stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2023,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2024,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2025,1
    - Dst: s_std_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2028
    functionName: cos_write_stream_close
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached:
    - s_std_close
    - s_close_filters
    - sflush
    - gs_md5_finish
    linkageType: ''
    returnType: int
    signature: int cos_write_stream_close(stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2042,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2044,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2046,1
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2053,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2054,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2060,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2065,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2066,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c:2067,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - pcs
    - pdev
    - cname
    argTypes:
    - cos_stream_t*
    - gx_device_pdf*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2069
    functionName: cos_write_stream_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 3
    functionsReached:
    - gs_alloc_bytes
    - s_alloc_state
    - memset
    - s_alloc
    - gs_md5_init
    - s_std_init
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: "stream *\ncos_write_stream_alloc(cos_stream_t *pcs, gx_device_pdf
      *pdev,\n                       client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2072
    functionDepth: 0
    functionLinenumber: 2072
    functionLinenumberEnd: 2085
    functionName: cos_stream_from_pipeline
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cos_stream_t
    signature: 'cos_stream_t *

      cos_stream_from_pipeline(stream *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: private_st_pdf_text_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_text_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cos_proc_release
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_proc_release(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: cos_proc_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_proc_write(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: cos_proc_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_proc_equal(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: cos_proc_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_proc_hash(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pco
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: cos_type
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_type(pco)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - otype_s
    - ','
    - etype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: cos_object_struct
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cos_object_struct(otype_s, etype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: private_st_cos_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_object()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: COS_OBJECT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_OBJECT(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: CONST_COS_OBJECT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_COS_OBJECT(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: private_st_cos_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cos_value()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: COS_OBJECT_MEMORY
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_OBJECT_MEMORY(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pc
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: COS_RELEASE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_RELEASE(pc, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pc
    - ','
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: COS_WRITE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_WRITE(pc, pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcv
    - ','
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    functionName: COS_OBJECT_VALUE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_OBJECT_VALUE(pcv, pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcv
    - ','
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: COS_RESOURCE_VALUE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_RESOURCE_VALUE(pcv, pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: COS_VALUE_IS_OBJECT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_VALUE_IS_OBJECT(pv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pc
    - ','
    - pdev
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: COS_WRITE_OBJECT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_WRITE_OBJECT(pc, pdev, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pc
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 355
    functionName: COS_FREE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfo.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COS_FREE(pc, cname)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:219,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:225,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:231,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:232,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:234,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:236,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:238,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:239,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:241,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:247,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:250,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:251,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:253,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:254,1
    - Dst: gdev_psdf_get_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:257,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 4
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: gdev_pdf_get_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 0
    functionsReached:
    - param_write_null
    - strcmp
    - param_write_bool
    - param_write_float
    - gdev_psdf_get_param
    - memcpy
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_psdf_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:272,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:274,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:275,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:276,1
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:278,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:279,1
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:280,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:281,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:282,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 263
    functionDepth: 4
    functionLinenumber: 263
    functionLinenumberEnd: 286
    functionName: gdev_pdf_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 0
    functionsReached:
    - param_write_null
    - gdev_psdf_get_params
    - param_write_float
    - param_write_bool
    - gs_param_write_items
    - param_requested
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:300,1
    - Dst: param_read_string_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:310,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:313,1
    - Dst: pdfmark_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:316,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:321,1
    - Dst: param_read_string_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:327,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:330,1
    - Dst: pdf_dsc_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:333,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:338,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:344,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:350,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:353,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:362,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:376,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:378,1
    - Dst: param_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:385,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:387,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:389,1
    - Dst: param_put_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:394,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:396,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:398,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:401,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:404,1
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:450,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:451,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:475,1
    - Dst: param_put_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:489,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:494,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:495,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:500,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:501,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:512,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:513,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:521,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:522,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:526,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:527,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:531,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:532,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:572,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:576,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:577,1
    - Dst: gdev_psdf_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:581,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:587,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:592,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:595,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:598,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:600,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:601,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:617,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:619,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:620,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:626,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:628,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:629,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:638,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:640,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:641,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:650,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:651,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:653,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:656,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:657,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:659,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:662,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:663,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:665,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:675,1
    - Dst: pdf_initialize_ids
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:679,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:686,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:692,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:696,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:700,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:705,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:710,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:720,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:727,1
    CyclomaticComplexity: 137
    EdgeCount: 137
    ICount: 323
    argCount: 3
    argNames:
    - dev
    - save_dev
    - plist
    argTypes:
    - gx_device*
    - gx_device_pdf*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 291
    functionDepth: 5
    functionLinenumber: 291
    functionLinenumberEnd: 733
    functionName: gdev_pdf_put_params_impl
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 0
    functionsReached:
    - pdf_dsc_process
    - emprintf
    - param_put_int
    - rc_decrement
    - param_signal_error
    - gs_param_read_items
    - memcmp
    - gs_memory_stable
    - cos_dict_put_string
    - gdev_psdf_put_params
    - gs_closedevice
    - pdf_initialize_ids
    - gp_fseek
    - gs_note_error
    - pdfwrite_pdf_open_document
    - strcmp
    - param_put_enum
    - param_read_bool
    - param_read_string
    - param_read_string_array
    - pdf_set_process_color_model
    - param_read_float
    - pdfmark_process
    - gsicc_init_device_profile_struct
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_put_params_impl(gx_device * dev, const gx_device_pdf *
      save_dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:741,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:742,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:746,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:747,1
    - Dst: gdev_pdf_put_params_impl
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:748,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 736
    functionDepth: 6
    functionLinenumber: 736
    functionLinenumberEnd: 751
    functionName: gdev_pdf_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 0
    functionsReached:
    - gdev_pdf_put_params_impl
    - memcpy
    - gs_malloc
    - return_error
    - gs_free
    - gs_memory_stable
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 13
    argCount: 3
    argNames:
    - pdev
    - src
    - size
    argTypes:
    - gx_device_pdf*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 789
    functionName: unescape_octals
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int unescape_octals(gx_device_pdf * pdev, char *src, int size)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:825,1
    - Dst: unescape_octals
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:827,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:828,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:831,1
    - Dst: unescape_octals
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:833,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:834,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:837,1
    - Dst: unescape_octals
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:839,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:840,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:848,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:850,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:859,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:861,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:868,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:870,1
    - Dst: gs_matrix_rotate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:877,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:885,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:893,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:895,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:901,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c:903,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 64
    argCount: 2
    argNames:
    - pdev
    - pma
    argTypes:
    - gx_device_pdf*
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 791
    functionDepth: 4
    functionLinenumber: 791
    functionLinenumberEnd: 913
    functionName: pdf_dsc_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfp.c
    functionUses: 1
    functionsReached:
    - sscanf
    - gs_matrix_rotate
    - unescape_octals
    - memcpy
    - pdf_key_eq
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int pdf_dsc_process(gx_device_pdf * pdev, const gs_param_string_array
      * pma)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - length
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: put_pad
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - stream_write
    linkageType: ''
    returnType: void
    signature: void put_pad(stream *s, uint length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:80,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: put_ushort
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void put_ushort(stream *s, uint v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:86,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - stream*
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: put_short
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void put_short(stream *s, short v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:92,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - v
    argTypes:
    - stream*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: put_ulong
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - put_ushort
    linkageType: ''
    returnType: void
    signature: void put_ulong(stream *s, ulong v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_ulong
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:99,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - s
    - offset
    - indexToLocFormat
    argTypes:
    - stream*
    - ulong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 102
    functionName: put_loca
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - put_ushort
    - put_ulong
    linkageType: ''
    returnType: void
    signature: void put_loca(stream *s, ulong offset, int indexToLocFormat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: U8
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: S8
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: U16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: S16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: u32
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: u32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: put_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put_u16(byte *p, uint v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:119,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - byte*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: put_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - put_u16
    linkageType: ''
    returnType: void
    signature: void put_u32(byte *p, ulong v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:126,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:127,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:128,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:129,1
    - Dst: round_up
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tab
    - tname
    - checksum
    - offset
    - length
    argTypes:
    - byte[]
    - char*
    - ulong
    - ulong
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: put_table
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - put_u32
    - memcpy
    - round_up
    linkageType: ''
    returnType: ulong
    signature: "ulong put_table(byte tab[16], const char *tname, ulong checksum, ulong
      offset,\n          uint length)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:139,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:140,1
    - Dst: gs_font_type42*::data::string_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:145,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - s
    - pfont
    - start
    - length
    argTypes:
    - stream*
    - gs_font_type42*
    - ulong
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: write_range
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - stream_write
    - gs_font_type42*::data::string_proc
    - stell
    linkageType: ''
    returnType: int
    signature: int write_range(stream *s, gs_font_type42 *pfont, ulong start, uint
      length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:164,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:172,1
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:189,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:194,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:197,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 4
    argNames:
    - font
    - ch
    - pstr
    - index
    argTypes:
    - gs_font*
    - int
    - gs_const_string*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 204
    functionName: mac_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::glyph_name
    - gs_c_glyph_name
    - gs_c_known_encode
    - gs_font*::procs::encode_char
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int mac_glyph_index(gs_font *font, int ch, gs_const_string *pstr, int
      *index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:310,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:311,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - entries
    - num_glyphs
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: write_cmap_0
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - stream_write
    - memset
    - sputc
    linkageType: ''
    returnType: void
    signature: void write_cmap_0(stream *s, byte* entries /*[CMAP_ENTRIES_SIZE]*/,
      uint num_glyphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:340,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:341,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:342,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:343,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:344,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:345,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:346,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:347,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - s
    - entries
    - first_code
    - first_entry
    - num_entries
    argTypes:
    - stream*
    - byte*
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 349
    functionName: write_unicode_cmap_6
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - U16
    - stream_write
    - memcpy
    - put_u16
    linkageType: ''
    returnType: void
    signature: "void write_unicode_cmap_6(stream *s, byte *entries, uint first_code,\n
      \            uint first_entry, uint num_entries)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:366,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:375,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:377,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:379,1
    - Dst: write_unicode_cmap_6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:386,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:389,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:390,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:390,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:391,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:392,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:393,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:394,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:395,1
    - Dst: write_cmap_6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:400,1
    - Dst: write_cmap_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:405,1
    - Dst: write_cmap_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:413,1
    - Dst: write_cmap_6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:415,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:424,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:430,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:431,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:431,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:432,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:433,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:434,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:435,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 7
    argNames:
    - s
    - font
    - first_code
    - num_glyphs
    - max_glyph
    - options
    - cmap_length
    argTypes:
    - stream*
    - gs_font*
    - uint
    - int
    - gs_glyph
    - int
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 437
    functionName: write_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached:
    - write_unicode_cmap_6
    - put_pad
    - write_cmap_6
    - U16
    - stream_write
    - memcpy
    - write_cmap_0
    - put_u16
    - gs_font*::procs::encode_char
    linkageType: ''
    returnType: void
    signature: "void write_cmap(stream *s, gs_font *font, uint first_code, int num_glyphs,\n
      \          gs_glyph max_glyph, int options, uint cmap_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:444,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:445,1
    - Dst: write_cmap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:446,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - font
    - first_code
    - num_glyphs
    - max_glyph
    - options
    argTypes:
    - gs_font*
    - uint
    - int
    - gs_glyph
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 448
    functionName: size_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - s_init
    - swrite_position_only
    - write_cmap
    - stell
    linkageType: ''
    returnType: uint
    signature: "uint size_cmap(gs_font *font, uint first_code, int num_glyphs, gs_glyph
      max_glyph,\n          int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:474,1
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:474,1
    - Dst: put_short
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:478,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:478,1
    - Dst: put_short
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:480,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:480,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:484,1
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:484,1
    - Dst: put_short
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:486,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:486,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - s
    - pfont
    - pmtx
    - wmode
    argTypes:
    - stream*
    - gs_font_type42*
    - gs_type42_mtx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 488
    functionName: write_mtx
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - put_short
    - floor
    - DISCARD
    - gs_font_type42*::data::get_metrics
    linkageType: ''
    returnType: void
    signature: "void write_mtx(stream *s, gs_font_type42 *pfont, const gs_type42_mtx_t
      *pmtx,\n          int wmode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - pfont
    - pmtx
    - max_glyph
    - numGlyphs
    - wmode
    argTypes:
    - gs_font_type42*
    - gs_type42_mtx_t*
    - uint
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 515
    functionName: size_mtx
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - gs_font_type42*::data::get_metrics
    linkageType: ''
    returnType: uint
    signature: "uint size_mtx(gs_font_type42 *pfont, gs_type42_mtx_t *pmtx, uint max_glyph,
      uint numGlyphs,\n         int wmode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font_name
    argTypes:
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: size_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint size_name(const gs_const_string *font_name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:542,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:543,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:544,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:545,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:546,1
    - Dst: size_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - s
    - font_name
    argTypes:
    - stream*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 547
    functionName: write_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 6
    functionsReached:
    - put_pad
    - stream_write
    - memcpy
    - put_u16
    - size_name
    linkageType: ''
    returnType: void
    signature: void write_name(stream *s, const gs_const_string *font_name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:559,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:560,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:564,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pos2
    - first_glyph
    - num_glyphs
    argTypes:
    - ttf_OS_2_t*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 570
    functionName: update_OS_2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - memset
    - put_u16
    linkageType: ''
    returnType: void
    signature: void update_OS_2(ttf_OS_2_t *pos2, uint first_glyph, int num_glyphs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:585,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:586,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:587,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:588,1
    - Dst: update_OS_2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:589,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:595,1
    - Dst: gs_font*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:596,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:598,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:601,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:601,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:602,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - s
    - font
    - first_glyph
    - num_glyphs
    argTypes:
    - stream*
    - gs_font*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 571
    functionDepth: 2
    functionLinenumber: 571
    functionLinenumberEnd: 603
    functionName: write_OS_2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - update_OS_2
    - put_pad
    - stream_write
    - gs_font*::procs::font_info
    - memset
    - offset_of
    - put_u16
    linkageType: ''
    returnType: void
    signature: void write_OS_2(stream *s, gs_font *font, uint first_glyph, int num_glyphs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pg1
    - pg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 620
    functionName: compare_post_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_post_glyphs(const void *pg1, const void *pg2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:638,1
    - Dst: mac_glyph_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:642,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:656,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - font
    - post
    argTypes:
    - gs_font*
    - post_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 673
    functionName: compute_post
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - mac_glyph_index
    - qsort
    - gs_font*::procs::encode_char
    linkageType: ''
    returnType: int
    signature: int compute_post(gs_font *font, post_t *post)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:684,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:685,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:686,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:687,1
    - Dst: mac_glyph_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:695,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:700,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:703,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:705,1
    - Dst: mac_glyph_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:716,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:721,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:722,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:725,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - s
    - font
    - post
    argTypes:
    - stream*
    - gs_font*
    - post_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 727
    functionName: write_post
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - mac_glyph_index
    - put_pad
    - stream_write
    - put_u32
    - memset
    - put_ushort
    - spputc
    - put_u16
    linkageType: ''
    returnType: int
    signature: int write_post(stream *s, gs_font *font, post_t *post)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - pos1
    - pos2
    argTypes:
    - gs_memory_t*
    - gs_offset_t
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 738
    functionName: check_position
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - emprintf2
    linkageType: ''
    returnType: bool
    signature: bool check_position(const gs_memory_t *mem, gs_offset_t pos1, gs_offset_t
      pos2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:748,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:749,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tables
    - tag
    - numTables
    argTypes:
    - byte*
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 754
    functionName: remove_table
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - memmove
    - memcmp
    linkageType: ''
    returnType: void
    signature: void remove_table(byte *tables, char *tag, uint *numTables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:762,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pt1
    - pt2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 759
    functionDepth: 0
    functionLinenumber: 759
    functionLinenumberEnd: 765
    functionName: compare_table_tags
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - u32
    linkageType: ''
    returnType: int
    signature: int compare_table_tags(const void *pt1, const void *pt2)
  - BBCount: 87
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:806,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:811,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:828,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:829,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:829,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:830,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:831,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:832,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:834,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:842,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:843,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:844,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:845,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:847,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:849,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:850,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:852,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:854,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:855,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:857,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:858,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:859,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:860,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:861,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:863,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:868,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:869,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:870,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:873,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:878,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:883,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:887,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:890,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:893,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:896,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:897,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:901,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:902,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:903,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:904,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:905,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:907,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:908,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:909,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:926,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:932,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:934,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:936,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:942,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:946,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:947,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:966,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:969,1
    - Dst: remove_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:972,1
    - Dst: remove_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:973,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:985,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:993,1
    - Dst: compute_post
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:995,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1004,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1007,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1009,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1023,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1027,1
    - Dst: round_up
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1029,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1039,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1043,1
    - Dst: size_cmap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1049,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1052,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1059,1
    - Dst: size_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1060,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1066,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1075,1
    - Dst: size_mtx
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1078,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1084,1
    - Dst: put_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1094,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1103,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1105,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1109,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1110,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1111,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1115,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1121,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1124,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1126,1
    - Dst: round_up
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1127,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1131,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1140,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1141,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1143,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1144,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1153,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1154,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1154,1
    - Dst: update_OS_2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1155,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1156,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1157,1
    - Dst: write_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1160,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1161,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1164,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1169,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1170,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1171,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1171,1
    - Dst: write_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1173,1
    - Dst: write_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1175,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1177,1
    - Dst: W
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1178,1
    - Dst: write_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1180,1
    - Dst: put_ushort
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1181,1
    - Dst: write_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1186,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1188,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1193,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1197,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1199,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1200,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1201,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1202,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1206,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1214,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1216,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1218,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1220,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1223,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1226,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1227,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1231,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1233,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1234,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1235,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1237,1
    - Dst: put_loca
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1242,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1244,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1252,1
    - Dst: put_loca
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1258,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1259,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1264,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1266,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1267,1
    - Dst: write_cmap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1268,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1272,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1274,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1275,1
    - Dst: write_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1276,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1279,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1281,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1282,1
    - Dst: write_OS_2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1283,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1291,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1294,1
    - Dst: write_mtx
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1295,1
    - Dst: put_pad
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1296,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1302,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1305,1
    - Dst: write_post
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1307,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1313,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1314,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1315,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1332,1
    - Dst: check_position
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1334,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1336,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1337,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1338,1
    CyclomaticComplexity: 93
    EdgeCount: 93
    ICount: 328
    argCount: 6
    argNames:
    - s
    - pfont
    - options
    - penum
    - is_subset
    - alt_font_name
    argTypes:
    - stream*
    - gs_font_type42*
    - int
    - psf_glyph_enum_t*
    - bool
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 766
    functionDepth: 4
    functionLinenumber: 766
    functionLinenumberEnd: 1341
    functionName: psf_write_truetype_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 0
    functionsReached:
    - update_OS_2
    - if_debug1m
    - max
    - write_mtx
    - psf_enumerate_glyphs_reset
    - put_table
    - put_ushort
    - gs_glyph_data_free
    - remove_table
    - write_range
    - put_pad
    - stell
    - stream_write
    - write_OS_2
    - memset
    - if_debug2m
    - min
    - qsort
    - round_up
    - size_mtx
    - W
    - put_loca
    - psf_enumerate_glyphs_next
    - gs_font_type42*::data::get_outline
    - stream_putc
    - compute_post
    - READ_SFNTS
    - write_cmap
    - put_u16
    - U16
    - u32
    - write_post
    - check_position
    - emprintf1
    - put_u32
    - memcpy
    - write_name
    - return_error
    - size_cmap
    - size_name
    linkageType: ''
    returnType: int
    signature: "int psf_write_truetype_data(stream *s, gs_font_type42 *pfont, int
      options,\n                        psf_glyph_enum_t *penum, bool is_subset,\n
      \                       const gs_const_string *alt_font_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 827
    functionName: W
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 524
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W(a,b,c,d)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1361,1
    - Dst: psf_add_subset_pieces
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1364,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1365,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1366,1
    - Dst: psf_sort_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1370,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1372,1
    - Dst: psf_write_truetype_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - s
    - pfont
    - options
    - orig_subset_glyphs
    - orig_subset_size
    - alt_font_name
    argTypes:
    - stream*
    - gs_font_type42*
    - int
    - gs_glyph*
    - uint
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1344
    functionDepth: 5
    functionLinenumber: 1344
    functionLinenumberEnd: 1377
    functionName: psf_write_truetype_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached:
    - psf_sort_glyphs
    - countof
    - psf_write_truetype_data
    - psf_add_subset_pieces
    - memcpy
    - psf_enumerate_glyphs_begin
    linkageType: ''
    returnType: int
    signature: "int psf_write_truetype_font(stream *s, gs_font_type42 *pfont, int
      options,\n                        gs_glyph *orig_subset_glyphs, uint orig_subset_size,\n
      \                       const gs_const_string *alt_font_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1385,1
    - Dst: psf_write_truetype_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - pfont
    argTypes:
    - stream*
    - gs_font_type42*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1379
    functionDepth: 5
    functionLinenumber: 1379
    functionLinenumberEnd: 1389
    functionName: psf_write_truetype_stripped
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached:
    - psf_enumerate_bits_begin
    - psf_write_truetype_data
    linkageType: ''
    returnType: int
    signature: int psf_write_truetype_stripped(stream *s, gs_font_type42 *pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1400,1
    - Dst: psf_write_truetype_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - s
    - pfont
    - options
    - subset_bits
    - subset_size
    - alt_font_name
    argTypes:
    - stream*
    - gs_font_cid2*
    - int
    - byte*
    - uint
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1392
    functionDepth: 5
    functionLinenumber: 1392
    functionLinenumberEnd: 1406
    functionName: psf_write_cid2_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached:
    - psf_enumerate_bits_begin
    - psf_write_truetype_data
    linkageType: ''
    returnType: int
    signature: "int psf_write_cid2_font(stream *s, gs_font_cid2 *pfont, int options,\n
      \                   const byte *subset_bits, uint subset_size,\n                    const
      gs_const_string *alt_font_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1416,1
    - Dst: psf_write_truetype_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsft.c:1418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - pfont
    argTypes:
    - stream*
    - gs_font_cid2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1409
    functionDepth: 5
    functionLinenumber: 1409
    functionLinenumberEnd: 1422
    functionName: psf_write_cid2_stripped
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsft.c
    functionUses: 1
    functionsReached:
    - psf_enumerate_bits_begin
    - psf_write_truetype_data
    linkageType: ''
    returnType: int
    signature: int psf_write_cid2_stripped(stream *s, gs_font_cid2 *pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: private_st_C2R_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_C2R_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: private_st_IE_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_IE_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: s_Downsample_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_Downsample_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: private_st_Average_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_Average_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: private_st_Bicubic_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_Bicubic_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: private_st_compr_chooser_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_compr_chooser_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: private_st_image_colors_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsds.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_image_colors_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfj.c
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: private_st_textw_text_enum
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_textw_text_enum()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:270,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:276,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:279,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 284
    functionName: txtwrite_open_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - set_linear_color_bits_mask_shift
    - return_error
    - gp_fopen
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int txtwrite_open_device(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:293,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: txtwrite_close_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - gx_device_close_output_file
    linkageType: ''
    returnType: int
    signature: int txtwrite_close_device(gx_device * dev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:348,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:351,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:352,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:355,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:358,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:359,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:393,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:396,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:397,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:400,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:405,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 85
    argCount: 1
    argNames:
    - tdev
    argTypes:
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 412
    functionName: merge_vertically
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_free
    - gp_fwrite
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: int merge_vertically(gx_device_txtwrite_t *tdev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:441,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:443,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:447,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:453,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:454,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:455,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:456,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:458,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:459,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:460,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:461,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:462,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:463,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:464,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:465,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:466,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:466,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:471,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:472,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:478,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:486,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:488,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:492,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:497,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:498,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:499,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:500,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:502,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:503,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:504,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:505,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:506,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:507,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:507,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:515,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 1
    argNames:
    - tdev
    argTypes:
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 527
    functionName: merge_horizontally
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - gp_fprintf
    - gs_free
    - gp_fwrite
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int merge_horizontally(gx_device_txtwrite_t *tdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:533,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:544,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:549,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:554,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:562,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - text
    - count
    - tdev
    argTypes:
    - unsigned short*
    - int
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 566
    functionName: write_simple_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int write_simple_text(unsigned short *text, int count, gx_device_txtwrite_t
      *tdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: merge_vertically
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:579,1
    - Dst: merge_horizontally
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:581,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:624,1
    - Dst: write_simple_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:633,1
    - Dst: write_simple_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:636,1
    - Dst: write_simple_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:644,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 1
    argNames:
    - tdev
    argTypes:
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 652
    functionName: simple_text_output
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - write_simple_text
    - merge_horizontally
    - merge_vertically
    - ceil
    linkageType: ''
    returnType: int
    signature: int simple_text_output(gx_device_txtwrite_t *tdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:658,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:659,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:660,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:661,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:662,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:665,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:667,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - Unicode
    - Buf
    argTypes:
    - unsigned short
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 672
    functionName: escaped_Unicode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: int
    signature: int escaped_Unicode (unsigned short Unicode, char *Buf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:686,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:690,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:692,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:692,1
    - Dst: escaped_Unicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:695,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:696,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:698,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:698,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:701,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:705,1
    - Dst: merge_vertically
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:708,1
    - Dst: merge_horizontally
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:709,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:712,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:720,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:721,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:733,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:735,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:755,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:775,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:777,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:791,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:807,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:810,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:813,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:815,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:815,1
    - Dst: escaped_Unicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:818,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:819,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:821,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:821,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:824,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:827,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:830,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:834,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 128
    argCount: 1
    argNames:
    - tdev
    argTypes:
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 837
    functionName: decorated_text_output
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - merge_vertically
    - strlen
    - escaped_Unicode
    - gs_sprintf
    - memset
    - gs_malloc
    - gs_free
    - merge_horizontally
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int decorated_text_output(gx_device_txtwrite_t *tdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:842,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:849,1
    - Dst: escaped_Unicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:861,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:862,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:873,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tdev
    argTypes:
    - gx_device_txtwrite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 877
    functionName: extract_text_output
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - escaped_Unicode
    - gp_fprintf
    linkageType: ''
    returnType: int
    signature: int extract_text_output(gx_device_txtwrite_t *tdev)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:892,1
    - Dst: decorated_text_output
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:901,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:907,1
    - Dst: simple_text_output
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:910,1
    - Dst: extract_text_output
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:916,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:922,1
    - Dst: gx_default_output_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:926,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:935,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:936,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:937,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:938,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:938,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:941,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:943,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:949,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:951,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:961,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:962,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:963,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:964,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:964,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:965,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:970,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:971,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:974,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 879
    functionDepth: 3
    functionLinenumber: 879
    functionLinenumberEnd: 978
    functionName: txtwrite_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - simple_text_output
    - gx_parse_output_file_name
    - gs_free
    - strlen
    - gx_default_output_page
    - gx_device_close_output_file
    - gs_note_error
    - extract_text_output
    - gx_device_open_output_file
    - decorated_text_output
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int txtwrite_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 987
    functionName: txtwrite_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txtwrite_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                    gx_color_index color)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1041,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1045,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1047,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1049,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1050,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1052,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1053,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1055,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1056,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1058,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1059
    functionName: txtwrite_get_param
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - strcmp
    - strlen
    - param_write_bool
    - return_error
    linkageType: ''
    returnType: int
    signature: int txtwrite_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1069,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1074,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1076,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1080,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1084,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1088,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1092,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1061
    functionDepth: 1
    functionLinenumber: 1061
    functionLinenumberEnd: 1094
    functionName: txtwrite_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - strlen
    - param_write_bool
    - gs_param_write_items
    - gx_default_get_params
    linkageType: ''
    returnType: int
    signature: int txtwrite_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1108,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1111,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1112,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1113,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1123,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1133,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1137,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1141,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1145,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1151,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1154,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1166,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1175
    functionName: txtwrite_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - param_read_int
    - strlen
    - param_read_bool
    - param_read_string
    - gx_default_put_params
    - gp_fclose
    - memcpy
    - param_signal_error
    - gs_note_error
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int txtwrite_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1222
    functionName: txtwrite_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txtwrite_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n               const gx_fill_params * params, const gx_device_color
      * pdevc,\n               const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: txtwrite_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txtwrite_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                 const gx_stroke_params * params,\n                 const
      gx_drawing_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1244,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1303,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1307,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1315,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1318,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1322,1
    - Dst: gs_cid0_indexed_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1328,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 40
    argCount: 3
    argNames:
    - font
    - cid
    - pmat
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1330
    functionName: txtwrite_font_orig_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_cid0_indexed_font
    - any_abs
    - gs_matrix_multiply
    - cidata::glyph_data
    - gs_make_identity
    - return_error
    - gs_make_scaling
    linkageType: ''
    returnType: int
    signature: int txtwrite_font_orig_matrix(const gs_font *font, gs_glyph cid, gs_matrix
      *pmat)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: txtwrite_font_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1340,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1347,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1350,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1354,1
    - Dst: gs_cid0_indexed_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1354,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - font
    - cid
    - pmat
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1337
    functionDepth: 2
    functionLinenumber: 1337
    functionLinenumberEnd: 1360
    functionName: glyph_orig_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 1
    functionsReached:
    - cidata::glyph_data
    - gs_cid0_indexed_font
    - txtwrite_font_orig_matrix
    - gs_matrix_multiply
    linkageType: ''
    returnType: int
    signature: int glyph_orig_matrix(const gs_font *font, gs_glyph cid, gs_matrix
      *pmat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1374,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1382,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1385,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1385,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pdelta
    - pmat
    - ppt
    argTypes:
    - gs_point*
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1390
    functionName: transform_delta_inverse
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 1
    functionsReached:
    - gs_distance_transform_inverse
    - fabs
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int transform_delta_inverse(const gs_point *pdelta, const gs_matrix
      *pmat,\n                        gs_point *ppt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: txtwrite_font_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1405,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1408,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1409,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1412,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1413,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1415,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1419,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1421,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - pgs
    - ofont
    - pfmat
    - smat
    - tmat
    - font
    - pdev
    argTypes:
    - gs_gstate*
    - gs_font*
    - gs_matrix*
    - gs_matrix*
    - gs_matrix*
    - gs_font*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1426
    functionName: txt_calculate_text_size
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - hypot
    - ctm_only
    - gs_make_identity
    - txtwrite_font_orig_matrix
    - gs_matrix_invert
    linkageType: ''
    returnType: float
    signature: "float txt_calculate_text_size(gs_gstate *pgs, gs_font *ofont,\n                              const
      gs_matrix *pfmat, gs_matrix *smat, gs_matrix *tmat,\n                              gs_font
      *font, gx_device *pdev)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1439,1
    - Dst: txt_calculate_text_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1444,1
    - Dst: transform_delta_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1451,1
    - Dst: transform_delta_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1462,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1472,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1473,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1478,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1481,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1482,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1499,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1501,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 4
    argNames:
    - ppts
    - penum
    - ofont
    - pfmat
    argTypes:
    - text_list_entry_t*
    - textw_text_enum_t*
    - gs_font*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1428
    functionDepth: 3
    functionLinenumber: 1428
    functionLinenumberEnd: 1513
    functionName: txt_update_text_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gx_path_current_point
    - transform_delta_inverse
    - memcpy
    - fabs
    - gs_malloc
    - txt_calculate_text_size
    - gs_note_error
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int txt_update_text_state(text_list_entry_t *ppts,\n                      const
      textw_text_enum_t *penum,\n                      gs_font *ofont, const gs_matrix
      *pfmat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1521,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - pwidth
    - wmode
    - scale
    - pinfo
    argTypes:
    - txt_glyph_width_t*
    - int
    - gs_matrix*
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1531
    functionName: store_glyph_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 1
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int store_glyph_width(txt_glyph_width_t *pwidth, int wmode, const
      gs_matrix *scale,\n                  const gs_glyph_info_t *pinfo)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1540,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1545,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1548,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1556,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - font
    - wmode
    - scale_c
    - pwidths
    argTypes:
    - gs_font*
    - int
    - gs_matrix*
    - txt_glyph_widths_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1533
    functionDepth: 1
    functionLinenumber: 1533
    functionLinenumberEnd: 1568
    functionName: get_missing_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_font*::procs::font_info
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int get_missing_width(gs_font *font, int wmode, const gs_matrix *scale_c,\n
      \                   txt_glyph_widths_t *pwidths)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1592,1
    - Dst: glyph_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1593,1
    - Dst: glyph_orig_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1596,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1599,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1600,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1605,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1606,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1619,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1628,1
    - Dst: store_glyph_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1637,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1642,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1650,1
    - Dst: get_missing_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1655,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1669,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1679,1
    - Dst: store_glyph_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1701,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1705,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 6
    argNames:
    - font
    - wmode
    - glyph
    - orig_font
    - pwidths
    - cdevproc_result
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_font*
    - txt_glyph_widths_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1577
    functionDepth: 1
    functionLinenumber: 1577
    functionLinenumberEnd: 1708
    functionName: txt_glyph_widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - glyph_orig_matrix
    - gs_distance_transform
    - gs_font*::procs::glyph_info
    - get_missing_width
    - gs_matrix_scale
    - return_error
    - store_glyph_width
    linkageType: ''
    returnType: int
    signature: "int txt_glyph_widths(gs_font *font, int wmode, gs_glyph glyph,\n                 gs_font
      *orig_font, txt_glyph_widths_t *pwidths,\n                 const double cdevproc_result[10])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1722,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - font
    - pwidths
    argTypes:
    - gs_font*
    - txt_glyph_widths_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1734
      start: 1710
    functionDepth: 1
    functionLinenumber: 1710
    functionLinenumberEnd: 1734
    functionName: txt_char_widths_to_uts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: void
    signature: "void txt_char_widths_to_uts(gs_font *font /* may be NULL for non-Type3
      */,\n                       txt_glyph_widths_t *pwidths)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1742,1
    - Dst: gx_current_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1742,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1743,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - wpt
    argTypes:
    - textw_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1745
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1745
    functionName: txt_shift_text_currentpoint
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - fixed2float
    - gs_moveto_aux
    - gx_current_path
    linkageType: ''
    returnType: int
    signature: int txt_shift_text_currentpoint(textw_text_enum_t *penum, gs_point
      *wpt)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1762,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1765,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1767,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1769,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1770,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1771,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1772,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1795,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1796,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1813,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1814,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1815,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1831,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1832,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1833,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1849,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1850,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1851,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1865,1
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1866,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1868,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1878,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 95
    argCount: 5
    argNames:
    - penum
    - font
    - glyph
    - ch
    - Buffer
    argTypes:
    - textw_text_enum_t*
    - gs_font*
    - gs_glyph
    - gs_char
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1881
    functionName: get_unicode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::decode_glyph
    - gs_font*::procs::glyph_name
    - gs_alloc_bytes
    - strlen
    - strchr
    - memcpy
    - memcmp
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int get_unicode(textw_text_enum_t *penum, gs_font *font, gs_glyph glyph,
      gs_char ch, unsigned short *Buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t::orig_font::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1907,1
    - Dst: txt_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1915,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1930,1
    - Dst: txt_update_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1933,1
    - Dst: txt_char_widths_to_uts
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1936,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1937,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1947,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1948,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1955,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1956,1
    - Dst: get_unicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:1964,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1889
    functionDepth: 4
    functionLinenumber: 1889
    functionLinenumberEnd: 1975
    functionName: txtwrite_process_cmap_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_text_enum_t::orig_font::procs::next_char_glyph
    - gs_matrix_multiply
    - txt_char_widths_to_uts
    - get_unicode
    - ctm_only
    - gs_distance_transform
    - txt_update_text_state
    - txt_glyph_widths
    linkageType: ''
    returnType: int
    signature: int txtwrite_process_cmap_text(gs_text_enum_t *pte)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::orig_font::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2004,1
    - Dst: txt_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2007,1
    - Dst: txt_update_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2019,1
    - Dst: txt_char_widths_to_uts
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2023,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2024,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2035,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2036,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2043,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2044,1
    - Dst: get_unicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2052,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2057,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2058,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 1977
    functionDepth: 4
    functionLinenumber: 1977
    functionLinenumberEnd: 2067
    functionName: txtwrite_process_plain_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - txt_char_widths_to_uts
    - get_unicode
    - ctm_only
    - gs_distance_transform
    - txt_update_text_state
    - memset
    - gs_text_enum_t*::orig_font::procs::encode_char
    - txt_glyph_widths
    linkageType: ''
    returnType: int
    signature: int txtwrite_process_plain_text(gs_text_enum_t *pte)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2081,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2084,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2085,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2130,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2133,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 2
    argNames:
    - tdev
    - penum
    argTypes:
    - gx_device_txtwrite_t*
    - textw_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2076
    functionDepth: 1
    functionLinenumber: 2076
    functionLinenumberEnd: 2167
    functionName: txt_add_sorted_fragment
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - memset
    - gs_malloc
    linkageType: ''
    returnType: int
    signature: int txt_add_sorted_fragment(gx_device_txtwrite_t *tdev, textw_text_enum_t
      *penum)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2175,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2176,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2177,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2180,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2182,1
    - Dst: gp_fprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2184,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2189,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2192,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2195,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2196,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2205,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2208,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2209,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2211,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2214,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2215,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2218,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2219,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2220,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2221,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2222,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2224,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2227,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2228,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2230,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2233,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2234,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2237,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2238,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2239,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2240,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2241,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2243,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2244,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2246,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2247,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2247,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2248,1
    - Dst: txt_add_sorted_fragment
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 64
    argCount: 2
    argNames:
    - tdev
    - penum
    argTypes:
    - gx_device_txtwrite_t*
    - textw_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2169
    functionDepth: 2
    functionLinenumber: 2169
    functionLinenumberEnd: 2265
    functionName: txt_add_fragment
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - txt_add_sorted_fragment
    - strlen
    - gp_fprintf
    - memcpy
    - memset
    - gs_malloc
    - gs_note_error
    - gp_fwrite
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int txt_add_fragment(gx_device_txtwrite_t *tdev, textw_text_enum_t
      *penum)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_restore_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2287,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2290,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2302,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2305,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2306,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2309,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2310,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2313,1
    - Dst: txtwrite_process_cmap_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2320,1
    - Dst: txtwrite_process_plain_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2329,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2332,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2343,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2344,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2345,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2346,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2347,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2348,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2349,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2350,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2350,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2350,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2351,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2351,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2351,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2352,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2352,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2352,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2353,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2353,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2353,1
    - Dst: txt_shift_text_currentpoint
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2355,1
    - Dst: txt_add_fragment
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2359,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2368,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2373,1
    - Dst: gs_text_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2375,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2381,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2386
      start: 2272
    functionDepth: 5
    functionLinenumber: 2272
    functionLinenumberEnd: 2386
    functionName: textw_text_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - gs_point_transform
    - txtwrite_process_cmap_text
    - txt_add_fragment
    - gs_text_process
    - txt_shift_text_currentpoint
    - ctm_only
    - gs_text_release
    - max
    - gx_default_text_begin
    - gs_text_enum_copy_dynamic
    - gs_malloc
    - return_error
    - gs_note_error
    - gx_default_text_restore_state
    - min
    - txtwrite_process_plain_text
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int textw_text_process(gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_resync
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2391
    functionDepth: 1
    functionLinenumber: 2391
    functionLinenumberEnd: 2395
    functionName: textw_text_resync
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_text_resync
    linkageType: ''
    returnType: int
    signature: int textw_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2396
    functionDepth: 0
    functionLinenumber: 2396
    functionLinenumberEnd: 2400
    functionName: textw_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool textw_text_is_width_only(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2405
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2405
    functionName: textw_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_text_current_width
    linkageType: ''
    returnType: int
    signature: int textw_text_current_width(const gs_text_enum_t *pte, gs_point *pwidth)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_set_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2420,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2423,1
    - Dst: gs_text_set_cache
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2426,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2428,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - pte
    - pw
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2431
    functionName: textw_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_set_cache
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int textw_text_set_cache(gs_text_enum_t *pte, const double *pw,\n
      \                  gs_text_cache_control_t control)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_retry
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2437
      start: 2433
    functionDepth: 1
    functionLinenumber: 2433
    functionLinenumberEnd: 2437
    functionName: textw_text_retry
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_text_retry
    linkageType: ''
    returnType: int
    signature: int textw_text_retry(gs_text_enum_t *pte)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2446,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2448,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2454,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2456,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2457
      start: 2438
    functionDepth: 1
    functionLinenumber: 2438
    functionLinenumberEnd: 2457
    functionName: textw_text_release
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gs_free
    - gs_text_release
    linkageType: ''
    returnType: void
    signature: void textw_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2491,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2492,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2495,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2496,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2508,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2511,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2512,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2514,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2518,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2520,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2524,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - mem
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2531
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2531
    functionName: txtwrite_text_begin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gx_path_current_point
    - gx_default_text_begin
    - rc_alloc_struct_1
    - path_position_valid
    - memset
    - gs_text_enum_init
    - gs_malloc
    - return_error
    - gs_note_error
    - gs_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int txtwrite_text_begin(gx_device * dev, gs_gstate * pgs,\n                const
      gs_text_params_t * text, gs_font * font,\n                gx_path * path, const
      gx_device_color * pdcolor,\n                const gx_clip_path * pcpath,\n                gs_memory_t
      * mem, gs_text_enum_t ** ppenum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2533
    functionDepth: 0
    functionLinenumber: 2533
    functionLinenumberEnd: 2544
    functionName: txtwrite_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int txtwrite_strip_copy_rop(gx_device * dev,\n                    const
      byte * sdata, int sourcex, uint sraster,\n                    gx_bitmap_id id,\n
      \                   const gx_color_index * scolors,\n                    const
      gx_strip_bitmap * textures,\n                    const gx_color_index * tcolors,\n
      \                   int x, int y, int w, int h,\n                    int phase_x,
      int phase_y, gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: txtwrite_get_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2554,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c:2559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2560
    functionName: txtwrite_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevtxtw.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    - txtwrite_get_param
    linkageType: ''
    returnType: int
    signature: int txtwrite_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data,
      int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:37,1
    - Dst: pdf_outline_fonts_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:39,1
    - Dst: pdf_bitmap_fonts_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:40,1
    - Dst: pdf_text_state_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:41,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:44,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:45,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:46,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:47,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: pdf_text_data_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdt.c
    functionUses: 1
    functionsReached:
    - pdf_bitmap_fonts_alloc
    - gs_alloc_struct
    - memset
    - pdf_outline_fonts_alloc
    - pdf_text_state_alloc
    - gs_free_object
    linkageType: ''
    returnType: pdf_text_data_t
    signature: 'pdf_text_data_t *

      pdf_text_data_alloc(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:59,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:60,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:61,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:62,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdt.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - ptd
    argTypes:
    - gs_memory_t*
    - pdf_text_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: text_data_free
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdt.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int text_data_free(gs_memory_t *mem, pdf_text_data_t *ptd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ascii
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: psdf_general_param_defaults
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_general_param_defaults(ascii)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 113
    functionsReached: []
    linkageType: ''
    returnType: psdf_distiller_params
    signature: psdf_distiller_params params
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - version
    - ','
    - ascii
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 318
    functionName: psdf_initial_values
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_initial_values(version, ascii)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: public_st_device_psdf
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_psdf()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: public_st_psdf_binary_writer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_psdf_binary_writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - str
    - ','
    - size
    - ','
    - print_ok
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: psdf_write_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_write_string(s, str, size, print_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ps
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 478
    functionName: psdf_alloc_position_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_alloc_position_stream(ps, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pplist
    - ','
    - ppp
    - ','
    - s
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 480
    functionName: psdf_alloc_param_printer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_alloc_param_printer(pplist, ppp, s, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - plist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 482
    functionName: psdf_free_param_printer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: psdf_free_param_printer(plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:90,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: "void ENUM_PTRS_WITH(pdf_image_enum_enum_ptrs, pdf_image_enum *pie)\n
      \   if (index < pdf_image_writer_max_ptrs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:102,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pie
    argTypes:
    - pdf_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 104
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 1
    functionsReached:
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(pdf_image_enum_reloc_ptrs, pdf_image_enum
      *pie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pim
    argTypes:
    - gx_device_pdf*
    - gs_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: can_write_image_in_line
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END can_write_image_in_line(const gx_device_pdf *pdev, const
      gs_image_t *pim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:128,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:129,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:129,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:130,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pdcolor
    argTypes:
    - gx_device*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: color_is_black_or_white
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - gx_dc_pure_color
    - gx_device_black
    - color_is_pure
    linkageType: ''
    returnType: int
    signature: int color_is_black_or_white(gx_device *dev, const gx_drawing_color
      *pdcolor)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_image4_t*::ColorSpace::type::num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:140,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:159,1
    - Dst: color_is_black_or_white
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:173,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:175,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:178,1
    - Dst: lop_know_S_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:179,1
    - Dst: color_is_black_or_white
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:183,1
    - Dst: lop_know_T_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:184,1
    - Dst: lop_know_T_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:185,1
    - Dst: lop_know_T_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:189,1
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:190,1
    - Dst: gs_image_t_init_mask_adjust
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:208,1
    - Dst: COPY_ELEMENT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:210,1
    - Dst: COPY_ELEMENT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:211,1
    - Dst: COPY_ELEMENT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:212,1
    - Dst: COPY_ELEMENT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:215,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 6
    argNames:
    - pdev
    - pgs
    - pbcolor
    - pim4
    - pim1
    - pdcolor
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_drawing_color*
    - gs_image4_t*
    - gs_image_t*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 221
    functionName: pdf_convert_image4_to_image1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - lop_know_T_1
    - lop_sanitize
    - lop_know_S_0
    - gs_image4_t*::ColorSpace::type::num_components
    - lop_rop
    - color_is_black_or_white
    - lop_know_S_1
    - gs_image_t_init_mask_adjust
    - COPY_ELEMENT
    - gs_color_space*::type::remap_color
    - lop_know_T_0
    linkageType: ''
    returnType: int
    signature: "int pdf_convert_image4_to_image1(gx_device_pdf *pdev,\n                             const
      gs_gstate *pgs,\n                             const gx_drawing_color *pbcolor,\n
      \                            const gs_image4_t *pim4, gs_image_t *pim1,\n                             gx_drawing_color
      *pdcolor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: COPY_ELEMENT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_ELEMENT(e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:242,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - pdev
    - num_components
    - pranges
    - i
    - pi
    - cs_value
    - pie
    argTypes:
    - gx_device_pdf*
    - int
    - gs_range_t*
    - int
    - gs_pixel_image_t*
    - cos_value_t*
    - pdf_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 243
    functionName: pdf_begin_image_data_decoded
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_begin_image_data
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_image_data_decoded(gx_device_pdf *pdev, int num_components,
      const gs_range_t *pranges, int i,\n                             gs_pixel_image_t
      *pi, cos_value_t *cs_value, pdf_image_enum *pie)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:255,1
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:258,1
    - Dst: gs_cspace_new_DeviceCMYK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:261,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - pdev
    - output_cspace_index
    - ppcs
    argTypes:
    - gx_device_pdf*
    - gs_color_space_index
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 277
    functionName: make_device_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gs_cspace_new_DeviceCMYK
    - gs_cspace_new_DeviceRGB
    - emprintf
    - return_error
    - gs_cspace_new_DeviceGray
    linkageType: ''
    returnType: int
    signature: "int make_device_color_space(gx_device_pdf *pdev,\n                        gs_color_space_index
      output_cspace_index,\n                        gs_color_space **ppcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:320,1
    - Dst: can_write_image_in_line
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:330,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 10
    argCount: 5
    argNames:
    - pdev
    - pic
    - pdcolor
    - image
    - context
    argTypes:
    - gx_device_pdf*
    - gs_image_common_t*
    - gx_drawing_color*
    - image_union_t*
    - pdf_typed_image_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 331
    functionName: setup_type1_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pattern1_color
    - can_write_image_in_line
    linkageType: ''
    returnType: int
    signature: "int setup_type1_image(gx_device_pdf *pdev, const gs_image_common_t
      *pic,\n                             const gx_drawing_color * pdcolor, image_union_t
      *image,\n                             pdf_typed_image_context_t context)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:349,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:352,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:353,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:355,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:358,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:361,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:363,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:364,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:366,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:369,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:373,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:374,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:379,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:380,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:382,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:385,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:385,1
    - Dst: gx_begin_image3_generic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:391,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 10
    argNames:
    - pdev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - image
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - image_union_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 333
    functionDepth: 6
    functionLinenumber: 333
    functionLinenumberEnd: 395
    functionName: setup_type3_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_unclip
    - gs_matrix_multiply
    - pdf_open_page
    - ctm_only
    - pdf_must_put_clip_path
    - floor
    - gs_make_identity
    - gx_begin_image3_generic
    - gs_matrix_scale
    - pdf_check_soft_mask
    - gs_matrix_invert
    - pdf_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int setup_type3_image(gx_device_pdf *pdev, const gs_gstate * pgs,\n
      \                     const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                     const gs_int_rect * prect,\n                      const
      gx_drawing_color * pdcolor,\n                      const gx_clip_path * pcpath,
      gs_memory_t * mem,\n                      gx_image_enum_common_t ** pinfo,\n
      \                     image_union_t *image)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_convert_image4_to_image1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:411,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:415,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:419,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:419,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:422,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:426,1
    - Dst: pdf_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:429,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:435,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 12
    argNames:
    - pdev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - context
    - image
    - pnamed
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - pdf_typed_image_context_t
    - image_union_t*
    - cos_dict_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 438
    functionName: convert_type4_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - COS_OBJECT
    - cos_array_add_object
    - gs_setcolorspace
    - gs_grestore
    - pdf_begin_typed_image
    - return_error
    - pdf_convert_image4_to_image1
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: "int convert_type4_image(gx_device_pdf *pdev, const gs_gstate * pgs,\n
      \                     const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                     const gs_int_rect * prect,\n                      const
      gx_drawing_color * pdcolor,\n                      const gx_clip_path * pcpath,
      gs_memory_t * mem,\n                      gx_image_enum_common_t ** pinfo,\n
      \                     pdf_typed_image_context_t context, image_union_t *image,\n
      \                     cos_dict_t *pnamed)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:452,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:455,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:456,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:458,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:461,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:464,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:465,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:468,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:468,1
    - Dst: pdf_setup_masked_image_converter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:469,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:476,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:480,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:481,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:482,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:483,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 8
    argNames:
    - pdev
    - pgs
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 440
    functionDepth: 6
    functionLinenumber: 440
    functionLinenumberEnd: 489
    functionName: convert_type4_to_masked_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_unclip
    - gs_matrix_multiply
    - pdf_open_page
    - gx_device_retain
    - pdf_setup_masked_image_converter
    - gx_default_begin_typed_image
    - ctm_only
    - pdf_must_put_clip_path
    - gs_make_identity
    - pdf_check_soft_mask
    - gs_matrix_invert
    - dev_proc
    - pdf_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int convert_type4_to_masked_image(gx_device_pdf *pdev, const gs_gstate
      * pgs,\n                      const gs_image_common_t *pic,\n                      const
      gs_int_rect * prect,\n                      const gx_drawing_color * pdcolor,\n
      \                     const gx_clip_path * pcpath, gs_memory_t * mem,\n                      gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:497,1
    - Dst: make_device_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:499,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pdev
    - image
    - pcs_orig
    - sname
    - cs_value
    argTypes:
    - gx_device_pdf*
    - image_union_t*
    - gs_color_space**
    - char*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 504
    functionName: setup_image_process_colorspace
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - cos_c_string_value
    - make_device_color_space
    linkageType: ''
    returnType: int
    signature: "int setup_image_process_colorspace(gx_device_pdf *pdev, image_union_t
      *image, gs_color_space **pcs_orig,\n                                          const
      char *sname, cos_value_t *cs_value)"
  - BBCount: 130
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:520,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:522,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:531,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:541,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:552,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:563,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:587,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:590,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:593,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:596,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:597,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:618,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:645,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:648,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:651,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:654,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:655,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:662,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:669,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:671,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:712,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:714,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:724,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:726,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:734,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:736,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:746,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:748,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:758,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:760,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:769,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:772,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:775,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:778,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:779,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:788,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:804,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:806,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:816,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:818,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:826,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:828,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:837,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:839,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:849,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:851,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:858,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:866,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:884,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:886,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:896,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:898,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:906,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:908,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:918,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:920,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:930,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:932,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:939,1
    - Dst: setup_image_process_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:947,1
    CyclomaticComplexity: 146
    EdgeCount: 146
    ICount: 394
    argCount: 6
    argNames:
    - pdev
    - image
    - pcs
    - pcs_orig
    - names
    - cs_value
    argTypes:
    - gx_device_pdf*
    - image_union_t*
    - gs_color_space*
    - gs_color_space**
    - pdf_color_space_names_t*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 512
    functionDepth: 3
    functionLinenumber: 512
    functionLinenumberEnd: 959
    functionName: setup_image_colorspace
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - setup_image_process_colorspace
    - emprintf
    - return_error
    - gs_note_error
    - gsicc_get_default_type
    linkageType: ''
    returnType: int
    signature: "int setup_image_colorspace(gx_device_pdf *pdev, image_union_t *image,
      const gs_color_space *pcs, gs_color_space **pcs_orig,\n                                  const
      pdf_color_space_names_t *names, cos_value_t *cs_value)"
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:988,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:991,1
    - Dst: cos_array_unadd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1000,1
    - Dst: setup_type1_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1013,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1042,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1044,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1047,1
    - Dst: setup_type3_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1049,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1054,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1060,1
    - Dst: gx_begin_image3x_generic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1064,1
    - Dst: convert_type4_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1072,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1078,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1087,1
    - Dst: convert_type4_to_masked_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1089,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1125,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1150,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1151,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1152,1
    - Dst: gs_bbox_transform_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1158,1
    - Dst: gs_points_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1159,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1160,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1161,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1162,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1163,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1165,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1173,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1173,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1174,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1174,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1177,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1178,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1178,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1179,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1180,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1181,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1183,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1184,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1185,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1191,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1192,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1193,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1194,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1208,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1210,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1216,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1217,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1219,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1222,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1223,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1225,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1228,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1230,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1242,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1243,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1245,1
    - Dst: pdf_prepare_imagemask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1247,1
    - Dst: pdf_prepare_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1249,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1252,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1254,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1259,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1262,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1264,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1266,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1268,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1297,1
    - Dst: pdf_make_bitmap_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1303,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1305,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1306,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1307,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1309,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1311,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1319,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1321,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1323,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1326,1
    - Dst: setup_image_colorspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1353,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1358,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1363,1
    - Dst: make_device_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1368,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1373,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1380,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1386,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1398,1
    - Dst: new_setup_lossless_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1419,1
    - Dst: new_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1436,1
    - Dst: new_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1441,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1456,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1458,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1460,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1464,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1471,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1477,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1481,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1486,1
    - Dst: make_device_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1493,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1497,1
    - Dst: psdf_setup_image_colors_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1512,1
    - Dst: pdf_make_alt_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1531,1
    - Dst: new_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1535,1
    - Dst: cos_stream_from_pipeline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1542,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1543,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1544,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1546,1
    - Dst: cos_stream_t*::cos_procs::release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1547,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1548,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1552,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1553,1
    - Dst: psdf_setup_image_colors_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1559,1
    - Dst: pdf_begin_image_data_decoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1569,1
    - Dst: psdf_setup_compression_chooser
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1575,1
    - Dst: gs_image_t_init_mask_adjust
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1585,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1589,1
    - Dst: psdf_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1593,1
    - Dst: psdf_setup_image_to_mask_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1602,1
    - Dst: pdf_begin_image_data_decoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1605,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1612,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1614,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1618,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1620,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1622,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1623,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 417
    argCount: 10
    argNames:
    - pdev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - context
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - pdf_typed_image_context_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1626
      start: 961
    functionDepth: 7
    functionLinenumber: 961
    functionLinenumberEnd: 1626
    functionName: pdf_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 1
    functionsReached:
    - new_setup_image_filters
    - pdf_image_writer_init
    - new_setup_lossless_filters
    - rc_increment_cs
    - cos_stream_t*::cos_procs::release
    - gx_default_fill_triangle
    - convert_type4_to_masked_image
    - pdf_make_alt_stream
    - setup_type3_image
    - rc_decrement
    - pdf_begin_image_data_decoded
    - setup_type1_image
    - gsicc_get_default_type
    - gx_device_black
    - gs_alloc_struct
    - pdf_unclip
    - pdf_color_space_named
    - gs_matrix_multiply
    - gx_cpath_includes_rectangle
    - pdf_open_page
    - gs_color_space_get_index
    - setup_image_colorspace
    - ctm_only
    - pdf_begin_write_image
    - psdf_setup_image_to_mask_filter
    - gs_cspace_new_DeviceGray
    - gx_image_enum_common_init
    - memset
    - convert_type4_image
    - gs_image_t_init_mask_adjust
    - gs_note_error
    - gs_matrix_invert
    - gs_free_object
    - gx_make_clip_device_on_stack
    - float2fixed
    - psdf_setup_image_colors_filter
    - gx_default_begin_typed_image
    - cos_array_unadd
    - pdf_make_bitmap_matrix
    - set_nonclient_dev_color
    - pdf_check_soft_mask
    - pdf_must_put_clip_path
    - pdf_put_clip_path
    - cos_stream_from_pipeline
    - s_close_filters
    - pdf_prepare_image
    - gx_begin_image3x_generic
    - pdf_set_process_color_model
    - convert_DeviceN_alternate
    - gs_points_bbox
    - psdf_setup_image_filters
    - gs_color_space_num_components
    - pdf_prepare_imagemask
    - psdf_setup_compression_chooser
    - convert_separation_alternate
    - gs_malloc
    - return_error
    - make_device_color_space
    - gs_free
    - gs_bbox_transform_only
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_typed_image(gx_device_pdf *pdev, const gs_gstate * pgs,\n
      \                     const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                     const gs_int_rect * prect,\n                      const
      gx_drawing_color * pdcolor,\n                      const gx_clip_path * pcpath,
      gs_memory_t * mem,\n                      gx_image_enum_common_t ** pinfo,\n
      \                     pdf_typed_image_context_t context)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1628
    functionDepth: 8
    functionLinenumber: 1628
    functionLinenumberEnd: 1639
    functionName: gdev_pdf_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_begin_typed_image
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_begin_typed_image(gx_device * dev, const gs_gstate *
      pgs,\n                           const gs_matrix *pmat, const gs_image_common_t
      *pic,\n                           const gs_int_rect * prect,\n                           const
      gx_drawing_color * pdcolor,\n                           const gx_clip_path *
      pcpath, gs_memory_t * mem,\n                           gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: image_flip_planes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1698,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1700,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1708,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1717,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - info
    - planes
    - height
    - rows_used
    - alt_writer_index
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1644
    functionDepth: 1
    functionLinenumber: 1644
    functionLinenumberEnd: 1720
    functionName: pdf_image_plane_data_alt
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - return_error
    - sputs
    - image_flip_planes
    linkageType: ''
    returnType: int
    signature: "int pdf_image_plane_data_alt(gx_image_enum_common_t * info,\n                     const
      gx_image_plane_t * planes, int height,\n                     int *rows_used,
      int alt_writer_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_plane_data_alt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1737,1
    - Dst: pdf_choose_compression
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1743,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1722
    functionDepth: 2
    functionLinenumber: 1722
    functionLinenumberEnd: 1746
    functionName: pdf_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_image_plane_data_alt
    - pdf_choose_compression
    linkageType: ''
    returnType: int
    signature: "int pdf_image_plane_data(gx_image_enum_common_t * info,\n                     const
      gx_image_plane_t * planes, int height,\n                     int *rows_used)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1758,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1765,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1781,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1786,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1786,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1789,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1796,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1800,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1803,1
    - Dst: pdf_cs_Pattern_colored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1804,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1807,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1808,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1808,1
    - Dst: pdf_do_image_by_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1820,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1822,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 4
    argNames:
    - pdev
    - pres1
    - pmat
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - gs_matrix*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1748
    functionDepth: 1
    functionLinenumber: 1748
    functionLinenumberEnd: 1825
    functionName: use_image_as_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_add_resource
    - cos_value_write
    - pdf_do_image_by_id
    - pdf_cs_Pattern_colored
    - pprintld1
    - pdf_resource_id
    - memset
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int use_image_as_pattern(gx_device_pdf *pdev, pdf_resource_t *pres1,\n
      \                    const gs_matrix *pmat, gs_id id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1838,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1852,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1853,1
    - Dst: pdf_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1862,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1870,1
    - Dst: use_image_as_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1873,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - pdev
    - piw
    - mat
    - ps_bitmap_id
    - do_image
    argTypes:
    - gx_device_pdf*
    - pdf_image_writer*
    - gs_matrix*
    - gs_id
    - pdf_image_usage_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1834
    functionDepth: 5
    functionLinenumber: 1834
    functionLinenumberEnd: 1876
    functionName: pdf_end_and_do_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - cos_dict_put_string_copy
    - pdf_resource_id
    - use_image_as_pattern
    - pdf_do_image
    - gs_sprintf
    - pdf_end_write_image
    linkageType: ''
    returnType: int
    signature: "int pdf_end_and_do_image(gx_device_pdf *pdev, pdf_image_writer *piw,\n
      \                    const gs_matrix *mat, gs_id ps_bitmap_id, pdf_image_usage_t
      do_image)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_image_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1892,1
    - Dst: pdf_complete_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1895,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1900,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1912,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1915,1
    - Dst: pdf_end_and_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1918,1
    - Dst: pdf_end_and_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1921,1
    - Dst: pdf_end_and_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1923,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1927,1
    - Dst: psdf_end_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1931,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1942,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 3
    argNames:
    - info
    - draw_last
    - do_image
    argTypes:
    - gx_image_enum_common_t*
    - bool
    - pdf_image_usage_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1879
    functionDepth: 6
    functionLinenumber: 1879
    functionLinenumberEnd: 1944
    functionName: pdf_image_end_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_complete_image_data
    - pdf_set_process_color_model
    - pdf_end_and_do_image
    - psdf_end_binary
    - memset
    - pdf_end_image_binary
    - gx_image_free_enum
    - pdf_put_image_matrix
    linkageType: ''
    returnType: int
    signature: "int pdf_image_end_image_data(gx_image_enum_common_t * info, bool draw_last,\n
      \                        pdf_image_usage_t do_image)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_end_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1947
    functionDepth: 7
    functionLinenumber: 1947
    functionLinenumberEnd: 1951
    functionName: pdf_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_image_end_image_data
    linkageType: ''
    returnType: int
    signature: int pdf_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_dump_converted_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1957,1
    - Dst: gx_image1_end_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1958,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1959,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1960,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1962,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1965
    functionName: pdf_image_end_image_cvd
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_dump_converted_image
    - gs_free_object
    - gs_closedevice
    - gx_image1_end_image
    linkageType: ''
    returnType: int
    signature: int pdf_image_end_image_cvd(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1976,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pmxdev
    - tdev
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1983
    functionName: pdf_make_mxd
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    - gs_copydevice
    linkageType: ''
    returnType: int
    signature: int pdf_make_mxd(gx_device **pmxdev, gx_device *tdev, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_end_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1986
    functionDepth: 7
    functionLinenumber: 1986
    functionLinenumberEnd: 1990
    functionName: pdf_image_end_image_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_image_end_image_data
    linkageType: ''
    returnType: int
    signature: int pdf_image_end_image_object(gx_image_enum_common_t * info, bool
      draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_image_end_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1992
    functionDepth: 7
    functionLinenumber: 1992
    functionLinenumberEnd: 1996
    functionName: pdf_image_end_image_object2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_image_end_image_data
    linkageType: ''
    returnType: int
    signature: int pdf_image_end_image_object2(gx_image_enum_common_t * info, bool
      draw_last)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2013,1
    - Dst: pdf_setup_masked_image_converter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2014,1
    - Dst: pdf_make_mxd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2024,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2028,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - pmidev
    - dev
    - width
    - height
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2002
    functionDepth: 2
    functionLinenumber: 2002
    functionLinenumberEnd: 2031
    functionName: pdf_image3_make_mid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_make_mxd
    - gs_make_identity
    - set_dev_proc
    - pdf_setup_masked_image_converter
    linkageType: ''
    returnType: int
    signature: "int pdf_image3_make_mid(gx_device **pmidev, gx_device *dev, int width,
      int height,\n                    gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2032
    functionDepth: 8
    functionLinenumber: 2032
    functionLinenumberEnd: 2046
    functionName: pdf_mid_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_begin_typed_image
    linkageType: ''
    returnType: int
    signature: "int pdf_mid_begin_typed_image(gx_device * dev, const gs_gstate * pgs,\n
      \                         const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                         const gs_int_rect * prect,\n                          const
      gx_drawing_color * pdcolor,\n                          const gx_clip_path *
      pcpath, gs_memory_t * mem,\n                          gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2071,1
    - Dst: pdf_make_mxd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2077,1
    - Dst: pdf_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2080,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 13
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - pmcdev
    - midev
    - pminfo
    - origin
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - gx_device**
    - gx_device*
    - gx_image_enum_common_t*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2049
    functionDepth: 8
    functionLinenumber: 2049
    functionLinenumberEnd: 2090
    functionName: pdf_image3_make_mcde
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - gx_default_begin_typed_image
    - pdf_begin_typed_image
    - pdf_make_mxd
    linkageType: ''
    returnType: int
    signature: "int pdf_image3_make_mcde(gx_device *dev, const gs_gstate *pgs,\n                     const
      gs_matrix *pmat, const gs_image_common_t *pic,\n                     const gs_int_rect
      *prect, const gx_drawing_color *pdcolor,\n                     const gx_clip_path
      *pcpath, gs_memory_t *mem,\n                     gx_image_enum_common_t **pinfo,\n
      \                    gx_device **pmcdev, gx_device *midev,\n                     gx_image_enum_common_t
      *pminfo,\n                     const gs_int_point *origin)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_make_mxd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2099,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pmidev
    - dev
    - width
    - height
    - depth
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2095
    functionDepth: 2
    functionLinenumber: 2095
    functionLinenumberEnd: 2105
    functionName: pdf_image3x_make_mid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - pdf_make_mxd
    linkageType: ''
    returnType: int
    signature: "int pdf_image3x_make_mid(gx_device **pmidev, gx_device *dev, int width,
      int height,\n                     int depth, gs_memory_t *mem)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2127,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2132,1
    - Dst: pdf_make_mxd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2133,1
    - Dst: pdf_begin_typed_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2136,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2143,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2145,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2155,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2189,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 56
    argCount: 14
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - pmcdev
    - midev
    - pminfo
    - origin
    - pim
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - gx_device**
    - gx_device*[]
    - gx_image_enum_common_t*[]
    - gs_int_point[]
    - gs_image3x_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2202
      start: 2108
    functionDepth: 8
    functionLinenumber: 2108
    functionLinenumberEnd: 2202
    functionName: pdf_image3x_make_mcde
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - pdf_make_mxd
    - gx_image_end
    - cos_dict_put_c_key_floats
    - gs_color_space_num_components
    - pdf_begin_typed_image
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_image3x_make_mcde(gx_device *dev, const gs_gstate *pgs,\n
      \                     const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                     const gs_int_rect *prect,\n                      const
      gx_drawing_color *pdcolor,\n                      const gx_clip_path *pcpath,
      gs_memory_t *mem,\n                      gx_image_enum_common_t **pinfo,\n                      gx_device
      **pmcdev, gx_device *midev[2],\n                      gx_image_enum_common_t
      *pminfo[2],\n                      const gs_int_point origin[2],\n                      const
      gs_image3x_t *pim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pres
    argTypes:
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2204
    functionDepth: 0
    functionLinenumber: 2204
    functionLinenumberEnd: 2209
    functionName: pdf_substitute_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: pdf_resource_t
    signature: pdf_resource_t *pdf_substitute_pattern(pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - pres0
    - pres1
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2211
    functionDepth: 0
    functionLinenumber: 2211
    functionLinenumberEnd: 2218
    functionName: check_unsubstituted2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_unsubstituted2(gx_device_pdf * pdev, pdf_resource_t *pres0,
      pdf_resource_t *pres1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pres0
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2226
    functionName: check_unsubstituted1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int check_unsubstituted1(gx_device_pdf * pdev, pdf_resource_t *pres0)
  - BBCount: 96
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2245,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2247,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2248,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2249,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2264,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2267,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2272,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2279,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2284,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2288,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2289,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2291,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2292,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2294,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2296,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2298,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2298,1
    - Dst: pdf_viewer_state_from_gs_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2316,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2320,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2323,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2348,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2359,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2365,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2368,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2371,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2381,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2397,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2408,1
    - Dst: cos_dict_put_c_key_floats
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2412,1
    - Dst: pdf_add_procsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2452,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2457,1
    - Dst: pdf_find_same_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2460,1
    - Dst: pdf_cancel_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2464,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2469,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2473,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2474,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2474,1
    - Dst: pdf_drop_resource_from_chain
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2478,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2480,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2483,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2483,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2487,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2491,1
    - Dst: pdfwrite_pdf_open_document
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2505,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2508,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2512,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2519,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2521,1
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2522,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2524,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2527,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2540,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2543,1
    - Dst: pdf_store_pattern1_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2556,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2560,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2569,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2571,1
    - Dst: pdf_add_procsets
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2573,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2578,1
    - Dst: pdf_drop_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2583,1
    - Dst: pdf_find_same_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2587,1
    - Dst: pdf_cancel_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2593,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2601,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2606,1
    - Dst: pdf_substitute_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2609,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2611,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2651,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2654,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2666,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2670,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2676,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2680,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2683,1
    - Dst: gdev_pdf_get_param
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2697,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c:2703,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 342
    argCount: 4
    argNames:
    - pdev1
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2704
      start: 2232
    functionDepth: 5
    functionLinenumber: 2232
    functionLinenumberEnd: 2704
    functionName: gdev_pdf_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfi.c
    functionUses: 0
    functionsReached:
    - cos_stream_dict
    - gs_alloc_bytes
    - pdf_open_contents
    - strlen
    - emprintf
    - pdf_drop_resources
    - memcmp
    - pdf_find_resource_by_resource_id
    - gs_matrix_multiply
    - COS_OBJECT
    - cos_dict_put_c_strings
    - pdf_resource_id
    - pdf_reserve_object_id
    - gx_default_dev_spec_op
    - pdf_substitute_pattern
    - memset
    - pprintg2
    - pdf_add_procsets
    - gdev_pdf_get_param
    - pdfwrite_pdf_open_document
    - pdf_cancel_resource
    - gs_note_error
    - gs_bbox_transform
    - cos_dict_alloc
    - gs_free_object
    - pdf_add_resource
    - pdf_enter_substream
    - pdf_find_resource_by_gs_id
    - pprintg6
    - cos_dict_put_c_key_object
    - sputs
    - cos_dict_put_c_key_floats
    - floor
    - pdf_store_pattern1_params
    - pdf_put_clip_path
    - cos_dict_put
    - pprintld1
    - pdf_find_same_resource
    - pdf_drop_resource_from_chain
    - memcpy
    - return_error
    - pdf_viewer_state_from_gs_gstate
    - cos_object_value
    - pdf_check_soft_mask
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_dev_spec_op(gx_device *pdev1, int dev_spec_op, void *data,
      int size)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:84,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:88,1
    - Dst: pdf_set_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:91,1
    - Dst: pprintd4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:96,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 47
    functionDepth: 5
    functionLinenumber: 47
    functionLinenumberEnd: 98
    functionName: gdev_pdf_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pprintd4
    - pdf_set_pure_color
    - pdf_open_page
    - pdf_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                        gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psdf_setlinewidth
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:108,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdev
    - width
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: pdf_setlinewidth
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - psdf_setlinewidth
    - fabs
    linkageType: ''
    returnType: int
    signature: int pdf_setlinewidth(gx_device_vector * vdev, double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: pdf_can_handle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pdf_can_handle_hl_color(gx_device_vector * vdev, const gs_gstate
      * pgs,\n                 const gx_drawing_color * pdc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:123,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:128,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 137
    functionName: pdf_setfillcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - vdev_proc
    - pdf_set_drawing_color
    linkageType: ''
    returnType: int
    signature: "int pdf_setfillcolor(gx_device_vector * vdev, const gs_gstate * pgs,\n
      \                const gx_drawing_color * pdc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:144,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:149,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: pdf_setstrokecolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - vdev_proc
    - pdf_set_drawing_color
    linkageType: ''
    returnType: int
    signature: "int pdf_setstrokecolor(gx_device_vector * vdev, const gs_gstate *
      pgs,\n                   const gx_drawing_color * pdc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:165,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:165,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:176,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:176,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:177,1
    - Dst: psdf_dorect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - type
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 185
    functionName: pdf_dorect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - psdf_dorect
    - float2fixed
    - fabs
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int pdf_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed
      x1, fixed y1,\n           gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: pdf_endpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_endpath(gx_device_vector * vdev, gx_path_type_t type)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:228,1
    - Dst: gx_path_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:234,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:236,1
    - Dst: gx_cpath_to_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:238,1
    - Dst: gx_path_unshare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - pcpath
    argTypes:
    - gx_device_pdf*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 253
    functionName: pdf_remember_clip_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 2
    functionsReached:
    - gx_cpath_to_path
    - gx_path_free
    - gx_path_alloc
    - gx_path_unshare
    - return_error
    linkageType: ''
    returnType: int
    signature: int pdf_remember_clip_path(gx_device_pdf * pdev, const gx_clip_path
      * pcpath)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:270,1
    - Dst: gx_cpath_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:273,1
    - Dst: gx_cpath_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:281,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:282,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:302,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 34
    argCount: 2
    argNames:
    - pdev
    - pcpath
    argTypes:
    - gx_device_pdf*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 306
    functionName: pdf_is_same_clip_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gx_path_enum_next
    - gx_cpath_enum_init
    - gx_path_enum_init
    - gx_cpath_enum_next
    linkageType: ''
    returnType: int
    signature: int pdf_is_same_clip_path(gx_device_pdf * pdev, const gx_clip_path
      * pcpath)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:318,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - pgs
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: pdf_check_soft_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 6
    functionsReached:
    - pdf_open_contents
    - pdf_restore_viewer_state
    linkageType: ''
    returnType: int
    signature: int pdf_check_soft_mask(gx_device_pdf * pdev, gs_gstate * pgs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:340,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:341,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:342,1
    - Dst: pdf_is_same_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:345,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - pcpath
    argTypes:
    - gx_device_pdf*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: pdf_must_put_clip_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 5
    functionsReached:
    - pdf_is_same_clip_path
    - gx_cpath_includes_rectangle
    - int2fixed
    linkageType: ''
    returnType: bool
    signature: bool pdf_must_put_clip_path(gx_device_pdf * pdev, const gx_clip_path
      * pcpath)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_dopath_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:367,1
    - Dst: gx_cpath_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:370,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:372,1
    - Dst: gx_path_is_rectangular
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:373,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:378,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:378,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:380,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:380,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:396,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:398,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:400,1
    - Dst: gx_cpath_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:420,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:422,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:436,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:447,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:451,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:456,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:495,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:499,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:508,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:518,1
    - Dst: gx_cpath_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:522,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:524,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:527,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:537,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:544,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:598,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:600,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:602,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:609,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:618,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:620,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:628,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:638,1
    CyclomaticComplexity: 90
    EdgeCount: 90
    ICount: 223
    argCount: 7
    argNames:
    - pdev
    - cenum
    - state
    - path
    - is_clip_enum
    - type
    - pmat
    argTypes:
    - gx_device_pdf*
    - gs_path_enum*
    - gdev_vector_dopath_state_t*
    - gx_path*
    - int
    - gx_path_type_t
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 640
    functionName: pdf_write_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gs_point_transform_inverse
    - gx_cpath_enum_init
    - gx_cpath_enum_next
    - is_fzero2
    - gx_path_is_rectangular
    - gx_path_enum_next
    - is_xxyy
    - vdev_proc
    - gdev_vector_dopath_segment
    - gx_path_enum_init
    - is_xyyx
    - gdev_vector_dopath_init
    linkageType: ''
    returnType: int
    signature: "int pdf_write_path(gx_device_pdf * pdev, gs_path_enum *cenum, gdev_vector_dopath_state_t
      *state, gx_path *path, int is_clip_enum,\n                               gx_path_type_t
      type, const gs_matrix *pmat)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_clip_path_list_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:651,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:656,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - pdev
    - e
    - cenum
    - state
    - vs
    argTypes:
    - gx_device_pdf*
    - gx_cpath_path_list*
    - gs_path_enum*
    - gdev_vector_dopath_state_t*
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 643
    functionDepth: 2
    functionLinenumber: 643
    functionLinenumberEnd: 662
    functionName: pdf_put_clip_path_list_elem
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 1
    functionsReached:
    - pdf_write_path
    - pdf_put_clip_path_list_elem
    - pprints1
    linkageType: ''
    returnType: int
    signature: "int pdf_put_clip_path_list_elem(gx_device_pdf * pdev, gx_cpath_path_list
      *e,\n        gs_path_enum *cenum, gdev_vector_dopath_state_t *state,\n        gs_fixed_point
      vs[3])"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:681,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:682,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:683,1
    - Dst: pdf_is_same_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:689,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:701,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:706,1
    - Dst: pdf_save_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:714,1
    - Dst: cpath_is_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:726,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:728,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:729,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:729,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:730,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:731,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:732,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:764,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:767,1
    - Dst: pdf_put_clip_path_list_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:771,1
    - Dst: pdf_remember_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:778,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - pdev
    - pcpath
    argTypes:
    - gx_device_pdf*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 780
    functionName: pdf_put_clip_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 7
    functionsReached:
    - gx_cpath_includes_rectangle
    - pdf_open_contents
    - pprintg4
    - pdf_remember_clip_path
    - pprints1
    - pdf_is_same_clip_path
    - pdf_put_clip_path_list_elem
    - pdf_restore_viewer_state
    - pdf_write_path
    - cpath_is_rectangle
    - pdf_save_viewer_state
    - int2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int pdf_put_clip_path(gx_device_pdf * pdev, const gx_clip_path * pcpath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:801,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:806,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:810,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:813,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:815,1
    - Dst: pdf_prepare_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:819,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:822,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 6
    argNames:
    - pdev
    - pgs
    - box
    - have_path
    - pdcolor
    - pcpath
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_fixed_rect*
    - bool
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 787
    functionDepth: 6
    functionLinenumber: 787
    functionLinenumberEnd: 823
    functionName: prepare_fill_with_clip
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_fill
    - pdf_unclip
    - pdf_put_clip_path
    - pdf_open_page
    - gx_cpath_outer_box
    - pdf_check_soft_mask
    - pdf_must_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int prepare_fill_with_clip(gx_device_pdf *pdev, const gs_gstate *
      pgs,\n              gs_fixed_rect *box, bool have_path,\n              const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_lcvd_t*::std_copy_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:836,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 829
    functionDepth: 0
    functionLinenumber: 829
    functionLinenumberEnd: 838
    functionName: lcvd_copy_color_shifted
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_lcvd_t*::std_copy_color
    linkageType: ''
    returnType: int
    signature: "int lcvd_copy_color_shifted(gx_device * dev,\n               const
      byte * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_lcvd_t*::std_fill_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 847
    functionName: lcvd_fill_rectangle_shifted
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_lcvd_t*::std_fill_rectangle
    linkageType: ''
    returnType: int
    signature: int lcvd_fill_rectangle_shifted(gx_device *dev, int x, int y, int width,
      int height, gx_color_index color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:855,1
    - Dst: pdf_lcvd_t*::std_fill_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:860,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 862
    functionName: lcvd_fill_rectangle_shifted2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_lcvd_t*::std_fill_rectangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int lcvd_fill_rectangle_shifted2(gx_device *dev, int x, int y, int
      width, int height, gx_color_index color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_lcvd_t*::std_get_clipping_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:869,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:870,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 863
    functionDepth: 1
    functionLinenumber: 863
    functionLinenumberEnd: 876
    functionName: lcvd_get_clipping_box_shifted_from_mdev
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - int2fixed
    - pdf_lcvd_t*::std_get_clipping_box
    linkageType: ''
    returnType: void
    signature: void lcvd_get_clipping_box_shifted_from_mdev(gx_device *dev, gs_fixed_rect
      *pbox)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - pdev1
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 895
    functionName: lcvd_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    linkageType: ''
    returnType: int
    signature: "int lcvd_dev_spec_op(gx_device *pdev1, int dev_spec_op,\n                void
      *data, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_dump_converted_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:903,1
    - Dst: pdf_lcvd_t*::std_close_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 906
    functionName: lcvd_close_device_with_writing
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_dump_converted_image
    - pdf_lcvd_t*::std_close_device
    linkageType: ''
    returnType: int
    signature: int lcvd_close_device_with_writing(gx_device *pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:917,1
    - Dst: pdf_copy_color_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:918,1
    - Dst: pdf_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:924,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pdev
    - mdev
    - m
    argTypes:
    - gx_device_pdf*
    - gx_device_memory*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 926
    functionName: write_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 9
    functionsReached:
    - pdf_copy_color_data
    - pdf_do_image
    - pdf_put_matrix
    linkageType: ''
    returnType: int
    signature: int write_image(gx_device_pdf *pdev, gx_device_memory *mdev, gs_matrix
      *m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:936,1
    - Dst: gdev_pdf_copy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pdev
    - mdev
    - m
    argTypes:
    - gx_device_pdf*
    - gx_device_memory*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 927
    functionDepth: 2
    functionLinenumber: 927
    functionLinenumberEnd: 945
    functionName: write_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gdev_pdf_copy_mono
    - pdf_put_matrix
    linkageType: ''
    returnType: int
    signature: int write_mask(gx_device_pdf *pdev, gx_device_memory *mdev, gs_matrix
      *m)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - width
    - base
    - x0
    - count1
    - x1
    - count
    argTypes:
    - int
    - byte*
    - int
    - long
    - int*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 977
    functionName: max_subimage_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void max_subimage_width(int width, byte *base, int x0, long count1,
      int *x1, long *count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:984,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - base
    - base2
    - w
    argTypes:
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 993
    functionName: cmpbits
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int cmpbits(const byte *base, const byte *base2, int w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: max_subimage_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1004,1
    - Dst: max_subimage_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1011,1
    - Dst: cmpbits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1026,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 9
    argNames:
    - width
    - height
    - raster
    - base
    - x0
    - y0
    - MaxClipPathSize
    - x1
    - y1
    argTypes:
    - int
    - int
    - int
    - byte*
    - int
    - int
    - long
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1034
    functionName: compute_subimage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - cmpbits
    - max_subimage_width
    linkageType: ''
    returnType: void
    signature: "void compute_subimage(int width, int height, int raster, byte *base,\n
      \                int x0, int y0, long MaxClipPathSize, int *x1, int *y1)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1069,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1072,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1073,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1074,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1075,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 7
    argNames:
    - pdev
    - base
    - x0
    - x1
    - y0
    - y1
    - started
    argTypes:
    - gx_device_pdf*
    - byte*
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1079
    functionName: image_line_to_clip
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintld2
    linkageType: ''
    returnType: int
    signature: int image_line_to_clip(gx_device_pdf *pdev, byte *base, int x0, int
      x1, int y0, int y1, bool started)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmpbits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1092,1
    - Dst: image_line_to_clip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1095,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1101,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 9
    argNames:
    - pdev
    - width
    - height
    - raster
    - base
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - gx_device_pdf*
    - int
    - int
    - int
    - byte*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1103
    functionName: mask_to_clip
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - image_line_to_clip
    - cmpbits
    linkageType: ''
    returnType: int
    signature: "int mask_to_clip(gx_device_pdf *pdev, int width, int height,\n             int
      raster, byte *base, int x0, int y0, int x1, int y1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1111,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1112,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1113,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1114,1
    - Dst: pdf_copy_color_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1117,1
    - Dst: pdf_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - pdev
    - mdev
    - x
    - y
    - x1
    - y1
    argTypes:
    - gx_device_pdf*
    - gx_device_memory*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1126
    functionName: write_subimage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - pdf_do_image
    - pdf_copy_color_data
    - min
    - max
    linkageType: ''
    returnType: int
    signature: int write_subimage(gx_device_pdf *pdev, gx_device_memory *mdev, int
      x, int y, int x1, int y1)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1135,1
    - Dst: compute_subimage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1139,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1141,1
    - Dst: mask_to_clip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1142,1
    - Dst: write_subimage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1149,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1156,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1166,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - pdev
    - cvd
    argTypes:
    - gx_device_pdf*
    - pdf_lcvd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1168
    functionName: write_image_with_clip
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - write_subimage
    - compute_subimage
    - pdf_put_matrix
    - max
    - mask_to_clip
    linkageType: ''
    returnType: int
    signature: int write_image_with_clip(gx_device_pdf *pdev, pdf_lcvd_t *cvd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1177,1
    - Dst: write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1178,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1185,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1189,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1196,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1212,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1217,1
    - Dst: write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1218,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1227,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1231,1
    - Dst: pdf_cs_Pattern_colored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1234,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1236,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1237,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1237,1
    - Dst: write_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1240,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1244,1
    - Dst: write_image_with_clip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1245,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1246,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1249,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 60
    argCount: 2
    argNames:
    - pdev
    - cvd
    argTypes:
    - gx_device_pdf*
    - pdf_lcvd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1170
    functionDepth: 4
    functionLinenumber: 1170
    functionLinenumberEnd: 1252
    functionName: pdf_dump_converted_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 2
    functionsReached:
    - stream_puts
    - cos_value_write
    - write_image
    - pdf_cs_Pattern_colored
    - pprintld1
    - pdf_resource_id
    - write_mask
    - memset
    - write_image_with_clip
    - dev_proc
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: int pdf_dump_converted_image(gx_device_pdf *pdev, pdf_lcvd_t *cvd)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1265,1
    - Dst: pdf_dump_converted_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1268,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1271,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1272,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1275,1
    - Dst: gs_make_translation
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1289,1
    - Dst: pdf_dump_converted_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1292,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1295,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1296,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1299,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1302,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1253
    functionDepth: 5
    functionLinenumber: 1253
    functionLinenumberEnd: 1306
    functionName: lcvd_handle_fill_path_as_shading_coverage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_dump_converted_image
    - gs_make_translation
    - gx_path_is_null
    - pdf_write_path
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int lcvd_handle_fill_path_as_shading_coverage(gx_device *dev,\n    const
      gs_gstate *pgs, gx_path *ppath,\n    const gx_fill_params *params,\n    const
      gx_drawing_color *pdcolor, const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_t_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1316,1
    - Dst: dev_t_proc_copy_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1317,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1327,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1328,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1329,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1330,1
    - Dst: pdf_lcvd_t*::std_transform_pixel_region
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1335,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1339,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1340,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1341,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1342,1
    - Dst: pdf_lcvd_t*::std_transform_pixel_region
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1343,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1344,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1347
    functionName: lcvd_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - dev_t_proc_fill_rectangle
    - pdf_lcvd_t*::std_transform_pixel_region
    - dev_t_proc_copy_color
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: int lcvd_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1358,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1360,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1364,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1364,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1378,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1381,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1386,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1388,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1390,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1393,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1395,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1399,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1405,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1406,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1407,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1408,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1409,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1412,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1414,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1416,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1417,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1419,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1420,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1421,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1422,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1428,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 70
    argCount: 10
    argNames:
    - pdev
    - mem
    - m
    - pcvd
    - need_mask
    - x
    - y
    - w
    - h
    - write_on_close
    argTypes:
    - gx_device_pdf*
    - gs_memory_t*
    - gs_matrix*
    - pdf_lcvd_t**
    - bool
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1431
    functionName: pdf_setup_masked_image_converter
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 2
    functionsReached:
    - gdev_mem_device_for_bits
    - gx_device_raster
    - gs_make_mem_device
    - return_error
    - gs_make_mem_mono_device
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pdf_setup_masked_image_converter(gx_device_pdf *pdev, gs_memory_t
      *mem, const gs_matrix *m, pdf_lcvd_t **pcvd,\n                                 bool
      need_mask, int x, int y, int w, int h, bool write_on_close)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1436,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1438,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - cvd
    - need_mask
    argTypes:
    - gx_device_pdf*
    - pdf_lcvd_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1441
    functionName: pdf_remove_masked_image_converter
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf_remove_masked_image_converter(gx_device_pdf *pdev, pdf_lcvd_t
      *cvd, bool need_mask)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1466,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1469,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1471,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1472,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1473,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1474,1
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1488,1
    - Dst: pdf_prepare_initial_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1491,1
    - Dst: pdf_reset_graphics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1492,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1496,1
    - Dst: prepare_fill_with_clip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1502,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1506,1
    - Dst: pdf_setfillcolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1514,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1518,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1523,1
    - Dst: gx_dc_pattern2_can_overlap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1530,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1531,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1538,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1538,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1541,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1544,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1547,1
    - Dst: gx_dc_pattern2_get_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1548,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1552,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1555,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1556,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1557,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1558,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1559,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1575,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1575,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1575,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1582,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1583,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1584,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1585,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1586,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1587,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1587,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1588,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1589,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1589,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1590,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1591,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1592,1
    - Dst: pdf_setup_masked_image_converter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1596,1
    - Dst: gx_dc_pattern2_has_background
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1598,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1599,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1603,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1605,1
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1607,1
    - Dst: gs_shading_do_fill_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1610,1
    - Dst: pdf_dump_converted_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1613,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1614,1
    - Dst: pdf_remove_masked_image_converter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1615,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1616,1
    - Dst: gs_gstate_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1617,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1629,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1634,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1637,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1641,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 136
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1644
      start: 1446
    functionDepth: 7
    functionLinenumber: 1446
    functionLinenumberEnd: 1644
    functionName: gdev_pdf_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pattern2_color
    - pdf_remove_masked_image_converter
    - gs_gstate_free
    - pdf_write_path
    - gx_dc_pattern2_get_bbox
    - gs_shading_do_fill_rectangle
    - gx_default_fill_path
    - pdf_prepare_initial_viewer_state
    - gs_matrix_multiply
    - pprintg1
    - pdf_setup_masked_image_converter
    - gx_dc_pattern2_can_overlap
    - pdf_dump_converted_image
    - gx_path_is_void
    - ctm_only
    - gx_path_bbox
    - pdf_setfillcolor
    - gs_gstate_memory
    - rect_intersect
    - prepare_fill_with_clip
    - ilog2
    - stream_puts
    - gx_dc_pattern2_has_background
    - fixed2int
    - floor
    - gs_setmatrix
    - gs_make_scaling
    - sqrt
    - pdf_put_matrix
    - gs_gstate_copy
    - gs_make_identity
    - ceil
    - return_error
    - pdf_reset_graphics
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                   const gx_fill_params * params,\n              const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1662,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1664,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1667,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1668,1
    - Dst: pdf_can_handle_hl_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1671,1
    - Dst: pdf_modify_text_render_mode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1674,1
    - Dst: pdf_reset_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1676,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1685,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1686,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1692,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1699,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1701,1
    - Dst: pdf_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1704,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1708,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1712,1
    - Dst: gdev_vector_stroke_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1725,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1740,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1741,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1743,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1758,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1758,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1759,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1759,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1760,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1760,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1761,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1761,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1762,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1762,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1763,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1763,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1764,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1765,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1770,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1771,1
    - Dst: gdev_vector_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1775,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1778,1
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1783,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1785,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1787,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1791,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1792,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1795,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 80
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1802
      start: 1647
    functionDepth: 6
    functionLinenumber: 1647
    functionLinenumberEnd: 1802
    functionName: gdev_pdf_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - max
    - gdev_vector_prepare_stroke
    - gdev_vector_stroke_scaling
    - pdf_write_path
    - pdf_unclip
    - pprintg1
    - pdf_open_page
    - pdf_prepare_stroke
    - gx_path_is_void
    - ctm_only
    - pdf_reset_color
    - gx_path_bbox
    - gx_cpath_outer_box
    - rect_intersect
    - stream_puts
    - float2fixed
    - pdf_modify_text_render_mode
    - pdf_put_clip_path
    - sqrt
    - pdf_must_put_clip_path
    - any_abs
    - pdf_can_handle_hl_color
    - pdf_put_matrix
    - gs_distance_transform
    - gx_default_stroke_path
    - fabs
    - pdf_check_soft_mask
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_stroke_path(gx_device * dev, const gs_gstate * pgs,\n
      \                    gx_path * ppath, const gx_stroke_params * params,\n              const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1815,1
    - Dst: pdf_prepare_initial_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1819,1
    - Dst: pdf_reset_graphics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1820,1
    - Dst: gdev_pdf_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1831,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1834,1
    - Dst: gdev_pdf_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1835,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1836,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1852,1
    - Dst: pdf_check_soft_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1856,1
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1860,1
    - Dst: pdf_unclip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1863,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1865,1
    - Dst: pdf_prepare_fill_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1869,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1873,1
    - Dst: gdev_vector_stroke_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1886,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1901,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1902,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1904,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1919,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1919,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1920,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1920,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1921,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1921,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1922,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1922,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1923,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1923,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1924,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1924,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1925,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1926,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1931,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1932,1
    - Dst: pdf_setfillcolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1937,1
    - Dst: gdev_pdf_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1940,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1944,1
    - Dst: gdev_pdf_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1945,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1946,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1951,1
    - Dst: gdev_vector_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1952,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1954,1
    - Dst: gdev_pdf_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1956,1
    - Dst: gdev_pdf_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1959,1
    - Dst: pdf_put_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1964,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1966,1
    - Dst: pdf_write_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1968,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1972,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1973,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1804
    functionDepth: 8
    functionLinenumber: 1804
    functionLinenumberEnd: 1976
    functionName: gdev_pdf_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - max
    - gdev_vector_prepare_stroke
    - gdev_vector_stroke_scaling
    - pdf_write_path
    - pdf_unclip
    - pdf_prepare_initial_viewer_state
    - pdf_open_page
    - gx_path_is_void
    - ctm_only
    - gx_path_bbox
    - pdf_setfillcolor
    - gx_cpath_outer_box
    - rect_intersect
    - pdf_prepare_fill_stroke
    - float2fixed
    - stream_puts
    - gdev_pdf_fill_path
    - pdf_put_clip_path
    - sqrt
    - pdf_must_put_clip_path
    - any_abs
    - pdf_put_matrix
    - gs_distance_transform
    - gs_swapcolors_quick
    - fabs
    - pdf_reset_graphics
    - gdev_pdf_stroke_path
    - pdf_check_soft_mask
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_fill_stroke_path(gx_device *dev, const gs_gstate *pgs,
      gx_path *ppath,\n                          const gx_fill_params *fill_params,
      const gx_drawing_color *pdcolor_fill,\n                          const gx_stroke_params
      *stroke_params, const gx_drawing_color *pdcolor_stroke,\n    const gx_clip_path
      *pcpath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1991,1
    - Dst: prepare_fill_with_clip
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:1996,1
    - Dst: pdf_setfillcolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2001,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2005,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2008,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2009,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2009,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2010,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2010,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2019,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2020,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2021,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2022,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2023,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2024,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2025,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2026,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2036,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2037,1
    - Dst: gdev_pdf_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2040,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2043,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 45
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 1982
    functionDepth: 8
    functionLinenumber: 1982
    functionLinenumberEnd: 2047
    functionName: gdev_pdf_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_dc_is_pattern2_color
    - pprintg4
    - gx_path_add_rectangle
    - pdf_setfillcolor
    - rect_intersect
    - prepare_fill_with_clip
    - gx_path_init_local
    - gdev_pdf_fill_path
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2055,1
    - Dst: is_in_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2055,1
    - Dst: gx_default_fillpage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c:2060,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2061
    functionName: gdev_pdf_fillpage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfd.c
    functionUses: 0
    functionsReached:
    - is_in_page
    - gx_dc_pure_color
    - gx_default_fillpage
    linkageType: ''
    returnType: int
    signature: int gdev_pdf_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:52,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:54,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:54,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - first
    - last
    - widths
    argTypes:
    - gx_device_pdf*
    - int
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 57
    functionName: pdf_write_Widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintd2
    - pprintg1
    - psdf_round
    linkageType: ''
    returnType: int
    signature: int pdf_write_Widths(gx_device_pdf *pdev, int first, int last, const
      double *widths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str0
    - str1
    argTypes:
    - gs_const_string*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 65
    functionName: strings_equal
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool strings_equal(const gs_const_string *str0, const gs_const_string
      *str1)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:74,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:77,1
    - Dst: strings_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - pdfont
    - ch
    - encoding_index
    argTypes:
    - pdf_font_resource_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 86
    functionName: pdf_different_encoding_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - gs_c_known_encode
    - gs_c_glyph_name
    - strings_equal
    linkageType: ''
    returnType: int
    signature: int pdf_different_encoding_element(const pdf_font_resource_t *pdfont,
      int ch, int encoding_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_different_encoding_element
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:96,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pdfont
    - ch0
    argTypes:
    - pdf_font_resource_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: pdf_different_encoding_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - pdf_different_encoding_element
    linkageType: ''
    returnType: int
    signature: int pdf_different_encoding_index(const pdf_font_resource_t *pdfont,
      int ch0)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_name_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:134,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 1
    argNames:
    - pdfont
    argTypes:
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 145
    functionName: pdf_simple_font_needs_ToUnicode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - gs_c_name_glyph
    linkageType: ''
    returnType: bool
    signature: bool pdf_simple_font_needs_ToUnicode(const pdf_font_resource_t *pdfont)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:154,1
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:157,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:159,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:163,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:164,1
    - Dst: pdf_different_encoding_element
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:166,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:188,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:194,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:197,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:198,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:202,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:203,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 39
    argCount: 4
    argNames:
    - pdev
    - pdfont
    - id
    - ch
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 148
    functionDepth: 5
    functionLinenumber: 148
    functionLinenumberEnd: 205
    functionName: pdf_write_encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_put_name
    - strlen
    - pprints1
    - pdf_end_separate
    - pprintd1
    - pdf_open_separate
    - memcmp
    - pdf_different_encoding_element
    linkageType: ''
    returnType: int
    signature: int pdf_write_encoding(gx_device_pdf *pdev, const pdf_font_resource_t
      *pdfont, long id, int ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:215,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:216,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pdev
    - pdfont
    - id
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 223
    functionName: pdf_write_encoding_ref
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pdf_record_usage_by_parent
    - pprintld1
    - pprints1
    linkageType: ''
    returnType: int
    signature: "int pdf_write_encoding_ref(gx_device_pdf *pdev,\n          const pdf_font_resource_t
      *pdfont, long id)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_different_encoding_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:235,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:237,1
    - Dst: pdf_write_encoding_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:238,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:241,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:244,1
    - Dst: mark_font_descriptor_symbolic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:246,1
    - Dst: pdf_write_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 226
    functionDepth: 6
    functionLinenumber: 226
    functionLinenumberEnd: 252
    functionName: pdf_write_simple_contents
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pprints1
    - pdf_obj_ref
    - pdf_end_separate
    - pdf_different_encoding_index
    - pdf_write_encoding
    - mark_font_descriptor_symbolic
    - pdf_write_encoding_ref
    linkageType: ''
    returnType: int
    signature: "int pdf_write_simple_contents(gx_device_pdf *pdev,\n                          const
      pdf_font_resource_t *pdfont)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:274,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:277,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:278,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:284,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:284,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:284,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:291,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:297,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:298,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:304,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:304,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:304,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:304,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 29
    argCount: 4
    argNames:
    - pdfont
    - wmode
    - pdw
    - pdv
    argTypes:
    - pdf_font_resource_t*
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 312
    functionName: pdf_compute_CIDFont_default_widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - countof
    - any_abs
    - psf_enumerate_bits_begin
    - psf_enumerate_glyphs_next
    - psf_enumerate_glyphs_reset
    - memset
    - min
    linkageType: ''
    returnType: bool
    signature: bool pdf_compute_CIDFont_default_widths(const pdf_font_resource_t *pdfont,
      int wmode, int *pdw, int *pdv)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_compute_CIDFont_default_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:337,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:339,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:341,1
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:348,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:352,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:362,1
    - Dst: gs_font_base*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:371,1
    - Dst: copied_get_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:373,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:373,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:376,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:378,1
    - Dst: pprintd3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:386,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:388,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:396,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:398,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:399,1
    - Dst: pprintd4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:405,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:407,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:412,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 45
    argCount: 3
    argNames:
    - pdev
    - pdfont
    - wmode
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 416
    functionName: pdf_write_CIDFont_widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - copied_get_notdef
    - pdf_compute_CIDFont_default_widths
    - psf_enumerate_bits_begin
    - gs_font_base*::procs::encode_char
    - psf_enumerate_glyphs_next
    - pprintd3
    - pprintd2
    - gs_font_base*::procs::glyph_info
    - pprintd1
    - pprintd4
    - pdf_font_resource_font
    linkageType: ''
    returnType: int
    signature: "int pdf_write_CIDFont_widths(gx_device_pdf *pdev,\n                         const
      pdf_font_resource_t *pdfont, int wmode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:431,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:432,1
    - Dst: pdf_font_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:433,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:434,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 437
    functionName: pdf_write_contents_type0
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintld1
    - pprints1
    - pdf_end_separate
    - pdf_font_id
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_type0(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_font_bbox_float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:449,1
    - Dst: pdf_write_Widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:450,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:452,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: pdf_finish_write_contents_type3
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pdf_write_Widths
    - pdf_write_font_bbox_float
    - pdf_end_separate
    - stream_puts
    linkageType: ''
    returnType: int
    signature: "int pdf_finish_write_contents_type3(gx_device_pdf *pdev,\n                                pdf_font_resource_t
      *pdfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_simple_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 7
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: pdf_write_contents_std
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pdf_write_simple_contents
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_std(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_Widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:468,1
    - Dst: pdf_write_simple_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 465
    functionDepth: 7
    functionLinenumber: 465
    functionLinenumberEnd: 471
    functionName: pdf_write_contents_simple
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pdf_write_Widths
    - pdf_write_simple_contents
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_simple(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_CIDFont_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:483,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:489,1
    - Dst: pdf_write_CIDFont_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:492,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:497,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:499,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:500,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - pdev
    - pdfont
    - subtype
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 502
    functionName: write_contents_cid_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintld1
    - pdf_end_separate
    - pprintd1
    - pdf_write_CIDFont_widths
    linkageType: ''
    returnType: int
    signature: "int write_contents_cid_common(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont,\n                          int subtype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_contents_cid_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 5
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: pdf_write_contents_cid0
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - write_contents_cid_common
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_cid0(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: psf_enumerate_bits_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:518,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:520,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:525,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:526,1
    - Dst: pdf_font_descriptor_embedding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:531,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:532,1
    - Dst: write_contents_cid_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:537,1
    - Dst: pdf_font_descriptor_embedding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:541,1
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:545,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:553,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:554,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:556,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 508
    functionDepth: 5
    functionLinenumber: 508
    functionLinenumberEnd: 559
    functionName: pdf_write_contents_cid2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_font_descriptor_embedding
    - psf_enumerate_bits_begin
    - pprintld1
    - write_contents_cid_common
    - psf_enumerate_glyphs_next
    - stream_putc
    - pdf_obj_ref
    - pdf_begin_data_stream
    - pdf_end_data
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_cid2(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_simple_font_needs_ToUnicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:578,1
    - Dst: pdf_cmap_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:581,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:598,1
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:599,1
    - Dst: COS_WRITE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:600,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:603,1
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:605,1
    - Dst: pdf_font_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:605,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:607,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:609,1
    - Dst: pdf_font_descriptor_embedding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:610,1
    - Dst: pdf_find_base14_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:611,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:612,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:612,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:614,1
    - Dst: pdf_font_descriptor_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:617,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:618,1
    - Dst: pdf_set_font_descriptor_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:620,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:624,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:625,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:626,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:629,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:631,1
    - Dst: pdf_font_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:631,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:633,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:636,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:637,1
    - Dst: pdf_font_resource_t*::write_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:639,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 48
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 564
    functionDepth: 5
    functionLinenumber: 564
    functionLinenumberEnd: 640
    functionName: pdf_write_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_font_resource_t*::write_contents
    - pdf_find_base14_name
    - pdf_font_descriptor_embedding
    - pdf_put_name
    - pdf_record_usage_by_parent
    - strlen
    - pprintld1
    - pdf_resource_id
    - pdf_simple_font_needs_ToUnicode
    - pdf_obj_ref
    - pdf_end_separate
    - COS_WRITE
    - pdf_font_descriptor_id
    - pdf_open_separate
    - pdf_set_font_descriptor_usage
    - pdf_font_id
    - pdf_cmap_alloc
    linkageType: ''
    returnType: int
    signature: int pdf_write_font_resource(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:656,1
    - Dst: pdf_compute_BaseFont
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:657,1
    - Dst: pdf_write_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:661,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - pdev
    - prlist
    argTypes:
    - gx_device_pdf*
    - pdf_resource_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 646
    functionDepth: 6
    functionLinenumber: 646
    functionLinenumberEnd: 668
    functionName: write_font_resources
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - pdf_write_font_resource
    - pdf_compute_BaseFont
    - pdf_resource_id
    linkageType: ''
    returnType: int
    signature: int write_font_resources(gx_device_pdf *pdev, pdf_resource_list_t *prlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: finish_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:681,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - type
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 687
    functionName: pdf_finish_resources
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - finish_proc
    linkageType: ''
    returnType: int
    signature: "int pdf_finish_resources(gx_device_pdf *pdev, pdf_resource_type_t
      type,\n                        int (*finish_proc)(gx_device_pdf *,\n                                           pdf_resource_t
      *))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:700,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:702,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:703,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:705,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:706,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:708,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:709,1
    - Dst: pdf_encrypt_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:714,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:716,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:717,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:718,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:720,1
    - Dst: pdf_encrypt_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:721,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:723,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:724,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:725,1
    - Dst: s_arcfour_process_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:727,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:729,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:730,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:731,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:732,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:733,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:734,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:735,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 4
    argNames:
    - pdev
    - s
    - pcidsi
    - object_id
    argTypes:
    - gx_device_pdf*
    - stream*
    - gs_cid_system_info_t*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 737
    functionName: pdf_write_cid_system_info_to_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gs_alloc_bytes
    - pdf_encrypt_init
    - s_arcfour_process_buffer
    - s_write_ps_string
    - memcpy
    - pprintd1
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_write_cid_system_info_to_stream(gx_device_pdf *pdev, stream
      *s,\n                          const gs_cid_system_info_t *pcidsi, gs_id object_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_cid_system_info_to_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - pcidsi
    - object_id
    argTypes:
    - gx_device_pdf*
    - gs_cid_system_info_t*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 4
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: pdf_write_cid_system_info
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 0
    functionsReached:
    - pdf_write_cid_system_info_to_stream
    linkageType: ''
    returnType: int
    signature: "int pdf_write_cid_system_info(gx_device_pdf *pdev,\n                          const
      gs_cid_system_info_t *pcidsi, gs_id object_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:751,1
    - Dst: pdf_write_cid_system_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:752,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pdev
    - pcidsi
    - id
    argTypes:
    - gx_device_pdf*
    - gs_cid_system_info_t*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 746
    functionDepth: 6
    functionLinenumber: 746
    functionLinenumberEnd: 755
    functionName: pdf_write_cid_systemInfo_separate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - pdf_write_cid_system_info
    - pdf_end_separate
    - pdf_begin_separate
    linkageType: ''
    returnType: int
    signature: int pdf_write_cid_systemInfo_separate(gx_device_pdf *pdev, const gs_cid_system_info_t
      *pcidsi, long *id)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:770,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:785,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:789,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:790,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:794,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:795,1
    - Dst: pdf_write_cid_system_info_to_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:796,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:799,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:800,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:803,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:810,1
    - Dst: psf_write_cmap
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:813,1
    - Dst: pdf_put_name_chars_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:814,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:818,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 4
    argNames:
    - pdev
    - pcmap
    - ppres
    - font_index_only
    argTypes:
    - gx_device_pdf*
    - gs_cmap_t*
    - pdf_resource_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 761
    functionDepth: 5
    functionLinenumber: 761
    functionLinenumberEnd: 822
    functionName: pdf_write_cmap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - cos_dict_put_c_key_int
    - stell
    - cos_dict_put_string_copy
    - pdf_put_name_chars_proc
    - strlen
    - swrite_string
    - memcpy
    - pdf_begin_data_stream
    - psf_write_cmap
    - pdf_end_data
    - pdf_write_cid_system_info_to_stream
    - s_init
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdf_write_cmap(gx_device_pdf *pdev, const gs_cmap_t *pcmap,\n
      \              pdf_resource_t **ppres /*CMap*/, int font_index_only)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_cid_systemInfo_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:865,1
    - Dst: pdf_begin_data_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:872,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:882,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:885,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:886,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:889,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:893,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:894,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c:896,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 854
    functionDepth: 7
    functionLinenumber: 854
    functionLinenumberEnd: 897
    functionName: pdf_write_OneByteIdentityH
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtw.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - cos_dict_put_string_copy
    - stream_putc
    - gs_sprintf
    - pdf_begin_data_stream
    - pdf_write_cid_systemInfo_separate
    - pdf_end_data
    linkageType: ''
    returnType: int
    signature: int pdf_write_OneByteIdentityH(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type1*::data::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pbfont
    - glyph
    - pgd
    - ppfont
    argTypes:
    - gs_font_base*
    - gs_glyph
    - gs_glyph_data_t*
    - gs_font_type1**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 48
    functionName: psf_type1_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::glyph_data
    linkageType: ''
    returnType: int
    signature: "int psf_type1_glyph_data(gs_font_base *pbfont, gs_glyph glyph,\n                     gs_glyph_data_t
      *pgd, gs_font_type1 **ppfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psf_get_outline_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pglyphs
    - pfont
    - subset_glyphs
    - subset_size
    argTypes:
    - psf_outline_glyphs_t*
    - gs_font_type1*
    - gs_glyph*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: psf_get_type1_glyphs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 1
    functionsReached:
    - psf_get_outline_glyphs
    linkageType: ''
    returnType: int
    signature: "int psf_get_type1_glyphs(psf_outline_glyphs_t *pglyphs, gs_font_type1
      *pfont,\n                     gs_glyph *subset_glyphs, uint subset_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - key
    - values
    - count
    argTypes:
    - gs_param_list*
    - char*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: write_float_array
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 5
    functionsReached:
    - param_write_float_array
    linkageType: ''
    returnType: int
    signature: "int write_float_array(gs_param_list *plist, const char *key, const
      float *values,\n                  int count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:80,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:81,1
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:82,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:83,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:85,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:87,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:87,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - s
    - puid
    argTypes:
    - stream*
    - gs_uid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: write_uid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - uid_is_UniqueID
    - uid_XUID_values
    - pprintld1
    - uid_is_XUID
    - uid_XUID_size
    linkageType: ''
    returnType: void
    signature: void write_uid(stream *s, const gs_uid *puid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:103,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:106,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:108,1
    - Dst: process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:117,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:118,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:120,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:124,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:125,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - s
    - pfont
    - alt_font_name
    - as_name
    argTypes:
    - stream*
    - gs_font_type1*
    - gs_const_string*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 128
    functionName: write_font_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - process
    - stream_write
    - memchr
    - stream_putc
    linkageType: ''
    returnType: void
    signature: "void write_font_name(stream *s, const gs_font_type1 *pfont,\n                const
      gs_const_string *alt_font_name, bool as_name)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:137,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:140,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:145,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:151,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:152,1
    - Dst: psf_sorted_glyphs_include
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:165,1
    - Dst: gs_font_type1*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:170,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:173,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:174,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:175,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:178,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:181,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - s
    - pfont
    - options
    - subset_glyphs
    - subset_size
    - notdef
    argTypes:
    - stream*
    - gs_font_type1*
    - int
    - gs_glyph*
    - uint
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 133
    functionDepth: 2
    functionLinenumber: 133
    functionLinenumberEnd: 183
    functionName: write_Encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - gs_font_type1*::procs::glyph_name
    - stream_write
    - psf_sorted_glyphs_include
    - pprintd1
    linkageType: ''
    returnType: int
    signature: "int write_Encoding(stream *s, gs_font_type1 *pfont, int options,\n
      \             gs_glyph *subset_glyphs, uint subset_size, gs_glyph notdef)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:192,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - dest
    - value
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: WriteNumber
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: int
    signature: int WriteNumber (byte *dest, int value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:240,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:241,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:253,1
    - Dst: gs_type1_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:308,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 2
    argNames:
    - gdata
    - pfont
    argTypes:
    - gs_glyph_data_t*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 310
    functionName: CheckSubrForMM
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - return_error
    - memset
    - gs_type1_decrypt
    - gs_type1_encrypt
    linkageType: ''
    returnType: int
    signature: int CheckSubrForMM (gs_glyph_data_t *gdata, gs_font_type1 *pfont)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:321,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:327,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:354,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:364,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:374,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:384,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:394,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:403,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:419,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:441,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:452,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:454,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:462,1
    - Dst: WriteNumber
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:476,1
    - Dst: gs_type1_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:513,1
    - Dst: gs_type1_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:517,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 176
    argCount: 4
    argNames:
    - gdata
    - pfont
    - stripped
    - SubrsWithMM
    argTypes:
    - gs_glyph_data_t*
    - gs_font_type1*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 520
    functionName: strip_othersubrs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - memset
    - WriteNumber
    - gs_type1_decrypt
    - gs_type1_encrypt
    linkageType: ''
    returnType: int
    signature: int strip_othersubrs(gs_glyph_data_t *gdata, gs_font_type1 *pfont,
      byte *stripped, byte *SubrsWithMM)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: s_init_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:538,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:543,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:544,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:545,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:546,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:550,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:552,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:554,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:556,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:558,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:560,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:562,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:574,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:578,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:582,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:584,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:586,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:588,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:590,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:592,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:594,1
    - Dst: write_float_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:596,1
    - Dst: write_uid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:599,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:600,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:601,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:615,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:620,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:623,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:625,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:630,1
    - Dst: CheckSubrForMM
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:631,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:634,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:644,1
    - Dst: strip_othersubrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:652,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:653,1
    - Dst: strip_othersubrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:654,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:657,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:660,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:661,1
    - Dst: write_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:662,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:663,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:665,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:666,1
    - Dst: write_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:667,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:669,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:671,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:673,1
    - Dst: psf_enumerate_glyphs_begin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:688,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:692,1
    - Dst: gs_type1_data*::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:695,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:698,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:700,1
    - Dst: psf_enumerate_glyphs_reset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:701,1
    - Dst: psf_enumerate_glyphs_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:703,1
    - Dst: gs_type1_data*::procs::glyph_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:706,1
    - Dst: gs_font_type1*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:712,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:715,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:719,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:720,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:725,1
    - Dst: strip_othersubrs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:726,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:729,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:732,1
    - Dst: write_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:733,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:734,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:736,1
    - Dst: write_CharString
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:737,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:740,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:741,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:745,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:749,1
    - Dst: s_release_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:750,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 127
    argCount: 7
    argNames:
    - s
    - pfont
    - subset_glyphs
    - subset_size
    - notdef
    - lenIV
    - ppp
    argTypes:
    - stream*
    - gs_font_type1*
    - gs_glyph*
    - uint
    - gs_glyph
    - int
    - param_printer_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 752
    functionName: write_Private
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 2
    functionsReached:
    - write_CharString
    - gs_alloc_bytes
    - gs_font_type1*::procs::glyph_name
    - gs_type1_data*::procs::glyph_data
    - gs_sprintf
    - psf_enumerate_glyphs_reset
    - strip_othersubrs
    - offset_of
    - s_release_param_printer
    - gs_glyph_data_free
    - s_init_param_printer
    - stream_write
    - pprintd1
    - psf_enumerate_glyphs_begin
    - stream_puts
    - gs_free_object
    - psf_enumerate_glyphs_next
    - gs_type1_data*::procs::subr_data
    - gs_param_write_items
    - param_write_int
    - write_float_array
    - CheckSubrForMM
    - write_uid
    linkageType: ''
    returnType: int
    signature: "int write_Private(stream *s, gs_font_type1 *pfont,\n              gs_glyph
      *subset_glyphs, uint subset_size,\n              gs_glyph notdef, int lenIV,\n
      \             int (*write_CharString)(stream *, const void *, uint),\n              const
      param_printer_params_t *ppp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:765,1
    - Dst: gs_type1_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:766,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - s
    - ptr
    - count
    argTypes:
    - stream*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 770
    functionName: stream_write_encrypted
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - stream_write
    - min
    - gs_type1_encrypt
    linkageType: ''
    returnType: int
    signature: int stream_write_encrypted(stream *s, const void *ptr, uint count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:778,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:779,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - s
    - key
    - pvalue
    - do_write
    argTypes:
    - stream*
    - char*
    - gs_const_string*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: write_font_info
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - s_write_ps_string
    - pprints1
    linkageType: ''
    returnType: void
    signature: "void write_font_info(stream *s, const char *key, const gs_const_string
      *pvalue,\n                int do_write)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:791,1
    - Dst: psf_get_type1_glyphs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:804,1
    - Dst: s_init_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:817,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:823,1
    - Dst: write_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:824,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:825,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:829,1
    - Dst: gs_font_type1*::procs::font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:832,1
    - Dst: write_font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:838,1
    - Dst: write_font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:840,1
    - Dst: write_font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:842,1
    - Dst: write_font_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:844,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:848,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:852,1
    - Dst: write_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:853,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:854,1
    - Dst: write_Encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:855,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:859,1
    - Dst: write_uid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:863,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:864,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:870,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:872,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:874,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:878,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:895,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:905,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:906,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:907,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:909,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:910,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:911,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:919,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:920,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:922,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:929,1
    - Dst: write_Private
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:931,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:935,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:938,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:939,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:940,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:941,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:942,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:947,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:948,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:950,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:952,1
    - Dst: s_release_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c:958,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 80
    argCount: 7
    argNames:
    - s
    - pfont
    - options
    - orig_subset_glyphs
    - orig_subset_size
    - alt_font_name
    - lengths
    argTypes:
    - stream*
    - gs_font_type1*
    - int
    - gs_glyph*
    - uint
    - gs_const_string*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 960
    functionName: psf_write_type1_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsf1.c
    functionUses: 1
    functionsReached:
    - write_Private
    - pprintg4
    - offset_of
    - psf_get_type1_glyphs
    - s_release_param_printer
    - s_init_state
    - stell
    - s_init_param_printer
    - stream_puts
    - pprintg6
    - gs_param_write_items
    - s_init_filter
    - write_font_info
    - s_init
    - s_close_filters
    - gs_font_type1*::procs::font_info
    - write_Encoding
    - write_font_name
    - write_uid
    linkageType: ''
    returnType: int
    signature: "int psf_write_type1_font(stream *s, gs_font_type1 *pfont, int options,\n
      \                     gs_glyph *orig_subset_glyphs, uint orig_subset_size,\n
      \                     const gs_const_string *alt_font_name, int lengths[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: private_st_pdf_encoding1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_encoding1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: private_st_pdf_encoding_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_encoding_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 173
    functionName: private_st_pdf_base_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_base_font()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: public_st_pdf_font_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pdf_font_resource()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: private_st_pdf_standard_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_standard_font()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 331
    functionName: private_st_pdf_standard_font_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_standard_font_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: private_st_pdf_outline_fonts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_outline_fonts()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dname
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: xps_device_body
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xps_device_body(dname, depth)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:377,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:379,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:381,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:384,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:397,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:398,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:399,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:405,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:413,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - xps_dev
    - filename
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 422
    functionName: zip_new_info_node
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_debug_c
    - gs_alloc_bytes
    - strlen
    - strcpy
    - if_debug2m
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: int zip_new_info_node(gx_device_xps *xps_dev, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zip_new_info_node
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:428,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - xps_dev
    - filename
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: zip_add_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_throw_code
    - zip_new_info_node
    linkageType: ''
    returnType: int
    signature: int zip_add_file(gx_device_xps *xps_dev, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - xps_dev
    - filename
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 445
    functionName: zip_look_up_file_info
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: gx_device_xps_zinfo_t
    signature: 'gx_device_xps_zinfo_t *

      zip_look_up_file_info(gx_device_xps *xps_dev, const char *filename)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:457,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:462,1
    - Dst: gp_open_scratch_file_rm
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:465,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:467,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:474,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:476,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:478,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - mem
    - info
    - data
    - len
    argTypes:
    - gs_memory_t*
    - gx_device_xps_zinfo_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 486
    functionName: zip_append_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_open_scratch_file_rm
    - gp_fflush
    - gs_alloc_bytes
    - gp_fclose
    - gs_throw_code
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int zip_append_data(gs_memory_t *mem, gx_device_xps_zinfo_t *info,
      byte *data, uint len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:496,1
    - Dst: zip_add_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:502,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:504,1
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:505,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:509,1
    - Dst: zip_append_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:511,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:513,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - xps_dev
    - filename
    - data
    - len
    argTypes:
    - gx_device_xps*
    - char*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 516
    functionName: write_to_zip_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - zip_look_up_file_info
    - zip_append_data
    - gs_rethrow_code
    - zip_add_file
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: "int write_to_zip_file(gx_device_xps *xps_dev, const char *filename,\n
      \                 byte *data, uint len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - zs
    - buf
    - len
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: put_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 14
    functionsReached:
    - sputs
    linkageType: ''
    returnType: void
    signature: void put_bytes(stream *zs, byte *buf, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:529,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:530,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:531,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zs
    - l
    argTypes:
    - stream*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 533
    functionName: put_u32
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 3
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void put_u32(stream *zs, unsigned long l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:538,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zs
    - s
    argTypes:
    - stream*
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 535
    functionDepth: 1
    functionLinenumber: 535
    functionLinenumberEnd: 540
    functionName: put_u16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 8
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void put_u16(stream *zs, ushort s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 548
    functionName: make_dos_date
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort make_dos_date(uint year, uint month, uint day)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hour
    - min
    - sec
    argTypes:
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 555
    functionName: make_dos_time
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ushort
    signature: ushort make_dos_time(uint hour, uint min, uint sec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:562,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - xps_dev
    - filename
    - str
    argTypes:
    - gx_device_xps*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 4
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: write_str_to_zip_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - write_to_zip_file
    - strlen
    linkageType: ''
    returnType: int
    signature: "int write_str_to_zip_file(gx_device_xps *xps_dev, const char *filename,\n
      \                     const char *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:569,1
    - Dst: zip_add_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:578,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:580,1
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:581,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:584,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:587,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:590,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:591,1
    - Dst: make_dos_date
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:593,1
    - Dst: make_dos_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:594,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:596,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:597,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:598,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:599,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:600,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:601,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:602,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:603,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:604,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:605,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:605,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:606,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:607,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:607,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:608,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 37
    argCount: 4
    argNames:
    - xps_dev
    - filename
    - buf
    - size
    argTypes:
    - gx_device_xps*
    - char*
    - byte*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 621
    functionName: add_data_to_zip_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - stell
    - zip_look_up_file_info
    - gs_rethrow_code
    - strlen
    - put_u32
    - make_dos_date
    - zip_add_file
    - crc32
    - put_u16
    - make_dos_time
    - gs_throw_code
    - put_bytes
    linkageType: ''
    returnType: int
    signature: int add_data_to_zip_file(gx_device_xps *xps_dev, const char *filename,
      byte *buf, long size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:628,1
    - Dst: zip_add_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:640,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:642,1
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:643,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:646,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:650,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:653,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:654,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:657,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:659,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:660,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:662,1
    - Dst: make_dos_date
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:665,1
    - Dst: make_dos_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:666,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:668,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:669,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:670,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:671,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:672,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:673,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:674,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:675,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:676,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:677,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:677,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:678,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:679,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:679,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:681,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:682,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:683,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:684,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:685,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:688,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 3
    argNames:
    - xps_dev
    - filename
    - src
    argTypes:
    - gx_device_xps*
    - char*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 700
    functionName: add_file_to_zip_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_feof
    - stell
    - zip_look_up_file_info
    - gs_rethrow_code
    - strlen
    - gp_fread
    - put_u32
    - gp_fseek
    - zip_add_file
    - crc32
    - make_dos_date
    - put_u16
    - make_dos_time
    - gs_throw_code
    - put_bytes
    linkageType: ''
    returnType: int
    signature: int add_file_to_zip_file(gx_device_xps *xps_dev, const char *filename,
      gp_file *src)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: zip_look_up_file_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:707,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:729,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:731,1
    - Dst: gp_rewind
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:732,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:733,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:734,1
    - Dst: crc32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:735,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:742,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:743,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:750,1
    - Dst: make_dos_date
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:755,1
    - Dst: make_dos_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:756,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:758,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:759,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:760,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:761,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:762,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:763,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:764,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:765,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:766,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:767,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:767,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:768,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:769,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:769,1
    - Dst: gp_rewind
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:772,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:773,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:774,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:775,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:777,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:779,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - xps_dev
    - filename
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 784
    functionName: zip_close_archive_file
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_feof
    - gp_rewind
    - zip_look_up_file_info
    - stell
    - strlen
    - gp_fread
    - strncmp
    - put_u32
    - gp_fclose
    - make_dos_date
    - crc32
    - put_u16
    - make_dos_time
    - gs_throw_code
    - put_bytes
    linkageType: ''
    returnType: int
    signature: int zip_close_archive_file(gx_device_xps *xps_dev, const char *filename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zip_close_archive_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:793,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - xps_dev
    argTypes:
    - gx_device_xps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 2
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: zip_close_all_archive_files
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - zip_close_archive_file
    linkageType: ''
    returnType: int
    signature: int zip_close_all_archive_files(gx_device_xps *xps_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zip_close_all_archive_files
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:814,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:816,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:823,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:824,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:825,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:826,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:827,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:828,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:829,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:830,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:831,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:832,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:833,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:833,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:837,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:838,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:839,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:840,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:841,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:843,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:844,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:844,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:846,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:847,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:853,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:855,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:856,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:857,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:858,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:859,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:860,1
    - Dst: put_u32
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:861,1
    - Dst: put_u16
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:862,1
    - Dst: put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:863,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 1
    argNames:
    - xps_dev
    argTypes:
    - gx_device_xps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 804
    functionDepth: 3
    functionLinenumber: 804
    functionLinenumberEnd: 866
    functionName: zip_close_archive
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - zip_close_all_archive_files
    - stell
    - strlen
    - put_u32
    - put_u16
    - put_bytes
    linkageType: ''
    returnType: int
    signature: int zip_close_archive(gx_device_xps *xps_dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xps
    - type
    argTypes:
    - gx_device_xps*
    - xps_brush_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 875
    functionName: xps_setstrokebrush
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: void
    signature: void xps_setstrokebrush(gx_device_xps *xps, xps_brush_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - xps
    - type
    argTypes:
    - gx_device_xps*
    - xps_brush_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 883
    functionName: xps_setfillbrush
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: void
    signature: void xps_setfillbrush(gx_device_xps *xps, xps_brush_t type)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:895,1
    - Dst: gdev_vector_open_file_options
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:896,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:899,1
    - Dst: xps_setstrokebrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:914,1
    - Dst: xps_setfillbrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:915,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:933,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:936,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:938,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:941,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:943,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:947,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:950,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:952,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:954,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:956,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 886
    functionDepth: 5
    functionLinenumber: 886
    functionLinenumberEnd: 959
    functionName: xps_open_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - xps_setfillbrush
    - gdev_vector_open_file_options
    - gs_rethrow_code
    - xps_setstrokebrush
    - gdev_vector_init
    - write_str_to_zip_file
    linkageType: ''
    returnType: int
    signature: int xps_open_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:969,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:971,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - xps
    - str
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 962
    functionDepth: 5
    functionLinenumber: 962
    functionLinenumberEnd: 974
    functionName: write_str_to_current_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - gs_rethrow_code
    - write_str_to_zip_file
    linkageType: ''
    returnType: int
    signature: int write_str_to_current_page(gx_device_xps *xps, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:985,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:987,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:991,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:995,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:999,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - xps
    - str
    argTypes:
    - gx_device_xps*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 977
    functionDepth: 5
    functionLinenumber: 977
    functionLinenumberEnd: 1000
    functionName: add_new_relationship
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - gs_rethrow_code
    - write_str_to_zip_file
    linkageType: ''
    returnType: int
    signature: int add_new_relationship(gx_device_xps *xps, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1008,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1010,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - xps
    argTypes:
    - gx_device_xps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1002
    functionDepth: 5
    functionLinenumber: 1002
    functionLinenumberEnd: 1014
    functionName: close_page_relationship
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - gs_rethrow_code
    - write_str_to_zip_file
    linkageType: ''
    returnType: int
    signature: int close_page_relationship(gx_device_xps *xps)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1026,1
    - Dst: close_page_relationship
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1030,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1032,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1037,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1038,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1040,1
    - Dst: gx_outputfile_is_separate_pages
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1045,1
    - Dst: xps_close_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1046,1
    - Dst: xps_open_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1048,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1051,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1019
    functionDepth: 6
    functionLinenumber: 1019
    functionLinenumberEnd: 1055
    functionName: xps_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - xps_close_device
    - if_debug1m
    - gs_rethrow_code
    - gp_ferror
    - xps_open_device
    - close_page_relationship
    - write_str_to_current_page
    - gx_outputfile_is_separate_pages
    - gx_finish_output_page
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: int xps_output_page(gx_device *dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1071
    functionName: xps_release_icc_info
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void xps_release_icc_info(gx_device *dev)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1081,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1083,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1085,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1086,1
    - Dst: zip_close_archive
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1088,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1090,1
    - Dst: xps_release_icc_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1093,1
    - Dst: gdev_vector_close_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1095,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1097,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1099,1
    - Dst: gp_xpsprint
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1101,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1107,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1110,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1113,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1116,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1119,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1122,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1125,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1128,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1131,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1134,1
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1137,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1140,1
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1143,1
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1147,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1150,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1074
    functionDepth: 5
    functionLinenumber: 1074
    functionLinenumberEnd: 1154
    functionName: xps_close_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 1
    functionsReached:
    - eprintf
    - eprintf1
    - gs_rethrow_code
    - gp_ferror
    - strlen
    - gp_xpsprint
    - gs_throw_code
    - gdev_vector_close_file
    - write_str_to_zip_file
    - xps_release_icc_info
    - zip_close_archive
    linkageType: ''
    returnType: int
    signature: int xps_close_device(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1162,1
    - Dst: gdev_vector_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1165,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1167,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1176,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1157
    functionDepth: 1
    functionLinenumber: 1157
    functionLinenumberEnd: 1183
    functionName: xps_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - gdev_vector_get_params
    - gs_rethrow_code
    - strlen
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int xps_get_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1191,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1200,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1203,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1205,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1210,1
    - Dst: gdev_vector_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1218,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1221
    functionName: xps_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    - gdev_vector_put_params
    - eprintf1
    - memcpy
    - param_signal_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int xps_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1229
    functionName: xps_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int xps_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1237,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1241,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1242,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - vdev
    - pdc
    - color
    argTypes:
    - gx_device_vector*
    - gx_drawing_color*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1247
    functionName: set_state_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pure
    - return_error
    - gx_dc_pure_color
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int set_state_color(gx_device_vector *vdev, const gx_drawing_color
      *pdc, gx_color_index *color)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1254,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1254,1
    - Dst: set_state_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1249
    functionDepth: 2
    functionLinenumber: 1249
    functionLinenumberEnd: 1257
    functionName: xps_setfillcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gx_dc_pure_color
    - set_state_color
    linkageType: ''
    returnType: int
    signature: int xps_setfillcolor(gx_device_vector *vdev, const gs_gstate *pgs,
      const gx_drawing_color *pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1264,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1264,1
    - Dst: set_state_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1267
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1267
    functionName: xps_setstrokecolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gx_dc_pure_color
    - set_state_color
    linkageType: ''
    returnType: int
    signature: int xps_setstrokecolor(gx_device_vector *vdev, const gs_gstate *pgs,
      const gx_drawing_color *pdc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1277,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1282,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1284,1
    - Dst: write_str_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1287,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1289,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1296,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1300,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1301,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1303,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1307,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1311,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1313,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1315,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1324
      start: 1269
    functionDepth: 6
    functionLinenumber: 1269
    functionLinenumberEnd: 1324
    functionName: xps_beginpage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_rethrow_code
    - gs_sprintf
    - write_str_to_current_page
    - if_debug4m
    - write_str_to_zip_file
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int xps_beginpage(gx_device_vector *vdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdev
    - width
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1336
    functionName: xps_setlinewidth
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: int
    signature: int xps_setlinewidth(gx_device_vector *vdev, double width)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1348,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vdev
    - cap
    argTypes:
    - gx_device_vector*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1354
    functionName: xps_setlinecap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: int xps_setlinecap(gx_device_vector *vdev, gs_line_cap cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1366,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - vdev
    - join
    argTypes:
    - gx_device_vector*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1372
    functionName: xps_setlinejoin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: int xps_setlinejoin(gx_device_vector *vdev, gs_line_join join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdev
    - limit
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1378
    functionName: xps_setmiterlimit
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: int
    signature: int xps_setmiterlimit(gx_device_vector *vdev, double limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - vdev
    - pattern
    - count
    - offset
    argTypes:
    - gx_device_vector*
    - float*
    - uint
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1379
    functionDepth: 1
    functionLinenumber: 1379
    functionLinenumberEnd: 1387
    functionName: xps_setdash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int xps_setdash(gx_device_vector *vdev, const float *pattern,\n            uint
      count, double offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdev
    - lop
    - diff
    argTypes:
    - gx_device_vector*
    - gs_logical_operation_t
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1396
    functionName: xps_setlogop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int xps_setlogop(gx_device_vector *vdev, gs_logical_operation_t lop,\n
      \            gs_logical_operation_t diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1406
    functionName: xps_can_handle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int xps_can_handle_hl_color(gx_device_vector *vdev, const gs_gstate
      *pgs,\n                          const gx_drawing_color *pdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path_type
    - brush_type
    argTypes:
    - gx_path_type_t
    - xps_brush_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1409
    functionDepth: 0
    functionLinenumber: 1409
    functionLinenumberEnd: 1413
    functionName: image_brush_fill
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool image_brush_fill(gx_path_type_t path_type, xps_brush_t brush_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: image_brush_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - path_type
    - brush_type
    argTypes:
    - gx_path_type_t
    - xps_brush_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1420
    functionName: drawing_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - image_brush_fill
    linkageType: ''
    returnType: bool
    signature: bool drawing_path(gx_path_type_t path_type, xps_brush_t brush_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1436,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1437,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1439,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1442,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1446,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1449,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1451,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1452,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1453,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1454,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1422
    functionDepth: 6
    functionLinenumber: 1422
    functionLinenumberEnd: 1457
    functionName: xps_finish_image_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - write_str_to_current_page
    linkageType: ''
    returnType: void
    signature: void xps_finish_image_path(gx_device_vector *vdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1468,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1470,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1472,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1472,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1473,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1473,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1474,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1474,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1475,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1475,1
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1479,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1480,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1485,1
    - Dst: image_brush_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1488,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1491,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1492,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1492,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1493,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1493,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1494,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1494,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1495,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1495,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1496,1
    - Dst: xps_finish_image_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1498,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1501,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1505,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1506,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1506,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1507,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1507,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1508,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1509,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1510,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1513,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1516,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1517,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1517,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1518,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1518,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1519,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1520,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1525,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1526,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1528,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - type
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1459
    functionDepth: 7
    functionLinenumber: 1459
    functionLinenumberEnd: 1532
    functionName: xps_dorect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - drawing_path
    - gs_sprintf
    - write_str_to_current_page
    - image_brush_fill
    - return_error
    - xps_finish_image_path
    - if_debug9m
    - gdev_vector_stream
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int xps_dorect(gx_device_vector *vdev, fixed x0, fixed y0,\n           fixed
      x1, fixed y1, gx_path_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1539,1
    - Dst: gdev_vector_fill_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1543
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1543
    functionName: gdev_xps_fill_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gx_path_is_void
    - gdev_vector_fill_path
    linkageType: ''
    returnType: int
    signature: "int gdev_xps_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                   const gx_fill_params * params,\n                   const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1550,1
    - Dst: gdev_vector_stroke_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1553,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1545
    functionDepth: 1
    functionLinenumber: 1545
    functionLinenumberEnd: 1554
    functionName: gdev_xps_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gdev_vector_stroke_path
    - gx_path_is_void
    linkageType: ''
    returnType: int
    signature: "int gdev_xps_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                     const gx_stroke_params * params,\n                     const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1564,1
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1567,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1568,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1573,1
    - Dst: image_brush_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1579,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1580,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1585,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1586,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1589,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1592,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1595
      start: 1556
    functionDepth: 6
    functionLinenumber: 1556
    functionLinenumberEnd: 1595
    functionName: xps_beginpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - drawing_path
    - gs_sprintf
    - write_str_to_current_page
    - image_brush_fill
    - return_error
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int xps_beginpath(gx_device_vector *vdev, gx_path_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1604,1
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1607,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1608,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1612,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1613,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1616
      start: 1597
    functionDepth: 6
    functionLinenumber: 1597
    functionLinenumberEnd: 1616
    functionName: xps_moveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - drawing_path
    - gs_sprintf
    - write_str_to_current_page
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int xps_moveto(gx_device_vector *vdev, double x0, double y0,\n           double
      x, double y, gx_path_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1625,1
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1628,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1629,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1632,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1633,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1618
    functionDepth: 6
    functionLinenumber: 1618
    functionLinenumberEnd: 1636
    functionName: xps_lineto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - drawing_path
    - gs_sprintf
    - write_str_to_current_page
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int xps_lineto(gx_device_vector *vdev, double x0, double y0,\n           double
      x, double y, gx_path_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1647,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1648,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1652,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1654,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 10
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1638
    functionDepth: 6
    functionLinenumber: 1638
    functionLinenumberEnd: 1658
    functionName: xps_curveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - write_str_to_current_page
    - drawing_path
    - if_debug1m
    linkageType: ''
    returnType: int
    signature: "int xps_curveto(gx_device_vector *vdev, double x0, double y0,\n            double
      x1, double y1, double x2, double y2,\n            double x3, double y3, gx_path_type_t
      type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1667,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1668,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1672,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - vdev
    - x
    - y
    - x_start
    - y_start
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1660
    functionDepth: 6
    functionLinenumber: 1660
    functionLinenumberEnd: 1676
    functionName: xps_closepath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - write_str_to_current_page
    - drawing_path
    - if_debug1m
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int xps_closepath(gx_device_vector *vdev, double x, double y,\n              double
      x_start, double y_start, gx_path_type_t type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: drawing_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1686,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1687,1
    - Dst: image_brush_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1691,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1692,1
    - Dst: xps_finish_image_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1694,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1698,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1699,1
    - Dst: write_str_to_current_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1678
    functionDepth: 7
    functionLinenumber: 1678
    functionLinenumberEnd: 1706
    functionName: xps_endpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - drawing_path
    - gs_sprintf
    - write_str_to_current_page
    - image_brush_fill
    - xps_finish_image_path
    linkageType: ''
    returnType: int
    signature: int xps_endpath(gx_device_vector *vdev, gx_path_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - xdev
    - icc_profile
    argTypes:
    - gx_device_xps*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1736
    functionName: xps_find_icc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gsicc_get_hash
    linkageType: ''
    returnType: xps_icc_data_t
    signature: 'xps_icc_data_t *

      xps_find_icc(const gx_device_xps *xdev, cmm_profile_t *icc_profile)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xps_find_icc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1743,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1745,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - xps_dev
    - profile
    - name
    argTypes:
    - gx_device_xps*
    - cmm_profile_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1749
    functionName: xps_create_icc_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - snprintf
    - xps_find_icc
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: int xps_create_icc_name(const gx_device_xps *xps_dev, cmm_profile_t
      *profile, char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - name
    argTypes:
    - gx_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1751
    functionDepth: 0
    functionLinenumber: 1751
    functionLinenumberEnd: 1758
    functionName: xps_create_image_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - snprintf
    linkageType: ''
    returnType: void
    signature: void xps_create_image_name(gx_device *dev, char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_new_relationship
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1766,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pie
    argTypes:
    - xps_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1760
    functionDepth: 6
    functionLinenumber: 1760
    functionLinenumberEnd: 1771
    functionName: xps_add_icc_relationship
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_rethrow_code
    - add_new_relationship
    linkageType: ''
    returnType: int
    signature: int xps_add_icc_relationship(xps_image_enum_t *pie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_new_relationship
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1779,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1781,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pie
    argTypes:
    - xps_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1773
    functionDepth: 6
    functionLinenumber: 1773
    functionLinenumberEnd: 1783
    functionName: xps_add_image_relationship
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_rethrow_code
    - add_new_relationship
    linkageType: ''
    returnType: int
    signature: int xps_add_image_relationship(xps_image_enum_t *pie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_getv2buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1792,1
    - Dst: add_data_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pgs
    - name
    - profile
    - xps_dev
    argTypes:
    - gs_gstate*
    - char*
    - cmm_profile_t*
    - gx_device_xps*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1796
      start: 1785
    functionDepth: 4
    functionLinenumber: 1785
    functionLinenumberEnd: 1796
    functionName: xps_write_profile
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gsicc_create_getv2buffer
    - add_data_to_zip_file
    linkageType: ''
    returnType: int
    signature: int xps_write_profile(const gs_gstate *pgs, char *name, cmm_profile_t
      *profile, gx_device_xps *xps_dev)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1828,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1838,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1841,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1841,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1843,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1846,1
    - Dst: xps_setstrokebrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1852,1
    - Dst: xps_setfillbrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1853,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1868,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1869,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1877,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1882,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1902,1
    - Dst: xps_find_icc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1911,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1912,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1915,1
    - Dst: gsicc_get_hash
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1919,1
    - Dst: xps_create_icc_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1932,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1934,1
    - Dst: xps_write_profile
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1940,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1942,1
    - Dst: xps_add_icc_relationship
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1945,1
    - Dst: xps_create_icc_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1948,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1950,1
    - Dst: xps_create_image_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1954,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1960,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1961,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1962,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1964,1
    - Dst: gdev_vector_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1976,1
    - Dst: tiff_from_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1982,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1983,1
    - Dst: xps_tiff_set_handlers
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1987,1
    - Dst: tiff_set_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1988,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1990,1
    - Dst: TIFFCheckpointDirectory
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1991,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1993,1
    - Dst: get_unpack_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:1999,1
    - Dst: get_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2012,1
    - Dst: get_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2014,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2019,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2021,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2023,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2031,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2033,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2035,1
    - Dst: gx_default_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2045,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 157
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 1798
    functionDepth: 7
    functionLinenumber: 1798
    functionLinenumberEnd: 2047
    functionName: xps_begin_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_color_space_is_PSCIE
    - gs_alloc_bytes
    - tiff_set_values
    - TIFFCheckpointDirectory
    - gs_rethrow_code
    - xps_setstrokebrush
    - gx_default_begin_image
    - xps_create_image_name
    - gsicc_get_link_profile
    - gs_matrix_multiply
    - gs_color_space_get_index
    - get_map
    - get_unpack_proc
    - rc_increment
    - ctm_only
    - xps_find_icc
    - xps_create_icc_name
    - gs_matrix_invert
    - gs_free_object
    - gs_colorspace_set_icc_equivalent
    - gs_throw
    - gdev_vector_begin_image
    - xps_add_icc_relationship
    - tiff_from_name
    - xps_write_profile
    - dev_proc
    - gsicc_get_hash
    - xps_setfillbrush
    - gx_cpath_init_local
    - gx_cpath_from_rectangle
    - xps_tiff_set_handlers
    - gs_color_space_num_components
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int xps_begin_image(gx_device *dev, const gs_gstate *pgs, \n                const
      gs_image_t *pim, gs_image_format_t format, \n                const gs_int_rect
      *prect, const gx_drawing_color *pdcolor,\n                const gx_clip_path
      *pcpath, gs_memory_t *mem,\n                gx_image_enum_common_t **pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2064,1
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2067,1
    - Dst: remap_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2082,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2083,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2091,1
    - Dst: remap_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2097,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2098,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - pie
    argTypes:
    - xps_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2105
    functionName: set_device_colors
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - cs_proc_remap_color
    - remap_color
    - gs_color_space_num_components
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int set_device_colors(xps_image_enum_t *pie)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2126,1
    - Dst: xps_image_enum_t*::decode_st::applymap
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2152,1
    - Dst: set_device_colors
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2158,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2160,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2170,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2173,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2181,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2187
      start: 2108
    functionDepth: 2
    functionLinenumber: 2108
    functionLinenumberEnd: 2187
    functionName: xps_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - xps_image_enum_t*::decode_st::applymap
    - gs_rethrow_code
    - gsicc_init_buffer
    - set_device_colors
    - return_error
    - TIFFWriteScanline
    linkageType: ''
    returnType: int
    signature: 'int xps_image_data(gx_image_enum_common_t *info,

      const gx_image_plane_t *planes, int height, int *rows_used)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_file_to_zip_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2195,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pie
    argTypes:
    - xps_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2189
    functionDepth: 4
    functionLinenumber: 2189
    functionLinenumberEnd: 2198
    functionName: xps_add_tiff_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - add_file_to_zip_file
    linkageType: ''
    returnType: int
    signature: int xps_add_tiff_image(xps_image_enum_t *pie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2209,1
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2210,1
    - Dst: xps_add_tiff_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2213,1
    - Dst: xps_setstrokebrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2218,1
    - Dst: xps_setfillbrush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2219,1
    - Dst: xps_add_image_relationship
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2201
    functionDepth: 7
    functionLinenumber: 2201
    functionLinenumberEnd: 2226
    functionName: xps_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - xps_setfillbrush
    - TIFFCleanup
    - xps_setstrokebrush
    - xps_add_image_relationship
    - TIFFWriteDirectory
    - xps_add_tiff_image
    linkageType: ''
    returnType: int
    signature: int xps_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2241,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2242,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2243,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2244,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2245,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2246,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2247,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2248,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2249,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2255,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2256,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2257,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2264,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2265,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2266,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2272,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2273,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2274,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2277,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - pie
    - tif
    - profile
    - force8bit
    argTypes:
    - xps_image_enum_t*
    - TIFF*
    - cmm_profile_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2280
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2280
    functionName: tiff_set_values
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    - gs_throw_code
    linkageType: ''
    returnType: int
    signature: "int tiff_set_values(xps_image_enum_t *pie, TIFF *tif, cmm_profile_t
      *profile,\n                bool force8bit)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2303,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2305,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2307,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2308,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2312
      start: 2290
    functionDepth: 1
    functionLinenumber: 2290
    functionLinenumberEnd: 2312
    functionName: xps_tifsWriteProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - gs_rethrow_code
    - gp_fclose
    - gs_throw_code
    - gp_fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t xps_tifsWriteProc(thandle_t fd, void* buf, size_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2331,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2334,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - fd
    - 'off'
    - origin
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2335
    functionName: xps_tifsSeekProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gp_fseek
    - gp_ftell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xps_tifsSeekProc(thandle_t fd, uint64_t off, int origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2346
    functionName: xps_tifsCloseProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: int
    signature: int xps_tifsCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2355
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2355
    functionName: xps_tifsDummyMapProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int xps_tifsDummyMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2363
      start: 2357
    functionDepth: 0
    functionLinenumber: 2357
    functionLinenumberEnd: 2363
    functionName: xps_tifsDummyUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xps_tifsDummyUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2365
    functionDepth: 0
    functionLinenumber: 2365
    functionLinenumberEnd: 2374
    functionName: xps_tifsReadProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t xps_tifsReadProc(thandle_t fd, void* buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2384
    functionName: xps_tifsSizeProc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t xps_tifsSizeProc(thandle_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2395,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2397,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2398,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - client_data
    - module
    - fmt
    - ap
    argTypes:
    - thandle_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2386
    functionDepth: 1
    functionLinenumber: 2386
    functionLinenumberEnd: 2403
    functionName: xps_tifsWarningHandlerEx
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: "void xps_tifsWarningHandlerEx(thandle_t client_data, const char *module,
      \n                         const char *fmt, va_list ap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2415,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2417,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2418,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2421,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2425,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2425,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - client_data
    - module
    - fmt
    - ap
    argTypes:
    - thandle_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2405
    functionDepth: 1
    functionLinenumber: 2405
    functionLinenumberEnd: 2429
    functionName: xps_tifsErrorHandlerEx
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - dmlprintf1
    - vsnprintf
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: "void xps_tifsErrorHandlerEx(thandle_t client_data, const char *module,
      \n                       const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2434,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2435,1
    - Dst: TIFFSetErrorHandlerExt
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2436,1
    - Dst: TIFFSetWarningHandlerExt
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2438
      start: 2431
    functionDepth: 1
    functionLinenumber: 2431
    functionLinenumberEnd: 2438
    functionName: xps_tiff_set_handlers
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 1
    functionsReached:
    - TIFFSetWarningHandler
    - TIFFSetWarningHandlerExt
    - TIFFSetErrorHandlerExt
    - TIFFSetErrorHandler
    linkageType: ''
    returnType: void
    signature: void xps_tiff_set_handlers(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2461,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2468,1
    - Dst: gp_open_scratch_file_rm
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2473,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2476,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2478,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dev
    - name
    - big_endian
    - usebigtiff
    argTypes:
    - gx_device_xps*
    - char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2440
    functionDepth: 1
    functionLinenumber: 2440
    functionLinenumberEnd: 2484
    functionName: tiff_from_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 1
    functionsReached:
    - gp_open_scratch_file_rm
    - gs_alloc_bytes
    - TIFFClientOpen
    - gs_malloc
    - gs_free_object
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      tiff_from_name(gx_device_xps *dev, const char *name, int big_endian, bool usebigtiff)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2494,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2496,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2498,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/devices/vector/gdevxps.c:2502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2504
    functionName: xps_image_enum_finalize
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevxps.c
    functionUses: 0
    functionsReached:
    - gsicc_release_link
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void xps_image_enum_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - s
    - data
    - data_length
    - n
    argTypes:
    - stream*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 51
    functionName: copy_bytes
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 2
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void copy_bytes(stream *s, const byte **data, int *data_length, int
      n)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:62,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:63,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:64,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:65,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:66,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:70,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:74,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:78,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:81,1
    - Dst: copy_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:84,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 3
    argNames:
    - s
    - data
    - data_length
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 91
    functionName: pdf_xml_data_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_putc
    - copy_bytes
    - pprintd1
    linkageType: ''
    returnType: void
    signature: void pdf_xml_data_write(stream *s, const byte *data, int data_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_xml_data_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:97,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: pdf_xml_string_write
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_xml_data_write
    - strlen
    linkageType: ''
    returnType: void
    signature: void pdf_xml_string_write(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:104,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: pdf_xml_tag_open_beg
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_tag_open_beg(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: pdf_xml_tag_end
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_tag_end(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: pdf_xml_tag_end_empty
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void pdf_xml_tag_end_empty(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:126,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:127,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: pdf_xml_tag_open
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_tag_open(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:135,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:136,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 138
    functionName: pdf_xml_tag_close
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_tag_close(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:144,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:145,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: pdf_xml_attribute_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_attribute_name(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:153,1
    - Dst: pdf_xml_string_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:154,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: pdf_xml_attribute_value
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_xml_string_write
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_attribute_value(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:161,1
    - Dst: pdf_xml_data_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:162,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - data
    - data_length
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 164
    functionName: pdf_xml_attribute_value_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_xml_data_write
    - stream_putc
    linkageType: ''
    returnType: void
    signature: void pdf_xml_attribute_value_data(stream *s, const byte *data, int
      data_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:170,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: pdf_xml_ins_beg
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void pdf_xml_ins_beg(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: pdf_xml_ins_end
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void pdf_xml_ins_end(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: pdf_xml_newline
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void pdf_xml_newline(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - s
    - data
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: pdf_xml_copy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void pdf_xml_copy(stream *s, const char *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:206,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:207,1
    - Dst: time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:209,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:210,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:212,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:215,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - buf_length
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 217
    functionName: pdf_xmp_time
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - localtime
    - strlen
    - strncpy
    - gs_sprintf
    - memset
    - time
    linkageType: ''
    returnType: int
    signature: int pdf_xmp_time(char *buf, int buf_length)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:230,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:232,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:233,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:238,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:243,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:248,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:250,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:257,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:268,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:274,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - dt
    - dtl
    - buf
    - bufl
    argTypes:
    - char*
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 276
    functionName: pdf_xmp_convert_time
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pdf_xmp_convert_time(char *dt, int dtl, char *buf, int bufl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:281,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:281,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - pdev
    - key
    - buf
    - buf_length
    argTypes:
    - gx_device_pdf*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: pdf_get_docinfo_item
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 1
    functionsReached:
    - strlen
    - cos_dict_find
    - memcpy
    linkageType: ''
    returnType: int
    signature: int pdf_get_docinfo_item(gx_device_pdf *pdev, const char *key, char
      *buf, int buf_length)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 3
    argNames:
    - data
    - data_length
    - index
    argTypes:
    - byte*
    - int
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 348
    functionName: decode_escape
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte decode_escape(const byte *data, int data_length, size_t *index)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:367,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:375,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:378,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:392,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:408,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 4
    argNames:
    - UTF16
    - UTF16Len
    - UTF8Start
    - UTF8Len
    argTypes:
    - unsigned char*
    - size_t
    - unsigned char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 416
    functionName: gs_ConvertUTF16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gs_ConvertUTF16(unsigned char *UTF16, size_t UTF16Len, unsigned
      char **UTF8Start, int UTF8Len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:428,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:431,1
    - Dst: decode_escape
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:436,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:449,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:452,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:453,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:455,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:459,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:467,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:471,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:482,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:485,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:486,1
    - Dst: gs_ConvertUTF16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:491,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:494,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:496,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - pdev
    - s
    - data
    - data_length
    argTypes:
    - gx_device_pdf*
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 498
    functionName: pdf_xmp_write_translated
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - write
    - decode_escape
    - gs_ConvertUTF16
    - emprintf1
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_xmp_write_translated(gx_device_pdf *pdev, stream *s, const
      byte *data, int data_length,\n                         void(*write)(stream *s,
      const byte *data, int data_length))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:504,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:504,1
    - Dst: pdf_xmp_write_translated
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:509,1
    - Dst: pdf_xmp_write_translated
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:512,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:515,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - s
    - key
    - default_value
    argTypes:
    - gx_device_pdf*
    - stream*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 500
    functionDepth: 2
    functionLinenumber: 500
    functionLinenumberEnd: 518
    functionName: pdf_xmp_write_docinfo_item
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_xmp_write_translated
    - strlen
    - cos_dict_find
    linkageType: ''
    returnType: int
    signature: "int pdf_xmp_write_docinfo_item(gx_device_pdf *pdev, stream *s, const
      char *key, const char *default_value,\n                           void(*write)(stream
      *s, const byte *data, int data_length))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 532
    functionName: pdf_uuid_time
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t pdf_uuid_time(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - p
    - v
    - l
    argTypes:
    - char**
    - ulong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    functionName: writehex
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void writehex(char **p, ulong v, int l)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:551,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:553,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:555,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:557,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:558,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:560,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:561,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:562,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:563,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:564,1
    - Dst: writehex
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:565,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 5
    argNames:
    - node
    - uuid_time
    - time_seq
    - buf
    - buf_length
    argTypes:
    - byte[]
    - uint64_t
    - ulong
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 568
    functionName: pdf_make_uuid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - writehex
    - strncpy
    linkageType: ''
    returnType: void
    signature: void pdf_make_uuid(const byte node[6], uint64_t uuid_time, ulong time_seq,
      char *buf, int buf_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:575,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:577,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:579,1
    - Dst: pdf_make_uuid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:582,1
    - Dst: pdf_uuid_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - digest
    - buf
    - buf_length
    argTypes:
    - gx_device_pdf*
    - byte[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 2
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: pdf_make_instance_uuid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_make_uuid
    - memcpy
    - min
    - pdf_uuid_time
    linkageType: ''
    returnType: int
    signature: int pdf_make_instance_uuid(gx_device_pdf *pdev, const byte digest[6],
      char *buf, int buf_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:591,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:593,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:595,1
    - Dst: pdf_make_uuid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:598,1
    - Dst: pdf_uuid_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pdev
    - digest
    - buf
    - buf_length
    argTypes:
    - gx_device_pdf*
    - byte[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 600
    functionName: pdf_make_document_uuid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_make_uuid
    - memcpy
    - min
    - pdf_uuid_time
    linkageType: ''
    returnType: int
    signature: int pdf_make_document_uuid(gx_device_pdf *pdev, const byte digest[6],
      char *buf, int buf_length)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: pdf_make_instance_uuid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:615,1
    - Dst: pdf_make_document_uuid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:618,1
    - Dst: pdf_get_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:626,1
    - Dst: pdf_xmp_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:628,1
    - Dst: pdf_xmp_convert_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:630,1
    - Dst: pdf_get_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:631,1
    - Dst: pdf_xmp_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:633,1
    - Dst: pdf_xmp_convert_time
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:635,1
    - Dst: pdf_xml_ins_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:637,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:638,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:639,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:640,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:641,1
    - Dst: pdf_xml_ins_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:642,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:643,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:645,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:646,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:649,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:653,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:654,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:655,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:656,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:658,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:659,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:660,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:661,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:662,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:666,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:667,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:669,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:670,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:671,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:675,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:676,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:678,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:679,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:681,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:682,1
    - Dst: pdf_xml_tag_end_empty
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:686,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:687,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:690,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:691,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:692,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:693,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:694,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:696,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:697,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:699,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:700,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:701,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:704,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:705,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:707,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:708,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:709,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:712,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:713,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:714,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:718,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:720,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:721,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:723,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:724,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:725,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:726,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:727,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:728,1
    - Dst: pdf_xml_tag_end_empty
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:729,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:730,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:732,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:733,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:734,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:735,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:736,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:737,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:738,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:740,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:742,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:744,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:745,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:746,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:747,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:749,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:754,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:756,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:758,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:760,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:761,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:766,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:768,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:770,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:775,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:777,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:779,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:781,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:782,1
    - Dst: pdf_xml_tag_open
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:784,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:786,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:787,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:788,1
    - Dst: pdf_xml_tag_end
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:789,1
    - Dst: pdf_xmp_write_docinfo_item
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:791,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:796,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:798,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:800,1
    - Dst: pdf_xml_tag_close
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:803,1
    - Dst: pdf_xml_newline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:804,1
    - Dst: pdf_xml_tag_open_beg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:806,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:807,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:808,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:809,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:810,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:813,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:816,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:819,1
    - Dst: pdf_xml_attribute_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:822,1
    - Dst: pdf_xml_attribute_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:823,1
    - Dst: pdf_xml_tag_end_empty
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:824,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:828,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:830,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:832,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:834,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:835,1
    - Dst: pdf_xml_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:836,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 181
    argCount: 2
    argNames:
    - pdev
    - digest
    argTypes:
    - gx_device_pdf*
    - byte[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 607
    functionDepth: 4
    functionLinenumber: 607
    functionLinenumberEnd: 838
    functionName: pdf_write_document_metadata
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 0
    functionsReached:
    - pdf_xml_attribute_name
    - pdf_xml_attribute_value
    - pdf_xml_tag_end_empty
    - pdf_xml_tag_open
    - pdf_xmp_write_docinfo_item
    - pdf_xml_newline
    - cos_dict_find
    - pdf_xml_ins_end
    - pdf_xml_ins_beg
    - pdf_xml_tag_end
    - pdf_xmp_time
    - pdf_get_docinfo_item
    - pdf_xml_copy
    - pdf_make_instance_uuid
    - pdf_xml_tag_close
    - pdf_xmp_convert_time
    - pdf_xml_tag_open_beg
    - pdf_make_document_uuid
    linkageType: ''
    returnType: int
    signature: int pdf_write_document_metadata(gx_device_pdf *pdev, const byte digest[6])
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:847,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:857,1
    - Dst: s_MD5C_get_digest
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:858,1
    - Dst: pdf_open_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:861,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:864,1
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:866,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:869,1
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:871,1
    - Dst: pdf_write_document_metadata
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:874,1
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:876,1
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:879,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:882,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:885,1
    - Dst: pdf_record_usage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:886,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c:888,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 58
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 840
    functionDepth: 5
    functionLinenumber: 840
    functionLinenumberEnd: 921
    functionName: pdf_document_metadata
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfe.c
    functionUses: 1
    functionsReached:
    - s_MD5C_get_digest
    - pdf_write_document_metadata
    - cos_dict_put_c_key_object
    - pdf_close_aside
    - COS_WRITE_OBJECT
    - gs_sprintf
    - pdf_record_usage
    - pdf_open_aside
    - sflush
    - cos_dict_put_c_key_string
    - cos_dict_find_c_key
    linkageType: ''
    returnType: int
    signature: int pdf_document_metadata(gx_device_pdf *pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:40,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:44,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:52,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:53,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:58,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:58,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:60,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 5
    argNames:
    - pdev
    - pcd
    - prange
    - n
    - clamp
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - gs_range*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 37
    functionDepth: 4
    functionLinenumber: 37
    functionLinenumberEnd: 62
    functionName: pdf_cie_add_ranges
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - COS_OBJECT
    - cos_dict_put_c_key_object
    - cos_array_add_real
    - COS_FREE
    - return_error
    - cos_array_alloc
    linkageType: ''
    returnType: int
    signature: int pdf_cie_add_ranges(gx_device_pdf *pdev, cos_dict_t *pcd, const
      gs_range *prange, int n, bool clamp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:71,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:78,1
    - Dst: gx_psconcretize_CIEA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:93,1
    - Dst: gx_psconcretize_CIEABC
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:96,1
    - Dst: gx_psconcretize_CIEDEF
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:99,1
    - Dst: gx_psconcretize_CIEDEFG
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:102,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:106,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - in
    - out
    - pcs
    - pgs
    - pciec
    argTypes:
    - double*
    - double[]
    - gs_color_space*
    - gs_gstate*
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 126
    functionName: cie_to_xyz
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - gx_psconcretize_CIEA
    - gx_psconcretize_CIEDEFG
    - gs_color_space_num_components
    - gx_psconcretize_CIEDEF
    - memset
    - gx_psconcretize_CIEABC
    linkageType: ''
    returnType: int
    signature: "int cie_to_xyz(const double *in, double out[3], const gs_color_space
      *pcs,\n           const gs_gstate *pgs, const gs_cie_common *pciec)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - v
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: lab_g_inverse
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: double
    signature: double lab_g_inverse(double v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lab_g_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:146,1
    - Dst: lab_g_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:156,1
    - Dst: lab_g_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - xyz
    - lab
    - pciec
    argTypes:
    - double[]
    - double[]
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 158
    functionName: xyz_to_lab
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - lab_g_inverse
    linkageType: ''
    returnType: void
    signature: void xyz_to_lab(const double xyz[3], double lab[3], const gs_cie_common
      *pciec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:170,1
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:172,1
    - Dst: cie_to_xyz
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:184,1
    - Dst: xyz_to_lab
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:187,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:189,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:190,1
    - Dst: gx_cie_to_xyz_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 5
    argNames:
    - range_out
    - pcs
    - pciec
    - ranges
    - mem
    argTypes:
    - gs_range[]
    - gs_color_space*
    - gs_cie_common*
    - gs_range*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 196
    functionName: lab_range
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_alloc
    - max
    - gs_color_space_num_components
    - gx_cie_to_xyz_free
    - min
    - cie_to_xyz
    - xyz_to_lab
    linkageType: ''
    returnType: int
    signature: "int lab_range(gs_range range_out[3] /* only [1] and [2] used */,\n
      \         const gs_color_space *pcs, const gs_cie_common *pciec,\n          const
      gs_range *ranges, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:208,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:208,1
    - Dst: pdf_cie_add_ranges
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pdev
    - pca
    - pcd
    - ranges
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - cos_dict_t*
    - gs_range[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: pdf_put_lab_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - cos_c_string_value
    - cos_array_add
    - pdf_cie_add_ranges
    linkageType: ''
    returnType: int
    signature: "int pdf_put_lab_color_space(gx_device_pdf *pdev, cos_array_t *pca,
      cos_dict_t *pcd,\n                        const gs_range ranges[3] /* only [1]
      and [2] used */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:227,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:228,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:230,1
    - Dst: lab_range
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:231,1
    - Dst: pdf_put_lab_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:232,1
    - Dst: pdf_finish_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:233,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 5
    argNames:
    - pdev
    - pca
    - pcs
    - pciec
    - prange
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - gs_color_space*
    - gs_cie_common*
    - gs_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 217
    functionDepth: 6
    functionLinenumber: 217
    functionLinenumberEnd: 237
    functionName: pdf_convert_cie_to_lab
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - lab_range
    - cos_dict_alloc
    - pdf_finish_cie_space
    - pdf_put_lab_color_space
    - COS_FREE
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_convert_cie_to_lab(gx_device_pdf *pdev, cos_array_t *pca,\n
      \                      const gs_color_space *pcs,\n                       const
      gs_cie_common *pciec, const gs_range *prange)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:268,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:268,1
    - Dst: cos_stream_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:272,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:273,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:278,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:278,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:286,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:292,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:294,1
    - Dst: cos_stream_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:294,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:311,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:311,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:317,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:319,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 42
    argCount: 8
    argNames:
    - pdev
    - pgs
    - pca
    - ncomps
    - prange
    - pcs_alt
    - ppcstrm
    - pprange
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - cos_array_t*
    - int
    - gs_range*
    - gs_color_space*
    - cos_stream_t**
    - gs_range_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 245
    functionDepth: 5
    functionLinenumber: 245
    functionLinenumberEnd: 321
    functionName: pdf_make_iccbased
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pdf_color_space_named
    - cos_stream_dict
    - gs_color_space_get_index
    - cos_array_add
    - cos_dict_put_c_key_int
    - cos_dict_put_c_key
    - COS_OBJECT
    - cos_array_add_object
    - COS_FREE
    - gs_note_error
    - cos_c_string_value
    - cos_stream_alloc
    linkageType: ''
    returnType: int
    signature: "int pdf_make_iccbased(gx_device_pdf *pdev, const gs_gstate * pgs,\n
      \                 cos_array_t *pca, int ncomps,\n                  const gs_range
      *prange /*[4]*/,\n                  const gs_color_space *pcs_alt,\n                  cos_stream_t
      **ppcstrm,\n                  const gs_range_t **pprange /* if scaling is needed
      */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:332,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:333,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - pcstrm
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: pdf_finish_iccbased
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pdf_obj_ref
    - COS_OBJECT
    - cos_write_object
    linkageType: ''
    returnType: int
    signature: int pdf_finish_iccbased(gx_device_pdf *pdev, cos_stream_t *pcstrm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ppnt
    - tag
    - data
    - length
    argTypes:
    - profile_table_t**
    - char*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: add_table
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: profile_table_t
    signature: "profile_table_t *\nadd_table(profile_table_t **ppnt, const char *tag,
      const byte *data,\n          uint length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bytes
    - value
    argTypes:
    - byte[]
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: set_uint32
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_uint32(byte bytes[4], uint value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - bytes
    - value
    argTypes:
    - byte[]
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: set_XYZ
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - set_uint32
    linkageType: ''
    returnType: void
    signature: void set_XYZ(byte bytes[4], double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:382,1
    - Dst: set_XYZ
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:383,1
    - Dst: set_XYZ
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:384,1
    - Dst: set_XYZ
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:385,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:386,1
    - Dst: add_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ppnt
    - tag
    - bytes
    - pv
    argTypes:
    - profile_table_t**
    - char*
    - byte[]
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 387
    functionName: add_table_xyz3
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - DISCARD
    - memcpy
    - set_XYZ
    - add_table
    linkageType: ''
    returnType: void
    signature: "void add_table_xyz3(profile_table_t **ppnt, const char *tag, byte
      bytes[20],\n               const gs_vector3 *pv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - byte*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: set_sample16
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_sample16(byte *p, double v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:410,1
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:411,1
    - Dst: add_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - pdev
    - ppnt
    - tag
    - bytes
    - pciec
    - one_step
    argTypes:
    - gx_device_pdf*
    - profile_table_t**
    - char*
    - byte[]
    - gs_cie_common*
    - cie_cache_one_step_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: add_trc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - set_uint32
    - memcpy
    - add_table
    linkageType: ''
    returnType: profile_table_t
    signature: "profile_table_t *\nadd_trc(gx_device_pdf *pdev, profile_table_t **ppnt,
      const char *tag, byte bytes[12],\n        const gs_cie_common *pciec, cie_cache_one_step_t
      one_step)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pnt
    argTypes:
    - profile_table_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 426
    functionName: rgb_to_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int rgb_to_index(const profile_table_t *pnt)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - i
    - denom
    - range
    argTypes:
    - int
    - int
    - gs_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 437
    functionName: cache_arg
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double cache_arg(int i, int denom, const gs_range_t *range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_to_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:445,1
    - Dst: set_sample16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:452,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:452,1
    - Dst: cache_arg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:452,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pdev
    - pcstrm
    - pnt
    - ignore_mem
    - unused
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - profile_table_t*
    - gs_memory_t*
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 439
    functionDepth: 3
    functionLinenumber: 439
    functionLinenumberEnd: 455
    functionName: write_trc_abc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - set_sample16
    - rgb_to_index
    - cache_arg
    - cos_stream_add_bytes
    - proc
    linkageType: ''
    returnType: int
    signature: "int write_trc_abc(gx_device_pdf *pdev, cos_stream_t *pcstrm, const
      profile_table_t *pnt,\n              gs_memory_t *ignore_mem, const gs_cie_common
      *unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_to_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:461,1
    - Dst: set_sample16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:469,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:469,1
    - Dst: cache_arg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:469,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pdev
    - pcstrm
    - pnt
    - ignore_mem
    - unused
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - profile_table_t*
    - gs_memory_t*
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 472
    functionName: write_trc_lmn
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - set_sample16
    - rgb_to_index
    - cache_arg
    - cos_stream_add_bytes
    - proc
    linkageType: ''
    returnType: int
    signature: "int write_trc_lmn(gx_device_pdf *pdev, cos_stream_t *pcstrm, const
      profile_table_t *pnt,\n              gs_memory_t *ignore_mem, const gs_cie_common
      *unused)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:502,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:502,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:505,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:506,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:511,1
    - Dst: add_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 4
    argNames:
    - ppnt
    - pa2b
    - ncomps
    - pcs
    argTypes:
    - profile_table_t**
    - icc_a2b0_t*
    - int
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 522
    functionName: add_a2b0
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pow
    - floor
    - memcpy
    - min
    - add_table
    linkageType: ''
    returnType: profile_table_t
    signature: "profile_table_t *\nadd_a2b0(profile_table_t **ppnt, icc_a2b0_t *pa2b,
      int ncomps,\n         const gs_color_space *pcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:541,1
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:547,1
    - Dst: cache_arg
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:557,1
    - Dst: cie_to_xyz
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:559,1
    - Dst: set_sample16
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:569,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:571,1
    - Dst: gx_cie_to_xyz_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:574,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 5
    argNames:
    - pdev
    - pcstrm
    - pnt
    - mem
    - pciec
    argTypes:
    - gx_device_pdf*
    - cos_stream_t*
    - profile_table_t*
    - gs_memory_t*
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 581
    functionName: write_a2b0
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_alloc
    - set_sample16
    - cache_arg
    - cos_stream_add_bytes
    - gx_cie_to_xyz_free
    - cie_to_xyz
    linkageType: ''
    returnType: int
    signature: "int write_a2b0(gx_device_pdf *pdev, cos_stream_t *pcstrm, const profile_table_t
      *pnt,\n           gs_memory_t *mem, const gs_cie_common *pciec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - color_in
    - wp_in
    - color_out
    - wp_out
    argTypes:
    - gs_vector3*
    - gs_vector3*
    - gs_vector3*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 591
    functionName: adjust_wp
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void adjust_wp(const gs_vector3 *color_in, const gs_vector3 *wp_in,\n
      \         gs_vector3 *color_out, const gs_vector3 *wp_out)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:608,1
    - Dst: pdf_cspace_init_Device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:672,1
    - Dst: pdf_make_iccbased
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:673,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:675,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:681,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:682,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:683,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:688,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:689,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:690,1
    - Dst: add_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:690,1
    - Dst: add_table_xyz3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:693,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:694,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:698,1
    - Dst: add_table
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:698,1
    - Dst: add_trc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:704,1
    - Dst: add_trc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:706,1
    - Dst: add_trc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:708,1
    - Dst: adjust_wp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:718,1
    - Dst: add_table_xyz3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:719,1
    - Dst: adjust_wp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:720,1
    - Dst: add_table_xyz3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:721,1
    - Dst: adjust_wp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:722,1
    - Dst: add_table_xyz3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:723,1
    - Dst: add_a2b0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:727,1
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:741,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:743,1
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:744,1
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:745,1
    - Dst: round_up
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:746,1
    - Dst: set_uint32
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:748,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:749,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:750,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:757,1
    - Dst: write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:759,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:760,1
    - Dst: pdf_finish_iccbased
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:767,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 9
    argNames:
    - pdev
    - pca
    - pcs
    - dcsname
    - pciec
    - prange
    - one_step
    - pmat
    - pprange
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - gs_color_space*
    - char*
    - gs_cie_common*
    - gs_range*
    - cie_cache_one_step_t
    - gs_matrix3*
    - gs_range_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 593
    functionDepth: 6
    functionLinenumber: 593
    functionLinenumberEnd: 768
    functionName: pdf_convert_cie_to_iccbased
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pdf_finish_iccbased
    - set_uint32
    - DISCARD
    - round_up
    - pdf_make_iccbased
    - add_a2b0
    - write
    - add_trc
    - gs_color_space_num_components
    - add_table_xyz3
    - memset
    - memcpy
    - pdf_cspace_init_Device
    - cos_stream_add_bytes
    - rc_decrement_cs
    - adjust_wp
    - add_table
    linkageType: ''
    returnType: int
    signature: "int pdf_convert_cie_to_iccbased(gx_device_pdf *pdev, cos_array_t *pca,\n
      \                           const gs_color_space *pcs, const char *dcsname,\n
      \                           const gs_cie_common *pciec, const gs_range *prange,\n
      \                           cie_cache_one_step_t one_step,\n                            const
      gs_matrix3 *pmat, const gs_range_t **pprange)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:809,1
    - Dst: pdf_make_iccbased
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:815,1
    - Dst: gsicc_getprofilevers
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:825,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:832,1
    - Dst: gsicc_initialize_default_profile
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:860,1
    - Dst: gsicc_create_getv2buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:861,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:862,1
    - Dst: cos_stream_add_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:864,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:875,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:877,1
    - Dst: pdf_finish_iccbased
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:882,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 59
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pvalue
    - pcs
    - pca
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - cos_value_t*
    - gs_color_space*
    - cos_array_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 776
    functionDepth: 6
    functionLinenumber: 776
    functionLinenumberEnd: 885
    functionName: pdf_iccbased_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - gsicc_create_getv2buffer
    - pdf_finish_iccbased
    - gsicc_getprofilevers
    - pdf_make_iccbased
    - gsicc_initialize_default_profile
    - pdf_alloc_resource
    - emprintf
    - cos_stream_add_bytes
    - COS_FREE
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_iccbased_color_space(gx_device_pdf *pdev, const gs_gstate
      * pgs, cos_value_t *pvalue,\n                         const gs_color_space *pcs,
      cos_array_t *pca)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_convert_cie_to_lab
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:897,1
    - Dst: pdf_convert_cie_to_iccbased
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pdev
    - pca
    - pcs
    - dcsname
    - pciec
    - prange
    - one_step
    - pmat
    - pprange
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - gs_color_space*
    - char*
    - gs_cie_common*
    - gs_range*
    - cie_cache_one_step_t
    - gs_matrix3*
    - gs_range_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 888
    functionDepth: 7
    functionLinenumber: 888
    functionLinenumberEnd: 902
    functionName: pdf_convert_cie_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfk.c
    functionUses: 0
    functionsReached:
    - pdf_convert_cie_to_lab
    - pdf_convert_cie_to_iccbased
    linkageType: ''
    returnType: int
    signature: "int pdf_convert_cie_space(gx_device_pdf *pdev, cos_array_t *pca,\n
      \                     const gs_color_space *pcs, const char *dcsname,\n                      const
      gs_cie_common *pciec, const gs_range *prange,\n                      cie_cache_one_step_t
      one_step, const gs_matrix3 *pmat,\n                      const gs_range_t **pprange)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: public_st_pdf_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pdf_color_space()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: private_st_pdf_pattern
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pdf_pattern()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: public_st_pdf_image_writer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pdf_image_writer()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_make_bitmap_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pim
    - x
    - y
    - w
    - h
    argTypes:
    - gs_image_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: pdf_make_bitmap_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - pdf_make_bitmap_matrix
    linkageType: ''
    returnType: void
    signature: void pdf_make_bitmap_image(gs_image_t * pim, int x, int y, int w, int
      h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:63,1
    - Dst: pdf_make_bitmap_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:64,1
    - Dst: pdf_put_image_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:79,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:85,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:96,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:97,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:99,1
    - Dst: psdf_setup_lossless_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:100,1
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:103,1
    - Dst: pdf_copy_mask_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:107,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:108,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:109,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 12
    argNames:
    - pdev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pim
    - piw
    - for_pattern
    argTypes:
    - gx_device_pdf*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gs_image_t*
    - pdf_image_writer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 51
    functionDepth: 6
    functionLinenumber: 51
    functionLinenumberEnd: 110
    functionName: pdf_copy_mask_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_begin_image_data
    - pdf_image_writer_init
    - pdf_find_resource_by_gs_id
    - pdf_begin_write_image
    - pdf_make_bitmap_image
    - pdf_end_write_image
    - pdf_copy_mask_bits
    - gs_image_t_init_mask
    - psdf_setup_lossless_filters
    - pdf_end_image_binary
    - pdf_put_image_matrix
    linkageType: ''
    returnType: int
    signature: "int pdf_copy_mask_data(gx_device_pdf * pdev, const byte * base, int
      sourcex,\n                   int raster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                   gs_image_t *pim, pdf_image_writer *piw,\n                   int
      for_pattern)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:115,1
    - Dst: pdf_set_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - c
    argTypes:
    - gx_device_pdf*
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: set_image_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - pdf_set_pure_color
    linkageType: ''
    returnType: void
    signature: void set_image_color(gx_device_pdf *pdev, gx_color_index c)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: pdf_must_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:146,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:147,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:150,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:165,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:166,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:168,1
    - Dst: pdf_make_bitmap_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:175,1
    - Dst: pdf_begin_char_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:180,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:185,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:188,1
    - Dst: pprintd4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:189,1
    - Dst: pprintd4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:190,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:192,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:193,1
    - Dst: set_image_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:201,1
    - Dst: pdf_charproc_x_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:203,1
    - Dst: pdf_charproc_y_offset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:204,1
    - Dst: pdf_make_bitmap_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:206,1
    - Dst: set_image_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:210,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:211,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:214,1
    - Dst: set_image_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:216,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:220,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:221,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:225,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:226,1
    - Dst: pdf_cspace_init_Device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:241,1
    - Dst: psdf_adjust_color_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:244,1
    - Dst: psdf_adjust_color_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:245,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:246,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:248,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:249,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:261,1
    - Dst: pdf_make_bitmap_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:264,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:268,1
    - Dst: pdf_put_image_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:273,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:274,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:275,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:287,1
    - Dst: psdf_CFE_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:313,1
    - Dst: psdf_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:319,1
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:322,1
    - Dst: pdf_copy_mask_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:327,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:331,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:336,1
    - Dst: pdf_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:342,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:347,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:351,1
    - Dst: pdf_end_char_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:355,1
    - Dst: pdf_do_char_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:366,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 171
    argCount: 12
    argNames:
    - pdev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    - pcpath
    argTypes:
    - gx_device_pdf*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 124
    functionDepth: 5
    functionLinenumber: 124
    functionLinenumberEnd: 368
    functionName: pdf_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 1
    functionsReached:
    - pdf_image_writer_init
    - gs_cspace_alloc
    - pdf_end_write_image
    - pdf_do_image
    - rc_decrement_cs
    - pdf_color_space_named
    - pprintg1
    - pdf_begin_image_data
    - pdf_open_page
    - pdf_begin_char_proc
    - pdf_begin_write_image
    - pdf_charproc_x_offset
    - pdf_end_image_binary
    - pdf_copy_mask_bits
    - pdf_end_char_proc
    - pdf_find_resource_by_gs_id
    - pdf_do_char_image
    - pdf_make_bitmap_image
    - set_image_color
    - psdf_adjust_color_index
    - pprintd4
    - pdf_put_image_matrix
    - pdf_must_put_clip_path
    - pdf_put_clip_path
    - psdf_CFE_binary
    - pdf_charproc_y_offset
    - psdf_setup_image_filters
    - gs_image_t_init_mask
    - psdf_round
    - gs_image_t_init
    - pdf_cspace_init_Device
    - return_error
    - gs_cspace_new_DeviceGray
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf_copy_mono(gx_device_pdf *pdev,\n              const byte *base,
      int sourcex, int raster, gx_bitmap_id id,\n              int x, int y, int w,
      int h, gx_color_index zero,\n              gx_color_index one, const gx_clip_path
      *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_copy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 381
    functionName: gdev_pdf_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 1
    functionsReached:
    - pdf_copy_mono
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_copy_mono(gx_device * dev,\n                   const
      byte * base, int sourcex, int raster, gx_bitmap_id id,\n                   int
      x, int y, int w, int h, gx_color_index zero,\n                   gx_color_index
      one)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_cspace_init_Device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:396,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:405,1
    - Dst: pdf_make_bitmap_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:406,1
    - Dst: pdf_put_image_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:422,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:428,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:439,1
    - Dst: pdf_image_writer_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:444,1
    - Dst: pdf_begin_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:446,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:447,1
    - Dst: psdf_setup_lossless_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:450,1
    - Dst: psdf_setup_image_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:452,1
    - Dst: pdf_begin_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:455,1
    - Dst: pdf_copy_color_bits
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:459,1
    - Dst: pdf_end_image_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:461,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:462,1
    - Dst: pdf_end_write_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:463,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 12
    argNames:
    - pdev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pim
    - piw
    - for_pattern
    argTypes:
    - gx_device_pdf*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gs_image_t*
    - pdf_image_writer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 464
    functionName: pdf_copy_color_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 2
    functionsReached:
    - stream_puts
    - pdf_color_space_named
    - pdf_begin_image_data
    - pdf_image_writer_init
    - pdf_copy_color_bits
    - pdf_find_resource_by_gs_id
    - rc_decrement
    - pdf_begin_write_image
    - pdf_make_bitmap_image
    - psdf_setup_image_filters
    - pdf_end_write_image
    - psdf_setup_lossless_filters
    - gs_image_t_init
    - pdf_cspace_init_Device
    - pdf_end_image_binary
    - pdf_put_image_matrix
    linkageType: ''
    returnType: int
    signature: "int pdf_copy_color_data(gx_device_pdf * pdev, const byte * base, int
      sourcex,\n                    int raster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                    gs_image_t *pim, pdf_image_writer *piw,\n                    int
      for_pattern)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:477,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:481,1
    - Dst: pdf_copy_color_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:484,1
    - Dst: pdf_do_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:492,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 466
    functionDepth: 7
    functionLinenumber: 466
    functionLinenumberEnd: 494
    functionName: gdev_pdf_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - pdf_copy_color_data
    - pdf_do_image
    - pdf_open_page
    - pdf_put_clip_path
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_copy_color(gx_device * dev, const byte * base, int sourcex,\n
      \                   int raster, gx_bitmap_id id, int x, int y, int w, int h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:508,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:508,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:509,1
    - Dst: pdf_copy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:512,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:513,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 497
    functionDepth: 6
    functionLinenumber: 497
    functionLinenumberEnd: 515
    functionName: gdev_pdf_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_mask
    - gx_dc_is_pure
    - gx_dc_pure_color
    - gx_dc_is_pattern1_color
    - pdf_copy_mono
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_fill_mask(gx_device * dev,\n                 const byte
      * data, int data_x, int raster, gx_bitmap_id id,\n                   int x,
      int y, int width, int height,\n                   const gx_drawing_color * pdcolor,
      int depth,\n                   gs_logical_operation_t lop, const gx_clip_path
      * pcpath)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_cs_Pattern_uncolored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:547,1
    - Dst: pdf_cs_Pattern_colored
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:553,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:557,1
    - Dst: pdf_begin_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:575,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:579,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:583,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:588,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:589,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:590,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:591,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:592,1
    - Dst: copy_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:593,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:601,1
    - Dst: pdf_stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:603,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:604,1
    - Dst: pdf_end_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:605,1
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:606,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:607,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:608,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:613,1
    - Dst: pdf_put_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:619,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:627,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:628,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:629,1
    - Dst: pprintg3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:631,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:634,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:634,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:635,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c:640,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 72
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 518
    functionDepth: 9
    functionLinenumber: 518
    functionLinenumberEnd: 642
    functionName: gdev_pdf_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfb.c
    functionUses: 0
    functionsReached:
    - pprintg4
    - pdf_begin_resource
    - gx_default_strip_tile_rectangle
    - pdf_open_page
    - pdf_resource_id
    - pprints1
    - pdf_end_separate
    - pdf_cs_Pattern_uncolored
    - pprintg2
    - pdf_stell
    - pdf_open_separate
    - pprintd1
    - stream_puts
    - pdf_find_resource_by_gs_id
    - pprintg3
    - pdf_obj_ref
    - pdf_put_clip_path
    - cos_value_write
    - pdf_cs_Pattern_colored
    - pprintld1
    - copy_data
    - return_error
    - pdf_end_resource
    linkageType: ''
    returnType: int
    signature: "int gdev_pdf_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                              int x, int y, int w, int h,\n                              gx_color_index
      color0, gx_color_index color1,\n                              int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcp
    argTypes:
    - pdf_char_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: pdf_char_proc_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_resource_id
    linkageType: ''
    returnType: long
    signature: long pdf_char_proc_id(const pdf_char_proc_t *pcp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:85,1
    - Dst: pdf_font_type3_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:92,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:99,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:105,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:148,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 2
    argNames:
    - pdev
    - pte
    argTypes:
    - gx_device_pdf*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 76
    functionDepth: 4
    functionLinenumber: 76
    functionLinenumberEnd: 155
    functionName: assign_char_code
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_font_type3_alloc
    - strcpy
    - pdf_obj_ref
    - gs_make_identity
    - psdf_round
    linkageType: ''
    returnType: int
    signature: int assign_char_code(gx_device_pdf * pdev, gs_text_enum_t *pte)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:170,1
    - Dst: pdf_write_encoding_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:172,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:175,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:181,1
    - Dst: pdf_char_proc_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:182,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:184,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:185,1
    - Dst: pdf_char_proc_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:185,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:187,1
    - Dst: pdf_char_proc_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:187,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:189,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:190,1
    - Dst: pdf_finish_write_contents_type3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:197,1
    - Dst: pdf_write_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:201,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 158
    functionDepth: 6
    functionLinenumber: 158
    functionLinenumberEnd: 206
    functionName: pdf_write_contents_bitmap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pprintld2
    - stream_puts
    - pdf_write_encoding
    - pdf_char_proc_id
    - pdf_put_name
    - pdf_record_usage_by_parent
    - pprintg6
    - pprintld1
    - pdf_obj_ref
    - pdf_finish_write_contents_type3
    - pdf_write_encoding_ref
    linkageType: ''
    returnType: int
    signature: int pdf_write_contents_bitmap(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:217,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: pdf_bitmap_fonts_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - memset
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf_bitmap_fonts_t
    signature: 'pdf_bitmap_fonts_t *

      pdf_bitmap_fonts_alloc(gs_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 244
    functionName: pdf_close_text_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_close_text_page(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcp
    argTypes:
    - pdf_char_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: pdf_charproc_y_offset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_charproc_y_offset(pdf_char_proc_t *pcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcp
    argTypes:
    - pdf_char_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: pdf_charproc_x_offset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_charproc_x_offset(pdf_char_proc_t *pcp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:272,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:278,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:282,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:295,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:296,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 6
    argNames:
    - pdev
    - pdfont
    - pcp
    - glyph
    - char_code
    - gnstr
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - pdf_char_proc_t*
    - gs_glyph
    - gs_char
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 302
    functionName: pdf_attach_charproc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memcpy
    - bytes_compare
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pdf_attach_charproc(gx_device_pdf * pdev, pdf_font_resource_t
      *pdfont, pdf_char_proc_t *pcp,\n                    gs_glyph glyph, gs_char
      char_code, const gs_const_string *gnstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:312,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 322
    functionName: pdf_free_charproc_ownership
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_free_charproc_ownership(gx_device_pdf * pdev, pdf_resource_t
      *pres)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:368,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:372,1
    - Dst: gs_default_next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:379,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:410,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:415,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:416,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:425,1
    - Dst: assign_char_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:429,1
    - Dst: assign_char_code
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:433,1
    - Dst: pdf_begin_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:437,1
    - Dst: pdf_attach_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:441,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:455,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:456,1
    - Dst: pdf_begin_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:458,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:464,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:466,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:468,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 9
    argNames:
    - pdev
    - w
    - h
    - x_width
    - y_offset
    - x_offset
    - id
    - ppcp
    - ppos
    argTypes:
    - gx_device_pdf*
    - int
    - int
    - int
    - int
    - int
    - gs_id
    - pdf_char_proc_t**
    - pdf_stream_position_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 325
    functionDepth: 9
    functionLinenumber: 325
    functionLinenumberEnd: 473
    functionName: pdf_begin_char_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - pdf_attach_charproc
    - stream_puts
    - stell
    - gs_default_next_char_glyph
    - assign_char_code
    - max
    - pdf_begin_resource
    - pdf_begin_encrypt
    - strncmp
    - psdf_round
    - return_error
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_begin_char_proc(gx_device_pdf * pdev, int w, int h, int x_width,\n
      \                   int y_offset, int x_offset, gs_id id, pdf_char_proc_t **
      ppcp,\n                    pdf_stream_position_t * ppos)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_end_encrypt
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:482,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:483,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:487,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:490,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:491,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:492,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:493,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:495,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:496,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - ppos
    argTypes:
    - gx_device_pdf*
    - pdf_stream_position_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 476
    functionDepth: 3
    functionLinenumber: 476
    functionLinenumberEnd: 499
    functionName: pdf_end_char_proc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - s_close_filters
    - pdf_end_encrypt
    - stell
    - pdf_end_separate
    - pprintd1
    - return_error
    - sseek
    linkageType: ''
    returnType: int
    signature: int pdf_end_char_proc(gx_device_pdf * pdev, pdf_stream_position_t *
      ppos)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_resource_t*::mark_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:514,1
    - Dst: pdf_font_resource_t*::mark_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:525,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 13
    argCount: 2
    argNames:
    - pdfont
    - memory
    argTypes:
    - pdf_font_resource_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 527
    functionName: pdf_mark_glyph_names
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_font_resource_t*::mark_glyph
    linkageType: ''
    returnType: void
    signature: void pdf_mark_glyph_names(const pdf_font_resource_t *pdfont, const
      gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_text_state_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:548,1
    - Dst: pdf_bitmap_char_update_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:549,1
    - Dst: pdf_append_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pdev
    - pcp
    - pimat
    argTypes:
    - gx_device_pdf*
    - pdf_char_proc_t*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 552
    functionName: pdf_do_char_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - pdf_bitmap_char_update_bbox
    - pdf_set_text_state_values
    - pdf_append_chars
    linkageType: ''
    returnType: int
    signature: "int pdf_do_char_image(gx_device_pdf * pdev, const pdf_char_proc_t
      * pcp,\n                  const gs_matrix * pimat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:566,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:575,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:578,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:579,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:581,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:582,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 586
    functionName: pdf_write_bitmap_fonts_Encoding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pdf_end_separate
    - pdf_open_separate
    - pprintd1
    linkageType: ''
    returnType: int
    signature: int pdf_write_bitmap_fonts_Encoding(gx_device_pdf *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:596,1
    - Dst: pdf_enter_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 606
    functionName: pdf_start_charproc_accum
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 2
    functionsReached:
    - gs_next_ids
    - pdf_enter_substream
    linkageType: ''
    returnType: int
    signature: int pdf_start_charproc_accum(gx_device_pdf *pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:620,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:635,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:656,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:668,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 7
    argNames:
    - pdev
    - font
    - pw
    - narg
    - control
    - ch
    - scale_100
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - double*
    - int
    - gs_text_cache_control_t
    - gs_char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 611
    functionDepth: 3
    functionLinenumber: 611
    functionLinenumberEnd: 673
    functionName: pdf_set_charproc_attrs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pprintg6
    - pprintg1
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_set_charproc_attrs(gx_device_pdf *pdev, gs_font *font, double
      *pw, int narg,\n                gs_text_cache_control_t control, gs_char ch,
      bool scale_100)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf_alloc_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:695,1
    - Dst: PDF_RESOURCE_CHAIN
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:695,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:699,1
    - Dst: cos_write_stream_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:700,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:702,1
    - Dst: pdf_append_data_stream_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:704,1
    - Dst: pdf_put_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:710,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 6
    argNames:
    - pdev
    - rtype
    - id
    - ppres
    - reserve_object_id
    - options
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    - pdf_resource_t**
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 718
    functionName: pdf_open_aside
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 2
    functionsReached:
    - cos_become
    - PDF_RESOURCE_CHAIN
    - cos_write_stream_alloc
    - pdf_append_data_stream_filters
    - pdf_alloc_aside
    - return_error
    - pdf_put_filters
    linkageType: ''
    returnType: int
    signature: "int pdf_open_aside(gx_device_pdf *pdev, pdf_resource_type_t rtype,\n
      \       gs_id id, pdf_resource_t **ppres, bool reserve_object_id, int options)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_stream_from_pipeline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:730,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:731,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:735,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 742
    functionName: pdf_close_aside
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 3
    functionsReached:
    - gs_note_error
    - s_close_filters
    - cos_stream_from_pipeline
    linkageType: ''
    returnType: int
    signature: int pdf_close_aside(gx_device_pdf *pdev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:757,1
    - Dst: pdf_text_state_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:759,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:761,1
    - Dst: pdf_open_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:763,1
    - Dst: pdf_save_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:767,1
    - Dst: pdf_text_state_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:773,1
    - Dst: pdf_set_text_state_default
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:774,1
    - Dst: pdf_reset_graphics
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:808,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 6
    argNames:
    - pdev
    - rtype
    - id
    - ppres
    - reserve_object_id
    - compress
    argTypes:
    - gx_device_pdf*
    - pdf_resource_type_t
    - gs_id
    - pdf_resource_t**
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 747
    functionDepth: 5
    functionLinenumber: 747
    functionLinenumberEnd: 815
    functionName: pdf_enter_substream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 6
    functionsReached:
    - pdf_set_text_state_default
    - pdf_text_state_copy
    - pdf_open_aside
    - pdf_reset_graphics
    - return_error
    - pdf_text_state_alloc
    - pdf_save_viewer_state
    linkageType: ''
    returnType: int
    signature: "int pdf_enter_substream(gx_device_pdf *pdev, pdf_resource_type_t rtype,\n
      \       gs_id id, pdf_resource_t **ppres, bool reserve_object_id, bool compress)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:827,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:828,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:831,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:836,1
    - Dst: pdf_close_aside
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:837,1
    - Dst: pdf_text_state_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:841,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:842,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 868
    functionName: pdf_exit_substream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 10
    functionsReached:
    - gx_path_free
    - pdf_text_state_copy
    - pdf_open_contents
    - gs_free_object
    - pdf_restore_viewer_state
    - return_error
    - pdf_close_aside
    linkageType: ''
    returnType: int
    signature: int pdf_exit_substream(gx_device_pdf *pdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - pcp0
    - pcp1
    argTypes:
    - gx_device_pdf*
    - pdf_char_proc_t*
    - pdf_char_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: pdf_is_same_charproc_attrs1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_is_same_charproc_attrs1(gx_device_pdf *pdev, pdf_char_proc_t
      *pcp0, pdf_char_proc_t *pcp1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pdfont
    - char_code
    argTypes:
    - pdf_font_resource_t*
    - gs_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 903
    functionName: is_char_code_used
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_char_code_used(pdf_font_resource_t *pdfont, gs_char char_code)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pdf_is_same_charproc_attrs1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:917,1
    - Dst: is_char_code_used
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:926,1
    - Dst: pdf_locate_font_cache_elem
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:938,1
    - Dst: gs_matrix_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:945,1
    - Dst: pdf_check_encoding_compatibility
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:948,1
    - Dst: is_char_code_used
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:959,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 40
    argCount: 3
    argNames:
    - pdev
    - pres0
    - pres1
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 966
    functionName: pdf_is_charproc_compatible
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_is_same_charproc_attrs1
    - pdf_check_encoding_compatibility
    - gs_matrix_compare
    - pdf_locate_font_cache_elem
    - is_char_code_used
    linkageType: ''
    returnType: int
    signature: int pdf_is_charproc_compatible(gx_device_pdf * pdev, pdf_resource_t
      *pres0, pdf_resource_t *pres1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_is_same_charproc_attrs1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:982,1
    - Dst: cos_object_t*::cos_procs::equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:986,1
    - Dst: pdf_find_same_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:996,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - pdev
    - ppdfont
    - ppcp
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - pdf_char_proc_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 997
    functionName: pdf_find_same_charproc_aux
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_find_same_resource
    - pdf_is_same_charproc_attrs1
    - cos_object_t*::cos_procs::equal
    linkageType: ''
    returnType: int
    signature: "int pdf_find_same_charproc_aux(gx_device_pdf *pdev,\n            pdf_font_resource_t
      **ppdfont, pdf_char_proc_t **ppcp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_same_charproc_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - pdev
    - ppdfont
    - cgp
    - ppcp
    - glyph
    - char_code
    - font
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t**
    - pdf_char_glyph_pairs_t*
    - pdf_char_proc_t**
    - gs_glyph
    - gs_char
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 998
    functionDepth: 3
    functionLinenumber: 998
    functionLinenumberEnd: 1017
    functionName: pdf_find_same_charproc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_find_same_charproc_aux
    linkageType: ''
    returnType: int
    signature: "int pdf_find_same_charproc(gx_device_pdf *pdev,\n            pdf_font_resource_t
      **ppdfont, const pdf_char_glyph_pairs_t *cgp,\n            pdf_char_proc_t **ppcp,
      gs_glyph glyph, gs_char char_code,\n            gs_font *font)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - pdfont
    - ch
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - gs_char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1019
    functionDepth: 0
    functionLinenumber: 1019
    functionLinenumberEnd: 1029
    functionName: pdf_is_charproc_defined
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_is_charproc_defined(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont, gs_char ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1043,1
    - Dst: pdf_attach_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1047,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1051,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - pdev
    - font
    - glyph
    - ch
    - pcp
    - gnstr
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - gs_glyph
    - gs_char
    - pdf_char_proc_t*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1070
    functionName: complete_adding_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_attach_charproc
    - return_error
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int complete_adding_char(gx_device_pdf *pdev, gs_font *font,\n                     gs_glyph
      glyph, gs_char ch, pdf_char_proc_t *pcp,\n                     const gs_const_string
      *gnstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1082,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - font
    argTypes:
    - gx_device_pdf*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1072
    functionDepth: 3
    functionLinenumber: 1072
    functionLinenumberEnd: 1095
    functionName: pdf_char_widths_from_charprocs
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 0
    functionsReached:
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: int pdf_char_widths_from_charprocs(gx_device_pdf *pdev, gs_font *font)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1115,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1117,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1122,1
    - Dst: pdf_exit_substream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1123,1
    - Dst: pdf_find_same_charproc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1133,1
    - Dst: pdf_cancel_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1137,1
    - Dst: pdf_forget_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1140,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1142,1
    - Dst: pdf_char_widths_from_charprocs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1145,1
    - Dst: complete_adding_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1150,1
    - Dst: pdf_is_charproc_defined
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1152,1
    - Dst: gs_font*::procs::same_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1157,1
    - Dst: pdf_make_font3_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1159,1
    - Dst: pdf_attach_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1162,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1167,1
    - Dst: complete_adding_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1170,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 6
    argNames:
    - pdev
    - font
    - cgp
    - glyph
    - output_char_code
    - gnstr
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_char_glyph_pairs_t*
    - gs_glyph
    - gs_char
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1100
    functionDepth: 5
    functionLinenumber: 1100
    functionLinenumberEnd: 1171
    functionName: pdf_end_charproc_accum
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 1
    functionsReached:
    - pdf_char_widths_from_charprocs
    - pdf_forget_resource
    - pdf_attach_font_resource
    - complete_adding_char
    - pdf_is_charproc_defined
    - gs_font*::procs::same_font
    - pdf_find_same_charproc
    - pdf_reserve_object_id
    - pdf_make_font3_resource
    - return_error
    - pdf_cancel_resource
    - pdf_attached_font_resource
    - pdf_exit_substream
    linkageType: ''
    returnType: int
    signature: "int pdf_end_charproc_accum(gx_device_pdf *pdev, gs_font *font, const
      pdf_char_glyph_pairs_t *cgp,\n                       gs_glyph glyph, gs_char
      output_char_code, const gs_const_string *gnstr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1180,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1182,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1184,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1186,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1188,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1189,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1190,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1190,1
    - Dst: cos_dict_put_c_key
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1191,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pcd
    - procsets
    argTypes:
    - cos_dict_t*
    - pdf_procset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1174
    functionDepth: 3
    functionLinenumber: 1174
    functionLinenumberEnd: 1192
    functionName: pdf_add_procsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 2
    functionsReached:
    - strcat
    - cos_dict_put_c_key
    - cos_string_value
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int pdf_add_procsets(cos_dict_t *pcd, pdf_procset_t procsets)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1199,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1199,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1206,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1210,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1214,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1217,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1219,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1221,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1222,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1227,1
    - Dst: cos_dict_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1228,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1228,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdti.c:1229,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - pcd
    - key
    - pres
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - char*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1195
    functionDepth: 5
    functionLinenumber: 1195
    functionLinenumberEnd: 1232
    functionName: pdf_add_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdti.c
    functionUses: 5
    functionsReached:
    - cos_dict_alloc
    - cos_dict_put_string
    - cos_dict_put_c_key_object
    - strlen
    - cos_dict_put_c_key_bool
    - cos_dict_find
    - strcpy
    - gs_sprintf
    - return_error
    linkageType: ''
    returnType: int
    signature: int pdf_add_resource(gx_device_pdf *pdev, cos_dict_t *pcd, const char
      *key, pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:53,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdev
    - width
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: psdf_setlinewidth
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 1
    functionsReached:
    - pprintg1
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int psdf_setlinewidth(gx_device_vector * vdev, double width)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:64,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:64,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:68,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:68,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:72,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:75,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - vdev
    - cap
    argTypes:
    - gx_device_vector*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 79
    functionName: psdf_setlinecap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - emprintf1
    - gdev_vector_stream
    - pprintd1
    linkageType: ''
    returnType: int
    signature: int psdf_setlinecap(gx_device_vector * vdev, gs_line_cap cap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:88,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:88,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:92,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:92,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:96,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:96,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:100,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:103,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - vdev
    - join
    argTypes:
    - gx_device_vector*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 107
    functionName: psdf_setlinejoin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - emprintf1
    - gdev_vector_stream
    - pprintd1
    linkageType: ''
    returnType: int
    signature: int psdf_setlinejoin(gx_device_vector * vdev, gs_line_join join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:112,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdev
    - limit
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: psdf_setmiterlimit
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - pprintg1
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int psdf_setmiterlimit(gx_device_vector * vdev, double limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:120,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:123,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:125,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - vdev
    - pattern
    - count
    - offset
    argTypes:
    - gx_device_vector*
    - float*
    - uint
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 128
    functionName: psdf_setdash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintg1
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_setdash(gx_device_vector * vdev, const float *pattern, uint
      count,\n             double offset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:133,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vdev
    - flatness
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: psdf_setflat
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - pprintg1
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int psdf_setflat(gx_device_vector * vdev, double flatness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - lop
    - diff
    argTypes:
    - gx_device_vector*
    - gs_logical_operation_t
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: psdf_setlogop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int psdf_setlogop(gx_device_vector * vdev, gs_logical_operation_t
      lop,\n              gs_logical_operation_t diff)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:149,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:153,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:153,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:154,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:154,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:155,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:155,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - type
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 157
    functionName: psdf_dorect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 1
    functionsReached:
    - vdev_proc
    - pprintg4
    - gdev_vector_stream
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int psdf_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed
      x1, fixed y1,\n            gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: psdf_beginpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int psdf_beginpath(gx_device_vector * vdev, gx_path_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:169,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: psdf_moveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - pprintg2
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_moveto(gx_device_vector * vdev, double x0, double y0, double
      x, double y,\n            gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:177,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: psdf_lineto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - pprintg2
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_lineto(gx_device_vector * vdev, double x0, double y0, double
      x, double y,\n            gx_path_type_t type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:187,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:187,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:189,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:189,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:192,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:192,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:195,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 9
    argCount: 10
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 198
    functionName: psdf_curveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - pprintg6
    - pprintg4
    - pprintg2
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_curveto(gx_device_vector * vdev, double x0, double y0,\n
      \          double x1, double y1, double x2, double y2, double x3, double y3,\n
      \            gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:204,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x_start
    - y_start
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: psdf_closepath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_closepath(gx_device_vector * vdev, double x0, double y0,\n
      \              double x_start, double y_start, gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdev
    - color
    argTypes:
    - gx_device_vector*
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: psdf_adjust_color_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index psdf_adjust_color_index(gx_device_vector *vdev, gx_color_index
      color)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - v
    - precision
    - radix
    argTypes:
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: psdf_round
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double psdf_round(double v, int precision, int radix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cv
    argTypes:
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: round_byte_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double round_byte_color(gx_color_index cv)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:258,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:261,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:263,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:264,1
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:266,1
    - Dst: psdf_adjust_color_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:268,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:268,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:274,1
    - Dst: pprintg4
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:283,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:283,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:284,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:285,1
    - Dst: pprintg3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:292,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:292,1
    - Dst: round_byte_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:293,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:298,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:302,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:305,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 3
    argNames:
    - vdev
    - pdc
    - ppscc
    argTypes:
    - gx_device_vector*
    - gx_drawing_color*
    - psdf_set_color_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 308
    functionName: psdf_set_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 1
    functionsReached:
    - pprintg1
    - round_byte_color
    - gx_dc_is_pure
    - pprintg3
    - pprintg4
    - gsicc_get_device_profile_comps
    - psdf_adjust_color_index
    - pprints1
    - gx_dc_pure_color
    - return_error
    - dev_proc
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int psdf_set_color(gx_device_vector * vdev, const gx_drawing_color
      * pdc,\n               const psdf_set_color_commands_t *ppscc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:324,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:326,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:328,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:331,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:332,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:333,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:334,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - pdev
    - pbw
    argTypes:
    - gx_device_psdf*
    - psdf_binary_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 344
    functionName: psdf_begin_binary
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - s_init_filter
    - s_alloc_state
    - s_alloc
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int psdf_begin_binary(gx_device_psdf * pdev, psdf_binary_writer * pbw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:352,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pbw
    - templat
    - ss
    argTypes:
    - psdf_binary_writer*
    - stream_template*
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 354
    functionName: psdf_encode_binary
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 8
    functionsReached:
    - gs_note_error
    - s_add_filter
    linkageType: ''
    returnType: int
    signature: "int psdf_encode_binary(psdf_binary_writer * pbw, const stream_template
      * templat,\n                   stream_state * ss)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:378,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:379,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:381,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:383,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:388,1
    - Dst: gs_c_param_list_set_target
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:390,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:392,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:395,1
    - Dst: gs_jpeg_create_compress
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:400,1
    - Dst: s_DCTE_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:403,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:414,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:417,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:419,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:421,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:425,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:426,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:429,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 6
    argNames:
    - plist
    - st
    - Columns
    - Rows
    - Colors
    - pbw
    argTypes:
    - gs_param_list*
    - stream_state*
    - int
    - int
    - int
    - psdf_binary_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 431
    functionName: psdf_DCT_filter
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 2
    functionsReached:
    - gs_jpeg_create_compress
    - gs_c_param_list_set_target
    - gs_alloc_struct_immovable
    - gs_jpeg_destroy
    - psdf_encode_binary
    - max
    - s_DCTE_put_params
    - gs_c_param_list_read
    - return_error
    - gs_c_param_list_write
    - param_write_int
    - gs_c_param_list_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int psdf_DCT_filter(gs_param_list *plist /* may be NULL */,\n                stream_state
      /*stream_DCTE_state*/ *st,\n                int Columns, int Rows, int Colors,\n
      \               psdf_binary_writer *pbw /* may be NULL */)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:446,1
    - Dst: psdf_encode_binary
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:453,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - pbw
    - w
    - h
    - invert
    argTypes:
    - psdf_binary_writer*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 457
    functionName: psdf_CFE_binary
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_free_object
    - psdf_encode_binary
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int psdf_CFE_binary(psdf_binary_writer * pbw, int w, int h, bool invert)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:463,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pbw
    argTypes:
    - psdf_binary_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: psdf_end_binary
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 2
    functionsReached:
    - gs_note_error
    - s_close_filters
    linkageType: ''
    returnType: int
    signature: int psdf_end_binary(psdf_binary_writer * pbw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 480
    functionName: psdf_get_bits
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - return_error
    - emprintf
    linkageType: ''
    returnType: int
    signature: int psdf_get_bits(gx_device * dev, int y, byte * data, byte ** actual_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:489,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: psdf_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 0
    functionsReached:
    - return_error
    - emprintf
    linkageType: ''
    returnType: int
    signature: "int psdf_get_bits_rectangle(\n    gx_device *             dev,\n    const
      gs_int_rect *     prect,\n    gs_get_bits_params_t *  params,\n    gs_int_rect
      **          unread )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_overprint_compositor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:510,1
    - Dst: gx_default_create_compositor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:515,1
    - Dst: gx_default_create_compositor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - mem
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 519
    functionName: psdf_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsdu.c
    functionUses: 1
    functionsReached:
    - gs_is_overprint_compositor
    - gx_default_create_compositor
    linkageType: ''
    returnType: int
    signature: "int psdf_create_compositor(\n    gx_device *             dev,\n    gx_device
      **            pcdev,\n    const gs_composite_t *  pct,\n    gs_gstate             *
      \ pgs,\n    gs_memory_t *           mem,\n    gx_device *             cdev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:81,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:82,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - pts
    - dw
    argTypes:
    - pdf_text_state_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 93
    functionName: append_text_move
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - floor
    - fabs
    linkageType: ''
    returnType: int
    signature: int append_text_move(pdf_text_state_t *pts, double dw)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:107,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:120,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:120,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:122,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - pdist
    - dx
    - dy
    - pmat
    argTypes:
    - gs_point*
    - double
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 125
    functionName: set_text_distance
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform_inverse
    - floor
    - fabs
    linkageType: ''
    returnType: int
    signature: int set_text_distance(gs_point *pdist, double dx, double dy, const
      gs_matrix *pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pmat1
    - pmat2
    argTypes:
    - gs_matrix*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 135
    functionName: matrix_is_compatible
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool matrix_is_compatible(const gs_matrix *pmat1, const gs_matrix *pmat2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: matrix_is_compatible
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:146,1
    - Dst: set_text_distance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:153,1
    - Dst: append_text_move
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - pdev
    - pmat
    argTypes:
    - gx_device_pdf*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 184
    functionName: add_text_delta_move
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - append_text_move
    - set_text_distance
    - matrix_is_compatible
    linkageType: ''
    returnType: int
    signature: int add_text_delta_move(gx_device_pdf *pdev, const gs_matrix *pmat)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: matrix_is_compatible
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:200,1
    - Dst: set_text_distance
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:204,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:212,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:213,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:219,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:232,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:233,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:234,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:235,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:236,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:237,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:238,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:239,1
    - Dst: pprintg6
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:240,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 249
    functionName: pdf_set_text_matrix
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - pprintg1
    - set_text_distance
    - ceil
    - pprintg6
    - pprintg2
    - fabs
    - matrix_is_compatible
    linkageType: ''
    returnType: int
    signature: int pdf_set_text_matrix(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: pdf_text_state_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 2
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf_text_state_t
    signature: 'pdf_text_state_t *

      pdf_text_state_alloc(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pts
    argTypes:
    - pdf_text_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: pdf_set_text_state_default
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_set_text_state_default(pdf_text_state_t *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pts_to
    - pts_from
    argTypes:
    - pdf_text_state_t*
    - pdf_text_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: pdf_text_state_copy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_text_state_copy(pdf_text_state_t *pts_to, pdf_text_state_t
      *pts_from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_text_state_default
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptd
    argTypes:
    - pdf_text_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: pdf_reset_text_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - pdf_set_text_state_default
    linkageType: ''
    returnType: void
    signature: void pdf_reset_text_page(pdf_text_data_t *ptd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ptd
    argTypes:
    - pdf_text_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 306
    functionName: pdf_reset_text_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_reset_text_state(pdf_text_data_t *ptd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 322
    functionName: pdf_from_stream_to_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - gs_make_identity
    linkageType: ''
    returnType: int
    signature: int pdf_from_stream_to_text(gx_device_pdf *pdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_assign_font_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:335,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:339,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:347,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:348,1
    - Dst: pdf_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:352,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:353,1
    - Dst: pdf_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:357,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:359,1
    - Dst: pdf_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:361,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 327
    functionDepth: 6
    functionLinenumber: 327
    functionLinenumberEnd: 368
    functionName: flush_text_buffer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_add_resource
    - pdf_assign_font_object_id
    - pprintg1
    - pdf_put_string
    linkageType: ''
    returnType: int
    signature: int flush_text_buffer(gx_device_pdf *pdev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: flush_text_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:384,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:389,1
    - Dst: pdf_assign_font_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:396,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:399,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:400,1
    - Dst: pdf_used_charproc_resources
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:410,1
    - Dst: gs_matrix_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:415,1
    - Dst: pdf_set_text_matrix
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:419,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:425,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:430,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:431,1
    - Dst: flush_text_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:436,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 373
    functionDepth: 7
    functionLinenumber: 373
    functionLinenumberEnd: 437
    functionName: sync_text_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 2
    functionsReached:
    - pdf_assign_font_object_id
    - pprintg1
    - flush_text_buffer
    - pdf_set_text_matrix
    - memchr
    - pprints1
    - gs_matrix_compare
    - pdf_used_charproc_resources
    linkageType: ''
    returnType: int
    signature: int sync_text_state(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sync_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 8
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: pdf_from_string_to_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - sync_text_state
    linkageType: ''
    returnType: int
    signature: int pdf_from_string_to_text(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 460
    functionName: pdf_close_text_contents
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_close_text_contents(gx_device_pdf *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - ptsv
    argTypes:
    - gx_device_pdf*
    - pdf_text_state_values_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 472
    functionName: pdf_render_mode_uses_stroke
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool pdf_render_mode_uses_stroke(const gx_device_pdf *pdev,\n                            const
      pdf_text_state_values_t *ptsv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - ptsv
    argTypes:
    - gx_device_pdf*
    - pdf_text_state_values_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 481
    functionName: pdf_get_text_state_values
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_get_text_state_values(gx_device_pdf *pdev, pdf_text_state_values_t
      *ptsv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - wmode
    argTypes:
    - gx_device_pdf*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 492
    functionName: pdf_set_text_wmode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_set_text_wmode(gx_device_pdf *pdev, int wmode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:511,1
    - Dst: add_text_delta_move
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:514,1
    - Dst: sync_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:518,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 2
    argNames:
    - pdev
    - ptsv
    argTypes:
    - gx_device_pdf*
    - pdf_text_state_values_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 497
    functionDepth: 8
    functionLinenumber: 497
    functionLinenumberEnd: 526
    functionName: pdf_set_text_state_values
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 2
    functionsReached:
    - add_text_delta_move
    - gs_matrix_compare
    - sync_text_state
    linkageType: ''
    returnType: int
    signature: "int pdf_set_text_state_values(gx_device_pdf *pdev,\n                          const
      pdf_text_state_values_t *ptsv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - wx
    - wy
    - pts
    - ppt
    argTypes:
    - double
    - double
    - pdf_text_state_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 537
    functionName: pdf_text_distance_transform
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: "int pdf_text_distance_transform(double wx, double wy, const pdf_text_state_t
      *pts,\n                            gs_point *ppt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdev
    - ppt
    argTypes:
    - gx_device_pdf*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 550
    functionName: pdf_text_position
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_text_position(const gx_device_pdf *pdev, gs_point *ppt)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - pdev
    - x_offset
    - y_offset
    - x
    - y
    argTypes:
    - gx_device_pdf*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 572
    functionName: pdf_bitmap_char_update_bbox
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_bitmap_char_update_bbox(gx_device_pdf * pdev,int x_offset,
      int y_offset, double x, double y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sync_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:592,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:607,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:612,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:613,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - pdev
    - str
    - size
    - wx
    - wy
    - nobreak
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 577
    functionDepth: 8
    functionLinenumber: 577
    functionLinenumberEnd: 623
    functionName: pdf_append_chars
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - memcpy
    - min
    - pdf_open_page
    - sync_text_state
    linkageType: ''
    returnType: int
    signature: "int pdf_append_chars(gx_device_pdf * pdev, const byte * str, uint
      size,\n                 double wx, double wy, bool nobreak)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:650,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:656,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:667,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:668,1
    - Dst: pdf_calculate_text_size
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:671,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 18
    argCount: 5
    argNames:
    - pts
    - pdev
    - pgs
    - font
    - text
    argTypes:
    - pdf_text_state_t*
    - gx_device_pdf*
    - gs_gstate*
    - gs_font*
    - gs_text_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 680
    functionName: pdf_compare_text_state_for_charpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - pdf_calculate_text_size
    - pdf_attached_font_resource
    - fabs
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool pdf_compare_text_state_for_charpath(pdf_text_state_t *pts, gx_device_pdf
      *pdev,\n                                         gs_gstate *pgs, gs_font *font,\n
      \                                        const gs_text_params_t *text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pts
    argTypes:
    - pdf_text_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 685
    functionName: pdf_get_text_render_mode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_get_text_render_mode(pdf_text_state_t *pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pts
    - mode
    argTypes:
    - pdf_text_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 690
    functionName: pdf_set_text_render_mode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf_set_text_render_mode(pdf_text_state_t *pts, int mode)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 2
    argNames:
    - pts
    - render_mode
    argTypes:
    - pdf_text_state_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 746
    functionName: pdf_modify_text_render_mode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf_modify_text_render_mode(pdf_text_state_t *pts, int render_mode)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_text_state_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:773,1
    - Dst: pdf_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:777,1
    - Dst: gdev_vector_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdts.c:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - pdev
    - pgs
    - size
    - scaled_width
    - ptsv
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - float
    - double
    - pdf_text_state_values_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 748
    functionDepth: 9
    functionLinenumber: 748
    functionLinenumberEnd: 789
    functionName: pdf_set_PaintType0_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdts.c
    functionUses: 1
    functionsReached:
    - gdev_vector_prepare_stroke
    - pdf_prepare_stroke
    - pdf_set_text_state_values
    linkageType: ''
    returnType: int
    signature: "int pdf_set_PaintType0_params (gx_device_pdf *pdev, gs_gstate *pgs,
      float size,\n                               double scaled_width, const pdf_text_state_values_t
      *ptsv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: CIE_CACHE_IS_IDENTITY
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_CACHE_IS_IDENTITY(pc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pca
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: CIE_CACHE3_IS_IDENTITY
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_CACHE3_IS_IDENTITY(pca)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: CC_KEY
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_KEY(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:102,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:102,1
    - Dst: log
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:106,1
    - Dst: log
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:106,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:107,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - v0
    - va
    - vb
    - k
    - pexpt
    argTypes:
    - double
    - double
    - double
    - double
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 111
    functionName: cie_values_are_exponential
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - pow
    - log
    - fabs
    linkageType: ''
    returnType: bool
    signature: "bool cie_values_are_exponential(double v0, double va, double vb, double
      k,\n                           float *pexpt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_values_are_exponential
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pc
    - pexpt
    argTypes:
    - gx_cie_scalar_cache*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: cie_scalar_cache_is_exponential
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - cie_values_are_exponential
    linkageType: ''
    returnType: bool
    signature: bool cie_scalar_cache_is_exponential(const gx_cie_scalar_cache * pc,
      float *pexpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pca
    - ','
    - expts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: CIE_SCALAR3_CACHE_IS_EXPONENTIAL
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_SCALAR3_CACHE_IS_EXPONENTIAL(pca, expts)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_values_are_exponential
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pc
    - pexpt
    argTypes:
    - gx_cie_vector_cache*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 135
    functionName: cie_vector_cache_is_exponential
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - cie_values_are_exponential
    linkageType: ''
    returnType: bool
    signature: bool cie_vector_cache_is_exponential(const gx_cie_vector_cache * pc,
      float *pexpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pca
    - ','
    - expts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: CIE_VECTOR3_CACHE_IS_EXPONENTIAL
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_VECTOR3_CACHE_IS_EXPONENTIAL(pca, expts)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CIE_CACHE3_IS_IDENTITY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:155,1
    - Dst: CIE_CACHE3_IS_IDENTITY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:165,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - pcie
    - ppmat
    argTypes:
    - gs_cie_abc*
    - gs_matrix3**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 172
    functionName: cie_cached_abc_is_one_step
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - CIE_CACHE3_IS_IDENTITY
    linkageType: ''
    returnType: cie_cache_one_step_t
    signature: cie_cache_one_step_t cie_cached_abc_is_one_step(const gs_cie_abc *pcie,
      const gs_matrix3 **ppmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_KEY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:180,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:187,1
    - Dst: CC_V
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:187,1
    - Dst: CC_WP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:187,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:188,1
    - Dst: CC_V
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:188,1
    - Dst: CC_WP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:188,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:189,1
    - Dst: CC_V
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:189,1
    - Dst: CC_WP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pcie
    - i
    argTypes:
    - gs_cie_abc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 194
    functionName: cie_scalar_cache_is_lab_lmn
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - CC_KEY
    - CC_WP
    - CC_V
    - fabs
    linkageType: ''
    returnType: bool
    signature: bool cie_scalar_cache_is_lab_lmn(const gs_cie_abc *pcie, int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - j
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: CC_V
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_V(j,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - uvw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: CC_WP
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_WP(uvw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CC_KEY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:199,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:207,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:207,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:209,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:209,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:211,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - pvc
    - i
    argTypes:
    - gx_cie_vector_cache3_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 214
    functionName: cie_vector_cache_is_lab_abc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - CC_KEY
    - cie_cached2float
    - fabs
    linkageType: ''
    returnType: bool
    signature: bool cie_vector_cache_is_lab_abc(const gx_cie_vector_cache3_t *pvc,
      int i)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cie_vector_cache_is_lab_abc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:234,1
    - Dst: cie_scalar_cache_is_lab_lmn
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:235,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 7
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 240
    functionName: cie_is_lab
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - cie_vector_cache_is_lab_abc
    - cie_scalar_cache_is_lab_lmn
    linkageType: ''
    returnType: bool
    signature: bool cie_is_lab(const gs_cie_abc *pcie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 2
    argNames:
    - prange
    - n
    argTypes:
    - gs_range*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: cie_ranges_are_0_1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cie_ranges_are_0_1(const gs_range *prange, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:263,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:266,1
    - Dst: cos_array_add_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pca
    - pvec
    argTypes:
    - cos_array_t*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 270
    functionName: cos_array_add_vector3
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - cos_array_add_real
    linkageType: ''
    returnType: int
    signature: int cos_array_add_vector3(cos_array_t *pca, const gs_vector3 *pvec)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:279,1
    - Dst: cos_array_add_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:280,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:282,1
    - Dst: cos_dict_put_c_key_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:285,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - pcd
    - key
    - pvec
    argTypes:
    - gx_device_pdf*
    - cos_dict_t*
    - char*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 4
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: cos_dict_put_c_key_vector3
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - COS_OBJECT
    - cos_dict_put_c_key_object
    - COS_FREE
    - return_error
    - cos_array_alloc
    - cos_array_add_vector3
    linkageType: ''
    returnType: int
    signature: "int cos_dict_put_c_key_vector3(gx_device_pdf *pdev, cos_dict_t *pcd,
      const char *key,\n                           const gs_vector3 *pvec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_put_c_key_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:296,1
    - Dst: cos_dict_put_c_key_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:305,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:310,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:310,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - pca
    - pcd
    - pciec
    argTypes:
    - gx_device_pdf*
    - cos_array_t*
    - cos_dict_t*
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 292
    functionDepth: 5
    functionLinenumber: 292
    functionLinenumberEnd: 311
    functionName: pdf_finish_cie_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 1
    functionsReached:
    - COS_OBJECT
    - cos_array_add_object
    - cos_dict_put_c_key_vector3
    linkageType: ''
    returnType: int
    signature: "int pdf_finish_cie_space(gx_device_pdf *pdev, cos_array_t *pca, cos_dict_t
      *pcd,\n                     const gs_cie_common *pciec)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:332,1
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:333,1
    - Dst: gs_cspace_new_DeviceCMYK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:334,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:335,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - mem
    - ppcs
    - num_components
    argTypes:
    - gs_memory_t*
    - gs_color_space**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 342
    functionName: pdf_cspace_init_Device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 4
    functionsReached:
    - return_error
    - gs_cspace_new_DeviceRGB
    - gs_cspace_new_DeviceGray
    - gs_cspace_new_DeviceCMYK
    linkageType: ''
    returnType: int
    signature: "int pdf_cspace_init_Device(gs_memory_t *mem, gs_color_space **ppcs,\n
      \                      int num_components)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:348,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:349,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:350,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - pfn
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 353
    functionName: pdf_delete_sampled_base_space_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - gs_free_string
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_delete_sampled_base_space_function(gx_device_pdf *pdev, gs_function_t
      *pfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:359,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:360,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:361,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:362,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - pfn
    argTypes:
    - gx_device_pdf*
    - gs_function_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 365
    functionName: pdf_delete_base_space_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_delete_base_space_function(gx_device_pdf *pdev, gs_function_t
      *pfn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:375,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:376,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:377,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:384,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:391,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:393,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:396,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:398,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:399,1
    - Dst: data_source_init_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:412,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:414,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 5
    argNames:
    - pdev
    - pfn
    - nSrcComp
    - nDstComp
    - data
    argTypes:
    - gx_device_pdf*
    - gs_function_t**
    - int
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 416
    functionName: pdf_make_sampled_base_space_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - pow
    - data_source_init_string
    - gs_alloc_byte_array
    - gs_function_Sd_init
    - memcpy
    - gs_alloc_string
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_make_sampled_base_space_function(gx_device_pdf *pdev, gs_function_t
      **pfn,\n                                        int nSrcComp, int nDstComp,
      byte *data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:426,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:428,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:431,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:433,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:434,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:448,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:450,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:451,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:452,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:454,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:456,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:457,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:458,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:459,1
    - Dst: gs_function_ElIn_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:468,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:470,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:471,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:472,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 5
    argNames:
    - pdev
    - pfn
    - ncomp
    - data_low
    - data_high
    argTypes:
    - gx_device_pdf*
    - gs_function_t**
    - int
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 476
    functionName: pdf_make_base_space_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - gs_note_error
    - gs_function_ElIn_init
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_make_base_space_function(gx_device_pdf *pdev, gs_function_t
      **pfn,\n                                        int ncomp, float *data_low,
      float *data_high)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:498,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:507,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:519,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:525,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:529,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:529,1
    - Dst: cos_array_add_no_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:530,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:531,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:532,1
    - Dst: pdf_function_scaled
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:533,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:534,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:535,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 16
    argCount: 9
    argNames:
    - pdev
    - pgs
    - pca
    - csname
    - snames
    - alt_space
    - pfn
    - pcsn
    - v_attributes
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - cos_array_t*
    - char*
    - cos_value_t*
    - gs_color_space*
    - gs_function_t*
    - pdf_color_space_names_t*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 539
    functionName: pdf_separation_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - cos_array_add_no_copy
    - pdf_color_space_named
    - gs_color_space_get_index
    - cos_array_add
    - pdf_function_scaled
    - cos_c_string_value
    - gsicc_get_default_type
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int pdf_separation_color_space(gx_device_pdf *pdev, const gs_gstate
      * pgs,\n                           cos_array_t *pca, const char *csname,\n                           const
      cos_value_t *snames,\n                           const gs_color_space *alt_space,\n
      \                          const gs_function_t *pfn,\n                           const
      pdf_color_space_names_t *pcsn,\n                           const cos_value_t
      *v_attributes)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:552,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:568,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:570,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:575,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:580,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:581,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:583,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:585,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:587,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:589,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:590,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:591,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:592,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:593,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:594,1
    - Dst: gs_color_space_restrict_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:604,1
    - Dst: gs_color_space_restrict_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:605,1
    - Dst: gs_cspace_indexed_lookup
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:613,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:622,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:623,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:639,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:641,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:644,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:645,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:650,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:651,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:652,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:653,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:665,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:667,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:668,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:671,1
    - Dst: cos_array_add_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:672,1
    - Dst: cos_array_add_no_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:673,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:674,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:679,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:679,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:682,1
    - Dst: cos_array_add_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:685,1
    - Dst: cos_array_add_no_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:688,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:688,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 77
    argCount: 6
    argNames:
    - pdev
    - pgs
    - pvalue
    - pcs
    - pca
    - cos_base
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - cos_value_t*
    - gs_color_space*
    - cos_array_t*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 693
    functionName: pdf_indexed_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - sclose
    - pdf_color_space_named
    - gs_color_space_get_index
    - s_init_state
    - gs_resize_string
    - stell
    - return_error
    - cos_array_add
    - stream_write
    - gs_color_space_restrict_color
    - cos_string_value
    - gs_cspace_indexed_lookup
    - s_init_filter
    - cos_c_string_value
    - sputc
    - s_init
    - cos_array_add_int
    - cos_array_add_no_copy
    - gs_free_string
    - gs_color_space_num_components
    - swrite_string
    - memcpy
    - gs_alloc_string
    - gs_cspace_new_DeviceGray
    - sflush
    linkageType: ''
    returnType: int
    signature: "int pdf_indexed_color_space(gx_device_pdf *pdev, const gs_gstate *
      pgs, cos_value_t *pvalue,\n                        const gs_color_space *pcs,
      cos_array_t *pca, cos_value_t *cos_base)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:711,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - serialized
    - serialized_size
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 716
    functionName: pdf_find_cspace_resource
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: pdf_resource_t
    signature: 'pdf_resource_t *

      pdf_find_cspace_resource(gx_device_pdf *pdev, const byte *serialized, uint serialized_size)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:725,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:727,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:731,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:744,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:748,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:752,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:756,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:759,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 4
    argNames:
    - pdev
    - pcs
    - pvalue
    - pcsn
    argTypes:
    - gx_device_pdf*
    - gs_color_space*
    - cos_value_t*
    - pdf_color_space_names_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 768
    functionName: pdf_convert_ICC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - gsicc_get_device_profile_comps
    - gsicc_get_default_type
    - cos_c_string_value
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf_convert_ICC(gx_device_pdf *pdev,\n                const gs_color_space
      *pcs, cos_value_t *pvalue,\n                const pdf_color_space_names_t *pcsn)"
  - BBCount: 127
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:804,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:813,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:819,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:822,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:825,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:829,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:845,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:849,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:851,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:854,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:857,1
    - Dst: pdf_find_resource_by_gs_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:871,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:875,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:876,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:877,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:879,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:880,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:886,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:890,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:892,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:894,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:895,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:897,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:898,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:899,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:900,1
    - Dst: pdf_find_cspace_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:901,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:904,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:919,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:921,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:926,1
    - Dst: cie_ranges_are_0_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:932,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:941,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:945,1
    - Dst: pdf_convert_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:949,1
    - Dst: CIE_CACHE_IS_IDENTITY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:956,1
    - Dst: CIE_SCALAR3_CACHE_IS_EXPONENTIAL
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:957,1
    - Dst: CIE_CACHE3_IS_IDENTITY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:962,1
    - Dst: cie_vector_cache_is_exponential
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:963,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:969,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:973,1
    - Dst: pdf_convert_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:977,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:983,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:983,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:986,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:988,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:990,1
    - Dst: pdf_finish_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:999,1
    - Dst: cie_ranges_are_0_1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1005,1
    - Dst: cie_cached_abc_is_one_step
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1009,1
    - Dst: CIE_VECTOR3_CACHE_IS_EXPONENTIAL
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1015,1
    - Dst: CIE_SCALAR3_CACHE_IS_EXPONENTIAL
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1019,1
    - Dst: cie_is_lab
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1025,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1027,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1029,1
    - Dst: pdf_put_lab_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1030,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1037,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1041,1
    - Dst: pdf_convert_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1049,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1056,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1056,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1059,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1061,1
    - Dst: cos_dict_put_c_key_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1063,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1069,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1072,1
    - Dst: cos_array_add_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1073,1
    - Dst: cos_array_add_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1074,1
    - Dst: cos_array_add_vector3
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1075,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1076,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1077,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1088,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1092,1
    - Dst: pdf_convert_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1100,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1111,1
    - Dst: pdf_iccbased_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1115,1
    - Dst: pdf_convert_cie_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1123,1
    - Dst: pdf_indexed_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1131,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1136,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1138,1
    - Dst: gs_cspace_get_devn_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1142,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1145,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1153,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1156,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1157,1
    - Dst: cos_array_add_no_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1159,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1162,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1170,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1173,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1176,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1181,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1185,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1187,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1197,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1199,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1201,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1202,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1207,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1210,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1213,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1220,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1222,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1223,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1228,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1228,1
    - Dst: cos_array_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1231,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1238,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1243,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1245,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1246,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1252,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1253,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1256,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1259,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1266,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1271,1
    - Dst: pdf_separation_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1282,1
    - Dst: gs_cspace_get_sepr_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1283,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1286,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1288,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1289,1
    - Dst: pdf_separation_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1290,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1298,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1301,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1302,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1303,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1309,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1320,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1323,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1326,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1328,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1330,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1335,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1337,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1338,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1343,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1345,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1349,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1350,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1352,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1359,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1361,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1361,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1366,1
    - Dst: COS_RESOURCE_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1366,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1368,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1368,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1371,1
    CyclomaticComplexity: 164
    EdgeCount: 164
    ICount: 415
    argCount: 10
    argNames:
    - pdev
    - pgs
    - pvalue
    - ppranges
    - pcs_in
    - pcsn
    - by_name
    - res_name
    - name_length
    - keepICC
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - cos_value_t*
    - gs_range_t**
    - gs_color_space*
    - pdf_color_space_names_t*
    - bool
    - byte*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 782
    functionDepth: 8
    functionLinenumber: 782
    functionLinenumberEnd: 1376
    functionName: pdf_color_space_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 11
    functionsReached:
    - cie_ranges_are_0_1
    - pdf_string_to_cos_name
    - cos_array_put
    - pdf_finish_cie_space
    - gs_alloc_bytes
    - strlen
    - cie_cached_abc_is_one_step
    - pdf_separation_color_space
    - COS_FREE
    - cos_array_alloc
    - gsicc_get_default_type
    - COS_RESOURCE_VALUE
    - cos_become
    - pdf_color_space_named
    - sclose
    - cos_array_add_vector3
    - gs_color_space_get_index
    - CIE_SCALAR3_CACHE_IS_EXPONENTIAL
    - cos_array_add
    - stell
    - pdf_indexed_color_space
    - pdf_convert_cie_space
    - COS_OBJECT
    - cs_num_components
    - pdf_alloc_resource
    - discard
    - pdf_reserve_object_id
    - pdf_put_lab_color_space
    - swrite_position_only
    - gs_note_error
    - gs_cspace_get_sepr_function
    - min
    - gs_free_object
    - gs_colorspace_set_icc_equivalent
    - cos_dict_alloc
    - pdf_add_resource
    - pdf_find_resource_by_gs_id
    - cos_write_object
    - CIE_VECTOR3_CACHE_IS_EXPONENTIAL
    - CIE_CACHE3_IS_IDENTITY
    - CIE_CACHE_IS_IDENTITY
    - cos_dict_put_c_key_vector3
    - cos_array_add_no_copy
    - s_init
    - cie_vector_cache_is_exponential
    - cos_dict_put
    - pdf_substitute_resource
    - gs_alloc_byte_array
    - cie_is_lab
    - cos_dict_put_c_key_real
    - pdf_find_cspace_resource
    - swrite_string
    - pdf_iccbased_color_space
    - gs_cspace_get_devn_function
    - cs_serialize
    - memcpy
    - gs_color_space_num_components
    - return_error
    - cos_c_string_value
    - COS_OBJECT_VALUE
    linkageType: ''
    returnType: int
    signature: "int pdf_color_space_named(gx_device_pdf *pdev, const gs_gstate * pgs,\n
      \               cos_value_t *pvalue,\n                const gs_range_t **ppranges,\n
      \               const gs_color_space *pcs_in,\n                const pdf_color_space_names_t
      *pcsn,\n                bool by_name, const byte *res_name, int name_length,
      bool keepICC)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1383,1
    - Dst: cos_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1385,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1386,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1378
    functionDepth: 0
    functionLinenumber: 1378
    functionLinenumberEnd: 1390
    functionName: free_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 1
    functionsReached:
    - cos_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int free_color_space(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_begin_resource_body
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1402,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1407,1
    - Dst: pdf_end_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1408,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1413,1
    - Dst: cos_resource_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pdev
    - pvalue
    - ppres
    - cs_name
    argTypes:
    - gx_device_pdf*
    - cos_value_t*
    - pdf_resource_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1395
    functionDepth: 8
    functionLinenumber: 1395
    functionLinenumberEnd: 1418
    functionName: pdf_pattern_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - pdf_add_resource
    - cos_resource_value
    - pprints1
    - pdf_end_resource
    - pdf_begin_resource_body
    linkageType: ''
    returnType: int
    signature: "int pdf_pattern_space(gx_device_pdf *pdev, cos_value_t *pvalue,\n
      \                 pdf_resource_t **ppres, const char *cs_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_pattern_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pvalue
    argTypes:
    - gx_device_pdf*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1419
    functionDepth: 9
    functionLinenumber: 1419
    functionLinenumberEnd: 1424
    functionName: pdf_cs_Pattern_colored
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 5
    functionsReached:
    - pdf_pattern_space
    linkageType: ''
    returnType: int
    signature: int pdf_cs_Pattern_colored(gx_device_pdf *pdev, cos_value_t *pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_pattern_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pvalue
    argTypes:
    - gx_device_pdf*
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1425
    functionDepth: 9
    functionLinenumber: 1425
    functionLinenumberEnd: 1437
    functionName: pdf_cs_Pattern_uncolored
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 2
    functionsReached:
    - pdf_pattern_space
    linkageType: ''
    returnType: int
    signature: int pdf_cs_Pattern_uncolored(gx_device_pdf *pdev, cos_value_t *pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - pcs
    - pvalue
    - pgs
    argTypes:
    - gx_device_pdf*
    - gs_color_space*
    - cos_value_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1438
    functionDepth: 9
    functionLinenumber: 1438
    functionLinenumberEnd: 1444
    functionName: pdf_cs_Pattern_uncolored_hl
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 1
    functionsReached:
    - pdf_color_space_named
    linkageType: ''
    returnType: int
    signature: "int pdf_cs_Pattern_uncolored_hl(gx_device_pdf *pdev,\n                const
      gs_color_space *pcs, cos_value_t *pvalue, const gs_gstate * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c:1453,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pdev
    - pcs
    argTypes:
    - gx_device_pdf*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1467
    functionName: pdf_color_space_procsets
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfc.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: void
    signature: void pdf_color_space_procsets(gx_device_pdf *pdev, const gs_color_space
      *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dname
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 133
    functionName: pclxl_device_body
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pclxl_device_body(dname, depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: pclxl_stream
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gdev_vector_stream
    linkageType: ''
    returnType: stream
    signature: 'stream *

      pclxl_stream(gx_device_pclxl * xdev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 226
    functionName: pclxl_page_init
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gdev_vector_init
    linkageType: ''
    returnType: void
    signature: void pclxl_page_init(gx_device_pclxl * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ci
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: RGB_IS_GRAY
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RGB_IS_GRAY(ci)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:236,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:238,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - xdev
    - color_space
    argTypes:
    - gx_device_pclxl*
    - pxeColorSpace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 243
    functionName: pclxl_set_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ub
    - px_put_ac
    - pclxl_stream
    linkageType: ''
    returnType: void
    signature: void pclxl_set_color_space(gx_device_pclxl * xdev, pxeColorSpace_t
      color_space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:250,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:252,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:255,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:256,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:256,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:260,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:261,1
    - Dst: px_put_u
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:262,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:263,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:264,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - xdev
    - color_space
    - palette
    - palette_size
    argTypes:
    - gx_device_pclxl*
    - pxeColorSpace_t
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 4
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: pclxl_set_color_palette
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - DA
    - DUB
    - px_put_ac
    - px_put_ub
    - px_put_u
    - px_put_bytes
    - pclxl_stream
    - memcpy
    - memcmp
    - PX_PUT_LIT
    linkageType: ''
    returnType: void
    signature: "void pclxl_set_color_palette(gx_device_pclxl * xdev, pxeColorSpace_t
      color_space,\n                        const byte * palette, uint palette_size)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:281,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:295,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - xdev
    - null_source
    - op
    argTypes:
    - gx_device_pclxl*
    - px_attribute_t
    - px_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 298
    functionName: pclxl_set_cached_nulls
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_uba
    - spputc
    - pclxl_stream
    linkageType: ''
    returnType: int
    signature: "int pclxl_set_cached_nulls(gx_device_pclxl * xdev, px_attribute_t
      null_source,\n                       px_tag_t op)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:305,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:307,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:308,1
    - Dst: RGB_IS_GRAY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:315,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:316,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:317,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:319,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:320,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:321,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:322,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:323,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:324,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:325,1
    - Dst: gx_dc_is_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:327,1
    - Dst: color_is_set
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:327,1
    - Dst: pclxl_set_cached_nulls
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:329,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:331,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:333,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:334,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - xdev
    - pdc
    - null_source
    - op
    argTypes:
    - gx_device_pclxl*
    - gx_drawing_color*
    - px_attribute_t
    - px_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 301
    functionDepth: 4
    functionLinenumber: 301
    functionLinenumberEnd: 336
    functionName: pclxl_set_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_uba
    - pclxl_set_cached_nulls
    - gx_dc_is_pure
    - pclxl_set_color_space
    - RGB_IS_GRAY
    - gx_dc_is_null
    - px_put_ub
    - gx_dc_pure_color
    - pclxl_stream
    - px_put_a
    - return_error
    - spputc
    - color_is_set
    linkageType: ''
    returnType: int
    signature: "int pclxl_set_color(gx_device_pclxl * xdev, const gx_drawing_color
      * pdc,\n                px_attribute_t null_source, px_tag_t op)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:348,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:354,1
    - Dst: gs_color_space_indexed_base_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:354,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 364
    functionName: pclxl_can_handle_color_space
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - gsicc_get_default_type
    - gs_color_space_indexed_base_space
    linkageType: ''
    returnType: bool
    signature: bool pclxl_can_handle_color_space(const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:378,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:380,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - pim
    argTypes:
    - gs_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 385
    functionName: pclxl_can_icctransform
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool pclxl_can_icctransform(const gs_image_t * pim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: pclxl_nontrivial_transfer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pclxl_nontrivial_transfer(const gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:407,1
    - Dst: color_is_set
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:411,1
    - Dst: gx_dc_is_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:412,1
    - Dst: pclxl_set_cached_nulls
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:415,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:416,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:418,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:420,1
    - Dst: color_is_set
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:425,1
    - Dst: gx_dc_is_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:426,1
    - Dst: pclxl_set_cached_nulls
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:429,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - xdev
    - type
    argTypes:
    - gx_device_pclxl*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 404
    functionDepth: 4
    functionLinenumber: 404
    functionLinenumberEnd: 432
    functionName: pclxl_set_paints
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_set_cached_nulls
    - color_set_null
    - px_put_ac
    - gx_dc_is_null
    - px_put_ub
    - pclxl_stream
    - color_is_set
    linkageType: ''
    returnType: void
    signature: void pclxl_set_paints(gx_device_pclxl * xdev, gx_path_type_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_ssp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:437,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - x
    - y
    argTypes:
    - stream*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: pclxl_set_page_origin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ssp
    - px_put_ac
    linkageType: ''
    returnType: void
    signature: void pclxl_set_page_origin(stream * s, int x, int y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:445,1
    - Dst: px_put_rp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:450,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - xdev
    - x_scale
    - y_scale
    argTypes:
    - gx_device_pclxl*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: pclxl_set_page_scale
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ac
    - px_put_rp
    - pclxl_stream
    linkageType: ''
    returnType: void
    signature: void pclxl_set_page_scale(gx_device_pclxl * xdev, double x_scale, double
      y_scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:459,1
    - Dst: px_put_rp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:462,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 469
    functionName: pclxl_unset_page_scale
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ac
    - px_put_rp
    - pclxl_stream
    linkageType: ''
    returnType: void
    signature: void pclxl_unset_page_scale(gx_device_pclxl * xdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:475,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:483,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:484,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:488,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:489,1
    - Dst: pclxl_set_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:493,1
    - Dst: px_put_ssp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:494,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:495,1
    - Dst: pclxl_unset_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:496,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - xdev
    - x
    - y
    argTypes:
    - gx_device_pclxl*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 498
    functionName: pclxl_set_cursor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ssp
    - px_put_ac
    - pclxl_set_page_scale
    - pclxl_stream
    - pclxl_unset_page_scale
    - abs
    linkageType: ''
    returnType: int
    signature: int pclxl_set_cursor(gx_device_pclxl * xdev, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:506,1
    - Dst: px_put_uba
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - count
    - dtype
    argTypes:
    - stream*
    - int
    - pxeDataType_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 508
    functionName: px_put_np
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_uba
    linkageType: ''
    returnType: void
    signature: void px_put_np(stream * s, int count, pxeDataType_t dtype)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:515,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:529,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:530,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:532,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:533,1
    - Dst: pclxl_set_page_origin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:549,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:552,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:553,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:555,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:556,1
    - Dst: pclxl_set_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:569,1
    - Dst: px_put_ssp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:593,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:595,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:596,1
    - Dst: pclxl_unset_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:598,1
    - Dst: pclxl_set_page_origin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:600,1
    - Dst: px_put_np
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:623,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:624,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:625,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:626,1
    - Dst: pclxl_unset_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:627,1
    - Dst: pclxl_set_page_origin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:629,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:663,1
    - Dst: px_put_np
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:665,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:666,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:667,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:669,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:670,1
    - Dst: pclxl_unset_page_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:672,1
    - Dst: pclxl_set_page_origin
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:674,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 114
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 679
    functionName: pclxl_flush_points
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ssp
    - pclxl_set_page_origin
    - max
    - px_put_s
    - pclxl_set_page_scale
    - px_put_np
    - px_put_bytes
    - pclxl_stream
    - px_put_a
    - return_error
    - spputc
    - pclxl_unset_page_scale
    - abs
    - px_put_data_length
    linkageType: ''
    returnType: int
    signature: int pclxl_flush_points(gx_device_pclxl * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:695,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:697,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:698,1
    - Dst: px_put_usp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:699,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - xdev
    - width
    - height
    - dest_width
    - dest_height
    argTypes:
    - gx_device_pclxl*
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 701
    functionName: pclxl_write_begin_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ac
    - px_put_usa
    - pclxl_stream
    - px_put_usp
    linkageType: ''
    returnType: void
    signature: "void pclxl_write_begin_image(gx_device_pclxl * xdev, uint width, uint
      height,\n                        uint dest_width, uint dest_height)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:712,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:714,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:723,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:724,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:737,1
    - Dst: s_RLE_set_defaults_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:742,1
    - Dst: s_RLE_init_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:745,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:775,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:776,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:777,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:778,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:780,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:782,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:787,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:788,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:789,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:791,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:792,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 7
    argNames:
    - xdev
    - base
    - data_bit
    - raster
    - width_bits
    - y
    - height
    argTypes:
    - gx_device_pclxl*
    - byte*
    - int
    - uint
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 707
    functionDepth: 4
    functionLinenumber: 707
    functionLinenumberEnd: 795
    functionName: pclxl_write_image_data_RLE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - s_RLE_set_defaults_inline
    - gs_alloc_bytes
    - ROUND_UP
    - px_put_usa
    - px_put_ac
    - s_RLE_init_inline
    - px_put_ub
    - px_put_bytes
    - pclxl_stream
    - px_put_data_length
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void pclxl_write_image_data_RLE(gx_device_pclxl * xdev, const byte
      * base,\n                           int data_bit, uint raster, uint width_bits,
      int y,\n                           int height)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:802,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:812,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:823,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:832,1
    - Dst: gs_jpeg_create_compress
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:843,1
    - Dst: gs_jpeg_set_defaults
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:864,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:872,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:874,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:887,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:888,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:889,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:890,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:891,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:892,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:894,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:896,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:901,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:903,1
    - Dst: pclxl_write_image_data_RLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:907,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 73
    argCount: 7
    argNames:
    - xdev
    - base
    - data_bit
    - raster
    - width_bits
    - y
    - height
    argTypes:
    - gx_device_pclxl*
    - byte*
    - int
    - uint
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 797
    functionDepth: 5
    functionLinenumber: 797
    functionLinenumberEnd: 910
    functionName: pclxl_write_image_data_JPEG
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_create_compress
    - gs_jpeg_destroy
    - gs_alloc_struct_immovable
    - s_init_state
    - pclxl_write_image_data_RLE
    - gs_alloc_bytes
    - px_put_usa
    - px_put_ac
    - max
    - px_put_ub
    - px_put_bytes
    - pclxl_stream
    - gs_jpeg_set_defaults
    - px_put_data_length
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void pclxl_write_image_data_JPEG(gx_device_pclxl * xdev, const byte
      * base,\n                            int data_bit, uint raster, uint width_bits,
      int y,\n                            int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:924,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:938,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:942,1
    - Dst: pclxl_write_image_data_RLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:946,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:951,1
    - Dst: gdev_pcl_mode3compress
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:955,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:963,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:964,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:965,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:966,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:968,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:969,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:971,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 7
    argNames:
    - xdev
    - base
    - data_bit
    - raster
    - width_bits
    - y
    - height
    argTypes:
    - gx_device_pclxl*
    - byte*
    - int
    - uint
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 919
    functionDepth: 5
    functionLinenumber: 919
    functionLinenumberEnd: 976
    functionName: pclxl_write_image_data_DeltaRow
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_write_image_data_RLE
    - gdev_pcl_mode3compress
    - gs_alloc_bytes
    - px_put_usa
    - px_put_ac
    - px_put_ub
    - memset
    - px_put_bytes
    - pclxl_stream
    - px_put_data_length
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void pclxl_write_image_data_DeltaRow(gx_device_pclxl * xdev, const
      byte * base,\n                                int data_bit, uint raster, uint
      width_bits,\n                                int y, int height)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_write_image_data_RLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:986,1
    - Dst: pclxl_write_image_data_DeltaRow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:993,1
    - Dst: pclxl_write_image_data_JPEG
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:999,1
    - Dst: pclxl_write_image_data_RLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1002,1
    - Dst: pclxl_write_image_data_RLE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1007,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 8
    argNames:
    - xdev
    - data
    - data_bit
    - raster
    - width_bits
    - y
    - height
    - allow_lossy
    argTypes:
    - gx_device_pclxl*
    - byte*
    - int
    - uint
    - uint
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 979
    functionDepth: 6
    functionLinenumber: 979
    functionLinenumberEnd: 1011
    functionName: pclxl_write_image_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_write_image_data_DeltaRow
    - pclxl_write_image_data_JPEG
    - pclxl_write_image_data_RLE
    linkageType: ''
    returnType: void
    signature: "void pclxl_write_image_data(gx_device_pclxl * xdev, const byte * data,\n
      \                      int data_bit, uint raster, uint width_bits, int y,\n
      \                      int height, bool allow_lossy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1018
    functionName: pclxl_write_end_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void pclxl_write_end_image(gx_device_pclxl * xdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1027,1
    - Dst: px_put_u
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1028,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1029,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1031,1
    - Dst: px_put_u
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1032,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - s
    - data
    - len
    - wide
    argTypes:
    - stream*
    - byte*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1023
    functionDepth: 4
    functionLinenumber: 1023
    functionLinenumberEnd: 1035
    functionName: px_put_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    - px_put_u
    - px_put_bytes
    linkageType: ''
    returnType: void
    signature: void px_put_string(stream * s, const byte * data, uint len, bool wide)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1041,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - i
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1043
    functionName: px_put_us_be
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    linkageType: ''
    returnType: void
    signature: void px_put_us_be(stream * s, uint i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1050,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1053,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1053,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1053,1
    - Dst: DUS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1055,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1055,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1067,1
    - Dst: px_put_us_be
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1068,1
    - Dst: px_put_us_be
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1069,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1071
    functionName: pclxl_define_bitmap_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_us_be
    - DA
    - DUB
    - pclxl_stream
    - PX_PUT_LIT
    - DUS
    linkageType: ''
    returnType: void
    signature: void pclxl_define_bitmap_font(gx_device_pclxl * xdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1078,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1081,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1081,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1081,1
    - Dst: DUS
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1081,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1081,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1086
    functionName: pclxl_set_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - DA
    - DUB
    - pclxl_stream
    - PX_PUT_LIT
    - DUS
    linkageType: ''
    returnType: void
    signature: void pclxl_set_font(gx_device_pclxl * xdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1095,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1100,1
    - Dst: px_put_u
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1101,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1102,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1104,1
    - Dst: px_put_l
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1105,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1107,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1108,1
    - Dst: px_put_data_length
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1109,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1110,1
    - Dst: px_put_us_be
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1111,1
    - Dst: px_put_us_be
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1112,1
    - Dst: px_put_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1114,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 6
    argNames:
    - xdev
    - ccode
    - data
    - raster
    - width_bits
    - height
    argTypes:
    - gx_device_pclxl*
    - uint
    - byte*
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1116
    functionName: pclxl_define_bitmap_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_us_be
    - px_put_us
    - px_put_l
    - px_put_ac
    - px_put_u
    - px_put_bytes
    - pclxl_stream
    - px_put_a
    - spputc
    - px_put_data_length
    linkageType: ''
    returnType: void
    signature: "void pclxl_define_bitmap_char(gx_device_pclxl * xdev, uint ccode,\n
      \                        const byte * data, uint raster, uint width_bits,\n
      \                        uint height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1122,1
    - Dst: px_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - xdev
    argTypes:
    - gx_device_pclxl*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1119
    functionDepth: 5
    functionLinenumber: 1119
    functionLinenumberEnd: 1125
    functionName: pclxl_write_font_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_string
    - pclxl_stream
    linkageType: ''
    returnType: void
    signature: void pclxl_write_font_name(gx_device_pclxl * xdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1135,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - xdev
    - id
    argTypes:
    - gx_device_pclxl*
    - gs_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    functionName: pclxl_char_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: int
    signature: int pclxl_char_index(gx_device_pclxl * xdev, gs_id id)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1162,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1167,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - xdev
    - index
    argTypes:
    - gx_device_pclxl*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1151
    functionDepth: 0
    functionLinenumber: 1151
    functionLinenumberEnd: 1171
    functionName: pclxl_remove_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: void
    signature: void pclxl_remove_char(gx_device_pclxl * xdev, int index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1184,1
    - Dst: pclxl_char_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1188,1
    - Dst: pclxl_char_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1194,1
    - Dst: pclxl_remove_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1195,1
    - Dst: pclxl_char_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1199,1
    - Dst: pclxl_write_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1207,1
    - Dst: pclxl_define_bitmap_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1208,1
    - Dst: pclxl_write_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1211,1
    - Dst: pclxl_define_bitmap_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1212,1
    - Dst: pclxl_write_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1215,1
    - Dst: pclxl_set_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1216,1
    - Dst: px_put_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1224,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1226,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 6
    argNames:
    - xdev
    - data
    - raster
    - id
    - w
    - h
    argTypes:
    - gx_device_pclxl*
    - byte*
    - int
    - gx_bitmap_id
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1176
    functionDepth: 6
    functionLinenumber: 1176
    functionLinenumberEnd: 1228
    functionName: pclxl_copy_text_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_remove_char
    - pclxl_write_font_name
    - pclxl_char_index
    - px_put_string
    - px_put_ac
    - pclxl_define_bitmap_font
    - pclxl_stream
    - pclxl_set_font
    - pclxl_define_bitmap_char
    linkageType: ''
    returnType: int
    signature: "int pclxl_copy_text_char(gx_device_pclxl * xdev, const byte * data,\n
      \                    int raster, gx_bitmap_id id, int w, int h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: px_write_page_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1252,1
    - Dst: px_write_select_media
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1259,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1264,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1232
    functionDepth: 2
    functionLinenumber: 1232
    functionLinenumberEnd: 1266
    functionName: pclxl_beginpage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    - px_write_select_media
    - px_write_page_header
    linkageType: ''
    returnType: int
    signature: int pclxl_beginpage(gx_device_vector * vdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1271,1
    - Dst: px_put_us
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1273,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdev
    - width
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1268
    functionDepth: 3
    functionLinenumber: 1268
    functionLinenumberEnd: 1276
    functionName: pclxl_setlinewidth
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ac
    - px_put_us
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int pclxl_setlinewidth(gx_device_vector * vdev, double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1281,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1284,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdev
    - cap
    argTypes:
    - gx_device_vector*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1278
    functionDepth: 3
    functionLinenumber: 1278
    functionLinenumberEnd: 1287
    functionName: pclxl_setlinecap
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ub
    - px_put_ac
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int pclxl_setlinecap(gx_device_vector * vdev, gs_line_cap cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1292,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1295,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1300,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - vdev
    - join
    argTypes:
    - gx_device_vector*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1289
    functionDepth: 3
    functionLinenumber: 1289
    functionLinenumberEnd: 1303
    functionName: pclxl_setlinejoin
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ub
    - px_put_ac
    - gdev_vector_stream
    - emprintf1
    linkageType: ''
    returnType: int
    signature: int pclxl_setlinejoin(gx_device_vector * vdev, gs_line_join join)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1308,1
    - Dst: px_put_u
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1316,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1316,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - vdev
    - limit
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1305
    functionDepth: 4
    functionLinenumber: 1305
    functionLinenumberEnd: 1319
    functionName: pclxl_setmiterlimit
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_u
    - px_put_ac
    - gdev_vector_stream
    - max
    linkageType: ''
    returnType: int
    signature: int pclxl_setmiterlimit(gx_device_vector * vdev, double limit)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1333,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1337,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1337,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1340,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1342,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1355,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1357,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1358,1
    - Dst: px_put_s
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1360,1
    - Dst: px_put_a
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1361,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1363,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1365,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - vdev
    - pattern
    - count
    - offset
    argTypes:
    - gx_device_vector*
    - float*
    - uint
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1329
    functionDepth: 4
    functionLinenumber: 1329
    functionLinenumberEnd: 1367
    functionName: pclxl_setdash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    - DA
    - DUB
    - px_put_s
    - px_put_usa
    - px_put_ub
    - px_put_a
    - return_error
    - PX_PUT_LIT
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int pclxl_setdash(gx_device_vector * vdev, const float *pattern, uint
      count,\n              double offset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1373,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1376,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1377,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1380,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1381,1
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1383,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1384,1
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1384,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - vdev
    - lop
    - diff
    argTypes:
    - gx_device_vector*
    - gs_logical_operation_t
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1369
    functionDepth: 3
    functionLinenumber: 1369
    functionLinenumberEnd: 1388
    functionName: pclxl_setlogop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ub
    - px_put_ac
    - gdev_vector_stream
    - lop_rop
    linkageType: ''
    returnType: int
    signature: "int pclxl_setlogop(gx_device_vector * vdev, gs_logical_operation_t
      lop,\n               gs_logical_operation_t diff)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1395
    functionName: pclxl_can_handle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pclxl_can_handle_hl_color(gx_device_vector * vdev, const gs_gstate
      * pgs,\n                          const gx_drawing_color * pdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1397
    functionDepth: 5
    functionLinenumber: 1397
    functionLinenumberEnd: 1404
    functionName: pclxl_setfillcolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_set_color
    linkageType: ''
    returnType: int
    signature: "int pclxl_setfillcolor(gx_device_vector * vdev, const gs_gstate *
      pgs,\n                   const gx_drawing_color * pdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1406
    functionDepth: 5
    functionLinenumber: 1406
    functionLinenumberEnd: 1413
    functionName: pclxl_setstrokecolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_set_color
    linkageType: ''
    returnType: int
    signature: "int pclxl_setstrokecolor(gx_device_vector * vdev, const gs_gstate
      * pgs,\n                     const gx_drawing_color * pdc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1420,1
    - Dst: OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1424,1
    - Dst: OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1424,1
    - Dst: OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1425,1
    - Dst: OUT_OF_RANGE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1425,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1427,1
    - Dst: pclxl_set_paints
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1430,1
    - Dst: px_put_usq_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1431,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1432,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1436,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1437,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1437,1
    - Dst: px_put_usq_fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1441,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - type
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1415
    functionDepth: 5
    functionLinenumber: 1415
    functionLinenumberEnd: 1445
    functionName: pclxl_dorect
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_usq_fixed
    - px_put_ac
    - DA
    - DUB
    - pclxl_set_paints
    - PX_PUT_LIT
    - return_error
    - OUT_OF_RANGE
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int pclxl_dorect(gx_device_vector * vdev, fixed x0, fixed y0, fixed
      x1,\n             fixed y1, gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1424
    functionName: OUT_OF_RANGE
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OUT_OF_RANGE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1451,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1447
    functionDepth: 1
    functionLinenumber: 1447
    functionLinenumberEnd: 1457
    functionName: pclxl_beginpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int pclxl_beginpath(gx_device_vector * vdev, gx_path_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_flush_points
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1464,1
    - Dst: pclxl_set_cursor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1459
    functionDepth: 5
    functionLinenumber: 1459
    functionLinenumberEnd: 1471
    functionName: pclxl_moveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_set_cursor
    - pclxl_flush_points
    linkageType: ''
    returnType: int
    signature: "int pclxl_moveto(gx_device_vector * vdev, double x0, double y0, double
      x,\n             double y, gx_path_type_t type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_flush_points
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1481,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x
    - y
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1473
    functionDepth: 5
    functionLinenumber: 1473
    functionLinenumberEnd: 1502
    functionName: pclxl_lineto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_flush_points
    linkageType: ''
    returnType: int
    signature: "int pclxl_lineto(gx_device_vector * vdev, double x0, double y0, double
      x,\n             double y, gx_path_type_t type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_flush_points
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 10
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1504
    functionDepth: 5
    functionLinenumber: 1504
    functionLinenumberEnd: 1538
    functionName: pclxl_curveto
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_flush_points
    linkageType: ''
    returnType: int
    signature: "int pclxl_curveto(gx_device_vector * vdev, double x0, double y0,\n
      \             double x1, double y1, double x2, double y2, double x3,\n              double
      y3, gx_path_type_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1545,1
    - Dst: pclxl_flush_points
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1546,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - vdev
    - x
    - y
    - x_start
    - y_start
    - type
    argTypes:
    - gx_device_vector*
    - double
    - double
    - double
    - double
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1540
    functionDepth: 5
    functionLinenumber: 1540
    functionLinenumberEnd: 1554
    functionName: pclxl_closepath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - spputc
    - pclxl_flush_points
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: "int pclxl_closepath(gx_device_vector * vdev, double x, double y,\n
      \               double x_start, double y_start, gx_path_type_t type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1560,1
    - Dst: pclxl_flush_points
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1561,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1568,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1570,1
    - Dst: pclxl_set_paints
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1573,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1574,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1578,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1578,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1582,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1584,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1587,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - vdev
    - type
    argTypes:
    - gx_device_vector*
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1556
    functionDepth: 5
    functionLinenumber: 1556
    functionLinenumberEnd: 1590
    functionName: pclxl_endpath
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - px_put_ac
    - DUB
    - DA
    - px_put_ub
    - pclxl_set_paints
    - PX_PUT_LIT
    - pclxl_flush_points
    - spputc
    - gdev_vector_stream
    linkageType: ''
    returnType: int
    signature: int pclxl_endpath(gx_device_vector * vdev, gx_path_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_open_file_options
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1634,1
    - Dst: pclxl_page_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1644,1
    - Dst: px_write_file_header
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1645,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1647,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1651
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1651
    functionName: pclxl_open_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gdev_vector_open_file_options
    - memset
    - pclxl_page_init
    - px_write_file_header
    linkageType: ''
    returnType: int
    signature: int pclxl_open_device(gx_device * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_beginpage
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1664,1
    - Dst: px_put_usa
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1666,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1667,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1668,1
    - Dst: pclxl_page_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1669,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1670,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1671,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1672,1
    - Dst: gx_outputfile_is_separate_pages
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1675,1
    - Dst: pclxl_close_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1677,1
    - Dst: pclxl_open_device
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1679,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1655
    functionDepth: 4
    functionLinenumber: 1655
    functionLinenumberEnd: 1682
    functionName: pclxl_output_page
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_open_device
    - pclxl_beginpage
    - pclxl_page_init
    - gp_ferror
    - px_put_usa
    - gx_finish_output_page
    - gx_outputfile_is_separate_pages
    - return_error
    - spputc
    - sflush
    - pclxl_close_device
    linkageType: ''
    returnType: int
    signature: int pclxl_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1694,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1696,1
    - Dst: px_write_file_trailer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1697,1
    - Dst: gdev_vector_close_file
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1687
    functionDepth: 2
    functionLinenumber: 1687
    functionLinenumberEnd: 1699
    functionName: pclxl_close_device
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 1
    functionsReached:
    - gdev_vector_close_file
    - px_write_file_trailer
    - sflush
    - gp_fputc
    linkageType: ''
    returnType: int
    signature: int pclxl_close_device(gx_device * dev)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1725,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1726,1
    - Dst: gx_default_copy_mono
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1735,1
    - Dst: pclxl_set_cursor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1738,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1743,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1747,1
    - Dst: pclxl_setfillcolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1748,1
    - Dst: pclxl_copy_text_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1749,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1788,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1800,1
    - Dst: RGB_IS_GRAY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1808,1
    - Dst: RGB_IS_GRAY
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1808,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1814,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1826,1
    - Dst: pclxl_set_color_palette
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1829,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1830,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1833,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1833,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1834,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1834,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1837,1
    - Dst: pclxl_write_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1839,1
    - Dst: pclxl_write_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1840,1
    - Dst: pclxl_write_end_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1841,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1708
    functionDepth: 7
    functionLinenumber: 1708
    functionLinenumberEnd: 1843
    functionName: pclxl_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gx_default_copy_mono
    - RGB_IS_GRAY
    - DA
    - gdev_vector_update_clip_path
    - pclxl_write_image_data
    - pclxl_set_cursor
    - pclxl_copy_text_char
    - pclxl_setfillcolor
    - pclxl_set_color_palette
    - pclxl_write_begin_image
    - pclxl_stream
    - rop3_not
    - if_debug2m
    - fit_copy
    - pclxl_write_end_image
    - gdev_vector_update_log_op
    - set_nonclient_dev_color
    - DUB
    - PX_PUT_LIT
    linkageType: ''
    returnType: int
    signature: "int pclxl_copy_mono(gx_device * dev, const byte * data, int data_x,
      int raster,\n                gx_bitmap_id id, int x, int y, int w, int h,\n
      \               gx_color_index zero, gx_color_index one)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1857,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1858,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1866,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1868,1
    - Dst: gx_default_copy_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1883,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1885,1
    - Dst: pclxl_set_cursor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1888,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1889,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1892,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1893,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1893,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1896,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1898,1
    - Dst: pclxl_write_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1900,1
    - Dst: pclxl_write_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1901,1
    - Dst: pclxl_write_end_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1903,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1846
    functionDepth: 7
    functionLinenumber: 1846
    functionLinenumberEnd: 1905
    functionName: pclxl_copy_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_write_end_image
    - gdev_vector_update_log_op
    - pclxl_set_color_space
    - DA
    - DUB
    - pclxl_write_begin_image
    - px_put_ub
    - gdev_vector_update_clip_path
    - pclxl_write_image_data
    - pclxl_stream
    - PX_PUT_LIT
    - gx_default_copy_color
    - pclxl_set_cursor
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int pclxl_copy_color(gx_device * dev,\n                 const byte
      * base, int sourcex, int raster, gx_bitmap_id id,\n                 int x, int
      y, int w, int h)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1921,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1926,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1928,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1930,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1931,1
    - Dst: gdev_vector_update_fill_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1934,1
    - Dst: pclxl_set_cursor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1937,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1939,1
    - Dst: pclxl_copy_text_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1942,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1949,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1955,1
    - Dst: pclxl_set_color_palette
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1958,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1959,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1962,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1962,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1963,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1963,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1966,1
    - Dst: pclxl_write_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1968,1
    - Dst: pclxl_write_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1969,1
    - Dst: pclxl_write_end_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1970,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1908
    functionDepth: 7
    functionLinenumber: 1908
    functionLinenumberEnd: 1972
    functionName: pclxl_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_copy_text_char
    - pclxl_write_end_image
    - gx_default_fill_mask
    - gx_dc_is_pure
    - gdev_vector_update_log_op
    - DA
    - DUB
    - pclxl_set_color_palette
    - pclxl_write_begin_image
    - gdev_vector_update_clip_path
    - gx_dc_pure_color
    - pclxl_stream
    - rop3_not
    - pclxl_set_cursor
    - pclxl_write_image_data
    - PX_PUT_LIT
    - gdev_vector_update_fill_color
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int pclxl_fill_mask(gx_device * dev,\n                const byte *
      data, int data_x, int raster, gx_bitmap_id id,\n                int x, int y,
      int w, int h,\n                const gx_drawing_color * pdcolor, int depth,\n
      \               gs_logical_operation_t lop, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1984,1
    - Dst: rop3_uses_D
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1987,1
    - Dst: gx_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:1988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 1996
    functionName: pclxl_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - gx_default_strip_copy_rop
    - rop3_uses_D
    linkageType: ''
    returnType: int
    signature: "int pclxl_strip_copy_rop(gx_device * dev, const byte * sdata, int
      sourcex,\n                     uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n                     const gx_strip_bitmap * textures,\n
      \                    const gx_color_index * tcolors,\n                     int
      x, int y, int width, int height,\n                     int phase_x, int phase_y,
      gs_logical_operation_t lop)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2042,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2050,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2053,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2053,1
    - Dst: pclxl_nontrivial_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2055,1
    - Dst: pclxl_can_icctransform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2066,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2092,1
    - Dst: pclxl_can_handle_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2093,1
    - Dst: pclxl_can_icctransform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2097,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2106,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2108,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2111,1
    - Dst: gdev_vector_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2114,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2125,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2131,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2133,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2139,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2143,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2145,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2153,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2161,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2169,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2173,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2176,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2185,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2193,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2197,1
    - Dst: pclxl_can_handle_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2226,1
    - Dst: pclxl_can_icctransform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2229,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2235,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2246,1
    - Dst: gdev_vector_update_fill_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2248,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2256,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2262,1
    - Dst: pclxl_set_color_palette
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2265,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2268,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2270,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2274,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2276,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2286,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2288,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2305,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2306,1
    - Dst: pclxl_set_color_palette
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2318,1
    - Dst: pclxl_set_color_palette
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2321,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2328,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2329,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2332,1
    - Dst: pclxl_set_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2334,1
    - Dst: gx_default_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2335,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 186
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2020
    functionDepth: 5
    functionLinenumber: 2020
    functionLinenumberEnd: 2337
    functionName: pclxl_begin_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - rop3_know_T_0
    - pclxl_set_color_space
    - gx_default_begin_image
    - gx_dc_pure_color
    - px_put_ss
    - pclxl_nontrivial_transfer
    - gsicc_get_link
    - gs_matrix_multiply
    - ctm_only
    - pclxl_set_color_palette
    - pclxl_stream
    - rop3_not
    - gs_note_error
    - gdev_vector_update_fill_color
    - gs_matrix_invert
    - gs_free_object
    - gdev_vector_update_log_op
    - gx_dc_is_pure
    - pclxl_can_icctransform
    - gdev_vector_begin_image
    - px_put_ac
    - gs_color_space_num_components
    - return_error
    - pclxl_can_handle_color_space
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int pclxl_begin_image(gx_device * dev,\n                  const gs_gstate
      * pgs, const gs_image_t * pim,\n                  gs_image_format_t format,
      const gs_int_rect * prect,\n                  const gx_drawing_color * pdcolor,\n
      \                 const gx_clip_path * pcpath, gs_memory_t * mem,\n                  gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pie
    - sx
    argTypes:
    - pclxl_image_enum_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2345
      start: 2340
    functionDepth: 0
    functionLinenumber: 2340
    functionLinenumberEnd: 2345
    functionName: image_transform_x
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int image_transform_x(const pclxl_image_enum_t * pie, int sx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pie
    - sy
    argTypes:
    - pclxl_image_enum_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2351
    functionName: image_transform_y
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int image_transform_y(const pclxl_image_enum_t * pie, int sy)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2357,1
    - Dst: image_transform_x
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2360,1
    - Dst: image_transform_y
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2361,1
    - Dst: image_transform_x
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2362,1
    - Dst: image_transform_y
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2363,1
    - Dst: pclxl_set_cursor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2380,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2383,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2384,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2384,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2387,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2388,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2413,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2414,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2414,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2417,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2418,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2438,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2461,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2463,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2465,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2475,1
    - Dst: DUB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2476,1
    - Dst: DA
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2476,1
    - Dst: px_put_ub
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2478,1
    - Dst: PX_PUT_LIT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2479,1
    - Dst: pclxl_write_begin_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2481,1
    - Dst: pclxl_write_image_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2484,1
    - Dst: pclxl_write_end_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2488,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - pie
    argTypes:
    - pclxl_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2353
    functionDepth: 7
    functionLinenumber: 2353
    functionLinenumberEnd: 2490
    functionName: pclxl_image_write_rows
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_write_end_image
    - DA
    - DUB
    - image_transform_y
    - max
    - px_put_ub
    - pclxl_write_begin_image
    - image_transform_x
    - pclxl_stream
    - pclxl_write_image_data
    - PX_PUT_LIT
    - pclxl_set_cursor
    linkageType: ''
    returnType: int
    signature: int pclxl_image_write_rows(pclxl_image_enum_t * pie)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2505,1
    - Dst: pclxl_image_write_rows
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2512,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2523,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2534,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2543,1
    - Dst: gscms_transform_color_buffer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2547,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2493
    functionDepth: 8
    functionLinenumber: 2493
    functionLinenumberEnd: 2558
    functionName: pclxl_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_image_write_rows
    - gscms_transform_color_buffer
    - memcpy
    - gsicc_init_buffer
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pclxl_image_plane_data(gx_image_enum_common_t * info,\n                       const
      gx_image_plane_t * planes, int height,\n                       int *rows_used)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pclxl_image_write_rows
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2569,1
    - Dst: pclxl_stream
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2572,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2577,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2578,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2582,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2583,1
    - Dst: px_put_ss
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2587,1
    - Dst: px_put_ac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2588,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2597,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2598,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2599,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2561
    functionDepth: 8
    functionLinenumber: 2561
    functionLinenumberEnd: 2601
    functionName: pclxl_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - pclxl_image_write_rows
    - px_put_ac
    - px_put_ss
    - pclxl_stream
    - gsicc_release_link
    - gx_image_free_enum
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pclxl_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_get_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2619,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2628,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2631,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2635,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2639,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2641,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2644,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2647,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2650,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2607
    functionDepth: 1
    functionLinenumber: 2607
    functionLinenumberEnd: 2659
    functionName: pclxl_get_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_string
    - gdev_vector_get_params
    - param_write_bool
    - param_write_int
    linkageType: ''
    returnType: int
    signature: "int pclxl_get_params(gx_device * dev,       /* I - Device info */\n
      \                gs_param_list * plist)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: booloption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2739,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2742,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2745,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2749,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2753,1
    - Dst: stringoption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2758,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2762,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2763,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2765,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2768,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2769,1
    - Dst: intoption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2770,1
    - Dst: booloption
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2772,1
    - Dst: gdev_vector_put_params
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2779,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/devices/vector/gdevpx.c:2791,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2799
    functionName: pclxl_put_params
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 0
    functionsReached:
    - intoption
    - param_read_null
    - if_debug0
    - gdev_vector_put_params
    - strcmp
    - param_read_int
    - stringoption
    - strcpy
    - booloption
    - param_read_bool
    linkageType: ''
    returnType: int
    signature: "int pclxl_put_params(gx_device * dev,       /* I - Device info */\n
      \                gs_param_list * plist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - name
    - ','
    - sname
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2697
      start: 2685
    functionDepth: 0
    functionLinenumber: 2685
    functionLinenumberEnd: 2697
    functionName: intoption
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: intoption(name, sname, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2715
      start: 2698
    functionDepth: 0
    functionLinenumber: 2698
    functionLinenumberEnd: 2715
    functionName: booloption
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: booloption(name, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2737
      start: 2716
    functionDepth: 0
    functionLinenumber: 2716
    functionLinenumberEnd: 2737
    functionName: stringoption
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpx.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringoption(name, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: pdf_objname_is_valid
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 2
    functionsReached:
    - memchr
    linkageType: ''
    returnType: bool
    signature: bool pdf_objname_is_valid(const byte *data, uint size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_objname_is_valid
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:50,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:51,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:52,1
    - Dst: cos_dict_find
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:54,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:60,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - pdev
    - pname
    - ppco
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_object_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 61
    functionName: pdf_find_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 0
    functionsReached:
    - pdf_objname_is_valid
    - return_error
    - cos_dict_find
    linkageType: ''
    returnType: int
    signature: "int pdf_find_named(gx_device_pdf * pdev, const gs_param_string * pname,\n
      \              cos_object_t **ppco)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cos_object_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:75,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:77,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:79,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:81,1
    - Dst: cos_object_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:82,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - pdev
    - pname
    - cotype
    - ppco
    - id
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_type_t
    - cos_object_t**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 91
    functionName: pdf_create_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 0
    functionsReached:
    - cos_become
    - cos_object_alloc
    - cos_dict_put
    - pdf_obj_ref
    - return_error
    - cos_object_value
    linkageType: ''
    returnType: int
    signature: "int pdf_create_named(gx_device_pdf *pdev, const gs_param_string *pname,\n
      \                cos_type_t cotype, cos_object_t **ppco, long id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_create_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pdev
    - pname
    - ppcd
    - id
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_dict_t**
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 92
    functionDepth: 4
    functionLinenumber: 92
    functionLinenumberEnd: 101
    functionName: pdf_create_named_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 2
    functionsReached:
    - pdf_create_named
    linkageType: ''
    returnType: int
    signature: "int pdf_create_named_dict(gx_device_pdf *pdev, const gs_param_string
      *pname,\n                      cos_dict_t **ppcd, long id)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:114,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:126,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:128,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:131,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:133,1
    - Dst: pdf_key_eq
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:135,1
    - Dst: pdf_create_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:138,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:143,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:144,1
    - Dst: pdf_find_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:146,1
    - Dst: pdf_page_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:150,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:151,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - pdev
    - pname_orig
    - ppco
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_object_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 154
    functionName: pdf_refer_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 3
    functionsReached:
    - sscanf
    - param_string_from_string
    - COS_OBJECT
    - pdf_find_named
    - pdf_create_named
    - gs_sprintf
    - pdf_page_id
    - memcpy
    - return_error
    - pdf_key_eq
    linkageType: ''
    returnType: int
    signature: "int pdf_refer_named(gx_device_pdf * pdev, const gs_param_string *
      pname_orig,\n                cos_object_t **ppco)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:167,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:172,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:173,1
    - Dst: pdf_obj_ref
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:175,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:176,1
    - Dst: pdf_create_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 5
    argNames:
    - pdev
    - pname
    - cotype
    - ppco
    - assign_id
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_type_t
    - cos_object_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 162
    functionDepth: 5
    functionLinenumber: 162
    functionLinenumberEnd: 184
    functionName: pdf_make_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 2
    functionsReached:
    - cos_become
    - pdf_refer_named
    - pdf_create_named
    - pdf_obj_ref
    - return_error
    - cos_type
    linkageType: ''
    returnType: int
    signature: "int pdf_make_named(gx_device_pdf * pdev, const gs_param_string * pname,\n
      \              cos_type_t cotype, cos_object_t **ppco, bool assign_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_make_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pdev
    - pname
    - ppcd
    - assign_id
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_dict_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 6
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: pdf_make_named_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 3
    functionsReached:
    - pdf_make_named
    linkageType: ''
    returnType: int
    signature: "int pdf_make_named_dict(gx_device_pdf * pdev, const gs_param_string
      * pname,\n                    cos_dict_t **ppcd, bool assign_id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:205,1
    - Dst: cos_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:209,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - pname
    - cotype
    - ppco
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - cos_type_t
    - cos_object_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 5
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: pdf_get_named
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 6
    functionsReached:
    - return_error
    - cos_type
    - pdf_refer_named
    linkageType: ''
    returnType: int
    signature: "int pdf_get_named(gx_device_pdf * pdev, const gs_param_string * pname,\n
      \             cos_type_t cotype, cos_object_t **ppco)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:221,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:222,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:224,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:226,1
    - Dst: cos_array_add_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:229,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:230,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 238
    functionName: pdf_push_namespace
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 1
    functionsReached:
    - cos_dict_alloc
    - COS_OBJECT
    - cos_array_add_object
    - return_error
    - cos_array_alloc
    linkageType: ''
    returnType: int
    signature: int pdf_push_namespace(gx_device_pdf *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_unadd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:248,1
    - Dst: cos_array_unadd
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:251,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:254,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 260
    functionName: pdf_pop_namespace
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 2
    functionsReached:
    - cos_array_unadd
    - COS_FREE
    linkageType: ''
    returnType: int
    signature: int pdf_pop_namespace(gx_device_pdf *pdev)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:290,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:299,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:313,1
    - Dst: s_PSSD_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:338,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:344,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:346,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:351,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:366,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 77
    argCount: 3
    argNames:
    - pscan
    - end
    - ptoken
    argTypes:
    - byte**
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 368
    functionName: pdf_scan_token
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 1
    functionsReached:
    - return_error
    - s_PSSD_init
    - memchr
    linkageType: ''
    returnType: int
    signature: int pdf_scan_token(const byte **pscan, const byte * end, const byte
      **ptoken)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_scan_token
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:383,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:386,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pscan
    - end
    - ptoken_orig
    argTypes:
    - byte**
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 398
    functionName: pdf_scan_token_composite
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 1
    functionsReached:
    - return_error
    - pdf_scan_token
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: "int pdf_scan_token_composite(const byte **pscan, const byte * end,\n
      \                        const byte **ptoken_orig)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_scan_token
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:414,1
    - Dst: pdf_scan_token_composite
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:425,1
    - Dst: pdf_refer_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:436,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 5
    argNames:
    - scan
    - end
    - pname
    - ppco
    - pdev
    argTypes:
    - byte*
    - byte*
    - byte**
    - cos_object_t**
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 401
    functionDepth: 5
    functionLinenumber: 401
    functionLinenumberEnd: 443
    functionName: pdfmark_next_object
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 0
    functionsReached:
    - pdf_scan_token
    - pdf_scan_token_composite
    - pdf_refer_named
    linkageType: ''
    returnType: byte
    signature: "byte *\npdfmark_next_object(const byte * scan, const byte * end, const
      byte **pname,\n                    cos_object_t **ppco, gx_device_pdf * pdev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdfmark_next_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:461,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:465,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:466,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:484,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:486,1
    - Dst: pdfmark_next_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:493,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:497,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:500,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:501,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c:506,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - pdev
    - from
    - to
    argTypes:
    - gx_device_pdf*
    - gs_param_string*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 444
    functionDepth: 6
    functionLinenumber: 444
    functionLinenumberEnd: 512
    functionName: pdf_replace_names
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfr.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gs_sprintf
    - memcpy
    - return_error
    - pdfmark_next_object
    linkageType: ''
    returnType: int
    signature: "int pdf_replace_names(gx_device_pdf * pdev, const gs_param_string
      * from,\n                  gs_param_string * to)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:78,1
    - Dst: pdf_process_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 5
    argNames:
    - penum
    - pstr
    - gdata
    - pfmat
    - ppts
    argTypes:
    - pdf_text_enum_t*
    - gs_string*
    - gs_glyph*
    - gs_matrix*
    - pdf_text_process_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 81
    functionName: pdf_process_string_aux
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - return_error
    - pdf_process_string
    linkageType: ''
    returnType: int
    signature: "int pdf_process_string_aux(pdf_text_enum_t *penum, gs_string *pstr,\n
      \                         const gs_glyph *gdata, const gs_matrix *pfmat,\n                          pdf_text_process_state_t
      *ppts)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:96,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:98,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:100,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:101,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:102,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:103,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:105,1
    - Dst: gs_cmap_ToUnicode_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:143,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:147,1
    - Dst: gs_cmap_ToUnicode_realloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:152,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:157,1
    - Dst: gs_font*::procs::decode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:158,1
    - Dst: gs_cmap_ToUnicode_add_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:162,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:167,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 47
    argCount: 6
    argNames:
    - pdev
    - font
    - pdfont
    - glyph
    - ch
    - gnstr
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t*
    - gs_glyph
    - gs_char
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 169
    functionName: pdf_add_ToUnicode
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - gs_font*::procs::decode_glyph
    - strchr
    - memcmp
    - gs_cmap_ToUnicode_add_pair
    - gs_cmap_ToUnicode_realloc
    - gs_cmap_ToUnicode_alloc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_add_ToUnicode(gx_device_pdf *pdev, gs_font *font, pdf_font_resource_t
      *pdfont,\n                  gs_glyph glyph, gs_char ch, const gs_const_string
      *gnstr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_find_resource_by_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:180,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - client_data
    - key_data
    - key_size
    - v
    argTypes:
    - void*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: process_resources2
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf_find_resource_by_resource_id
    linkageType: ''
    returnType: int
    signature: int process_resources2(void *client_data, const byte *key_data, uint
      key_size, const cos_value_t *v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:195,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:196,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:196,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:199,1
    - Dst: cos_dict_forall
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:202,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - client_data
    - key_data
    - key_size
    - v
    argTypes:
    - void*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 203
    functionName: process_resources1
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - count_of
    - strlen
    - cos_dict_forall
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int process_resources1(void *client_data, const byte *key_data, uint
      key_size, const cos_value_t *v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cos_dict_forall
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:225,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 228
    functionName: pdf_used_charproc_resources
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - cos_dict_forall
    linkageType: ''
    returnType: int
    signature: int pdf_used_charproc_resources(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:253,1
    - Dst: pdf_font_resource_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:254,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:256,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:261,1
    - Dst: gs_font*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:266,1
    - Dst: pdf_base_font_copy_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:277,1
    - Dst: pdf_font_used_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:278,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:285,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:298,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:301,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:306,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:309,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:317,1
    - Dst: gs_copy_glyph_options
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:323,1
    - Dst: gs_copied_font_add_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:324,1
    - Dst: pdf_font_descriptor_drop_complete_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:340,1
    - Dst: gs_font_base*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:347,1
    - Dst: gs_copied_font_add_encoding
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:350,1
    - Dst: pdf_add_ToUnicode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:360,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 5
    argNames:
    - pdev
    - font
    - pdfont
    - ch
    - gdata
    argTypes:
    - gx_device_pdf*
    - gs_font*
    - pdf_font_resource_t*
    - gs_char
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 366
    functionName: pdf_encode_string_element
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - pdf_add_ToUnicode
    - gs_font*::procs::glyph_name
    - gs_copy_glyph_options
    - gs_font_base*::procs::encode_char
    - pdf_font_descriptor_drop_complete_font
    - gs_copied_font_add_encoding
    - emprintf
    - pdf_base_font_copy_glyph
    - return_error
    - pdf_font_used_glyph
    - gs_font*::procs::encode_char
    - pdf_font_resource_font
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int pdf_encode_string_element(gx_device_pdf *pdev, gs_font *font,
      pdf_font_resource_t *pdfont,\n                  gs_char ch, const gs_glyph *gdata)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:389,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:392,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:393,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:394,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:395,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:423,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:424,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:425,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:426,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:427,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:427,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:427,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:428,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:428,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:428,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:434,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:434,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:437,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:438,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:439,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:440,1
    - Dst: gs_font_base*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:449,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:455,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:457,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:458,1
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:477,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:481,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:482,1
    - Dst: gs_text_replaced_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:496,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:497,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:497,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:499,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:503,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:505,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:510,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:512,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:519,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:520,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:521,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:522,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:525,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:525,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:525,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:526,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:526,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:526,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:527,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:527,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:527,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:528,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:528,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:528,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:530,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:531,1
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:543,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 86
    argCount: 6
    argNames:
    - pte
    - font
    - pstr
    - pfmat
    - text_bbox
    - pdpt
    argTypes:
    - pdf_text_enum_t*
    - gs_font_base*
    - gs_const_string*
    - gs_matrix*
    - gs_rect*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 547
    functionName: process_text_estimate_bbox
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - gs_font_base*::procs::enumerate_glyph
    - gx_path_current_point
    - ctm_only
    - gs_font_base*::procs::encode_char
    - gs_font_glyph_is_notdef
    - gs_text_replaced_width
    - gs_distance_transform
    - max
    - rect_merge
    - gs_font_base*::procs::glyph_info
    - memset
    - fabs
    - return_error
    - gs_point_transform
    - min
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int process_text_estimate_bbox(pdf_text_enum_t *pte, gs_font_base
      *font,\n                          const gs_const_string *pstr,\n                          const
      gs_matrix *pfmat,\n                          gs_rect *text_bbox, gs_point *pdpt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pdfont
    - str
    - size
    argTypes:
    - pdf_font_resource_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 562
    functionName: adjust_first_last_char
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adjust_first_last_char(pdf_font_resource_t *pdfont, byte *str,
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:567,1
    - Dst: gx_current_path
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:567,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:568,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - wpt
    argTypes:
    - pdf_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 570
    functionName: pdf_shift_text_currentpoint
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 2
    functionsReached:
    - fixed2float
    - gs_moveto_aux
    - gx_current_path
    linkageType: ''
    returnType: int
    signature: int pdf_shift_text_currentpoint(pdf_text_enum_t *penum, gs_point *wpt)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: pdf_obtain_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:602,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:608,1
    - Dst: process_text_estimate_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:621,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:628,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:629,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:630,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:631,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:632,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:633,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:644,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:648,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:649,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:650,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:651,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:667,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:668,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:669,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:670,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:671,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:671,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:671,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:672,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:672,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:672,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:673,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:673,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:673,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:674,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:674,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:674,1
    - Dst: pdf_update_text_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:684,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:688,1
    - Dst: process_text_return_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:713,1
    - Dst: pdf_append_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:721,1
    - Dst: adjust_first_last_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:725,1
    - Dst: process_text_modify_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:760,1
    - Dst: adjust_first_last_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:770,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:788,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:792,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:793,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:794,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:795,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:797,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:798,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:799,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:800,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:801,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:801,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:801,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:802,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:802,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:802,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:803,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:803,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:803,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:804,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:804,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:804,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:819,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:820,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:821,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:822,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:825,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:826,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:826,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:827,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:828,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:829,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:831,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:832,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:833,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:845,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:845,1
    - Dst: pdf_shift_text_currentpoint
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:850,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 176
    argCount: 5
    argNames:
    - penum
    - pstr
    - pfmat
    - ppts
    - gdata
    argTypes:
    - pdf_text_enum_t*
    - gs_string*
    - gs_matrix*
    - pdf_text_process_state_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 587
    functionDepth: 11
    functionLinenumber: 587
    functionLinenumberEnd: 855
    functionName: pdf_process_string
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - gx_path_current_point
    - gs_distance_transform_inverse
    - pdf_update_text_state
    - max
    - gx_default_fill_triangle
    - gx_device_black
    - gs_matrix_multiply
    - pdf_append_chars
    - ctm_only
    - gx_cpath_outer_box
    - rect_intersect
    - gs_point_transform
    - min
    - pdf_obtain_font_resource
    - float2fixed
    - gx_make_clip_device_on_stack
    - pdf_shift_text_currentpoint
    - process_text_estimate_bbox
    - adjust_first_last_char
    - process_text_modify_width
    - memchr
    - set_nonclient_dev_color
    - process_text_return_width
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf_process_string(pdf_text_enum_t *penum, gs_string *pstr,\n
      \                  const gs_matrix *pfmat,\n                   pdf_text_process_state_t
      *ppts, const gs_glyph *gdata)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:874,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:879,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:881,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:883,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:895,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:907,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:926,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:931,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 74
    argCount: 5
    argNames:
    - pdev
    - pdfont
    - ch
    - font
    - pwidths
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    - int
    - gs_font_base*
    - pdf_glyph_widths_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 969
    functionName: pdf_char_widths
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf_glyph_widths
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int pdf_char_widths(gx_device_pdf *const pdev,\n                pdf_font_resource_t
      *pdfont, int ch, gs_font_base *font,\n                pdf_glyph_widths_t *pwidths
      /* may be NULL */)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:989,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 2
    argNames:
    - pdfont
    - pwidths
    argTypes:
    - pdf_font_resource_t*
    - pdf_glyph_widths_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1001
    functionName: pdf_char_widths_to_uts
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: void
    signature: "void pdf_char_widths_to_uts(pdf_font_resource_t *pdfont /* may be
      NULL for non-Type3 */,\n                       pdf_glyph_widths_t *pwidths)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1024,1
    - Dst: pdf_encode_string_element
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1037,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1069,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1069,1
    - Dst: gx_lookup_cached_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1073,1
    - Dst: pdf_char_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1080,1
    - Dst: pdf_char_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1085,1
    - Dst: pdf_char_widths_to_uts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1094,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1115,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1121,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1122,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1129,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1130,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 64
    argCount: 8
    argNames:
    - pte
    - font
    - ppts
    - pstr
    - gdata
    - pdpt
    - accepted
    - bbox
    argTypes:
    - pdf_text_enum_t*
    - gs_font_base*
    - pdf_text_process_state_t*
    - gs_const_string*
    - gs_glyph*
    - gs_point*
    - int*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1007
    functionDepth: 6
    functionLinenumber: 1007
    functionLinenumberEnd: 1137
    functionName: process_text_return_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - pdf_char_widths_to_uts
    - pdf_char_widths
    - gx_lookup_cached_char
    - gx_lookup_fm_pair
    - ctm_only
    - pdf_encode_string_element
    - gs_distance_transform
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int process_text_return_width(const pdf_text_enum_t *pte, gs_font_base
      *font,\n                          pdf_text_process_state_t *ppts,\n                          const
      gs_const_string *pstr, const gs_glyph *gdata,\n                          gs_point
      *pdpt, int *accepted, gs_rect *bbox)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1167,1
    - Dst: gs_text_enum_t::orig_font::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1197,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1199,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1211,1
    - Dst: pdf_find_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1215,1
    - Dst: pdf_char_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1217,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1224,1
    - Dst: pdf_encode_string_element
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1231,1
    - Dst: pdf_glyph_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1236,1
    - Dst: pdf_char_widths
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1239,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1259,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1259,1
    - Dst: gx_lookup_cached_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1263,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1284,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1285,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1286,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1287,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1288,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1289,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1290,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1291,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1292,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1293,1
    - Dst: gs_text_enum_copy_dynamic
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1296,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1327,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1330,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1332,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1333,1
    - Dst: pdf_set_text_state_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1337,1
    - Dst: pdf_char_widths_to_uts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1342,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1344,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1347,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1360,1
    - Dst: pdf_append_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1367,1
    - Dst: pdf_append_chars
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1369,1
    - Dst: gs_text_replaced_width
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1389,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1391,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1392,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1392,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1395,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1399,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1401,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1409,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1411,1
    - Dst: pdf_set_text_state_values
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1421,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 156
    argCount: 8
    argNames:
    - pte
    - font
    - ppts
    - pstr
    - pdpt
    - gdata
    - composite
    - decoded_bytes
    argTypes:
    - pdf_text_enum_t*
    - gs_font*
    - pdf_text_process_state_t*
    - gs_const_string*
    - gs_point*
    - gs_glyph*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1147
    functionDepth: 9
    functionLinenumber: 1147
    functionLinenumberEnd: 1429
    functionName: process_text_modify_width
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 2
    functionsReached:
    - pdf_char_widths_to_uts
    - pdf_char_widths
    - gs_text_enum_t::orig_font::procs::next_char_glyph
    - pdf_glyph_widths
    - gx_lookup_cached_char
    - gx_lookup_fm_pair
    - pdf_append_chars
    - pdf_find_glyph
    - ctm_only
    - pdf_encode_string_element
    - gs_text_replaced_width
    - gs_distance_transform
    - gs_text_enum_copy_dynamic
    - pdf_set_text_state_values
    - floor
    - return_error
    - pdf_attached_font_resource
    linkageType: ''
    returnType: int
    signature: "int process_text_modify_width(pdf_text_enum_t *pte, gs_font *font,\n
      \                         pdf_text_process_state_t *ppts,\n                          const
      gs_const_string *pstr,\n                          gs_point *pdpt, const gs_glyph
      *gdata, bool composite, int decoded_bytes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1444,1
    - Dst: gs_font_base*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1446,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1453,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - bfont
    - glyph0
    - buf
    - buf_size
    - char_code_length
    argTypes:
    - gs_font_base*
    - gs_glyph
    - byte*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1454
    functionName: pdf_encode_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_font_base*::procs::encode_char
    linkageType: ''
    returnType: int
    signature: "int pdf_encode_glyph(gs_font_base *bfont, gs_glyph glyph0,\n            byte
      *buf, int buf_size, int *char_code_length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1476,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1491,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1496,1
    - Dst: pdf_is_simple_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1527,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1528,1
    - Dst: pdf_encode_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1535,1
    - Dst: pdf_attached_font_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1547,1
    - Dst: pdf_obtain_font_resource_unencoded
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1563,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1579,1
    - Dst: pdf_process_string_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1584,1
    - Dst: pdf_process_string_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdte.c:1591,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 3
    argNames:
    - pte
    - vbuf
    - bsize
    argTypes:
    - gs_text_enum_t*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1461
    functionDepth: 11
    functionLinenumber: 1461
    functionLinenumberEnd: 1594
    functionName: process_plain_text
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdte.c
    functionUses: 1
    functionsReached:
    - pdf_obtain_font_resource_unencoded
    - pdf_encode_glyph
    - memcpy
    - pdf_process_string_aux
    - return_error
    - pdf_attached_font_resource
    - pdf_is_simple_font
    linkageType: ''
    returnType: int
    signature: int process_plain_text(gs_text_enum_t *pte, void *vbuf, uint bsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfdc
    argTypes:
    - pdf_font_descriptor_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: pdf_font_descriptor_common_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - pdf_resource_id
    linkageType: ''
    returnType: long
    signature: long pdf_font_descriptor_common_id(const pdf_font_descriptor_common_t
      *pfdc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:133,1
    - Dst: pdf_font_descriptor_common_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:133,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:135,1
    - Dst: pdf_find_base14_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:137,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:139,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:139,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:141,1
    - Dst: pdf_put_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:143,1
    - Dst: pdf_write_font_bbox
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:145,1
    - Dst: s_init_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:147,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:152,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:153,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:154,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:155,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:156,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:160,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:161,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:162,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:163,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:164,1
    - Dst: DESC_INT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:165,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:175,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:178,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:181,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:182,1
    - Dst: s_release_param_printer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:185,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pdev
    - pfd
    - embed
    argTypes:
    - gx_device_pdf*
    - pdf_font_descriptor_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 188
    functionName: write_FontDescriptor_common
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_write_font_bbox
    - pdf_put_name
    - pdf_find_base14_name
    - s_init_param_printer
    - strlen
    - DESC_INT
    - pdf_font_descriptor_common_id
    - gs_param_write_items
    - memset
    - pdf_open_separate
    - s_release_param_printer
    - param_write_int
    linkageType: ''
    returnType: int
    signature: "int write_FontDescriptor_common(gx_device_pdf *pdev,\n                            const
      pdf_font_descriptor_common_t *pfd, bool embed)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: DESC_INT
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DESC_INT(str, memb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:202,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:208,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:211,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:215,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:216,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pdev
    - ppfd
    - font
    - embed
    argTypes:
    - gx_device_pdf*
    - pdf_font_descriptor_t**
    - gs_font_base*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 196
    functionDepth: 5
    functionLinenumber: 196
    functionLinenumberEnd: 222
    functionName: pdf_font_descriptor_alloc
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_alloc
    - pdf_alloc_resource
    - offset_of
    - memset
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_font_descriptor_alloc(gx_device_pdf *pdev, pdf_font_descriptor_t
      **ppfd,\n                          gs_font_base *font, bool embed)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_copied_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:236,1
    - Dst: gs_free_copied_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:239,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:243,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:247,1
    - Dst: cos_object_memory
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:247,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 255
    functionName: pdf_font_descriptor_free
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - cos_object_memory
    - gs_free_string
    - gs_free_object
    - gs_free_copied_font
    linkageType: ''
    returnType: int
    signature: int pdf_font_descriptor_free(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 262
    functionName: pdf_font_descriptor_id
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_resource_id
    linkageType: ''
    returnType: long
    signature: long pdf_font_descriptor_id(const pdf_font_descriptor_t *pfd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:266,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:268,1
    - Dst: pdf_record_usage_by_parent
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pdev
    - parent_id
    - pfd
    argTypes:
    - gx_device_pdf*
    - int
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 274
    functionName: pdf_set_font_descriptor_usage
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_record_usage_by_parent
    - pdf_resource_id
    linkageType: ''
    returnType: long
    signature: long pdf_set_font_descriptor_usage(gx_device_pdf *pdev, int parent_id,
      const pdf_font_descriptor_t *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: pdf_font_descriptor_FontType
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: font_type
    signature: font_type pdf_font_descriptor_FontType(const pdf_font_descriptor_t
      *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: pdf_font_descriptor_embedding
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf_font_descriptor_embedding(const pdf_font_descriptor_t *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_is_subset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: pdf_font_descriptor_is_subset
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_is_subset
    linkageType: ''
    returnType: bool
    signature: bool pdf_font_descriptor_is_subset(const pdf_font_descriptor_t *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    functionName: pdf_font_descriptor_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_string
    signature: gs_string *pdf_font_descriptor_name(pdf_font_descriptor_t *pfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 325
    functionName: pdf_fontfile_hash
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *pdf_fontfile_hash(void *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfd
    - complete
    argTypes:
    - pdf_font_descriptor_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: pdf_font_descriptor_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 4
    functionsReached:
    - pdf_base_font_font
    linkageType: ''
    returnType: gs_font_base
    signature: 'gs_font_base *

      pdf_font_descriptor_font(const pdf_font_descriptor_t *pfd, bool complete)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_drop_complete
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: pdf_font_descriptor_drop_complete_font
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_drop_complete
    linkageType: ''
    returnType: void
    signature: void pdf_font_descriptor_drop_complete_font(const pdf_font_descriptor_t
      *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pfd
    argTypes:
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: pdf_font_descriptor_base_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_base_font_name
    linkageType: ''
    returnType: gs_string
    signature: gs_string *pdf_font_descriptor_base_name(const pdf_font_descriptor_t
      *pfd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_copy_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfd
    - glyph
    - font
    argTypes:
    - pdf_font_descriptor_t*
    - gs_glyph
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 359
    functionDepth: 5
    functionLinenumber: 359
    functionLinenumberEnd: 364
    functionName: pdf_font_used_glyph
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 2
    functionsReached:
    - pdf_base_font_copy_glyph
    linkageType: ''
    returnType: int
    signature: "int pdf_font_used_glyph(pdf_font_descriptor_t *pfd, gs_glyph glyph,\n
      \                   gs_font_base *font)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: pdf_base_font_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:370,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:390,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:391,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:392,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:393,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:415,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:434,1
    - Dst: gs_font_base*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:449,1
    - Dst: gs_font_base*::procs::glyph_info
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:458,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:477,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:479,1
    - Dst: gs_font_base*::procs::glyph_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:493,1
    - Dst: gs_c_name_glyph
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:500,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:509,1
    - Dst: gs_c_decode
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:510,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:518,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:522,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:532,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:542,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:546,1
    - Dst: min
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:549,1
    - Dst: max
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:552,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:569,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 171
    argCount: 2
    argNames:
    - pdev
    - pfd
    argTypes:
    - gx_device_pdf*
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 623
    functionName: pdf_compute_font_descriptor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - gs_font_base*::procs::enumerate_glyph
    - atan2
    - pdf_base_font_font
    - gs_font_glyph_is_notdef
    - max
    - gs_font_base*::procs::glyph_info
    - strncmp
    - memset
    - gs_font_base*::procs::glyph_name
    - memcmp
    - gs_matrix_scale
    - gs_c_name_glyph
    - gs_make_scaling
    - min
    - gs_c_decode
    linkageType: ''
    returnType: int
    signature: int pdf_compute_font_descriptor(gx_device_pdf *pdev, pdf_font_descriptor_t
      *pfd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_compute_font_descriptor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:638,1
    - Dst: pdf_write_embedded_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:640,1
    - Dst: pdf_set_FontFile_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 629
    functionDepth: 4
    functionLinenumber: 629
    functionLinenumberEnd: 648
    functionName: pdf_finish_FontDescriptor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - pdf_set_FontFile_object
    - pdf_write_embedded_font
    - pdf_compute_font_descriptor
    linkageType: ''
    returnType: int
    signature: int pdf_finish_FontDescriptor(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: pdf_do_subset_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:669,1
    - Dst: pdf_write_CIDSet
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:671,1
    - Dst: write_FontDescriptor_common
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:701,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:707,1
    - Dst: pdf_do_subset_font
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:708,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:712,1
    - Dst: pdf_write_CharSet
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:713,1
    - Dst: pdf_write_FontFile_entry
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:718,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:723,1
    - Dst: COS_WRITE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:724,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:727,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:730,1
    - Dst: COS_WRITE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:731,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:733,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:734,1
    - Dst: pdf_get_FontFile_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:736,1
    - Dst: COS_WRITE_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:738,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 651
    functionDepth: 6
    functionLinenumber: 651
    functionLinenumberEnd: 744
    functionName: pdf_write_FontDescriptor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_get_FontFile_object
    - write_FontDescriptor_common
    - pprintld1
    - pdf_write_CIDSet
    - pprints1
    - pdf_end_separate
    - COS_WRITE_OBJECT
    - COS_WRITE
    - pdf_write_FontFile_entry
    - pdf_do_subset_font
    - pdf_write_CharSet
    linkageType: ''
    returnType: int
    signature: int pdf_write_FontDescriptor(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 758
    functionName: pdf_release_FontDescriptor_components
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_release_FontDescriptor_components(gx_device_pdf *pdev, pdf_resource_t
      *pres)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - pfd
    argTypes:
    - gx_device_pdf*
    - pdf_font_descriptor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 763
    functionDepth: 3
    functionLinenumber: 763
    functionLinenumberEnd: 769
    functionName: pdf_mark_font_descriptor_used
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - pdf_reserve_object_id
    linkageType: ''
    returnType: int
    signature: int pdf_mark_font_descriptor_used(gx_device_pdf *pdev, pdf_font_descriptor_t
      *pfd)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:789,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:792,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:793,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:794,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:797,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:798,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:802,1
    - Dst: gs_font*::procs::encode_char
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c:812,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 2
    argNames:
    - pdev
    - pdfont
    argTypes:
    - gx_device_pdf*
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 824
    functionName: pdf_convert_truetype_font_descriptor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached:
    - return_error
    - memset
    - gs_font*::procs::encode_char
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int pdf_convert_truetype_font_descriptor(gx_device_pdf *pdev, pdf_font_resource_t
      *pdfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pdfont
    argTypes:
    - pdf_font_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 840
    functionName: mark_font_descriptor_symbolic
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdtd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mark_font_descriptor_symbolic(const pdf_font_resource_t *pdfont)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:65,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:66,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:67,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:68,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:101,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:102,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:104,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:105,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:109,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:116,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 55
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_pdf*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 118
    functionName: pdf_save_viewer_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 3
    functionsReached:
    - stream_puts
    - gs_alloc_bytes
    - memset
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_save_viewer_state(gx_device_pdf *pdev, stream *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:151,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:152,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:154,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:155,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_pdf*
    - pdf_viewer_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 165
    functionName: pdf_load_viewer_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - gs_alloc_bytes
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf_load_viewer_state(gx_device_pdf *pdev, pdf_viewer_state *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:175,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:180,1
    - Dst: pdf_load_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - s
    argTypes:
    - gx_device_pdf*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: pdf_restore_viewer_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 6
    functionsReached:
    - return_error
    - pdf_load_viewer_state
    - stream_puts
    linkageType: ''
    returnType: int
    signature: int pdf_restore_viewer_state(gx_device_pdf *pdev, stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:192,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:193,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:194,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:195,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - pdev
    - saved_fill_color
    - saved_stroke_color
    - fill_used_process_color
    - stroke_used_process_color
    argTypes:
    - gx_device_pdf*
    - gx_hl_saved_color*
    - gx_hl_saved_color*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: pdf_set_initial_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gx_hld_save_color
    - gx_device_white
    - set_nonclient_dev_color
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: "void pdf_set_initial_color(gx_device_pdf * pdev, gx_hl_saved_color
      *saved_fill_color,\n                    gx_hl_saved_color *saved_stroke_color,\n
      \                   bool *fill_used_process_color, bool *stroke_used_process_color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 2
    argNames:
    - pvs
    - pgs
    argTypes:
    - pdf_viewer_state*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 243
    functionName: pdf_viewer_state_from_gs_gstate_aux
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void pdf_viewer_state_from_gs_gstate_aux(pdf_viewer_state *pvs, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_viewer_state_from_gs_gstate_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:252,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:255,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:256,1
    - Dst: pdf_load_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pdev
    - pgs
    - pdevc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: pdf_viewer_state_from_gs_gstate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 3
    functionsReached:
    - pdf_viewer_state_from_gs_gstate_aux
    - gx_hld_save_color
    - pdf_load_viewer_state
    linkageType: ''
    returnType: void
    signature: "void pdf_viewer_state_from_gs_gstate(gx_device_pdf * pdev,\n        const
      gs_gstate *pgs, const gx_device_color *pdevc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_initial_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:275,1
    - Dst: pdf_viewer_state_from_gs_gstate_aux
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - pgs
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: pdf_prepare_initial_viewer_state
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 2
    functionsReached:
    - pdf_viewer_state_from_gs_gstate_aux
    - pdf_set_initial_color
    linkageType: ''
    returnType: void
    signature: void pdf_prepare_initial_viewer_state(gx_device_pdf * pdev, const gs_gstate
      *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_set_initial_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:292,1
    - Dst: pdf_reset_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: pdf_reset_graphics_old
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_set_initial_color
    - pdf_reset_text
    linkageType: ''
    returnType: void
    signature: void pdf_reset_graphics_old(gx_device_pdf * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_load_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:318,1
    - Dst: pdf_reset_graphics_old
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:320,1
    - Dst: pdf_reset_text
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:321,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_pdf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: pdf_reset_graphics
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 4
    functionsReached:
    - pdf_reset_graphics_old
    - pdf_load_viewer_state
    - pdf_reset_text
    linkageType: ''
    returnType: void
    signature: void pdf_reset_graphics(gx_device_pdf * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_get_number_color_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:332,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:334,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:334,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:336,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pdev
    - pgs
    - pcc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 339
    functionName: pdf_write_ccolor
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pprintg1
    - psdf_round
    - gx_hld_get_number_color_components
    linkageType: ''
    returnType: int
    signature: "int pdf_write_ccolor(gx_device_pdf * pdev, const gs_gstate * pgs,\n
      \               const gs_client_color *pcc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - pdev
    - csi
    argTypes:
    - gx_device_pdf*
    - gs_color_space_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 360
    functionName: is_cspace_allowed_in_strategy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_cspace_allowed_in_strategy(gx_device_pdf * pdev, gs_color_space_index
      csi)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_pattern2_get_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:365,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:366,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:369,1
    - Dst: is_cspace_allowed_in_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - pdc
    argTypes:
    - gx_device_pdf*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 372
    functionName: is_pattern2_allowed_in_strategy
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gx_dc_pattern2_get_color_space
    - is_cspace_allowed_in_strategy
    - gs_color_space_get_index
    - gsicc_get_default_type
    linkageType: ''
    returnType: bool
    signature: bool is_pattern2_allowed_in_strategy(gx_device_pdf * pdev, const gx_drawing_color
      *pdc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:380,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:384,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:386,1
    - Dst: gx_remap_concrete_DGray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:388,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pdev
    - pgs
    - pcc
    - cc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_client_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 395
    functionName: apply_transfer_gray
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - pdf_set_process_color_model
    - gx_remap_concrete_DGray
    - ushort2frac
    linkageType: ''
    returnType: int
    signature: int apply_transfer_gray(gx_device_pdf * pdev, const gs_gstate * pgs,
      gs_client_color *pcc, gs_client_color *cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:402,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:406,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:409,1
    - Dst: gx_remap_concrete_DRGB
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:411,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - pdev
    - pgs
    - pcc
    - cc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_client_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 397
    functionDepth: 2
    functionLinenumber: 397
    functionLinenumberEnd: 420
    functionName: apply_transfer_rgb
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - pdf_set_process_color_model
    - ushort2frac
    - gx_remap_concrete_DRGB
    linkageType: ''
    returnType: int
    signature: int apply_transfer_rgb(gx_device_pdf * pdev, const gs_gstate * pgs,
      gs_client_color *pcc, gs_client_color *cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:427,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:431,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:434,1
    - Dst: gx_remap_concrete_DCMYK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:436,1
    - Dst: pdf_set_process_color_model
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pdev
    - pgs
    - pcc
    - cc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_client_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 446
    functionName: apply_transfer_cmyk
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_DCMYK
    - gs_currentcolorspace_inline
    - pdf_set_process_color_model
    - ushort2frac
    linkageType: ''
    returnType: int
    signature: int apply_transfer_cmyk(gx_device_pdf * pdev, const gs_gstate * pgs,
      gs_client_color *pcc, gs_client_color *cc)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:463,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:466,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:476,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:477,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:481,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:483,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:501,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:503,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:503,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:503,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:505,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:505,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:505,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:507,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:515,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:518,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:520,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:521,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:530,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:531,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:532,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:535,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:537,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:538,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:542,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:550,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:559,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:563,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:567,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:570,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:573,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:575,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:576,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:580,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    argCount: 7
    argNames:
    - pdev
    - pgs
    - pcs
    - pdc
    - used_process_color
    - ppscc
    - pcc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_color_space*
    - gx_drawing_color*
    - bool*
    - psdf_set_color_commands_t*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 581
    functionName: write_color_as_process
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pprintg1
    - gs_color_space_get_index
    - dev_proc
    - gsicc_get_device_profile_comps
    - pprints1
    - frac2float
    - memset
    - psdf_round
    - psdf_set_color
    - return_error
    - gsicc_get_default_type
    - gs_color_space*::type::concretize_color
    linkageType: ''
    returnType: int
    signature: "int write_color_as_process(gx_device_pdf * pdev, const gs_gstate *
      pgs, const gs_color_space *pcs,\n                        const gx_drawing_color
      *pdc, bool *used_process_color,\n                        const psdf_set_color_commands_t
      *ppscc, gs_client_color *pcc)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:596,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:598,1
    - Dst: apply_transfer_gray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:605,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:607,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:611,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:614,1
    - Dst: apply_transfer_rgb
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:619,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:621,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:626,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:629,1
    - Dst: apply_transfer_cmyk
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:634,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:636,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:641,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:644,1
    - Dst: gx_hld_saved_color_same_cspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:647,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:650,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:657,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:659,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:665,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:668,1
    - Dst: rescale_cie_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:673,1
    - Dst: rescale_cie_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:676,1
    - Dst: rescale_cie_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:679,1
    - Dst: rescale_cie_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:682,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:688,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:690,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:695,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:700,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:702,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:707,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:710,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 112
    argCount: 9
    argNames:
    - pdev
    - pgs
    - pcc
    - current
    - psc
    - ppscc
    - used_process_color
    - pcs
    - pdc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_client_color*
    - gx_hl_saved_color*
    - gx_hl_saved_color*
    - psdf_set_color_commands_t*
    - bool*
    - gs_color_space*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 583
    functionDepth: 9
    functionLinenumber: 583
    functionLinenumberEnd: 717
    functionName: write_color_unchanged
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_write_ccolor
    - pdf_color_space_named
    - gx_hld_saved_color_same_cspace
    - gs_color_space_get_index
    - cos_value_write
    - return_error
    - rescale_cie_color
    - apply_transfer_rgb
    - write_color_as_process
    - pprints1
    - apply_transfer_cmyk
    - psdf_set_color
    - apply_transfer_gray
    - gsicc_get_default_type
    linkageType: ''
    returnType: int
    signature: "int write_color_unchanged(gx_device_pdf * pdev, const gs_gstate *
      pgs,\n                          gs_client_color *pcc, gx_hl_saved_color *current,\n
      \                         gx_hl_saved_color * psc, const psdf_set_color_commands_t
      *ppscc,\n                          bool *used_process_color, const gs_color_space
      *pcs,\n                          const gx_drawing_color *pdc)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_saved_color_same_cspace
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:727,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:728,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:733,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:737,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:740,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:742,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:742,1
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:743,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:744,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:744,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:746,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:749,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:749,1
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:750,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:751,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:751,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:753,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 9
    argNames:
    - pdev
    - pgs
    - pcs
    - pdc
    - psc
    - used_process_color
    - ppscc
    - pcc
    - current
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_color_space*
    - gx_drawing_color*
    - gx_hl_saved_color*
    - bool*
    - psdf_set_color_commands_t*
    - gs_client_color*
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 719
    functionDepth: 9
    functionLinenumber: 719
    functionLinenumberEnd: 756
    functionName: write_color_as_process_ICC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_color_space_named
    - pprintg1
    - gx_hld_saved_color_same_cspace
    - cos_value_write
    - write_color_as_process
    - pprints1
    - psdf_round
    - gs_color_space*::type::num_components
    linkageType: ''
    returnType: int
    signature: "int write_color_as_process_ICC(gx_device_pdf * pdev, const gs_gstate
      * pgs, const gs_color_space *pcs,\n                        const gx_drawing_color
      *pdc, gx_hl_saved_color * psc, bool *used_process_color,\n                        const
      psdf_set_color_commands_t *ppscc, gs_client_color *pcc,\n                        gx_hl_saved_color
      *current)"
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:771,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:777,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:779,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:781,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:782,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:784,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:785,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:787,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:799,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:805,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:808,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:837,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:838,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:841,1
    - Dst: apply_transfer_gray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:846,1
    - Dst: apply_transfer_rgb
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:850,1
    - Dst: apply_transfer_cmyk
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:853,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:860,1
    - Dst: pdf_make_sampled_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:878,1
    - Dst: pdf_make_sampled_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:882,1
    - Dst: pdf_make_sampled_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:885,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:891,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:893,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:897,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:897,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:899,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:908,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:911,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:912,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:917,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:918,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:921,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:924,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:926,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:930,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:931,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:933,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:934,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:939,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:943,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:946,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:951,1
    - Dst: pdf_function_scaled
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:953,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:955,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:957,1
    - Dst: cos_dict_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:963,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:969,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:970,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:972,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:975,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:976,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:977,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:980,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:985,1
    - Dst: pdf_color_space_named
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:986,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:988,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:991,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:993,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:996,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:999,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1003,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1006,1
    - Dst: cos_dict_put
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1010,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1013,1
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1017,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1019,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1024,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1025,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1027,1
    - Dst: pdf_delete_sampled_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1033,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1043,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1046,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1049,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1056,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1058,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1058,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1060,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1063,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1071,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1071,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1072,1
    - Dst: pdf_indexed_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1073,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1084,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1087,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1090,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1097,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1099,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1099,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1101,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1104,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1110,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1114,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1114,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1116,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1116,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1117,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1122,1
    - Dst: COS_RESOURCE_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1122,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1124,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1124,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 270
    argCount: 9
    argNames:
    - pdev
    - pgs
    - pcs
    - pdc
    - used_process_color
    - ppscc
    - pcc
    - pvalue
    - by_name
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_color_space*
    - gx_drawing_color*
    - bool*
    - psdf_set_color_commands_t*
    - gs_client_color*
    - cos_value_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 758
    functionDepth: 9
    functionLinenumber: 758
    functionLinenumberEnd: 1127
    functionName: convert_DeviceN_alternate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - pdf_string_to_cos_name
    - pdf_make_sampled_base_space_function
    - gs_alloc_bytes
    - strlen
    - COS_FREE
    - cos_array_alloc
    - COS_RESOURCE_VALUE
    - cos_become
    - pdf_color_space_named
    - pdf_indexed_color_space
    - pprintg1
    - gs_color_space_get_index
    - cos_array_add
    - return_error
    - COS_OBJECT
    - pdf_alloc_resource
    - apply_transfer_cmyk
    - pdf_reserve_object_id
    - pdf_delete_sampled_base_space_function
    - frac2float
    - memset
    - pprints1
    - discard
    - gs_free_object
    - gs_color_space*::type::concretize_color
    - pow
    - cos_dict_alloc
    - pdf_add_resource
    - cos_write_object
    - apply_transfer_rgb
    - pdf_function_scaled
    - pdf_substitute_resource
    - cos_dict_put
    - psdf_round
    - apply_transfer_gray
    - cos_c_string_value
    - COS_OBJECT_VALUE
    linkageType: ''
    returnType: int
    signature: "int convert_DeviceN_alternate(gx_device_pdf * pdev, const gs_gstate
      * pgs, const gs_color_space *pcs,\n                        const gx_drawing_color
      *pdc, bool *used_process_color,\n                        const psdf_set_color_commands_t
      *ppscc, gs_client_color *pcc, cos_value_t *pvalue, bool by_name)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1146,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1158,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1164,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1167,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1169,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1172,1
    - Dst: apply_transfer_gray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1177,1
    - Dst: apply_transfer_rgb
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1181,1
    - Dst: apply_transfer_cmyk
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1184,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1191,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1198,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1213,1
    - Dst: gs_color_space*::type::concretize_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1214,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1217,1
    - Dst: apply_transfer_gray
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1222,1
    - Dst: apply_transfer_rgb
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1226,1
    - Dst: apply_transfer_cmyk
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1229,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1236,1
    - Dst: pdf_make_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1254,1
    - Dst: pdf_make_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1258,1
    - Dst: pdf_make_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1261,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1269,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1273,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1273,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1275,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1280,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1283,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1287,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1289,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1292,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1296,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1298,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1304,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1308,1
    - Dst: cos_c_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1311,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1316,1
    - Dst: pdf_function_scaled
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1318,1
    - Dst: cos_array_add
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1320,1
    - Dst: pdf_delete_base_space_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1325,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1335,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1338,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1341,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1348,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1350,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1350,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1351,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1353,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1356,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1360,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1364,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1364,1
    - Dst: cos_array_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1365,1
    - Dst: pdf_indexed_color_space
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1366,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1377,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1380,1
    - Dst: pdf_reserve_object_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1383,1
    - Dst: COS_FREE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1390,1
    - Dst: cos_write_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1392,1
    - Dst: COS_OBJECT
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1392,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1394,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1397,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1403,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1405,1
    - Dst: psdf_round
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1405,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1406,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1411,1
    - Dst: COS_RESOURCE_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1411,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1413,1
    - Dst: COS_OBJECT_VALUE
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1413,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 208
    argCount: 9
    argNames:
    - pdev
    - pgs
    - pcs
    - pdc
    - used_process_color
    - ppscc
    - pcc
    - pvalue
    - by_name
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_color_space*
    - gx_drawing_color*
    - bool*
    - psdf_set_color_commands_t*
    - gs_client_color*
    - cos_value_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1129
    functionDepth: 6
    functionLinenumber: 1129
    functionLinenumberEnd: 1416
    functionName: convert_separation_alternate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - pdf_string_to_cos_name
    - pdf_make_base_space_function
    - strlen
    - COS_FREE
    - cos_array_alloc
    - COS_RESOURCE_VALUE
    - pdf_indexed_color_space
    - pprintg1
    - gs_color_space_get_index
    - cos_array_add
    - return_error
    - COS_OBJECT
    - pdf_alloc_resource
    - apply_transfer_cmyk
    - pdf_reserve_object_id
    - pprints1
    - frac2float
    - memset
    - discard
    - gs_color_space*::type::concretize_color
    - pdf_add_resource
    - cos_write_object
    - apply_transfer_rgb
    - pdf_function_scaled
    - pdf_delete_base_space_function
    - psdf_round
    - apply_transfer_gray
    - cos_c_string_value
    - COS_OBJECT_VALUE
    linkageType: ''
    returnType: int
    signature: "int convert_separation_alternate(gx_device_pdf * pdev, const gs_gstate
      * pgs, const gs_color_space *pcs,\n                        const gx_drawing_color
      *pdc, bool *used_process_color,\n                        const psdf_set_color_commands_t
      *ppscc, gs_client_color *pcc, cos_value_t *pvalue, bool by_name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ranges
    - num_colorants
    - src
    - des
    argTypes:
    - gs_range_t*
    - int
    - gs_client_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1429
    functionName: rescale_cie_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rescale_cie_color(gs_range_t *ranges, int num_colorants,\n                    const
      gs_client_color *src, gs_client_color *des)"
  - BBCount: 147
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1449,1
    - Dst: gx_hld_saved_color_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1455,1
    - Dst: gx_hld_get_color_space_and_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1470,1
    - Dst: pdf_put_colored_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1472,1
    - Dst: pdf_put_uncolored_pattern
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1476,1
    - Dst: pdf_write_ccolor
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1487,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1490,1
    - Dst: is_pattern2_allowed_in_strategy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1491,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1492,1
    - Dst: pdf_put_pattern2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1493,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1497,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1500,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1502,1
    - Dst: cos_resource_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1502,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1503,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1514,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1516,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1525,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1532,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1534,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1539,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1541,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1546,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1548,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1562,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1564,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1567,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1572,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1582,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1584,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1602,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1604,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1608,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1610,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1613,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1617,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1628,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1631,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1635,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1647,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1653,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1661,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1669,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1680,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1683,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1696,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1698,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1716,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1718,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1720,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1723,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1726,1
    - Dst: write_color_as_process_ICC
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1729,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1735,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1739,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1741,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1743,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1745,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1749,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1751,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1753,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1755,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1759,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1761,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1765,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1769,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1771,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1773,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1775,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1779,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1781,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1783,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1785,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1788,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1793,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1800,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1804,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1806,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1808,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1810,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1814,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1816,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1818,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1820,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1824,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1826,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1829,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1833,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1835,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1837,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1839,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1843,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1845,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1847,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1849,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1852,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1857,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1866,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1870,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1872,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1874,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1876,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1880,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1882,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1884,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1886,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1890,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1892,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1896,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1900,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1902,1
    - Dst: convert_separation_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1904,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1906,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1910,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1912,1
    - Dst: convert_DeviceN_alternate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1914,1
    - Dst: write_color_unchanged
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1916,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1919,1
    - Dst: write_color_as_process
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1924,1
    - Dst: psdf_set_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1935,1
    CyclomaticComplexity: 152
    EdgeCount: 152
    ICount: 428
    argCount: 6
    argNames:
    - pdev
    - pgs
    - pdc
    - psc
    - used_process_color
    - ppscc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_drawing_color*
    - gx_hl_saved_color*
    - bool*
    - psdf_set_color_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1432
    functionDepth: 10
    functionLinenumber: 1432
    functionLinenumberEnd: 1943
    functionName: pdf_reset_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - cos_resource_value
    - gx_hld_save_color
    - is_pattern2_allowed_in_strategy
    - pdf_put_uncolored_pattern
    - gsicc_get_default_type
    - gs_color_space_get_index
    - gx_hld_get_color_space_and_ccolor
    - pprints1
    - psdf_set_color
    - gs_note_error
    - pdf_put_colored_pattern
    - pdf_add_resource
    - gx_hld_saved_color_equal
    - write_color_as_process_ICC
    - write_color_as_process
    - pdf_put_pattern2
    - write_color_unchanged
    - pdf_write_ccolor
    - cos_value_write
    - convert_DeviceN_alternate
    - convert_separation_alternate
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_reset_color(gx_device_pdf * pdev, const gs_gstate * pgs,\n
      \               const gx_drawing_color *pdc, gx_hl_saved_color * psc,\n                bool
      *used_process_color,\n                const psdf_set_color_commands_t *ppscc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1962,1
    - Dst: gx_hld_saved_color_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1967,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1976,1
    - Dst: pdf_reset_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - pdev
    - pgs
    - pdc
    - psc
    - used_process_color
    - ppscc
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_drawing_color*
    - gx_hl_saved_color*
    - bool*
    - psdf_set_color_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1945
    functionDepth: 11
    functionLinenumber: 1945
    functionLinenumberEnd: 1981
    functionName: pdf_set_drawing_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 4
    functionsReached:
    - gx_hld_save_color
    - pdf_reset_color
    - pdf_open_page
    - gx_hld_saved_color_equal
    linkageType: ''
    returnType: int
    signature: "int pdf_set_drawing_color(gx_device_pdf * pdev, const gs_gstate *
      pgs,\n                      const gx_drawing_color *pdc,\n                      gx_hl_saved_color
      * psc,\n                      bool *used_process_color,\n                      const
      psdf_set_color_commands_t *ppscc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1992,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:1996,1
    - Dst: gx_hld_saved_color_equal
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2001,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2010,1
    - Dst: pdf_reset_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2014,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - pdev
    - color
    - psc
    - used_process_color
    - ppscc
    argTypes:
    - gx_device_pdf*
    - gx_color_index
    - gx_hl_saved_color*
    - bool*
    - psdf_set_color_commands_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1982
    functionDepth: 11
    functionLinenumber: 1982
    functionLinenumberEnd: 2015
    functionName: pdf_set_pure_color
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 2
    functionsReached:
    - gx_hld_saved_color_equal
    - pdf_open_page
    - gx_hld_save_color
    - pdf_reset_color
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int pdf_set_pure_color(gx_device_pdf * pdev, gx_color_index color,\n
      \                  gx_hl_saved_color * psc,\n                   bool *used_process_color,\n
      \                  const psdf_set_color_commands_t *ppscc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2024,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2028,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2030,1
    - Dst: cos_string_value
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pdev
    - str
    - len
    - pvalue
    argTypes:
    - gx_device_pdf*
    - byte*
    - uint
    - cos_value_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2033
    functionName: pdf_string_to_cos_name
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 3
    functionsReached:
    - gs_alloc_string
    - cos_string_value
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int pdf_string_to_cos_name(gx_device_pdf *pdev, const byte *str, uint
      len,\n                       cos_value_t *pvalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2050
    functionDepth: 1
    functionLinenumber: 2050
    functionLinenumberEnd: 2062
    functionName: transfer_map_access
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - frac2byte
    linkageType: ''
    returnType: int
    signature: "int transfer_map_access(const gs_data_source_t *psrc, ulong start,
      uint length,\n                    byte *buf, const byte **ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2063
    functionDepth: 1
    functionLinenumber: 2063
    functionLinenumberEnd: 2082
    functionName: transfer_map_access_signed
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - frac2float
    linkageType: ''
    returnType: int
    signature: "int transfer_map_access_signed(const gs_data_source_t *psrc,\n                           ulong
      start, uint length,\n                           byte *buf, const byte **ptr)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2109,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2110,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2114,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2115,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2148,1
    - Dst: pdf_write_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2151,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2152,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 6
    argNames:
    - pdev
    - map
    - range0
    - check_identity
    - key
    - ids
    argTypes:
    - gx_device_pdf*
    - gx_transfer_map*
    - int
    - bool
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2083
    functionDepth: 8
    functionLinenumber: 2083
    functionLinenumberEnd: 2157
    functionName: pdf_write_transfer_map
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - strcat
    - any_abs
    - gs_function_Sd_init
    - strcpy
    - gs_function_free
    - gs_sprintf
    - pdf_write_function
    - bits2frac
    linkageType: ''
    returnType: int
    signature: "int pdf_write_transfer_map(gx_device_pdf *pdev, const gx_transfer_map
      *map,\n                       int range0, bool check_identity,\n                       const
      char *key, char *ids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_transfer_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - map
    - key
    - ids
    argTypes:
    - gx_device_pdf*
    - gx_transfer_map*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2158
    functionDepth: 9
    functionLinenumber: 2158
    functionLinenumberEnd: 2163
    functionName: pdf_write_transfer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_write_transfer_map
    linkageType: ''
    returnType: int
    signature: "int pdf_write_transfer(gx_device_pdf *pdev, const gx_transfer_map
      *map,\n                   const char *key, char *ids)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2178
    functionName: HT_FUNC
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HT_FUNC(name, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - d
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2189
    functionName: d2f
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float d2f(double d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2194,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2194,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2196,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2197,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2197,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2197,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2197,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2199,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2199,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2199,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - xf
    - yf
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2190
    functionDepth: 1
    functionLinenumber: 2190
    functionLinenumberEnd: 2200
    functionName: ht_Round
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - d2f
    - fabs
    linkageType: ''
    returnType: double
    signature: double ht_Round(double xf, double yf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2205,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2205,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2207,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2208,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2208,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2208,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2208,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2209,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2209,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2210,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2210,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2210,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2210,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2212,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2212,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2212,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - xf
    - yf
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2213
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2213
    functionName: ht_Diamond
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - d2f
    - fabs
    linkageType: ''
    returnType: double
    signature: double ht_Diamond(double xf, double yf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2218,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2218,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2224,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2224,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2224,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2228,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2228,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2228,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2228,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2231,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2232,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2232,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2232,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2232,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - xf
    - yf
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2235
    functionName: ht_Ellipse
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - d2f
    - fabs
    linkageType: ''
    returnType: double
    signature: double ht_Ellipse(double xf, double yf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2242,1
    - Dst: gs_sin_degrees
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2242,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2240
    functionDepth: 1
    functionLinenumber: 2240
    functionLinenumberEnd: 2243
    functionName: d2fsin_d
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - d2f
    - gs_sin_degrees
    linkageType: ''
    returnType: float
    signature: float d2fsin_d(double x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2246,1
    - Dst: gs_cos_degrees
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2246,1
    - Dst: d2f
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2247
    functionName: d2fcos_d
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - d2f
    - gs_cos_degrees
    linkageType: ''
    returnType: float
    signature: float d2fcos_d(double x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2332,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2345,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2347,1
    - Dst: gx_ht_order*::procs::bit_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2352,1
    - Dst: data_source_init_bytes
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2359,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2365,1
    - Dst: pdf_write_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2367,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2368,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - pdev
    - porder
    - pid
    argTypes:
    - gx_device_pdf*
    - gx_ht_order*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2295
    functionDepth: 8
    functionLinenumber: 2295
    functionLinenumberEnd: 2372
    functionName: pdf_write_spot_function
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gx_ht_order*::procs::bit_index
    - gs_alloc_byte_array
    - gs_function_Sd_init
    - data_source_init_bytes
    - gs_function_free
    - pdf_write_function
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf_write_spot_function(gx_device_pdf *pdev, const gx_ht_order
      *porder,\n                        long *pid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - order1
    - order2
    argTypes:
    - gx_ht_order*
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2383
      start: 2375
    functionDepth: 0
    functionLinenumber: 2375
    functionLinenumberEnd: 2383
    functionName: compare_gx_ht_order_levels
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_gx_ht_order_levels(const gx_ht_order *order1, const gx_ht_order
      *order2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2393,1
    - Dst: pdf_write_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2397,1
    - Dst: gs_screen_order_alloc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2411,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2414,1
    - Dst: gs_screen_enum_init_memory
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2418,1
    - Dst: gs_screen_currentpoint
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2420,1
    - Dst: gs_screen_next
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2421,1
    - Dst: spot_proc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2421,1
    - Dst: compare_gx_ht_order_levels
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2426,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2428,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2435,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2438,1
    - Dst: pdf_write_spot_function
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2440,1
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2444,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2447,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2449,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2450,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2452,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2454,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2456,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2457,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2458,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - pdev
    - psht
    - porder
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_spot_halftone*
    - gx_ht_order*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2459
      start: 2385
    functionDepth: 10
    functionLinenumber: 2385
    functionLinenumberEnd: 2459
    functionName: pdf_write_spot_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - gs_screen_next
    - pdf_write_transfer
    - countof
    - gx_ht_order_release
    - stream_puts
    - pdf_begin_separate
    - pprintld1
    - spot_proc
    - pprints1
    - pdf_end_separate
    - pdf_write_spot_function
    - pprintg2
    - gs_screen_enum_init_memory
    - memcmp
    - compare_gx_ht_order_levels
    - gs_screen_order_alloc
    - gs_screen_currentpoint
    linkageType: ''
    returnType: int
    signature: "int pdf_write_spot_halftone(gx_device_pdf *pdev, const gs_spot_halftone
      *psht,\n                        const gx_ht_order *porder, long *pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_spot_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - psht
    - porder
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_screen_halftone*
    - gx_ht_order*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2460
    functionDepth: 11
    functionLinenumber: 2460
    functionLinenumberEnd: 2471
    functionName: pdf_write_screen_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_write_spot_halftone
    linkageType: ''
    returnType: int
    signature: "int pdf_write_screen_halftone(gx_device_pdf *pdev, const gs_screen_halftone
      *psht,\n                          const gx_ht_order *porder, long *pid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_screen_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2482,1
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2488,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2492,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2494,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2495,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2496,1
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2498,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2499,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2500,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - pdev
    - pcsht
    - pdht
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_colorscreen_halftone*
    - gx_device_halftone*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2501
      start: 2472
    functionDepth: 12
    functionLinenumber: 2472
    functionLinenumberEnd: 2501
    functionName: pdf_write_colorscreen_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pprintld2
    - stream_puts
    - pprintld1
    - pdf_write_screen_halftone
    - pdf_end_separate
    - pdf_begin_separate
    linkageType: ''
    returnType: int
    signature: "int pdf_write_colorscreen_halftone(gx_device_pdf *pdev,\n                               const
      gs_colorscreen_halftone *pcsht,\n                               const gx_device_halftone
      *pdht, long *pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2505
      start: 2503
    functionDepth: 0
    functionLinenumber: 2503
    functionLinenumberEnd: 2505
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(expr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2515,1
    - Dst: pdf_write_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2517,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2523,1
    - Dst: pdf_begin_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2523,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2525,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2525,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2527,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2527,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2529,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2529,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2531,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2531,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2534,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2534,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2536,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - pdev
    - ptht
    - porder
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_threshold_halftone*
    - gx_ht_order*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2506
    functionDepth: 10
    functionLinenumber: 2506
    functionLinenumberEnd: 2538
    functionName: pdf_write_threshold_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_write_transfer
    - pdf_begin_data
    - CHECK
    - cos_dict_put_c_key_int
    - cos_dict_put_c_strings
    - stream_write
    - memset
    - pdf_end_data
    linkageType: ''
    returnType: int
    signature: "int pdf_write_threshold_halftone(gx_device_pdf *pdev,\n                             const
      gs_threshold_halftone *ptht,\n                             const gx_ht_order
      *porder, long *pid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2549,1
    - Dst: pdf_write_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2551,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2557,1
    - Dst: pdf_begin_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2557,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2559,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2559,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2561,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2561,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2563,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2563,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2565,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2565,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2568,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2568,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2570,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2570,1
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2574,1
    - Dst: cos_dict_put_c_strings
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2574,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2578,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2586,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2587,1
    - Dst: pdf_end_data
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2590,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - ptht
    - porder
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_threshold2_halftone*
    - gx_ht_order*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2591
      start: 2539
    functionDepth: 10
    functionLinenumber: 2539
    functionLinenumberEnd: 2591
    functionName: pdf_write_threshold2_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_write_transfer
    - pdf_begin_data
    - CHECK
    - cos_dict_put_c_key_int
    - cos_dict_put_c_strings
    - stream_write
    - stream_putc
    - memset
    - pdf_end_data
    linkageType: ''
    returnType: int
    signature: "int pdf_write_threshold2_halftone(gx_device_pdf *pdev,\n                              const
      gs_threshold2_halftone *ptht,\n                              const gx_ht_order
      *porder, long *pid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2608,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - pmht
    - pdht
    - dht_index
    argTypes:
    - gs_multiple_halftone*
    - gx_device_halftone*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2611
      start: 2592
    functionDepth: 1
    functionLinenumber: 2592
    functionLinenumberEnd: 2611
    functionName: pdf_get_halftone_component_index
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf_get_halftone_component_index(const gs_multiple_halftone *pmht,\n
      \                                const gx_device_halftone *pdht,\n                                 int
      dht_index)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2623,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2626,1
    - Dst: pdf_get_halftone_component_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2631,1
    - Dst: pdf_write_spot_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2644,1
    - Dst: pdf_write_threshold_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2648,1
    - Dst: pdf_write_threshold2_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2652,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2657,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2660,1
    - Dst: pdf_begin_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2664,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2666,1
    - Dst: pdf_get_halftone_component_index
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2674,1
    - Dst: gs_multiple_halftone*::get_colorname_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2683,1
    - Dst: pdf_string_to_cos_name
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2684,1
    - Dst: cos_value_write
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2686,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2687,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2690,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2700,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2702,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2703,1
    - Dst: pdf_end_separate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2704,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pmht
    - pdht
    - pid
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gs_multiple_halftone*
    - gx_device_halftone*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2612
    functionDepth: 11
    functionLinenumber: 2612
    functionLinenumberEnd: 2705
    functionName: pdf_write_multiple_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pdf_string_to_cos_name
    - cos_value_write
    - gs_alloc_byte_array
    - pdf_get_halftone_component_index
    - gs_free_string
    - pprintld1
    - pdf_write_threshold_halftone
    - pdf_end_separate
    - gs_free_object
    - return_error
    - gs_note_error
    - gs_multiple_halftone*::get_colorname_string
    - pdf_begin_separate
    - pdf_write_spot_halftone
    - pdf_write_threshold2_halftone
    linkageType: ''
    returnType: int
    signature: "int pdf_write_multiple_halftone(gx_device_pdf *pdev, gs_gstate *pgs,\n
      \                           const gs_multiple_halftone *pmht,\n                            const
      gx_device_halftone *pdht, long *pid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_screen_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2722,1
    - Dst: pdf_write_colorscreen_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2726,1
    - Dst: pdf_write_spot_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2730,1
    - Dst: pdf_write_threshold_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2734,1
    - Dst: pdf_write_threshold2_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2738,1
    - Dst: pdf_write_multiple_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2743,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2747,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2751,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - pdev
    - pgs
    - hts
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2711
    functionDepth: 13
    functionLinenumber: 2711
    functionLinenumberEnd: 2754
    functionName: pdf_update_halftone
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf_write_colorscreen_halftone
    - pdf_write_screen_halftone
    - gs_sprintf
    - pdf_write_multiple_halftone
    - pdf_write_threshold_halftone
    - pdf_write_spot_halftone
    - pdf_write_threshold2_halftone
    linkageType: ''
    returnType: int
    signature: "int pdf_update_halftone(gx_device_pdf *pdev, const gs_gstate *pgs,\n
      \                   char *hts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pres
    argTypes:
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2762
    functionName: resource_dict
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: cos_dict_t
    signature: 'cos_dict_t *

      resource_dict(pdf_resource_t *pres)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2779,1
    - Dst: pdf_alloc_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2781,1
    - Dst: cos_become
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2784,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2785,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pdev
    - ppres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2789
      start: 2765
    functionDepth: 5
    functionLinenumber: 2765
    functionLinenumberEnd: 2789
    functionName: pdf_open_gstate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - cos_become
    - resource_dict
    - pdf_alloc_resource
    - return_error
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: int pdf_open_gstate(gx_device_pdf *pdev, pdf_resource_t **ppres)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf_substitute_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2796,1
    - Dst: pdf_open_page
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2801,1
    - Dst: pdf_add_resource
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2804,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2807,1
    - Dst: pdf_resource_id
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2807,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - pdev
    - pres
    argTypes:
    - gx_device_pdf*
    - pdf_resource_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2811
      start: 2792
    functionDepth: 6
    functionLinenumber: 2792
    functionLinenumberEnd: 2811
    functionName: pdf_end_gstate
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 2
    functionsReached:
    - pdf_add_resource
    - pdf_substitute_resource
    - pdf_open_page
    - pprintld1
    - pdf_resource_id
    linkageType: ''
    returnType: int
    signature: int pdf_end_gstate(gx_device_pdf *pdev, pdf_resource_t *pres)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf_write_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2845,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2850,1
    - Dst: pdf_write_transfer_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2854,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2856,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2861,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2863,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 3
    argNames:
    - pdev
    - pgs
    - trs
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2867
      start: 2817
    functionDepth: 10
    functionLinenumber: 2817
    functionLinenumberEnd: 2867
    functionName: pdf_update_transfer
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - strcat
    - pdf_write_transfer
    - strlen
    - strcpy
    - memcpy
    - pdf_write_transfer_map
    linkageType: ''
    returnType: int
    signature: "int pdf_update_transfer(gx_device_pdf *pdev, const gs_gstate *pgs,\n
      \                   char *trs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2884,1
    - Dst: pdf_restore_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2888,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2894,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2895,1
    - Dst: cos_dict_put_c_key_string
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2898,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2898,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2899,1
    - Dst: pdf_save_viewer_state
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2902,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2917,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2920,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2920,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2923,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2923,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2926,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2926,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 4
    argNames:
    - pdev
    - pgs
    - ppres
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - pdf_resource_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2874
    functionDepth: 6
    functionLinenumber: 2874
    functionLinenumberEnd: 2929
    functionName: pdf_update_alpha
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - resource_dict
    - pdf_open_contents
    - strlen
    - cos_dict_put_c_key_bool
    - gs_sprintf
    - cos_dict_put_c_key_real
    - pdf_open_gstate
    - pdf_restore_viewer_state
    - pdf_save_viewer_state
    - cos_dict_put_c_key_string
    linkageType: ''
    returnType: int
    signature: "int pdf_update_alpha(gx_device_pdf *pdev, const gs_gstate *pgs,\n
      \                pdf_resource_t **ppres, bool for_text)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2946,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2950,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2951,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2951,1
    - Dst: pdf_update_alpha
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2956,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2966,1
    - Dst: pdf_update_halftone
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2992,1
    - Dst: pdf_update_transfer
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:2999,1
    - Dst: pdf_write_transfer_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3005,1
    - Dst: pdf_write_transfer_map
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3012,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3020,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3025,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3025,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3030,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3030,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3035,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3035,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3040,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3040,1
    - Dst: gs_currentscreenphase
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3045,1
    - Dst: gs_currentscreenphase
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3046,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3050,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3053,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3054,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3054,1
    - Dst: gx_gstate_setscreenphase
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3057,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3071,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3077,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3083,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3085,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3088,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3096,1
    - Dst: cos_dict_put_c_key_int
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3099,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3099,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3106,1
    - Dst: cos_dict_put_c_key_real
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3109,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3109,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3116,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3119,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3119,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 147
    argCount: 4
    argNames:
    - pdev
    - pgs
    - ppres
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - pdf_resource_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 2934
    functionDepth: 14
    functionLinenumber: 2934
    functionLinenumberEnd: 3127
    functionName: pdf_prepare_drawing
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 2
    functionsReached:
    - resource_dict
    - cos_dict_put_string_copy
    - cos_dict_put_c_key_int
    - cos_dict_put_c_key_bool
    - pdf_update_alpha
    - strncpy
    - gs_sprintf
    - pdf_update_halftone
    - pdf_open_gstate
    - pdf_update_transfer
    - gx_gstate_setscreenphase
    - emprintf
    - cos_dict_put_c_key_real
    - return_error
    - pdf_write_transfer_map
    - gs_currentscreenphase
    linkageType: ''
    returnType: int
    signature: "int pdf_prepare_drawing(gx_device_pdf *pdev, const gs_gstate *pgs,\n
      \                   pdf_resource_t **ppres, bool for_text)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3134,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3142,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3147,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3148,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3148,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3160,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3165,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3165,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3170,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3170,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3130
    functionDepth: 15
    functionLinenumber: 3130
    functionLinenumberEnd: 3177
    functionName: pdf_try_prepare_fill
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_drawing
    - resource_dict
    - cos_dict_put_string_copy
    - pdf_end_gstate
    - cos_dict_put_c_key_bool
    - strncpy
    - pdf_open_gstate
    linkageType: ''
    returnType: int
    signature: int pdf_try_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs,
      bool for_text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_try_prepare_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3184,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3187,1
    - Dst: pdf_try_prepare_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3178
    functionDepth: 16
    functionLinenumber: 3178
    functionLinenumberEnd: 3192
    functionName: pdf_prepare_fill
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 2
    functionsReached:
    - pdf_try_prepare_fill
    - pdf_open_contents
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_fill(gx_device_pdf *pdev, const gs_gstate *pgs, bool
      for_text)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3199,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3207,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3212,1
    - Dst: cos_dict_put_string_copy
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3213,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3213,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3224,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3227,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3227,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3238,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3241,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3241,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3246,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3247
      start: 3195
    functionDepth: 15
    functionLinenumber: 3195
    functionLinenumberEnd: 3247
    functionName: pdf_try_prepare_stroke
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_drawing
    - resource_dict
    - cos_dict_put_string_copy
    - pdf_end_gstate
    - cos_dict_put_c_key_bool
    - strncpy
    - pdf_open_gstate
    linkageType: ''
    returnType: int
    signature: int pdf_try_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs,
      bool for_text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_try_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3254,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3257,1
    - Dst: pdf_try_prepare_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3262
      start: 3248
    functionDepth: 16
    functionLinenumber: 3248
    functionLinenumberEnd: 3262
    functionName: pdf_prepare_stroke
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 3
    functionsReached:
    - pdf_try_prepare_stroke
    - pdf_open_contents
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_stroke(gx_device_pdf *pdev, const gs_gstate *pgs, bool
      for_text)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_drawing
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3268,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3278,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3283,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3283,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3288,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3288,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3299,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3302,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3302,1
    - Dst: pdf_open_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3317,1
    - Dst: cos_dict_put_c_key_bool
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3320,1
    - Dst: resource_dict
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3320,1
    - Dst: pdf_end_gstate
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3325,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3326
      start: 3264
    functionDepth: 15
    functionLinenumber: 3264
    functionLinenumberEnd: 3326
    functionName: pdf_try_prepare_fill_stroke
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 0
    functionsReached:
    - pdf_prepare_drawing
    - resource_dict
    - pdf_end_gstate
    - cos_dict_put_c_key_bool
    - pdf_open_gstate
    linkageType: ''
    returnType: int
    signature: int pdf_try_prepare_fill_stroke(gx_device_pdf *pdev, const gs_gstate
      *pgs, bool for_text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf_try_prepare_fill_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3334,1
    - Dst: pdf_open_contents
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3337,1
    - Dst: pdf_try_prepare_fill_stroke
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pdev
    - pgs
    - for_text
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3328
    functionDepth: 16
    functionLinenumber: 3328
    functionLinenumberEnd: 3342
    functionName: pdf_prepare_fill_stroke
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - pdf_open_contents
    - pdf_try_prepare_fill_stroke
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_fill_stroke(gx_device_pdf *pdev, const gs_gstate *pgs,
      bool for_text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_fill
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pgs
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3353
      start: 3345
    functionDepth: 17
    functionLinenumber: 3345
    functionLinenumberEnd: 3353
    functionName: pdf_prepare_image
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - pdf_prepare_fill
    linkageType: ''
    returnType: int
    signature: int pdf_prepare_image(gx_device_pdf *pdev, const gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_prepare_image
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3360,1
    - Dst: pdf_set_drawing_color
      Src: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c:3364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - pgs
    - pdcolor
    argTypes:
    - gx_device_pdf*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3356
    functionDepth: 18
    functionLinenumber: 3356
    functionLinenumberEnd: 3367
    functionName: pdf_prepare_imagemask
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpdfg.c
    functionUses: 1
    functionsReached:
    - pdf_prepare_image
    - pdf_set_drawing_color
    linkageType: ''
    returnType: int
    signature: "int pdf_prepare_imagemask(gx_device_pdf *pdev, const gs_gstate *pgs,\n
      \                     const gx_drawing_color *pdcolor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ll
    - ','
    - eps
    - ','
    - psv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: PSWRITE_COMMON_VALUES
    functionSourceFile: /src/libspectre/ghostscript/devices/vector/gdevpsu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSWRITE_COMMON_VALUES(ll, eps, psv)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxidata.c:46,1
    - Dst: setup_image_device
      Src: /src/libspectre/ghostscript/base/gxidata.c:65,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxidata.c:80,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:93,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxidata.c:94,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxidata.c:94,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxidata.c:95,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:96,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxidata.c:97,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxidata.c:97,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxidata.c:98,1
    - Dst: gx_image_enum*::skip_next_line
      Src: /src/libspectre/ghostscript/base/gxidata.c:102,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:110,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxidata.c:124,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxidata.c:125,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxidata.c:128,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:135,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxidata.c:149,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxidata.c:150,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxidata.c:153,1
    - Dst: repack_bit_planes
      Src: /src/libspectre/ghostscript/base/gxidata.c:174,1
    - Dst: BCOUNT
      Src: /src/libspectre/ghostscript/base/gxidata.c:190,1
    - Dst: BCOUNT
      Src: /src/libspectre/ghostscript/base/gxidata.c:201,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxidata.c:207,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxidata.c:208,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxidata.c:209,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gxidata.c:217,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxidata.c:219,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxidata.c:220,1
    - Dst: update_strip
      Src: /src/libspectre/ghostscript/base/gxidata.c:225,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxidata.c:231,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxidata.c:232,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxidata.c:235,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxidata.c:236,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:236,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxidata.c:237,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:237,1
    - Dst: dda_previous
      Src: /src/libspectre/ghostscript/base/gxidata.c:244,1
    - Dst: dda_previous
      Src: /src/libspectre/ghostscript/base/gxidata.c:245,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxidata.c:246,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxidata.c:248,1
    - Dst: gx_image1_flush
      Src: /src/libspectre/ghostscript/base/gxidata.c:260,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 147
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 269
    functionName: gx_image1_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 0
    functionsReached:
    - update_strip
    - dda_previous
    - dda_current
    - BCOUNT
    - gs_debug_c
    - memset
    - dda_advance
    - if_debug2m
    - min
    - fixed2int_pixround_perfect
    - repack_bit_planes
    - setup_image_device
    - dmlputs
    - dda_translate
    - gx_image1_flush
    - dmputs
    - dda_next
    - any_abs
    - gx_image_enum*::skip_next_line
    - dmprintf1
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gx_image1_plane_data(gx_image_enum_common_t * info,\n                     const
      gx_image_plane_t * planes, int height,\n                     int *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - plane
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: BCOUNT
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BCOUNT(plane)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:279,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxidata.c:280,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxidata.c:286,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxidata.c:287,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxidata.c:294,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxidata.c:295,1
    - Dst: update_strip
      Src: /src/libspectre/ghostscript/base/gxidata.c:301,1
    - Dst: setup_image_device
      Src: /src/libspectre/ghostscript/base/gxidata.c:304,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_image_enum_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 305
    functionName: gx_image1_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 1
    functionsReached:
    - fixed2int_rounded
    - update_strip
    - dda_current
    - setup_image_device
    linkageType: ''
    returnType: int
    signature: int gx_image1_flush(gx_image_enum_common_t * info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxidata.c:314,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxidata.c:315,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxidata.c:327,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxidata.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 333
    functionName: update_strip
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 2
    functionsReached:
    - dda_next
    - dda_translate
    linkageType: ''
    returnType: void
    signature: void update_strip(gx_image_enum *penum)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxidata.c:374,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:429,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:430,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:431,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:432,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:433,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:434,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:435,1
    - Dst: MAP_BYTE
      Src: /src/libspectre/ghostscript/base/gxidata.c:436,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 7
    argNames:
    - src_planes
    - offsets
    - num_planes
    - buffer
    - width
    - ptab
    - spread
    argTypes:
    - gx_image_plane_t*
    - ulong*
    - int
    - byte*
    - int
    - sample_lookup_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 440
    functionName: repack_bit_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 1
    functionsReached:
    - MAP_BYTE
    - memset
    linkageType: ''
    returnType: void
    signature: "void repack_bit_planes(const gx_image_plane_t *src_planes, const ulong
      *offsets,\n                  int num_planes, byte *buffer, int width,\n                  const
      sample_lookup_t * ptab, int spread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    functionName: MAP_BYTE
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAP_BYTE(v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxidata.c:451,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxidata.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 461
    functionName: setup_image_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 2
    functionsReached:
    - gx_device_set_target
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      setup_image_device(const gx_image_enum *penum)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxidata.c:472,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gxidata.c:475,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxidata.c:489,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxidata.c:493,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxidata.c:495,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:498,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:499,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:503,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxidata.c:506,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:509,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:511,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:513,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:516,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:522,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:524,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxidata.c:525,1
    - Dst: cal_halftone_fin
      Src: /src/libspectre/ghostscript/base/gxidata.c:529,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gxidata.c:532,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 534
    functionName: gx_image1_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxidata.c
    functionUses: 1
    functionsReached:
    - cal_halftone_fin
    - gx_device_set_target
    - if_debug2m
    - gsicc_release_link
    - gx_image_free_enum
    - gx_image_flush
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_image1_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: clist_compressor_template
    functionSourceFile: /src/libspectre/ghostscript/base/gxcllzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stream_template
    signature: stream_template *clist_compressor_template(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 33
    functionName: clist_decompressor_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxcllzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: stream_template
    signature: 'stream_template *

      clist_decompressor_state(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_LZW_set_defaults
      Src: /src/libspectre/ghostscript/base/gxcllzw.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: clist_compressor_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxcllzw.c
    functionUses: 0
    functionsReached:
    - s_LZW_set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_compressor_init(stream_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_LZW_set_defaults
      Src: /src/libspectre/ghostscript/base/gxcllzw.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: clist_decompressor_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxcllzw.c
    functionUses: 0
    functionsReached:
    - s_LZW_set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_decompressor_init(stream_state *state)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_chunk_wrap
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:74,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:75,1
    - Dst: gs_getdevice
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:79,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:80,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:85,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:87,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:93,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:100,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:116,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:118,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:119,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:121,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:121,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:122,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:124,1
    - Dst: gsicc_clone_profile
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:129,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:131,1
    - Dst: gsicc_clone_profile
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:137,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:139,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:149,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:152,1
    - Dst: gs_getdeviceparams
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:153,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:154,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:159,1
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:160,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:162,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:166,1
    - Dst: devn_copy_params
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:168,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:171,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:179,1
    - Dst: gdev_prn_set_procs_planar
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:186,1
    - Dst: gx_device_printer*::printer_procs::buf_procs::size_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:194,1
    - Dst: clist_minimum_buffer
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:196,1
    - Dst: gdev_prn_allocate_memory
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:209,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:213,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:220,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:221,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:225,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:226,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:227,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:229,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:233,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:234,1
    - Dst: clist_render_init
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:235,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:244,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:250,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:253,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:255,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:266,1
    - Dst: clist_read_icctable
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:268,1
    - Dst: clist_read_color_usage_array
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:273,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:291,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:293,1
    - Dst: gdev_prn_free_memory
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:297,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:298,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:299,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 145
    argCount: 4
    argNames:
    - chunk_base_mem
    - dev
    - bg_print
    - cachep
    argTypes:
    - gs_memory_t*
    - gx_device*
    - bool
    - gsicc_link_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 301
    functionName: setup_device_and_mem_for_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gscms_is_threadsafe
    - strlen
    - gdev_prn_free_memory
    - clist_render_init
    - gs_c_param_list_release
    - gx_device_clist_common*::page_info::io_procs::fopen
    - gx_device_clist_common*::page_info::io_procs::fclose
    - clist_free_icc_table
    - rc_increment
    - gdev_prn_set_procs_planar
    - gdev_prn_allocate_memory
    - gsicc_new_device_profile_array
    - gs_memory_chunk_wrap
    - gs_note_error
    - emprintf2
    - gs_getdeviceparams
    - gx_device_printer*::printer_procs::buf_procs::size_buf_device
    - gx_device_fill_in_procs
    - gs_free_object
    - strncat
    - strcmp
    - gsicc_clone_profile
    - gs_memory_chunk_release
    - gs_c_param_list_read
    - gs_putdeviceparams
    - gs_c_param_list_write
    - gsicc_cache_new
    - dev_proc
    - if_debug3m
    - strcpy
    - gs_getdevice
    - gs_copydevice
    - emprintf1
    - clist_read_icctable
    - strncmp
    - devn_copy_params
    - clist_minimum_buffer
    - clist_read_color_usage_array
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      setup_device_and_mem_for_thread(gs_memory_t *chunk_base_mem, gx_device *dev,
      bool bg_print, gsicc_link_cache_t **cachep)'
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_cache_default_bits_size
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:322,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:324,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:329,1
    - Dst: ESTIMATED_PDF14_ROW_SPACE
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:332,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:332,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:351,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:356,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:357,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:359,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:364,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:366,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:367,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:369,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:370,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:382,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:388,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:393,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:396,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:397,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:400,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:411,1
    - Dst: setup_device_and_mem_for_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:417,1
    - Dst: gx_process_page_options_t*::init_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:429,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:435,1
    - Dst: gx_semaphore_label
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:440,1
    - Dst: gx_semaphore_alloc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:440,1
    - Dst: gx_semaphore_label
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:441,1
    - Dst: gx_semaphore_alloc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:441,1
    - Dst: gx_semaphore_free
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:453,1
    - Dst: gx_semaphore_free
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:454,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:456,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:461,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:462,1
    - Dst: gdev_prn_free_memory
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:465,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:466,1
    - Dst: gx_process_page_options_t*::free_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:470,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:474,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:483,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:485,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:488,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:494,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:495,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:496,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:498,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:499,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:501,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:503,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:504,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:511,1
    - Dst: clist_start_render_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:513,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:515,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:521,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 133
    argCount: 3
    argNames:
    - dev
    - y
    - options
    argTypes:
    - gx_device*
    - int
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 524
    functionName: clist_setup_render_threads
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gx_device_clist_common*::page_info::io_procs::fseek
    - setup_device_and_mem_for_thread
    - gdev_prn_free_memory
    - max
    - emprintf
    - clist_start_render_thread
    - gx_semaphore_alloc
    - gx_process_page_options_t*::free_buffer_fn
    - gx_device_clist_common*::page_info::io_procs::fopen
    - gx_device_clist_common*::page_info::io_procs::fclose
    - gdev_create_buf_device
    - ESTIMATED_PDF14_ROW_SPACE
    - gs_memory_status
    - gx_semaphore_free
    - memset
    - gs_free_object
    - strncat
    - gx_ht_cache_default_bits_size
    - gx_semaphore_label
    - gs_memory_chunk_release
    - gx_process_page_options_t*::init_buffer_fn
    - gx_device_clist_common*::buf_procs::destroy_buf_device
    - device_is_deep
    - gs_alloc_byte_array
    - strcpy
    - emprintf1
    - dmprintf1
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: int clist_setup_render_threads(gx_device *dev, int y, gx_process_page_options_t
      *options)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_thread_finish
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:535,1
    - Dst: clist_teardown_render_threads
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:540,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:542,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:556,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:570,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:572,1
    - Dst: gdev_prn_free_memory
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:576,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:580,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:582,1
    - Dst: gs_memory_chunk_dump_memory
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:583,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:584,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - dev
    - thread_id
    - bg_print
    argTypes:
    - gx_device*
    - gp_thread_id
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 587
    functionName: teardown_device_and_mem_for_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - clist_free_icc_table
    - gx_device_clist_common*::page_info::io_procs::fclose
    - gdev_prn_free_memory
    - gp_thread_finish
    - gs_memory_chunk_release
    - rc_decrement
    - clist_teardown_render_threads
    - gs_memory_chunk_dump_memory
    - dmprintf
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void teardown_device_and_mem_for_thread(gx_device *dev, gp_thread_id
      thread_id, bool bg_print)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_semaphore_wait
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:604,1
    - Dst: gx_semaphore_free
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:612,1
    - Dst: gx_semaphore_free
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:613,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:615,1
    - Dst: clist_render_thread_control_t*::options::free_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:619,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:632,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:633,1
    - Dst: teardown_device_and_mem_for_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:635,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:637,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:644,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:645,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:646,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:648,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:649,1
    - Dst: gx_device_clist_common*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:651,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 654
    functionName: clist_teardown_render_threads
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 1
    functionsReached:
    - clist_render_thread_control_t*::options::free_buffer_fn
    - teardown_device_and_mem_for_thread
    - strncat
    - gx_device_clist_common*::page_info::io_procs::fseek
    - gx_semaphore_free
    - dmprintf2
    - strcpy
    - gx_semaphore_wait
    - dmprintf1
    - gx_device_clist_common*::buf_procs::destroy_buf_device
    - gx_device_clist_common*::page_info::io_procs::fopen
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void clist_teardown_render_threads(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_thread_start
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:667,1
    - Dst: gp_thread_label
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - thread_index
    - band
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 673
    functionName: clist_start_render_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 1
    functionsReached:
    - gp_thread_start
    - gp_thread_label
    linkageType: ''
    returnType: int
    signature: int clist_start_render_thread(gx_device *dev, int thread_index, int
      band)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster_plane
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:686,1
    - Dst: gp_get_usertime
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:696,1
    - Dst: gx_device_clist_reader*::buf_procs::setup_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:702,1
    - Dst: clist_render_rectangle
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:709,1
    - Dst: clist_render_thread_control_t*::options::process_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:712,1
    - Dst: gp_get_usertime
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:724,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:733,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:734,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 735
    functionName: clist_render_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - clist_render_thread_control_t*::options::process_fn
    - gx_device_clist_reader*::buf_procs::setup_buf_device
    - gx_semaphore_signal
    - clist_render_rectangle
    - gx_device_raster_plane
    - gp_get_usertime
    linkageType: ''
    returnType: void
    signature: void clist_render_thread(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:763,1
    - Dst: gx_semaphore_wait
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:775,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:783,1
    - Dst: clist_start_render_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:791,1
    - Dst: gx_semaphore_wait
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:800,1
    - Dst: gp_thread_finish
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:801,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:804,1
    - Dst: gx_process_page_options_t*::output_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:807,1
    - Dst: clist_start_render_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:825,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 3
    argNames:
    - dev
    - band_needed
    - options
    argTypes:
    - gx_device*
    - int
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 833
    functionName: clist_get_band_from_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gx_process_page_options_t*::output_fn
    - gp_thread_finish
    - gx_semaphore_wait
    - dmprintf1
    - clist_start_render_thread
    - return_error
    - emprintf3
    linkageType: ''
    returnType: int
    signature: int clist_get_band_from_thread(gx_device *dev, int band_needed, gx_process_page_options_t
      *options)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:857,1
    - Dst: clist_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:864,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:869,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:874,1
    - Dst: clist_setup_render_threads
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:879,1
    - Dst: clist_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:881,1
    - Dst: clist_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:886,1
    - Dst: clist_get_band_from_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:891,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:895,1
    - Dst: gx_device_clist_reader*::buf_procs::setup_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:898,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:902,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:907,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:909,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:927,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:936,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:938,1
    - Dst: clist_rasterize_lines
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:948,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:951,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:954,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:962,1
    - Dst: clist_teardown_render_threads
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:968,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 73
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 838
    functionDepth: 3
    functionLinenumber: 838
    functionLinenumberEnd: 970
    functionName: clist_get_bits_rect_mt
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gdev_create_buf_device
    - gx_default_get_bits_rectangle
    - gx_device_raster
    - clist_close_writer_and_init_reader
    - clist_setup_render_threads
    - clist_get_bits_rectangle
    - clist_get_band_from_thread
    - gx_device_clist_reader*::buf_procs::setup_buf_device
    - gx_device_clist_common*::buf_procs::destroy_buf_device
    - return_error
    - clist_rasterize_lines
    - clist_teardown_render_threads
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clist_get_bits_rect_mt(gx_device *dev, const gs_int_rect * prect,\n
      \                        gs_get_bits_params_t *params, gs_int_rect **unread)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:989,1
    - Dst: gx_process_page_options_t*::init_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:993,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1004,1
    - Dst: clist_rasterize_lines
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1010,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1013,1
    - Dst: gx_process_page_options_t*::process_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1021,1
    - Dst: gx_process_page_options_t*::output_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1024,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1025,1
    - Dst: gx_process_page_options_t*::free_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1031,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 1035
    functionName: clist_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gx_process_page_options_t*::output_fn
    - gdev_create_buf_device
    - gx_process_page_options_t*::process_fn
    - clist_close_writer_and_init_reader
    - gx_process_page_options_t*::init_buffer_fn
    - gx_device_clist_common*::buf_procs::destroy_buf_device
    - clist_rasterize_lines
    - gx_process_page_options_t*::free_buffer_fn
    - min
    linkageType: ''
    returnType: int
    signature: int clist_process_page(gx_device *dev, gx_process_page_options_t *options)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clist_process_page
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1052,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1054,1
    - Dst: clist_setup_render_threads
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1058,1
    - Dst: clist_process_page
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1060,1
    - Dst: clist_get_band_from_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1066,1
    - Dst: clist_get_band_from_thread
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1075,1
    - Dst: clist_teardown_render_threads
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1083,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1037
    functionDepth: 3
    functionLinenumber: 1037
    functionLinenumberEnd: 1085
    functionName: clist_process_page_mt
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - clist_close_writer_and_init_reader
    - clist_setup_render_threads
    - clist_get_band_from_thread
    - clist_process_page
    - clist_teardown_render_threads
    linkageType: ''
    returnType: int
    signature: int clist_process_page_mt(gx_device *dev, gx_process_page_options_t
      *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dummy
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1090
    functionName: test_threads
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void test_threads(void *dummy)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_thread_start
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1103,1
    - Dst: gp_thread_label
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1106,1
    - Dst: gp_thread_finish
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1107,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1108,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxclthrd.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1112
    functionName: clist_enable_multi_thread_render
    functionSourceFile: /src/libspectre/ghostscript/base/gxclthrd.c
    functionUses: 0
    functionsReached:
    - gp_thread_start
    - set_dev_proc
    - gp_thread_label
    - gp_thread_finish
    linkageType: ''
    returnType: int
    signature: int clist_enable_multi_thread_render(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - plen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 32
    functionName: gp_defaultpapersize
    functionSourceFile: /src/libspectre/ghostscript/base/gp_paper.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_defaultpapersize(char *ptr, int *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 602
    functionName: no_print_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int no_print_page(gx_device_printer *pdev, gp_file *prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gdevp14.c:769,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gdevp14.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 774
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(pdf14_device_enum_ptrs, pdf14_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: template_transform_color_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1065,1
    - Dst: template_transform_color_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1068,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 14
    argNames:
    - pgs
    - ctx
    - dev
    - src_buf
    - src_data
    - src_profile
    - des_profile
    - x0
    - y0
    - width
    - height
    - did_alloc
    - deep
    - big_endian
    argTypes:
    - gs_gstate*
    - pdf14_ctx*
    - gx_device*
    - pdf14_buf*
    - byte*
    - cmm_profile_t*
    - cmm_profile_t*
    - int
    - int
    - int
    - int
    - bool*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1070
    functionName: pdf14_transform_color_buffer_with_matte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - template_transform_color_buffer
    linkageType: ''
    returnType: pdf14_buf
    signature: "pdf14_buf *\npdf14_transform_color_buffer_with_matte(gs_gstate *pgs,
      pdf14_ctx *ctx, gx_device *dev,\n    pdf14_buf *src_buf, byte *src_data, cmm_profile_t
      *src_profile,\n    cmm_profile_t *des_profile, int x0, int y0, int width, int
      height, bool *did_alloc,\n    bool deep, bool big_endian)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1100,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1137,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1141,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1147,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1152,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 53
    argCount: 9
    argNames:
    - rect
    - has_tags
    - has_alpha_g
    - has_shape
    - idle
    - n_chan
    - num_spots
    - memory
    - deep
    argTypes:
    - gs_int_rect*
    - bool
    - bool
    - bool
    - bool
    - int
    - int
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1164
    functionName: pdf14_buf_new
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - memset
    - gs_alloc_bytes
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_buf
    signature: "pdf14_buf *\npdf14_buf_new(gs_int_rect *rect, bool has_tags, bool
      has_alpha_g,\n              bool has_shape, bool idle, int n_chan, int num_spots,\n
      \             gs_memory_t *memory, bool deep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1173,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1175,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1176,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1177,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1178,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1182,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1185,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - buf
    argTypes:
    - pdf14_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1191
    functionName: pdf14_buf_free
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void pdf14_buf_free(pdf14_buf *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1200,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1193
    functionDepth: 2
    functionLinenumber: 1193
    functionLinenumberEnd: 1203
    functionName: rc_pdf14_maskbuf_free
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_pdf14_maskbuf_free(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1210,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1205
    functionDepth: 1
    functionLinenumber: 1205
    functionLinenumberEnd: 1218
    functionName: pdf14_rcmask_new
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - rc_init_free
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_rcmask_t
    signature: 'pdf14_rcmask_t *

      pdf14_rcmask_new(gs_memory_t *memory)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1226,1
    - Dst: pdf14_mask_element_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1230,1
    - Dst: pdf14_rcmask_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - dev
    - deep
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1220
    functionDepth: 2
    functionLinenumber: 1220
    functionLinenumberEnd: 1238
    functionName: pdf14_ctx_new
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_rcmask_new
    - pdf14_mask_element_new
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_ctx
    signature: 'pdf14_ctx *

      pdf14_ctx_new(gx_device *dev, bool deep)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1246,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1247,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1251,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1252,1
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1256,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - pdf14_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1259
    functionName: pdf14_ctx_free
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - rc_decrement
    - pdf14_buf_free
    - gsicc_adjust_profile_rc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf14_ctx_free(pdf14_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ctx
    - is_backdrop
    argTypes:
    - pdf14_ctx*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1267
    functionDepth: 0
    functionLinenumber: 1267
    functionLinenumberEnd: 1299
    functionName: pdf14_find_backdrop_buf
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: pdf14_buf
    signature: 'pdf14_buf *

      pdf14_find_backdrop_buf(pdf14_ctx *ctx, bool *is_backdrop)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1308,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1310,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1316,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1326,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1327,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1328,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1329,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1330,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1332,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1340
    functionName: pdf14_make_base_group_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    - gsicc_adjust_profile_rc
    - memset
    - memcpy
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_group_color_t
    signature: 'pdf14_group_color_t *

      pdf14_make_base_group_color(gx_device* dev)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1350,1
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1358,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1365,1
    - Dst: pdf14_buf_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1368,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1373,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1381,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1384,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1394,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1405,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1407,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1416,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1417,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1418,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1420,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1426,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 4
    argNames:
    - dev
    - n_chan
    - additive
    - pgs
    argTypes:
    - gx_device*
    - int
    - bool
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1346
    functionDepth: 2
    functionLinenumber: 1346
    functionLinenumberEnd: 1429
    functionName: pdf14_initialize_ctx
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_free
    - pdf14_buf_new
    - if_debug5m
    - gsicc_adjust_profile_rc
    - device_encodes_tags
    - memset
    - memcpy
    - if_debug2m
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int pdf14_initialize_ctx(gx_device* dev, int n_chan, bool additive,
      const gs_gstate* pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1434,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1439,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pdev
    - src
    argTypes:
    - gx_device*
    - pdf14_group_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1445
    functionName: pdf14_clone_group_color_info
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gsicc_adjust_profile_rc
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_group_color_t
    signature: 'pdf14_group_color_t *

      pdf14_clone_group_color_info(gx_device* pdev, pdf14_group_color_t* src)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1462,1
    - Dst: pdf14_buf_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1474,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1477,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1479,1
    - Dst: pdf14_find_backdrop_buf
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1504,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1510,1
    - Dst: pdf14_preserve_backdrop
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1516,1
    - Dst: pdf14_preserve_backdrop_cm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1524,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1538,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1542,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1545,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1550,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1560,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 18
    argNames:
    - ctx
    - rect
    - isolated
    - knockout
    - alpha
    - shape
    - opacity
    - blend_mode
    - idle
    - mask_id
    - numcomps
    - cm_back_drop
    - shade_group
    - group_profile
    - tos_profile
    - group_color
    - pgs
    - dev
    argTypes:
    - pdf14_ctx*
    - gs_int_rect*
    - bool
    - bool
    - uint16_t
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - uint
    - int
    - bool
    - bool
    - cmm_profile_t*
    - cmm_profile_t*
    - pdf14_group_color_t*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1568
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1568
    functionName: pdf14_push_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_new
    - if_debug1m
    - dump_raw_buffer
    - pdf14_find_backdrop_buf
    - gs_alloc_bytes
    - pdf14_preserve_backdrop
    - gs_throw
    - pdf14_preserve_backdrop_cm
    - memset
    - memcpy
    - if_debug4m
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf14_push_transparency_group(pdf14_ctx\t*ctx, gs_int_rect *rect,
      bool isolated,\n                              bool knockout, uint16_t alpha,
      uint16_t shape, uint16_t opacity,\n                              gs_blend_mode_t
      blend_mode, bool idle, uint mask_id,\n                              int numcomps,
      bool cm_back_drop, bool shade_group,\n                              cmm_profile_t
      *group_profile, cmm_profile_t *tos_profile,\n                              pdf14_group_color_t*
      group_color, gs_gstate *pgs,\n                              gx_device *dev)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1588,1
    - Dst: pdf14_buf_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1618,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1623,1
    - Dst: pdf14_clone_group_color_info
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1635,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1638,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1650,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1651,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1654,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1655,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1656,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1657,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1666,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1668,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1681,1
    - Dst: pdf14_transform_color_buffer_with_matte
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1711,1
    - Dst: pdf14_transform_color_buffer_no_matte
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1717,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1723,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1727,1
    - Dst: pdf14_compose_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1735,1
    - Dst: pdf14_compose_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1743,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1757,1
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1758,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 86
    argCount: 6
    argNames:
    - pgs
    - ctx
    - pblend_procs
    - tos_num_color_comp
    - curr_icc_profile
    - dev
    argTypes:
    - gs_gstate*
    - pdf14_ctx*
    - pdf14_nonseparable_blending_procs_t*
    - int
    - cmm_profile_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1570
    functionDepth: 2
    functionLinenumber: 1570
    functionLinenumberEnd: 1760
    functionName: pdf14_pop_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_new
    - pdf14_buf_free
    - pdf14_transform_color_buffer_with_matte
    - if_debug1m
    - pdf14_compose_group
    - rc_decrement
    - return_error
    - max
    - rect_intersect
    - memset
    - if_debug4m
    - pdf14_clone_group_color_info
    - dump_raw_buffer
    - pdf14_debug_mask_stack_state
    - pdf14_transform_color_buffer_no_matte
    - min
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf14_pop_transparency_group(gs_gstate *pgs, pdf14_ctx *ctx,\n
      \   const pdf14_nonseparable_blending_procs_t * pblend_procs,\n    int tos_num_color_comp,
      cmm_profile_t *curr_icc_profile, gx_device *dev)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1781,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1787,1
    - Dst: pdf14_buf_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1797,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1800,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1813,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1816,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1818,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1828,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1833,1
    - Dst: gs_memset16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1856,1
    - Dst: gs_memset16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1860,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1864,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1868,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1873,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 16
    argNames:
    - ctx
    - rect
    - bg_alpha
    - transfer_fn
    - is_ident
    - idle
    - replacing
    - mask_id
    - subtype
    - numcomps
    - Background_components
    - Background
    - Matte_components
    - Matte
    - GrayBackground
    - group_color
    argTypes:
    - pdf14_ctx*
    - gs_int_rect*
    - uint16_t
    - byte*
    - bool
    - bool
    - bool
    - uint
    - gs_transparency_mask_subtype_t
    - int
    - int
    - float[]
    - int
    - float[]
    - float
    - pdf14_group_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1768
    functionDepth: 2
    functionLinenumber: 1768
    functionLinenumberEnd: 1877
    functionName: pdf14_push_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_new
    - gs_memset16
    - dump_raw_buffer
    - gs_alloc_bytes
    - rc_increment
    - floor
    - memset
    - if_debug2m
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf14_push_transparency_mask(pdf14_ctx *ctx, gs_int_rect *rect,\tuint16_t
      bg_alpha,\n                             byte *transfer_fn, bool is_ident, bool
      idle,\n                             bool replacing, uint mask_id,\n                             gs_transparency_mask_subtype_t
      subtype,\n                             int numcomps, int Background_components,\n
      \                            const float Background[], int Matte_components,\n
      \                            const float Matte[], const float GrayBackground,\n
      \                            pdf14_group_color_t* group_color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1887,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1890,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - memory
    argTypes:
    - pdf14_ctx*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1896
    functionName: pdf14_free_mask_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void pdf14_free_mask_stack(pdf14_ctx *ctx, gs_memory_t *memory)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1912,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1913,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1924,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1935,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1939,1
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1953,1
    - Dst: pdf14_free_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1955,1
    - Dst: pdf14_free_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1960,1
    - Dst: pdf14_mask_element_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1962,1
    - Dst: pdf14_rcmask_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1963,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1974,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1977,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1981,1
    - Dst: smask_copy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1986,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:1992,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2004,1
    - Dst: smask_blend
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2022,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2027,1
    - Dst: smask_copy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2035,1
    - Dst: smask_luminosity_mapping
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2041,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2059,1
    - Dst: smask_icc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2061,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2066,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2071,1
    - Dst: pdf14_free_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2082,1
    - Dst: pdf14_mask_element_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2084,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2086,1
    - Dst: pdf14_rcmask_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2087,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2089,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 3
    argNames:
    - ctx
    - pgs
    - dev
    argTypes:
    - pdf14_ctx*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2093
      start: 1898
    functionDepth: 2
    functionLinenumber: 1898
    functionLinenumberEnd: 2093
    functionName: pdf14_pop_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_alloc_bytes
    - smask_luminosity_mapping
    - smask_copy
    - rc_decrement
    - gsicc_get_link_profile
    - gsicc_extract_profile
    - memset
    - dump_raw_buffer
    - gs_note_error
    - pdf14_free_mask_stack
    - gs_free_object
    - smask_icc
    - pdf14_rcmask_new
    - gsicc_release_link
    - dev_proc
    - pdf14_buf_free
    - smask_blend
    - pdf14_mask_element_new
    - return_error
    linkageType: ''
    returnType: int
    signature: int pdf14_pop_transparency_mask(pdf14_ctx *ctx, gs_gstate *pgs, gx_device
      *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2095
    functionDepth: 1
    functionLinenumber: 2095
    functionLinenumberEnd: 2109
    functionName: pdf14_mask_element_new
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_mask_t
    signature: 'pdf14_mask_t *

      pdf14_mask_element_new(gs_memory_t *memory)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2122,1
    - Dst: pdf14_mask_element_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2127,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2130,1
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2138
      start: 2111
    functionDepth: 2
    functionLinenumber: 2111
    functionLinenumberEnd: 2138
    functionName: pdf14_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - rc_increment
    - pdf14_debug_mask_stack_state
    - pdf14_mask_element_new
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_push_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2149,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2157,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2159,1
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2140
    functionDepth: 1
    functionLinenumber: 2140
    functionLinenumberEnd: 2173
    functionName: pdf14_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - rc_decrement
    - pdf14_debug_mask_stack_state
    - gs_free_object
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_pop_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2182,1
    - Dst: pdf14_ctx_new
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2185,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2175
    functionDepth: 3
    functionLinenumber: 2175
    functionLinenumberEnd: 2201
    functionName: pdf14_open
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    - device_encodes_tags
    - pdf14_ctx_new
    linkageType: ''
    returnType: int
    signature: int pdf14_open(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2219
    functionName: pdf14_cmykspot_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      pdf14_cmykspot_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2225
      start: 2221
    functionDepth: 0
    functionLinenumber: 2221
    functionLinenumberEnd: 2225
    functionName: pdf14_rgbspot_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      pdf14_rgbspot_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2227
    functionDepth: 0
    functionLinenumber: 2227
    functionLinenumberEnd: 2231
    functionName: pdf14_grayspot_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      pdf14_grayspot_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2242
      start: 2233
    functionDepth: 0
    functionLinenumber: 2233
    functionLinenumberEnd: 2242
    functionName: be_rev_cpy
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void be_rev_cpy(uint16_t *dst,const uint16_t *src,int n)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2263,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2268,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2269,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2301,1
    - Dst: be_rev_cpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2316,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2327,1
    - Dst: dump_raw_buffer_be
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2365,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2373,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2385,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 89
    argCount: 4
    argNames:
    - dev
    - transbuff
    - mem
    - free_device
    argTypes:
    - gx_device*
    - gx_pattern_trans_t*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2249
    functionDepth: 1
    functionLinenumber: 2249
    functionLinenumberEnd: 2395
    functionName: pdf14_get_buffer_information
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - be_rev_cpy
    - memcpy
    - dump_raw_buffer
    - pdf14_debug_mask_stack_state
    - dump_raw_buffer_be
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_get_buffer_information(const gx_device * dev,\n                             gx_pattern_trans_t
      *transbuff, gs_memory_t *mem,\n                             bool free_device)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2412,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2416,1
    - Dst: pdf14_transform_color_buffer_no_matte
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2430,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2435,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 11
    argNames:
    - dev
    - pgs
    - src_profile
    - dev_target_profile
    - buf
    - buf_ptr
    - was_blended
    - x
    - y
    - width
    - height
    argTypes:
    - pdf14_device*
    - gs_gstate*
    - cmm_profile_t*
    - cmm_dev_profile_t*
    - pdf14_buf**
    - byte**
    - bool
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 2401
    functionDepth: 1
    functionLinenumber: 2401
    functionLinenumberEnd: 2451
    functionName: pdf14_put_image_color_convert
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dump_raw_buffer
    - pdf14_transform_color_buffer_no_matte
    - return_error
    - gsicc_extract_profile
    linkageType: ''
    returnType: int
    signature: "int pdf14_put_image_color_convert(const pdf14_device* dev, gs_gstate*
      pgs, cmm_profile_t* src_profile,\n                        cmm_dev_profile_t*
      dev_target_profile, pdf14_buf** buf,\n                        byte** buf_ptr,
      bool was_blended, int x, int y, int width, int height)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2485,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2511,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2513,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2514,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2515,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2516,1
    - Dst: dump_planar_rgba
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2520,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2530,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2534,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2537,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2546,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2554,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2565,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2569,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2583,1
    - Dst: pdf14_put_image_color_convert
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2593,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2609,1
    - Dst: gx_blend_image_buffer16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2617,1
    - Dst: gx_blend_image_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2620,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2625,1
    - Dst: pdf14_put_image_color_convert
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2636,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2642,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2659,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2671,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2688,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2701,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2702,1
    - Dst: gs_image_t_init_adjust
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2703,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2710,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2711,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2712,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2713,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2714,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2715,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2716,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2722,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2727,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2733,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2744,1
    - Dst: cal_get_blend_row
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2752,1
    - Dst: blend_row
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2762,1
    - Dst: gx_image_enum_common_t*::procs::plane_data
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2766,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2770,1
    - Dst: gx_image_enum_common_t*::procs::end_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2771,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2773,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 150
    argCount: 3
    argNames:
    - dev
    - pgs
    - target
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2775
      start: 2464
    functionDepth: 2
    functionLinenumber: 2464
    functionLinenumberEnd: 2775
    functionName: pdf14_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gs_alloc_bytes
    - pdf14_put_image_color_convert
    - dump_planar_rgba
    - device_encodes_tags
    - gs_image_t_init_adjust
    - blend_row
    - gsicc_adjust_profile_rc
    - cal_get_blend_row
    - gx_image_enum_common_t*::procs::plane_data
    - ctm_only_writable
    - rect_intersect
    - gx_image_enum_common_t*::procs::end_image
    - dump_raw_buffer
    - gs_throw_code
    - min
    - gs_free_object
    - gs_throw
    - gsicc_set_icc_range
    - dev_proc
    - if_debug0m
    - rc_decrement_only_cs
    - gx_blend_image_buffer
    - gx_blend_image_buffer16
    - gs_cspace_build_ICC
    linkageType: ''
    returnType: int
    signature: int pdf14_put_image(gx_device * dev, gs_gstate * pgs, gx_device * target)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 7
    argNames:
    - buf_ptr
    - width
    - height
    - rowstride
    - planestride
    - num_comp
    - spot_start
    argTypes:
    - byte*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2817
      start: 2779
    functionDepth: 0
    functionLinenumber: 2779
    functionLinenumberEnd: 2817
    functionName: gx_blend_image_mixed_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_blend_image_mixed_buffer(byte* buf_ptr, int width, int height,
      int rowstride,\n    int planestride, int num_comp, int spot_start)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 7
    argNames:
    - buf_ptr_
    - width
    - height
    - rowstride
    - planestride
    - num_comp
    - spot_start
    argTypes:
    - byte*
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2880
      start: 2819
    functionDepth: 0
    functionLinenumber: 2819
    functionLinenumberEnd: 2880
    functionName: gx_blend_image_mixed_buffer16
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_blend_image_mixed_buffer16(byte* buf_ptr_, int width, int
      height, int rowstride,\n    int planestride, int num_comp, int spot_start)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2930,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2931,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2940,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2951,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2955,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2958,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2967,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2975,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2986,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:2997,1
    - Dst: pdf14_put_image_color_convert
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3007,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3023,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3035,1
    - Dst: gx_blend_image_mixed_buffer16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3041,1
    - Dst: gx_blend_image_mixed_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3044,1
    - Dst: gx_blend_image_buffer16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3049,1
    - Dst: gx_blend_image_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3052,1
    - Dst: pdf14_put_image_color_convert
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3058,1
    - Dst: dump_raw_buffer_be
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3073,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3082,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3090,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3120,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3128,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3134,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3144,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3149,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3150,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3151,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3152,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3153,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3157,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3158,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3196,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3201,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3202,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3203,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3204,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3205,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3209,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3210,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 189
    argCount: 16
    argNames:
    - dev
    - target
    - pgs
    - buf
    - planestride_in
    - rowstride_in
    - x0
    - y0
    - width
    - height
    - num_comp
    - bg
    - has_tags
    - rect_in
    - pseparations
    - deep
    argTypes:
    - gx_device*
    - gx_device*
    - gs_gstate*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t
    - bool
    - gs_int_rect
    - gs_separations*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3220
      start: 2882
    functionDepth: 2
    functionLinenumber: 2882
    functionLinenumberEnd: 3220
    functionName: pdf14_put_blended_image_cmykspot
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_blend_image_buffer
    - gsicc_get_icc_buff_hash
    - strlen
    - pdf14_put_image_color_convert
    - gx_blend_image_mixed_buffer
    - gx_blend_image_buffer16
    - GET16_BE2NATIVE
    - dump_raw_buffer
    - gx_blend_image_mixed_buffer16
    - dump_raw_buffer_be
    - gs_throw_code
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int pdf14_put_blended_image_cmykspot(gx_device* dev, gx_device* target,\n
      \   gs_gstate* pgs, pdf14_buf* buf, int planestride_in,\n    int rowstride_in,
      int x0, int y0, int width, int height,\n    int num_comp, uint16_t bg, bool
      has_tags, gs_int_rect rect_in,\n    gs_separations* pseparations, bool deep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3118
    functionDepth: 0
    functionLinenumber: 3118
    functionLinenumberEnd: 3120
    functionName: GET16_BE2NATIVE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16_BE2NATIVE(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3261,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3263,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3264,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3265,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3266,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3274,1
    - Dst: pdf14_put_blended_image_cmykspot
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3286,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dev
    - pgs
    - target
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3290
      start: 3233
    functionDepth: 3
    functionLinenumber: 3233
    functionLinenumberEnd: 3290
    functionName: pdf14_cmykspot_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - pdf14_put_blended_image_cmykspot
    - rect_intersect
    - dump_raw_buffer
    - min
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_cmykspot_put_image(gx_device *dev, gs_gstate *pgs, gx_device
      *target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3333,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3335,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3336,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3337,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3338,1
    - Dst: gx_put_blended_image_custom
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - dev
    - pgs
    - target
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3303
    functionDepth: 1
    functionLinenumber: 3303
    functionLinenumberEnd: 3348
    functionName: pdf14_custom_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gx_put_blended_image_custom
    - rect_intersect
    - min
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_custom_put_image(gx_device * dev, gs_gstate * pgs, gx_device
      * target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3367,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3370,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3373,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3354
    functionDepth: 1
    functionLinenumber: 3354
    functionLinenumberEnd: 3385
    functionName: pdf14_cleanup_group_color_profiles
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - dev_proc
    - gsicc_extract_profile
    linkageType: ''
    returnType: void
    signature: void pdf14_cleanup_group_color_profiles (pdf14_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_cleanup_group_color_profiles
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3392,1
    - Dst: pdf14_ctx_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3399
      start: 3387
    functionDepth: 3
    functionLinenumber: 3387
    functionLinenumberEnd: 3399
    functionName: pdf14_close
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_cleanup_group_color_profiles
    - pdf14_ctx_free
    linkageType: ''
    returnType: int
    signature: int pdf14_close(gx_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_decrement_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3416,1
    - Dst: pdf14_pop_group_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3423,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3424,1
    - Dst: pdf14_free_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3434,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3441,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3442,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3443,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3444,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3448,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3451,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3453,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3456,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3460
      start: 3404
    functionDepth: 2
    functionLinenumber: 3404
    functionLinenumberEnd: 3460
    functionName: pdf14_discard_trans_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_pop_group_color
    - pdf14_free_mask_stack
    - pdf14_decrement_smask_color
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pdf14_discard_trans_layer(gx_device *dev, gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3462
    functionDepth: 1
    functionLinenumber: 3462
    functionLinenumberEnd: 3470
    functionName: pdf14_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pdf14_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3473
      start: 3472
    functionDepth: 0
    functionLinenumber: 3472
    functionLinenumberEnd: 3473
    functionName: COPY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_PARAM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3473
    functionDepth: 0
    functionLinenumber: 3473
    functionLinenumberEnd: 3474
    functionName: COPY_ARRAY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_ARRAY_PARAM(p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3489,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3490,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3491,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3492,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3493,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3494,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3495,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3496,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3497,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3498,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3499,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3500,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3501,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3508,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3510,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3515,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3518,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3532,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3534,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3535,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 2
    argNames:
    - dev
    - target
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3545
      start: 3481
    functionDepth: 1
    functionLinenumber: 3481
    functionLinenumberEnd: 3545
    functionName: gs_pdf14_device_copy_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - COPY_ARRAY_PARAM
    - gsicc_adjust_profile_rc
    - gsicc_new_device_profile_array
    - memcpy
    - COPY_PARAM
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gs_pdf14_device_copy_params(gx_device *dev, const gx_device *target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3561,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3562,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3564,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3571
      start: 3553
    functionDepth: 1
    functionLinenumber: 3553
    functionLinenumberEnd: 3571
    functionName: pdf14_forward_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_device_decache_colors
    - dev_proc
    - gx_device_copy_params
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: "int pdf14_forward_put_params(gx_device * dev, gs_param_list\t* plist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3593,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3594,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3596,1
    - Dst: gs_pdf14_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3600,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3603
      start: 3585
    functionDepth: 2
    functionLinenumber: 3585
    functionLinenumberEnd: 3603
    functionName: pdf14_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_device_decache_colors
    - gs_pdf14_device_copy_params
    - dev_proc
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: "int pdf14_put_params(gx_device * dev, gs_param_list\t* plist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3642,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3646
      start: 3609
    functionDepth: 1
    functionLinenumber: 3609
    functionLinenumberEnd: 3646
    functionName: pdf14_set_marking_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug6m
    linkageType: ''
    returnType: void
    signature: void pdf14_set_marking_params(gx_device *dev, const gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3660,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3661,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3663,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - pdcolor
    argTypes:
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3681
      start: 3648
    functionDepth: 1
    functionLinenumber: 3648
    functionLinenumberEnd: 3681
    functionName: update_lop_for_pdf14
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pattern1_color
    - gx_pattern1_get_transptr
    - gx_dc_is_pattern2_color
    linkageType: ''
    returnType: void
    signature: void update_lop_for_pdf14(gs_gstate *pgs, const gx_drawing_color *pdcolor)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3704,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3705,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3706,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3707,1
    - Dst: gs_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3714,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3723,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3724,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3725,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - pdev
    - pgs
    - box
    argTypes:
    - pdf14_clist_device*
    - gs_gstate*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3733
      start: 3683
    functionDepth: 1
    functionLinenumber: 3683
    functionLinenumberEnd: 3733
    functionName: push_shfill_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - fixed2int_pixround
    - pdf14_clist_update_params
    - gs_setblendmode
    - gs_begin_transparency_group
    - gs_setstrokeconstantalpha
    - gs_setfillconstantalpha
    linkageType: ''
    returnType: int
    signature: "int push_shfill_group(pdf14_clist_device *pdev,\n                  gs_gstate
      *pgs,\n                  gs_fixed_rect *box)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3739
      start: 3735
    functionDepth: 1
    functionLinenumber: 3735
    functionLinenumberEnd: 3739
    functionName: pop_shfill_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_end_transparency_group
    linkageType: ''
    returnType: int
    signature: int pop_shfill_group(gs_gstate *pgs)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3752,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3758,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3759,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3760,1
    - Dst: gx_pattern1_clist_has_trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3761,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3769,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3777,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3791,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3805,1
    - Dst: pdf14_tile_pattern_fill
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3806,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3813,1
    - Dst: blend_is_idempotent
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3818,1
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3818,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3829,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3831,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3835,1
    - Dst: push_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3846,1
    - Dst: update_lop_for_pdf14
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3848,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3849,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3858,1
    - Dst: pop_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3863,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3864,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3741
    functionDepth: 3
    functionLinenumber: 3741
    functionLinenumberEnd: 3870
    functionName: pdf14_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    - update_lop_for_pdf14
    - gx_pattern1_get_transptr
    - gx_dc_is_pattern1_color
    - pdf14_tile_pattern_fill
    - dump_raw_buffer
    - gx_dc_is_pattern2_color
    - pdf14_initialize_ctx
    - gx_path_bbox
    - gx_pattern1_clist_has_trans
    - gx_cpath_outer_box
    - push_shfill_group
    - pop_shfill_group
    - pdf14_set_marking_params
    - return_error
    - blend_is_idempotent
    - gs_currentblendmode
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_fill_path(gx_device *dev,\tconst gs_gstate *pgs,\n                           gx_path
      *ppath, const gx_fill_params *params,\n                           const gx_drawing_color
      *pdcolor,\n                           const gx_clip_path *pcpath)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3883,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3885,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3890,1
    - Dst: blend_is_idempotent
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3895,1
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3895,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3900,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3902,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3912,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3914,1
    - Dst: push_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3945,1
    - Dst: update_lop_for_pdf14
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3947,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3948,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3950,1
    - Dst: pop_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3953,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3954,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3958
      start: 3872
    functionDepth: 3
    functionLinenumber: 3872
    functionLinenumberEnd: 3958
    functionName: pdf14_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - update_lop_for_pdf14
    - gx_dc_is_pattern2_color
    - gx_stroke_path_expansion
    - pdf14_initialize_ctx
    - gx_path_bbox
    - gx_cpath_outer_box
    - push_shfill_group
    - gx_default_stroke_path
    - pdf14_set_marking_params
    - pop_shfill_group
    - return_error
    - blend_is_idempotent
    - gs_currentblendmode
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_stroke_path(gx_device *dev, const\tgs_gstate\t*pgs,\n                             gx_path
      *ppath, const gx_stroke_params *params,\n                             const
      gx_drawing_color *pdcolor,\n                             const gx_clip_path
      *pcpath)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3991,1
    - Dst: gx_curr_fixed_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:3996,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4002,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4003,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4006,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4009,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4014,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4021,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4022,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4023,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4024,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4025,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4027,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4027,1
    - Dst: pdf14_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4046,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4052,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4053,1
    - Dst: pdf14_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4056,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4060,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4061,1
    - Dst: pdf14_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4063,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4064,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4079,1
    - Dst: pdf14_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4080,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4084,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4091,1
    - Dst: pdf14_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4092,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4095,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4100,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4102,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4106,1
    - Dst: pdf14_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4107,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4109,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4116,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4117,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4118,1
    - Dst: pdf14_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4120,1
    - Dst: gs_abort_pdf14trans_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4123,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 104
    argCount: 8
    argNames:
    - dev
    - cpgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4127
      start: 3960
    functionDepth: 4
    functionLinenumber: 3960
    functionLinenumberEnd: 4127
    functionName: pdf14_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_stroke_path
    - gx_stroke_path_expansion
    - pdf14_end_transparency_group
    - pdf14_initialize_ctx
    - gs_bbox_transform_inverse
    - ctm_only
    - gx_path_bbox
    - gs_setfillconstantalpha
    - pdf14_fill_path
    - gs_abort_pdf14trans_device
    - rect_intersect
    - gx_curr_fixed_bbox
    - pdf14_begin_transparency_group
    - gs_setblendmode
    - gs_swapcolors_quick
    - gs_setstrokeconstantalpha
    - int2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf14_fill_stroke_path(gx_device *dev, const gs_gstate *cpgs,
      gx_path *ppath,\n    const gx_fill_params *fill_params, const gx_drawing_color
      *pdcolor_fill,\n    const gx_stroke_params *stroke_params, const gx_drawing_color
      *pdcolor_stroke,\n    const gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_copy_alpha_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - aa_raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4129
    functionDepth: 1
    functionLinenumber: 4129
    functionLinenumberEnd: 4136
    functionName: pdf14_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_copy_alpha_color
    linkageType: ''
    returnType: int
    signature: "int pdf14_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \          int aa_raster, gx_bitmap_id id, int x, int y, int w, int h,\n                      gx_color_index
      color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_copy_alpha_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - aa_raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4145
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4145
    functionName: pdf14_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_copy_alpha_color
    linkageType: ''
    returnType: int
    signature: "int pdf14_copy_alpha_hl_color(gx_device * dev, const byte * data,
      int data_x,\n           int aa_raster, gx_bitmap_id id, int x, int y, int w,
      int h,\n                      const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_device*::pdf14_procs::unpack_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4207,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4208,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4210,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4260,1
    - Dst: art_pdf_knockoutisolated_group_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4280,1
    - Dst: art_pdf_composite_knockout_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4282,1
    - Dst: art_pdf_composite_pixel_alpha_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4286,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 128
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - aa_raster
    - id
    - x
    - y
    - w
    - h
    - color
    - pdc
    - depth
    - devn
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4333
      start: 4147
    functionDepth: 1
    functionLinenumber: 4147
    functionLinenumberEnd: 4333
    functionName: do_pdf14_copy_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_device*::pdf14_procs::unpack_color
    - art_pdf_knockoutisolated_group_8
    - floor
    - return_error
    - art_pdf_composite_pixel_alpha_8
    - art_pdf_composite_knockout_8
    linkageType: ''
    returnType: int
    signature: "int do_pdf14_copy_alpha_color(gx_device * dev, const byte * data,
      int data_x,\n                          int aa_raster, gx_bitmap_id id, int x,
      int y,\n                          int w, int h, gx_color_index color,\n                          const
      gx_device_color *pdc, int depth, bool devn)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_device*::pdf14_procs::unpack_color16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4394,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4395,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4397,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4452,1
    - Dst: art_pdf_knockoutisolated_group_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4472,1
    - Dst: art_pdf_composite_knockout_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4474,1
    - Dst: art_pdf_composite_pixel_alpha_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4478,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 133
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - aa_raster
    - id
    - x
    - y
    - w
    - h
    - color
    - pdc
    - depth
    - devn
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4525
      start: 4335
    functionDepth: 1
    functionLinenumber: 4335
    functionLinenumberEnd: 4525
    functionName: do_pdf14_copy_alpha_color_16
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - art_pdf_knockoutisolated_group_16
    - art_pdf_composite_knockout_16
    - pdf14_device*::pdf14_procs::unpack_color16
    - art_pdf_composite_pixel_alpha_16
    - floor
    - return_error
    linkageType: ''
    returnType: int
    signature: "int do_pdf14_copy_alpha_color_16(gx_device * dev, const byte * data,
      int data_x,\n                             int aa_raster, gx_bitmap_id id, int
      x, int y,\n                             int w, int h, gx_color_index color,\n
      \                            const gx_device_color *pdc, int depth, bool devn)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4533,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4536,1
    - Dst: do_pdf14_copy_alpha_color_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4542,1
    - Dst: do_pdf14_copy_alpha_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - aa_raster
    - id
    - x
    - y
    - w
    - h
    - color
    - pdc
    - depth
    - devn
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4549
      start: 4527
    functionDepth: 3
    functionLinenumber: 4527
    functionLinenumberEnd: 4549
    functionName: pdf14_copy_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 3
    functionsReached:
    - do_pdf14_copy_alpha_color_16
    - pdf14_initialize_ctx
    - device_is_deep
    - do_pdf14_copy_alpha_color
    linkageType: ''
    returnType: int
    signature: "int pdf14_copy_alpha_color(gx_device * dev, const byte * data, int
      data_x,\n           int aa_raster, gx_bitmap_id id, int x, int y, int w, int
      h,\n                      gx_color_index color, const gx_device_color *pdc,\n
      \                     int depth, bool devn)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4569,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4571,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4578,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4579,1
    - Dst: gx_set_pattern_procs_trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4593,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4605,1
    - Dst: pdf14_clone_group_color_info
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4610,1
    - Dst: pdf14_push_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4614,1
    - Dst: new_pattern_trans_buff
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4622,1
    - Dst: pdf14_get_buffer_information
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4623,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4633,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4639,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4641,1
    - Dst: gx_drawing_color*::type::fill_masked
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4643,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4648,1
    - Dst: pdf14_pop_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4650,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4655,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 13
    argNames:
    - orig_dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4551
    functionDepth: 3
    functionLinenumber: 4551
    functionLinenumberEnd: 4660
    functionName: pdf14_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_make_clip_device_on_stack
    - gx_pattern1_get_transptr
    - gx_dc_is_pattern1_color
    - pdf14_push_transparency_group
    - gx_drawing_color*::type::fill_masked
    - gx_set_pattern_procs_trans
    - pdf14_initialize_ctx
    - new_pattern_trans_buff
    - max
    - pdf14_get_buffer_information
    - gx_dc_pure_color
    - pdf14_clone_group_color_info
    - return_error
    - pdf14_pop_transparency_group
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf14_fill_mask(gx_device * orig_dev,\n                     const
      byte * data, int dx, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h,\n                     const gx_drawing_color * pdcolor,
      int depth,\n                     gs_logical_operation_t lop, const gx_clip_path
      * pcpath)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4690,1
    - Dst: gx_cpath_init_local_shared_nested
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4692,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4694,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4695,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4696,1
    - Dst: gx_cpath_intersect_with_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4700,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4714,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4715,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4729,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4730,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4731,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4732,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4733,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4734,1
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4737,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4739,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4749,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4750,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4751,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4752,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4753,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4763,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4769,1
    - Dst: pdf14_clone_group_color_info
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4771,1
    - Dst: pdf14_push_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4775,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4775,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4776,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4776,1
    - Dst: new_pattern_trans_buff
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4796,1
    - Dst: pdf14_get_buffer_information
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4797,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4813,1
    - Dst: gx_trans_pattern_fill_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4818,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4825,1
    - Dst: gx_trans_pattern_fill_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4834,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4848,1
    - Dst: gx_trans_pattern_fill_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4852,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4866,1
    - Dst: pdf14_pop_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4871,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4876,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4879,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 101
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4666
    functionDepth: 3
    functionLinenumber: 4666
    functionLinenumberEnd: 4881
    functionName: pdf14_tile_pattern_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - pdf14_push_transparency_group
    - gx_trans_pattern_fill_rect
    - pdf14_clone_group_color_info
    - gx_cpath_init_local_shared_nested
    - if_debug5m
    - new_pattern_trans_buff
    - gx_cpath_outer_box
    - pdf14_pop_transparency_group
    - gs_free_object
    - gx_make_clip_device_on_stack
    - gx_path_add_rectangle
    - gx_cpath_intersect_with_params
    - fixed2int
    - floor
    - pdf14_get_buffer_information
    - gx_path_init_local
    - dev_proc
    - int2fixed
    - fixed2int_ceiling
    - gx_path_free
    - gx_cpath_init_local
    - gx_cpath_free
    - gx_cpath_intersect
    - gx_cpath_from_rectangle
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf14_tile_pattern_fill(gx_device * pdev, const gs_gstate * pgs,\n
      \                       gx_path * ppath, const gx_fill_params * params,\n                        const
      gx_device_color * pdevc,\n                        const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4894
      start: 4887
    functionDepth: 1
    functionLinenumber: 4887
    functionLinenumberEnd: 4894
    functionName: find_pdf14_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: pdf14_device
    signature: pdf14_device *find_pdf14_device(gx_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_pdf14_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4916,1
    - Dst: gs_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4922,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4927,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4931,1
    - Dst: pdf14_pop_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4934,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4940,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4945
      start: 4898
    functionDepth: 3
    functionLinenumber: 4898
    functionLinenumberEnd: 4945
    functionName: pdf14_pattern_trans_render
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - find_pdf14_device
    - gs_end_transparency_group
    - if_debug2m
    - pdf14_pop_transparency_group
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf14_pattern_trans_render(gx_image_enum * penum, const byte *
      buffer, int data_x,\n                    uint w, int h, gx_device * dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_pattern_procs_trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4992,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:4994,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5005,1
    - Dst: compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5010,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5015,1
    - Dst: pdf14_push_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5019,1
    - Dst: new_pattern_trans_buff
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5026,1
    - Dst: pdf14_get_buffer_information
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5027,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5043
      start: 4950
    functionDepth: 3
    functionLinenumber: 4950
    functionLinenumberEnd: 5043
    functionName: pdf14_patt_trans_image_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_push_transparency_group
    - gx_set_pattern_procs_trans
    - gx_default_begin_typed_image
    - gs_bbox_transform_inverse
    - new_pattern_trans_buff
    - pdf14_get_buffer_information
    - compute_group_device_int_rect
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int pdf14_patt_trans_image_fill(gx_device * dev, const gs_gstate *
      pgs,\n                           const gs_matrix *pmat, const gs_image_common_t
      *pic,\n                           const gs_int_rect * prect,\n                           const
      gx_drawing_color * pdcolor,\n                           const gx_clip_path *
      pcpath, gs_memory_t * mem,\n                           gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5056,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5064,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5065,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5075,1
    - Dst: pdf14_patt_trans_image_fill
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5076,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5084,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5085,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5087
      start: 5045
    functionDepth: 4
    functionLinenumber: 5045
    functionLinenumberEnd: 5087
    functionName: pdf14_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_pattern1_get_transptr
    - pdf14_initialize_ctx
    - gx_default_begin_typed_image
    - pdf14_patt_trans_image_fill
    - pdf14_set_marking_params
    - gx_dc_is_pattern1_color
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_begin_typed_image(gx_device * dev, const gs_gstate * pgs,\n
      \                          const gs_matrix *pmat, const gs_image_common_t *pic,\n
      \                          const gs_int_rect * prect,\n                           const
      gx_drawing_color * pdcolor,\n                           const gx_clip_path *
      pcpath, gs_memory_t * mem,\n                           gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5094,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5110,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - pgs
    - dev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5117
      start: 5089
    functionDepth: 2
    functionLinenumber: 5089
    functionLinenumberEnd: 5117
    functionName: pdf14_set_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_set_marking_params
    - gs_swapcolors_quick
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: "void pdf14_set_params(gs_gstate * pgs,\n                 gx_device
      * dev,\n                 const gs_pdf14trans_params_t * pparams)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5138,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5139,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5142
      start: 5129
    functionDepth: 1
    functionLinenumber: 5129
    functionLinenumberEnd: 5142
    functionName: pdf14_forward_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_opendevice
    - gx_device_copy_params
    linkageType: ''
    returnType: int
    signature: int pdf14_forward_open_device(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5159,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5159,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5160,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5165,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5166,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5167,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5168,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5169,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5170,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5171,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5172,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5173,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5174,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5175,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5177,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5179
      start: 5148
    functionDepth: 1
    functionLinenumber: 5148
    functionLinenumberEnd: 5179
    functionName: pdf14_forward_device_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - size_of
    - gx_device_forward_fill_in_procs
    - memset
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: void pdf14_forward_device_procs(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5192,1
    - Dst: pdf14_forward_device_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5194,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5187
    functionDepth: 2
    functionLinenumber: 5187
    functionLinenumberEnd: 5197
    functionName: pdf14_disable_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - pdf14_forward_device_procs
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_disable_device(gx_device * dev)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5212,1
    - Dst: gx_device_is_pattern_clist
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5225,1
    - Dst: gx_device_is_pattern_accum
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5226,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5272,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5273,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 3
    argNames:
    - pdev
    - use_pdf14_accum
    - using_blend_cs
    argTypes:
    - gx_device*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5315
      start: 5203
    functionDepth: 1
    functionLinenumber: 5203
    functionLinenumberEnd: 5315
    functionName: pdf14_determine_default_blend_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_device_is_pattern_clist
    - strlen
    - gx_device_is_pattern_accum
    - dev_proc
    linkageType: ''
    returnType: pdf14_default_colorspace_t
    signature: "pdf14_default_colorspace_t pdf14_determine_default_blend_cs(gx_device
      * pdev, bool use_pdf14_accum,\n                                 bool *using_blend_cs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_determine_default_blend_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5330,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5332,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 6
    argNames:
    - dev
    - pdevproto
    - ptempdevproto
    - pgs
    - pdf14pct
    - use_pdf14_accum
    argTypes:
    - gx_device*
    - pdf14_device**
    - pdf14_device*
    - gs_gstate*
    - gs_pdf14trans_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5415
      start: 5323
    functionDepth: 2
    functionLinenumber: 5323
    functionLinenumberEnd: 5415
    functionName: get_pdf14_device_proto
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf14_determine_default_blend_cs
    - device_is_deep
    linkageType: ''
    returnType: int
    signature: "int get_pdf14_device_proto(gx_device * dev, pdf14_device ** pdevproto,\n
      \       pdf14_device * ptempdevproto, gs_gstate * pgs,\n        const gs_pdf14trans_t
      * pdf14pct, bool use_pdf14_accum)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_determine_default_blend_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5425,1
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5428,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5430,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5431,1
    - Dst: check_device_compatible_encoding
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5436,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5472
      start: 5420
    functionDepth: 2
    functionLinenumber: 5420
    functionLinenumberEnd: 5472
    functionName: pdf14_ok_to_optimize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - check_device_compatible_encoding
    - pdf14_determine_default_blend_cs
    - device_encodes_tags
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool pdf14_ok_to_optimize(gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5489,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5491,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5493,1
    - Dst: get_pdf14_device_proto
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5499,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5509,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5510,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5513,1
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5518,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5519,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5520,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 4
    argNames:
    - mem
    - pgs
    - dev
    - pdf14pct
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5522
      start: 5481
    functionDepth: 3
    functionLinenumber: 5481
    functionLinenumberEnd: 5522
    functionName: pdf14_recreate_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - dev_proc
    - gx_device_fill_in_procs
    - get_pdf14_device_proto
    - check_device_separable
    - device_encodes_tags
    - gx_device_set_procs
    - set_dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_recreate_device(gs_memory_t *mem,\tgs_gstate\t* pgs,\n                gx_device
      * dev, const gs_pdf14trans_t * pdf14pct)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_recreate_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5544,1
    - Dst: gx_abort_trans_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5550,1
    - Dst: devn_free_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5552,1
    - Dst: pdf14_disable_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5554,1
    - Dst: pdf14_close
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5555,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5559,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5562,1
    - Dst: pdf14_device*::pdf14_procs::put_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5572,1
    - Dst: devn_free_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5579,1
    - Dst: pdf14_disable_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5581,1
    - Dst: pdf14_close
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5582,1
    - Dst: gx_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5590,1
    - Dst: gx_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5593,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5600,1
    - Dst: gx_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5606,1
    - Dst: gx_begin_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5610,1
    - Dst: gx_end_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5615,1
    - Dst: pdf14_set_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5625,1
    - Dst: gx_push_transparency_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5628,1
    - Dst: gx_pop_transparency_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5631,1
    - Dst: pdf14_increment_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5634,1
    - Dst: pdf14_decrement_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5637,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    argCount: 4
    argNames:
    - pdev
    - pgs
    - pdf14pct
    - mem
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_pdf14trans_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5528
    functionDepth: 4
    functionLinenumber: 5528
    functionLinenumberEnd: 5641
    functionName: gx_update_pdf14_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_increment_smask_color
    - pdf14_device*::pdf14_procs::put_image
    - gx_end_transparency_mask
    - gx_push_transparency_state
    - gx_begin_transparency_mask
    - pdf14_disable_device
    - gx_pop_transparency_state
    - pdf14_close
    - gx_abort_trans_device
    - devn_free_params
    - pdf14_recreate_device
    - gx_begin_transparency_group
    - emprintf
    - pdf14_decrement_smask_color
    - gx_set_cmap_procs
    - gx_end_transparency_group
    - pdf14_set_params
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gx_update_pdf14_compositor(gx_device * pdev, gs_gstate * pgs,\n
      \   const gs_pdf14trans_t * pdf14pct, gs_memory_t * mem )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5662,1
    - Dst: gx_update_pdf14_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5666,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5669,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5672,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - mem
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5674
      start: 5651
    functionDepth: 5
    functionLinenumber: 5651
    functionLinenumberEnd: 5674
    functionName: pdf14_forward_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_is_pdf14trans_compositor
    - gx_update_pdf14_compositor
    - dev_proc
    - gx_device_set_target
    linkageType: ''
    returnType: int
    signature: "int pdf14_forward_create_compositor(gx_device * dev, gx_device * *
      pcdev,\n        const gs_composite_t * pct, gs_gstate * pgs,\n        gs_memory_t
      * mem, gx_device *cdev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5687,1
    - Dst: gx_update_pdf14_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5695,1
    - Dst: gs_is_overprint_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5696,1
    - Dst: gx_no_create_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - mem
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5730
      start: 5681
    functionDepth: 5
    functionLinenumber: 5681
    functionLinenumberEnd: 5730
    functionName: pdf14_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_is_pdf14trans_compositor
    - gx_update_pdf14_compositor
    - gs_is_overprint_compositor
    - gx_no_create_compositor
    linkageType: ''
    returnType: int
    signature: "int pdf14_create_compositor(gx_device * dev, gx_device * * pcdev,\n
      \       const gs_composite_t * pct, gs_gstate * pgs,\n        gs_memory_t *
      mem, gx_device *cdev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5752,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5753,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5756,1
    - Dst: gs_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5761,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5762,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5763,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - dev
    - pgs
    - blend_mode
    - opacity
    - shape
    - is_clist
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_blend_mode_t
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5771
      start: 5732
    functionDepth: 1
    functionLinenumber: 5732
    functionLinenumberEnd: 5771
    functionName: pdf14_push_text_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_clist_update_params
    - gs_setblendmode
    - gs_begin_transparency_group
    - gs_setfillconstantalpha
    linkageType: ''
    returnType: int
    signature: "int pdf14_push_text_group(gx_device *dev, gs_gstate *pgs,\n                      gs_blend_mode_t
      blend_mode, float opacity,\n                      float shape, bool is_clist)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5782,1
    - Dst: gs_currenttextrenderingmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5788,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5792,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5797,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5798,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5799,1
    - Dst: gs_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5822,1
    - Dst: gs_currenttextknockout
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5828,1
    - Dst: pdf14_push_text_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5834,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 21
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5839
      start: 5773
    functionDepth: 3
    functionLinenumber: 5773
    functionLinenumberEnd: 5839
    functionName: pdf14_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_currenttextknockout
    - gs_currenttextrenderingmode
    - pdf14_initialize_ctx
    - gx_default_text_begin
    - gs_end_transparency_group
    - pdf14_set_marking_params
    - pdf14_push_text_group
    - gs_currentblendmode
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_text_begin(gx_device * dev, gs_gstate * pgs,\n                 const
      gs_text_params_t * text, gs_font * font,\n                 gx_path * path, const
      gx_device_color * pdcolor,\n                 const gx_clip_path * pcpath, gs_memory_t
      * memory,\n                 gs_text_enum_t ** ppenum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - new_dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5852
      start: 5841
    functionDepth: 0
    functionLinenumber: 5841
    functionLinenumberEnd: 5852
    functionName: pdf14_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int pdf14_finish_copydevice(gx_device *new_dev, const gx_device *from_dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5869,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5896,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5917,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5927
      start: 5857
    functionDepth: 1
    functionLinenumber: 5857
    functionLinenumberEnd: 5927
    functionName: pdf14_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int pdf14_copy_mono(gx_device * dev,\n               const byte *
      base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5946,1
    - Dst: pdf14_compose_alphaless_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5985,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 41
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5988
      start: 5932
    functionDepth: 1
    functionLinenumber: 5932
    functionLinenumberEnd: 5988
    functionName: pdf14_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_compose_alphaless_group
    - fit_fill_xywh
    linkageType: ''
    returnType: int
    signature: "int pdf14_copy_planes(gx_device * dev, const byte * data, int data_x,
      int raster,\n                  gx_bitmap_id id, int x, int y, int w, int h,
      int plane_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5998,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:5999,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6000,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6001,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6003,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6009,1
    - Dst: pdf14_mark_fill_rectangle_ko_simple
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6013,1
    - Dst: pdf14_mark_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6017
      start: 5990
    functionDepth: 3
    functionLinenumber: 5990
    functionLinenumberEnd: 6017
    functionName: pdf14_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_mark_fill_rectangle
    - pdf14_initialize_ctx
    - fixed2int
    - pdf14_mark_fill_rectangle_ko_simple
    - fit_fill_xywh
    linkageType: ''
    returnType: int
    signature: "int pdf14_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6027,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6034,1
    - Dst: pdf14_mark_fill_rectangle_ko_simple
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6038,1
    - Dst: pdf14_mark_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6041,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6042
      start: 6019
    functionDepth: 3
    functionLinenumber: 6019
    functionLinenumberEnd: 6042
    functionName: pdf14_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_initialize_ctx
    - pdf14_mark_fill_rectangle
    - fit_fill_xywh
    - pdf14_mark_fill_rectangle_ko_simple
    linkageType: ''
    returnType: int
    signature: "int pdf14_fill_rectangle(gx_device * dev,\n                    int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6051,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6054,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6055,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6056,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ctm
    - pbbox
    - rect
    argTypes:
    - gs_matrix*
    - gs_rect*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6059
      start: 6044
    functionDepth: 1
    functionLinenumber: 6044
    functionLinenumberEnd: 6059
    functionName: pdf14_compute_group_device_int_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - floor
    - ceil
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: "int pdf14_compute_group_device_int_rect(const gs_matrix *ctm,\n                                    const
      gs_rect *pbbox, gs_int_rect *rect)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6065,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6065,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - rect
    - pbbox
    - pgs
    argTypes:
    - pdf14_device*
    - gs_int_rect*
    - gs_rect*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6076
      start: 6061
    functionDepth: 2
    functionLinenumber: 6061
    functionLinenumberEnd: 6076
    functionName: compute_group_device_int_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached:
    - rect_intersect
    - pdf14_compute_group_device_int_rect
    - ctm_only
    linkageType: ''
    returnType: int
    signature: "int compute_group_device_int_rect(pdf14_device *pdev, gs_int_rect
      *rect,\n                              const gs_rect *pbbox, gs_gstate *pgs)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6098,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6101,1
    - Dst: compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6110,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6114,1
    - Dst: gsicc_read_serial_icc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6132,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6134,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6143,1
    - Dst: pdf14_make_base_group_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6157,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6164,1
    - Dst: pdf14_push_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6171,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6175,1
    - Dst: pdf14_push_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6177,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6178,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6179,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6180,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6186,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gs_transparency_group_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6188
      start: 6078
    functionDepth: 3
    functionLinenumber: 6078
    functionLinenumberEnd: 6188
    functionName: pdf14_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - if_debug5m
    - gsicc_get_icc_buff_hash
    - pdf14_push_color_model
    - pdf14_push_transparency_group
    - gs_throw
    - gsicc_adjust_profile_rc
    - pdf14_initialize_ctx
    - pdf14_make_base_group_color
    - gsicc_extract_profile
    - floor
    - compute_group_device_int_rect
    - gsicc_read_serial_icc
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_begin_transparency_group(gx_device* dev,\n    const gs_transparency_group_params_t*
      ptgp,\n    const gs_rect* pbbox,\n    gs_gstate* pgs, gs_memory_t* mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6198,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6199,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6208,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6210,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6215,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - dev
    - group_color
    argTypes:
    - gx_device*
    - pdf14_group_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6224
      start: 6190
    functionDepth: 1
    functionLinenumber: 6190
    functionLinenumberEnd: 6224
    functionName: pdf14_pop_color_model
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - memcpy
    - set_dev_proc
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: void
    signature: void pdf14_pop_color_model(gx_device* dev, pdf14_group_color_t* group_color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6235,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6239,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6241,1
    - Dst: pdf14_pop_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6243,1
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6246,1
    - Dst: pdf14_pop_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6253,1
    - Dst: pdf14_pop_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6259
      start: 6226
    functionDepth: 3
    functionLinenumber: 6226
    functionLinenumberEnd: 6259
    functionName: pdf14_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - gsicc_extract_profile
    - pdf14_pop_color_model
    - pdf14_debug_mask_stack_state
    - pdf14_pop_transparency_group
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_end_transparency_group(gx_device* dev, gs_gstate* pgs)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6277,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6280,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6282,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6288,1
    - Dst: gsicc_read_serial_icc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6336,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6351,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6412,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6432,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6435,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6436,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6443,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6444,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6445,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6446,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6454,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6455,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6456,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6457,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6458,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6460,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6471,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 155
    argCount: 5
    argNames:
    - dev
    - group_color_type
    - icc_hashcode
    - iccprofile
    - is_mask
    argTypes:
    - gx_device*
    - gs_transparency_color_t
    - int64_t
    - cmm_profile_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6475
      start: 6261
    functionDepth: 1
    functionLinenumber: 6261
    functionLinenumberEnd: 6475
    functionName: pdf14_push_color_model
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - if_debug0m
    - dev_proc
    - gsicc_adjust_profile_rc
    - device_encodes_tags
    - memset
    - memcpy
    - if_debug2m
    - gsicc_read_serial_icc
    - set_dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: pdf14_group_color_t
    signature: "pdf14_group_color_t *\npdf14_push_color_model(gx_device *dev, gs_transparency_color_t
      group_color_type,\n                        int64_t icc_hashcode, cmm_profile_t
      *iccprofile,\n                        bool is_mask)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6497,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6498,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6503,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6504,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6506,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6509,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6521,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6523,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6531,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6532,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6533,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6535,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6546,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6547,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6550,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6551,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6668,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6677,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6684,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6692,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6708,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6712,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6713,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6721,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6722,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6723,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6724,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6743,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 192
    argCount: 6
    argNames:
    - dev
    - cdev
    - pgs
    - pdf14pct
    - mem
    - is_mask
    argTypes:
    - gx_device*
    - gx_device*
    - gs_gstate*
    - gs_pdf14trans_t*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6752
      start: 6477
    functionDepth: 1
    functionLinenumber: 6477
    functionLinenumberEnd: 6752
    functionName: pdf14_clist_push_color_model
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - gsicc_adjust_profile_rc
    - gs_throw
    - set_dev_proc
    - gsicc_extract_profile
    - device_encodes_tags
    - gs_alloc_struct
    - memcpy
    - memset
    - if_debug2m
    - return_error
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_push_color_model(gx_device *dev, gx_device* cdev,
      gs_gstate *pgs,\n                             const gs_pdf14trans_t *pdf14pct,
      gs_memory_t* mem,\n                             bool is_mask)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6763,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6765,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6769,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6771,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6775,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6776,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6777,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6785,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6786,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6787,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6789,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6799,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6801,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6808,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6812,1
    - Dst: pdf14_pop_group_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6814,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6816
      start: 6754
    functionDepth: 1
    functionLinenumber: 6754
    functionLinenumberEnd: 6816
    functionName: pdf14_clist_pop_color_model
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    - gsicc_adjust_profile_rc
    - pdf14_pop_group_color
    - memcpy
    - gx_set_cmap_procs
    - return_error
    - set_dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_clist_pop_color_model(gx_device *dev, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6829,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6835,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6836
      start: 6823
    functionDepth: 1
    functionLinenumber: 6823
    functionLinenumberEnd: 6836
    functionName: pdf14_pop_group_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached:
    - gs_free_object
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: void pdf14_pop_group_color(gx_device *dev, const gs_gstate *pgs)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6851,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6854,1
    - Dst: pdf14_buf_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6865,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6871,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6874,1
    - Dst: compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6875,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6881,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6883,1
    - Dst: pdf14_push_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6915,1
    - Dst: pdf14_push_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6922,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 5
    argNames:
    - dev
    - ptmp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gx_transparency_mask_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6937
      start: 6838
    functionDepth: 3
    functionLinenumber: 6838
    functionLinenumberEnd: 6937
    functionName: pdf14_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_buf_free
    - device_is_deep
    - if_debug1m
    - pdf14_push_transparency_mask
    - pdf14_push_color_model
    - gs_alloc_bytes
    - pdf14_initialize_ctx
    - memcpy
    - compute_group_device_int_rect
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf14_begin_transparency_mask(gx_device\t*dev,\n                              const
      gx_transparency_mask_params_t *ptmp,\n                              const gs_rect
      *pbbox,\n                              gs_gstate *pgs, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6946,1
    - Dst: pdf14_pop_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6947,1
    - Dst: pdf14_debug_mask_stack_state
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6949,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6960,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6961,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6962,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6971,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6972,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6973,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6975,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6979,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:6982,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6988
      start: 6939
    functionDepth: 3
    functionLinenumber: 6939
    functionLinenumberEnd: 6988
    functionName: pdf14_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    - gsicc_adjust_profile_rc
    - memcpy
    - gx_set_cmap_procs
    - pdf14_debug_mask_stack_state
    - set_dev_proc
    - pdf14_pop_transparency_mask
    linkageType: ''
    returnType: int
    signature: int pdf14_end_transparency_mask(gx_device *dev, gs_gstate *pgs)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7033,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7037,1
    - Dst: pdf14_device*::pdf14_procs::unpack_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7058,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7060,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7062,1
    - Dst: art_pdf_knockoutisolated_group_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7117,1
    - Dst: art_pdf_composite_knockout_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7119,1
    - Dst: art_pdf_composite_knockout_8
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7130,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7173,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 118
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7183
      start: 6990
    functionDepth: 1
    functionLinenumber: 6990
    functionLinenumberEnd: 7183
    functionName: do_mark_fill_rectangle_ko_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_device*::pdf14_procs::unpack_color
    - dump_raw_buffer
    - art_pdf_knockoutisolated_group_8
    - if_debug6m
    - floor
    - art_pdf_composite_knockout_8
    - if_debug7m
    linkageType: ''
    returnType: int
    signature: "int do_mark_fill_rectangle_ko_simple(gx_device *dev, int x, int y,
      int w, int h,\n                                 gx_color_index color,\n                                 const
      gx_device_color *pdc, bool devn)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7226,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7230,1
    - Dst: pdf14_device*::pdf14_procs::unpack_color16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7251,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7253,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7255,1
    - Dst: art_pdf_knockoutisolated_group_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7316,1
    - Dst: art_pdf_composite_knockout_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7318,1
    - Dst: art_pdf_composite_knockout_16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7329,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7372,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 123
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7382
      start: 7185
    functionDepth: 1
    functionLinenumber: 7185
    functionLinenumberEnd: 7382
    functionName: do_mark_fill_rectangle_ko_simple16
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - art_pdf_knockoutisolated_group_16
    - art_pdf_composite_knockout_16
    - pdf14_device*::pdf14_procs::unpack_color16
    - if_debug6m
    - floor
    - dump_raw_buffer
    - if_debug7m
    linkageType: ''
    returnType: int
    signature: "int do_mark_fill_rectangle_ko_simple16(gx_device *dev, int x, int
      y, int w, int h,\n                                   gx_color_index color,\n
      \                                  const gx_device_color *pdc, bool devn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_mark_fill_rectangle_ko_simple16
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7393,1
    - Dst: do_mark_fill_rectangle_ko_simple
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7396
      start: 7384
    functionDepth: 2
    functionLinenumber: 7384
    functionLinenumberEnd: 7396
    functionName: pdf14_mark_fill_rectangle_ko_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached:
    - do_mark_fill_rectangle_ko_simple16
    - do_mark_fill_rectangle_ko_simple
    linkageType: ''
    returnType: int
    signature: "int pdf14_mark_fill_rectangle_ko_simple(gx_device *\tdev, int x, int
      y, int w, int h,\n                                    gx_color_index color,\n
      \                                   const gx_device_color *pdc, bool devn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pcc
    - pcolor_component_map
    - plist
    argTypes:
    - frac*
    - gs_devicen_color_map*
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7442
      start: 7424
    functionDepth: 0
    functionLinenumber: 7424
    functionLinenumberEnd: 7442
    functionName: map_components_to_colorants
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void map_components_to_colorants(const frac * pcc,\n                            const
      gs_devicen_color_map * pcolor_component_map,\n                            frac
      * plist)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7463,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7468,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7468,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7471,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7475,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7475,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7480,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7486,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7489,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 5
    argNames:
    - gray
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7491
      start: 7445
    functionDepth: 1
    functionLinenumber: 7445
    functionLinenumberEnd: 7491
    functionName: pdf14_cmap_gray_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    - gx_color_value_from_byte
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_gray_direct(frac gray, gx_device_color * pdc, const
      gs_gstate * pgs,\n                       gx_device * dev, gs_color_select_t
      select)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7511,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7517,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7517,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7520,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7524,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7524,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7529,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7535,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7538,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 7
    argNames:
    - r
    - g
    - b
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7540
      start: 7493
    functionDepth: 1
    functionLinenumber: 7493
    functionLinenumberEnd: 7540
    functionName: pdf14_cmap_rgb_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    - gx_color_value_from_byte
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_rgb_direct(frac r, frac g, frac b, gx_device_color
      *\tpdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7561,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7563,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7563,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7566,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7572,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 9
    argNames:
    - c
    - m
    - y
    - k
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7577
      start: 7542
    functionDepth: 1
    functionLinenumber: 7542
    functionLinenumberEnd: 7577
    functionName: pdf14_cmap_cmyk_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - color_set_pure
    - dev_proc
    - frac2cv
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_cmyk_direct(frac c, frac m, frac y, frac k, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select,\n
      \    const gs_color_space *pcs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7600,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7613,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7613,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7614,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - r
    - g
    - b
    - alpha
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7618
      start: 7579
    functionDepth: 1
    functionLinenumber: 7579
    functionLinenumberEnd: 7618
    functionName: pdf14_cmap_rgb_alpha_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - color_set_pure
    - dev_proc
    - frac2cv
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_rgb_alpha_direct(frac r, frac g, frac b, frac alpha,\tgx_device_color\t*
      pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7627,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7631
      start: 7620
    functionDepth: 1
    functionLinenumber: 7620
    functionLinenumberEnd: 7631
    functionName: pdf14_get_num_spots
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gsicc_extract_profile
    linkageType: ''
    returnType: int
    signature: int pdf14_get_num_spots(gx_device * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_get_num_spots
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7638,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7663,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7668,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7668,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7677,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7677,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7682,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7688,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7691,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 6
    argNames:
    - all
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7693
      start: 7633
    functionDepth: 2
    functionLinenumber: 7633
    functionLinenumberEnd: 7693
    functionName: pdf14_cmap_separation_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - map_components_to_colorants
    - color_set_pure
    - pdf14_get_num_spots
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_separation_direct(frac all, gx_device_color * pdc,
      const gs_gstate * pgs,\n                 gx_device * dev, gs_color_select_t
      select, const gs_color_space *pcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_get_num_spots
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7701,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7719,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7723,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7723,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7731,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7731,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7734,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7740,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7743,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 6
    argNames:
    - pcc
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7745
      start: 7695
    functionDepth: 2
    functionLinenumber: 7695
    functionLinenumberEnd: 7745
    functionName: pdf14_cmap_devicen_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - map_components_to_colorants
    - color_set_pure
    - pdf14_get_num_spots
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void pdf14_cmap_devicen_direct(const\tfrac * pcc,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select,
      const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7751
      start: 7747
    functionDepth: 0
    functionLinenumber: 7747
    functionLinenumberEnd: 7751
    functionName: pdf14_cmap_is_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pdf14_cmap_is_halftoned(const gs_gstate * pgs, gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7758
      start: 7753
    functionDepth: 0
    functionLinenumber: 7753
    functionLinenumberEnd: 7758
    functionName: pdf14_get_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_map_procs
    signature: 'gx_color_map_procs *

      pdf14_get_cmap_procs(const gs_gstate *pgs, const gx_device * dev)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7785,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7795,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7796,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7822,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7830,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 51
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7831
      start: 7760
    functionDepth: 1
    functionLinenumber: 7760
    functionLinenumberEnd: 7831
    functionName: pdf14_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int pdf14_dev_spec_op(gx_device *pdev, int dev_spec_op,\n                  void
      *data, int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pdev
    - monitoring
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7845
      start: 7834
    functionDepth: 1
    functionLinenumber: 7834
    functionLinenumberEnd: 7845
    functionName: gs_pdf14_device_color_mon_set
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_pdf14_device_color_mon_set(gx_device *pdev, bool monitoring)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7865,1
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7867,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7868,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7875,1
    - Dst: gx_device_is_pattern_clist
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7876,1
    - Dst: gx_device_is_pattern_accum
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7877,1
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7878,1
    - Dst: ESTIMATED_PDF14_ROW_SPACE
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7881,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7881,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7892,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7895,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7897,1
    - Dst: get_pdf14_device_proto
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7899,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7903,1
    - Dst: gs_pdf14_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7907,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7908,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7926,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7927,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7948,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7949,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7952,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7959,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7962,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7977,1
    - Dst: pdf14_set_marking_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7979,1
    - Dst: pdf14_initialize_ctx
      Src: /src/libspectre/ghostscript/base/gdevp14.c:7986,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8001,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8019,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8027,1
    - Dst: gs_pdf14_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8028,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8030,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8032,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8033,1
    - Dst: gdev_prn_open_planar
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8040,1
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8041,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8042,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8046,1
    - Dst: gx_remap_concrete_DGray
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8047,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8047,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8053,1
    - Dst: clist_create_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8054,1
    - Dst: pdf14_disable_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8058,1
    - Dst: pdf14_close
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8059,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8065,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 132
    argCount: 5
    argNames:
    - mem
    - pgs
    - pdev
    - target
    - pdf14pct
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device**
    - gx_device*
    - gs_pdf14trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8066
      start: 7847
    functionDepth: 4
    functionLinenumber: 7847
    functionLinenumberEnd: 8066
    functionName: gs_pdf14_device_push
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_disable_device
    - pdf14_close
    - max
    - device_encodes_tags
    - gx_device_is_pattern_clist
    - gx_device_is_pattern_accum
    - clist_create_compositor
    - gsicc_adjust_profile_rc
    - gx_device_set_target
    - ESTIMATED_PDF14_ROW_SPACE
    - gs_pdf14_device_copy_params
    - gsicc_extract_profile
    - PRINTER_IS_CLIST
    - pdf14_set_marking_params
    - gs_throw_code
    - gx_device_fill_in_procs
    - gs_free_object
    - set_linear_color_bits_mask_shift
    - pdf14_initialize_ctx
    - get_pdf14_device_proto
    - gx_set_cmap_procs
    - gx_remap_concrete_DGray
    - set_dev_proc
    - dev_proc
    - if_debug0m
    - device_is_deep
    - gs_copydevice
    - memcpy
    - gs_device_is_memory
    - gs_currentcolorspace_inline
    - gdev_prn_open_planar
    linkageType: ''
    returnType: int
    signature: "int gs_pdf14_device_push(gs_memory_t *mem, gs_gstate * pgs,\n        gx_device
      ** pdev, gx_device * target, const gs_pdf14trans_t * pdf14pct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8078
      start: 8075
    functionDepth: 0
    functionLinenumber: 8075
    functionLinenumberEnd: 8078
    functionName: private_st_gs_pdf14trans_t
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_pdf14trans_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pct0
    - pct1
    argTypes:
    - gs_composite_t*
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8094
      start: 8090
    functionDepth: 0
    functionLinenumber: 8090
    functionLinenumberEnd: 8094
    functionName: c_pdf14trans_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool c_pdf14trans_equal(const gs_composite_t\t* pct0,\tconst gs_composite_t
      * pct1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8105
      start: 8100
    functionDepth: 0
    functionLinenumber: 8100
    functionLinenumberEnd: 8105
    functionName: put_value
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_value(dp, value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmd_write_ctm_return_length_nodevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8116,1
    - Dst: cmd_write_ctm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ppbuf
    - pparams
    argTypes:
    - byte**
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8124
      start: 8106
    functionDepth: 1
    functionLinenumber: 8106
    functionLinenumberEnd: 8124
    functionName: c_pdf14trans_write_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - cmd_write_ctm_return_length_nodevice
    - cmd_write_ctm
    linkageType: ''
    returnType: int
    signature: int c_pdf14trans_write_ctm(byte **ppbuf, const gs_pdf14trans_params_t
      *pparams)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8155,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8157,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8161,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8165,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8174,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8175,1
    - Dst: clist_icc_searchtable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8186,1
    - Dst: clist_icc_addentry
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8189,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8198,1
    - Dst: c_pdf14trans_write_ctm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8210,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8217,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8218,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8219,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8220,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8221,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8222,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8224,1
    - Dst: clist_icc_searchtable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8231,1
    - Dst: clist_icc_addentry
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8234,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8235,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8238,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8241,1
    - Dst: c_pdf14trans_write_ctm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8249,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8252,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8254,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8259,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8261,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8265,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8267,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8273,1
    - Dst: clist_icc_searchtable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8284,1
    - Dst: clist_icc_addentry
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8287,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8288,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8291,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8294,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8311,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8317,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8319,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8321,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8323,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8325,1
    - Dst: put_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8327,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8346,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8356,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8359,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8361,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8362,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 170
    argCount: 4
    argNames:
    - pct
    - data
    - psize
    - cdev
    argTypes:
    - gs_composite_t*
    - byte*
    - uint*
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8369
      start: 8131
    functionDepth: 2
    functionLinenumber: 8131
    functionLinenumberEnd: 8369
    functionName: c_pdf14trans_write
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - clist_icc_searchtable
    - if_debug3m
    - put_value
    - gsicc_extract_profile
    - c_pdf14trans_write_ctm
    - memcpy
    - return_error
    - clist_icc_addentry
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_write(const gs_composite_t\t* pct, byte * data, uint
      * psize,\n                   gx_device_clist_writer *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dp
    - ','
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8383
      start: 8378
    functionDepth: 0
    functionLinenumber: 8378
    functionLinenumberEnd: 8383
    functionName: read_value
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read_value(dp, value)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8398,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8402,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8404,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8409,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8410,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8415,1
    - Dst: cmd_read_matrix
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8433,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8439,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8440,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8441,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8442,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8443,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8444,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8445,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8446,1
    - Dst: cmd_read_matrix
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8461,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8462,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8464,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8470,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8471,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8475,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8477,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8483,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8486,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8496,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8501,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8514,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8520,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8522,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8524,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8526,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8528,1
    - Dst: read_value
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8530,1
    - Dst: gs_create_pdf14trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8533,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8537,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8541,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 117
    argCount: 4
    argNames:
    - ppct
    - data
    - size
    - mem
    argTypes:
    - gs_composite_t**
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8544
      start: 8388
    functionDepth: 1
    functionLinenumber: 8388
    functionLinenumberEnd: 8544
    functionName: c_pdf14trans_read
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - read_value
    - gs_create_pdf14trans
    - floor
    - memset
    - memcpy
    - if_debug2m
    - return_error
    - cmd_read_matrix
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_read(gs_composite_t * * ppct, const byte *\tdata,\n
      \                               uint size, gs_memory_t * mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8555,1
    - Dst: gs_gstate_setmatrix
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - pct0
    - x0
    - y0
    - pgs
    argTypes:
    - gs_composite_t*
    - int
    - int
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8562
      start: 8549
    functionDepth: 1
    functionLinenumber: 8549
    functionLinenumberEnd: 8562
    functionName: c_pdf14trans_adjust_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_gstate_setmatrix
    - if_debug6m
    linkageType: ''
    returnType: int
    signature: int c_pdf14trans_adjust_ctm(gs_composite_t * pct0, int x0, int y0,
      gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_pdf14_device_push
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8587,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pct
    - pp14dev
    - tdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device**
    - gx_device*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8596
      start: 8571
    functionDepth: 5
    functionLinenumber: 8571
    functionLinenumberEnd: 8596
    functionName: c_pdf14trans_create_default_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_pdf14_device_push
    - return_error
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_create_default_compositor(const gs_composite_t *
      pct,\n    gx_device ** pp14dev, gx_device * tdev, gs_gstate * pgs,\n    gs_memory_t
      * mem)"
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 24
    argCount: 3
    argNames:
    - opening_op
    - ppcte
    - return_code
    argTypes:
    - int
    - gs_composite_t**
    - gs_compositor_closing_state
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8636
      start: 8601
    functionDepth: 0
    functionLinenumber: 8601
    functionLinenumberEnd: 8636
    functionName: find_opening_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_compositor_closing_state
    signature: "gs_compositor_closing_state find_opening_op(int opening_op, gs_composite_t
      **ppcte,\n                gs_compositor_closing_state return_code)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - composite_action
    - my_op
    - ppcte
    argTypes:
    - gs_composite_t*
    - int
    - gs_composite_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8670
      start: 8641
    functionDepth: 0
    functionLinenumber: 8641
    functionLinenumberEnd: 8670
    functionName: find_same_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_compositor_closing_state
    signature: gs_compositor_closing_state find_same_op(const gs_composite_t *composite_action,
      int my_op, gs_composite_t **ppcte)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8683,1
    - Dst: find_opening_op
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8692,1
    - Dst: find_opening_op
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8705,1
    - Dst: find_opening_op
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8721,1
    - Dst: find_same_op
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8726,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - composite_action
    - ppcte
    - dev
    argTypes:
    - gs_composite_t*
    - gs_composite_t**
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8728
      start: 8675
    functionDepth: 1
    functionLinenumber: 8675
    functionLinenumberEnd: 8728
    functionName: c_pdf14trans_is_closing
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    - find_same_op
    - find_opening_op
    linkageType: ''
    returnType: gs_compositor_closing_state
    signature: "gs_compositor_closing_state c_pdf14trans_is_closing(const gs_composite_t
      * composite_action, gs_composite_t ** ppcte,\n                        gx_device
      *dev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - composite_action
    - cmd0
    - cmd1
    argTypes:
    - gs_composite_t*
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8751
      start: 8733
    functionDepth: 0
    functionLinenumber: 8733
    functionLinenumberEnd: 8751
    functionName: c_pdf14trans_is_friendly
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool c_pdf14trans_is_friendly(const gs_composite_t * composite_action,
      byte cmd0, byte cmd1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pct
    argTypes:
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8814
      start: 8809
    functionDepth: 0
    functionLinenumber: 8809
    functionLinenumberEnd: 8814
    functionName: gs_is_pdf14trans_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_is_pdf14trans_compositor(const gs_composite_t * pct)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8827,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8830,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ppct
    - pparams
    - mem
    argTypes:
    - gs_composite_t**
    - gs_pdf14trans_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8837
      start: 8819
    functionDepth: 1
    functionLinenumber: 8819
    functionLinenumberEnd: 8837
    functionName: gs_create_pdf14trans
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_create_pdf14trans(\n    gs_composite_t **               ppct,\n
      \   const gs_pdf14trans_params_t *  pparams,\n    gs_memory_t *                   mem
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8849,1
    - Dst: gs_create_pdf14trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8850,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8853,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:8857,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pgs
    - dev
    - pcdev
    - pparams
    - mem
    argTypes:
    - gs_gstate*
    - gx_device*
    - gx_device**
    - gs_pdf14trans_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8860
      start: 8842
    functionDepth: 2
    functionLinenumber: 8842
    functionLinenumberEnd: 8860
    functionName: send_pdf14trans
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - ctm_only
    - dev_proc
    - gs_create_pdf14trans
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int send_pdf14trans(gs_gstate\t* pgs, gx_device * dev,\n    gx_device
      * * pcdev, gs_pdf14trans_params_t * pparams, gs_memory_t * mem)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_determine_default_blend_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9100,1
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9102,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9202,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 75
    argCount: 6
    argNames:
    - dev
    - pdevproto
    - ptempdevproto
    - pgs
    - pdf14pct
    - use_pdf14_accum
    argTypes:
    - gx_device*
    - pdf14_clist_device**
    - pdf14_clist_device*
    - gs_gstate*
    - gs_pdf14trans_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9206
      start: 9093
    functionDepth: 2
    functionLinenumber: 9093
    functionLinenumberEnd: 9206
    functionName: get_pdf14_clist_device_proto
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - return_error
    - pdf14_determine_default_blend_cs
    - device_is_deep
    - device_encodes_tags
    linkageType: ''
    returnType: int
    signature: "int get_pdf14_clist_device_proto(gx_device * dev, pdf14_clist_device
      ** pdevproto,\n        pdf14_clist_device * ptempdevproto, gs_gstate * pgs,\n
      \       const gs_pdf14trans_t * pdf14pct, bool use_pdf14_accum)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9216,1
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9221,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9223,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9226,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9228,1
    - Dst: get_pdf14_clist_device_proto
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9229,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9233,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9253,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9254,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9263,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9268,1
    - Dst: gs_pdf14_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9269,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9270,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9277,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9284,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9287,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9289,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9290,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 5
    argNames:
    - mem
    - pgs
    - ppdev
    - target
    - pdf14pct
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device**
    - gx_device*
    - gs_pdf14trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9295
      start: 9208
    functionDepth: 3
    functionLinenumber: 9208
    functionLinenumberEnd: 9295
    functionName: pdf14_create_clist_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - gx_device_set_target
    - gs_pdf14_device_copy_params
    - gx_device_fill_in_procs
    - gsicc_extract_profile
    - gs_copydevice
    - device_encodes_tags
    - rc_assign
    - set_dev_proc
    - dev_proc
    - get_pdf14_clist_device_proto
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_create_clist_device(gs_memory_t *mem, gs_gstate * pgs,\n
      \                               gx_device ** ppdev, gx_device * target,\n                                const
      gs_pdf14trans_t * pdf14pct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9310,1
    - Dst: pdf14_forward_device_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9318,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - pgs
    - dev
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9321
      start: 9303
    functionDepth: 2
    functionLinenumber: 9303
    functionLinenumberEnd: 9321
    functionName: pdf14_disable_clist_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - pdf14_forward_device_procs
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_disable_clist_device(gs_memory_t *mem, gs_gstate * pgs,\n
      \                               gx_device * dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9340,1
    - Dst: get_pdf14_clist_device_proto
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9345,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9355,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9356,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - pgs
    - dev
    - pdf14pct
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9358
      start: 9330
    functionDepth: 3
    functionLinenumber: 9330
    functionLinenumberEnd: 9358
    functionName: pdf14_recreate_clist_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - check_device_separable
    - gx_device_fill_in_procs
    - get_pdf14_clist_device_proto
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_recreate_clist_device(gs_memory_t\t*mem, gs_gstate *\tpgs,\n
      \               gx_device * dev, const gs_pdf14trans_t * pdf14pct)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9369
      start: 9363
    functionDepth: 0
    functionLinenumber: 9363
    functionLinenumberEnd: 9369
    functionName: pdf14_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      pdf14_ret_devn_params(gx_device *pdev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9380
      start: 9374
    functionDepth: 0
    functionLinenumber: 9374
    functionLinenumberEnd: 9380
    functionName: pdf14_accum_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      pdf14_accum_ret_devn_params(gx_device *pdev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: devn_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9388,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9398
      start: 9382
    functionDepth: 1
    functionLinenumber: 9382
    functionLinenumberEnd: 9398
    functionName: pdf14_accum_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - devn_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int pdf14_accum_get_color_comp_index(gx_device * dev,\n    const char
      * pname, int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9411
      start: 9404
    functionDepth: 1
    functionLinenumber: 9404
    functionLinenumberEnd: 9411
    functionName: pdf14_accum_gray_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gray_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void pdf14_accum_gray_cs_to_cmyk_cm(gx_device * dev, frac gray, frac
      out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9421
      start: 9413
    functionDepth: 1
    functionLinenumber: 9413
    functionLinenumberEnd: 9421
    functionName: pdf14_accum_rgb_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void pdf14_accum_rgb_cs_to_cmyk_cm(gx_device * dev,\n    const gs_gstate
      *pgs, frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9431
      start: 9423
    functionDepth: 1
    functionLinenumber: 9423
    functionLinenumberEnd: 9431
    functionName: pdf14_accum_cmyk_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void pdf14_accum_cmyk_cs_to_cmyk_cm(gx_device * dev,\n    frac c,
      frac m, frac y, frac k, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9443
      start: 9439
    functionDepth: 0
    functionLinenumber: 9439
    functionLinenumberEnd: 9443
    functionName: pdf14_accum_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      pdf14_accum_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9453,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9459
      start: 9448
    functionDepth: 1
    functionLinenumber: 9448
    functionLinenumberEnd: 9459
    functionName: pdf14_accum_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - update_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: int
    signature: int pdf14_accum_update_spot_equivalent_colors(gx_device * dev, const
      gs_gstate * pgs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9472,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9476,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9483,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9488,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9489,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9492,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9495,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9497,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - pdev
    - pseparations
    - plist
    argTypes:
    - gx_device*
    - gs_separations*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9506
      start: 9464
    functionDepth: 1
    functionLinenumber: 9464
    functionLinenumberEnd: 9506
    functionName: put_param_pdf14_spot_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - return_error
    - param_read_int
    - gs_sprintf
    - memcpy
    - param_signal_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int put_param_pdf14_spot_names(gx_device * pdev,\n                gs_separations
      * pseparations, gs_param_list * plist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put_param_pdf14_spot_names
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pdev
    - pdevn_params
    - plist
    argTypes:
    - gx_device*
    - gs_devn_params*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9526
      start: 9518
    functionDepth: 2
    functionLinenumber: 9518
    functionLinenumberEnd: 9526
    functionName: pdf14_put_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - put_param_pdf14_spot_names
    linkageType: ''
    returnType: int
    signature: "int pdf14_put_devn_params(gx_device * pdev, gs_devn_params * pdevn_params,\n
      \                                       gs_param_list * plist)"
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9543,1
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9546,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9552,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9553,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9554,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9555,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9556,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9557,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9559,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9561,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9562,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9563,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9564,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9565,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9568,1
    - Dst: pdf14_recreate_clist_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9569,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9583,1
    - Dst: pdf14_decrement_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9593,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9596,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9597,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9598,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9599,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9601,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9602,1
    - Dst: pdf14_disable_clist_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9604,1
    - Dst: cmd_put_color_mapping
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9608,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9623,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9630,1
    - Dst: pdf14_clist_push_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9636,1
    - Dst: pdf14_clist_push_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9650,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9662,1
    - Dst: pdf14_clist_pop_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9674,1
    - Dst: pdf14_clist_pop_color_model
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9688,1
    - Dst: pdf14_increment_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9699,1
    - Dst: pdf14_decrement_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9704,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9710,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9721,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9741,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9745,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9745,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9752,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9756,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9766,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9769,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9772,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9773,1
    - Dst: gs_cspace_new_DeviceN
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9776,1
    - Dst: gs_currentcolorspace
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9777,1
    - Dst: gs_color_space*::type::install_cspace
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9783,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9797,1
    - Dst: gs_image_t_init_adjust
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9805,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9811,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9812,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9813,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9814,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9815,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9816,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9817,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9825,1
    - Dst: gx_image_enum_common_t*::procs::plane_data
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9831,1
    - Dst: gx_image_enum_common_t*::procs::end_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9834,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9837,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9839,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9840,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9842,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9852,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9859,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 220
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - mem
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9862
      start: 9535
    functionDepth: 4
    functionLinenumber: 9535
    functionLinenumberEnd: 9862
    functionName: pdf14_clist_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_increment_smask_color
    - gs_color_space*::type::install_cspace
    - pdf14_disable_clist_device
    - gs_alloc_bytes
    - gx_device_raster
    - cmd_put_color_mapping
    - gs_cspace_new_DeviceN
    - emprintf
    - gs_image_t_init_adjust
    - gs_is_pdf14trans_compositor
    - pdf14_recreate_clist_device
    - gsicc_adjust_profile_rc
    - pdf14_clist_push_color_model
    - gx_image_enum_common_t*::procs::plane_data
    - gx_device_set_target
    - pdf14_clist_pop_color_model
    - gsicc_extract_profile
    - pdf14_clist_update_params
    - ctm_only_writable
    - gx_image_enum_common_t*::procs::end_image
    - gs_free_object
    - gs_currentcolorspace
    - gx_set_cmap_procs
    - gsicc_set_icc_range
    - set_dev_proc
    - dev_proc
    - rc_decrement_only_cs
    - device_is_deep
    - gx_device_decache_colors
    - gs_cspace_build_ICC
    - memcpy
    - pdf14_decrement_smask_color
    - return_error
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_create_compositor(gx_device\t* dev, gx_device ** pcdev,\n
      \   const gs_composite_t * pct, gs_gstate * pgs, gs_memory_t * mem,\n    gx_device
      *cdev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9883,1
    - Dst: pdf14_clist_create_compositor
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9887,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9890,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - mem
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9895
      start: 9872
    functionDepth: 5
    functionLinenumber: 9872
    functionLinenumberEnd: 9895
    functionName: pdf14_clist_forward_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_is_pdf14trans_compositor
    - dev_proc
    - gx_device_set_target
    - pdf14_clist_create_compositor
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_forward_create_compositor(gx_device\t* dev, gx_device
      * * pcdev,\n        const gs_composite_t * pct, gs_gstate * pgs,\n        gs_memory_t
      * mem, gx_device *cdev)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_create_pdf14trans
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9962,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9964,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9966,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - pdev
    - pgs
    - crop_blend_params
    - group_params
    argTypes:
    - pdf14_clist_device*
    - gs_gstate*
    - bool
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9969
      start: 9901
    functionDepth: 2
    functionLinenumber: 9901
    functionLinenumberEnd: 9969
    functionName: pdf14_clist_update_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 3
    functionsReached:
    - dev_proc
    - gs_create_pdf14trans
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_update_params(pdf14_clist_device * pdev, const gs_gstate
      * pgs,\n                          bool crop_blend_params,\n                          gs_pdf14trans_params_t
      *group_params)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9991,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9994,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:9998,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10000,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10009,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10020,1
    - Dst: blend_is_idempotent
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10025,1
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10025,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10036,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10038,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10042,1
    - Dst: push_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10053,1
    - Dst: update_lop_for_pdf14
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10055,1
    - Dst: gx_forward_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10059,1
    - Dst: pop_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10064,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10066,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10072
      start: 9975
    functionDepth: 3
    functionLinenumber: 9975
    functionLinenumberEnd: 10072
    functionName: pdf14_clist_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - update_lop_for_pdf14
    - gx_dc_is_pattern2_color
    - gx_forward_fill_path
    - gx_path_bbox
    - gsicc_extract_profile
    - pdf14_clist_update_params
    - gx_cpath_outer_box
    - push_shfill_group
    - pop_shfill_group
    - blend_is_idempotent
    - gs_currentblendmode
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_fill_path(gx_device\t*dev, const gs_gstate *pgs,\n
      \                          gx_path *ppath, const gx_fill_params *params,\n                           const
      gx_drawing_color *pdcolor,\n                           const gx_clip_path *pcpath)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10096,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10103,1
    - Dst: blend_is_idempotent
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10108,1
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10108,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10121,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10123,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10128,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10130,1
    - Dst: push_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10161,1
    - Dst: update_lop_for_pdf14
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10163,1
    - Dst: gx_forward_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10168,1
    - Dst: pop_shfill_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10173,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10175,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10180
      start: 10078
    functionDepth: 3
    functionLinenumber: 10078
    functionLinenumberEnd: 10180
    functionName: pdf14_clist_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - update_lop_for_pdf14
    - gx_dc_is_pattern2_color
    - gx_stroke_path_expansion
    - gx_forward_stroke_path
    - gx_path_bbox
    - gx_cpath_outer_box
    - pdf14_clist_update_params
    - push_shfill_group
    - pop_shfill_group
    - blend_is_idempotent
    - gs_currentblendmode
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_stroke_path(gx_device *dev,\tconst gs_gstate *pgs,\n
      \                            gx_path *ppath, const gx_stroke_params *params,\n
      \                            const gx_drawing_color *pdcolor,\n                             const
      gx_clip_path *pcpath)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_curr_fixed_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10215,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10221,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10222,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10225,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10228,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10233,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10240,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10241,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10242,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10243,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10244,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10246,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10246,1
    - Dst: gs_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10263,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10268,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10269,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10270,1
    - Dst: pdf14_clist_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10272,1
    - Dst: pdf14_clist_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10276,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10291,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10292,1
    - Dst: gs_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10293,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10296,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10299,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10305,1
    - Dst: pdf14_clist_fill_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10307,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10313,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10318,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10319,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10322,1
    - Dst: pdf14_clist_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10324,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10330,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10336,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10337,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10338,1
    - Dst: gs_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10342,1
    - Dst: gs_abort_pdf14trans_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10345,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10350,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10351,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10352,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 106
    argCount: 8
    argNames:
    - dev
    - cpgs
    - ppath
    - params_fill
    - pdevc_fill
    - params_stroke
    - pdevc_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10355
      start: 10185
    functionDepth: 4
    functionLinenumber: 10185
    functionLinenumberEnd: 10355
    functionName: pdf14_clist_fill_stroke_path_pattern_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_stroke_path_expansion
    - gs_bbox_transform_inverse
    - ctm_only
    - gx_path_bbox
    - gs_setfillconstantalpha
    - gs_abort_pdf14trans_device
    - gx_curr_fixed_bbox
    - rect_intersect
    - gs_end_transparency_group
    - gs_setblendmode
    - gs_begin_transparency_group
    - pdf14_clist_stroke_path
    - gs_setstrokeconstantalpha
    - pdf14_clist_fill_path
    - int2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_fill_stroke_path_pattern_setup(gx_device* dev, const
      gs_gstate* cpgs, gx_path* ppath,\n    const gx_fill_params* params_fill, const
      gx_drawing_color* pdevc_fill,\n    const gx_stroke_params* params_stroke, const
      gx_drawing_color* pdevc_stroke,\n    const gx_clip_path* pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10381,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10389,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10390,1
    - Dst: pdf14_clist_fill_stroke_path_pattern_setup
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10391,1
    - Dst: update_lop_for_pdf14
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10394,1
    - Dst: gx_forward_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10397,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - params_fill
    - pdevc_fill
    - params_stroke
    - pdevc_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10402
      start: 10361
    functionDepth: 5
    functionLinenumber: 10361
    functionLinenumberEnd: 10402
    functionName: pdf14_clist_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - update_lop_for_pdf14
    - gx_dc_is_pattern2_color
    - pdf14_clist_update_params
    - pdf14_clist_fill_stroke_path_pattern_setup
    - gx_forward_fill_stroke_path
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_fill_stroke_path(gx_device\t*dev, const gs_gstate
      *pgs, gx_path *ppath,\n                             const gx_fill_params *params_fill,
      const gx_drawing_color *pdevc_fill,\n                             const gx_stroke_params
      *params_stroke, const gx_drawing_color *pdevc_stroke,\n                             const
      gx_clip_path *pcpath)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentblendmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10418,1
    - Dst: gs_currenttextrenderingmode
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10423,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10427,1
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10434,1
    - Dst: gx_forward_text_begin
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10438,1
    - Dst: gs_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10449,1
    - Dst: gs_currenttextknockout
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10464,1
    - Dst: pdf14_push_text_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10470,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 23
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10477
      start: 10408
    functionDepth: 3
    functionLinenumber: 10408
    functionLinenumberEnd: 10477
    functionName: pdf14_clist_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_currenttextknockout
    - gs_currenttextrenderingmode
    - gx_forward_text_begin
    - pdf14_clist_update_params
    - gs_end_transparency_group
    - pdf14_push_text_group
    - gs_currentblendmode
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_text_begin(gx_device * dev,\tgs_gstate\t* pgs,\n                 const
      gs_text_params_t * text, gs_font * font,\n                 gx_path * path, const
      gx_device_color * pdcolor,\n                 const gx_clip_path * pcpath, gs_memory_t
      * memory,\n                 gs_text_enum_t ** ppenum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10496,1
    - Dst: gx_forward_begin_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10500,1
    - Dst: gx_default_begin_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10507
      start: 10479
    functionDepth: 3
    functionLinenumber: 10479
    functionLinenumberEnd: 10507
    functionName: pdf14_clist_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_clist_update_params
    - gx_default_begin_image
    - gx_forward_begin_image
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_begin_image(gx_device * dev,\n                       const
      gs_gstate * pgs, const gs_image_t * pim,\n                       gs_image_format_t
      format, const gs_int_rect * prect,\n                       const gx_drawing_color
      * pdcolor,\n                       const gx_clip_path * pcpath,\n                       gs_memory_t
      * memory, gx_image_enum_common_t ** pinfo)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_clist_update_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10531,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10546,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10547,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10548,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10566,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10579,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10583,1
    - Dst: gs_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10598,1
    - Dst: gx_forward_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10612,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10615,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10625
      start: 10509
    functionDepth: 3
    functionLinenumber: 10509
    functionLinenumberEnd: 10625
    functionName: pdf14_clist_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_pattern1_get_transptr
    - gx_forward_begin_typed_image
    - gx_default_begin_typed_image
    - gs_bbox_transform_inverse
    - pdf14_clist_update_params
    - gs_begin_transparency_group
    - gx_dc_is_pattern1_color
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_begin_typed_image(gx_device\t* dev, const gs_gstate
      * pgs,\n                           const gs_matrix *pmat, const gs_image_common_t
      *pic,\n                           const gs_int_rect * prect,\n                           const
      gx_drawing_color * pdcolor,\n                           const gx_clip_path *
      pcpath, gs_memory_t * mem,\n                           gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_copy_planes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10636
      start: 10627
    functionDepth: 1
    functionLinenumber: 10627
    functionLinenumberEnd: 10636
    functionName: pdf14_clist_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gx_forward_copy_planes
    linkageType: ''
    returnType: int
    signature: "int pdf14_clist_copy_planes(gx_device * dev, const byte * data, int
      data_x, int raster,\n                  gx_bitmap_id id, int x, int y, int w,
      int h, int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_create_clist_device
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10646,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10670,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10671,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10672,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10673,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10674,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10675,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10677,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10679,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10680,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10681,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10682,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10683,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 5
    argNames:
    - mem
    - pgs
    - pcdev
    - dev
    - pdf14pct
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - gx_device**
    - gx_device*
    - gs_pdf14trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10688
      start: 10638
    functionDepth: 4
    functionLinenumber: 10638
    functionLinenumberEnd: 10688
    functionName: gs_pdf14_clist_device_push
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - gx_set_cmap_procs
    - dev_proc
    - pdf14_create_clist_device
    linkageType: ''
    returnType: int
    signature: "int gs_pdf14_clist_device_push(gs_memory_t *mem, gs_gstate *pgs, gx_device
      **pcdev,\n                           gx_device *dev, const gs_pdf14trans_t *pdf14pct)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_pdf14_clist_device_push
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10708,1
    - Dst: cmd_put_halftone
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10717,1
    - Dst: clist_writer_check_empty_cropping_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10722,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10737,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10758,1
    - Dst: gs_gstate_setmatrix
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10791,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10793,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 5
    argNames:
    - pcte
    - dev
    - pcdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device*
    - gx_device**
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10796
      start: 10697
    functionDepth: 5
    functionLinenumber: 10697
    functionLinenumberEnd: 10796
    functionName: c_pdf14trans_clist_write_update
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_gstate_setmatrix
    - clist_writer_check_empty_cropping_stack
    - cmd_put_halftone
    - cmd_clear_known
    - gs_pdf14_clist_device_push
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_clist_write_update(const gs_composite_t * pcte, gx_device
      * dev,\n                gx_device ** pcdev, gs_gstate * pgs, gs_memory_t * mem)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10818,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10819,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10826,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10827,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10837,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10838,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10852,1
    - Dst: devn_free_params
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10881,1
    - Dst: pdf14_ctx_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10892,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10895,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10903,1
    - Dst: gsicc_read_serial_icc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10907,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 5
    argNames:
    - pcte
    - cdev
    - tdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device*
    - gx_device*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10926
      start: 10806
    functionDepth: 3
    functionLinenumber: 10806
    functionLinenumberEnd: 10926
    functionName: c_pdf14trans_clist_read_update
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - pdf14_ctx_free
    - devn_free_params
    - gsicc_extract_profile
    - gsicc_read_serial_icc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_clist_read_update(gs_composite_t *\tpcte, gx_device\t*
      cdev,\n                gx_device * tdev, gs_gstate * pgs, gs_memory_t * mem)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10949,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10952,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10953,1
    - Dst: pdf14_compute_group_device_int_rect
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10960,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10970,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevp14.c:10971,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 54
    argCount: 5
    argNames:
    - pcte
    - ry
    - rheight
    - cropping_min
    - cropping_max
    argTypes:
    - gs_composite_t*
    - int*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10996
      start: 10931
    functionDepth: 2
    functionLinenumber: 10931
    functionLinenumberEnd: 10996
    functionName: c_pdf14trans_get_cropping
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_compute_group_device_int_rect
    - min
    - max
    linkageType: ''
    returnType: int
    signature: "int c_pdf14trans_get_cropping(const gs_composite_t *pcte, int *ry,
      int *rheight,\n                          int cropping_min, int cropping_max)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11030,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11040,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11049,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11054,1
    - Dst: check_pcm_and_separation_names
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11071,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11098,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11103,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 5
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    - num_process_colors
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11122
      start: 11021
    functionDepth: 1
    functionLinenumber: 11021
    functionLinenumberEnd: 11122
    functionName: pdf14_spot_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - max
    - strncmp
    - check_pcm_and_separation_names
    - memcpy
    - dev_proc_get_color_comp_index
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pdf14_spot_get_color_comp_index(gx_device *dev, const char *pname,\n
      \   int name_size, int component_type, int num_process_colors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_spot_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11131
      start: 11126
    functionDepth: 2
    functionLinenumber: 11126
    functionLinenumberEnd: 11131
    functionName: pdf14_cmykspot_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_spot_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int pdf14_cmykspot_get_color_comp_index(gx_device * dev, const char
      * pname,\n    int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_spot_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11139
      start: 11134
    functionDepth: 2
    functionLinenumber: 11134
    functionLinenumberEnd: 11139
    functionName: pdf14_rgbspot_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_spot_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int pdf14_rgbspot_get_color_comp_index(gx_device * dev, const char
      * pname,\n    int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_spot_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11147
      start: 11142
    functionDepth: 2
    functionLinenumber: 11142
    functionLinenumberEnd: 11147
    functionName: pdf14_grayspot_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_spot_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int pdf14_grayspot_get_color_comp_index(gx_device * dev, const char
      * pname,\n    int name_size, int component_type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11174,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11180,1
    - Dst: gsicc_new_iccsmask
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11186,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11196,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11198,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11200,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11202,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11237,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11245
      start: 11152
    functionDepth: 1
    functionLinenumber: 11152
    functionLinenumberEnd: 11245
    functionName: pdf14_increment_smask_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 2
    functionsReached:
    - if_debug1m
    - gsicc_adjust_profile_rc
    - gsicc_new_iccsmask
    - gs_alloc_struct
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_increment_smask_color(gs_gstate * pgs, gx_device * dev)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11262,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11266,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11270,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11302,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11303,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11309,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11311,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11313,1
    - Dst: pdf14_free_smask_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11323,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11327
      start: 11247
    functionDepth: 1
    functionLinenumber: 11247
    functionLinenumberEnd: 11327
    functionName: pdf14_decrement_smask_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 3
    functionsReached:
    - if_debug1m
    - pdf14_free_smask_color
    - gsicc_adjust_profile_rc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int pdf14_decrement_smask_color(gs_gstate * pgs, gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11337,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11343
      start: 11329
    functionDepth: 0
    functionLinenumber: 11329
    functionLinenumberEnd: 11343
    functionName: pdf14_free_smask_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pdf14_free_smask_color(pdf14_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf14_cleanup_group_color_profiles
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11351,1
    - Dst: pdf14_ctx_free
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11354,1
    - Dst: pdf14_pop_group_color
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11359,1
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11361,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11362
      start: 11345
    functionDepth: 3
    functionLinenumber: 11345
    functionLinenumberEnd: 11362
    functionName: pdf14_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - pdf14_cleanup_group_color_profiles
    - pdf14_pop_group_color
    - gx_device_finalize
    - pdf14_ctx_free
    linkageType: ''
    returnType: void
    signature: void pdf14_device_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11373,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11374,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mask_stack
    argTypes:
    - pdf14_mask_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11379
      start: 11366
    functionDepth: 1
    functionLinenumber: 11366
    functionLinenumberEnd: 11379
    functionName: dump_mask_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: void
    signature: void dump_mask_stack(pdf14_mask_t *mask_stack)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11385,1
    - Dst: dump_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11387,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11389,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11391,1
    - Dst: dump_mask_stack
      Src: /src/libspectre/ghostscript/base/gdevp14.c:11393,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - pdf14_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11396
      start: 11382
    functionDepth: 2
    functionLinenumber: 11382
    functionLinenumberEnd: 11396
    functionName: pdf14_debug_mask_stack_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 6
    functionsReached:
    - if_debug1m
    - dump_mask_stack
    linkageType: ''
    returnType: void
    signature: void pdf14_debug_mask_stack_state(pdf14_ctx *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - pdf14_ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11405
      start: 11401
    functionDepth: 0
    functionLinenumber: 11401
    functionLinenumberEnd: 11405
    functionName: pdf14_debug_mask_stack_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevp14.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf14_debug_mask_stack_state(pdf14_ctx *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array_immovable
      Src: /src/libspectre/ghostscript/base/gsiodev.c:67,1
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsiodev.c:70,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:75,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsiodev.c:83,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiodev.c:89,1
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/base/gsiodev.c:97,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:111,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 112
    functionName: gs_iodev_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_immovable
    - gs_alloc_struct_array_immovable
    - memcpy
    - gs_lib_ctx_get_interp_instance
    - gs_register_struct_root
    - return_error
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gs_iodev_init(gs_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsiodev.c:117,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 123
    functionName: gs_iodev_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_iodev_finit(gs_memory_t * mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsiodev.c:131,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:139,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiodev.c:142,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:146,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiodev.c:150,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:159,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:160,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - mem
    - newiodev
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 165
    functionName: gs_iodev_register_dev
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gs_lib_ctx_get_interp_instance
    - gs_free_object
    - return_error
    - gs_note_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int gs_iodev_register_dev(gs_memory_t * mem, const gx_io_device *newiodev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 184
    functionName: gs_iodev_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_iodev_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 201
    functionName: io_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void io_device_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: iodev_no_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iodev_no_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: iodev_no_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void iodev_no_finit(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iodev
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: iodev_no_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int iodev_no_open_device(gx_io_device * iodev, const char *access,
      stream ** ps,\n                     gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - iodev
    - fname
    - namelen
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - uint
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: iodev_no_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int iodev_no_open_file(gx_io_device * iodev, const char *fname, uint
      namelen,\n                   const char *access, stream ** ps, gs_memory_t *
      mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 236
    functionName: iodev_no_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int iodev_no_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n               gp_file ** pfile, char *rfname, uint rnamelen,
      gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: iodev_no_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int iodev_no_fclose(gx_io_device * iodev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - fname
    argTypes:
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: iodev_no_delete_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int iodev_no_delete_file(gx_io_device * iodev, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iodev
    - from
    - to
    argTypes:
    - gx_io_device*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: iodev_no_rename_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int iodev_no_rename_file(gx_io_device * iodev, const char *from, const
      char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iodev
    - fname
    - pstat
    argTypes:
    - gx_io_device*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 260
    functionName: iodev_no_file_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int iodev_no_file_status(gx_io_device * iodev, const char *fname, struct
      stat *pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - iodev
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 267
    functionName: iodev_no_enumerate_files
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: file_enum
    signature: "file_enum *\niodev_no_enumerate_files(gs_memory_t *mem, gx_io_device
      * iodev, const char *pat,\n                         uint patlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: iodev_no_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int iodev_no_get_params(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_commit
      Src: /src/libspectre/ghostscript/base/gsiodev.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: iodev_no_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - param_commit
    linkageType: ''
    returnType: int
    signature: int iodev_no_put_params(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsiodev.c:289,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:291,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gsiodev.c:291,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsiodev.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 295
    functionName: iodev_os_gp_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - return_error
    - gp_fopen
    - gs_fopen_errno_to_code
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int iodev_os_gp_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n                  gp_file ** pfile, char *rfname, uint rnamelen,
      gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gsiodev.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: iodev_os_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: int
    signature: int iodev_os_fclose(gx_io_device * iodev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_unlink
      Src: /src/libspectre/ghostscript/base/gsiodev.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - fname
    argTypes:
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 309
    functionName: os_delete
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gp_unlink
    linkageType: ''
    returnType: int
    signature: int os_delete(gx_io_device * iodev, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_rename
      Src: /src/libspectre/ghostscript/base/gsiodev.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iodev
    - from
    - to
    argTypes:
    - gx_io_device*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: os_rename
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gp_rename
    linkageType: ''
    returnType: int
    signature: int os_rename(gx_io_device * iodev, const char *from, const char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_stat
      Src: /src/libspectre/ghostscript/base/gsiodev.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - iodev
    - fname
    - pstat
    argTypes:
    - gx_io_device*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 322
    functionName: os_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gp_stat
    linkageType: ''
    returnType: int
    signature: int os_status(gx_io_device * iodev, const char *fname, struct stat
      *pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_files_init
      Src: /src/libspectre/ghostscript/base/gsiodev.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - iodev
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 329
    functionName: os_enumerate
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gp_enumerate_files_init
    linkageType: ''
    returnType: file_enum
    signature: "file_enum *\nos_enumerate(gs_memory_t * mem, gx_io_device * iodev,
      const char *pat,\n             uint patlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodev.c:349,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodev.c:350,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsiodev.c:351,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodev.c:352,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodev.c:353,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodev.c:354,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodev.c:355,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodev.c:356,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodev.c:357,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsiodev.c:358,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 362
    functionName: os_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - param_write_int
    - param_write_bool
    - param_write_long
    linkageType: ''
    returnType: int
    signature: int os_get_params(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsiodev.c:370,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - index
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 376
    functionName: gs_getiodevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: gx_io_device
    signature: 'gx_io_device *

      gs_getiodevice(const gs_memory_t *mem, int index)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsiodev.c:384,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodev.c:394,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsiodev.c:394,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - str
    - len
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: gs_findiodevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - strlen
    - gs_lib_ctx_get_interp_instance
    - memcmp
    linkageType: ''
    returnType: gx_io_device
    signature: 'gx_io_device *

      gs_findiodevice(const gs_memory_t *mem, const byte * str, uint len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsiodev.c:409,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsiodev.c:410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 414
    functionName: gs_getdevparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - param_write_name
    - param_string_from_string
    linkageType: ''
    returnType: int
    signature: int gs_getdevparams(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 421
    functionName: gs_putdevparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_putdevparams(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:432,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:440,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:445,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:449,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:453,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:457,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodev.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - eno
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 462
    functionName: gs_fopen_errno_to_code
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_fopen_errno_to_code(int eno)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/base/gsiodev.c:488,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsiodev.c:491,1
    - Dst: gx_io_device*::procs::enumerate_files
      Src: /src/libspectre/ghostscript/base/gsiodev.c:497,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiodev.c:501,1
    - Dst: gx_io_device*::procs::enumerate_close
      Src: /src/libspectre/ghostscript/base/gsiodev.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 513
    functionName: gs_enumerate_files_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_parse_file_name
    - iodev_default
    - gx_io_device*::procs::enumerate_files
    - gx_io_device*::procs::enumerate_close
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gs_enumerate_files_init(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodev.c:527,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiodev.c:532,1
    - Dst: gs_file_enum*::piodev::procs::enumerate_next
      Src: /src/libspectre/ghostscript/base/gsiodev.c:533,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 542
    functionName: gs_enumerate_files_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - strlen
    - gs_free_object
    - gs_file_enum*::piodev::procs::enumerate_next
    - memcpy
    linkageType: ''
    returnType: uint
    signature: "uint gs_enumerate_files_next(gs_memory_t * mem, file_enum * pfen,
      char *ptr,\n                        uint maxlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_enum*::piodev::procs::enumerate_close
      Src: /src/libspectre/ghostscript/base/gsiodev.c:550,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodev.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: gs_enumerate_files_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodev.c
    functionUses: 0
    functionsReached:
    - gs_file_enum*::piodev::procs::enumerate_close
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_enumerate_files_close(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: SHOW_USES_OUTLINE
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_USES_OUTLINE(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxchar.c:55,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:56,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:57,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/base/gxchar.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR3
    - RELOC_VAR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(show_enum_reloc_ptrs, gs_show_enum *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: CURRENT_CHAR
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_CHAR(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - penum
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: SET_CURRENT_CHAR
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CURRENT_CHAR(penum, chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CURRENT_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_GLYPH(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - penum
    - ','
    - glyph
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: SET_CURRENT_GLYPH
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_CURRENT_GLYPH(penum, glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gxchar.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - pgs
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: gs_show_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - rc_alloc_struct_1
    linkageType: ''
    returnType: gs_show_enum
    signature: 'gs_show_enum *

      gs_show_enum_alloc(gs_memory_t * mem, gs_gstate * pgs, client_name_t cname)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_show_enum_alloc
      Src: /src/libspectre/ghostscript/base/gxchar.c:133,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:135,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/base/gxchar.c:136,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxchar.c:139,1
    - Dst: show_state_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:155,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxchar.c:164,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:168,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gxchar.c:170,1
    - Dst: gs_make_null_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:174,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:174,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:178,1
    - Dst: gs_setdevice_no_init
      Src: /src/libspectre/ghostscript/base/gxchar.c:179,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gxchar.c:181,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:182,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxchar.c:183,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:185,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 9
    argNames:
    - dev
    - pgs1
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - mem
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 191
    functionName: gx_default_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 6
    functionsReached:
    - gs_newpath
    - gs_make_null_device
    - gx_device_retain
    - gs_grestore
    - gs_setdevice_no_init
    - show_state_setup
    - gs_alloc_struct
    - gs_text_enum_init
    - gs_currentdevice_inline
    - return_error
    - gx_translate_to_fixed
    - gs_show_enum_alloc
    - gx_path_add_point
    - gs_gsave
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_default_text_begin(gx_device * dev, gs_gstate * pgs1,\n                      const
      gs_text_params_t * text, gs_font * font,\n                      gx_path * path,
      const gx_device_color * pdcolor,\n                      const gx_clip_path *
      pcpath,\n                      gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: font_proc_next_char_glyph
      Src: /src/libspectre/ghostscript/base/gxchar.c:197,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/base/gxchar.c:211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pgs
    - text
    - mem
    argTypes:
    - gs_gstate*
    - gs_text_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 225
    functionName: gs_text_count_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - font_proc_next_char_glyph
    - gs_text_enum_init
    linkageType: ''
    returnType: int
    signature: int gs_text_count_chars(gs_gstate * pgs, gs_text_params_t *text, gs_memory_t
      * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gxchar.c:233,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gxchar.c:236,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:238,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxchar.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - path
    argTypes:
    - gs_gstate*
    - gx_path**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: gx_hld_stringwidth_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - gs_newpath
    - gx_path_add_point
    - gs_gsave
    - gx_translate_to_fixed
    linkageType: ''
    returnType: int
    signature: int gx_hld_stringwidth_begin(gs_gstate * pgs, gx_path **path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxchar.c:248,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 253
    functionName: gx_default_text_restore_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 2
    functionsReached:
    - SHOW_IS
    - gs_grestore
    linkageType: ''
    returnType: int
    signature: int gx_default_text_restore_state(gs_text_enum_t *pte)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/base/gxchar.c:267,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:274,1
    - Dst: set_char_width
      Src: /src/libspectre/ghostscript/base/gxchar.c:277,1
    - Dst: set_char_width
      Src: /src/libspectre/ghostscript/base/gxchar.c:279,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:283,1
    - Dst: set_cache_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:285,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:298,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:299,1
    - Dst: set_char_width
      Src: /src/libspectre/ghostscript/base/gxchar.c:302,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:304,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:307,1
    - Dst: set_cache_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:308,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:311,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:314,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:317,1
    - Dst: set_char_width
      Src: /src/libspectre/ghostscript/base/gxchar.c:325,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:328,1
    - Dst: set_cache_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:330,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:335,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 3
    argNames:
    - pte
    - pw
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 337
    functionName: gx_show_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - SHOW_IS_ALL_OF
    - gs_point_transform2fixed
    - set_cache_device
    - gs_distance_transform2fixed
    - set_char_width
    - gx_translate_to_fixed
    - return_error
    - gs_rootfont
    linkageType: ''
    returnType: int
    signature: "int gx_show_text_set_cache(gs_text_enum_t *pte, const double *pw,\n
      \                         gs_text_cache_control_t control)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:348,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:349,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxchar.c:352,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:352,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:369,1
    - Dst: gs_nulldevice
      Src: /src/libspectre/ghostscript/base/gxchar.c:370,1
    - Dst: SHOW_IS_DRAWING
      Src: /src/libspectre/ghostscript/base/gxchar.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - penum
    - pgs
    - wx
    - wy
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 372
    functionName: set_char_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - SHOW_IS_ALL_OF
    - ctm_only
    - gs_distance_transform
    - gs_distance_transform2fixed
    - SHOW_IS_DRAWING
    - return_error
    - gs_nulldevice
    linkageType: ''
    returnType: int
    signature: int set_char_width(gs_show_enum *penum, gs_gstate *pgs, double wx,
      double wy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: show_set_scale
      Src: /src/libspectre/ghostscript/base/gxchar.c:392,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 4
    argNames:
    - penum
    - pfont
    - alpha_bits
    - p_log2_scale
    argTypes:
    - gs_show_enum*
    - gs_font*
    - int
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 409
    functionName: gx_compute_text_oversampling
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - show_set_scale
    linkageType: ''
    returnType: void
    signature: "void gx_compute_text_oversampling(const gs_show_enum * penum, const
      gs_font *pfont,\n                             int alpha_bits, gs_log2_scale_point
      *p_log2_scale)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:418,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxchar.c:421,1
    - Dst: gx_path_current_point_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:425,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxchar.c:428,1
    - Dst: gx_compute_text_oversampling
      Src: /src/libspectre/ghostscript/base/gxchar.c:436,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxchar.c:443,1
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gxchar.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - penum
    - in_setcachedevice
    - alpha_bits
    - depth
    - subpix_origin
    - log2_scale
    argTypes:
    - gs_show_enum*
    - bool
    - int*
    - int*
    - gs_fixed_point*
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 412
    functionDepth: 2
    functionLinenumber: 412
    functionLinenumberEnd: 460
    functionName: compute_glyph_raster_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gs_currentaligntopixels
    - SHOW_IS
    - gx_compute_text_oversampling
    - gs_currentdevice_inline
    - gx_path_current_point_inline
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int compute_glyph_raster_params(gs_show_enum *penum, bool in_setcachedevice,
      int *alpha_bits,\n                    int *depth,\n                    gs_fixed_point
      *subpix_origin, gs_log2_scale_point *log2_scale)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:475,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxchar.c:476,1
    - Dst: gs_nulldevice
      Src: /src/libspectre/ghostscript/base/gxchar.c:477,1
    - Dst: CURRENT_GLYPH
      Src: /src/libspectre/ghostscript/base/gxchar.c:484,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxchar.c:490,1
    - Dst: max_cd
      Src: /src/libspectre/ghostscript/base/gxchar.c:501,1
    - Dst: max_cd
      Src: /src/libspectre/ghostscript/base/gxchar.c:503,1
    - Dst: max_cd
      Src: /src/libspectre/ghostscript/base/gxchar.c:503,1
    - Dst: max_cd
      Src: /src/libspectre/ghostscript/base/gxchar.c:503,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchar.c:514,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchar.c:514,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchar.c:514,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchar.c:514,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:523,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:524,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:525,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:526,1
    - Dst: make_min
      Src: /src/libspectre/ghostscript/base/gxchar.c:535,1
    - Dst: make_min
      Src: /src/libspectre/ghostscript/base/gxchar.c:536,1
    - Dst: make_min
      Src: /src/libspectre/ghostscript/base/gxchar.c:537,1
    - Dst: make_min
      Src: /src/libspectre/ghostscript/base/gxchar.c:538,1
    - Dst: compute_glyph_raster_params
      Src: /src/libspectre/ghostscript/base/gxchar.c:548,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxchar.c:553,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gxchar.c:554,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:555,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:555,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:556,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:556,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gxchar.c:558,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:569,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:570,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxchar.c:571,1
    - Dst: show_cache_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:575,1
    - Dst: gx_alloc_char_bits
      Src: /src/libspectre/ghostscript/base/gxchar.c:586,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:610,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:611,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:612,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:613,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxchar.c:614,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gxchar.c:615,1
    - Dst: gx_cpath_clip
      Src: /src/libspectre/ghostscript/base/gxchar.c:619,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxchar.c:622,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:628,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:629,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxchar.c:630,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:632,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:633,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gxchar.c:635,1
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:636,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/base/gxchar.c:642,1
    - Dst: cc_set_pair
      Src: /src/libspectre/ghostscript/base/gxchar.c:646,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:650,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:654,1
    - Dst: gx_scale_char_matrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:658,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:661,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:667,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:668,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/base/gxchar.c:669,1
    - Dst: gx_set_device_color_1
      Src: /src/libspectre/ghostscript/base/gxchar.c:671,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gxchar.c:674,1
    - Dst: gx_set_device_color_1
      Src: /src/libspectre/ghostscript/base/gxchar.c:675,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gxchar.c:678,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:685,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 6
    argNames:
    - penum
    - pgs
    - llx
    - lly
    - urx
    - ury
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 687
    functionName: set_cache_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - SHOW_IS_ALL_OF
    - gx_scale_char_matrix
    - gs_distance_transform2fixed
    - cc_set_pair
    - gx_translate_to_fixed
    - gs_rootfont
    - gs_debug_c
    - gx_cpath_clip
    - fixed2int_var
    - ctm_only
    - gs_grestore
    - gx_clip_to_rectangle
    - max_cd
    - fixed_ceiling
    - if_debug2m
    - if_debug4m
    - show_cache_setup
    - gx_free_cached_char
    - gx_path_add_rectangle
    - gx_path_init_local
    - gx_set_device_color_1
    - gx_set_device_only
    - gs_nulldevice
    - int2fixed
    - if_debug0m
    - gx_path_free
    - if_debug3m
    - compute_glyph_raster_params
    - dmlprintf6
    - CURRENT_GLYPH
    - gs_swapcolors_quick
    - fabs
    - gx_alloc_char_bits
    - make_min
    - gs_gsave
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int set_cache_device(gs_show_enum * penum, gs_gstate * pgs, double
      llx, double lly,\n                 double urx, double ury)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: swap
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: swap(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 534
    functionName: make_min
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: gs_incachedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_in_cache_device_t
    signature: gs_in_cache_device_t gs_incachedevice(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxchar.c:705,1
    - Dst: gs_show_current_font
      Src: /src/libspectre/ghostscript/base/gxchar.c:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: show_set_encode_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - SHOW_IS
    - gs_show_current_font
    linkageType: ''
    returnType: void
    signature: void show_set_encode_char(gs_show_enum * penum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:721,1
    - Dst: show_set_encode_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:724,1
    - Dst: show_state_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:727,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 714
    functionDepth: 2
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: gx_show_text_resync
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - return_error
    - show_state_setup
    - show_set_encode_char
    linkageType: ''
    returnType: int
    signature: int gx_show_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 737
    functionName: gx_show_text_process
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_show_text_process(gs_text_enum_t *pte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: show_update
      Src: /src/libspectre/ghostscript/base/gxchar.c:747,1
    - Dst: show_move
      Src: /src/libspectre/ghostscript/base/gxchar.c:751,1
    - Dst: show_proceed
      Src: /src/libspectre/ghostscript/base/gxchar.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: continue_show_update
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - show_proceed
    - show_move
    - show_update
    linkageType: ''
    returnType: int
    signature: int continue_show_update(gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: show_proceed
      Src: /src/libspectre/ghostscript/base/gxchar.c:759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 760
    functionName: continue_show
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - show_proceed
    linkageType: ''
    returnType: int
    signature: int continue_show(gs_show_enum * penum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_setfont
      Src: /src/libspectre/ghostscript/base/gxchar.c:769,1
    - Dst: show_state_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:771,1
    - Dst: show_proceed
      Src: /src/libspectre/ghostscript/base/gxchar.c:775,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 776
    functionName: continue_kshow
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - show_state_setup
    - show_proceed
    - gs_setfont
    linkageType: ''
    returnType: int
    signature: int continue_kshow(gs_show_enum * penum)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:803,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:804,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:806,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/base/gxchar.c:814,1
    - Dst: char_tm_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:814,1
    - Dst: gx_add_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:818,1
    - Dst: SHOW_USES_OUTLINE
      Src: /src/libspectre/ghostscript/base/gxchar.c:823,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:830,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gxchar.c:833,1
    - Dst: gx_image_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:836,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxchar.c:843,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:848,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 849
    functionName: show_update
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - gx_add_cached_char
    - gx_lookup_fm_pair
    - gx_free_cached_char
    - gs_grestore
    - gx_image_cached_char
    - char_tm_only
    - gs_gstate_color_load
    - gx_path_add_point
    - SHOW_USES_OUTLINE
    - return_error
    linkageType: ''
    returnType: int
    signature: int show_update(gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/base/gxchar.c:855,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:856,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - pwxy
    argTypes:
    - gs_gstate*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 858
    functionName: show_fast_move
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gs_moveto_aux
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int show_fast_move(gs_gstate * pgs, gs_fixed_point * pwxy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_CHAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:864,1
    - Dst: CURRENT_CHAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:877,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 886
    functionName: gx_current_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - CURRENT_CHAR
    linkageType: ''
    returnType: int
    signature: int gx_current_char(const gs_text_enum_t * pte)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_IS_ADD_TO_SPACE
      Src: /src/libspectre/ghostscript/base/gxchar.c:899,1
    - Dst: gx_current_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:902,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxchar.c:910,1
    - Dst: gs_text_replaced_width
      Src: /src/libspectre/ghostscript/base/gxchar.c:913,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:918,1
    - Dst: SHOW_IS_ADD_TO_ALL
      Src: /src/libspectre/ghostscript/base/gxchar.c:922,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gxchar.c:926,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:929,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:936,1
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/base/gxchar.c:946,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:947,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:948,1
    - Dst: show_fast_move
      Src: /src/libspectre/ghostscript/base/gxchar.c:950,1
    - Dst: SHOW_IS_DO_KERN
      Src: /src/libspectre/ghostscript/base/gxchar.c:955,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 960
    functionName: show_move
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - SHOW_IS_ALL_OF
    - gx_current_char
    - gs_moveto_aux
    - SHOW_IS_DO_KERN
    - show_fast_move
    - SHOW_IS
    - is_fzero2
    - gs_text_replaced_width
    - gs_distance_transform2fixed
    - SHOW_IS_ADD_TO_SPACE
    - SHOW_IS_ADD_TO_ALL
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int show_move(gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font*::procs::next_char_glyph
      Src: /src/libspectre/ghostscript/base/gxchar.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - penum
    - chr
    - glyph
    argTypes:
    - gs_show_enum*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 970
    functionName: get_next_char_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gs_font*::procs::next_char_glyph
    linkageType: ''
    returnType: int
    signature: int get_next_char_glyph(gs_show_enum * penum, gs_char *chr, gs_glyph
      *glyph)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_USES_OUTLINE
      Src: /src/libspectre/ghostscript/base/gxchar.c:989,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gxchar.c:990,1
    - Dst: get_next_char_glyph
      Src: /src/libspectre/ghostscript/base/gxchar.c:1004,1
    - Dst: show_finish
      Src: /src/libspectre/ghostscript/base/gxchar.c:1008,1
    - Dst: show_state_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:1013,1
    - Dst: SET_CURRENT_CHAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:1024,1
    - Dst: SET_CURRENT_GLYPH
      Src: /src/libspectre/ghostscript/base/gxchar.c:1032,1
    - Dst: SET_CURRENT_GLYPH
      Src: /src/libspectre/ghostscript/base/gxchar.c:1034,1
    - Dst: gs_color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxchar.c:1036,1
    - Dst: compute_glyph_raster_params
      Src: /src/libspectre/ghostscript/base/gxchar.c:1046,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/base/gxchar.c:1051,1
    - Dst: char_tm_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:1051,1
    - Dst: SHOW_IS_ALL_OF
      Src: /src/libspectre/ghostscript/base/gxchar.c:1057,1
    - Dst: gx_lookup_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:1061,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gxchar.c:1080,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxchar.c:1083,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1084,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxchar.c:1085,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1086,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1087,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1088,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxchar.c:1089,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gxchar.c:1091,1
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gxchar.c:1095,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxchar.c:1099,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxchar.c:1100,1
    - Dst: SHOW_IS_DRAWING
      Src: /src/libspectre/ghostscript/base/gxchar.c:1103,1
    - Dst: gx_image_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:1104,1
    - Dst: SHOW_IS_SLOW
      Src: /src/libspectre/ghostscript/base/gxchar.c:1114,1
    - Dst: show_move
      Src: /src/libspectre/ghostscript/base/gxchar.c:1119,1
    - Dst: show_fast_move
      Src: /src/libspectre/ghostscript/base/gxchar.c:1121,1
    - Dst: get_next_char_glyph
      Src: /src/libspectre/ghostscript/base/gxchar.c:1131,1
    - Dst: show_finish
      Src: /src/libspectre/ghostscript/base/gxchar.c:1135,1
    - Dst: show_state_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:1139,1
    - Dst: compute_glyph_raster_params
      Src: /src/libspectre/ghostscript/base/gxchar.c:1147,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/base/gxchar.c:1151,1
    - Dst: char_tm_only
      Src: /src/libspectre/ghostscript/base/gxchar.c:1151,1
    - Dst: SET_CURRENT_CHAR
      Src: /src/libspectre/ghostscript/base/gxchar.c:1159,1
    - Dst: SET_CURRENT_GLYPH
      Src: /src/libspectre/ghostscript/base/gxchar.c:1163,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gxchar.c:1175,1
    - Dst: gx_path_current_point_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:1192,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxchar.c:1194,1
    - Dst: gs_currentcharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1202,1
    - Dst: gs_settocharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1207,1
    - Dst: gs_settocharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1215,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:1216,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:1217,1
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gxchar.c:1218,1
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gxchar.c:1219,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:1220,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1223,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1224,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gxchar.c:1226,1
    - Dst: show_origin_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:1227,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gxchar.c:1240,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:1240,1
    - Dst: show_update
      Src: /src/libspectre/ghostscript/base/gxchar.c:1244,1
    - Dst: show_move
      Src: /src/libspectre/ghostscript/base/gxchar.c:1248,1
    - Dst: show_cache_setup
      Src: /src/libspectre/ghostscript/base/gxchar.c:1260,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:1269,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 201
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 1272
    functionName: show_proceed
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 3
    functionsReached:
    - SHOW_IS_ALL_OF
    - gs_newpath
    - gx_path_current_point
    - gx_path_add_char_path
    - SHOW_IS
    - show_move
    - f_fits_in_bits
    - show_state_setup
    - gs_color_writes_pure
    - fixed_rounded
    - show_origin_setup
    - gs_grestore
    - discard
    - gs_currentcharmatrix
    - gs_gstate_color_load
    - SHOW_IS_DRAWING
    - gs_note_error
    - gs_settocharmatrix
    - show_finish
    - float2fixed
    - show_cache_setup
    - show_fast_move
    - gx_path_add_rectangle
    - gx_image_cached_char
    - SET_CURRENT_CHAR
    - show_update
    - gx_path_init_local
    - SHOW_USES_OUTLINE
    - int2fixed
    - gx_path_free
    - gx_lookup_cached_char
    - SHOW_IS_SLOW
    - gx_lookup_fm_pair
    - char_tm_only
    - compute_glyph_raster_params
    - gx_path_add_point
    - SET_CURRENT_GLYPH
    - gx_path_current_point_inline
    - get_next_char_glyph
    - gs_gsave
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int show_proceed(gs_show_enum * penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:1286,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:1289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1294
    functionName: gx_show_text_retry
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gx_free_cached_char
    - gs_grestore
    linkageType: ''
    returnType: int
    signature: int gx_show_text_retry(gs_text_enum_t *pte)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_show_enum*::procs::release
      Src: /src/libspectre/ghostscript/base/gxchar.c:1309,1
    - Dst: SHOW_IS_STRINGWIDTH
      Src: /src/libspectre/ghostscript/base/gxchar.c:1311,1
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/base/gxchar.c:1317,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gxchar.c:1318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1321
    functionName: show_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - SHOW_IS_STRINGWIDTH
    - gs_currentpoint
    - gs_show_enum*::procs::release
    - gs_grestore
    linkageType: ''
    returnType: int
    signature: int show_finish(gs_show_enum * penum)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:1331,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:1335,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:1339,1
    - Dst: gx_default_text_release
      Src: /src/libspectre/ghostscript/base/gxchar.c:1342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1324
    functionDepth: 1
    functionLinenumber: 1324
    functionLinenumberEnd: 1343
    functionName: gx_show_text_release
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gx_default_text_release
    - gx_device_retain
    linkageType: ''
    returnType: void
    signature: void gx_show_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1352
    functionName: gs_show_in_charpath
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char_path_mode
    signature: gs_char_path_mode gs_show_in_charpath(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SHOW_USES_OUTLINE
      Src: /src/libspectre/ghostscript/base/gxchar.c:1367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1369
    functionName: gx_show_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - SHOW_USES_OUTLINE
    linkageType: ''
    returnType: bool
    signature: bool gx_show_text_is_width_only(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_idtransform
      Src: /src/libspectre/ghostscript/base/gxchar.c:1377,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:1378,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxchar.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1372
    functionDepth: 1
    functionLinenumber: 1372
    functionLinenumberEnd: 1380
    functionName: gx_show_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 0
    functionsReached:
    - gs_idtransform
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_show_text_current_width(const gs_text_enum_t *pte, gs_point
      *pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1388
    functionName: gs_show_current_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_font
    signature: 'gs_font *

      gs_show_current_font(const gs_show_enum * penum)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/base/gxchar.c:1410,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/base/gxchar.c:1413,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:1416,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxchar.c:1418,1
    - Dst: gs_cid0_indexed_font
      Src: /src/libspectre/ghostscript/base/gxchar.c:1418,1
    - Dst: gs_setcharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1420,1
    - Dst: gs_currentcharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1422,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxchar.c:1431,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxchar.c:1435,1
    - Dst: gs_cid0_indexed_font
      Src: /src/libspectre/ghostscript/base/gxchar.c:1435,1
    - Dst: gs_setcharmatrix
      Src: /src/libspectre/ghostscript/base/gxchar.c:1438,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxchar.c:1442,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gxchar.c:1446,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:1450,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:1451,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:1452,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:1453,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxchar.c:1454,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:1455,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxchar.c:1456,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:1457,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxchar.c:1458,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxchar.c:1460,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxchar.c:1462,1
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gxchar.c:1469,1
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gxchar.c:1470,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:1472,1
    - Dst: show_set_encode_char
      Src: /src/libspectre/ghostscript/base/gxchar.c:1478,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1480
    functionName: show_state_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 4
    functionsReached:
    - gx_effective_clip_path
    - gs_cid0_indexed_font
    - gs_setcharmatrix
    - gs_matrix_multiply
    - cidata::glyph_data
    - gx_cpath_inner_box
    - fixed2int_var
    - f_fits_in_bits
    - show_set_encode_char
    - gx_cpath_outer_box
    - gs_currentcharmatrix
    - fixed2long
    - return_error
    - fixed2int_var_ceiling
    linkageType: ''
    returnType: int
    signature: int show_state_setup(gs_show_enum * penum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gxchar.c:1492,1
    - Dst: SHOW_USES_OUTLINE
      Src: /src/libspectre/ghostscript/base/gxchar.c:1500,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1505,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxchar.c:1512,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1512,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxchar.c:1513,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1513,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxchar.c:1516,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1516,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxchar.c:1517,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1517,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 18
    argCount: 2
    argNames:
    - penum
    - log2_scale
    argTypes:
    - gs_show_enum*
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1533
    functionName: show_set_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - any_abs
    - gs_distance_transform2fixed
    - gs_object_type
    - SHOW_USES_OUTLINE
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void show_set_scale(const gs_show_enum * penum, gs_log2_scale_point
      *log2_scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxchar.c:1544,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxchar.c:1547,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gxchar.c:1555,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gxchar.c:1556,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxchar.c:1557,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxchar.c:1558,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxchar.c:1559,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:1567,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:1567,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxchar.c:1569,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxchar.c:1569,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:1574,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxchar.c:1575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1538
    functionDepth: 1
    functionLinenumber: 1538
    functionLinenumberEnd: 1577
    functionName: show_cache_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 2
    functionsReached:
    - gx_device_retain
    - gs_alloc_struct
    - gs_currentdevice_inline
    - return_error
    - gs_make_mem_mono_device
    - gs_set_object_type
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int show_cache_setup(gs_show_enum * penum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gxchar.c:1588,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxchar.c:1597,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxchar.c:1598,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gxchar.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - pgs
    - cpt_x
    - cpt_y
    - penum
    argTypes:
    - gs_gstate*
    - fixed
    - fixed
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1582
    functionDepth: 1
    functionLinenumber: 1582
    functionLinenumberEnd: 1606
    functionName: show_origin_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.c
    functionUses: 1
    functionsReached:
    - fixed_rounded
    - gx_translate_to_fixed
    - gs_currentaligntopixels
    linkageType: ''
    returnType: int
    signature: int show_origin_setup(gs_gstate * pgs, fixed cpt_x, fixed cpt_y, gs_show_enum
      * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: GET_CUST_MEM_DATA
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_CUST_MEM_DATA(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsgcache.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - e
    argTypes:
    - gs_glyph_cache_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(gs_glyph_cache_elem_enum_ptrs, gs_glyph_cache_elem
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsgcache.c:65,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gsgcache.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - e
    argTypes:
    - gs_glyph_cache_elem*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gs_glyph_cache_elem_reloc_ptrs, gs_glyph_cache_elem
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: gs_glyph_cache_s
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gs_glyph_cache_s
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsgcache.c:87,1
    - Dst: gs_font_notify_register
      Src: /src/libspectre/ghostscript/base/gsgcache.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pfont
    - s
    - read_data
    argTypes:
    - gs_font_type42*
    - stream*
    - get_glyph_data_from_file
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 104
    functionName: gs_glyph_cache__alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_register
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_glyph_cache
    signature: "gs_glyph_cache *\ngs_glyph_cache__alloc(gs_font_type42 *pfont, stream
      *s,\n                        get_glyph_data_from_file read_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_cache_elem*::gd::procs::free
      Src: /src/libspectre/ghostscript/base/gsgcache.c:117,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsgcache.c:118,1
    - Dst: gs_font_notify_unregister
      Src: /src/libspectre/ghostscript/base/gsgcache.c:122,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsgcache.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: gs_glyph_cache__release
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_unregister
    - gs_glyph_cache_elem*::gd::procs::free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_glyph_cache__release(void *data, void *event)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 141
    functionName: gs_glyph_cache_elem__locate
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_glyph_cache_elem
    signature: 'gs_glyph_cache_elem **

      gs_glyph_cache_elem__locate(gs_glyph_cache *self, uint glyph_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - self
    - pe
    argTypes:
    - gs_glyph_cache*
    - gs_glyph_cache_elem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 150
    functionName: gs_glyph_cache_elem__move_to_head
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_glyph_cache_elem__move_to_head(gs_glyph_cache *self, gs_glyph_cache_elem
      **pe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgd
    - cname
    argTypes:
    - gs_glyph_data_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 158
    functionName: gs_glyph_cache_elem__free_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_glyph_cache_elem__free_data(gs_glyph_data_t *pgd, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsgcache.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pgd
    - offset
    - size
    argTypes:
    - gs_glyph_data_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 165
    functionName: gs_glyph_cache_elem__substring
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_glyph_cache_elem__substring(gs_glyph_data_t *pgd, uint offset,
      uint size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_cache_elem__locate
      Src: /src/libspectre/ghostscript/base/gsgcache.c:174,1
    - Dst: gs_glyph_cache_elem*::gd::procs::free
      Src: /src/libspectre/ghostscript/base/gsgcache.c:185,1
    - Dst: gs_glyph_cache_elem__move_to_head
      Src: /src/libspectre/ghostscript/base/gsgcache.c:186,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsgcache.c:189,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsgcache.c:192,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsgcache.c:193,1
    - Dst: gs_glyph_cache_elem__move_to_head
      Src: /src/libspectre/ghostscript/base/gsgcache.c:207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 3
    argNames:
    - pfont
    - glyph_index
    - pgd
    argTypes:
    - gs_font_type42*
    - uint
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 215
    functionName: gs_get_glyph_data_cached
    functionSourceFile: /src/libspectre/ghostscript/base/gsgcache.c
    functionUses: 0
    functionsReached:
    - gs_glyph_cache_elem*::gd::procs::free
    - memset
    - gs_glyph_cache_elem__locate
    - return_error
    - gs_glyph_cache_elem__move_to_head
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int gs_get_glyph_data_cached(gs_font_type42 *pfont, uint glyph_index,
      gs_glyph_data_t *pgd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevhit.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: hit_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevhit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int hit_fill_rectangle(gx_device * dev, int x, int y, int w, int h,\n
      \                  gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: gp_check_interrupts
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_check_interrupts(const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: cmd_max_intsize
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_max_intsize(siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: cmd_depth_to_code
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_depth_to_code(d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: cmd_code_to_depth
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_code_to_depth(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - tid
    - ','
    - offset_temp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 263
    functionName: cls_has_tile_id
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cls_has_tile_id(cldev, pcls, tid, offset_temp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 358
    functionName: cmd_count_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_count_add1(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - size
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 360
    functionName: cmd_count_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_count_op(op, size, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 361
    functionName: cmd_uncount_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_uncount_op(op, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 362
    functionName: cmd_count_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_count_add1(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: cmd_put_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put_op(cldev, pcls, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dp
    - ','
    - cldev
    - ','
    - pcls
    - ','
    - op
    - ','
    - csize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: set_cmd_put_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_cmd_put_op(dp, cldev, pcls, op, csize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: cmd_put_all_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put_all_op(cldev, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - dp
    - ','
    - cldev
    - ','
    - op
    - ','
    - bmin
    - ','
    - bmax
    - ','
    - csize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: set_cmd_put_range_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_cmd_put_range_op(dp, cldev, op, bmin, bmax, csize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dp
    - ','
    - cldev
    - ','
    - op
    - ','
    - csize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: set_cmd_put_all_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_cmd_put_all_op(dp, cldev, op, csize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: cmd_shorten_list_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_shorten_list_op(cldev, pcls, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    functionName: cmd_shorten_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_shorten_op(cldev, pcls, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 420
    functionName: w1byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: w1byte(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 421
    functionName: w2byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: w2byte(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: cmd_sizew
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_sizew(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wx
    - ','
    - wy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 426
    functionName: cmd_size2w
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_size2w(wx,wy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    functionName: cmd_sizexy
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_sizexy(xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 436
    functionName: cmd_putw
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_putw(w,dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wx
    - ','
    - wy
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: cmd_put2w
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put2w(wx,wy,dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - dp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: cmd_putxy
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_putxy(xy,dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - pcls
    - ','
    - color0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: cmd_set_color0
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_set_color0(dev, pcls, color0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - pcls
    - ','
    - color1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: cmd_set_color1
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_set_color1(dev, pcls, color1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - enable
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 486
    functionName: cmd_do_enable_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_do_enable_lop(cldev, pcls, enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 488
    functionName: cmd_enable_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_enable_lop(cldev, pcls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 490
    functionName: cmd_disable_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_disable_lop(cldev, pcls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - enable
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: cmd_do_enable_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_do_enable_clip(cldev, pcls, enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: cmd_enable_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_enable_clip(cldev, pcls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 500
    functionDepth: 0
    functionLinenumber: 500
    functionLinenumberEnd: 502
    functionName: cmd_disable_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_disable_clip(cldev, pcls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - re
    - ','
    - yvar
    - ','
    - heightvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 552
    functionName: RECT_ENUM_INIT
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECT_ENUM_INIT(re, yvar, heightvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - re
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: RECT_STEP_INIT
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RECT_STEP_INIT(re)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 726
    functionName: CMD_CHECK_LAST_OP_BLOCK_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_CHECK_LAST_OP_BLOCK_DEFINED(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 728
    functionName: CMD_CHECK_LAST_OP_BLOCK_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/gxcldev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMD_CHECK_LAST_OP_BLOCK_DEFINED(cldev)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:138,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:139,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:144,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:145,1
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:178,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:179,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:182,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:264,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:264,1
    - Dst: compute_dx
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:269,1
    - Dst: YMULT_QUO
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:270,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:273,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:273,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:278,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:279,1
    - Dst: SET_MINIMAL_WIDTH
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:280,1
    - Dst: FILL_TRAP_RECT
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:281,1
    - Dst: compute_dx
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:295,1
    - Dst: YMULT_QUO
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:299,1
    - Dst: compute_dx
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:301,1
    - Dst: YMULT_QUO
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:302,1
    - Dst: compute_ldx
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:305,1
    - Dst: compute_ldx
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:306,1
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:313,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:316,1
    - Dst: init_gradient
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:328,1
    - Dst: init_gradient
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:331,1
    - Dst: rational_floor
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:344,1
    - Dst: rational_floor
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:345,1
    - Dst: SET_MINIMAL_WIDTH
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:346,1
    - Dst: set_x_gradient
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:350,1
    - Dst: FILL_TRAP_RECT
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:353,1
    - Dst: STEP_LINE
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:359,1
    - Dst: STEP_LINE
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:360,1
    - Dst: step_gradient
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:361,1
    - Dst: step_gradient
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:362,1
    - Dst: STEP_LINE
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:366,1
    - Dst: STEP_LINE
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:367,1
    - Dst: SET_MINIMAL_WIDTH
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:368,1
    - Dst: CONNECT_RECTANGLES
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:370,1
    - Dst: CONNECT_RECTANGLES
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:371,1
    - Dst: FILL_TRAP_RECT
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:372,1
    - Dst: FILL_TRAP_RECT
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:392,1
    - Dst: return_if_interrupt
      Src: /src/libspectre/ghostscript/base/gxdtfill.h:393,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 108
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - flags
    - pdevc
    - fa
    argTypes:
    - gx_device*
    - EDGE_TYPE*
    - EDGE_TYPE*
    - fixed
    - fixed
    - int
    - gx_device_color*
    - FILL_ATTRS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 396
    functionName: GX_FILL_TRAPEZOID
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 0
    functionsReached:
    - compute_dx
    - YMULT_QUO
    - set_x_gradient
    - fixed2int_var
    - dev_proc_fill_rectangle
    - SET_MINIMAL_WIDTH
    - if_debug2m
    - CONNECT_RECTANGLES
    - return_if_interrupt
    - STEP_LINE
    - compute_ldx
    - init_gradient
    - check_gradient_overflow
    - dev_proc
    - fixed_floor
    - step_gradient
    - fixed_pixround
    - FILL_TRAP_RECT
    - rational_floor
    - return_error
    linkageType: ''
    returnType: void
    signature: "void GX_FILL_TRAPEZOID (gx_device * dev, const EDGE_TYPE * left,\n
      \   const EDGE_TYPE * right, fixed ybot, fixed ytop, int flags,\n    const gx_device_color
      * pdevc, FILL_ATTRS fa)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: FILL_TRAP_RECT_INDIRECT
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_TRAP_RECT_INDIRECT(x,y,w,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: FILL_TRAP_RECT_DIRECT
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_TRAP_RECT_DIRECT(x,y,w,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: FILL_TRAP_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_TRAP_RECT(x,y,w,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FILL_TRAP_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_TRAP_RECT(x,y,w,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ys
    - ','
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: YMULT_QUO
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YMULT_QUO(ys, tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ixl
    - ','
    - ixr
    - ','
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 248
    functionName: SET_MINIMAL_WIDTH
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MINIMAL_WIDTH(ixl, ixr, l, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - ixl
    - ','
    - ixr
    - ','
    - rxl
    - ','
    - rxr
    - ','
    - iy
    - ','
    - ry
    - ','
    - adj1
    - ','
    - adj2
    - ','
    - fill
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 259
    functionName: CONNECT_RECTANGLES
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONNECT_RECTANGLES(ixl, ixr, rxl, rxr, iy, ry, adj1, adj2, fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ixl
    - ','
    - ixr
    - ','
    - l
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: SET_MINIMAL_WIDTH
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MINIMAL_WIDTH(ixl, ixr, l, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - ixl
    - ','
    - ixr
    - ','
    - rxl
    - ','
    - rxr
    - ','
    - iy
    - ','
    - ry
    - ','
    - adj1
    - ','
    - adj2
    - ','
    - fill
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: CONNECT_RECTANGLES
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONNECT_RECTANGLES(ixl, ixr, rxl, rxr, iy, ry, adj1, adj2, fill)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: rational_floor
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rational_floor(tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ix
    - ','
    - tl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 343
    functionName: STEP_LINE
    functionSourceFile: /src/libspectre/ghostscript/base/gxdtfill.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP_LINE(ix, tl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: composite_create_default_compositor_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_create_default_compositor_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: composite_equal_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_equal_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: composite_write_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_write_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: composite_read_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_read_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: composite_adjust_ctm_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_adjust_ctm_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: composite_is_closing_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_is_closing_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: composite_is_friendly_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_is_friendly_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: composite_clist_write_update
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_clist_write_update(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    functionName: composite_clist_read_update
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_clist_read_update(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: composite_get_cropping_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: composite_get_cropping_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcte
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: gs_composite_id
    functionSourceFile: /src/libspectre/ghostscript/base/gxcomp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_composite_id(pcte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - styp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: gs_struct_type_name_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_struct_type_name_string(styp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: gs_memory_t_proc_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_alloc_bytes(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: gs_alloc_bytes_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_bytes_immovable(mem, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: gs_memory_t_proc_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_resize_object(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - obj
    - ','
    - newn
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: gs_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_resize_object(mem, obj, newn, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: gs_memory_t_proc_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_free_object(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: gs_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 199
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free_object(mem, data, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: gs_memory_t_proc_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_status(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - pst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: gs_memory_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_status(mem, pst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 158
    functionName: gs_memory_t_proc_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_stable(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: gs_memory_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_stable(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: gs_memory_t_proc_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_free_all(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - free_mask
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: gs_memory_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_free_all(mem, free_mask, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: gs_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free_all(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: gs_memory_t_proc_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_consolidate_free(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: gs_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_consolidate_free(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 210
    functionName: gs_raw_memory_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_raw_memory_procs(mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: gs_memory_proc_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_alloc_bytes(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: gs_memory_proc_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_resize_object(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: gs_memory_proc_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_free_object(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: gs_memory_proc_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_stable(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: gs_memory_proc_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_status(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: gs_memory_proc_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_free_all(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: gs_memory_proc_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_consolidate_free(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: gs_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 117
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_bytes(mem, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: gs_memory_proc_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_alloc_struct(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: gs_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_struct(mem, typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: gs_alloc_struct_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_struct_immovable(mem, typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: gs_memory_proc_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_alloc_byte_array(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - nelts
    - ','
    - esize
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    functionName: gs_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_byte_array(mem, nelts, esize, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - nelts
    - ','
    - esize
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: gs_alloc_byte_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_byte_array_immovable(mem, nelts, esize, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 279
    functionName: gs_memory_proc_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_alloc_struct_array(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - nelts
    - ','
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: gs_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_struct_array(mem, nelts, typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - nelts
    - ','
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: gs_alloc_struct_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_struct_array_immovable(mem, nelts, typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: gs_memory_proc_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_object_size(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: gs_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_object_size(mem, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: gs_memory_proc_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_object_type(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: gs_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_object_type(mem, obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: gs_memory_proc_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_alloc_string(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: gs_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_string(mem, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: gs_alloc_string_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_string_immovable(mem, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    functionName: gs_memory_proc_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_resize_string(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - oldn
    - ','
    - newn
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: gs_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_resize_string(mem, data, oldn, newn, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: gs_memory_proc_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_free_string(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: gs_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free_string(mem, data, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 361
    functionName: gs_memory_proc_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_register_root(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - root
    - ','
    - ptype
    - ','
    - pp
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: gs_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_register_root(mem, root, ptype, pp, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: gs_memory_proc_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_unregister_root(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - root
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: gs_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_unregister_root(mem, root, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: gs_memory_proc_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_enable_free(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - enable
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: gs_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_enable_free(mem, enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: gs_memory_proc_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_set_object_type(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: gs_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_set_object_type(mem, data, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: gs_memory_proc_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_proc_defer_frees(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - defer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: gs_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_defer_frees(mem, defer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfetab.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUN(c,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: scfetab_dummy
    functionSourceFile: /src/libspectre/ghostscript/base/scfetab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scfetab_dummy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: line_area_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double line_area_2(fixed p0x, fixed p0y, fixed p1x, fixed p1y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - p0x
    - p0y
    - p1x
    - p1y
    - p2x
    - p2y
    - p3x
    - p3y
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: bezier_area_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: "double bezier_area_2(fixed p0x, fixed p0y, fixed p1x, fixed p1y,\n
      \                                 fixed p2x, fixed p2y, fixed p3x, fixed p3y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - self
    - c
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 59
    functionName: t1_hinter__reverse_contour
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__reverse_contour(t1_hinter * self, int c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 78
    functionName: bar_winding_angle
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - atan2
    linkageType: ''
    returnType: double
    signature: double bar_winding_angle(fixed x0, fixed y0, fixed x1, fixed y1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:84,1
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:89,1
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:90,1
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:91,1
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:92,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:95,1
    - Dst: curve_winding_angle_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:110,1
    - Dst: curve_winding_angle_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:113,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 9
    argNames:
    - k
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - int
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 119
    functionName: curve_winding_angle_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 1
    functionsReached:
    - curve_winding_angle_rec
    - bar_winding_angle
    - any_abs
    linkageType: ''
    returnType: double
    signature: double curve_winding_angle_rec(int k, fixed x0, fixed y0, fixed x1,
      fixed y1, fixed x2, fixed y2, fixed x3, fixed y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 8
    argNames:
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: curve_log2_samples
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 1
    functionsReached:
    - gx_curve_log2_samples
    linkageType: ''
    returnType: int
    signature: int curve_log2_samples(fixed x0, fixed y0, fixed x1, fixed y1, fixed
      x2, fixed y2, fixed x3, fixed y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:136,1
    - Dst: curve_winding_angle_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: curve_winding_angle
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - curve_log2_samples
    - curve_winding_angle_rec
    linkageType: ''
    returnType: double
    signature: double curve_winding_angle(fixed x0, fixed y0, fixed x1, fixed y1,
      fixed x2, fixed y2, fixed x3, fixed y3)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: bar_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:150,1
    - Dst: curve_winding_angle
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:154,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - self
    - gx
    - gy
    - c
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 167
    functionName: t1_hinter__is_inside
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - bar_winding_angle
    - curve_winding_angle
    - any_abs
    linkageType: ''
    returnType: int
    signature: int t1_hinter__is_inside(t1_hinter * self, t1_glyph_space_coord gx,
      t1_glyph_space_coord gy, int c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:191,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:192,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:193,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:194,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:195,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:196,1
    - Dst: gx_intersect_small_bars
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:218,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 24
    argCount: 8
    argNames:
    - q0x
    - q0y
    - q1x
    - q1y
    - q2x
    - q2y
    - q3x
    - q3y
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 220
    functionName: intersect_bar_bar
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gx_intersect_small_bars
    linkageType: ''
    returnType: bool
    signature: bool intersect_bar_bar(fixed q0x, fixed q0y, fixed q1x, fixed q1y,
      fixed q2x, fixed q2y, fixed q3x, fixed q3y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intersect_bar_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - i
    - j
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: t1_hinter__intersect_bar_bar
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - intersect_bar_bar
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__intersect_bar_bar(t1_hinter * self, int i, int j)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: intersect_bar_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:241,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:297,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:299,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:305,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:307,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:309,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:312,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 12
    argNames:
    - m
    - k
    - X1
    - Y1
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - int
    - int
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 318
    functionName: intersect_curve_bar_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 1
    functionsReached:
    - intersect_curve_bar_rec
    - intersect_bar_bar
    linkageType: ''
    returnType: bool
    signature: "bool intersect_curve_bar_rec(int m, int k, fixed X1, fixed Y1,\n                                     fixed
      x0, fixed y0, fixed x1, fixed y1, fixed x2, fixed y2, fixed x3, fixed y3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:322,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dx
    - dy
    argTypes:
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 328
    functionName: bar_samples
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: int
    signature: int bar_samples(fixed dx, fixed dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:344,1
    - Dst: bar_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:345,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - i
    - j
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 348
    functionName: t1_hinter__intersect_curve_bar
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - curve_log2_samples
    - bar_samples
    - intersect_curve_bar_rec
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__intersect_curve_bar(t1_hinter * self, int i, int j)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: intersect_bar_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:355,1
    - Dst: bar_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:357,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:359,1
    - Dst: bar_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:362,1
    - Dst: intersect_curve_bar_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:364,1
    - Dst: intersect_curve_curve_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:443,1
    - Dst: intersect_curve_curve_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:446,1
    - Dst: intersect_curve_curve_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:449,1
    - Dst: intersect_curve_curve_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:452,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 80
    argCount: 18
    argNames:
    - ka
    - kb
    - ax0
    - ay0
    - ax1
    - ay1
    - ax2
    - ay2
    - ax3
    - ay3
    - bx0
    - by0
    - bx1
    - by1
    - bx2
    - by2
    - bx3
    - by3
    argTypes:
    - int
    - int
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 458
    functionName: intersect_curve_curve_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 1
    functionsReached:
    - intersect_curve_bar_rec
    - bar_samples
    - intersect_curve_curve_rec
    - intersect_bar_bar
    linkageType: ''
    returnType: bool
    signature: "bool intersect_curve_curve_rec(int ka, int kb,\n                                     fixed
      ax0, fixed ay0, fixed ax1, fixed ay1, fixed ax2, fixed ay2, fixed ax3, fixed
      ay3,\n                                     fixed bx0, fixed by0, fixed bx1,
      fixed by1, fixed bx2, fixed by2, fixed bx3, fixed by3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:478,1
    - Dst: curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:479,1
    - Dst: intersect_curve_curve_rec
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - i
    - j
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 460
    functionDepth: 4
    functionLinenumber: 460
    functionLinenumberEnd: 484
    functionName: t1_hinter__intersect_curve_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - curve_log2_samples
    - intersect_curve_curve_rec
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__intersect_curve_curve(t1_hinter * self, int i, int
      j)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__intersect_bar_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:498,1
    - Dst: t1_hinter__intersect_curve_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:502,1
    - Dst: t1_hinter__intersect_curve_bar
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:511,1
    - Dst: t1_hinter__intersect_curve_curve
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:515,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - self
    - c0
    - c1
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 486
    functionDepth: 5
    functionLinenumber: 486
    functionLinenumberEnd: 524
    functionName: t1_hinter__contour_intersection
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - t1_hinter__intersect_curve_bar
    - t1_hinter__intersect_curve_curve
    - t1_hinter__intersect_bar_bar
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__contour_intersection(t1_hinter * self, int c0, int
      c1)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:568,1
    - Dst: line_area_2
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:604,1
    - Dst: bezier_area_2
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:608,1
    - Dst: t1_hinter__is_inside
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:630,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:667,1
    - Dst: t1_hinter__contour_intersection
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:685,1
    - Dst: t1_hinter__reverse_contour
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:695,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 120
    argCount: 3
    argNames:
    - self
    - first_contour
    - last_contour
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 528
    functionDepth: 6
    functionLinenumber: 528
    functionLinenumberEnd: 699
    functionName: t1_hinter__fix_subglyph_contour_signs
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - t1_hinter__is_inside
    - bezier_area_2
    - memset
    - t1_hinter__contour_intersection
    - t1_hinter__reverse_contour
    - line_area_2
    linkageType: ''
    returnType: void
    signature: void t1_hinter__fix_subglyph_contour_signs(t1_hinter * self, int first_contour,
      int last_contour)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__fix_subglyph_contour_signs
      Src: /src/libspectre/ghostscript/base/gxhintn1.c:721,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 701
    functionDepth: 7
    functionLinenumber: 701
    functionLinenumberEnd: 723
    functionName: t1_hinter__fix_contour_signs
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn1.c
    functionUses: 0
    functionsReached:
    - t1_hinter__fix_subglyph_contour_signs
    linkageType: ''
    returnType: void
    signature: void t1_hinter__fix_contour_signs(t1_hinter * self)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 4
    argNames:
    - pie
    - imd
    - format
    - decode
    argTypes:
    - gx_image_enum_common_t*
    - image_decode_t*
    - gs_image_format_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 69
    functionName: get_unpack_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gximdecode.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void get_unpack_proc(gx_image_enum_common_t *pie, image_decode_t *imd,
      \n                gs_image_format_t format, const float *decode)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: image_init_map
      Src: /src/libspectre/ghostscript/base/gximdecode.c:119,1
    - Dst: image_init_map
      Src: /src/libspectre/ghostscript/base/gximdecode.c:126,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximdecode.c:133,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximdecode.c:135,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 3
    argNames:
    - imd
    - format
    - decode
    argTypes:
    - image_decode_t*
    - gs_image_format_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 176
    functionName: get_map
    functionSourceFile: /src/libspectre/ghostscript/base/gximdecode.c
    functionUses: 1
    functionsReached:
    - image_init_map
    - memcpy
    linkageType: ''
    returnType: void
    signature: void get_map(image_decode_t *imd, gs_image_format_t format, const float
      *decode)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - map
    - psrc_in
    - spp
    - pdes
    - bufend
    argTypes:
    - sample_map[]
    - void*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: applymap8
    functionSourceFile: /src/libspectre/ghostscript/base/gximdecode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void applymap8(sample_map map[], const void *psrc_in, int spp, void
      *pdes,\n    void *bufend)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - map
    - psrc_in
    - spp
    - pdes
    - bufend
    argTypes:
    - sample_map[]
    - void*
    - int
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 249
    functionName: applymap16
    functionSourceFile: /src/libspectre/ghostscript/base/gximdecode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void applymap16(sample_map map[], const void *psrc_in, int spp, void
      *pdes,\n    void *bufend)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: capture_stdio
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void capture_stdio(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - prefix
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 45
    functionName: gp_open_scratch_file
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file(const gs_memory_t *mem,\n                     const
      char        *prefix,\n                     char              *fname,\n                     const
      char        *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - prnfno
    - binary
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: gp_set_printer_binary
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_set_printer_binary(int prnfno, int binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: gs_to_exit
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_to_exit(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - pn
    - ','
    - rn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: eprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf_program_ident(f, pn, rn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bench.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - file
    - line
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: lprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void lprintf_file_and_line(FILE * f, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: do10
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do10(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: iadd
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int iadd(int a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: imul
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int imul(int a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: idiv
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int idiv(int a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - float
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 120
    functionName: fadd
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int fadd(float a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - float
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: fmul
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int fmul(float a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do10
      Src: /src/libspectre/ghostscript/base/bench.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - float
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 144
    functionName: fdiv
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached:
    - do10
    linkageType: ''
    returnType: int
    signature: int fdiv(float a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - n
    - msg
    argTypes:
    - int
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: fconv
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fconv(int a, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - n
    - msg
    argTypes:
    - int*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: mfast
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfast(int *m, int n, char **msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - n
    - msg
    argTypes:
    - int*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: mslow
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mslow(int *m, int n, char **msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/bench.c:194,1
    - Dst: capture_stdio
      Src: /src/libspectre/ghostscript/base/bench.c:196,1
    - Dst: gp_get_usertime
      Src: /src/libspectre/ghostscript/base/bench.c:202,1
    - Dst: iadd
      Src: /src/libspectre/ghostscript/base/bench.c:205,1
    - Dst: imul
      Src: /src/libspectre/ghostscript/base/bench.c:208,1
    - Dst: idiv
      Src: /src/libspectre/ghostscript/base/bench.c:211,1
    - Dst: fadd
      Src: /src/libspectre/ghostscript/base/bench.c:214,1
    - Dst: fmul
      Src: /src/libspectre/ghostscript/base/bench.c:217,1
    - Dst: fdiv
      Src: /src/libspectre/ghostscript/base/bench.c:220,1
    - Dst: fconv
      Src: /src/libspectre/ghostscript/base/bench.c:223,1
    - Dst: mfast
      Src: /src/libspectre/ghostscript/base/bench.c:226,1
    - Dst: mslow
      Src: /src/libspectre/ghostscript/base/bench.c:229,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/bench.c:232,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bench.c:233,1
    - Dst: gp_get_usertime
      Src: /src/libspectre/ghostscript/base/bench.c:235,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bench.c:236,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bench.c:238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 190
    functionDepth: 5
    functionLinenumber: 190
    functionLinenumberEnd: 240
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/bench.c
    functionUses: 15
    functionsReached:
    - imul
    - idiv
    - fconv
    - exit
    - capture_stdio
    - mslow
    - malloc
    - free
    - fprintf
    - iadd
    - fflush
    - mfast
    - fdiv
    - fmul
    - fadd
    - gp_get_usertime
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: IS_LIBCTX_STDOUT
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LIBCTX_STDOUT(mem, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: IS_LIBCTX_STDERR
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_LIBCTX_STDERR(mem, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: private_st_pattern1_template
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pattern1_template()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: gs_client_pattern_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_client_pattern_init(ppat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pcc
    - ','
    - tile
    - ','
    - mask
    - ','
    - pgs
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: gs_makebitmappattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_makebitmappattern(pcc, tile, mask, pgs, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: eprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf1(str, arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: eprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - error
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: gs_note_error
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_note_error(error)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:74,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:74,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:80,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:87,1
    - Dst: CoInitializeEx
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:87,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:93,1
    - Dst: CreateEvent
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:95,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:105,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:109,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:111,1
    - Dst: StartXpsPrintJobPtr
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:111,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:134,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:136,1
    - Dst: CoCreateInstance
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:136,1
    - Dst: __uuidof
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:137,1
    - Dst: __uuidof
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:140,1
    - Dst: reinterpret_cast<void**>
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:141,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:151,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:155,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:157,1
    - Dst: IXpsOMObjectFactory*::CreatePackageFromFile
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:157,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:167,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:169,1
    - Dst: IXpsOMPackage*::WriteToStream
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:169,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:175,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:177,1
    - Dst: IXpsPrintJobStream*::Close
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:177,1
    - Dst: IXpsPrintJob*::Cancel
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:190,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:195,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:197,1
    - Dst: HRESULT_FROM_WIN32
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:199,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:199,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:204,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:206,1
    - Dst: IXpsPrintJob*::GetJobStatus
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:206,1
    - Dst: SUCCEEDED
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:213,1
    - Dst: IXpsOMFontResource*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:237,1
    - Dst: IXpsOMPage*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:243,1
    - Dst: IXpsOMPackageWriter*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:249,1
    - Dst: IOpcPartUri*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:255,1
    - Dst: IXpsOMObjectFactory*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:261,1
    - Dst: IXpsPrintJobStream*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:267,1
    - Dst: IXpsPrintJob*::Release
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:273,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:279,1
    - Dst: FreeLibrary
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:283,1
    - Dst: CoUninitialize
      Src: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp:284,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 135
    argCount: 3
    argNames:
    - filename
    - printername
    - result
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 287
    functionName: gp_xpsprint
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wxpsprn.cpp
    functionUses: 1
    functionsReached:
    - SUCCEEDED
    - IXpsOMFontResource*::Release
    - GetProcAddress
    - IXpsOMPackageWriter*::Release
    - IXpsPrintJob*::Release
    - reinterpret_cast<void**>
    - CoInitializeEx
    - __uuidof
    - IXpsPrintJob*::GetJobStatus
    - IOpcPartUri*::Release
    - CoCreateInstance
    - IXpsOMPage*::Release
    - HRESULT_FROM_WIN32
    - TEXT
    - IXpsOMPackage*::WriteToStream
    - IXpsOMObjectFactory*::Release
    - CoUninitialize
    - WaitForSingleObject
    - IXpsPrintJobStream*::Close
    - CreateEvent
    - StartXpsPrintJobPtr
    - MultiByteToWideChar
    - GetLastError
    - IXpsPrintJob*::Cancel
    - LoadLibrary
    - CloseHandle
    - FAILED
    - IXpsOMObjectFactory*::CreatePackageFromFile
    - IXpsPrintJobStream*::Release
    - FreeLibrary
    linkageType: ''
    returnType: int
    signature: int gp_xpsprint(char *filename, char *printername, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: cmap_proc_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_gray(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: cmap_proc_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_rgb(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: cmap_proc_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_cmyk(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: cmap_proc_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_rgb_alpha(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: cmap_proc_separation
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_separation(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: cmap_proc_devicen
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_devicen(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: cmap_proc_is_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmap_proc_is_halftoned(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: cm_map_proc_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cm_map_proc_gray(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: cm_map_proc_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cm_map_proc_rgb(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: cm_map_proc_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cm_map_proc_cmyk(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - cgray
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: gx_remap_concrete_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_gray(cgray, pdc, pgs, dev, select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - cr
    - ','
    - cg
    - ','
    - cb
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: gx_remap_concrete_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_rgb(cr, cg, cb, pdc, pgs, dev, select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - cc
    - ','
    - cm
    - ','
    - cy
    - ','
    - ck
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: gx_remap_concrete_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_cmyk(cc, cm, cy, ck, pdc, pgs, dev, select, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - cr
    - ','
    - cg
    - ','
    - cb
    - ','
    - ca
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: gx_remap_concrete_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_rgb_alpha(cr, cg, cb, ca, pdc, pgs, dev, select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pcc
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: gx_remap_concrete_separation
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_separation(pcc, pdc, pgs, dev, select, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pcc
    - ','
    - pdc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: gx_remap_concrete_devicen
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_remap_concrete_devicen(pcc, pdc, pgs, dev, select, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: dev_t_proc_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_color_mapping_procs(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: dev_proc_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_color_mapping_procs(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: dev_t_proc_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_color_comp_index(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: dev_proc_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_color_comp_index(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: dev_t_proc_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_encode_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: dev_proc_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_encode_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: dev_t_proc_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_decode_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: dev_proc_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_decode_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: color_swap_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_swap_bytes(color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: arrange_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arrange_bytes(color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: arrange_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arrange_bytes(color)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:61,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm32.c:63,1
    - Dst: arrange_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:64,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm32.c:65,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:73,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:80,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:87,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:94,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevm32.c:102,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:103,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:119,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 124
    functionName: mem_true32_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - arrange_bytes
    - declare_scan_ptr
    - memset
    - setup_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_true32_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: arrange_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:133,1
    - Dst: arrange_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:134,1
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:137,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm32.c:138,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm32.c:139,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm32.c:143,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:196,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm32.c:220,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 224
    functionName: mem_true32_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - arrange_bytes
    - declare_scan_ptr
    - setup_rect
    - min
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true32_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm32.c:234,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm32.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 237
    functionName: mem_true32_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true32_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_true32_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm32.c:262,1
    - Dst: color_swap_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: mem32_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - color_swap_bytes
    - mem_true32_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int mem32_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_true32_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm32.c:272,1
    - Dst: color_swap_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:273,1
    - Dst: color_swap_bytes
      Src: /src/libspectre/ghostscript/base/gdevm32.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: mem32_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - mem_true32_copy_mono
    - color_swap_bytes
    linkageType: ''
    returnType: int
    signature: "int mem32_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm32.c:287,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm32.c:288,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm32.c:290,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm32.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 294
    functionName: mem32_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm32.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem32_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encrypt_next
      Src: /src/libspectre/ghostscript/base/gscrypt1.c:32,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - src
    - len
    - pstate
    argTypes:
    - byte*
    - byte*
    - uint
    - crypt_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 37
    functionName: gs_type1_encrypt
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.c
    functionUses: 3
    functionsReached:
    - encrypt_next
    linkageType: ''
    returnType: int
    signature: int gs_type1_encrypt(byte * dest, const byte * src, uint len, crypt_state
      * pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decrypt_next
      Src: /src/libspectre/ghostscript/base/gscrypt1.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dest
    - src
    - len
    - pstate
    argTypes:
    - byte*
    - byte*
    - uint
    - crypt_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 57
    functionName: gs_type1_decrypt
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.c
    functionUses: 3
    functionsReached:
    - decrypt_next
    linkageType: ''
    returnType: int
    signature: int gs_type1_decrypt(byte * dest, const byte * src, uint len, crypt_state
      * pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(a, b, c, d, e, f, g, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ptr
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: put7
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put7(ptr, a, b, c, d, e, f, g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - wxyz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: putw
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putw(ptr, wxyz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: set_color56_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color56_cache(color, a, b, c, d, e, f, g)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: set_color56_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color56_cache(color, a, b, c, d, e, f, g)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm56.c:108,1
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:109,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevm56.c:116,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:117,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:124,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:125,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:129,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm56.c:129,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevm56.c:131,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:132,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:147,1
    - Dst: set_color56_cache
      Src: /src/libspectre/ghostscript/base/gdevm56.c:148,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:156,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevm56.c:158,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gdevm56.c:164,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:170,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm56.c:170,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:180,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:186,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:187,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:188,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:193,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:194,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:195,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:196,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:197,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:204,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:205,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:206,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:207,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:208,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:209,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:210,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:216,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:222,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:223,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:224,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:229,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:230,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:231,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:232,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm56.c:233,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:239,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm56.c:243,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevm56.c:243,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:244,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:255,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:268,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:281,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:289,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 172
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 299
    functionName: mem_true56_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - countof
    - INCR
    - set_color56_cache
    - memmove
    - max
    - declare_scan_ptr
    - memset
    - fit_fill_xywh
    - setup_rect
    - min
    - putw
    linkageType: ''
    returnType: int
    signature: "int mem_true56_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:312,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm56.c:314,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:315,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm56.c:321,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm56.c:322,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:333,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:335,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:342,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm56.c:346,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:368,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:378,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:380,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:382,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:384,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:388,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:390,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:392,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:394,1
    - Dst: put7
      Src: /src/libspectre/ghostscript/base/gdevm56.c:405,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm56.c:412,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 416
    functionName: mem_true56_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - put7
    - declare_unpack_color
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true56_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm56.c:426,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 429
    functionName: mem_true56_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true56_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm56.c:458,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm56.c:459,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:461,1
    - Dst: mem_true56_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm56.c:462,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 465
    functionName: mem56_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_true56_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem56_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm56.c:478,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm56.c:479,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:482,1
    - Dst: mem_true56_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm56.c:483,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 487
    functionName: mem56_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - mem_true56_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem56_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm56.c:499,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm56.c:500,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:502,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm56.c:503,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm56.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 507
    functionName: mem56_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm56.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem56_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: ptr_proc_unmark
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_proc_unmark(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: ptr_proc_mark
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_proc_mark(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: ptr_proc_reloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_proc_reloc(proc, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 146
    functionName: public_st_gc_root_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gc_root_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - mem
    - ','
    - msg
    - ','
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: if_debug_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug_root(c, mem, msg, rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: string_proc_reloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_proc_reloc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: const_string_proc_reloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: const_string_proc_reloc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: param_string_proc_reloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_string_proc_reloc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - gcst
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: gc_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_proc(gcst, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pstype
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: struct_type_name_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: struct_type_name_string(pstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: private_st_const_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_const_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: public_st_const_string_element
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_const_string_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 247
    functionName: GC_OBJ_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GC_OBJ_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: GC_OBJ_ELT2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GC_OBJ_ELT2(typ, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - typ
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: GC_OBJ_ELT3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GC_OBJ_ELT3(typ, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: GC_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GC_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: GC_CONST_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GC_CONST_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - elts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: BASIC_PTRS
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BASIC_PTRS(elts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - nelts
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: gs__st_basic_with_super_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_basic_with_super_final(scope_st, stname, stype, sname, nelts,
      elts, sdata, supst, supoff, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: gs__st_basic_super_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_basic_super_final(scope_st, stname, stype, sname, elts, sdata,
      supst, supoff, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: gs_public_st_basic_super_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_basic_super_final(stname, stype, sname, elts, sdata, supst,
      supoff, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: gs_private_st_basic_super_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_basic_super_final(stname, stype, sname, elts, sdata,
      supst, supoff, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: gs__st_basic_super
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_basic_super(scope_st, stname, stype, sname, elts, sdata, supst,
      supoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: gs_public_st_basic_super
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_basic_super(stname, stype, sname, elts, sdata, supst,
      supoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - supst
    - ','
    - supoff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: gs_private_st_basic_super
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_basic_super(stname, stype, sname, elts, sdata, supst,
      supoff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: gs__st_basic_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_basic_final(scope_st, stname, stype, sname, elts, sdata, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: gs_public_st_basic_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_basic_final(stname, stype, sname, elts, sdata, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: gs_private_st_basic_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_basic_final(stname, stype, sname, elts, sdata, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: gs__st_basic
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_basic(scope_st, stname, stype, sname, elts, sdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: gs_public_st_basic
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_basic(stname, stype, sname, elts, sdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - elts
    - ','
    - sdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: gs_private_st_basic
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_basic(stname, stype, sname, elts, sdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTRS_BEGIN_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 354
    functionName: ENUM_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTRS_BEGIN(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - stype_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTRS_WITH(proc, stype_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - optr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: ENUM_OBJ
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_OBJ(optr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sdata
    - ','
    - ssize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: ENUM_STRING2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_STRING2(sdata, ssize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: ENUM_STRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_STRING(sptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sdata
    - ','
    - ssize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: ENUM_CONST_STRING2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_CONST_STRING2(sdata, ssize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: ENUM_CONST_STRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_CONST_STRING(sptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: ENUM_NAME_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_NAME_INDEX(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: ENUM_BYTESTRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_BYTESTRING(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: ENUM_CONST_BYTESTRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_CONST_BYTESTRING(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: ENUM_OBJ_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_OBJ_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: ENUM_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: ENUM_PARAM_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PARAM_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 389
    functionName: ENUM_CONST_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_CONST_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 391
    functionName: ENUM_NAME_INDEX_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_NAME_INDEX_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: ENUM_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTR(i, typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: ENUM_PTR2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTR2(i, typ, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: ENUM_PTR3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PTR3(i, typ, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: ENUM_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_STRING_PTR(i, typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: ENUM_PARAM_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PARAM_STRING_PTR(i, typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: ENUM_CONST_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_CONST_STRING_PTR(i, typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PTRS_BEGIN(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - stype_ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 417
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PTRS_WITH(proc, stype_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: RELOC_OBJ
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_OBJ(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: RELOC_OBJ_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_OBJ_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: RELOC_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: RELOC_STRING_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_STRING_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: RELOC_CONST_STRING_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_CONST_STRING_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: RELOC_PARAM_STRING_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PARAM_STRING_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 435
    functionName: RELOC_BYTESTRING_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_BYTESTRING_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptrvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: RELOC_CONST_BYTESTRING_VAR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_CONST_BYTESTRING_VAR(ptrvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    functionName: RELOC_OBJ_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_OBJ_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: RELOC_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: RELOC_CONST_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_CONST_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: RELOC_PARAM_STRING_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PARAM_STRING_ELT(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - elt
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 454
    functionName: RELOC_OFFSET_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_OFFSET_ELT(typ, elt, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - elt
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: RELOC_TYPED_OFFSET_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_TYPED_OFFSET_ELT(typ, elt, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 462
    functionName: RELOC_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 464
    functionName: RELOC_PTR2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PTR2(typ, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - typ
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 466
    functionName: RELOC_PTR3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PTR3(typ, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - elt
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 466
    functionDepth: 0
    functionLinenumber: 466
    functionLinenumberEnd: 468
    functionName: RELOC_OFFSET_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_OFFSET_PTR(typ, elt, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - elt
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 470
    functionName: RELOC_TYPED_OFFSET_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_TYPED_OFFSET_PTR(typ, elt, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 472
    functionName: RELOC_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_STRING_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 474
    functionName: RELOC_CONST_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_CONST_STRING_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 476
    functionName: RELOC_PARAM_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PARAM_STRING_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - supst
    - ','
    - ptr
    - ','
    - size
    - ','
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 486
    functionName: ENUM_USING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_USING(supst, ptr, size, index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - supst
    - ','
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: RELOC_USING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_USING(supst, ptr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - supst
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: ENUM_USING_PREFIX
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_USING_PREFIX(supst, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - supst
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 500
    functionName: ENUM_PREFIX
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_PREFIX(supst, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - supst
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: RELOC_PREFIX
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_PREFIX(supst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stype
    - ','
    - supst
    - ','
    - member
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 510
    functionName: ENUM_SUPER_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_SUPER_ELT(stype, supst, member, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stype
    - ','
    - supst
    - ','
    - member
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: ENUM_SUPER
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_SUPER(stype, supst, member, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stype
    - ','
    - supst
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 515
    functionName: RELOC_SUPER_ELT
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_SUPER_ELT(stype, supst, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stype
    - ','
    - supst
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 517
    functionName: RELOC_SUPER
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RELOC_SUPER(stype, supst, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 521
    functionName: ENUM_RETURN
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_RETURN(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 522
    functionName: ENUM_RETURN_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_RETURN_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 523
    functionName: ENUM_RETURN_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_RETURN_STRING_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 524
    functionName: ENUM_RETURN_CONST_STRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_RETURN_CONST_STRING(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: ENUM_RETURN_CONST_STRING_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENUM_RETURN_CONST_STRING_PTR(typ, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: gs__st_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_simple(scope_st, stname, stype, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: gs_public_st_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_simple(stname, stype, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: gs_private_st_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_simple(stname, stype, sname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: gs__st_simple_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_simple_final(scope_st, stname, stype, sname, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 537
    functionDepth: 0
    functionLinenumber: 537
    functionLinenumberEnd: 539
    functionName: gs_public_st_simple_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_simple_final(stname, stype, sname, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: gs_private_st_simple_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_simple_final(stname, stype, sname, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: CLEAR_MARKS_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_MARKS_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: gs__st_complex_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_complex_only(scope_st, stname, stype, sname, pclear, penum,
      preloc, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: gs_public_st_complex_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_complex_only(stname, stype, sname, pclear, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 559
    functionName: gs_private_st_complex_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_complex_only(stname, stype, sname, pclear, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: gs__st_complex
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_complex(scope_st, stname, stype, sname, pclear, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: gs_public_st_complex
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_complex(stname, stype, sname, pclear, penum, preloc, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - pclear
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: gs_private_st_complex
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_complex(stname, stype, sname, pclear, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 577
    functionName: gs__st_composite
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_composite(scope_st, stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 579
    functionName: gs_public_st_composite
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_composite(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 581
    functionName: gs_private_st_composite
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_composite(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: gs__st_composite_use_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_composite_use_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 590
    functionName: gs_public_st_composite_use_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_composite_use_final(stname, stype, sname, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 592
    functionName: gs_private_st_composite_use_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_composite_use_final(stname, stype, sname, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 598
    functionName: gs__st_composite_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_composite_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 600
    functionName: gs_public_st_composite_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_composite_final(stname, stype, sname, penum, preloc, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 602
    functionName: gs_private_st_composite_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_composite_final(stname, stype, sname, penum, preloc,
      pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 608
    functionName: gs__st_composite_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_composite_only(scope_st, stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: gs_public_st_composite_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_composite_only(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 612
    functionName: gs_private_st_composite_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_composite_only(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 632
    functionName: gs__st_element
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_element(scope_st, stname, stype, sname, penum, preloc, basest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: gs_public_st_element
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_element(stname, stype, sname, penum, preloc, basest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 636
    functionName: gs_private_st_element
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_element(stname, stype, sname, penum, preloc, basest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 0
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: gs__st_element_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_element_final(scope_st, stname, stype, sname, penum, preloc,
      basest, pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 652
    functionName: gs_public_st_element_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_element_final(stname, stype, sname, penum, preloc, basest,pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - basest
    - ','
    - pfinal
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 652
    functionDepth: 0
    functionLinenumber: 652
    functionLinenumberEnd: 654
    functionName: gs_private_st_element_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_element_final(stname, stype, sname, penum, preloc, basest,pfinal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 667
    functionName: gs__st_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptr(scope_st, stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 669
    functionName: gs_public_st_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptr(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 669
    functionDepth: 0
    functionLinenumber: 669
    functionLinenumberEnd: 671
    functionName: gs_private_st_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptr(stname, stype, sname, penum, preloc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 683
    functionName: gs__st_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs1(scope_st, stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 685
    functionName: gs_public_st_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 687
    functionName: gs_private_st_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 693
    functionName: gs__st_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs1_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 696
    functionName: gs_public_st_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs1_final(stname, stype, sname, penum, preloc, pfinal,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 697
    functionDepth: 0
    functionLinenumber: 697
    functionLinenumberEnd: 699
    functionName: gs_private_st_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs1_final(stname, stype, sname, penum, preloc, pfinal,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 707
    functionName: gs__st_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_strings1(scope_st, stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 709
    functionName: gs_public_st_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_strings1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 711
    functionName: gs_private_st_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_strings1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: gs__st_const_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_const_strings1(scope_st, stname, stype, sname, penum, preloc,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 721
    functionName: gs_public_st_const_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_const_strings1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 723
    functionName: gs_private_st_const_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_const_strings1(stname, stype, sname, penum, preloc, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: gs__st_const_strings2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_const_strings2(scope_st, stname, stype, sname, penum, preloc,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 733
    functionName: gs_public_st_const_strings2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_const_strings2(stname, stype, sname, penum, preloc, e1,
      e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 735
    functionName: gs_private_st_const_strings2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_const_strings2(stname, stype, sname, penum, preloc, e1,
      e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 743
      start: 738
    functionDepth: 0
    functionLinenumber: 738
    functionLinenumberEnd: 743
    functionName: gs__st_ptrs2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs2(scope_st, stname, stype, sname, penum, preloc, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 745
    functionName: gs_public_st_ptrs2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs2(stname, stype, sname, penum, preloc, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 747
    functionName: gs_private_st_ptrs2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs2(stname, stype, sname, penum, preloc, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 753
    functionName: gs__st_ptrs2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs2_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 756
    functionName: gs_public_st_ptrs2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs2_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 759
    functionName: gs_private_st_ptrs2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs2_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 767
    functionName: gs__st_ptrs3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs3(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: gs_public_st_ptrs3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs3(stname, stype, sname, penum, preloc, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 771
    functionName: gs_private_st_ptrs3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs3(stname, stype, sname, penum, preloc, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 772
    functionDepth: 0
    functionLinenumber: 772
    functionLinenumberEnd: 777
    functionName: gs__st_ptrs3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs3_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 779
    functionName: gs_public_st_ptrs3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs3_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 781
    functionName: gs_private_st_ptrs3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs3_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: gs__st_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs4(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 791
    functionName: gs_public_st_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs4(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 793
    functionName: gs_private_st_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs4(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 799
    functionName: gs__st_ptrs4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs4_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 801
    functionName: gs_public_st_ptrs4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs4_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 803
    functionName: gs_private_st_ptrs4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs4_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 811
    functionName: gs__st_ptrs5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs5(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 813
    functionName: gs_public_st_ptrs5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs5(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 815
    functionName: gs_private_st_ptrs5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs5(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 821
    functionName: gs__st_ptrs5_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs5_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 823
    functionName: gs_public_st_ptrs5_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs5_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 825
    functionName: gs_private_st_ptrs5_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs5_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 833
    functionName: gs__st_ptrs6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs6(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: gs_public_st_ptrs6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs6(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 835
    functionDepth: 0
    functionLinenumber: 835
    functionLinenumberEnd: 837
    functionName: gs_private_st_ptrs6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs6(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 843
    functionName: gs__st_ptrs6_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs6_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 845
    functionName: gs_public_st_ptrs6_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs6_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 847
    functionName: gs_private_st_ptrs6_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs6_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: gs__st_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs7(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 857
    functionName: gs_public_st_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs7(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 859
    functionName: gs_private_st_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs7(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 865
    functionName: gs__st_ptrs7_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs7_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 867
    functionName: gs_public_st_ptrs7_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs7_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 869
    functionName: gs_private_st_ptrs7_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs7_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 872
    functionDepth: 0
    functionLinenumber: 872
    functionLinenumberEnd: 877
    functionName: gs__st_ptrs8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs8(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 879
    functionName: gs_public_st_ptrs8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs8(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionName: gs_private_st_ptrs8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs8(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 887
    functionName: gs__st_ptrs8_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs8_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 889
    functionName: gs_public_st_ptrs8_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs8_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 891
    functionName: gs_private_st_ptrs8_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs8_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 899
    functionName: gs__st_ptrs9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs9(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: gs_public_st_ptrs9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs9(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 903
    functionName: gs_private_st_ptrs9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs9(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 909
    functionName: gs__st_ptrs9_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs9_final(scope_st, stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 911
    functionName: gs_public_st_ptrs9_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs9_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 913
    functionName: gs_private_st_ptrs9_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs9_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 921
    functionName: gs__st_ptrs10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs10(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionName: gs_public_st_ptrs10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs10(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 925
    functionName: gs_private_st_ptrs10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs10(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 931
    functionName: gs__st_ptrs10_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs10_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 933
    functionName: gs_public_st_ptrs10_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs10_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 933
    functionDepth: 0
    functionLinenumber: 933
    functionLinenumberEnd: 935
    functionName: gs_private_st_ptrs10_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs10_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: gs__st_ptrs11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs11(scope_st, stname, stype, sname, penum, preloc, e1, e2,
      e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: gs_public_st_ptrs11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs11(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 947
    functionName: gs_private_st_ptrs11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs11(stname, stype, sname, penum, preloc, e1, e2, e3,
      e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 953
    functionName: gs__st_ptrs11_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs11_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 955
    functionName: gs_public_st_ptrs11_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs11_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: gs_private_st_ptrs11_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs11_final(stname, stype, sname, penum, preloc, pfinal,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 965
    functionName: gs__st_const_strings1_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_const_strings1_ptrs1(scope_st, stname, stype, sname, penum,
      preloc, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 967
    functionName: gs_public_st_const_strings1_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_const_strings1_ptrs1(stname, stype, sname, penum, preloc,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: gs_private_st_const_strings1_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_const_strings1_ptrs1(stname, stype, sname, penum, preloc,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 975
    functionName: gs__st_const_strings1_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_const_strings1_ptrs1_final(scope_st, stname, stype, sname, penum,
      preloc, pfinal, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 975
    functionDepth: 0
    functionLinenumber: 975
    functionLinenumberEnd: 977
    functionName: gs_public_st_const_strings1_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_const_strings1_ptrs1_final(stname, stype, sname, penum,
      preloc, pfinal, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 979
    functionName: gs_private_st_const_strings1_ptrs1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_const_strings1_ptrs1_final(stname, stype, sname, penum,
      preloc, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 988
    functionName: gs__st_strings1_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_strings1_ptrs4(scope_st, stname, stype, sname, penum, preloc,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: gs_public_st_strings1_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_strings1_ptrs4(stname, stype, sname, penum, preloc, e1,
      e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 992
    functionName: gs_private_st_strings1_ptrs4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_strings1_ptrs4(stname, stype, sname, penum, preloc, e1,
      e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1001
    functionName: gs__st_strings1_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_strings1_ptrs7(scope_st, stname, stype, sname, penum, preloc,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1003
    functionName: gs_public_st_strings1_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_strings1_ptrs7(stname, stype, sname, penum, preloc, e1,
      e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1005
    functionName: gs_private_st_strings1_ptrs7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_strings1_ptrs7(stname, stype, sname, penum, preloc, e1,
      e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1012
    functionName: gs__st_suffix_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add0(scope_st, stname, stype, sname, penum, preloc, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1014
    functionName: gs_public_st_suffix_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add0(stname, stype, sname, penum, preloc, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1016
    functionName: gs_private_st_suffix_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add0(stname, stype, sname, penum, preloc, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - supenum
    - ','
    - supreloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1027
    functionName: gs__st_suffix_add0_local
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add0_local(scope_st, stname, stype, sname, supenum, supreloc,
      supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - supenum
    - ','
    - supreloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1029
    functionName: gs_public_st_suffix_add0_local
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add0_local(stname, stype, sname, supenum, supreloc,
      supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - supenum
    - ','
    - supreloc
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1031
    functionName: gs_private_st_suffix_add0_local
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add0_local(stname, stype, sname, supenum, supreloc,
      supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1037
    functionDepth: 0
    functionLinenumber: 1037
    functionLinenumberEnd: 1045
    functionName: gs__st_suffix_add0_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add0_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1047
    functionName: gs_public_st_suffix_add0_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add0_final(stname, stype, sname, penum, preloc,
      pfinal, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1047
    functionDepth: 0
    functionLinenumber: 1047
    functionLinenumberEnd: 1049
    functionName: gs_private_st_suffix_add0_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add0_final(stname, stype, sname, penum, preloc,
      pfinal, supstname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1057
    functionName: gs__st_suffix_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add1(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1059
    functionName: gs_public_st_suffix_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add1(stname, stype, sname, penum, preloc, supstname,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1061
    functionName: gs_private_st_suffix_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add1(stname, stype, sname, penum, preloc, supstname,
      e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1070
    functionName: gs__st_suffix_add1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add1_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1072
    functionName: gs_public_st_suffix_add1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add1_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionName: gs_private_st_suffix_add1_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add1_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1082
    functionName: gs__st_suffix_add_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add_strings1(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1084
    functionName: gs_public_st_suffix_add_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add_strings1(stname, stype, sname, penum, preloc,
      supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1086
    functionName: gs_private_st_suffix_add_strings1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add_strings1(stname, stype, sname, penum, preloc,
      supstname, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: gs__st_suffix_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add2(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1096
    functionName: gs_public_st_suffix_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add2(stname, stype, sname, penum, preloc, supstname,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1098
    functionName: gs_private_st_suffix_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add2(stname, stype, sname, penum, preloc, supstname,
      e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1101
    functionDepth: 0
    functionLinenumber: 1101
    functionLinenumberEnd: 1107
    functionName: gs__st_suffix_add1_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add1_string1(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1109
    functionName: gs_public_st_suffix_add1_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add1_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1111
    functionName: gs_private_st_suffix_add1_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add1_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1119
    functionName: gs__st_suffix_add2_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add2_string1(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1121
    functionName: gs_public_st_suffix_add2_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add2_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1121
    functionDepth: 0
    functionLinenumber: 1121
    functionLinenumberEnd: 1123
    functionName: gs_private_st_suffix_add2_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add2_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1132
    functionName: gs__st_suffix_add2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add2_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1134
    functionName: gs_public_st_suffix_add2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add2_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1136
    functionName: gs_private_st_suffix_add2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add2_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    functionName: gs__st_suffix_string2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_string2_final(scope_st, stname, stype, sname, penum,
      preloc, pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1145
    functionName: gs_public_st_suffix_string2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_string2_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1147
    functionName: gs_private_st_suffix_string2_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_string2_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1155
    functionName: gs__st_suffix_add3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add3(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1157
    functionName: gs_public_st_suffix_add3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add3(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1159
    functionName: gs_private_st_suffix_add3
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add3(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1168
    functionName: gs__st_suffix_add3_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add3_string1(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1170
    functionName: gs_public_st_suffix_add3_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add3_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: gs_private_st_suffix_add3_string1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add3_string1(stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1181
    functionName: gs__st_suffix_add3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add3_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1183
    functionName: gs_public_st_suffix_add3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add3_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1185
    functionName: gs_private_st_suffix_add3_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add3_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1188
    functionDepth: 0
    functionLinenumber: 1188
    functionLinenumberEnd: 1193
    functionName: gs__st_suffix_add4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add4(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1195
    functionName: gs_public_st_suffix_add4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add4(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1197
    functionName: gs_private_st_suffix_add4
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add4(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1206
    functionName: gs__st_suffix_add4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add4_final(scope_st, stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1208
    functionName: gs_public_st_suffix_add4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add4_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - pfinal
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1210
    functionName: gs_private_st_suffix_add4_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add4_final(stname, stype, sname, penum, preloc,
      pfinal, supstname, e1, e2, e3, e4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1218
    functionName: gs__st_suffix_add5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add5(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1220
    functionName: gs_public_st_suffix_add5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add5(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1222
    functionName: gs_private_st_suffix_add5
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add5(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1230
    functionName: gs__st_suffix_add6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add6(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: gs_public_st_suffix_add6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add6(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1234
    functionName: gs_private_st_suffix_add6
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add6(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1237
    functionDepth: 0
    functionLinenumber: 1237
    functionLinenumberEnd: 1243
    functionName: gs__st_suffix_add7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add7(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1245
    functionName: gs_public_st_suffix_add7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add7(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1247
    functionName: gs_private_st_suffix_add7
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add7(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1250
    functionDepth: 0
    functionLinenumber: 1250
    functionLinenumberEnd: 1256
    functionName: gs__st_suffix_add8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add8(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1258
    functionName: gs_public_st_suffix_add8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add8(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1258
    functionDepth: 0
    functionLinenumber: 1258
    functionLinenumberEnd: 1260
    functionName: gs_private_st_suffix_add8
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add8(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1269
    functionName: gs__st_suffix_add9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add9(scope_st, stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1271
    functionName: gs_public_st_suffix_add9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add9(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1273
    functionName: gs_private_st_suffix_add9
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add9(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1282
    functionName: gs__st_suffix_add10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add10(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 0
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: gs_public_st_suffix_add10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add10(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1284
    functionDepth: 0
    functionLinenumber: 1284
    functionLinenumberEnd: 1286
    functionName: gs_private_st_suffix_add10
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add10(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 37
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1295
    functionName: gs__st_suffix_add11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_suffix_add11(scope_st, stname, stype, sname, penum, preloc,
      supstname, e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1297
    functionName: gs_public_st_suffix_add11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_suffix_add11(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 35
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - e1
    - ','
    - e2
    - ','
    - e3
    - ','
    - e4
    - ','
    - e5
    - ','
    - e6
    - ','
    - e7
    - ','
    - e8
    - ','
    - e9
    - ','
    - e10
    - ','
    - e11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: gs_private_st_suffix_add11
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_suffix_add11(stname, stype, sname, penum, preloc, supstname,
      e1, e2, e3, e4, e5, e6, e7, e8, e9, e10, e11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1306
    functionName: gs__st_ptrs_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs_add0(scope_st, stname, stype, sname, penum, preloc, supstname,
      member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1308
    functionName: gs_public_st_ptrs_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs_add0(stname, stype, sname, penum, preloc, supstname,
      member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1308
    functionDepth: 0
    functionLinenumber: 1308
    functionLinenumberEnd: 1310
    functionName: gs_private_st_ptrs_add0
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs_add0(stname, stype, sname, penum, preloc, supstname,
      member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1318
    functionName: gs__st_ptrs_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs_add1(scope_st, stname, stype, sname, penum, preloc, supstname,
      member, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1318
    functionDepth: 0
    functionLinenumber: 1318
    functionLinenumberEnd: 1320
    functionName: gs_public_st_ptrs_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs_add1(stname, stype, sname, penum, preloc, supstname,
      member, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1322
    functionName: gs_private_st_ptrs_add1
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs_add1(stname, stype, sname, penum, preloc, supstname,
      member, e1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1325
    functionDepth: 0
    functionLinenumber: 1325
    functionLinenumberEnd: 1330
    functionName: gs__st_ptrs_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_ptrs_add2(scope_st, stname, stype, sname, penum, preloc, supstname,
      member, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1330
    functionDepth: 0
    functionLinenumber: 1330
    functionLinenumberEnd: 1332
    functionName: gs_public_st_ptrs_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_public_st_ptrs_add2(stname, stype, sname, penum, preloc, supstname,
      member, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - supstname
    - ','
    - member
    - ','
    - e1
    - ','
    - e2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1332
    functionDepth: 0
    functionLinenumber: 1332
    functionLinenumberEnd: 1334
    functionName: gs_private_st_ptrs_add2
    functionSourceFile: /src/libspectre/ghostscript/base/gsstruct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_ptrs_add2(stname, stype, sname, penum, preloc, supstname,
      member, e1, e2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: intdos
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: intdos(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/base/gp_os2.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/base/gp_os2.c:119,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:120,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 131
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 3
    functionsReached:
    - printf
    - lprintf
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_os2.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 2
    functionsReached:
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:159,1
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_os2.c:160,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: gp_file_is_console
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - fileno
    - intdos
    linkageType: ''
    returnType: bool
    signature: bool gp_file_is_console(FILE * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/libspectre/ghostscript/base/gp_os2.c:194,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:195,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:197,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:199,1
    - Dst: _emxload_env
      Src: /src/libspectre/ghostscript/base/gp_os2.c:211,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/base/gp_os2.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 216
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - signal
    - strlen
    - _emxload_env
    - malloc
    - DosGetInfoBlocks
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:223,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_os2.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: handle_FPE
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - exit
    - eprintf
    linkageType: ''
    returnType: void
    signature: void handle_FPE(int sig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 237
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_os2.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_os2.c:261,1
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_os2.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - prnfno
    - binary
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 273
    functionName: gp_set_file_binary
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - intdos
    linkageType: ''
    returnType: void
    signature: void gp_set_file_binary(int prnfno, int binary)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:293,1
    - Dst: is_os2_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:293,1
    - Dst: pm_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:296,1
    - Dst: gp_open_scratch_file_impl
      Src: /src/libspectre/ghostscript/base/gp_os2.c:298,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:304,1
    - Dst: popen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:308,1
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gp_os2.c:312,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:326,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:328,1
    - Dst: is_os2_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:328,1
    - Dst: pm_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:330,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_os2.c:331,1
    - Dst: gp_set_file_binary
      Src: /src/libspectre/ghostscript/base/gp_os2.c:341,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:341,1
    - Dst: SplEnumQueue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:371,1
    - Dst: DosAllocMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:375,1
    - Dst: SplEnumQueue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:378,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:389,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:391,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_os2.c:393,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:400,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:401,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:407,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:409,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:414,1
    - Dst: emprintf4
      Src: /src/libspectre/ghostscript/base/gp_os2.c:420,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/base/gp_os2.c:442,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:468,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:470,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:475,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:477,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:478,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:484,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:485,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:488,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:489,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:490,1
    - Dst: DosAllocMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:494,1
    - Dst: SplQmOpen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:507,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:509,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:510,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:511,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:512,1
    - Dst: SplQmStartDoc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:515,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:517,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:518,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:519,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:520,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gp_os2.c:524,1
    - Dst: SplQmWrite
      Src: /src/libspectre/ghostscript/base/gp_os2.c:525,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:527,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:529,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:530,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:533,1
    - Dst: SplQmAbort
      Src: /src/libspectre/ghostscript/base/gp_os2.c:534,1
    - Dst: SplQmEndDoc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:536,1
    - Dst: SplQmClose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:537,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:539,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:542,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:543,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gp_os2.c:577,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/gp_os2.c:586,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:594,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/base/gp_os2.c:598,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/base/gp_os2.c:601,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 170
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 602
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - pm_spool
    - gp_open_scratch_file_impl
    - strlen
    - SplQmClose
    - DosAllocMem
    - DosFreeMem
    - emprintf
    - fseek
    - pm_find_queue
    - fclose
    - popen
    - tolower
    - gp_fopen_impl
    - is_os2_spool
    - fread
    - strcmp
    - SplQmEndDoc
    - unlink
    - SplQmWrite
    - gp_set_file_binary
    - malloc
    - free
    - ftell
    - SplEnumQueue
    - fopen
    - emprintf4
    - fstat
    - gp_fopen
    - SplQmOpen
    - SplQmStartDoc
    - fileno
    - strcpy
    - emprintf1
    - gp_fclose
    - SplQmAbort
    - S_ISREG
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     int
      \         (**close)(FILE *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:326,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:328,1
    - Dst: is_os2_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:328,1
    - Dst: pm_spool
      Src: /src/libspectre/ghostscript/base/gp_os2.c:330,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_os2.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - pm_spool
    - strlen
    - unlink
    - gp_fclose
    - is_os2_spool
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file *pfile, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_set_file_binary
      Src: /src/libspectre/ghostscript/base/gp_os2.c:341,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pfile
    - binary
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - gp_set_file_binary
    - fileno
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool binary)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: SplEnumQueue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:371,1
    - Dst: DosAllocMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:375,1
    - Dst: SplEnumQueue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:378,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:389,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:391,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_os2.c:393,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:400,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:401,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:407,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:409,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:414,1
    - Dst: emprintf4
      Src: /src/libspectre/ghostscript/base/gp_os2.c:420,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - mem
    - queue_name
    - driver_name
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 429
    functionName: pm_find_queue
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strlen
    - strcpy
    - emprintf1
    - DosAllocMem
    - DosFreeMem
    - SplEnumQueue
    - emprintf4
    linkageType: ''
    returnType: int
    signature: int pm_find_queue(const gs_memory_t *mem, char *queue_name, char *driver_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libspectre/ghostscript/base/gp_os2.c:442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - queue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: is_os2_spool
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 2
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int is_os2_spool(const char *queue)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:468,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2.c:470,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:475,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:477,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2.c:478,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:484,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:485,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:488,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:489,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_os2.c:490,1
    - Dst: DosAllocMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:494,1
    - Dst: SplQmOpen
      Src: /src/libspectre/ghostscript/base/gp_os2.c:507,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:509,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:510,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:511,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:512,1
    - Dst: SplQmStartDoc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:515,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:517,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gp_os2.c:518,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:519,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:520,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gp_os2.c:524,1
    - Dst: SplQmWrite
      Src: /src/libspectre/ghostscript/base/gp_os2.c:525,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:527,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:529,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:530,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:533,1
    - Dst: SplQmAbort
      Src: /src/libspectre/ghostscript/base/gp_os2.c:534,1
    - Dst: SplQmEndDoc
      Src: /src/libspectre/ghostscript/base/gp_os2.c:536,1
    - Dst: SplQmClose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:537,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2.c:539,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2.c:542,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2.c:543,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 3
    argNames:
    - mem
    - filename
    - queue
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 547
    functionName: pm_spool
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 2
    functionsReached:
    - SplQmStartDoc
    - fread
    - fclose
    - SplQmEndDoc
    - strlen
    - strcpy
    - emprintf1
    - malloc
    - DosAllocMem
    - free
    - emprintf
    - DosFreeMem
    - SplQmWrite
    - SplQmOpen
    - SplQmAbort
    - SplQmClose
    - gp_fopen
    - pm_find_queue
    linkageType: ''
    returnType: int
    signature: int pm_spool(const gs_memory_t *mem, char *filename, const char *queue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gp_os2.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 578
    functionName: gp_ftell_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - ftell
    linkageType: ''
    returnType: int64_t
    signature: int64_t gp_ftell_impl(FILE *strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/gp_os2.c:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - strm
    - offset
    - origin
    argTypes:
    - FILE*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 587
    functionName: gp_fseek_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_os2.c:594,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/base/gp_os2.c:598,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/base/gp_os2.c:601,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 602
    functionName: gp_fseekable_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2.c
    functionUses: 0
    functionsReached:
    - S_ISREG
    - fileno
    - fstat
    linkageType: ''
    returnType: bool
    signature: bool gp_fseekable_impl(FILE *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_label
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:114,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:114,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:130,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:130,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 110
    functionDepth: 5
    functionLinenumber: 110
    functionLinenumberEnd: 137
    functionName: gs_malloc_memory_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - Memento_label
    - gx_monitor_alloc
    - malloc
    - free
    - gx_monitor_label
    linkageType: ''
    returnType: gs_malloc_memory_t
    signature: 'gs_malloc_memory_t *

      gs_malloc_memory_init(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:153,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:155,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:160,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 145
    functionDepth: 5
    functionLinenumber: 145
    functionLinenumberEnd: 162
    functionName: heap_available
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - if_debug2
    linkageType: ''
    returnType: long
    signature: long heap_available()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:182,1
    - Dst: set_msg
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:185,1
    - Dst: set_msg
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:190,1
    - Dst: Memento_label
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:191,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:191,1
    - Dst: set_msg
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:192,1
    - Dst: set_msg
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:202,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:218,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:221,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:223,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:224,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 165
    functionDepth: 5
    functionLinenumber: 165
    functionLinenumberEnd: 229
    functionName: gs_heap_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - set_msg
    - Memento_label
    - gx_monitor_leave
    - gx_monitor_enter
    - gs_debug_c
    - malloc
    - dmlprintf6
    - gs_alloc_fill
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gs_heap_alloc_bytes(gs_memory_t * mem, size_t size, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: set_msg
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_msg(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: set_msg
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_msg(str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:235,1
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 230
    functionDepth: 6
    functionLinenumber: 230
    functionLinenumberEnd: 241
    functionName: gs_heap_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_struct_type_size
    - gs_heap_alloc_bytes
    linkageType: ''
    returnType: void
    signature: "void *\ngs_heap_alloc_struct(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                     client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 242
    functionDepth: 6
    functionLinenumber: 242
    functionLinenumberEnd: 251
    functionName: gs_heap_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_heap_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_heap_alloc_byte_array(gs_memory_t * mem, size_t num_elements,
      size_t elt_size,\n                         client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:257,1
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 252
    functionDepth: 7
    functionLinenumber: 252
    functionLinenumberEnd: 264
    functionName: gs_heap_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_struct_type_size
    - gs_heap_alloc_byte_array
    linkageType: ''
    returnType: void
    signature: "void *\ngs_heap_alloc_struct_array(gs_memory_t * mem, size_t num_elements,\n
      \                          gs_memory_type_ptr_t pstype, client_name_t cname)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:272,1
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:274,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:281,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:285,1
    - Dst: gs_realloc
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:288,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:291,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:304,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:306,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - mem
    - obj
    - new_num_elements
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 309
    functionName: gs_heap_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    - gx_monitor_leave
    - gs_struct_type_size
    - gs_object_size
    - gs_realloc
    - gs_alloc_fill
    linkageType: ''
    returnType: void
    signature: "void *\ngs_heap_resize_object(gs_memory_t * mem, void *obj, size_t
      new_num_elements,\n                      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: gs_heap_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gs_heap_object_size(gs_memory_t * mem, const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: gs_heap_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_type_ptr_t
    signature: gs_memory_type_ptr_t gs_heap_object_type(const gs_memory_t * mem, const
      void *ptr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: struct_proc_finalize
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:326,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:328,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:329,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:336,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:337,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:338,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:342,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:362,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:363,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:365,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:377,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:378,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:380,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:396,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:397,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:399,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:405,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:406,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:407,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:408,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 3
    argNames:
    - mem
    - ptr
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 411
    functionName: gs_heap_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    - gx_monitor_leave
    - struct_proc_finalize
    - if_debug3m
    - client_name_string
    - struct_type_name_string
    - lprintf2
    - free
    - gs_alloc_fill
    linkageType: ''
    returnType: void
    signature: void gs_heap_free_object(gs_memory_t * mem, void *ptr, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 412
    functionDepth: 6
    functionLinenumber: 412
    functionLinenumberEnd: 416
    functionName: gs_heap_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_heap_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gs_heap_alloc_string(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_object_type
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:421,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:422,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:423,1
    - Dst: gs_heap_resize_object
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - mem
    - data
    - old_num
    - new_num
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 425
    functionName: gs_heap_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_heap_object_type
    - client_name_string
    - gs_heap_resize_object
    - lprintf2
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_heap_resize_string(gs_memory_t * mem, byte * data, size_t
      old_num, size_t new_num,\n                      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_heap_free_object
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: gs_heap_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_heap_free_object
    linkageType: ''
    returnType: void
    signature: "void gs_heap_free_string(gs_memory_t * mem, byte * data, size_t nbytes,\n
      \                   client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - rp
    - ptype
    - up
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t**
    - gs_ptr_type_t
    - void**
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 438
    functionName: gs_heap_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gs_heap_register_root(gs_memory_t * mem, gs_gc_root_t ** rp,\n
      \                     gs_ptr_type_t ptype, void **up, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mem
    - rp
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: gs_heap_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_heap_unregister_root(gs_memory_t * mem, gs_gc_root_t * rp,\n
      \                       client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: gs_heap_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_heap_stable(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: heap_available
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_memory_t*
    - gs_memory_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 455
    functionDepth: 6
    functionLinenumber: 455
    functionLinenumberEnd: 464
    functionName: gs_heap_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - heap_available
    linkageType: ''
    returnType: void
    signature: void gs_heap_status(gs_memory_t * mem, gs_memory_status_t * pstat)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - enable
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 474
    functionName: gs_heap_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_heap_enable_free(gs_memory_t * mem, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - ptr
    - type
    argTypes:
    - gs_memory_t*
    - void*
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 483
    functionName: gs_heap_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_heap_set_object_type(gs_memory_t *mem, void *ptr, gs_memory_type_ptr_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem
    - defer
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: gs_heap_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_heap_defer_frees(gs_memory_t *mem, int defer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:503,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:513,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:514,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:516,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:517,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:522,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - mem
    - free_mask
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 523
    functionName: gs_heap_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - client_name_string
    - free
    - gx_monitor_free
    - gs_alloc_fill
    linkageType: ''
    returnType: void
    signature: void gs_heap_free_all(gs_memory_t * mem, uint free_mask, client_name_t
      cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:540,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:544,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:545,1
    - Dst: gs_memory_retrying_init
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:547,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:549,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - wrapped
    - contents
    argTypes:
    - gs_memory_t**
    - gs_malloc_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 558
    functionName: gs_malloc_wrap
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - gs_memory_retrying_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_malloc_wrap(gs_memory_t **wrapped, gs_malloc_memory_t *contents)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_retrying_target
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - wrapped
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: gs_malloc_wrapped_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_memory_retrying_target
    linkageType: ''
    returnType: gs_malloc_memory_t
    signature: 'gs_malloc_memory_t *

      gs_malloc_wrapped_contents(gs_memory_t *wrapped)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_retrying_target
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wrapped
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 586
    functionName: gs_malloc_unwrap
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_memory_retrying_target
    linkageType: ''
    returnType: gs_malloc_memory_t
    signature: 'gs_malloc_memory_t *

      gs_malloc_unwrap(gs_memory_t *wrapped)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc_init_with_context
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: gs_malloc_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 0
    functionsReached:
    - gs_malloc_init_with_context
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_malloc_init(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc_memory_init
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:598,1
    - Dst: gs_lib_ctx_init
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:604,1
    - Dst: gs_malloc_release
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:605,1
    - Dst: gs_malloc_wrap
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:610,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - gs_lib_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 595
    functionDepth: 6
    functionLinenumber: 595
    functionLinenumberEnd: 616
    functionName: gs_malloc_init_with_context
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 1
    functionsReached:
    - gs_malloc_wrap
    - gs_malloc_memory_init
    - gs_lib_ctx_init
    - gs_malloc_release
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_malloc_init_with_context(gs_lib_ctx_t *ctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc_unwrap
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:628,1
    - Dst: gs_lib_ctx_fin
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:632,1
    - Dst: gs_malloc_memory_release
      Src: /src/libspectre/ghostscript/base/gsmalloc.c:634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 635
    functionName: gs_malloc_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.c
    functionUses: 1
    functionsReached:
    - gs_malloc_memory_release
    - gs_malloc_unwrap
    - gs_lib_ctx_fin
    linkageType: ''
    returnType: void
    signature: void gs_malloc_release(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbs
    - ','
    - dat
    - ','
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: gs_bytestring_from_string
    functionSourceFile: /src/libspectre/ghostscript/base/gstypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_bytestring_from_string(pbs, dat, siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pbs
    - ','
    - byts
    - ','
    - offset
    - ','
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: gs_bytestring_from_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gstypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_bytestring_from_bytes(pbs, byts, offset, siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - width
    - ','
    - target_num_components
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: ESTIMATED_PDF14_ROW_SIZE
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ESTIMATED_PDF14_ROW_SIZE(width, target_num_components, bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - width
    - ','
    - target_num_components
    - ','
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    functionName: ESTIMATED_PDF14_ROW_SPACE
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ESTIMATED_PDF14_ROW_SPACE(width, target_num_components, bits)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: set_mono_thin_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:78,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:80,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:82,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:84,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:90,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:91,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:95,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:97,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:105,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:109,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:121,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsbitops.c:122,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:125,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsbitops.c:126,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsbitops.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 57
    argCount: 6
    argNames:
    - dest
    - dest_bit
    - draster
    - pattern
    - width_bits
    - height
    argTypes:
    - byte*
    - int
    - uint
    - mono_fill_chunk
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 138
    functionName: bits_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - set_mono_thin_mask
    - set_mono_right_mask
    - memset
    - set_mono_left_mask
    - FOR_EACH_LINE
    linkageType: ''
    returnType: void
    signature: "void bits_fill_rectangle(byte * dest, int dest_bit, uint draster,\n
      \                   mono_fill_chunk pattern, int width_bits, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: FOR_EACH_LINE
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_EACH_LINE(stat)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: set_mono_thin_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:166,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:169,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:171,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:173,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:179,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gsbitops.c:180,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:186,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:188,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:196,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:200,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:212,1
    - Dst: FOR_EACH_LINE
      Src: /src/libspectre/ghostscript/base/gsbitops.c:217,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 7
    argNames:
    - dest
    - dest_bit
    - draster
    - pattern
    - src_mask
    - width_bits
    - height
    argTypes:
    - byte*
    - int
    - uint
    - mono_fill_chunk
    - mono_fill_chunk
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 233
    functionName: bits_fill_rectangle_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - set_mono_thin_mask
    - set_mono_left_mask
    - FOR_EACH_LINE
    - set_mono_right_mask
    linkageType: ''
    returnType: void
    signature: "void bits_fill_rectangle_masked(byte * dest, int dest_bit, uint draster,\n
      \                   mono_fill_chunk pattern, mono_fill_chunk src_mask,\n                    int
      width_bits, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: FOR_EACH_LINE
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_EACH_LINE(stat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gsbitops.c:256,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gsbitops.c:260,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gsbitops.c:264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - data
    - width
    - height
    - raster
    - replicated_width
    - replicated_raster
    argTypes:
    - byte*
    - uint
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 295
    functionName: bits_replicate_horizontally
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void bits_replicate_horizontally(byte * data, uint width, uint height,\n
      \                uint raster, uint replicated_width, uint replicated_raster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsbitops.c:307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - data
    - height
    - raster
    - replicated_height
    argTypes:
    - byte*
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 311
    functionName: bits_replicate_vertically
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bits_replicate_vertically(byte * data, uint height, uint raster,\n
      \                         uint replicated_height)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: Error_longs_are_too_large
      Src: /src/libspectre/ghostscript/base/gsbitops.c:386,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:401,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:402,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:406,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:407,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:410,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:411,1
    - Dst: right_justify_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:414,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:422,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:423,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:427,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:428,1
    - Dst: last_bits
      Src: /src/libspectre/ghostscript/base/gsbitops.c:431,1
    - Dst: shift_out_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:432,1
    - Dst: right_justify_last
      Src: /src/libspectre/ghostscript/base/gsbitops.c:435,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 60
    argCount: 4
    argNames:
    - data
    - height
    - raster
    - pbox
    argTypes:
    - byte*
    - uint
    - uint
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 444
    functionName: bits_bounding_box
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - right_justify_last
    - last_bits
    - Error_longs_are_too_large
    - shift_out_last
    linkageType: ''
    returnType: void
    signature: "void bits_bounding_box(const byte * data, uint height, uint raster,\n
      \                 gs_int_rect * pbox)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: last_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: last_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: shift_out_last
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shift_out_last(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: right_justify_last
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: right_justify_last(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: last_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: last_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    functionName: shift_out_last
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shift_out_last(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 397
    functionName: right_justify_last
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: right_justify_last(x,n)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ARCH_IS_BIG_ENDIAN
      Src: /src/libspectre/ghostscript/base/gsbitops.c:501,1
    - Dst: sword
      Src: /src/libspectre/ghostscript/base/gsbitops.c:502,1
    - Dst: sample_load_next64
      Src: /src/libspectre/ghostscript/base/gsbitops.c:544,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:545,1
    - Dst: sample_load_next32
      Src: /src/libspectre/ghostscript/base/gsbitops.c:548,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:549,1
    - Dst: sample_store_next8
      Src: /src/libspectre/ghostscript/base/gsbitops.c:552,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:553,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gsbitops.c:555,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 5
    argNames:
    - dest
    - source
    - shift
    - width
    - height
    argTypes:
    - bits_plane_t*
    - bits_plane_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 560
    functionName: bits_extract_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - sample_load_next32
    - sample_load_next64
    - sword
    - sample_store_next8
    - sample_store_flush
    - ARCH_IS_BIG_ENDIAN
    - return_error
    linkageType: ''
    returnType: int
    signature: "int bits_extract_plane(const bits_plane_t *dest /*write*/,\n    const
      bits_plane_t *source /*read*/, int shift, int width, int height)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sample_load_next8
      Src: /src/libspectre/ghostscript/base/gsbitops.c:637,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:638,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gsbitops.c:642,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:643,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gsbitops.c:646,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsbitops.c:647,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gsbitops.c:650,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 5
    argNames:
    - dest
    - source
    - shift
    - width
    - height
    argTypes:
    - bits_plane_t*
    - bits_plane_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 656
    functionName: bits_expand_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - sample_store_flush
    - sample_load_next8
    - sample_store_next64
    - return_error
    - sample_store_next32
    linkageType: ''
    returnType: int
    signature: "int bits_expand_plane(const bits_plane_t *dest /*write*/,\n    const
      bits_plane_t *source /*read*/, int shift, int width, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsbitops.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - dest
    - raster
    - value
    - width_bytes
    - height
    argTypes:
    - byte*
    - uint
    - byte
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 669
    functionName: bytes_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void bytes_fill_rectangle(byte * dest, uint raster,\n                     byte
      value, int width_bytes, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsbitops.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dest
    - dest_raster
    - src
    - src_raster
    - width_bytes
    - height
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: bytes_copy_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bytes_copy_rectangle(byte * dest, uint dest_raster,\n             const
      byte * src, uint src_raster, int width_bytes, int height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - src
    - src_raster
    - width_bytes
    - height
    argTypes:
    - byte*
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 701
    functionName: bytes_rectangle_is_const
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bytes_rectangle_is_const(const byte * src, uint src_raster,\n
      \                        int width_bytes, int height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsbitops.c:715,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsbitops.c:721,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsbitops.c:722,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - dest
    - dest_raster
    - src
    - src_raster
    - width_bytes
    - height
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 727
    functionName: bytes_copy_rectangle_zero_padding
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void bytes_copy_rectangle_zero_padding(byte * dest, uint dest_raster,\n
      \            const byte * src, uint src_raster, int width_bytes, int height)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:57,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:59,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:62,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:64,1
    - Dst: dmlprintf8
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:66,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:71,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:73,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:75,1
    - Dst: dmlprintf7
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:76,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:79,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:81,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 16
    argNames:
    - cname
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - char*
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 86
    functionName: trace_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - dmlprintf4
    - dmprintf2
    - dmlprintf7
    - debug_dump_bitmap
    - dmlputs
    - dmlprintf8
    - dmputs
    linkageType: ''
    returnType: void
    signature: "void trace_copy_rop(const char *cname, gx_device * dev,\n               const
      byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n               const
      gx_color_index * scolors,\n               const gx_strip_bitmap * textures,\n
      \              const gx_color_index * tcolors,\n               int x, int y,
      int width, int height,\n               int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: gx_default_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 1
    functionsReached:
    - gx_default_strip_copy_rop2
    linkageType: ''
    returnType: int
    signature: "int gx_default_strip_copy_rop(gx_device * dev,\n                          const
      byte * sdata, int sourcex,\n                          uint sraster, gx_bitmap_id
      id,\n                          const gx_color_index * scolors,\n                          const
      gx_strip_bitmap * textures,\n                          const gx_color_index
      * tcolors,\n                          int x, int y, int width, int height,\n
      \                         int phase_x, int phase_y,\n                          gs_logical_operation_t
      lop)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:128,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:141,1
    - Dst: trace_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:142,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:148,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:150,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:152,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:154,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:158,1
    - Dst: gs_make_mem_device_with_copydevice
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:161,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:180,1
    - Dst: gdev_mem_set_planar
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:181,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:186,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:190,1
    - Dst: rop3_uses_D
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:191,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:192,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:194,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:214,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:218,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:226,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:234,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:245,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:246,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:250,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:251,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:259,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:260,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 86
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 262
    functionName: gx_default_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 1
    functionsReached:
    - gdev_mem_set_planar
    - lop_sanitize
    - gs_debug_c
    - gx_device_retain
    - gs_alloc_bytes
    - gdev_mem_device_for_bits
    - rop3_uses_D
    - scan_line_base
    - min
    - trace_copy_rop
    - gs_make_mem_device_with_copydevice
    - gs_free_object
    - fit_fill
    - return_error
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int gx_default_strip_copy_rop2(gx_device * dev,\n                           const
      byte * sdata, int sourcex,\n                           uint sraster, gx_bitmap_id
      id,\n                           const gx_color_index * scolors,\n                           const
      gx_strip_bitmap * textures,\n                           const gx_color_index
      * tcolors,\n                           int x, int y, int width, int height,\n
      \                          int phase_x, int phase_y,\n                           gs_logical_operation_t
      lop,\n                           uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:277,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:278,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:281,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - dev
    - real_colors
    - colors
    - depth
    argTypes:
    - gx_device*
    - gx_color_index[]
    - gx_color_index*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 286
    functionName: unpack_colors_to_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void unpack_colors_to_standard(gx_device * dev, gx_color_index real_colors[2],\n
      \                         const gx_color_index * colors, int depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:301,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 7
    argNames:
    - dev
    - y
    - destx
    - src
    - width
    - depth
    - src_depth
    argTypes:
    - gx_device_memory*
    - int
    - int
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 323
    functionName: pack_cmyk_1bit_from_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    linkageType: ''
    returnType: void
    signature: "void pack_cmyk_1bit_from_standard(gx_device_memory * dev, int y, int
      destx,\n                             const byte * src, int width, int depth,\n
      \                            int src_depth)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:341,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 7
    argNames:
    - dev
    - y
    - destx
    - src
    - width
    - depth
    - src_depth
    argTypes:
    - gx_device_memory*
    - int
    - int
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 379
    functionName: pack_planar_cmyk_1bit_from_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    linkageType: ''
    returnType: void
    signature: "void pack_planar_cmyk_1bit_from_standard(gx_device_memory * dev, int
      y, int destx,\n                                    const byte * src, int width,
      int depth,\n                                    int src_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:389,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:389,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - rgbcv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 396
    functionName: map_rgb_to_color_via_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - min
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index map_rgb_to_color_via_cmyk(gx_device * dev, const gx_color_value
      rgbcv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:401,1
    - Dst: dev_proc_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:402,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:404,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:431,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:432,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 7
    argNames:
    - dev
    - y
    - destx
    - src
    - width
    - depth
    - src_depth
    argTypes:
    - gx_device_memory*
    - int
    - int
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 465
    functionName: pack_from_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - dev_proc_map_rgb_color
    - dev_proc
    - gx_color_value_from_byte
    linkageType: ''
    returnType: void
    signature: "void pack_from_standard(gx_device_memory * dev, int y, int destx,
      const byte * src,\n                   int width, int depth, int src_depth)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:472,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:474,1
    - Dst: pack_planar_cmyk_1bit_from_standard
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:485,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:491,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:513,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:514,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:515,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 7
    argNames:
    - dev
    - y
    - destx
    - src
    - width
    - depth
    - src_depth
    argTypes:
    - gx_device_memory*
    - int
    - int
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 592
    functionName: pack_planar_from_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - dev_proc_map_rgb_color
    - pack_planar_cmyk_1bit_from_standard
    - scan_line_base
    - dev_proc
    - gx_color_value_from_byte
    linkageType: ''
    returnType: void
    signature: "void pack_planar_from_standard(gx_device_memory * dev, int y, int
      destx,\n                          const byte * src, int width, int depth, int
      src_depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:613,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: mem_default_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - return_error
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: "int mem_default_strip_copy_rop2(gx_device * dev,\n                            const
      byte * sdata, int sourcex,\n                            uint sraster, gx_bitmap_id
      id,\n                            const gx_color_index * scolors,\n                            const
      gx_strip_bitmap * textures,\n                            const gx_color_index
      * tcolors,\n                            int x, int y, int width, int height,\n
      \                           int phase_x, int phase_y,\n                            gs_logical_operation_t
      lop,\n                            uint planar_height)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:629,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:646,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:649,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:651,1
    - Dst: rop3_uses_D
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:652,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:653,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:654,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:703,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:713,1
    - Dst: trace_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:714,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:720,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:722,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:724,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:730,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:743,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:744,1
    - Dst: gdev_mem_data_size
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:748,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:752,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:758,1
    - Dst: ALLOC_BUF
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:761,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:764,1
    - Dst: ALLOC_BUF
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:765,1
    - Dst: unpack_colors_to_standard
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:769,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:773,1
    - Dst: ALLOC_BUF
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:774,1
    - Dst: unpack_colors_to_standard
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:786,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:804,1
    - Dst: gx_get_bits_copy
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:807,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:822,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:825,1
    - Dst: gx_get_bits_copy
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:833,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:839,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:848,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:851,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:857,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:859,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:861,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:862,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 124
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - olop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 864
    functionName: mem_default_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - rop3_uses_D
    - scan_line_base
    - pack
    - gs_make_mem_device
    - ALLOC_BUF
    - fit_fill
    - gs_debug_c
    - rop3_uses_T
    - min
    - fit_copy
    - gs_free_object
    - gdev_mem_device_for_bits
    - rop3_uses_S
    - gx_get_bits_copy
    - trace_copy_rop
    - dev_proc
    - gdev_mem_bits_size
    - gdev_mem_data_size
    - unpack_colors_to_standard
    - gx_device_has_color
    - return_error
    - bitmap_raster
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: "int mem_default_strip_copy_rop(gx_device * dev,\n                           const
      byte * sdata, int sourcex,\n                           uint sraster, gx_bitmap_id
      id,\n                           const gx_color_index * scolors,\n                           const
      gx_strip_bitmap * textures,\n                           const gx_color_index
      * tcolors,\n                           int x, int y, int width, int height,\n
      \                          int phase_x, int phase_y,\n                           gs_logical_operation_t
      olop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - buf
    - ','
    - prebuf
    - ','
    - size
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 699
    functionName: ALLOC_BUF
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_BUF(buf, prebuf, size, cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:887,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 890
    functionName: gx_default_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_copy_rop(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                    const
      gx_color_index * scolors,\n             const gx_tile_bitmap * texture, const
      gx_color_index * tcolors,\n                    int x, int y, int width, int
      height,\n                    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_strip_copy_rop_unaligned
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 914
    functionName: gx_copy_rop_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - gx_strip_copy_rop_unaligned
    linkageType: ''
    returnType: int
    signature: "int gx_copy_rop_unaligned(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                      const
      gx_color_index * scolors,\n             const gx_tile_bitmap * texture, const
      gx_color_index * tcolors,\n                      int x, int y, int width, int
      height,\n                      int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:924,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:924,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 964
    functionName: gx_strip_copy_rop_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 1
    functionsReached:
    - dev_proc_strip_copy_rop
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_strip_copy_rop_unaligned(gx_device * dev,\n             const
      byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                            const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                            int x, int y, int width,
      int height,\n                       int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1002,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1003,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1004,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1010,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1011,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - iy
    - ih
    argTypes:
    - mem_transform_pixel_region_state_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1012
    functionName: get_portrait_y_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    - fixed2int_pixround_perfect
    linkageType: ''
    returnType: void
    signature: void get_portrait_y_extent(mem_transform_pixel_region_state_t *state,
      int *iy, int *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1020,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1021,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1022,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1028,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - ix
    - iw
    argTypes:
    - mem_transform_pixel_region_state_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1030
    functionName: get_landscape_x_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    - fixed2int_pixround_perfect
    linkageType: ''
    returnType: void
    signature: void get_landscape_x_extent(mem_transform_pixel_region_state_t *state,
      int *ix, int *iw)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1055,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1064,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1065,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1065,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1066,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1067,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1067,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1067,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1067,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1078,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1081,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1088,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1090,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1094,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1094,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1132
    functionName: template_mem_transform_pixel_region_render_portrait
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - mapper
    - if_debug5m
    - get_portrait_y_extent
    - fixed2int_var_rounded
    - dda_translate
    - memcmp
    - dda_current
    - dda_next
    - gx_color_value_from_byte
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_portrait(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: mem_transform_pixel_region_render_portrait_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1144
      start: 1140
    functionDepth: 2
    functionLinenumber: 1140
    functionLinenumberEnd: 1144
    functionName: mem_transform_pixel_region_render_portrait_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_3(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1146
    functionDepth: 2
    functionLinenumber: 1146
    functionLinenumberEnd: 1150
    functionName: mem_transform_pixel_region_render_portrait_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_4(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1152
    functionDepth: 2
    functionLinenumber: 1152
    functionLinenumberEnd: 1156
    functionName: mem_transform_pixel_region_render_portrait_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_n(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_portrait_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1163,1
    - Dst: mem_transform_pixel_region_render_portrait_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1165,1
    - Dst: mem_transform_pixel_region_render_portrait_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1167,1
    - Dst: mem_transform_pixel_region_render_portrait_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1171
    functionName: mem_transform_pixel_region_render_portrait
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_portrait_4
    - mem_transform_pixel_region_render_portrait_1
    - mem_transform_pixel_region_render_portrait_3
    - mem_transform_pixel_region_render_portrait_n
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1187,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1196,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1197,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1197,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1198,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1199,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1199,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1199,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1199,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1200,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1200,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1221
    functionName: template_mem_transform_pixel_region_render_portrait_1to1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - get_portrait_y_extent
    - fixed2int_var_rounded
    - memcpy
    - dda_translate
    - dda_current
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_portrait_1to1(gx_device
      *dev, mem_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    functionName: mem_transform_pixel_region_render_portrait_1to1_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to1
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to1_1(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1229
    functionDepth: 2
    functionLinenumber: 1229
    functionLinenumberEnd: 1233
    functionName: mem_transform_pixel_region_render_portrait_1to1_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to1
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to1_3(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1239
    functionName: mem_transform_pixel_region_render_portrait_1to1_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to1
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to1_4(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1245
    functionName: mem_transform_pixel_region_render_portrait_1to1_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to1
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to1_n(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1251,1
    - Dst: mem_transform_pixel_region_render_portrait_1to1_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1254,1
    - Dst: mem_transform_pixel_region_render_portrait_1to1_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1256,1
    - Dst: mem_transform_pixel_region_render_portrait_1to1_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1258,1
    - Dst: mem_transform_pixel_region_render_portrait_1to1_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1247
    functionDepth: 4
    functionLinenumber: 1247
    functionLinenumberEnd: 1262
    functionName: mem_transform_pixel_region_render_portrait_1to1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_portrait_1to1_3
    - mem_transform_pixel_region_render_portrait_1to1_4
    - mem_transform_pixel_region_render_portrait_1to1_n
    - mem_transform_pixel_region_render_portrait_1to1_1
    - mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to1(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1279,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1288,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1289,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1289,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1290,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1291,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1291,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1291,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1291,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1292,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1292,1
    - Dst: cal_doubler_process
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1308,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1315
    functionName: template_mem_transform_pixel_region_render_portrait_1to2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - get_portrait_y_extent
    - cal_doubler_process
    - fixed2int_var_rounded
    - dda_translate
    - dda_current
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_portrait_1to2(gx_device
      *dev, mem_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1317
    functionDepth: 2
    functionLinenumber: 1317
    functionLinenumberEnd: 1321
    functionName: mem_transform_pixel_region_render_portrait_1to2_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to2
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to2_1(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1323
    functionDepth: 2
    functionLinenumber: 1323
    functionLinenumberEnd: 1327
    functionName: mem_transform_pixel_region_render_portrait_1to2_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to2
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to2_3(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1332,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 2
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: mem_transform_pixel_region_render_portrait_1to2_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to2
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to2_4(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to2
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1335
    functionDepth: 2
    functionLinenumber: 1335
    functionLinenumberEnd: 1339
    functionName: mem_transform_pixel_region_render_portrait_1to2_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to2
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to2_n(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1345,1
    - Dst: mem_transform_pixel_region_render_portrait_1to2_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1348,1
    - Dst: mem_transform_pixel_region_render_portrait_1to2_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1350,1
    - Dst: mem_transform_pixel_region_render_portrait_1to2_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1352,1
    - Dst: mem_transform_pixel_region_render_portrait_1to2_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1341
    functionDepth: 4
    functionLinenumber: 1341
    functionLinenumberEnd: 1356
    functionName: mem_transform_pixel_region_render_portrait_1to2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_portrait_1to2_n
    - mem_transform_pixel_region_render_portrait_1to2_3
    - mem_transform_pixel_region_render_portrait_1to2_1
    - mem_transform_pixel_region_render_portrait_1to2_4
    - mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to2(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1372,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1381,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1382,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1382,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1383,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1384,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1384,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1384,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1384,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1385,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1385,1
    - Dst: cal_doubler_process
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1410
    functionName: template_mem_transform_pixel_region_render_portrait_1to4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - get_portrait_y_extent
    - cal_doubler_process
    - fixed2int_var_rounded
    - dda_translate
    - dda_current
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_portrait_1to4(gx_device
      *dev, mem_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1416
    functionName: mem_transform_pixel_region_render_portrait_1to4_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to4_1(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1418
    functionDepth: 2
    functionLinenumber: 1418
    functionLinenumberEnd: 1422
    functionName: mem_transform_pixel_region_render_portrait_1to4_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to4_3(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1424
    functionDepth: 2
    functionLinenumber: 1424
    functionLinenumberEnd: 1428
    functionName: mem_transform_pixel_region_render_portrait_1to4_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to4_4(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1430
    functionDepth: 2
    functionLinenumber: 1430
    functionLinenumberEnd: 1434
    functionName: mem_transform_pixel_region_render_portrait_1to4_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to4_n(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1440,1
    - Dst: mem_transform_pixel_region_render_portrait_1to4_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1443,1
    - Dst: mem_transform_pixel_region_render_portrait_1to4_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1445,1
    - Dst: mem_transform_pixel_region_render_portrait_1to4_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1447,1
    - Dst: mem_transform_pixel_region_render_portrait_1to4_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1436
    functionDepth: 4
    functionLinenumber: 1436
    functionLinenumberEnd: 1451
    functionName: mem_transform_pixel_region_render_portrait_1to4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_portrait_1to4_3
    - mem_transform_pixel_region_render_portrait_1to4_1
    - mem_transform_pixel_region_render_portrait_1to4_n
    - mem_transform_pixel_region_render_portrait
    - mem_transform_pixel_region_render_portrait_1to4_4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to4(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1467,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1476,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1477,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1477,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1478,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1479,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1479,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1479,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1479,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1480,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1480,1
    - Dst: cal_doubler_process
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1502,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1453
    functionDepth: 1
    functionLinenumber: 1453
    functionLinenumberEnd: 1509
    functionName: template_mem_transform_pixel_region_render_portrait_1to8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - get_portrait_y_extent
    - cal_doubler_process
    - fixed2int_var_rounded
    - dda_translate
    - dda_current
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_portrait_1to8(gx_device
      *dev, mem_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to8
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1511
    functionDepth: 2
    functionLinenumber: 1511
    functionLinenumberEnd: 1515
    functionName: mem_transform_pixel_region_render_portrait_1to8_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to8
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to8_1(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to8
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1517
    functionDepth: 2
    functionLinenumber: 1517
    functionLinenumberEnd: 1521
    functionName: mem_transform_pixel_region_render_portrait_1to8_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to8
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to8_3(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to8
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1527
    functionName: mem_transform_pixel_region_render_portrait_1to8_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to8
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to8_4(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_portrait_1to8
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1533
    functionName: mem_transform_pixel_region_render_portrait_1to8_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_portrait_1to8
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to8_n(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_portrait
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1539,1
    - Dst: mem_transform_pixel_region_render_portrait_1to8_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1542,1
    - Dst: mem_transform_pixel_region_render_portrait_1to8_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1544,1
    - Dst: mem_transform_pixel_region_render_portrait_1to8_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1546,1
    - Dst: mem_transform_pixel_region_render_portrait_1to8_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1535
    functionDepth: 4
    functionLinenumber: 1535
    functionLinenumberEnd: 1550
    functionName: mem_transform_pixel_region_render_portrait_1to8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_portrait_1to8_4
    - mem_transform_pixel_region_render_portrait_1to8_3
    - mem_transform_pixel_region_render_portrait_1to8_n
    - mem_transform_pixel_region_render_portrait_1to8_1
    - mem_transform_pixel_region_render_portrait
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_portrait_1to8(gx_device *dev,
      mem_transform_pixel_region_state_t *state, const unsigned char **buffer, int
      data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_landscape_x_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1576,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1585,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1586,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1586,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1587,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1588,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1588,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1588,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1588,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1599,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1602,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1609,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1611,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1615,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1615,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 7
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    - spp
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1553
    functionDepth: 1
    functionLinenumber: 1553
    functionLinenumberEnd: 1653
    functionName: template_mem_transform_pixel_region_render_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - mapper
    - if_debug5m
    - fixed2int_var_rounded
    - memcmp
    - dda_translate
    - dda_next
    - get_landscape_x_extent
    - dda_current
    - gx_color_value_from_byte
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int template_mem_transform_pixel_region_render_landscape(gx_device
      *dev, mem_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_landscape
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1655
    functionDepth: 2
    functionLinenumber: 1655
    functionLinenumberEnd: 1659
    functionName: mem_transform_pixel_region_render_landscape_1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_landscape
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_landscape_1(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_landscape
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1661
    functionDepth: 2
    functionLinenumber: 1661
    functionLinenumberEnd: 1665
    functionName: mem_transform_pixel_region_render_landscape_3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_landscape
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_landscape_3(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_landscape
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1667
    functionDepth: 2
    functionLinenumber: 1667
    functionLinenumberEnd: 1671
    functionName: mem_transform_pixel_region_render_landscape_4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_landscape
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_landscape_4(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mem_transform_pixel_region_render_landscape
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1673
    functionDepth: 2
    functionLinenumber: 1673
    functionLinenumberEnd: 1677
    functionName: mem_transform_pixel_region_render_landscape_n
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - template_mem_transform_pixel_region_render_landscape
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_landscape_n(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_render_landscape_1
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1684,1
    - Dst: mem_transform_pixel_region_render_landscape_3
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1686,1
    - Dst: mem_transform_pixel_region_render_landscape_4
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1688,1
    - Dst: mem_transform_pixel_region_render_landscape_n
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1679
    functionDepth: 3
    functionLinenumber: 1679
    functionLinenumberEnd: 1692
    functionName: mem_transform_pixel_region_render_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 4
    functionsReached:
    - mem_transform_pixel_region_render_landscape_1
    - mem_transform_pixel_region_render_landscape_n
    - mem_transform_pixel_region_render_landscape_3
    - mem_transform_pixel_region_render_landscape_4
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_render_landscape(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1702,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1743,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1743,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1744,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1744,1
    - Dst: cal_doubler_init
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1750,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 9
    argNames:
    - dev
    - w
    - h
    - spp
    - pixels
    - rows
    - clip
    - posture
    - statep
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gx_dda_fixed_point*
    - gx_dda_fixed_point*
    - gs_int_rect*
    - transform_pixel_region_posture
    - mem_transform_pixel_region_state_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1772
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1772
    functionName: mem_transform_pixel_region_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - cal_doubler_init
    - fixed2int_var_rounded
    - dda_current
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int mem_transform_pixel_region_begin(gx_device *dev, int w, int h,
      int spp,\n                      const gx_dda_fixed_point *pixels, const gx_dda_fixed_point
      *rows,\n                      const gs_int_rect *clip, transform_pixel_region_posture
      posture,\n                      mem_transform_pixel_region_state_t **statep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1777,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1778,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1779,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1780,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1781,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1782,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1783,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1784,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - mem_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1774
    functionDepth: 1
    functionLinenumber: 1774
    functionLinenumberEnd: 1785
    functionName: step_to_next_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    - dda_translate
    linkageType: ''
    returnType: void
    signature: void step_to_next_line(mem_transform_pixel_region_state_t *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1793,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1797,1
    - Dst: get_landscape_x_extent
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1803,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1807,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - state
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1787
    functionDepth: 0
    functionLinenumber: 1787
    functionLinenumberEnd: 1813
    functionName: mem_transform_pixel_region_data_needed
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - step_to_next_line
    - get_portrait_y_extent
    - get_landscape_x_extent
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_data_needed(gx_device *dev, mem_transform_pixel_region_state_t
      *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_transform_pixel_region_state_t*::render
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1818,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1815
    functionDepth: 0
    functionLinenumber: 1815
    functionLinenumberEnd: 1823
    functionName: mem_transform_pixel_region_process_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - step_to_next_line
    - mem_transform_pixel_region_state_t*::render
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_process_data(gx_device *dev, mem_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1829,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - state
    argTypes:
    - gx_device*
    - mem_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1825
    functionDepth: 0
    functionLinenumber: 1825
    functionLinenumberEnd: 1831
    functionName: mem_transform_pixel_region_end
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region_end(gx_device *dev, mem_transform_pixel_region_state_t
      *state)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1850,1
    - Dst: gx_default_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1854,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1855,1
    - Dst: gx_default_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1865,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1868,1
    - Dst: mem_transform_pixel_region_begin
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1878,1
    - Dst: mem_transform_pixel_region_data_needed
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1880,1
    - Dst: mem_transform_pixel_region_process_data
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1882,1
    - Dst: mem_transform_pixel_region_end
      Src: /src/libspectre/ghostscript/base/gdevdrop.c:1885,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1889
    functionName: mem_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdrop.c
    functionUses: 0
    functionsReached:
    - mem_transform_pixel_region_process_data
    - gs_alloc_bytes
    - mem_transform_pixel_region_begin
    - gx_default_transform_pixel_region
    - mem_transform_pixel_region_data_needed
    - mem_transform_pixel_region_end
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int mem_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:29,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:31,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - blocksize
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 35
    functionName: leptonica_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - malloc
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void *leptonica_malloc(size_t blocksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:39,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:41,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - numelm
    - elemsize
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: leptonica_calloc
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - calloc
    - fflush
    - printf
    linkageType: ''
    returnType: void
    signature: void *leptonica_calloc(size_t numelm, size_t elemsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:49,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:51,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ptr
    - blocksize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 55
    functionName: leptonica_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - printf
    - realloc
    - fflush
    linkageType: ''
    returnType: void
    signature: void *leptonica_realloc(void *ptr, size_t blocksize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:60,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:61,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: leptonica_free
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - printf
    - free
    - fflush
    linkageType: ''
    returnType: void
    signature: void leptonica_free(void *ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - data
    - w
    - h
    - raster
    argTypes:
    - l_uint32*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 87
    functionName: convert2pix
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int convert2pix(l_uint32 *data, int w, int h, int raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:93,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:95,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 99
    functionName: my_leptonica_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *my_leptonica_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:104,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:105,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 108
    functionName: my_leptonica_free
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void my_leptonica_free(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:113,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:117,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:118,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:119,1
    - Dst: GenericVector<char>*::reserve
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:123,1
    - Dst: GenericVector<char>*::resize_no_init
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:124,1
    - Dst: static_cast<long>
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:125,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:125,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - filename
    - data
    argTypes:
    - char*
    - GenericVector<char>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 129
    functionName: load_file
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 2
    functionsReached:
    - static_cast<long>
    - gp_ftell
    - gp_fread
    - gp_fclose
    - GenericVector<char>*::reserve
    - gp_fseek
    - gp_fopen
    - GenericVector<char>*::resize_no_init
    linkageType: ''
    returnType: bool
    signature: bool load_file(const char* filename, GenericVector<char>* data)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_findiodevice
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:146,1
    - Dst: gs_snprintf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:147,1
    - Dst: romfs_file_len
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:155,1
    - Dst: GenericVector<char>*::reserve
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:157,1
    - Dst: GenericVector<char>*::resize_no_init
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:158,1
    - Dst: gx_io_device*::procs::open_file
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:159,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:159,1
    - Dst: s_process_read_buf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:166,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:167,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:170,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:170,1
    - Dst: sbufskip
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:172,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:174,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:175,1
    - Dst: load_file
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:181,1
    - Dst: load_file
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - fname
    - out
    argTypes:
    - char*
    - GenericVector<char>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 186
    functionName: tess_file_reader
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - sclose
    - gx_io_device*::procs::open_file
    - sbufskip
    - strlen
    - sbufptr
    - gs_snprintf
    - s_process_read_buf
    - GenericVector<char>*::reserve
    - sbufavailable
    - memcpy
    - romfs_file_len
    - gs_findiodevice
    - GenericVector<char>*::resize_no_init
    - load_file
    - gs_free_object
    linkageType: ''
    returnType: bool
    signature: bool tess_file_reader(const char *fname, GenericVector<char> *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setPixMemoryManager
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:194,1
    - Dst: tesseract::TessBaseAPI::TessBaseAPI
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:195,1
    - Dst: setPixMemoryManager
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:201,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:202,1
    - Dst: tesseract::TessBaseAPI*::Init
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:206,1
    - Dst: setPixMemoryManager
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - mem
    - language
    - state
    argTypes:
    - gs_memory_t*
    - char*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 222
    functionName: ocr_init_api
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 1
    functionsReached:
    - return_error
    - tesseract::TessBaseAPI::TessBaseAPI
    - tesseract::TessBaseAPI*::Init
    - setPixMemoryManager
    linkageType: ''
    returnType: int
    signature: int ocr_init_api(gs_memory_t *mem, const char *language, void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tesseract::TessBaseAPI*::End
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:232,1
    - Dst: setPixMemoryManager
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - api_
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 236
    functionName: ocr_fin_api
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 1
    functionsReached:
    - tesseract::TessBaseAPI*::End
    - setPixMemoryManager
    linkageType: ''
    returnType: void
    signature: void ocr_fin_api(gs_memory_t *mem, void *api_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pixCreateHeader
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:242,1
    - Dst: pixSetData
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:246,1
    - Dst: pixSetPadBits
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:247,1
    - Dst: pixSetXRes
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:248,1
    - Dst: pixSetYRes
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:249,1
    - Dst: tesseract::TessBaseAPI*::SetImage
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - api
    - w
    - h
    - data
    - xres
    - yres
    argTypes:
    - tesseract::TessBaseAPI*
    - int
    - int
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: ocr_set_image
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - pixSetPadBits
    - pixSetData
    - pixSetXRes
    - tesseract::TessBaseAPI*::SetImage
    - pixSetYRes
    - pixCreateHeader
    linkageType: ''
    returnType: Pix
    signature: "Pix *\nocr_set_image(tesseract::TessBaseAPI *api,\n              int
      w, int h, void *data, int xres, int yres)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pixSetData
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:259,1
    - Dst: pixDestroy
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - image
    argTypes:
    - Pix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 261
    functionName: ocr_clear_image
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - pixDestroy
    - pixSetData
    linkageType: ''
    returnType: void
    signature: void ocr_clear_image(Pix *image)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ocr_init_api
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:280,1
    - Dst: convert2pix
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:285,1
    - Dst: ocr_set_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:287,1
    - Dst: convert2pix
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:290,1
    - Dst: ocr_fin_api
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:292,1
    - Dst: tesseract::TessBaseAPI*::SetVariable
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:298,1
    - Dst: tesseract::TessBaseAPI*::SetVariable
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:299,1
    - Dst: tesseract::TessBaseAPI*::GetHOCRText
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:300,1
    - Dst: tesseract::TessBaseAPI*::GetUTF8Text
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:303,1
    - Dst: ocr_clear_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:305,1
    - Dst: convert2pix
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:309,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:314,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:315,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:317,1
    - Dst: ocr_fin_api
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:323,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 13
    argNames:
    - mem
    - w
    - h
    - bpp
    - raster
    - xres
    - yres
    - data
    - restore
    - hocr
    - pagecount
    - language
    - out
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - void*
    - int
    - int
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 326
    functionName: do_ocr_image
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - ocr_clear_image
    - ocr_set_image
    - gs_alloc_bytes
    - ocr_fin_api
    - strlen
    - convert2pix
    - memcpy
    - tesseract::TessBaseAPI*::GetHOCRText
    - tesseract::TessBaseAPI*::SetVariable
    - return_error
    - tesseract::TessBaseAPI*::GetUTF8Text
    - ocr_init_api
    linkageType: ''
    returnType: int
    signature: "int do_ocr_image(gs_memory_t *mem,\n             int w, int h, int
      bpp, int raster,\n             int xres, int yres, void *data, int restore,\n
      \            int hocr, int pagecount,\n             const char *language,\n
      \            char **out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ocr_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - mem
    - w
    - h
    - bpp
    - raster
    - xres
    - yres
    - data
    - restore
    - pagecount
    - language
    - out
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - void*
    - int
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 335
    functionName: ocr_image_to_hocr
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 1
    functionsReached:
    - do_ocr_image
    linkageType: ''
    returnType: int
    signature: "int ocr_image_to_hocr(gs_memory_t *mem,\n                      int
      w, int h, int bpp, int raster,\n                      int xres, int yres, void
      *data, int restore,\n                      int pagecount, const char *language,
      char **out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_ocr_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - mem
    - w
    - h
    - bpp
    - raster
    - xres
    - yres
    - data
    - restore
    - language
    - out
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - int
    - void*
    - int
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: ocr_image_to_utf8
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 1
    functionsReached:
    - do_ocr_image
    linkageType: ''
    returnType: int
    signature: "int ocr_image_to_utf8(gs_memory_t *mem,\n                      int
      w, int h, int bpp, int raster,\n                      int xres, int yres, void
      *data, int restore,\n                      const char *language, char **out)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ocr_set_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:365,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:367,1
    - Dst: tesseract::TessBaseAPI*::Recognize
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:369,1
    - Dst: tesseract::TessBaseAPI*::GetIterator
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:372,1
    - Dst: tesseract::ResultIterator*::Empty
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:374,1
    - Dst: tesseract::ResultIterator*::Empty
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:375,1
    - Dst: tesseract::ResultIterator*::Next
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:376,1
    - Dst: tesseract::ResultIterator*::BoundingBox
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:380,1
    - Dst: tesseract::ResultIterator*::BoundingBox
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:383,1
    - Dst: tesseract::ResultIterator*::WordFontAttributes
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:386,1
    - Dst: tesseract::ResultIterator*::GetUTF8Text
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:395,1
    - Dst: tesseract::ResultIterator*::BoundingBox
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:397,1
    - Dst: callback
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:400,1
    - Dst: tesseract::ResultIterator*::Next
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:407,1
    - Dst: tesseract::ResultIterator*::Empty
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:408,1
    - Dst: tesseract::ResultIterator*::IsAtBeginningOf
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:409,1
    - Dst: ocr_clear_image
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:415,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 7
    argNames:
    - api_
    - w
    - h
    - data
    - xres
    - yres
    - arg
    argTypes:
    - void*
    - int
    - int
    - void*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 418
    functionName: ocr_recognise
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 1
    functionsReached:
    - tesseract::ResultIterator*::Next
    - ocr_clear_image
    - tesseract::ResultIterator*::BoundingBox
    - ocr_set_image
    - tesseract::ResultIterator*::GetUTF8Text
    - tesseract::ResultIterator*::IsAtBeginningOf
    - tesseract::TessBaseAPI*::GetIterator
    - tesseract::ResultIterator*::WordFontAttributes
    - tesseract::TessBaseAPI*::Recognize
    - return_error
    - tesseract::ResultIterator*::Empty
    - callback
    linkageType: ''
    returnType: int
    signature: "int ocr_recognise(void *api_, int w, int h, void *data,\n              int
      xres, int yres,\n              int (*callback)(void *, const char *, const int
      *, const int *, const int *, int),\n              void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leptonica_malloc
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 428
    functionName: '*operator new(size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - leptonica_malloc
    linkageType: ''
    returnType: void
    signature: void *operator new(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leptonica_free
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: operator_delete
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - leptonica_free
    linkageType: ''
    returnType: void
    signature: void operator_delete(void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leptonica_malloc
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:437,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 435
    functionDepth: 6
    functionLinenumber: 435
    functionLinenumberEnd: 438
    functionName: '*operator new[](size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - leptonica_malloc
    linkageType: ''
    returnType: void
    signature: void *operator new[](size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: leptonica_free
      Src: /src/libspectre/ghostscript/base/tessocr.cpp:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 443
    functionName: operator delete[](void *ptr)
    functionSourceFile: /src/libspectre/ghostscript/base/tessocr.cpp
    functionUses: 0
    functionsReached:
    - leptonica_free
    linkageType: ''
    returnType: void
    signature: void operator delete[](void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: private_st_zlib_block
    functionSourceFile: /src/libspectre/ghostscript/base/szlibxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_zlib_block()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: private_st_zlib_dynamic_state
    functionSourceFile: /src/libspectre/ghostscript/base/szlibxx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_zlib_dynamic_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING_PREFIX
      Src: /src/libspectre/ghostscript/base/gxclist.c:52,1
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gxclist.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - ENUM_USING_PREFIX
    - ENUM_OBJ
    linkageType: ''
    returnType: void
    signature: "void ENUM_PTRS_WITH(device_clist_enum_ptrs, gx_device_clist *cdev)\n
      \   if (index < st_device_forward_max_ptrs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gxclist.c:94,1
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/base/gxclist.c:95,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:97,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:98,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:100,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:101,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:102,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxclist.c:103,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:110,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:111,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxclist.c:112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - cdev
    argTypes:
    - gx_device_clist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 114
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - RELOC_PREFIX
    - CLIST_IS_WRITER
    - RELOC_USING
    - RELOC_VAR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_clist_reloc_ptrs, gx_device_clist
      *cdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/base/gxclist.c:222,1
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/base/gxclist.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pclist_dev
    - in_memory
    argTypes:
    - gx_device_clist*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 231
    functionName: clist_init_io_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - VALGRIND_HG_DISABLE_CHECKING
    linkageType: ''
    returnType: void
    signature: void clist_init_io_procs(gx_device_clist *pclist_dev, bool in_memory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxclist.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - target
    - data_size
    argTypes:
    - gx_device*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 264
    functionName: clist_tile_cache_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gx_device_must_halftone
    linkageType: ''
    returnType: uint
    signature: uint clist_tile_cache_size(const gx_device * target, uint data_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:302,1
    - Dst: gx_bits_cache_chunk_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:308,1
    - Dst: gx_bits_cache_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:309,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - dev
    - init_data
    - data_size
    argTypes:
    - gx_device*
    - byte*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 311
    functionName: clist_init_tile_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_bits_cache_init
    - gx_bits_cache_chunk_init
    linkageType: ''
    returnType: int
    signature: int clist_init_tile_cache(gx_device * dev, byte * init_data, ulong
      data_size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:326,1
    - Dst: gdev_mem_data_size
      Src: /src/libspectre/ghostscript/base/gxclist.c:332,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:334,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclist.c:339,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclist.c:339,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxclist.c:340,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 5
    argNames:
    - dev
    - bdev
    - data_size
    - band_width
    - band_height
    argTypes:
    - gx_device*
    - gx_device_memory*
    - uint
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 344
    functionName: clist_init_bands
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gdev_mem_data_size
    - gs_debug_c
    - dmlprintf4
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clist_init_bands(gx_device * dev, gx_device_memory *bdev, uint
      data_size,\n                 int band_width, int band_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - nbands
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 361
    functionName: clist_minimum_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t clist_minimum_buffer(int nbands)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_minimum_buffer
      Src: /src/libspectre/ghostscript/base/gxclist.c:376,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - init_data
    - data_size
    argTypes:
    - gx_device*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 384
    functionName: clist_init_states
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - clist_minimum_buffer
    linkageType: ''
    returnType: int
    signature: int clist_init_states(gx_device * dev, byte * init_data, uint data_size)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclist.c:399,1
    - Dst: gx_device_clist_writer*::buf_procs::create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclist.c:428,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:433,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:435,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:447,1
    - Dst: gdev_mem_data_size
      Src: /src/libspectre/ghostscript/base/gxclist.c:451,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gxclist.c:454,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:455,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclist.c:459,1
    - Dst: ROUND_DOWN
      Src: /src/libspectre/ghostscript/base/gxclist.c:469,1
    - Dst: clist_tile_cache_size
      Src: /src/libspectre/ghostscript/base/gxclist.c:476,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclist.c:477,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxclist.c:484,1
    - Dst: gdev_mem_max_height
      Src: /src/libspectre/ghostscript/base/gxclist.c:485,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gxclist.c:489,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:490,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:492,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gxclist.c:498,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:499,1
    - Dst: clist_init_tile_cache
      Src: /src/libspectre/ghostscript/base/gxclist.c:503,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gxclist.c:506,1
    - Dst: clist_init_bands
      Src: /src/libspectre/ghostscript/base/gxclist.c:512,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gxclist.c:515,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gxclist.c:520,1
    - Dst: clist_init_states
      Src: /src/libspectre/ghostscript/base/gxclist.c:522,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 67
    argCount: 3
    argNames:
    - dev
    - init_data
    - data_size
    argTypes:
    - gx_device*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 523
    functionName: clist_init_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gdev_mem_bits_size
    - gdev_mem_data_size
    - clist_init_states
    - ROUND_UP
    - gx_device*::finalize
    - max
    - gdev_mem_max_height
    - gx_device_clist_writer*::buf_procs::create_buf_device
    - clist_tile_cache_size
    - return_error
    - ROUND_DOWN
    - clist_init_bands
    - clist_init_tile_cache
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clist_init_data(gx_device * dev, byte * init_data, uint data_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_init_data
      Src: /src/libspectre/ghostscript/base/gxclist.c:533,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:542,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:570,1
    - Dst: GS_STATE_INIT_VALUES_CLIST
      Src: /src/libspectre/ghostscript/base/gxclist.c:574,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxclist.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 44
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 528
    functionDepth: 3
    functionLinenumber: 528
    functionLinenumberEnd: 600
    functionName: clist_reset
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - countof
    - GS_STATE_INIT_VALUES_CLIST
    - memset
    - clist_init_data
    linkageType: ''
    returnType: int
    signature: int clist_reset(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_reset
      Src: /src/libspectre/ghostscript/base/gxclist.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 617
    functionName: clist_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_reset
    linkageType: ''
    returnType: int
    signature: int clist_init(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_put_current_params
      Src: /src/libspectre/ghostscript/base/gxclist.c:629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: clist_emit_page_header
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_put_current_params
    linkageType: ''
    returnType: int
    signature: int clist_emit_page_header(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cwdev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: clist_reset_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clist_reset_page(gx_device_clist_writer *cwdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clist_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:655,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gxclist.c:658,1
    - Dst: clist_reset_page
      Src: /src/libspectre/ghostscript/base/gxclist.c:661,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclist.c:662,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclist.c:665,1
    - Dst: clist_close_output_file
      Src: /src/libspectre/ghostscript/base/gxclist.c:669,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 643
    functionDepth: 5
    functionLinenumber: 643
    functionLinenumberEnd: 673
    functionName: clist_open_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_close_output_file
    - gx_device_clist_writer*::page_info::io_procs::fopen
    - clist_init
    - snprintf
    - clist_reset_page
    linkageType: ''
    returnType: int
    signature: int clist_open_output_file(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_band_page_info_t*::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclist.c:681,1
    - Dst: gx_band_page_info_t*::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclist.c:686,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ppi
    argTypes:
    - gx_band_page_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 677
    functionDepth: 0
    functionLinenumber: 677
    functionLinenumberEnd: 691
    functionName: clist_close_page_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gx_band_page_info_t*::io_procs::fclose
    linkageType: ''
    returnType: int
    signature: int clist_close_page_info(gx_band_page_info_t *ppi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_close_page_info
      Src: /src/libspectre/ghostscript/base/gxclist.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: clist_close_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - clist_close_page_info
    linkageType: ''
    returnType: int
    signature: int clist_close_output_file(gx_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclist.c:717,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:719,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:720,1
    - Dst: clist_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:722,1
    - Dst: clist_open_output_file
      Src: /src/libspectre/ghostscript/base/gxclist.c:728,1
    - Dst: clist_emit_page_header
      Src: /src/libspectre/ghostscript/base/gxclist.c:730,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:738,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 706
    functionDepth: 6
    functionLinenumber: 706
    functionLinenumberEnd: 741
    functionName: clist_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_open_output_file
    - clist_emit_page_header
    - gs_alloc_bytes
    - memset
    - clist_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_open(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclist.c:756,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:759,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:764,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:765,1
    - Dst: clist_close_output_file
      Src: /src/libspectre/ghostscript/base/gxclist.c:768,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 769
    functionName: clist_close
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_close_output_file
    - dev_proc
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int clist_close(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 776
    functionName: clist_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int clist_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/base/gxclist.c:790,1
    - Dst: clist_teardown_render_threads
      Src: /src/libspectre/ghostscript/base/gxclist.c:793,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:794,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxclist.c:802,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::rewind
      Src: /src/libspectre/ghostscript/base/gxclist.c:807,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::rewind
      Src: /src/libspectre/ghostscript/base/gxclist.c:811,1
    - Dst: clist_reset_page
      Src: /src/libspectre/ghostscript/base/gxclist.c:815,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclist.c:818,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclist.c:820,1
    - Dst: clist_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:822,1
    - Dst: clist_emit_page_header
      Src: /src/libspectre/ghostscript/base/gxclist.c:824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - dev
    - flush
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 779
    functionDepth: 5
    functionLinenumber: 779
    functionLinenumberEnd: 827
    functionName: clist_finish_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - CLIST_IS_WRITER
    - clist_free_icc_table
    - clist_emit_page_header
    - gx_device_clist_writer*::page_info::io_procs::rewind
    - clist_init
    - clist_teardown_render_threads
    - gx_device_clist_writer*::page_info::io_procs::fseek
    - clist_reset_page
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_finish_page(gx_device *dev, bool flush)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cmd_write_buffer
      Src: /src/libspectre/ghostscript/base/gxclist.c:839,1
    - Dst: clist_icc_writetable
      Src: /src/libspectre/ghostscript/base/gxclist.c:849,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxclist.c:851,1
    - Dst: clist_write_color_usage_array
      Src: /src/libspectre/ghostscript/base/gxclist.c:855,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:862,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclist.c:864,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclist.c:865,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclist.c:872,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::set_memory_warning
      Src: /src/libspectre/ghostscript/base/gxclist.c:878,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::set_memory_warning
      Src: /src/libspectre/ghostscript/base/gxclist.c:880,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclist.c:883,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclist.c:883,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxclist.c:885,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxclist.c:888,1
    - Dst: dprintf2
      Src: /src/libspectre/ghostscript/base/gxclist.c:903,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - cldev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 907
    functionName: clist_end_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - clist_free_icc_table
    - clist_icc_writetable
    - clist_write_color_usage_array
    - gx_device_clist_writer*::page_info::io_procs::fwrite_chars
    - dmlprintf3
    - cmd_write_buffer
    - dprintf2
    - memset
    - gx_device_clist_writer*::page_info::io_procs::ftell
    - gx_device_clist_writer*::page_info::io_procs::set_memory_warning
    - dmlprintf2
    linkageType: ''
    returnType: int
    signature: int clist_end_page(gx_device_clist_writer * cldev)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - color
    argTypes:
    - gx_device*
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 923
    functionName: gx_color_index2usage
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_usage_bits
    signature: gx_color_usage_bits gx_color_index2usage(gx_device *dev, gx_color_index
      color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxclist.c:941,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:942,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxclist.c:945,1
    - Dst: cmd_put_params
      Src: /src/libspectre/ghostscript/base/gxclist.c:946,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxclist.c:948,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - cldev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 951
    functionName: clist_put_current_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - gs_c_param_list_release
    - cmd_put_params
    - gs_c_param_list_read
    - gs_c_param_list_write
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clist_put_current_params(gx_device_clist_writer *cldev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclist.c:968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - y
    - band_start
    argTypes:
    - gx_device*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 969
    functionName: clist_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: int
    signature: int clist_get_band(gx_device * dev, int y, int *band_start)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cdev
    - hashcode
    argTypes:
    - gx_device_clist_writer*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 989
    functionName: clist_icc_searchtable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool clist_icc_searchtable(gx_device_clist_writer *cdev, int64_t hashcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1002,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - icc_table
    argTypes:
    - clist_icctable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 1006
    functionName: clist_free_icc_table_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void clist_free_icc_table_contents(clist_icctable_t *icc_table)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_free_icc_table_contents
      Src: /src/libspectre/ghostscript/base/gxclist.c:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1014
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1014
    functionName: clist_icc_table_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - clist_free_icc_table_contents
    linkageType: ''
    returnType: void
    signature: void clist_icc_table_finalize(const gs_memory_t *memory, void * vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:1023,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - icc_table
    - memory
    argTypes:
    - clist_icctable_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1017
    functionDepth: 0
    functionLinenumber: 1017
    functionLinenumberEnd: 1025
    functionName: clist_free_icc_table
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 5
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_free_icc_table(clist_icctable_t *icc_table, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_icc_addprofile
      Src: /src/libspectre/ghostscript/base/gxclist.c:1046,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1049,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclist.c:1056,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclist.c:1058,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclist.c:1060,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclist.c:1064,1
    - Dst: cmd_write_pseudo_band
      Src: /src/libspectre/ghostscript/base/gxclist.c:1069,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:1070,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - cldev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1072
    functionName: clist_icc_writetable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - cmd_write_pseudo_band
    - gsicc_adjust_profile_rc
    - gs_alloc_bytes
    - gs_rethrow
    - clist_icc_addprofile
    - memcpy
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_icc_writetable(gx_device_clist_writer *cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclist.c:1090,1
    - Dst: gsicc_profile_serialize
      Src: /src/libspectre/ghostscript/base/gxclist.c:1092,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclist.c:1094,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclist.c:1095,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclist.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cldev
    - iccprofile
    - size
    argTypes:
    - gx_device_clist_writer*
    - cmm_profile_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1076
    functionDepth: 1
    functionLinenumber: 1076
    functionLinenumberEnd: 1101
    functionName: clist_icc_addprofile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - gx_device_clist_writer*::page_info::io_procs::ftell
    - if_debug1m
    - gsicc_profile_serialize
    - gx_device_clist_writer*::page_info::io_procs::fwrite_chars
    linkageType: ''
    returnType: int64_t
    signature: int64_t clist_icc_addprofile(gx_device_clist_writer *cldev, cmm_profile_t
      *iccprofile, int *size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gxclist.c:1117,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclist.c:1125,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclist.c:1129,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:1133,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1141,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclist.c:1142,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclist.c:1145,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclist.c:1164,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclist.c:1169,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:1173,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 3
    argNames:
    - cdev
    - hashcode_in
    - icc_profile
    argTypes:
    - gx_device_clist_writer*
    - int64_t
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1187
    functionName: clist_icc_addentry
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gsicc_adjust_profile_rc
    - gs_rethrow
    - memset
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int clist_icc_addentry(gx_device_clist_writer *cdev, int64_t hashcode_in,
      cmm_profile_t *icc_profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclist.c:1197,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclist.c:1200,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclist.c:1202,1
    - Dst: cmd_write_pseudo_band
      Src: /src/libspectre/ghostscript/base/gxclist.c:1205,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:1207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - cldev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1209
    functionName: clist_write_color_usage_array
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - cmd_write_pseudo_band
    - gs_alloc_bytes
    - gs_rethrow
    - memcpy
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_write_color_usage_array(gx_device_clist_writer *cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclist.c:1231,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - cldev
    - y
    - height
    - color_usage
    - range_start
    argTypes:
    - gx_device_clist_writer*
    - int
    - int
    - gx_color_usage_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1215
    functionDepth: 0
    functionLinenumber: 1215
    functionLinenumberEnd: 1232
    functionName: clist_writer_color_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: int
    signature: "int clist_writer_color_usage(gx_device_clist_writer *cldev, int y,
      int height,\n                     gx_color_usage_t *color_usage, int *range_start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclist.c:1237,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1242,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclist.c:1243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cdev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1253
    functionName: clist_writer_push_no_cropping
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - if_debug4m
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int clist_writer_push_no_cropping(gx_device_clist_writer *cdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_writer_push_no_cropping
      Src: /src/libspectre/ghostscript/base/gxclist.c:1258,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclist.c:1262,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclist.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cdev
    - ry
    - rheight
    argTypes:
    - gx_device_clist_writer*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1255
    functionDepth: 2
    functionLinenumber: 1255
    functionLinenumberEnd: 1265
    functionName: clist_writer_push_cropping
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - min
    - clist_writer_push_no_cropping
    - max
    linkageType: ''
    returnType: int
    signature: int clist_writer_push_cropping(gx_device_clist_writer *cdev, int ry,
      int rheight)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1273,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclist.c:1280,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclist.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cdev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1284
    functionName: clist_writer_pop_cropping
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - if_debug4m
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_writer_pop_cropping(gx_device_clist_writer *cdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclist.c:1290,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cdev
    argTypes:
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1294
    functionName: clist_writer_check_empty_cropping_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 1
    functionsReached:
    - return_error
    - if_debug1m
    linkageType: ''
    returnType: int
    signature: int clist_writer_check_empty_cropping_stack(gx_device_clist_writer
      *cdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclist.c:1304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1306,1
    - Dst: gx_band_page_info_t*::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclist.c:1307,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cdev
    - select
    argTypes:
    - gx_device_clist*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1312
    functionName: clist_data_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_band_page_info_t*::io_procs::ftell
    - gx_band_page_info_t*::io_procs::fseek
    linkageType: ''
    returnType: int
    signature: int clist_data_size(const gx_device_clist *cdev, int select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclist.c:1323,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1325,1
    - Dst: gx_band_page_info_t*::io_procs::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclist.c:1328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - cdev
    - select
    - offset
    - buf
    - length
    argTypes:
    - gx_device_clist*
    - int
    - int64_t
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1315
    functionDepth: 1
    functionLinenumber: 1315
    functionLinenumberEnd: 1329
    functionName: clist_get_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_band_page_info_t*::io_procs::fread_chars
    - gx_band_page_info_t*::io_procs::fseek
    linkageType: ''
    returnType: int
    signature: int clist_get_data(const gx_device_clist *cdev, int select, int64_t
      offset, byte *buf, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_band_page_info_t*::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclist.c:1339,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclist.c:1344,1
    - Dst: gx_band_page_info_t*::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclist.c:1348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - cdev
    - select
    - offset
    - buf
    - length
    argTypes:
    - gx_device_clist*
    - int
    - int64_t
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1349
    functionName: clist_put_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_band_page_info_t*::io_procs::ftell
    - gx_band_page_info_t*::io_procs::fwrite_chars
    linkageType: ''
    returnType: int
    signature: int clist_put_data(const gx_device_clist *cdev, int select, int64_t
      offset, const byte *buf, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclist.c:1357,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclist.c:1363,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gxclist.c:1370,1
    - Dst: gx_device_copy_color_params
      Src: /src/libspectre/ghostscript/base/gxclist.c:1393,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gxclist.c:1394,1
    - Dst: clist_init_io_procs
      Src: /src/libspectre/ghostscript/base/gxclist.c:1395,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclist.c:1398,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1404,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1405,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxclist.c:1406,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 50
    argCount: 10
    argNames:
    - mem
    - target
    - dname
    - base
    - space
    - buf_procs
    - band_params
    - use_memory_clist
    - uses_transparency
    - pinst
    argTypes:
    - gs_memory_t*
    - gx_device*
    - char*
    - void*
    - int
    - gx_device_buf_procs_t*
    - gx_band_params_t*
    - bool
    - bool
    - gs_pattern1_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1430
    functionName: clist_make_accum_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached:
    - gx_device_copy_color_params
    - rc_assign
    - rc_init
    - memset
    - clist_init_io_procs
    - memcpy
    - set_dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_device_clist
    signature: "gx_device_clist *\nclist_make_accum_device(gs_memory_t *mem, gx_device
      *target, const char *dname, void *base, int space,\n                        gx_device_buf_procs_t
      *buf_procs, gx_band_params_t *band_params,\n                        bool use_memory_clist,
      bool uses_transparency,\n                        gs_pattern1_instance_t *pinst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1433
    functionDepth: 0
    functionLinenumber: 1433
    functionLinenumberEnd: 1435
    functionName: DEVICE_MUTATED_TO_CLIST
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEVICE_MUTATED_TO_CLIST(pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pto
    - ','
    - pfrom
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 158
    functionName: GSTATE_ASSIGN_PARTS
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GSTATE_ASSIGN_PARTS(pto, pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - dto
    - dfrom
    - reason
    argTypes:
    - gs_gstate*
    - void*
    - void*
    - gs_gstate_copy_reason_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: gstate_copy_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gstate_copy_client_data(gs_gstate * pgs, void *dto, void *dfrom,\n
      \                       gs_gstate_copy_reason_t reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gsstate.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: gstate_path_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_memory_stable
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gstate_path_memory(gs_memory_t *mem)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gstate_alloc
      Src: /src/libspectre/ghostscript/base/gsstate.c:191,1
    - Dst: gstate_path_memory
      Src: /src/libspectre/ghostscript/base/gsstate.c:192,1
    - Dst: GS_STATE_INIT_VALUES
      Src: /src/libspectre/ghostscript/base/gsstate.c:197,1
    - Dst: gs_gstate_initialize
      Src: /src/libspectre/ghostscript/base/gsstate.c:212,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gsstate.c:218,1
    - Dst: gx_cpath_alloc
      Src: /src/libspectre/ghostscript/base/gsstate.c:225,1
    - Dst: gs_nulldevice
      Src: /src/libspectre/ghostscript/base/gsstate.c:233,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gsstate.c:236,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gsstate.c:237,1
    - Dst: gs_setalphaisshape
      Src: /src/libspectre/ghostscript/base/gsstate.c:238,1
    - Dst: gs_settransfer
      Src: /src/libspectre/ghostscript/base/gsstate.c:239,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gsstate.c:240,1
    - Dst: gs_setfilladjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:241,1
    - Dst: gs_setlimitclamp
      Src: /src/libspectre/ghostscript/base/gsstate.c:242,1
    - Dst: gs_setstrokeadjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:243,1
    - Dst: gs_initgraphics
      Src: /src/libspectre/ghostscript/base/gsstate.c:250,1
    - Dst: gs_gstate_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:254,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 50
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 256
    functionName: gs_gstate_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_settransfer
    - gs_setfilladjust
    - gs_setalphaisshape
    - rc_alloc_struct_1
    - gs_setfillconstantalpha
    - gs_setstrokeadjust
    - gs_gstate_free
    - gx_cpath_alloc
    - gs_setflat
    - gs_initgraphics
    - gstate_path_memory
    - gs_setstrokeconstantalpha
    - gs_gstate_initialize
    - GS_STATE_INIT_VALUES
    - gs_nulldevice
    - gs_setlimitclamp
    - gstate_alloc
    linkageType: ''
    returnType: gs_gstate
    signature: 'gs_gstate *

      gs_gstate_alloc(gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pgs
    - pdata
    - pprocs
    - client_has_pattern_streams
    argTypes:
    - gs_gstate*
    - void*
    - gs_gstate_client_procs*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: gs_gstate_set_client
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_gstate_set_client(gs_gstate * pgs, void *pdata,\n                    const
      gs_gstate_client_procs * pprocs, bool client_has_pattern_streams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: gs_gstate_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_gstate_client_data(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: gs_gstate_free_chain
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_gstate_free
    linkageType: ''
    returnType: int
    signature: int gs_gstate_free_chain(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gstate_free_contents
      Src: /src/libspectre/ghostscript/base/gsstate.c:295,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 298
    functionName: gs_gstate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 3
    functionsReached:
    - gstate_free_contents
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_gstate_free(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gstate_clone
      Src: /src/libspectre/ghostscript/base/gsstate.c:304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:308,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsstate.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 325
    functionName: gs_gsave
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 6
    functionsReached:
    - return_error
    - gstate_clone
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int gs_gsave(gs_gstate * pgs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_alloc_shared
      Src: /src/libspectre/ghostscript/base/gsstate.c:341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:344,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsstate.c:348,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsstate.c:358,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:362,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pgs
    - psaved
    argTypes:
    - gs_gstate*
    - gs_gstate**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 370
    functionName: gs_gsave_for_save
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gx_cpath_free
    - gx_cpath_alloc_shared
    - gs_grestore
    - return_error
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int gs_gsave_for_save(gs_gstate * pgs, gs_gstate ** psaved)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsstate.c:381,1
    - Dst: gstate_copy_client_data
      Src: /src/libspectre/ghostscript/base/gsstate.c:392,1
    - Dst: gstate_free_contents
      Src: /src/libspectre/ghostscript/base/gsstate.c:393,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:399,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 402
    functionName: gs_grestore_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gstate_free_contents
    - gstate_copy_client_data
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int gs_grestore_only(gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsstate.c:410,1
    - Dst: gs_grestore_only
      Src: /src/libspectre/ghostscript/base/gsstate.c:411,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsstate.c:418,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 419
    functionName: gs_grestore
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 10
    functionsReached:
    - gs_grestore_only
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int gs_grestore(gs_gstate * pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:429,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:437,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:441,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pgs
    - saved
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 423
    functionDepth: 3
    functionLinenumber: 423
    functionLinenumberEnd: 445
    functionName: gs_grestoreall_for_restore
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gx_cpath_free
    - gs_grestore
    linkageType: ''
    returnType: int
    signature: int gs_grestoreall_for_restore(gs_gstate * pgs, gs_gstate * saved)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsstate.c:452,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:454,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsstate.c:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 460
    functionName: gs_grestoreall
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_grestore
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int gs_grestoreall(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gstate_clone
      Src: /src/libspectre/ghostscript/base/gsstate.c:471,1
    - Dst: clip_stack_rc_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 486
    functionName: gs_gstate_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - gstate_clone
    - clip_stack_rc_adjust
    linkageType: ''
    returnType: gs_gstate
    signature: 'gs_gstate *

      gs_gstate_copy(gs_gstate * pgs, gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gstate_copy
      Src: /src/libspectre/ghostscript/base/gsstate.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pto
    - pfrom
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 493
    functionName: gs_copygstate
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gstate_copy
    linkageType: ''
    returnType: int
    signature: int gs_copygstate(gs_gstate * pto, const gs_gstate * pfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gstate_copy
      Src: /src/libspectre/ghostscript/base/gsstate.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pto
    - pgs
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 505
    functionName: gs_currentgstate
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gstate_copy
    linkageType: ''
    returnType: int
    signature: int gs_currentgstate(gs_gstate * pto, const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gstate_copy
      Src: /src/libspectre/ghostscript/base/gsstate.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pfrom
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 530
    functionName: gs_setgstate
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gstate_copy
    linkageType: ''
    returnType: int
    signature: int gs_setgstate(gs_gstate * pgs, const gs_gstate * pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: gs_gstate_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_gstate_memory(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 547
    functionName: gs_gstate_saved
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_gstate
    signature: 'gs_gstate *

      gs_gstate_saved(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - new_saved
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 558
    functionName: gs_gstate_swap_saved
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_gstate
    signature: 'gs_gstate *

      gs_gstate_swap_saved(gs_gstate * pgs, gs_gstate * new_saved)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 569
    functionName: gs_gstate_swap_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_gstate_swap_memory(gs_gstate * pgs, gs_memory_t * mem)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_create_overprint
      Src: /src/libspectre/ghostscript/base/gsstate.c:587,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsstate.c:589,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/base/gsstate.c:597,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsstate.c:599,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:605,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pgs
    - pparams
    argTypes:
    - gs_gstate*
    - gs_overprint_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 611
    functionName: gs_gstate_update_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_create_overprint
    - rc_decrement
    - gx_set_device_only
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_gstate_update_overprint(gs_gstate * pgs, const gs_overprint_params_t
      * pparams)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gsstate.c:632,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gsstate.c:633,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gsstate.c:636,1
    - Dst: gs_client_color*::pattern::type::procs::set_color
      Src: /src/libspectre/ghostscript/base/gsstate.c:637,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsstate.c:641,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsstate.c:643,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsstate.c:651,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsstate.c:677,1
    - Dst: gs_color_space*::type::set_overprint
      Src: /src/libspectre/ghostscript/base/gsstate.c:681,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 684
    functionName: gs_do_set_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - cs_num_components
    - gs_currentcolor_inline
    - gs_color_space*::type::set_overprint
    - if_debug2m
    - gs_currentcolorspace_inline
    - dev_proc
    - gs_client_color*::pattern::type::procs::set_color
    linkageType: ''
    returnType: int
    signature: int gs_do_set_overprint(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - ovp
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 696
    functionName: gs_setoverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setoverprint(gs_gstate * pgs, bool ovp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 703
    functionName: gs_currentoverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentoverprint(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - ovp
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: gs_setstrokeoverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setstrokeoverprint(gs_gstate * pgs, bool ovp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: gs_currentstrokeoverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentstrokeoverprint(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - ovp
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 724
    functionName: gs_setfilloverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setfilloverprint(gs_gstate * pgs, bool ovp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: gs_currentfilloverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentfilloverprint(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - mode
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 742
    functionName: gs_setoverprintmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setoverprintmode(gs_gstate * pgs, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 749
    functionName: gs_currentoverprintmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_currentoverprintmode(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsstate.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - mode
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: gs_setcpsimode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: void
    signature: void gs_setcpsimode(gs_memory_t *mem, bool mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsstate.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: gs_currentcpsimode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: bool
    signature: bool gs_currentcpsimode(const gs_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_getscanconverter
      Src: /src/libspectre/ghostscript/base/gsstate.c:776,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsstate.c:778,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsstate.c:778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 782
    functionName: sanitize_fill_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gs_getscanconverter
    linkageType: ''
    returnType: void
    signature: void sanitize_fill_adjust(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsstate.c:787,1
    - Dst: sanitize_fill_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - gs
    - converter
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 784
    functionDepth: 2
    functionLinenumber: 784
    functionLinenumberEnd: 792
    functionName: gs_setscanconverter
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    - sanitize_fill_adjust
    linkageType: ''
    returnType: void
    signature: void gs_setscanconverter(gs_gstate * gs, int converter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsstate.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: gs_getscanconverter
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: int
    signature: int gs_getscanconverter(const gs_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:815,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - ri
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 818
    functionName: gs_setrenderingintent
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setrenderingintent(gs_gstate *pgs, int ri)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: gs_currentrenderingintent
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_currentrenderingintent(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - bkpt
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 831
    functionName: gs_setblackptcomp
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setblackptcomp(gs_gstate *pgs, bool bkpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 838
    functionName: gs_currentblackptcomp
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentblackptcomp(const gs_gstate * pgs)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_initial
      Src: /src/libspectre/ghostscript/base/gsstate.c:848,1
    - Dst: gs_initmatrix
      Src: /src/libspectre/ghostscript/base/gsstate.c:851,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsstate.c:852,1
    - Dst: gs_initclip
      Src: /src/libspectre/ghostscript/base/gsstate.c:853,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gsstate.c:854,1
    - Dst: gs_setlinestartcap
      Src: /src/libspectre/ghostscript/base/gsstate.c:855,1
    - Dst: gs_setlineendcap
      Src: /src/libspectre/ghostscript/base/gsstate.c:856,1
    - Dst: gs_setlinedashcap
      Src: /src/libspectre/ghostscript/base/gsstate.c:857,1
    - Dst: gs_setlinejoin
      Src: /src/libspectre/ghostscript/base/gsstate.c:858,1
    - Dst: gs_setcurvejoin
      Src: /src/libspectre/ghostscript/base/gsstate.c:859,1
    - Dst: gs_setdash
      Src: /src/libspectre/ghostscript/base/gsstate.c:860,1
    - Dst: gs_setdashadapt
      Src: /src/libspectre/ghostscript/base/gsstate.c:861,1
    - Dst: gs_setdotlength
      Src: /src/libspectre/ghostscript/base/gsstate.c:862,1
    - Dst: gs_setdotorientation
      Src: /src/libspectre/ghostscript/base/gsstate.c:863,1
    - Dst: gs_setmiterlimit
      Src: /src/libspectre/ghostscript/base/gsstate.c:864,1
    - Dst: gs_init_rop
      Src: /src/libspectre/ghostscript/base/gsstate.c:867,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsstate.c:872,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:874,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:877,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gsstate.c:878,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:881,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsstate.c:883,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:887,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsstate.c:889,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:891,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:894,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gsstate.c:895,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:898,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsstate.c:900,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:902,1
    - Dst: gs_cspace_new_ICC
      Src: /src/libspectre/ghostscript/base/gsstate.c:910,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:912,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:915,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gsstate.c:916,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:919,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsstate.c:921,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:925,1
    - Dst: gs_cspace_new_ICC
      Src: /src/libspectre/ghostscript/base/gsstate.c:926,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:928,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:931,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gsstate.c:932,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsstate.c:935,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsstate.c:937,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:939,1
    - Dst: gs_settextspacing
      Src: /src/libspectre/ghostscript/base/gsstate.c:946,1
    - Dst: gs_settextleading
      Src: /src/libspectre/ghostscript/base/gsstate.c:949,1
    - Dst: gs_settextrenderingmode
      Src: /src/libspectre/ghostscript/base/gsstate.c:953,1
    - Dst: gs_setwordspacing
      Src: /src/libspectre/ghostscript/base/gsstate.c:955,1
    - Dst: gs_settexthscaling
      Src: /src/libspectre/ghostscript/base/gsstate.c:958,1
    - Dst: gs_setaccuratecurves
      Src: /src/libspectre/ghostscript/base/gsstate.c:962,1
    - Dst: gs_setstrokeconstantalpha
      Src: /src/libspectre/ghostscript/base/gsstate.c:964,1
    - Dst: gs_setfillconstantalpha
      Src: /src/libspectre/ghostscript/base/gsstate.c:967,1
    - Dst: gs_setalphaisshape
      Src: /src/libspectre/ghostscript/base/gsstate.c:970,1
    - Dst: gs_setblendmode
      Src: /src/libspectre/ghostscript/base/gsstate.c:973,1
    - Dst: gs_settextknockout
      Src: /src/libspectre/ghostscript/base/gsstate.c:976,1
    - Dst: gs_setsmoothness
      Src: /src/libspectre/ghostscript/base/gsstate.c:979,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 111
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 986
    functionName: gs_initgraphics
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - gs_newpath
    - gs_setlineendcap
    - gs_setdotlength
    - gs_settextspacing
    - gs_setlinewidth
    - gs_initmatrix
    - gs_setcurvejoin
    - gs_setdotorientation
    - gs_initclip
    - rc_decrement_cs
    - gs_setdash
    - gs_setdashadapt
    - gs_setlinedashcap
    - gs_setcolorspace
    - gs_gstate_initial
    - gs_setstrokeconstantalpha
    - gs_setalphaisshape
    - gs_setwordspacing
    - gs_setmiterlimit
    - gx_set_dev_color
    - gs_settextleading
    - gs_setlinejoin
    - gs_cspace_new_ICC
    - gs_init_rop
    - gs_setsmoothness
    - gs_setfillconstantalpha
    - gs_setlinestartcap
    - gs_settexthscaling
    - gs_swapcolors_quick
    - gs_setblendmode
    - gs_settextrenderingmode
    - return_error
    - gs_cspace_new_DeviceGray
    - gs_setaccuratecurves
    - gs_settextknockout
    linkageType: ''
    returnType: int
    signature: int gs_initgraphics(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP_TO_HALF
      Src: /src/libspectre/ghostscript/base/gsstate.c:995,1
    - Dst: CLAMP_TO_HALF
      Src: /src/libspectre/ghostscript/base/gsstate.c:996,1
    - Dst: sanitize_fill_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pgs
    - adjust_x
    - adjust_y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 989
    functionDepth: 2
    functionLinenumber: 989
    functionLinenumberEnd: 1002
    functionName: gs_setfilladjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - CLAMP_TO_HALF
    - sanitize_fill_adjust
    linkageType: ''
    returnType: int
    signature: int gs_setfilladjust(gs_gstate * pgs, double adjust_x, double adjust_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: CLAMP_TO_HALF
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP_TO_HALF(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsstate.c:1008,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsstate.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - adjust
    argTypes:
    - gs_gstate*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1011
    functionName: gs_currentfilladjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_currentfilladjust(const gs_gstate * pgs, gs_point * adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - clamp
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1018
    functionName: gs_setlimitclamp
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setlimitclamp(gs_gstate * pgs, bool clamp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1021
    functionDepth: 0
    functionLinenumber: 1021
    functionLinenumberEnd: 1025
    functionName: gs_currentlimitclamp
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentlimitclamp(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - trm
    argTypes:
    - gs_gstate*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1028
    functionDepth: 0
    functionLinenumber: 1028
    functionLinenumberEnd: 1032
    functionName: gs_settextrenderingmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_settextrenderingmode(gs_gstate * pgs, uint trm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1039
    functionName: gs_currenttextrenderingmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currenttextrenderingmode(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1041
    functionDepth: 0
    functionLinenumber: 1041
    functionLinenumberEnd: 1045
    functionName: gs_currenttextspacing
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currenttextspacing(const gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsstate.c:1053,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pgs
    - Tc
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1059
    functionName: gs_settextspacing
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - gs_distance_transform2fixed
    linkageType: ''
    returnType: int
    signature: int gs_settextspacing(gs_gstate *pgs, double Tc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1065
    functionName: gs_currenttextleading
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currenttextleading(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - TL
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1072
    functionName: gs_settextleading
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_settextleading(gs_gstate *pgs, double TL)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1078
    functionName: gs_currenttextrise
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currenttextrise(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - Ts
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1080
    functionDepth: 0
    functionLinenumber: 1080
    functionLinenumberEnd: 1085
    functionName: gs_settextrise
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_settextrise(gs_gstate *pgs, double Ts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1087
    functionDepth: 0
    functionLinenumber: 1087
    functionLinenumberEnd: 1091
    functionName: gs_currentwordspacing
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currentwordspacing(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - Tw
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1093
    functionDepth: 0
    functionLinenumber: 1093
    functionLinenumberEnd: 1098
    functionName: gs_setwordspacing
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setwordspacing(gs_gstate *pgs, double Tw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - Tz
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1105
    functionName: gs_settexthscaling
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_settexthscaling(gs_gstate *pgs, double Tz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1111
    functionName: gs_currenttexthscaling
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currenttexthscaling(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - Tf
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1118
    functionName: gs_setPDFfontsize
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setPDFfontsize(gs_gstate *pgs, double Tf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1124
    functionName: gs_currentPDFfontsize
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double gs_currentPDFfontsize(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - m
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1126
    functionDepth: 0
    functionLinenumber: 1126
    functionLinenumberEnd: 1136
    functionName: gs_settextlinematrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_settextlinematrix(gs_gstate *pgs, gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - m
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1137
    functionDepth: 0
    functionLinenumber: 1137
    functionLinenumberEnd: 1147
    functionName: gs_gettextlinematrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_gettextlinematrix(gs_gstate *pgs, gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - m
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1159
    functionName: gs_settextmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_settextmatrix(gs_gstate *pgs, gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - m
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1160
    functionDepth: 0
    functionLinenumber: 1160
    functionLinenumberEnd: 1170
    functionName: gs_gettextmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_gettextmatrix(gs_gstate *pgs, gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - path
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1174
    functionDepth: 0
    functionLinenumber: 1174
    functionLinenumberEnd: 1178
    functionName: gs_sethpglpathmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_sethpglpathmode(gs_gstate * pgs, bool path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1181
    functionDepth: 0
    functionLinenumber: 1181
    functionLinenumberEnd: 1185
    functionName: gs_currenthpglpathmode
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currenthpglpathmode(const gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1193,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1194,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1195,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1196,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:1202,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:1205,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - parts
    - mem
    - cname
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1190
    functionDepth: 1
    functionLinenumber: 1190
    functionLinenumberEnd: 1211
    functionName: gstate_free_parts
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_cpath_free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gstate_free_parts(gs_gstate * parts, gs_memory_t * mem, client_name_t
      cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gstate_path_memory
      Src: /src/libspectre/ghostscript/base/gsstate.c:1218,1
    - Dst: gx_path_alloc_shared
      Src: /src/libspectre/ghostscript/base/gsstate.c:1222,1
    - Dst: gx_path_alloc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1224,1
    - Dst: gx_cpath_alloc_shared
      Src: /src/libspectre/ghostscript/base/gsstate.c:1227,1
    - Dst: gx_cpath_alloc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1229,1
    - Dst: gx_cpath_alloc_shared
      Src: /src/libspectre/ghostscript/base/gsstate.c:1235,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsstate.c:1242,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsstate.c:1244,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsstate.c:1246,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsstate.c:1248,1
    - Dst: gstate_free_parts
      Src: /src/libspectre/ghostscript/base/gsstate.c:1254,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsstate.c:1255,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - parts
    - shared
    - mem
    - cname
    argTypes:
    - gs_gstate*
    - gs_gstate*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1214
    functionDepth: 2
    functionLinenumber: 1214
    functionLinenumberEnd: 1258
    functionName: gstate_alloc_parts
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gx_path_alloc_shared
    - gx_path_alloc
    - gx_cpath_alloc_shared
    - gx_cpath_alloc
    - gstate_free_parts
    - gstate_path_memory
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gstate_alloc_parts(gs_gstate * parts, const gs_gstate * shared,\n
      \                  gs_memory_t * mem, client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsstate.c:1270,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsstate.c:1274,1
    - Dst: gstate_alloc_parts
      Src: /src/libspectre/ghostscript/base/gsstate.c:1275,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - cname
    - pfrom
    argTypes:
    - gs_memory_t*
    - client_name_t
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1281
    functionName: gstate_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - memset
    - gs_free_object
    - gstate_alloc_parts
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_gstate
    signature: 'gs_gstate *

      gstate_alloc(gs_memory_t * mem, client_name_t cname, const gs_gstate * pfrom)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_dash
      Src: /src/libspectre/ghostscript/base/gsstate.c:1287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - dash
    - pfrom
    argTypes:
    - gs_memory_t*
    - gx_dash_params*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1290
    functionName: gstate_copy_dash
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gx_set_dash
    linkageType: ''
    returnType: int
    signature: int gstate_copy_dash(gs_memory_t *mem, gx_dash_params *dash , const
      gs_gstate * pfrom)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gstate_alloc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1300,1
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1307,1
    - Dst: gstate_copy_client_data
      Src: /src/libspectre/ghostscript/base/gsstate.c:1312,1
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gsstate.c:1317,1
    - Dst: gstate_copy_dash
      Src: /src/libspectre/ghostscript/base/gsstate.c:1322,1
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gsstate.c:1328,1
    - Dst: gs_gstate_copied
      Src: /src/libspectre/ghostscript/base/gsstate.c:1331,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsstate.c:1334,1
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1343,1
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1347,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1349,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1350,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1351,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1352,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsstate.c:1357,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1358,1
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1359,1
    - Dst: gstate_free_parts
      Src: /src/libspectre/ghostscript/base/gsstate.c:1360,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 4
    argNames:
    - pfrom
    - mem
    - cname
    - reason
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    - client_name_t
    - gs_gstate_copy_reason_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1296
    functionDepth: 4
    functionLinenumber: 1296
    functionLinenumberEnd: 1363
    functionName: gstate_clone
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 2
    functionsReached:
    - gs_gstate_copied
    - rc_increment
    - cs_adjust_counts_icc
    - gstate_copy_client_data
    - memset
    - gs_swapcolors_quick
    - gs_free_object
    - GSTATE_ASSIGN_PARTS
    - gs_currentlineparams_inline
    - gstate_free_parts
    - gstate_copy_dash
    - gstate_alloc
    linkageType: ''
    returnType: gs_gstate
    signature: "gs_gstate *\ngstate_clone(gs_gstate * pfrom, gs_memory_t * mem, client_name_t
      cname,\n             gs_gstate_copy_reason_t reason)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cs
    - delta
    - cname
    argTypes:
    - gx_clip_stack_t*
    - int
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1367
    functionDepth: 1
    functionLinenumber: 1367
    functionLinenumberEnd: 1377
    functionName: clip_stack_rc_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached:
    - rc_adjust
    linkageType: ''
    returnType: void
    signature: void clip_stack_rc_adjust(gx_clip_stack_t *cs, int delta, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gstate_free_contents
      Src: /src/libspectre/ghostscript/base/gsstate.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1392
    functionName: gs_gstate_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 0
    functionsReached:
    - gstate_free_contents
    linkageType: ''
    returnType: void
    signature: void gs_gstate_finalize(const gs_memory_t *cmem,void *vptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsstate.c:1402,1
    - Dst: clip_stack_rc_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:1404,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsstate.c:1407,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1413,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1414,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1415,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1416,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsstate.c:1419,1
    - Dst: gstate_free_parts
      Src: /src/libspectre/ghostscript/base/gsstate.c:1421,1
    - Dst: gs_gstate_release
      Src: /src/libspectre/ghostscript/base/gsstate.c:1422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1423
    functionName: gstate_free_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 3
    functionsReached:
    - gs_gstate_release
    - gx_cpath_free
    - cs_adjust_counts_icc
    - clip_stack_rc_adjust
    - gs_swapcolors_quick
    - gstate_free_parts
    - rc_decrement
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gstate_free_contents(gs_gstate * pgs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1432,1
    - Dst: gstate_copy_dash
      Src: /src/libspectre/ghostscript/base/gsstate.c:1435,1
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gsstate.c:1436,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1447,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1448,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1449,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1450,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsstate.c:1451,1
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsstate.c:1452,1
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsstate.c:1466,1
    - Dst: rc_pre_assign
      Src: /src/libspectre/ghostscript/base/gsstate.c:1473,1
    - Dst: clip_stack_rc_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:1475,1
    - Dst: clip_stack_rc_adjust
      Src: /src/libspectre/ghostscript/base/gsstate.c:1476,1
    - Dst: gs_gstate_pre_assign
      Src: /src/libspectre/ghostscript/base/gsstate.c:1485,1
    - Dst: gstate_copy_client_data
      Src: /src/libspectre/ghostscript/base/gsstate.c:1495,1
    - Dst: GSTATE_ASSIGN_PARTS
      Src: /src/libspectre/ghostscript/base/gsstate.c:1499,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1500,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1501,1
    - Dst: cs_adjust_counts_icc
      Src: /src/libspectre/ghostscript/base/gsstate.c:1502,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gsstate.c:1503,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 4
    argNames:
    - pto
    - pfrom
    - reason
    - cname
    argTypes:
    - gs_gstate*
    - gs_gstate*
    - gs_gstate_copy_reason_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1426
    functionDepth: 2
    functionLinenumber: 1426
    functionLinenumberEnd: 1507
    functionName: gstate_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 4
    functionsReached:
    - gx_cpath_assign_preserve
    - gx_path_assign_preserve
    - cs_adjust_counts_icc
    - clip_stack_rc_adjust
    - gstate_copy_client_data
    - gs_gstate_pre_assign
    - gs_swapcolors_quick
    - GSTATE_ASSIGN_PARTS
    - gs_currentlineparams_inline
    - rc_pre_assign
    - gstate_copy_dash
    linkageType: ''
    returnType: int
    signature: "int gstate_copy(gs_gstate * pto, const gs_gstate * pfrom,\n            gs_gstate_copy_reason_t
      reason, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1513
    functionName: gx_get_clip_path_id
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_id
    signature: gs_id gx_get_clip_path_id(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - cpgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1515
    functionDepth: 0
    functionLinenumber: 1515
    functionLinenumberEnd: 1561
    functionName: gs_swapcolors_quick
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_swapcolors_quick(const gs_gstate *cpgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - porder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: ht_order_is_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ht_order_is_complete(porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - porder
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: ht_order_full_height
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ht_order_full_height(porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    functionName: public_st_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_ht_order()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 266
    functionName: private_st_ht_order_component
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_ht_order_component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: public_st_ht_order_comp_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_ht_order_comp_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 302
    functionName: public_st_device_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_halftone()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: rc_free_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_free_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: IF_RC_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_RC_DEBUG(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: IF_RC_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_RC_DEBUG(call)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vp
    - ','
    - mem
    - ','
    - rcinit
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 89
    functionName: rc_init_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_init_free(vp, mem, rcinit, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vp
    - ','
    - mem
    - ','
    - rcinit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: rc_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_init(vp, mem, rcinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - vp
    - ','
    - typ
    - ','
    - pstyp
    - ','
    - mem
    - ','
    - errstat
    - ','
    - cname
    - ','
    - rcinit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: rc_alloc_struct_n
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_alloc_struct_n(vp, typ, pstyp, mem, errstat, cname, rcinit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - vp
    - ','
    - typ
    - ','
    - pstype
    - ','
    - mem
    - ','
    - errstat
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: rc_alloc_struct_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_alloc_struct_0(vp, typ, pstype, mem, errstat, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - vp
    - ','
    - typ
    - ','
    - pstype
    - ','
    - mem
    - ','
    - errstat
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: rc_alloc_struct_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_alloc_struct_1(vp, typ, pstype, mem, errstat, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 110
    functionName: rc_free_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_free_struct(vp, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    functionName: RC_DO_INCREMENT
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RC_DO_INCREMENT(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: rc_increment
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_increment(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - vp
    - ','
    - typ
    - ','
    - pstype
    - ','
    - mem
    - ','
    - errstat
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 132
    functionName: rc_allocate_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_allocate_struct(vp, typ, pstype, mem, errstat, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vp
    - ','
    - delta
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: RC_DO_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RC_DO_ADJUST(vp, delta, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - vp
    - ','
    - typ
    - ','
    - pstype
    - ','
    - mem
    - ','
    - errstat
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: rc_unshare_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_unshare_struct(vp, typ, pstype, mem, errstat, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: rc_check_
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_check_(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: rc_check_
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_check_(vp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vp
    - ','
    - delta
    - ','
    - cname
    - ','
    - body
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: rc_adjust_
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_adjust_(vp, delta, cname, body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vp
    - ','
    - delta
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    functionName: rc_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_adjust(vp, delta, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vp
    - ','
    - delta
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: rc_adjust_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_adjust_only(vp, delta, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vp
    - ','
    - delta
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: rc_adjust_const
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_adjust_const(vp, delta, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: rc_decrement
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_decrement(vp, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vp
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: rc_decrement_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_decrement_only(vp, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vpto
    - ','
    - vpfrom
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: rc_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_assign(vpto, vpfrom, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vpto
    - ','
    - vpfrom
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: rc_pre_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gsrefct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rc_pre_assign(vpto, vpfrom, cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::final
      Src: /src/libspectre/ghostscript/base/gscspace.c:105,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gscspace.c:106,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscspace.c:107,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscspace.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 114
    functionName: gs_cspace_final
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only_cs
    - gs_color_space*::type::final
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void gs_cspace_final(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gscspace.c:122,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gscspace.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - mem
    - id
    - pcstype
    argTypes:
    - gs_memory_t*
    - ulong
    - gs_color_space_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 136
    functionName: gs_cspace_alloc_with_id
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - rc_alloc_struct_1
    linkageType: ''
    returnType: gs_color_space
    signature: "gs_color_space *\ngs_cspace_alloc_with_id(gs_memory_t *mem, ulong
      id,\n                   const gs_color_space_type *pcstype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc_with_id
      Src: /src/libspectre/ghostscript/base/gscspace.c:149,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gscspace.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - pcstype
    argTypes:
    - gs_memory_t*
    - gs_color_space_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: gs_cspace_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - gs_next_ids
    - gs_cspace_alloc_with_id
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_alloc(gs_memory_t *mem, const gs_color_space_type *pcstype)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc_with_id
      Src: /src/libspectre/ghostscript/base/gscspace.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: gs_cspace_new_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 6
    functionsReached:
    - gs_cspace_alloc_with_id
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_new_DeviceGray(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc_with_id
      Src: /src/libspectre/ghostscript/base/gscspace.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: gs_cspace_new_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 3
    functionsReached:
    - gs_cspace_alloc_with_id
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_new_DeviceRGB(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc_with_id
      Src: /src/libspectre/ghostscript/base/gscspace.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 172
    functionName: gs_cspace_new_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 2
    functionsReached:
    - gs_cspace_alloc_with_id
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_new_DeviceCMYK(gs_memory_t *mem)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscspace.c:178,1
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gscspace.c:186,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:186,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscspace.c:190,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gscspace.c:194,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:194,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gscspace.c:195,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscspace.c:197,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gscspace.c:203,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscspace.c:206,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gscspace.c:213,1
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gscspace.c:217,1
    - Dst: gscms_get_output_channel_count
      Src: /src/libspectre/ghostscript/base/gscspace.c:219,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/base/gscspace.c:221,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/base/gscspace.c:222,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - pmem
    - pgs
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: gs_cspace_new_scrgb
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gscms_get_profile_data_space
    - gs_cspace_alloc
    - gsicc_open_search
    - gsicc_get_profile_handle_buffer
    - gscms_get_output_channel_count
    - strlen
    - gsicc_set_icc_range
    - gsicc_profile_new
    - gscms_get_input_channel_count
    - rc_decrement
    - sfclose
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_new_scrgb(gs_memory_t *pmem, gs_gstate * pgs)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscspace.c:231,1
    - Dst: gsicc_initialize_iccsmask
      Src: /src/libspectre/ghostscript/base/gscspace.c:239,1
    - Dst: gsicc_initialize_iccsmask
      Src: /src/libspectre/ghostscript/base/gscspace.c:250,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscspace.c:262,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscspace.c:264,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pmem
    - pgs
    - components
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 266
    functionName: gs_cspace_new_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - rc_decrement
    - gsicc_adjust_profile_rc
    - gs_cspace_alloc
    - gsicc_initialize_iccsmask
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_new_ICC(gs_memory_t *pmem, gs_gstate * pgs, int components)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: gs_color_space_get_index
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space_index
    signature: gs_color_space_index gs_color_space_get_index(const gs_color_space
      * pcs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscspace.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 291
    functionName: gs_color_space_is_CIE
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool gs_color_space_is_CIE(const gs_color_space * pcs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscspace.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 306
    functionName: gs_color_space_is_PSCIE
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool gs_color_space_is_PSCIE(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscspace.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: gs_color_space_is_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool gs_color_space_is_ICC(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscspace.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: gs_color_space_num_components
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 19
    functionsReached:
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: int gs_color_space_num_components(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_restrict_color
      Src: /src/libspectre/ghostscript/base/gscspace.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 326
    functionName: gs_color_space_restrict_color
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - cs_restrict_color
    linkageType: ''
    returnType: void
    signature: void gs_color_space_restrict_color(gs_client_color *pcc, const gs_color_space
      *pcs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_iccmanager
      Src: /src/libspectre/ghostscript/base/gscspace.c:338,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscspace.c:345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 348
    functionName: gx_install_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gsicc_init_iccmanager
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: int
    signature: int gx_install_DeviceGray(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: gx_num_components_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_num_components_1(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: gx_num_components_3
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_num_components_3(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: gx_num_components_4
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_num_components_4(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: gx_polarity_subtractive
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_polarity_t
    signature: gx_color_polarity_t gx_polarity_subtractive(const gs_color_space *
      pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 376
    functionName: gx_polarity_additive
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_polarity_t
    signature: gx_color_polarity_t gx_polarity_additive(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 382
    functionName: gx_polarity_unknown
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_polarity_t
    signature: gx_color_polarity_t gx_polarity_unknown(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 392
    functionName: gs_cspace_base_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_base_space(const gs_color_space * pcspace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 398
    functionName: gs_cspace_devn_process_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_cspace_devn_process_space(const gs_color_space * pcspace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscspace.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 407
    functionName: rc_increment_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - rc_increment
    linkageType: ''
    returnType: void
    signature: void rc_increment_cs(gs_color_space *pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscspace.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcs
    - cname
    argTypes:
    - gs_color_space*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 414
    functionName: rc_decrement_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 4
    functionsReached:
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void rc_decrement_cs(gs_color_space *pcs, const char *cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gscspace.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcs
    - cname
    argTypes:
    - gs_color_space*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: rc_decrement_only_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 4
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: void rc_decrement_only_cs(gs_color_space *pcs, const char *cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscspace.c:425,1
    - Dst: cs_adjust_counts
      Src: /src/libspectre/ghostscript/base/gscspace.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - delta
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 430
    functionName: cs_adjust_counts_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 3
    functionsReached:
    - gs_currentcolorspace_inline
    - cs_adjust_counts
    linkageType: ''
    returnType: void
    signature: void cs_adjust_counts_icc(gs_gstate *pgs, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 439
    functionName: gx_no_install_cspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_no_install_cspace(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_iccmanager
      Src: /src/libspectre/ghostscript/base/gscspace.c:451,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscspace.c:455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 458
    functionName: gx_install_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gsicc_init_iccmanager
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: int
    signature: int gx_install_DeviceRGB(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_init_iccmanager
      Src: /src/libspectre/ghostscript/base/gscspace.c:470,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscspace.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 477
    functionName: gx_install_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gsicc_init_iccmanager
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: int
    signature: int gx_install_DeviceCMYK(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 496
    functionName: gx_set_no_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_no_overprint(gs_gstate* pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gscspace.c:513,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:524,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 502
    functionDepth: 2
    functionLinenumber: 502
    functionLinenumberEnd: 525
    functionName: gx_set_spot_only_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    - check_cmyk_color_model_comps
    linkageType: ''
    returnType: int
    signature: int gx_set_spot_only_overprint(gs_gstate* pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 551
    functionName: gx_spot_colors_set_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    linkageType: ''
    returnType: int
    signature: int gx_spot_colors_set_overprint(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 4
    argNames:
    - comp
    - targ_val
    - ncomps
    - pval
    argTypes:
    - int
    - frac
    - int
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: check_single_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_single_comp(int comp, frac targ_val, int ncomps, const frac
      * pval)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:596,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:602,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:608,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:614,1
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gscspace.c:623,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gscspace.c:625,1
    - Dst: check_single_comp
      Src: /src/libspectre/ghostscript/base/gscspace.c:626,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gscspace.c:628,1
    - Dst: check_single_comp
      Src: /src/libspectre/ghostscript/base/gscspace.c:629,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gscspace.c:631,1
    - Dst: check_single_comp
      Src: /src/libspectre/ghostscript/base/gscspace.c:632,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gscspace.c:634,1
    - Dst: check_single_comp
      Src: /src/libspectre/ghostscript/base/gscspace.c:635,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 646
    functionName: check_cmyk_color_model_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - check_single_comp
    - get_color_mapping_procs_subclass
    - dev_proc
    - map_cmyk_subclass
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index check_cmyk_color_model_comps(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_spot_colors_set_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:666,1
    - Dst: gx_set_overprint_cmyk
      Src: /src/libspectre/ghostscript/base/gscspace.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 669
    functionName: gx_set_overprint_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gx_spot_colors_set_overprint
    - gx_set_overprint_cmyk
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_DeviceCMYK(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gscspace.c:700,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:704,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gscspace.c:708,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gscspace.c:713,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gscspace.c:718,1
    - Dst: gx_spot_colors_set_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:722,1
    - Dst: gs_currentcolor_eopm
      Src: /src/libspectre/ghostscript/base/gscspace.c:733,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gscspace.c:735,1
    - Dst: dev_color_proc_get_nonzero_comps
      Src: /src/libspectre/ghostscript/base/gscspace.c:744,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gscspace.c:746,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gscspace.c:749,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gscspace.c:752,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:761,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:762,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:763,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:764,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:765,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:766,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscspace.c:767,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscspace.c:768,1
    - Dst: procp
      Src: /src/libspectre/ghostscript/base/gscspace.c:786,1
    - Dst: procp
      Src: /src/libspectre/ghostscript/base/gscspace.c:790,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gscspace.c:800,1
    - Dst: gs_currentcolor_eopm
      Src: /src/libspectre/ghostscript/base/gscspace.c:808,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscspace.c:809,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 810
    functionName: gx_set_overprint_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - gs_gstate_update_overprint
    - gx_set_dev_color
    - if_debug3m
    - dev_color_proc_get_nonzero_comps
    - strlen
    - gsicc_extract_profile
    - gx_spot_colors_set_overprint
    - gs_currentcolor_eopm
    - check_cmyk_color_model_comps
    - if_debug2m
    - gs_currentdevicecolor_inline
    - dev_proc
    - procp
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_cmyk(const gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscspace.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - c2
    - c3
    - smoothness
    - icclink
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - float
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 821
    functionName: gx_cspace_no_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_cspace_no_linear(const gs_color_space *cs, const gs_gstate
      * pgs,\n                gx_device * dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                const gs_client_color *c2,
      const gs_client_color *c3,\n                float smoothness, gsicc_link_t *icclink)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gscspace.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - cs
    - pgs
    - dev
    - dc
    - cc
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gx_device_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 828
    functionName: cc2dc
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_color_space*::type::remap_color
    linkageType: ''
    returnType: int
    signature: "int cc2dc(const gs_color_space *cs, const gs_gstate * pgs, gx_device
      *dev,\n            gx_device_color *dc, const gs_client_color *cc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - c
    - c0
    - c1
    - t
    - n
    argTypes:
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 838
    functionName: interpolate_cc
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void interpolate_cc(gs_client_color *c,\n        const gs_client_color
      *c0, const gs_client_color *c1, double t, int n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gscspace.c:857,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gscspace.c:862,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gscspace.c:870,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gscspace.c:879,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 7
    argNames:
    - dev
    - c
    - c0
    - c1
    - t
    - n
    - smoothness
    argTypes:
    - gx_device*
    - gx_device_color*
    - gx_device_color*
    - gx_device_color*
    - double
    - uchar
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 840
    functionDepth: 1
    functionLinenumber: 840
    functionLinenumberEnd: 887
    functionName: is_dc_nearly_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - any_abs
    - max
    linkageType: ''
    returnType: bool
    signature: "bool is_dc_nearly_linear(const gx_device *dev, const gx_device_color
      *c,\n        const gx_device_color *c0, const gx_device_color *c1,\n        double
      t, uchar n, float smoothness)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gscspace.c:898,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:902,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:905,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:908,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:909,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:912,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:914,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:915,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - smoothness
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 890
    functionDepth: 2
    functionLinenumber: 890
    functionLinenumberEnd: 921
    functionName: gx_cspace_is_linear_in_line
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_color_space*::type::num_components
    - interpolate_cc
    - is_dc_nearly_linear
    - cc2dc
    linkageType: ''
    returnType: int
    signature: "int gx_cspace_is_linear_in_line(const gs_color_space *cs, const gs_gstate
      * pgs,\n                gx_device *dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                float smoothness)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gscspace.c:939,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:944,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:947,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:950,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:954,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:955,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:958,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:961,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:962,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:965,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:968,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:969,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:972,1
    - Dst: interpolate_cc
      Src: /src/libspectre/ghostscript/base/gscspace.c:975,1
    - Dst: cc2dc
      Src: /src/libspectre/ghostscript/base/gscspace.c:976,1
    - Dst: is_dc_nearly_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:979,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - c2
    - smoothness
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 982
    functionName: gx_cspace_is_linear_in_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - gs_color_space*::type::num_components
    - interpolate_cc
    - is_dc_nearly_linear
    - cc2dc
    linkageType: ''
    returnType: int
    signature: "int gx_cspace_is_linear_in_triangle(const gs_color_space *cs, const
      gs_gstate * pgs,\n                gx_device *dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                const gs_client_color *c2,
      float smoothness)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gscspace.c:996,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscspace.c:997,1
    - Dst: gx_cspace_is_linear_in_line
      Src: /src/libspectre/ghostscript/base/gscspace.c:999,1
    - Dst: gx_cspace_is_linear_in_triangle
      Src: /src/libspectre/ghostscript/base/gscspace.c:1000,1
    - Dst: gx_cspace_is_linear_in_triangle
      Src: /src/libspectre/ghostscript/base/gscspace.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 9
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - c2
    - c3
    - smoothness
    - icclink
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - float
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1006
    functionName: gx_cspace_is_linear_default
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - return_error
    - colors_are_separable_and_linear
    - gx_cspace_is_linear_in_triangle
    - gx_cspace_is_linear_in_line
    linkageType: ''
    returnType: int
    signature: "int gx_cspace_is_linear_default(const gs_color_space *cs, const gs_gstate
      * pgs,\n                gx_device *dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                const gs_client_color *c2,
      const gs_client_color *c3,\n                float smoothness, gsicc_link_t *icclink)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscspace.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1009
    functionDepth: 0
    functionLinenumber: 1009
    functionLinenumberEnd: 1015
    functionName: gx_serialize_cspace_type
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 0
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int gx_serialize_cspace_type(const gs_color_space * pcs, stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gscspace.c:1038,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gscspace.c:1039,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gscspace.c:1040,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gscspace.c:1041,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gscspace.c:1042,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1043
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.c
    functionUses: 1
    functionsReached:
    - RELOC_VAR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_WITH(color_space_reloc_ptrs, gs_color_space
      *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gscdevn.c:92,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gscdevn.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(cs_DeviceN_reloc_ptrs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:116,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:120,1
    - Dst: alloc_device_n_map
      Src: /src/libspectre/ghostscript/base/gscdevn.c:131,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:133,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gscdevn.c:136,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:138,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:140,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 4
    argNames:
    - ppcs
    - num_components
    - palt_cspace
    - pmem
    argTypes:
    - gs_color_space**
    - uint
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 95
    functionDepth: 3
    functionLinenumber: 95
    functionLinenumberEnd: 150
    functionName: gs_cspace_new_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 1
    functionsReached:
    - gs_cspace_alloc
    - gs_alloc_bytes
    - rc_increment_cs
    - return_error
    - alloc_device_n_map
    - gs_free_object
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END gs_cspace_new_DeviceN(\n    gs_color_space **ppcs,\n
      \   uint num_components,\n    gs_color_space *palt_cspace,\n    gs_memory_t
      *pmem\n    )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gscdevn.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ppmap
    - mem
    - cname
    argTypes:
    - gs_device_n_map**
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 166
    functionName: alloc_device_n_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 1
    functionsReached:
    - return_error
    - rc_alloc_struct_1
    linkageType: ''
    returnType: int
    signature: "int alloc_device_n_map(gs_device_n_map ** ppmap, gs_memory_t * mem,\n
      \                  client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:186,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscdevn.c:187,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:189,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gscdevn.c:192,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:193,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscdevn.c:198,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - sep_name
    - pgs
    argTypes:
    - char*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 206
    functionName: gs_attachcolorant
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_currentcolorspace_inline
    - rc_increment_cs
    - rc_alloc_struct_1
    linkageType: ''
    returnType: int
    signature: int gs_attachcolorant(char *sep_name, gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscdevn.c:224,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pcspace
    - proc_data
    argTypes:
    - gs_color_space*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 231
    functionName: gs_cspace_set_devn_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_set_devn_proc(gs_color_space * pcspace,\n                        int
      (*proc)(const float *,\n                                    float *,\n                                    const
      gs_gstate *,\n                                    void *\n                                    ),\n
      \                       void *proc_data\n                        )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: using_alt_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool using_alt_color_space(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gscdevn.c:251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - in
    - out
    - pgs
    - data
    argTypes:
    - float*
    - float*
    - gs_gstate*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 252
    functionName: map_devn_using_function
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gs_function_evaluate
    linkageType: ''
    returnType: int
    signature: "int map_devn_using_function(const float *in, float *out,\n                        const
      gs_gstate *pgs, void *data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscdevn.c:262,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gscdevn.c:264,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pcspace
    - pfn
    argTypes:
    - gs_color_space*
    - gs_function_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: gs_cspace_set_devn_function
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: int gs_cspace_set_devn_function(gs_color_space *pcspace, gs_function_t
      *pfn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscdevn.c:281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: gs_cspace_get_devn_function
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: gs_function_t
    signature: 'gs_function_t *

      gs_cspace_get_devn_function(const gs_color_space *pcspace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 295
    functionName: gx_num_components_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_num_components_DeviceN(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 307
    functionName: gx_polarity_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_polarity_t
    signature: gx_color_polarity_t gx_polarity_DeviceN(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 317
    functionName: gx_init_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_init_DeviceN(gs_client_color * pcc, const gs_color_space *
      pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: gx_restrict_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_restrict_DeviceN(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gscdevn.c:342,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gscdevn.c:349,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gscdevn.c:351,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gscdevn.c:356,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 362
    functionName: gx_concrete_space_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - dmprintf
    - cs_concrete_space
    linkageType: ''
    returnType: gs_color_space
    signature: "gs_color_space *\ngx_concrete_space_DeviceN(const gs_color_space *
      pcs,\n                          const gs_gstate * pgs)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gscdevn.c:371,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gscdevn.c:384,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gscdevn.c:386,1
    - Dst: gx_remap_named_color
      Src: /src/libspectre/ghostscript/base/gscdevn.c:396,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:400,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gscdevn.c:406,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:410,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 416
    functionName: gx_remap_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gx_remap_named_color
    - cs_concrete_space
    - gs_color_space*::type::num_components
    - dev_proc
    - gs_color_space*::type::remap_color
    linkageType: ''
    returnType: int
    signature: "int gx_remap_DeviceN(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                      gs_color_select_t select)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gscdevn.c:434,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gscdevn.c:452,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gscdevn.c:466,1
    - Dst: rescale_cie_colors
      Src: /src/libspectre/ghostscript/base/gscdevn.c:468,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gscdevn.c:471,1
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gscdevn.c:486,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gscdevn.c:492,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 40
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 418
    functionDepth: 2
    functionLinenumber: 418
    functionLinenumberEnd: 496
    functionName: gx_concretize_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - rescale_cie_colors
    - cs_concretize_color
    - gs_color_space_num_components
    - gx_unit_frac
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_DeviceN(const gs_client_color * pc, const gs_color_space
      * pcs,\n                      frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gscdevn.c:511,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:528,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:531,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 535
    functionName: gx_remap_concrete_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_devicen
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_DeviceN(const gs_color_space * pcs, const frac
      * pconc,\n                          gx_device_color * pdc, const gs_gstate *
      pgs,\n                          gx_device * dev, gs_color_select_t select,\n
      \                         const cmm_dev_profile_t *dev_profile)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:568,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:569,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:588,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:595,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:602,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 542
    functionDepth: 1
    functionLinenumber: 542
    functionLinenumberEnd: 618
    functionName: check_DeviceN_component_names
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int check_DeviceN_component_names(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:638,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:641,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:644,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:645,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:646,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:647,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:649,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:650,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:651,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 28
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 666
    functionName: gx_check_process_names_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: separation_colors
    signature: separation_colors gx_check_process_names_DeviceN(gs_color_space * pcs,
      gs_gstate * pgs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_DeviceN_component_names
      Src: /src/libspectre/ghostscript/base/gscdevn.c:673,1
    - Dst: gsicc_support_named_color
      Src: /src/libspectre/ghostscript/base/gscdevn.c:679,1
    - Dst: gx_check_process_names_DeviceN
      Src: /src/libspectre/ghostscript/base/gscdevn.c:681,1
    - Dst: gsicc_finddevicen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:687,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:689,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:691,1
    - Dst: using_alt_color_space
      Src: /src/libspectre/ghostscript/base/gscdevn.c:696,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gscdevn.c:704,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:706,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscdevn.c:707,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscdevn.c:708,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:716,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscdevn.c:717,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 721
    functionName: gx_install_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - rc_increment
    - gsicc_support_named_color
    - using_alt_color_space
    - gs_cspace_build_ICC
    - check_DeviceN_component_names
    - rc_decrement
    - dev_proc
    - gx_check_process_names_DeviceN
    - gsicc_finddevicen
    linkageType: ''
    returnType: int
    signature: int gx_install_DeviceN(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_DeviceN_component_names
      Src: /src/libspectre/ghostscript/base/gscdevn.c:733,1
    - Dst: gs_color_space_type*::set_overprint
      Src: /src/libspectre/ghostscript/base/gscdevn.c:741,1
    - Dst: gx_set_no_overprint
      Src: /src/libspectre/ghostscript/base/gscdevn.c:743,1
    - Dst: gs_overprint_set_drawn_comp
      Src: /src/libspectre/ghostscript/base/gscdevn.c:759,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscdevn.c:767,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 724
    functionDepth: 3
    functionLinenumber: 724
    functionLinenumberEnd: 769
    functionName: gx_set_overprint_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - gs_overprint_set_drawn_comp
    - gs_gstate_update_overprint
    - gx_set_no_overprint
    - check_DeviceN_component_names
    - gs_color_space_type*::set_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_DeviceN(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:782,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:783,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:787,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:789,1
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gscdevn.c:792,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscdevn.c:795,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:796,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscdevn.c:797,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 800
    functionName: gx_final_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - rc_decrement_cs
    - rc_decrement
    - rc_decrement_only
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_final_DeviceN(const gs_color_space * pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscdevn.c:810,1
    - Dst: gs_function_serialize
      Src: /src/libspectre/ghostscript/base/gscdevn.c:812,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pcs
    - m
    - s
    argTypes:
    - gs_color_space*
    - gs_device_n_map*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 813
    functionName: gx_serialize_device_n_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_function_serialize
    linkageType: ''
    returnType: int
    signature: int gx_serialize_device_n_map(const gs_color_space * pcs, gs_device_n_map
      * m, stream * s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gscdevn.c:820,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:824,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscdevn.c:831,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscdevn.c:831,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/base/gscdevn.c:835,1
    - Dst: gx_serialize_device_n_map
      Src: /src/libspectre/ghostscript/base/gscdevn.c:838,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 840
    functionName: gx_serialize_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gscdevn.c
    functionUses: 0
    functionsReached:
    - strlen
    - sputs
    - gx_serialize_cspace_type
    - cs_serialize
    - gx_serialize_device_n_map
    linkageType: ''
    returnType: int
    signature: int gx_serialize_DeviceN(const gs_color_space * pcs, stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - xx
    - ','
    - xy
    - ','
    - yx
    - ','
    - yy
    - ','
    - tx
    - ','
    - ty
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: constant_matrix_body
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: constant_matrix_body(xx, xy, yx, yy, tx, ty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: is_xxyy
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_xxyy(pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: is_xyyx
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_xyyx(pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: t8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t8(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: r8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r8(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: r16
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r16(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: r32
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r32(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: r64
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r64(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: r128
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r128(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 95
    functionName: rr8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rr8(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 133
    functionName: gsbittab_dummy
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsbittab_dummy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ASSIGN_HDR_ID
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSIGN_HDR_ID(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: o_set_unmarked
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o_set_unmarked(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: o_is_unmarked
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o_is_unmarked(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: o_set_untraced
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o_set_untraced(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: o_is_untraced
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o_is_untraced(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: o_mark
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o_mark(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: obj_align_round
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: obj_align_round(siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: obj_size_round
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: obj_size_round(siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: pre_obj_contents_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pre_obj_contents_size(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: pre_obj_rounded_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pre_obj_rounded_size(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: pre_obj_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxobj.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pre_obj_next(pp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: fastfloor
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fastfloor(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:117,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:121,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:133,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:133,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:135,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:135,1
    - Dst: tile_clip_initialize
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 4
    argNames:
    - ptfs
    - pdevc
    - dev
    - set_mask_phase
    argTypes:
    - tile_fill_state_t*
    - gx_device_color*
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 140
    functionName: tile_fill_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - fastfloor
    - tile_clip_initialize
    - imod
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int tile_fill_init(tile_fill_state_t * ptfs, const gx_device_color
      * pdevc,\n               gx_device * dev, bool set_mask_phase)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:178,1
    - Dst: if_debug10m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:181,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:192,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:193,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:194,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:195,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:198,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:199,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:200,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:201,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:203,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:206,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:208,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:214,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:227,1
    - Dst: tile_clip_set_phase
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:231,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:232,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 7
    argNames:
    - ptfs
    - x0
    - y0
    - w0
    - h0
    - ptile
    - tbits_or_tmask
    argTypes:
    - tile_fill_state_t*
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_strip_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 243
    functionName: tile_by_steps
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - fastfloor
    - gs_bbox_transform_inverse
    - if_debug6m
    - max
    - if_debug10m
    - imod
    - if_debug4m
    - ceil
    - min
    - tile_clip_set_phase
    linkageType: ''
    returnType: int
    signature: "int tile_by_steps(tile_fill_state_t * ptfs, int x0, int y0, int w0,
      int h0,\n              const gx_color_tile * ptile,\n              const gx_strip_bitmap
      * tbits_or_tmask,\n              int (*fill_proc) (const tile_fill_state_t *
      ptfs,\n                                int x, int y, int w, int h))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:261,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:261,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:263,1
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:268,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:269,1
    - Dst: set_rop_no_source
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:280,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:290,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:298,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:299,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:302,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:310,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:311,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 5
    argNames:
    - ptfs
    - x
    - y
    - w
    - h
    argTypes:
    - tile_fill_state_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 317
    functionName: tile_colored_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - imod
    - lop_no_S_is_T
    - dev_proc
    - set_rop_no_source
    linkageType: ''
    returnType: int
    signature: "int tile_colored_fill(const tile_fill_state_t * ptfs,\n                  int
      x, int y, int w, int h)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_clist_reader*::page_info::io_procs::rewind
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:332,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::rewind
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:334,1
    - Dst: clist_render_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:337,1
    - Dst: clist_read_icctable
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:340,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:346,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:347,1
    - Dst: clist_playback_file_bands
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:348,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:350,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:355,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 5
    argNames:
    - ptfs
    - x
    - y
    - w
    - h
    argTypes:
    - tile_fill_state_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 358
    functionName: tile_pattern_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - clist_read_icctable
    - gx_device_clist_reader*::page_info::io_procs::rewind
    - rc_decrement
    - clist_render_init
    - clist_playback_file_bands
    - gsicc_cache_new
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int tile_pattern_clist(const tile_fill_state_t * ptfs,\n                  int
      x, int y, int w, int h)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: set_rop_no_source
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:376,1
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:379,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:384,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:384,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:387,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:387,1
    - Dst: tile_clip_set_phase
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:391,1
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:392,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:393,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:397,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:404,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:416,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:432,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:437,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 441
    functionName: gx_dc_pattern_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - fastfloor
    - tile_clip_free
    - tile_by_steps
    - tile_fill_init
    - imod
    - set_rop_no_source
    - lop_no_S_is_T
    - dev_proc
    - tile_clip_set_phase
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_fill_rectangle(const gx_device_color * pdevc, int
      x, int y,\n                             int w, int h, gx_device * dev,\n                             gs_logical_operation_t
      lop,\n                             const gx_rop_source_t * source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - ptfs
    - x
    - y
    - w
    - h
    argTypes:
    - tile_fill_state_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 468
    functionName: tile_masked_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int tile_masked_fill(const tile_fill_state_t * ptfs,\n                 int
      x, int y, int w, int h)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:483,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:493,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 501
    functionName: gx_dc_pure_masked_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - tile_clip_free
    - tile_by_steps
    - tile_fill_init
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_masked_fill_rect(const gx_device_color * pdevc,\n                            int
      x, int y, int w, int h, gx_device * dev,\n                            gs_logical_operation_t
      lop,\n                            const gx_rop_source_t * source)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:517,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:538,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:542,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: gx_dc_devn_masked_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - tile_clip_free
    - tile_by_steps
    - tile_fill_init
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_masked_fill_rect(const gx_device_color * pdevc,\n                            int
      x, int y, int w, int h, gx_device * dev,\n                            gs_logical_operation_t
      lop,\n                            const gx_rop_source_t * source)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:558,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:568,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:572,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 576
    functionName: gx_dc_binary_masked_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - tile_clip_free
    - tile_by_steps
    - tile_fill_init
    linkageType: ''
    returnType: int
    signature: "int gx_dc_binary_masked_fill_rect(const gx_device_color * pdevc,\n
      \                             int x, int y, int w, int h, gx_device * dev,\n
      \                             gs_logical_operation_t lop,\n                              const
      gx_rop_source_t * source)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:588,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:598,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 578
    functionDepth: 2
    functionLinenumber: 578
    functionLinenumberEnd: 606
    functionName: gx_dc_colored_masked_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - tile_clip_free
    - tile_by_steps
    - tile_fill_init
    linkageType: ''
    returnType: int
    signature: "int gx_dc_colored_masked_fill_rect(const gx_device_color * pdevc,\n
      \                              int x, int y, int w, int h, gx_device * dev,\n
      \                              gs_logical_operation_t lop,\n                               const
      gx_rop_source_t * source)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:641,1
    - Dst: if_debug10m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:644,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:655,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:656,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:657,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:658,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:661,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:662,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:663,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:664,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:666,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:669,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:671,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:678,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:691,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:695,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:696,1
    - Dst: gx_color_tile*::ttrans::pat_trans_fill
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:708,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 8
    argNames:
    - ptfs
    - x0
    - y0
    - w0
    - h0
    - fill_trans_buffer
    - ptile
    - native16
    argTypes:
    - tile_fill_trans_state_t*
    - int
    - int
    - int
    - int
    - gx_pattern_trans_t*
    - gx_color_tile*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 713
    functionName: tile_by_steps_trans
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - fastfloor
    - gs_bbox_transform_inverse
    - gx_color_tile*::ttrans::pat_trans_fill
    - if_debug6m
    - max
    - if_debug10m
    - imod
    - if_debug4m
    - ceil
    - min
    linkageType: ''
    returnType: int
    signature: "int tile_by_steps_trans(tile_fill_trans_state_t * ptfs, int x0, int
      y0, int w0, int h0,\n              gx_pattern_trans_t *fill_trans_buffer, const
      gx_color_tile * ptile,\n              int native16)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dst
    - src
    - n
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 715
    functionDepth: 0
    functionLinenumber: 715
    functionLinenumberEnd: 724
    functionName: be_rev_cpy
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void be_rev_cpy(uint16_t *dst,const uint16_t *src,int n)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:789,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:791,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:792,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:799,1
    - Dst: be_rev_cpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:835,1
    - Dst: be_rev_cpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:841,1
    - Dst: be_rev_cpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:846,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:871,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:877,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:882,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:893,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 91
    argCount: 9
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - px
    - py
    - ptile
    - fill_trans_buffer
    - native16
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 896
    functionName: tile_rect_trans_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - fastfloor
    - be_rev_cpy
    - max
    - memcpy
    - memset
    - min
    linkageType: ''
    returnType: void
    signature: "void tile_rect_trans_simple(int xmin, int ymin, int xmax, int ymax,\n
      \                      int px, int py, const gx_color_tile *ptile,\n                       gx_pattern_trans_t
      *fill_trans_buffer,\n                       int native16)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_composite_pixel_alpha_8
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:976,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1002,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 8
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - px
    - py
    - ptile
    - fill_trans_buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 1006
    functionName: do_tile_rect_trans_blend
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_8
    - memset
    linkageType: ''
    returnType: void
    signature: "void do_tile_rect_trans_blend(int xmin, int ymin, int xmax, int ymax,\n
      \                        int px, int py, const gx_color_tile *ptile,\n                         gx_pattern_trans_t
      *fill_trans_buffer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1084,1
    - Dst: art_pdf_composite_pixel_alpha_16
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1088,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1098,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1115,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 8
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - px
    - py
    - ptile
    - fill_trans_buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1119
    functionName: do_tile_rect_trans_blend_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_16
    - GET16_BE2NATIVE
    - memset
    linkageType: ''
    returnType: void
    signature: "void do_tile_rect_trans_blend_16(int xmin, int ymin, int xmax, int
      ymax,\n                            int px, int py, const gx_color_tile *ptile,\n
      \                           gx_pattern_trans_t *fill_trans_buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1080
    functionName: GET16_BE2NATIVE
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16_BE2NATIVE(v)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1198,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1199,1
    - Dst: art_pdf_composite_pixel_alpha_16
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1203,1
    - Dst: PUT16_NATIVE2BE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1209,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1213,1
    - Dst: GET16_BE2NATIVE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1214,1
    - Dst: PUT16_NATIVE2BE
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1217,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1229,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 8
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - px
    - py
    - ptile
    - fill_trans_buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1233
    functionName: do_tile_rect_trans_blend_16be
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - PUT16_NATIVE2BE
    - art_pdf_composite_pixel_alpha_16
    - GET16_BE2NATIVE
    - memset
    linkageType: ''
    returnType: void
    signature: "void do_tile_rect_trans_blend_16be(int xmin, int ymin, int xmax, int
      ymax,\n                              int px, int py, const gx_color_tile *ptile,\n
      \                             gx_pattern_trans_t *fill_trans_buffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1193
    functionName: GET16_BE2NATIVE
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16_BE2NATIVE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1193
    functionDepth: 0
    functionLinenumber: 1193
    functionLinenumberEnd: 1195
    functionName: PUT16_NATIVE2BE
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT16_NATIVE2BE(p,v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: do_tile_rect_trans_blend
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1255,1
    - Dst: do_tile_rect_trans_blend_16
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1258,1
    - Dst: do_tile_rect_trans_blend_16be
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 9
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - px
    - py
    - ptile
    - fill_trans_buffer
    - native16
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1263
    functionName: tile_rect_trans_blend
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 1
    functionsReached:
    - do_tile_rect_trans_blend_16be
    - do_tile_rect_trans_blend_16
    - do_tile_rect_trans_blend
    linkageType: ''
    returnType: void
    signature: "void tile_rect_trans_blend(int xmin, int ymin, int xmax, int ymax,\n
      \                     int px, int py, const gx_color_tile *ptile,\n                      gx_pattern_trans_t
      *fill_trans_buffer,\n                      int native16)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_rop_no_source
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1281,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1287,1
    - Dst: gx_trans_pattern_fill_rect
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1300
    functionName: gx_dc_pat_trans_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 0
    functionsReached:
    - if_debug8m
    - gx_trans_pattern_fill_rect
    - set_rop_no_source
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pat_trans_fill_rectangle(const gx_device_color * pdevc,
      int x, int y,\n                               int w, int h, gx_device * dev,\n
      \                              gs_logical_operation_t lop,\n                               const
      gx_rop_source_t * source)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1321,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1334,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1334,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1337,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1337,1
    - Dst: tile_rect_trans_simple
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1340,1
    - Dst: tile_by_steps_trans
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1348,1
    - Dst: tile_fill_init
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1363,1
    - Dst: tile_by_steps
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1378,1
    - Dst: tile_clip_free
      Src: /src/libspectre/ghostscript/base/gxp1fill.c:1382,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 10
    argNames:
    - xmin
    - ymin
    - xmax
    - ymax
    - ptile
    - fill_trans_buffer
    - phase
    - dev
    - pdevc
    - native16
    argTypes:
    - int
    - int
    - int
    - int
    - gx_color_tile*
    - gx_pattern_trans_t*
    - gs_int_point
    - gx_device*
    - gx_device_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1304
    functionDepth: 2
    functionLinenumber: 1304
    functionLinenumberEnd: 1389
    functionName: gx_trans_pattern_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxp1fill.c
    functionUses: 2
    functionsReached:
    - fastfloor
    - tile_clip_free
    - tile_rect_trans_simple
    - tile_fill_init
    - fit_fill_xywh
    - imod
    - tile_by_steps
    - tile_by_steps_trans
    linkageType: ''
    returnType: int
    signature: "int gx_trans_pattern_fill_rect(int xmin, int ymin, int xmax, int ymax,\n
      \                          gx_color_tile *ptile,\n                           gx_pattern_trans_t
      *fill_trans_buffer,\n                           gs_int_point phase, gx_device
      *dev,\n                           const gx_device_color * pdevc,\n                           int
      native16)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscssub.c:46,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscssub.c:48,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscssub.c:51,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscssub.c:52,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscssub.c:53,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscssub.c:54,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscssub.c:57,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gscssub.c:59,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 3
    argNames:
    - pgs
    - csi
    - pcs
    argTypes:
    - gs_gstate*
    - gs_color_space_index
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 64
    functionName: gs_setsubstitutecolorspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscssub.c
    functionUses: 0
    functionsReached:
    - return_error
    - rc_assign
    - gs_color_space_get_index
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: "int gs_setsubstitutecolorspace(gs_gstate *pgs, gs_color_space_index
      csi,\n                           const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: gs_current_DeviceGray_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscssub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_current_DeviceGray_space(const gs_gstate *pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: gs_current_DeviceRGB_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscssub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_current_DeviceRGB_space(const gs_gstate *pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 93
    functionName: gs_current_DeviceCMYK_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscssub.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_current_DeviceCMYK_space(const gs_gstate *pgs)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_DeviceGray_space
      Src: /src/libspectre/ghostscript/base/gscssub.c:101,1
    - Dst: gs_current_DeviceRGB_space
      Src: /src/libspectre/ghostscript/base/gscssub.c:103,1
    - Dst: gs_current_DeviceCMYK_space
      Src: /src/libspectre/ghostscript/base/gscssub.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - csi
    argTypes:
    - gs_gstate*
    - gs_color_space_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: gs_currentsubstitutecolorspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscssub.c
    functionUses: 0
    functionsReached:
    - gs_current_DeviceRGB_space
    - gs_current_DeviceCMYK_space
    - gs_current_DeviceGray_space
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_currentsubstitutecolorspace(const gs_gstate *pgs, gs_color_space_index csi)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cal_halftone_next_line_required
      Src: /src/libspectre/ghostscript/base/gxicolor.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - dev
    argTypes:
    - gx_image_enum*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: image_render_color_ht_cal_skip_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - cal_halftone_next_line_required
    linkageType: ''
    returnType: int
    signature: "int image_render_color_ht_cal_skip_line(gx_image_enum *penum,\n                                    gx_device
      \    *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxicolor.c:81,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxicolor.c:82,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:85,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ht
    - arg
    argTypes:
    - cal_halftone_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: color_halftone_callback
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - dev_proc
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: void color_halftone_callback(cal_halftone_data_t *ht, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxicolor.c:108,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxicolor.c:115,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxicolor.c:122,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxicolor.c:123,1
    - Dst: cal_halftone_init
      Src: /src/libspectre/ghostscript/base/gxicolor.c:124,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxicolor.c:133,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxicolor.c:134,1
    - Dst: gx_ht_construct_threshold
      Src: /src/libspectre/ghostscript/base/gxicolor.c:141,1
    - Dst: cal_halftone_add_screen
      Src: /src/libspectre/ghostscript/base/gxicolor.c:144,1
    - Dst: cal_halftone_fin
      Src: /src/libspectre/ghostscript/base/gxicolor.c:159,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 161
    functionName: color_halftone_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - cal_halftone_fin
    - gx_device_must_halftone
    - gx_ht_construct_threshold
    - fixed2int
    - dda_translate
    - cal_halftone_init
    - cal_halftone_add_screen
    - fixed2int_ceiling
    linkageType: ''
    returnType: cal_halftone
    signature: 'cal_halftone *

      color_halftone_init(gx_image_enum *penum)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxicolor.c:178,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxicolor.c:191,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxicolor.c:192,1
    - Dst: gx_image_scale_mask_colors
      Src: /src/libspectre/ghostscript/base/gxicolor.c:197,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxicolor.c:217,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:224,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxicolor.c:228,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxicolor.c:245,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxicolor.c:251,1
    - Dst: gx_has_transfer
      Src: /src/libspectre/ghostscript/base/gxicolor.c:252,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gxicolor.c:256,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxicolor.c:264,1
    - Dst: check_cie_range
      Src: /src/libspectre/ghostscript/base/gxicolor.c:267,1
    - Dst: get_cie_range
      Src: /src/libspectre/ghostscript/base/gxicolor.c:270,1
    - Dst: gx_device_uses_std_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxicolor.c:273,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxicolor.c:277,1
    - Dst: gx_transfer_is_monotonic
      Src: /src/libspectre/ghostscript/base/gxicolor.c:283,1
    - Dst: color_halftone_init
      Src: /src/libspectre/ghostscript/base/gxicolor.c:295,1
    - Dst: gxht_thresh_image_init
      Src: /src/libspectre/ghostscript/base/gxicolor.c:303,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxicolor.c:322,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxicolor.c:323,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxicolor.c:324,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxicolor.c:325,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:332,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 110
    argCount: 2
    argNames:
    - penum
    - render_fn
    argTypes:
    - gx_image_enum*
    - irender_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 341
    functionName: gs_image_class_4_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - gx_has_transfer
    - gs_color_space_is_PSCIE
    - gsicc_get_link
    - gs_color_space_get_index
    - gx_device_uses_std_cmap_procs
    - color_halftone_init
    - gx_device_must_halftone
    - get_cie_range
    - gx_transfer_is_monotonic
    - cs_num_components
    - gsicc_get_device_profile_comps
    - gx_image_scale_mask_colors
    - check_cie_range
    - fixed2int
    - memset
    - gxht_thresh_image_init
    - dev_proc
    - fixed2int_ceiling
    linkageType: ''
    returnType: int
    signature: int gs_image_class_4_color(gx_image_enum * penum, irender_proc_t *render_fn)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - v
    - penum
    - num_components
    argTypes:
    - byte*
    - gx_image_enum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: mask_color_matches
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mask_color_matches(const byte *v, const gx_image_enum *penum,\n
      \                  int num_components)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - range
    - input
    argTypes:
    - gs_range
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: rescale_input_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float rescale_input_color(gs_range range, float input)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gxicolor.c:384,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gxicolor.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - penum
    - psrc
    - spp
    - pdes
    - bufend
    - range_array
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - byte*
    - byte*
    - gs_range[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 405
    functionName: decode_row_cie
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - rescale_input_color
    linkageType: ''
    returnType: void
    signature: "void decode_row_cie(const gx_image_enum *penum, const byte *psrc,
      int spp, byte *pdes,\n                byte *bufend, gs_range range_array[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - penum
    - psrc
    - spp
    - pdes
    - bufend
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 441
    functionName: decode_row
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void decode_row(const gx_image_enum *penum, const byte *psrc, int
      spp, byte *pdes,\n                byte *bufend)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:466,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxicolor.c:468,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxicolor.c:470,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxicolor.c:497,1
    - Dst: decode_row
      Src: /src/libspectre/ghostscript/base/gxicolor.c:504,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxicolor.c:511,1
    - Dst: decode_row
      Src: /src/libspectre/ghostscript/base/gxicolor.c:514,1
    - Dst: decode_row_cie
      Src: /src/libspectre/ghostscript/base/gxicolor.c:517,1
    - Dst: get_cie_range
      Src: /src/libspectre/ghostscript/base/gxicolor.c:518,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxicolor.c:535,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxicolor.c:541,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxicolor.c:545,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxicolor.c:549,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxicolor.c:560,1
    - Dst: decode_row
      Src: /src/libspectre/ghostscript/base/gxicolor.c:563,1
    - Dst: decode_row_cie
      Src: /src/libspectre/ghostscript/base/gxicolor.c:566,1
    - Dst: get_cie_range
      Src: /src/libspectre/ghostscript/base/gxicolor.c:567,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxicolor.c:574,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 10
    argNames:
    - penum_orig
    - psrc
    - w
    - dev
    - spp_cm_out
    - psrc_cm
    - psrc_cm_start
    - bufend
    - pspan
    - planar_out
    argTypes:
    - gx_image_enum*
    - byte*
    - uint
    - gx_device*
    - int*
    - byte**
    - byte**
    - byte**
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 587
    functionName: image_color_icc_prep
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - decode_row
    - gs_alloc_bytes
    - gs_rethrow
    - get_cie_range
    - gsicc_get_device_profile_comps
    - gsicc_init_buffer
    - decode_row_cie
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int image_color_icc_prep(gx_image_enum *penum_orig, const byte *psrc,
      uint w,\n                     gx_device *dev, int *spp_cm_out, byte **psrc_cm,\n
      \                    byte **psrc_cm_start, byte **bufend, int *pspan, bool planar_out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_color_icc_prep
      Src: /src/libspectre/ghostscript/base/gxicolor.c:607,1
    - Dst: cal_halftone_process_planar
      Src: /src/libspectre/ghostscript/base/gxicolor.c:615,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxicolor.c:620,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 624
    functionName: image_render_color_ht_cal
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - image_color_icc_prep
    - cal_halftone_process_planar
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int image_render_color_ht_cal(gx_image_enum *penum, const byte *buffer,
      int data_x,\n                          uint w, int h, gx_device * dev)"
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: image_color_icc_prep
      Src: /src/libspectre/ghostscript/base/gxicolor.c:660,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxicolor.c:683,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:691,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gxicolor.c:692,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:705,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxicolor.c:705,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxicolor.c:708,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:719,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxicolor.c:719,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:721,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gxicolor.c:722,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:777,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:777,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:792,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:804,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:805,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:805,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:818,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:819,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:819,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:838,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:839,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:839,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:859,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:869,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:870,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:870,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:899,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:900,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:901,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:902,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:921,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:922,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:922,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:941,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:942,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:942,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:965,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:966,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:966,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:993,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1005,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1006,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1006,1
    - Dst: gxht_thresh_planes
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1036,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1041,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 294
    argCount: 6
    argNames:
    - penum_orig
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 626
    functionDepth: 2
    functionLinenumber: 626
    functionLinenumberEnd: 1045
    functionName: image_render_color_thresh
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gxht_thresh_planes
    - image_color_icc_prep
    - fixed2int_var_rounded
    - gxht_dda_length
    - memset
    - dda_translate
    - memcpy
    - dda_current
    - dda_next
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int image_render_color_thresh(gx_image_enum *penum_orig, const byte
      *buffer, int data_x,\n                          uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - penum
    - dev
    argTypes:
    - gx_image_enum*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1055
    functionName: image_skip_color_icc_tpr
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int image_skip_color_icc_tpr(gx_image_enum *penum, gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_color_icc_prep
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1077,1
    - Dst: gx_get_cmapper
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1081,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1087,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 6
    argNames:
    - penum_orig
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1057
    functionDepth: 2
    functionLinenumber: 1057
    functionLinenumberEnd: 1096
    functionName: image_render_color_icc_tpr
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - image_color_icc_prep
    - gx_get_cmapper
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int image_render_color_icc_tpr(gx_image_enum *penum_orig, const byte
      *buffer, int data_x,\n                          uint w, int h, gx_device * dev)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1114,1
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1142,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1152,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1162,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1163,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1164,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1165,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1169,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1174,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1177,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1178,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1178,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1179,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1180,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1181,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1184,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1185,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1186,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1190,1
    - Dst: mask_color_matches
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1195,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1196,1
    - Dst: decode_sample
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1205,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1207,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1208,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1211,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1212,1
    - Dst: remap_color
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1216,1
    - Dst: gx_remap_ICC_with_link
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1218,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1224,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1231,1
    - Dst: dev_color_eq
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1242,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1256,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1261,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1268,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1273,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1279,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1296,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1297,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1310,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1315,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1322,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1327,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxicolor.c:1333,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 147
    argCount: 6
    argNames:
    - penum_orig
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1344
    functionName: image_render_color_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gxicolor.c
    functionUses: 0
    functionsReached:
    - color_set_null
    - dev_color_eq
    - memcmp
    - if_debug9m
    - dda_current
    - if_debug5m
    - gs_debug_c
    - cs_proc_remap_color
    - decode_sample
    - remap_color
    - memset
    - cs_full_init_color
    - fixed2int_var_rounded
    - gx_remap_ICC_with_link
    - dmputs
    - dda_next
    - dev_proc
    - if_debug7m
    - dmprintf2
    - mask_color_matches
    - dmprintf1
    - gs_color_space_is_ICC
    - memcpy
    - gx_fill_rectangle_device_rop
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int image_render_color_DeviceN(gx_image_enum *penum_orig, const byte
      *buffer, int data_x,\n                   uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_device_color_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 441
    functionName: colors_are_separable_and_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int colors_are_separable_and_linear(gx_device_color_info *info)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 472
    functionName: gx_device_has_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_has_color(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 491
    functionName: dci_std_cm_name
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_cm_name(nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 0
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: dci_std_polarity
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_polarity(nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: dci_std_gray_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_gray_index(nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - nc
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - ta
    - ','
    - ga
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: dci_alpha_values
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_alpha_values(nc, depth, mg, mc, dg, dc, ta, ga)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 522
    functionName: dci_std_color_depth
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_depth(color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: dci_std_color_num_components
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_num_components(color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nc
    - ','
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 543
    functionName: dci_std_gray_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_gray_bits(nc, color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nc
    - ','
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: dci_std_color_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_bits(nc, color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nc
    - ','
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 566
    functionName: dci_std_color_max_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_max_gray(nc, color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nc
    - ','
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 571
    functionName: dci_std_color_max_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_max_color(nc, color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nc
    - ','
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 584
    functionName: dci_std_color_
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color_(nc, color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - color_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: dci_std_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_std_color(color_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - nc
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: dci_values
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_values(nc,depth,mg,mc,dg,dc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 593
    functionName: dci_black_and_white_
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_black_and_white_()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - depth
    - ','
    - maxv
    - ','
    - dither
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: dci_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dci_color(depth,maxv,dither)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: get_process_color_model_name
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_process_color_model_name(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 611
    functionName: dev_page_proc_install
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_page_proc_install(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 615
    functionName: dev_page_proc_begin_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_page_proc_begin_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 619
    functionName: dev_page_proc_end_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_page_proc_end_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - left
    - ','
    - bot
    - ','
    - right
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 808
    functionName: offset_margin_values
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset_margin_values(x, y, left, bot, right, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - left
    - ','
    - bot
    - ','
    - right
    - ','
    - top
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 810
    functionName: margin_values
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: margin_values(left, bot, right, top)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 811
    functionDepth: 0
    functionLinenumber: 811
    functionLinenumberEnd: 812
    functionName: no_margins_
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: no_margins_()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 814
    functionName: dev_x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_x_offset(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 815
    functionName: dev_y_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_y_offset(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 816
    functionName: dev_y_offset_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_y_offset_points(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 821
    functionName: dev_l_margin
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_l_margin(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 822
    functionName: dev_b_margin
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_b_margin(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 823
    functionName: dev_b_margin_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_b_margin_points(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 823
    functionDepth: 0
    functionLinenumber: 823
    functionLinenumberEnd: 824
    functionName: dev_r_margin
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_r_margin(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 824
    functionDepth: 0
    functionLinenumber: 824
    functionLinenumberEnd: 825
    functionName: dev_t_margin
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_margin(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 825
    functionDepth: 0
    functionLinenumber: 825
    functionLinenumberEnd: 826
    functionName: dev_t_margin_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_margin_points(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 830
    functionDepth: 0
    functionLinenumber: 830
    functionLinenumberEnd: 831
    functionName: dev_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 165
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc(dev, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - p
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: set_dev_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_dev_proc(dev, p, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - p
    - ','
    - dproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 834
    functionName: fill_dev_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fill_dev_proc(dev, p, dproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - todev
    - ','
    - fromdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 834
    functionDepth: 0
    functionLinenumber: 834
    functionLinenumberEnd: 836
    functionName: assign_dev_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_dev_procs(todev, fromdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 861
      start: 859
    functionDepth: 0
    functionLinenumber: 859
    functionLinenumberEnd: 861
    functionName: dev_t_proc_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_open_device(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 863
    functionName: dev_proc_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_open_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 864
    functionDepth: 0
    functionLinenumber: 864
    functionLinenumberEnd: 866
    functionName: dev_t_proc_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_initial_matrix(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 868
    functionName: dev_proc_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_initial_matrix(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 869
    functionDepth: 0
    functionLinenumber: 869
    functionLinenumberEnd: 871
    functionName: dev_t_proc_sync_output
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_sync_output(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 873
    functionName: dev_proc_sync_output
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_sync_output(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    functionName: dev_t_proc_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_output_page(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 878
    functionName: dev_proc_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_output_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 881
    functionName: dev_t_proc_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_close_device(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 883
    functionName: dev_proc_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_close_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 886
    functionName: dev_t_proc_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_map_rgb_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 886
    functionDepth: 0
    functionLinenumber: 886
    functionLinenumberEnd: 888
    functionName: dev_proc_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_rgb_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 892
    functionName: dev_t_proc_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_map_color_rgb(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 894
    functionName: dev_proc_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_color_rgb(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 898
    functionName: dev_t_proc_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_rectangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 898
    functionDepth: 0
    functionLinenumber: 898
    functionLinenumberEnd: 900
    functionName: dev_proc_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_rectangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: dev_t_proc_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_tile_rectangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 908
    functionName: dev_proc_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_tile_rectangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 914
    functionName: dev_t_proc_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_mono(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 914
    functionDepth: 0
    functionLinenumber: 914
    functionLinenumberEnd: 916
    functionName: dev_proc_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_mono(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 921
    functionName: dev_t_proc_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 923
    functionName: dev_proc_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 929
    functionName: dev_t_proc_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_draw_line(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 931
    functionName: dev_proc_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_draw_line(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 937
    functionName: dev_t_proc_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_bits(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    functionName: dev_proc_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_bits(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 945
    functionName: dev_t_proc_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_params(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 945
    functionDepth: 0
    functionLinenumber: 945
    functionLinenumberEnd: 947
    functionName: dev_proc_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 950
    functionName: dev_t_proc_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_put_params(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 952
    functionName: dev_proc_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_put_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 955
    functionDepth: 0
    functionLinenumber: 955
    functionLinenumberEnd: 957
    functionName: dev_t_proc_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_map_cmyk_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: dev_proc_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_cmyk_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 962
    functionName: dev_t_proc_get_xfont_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_xfont_procs(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: dev_proc_get_xfont_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_xfont_procs(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 969
    functionName: dev_t_proc_get_xfont_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_xfont_device(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 971
    functionName: dev_proc_get_xfont_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_xfont_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: dev_t_proc_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_map_rgb_alpha_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 978
    functionDepth: 0
    functionLinenumber: 978
    functionLinenumberEnd: 980
    functionName: dev_proc_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_rgb_alpha_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: dev_t_proc_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_page_device(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: dev_proc_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_page_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 992
    functionName: dev_t_proc_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_alpha_bits(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 994
    functionName: dev_proc_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_alpha_bits(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1001
    functionName: dev_t_proc_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_alpha(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1003
    functionName: dev_proc_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_alpha(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1008
    functionName: dev_t_proc_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_band(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1010
    functionName: dev_proc_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_band(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1013
    functionDepth: 0
    functionLinenumber: 1013
    functionLinenumberEnd: 1020
    functionName: dev_t_proc_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_rop(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1022
    functionName: dev_proc_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_rop(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1030
    functionName: dev_t_proc_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_path(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1030
    functionDepth: 0
    functionLinenumber: 1030
    functionLinenumberEnd: 1032
    functionName: dev_proc_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_path(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1038
    functionName: dev_t_proc_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_stroke_path(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1040
    functionName: dev_proc_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_stroke_path(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1043
    functionDepth: 0
    functionLinenumber: 1043
    functionLinenumberEnd: 1051
    functionName: dev_t_proc_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_stroke_path(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1051
    functionDepth: 0
    functionLinenumber: 1051
    functionLinenumberEnd: 1053
    functionName: dev_proc_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_stroke_path(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1056
    functionDepth: 0
    functionLinenumber: 1056
    functionLinenumberEnd: 1062
    functionName: dev_t_proc_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_mask(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1064
    functionName: dev_proc_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_mask(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1072
    functionName: dev_t_proc_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_trapezoid(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1072
    functionDepth: 0
    functionLinenumber: 1072
    functionLinenumberEnd: 1074
    functionName: dev_proc_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_trapezoid(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1079
    functionName: dev_t_proc_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_parallelogram(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1081
    functionName: dev_proc_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_parallelogram(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1082
    functionDepth: 0
    functionLinenumber: 1082
    functionLinenumberEnd: 1086
    functionName: dev_t_proc_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_triangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 0
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    functionName: dev_proc_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_triangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1094
    functionDepth: 0
    functionLinenumber: 1094
    functionLinenumberEnd: 1099
    functionName: dev_t_proc_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_draw_thin_line(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1099
    functionDepth: 0
    functionLinenumber: 1099
    functionLinenumberEnd: 1101
    functionName: dev_proc_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_draw_thin_line(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1113
    functionName: dev_t_proc_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_begin_image(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1115
    functionName: dev_proc_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_begin_image(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1118
    functionDepth: 0
    functionLinenumber: 1118
    functionLinenumberEnd: 1122
    functionName: dev_t_proc_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_image_data(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1124
    functionName: dev_proc_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_image_data(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1127
    functionDepth: 0
    functionLinenumber: 1127
    functionLinenumberEnd: 1130
    functionName: dev_t_proc_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_end_image(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1130
    functionDepth: 0
    functionLinenumber: 1130
    functionLinenumberEnd: 1132
    functionName: dev_proc_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_end_image(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1140
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1140
    functionName: dev_t_proc_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_strip_tile_rectangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1140
    functionDepth: 0
    functionLinenumber: 1140
    functionLinenumberEnd: 1142
    functionName: dev_proc_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_strip_tile_rectangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1150
    functionName: dev_t_proc_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_strip_copy_rop(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1150
    functionDepth: 0
    functionLinenumber: 1150
    functionLinenumberEnd: 1152
    functionName: dev_proc_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_strip_copy_rop(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1157
    functionName: dev_t_proc_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_clipping_box(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1159
    functionName: dev_proc_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_clipping_box(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1168
    functionName: dev_t_proc_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_begin_typed_image(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1170
    functionName: dev_proc_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_begin_typed_image(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1176
    functionName: dev_t_proc_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_bits_rectangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1176
    functionDepth: 0
    functionLinenumber: 1176
    functionLinenumberEnd: 1178
    functionName: dev_proc_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_bits_rectangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1182
    functionName: dev_t_proc_map_color_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_map_color_rgb_alpha(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1184
    functionName: dev_proc_map_color_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_color_rgb_alpha(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: dev_t_proc_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_create_compositor(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1189
    functionDepth: 0
    functionLinenumber: 1189
    functionLinenumberEnd: 1192
    functionName: dev_proc_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_create_compositor(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1196
    functionName: dev_t_proc_get_hardware_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_hardware_params(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1198
    functionName: dev_proc_get_hardware_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_hardware_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1207
    functionName: dev_t_proc_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_finish_copydevice(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 0
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    functionName: dev_proc_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_finish_copydevice(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1230
    functionName: dev_t_proc_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_begin_transparency_group(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1230
    functionDepth: 0
    functionLinenumber: 1230
    functionLinenumberEnd: 1232
    functionName: dev_proc_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_begin_transparency_group(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1240
    functionDepth: 0
    functionLinenumber: 1240
    functionLinenumberEnd: 1243
    functionName: dev_t_proc_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_end_transparency_group(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1243
    functionDepth: 0
    functionLinenumber: 1243
    functionLinenumberEnd: 1245
    functionName: dev_proc_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_end_transparency_group(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1251
    functionDepth: 0
    functionLinenumber: 1251
    functionLinenumberEnd: 1257
    functionName: dev_t_proc_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_begin_transparency_mask(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1257
    functionDepth: 0
    functionLinenumber: 1257
    functionLinenumberEnd: 1259
    functionName: dev_proc_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_begin_transparency_mask(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1266
    functionDepth: 0
    functionLinenumber: 1266
    functionLinenumberEnd: 1269
    functionName: dev_t_proc_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_end_transparency_mask(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1271
    functionName: dev_proc_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_end_transparency_mask(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1277
    functionDepth: 0
    functionLinenumber: 1277
    functionLinenumberEnd: 1280
    functionName: dev_t_proc_discard_transparency_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_discard_transparency_layer(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1282
      start: 1280
    functionDepth: 0
    functionLinenumber: 1280
    functionLinenumberEnd: 1282
    functionName: dev_proc_discard_transparency_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_discard_transparency_layer(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1326
    functionDepth: 0
    functionLinenumber: 1326
    functionLinenumberEnd: 1329
    functionName: dev_t_proc_pattern_manage
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_pattern_manage(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1331
    functionName: dev_proc_pattern_manage
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_pattern_manage(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1351
    functionName: dev_t_proc_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_rectangle_hl_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1353
    functionName: dev_proc_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_rectangle_hl_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1361
    functionDepth: 0
    functionLinenumber: 1361
    functionLinenumberEnd: 1363
    functionName: dev_t_proc_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_include_color_space(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1363
    functionDepth: 0
    functionLinenumber: 1363
    functionLinenumberEnd: 1365
    functionName: dev_proc_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_include_color_space(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1381
    functionName: dev_t_proc_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_linear_color_scanline(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1413
    functionName: dev_t_proc_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_linear_color_trapezoid(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1413
    functionDepth: 0
    functionLinenumber: 1413
    functionLinenumberEnd: 1415
    functionName: dev_proc_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_linear_color_trapezoid(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1428
    functionName: dev_t_proc_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fill_linear_color_triangle(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1428
    functionDepth: 0
    functionLinenumber: 1428
    functionLinenumberEnd: 1430
    functionName: dev_proc_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fill_linear_color_triangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1439
      start: 1437
    functionDepth: 0
    functionLinenumber: 1437
    functionLinenumberEnd: 1439
    functionName: dev_t_proc_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_update_spot_equivalent_colors(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 0
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: dev_proc_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_update_spot_equivalent_colors(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1448
    functionDepth: 0
    functionLinenumber: 1448
    functionLinenumberEnd: 1450
    functionName: dev_t_proc_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_ret_devn_params(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1450
    functionDepth: 0
    functionLinenumber: 1450
    functionLinenumberEnd: 1452
    functionName: dev_proc_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_ret_devn_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1457
    functionDepth: 0
    functionLinenumber: 1457
    functionLinenumberEnd: 1459
    functionName: dev_t_proc_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_fillpage(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1461
    functionName: dev_proc_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_fillpage(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1465
      start: 1462
    functionDepth: 0
    functionLinenumber: 1462
    functionLinenumberEnd: 1465
    functionName: dev_t_proc_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_push_transparency_state(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1465
    functionDepth: 0
    functionLinenumber: 1465
    functionLinenumberEnd: 1467
    functionName: dev_proc_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_push_transparency_state(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1471
    functionName: dev_t_proc_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_pop_transparency_state(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1471
    functionDepth: 0
    functionLinenumber: 1471
    functionLinenumberEnd: 1473
    functionName: dev_proc_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_pop_transparency_state(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1474
    functionDepth: 0
    functionLinenumber: 1474
    functionLinenumberEnd: 1478
    functionName: dev_t_proc_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_put_image(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1478
    functionDepth: 0
    functionLinenumber: 1478
    functionLinenumberEnd: 1480
    functionName: dev_proc_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_put_image(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1483
    functionName: dev_t_proc_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_dev_spec_op(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1485
    functionName: dev_proc_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_dev_spec_op(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1490
    functionName: dev_t_proc_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_planes(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1492
    functionName: dev_proc_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_planes(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1493
    functionDepth: 0
    functionLinenumber: 1493
    functionLinenumberEnd: 1495
    functionName: dev_t_proc_get_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_get_profile(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1497
    functionName: dev_proc_get_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_get_profile(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1498
    functionDepth: 0
    functionLinenumber: 1498
    functionLinenumberEnd: 1500
    functionName: dev_t_proc_set_graphics_type_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_set_graphics_type_tag(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1500
    functionDepth: 0
    functionLinenumber: 1500
    functionLinenumberEnd: 1502
    functionName: dev_proc_set_graphics_type_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_set_graphics_type_tag(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1511
    functionName: dev_t_proc_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_strip_copy_rop2(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1511
    functionDepth: 0
    functionLinenumber: 1511
    functionLinenumberEnd: 1513
    functionName: dev_proc_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_strip_copy_rop2(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1519
    functionName: dev_t_proc_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_strip_tile_rect_devn(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1521
    functionName: dev_proc_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_strip_tile_rect_devn(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1522
    functionDepth: 0
    functionLinenumber: 1522
    functionLinenumberEnd: 1526
    functionName: dev_t_proc_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_copy_alpha_hl_color(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1528
    functionName: dev_proc_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_copy_alpha_hl_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1547
    functionName: dev_t_proc_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_process_page(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1549
    functionName: dev_proc_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_process_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1580
    functionName: dev_t_proc_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_transform_pixel_region(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1580
    functionDepth: 0
    functionLinenumber: 1580
    functionLinenumberEnd: 1582
    functionName: dev_proc_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_transform_pixel_region(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1586
    functionDepth: 0
    functionLinenumber: 1586
    functionLinenumberEnd: 1663
    functionName: gx_device_proc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_proc_struct(dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - dev
    - ','
    - pgs
    - ','
    - pim
    - ','
    - format
    - ','
    - prect
    - ','
    - pdcolor
    - ','
    - pcpath
    - ','
    - memory
    - ','
    - pinfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1677
    functionDepth: 0
    functionLinenumber: 1677
    functionLinenumberEnd: 1680
    functionName: gx_device_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_begin_image(dev, pgs, pim, format, prect, pdcolor, pcpath,
      memory, pinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - dev
    - ','
    - pgs
    - ','
    - pmat
    - ','
    - pim
    - ','
    - prect
    - ','
    - pdcolor
    - ','
    - pcpath
    - ','
    - memory
    - ','
    - pinfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1680
    functionDepth: 0
    functionLinenumber: 1680
    functionLinenumberEnd: 1683
    functionName: gx_device_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_begin_typed_image(dev, pgs, pmat, pim, prect, pdcolor, pcpath,
      memory, pinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - dev
    - ','
    - info
    - ','
    - planes
    - ','
    - data_x
    - ','
    - raster
    - ','
    - height
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1706
      start: 1704
    functionDepth: 0
    functionLinenumber: 1704
    functionLinenumberEnd: 1706
    functionName: gx_device_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_image_data(dev, info, planes, data_x, raster, height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dev
    - ','
    - info
    - ','
    - planes
    - ','
    - height
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1706
    functionDepth: 0
    functionLinenumber: 1706
    functionLinenumberEnd: 1708
    functionName: gx_device_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_image_plane_data(dev, info, planes, height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - info
    - ','
    - draw_last
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1708
    functionDepth: 0
    functionLinenumber: 1708
    functionLinenumberEnd: 1710
    functionName: gx_device_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_end_image(dev, info, draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1715
    functionDepth: 0
    functionLinenumber: 1715
    functionLinenumberEnd: 1717
    functionName: gx_device_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_get_alpha_bits(dev, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1751
    functionName: public_st_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1779
    functionDepth: 0
    functionLinenumber: 1779
    functionLinenumberEnd: 1783
    functionName: public_st_device_forward
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_forward()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1805
    functionName: subclass_parentmost_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      subclass_parentmost_device(gx_device *dev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: subclass_parentmost_device
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1816,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1826,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1827,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1829
    functionName: get_color_mapping_procs_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached:
    - subclass_parentmost_device
    - dev_proc
    linkageType: ''
    returnType: subclass_color_mappings
    signature: subclass_color_mappings get_color_mapping_procs_subclass(gx_device
      *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subclass_color_mappings::procs::map_rgb
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - scm
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - subclass_color_mappings
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1831
    functionDepth: 0
    functionLinenumber: 1831
    functionLinenumberEnd: 1835
    functionName: map_rgb_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached:
    - subclass_color_mappings::procs::map_rgb
    linkageType: ''
    returnType: void
    signature: void map_rgb_subclass(const subclass_color_mappings scm, const gs_gstate
      *pgs, frac r, frac g, frac b, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subclass_color_mappings::procs::map_gray
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - scm
    - gray
    - out
    argTypes:
    - subclass_color_mappings
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1841
      start: 1837
    functionDepth: 0
    functionLinenumber: 1837
    functionLinenumberEnd: 1841
    functionName: map_gray_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached:
    - subclass_color_mappings::procs::map_gray
    linkageType: ''
    returnType: void
    signature: void map_gray_subclass(const subclass_color_mappings scm, frac gray,
      frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: subclass_color_mappings::procs::map_cmyk
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - scm
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - subclass_color_mappings
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1847
    functionName: map_cmyk_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 1
    functionsReached:
    - subclass_color_mappings::procs::map_cmyk
    linkageType: ''
    returnType: void
    signature: void map_cmyk_subclass(const subclass_color_mappings scm, frac c, frac
      m, frac y, frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1850
    functionDepth: 0
    functionLinenumber: 1850
    functionLinenumberEnd: 1853
    functionName: device_encodes_tags
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool device_encodes_tags(const gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gxdevcli.h:1857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1855
    functionDepth: 1
    functionLinenumber: 1855
    functionLinenumberEnd: 1868
    functionName: device_is_deep
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 12
    functionsReached:
    - device_encodes_tags
    linkageType: ''
    returnType: bool
    signature: bool device_is_deep(const gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1878
    functionName: gx_device_is_null
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_is_null(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1879
    functionDepth: 0
    functionLinenumber: 1879
    functionLinenumberEnd: 1883
    functionName: public_st_device_null
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_null()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1950
    functionDepth: 0
    functionLinenumber: 1950
    functionLinenumberEnd: 1952
    functionName: gx_device_set_page_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_set_page_size(dev, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1969
    functionName: dev_type_proc_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_type_proc_initialize(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dtname
    - ','
    - stype
    - ','
    - initproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1978
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: device_type
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevcli.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: device_type(dtname, stype, initproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: DISCARD
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DISCARD(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: discard
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: discard(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: size_of
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: size_of(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 274
    functionName: countof
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: countof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 275
    functionName: count_of
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: count_of(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: offset_of
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset_of(type, memb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: offset_of
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offset_of(type, memb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - modu
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 299
    functionName: ALIGNMENT_MOD
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALIGNMENT_MOD(ptr, modu)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p1
    - ','
    - rel
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 391
    functionName: _PTR_CMP
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PTR_CMP(p1, rel, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 392
    functionName: PTR_LE
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_LE(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 393
    functionName: PTR_LT
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_LT(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 394
    functionName: PTR_GE
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_GE(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    functionName: PTR_GT
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_GT(p1, p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - lo
    - ','
    - hi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 397
    functionName: PTR_BETWEEN
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_BETWEEN(ptr, lo, hi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 98
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - modulus
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: ROUND_DOWN
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_DOWN(value, modulus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - modulus
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: ROUND_UP
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_UP(value, modulus)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    functionName: round_up
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: round_up(v, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: round_down
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: round_down(v, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 449
    functionName: client_name_string
    functionSourceFile: /src/libspectre/ghostscript/base/stdpre.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: client_name_string(cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - name_size
    - ','
    - str
    - ','
    - str_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(name, name_size, str, str_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsequivc.c:132,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gsequivc.c:133,1
    - Dst: capture_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pcs
    - pdevn_params
    - pparams
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_color_space*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 150
    functionName: update_Separation_spot_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - strlen
    - capture_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: void
    signature: "void update_Separation_spot_equivalent_cmyk_colors(gx_device * pdev,\n
      \                   const gs_gstate * pgs, const gs_color_space * pcs,\n                    gs_devn_params
      * pdevn_params,\n                    equivalent_cmyk_color_params * pparams)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsequivc.c:166,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gsequivc.c:185,1
    - Dst: capture_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pcs
    - pdevn_params
    - pparams
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_color_space*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 202
    functionName: update_ICC_spot_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    - capture_spot_equivalent_cmyk_colors
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int update_ICC_spot_equivalent_cmyk_colors(gx_device * pdev,\n                    const
      gs_gstate * pgs, const gs_color_space * pcs,\n                    gs_devn_params
      * pdevn_params,\n                    equivalent_cmyk_color_params * pparams)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsequivc.c:226,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gsequivc.c:228,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsequivc.c:235,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsequivc.c:236,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsequivc.c:253,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gsequivc.c:254,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsequivc.c:263,1
    - Dst: capture_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - pdev
    - pgs
    - pcs
    - pdevn_params
    - pparams
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_color_space*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 273
    functionName: update_DeviceN_spot_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - strlen
    - gs_warn
    - memset
    - compare_color_names
    - capture_spot_equivalent_cmyk_colors
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void update_DeviceN_spot_equivalent_cmyk_colors(gx_device * pdev,\n
      \                   const gs_gstate * pgs, const gs_color_space * pcs,\n                    gs_devn_params
      * pdevn_params,\n                    equivalent_cmyk_color_params * pparams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - num_spot
    - pparams
    argTypes:
    - int
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: check_all_colors_known
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool check_all_colors_known(int num_spot,\n                equivalent_cmyk_color_params
      * pparams)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsequivc.c:293,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gsequivc.c:311,1
    - Dst: update_Separation_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:314,1
    - Dst: check_all_colors_known
      Src: /src/libspectre/ghostscript/base/gsequivc.c:316,1
    - Dst: update_DeviceN_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:320,1
    - Dst: check_all_colors_known
      Src: /src/libspectre/ghostscript/base/gsequivc.c:322,1
    - Dst: update_ICC_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gsequivc.c:328,1
    - Dst: check_all_colors_known
      Src: /src/libspectre/ghostscript/base/gsequivc.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - pgs
    - pdevn_params
    - pparams
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 338
    functionName: update_spot_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 3
    functionsReached:
    - update_DeviceN_spot_equivalent_cmyk_colors
    - update_ICC_spot_equivalent_cmyk_colors
    - check_all_colors_known
    - gs_currentcolorspace_inline
    - dev_proc
    - update_Separation_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: int
    signature: "int update_spot_equivalent_cmyk_colors(gx_device * pdev, const gs_gstate
      * pgs,\n    gs_devn_params * pdevn_params, equivalent_cmyk_color_params * pparams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - sep_num
    - pparams
    - cmyk
    argTypes:
    - int
    - equivalent_cmyk_color_params*
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 349
    functionName: save_spot_equivalent_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void save_spot_equivalent_cmyk_color(int sep_num,\n                equivalent_cmyk_color_params
      * pparams, const frac cmyk[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_spot_equivalent_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - gray
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 396
    functionName: cmap_gray_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - save_spot_equivalent_cmyk_color
    linkageType: ''
    returnType: void
    signature: "void cmap_gray_capture_cmyk_color(frac gray, gx_device_color * pdc,\n
      \       const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/base/gsequivc.c:407,1
    - Dst: save_spot_equivalent_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - r
    - g
    - b
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: cmap_rgb_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - save_spot_equivalent_cmyk_color
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_capture_cmyk_color(frac r, frac g, frac b, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_spot_equivalent_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - c
    - m
    - y
    - k
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 426
    functionName: cmap_cmyk_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - save_spot_equivalent_cmyk_color
    linkageType: ''
    returnType: void
    signature: "void cmap_cmyk_capture_cmyk_color(frac c, frac m, frac y, frac k,
      gx_device_color * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t
      select,\n     const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmap_rgb_capture_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - r
    - g
    - b
    - alpha
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 434
    functionName: cmap_rgb_alpha_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - cmap_rgb_capture_cmyk_color
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_alpha_capture_cmyk_color(frac r, frac g, frac b, frac
      alpha,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                        gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gsequivc.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - all
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    functionName: cmap_separation_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - dmprintf
    linkageType: ''
    returnType: void
    signature: "void cmap_separation_capture_cmyk_color(frac all, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select,\n
      \    const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: save_spot_equivalent_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pcc
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 458
    functionName: cmap_devicen_capture_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached:
    - save_spot_equivalent_cmyk_color
    linkageType: ''
    returnType: void
    signature: "void cmap_devicen_capture_cmyk_color(const frac * pcc, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select,\n
      \    const gs_color_space *pcs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsequivc.c:487,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gsequivc.c:488,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsequivc.c:527,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gsequivc.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 6
    argNames:
    - pdev
    - pgs
    - pcc
    - pcs
    - sep_num
    - pparams
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_client_color*
    - gs_color_space*
    - int
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 542
    functionName: capture_spot_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 3
    functionsReached:
    - set_dev_proc
    - gs_color_space*::type::remap_color
    - dev_proc
    - gsicc_extract_profile
    linkageType: ''
    returnType: void
    signature: "void capture_spot_equivalent_cmyk_colors(gx_device * pdev, const gs_gstate
      * pgs,\n    const gs_client_color * pcc, const gs_color_space * pcs,\n    int
      sep_num, equivalent_cmyk_color_params * pparams)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 550
    functionName: named_color_equivalent_cmyk_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsequivc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool named_color_equivalent_cmyk_colors(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name1
    - ','
    - name_size1
    - ','
    - name2
    - ','
    - name_size2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: compare_names
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_names(name1, name_size1, name2, name_size2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: client_install_no_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool client_install_no_op(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_cie_to_xyz_free
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:171,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:173,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pcs
    - delta
    argTypes:
    - gs_color_space*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 175
    functionName: client_adjust_cspace_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void client_adjust_cspace_count(const gs_color_space * pcs, int delta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:195,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - initial_ref_count
    - mem
    argTypes:
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 210
    functionName: allocate_client_data_block
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - memset
    - gs_alloc_struct
    linkageType: ''
    returnType: demo_color_space_data_t
    signature: 'demo_color_space_data_t *

      allocate_client_data_block(int initial_ref_count, gs_memory_t *mem)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 230
    functionName: client_install_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - allocate_client_data_block
    linkageType: ''
    returnType: bool
    signature: "bool client_install_generic(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:245,1
    - Dst: gs_color_space*::params::separation::get_colorname_string
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:255,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:263,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:263,1
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pparam
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 280
    functionName: client_pantone_install_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - count_of
    - strlen
    - allocate_client_data_block
    - compare_names
    - gs_color_space*::params::separation::get_colorname_string
    linkageType: ''
    returnType: bool
    signature: "bool client_pantone_install_Separation(client_custom_color_params_t
      * pparam,\n                        gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:297,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:302,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:304,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:306,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:308,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:310,1
    - Dst: gs_color_space*::params::device_n::get_colorname_string
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:326,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:333,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:340,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:344,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:348,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:352,1
    - Dst: compare_names
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:362,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:362,1
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:381,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 3
    argNames:
    - pparam
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 391
    functionName: client_pantone_install_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gs_color_space*::params::device_n::get_colorname_string
    - count_of
    - strlen
    - allocate_client_data_block
    - compare_names
    linkageType: ''
    returnType: bool
    signature: "bool client_pantone_install_DeviceN(client_custom_color_params_t *
      pparam,\n                        gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:426,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:454,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:455,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:456,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:457,1
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:466,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 8
    argNames:
    - pparam
    - pconc
    - pparams
    - pdc
    - pgs
    - dev
    - select
    - num_comp
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - demo_color_space_data_t*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 468
    functionName: client_pantone_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - return_error
    - floor
    - gx_remap_concrete_cmyk
    linkageType: ''
    returnType: int
    signature: "int client_pantone_remap_color(client_custom_color_params_t * pparam,\n
      \       const frac * pconc, const demo_color_space_data_t * pparams,\n        gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n        gs_color_select_t select,
      int num_comp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_pantone_remap_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pparam
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 481
    functionName: client_pantone_remap_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - client_pantone_remap_color
    linkageType: ''
    returnType: int
    signature: "int client_pantone_remap_Separation(client_custom_color_params_t *
      pparam,\n        const frac * pconc, const gs_color_space * pcs, gx_device_color
      * pdc,\n        const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_pantone_remap_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:491,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - pparam
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: client_pantone_remap_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - client_pantone_remap_color
    linkageType: ''
    returnType: int
    signature: "int client_pantone_remap_DeviceN(client_custom_color_params_t * pparam,\n
      \       const frac * pconc, const gs_color_space * pcs, gx_device_color * pdc,\n
      \       const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 507
    functionName: client_install_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool client_install_DeviceGray(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:537,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - intensity
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 539
    functionName: convert_intensity_into_device_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_cmyk
    linkageType: ''
    returnType: int
    signature: "int convert_intensity_into_device_color(const frac intensity,\n        gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n        gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_intensity_into_device_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:556,1
    - Dst: gx_remap_concrete_gray
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - pparams
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 567
    functionName: client_remap_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_gray
    - convert_intensity_into_device_color
    linkageType: ''
    returnType: int
    signature: "int client_remap_DeviceGray(client_custom_color_params_t * pparams,\n
      \   const frac * pconc, const gs_color_space * pcs, gx_device_color * pdc,\n
      \   const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 579
    functionName: client_install_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - dlprintf1
    linkageType: ''
    returnType: bool
    signature: "bool client_install_DeviceRGB(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: convert_intensity_into_device_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:596,1
    - Dst: gx_remap_concrete_rgb
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 7
    argNames:
    - pparams
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 607
    functionName: client_remap_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_rgb
    - convert_intensity_into_device_color
    linkageType: ''
    returnType: int
    signature: "int client_remap_DeviceRGB(client_custom_color_params_t * pparams,\n
      \       const frac * pconc, const gs_color_space * pcs, gx_device_color * pdc,\n
      \       const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 618
    functionName: client_install_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool client_install_DeviceCMYK(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert_intensity_into_device_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:640,1
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - pparams
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 650
    functionName: client_remap_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_cmyk
    - convert_intensity_into_device_color
    linkageType: ''
    returnType: int
    signature: "int client_remap_DeviceCMYK(client_custom_color_params_t * pparams,\n
      \       const frac * pconc, const gs_color_space * pcs, gx_device_color * pdc,\n
      \       const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - color
    - ','
    - range
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: convert2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: convert2frac(color, range)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:673,1
    - Dst: gs_cie_cache_init
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:685,1
    - Dst: SAMPLE_LOOP_VALUE
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:688,1
    - Dst: gx_cie_load_common_cache
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:692,1
    - Dst: gs_cie_a_complete
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:693,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:694,1
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:697,1
    - Dst: client_adjust_cspace_count
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:701,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 706
    functionName: client_install_CIEtoA
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - SAMPLE_LOOP_VALUE
    - gs_cie_a_complete
    - gx_cie_to_xyz_alloc
    - client_adjust_cspace_count
    - gs_cie_cs_complete
    - allocate_client_data_block
    - gs_cie_cache_init
    - gx_cie_load_common_cache
    linkageType: ''
    returnType: bool
    signature: "bool client_install_CIEtoA(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:719,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:732,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:741,1
    - Dst: gx_install_cie_abc
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:755,1
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:758,1
    - Dst: client_adjust_cspace_count
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 767
    functionName: client_install_CIEtoXYZ
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_alloc
    - CIE_LOAD_CACHE_BODY
    - client_adjust_cspace_count
    - allocate_client_data_block
    - gx_install_cie_abc
    linkageType: ''
    returnType: bool
    signature: "bool client_install_CIEtoXYZ(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: allocate_client_data_block
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:781,1
    - Dst: gx_cie_load_common_cache
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:787,1
    - Dst: gx_cie_common_complete
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:788,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:790,1
    - Dst: client_adjust_cspace_count
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:791,1
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:797,1
    - Dst: client_adjust_cspace_count
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:801,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pparams
    - pcs
    - pgs
    argTypes:
    - client_custom_color_params_t*
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 769
    functionDepth: 2
    functionLinenumber: 769
    functionLinenumberEnd: 806
    functionName: client_install_ICCtoXYZ
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_alloc
    - gx_cie_common_complete
    - client_adjust_cspace_count
    - gs_cie_cs_complete
    - allocate_client_data_block
    - gx_cie_load_common_cache
    linkageType: ''
    returnType: bool
    signature: "bool client_install_ICCtoXYZ(client_custom_color_params_t * pparams,\n
      \           gs_color_space * pcs, gs_gstate * pgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: convert2frac
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:819,1
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:825,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:828,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:830,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:830,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:830,1
    - Dst: client_remap_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - pparams
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 838
    functionName: client_remap_CIEBasedA
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - if_debug4
    - client_remap_DeviceGray
    - cs_concretize_color
    - convert2frac
    - frac2float
    linkageType: ''
    returnType: int
    signature: "int client_remap_CIEBasedA(client_custom_color_params_t * pparams,\n
      \   const gs_client_color * pc, const gs_color_space * pcs,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:858,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:861,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:863,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:863,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:863,1
    - Dst: convert2frac
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:872,1
    - Dst: client_remap_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - pparams
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 875
    functionName: client_remap_CIEBasedABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - client_remap_DeviceRGB
    - cs_concretize_color
    - convert2frac
    - frac2float
    - if_debug6
    linkageType: ''
    returnType: int
    signature: "int client_remap_CIEBasedABC(client_custom_color_params_t * pparams,\n
      \   const gs_client_color * pc, const gs_color_space * pcs,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:895,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:898,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:900,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:900,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:900,1
    - Dst: convert2frac
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:909,1
    - Dst: client_remap_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:911,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - pparams
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 880
    functionDepth: 3
    functionLinenumber: 880
    functionLinenumberEnd: 912
    functionName: client_remap_CIEBasedDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - client_remap_DeviceRGB
    - cs_concretize_color
    - convert2frac
    - frac2float
    - if_debug6
    linkageType: ''
    returnType: int
    signature: "int client_remap_CIEBasedDEF(client_custom_color_params_t * pparams,\n
      \   const gs_client_color * pc, const gs_color_space * pcs,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:932,1
    - Dst: if_debug7
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:935,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:938,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:938,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:938,1
    - Dst: convert2frac
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:947,1
    - Dst: client_remap_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:949,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - pparams
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 917
    functionDepth: 3
    functionLinenumber: 917
    functionLinenumberEnd: 950
    functionName: client_remap_CIEBasedDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - client_remap_DeviceRGB
    - cs_concretize_color
    - convert2frac
    - frac2float
    - if_debug7
    linkageType: ''
    returnType: int
    signature: "int client_remap_CIEBasedDEFG(client_custom_color_params_t * pparams,\n
      \   const gs_client_color * pc, const gs_color_space * pcs,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:971,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:974,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:976,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:976,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:976,1
    - Dst: convert2frac
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:987,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:992,1
    - Dst: client_remap_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:994,1
    - Dst: client_remap_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:997,1
    - Dst: client_remap_DeviceCMYK
      Src: /src/libspectre/ghostscript/base/gsncdummy.c:1001,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 7
    argNames:
    - pparams
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - client_custom_color_params_t*
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 955
    functionDepth: 3
    functionLinenumber: 955
    functionLinenumberEnd: 1004
    functionName: client_remap_ICCBased
    functionSourceFile: /src/libspectre/ghostscript/base/gsncdummy.c
    functionUses: 0
    functionsReached:
    - client_remap_DeviceCMYK
    - client_remap_DeviceRGB
    - client_remap_DeviceGray
    - cs_concretize_color
    - convert2frac
    - frac2float
    - return_error
    - if_debug6
    linkageType: ''
    returnType: int
    signature: "int client_remap_ICCBased(client_custom_color_params_t * pparams,\n
      \   const gs_client_color * pc, const gs_color_space * pcs,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_data_image_t_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pimm
    argTypes:
    - gs_image3x_mask_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 65
    functionName: gs_image3x_mask_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gs_data_image_t_init
    linkageType: ''
    returnType: void
    signature: void gs_image3x_mask_init(gs_image3x_mask_t *pimm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pixel_image_t_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:69,1
    - Dst: gs_image3x_mask_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:71,1
    - Dst: gs_image3x_mask_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pim
    - color_space
    argTypes:
    - gs_image3x_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: gs_image3x_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gs_image3x_mask_init
    - gs_pixel_image_t_init
    linkageType: ''
    returnType: void
    signature: void gs_image3x_t_init(gs_image3x_t * pim, gs_color_space * color_space)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:150,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximag3x.c:151,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:154,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gximag3x.c:166,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gximag3x.c:167,1
    - Dst: check_image3x_mask
      Src: /src/libspectre/ghostscript/base/gximag3x.c:169,1
    - Dst: check_image3x_mask
      Src: /src/libspectre/ghostscript/base/gximag3x.c:171,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximag3x.c:177,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:178,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gximag3x.c:190,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:195,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gximag3x.c:202,1
    - Dst: gs_cspace_new_DevicePixel
      Src: /src/libspectre/ghostscript/base/gximag3x.c:218,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gximag3x.c:224,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gximag3x.c:225,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:232,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gximag3x.c:239,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gximag3x.c:240,1
    - Dst: make_mid
      Src: /src/libspectre/ghostscript/base/gximag3x.c:241,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gximag3x.c:242,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gximag3x.c:243,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximag3x.c:247,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gximag3x.c:250,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:252,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximag3x.c:263,1
    - Dst: gx_device_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gximag3x.c:286,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:296,1
    - Dst: make_mcde
      Src: /src/libspectre/ghostscript/base/gximag3x.c:304,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:333,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximag3x.c:337,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximag3x.c:339,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximag3x.c:345,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximag3x.c:347,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximag3x.c:348,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximag3x.c:353,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximag3x.c:355,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximag3x.c:358,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:359,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximag3x.c:363,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:364,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:368,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:369,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:370,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:372,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 152
    argCount: 11
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - make_mid
    - make_mcde
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - image3x_make_mid_proc_t
    - image3x_make_mcde_proc_t
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 374
    functionName: gx_begin_image3x_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - gs_cspace_new_DevicePixel
    - gx_device_begin_typed_image
    - gx_device_retain
    - gs_matrix_multiply
    - gs_closedevice
    - rc_increment
    - ctm_only
    - gx_image_enum_common_init
    - gs_note_error
    - gs_point_transform
    - gs_matrix_invert
    - gs_bbox_transform
    - gs_free_object
    - make_mcde
    - gx_image_end
    - check_image3x_mask
    - floor
    - dev_proc
    - make_mid
    - gs_color_space_num_components
    - memcpy
    - gs_image_t_init
    - ceil
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image3x_generic(gx_device * dev,\n                        const
      gs_gstate *pgs, const gs_matrix *pmat,\n                        const gs_image_common_t
      *pic, const gs_int_rect *prect,\n                        const gx_drawing_color
      *pdcolor,\n                        const gx_clip_path *pcpath, gs_memory_t *mem,\n
      \                       image3x_make_mid_proc_t make_mid,\n                        image3x_make_mcde_proc_t
      make_mcde,\n                        gx_image_enum_common_t **pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - mask_coeff
    - data_coeff
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: check_image3x_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_image3x_extent(double mask_coeff, double data_coeff)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:416,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:423,1
    - Dst: check_image3x_extent
      Src: /src/libspectre/ghostscript/base/gximag3x.c:426,1
    - Dst: check_image3x_extent
      Src: /src/libspectre/ghostscript/base/gximag3x.c:428,1
    - Dst: check_image3x_extent
      Src: /src/libspectre/ghostscript/base/gximag3x.c:430,1
    - Dst: check_image3x_extent
      Src: /src/libspectre/ghostscript/base/gximag3x.c:432,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:435,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gximag3x.c:436,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gximag3x.c:437,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximag3x.c:441,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximag3x.c:442,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximag3x.c:443,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximag3x.c:444,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:446,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gximag3x.c:462,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:466,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 6
    argNames:
    - pim
    - pimm
    - ppcv
    - pmcv
    - pmcs
    - mem
    argTypes:
    - gs_image3x_t*
    - gs_image3x_mask_t*
    - image3x_channel_values_t*
    - image3x_channel_values_t*
    - image3x_channel_state_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 470
    functionName: check_image3x_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - check_image3x_extent
    - fabs
    - return_error
    - gs_point_transform
    - gs_matrix_invert
    linkageType: ''
    returnType: bool
    signature: "bool check_image3x_mask(const gs_image3x_t *pim, const gs_image3x_mask_t
      *pimm,\n                   const image3x_channel_values_t *ppcv,\n                   image3x_channel_values_t
      *pmcv,\n                   image3x_channel_state_t *pmcs, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf4
      Src: /src/libspectre/ghostscript/base/gximag3x.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pics1
    - pics2
    argTypes:
    - image3x_channel_state_t*
    - image3x_channel_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 501
    functionName: channel_next
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - lprintf4
    linkageType: ''
    returnType: int
    signature: "int channel_next(const image3x_channel_state_t *pics1,\n             const
      image3x_channel_state_t *pics2)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gximag3x.c:509,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:515,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:517,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximag3x.c:518,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:521,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gximag3x.c:522,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gximag3x.c:526,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gximag3x.c:527,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximag3x.c:528,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:530,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximag3x.c:534,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 6
    argNames:
    - pmidev
    - dev
    - width
    - height
    - depth
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 538
    functionName: make_midx_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gdev_mem_device_for_bits
    - check_device_separable
    - gs_make_mem_device
    - gs_free_object
    - return_error
    - gx_device_fill_in_procs
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int make_midx_default(gx_device **pmidev, gx_device *dev, int width,
      int height,\n                 int depth, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximag3x.c:564,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gximag3x.c:569,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:573,1
    - Dst: gx_device_bbox_init
      Src: /src/libspectre/ghostscript/base/gximag3x.c:575,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gximag3x.c:578,1
    - Dst: gx_device_bbox_fwd_open_close
      Src: /src/libspectre/ghostscript/base/gximag3x.c:580,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximag3x.c:581,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 14
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - pmcdev
    - midev
    - pminfo
    - origin
    - pim
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - gx_device**
    - gx_device*[]
    - gx_image_enum_common_t*[]
    - gs_int_point[]
    - gs_image3x_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 590
    functionName: make_mcdex_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gx_device_bbox_fwd_open_close
    - gs_alloc_struct_immovable
    - rc_increment
    - gx_device_bbox_init
    - return_error
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int make_mcdex_default(gx_device *dev, const gs_gstate *pgs,\n                   const
      gs_matrix *pmat, const gs_image_common_t *pic,\n                   const gs_int_rect
      *prect, const gx_drawing_color *pdcolor,\n                   const gx_clip_path
      *pcpath, gs_memory_t *mem,\n                   gx_image_enum_common_t **pinfo,\n
      \                  gx_device **pmcdev, gx_device *midev[2],\n                   gx_image_enum_common_t
      *pminfo[2],\n                   const gs_int_point origin[2],\n                   const
      gs_image3x_t *pim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_begin_image3x_generic
      Src: /src/libspectre/ghostscript/base/gximag3x.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: gx_begin_image3x
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gx_begin_image3x_generic
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image3x(gx_device * dev,\n                const gs_gstate
      * pgs, const gs_matrix * pmat,\n                const gs_image_common_t * pic,
      const gs_int_rect * prect,\n                const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                gs_memory_t * mem, gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gximag3x.c:630,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gximag3x.c:634,1
    - Dst: sample_load_next12
      Src: /src/libspectre/ghostscript/base/gximag3x.c:696,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:697,1
    - Dst: sample_store_next12
      Src: /src/libspectre/ghostscript/base/gximag3x.c:698,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:700,1
    - Dst: sample_load_next12
      Src: /src/libspectre/ghostscript/base/gximag3x.c:703,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:704,1
    - Dst: sample_store_next12
      Src: /src/libspectre/ghostscript/base/gximag3x.c:705,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximag3x.c:706,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:711,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:713,1
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gximag3x.c:739,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:756,1
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gximag3x.c:757,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gximag3x.c:785,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 99
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 802
    functionName: gx_image3x_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - sample_store_flush
    - sample_load_next12
    - gx_image_plane_data_rows
    - sample_store_next12
    - gx_image_flush
    - return_error
    - min
    - if_debug7m
    linkageType: ''
    returnType: int
    signature: "int gx_image3x_plane_data(gx_image_enum_common_t * info,\n                     const
      gx_image_plane_t * planes, int height,\n                     int *rows_used)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:809,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:812,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximag3x.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_image_enum_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 816
    functionName: gx_image3x_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gx_image_flush
    linkageType: ''
    returnType: int
    signature: int gx_image3x_flush(gx_image_enum_common_t * info)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: channel_next
      Src: /src/libspectre/ghostscript/base/gximag3x.c:833,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximag3x.c:835,1
    - Dst: channel_next
      Src: /src/libspectre/ghostscript/base/gximag3x.c:838,1
    - Dst: channel_next
      Src: /src/libspectre/ghostscript/base/gximag3x.c:847,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximag3x.c:850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - info
    - wanted
    argTypes:
    - gx_image_enum_common_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 819
    functionDepth: 2
    functionLinenumber: 819
    functionLinenumberEnd: 868
    functionName: gx_image3x_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - channel_next
    - memset
    linkageType: ''
    returnType: bool
    signature: bool gx_image3x_planes_wanted(const gx_image_enum_common_t * info,
      byte *wanted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximag3x.c:878,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximag3x.c:882,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximag3x.c:885,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gximag3x.c:887,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximag3x.c:890,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximag3x.c:892,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximag3x.c:894,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:895,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:897,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:899,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:901,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:902,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximag3x.c:903,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gximag3x.c:904,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 906
    functionName: gx_image3x_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.c
    functionUses: 0
    functionsReached:
    - gs_closedevice
    - gx_image_end
    - rc_decrement
    - gx_image_free_enum
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_image3x_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - uval
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 42
    functionName: enc_u_size_uint
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int enc_u_size_uint(uint uval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:53,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: enc_s_size_int
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_u_sizew
    linkageType: ''
    returnType: int
    signature: int enc_s_size_int(int ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - uval
    - ptr
    argTypes:
    - uint
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: enc_u_put_uint
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_u_put_uint(uint uval, byte * ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_put_uint
      Src: /src/libspectre/ghostscript/base/gsserial.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ival
    - ptr
    argTypes:
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 95
    functionName: enc_s_put_int
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_u_put_uint
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_s_put_int(int ival, byte * ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pval
    - ptr
    argTypes:
    - uint*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: enc_u_get_uint
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_u_get_uint(uint * pval, const byte * ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_get_uint
      Src: /src/libspectre/ghostscript/base/gsserial.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ptr
    argTypes:
    - uint*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 124
    functionName: enc_u_get_uint_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_u_get_uint
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_u_get_uint_nc(uint * pval, byte * ptr)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_get_uint
      Src: /src/libspectre/ghostscript/base/gsserial.c:140,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pval
    - ptr
    argTypes:
    - int*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 148
    functionName: enc_s_get_int
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_u_get_uint
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_s_get_int(int * pval, const byte * ptr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: enc_s_get_int
      Src: /src/libspectre/ghostscript/base/gsserial.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ptr
    argTypes:
    - int*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: enc_s_get_int_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_s_get_int
    linkageType: ''
    returnType: byte
    signature: 'byte *

      enc_s_get_int_nc(int * pval, byte * ptr)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:180,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:181,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 2
    argNames:
    - uval
    - len
    argTypes:
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: check_u_sizew
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - fprintf
    - enc_u_sizew
    linkageType: ''
    returnType: void
    signature: void check_u_sizew(uint uval, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: enc_s_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:198,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:199,1
    - Dst: enc_s_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:203,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 2
    argNames:
    - ival
    - len
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: check_s_sizew
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_s_sizew
    - fprintf
    linkageType: ''
    returnType: void
    signature: void check_s_sizew(int ival, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsserial.c:228,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gsserial.c:229,1
    - Dst: check_u_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:230,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsserial.c:231,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gsserial.c:233,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:235,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:242,1
    - Dst: enc_u_getw_nc
      Src: /src/libspectre/ghostscript/base/gsserial.c:247,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - uval
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 260
    functionName: check_u
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_u_getw_nc
    - enc_u_putw
    - fprintf
    - memset
    - enc_u_getw
    - check_u_sizew
    linkageType: ''
    returnType: void
    signature: void check_u(uint uval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsserial.c:271,1
    - Dst: enc_s_putw
      Src: /src/libspectre/ghostscript/base/gsserial.c:272,1
    - Dst: check_s_sizew
      Src: /src/libspectre/ghostscript/base/gsserial.c:273,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsserial.c:274,1
    - Dst: enc_s_getw
      Src: /src/libspectre/ghostscript/base/gsserial.c:276,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:278,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:285,1
    - Dst: enc_s_getw_nc
      Src: /src/libspectre/ghostscript/base/gsserial.c:290,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:292,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:299,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 303
    functionName: check_s
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - enc_s_getw
    - enc_s_getw_nc
    - enc_s_putw
    - fprintf
    - memset
    - check_s_sizew
    linkageType: ''
    returnType: void
    signature: void check_s(int ival)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_u
      Src: /src/libspectre/ghostscript/base/gsserial.c:311,1
    - Dst: check_u
      Src: /src/libspectre/ghostscript/base/gsserial.c:313,1
    - Dst: check_u
      Src: /src/libspectre/ghostscript/base/gsserial.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - uval
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 316
    functionName: check_u_vals
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - check_u
    linkageType: ''
    returnType: void
    signature: void check_u_vals(uint uval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_s
      Src: /src/libspectre/ghostscript/base/gsserial.c:323,1
    - Dst: check_s
      Src: /src/libspectre/ghostscript/base/gsserial.c:326,1
    - Dst: check_s
      Src: /src/libspectre/ghostscript/base/gsserial.c:327,1
    - Dst: check_s
      Src: /src/libspectre/ghostscript/base/gsserial.c:333,1
    - Dst: check_s
      Src: /src/libspectre/ghostscript/base/gsserial.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ival
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 337
    functionName: check_s_vals
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 0
    functionsReached:
    - check_s
    linkageType: ''
    returnType: void
    signature: void check_s_vals(int ival)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_u_vals
      Src: /src/libspectre/ghostscript/base/gsserial.c:345,1
    - Dst: check_u_vals
      Src: /src/libspectre/ghostscript/base/gsserial.c:347,1
    - Dst: check_s_vals
      Src: /src/libspectre/ghostscript/base/gsserial.c:349,1
    - Dst: check_s_vals
      Src: /src/libspectre/ghostscript/base/gsserial.c:351,1
    - Dst: check_s_vals
      Src: /src/libspectre/ghostscript/base/gsserial.c:353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsserial.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 358
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.c
    functionUses: 15
    functionsReached:
    - check_s_vals
    - check_u_vals
    - fprintf
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - vsp
    - f
    argTypes:
    - calc_value_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: store_float
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_float(calc_value_t *vsp, double f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:129,1
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:131,1
    - Dst: OP_NONE
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:134,1
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:135,1
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:135,1
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:135,1
    - Dst: O4
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:135,1
    - Dst: OP_NUM1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:139,1
    - Dst: OP1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:140,1
    - Dst: OP_MATH1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:141,1
    - Dst: OP1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:142,1
    - Dst: OP_ANY1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:143,1
    - Dst: OP1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:144,1
    - Dst: OP_NUM2
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pfn_common
    - in
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 149
    functionName: fn_PtCr_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - OP_MATH1
    - OP1
    - O4
    - OP_ANY1
    - OP_NUM2
    - OP_NONE
    - OP_NUM1
    linkageType: ''
    returnType: int
    signature: int fn_PtCr_evaluate(const gs_function_t *pfn_common, const float *in,
      float *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 153
    functionName: OP_MATH2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_MATH2(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: OP_INT2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_INT2(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    functionName: OP_REL2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_REL2(i, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: OP_ANY2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OP_ANY2(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rel
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 414
    functionName: DO_REL
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_REL(rel, m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pfn_common
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 591
    functionName: fn_PtCr_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int fn_PtCr_is_monotonic(const gs_function_t * pfn_common,\n                     const
      float *lower, const float *upper, uint *mask)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: spputc
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:599,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:603,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:608,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:609,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:616,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:617,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:622,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:625,1
    - Dst: calc_put_ops
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:631,1
    - Dst: calc_put_ops
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:637,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:641,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:643,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:648,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:649,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:654,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:667,1
    - Dst: spputc
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:670,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 3
    argNames:
    - s
    - ops
    - size
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 672
    functionName: calc_put_ops
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 1
    functionsReached:
    - stream_puts
    - pprintg1
    - return_error
    - pprints1
    - memcpy
    - pprintd1
    - calc_put_ops
    - spputc
    linkageType: ''
    returnType: int
    signature: int calc_put_ops(stream *s, const byte *ops, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: calc_put_ops
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - pfn
    argTypes:
    - stream*
    - gs_function_PtCr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 2
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: calc_put
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - calc_put_ops
    linkageType: ''
    returnType: int
    signature: int calc_put(stream *s, const gs_function_PtCr_t *pfn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:687,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:702,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:703,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:705,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:706,1
    - Dst: stream_template*::set_defaults
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:707,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:709,1
    - Dst: calc_put
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:710,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 681
    functionDepth: 3
    functionLinenumber: 681
    functionLinenumberEnd: 715
    functionName: calc_access
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - stream_template*::set_defaults
    - sclose
    - s_init_state
    - swrite_string
    - offset_of
    - s_init_filter
    - calc_put
    - s_init
    linkageType: ''
    returnType: int
    signature: "int calc_access(const gs_data_source_t *psrc, ulong start, uint length,\n
      \           byte *buf, const byte **ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_get_info_default
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:724,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:729,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:730,1
    - Dst: calc_put
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:731,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pfn_common
    - pfi
    argTypes:
    - gs_function_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 734
    functionName: fn_PtCr_get_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - stell
    - swrite_position_only
    - gs_function_get_info_default
    - calc_put
    - s_init
    linkageType: ''
    returnType: void
    signature: void fn_PtCr_get_info(const gs_function_t *pfn_common, gs_function_info_t
      *pfi)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:742,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:747,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:752,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:753,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:754,1
    - Dst: fn_common_scale
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:760,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:763,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:766,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:773,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:778,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:792,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 4
    argNames:
    - pfn
    - ppsfn
    - pranges
    - mem
    argTypes:
    - gs_function_PtCr_t*
    - gs_function_PtCr_t**
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 796
    functionName: fn_PtCr_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - gs_resize_string
    - return_error
    - gs_free_string
    - gs_function_free
    - gs_alloc_struct
    - memcpy
    - gs_alloc_string
    - fn_common_scale
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int fn_PtCr_make_scaled(const gs_function_PtCr_t *pfn, gs_function_PtCr_t
      **ppsfn,\n                    const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:802,1
    - Dst: fn_common_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_PtCr_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 806
    functionName: gs_function_PtCr_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - gs_free_const_string
    - fn_common_free_params
    linkageType: ''
    returnType: void
    signature: void gs_function_PtCr_free_params(gs_function_PtCr_params_t * params,
      gs_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:814,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:818,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:821,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 822
    functionName: gs_function_PtCr_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - fn_common_serialize
    - sputs
    linkageType: ''
    returnType: int
    signature: int gs_function_PtCr_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fn_check_mnDR
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:845,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:850,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:875,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:878,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:882,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:886,1
    - Dst: data_source_init_string2
      Src: /src/libspectre/ghostscript/base/gsfunc4.c:893,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 3
    argNames:
    - ppfn
    - params
    - mem
    argTypes:
    - gs_function_t**
    - gs_function_PtCr_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 899
    functionName: gs_function_PtCr_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.c
    functionUses: 0
    functionsReached:
    - return_error
    - fn_check_mnDR
    - data_source_init_string2
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_function_PtCr_init(gs_function_t ** ppfn,\n                  const
      gs_function_PtCr_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plp
    - ','
    - wid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: gx_set_line_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_set_line_width(plp, wid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - plp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: gx_current_line_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_current_line_width(plp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - plp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: gx_current_miter_limit
    functionSourceFile: /src/libspectre/ghostscript/base/gxline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_current_miter_limit(plp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdp
    - ','
    - adpt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: gx_set_dash_adapt
    functionSourceFile: /src/libspectre/ghostscript/base/gxline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_set_dash_adapt(pdp, adpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - px
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: inport
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inport(px)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - px
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: inportb
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inportb(px)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - px
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: outport
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: outport(px,w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - px
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: outportb
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: outportb(px,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: enable
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: disable
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: disable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: PTR_OFF
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_OFF(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: dos_findfirst
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dos_findfirst(n,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: dos_findnext
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dos_findnext(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: MK_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_PTR(seg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: MK_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_PTR(seg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - seg
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: MK_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_PTR(seg,off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: PTR_OFF
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PTR_OFF(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: dos_findfirst
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dos_findfirst(n,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: dos_findnext
    functionSourceFile: /src/libspectre/ghostscript/base/dos_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dos_findnext(b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: GetLocaleInfo
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:45,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:47,1
    - Dst: GetLocaleInfo
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:62,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:64,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:80,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_wpapr.c:84,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 32
    argCount: 2
    argNames:
    - ptr
    - plen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 99
    functionName: gp_defaultpapersize
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wpapr.c
    functionUses: 0
    functionsReached:
    - atoi
    - strlen
    - GetLocaleInfo
    - strcpy
    linkageType: ''
    returnType: int
    signature: int gp_defaultpapersize(char *ptr, int *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - any
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: TEXT_HAS_MORE_THAN_ONE_
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_HAS_MORE_THAN_ONE_(op, any)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: TEXT_OPERATION_IS_INVALID
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_OPERATION_IS_INVALID(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TEXT_PARAMS_ARE_INVALID
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TEXT_PARAMS_ARE_INVALID(params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    functionName: public_st_gs_text_params
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_text_params()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - dev_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: dev_t_proc_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_t_proc_text_begin(proc, dev_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: GS_PROC_GLYPH_DATA_FREE
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_PROC_GLYPH_DATA_FREE(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: GS_PROC_GLYPH_DATA_SUBSTRING
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_PROC_GLYPH_DATA_SUBSTRING(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: sjpxd_create
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sjpxd_create(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    functionName: sjpxd_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_none.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sjpxd_destroy(gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:69,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:71,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:75,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:77,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:78,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - data
    - size
    - result
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 86
    functionName: s_jbig2decode_make_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_make_global_data(gs_memory_t *mem, byte *data, uint
      size, void **result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:95,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: s_jbig2decode_free_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_free_global_data(void *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - ss
    - gd
    - global_ctx
    argTypes:
    - stream_state*
    - s_jbig2_global_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: s_jbig2decode_set_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_set_global_data(stream_state *ss, s_jbig2_global_data_t
      *gd, void *global_ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: s_jbig2_invert_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_jbig2_invert_buffer(unsigned char *buf, int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - userdata
    argTypes:
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: JB2_Callback::s_jbig2_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: 'void * JB2_Callback

      s_jbig2_alloc(unsigned long size, void *userdata)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - userdata
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: JB2_Callback::s_jbig2_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: JB2_Error
    signature: 'JB2_Error JB2_Callback

      s_jbig2_free(void *ptr, void *userdata)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:181,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:183,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - message
    - level
    - userdata
    argTypes:
    - char*
    - JB2_Message_Level
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 187
    functionName: JB2_Callback::s_jbig2_message
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - dmprintf2
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: 'void JB2_Callback

      s_jbig2_message(const char *message, JB2_Message_Level level, void *userdata)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:201,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - buffer
    - offset
    - size
    - userdata
    argTypes:
    - unsigned char*
    - JB2_Size_T
    - JB2_Size_T
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 215
    functionName: JB2_Callback::s_jbig2_read
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: JB2_Size_T
    signature: "JB2_Size_T JB2_Callback\ns_jbig2_read(unsigned char *buffer,\n        JB2_Size_T
      offset, JB2_Size_T size, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:228,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:232,1
    - Dst: s_jbig2_invert_buffer
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - buffer
    - row
    - width
    - bbp
    - userdata
    argTypes:
    - unsigned char*
    - unsigned long
    - unsigned long
    - unsigned long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 236
    functionName: JB2_Callback::s_jbig2_write
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - s_jbig2_invert_buffer
    - dmlprintf2
    - memcpy
    linkageType: ''
    returnType: JB2_Error
    signature: "JB2_Error JB2_Callback\ns_jbig2_write(unsigned char *buffer,\n                unsigned
      long row, unsigned long width,\n                unsigned long bbp, void *userdata)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:245,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:246,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:259,1
    - Dst: realloc::realloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:261,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:262,1
    - Dst: state::state
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:264,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:271,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - state
    - pr
    argTypes:
    - stream_jbig2decode_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 238
    functionDepth: 5
    functionLinenumber: 238
    functionLinenumberEnd: 276
    functionName: s_jbig2decode_inbuf
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - realloc::realloc
    - malloc
    - memcpy
    - state::state
    - return_error
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_inbuf(stream_jbig2decode_state *state, stream_cursor_read
      * pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 297
    functionName: s_jbig2decode_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_init(stream_state * ss)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: s_jbig2decode_inbuf
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:318,1
    - Dst: JB2_Document_Start
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:327,1
    - Dst: JB2_Document_Set_License
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:336,1
    - Dst: JB2_Document_Set_Page
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:341,1
    - Dst: JB2_Document_Get_Property
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:343,1
    - Dst: JB2_Document_Get_Property
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:346,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:351,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:352,1
    - Dst: JB2_Document_Decompress_Page
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:355,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:365,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 302
    functionDepth: 6
    functionLinenumber: 302
    functionLinenumberEnd: 379
    functionName: s_jbig2decode_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - JB2_Document_Get_Property
    - JB2_Document_Set_License
    - s_jbig2decode_inbuf
    - malloc
    - memcpy
    - JB2_Document_Set_Page
    - JB2_Document_Start
    - if_debug2m
    - JB2_Document_Decompress_Page
    linkageType: ''
    returnType: int
    signature: "int s_jbig2decode_process(stream_state * ss, stream_cursor_read *
      pr,\n                  stream_cursor_write * pw, bool last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JB2_Document_End
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:388,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:389,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:390,1
    - Dst: s_jbig2decode_free_global_data
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 402
    functionName: s_jbig2decode_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - free
    - JB2_Document_End
    - s_jbig2decode_free_global_data
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_release(stream_state *ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JB2_Compress_Start
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:428,1
    - Dst: JB2_Document_Set_License
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:436,1
    - Dst: JB2_Compress_Set_Property
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:442,1
    - Dst: JB2_Compress_Set_Property
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_jbig2encode_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 452
    functionName: s_jbig2encode_start
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - JB2_Document_Set_License
    - JB2_Compress_Start
    - JB2_Compress_Set_Property
    linkageType: ''
    returnType: int
    signature: int s_jbig2encode_start(stream_jbig2encode_state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:463,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:465,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:473,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:475,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:484,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - buffer
    - pos
    - size
    - userdata
    argTypes:
    - unsigned char*
    - JB2_Size_T
    - JB2_Size_T
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 455
    functionDepth: 5
    functionLinenumber: 455
    functionLinenumberEnd: 488
    functionName: JB2_Callback::s_jbig2encode_write
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - malloc
    - dmprintf1
    - memcpy
    - realloc
    - dmprintf
    linkageType: ''
    returnType: JB2_Size_T
    signature: "JB2_Size_T JB2_Callback\ns_jbig2encode_write(const unsigned char *buffer,\n
      \               JB2_Size_T pos, JB2_Size_T size, void *userdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 491
    functionDepth: 5
    functionLinenumber: 491
    functionLinenumberEnd: 516
    functionName: s_jbig2encode_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: int
    signature: int s_jbig2encode_init(stream_state * ss)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: s_jbig2encode_start
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:537,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:545,1
    - Dst: s_jbig2_invert_buffer
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:552,1
    - Dst: JB2_Compress_Line
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:553,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:559,1
    - Dst: s_jbig2_invert_buffer
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:560,1
    - Dst: JB2_Compress_Line
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:561,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:569,1
    - Dst: JB2_Compress_End
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:578,1
    - Dst: JB2_Document_Export_Document
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:582,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:590,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:591,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 606
    functionName: s_jbig2encode_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - s_jbig2_invert_buffer
    - JB2_Document_Export_Document
    - s_jbig2encode_start
    - memcpy
    - JB2_Compress_End
    - JB2_Compress_Line
    - min
    linkageType: ''
    returnType: int
    signature: "int s_jbig2encode_process(stream_state * ss, stream_cursor_read *
      pr,\n                  stream_cursor_write * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:615,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/sjbig2_luratech.c:616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 617
    functionName: s_jbig2encode_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void s_jbig2encode_release(stream_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sname
    - ','
    - dtype
    - ','
    - ntype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: dda_state_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_struct(sname, dtype, ntype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sname
    - ','
    - dtype
    - ','
    - ntype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: dda_step_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_step_struct(sname, dtype, ntype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dstate
    - ','
    - init
    - ','
    - N_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: dda_init_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_init_state(dstate, init, N_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dstep
    - ','
    - D
    - ','
    - N_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: dda_init_step
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_init_step(dstep, D, N_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dda
    - ','
    - init
    - ','
    - D
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 185
    functionName: dda_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_init(dda, init, D, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dstate
    - ','
    - dstep
    - ','
    - init
    - ','
    - N_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: dda_init_state_half
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_init_state_half(dstate, dstep, init, N_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dda
    - ','
    - init
    - ','
    - D
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 201
    functionName: dda_init_half
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_init_half(dda, init, D, N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tostep
    - ','
    - fromstep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: dda_step_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_step_add(tostep, fromstep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dstate
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: dda_state_current
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_current(dstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dda
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: dda_current
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_current(dda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dda
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: dda_current_fixed2int
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_current_fixed2int(dda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dstate
    - ','
    - dstep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 236
    functionName: dda_state_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_next(dstate, dstep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dda
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: dda_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_next(dda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dda
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: dda_next_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_next_assign(dda,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dstate
    - ','
    - dstep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: dda_state_previous
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_previous(dstate, dstep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dda
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: dda_previous
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_previous(dda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dda
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: dda_previous_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_previous_assign(dda,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dstate
    - ','
    - dstep
    - ','
    - nsteps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 270
    functionName: dda_state_advance
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_advance(dstate, dstep, nsteps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dda
    - ','
    - nsteps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: dda_advance
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_advance(dda, nsteps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dstate
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: dda_state_translate
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_state_translate(dstate, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dda
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: dda_translate
    functionSourceFile: /src/libspectre/ghostscript/base/gxdda.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dda_translate(dda, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: stream_proc_available
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_available(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: stream_proc_seek
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_seek(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: stream_proc_reset
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_reset(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: stream_proc_flush
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_flush(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: stream_proc_close
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_close(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: stream_proc_switch_mode
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_switch_mode(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: s_is_valid
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_is_valid(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: s_is_reading
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_is_reading(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: s_is_writing
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_is_writing(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: s_can_seek
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_can_seek(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: public_st_stream
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_stream()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: s_init_ids
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_init_ids(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: s_init_read_id
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_init_read_id(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: s_init_write_id
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_init_write_id(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: s_init_no_id
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_init_no_id(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: sendrp
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sendrp(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: sendwp
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sendwp(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: sseekable
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sseekable(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 220
    functionName: sreset
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sreset(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: sflush
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sflush(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: spgetc
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spgetc(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: sgetc
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sgetc(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: sputback
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sputback(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: seofp
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: seofp(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: serrorp
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: serrorp(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - nskip
    - ','
    - pskipped
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: sskip
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sskip(s,nskip,pskipped)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: sputc
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sputc(s,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - pos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: sseek
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sseek(s,pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 285
    functionName: sbufptr
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbufptr(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: sbufavailable
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbufavailable(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: sbufskip
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbufskip(s, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: sbuf_min_left
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbuf_min_left(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: s_declare_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_declare_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: s_begin_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_begin_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: s_end_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_end_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: sbufavailable_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sbufavailable_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: sendbufp_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sendbufp_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: sgetc_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sgetc_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 323
    functionName: spgetc_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: spgetc_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - cp
    - ','
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 325
    functionName: sputback_inline
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sputback_inline(s, cp, ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - svar
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: file_is_valid
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: file_is_valid(svar,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - svar
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: file_is_invalid
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: file_is_invalid(svar,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - svar
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: check_file
    functionSourceFile: /src/libspectre/ghostscript/base/stream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_file(svar,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: Range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float *Range
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: FN_EVALUATE_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_EVALUATE_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: FN_IS_MONOTONIC_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_IS_MONOTONIC_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: FN_GET_INFO_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_GET_INFO_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: FN_GET_PARAMS_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_GET_PARAMS_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: FN_MAKE_SCALED_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_MAKE_SCALED_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: FN_FREE_PARAMS_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_FREE_PARAMS_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 105
    functionName: FN_FREE_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_FREE_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: FN_SERIALIZE_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FN_SERIALIZE_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pfn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: FunctionType
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FunctionType(pfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pfn
    - ','
    - in
    - ','
    - out
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: gs_function_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_evaluate(pfn, in, out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pfn
    - ','
    - lower
    - ','
    - upper
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: gs_function_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_is_monotonic(pfn, lower, upper, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pfn
    - ','
    - pfi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: gs_function_get_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_get_info(pfn, pfi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pfn
    - ','
    - plist
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: gs_function_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_get_params(pfn, plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pfn
    - ','
    - ppsfn
    - ','
    - pranges
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: gs_function_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_make_scaled(pfn, ppsfn, pranges, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pfn
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: gs_function_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_free_params(pfn, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pfn
    - ','
    - free_params
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: gs_function_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_free(pfn, free_params, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pfn
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: gs_function_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_function_serialize(pfn, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: gx_pat_cache_default_tiles
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    linkageType: ''
    returnType: uint
    signature: uint gx_pat_cache_default_tiles(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: gx_pat_cache_default_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    linkageType: ''
    returnType: ulong
    signature: ulong gx_pat_cache_default_bits(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: open_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: pattern_clist_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - open_device
    linkageType: ''
    returnType: int
    signature: int pattern_clist_open_device(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:201,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 204
    functionName: dev_proc_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gdev_mem_device_for_bits
    - gs_make_mem_device
    linkageType: ''
    returnType: void
    signature: void dev_proc_create_buf_device(dummy_create_buf_device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 208
    functionName: dev_proc_size_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dev_proc_size_buf_device(dummy_size_buf_device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: dev_proc_setup_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dev_proc_setup_buf_device(dummy_setup_buf_device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: dev_proc_destroy_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dev_proc_destroy_buf_device(dummy_destroy_buf_device)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pinst
    - has_tags
    argTypes:
    - gs_pattern1_instance_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 238
    functionName: gx_pattern_size_estimate
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gx_pattern_size_estimate(gs_pattern1_instance_t *pinst, bool
      has_tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: gx_pattern_accum_finalize_cw
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: void gx_pattern_accum_finalize_cw(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 249
    functionName: gx_device_is_pattern_accum
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 2
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool gx_device_is_pattern_accum(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: gx_device_is_pattern_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 2
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool gx_device_is_pattern_clist(gx_device *dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:262,1
    - Dst: gx_pattern_size_estimate
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:263,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:284,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:290,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:296,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:299,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:312,1
    - Dst: clist_make_accum_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:322,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:326,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:331,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:339,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 4
    argNames:
    - mem
    - storage_memory
    - pinst
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_t*
    - gs_pattern1_instance_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 341
    functionName: gx_pattern_accum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gx_pattern_size_estimate
    - gs_alloc_bytes
    - gx_device_forward_fill_in_procs
    - gx_device_init
    - clist_make_accum_device
    - device_encodes_tags
    - emprintf
    - gs_free_object
    - set_dev_proc
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_device_forward
    signature: "gx_device_forward *\ngx_pattern_accum_alloc(gs_memory_t * mem, gs_memory_t
      * storage_memory,\n                       gs_pattern1_instance_t *pinst, client_name_t
      cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 358
    functionName: new_pattern_trans_buff
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 3
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_pattern_trans_t
    signature: 'gx_pattern_trans_t *

      new_pattern_trans_buff(gs_memory_t *mem)'
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:380,1
    - Dst: PDSET
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:397,1
    - Dst: new_pattern_trans_buff
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:411,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:413,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:418,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:424,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:425,1
    - Dst: PDSET
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:426,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:429,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:432,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:444,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:448,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:451,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:455,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:457,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:458,1
    - Dst: PDSET
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:460,1
    - Dst: gdev_mem_set_planar
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:476,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:479,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:480,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:495,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:498,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:499,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:506,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 508
    functionName: pattern_accum_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gdev_mem_set_planar
    - gx_device_retain
    - PDSET
    - gx_device_set_target
    - new_pattern_trans_buff
    - gdev_mem_device_for_bits
    - gs_currentdevice
    - memset
    - gs_make_mem_device
    - gs_free_object
    - return_error
    - gs_note_error
    - gs_make_mem_mono_device
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int pattern_accum_open(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 393
    functionName: PDSET
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PDSET(dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:521,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:524,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:525,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:530,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:535,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 537
    functionName: pattern_accum_close
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    - gx_device_retain
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int pattern_accum_close(gx_device * dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:550,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:558,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:559,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:560,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:561,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:563,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 567
    functionName: pattern_accum_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n                                      const gs_gstate *pgs,\n                                      const
      gx_drawing_color *pdcolor,\n                                      const gx_clip_path
      *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:577,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:580,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 584
    functionName: pattern_accum_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_fill_rectangle(gx_device * dev, int x, int y, int
      w, int h,\n                             gx_color_index color)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:598,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:607,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:610,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 615
    functionName: pattern_accum_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_copy_mono(gx_device * dev, const byte * data, int
      data_x,\n                    int raster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                        gx_color_index color0, gx_color_index color1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:625,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 632
    functionName: pattern_accum_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_copy_color(gx_device * dev, const byte * data, int
      data_x,\n                    int raster, gx_bitmap_id id, int x, int y, int
      w, int h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:643,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:646,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 650
    functionName: pattern_accum_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_copy_planes(gx_device * dev, const byte * data,
      int data_x,\n                          int raster, gx_bitmap_id id,\n                          int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:678,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:680,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:682,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:687,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:694,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:732,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:737,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:761,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 6
    argNames:
    - mask
    - polarity
    - num_comps
    - depth
    - prect
    - p
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gs_int_rect*
    - gs_get_bits_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 764
    functionName: blank_unmasked_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_free_object
    - dev_proc
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int blank_unmasked_bits(gx_device * mask,\n                    int
      polarity,\n                    int num_comps,\n                    int depth,\n
      \                   const gs_int_rect *prect,\n                    gs_get_bits_params_t
      *p)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:779,1
    - Dst: blank_unmasked_bits
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:789,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 768
    functionDepth: 2
    functionLinenumber: 768
    functionLinenumberEnd: 798
    functionName: pattern_accum_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    - blank_unmasked_bits
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pattern_accum_get_bits_rectangle(gx_device * dev, const gs_int_rect
      * prect,\n                       gs_get_bits_params_t * params, gs_int_rect
      ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctile
    - proc_data
    argTypes:
    - gx_color_tile*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 807
    functionName: pattern_cache_choose_all
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool pattern_cache_choose_all(gx_color_tile * ctile, void *proc_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_pattern_cache_winnow
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcache
    argTypes:
    - gx_pattern_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 812
    functionName: pattern_cache_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gx_pattern_cache_winnow
    linkageType: ''
    returnType: void
    signature: void pattern_cache_free_all(gx_pattern_cache * pcache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:819,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:822,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:828,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:829,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:843,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:856,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - mem
    - num_tiles
    - max_bits
    argTypes:
    - gs_memory_t*
    - uint
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 868
    functionName: gx_pattern_alloc_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_struct
    - memset
    - uid_set_invalid
    - gs_free_object
    linkageType: ''
    returnType: gx_pattern_cache
    signature: 'gx_pattern_cache *

      gx_pattern_alloc_cache(gs_memory_t * mem, uint num_tiles, ulong max_bits)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_pattern_alloc_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:875,1
    - Dst: gx_pat_cache_default_tiles
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:876,1
    - Dst: gx_pat_cache_default_bits
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:877,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:880,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 884
    functionName: ensure_pattern_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gx_pat_cache_default_bits
    - return_error
    - gx_pattern_alloc_cache
    - gx_pat_cache_default_tiles
    linkageType: ''
    returnType: int
    signature: int ensure_pattern_cache(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pattern_cache_free_all
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:892,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:893,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pcache
    argTypes:
    - gx_pattern_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: gx_pattern_cache_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - pattern_cache_free_all
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_pattern_cache_free(gx_pattern_cache *pcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 903
    functionName: gstate_pattern_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_pattern_cache
    signature: 'gx_pattern_cache *

      gstate_pattern_cache(gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - pcache
    argTypes:
    - gs_gstate*
    - gx_pattern_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 904
    functionDepth: 0
    functionLinenumber: 904
    functionLinenumberEnd: 908
    functionName: gstate_set_pattern_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gstate_set_pattern_cache(gs_gstate * pgs, gx_pattern_cache * pcache)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:926,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:931,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:937,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:940,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:943,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:947,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:950,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:955,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:961,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:963,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:968,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:970,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:971,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:977,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - pcache
    - ctile
    argTypes:
    - gx_pattern_cache*
    - gx_color_tile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 913
    functionDepth: 1
    functionLinenumber: 913
    functionLinenumberEnd: 987
    functionName: gx_pattern_cache_free_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    - clist_free_icc_table
    - gs_free_object
    - rc_decrement
    - dev_proc
    - gx_device_retain
    linkageType: ''
    returnType: void
    signature: void gx_pattern_cache_free_entry(gx_pattern_cache * pcache, gx_color_tile
      * ctile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:995,1
    - Dst: gx_pattern_cache_free_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1009,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - needed
    argTypes:
    - gs_gstate*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 992
    functionDepth: 3
    functionLinenumber: 992
    functionLinenumberEnd: 1017
    functionName: gx_pattern_cache_ensure_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - ensure_pattern_cache
    - gx_pattern_cache_free_entry
    linkageType: ''
    returnType: void
    signature: void gx_pattern_cache_ensure_space(gs_gstate * pgs, size_t needed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - used
    argTypes:
    - gs_gstate*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    functionName: gx_pattern_cache_update_used
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_pattern_cache_update_used(gs_gstate *pgs, size_t used)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1045,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1055,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1082,1
    - Dst: fabsf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1083,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1090,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1106,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1108,1
    - Dst: clist_end_page
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1119,1
    - Dst: clist_data_size
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1125,1
    - Dst: clist_data_size
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1126,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1128,1
    - Dst: gx_pattern_cache_free_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1134,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1153,1
    - Dst: make_bitmap
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1155,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1155,1
    - Dst: make_bitmap
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1160,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1165,1
    - Dst: gx_pattern_cache_update_used
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1191,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 97
    argCount: 4
    argNames:
    - pgs
    - fdev
    - pctile
    - saved
    argTypes:
    - gs_gstate*
    - gx_device_forward*
    - gx_color_tile**
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1036
    functionDepth: 3
    functionLinenumber: 1036
    functionLinenumberEnd: 1195
    functionName: gx_pattern_cache_add_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gx_pattern_cache_free_entry
    - make_bitmap
    - ensure_pattern_cache
    - gx_pattern_cache_update_used
    - scan_line_base
    - clist_data_size
    - fabsf
    - gdev_mem_bitmap_size
    - if_debug2m
    - return_error
    - clist_end_page
    - dev_proc
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: "int gx_pattern_cache_add_entry(gs_gstate * pgs,\n                   gx_device_forward
      * fdev, gx_color_tile ** pctile, gs_gstate* saved)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1205,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - id
    - new_lock_value
    argTypes:
    - gs_gstate*
    - gs_id
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1215
    functionName: gx_pattern_cache_entry_set_lock
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - ensure_pattern_cache
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_pattern_cache_entry_set_lock(gs_gstate *pgs, gs_id id, bool
      new_lock_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1223,1
    - Dst: gx_pattern_cache_free_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - id
    - pctile
    argTypes:
    - gs_gstate*
    - gs_id
    - gx_color_tile**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1233
    functionName: gx_pattern_cache_get_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - ensure_pattern_cache
    - gx_pattern_cache_free_entry
    linkageType: ''
    returnType: int
    signature: int gx_pattern_cache_get_entry(gs_gstate * pgs, gs_id id, gx_color_tile
      ** pctile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - ptile
    argTypes:
    - gx_color_tile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1239
    functionName: gx_pattern_tile_is_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_pattern_tile_is_clist(gx_color_tile *ptile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1250,1
    - Dst: gx_pattern_cache_free_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1256,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1267,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - pgs
    - pinst
    - depth
    argTypes:
    - gs_gstate*
    - gs_pattern1_instance_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1243
    functionDepth: 3
    functionLinenumber: 1243
    functionLinenumberEnd: 1276
    functionName: gx_pattern_cache_add_dummy_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - ensure_pattern_cache
    - memset
    - gx_pattern_cache_free_entry
    linkageType: ''
    returnType: int
    signature: "int gx_pattern_cache_add_dummy_entry(gs_gstate *pgs,\n            gs_pattern1_instance_t
      *pinst, int depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1301,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1304,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1307,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1313,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1317,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1329,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1333,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1343,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1354,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 8
    argNames:
    - height
    - width
    - n_chan
    - depth
    - Buffer
    - raster
    - mdev
    - memory
    argTypes:
    - int
    - int
    - int
    - int
    - byte*
    - int
    - gx_device_memory*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1361
    functionName: dump_raw_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - gp_fclose
    - ceil
    - gp_fopen
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void dump_raw_pattern(int height, int width, int n_chan, int depth,\n
      \               byte *Buffer, int raster, const gx_device_memory * mdev,\n                const
      gs_memory_t *memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_raw_pattern
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pbm
    - mdev
    - id
    - memory
    argTypes:
    - gx_strip_bitmap*
    - gx_device_memory*
    - gx_bitmap_id
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1389
    functionName: make_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 1
    functionsReached:
    - dump_raw_pattern
    linkageType: ''
    returnType: void
    signature: "void make_bitmap(register gx_strip_bitmap * pbm, const gx_device_memory
      * mdev,\n            gx_bitmap_id id, const gs_memory_t *memory)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_pattern_cache_free_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1405,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pcache
    - proc_data
    argTypes:
    - gx_pattern_cache*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1392
    functionDepth: 2
    functionLinenumber: 1392
    functionLinenumberEnd: 1407
    functionName: gx_pattern_cache_winnow
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 1
    functionsReached:
    - gx_pattern_cache_free_entry
    linkageType: ''
    returnType: void
    signature: "void gx_pattern_cache_winnow(gx_pattern_cache * pcache,\n  bool(*proc)
      (gx_color_tile * ctile, void *proc_data), void *proc_data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1415,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1417,1
    - Dst: gs_setgray
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1419,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1430,1
    - Dst: gs_grestore_only
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1432,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1439,1
    - Dst: gs_grestore_only
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1443,1
    - Dst: gs_grestore_only
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1448,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1411
    functionDepth: 2
    functionLinenumber: 1411
    functionLinenumberEnd: 1450
    functionName: gx_erase_colored_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_grestore_only
    - gs_setgray
    - gs_currentdevice
    - gs_setmatrix
    - gs_rectfill
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int gx_erase_colored_pattern(gs_gstate *pgs)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1464,1
    - Dst: ensure_pattern_cache
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1468,1
    - Dst: gx_pattern_cache_lookup
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1471,1
    - Dst: gx_pattern_cache_ensure_space
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1475,1
    - Dst: gx_pattern_size_estimate
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1475,1
    - Dst: gx_pattern_accum_alloc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1480,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1482,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1483,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1484,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1486,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1489,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1491,1
    - Dst: gs_setdevice_no_init
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1496,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1500,1
    - Dst: gs_push_pdf14trans_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1501,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1513,1
    - Dst: gx_erase_colored_pattern
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1514,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1520,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1524,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1533,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1536,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1541,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1543,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1545,1
    - Dst: gs_gstate_free_chain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1547,1
    - Dst: gs_pop_pdf14trans_device
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1558,1
    - Dst: pdf14_get_buffer_information
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1564,1
    - Dst: gx_pattern_cache_add_entry
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1575,1
    - Dst: gx_pattern_cache_lookup
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1578,1
    - Dst: mlprintf
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1579,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1580,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1584,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1584,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1588,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1592,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1600,1
    - Dst: gs_gstate_free_chain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1602,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1606,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1610,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1613,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1616,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1619,1
    - Dst: gs_gstate_free_chain
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1620,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 4
    argNames:
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1454
    functionDepth: 4
    functionLinenumber: 1454
    functionLinenumberEnd: 1622
    functionName: gx_pattern_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - mlprintf
    - gs_push_pdf14trans_device
    - device_encodes_tags
    - debug_dump_bitmap
    - gx_pattern_cache_add_entry
    - gs_pop_pdf14trans_device
    - gs_debug_c
    - gx_device_set_target
    - gs_setdevice_no_init
    - gs_note_error
    - gs_free_object
    - gx_pattern_size_estimate
    - ensure_pattern_cache
    - gx_pattern_cache_ensure_space
    - pdf14_get_buffer_information
    - dev_proc
    - if_debug0m
    - gx_pattern_accum_alloc
    - gs_gstate_free_chain
    - gx_pattern_cache_lookup
    - gs_gstate_copy
    - return_error
    - gx_erase_colored_pattern
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: "int gx_pattern_load(gx_device_color * pdc, const gs_gstate * pgs,\n
      \               gx_device * dev, gs_color_select_t select)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: color_set_null_pattern
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1639,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1647,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1659,1
    - Dst: color_set_null_pattern
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1661,1
    - Dst: gx_pattern_load
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1626
    functionDepth: 5
    functionLinenumber: 1626
    functionLinenumberEnd: 1665
    functionName: gs_pattern1_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - color_set_null_pattern
    - gs_note_error
    - gx_pattern_load
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_pattern1_remap_color(const gs_client_color * pc, const gs_color_space
      * pcs,\n                        gx_device_color * pdc, const gs_gstate * pgs,\n
      \                       gx_device * dev, gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1673,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1683,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1684,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpcmap.c:1688,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - dev
    - dso
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1689
    functionName: pattern_accum_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcmap.c
    functionUses: 0
    functionsReached:
    - gs_currentdevice
    - dev_proc
    - param_write_bool
    - strcmp
    linkageType: ''
    returnType: int
    signature: int pattern_accum_dev_spec_op(gx_device *dev, int dso, void *data,
      int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pfont
    - glyph
    argTypes:
    - gs_font_cid2*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 39
    functionName: identity_CIDMap_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int identity_CIDMap_proc(gs_font_cid2 *pfont, gs_glyph glyph)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:45,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:49,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:52,1
    - Dst: gs_font_notify_init
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:56,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:57,1
    - Dst: cid_system_info_set_null
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 4
    argNames:
    - ppfcid
    - pfont42
    - wmode
    - mem
    argTypes:
    - gs_font_cid2**
    - gs_font_type42*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 70
    functionName: gs_font_cid2_from_type42
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - cid_system_info_set_null
    - memcpy
    - return_error
    - gs_font_notify_init
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_font_cid2_from_type42(gs_font_cid2 **ppfcid, gs_font_type42
      *pfont42,\n                         int wmode, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: U16
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: U32
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: PUT16
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT16(p, v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:110,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:115,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:116,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:118,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:119,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:122,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:123,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:124,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:125,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:130,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 6
    argNames:
    - pcmap_in
    - pstr
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gs_cmap_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 143
    functionName: tt_16bit_format4_decode_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - U16
    - READ_SFNTS
    linkageType: ''
    returnType: int
    signature: "int tt_16bit_format4_decode_next(const gs_cmap_t * pcmap_in,\n                       const
      gs_const_string * pstr,\n                       uint * pindex, uint * pfidx,\n
      \                      gs_char * pchr, gs_glyph * pglyph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 156
    functionName: tt_16bit_format4_next_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tt_16bit_format4_next_range(gs_cmap_ranges_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_ranges_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - pre
    argTypes:
    - gs_cmap_t*
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: tt_16bit_format4_enum_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - gs_cmap_ranges_enum_setup
    linkageType: ''
    returnType: void
    signature: "void tt_16bit_format4_enum_ranges(const gs_cmap_t *pcmap,\n                             gs_cmap_ranges_enum_t
      *pre)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 180
    functionName: tt_16bit_format4_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tt_16bit_format4_next_lookup(gs_memory_t *mem, gs_cmap_lookups_enum_t
      *penum)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:198,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:199,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:204,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:205,1
    - Dst: PUT16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:208,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:209,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:210,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:211,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:212,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:217,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:218,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:225,1
    - Dst: PUT16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:227,1
    - Dst: PUT16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:228,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 233
    functionName: tt_16bit_format4_next_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - U16
    - min
    - READ_SFNTS
    - PUT16
    linkageType: ''
    returnType: int
    signature: int tt_16bit_format4_next_entry(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcmap
    - which
    - pre
    argTypes:
    - gs_cmap_t*
    - int
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: tt_16bit_format4_enum_lookups
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - gs_cmap_lookups_enum_setup
    linkageType: ''
    returnType: void
    signature: "void tt_16bit_format4_enum_lookups(const gs_cmap_t *pcmap, int which,\n
      \                       gs_cmap_lookups_enum_t *pre)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:268,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:277,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:278,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:280,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:281,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:282,1
    - Dst: U32
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:285,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:286,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:287,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:292,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:293,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:294,1
    - Dst: gs_cmap_alloc
      Src: /src/libspectre/ghostscript/base/gsfcid2.c:304,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 4
    argNames:
    - ppcmap
    - pfont
    - wmode
    - mem
    argTypes:
    - gs_cmap_t**
    - gs_font_type42*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 320
    functionName: gs_cmap_from_type42_cmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid2.c
    functionUses: 0
    functionsReached:
    - U32
    - U16
    - gs_cmap_alloc
    - READ_SFNTS
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_from_type42_cmap(gs_cmap_t **ppcmap, gs_font_type42 *pfont,\n
      \                        int wmode, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: gs_tifsDummyMapProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_tifsDummyMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: gs_tifsDummyUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_tifsDummyUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/gstiffio.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: gs_tifsReadProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - gp_fread
    linkageType: ''
    returnType: size_t
    signature: size_t gs_tifsReadProc(thandle_t fd, void* buf, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gstiffio.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: gs_tifsWriteProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - gp_fwrite
    linkageType: ''
    returnType: size_t
    signature: size_t gs_tifsWriteProc(thandle_t fd, void* buf, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gstiffio.c:98,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gstiffio.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 102
    functionName: gs_tifsSeekProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - gp_fseek
    - gp_ftell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gs_tifsSeekProc(thandle_t fd, uint64_t off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gstiffio.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: gs_tifsCloseProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: int
    signature: int gs_tifsCloseProc(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gstiffio.c:122,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gstiffio.c:128,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gstiffio.c:131,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gstiffio.c:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 137
    functionName: gs_tifsSizeProc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - gp_fseek
    - gp_ftell
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t gs_tifsSizeProc(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gstiffio.c:158,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/base/gstiffio.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - dev
    - name
    - filep
    - big_endian
    - usebigtiff
    argTypes:
    - gx_device_printer*
    - char*
    - gp_file*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 172
    functionName: tiff_from_filep
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 3
    functionsReached:
    - TIFFClientOpen
    - gs_malloc
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      tiff_from_filep(gx_device_printer *dev,  const char *name, gp_file *filep, int
      big_endian, bool usebigtiff)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gstiffio.c:181,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:183,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:184,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - client_data
    - module
    - fmt
    - ap
    argTypes:
    - thandle_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    functionName: gs_tifsWarningHandlerEx
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: void gs_tifsWarningHandlerEx(thandle_t client_data, const char* module,
      const char* fmt, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gstiffio.c:198,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:200,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:201,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstiffio.c:203,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gstiffio.c:207,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstiffio.c:207,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gstiffio.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - client_data
    - module
    - fmt
    - ap
    argTypes:
    - thandle_t
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 211
    functionName: gs_tifsErrorHandlerEx
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncmp
    - dmlprintf1
    - vsnprintf
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void gs_tifsErrorHandlerEx(thandle_t client_data, const char* module,
      const char* fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/base/gstiffio.c:221,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/base/gstiffio.c:222,1
    - Dst: TIFFSetErrorHandlerExt
      Src: /src/libspectre/ghostscript/base/gstiffio.c:224,1
    - Dst: TIFFSetWarningHandlerExt
      Src: /src/libspectre/ghostscript/base/gstiffio.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 227
    functionName: tiff_set_handlers
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 5
    functionsReached:
    - TIFFSetWarningHandler
    - TIFFSetWarningHandlerExt
    - TIFFSetErrorHandlerExt
    - TIFFSetErrorHandler
    linkageType: ''
    returnType: void
    signature: void tiff_set_handlers (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 238
    functionName: TIFFFdOpen
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFFdOpen(int fd, const char* name, const char* mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 247
    functionName: TIFFOpen
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFOpen(const char* name, const char* mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gstiffio.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 5
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: _TIFFmalloc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 4
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFmalloc(tmsize_t s)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gstiffio.c:259,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstiffio.c:262,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - nmemb
    - siz
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 255
    functionDepth: 5
    functionLinenumber: 255
    functionLinenumberEnd: 264
    functionName: _TIFFcalloc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void * _TIFFcalloc(tmsize_t nmemb, tmsize_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gstiffio.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 270
    functionName: _TIFFfree
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _TIFFfree(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/gstiffio.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 276
    functionName: _TIFFrealloc
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFrealloc(void* p, tmsize_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstiffio.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - c
    argTypes:
    - void*
    - int
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 282
    functionName: _TIFFmemset
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _TIFFmemset(void* p, int v, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstiffio.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - s
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: _TIFFmemcpy
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _TIFFmemcpy(void* d, const void* s, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstiffio.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 294
    functionName: _TIFFmemcmp
    functionSourceFile: /src/libspectre/ghostscript/base/gstiffio.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _TIFFmemcmp(const void* p1, const void* p2, tmsize_t c)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 53
    functionName: gs_strlcpy
    functionSourceFile: /src/libspectre/ghostscript/base/gsstrl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gs_strlcpy(char *dst, const char *src, size_t siz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsstrl.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - dst
    - src
    - siz
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: gs_strlcat
    functionSourceFile: /src/libspectre/ghostscript/base/gsstrl.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: size_t
    signature: size_t gs_strlcat(char *dst, const char *src, size_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(cc_ptr_reloc_ptrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxccman.c:82,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxccman.c:82,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gxccman.c:88,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gxccman.c:91,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccman.c:95,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccman.c:96,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:97,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxccman.c:101,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxccman.c:102,1
    - Dst: gx_char_cache_init
      Src: /src/libspectre/ghostscript/base/gxccman.c:111,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - struct_mem
    - bits_mem
    - pdir
    - bmax
    - mmax
    - cmax
    - upper
    argTypes:
    - gs_memory_t*
    - gs_memory_t*
    - gs_font_dir*
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 112
    functionName: gx_char_cache_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - ROUND_UP
    - max
    - memset
    - return_error
    - gx_char_cache_init
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_char_cache_alloc(gs_memory_t * struct_mem, gs_memory_t * bits_mem,\n
      \           gs_font_dir * pdir, uint bmax, uint mmax, uint cmax, uint upper)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxccman.c:121,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:125,1
    - Dst: gx_bits_cache_chunk_init
      Src: /src/libspectre/ghostscript/base/gxccman.c:131,1
    - Dst: gx_bits_cache_init
      Src: /src/libspectre/ghostscript/base/gxccman.c:132,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxccman.c:134,1
    - Dst: fm_pair_init
      Src: /src/libspectre/ghostscript/base/gxccman.c:139,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - dir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 144
    functionName: gx_char_cache_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes_immovable
    - memset
    - gx_bits_cache_chunk_init
    - fm_pair_init
    - return_error
    - gx_bits_cache_init
    linkageType: ''
    returnType: int
    signature: int gx_char_cache_init(register gs_font_dir * dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hash_remove_cached_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:164,1
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - proc_data
    argTypes:
    - gs_font_dir*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 169
    functionName: gx_purge_selected_cached_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gx_free_cached_char
    - hash_remove_cached_char
    linkageType: ''
    returnType: void
    signature: "void gx_purge_selected_cached_chars(gs_font_dir * dir,\n                               bool(*proc)
      (const gs_memory_t *mem,\n                                            cached_char
      *, void *),\n                               void *proc_data)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:188,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:190,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - dir
    - pair
    - head
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 197
    functionName: fm_pair_remove_from_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int fm_pair_remove_from_list(gs_font_dir * dir, cached_fm_pair *pair,
      uint *head)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:203,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - dir
    - pair
    - head
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: fm_pair_insert_into_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int fm_pair_insert_into_list(gs_font_dir * dir, cached_fm_pair *pair,
      uint *head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_char_matrix
      Src: /src/libspectre/ghostscript/base/gxccman.c:234,1
    - Dst: gx_ttfReader__create
      Src: /src/libspectre/ghostscript/base/gxccman.c:241,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:243,1
    - Dst: ttfFont__create
      Src: /src/libspectre/ghostscript/base/gxccman.c:245,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:247,1
    - Dst: gx_ttfReader__set_font
      Src: /src/libspectre/ghostscript/base/gxccman.c:248,1
    - Dst: ttfFont__Open_aux
      Src: /src/libspectre/ghostscript/base/gxccman.c:249,1
    - Dst: gx_ttfReader__set_font
      Src: /src/libspectre/ghostscript/base/gxccman.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - dir
    - font
    - pair
    - char_tm
    - log2_scale
    - design_grid
    argTypes:
    - gs_font_dir*
    - gs_font_type42*
    - cached_fm_pair*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 253
    functionName: gx_attach_tt_interpreter
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - ttfFont__create
    - gx_ttfReader__set_font
    - gx_ttfReader__create
    - gx_compute_char_matrix
    - ttfFont__Open_aux
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_attach_tt_interpreter(gs_font_dir * dir,\n               gs_font_type42
      *font, cached_fm_pair *pair,\n               const gs_matrix * char_tm, const
      gs_log2_scale_point *log2_scale,\n               bool design_grid)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: does_font_need_tt_interpreter
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool does_font_need_tt_interpreter(gs_font *font)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: does_font_need_tt_interpreter
      Src: /src/libspectre/ghostscript/base/gxccman.c:273,1
    - Dst: gx_attach_tt_interpreter
      Src: /src/libspectre/ghostscript/base/gxccman.c:276,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dir
    - font
    - pair
    - char_tm
    - log2_scale
    - design_grid
    argTypes:
    - gs_font_dir*
    - gs_font*
    - cached_fm_pair*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 280
    functionName: gx_provide_fm_pair_attributes
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - gx_attach_tt_interpreter
    - does_font_need_tt_interpreter
    linkageType: ''
    returnType: int
    signature: "int gx_provide_fm_pair_attributes(gs_font_dir * dir,\n               gs_font
      *font, cached_fm_pair *pair,\n               const gs_matrix * char_tm, const
      gs_log2_scale_point *log2_scale,\n               bool design_grid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_ccache_key
      Src: /src/libspectre/ghostscript/base/gxccman.c:293,1
    - Dst: gs_purge_fm_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:313,1
    - Dst: fm_pair_remove_from_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:320,1
    - Dst: fm_pair_insert_into_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:331,1
    - Dst: uid_copy
      Src: /src/libspectre/ghostscript/base/gxccman.c:338,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gxccman.c:340,1
    - Dst: does_font_need_tt_interpreter
      Src: /src/libspectre/ghostscript/base/gxccman.c:354,1
    - Dst: gx_attach_tt_interpreter
      Src: /src/libspectre/ghostscript/base/gxccman.c:355,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gxccman.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 7
    argNames:
    - dir
    - font
    - puid
    - char_tm
    - log2_scale
    - design_grid
    - ppair
    argTypes:
    - gs_font_dir*
    - gs_font*
    - gs_uid*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    - cached_fm_pair**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 373
    functionName: gx_add_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - gx_attach_tt_interpreter
    - does_font_need_tt_interpreter
    - if_debug8m
    - gs_purge_fm_pair
    - gx_compute_ccache_key
    - fm_pair_remove_from_list
    - uid_copy
    - uid_set_invalid
    - fm_pair_insert_into_list
    linkageType: ''
    returnType: int
    signature: "int gx_add_fm_pair(register gs_font_dir * dir, gs_font * font, const
      gs_uid * puid,\n               const gs_matrix * char_tm, const gs_log2_scale_point
      *log2_scale,\n               bool design_grid, cached_fm_pair **ppair)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fm_pair_remove_from_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:382,1
    - Dst: fm_pair_insert_into_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:385,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dir
    - pair
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 388
    functionName: gx_touch_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - fm_pair_remove_from_list
    - fm_pair_insert_into_list
    linkageType: ''
    returnType: int
    signature: int gx_touch_fm_pair(gs_font_dir *dir, cached_fm_pair *pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - cc
    - vpair
    argTypes:
    - gs_memory_t*
    - cached_char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 399
    functionName: purge_fm_pair_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - cc_pair
    linkageType: ''
    returnType: bool
    signature: bool purge_fm_pair_char(const gs_memory_t *mem, cached_char * cc, void
      *vpair)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_ttfReader__destroy
      Src: /src/libspectre/ghostscript/base/gxccman.c:406,1
    - Dst: ttfFont__destroy
      Src: /src/libspectre/ghostscript/base/gxccman.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - pair
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: gs_clean_fm_pair_attributes
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - ttfFont__destroy
    - gx_ttfReader__destroy
    linkageType: ''
    returnType: void
    signature: void gs_clean_fm_pair_attributes(gs_font_dir * dir, cached_fm_pair
      * pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxccman.c:416,1
    - Dst: gs_clean_fm_pair_attributes
      Src: /src/libspectre/ghostscript/base/gxccman.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dir
    - pair
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: gs_clean_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - gs_clean_fm_pair_attributes
    - if_debug1m
    linkageType: ''
    returnType: void
    signature: void gs_clean_fm_pair(gs_font_dir * dir, cached_fm_pair * pair)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccman.c:424,1
    - Dst: gx_purge_selected_cached_chars
      Src: /src/libspectre/ghostscript/base/gxccman.c:432,1
    - Dst: gs_clean_fm_pair_attributes
      Src: /src/libspectre/ghostscript/base/gxccman.c:435,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxccman.c:441,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccman.c:447,1
    - Dst: fm_pair_set_free
      Src: /src/libspectre/ghostscript/base/gxccman.c:450,1
    - Dst: fm_pair_remove_from_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:451,1
    - Dst: fm_pair_insert_into_list
      Src: /src/libspectre/ghostscript/base/gxccman.c:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - dir
    - pair
    - xfont_only
    argTypes:
    - gs_font_dir*
    - cached_fm_pair*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 460
    functionName: gs_purge_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - fm_pair_set_free
    - gs_clean_fm_pair_attributes
    - fm_pair_remove_from_list
    - gs_free_object
    - lprintf1
    - if_debug2m
    - fm_pair_insert_into_list
    - gx_purge_selected_cached_chars
    linkageType: ''
    returnType: int
    signature: int gs_purge_fm_pair(gs_font_dir * dir, cached_fm_pair * pair, int
      xfont_only)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxccman.c:487,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:516,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxccman.c:518,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxccman.c:537,1
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gxccman.c:538,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:543,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxccman.c:544,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gxccman.c:557,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:562,1
    - Dst: gs_make_mem_alpha_device
      Src: /src/libspectre/ghostscript/base/gxccman.c:569,1
    - Dst: gs_make_mem_abuf_device
      Src: /src/libspectre/ghostscript/base/gxccman.c:574,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxccman.c:579,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxccman.c:580,1
    - Dst: alloc_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:587,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxccman.c:593,1
    - Dst: cc_set_depth
      Src: /src/libspectre/ghostscript/base/gxccman.c:598,1
    - Dst: cc_set_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:606,1
    - Dst: gdev_mem_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:606,1
    - Dst: cc_set_pair_only
      Src: /src/libspectre/ghostscript/base/gxccman.c:607,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccman.c:617,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxccman.c:620,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxccman.c:621,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccman.c:623,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccman.c:625,1
    - Dst: gx_open_cache_device
      Src: /src/libspectre/ghostscript/base/gxccman.c:627,1
    - Dst: gx_open_cache_device
      Src: /src/libspectre/ghostscript/base/gxccman.c:630,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 81
    argCount: 8
    argNames:
    - dir
    - dev
    - dev2
    - iwidth
    - iheight
    - pscale
    - depth
    - pcc
    argTypes:
    - gs_font_dir*
    - gx_device_memory*
    - gx_device_memory*
    - ushort
    - ushort
    - gs_log2_scale_point*
    - int
    - cached_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 634
    functionName: gx_alloc_char_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 2
    functionsReached:
    - gs_make_mem_alpha_device
    - alloc_char
    - gx_device_raster
    - gdev_mem_bitmap_size
    - if_debug5m
    - gdev_mem_raster
    - memset
    - if_debug4m
    - cc_set_pair_only
    - cc_bits
    - ilog2
    - cc_set_raster
    - bitmap_raster
    - gx_open_cache_device
    - cc_set_depth
    - dev_proc
    - dmlprintf
    - rc_decrement_only
    - return_error
    - gs_make_mem_mono_device
    - gs_make_mem_abuf_device
    linkageType: ''
    returnType: int
    signature: "int gx_alloc_char_bits(gs_font_dir * dir, gx_device_memory * dev,\n
      \                  gx_device_memory * dev2, ushort iwidth, ushort iheight,\n
      \                  const gs_log2_scale_point * pscale, int depth, cached_char
      **pcc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccman.c:640,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxccman.c:643,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxccman.c:647,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccman.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - cc
    argTypes:
    - gx_device_memory*
    - cached_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 650
    functionName: gx_open_cache_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gdev_mem_bitmap_size
    - memset
    - cc_bits
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_open_cache_device(gx_device_memory * dev, cached_char * cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:661,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccman.c:662,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:663,1
    - Dst: gx_bits_cache_free
      Src: /src/libspectre/ghostscript/base/gxccman.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dir
    - cc
    argTypes:
    - gs_font_dir*
    - cached_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: gx_free_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 4
    functionsReached:
    - cc_pair
    - gx_bits_cache_free
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void gx_free_cached_char(gs_font_dir * dir, cached_char * cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxccman.c:672,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccman.c:675,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccman.c:681,1
    - Dst: gx_add_char_bits
      Src: /src/libspectre/ghostscript/base/gxccman.c:682,1
    - Dst: gs_device_is_abuf
      Src: /src/libspectre/ghostscript/base/gxccman.c:683,1
    - Dst: chars_head_index
      Src: /src/libspectre/ghostscript/base/gxccman.c:688,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:706,1
    - Dst: cc_set_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 5
    argNames:
    - dir
    - dev
    - cc
    - pair
    - pscale
    argTypes:
    - gs_font_dir*
    - gx_device_memory*
    - cached_char*
    - cached_fm_pair*
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 713
    functionName: gx_add_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 2
    functionsReached:
    - gs_device_is_abuf
    - if_debug5m
    - gx_add_char_bits
    - chars_head_index
    - cc_set_pair
    - cc_depth
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: 'int gx_add_cached_char(gs_font_dir * dir, gx_device_memory * dev,

      cached_char * cc, cached_fm_pair * pair, const gs_log2_scale_point * pscale)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:722,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccman.c:723,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccman.c:724,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxccman.c:725,1
    - Dst: lprintf4
      Src: /src/libspectre/ghostscript/base/gxccman.c:733,1
    - Dst: bits_bounding_box
      Src: /src/libspectre/ghostscript/base/gxccman.c:748,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxccman.c:760,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxccman.c:765,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gxccman.c:766,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:785,1
    - Dst: bits_compress_scaled
      Src: /src/libspectre/ghostscript/base/gxccman.c:786,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:803,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxccman.c:816,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxccman.c:818,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxccman.c:824,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxccman.c:825,1
    - Dst: cc_set_raster
      Src: /src/libspectre/ghostscript/base/gxccman.c:830,1
    - Dst: ROUND_DOWN
      Src: /src/libspectre/ghostscript/base/gxccman.c:832,1
    - Dst: shorten_cached_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:837,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccman.c:838,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxccman.c:845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - dir
    - cc
    - plog2_scale
    argTypes:
    - gs_font_dir*
    - cached_char*
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 846
    functionName: gx_add_char_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - if_debug5m
    - if_debug2m
    - gs_debug_c
    - gs_next_ids
    - cc_set_raster
    - lprintf4
    - cc_raster
    - bitmap_raster
    - memmove
    - debug_dump_bitmap
    - shorten_cached_char
    - cc_depth
    - bits_bounding_box
    - ROUND_DOWN
    - bits_compress_scaled
    - cc_bits
    - ilog2
    - int2fixed
    linkageType: ''
    returnType: void
    signature: "void gx_add_char_bits(gs_font_dir * dir, cached_char * cc,\n                 const
      gs_log2_scale_point * plog2_scale)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxccman.c:864,1
    - Dst: uid_is_valid
      Src: /src/libspectre/ghostscript/base/gxccman.c:868,1
    - Dst: gs_clean_fm_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:869,1
    - Dst: gs_purge_fm_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:871,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - font
    - force
    argTypes:
    - gs_font*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 879
    functionName: gs_purge_font_from_char_caches_forced
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_clean_fm_pair
    - gs_purge_fm_pair
    - uid_is_valid
    linkageType: ''
    returnType: int
    signature: int gs_purge_font_from_char_caches_forced(gs_font * font, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_purge_font_from_char_caches_forced
      Src: /src/libspectre/ghostscript/base/gxccman.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 883
    functionDepth: 4
    functionLinenumber: 883
    functionLinenumberEnd: 903
    functionName: gs_purge_font_from_char_caches
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 0
    functionsReached:
    - gs_purge_font_from_char_caches_forced
    linkageType: ''
    returnType: int
    signature: int gs_purge_font_from_char_caches(gs_font * font)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_purge_font_from_char_caches_forced
      Src: /src/libspectre/ghostscript/base/gxccman.c:916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 907
    functionDepth: 4
    functionLinenumber: 907
    functionLinenumberEnd: 917
    functionName: gs_purge_font_from_char_caches_completely
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gs_purge_font_from_char_caches_forced
    linkageType: ''
    returnType: int
    signature: int gs_purge_font_from_char_caches_completely(gs_font * font)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: alloc_char_in_chunk
      Src: /src/libspectre/ghostscript/base/gxccman.c:926,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxccman.c:936,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxccman.c:937,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccman.c:943,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxccman.c:950,1
    - Dst: gs_alloc_struct_array_immovable
      Src: /src/libspectre/ghostscript/base/gxccman.c:955,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccman.c:959,1
    - Dst: gx_bits_cache_chunk_init
      Src: /src/libspectre/ghostscript/base/gxccman.c:962,1
    - Dst: alloc_char_in_chunk
      Src: /src/libspectre/ghostscript/base/gxccman.c:973,1
    - Dst: alloc_char_in_chunk
      Src: /src/libspectre/ghostscript/base/gxccman.c:983,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - dir
    - icdsize
    - pcc
    argTypes:
    - gs_font_dir*
    - ulong
    - cached_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 989
    functionName: alloc_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array_immovable
    - ROUND_UP
    - gs_alloc_bytes_immovable
    - alloc_char_in_chunk
    - gx_bits_cache_chunk_init
    - if_debug2m
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int alloc_char(gs_font_dir * dir, ulong icdsize, cached_char **pcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_bits_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxccman.c:1001,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:1008,1
    - Dst: chars_head_index
      Src: /src/libspectre/ghostscript/base/gxccman.c:1011,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxccman.c:1017,1
    - Dst: hash_remove_cached_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:1019,1
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gxccman.c:1022,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - dir
    - icdsize
    - pcc
    argTypes:
    - gs_font_dir*
    - ulong
    - cached_char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 992
    functionDepth: 2
    functionLinenumber: 992
    functionLinenumberEnd: 1032
    functionName: alloc_char_in_chunk
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - hash_remove_cached_char
    - gx_free_cached_char
    - cc_pair
    - chars_head_index
    - gx_bits_cache_alloc
    - return_error
    linkageType: ''
    returnType: int
    signature: int alloc_char_in_chunk(gs_font_dir * dir, ulong icdsize, cached_char
      **pcc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chars_head_index
      Src: /src/libspectre/ghostscript/base/gxccman.c:1046,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccman.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - dir
    - chi
    argTypes:
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1036
    functionDepth: 1
    functionLinenumber: 1036
    functionLinenumberEnd: 1059
    functionName: hash_remove_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 2
    functionsReached:
    - cc_pair
    - chars_head_index
    linkageType: ''
    returnType: void
    signature: void hash_remove_cached_char(gs_font_dir * dir, uint chi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_bits_cache_shorten
      Src: /src/libspectre/ghostscript/base/gxccman.c:1066,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccman.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dir
    - cc
    - diff
    argTypes:
    - gs_font_dir*
    - cached_char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1070
    functionName: shorten_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccman.c
    functionUses: 1
    functionsReached:
    - gx_bits_cache_shorten
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void shorten_cached_char(gs_font_dir * dir, cached_char * cc, uint
      diff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: gp_semaphore_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_semaphore_sizeof(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - scode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: SEM_ERROR_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SEM_ERROR_CODE(scode)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:70,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_psync.c:74,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_psync.c:75,1
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:83,1
    - Dst: pthread_cond_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:86,1
    - Dst: pthread_mutex_destroy
      Src: /src/libspectre/ghostscript/base/gp_psync.c:88,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_psync.c:91,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:92,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 93
    functionName: gp_semaphore_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_cond_init
    - Memento_squeezing
    - pthread_mutex_destroy
    - pthread_mutex_init
    - memset
    - SEM_ERROR_CODE
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_open(gp_semaphore * sema)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:102,1
    - Dst: pthread_cond_destroy
      Src: /src/libspectre/ghostscript/base/gp_psync.c:106,1
    - Dst: pthread_mutex_destroy
      Src: /src/libspectre/ghostscript/base/gp_psync.c:107,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 111
    functionName: gp_semaphore_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - Memento_squeezing
    - pthread_mutex_destroy
    - SEM_ERROR_CODE
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_close(gp_semaphore * sema)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:120,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:128,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:130,1
    - Dst: pthread_cond_wait
      Src: /src/libspectre/ghostscript/base/gp_psync.c:132,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:138,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:141,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 142
    functionName: gp_semaphore_wait
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - Memento_squeezing
    - pthread_mutex_lock
    - pthread_cond_wait
    - SEM_ERROR_CODE
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_wait(gp_semaphore * sema)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:151,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:155,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:157,1
    - Dst: pthread_cond_signal
      Src: /src/libspectre/ghostscript/base/gp_psync.c:159,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:160,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: gp_semaphore_signal
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - SEM_ERROR_CODE
    - Memento_squeezing
    - pthread_mutex_lock
    - pthread_cond_signal
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_signal(gp_semaphore * sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 189
    functionName: gp_monitor_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_monitor_sizeof(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:203,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_psync.c:204,1
    - Dst: pthread_mutexattr_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:211,1
    - Dst: pthread_mutexattr_settype
      Src: /src/libspectre/ghostscript/base/gp_psync.c:214,1
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:224,1
    - Dst: pthread_mutexattr_destroy
      Src: /src/libspectre/ghostscript/base/gp_psync.c:226,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - mona
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 229
    functionName: gp_monitor_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_mutexattr_destroy
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    - Memento_squeezing
    - pthread_mutex_init
    - memset
    - SEM_ERROR_CODE
    linkageType: ''
    returnType: int
    signature: int gp_monitor_open(gp_monitor * mona)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:238,1
    - Dst: pthread_mutex_destroy
      Src: /src/libspectre/ghostscript/base/gp_psync.c:242,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mona
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 244
    functionName: gp_monitor_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - Memento_squeezing
    - pthread_mutex_destroy
    - SEM_ERROR_CODE
    linkageType: ''
    returnType: int
    signature: int gp_monitor_close(gp_monitor * mona)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:253,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:259,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gp_psync.c:261,1
    - Dst: pthread_mutex_trylock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:263,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/gp_psync.c:264,1
    - Dst: pthread_equal
      Src: /src/libspectre/ghostscript/base/gp_psync.c:267,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/gp_psync.c:267,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:273,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/gp_psync.c:274,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - mona
    argTypes:
    - gp_monitor*
    assertStmts:
    - condition: (((gp_pthread_recursive_t *)mona)->lcount >= 0)
      pos:
        line_end: 260
        line_start: 260
        source_file: /src/libspectre/ghostscript/base/gp_psync.c
    constantsTouched: []
    func_position:
      end: 280
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 280
    functionName: gp_monitor_enter
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    - Memento_squeezing
    - assert
    - pthread_mutex_lock
    - SEM_ERROR_CODE
    - pthread_self
    - pthread_mutex_trylock
    linkageType: ''
    returnType: int
    signature: int gp_monitor_enter(gp_monitor * mona)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:289,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:294,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gp_psync.c:296,1
    - Dst: pthread_equal
      Src: /src/libspectre/ghostscript/base/gp_psync.c:298,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/gp_psync.c:298,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/gp_psync.c:301,1
    - Dst: SEM_ERROR_CODE
      Src: /src/libspectre/ghostscript/base/gp_psync.c:309,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - mona
    argTypes:
    - gp_monitor*
    assertStmts:
    - condition: (((gp_pthread_recursive_t *)mona)->lcount > 0 && ((gp_pthread_recursive_t
        *)mona)->self_id != 0)
      pos:
        line_end: 295
        line_start: 295
        source_file: /src/libspectre/ghostscript/base/gp_psync.c
    constantsTouched: []
    func_position:
      end: 310
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 310
    functionName: gp_monitor_leave
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_equal
    - Memento_squeezing
    - assert
    - SEM_ERROR_CODE
    - pthread_self
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int gp_monitor_leave(gp_monitor * mona)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_psync.c:332,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gp_psync.c:333,1
    - Dst: gp_thread_creation_closure_t::proc
      Src: /src/libspectre/ghostscript/base/gp_psync.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: gp_thread_begin_wrapper
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - gp_thread_creation_closure_t::proc
    - free
    - DISCARD
    linkageType: ''
    returnType: void
    signature: 'void *

      gp_thread_begin_wrapper(void *thread_data /* gp_thread_creation_closure_t *
      */)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/base/gp_psync.c:346,1
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/base/gp_psync.c:347,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/gp_psync.c:348,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_psync.c:349,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_psync.c:353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_psync.c:355,1
    - Dst: pthread_attr_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:358,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/libspectre/ghostscript/base/gp_psync.c:359,1
    - Dst: pthread_create
      Src: /src/libspectre/ghostscript/base/gp_psync.c:360,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_psync.c:363,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_psync.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - proc
    - proc_data
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 337
    functionDepth: 5
    functionLinenumber: 337
    functionLinenumberEnd: 367
    functionName: gp_create_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - pthread_attr_setdetachstate
    - eprintf
    - pthread_attr_init
    - Memento_squeezing
    - malloc
    - free
    - pthread_create
    - Memento_bt
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_create_thread(gp_thread_creation_callback_t proc, void *proc_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_psync.c:374,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_psync.c:380,1
    - Dst: pthread_attr_init
      Src: /src/libspectre/ghostscript/base/gp_psync.c:383,1
    - Dst: pthread_attr_setdetachstate
      Src: /src/libspectre/ghostscript/base/gp_psync.c:384,1
    - Dst: pthread_create
      Src: /src/libspectre/ghostscript/base/gp_psync.c:385,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_psync.c:389,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_psync.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - proc
    - proc_data
    - thread
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    - gp_thread_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 369
    functionDepth: 5
    functionLinenumber: 369
    functionLinenumberEnd: 394
    functionName: gp_thread_start
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 2
    functionsReached:
    - pthread_attr_setdetachstate
    - pthread_attr_init
    - malloc
    - free
    - pthread_create
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gp_thread_start(gp_thread_creation_callback_t proc, void *proc_data,\n
      \               gp_thread_id *thread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pthread_join
      Src: /src/libspectre/ghostscript/base/gp_psync.c:400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - thread
    argTypes:
    - gp_thread_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 401
    functionName: gp_thread_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 3
    functionsReached:
    - pthread_join
    linkageType: ''
    returnType: void
    signature: void gp_thread_finish(gp_thread_id thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_label_mutex
      Src: /src/libspectre/ghostscript/base/gp_psync.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mona
    - name
    argTypes:
    - gp_monitor*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 410
    functionName: (gp_monitor_label)(gp_monitor * mona, const char *name)
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - Bobbin_label_mutex
    linkageType: ''
    returnType: void
    signature: void (gp_monitor_label)(gp_monitor * mona, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_label_mutex
      Src: /src/libspectre/ghostscript/base/gp_psync.c:418,1
    - Dst: Bobbin_label_cond
      Src: /src/libspectre/ghostscript/base/gp_psync.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - sema
    - name
    argTypes:
    - gp_semaphore*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 420
    functionName: (gp_semaphore_label)(gp_semaphore * sema, const char *name)
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - Bobbin_label_mutex
    - Bobbin_label_cond
    linkageType: ''
    returnType: void
    signature: void (gp_semaphore_label)(gp_semaphore * sema, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_label_thread
      Src: /src/libspectre/ghostscript/base/gp_psync.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - thread
    - name
    argTypes:
    - gp_thread_id
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: (gp_thread_label)(gp_thread_id thread, const char *name)
    functionSourceFile: /src/libspectre/ghostscript/base/gp_psync.c
    functionUses: 0
    functionsReached:
    - Bobbin_label_thread
    linkageType: ''
    returnType: void
    signature: void (gp_thread_label)(gp_thread_id thread, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: state_neq
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: state_neq(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: state_update
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: state_update(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - pcls
    - ','
    - must_know
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: cmd_do_write_unknown
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_do_write_unknown(cldev, pcls, must_know)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams
      Src: /src/libspectre/ghostscript/base/gxpdash.c:39,1
    - Dst: gx_path_copy
      Src: /src/libspectre/ghostscript/base/gxpdash.c:43,1
    - Dst: subpath_expand_dashes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - ppath_old
    - ppath
    - pgs
    argTypes:
    - gx_path*
    - gx_path*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: gx_path_add_dash_expansion
    functionSourceFile: /src/libspectre/ghostscript/base/gxpdash.c
    functionUses: 0
    functionsReached:
    - gx_path_copy
    - subpath_expand_dashes
    - gs_currentlineparams
    linkageType: ''
    returnType: int
    signature: "int gx_path_add_dash_expansion(const gx_path * ppath_old, gx_path
      * ppath,\n                           const gs_gstate * pgs)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxpdash.c:65,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpdash.c:81,1
    - Dst: gs_gstate_idtransform
      Src: /src/libspectre/ghostscript/base/gxpdash.c:119,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxpdash.c:125,1
    - Dst: gs_gstate_currentdashadapt
      Src: /src/libspectre/ghostscript/base/gxpdash.c:126,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxpdash.c:129,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpdash.c:149,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpdash.c:149,1
    - Dst: gx_path_add_dash_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:150,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:155,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpdash.c:164,1
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:203,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpdash.c:207,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpdash.c:207,1
    - Dst: gx_path_add_dash_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:214,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:218,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpdash.c:224,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpdash.c:226,1
    - Dst: gx_path_add_dash_notes
      Src: /src/libspectre/ghostscript/base/gxpdash.c:258,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 136
    argCount: 4
    argNames:
    - psub
    - ppath
    - pgs
    - dash
    argTypes:
    - subpath*
    - gx_path*
    - gs_gstate*
    - gx_dash_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 286
    functionName: subpath_expand_dashes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpdash.c
    functionUses: 1
    functionsReached:
    - any_abs
    - gs_gstate_idtransform
    - ceil
    - hypot
    - gx_path_add_line_notes
    - fixed2float
    - gx_path_close_subpath_notes
    - gx_path_add_point
    - gs_currentlineparams_inline
    - gx_path_add_dash_notes
    - gs_gstate_currentdashadapt
    linkageType: ''
    returnType: int
    signature: "int subpath_expand_dashes(const subpath * psub, gx_path * ppath,\n
      \                  const gs_gstate * pgs, const gx_dash_params * dash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: SAMPLE_UNPACK_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxsample.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_UNPACK_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_nocm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 87
    functionName: gsicc_nocm_planar_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gsicc_nocm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_nocm_planar_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: gsicc_nocm_planar_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_nocm_planar_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_nocm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:128,1
    - Dst: gsicc_nocm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:141,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 156
    functionName: gsicc_nocm_chunky_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gsicc_nocm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_nocm_chunky_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_nocm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 187
    functionName: gsicc_nocm_chunky_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gsicc_nocm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_nocm_chunky_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_nocm_planar_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:203,1
    - Dst: gsicc_nocm_planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:207,1
    - Dst: gsicc_nocm_chunky_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:213,1
    - Dst: gsicc_nocm_chunky_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 223
    functionName: gsicc_nocm_transform_color_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gsicc_nocm_planar_to_chunky
    - gsicc_nocm_planar_to_planar
    - gsicc_nocm_chunky_to_planar
    - gsicc_nocm_chunky_to_chunky
    linkageType: ''
    returnType: int
    signature: "int gsicc_nocm_transform_color_buffer(gx_device *dev, gsicc_link_t
      *icclink,\n                                  gsicc_bufferdesc_t *input_buff_desc,\n
      \                                 gsicc_bufferdesc_t *output_buff_desc,\n                                  void
      *inputbuffer, void *outputbuffer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:245,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:250,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:256,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:259,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:263,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:267,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:273,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes_in
    - num_bytes_out
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 282
    functionName: gsicc_nocm_transform_general
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 3
    functionsReached:
    - frac2ushort
    - ushort2frac
    - byte2frac
    - memset
    - frac2byte
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void gsicc_nocm_transform_general(gx_device *dev, gsicc_link_t *icclink,\n
      \                            void *inputcolor, void *outputcolor,\n                             int
      num_bytes_in, int num_bytes_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_nocm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: gsicc_nocm_transform_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gsicc_nocm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_nocm_transform_color(gx_device *dev, gsicc_link_t *icclink,
      void *inputcolor,\n                           void *outputcolor, int num_bytes)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:304,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:308,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:311,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - icclink
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: gsicc_nocm_freelink
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_nocm_freelink(gsicc_link_t *icclink)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:329,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:332,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - in_map
    - mem
    argTypes:
    - gx_transfer_map*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 340
    functionName: gsicc_nocm_copy_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - gs_alloc_bytes
    linkageType: ''
    returnType: gx_transfer_map
    signature: 'gx_transfer_map *

      gsicc_nocm_copy_curve(gx_transfer_map *in_map, gs_memory_t *mem)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:361,1
    - Dst: gsicc_findcachelink
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:379,1
    - Dst: gsicc_alloc_link_entry
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:385,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:398,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:410,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:414,1
    - Dst: gsicc_nocm_copy_curve
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:417,1
    - Dst: gsicc_nocm_copy_curve
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:419,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:421,1
    - Dst: gsicc_mcm_set_link
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:447,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_nocm.c:451,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 3
    argNames:
    - pgs
    - dev
    - src_index
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_color_space_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 344
    functionDepth: 2
    functionLinenumber: 344
    functionLinenumberEnd: 454
    functionName: gsicc_nocm_get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_nocm.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    - gs_alloc_bytes
    - gsicc_findcachelink
    - memset
    - gsicc_alloc_link_entry
    - gsicc_mcm_set_link
    - gsicc_nocm_copy_curve
    - min
    - dev_proc
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_nocm_get_link(const gs_gstate *pgs, gx_device
      *dev,\n                    gs_color_space_index src_index)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: RP_LENGTH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_LENGTH(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: RP_VALUE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_VALUE(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: RP_NEXT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_NEXT(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: RP_PREV
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_PREV(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: RL_DATA
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RL_DATA(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: CONST_RL_DATA
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CONST_RL_DATA(line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rdev
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: RDEV_LINE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RDEV_LINE(rdev, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: RP_AT_START
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_AT_START(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: RP_AT_END
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_AT_END(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: RP_TO_START
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_TO_START(rp, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rpc
    - ','
    - data
    - ','
    - rpn
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: RP_TO_NEXT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_TO_NEXT(rpc, data, rpn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rpc
    - ','
    - data
    - ','
    - rpp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: RP_TO_PREV
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_TO_PREV(rpc, data, rpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:112,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:113,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:114,1
    - Dst: RP_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:115,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - prpc
    - data
    - line
    argTypes:
    - run_ptr*
    - run*
    - run_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 119
    functionName: rp_delete_next
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RP_PREV
    - RP_NEXT
    - RP_TO_NEXT
    linkageType: ''
    returnType: void
    signature: void rp_delete_next(run_ptr *prpc, run *data, run_line *line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 117
    functionName: RP_PREV
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RP_PREV(rpn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:128,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:129,1
    - Dst: RP_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:130,1
    - Dst: line::line
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:130,1
    - Dst: prpn::prpn
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - prpc
    - data
    - line
    - prpn
    argTypes:
    - run_ptr*
    - run*
    - run_line*
    - run_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 137
    functionName: rp_insert_next
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RP_PREV
    - RP_NEXT
    - RP_TO_NEXT
    - line::line
    - prpn::prpn
    linkageType: ''
    returnType: int
    signature: int rp_insert_next(run_ptr *prpc, run *data, run_line *line, run_ptr
      *prpn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RP_TO_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:146,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:147,1
    - Dst: RP_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:148,1
    - Dst: line::line
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:148,1
    - Dst: prpp::prpp
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - prpc
    - data
    - line
    - prpp
    argTypes:
    - run_ptr*
    - run*
    - run_line*
    - run_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 155
    functionName: rp_insert_prev
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RP_PREV
    - prpp::prpp
    - RP_NEXT
    - line::line
    - RP_TO_PREV
    linkageType: ''
    returnType: int
    signature: int rp_insert_prev(run_ptr *prpc, run *data, run_line *line, run_ptr
      *prpp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:174,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:183,1
    - Dst: RDEV_LINE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:191,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:204,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:205,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:206,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:207,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:208,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:209,1
    - Dst: REPLACE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - rdev
    - mdev
    argTypes:
    - gx_device_run*
    - gx_device_memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: gdev_run_from_mem
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - REPLACE
    - bitmap_raster
    - RDEV_LINE
    linkageType: ''
    returnType: int
    signature: int gdev_run_from_mem(gx_device_run *rdev, gx_device_memory *mdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - rproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 204
    functionName: REPLACE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPLACE(proc, rproc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RDEV_LINE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:219,1
    - Dst: CONST_RL_DATA
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:220,1
    - Dst: gx_device_run*::save_procs::fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:235,1
    - Dst: RP_TO_START
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:240,1
    - Dst: RP_AT_END
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:240,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:241,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:243,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:244,1
    - Dst: gx_device_run*::save_procs::fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:248,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rdev
    - y
    argTypes:
    - gx_device_run*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 252
    functionName: run_expand
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RP_TO_START
    - RP_AT_END
    - RP_VALUE
    - gx_device_run*::save_procs::fill_rectangle
    - RP_TO_NEXT
    - RDEV_LINE
    - CONST_RL_DATA
    - RP_LENGTH
    linkageType: ''
    returnType: int
    signature: int run_expand(gx_device_run *rdev, int y)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill_y
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:262,1
    - Dst: fit_fill_h
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:263,1
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:267,1
    - Dst: run_expand
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:278,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - rdev
    - y
    - h
    argTypes:
    - gx_device_run*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 280
    functionName: run_standardize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 1
    functionsReached:
    - run_standardize
    - fit_fill_h
    - fit_fill_y
    - run_expand
    linkageType: ''
    returnType: int
    signature: int run_standardize(gx_device_run *rdev, int y, int h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:290,1
    - Dst: gx_device_run*::save_procs::copy_mono
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 294
    functionName: run_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::copy_mono
    linkageType: ''
    returnType: int
    signature: "int run_copy_mono(gx_device * dev, const byte * data, int dx, int
      raster,\n              gx_bitmap_id id, int x, int y, int w, int h,\n              gx_color_index
      zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:302,1
    - Dst: gx_device_run*::save_procs::copy_color
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 3
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: run_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::copy_color
    linkageType: ''
    returnType: int
    signature: "int run_copy_color(gx_device * dev, const byte * data,\n               int
      data_x, int raster, gx_bitmap_id id,\n               int x, int y, int w, int
      h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:314,1
    - Dst: gx_device_run*::save_procs::copy_alpha
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 318
    functionName: run_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::copy_alpha
    linkageType: ''
    returnType: int
    signature: "int run_copy_alpha(gx_device * dev, const byte * data, int data_x,
      int raster,\n               gx_bitmap_id id, int x, int y, int w, int h,\n               gx_color_index
      color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:326,1
    - Dst: gx_device_run*::save_procs::strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 319
    functionDepth: 3
    functionLinenumber: 319
    functionLinenumberEnd: 330
    functionName: run_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::strip_tile_rectangle
    linkageType: ''
    returnType: int
    signature: "int run_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, gx_color_index color0, gx_color_index
      color1,\n                                int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:342,1
    - Dst: gx_device_run*::save_procs::strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - px
    - py
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: run_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::strip_copy_rop
    linkageType: ''
    returnType: int
    signature: "int run_strip_copy_rop(gx_device * dev, const byte * sdata, int sourcex,\n
      \                  uint sraster, gx_bitmap_id id,\n                   const
      gx_color_index * scolors,\n                   const gx_strip_bitmap * textures,\n
      \                  const gx_color_index * tcolors,\n                   int x,
      int y, int w, int h, int px, int py,\n                   gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:354,1
    - Dst: gx_device_run*::save_procs::get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: run_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - run_standardize
    - gx_device_run*::save_procs::get_bits_rectangle
    linkageType: ''
    returnType: int
    signature: "int run_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect,\n
      \                      gs_get_bits_params_t * params, gs_int_rect **unread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RDEV_LINE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:364,1
    - Dst: RL_DATA
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:365,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:378,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - rdev
    - y
    argTypes:
    - gx_device_run*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 398
    functionName: run_line_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RL_DATA
    - min
    - RDEV_LINE
    linkageType: ''
    returnType: void
    signature: void run_line_initialize(gx_device_run *rdev, int y)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: RL_DATA
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:408,1
    - Dst: RP_TO_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:421,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:421,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:423,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:424,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:424,1
    - Dst: RP_AT_END
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:433,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:433,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:434,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:436,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:442,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:443,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:443,1
    - Dst: RP_TO_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:451,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:451,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:452,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:453,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:468,1
    - Dst: RP_TO_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:471,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:472,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:472,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:473,1
    - Dst: rp_insert_prev
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:475,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:478,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:479,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:481,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:486,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:489,1
    - Dst: RP_TO_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:492,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:493,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:493,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:494,1
    - Dst: rp_insert_next
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:496,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:499,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:500,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:502,1
    - Dst: RP_TO_PREV
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:507,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:508,1
    - Dst: RP_NEXT
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:508,1
    - Dst: rp_delete_next
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:509,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:522,1
    - Dst: RP_LENGTH::RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:522,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:525,1
    - Dst: rp_insert_next
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:552,1
    - Dst: RP_LENGTH
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:553,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:553,1
    - Dst: RP_VALUE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:554,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - line
    - xo
    - xe
    - new
    argTypes:
    - run_line*
    - int
    - int
    - run_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 405
    functionDepth: 2
    functionLinenumber: 405
    functionLinenumberEnd: 561
    functionName: run_fill_interval
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 0
    functionsReached:
    - RL_DATA
    - RP_AT_END
    - RP_VALUE
    - rp_insert_prev
    - RP_NEXT
    - RP_TO_NEXT
    - RP_LENGTH::RP_LENGTH
    - rp_delete_next
    - RP_LENGTH
    - RP_TO_PREV
    - min
    - rp_insert_next
    linkageType: ''
    returnType: int
    signature: int run_fill_interval(run_line *line, int xo, int xe, run_value new)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:572,1
    - Dst: RDEV_LINE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:580,1
    - Dst: run_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:591,1
    - Dst: gx_device_run*::save_procs::fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:595,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:596,1
    - Dst: RDEV_LINE
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:604,1
    - Dst: run_line_initialize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:608,1
    - Dst: run_fill_interval
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:609,1
    - Dst: run_standardize
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:611,1
    - Dst: gx_device_run*::save_procs::fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmrun.c:612,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 618
    functionName: run_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrun.c
    functionUses: 1
    functionsReached:
    - gx_device_run*::save_procs::fill_rectangle
    - fit_fill
    - run_fill_interval
    - run_standardize
    - run_fill_rectangle
    - RDEV_LINE
    - run_line_initialize
    - min
    linkageType: ''
    returnType: int
    signature: "int run_fill_rectangle(gx_device *dev, int x, int y, int w, int h,\n
      \                  gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - black_pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: gx_rop_no_source_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_rop_no_source_body(black_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - prs
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: gx_rop_source_set_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_rop_source_set_color(prs, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - source
    - ','
    - no_source
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: set_rop_no_source
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_rop_no_source(source, no_source, dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: dev_color_proc_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_save_dc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: dev_color_proc_get_dev_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_get_dev_halftone(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: dev_color_proc_get_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_get_phase(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: dev_color_proc_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_load(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: dev_color_proc_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_fill_rectangle(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: dev_color_proc_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_fill_masked(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: dev_color_proc_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_equal(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    functionName: dev_color_proc_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_write(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 218
    functionName: dev_color_proc_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_read(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: dev_color_proc_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_proc_get_nonzero_comps(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: gs_color_writes_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_color_writes_pure(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 300
    functionName: gx_set_dev_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_set_dev_color(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: gx_unset_dev_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_unset_dev_color(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: gx_unset_alt_dev_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_unset_alt_dev_color(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: gx_unset_both_dev_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_unset_both_dev_colors(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pdevc
    - ','
    - pgs
    - ','
    - dev
    - ','
    - select
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: gx_color_load_select
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_load_select(pdevc, pgs, dev, select)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdevc
    - ','
    - pgs
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: gx_color_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_load(pdevc, pgs, dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 318
    functionName: gs_gstate_color_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_gstate_color_load(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - pdevc
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - ','
    - dev
    - ','
    - lop
    - ','
    - source
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: gx_device_color_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_color_fill_rectangle(pdevc, x, y, w, h, dev, lop, source)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - ','
    - pdevc
    - ','
    - dev
    - ','
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: gx_fill_rectangle_device_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_fill_rectangle_device_rop(x, y, w, h, pdevc, dev, lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - ','
    - pdevc
    - ','
    - lop
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: gx_fill_rectangle_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_fill_rectangle_rop(x, y, w, h, pdevc, lop, pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - ','
    - pdevc
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: gx_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_fill_rectangle(x, y, w, h, pdevc, pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: U8
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: S8
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S8(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: U16
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: U16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: S16
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S16(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: u32
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: u32(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - n
    - ','
    - offs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: PUTU16
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTU16(p, n, offs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pfont
    - pos
    - length
    - buf
    argTypes:
    - gs_font_type42*
    - ulong
    - uint
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 97
    functionName: gs_type42_read_data
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gs_type42_read_data(gs_font_type42 * pfont, ulong pos, uint length,
      byte *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_read_data
      Src: /src/libspectre/ghostscript/base/gstype42.c:112,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:113,1
    - Dst: gs_type42_read_data
      Src: /src/libspectre/ghostscript/base/gstype42.c:115,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pfont
    - glyph_index
    argTypes:
    - gs_font_type42*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 119
    functionName: get_glyph_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - U16
    - u32
    - gs_type42_read_data
    linkageType: ''
    returnType: ulong
    signature: ulong get_glyph_offset(gs_font_type42 *pfont, uint glyph_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 140
    functionName: gs_type42_font_init_compare
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_type42_font_init_compare (const void *a, const void *b)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:168,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:169,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:170,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gstype42.c:172,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:175,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:179,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:180,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:181,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:182,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:187,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:188,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:189,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:193,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:194,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstype42.c:199,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:205,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:207,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:209,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:212,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:214,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:217,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:218,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gstype42.c:219,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:222,1
    - Dst: gs_font_notify_register
      Src: /src/libspectre/ghostscript/base/gstype42.c:224,1
    - Dst: gs_type42_read_data
      Src: /src/libspectre/ghostscript/base/gstype42.c:228,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:231,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:234,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:235,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:236,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:237,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:238,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:241,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:242,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:243,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:245,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:246,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:248,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:249,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:252,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:253,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:254,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:255,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:256,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:257,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:258,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:260,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:263,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:264,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:265,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:267,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:268,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gstype42.c:279,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:281,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gstype42.c:284,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:286,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gstype42.c:291,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:298,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gstype42.c:342,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:345,1
    - Dst: gs_font_notify_register
      Src: /src/libspectre/ghostscript/base/gstype42.c:346,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:348,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:355,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:358,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gstype42.c:387,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:391,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:394,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:397,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/gstype42.c:402,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:406,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:427,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:444,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:445,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:446,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:447,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 205
    argCount: 2
    argNames:
    - pfont
    - subfontID
    argTypes:
    - gs_font_type42*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 459
    functionName: gs_type42_font_init
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 1
    functionsReached:
    - qsort
    - gs_type42_read_data
    - U16
    - gs_alloc_byte_array
    - u32
    - get_glyph_offset
    - gs_font_notify_register
    - S16
    - memset
    - memcpy
    - READ_SFNTS
    - gs_free_object
    - memcmp
    - return_error
    - emprintf2
    - min
    - emprintf3
    linkageType: ''
    returnType: int
    signature: int gs_type42_font_init(gs_font_type42 * pfont, int subfontID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_notify_unregister
      Src: /src/libspectre/ghostscript/base/gstype42.c:466,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: gs_len_glyphs_release
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_unregister
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_len_glyphs_release(void *data, void *event)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_notify_unregister
      Src: /src/libspectre/ghostscript/base/gstype42.c:476,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 471
    functionDepth: 1
    functionLinenumber: 471
    functionLinenumberEnd: 479
    functionName: gs_gsub_release
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_unregister
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_gsub_release(void *data, void *event)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:757,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:758,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstype42.c:761,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:763,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:766,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:767,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstype42.c:770,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:778,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:779,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:785,1
    - Dst: gs_font_type42*::data::string_proc
      Src: /src/libspectre/ghostscript/base/gstype42.c:786,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:792,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstype42.c:799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstype42.c:805,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gstype42.c:810,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:814,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 3
    argNames:
    - pfont
    - glyph
    - gname
    argTypes:
    - gs_font_type42*
    - gs_glyph
    - gs_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 816
    functionName: gs_type42_find_post_name
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - U16
    - strlen
    - gs_font_type42*::data::string_proc
    - READ_SFNTS
    - memcmp
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gs_type42_find_post_name(gs_font_type42 * pfont, gs_glyph glyph,
      gs_string *gname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:834,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:842,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:842,1
    - Dst: S8
      Src: /src/libspectre/ghostscript/base/gstype42.c:844,1
    - Dst: S8
      Src: /src/libspectre/ghostscript/base/gstype42.c:844,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gstype42.c:848,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:851,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:852,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:858,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:858,1
    - Dst: U8
      Src: /src/libspectre/ghostscript/base/gstype42.c:862,1
    - Dst: U8
      Src: /src/libspectre/ghostscript/base/gstype42.c:862,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:868,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:872,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:873,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:877,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:878,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:879,1
    - Dst: S2_14
      Src: /src/libspectre/ghostscript/base/gstype42.c:880,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gstype42.c:889,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 6
    argNames:
    - pdata
    - pflags
    - psmat
    - pmp
    - pfont
    - pmat
    argTypes:
    - byte**
    - uint*
    - gs_matrix_fixed*
    - int*
    - gs_font_type42*
    - gs_matrix_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 895
    functionName: gs_type42_parse_component
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - gs_matrix_multiply
    - S2_14
    - U16
    - S8
    - U8
    - S16
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void gs_type42_parse_component(const byte **pdata, uint *pflags, gs_matrix_fixed
      *psmat,\n                          int *pmp /*[2], may be null*/, const gs_font_type42
      *pfont,\n                          const gs_matrix_fixed *pmat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 867
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 867
    functionName: S2_14
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S2_14(p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:909,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:915,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:917,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:921,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstype42.c:928,1
    - Dst: total_points
      Src: /src/libspectre/ghostscript/base/gstype42.c:931,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:931,1
    - Dst: gs_type42_parse_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:935,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pfont
    - glyph_index
    argTypes:
    - gs_font_type42*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 899
    functionDepth: 2
    functionLinenumber: 899
    functionLinenumberEnd: 941
    functionName: total_points
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 1
    functionsReached:
    - U16
    - gs_font_type42*::data::get_outline
    - gs_type42_parse_component
    - memset
    - S16
    - gs_glyph_data_free
    - total_points
    linkageType: ''
    returnType: int
    signature: int total_points(gs_font_type42 *pfont, uint glyph_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfont
    - glyph
    argTypes:
    - gs_font_type42*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 954
    functionName: default_get_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint default_get_glyph_index(gs_font_type42 *pfont, gs_glyph glyph)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:970,1
    - Dst: get_glyph_offset
      Src: /src/libspectre/ghostscript/base/gstype42.c:971,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/base/gstype42.c:977,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:987,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:997,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:999,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:1000,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:1001,1
    - Dst: gs_type42_read_data
      Src: /src/libspectre/ghostscript/base/gstype42.c:1002,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - pfont
    - glyph_index
    - pgd
    argTypes:
    - gs_font_type42*
    - uint
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 959
    functionDepth: 2
    functionLinenumber: 959
    functionLinenumberEnd: 1007
    functionName: default_get_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - gs_type42_read_data
    - get_glyph_offset
    - gs_glyph_data_from_null
    - memcpy
    - return_error
    - gs_glyph_data_from_string
    linkageType: ''
    returnType: int
    signature: "int default_get_outline(gs_font_type42 * pfont, uint glyph_index,\n
      \                   gs_glyph_data_t *pgd)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:1022,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gstype42.c:1023,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1025,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:1026,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:1027,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:1029,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gstype42.c:1030,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1032,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1033,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1034,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/base/gstype42.c:1037,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:1041,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:1042,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1044,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:1045,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gstype42.c:1046,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1048,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pfont
    - s
    - glyph_index
    - pgd
    argTypes:
    - gs_font_type42*
    - stream*
    - uint
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1051
    functionName: gs_type42_get_outline_from_TT_file
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - U16
    - u32
    - sgets
    - gs_glyph_data_from_null
    - return_error
    - gs_glyph_data_from_string
    - sseek
    linkageType: ''
    returnType: int
    signature: "int gs_type42_get_outline_from_TT_file(gs_font_type42 * pfont, stream
      *s, uint glyph_index,\n                gs_glyph_data_t *pgd)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:1145,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1145,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1146,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1146,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1147,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1147,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1148,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1148,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1151,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1151,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1153,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1155,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1158,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1158,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1159,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1159,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1160,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1160,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1167,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1169,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1170,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1176,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1176,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1177,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1177,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1185,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1185,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1186,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1186,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1188,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1193,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1193,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1199,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1199,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1206,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1206,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1223,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1223,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1231,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1231,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1232,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1233,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1233,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1234,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1235,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1235,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1236,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1244,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gstype42.c:1244,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 73
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - WMode
    - cid
    argTypes:
    - gs_font_type42*
    - uint
    - int
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1265
    functionName: gs_type42_substitute_glyph_index_vertical
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - offset_of
    - u32
    - U16
    linkageType: ''
    returnType: uint
    signature: "uint gs_type42_substitute_glyph_index_vertical(gs_font_type42 *pfont,
      uint glyph_index,\n                                          int WMode, gs_glyph
      cid)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/base/gstype42.c:1274,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1279,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1282,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstype42.c:1289,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1292,1
    - Dst: gs_type42_parse_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1293,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1298,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - pfont
    - glyph
    - pieces
    - pnum_pieces
    argTypes:
    - gs_font_type42*
    - gs_glyph
    - gs_glyph*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1300
    functionName: parse_pieces
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_font_type42*::data::get_glyph_index
    - U16
    - gs_font_type42*::data::get_outline
    - gs_type42_parse_component
    - memset
    - S16
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int parse_pieces(gs_font_type42 *pfont, gs_glyph glyph, gs_glyph *pieces,\n
      \            int *pnum_pieces)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/base/gstype42.c:1326,1
    - Dst: gs_font_type42*::data::substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/base/gstype42.c:1329,1
    - Dst: gs_type42_substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/base/gstype42.c:1331,1
    - Dst: gx_lookup_fm_pair
      Src: /src/libspectre/ghostscript/base/gstype42.c:1334,1
    - Dst: gx_provide_fm_pair_attributes
      Src: /src/libspectre/ghostscript/base/gstype42.c:1342,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gstype42.c:1345,1
    - Dst: append_outline_fitted
      Src: /src/libspectre/ghostscript/base/gstype42.c:1346,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/base/gstype42.c:1348,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gstype42.c:1352,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype42.c:1352,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype42.c:1353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1354
      start: 1303
    functionDepth: 3
    functionLinenumber: 1303
    functionLinenumberEnd: 1354
    functionName: gs_type42_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gx_provide_fm_pair_attributes
    - float2fixed
    - gs_font_type42*::data::get_glyph_index
    - gx_path_current_point
    - gx_lookup_fm_pair
    - append_outline_fitted
    - gs_font*::procs::glyph_info
    - gx_path_add_point
    - gs_type42_substitute_glyph_index_vertical
    - gs_font_type42*::data::substitute_glyph_index_vertical
    linkageType: ''
    returnType: int
    signature: "int gs_type42_glyph_outline(gs_font *font, int WMode, gs_glyph glyph,
      const gs_matrix *pmat,\n                        gx_path *ppath, double sbw[4])"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_default_glyph_info
      Src: /src/libspectre/ghostscript/base/gstype42.c:1371,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1375,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1378,1
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/base/gstype42.c:1388,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gstype42.c:1394,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gstype42.c:1398,1
    - Dst: parse_pieces
      Src: /src/libspectre/ghostscript/base/gstype42.c:1412,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 6
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    - glyph_index
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1357
    functionDepth: 3
    functionLinenumber: 1357
    functionLinenumberEnd: 1419
    functionName: gs_type42_glyph_info_by_gid
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_default_glyph_info
    - gs_font_type42*::data::get_metrics
    - gs_font_type42*::data::get_outline
    - parse_pieces
    - gs_point_transform
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int gs_type42_glyph_info_by_gid(gs_font *font, gs_glyph glyph, const
      gs_matrix *pmat,\n                     int members, gs_glyph_info_t *info, uint
      glyph_index)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_glyph_index
      Src: /src/libspectre/ghostscript/base/gstype42.c:1430,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1432,1
    - Dst: gs_font_type42*::data::substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/base/gstype42.c:1437,1
    - Dst: gs_type42_substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/base/gstype42.c:1439,1
    - Dst: gs_type42_glyph_info_by_gid
      Src: /src/libspectre/ghostscript/base/gstype42.c:1442,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1420
    functionDepth: 4
    functionLinenumber: 1420
    functionLinenumberEnd: 1444
    functionName: gs_type42_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_type42_glyph_info_by_gid
    - gs_font_type42*::data::get_glyph_index
    - gs_type42_substitute_glyph_index_vertical
    - return_error
    - gs_font_type42*::data::substitute_glyph_index_vertical
    linkageType: ''
    returnType: int
    signature: "int gs_type42_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                     int members, gs_glyph_info_t *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1457,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1463,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - font
    - pindex
    - glyph_space
    - pglyph
    argTypes:
    - gs_font*
    - int*
    - gs_glyph_space_t
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1445
    functionDepth: 1
    functionLinenumber: 1445
    functionLinenumberEnd: 1469
    functionName: gs_type42_enumerate_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_glyph_data_free
    - gs_font_type42*::data::get_outline
    linkageType: ''
    returnType: int
    signature: "int gs_type42_enumerate_glyph(gs_font *font, int *pindex,\n                          gs_glyph_space_t
      glyph_space, gs_glyph *pglyph)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1487,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:1489,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1490,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1491,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:1497,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1498,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:1501,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1502,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - wmode
    - sbw
    argTypes:
    - gs_font_type42*
    - uint
    - int
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1472
    functionDepth: 1
    functionLinenumber: 1472
    functionLinenumberEnd: 1514
    functionName: simple_glyph_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - return_error
    - S16
    - READ_SFNTS
    - U16
    linkageType: ''
    returnType: int
    signature: "int simple_glyph_metrics(gs_font_type42 * pfont, uint glyph_index,
      int wmode,\n                     float sbw[4])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_metrics_options_wmode
      Src: /src/libspectre/ghostscript/base/gstype42.c:1527,1
    - Dst: gs_type42_metrics_options_sbw_requested
      Src: /src/libspectre/ghostscript/base/gstype42.c:1528,1
    - Dst: gs_type42_metrics_options_bbox_requested
      Src: /src/libspectre/ghostscript/base/gstype42.c:1529,1
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1532,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1542,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1543,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1544,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1545,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1550,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gstype42.c:1556,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1558,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1561,1
    - Dst: gs_type42_parse_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1565,1
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/base/gstype42.c:1567,1
    - Dst: simple_glyph_metrics
      Src: /src/libspectre/ghostscript/base/gstype42.c:1573,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1576,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - options
    - sbw
    argTypes:
    - gs_font_type42*
    - uint
    - gs_type42_metrics_options_t
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1520
    functionDepth: 2
    functionLinenumber: 1520
    functionLinenumberEnd: 1578
    functionName: gs_type42_default_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 1
    functionsReached:
    - gs_type42_metrics_options_bbox_requested
    - U16
    - simple_glyph_metrics
    - gs_font_type42*::data::get_metrics
    - gs_font_type42*::data::get_outline
    - gs_type42_parse_component
    - gs_glyph_data_free
    - gs_type42_metrics_options_sbw_requested
    - memset
    - S16
    - gs_note_error
    - gs_type42_metrics_options_wmode
    linkageType: ''
    returnType: int
    signature: "int gs_type42_default_get_metrics(gs_font_type42 * pfont, uint glyph_index,\n
      \                             gs_type42_metrics_options_t options, float *sbw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_metrics
      Src: /src/libspectre/ghostscript/base/gstype42.c:1583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfont
    - glyph_index
    - sbw
    argTypes:
    - gs_font_type42*
    - uint
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1584
    functionName: gs_type42_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_font_type42*::data::get_metrics
    linkageType: ''
    returnType: int
    signature: "int gs_type42_get_metrics(gs_font_type42 * pfont, uint glyph_index,\n
      \                     float sbw[4])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: append_outline_fitted
      Src: /src/libspectre/ghostscript/base/gstype42.c:1605,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gstype42.c:1605,1
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/base/gstype42.c:1618,1
    - Dst: gx_setcurrentpoint_from_path
      Src: /src/libspectre/ghostscript/base/gstype42.c:1624,1
    - Dst: gs_gstate_setflat
      Src: /src/libspectre/ghostscript/base/gstype42.c:1628,1
    - Dst: gs_char_flatness
      Src: /src/libspectre/ghostscript/base/gstype42.c:1628,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - glyph_index
    - pgs
    - ppath
    - penum
    - pfont
    - charpath_flag
    argTypes:
    - uint
    - gs_gstate*
    - gx_path*
    - gs_text_enum_t*
    - gs_font*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1598
    functionDepth: 2
    functionLinenumber: 1598
    functionLinenumberEnd: 1629
    functionName: gs_type42_append
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gx_setcurrentpoint_from_path
    - append_outline_fitted
    - gs_char_flatness
    - gx_free_cached_char
    - ctm_only
    - gs_gstate_setflat
    linkageType: ''
    returnType: int
    signature: "int gs_type42_append(uint glyph_index, gs_gstate * pgs,\n                 gx_path
      * ppath, gs_text_enum_t *penum, gs_font *pfont,\n                 bool charpath_flag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppath
    - a
    - b
    - c
    argTypes:
    - gx_path*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1639
    functionName: add_quadratic_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gx_path_add_curve
    linkageType: ''
    returnType: int
    signature: "int add_quadratic_curve(gx_path * const ppath, const gs_fixed_point
      * const a,\n     const gs_fixed_point * const b, const gs_fixed_point * const
      c)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1652,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1668,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1669,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1703,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gstype42.c:1707,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1712,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstype42.c:1717,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1736,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1746,1
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gstype42.c:1749,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gstype42.c:1759,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:1761,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:1761,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gstype42.c:1775,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gstype42.c:1779,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1788,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gstype42.c:1790,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1798,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1814,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1817,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1821,1
    - Dst: add_quadratic_curve
      Src: /src/libspectre/ghostscript/base/gstype42.c:1827,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gstype42.c:1832,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 122
    argCount: 7
    argNames:
    - gdata
    - sbw
    - pmat
    - ppath
    - ppts
    - pfont
    - subglyph
    argTypes:
    - byte*
    - float[]
    - gs_matrix_fixed*
    - gx_path*
    - gs_fixed_point*
    - gs_font_type42*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1647
    functionDepth: 2
    functionLinenumber: 1647
    functionLinenumberEnd: 1839
    functionName: append_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - if_debug1m
    - add_quadratic_curve
    - U16
    - if_debug3m
    - gs_distance_transform2fixed
    - gx_path_add_line
    - gx_path_add_point
    - S16
    - gx_path_close_subpath
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int append_simple(const byte *gdata, float sbw[4], const gs_matrix_fixed
      *pmat,\n              gx_path *ppath, gs_fixed_point *ppts, gs_font_type42 *
      pfont,\n              bool subglyph)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1858,1
    - Dst: S16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1864,1
    - Dst: gs_type42_get_metrics
      Src: /src/libspectre/ghostscript/base/gstype42.c:1866,1
    - Dst: append_simple
      Src: /src/libspectre/ghostscript/base/gstype42.c:1867,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1868,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1872,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - glyph_index
    - pmat
    - ppath
    - pfont
    - ppts
    - pgd
    - subglyph
    argTypes:
    - uint
    - gs_matrix_fixed*
    - gx_path*
    - gs_font_type42*
    - gs_fixed_point*
    - gs_glyph_data_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1846
    functionDepth: 3
    functionLinenumber: 1846
    functionLinenumberEnd: 1875
    functionName: check_component
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - append_simple
    - gs_type42_get_metrics
    - gs_font_type42*::data::get_outline
    - S16
    - return_error
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int check_component(uint glyph_index, const gs_matrix_fixed *pmat,\n
      \               gx_path *ppath, gs_font_type42 *pfont, gs_fixed_point *ppts,\n
      \               gs_glyph_data_t *pgd, bool subglyph)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1888,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1902,1
    - Dst: gs_type42_parse_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1906,1
    - Dst: append_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1918,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:1924,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype42.c:1925,1
    - Dst: append_component
      Src: /src/libspectre/ghostscript/base/gstype42.c:1927,1
    - Dst: total_points
      Src: /src/libspectre/ghostscript/base/gstype42.c:1931,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype42.c:1935,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 7
    argNames:
    - glyph_index
    - pmat
    - ppath
    - ppts
    - point_index
    - pfont
    - subglyph
    argTypes:
    - uint
    - gs_matrix_fixed*
    - gx_path*
    - gs_fixed_point*
    - int
    - gs_font_type42*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1879
    functionDepth: 4
    functionLinenumber: 1879
    functionLinenumberEnd: 1937
    functionName: append_component
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 1
    functionsReached:
    - append_component
    - U16
    - gs_type42_parse_component
    - check_component
    - gs_glyph_data_free
    - total_points
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int append_component(uint glyph_index, const gs_matrix_fixed * pmat,\n
      \                gx_path * ppath, gs_fixed_point *ppts, int point_index,\n                 gs_font_type42
      * pfont, bool subglyph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_ttfReader__set_font
      Src: /src/libspectre/ghostscript/base/gstype42.c:1948,1
    - Dst: gx_ttf_outline
      Src: /src/libspectre/ghostscript/base/gstype42.c:1949,1
    - Dst: gx_ttfReader__set_font
      Src: /src/libspectre/ghostscript/base/gstype42.c:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - glyph_index
    - pmat
    - ppath
    - pair
    - pscale
    - design_grid
    argTypes:
    - uint
    - gs_matrix*
    - gx_path*
    - cached_fm_pair*
    - gs_log2_scale_point*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1953
    functionName: append_outline_fitted
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 2
    functionsReached:
    - gx_ttf_outline
    - gx_ttfReader__set_font
    linkageType: ''
    returnType: int
    signature: "int append_outline_fitted(uint glyph_index, const gs_matrix * pmat,\n
      \              gx_path * ppath, cached_fm_pair * pair,\n               const
      gs_log2_scale_point * pscale, bool design_grid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:1966,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1967,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1968,1
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:1972,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1973,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1974,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1975,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1976,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1977,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:1978,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gstype42.c:1980,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gstype42.c:1981,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:1994,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 5
    argNames:
    - pfont
    - info
    - pmember
    - member
    - name_id
    argTypes:
    - gs_font_type42*
    - gs_font_info_t*
    - gs_const_string*
    - int
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1998
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1998
    functionName: get_from_names_table
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - U16
    - DISCARD
    - READ_SFNTS
    - return_error
    linkageType: ''
    returnType: int
    signature: "int get_from_names_table(gs_font_type42 *pfont, gs_font_info_t *info,\n
      \                          gs_const_string *pmember, int member, uint name_id)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: READ_SFNTS
      Src: /src/libspectre/ghostscript/base/gstype42.c:2011,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:2012,1
    - Dst: get_from_names_table
      Src: /src/libspectre/ghostscript/base/gstype42.c:2025,1
    - Dst: get_from_names_table
      Src: /src/libspectre/ghostscript/base/gstype42.c:2028,1
    - Dst: get_from_names_table
      Src: /src/libspectre/ghostscript/base/gstype42.c:2033,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 4
    argNames:
    - font
    - pscale
    - members
    - info
    argTypes:
    - gs_font*
    - gs_point*
    - int
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2039
      start: 2000
    functionDepth: 2
    functionLinenumber: 2000
    functionLinenumberEnd: 2039
    functionName: gs_truetype_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - U16
    - get_from_names_table
    - READ_SFNTS
    linkageType: ''
    returnType: int
    signature: "int gs_truetype_font_info(gs_font *font, const gs_point *pscale, int
      members,\n           gs_font_info_t *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_default_font_info
      Src: /src/libspectre/ghostscript/base/gstype42.c:2045,1
    - Dst: gs_truetype_font_info
      Src: /src/libspectre/ghostscript/base/gstype42.c:2049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - font
    - pscale
    - members
    - info
    argTypes:
    - gs_font*
    - gs_point*
    - int
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2041
    functionDepth: 3
    functionLinenumber: 2041
    functionLinenumberEnd: 2050
    functionName: gs_type42_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_default_font_info
    - gs_truetype_font_info
    linkageType: ''
    returnType: int
    signature: "int gs_type42_font_info(gs_font *font, const gs_point *pscale, int
      members,\n           gs_font_info_t *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2058,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2053
    functionDepth: 0
    functionLinenumber: 2053
    functionLinenumberEnd: 2062
    functionName: gs_woff_tabdir_compare
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - u32
    linkageType: ''
    returnType: int
    signature: int gs_woff_tabdir_compare (const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/gstype42.c:2072,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gstype42.c:2073,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gstype42.c:2074,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2076,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2077,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2078,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/gstype42.c:2081,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2092
    functionName: gs_woff_push_flate_filter
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - s_alloc
    - gs_free_object
    - s_std_init
    - gs_alloc_struct
    linkageType: ''
    returnType: stream
    signature: 'stream *

      gs_woff_push_flate_filter(stream *s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/gstype42.c:2101,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2102,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2106
    functionName: gs_woff_pop_flate_filter
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - sclose
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: 'stream *

      gs_woff_pop_flate_filter(stream *s)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: sseekable
      Src: /src/libspectre/ghostscript/base/gstype42.c:2138,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:2139,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gstype42.c:2142,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:2144,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gstype42.c:2148,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:2151,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gstype42.c:2152,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:2153,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:2154,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2157,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:2160,1
    - Dst: U16
      Src: /src/libspectre/ghostscript/base/gstype42.c:2163,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:2164,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:2166,1
    - Dst: PUTU16
      Src: /src/libspectre/ghostscript/base/gstype42.c:2175,1
    - Dst: PUTU16
      Src: /src/libspectre/ghostscript/base/gstype42.c:2182,1
    - Dst: PUTU16
      Src: /src/libspectre/ghostscript/base/gstype42.c:2183,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gstype42.c:2186,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gstype42.c:2187,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:2189,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gstype42.c:2192,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/gstype42.c:2198,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2209,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2210,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:2215,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:2216,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype42.c:2217,1
    - Dst: put_u32_msb
      Src: /src/libspectre/ghostscript/base/gstype42.c:2218,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gstype42.c:2221,1
    - Dst: u32
      Src: /src/libspectre/ghostscript/base/gstype42.c:2221,1
    - Dst: gs_woff_push_flate_filter
      Src: /src/libspectre/ghostscript/base/gstype42.c:2223,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gstype42.c:2224,1
    - Dst: gs_woff_pop_flate_filter
      Src: /src/libspectre/ghostscript/base/gstype42.c:2226,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2241,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2242,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 95
    argCount: 4
    argNames:
    - mem
    - s
    - outbuf
    - outbuflen
    argTypes:
    - gs_memory_t*
    - stream*
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2244
      start: 2128
    functionDepth: 2
    functionLinenumber: 2128
    functionLinenumberEnd: 2244
    functionName: gs_woff2sfnt
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_woff_pop_flate_filter
    - qsort
    - stell
    - U16
    - gs_alloc_bytes
    - u32
    - sfread
    - put_u32_msb
    - gs_woff_push_flate_filter
    - memcpy
    - PUTU16
    - memcmp
    - gs_note_error
    - sseekable
    - sseek
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_woff2sfnt(gs_memory_t *mem, stream *s, byte *outbuf, int *outbuflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_woff2sfnt
      Src: /src/libspectre/ghostscript/base/gstype42.c:2249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - s
    - outbuf
    - outbuflen
    argTypes:
    - gs_memory_t*
    - stream*
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2250
      start: 2246
    functionDepth: 3
    functionLinenumber: 2246
    functionLinenumberEnd: 2250
    functionName: gs_woff2sfnt_stream
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - gs_woff2sfnt
    linkageType: ''
    returnType: int
    signature: int gs_woff2sfnt_stream(gs_memory_t *mem, stream *s, byte *outbuf,
      int *outbuflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/base/gstype42.c:2257,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/base/gstype42.c:2259,1
    - Dst: gs_woff2sfnt
      Src: /src/libspectre/ghostscript/base/gstype42.c:2260,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/gstype42.c:2261,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gstype42.c:2262,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype42.c:2265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mem
    - inbuf
    - inbuflen
    - outbuf
    - outbuflen
    argTypes:
    - gs_memory_t*
    - byte*
    - int
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2252
    functionDepth: 3
    functionLinenumber: 2252
    functionLinenumberEnd: 2268
    functionName: gs_woff2sfnt_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gstype42.c
    functionUses: 0
    functionsReached:
    - sclose
    - file_alloc_stream
    - gs_note_error
    - gs_woff2sfnt
    - sread_string
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_woff2sfnt_buffer(gs_memory_t *mem, byte *inbuf, int inbuflen,
      byte *outbuf, int *outbuflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: gx_default_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_tile_rectangle(gx_device * dev, const gx_tile_bitmap
      * tile,\n   int x, int y, int w, int h, gx_color_index color0, gx_color_index
      color1,\n                          int px, int py)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:58,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:59,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:61,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:66,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:77,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:78,1
    - Dst: gs_throw_code
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:80,1
    - Dst: gx_dc_default_fill_masked
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:81,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 83
    functionName: gx_default_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 1
    functionsReached:
    - gx_dc_default_fill_masked
    - gs_throw_code
    - dev_proc
    - set_nonclient_dev_color
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int gx_default_copy_mono(gx_device * dev, const byte * data,\n            int
      dx, int raster, gx_bitmap_id id, int x, int y, int w, int h,\n                     gx_color_index
      zero, gx_color_index one)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:95,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:100,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:103,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:104,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 9
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 160
    functionName: gx_default_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 2
    functionsReached:
    - dev_proc_fill_rectangle
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int gx_default_copy_color(gx_device * dev, const byte * data,\n                      int
      dx, int raster, gx_bitmap_id id,\n                      int x, int y, int w,
      int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 168
    functionName: gx_no_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \          int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \                gx_color_index color, int depth)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:206,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:208,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:209,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:211,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:243,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:247,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:274,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:285,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:289,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:340,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:344,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 94
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 346
    functionName: gx_default_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_free_object
    - return_error
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data,
      int data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width,
      int height,\n                      const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:354,1
    - Dst: gx_device_raster_chunky
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:366,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:374,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:376,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:377,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:378,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:380,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:383,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:393,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:416,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:429,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:430,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:464,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:467,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:470,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:473,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:485,1
    - Dst: make_shade
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:494,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:498,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:508,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:509,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:512,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:513,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:518,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:526,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:527,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 110
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 530
    functionName: gx_default_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gx_device_raster_chunky
    - sample_store_flush
    - sample_store_next64
    - gs_free_object
    - SAMPLE_BOUND_SHIFT
    - make_shade
    - return_error
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - sample_store_next32
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int gx_default_copy_alpha(gx_device * dev, const byte * data, int
      data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width, int
      height,\n                      gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - old
    - ','
    - clr
    - ','
    - alpha
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: make_shade
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_shade(old, clr, alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 541
    functionName: gx_no_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_copy_rop(gx_device * dev,\n             const byte * sdata,
      int sourcex, uint sraster, gx_bitmap_id id,\n               const gx_color_index
      * scolors,\n             const gx_tile_bitmap * texture, const gx_color_index
      * tcolors,\n               int x, int y, int width, int height,\n               int
      phase_x, int phase_y, gs_logical_operation_t lop)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:561,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:562,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:563,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:564,1
    - Dst: gx_make_clip_device_on_stack_if_needed
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:565,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:569,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:575,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:578,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:584,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:590,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:592,1
    - Dst: gx_drawing_color*::type::fill_masked
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:594,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 13
    argNames:
    - orig_dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 596
    functionName: gx_default_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 2
    functionsReached:
    - gx_drawing_color*::type::fill_masked
    - gx_make_clip_device_on_stack_if_needed
    - fixed2int
    - gx_dc_pure_color
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_mask(gx_device * orig_dev,\n                     const
      byte * data, int dx, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h,\n                     const gx_drawing_color * pdcolor,
      int depth,\n                     gs_logical_operation_t lop, const gx_clip_path
      * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 608
    functionName: gx_default_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_default_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, const gx_drawing_color * pdcolor0,
      \n   const gx_drawing_color * pdcolor1, int px, int py)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:625,1
    - Dst: fit_fill_xy
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:626,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:629,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:633,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:635,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:637,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:639,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:641,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:643,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:647,1
    - Dst: dev_proc_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:654,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:655,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:658,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:662,1
    - Dst: dev_proc_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:684,1
    - Dst: dev_proc_copy_color
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:685,1
    - Dst: dev_proc_copy_planes
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:686,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:693,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:696,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:702,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:725,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:732,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:734,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:738,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:748,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:752,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:769,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:772,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:775,1
    - Dst: GX_DEFAULT_COPY_TILE
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:779,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 89
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 794
    functionName: gx_default_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 2
    functionsReached:
    - fit_fill_xy
    - dmputc
    - gs_debug_c
    - dmlprintf4
    - set_dev_proc
    - dev_proc_copy_color
    - dev_proc_copy_mono
    - dmprintf1
    - dmlprintf6
    - dmlputs
    - dev_proc_tile_rectangle
    - dev_proc_copy_planes
    - return_error
    - GX_DEFAULT_COPY_TILE
    - dev_proc
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_default_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, gx_color_index color0, gx_color_index
      color1,\n                                int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - dev
    - ','
    - srcx
    - ','
    - tx
    - ','
    - ty
    - ','
    - tw
    - ','
    - th
    - ','
    - tid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 721
    functionName: GX_DEFAULT_COPY_TILE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_DEFAULT_COPY_TILE(dev, srcx, tx, ty, tw, th, tid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 805
    functionName: gx_no_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_strip_copy_rop(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                     int x, int y, int width, int
      height,\n                     int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:820,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:820,1
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:821,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 847
    functionName: gx_copy_mono_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - ALIGNMENT_MOD
    - dev_proc_copy_mono
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_copy_mono_unaligned(gx_device * dev, const byte * data,\n            int
      dx, int raster, gx_bitmap_id id, int x, int y, int w, int h,\n                       gx_color_index
      zero, gx_color_index one)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_copy_color
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:854,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 894
    functionName: gx_copy_color_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - dev_proc_copy_color
    linkageType: ''
    returnType: int
    signature: "int gx_copy_color_unaligned(gx_device * dev, const byte * data,\n
      \                       int data_x, int raster, gx_bitmap_id id,\n                        int
      x, int y, int width, int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_copy_alpha
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:901,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdbit.c:901,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 929
    functionName: gx_copy_alpha_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdbit.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - dev_proc_copy_alpha
    linkageType: ''
    returnType: int
    signature: "int gx_copy_alpha_unaligned(gx_device * dev, const byte * data, int
      data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width, int
      height,\n                        gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclpath.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cldev
    - pdcolor
    argTypes:
    - gx_device_clist_writer*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 75
    functionName: colored_halftone_color_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index colored_halftone_color_usage(gx_device_clist_writer
      *cldev,\n                             const gx_drawing_color *pdcolor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:86,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxclpath.c:88,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:89,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxclpath.c:91,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:92,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxclpath.c:93,1
    - Dst: rop3_know_T_1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:94,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - lop
    - pdcolor
    argTypes:
    - gx_device*
    - gs_logical_operation_t
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 98
    functionName: cmd_slow_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pure
    - lop_rop
    - rop3_know_T_0
    - gx_dc_pure_color
    - rop3_know_T_1
    - gx_device_white
    - gx_device_black
    linkageType: ''
    returnType: bool
    signature: "bool cmd_slow_rop(gx_device *dev, gs_logical_operation_t lop,\n    const
      gx_drawing_color *pdcolor)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gx_drawing_color*::type::get_dev_halftone
      Src: /src/libspectre/ghostscript/base/gxclpath.c:109,1
    - Dst: cmd_put_halftone
      Src: /src/libspectre/ghostscript/base/gxclpath.c:128,1
    - Dst: gx_get_dc_type_index
      Src: /src/libspectre/ghostscript/base/gxclpath.c:147,1
    - Dst: gx_drawing_color*::type::write
      Src: /src/libspectre/ghostscript/base/gxclpath.c:148,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:162,1
    - Dst: gs_dc_get_pattern_id
      Src: /src/libspectre/ghostscript/base/gxclpath.c:164,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:177,1
    - Dst: gx_drawing_color*::type::get_phase
      Src: /src/libspectre/ghostscript/base/gxclpath.c:179,1
    - Dst: cmd_set_tile_phase_generic
      Src: /src/libspectre/ghostscript/base/gxclpath.c:182,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:188,1
    - Dst: gs_dc_get_pattern_id
      Src: /src/libspectre/ghostscript/base/gxclpath.c:190,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:203,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:204,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:205,1
    - Dst: cmd_get_buffer_space
      Src: /src/libspectre/ghostscript/base/gxclpath.c:206,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclpath.c:209,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:210,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpath.c:213,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:214,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:216,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:218,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxclpath.c:241,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxclpath.c:242,1
    - Dst: gx_drawing_color*::type::write
      Src: /src/libspectre/ghostscript/base/gxclpath.c:243,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:249,1
    - Dst: cmd_drawing_color_usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:260,1
    - Dst: gx_drawing_color*::type::save_dc
      Src: /src/libspectre/ghostscript/base/gxclpath.c:263,1
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gxclpath.c:273,1
    - Dst: gx_pattern1_clist_has_trans
      Src: /src/libspectre/ghostscript/base/gxclpath.c:274,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:281,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 122
    argCount: 5
    argNames:
    - cldev
    - pcls
    - pdcolor
    - pre
    - devn_type
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_drawing_color*
    - cmd_rects_enum_t*
    - dc_devn_cl_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 305
    functionName: cmd_put_drawing_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - enc_u_putw
    - enc_u_sizew
    - cmd_put_halftone
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - clist_update_trans_bbox
    - cmd_get_buffer_space
    - set_cmd_put_op
    - gs_dc_get_pattern_id
    - cmd_drawing_color_usage
    - cmd_set_tile_phase_generic
    - min
    - gx_pattern1_get_transptr
    - gx_drawing_color*::type::write
    - set_cmd_put_all_op
    - gx_pattern1_clist_has_trans
    - gx_drawing_color*::type::get_phase
    - gx_dc_is_pattern1_color
    - gx_drawing_color*::type::save_dc
    - gx_drawing_color*::type::get_dev_halftone
    - return_error
    - gx_get_dc_type_index
    linkageType: ''
    returnType: int
    signature: "int cmd_put_drawing_color(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                      const gx_drawing_color * pdcolor, cmd_rects_enum_t
      *pre,\n                      dc_devn_cl_type devn_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclpath.c:318,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxclpath.c:321,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:322,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:322,1
    - Dst: gx_dc_is_binary_halftone
      Src: /src/libspectre/ghostscript/base/gxclpath.c:323,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:324,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:325,1
    - Dst: gx_dc_binary_color0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:325,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:326,1
    - Dst: gx_dc_binary_color1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:326,1
    - Dst: gx_dc_is_colored_halftone
      Src: /src/libspectre/ghostscript/base/gxclpath.c:327,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:328,1
    - Dst: colored_halftone_color_usage
      Src: /src/libspectre/ghostscript/base/gxclpath.c:328,1
    - Dst: gx_dc_is_devn
      Src: /src/libspectre/ghostscript/base/gxclpath.c:329,1
    - Dst: gx_dc_devn_get_nonzero_comps
      Src: /src/libspectre/ghostscript/base/gxclpath.c:332,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclpath.c:336,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - cldev
    - pdcolor
    argTypes:
    - gx_device_clist_writer*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 337
    functionName: cmd_drawing_color_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached:
    - gx_dc_binary_color1
    - gx_dc_devn_get_nonzero_comps
    - gx_dc_is_pure
    - gx_dc_binary_color0
    - gx_dc_is_colored_halftone
    - gx_dc_pure_color
    - colored_halftone_color_usage
    - gx_color_index2usage
    - gx_dc_is_devn
    - gx_dc_is_binary_halftone
    - gx_color_usage_all
    linkageType: ''
    returnType: gx_color_usage_bits
    signature: "gx_color_usage_bits cmd_drawing_color_usage(gx_device_clist_writer
      *cldev,\n                        const gx_drawing_color * pdcolor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - cldev
    - known
    argTypes:
    - gx_device_clist_writer*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 350
    functionName: cmd_clear_known
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmd_clear_known(gx_device_clist_writer * cldev, uint known)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cldev
    - pcpath
    argTypes:
    - gx_device_clist_writer*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 365
    functionName: cmd_check_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmd_check_clip_path(gx_device_clist_writer * cldev, const gx_clip_path
      * pcpath)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:383,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:383,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:384,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:387,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:388,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:389,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:401,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:401,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:402,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:402,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:403,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:403,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:405,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:406,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:407,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:408,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:409,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:410,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:412,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:414,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:416,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:418,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:422,1
    - Dst: cmd_check_clip_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:430,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 38
    argCount: 6
    argNames:
    - cdev
    - pgs
    - flatness
    - padjust
    - pcpath
    - punknown
    argTypes:
    - gx_device_clist_writer*
    - gs_gstate*
    - double
    - gs_fixed_point*
    - gx_clip_path*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 432
    functionName: cmd_check_fill_known
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - state_neq
    - state_update
    - cmd_check_clip_path
    linkageType: ''
    returnType: void
    signature: "void cmd_check_fill_known(gx_device_clist_writer* cdev, const gs_gstate*
      pgs,\n    double flatness, const gs_fixed_point* padjust,\n    const gx_clip_path*
      pcpath, uint* punknown)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclpath.c:440,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/base/gxclpath.c:441,1
    - Dst: sput_matrix
      Src: /src/libspectre/ghostscript/base/gxclpath.c:442,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclpath.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cldev
    - m
    argTypes:
    - gx_device_clist_writer*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 444
    functionName: cmd_write_ctm_return_length
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - s_init
    - sput_matrix
    - swrite_position_only
    - stell
    linkageType: ''
    returnType: int
    signature: int cmd_write_ctm_return_length(gx_device_clist_writer * cldev, const
      gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclpath.c:452,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/base/gxclpath.c:453,1
    - Dst: sput_matrix
      Src: /src/libspectre/ghostscript/base/gxclpath.c:454,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclpath.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - m
    argTypes:
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: cmd_write_ctm_return_length_nodevice
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached:
    - s_init
    - sput_matrix
    - swrite_position_only
    - stell
    linkageType: ''
    returnType: int
    signature: int cmd_write_ctm_return_length_nodevice(const gs_matrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclpath.c:464,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/base/gxclpath.c:465,1
    - Dst: sput_matrix
      Src: /src/libspectre/ghostscript/base/gxclpath.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - m
    - dp
    - len
    argTypes:
    - gs_matrix*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: cmd_write_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached:
    - swrite_string
    - s_init
    - sput_matrix
    linkageType: ''
    returnType: int
    signature: int cmd_write_ctm(const gs_matrix *m, byte *dp, int len)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:506,1
    - Dst: gx_current_line_width
      Src: /src/libspectre/ghostscript/base/gxclpath.c:511,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:513,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:517,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:532,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:537,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:541,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:544,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:545,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:548,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:548,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:552,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:556,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:557,1
    - Dst: cmd_write_ctm_return_length
      Src: /src/libspectre/ghostscript/base/gxclpath.c:561,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxclpath.c:561,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:563,1
    - Dst: cmd_write_ctm
      Src: /src/libspectre/ghostscript/base/gxclpath.c:566,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxclpath.c:566,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:574,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:580,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:582,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:586,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclpath.c:598,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:603,1
    - Dst: gx_path_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxclpath.c:607,1
    - Dst: fixed_is_int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:608,1
    - Dst: cmd_write_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclpath.c:611,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:612,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:613,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:614,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:615,1
    - Dst: cmd_put_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:618,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:619,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:620,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxclpath.c:629,1
    - Dst: cmd_write_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclpath.c:642,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxclpath.c:653,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxclpath.c:654,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxclpath.c:655,1
    - Dst: cmd_write_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclpath.c:656,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:657,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:658,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:659,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:660,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:664,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:676,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxclpath.c:692,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:705,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclpath.c:706,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:711,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:713,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:713,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:716,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:718,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 140
    argCount: 3
    argNames:
    - cldev
    - pcls
    - must_know
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 728
    functionName: cmd_write_unknown
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - cmd_write_ctm_return_length
    - set_cmd_put_op
    - ctm_only
    - gx_path_is_rectangle
    - fixed2int_var
    - cmd_put_path
    - gx_cpath_outer_box
    - gx_current_line_width
    - fixed_is_int
    - min
    - gx_cpath_list
    - cmd_put_w
    - fixed2int
    - cmd_sizew
    - int2fixed
    - fixed_floor
    - fixed2int_ceiling
    - cmd_write_ctm
    - cmd_write_rect_cmd
    - gs_color_space_num_components
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int cmd_write_unknown(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                  uint must_know)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:746,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:746,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:755,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxclpath.c:758,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:760,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:761,1
    - Dst: crop_fill_y
      Src: /src/libspectre/ghostscript/base/gxclpath.c:762,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:765,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:766,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:767,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclpath.c:770,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:773,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:776,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:786,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:790,1
    - Dst: cmd_check_fill_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:798,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:801,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclpath.c:813,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclpath.c:814,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:815,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:818,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:820,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclpath.c:822,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclpath.c:826,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpath.c:834,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:845,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:848,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:850,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclpath.c:851,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclpath.c:854,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:855,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:858,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:864,1
    - Dst: cmd_put_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:868,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:869,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclpath.c:869,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:870,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclpath.c:870,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 87
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 879
    functionName: clist_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached:
    - gx_dc_is_pattern2_color
    - cmd_update_lop
    - max
    - clist_update_trans_bbox
    - gx_default_fill_path
    - gs_debug_c
    - RECT_ENUM_INIT
    - gx_path_bbox
    - cmd_put_path
    - gx_cpath_outer_box
    - crop_fill_y
    - if_debug2m
    - min
    - cmd_do_write_unknown
    - lop_know_S_0
    - fit_fill_w
    - fixed2int
    - cmd_check_fill_known
    - int2fixed
    - fixed2int_ceiling
    - cmd_do_enable_clip
    - cmd_slow_rop
    - cmd_put_drawing_color
    - cmd_clear_known
    - RECT_STEP_INIT
    - return_error
    linkageType: ''
    returnType: int
    signature: "int clist_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n            const gx_fill_params * params, const gx_drawing_color
      * pdcolor,\n                const gx_clip_path * pcpath)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:901,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:901,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpath.c:905,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclpath.c:908,1
    - Dst: gx_default_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:911,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:915,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:915,1
    - Dst: gx_default_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:916,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:919,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gxclpath.c:922,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:929,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:930,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:931,1
    - Dst: fit_fill_y
      Src: /src/libspectre/ghostscript/base/gxclpath.c:932,1
    - Dst: fit_fill_h
      Src: /src/libspectre/ghostscript/base/gxclpath.c:933,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxclpath.c:941,1
    - Dst: gx_default_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:954,1
    - Dst: gx_set_dash
      Src: /src/libspectre/ghostscript/base/gxclpath.c:962,1
    - Dst: gx_set_dash_adapt
      Src: /src/libspectre/ghostscript/base/gxclpath.c:967,1
    - Dst: gx_set_dot_length
      Src: /src/libspectre/ghostscript/base/gxclpath.c:969,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:974,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:974,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:975,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:975,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:977,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:978,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:979,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:980,1
    - Dst: cmd_check_fill_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:982,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:984,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:986,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:988,1
    - Dst: gx_set_miter_limit
      Src: /src/libspectre/ghostscript/base/gxclpath.c:990,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:993,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:993,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:994,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:994,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:997,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:997,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1000,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1003,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1009,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1010,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1013,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1019,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1026,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1030,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1031,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1033,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1035,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1039,1
    - Dst: gx_default_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1042,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1045,1
    - Dst: gx_default_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1048,1
    - Dst: cmd_put_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1055,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 94
    argCount: 8
    argNames:
    - pdev
    - pgs
    - ppath
    - params_fill
    - pdevc_fill
    - params_stroke
    - pdevc_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_stroke_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 1062
    functionName: clist_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pattern2_color
    - cmd_update_lop
    - gx_stroke_path_expansion
    - gx_set_miter_limit
    - fit_fill_h
    - state_neq
    - state_update
    - memcmp
    - clist_update_trans_bbox
    - gs_debug_c
    - RECT_ENUM_INIT
    - gx_path_bbox
    - gx_default_fill_stroke_path
    - cmd_put_path
    - gx_set_dot_length
    - cmd_do_write_unknown
    - lop_know_S_0
    - fit_fill_w
    - fixed2int
    - gx_set_dash_adapt
    - fit_fill_y
    - cmd_check_fill_known
    - fixed2int_ceiling
    - cmd_do_enable_clip
    - cmd_slow_rop
    - cmd_put_drawing_color
    - cmd_clear_known
    - RECT_STEP_INIT
    - return_error
    - gx_set_dash
    linkageType: ''
    returnType: int
    signature: "int clist_fill_stroke_path(gx_device * pdev, const gs_gstate * pgs,\n
      \                           gx_path * ppath,\n                            const
      gx_fill_params * params_fill,\n                            const gx_device_color
      * pdevc_fill,\n                            const gx_stroke_params * params_stroke,\n
      \                           const gx_device_color * pdevc_stroke,\n                            const
      gx_clip_path * pcpath)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1078,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1078,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1081,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1083,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1086,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1089,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1092,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1099,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1100,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1101,1
    - Dst: fit_fill_y
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1102,1
    - Dst: fit_fill_h
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1103,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1111,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1124,1
    - Dst: gx_set_dash
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1132,1
    - Dst: gx_set_dash_adapt
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1137,1
    - Dst: gx_set_dot_length
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1139,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1144,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1144,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1145,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1145,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1147,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1148,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1149,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1150,1
    - Dst: cmd_check_fill_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1152,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1154,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1156,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1158,1
    - Dst: gx_set_miter_limit
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1160,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1163,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1163,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1164,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1164,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1167,1
    - Dst: state_neq
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1167,1
    - Dst: state_update
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1170,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1173,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1179,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1180,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1182,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1188,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1190,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1194,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1195,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1196,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1197,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1198,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1201,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1202,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1207,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1211,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1226,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1227,1
    - Dst: cmd_put_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1229,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 91
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1238
    functionName: clist_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached:
    - cmd_update_lop
    - gx_stroke_path_expansion
    - gx_set_miter_limit
    - fit_fill_h
    - state_neq
    - state_update
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - memcmp
    - clist_update_trans_bbox
    - gs_debug_c
    - RECT_ENUM_INIT
    - gx_path_bbox
    - cmd_put_path
    - gx_set_dot_length
    - cmd_do_write_unknown
    - lop_know_S_0
    - fit_fill_w
    - fixed2int
    - gx_set_dash_adapt
    - fit_fill_y
    - cmd_check_fill_known
    - int2fixed
    - fixed2int_ceiling
    - cmd_do_enable_clip
    - cmd_slow_rop
    - gx_default_stroke_path
    - cmd_put_drawing_color
    - cmd_clear_known
    - RECT_STEP_INIT
    - gx_set_dash
    linkageType: ''
    returnType: int
    signature: "int clist_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                  const gx_stroke_params * params,\n              const
      gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1259,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1259,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1262,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1264,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1265,1
    - Dst: gx_path_add_lines
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1266,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1269,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1270,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1271,1
    - Dst: fit_fill_y
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1272,1
    - Dst: fit_fill_h
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1273,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1283,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1284,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1286,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1292,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1294,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1296,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1297,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1298,1
    - Dst: cmd_put_path
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1301,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1302,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1302,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1303,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1303,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1311,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 7
    argNames:
    - dev
    - px
    - py
    - points
    - num_points
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - gs_fixed_point*
    - int
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1247
    functionDepth: 2
    functionLinenumber: 1247
    functionLinenumberEnd: 1313
    functionName: clist_put_polyfill
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - cmd_update_lop
    - fit_fill_h
    - max
    - clist_update_trans_bbox
    - gs_debug_c
    - RECT_ENUM_INIT
    - gx_path_bbox
    - cmd_put_path
    - min
    - lop_know_S_0
    - fit_fill_w
    - fixed2int
    - fit_fill_y
    - gx_path_add_lines
    - gx_path_init_local
    - int2fixed
    - fixed2int_ceiling
    - gx_path_free
    - cmd_slow_rop
    - cmd_put_drawing_color
    - gx_path_add_point
    - RECT_STEP_INIT
    linkageType: ''
    returnType: int
    signature: "int clist_put_polyfill(gx_device *dev, fixed px, fixed py,\n                   const
      gs_fixed_point *points, int num_points,\n                   const gx_drawing_color
      *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PARALLELOGRAM_IS_RECT
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1324,1
    - Dst: INT_RECT_FROM_PARALLELOGRAM
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1327,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1328,1
    - Dst: clist_put_polyfill
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1334,1
    - Dst: gx_default_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1315
    functionDepth: 3
    functionLinenumber: 1315
    functionLinenumberEnd: 1338
    functionName: clist_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - PARALLELOGRAM_IS_RECT
    - INT_RECT_FROM_PARALLELOGRAM
    - clist_put_polyfill
    - gx_default_fill_parallelogram
    - gx_fill_rectangle_device_rop
    linkageType: ''
    returnType: int
    signature: "int clist_fill_parallelogram(gx_device *dev, fixed px, fixed py,\n
      \                        fixed ax, fixed ay, fixed bx, fixed by,\n                         const
      gx_drawing_color *pdcolor,\n                         gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_put_polyfill
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1351,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1340
    functionDepth: 3
    functionLinenumber: 1340
    functionLinenumberEnd: 1355
    functionName: clist_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - clist_put_polyfill
    - gx_default_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int clist_fill_triangle(gx_device *dev, fixed px, fixed py,\n                    fixed
      ax, fixed ay, fixed bx, fixed by,\n                    const gx_drawing_color
      *pdcolor,\n                    gs_logical_operation_t lop)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1390,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1393,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1396,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1396,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1397,1
    - Dst: cmd_uncount_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1413,1
    - Dst: cmd_shorten_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1414,1
    - Dst: cmd_uncount_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1428,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1429,1
    - Dst: is_bits
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1440,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1441,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1443,1
    - Dst: is_bits
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1446,1
    - Dst: is_bits
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1446,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1447,1
    - Dst: is_bits
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1456,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1457,1
    - Dst: is_bits
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1460,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1461,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1468,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1480,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1490,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1494,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 94
    argCount: 4
    argNames:
    - psw
    - op
    - operands
    - notes
    argTypes:
    - cmd_segment_writer*
    - byte
    - fixed*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1499
    functionName: cmd_put_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - cmd_count_op
    - gs_debug_c
    - set_cmd_put_op
    - is_bits
    - cmd_shorten_op
    - dmprintf1
    - cmd_uncount_op
    - memcpy
    - cmd_count_add1
    - dmlprintf2
    - dmputs
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int cmd_put_segment(cmd_segment_writer * psw, byte op,\n                const
      fixed * operands, segment_notes notes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - psw
    - ','
    - operands
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1503
      start: 1501
    functionDepth: 0
    functionLinenumber: 1501
    functionLinenumberEnd: 1503
    functionName: cmd_put_rmoveto
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put_rmoveto(psw, operands)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - psw
    - ','
    - operands
    - ','
    - notes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1503
    functionDepth: 0
    functionLinenumber: 1503
    functionLinenumberEnd: 1505
    functionName: cmd_put_rgapto
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put_rgapto(psw, operands, notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - psw
    - ','
    - operands
    - ','
    - notes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1505
    functionDepth: 0
    functionLinenumber: 1505
    functionLinenumberEnd: 1507
    functionName: cmd_put_rlineto
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_put_rlineto(psw, operands, notes)
  - BBCount: 55
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1573,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1574,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1585,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1586,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1586,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1587,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1587,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1588,1
    - Dst: set_first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1594,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1604,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1615,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1616,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1617,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1619,1
    - Dst: gx_path_enum_backup
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1624,1
    - Dst: which_side
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1630,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1632,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1633,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1633,1
    - Dst: cmd_put_rmoveto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1639,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1640,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1641,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1641,1
    - Dst: which_side
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1645,1
    - Dst: gx_path_enum_notes
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1647,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1654,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1655,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1655,1
    - Dst: first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1660,1
    - Dst: cmd_put_rmoveto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1664,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1666,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1670,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1672,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1672,1
    - Dst: cmd_put_rgapto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1680,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1682,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1683,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1683,1
    - Dst: which_side
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1687,1
    - Dst: gx_path_enum_notes
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1689,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1696,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1697,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1697,1
    - Dst: first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1702,1
    - Dst: cmd_put_rmoveto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1706,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1708,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1712,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1714,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1714,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1722,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1724,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1725,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1725,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1735,1
    - Dst: mlprintf1
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1740,1
    - Dst: first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1749,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1751,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1755,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1756,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1756,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1760,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1764,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1765,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1765,1
    - Dst: set_first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1780,1
    - Dst: cmd_put_segment
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1796,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1797,1
    - Dst: gx_path_enum_notes
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1802,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1824,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1826,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1826,1
    - Dst: which_side
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1832,1
    - Dst: first_point
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1834,1
    - Dst: cmd_put_rmoveto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1840,1
    - Dst: cmd_put_rlineto
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1842,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1846,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1849,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1849,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1860,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1862,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1862,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1863,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1863,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1864,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1864,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1899,1
    - Dst: cmd_put_segment
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1902,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpath.c:1907,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 220
    argCount: 8
    argNames:
    - cldev
    - pcls
    - ppath
    - ymin
    - ymax
    - path_op
    - implicit_close
    - keep_notes
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_path*
    - fixed
    - fixed
    - byte
    - bool
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1512
    functionDepth: 2
    functionLinenumber: 1512
    functionLinenumberEnd: 1918
    functionName: cmd_put_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 5
    functionsReached:
    - set_first_point
    - cmd_put_rmoveto
    - set_cmd_put_op
    - fixed2int_var
    - gx_path_enum_backup
    - if_debug4m
    - if_debug2m
    - gx_path_enum_init
    - cmd_put_segment
    - if_debug7m
    - int2fixed
    - if_debug0m
    - which_side
    - cmd_put_rlineto
    - if_debug3m
    - cmd_put_rgapto
    - gx_path_enum_next
    - memcpy
    - first_point
    - return_error
    - mlprintf1
    - gx_path_enum_notes
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int cmd_put_path(gx_device_clist_writer * cldev, gx_clist_state *
      pcls,\n             const gx_path * ppath, fixed ymin, fixed ymax, byte path_op,\n
      \            bool implicit_close, segment_notes keep_notes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1533
    functionDepth: 0
    functionLinenumber: 1533
    functionLinenumberEnd: 1534
    functionName: which_side
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: which_side(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1593
      start: 1592
    functionDepth: 0
    functionLinenumber: 1592
    functionLinenumberEnd: 1593
    functionName: set_first_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_first_point()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1594
    functionName: first_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: first_point()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_DCT_get_params
      Src: /src/libspectre/ghostscript/base/sddparam.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - plist
    - ss
    - all
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 47
    functionName: s_DCTD_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/sddparam.c
    functionUses: 0
    functionsReached:
    - s_DCT_get_params
    linkageType: ''
    returnType: int
    signature: int s_DCTD_get_params(gs_param_list * plist, const stream_DCT_state
      * ss, bool all)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_DCT_put_params
      Src: /src/libspectre/ghostscript/base/sddparam.c:58,1
    - Dst: s_DCT_put_huffman_tables
      Src: /src/libspectre/ghostscript/base/sddparam.c:63,1
    - Dst: s_DCT_put_quantization_tables
      Src: /src/libspectre/ghostscript/base/sddparam.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - plist
    - pdct
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: s_DCTD_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/sddparam.c
    functionUses: 0
    functionsReached:
    - s_DCT_put_quantization_tables
    - s_DCT_put_huffman_tables
    - s_DCT_put_params
    linkageType: ''
    returnType: int
    signature: int s_DCTD_put_params(gs_param_list * plist, stream_DCT_state * pdct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pcis
    - ','
    - penum
    - ','
    - psbpt
    - ','
    - charpath_flag
    - ','
    - paint_type
    - ','
    - pfont
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: gs_type1_init
    functionSourceFile: /src/libspectre/ghostscript/base/gstype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_type1_init(pcis, penum, psbpt, charpath_flag, paint_type, pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: charstring_interpret_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gstype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charstring_interpret_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: pattern_proc_uses_base_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pattern_proc_uses_base_space(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    functionName: pattern_proc_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pattern_proc_make_pattern(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: pattern_proc_get_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pattern_proc_get_pattern(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: pattern_proc_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pattern_proc_remap_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: pattern_proc_set_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pattern_proc_set_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: private_st_pattern_trans
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pattern_trans()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: private_st_color_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_color_tile()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 239
    functionName: private_st_color_tile_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_color_tile_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 285
    functionName: private_st_device_pattern_accum
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_pattern_accum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - preadline_data
    - mem
    argTypes:
    - void**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: gp_readline_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_strdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_readline_init(void **preadline_data, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sreadline
      Src: /src/libspectre/ghostscript/base/gp_strdl.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - s_in
    - s_out
    - readline_data
    - prompt
    - buf
    - bufmem
    - pcount
    - pin_eol
    argTypes:
    - stream*
    - stream*
    - void*
    - gs_const_string*
    - gs_string*
    - gs_memory_t*
    - uint*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: gp_readline
    functionSourceFile: /src/libspectre/ghostscript/base/gp_strdl.c
    functionUses: 0
    functionsReached:
    - sreadline
    linkageType: ''
    returnType: int
    signature: "int gp_readline(stream *s_in, stream *s_out, void *readline_data,\n
      \           gs_const_string *prompt, gs_string * buf,\n            gs_memory_t
      * bufmem, uint * pcount, bool *pin_eol,\n            bool (*is_stdin)(const
      stream *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - readline_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: gp_readline_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_strdl.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_readline_finit(void *readline_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: gs_sethalftonephase
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_sethalftonephase(pgs, px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - ppt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: gs_currenthalftonephase
    functionSourceFile: /src/libspectre/ghostscript/base/gsstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currenthalftonephase(pgs, ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/simscale.c:37,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/simscale.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 41
    functionName: s_imscale_release
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_imscale_release(stream_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/simscale.c:61,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/simscale.c:62,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/simscale.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: s_imscale_init
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - memset
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int s_imscale_init(stream_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:122,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:123,1
    - Dst: LOAD
      Src: /src/libspectre/ghostscript/base/simscale.c:124,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:125,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:126,1
    - Dst: STORE
      Src: /src/libspectre/ghostscript/base/simscale.c:127,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:128,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:129,1
    - Dst: LOAD
      Src: /src/libspectre/ghostscript/base/simscale.c:130,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:131,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:132,1
    - Dst: STORE
      Src: /src/libspectre/ghostscript/base/simscale.c:133,1
    - Dst: LOAD
      Src: /src/libspectre/ghostscript/base/simscale.c:134,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:135,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:136,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:137,1
    - Dst: STORE
      Src: /src/libspectre/ghostscript/base/simscale.c:138,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:139,1
    - Dst: LOAD
      Src: /src/libspectre/ghostscript/base/simscale.c:140,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:141,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:142,1
    - Dst: ZOOM
      Src: /src/libspectre/ghostscript/base/simscale.c:143,1
    - Dst: STORE
      Src: /src/libspectre/ghostscript/base/simscale.c:144,1
    - Dst: SHIFT
      Src: /src/libspectre/ghostscript/base/simscale.c:145,1
    - Dst: LOAD
      Src: /src/libspectre/ghostscript/base/simscale.c:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_imscale_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 152
    functionName: zoom_line
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 0
    functionsReached:
    - ZOOM
    - LOAD
    - SHIFT
    - STORE
    linkageType: ''
    returnType: void
    signature: void zoom_line(stream_imscale_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - r4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ZOOM
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZOOM(r0, r1, r2, r3, r4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r0
    - ','
    - r1
    - ','
    - r2
    - ','
    - r3
    - ','
    - r4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: SHIFT
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHIFT(r0, r1, r2, r3, r4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: LOAD
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD(n,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: STORE
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE(i)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/simscale.c:166,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/simscale.c:175,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/simscale.c:177,1
    - Dst: zoom_line
      Src: /src/libspectre/ghostscript/base/simscale.c:188,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/simscale.c:198,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/simscale.c:207,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/simscale.c:211,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 155
    functionDepth: 2
    functionLinenumber: 155
    functionLinenumberEnd: 216
    functionName: s_imscale_process
    functionSourceFile: /src/libspectre/ghostscript/base/simscale.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    - min
    - zoom_line
    linkageType: ''
    returnType: int
    signature: "int s_imscale_process(stream_state *st, stream_cursor_read *pr,\n
      \               stream_cursor_write *pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: gp_fgetc
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fgetc(gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - f
    argTypes:
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: gp_fputc
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 51
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fputc(int c, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - count
    - f
    argTypes:
    - void*
    - size_t
    - size_t
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: gp_fread
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fread(void *buf, size_t size, size_t count, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - size
    - count
    - f
    argTypes:
    - void*
    - size_t
    - size_t
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 232
    functionName: gp_fwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 101
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fwrite(const void *buf, size_t size, size_t count, gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - f
    - offset
    - whence
    argTypes:
    - gp_file*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: gp_fseek
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fseek(gp_file *f, gs_offset_t offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 246
    functionName: gp_ftell
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t gp_ftell(gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file*::ops::eof
      Src: /src/libspectre/ghostscript/base/gp.h:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    functionName: gp_feof
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 3
    functionsReached:
    - gp_file*::ops::eof
    linkageType: ''
    returnType: int
    signature: int gp_feof(gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gp.h:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: gp_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 16
    functionsReached:
    - gp_file_dealloc
    linkageType: ''
    returnType: int
    signature: int gp_fclose(gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 266
    functionName: gp_fdup
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gp_fdup(gp_file *f, const char *mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_file*::ops::seekable
      Src: /src/libspectre/ghostscript/base/gp.h:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 273
    functionName: gp_fseekable
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached:
    - gp_file*::ops::seekable
    linkageType: ''
    returnType: int
    signature: int gp_fseekable(gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - void*
    - size_t
    - gs_offset_t
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    functionName: gp_fpread
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fpread(void *buf, size_t count, gs_offset_t offset, gp_file
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - void*
    - size_t
    - gs_offset_t
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 283
    functionName: gp_fpwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_fpwrite(void *buf, size_t count, gs_offset_t offset, gp_file
      *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 290
    functionName: gp_file_is_char_buffered
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_file_is_char_buffered(gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 296
    functionName: gp_fflush
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_fflush(gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: gp_ferror
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_ferror(gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: gp_get_file
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_get_file(gp_file *f)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: gp_clearerr
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_clearerr(gp_file *f)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fname
    - mode
    - f
    argTypes:
    - char*
    - char*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: gp_freopen
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gp_freopen(const char *fname, const char *mode, gp_file *f)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp.h:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - string
    - f
    argTypes:
    - char*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 330
    functionName: gp_fputs
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 38
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int gp_fputs(const char *string, gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gp.h:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: gp_rewind
    functionSourceFile: /src/libspectre/ghostscript/base/gp.h
    functionUses: 1
    functionsReached:
    - gp_fseek
    linkageType: ''
    returnType: int
    signature: int gp_rewind(gp_file *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: rop3_invert_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_invert_(op, mask, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: rop3_invert_D
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_invert_D(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: rop3_invert_S
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_invert_S(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: rop3_invert_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_invert_T(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: rop3_know_0_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_0_(op, mask, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: rop3_know_D_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_D_0(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: rop3_know_S_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_S_0(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: rop3_know_T_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_T_0(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: rop3_know_1_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_1_(op, mask, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: rop3_know_D_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_D_1(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: rop3_know_S_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_S_1(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: rop3_know_T_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_know_T_1(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: rop3_swap_S_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_swap_S_T(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: lop_swap_S_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_swap_S_T(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: rop3_use_D_when_0_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_0_(op, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: rop3_use_D_when_1_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_1_(op, mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: rop3_use_D_when_S_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_S_0(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: rop3_use_D_when_S_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_S_1(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: rop3_use_D_when_T_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_T_0(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: rop3_use_D_when_T_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_use_D_when_T_1(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: rop3_not
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_not(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - op
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: rop3_uses_
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_uses_(op, mask, shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: rop3_uses_D
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_uses_D(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: rop3_uses_S
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_uses_S(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: rop3_uses_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_uses_T(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: rop3_is_idempotent
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop3_is_idempotent(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: lop_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_rop(lop)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - lop
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: lop_sanitize
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int lop_sanitize(int lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: lop_uses_S
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_uses_S(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: lop_uses_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_uses_T(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: lop_no_T_is_S
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_no_T_is_S(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: lop_no_S_is_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_no_S_is_T(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: lop_is_idempotent
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_is_idempotent(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: lop_know_S_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_know_S_0(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: lop_know_T_0
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_know_T_0(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: lop_know_S_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_know_S_1(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: lop_know_T_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lop_know_T_1(lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 400
    functionName: rop_set_s_constant
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_s_constant(OP,S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 401
    functionName: rop_set_s_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_s_bitmap(OP,S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OP
    - ','
    - S
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 402
    functionName: rop_set_s_bitmap_subbyte
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_s_bitmap_subbyte(OP,S,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 403
    functionName: rop_set_s_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_s_colors(OP,S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 404
    functionName: rop_set_t_constant
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_t_constant(OP,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: rop_set_t_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_t_bitmap(OP,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OP
    - ','
    - T
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: rop_set_t_bitmap_subbyte
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_t_bitmap_subbyte(OP,T,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - OP
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: rop_set_t_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_set_t_colors(OP,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - OP
    - ','
    - D
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 408
    functionName: rop_run
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_run(OP,D,LEN)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OP
    - ','
    - D
    - ','
    - S
    - ','
    - L
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    functionName: rop_run_subbyte
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_run_subbyte(OP,D,S,L)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - OP
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 412
    functionName: rop_release_run_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsropt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_release_run_op(OP)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sname
    - ','
    - etype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: _param_array_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _param_array_struct(sname,etype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ps
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: param_string_from_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_string_from_string(ps, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ps
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: param_string_from_transient_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_string_from_transient_string(ps, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: GS_PARAM_TYPE_SIZES
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_PARAM_TYPE_SIZES(dict_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict_elt_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: GS_PARAM_TYPE_BASE_SIZES
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_PARAM_TYPE_BASE_SIZES(dict_elt_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dict_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: GS_PARAM_VALUE_UNION
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_PARAM_VALUE_UNION(dict_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: param_proc_xmit_typed
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_xmit_typed(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: param_write_typed
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_write_typed(plist, pkey, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 276
    functionName: param_proc_begin_xmit_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_begin_xmit_collection(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - ','
    - coll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: param_begin_read_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_begin_read_collection(plist, pkey, pvalue, coll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - k
    - ','
    - v
    - ','
    - int_keys
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: param_begin_read_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_begin_read_dict(l, k, v, int_keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - ','
    - coll_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: param_begin_write_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_begin_write_collection(plist, pkey, pvalue, coll_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - l
    - ','
    - k
    - ','
    - v
    - ','
    - int_keys
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: param_begin_write_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_begin_write_dict(l, k, v, int_keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: param_proc_end_xmit_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_end_xmit_collection(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: param_end_read_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_end_read_collection(plist, pkey, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: param_end_read_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_end_read_dict(l, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: param_end_write_collection
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_end_write_collection(plist, pkey, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - l
    - ','
    - k
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: param_end_write_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_end_write_dict(l, k, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: param_proc_next_key
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_next_key(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - penum
    - ','
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: param_get_next_key
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_get_next_key(plist, penum, pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: param_proc_request
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_request(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plist
    - ','
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: param_request
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_request(plist, pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: param_proc_requested
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_requested(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plist
    - ','
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: param_requested
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_requested(plist, pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: param_proc_get_policy
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_get_policy(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - plist
    - ','
    - pkey
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    functionName: param_get_policy
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_get_policy(plist, pkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: param_proc_signal_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_signal_error(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: param_signal_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 43
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_signal_error(plist, pkey, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: param_return_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_return_error(plist, pkey, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: param_proc_commit
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_proc_commit(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - plist
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: param_commit
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_commit(plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - plist
    - ','
    - pkey
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: param_read_typed
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_read_typed(plist, pkey, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 453
    functionName: persistent_keys
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool persistent_keys
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: private_st_c_param_list
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_c_param_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 550
    functionName: private_st_gs_param_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_param_string()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:41,1
    - Dst: gx_ht_complete_threshold_order
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - porder
    - thresholds
    argTypes:
    - gx_ht_order*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 44
    functionName: construct_ht_order_default
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached:
    - gx_ht_complete_threshold_order
    - max
    linkageType: ''
    returnType: int
    signature: int construct_ht_order_default(gx_ht_order *porder, const byte *thresholds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:60,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:63,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:73,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:76,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:95,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:96,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:104,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:106,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - porder
    - thresholds
    argTypes:
    - gx_ht_order*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 119
    functionName: construct_ht_order_short
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached:
    - max
    - memset
    - memcmp
    - bitmap_raster
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int construct_ht_order_short(gx_ht_order *porder, const byte *thresholds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - porder
    - index
    - ppt
    argTypes:
    - gx_ht_order*
    - uint
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 134
    functionName: ht_bit_index_default
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ht_bit_index_default(const gx_ht_order *porder, uint index, gs_int_point
      *ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - porder
    - index
    - ppt
    argTypes:
    - gx_ht_order*
    - uint
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 146
    functionName: ht_bit_index_short
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ht_bit_index_short(const gx_ht_order *porder, uint index, gs_int_point
      *ppt)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:182,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:182,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:182,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:182,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:185,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:185,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:185,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:185,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:189,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:190,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:191,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:192,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:193,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:194,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:195,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:197,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:198,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:199,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:200,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:201,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:202,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - pbt
    - level
    - porder
    argTypes:
    - gx_ht_tile*
    - int
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 208
    functionName: render_ht_default
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached:
    - INVERT
    linkageType: ''
    returnType: int
    signature: int render_ht_default(gx_ht_tile *pbt, int level, const gx_ht_order
      *porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    functionName: INVERT_DATA
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT_DATA(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 176
    functionName: INVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: INVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT(i)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:239,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:239,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:239,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:239,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:242,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:242,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:242,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:242,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:246,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:247,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:248,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:249,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:250,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:251,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:252,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:254,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:255,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:256,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:257,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:258,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:259,1
    - Dst: INVERT
      Src: /src/libspectre/ghostscript/base/gxhtbit.c:260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 54
    argCount: 3
    argNames:
    - pbt
    - level
    - porder
    argTypes:
    - gx_ht_tile*
    - int
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 265
    functionName: render_ht_short
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached:
    - INVERT
    linkageType: ''
    returnType: int
    signature: int render_ht_short(gx_ht_tile *pbt, int level, const gx_ht_order *porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: INVERT_DATA
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT_DATA(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 233
    functionName: INVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: INVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gxhtbit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERT(i)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN_CONST_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsfont0.c:44,1
    - Dst: ENUM_RETURN_PTR
      Src: /src/libspectre/ghostscript/base/gsfont0.c:47,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gsfont0.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - FDepVector
    argTypes:
    - data
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: ENUM_PTR
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN_CONST_STRING_PTR
    - ENUM_RETURN_PTR
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTR(1, gs_font_type0, data.FDepVector)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsfont0.c:86,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont0.c:90,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfont0.c:91,1
    - Dst: gs_makefont
      Src: /src/libspectre/ghostscript/base/gsfont0.c:94,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 3
    argNames:
    - pdir
    - pfont
    - pmat
    argTypes:
    - gs_font_dir*
    - gs_font_type0*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 101
    functionName: gs_type0_adjust_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct_array
    - memcpy
    - gs_makefont
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END gs_type0_adjust_matrix(gs_font_dir * pdir, gs_font_type0
      * pfont,\n                       const gs_matrix * pmat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_type0_adjust_matrix
      Src: /src/libspectre/ghostscript/base/gsfont0.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 2
    argNames:
    - pdir
    - pfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 117
    functionName: gs_type0_define_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0.c
    functionUses: 0
    functionsReached:
    - gs_type0_adjust_matrix
    linkageType: ''
    returnType: int
    signature: int gs_type0_define_font(gs_font_dir * pdir, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_type0_adjust_matrix
      Src: /src/libspectre/ghostscript/base/gsfont0.c:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdir
    - pfont
    - pmat
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    - gs_matrix*
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: gs_type0_make_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0.c
    functionUses: 0
    functionsReached:
    - gs_type0_adjust_matrix
    linkageType: ''
    returnType: int
    signature: "int gs_type0_make_font(gs_font_dir * pdir, const gs_font * pfont,\n
      \                  const gs_matrix * pmat, gs_font ** ppfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: s_PWGD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/spwgd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_PWGD_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 49
    functionName: s_PWGD_init
    functionSourceFile: /src/libspectre/ghostscript/base/spwgd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_PWGD_init(stream_state * st)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/spwgd.c:67,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/spwgd.c:67,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spwgd.c:82,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spwgd.c:125,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spwgd.c:133,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spwgd.c:148,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 172
    functionName: s_PWGD_process
    functionSourceFile: /src/libspectre/ghostscript/base/spwgd.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - memcpy
    - gs_memory_stable
    linkageType: ''
    returnType: int
    signature: "int s_PWGD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/spwgd.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: s_PWGD_release
    functionSourceFile: /src/libspectre/ghostscript/base/spwgd.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_PWGD_release(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 70
    functionName: s_LZWD_reset
    functionSourceFile: /src/libspectre/ghostscript/base/slzwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_LZWD_reset(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/slzwd.c:76,1
    - Dst: s_LZWD_reset
      Src: /src/libspectre/ghostscript/base/slzwd.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: s_LZWD_init
    functionSourceFile: /src/libspectre/ghostscript/base/slzwd.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - s_LZWD_reset
    linkageType: ''
    returnType: int
    signature: int s_LZWD_init(stream_state * st)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/slzwd.c:126,1
    - Dst: set_code_size
      Src: /src/libspectre/ghostscript/base/slzwd.c:131,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/slzwd.c:139,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/slzwd.c:143,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/slzwd.c:175,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/slzwd.c:191,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/slzwd.c:234,1
    - Dst: mlprintf3
      Src: /src/libspectre/ghostscript/base/slzwd.c:247,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/slzwd.c:258,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/slzwd.c:260,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/slzwd.c:270,1
    - Dst: set_code_size
      Src: /src/libspectre/ghostscript/base/slzwd.c:275,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/slzwd.c:286,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/slzwd.c:369,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/slzwd.c:372,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/slzwd.c:373,1
    - Dst: set_code_size
      Src: /src/libspectre/ghostscript/base/slzwd.c:380,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/slzwd.c:381,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/slzwd.c:398,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 229
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 401
    functionName: s_LZWD_process
    functionSourceFile: /src/libspectre/ghostscript/base/slzwd.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - set_code_size
    - if_debug3m
    - mlprintf3
    - if_debug4m
    - if_debug2m
    - min
    linkageType: ''
    returnType: int
    signature: "int s_LZWD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: set_code_size
    functionSourceFile: /src/libspectre/ghostscript/base/slzwd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_code_size()
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:46,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:52,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:52,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:55,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:58,1
    - Dst: RegOpenKeyExW
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:60,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:61,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:63,1
    - Dst: RegQueryValueExW
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:70,1
    - Dst: RegCloseKey
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:71,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:77,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:79,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:80,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:81,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:96,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:97,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:104,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:105,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 5
    argNames:
    - hkeyroot
    - key
    - name
    - ptr
    - plen
    argTypes:
    - HKEY
    - wchar_t*
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 32
    functionDepth: 5
    functionLinenumber: 32
    functionLinenumberEnd: 107
    functionName: gp_getenv_registry
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wgetv.c
    functionUses: 0
    functionsReached:
    - wchar_to_utf8
    - RegOpenKeyExW
    - utf8_to_wchar
    - RegQueryValueExW
    - malloc
    - free
    - RegCloseKey
    linkageType: ''
    returnType: int
    signature: "int gp_getenv_registry(HKEY hkeyroot, const wchar_t *key, const char
      *name,\n    char *ptr, int *plen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:119,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:119,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:123,1
    - Dst: _wgetenv
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:125,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:127,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:131,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:135,1
    - Dst: GetVersion
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:154,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:156,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:157,1
    - Dst: wsprintfW
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:166,1
    - Dst: wsprintfW
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:167,1
    - Dst: gp_getenv_registry
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:168,1
    - Dst: gp_getenv_registry
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:172,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - name
    - ptr
    - plen
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 113
    functionDepth: 6
    functionLinenumber: 113
    functionLinenumberEnd: 185
    functionName: gp_getenv
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wgetv.c
    functionUses: 0
    functionsReached:
    - wchar_to_utf8
    - wsprintfW
    - utf8_to_wchar
    - gp_getenv_registry
    - malloc
    - GetVersion
    - free
    - HIWORD
    - _wgetenv
    linkageType: ''
    returnType: int
    signature: int gp_getenv(const char *name, char *ptr, int *plen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wsprintfW
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:199,1
    - Dst: gp_getenv_registry
      Src: /src/libspectre/ghostscript/base/gp_wgetv.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 189
    functionDepth: 6
    functionLinenumber: 189
    functionLinenumberEnd: 213
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wgetv.c
    functionUses: 0
    functionsReached:
    - gp_getenv_registry
    - wsprintfW
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gxmclip.c:31,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gxmclip.c:36,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gxmclip.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - mcdev
    argTypes:
    - gx_device_mask_clip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 40
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxmclip.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(device_mask_clip_enum_ptrs, gx_device_mask_clip
      *mcdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gxmclip.c:44,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxmclip.c:45,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxmclip.c:46,1
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/base/gxmclip.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mcdev
    argTypes:
    - gx_device_mask_clip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxmclip.c
    functionUses: 1
    functionsReached:
    - RELOC_OBJ
    - RELOC_PREFIX
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_mask_clip_reloc_ptrs, gx_device_mask_clip
      *mcdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init_on_stack
      Src: /src/libspectre/ghostscript/base/gxmclip.c:76,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gxmclip.c:79,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxmclip.c:83,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxmclip.c:88,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxmclip.c:100,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gxmclip.c:104,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxmclip.c:110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 7
    argNames:
    - cdev
    - proto
    - bits
    - tdev
    - tx
    - ty
    - mem
    argTypes:
    - gx_device_mask_clip*
    - gx_device_mask_clip*
    - gx_bitmap*
    - gx_device*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 111
    functionName: gx_mask_clip_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gxmclip.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    - gx_device_init_on_stack
    - gdev_mem_bitmap_size
    - return_error
    - gs_make_mem_mono_device
    - dev_proc
    - gx_device_init
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END gx_mask_clip_initialize(gx_device_mask_clip * cdev,\n
      \                       const gx_device_mask_clip * proto,\n                        const
      gx_bitmap * bits, gx_device * tdev,\n                        int tx, int ty,
      gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: IMAGE3_MAKE_MID_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMAGE3_MAKE_MID_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: private_st_gs_screen_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_screen_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - porder
    - ','
    - pgs
    - ','
    - phsp
    - ','
    - accurate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: gs_screen_order_init
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_screen_order_init(porder, pgs, phsp, accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - penum
    - ','
    - porder
    - ','
    - pgs
    - ','
    - phsp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: gs_screen_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_screen_enum_init(penum, porder, pgs, phsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - penum
    - ','
    - pgs
    - ','
    - phsp
    - ','
    - accurate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: gx_ht_process_screen
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_ht_process_screen(penum, pgs, phsp, accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 152
    functionName: private_st_ht_tiles
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_ht_tiles()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: private_st_ht_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_ht_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - maxv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: frac_color_
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac_color_(f, maxv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - maxv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: fractional_color
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fractional_color(f, maxv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: gx_ht_clear_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_ht_clear_cache(pcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcache
    - ','
    - b_level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: gx_render_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gzht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_render_ht(pcache, b_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - a_output
    - a_int
    argTypes:
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: write_4_byte_int
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_4_byte_int(unsigned char *a_output, long a_int)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:46,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:53,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:54,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:55,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:59,1
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:60,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:61,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - a_int
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 63
    functionName: write_type2_int
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wbyte
    - write_4_byte_int
    - WRF_wtext
    linkageType: ''
    returnType: void
    signature: void write_type2_int(gs_fapi_font * a_fapi_font, WRF_output * a_output,
      long a_int)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t2.c:73,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:74,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:94,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:99,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - a_float
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 108
    functionName: write_type2_float
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - WRF_wbyte
    linkageType: ''
    returnType: void
    signature: void write_type2_float(gs_fapi_font * a_fapi_font, WRF_output * a_output,
      float a_float)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: write_header
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 5
    functionsReached:
    - WRF_wtext
    linkageType: ''
    returnType: void
    signature: void write_header(gs_fapi_font * a_fapi_font, WRF_output * a_output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 121
    functionName: write_name_index
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    linkageType: ''
    returnType: void
    signature: void write_name_index(gs_fapi_font * a_fapi_font, WRF_output * a_output)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:136,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:142,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:145,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 7
    argNames:
    - a_fapi_font
    - a_output
    - a_feature_id
    - a_feature_count
    - a_two_byte_op
    - a_op
    - a_divisor
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    - int
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 149
    functionName: write_word_entry
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wbyte
    - write_type2_int
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int write_word_entry(gs_fapi_font * a_fapi_font, WRF_output * a_output,\n
      \                int a_feature_id, int a_feature_count, bool a_two_byte_op,\n
      \                int a_op, int a_divisor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:161,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:169,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:175,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:179,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:180,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 6
    argNames:
    - a_fapi_font
    - a_output
    - a_feature_id
    - a_two_byte_op
    - a_op
    - a_divisor
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: write_delta_array_entry
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wbyte
    - write_type2_int
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int write_delta_array_entry(gs_fapi_font * a_fapi_font, WRF_output
      * a_output,\n                        int a_feature_id, bool a_two_byte_op, int
      a_op,\n                        int a_divisor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t2.c:195,1
    - Dst: write_type2_float
      Src: /src/libspectre/ghostscript/base/write_t2.c:199,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:202,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - a_fapi_font
    - a_output
    - a_feature_id
    - a_feature_count
    - a_two_byte_op
    - a_op
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    - int
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 206
    functionName: write_float_entry
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - write_type2_float
    - WRF_wbyte
    - gs_fapi_font*::get_float
    linkageType: ''
    returnType: int
    signature: "int write_float_entry(gs_fapi_font * a_fapi_font, WRF_output * a_output,\n
      \                 int a_feature_id, int a_feature_count, bool a_two_byte_op,\n
      \                 int a_op)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:217,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:220,1
    - Dst: write_float_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:224,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:228,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:229,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:231,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:232,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:234,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:235,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:237,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:238,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 5
    argNames:
    - a_fapi_font
    - a_output
    - a_charset_offset_ptr
    - a_charstrings_offset_ptr
    - a_private_dict_length_ptr
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - unsigned char**
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 208
    functionDepth: 3
    functionLinenumber: 208
    functionLinenumberEnd: 246
    functionName: write_font_dict_index
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    - write_word_entry
    - write_float_entry
    - WRF_wbyte
    - write_type2_int
    linkageType: ''
    returnType: int
    signature: "int write_font_dict_index(gs_fapi_font * a_fapi_font, WRF_output *
      a_output,\n                      unsigned char **a_charset_offset_ptr,\n                      unsigned
      char **a_charstrings_offset_ptr,\n                      unsigned char **a_private_dict_length_ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:262,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:270,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:272,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - a_charset_offset_ptr
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 277
    functionName: write_charset
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 1
    functionsReached:
    - WRF_wbyte
    - write_4_byte_int
    linkageType: ''
    returnType: int
    signature: int write_charset(gs_fapi_font * a_fapi_font, WRF_output * a_output,
      unsigned char *a_charset_offset_ptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:289,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:293,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:294,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:295,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - a_fapi_font
    - a_output
    - a_characters
    - a_charstrings_offset_ptr
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 298
    functionName: write_charstrings_index
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wbyte
    - write_4_byte_int
    linkageType: ''
    returnType: void
    signature: "void write_charstrings_index(gs_fapi_font * a_fapi_font, WRF_output
      * a_output, int a_characters,\n                        unsigned char *a_charstrings_offset_ptr)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:307,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:314,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:315,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:320,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:321,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:328,1
    - Dst: gs_fapi_font*::get_gsubr
      Src: /src/libspectre/ghostscript/base/write_t2.c:335,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:342,1
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 353
    functionName: write_gsubrs_index
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    - write_4_byte_int
    - gs_fapi_font*::get_gsubr
    - WRF_wbyte
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_gsubrs_index(gs_fapi_font * a_fapi_font, WRF_output * a_output)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:363,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:369,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:370,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:375,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:376,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:383,1
    - Dst: gs_fapi_font*::get_subr
      Src: /src/libspectre/ghostscript/base/write_t2.c:390,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:397,1
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:403,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 408
    functionName: write_subrs_index
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    - write_4_byte_int
    - WRF_wbyte
    - gs_fapi_font*::get_subr
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_subrs_index(gs_fapi_font * a_fapi_font, WRF_output * a_output)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:422,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:424,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/write_t2.c:428,1
    - Dst: write_type2_float
      Src: /src/libspectre/ghostscript/base/write_t2.c:432,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:434,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:435,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:437,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:442,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:447,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:452,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:457,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:463,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:468,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:473,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:478,1
    - Dst: write_delta_array_entry
      Src: /src/libspectre/ghostscript/base/write_t2.c:483,1
    - Dst: write_type2_float
      Src: /src/libspectre/ghostscript/base/write_t2.c:493,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/write_t2.c:493,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:494,1
    - Dst: write_type2_float
      Src: /src/libspectre/ghostscript/base/write_t2.c:496,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/write_t2.c:496,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:497,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t2.c:500,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:519,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:526,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:532,1
    - Dst: write_type2_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:539,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t2.c:546,1
    - Dst: write_4_byte_int
      Src: /src/libspectre/ghostscript/base/write_t2.c:551,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 84
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - a_private_dict_length_ptr
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 554
    functionName: write_private_dict
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_long
    - write_delta_array_entry
    - gs_fapi_font*::get_word
    - write_word_entry
    - write_4_byte_int
    - WRF_wbyte
    - write_type2_int
    - write_type2_float
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int write_private_dict(gs_fapi_font * a_fapi_font, WRF_output * a_output,\n
      \                  unsigned char *a_private_dict_length_ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: WRF_init
      Src: /src/libspectre/ghostscript/base/write_t2.c:573,1
    - Dst: write_header
      Src: /src/libspectre/ghostscript/base/write_t2.c:575,1
    - Dst: write_name_index
      Src: /src/libspectre/ghostscript/base/write_t2.c:576,1
    - Dst: write_font_dict_index
      Src: /src/libspectre/ghostscript/base/write_t2.c:577,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t2.c:583,1
    - Dst: write_gsubrs_index
      Src: /src/libspectre/ghostscript/base/write_t2.c:585,1
    - Dst: write_charset
      Src: /src/libspectre/ghostscript/base/write_t2.c:586,1
    - Dst: write_charstrings_index
      Src: /src/libspectre/ghostscript/base/write_t2.c:590,1
    - Dst: write_private_dict
      Src: /src/libspectre/ghostscript/base/write_t2.c:592,1
    - Dst: write_subrs_index
      Src: /src/libspectre/ghostscript/base/write_t2.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - a_fapi_font
    - a_buffer
    - a_buffer_size
    argTypes:
    - gs_fapi_font*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 602
    functionName: gs_fapi_serialize_type2_font
    functionSourceFile: /src/libspectre/ghostscript/base/write_t2.c
    functionUses: 0
    functionsReached:
    - write_header
    - WRF_wtext
    - WRF_init
    - write_subrs_index
    - write_name_index
    - write_gsubrs_index
    - write_charstrings_index
    - write_font_dict_index
    - write_charset
    - write_private_dict
    linkageType: ''
    returnType: long
    signature: "long gs_fapi_serialize_type2_font(gs_fapi_font * a_fapi_font,\n                             unsigned
      char *a_buffer, long a_buffer_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_zlib_alloc_dynamic_state
      Src: /src/libspectre/ghostscript/base/szlibe.c:27,1
    - Dst: deflateInit2
      Src: /src/libspectre/ghostscript/base/szlibe.c:31,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 36
    functionName: s_zlibE_init
    functionSourceFile: /src/libspectre/ghostscript/base/szlibe.c
    functionUses: 0
    functionsReached:
    - s_zlib_alloc_dynamic_state
    - deflateInit2
    linkageType: ''
    returnType: int
    signature: int s_zlibE_init(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/base/szlibe.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: s_zlibE_reset
    functionSourceFile: /src/libspectre/ghostscript/base/szlibe.c
    functionUses: 0
    functionsReached:
    - deflateReset
    linkageType: ''
    returnType: int
    signature: int s_zlibE_reset(stream_state * st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: deflate
      Src: /src/libspectre/ghostscript/base/szlibe.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 80
    functionName: s_zlibE_process
    functionSourceFile: /src/libspectre/ghostscript/base/szlibe.c
    functionUses: 0
    functionsReached:
    - deflate
    linkageType: ''
    returnType: int
    signature: "int s_zlibE_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/base/szlibe.c:88,1
    - Dst: s_zlib_free_dynamic_state
      Src: /src/libspectre/ghostscript/base/szlibe.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: s_zlibE_release
    functionSourceFile: /src/libspectre/ghostscript/base/szlibe.c
    functionUses: 0
    functionsReached:
    - deflateEnd
    - s_zlib_free_dynamic_state
    linkageType: ''
    returnType: void
    signature: void s_zlibE_release(stream_state * st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN_CONST_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:31,1
    - Dst: ENUM_RETURN_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:33,1
    - Dst: ENUM_RETURN_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psrc
    argTypes:
    - gs_data_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 36
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN_CONST_STRING_PTR
    - ENUM_RETURN_PTR
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(data_source_enum_ptrs, gs_data_source_t *psrc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_CONST_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:41,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:43,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - psrc
    argTypes:
    - gs_data_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 46
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.c
    functionUses: 1
    functionsReached:
    - RELOC_CONST_STRING_PTR
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(data_source_reloc_ptrs, gs_data_source_t
      *psrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:62,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:66,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:67,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 74
    functionName: data_source_access_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END data_source_access_string(const gs_data_source_t *
      psrc, ulong start,\n                          uint length, byte * buf, const
      byte ** ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: data_source_access_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int data_source_access_bytes(const gs_data_source_t * psrc, ulong
      start,\n                         uint length, byte * buf, const byte ** ptr)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:106,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:109,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:112,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:113,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:115,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdsrc.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 5
    argNames:
    - psrc
    - start
    - length
    - buf
    - ptr
    argTypes:
    - gs_data_source_t*
    - ulong
    - uint
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 122
    functionName: data_source_access_stream
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.c
    functionUses: 0
    functionsReached:
    - return_error
    - sgets
    - memcpy
    - sseek
    linkageType: ''
    returnType: int
    signature: "int data_source_access_stream(const gs_data_source_t * psrc, ulong
      start,\n                          uint length, byte * buf, const byte ** ptr)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsfcid.c:37,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gsfcid.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pfcid0
    argTypes:
    - gs_font_cid0*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 40
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(font_cid0_enum_ptrs, gs_font_cid0 *pfcid0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsfcid.c:57,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gsfcid.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pfcid1
    argTypes:
    - gs_font_cid1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 60
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(font_cid1_enum_ptrs, gs_font_cid1 *pfcid1)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_PTR
      Src: /src/libspectre/ghostscript/base/gsfcid.c:73,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsfcid.c:75,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gsfcid.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pfcid2
    argTypes:
    - gs_font_cid2*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcid.c
    functionUses: 0
    functionsReached:
    - ENUM_PTR
    - ENUM_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(font_cid2_enum_ptrs, gs_font_cid2 *pfcid2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - dpos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ADJUST_TO_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUST_TO_CHUNK(d,dpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - dpos
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ADJUST_TO_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUST_TO_CHUNK(d, dpos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: RE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RE(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - I
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: RE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RE(I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - S
    - ','
    - s
    - ','
    - SKEW
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: SKEW_FETCH
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKEW_FETCH(S,s,SKEW)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - S
    - ','
    - s
    - ','
    - SKEW
    - ','
    - L
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: SAFE_SKEW_FETCH
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_SKEW_FETCH(S,s,SKEW,L,R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: SAFE_FETCH_S
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_FETCH_S(L,R)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - L
    - ','
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: SAFE_FETCH_T
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_FETCH_T(L,R)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_TO_CHUNK
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:156,1
    - Dst: RE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:166,1
    - Dst: RE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:167,1
    - Dst: ADJUST_TO_CHUNK
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:229,1
    - Dst: ADJUST_TO_CHUNK
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:251,1
    - Dst: SAFE_FETCH_S
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:275,1
    - Dst: SAFE_FETCH_T
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:276,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:277,1
    - Dst: SAFE_FETCH_S
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:287,1
    - Dst: SAFE_FETCH_T
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:288,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:289,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:301,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:310,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:322,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:332,1
    - Dst: SAFE_FETCH_S
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:340,1
    - Dst: SAFE_FETCH_T
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:341,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun1.h:342,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 108
    argCount: 3
    argNames:
    - op
    - d_
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 344
    functionName: TEMPLATE_NAME
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 0
    functionsReached:
    - ADJUST_TO_CHUNK
    - RE
    - SAFE_FETCH_T
    - SAFE_FETCH_S
    - SPECIFIC_CODE
    linkageType: ''
    returnType: void
    signature: void TEMPLATE_NAME(rop_run_op *op, byte *d_, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OUT_
    - ','
    - D_
    - ','
    - S_
    - ','
    - T_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(OUT_, D_,S_,T_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: gs_font_dir_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_font_dir_alloc(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - smax
    - ','
    - bmax
    - ','
    - mmax
    - ','
    - cmax
    - ','
    - upper
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: gs_font_dir_alloc_limits
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_font_dir_alloc_limits(mem, smax, bmax, mmax, cmax, upper)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdir
    - ','
    - limit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: gs_setcachelimit
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_setcachelimit(pdir,limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: private_st_arcfour_state
    functionSourceFile: /src/libspectre/ghostscript/base/sarc4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_arcfour_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inc_bufp
      Src: /src/libspectre/ghostscript/base/gxi16bit.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - ignore_smap
    - spread
    - ignore_num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 60
    functionName: sample_unpack_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi16bit.c
    functionUses: 0
    functionsReached:
    - inc_bufp
    linkageType: ''
    returnType: byte
    signature: "byte *\nsample_unpack_16(byte * bptr, int *pdata_x, const byte * data,\n
      \                int data_x, uint dsize, const sample_map *ignore_smap, int
      spread,\n                 int ignore_num_components_per_plane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: inc_bufp
    functionSourceFile: /src/libspectre/ghostscript/base/gxi16bit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inc_bufp(bp, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: inc_bufp16
      Src: /src/libspectre/ghostscript/base/gxi16bit.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - ignore_smap
    - spread
    - ignore_num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 84
    functionName: sample_unpackicc_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi16bit.c
    functionUses: 0
    functionsReached:
    - inc_bufp16
    linkageType: ''
    returnType: byte
    signature: "byte *\nsample_unpackicc_16(byte * bptr, int *pdata_x, const byte
      * data,\n                 int data_x, uint dsize, const sample_map *ignore_smap,
      int spread,\n                 int ignore_num_components_per_plane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: inc_bufp16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi16bit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inc_bufp16(bp, n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:103,1
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:108,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 111
    functionName: default_subclass_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_update_from_subclass
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_open_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:116,1
    - Dst: gx_default_get_initial_matrix
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 120
    functionName: default_subclass_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_initial_matrix
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void default_subclass_get_initial_matrix(gx_device *dev, gs_matrix
      *pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:125,1
    - Dst: gx_default_sync_output
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 130
    functionName: default_subclass_sync_output
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_sync_output
    linkageType: ''
    returnType: int
    signature: int default_subclass_sync_output(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: default_subclass_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_output_page(gx_device *dev, int num_copies, int
      flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: default_subclass_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_close_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:155,1
    - Dst: gx_error_encode_color
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 159
    functionName: default_subclass_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_error_encode_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index default_subclass_map_rgb_color(gx_device *dev, const
      gx_color_value cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:164,1
    - Dst: gx_default_map_color_rgb
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - rgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 169
    functionName: default_subclass_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_color_rgb
    linkageType: ''
    returnType: int
    signature: int default_subclass_map_color_rgb(gx_device *dev, gx_color_index color,
      gx_color_value rgb[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: default_subclass_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_fill_rectangle(gx_device *dev, int x, int y, int
      width, int height, gx_color_index color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: default_subclass_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_tile_rectangle(gx_device *dev, const gx_tile_bitmap
      *tile, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: default_subclass_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_mono(gx_device *dev, const byte *data, int
      data_x, int raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n
      \   gx_color_index color0, gx_color_index color1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 202
    functionName: default_subclass_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_color(gx_device *dev, const byte *data,
      int data_x, int raster, gx_bitmap_id id,\\\n    int x, int y, int width, int
      height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x0
    - y0
    - x1
    - y1
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 209
    functionName: default_subclass_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_draw_line(gx_device *dev, int x0, int y0, int
      x1, int y1, gx_color_index color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:214,1
    - Dst: gx_default_get_bits
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 218
    functionName: default_subclass_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_bits
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_bits(gx_device *dev, int y, byte *data, byte
      **actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:223,1
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 228
    functionName: default_subclass_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:235,1
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:238,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 245
    functionName: default_subclass_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_update_from_subclass
    - dev_proc
    - gx_default_put_params
    linkageType: ''
    returnType: int
    signature: int default_subclass_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:250,1
    - Dst: gx_default_map_cmyk_color
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: default_subclass_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_cmyk_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index default_subclass_map_cmyk_color(gx_device *dev, const
      gx_color_value cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:260,1
    - Dst: gx_default_get_xfont_procs
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: default_subclass_get_xfont_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_xfont_procs
    - dev_proc
    linkageType: ''
    returnType: gx_xfont_procs
    signature: gx_xfont_procs *default_subclass_get_xfont_procs(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:270,1
    - Dst: gx_default_get_xfont_device
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 275
    functionName: default_subclass_get_xfont_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_xfont_device
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: gx_device *default_subclass_get_xfont_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:281,1
    - Dst: gx_default_map_rgb_alpha_color
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - red
    - green
    - blue
    - alpha
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: default_subclass_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_map_rgb_alpha_color
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index default_subclass_map_rgb_alpha_color(gx_device *dev,
      gx_color_value red, gx_color_value green, gx_color_value blue,\n    gx_color_value
      alpha)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:291,1
    - Dst: gx_default_get_page_device
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: default_subclass_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_page_device
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: gx_device *default_subclass_get_page_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - type
    argTypes:
    - gx_device*
    - graphics_object_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 303
    functionName: default_subclass_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_alpha_bits(gx_device *dev, graphics_object_type
      type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: default_subclass_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_alpha(gx_device *dev, const byte *data,
      int data_x,\n    int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \   gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:317,1
    - Dst: gx_default_get_band
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - y
    - band_start
    argTypes:
    - gx_device*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 321
    functionName: default_subclass_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_band
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_band(gx_device *dev, int y, int *band_start)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:330,1
    - Dst: gx_default_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 334
    functionName: default_subclass_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_copy_rop
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_rop(gx_device *dev, const byte *sdata, int
      sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n
      \   const gx_tile_bitmap *texture, const gx_color_index *tcolors,\n    int x,
      int y, int width, int height,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:341,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: default_subclass_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_path(gx_device *dev, const gs_gstate *pgs,
      gx_path *ppath,\n    const gx_fill_params *params,\n    const gx_drawing_color
      *pdcolor, const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:353,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 357
    functionName: default_subclass_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_stroke_path
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_stroke_path(gx_device *dev, const gs_gstate *pgs,
      gx_path *ppath,\n    const gx_stroke_params *params,\n    const gx_drawing_color
      *pdcolor, const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:365,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 369
    functionName: default_subclass_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_fill_mask
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_mask(gx_device *dev, const byte *data, int
      data_x, int raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n
      \   const gx_drawing_color *pdcolor, int depth,\n    gs_logical_operation_t
      lop, const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:376,1
    - Dst: gx_default_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 380
    functionName: default_subclass_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_trapezoid(gx_device *dev, const gs_fixed_edge
      *left, const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, bool swap_axes,\n
      \   const gx_drawing_color *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:386,1
    - Dst: gx_default_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 390
    functionName: default_subclass_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_parallelogram
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_parallelogram(gx_device *dev, fixed px,
      fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color
      *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:396,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 400
    functionName: default_subclass_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_triangle(gx_device *dev, fixed px, fixed
      py, fixed ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor,
      gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:407,1
    - Dst: gx_default_draw_thin_line
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: default_subclass_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_draw_thin_line
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_draw_thin_line(gx_device *dev, fixed fx0, fixed
      fy0, fixed fx1, fixed fy1,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop,\n    fixed adjustx, fixed adjusty)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:419,1
    - Dst: gx_default_begin_image
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 424
    functionName: default_subclass_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_begin_image
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_begin_image(gx_device *dev, const gs_gstate *pgs,
      const gs_image_t *pim,\n    gs_image_format_t format, const gs_int_rect *prect,\n
      \   const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t
      *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - info
    - planes
    - data_x
    - raster
    - height
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - byte**
    - int
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: default_subclass_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_image_data(gx_device *dev, gx_image_enum_common_t
      *info, const byte **planes, int data_x,\n    uint raster, int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - info
    - draw_last
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 439
    functionName: default_subclass_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_end_image(gx_device *dev, gx_image_enum_common_t
      *info, bool draw_last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:446,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:448,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 450
    functionName: default_subclass_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_strip_tile_rectangle(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:459,1
    - Dst: gx_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 463
    functionName: default_subclass_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_strip_copy_rop
    linkageType: ''
    returnType: int
    signature: "int default_subclass_strip_copy_rop(gx_device *dev, const byte *sdata,
      int sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n
      \   const gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int
      x, int y, int width, int height,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:468,1
    - Dst: gx_default_get_clipping_box
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 473
    functionName: default_subclass_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_clipping_box
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void default_subclass_get_clipping_box(gx_device *dev, gs_fixed_rect
      *pbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:481,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 485
    functionName: default_subclass_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_begin_typed_image
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_begin_typed_image(gx_device *dev, const gs_gstate
      *pgs, const gs_matrix *pmat,\n    const gs_image_common_t *pic, const gs_int_rect
      *prect,\n    const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n
      \   gs_memory_t *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:491,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 496
    functionName: default_subclass_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_bits_rectangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_get_bits_rectangle(gx_device *dev, const gs_int_rect
      *prect,\n    gs_get_bits_params_t *params, gs_int_rect **unread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:501,1
    - Dst: gx_default_map_color_rgb_alpha
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - rgba
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 506
    functionName: default_subclass_map_color_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_color_rgb_alpha
    linkageType: ''
    returnType: int
    signature: int default_subclass_map_color_rgb_alpha(gx_device *dev, gx_color_index
      color, gx_color_value rgba[4])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:519,1
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:535,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:535,1
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:548,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:549,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:551,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 566
    functionName: default_subclass_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gs_is_pdf14trans_compositor
    - rc_increment
    - strncmp
    - return_error
    - dev_proc
    - rc_decrement_only
    linkageType: ''
    returnType: int
    signature: "int default_subclass_create_compositor(gx_device *dev, gx_device **pcdev,
      const gs_composite_t *pcte,\n    gs_gstate *pgs, gs_memory_t *memory, gx_device
      *cdev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:571,1
    - Dst: gx_default_get_hardware_params
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 576
    functionName: default_subclass_get_hardware_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_get_hardware_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_hardware_params(gx_device *dev, gs_param_list
      *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:583,1
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 578
    functionDepth: 3
    functionLinenumber: 578
    functionLinenumberEnd: 588
    functionName: default_subclass_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_text_begin
    linkageType: ''
    returnType: int
    signature: "int default_subclass_text_begin(gx_device *dev, gs_gstate *pgs, const
      gs_text_params_t *text,\n    gs_font *font, gx_path *path, const gx_device_color
      *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t *memory, gs_text_enum_t
      **ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: default_subclass_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int default_subclass_finish_copydevice(gx_device *dev, const gx_device
      *from_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gs_transparency_group_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 606
    functionName: default_subclass_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_begin_transparency_group(gx_device *dev, const
      gs_transparency_group_params_t *ptgp,\n    const gs_rect *pbbox, gs_gstate *pgs,
      gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 614
    functionName: default_subclass_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_end_transparency_group(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dev
    - ptmp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gx_transparency_mask_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 623
    functionName: default_subclass_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_begin_transparency_mask(gx_device *dev, const
      gx_transparency_mask_params_t *ptmp,\n    const gs_rect *pbbox, gs_gstate *pgs,
      gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:628,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: default_subclass_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_end_transparency_mask(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 638
    functionName: default_subclass_discard_transparency_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_discard_transparency_layer(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:643,1
    - Dst: gx_default_DevGray_get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 648
    functionName: default_subclass_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_DevGray_get_color_mapping_procs
    - dev_proc
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: gx_cm_color_map_procs *default_subclass_get_color_mapping_procs(const
      gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:653,1
    - Dst: gx_error_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: default_subclass_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_error_get_color_comp_index
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_color_comp_index(gx_device *dev, const char
      * pname, int name_size, int component_type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:663,1
    - Dst: gx_error_encode_color
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 668
    functionName: default_subclass_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_error_encode_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index default_subclass_encode_color(gx_device *dev, const
      gx_color_value colors[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:673,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - cindex
    - colors
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 679
    functionName: default_subclass_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - memset
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_decode_color(gx_device *dev, gx_color_index cindex,
      gx_color_value colors[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - id
    - pinst
    - function
    argTypes:
    - gx_device*
    - gx_bitmap_id
    - gs_pattern1_instance_t*
    - pattern_manage_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: default_subclass_pattern_manage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_pattern_manage(gx_device *dev, gx_bitmap_id id,\n
      \               gs_pattern1_instance_t *pinst, pattern_manage_t function)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:694,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 699
    functionName: default_subclass_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_rectangle_hl_color(gx_device *dev, const
      gs_fixed_rect *rect,\n        const gs_gstate *pgs, const gx_drawing_color *pdcolor,
      const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:704,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - cspace
    - res_name
    - name_length
    argTypes:
    - gx_device*
    - gs_color_space*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 701
    functionDepth: 1
    functionLinenumber: 701
    functionLinenumberEnd: 707
    functionName: default_subclass_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_include_color_space(gx_device *dev, gs_color_space
      *cspace, const byte *res_name, int name_length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:714,1
    - Dst: gx_default_fill_linear_color_scanline
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:716,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - fa
    - i
    - j
    - w
    - c0
    - c0_f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 719
    functionName: default_subclass_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_linear_color_scanline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_linear_color_scanline(gx_device *dev, const
      gs_fill_attributes *fa,\n        int i, int j, int w, const frac31 *c0, const
      int32_t *c0_f, const int32_t *cg_num,\n        int32_t cg_den)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:728,1
    - Dst: gx_default_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: default_subclass_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_linear_color_trapezoid
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_linear_color_trapezoid(gx_device *dev, const
      gs_fill_attributes *fa,\n        const gs_fixed_point *p0, const gs_fixed_point
      *p1,\n        const gs_fixed_point *p2, const gs_fixed_point *p3,\n        const
      frac31 *c0, const frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:740,1
    - Dst: gx_default_fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:742,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 745
    functionName: default_subclass_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_linear_color_triangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_linear_color_triangle(gx_device *dev, const
      gs_fill_attributes *fa,\n        const gs_fixed_point *p0, const gs_fixed_point
      *p1,\n        const gs_fixed_point *p2, const frac31 *c0, const frac31 *c1,
      const frac31 *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 753
    functionName: default_subclass_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_update_spot_equivalent_colors(gx_device *dev,
      const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 761
    functionName: default_subclass_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gs_devn_params
    signature: gs_devn_params *default_subclass_ret_devn_params(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:766,1
    - Dst: gx_default_fillpage
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 771
    functionName: default_subclass_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_fillpage
    linkageType: ''
    returnType: int
    signature: int default_subclass_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:776,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 779
    functionName: default_subclass_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_push_transparency_state(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:784,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 787
    functionName: default_subclass_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_pop_transparency_state(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:795,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:798,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - mdev
    - buffers
    - num_chan
    - x
    - y
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 802
    functionName: default_subclass_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_put_image(gx_device *dev, gx_device *mdev, const
      byte **buffers, int num_chan, int x, int y,\n            int width, int height,
      int row_stride,\n            int alpha_plane_index, int tag_plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:807,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - op
    - data
    - datasize
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: default_subclass_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_dev_spec_op(gx_device *dev, int op, void *data,
      int datasize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 819
    functionName: default_subclass_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_planes(gx_device *dev, const byte *data,
      int data_x, int raster, gx_bitmap_id id,\n    int x, int y, int width, int height,
      int plane_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:824,1
    - Dst: gx_default_get_profile
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - dev_profile
    argTypes:
    - gx_device*
    - cmm_dev_profile_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 831
    functionName: default_subclass_get_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_get_profile
    linkageType: ''
    returnType: int
    signature: int default_subclass_get_profile(gx_device *dev, cmm_dev_profile_t
      **dev_profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - tag
    argTypes:
    - gx_device*
    - gs_graphics_type_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 854
    functionName: default_subclass_set_graphics_type_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void default_subclass_set_graphics_type_tag(gx_device *dev, gs_graphics_type_tag_t
      tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:863,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 864
    functionName: default_subclass_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_strip_copy_rop2(gx_device *dev, const byte *sdata,
      int sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,
      const gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int x,
      int y, int width, int height, int phase_x, int phase_y, gs_logical_operation_t
      lop, uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:870,1
    - Dst: gx_default_strip_tile_rect_devn
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - pdcolor0
    - pdcolor1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: default_subclass_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rect_devn
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_strip_tile_rect_devn(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    const gx_drawing_color *pdcolor0,
      const gx_drawing_color *pdcolor1, int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:882,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 877
    functionDepth: 1
    functionLinenumber: 877
    functionLinenumberEnd: 887
    functionName: default_subclass_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_copy_alpha_hl_color(gx_device *dev, const byte
      *data, int data_x,\n    int raster, gx_bitmap_id id, int x, int y, int width,
      int height,\n    const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:892,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 895
    functionName: default_subclass_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_process_page(gx_device *dev, gx_process_page_options_t
      *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 906
    functionName: default_subclass_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int default_subclass_fill_stroke_path(gx_device *dev, const gs_gstate
      *pgs, gx_path *ppath,\n        const gx_fill_params *fill_params, const gx_drawing_color
      *pdcolor_fill,\n        const gx_stroke_params *stroke_params, const gx_drawing_color
      *pdcolor_stroke,\n        const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 914
    functionName: default_subclass_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int default_subclass_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:922,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:922,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:925,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:928,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:932,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:935,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:942,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevsclass.c:944,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 945
    functionName: default_subclass_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevsclass.c
    functionUses: 0
    functionsReached:
    - gs_free_const_object
    - gs_closedevice
    - gx_device*::finalize
    - discard
    - rc_decrement
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void default_subclass_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: uid_is_valid
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_is_valid(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: uid_set_invalid
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_set_invalid(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: uid_is_UniqueID
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_is_UniqueID(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: uid_is_XUID
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_is_XUID(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - puid
    - ','
    - idv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: uid_set_UniqueID
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_set_UniqueID(puid, idv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - puid
    - ','
    - pvalues
    - ','
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: uid_set_XUID
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_set_XUID(puid, pvalues, siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: uid_XUID_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_XUID_size(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - puid
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: uid_XUID_values
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_XUID_values(puid)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - puid
    - ','
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: uid_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsuid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uid_free(puid, mem, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: bits_left
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bits_left
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: s_hce_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_hce_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: s_hcd_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_hcd_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: hce_entry
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hce_entry(c, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: hce_bits_available
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hce_bits_available(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - clen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 112
    functionName: hc_print_value
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_print_value(code, clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - clen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: hc_print_value_then
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_print_value_then(code, clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - clen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: hc_print_value
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_print_value(code, clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: hc_print_code
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_print_code(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: hce_load_state
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hce_load_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: hce_store_state
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hce_store_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ss
    - ','
    - q
    - ','
    - code
    - ','
    - clen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 145
    functionName: hc_put_value
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_put_value(ss, q, code, clen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ss
    - ','
    - q
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: hc_put_code
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_put_code(ss, q, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ss
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: hc_put_last_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hc_put_last_bits(ss, q)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: hcd_load_state
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_load_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: hcd_store_state
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_store_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: hcd_bits_available
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_bits_available(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: HCD_ENSURE_BITS_ELSE
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HCD_ENSURE_BITS_ELSE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - outl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: hcd_ensure_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_ensure_bits(n, outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - outl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: hcd_more_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_more_bits(outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: hcd_peek_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_peek_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: hcd_peek_var_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_peek_var_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: hcd_peek_bits_left
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_peek_bits_left()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: hcd_skip_bits
    functionSourceFile: /src/libspectre/ghostscript/base/shc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hcd_skip_bits(n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sbcp.c:47,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - st
    - pr
    - pw
    - last
    - escaped
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: s_xBCPE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: int
    signature: "int s_xBCPE_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last, const byte * escaped)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_xBCPE_process
      Src: /src/libspectre/ghostscript/base/sbcp.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: s_BCPE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached:
    - s_xBCPE_process
    linkageType: ''
    returnType: int
    signature: "int s_BCPE_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_xBCPE_process
      Src: /src/libspectre/ghostscript/base/sbcp.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: s_TBCPE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached:
    - s_xBCPE_process
    linkageType: ''
    returnType: int
    signature: "int s_TBCPE_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 116
    functionName: s_BCPD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_BCPD_init(stream_state * st)
  - BBCount: 32
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 102
    argCount: 5
    argNames:
    - st
    - pr
    - pw
    - last
    - tagged
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 226
    functionName: s_xBCPD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_xBCPD_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last, bool tagged)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_xBCPD_process
      Src: /src/libspectre/ghostscript/base/sbcp.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: s_BCPD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached:
    - s_xBCPD_process
    linkageType: ''
    returnType: int
    signature: "int s_BCPD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_xBCPD_process
      Src: /src/libspectre/ghostscript/base/sbcp.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: s_TBCPD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.c
    functionUses: 0
    functionsReached:
    - s_xBCPD_process
    linkageType: ''
    returnType: int
    signature: "int s_TBCPD_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: force_unit
    functionSourceFile: /src/libspectre/ghostscript/base/gshsb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: force_unit(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_hsb_to_rgb
      Src: /src/libspectre/ghostscript/base/gshsb.c:36,1
    - Dst: force_unit
      Src: /src/libspectre/ghostscript/base/gshsb.c:36,1
    - Dst: force_unit
      Src: /src/libspectre/ghostscript/base/gshsb.c:36,1
    - Dst: force_unit
      Src: /src/libspectre/ghostscript/base/gshsb.c:36,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gshsb.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pgs
    - h
    - s
    - b
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 38
    functionName: gs_sethsbcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gshsb.c
    functionUses: 0
    functionsReached:
    - force_unit
    - color_hsb_to_rgb
    - gs_setrgbcolor
    linkageType: ''
    returnType: int
    signature: int gs_sethsbcolor(gs_gstate * pgs, double h, double s, double b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentrgbcolor
      Src: /src/libspectre/ghostscript/base/gshsb.c:46,1
    - Dst: color_rgb_to_hsb
      Src: /src/libspectre/ghostscript/base/gshsb.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - pr3
    argTypes:
    - gs_gstate*
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: gs_currenthsbcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gshsb.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_hsb
    - gs_currentrgbcolor
    linkageType: ''
    returnType: int
    signature: int gs_currenthsbcolor(const gs_gstate * pgs, float pr3[3])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:60,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:60,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:60,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gshsb.c:90,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - r
    - g
    - b
    - hsb
    argTypes:
    - double
    - double
    - double
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 95
    functionName: color_rgb_to_hsb
    functionSourceFile: /src/libspectre/ghostscript/base/gshsb.c
    functionUses: 1
    functionsReached:
    - frac2float
    - float2frac
    linkageType: ''
    returnType: void
    signature: void color_rgb_to_hsb(double r, double g, double b, float hsb[3])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:107,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:108,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshsb.c:110,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gshsb.c:150,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gshsb.c:151,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gshsb.c:152,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gshsb.c:155,1
    - Dst: dlprintf7
      Src: /src/libspectre/ghostscript/base/gshsb.c:156,1
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gshsb.c:158,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 4
    argNames:
    - hue
    - saturation
    - brightness
    - rgb
    argTypes:
    - double
    - double
    - double
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 164
    functionName: color_hsb_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gshsb.c
    functionUses: 1
    functionsReached:
    - dlprintf7
    - gs_debug_c
    - dlprintf6
    - frac2float
    - float2frac
    linkageType: ''
    returnType: void
    signature: void color_hsb_to_rgb(double hue, double saturation, double brightness,
      float rgb[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - src
    - count
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: get_integer_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint get_integer_bytes(const byte *src, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_integer_bytes
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - pcmap
    - str
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gs_cmap_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 76
    functionName: identity_decode_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - get_integer_bytes
    linkageType: ''
    returnType: int
    signature: "int identity_decode_next(const gs_cmap_t *pcmap, const gs_const_string
      *str,\n                     uint *pindex, uint *pfidx,\n                     gs_char
      *pchr, gs_glyph *pglyph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:84,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 91
    functionName: identity_next_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int identity_next_range(gs_cmap_ranges_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_ranges_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - pre
    argTypes:
    - gs_cmap_t*
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: identity_enum_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_ranges_enum_setup
    linkageType: ''
    returnType: void
    signature: void identity_enum_ranges(const gs_cmap_t *pcmap, gs_cmap_ranges_enum_t
      *pre)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:109,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:110,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 122
    functionName: identity_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int identity_next_lookup(gs_memory_t *mem, gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: no_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int no_next_lookup(gs_memory_t *mem, gs_cmap_lookups_enum_t *penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:137,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:138,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 145
    functionName: identity_next_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int identity_next_entry(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcmap
    - which
    - pre
    argTypes:
    - gs_cmap_t*
    - int
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 160
    functionName: identity_enum_lookups
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_lookups_enum_setup
    linkageType: ''
    returnType: void
    signature: "void identity_enum_lookups(const gs_cmap_t *pcmap, int which,\n                      gs_cmap_lookups_enum_t
      *pre)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - font_index_only
    argTypes:
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: identity_is_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool identity_is_identity(const gs_cmap_t *pcmap, int font_index_only)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:190,1
    - Dst: gs_cmap_alloc
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:191,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 7
    argNames:
    - ppcmap
    - num_bytes
    - varying_bytes
    - return_code
    - cmap_name
    - wmode
    - mem
    argTypes:
    - gs_cmap_t**
    - int
    - int
    - int
    - char*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 201
    functionName: gs_cmap_identity_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_cmap_alloc
    - strlen
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_identity_alloc(gs_cmap_t **ppcmap, int num_bytes, int
      varying_bytes,\n                       int return_code, const char *cmap_name,
      int wmode,\n                       gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_identity_alloc
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppcmap
    - num_bytes
    - wmode
    - mem
    argTypes:
    - gs_cmap_t**
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 209
    functionName: gs_cmap_create_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_identity_alloc
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_create_identity(gs_cmap_t **ppcmap, int num_bytes, int
      wmode,\n                        gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_identity_alloc
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppcmap
    - num_bytes
    - wmode
    - mem
    argTypes:
    - gs_cmap_t**
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: gs_cmap_create_char_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_identity_alloc
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_create_char_identity(gs_cmap_t **ppcmap, int num_bytes,
      int wmode,\n                             gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_t*::procs::is_identity
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - font_index_only
    argTypes:
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: gs_cmap_is_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_t*::procs::is_identity
    linkageType: ''
    returnType: int
    signature: int gs_cmap_is_identity(const gs_cmap_t *pcmap, int font_index_only)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_t*::procs::decode_next
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pcmap
    - str
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gs_cmap_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 242
    functionName: gs_cmap_decode_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_t*::procs::decode_next
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_decode_next(const gs_cmap_t *pcmap, const gs_const_string
      *str,\n                    uint *pindex, uint *pfidx,\n                    gs_char
      *pchr, gs_glyph *pglyph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_t*::procs::enum_ranges
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - penum
    argTypes:
    - gs_cmap_t*
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: gs_cmap_ranges_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 2
    functionsReached:
    - gs_cmap_t*::procs::enum_ranges
    linkageType: ''
    returnType: void
    signature: void gs_cmap_ranges_enum_init(const gs_cmap_t *pcmap, gs_cmap_ranges_enum_t
      *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_ranges_enum_t*::procs::next_range
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: gs_cmap_enum_next_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 2
    functionsReached:
    - gs_cmap_ranges_enum_t*::procs::next_range
    linkageType: ''
    returnType: int
    signature: int gs_cmap_enum_next_range(gs_cmap_ranges_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_t*::procs::enum_lookups
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcmap
    - which
    - penum
    argTypes:
    - gs_cmap_t*
    - int
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: gs_cmap_lookups_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_t*::procs::enum_lookups
    linkageType: ''
    returnType: void
    signature: "void gs_cmap_lookups_enum_init(const gs_cmap_t *pcmap, int which,\n
      \                         gs_cmap_lookups_enum_t *penum)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_t*::procs::next_lookup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: gs_cmap_enum_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_lookups_enum_t*::procs::next_lookup
    linkageType: ''
    returnType: int
    signature: int gs_cmap_enum_next_lookup(gs_memory_t *mem, gs_cmap_lookups_enum_t
      *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_t*::procs::next_entry
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 280
    functionName: gs_cmap_enum_next_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_lookups_enum_t*::procs::next_entry
    linkageType: ''
    returnType: int
    signature: int gs_cmap_enum_next_entry(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:293,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:297,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - pcmap
    - num_fonts
    argTypes:
    - gs_memory_t*
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 300
    functionName: gs_cmap_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memset
    - uid_set_invalid
    - gs_next_ids
    linkageType: ''
    returnType: void
    signature: void gs_cmap_init(const gs_memory_t *mem, gs_cmap_t *pcmap, int num_fonts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:312,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:314,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:319,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:320,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:321,1
    - Dst: gs_cmap_init
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:323,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:328,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 9
    argNames:
    - ppcmap
    - pstype
    - wmode
    - map_name
    - name_size
    - pcidsi_in
    - num_fonts
    - procs
    - mem
    argTypes:
    - gs_cmap_t**
    - gs_memory_struct_type_t*
    - int
    - byte*
    - uint
    - gs_cid_system_info_t*
    - int
    - gs_cmap_procs_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 340
    functionName: gs_cmap_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 2
    functionsReached:
    - gs_alloc_struct_array
    - gs_cmap_init
    - gs_alloc_struct
    - memcpy
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_alloc(gs_cmap_t **ppcmap, const gs_memory_struct_type_t
      *pstype,\n              int wmode, const byte *map_name, uint name_size,\n              const
      gs_cid_system_info_t *pcidsi_in, int num_fonts,\n              const gs_cmap_procs_t
      *procs, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:344,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcmap
    - mem
    argTypes:
    - gs_cmap_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 347
    functionName: gs_cmap_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_cmap_free(gs_cmap_t *pcmap, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pcmap
    - procs
    argTypes:
    - gs_cmap_ranges_enum_t*
    - gs_cmap_t*
    - gs_cmap_ranges_enum_procs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: gs_cmap_ranges_enum_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_cmap_ranges_enum_setup(gs_cmap_ranges_enum_t *penum,\n                          const
      gs_cmap_t *pcmap,\n                          const gs_cmap_ranges_enum_procs_t
      *procs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pcmap
    - procs
    argTypes:
    - gs_cmap_lookups_enum_t*
    - gs_cmap_t*
    - gs_cmap_lookups_enum_procs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: gs_cmap_lookups_enum_setup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_cmap_lookups_enum_setup(gs_cmap_lookups_enum_t *penum,\n                           const
      gs_cmap_t *pcmap,\n                           const gs_cmap_lookups_enum_procs_t
      *procs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:386,1
    - Dst: gs_cmap_lookups_enum_init
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:389,1
    - Dst: gs_cmap_enum_next_lookup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:390,1
    - Dst: gs_cmap_enum_next_entry
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:395,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:408,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - pcmap
    - font_index_only
    argTypes:
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 414
    functionName: gs_cmap_compute_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_lookups_enum_init
    - bytes_compare
    - gs_cmap_enum_next_lookup
    - memcmp
    - gs_cmap_enum_next_entry
    linkageType: ''
    returnType: bool
    signature: bool gs_cmap_compute_identity(const gs_cmap_t *pcmap, int font_index_only)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:436,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    functionName: gs_cmap_ToUnicode_next_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_next_range(gs_cmap_ranges_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pcmap
    - str
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gs_cmap_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 455
    functionName: gs_cmap_ToUnicode_decode_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_ToUnicode_decode_next(const gs_cmap_t *pcmap, const gs_const_string
      *str,\n                     uint *pindex, uint *pfidx,\n                     gs_char
      *pchr, gs_glyph *pglyph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_ranges_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - pre
    argTypes:
    - gs_cmap_t*
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: gs_cmap_ToUnicode_enum_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_ranges_enum_setup
    linkageType: ''
    returnType: void
    signature: void gs_cmap_ToUnicode_enum_ranges(const gs_cmap_t *pcmap, gs_cmap_ranges_enum_t
      *pre)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 478
    functionName: gs_cmap_ToUnicode_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_next_lookup(gs_memory_t *mem, gs_cmap_lookups_enum_t
      *penum)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:521,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 524
    functionName: gs_cmap_ToUnicode_next_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_next_entry(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcmap
    - which
    - pre
    argTypes:
    - gs_cmap_t*
    - int
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 537
    functionName: gs_cmap_ToUnicode_enum_lookups
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached:
    - gs_cmap_lookups_enum_setup
    linkageType: ''
    returnType: void
    signature: "void gs_cmap_ToUnicode_enum_lookups(const gs_cmap_t *pcmap, int which,\n
      \                     gs_cmap_lookups_enum_t *pre)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - font_index_only
    argTypes:
    - gs_cmap_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: gs_cmap_ToUnicode_is_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_cmap_ToUnicode_is_identity(const gs_cmap_t *pcmap, int font_index_only)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:569,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:571,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:572,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:574,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:576,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:577,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:578,1
    - Dst: gs_cmap_alloc
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:580,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:584,1
    - Dst: gs_cmap_free
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:588,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:589,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:591,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 6
    argNames:
    - mem
    - id
    - num_codes
    - key_size
    - value_size
    - ppcmap
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - gs_cmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 602
    functionName: gs_cmap_ToUnicode_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_alloc_string
    - gs_cmap_free
    - gs_alloc_bytes
    - strlen
    - gs_cmap_alloc
    - gs_sprintf
    - memcpy
    - memset
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_alloc(gs_memory_t *mem, int id, int num_codes,
      int key_size, int value_size, gs_cmap_t **ppcmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:606,1
    - Dst: gs_cmap_free
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - pcmap
    argTypes:
    - gs_memory_t*
    - gs_cmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 609
    functionName: gs_cmap_ToUnicode_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_cmap_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_free(gs_memory_t *mem, gs_cmap_t *pcmap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:625,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:630,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:633,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:636,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:640,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - mem
    - new_value_size
    - ppcmap
    argTypes:
    - gs_memory_t*
    - int
    - gs_cmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 644
    functionName: gs_cmap_ToUnicode_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - memset
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_cmap_ToUnicode_realloc(gs_memory_t *mem, int new_value_size,
      gs_cmap_t **ppcmap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap.c:662,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pcmap
    - code0
    - u
    - length
    argTypes:
    - gs_cmap_t*
    - int
    - ushort*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 669
    functionName: gs_cmap_ToUnicode_add_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void gs_cmap_ToUnicode_add_pair(gs_cmap_t *pcmap, int code0, ushort
      *u, unsigned int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_SUPER_ELT
      Src: /src/libspectre/ghostscript/base/gsptype2.c:42,1
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gsptype2.c:47,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gsptype2.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: ENUM_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_OBJ
    - ENUM_SUPER_ELT
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN(pattern2_instance_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gsptype2.c:53,1
    - Dst: RELOC_SUPER
      Src: /src/libspectre/ghostscript/base/gsptype2.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - RELOC_SUPER
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(pattern2_instance_reloc_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pattern_common_init
      Src: /src/libspectre/ghostscript/base/gsptype2.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppat
    argTypes:
    - gs_pattern2_template_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: gs_pattern2_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gs_pattern_common_init
    linkageType: ''
    returnType: void
    signature: void gs_pattern2_init(gs_pattern2_template_t * ppat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptemp
    argTypes:
    - gs_pattern_template_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: gs_pattern2_uses_base_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_pattern2_uses_base_space(const gs_pattern_template_t *ptemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_pattern_common
      Src: /src/libspectre/ghostscript/base/gsptype2.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - pcc
    - pcp
    - pmat
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gs_pattern_template_t*
    - gs_matrix*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 104
    functionName: gs_pattern2_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gs_make_pattern_common
    linkageType: ''
    returnType: int
    signature: "int gs_pattern2_make_pattern(gs_client_color * pcc,\n                         const
      gs_pattern_template_t * pcp,\n                         const gs_matrix * pmat,
      gs_gstate * pgs,\n                         gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pinst
    argTypes:
    - gs_pattern_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: gs_pattern2_get_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_pattern_template_t
    signature: 'gs_pattern_template_t *

      gs_pattern2_get_pattern(const gs_pattern_instance_t *pinst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype2.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcc
    argTypes:
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: gs_pattern2_set_shfill
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_pattern2_set_shfill(gs_client_color * pcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: gx_dc_is_pattern2_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_is_pattern2_color(const gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gx_dc_pattern2_get_dev_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_halftone
    signature: 'gx_device_halftone *

      gx_dc_pattern2_get_dev_halftone(const gx_device_color * pdevc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - ignore_pgs
    - ignore_dev
    - ignore_select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 176
    functionName: gx_dc_pattern2_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern2_load(gx_device_color *pdevc, const gs_gstate *ignore_pgs,\n
      \                   gx_device *ignore_dev, gs_color_select_t ignore_select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 189
    functionName: gs_pattern2_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gs_pattern2_remap_color(const gs_client_color * pc, const gs_color_space
      * pcs,\n                        gx_device_color * pdc, const gs_gstate * pgs,\n
      \                       gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::set_overprint
      Src: /src/libspectre/ghostscript/base/gsptype2.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pcc
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: gs_pattern2_set_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gs_color_space*::type::set_overprint
    linkageType: ''
    returnType: int
    signature: int gs_pattern2_set_color(const gs_client_color * pcc, gs_gstate *
      pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype2.c:233,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype2.c:236,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:242,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:243,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:244,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:245,1
    - Dst: gs_shading_do_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gsptype2.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 249
    functionName: gx_dc_pattern2_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - int2fixed
    - gs_shading_do_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern2_fill_rectangle(const gx_device_color * pdevc, int
      x, int y,\n                              int w, int h, gx_device * dev,\n                              gs_logical_operation_t
      lop,\n                              const gx_rop_source_t * source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 258
    functionName: gx_dc_pattern2_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_pattern2_equal(const gx_device_color * pdevc1,\n                     const
      gx_device_color * pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 278
    functionName: gx_dc_pattern2_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_dc_pattern2_save_dc(\n    const gx_device_color * pdevc,\n
      \   gx_device_color_saved * psdc )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsptype2.c:287,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype2.c:287,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:290,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:291,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:292,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - rect
    - pgs
    - rfixed
    argTypes:
    - gs_rect*
    - gs_gstate*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 296
    functionName: gx_dc_pattern2_shade_bbox_transform2fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - ctm_only
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern2_shade_bbox_transform2fixed(const gs_rect * rect,
      const gs_gstate * pgs,\n                           gs_fixed_rect * rfixed)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_pattern2_shade_bbox_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pdevc
    - bbox
    argTypes:
    - gx_device_color*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 313
    functionName: gx_dc_pattern2_get_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 1
    functionsReached:
    - gx_dc_pattern2_shade_bbox_transform2fixed
    linkageType: ''
    returnType: int
    signature: int gx_dc_pattern2_get_bbox(const gx_device_color * pdevc, gs_fixed_rect
      *bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 322
    functionName: gx_dc_pattern2_color_has_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_dc_pattern2_color_has_bbox(const gx_device_color * pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype2.c:332,1
    - Dst: gs_shading_path_add_box
      Src: /src/libspectre/ghostscript/base/gsptype2.c:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppath
    - pdevc
    argTypes:
    - gx_path*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 338
    functionName: gx_dc_shading_path_add_box
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_shading_path_add_box
    linkageType: ''
    returnType: int
    signature: int gx_dc_shading_path_add_box(gx_path *ppath, const gx_device_color
      * pdevc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gsptype2.c:345,1
    - Dst: gx_dc_pattern2_color_has_bbox
      Src: /src/libspectre/ghostscript/base/gsptype2.c:345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype2.c:346,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gsptype2.c:352,1
    - Dst: gx_dc_shading_path_add_box
      Src: /src/libspectre/ghostscript/base/gsptype2.c:353,1
    - Dst: gx_cpath_init_local_shared
      Src: /src/libspectre/ghostscript/base/gsptype2.c:357,1
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gsptype2.c:358,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gsptype2.c:360,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gsptype2.c:366,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - pdevc
    - pdev
    - cpath_local
    - ppcpath1
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_clip_path*
    - gx_clip_path**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 341
    functionDepth: 2
    functionLinenumber: 341
    functionLinenumberEnd: 369
    functionName: gx_dc_pattern2_clip_with_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_dc_is_pattern2_color
    - gx_dc_shading_path_add_box
    - gx_cpath_intersect
    - gx_cpath_init_local_shared
    - gx_path_init_local
    - gx_dc_pattern2_color_has_bbox
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern2_clip_with_bbox(const gx_device_color * pdevc, gx_device
      * pdev,\n                              gx_clip_path *cpath_local, const gx_clip_path
      **ppcpath1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gsptype2.c:378,1
    - Dst: gx_dc_pattern2_color_has_bbox
      Src: /src/libspectre/ghostscript/base/gsptype2.c:378,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype2.c:379,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gsptype2.c:384,1
    - Dst: gx_dc_shading_path_add_box
      Src: /src/libspectre/ghostscript/base/gsptype2.c:385,1
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gsptype2.c:390,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gsptype2.c:392,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - pdevc
    - pdev
    - cpath_local
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 395
    functionName: gx_dc_pattern2_clip_with_bbox_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_dc_is_pattern2_color
    - gx_dc_shading_path_add_box
    - gx_cpath_intersect
    - gx_path_init_local
    - gx_dc_pattern2_color_has_bbox
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern2_clip_with_bbox_simple(const gx_device_color * pdevc,
      gx_device * pdev,\n                              gx_clip_path *cpath_local)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gsptype2.c:401,1
    - Dst: gx_dc_pattern2_color_has_bbox
      Src: /src/libspectre/ghostscript/base/gsptype2.c:401,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype2.c:402,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsptype2.c:407,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype2.c:407,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:409,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsptype2.c:413,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - pdevc
    - pdev
    - rect
    argTypes:
    - gx_device_color*
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 429
    functionName: gx_dc_pattern2_is_rectangular_cell
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - gx_dc_is_pattern2_color
    - ctm_only
    - is_xxyy
    - gx_dc_pattern2_color_has_bbox
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_dc_pattern2_is_rectangular_cell(const gx_device_color * pdevc,
      gx_device * pdev, gs_fixed_rect *rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: gx_dc_pattern2_get_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gx_dc_pattern2_get_color_space(const gx_device_color * pdevc)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 457
    functionName: gx_dc_pattern2_can_overlap
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_pattern2_can_overlap(const gx_device_color *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: gx_dc_pattern2_has_background
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_pattern2_has_background(const gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gp_stdin.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - len
    - interactive
    - f
    argTypes:
    - char*
    - int
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: gp_stdin_read
    functionSourceFile: /src/libspectre/ghostscript/base/gp_stdin.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: int
    signature: int gp_stdin_read(char *buf, int len, int interactive, FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfinp.c:28,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 30
    functionName: ttfReader__Byte
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader*::Read
    linkageType: ''
    returnType: unsigned char
    signature: unsigned char ttfReader__Byte(ttfReader *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfinp.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: ttfReader__SignedByte
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader*::Read
    linkageType: ''
    returnType: signed char
    signature: signed char ttfReader__SignedByte(ttfReader *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfinp.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 44
    functionName: ttfReader__Short
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader*::Read
    linkageType: ''
    returnType: signed short
    signature: signed short ttfReader__Short(ttfReader *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfinp.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: ttfReader__UShort
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader*::Read
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short ttfReader__UShort(ttfReader *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfinp.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 59
    functionName: ttfReader__UInt
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader*::Read
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ttfReader__UInt(ttfReader *r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfinp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - r
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: ttfReader__Int
    functionSourceFile: /src/libspectre/ghostscript/base/ttfinp.c
    functionUses: 0
    functionsReached:
    - ttfReader__UInt
    linkageType: ''
    returnType: signed int
    signature: signed int ttfReader__Int(ttfReader *r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxiscale.c:88,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:92,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxiscale.c:94,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxiscale.c:97,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gxiscale.c:98,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxiscale.c:101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 106
    functionName: is_high_level_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_c_param_list_release
    - param_read_bool
    - gs_c_param_list_read
    - gs_c_param_list_write
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool is_high_level_device(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxiscale.c:118,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:122,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxiscale.c:124,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxiscale.c:127,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gxiscale.c:128,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxiscale.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 136
    functionName: device_allows_imagemask_interpolation
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_c_param_list_release
    - param_read_bool
    - gs_c_param_list_read
    - gs_c_param_list_write
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool device_allows_imagemask_interpolation(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: DC_IS_NULL
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_IS_NULL(pdc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxiscale.c:148,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:151,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:152,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:153,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:156,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gxiscale.c:159,1
    - Dst: gx_dc_is_devn
      Src: /src/libspectre/ghostscript/base/gxiscale.c:163,1
    - Dst: device_allows_imagemask_interpolation
      Src: /src/libspectre/ghostscript/base/gxiscale.c:170,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 174
    functionName: mask_suitable_for_interpolation
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gx_device_must_halftone
    - gx_dc_is_pure
    - device_allows_imagemask_interpolation
    - gx_color_load
    - gx_dc_is_devn
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int mask_suitable_for_interpolation(gx_image_enum *penum)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:193,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:193,1
    - Dst: mask_suitable_for_interpolation
      Src: /src/libspectre/ghostscript/base/gxiscale.c:202,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:222,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:222,1
    - Dst: cs_polarity
      Src: /src/libspectre/ghostscript/base/gxiscale.c:241,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:261,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxiscale.c:266,1
    - Dst: gx_device_uses_std_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:275,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:296,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:296,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:318,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:319,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:320,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:322,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:324,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:326,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:328,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:329,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:330,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:332,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:335,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:337,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:339,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:341,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:343,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:347,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:351,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:352,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:353,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:355,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:357,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:359,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:361,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:362,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:363,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:365,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:368,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:370,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:372,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:374,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:376,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:381,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:394,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxiscale.c:395,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:414,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:418,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:431,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:439,1
    - Dst: round_up
      Src: /src/libspectre/ghostscript/base/gxiscale.c:502,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:510,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:517,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/base/gxiscale.c:521,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxiscale.c:526,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxiscale.c:527,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxiscale.c:542,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:543,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:543,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:544,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxiscale.c:554,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:554,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxiscale.c:555,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxiscale.c:562,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxiscale.c:563,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:565,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:583,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxiscale.c:600,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxiscale.c:612,1
    - Dst: gx_has_transfer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:614,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gxiscale.c:616,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 259
    argCount: 2
    argNames:
    - penum
    - render_fn
    argTypes:
    - gx_image_enum*
    - irender_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 176
    functionDepth: 3
    functionLinenumber: 176
    functionLinenumberEnd: 634
    functionName: gs_image_class_0_interpolate
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gx_has_transfer
    - gs_color_space_is_PSCIE
    - gs_alloc_bytes
    - s_alloc_state
    - max
    - dda_current
    - gsicc_get_link
    - cs_num_components
    - gsicc_get_device_profile_comps
    - dda_init
    - dda_advance
    - cs_polarity
    - fixed2int_pixround_perfect
    - gs_free_object
    - round_up
    - gx_device_must_halftone
    - fixed2int_pixround
    - dev_proc
    - if_debug0m
    - any_abs
    - gx_device_uses_std_cmap_procs
    - fabs
    - mask_suitable_for_interpolation
    linkageType: ''
    returnType: int
    signature: int gs_image_class_0_interpolate(gx_image_enum * penum, irender_proc_t
      *render_fn)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_is_CIE
      Src: /src/libspectre/ghostscript/base/gxiscale.c:655,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxiscale.c:710,1
    - Dst: decode_sample
      Src: /src/libspectre/ghostscript/base/gxiscale.c:734,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:735,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:795,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:818,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxiscale.c:823,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:841,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:845,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:851,1
    - Dst: gs_cspace_indexed_lookup_frac
      Src: /src/libspectre/ghostscript/base/gxiscale.c:877,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 107
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - h
    - stream_r
    - is_icc
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - int
    - stream_cursor_read*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 641
    functionDepth: 2
    functionLinenumber: 641
    functionLinenumberEnd: 886
    functionName: initial_decode
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - float_color_to_byte_color
    - decode_sample
    - dmprintf2
    - gs_color_space_is_CIE
    - gs_cspace_indexed_lookup_bytes
    - memcpy
    - gs_cspace_indexed_lookup_frac
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: "void initial_decode(gx_image_enum * penum, const byte * buffer, int
      data_x, int h,\n               stream_cursor_read *stream_r, bool is_icc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 898
    functionName: handle_device_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int handle_device_color(gx_image_enum *penum, const frac *psrc,\n
      \                   gx_device_color *devc, gx_device *dev,\n                    const
      cmm_dev_profile_t *dev_profile,\n                    const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:920,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:921,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:922,1
    - Dst: gx_remap_ICC_imagelab
      Src: /src/libspectre/ghostscript/base/gxiscale.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 911
    functionDepth: 1
    functionLinenumber: 911
    functionLinenumberEnd: 927
    functionName: handle_labicc_color8
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - decode_sample_frac_to_float
    - gx_remap_ICC_imagelab
    linkageType: ''
    returnType: int
    signature: "int handle_labicc_color8(gx_image_enum *penum, const frac *psrc,\n
      \                    gx_device_color *devc, gx_device *dev,\n                     const
      cmm_dev_profile_t *dev_profile,\n                     const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:938,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:939,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:940,1
    - Dst: gx_remap_ICC_imagelab
      Src: /src/libspectre/ghostscript/base/gxiscale.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: handle_labicc_color16
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - decode_sample_frac_to_float
    - gx_remap_ICC_imagelab
    linkageType: ''
    returnType: int
    signature: "int handle_labicc_color16(gx_image_enum *penum, const frac *psrc,\n
      \                     gx_device_color *devc, gx_device *dev,\n                      const
      cmm_dev_profile_t *dev_profile,\n                      const gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:956,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:957,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 964
    functionName: handle_lab_color8
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - decode_sample_frac_to_float
    linkageType: ''
    returnType: int
    signature: "int handle_lab_color8(gx_image_enum *penum, const frac *psrc,\n                  gx_device_color
      *devc, gx_device *dev,\n                  const cmm_dev_profile_t *dev_profile,\n
      \                 const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:975,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:976,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 966
    functionDepth: 1
    functionLinenumber: 966
    functionLinenumberEnd: 983
    functionName: handle_lab_color16
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - decode_sample_frac_to_float
    linkageType: ''
    returnType: int
    signature: "int handle_lab_color16(gx_image_enum *penum, const frac *psrc,\n                   gx_device_color
      *devc, gx_device *dev,\n                   const cmm_dev_profile_t *dev_profile,\n
      \                  const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:994,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:999,1
    - Dst: gx_remap_ICC_imagelab
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1004
    functionName: handle_labicc_color2_idx
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - frac2float
    - gx_remap_ICC_imagelab
    linkageType: ''
    returnType: int
    signature: "int handle_labicc_color2_idx(gx_image_enum *penum, const frac *psrc,\n
      \                        gx_device_color *devc, gx_device *dev,\n                         const
      cmm_dev_profile_t *dev_profile,\n                         const gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1015,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1022
    functionName: handle_remap_color_idx
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - frac2float
    linkageType: ''
    returnType: int
    signature: "int handle_remap_color_idx(gx_image_enum *penum, const frac *psrc,\n
      \                      gx_device_color *devc, gx_device *dev,\n                       const
      cmm_dev_profile_t *dev_profile,\n                       const gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1033,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1036,1
    - Dst: gx_remap_ICC_imagelab
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1039,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1024
    functionDepth: 2
    functionLinenumber: 1024
    functionLinenumberEnd: 1041
    functionName: handle_labicc_color2
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - decode_sample_frac_to_float
    - gx_remap_ICC_imagelab
    linkageType: ''
    returnType: int
    signature: "int handle_labicc_color2(gx_image_enum *penum, const frac *psrc,\n
      \                    gx_device_color *devc, gx_device *dev,\n                     const
      cmm_dev_profile_t *dev_profile,\n                     const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1052,1
    - Dst: decode_sample_frac_to_float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - penum
    - psrc
    - devc
    - dev
    - dev_profile
    - pcs
    argTypes:
    - gx_image_enum*
    - frac*
    - gx_device_color*
    - gx_device*
    - cmm_dev_profile_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1043
    functionDepth: 2
    functionLinenumber: 1043
    functionLinenumberEnd: 1059
    functionName: handle_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - decode_sample_frac_to_float
    linkageType: ''
    returnType: int
    signature: "int handle_remap_color(gx_image_enum *penum, const frac *psrc,\n                   gx_device_color
      *devc, gx_device *dev,\n                   const cmm_dev_profile_t *dev_profile,\n
      \                  const gs_color_space *pcs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_is_default_profile
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1087,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1089,1
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1099,1
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1106,1
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1113,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 27
    argCount: 5
    argNames:
    - penum
    - spp_decode
    - islab
    - dev_profile
    - pconc
    argTypes:
    - gx_image_enum*
    - int
    - bool
    - cmm_dev_profile_t*
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1120
    functionName: get_color_handler
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - gs_color_space_is_ICC
    - gsicc_is_default_profile
    - cs_concrete_space
    linkageType: ''
    returnType: color_handler_fn
    signature: "color_handler_fn *\nget_color_handler(gx_image_enum *penum, int spp_decode,\n
      \                 bool islab, const cmm_dev_profile_t *dev_profile,\n                  const
      gs_color_space **pconc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1127,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1130,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - delta_x
    - pss
    argTypes:
    - int
    - stream_image_scale_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1134
    functionName: interpolate_scaled_expanded_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    linkageType: ''
    returnType: int
    signature: int interpolate_scaled_expanded_width(int delta_x, stream_image_scale_state
      *pss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1141,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1144,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - delta_y
    - pss
    argTypes:
    - int
    - stream_image_scale_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1148
    functionName: interpolate_scaled_expanded_height
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    linkageType: ''
    returnType: int
    signature: int interpolate_scaled_expanded_height(int delta_y, stream_image_scale_state
      *pss)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1166,1
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1175,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1188,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1210,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1221,1
    - Dst: interpolate_scaled_expanded_height
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1229,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1230,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1236,1
    - Dst: get_color_handler
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1241,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1245,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1249,1
    - Dst: color_handler
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1253,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1257,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1262,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1272,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1273,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1277,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1282,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1283,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1294,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1298,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1303,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1304,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1317,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1318,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1321,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1322,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1327,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1328,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1342,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1345,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1346,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1351,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1358,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1360,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1372,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1379,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1414,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1420,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1421,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1425,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1426,1
    - Dst: sample_store_skip_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1429,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1436,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1438,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1448,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1461,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1464,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 211
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1471
    functionName: image_render_interpolate
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - max
    - sample_store_next64
    - color_is_pure
    - dda_current
    - color_handler
    - gs_debug_c
    - sample_store_flush
    - dda_advance
    - initial_decode
    - interpolate_scaled_expanded_height
    - sample_store_skip_next
    - dda_next
    - dev_proc
    - if_debug0m
    - dmprintf2
    - get_color_handler
    - interpolate_scaled_expanded_width
    - gx_fill_rectangle_device_rop
    - return_error
    - bitmap_raster
    - sample_store_next32
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate(gx_image_enum * penum, const byte * buffer,\n
      \                        int data_x, uint iw, int h, gx_device * dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1484,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1495,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1517,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1524,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1527,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1535,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1473
    functionDepth: 3
    functionLinenumber: 1473
    functionLinenumberEnd: 1542
    functionName: image_render_interpolate_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - initial_decode
    - return_error
    - bitmap_raster
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_masked(gx_image_enum * penum, const byte
      * buffer,\n                                int data_x, uint iw, int h, gx_device
      * dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1554,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1565,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1587,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1594,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1597,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1605,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1544
    functionDepth: 3
    functionLinenumber: 1544
    functionLinenumberEnd: 1612
    functionName: image_render_interpolate_masked_hl
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - initial_decode
    - return_error
    - bitmap_raster
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_masked_hl(gx_image_enum * penum, const
      byte * buffer,\n                                   int data_x, uint iw, int
      h, gx_device * dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmap_transfer_halftone
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1623,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1627,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1630,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - penum
    - p_cm_interp
    - devc
    - color
    - dev
    argTypes:
    - gx_image_enum*
    - unsigned short*
    - gx_device_color*
    - gx_color_index*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1614
    functionDepth: 1
    functionLinenumber: 1614
    functionLinenumberEnd: 1632
    functionName: get_device_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - cmap_transfer_halftone
    - dev_proc
    linkageType: ''
    returnType: void
    signature: 'void get_device_color(gx_image_enum * penum, unsigned short *p_cm_interp,

      gx_device_color *devc, gx_color_index *color, gx_device * dev)'
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_scaled_expanded_height
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1657,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1658,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1664,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1668,1
    - Dst: get_device_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1673,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1674,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1679,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1689,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1690,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1692,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1693,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1698,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1699,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1709,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1710,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1712,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1713,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1718,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1719,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1731,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1732,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1734,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1735,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1740,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1741,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1753,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1754,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1756,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1757,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1762,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1769,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1771,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1783,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1790,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1821,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1827,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1828,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1832,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1833,1
    - Dst: sample_store_skip_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1836,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1843,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1845,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1855,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 168
    argCount: 12
    argNames:
    - penum
    - xo
    - xe
    - spp_cm
    - p_cm_interp
    - dev
    - abs_interp_limit
    - bpp
    - raster
    - yo
    - dy
    - lop
    argTypes:
    - gx_image_enum*
    - int
    - int
    - int
    - unsigned short*
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1636
    functionDepth: 2
    functionLinenumber: 1636
    functionLinenumberEnd: 1869
    functionName: irii_inner_template
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - get_device_color
    - gs_debug_c
    - interpolate_scaled_expanded_height
    - gx_fill_rectangle_device_rop
    - sample_store_flush
    - dmprintf2
    - sample_store_skip_next
    - interpolate_scaled_expanded_width
    - sample_store_next64
    - dda_advance
    - color_is_pure
    - return_error
    - dda_current
    - dda_next
    - dev_proc
    - sample_store_next32
    linkageType: ''
    returnType: int
    signature: int irii_inner_template(gx_image_enum * penum, int xo, int xe, int
      spp_cm, unsigned short *p_cm_interp, gx_device *dev, int abs_interp_limit, int
      bpp, int raster, int yo, int dy, gs_logical_operation_t lop)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1885,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1889,1
    - Dst: get_device_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1894,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1895,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1916,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1929,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1938,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 38
    argCount: 12
    argNames:
    - penum
    - xo
    - xe
    - spp_cm
    - p_cm_interp
    - dev
    - abs_interp_limit
    - bpp
    - raster
    - yo
    - dy
    - lop
    argTypes:
    - gx_image_enum*
    - int
    - int
    - int
    - unsigned short*
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1946
    functionName: irii_inner_32bpp_4spp_1abs
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - get_device_color
    - gs_debug_c
    - gx_fill_rectangle_device_rop
    - dmprintf2
    - color_is_pure
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int irii_inner_32bpp_4spp_1abs(gx_image_enum * penum, int xo, int xe,
      int spp_cm, unsigned short *p_cm_interp, gx_device *dev, int abs_interp_limit,
      int bpp, int raster, int yo, int dy, gs_logical_operation_t lop)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1961,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1965,1
    - Dst: get_device_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1970,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1971,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:1990,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2002,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2011,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 12
    argNames:
    - penum
    - xo
    - xe
    - spp_cm
    - p_cm_interp
    - dev
    - abs_interp_limit
    - bpp
    - raster
    - yo
    - dy
    - lop
    argTypes:
    - gx_image_enum*
    - int
    - int
    - int
    - unsigned short*
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2019
      start: 1948
    functionDepth: 2
    functionLinenumber: 1948
    functionLinenumberEnd: 2019
    functionName: irii_inner_24bpp_3spp_1abs
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - get_device_color
    - gs_debug_c
    - gx_fill_rectangle_device_rop
    - dmprintf2
    - color_is_pure
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int irii_inner_24bpp_3spp_1abs(gx_image_enum * penum, int xo, int xe,
      int spp_cm, unsigned short *p_cm_interp, gx_device *dev, int abs_interp_limit,
      int bpp, int raster, int yo, int dy, gs_logical_operation_t lop)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2034,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2038,1
    - Dst: get_device_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2043,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2044,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2059,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2069,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2078,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 12
    argNames:
    - penum
    - xo
    - xe
    - spp_cm
    - p_cm_interp
    - dev
    - abs_interp_limit
    - bpp
    - raster
    - yo
    - dy
    - lop
    argTypes:
    - gx_image_enum*
    - int
    - int
    - int
    - unsigned short*
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2086
      start: 2021
    functionDepth: 2
    functionLinenumber: 2021
    functionLinenumberEnd: 2086
    functionName: irii_inner_8bpp_1spp_1abs
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - get_device_color
    - gs_debug_c
    - gx_fill_rectangle_device_rop
    - dmprintf2
    - color_is_pure
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int irii_inner_8bpp_1spp_1abs(gx_image_enum * penum, int xo, int xe,
      int spp_cm, unsigned short *p_cm_interp, gx_device *dev, int abs_interp_limit,
      int bpp, int raster, int yo, int dy, gs_logical_operation_t lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: irii_inner_template
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - penum
    - xo
    - xe
    - spp_cm
    - p_cm_interp
    - dev
    - abs_interp_limit
    - bpp
    - raster
    - yo
    - dy
    - lop
    argTypes:
    - gx_image_enum*
    - int
    - int
    - int
    - unsigned short*
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2091
      start: 2088
    functionDepth: 3
    functionLinenumber: 2088
    functionLinenumberEnd: 2091
    functionName: irii_inner_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - irii_inner_template
    linkageType: ''
    returnType: int
    signature: int irii_inner_generic(gx_image_enum * penum, int xo, int xe, int spp_cm,
      unsigned short *p_cm_interp, gx_device *dev, int abs_interp_limit, int bpp,
      int raster, int yo, int dy, gs_logical_operation_t lop)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2110,1
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2112,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2126,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2140,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2143,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2162,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2166,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2169,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2184,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2191,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2194,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2204,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2215,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2222,1
    - Dst: irii_core
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2241,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2247,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2249,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2256,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 77
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2261
      start: 2096
    functionDepth: 3
    functionLinenumber: 2096
    functionLinenumberEnd: 2261
    functionName: image_render_interpolate_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_alloc_bytes
    - gs_rethrow
    - gsicc_get_device_profile_comps
    - irii_core
    - initial_decode
    - max
    - gsicc_init_buffer
    - gs_free_object
    - dda_next
    - return_error
    - bitmap_raster
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_icc(gx_image_enum * penum, const byte
      * buffer,\n                         int data_x, uint iw, int h, gx_device *
      dev)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2280,1
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2289,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2319,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2330,1
    - Dst: interpolate_scaled_expanded_height
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2337,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2338,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2345,1
    - Dst: get_color_handler
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2349,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2353,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2357,1
    - Dst: color_handler
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2361,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2402,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2406,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2408,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2409,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2413,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2422,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2425,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 91
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2263
    functionDepth: 3
    functionLinenumber: 2263
    functionLinenumberEnd: 2432
    functionName: image_render_interpolate_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    - if_debug1m
    - gs_debug_c
    - interpolate_scaled_expanded_height
    - dmprintf2
    - get_color_handler
    - max
    - initial_decode
    - interpolate_scaled_expanded_width
    - dda_advance
    - gx_fill_rectangle_device_rop
    - return_error
    - dda_current
    - dda_next
    - dev_proc
    - color_handler
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_landscape(gx_image_enum * penum,\n                                   const
      byte * buffer,\n                                   int data_x, uint iw, int
      h,\n                                   gx_device * dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2449,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2472,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2483,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2490,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2494,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2503,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2434
    functionDepth: 3
    functionLinenumber: 2434
    functionLinenumberEnd: 2510
    functionName: image_render_interpolate_landscape_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - initial_decode
    - max
    - return_error
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_landscape_masked(gx_image_enum * penum,\n
      \                                         const byte * buffer,\n                                          int
      data_x, uint iw, int h,\n                                          gx_device
      * dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2526,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2549,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2560,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2567,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2571,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2580,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2512
    functionDepth: 3
    functionLinenumber: 2512
    functionLinenumberEnd: 2587
    functionName: image_render_interpolate_landscape_masked_hl
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - initial_decode
    - max
    - return_error
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_landscape_masked_hl(gx_image_enum * penum,\n
      \                                            const byte * buffer,\n                                             int
      data_x, uint iw, int h,\n                                             gx_device
      * dev)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2608,1
    - Dst: initial_decode
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2610,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2636,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2641,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2651,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2655,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2658,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2673,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2677,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2680,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2698,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2709,1
    - Dst: interpolate_scaled_expanded_height
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2716,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2717,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2724,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2745,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2749,1
    - Dst: get_device_color
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2754,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2788,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2792,1
    - Dst: interpolate_scaled_expanded_width
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2794,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2795,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2799,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2808,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2811,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2818,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 114
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - iw
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2592
    functionDepth: 3
    functionLinenumber: 2592
    functionLinenumberEnd: 2823
    functionName: image_render_interpolate_landscape_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_alloc_bytes
    - gs_rethrow
    - max
    - dda_current
    - get_device_color
    - gs_debug_c
    - gsicc_get_device_profile_comps
    - gsicc_init_buffer
    - dda_advance
    - initial_decode
    - gs_free_object
    - interpolate_scaled_expanded_height
    - dda_next
    - dev_proc
    - if_debug0m
    - dmprintf2
    - interpolate_scaled_expanded_width
    - gx_fill_rectangle_device_rop
    - return_error
    linkageType: ''
    returnType: int
    signature: "int image_render_interpolate_landscape_icc(gx_image_enum * penum,\n
      \                                      const byte * buffer,\n                                       int
      data_x, uint iw, int h,\n                                       gx_device *
      dev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2835,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2839,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gxiscale.c:2843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - penum
    - sample_value
    - cc
    - i
    argTypes:
    - gx_image_enum*
    - frac
    - gs_client_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2829
    functionDepth: 1
    functionLinenumber: 2829
    functionLinenumberEnd: 2845
    functionName: decode_sample_frac_to_float
    functionSourceFile: /src/libspectre/ghostscript/base/gxiscale.c
    functionUses: 6
    functionsReached:
    - frac2byte
    - frac2float
    linkageType: ''
    returnType: void
    signature: void decode_sample_frac_to_float(gx_image_enum *penum, frac sample_value,
      gs_client_color *cc, int i)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_update_from_subclass
      Src: /src/libspectre/ghostscript/base/gdevprn.c:234,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gdevprn.c:245,1
    - Dst: BACKTRACE
      Src: /src/libspectre/ghostscript/base/gdevprn.c:246,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:250,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:252,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:260,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:268,1
    - Dst: clist_init_io_procs
      Src: /src/libspectre/ghostscript/base/gdevprn.c:269,1
    - Dst: clist_init_params
      Src: /src/libspectre/ghostscript/base/gdevprn.c:270,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:288,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:294,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:297,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:308,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 50
    argCount: 5
    argNames:
    - pdev
    - buffer_memory
    - the_memory
    - space_params
    - bufferSpace_is_exact
    argTypes:
    - gx_device*
    - gs_memory_t*
    - byte**
    - gdev_space_params*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 314
    functionName: gdev_prn_setup_as_command_list
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gx_update_from_subclass
    - clist_init_params
    - gs_resize_object
    - clist_init_io_procs
    - BACKTRACE
    - return_error
    - dmputs
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_setup_as_command_list(gx_device *pdev, gs_memory_t *buffer_memory,\n
      \                              byte **the_memory,\n                               const
      gdev_space_params *space_params,\n                               bool bufferSpace_is_exact)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - first_arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 245
    functionName: BACKTRACE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKTRACE(first_arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gdevprn.c:326,1
    - Dst: prn_finish_bg_print
      Src: /src/libspectre/ghostscript/base/gdevprn.c:334,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:336,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevprn.c:339,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gdevprn.c:342,1
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/base/gdevprn.c:348,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - pdev
    - the_memory
    argTypes:
    - gx_device*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 364
    functionName: gdev_prn_tear_down
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - CLIST_IS_WRITER
    - clist_free_icc_table
    - prn_finish_bg_print
    - PRINTER_IS_CLIST
    - rc_decrement
    - gs_free_object
    linkageType: ''
    returnType: bool
    signature: bool gdev_prn_tear_down(gx_device *pdev, byte **the_memory)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevprn.c:384,1
    - Dst: gdev_prn_tear_down
      Src: /src/libspectre/ghostscript/base/gdevprn.c:388,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevprn.c:420,1
    - Dst: gx_device_printer*::printer_procs::buf_procs::size_buf_device
      Src: /src/libspectre/ghostscript/base/gdevprn.c:421,1
    - Dst: ESTIMATED_PDF14_ROW_SPACE
      Src: /src/libspectre/ghostscript/base/gdevprn.c:425,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevprn.c:425,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:466,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:468,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:473,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:479,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:485,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:490,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:500,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:505,1
    - Dst: gdev_prn_setup_as_command_list
      Src: /src/libspectre/ghostscript/base/gdevprn.c:511,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gdevprn.c:525,1
    - Dst: gx_device_printer*::printer_procs::buf_procs::setup_buf_device
      Src: /src/libspectre/ghostscript/base/gdevprn.c:528,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:534,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:537,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:549,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:550,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:551,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:552,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:553,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:554,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:555,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:556,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:557,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:558,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:559,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:562,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:563,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:564,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:565,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:566,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:567,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:568,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:569,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:570,1
    - Dst: COPY_PROC
      Src: /src/libspectre/ghostscript/base/gdevprn.c:571,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:573,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:574,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:580,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 124
    argCount: 5
    argNames:
    - pdev
    - new_space_params
    - new_width
    - new_height
    - reallocate
    argTypes:
    - gx_device*
    - gdev_space_params*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 586
    functionName: gdev_prn_allocate
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - device_is_deep
    - dev_proc
    - gs_alloc_bytes
    - gdev_create_buf_device
    - ESTIMATED_PDF14_ROW_SPACE
    - return_error
    - max
    - gx_device_printer*::printer_procs::buf_procs::setup_buf_device
    - COPY_PROC
    - memset
    - gdev_prn_setup_as_command_list
    - gdev_prn_tear_down
    - gs_note_error
    - set_dev_proc
    - gx_device_printer*::printer_procs::buf_procs::size_buf_device
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_allocate(gx_device *pdev, gdev_space_params *new_space_params,\n
      \                 int new_width, int new_height, bool reallocate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: COPY_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_PROC(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_allocate
      Src: /src/libspectre/ghostscript/base/gdevprn.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - new_space_params
    - new_width
    - new_height
    argTypes:
    - gx_device*
    - gdev_space_params*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 588
    functionDepth: 4
    functionLinenumber: 588
    functionLinenumberEnd: 595
    functionName: gdev_prn_allocate_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 5
    functionsReached:
    - gdev_prn_allocate
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_allocate_memory(gx_device *pdev,\n                         gdev_space_params
      *new_space_params,\n                         int new_width, int new_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_allocate
      Src: /src/libspectre/ghostscript/base/gdevprn.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - new_space_params
    - new_width
    - new_height
    argTypes:
    - gx_device*
    - gdev_space_params*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 597
    functionDepth: 4
    functionLinenumber: 597
    functionLinenumberEnd: 604
    functionName: gdev_prn_reallocate_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gdev_prn_allocate
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_reallocate_memory(gx_device *pdev,\n                         gdev_space_params
      *new_space_params,\n                         int new_width, int new_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_tear_down
      Src: /src/libspectre/ghostscript/base/gdevprn.c:615,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 618
    functionName: gdev_prn_free_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 3
    functionsReached:
    - gdev_prn_tear_down
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gdev_prn_free_memory(gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_saved_pages_list_free
      Src: /src/libspectre/ghostscript/base/gdevprn.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 630
    functionName: gdev_prn_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gx_saved_pages_list_free
    linkageType: ''
    returnType: void
    signature: void gdev_prn_finalize(gx_device *pdev)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:642,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:645,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gdevprn.c:647,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:650,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gdevprn.c:651,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:653,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:654,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:656,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:657,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:659,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:660,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:662,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:676,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:678,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:682,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:684,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:686,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:692,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:696,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:697,1
    - Dst: gx_default_get_param
      Src: /src/libspectre/ghostscript/base/gdevprn.c:699,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 700
    functionName: gdev_prn_get_param
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 2
    functionsReached:
    - param_write_string
    - param_write_null
    - strcmp
    - strlen
    - param_write_bool
    - gx_default_get_param
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int gdev_prn_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/base/gdevprn.c:708,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:719,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gdevprn.c:720,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gdevprn.c:721,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:722,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:723,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:724,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:725,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:741,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:745,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:747,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:755,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 25
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 756
    functionName: gdev_prn_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 29
    functionsReached:
    - param_write_string
    - param_write_null
    - strlen
    - param_write_bool
    - gx_default_get_params
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int gdev_prn_get_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gdevprn.c:765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ofs
    - memory
    argTypes:
    - gs_param_string*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 759
    functionDepth: 1
    functionLinenumber: 759
    functionLinenumberEnd: 767
    functionName: validate_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gx_parse_output_file_name
    linkageType: ''
    returnType: int
    signature: int validate_output_file(const gs_param_string * ofs, gs_memory_t *memory)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevprn.c:794,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:797,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:800,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:806,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:809,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:816,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/base/gdevprn.c:822,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:827,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:831,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:840,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:847,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/base/gdevprn.c:850,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:851,1
    - Dst: validate_output_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:855,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:861,1
    - Dst: read_media
      Src: /src/libspectre/ghostscript/base/gdevprn.c:883,1
    - Dst: read_media
      Src: /src/libspectre/ghostscript/base/gdevprn.c:884,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevprn.c:886,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:891,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:895,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:899,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevprn.c:905,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:909,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevprn.c:919,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:922,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/base/gdevprn.c:929,1
    - Dst: prn_finish_bg_print
      Src: /src/libspectre/ghostscript/base/gdevprn.c:938,1
    - Dst: gdev_prn_maybe_realloc_memory
      Src: /src/libspectre/ghostscript/base/gdevprn.c:954,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/base/gdevprn.c:961,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:962,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:966,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:970,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevprn.c:971,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/base/gdevprn.c:978,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/base/gdevprn.c:987,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 136
    argCount: 2
    argNames:
    - pdev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 990
    functionName: gdev_prn_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 28
    functionsReached:
    - param_read_null
    - gdev_prn_maybe_realloc_memory
    - return_error
    - param_read_int
    - strlen
    - prn_finish_bg_print
    - gdev_prn_open_printer
    - gx_default_put_params
    - validate_output_file
    - memset
    - bytes_compare
    - read_media
    - gx_device_close_output_file
    - memcpy
    - param_signal_error
    - param_read_bool
    - gx_saved_pages_param_process
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int gdev_prn_put_params(gx_device * pdev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 882
    functionName: read_media
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read_media(pname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - printer_dev
    - space_params
    argTypes:
    - gx_device_printer*
    - gdev_space_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1000
    functionName: gx_default_get_space_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_default_get_space_params(const gx_device_printer *printer_dev,\n
      \                           gdev_space_params *space_params)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: prn_finish_bg_print
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1016,1
    - Dst: gx_saved_pages_list_add
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1020,1
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1024,1
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1031,1
    - Dst: clist_enable_multi_thread_render
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1033,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1049,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1057,1
    - Dst: strnlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1058,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1060,1
    - Dst: strnlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1061,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1066,1
    - Dst: strnlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1066,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1067,1
    - Dst: strnlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1067,1
    - Dst: gx_semaphore_label
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1075,1
    - Dst: gx_semaphore_alloc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1075,1
    - Dst: setup_device_and_mem_for_thread
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1080,1
    - Dst: clist_enable_multi_thread_render
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1093,1
    - Dst: gp_thread_start
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1097,1
    - Dst: gp_thread_label
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1103,1
    - Dst: clist_open
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1107,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1114,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1115,1
    - Dst: teardown_device_and_mem_for_thread
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1122,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1130,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1131,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1131,1
    - Dst: gdev_prn_close_printer
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1133,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1140,1
    - Dst: free_separation_names
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1143,1
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1146,1
    - Dst: clist_finish_page
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1148,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1156,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 5
    argNames:
    - pdev
    - num_copies
    - flush
    - seekable
    - bg_print_ok
    argTypes:
    - gx_device*
    - int
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1008
    functionDepth: 7
    functionLinenumber: 1008
    functionLinenumberEnd: 1159
    functionName: gdev_prn_output_page_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open_printer_seekable
    - gs_alloc_bytes
    - setup_device_and_mem_for_thread
    - prn_finish_bg_print
    - gp_thread_label
    - gx_semaphore_alloc
    - gdev_prn_close_printer
    - gp_fflush
    - clist_close_writer_and_init_reader
    - PRINTER_IS_CLIST
    - gs_note_error
    - gs_free_object
    - gp_thread_start
    - clist_enable_multi_thread_render
    - clist_finish_page
    - gx_semaphore_label
    - strnlen
    - gx_saved_pages_list_add
    - dev_proc
    - teardown_device_and_mem_for_thread
    - free_separation_names
    - gp_ferror
    - strncpy
    - gx_finish_output_page
    - clist_open
    linkageType: ''
    returnType: int
    signature: int gdev_prn_output_page_aux(gx_device * pdev, int num_copies, int
      flush, bool seekable, bool bg_print_ok)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_output_page_aux
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 8
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: gdev_prn_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gdev_prn_output_page_aux
    linkageType: ''
    returnType: int
    signature: int gdev_prn_output_page(gx_device * pdev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_output_page_aux
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 8
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: gdev_prn_output_page_seekable
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gdev_prn_output_page_aux
    linkageType: ''
    returnType: int
    signature: int gdev_prn_output_page_seekable(gx_device * pdev, int num_copies,
      int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_output_page_aux
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 8
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: gdev_prn_bg_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gdev_prn_output_page_aux
    linkageType: ''
    returnType: int
    signature: int gdev_prn_bg_output_page(gx_device * pdev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_output_page_aux
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 8
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: gdev_prn_bg_output_page_seekable
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gdev_prn_output_page_aux
    linkageType: ''
    returnType: int
    signature: int gdev_prn_bg_output_page_seekable(gx_device * pdev, int num_copies,
      int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_printer*::printer_procs::print_page_copies
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1186
    functionDepth: 0
    functionLinenumber: 1186
    functionLinenumberEnd: 1190
    functionName: gx_print_page_single_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gx_device_printer*::printer_procs::print_page_copies
    linkageType: ''
    returnType: int
    signature: int gx_print_page_single_copy(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1211,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1213,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1213,1
    - Dst: gdev_prn_close_printer
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1214,1
    - Dst: gdev_prn_open_printer
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - pdev
    - prn_stream
    - num_copies
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1193
    functionDepth: 1
    functionLinenumber: 1193
    functionLinenumberEnd: 1227
    functionName: gx_default_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gp_fflush
    - gp_ferror
    - gdev_prn_open_printer
    - gs_note_error
    - gdev_prn_close_printer
    linkageType: ''
    returnType: int
    signature: "int gx_default_print_page_copies(gx_device_printer * pdev, gp_file
      * prn_stream,\n                             int num_copies)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1244,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1246,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1246,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1234
    functionDepth: 1
    functionLinenumber: 1234
    functionLinenumberEnd: 1251
    functionName: prn_print_page_in_background
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - gx_semaphore_signal
    - gs_note_error
    - gp_ferror
    - gp_fflush
    linkageType: ''
    returnType: void
    signature: void prn_print_page_in_background(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1267,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - render_plane
    - dev
    - index
    argTypes:
    - gx_render_plane_t*
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1272
    functionName: gx_render_plane_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_render_plane_init(gx_render_plane_t *render_plane, const gx_device
      *dev,\n                     int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1282,1
    - Dst: mono_fill_make_pattern
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - data
    - raster
    - height
    - dev
    argTypes:
    - byte*
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1275
    functionDepth: 2
    functionLinenumber: 1275
    functionLinenumberEnd: 1284
    functionName: gdev_prn_clear_trailing_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - mono_fill_make_pattern
    - bits_fill_rectangle
    linkageType: ''
    returnType: void
    signature: "void gdev_prn_clear_trailing_bits(byte *data, uint raster, int height,\n
      \                            const gx_device *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1296,1
    - Dst: dev_t_margin
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1298,1
    - Dst: dev_b_margin
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1299,1
    - Dst: dev_y_offset
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1300,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1307
    functionName: gdev_prn_print_scan_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - dev_b_margin
    - dev_y_offset
    - dev_t_margin
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gdev_prn_print_scan_lines(gx_device * pdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1321,1
    - Dst: gp_fseekable
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1327,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1328,1
    - Dst: IS_LIBCTX_STDOUT
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1329,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1329,1
    - Dst: IS_LIBCTX_STDERR
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1330,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1330,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1332,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - pdev
    - binary_mode
    - seekable
    argTypes:
    - gx_device*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1344
    functionName: gdev_prn_open_printer_seekable
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 5
    functionsReached:
    - IS_LIBCTX_STDERR
    - IS_LIBCTX_STDOUT
    - gp_get_file
    - gx_device_close_output_file
    - return_error
    - gp_fseekable
    - errprintf
    - gx_device_open_output_file
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_open_printer_seekable(gx_device *pdev, bool binary_mode,\n
      \                              bool seekable)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open_printer_seekable
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - binary_mode
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1349
    functionName: gdev_prn_open_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 9
    functionsReached:
    - gdev_prn_open_printer_seekable
    linkageType: ''
    returnType: int
    signature: int gdev_prn_open_printer(gx_device *pdev, bool binary_mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1360
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1360
    functionName: gdev_prn_file_is_new
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gdev_prn_file_is_new(const gx_device_printer *pdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1395,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 6
    argNames:
    - dev
    - page_info
    - y
    - height
    - color_usage
    - range_start
    argTypes:
    - gx_device*
    - gx_band_page_info_t*
    - int
    - int
    - gx_color_usage_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1396
      start: 1369
    functionDepth: 0
    functionLinenumber: 1369
    functionLinenumberEnd: 1396
    functionName: gx_page_info_color_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: int
    signature: "int gx_page_info_color_usage(const gx_device *dev,\n                         const
      gx_band_page_info_t *page_info,\n                         int y, int height,\n
      \                        gx_color_usage_t *color_usage, int *range_start)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1406,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1408,1
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1413,1
    - Dst: clist_writer_color_usage
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1415,1
    - Dst: gx_page_info_color_usage
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1417,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - dev
    - y
    - height
    - color_usage
    - range_start
    argTypes:
    - gx_device*
    - int
    - int
    - gx_color_usage_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1419
    functionName: gdev_prn_color_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 2
    functionsReached:
    - CLIST_IS_WRITER
    - PRINTER_IS_CLIST
    - gx_color_usage_all
    - gx_page_info_color_usage
    - clist_writer_color_usage
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_color_usage(gx_device *dev, int y, int height,\n                     gx_color_usage_t
      *color_usage, int *range_start)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cbd_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1431,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - cbd_proc
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - create_buf_device_proc_t
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1438
    functionName: gdev_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 5
    functionsReached:
    - gx_device_retain
    - cbd_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_create_buf_device(create_buf_device_proc_t cbd_proc, gx_device
      **pbdev,\n                       gx_device *target, int y,\n                       const
      gx_render_plane_t *render_plane,\n                       gs_memory_t *mem, gx_color_usage_t
      *color_usage)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1462,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1464,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1466,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1469,1
    - Dst: dev_t_proc_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1474,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1474,1
    - Dst: assign_dev_procs
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1476,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1478,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1479,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1482,1
    - Dst: if
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1487,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1487,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1488,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1491,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1493,1
    - Dst: gs_deviceinitialmatrix
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1507,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1513,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1515,1
    - Dst: gx_default_destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1519,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1520,1
    - Dst: plane_device_init
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1523,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - color_usage
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1533
    functionName: gx_default_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 3
    functionsReached:
    - dev_t_proc_dev_spec_op
    - set_dev_proc
    - gdev_mem_device_for_bits
    - gx_default_destroy_buf_device
    - check_device_separable
    - gx_device_fill_in_procs
    - gs_deviceinitialmatrix
    - gs_make_mem_device
    - assign_dev_procs
    - if
    - return_error
    - errprintf
    - dev_proc
    - plane_device_init
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_default_create_buf_device(gx_device **pbdev, gx_device *target,
      int y,\n    const gx_render_plane_t *render_plane, gs_memory_t *mem, gx_color_usage_t
      *color_usage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1553,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1554,1
    - Dst: gdev_mem_line_ptrs_size
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1555,1
    - Dst: gdev_mem_raster
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - space
    - target
    - render_plane
    - height
    - not_used
    argTypes:
    - gx_device_buf_space_t*
    - gx_device*
    - gx_render_plane_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1536
    functionDepth: 1
    functionLinenumber: 1536
    functionLinenumberEnd: 1558
    functionName: gx_default_size_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gdev_mem_bits_size
    - gdev_mem_raster
    - return_error
    - gdev_mem_line_ptrs_size
    linkageType: ''
    returnType: int
    signature: "int gx_default_size_buf_device(gx_device_buf_space_t *space, gx_device
      *target,\n                           const gx_render_plane_t *render_plane,\n
      \                          int height, bool not_used)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1567,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1578,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1586,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1592,1
    - Dst: gdev_mem_set_line_ptrs
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1597,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - bdev
    - buffer
    - raster
    - line_ptrs
    - y
    - setup_height
    - full_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - byte**
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1561
    functionDepth: 1
    functionLinenumber: 1561
    functionLinenumberEnd: 1602
    functionName: gx_default_setup_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gs_alloc_byte_array
    - gs_device_is_memory
    - return_error
    - gdev_mem_set_line_ptrs
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_default_setup_buf_device(gx_device *bdev, byte *buffer, int
      raster,\n                            byte **line_ptrs, int y, int setup_height,\n
      \                           int full_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1610,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1613,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1616,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - bdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1618
    functionName: gx_default_destroy_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 1
    functionsReached:
    - gs_device_is_memory
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_default_destroy_buf_device(gx_device *bdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1636,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1646,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1657,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1666,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 8
    argNames:
    - pdev
    - y
    - height
    - buffer
    - bytes_per_line
    - actual_buffer
    - actual_bytes_per_line
    - render_plane
    argTypes:
    - gx_device_printer*
    - int
    - int
    - byte*
    - uint
    - byte**
    - uint*
    - gx_render_plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1676
    functionName: gdev_prn_get_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 2
    functionsReached:
    - return_error
    - memset
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_get_lines(gx_device_printer *pdev, int y, int height,\n
      \                  byte *buffer, uint bytes_per_line,\n                   byte
      **actual_buffer, uint *actual_bytes_per_line,\n                   const gx_render_plane_t
      *render_plane)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1682,1
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pdev
    - y
    - str
    - actual_data
    argTypes:
    - gx_device_printer*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1694
    functionName: gdev_prn_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 33
    functionsReached:
    - gdev_prn_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gdev_prn_get_bits(gx_device_printer * pdev, int y, byte * str,
      byte ** actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_raster
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1702,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1710,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1710,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1712,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1717,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pdev
    - y
    - str
    - size
    argTypes:
    - gx_device_printer*
    - int
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1699
    functionDepth: 2
    functionLinenumber: 1699
    functionLinenumberEnd: 1719
    functionName: gdev_prn_copy_scan_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 36
    functionsReached:
    - gdev_prn_raster
    - gdev_prn_get_bits
    - max
    - memset
    - min
    linkageType: ''
    returnType: int
    signature: int gdev_prn_copy_scan_lines(gx_device_printer * pdev, int y, byte
      * str, uint size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1728,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1729,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1738
    functionName: gdev_prn_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 5
    functionsReached:
    - strlen
    - gx_device_close_output_file
    - gx_parse_output_file_name
    linkageType: ''
    returnType: int
    signature: int gdev_prn_close_printer(gx_device * pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_space_params_cmp
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1760,1
    - Dst: debug_dump_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1769,1
    - Dst: debug_dump_bytes
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1770,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1772,1
    - Dst: gdev_prn_reallocate_memory
      Src: /src/libspectre/ghostscript/base/gdevprn.c:1778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - prdev
    - old_sp
    - old_width
    - old_height
    - old_page_uses_transparency
    argTypes:
    - gx_device_printer*
    - gdev_space_params*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1741
    functionDepth: 5
    functionLinenumber: 1741
    functionLinenumberEnd: 1784
    functionName: gdev_prn_maybe_realloc_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.c
    functionUses: 3
    functionsReached:
    - gdev_prn_reallocate_memory
    - dmprintf4
    - debug_dump_bytes
    - gdev_space_params_cmp
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_maybe_realloc_memory(gx_device_printer *prdev,\n                              gdev_space_params
      *old_sp,\n                              int old_width, int old_height,\n                              bool
      old_page_uses_transparency)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: private_st_device_n_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxcdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_n_map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: private_st_device_n_colorant
    functionSourceFile: /src/libspectre/ghostscript/base/gxcdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_n_colorant()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - thin
    - ','
    - pgs
    - ','
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: STROKE_ADJUSTMENT
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STROKE_ADJUSTMENT(thin, pgs, xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - thin
    - ','
    - pgs
    - ','
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: STROKE_ADJUSTMENT
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STROKE_ADJUSTMENT(thin, pgs, xy)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:110,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:110,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:111,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:111,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gxstroke.c:126,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gxstroke.c:127,1
    - Dst: gx_path_has_curves
      Src: /src/libspectre/ghostscript/base/gxstroke.c:163,1
    - Dst: gx_path_subpath_count
      Src: /src/libspectre/ghostscript/base/gxstroke.c:163,1
    - Dst: join_expansion_factor
      Src: /src/libspectre/ghostscript/base/gxstroke.c:168,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxstroke.c:171,1
    - Dst: join_expansion_factor
      Src: /src/libspectre/ghostscript/base/gxstroke.c:171,1
    - Dst: set_float2fixed_vars
      Src: /src/libspectre/ghostscript/base/gxstroke.c:181,1
    - Dst: set_float2fixed_vars
      Src: /src/libspectre/ghostscript/base/gxstroke.c:185,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 48
    argCount: 3
    argNames:
    - pgs
    - ppath
    - ppt
    argTypes:
    - gs_gstate*
    - gx_path*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 191
    functionName: gx_stroke_path_expansion
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 6
    functionsReached:
    - is_fzero2
    - max
    - gx_path_subpath_count
    - gx_path_has_curves
    - fabs
    - set_float2fixed_vars
    - join_expansion_factor
    linkageType: ''
    returnType: int
    signature: "int gx_stroke_path_expansion(const gs_gstate * pgs, const gx_path
      * ppath,\n                         gs_fixed_point * ppt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - join
    argTypes:
    - gs_gstate*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: join_expansion_factor
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float join_expansion_factor(const gs_gstate *pgs, gs_line_join join)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - F
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: COMBINE_FLAGS
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMBINE_FLAGS(F)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pp
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    functionName: ASSIGN_POINT
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSIGN_POINT(pp, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_stroke_path_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 341
    functionName: gx_default_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 4
    functionsReached:
    - gx_stroke_path_only
    linkageType: ''
    returnType: int
    signature: "int gx_default_stroke_path(gx_device * dev, const gs_gstate * pgs,\n
      \                      gx_path * ppath, const gx_stroke_params * params,\n                       const
      gx_drawing_color * pdcolor,\n                       const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dev
    - ','
    - thin
    - ','
    - pcpath
    - ','
    - final
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: FILL_STROKE_PATH
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_STROKE_PATH(dev, thin, pcpath, final)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: stroke_line_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stroke_line_proc(proc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/base/gxstroke.c:404,1
    - Dst: gx_path_append_reversed
      Src: /src/libspectre/ghostscript/base/gxstroke.c:406,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxstroke.c:410,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxstroke.c:411,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:413,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - path
    - rpath
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 414
    functionName: gx_join_path_and_reverse
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_path_is_void
    - gx_path_append_reversed
    - gx_path_init_local
    - gx_path_close_subpath
    linkageType: ''
    returnType: int
    signature: int gx_join_path_and_reverse(gx_path * path, gx_path * rpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_stroke_path_only_aux
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ppath
    - to_path
    - pdev
    - pgs
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_path*
    - gx_path*
    - gx_device*
    - gs_gstate*
    - gx_stroke_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1075
    functionName: gx_stroke_path_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - gx_stroke_path_only_aux
    linkageType: ''
    returnType: int
    signature: "int gx_stroke_path_only(gx_path * ppath, gx_path * to_path, gx_device
      * pdev,\n               const gs_gstate * pgs, const gx_stroke_params * params,\n
      \                const gx_device_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1092,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1094,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1137,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1138,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1138,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1152,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1156,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - plp
    argTypes:
    - pl_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1161
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1161
    functionName: width_is_thin
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - hypot
    - any_abs
    - fabs
    linkageType: ''
    returnType: bool
    signature: bool width_is_thin(pl_ptr plp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: STROKE_ADJUSTMENT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1176,1
    - Dst: STROKE_ADJUSTMENT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1180,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1188,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1190,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1194,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1205,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1207,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - plp
    - pgs
    - thin
    - horiz
    argTypes:
    - pl_ptr
    - gs_gstate*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1210
    functionName: adjust_stroke_transversal
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - STROKE_ADJUSTMENT
    - arith_rshift_1
    - fixed_rounded
    - fixed_floor
    linkageType: ''
    returnType: void
    signature: void adjust_stroke_transversal(pl_ptr plp, const gs_gstate * pgs, bool
      thin, bool horiz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1226,1
    - Dst: STROKE_ADJUSTMENT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1229,1
    - Dst: STROKE_ADJUSTMENT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1230,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1241,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1247,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1249,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1250,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1253,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1255,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 6
    argNames:
    - plp
    - pgs
    - thin
    - horiz
    - start_cap
    - end_cap
    argTypes:
    - pl_ptr
    - gs_gstate*
    - bool
    - bool
    - gs_line_cap
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1212
    functionDepth: 1
    functionLinenumber: 1212
    functionLinenumberEnd: 1264
    functionName: adjust_stroke_longitude
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - STROKE_ADJUSTMENT
    - any_abs
    - fixed_rounded
    - fixed_floor
    linkageType: ''
    returnType: void
    signature: "void adjust_stroke_longitude(pl_ptr plp, const gs_gstate * pgs,\n
      \                       bool thin, bool horiz,\n                        gs_line_cap
      start_cap, gs_line_cap end_cap)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1299,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1299,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1300,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1300,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1301,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1301,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1302,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1302,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1304,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1304,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1305,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1305,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1306,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1306,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1307,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1307,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1309,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1309,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1310,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1310,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1311,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1311,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1312,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1312,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1328,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1329,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1329,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1330,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1330,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1340,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1341,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1341,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1342,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1342,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1365,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1365,1
    - Dst: adjust_stroke_transversal
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1366,1
    - Dst: adjust_stroke_longitude
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1368,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 54
    argCount: 6
    argNames:
    - dev
    - plp
    - pgs
    - thin
    - adjust_longitude
    - flags
    argTypes:
    - gx_device*
    - pl_ptr
    - gs_gstate*
    - bool
    - bool
    - note_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1269
    functionDepth: 2
    functionLinenumber: 1269
    functionLinenumberEnd: 1376
    functionName: adjust_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - any_abs
    - adjust_stroke_longitude
    - adjust_stroke_transversal
    - if_debug4m
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void adjust_stroke(gx_device *dev, pl_ptr plp, const gs_gstate * pgs,\n
      \             bool thin, bool adjust_longitude, note_flags flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1398,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1401,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1402,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1403,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1403,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1404,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1404,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1405,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1406,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1406,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1407,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1407,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1408,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1413,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1413,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1416,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1422,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1423,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 5
    argNames:
    - pp1
    - pd1
    - pp2
    - pd2
    - pi
    argTypes:
    - p_ptr
    - p_ptr
    - p_ptr
    - p_ptr
    - p_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1383
    functionDepth: 1
    functionLinenumber: 1383
    functionLinenumberEnd: 1425
    functionName: line_intersect
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gs_debug_c
    - if_debug0
    - if_debug2
    - dlprintf4
    - dlprintf3
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int line_intersect(\n                  p_ptr pp1,    /* point on 1st
      line */\n                  p_ptr pd1,    /* slope of 1st line (dx,dy) */\n                  p_ptr
      pp2,    /* point on 2nd line */\n                  p_ptr pd2,    /* slope of
      2nd line */\n                  p_ptr pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1435,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1435,1
    - Dst: TRSIGN
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1437,1
    - Dst: TRSIGN
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - plp
    argTypes:
    - pl_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1443
    functionName: set_thin_widths
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - TRSIGN
    - any_abs
    linkageType: ''
    returnType: void
    signature: void set_thin_widths(register pl_ptr plp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1435
    functionName: TRSIGN
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRSIGN(v, c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1464,1
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1471,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1492,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1494,1
    - Dst: line_join_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1496,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1498,1
    - Dst: SUB_OVERFLOWS
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1504,1
    - Dst: SUB_OVERFLOWS
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1505,1
    - Dst: SUB_OVERFLOWS
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1506,1
    - Dst: SUB_OVERFLOWS
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1507,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1529,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1539,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1544,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1547,1
    - Dst: stroke_add
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1552,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 44
    argCount: 15
    argNames:
    - ppath
    - rpath
    - ensure_closed
    - first
    - plp
    - nplp
    - pdevc
    - dev
    - pgs
    - params
    - pbbox
    - uniform
    - join
    - reflected
    - flags
    argTypes:
    - gx_path*
    - gx_path*
    - bool
    - int
    - pl_ptr
    - pl_ptr
    - gx_device_color*
    - gx_device*
    - gs_gstate*
    - gx_stroke_params*
    - gs_fixed_rect*
    - int
    - gs_line_join
    - bool
    - note_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1555
    functionName: stroke_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - add_points
    - SUB_OVERFLOWS
    - stroke_add
    - line_join_points
    - ctm_only
    - cap_points
    - gs_currentlineparams_inline
    - gx_path_close_subpath
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int stroke_fill(gx_path * ppath, gx_path * rpath, bool ensure_closed,
      int first,\n            register pl_ptr plp, pl_ptr nplp, const gx_device_color
      * pdevc,\n            gx_device * dev, const gs_gstate * pgs,\n            const
      gx_stroke_params * params, const gs_fixed_rect * pbbox,\n            int uniform,
      gs_line_join join, bool reflected,\n            note_flags flags)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1504
    functionName: SUB_OVERFLOWS
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_OVERFLOWS(r, u, v)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1566,1
    - Dst: set_thin_widths
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1579,1
    - Dst: adjust_stroke
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1580,1
    - Dst: compute_caps
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1581,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1585,1
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1586,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1591,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1598,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1600,1
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1602,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1605,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1607,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1609,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1611,1
    - Dst: add_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1613,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1619,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1621,1
    - Dst: add_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1623,1
    - Dst: line_join_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1626,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1627,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1631,1
    - Dst: join_under_pie
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1637,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1638,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 58
    argCount: 15
    argNames:
    - ppath
    - rpath
    - ensure_closed
    - first
    - plp
    - nplp
    - pdevc
    - dev
    - pgs
    - params
    - ignore_pbbox
    - uniform
    - join
    - reflected
    - flags
    argTypes:
    - gx_path*
    - gx_path*
    - bool
    - int
    - pl_ptr
    - pl_ptr
    - gx_device_color*
    - gx_device*
    - gs_gstate*
    - gx_stroke_params*
    - gs_fixed_rect*
    - int
    - gs_line_join
    - bool
    - note_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1558
    functionDepth: 3
    functionLinenumber: 1558
    functionLinenumberEnd: 1639
    functionName: stroke_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - ASSIGN_POINT
    - add_points
    - line_join_points
    - ctm_only
    - add_pie_cap
    - cap_points
    - gx_path_close_subpath
    - compute_caps
    - gx_path_add_point
    - set_thin_widths
    - add_pie_join
    - gs_currentlineparams_inline
    - join_under_pie
    - adjust_stroke
    linkageType: ''
    returnType: int
    signature: "int stroke_add(gx_path * ppath, gx_path * rpath, bool ensure_closed,
      int first,\n           pl_ptr plp, pl_ptr nplp, const gx_device_color * pdevc,\n
      \          gx_device * dev, const gs_gstate * pgs,\n           const gx_stroke_params
      * params,\n           const gs_fixed_rect * ignore_pbbox, int uniform,\n           gs_line_join
      join, bool reflected, note_flags flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - plp
    - nplp
    argTypes:
    - pl_ptr
    - pl_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1682
    functionName: wide_underjoin
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool wide_underjoin(pl_ptr plp, pl_ptr nplp)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1714,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1714,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1715,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1715,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1725,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1729,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1745,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1745,1
    - Dst: lprintf8
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1752,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1767,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1768,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1770,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1790,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1806,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1806,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1810,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1810,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1811,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1813,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1822,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1822,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1826,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1826,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1827,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1829,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1833,1
    - Dst: line_intersect
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1835,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 8
    argNames:
    - pgs_lp
    - plp
    - nplp
    - pmat
    - outp
    - np
    - mpt
    - ccw0
    argTypes:
    - gx_line_params*
    - pl_ptr
    - pl_ptr
    - gs_matrix*
    - p_ptr
    - p_ptr
    - p_ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1839
    functionName: check_miter
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - if_debug0
    - gs_debug_c
    - gs_distance_transform_inverse
    - dlprintf4
    - lprintf8
    - line_intersect
    - fixed2long
    - dlprintf3
    - return_error
    - atan2
    - abs
    linkageType: ''
    returnType: int
    signature: "int check_miter(const gx_line_params * pgs_lp, pl_ptr plp, pl_ptr
      nplp,\n            const gs_matrix * pmat, p_ptr outp, p_ptr np, p_ptr mpt,\n
      \           bool ccw0)"
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1852,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1861,1
    - Dst: set_thin_widths
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1873,1
    - Dst: adjust_stroke
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1874,1
    - Dst: compute_caps
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1875,1
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1883,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1893,1
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1894,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1898,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1903,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1907,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1908,1
    - Dst: check_miter
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1942,1
    - Dst: check_miter
      Src: /src/libspectre/ghostscript/base/gxstroke.c:1977,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2005,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2007,1
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2014,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2016,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2020,1
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2024,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2032,1
    - Dst: add_pie_join_fast_ccw
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2044,1
    - Dst: line_join_points_fast_ccw
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2046,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2071,1
    - Dst: wide_underjoin
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2076,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2078,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2082,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2085,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2088,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2094,1
    - Dst: add_pie_join_fast_cw
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2106,1
    - Dst: line_join_points_fast_cw
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2108,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2134,1
    - Dst: wide_underjoin
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2139,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2141,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2145,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2148,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2151,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2157,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2163,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2168,1
    - Dst: gx_join_path_and_reverse
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2173,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 197
    argCount: 15
    argNames:
    - ppath
    - rpath
    - ensure_closed
    - first
    - plp
    - nplp
    - pdevc
    - dev
    - pgs
    - params
    - ignore_pbbox
    - uniform
    - join
    - reflected
    - flags
    argTypes:
    - gx_path*
    - gx_path*
    - bool
    - int
    - pl_ptr
    - pl_ptr
    - gx_device_color*
    - gx_device*
    - gs_gstate*
    - gx_stroke_params*
    - gs_fixed_rect*
    - int
    - gs_line_join
    - bool
    - note_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 1844
    functionDepth: 3
    functionLinenumber: 1844
    functionLinenumberEnd: 2175
    functionName: stroke_add_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - ASSIGN_POINT
    - check_miter
    - wide_underjoin
    - add_pie_join_fast_cw
    - ctm_only
    - gx_path_is_void
    - add_pie_cap
    - gx_join_path_and_reverse
    - set_thin_widths
    - gs_currentlineparams_inline
    - adjust_stroke
    - line_join_points_fast_cw
    - gx_path_add_line
    - compute_caps
    - add_points
    - cap_points
    - add_pie_join_fast_ccw
    - gx_path_add_point
    - line_join_points_fast_ccw
    linkageType: ''
    returnType: int
    signature: "int stroke_add_fast(gx_path * ppath, gx_path * rpath, bool ensure_closed,
      int first,\n                pl_ptr plp, pl_ptr nplp, const gx_device_color *
      pdevc,\n                gx_device * dev, const gs_gstate * pgs,\n                const
      gx_stroke_params * params,\n                const gs_fixed_rect * ignore_pbbox,
      int uniform,\n                gs_line_join join, bool reflected, note_flags
      flags)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2195,1
    - Dst: set_thin_widths
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2204,1
    - Dst: adjust_stroke
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2205,1
    - Dst: compute_caps
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2206,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2209,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2210,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2211,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2212,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2213,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2216,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2225,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2227,1
    - Dst: add_round_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2229,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2231,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2233,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2235,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2240,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2242,1
    - Dst: add_round_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2244,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2253,1
    - Dst: line_join_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2255,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2256,1
    - Dst: line_join_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2263,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2264,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2268,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2272,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2275,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 15
    argNames:
    - ppath
    - rpath
    - ensure_closed
    - first
    - plp
    - nplp
    - pdevc
    - dev
    - pgs
    - params
    - ignore_pbbox
    - uniform
    - join
    - reflected
    - flags
    argTypes:
    - gx_path*
    - gx_path*
    - bool
    - int
    - pl_ptr
    - pl_ptr
    - gx_device_color*
    - gx_device*
    - gs_gstate*
    - gx_stroke_params*
    - gs_fixed_rect*
    - int
    - gs_line_join
    - bool
    - note_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2183
    functionDepth: 3
    functionLinenumber: 2183
    functionLinenumberEnd: 2277
    functionName: stroke_add_compat
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - ASSIGN_POINT
    - add_points
    - line_join_points
    - add_round_cap
    - ctm_only
    - cap_points
    - compute_caps
    - set_thin_widths
    - gs_currentlineparams_inline
    - gx_path_close_subpath
    - adjust_stroke
    linkageType: ''
    returnType: int
    signature: "int stroke_add_compat(gx_path * ppath, gx_path *rpath, bool ensure_closed,\n
      \                 int first, pl_ptr plp, pl_ptr nplp,\n                  const
      gx_device_color * pdevc, gx_device * dev,\n                  const gs_gstate
      * pgs,\n                  const gx_stroke_params * params,\n                  const
      gs_fixed_rect * ignore_pbbox, int uniform,\n                  gs_line_join join,
      bool reflected, note_flags flags)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2290,1
    - Dst: set_thin_widths
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2300,1
    - Dst: adjust_stroke
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2301,1
    - Dst: compute_caps
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2302,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2306,1
    - Dst: add_round_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2307,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2312,1
    - Dst: cap_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2314,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2317,1
    - Dst: add_points
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2319,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - ppath
    - plp
    - adlust_longitude
    - pdevc
    - dev
    - pgs
    argTypes:
    - gx_path*
    - pl_ptr
    - bool
    - gx_device_color*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2285
    functionDepth: 3
    functionLinenumber: 2285
    functionLinenumberEnd: 2324
    functionName: stroke_add_initial_cap_compat
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - ASSIGN_POINT
    - add_points
    - add_round_cap
    - cap_points
    - compute_caps
    - gx_path_add_point
    - set_thin_widths
    - gs_currentlineparams_inline
    - gx_path_close_subpath
    - adjust_stroke
    linkageType: ''
    returnType: int
    signature: "int stroke_add_initial_cap_compat(gx_path * ppath, pl_ptr plp, bool
      adlust_longitude,\n           const gx_device_color * pdevc, gx_device * dev,\n
      \          const gs_gstate * pgs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2334,1
    - Dst: gx_path_add_lines
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2337,1
    - Dst: gx_path_add_lines
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2339,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - ppath
    - points
    - npoints
    - moveto_first
    argTypes:
    - gx_path*
    - gs_fixed_point*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2327
    functionDepth: 1
    functionLinenumber: 2327
    functionLinenumberEnd: 2341
    functionName: add_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 5
    functionsReached:
    - gx_path_add_lines
    - gx_path_add_point
    linkageType: ''
    returnType: int
    signature: "int add_points(gx_path * ppath, const gs_fixed_point * points, int
      npoints,\n           bool moveto_first)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2397,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2398,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2407,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2408,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2412,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2413,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2416,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2423,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2429,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2430,1
    - Dst: check_miter
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2436,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 7
    argNames:
    - pgs_lp
    - plp
    - nplp
    - join_points
    - pmat
    - join
    - reflected
    argTypes:
    - gx_line_params*
    - pl_ptr
    - pl_ptr
    - gs_fixed_point*
    - gs_matrix*
    - gs_line_join
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2349
    functionDepth: 3
    functionLinenumber: 2349
    functionLinenumberEnd: 2442
    functionName: line_join_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 3
    functionsReached:
    - ASSIGN_POINT
    - check_miter
    - if_debug1
    linkageType: ''
    returnType: int
    signature: "int line_join_points(const gx_line_params * pgs_lp, pl_ptr plp, pl_ptr
      nplp,\n                 gs_fixed_point * join_points, const gs_matrix * pmat,\n
      \                gs_line_join join, bool reflected)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2461,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2462,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - pgs_lp
    - plp
    - nplp
    - rjoin_points
    - pmat
    - join
    argTypes:
    - gx_line_params*
    - pl_ptr
    - pl_ptr
    - gs_fixed_point*
    - gs_matrix*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2444
    functionDepth: 1
    functionLinenumber: 2444
    functionLinenumberEnd: 2470
    functionName: line_join_points_fast_cw
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - ASSIGN_POINT
    linkageType: ''
    returnType: int
    signature: "int line_join_points_fast_cw(const gx_line_params * pgs_lp,\n                         pl_ptr
      plp, pl_ptr nplp,\n                         gs_fixed_point * rjoin_points,\n
      \                        const gs_matrix * pmat,\n                         gs_line_join
      join)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2488,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2489,1
    - Dst: ASSIGN_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - pgs_lp
    - plp
    - nplp
    - join_points
    - pmat
    - join
    argTypes:
    - gx_line_params*
    - pl_ptr
    - pl_ptr
    - gs_fixed_point*
    - gs_matrix*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2497
      start: 2472
    functionDepth: 1
    functionLinenumber: 2472
    functionLinenumberEnd: 2497
    functionName: line_join_points_fast_ccw
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - ASSIGN_POINT
    linkageType: ''
    returnType: int
    signature: "int line_join_points_fast_ccw(const gx_line_params * pgs_lp,\n                          pl_ptr
      plp, pl_ptr nplp,\n                          gs_fixed_point * join_points,\n
      \                         const gs_matrix * pmat,\n                          gs_line_join
      join)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2515,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2516,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2517,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2517,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2518,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2518,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2519,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2520,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2520,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2521,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - plp
    argTypes:
    - pl_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2525
      start: 2502
    functionDepth: 1
    functionLinenumber: 2502
    functionLinenumberEnd: 2525
    functionName: compute_caps
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 4
    functionsReached:
    - dlprintf4
    - gs_debug_c
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void compute_caps(pl_ptr plp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2547,1
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2550,1
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2552,1
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2555,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2558,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 2
    argNames:
    - ppath
    - endp
    argTypes:
    - gx_path*
    - const_ep_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2562
      start: 2538
    functionDepth: 1
    functionLinenumber: 2538
    functionLinenumberEnd: 2562
    functionName: add_round_cap
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 2
    functionsReached:
    - gx_path_add_partial_arc
    - gx_path_add_line
    linkageType: ''
    returnType: int
    signature: int add_round_cap(gx_path * ppath, const_ep_ptr endp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2571,1
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2574,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2576,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ppath
    - endp
    argTypes:
    - gx_path*
    - const_ep_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2579
      start: 2566
    functionDepth: 1
    functionLinenumber: 2566
    functionLinenumberEnd: 2579
    functionName: add_pie_cap
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 2
    functionsReached:
    - gx_path_add_partial_arc
    - gx_path_add_line
    linkageType: ''
    returnType: int
    signature: int add_pie_cap(gx_path * ppath, const_ep_ptr endp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2600,1
    - Dst: line_intersect
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2624,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2626,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2635,1
    - Dst: gx_path_add_partial_arc
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 8
    argNames:
    - ppath
    - centre
    - current_orig
    - current_tangent
    - final
    - final_tangent
    - ccw
    - width
    argTypes:
    - gx_path*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - bool
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2581
    functionDepth: 2
    functionLinenumber: 2581
    functionLinenumberEnd: 2638
    functionName: do_pie_join
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 0
    functionsReached:
    - gx_path_add_partial_arc
    - gx_path_add_line
    - line_intersect
    - sqrt
    linkageType: ''
    returnType: int
    signature: "int do_pie_join(gx_path * ppath, gs_fixed_point *centre,\n            gs_fixed_point
      *current_orig, gs_fixed_point *current_tangent,\n            gs_fixed_point
      *final, gs_fixed_point *final_tangent, bool ccw,\n            gs_fixed_point
      *width)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: add_pie_cap
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2656,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2658,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2673,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2680,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2683,1
    - Dst: do_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2690,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2694,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2695,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 5
    argNames:
    - ppath
    - plp
    - nplp
    - reflected
    - cap
    argTypes:
    - gx_path*
    - pl_ptr
    - pl_ptr
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2642
    functionDepth: 3
    functionLinenumber: 2642
    functionLinenumberEnd: 2699
    functionName: add_pie_join
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - gx_path_add_line
    - do_pie_join
    - add_pie_cap
    linkageType: ''
    returnType: int
    signature: "int add_pie_join(gx_path * ppath, pl_ptr plp, pl_ptr nplp, bool reflected,\n
      \            bool cap)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - rpath
    - plp
    - nplp
    - reflected
    argTypes:
    - gx_path*
    - pl_ptr
    - pl_ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2702
    functionDepth: 3
    functionLinenumber: 2702
    functionLinenumberEnd: 2711
    functionName: add_pie_join_fast_cw
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - do_pie_join
    linkageType: ''
    returnType: int
    signature: int add_pie_join_fast_cw(gx_path * rpath, pl_ptr plp, pl_ptr nplp,
      bool reflected)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2721,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ppath
    - plp
    - nplp
    - reflected
    argTypes:
    - gx_path*
    - pl_ptr
    - pl_ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2713
    functionDepth: 3
    functionLinenumber: 2713
    functionLinenumberEnd: 2723
    functionName: add_pie_join_fast_ccw
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - do_pie_join
    linkageType: ''
    returnType: int
    signature: int add_pie_join_fast_ccw(gx_path * ppath, pl_ptr plp, pl_ptr nplp,
      bool reflected)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: line_intersect
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2748,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2751,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2752,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2753,1
    - Dst: do_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2754,1
    - Dst: line_intersect
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2759,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2762,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2763,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2764,1
    - Dst: do_pie_join
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2765,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 4
    argNames:
    - ppath
    - plp
    - nplp
    - reflected
    argTypes:
    - gx_path*
    - pl_ptr
    - pl_ptr
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2771
      start: 2725
    functionDepth: 3
    functionLinenumber: 2725
    functionLinenumberEnd: 2771
    functionName: join_under_pie
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached:
    - do_pie_join
    - line_intersect
    - gx_path_add_line
    - gx_path_add_point
    - gx_path_close_subpath
    linkageType: ''
    returnType: int
    signature: int join_under_pie(gx_path * ppath, pl_ptr plp, pl_ptr nplp, bool reflected)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2782,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2783,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2786,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2787,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2790,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2791,1
    - Dst: PUT_POINT
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2792,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxstroke.c:2795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - type
    - endp
    - pts
    argTypes:
    - gs_line_cap
    - const_ep_ptr
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2798
      start: 2775
    functionDepth: 1
    functionLinenumber: 2775
    functionLinenumberEnd: 2798
    functionName: cap_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 5
    functionsReached:
    - return_error
    - PUT_POINT
    linkageType: ''
    returnType: int
    signature: int cap_points(gs_line_cap type, const_ep_ptr endp, gs_fixed_point
      *pts /*[3]*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i
    - ','
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2780
    functionName: PUT_POINT
    functionSourceFile: /src/libspectre/ghostscript/base/gxstroke.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_POINT(i, px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: Bobbin_label_thread
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Bobbin_label_thread(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: Bobbin_label_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Bobbin_label_mutex(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: Bobbin_label_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Bobbin_label_cond(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_line_width
      Src: /src/libspectre/ghostscript/base/gsline.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - width
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: gs_setlinewidth
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 2
    functionsReached:
    - gx_set_line_width
    linkageType: ''
    returnType: int
    signature: int gs_setlinewidth(gs_gstate * pgs, double width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_current_line_width
      Src: /src/libspectre/ghostscript/base/gsline.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: gs_currentlinewidth
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached:
    - gx_current_line_width
    linkageType: ''
    returnType: float
    signature: float gs_currentlinewidth(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pgs
    - cap
    argTypes:
    - gs_gstate*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: gs_setlinecap
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setlinecap(gs_gstate * pgs, gs_line_cap cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - cap
    argTypes:
    - gs_gstate*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: gs_setlinestartcap
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setlinestartcap(gs_gstate * pgs, gs_line_cap cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - cap
    argTypes:
    - gs_gstate*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: gs_setlineendcap
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setlineendcap(gs_gstate * pgs, gs_line_cap cap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - cap
    argTypes:
    - gs_gstate*
    - gs_line_cap
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 88
    functionName: gs_setlinedashcap
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setlinedashcap(gs_gstate * pgs, gs_line_cap cap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 97
    functionName: gs_currentlinecap
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_line_cap
    signature: gs_line_cap gs_currentlinecap(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - join
    argTypes:
    - gs_gstate*
    - gs_line_join
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 107
    functionName: gs_setlinejoin
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setlinejoin(gs_gstate * pgs, gs_line_join join)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 114
    functionName: gs_currentlinejoin
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_line_join
    signature: gs_line_join gs_currentlinejoin(const gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:121,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gsline.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - plp
    - limit
    argTypes:
    - gx_line_params*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 141
    functionName: gx_set_miter_limit
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 2
    functionsReached:
    - return_error
    - sqrt
    linkageType: ''
    returnType: int
    signature: int gx_set_miter_limit(gx_line_params * plp, double limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_miter_limit
      Src: /src/libspectre/ghostscript/base/gsline.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - limit
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 2
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: gs_setmiterlimit
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gx_set_miter_limit
    linkageType: ''
    returnType: int
    signature: int gs_setmiterlimit(gs_gstate * pgs, double limit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: gs_currentmiterlimit
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_currentmiterlimit(const gs_gstate * pgs)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:173,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsline.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:186,1
    - Dst: f_mod
      Src: /src/libspectre/ghostscript/base/gsline.c:194,1
    - Dst: f_mod
      Src: /src/libspectre/ghostscript/base/gsline.c:196,1
    - Dst: f_mod
      Src: /src/libspectre/ghostscript/base/gsline.c:200,1
    - Dst: f_mod
      Src: /src/libspectre/ghostscript/base/gsline.c:202,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsline.c:210,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsline.c:213,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:217,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsline.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - dash
    - pattern
    - length
    - offset
    - mem
    argTypes:
    - gx_dash_params*
    - float*
    - uint
    - double
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 229
    functionName: gx_set_dash
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 3
    functionsReached:
    - gs_alloc_bytes
    - f_mod
    - gs_resize_object
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_set_dash(gx_dash_params * dash, const float *pattern, uint
      length,\n            double offset, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: f_mod
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f_mod(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_dash
      Src: /src/libspectre/ghostscript/base/gsline.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - pattern
    - length
    - offset
    argTypes:
    - gs_gstate*
    - float*
    - uint
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: gs_setdash
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gx_set_dash
    linkageType: ''
    returnType: int
    signature: int gs_setdash(gs_gstate * pgs, const float *pattern, uint length,
      double offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: gs_currentdash_length
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentdash_length(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 247
    functionName: gs_currentdash_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: 'float *

      gs_currentdash_pattern(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 252
    functionName: gs_currentdash_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_currentdash_offset(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gsline.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: gs_currentlineparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gs_currentlineparams_inline
    linkageType: ''
    returnType: gx_line_params
    signature: 'gx_line_params *

      gs_currentlineparams(const gs_gstate * pgs)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pgs
    - flat
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: gs_gstate_setflat
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_gstate_setflat(gs_gstate * pgs, double flat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_setflat
      Src: /src/libspectre/ghostscript/base/gsline.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - flat
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: gs_setflat
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gs_gstate_setflat
    linkageType: ''
    returnType: int
    signature: int gs_setflat(gs_gstate * pgs, double flat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: gs_currentflat
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_currentflat(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - stroke_adjust
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: gs_setstrokeadjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setstrokeadjust(gs_gstate * pgs, bool stroke_adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 300
    functionName: gs_currentstrokeadjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentstrokeadjust(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - adapt
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 311
    functionName: gs_setdashadapt
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setdashadapt(gs_gstate * pgs, bool adapt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlineparams_inline
      Src: /src/libspectre/ghostscript/base/gsline.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 318
    functionName: gs_gstate_currentdashadapt
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gs_currentlineparams_inline
    linkageType: ''
    returnType: bool
    signature: bool gs_gstate_currentdashadapt(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_currentdashadapt
      Src: /src/libspectre/ghostscript/base/gsline.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 323
    functionName: gs_currentdashadapt
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached:
    - gs_gstate_currentdashadapt
    linkageType: ''
    returnType: bool
    signature: bool gs_currentdashadapt(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:330,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - join
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 333
    functionName: gs_setcurvejoin
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setcurvejoin(gs_gstate * pgs, int join)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 340
    functionName: gs_currentcurvejoin
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_currentcurvejoin(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - accurate
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 349
    functionName: gs_setaccuratecurves
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setaccuratecurves(gs_gstate * pgs, bool accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 356
    functionName: gs_gstate_currentaccuratecurves
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_gstate_currentaccuratecurves(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_currentaccuratecurves
      Src: /src/libspectre/ghostscript/base/gsline.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: gs_currentaccuratecurves
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached:
    - gs_gstate_currentaccuratecurves
    linkageType: ''
    returnType: bool
    signature: bool gs_currentaccuratecurves(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - plp
    - length
    - absolute
    argTypes:
    - gx_line_params*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: gx_set_dot_length
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_set_dot_length(gx_line_params * plp, double length, bool absolute)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_dot_length
      Src: /src/libspectre/ghostscript/base/gsline.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pgs
    - length
    - absolute
    argTypes:
    - gs_gstate*
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: gs_setdotlength
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gx_set_dot_length
    linkageType: ''
    returnType: int
    signature: int gs_setdotlength(gs_gstate * pgs, double length, bool absolute)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 384
    functionName: gs_currentdotlength
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_currentdotlength(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 389
    functionName: gs_currentdotlength_absolute
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentdotlength_absolute(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsline.c:395,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gsline.c:395,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/base/gsline.c:396,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsline.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: gs_setdotorientation
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 1
    functionsReached:
    - gs_currentmatrix
    - is_xxyy
    - return_error
    - is_xyyx
    linkageType: ''
    returnType: int
    signature: int gs_setdotorientation(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gsline.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: gs_dotorientation
    functionSourceFile: /src/libspectre/ghostscript/base/gsline.c
    functionUses: 0
    functionsReached:
    - gs_setmatrix
    linkageType: ''
    returnType: int
    signature: int gs_dotorientation(gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: gp_file_name_root
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_root(const char *fname, uint len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - fname
    - len
    - item
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: gs_file_name_check_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_file_name_check_separator(const char *fname, int len, const
      char *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: gp_file_name_is_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: gp_file_name_is_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_current(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: gp_file_name_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: gp_file_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_directory_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: gp_file_name_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 85
    functionName: gp_file_name_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: gp_file_name_is_parent_allowed
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent_allowed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: gp_file_name_is_empty_item_meanful
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_empty_item_meanful(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine_generic
      Src: /src/libspectre/ghostscript/base/gp_unifn.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 101
    functionName: gp_file_name_combine
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 0
    functionsReached:
    - gp_file_name_combine_generic
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine(const char *prefix,
      uint plen, const char *fname, uint flen,\n                    bool no_sibling,
      char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: gp_file_name_good_char
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_good_char(unsigned char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - cstr
    - rune
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 60
    functionName: codepoint_to_utf8
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int codepoint_to_utf8(char *cstr, int rune)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gsargs.c:75,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gsargs.c:96,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 40
    argCount: 2
    argNames:
    - file
    - astr
    argTypes:
    - gp_file*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 116
    functionName: get_codepoint_utf8
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - gp_fgetc
    linkageType: ''
    returnType: int
    signature: int get_codepoint_utf8(gp_file *file, const char **astr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/base/gsargs.c:145,1
    - Dst: gs_lib_ctx_stash_exe
      Src: /src/libspectre/ghostscript/base/gsargs.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 6
    argNames:
    - pal
    - argv
    - argc
    - (*arg_fopen)(const char *fname, void *fopen_data)
    - fopen_data
    - memory
    argTypes:
    - arg_list*
    - char**
    - int
    - gp_file*
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 149
    functionName: arg_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - arg_next
    - gs_lib_ctx_stash_exe
    linkageType: ''
    returnType: int
    signature: "int arg_init(arg_list     * pal,\n         const char  **argv,\n         int
      \          argc,\n         gp_file      *(*arg_fopen)(const char *fname, void
      *fopen_data),\n         void         *fopen_data,\n         int           (*get_codepoint)(gp_file
      *file, const char **astr),\n         gs_memory_t  *memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: arg_push_decoded_memory_string
      Src: /src/libspectre/ghostscript/base/gsargs.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pal
    - str
    - parsed
    - mem
    argTypes:
    - arg_list*
    - char*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: arg_push_memory_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - arg_push_decoded_memory_string
    linkageType: ''
    returnType: int
    signature: int arg_push_memory_string(arg_list * pal, char *str, bool parsed,
      gs_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - pal
    - str
    - parsed
    - decoded
    - mem
    argTypes:
    - arg_list*
    - char*
    - bool
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 175
    functionName: arg_push_decoded_memory_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 1
    functionsReached:
    - lprintf
    linkageType: ''
    returnType: int
    signature: int arg_push_decoded_memory_string(arg_list * pal, char *str, bool
      parsed, bool decoded, gs_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gsargs.c:186,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsargs.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - pal
    argTypes:
    - arg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: arg_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void arg_finit(arg_list * pal)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gsargs.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pal
    - pas
    argTypes:
    - arg_list*
    - arg_source*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: get_codepoint
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - fn
    linkageType: ''
    returnType: int
    signature: int get_codepoint(arg_list *pal, arg_source *pas)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsargs.c:228,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:229,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:230,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsargs.c:232,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsargs.c:235,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:248,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/base/gsargs.c:249,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gsargs.c:253,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsargs.c:255,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:286,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:288,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/base/gsargs.c:295,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:301,1
    - Dst: is_eol
      Src: /src/libspectre/ghostscript/base/gsargs.c:302,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:304,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:306,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:311,1
    - Dst: is_eol
      Src: /src/libspectre/ghostscript/base/gsargs.c:312,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:314,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:316,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:324,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:325,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:334,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:335,1
    - Dst: codepoint_to_utf8
      Src: /src/libspectre/ghostscript/base/gsargs.c:342,1
    - Dst: is_eol
      Src: /src/libspectre/ghostscript/base/gsargs.c:343,1
    - Dst: get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:344,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:356,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:357,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gsargs.c:361,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:362,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gsargs.c:365,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gsargs.c:365,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:367,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsargs.c:368,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 115
    argCount: 3
    argNames:
    - pal
    - argstr
    - errmem
    argTypes:
    - arg_list*
    - char**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 379
    functionName: arg_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 1
    functionsReached:
    - DISCARD
    - strlen
    - strcpy
    - codepoint_to_utf8
    - isspace
    - gp_fclose
    - get_codepoint
    - gs_remove_control_path
    - is_eol
    - return_error
    - gs_add_control_path
    - errprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int arg_next(arg_list * pal, const char **argstr, const gs_memory_t
      *errmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: is_eol
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_eol(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsargs.c:385,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsargs.c:385,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gsargs.c:388,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsargs.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - mem
    argTypes:
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: arg_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - lprintf
    - strlen
    - strcpy
    - gs_alloc_bytes
    linkageType: ''
    returnType: char
    signature: 'char *

      arg_copy(const char *str, gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsargs.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - mem
    argTypes:
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: arg_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void arg_free(char *str, gs_memory_t * mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: arg_list*::get_codepoint
      Src: /src/libspectre/ghostscript/base/gsargs.c:409,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - pal
    - arg
    - match
    argTypes:
    - arg_list*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 417
    functionName: arg_strcmp
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.c
    functionUses: 0
    functionsReached:
    - arg_list*::get_codepoint
    linkageType: ''
    returnType: int
    signature: int arg_strcmp(arg_list *pal, const char *arg, const char *match)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:76,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pmap
    - data
    - psize
    argTypes:
    - gx_transfer_map*
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 88
    functionName: gx_ht_write_tf
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gx_ht_write_tf(\n    const gx_transfer_map * pmap,\n    byte *
      \                 data,\n    uint *                  psize )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:109,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:120,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:124,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:127,1
    - Dst: gx_set_identity_transfer
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:131,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:134,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:140,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - ppmap
    - data
    - size
    - mem
    argTypes:
    - gx_transfer_map**
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 142
    functionName: gx_ht_read_tf
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - rc_alloc_struct_1
    - memcpy
    - gx_set_identity_transfer
    - rc_decrement
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: "int gx_ht_read_tf(\n    gx_transfer_map **  ppmap,\n    const byte
      *        data,\n    uint                size,\n    gs_memory_t *       mem )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:210,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:211,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:212,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:213,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:214,1
    - Dst: gx_ht_write_tf
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:224,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:228,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:229,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:230,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:231,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:232,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:238,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:240,1
    - Dst: gx_ht_write_tf
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - pcomp
    - data
    - psize
    argTypes:
    - gx_ht_order_component*
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 248
    functionName: gx_ht_write_component
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - gx_ht_write_tf
    - enc_u_putw
    - enc_u_sizew
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_ht_write_component(\n    const gx_ht_order_component *   pcomp,\n
      \   byte *                          data,\n    uint *                          psize
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:279,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:291,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:292,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:293,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:294,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:295,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:296,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:298,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:308,1
    - Dst: gx_ht_alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:342,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:352,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:353,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:356,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:358,1
    - Dst: gx_ht_read_tf
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:362,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:364,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:396,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:397,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:399,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:401,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 4
    argNames:
    - pcomp
    - data
    - size
    - mem
    argTypes:
    - gx_ht_order_component*
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 413
    functionName: gx_ht_read_component
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - gx_ht_order_release
    - gx_ht_alloc_ht_order
    - gx_ht_read_tf
    - memset
    - memcpy
    - memcmp
    - return_error
    - enc_u_getw
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_ht_read_component(\n    gx_ht_order_component * pcomp,\n    const
      byte *            data,\n    uint                    size,\n    gs_memory_t
      *           mem )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:451,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:485,1
    - Dst: gx_ht_write_component
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:487,1
    - Dst: gx_ht_write_component
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:509,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 4
    argNames:
    - pdht
    - dev
    - data
    - psize
    argTypes:
    - gx_device_halftone*
    - gx_device*
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 524
    functionName: gx_ht_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_ht_write_component
    linkageType: ''
    returnType: int
    signature: "int gx_ht_write(\n    const gx_device_halftone *  pdht,\n    const
      gx_device *           dev,\n    byte *                      data,\n    uint
      *                      psize )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:555,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:556,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:563,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:567,1
    - Dst: gx_ht_read_component
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:575,1
    - Dst: gx_gstate_dev_ht_install
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:587,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:590,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gxdhtserial.c:601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - pgs
    - dev
    - data
    - size
    - mem
    argTypes:
    - gs_gstate*
    - gx_device*
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 539
    functionDepth: 3
    functionLinenumber: 539
    functionLinenumberEnd: 605
    functionName: gx_ht_read_and_install
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtserial.c
    functionUses: 0
    functionsReached:
    - gx_ht_order_release
    - gx_ht_read_component
    - gx_gstate_dev_ht_install
    - memset
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_ht_read_and_install(\n    gs_gstate        *       pgs,\n    const
      gx_device *       dev,\n    const byte *            data,\n    uint                    size,\n
      \   gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - smoothness
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: gs_setsmoothness
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setsmoothness(gs_gstate * pgs, double smoothness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: gs_currentsmoothness
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_currentsmoothness(const gs_gstate * pgs)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gscolor3.c:75,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscolor3.c:76,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gscolor3.c:80,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gscolor3.c:82,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscolor3.c:87,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscolor3.c:94,1
    - Dst: gs_pattern2_init
      Src: /src/libspectre/ghostscript/base/gscolor3.c:96,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gscolor3.c:98,1
    - Dst: gs_make_pattern
      Src: /src/libspectre/ghostscript/base/gscolor3.c:99,1
    - Dst: gs_pattern2_set_shfill
      Src: /src/libspectre/ghostscript/base/gscolor3.c:103,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscolor3.c:106,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor3.c:108,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gscolor3.c:112,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gscolor3.c:114,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gscolor3.c:117,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscolor3.c:121,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gscolor3.c:127,1
    - Dst: gx_cpath_to_path
      Src: /src/libspectre/ghostscript/base/gscolor3.c:128,1
    - Dst: gx_fill_path
      Src: /src/libspectre/ghostscript/base/gscolor3.c:130,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gscolor3.c:132,1
    - Dst: gx_fill_path
      Src: /src/libspectre/ghostscript/base/gscolor3.c:134,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gscolor3.c:137,1
    - Dst: gs_pattern_reference
      Src: /src/libspectre/ghostscript/base/gscolor3.c:138,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - pgs
    - psh
    argTypes:
    - gs_gstate*
    - gs_shading_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 51
    functionDepth: 3
    functionLinenumber: 51
    functionLinenumberEnd: 140
    functionName: gs_shfill
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor3.c
    functionUses: 0
    functionsReached:
    - gs_cspace_alloc
    - gs_pattern_reference
    - rc_decrement_cs
    - rc_increment
    - gx_fill_path
    - gs_setcolorspace
    - gs_color_space*::type::remap_color
    - gs_gstate_update_overprint
    - gx_path_init_local
    - dev_proc
    - if_debug0m
    - gx_cpath_to_path
    - gx_path_free
    - gs_make_pattern
    - gs_do_set_overprint
    - ensure_tag_is_set
    - gs_make_identity
    - return_error
    - gs_pattern2_init
    - gs_pattern2_set_shfill
    linkageType: ''
    returnType: int
    signature: int gs_shfill(gs_gstate * pgs, const gs_shading_t * psh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: dev_proc_create_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_create_buf_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: dev_proc_size_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_size_buf_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: dev_proc_destroy_buf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevbuf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_destroy_buf_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: zone_table
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: zone_table(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: float_array
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont1.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float_array(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: stem_table
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stem_table(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: public_st_gs_font_type1
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_type1()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:103,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:111,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:111,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:114,1
    - Dst: gx_semaphore_label
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:117,1
    - Dst: gx_semaphore_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:117,1
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:120,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:121,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:124,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 129
    functionName: gsicc_cache_new
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 2
    functionsReached:
    - rc_init_free
    - gx_monitor_alloc
    - gx_semaphore_label
    - gs_alloc_struct
    - gx_monitor_label
    - gx_monitor_free
    - if_debug2m
    - gx_semaphore_alloc
    - gs_free_object
    linkageType: ''
    returnType: gsicc_link_cache_t
    signature: 'gsicc_link_cache_t *

      gsicc_cache_new(gs_memory_t *memory)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:137,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 142
    functionName: rc_gsicc_link_cache_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void rc_gsicc_link_cache_free(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:152,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:156,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:160,1
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:164,1
    - Dst: gx_semaphore_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: icc_linkcache_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gx_semaphore_free
    - emprintf1
    - gsicc_remove_link
    - gx_monitor_free
    - emprintf2
    linkageType: ''
    returnType: void
    signature: void icc_linkcache_finalize(const gs_memory_t *mem, void *ptr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:182,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:187,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:187,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:190,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:193,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:217,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:221,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:226,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:232,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:237,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:243,1
    - Dst: gsicc_get_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:248,1
    - Dst: gsicc_get_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 52
    argCount: 4
    argNames:
    - memory
    - src_profile
    - des_profile
    - rendering_params
    argTypes:
    - gs_memory_t*
    - cmm_profile_t*
    - cmm_profile_t*
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 257
    functionName: gsicc_alloc_link_dev
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 4
    functionsReached:
    - gx_monitor_enter
    - if_debug1m
    - gsicc_get_profile_handle_buffer
    - gx_monitor_alloc
    - gx_monitor_label
    - gs_malloc
    - gsicc_get_hash
    - gscms_get_link
    - gs_free_object
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_alloc_link_dev(gs_memory_t *memory, cmm_profile_t
      *src_profile,\n    cmm_profile_t *des_profile, gsicc_rendering_param_t *rendering_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - link
    argTypes:
    - gs_memory_t*
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 265
    functionName: gsicc_free_link_dev
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 7
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_free_link_dev(gs_memory_t *memory, gsicc_link_t *link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:274,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:299,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:299,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:302,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:305,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - memory
    - hashcode
    argTypes:
    - gs_memory_t*
    - gsicc_hashlink_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 310
    functionName: gsicc_alloc_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    - if_debug1m
    - gx_monitor_alloc
    - gs_alloc_struct
    - gx_monitor_label
    - gs_free_object
    linkageType: ''
    returnType: gsicc_link_t
    signature: 'gsicc_link_t *

      gsicc_alloc_link(gs_memory_t *memory, gsicc_hashlink_t hashcode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:318,1
    - Dst: gscms_get_link_dim
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:320,1
    - Dst: gsicc_mcm_set_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:337,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:341,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 8
    argNames:
    - icc_link
    - link_handle
    - hashcode
    - lock
    - includes_softproof
    - includes_devlink
    - pageneutralcolor
    - data_cs
    argTypes:
    - gsicc_link_t*
    - void*
    - gsicc_hashlink_t
    - gx_monitor_t*
    - bool
    - bool
    - bool
    - gsicc_colorbuffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 343
    functionName: gsicc_set_link_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    - gx_monitor_enter
    - gscms_get_link_dim
    - gsicc_mcm_set_link
    linkageType: ''
    returnType: void
    signature: "void gsicc_set_link_data(gsicc_link_t *icc_link, void *link_handle,\n
      \                   gsicc_hashlink_t hashcode, gx_monitor_t *lock,\n                    bool
      includes_softproof, bool includes_devlink,\n                    bool pageneutralcolor,
      gsicc_colorbuffer_t data_cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_link_t*::procs::free_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:348,1
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - icc_link
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 351
    functionName: gsicc_link_free_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gsicc_link_t*::procs::free_link
    - gx_monitor_free
    linkageType: ''
    returnType: void
    signature: void gsicc_link_free_contents(gsicc_link_t *icc_link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_link_free_contents
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:356,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - icc_link
    - memory
    argTypes:
    - gsicc_link_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 359
    functionName: gsicc_link_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gsicc_link_free_contents
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_link_free(gsicc_link_t *icc_link, const gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_link_free_contents
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: icc_link_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gsicc_link_free_contents
    linkageType: ''
    returnType: void
    signature: void icc_link_finalize(const gs_memory_t *mem, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hash
    argTypes:
    - gsicc_hashlink_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 374
    functionName: gsicc_mash_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_mash_hash(gsicc_hashlink_t *hash)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 387
    functionName: gsicc_get_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 3
    functionsReached:
    - gsicc_get_icc_buff_hash
    linkageType: ''
    returnType: int64_t
    signature: int64_t gsicc_get_hash(cmm_profile_t *profile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - buffer
    - hash
    - buff_size
    argTypes:
    - unsigned char*
    - int64_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: gsicc_get_icc_buff_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 6
    functionsReached:
    - gsicc_get_buff_hash
    linkageType: ''
    returnType: void
    signature: void gsicc_get_icc_buff_hash(unsigned char *buffer, int64_t *hash,
      unsigned int buff_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:404,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:405,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - data
    - hash
    - num_bytes
    argTypes:
    - unsigned char*
    - int64_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 421
    functionName: gsicc_get_buff_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - gs_md5_append
    - gs_md5_finish
    - gs_md5_init
    linkageType: ''
    returnType: void
    signature: void gsicc_get_buff_hash(unsigned char *data, int64_t *hash, unsigned
      int num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_cspace_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:437,1
    - Dst: gsicc_get_cspace_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:441,1
    - Dst: gsicc_mash_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - icc_manager
    - dev
    - input_profile
    - output_profile
    - rendering_params
    - hash
    argTypes:
    - gsicc_manager_t*
    - gx_device*
    - cmm_profile_t*
    - cmm_profile_t*
    - gsicc_rendering_param_t*
    - gsicc_hashlink_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 459
    functionName: gsicc_compute_linkhash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gsicc_mash_hash
    - gsicc_get_cspace_hash
    linkageType: ''
    returnType: int
    signature: "int gsicc_compute_linkhash(gsicc_manager_t *icc_manager, gx_device
      *dev,\n                       cmm_profile_t *input_profile,\n                       cmm_profile_t
      *output_profile,\n                       gsicc_rendering_param_t *rendering_params,\n
      \                      gsicc_hashlink_t *hash)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:474,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:477,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - icc_manager
    - dev
    - cmm_icc_profile_data
    - hash
    argTypes:
    - gsicc_manager_t*
    - gx_device*
    - cmm_profile_t*
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 492
    functionName: gsicc_get_cspace_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - gsicc_get_icc_buff_hash
    - dev_proc
    - gsicc_extract_profile
    linkageType: ''
    returnType: int
    signature: "int gsicc_get_cspace_hash(gsicc_manager_t *icc_manager, gx_device
      *dev,\n                      cmm_profile_t *cmm_icc_profile_data, int64_t *hash)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:502,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:523,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:526,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:527,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:528,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:533,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:535,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:537,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:543,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - hash
    - icc_link_cache
    - includes_proof
    - includes_devlink
    argTypes:
    - gsicc_hashlink_t
    - gsicc_link_cache_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 545
    functionName: gsicc_findcachelink
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - if_debug3m
    - gx_monitor_enter
    - gx_monitor_leave
    - emprintf1
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_findcachelink(gsicc_hashlink_t hash, gsicc_link_cache_t
      *icc_link_cache,\n                    bool includes_proof, bool includes_devlink)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:554,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:558,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:560,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:584,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:586,1
    - Dst: gsicc_link_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:587,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - link
    - memory
    argTypes:
    - gsicc_link_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 592
    functionName: gsicc_remove_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - gx_monitor_leave
    - gx_monitor_enter
    - gsicc_link_free
    - gx_semaphore_signal
    - if_debug2m
    - emprintf2
    linkageType: ''
    returnType: void
    signature: void gsicc_remove_link(gsicc_link_t *link, const gs_memory_t *memory)
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 5
    argNames:
    - data_cs
    - graphics_type_tag
    - srcgtag_profile
    - profile
    - render_cond
    argTypes:
    - gsicc_colorbuffer_t
    - gs_graphics_type_tag_t
    - cmm_srcgtag_profile_t*
    - cmm_profile_t**
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 651
    functionName: gsicc_get_srcprofile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_get_srcprofile(gsicc_colorbuffer_t data_cs,\n    gs_graphics_type_tag_t
      graphics_type_tag,\n    cmm_srcgtag_profile_t *srcgtag_profile, cmm_profile_t
      **profile,\n    gsicc_rendering_param_t *render_cond)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_gscs_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:683,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:689,1
    - Dst: gsicc_get_srcprofile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:698,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:713,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:736,1
    - Dst: gsicc_nocm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:750,1
    - Dst: gsicc_nocm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:752,1
    - Dst: gsicc_rcm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:763,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:778,1
    - Dst: gsicc_use_fast_color
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:783,1
    - Dst: gsicc_nocm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:785,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:795,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:826,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 90
    argCount: 6
    argNames:
    - pgs1
    - dev_in
    - pcs_in
    - output_colorspace
    - rendering_params
    - memory
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_color_space*
    - gs_color_space*
    - gsicc_rendering_param_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 828
    functionName: gsicc_get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 3
    functionsReached:
    - dev_proc
    - gsicc_nocm_get_link
    - gsicc_use_fast_color
    - gsicc_get_gscs_profile
    - gsicc_get_default_type
    - gsicc_extract_profile
    - gsicc_rcm_get_link
    - gsicc_get_srcprofile
    - gsicc_get_link_profile
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_get_link(const gs_gstate *pgs1, gx_device *dev_in,\n
      \              const gs_color_space *pcs_in,\n               gs_color_space
      *output_colorspace,\n               gsicc_rendering_param_t *rendering_params,
      gs_memory_t *memory)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:847,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:861,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:870,1
    - Dst: gx_semaphore_wait
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:871,1
    - Dst: gsicc_findcachelink
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:874,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:880,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:886,1
    - Dst: gsicc_alloc_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:892,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:902,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 5
    argNames:
    - icc_link_cache
    - ret_link
    - hash
    - include_softproof
    - include_devlink
    argTypes:
    - gsicc_link_cache_t*
    - gsicc_link_t**
    - gsicc_hashlink_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 836
    functionDepth: 4
    functionLinenumber: 836
    functionLinenumberEnd: 904
    functionName: gsicc_alloc_link_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - gx_monitor_enter
    - gx_monitor_leave
    - gsicc_alloc_link
    - if_debug3m
    - gsicc_findcachelink
    - gx_semaphore_wait
    - gsicc_remove_link
    linkageType: ''
    returnType: bool
    signature: "bool gsicc_alloc_link_entry(gsicc_link_cache_t *icc_link_cache,\n
      \                      gsicc_link_t **ret_link, gsicc_hashlink_t hash,\n                       bool
      include_softproof, bool include_devlink)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:942,1
    - Dst: gsicc_compute_linkhash
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:965,1
    - Dst: gsicc_findcachelink
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:971,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:975,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:978,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:982,1
    - Dst: gsicc_get_profile_handle_clist
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:999,1
    - Dst: gsicc_nocm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1012,1
    - Dst: gsicc_nocm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1014,1
    - Dst: gsicc_rcm_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1026,1
    - Dst: gsicc_alloc_link_entry
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1038,1
    - Dst: gsicc_profile_from_ps
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1052,1
    - Dst: gscms_avoid_white_fix_flag
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1053,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1058,1
    - Dst: gsicc_initialize_default_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1067,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1073,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1085,1
    - Dst: gsicc_initialize_default_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1090,1
    - Dst: gsicc_get_profile_handle_clist
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1098,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1105,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1115,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1119,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1120,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1123,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1133,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1137,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1138,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1141,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1147,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1148,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1150,1
    - Dst: gsicc_set_iccsmaskprofile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1165,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1165,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1170,1
    - Dst: gsicc_initialize_iccsmask
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1175,1
    - Dst: gscms_get_link_proof_devlink
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1187,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1194,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1196,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1199,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1203,1
    - Dst: gscms_is_threadsafe
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1207,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1209,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1211,1
    - Dst: gsicc_set_link_data
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1217,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1220,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1223,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1227,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1236,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1241,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1243,1
    - Dst: gsicc_remove_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1244,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 181
    argCount: 7
    argNames:
    - pgs
    - dev
    - gs_input_profile
    - gs_output_profile
    - rendering_params
    - memory
    - devicegraytok
    argTypes:
    - gs_gstate*
    - gx_device*
    - cmm_profile_t*
    - cmm_profile_t*
    - gsicc_rendering_param_t*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1248
      start: 913
    functionDepth: 5
    functionLinenumber: 913
    functionLinenumberEnd: 1248
    functionName: gsicc_get_link_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 3
    functionsReached:
    - gscms_is_threadsafe
    - gx_monitor_enter
    - gsicc_get_profile_handle_buffer
    - strlen
    - gsicc_get_profile_handle_clist
    - gsicc_alloc_link_entry
    - gscms_get_link
    - gsicc_set_link_data
    - gsicc_findcachelink
    - gsicc_rcm_get_link
    - gsicc_remove_link
    - gsicc_set_iccsmaskprofile
    - if_debug2m
    - gsicc_compute_linkhash
    - gx_monitor_leave
    - gsicc_nocm_get_link
    - gscms_avoid_white_fix_flag
    - gsicc_initialize_default_profile
    - gsicc_initialize_iccsmask
    - gscms_get_link_proof_devlink
    - gx_semaphore_signal
    - dev_proc
    - gsicc_profile_from_ps
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_get_link_profile(const gs_gstate *pgs, gx_device
      *dev,\n                       cmm_profile_t *gs_input_profile,\n                       cmm_profile_t
      *gs_output_profile,\n                       gsicc_rendering_param_t *rendering_params,\n
      \                      gs_memory_t *memory, bool devicegraytok)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffptr
    - buffer_count
    argTypes:
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1313
    functionDepth: 0
    functionLinenumber: 1313
    functionLinenumberEnd: 1329
    functionName: get_to_next_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_to_next_line(char **buffptr, int *buffer_count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1347,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1352,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - ptr
    - memory
    argTypes:
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1359
    functionName: gsicc_named_profile_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void gsicc_named_profile_release(void *ptr, gs_memory_t *memory)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1381,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1384,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1390,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1392,1
    - Dst: get_to_next_line
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1397,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1399,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1404,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1407,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1409,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1415,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1417,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1429,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1434,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1439,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1442,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1444,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1446,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1448,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1451,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1452,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 2
    argNames:
    - mem
    - named_profile
    argTypes:
    - gs_memory_t*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1468
    functionName: create_named_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - sscanf
    - strlen
    - get_to_next_line
    - strncpy
    - gs_malloc
    - return_error
    - gs_free
    - gs_strtok
    linkageType: ''
    returnType: int
    signature: int create_named_profile(gs_memory_t *mem, cmm_profile_t *named_profile)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1481,1
    - Dst: create_named_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1492,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1506,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1515,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1519,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1520,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1523,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1524,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1525,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1526,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1537,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 48
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1559
      start: 1474
    functionDepth: 2
    functionLinenumber: 1474
    functionLinenumberEnd: 1559
    functionName: gsicc_support_named_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 1
    functionsReached:
    - create_named_profile
    - strncmp
    - strlen
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool gsicc_support_named_color(const gs_color_space *pcs, const gs_gstate
      *pgs)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1593,1
    - Dst: create_named_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1601,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1620,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1628,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1680,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1681,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1685,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1696,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 8
    argNames:
    - tint_values
    - color_names
    - num_names
    - device_values
    - pgs
    - dev
    - gs_output_profile
    - rendering_params
    argTypes:
    - float[]
    - gsicc_namedcolor_t[]
    - uint
    - gx_color_value[]
    - gs_gstate*
    - gx_device*
    - cmm_profile_t*
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1563
    functionDepth: 6
    functionLinenumber: 1563
    functionLinenumberEnd: 1715
    functionName: gsicc_transform_named_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 0
    functionsReached:
    - gsicc_get_link_profile
    - gsicc_extract_profile
    - strncmp
    - memset
    - create_named_profile
    - gsicc_release_link
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gsicc_transform_named_color(const float tint_values[],\n                            gsicc_namedcolor_t
      color_names[],\n                            uint num_names,\n                            gx_color_value
      device_values[],\n                            const gs_gstate *pgs, gx_device
      *dev,\n                            cmm_profile_t *gs_output_profile,\n                            gsicc_rendering_param_t
      *rendering_params)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1729,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1730,1
    - Dst: gx_semaphore_signal
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1770,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_cache.c:1773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 1
    argNames:
    - icclink
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1719
    functionDepth: 1
    functionLinenumber: 1719
    functionLinenumberEnd: 1774
    functionName: gsicc_release_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 5
    functionsReached:
    - gx_monitor_leave
    - gx_monitor_enter
    - gx_semaphore_signal
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void gsicc_release_link(gsicc_link_t *icclink)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 10
    argNames:
    - buffer_desc
    - num_chan
    - bytes_per_chan
    - has_alpha
    - alpha_first
    - is_planar
    - plane_stride
    - row_stride
    - num_rows
    - pixels_per_row
    argTypes:
    - gsicc_bufferdesc_t*
    - unsigned char
    - unsigned char
    - bool
    - bool
    - bool
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1797
    functionName: gsicc_init_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_init_buffer(gsicc_bufferdesc_t *buffer_desc, unsigned char
      num_chan, unsigned char bytes_per_chan,\n                  bool has_alpha, bool
      alpha_first, bool is_planar, int plane_stride, int row_stride,\n                  int
      num_rows, int pixels_per_row)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev_profile
    argTypes:
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1810
    functionName: gsicc_get_device_profile_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_cache.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsicc_get_device_profile_comps(const cmm_dev_profile_t *dev_profile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: private_st_RLE_state
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_RLE_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 52
    functionName: s_RLE_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_RLE_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: s_RLE_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_RLE_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: private_st_RLD_state
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_RLD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    functionName: s_RLD_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_RLD_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: s_RLD_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/srlx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_RLD_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: private_st_MD5E_state
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_MD5E_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:40,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pmem
    - pvht
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 42
    functionName: free_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void free_comps(\n              gs_memory_t * pmem,\n              void
      *pvht,\n              client_name_t cname\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - val
    - pmap_dummy
    - dummy
    argTypes:
    - double
    - gx_transfer_map*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: null_closure_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: "float null_closure_transfer(\n                         double val,\n
      \                        const gx_transfer_map * pmap_dummy,\t/* NOTUSED */\n
      \                        const void *dummy\t/* NOTUSED */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:75,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gshtx.c:78,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:82,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gshtx.c:85,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:92,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - ppht
    - num_comps
    - pmem
    argTypes:
    - gs_ht**
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 110
    functionName: gs_ht_build
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct_array
    - rc_alloc_struct_1
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_ht_build(\n               gs_ht ** ppht,\n               uint
      num_comps,\n               gs_memory_t * pmem\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:130,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 7
    argNames:
    - pht
    - comp
    - freq
    - angle
    - accurate
    - transfer
    - client_data
    argTypes:
    - gs_ht*
    - int
    - double
    - double
    - bool
    - gs_ht_transfer_proc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 146
    functionName: gs_ht_set_spot_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_ht_set_spot_comp(\n                       gs_ht * pht,\n                       int
      comp,\n                       double freq,\n                       double angle,\n
      \                      float (*spot_func) (double, double),\n                       bool
      accurate,\n                       gs_ht_transfer_proc transfer,\n                       const
      void *client_data\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:166,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 7
    argNames:
    - pht
    - comp
    - width
    - height
    - thresholds
    - transfer
    - client_data
    argTypes:
    - gs_ht*
    - int
    - int
    - int
    - gs_const_string*
    - gs_ht_transfer_proc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 181
    functionName: gs_ht_set_threshold_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_ht_set_threshold_comp(\n                            gs_ht *
      pht,\n                            int comp,\n                            int
      width,\n                            int height,\n                            const
      gs_const_string * thresholds,\n                            gs_ht_transfer_proc
      transfer,\n                            const void *client_data\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gshtx.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pht
    argTypes:
    - gs_ht*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: gs_ht_reference
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - rc_increment
    linkageType: ''
    returnType: void
    signature: "void gs_ht_reference(\n                   gs_ht * pht\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gshtx.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pht
    argTypes:
    - gs_ht*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 204
    functionName: gs_ht_release
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: "void gs_ht_release(\n                 gs_ht * pht\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - pht
    argTypes:
    - gs_ht*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: check_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int check_ht(\n            gs_ht * pht\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gshtx.c:251,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gshtx.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - phtc
    - pmap
    argTypes:
    - gs_ht_component*
    - gx_transfer_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 257
    functionName: build_transfer_map
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - proc
    - float2frac
    linkageType: ''
    returnType: void
    signature: "void build_transfer_map(\n                      gs_ht_component *
      phtc,\n                      gx_transfer_map * pmap\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gshtx.c:272,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gshtx.c:288,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:298,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:299,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gshtx.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - pht
    - pmem
    - comp2order
    argTypes:
    - gs_ht*
    - gs_memory_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 314
    functionName: alloc_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - gs_free_object
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_ht_order_component
    signature: "gx_ht_order_component *\nalloc_ht_order(\n                  const
      gs_ht * pht,\n                  gs_memory_t * pmem,\n                  byte
      * comp2order\n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_process_screen_memory
      Src: /src/libspectre/ghostscript/base/gshtx.c:331,1
    - Dst: gx_ht_alloc_threshold_order
      Src: /src/libspectre/ghostscript/base/gshtx.c:354,1
    - Dst: gx_ht_construct_threshold_order
      Src: /src/libspectre/ghostscript/base/gshtx.c:362,1
    - Dst: build_transfer_map
      Src: /src/libspectre/ghostscript/base/gshtx.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - phtc
    - porder
    - pgs
    - pmem
    argTypes:
    - gs_ht_component*
    - gx_ht_order*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 375
    functionName: build_component
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - gx_ht_construct_threshold_order
    - gx_ht_alloc_threshold_order
    - build_transfer_map
    - gx_ht_process_screen_memory
    linkageType: ''
    returnType: int
    signature: "int build_component(\n                   gs_ht_component * phtc,\n
      \                  gx_ht_order * porder,\n                   gs_gstate * pgs,\n
      \                  gs_memory_t * pmem\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gshtx.c:390,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pocs
    - num_comps
    - pmem
    argTypes:
    - gx_ht_order_component*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 392
    functionName: free_order_array
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - gx_ht_order_release
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void free_order_array(\n                    gx_ht_order_component
      * pocs,\n                    int num_comps,\n                    gs_memory_t
      * pmem\n)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_ht
      Src: /src/libspectre/ghostscript/base/gshtx.c:412,1
    - Dst: alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gshtx.c:416,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:417,1
    - Dst: build_component
      Src: /src/libspectre/ghostscript/base/gshtx.c:423,1
    - Dst: gx_ht_alloc_cache
      Src: /src/libspectre/ghostscript/base/gshtx.c:432,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:440,1
    - Dst: gx_ht_init_cache
      Src: /src/libspectre/ghostscript/base/gshtx.c:443,1
    - Dst: free_order_array
      Src: /src/libspectre/ghostscript/base/gshtx.c:451,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gshtx.c:459,1
    - Dst: gx_ht_install
      Src: /src/libspectre/ghostscript/base/gshtx.c:467,1
    - Dst: gx_device_halftone_release
      Src: /src/libspectre/ghostscript/base/gshtx.c:468,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 2
    argNames:
    - pgs
    - pht
    argTypes:
    - gs_gstate*
    - gs_ht*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 470
    functionName: gs_ht_install
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - gx_ht_init_cache
    - gx_device_halftone_release
    - build_component
    - check_ht
    - free_order_array
    - gx_ht_install
    - return_error
    - gs_note_error
    - gx_ht_alloc_cache
    - alloc_ht_order
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_ht_install(\n                 gs_gstate * pgs,\n                 gs_ht
      * pht\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_construct_bit
      Src: /src/libspectre/ghostscript/base/gshtx.c:497,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - mask1
    - mask2
    - width
    - height
    - bits
    argTypes:
    - byte*
    - byte*
    - int
    - int
    - gx_ht_bit*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 502
    functionName: create_mask_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - gx_ht_construct_bit
    linkageType: ''
    returnType: int
    signature: "int create_mask_bits(const byte * mask1, const byte * mask2,\n                 int
      width, int height, gx_ht_bit * bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: create_mask_bits
      Src: /src/libspectre/ghostscript/base/gshtx.c:522,1
    - Dst: gx_ht_alloc_client_order
      Src: /src/libspectre/ghostscript/base/gshtx.c:524,1
    - Dst: create_mask_bits
      Src: /src/libspectre/ghostscript/base/gshtx.c:534,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - porder
    - pgs
    - phcop
    - mem
    argTypes:
    - gx_ht_order*
    - gs_gstate*
    - gs_client_order_halftone*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 503
    functionDepth: 2
    functionLinenumber: 503
    functionLinenumberEnd: 541
    functionName: create_mask_order
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - create_mask_bits
    - gx_ht_alloc_client_order
    linkageType: ''
    returnType: int
    signature: "int create_mask_order(gx_ht_order * porder, gs_gstate * pgs,\n                  const
      gs_client_order_halftone * phcop,\n                  gs_memory_t * mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:566,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtx.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - pht
    - component_index
    - width
    - height
    - num_levels
    - masks
    - transfer
    - client_data
    argTypes:
    - gs_ht*
    - int
    - int
    - int
    - int
    - byte*
    - gs_ht_transfer_proc
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 582
    functionName: gs_ht_set_mask_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_ht_set_mask_comp(gs_ht * pht,\n                    int component_index,\n
      \                   int width, int height, int num_levels,\n                    const
      byte * masks,\t\t/* width x height x num_levels bits */\n                    gs_ht_transfer_proc
      transfer,\n                    const void *client_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxcht.c:82,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxcht.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: gx_dc_ht_colored_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gx_dc_ht_colored_save_dc(const gx_device_color * pdevc,\n                         gx_device_color_saved
      * psdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: gx_dc_ht_colored_get_dev_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_halftone
    signature: 'gx_device_halftone *

      gx_dc_ht_colored_get_dev_halftone(const gx_device_color * pdevc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxcht.c:115,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxcht.c:118,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: gx_dc_ht_colored_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_ht_colored_equal(const gx_device_color * pdevc1,\n                       const
      gx_device_color * pdevc2)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:204,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:208,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxcht.c:216,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxcht.c:228,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxcht.c:238,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxcht.c:240,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxcht.c:243,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxcht.c:247,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxcht.c:256,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:269,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxcht.c:289,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxcht.c:303,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxcht.c:305,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxcht.c:308,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxcht.c:312,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxcht.c:317,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 78
    argCount: 6
    argNames:
    - pdevc
    - psdc0
    - dev
    - offset
    - pdata
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 321
    functionName: gx_dc_ht_colored_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - enc_u_putw
    - enc_u_sizew
    - memcpy
    - memcmp
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_colored_write(\n    const gx_device_color *         pdevc,\n
      \   const gx_device_color_saved *   psdc0,\n    const gx_device *               dev,\n
      \   int64_t\t\t\t    offset,\n    byte *                          pdata,\n    uint
      *                          psize )"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:371,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxcht.c:377,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:393,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:413,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxcht.c:415,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:427,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxcht.c:430,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxcht.c:432,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxcht.c:435,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:442,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxcht.c:443,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcht.c:456,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxcht.c:457,1
    - Dst: color_set_phase_mod
      Src: /src/libspectre/ghostscript/base/gxcht.c:462,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 471
    functionName: gx_dc_ht_colored_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - color_set_phase_mod
    - memset
    - memcpy
    - return_error
    - enc_u_getw
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_colored_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate * pgs,\n    const gx_device_color * prior_devc,\n    const gx_device
      *       dev,\n    int64_t\t\t    offset,\n    const byte *            pdata,\n
      \   uint                    size,\n    gs_memory_t *           mem )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pdevc
    - dev_ignored
    - pcomp_bits
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: gx_dc_ht_colored_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_colored_get_nonzero_comps(\n    const gx_device_color
      * pdevc,\n    const gx_device *       dev_ignored,\n    gx_color_index *        pcomp_bits
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 530
    functionName: SET_HT_COLORS_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_HT_COLORS_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: SET_COLOR_HT_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_COLOR_HT_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - ignore_dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 566
    functionName: gx_dc_ht_colored_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_colored_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                      gx_device * ignore_dev, gs_color_select_t select)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:850,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:854,1
    - Dst: gx_render_ht
      Src: /src/libspectre/ghostscript/base/gxcht.c:855,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:861,1
    - Dst: gx_render_ht
      Src: /src/libspectre/ghostscript/base/gxcht.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - i
    - pvp
    - pdc
    - sbits
    - caches
    - max_color
    - invert
    argTypes:
    - int
    - color_values_pair_t*
    - gx_device_color*
    - gx_const_strip_bitmap*[]
    - gx_ht_cache*[]
    - gx_color_value
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 864
    functionName: set_plane_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - fractional_color
    - gx_render_ht
    linkageType: ''
    returnType: void
    signature: "void set_plane_color(int i, color_values_pair_t *pvp, const gx_device_color
      * pdc,\n    const gx_const_strip_bitmap * sbits[MAX_DCC], gx_ht_cache * caches[MAX_DCC],
      \n    gx_color_value max_color, bool invert)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: set_plane_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:886,1
    - Dst: set_plane_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:888,1
    - Dst: set_plane_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:891,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:903,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:910,1
    - Dst: set_plane_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:914,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:926,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:946,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:946,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:946,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:946,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:947,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:947,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:947,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:947,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:949,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:949,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:949,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:949,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:951,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:951,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:953,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:956,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:956,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:956,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:956,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:958,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:958,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:960,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:963,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:963,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:963,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:963,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:965,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:965,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:968,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:968,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:970,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:973,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:973,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:973,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:973,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:976,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:976,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:979,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:979,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:982,1
    - Dst: M
      Src: /src/libspectre/ghostscript/base/gxcht.c:986,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 117
    argCount: 7
    argNames:
    - pvp
    - colors
    - sbits
    - pdc
    - dev
    - caches
    - nplanes
    argTypes:
    - color_values_pair_t*
    - gx_color_index[]
    - gx_const_strip_bitmap*[]
    - gx_device_color*
    - gx_device*
    - gx_ht_cache*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 867
    functionDepth: 2
    functionLinenumber: 867
    functionLinenumberEnd: 991
    functionName: set_ht_colors_le_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - M
    - fractional_color
    - set_plane_color
    linkageType: ''
    returnType: int
    signature: "int set_ht_colors_le_4(color_values_pair_t *pvp /* only used internally
      */,\n                   gx_color_index colors[MAX_DCC_16] /* 16 used */,\n                   const
      gx_const_strip_bitmap * sbits[MAX_DCC],\n                   const gx_device_color
      * pdc, gx_device * dev,\n                   gx_ht_cache * caches[MAX_DCC], int
      nplanes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 902
    functionName: M
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 910
    functionName: M
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 942
    functionName: M
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 44
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: M(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_PLANE_COLOR_CMYK
      Src: /src/libspectre/ghostscript/base/gxcht.c:1035,1
    - Dst: SET_PLANE_COLOR_CMYK
      Src: /src/libspectre/ghostscript/base/gxcht.c:1036,1
    - Dst: SET_PLANE_COLOR_CMYK
      Src: /src/libspectre/ghostscript/base/gxcht.c:1037,1
    - Dst: SET_PLANE_COLOR_CMYK
      Src: /src/libspectre/ghostscript/base/gxcht.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - ignore_pvp
    - colors
    - sbits
    - pdc
    - dev
    - caches
    - nplanes
    argTypes:
    - color_values_pair_t*
    - gx_color_index[]
    - gx_const_strip_bitmap*[]
    - gx_device_color*
    - gx_device*
    - gx_ht_cache*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1050
    functionName: set_cmyk_1bit_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - SET_PLANE_COLOR_CMYK
    linkageType: ''
    returnType: int
    signature: "int set_cmyk_1bit_colors(color_values_pair_t *ignore_pvp,\n                     gx_color_index
      colors[MAX_DCC_16] /*2 used*/,\n                     const gx_const_strip_bitmap
      * sbits[MAX_DCC /*4 used*/],\n                     const gx_device_color * pdc,
      gx_device * dev,\n                     gx_ht_cache * caches[MAX_DCC /*4 used*/],\n
      \                    int nplanes /*4*/)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1034
    functionName: SET_PLANE_COLOR_CMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_PLANE_COLOR_CMYK(i, mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: set_plane_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:1074,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxcht.c:1077,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcht.c:1090,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcht.c:1094,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - pvp
    - colors
    - sbits
    - pdc
    - dev
    - caches
    - nplanes
    argTypes:
    - color_values_pair_t*
    - gx_color_index[]
    - gx_const_strip_bitmap*[]
    - gx_device_color*
    - gx_device*
    - gx_ht_cache*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1100
    functionName: set_ht_colors_gt_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - fractional_color
    - dev_proc
    - set_plane_color
    linkageType: ''
    returnType: int
    signature: "int set_ht_colors_gt_4(color_values_pair_t *pvp,\n                   gx_color_index
      colors[MAX_DCC_16 /* 2 * nplanes */],\n                   const gx_const_strip_bitmap
      * sbits[MAX_DCC],\n                   const gx_device_color * pdc, gx_device
      * dev,\n                   gx_ht_cache * caches[MAX_DCC], int nplanes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gxcht.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 5
    argNames:
    - i
    - ptc
    - btile
    - endx
    - lasty
    argTypes:
    - int
    - tile_cursor_t*
    - gx_const_strip_bitmap*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1142
    functionName: init_tile_cursor
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - if_debug6
    linkageType: ''
    returnType: void
    signature: "void init_tile_cursor(int i, tile_cursor_t *ptc, const gx_const_strip_bitmap
      *btile,\n                 int endx, int lasty)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - ptc
    - psbit
    argTypes:
    - tile_cursor_t*
    - gx_const_strip_bitmap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1162
    functionName: wrap_shifted_cursor
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wrap_shifted_cursor(tile_cursor_t *ptc, const gx_const_strip_bitmap
      *psbit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1163
    functionDepth: 0
    functionLinenumber: 1163
    functionLinenumberEnd: 1167
    functionName: STEP_ROW
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STEP_ROW(c, i)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gxcht.c:1213,1
    - Dst: init_tile_cursor
      Src: /src/libspectre/ghostscript/base/gxcht.c:1223,1
    - Dst: init_tile_cursor
      Src: /src/libspectre/ghostscript/base/gxcht.c:1225,1
    - Dst: init_tile_cursor
      Src: /src/libspectre/ghostscript/base/gxcht.c:1227,1
    - Dst: init_tile_cursor
      Src: /src/libspectre/ghostscript/base/gxcht.c:1229,1
    - Dst: NEXT_BITS
      Src: /src/libspectre/ghostscript/base/gxcht.c:1262,1
    - Dst: NEXT_BITS
      Src: /src/libspectre/ghostscript/base/gxcht.c:1267,1
    - Dst: NEXT_BITS
      Src: /src/libspectre/ghostscript/base/gxcht.c:1271,1
    - Dst: NEXT_BITS
      Src: /src/libspectre/ghostscript/base/gxcht.c:1275,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxcht.c:1279,1
    - Dst: STEP_ROW
      Src: /src/libspectre/ghostscript/base/gxcht.c:1365,1
    - Dst: STEP_ROW
      Src: /src/libspectre/ghostscript/base/gxcht.c:1367,1
    - Dst: STEP_ROW
      Src: /src/libspectre/ghostscript/base/gxcht.c:1369,1
    - Dst: STEP_ROW
      Src: /src/libspectre/ghostscript/base/gxcht.c:1371,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 105
    argCount: 14
    argNames:
    - dest_data
    - dest_raster
    - px
    - py
    - w
    - h
    - depth
    - special
    - nplanes
    - plane_mask
    - ignore_dev
    - ignore_pvp
    - colors
    - sbits
    argTypes:
    - byte*
    - uint
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device*
    - color_values_pair_t*
    - gx_color_index[]
    - gx_const_strip_bitmap*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1373
    functionName: set_color_ht_le_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - if_debug6
    - init_tile_cursor
    - NEXT_BITS
    - min
    - STEP_ROW
    linkageType: ''
    returnType: void
    signature: "void set_color_ht_le_4(byte *dest_data, uint dest_raster, int px,
      int py,\n                  int w, int h, int depth, int special, int nplanes,\n
      \                 gx_color_index plane_mask, gx_device *ignore_dev,\n                  const
      color_values_pair_t *ignore_pvp,\n                  gx_color_index colors[MAX_DCC_16],\n
      \                 const gx_const_strip_bitmap * sbits[MAX_DCC])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1244
    functionDepth: 0
    functionLinenumber: 1244
    functionLinenumberEnd: 1261
    functionName: NEXT_BITS
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_BITS(c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gxcht.c:1405,1
    - Dst: init_tile_cursor
      Src: /src/libspectre/ghostscript/base/gxcht.c:1417,1
    - Dst: STEP_ROW
      Src: /src/libspectre/ghostscript/base/gxcht.c:1482,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 14
    argNames:
    - dest_data
    - dest_raster
    - px
    - py
    - w
    - h
    - depth
    - special
    - num_planes
    - plane_mask
    - dev
    - pvp
    - colors
    - sbits
    argTypes:
    - byte*
    - uint
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device*
    - color_values_pair_t*
    - gx_color_index[]
    - gx_const_strip_bitmap*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1380
    functionDepth: 2
    functionLinenumber: 1380
    functionLinenumberEnd: 1484
    functionName: set_color_ht_gt_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxcht.c
    functionUses: 0
    functionsReached:
    - STEP_ROW
    - if_debug6
    - init_tile_cursor
    linkageType: ''
    returnType: void
    signature: "void set_color_ht_gt_4(byte *dest_data, uint dest_raster, int px,
      int py,\n                  int w, int h, int depth, int special, int num_planes,\n
      \                 gx_color_index plane_mask, gx_device *dev,\n                  const
      color_values_pair_t *pvp,\n                  gx_color_index colors[MAX_DCC_16],\n
      \                 const gx_const_strip_bitmap * sbits[MAX_DCC])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: public_st_clip_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_clip_rect()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 82
    functionName: public_st_clip_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_clip_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - clp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: clip_list_is_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clip_list_is_rectangle(clp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: public_st_device_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_clip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - str
    - ','
    - ar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: clip_rect_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clip_rect_print(ch, str, ar)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: iodev_proc_open_file
      Src: /src/libspectre/ghostscript/base/strmio.c:43,1
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/base/strmio.c:45,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/strmio.c:45,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/strmio.c:48,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/strmio.c:48,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/strmio.c:54,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/strmio.c:54,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/strmio.c:59,1
    - Dst: file_open_stream
      Src: /src/libspectre/ghostscript/base/strmio.c:62,1
    - Dst: open_file
      Src: /src/libspectre/ghostscript/base/strmio.c:65,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/base/strmio.c:69,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/strmio.c:69,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/strmio.c:72,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/strmio.c:73,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/strmio.c:75,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/strmio.c:75,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 3
    argNames:
    - path
    - mode
    - mem
    argTypes:
    - char*
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 80
    functionName: sfopen
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 2
    functionsReached:
    - sclose
    - errwrite
    - open_file
    - strlen
    - gs_parse_file_name
    - iodev_default
    - ssetfilename
    - file_open_stream
    - iodev_proc_open_file
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: 'stream *

      sfopen(const char *path, const char *mode, gs_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/strmio.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ptr
    - size
    - count
    - s
    argTypes:
    - void*
    - size_t
    - size_t
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 96
    functionName: sfread
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 3
    functionsReached:
    - sgets
    linkageType: ''
    returnType: int
    signature: int sfread(void *ptr, size_t size, size_t count, stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/strmio.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: sfgetc
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - sgetc
    linkageType: ''
    returnType: int
    signature: int sfgetc(stream *s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/strmio.c:118,1
    - Dst: savailable
      Src: /src/libspectre/ghostscript/base/strmio.c:122,1
    - Dst: s_can_seek
      Src: /src/libspectre/ghostscript/base/strmio.c:126,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/strmio.c:126,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/strmio.c:127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - s
    - offset
    - whence
    argTypes:
    - stream*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 130
    functionName: sfseek
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - s_can_seek
    - sseek
    - savailable
    - stell
    linkageType: ''
    returnType: int
    signature: int sfseek(stream *s, gs_offset_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/strmio.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: srewind
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - sfseek
    linkageType: ''
    returnType: int
    signature: int srewind(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/strmio.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: sftell
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - stell
    linkageType: ''
    returnType: long
    signature: long sftell(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: sfeof
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sfeof(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: sferror
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sferror(stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/strmio.c:177,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/strmio.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: sfclose
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 3
    functionsReached:
    - sclose
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int sfclose(stream *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_stdin_read
      Src: /src/libspectre/ghostscript/base/strmio.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 214
    functionName: s_stdin_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - gp_stdin_read
    linkageType: ''
    returnType: int
    signature: "int s_stdin_read_process(stream_state * st, stream_cursor_read * ignore_pr,\n
      \                    stream_cursor_write * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/base/strmio.c:226,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/strmio.c:232,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/strmio.c:234,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/strmio.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - ps
    - mem
    argTypes:
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: gs_get_callout_stdin
    functionSourceFile: /src/libspectre/ghostscript/base/strmio.c
    functionUses: 0
    functionsReached:
    - return_error
    - file_alloc_stream
    - s_std_init
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gs_get_callout_stdin(stream **ps, gs_memory_t *mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclipm.c:133,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclipm.c:134,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclipm.c:135,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclipm.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 159
    functionName: mask_clip_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - fixed2int
    linkageType: ''
    returnType: int
    signature: "int mask_clip_fill_rectangle_hl_color(gx_device *dev,\n    const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclipm.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 186
    functionName: mask_clip_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mask_clip_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - data
    - ','
    - sourcex
    - ','
    - raster
    - ','
    - vx
    - ','
    - vy
    - ','
    - vw
    - ','
    - vh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 212
    functionName: FIT_MASK_COPY
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIT_MASK_COPY(data, sourcex, raster, vx, vy, vw, vh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_mask_copy_mono
      Src: /src/libspectre/ghostscript/base/gxclipm.c:228,1
    - Dst: FIT_MASK_COPY
      Src: /src/libspectre/ghostscript/base/gxclipm.c:229,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclipm.c:242,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclipm.c:248,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclipm.c:253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 262
    functionName: mask_clip_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - FIT_MASK_COPY
    - setup_mask_copy_mono
    - dev_proc
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int mask_clip_copy_mono(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                    int x,
      int y, int w, int h,\n                    gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cx
    - mx1
    - v
    argTypes:
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: trim
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte trim(int cx, int mx1, byte v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cx
    - ','
    - mx1
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 273
    functionName: trim
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trim(cx,mx1,v)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: FIT_MASK_COPY
      Src: /src/libspectre/ghostscript/base/gxclipm.c:291,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclipm.c:301,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:307,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:315,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:319,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:325,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:333,1
    - Dst: trim
      Src: /src/libspectre/ghostscript/base/gxclipm.c:338,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclipm.c:345,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclipm.c:362,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 69
    argCount: 2
    argNames:
    - cdev
    - pccd
    argTypes:
    - gx_device_mask_clip*
    - clip_callback_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 371
    functionName: clip_runs_enumerate
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - trim
    - if_debug1m
    - FIT_MASK_COPY
    - if_debug2m
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int clip_runs_enumerate(gx_device_mask_clip * cdev,\n                    int
      (*process) (clip_callback_data_t * pccd, int xc, int yc, int xec, int yec),\n
      \                   clip_callback_data_t * pccd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: mask_clip_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_copy_color(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 402
    functionName: mask_clip_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_copy_alpha(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                int x, int
      y, int w, int h, gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 418
    functionName: mask_clip_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_copy_alpha_hl_color(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                int
      x, int y, int w, int h, const gx_drawing_color *pdcolor, \n                int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: mask_clip_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                               int x, int y, int w, int h,\n                               gx_color_index
      color0, gx_color_index color1,\n                               int phase_x,
      int phase_y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:452,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 453
    functionName: mask_clip_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                               int x, int y, int w, int h,\n                               const
      gx_drawing_color *pdcolor0, \n                               const gx_drawing_color
      *pdcolor1,\n                               int phase_x, int phase_y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 15
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 473
    functionName: mask_clip_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_strip_copy_rop(gx_device * dev,\n               const
      byte * data, int sourcex, uint raster, gx_bitmap_id id,\n                         const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                         int x, int y, int w, int
      h,\n                       int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_runs_enumerate
      Src: /src/libspectre/ghostscript/base/gxclipm.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 16
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 495
    functionName: mask_clip_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - clip_runs_enumerate
    linkageType: ''
    returnType: int
    signature: "int mask_clip_strip_copy_rop2(gx_device * dev,\n               const
      byte * data, int sourcex, uint raster, gx_bitmap_id id,\n                         const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                         int x, int y, int w, int
      h,\n                       int phase_x, int phase_y, gs_logical_operation_t
      lop,\n                       uint planar_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclipm.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 509
    functionName: mask_clip_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipm.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void mask_clip_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - exec
    - range
    - IP
    argTypes:
    - PExecution_Context
    - Int
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: Goto_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Goto_CodeRange( PExecution_Context  exec, Int  range, Int  IP
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - exec
    argTypes:
    - PExecution_Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: Unset_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Unset_CodeRange( PExecution_Context  exec )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - exec
    - range
    argTypes:
    - PExecution_Context
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: Get_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: PCodeRange
    signature: PCodeRange Get_CodeRange( PExecution_Context  exec, Int  range )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - exec
    - range
    - base
    - length
    argTypes:
    - PExecution_Context
    - Int
    - void*
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 168
    functionName: Set_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Set_CodeRange( PExecution_Context  exec,\n                           Int
      \                range,\n                           void*               base,\n
      \                          Int                 length )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - exec
    - range
    argTypes:
    - PExecution_Context
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: Clear_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Clear_CodeRange( PExecution_Context  exec, Int  range )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: FREE
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 232
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - old_count
    - ','
    - count
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: ALLOC_ARRAY
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_ARRAY(ptr, old_count, count, type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: SETMAX
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETMAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttobjs.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - ttfMemory*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: free_aux
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - ttfMemory*::free
    linkageType: ''
    returnType: int
    signature: int free_aux(ttfMemory *mem, void *ptr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:236,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:237,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:238,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:239,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:240,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:241,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:246,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:247,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:248,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:249,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:250,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:251,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:256,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:260,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - _context
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 271
    functionName: Context_Destroy
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - FREE
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Context_Destroy( void*  _context )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:306,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:309,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:312,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:313,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:314,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:315,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:316,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:319,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:320,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:321,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:322,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:323,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:326,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:331,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:332,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:333,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:334,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:335,1
    - Dst: SETMAX
      Src: /src/libspectre/ghostscript/base/ttobjs.c:336,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 2
    argNames:
    - _context
    - _face
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 344
    functionName: Context_Create
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - SETMAX
    - ALLOC_ARRAY
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Context_Create( void*  _context, void*  _face )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttobjs.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - exec
    - ins
    argTypes:
    - PExecution_Context
    - PInstance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 386
    functionName: Context_Load
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Context_Load( PExecution_Context  exec,\n                        PInstance
      \          ins )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttobjs.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - exec
    - ins
    argTypes:
    - PExecution_Context
    - PInstance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 418
    functionName: Context_Save
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Context_Save( PExecution_Context  exec,\n                         PInstance
      \          ins )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:431,1
    - Dst: RunIns
      Src: /src/libspectre/ghostscript/base/ttobjs.c:457,1
    - Dst: Unset_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:458,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - exec
    - debug
    argTypes:
    - PExecution_Context
    - Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 462
    functionName: Context_Run
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - Unset_CodeRange
    - Goto_CodeRange
    - RunIns
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Context_Run( PExecution_Context  exec,\n                        Bool
      \               debug )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:509,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:512,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:513,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:514,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - _instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 522
    functionName: Instance_Destroy
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - FREE
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Instance_Destroy( void* _instance )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttobjs.c:560,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:581,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:582,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:583,1
    - Dst: ALLOC_ARRAY
      Src: /src/libspectre/ghostscript/base/ttobjs.c:584,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttobjs.c:587,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttobjs.c:588,1
    - Dst: Instance_Destroy
      Src: /src/libspectre/ghostscript/base/ttobjs.c:595,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 2
    argNames:
    - _instance
    - _face
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 538
    functionDepth: 1
    functionLinenumber: 538
    functionLinenumberEnd: 597
    functionName: Instance_Create
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - Instance_Destroy
    - memset
    - ALLOC_ARRAY
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Instance_Create( void*  _instance,\n                             void*
      \ _face )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Context_Load
      Src: /src/libspectre/ghostscript/base/ttobjs.c:624,1
    - Dst: Set_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:654,1
    - Dst: Clear_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:660,1
    - Dst: Clear_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:661,1
    - Dst: Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:665,1
    - Dst: RunIns
      Src: /src/libspectre/ghostscript/base/ttobjs.c:691,1
    - Dst: Unset_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:692,1
    - Dst: Context_Save
      Src: /src/libspectre/ghostscript/base/ttobjs.c:698,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 1
    argNames:
    - ins
    argTypes:
    - PInstance
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 703
    functionName: Instance_Init
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - Context_Save
    - Unset_CodeRange
    - Set_CodeRange
    - RunIns
    - Clear_CodeRange
    - Goto_CodeRange
    - Context_Load
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Instance_Init( PInstance  ins )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttobjs.c:746,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttobjs.c:755,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttobjs.c:765,1
    - Dst: Context_Load
      Src: /src/libspectre/ghostscript/base/ttobjs.c:773,1
    - Dst: Set_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:775,1
    - Dst: Clear_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:780,1
    - Dst: Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:802,1
    - Dst: RunIns
      Src: /src/libspectre/ghostscript/base/ttobjs.c:828,1
    - Dst: Unset_CodeRange
      Src: /src/libspectre/ghostscript/base/ttobjs.c:829,1
    - Dst: Context_Save
      Src: /src/libspectre/ghostscript/base/ttobjs.c:838,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 69
    argCount: 2
    argNames:
    - ins
    - debug
    argTypes:
    - PInstance
    - Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 844
    functionName: Instance_Reset
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - Context_Save
    - MulDiv_Round
    - Unset_CodeRange
    - Set_CodeRange
    - RunIns
    - Clear_CodeRange
    - Goto_CodeRange
    - Context_Load
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error Instance_Reset( PInstance  ins,\n                            Bool
      \      debug )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:871,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:875,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/ttobjs.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - face
    argTypes:
    - PFace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 881
    functionName: Face_Destroy
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - FREE
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Face_Destroy( PFace face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - table
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 899
    functionDepth: 0
    functionLinenumber: 899
    functionLinenumberEnd: 901
    functionName: LOAD_
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOAD_( table )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/base/ttobjs.c:909,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/base/ttobjs.c:912,1
    - Dst: LOAD_
      Src: /src/libspectre/ghostscript/base/ttobjs.c:914,1
    - Dst: Face_Destroy
      Src: /src/libspectre/ghostscript/base/ttobjs.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - face
    argTypes:
    - PFace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 929
    functionName: Face_Create
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - LOAD_
    - Face_Destroy
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Face_Create( PFace  face)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttobjs.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metrics
    - x
    argTypes:
    - PIns_Metrics
    - TT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 948
    functionName: Scale_X
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: TT_Pos
    signature: TT_Pos Scale_X( PIns_Metrics  metrics, TT_Pos  x )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttobjs.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - metrics
    - y
    argTypes:
    - PIns_Metrics
    - TT_Pos
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 967
    functionName: Scale_Y
    functionSourceFile: /src/libspectre/ghostscript/base/ttobjs.c
    functionUses: 0
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: TT_Pos
    signature: TT_Pos Scale_Y( PIns_Metrics  metrics, TT_Pos  y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - F26Dot6
    - F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: AVE
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_Fixed
    signature: TT_Fixed AVE(F26Dot6 a, F26Dot6 b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: shortToF26Dot6
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: F26Dot6
    signature: F26Dot6 shortToF26Dot6(short a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: floatToF26Dot6
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: F26Dot6
    signature: F26Dot6 floatToF26Dot6(float a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: floatToF16Dot16
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_Fixed
    signature: TT_Fixed floatToF16Dot16(float a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv
      Src: /src/libspectre/ghostscript/base/ttfmain.c:62,1
    - Dst: MulDiv
      Src: /src/libspectre/ghostscript/base/ttfmain.c:62,1
    - Dst: MulDiv
      Src: /src/libspectre/ghostscript/base/ttfmain.c:63,1
    - Dst: MulDiv
      Src: /src/libspectre/ghostscript/base/ttfmain.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pt
    - dx
    - dy
    - m
    argTypes:
    - F26Dot6Point*
    - F26Dot6
    - F26Dot6
    - FixMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: TransformF26Dot6PointFix
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - MulDiv
    linkageType: ''
    returnType: void
    signature: void TransformF26Dot6PointFix(F26Dot6Point *pt, F26Dot6 dx, F26Dot6
      dy, FixMatrix *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pt
    - dx
    - dy
    - m
    argTypes:
    - FloatPoint*
    - F26Dot6
    - F26Dot6
    - FloatMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: TransformF26Dot6PointFloat
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TransformF26Dot6PointFloat(FloatPoint *pt, F26Dot6 dx, F26Dot6
      dy, FloatMatrix *m)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:75,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:77,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:79,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:81,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:83,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:85,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:87,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:89,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:91,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:93,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:95,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:97,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 2
    argNames:
    - f
    - id
    argTypes:
    - ttfFont*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 100
    functionName: ttfFont__get_table_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: ttfPtrElem
    signature: ttfPtrElem *ttfFont__get_table_ptr(ttfFont *f, char *id)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Instance_Reset
      Src: /src/libspectre/ghostscript/base/ttfmain.c:138,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - instance
    - charWidth
    - charHeight
    argTypes:
    - TT_Instance
    - TT_F26Dot6
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 139
    functionName: TT_Set_Instance_CharSizes
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - Instance_Reset
    linkageType: ''
    returnType: TT_Error
    signature: "TT_Error TT_Set_Instance_CharSizes(TT_Instance  instance,\n                                       TT_F26Dot6
      \  charWidth,\n                                       TT_F26Dot6   charHeight)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttfMemory*::alloc_struct
      Src: /src/libspectre/ghostscript/base/ttfmain.c:151,1
    - Dst: ttfMemory*::alloc_struct
      Src: /src/libspectre/ghostscript/base/ttfmain.c:158,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:160,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttfmain.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - mem
    - ptti
    argTypes:
    - ttfMemory*
    - ttfInterpreter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 166
    functionName: ttfInterpreter__obtain
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - memset
    - ttfMemory*::free
    - ttfMemory*::alloc_struct
    linkageType: ''
    returnType: int
    signature: int ttfInterpreter__obtain(ttfMemory *mem, ttfInterpreter **ptti)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:175,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:176,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ptti
    argTypes:
    - ttfInterpreter**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: ttfInterpreter__release
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - ttfMemory*::free
    linkageType: ''
    returnType: void
    signature: void ttfInterpreter__release(ttfInterpreter **ptti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttfmain.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - self
    - mem
    - DebugMem
    argTypes:
    - ttfFont*
    - ttfMemory*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: ttfFont__init
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void ttfFont__init(ttfFont *self, ttfMemory *mem,\n                    void
      (*DebugRepaint)(ttfFont *),\n                    int (*DebugPrint)(ttfFont *,
      const char *s, ...),\n                    const gs_memory_t *DebugMem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Context_Destroy
      Src: /src/libspectre/ghostscript/base/ttfmain.c:199,1
    - Dst: Instance_Destroy
      Src: /src/libspectre/ghostscript/base/ttfmain.c:208,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:209,1
    - Dst: Face_Destroy
      Src: /src/libspectre/ghostscript/base/ttfmain.c:212,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfFont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 215
    functionName: ttfFont__finit
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - Instance_Destroy
    - Face_Destroy
    - Context_Destroy
    - ttfMemory*::free
    linkageType: ''
    returnType: void
    signature: void ttfFont__finit(ttfFont *self)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfmain.c:235,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:236,1
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfmain.c:240,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:241,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:241,1
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfmain.c:243,1
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfmain.c:249,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:250,1
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfmain.c:251,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:253,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/ttfmain.c:253,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:255,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:256,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:257,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:258,1
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttfmain.c:265,1
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfmain.c:266,1
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfmain.c:267,1
    - Dst: ttfReader__UInt
      Src: /src/libspectre/ghostscript/base/ttfmain.c:268,1
    - Dst: ttfFont__get_table_ptr
      Src: /src/libspectre/ghostscript/base/ttfmain.c:269,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:275,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:275,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:276,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:277,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:277,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:278,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:281,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:281,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:282,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:283,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:283,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:284,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:285,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:285,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:286,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:289,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:289,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:290,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:292,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/ttfmain.c:292,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:293,1
    - Dst: ttfInterpreter*::ttf_memory::free
      Src: /src/libspectre/ghostscript/base/ttfmain.c:297,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttfmain.c:299,1
    - Dst: ttfMemory*::alloc_struct
      Src: /src/libspectre/ghostscript/base/ttfmain.c:306,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttfmain.c:309,1
    - Dst: Face_Create
      Src: /src/libspectre/ghostscript/base/ttfmain.c:313,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:316,1
    - Dst: ttfMemory*::alloc_struct
      Src: /src/libspectre/ghostscript/base/ttfmain.c:319,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ttfmain.c:322,1
    - Dst: Context_Create
      Src: /src/libspectre/ghostscript/base/ttfmain.c:323,1
    - Dst: Instance_Create
      Src: /src/libspectre/ghostscript/base/ttfmain.c:326,1
    - Dst: shortToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:332,1
    - Dst: Instance_Init
      Src: /src/libspectre/ghostscript/base/ttfmain.c:333,1
    - Dst: shortToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:342,1
    - Dst: floatToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:345,1
    - Dst: floatToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:346,1
    - Dst: TT_Set_Instance_CharSizes
      Src: /src/libspectre/ghostscript/base/ttfmain.c:348,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 118
    argCount: 7
    argNames:
    - tti
    - self
    - r
    - nTTC
    - w
    - h
    - design_grid
    argTypes:
    - ttfInterpreter*
    - ttfFont*
    - ttfReader*
    - unsigned int
    - float
    - float
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 361
    functionName: ttfFont__Open
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - TT_Set_Instance_CharSizes
    - ttfReader*::Read
    - ttfInterpreter*::ttf_memory::free
    - ttfReader__UInt
    - offset_of
    - ttfReader*::Error
    - memcmp
    - memset
    - ttfMemory*::alloc_bytes
    - floatToF26Dot6
    - shortToF26Dot6
    - Instance_Create
    - ttfReader__UShort
    - ttfFont__get_table_ptr
    - ttfMemory*::alloc_struct
    - Instance_Init
    - Face_Create
    - ttfReader*::Seek
    - Context_Create
    linkageType: ''
    returnType: FontError
    signature: "FontError ttfFont__Open(ttfInterpreter *tti, ttfFont *self, ttfReader
      *r,\n                                    unsigned int nTTC, float w, float h,\n
      \                                   bool design_grid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Context_Load
      Src: /src/libspectre/ghostscript/base/ttfmain.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfFont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 370
    functionName: ttfFont__StartGlyph
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - Context_Load
    linkageType: ''
    returnType: void
    signature: void ttfFont__StartGlyph(ttfFont *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Context_Save
      Src: /src/libspectre/ghostscript/base/ttfmain.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfFont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: ttfFont__StopGlyph
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - Context_Save
    linkageType: ''
    returnType: void
    signature: void ttfFont__StopGlyph(ttfFont *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - PGlyph_Zone
    - PGlyph_Zone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 397
    functionName: mount_zone
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mount_zone( PGlyph_Zone  source,\n                          PGlyph_Zone
      \ target )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mount_zone
      Src: /src/libspectre/ghostscript/base/ttfmain.c:408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - element
    - original
    - exec
    argTypes:
    - PSubglyph_Record
    - PSubglyph_Record
    - PExecution_Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 431
    functionName: Init_Glyph_Component
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - mount_zone
    linkageType: ''
    returnType: void
    signature: "void Init_Glyph_Component( PSubglyph_Record    element,\n                                   PSubglyph_Record
      \   original,\n                                   PExecution_Context  exec )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - n
    - zone
    argTypes:
    - Int
    - PGlyph_Zone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: cur_to_org
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cur_to_org( Int  n, PGlyph_Zone  zone )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - n
    - zone
    argTypes:
    - Int
    - PGlyph_Zone
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: org_to_cur
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void org_to_cur( Int  n, PGlyph_Zone  zone )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 7
    argNames:
    - self
    - f
    - r
    - exp
    - bOutline
    - bFirst
    - bVertical
    argTypes:
    - ttfOutliner*
    - ttfFont*
    - ttfReader*
    - ttfExport*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 466
    functionName: ttfOutliner__init
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ttfOutliner__init(ttfOutliner *self, ttfFont *f, ttfReader *r,
      ttfExport *exp,\n                        bool bOutline, bool bFirst, bool bVertical)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TransformF26Dot6PointFix
      Src: /src/libspectre/ghostscript/base/ttfmain.c:479,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - pts
    - nOffset
    - out
    - m
    argTypes:
    - TGlyph_Zone*
    - int
    - ttfGlyphOutline*
    - FixMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 468
    functionDepth: 2
    functionLinenumber: 468
    functionLinenumberEnd: 483
    functionName: MoveGlyphOutline
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - TransformF26Dot6PointFix
    linkageType: ''
    returnType: void
    signature: void MoveGlyphOutline(TGlyph_Zone *pts, int nOffset, ttfGlyphOutline
      *out, FixMatrix *m)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::get_metrics
      Src: /src/libspectre/ghostscript/base/ttfmain.c:507,1
    - Dst: shortToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:511,1
    - Dst: shortToF26Dot6
      Src: /src/libspectre/ghostscript/base/ttfmain.c:512,1
    - Dst: ttfReader*::LoadGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:518,1
    - Dst: ttfReader*::Eof
      Src: /src/libspectre/ghostscript/base/ttfmain.c:520,1
    - Dst: ttfReader*::ReleaseGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:521,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:526,1
    - Dst: ttfReader*::Tell
      Src: /src/libspectre/ghostscript/base/ttfmain.c:528,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:530,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:531,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:532,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:533,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:534,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:536,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:537,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:538,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:539,1
    - Dst: Init_Glyph_Component
      Src: /src/libspectre/ghostscript/base/ttfmain.c:542,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:570,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:571,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:574,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:575,1
    - Dst: ttfReader__SignedByte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:579,1
    - Dst: ttfReader__SignedByte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:580,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:582,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:583,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:588,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:590,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:591,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:593,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:594,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:595,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:596,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:607,1
    - Dst: ttfReader*::Tell
      Src: /src/libspectre/ghostscript/base/ttfmain.c:609,1
    - Dst: ttfReader*::Eof
      Src: /src/libspectre/ghostscript/base/ttfmain.c:610,1
    - Dst: ttfReader__UShort
      Src: /src/libspectre/ghostscript/base/ttfmain.c:610,1
    - Dst: ttfReader*::Tell
      Src: /src/libspectre/ghostscript/base/ttfmain.c:611,1
    - Dst: ttfReader*::ReleaseGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:612,1
    - Dst: ttfOutliner__BuildGlyphOutlineAux
      Src: /src/libspectre/ghostscript/base/ttfmain.c:631,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:646,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:647,1
    - Dst: MoveGlyphOutline
      Src: /src/libspectre/ghostscript/base/ttfmain.c:652,1
    - Dst: ttfReader*::LoadGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:666,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:667,1
    - Dst: Set_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:671,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:681,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:682,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:683,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:684,1
    - Dst: org_to_cur
      Src: /src/libspectre/ghostscript/base/ttfmain.c:696,1
    - Dst: Context_Run
      Src: /src/libspectre/ghostscript/base/ttfmain.c:701,1
    - Dst: cur_to_org
      Src: /src/libspectre/ghostscript/base/ttfmain.c:703,1
    - Dst: Unset_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:719,1
    - Dst: Clear_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:720,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:735,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:744,1
    - Dst: ttfReader*::Tell
      Src: /src/libspectre/ghostscript/base/ttfmain.c:745,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:746,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:747,1
    - Dst: Set_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:749,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:754,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:756,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:768,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:770,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:772,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:773,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:783,1
    - Dst: ttfReader__Byte
      Src: /src/libspectre/ghostscript/base/ttfmain.c:785,1
    - Dst: ttfReader__Short
      Src: /src/libspectre/ghostscript/base/ttfmain.c:787,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:788,1
    - Dst: MoveGlyphOutline
      Src: /src/libspectre/ghostscript/base/ttfmain.c:794,1
    - Dst: ttfReader*::Error
      Src: /src/libspectre/ghostscript/base/ttfmain.c:798,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:806,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:807,1
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:808,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:809,1
    - Dst: org_to_cur
      Src: /src/libspectre/ghostscript/base/ttfmain.c:820,1
    - Dst: Context_Run
      Src: /src/libspectre/ghostscript/base/ttfmain.c:827,1
    - Dst: cur_to_org
      Src: /src/libspectre/ghostscript/base/ttfmain.c:829,1
    - Dst: Unset_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:837,1
    - Dst: Clear_CodeRange
      Src: /src/libspectre/ghostscript/base/ttfmain.c:838,1
    - Dst: ttfReader*::ReleaseGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:845,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttfmain.c:858,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 314
    argCount: 4
    argNames:
    - self
    - glyphIndex
    - m_orig
    - gOutline
    argTypes:
    - ttfOutliner*
    - int
    - FixMatrix*
    - ttfGlyphOutline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 863
    functionName: ttfOutliner__BuildGlyphOutlineAux
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 1
    functionsReached:
    - Init_Glyph_Component
    - ttfReader*::Error
    - cur_to_org
    - Scale_Y
    - Scale_X
    - ttfReader*::get_metrics
    - Unset_CodeRange
    - Set_CodeRange
    - ttfReader__SignedByte
    - shortToF26Dot6
    - Clear_CodeRange
    - ttfReader*::LoadGlyph
    - ttfReader__UShort
    - Context_Run
    - ttfReader*::Eof
    - org_to_cur
    - ttfReader*::Tell
    - ttfReader__Byte
    - ttfReader__Short
    - ttfOutliner__BuildGlyphOutlineAux
    - ttfReader*::Seek
    - MoveGlyphOutline
    - ttfReader*::ReleaseGlyph
    linkageType: ''
    returnType: FontError
    signature: "FontError ttfOutliner__BuildGlyphOutlineAux(ttfOutliner *self, int
      glyphIndex,\n            FixMatrix *m_orig, ttfGlyphOutline* gOutline)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floatToF16Dot16
      Src: /src/libspectre/ghostscript/base/ttfmain.c:871,1
    - Dst: floatToF16Dot16
      Src: /src/libspectre/ghostscript/base/ttfmain.c:872,1
    - Dst: ttfOutliner__BuildGlyphOutlineAux
      Src: /src/libspectre/ghostscript/base/ttfmain.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - self
    - glyphIndex
    - orig_x
    - orig_y
    - gOutline
    argTypes:
    - ttfOutliner*
    - int
    - float
    - float
    - ttfGlyphOutline*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 874
    functionName: ttfOutliner__BuildGlyphOutline
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - ttfOutliner__BuildGlyphOutlineAux
    - floatToF16Dot16
    linkageType: ''
    returnType: FontError
    signature: "FontError ttfOutliner__BuildGlyphOutline(ttfOutliner *self, int glyphIndex,\n
      \           float orig_x, float orig_y, ttfGlyphOutline* gOutline)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: Scale_X
      Src: /src/libspectre/ghostscript/base/ttfmain.c:893,1
    - Dst: Scale_Y
      Src: /src/libspectre/ghostscript/base/ttfmain.c:894,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:899,1
    - Dst: ttfExport*::SetWidth
      Src: /src/libspectre/ghostscript/base/ttfmain.c:902,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:925,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:926,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:929,1
    - Dst: ttfExport*::Point
      Src: /src/libspectre/ghostscript/base/ttfmain.c:930,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:944,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:945,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:948,1
    - Dst: ttfExport*::MoveTo
      Src: /src/libspectre/ghostscript/base/ttfmain.c:949,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:959,1
    - Dst: ttfExport*::LineTo
      Src: /src/libspectre/ghostscript/base/ttfmain.c:960,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:972,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:973,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:980,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:981,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:987,1
    - Dst: AVE
      Src: /src/libspectre/ghostscript/base/ttfmain.c:988,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:994,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:995,1
    - Dst: TransformF26Dot6PointFloat
      Src: /src/libspectre/ghostscript/base/ttfmain.c:996,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1000,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1000,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1001,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1001,1
    - Dst: ttfExport*::CurveTo
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1002,1
    - Dst: ttfExport*::LineTo
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1004,1
    - Dst: ttfExport*::Close
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1010,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 102
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfOutliner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 1017
    functionName: ttfOutliner__DrawGlyphOutline
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - Scale_Y
    - Scale_X
    - ttfExport*::Point
    - ttfExport*::LineTo
    - ttfExport*::MoveTo
    - TransformF26Dot6PointFloat
    - ttfExport*::SetWidth
    - ttfExport*::CurveTo
    - fabs
    - ttfExport*::Close
    - AVE
    linkageType: ''
    returnType: void
    signature: void ttfOutliner__DrawGlyphOutline(ttfOutliner *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ttfFont__StartGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1031,1
    - Dst: ttfOutliner__BuildGlyphOutline
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1032,1
    - Dst: ttfFont__StopGlyph
      Src: /src/libspectre/ghostscript/base/ttfmain.c:1033,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 5
    argNames:
    - self
    - glyphIndex
    - orig_x
    - orig_y
    - m1
    argTypes:
    - ttfOutliner*
    - int
    - float
    - float
    - FloatMatrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1019
    functionDepth: 5
    functionLinenumber: 1019
    functionLinenumberEnd: 1043
    functionName: ttfOutliner__Outline
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmain.c
    functionUses: 0
    functionsReached:
    - ttfFont__StartGlyph
    - ttfOutliner__BuildGlyphOutline
    - ttfFont__StopGlyph
    linkageType: ''
    returnType: FontError
    signature: "FontError ttfOutliner__Outline(ttfOutliner *self, int glyphIndex,\n
      \       float orig_x, float orig_y, FloatMatrix *m1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:38,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:39,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:40,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:43,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:49,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - a_fapi_font
    - a_output
    - a_name
    - a_index
    - a_divisor
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 53
    functionName: write_word_entry
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 2
    functionsReached:
    - WRF_wint
    - WRF_wbyte
    - WRF_wstring
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int write_word_entry(gs_fapi_font * a_fapi_font, WRF_output * a_output,\n
      \                const char *a_name, int a_index, int a_divisor)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:65,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:66,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:67,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:71,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:77,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:78,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:80,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - a_fapi_font
    - a_output
    - a_name
    - a_index
    - a_count
    - a_divisor
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 83
    functionName: write_array_entry_with_count
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - WRF_wint
    - WRF_wbyte
    - WRF_wstring
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int write_array_entry_with_count(gs_fapi_font * a_fapi_font,\n                             WRF_output
      * a_output, const char *a_name,\n                             int a_index, int
      a_count, int a_divisor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:91,1
    - Dst: write_array_entry_with_count
      Src: /src/libspectre/ghostscript/base/write_t1.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - a_fapi_font
    - a_output
    - a_name
    - a_index
    - a_divisor
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 98
    functionName: write_array_entry
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - write_array_entry_with_count
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int write_array_entry(gs_fapi_font * a_fapi_font, WRF_output * a_output,\n
      \                 const char *a_name, int a_index, int a_divisor)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:105,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:111,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:112,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:113,1
    - Dst: gs_fapi_font*::get_raw_subr
      Src: /src/libspectre/ghostscript/base/write_t1.c:121,1
    - Dst: gs_fapi_font*::get_subr
      Src: /src/libspectre/ghostscript/base/write_t1.c:123,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:127,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:128,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:129,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:130,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:131,1
    - Dst: gs_fapi_font*::get_raw_subr
      Src: /src/libspectre/ghostscript/base/write_t1.c:139,1
    - Dst: gs_fapi_font*::get_subr
      Src: /src/libspectre/ghostscript/base/write_t1.c:142,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t1.c:147,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:151,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:154,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - raw
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 157
    functionName: write_subrs
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    - gs_fapi_font*::get_raw_subr
    - WRF_wstring
    - WRF_wbyte
    - gs_fapi_font*::get_subr
    - WRF_wint
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_subrs(gs_fapi_font * a_fapi_font, WRF_output * a_output,
      int raw)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:166,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:175,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:176,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:177,1
    - Dst: gs_fapi_font*::get_charstring_name
      Src: /src/libspectre/ghostscript/base/write_t1.c:180,1
    - Dst: gs_fapi_font*::get_charstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:186,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:190,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:191,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:192,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:193,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:194,1
    - Dst: gs_fapi_font*::get_charstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:200,1
    - Dst: WRF_wtext
      Src: /src/libspectre/ghostscript/base/write_t1.c:205,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:208,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 214
    functionName: write_charstrings
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - WRF_wtext
    - gs_fapi_font*::get_charstring
    - gs_fapi_font*::get_charstring_name
    - WRF_wstring
    - WRF_wbyte
    - WRF_wint
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_charstrings(gs_fapi_font * a_fapi_font, WRF_output * a_output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - a_fapi_font
    argTypes:
    - gs_fapi_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: is_MM_font
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: bool
    signature: bool is_MM_font(gs_fapi_font * a_fapi_font)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: is_MM_font
      Src: /src/libspectre/ghostscript/base/write_t1.c:234,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:236,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:237,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:243,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:246,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:247,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:253,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:258,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:259,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:261,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:263,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:266,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:272,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:275,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:276,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:282,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:287,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:288,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:290,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:292,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:294,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:301,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:303,1
    - Dst: WRF_wfloat
      Src: /src/libspectre/ghostscript/base/write_t1.c:308,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:309,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:311,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:314,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:320,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:322,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:327,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:328,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:330,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:333,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:339,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:341,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:346,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:347,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:349,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:352,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:358,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:360,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:365,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:366,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:368,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:371,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:377,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:380,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:381,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:387,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:392,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:393,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:395,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:397,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:400,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:406,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:409,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:410,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:416,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:421,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:422,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:424,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:426,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:429,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:435,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:438,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:439,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:445,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:450,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:451,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:453,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:455,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:458,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:464,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:467,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:468,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:474,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:479,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:480,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:482,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:484,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:487,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 194
    argCount: 2
    argNames:
    - a_fapi_font
    - a_output
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 490
    functionName: write_private_blend_dictionary
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_float
    - WRF_wstring
    - WRF_wfloat
    - WRF_wbyte
    - WRF_wint
    - is_MM_font
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_private_blend_dictionary(gs_fapi_font * a_fapi_font, WRF_output
      * a_output)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:501,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:504,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:506,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:507,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:509,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:514,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:516,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:520,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/write_t1.c:521,1
    - Dst: WRF_wfloat
      Src: /src/libspectre/ghostscript/base/write_t1.c:525,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:527,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:529,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:533,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:538,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:543,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:548,1
    - Dst: write_word_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:553,1
    - Dst: write_array_entry_with_count
      Src: /src/libspectre/ghostscript/base/write_t1.c:557,1
    - Dst: write_array_entry_with_count
      Src: /src/libspectre/ghostscript/base/write_t1.c:562,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:567,1
    - Dst: write_array_entry
      Src: /src/libspectre/ghostscript/base/write_t1.c:572,1
    - Dst: write_private_blend_dictionary
      Src: /src/libspectre/ghostscript/base/write_t1.c:577,1
    - Dst: write_subrs
      Src: /src/libspectre/ghostscript/base/write_t1.c:582,1
    - Dst: write_subrs
      Src: /src/libspectre/ghostscript/base/write_t1.c:584,1
    - Dst: write_charstrings
      Src: /src/libspectre/ghostscript/base/write_t1.c:589,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - Write_CharStrings
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 592
    functionName: write_private_dictionary
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_long
    - write_private_blend_dictionary
    - write_subrs
    - write_word_entry
    - WRF_wstring
    - WRF_wfloat
    - write_charstrings
    - write_array_entry_with_count
    - write_array_entry
    linkageType: ''
    returnType: int
    signature: "int write_private_dictionary(gs_fapi_font * a_fapi_font, WRF_output
      * a_output,\n                         int Write_CharStrings)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:600,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:602,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:604,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:606,1
    - Dst: WRF_wfloat
      Src: /src/libspectre/ghostscript/base/write_t1.c:610,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:611,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:613,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:615,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:617,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:620,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:625,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:626,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:628,1
    - Dst: is_MM_font
      Src: /src/libspectre/ghostscript/base/write_t1.c:629,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:636,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:645,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:653,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t1.c:662,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:663,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:664,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:671,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:673,1
    - Dst: gs_fapi_font*::get_name
      Src: /src/libspectre/ghostscript/base/write_t1.c:674,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:680,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:682,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:684,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:691,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:692,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:699,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:701,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t1.c:707,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:708,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:710,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:712,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:714,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:720,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:722,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:728,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:730,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:731,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t1.c:737,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:738,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:739,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t1.c:744,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:745,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:746,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:748,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:750,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:752,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:760,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:768,1
    - Dst: gs_fapi_font*::get_proc
      Src: /src/libspectre/ghostscript/base/write_t1.c:772,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:777,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:779,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:782,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:783,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/write_t1.c:789,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/write_t1.c:794,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:795,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:797,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:799,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:800,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:801,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:808,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/write_t1.c:810,1
    - Dst: WRF_wint
      Src: /src/libspectre/ghostscript/base/write_t1.c:816,1
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/write_t1.c:817,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:819,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:821,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:822,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:823,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:825,1
    - Dst: write_private_dictionary
      Src: /src/libspectre/ghostscript/base/write_t1.c:827,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 153
    argCount: 3
    argNames:
    - a_fapi_font
    - a_output
    - Write_CharStrings
    argTypes:
    - gs_fapi_font*
    - WRF_output*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 594
    functionDepth: 4
    functionLinenumber: 594
    functionLinenumberEnd: 828
    functionName: write_main_dictionary
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_float
    - gs_fapi_font*::get_name
    - WRF_wstring
    - WRF_wfloat
    - gs_sprintf
    - WRF_wbyte
    - write_private_dictionary
    - WRF_wint
    - is_MM_font
    - gs_fapi_font*::get_proc
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int write_main_dictionary(gs_fapi_font * a_fapi_font, WRF_output *
      a_output, int Write_CharStrings)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WRF_init
      Src: /src/libspectre/ghostscript/base/write_t1.c:846,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:849,1
    - Dst: write_main_dictionary
      Src: /src/libspectre/ghostscript/base/write_t1.c:851,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/write_t1.c:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - a_fapi_font
    - a_buffer
    - a_buffer_size
    argTypes:
    - gs_fapi_font*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 864
    functionName: gs_fapi_serialize_type1_font
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - write_main_dictionary
    - WRF_init
    - fwrite
    - WRF_wstring
    linkageType: ''
    returnType: long
    signature: "long gs_fapi_serialize_type1_font(gs_fapi_font * a_fapi_font,\n                             unsigned
      char *a_buffer, long a_buffer_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WRF_init
      Src: /src/libspectre/ghostscript/base/write_t1.c:874,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/write_t1.c:877,1
    - Dst: write_main_dictionary
      Src: /src/libspectre/ghostscript/base/write_t1.c:879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - a_fapi_font
    - a_buffer
    - a_buffer_size
    argTypes:
    - gs_fapi_font*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 884
    functionName: gs_fapi_serialize_type1_font_complete
    functionSourceFile: /src/libspectre/ghostscript/base/write_t1.c
    functionUses: 0
    functionsReached:
    - write_main_dictionary
    - WRF_init
    - WRF_wstring
    linkageType: ''
    returnType: long
    signature: "long gs_fapi_serialize_type1_font_complete(gs_fapi_font * a_fapi_font,\n
      \                                     unsigned char *a_buffer,\n                                      long
      a_buffer_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: struct_proc_clear_marks
    functionSourceFile: /src/libspectre/ghostscript/base/gsstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: struct_proc_clear_marks(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: struct_proc_enum_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gsstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: struct_proc_enum_ptrs(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: struct_proc_reloc_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gsstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: struct_proc_reloc_ptrs(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: struct_proc_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsstype.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: struct_proc_finalize(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - st
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: extern_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsstype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_st(st)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:61,1
    - Dst: inc_bufp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:62,1
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:73,1
    - Dst: inc_bufp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:74,1
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:76,1
    - Dst: inc_bufp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:77,1
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:85,1
    - Dst: inc_bufp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:86,1
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:91,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - ignore_smap
    - spread
    - ignore_num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 98
    functionName: sample_unpack_12
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached:
    - bits2frac
    - inc_bufp
    linkageType: ''
    returnType: byte
    signature: "byte *\nsample_unpack_12(byte * bptr, int *pdata_x, const byte * data,\n
      \                int data_x, uint dsize, const sample_map *ignore_smap, int
      spread,\n                 int ignore_num_components_per_plane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bp
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: inc_bufp
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inc_bufp(bp, n)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:121,1
    - Dst: gx_device_uses_std_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:127,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:128,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:131,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:132,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:136,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:144,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:149,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:152,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:168,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:174,1
    - Dst: gx_has_transfer
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:176,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:179,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 49
    argCount: 2
    argNames:
    - penum
    - render_fn
    argTypes:
    - gx_image_enum*
    - irender_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 190
    functionName: gs_image_class_2_fracs
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached:
    - gx_has_transfer
    - gs_color_space_is_PSCIE
    - gsicc_get_link
    - gs_color_space_get_index
    - gx_device_uses_std_cmap_procs
    - gx_device_must_halftone
    - cs_num_components
    - gsicc_get_device_profile_comps
    - bits2frac
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_image_class_2_fracs(gx_image_enum * penum, irender_proc_t *render_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f1
    - ','
    - f2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 208
    functionName: COLOR_FRACS_4_EQ
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLOR_FRACS_4_EQ(f1, f2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f1
    - ','
    - f2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: COLOR_FRACS_4_EQ
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLOR_FRACS_4_EQ(f1, f2)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - v
    - penum
    - num_components
    argTypes:
    - frac*
    - gx_image_enum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 228
    functionName: mask_color12_matches
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool mask_color12_matches(const frac *v, const gx_image_enum *penum,\n
      \                  int num_components)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:244,1
    - Dst: gx_get_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:247,1
    - Dst: cmap_proc_rgb
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:248,1
    - Dst: cmap_proc_cmyk
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:249,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:267,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:273,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:274,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:275,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:276,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:277,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:278,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:279,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:279,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:280,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:281,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:283,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:284,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:285,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:288,1
    - Dst: COLOR_FRACS_4_EQ
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:303,1
    - Dst: mask_color12_matches
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:305,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:306,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:316,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:317,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:318,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:319,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:320,1
    - Dst: COLOR_FRACS_4_EQ
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:328,1
    - Dst: mask_color12_matches
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:330,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:331,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:340,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:341,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:342,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:343,1
    - Dst: mask_color12_matches
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:352,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:353,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:356,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:357,1
    - Dst: mask_color12_matches
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:364,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:365,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:374,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:375,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:386,1
    - Dst: mask_color12_matches
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:389,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:391,1
    - Dst: decode_frac
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:395,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:397,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:398,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:401,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:402,1
    - Dst: remap_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:408,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:414,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:421,1
    - Dst: dev_color_eq
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:435,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:441,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:447,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:451,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:467,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:468,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:472,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:477,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:481,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 182
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 491
    functionName: image_render_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - color_set_null
    - dev_color_eq
    - memcmp
    - if_debug9m
    - dda_current
    - mask_color12_matches
    - if_debug5m
    - gs_color_space_get_index
    - cs_proc_remap_color
    - gs_debug_c
    - remap_color
    - memset
    - if_debug4m
    - dda_next_assign
    - decode_frac
    - COLOR_FRACS_4_EQ
    - cs_full_init_color
    - fixed2int_var_rounded
    - gx_get_cmap_procs
    - cmap_proc_cmyk
    - dmputs
    - dev_proc
    - set_nonclient_dev_color
    - if_debug7m
    - if_debug3m
    - if_debug1
    - dmprintf2
    - dmprintf1
    - gx_fill_rectangle_device_rop
    - cmap_proc_rgb
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int image_render_frac(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                  uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - range
    - input
    argTypes:
    - gs_range
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 497
    functionName: rescale_input_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float rescale_input_color(gs_range range, float input)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:518,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:527,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - penum
    - psrc
    - spp
    - pdes
    - bufend
    - range_array
    argTypes:
    - gx_image_enum*
    - unsigned short*
    - int
    - unsigned short*
    - unsigned short*
    - gs_range[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 539
    functionName: decode_row_cie16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached:
    - rescale_input_color
    linkageType: ''
    returnType: void
    signature: "void decode_row_cie16(const gx_image_enum *penum, const unsigned short
      *psrc,\n                 int spp, unsigned short *pdes,\n                  const
      unsigned short *bufend, gs_range range_array[])"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 5
    argNames:
    - penum
    - psrc
    - spp
    - pdes
    - bufend
    argTypes:
    - gx_image_enum*
    - unsigned short*
    - int
    - unsigned short*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 575
    functionName: decode_row16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void decode_row16(const gx_image_enum *penum, const unsigned short
      *psrc, int spp,\n             unsigned short *pdes,const unsigned short *bufend)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:616,1
    - Dst: gx_get_cmapper
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:618,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:621,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:622,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:633,1
    - Dst: decode_row16
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:640,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:644,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:647,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:657,1
    - Dst: decode_row16
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:661,1
    - Dst: decode_row_cie16
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:665,1
    - Dst: get_cie_range
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:667,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:674,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:688,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:689,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:690,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:691,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:695,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:700,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:703,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:704,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:704,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:711,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:712,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:715,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:731,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:739,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:740,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:741,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:751,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:751,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:756,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:763,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:763,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:768,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:778,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxi12bit.c:784,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 118
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 788
    functionName: image_render_icc16
    functionSourceFile: /src/libspectre/ghostscript/base/gxi12bit.c
    functionUses: 0
    functionsReached:
    - mapper
    - if_debug5m
    - gs_alloc_bytes
    - gx_fill_rectangle_device_rop
    - gs_rethrow
    - get_cie_range
    - fixed2float
    - gsicc_get_device_profile_comps
    - gx_get_cmapper
    - fixed2int_var_rounded
    - gsicc_init_buffer
    - gs_free_object
    - memcmp
    - dda_current
    - dda_next
    - dev_proc
    - decode_row_cie16
    - decode_row16
    linkageType: ''
    returnType: int
    signature: "int image_render_icc16(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                  uint w, int h, gx_device * dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fmap_type_is_modal
      Src: /src/libspectre/ghostscript/base/gschar0.c:41,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar0.c:44,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:49,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 54
    functionName: gs_stack_modal_fonts
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 0
    functionsReached:
    - return_error
    - fmap_type_is_modal
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int gs_stack_modal_fonts(gs_text_enum_t *pte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar0.c:61,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:62,1
    - Dst: gs_stack_modal_fonts
      Src: /src/libspectre/ghostscript/base/gschar0.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pte
    - pfont
    argTypes:
    - gs_text_enum_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 68
    functionName: gs_type0_init_fstack
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 1
    functionsReached:
    - return_error
    - if_debug1m
    - gs_stack_modal_fonts
    linkageType: ''
    returnType: int
    signature: int gs_type0_init_fstack(gs_text_enum_t *pte, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pfont
    - ','
    - pdata
    - ','
    - fidx
    - ','
    - fdepth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 86
    functionName: select_descendant
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: select_descendant(pfont, pdata, fidx, fdepth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 93
    functionName: root_esc_char
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint root_esc_char(const gs_text_enum_t *pte)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: root_esc_char
      Src: /src/libspectre/ghostscript/base/gschar0.c:143,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:145,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:148,1
    - Dst: select_descendant
      Src: /src/libspectre/ghostscript/base/gschar0.c:149,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:150,1
    - Dst: root_esc_char
      Src: /src/libspectre/ghostscript/base/gschar0.c:154,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:156,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:160,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:163,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:173,1
    - Dst: gs_stack_modal_fonts
      Src: /src/libspectre/ghostscript/base/gschar0.c:186,1
    - Dst: root_esc_char
      Src: /src/libspectre/ghostscript/base/gschar0.c:208,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:210,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:212,1
    - Dst: select_descendant
      Src: /src/libspectre/ghostscript/base/gschar0.c:224,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gschar0.c:225,1
    - Dst: root_esc_char
      Src: /src/libspectre/ghostscript/base/gschar0.c:236,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:238,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:241,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:244,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gschar0.c:254,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar0.c:276,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:279,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:282,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:289,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:294,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar0.c:315,1
    - Dst: subs_loop
      Src: /src/libspectre/ghostscript/base/gschar0.c:320,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:323,1
    - Dst: subs_loop
      Src: /src/libspectre/ghostscript/base/gschar0.c:329,1
    - Dst: w2
      Src: /src/libspectre/ghostscript/base/gschar0.c:329,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:332,1
    - Dst: w2
      Src: /src/libspectre/ghostscript/base/gschar0.c:335,1
    - Dst: subs_loop
      Src: /src/libspectre/ghostscript/base/gschar0.c:338,1
    - Dst: w3
      Src: /src/libspectre/ghostscript/base/gschar0.c:338,1
    - Dst: need_left
      Src: /src/libspectre/ghostscript/base/gschar0.c:341,1
    - Dst: w3
      Src: /src/libspectre/ghostscript/base/gschar0.c:344,1
    - Dst: subs_loop
      Src: /src/libspectre/ghostscript/base/gschar0.c:347,1
    - Dst: w4
      Src: /src/libspectre/ghostscript/base/gschar0.c:347,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:355,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:377,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gschar0.c:380,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gschar0.c:381,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gschar0.c:384,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gschar0.c:385,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gschar0.c:386,1
    - Dst: debug_print_string_hex
      Src: /src/libspectre/ghostscript/base/gschar0.c:387,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gschar0.c:388,1
    - Dst: debug_print_string_hex
      Src: /src/libspectre/ghostscript/base/gschar0.c:389,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gschar0.c:390,1
    - Dst: gs_cmap_decode_next
      Src: /src/libspectre/ghostscript/base/gschar0.c:392,1
    - Dst: gs_cmap_decode_next
      Src: /src/libspectre/ghostscript/base/gschar0.c:398,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gschar0.c:405,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gschar0.c:410,1
    - Dst: select_descendant
      Src: /src/libspectre/ghostscript/base/gschar0.c:414,1
    - Dst: select_descendant
      Src: /src/libspectre/ghostscript/base/gschar0.c:424,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gschar0.c:425,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/base/gschar0.c:444,1
    - Dst: cidata::glyph_data
      Src: /src/libspectre/ghostscript/base/gschar0.c:447,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar0.c:450,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gschar0.c:465,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 237
    argCount: 3
    argNames:
    - pte
    - pchr
    - pglyph
    argTypes:
    - gs_text_enum_t*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 469
    functionName: gs_type0_next_char_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - cidata::glyph_data
    - debug_print_string_hex
    - root_esc_char
    - gs_debug_c
    - select_descendant
    - gs_stack_modal_fonts
    - w2
    - if_debug4m
    - if_debug2m
    - min
    - need_left
    - subs_loop
    - dmlprintf
    - if_debug0m
    - w3
    - w4
    - if_debug3m
    - memcpy
    - gs_cmap_decode_next
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_type0_next_char_glyph(gs_text_enum_t *pte, gs_char *pchr, gs_glyph
      *pglyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: need_left
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: need_left(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - subs_elt
    - ','
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 312
    functionName: subs_loop
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subs_loop(subs_elt, width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: w2
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: w2(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    functionName: w3
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: w3(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    functionName: w4
    functionSourceFile: /src/libspectre/ghostscript/base/gschar0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: w4(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - mem
    - ','
    - pseg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: trace_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_segment(msg, mem, pseg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - msg
    - ','
    - mem
    - ','
    - pseg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: trace_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_segment(msg, mem, pseg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ppath
    - ','
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 45
    functionName: outside_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: outside_bbox(ppath, px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ppath
    - ','
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: check_in_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_in_bbox(ppath, px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_update_newpath
      Src: /src/libspectre/ghostscript/base/gxpath.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: gx_path_init_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - path_update_newpath
    linkageType: ''
    returnType: void
    signature: void gx_path_init_contents(gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpath.c:128,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gxpath.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ppsegs
    - mem
    - cname
    argTypes:
    - gx_path_segments**
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: path_alloc_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_memory_stable
    - rc_alloc_struct_1
    linkageType: ''
    returnType: int
    signature: "int path_alloc_segments(gx_path_segments ** ppsegs, gs_memory_t *
      mem,\n                    client_name_t cname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxpath.c:140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:142,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:145,1
    - Dst: path_alloc_segments
      Src: /src/libspectre/ghostscript/base/gxpath.c:147,1
    - Dst: gx_path_init_contents
      Src: /src/libspectre/ghostscript/base/gxpath.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - ppath
    - shared
    - mem
    - cname
    argTypes:
    - gx_path*
    - gx_path*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 157
    functionName: gx_path_init_contained_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - rc_increment
    - path_alloc_segments
    - gx_path_init_contents
    - lprintf1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_path_init_contained_shared(gx_path * ppath, const gx_path *
      shared,\n                              gs_memory_t * mem, client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpath.c:168,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxpath.c:175,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:177,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:181,1
    - Dst: path_alloc_segments
      Src: /src/libspectre/ghostscript/base/gxpath.c:183,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:186,1
    - Dst: gx_path_init_contents
      Src: /src/libspectre/ghostscript/base/gxpath.c:189,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 3
    argNames:
    - shared
    - mem
    - cname
    argTypes:
    - gx_path*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: gx_path_alloc_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - rc_increment
    - gs_alloc_struct
    - path_alloc_segments
    - gx_path_init_contents
    - lprintf1
    - gs_free_object
    linkageType: ''
    returnType: gx_path
    signature: "gx_path *\ngx_path_alloc_shared(const gx_path * shared, gs_memory_t
      * mem,\n                     client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxpath.c:206,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:208,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:211,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gxpath.c:213,1
    - Dst: gx_path_init_contents
      Src: /src/libspectre/ghostscript/base/gxpath.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ppath
    - shared
    - mem
    argTypes:
    - gx_path*
    - gx_path*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: gx_path_init_local_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - rc_init_free
    - rc_increment
    - gx_path_init_contents
    - lprintf1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_path_init_local_shared(gx_path * ppath, const gx_path * shared,\n
      \                         gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_update_newpath
      Src: /src/libspectre/ghostscript/base/gxpath.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 244
    functionName: gx_path_init_bbox_accumulator
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - path_update_newpath
    linkageType: ''
    returnType: void
    signature: void gx_path_init_bbox_accumulator(gx_path * ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_shared
      Src: /src/libspectre/ghostscript/base/gxpath.c:255,1
    - Dst: path_alloc_copy
      Src: /src/libspectre/ghostscript/base/gxpath.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: gx_path_unshare
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - gx_path_is_shared
    - path_alloc_copy
    linkageType: ''
    returnType: int
    signature: int gx_path_unshare(gx_path * ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpath.c:267,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ppath
    - cname
    argTypes:
    - gx_path*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 273
    functionName: gx_path_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 12
    functionsReached:
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_path_free(gx_path * ppath, client_name_t cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_shared
      Src: /src/libspectre/ghostscript/base/gxpath.c:292,1
    - Dst: path_alloc_segments
      Src: /src/libspectre/ghostscript/base/gxpath.c:294,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpath.c:299,1
    - Dst: rc_free_path_segments_local
      Src: /src/libspectre/ghostscript/base/gxpath.c:302,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:307,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:310,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpath.c:311,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - ppto
    - ppfrom
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 317
    functionName: gx_path_assign_preserve
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - rc_free_path_segments_local
    - rc_increment
    - path_alloc_segments
    - gx_path_is_shared
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_path_assign_preserve(gx_path * ppto, gx_path * ppfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_shared
      Src: /src/libspectre/ghostscript/base/gxpath.c:333,1
    - Dst: rc_free_path_segments_local
      Src: /src/libspectre/ghostscript/base/gxpath.c:340,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxpath.c:345,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxpath.c:353,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxpath.c:355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - ppto
    - ppfrom
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 323
    functionDepth: 3
    functionLinenumber: 323
    functionLinenumberEnd: 357
    functionName: gx_path_assign_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_path_assign_preserve
    - rc_free_path_segments_local
    - rc_increment
    - gx_path_is_shared
    linkageType: ''
    returnType: int
    signature: int gx_path_assign_free(gx_path * ppto, gx_path * ppfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpath.c:372,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:379,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - vpsegs
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: rc_free_path_segments_local
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 2
    functionsReached:
    - trace_segment
    - gs_memory_stable
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void rc_free_path_segments_local(gs_memory_t * mem, void *vpsegs,\n
      \                           client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_free_path_segments_local
      Src: /src/libspectre/ghostscript/base/gxpath.c:387,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - vpsegs
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 389
    functionName: rc_free_path_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - rc_free_path_segments_local
    linkageType: ''
    returnType: void
    signature: void rc_free_path_segments(gs_memory_t * mem, void *vpsegs, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: path_unshare
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_unshare(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 414
    functionName: path_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_open()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pseg
    - ','
    - ctype
    - ','
    - pstype
    - ','
    - stype
    - ','
    - snotes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: path_alloc_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_alloc_segment(pseg,ctype,pstype,stype,snotes,cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pseg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 432
    functionName: path_alloc_link
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_alloc_link(pseg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_shared
      Src: /src/libspectre/ghostscript/base/gxpath.c:439,1
    - Dst: path_alloc_segments
      Src: /src/libspectre/ghostscript/base/gxpath.c:440,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxpath.c:443,1
    - Dst: rc_free_path_segments_local
      Src: /src/libspectre/ghostscript/base/gxpath.c:447,1
    - Dst: gx_path_init_contents
      Src: /src/libspectre/ghostscript/base/gxpath.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 451
    functionName: gx_path_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - rc_free_path_segments_local
    - path_alloc_segments
    - gx_path_init_contents
    - gx_path_is_shared
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_path_new(gx_path * ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:461,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 455
    functionDepth: 1
    functionLinenumber: 455
    functionLinenumberEnd: 480
    functionName: gx_path_new_subpath
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - path_alloc_segment
    - trace_segment
    linkageType: ''
    returnType: int
    signature: int gx_path_new_subpath(gx_path * ppath)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - ppath
    - x
    - y
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: gz_path_bbox_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gz_path_bbox_add(gx_path * ppath, fixed x, fixed y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ppath
    - x
    - y
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 508
    functionName: gz_path_bbox_move
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gz_path_bbox_move(gx_path * ppath, fixed x, fixed y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::add_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ppath
    - x
    - y
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 515
    functionName: gx_path_add_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 14
    functionsReached:
    - gx_path*::procs::add_point
    linkageType: ''
    returnType: int
    signature: int gx_path_add_point(gx_path * ppath, fixed x, fixed y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:520,1
    - Dst: path_update_moveto
      Src: /src/libspectre/ghostscript/base/gxpath.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ppath
    - x
    - y
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 525
    functionName: gz_path_add_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - check_in_bbox
    - path_update_moveto
    linkageType: ''
    returnType: int
    signature: int gz_path_add_point(gx_path * ppath, fixed x, fixed y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_path_bbox_move
      Src: /src/libspectre/ghostscript/base/gxpath.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ppath
    - x
    - y
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 531
    functionName: gz_path_bbox_add_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gz_path_bbox_move
    linkageType: ''
    returnType: int
    signature: int gz_path_bbox_add_point(gx_path * ppath, fixed x, fixed y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path_position_in_range
      Src: /src/libspectre/ghostscript/base/gxpath.c:537,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:538,1
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/base/gxpath.c:538,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:547,1
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:549,1
    - Dst: path_update_moveto
      Src: /src/libspectre/ghostscript/base/gxpath.c:553,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - ppath
    - dx
    - dy
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 555
    functionName: gx_path_add_relative_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - check_in_bbox
    - path_position_in_range
    - path_update_moveto
    - path_position_valid
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_path_add_relative_point(gx_path * ppath, fixed dx, fixed dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pseg
    - ','
    - fx
    - ','
    - fy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 562
    functionName: path_set_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_set_point(pseg, fx, fy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::add_line
      Src: /src/libspectre/ghostscript/base/gxpath.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: gx_path_add_line_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - gx_path*::procs::add_line
    linkageType: ''
    returnType: int
    signature: int gx_path_add_line_notes(gx_path * ppath, fixed x, fixed y, segment_notes
      notes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:576,1
    - Dst: path_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:577,1
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:578,1
    - Dst: path_alloc_link
      Src: /src/libspectre/ghostscript/base/gxpath.c:580,1
    - Dst: path_set_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:581,1
    - Dst: path_update_draw
      Src: /src/libspectre/ghostscript/base/gxpath.c:582,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: gz_path_add_line_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - check_in_bbox
    - path_update_draw
    - path_alloc_segment
    - path_alloc_link
    - path_open
    - trace_segment
    - path_set_point
    linkageType: ''
    returnType: int
    signature: int gz_path_add_line_notes(gx_path * ppath, fixed x, fixed y, segment_notes
      notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_path_bbox_add
      Src: /src/libspectre/ghostscript/base/gxpath.c:589,1
    - Dst: gz_path_bbox_move
      Src: /src/libspectre/ghostscript/base/gxpath.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 592
    functionName: gz_path_bbox_add_line_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gz_path_bbox_move
    - gz_path_bbox_add
    linkageType: ''
    returnType: int
    signature: int gz_path_bbox_add_line_notes(gx_path * ppath, fixed x, fixed y,
      segment_notes notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::add_gap
      Src: /src/libspectre/ghostscript/base/gxpath.c:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 598
    functionName: gx_path_add_gap_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path*::procs::add_gap
    linkageType: ''
    returnType: int
    signature: int gx_path_add_gap_notes(gx_path * ppath, fixed x, fixed y, segment_notes
      notes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:606,1
    - Dst: path_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:607,1
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:608,1
    - Dst: path_alloc_link
      Src: /src/libspectre/ghostscript/base/gxpath.c:610,1
    - Dst: path_set_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:611,1
    - Dst: path_update_draw
      Src: /src/libspectre/ghostscript/base/gxpath.c:612,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 615
    functionName: gz_path_add_gap_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - check_in_bbox
    - path_update_draw
    - path_alloc_segment
    - path_alloc_link
    - path_open
    - trace_segment
    - path_set_point
    linkageType: ''
    returnType: int
    signature: int gz_path_add_gap_notes(gx_path * ppath, fixed x, fixed y, segment_notes
      notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_path_bbox_add
      Src: /src/libspectre/ghostscript/base/gxpath.c:619,1
    - Dst: gz_path_bbox_move
      Src: /src/libspectre/ghostscript/base/gxpath.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ppath
    - x
    - y
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 622
    functionName: gz_path_bbox_add_gap_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gz_path_bbox_move
    - gz_path_bbox_add
    linkageType: ''
    returnType: int
    signature: int gz_path_bbox_add_gap_notes(gx_path * ppath, fixed x, fixed y, segment_notes
      notes)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path_unshare
      Src: /src/libspectre/ghostscript/base/gxpath.c:638,1
    - Dst: path_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:639,1
    - Dst: outside_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:653,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:654,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpath.c:657,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpath.c:657,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:661,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:672,1
    - Dst: path_update_draw
      Src: /src/libspectre/ghostscript/base/gxpath.c:679,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 4
    argNames:
    - ppath
    - ppts
    - count
    - notes
    argTypes:
    - gx_path*
    - gs_fixed_point*
    - int
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 681
    functionName: gx_path_add_lines_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - path_update_draw
    - path_open
    - outside_bbox
    - trace_segment
    - path_unshare
    - gs_note_error
    - gs_memory_stable
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_path_add_lines_notes(gx_path *ppath, const gs_fixed_point *ppts,
      int count,\n                        segment_notes notes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:692,1
    - Dst: path_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:693,1
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:694,1
    - Dst: path_alloc_link
      Src: /src/libspectre/ghostscript/base/gxpath.c:696,1
    - Dst: path_set_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:697,1
    - Dst: path_update_draw
      Src: /src/libspectre/ghostscript/base/gxpath.c:700,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - ppath
    - x
    - y
    - dx
    - dy
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 703
    functionName: gx_path_add_dash_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - check_in_bbox
    - path_update_draw
    - path_alloc_segment
    - path_alloc_link
    - path_open
    - trace_segment
    - path_set_point
    linkageType: ''
    returnType: int
    signature: int gx_path_add_dash_notes(gx_path * ppath, fixed x, fixed y, fixed
      dx, fixed dy, segment_notes notes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:717,1
    - Dst: gx_path_add_lines
      Src: /src/libspectre/ghostscript/base/gxpath.c:718,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxpath.c:719,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ppath
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 723
    functionName: gx_path_add_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 4
    functionsReached:
    - gx_path_close_subpath
    - gx_path_add_lines
    - gx_path_add_point
    linkageType: ''
    returnType: int
    signature: int gx_path_add_rectangle(gx_path * ppath, fixed x0, fixed y0, fixed
      x1, fixed y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::add_curve
      Src: /src/libspectre/ghostscript/base/gxpath.c:731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - ppath
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 732
    functionName: gx_path_add_curve_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path*::procs::add_curve
    linkageType: ''
    returnType: int
    signature: "int gx_path_add_curve_notes(gx_path * ppath,\n                 fixed
      x1, fixed y1, fixed x2, fixed y2, fixed x3, fixed y3,\n                        segment_notes
      notes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:742,1
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:743,1
    - Dst: check_in_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:744,1
    - Dst: path_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:746,1
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:747,1
    - Dst: path_alloc_link
      Src: /src/libspectre/ghostscript/base/gxpath.c:749,1
    - Dst: path_set_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:754,1
    - Dst: path_update_draw
      Src: /src/libspectre/ghostscript/base/gxpath.c:757,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:758,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 8
    argNames:
    - ppath
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 760
    functionName: gz_path_add_curve_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - check_in_bbox
    - path_update_draw
    - path_alloc_segment
    - path_alloc_link
    - path_open
    - trace_segment
    - path_set_point
    linkageType: ''
    returnType: int
    signature: "int gz_path_add_curve_notes(gx_path * ppath,\n                 fixed
      x1, fixed y1, fixed x2, fixed y2, fixed x3, fixed y3,\n                        segment_notes
      notes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gz_path_bbox_add
      Src: /src/libspectre/ghostscript/base/gxpath.c:766,1
    - Dst: gz_path_bbox_add
      Src: /src/libspectre/ghostscript/base/gxpath.c:767,1
    - Dst: gz_path_bbox_add
      Src: /src/libspectre/ghostscript/base/gxpath.c:768,1
    - Dst: gz_path_bbox_move
      Src: /src/libspectre/ghostscript/base/gxpath.c:769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - ppath
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 771
    functionName: gz_path_bbox_add_curve_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gz_path_bbox_move
    - gz_path_bbox_add
    linkageType: ''
    returnType: int
    signature: "int gz_path_bbox_add_curve_notes(gx_path * ppath,\n                 fixed
      x1, fixed y1, fixed x2, fixed y2, fixed x3, fixed y3,\n                        segment_notes
      notes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpath.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ppath
    - x3
    - y3
    - xt
    - yt
    - fraction
    - notes
    argTypes:
    - gx_path*
    - fixed
    - fixed
    - fixed
    - fixed
    - double
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 804
    functionName: gx_path_add_partial_arc_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path_add_curve_notes
    linkageType: ''
    returnType: int
    signature: 'int gx_path_add_partial_arc_notes(gx_path * ppath,

      fixed x3, fixed y3, fixed xt, fixed yt, double fraction, segment_notes notes)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: path_unshare
      Src: /src/libspectre/ghostscript/base/gxpath.c:812,1
    - Dst: path_unshare
      Src: /src/libspectre/ghostscript/base/gxpath.c:813,1
    - Dst: gx_path_init_contents
      Src: /src/libspectre/ghostscript/base/gxpath.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ppath
    - ppfrom
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 834
    functionName: gx_path_add_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path_init_contents
    - path_unshare
    linkageType: ''
    returnType: int
    signature: int gx_path_add_path(gx_path * ppath, gx_path * ppfrom)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxpath.c:848,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:853,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:856,1
    - Dst: gx_path_add_path
      Src: /src/libspectre/ghostscript/base/gxpath.c:860,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:862,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gxpath.c:863,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxpath.c:867,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:868,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxpath.c:870,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxpath.c:875,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - to_path
    - from_path
    - mode
    argTypes:
    - gx_path*
    - gx_path*
    - gs_char_path_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 877
    functionName: gx_path_add_char_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - gx_path_add_path
    - gx_path_current_point
    - gx_path_add_rectangle
    - gx_path_bbox
    - gx_path_add_line
    - gx_path_add_point
    - gx_path_new
    linkageType: ''
    returnType: int
    signature: "int gx_path_add_char_path(gx_path * to_path, gx_path * from_path,\n
      \                     gs_char_path_mode mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::close_subpath
      Src: /src/libspectre/ghostscript/base/gxpath.c:883,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppath
    - notes
    argTypes:
    - gx_path*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 884
    functionName: gx_path_close_subpath_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - gx_path*::procs::close_subpath
    linkageType: ''
    returnType: int
    signature: int gx_path_close_subpath_notes(gx_path * ppath, segment_notes notes)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: path_subpath_open
      Src: /src/libspectre/ghostscript/base/gxpath.c:892,1
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpath.c:894,1
    - Dst: gx_path_new_subpath
      Src: /src/libspectre/ghostscript/base/gxpath.c:896,1
    - Dst: path_alloc_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:900,1
    - Dst: path_alloc_link
      Src: /src/libspectre/ghostscript/base/gxpath.c:902,1
    - Dst: path_set_point
      Src: /src/libspectre/ghostscript/base/gxpath.c:903,1
    - Dst: path_update_closepath
      Src: /src/libspectre/ghostscript/base/gxpath.c:906,1
    - Dst: trace_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:907,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ppath
    - notes
    argTypes:
    - gx_path*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 885
    functionDepth: 2
    functionLinenumber: 885
    functionLinenumberEnd: 909
    functionName: gz_path_close_subpath_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path_new_subpath
    - path_alloc_segment
    - path_alloc_link
    - path_subpath_open
    - trace_segment
    - path_last_is_moveto
    - path_update_closepath
    - path_set_point
    linkageType: ''
    returnType: int
    signature: int gz_path_close_subpath_notes(gx_path * ppath, segment_notes notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppath
    - notes
    argTypes:
    - gx_path*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: gz_path_bbox_close_subpath_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gz_path_bbox_close_subpath_notes(gx_path * ppath, segment_notes
      notes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppath
    - flags
    argTypes:
    - gx_path*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 917
    functionDepth: 0
    functionLinenumber: 917
    functionLinenumberEnd: 923
    functionName: gz_path_state_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte gz_path_state_flags(gx_path *ppath, byte flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::state_flags
      Src: /src/libspectre/ghostscript/base/gxpath.c:927,1
    - Dst: gx_path*::procs::state_flags
      Src: /src/libspectre/ghostscript/base/gxpath.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 930
    functionName: gx_path_get_state_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path*::procs::state_flags
    linkageType: ''
    returnType: byte
    signature: byte gx_path_get_state_flags(gx_path *ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path*::procs::state_flags
      Src: /src/libspectre/ghostscript/base/gxpath.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppath
    - flags
    argTypes:
    - gx_path*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 935
    functionName: gx_path_set_state_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - gx_path*::procs::state_flags
    linkageType: ''
    returnType: void
    signature: void gx_path_set_state_flags(gx_path *ppath, byte flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: path_is_drawing
      Src: /src/libspectre/ghostscript/base/gxpath.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 940
    functionName: gx_path_is_drawing
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - path_is_drawing
    linkageType: ''
    returnType: bool
    signature: bool gx_path_is_drawing(gx_path *ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath.c:955,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpath.c:959,1
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxpath.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ppath
    - notes
    argTypes:
    - gx_path*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 961
    functionName: gx_path_pop_close_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_path_close_subpath_notes
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_path_pop_close_notes(gx_path * ppath, segment_notes notes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxpath.c:974,1
    - Dst: gx_path_copy
      Src: /src/libspectre/ghostscript/base/gxpath.c:975,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxpath.c:977,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gxpath.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 968
    functionDepth: 4
    functionLinenumber: 968
    functionLinenumberEnd: 982
    functionName: path_alloc_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - gx_path_assign_free
    - gx_path_copy
    - gx_path_free
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int path_alloc_copy(gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxpath.c:992,1
    - Dst: gx_path_print
      Src: /src/libspectre/ghostscript/base/gxpath.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ppath
    - tag
    argTypes:
    - gx_path*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 994
    functionName: gx_dump_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 0
    functionsReached:
    - dmlprintf2
    - gx_path_print
    linkageType: ''
    returnType: void
    signature: void gx_dump_path(const gx_path * ppath, const char *tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxpath.c:1002,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1005,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1006,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxpath.c:1007,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1008,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1008,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1009,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1009,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxpath.c:1011,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gxpath.c:1017,1
    - Dst: gx_print_segment
      Src: /src/libspectre/ghostscript/base/gxpath.c:1018,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1021
    functionName: gx_path_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - dmlprintf4
    - dmlputs
    - dmlprintf5
    - gx_print_segment
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void gx_path_print(const gx_path * ppath)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1025,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1026,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxpath.c:1029,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/base/gxpath.c:1035,1
    - Dst: dmprintf7
      Src: /src/libspectre/ghostscript/base/gxpath.c:1042,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1043,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1043,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1044,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1044,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gxpath.c:1049,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gxpath.c:1052,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/base/gxpath.c:1057,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1058,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1058,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1059,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpath.c:1059,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gxpath.c:1067,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gxpath.c:1072,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - mem
    - pseg
    argTypes:
    - gs_memory_t*
    - segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1022
    functionDepth: 1
    functionLinenumber: 1022
    functionLinenumberEnd: 1075
    functionName: gx_print_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.c
    functionUses: 1
    functionsReached:
    - dmprintf5
    - dmprintf7
    - gs_sprintf
    - dmprintf4
    - dmprintf3
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void gx_print_segment(const gs_memory_t *mem, const segment * pseg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsrop.c:28,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - rop
    argTypes:
    - gs_gstate*
    - gs_rop3_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 31
    functionName: gs_setrasterop
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setrasterop(gs_gstate * pgs, gs_rop3_t rop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsrop.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gs_currentrasterop
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached:
    - lop_rop
    linkageType: ''
    returnType: gs_rop3_t
    signature: gs_rop3_t gs_currentrasterop(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsrop.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - transparent
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: gs_setsourcetransparent
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setsourcetransparent(gs_gstate * pgs, bool transparent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: gs_currentsourcetransparent
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentsourcetransparent(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsrop.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - transparent
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: gs_settexturetransparent
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_settexturetransparent(gs_gstate * pgs, bool transparent)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: gs_currenttexturetransparent
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currenttexturetransparent(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - lop
    argTypes:
    - gs_gstate*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: gs_set_logical_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_set_logical_op(gs_gstate * pgs, gs_logical_operation_t lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 89
    functionName: gs_current_logical_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_logical_operation_t
    signature: gs_logical_operation_t gs_current_logical_op(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: trace_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: trace_ctm(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: print_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_inverse(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: print_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_inverse(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: ensure_inverse_valid
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure_inverse_valid(pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gscoord.c:59,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:59,1
    - Dst: print_inverse
      Src: /src/libspectre/ghostscript/base/gscoord.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: ctm_set_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - print_inverse
    - ctm_only
    - gs_matrix_invert
    linkageType: ''
    returnType: int
    signature: int ctm_set_inverse(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mat
    - ','
    - t
    - ','
    - t_fixed
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: update_t_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: update_t_fixed(mat, t, t_fixed, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mat
    - ','
    - t
    - ','
    - t_fixed
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: update_t_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: update_t_fixed(mat, t, t_fixed, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: f_fits_in_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f_fits_in_fixed(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mat
    - ','
    - xt
    - ','
    - yt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: update_matrix_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: update_matrix_fixed(mat, xt, yt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - xt
    - ','
    - yt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: update_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: update_ctm(pgs, xt, yt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_defaultmatrix
      Src: /src/libspectre/ghostscript/base/gscoord.c:103,1
    - Dst: update_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:104,1
    - Dst: set_ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:105,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:107,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:108,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 111
    functionName: gs_initmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    - trace_ctm
    - set_ctm_only
    - gs_defaultmatrix
    - dmlprintf
    - update_ctm
    linkageType: ''
    returnType: int
    signature: int gs_initmatrix(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gscoord.c:122,1
    - Dst: gs_deviceinitialmatrix
      Src: /src/libspectre/ghostscript/base/gscoord.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 128
    functionName: gs_defaultmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - gs_deviceinitialmatrix
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: int gs_defaultmatrix(const gs_gstate * pgs, gs_matrix * pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: gs_setdefaultmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setdefaultmatrix(gs_gstate * pgs, const gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 147
    functionName: gs_currentmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 2
    functionsReached:
    - ctm_only
    linkageType: ''
    returnType: int
    signature: int gs_currentmatrix(const gs_gstate * pgs, gs_matrix * pmat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gscoord.c:155,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:155,1
    - Dst: update_matrix_fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:159,1
    - Dst: char_tm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:160,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:162,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:163,1
    - Dst: trace_matrix_fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 167
    functionName: gs_setcharmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - gs_matrix_multiply
    - gs_debug_c
    - trace_matrix_fixed
    - ctm_only
    - char_tm_only
    - update_matrix_fixed
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int gs_setcharmatrix(gs_gstate * pgs, const gs_matrix * pmat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscoord.c:179,1
    - Dst: gs_setcharmatrix
      Src: /src/libspectre/ghostscript/base/gscoord.c:180,1
    - Dst: char_tm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:185,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pgs
    - ptm
    - force
    argTypes:
    - gs_gstate*
    - gs_matrix*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: gs_currentcharmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_setcharmatrix
    - char_tm_only
    linkageType: ''
    returnType: int
    signature: int gs_currentcharmatrix(gs_gstate * pgs, gs_matrix * ptm, bool force)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:192,1
    - Dst: set_ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:193,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:195,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:196,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 199
    functionName: gs_setmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 3
    functionsReached:
    - gs_debug_c
    - trace_ctm
    - set_ctm_only
    - dmlprintf
    - update_ctm
    linkageType: ''
    returnType: int
    signature: int gs_setmatrix(gs_gstate * pgs, const gs_matrix * pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_matrix_fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:204,1
    - Dst: set_ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:205,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:207,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:208,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:208,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 211
    functionName: gs_gstate_setmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 2
    functionsReached:
    - gs_debug_c
    - trace_ctm
    - update_matrix_fixed
    - set_ctm_only
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int gs_gstate_setmatrix(gs_gstate * pgs, const gs_matrix * pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscoord.c:221,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 222
    functionName: gs_settocharmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_settocharmatrix(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gscoord.c:230,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:230,1
    - Dst: update_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:234,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:236,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gscoord.c:237,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - dx
    - dy
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 242
    functionName: gs_translate
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - dmlprintf4
    - trace_ctm
    - ctm_only
    - gs_distance_transform
    - update_ctm
    linkageType: ''
    returnType: int
    signature: int gs_translate(gs_gstate * pgs, double dx, double dy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: update_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:251,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:253,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gscoord.c:254,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pgs
    - dx
    - dy
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 259
    functionName: gs_translate_untransformed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - trace_ctm
    - gs_debug_c
    - dmlprintf4
    - update_ctm
    linkageType: ''
    returnType: int
    signature: int gs_translate_untransformed(gs_gstate * pgs, double dx, double dy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:270,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gscoord.c:271,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - sx
    - sy
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: gs_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - dmlprintf2
    - gs_debug_c
    - trace_ctm
    linkageType: ''
    returnType: int
    signature: int gs_scale(gs_gstate * pgs, double sx, double sy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_rotate
      Src: /src/libspectre/ghostscript/base/gscoord.c:279,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:279,1
    - Dst: ctm_only_writable
      Src: /src/libspectre/ghostscript/base/gscoord.c:280,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:284,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gscoord.c:285,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - ang
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 288
    functionName: gs_rotate
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - trace_ctm
    - gs_matrix_rotate
    - ctm_only
    - ctm_only_writable
    - dmlprintf1
    linkageType: ''
    returnType: int
    signature: int gs_rotate(gs_gstate * pgs, double ang)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gscoord.c:294,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:294,1
    - Dst: update_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:298,1
    - Dst: set_ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:299,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:301,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:302,1
    - Dst: trace_matrix
      Src: /src/libspectre/ghostscript/base/gscoord.c:302,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - pmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: gs_concat
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - gs_debug_c
    - trace_ctm
    - ctm_only
    - trace_matrix
    - set_ctm_only
    - dmlprintf
    - update_ctm
    linkageType: ''
    returnType: int
    signature: int gs_concat(gs_gstate * pgs, const gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pmat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: is_skewed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_skewed(pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gscoord.c:314,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - x
    - y
    - pt
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 315
    functionName: gs_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - gs_point_transform
    - ctm_only
    linkageType: ''
    returnType: int
    signature: int gs_transform(gs_gstate * pgs, double x, double y, gs_point * pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gscoord.c:320,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - dx
    - dy
    - pt
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 321
    functionName: gs_dtransform
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - ctm_only
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: int gs_dtransform(gs_gstate * pgs, double dx, double dy, gs_point *
      pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_skewed
      Src: /src/libspectre/ghostscript/base/gscoord.c:327,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gscoord.c:328,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:328,1
    - Dst: ensure_inverse_valid
      Src: /src/libspectre/ghostscript/base/gscoord.c:330,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gscoord.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pgs
    - x
    - y
    - pt
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: gs_itransform
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - gs_point_transform_inverse
    - is_skewed
    - gs_point_transform
    - ctm_only
    - ensure_inverse_valid
    linkageType: ''
    returnType: int
    signature: int gs_itransform(gs_gstate * pgs, double x, double y, gs_point * pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_skewed
      Src: /src/libspectre/ghostscript/base/gscoord.c:339,1
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/base/gscoord.c:340,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:341,1
    - Dst: ensure_inverse_valid
      Src: /src/libspectre/ghostscript/base/gscoord.c:343,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gscoord.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pgs
    - dx
    - dy
    - pt
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: gs_idtransform
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - is_skewed
    - gs_distance_transform_inverse
    - ctm_only
    - gs_distance_transform
    - ensure_inverse_valid
    linkageType: ''
    returnType: int
    signature: int gs_idtransform(gs_gstate * pgs, double dx, double dy, gs_point
      * pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform_inverse
      Src: /src/libspectre/ghostscript/base/gscoord.c:352,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gscoord.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - dx
    - dy
    - pt
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 353
    functionName: gs_gstate_idtransform
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - gs_distance_transform_inverse
    - ctm_only
    linkageType: ''
    returnType: int
    signature: "int gs_gstate_idtransform(const gs_gstate * pgs, double dx, double
      dy,\n                      gs_point * pt)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:362,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:364,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:370,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:371,1
    - Dst: gx_path_translate
      Src: /src/libspectre/ghostscript/base/gscoord.c:372,1
    - Dst: gx_path_is_null
      Src: /src/libspectre/ghostscript/base/gscoord.c:379,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscoord.c:380,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:393,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gscoord.c:394,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:395,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:395,1
    - Dst: trace_ctm
      Src: /src/libspectre/ghostscript/base/gscoord.c:396,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gscoord.c:397,1
    - Dst: trace_matrix_fixed
      Src: /src/libspectre/ghostscript/base/gscoord.c:398,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gscoord.c:401,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:401,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - pgs
    - px
    - py
    argTypes:
    - gs_gstate*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 404
    functionName: gx_translate_to_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 5
    functionsReached:
    - float2fixed
    - trace_matrix_fixed
    - gs_debug_c
    - trace_ctm
    - gx_path_translate
    - gx_setcurrentpoint
    - gx_path_is_null
    - return_error
    - dmlprintf2
    - dmlprintf
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_translate_to_fixed(register gs_gstate * pgs, fixed px, fixed
      py)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: scale_cxy
      Src: /src/libspectre/ghostscript/base/gscoord.c:420,1
    - Dst: scale_cxy
      Src: /src/libspectre/ghostscript/base/gscoord.c:421,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gscoord.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pgs
    - sx
    - sy
    argTypes:
    - gs_gstate*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 425
    functionName: gx_scale_char_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached:
    - if_debug2m
    - scale_cxy
    linkageType: ''
    returnType: int
    signature: int gx_scale_char_matrix(register gs_gstate * pgs, int sx, int sy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - vx
    - ','
    - vy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: scale_cxy
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scale_cxy(s, vx, vy)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gscoord.c:440,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gscoord.c:441,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gscoord.c:441,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gscoord.c:443,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gscoord.c:444,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gscoord.c:444,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gscoord.c:449,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gscoord.c:450,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gscoord.c:450,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gscoord.c:455,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gscoord.c:456,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gscoord.c:456,1
    - Dst: SET_C
      Src: /src/libspectre/ghostscript/base/gscoord.c:482,1
    - Dst: SET_C
      Src: /src/libspectre/ghostscript/base/gscoord.c:483,1
    - Dst: SET_C
      Src: /src/libspectre/ghostscript/base/gscoord.c:484,1
    - Dst: SET_C
      Src: /src/libspectre/ghostscript/base/gscoord.c:485,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gscoord.c:489,1
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gscoord.c:490,1
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gscoord.c:492,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 3
    argNames:
    - pmat
    - pfc
    - max_bits
    argTypes:
    - gs_matrix*
    - fixed_coeff*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 500
    functionName: gx_matrix_to_fixed_coeff
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - SET_C
    - gs_debug_c
    - frexp
    - discard
    - is_fzero
    - dlprintf6
    linkageType: ''
    returnType: int
    signature: "int gx_matrix_to_fixed_coeff(const gs_matrix * pmat, register fixed_coeff
      * pfc,\n                         int max_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 482
    functionName: SET_C
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_C(c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gscoord.c:518,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gscoord.c:519,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gscoord.c:526,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gscoord.c:526,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gscoord.c:527,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gscoord.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - value
    - coeff
    - pfc
    - maxb
    argTypes:
    - fixed
    - long
    - fixed_coeff*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 530
    functionName: fixed_coeff_mult
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 0
    functionsReached:
    - arith_rshift
    - fixed2int_var
    - fixed2int
    - fixed_mult_quo
    - fixed_fraction
    linkageType: ''
    returnType: fixed
    signature: fixed fixed_coeff_mult(fixed value, long coeff, const fixed_coeff *pfc,
      int maxb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: trace_matrix
      Src: /src/libspectre/ghostscript/base/gscoord.c:540,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gscoord.c:542,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:543,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gscoord.c:544,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gscoord.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - pmat
    argTypes:
    - gs_memory_t*
    - gs_matrix_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 548
    functionName: trace_matrix_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 2
    functionsReached:
    - trace_matrix
    - dmputs
    - dmprintf2
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void trace_matrix_fixed(const gs_memory_t *mem, const gs_matrix_fixed
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gscoord.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - pmat
    argTypes:
    - gs_memory_t*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: trace_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gscoord.c
    functionUses: 2
    functionsReached:
    - dmlprintf6
    linkageType: ''
    returnType: void
    signature: void trace_matrix(const gs_memory_t *mem, register const gs_matrix
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: dctd_init_source
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dctd_init_source(j_decompress_ptr dinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/sdctd.c:42,1
    - Dst: WARNMS
      Src: /src/libspectre/ghostscript/base/sdctd.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 53
    functionName: dctd_fill_input_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached:
    - offset_of
    - WARNMS
    linkageType: ''
    returnType: boolean
    signature: boolean dctd_fill_input_buffer(j_decompress_ptr dinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/sdctd.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dinfo
    - num_bytes
    argTypes:
    - j_decompress_ptr
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: dctd_skip_input_data
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached:
    - offset_of
    linkageType: ''
    returnType: void
    signature: void dctd_skip_input_data(j_decompress_ptr dinfo, long num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/sdctd.c:79,1
    - Dst: stream_dct_end_passthrough
      Src: /src/libspectre/ghostscript/base/sdctd.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: dctd_term_source
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached:
    - offset_of
    - stream_dct_end_passthrough
    linkageType: ''
    returnType: void
    signature: void dctd_term_source(j_decompress_ptr dinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_DCT_set_defaults
      Src: /src/libspectre/ghostscript/base/sdctd.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: s_DCTD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached:
    - s_DCT_set_defaults
    linkageType: ''
    returnType: void
    signature: void s_DCTD_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 111
    functionName: s_DCTD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_DCTD_init(stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 1
    argNames:
    - pr
    argTypes:
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 145
    functionName: compact_jpeg_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compact_jpeg_buffer(stream_cursor_read *pr)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 3
    argNames:
    - d
    - len
    - height
    argTypes:
    - JOCTET*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 172
    functionName: update_jpeg_header_height
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void update_jpeg_header_height(JOCTET *d, size_t len, int height)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sdctd.c:185,1
    - Dst: update_jpeg_header_height
      Src: /src/libspectre/ghostscript/base/sdctd.c:240,1
    - Dst: gs_jpeg_read_header
      Src: /src/libspectre/ghostscript/base/sdctd.c:242,1
    - Dst: gs_jpeg_start_decompress
      Src: /src/libspectre/ghostscript/base/sdctd.c:284,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/sdctd.c:295,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/sdctd.c:302,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/sdctd.c:302,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sdctd.c:315,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sdctd.c:318,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdctd.c:320,1
    - Dst: gs_jpeg_read_scanlines
      Src: /src/libspectre/ghostscript/base/sdctd.c:359,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sdctd.c:362,1
    - Dst: compact_jpeg_buffer
      Src: /src/libspectre/ghostscript/base/sdctd.c:383,1
    - Dst: gs_jpeg_finish_decompress
      Src: /src/libspectre/ghostscript/base/sdctd.c:401,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 147
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 414
    functionName: s_DCTD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sdctd.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_start_decompress
    - gs_alloc_bytes_immovable
    - if_debug3m
    - gs_jpeg_finish_decompress
    - gs_jpeg_read_scanlines
    - compact_jpeg_buffer
    - memcpy
    - if_debug4m
    - if_debug2m
    - update_jpeg_header_height
    - gs_jpeg_read_header
    - min
    - gs_memory_stable
    linkageType: ''
    returnType: int
    signature: "int s_DCTD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: public_st_LZW_state
    functionSourceFile: /src/libspectre/ghostscript/base/slzwx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_LZW_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 71
    functionName: s_LZW_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/slzwx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_LZW_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: _fixed_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _fixed_rshift(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: int2fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: int2fixed(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: fixed2int
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: fixed2int_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_rounded(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: fixed2int_ceiling
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_ceiling(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: fixed_pre_pixround
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_pre_pixround(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: fixed2int_pixround
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_pixround(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: fixed2int_pixround_perfect
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_pixround_perfect(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: fixed_is_int
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_is_int(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: _fixed_hi
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _fixed_hi(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: _fixed_lo
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _fixed_lo(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: fixed2int_var
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 106
    functionName: fixed2int_var_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var_rounded(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: fixed2int_var_ceiling
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var_ceiling(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: fixed2int_var
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: fixed2int_var_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var_rounded(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: fixed2int_var_ceiling
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var_ceiling(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: fixed2int_var_pixround
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2int_var_pixround(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: fixed2long
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2long(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: fixed2long_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2long_rounded(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: fixed2long_ceiling
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2long_ceiling(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: fixed2long_pixround
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2long_pixround(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: float2fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float2fixed(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: float2fixed_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float2fixed_rounded(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: fixed2float
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed2float(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    functionName: fixed_floor
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_floor(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: fixed_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_rounded(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: fixed_ceiling
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_ceiling(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: fixed_pixround
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_pixround(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 132
    functionName: fixed_fraction
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_fraction(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: fixed_truncated
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fixed_truncated(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: CHECK_SET_FIXED_SUM
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_SET_FIXED_SUM(r, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vr
    - ','
    - vfa
    - ','
    - vfb
    - ','
    - dtemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: CHECK_FMUL2FIXED_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_FMUL2FIXED_VARS(vr, vfa, vfb, dtemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vr
    - ','
    - dtemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: FINISH_FMUL2FIXED_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FINISH_FMUL2FIXED_VARS(vr, dtemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vr
    - ','
    - vda
    - ','
    - vfb
    - ','
    - dtemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: CHECK_DFMUL2FIXED_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_DFMUL2FIXED_VARS(vr, vda, vfb, dtemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vr
    - ','
    - dtemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: FINISH_DFMUL2FIXED_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FINISH_DFMUL2FIXED_VARS(vr, dtemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vr
    - ','
    - vf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 229
    functionName: set_float2fixed_vars
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_float2fixed_vars(vr,vf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vf
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: set_fixed2float_var
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_fixed2float_var(vf,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vd
    - ','
    - x
    - ','
    - exp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: set_ldexp_fixed2double
    functionSourceFile: /src/libspectre/ghostscript/base/gxfixed.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_ldexp_fixed2double(vd, x, exp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: NEED_TO_COMPRESS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEED_TO_COMPRESS(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: GET_NUM_RAW_BUFFERS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_NUM_RAW_BUFFERS( f )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - siz
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: MALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MALLOC(f, siz, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - obj
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    functionName: FREE
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 235
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(f, obj, cname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:206,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - f
    - sizeofBlock
    - return_code
    - allocName
    - errorMessage
    argTypes:
    - MEMFILE*
    - int
    - int*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 234
    functionName: allocateWithReserve
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - MALLOC
    linkageType: ''
    returnType: void
    signature: "void *   /* allocated memory's address, 0 if failure */\nallocateWithReserve(\n
      \               MEMFILE  *f,                    /* file to allocate mem to */\n
      \               int      sizeofBlock,           /* size of block to allocate
      */\n                int      *return_code,          /* RET 0 ok, -ve GS-style
      error, or +1 if OK but low memory */\n                const   char     *allocName,
      \   /* name to allocate by */\n                const   char     *errorMessage
      \ /* error message to print */\n)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:254,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:256,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclmem.c:268,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:271,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:274,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclmem.c:277,1
    - Dst: clist_decompressor_template
      Src: /src/libspectre/ghostscript/base/gxclmem.c:300,1
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:302,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:304,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclmem.c:319,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:322,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:325,1
    - Dst: clist_decompressor_init
      Src: /src/libspectre/ghostscript/base/gxclmem.c:328,1
    - Dst: memfile_get_pdata
      Src: /src/libspectre/ghostscript/base/gxclmem.c:334,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclmem.c:340,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:343,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:346,1
    - Dst: memfile_init_empty
      Src: /src/libspectre/ghostscript/base/gxclmem.c:362,1
    - Dst: memfile_set_memory_warning
      Src: /src/libspectre/ghostscript/base/gxclmem.c:364,1
    - Dst: clist_compressor_template
      Src: /src/libspectre/ghostscript/base/gxclmem.c:374,1
    - Dst: clist_decompressor_template
      Src: /src/libspectre/ghostscript/base/gxclmem.c:375,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclmem.c:378,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclmem.c:381,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:384,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:387,1
    - Dst: clist_compressor_init
      Src: /src/libspectre/ghostscript/base/gxclmem.c:390,1
    - Dst: clist_decompressor_init
      Src: /src/libspectre/ghostscript/base/gxclmem.c:391,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:403,1
    - Dst: memfile_fclose
      Src: /src/libspectre/ghostscript/base/gxclmem.c:418,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 135
    argCount: 6
    argNames:
    - fname
    - fmode
    - pf
    - mem
    - data_mem
    - ok_to_compress
    argTypes:
    - char[]
    - char*
    - clist_file_ptr*
    - gs_memory_t*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 427
    functionName: memfile_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - clist_decompressor_template
    - memfile_get_pdata
    - sscanf
    - memfile_fclose
    - clist_compressor_init
    - memfile_set_memory_warning
    - emprintf1
    - gs_sprintf
    - MALLOC
    - memcpy
    - memfile_init_empty
    - gs_note_error
    - clist_decompressor_init
    - clist_compressor_template
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int memfile_fopen(char fname[gp_file_name_sizeof], const char *fmode,\n
      \             clist_file_ptr /*MEMFILE * */  * pf,\n              gs_memory_t
      *mem, gs_memory_t *data_mem, bool ok_to_compress)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:446,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:449,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:461,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:478,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclmem.c:483,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:493,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:496,1
    - Dst: memfile_free_mem
      Src: /src/libspectre/ghostscript/base/gxclmem.c:499,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:507,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:513,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclmem.c:517,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclmem.c:519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclmem.c:523,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 3
    argNames:
    - cf
    - fname
    - delete
    argTypes:
    - clist_file_ptr
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 526
    functionName: memfile_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 1
    functionsReached:
    - memfile_free_mem
    - FREE
    - emprintf1
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int memfile_fclose(clist_file_ptr cf, const char *fname, bool delete)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:535,1
    - Dst: memfile_fclose
      Src: /src/libspectre/ghostscript/base/gxclmem.c:536,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 539
    functionName: memfile_unlink
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - return_error
    - memfile_fclose
    - sscanf
    linkageType: ''
    returnType: int
    signature: int memfile_unlink(const char *fname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:566,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:569,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:580,1
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:585,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclmem.c:586,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:590,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:601,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - cf
    - bytes_left
    argTypes:
    - clist_file_ptr
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 607
    functionName: memfile_set_memory_warning
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 1
    functionsReached:
    - gs_note_error
    - MALLOC
    - FREE
    - max
    linkageType: ''
    returnType: int
    signature: int memfile_set_memory_warning(clist_file_ptr cf, int bytes_left)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:638,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:659,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:661,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxclmem.c:667,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:675,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - f
    - bp
    argTypes:
    - MEMFILE*
    - LOG_MEMFILE_BLK*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 609
    functionDepth: 2
    functionLinenumber: 609
    functionLinenumberEnd: 676
    functionName: compress_log_blk
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - allocateWithReserve
    - emprintf
    - return_error
    - emprintf2
    linkageType: ''
    returnType: int
    signature: int compress_log_blk(MEMFILE * f, LOG_MEMFILE_BLK * bp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:691,1
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:700,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:703,1
    - Dst: NEED_TO_COMPRESS
      Src: /src/libspectre/ghostscript/base/gxclmem.c:713,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclmem.c:714,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:722,1
    - Dst: compress_log_blk
      Src: /src/libspectre/ghostscript/base/gxclmem.c:735,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:738,1
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:743,1
    - Dst: compress_log_blk
      Src: /src/libspectre/ghostscript/base/gxclmem.c:763,1
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:767,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 67
    argCount: 1
    argNames:
    - f
    argTypes:
    - MEMFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 679
    functionDepth: 3
    functionLinenumber: 679
    functionLinenumberEnd: 783
    functionName: memfile_next_blk
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - compress_log_blk
    - allocateWithReserve
    - FREE
    - return_error
    - NEED_TO_COMPRESS
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int memfile_next_blk(MEMFILE * f)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memfile_free_mem
      Src: /src/libspectre/ghostscript/base/gxclmem.c:798,1
    - Dst: memfile_init_empty
      Src: /src/libspectre/ghostscript/base/gxclmem.c:799,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:805,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclmem.c:813,1
    - Dst: memfile_next_blk
      Src: /src/libspectre/ghostscript/base/gxclmem.c:818,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 3
    argNames:
    - data
    - len
    - cf
    argTypes:
    - void*
    - uint
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 785
    functionDepth: 4
    functionLinenumber: 785
    functionLinenumberEnd: 831
    functionName: memfile_fwrite_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - memfile_next_blk
    - memfile_free_mem
    - memmove
    - emprintf
    - memfile_init_empty
    linkageType: ''
    returnType: int
    signature: int memfile_fwrite_chars(const void *data, uint len, clist_file_ptr
      cf)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: GET_NUM_RAW_BUFFERS
      Src: /src/libspectre/ghostscript/base/gxclmem.c:862,1
    - Dst: allocateWithReserve
      Src: /src/libspectre/ghostscript/base/gxclmem.c:874,1
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:884,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclmem.c:896,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:902,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:965,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:967,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 102
    argCount: 1
    argNames:
    - f
    argTypes:
    - MEMFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 1001
    functionName: memfile_get_pdata
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - GET_NUM_RAW_BUFFERS
    - allocateWithReserve
    - MALLOC
    - emprintf
    - return_error
    linkageType: ''
    returnType: int
    signature: int memfile_get_pdata(MEMFILE * f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memfile_get_pdata
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1021,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1027,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - data
    - len
    - cf
    argTypes:
    - void*
    - uint
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1034
    functionName: memfile_fread_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - memfile_get_pdata
    - memmove
    linkageType: ''
    returnType: int
    signature: int memfile_fread_chars(void *data, uint len, clist_file_ptr cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1042
    functionName: memfile_ferror_code
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int memfile_ferror_code(clist_file_ptr cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1048
    functionName: memfile_ftell
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t memfile_ftell(clist_file_ptr cf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1060,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1063,1
    - Dst: memfile_free_mem
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1066,1
    - Dst: memfile_init_empty
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1068,1
    - Dst: memfile_get_pdata
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1072,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - cf
    - discard_data
    - ignore_fname
    argTypes:
    - clist_file_ptr
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1050
    functionDepth: 3
    functionLinenumber: 1050
    functionLinenumberEnd: 1075
    functionName: memfile_rewind
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - memfile_get_pdata
    - memfile_free_mem
    - emprintf1
    - memfile_init_empty
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int memfile_rewind(clist_file_ptr cf, bool discard_data, const char
      *ignore_fname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memfile_get_pdata
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 4
    argNames:
    - cf
    - offset
    - mode
    - ignore_fname
    argTypes:
    - clist_file_ptr
    - int64_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1119
    functionName: memfile_fseek
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - memfile_get_pdata
    linkageType: ''
    returnType: int
    signature: int memfile_fseek(clist_file_ptr cf, int64_t offset, int mode, const
      char *ignore_fname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1132,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1136,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1140,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1170,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1178,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1181,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1199,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 1
    argNames:
    - f
    argTypes:
    - MEMFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1202
    functionName: memfile_free_mem
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 3
    functionsReached:
    - if_debug3m
    - FREE
    - if_debug4m
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void memfile_free_mem(MEMFILE * f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1221,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1224,1
    - Dst: MALLOC
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1230,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1232,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1233,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 1
    argNames:
    - f
    argTypes:
    - MEMFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1250
    functionName: memfile_init_empty
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 3
    functionsReached:
    - return_error
    - FREE
    - MALLOC
    - emprintf
    linkageType: ''
    returnType: int
    signature: int memfile_init_empty(MEMFILE * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/base/gxclmem.c:1270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1274
    functionName: gs_gxclmem_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.c
    functionUses: 0
    functionsReached:
    - VALGRIND_HG_DISABLE_CHECKING
    linkageType: ''
    returnType: int
    signature: int gs_gxclmem_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: string_clump_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_clump_space(nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - spacebytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: string_space_quanta
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_space_quanta(spacebytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nquanta
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: string_quanta_mark_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_quanta_mark_size(nquanta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: STRING_FREELIST_SPACE
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRING_FREELIST_SPACE(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: csbase
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: csbase(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 191
    functionName: public_st_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_clump()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: SCAN_CLUMP_OBJECTS
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_CLUMP_OBJECTS(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: ptr_is_within_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_is_within_clump(ptr, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: ptr_is_in_inner_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_is_in_inner_clump(ptr, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: ptr_is_in_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ptr_is_in_clump(ptr, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - clp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: clump_locate
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clump_locate(ptr, clp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - msg
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: dmprintf_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf_clump(mem, msg, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - mem
    - ','
    - msg
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: if_debug_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug_clump(c, mem, msg, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: public_st_ref_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_ref_memory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: SCAN_MEM_CLUMPS
    functionSourceFile: /src/libspectre/ghostscript/base/gxalloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_MEM_CLUMPS(mem, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: arith_rshift_slow
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift_slow(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: arith_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: arith_rshift_1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift_1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: arith_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: arith_rshift_1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift_1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: arith_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: arith_rshift_1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arith_rshift_1(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: init_proc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmtarg
    - ','
    - firstvararg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: __printflike
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __printflike(fmtarg, firstvararg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: dflush
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dflush()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: dputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dputc(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    functionName: dlputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlputc(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: dputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dputs(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 214
    functionName: dlputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlputs(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: dprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: dlprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: dprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: dlprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: dprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: dlprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: dprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: dlprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: dprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: dlprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: dprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    functionName: dlprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: dprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: dlprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 244
    functionName: dprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: dlprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: dprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: dlprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: dprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: dlprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: dprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: dlprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: dprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf11(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: dlprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf11(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: dprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf12(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: dlprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf12(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 277
    functionName: dputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dputc(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 278
    functionName: dlputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlputc(chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 279
    functionName: dputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dputs(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 280
    functionName: dlputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlputs(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 282
    functionName: dprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 284
    functionName: dlprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 286
    functionName: dprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: dlprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: dprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: dlprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: dprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 296
    functionName: dlprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 298
    functionName: dprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: dlprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 302
    functionName: dprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: dlprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 306
    functionName: dprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 308
    functionName: dlprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 310
    functionName: dprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 312
    functionName: dlprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 314
    functionName: dprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 316
    functionName: dlprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: dprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: dlprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: dprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: dlprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 326
    functionName: dprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf11(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 328
    functionName: dlprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf11(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: dprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dprintf12(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 332
    functionName: dlprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dlprintf12(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    functionName: _dmpl
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _dmpl(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 341
    functionName: _dmpl
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _dmpl(M)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: dmflush
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmflush(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: dmputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmputc(mem,chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 346
    functionName: dmlputc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlputc(mem,chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 347
    functionName: dmputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 23
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmputs(mem,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: dmlputs
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlputs(mem,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: dmprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf(mem,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: dmlprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf(mem,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: dmprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf1(mem,str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: dmlprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf1(mem,str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: dmprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf2(mem,str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: dmlprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf2(mem,str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: dmprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf3(mem,str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: dmlprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf3(mem,str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: dmprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf4(mem,str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: dmlprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf4(mem,str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 370
    functionName: dmprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf5(mem,str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: dmlprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf5(mem,str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: dmprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf6(mem,str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: dmlprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf6(mem,str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 378
    functionName: dmprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf7(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: dmlprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf7(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 382
    functionName: dmprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf8(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 384
    functionName: dmlprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf8(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: dmprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf9(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: dmlprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf9(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 390
    functionName: dmprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf10(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 392
    functionName: dmlprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf10(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 394
    functionName: dmprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf11(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 396
    functionName: dmlprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf11(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 398
    functionName: dmprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmprintf12(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - ','
    - arg11
    - ','
    - arg12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: dmlprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dmlprintf12(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - NAME
    - ','
    - NUM
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: eprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf_program_ident(NAME,NUM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 418
    functionName: eprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 420
    functionName: eprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 422
    functionName: eprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 424
    functionName: eprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 426
    functionName: eprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 428
    functionName: eprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 430
    functionName: eprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 432
    functionName: eprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 434
    functionName: eprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 436
    functionName: eprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 438
    functionName: eprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    functionName: eprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    functionName: eprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 447
    functionName: eprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 449
    functionName: eprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 451
    functionName: eprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 453
    functionName: eprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 455
    functionName: eprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: eprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 459
    functionName: eprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 461
    functionName: eprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 463
    functionName: eprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 466
    functionName: _epim
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _epim(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 469
    functionName: emprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 62
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 469
    functionDepth: 0
    functionLinenumber: 469
    functionLinenumberEnd: 471
    functionName: emprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf1(mem, str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 473
    functionName: emprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf2(mem, str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 475
    functionName: emprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf3(mem, str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 477
    functionName: emprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf4(mem, str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 479
    functionName: emprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf5(mem, str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 481
    functionName: emprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf6(mem, str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 483
    functionName: emprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf7(mem, str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 485
    functionName: emprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf8(mem, str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: emprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf9(mem, str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: emprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: emprintf10(mem, str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: lprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: lprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: lprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 499
    functionName: lprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 501
    functionName: lprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 501
    functionDepth: 0
    functionLinenumber: 501
    functionLinenumberEnd: 503
    functionName: lprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 505
    functionName: lprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: lprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: lprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: lprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: lprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 524
    functionName: lprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 526
    functionName: lprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf1(str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 528
    functionName: lprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf2(str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: lprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf3(str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 532
    functionName: lprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf4(str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 534
    functionName: lprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf5(str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 536
    functionName: lprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf6(str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 538
    functionName: lprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf7(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 540
    functionName: lprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf8(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: lprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf9(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    functionName: lprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lprintf10(str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 548
    functionDepth: 0
    functionLinenumber: 548
    functionLinenumberEnd: 549
    functionName: _eplm
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _eplm(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 552
    functionName: _eplm
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _eplm(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 556
    functionName: mlprintf
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf(mem,str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 558
    functionName: mlprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf1(mem,str,arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 560
    functionName: mlprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf2(mem,str,arg1,arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: mlprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf3(mem,str,arg1,arg2,arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 564
    functionName: mlprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf4(mem,str,arg1,arg2,arg3,arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 566
    functionName: mlprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf5(mem,str,arg1,arg2,arg3,arg4,arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 566
    functionDepth: 0
    functionLinenumber: 566
    functionLinenumberEnd: 568
    functionName: mlprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf6(mem,str,arg1,arg2,arg3,arg4,arg5,arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: mlprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf7(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 572
    functionName: mlprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf8(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 574
    functionName: mlprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf9(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - ','
    - arg10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 576
    functionName: mlprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mlprintf10(mem,str,arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 578
    functionName: init_proc
    functionSourceFile: /src/libspectre/ghostscript/base/std.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_proc(proc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_semaphore_sizeof
      Src: /src/libspectre/ghostscript/base/gxsync.c:44,1
    - Dst: gp_semaphore_open
      Src: /src/libspectre/ghostscript/base/gxsync.c:46,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxsync.c:48,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxsync.c:52,1
    - Dst: gp_semaphore_open
      Src: /src/libspectre/ghostscript/base/gxsync.c:60,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxsync.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 65
    functionName: gx_semaphore_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 3
    functionsReached:
    - gs_alloc_bytes
    - gs_alloc_bytes_immovable
    - gp_semaphore_sizeof
    - gp_semaphore_open
    - gs_free_object
    linkageType: ''
    returnType: gx_semaphore_t
    signature: "gx_semaphore_t *\t\t/* returns a new semaphore, 0 if error */\ngx_semaphore_alloc(\n
      \                     gs_memory_t * memory\t/* memory allocator to use */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_semaphore_close
      Src: /src/libspectre/ghostscript/base/gxsync.c:74,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxsync.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gx_semaphore_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: gx_semaphore_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    - gp_semaphore_close
    linkageType: ''
    returnType: void
    signature: "void gx_semaphore_free(\n                     gx_semaphore_t * sema\t/*
      semaphore to delete */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_semaphore_label
      Src: /src/libspectre/ghostscript/base/gxsync.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sema
    - name
    argTypes:
    - gx_semaphore_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: '*(gx_semaphore_label)(gx_semaphore_t *sema, const char *name)'
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 0
    functionsReached:
    - gp_semaphore_label
    linkageType: ''
    returnType: gx_semaphore_t
    signature: gx_semaphore_t *(gx_semaphore_label)(gx_semaphore_t *sema, const char
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: gx_semaphore_wait
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_semaphore_wait(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: gx_semaphore_signal
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_semaphore_signal(sema)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_monitor_sizeof
      Src: /src/libspectre/ghostscript/base/gxsync.c:105,1
    - Dst: gp_monitor_open
      Src: /src/libspectre/ghostscript/base/gxsync.c:107,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxsync.c:109,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxsync.c:113,1
    - Dst: gp_monitor_open
      Src: /src/libspectre/ghostscript/base/gxsync.c:121,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxsync.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 126
    functionName: gx_monitor_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 4
    functionsReached:
    - gp_monitor_sizeof
    - gs_alloc_bytes
    - gs_alloc_bytes_immovable
    - gp_monitor_open
    - gs_free_object
    linkageType: ''
    returnType: gx_monitor_t
    signature: "gx_monitor_t *\t\t\t/* returns a new monitor, 0 if error */\ngx_monitor_alloc(\n
      \                   gs_memory_t * memory\t/* memory allocator to use */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_monitor_close
      Src: /src/libspectre/ghostscript/base/gxsync.c:135,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxsync.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gx_monitor_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: gx_monitor_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 4
    functionsReached:
    - gp_monitor_close
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gx_monitor_free(\n                   gx_monitor_t * mon\t/* monitor
      to delete */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_monitor_label
      Src: /src/libspectre/ghostscript/base/gxsync.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mon
    - name
    argTypes:
    - gx_monitor_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: '*

      (gx_monitor_label)(gx_monitor_t *mon, const char *name)'
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 0
    functionsReached:
    - gp_monitor_label
    linkageType: ''
    returnType: gx_monitor_t
    signature: 'gx_monitor_t *

      (gx_monitor_label)(gx_monitor_t *mon, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: gx_monitor_enter
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_monitor_enter(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: gx_monitor_leave
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_monitor_leave(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: public_st_cmap
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cmap()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclutil.c:64,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxclutil.c:68,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxclutil.c:70,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/base/gxclutil.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - op
    - size
    - mem
    argTypes:
    - int
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 75
    functionName: cmd_count_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - dmlprintf2
    - gs_debug_c
    - dmflush
    - dmlprintf3
    linkageType: ''
    returnType: int
    signature: int cmd_count_op(int op, uint size,const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - op
    - size
    argTypes:
    - int
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 81
    functionName: cmd_uncount_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmd_uncount_op(int op, uint size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxclutil.c:92,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxclutil.c:95,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxclutil.c:98,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:104,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/base/gxclutil.c:106,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxclutil.c:117,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxclutil.c:121,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxclutil.c:123,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxclutil.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 128
    functionName: cmd_print_stats
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - dmputs
    - dmprintf2
    - dmlprintf3
    - dmprintf6
    - dmlprintf1
    - dmlprintf2
    - dmlprintf5
    linkageType: ''
    returnType: void
    signature: void cmd_print_stats(const gs_memory_t *mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclutil.c:144,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclutil.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - cldev
    - bbox
    argTypes:
    - gx_device_clist_writer*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 161
    functionName: clist_update_trans_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 5
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: void clist_update_trans_bbox(gx_device_clist_writer *cldev, gs_int_rect
      *bbox)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:176,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:179,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclutil.c:182,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:183,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclutil.c:185,1
    - Dst: mlprintf1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:194,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:195,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:198,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclutil.c:199,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclutil.c:200,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclutil.c:204,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/gxclutil.c:205,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ferror_code
      Src: /src/libspectre/ghostscript/base/gxclutil.c:206,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ferror_code
      Src: /src/libspectre/ghostscript/base/gxclutil.c:207,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:209,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:211,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 5
    argNames:
    - cldev
    - band_min
    - band_max
    - pcl
    - cmd_end
    argTypes:
    - gx_device_clist_writer*
    - int
    - int
    - cmd_list*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 214
    functionName: cmd_write_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - cmd_count_op
    - gx_device_clist_writer*::page_info::io_procs::fwrite_chars
    - if_debug3m
    - gx_device_clist_writer*::page_info::io_procs::ferror_code
    - process_interrupts
    - gx_device_clist_writer*::page_info::io_procs::ftell
    - if_debug2m
    - return_error
    - mlprintf1
    linkageType: ''
    returnType: int
    signature: "int cmd_write_band(gx_device_clist_writer * cldev, int band_min, int
      band_max,\n               cmd_list * pcl, byte cmd_end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:230,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclutil.c:237,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:239,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclutil.c:242,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:245,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclutil.c:246,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::fwrite_chars
      Src: /src/libspectre/ghostscript/base/gxclutil.c:248,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/gxclutil.c:250,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ferror_code
      Src: /src/libspectre/ghostscript/base/gxclutil.c:251,1
    - Dst: gx_device_clist_writer*::page_info::io_procs::ferror_code
      Src: /src/libspectre/ghostscript/base/gxclutil.c:252,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:255,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - cldev
    - pbuf
    - data_size
    - pseudo_band_offset
    argTypes:
    - gx_device_clist_writer*
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 260
    functionName: cmd_write_pseudo_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 2
    functionsReached:
    - gx_device_clist_writer*::page_info::io_procs::fwrite_chars
    - gx_device_clist_writer*::page_info::io_procs::ferror_code
    - process_interrupts
    - gx_device_clist_writer*::page_info::io_procs::ftell
    - if_debug2m
    - return_error
    linkageType: ''
    returnType: int
    signature: int cmd_write_pseudo_band(gx_device_clist_writer * cldev, unsigned
      char *pbuf, int data_size, int pseudo_band_offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmd_write_band
      Src: /src/libspectre/ghostscript/base/gxclutil.c:269,1
    - Dst: cmd_write_band
      Src: /src/libspectre/ghostscript/base/gxclutil.c:279,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/gxclutil.c:287,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclutil.c:291,1
    - Dst: cmd_print_stats
      Src: /src/libspectre/ghostscript/base/gxclutil.c:292,1
    - Dst: return_check_interrupt
      Src: /src/libspectre/ghostscript/base/gxclutil.c:294,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - cldev
    - cmd_end
    argTypes:
    - gx_device_clist_writer*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 295
    functionName: cmd_write_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    - cmd_print_stats
    - cmd_write_band
    - VALGRIND_MAKE_MEM_UNDEFINED
    - return_check_interrupt
    linkageType: ''
    returnType: int
    signature: int cmd_write_buffer(gx_device_clist_writer * cldev, byte cmd_end)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclutil.c:308,1
    - Dst: cmd_write_buffer
      Src: /src/libspectre/ghostscript/base/gxclutil.c:312,1
    - Dst: cmd_put_list_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:319,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:323,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:326,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:329,1
    - Dst: cmd_count_add1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:338,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxclutil.c:345,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:356,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - cldev
    - pcl
    - size
    argTypes:
    - gx_device_clist_writer*
    - cmd_list*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 361
    functionName: cmd_put_list_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - cmd_put_list_op
    - cmd_write_buffer
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - lprintf1
    - cmd_count_add1
    - if_debug2m
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_list_op(gx_device_clist_writer * cldev, cmd_list * pcl, uint size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclutil.c:369,1
    - Dst: cmd_write_buffer
      Src: /src/libspectre/ghostscript/base/gxclutil.c:372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - cldev
    - pcls
    - size
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 378
    functionName: cmd_get_buffer_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - cmd_write_buffer
    linkageType: ''
    returnType: int
    signature: int cmd_get_buffer_space(gx_device_clist_writer * cldev, gx_clist_state
      * pcls, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:384,1
    - Dst: cmd_put_list_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cldev
    - pcls
    - size
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 4
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: cmd_put_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 4
    functionsReached:
    - if_debug3m
    - cmd_put_list_op
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_op(gx_device_clist_writer * cldev, gx_clist_state * pcls, uint size)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclutil.c:396,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:398,1
    - Dst: cmd_write_buffer
      Src: /src/libspectre/ghostscript/base/gxclutil.c:405,1
    - Dst: cmd_put_list_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:411,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - cldev
    - band_min
    - band_max
    - size
    argTypes:
    - gx_device_clist_writer*
    - int
    - int
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 412
    functionName: cmd_put_range_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - cmd_put_list_op
    - cmd_write_buffer
    - if_debug4m
    linkageType: ''
    returnType: byte
    signature: "byte *\ncmd_put_range_op(gx_device_clist_writer * cldev, int band_min,
      int band_max,\n                 uint size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: cmd_size_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmd_size_w(register uint w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - dp
    argTypes:
    - uint
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 431
    functionName: cmd_put_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_w(register uint w, register byte * dp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - w
    argTypes:
    - frac31
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: cmd_size_frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmd_size_frac31(register frac31 w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - w
    - dp
    argTypes:
    - frac31
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 452
    functionName: cmd_put_frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_frac31(register frac31 w, register byte * dp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: tab_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tab_entry(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:567,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:578,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:611,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:631,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 5
    argNames:
    - cldev
    - pcls
    - select
    - color
    - pcolor
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - clist_select_color_t*
    - gx_color_index
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 643
    functionName: cmd_put_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - set_cmd_put_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_color(gx_device_clist_writer * cldev, gx_clist_state *
      pcls,\n              const clist_select_color_t * select,\n              gx_color_index
      color, gx_color_index * pcolor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmd_put_color
      Src: /src/libspectre/ghostscript/base/gxclutil.c:653,1
    - Dst: cmd_put_color
      Src: /src/libspectre/ghostscript/base/gxclutil.c:660,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - cldev
    - pcls
    - color0
    - color1
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 646
    functionDepth: 2
    functionLinenumber: 646
    functionLinenumberEnd: 664
    functionName: cmd_set_tile_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - cmd_put_color
    linkageType: ''
    returnType: int
    signature: "int cmd_set_tile_colors(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                    gx_color_index color0, gx_color_index color1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmd_size2w
      Src: /src/libspectre/ghostscript/base/gxclutil.c:675,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:677,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:679,1
    - Dst: cmd_putxy
      Src: /src/libspectre/ghostscript/base/gxclutil.c:685,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 5
    argNames:
    - cldev
    - pcls
    - px
    - py
    - all_bands
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 687
    functionName: cmd_set_tile_phase_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - cmd_putxy
    - cmd_size2w
    - set_cmd_put_op
    - set_cmd_put_all_op
    linkageType: ''
    returnType: int
    signature: "int cmd_set_tile_phase_generic(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                   int px, int py, bool all_bands)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_set_tile_phase_generic
      Src: /src/libspectre/ghostscript/base/gxclutil.c:693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - cldev
    - pcls
    - px
    - py
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 694
    functionName: cmd_set_tile_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - cmd_set_tile_phase_generic
    linkageType: ''
    returnType: int
    signature: "int cmd_set_tile_phase(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                   int px, int py)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cldev
    - pcls
    - enable
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 711
    functionName: cmd_put_enable_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - set_cmd_put_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_enable_lop(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                   int enable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cldev
    - pcls
    - enable
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 729
    functionName: cmd_put_enable_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - set_cmd_put_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_enable_clip(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                    int enable)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:738,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclutil.c:739,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclutil.c:744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - cldev
    - pcls
    - lop
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 747
    functionName: cmd_set_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - cmd_put_w
    - cmd_size_w
    - set_cmd_put_op
    linkageType: ''
    returnType: int
    signature: "int cmd_set_lop(gx_device_clist_writer * cldev, gx_clist_state * pcls,\n
      \           gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclutil.c:758,1
    - Dst: cmd_set_lop
      Src: /src/libspectre/ghostscript/base/gxclutil.c:759,1
    - Dst: cmd_enable_lop
      Src: /src/libspectre/ghostscript/base/gxclutil.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - cldev
    - pcls
    - lop
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 2
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: cmd_update_lop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 4
    functionsReached:
    - cmd_disable_lop
    - cmd_set_lop
    - cmd_enable_lop
    linkageType: ''
    returnType: int
    signature: "int cmd_update_lop(gx_device_clist_writer *cldev, gx_clist_state *pcls,\n
      \              gs_logical_operation_t lop)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_list_serialize
      Src: /src/libspectre/ghostscript/base/gxclutil.c:777,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:780,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclutil.c:786,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclutil.c:789,1
    - Dst: gs_param_list_serialize
      Src: /src/libspectre/ghostscript/base/gxclutil.c:795,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclutil.c:798,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclutil.c:801,1
    - Dst: cmd_shorten_list_op
      Src: /src/libspectre/ghostscript/base/gxclutil.c:802,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclutil.c:806,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - cldev
    - param_list
    argTypes:
    - gx_device_clist_writer*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 809
    functionName: cmd_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - set_cmd_put_all_op
    - memcpy
    - memset
    - gs_param_list_serialize
    - gs_note_error
    - cmd_shorten_list_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_params(gx_device_clist_writer *cldev,\n               gs_param_list
      *param_list)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ss
    - width
    argTypes:
    - stream_CF_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 826
    functionName: clist_cf_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void clist_cf_init(stream_CF_state *ss, int width)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gxclutil.c:830,1
    - Dst: s_CFE_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/gxclutil.c:831,1
    - Dst: clist_cf_init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:832,1
    - Dst: init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - ss
    - width
    - mem
    argTypes:
    - stream_CFE_state*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 834
    functionName: clist_cfe_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - init
    - s_CFE_set_defaults_inline
    - s_init_state
    - clist_cf_init
    linkageType: ''
    returnType: void
    signature: void clist_cfe_init(stream_CFE_state *ss, int width, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gxclutil.c:838,1
    - Dst: set_defaults
      Src: /src/libspectre/ghostscript/base/gxclutil.c:839,1
    - Dst: clist_cf_init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:840,1
    - Dst: init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - ss
    - width
    - height
    - mem
    argTypes:
    - stream_CFD_state*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 843
    functionName: clist_cfd_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - init
    - s_init_state
    - clist_cf_init
    - set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_cfd_init(stream_CFD_state *ss, int width, int height, gs_memory_t
      *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gxclutil.c:849,1
    - Dst: stream_RLE_state*::templat::set_defaults
      Src: /src/libspectre/ghostscript/base/gxclutil.c:850,1
    - Dst: stream_RLE_state*::templat::init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_RLE_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 852
    functionName: clist_rle_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - stream_RLE_state*::templat::init
    - s_init_state
    - stream_RLE_state*::templat::set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_rle_init(stream_RLE_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gxclutil.c:856,1
    - Dst: stream_RLD_state*::templat::set_defaults
      Src: /src/libspectre/ghostscript/base/gxclutil.c:857,1
    - Dst: stream_RLD_state*::templat::init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_RLD_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 859
    functionName: clist_rld_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 0
    functionsReached:
    - stream_RLD_state*::templat::init
    - s_init_state
    - stream_RLD_state*::templat::set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_rld_init(stream_RLD_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclutil.c:867,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/base/gxclutil.c:868,1
    - Dst: sget_matrix
      Src: /src/libspectre/ghostscript/base/gxclutil.c:869,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclutil.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pmat
    - cbp
    argTypes:
    - gs_matrix*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 862
    functionDepth: 1
    functionLinenumber: 862
    functionLinenumberEnd: 871
    functionName: cmd_read_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gxclutil.c
    functionUses: 1
    functionsReached:
    - sget_matrix
    - s_init
    - sread_string
    - stell
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_read_matrix(gs_matrix * pmat, const byte * cbp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - level
    argTypes:
    - gs_memory_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    functionName: gsicc_setcoloraccuracy
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: void
    signature: void gsicc_setcoloraccuracy(gs_memory_t *mem, uint level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: gsicc_currentcoloraccuracy
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: uint
    signature: uint gsicc_currentcoloraccuracy(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: gsicc_getprofilesize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int gsicc_getprofilesize(unsigned char *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - icc_profile
    - major
    - minor
    argTypes:
    - cmm_profile_t*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: gsicc_getprofilevers
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsicc_getprofilevers(cmm_profile_t *icc_profile, unsigned char
      *major,\n    unsigned char *minor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - icc_profile
    argTypes:
    - cmm_profile_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: gsicc_set_icc_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_set_icc_range(cmm_profile_t **icc_profile)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:175,1
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:177,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:182,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:183,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:188,1
    - Dst: rc_free_icc_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:192,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:197,1
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:201,1
    - Dst: gscms_get_output_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:203,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:205,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:206,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - pname
    - namelen
    - icc_manager
    - mem
    argTypes:
    - char*
    - int
    - gsicc_manager_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 208
    functionName: gsicc_set_iccsmaskprofile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gscms_get_profile_data_space
    - gsicc_get_profile_handle_buffer
    - gsicc_open_search
    - gscms_get_output_channel_count
    - gsicc_profile_new
    - gscms_get_input_channel_count
    - gsicc_set_icc_range
    - rc_free_icc_profile
    - sfclose
    linkageType: ''
    returnType: cmm_profile_t
    signature: "cmm_profile_t *\ngsicc_set_iccsmaskprofile(const char *pname,\n                          int
      namelen, gsicc_manager_t *icc_manager,\n                          gs_memory_t
      *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:215,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:217,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - memory
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 221
    functionName: gsicc_smask_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: void
    signature: void gsicc_smask_finalize(const gs_memory_t *memory, void * vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 237
    functionName: gsicc_new_iccsmask
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gsicc_smask_t
    signature: 'gsicc_smask_t *

      gsicc_new_iccsmask(gs_memory_t *memory)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_new_iccsmask
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:248,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:250,1
    - Dst: gsicc_set_iccsmaskprofile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:253,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:253,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:255,1
    - Dst: gsicc_set_iccsmaskprofile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:258,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:258,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:260,1
    - Dst: gsicc_set_iccsmaskprofile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:263,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:263,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:265,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - icc_manager
    argTypes:
    - gsicc_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 241
    functionDepth: 3
    functionLinenumber: 241
    functionLinenumberEnd: 274
    functionName: gsicc_initialize_iccsmask
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 2
    functionsReached:
    - gsicc_new_iccsmask
    - gsicc_set_iccsmaskprofile
    - strlen
    - gs_throw
    linkageType: ''
    returnType: int
    signature: int gsicc_initialize_iccsmask(gsicc_manager_t *icc_manager)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:281,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:284,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:290,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - icc_manager
    argTypes:
    - gsicc_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 307
    functionName: gsicc_new_devicen
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int gsicc_new_devicen(gsicc_manager_t *icc_manager)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:323,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:339,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:343,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - pcs
    - icc_manager
    argTypes:
    - gs_color_space*
    - gsicc_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 374
    functionName: gsicc_finddevicen
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_color_space_num_components
    - strncmp
    - strlen
    linkageType: ''
    returnType: cmm_profile_t
    signature: 'cmm_profile_t *

      gsicc_finddevicen(const gs_color_space *pcs, gsicc_manager_t *icc_manager)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gscms_get_numberclrtnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:388,1
    - Dst: gsicc_new_namelist
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:392,1
    - Dst: gscms_get_clrtname
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:399,1
    - Dst: gsicc_new_colorname
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:402,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:405,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:410,1
    - Dst: gsicc_free_spotnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:416,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 420
    functionName: gsicc_get_spotnames
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gscms_get_clrtname
    - gsicc_new_colorname
    - strlen
    - gsicc_new_namelist
    - gsicc_free_spotnames
    - gscms_get_numberclrtnames
    - gs_free_object
    linkageType: ''
    returnType: gsicc_namelist_t
    signature: 'gsicc_namelist_t *

      gsicc_get_spotnames(gcmmhprofile_t profile, gs_memory_t *memory)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:432,1
    - Dst: gsicc_get_spotnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - icc_profile
    - memory
    argTypes:
    - cmm_profile_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 441
    functionName: gsicc_get_devicen_names
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_get_spotnames
    - gsicc_get_profile_handle_buffer
    linkageType: ''
    returnType: void
    signature: void gsicc_get_devicen_names(cmm_profile_t *icc_profile, gs_memory_t
      *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:449,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 458
    functionName: gsicc_new_namelist
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: gsicc_namelist_t
    signature: 'gsicc_namelist_t *

      gsicc_new_namelist(gs_memory_t *memory)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 474
    functionName: gsicc_new_colorname
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gsicc_colorname_t
    signature: 'gsicc_colorname_t *

      gsicc_new_colorname(gs_memory_t *memory)'
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 1
    argNames:
    - profile_data
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 501
    functionName: gsicc_get_default_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space_index
    signature: gs_color_space_index gsicc_get_default_type(cmm_profile_t *profile_data)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - profile_data
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 518
    functionName: gsicc_use_fast_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsicc_use_fast_color(cmm_profile_t* profile_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - profile_data
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 531
    functionName: gsicc_is_default_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gsicc_is_default_profile(cmm_profile_t *profile_data)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - profile_data
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 545
    functionName: gsicc_profile_from_ps
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gsicc_profile_from_ps(cmm_profile_t *profile_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:557,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:560,1
    - Dst: rc_free_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:561,1
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:563,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:564,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - profile_data
    - delta
    - name_str
    argTypes:
    - cmm_profile_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 567
    functionName: gsicc_adjust_profile_rc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 28
    functionsReached:
    - rc_free_struct
    - rc_adjust
    - gx_monitor_leave
    - gx_monitor_enter
    linkageType: ''
    returnType: void
    signature: void gsicc_adjust_profile_rc(cmm_profile_t *profile_data, int delta,
      const char *name_str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:579,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:580,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:581,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:584,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:585,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:586,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:589,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:590,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:591,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:595,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:596,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:597,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - r_params
    - pstrlast
    - cmyk
    argTypes:
    - gsicc_rendering_param_t*
    - char**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 603
    functionName: gsicc_fill_srcgtag_item
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - return_error
    - sscanf
    - gs_strtok
    linkageType: ''
    returnType: int
    signature: int gsicc_fill_srcgtag_item(gsicc_rendering_param_t *r_params, char
      **pstrlast, bool cmyk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gscms_is_device_link
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - icc_profile
    - memory
    argTypes:
    - cmm_profile_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 614
    functionName: gsicc_check_device_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gscms_is_device_link
    linkageType: ''
    returnType: int
    signature: int gsicc_check_device_link(cmm_profile_t *icc_profile, gs_memory_t
      *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gscms_get_device_class
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icc_profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 620
    functionName: gsicc_get_device_class
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gscms_get_device_class
    linkageType: ''
    returnType: int
    signature: int gsicc_get_device_class(cmm_profile_t *icc_profile)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:647,1
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:654,1
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:657,1
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:658,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:662,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:666,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:669,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:672,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:673,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:678,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:679,1
    - Dst: gsicc_new_srcgtag_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:683,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:695,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:697,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:700,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:705,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:705,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:710,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:711,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:711,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:712,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:712,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:716,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:716,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:717,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:717,1
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:723,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:723,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:730,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:730,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:731,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:736,1
    - Dst: gsicc_check_device_link
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:743,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:747,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:748,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:749,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:766,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:775,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:784,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:793,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:802,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:811,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:820,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:829,1
    - Dst: gsicc_fill_srcgtag_item
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:838,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:845,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:846,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:847,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:851,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:852,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:853,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:858,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:860,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:861,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:862,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:865,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:866,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 194
    argCount: 3
    argNames:
    - icc_manager
    - pname
    - namelen
    argTypes:
    - gsicc_manager_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 623
    functionDepth: 3
    functionLinenumber: 623
    functionLinenumberEnd: 869
    functionName: gsicc_set_srcgtag_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gs_throw1
    - rc_decrement
    - gsicc_new_srcgtag_profile
    - sfread
    - sftell
    - gsicc_init_profile_info
    - gsicc_profile_new
    - gsicc_fill_srcgtag_item
    - srewind
    - gs_free_object
    - sfseek
    - gs_throw
    - gsicc_check_device_link
    - gs_strtok
    - sfclose
    - gsicc_open_search
    - strncpy
    - strncmp
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_srcgtag_struct(gsicc_manager_t *icc_manager, const char*
      pname,\n                        int namelen)"
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:943,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:946,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:947,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:950,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:983,1
    - Dst: gsicc_new_devicen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:990,1
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:995,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1000,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1011,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1013,1
    - Dst: gsicc_load_namedcolor_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1015,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1016,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1018,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1021,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1022,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1028,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1030,1
    - Dst: gsicc_get_devicen_names
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1042,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1044,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1045,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1052,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 132
    argCount: 4
    argNames:
    - icc_manager
    - pname
    - namelen
    - defaulttype
    argTypes:
    - gsicc_manager_t*
    - char*
    - int
    - gsicc_profile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 873
    functionDepth: 3
    functionLinenumber: 873
    functionLinenumberEnd: 1058
    functionName: gsicc_set_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_new_devicen
    - gsicc_adjust_profile_rc
    - gsicc_open_search
    - gs_throw
    - gsicc_load_namedcolor_buffer
    - gs_alloc_bytes
    - strlen
    - gsicc_set_icc_range
    - gsicc_init_profile_info
    - strncmp
    - gsicc_profile_new
    - memcpy
    - gs_throw1
    - gsicc_get_devicen_names
    - memcmp
    - sfclose
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_profile(gsicc_manager_t *icc_manager, const char* pname,
      int namelen,\n                  gsicc_profile_t defaulttype)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1076,1
    - Dst: gs_rethrow1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1080,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1086,1
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1092,1
    - Dst: gscms_get_output_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1096,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1099,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1101,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1104,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1108,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1112,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1116,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1119,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1122,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1129,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1130,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1137,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - icc_profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1141
    functionName: gsicc_initialize_default_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 2
    functionsReached:
    - if_debug1m
    - gsicc_get_icc_buff_hash
    - gscms_get_profile_data_space
    - gs_rethrow1
    - gsicc_get_profile_handle_buffer
    - gscms_get_output_channel_count
    - gs_rethrow
    - gscms_get_input_channel_count
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gsicc_initialize_default_profile(cmm_profile_t *icc_profile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1152,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1155,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1158,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1159,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1161,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1164,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1166,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - pname
    - namelen
    - mem
    argTypes:
    - char*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1144
    functionDepth: 2
    functionLinenumber: 1144
    functionLinenumberEnd: 1170
    functionName: gsicc_get_profile_handle_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 2
    functionsReached:
    - gs_throw
    - gsicc_open_search
    - gsicc_init_profile_info
    - gsicc_profile_new
    - sfclose
    linkageType: ''
    returnType: cmm_profile_t
    signature: 'cmm_profile_t *

      gsicc_get_profile_handle_file(const char* pname, int namelen, gs_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1181,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1188,1
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1192,1
    - Dst: gscms_get_output_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1194,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1174
    functionDepth: 2
    functionLinenumber: 1174
    functionLinenumberEnd: 1205
    functionName: gsicc_init_profile_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 3
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gscms_get_profile_data_space
    - gsicc_get_profile_handle_buffer
    - gscms_get_output_channel_count
    - gscms_get_input_channel_count
    linkageType: ''
    returnType: int
    signature: int gsicc_init_profile_info(cmm_profile_t *profile)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1224,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1227,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1228,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1230,1
    - Dst: gs_check_file_permission
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1234,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1234,1
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1235,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1236,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1243,1
    - Dst: gs_check_file_permission
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1248,1
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1249,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1258,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1261,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1262,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1263,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1265,1
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1266,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1267,1
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 6
    argNames:
    - pname
    - namelen
    - mem_gc
    - dirname
    - dirlen
    - strp
    argTypes:
    - char*
    - int
    - gs_memory_t*
    - char*
    - int
    - stream**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1210
    functionDepth: 2
    functionLinenumber: 1210
    functionLinenumberEnd: 1273
    functionName: gsicc_open_search
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 5
    functionsReached:
    - strcat
    - gs_check_file_permission
    - gs_alloc_bytes
    - strlen
    - strcpy
    - return_error
    - gs_warn1
    - sfopen
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_open_search(const char* pname, int namelen, gs_memory_t
      *mem_gc,\n                  const char* dirname, int dirlen, stream**strp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1287,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1291,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1295,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1299,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1303,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1304,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1276
    functionDepth: 2
    functionLinenumber: 1276
    functionLinenumberEnd: 1306
    functionName: rc_free_srcgtag_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_free_srcgtag_profile(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1315,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1345,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1347
    functionName: gsicc_new_srcgtag_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - rc_init_free
    - gs_alloc_bytes
    linkageType: ''
    returnType: cmm_srcgtag_profile_t
    signature: 'cmm_srcgtag_profile_t *

      gsicc_new_srcgtag_profile(gs_memory_t *memory)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1359,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1361,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1365,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - spotnames
    - mem
    argTypes:
    - gsicc_namelist_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1349
    functionDepth: 0
    functionLinenumber: 1349
    functionLinenumberEnd: 1370
    functionName: gsicc_free_spotnames
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_free_spotnames(gsicc_namelist_t *spotnames, gs_memory_t
      * mem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1384,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1386,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1391,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1392,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1395,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1396,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1399,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1400,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1403,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1404,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1407,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1408,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1411,1
    - Dst: gsicc_free_spotnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1413,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1415,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1417,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1418,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1420
    functionName: rc_free_profile_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - if_debug0m
    - if_debug1m
    - gsicc_adjust_profile_rc
    - gsicc_free_spotnames
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_free_profile_array(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1429,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1430,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1423
    functionDepth: 1
    functionLinenumber: 1423
    functionLinenumberEnd: 1461
    functionName: gsicc_new_device_profile_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 5
    functionsReached:
    - rc_init_free
    - gs_alloc_bytes
    - if_debug0m
    linkageType: ''
    returnType: cmm_dev_profile_t
    signature: 'cmm_dev_profile_t *

      gsicc_new_device_profile_array(gs_memory_t *memory)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1474,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - blackpreserve
    - profile_type
    argTypes:
    - gx_device*
    - gsicc_blackpreserve_t
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1485
    functionName: gsicc_set_device_blackpreserve
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_device_blackpreserve(gx_device *dev, gsicc_blackpreserve_t
      blackpreserve,\n                                gsicc_profile_types_t profile_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1498,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1501,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - intent
    - profile_type
    argTypes:
    - gx_device*
    - gsicc_rendering_intents_t
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1487
    functionDepth: 1
    functionLinenumber: 1487
    functionLinenumberEnd: 1509
    functionName: gsicc_set_device_profile_intent
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_device_profile_intent(gx_device *dev, gsicc_rendering_intents_t
      intent,\n                                gsicc_profile_types_t profile_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1522,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - dev
    - blackptcomp
    - profile_type
    argTypes:
    - gx_device*
    - gsicc_blackptcomp_t
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1531
    functionName: gsicc_set_device_blackptcomp
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_device_blackptcomp(gx_device *dev, gsicc_blackptcomp_t
      blackptcomp,\n                                gsicc_profile_types_t profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1541,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1544,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - pgs
    - profile
    argTypes:
    - gx_device*
    - gs_gstate*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1536
    functionDepth: 3
    functionLinenumber: 1536
    functionLinenumberEnd: 1548
    functionName: gsicc_set_devicen_equiv_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_cspace_alloc
    - gs_throw
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_devicen_equiv_colors(gx_device *dev, const gs_gstate
      * pgs,\n                               cmm_profile_t *profile)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1575,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1594,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1597,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1598,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1600,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1601,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1604,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1605,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1607,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1610,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1612,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1614,1
    - Dst: gsicc_free_spotnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1623,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1625,1
    - Dst: gsicc_new_namelist
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1629,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1631,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1634,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1635,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1635,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1639,1
    - Dst: gsicc_new_colorname
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1653,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1656,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1657,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1660,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1661,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1665,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1674,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1678,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1684,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1698,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 79
    argCount: 2
    argNames:
    - dev
    - name_str
    argTypes:
    - gx_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1702
    functionName: gsicc_set_device_profile_colorants
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strcat
    - gs_throw
    - gs_alloc_bytes
    - strlen
    - gsicc_free_spotnames
    - gsicc_new_namelist
    - gsicc_new_colorname
    - gs_sprintf
    - gs_strtok
    - strncmp
    - memcpy
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gsicc_set_device_profile_colorants(gx_device *dev, char *name_str)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1741,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1742,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1743,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1744,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1747,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1776,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1779,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1784,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1788,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1791,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1791,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1792,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1795,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1795,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1796,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1800,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1803,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1803,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1804,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1808,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1810,1
    - Dst: gsicc_set_device_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1815,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 75
    argCount: 3
    argNames:
    - dev
    - profile_name
    - profile_type
    argTypes:
    - gx_device*
    - char*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1706
    functionDepth: 2
    functionLinenumber: 1706
    functionLinenumberEnd: 1819
    functionName: gsicc_init_device_profile_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 2
    functionsReached:
    - gsicc_set_device_profile
    - gsicc_adjust_profile_rc
    - gs_alloc_bytes
    - strlen
    - strncpy
    - gsicc_new_device_profile_array
    - strncmp
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_init_device_profile_struct(gx_device * dev,\n                                 char
      *profile_name,\n                                 gsicc_profile_types_t profile_type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - dev_profile
    argTypes:
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1830
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1830
    functionName: gsicc_get_dev_icccolorants
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * gsicc_get_dev_icccolorants(cmm_dev_profile_t *dev_profile)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1844,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1845,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1846,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1853,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1860,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1865,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1870,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1888,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1897,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1908,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1915,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 62
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1922
      start: 1835
    functionDepth: 1
    functionLinenumber: 1835
    functionLinenumberEnd: 1922
    functionName: gsicc_verify_device_profiles
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_rethrow
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gsicc_verify_device_profiles(gx_device * pdev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1952,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1952,1
    - Dst: gsicc_open_search
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1955,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1955,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1962,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1962,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1963,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1965,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1967,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1974,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1977,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1980,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1983,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1990,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1994,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:1998,1
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2005,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2007,1
    - Dst: gscms_get_output_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2010,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2013,1
    - Dst: gsicc_verify_device_profiles
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2018,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2019,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2029,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2030,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2035,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2036,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2041,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2042,1
    - Dst: gsicc_set_device_profile_colorants
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2048,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2051,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2054,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - pdev
    - mem
    - file_name
    - pro_enum
    argTypes:
    - gx_device*
    - gs_memory_t*
    - char*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2057
      start: 1928
    functionDepth: 3
    functionLinenumber: 1928
    functionLinenumberEnd: 2057
    functionName: gsicc_set_device_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 3
    functionsReached:
    - if_debug0m
    - if_debug1m
    - gsicc_get_icc_buff_hash
    - gscms_get_profile_data_space
    - gsicc_open_search
    - gs_throw
    - gsicc_get_profile_handle_buffer
    - gscms_get_output_channel_count
    - strlen
    - gsicc_verify_device_profiles
    - gs_rethrow
    - strncmp
    - gsicc_profile_new
    - gscms_get_input_channel_count
    - return_error
    - gsicc_set_device_profile_colorants
    - sfclose
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_device_profile(gx_device * pdev, gs_memory_t * mem,\n
      \                        char *file_name, gsicc_profile_types_t pro_enum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_icc_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2068,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2075,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2081,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pcs
    - icc_profile
    - mem
    argTypes:
    - gs_color_space*
    - cmm_profile_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2060
    functionDepth: 2
    functionLinenumber: 2060
    functionLinenumberEnd: 2085
    functionName: gsicc_set_gscs_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - dump_icc_buffer
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: int
    signature: "int gsicc_set_gscs_profile(gs_color_space *pcs, cmm_profile_t *icc_profile,\n
      \                      gs_memory_t * mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2091,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2095,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2096,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2098,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2099,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2101,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - source
    - destination
    - memory
    argTypes:
    - cmm_profile_t*
    - cmm_profile_t**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2106
      start: 2087
    functionDepth: 3
    functionLinenumber: 2087
    functionLinenumberEnd: 2106
    functionName: gsicc_clone_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gsicc_adjust_profile_rc
    - gs_alloc_bytes
    - gs_throw
    - gsicc_init_profile_info
    - gsicc_profile_new
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gsicc_clone_profile(cmm_profile_t *source, cmm_profile_t **destination,\n
      \                   gs_memory_t *memory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2117,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2121,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2123,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2126,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2129,1
    - Dst: gsicc_load_profile_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2141,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2143,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2144,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2151,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2163,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2163,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2166,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2167,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2168,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2171,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 4
    argNames:
    - s
    - memory
    - pname
    - namelen
    argTypes:
    - stream*
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2108
    functionDepth: 2
    functionLinenumber: 2108
    functionLinenumberEnd: 2174
    functionName: gsicc_profile_new
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 7
    functionsReached:
    - rc_init_free
    - if_debug1m
    - gs_alloc_bytes
    - gx_monitor_alloc
    - gsicc_load_profile_buffer
    - gx_monitor_label
    - memset
    - memcpy
    - gs_free_object
    linkageType: ''
    returnType: cmm_profile_t
    signature: "cmm_profile_t *\ngsicc_profile_new(stream *s, gs_memory_t *memory,
      const char* pname,\n                  int namelen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2182,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2188,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2191,1
    - Dst: cmm_profile_t*::release
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2194,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2199,1
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2205,1
    - Dst: gsicc_free_spotnames
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2211,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2213,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2217,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2219,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2176
    functionDepth: 1
    functionLinenumber: 2176
    functionLinenumberEnd: 2221
    functionName: rc_free_icc_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gsicc_free_spotnames
    - gx_monitor_free
    - gs_free_object
    - if_debug2m
    - cmm_profile_t*::release
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: void rc_free_icc_profile(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2234,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2239,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2241,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2242,1
    - Dst: gs_color_space*::type::install_cspace
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2244,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2246,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2253
      start: 2225
    functionDepth: 3
    functionLinenumber: 2225
    functionLinenumberEnd: 2253
    functionName: gsicc_init_gs_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only_cs
    - gs_color_space*::type::install_cspace
    - rc_increment_cs
    - return_error
    - gs_cspace_new_DeviceGray
    linkageType: ''
    returnType: int
    signature: int gsicc_init_gs_colors(gs_gstate *pgs)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2267,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2283,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2286,1
    - Dst: gsicc_initialize_default_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2308,1
    - Dst: gsicc_create_getv2buffer
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2313
      start: 2256
    functionDepth: 4
    functionLinenumber: 2256
    functionLinenumberEnd: 2313
    functionName: gsicc_init_iccmanager
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 3
    functionsReached:
    - gsicc_create_getv2buffer
    - gsicc_set_profile
    - gs_rethrow
    - strlen
    - gsicc_initialize_default_profile
    linkageType: ''
    returnType: int
    signature: int gsicc_init_iccmanager(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_manager_free_contents
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2321
      start: 2315
    functionDepth: 1
    functionLinenumber: 2315
    functionLinenumberEnd: 2321
    functionName: gsicc_manager_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_manager_free_contents
    linkageType: ''
    returnType: void
    signature: void gsicc_manager_finalize(const gs_memory_t *memory, void * vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2330,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2348
      start: 2323
    functionDepth: 1
    functionLinenumber: 2323
    functionLinenumberEnd: 2348
    functionName: gsicc_manager_new
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - rc_init_free
    - gs_alloc_struct
    linkageType: ''
    returnType: gsicc_manager_t
    signature: 'gsicc_manager_t *

      gsicc_manager_new(gs_memory_t *memory)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2356,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2357,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2358,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2359,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2360,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2361,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2362,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2368,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2370,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2373,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2379,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - icc_manager
    - cname
    argTypes:
    - gsicc_manager_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2382
      start: 2350
    functionDepth: 2
    functionLinenumber: 2350
    functionLinenumberEnd: 2382
    functionName: gsicc_manager_free_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    - gsicc_adjust_profile_rc
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: "void gsicc_manager_free_contents(gsicc_manager_t *icc_manager,\n                                  client_name_t
      cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2384
    functionDepth: 0
    functionLinenumber: 2384
    functionLinenumberEnd: 2392
    functionName: rc_gsicc_manager_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_gsicc_manager_free(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2403,1
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2411,1
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2414,1
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2415,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2419,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2421,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2424,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2425,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2427,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - profile
    - s
    - memory
    argTypes:
    - cmm_profile_t*
    - stream*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2433
      start: 2395
    functionDepth: 3
    functionLinenumber: 2395
    functionLinenumberEnd: 2433
    functionName: gsicc_load_profile_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - sfseek
    - gs_throw
    - sfread
    - sftell
    - srewind
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_load_profile_buffer(cmm_profile_t *profile, stream *s,\n
      \                         gs_memory_t *memory)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2444,1
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2447,1
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2450,1
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2451,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2455,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2458,1
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2459,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - profile
    - s
    - memory
    argTypes:
    - cmm_profile_t*
    - stream*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2436
    functionDepth: 3
    functionLinenumber: 2436
    functionLinenumberEnd: 2467
    functionName: gsicc_load_namedcolor_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_throw
    - gs_alloc_bytes
    - sfseek
    - sfread
    - sftell
    - srewind
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_load_namedcolor_buffer(cmm_profile_t *profile, stream *s,\n
      \                         gs_memory_t *memory)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 2
    argNames:
    - picc_profile
    - pgs
    argTypes:
    - cmm_profile_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2504
    functionName: gsicc_set_default_cs_value
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_set_default_cs_value(cmm_profile_t *picc_profile, gs_gstate
      *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2511,1
    - Dst: gsicc_set_default_cs_value
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - picc_profile
    - pgs
    argTypes:
    - cmm_profile_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2507
    functionDepth: 2
    functionLinenumber: 2507
    functionLinenumberEnd: 2516
    functionName: gsicc_init_hash_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gsicc_set_default_cs_value
    linkageType: ''
    returnType: void
    signature: void gsicc_init_hash_cs(cmm_profile_t *picc_profile, gs_gstate *pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_search_icc_table
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2536,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2547,1
    - Dst: clist_read_chunk
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2551,1
    - Dst: gscms_get_profile_handle_mem
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2553,1
    - Dst: clist_read_chunk
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2555,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2574,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - picc_profile
    - memory
    argTypes:
    - cmm_profile_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2578
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2578
    functionName: gsicc_get_profile_handle_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gsicc_search_icc_table
    - gs_alloc_bytes
    - clist_read_chunk
    - gscms_get_profile_handle_mem
    - gs_free_object
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: gcmmhprofile_t gsicc_get_profile_handle_clist(cmm_profile_t *picc_profile,
      gs_memory_t *memory)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gscms_get_profile_handle_mem
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - profile_size
    - memory
    argTypes:
    - unsigned char*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2580
    functionDepth: 0
    functionLinenumber: 2580
    functionLinenumberEnd: 2594
    functionName: gsicc_get_profile_handle_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 8
    functionsReached:
    - gscms_get_profile_handle_mem
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: gcmmhprofile_t gsicc_get_profile_handle_buffer(unsigned char *buffer,
      int profile_size, gs_memory_t *memory)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2605,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2634,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2641,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2647,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2649,1
    - Dst: gsicc_create_fromabc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2653,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2661,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2662,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2669,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2679,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2681,1
    - Dst: gsicc_create_froma
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2685,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 2
    argNames:
    - gs_colorspace
    - icc_manager
    argTypes:
    - gs_color_space*
    - gsicc_manager_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2599
    functionDepth: 3
    functionLinenumber: 2599
    functionLinenumberEnd: 2710
    functionName: gsicc_get_gscs_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    - gsicc_adjust_profile_rc
    - gs_throw
    - gsicc_create_froma
    - gsicc_create_fromabc
    - gs_warn
    - gsicc_profile_new
    linkageType: ''
    returnType: cmm_profile_t
    signature: "cmm_profile_t *\n gsicc_get_gscs_profile(gs_color_space *gs_colorspace,\n
      \                       gsicc_manager_t *icc_manager)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - icc_table
    - icc_hashcode
    - size
    argTypes:
    - clist_icctable_t*
    - int64_t
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2712
    functionDepth: 0
    functionLinenumber: 2712
    functionLinenumberEnd: 2730
    functionName: gsicc_search_icc_table
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t gsicc_search_icc_table(clist_icctable_t *icc_table, int64_t
      icc_hashcode, int *size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2745,1
    - Dst: clist_read_icctable
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2753,1
    - Dst: gsicc_search_icc_table
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2757,1
    - Dst: clist_read_chunk
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2762,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - dev
    - icc_hashcode
    argTypes:
    - gx_device*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2735
    functionDepth: 3
    functionLinenumber: 2735
    functionLinenumberEnd: 2765
    functionName: gsicc_read_serial_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 3
    functionsReached:
    - gsicc_search_icc_table
    - gsicc_profile_new
    - clist_read_chunk
    - clist_read_icctable
    linkageType: ''
    returnType: cmm_profile_t
    signature: 'cmm_profile_t *

      gsicc_read_serial_icc(gx_device *dev, int64_t icc_hashcode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2773,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - profile_data
    - icc_profile
    argTypes:
    - gsicc_serialized_profile_t*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2774
      start: 2767
    functionDepth: 0
    functionLinenumber: 2767
    functionLinenumberEnd: 2774
    functionName: gsicc_profile_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gsicc_profile_serialize(gsicc_serialized_profile_t *profile_data,\n
      \                       cmm_profile_t *icc_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gscms_get_input_channel_count
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - icc_profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2783
    functionName: gsicc_getsrc_channel_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gscms_get_input_channel_count
    linkageType: ''
    returnType: int
    signature: int gsicc_getsrc_channel_count(cmm_profile_t *icc_profile)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - graphics_type_tag
    - profile_struct
    - profile
    - render_cond
    argTypes:
    - gs_graphics_type_tag_t
    - cmm_dev_profile_t*
    - cmm_profile_t**
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2822
      start: 2785
    functionDepth: 0
    functionLinenumber: 2785
    functionLinenumberEnd: 2822
    functionName: gsicc_extract_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_extract_profile(gs_graphics_type_tag_t graphics_type_tag,\n
      \                      cmm_dev_profile_t *profile_struct,\n                       cmm_profile_t
      **profile, gsicc_rendering_param_t *render_cond)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - value
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2825
    functionDepth: 0
    functionLinenumber: 2825
    functionLinenumberEnd: 2831
    functionName: gs_setoverrideicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_setoverrideicc(gs_gstate *pgs, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2832
    functionDepth: 0
    functionLinenumber: 2832
    functionLinenumberEnd: 2840
    functionName: gs_currentoverrideicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currentoverrideicc(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2842
    functionDepth: 0
    functionLinenumber: 2842
    functionLinenumberEnd: 2851
    functionName: gsicc_setrange_lab
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_setrange_lab(cmm_profile_t *profile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2861,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2862,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2863,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - mem
    - buffersize
    - filename
    - Buffer
    argTypes:
    - gs_memory_t*
    - int
    - char[]
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2865
      start: 2855
    functionDepth: 1
    functionLinenumber: 2855
    functionLinenumberEnd: 2865
    functionName: dump_icc_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 1
    functionsReached:
    - gs_sprintf
    - gp_fopen
    - gp_fwrite
    - fclose
    linkageType: ''
    returnType: void
    signature: void dump_icc_buffer(const gs_memory_t *mem, int buffersize, char filename[],byte
      *Buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2870
    functionDepth: 0
    functionLinenumber: 2870
    functionLinenumberEnd: 2886
    functionName: gs_currentdevicenicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentdevicenicc(const gs_gstate * pgs, gs_param_string *
      pval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2904,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2907,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2908,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2910,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2912,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2918,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2924,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2926,1
    - Dst: gs_strtok
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2927,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2929,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2888
    functionDepth: 4
    functionLinenumber: 2888
    functionLinenumberEnd: 2934
    functionName: gs_setdevicenprofileicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_throw
    - gsicc_set_profile
    - strlen
    - memcpy
    - return_error
    - gs_strtok
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setdevicenprofileicc(const gs_gstate * pgs, gs_param_string
      * pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2948,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2936
    functionDepth: 0
    functionLinenumber: 2936
    functionLinenumberEnd: 2949
    functionName: gs_currentdefaultgrayicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentdefaultgrayicc(const gs_gstate * pgs, gs_param_string
      * pval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2966,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2969,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2970,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2972,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2974,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2977,1
    - Dst: gsicc_init_gs_colors
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2981,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2984,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2951
    functionDepth: 4
    functionLinenumber: 2951
    functionLinenumberEnd: 2986
    functionName: gs_setdefaultgrayicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_init_gs_colors
    - gs_alloc_bytes
    - gs_throw
    - gsicc_set_profile
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setdefaultgrayicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:2996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2988
    functionDepth: 0
    functionLinenumber: 2988
    functionLinenumberEnd: 3003
    functionName: gs_currenticcdirectory
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currenticcdirectory(const gs_gstate * pgs, gs_param_string
      * pval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3014,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3017,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3018,1
    - Dst: gs_lib_ctx_set_icc_directory
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3020,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3021,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3005
    functionDepth: 1
    functionLinenumber: 3005
    functionLinenumberEnd: 3027
    functionName: gs_seticcdirectory
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_rethrow
    - memcpy
    - gs_lib_ctx_set_icc_directory
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_seticcdirectory(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3029
    functionDepth: 0
    functionLinenumber: 3029
    functionLinenumberEnd: 3041
    functionName: gs_currentsrcgtagicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_currentsrcgtagicc(const gs_gstate * pgs, gs_param_string *
      pval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3052,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3054,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3055,1
    - Dst: gsicc_set_srcgtag_struct
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3057,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3059,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3061,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3063
      start: 3043
    functionDepth: 4
    functionLinenumber: 3043
    functionLinenumberEnd: 3063
    functionName: gs_setsrcgtagicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gsicc_set_srcgtag_struct
    - gs_alloc_bytes
    - gs_rethrow
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setsrcgtagicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3078
      start: 3065
    functionDepth: 0
    functionLinenumber: 3065
    functionLinenumberEnd: 3078
    functionName: gs_currentdefaultrgbicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentdefaultrgbicc(const gs_gstate * pgs, gs_param_string
      * pval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3088,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3091,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3092,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3094,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3096,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3099,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3080
    functionDepth: 4
    functionLinenumber: 3080
    functionLinenumberEnd: 3101
    functionName: gs_setdefaultrgbicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gsicc_set_profile
    - gs_rethrow
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setdefaultrgbicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3116
      start: 3103
    functionDepth: 0
    functionLinenumber: 3103
    functionLinenumberEnd: 3116
    functionName: gs_currentnamedicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentnamedicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3128,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3131,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3132,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3134,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3136,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3143
      start: 3118
    functionDepth: 4
    functionLinenumber: 3118
    functionLinenumberEnd: 3143
    functionName: gs_setnamedprofileicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gsicc_set_profile
    - gs_rethrow
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setnamedprofileicc(const gs_gstate * pgs, gs_param_string *
      pval)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3145
    functionDepth: 0
    functionLinenumber: 3145
    functionLinenumberEnd: 3158
    functionName: gs_currentdefaultcmykicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentdefaultcmykicc(const gs_gstate * pgs, gs_param_string
      * pval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3171,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3172,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3174,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3176,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3179,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3181
      start: 3160
    functionDepth: 4
    functionLinenumber: 3160
    functionLinenumberEnd: 3181
    functionName: gs_setdefaultcmykicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_throw
    - gsicc_set_profile
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setdefaultcmykicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3192
      start: 3183
    functionDepth: 0
    functionLinenumber: 3183
    functionLinenumberEnd: 3192
    functionName: gs_currentlabicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void gs_currentlabicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3202,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3205,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3206,1
    - Dst: gsicc_set_profile
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3208,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3210,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_manage.c:3213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - pval
    argTypes:
    - gs_gstate*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3215
      start: 3194
    functionDepth: 4
    functionLinenumber: 3194
    functionLinenumberEnd: 3215
    functionName: gs_setlabicc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_manage.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_throw
    - gsicc_set_profile
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setlabicc(const gs_gstate * pgs, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_A85D_init_inline
      Src: /src/libspectre/ghostscript/base/sa85d.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: s_A85D_init
    functionSourceFile: /src/libspectre/ghostscript/base/sa85d.c
    functionUses: 0
    functionsReached:
    - s_A85D_init_inline
    linkageType: ''
    returnType: int
    signature: int s_A85D_init(stream_state * st)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/sa85d.c:51,1
    - Dst: a85d_finish
      Src: /src/libspectre/ghostscript/base/sa85d.c:161,1
    - Dst: a85d_finish
      Src: /src/libspectre/ghostscript/base/sa85d.c:176,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 182
    functionName: s_A85D_process
    functionSourceFile: /src/libspectre/ghostscript/base/sa85d.c
    functionUses: 0
    functionsReached:
    - a85d_finish
    - max
    linkageType: ''
    returnType: int
    signature: "int s_A85D_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - ccount
    - word
    - pw
    argTypes:
    - int
    - ulong
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 212
    functionName: a85d_finish
    functionSourceFile: /src/libspectre/ghostscript/base/sa85d.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int a85d_finish(int ccount, ulong word, stream_cursor_write * pw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxpflat.c:61,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpflat.c:64,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpflat.c:73,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpflat.c:73,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpflat.c:74,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpflat.c:74,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpflat.c:76,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpflat.c:76,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gxpflat.c:84,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:85,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:85,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:86,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:86,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:87,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:87,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxpflat.c:88,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:89,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:89,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxpflat.c:93,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - x0
    - y0
    - pc
    - fixed_flat
    argTypes:
    - fixed
    - fixed
    - curve_segment*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 96
    functionName: gx_curve_log2_samples
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached:
    - any_abs
    - if_debug2
    - if_debug1
    - max
    - if_debug6
    - int2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gx_curve_log2_samples(fixed x0, fixed y0, const curve_segment
      * pc,\n                      fixed fixed_flat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:114,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:115,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:121,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:122,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:123,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:124,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:125,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:126,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:127,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:128,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:132,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 5
    argNames:
    - x0
    - y0
    - pc
    - pc1
    - pc2
    argTypes:
    - fixed
    - fixed
    - curve_segment*
    - curve_segment*
    - curve_segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 135
    functionName: split_curve_midpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - midpoint
    linkageType: ''
    returnType: void
    signature: "void split_curve_midpoint(fixed x0, fixed y0, const curve_segment
      * pc,\n                     curve_segment * pc1, curve_segment * pc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: midpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: midpoint(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpflat.c:143,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxpflat.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - points
    - count
    argTypes:
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 149
    functionName: print_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - if_debug2
    linkageType: ''
    returnType: void
    signature: void print_points(const gs_fixed_point *points, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxpflat.c:160,1
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxpflat.c:162,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:168,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:168,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:169,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:169,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:170,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxpflat.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 6
    argCount: 15
    argNames:
    - x0
    - x1
    - x2
    - x3
    - y0
    - y1
    - y2
    - y3
    - ax
    - bx
    - cx
    - ay
    - by
    - cy
    - k
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed*
    - fixed*
    - fixed*
    - fixed*
    - fixed*
    - fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 177
    functionName: curve_coeffs_ranged
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - curve_points_to_coefficients
    - in_range
    linkageType: ''
    returnType: bool
    signature: "bool curve_coeffs_ranged(fixed x0, fixed x1, fixed x2, fixed x3,\n
      \                   fixed y0, fixed y1, fixed y2, fixed y3,\n                    fixed
      *ax, fixed *bx, fixed *cx,\n                    fixed *ay, fixed *by, fixed
      *cy,\n                    int k)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: in_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: in_range(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: curve_coeffs_ranged
      Src: /src/libspectre/ghostscript/base/gxpflat.c:199,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpflat.c:208,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxpflat.c:209,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:210,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:210,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:211,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:211,1
    - Dst: dlprintf5
      Src: /src/libspectre/ghostscript/base/gxpflat.c:212,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:213,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:213,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:214,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:214,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gxpflat.c:227,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:228,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:228,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:228,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:229,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:229,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:229,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:234,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:235,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:239,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:240,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gxpflat.c:247,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gxpflat.c:248,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:251,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:252,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:254,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:255,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:258,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:259,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:260,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpflat.c:261,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:264,1
    - Dst: adjust_rem
      Src: /src/libspectre/ghostscript/base/gxpflat.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 53
    argCount: 5
    argNames:
    - self
    - x0
    - y0
    - pc
    - k
    argTypes:
    - gx_flattened_iterator*
    - fixed
    - fixed
    - curve_segment*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 268
    functionName: gx_flattened_iterator__init
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - arith_rshift
    - dlprintf5
    - gs_debug_c
    - curve_coeffs_ranged
    - dlprintf4
    - arith_rshift_1
    - adjust_rem
    - if_debug6
    - fixed2float
    linkageType: ''
    returnType: bool
    signature: "bool gx_flattened_iterator__init(gx_flattened_iterator *self,\n            fixed
      x0, fixed y0, const curve_segment *pc, int k)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - q
    - ','
    - rmask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: adjust_rem
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: adjust_rem(r, q, rmask)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 278
    functionName: check_diff_overflow
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_diff_overflow(fixed v0, fixed v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpflat.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 284
    functionName: gx_check_fixed_diff_overflow
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - check_diff_overflow
    linkageType: ''
    returnType: bool
    signature: bool gx_check_fixed_diff_overflow(fixed v0, fixed v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpflat.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v0
    - v1
    argTypes:
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 292
    functionName: gx_check_fixed_sum_overflow
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - check_diff_overflow
    linkageType: ''
    returnType: bool
    signature: bool gx_check_fixed_sum_overflow(fixed v0, fixed v1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpflat.c:299,1
    - Dst: check_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpflat.c:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - self
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - gx_flattened_iterator*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 334
    functionName: gx_flattened_iterator__init_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - check_diff_overflow
    linkageType: ''
    returnType: bool
    signature: "bool gx_flattened_iterator__init_line(gx_flattened_iterator *self,\n
      \           fixed x0, fixed y0, fixed x1, fixed y1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpflat.c:340,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxpflat.c:342,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:343,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:344,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxpflat.c:345,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:346,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:347,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxpflat.c:348,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:349,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_flattened_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 351
    functionName: gx_flattened_iterator__print_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - dlprintf4
    - gs_debug_c
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void gx_flattened_iterator__print_state(gx_flattened_iterator *self)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpflat.c:397,1
    - Dst: poly2
      Src: /src/libspectre/ghostscript/base/gxpflat.c:406,1
    - Dst: poly2
      Src: /src/libspectre/ghostscript/base/gxpflat.c:407,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxpflat.c:409,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:410,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:410,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gxpflat.c:411,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxpflat.c:412,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:414,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:414,1
    - Dst: gx_flattened_iterator__print_state
      Src: /src/libspectre/ghostscript/base/gxpflat.c:422,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:427,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:428,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:429,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:430,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:431,1
    - Dst: accum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:432,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gxpflat.c:433,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxpflat.c:434,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:436,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:436,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gxpflat.c:445,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:446,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:446,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_flattened_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 449
    functionName: gx_flattened_iterator__next
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - poly2
    - float2fixed
    - accum
    - if_debug2
    - if_debug4
    - gx_flattened_iterator__print_state
    - if_debug5
    - return_error
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_flattened_iterator__next(gx_flattened_iterator *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: poly2
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: poly2(a,b,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - i
    - ','
    - r
    - ','
    - di
    - ','
    - dr
    - ','
    - rmask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 427
    functionName: accum
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: accum(i, r, di, dr, rmask)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:457,1
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:458,1
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:459,1
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:460,1
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:461,1
    - Dst: unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_flattened_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 464
    functionName: gx_flattened_iterator__unaccum
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - unaccum
    linkageType: ''
    returnType: void
    signature: void gx_flattened_iterator__unaccum(gx_flattened_iterator *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - i
    - ','
    - r
    - ','
    - di
    - ','
    - dr
    - ','
    - rmask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 457
    functionName: unaccum
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unaccum(i, r, di, dr, rmask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpflat.c:476,1
    - Dst: gx_flattened_iterator__unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:491,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gxpflat.c:494,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxpflat.c:495,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:497,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpflat.c:497,1
    - Dst: gx_flattened_iterator__print_state
      Src: /src/libspectre/ghostscript/base/gxpflat.c:499,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpflat.c:506,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_flattened_iterator*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 508
    functionName: gx_flattened_iterator__prev
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_flattened_iterator__print_state
    - gx_flattened_iterator__unaccum
    - if_debug5
    - return_error
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_flattened_iterator__prev(gx_flattened_iterator *self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_flattened_iterator__unaccum
      Src: /src/libspectre/ghostscript/base/gxpflat.c:521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - self
    - not_first
    argTypes:
    - gx_flattened_iterator*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 522
    functionName: gx_flattened_iterator__switch_to_backscan
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - gx_flattened_iterator__unaccum
    linkageType: ''
    returnType: void
    signature: void gx_flattened_iterator__switch_to_backscan(gx_flattened_iterator
      *self, bool not_first)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: print_points
      Src: /src/libspectre/ghostscript/base/gxpflat.c:531,1
    - Dst: gx_path_add_lines_notes
      Src: /src/libspectre/ghostscript/base/gxpflat.c:532,1
    - Dst: print_points
      Src: /src/libspectre/ghostscript/base/gxpflat.c:536,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpflat.c:537,1
    - Dst: print_points
      Src: /src/libspectre/ghostscript/base/gxpflat.c:540,1
    - Dst: gx_path_add_lines_notes
      Src: /src/libspectre/ghostscript/base/gxpflat.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - ppath
    - points
    - count
    - notes
    argTypes:
    - gx_path*
    - gs_fixed_point*
    - int
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 543
    functionName: generate_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - gx_path_add_line_notes
    - print_points
    - gx_path_add_lines_notes
    linkageType: ''
    returnType: int
    signature: "int generate_segments(gx_path * ppath, const gs_fixed_point *points,\n
      \                   int count, segment_notes notes)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxpflat.c:553,1
    - Dst: split_curve_midpoint
      Src: /src/libspectre/ghostscript/base/gxpflat.c:559,1
    - Dst: gx_subdivide_curve_rec
      Src: /src/libspectre/ghostscript/base/gxpflat.c:560,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpflat.c:567,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxpflat.c:574,1
    - Dst: generate_segments
      Src: /src/libspectre/ghostscript/base/gxpflat.c:585,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxpflat.c:591,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - self
    - ppath
    - k
    - pc
    - notes
    - points
    argTypes:
    - gx_flattened_iterator*
    - gx_path*
    - int
    - curve_segment*
    - segment_notes
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 596
    functionName: gx_subdivide_curve_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 1
    functionsReached:
    - gx_path_add_curve_notes
    - split_curve_midpoint
    - generate_segments
    - gx_subdivide_curve_rec
    - memcpy
    - gx_flattened_iterator__init
    - gx_flattened_iterator__next
    linkageType: ''
    returnType: int
    signature: "int gx_subdivide_curve_rec(gx_flattened_iterator *self,\n                  gx_path
      * ppath, int k, curve_segment * pc,\n                  segment_notes notes,
      gs_fixed_point *points)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_subdivide_curve_rec
      Src: /src/libspectre/ghostscript/base/gxpflat.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ppath
    - k
    - pc
    - notes
    argTypes:
    - gx_path*
    - int
    - curve_segment*
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 608
    functionDepth: 4
    functionLinenumber: 608
    functionLinenumberEnd: 615
    functionName: gx_subdivide_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxpflat.c
    functionUses: 0
    functionsReached:
    - gx_subdivide_curve_rec
    linkageType: ''
    returnType: int
    signature: int gx_subdivide_curve(gx_path * ppath, int k, curve_segment * pc,
      segment_notes notes)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscpixel.c:65,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscpixel.c:67,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscpixel.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - mem
    - ppcs
    - depth
    argTypes:
    - gs_memory_t*
    - gs_color_space**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 73
    functionName: gs_cspace_new_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_cspace_alloc
    linkageType: ''
    returnType: int
    signature: int gs_cspace_new_DevicePixel(gs_memory_t *mem, gs_color_space **ppcs,
      int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gscpixel.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: gx_restrict_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: void gx_restrict_DevicePixel(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: gx_concretize_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_DevicePixel(const gs_client_color * pc, const gs_color_space
      * pcs,\n                          frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gscpixel.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 107
    functionName: gx_remap_concrete_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_DevicePixel(const gs_color_space * pcs, const
      frac * pconc,\n                              gx_device_color * pdc, const gs_gstate
      * pgs,\n                              gx_device * dev, gs_color_select_t select,\n
      \                             const cmm_dev_profile_t *dev_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscpixel.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 119
    functionName: gx_set_overprint_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_DevicePixel(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gscpixel.c:128,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscpixel.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: gx_serialize_DevicePixel
    functionSourceFile: /src/libspectre/ghostscript/base/gscpixel.c
    functionUses: 0
    functionsReached:
    - sputs
    - gx_serialize_cspace_type
    linkageType: ''
    returnType: int
    signature: int gx_serialize_DevicePixel(const gs_color_space * pcs, stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - hasalpha
    - ','
    - planarIN
    - ','
    - planarOUT
    - ','
    - bigendianIN
    - ','
    - bigendianOUT
    - ','
    - bytesIN
    - ','
    - bytesOUT
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: gsicc_link_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gsicc_link_flags(hasalpha, planarIN, planarOUT, bigendianIN, bigendianOUT,
      bytesIN, bytesOUT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - error_code
    - error_text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: gscms_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gs_warn1
    linkageType: ''
    returnType: void
    signature: "void gscms_error(cmsContext       ContextID,\n            cmsUInt32Number
      \ error_code,\n            const char      *error_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:70,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:73,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:75,1
    - Dst: gs_warn2
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - id
    - size
    argTypes:
    - cmsContext
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 5
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: gs_lcms2_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - malloc
    - cmsGetContextUserData
    - gs_warn2
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_malloc(cmsContext id, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:87,1
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:90,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:94,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 3
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: gs_lcms2_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsGetContextUserData
    - gs_warn1
    - free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_free(cmsContext id, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:104,1
    - Dst: gs_lcms2_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:108,1
    - Dst: gs_lcms2_free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:111,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:115,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:117,1
    - Dst: gs_warn3
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:121,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ptr
    - size
    argTypes:
    - cmsContext
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: gs_lcms2_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gs_lcms2_malloc
    - gs_warn3
    - gs_resize_object
    - gs_lcms2_free
    - cmsGetContextUserData
    - realloc
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_realloc(cmsContext id, void *ptr, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:147,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:149,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: gs_lcms2_createMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsGetContextUserData
    - gx_monitor_label
    - gx_monitor_alloc
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_createMutex(cmsContext id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: gs_lcms2_destroyMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gx_monitor_free
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_destroyMutex(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: gs_lcms2_lockMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool gs_lcms2_lockMutex(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gs_lcms2_unlockMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_unlockMutex(cmsContext id, void* mtx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: gscms_get_accuracy
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: int
    signature: int gscms_get_accuracy(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:208,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:210,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: gscms_get_input_channel_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 6
    functionsReached:
    - cmsChannelsOf
    - gs_lib_ctx_get_cms_context
    - cmsGetColorSpace
    linkageType: ''
    returnType: int
    signature: int gscms_get_input_channel_count(gcmmhprofile_t profile, gs_memory_t
      *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:219,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:221,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 223
    functionName: gscms_get_output_channel_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 5
    functionsReached:
    - cmsGetPCS
    - gs_lib_ctx_get_cms_context
    - cmsChannelsOf
    linkageType: ''
    returnType: int
    signature: int gscms_get_output_channel_count(gcmmhprofile_t profile, gs_memory_t
      *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:230,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:232,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 226
    functionDepth: 4
    functionLinenumber: 226
    functionLinenumberEnd: 235
    functionName: gscms_get_numberclrtnames
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - cmsReadTag
    - cmsNamedColorCount
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: int
    signature: int gscms_get_numberclrtnames(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:245,1
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:247,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:249,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:250,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:253,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:254,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:256,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - profile
    - colorcount
    - memory
    argTypes:
    - gcmmhprofile_t
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 258
    functionName: gscms_get_clrtname
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - cmsNamedColorCount
    - gs_alloc_bytes
    - cmsNamedColorInfo
    - strlen
    - strcpy
    - cmsReadTag
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: char
    signature: 'char *

      gscms_get_clrtname(gcmmhprofile_t profile, int colorcount, gs_memory_t *memory)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:264,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: gscms_is_device_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - cmsGetDeviceClass
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_device_link(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:273,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 276
    functionName: gscms_get_device_class
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - cmsGetDeviceClass
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: int
    signature: int gscms_get_device_class(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:282,1
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 279
    functionDepth: 2
    functionLinenumber: 279
    functionLinenumberEnd: 285
    functionName: gscms_is_input
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsGetDeviceClass
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_input(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:292,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 309
    functionName: gscms_get_profile_data_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 5
    functionsReached:
    - gs_lib_ctx_get_cms_context
    - cmsGetColorSpace
    linkageType: ''
    returnType: gsicc_colorbuffer_t
    signature: gsicc_colorbuffer_t gscms_get_profile_data_space(gcmmhprofile_t profile,
      gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:316,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:318,1
    - Dst: cmsOpenProfileFromMem
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - input_size
    - mem
    argTypes:
    - unsigned char*
    - unsigned int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 320
    functionName: gscms_get_profile_handle_mem
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 2
    functionsReached:
    - cmsSetLogErrorHandler
    - gs_lib_ctx_get_cms_context
    - cmsOpenProfileFromMem
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: "gcmmhprofile_t gscms_get_profile_handle_mem(unsigned char *buffer,
      unsigned int input_size,\n    gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:326,1
    - Dst: cmsOpenProfileFromFile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mem
    argTypes:
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 323
    functionDepth: 5
    functionLinenumber: 323
    functionLinenumberEnd: 329
    functionName: gscms_get_profile_handle_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsOpenProfileFromFile
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: gcmmhprofile_t gscms_get_profile_handle_file(const char *filename,
      gs_memory_t *mem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:344,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:368,1
    - Dst: gsicc_link_flags
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:379,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:394,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:398,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:404,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:404,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:404,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:405,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:405,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:405,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:407,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:407,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:408,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:408,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:412,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:414,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:415,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:417,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:418,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:419,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:420,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:421,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:422,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:423,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:424,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:426,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:428,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:432,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:436,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:443,1
    - Dst: cmsDoTransformLineStride
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:452,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:459,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:460,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:461,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:463,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:465,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:466,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 73
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 469
    functionName: gscms_transform_color_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - gx_monitor_enter
    - gsicc_link_flags
    - gs_alloc_bytes
    - cmsDoTransformLineStride
    - BYTES_SH
    - cmsGetTransformOutputFormat
    - cmsCloneTransformChangingFormats
    - fclose
    - gs_lib_ctx_get_cms_context
    - COLORSPACE_SH
    - CHANNELS_SH
    - gx_monitor_leave
    - fwrite
    - gp_fopen
    - PLANAR_SH
    - ENDIAN16_SH
    - cmsDeleteTransform
    - cmsGetTransformInputFormat
    - T_COLORSPACE
    - EXTRA_SH
    - return_error
    - T_CHANNELS
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_color_buffer(gx_device *dev, gsicc_link_t *icclink,\n
      \                            gsicc_bufferdesc_t *input_buff_desc,\n                             gsicc_bufferdesc_t
      *output_buff_desc,\n                             void *inputbuffer, void *outputbuffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:481,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:487,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:489,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:490,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:491,1
    - Dst: T_ENDIAN16
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:492,1
    - Dst: gsicc_link_flags
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:494,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:508,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:512,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:519,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:519,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:519,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:520,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:520,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:520,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:521,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:521,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:521,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:522,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:522,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:522,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:523,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:524,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:525,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:526,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:529,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:532,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:537,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:541,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:548,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:556,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 5
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 559
    functionName: gscms_transform_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 6
    functionsReached:
    - gx_monitor_enter
    - ENDIAN16_SH
    - gsicc_link_flags
    - cmsDeleteTransform
    - gs_alloc_bytes
    - gx_monitor_leave
    - T_ENDIAN16
    - cmsGetTransformInputFormat
    - T_COLORSPACE
    - BYTES_SH
    - cmsGetTransformOutputFormat
    - COLORSPACE_SH
    - T_CHANNELS
    - cmsDoTransform
    - return_error
    - CHANNELS_SH
    - cmsCloneTransformChangingFormats
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_color(gx_device *dev, gsicc_link_t *icclink, void
      *inputcolor,\n                             void *outputcolor, int num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 567
    functionName: gscms_avoid_white_fix_flag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gscms_avoid_white_fix_flag(gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:573,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:577,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:577,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:578,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - link
    - num_inputs
    - num_outputs
    - memory
    argTypes:
    - gcmmhlink_t
    - int*
    - int*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 579
    functionName: gscms_get_link_dim
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - T_CHANNELS
    - cmsGetTransformInputFormat
    - gs_lib_ctx_get_cms_context
    - cmsGetTransformOutputFormat
    linkageType: ''
    returnType: void
    signature: "void gscms_get_link_dim(gcmmhlink_t link, int *num_inputs, int *num_outputs,\n
      \   gs_memory_t *memory)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:592,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:599,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:600,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:605,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:609,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:610,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:610,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:612,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:615,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:618,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:620,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:623,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:624,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:625,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:625,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:628,1
    - Dst: gscms_get_accuracy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:631,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:668,1
    - Dst: cmsCreateTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:673,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:678,1
    - Dst: gsicc_link_flags
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:682,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 5
    argNames:
    - lcms_srchandle
    - lcms_deshandle
    - rendering_params
    - cmm_flags
    - memory
    argTypes:
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 582
    functionDepth: 8
    functionLinenumber: 582
    functionLinenumberEnd: 686
    functionName: gscms_get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 4
    functionsReached:
    - cmsChannelsOf
    - ENDIAN16_SH
    - gscms_get_accuracy
    - gsicc_link_flags
    - gs_alloc_bytes
    - cmsGetColorSpace
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsGetPCS
    - CHANNELS_SH
    - cmsCreateTransform
    - gs_lib_ctx_get_cms_context
    - gs_free_object
    linkageType: ''
    returnType: gcmmhlink_t
    signature: "gcmmhlink_t gscms_get_link(gcmmhprofile_t  lcms_srchandle, gcmmhprofile_t
      lcms_deshandle,\n               gsicc_rendering_param_t *rendering_params, int
      cmm_flags,\n               gs_memory_t *memory)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:708,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:711,1
    - Dst: gsicc_link_flags
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:717,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:733,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:736,1
    - Dst: gscms_get_accuracy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:741,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:746,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:747,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:749,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:750,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:755,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:759,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:760,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:760,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:762,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:764,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:766,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:768,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:769,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:770,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:770,1
    - Dst: gscms_get_accuracy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:784,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:791,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:794,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:797,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:798,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:803,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:807,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:808,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:808,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:811,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:813,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:816,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:818,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:820,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:821,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:822,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:822,1
    - Dst: gscms_get_accuracy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:845,1
    - Dst: cmsCreateMultiprofileTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:850,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:855,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 91
    argCount: 8
    argNames:
    - lcms_srchandle
    - lcms_proofhandle
    - lcms_deshandle
    - lcms_devlinkhandle
    - rendering_params
    - src_dev_link
    - cmm_flags
    - memory
    argTypes:
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    - bool
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 692
    functionDepth: 7
    functionLinenumber: 692
    functionLinenumberEnd: 859
    functionName: gscms_get_link_proof_devlink
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 1
    functionsReached:
    - cmsChannelsOf
    - cmsDeleteTransform
    - gsicc_link_flags
    - gs_lib_ctx_get_cms_context
    - gs_alloc_bytes
    - gscms_get_accuracy
    - cmsCreateMultiprofileTransform
    - cmsTransform2DeviceLink
    - cmsGetColorSpace
    - cmsCloseProfile
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsGetPCS
    - CHANNELS_SH
    - gscms_get_link
    - gs_free_object
    linkageType: ''
    returnType: gcmmhlink_t
    signature: "gcmmhlink_t gscms_get_link_proof_devlink(gcmmhprofile_t lcms_srchandle,\n
      \                            gcmmhprofile_t lcms_proofhandle,\n                             gcmmhprofile_t
      lcms_deshandle,\n                             gcmmhprofile_t lcms_devlinkhandle,\n
      \                            gsicc_rendering_param_t *rendering_params,\n                             bool
      src_dev_link, int cmm_flags,\n                             gs_memory_t *memory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:868,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:870,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:873,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:877,1
    - Dst: cal_cms_extensions
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:877,1
    - Dst: cmsPlugin
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:878,1
    - Dst: cal_cms_extensions2
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:878,1
    - Dst: cmsSetLogErrorHandler
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:881,1
    - Dst: gs_lib_ctx_set_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:882,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 884
    functionName: gscms_create
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cal_cms_extensions
    - gs_lib_ctx_set_cms_context
    - cmsCreateContext
    - cal_cms_extensions2
    - cmsSetLogErrorHandler
    - cmsPlugin
    - return_error
    linkageType: ''
    returnType: int
    signature: int gscms_create(gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:890,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:894,1
    - Dst: gs_lib_ctx_set_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 896
    functionName: gscms_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - gs_lib_ctx_set_cms_context
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: void
    signature: void gscms_destroy(gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:902,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:907,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:909,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - icclink
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 899
    functionDepth: 4
    functionLinenumber: 899
    functionLinenumberEnd: 913
    functionName: gscms_release_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 3
    functionsReached:
    - cmsDeleteTransform
    - gs_lib_ctx_get_cms_context
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gscms_release_link(gsicc_link_t *icclink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:920,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 916
    functionDepth: 7
    functionLinenumber: 916
    functionLinenumberEnd: 924
    functionName: gscms_release_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_cms_context
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void gscms_release_profile(void *profile, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:956,1
    - Dst: cmsNamedColorIndex
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:960,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - icclink
    - tint_value
    - ColorName
    - device_values
    argTypes:
    - gsicc_link_t*
    - float
    - char*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 968
    functionName: gscms_transform_named_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorIndex
    - cmsDoTransform
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_named_color(gsicc_link_t *icclink,  float tint_value,\n
      \                           const char* ColorName, gx_color_value device_values[])"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:987,1
    - Dst: cmsCreateProofingTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1001,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1014,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1014,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1017,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1017,1
    - Dst: cmsCloneTransformChangingFormats
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1020,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1021,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1024,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1028,1
    - Dst: gsicc_link_flags
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1031,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1037,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1039,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c:1041,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - icclink
    - lcms_srchandle
    - lcms_deshandle
    - lcms_proofhandle
    - rendering_params
    argTypes:
    - gsicc_link_t*
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 976
    functionDepth: 9
    functionLinenumber: 976
    functionLinenumberEnd: 1043
    functionName: gscms_get_name2device_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 0
    functionsReached:
    - cmsDeleteTransform
    - gsicc_link_flags
    - cmsNamedColorCount
    - gs_alloc_bytes
    - cmsGetNamedColorList
    - BYTES_SH
    - cmsCreateProofingTransform
    - CHANNELS_SH
    - cmsCloneTransformChangingFormats
    - gs_lib_ctx_get_cms_context
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: "void gscms_get_name2device_link(gsicc_link_t *icclink,\n                           gcmmhprofile_t
      \ lcms_srchandle,\n                           gcmmhprofile_t lcms_deshandle,\n
      \                          gcmmhprofile_t lcms_proofhandle,\n                           gsicc_rendering_param_t
      *rendering_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 0
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: gscms_is_threadsafe
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2mt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_threadsafe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - original
    - ','
    - duplicate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: USE_Stream
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: USE_Stream( original, duplicate )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _stream
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: DONE_Stream
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DONE_Stream( _stream )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: GET_Byte
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Byte()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: GET_UShort
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_UShort()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: GET_Short
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Short()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: GET_Long
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Long()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: GET_ULong
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ULong()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STREAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: DEFINE_LOAD_LOCALS
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LOAD_LOCALS( STREAM )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STREAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: DEFINE_LOAD_LOCALS_WO_FRAME
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LOAD_LOCALS_WO_FRAME( STREAM )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: ACCESS_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_Frame( _size_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: CHECK_ACCESS_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ACCESS_Frame( _size_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: FORGET_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORGET_Frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: FILE_Pos
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Pos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _position_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: FILE_Seek
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Seek( _position_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _distance_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: FILE_Skip
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Skip( _distance_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: FILE_Read
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Read( buffer, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pos
    - ','
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 153
    functionName: FILE_Read_At
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Read_At( pos, buffer, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STREAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: DEFINE_LOAD_LOCALS
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LOAD_LOCALS( STREAM )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - STREAM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    functionName: DEFINE_LOAD_LOCALS_WO_FRAME
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEFINE_LOAD_LOCALS_WO_FRAME( STREAM )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: ACCESS_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_Frame( _size_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _size_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: CHECK_ACCESS_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_ACCESS_Frame( _size_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: FORGET_Frame
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORGET_Frame()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: GET_Tag4
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_Tag4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: FILE_Pos
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Pos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _position_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: FILE_Seek
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Seek( _position_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _distance_
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: FILE_Skip
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Skip( _distance_ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: FILE_Read
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Read( buffer, count )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pos
    - ','
    - buffer
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: FILE_Read_At
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILE_Read_At( pos, buffer, count )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gstrans.c:40,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gstrans.c:43,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gstrans.c:44,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gstrans.c:45,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gstrans.c:47,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstrans.c:56,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - pgs
    - mode
    argTypes:
    - gs_gstate*
    - gs_blend_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 59
    functionName: gs_setblendmode
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 5
    functionsReached:
    - countof
    - gs_debug_c
    - dmprintf1
    - dmlprintf1
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setblendmode(gs_gstate *pgs, gs_blend_mode_t mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: gs_currentblendmode
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: gs_blend_mode_t
    signature: gs_blend_mode_t gs_currentblendmode(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gstrans.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - knockout
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 74
    functionName: gs_settextknockout
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int gs_settextknockout(gs_gstate *pgs, bool knockout)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 80
    functionName: gs_currenttextknockout
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_currenttextknockout(const gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_is_pattern_clist
      Src: /src/libspectre/ghostscript/base/gstrans.c:93,1
    - Dst: gx_device_is_pattern_accum
      Src: /src/libspectre/ghostscript/base/gstrans.c:94,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstrans.c:104,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstrans.c:114,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - pgs
    - comp_name
    argTypes:
    - gs_gstate*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 89
    functionDepth: 2
    functionLinenumber: 89
    functionLinenumberEnd: 121
    functionName: check_for_nontrans_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gx_device_is_pattern_clist
    - if_debug1m
    - gx_device_is_pattern_accum
    linkageType: ''
    returnType: int
    signature: int check_for_nontrans_pattern(gs_gstate *pgs, unsigned char *comp_name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: send_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:140,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/base/gstrans.c:148,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gstrans.c:149,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gstrans.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pgs
    - pparams
    - retain_on_create
    argTypes:
    - gs_gstate*
    - gs_pdf14trans_params_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 129
    functionDepth: 3
    functionLinenumber: 129
    functionLinenumberEnd: 159
    functionName: gs_gstate_update_pdf14trans2
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gx_set_device_only
    - send_pdf14trans
    - gs_do_set_overprint
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: int gs_gstate_update_pdf14trans2(gs_gstate * pgs, gs_pdf14trans_params_t
      * pparams, bool retain_on_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_pdf14trans2
      Src: /src/libspectre/ghostscript/base/gstrans.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - pparams
    argTypes:
    - gs_gstate*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 4
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: gs_gstate_update_pdf14trans
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans2
    linkageType: ''
    returnType: int
    signature: int gs_gstate_update_pdf14trans(gs_gstate * pgs, gs_pdf14trans_params_t
      * pparams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - ptgp
    - opacity
    argTypes:
    - gs_transparency_group_params_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 181
    functionName: gs_trans_group_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_trans_group_params_init(gs_transparency_group_params_t *ptgp,
      float opacity)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:188,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 183
    functionDepth: 5
    functionLinenumber: 183
    functionLinenumberEnd: 191
    functionName: gs_update_trans_marking_params
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_update_trans_marking_params(gs_gstate * pgs)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:202,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gstrans.c:228,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gstrans.c:229,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gstrans.c:234,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gstrans.c:236,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstrans.c:238,1
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gstrans.c:264,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gstrans.c:277,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gstrans.c:292,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gstrans.c:304,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gstrans.c:308,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gstrans.c:311,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gstrans.c:312,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gstrans.c:314,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gstrans.c:316,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:321,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 68
    argCount: 4
    argNames:
    - pgs
    - ptgp
    - pbbox
    - group_type
    argTypes:
    - gs_gstate*
    - gs_transparency_group_params_t*
    - gs_rect*
    - pdf14_compositor_operations
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 322
    functionName: gs_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 4
    functionsReached:
    - gs_gstate_update_pdf14trans
    - gs_color_space_get_index
    - gs_debug_c
    - dmprintf4
    - cs_num_components
    - dmprintf1
    - gs_color_space_is_ICC
    - dmlprintf6
    - cs_concrete_space
    - return_error
    - gs_currentcolorspace_inline
    - dmputs
    - check_for_nontrans_pattern
    linkageType: ''
    returnType: int
    signature: "int gs_begin_transparency_group(gs_gstate *pgs,\n                            const
      gs_transparency_group_params_t *ptgp,\n                            const gs_rect
      *pbbox, pdf14_compositor_operations group_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstrans.c:333,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gstrans.c:354,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gstrans.c:358,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gstrans.c:361,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gstrans.c:363,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gstrans.c:364,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gstrans.c:366,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gstrans.c:367,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gstrans.c:370,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - pgs
    - pdev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 376
    functionName: gx_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - dmprintf
    - gs_debug_c
    - gs_color_space_get_index
    - dmprintf1
    - dmlprintf6
    - return_error
    - dmlprintf2
    - dmputs
    - dev_proc
    - dmprintf3
    linkageType: ''
    returnType: int
    signature: "int gx_begin_transparency_group(gs_gstate * pgs, gx_device * pdev,\n
      \                               const gs_pdf14trans_params_t * pparams)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:383,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:387,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 378
    functionDepth: 5
    functionLinenumber: 378
    functionLinenumberEnd: 390
    functionName: gs_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 5
    functionsReached:
    - gs_gstate_update_pdf14trans
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_end_transparency_group(gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:397,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:401,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 392
    functionDepth: 5
    functionLinenumber: 392
    functionLinenumberEnd: 404
    functionName: gs_end_transparency_text_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_end_transparency_text_group(gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:411,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:415,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 5
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: gs_begin_transparency_text_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_begin_transparency_text_group(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:423,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pdev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 425
    functionName: gx_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_end_transparency_group(gs_gstate * pgs, gx_device * pdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:435,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:455,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:457,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:461,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 429
    functionDepth: 5
    functionLinenumber: 429
    functionLinenumberEnd: 464
    functionName: gs_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_push_transparency_state(gs_gstate *pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:472,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:481,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:483,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:487,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pgs
    - force
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 466
    functionDepth: 5
    functionLinenumber: 466
    functionLinenumberEnd: 492
    functionName: gs_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_pop_transparency_state(gs_gstate *pgs, bool force)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:497,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pdev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: gx_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_pop_transparency_state(gs_gstate * pgs, gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:504,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pdev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 506
    functionName: gx_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_push_transparency_state(gs_gstate * pgs, gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - in
    - out
    - proc_data
    argTypes:
    - double
    - float*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 516
    functionName: mask_transfer_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mask_transfer_identity(double in, float *out, void *proc_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - ptmp
    - subtype
    argTypes:
    - gs_transparency_mask_params_t*
    - gs_transparency_mask_subtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 531
    functionName: gs_trans_mask_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_trans_mask_params_init(gs_transparency_mask_params_t *ptmp,\n
      \                         gs_transparency_mask_subtype_t subtype)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gstrans.c:545,1
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:547,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstrans.c:555,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstrans.c:557,1
    - Dst: gsicc_initialize_iccsmask
      Src: /src/libspectre/ghostscript/base/gstrans.c:575,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:580,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:583,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gstrans.c:586,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstrans.c:588,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gstrans.c:590,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gstrans.c:591,1
    - Dst: gs_transparency_mask_params_t*::TransferFunction
      Src: /src/libspectre/ghostscript/base/gstrans.c:609,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gstrans.c:610,1
    - Dst: gs_transparency_mask_params_t*::TransferFunction
      Src: /src/libspectre/ghostscript/base/gstrans.c:612,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gstrans.c:613,1
    - Dst: gs_transparency_mask_params_t*::TransferFunction
      Src: /src/libspectre/ghostscript/base/gstrans.c:619,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gstrans.c:620,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gstrans.c:643,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gstrans.c:644,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:646,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 59
    argCount: 4
    argNames:
    - pgs
    - ptmp
    - pbbox
    - mask_is_image
    argTypes:
    - gs_gstate*
    - gs_transparency_mask_params_t*
    - gs_rect*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 533
    functionDepth: 5
    functionLinenumber: 533
    functionLinenumberEnd: 647
    functionName: gs_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - device_is_deep
    - rc_decrement_only_cs
    - gsicc_adjust_profile_rc
    - gsicc_initialize_iccsmask
    - if_debug9m
    - floor
    - memcpy
    - return_error
    - gs_cspace_new_DeviceGray
    - gs_transparency_mask_params_t*::TransferFunction
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gs_begin_transparency_mask(gs_gstate * pgs,\n                           const
      gs_transparency_mask_params_t * ptmp,\n                           const gs_rect
      * pbbox, bool mask_is_image)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstrans.c:663,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstrans.c:665,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstrans.c:680,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gstrans.c:680,1
    - Dst: if_debug10m
      Src: /src/libspectre/ghostscript/base/gstrans.c:681,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - pgs
    - pdev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 692
    functionName: gx_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - size_of
    - if_debug10m
    - memcpy
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_begin_transparency_mask(gs_gstate * pgs, gx_device * pdev,\n
      \                               const gs_pdf14trans_params_t * pparams)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_for_nontrans_pattern
      Src: /src/libspectre/ghostscript/base/gstrans.c:702,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstrans.c:716,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gstrans.c:718,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstrans.c:724,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:726,1
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:729,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pgs
    - csel
    argTypes:
    - gs_gstate*
    - gs_transparency_channel_selector_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 694
    functionDepth: 5
    functionLinenumber: 694
    functionLinenumberEnd: 730
    functionName: gs_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_pdf14trans
    - if_debug1m
    - if_debug2m
    - check_for_nontrans_pattern
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gs_end_transparency_mask(gs_gstate *pgs,\n                         gs_transparency_channel_selector_t
      csel)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gstrans.c:736,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pgs
    - pdev
    - pparams
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_pdf14trans_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 740
    functionName: gx_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int gx_end_transparency_mask(gs_gstate * pgs, gx_device * pdev,\n
      \                               const gs_pdf14trans_params_t * pparams)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 775
    functionName: get_num_pdf14_spot_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int get_num_pdf14_spot_colors(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:786,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gstrans.c:789,1
    - Dst: get_num_pdf14_spot_colors
      Src: /src/libspectre/ghostscript/base/gstrans.c:798,1
    - Dst: gs_gstate_update_pdf14trans2
      Src: /src/libspectre/ghostscript/base/gstrans.c:809,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pgs
    - is_pattern
    - retain
    argTypes:
    - gs_gstate*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 777
    functionDepth: 4
    functionLinenumber: 777
    functionLinenumberEnd: 810
    functionName: gs_push_pdf14trans_device
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - get_num_pdf14_spot_colors
    - dev_proc
    - gs_gstate_update_pdf14trans2
    - gsicc_extract_profile
    linkageType: ''
    returnType: int
    signature: int gs_push_pdf14trans_device(gs_gstate * pgs, bool is_pattern, bool
      retain)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - is_pattern
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 812
    functionDepth: 5
    functionLinenumber: 812
    functionLinenumberEnd: 820
    functionName: gs_pop_pdf14trans_device
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - gs_gstate_update_pdf14trans
    linkageType: ''
    returnType: int
    signature: int gs_pop_pdf14trans_device(gs_gstate * pgs, bool is_pattern)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_pdf14trans
      Src: /src/libspectre/ghostscript/base/gstrans.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 5
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: gs_abort_pdf14trans_device
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 2
    functionsReached:
    - gs_gstate_update_pdf14trans
    linkageType: ''
    returnType: int
    signature: int gs_abort_pdf14trans_device(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstrans.c:836,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstrans.c:837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pdev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 838
    functionName: gx_abort_trans_device
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_abort_trans_device(gs_gstate * pgs, gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - alpha
    argTypes:
    - gs_gstate*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 844
    functionName: gs_setstrokeconstantalpha
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setstrokeconstantalpha(gs_gstate *pgs, float alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 846
    functionDepth: 0
    functionLinenumber: 846
    functionLinenumberEnd: 849
    functionName: gs_getstrokeconstantalpha
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_getstrokeconstantalpha(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - alpha
    argTypes:
    - gs_gstate*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 855
    functionName: gs_setfillconstantalpha
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setfillconstantalpha(gs_gstate *pgs, float alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 860
    functionName: gs_getfillconstantalpha
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_getfillconstantalpha(const gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - AIS
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 866
    functionName: gs_setalphaisshape
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setalphaisshape(gs_gstate *pgs, bool AIS)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 871
    functionName: gs_getalphaisshape
    functionSourceFile: /src/libspectre/ghostscript/base/gstrans.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_getalphaisshape(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: ufst_emprintf
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ufst_emprintf(m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: ufst_emprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ufst_emprintf1(m,s,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - gifct
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    functionName: UFST_PCLswapHdr
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UFST_PCLswapHdr(p, gifct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - If
    argTypes:
    - gs_fapi_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 190
    functionName: If_to_I
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fapi_ufst_server
    signature: 'fapi_ufst_server *

      If_to_I(gs_fapi_server * If)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/fapiufst.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pIFS
    argTypes:
    - IF_STATE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: IFS_to_I
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - offset_of
    linkageType: ''
    returnType: fapi_ufst_server
    signature: 'fapi_ufst_server *

      IFS_to_I(IF_STATE * pIFS)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 214
    functionName: assign_font_id
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int assign_font_id(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHARfree
      Src: /src/libspectre/ghostscript/base/fapiufst.c:234,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/fapiufst.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - r
    argTypes:
    - fapi_ufst_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 237
    functionName: gs_fapi_ufst_release_char_data_inline
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - FSA
    - CHARfree
    linkageType: ''
    returnType: void
    signature: void gs_fapi_ufst_release_char_data_inline(fapi_ufst_server * r)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:261,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:263,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:271,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:273,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:275,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:283,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:287,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:294,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:298,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapiufst.c:302,1
    - Dst: ufst_emprintf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:303,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:307,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapiufst.c:308,1
    - Dst: ufst_emprintf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:309,1
    - Dst: gx_UFST_init
      Src: /src/libspectre/ghostscript/base/fapiufst.c:313,1
    - Dst: gx_UFST_open_static_fco
      Src: /src/libspectre/ghostscript/base/fapiufst.c:319,1
    - Dst: CGIFfco_Plugin
      Src: /src/libspectre/ghostscript/base/fapiufst.c:321,1
    - Dst: ufst_emprintf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:326,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    argCount: 3
    argNames:
    - r
    - server_param
    - server_param_size
    argTypes:
    - fapi_ufst_server*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 331
    functionName: open_UFST
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - ufst_emprintf
    - strlen
    - gx_UFST_init
    - strcpy
    - CGIFfco_Plugin
    - memcpy
    - memcmp
    - return_error
    - gx_UFST_open_static_fco
    - gs_malloc
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode open_UFST(fapi_ufst_server * r, const byte * server_param,\n
      \         int server_param_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:338,1
    - Dst: open_UFST
      Src: /src/libspectre/ghostscript/base/fapiufst.c:345,1
    - Dst: ufst_emprintf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:347,1
    - Dst: gx_set_UFST_Callbacks
      Src: /src/libspectre/ghostscript/base/fapiufst.c:351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - server
    - server_param
    - server_param_size
    argTypes:
    - gs_fapi_server*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: gs_fapi_ufst_ensure_open
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - open_UFST
    - gx_set_UFST_Callbacks
    - If_to_I
    - ufst_emprintf
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_ensure_open(gs_fapi_server *server, const
      char *server_param, int server_param_size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/fapiufst.c:361,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:366,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 1
    argNames:
    - f
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 373
    functionName: get_font_type
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - sfread
    - memcmp
    linkageType: ''
    returnType: UW16
    signature: UW16 get_font_type(stream * f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - d
    - cmapId
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: choose_decoding_general
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: int
    signature: "int choose_decoding_general(fapi_ufst_server * r, ufst_common_font_data
      * d,\n                        const char *cmapId)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:400,1
    - Dst: CGIFtt_cmap_query
      Src: /src/libspectre/ghostscript/base/fapiufst.c:404,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:417,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - r
    - d
    - cmapId
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 420
    functionName: choose_decoding_TT
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - sscanf
    - CGIFtt_cmap_query
    - strncpy
    linkageType: ''
    returnType: int
    signature: "int choose_decoding_TT(fapi_ufst_server * r, ufst_common_font_data
      * d,\n                   const char *cmapId)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:432,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:434,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:436,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:438,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:441,1
    - Dst: choose_proc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:443,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 4
    argNames:
    - r
    - d
    - xlatmap
    - font_kind
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 448
    functionName: scan_xlatmap
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - strncpy
    - choose_proc
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: "void scan_xlatmap(fapi_ufst_server * r, ufst_common_font_data * d,\n
      \            const char *xlatmap, const char *font_kind,\n             int (*choose_proc)
      (fapi_ufst_server * r,\n                                 ufst_common_font_data
      * d,\n                                 const char *cmapId))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: scan_xlatmap
      Src: /src/libspectre/ghostscript/base/fapiufst.c:459,1
    - Dst: scan_xlatmap
      Src: /src/libspectre/ghostscript/base/fapiufst.c:463,1
    - Dst: scan_xlatmap
      Src: /src/libspectre/ghostscript/base/fapiufst.c:466,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - r
    - d
    - xlatmap
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 470
    functionName: choose_decoding
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - scan_xlatmap
    linkageType: ''
    returnType: void
    signature: "void choose_decoding(fapi_ufst_server * r, ufst_common_font_data *
      d,\n                const char *xlatmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - w
    argTypes:
    - byte**
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 478
    functionName: store_word
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_word(byte ** p, ushort w)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:487,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:503,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:521,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:522,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:523,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:524,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:525,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:533,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:534,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:536,1
    - Dst: store_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - r
    - ff
    - chId
    argTypes:
    - fapi_ufst_server*
    - gs_fapi_font*
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 552
    functionName: get_TT_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - store_word
    - gs_fapi_font*::get_glyph
    - gs_malloc
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 get_TT_glyph(fapi_ufst_server * r, gs_fapi_font * ff, UW16 chId)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:559,1
    - Dst: BUFalloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:571,1
    - Dst: MEMptr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:577,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:579,1
    - Dst: BUFfree
      Src: /src/libspectre/ghostscript/base/fapiufst.c:581,1
    - Dst: BUFalloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:585,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/fapiufst.c:585,1
    - Dst: BUFfree
      Src: /src/libspectre/ghostscript/base/fapiufst.c:588,1
    - Dst: MEMptr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:592,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:600,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:602,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 52
    argCount: 3
    argNames:
    - r
    - ff
    - chId
    argTypes:
    - fapi_ufst_server*
    - gs_fapi_font*
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 648
    functionName: get_T1_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - MEMptr
    - BUFalloc
    - BUFfree
    - FSA
    - gs_malloc
    - gs_fapi_font*::get_glyph
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 get_T1_glyph(fapi_ufst_server * r, gs_fapi_font * ff, UW16 chId)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - d
    - chId
    argTypes:
    - ufst_common_font_data*
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 659
    functionName: find_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: pcleo_glyph_list_elem
    signature: 'pcleo_glyph_list_elem *

      find_glyph(ufst_common_font_data * d, UW16 chId)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: IFS_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:666,1
    - Dst: find_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:672,1
    - Dst: get_T1_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:678,1
    - Dst: get_TT_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - UW16
    argTypes:
    - FSP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 662
    functionDepth: 2
    functionLinenumber: 662
    functionLinenumberEnd: 682
    functionName: impl_PCLchId2ptr
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - get_TT_glyph
    - IFS_to_I
    - find_glyph
    - get_T1_glyph
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 impl_PCLchId2ptr(FSP UW16 chId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - LPUB8*
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 696
    functionName: pack_word
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_word(LPUB8 * p, UW16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - LPUB8*
    - UL32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 712
    functionName: pack_long
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_long(LPUB8 * p, UL32 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/fapiufst.c:717,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - p
    - v
    argTypes:
    - LPUB8*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: pack_float
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void pack_float(LPUB8 * p, float v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 722
    functionName: PACK_ZERO
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK_ZERO(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 722
    functionDepth: 0
    functionLinenumber: 722
    functionLinenumberEnd: 723
    functionName: PACK_BYTE
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK_BYTE(p, c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:728,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - ff
    - p
    - var
    - ind
    argTypes:
    - gs_fapi_font*
    - LPUB8*
    - gs_fapi_font_feature
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 734
    functionName: pack_feature_word
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - pack_word
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: int pack_feature_word(gs_fapi_font * ff, LPUB8 * p, gs_fapi_font_feature
      var, int ind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:741,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:745,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - ff
    - p
    - var
    - ind
    argTypes:
    - gs_fapi_font*
    - LPUB8*
    - gs_fapi_font_feature
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 748
    functionName: pack_feature_long
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_long
    - pack_word
    linkageType: ''
    returnType: int
    signature: int pack_feature_long(gs_fapi_font * ff, LPUB8 * p, gs_fapi_font_feature
      var, int ind)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:758,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/fapiufst.c:761,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:763,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:765,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - r
    - ff
    - p
    - max_count
    - count_id
    - array_id
    argTypes:
    - fapi_ufst_server*
    - gs_fapi_font*
    - UB8**
    - UW16
    - gs_fapi_font_feature
    - gs_fapi_font_feature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 770
    functionName: pack_pseo_word_array
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - pack_word
    - min
    - pack_feature_word
    - gs_fapi_font*::get_word
    linkageType: ''
    returnType: int
    signature: "int pack_pseo_word_array(fapi_ufst_server * r, gs_fapi_font * ff,
      UB8 ** p,\n                     UW16 max_count, gs_fapi_font_feature count_id,\n
      \                    gs_fapi_font_feature array_id)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: PACK_ZERO
      Src: /src/libspectre/ghostscript/base/fapiufst.c:779,1
    - Dst: pack_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:781,1
    - Dst: gs_fapi_font*::get_float
      Src: /src/libspectre/ghostscript/base/fapiufst.c:784,1
    - Dst: pack_float
      Src: /src/libspectre/ghostscript/base/fapiufst.c:787,1
    - Dst: PACK_ZERO
      Src: /src/libspectre/ghostscript/base/fapiufst.c:790,1
    - Dst: pack_feature_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:793,1
    - Dst: pack_feature_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:796,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:799,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:802,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:805,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:808,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:811,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:814,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:817,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:820,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:823,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:826,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:829,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:833,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:838,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:844,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:850,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:853,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:856,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:859,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:862,1
    - Dst: pack_pseo_word_array
      Src: /src/libspectre/ghostscript/base/fapiufst.c:867,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:872,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:875,1
    - Dst: pack_feature_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:878,1
    - Dst: PACK_ZERO
      Src: /src/libspectre/ghostscript/base/fapiufst.c:882,1
    - Dst: PACK_ZERO
      Src: /src/libspectre/ghostscript/base/fapiufst.c:882,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:884,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:887,1
    - Dst: gs_fapi_font*::get_subr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:889,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:892,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:893,1
    - Dst: PACK_BYTE
      Src: /src/libspectre/ghostscript/base/fapiufst.c:894,1
    - Dst: gs_fapi_font*::get_subr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:895,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:901,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:905,1
    - Dst: gs_fapi_font*::get_gsubr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:907,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:910,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:911,1
    - Dst: PACK_BYTE
      Src: /src/libspectre/ghostscript/base/fapiufst.c:912,1
    - Dst: gs_fapi_font*::get_gsubr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:913,1
    - Dst: pack_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:920,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 119
    argCount: 3
    argNames:
    - r
    - ff
    - p
    argTypes:
    - fapi_ufst_server*
    - gs_fapi_font*
    - UB8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 921
    functionName: pack_pseo_fhdr
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - pack_feature_long
    - pack_float
    - gs_fapi_font*::get_float
    - pack_pseo_word_array
    - gs_fapi_font*::get_word
    - PACK_BYTE
    - pack_long
    - gs_fapi_font*::get_gsubr
    - pack_feature_word
    - gs_fapi_font*::get_subr
    - pack_word
    - PACK_ZERO
    linkageType: ''
    returnType: int
    signature: int pack_pseo_fhdr(fapi_ufst_server * r, gs_fapi_font * ff, UB8 * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:926,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:927,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:930,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - r
    - s
    - cname
    argTypes:
    - fapi_ufst_server*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 932
    functionName: my_strdup
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    - gs_malloc
    linkageType: ''
    returnType: char
    signature: 'char *

      my_strdup(fapi_ufst_server * r, const char *s, const char *cname)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_UFST_find_static_fco
      Src: /src/libspectre/ghostscript/base/fapiufst.c:939,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:946,1
    - Dst: CGIFfco_Open
      Src: /src/libspectre/ghostscript/base/fapiufst.c:954,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/fapiufst.c:954,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:956,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:960,1
    - Dst: my_strdup
      Src: /src/libspectre/ghostscript/base/fapiufst.c:964,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:967,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:968,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - r
    - font_file_path
    - result
    argTypes:
    - fapi_ufst_server*
    - char*
    - fco_list_elem**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 976
    functionName: fco_open
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - my_strdup
    - gx_UFST_find_static_fco
    - strcmp
    - FSA
    - CGIFfco_Open
    - gs_malloc
    - return_error
    - gs_free
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode fco_open(fapi_ufst_server * r, const char *font_file_path,\n
      \        fco_list_elem ** result)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_available
      Src: /src/libspectre/ghostscript/base/fapiufst.c:998,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1011,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1015,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1022,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1031,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1036,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1043,1
    - Dst: strncasecmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1045,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1048,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1050,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1052,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1054,1
    - Dst: gx_UFST_find_static_fco
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1067,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1070,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1070,1
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1075,1
    - Dst: ufst_emprintf1
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1078,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1080,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1082,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1082,1
    - Dst: get_font_type
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1083,1
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1084,1
    - Dst: fco_open
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1088,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1098,1
    - Dst: assign_font_id
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1103,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1156,1
    - Dst: UFST_PCLswapHdr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1163,1
    - Dst: pack_pseo_fhdr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1168,1
    - Dst: SWAPL
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1180,1
    - Dst: gs_fapi_font*::serialize_tt_font
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1184,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 150
    argCount: 4
    argNames:
    - r
    - font_file_path
    - ff
    - return_data
    argTypes:
    - fapi_ufst_server*
    - char*
    - gs_fapi_font*
    - ufst_common_font_data**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 1198
    functionName: ufst_make_font_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - UFST_PCLswapHdr
    - strlen
    - gx_UFST_find_static_fco
    - memset
    - fco_open
    - SWAPL
    - ufst_emprintf1
    - assign_font_id
    - strncasecmp
    - sfclose
    - gs_fapi_font*::get_long
    - gs_fapi_font*::get_word
    - gs_fapi_font*::serialize_tt_font
    - pack_pseo_fhdr
    - gs_fapi_available
    - get_font_type
    - memcpy
    - gs_malloc
    - return_error
    - sfopen
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode ufst_make_font_data(fapi_ufst_server * r, const char
      *font_file_path,\n                    gs_fapi_font * ff, ufst_common_font_data
      ** return_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - r
    - d
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1200
    functionDepth: 0
    functionLinenumber: 1200
    functionLinenumberEnd: 1208
    functionName: prepare_typeface
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void prepare_typeface(fapi_ufst_server * r, ufst_common_font_data *
      d)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1215,1
    - Dst: ufst_make_font_data
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1244,1
    - Dst: prepare_typeface
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1247,1
    - Dst: choose_decoding
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1249,1
    - Dst: prepare_typeface
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1252,1
    - Dst: choose_decoding
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1254,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1261,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1261,1
    - Dst: CGIFfont
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1332,1
    - Dst: CGIFfont_metrics
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1337,1
    - Dst: CGIFfco_Access
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1350,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1350,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1354,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1356,1
    - Dst: CGIFfco_Access
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1366,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1366,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 5
    argNames:
    - server
    - ff
    - font_scale
    - xlatmap
    - dc
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_font_scale*
    - char*
    - gs_fapi_descendant_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1210
    functionDepth: 5
    functionLinenumber: 1210
    functionLinenumberEnd: 1375
    functionName: gs_fapi_ufst_get_scaled_font_aux
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - CGIFfont
    - prepare_typeface
    - hypot
    - choose_decoding
    - If_to_I
    - CGIFfco_Access
    - FSA
    - CGIFfont_metrics
    - gs_malloc
    - ufst_make_font_data
    - gs_free
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_scaled_font_aux(gs_fapi_server *
      server, gs_fapi_font * ff,\n                    const gs_fapi_font_scale * font_scale,\n
      \                   const char *xlatmap, gs_fapi_descendant_code dc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_ufst_get_scaled_font_aux
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - server
    - ff
    - font_scale
    - xlatmap
    - dc
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_font_scale*
    - char*
    - gs_fapi_descendant_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1377
    functionDepth: 6
    functionLinenumber: 1377
    functionLinenumberEnd: 1383
    functionName: gs_fapi_ufst_get_scaled_font
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_fapi_ufst_get_scaled_font_aux
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_scaled_font(gs_fapi_server * server,
      gs_fapi_font * ff,\n                const gs_fapi_font_scale * font_scale, const
      char *xlatmap,\n                gs_fapi_descendant_code dc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1402,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1405,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 6
    argNames:
    - server
    - ff
    - item
    - index
    - data
    - data_len
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_font_info
    - int
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1385
    functionDepth: 0
    functionLinenumber: 1385
    functionLinenumberEnd: 1438
    functionName: gs_fapi_ufst_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - strlen
    - strcpy
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_font_info(gs_fapi_server * server,
      gs_fapi_font * ff,\n                   gs_fapi_font_info item, int index, void
      *data,\n                   int *data_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - server
    - ff
    - decodingID_result
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1449
    functionName: gs_fapi_ufst_get_decodingID
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_decodingID(gs_fapi_server * server,
      gs_fapi_font * ff,\n               const char **decodingID_result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1454,1
    - Dst: CGIFbound_box
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - server
    - ff
    - BBox
    - unitsPerEm
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - int[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1478
    functionName: gs_fapi_ufst_get_font_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - CGIFbound_box
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_get_font_bbox(gs_fapi_server * server,
      gs_fapi_font * ff, int BBox[4], int unitsPerEm[2])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - server
    - ff
    - bProportional
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1504
    functionName: gs_fapi_ufst_get_font_proportional_feature
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_font_proportional_feature(gs_fapi_server
      * server, gs_fapi_font * ff,\n                              bool * bProportional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1509,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buf
    - buf_length
    - c
    argTypes:
    - char*
    - int
    - gs_fapi_char_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1513
    functionName: make_asciiz_char_name
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    linkageType: ''
    returnType: void
    signature: void make_asciiz_char_name(char *buf, int buf_length, gs_fapi_char_ref
      * c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - result
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1536
    functionName: gs_fapi_ufst_can_retrieve_char_by_name
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_can_retrieve_char_by_name(gs_fapi_server
      * server, gs_fapi_font * ff,\n                          gs_fapi_char_ref * c,
      int *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - result
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1538
    functionDepth: 0
    functionLinenumber: 1538
    functionLinenumberEnd: 1546
    functionName: gs_fapi_ufst_can_replace_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_can_replace_metrics(gs_fapi_server *
      server, gs_fapi_font * ff,\n                    gs_fapi_char_ref * c, int *result)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - r
    - d
    argTypes:
    - fapi_ufst_server*
    - ufst_common_font_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1548
    functionDepth: 1
    functionLinenumber: 1548
    functionLinenumberEnd: 1560
    functionName: release_glyphs
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void release_glyphs(fapi_ufst_server * r, ufst_common_font_data * d)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1565,1
    - Dst: ufst_make_font_data
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1574,1
    - Dst: prepare_typeface
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 2
    argNames:
    - I
    - m
    argTypes:
    - gs_fapi_server*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1562
    functionDepth: 5
    functionLinenumber: 1562
    functionLinenumberEnd: 1622
    functionName: gs_fapi_ufst_get_fontmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - ufst_make_font_data
    - If_to_I
    - prepare_typeface
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_get_fontmatrix(gs_fapi_server * I, gs_matrix
      * m)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_path*::moveto
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1649,1
    - Dst: gs_fapi_path*::lineto
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1656,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1663,1
    - Dst: gs_fapi_path*::curveto
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1667,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1677,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 3
    argNames:
    - r
    - pol
    - p
    argTypes:
    - fapi_ufst_server*
    - PIFOUTLINE
    - gs_fapi_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1682
    functionName: export_outline
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_fapi_path*::curveto
    - gs_fapi_path*::moveto
    - gs_fapi_path*::lineto
    linkageType: ''
    returnType: int
    signature: int export_outline(fapi_ufst_server * r, PIFOUTLINE pol, gs_fapi_path
      * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - r
    - metrics
    - design_bbox
    - design_escapement
    - du_emx
    - du_emy
    argTypes:
    - fapi_ufst_server*
    - gs_fapi_metrics*
    - SL32[]
    - SW16[]
    - SW16
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1684
    functionDepth: 0
    functionLinenumber: 1684
    functionLinenumberEnd: 1698
    functionName: set_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void set_metrics(fapi_ufst_server * r, gs_fapi_metrics * metrics,\n
      \           SL32 design_bbox[4], SW16 design_escapement[2], SW16 du_emx,\n            SW16
      du_emy)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1704,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1734,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1744,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1750,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1754,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1756,1
    - Dst: make_asciiz_char_name
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1760,1
    - Dst: CGIFchIdptr
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1763,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1778,1
    - Dst: CGIFFwidth2
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1806,1
    - Dst: CGIFchar_handle
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1810,1
    - Dst: FC_DONTHINTTT
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1821,1
    - Dst: CGIFfont
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1825,1
    - Dst: CGIFchar_handle
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1826,1
    - Dst: CGIFfont
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1829,1
    - Dst: FC_DONTHINTTT
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1836,1
    - Dst: CGIFfont
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1839,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1855,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1858,1
    - Dst: CGIFchar_handle
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1861,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1866,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1869,1
    - Dst: CGIFchar_handle
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1873,1
    - Dst: CGIFfont
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1879,1
    - Dst: release_glyphs
      Src: /src/libspectre/ghostscript/base/fapiufst.c:1891,1
    - Dst: set_metrics
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2056,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2058,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 178
    argCount: 6
    argNames:
    - server
    - ff
    - c
    - p
    - metrics
    - format
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_path*
    - gs_fapi_metrics*
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 1700
    functionDepth: 2
    functionLinenumber: 1700
    functionLinenumberEnd: 2060
    functionName: get_char
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - CGIFfont
    - CGIFchar_handle
    - make_asciiz_char_name
    - gs_fapi_ufst_release_char_data_inline
    - release_glyphs
    - If_to_I
    - strlen
    - memset
    - memcpy
    - FC_DONTHINTTT
    - CGIFFwidth2
    - memcmp
    - set_metrics
    - gs_fapi_font*::get_glyph
    - min
    - CGIFchIdptr
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode get_char(gs_fapi_server *server, gs_fapi_font *ff,
      gs_fapi_char_ref *c,\n         gs_fapi_path *p, gs_fapi_metrics *metrics, UW16
      format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2066,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2068,1
    - Dst: get_char
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2062
    functionDepth: 3
    functionLinenumber: 2062
    functionLinenumberEnd: 2073
    functionName: gs_fapi_ufst_get_char_outline_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - get_char
    - If_to_I
    - gs_fapi_ufst_release_char_data_inline
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_char_outline_metrics(gs_fapi_server
      *server, gs_fapi_font * ff,\n                         gs_fapi_char_ref * c,
      gs_fapi_metrics * metrics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2078,1
    - Dst: export_outline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - server
    - p
    argTypes:
    - gs_fapi_server*
    - gs_fapi_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2075
    functionDepth: 2
    functionLinenumber: 2075
    functionLinenumberEnd: 2081
    functionName: gs_fapi_ufst_get_char_outline
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - export_outline
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_get_char_outline(gs_fapi_server * server,
      gs_fapi_path * p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2087,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2090,1
    - Dst: get_char
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2083
    functionDepth: 3
    functionLinenumber: 2083
    functionLinenumberEnd: 2098
    functionName: gs_fapi_ufst_get_char_raster_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - get_char
    - If_to_I
    - gs_fapi_ufst_release_char_data_inline
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_char_raster_metrics(gs_fapi_server
      * server, gs_fapi_font * ff,\n                        gs_fapi_char_ref * c,
      gs_fapi_metrics * metrics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2104,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2107,1
    - Dst: get_char
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2117
      start: 2100
    functionDepth: 3
    functionLinenumber: 2100
    functionLinenumberEnd: 2117
    functionName: gs_fapi_ufst_get_char_width
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - get_char
    - If_to_I
    - gs_fapi_ufst_release_char_data_inline
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ufst_get_char_width(gs_fapi_server * server,
      gs_fapi_font * ff,\n               gs_fapi_char_ref * c, gs_fapi_metrics * metrics)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - server
    - rast
    argTypes:
    - gs_fapi_server*
    - gs_fapi_raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2150
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2150
    functionName: gs_fapi_ufst_get_char_raster
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - return_error
    - If_to_I
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_get_char_raster(gs_fapi_server * server,
      gs_fapi_raster * rast)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2155,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - gs_fapi_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2152
    functionDepth: 1
    functionLinenumber: 2152
    functionLinenumberEnd: 2159
    functionName: gs_fapi_ufst_release_char_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - If_to_I
    - gs_fapi_ufst_release_char_data_inline
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_release_char_data(gs_fapi_server * server)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_UFST_find_static_fco_handle
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2166,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2176,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2177,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - r
    - fcHandle
    argTypes:
    - fapi_ufst_server*
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2181
    functionName: release_fco
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_free
    - gx_UFST_find_static_fco_handle
    linkageType: ''
    returnType: void
    signature: void release_fco(fapi_ufst_server * r, SW16 fcHandle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: If_to_I
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2186,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2192,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2197,1
    - Dst: prepare_typeface
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2200,1
    - Dst: CGIFhdr_font_purge
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2203,1
    - Dst: CGIFfont_purge
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2205,1
    - Dst: release_glyphs
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2208,1
    - Dst: release_fco
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2209,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - server
    - font_data
    argTypes:
    - gs_fapi_server*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2183
    functionDepth: 2
    functionLinenumber: 2183
    functionLinenumberEnd: 2212
    functionName: gs_fapi_ufst_release_typeface
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - prepare_typeface
    - gs_fapi_ufst_release_char_data_inline
    - If_to_I
    - CGIFhdr_font_purge
    - CGIFfont_purge
    - release_fco
    - gs_free
    - release_glyphs
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_release_typeface(gs_fapi_server * server,
      void *font_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - server
    - index
    argTypes:
    - gs_fapi_server*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2218
    functionName: gs_fapi_ufst_check_cmap_for_GID
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_check_cmap_for_GID(gs_fapi_server * server,
      uint * index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - server
    - ff
    - wvector
    - length
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2229
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2229
    functionName: gs_fapi_ufst_set_mm_weight_vector
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ufst_set_mm_weight_vector(gs_fapi_server *server,
      gs_fapi_font *ff, float *wvector, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_chunk_wrap
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2281,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2287,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2293,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - mem
    - server
    argTypes:
    - gs_memory_t*
    - gs_fapi_server**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2274
    functionDepth: 1
    functionLinenumber: 2274
    functionLinenumberEnd: 2304
    functionName: gs_fapi_ufst_init
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - return_error
    - gs_memory_chunk_release
    - memset
    - gs_memory_chunk_wrap
    linkageType: ''
    returnType: int
    signature: int gs_fapi_ufst_init(gs_memory_t * mem, gs_fapi_server ** server)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2323,1
    - Dst: gx_set_UFST_Callbacks
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2328,1
    - Dst: gs_fapi_ufst_release_char_data_inline
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2331,1
    - Dst: gx_UFST_fini
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2333,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2336,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2339,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/fapiufst.c:2341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - server
    argTypes:
    - gs_fapi_server**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2344
    functionName: gs_fapi_ufst_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/fapiufst.c
    functionUses: 0
    functionsReached:
    - gx_UFST_fini
    - gs_fapi_ufst_release_char_data_inline
    - gs_memory_chunk_release
    - dmprintf1
    - gx_set_UFST_Callbacks
    - gs_free
    linkageType: ''
    returnType: void
    signature: void gs_fapi_ufst_destroy(gs_fapi_server ** server)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FAPI_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapibstm.c:71,1
    - Dst: FF_serialize_type1_font_complete
      Src: /src/libspectre/ghostscript/base/fapibstm.c:81,1
    - Dst: FF_serialize_type2_font
      Src: /src/libspectre/ghostscript/base/fapibstm.c:83,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapibstm.c:84,1
    - Dst: FF_serialize_type1_font_complete
      Src: /src/libspectre/ghostscript/base/fapibstm.c:87,1
    - Dst: FF_serialize_type2_font
      Src: /src/libspectre/ghostscript/base/fapibstm.c:90,1
    - Dst: FAPI_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapibstm.c:97,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapibstm.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapibstm.c:105,1
    - Dst: FAPI_font*::serialize_tt_font
      Src: /src/libspectre/ghostscript/base/fapibstm.c:106,1
    - Dst: New_InputStream3
      Src: /src/libspectre/ghostscript/base/fapibstm.c:113,1
    - Dst: FF_New_sfntClass
      Src: /src/libspectre/ghostscript/base/fapibstm.c:117,1
    - Dst: FF_New_sfntClass
      Src: /src/libspectre/ghostscript/base/fapibstm.c:121,1
    - Dst: FF_New_sfntClass
      Src: /src/libspectre/ghostscript/base/fapibstm.c:126,1
    - Dst: NewT2K
      Src: /src/libspectre/ghostscript/base/fapibstm.c:129,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - server
    - ff
    argTypes:
    - Bitstream_server*
    - FAPI_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 132
    functionName: InitFont
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - FAPI_font*::serialize_tt_font
    - FF_New_sfntClass
    - NewT2K
    - FAPI_font*::get_long
    - FF_serialize_type2_font
    - FF_serialize_type1_font_complete
    - gs_malloc
    - return_error
    - New_InputStream3
    - FAPI_font*::get_word
    linkageType: ''
    returnType: int
    signature: int InitFont(Bitstream_server * server, FAPI_font * ff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - server
    - server_param
    - server_param_size
    argTypes:
    - FAPI_server*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 139
    functionName: ensure_open
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode ensure_open(FAPI_server * server, const byte * server_param,\n
      \           int server_param_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapibstm.c:154,1
    - Dst: tsi_NewMemhandler
      Src: /src/libspectre/ghostscript/base/fapibstm.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - server
    - ff
    - font_scale
    - xlatmap
    - dc
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_font_scale*
    - char*
    - FAPI_descendant_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 170
    functionName: get_scaled_font
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - tsi_NewMemhandler
    - gs_malloc
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_scaled_font(FAPI_server * server, FAPI_font * ff,\n
      \               const FAPI_font_scale * font_scale, const char *xlatmap,\n                FAPI_descendant_code
      dc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - server
    - ff
    - decodingID_result
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 177
    functionName: get_decodingID
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_decodingID(FAPI_server * server, FAPI_font * ff,\n
      \              const char **decodingID_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - server
    - ff
    - BBox
    - unitsPerEm
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - int[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: get_font_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode get_font_bbox(FAPI_server * server, FAPI_font * ff, int
      BBox[4], int unitsPerEm[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - server
    - ff
    - bProportional
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: get_font_proportional_feature
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_font_proportional_feature(FAPI_server * server, FAPI_font
      * ff,\n                              bool * bProportional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - result
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_char_ref*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: can_retrieve_char_by_name
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode can_retrieve_char_by_name(FAPI_server * server, FAPI_font
      * ff,\n                          FAPI_char_ref * c, int *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - result
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_char_ref*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: can_replace_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode can_replace_metrics(FAPI_server * server, FAPI_font *
      ff, FAPI_char_ref * c,\n                    int *result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - I
    - m
    argTypes:
    - FAPI_server*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: get_fontmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode get_fontmatrix(FAPI_server * I, gs_matrix * m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_char_ref*
    - FAPI_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: get_char_width
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_char_width(FAPI_server * server, FAPI_font * ff,
      FAPI_char_ref * c,\n               FAPI_metrics * metrics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitFont
      Src: /src/libspectre/ghostscript/base/fapibstm.c:237,1
    - Dst: T2K_NewTransformation
      Src: /src/libspectre/ghostscript/base/fapibstm.c:239,1
    - Dst: T2K_RenderGlyph
      Src: /src/libspectre/ghostscript/base/fapibstm.c:241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_char_ref*
    - FAPI_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 255
    functionName: get_char_raster_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - T2K_RenderGlyph
    - T2K_NewTransformation
    - InitFont
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_char_raster_metrics(FAPI_server * server, FAPI_font
      * ff,\n                        FAPI_char_ref * c, FAPI_metrics * metrics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - server
    - rast
    argTypes:
    - FAPI_server*
    - FAPI_raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: get_char_raster
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode get_char_raster(FAPI_server * server, FAPI_raster * rast)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - server
    - ff
    - c
    - metrics
    argTypes:
    - FAPI_server*
    - FAPI_font*
    - FAPI_char_ref*
    - FAPI_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: get_char_outline_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: "FAPI_retcode get_char_outline_metrics(FAPI_server * server, FAPI_font
      * ff,\n                         FAPI_char_ref * c, FAPI_metrics * metrics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - server
    - p
    argTypes:
    - FAPI_server*
    - FAPI_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 285
    functionName: get_char_outline
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode get_char_outline(FAPI_server * server, FAPI_path * p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T2K_PurgeMemory
      Src: /src/libspectre/ghostscript/base/fapibstm.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - FAPI_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: release_char_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - T2K_PurgeMemory
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode release_char_data(FAPI_server * server)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DeleteT2K
      Src: /src/libspectre/ghostscript/base/fapibstm.c:307,1
    - Dst: FF_Delete_sfntClass
      Src: /src/libspectre/ghostscript/base/fapibstm.c:308,1
    - Dst: Delete_InputStream
      Src: /src/libspectre/ghostscript/base/fapibstm.c:309,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapibstm.c:310,1
    - Dst: tsi_DeleteMemhandler
      Src: /src/libspectre/ghostscript/base/fapibstm.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - server
    - font_data
    argTypes:
    - FAPI_server*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: release_typeface
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - Delete_InputStream
    - tsi_DeleteMemhandler
    - FF_Delete_sfntClass
    - DeleteT2K
    - gs_free
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode release_typeface(FAPI_server * server, void *font_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - server
    - index
    argTypes:
    - FAPI_server*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 320
    functionName: check_cmap_for_GID
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode check_cmap_for_GID(FAPI_server * server, uint index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - server
    - ff
    - wvector
    - length
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 331
    functionName: gs_fapi_bstm_set_mm_weight_vector
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FAPI_retcode
    signature: FAPI_retcode gs_fapi_bstm_set_mm_weight_vector(gs_fapi_server *server,
      gs_fapi_font *ff, float *wvector, int length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i_plugin_client_memory*::alloc
      Src: /src/libspectre/ghostscript/base/fapibstm.c:382,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapibstm.c:387,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapibstm.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - client_mem
    - p_instance
    argTypes:
    - i_plugin_client_memory*
    - i_plugin_instance**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 394
    functionName: gs_fapibstm_instantiate
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - return_error
    - memset
    - i_plugin_client_memory*::alloc
    linkageType: ''
    returnType: int
    signature: "int gs_fapibstm_instantiate(i_plugin_client_memory * client_mem,\n
      \                       i_plugin_instance ** p_instance)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: i_plugin_client_memory*::free
      Src: /src/libspectre/ghostscript/base/fapibstm.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - this
    - mem
    argTypes:
    - i_plugin_instance*
    - i_plugin_client_memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: gs_fapibstm_finit
    functionSourceFile: /src/libspectre/ghostscript/base/fapibstm.c
    functionUses: 0
    functionsReached:
    - i_plugin_client_memory*::free
    linkageType: ''
    returnType: void
    signature: void gs_fapibstm_finit(i_plugin_instance * this, i_plugin_client_memory
      * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - old_size
    - ','
    - new_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: gs_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/malloc_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_realloc(ptr, old_size, new_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: public_st_pcl_mono_palette_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmplt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pcl_mono_palette_device()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:172,1
    - Dst: pcl_mono_palette_subclass_data*::device_cm_procs::map_gray
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:180,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: pcl_gray_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmplt.c
    functionUses: 0
    functionsReached:
    - pcl_mono_palette_subclass_data*::device_cm_procs::map_gray
    - strncmp
    linkageType: ''
    returnType: void
    signature: void pcl_gray_cs_to_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:193,1
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:200,1
    - Dst: pcl_mono_palette_subclass_data*::device_cm_procs::map_rgb
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: pcl_rgb_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmplt.c
    functionUses: 0
    functionsReached:
    - strncmp
    - pcl_mono_palette_subclass_data*::device_cm_procs::map_rgb
    - color_rgb_to_gray
    linkageType: ''
    returnType: void
    signature: "void pcl_rgb_cs_to_cm(gx_device * dev, const gs_gstate * pgs, frac
      r, frac g,\n                 frac b, frac out[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:214,1
    - Dst: color_cmyk_to_gray
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:221,1
    - Dst: pcl_mono_palette_subclass_data*::device_cm_procs::map_cmyk
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:223,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: pcl_cmyk_cs_to_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmplt.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_gray
    - strncmp
    - pcl_mono_palette_subclass_data*::device_cm_procs::map_cmyk
    linkageType: ''
    returnType: void
    signature: void pcl_cmyk_cs_to_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmplt.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: pcl_mono_palette_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmplt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: gx_cm_color_map_procs *pcl_mono_palette_get_color_mapping_procs(const
      gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: XtOffsetOf
    functionSourceFile: /src/libspectre/ghostscript/base/x_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XtOffsetOf(s_type,field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_type
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: XtOffsetOf
    functionSourceFile: /src/libspectre/ghostscript/base/x_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XtOffsetOf(s_type,field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - vis
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: XVisualIDFromVisual
    functionSourceFile: /src/libspectre/ghostscript/base/x_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XVisualIDFromVisual(vis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - im
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: XInitImage
    functionSourceFile: /src/libspectre/ghostscript/base/x_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XInitImage(im)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mktmp.c:26,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_mktmp.c:29,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_mktmp.c:31,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gp_mktmp.c:33,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: mktemp
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mktmp.c
    functionUses: 0
    functionsReached:
    - stat
    - strlen
    - strcpy
    - strcmp
    linkageType: ''
    returnType: char
    signature: 'char *

      mktemp(char *fname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - px
    - ','
    - ty
    - ','
    - textures
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr2n.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_offset(px, ty, textures)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: mem_gray_rop_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr2n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mem_gray_rop_fill_rectangle(gx_device * dev, int x, int y, int
      w, int h,\n                            gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: mem_gray_rop_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr2n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mem_gray_rop_copy_mono(gx_device * dev, const byte * data,\n                       int
      dx, int raster, gx_bitmap_id id,\n                       int x, int y, int w,
      int h,\n                       gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 65
    functionName: mem_gray_rop_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr2n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mem_gray_rop_strip_tile_rectangle(gx_device * dev,\n                                  const
      gx_strip_bitmap * tiles,\n                                  int x, int y, int
      w, int h,\n                                  gx_color_index color0, gx_color_index
      color1,\n                                  int px, int py)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:88,1
    - Dst: trace_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:89,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:94,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:95,1
    - Dst: mem_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:102,1
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:145,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:146,1
    - Dst: dev_proc_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:147,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:148,1
    - Dst: dev_proc_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:149,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:150,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:152,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:153,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:154,1
    - Dst: mem_mono_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:157,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:165,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:166,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:167,1
    - Dst: mem_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr2n.c:172,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 177
    functionName: mem_gray_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr2n.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - gs_debug_c
    - mem_mono_strip_copy_rop
    - dev_proc_fill_rectangle
    - dev_proc_copy_mono
    - mem_default_strip_copy_rop
    - gx_device_has_color
    - trace_copy_rop
    - set_dev_proc
    - dev_proc_strip_tile_rectangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mem_gray_strip_copy_rop(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                        const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                        int x, int y, int width,
      int height,\n                        int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: gx_color_usage_all
    functionSourceFile: /src/libspectre/ghostscript/base/gxband.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_usage_all(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: memmove
    functionSourceFile: /src/libspectre/ghostscript/base/string_.h
    functionUses: 100
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memmove(dest,src,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - penum
    - ','
    - pgs
    - ','
    - pw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: gs_setcachedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_setcachedevice(penum, pgs, pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - penum
    - ','
    - pgs
    - ','
    - pw2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: gs_setcachedevice2
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_setcachedevice2(penum, pgs, pw2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcrd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: gs_cie_render_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrd.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_render_client_data(pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_AXE_init_inline
      Src: /src/libspectre/ghostscript/base/sstring.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 36
    functionName: s_AXE_init
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached:
    - s_AXE_init_inline
    linkageType: ''
    returnType: int
    signature: int s_AXE_init(stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 70
    functionName: s_AXE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_AXE_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_AXD_init_inline
      Src: /src/libspectre/ghostscript/base/sstring.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 88
    functionName: s_AXD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached:
    - s_AXD_init_inline
    linkageType: ''
    returnType: int
    signature: int s_AXD_init(stream_state * st)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: s_hex_process
      Src: /src/libspectre/ghostscript/base/sstring.c:96,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 138
    functionName: s_AXD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached:
    - s_hex_process
    linkageType: ''
    returnType: int
    signature: "int s_AXD_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/sstring.c:166,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 49
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 212
    functionName: s_PSSE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: int
    signature: "int s_PSSE_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_PSSD_partially_init_inline
      Src: /src/libspectre/ghostscript/base/sstring.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 231
    functionName: s_PSSD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 1
    functionsReached:
    - s_PSSD_partially_init_inline
    linkageType: ''
    returnType: int
    signature: int s_PSSD_init(stream_state * st)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: check_p
      Src: /src/libspectre/ghostscript/base/sstring.c:253,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:271,1
    - Dst: check_p
      Src: /src/libspectre/ghostscript/base/sstring.c:275,1
    - Dst: check_p
      Src: /src/libspectre/ghostscript/base/sstring.c:292,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:300,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:309,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:317,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:325,1
    - Dst: check_p
      Src: /src/libspectre/ghostscript/base/sstring.c:329,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:330,1
    - Dst: check_q
      Src: /src/libspectre/ghostscript/base/sstring.c:339,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 107
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 351
    functionName: s_PSSD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 0
    functionsReached:
    - check_p
    - check_q
    linkageType: ''
    returnType: int
    signature: "int s_PSSD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: check_p
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_p(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: check_q
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_q(n)
  - BBCount: 26
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 102
    argCount: 4
    argNames:
    - pr
    - pw
    - odd_digit
    - syntax
    argTypes:
    - stream_cursor_read*
    - stream_cursor_write*
    - int*
    - hex_syntax
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 463
    functionName: s_hex_process
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_hex_process(stream_cursor_read * pr, stream_cursor_write * pw,\n
      \             int *odd_digit, hex_syntax syntax)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intercept
      Src: /src/libspectre/ghostscript/base/gp_os9.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached:
    - intercept
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_os9.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/libspectre/ghostscript/base/gp_os9.c:56,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 68
    functionName: signalhandler
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached:
    - clearerr
    linkageType: ''
    returnType: void
    signature: void signalhandler(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _sysdate
      Src: /src/libspectre/ghostscript/base/gp_os9.c:83,1
    - Dst: _julian
      Src: /src/libspectre/ghostscript/base/gp_os9.c:84,1
    - Dst: _julian
      Src: /src/libspectre/ghostscript/base/gp_os9.c:88,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gp_os9.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 4
    functionsReached:
    - printf
    - _sysdate
    - _julian
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_os9.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 2
    functionsReached:
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: popen
      Src: /src/libspectre/ghostscript/base/gp_os9.c:124,1
    - Dst: rbfopen
      Src: /src/libspectre/ghostscript/base/gp_os9.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 126
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached:
    - popen
    - rbfopen
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     void
      \        (**close)(FILE *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_os9.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fname
    - perm
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: rbfopen
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 1
    functionsReached:
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      rbfopen(const char *fname, char *perm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_os9.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 142
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file *pfile, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfile
    - binary
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os9.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    functionName: public_st_gs_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: font_proc_define_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_define_font(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    functionName: font_proc_make_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_make_font(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 184
    functionName: font_proc_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_font_info(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: font_proc_same_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_same_font(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: font_proc_encode_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_encode_char(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: font_proc_decode_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_decode_glyph(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: font_proc_enumerate_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_enumerate_glyph(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: font_proc_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_glyph_info(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: font_proc_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_glyph_outline(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: font_proc_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_glyph_name(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 304
    functionName: font_proc_init_fstack
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_init_fstack(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: font_proc_next_char_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_next_char_glyph(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: font_proc_build_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_proc_build_char(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 409
    functionName: public_st_gs_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 414
    functionName: private_st_gs_font_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_font_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 420
    functionName: public_st_gs_font_ptr_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_ptr_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: public_st_gs_font_base
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_base()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - s
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: TRANSPOSE
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSPOSE(r,s,mask,shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - v80
    - ','
    - v40
    - ','
    - v20
    - ','
    - v10
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: VTAB
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VTAB(v80,v40,v20,v10,v8,v4,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAB
      Src: /src/libspectre/ghostscript/base/gsflip.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 63
    functionName: flip3x1
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - VTAB
    linkageType: ''
    returnType: int
    signature: int flip3x1(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VTAB
      Src: /src/libspectre/ghostscript/base/gsflip.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: flip3x2
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - VTAB
    linkageType: ''
    returnType: int
    signature: int flip3x2(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 106
    functionName: flip3x4
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip3x4(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: flip3x8
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip3x8(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: flip3x12
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip3x12(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:172,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:173,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:175,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 184
    functionName: flip4x1
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - TRANSPOSE
    linkageType: ''
    returnType: int
    signature: int flip4x1(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:202,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:203,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:205,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsflip.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: flip4x2
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - TRANSPOSE
    linkageType: ''
    returnType: int
    signature: int flip4x2(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: flip4x4
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip4x4(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: flip4x8
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip4x8(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 301
    functionName: flip4x12
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip4x12(byte * buffer, const byte ** planes, int offset, int nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sample_store_next8
      Src: /src/libspectre/ghostscript/base/gsflip.c:320,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsflip.c:321,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gsflip.c:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 6
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    - num_planes
    - bits_per_sample
    argTypes:
    - byte*
    - byte**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 326
    functionName: flipNx1to8
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - return_error
    - sample_store_flush
    - sample_store_next8
    linkageType: ''
    returnType: int
    signature: "int flipNx1to8(byte * buffer, const byte ** planes, int offset, int
      nbytes,\n           int num_planes, int bits_per_sample)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sample_store_next_12
      Src: /src/libspectre/ghostscript/base/gsflip.c:346,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gsflip.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    - num_planes
    - ignore_bits_per_sample
    argTypes:
    - byte*
    - byte**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 351
    functionName: flipNx12
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached:
    - sample_store_next_12
    - sample_store_flush
    linkageType: ''
    returnType: int
    signature: "int flipNx12(byte * buffer, const byte ** planes, int offset, int
      nbytes,\n         int num_planes, int ignore_bits_per_sample)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    argTypes:
    - byte*
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: flip_fail
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flip_fail(byte * buffer, const byte ** planes, int offset, int
      nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    - num_planes
    - bits_per_sample
    argTypes:
    - byte*
    - byte**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: flipN_fail
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int flipN_fail(byte * buffer, const byte ** planes, int offset, int
      nbytes,\n           int num_planes, int bits_per_sample)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - buffer
    - planes
    - offset
    - nbytes
    - num_planes
    - bits_per_sample
    argTypes:
    - byte*
    - byte**
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 404
    functionName: image_flip_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gsflip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int image_flip_planes(byte * buffer, const byte ** planes, int offset,
      int nbytes,\n                  int num_planes, int bits_per_sample)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: GET24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET24(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: PUT24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun24.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT24(ptr, pixel)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun24.h:87,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun24.h:192,1
    - Dst: GET24
      Src: /src/libspectre/ghostscript/base/gsroprun24.h:192,1
    - Dst: PUT24
      Src: /src/libspectre/ghostscript/base/gsroprun24.h:193,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 198
    functionName: TEMPLATE_NAME
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun24.h
    functionUses: 0
    functionsReached:
    - lop_rop
    - GET24
    - PUT24
    - SPECIFIC_CODE
    linkageType: ''
    returnType: void
    signature: void TEMPLATE_NAME(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OUT_
    - ','
    - D_
    - ','
    - S_
    - ','
    - T_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun24.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(OUT_, D_,S_,T_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: clist_compressor_template
    functionSourceFile: /src/libspectre/ghostscript/base/gxclzlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: stream_template
    signature: 'stream_template *

      clist_compressor_template(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: clist_decompressor_template
    functionSourceFile: /src/libspectre/ghostscript/base/gxclzlib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: stream_template
    signature: 'stream_template *

      clist_decompressor_template(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_zlib_set_defaults
      Src: /src/libspectre/ghostscript/base/gxclzlib.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: clist_compressor_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclzlib.c
    functionUses: 1
    functionsReached:
    - s_zlib_set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_compressor_init(stream_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_zlib_set_defaults
      Src: /src/libspectre/ghostscript/base/gxclzlib.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: clist_decompressor_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclzlib.c
    functionUses: 1
    functionsReached:
    - s_zlib_set_defaults
    linkageType: ''
    returnType: void
    signature: void clist_decompressor_init(stream_state *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: apr_isalpha
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_isalpha(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: apr_islower
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_islower(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: apr_isdigit
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: apr_isdigit(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: APR_INT64_C
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_INT64_C(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: APR_UINT64_C
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_UINT64_C(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: modf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:135,1
    - Dst: modf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:142,1
    - Dst: modf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:166,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 6
    argNames:
    - arg
    - ndigits
    - decpt
    - sign
    - eflag
    - buf
    argTypes:
    - double
    - int
    - int*
    - int*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 191
    functionName: apr_cvt
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - modf
    linkageType: ''
    returnType: char
    signature: "char *apr_cvt(double arg, int ndigits, int *decpt, int *sign, \n                     int
      eflag, char *buf)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_cvt
      Src: /src/libspectre/ghostscript/base/gssprintf.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - arg
    - ndigits
    - decpt
    - sign
    - buf
    argTypes:
    - double
    - int
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 196
    functionName: apr_ecvt
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_cvt
    linkageType: ''
    returnType: char
    signature: char *apr_ecvt(double arg, int ndigits, int *decpt, int *sign, char
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_cvt
      Src: /src/libspectre/ghostscript/base/gssprintf.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - arg
    - ndigits
    - decpt
    - sign
    - buf
    argTypes:
    - double
    - int
    - int*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: apr_fcvt
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_cvt
    linkageType: ''
    returnType: char
    signature: char *apr_fcvt(double arg, int ndigits, int *decpt, int *sign, char
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - sp
    - ','
    - bep
    - ','
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 305
    functionName: INS_CHAR
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INS_CHAR(c, sp, bep, cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: NUM
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NUM(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: STR_TO_DEC
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR_TO_DEC(str, num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - adjust
    - ','
    - precision
    - ','
    - s
    - ','
    - s_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: FIX_PRECISION
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX_PRECISION(adjust, precision, s, s_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - width
    - ','
    - len
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 348
    functionName: PAD
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PAD(width, len, ch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - length
    - ','
    - ch
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 358
    functionName: PREFIX
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PREFIX(str, length, ch)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - num
    - is_unsigned
    - is_negative
    - buf_end
    - len
    argTypes:
    - apr_int32_t
    - int
    - int*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 417
    functionName: conv_10
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *conv_10(register apr_int32_t num, register int is_unsigned,\n
      \                    register int *is_negative, char *buf_end,\n                     register
      apr_size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 5
    argNames:
    - num
    - is_unsigned
    - is_negative
    - buf_end
    - len
    argTypes:
    - apr_int64_t
    - int
    - int*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 469
    functionName: conv_10_quad
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_10
    linkageType: ''
    returnType: char
    signature: "char *conv_10_quad(apr_int64_t num, register int is_unsigned,\n                     register
      int *is_negative, char *buf_end,\n                     register apr_size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ntohl
      Src: /src/libspectre/ghostscript/base/gssprintf.c:474,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:479,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:481,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:483,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - ia
    - buf_end
    - len
    argTypes:
    - struct in_addr*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 489
    functionName: conv_in_addr
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_10
    - ntohl
    linkageType: ''
    returnType: char
    signature: char *conv_in_addr(struct in_addr *ia, char *buf_end, apr_size_t *len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:500,1
    - Dst: apr_sockaddr_ip_getbuf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:503,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:510,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/libspectre/ghostscript/base/gssprintf.c:513,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gssprintf.c:517,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gssprintf.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - sa
    - buf_end
    - len
    argTypes:
    - apr_sockaddr_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 528
    functionName: conv_apr_sockaddr
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_sockaddr_ip_getbuf
    - strlen
    - conv_10
    - memcpy
    - IN6_IS_ADDR_V4MAPPED
    linkageType: ''
    returnType: char
    signature: char *conv_apr_sockaddr(apr_sockaddr_t *sa, char *buf_end, apr_size_t
      *len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:546,1
    - Dst: conv_10_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:548,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tid
    - buf_end
    - len
    argTypes:
    - apr_os_thread_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 553
    functionName: conv_os_thread_t
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_10
    - conv_10_quad
    linkageType: ''
    returnType: char
    signature: char *conv_os_thread_t(apr_os_thread_t *tid, char *buf_end, apr_size_t
      *len)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: apr_fcvt
      Src: /src/libspectre/ghostscript/base/gssprintf.c:574,1
    - Dst: apr_ecvt
      Src: /src/libspectre/ghostscript/base/gssprintf.c:576,1
    - Dst: apr_isalpha
      Src: /src/libspectre/ghostscript/base/gssprintf.c:581,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:582,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gssprintf.c:583,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:626,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 7
    argNames:
    - format
    - num
    - add_dp
    - precision
    - is_negative
    - buf
    - len
    argTypes:
    - char
    - double
    - boolean_e
    - int
    - int*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 647
    functionName: conv_fp
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_isalpha
    - apr_fcvt
    - strlen
    - memcpy
    - apr_ecvt
    - conv_10
    linkageType: ''
    returnType: char
    signature: "char *conv_fp(register char format, register double num,\n    boolean_e
      add_dp, int precision, int *is_negative,\n    char *buf, apr_size_t *len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - num
    - nbits
    - format
    - buf_end
    - len
    argTypes:
    - apr_uint32_t
    - int
    - char
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 680
    functionName: conv_p2
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: "char *conv_p2(register apr_uint32_t num, register int nbits,\n                     char
      format, char *buf_end, register apr_size_t *len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - num
    - nbits
    - format
    - buf_end
    - len
    argTypes:
    - apr_uint64_t
    - int
    - char
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 702
    functionName: conv_p2_quad
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_p2
    linkageType: ''
    returnType: char
    signature: "char *conv_p2_quad(apr_uint64_t num, register int nbits,\n                     char
      format, char *buf_end, register apr_size_t *len)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:717,1
    - Dst: conv_p2_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:719,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:722,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tid
    - buf_end
    - len
    argTypes:
    - apr_os_thread_t*
    - char*
    - apr_size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 705
    functionDepth: 2
    functionLinenumber: 705
    functionLinenumberEnd: 724
    functionName: conv_os_thread_t_hex
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_p2
    - conv_10
    - conv_p2_quad
    linkageType: ''
    returnType: char
    signature: char *conv_os_thread_t_hex(apr_os_thread_t *tid, char *buf_end, apr_size_t
      *len)
  - BBCount: 106
    BranchProfiles: []
    Callsites:
    - Dst: INS_CHAR
      Src: /src/libspectre/ghostscript/base/gssprintf.c:781,1
    - Dst: apr_islower
      Src: /src/libspectre/ghostscript/base/gssprintf.c:798,1
    - Dst: apr_isdigit
      Src: /src/libspectre/ghostscript/base/gssprintf.c:820,1
    - Dst: STR_TO_DEC
      Src: /src/libspectre/ghostscript/base/gssprintf.c:821,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:825,1
    - Dst: apr_isdigit
      Src: /src/libspectre/ghostscript/base/gssprintf.c:844,1
    - Dst: STR_TO_DEC
      Src: /src/libspectre/ghostscript/base/gssprintf.c:845,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:848,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gssprintf.c:876,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gssprintf.c:888,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:924,1
    - Dst: conv_10_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:925,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:930,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:932,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:934,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:935,1
    - Dst: FIX_PRECISION
      Src: /src/libspectre/ghostscript/base/gssprintf.c:938,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:944,1
    - Dst: conv_10_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:945,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:950,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:952,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:954,1
    - Dst: conv_10
      Src: /src/libspectre/ghostscript/base/gssprintf.c:955,1
    - Dst: FIX_PRECISION
      Src: /src/libspectre/ghostscript/base/gssprintf.c:958,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:971,1
    - Dst: conv_p2_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:972,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:977,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:979,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:981,1
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:982,1
    - Dst: FIX_PRECISION
      Src: /src/libspectre/ghostscript/base/gssprintf.c:985,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:996,1
    - Dst: conv_p2_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:997,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1002,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1004,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1006,1
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1007,1
    - Dst: FIX_PRECISION
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1010,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1020,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1023,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1066,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1072,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1074,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1078,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1080,1
    - Dst: conv_fp
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1084,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1099,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1102,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1104,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1108,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1110,1
    - Dst: apr_gcvt
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1121,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1130,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1132,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1136,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1185,1
    - Dst: conv_p2_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1186,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1191,1
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1192,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1210,1
    - Dst: conv_apr_sockaddr
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1212,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1229,1
    - Dst: conv_in_addr
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1231,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1248,1
    - Dst: apr_strerror
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1250,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1251,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1267,1
    - Dst: conv_os_thread_t
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1269,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1292,1
    - Dst: conv_os_thread_t_hex
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1294,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1321,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1325,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1329,1
    - Dst: apr_strfsize
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1333,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1334,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1344,1
    - Dst: conv_p2_quad
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1345,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1350,1
    - Dst: conv_p2
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1351,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1368,1
    - Dst: INS_CHAR
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1407,1
    - Dst: PAD
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1412,1
    - Dst: INS_CHAR
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1420,1
    - Dst: PAD
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1426,1
    CyclomaticComplexity: 136
    EdgeCount: 136
    ICount: 403
    argCount: 3
    argNames:
    - vbuff
    - fmt
    - ap
    argTypes:
    - apr_vformatter_buff_t*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 730
    functionDepth: 3
    functionLinenumber: 730
    functionLinenumberEnd: 1427
    functionName: apr_vformatter
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - conv_p2
    - strlen
    - isnan
    - apr_strfsize
    - STR_TO_DEC
    - conv_os_thread_t
    - conv_p2_quad
    - conv_apr_sockaddr
    - PAD
    - apr_gcvt
    - va_arg
    - conv_fp
    - isinf
    - conv_10
    - apr_isdigit
    - conv_os_thread_t_hex
    - FIX_PRECISION
    - conv_in_addr
    - apr_strerror
    - strchr
    - strncmp
    - apr_islower
    - INS_CHAR
    - conv_10_quad
    linkageType: ''
    returnType: int
    signature: "int apr_vformatter(int (*flush_func)(apr_vformatter_buff_t *),\n    apr_vformatter_buff_t
      *vbuff, const char *fmt, va_list ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - vbuff
    argTypes:
    - apr_vformatter_buff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1436
    functionDepth: 0
    functionLinenumber: 1436
    functionLinenumberEnd: 1442
    functionName: snprintf_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int snprintf_flush(apr_vformatter_buff_t *vbuff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1466,1
    - Dst: apr_vformatter
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1467,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - buf
    - len
    - format
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1444
    functionDepth: 4
    functionLinenumber: 1444
    functionLinenumberEnd: 1473
    functionName: gs_snprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 1
    functionsReached:
    - apr_vformatter
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: "int gs_snprintf(char *buf, int len,\n                                     const
      char *format, ...)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1485,1
    - Dst: apr_vformatter
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1486,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - buf
    - format
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1475
    functionDepth: 4
    functionLinenumber: 1475
    functionLinenumberEnd: 1491
    functionName: gs_sprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 90
    functionsReached:
    - apr_vformatter
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int gs_sprintf(char *buf, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: apr_vformatter
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - buf
    - len
    - format
    - ap
    argTypes:
    - char*
    - int
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1494
    functionDepth: 4
    functionLinenumber: 1494
    functionLinenumberEnd: 1515
    functionName: gs_vsnprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_vformatter
    linkageType: ''
    returnType: int
    signature: "int gs_vsnprintf(char *buf, int len, const char *format,\n                               va_list
      ap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_vformatter
      Src: /src/libspectre/ghostscript/base/gssprintf.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - buf
    - format
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1517
    functionDepth: 4
    functionLinenumber: 1517
    functionLinenumberEnd: 1530
    functionName: gs_vsprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gssprintf.c
    functionUses: 0
    functionsReached:
    - apr_vformatter
    linkageType: ''
    returnType: int
    signature: int gs_vsprintf(char *buf, const char *format, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_jpeg_error_setup
      Src: /src/libspectre/ghostscript/base/sjpege.c:35,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:37,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:37,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:38,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:38,1
    - Dst: jpeg_stream_data_common_init
      Src: /src/libspectre/ghostscript/base/sjpege.c:40,1
    - Dst: gs_jpeg_mem_init
      Src: /src/libspectre/ghostscript/base/sjpege.c:42,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:43,1
    - Dst: jpeg_create_compress
      Src: /src/libspectre/ghostscript/base/sjpege.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: gs_jpeg_create_compress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 4
    functionsReached:
    - gs_jpeg_mem_init
    - find_jmp_buf
    - jpeg_stream_data_common_init
    - setjmp
    - gs_jpeg_log_error
    - return_error
    - gs_jpeg_error_setup
    - jpeg_create_compress
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_create_compress(stream_DCT_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:52,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:52,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:53,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:53,1
    - Dst: jpeg_set_defaults
      Src: /src/libspectre/ghostscript/base/sjpege.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: gs_jpeg_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 3
    functionsReached:
    - jpeg_set_defaults
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_set_defaults(stream_DCT_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:62,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:63,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:63,1
    - Dst: jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/base/sjpege.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - st
    - colorspace
    argTypes:
    - stream_DCT_state*
    - J_COLOR_SPACE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: gs_jpeg_set_colorspace
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 0
    functionsReached:
    - jpeg_set_colorspace
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_set_colorspace(stream_DCT_state * st,\n                       J_COLOR_SPACE
      colorspace)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:72,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:72,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:73,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:73,1
    - Dst: jpeg_set_linear_quality
      Src: /src/libspectre/ghostscript/base/sjpege.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - st
    - scale_factor
    - force_baseline
    argTypes:
    - stream_DCT_state*
    - int
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 77
    functionName: gs_jpeg_set_linear_quality
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 2
    functionsReached:
    - find_jmp_buf
    - jpeg_set_linear_quality
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_set_linear_quality(stream_DCT_state * st,\n                           int
      scale_factor, boolean force_baseline)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:83,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:83,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:84,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:84,1
    - Dst: jpeg_set_quality
      Src: /src/libspectre/ghostscript/base/sjpege.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - st
    - quality
    - force_baseline
    argTypes:
    - stream_DCT_state*
    - int
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 88
    functionName: gs_jpeg_set_quality
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 2
    functionsReached:
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    - jpeg_set_quality
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_set_quality(stream_DCT_state * st,\n                    int
      quality, boolean force_baseline)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:94,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:94,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:95,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:95,1
    - Dst: jpeg_start_compress
      Src: /src/libspectre/ghostscript/base/sjpege.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - st
    - write_all_tables
    argTypes:
    - stream_DCT_state*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: gs_jpeg_start_compress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 0
    functionsReached:
    - find_jmp_buf
    - jpeg_start_compress
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_start_compress(stream_DCT_state * st,\n                       boolean
      write_all_tables)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:105,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:106,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:106,1
    - Dst: jpeg_write_scanlines
      Src: /src/libspectre/ghostscript/base/sjpege.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - st
    - scanlines
    - num_lines
    argTypes:
    - stream_DCT_state*
    - JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: gs_jpeg_write_scanlines
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 0
    functionsReached:
    - jpeg_write_scanlines
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_write_scanlines(stream_DCT_state * st,\n                        JSAMPARRAY
      scanlines,\n                        int num_lines)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpege.c:114,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpege.c:114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:115,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpege.c:115,1
    - Dst: jpeg_finish_compress
      Src: /src/libspectre/ghostscript/base/sjpege.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: gs_jpeg_finish_compress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpege.c
    functionUses: 0
    functionsReached:
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - jpeg_finish_compress
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_finish_compress(stream_DCT_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxclrast.c:73,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:78,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:80,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - mem
    - data
    - width
    - height
    - raster
    argTypes:
    - gs_memory_t*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: cmd_print_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - dmputc
    - dmlprintf3
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void cmd_print_bits(gs_memory_t *mem, const byte * data, int width,
      int height, int raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - width
    - ','
    - height
    - ','
    - raster
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: cmd_print_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_print_bits(mem, data, width, height, raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: cmd_getw
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_getw(var, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - rp
    argTypes:
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 104
    functionName: cmd_get_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long cmd_get_w(const byte * p, const byte ** rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: cmd_getfrac
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_getfrac(var, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - p
    - rp
    argTypes:
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: cmd_get_frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: frac31
    signature: frac31 cmd_get_frac31(const byte * p, const byte ** rp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcb
    - end
    argTypes:
    - command_buf_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: set_cb_end
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_cb_end(command_buf_t *pcb, const byte *end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:164,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/base/gxclrast.c:168,1
    - Dst: top_up_offset_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:175,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:181,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:190,1
    - Dst: set_cb_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:195,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/gxclrast.c:196,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - pcb
    - pcbp
    argTypes:
    - command_buf_t*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 199
    functionName: top_up_cbuf
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - seofp
    - memmove
    - process_interrupts
    - sgets
    - top_up_offset_map
    - return_error
    - errprintf
    - set_cb_end
    linkageType: ''
    returnType: int
    signature: int top_up_cbuf(command_buf_t *pcb, const byte **pcbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:206,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:212,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pcb
    - ptr
    - rsize
    - cbp
    argTypes:
    - command_buf_t*
    - byte*
    - uint
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 216
    functionName: cmd_read_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - sgets
    - memmove
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_read_data(command_buf_t *pcb, byte *ptr, uint rsize, const byte *cbp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - rsize
    - ','
    - cbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: cmd_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_read(ptr, rsize, cbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pvar
    - var_size
    - cbp
    argTypes:
    - void*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 226
    functionName: cmd_copy_value
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_copy_value(void *pvar, int var_size, const byte *cbp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - cbp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: cmd_get_value
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_get_value(var, cbp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ppcomp_first
    - ppcomp_last
    - pcomp
    argTypes:
    - gs_composite_t**
    - gs_composite_t**
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: enqueue_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void enqueue_compositor(gs_composite_t **ppcomp_first, gs_composite_t
      **ppcomp_last, gs_composite_t *pcomp)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ppcomp_first
    - ppcomp_last
    argTypes:
    - gs_composite_t**
    - gs_composite_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: dequeue_last_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_composite_t
    signature: 'gs_composite_t *

      dequeue_last_compositor(gs_composite_t **ppcomp_first, gs_composite_t **ppcomp_last)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ppcomp_first
    - ppcomp_last
    argTypes:
    - gs_composite_t**
    - gs_composite_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 327
    functionName: dequeue_first_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_composite_t
    signature: 'gs_composite_t *

      dequeue_first_compositor(gs_composite_t **ppcomp_first, gs_composite_t **ppcomp_last)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ppcomp_first
    - ppcomp_last
    - pcomp
    argTypes:
    - gs_composite_t**
    - gs_composite_t**
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 353
    functionName: dequeue_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int dequeue_compositor(gs_composite_t **ppcomp_first, gs_composite_t
      **ppcomp_last, gs_composite_t *pcomp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcomp
    - mem
    argTypes:
    - gs_composite_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 359
    functionName: free_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void free_compositor(gs_composite_t *pcomp, gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cbp
    - length
    argTypes:
    - byte*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 369
    functionName: is_null_compositor_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_null_compositor_op(const byte *cbp, int *length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dequeue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:381,1
    - Dst: apply_create_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 11
    argNames:
    - cdev
    - target
    - tdev
    - pgs
    - ppcomp_first
    - ppcomp_last
    - pcomp_from
    - x0
    - y0
    - mem
    - idle
    argTypes:
    - gx_device_clist_reader*
    - gx_device**
    - gx_device**
    - gs_gstate*
    - gs_composite_t**
    - gs_composite_t**
    - gs_composite_t*
    - int
    - int
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: execute_compositor_queue
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - dequeue_compositor
    - apply_create_compositor
    linkageType: ''
    returnType: int
    signature: "int execute_compositor_queue(gx_device_clist_reader *cdev, gx_device
      **target, gx_device **tdev, gs_gstate *pgs,\n                         gs_composite_t
      **ppcomp_first, gs_composite_t **ppcomp_last, gs_composite_t *pcomp_from,\n
      \                        int x0, int y0, gs_memory_t *mem, bool idle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pcomp_start
    - pcomp_end
    argTypes:
    - gs_composite_t*
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 404
    functionName: mark_as_idle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_as_idle(gs_composite_t *pcomp_start, gs_composite_t *pcomp_end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dequeue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:419,1
    - Dst: gs_composite_t*::type::procs::adjust_ctm
      Src: /src/libspectre/ghostscript/base/gxclrast.c:420,1
    - Dst: free_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 7
    argNames:
    - ppcomp_first
    - ppcomp_last
    - pcomp_from
    - mem
    - x0
    - y0
    - pgs
    argTypes:
    - gs_composite_t**
    - gs_composite_t**
    - gs_composite_t*
    - gs_memory_t*
    - int
    - int
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 426
    functionName: drop_compositor_queue
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - dequeue_compositor
    - gs_composite_t*::type::procs::adjust_ctm
    - free_compositor
    linkageType: ''
    returnType: int
    signature: "int drop_compositor_queue(gs_composite_t **ppcomp_first, gs_composite_t
      **ppcomp_last,\n                      gs_composite_t *pcomp_from, gs_memory_t
      *mem, int x0, int y0,\n                      gs_gstate *pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cmd_select_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:439,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:451,1
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:454,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:457,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:461,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:462,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:465,1
    - Dst: gx_gstate_set_effective_xfer
      Src: /src/libspectre/ghostscript/base/gxclrast.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - cb
    - pcb
    - pgs
    - mem
    argTypes:
    - byte
    - command_buf_t*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 473
    functionName: read_set_misc_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - dmputc
    - if_debug1m
    - gs_debug_c
    - cmd_select_map
    - cmd_read_data
    - dmprintf1
    - gx_gstate_set_effective_xfer
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int read_set_misc_map(byte cb, command_buf_t *pcb, gs_gstate *pgs,
      gs_memory_t *mem)
  - BBCount: 301
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:553,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:555,1
    - Dst: set_cb_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:561,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:565,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:568,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:569,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:570,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:571,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclrast.c:594,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gxclrast.c:603,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxclrast.c:608,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:611,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:612,1
    - Dst: GS_STATE_INIT_VALUES_CLIST
      Src: /src/libspectre/ghostscript/base/gxclrast.c:613,1
    - Dst: gs_gstate_initialize
      Src: /src/libspectre/ghostscript/base/gxclrast.c:614,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gxclrast.c:620,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:622,1
    - Dst: gs_color_space*::type::install_cspace
      Src: /src/libspectre/ghostscript/base/gxclrast.c:625,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:630,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:633,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:635,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:637,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:639,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:643,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:644,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:645,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:646,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:650,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:651,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:655,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:656,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:660,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gxclrast.c:663,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxclrast.c:664,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gxclrast.c:665,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:671,1
    - Dst: gx_gstate_setscreenphase
      Src: /src/libspectre/ghostscript/base/gxclrast.c:673,1
    - Dst: color_unset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:678,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:679,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:682,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:700,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:704,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:711,1
    - Dst: clist_file_offset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:713,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:716,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxclrast.c:718,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:719,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:726,1
    - Dst: read_set_tile_size
      Src: /src/libspectre/ghostscript/base/gxclrast.c:730,1
    - Dst: gx_device_is_pattern_clist
      Src: /src/libspectre/ghostscript/base/gxclrast.c:731,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:737,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:738,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:739,1
    - Dst: read_set_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:748,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:758,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:759,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:760,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclrast.c:764,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:771,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:779,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:781,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:787,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:791,1
    - Dst: read_set_misc_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:795,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:805,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:807,1
    - Dst: cmd_resize_halftone
      Src: /src/libspectre/ghostscript/base/gxclrast.c:810,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:825,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:830,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:833,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:898,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:900,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:905,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:909,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:962,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:964,1
    - Dst: cmd_read_rect
      Src: /src/libspectre/ghostscript/base/gxclrast.c:969,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:997,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1004,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1013,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1014,1
    - Dst: mlprintf2
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1018,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1021,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1042,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1043,1
    - Dst: clist_bitmap_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1049,1
    - Dst: mlprintf6
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1064,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1067,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1069,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1078,1
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1086,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1088,1
    - Dst: top_up_offset_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1103,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1107,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1108,1
    - Dst: set_cb_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1109,1
    - Dst: clist_rld_init
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1121,1
    - Dst: clist_cfd_init
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1131,1
    - Dst: cmd_read_short_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1149,1
    - Dst: cmd_read
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1155,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1160,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1161,1
    - Dst: cmd_print_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1163,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1178,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1227,1
    - Dst: gx_gstate_setscreenphase
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1236,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1244,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1245,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1246,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1247,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1248,1
    - Dst: cmd_read_matrix
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1254,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1255,1
    - Dst: gs_gstate_setmatrix
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1260,1
    - Dst: read_set_misc2
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1265,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1276,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1277,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1278,1
    - Dst: gx_set_dash
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1280,1
    - Dst: gx_set_dash_adapt
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1283,1
    - Dst: gx_set_dot_length
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1285,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1289,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1292,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1297,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1298,1
    - Dst: gx_cpath_ensure_path_list
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1307,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1312,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1317,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1323,1
    - Dst: gx_cpath_reset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1324,1
    - Dst: gx_cpath_accum_begin
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1327,1
    - Dst: gx_cpath_accum_set_cbox
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1328,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1340,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1345,1
    - Dst: gx_cpath_accum_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1346,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1355,1
    - Dst: gx_cpath_ensure_path_list
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1364,1
    - Dst: read_set_color_space
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1381,1
    - Dst: cmd_read_rect
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1394,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1396,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1397,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1400,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1403,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1404,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1405,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1406,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1407,1
    - Dst: read_begin_image
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1414,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1421,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1422,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1423,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1425,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1427,1
    - Dst: read_begin_image
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1434,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1442,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1444,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1447,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1449,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1459,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1461,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1462,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1472,1
    - Dst: cmd_max_intsize
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1478,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1479,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1483,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1485,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1494,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1496,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1497,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1506,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1507,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1528,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1543,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1546,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1551,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1552,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1553,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1577,1
    - Dst: cmd_print_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1583,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1591,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1594,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1596,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1605,1
    - Dst: read_put_params
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1607,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1618,1
    - Dst: gx_gstate_setscreenphase
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1624,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1635,1
    - Dst: read_create_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1644,1
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1650,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1653,1
    - Dst: gs_composite_t*::type::procs::is_closing
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1658,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1664,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1668,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1672,1
    - Dst: execute_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1673,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1680,1
    - Dst: execute_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1681,1
    - Dst: execute_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1688,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1692,1
    - Dst: dequeue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1696,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1699,1
    - Dst: free_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1700,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1704,1
    - Dst: drop_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1705,1
    - Dst: enqueue_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1711,1
    - Dst: mark_as_idle
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1712,1
    - Dst: is_null_compositor_op
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1714,1
    - Dst: execute_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1718,1
    - Dst: type::procs::is_friendly
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1724,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1741,1
    - Dst: read_alloc_ht_buff
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1742,1
    - Dst: read_ht_segment
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1749,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1757,1
    - Dst: read_set_misc_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1766,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1772,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1777,1
    - Dst: execute_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1782,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1790,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1798,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1799,1
    - Dst: read_alloc_ht_buff
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1800,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1806,1
    - Dst: read_ht_segment
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1808,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1817,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1821,1
    - Dst: cmd_read_rect
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1825,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1826,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1829,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1855,1
    - Dst: gx_get_dc_type_from_index
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1856,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1858,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1863,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1864,1
    - Dst: gx_device_color_type_t*::read
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1869,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1877,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1881,1
    - Dst: gx_device_color_type_t*::read
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1882,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1892,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1914,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1915,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1916,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1931,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1931,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1954,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1954,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1968,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1968,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1970,1
    - Dst: clist_decode_segment
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1971,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1987,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1990,1
    - Dst: gx_path_add_flattened_accurate
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1991,1
    - Dst: gs_currentflat_inline
      Src: /src/libspectre/ghostscript/base/gxclrast.c:1992,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2007,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2020,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2025,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2029,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2034,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2038,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2047,1
    - Dst: clist_do_polyfill
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2053,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2066,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2082,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2083,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2085,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2086,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2087,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2088,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2089,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2090,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2091,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2092,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2093,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2095,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2096,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2101,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2102,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2117,1
    - Dst: cmd_max_intsize
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2119,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2120,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2124,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2125,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2126,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2127,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2142,1
    - Dst: cmd_max_intsize
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2145,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2146,1
    - Dst: cmd_getfrac
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2152,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2158,1
    - Dst: gx_init_patch_fill_state_for_clist
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2168,1
    - Dst: gx_fill_triangle_small
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2173,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2179,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2189,1
    - Dst: gx_default_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2193,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2194,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2195,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2195,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2203,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2206,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2207,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2210,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2211,1
    - Dst: mlprintf5
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2216,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2217,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2222,1
    - Dst: dmprintf10
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2223,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2228,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2231,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2240,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2241,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2248,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2261,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2271,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2294,1
    - Dst: gx_image_fill_masked
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2311,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2318,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2324,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2338,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2339,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2357,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2371,1
    - Dst: drop_compositor_queue
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2379,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2384,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2385,1
    - Dst: gx_pattern_cache_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2387,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2391,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2392,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2393,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2394,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2400,1
    - Dst: gs_gstate_release
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2401,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2402,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2403,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2412,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2416,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2417,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2423,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2424,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2425,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2426,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2427,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2429,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2430,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2434,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2438,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2439,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2440,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2441,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2442,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2444,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2447,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2449,1
    CyclomaticComplexity: 407
    EdgeCount: 407
    ICount: 1445
    argCount: 7
    argNames:
    - playback_action
    - cdev
    - s
    - target
    - x0
    - y0
    - mem
    argTypes:
    - clist_playback_action
    - gx_device_clist_reader*
    - stream*
    - gx_device*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2451
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 2451
    functionName: clist_playback_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - read_set_misc_map
    - gs_alloc_bytes
    - gx_device_is_pattern_clist
    - gx_cpath_reset
    - gx_pattern_cache_free
    - gx_get_dc_type_from_index
    - clist_bitmap_bytes
    - gx_set_dot_length
    - if_debug4m
    - free_compositor
    - min
    - gs_composite_t*::type::procs::is_closing
    - top_up_cbuf
    - gx_pattern_cache_entry_set_lock
    - cmd_read_rect
    - gx_fill_triangle_small
    - gx_cpath_ensure_path_list
    - read_ht_segment
    - cmd_read_matrix
    - gs_gstate_initialize
    - dev_proc
    - cmd_read_data
    - term_patch_fill_state
    - gx_cpath_from_rectangle
    - seofp
    - sgets
    - drop_compositor_queue
    - cmd_max_intsize
    - read_set_tile_size
    - gs_alloc_struct
    - gs_color_space*::type::install_cspace
    - gx_monitor_enter
    - if_debug1m
    - dequeue_compositor
    - read_create_compositor
    - gx_cpath_inner_box
    - memmove
    - top_up_offset_map
    - rc_decrement
    - read_set_misc2
    - clist_rld_init
    - stell
    - gs_gstate_setmatrix
    - type::procs::is_friendly
    - mlprintf2
    - read_alloc_ht_buff
    - read_put_params
    - cs_full_init_color
    - read_begin_image
    - gx_cpath_accum_set_cbox
    - clist_do_polyfill
    - gx_set_dash_adapt
    - gx_path_init_local
    - gx_set_cmap_procs
    - if_debug0m
    - cmd_getw
    - clist_cfd_init
    - dmprintf2
    - gx_init_patch_fill_state_for_clist
    - gx_unset_dev_color
    - is_null_compositor_op
    - cmd_print_bits
    - rc_increment_cs
    - max
    - gx_gstate_setscreenphase
    - execute_compositor_queue
    - gx_default_fill_trapezoid
    - fixed2int_var
    - memset
    - gx_color_load
    - if_debug2m
    - gs_note_error
    - gs_free_object
    - gx_make_clip_device_on_stack
    - read_set_color_space
    - gx_monitor_leave
    - cmd_get_value
    - gx_image_plane_data
    - gx_image_end
    - read_set_bits
    - dmlprintf1
    - gx_dc_is_pattern1_color
    - dmlprintf2
    - color_set_pure
    - clist_decode_segment
    - gx_cpath_free
    - color_unset
    - cmd_read
    - if_debug6m
    - gx_device_color_type_t*::read
    - dmprintf1
    - gs_currentflat_inline
    - cmd_resize_halftone
    - dmprintf4
    - gs_cspace_new_DeviceGray
    - enc_u_getw
    - gx_set_dash
    - enqueue_compositor
    - cmd_read_short_bits
    - gs_gstate_release
    - clist_file_offset
    - igcd
    - dmprintf10
    - mlprintf6
    - gs_is_pdf14trans_compositor
    - gs_debug_c
    - rc_increment
    - GS_STATE_INIT_VALUES_CLIST
    - gx_cpath_accum_begin
    - mark_as_idle
    - dmputs
    - set_cb_end
    - int2fixed
    - gx_path_free
    - gx_cpath_init_local
    - cmd_getfrac
    - gx_cpath_accum_end
    - mlprintf5
    - memcpy
    - gx_image_fill_masked
    - gx_path_add_flattened_accurate
    - return_error
    - bitmap_raster
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int clist_playback_band(clist_playback_action playback_action,\n                    gx_device_clist_reader
      *cdev, stream *s,\n                    gx_device *target, int x0, int y0, gs_memory_t
      * mem)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmd_code_to_depth
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2471,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2473,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2474,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2475,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2477,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2484,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2491,1
    - Dst: if_debug7
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2498,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2508,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - pcb
    - bits
    - for_pattern
    argTypes:
    - command_buf_t*
    - tile_slot*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2511
    functionName: read_set_tile_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - if_debug7
    - bitmap_raster
    - cmd_code_to_depth
    - cmd_getw
    linkageType: ''
    returnType: int
    signature: int read_set_tile_size(command_buf_t *pcb, tile_slot *bits, bool for_pattern)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: clist_bitmap_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2535,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2543,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2544,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2545,1
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2556,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2558,1
    - Dst: top_up_offset_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2580,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2586,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2587,1
    - Dst: set_cb_end
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2588,1
    - Dst: clist_rld_init
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2600,1
    - Dst: clist_cfd_init
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2609,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2619,1
    - Dst: cmd_read_short_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2623,1
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2627,1
    - Dst: bits_replicate_horizontally
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2630,1
    - Dst: bits_replicate_vertically
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2636,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2640,1
    - Dst: cmd_print_bits
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2641,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 8
    argNames:
    - pcb
    - bits
    - compress
    - pcls
    - tile
    - pslot
    - cdev
    - mem
    argTypes:
    - command_buf_t*
    - tile_slot*
    - int
    - gx_clist_state*
    - gx_strip_bitmap*
    - tile_slot**
    - gx_device_clist_reader*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2513
    functionDepth: 2
    functionLinenumber: 2513
    functionLinenumberEnd: 2645
    functionName: read_set_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - clist_rld_init
    - cmd_read_short_bits
    - gs_debug_c
    - cmd_getw
    - clist_cfd_init
    - cmd_read_data
    - clist_bitmap_bytes
    - cmd_print_bits
    - memmove
    - bits_replicate_horizontally
    - sgets
    - memset
    - top_up_offset_map
    - bits_replicate_vertically
    - if_debug2m
    - return_error
    - set_cb_end
    linkageType: ''
    returnType: int
    signature: "int read_set_bits(command_buf_t *pcb, tile_slot *bits, int compress,\n
      \             gx_clist_state *pcls, gx_strip_bitmap *tile, tile_slot **pslot,\n
      \             gx_device_clist_reader *cdev, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2653,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2662,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2664,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pht_buff
    - ht_size
    - mem
    argTypes:
    - ht_buff_t*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2670
      start: 2648
    functionDepth: 1
    functionLinenumber: 2648
    functionLinenumberEnd: 2670
    functionName: read_alloc_ht_buff
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_alloc_bytes
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int read_alloc_ht_buff(ht_buff_t * pht_buff, uint ht_size, gs_memory_t
      * mem)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2687,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2689,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2693,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2694,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2701,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2705,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2706,1
    - Dst: gx_ht_read_and_install
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2714,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2718,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 5
    argNames:
    - pht_buff
    - pcb
    - pgs
    - dev
    - mem
    argTypes:
    - ht_buff_t*
    - command_buf_t*
    - gs_gstate*
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2730
      start: 2673
    functionDepth: 4
    functionLinenumber: 2673
    functionLinenumberEnd: 2730
    functionName: read_ht_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - top_up_cbuf
    - emprintf
    - memcpy
    - return_error
    - gx_ht_read_and_install
    - enc_u_getw
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int read_ht_segment(\n    ht_buff_t *                 pht_buff,\n
      \   command_buf_t *             pcb,\n    gs_gstate *           pgs,\n    gx_device
      *                 dev,\n    gs_memory_t *               mem )"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2738,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2743,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2748,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2756,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2761,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2762,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2767,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2768,1
    - Dst: gx_set_line_width
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2769,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2774,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2775,1
    - Dst: gx_set_miter_limit
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2776,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2789,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2796,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2799,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2800,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2803,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2804,1
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2807,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2808,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 64
    argCount: 3
    argNames:
    - pcb
    - pgs
    - pnotes
    argTypes:
    - command_buf_t*
    - gs_gstate*
    - segment_notes*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2812
      start: 2732
    functionDepth: 2
    functionLinenumber: 2732
    functionLinenumberEnd: 2812
    functionName: read_set_misc2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - cmd_get_value
    - if_debug1m
    - cmd_getw
    - gx_set_miter_limit
    - if_debug3m
    - gx_set_line_width
    - if_debug6m
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int read_set_misc2(command_buf_t *pcb, gs_gstate *pgs, segment_notes
      *pnotes)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2826,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2833,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2837,1
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2840,1
    - Dst: gs_cspace_new_DeviceCMYK
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2843,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2847,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2849,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2851,1
    - Dst: gsicc_set_gscs_profile
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2864,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2866,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2869,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2874,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2886,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2888,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2889,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2897,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2898,1
    - Dst: alloc_indexed_map
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2903,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2905,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2913,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2916,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2917,1
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2925,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2932,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 89
    argCount: 4
    argNames:
    - pcb
    - pgs
    - cdev
    - mem
    argTypes:
    - command_buf_t*
    - gs_gstate*
    - gx_device_clist_reader*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2937
      start: 2814
    functionDepth: 3
    functionLinenumber: 2814
    functionLinenumberEnd: 2937
    functionName: read_set_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - gs_cspace_new_DeviceCMYK
    - gs_cspace_alloc
    - alloc_indexed_map
    - gs_rethrow
    - rc_decrement_cs
    - gsicc_adjust_profile_rc
    - gs_cspace_new_DeviceRGB
    - gsicc_profile_new
    - gs_note_error
    - gsicc_set_gscs_profile
    - rc_decrement_only_cs
    - cmd_getw
    - if_debug3m
    - cmd_read_data
    - gs_color_space_num_components
    - gs_cspace_build_ICC
    - memcpy
    - gs_alloc_string
    - gs_cspace_new_DeviceGray
    linkageType: ''
    returnType: int
    signature: "int read_set_color_space(command_buf_t *pcb, gs_gstate *pgs,\n                     gx_device_clist_reader
      *cdev, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2949,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2952,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2953,1
    - Dst: gx_image_type_t*::sget
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2954,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pcb
    - pic
    - pcs
    argTypes:
    - command_buf_t*
    - gs_image_common_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2939
    functionDepth: 2
    functionLinenumber: 2939
    functionLinenumberEnd: 2957
    functionName: read_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - top_up_cbuf
    - sbufptr
    - gx_image_type_t*::sget
    - s_init
    - sread_string
    linkageType: ''
    returnType: int
    signature: "int read_begin_image(command_buf_t *pcb, gs_image_common_t *pic,\n
      \                gs_color_space *pcs)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cmd_get_value
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2972,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2973,1
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2981,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2989,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2992,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2998,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxclrast.c:2999,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3012,1
    - Dst: gs_param_list_unserialize
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3013,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3018,1
    - Dst: gs_gstate_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3019,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3022,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3024,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 4
    argNames:
    - pcb
    - pgs
    - cdev
    - mem
    argTypes:
    - command_buf_t*
    - gs_gstate*
    - gx_device_clist_reader*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 2959
    functionDepth: 2
    functionLinenumber: 2959
    functionLinenumberEnd: 3029
    functionName: read_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - top_up_cbuf
    - cmd_get_value
    - if_debug1m
    - gs_param_list_unserialize
    - gs_alloc_bytes
    - gs_c_param_list_write
    - memmove
    - gs_gstate_putdeviceparams
    - sgets
    - gs_c_param_list_read
    - gs_note_error
    - gs_c_param_list_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int read_put_params(command_buf_t *pcb, gs_gstate *pgs,\n                gx_device_clist_reader
      *cdev, gs_memory_t *mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: top_up_cbuf
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3060,1
    - Dst: gs_find_compositor
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3067,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3068,1
    - Dst: gs_composite_type_t*::procs::read
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3071,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3075,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pcb
    - mem
    - ppcomp
    argTypes:
    - command_buf_t*
    - gs_memory_t*
    - gs_composite_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3081
      start: 3050
    functionDepth: 2
    functionLinenumber: 3050
    functionLinenumberEnd: 3081
    functionName: read_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - return_error
    - top_up_cbuf
    - gs_composite_type_t*::procs::read
    - gs_find_compositor
    linkageType: ''
    returnType: int
    signature: "int read_create_compositor(\n    command_buf_t *pcb,  gs_memory_t
      *mem, gs_composite_t **ppcomp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_composite_t*::type::procs::adjust_ctm
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3090,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3097,1
    - Dst: gs_composite_t*::type::procs::clist_compositor_read_update
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3115,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3121,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 7
    argNames:
    - cdev
    - pgs
    - mem
    - pcomp
    - x0
    - y0
    - ptarget
    argTypes:
    - gx_device_clist_reader*
    - gs_gstate*
    - gs_memory_t*
    - gs_composite_t*
    - int
    - int
    - gx_device**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3124
      start: 3083
    functionDepth: 1
    functionLinenumber: 3083
    functionLinenumberEnd: 3124
    functionName: apply_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - gs_composite_t*::type::procs::clist_compositor_read_update
    - gs_composite_t*::type::procs::adjust_ctm
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int apply_create_compositor(gx_device_clist_reader *cdev, gs_gstate
      *pgs,\n                                   gs_memory_t *mem, gs_composite_t *pcomp,\n
      \                                  int x0, int y0, gx_device **ptarget)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmd_read_data
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3142,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3153,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 7
    argNames:
    - pcb
    - data
    - tot_bytes
    - width_bytes
    - height
    - raster
    - cbp
    argTypes:
    - command_buf_t*
    - byte*
    - int
    - int
    - int
    - uint
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3135
    functionDepth: 1
    functionLinenumber: 3135
    functionLinenumberEnd: 3172
    functionName: cmd_read_short_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 2
    functionsReached:
    - cmd_read_data
    - memmove
    linkageType: ''
    returnType: byte
    signature: "byte *\ncmd_read_short_bits(command_buf_t *pcb, byte *data, int tot_bytes,\n
      \                   int width_bytes, int height, uint raster, const byte *cbp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3178,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3182,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3184,1
    - Dst: cmd_getw
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - op
    - prect
    - cbp
    argTypes:
    - int
    - gx_cmd_rect*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3175
    functionDepth: 1
    functionLinenumber: 3175
    functionLinenumberEnd: 3191
    functionName: cmd_read_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - cmd_getw
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_read_rect(int op, gx_cmd_rect * prect, const byte * cbp)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3216,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3217,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3218,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3222,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3225,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3228,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3247,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3248,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3249,1
    - Dst: gx_set_identity_transfer
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3253,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3260,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3265,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3269,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3276,1
    - Dst: gx_set_identity_transfer
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3279,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 86
    argCount: 7
    argNames:
    - map_index
    - cont
    - pgs
    - pcomp_num
    - pmdata
    - pcount
    - mem
    argTypes:
    - cmd_map_index
    - cmd_map_contents
    - gs_gstate*
    - int**
    - frac**
    - uint*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3293
    functionName: cmd_select_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - rc_unshare_struct
    - gx_set_identity_transfer
    - rc_decrement
    - return_error
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int cmd_select_map(cmd_map_index map_index, cmd_map_contents cont,\n
      \              gs_gstate * pgs, int ** pcomp_num, frac ** pmdata,\n               uint
      * pcount, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3305,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - ppdht
    - mem
    argTypes:
    - gx_device_halftone**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3296
    functionDepth: 1
    functionLinenumber: 3296
    functionLinenumberEnd: 3313
    functionName: cmd_create_dev_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 0
    functionsReached:
    - return_error
    - memset
    - rc_alloc_struct_1
    linkageType: ''
    returnType: int
    signature: int cmd_create_dev_ht(gx_device_halftone **ppdht, gs_memory_t *mem)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: cmd_create_dev_ht
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3320,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3338,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3340,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3343,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3347,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3353,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3358,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3361,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3362,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - ppdht
    - num_comp
    - mem
    argTypes:
    - gx_device_halftone**
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3316
    functionDepth: 2
    functionLinenumber: 3316
    functionLinenumberEnd: 3369
    functionName: cmd_resize_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - gx_ht_order_release
    - cmd_create_dev_ht
    - gs_resize_object
    - memset
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int cmd_resize_halftone(gx_device_halftone **ppdht, uint num_comp,\n
      \                   gs_memory_t * mem)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3378,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3379,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3391,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3394,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3397,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3400,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3403,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3406,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3408,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3411,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3412,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3416,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3419,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3420,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3422,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3426,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3431,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3475,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3482,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3490,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3491,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 98
    argCount: 7
    argNames:
    - ppath
    - op
    - vs
    - ppos
    - x0
    - y0
    - notes
    argTypes:
    - gx_path*
    - int
    - fixed[]
    - gs_fixed_point*
    - int
    - int
    - segment_notes
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3493
      start: 3374
    functionDepth: 2
    functionLinenumber: 3374
    functionLinenumberEnd: 3493
    functionName: clist_decode_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - gx_path_add_curve_notes
    - gx_path_current_point
    - gx_path_add_gap_notes
    - gx_path_add_point
    - gx_path_add_line_notes
    - return_error
    - gx_path_close_subpath
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clist_decode_segment(gx_path * ppath, int op, fixed vs[6],\n                 gs_fixed_point
      * ppos, int x0, int y0, segment_notes notes)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3520,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3526,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3531,1
    - Dst: fill
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3535,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxclrast.c:3538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 4
    argNames:
    - dev
    - ppath
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gx_path*
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3502
    functionDepth: 3
    functionLinenumber: 3502
    functionLinenumberEnd: 3540
    functionName: clist_do_polyfill
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrast.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - dev_proc_fill_parallelogram
    - gx_path_new
    - fill
    linkageType: ''
    returnType: int
    signature: "int clist_do_polyfill(gx_device *dev, gx_path *ppath,\n                  const
      gx_drawing_color *pdcolor,\n                  gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:39,1
    - Dst: s_init_ids
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:42,1
    - Dst: s_disable
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - cname
    argTypes:
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: file_alloc_stream
    functionSourceFile: /src/libspectre/ghostscript/base/sfxcommon.c
    functionUses: 2
    functionsReached:
    - s_alloc
    - s_disable
    - s_init_ids
    linkageType: ''
    returnType: stream
    signature: 'stream *

      file_alloc_stream(gs_memory_t * mem, client_name_t cname)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:71,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:72,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:73,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:74,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:74,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:79,1
    - Dst: file_prepare_stream
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:80,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:88,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:89,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:98,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:99,1
    - Dst: file_init_stream
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 8
    argNames:
    - fname
    - len
    - file_access
    - buffer_size
    - ps
    - iodev
    - fopen_proc
    - mem
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - stream**
    - gx_io_device*
    - iodev_proc_fopen_t
    - gs_memory_t*
    assertStmts:
    - condition: (strchr(file_access, gp_fmode_binary_suffix[0]) == NULL)
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/libspectre/ghostscript/base/sfxcommon.c
    constantsTouched: []
    func_position:
      end: 106
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 106
    functionName: file_open_stream
    functionSourceFile: /src/libspectre/ghostscript/base/sfxcommon.c
    functionUses: 1
    functionsReached:
    - file_prepare_stream
    - strlen
    - iodev_default
    - assert
    - file_init_stream
    - strchr
    - return_error
    - dmprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int file_open_stream(const char *fname, uint len, const char *file_access,\n
      \                uint buffer_size, stream ** ps, gx_io_device *iodev,\n                 iodev_proc_fopen_t
      fopen_proc, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: file_close_disable
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:115,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:131,1
    - Dst: s_disable
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:133,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:137,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:139,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 141
    functionName: file_close_file
    functionSourceFile: /src/libspectre/ghostscript/base/sfxcommon.c
    functionUses: 0
    functionsReached:
    - file_close_disable
    - sclose
    - s_disable
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int file_close_file(stream * s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: sappend_file
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:153,1
    - Dst: gp_file_is_char_buffered
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:159,1
    - Dst: sread_file
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:162,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - s
    - file
    - fmode
    - buffer
    - buffer_size
    argTypes:
    - stream*
    - gp_file*
    - char*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 173
    functionName: file_init_stream
    functionSourceFile: /src/libspectre/ghostscript/base/sfxcommon.c
    functionUses: 1
    functionsReached:
    - gp_file_is_char_buffered
    - sread_file
    - sappend_file
    - swrite_file
    linkageType: ''
    returnType: int
    signature: "int file_init_stream(stream *s, gp_file *file, const char *fmode,
      byte *buffer,\n                 uint buffer_size)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:187,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:188,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:192,1
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:195,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:197,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:199,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:201,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:202,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sfxcommon.c:205,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 7
    argNames:
    - fname
    - len
    - file_access
    - buffer_size
    - ps
    - fmode
    - mem
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - stream**
    - char[]
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 214
    functionName: file_prepare_stream
    functionSourceFile: /src/libspectre/ghostscript/base/sfxcommon.c
    functionUses: 1
    functionsReached:
    - strcat
    - gs_alloc_bytes
    - strcpy
    - memcpy
    - return_error
    - file_alloc_stream
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int file_prepare_stream(const char *fname, uint len, const char *file_access,\n
      \                uint buffer_size, stream ** ps, char fmode[4], gs_memory_t
      *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    functionName: private_st_jbig2decode_state
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jbig2decode_state()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:48,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:56,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:57,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:62,1
    - Dst: trace_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:63,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:67,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:68,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:68,1
    - Dst: mem_mono_strip_copy_rop_dev
      Src: /src/libspectre/ghostscript/base/gdevmr1.c:83,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 87
    functionName: mem_mono_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr1.c
    functionUses: 1
    functionsReached:
    - lop_sanitize
    - gs_debug_c
    - gdev_mem_mono_set_inverted
    - scan_line_base
    - trace_copy_rop
    - debug_dump_bitmap
    - mem_mono_strip_copy_rop_dev
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mem_mono_strip_copy_rop(gx_device * dev, const byte * sdata,\n
      \                       int sourcex,uint sraster, gx_bitmap_id id,\n                        const
      gx_color_index * scolors,\n                        const gx_strip_bitmap * textures,\n
      \                       const gx_color_index * tcolors,\n                        int
      x, int y, int width, int height,\n                        int phase_x, int phase_y,\n
      \                       gs_logical_operation_t lop)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:91,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:93,1
    - Dst: read
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:97,1
    - Dst: gp_OpenPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:99,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:100,1
    - Dst: StartDocPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:106,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:107,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:108,1
    - Dst: StartPagePrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:112,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:113,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:114,1
    - Dst: WritePrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:117,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:118,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:119,1
    - Dst: EndPagePrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:126,1
    - Dst: EndDocPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:127,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:128,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:132,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 136
    functionName: mswin_printer_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msprn.c
    functionUses: 0
    functionsReached:
    - ClosePrinter
    - read
    - EndDocPrinter
    - StartPagePrinter
    - close
    - gp_OpenPrinter
    - StartDocPrinter
    - AbortPrinter
    - EndPagePrinter
    - WritePrinter
    linkageType: ''
    returnType: void
    signature: void mswin_printer_thread(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:143,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 148
    functionName: mswin_printer_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msprn.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int mswin_printer_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 156
    functionName: mswin_printer_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msprn.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void mswin_printer_finit(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetVersion
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:162,1
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:172,1
    - Dst: gs_fs_list_t*::fs::open_printer
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:186,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:199,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:200,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:201,1
    - Dst: gp_OpenPrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:204,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:205,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:206,1
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:208,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:210,1
    - Dst: _pipe
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:213,1
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:214,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:216,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:216,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:219,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:219,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:221,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:222,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:223,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:223,1
    - Dst: _beginthread
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:227,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:229,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:231,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:232,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:238,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:238,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:239,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:241,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:243,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:251,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:252,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 7
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 255
    functionName: mswin_printer_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msprn.c
    functionUses: 0
    functionsReached:
    - _pipe
    - HIWORD
    - DuplicateHandle
    - ClosePrinter
    - gp_fwrite
    - gp_OpenPrinter
    - GetVersion
    - fdopen
    - gs_fopen_errno_to_code
    - gs_fs_list_t*::fs::open_printer
    - gp_validate_path
    - GetCurrentProcess
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - close
    - strncpy
    - gp_fclose
    - return_error
    - _beginthread
    - gp_file_dealloc
    linkageType: ''
    returnType: int
    signature: "int mswin_printer_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n                    gp_file ** pfile, char *rfname, uint rnamelen,
      gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:262,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:266,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_msprn.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 271
    functionName: mswin_printer_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msprn.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - gp_fclose
    - WaitForSingleObject
    linkageType: ''
    returnType: int
    signature: int mswin_printer_fclose(gx_io_device * iodev, gp_file * file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:89,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxshade6.c:93,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - pfs
    - memory
    argTypes:
    - patch_fill_state_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: allocate_color_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - return_error
    - offset_of
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int allocate_color_stack(patch_fill_state_t *pfs, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pfs
    - c
    - n
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: reserve_colors_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      reserve_colors_inline(patch_fill_state_t *pfs, patch_color_t *c[], int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfs
    - c
    - n
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: reserve_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - reserve_colors_inline
    linkageType: ''
    returnType: byte
    signature: 'byte *

      reserve_colors(patch_fill_state_t *pfs, patch_color_t *c[], int n)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxshade6.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pfs
    - ptr
    - n
    argTypes:
    - patch_fill_state_t*
    - byte*
    - int
    assertStmts:
    - condition: ((byte *)pfs->color_stack_ptr == ptr)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/libspectre/ghostscript/base/gxshade6.c
    constantsTouched: []
    func_position:
      end: 133
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 133
    functionName: release_colors_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void release_colors_inline(patch_fill_state_t *pfs, byte *ptr, int
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfs
    - ptr
    - n
    argTypes:
    - patch_fill_state_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: release_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - release_colors_inline
    linkageType: ''
    returnType: void
    signature: void release_colors(patch_fill_state_t *pfs, byte *ptr, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:149,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cs
    - curves
    - num_vertices
    argTypes:
    - shade_coord_stream_t*
    - patch_curve_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: shade_next_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - shade_next_color
    linkageType: ''
    returnType: int
    signature: "int shade_next_colors(shade_coord_stream_t * cs, patch_curve_t * curves,\n
      \                 int num_vertices)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade6.c:158,1
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade6.c:161,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxshade6.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cs
    - curve
    argTypes:
    - shade_coord_stream_t*
    - patch_curve_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 164
    functionName: shade_next_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - shade_next_coords
    - countof
    linkageType: ''
    returnType: int
    signature: int shade_next_curve(shade_coord_stream_t * cs, patch_curve_t * curve)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/base/gxshade6.c:174,1
    - Dst: shade_coord_stream_t*::is_eod
      Src: /src/libspectre/ghostscript/base/gxshade6.c:178,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:184,1
    - Dst: shade_next_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:186,1
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade6.c:187,1
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade6.c:201,1
    - Dst: shade_next_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:202,1
    - Dst: shade_next_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:203,1
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade6.c:205,1
    - Dst: shade_next_colors
      Src: /src/libspectre/ghostscript/base/gxshade6.c:206,1
    - Dst: shade_coord_stream_t*::align
      Src: /src/libspectre/ghostscript/base/gxshade6.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 4
    argNames:
    - cs
    - BitsPerFlag
    - curve
    - interior
    argTypes:
    - shade_coord_stream_t*
    - int
    - patch_curve_t[]
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 213
    functionName: shade_next_patch
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - shade_next_colors
    - shade_coord_stream_t*::align
    - shade_next_coords
    - shade_coord_stream_t*::is_eod
    - return_error
    - shade_next_curve
    - shade_next_flag
    linkageType: ''
    returnType: int
    signature: "int shade_next_patch(shade_coord_stream_t * cs, int BitsPerFlag,\n
      \       patch_curve_t curve[4], gs_fixed_point interior[4] /* 0 for Coons patch
      */ )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:220,1
    - Dst: gx_get_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:222,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: is_linear_color_applicable
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - colors_are_separable_and_linear
    - gx_get_cmap_procs
    linkageType: ''
    returnType: bool
    signature: bool is_linear_color_applicable(const patch_fill_state_t *pfs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: wedge_vertex_list_elem_buffer_alloc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:234,1
    - Dst: allocate_color_stack
      Src: /src/libspectre/ghostscript/base/gxshade6.c:239,1
    - Dst: gs_color_index_cache_create
      Src: /src/libspectre/ghostscript/base/gxshade6.c:245,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pfs
    - memory
    - pcs
    argTypes:
    - patch_fill_state_t*
    - gs_memory_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 250
    functionName: alloc_patch_fill_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - return_error
    - allocate_color_stack
    - gs_color_index_cache_create
    - wedge_vertex_list_elem_buffer_alloc
    linkageType: ''
    returnType: int
    signature: int alloc_patch_fill_memory(patch_fill_state_t *pfs, gs_memory_t *memory,
      const gs_color_space *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:264,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:265,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:267,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxshade6.c:276,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:276,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:278,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxshade6.c:282,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:287,1
    - Dst: is_linear_color_applicable
      Src: /src/libspectre/ghostscript/base/gxshade6.c:293,1
    - Dst: alloc_patch_fill_memory
      Src: /src/libspectre/ghostscript/base/gxshade6.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 252
    functionDepth: 3
    functionLinenumber: 252
    functionLinenumberEnd: 295
    functionName: init_patch_fill_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - alloc_patch_fill_memory
    - max
    - gs_color_space*::type::restrict_color
    - is_linear_color_applicable
    - min
    linkageType: ''
    returnType: int
    signature: int init_patch_fill_state(patch_fill_state_t *pfs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: wedge_vertex_list_elem_buffer_free
      Src: /src/libspectre/ghostscript/base/gxshade6.c:302,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxshade6.c:305,1
    - Dst: gs_color_index_cache_destroy
      Src: /src/libspectre/ghostscript/base/gxshade6.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 309
    functionName: term_patch_fill_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - gs_color_index_cache_destroy
    - wedge_vertex_list_elem_buffer_free
    - gs_free_object
    linkageType: ''
    returnType: bool
    signature: bool term_patch_fill_state(patch_fill_state_t *pfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gxshade6.c:318,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:319,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppcr
    - pfs
    argTypes:
    - patch_color_t*
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 321
    functionName: patch_resolve_color_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - gs_function_evaluate
    - gs_color_space*::type::restrict_color
    linkageType: ''
    returnType: void
    signature: void patch_resolve_color_inline(patch_color_t * ppcr, const patch_fill_state_t
      *pfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppcr
    - pfs
    argTypes:
    - patch_color_t*
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 327
    functionName: patch_resolve_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_resolve_color_inline
    linkageType: ''
    returnType: void
    signature: void patch_resolve_color(patch_color_t * ppcr, const patch_fill_state_t
      *pfs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 5
    argNames:
    - ppcr
    - ppc0
    - ppc1
    - pfs
    - t
    argTypes:
    - patch_color_t*
    - patch_color_t*
    - patch_color_t*
    - patch_fill_state_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 351
    functionName: patch_interpolate_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_resolve_color_inline
    linkageType: ''
    returnType: void
    signature: "void patch_interpolate_color(patch_color_t * ppcr, const patch_color_t
      * ppc0,\n       const patch_color_t * ppc1, const patch_fill_state_t *pfs, double
      t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxshade6.c:389,1
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxshade6.c:393,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxshade6.c:396,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxshade6.c:396,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxshade6.c:397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - pt
    - p0
    - p1
    - p2
    - p3
    - t
    argTypes:
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 398
    functionName: curve_eval
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - curve_points_to_coefficients
    - if_debug3
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void curve_eval(gs_fixed_point * pt, const gs_fixed_point * p0,\n
      \          const gs_fixed_point * p1, const gs_fixed_point * p2,\n           const
      gs_fixed_point * p3, double t)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: curve_eval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:410,1
    - Dst: curve_eval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:413,1
    - Dst: curve_eval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:416,1
    - Dst: curve_eval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:419,1
    - Dst: COMPUTE_COORD
      Src: /src/libspectre/ghostscript/base/gxshade6.c:429,1
    - Dst: COMPUTE_COORD
      Src: /src/libspectre/ghostscript/base/gxshade6.c:430,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:432,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxshade6.c:433,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxshade6.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 5
    argNames:
    - pt
    - curve
    - ignore_interior
    - u
    - v
    argTypes:
    - gs_fixed_point*
    - patch_curve_t[]
    - gs_fixed_point[]
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: Cp_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - curve_eval
    - COMPUTE_COORD
    - if_debug4
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void Cp_transform(gs_fixed_point * pt, const patch_curve_t curve[4],\n
      \            const gs_fixed_point ignore_interior[4], double u, double v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 429
    functionName: COMPUTE_COORD
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPUTE_COORD(xy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mesh_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:447,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade6.c:450,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:454,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade6.c:456,1
    - Dst: shade_next_init
      Src: /src/libspectre/ghostscript/base/gxshade6.c:461,1
    - Dst: shade_next_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:462,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade6.c:464,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:468,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:469,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade6.c:470,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:471,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 436
    functionDepth: 4
    functionLinenumber: 436
    functionLinenumberEnd: 472
    functionName: gs_shading_Cp_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - shade_next_init
    - term_patch_fill_state
    - init_patch_fill_state
    - patch_fill
    - return_error
    - gsicc_release_link
    - mesh_init_fill_state
    - min
    - shade_next_patch
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Cp_fill_rectangle(const gs_shading_t * psh0, const
      gs_rect * rect,\n                             const gs_fixed_rect * rect_clip,\n
      \                            gx_device * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 5
    argNames:
    - pt
    - curve
    - interior
    - u
    - v
    argTypes:
    - gs_fixed_point*
    - patch_curve_t[]
    - gs_fixed_point[]
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 523
    functionName: Tpp_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Tpp_transform(gs_fixed_point * pt, const patch_curve_t curve[4],\n
      \             const gs_fixed_point interior[4], double u, double v)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mesh_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:537,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade6.c:540,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:544,1
    - Dst: shade_next_init
      Src: /src/libspectre/ghostscript/base/gxshade6.c:548,1
    - Dst: shade_next_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:549,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade6.c:561,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade6.c:565,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:566,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade6.c:567,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 525
    functionDepth: 4
    functionLinenumber: 525
    functionLinenumberEnd: 569
    functionName: gs_shading_Tpp_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - shade_next_init
    - term_patch_fill_state
    - init_patch_fill_state
    - patch_fill
    - return_error
    - gsicc_release_link
    - mesh_init_fill_state
    - min
    - shade_next_patch
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Tpp_fill_rectangle(const gs_shading_t * psh0, const
      gs_rect * rect,\n                             const gs_fixed_rect * rect_clip,\n
      \                             gx_device * dev, gs_gstate * pgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxshade6.c:674,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 682
    functionName: wedge_vertex_list_elem_buffer_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int wedge_vertex_list_elem_buffer_alloc(patch_fill_state_t *pfs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxshade6.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 684
    functionDepth: 0
    functionLinenumber: 684
    functionLinenumberEnd: 693
    functionName: wedge_vertex_list_elem_buffer_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void wedge_vertex_list_elem_buffer_free(patch_fill_state_t *pfs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pfs
    argTypes:
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 707
    functionName: wedge_vertex_list_elem_reserve
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wedge_vertex_list_elem_t
    signature: 'wedge_vertex_list_elem_t *

      wedge_vertex_list_elem_reserve(patch_fill_state_t *pfs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pfs
    - e
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 714
    functionName: wedge_vertex_list_elem_release
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wedge_vertex_list_elem_release(patch_fill_state_t *pfs, wedge_vertex_list_elem_t
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wedge_vertex_list_elem_release
      Src: /src/libspectre/ghostscript/base/gxshade6.c:726,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfs
    - beg
    - end
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_elem_t*
    - wedge_vertex_list_elem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: release_wedge_vertex_list_interval
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - wedge_vertex_list_elem_release
    linkageType: ''
    returnType: void
    signature: "void release_wedge_vertex_list_interval(patch_fill_state_t *pfs,\n
      \   wedge_vertex_list_elem_t *beg, wedge_vertex_list_elem_t *end)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:740,1
    - Dst: release_wedge_vertex_list_interval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:741,1
    - Dst: wedge_vertex_list_elem_release
      Src: /src/libspectre/ghostscript/base/gxshade6.c:742,1
    - Dst: wedge_vertex_list_elem_release
      Src: /src/libspectre/ghostscript/base/gxshade6.c:743,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:746,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pfs
    - ll
    - n
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 749
    functionName: release_wedge_vertex_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - return_error
    - wedge_vertex_list_elem_release
    - release_wedge_vertex_list_interval
    linkageType: ''
    returnType: int
    signature: int release_wedge_vertex_list(patch_fill_state_t *pfs, wedge_vertex_list_t
      *ll, int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - beg
    - end
    - level
    argTypes:
    - wedge_vertex_list_elem_t*
    - wedge_vertex_list_elem_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 763
    functionName: wedge_vertex_list_find
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wedge_vertex_list_elem_t
    signature: "wedge_vertex_list_elem_t *\nwedge_vertex_list_find(wedge_vertex_list_elem_t
      *beg, const wedge_vertex_list_elem_t *end,\n            int level)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxshade6.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - l
    - n
    argTypes:
    - wedge_vertex_list_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 765
    functionDepth: 0
    functionLinenumber: 765
    functionLinenumberEnd: 769
    functionName: init_wedge_vertex_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void init_wedge_vertex_list(wedge_vertex_list_t *l, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:789,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:793,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:793,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:794,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:794,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:795,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:795,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:800,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:801,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:805,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:805,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - pfs
    - pole
    - pole_step
    - fixed_flat
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point*
    - int
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 809
    functionName: curve_samples
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - gx_curve_log2_samples
    - any_abs
    - ilog2
    - max
    linkageType: ''
    returnType: int
    signature: "int curve_samples(patch_fill_state_t *pfs,\n                const
      gs_fixed_point *pole, int pole_step, fixed fixed_flat)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_intersect_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - q
    - i0
    - i1
    - i2
    - i3
    - ry
    - ey
    argTypes:
    - gs_fixed_point[]
    - int
    - int
    - int
    - int
    - fixed*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 816
    functionName: intersection_of_small_bars
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - gx_intersect_small_bars
    linkageType: ''
    returnType: bool
    signature: bool intersection_of_small_bars(const gs_fixed_point q[4], int i0,
      int i1, int i2, int i3, fixed *ry, fixed *ey)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - b
    - swap_axes
    argTypes:
    - fixed*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 832
    functionName: adjust_swapped_boundary
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void adjust_swapped_boundary(fixed *b, bool swap_axes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: adjust_swapped_boundary
      Src: /src/libspectre/ghostscript/base/gxshade6.c:850,1
    - Dst: adjust_swapped_boundary
      Src: /src/libspectre/ghostscript/base/gxshade6.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 11
    argNames:
    - q
    - vi0
    - vi1
    - vi2
    - vi3
    - ybot
    - ytop
    - swap_axes
    - orient
    - le
    - re
    argTypes:
    - gs_fixed_point[]
    - int
    - int
    - int
    - int
    - fixed
    - fixed
    - bool
    - bool
    - gs_fixed_edge*
    - gs_fixed_edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 852
    functionName: make_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - adjust_swapped_boundary
    linkageType: ''
    returnType: void
    signature: "void make_trapezoid(const gs_fixed_point q[4],\n        int vi0, int
      vi1, int vi2, int vi3, fixed ybot, fixed ytop,\n        bool swap_axes, bool
      orient, gs_fixed_edge *le, gs_fixed_edge *re)"
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:861,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:862,1
    - Dst: make_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:872,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:944,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:944,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:945,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:945,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1135,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1140,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1146,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1158,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1163,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1168,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1183,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1201,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1215,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1227,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1241,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1253,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1264,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1269,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 241
    argCount: 11
    argNames:
    - pfs
    - q
    - vi0
    - vi1
    - vi2
    - vi3
    - ybot0
    - ytop0
    - swap_axes
    - pdevc
    - orient
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point[]
    - int
    - int
    - int
    - int
    - fixed
    - fixed
    - bool
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 854
    functionDepth: 2
    functionLinenumber: 854
    functionLinenumberEnd: 1271
    functionName: gx_shade_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - make_trapezoid
    - min
    - dev_proc
    - max
    linkageType: ''
    returnType: int
    signature: "int gx_shade_trapezoid(patch_fill_state_t *pfs, const gs_fixed_point
      q[4],\n        int vi0, int vi1, int vi2, int vi3, fixed ybot0, fixed ytop0,\n
      \       bool swap_axes, const gx_device_color *pdevc, bool orient)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac31
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1294,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pfs
    - pdevc
    - fc
    argTypes:
    - patch_fill_state_t*
    - gx_device_color*
    - frac31[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1273
    functionDepth: 1
    functionLinenumber: 1273
    functionLinenumberEnd: 1297
    functionName: dc2fc31
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - cv2frac31
    linkageType: ''
    returnType: void
    signature: "void dc2fc31(const patch_fill_state_t *pfs, gx_device_color *pdevc,\n
      \           frac31 fc[GX_DEVICE_COLOR_MAX_COMPONENTS])"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_cached_color_index
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1351,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1366,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1368,1
    - Dst: dc2fc31
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1376,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1380,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - pfs
    - c
    - pdevc
    - frac_values
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - gx_device_color*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1301
    functionDepth: 2
    functionLinenumber: 1301
    functionLinenumberEnd: 1397
    functionName: patch_color_to_device_color_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - dc2fc31
    - gs_cached_color_index
    - memcpy
    - return_error
    - gs_color_space*::type::remap_color
    linkageType: ''
    returnType: int
    signature: "int patch_color_to_device_color_inline(const patch_fill_state_t *pfs,\n
      \                                  const patch_color_t *c, gx_device_color *pdevc,\n
      \                                  frac31 *frac_values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfs
    - c
    - pdevc
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1403
    functionName: patch_color_to_device_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_color_to_device_color_inline
    linkageType: ''
    returnType: int
    signature: int patch_color_to_device_color(const patch_fill_state_t *pfs, const
      patch_color_t *c, gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1412,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1414,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pfs
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1416
    functionName: color_span
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - any_abs
    - max
    linkageType: ''
    returnType: double
    signature: double color_span(const patch_fill_state_t *pfs, const patch_color_t
      *c0, const patch_color_t *c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pfs
    - c0
    - c1
    - d
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1418
    functionDepth: 0
    functionLinenumber: 1418
    functionLinenumberEnd: 1425
    functionName: color_diff
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void color_diff(const patch_fill_state_t *pfs, const patch_color_t
      *c0, const patch_color_t *c1, patch_color_t *d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1433,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1435,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfs
    - c
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1437
    functionName: color_norm
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - any_abs
    - max
    linkageType: ''
    returnType: double
    signature: double color_norm(const patch_fill_state_t *pfs, const patch_color_t
      *c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_is_monotonic
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pfs
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1462
    functionName: isnt_color_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - gs_function_is_monotonic
    linkageType: ''
    returnType: int
    signature: int isnt_color_monotonic(const patch_fill_state_t *pfs, const patch_color_t
      *c0, const patch_color_t *c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1467,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ybot
    - ytop
    argTypes:
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1468
    functionName: covers_pixel_centers
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fixed_pixround
    linkageType: ''
    returnType: bool
    signature: bool covers_pixel_centers(fixed ybot, fixed ytop)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1482,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 7
    argNames:
    - pfs
    - le
    - re
    - ybot
    - ytop
    - swap_axes
    - c
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1470
    functionDepth: 3
    functionLinenumber: 1470
    functionLinenumberEnd: 1487
    functionName: constant_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_color_to_device_color_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int constant_color_trapezoid(patch_fill_state_t *pfs, gs_fixed_edge
      *le, gs_fixed_edge *re,\n        fixed ybot, fixed ytop, bool swap_axes, const
      patch_color_t *c)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1501,1
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1504,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1508,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - pfs
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1518
      start: 1489
    functionDepth: 2
    functionLinenumber: 1489
    functionLinenumberEnd: 1518
    functionName: function_linearity
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_resolve_color_inline
    - count_of
    - any_abs
    linkageType: ''
    returnType: float
    signature: float function_linearity(const patch_fill_state_t *pfs, const patch_color_t
      *c0, const patch_color_t *c1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: function_linearity
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1528,1
    - Dst: cs_is_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1534,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - pfs
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1520
    functionDepth: 3
    functionLinenumber: 1520
    functionLinenumberEnd: 1540
    functionName: is_color_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - cs_is_linear
    - function_linearity
    linkageType: ''
    returnType: int
    signature: int is_color_linear(const patch_fill_state_t *pfs, const patch_color_t
      *c0, const patch_color_t *c1)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1559,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1560,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1561,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1562,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1564,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1565,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1566,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1567,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1570,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1577,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1579,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1583,1
    - Dst: constant_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1585,1
    - Dst: isnt_color_monotonic
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1591,1
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1598,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1610,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1620,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1621,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1628,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1633,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1636,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1639,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1651,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1656,1
    - Dst: decompose_linear_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1659,1
    - Dst: decompose_linear_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1661,1
    - Dst: constant_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1663,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1669,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 104
    argCount: 8
    argNames:
    - pfs
    - le
    - re
    - ybot
    - ytop
    - swap_axes
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1542
    functionDepth: 4
    functionLinenumber: 1542
    functionLinenumberEnd: 1671
    functionName: decompose_linear_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - is_color_linear
    - color_span
    - reserve_colors_inline
    - patch_interpolate_color
    - constant_color_trapezoid
    - decompose_linear_color
    - patch_color_to_device_color_inline
    - isnt_color_monotonic
    - max
    - rect_intersect
    - memset
    - release_colors_inline
    - return_error
    - gs_note_error
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int decompose_linear_color(patch_fill_state_t *pfs, gs_fixed_edge
      *le, gs_fixed_edge *re,\n        fixed ybot, fixed ytop, bool swap_axes, const
      patch_color_t *c0,\n        const patch_color_t *c1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1681,1
    - Dst: decompose_linear_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 12
    argNames:
    - pfs
    - q
    - i0
    - i1
    - i2
    - i3
    - ybot
    - ytop
    - swap_axes
    - c0
    - c1
    - orient
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point[]
    - int
    - int
    - int
    - int
    - fixed
    - fixed
    - bool
    - patch_color_t*
    - patch_color_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1673
    functionDepth: 5
    functionLinenumber: 1673
    functionLinenumberEnd: 1683
    functionName: linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - decompose_linear_color
    - make_trapezoid
    linkageType: ''
    returnType: int
    signature: "int linear_color_trapezoid(patch_fill_state_t *pfs, gs_fixed_point
      q[4], int i0, int i1, int i2, int i3,\n                fixed ybot, fixed ytop,
      bool swap_axes, const patch_color_t *c0, const patch_color_t *c1,\n                bool
      orient)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: covers_pixel_centers
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1694,1
    - Dst: linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1702,1
    - Dst: linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1707,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 8
    argNames:
    - pfs
    - q
    - ybot
    - ytop
    - c0
    - c1
    - swap_axes
    - self_intersecting
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point[]
    - fixed
    - fixed
    - patch_color_t*
    - patch_color_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1685
    functionDepth: 6
    functionLinenumber: 1685
    functionLinenumberEnd: 1709
    functionName: wedge_trap_decompose
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - covers_pixel_centers
    - linear_color_trapezoid
    linkageType: ''
    returnType: int
    signature: "int wedge_trap_decompose(patch_fill_state_t *pfs, gs_fixed_point q[4],\n
      \       fixed ybot, fixed ytop, const patch_color_t *c0, const patch_color_t
      *c1,\n        bool swap_axes, bool self_intersecting)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wedge_trap_decompose
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 9
    argNames:
    - pfs
    - p0
    - p1
    - q0
    - q1
    - c0
    - c1
    - swap_axes
    - self_intersecting
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - patch_color_t*
    - patch_color_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1711
    functionDepth: 7
    functionLinenumber: 1711
    functionLinenumberEnd: 1735
    functionName: fill_wedge_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - wedge_trap_decompose
    linkageType: ''
    returnType: int
    signature: "int fill_wedge_trap(patch_fill_state_t *pfs, const gs_fixed_point
      *p0, const gs_fixed_point *p1,\n            const gs_fixed_point *q0, const
      gs_fixed_point *q1, const patch_color_t *c0, const patch_color_t *c1,\n            bool
      swap_axes, bool self_intersecting)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1750,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1751,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1754,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1755,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1756,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1757,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1758,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1759,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1760,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1761,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1764,1
    - Dst: midpoint
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 4
    argNames:
    - pole
    - q0
    - q1
    - pole_step
    argTypes:
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1737
    functionDepth: 0
    functionLinenumber: 1737
    functionLinenumberEnd: 1769
    functionName: split_curve_s
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - midpoint
    linkageType: ''
    returnType: void
    signature: void split_curve_s(const gs_fixed_point *pole, gs_fixed_point *q0,
      gs_fixed_point *q1, int pole_step)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1750
    functionName: midpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: midpoint(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pole
    - q0
    - q1
    argTypes:
    - gs_fixed_point[]
    - gs_fixed_point[]
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1775
    functionName: split_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - split_curve_s
    linkageType: ''
    returnType: void
    signature: void split_curve(const gs_fixed_point pole[4], gs_fixed_point q0[4],
      gs_fixed_point q1[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - k
    argTypes:
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1778
    functionDepth: 0
    functionLinenumber: 1778
    functionLinenumberEnd: 1786
    functionName: do_swap_axes
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void do_swap_axes(gs_fixed_point *p, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1795,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1796,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - k
    argTypes:
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1799
    functionName: span_x
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: fixed
    signature: fixed span_x(const gs_fixed_point *p, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1808,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p
    - k
    argTypes:
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1812
      start: 1801
    functionDepth: 0
    functionLinenumber: 1801
    functionLinenumberEnd: 1812
    functionName: span_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: fixed
    signature: fixed span_y(const gs_fixed_point *p, int k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1818,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1818,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p0
    - p1
    argTypes:
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1815
    functionDepth: 1
    functionLinenumber: 1815
    functionLinenumberEnd: 1821
    functionName: manhattan_dist
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - any_abs
    - max
    linkageType: ''
    returnType: fixed
    signature: fixed manhattan_dist(const gs_fixed_point *p0, const gs_fixed_point
      *p1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1828,1
    - Dst: wedge_vertex_list_elem_reserve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1829,1
    - Dst: wedge_vertex_list_elem_reserve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1830,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1832,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1834,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - pfs
    - l
    - p0
    - p1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1842
    functionName: create_wedge_vertex_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - return_error
    - wedge_vertex_list_elem_reserve
    linkageType: ''
    returnType: int
    signature: "int create_wedge_vertex_list(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n        const gs_fixed_point *p0, const gs_fixed_point *p1)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: wedge_vertex_list_elem_reserve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1848,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1853,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1855,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1857,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1861,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1868,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1870,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1872,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1874,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pfs
    - l
    - p
    - r
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - gs_fixed_point*
    - wedge_vertex_list_elem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1844
    functionDepth: 1
    functionLinenumber: 1844
    functionLinenumberEnd: 1878
    functionName: insert_wedge_vertex_list_elem
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - wedge_vertex_list_elem_reserve
    - return_error
    - max
    linkageType: ''
    returnType: int
    signature: "int insert_wedge_vertex_list_elem(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n                              const gs_fixed_point *p, wedge_vertex_list_elem_t
      **r)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: create_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1890,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1895,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1897,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1899,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1901,1
    - Dst: insert_wedge_vertex_list_elem
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1902,1
    - Dst: create_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1907,1
    - Dst: insert_wedge_vertex_list_elem
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1910,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1916,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1918,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1920,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1922,1
    - Dst: insert_wedge_vertex_list_elem
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1924,1
    - Dst: wedge_vertex_list_find
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1929,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1930,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1932,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1934,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 53
    argCount: 6
    argNames:
    - pfs
    - l
    - p0
    - p1
    - pm
    - r
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - wedge_vertex_list_elem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1880
    functionDepth: 2
    functionLinenumber: 1880
    functionLinenumberEnd: 1940
    functionName: open_wedge_median
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - create_wedge_vertex_list
    - max
    - return_error
    - wedge_vertex_list_find
    - insert_wedge_vertex_list_elem
    linkageType: ''
    returnType: int
    signature: "int open_wedge_median(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n        const gs_fixed_point *p0, const gs_fixed_point *p1, const gs_fixed_point
      *pm,\n        wedge_vertex_list_elem_t **r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: open_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1951,1
    - Dst: open_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 7
    argNames:
    - pfs
    - l
    - l0
    - forth
    - p0
    - p1
    - pm
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    - bool
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1958
      start: 1942
    functionDepth: 3
    functionLinenumber: 1942
    functionLinenumberEnd: 1958
    functionName: make_wedge_median
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - open_wedge_median
    linkageType: ''
    returnType: int
    signature: "int make_wedge_median(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n        wedge_vertex_list_t *l0, bool forth,\n        const gs_fixed_point
      *p0, const gs_fixed_point *p1, const gs_fixed_point *pm)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fill_wedge_from_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1971,1
    - Dst: release_wedge_vertex_list_interval
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1974,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pfs
    - l
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1976
    functionName: close_wedge_median
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_wedge_from_list
    - release_wedge_vertex_list_interval
    linkageType: ''
    returnType: int
    signature: "int close_wedge_median(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n        const patch_color_t *c0, const patch_color_t *c1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - l
    - l0
    - forth
    argTypes:
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1978
    functionDepth: 0
    functionLinenumber: 1978
    functionLinenumberEnd: 1988
    functionName: move_wedge
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void move_wedge(wedge_vertex_list_t *l, const wedge_vertex_list_t *l0,
      bool forth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1996,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:1996,1
    - Dst: fill_wedge_trap
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2024,1
    - Dst: fill_wedge_trap
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2027,1
    - Dst: fill_wedge_trap
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2029,1
    - Dst: fill_wedge_trap
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2032,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 4
    argNames:
    - pfs
    - q0
    - q1
    - q2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2034
      start: 1990
    functionDepth: 8
    functionLinenumber: 1990
    functionLinenumberEnd: 2034
    functionName: fill_triangle_wedge_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_wedge_trap
    - any_abs
    linkageType: ''
    returnType: int
    signature: "int fill_triangle_wedge_aux(patch_fill_state_t *pfs,\n            const
      shading_vertex_t *q0, const shading_vertex_t *q1, const shading_vertex_t *q2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: function_linearity
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2057,1
    - Dst: function_linearity
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2060,1
    - Dst: function_linearity
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2063,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2067,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2068,1
    - Dst: cs_is_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2072,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2090,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2097,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2101,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2104,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 5
    argNames:
    - pfs
    - wedge
    - p0
    - p1
    - p2
    argTypes:
    - patch_fill_state_t*
    - bool
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2036
    functionDepth: 3
    functionLinenumber: 2036
    functionLinenumberEnd: 2114
    functionName: try_device_linear_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_color_to_device_color_inline
    - function_linearity
    - max
    - dev_proc
    - cs_is_linear
    linkageType: ''
    returnType: int
    signature: "int try_device_linear_color(patch_fill_state_t *pfs, bool wedge,\n
      \       const shading_vertex_t *p0, const shading_vertex_t *p1,\n        const
      shading_vertex_t *p2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_triangle_wedge_aux
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pfs
    - q0
    - q1
    - q2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2116
    functionDepth: 9
    functionLinenumber: 2116
    functionLinenumberEnd: 2130
    functionName: fill_triangle_wedge
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_triangle_wedge_aux
    linkageType: ''
    returnType: int
    signature: "int fill_triangle_wedge(patch_fill_state_t *pfs,\n            const
      shading_vertex_t *q0, const shading_vertex_t *q1, const shading_vertex_t *q2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2144,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2151,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2152,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - pfs
    - beg
    - end
    - mid
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_elem_t*
    - wedge_vertex_list_elem_t*
    - wedge_vertex_list_elem_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2132
    functionDepth: 10
    functionLinenumber: 2132
    functionLinenumberEnd: 2155
    functionName: fill_triangle_wedge_from_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_interpolate_color
    - reserve_colors_inline
    - fill_triangle_wedge
    - release_colors_inline
    - return_error
    linkageType: ''
    returnType: int
    signature: "int fill_triangle_wedge_from_list(patch_fill_state_t *pfs,\n    const
      wedge_vertex_list_elem_t *beg, const wedge_vertex_list_elem_t *end,\n    const
      wedge_vertex_list_elem_t *mid,\n    const patch_color_t *c0, const patch_color_t
      *c1)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2166,1
    - Dst: fill_triangle_wedge_from_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2169,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2175,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2178,1
    - Dst: wedge_vertex_list_find
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2185,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2186,1
    - Dst: fill_wedge_from_list_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2187,1
    - Dst: fill_wedge_from_list_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2189,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2192,1
    - Dst: fill_triangle_wedge_from_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2194,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2196,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 32
    argCount: 6
    argNames:
    - pfs
    - beg
    - end
    - level
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_elem_t*
    - wedge_vertex_list_elem_t*
    - int
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2157
    functionDepth: 11
    functionLinenumber: 2157
    functionLinenumberEnd: 2199
    functionName: fill_wedge_from_list_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - patch_interpolate_color
    - reserve_colors_inline
    - fill_triangle_wedge_from_list
    - release_colors_inline
    - return_error
    - fill_wedge_from_list_rec
    - wedge_vertex_list_find
    linkageType: ''
    returnType: int
    signature: "int fill_wedge_from_list_rec(patch_fill_state_t *pfs,\n            wedge_vertex_list_elem_t
      *beg, const wedge_vertex_list_elem_t *end,\n            int level, const patch_color_t
      *c0, const patch_color_t *c1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_wedge_from_list_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2205,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pfs
    - l
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2201
    functionDepth: 12
    functionLinenumber: 2201
    functionLinenumberEnd: 2207
    functionName: fill_wedge_from_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - fill_wedge_from_list_rec
    - max
    linkageType: ''
    returnType: int
    signature: "int fill_wedge_from_list(patch_fill_state_t *pfs, const wedge_vertex_list_t
      *l,\n            const patch_color_t *c0, const patch_color_t *c1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fill_wedge_from_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2214,1
    - Dst: release_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pfs
    - l
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - wedge_vertex_list_t*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2209
    functionDepth: 13
    functionLinenumber: 2209
    functionLinenumberEnd: 2221
    functionName: terminate_wedge_vertex_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_wedge_from_list
    - release_wedge_vertex_list
    linkageType: ''
    returnType: int
    signature: "int terminate_wedge_vertex_list(patch_fill_state_t *pfs, wedge_vertex_list_t
      *l,\n        const patch_color_t *c0, const patch_color_t *c1)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2231,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2234,1
    - Dst: split_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2236,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2242,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2243,1
    - Dst: wedge_by_triangles
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2247,1
    - Dst: wedge_by_triangles
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2250,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - pfs
    - ka
    - pole
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - int
    - gs_fixed_point[]
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2254
      start: 2223
    functionDepth: 10
    functionLinenumber: 2223
    functionLinenumberEnd: 2254
    functionName: wedge_by_triangles
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - split_curve
    - patch_interpolate_color
    - reserve_colors_inline
    - fill_triangle_wedge
    - wedge_by_triangles
    - release_colors_inline
    - return_error
    linkageType: ''
    returnType: int
    signature: "int wedge_by_triangles(patch_fill_state_t *pfs, int ka,\n        const
      gs_fixed_point pole[4], const patch_color_t *c0, const patch_color_t *c1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2264,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2264,1
    - Dst: adjust_swapped_boundary
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2301,1
    - Dst: adjust_swapped_boundary
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2302,1
    - Dst: decompose_linear_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 38
    argCount: 5
    argNames:
    - pfs
    - p0
    - p1
    - c0
    - c1
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point*
    - gs_fixed_point*
    - patch_color_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2310
      start: 2256
    functionDepth: 5
    functionLinenumber: 2256
    functionLinenumberEnd: 2310
    functionName: mesh_padding
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - decompose_linear_color
    - any_abs
    - adjust_swapped_boundary
    linkageType: ''
    returnType: int
    signature: "int mesh_padding(patch_fill_state_t *pfs, const gs_fixed_point *p0,
      const gs_fixed_point *p1,\n            const patch_color_t *c0, const patch_color_t
      *c1)"
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - r
    - p0
    - p1
    - p2
    - p3
    argTypes:
    - gs_fixed_rect*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2312
    functionDepth: 0
    functionLinenumber: 2312
    functionLinenumberEnd: 2349
    functionName: bbox_of_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void bbox_of_points(gs_fixed_rect *r,\n        const gs_fixed_point
      *p0, const gs_fixed_point *p1,\n        const gs_fixed_point *p2, const gs_fixed_point
      *p3)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bbox_of_points
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2367,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2373,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2382,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2383,1
    - Dst: split_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2384,1
    - Dst: fill_wedges_aux
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2385,1
    - Dst: fill_wedges_aux
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2387,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2388,1
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2393,1
    - Dst: wedge_by_triangles
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2398,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 7
    argNames:
    - pfs
    - k
    - ka
    - pole
    - c0
    - c1
    - wedge_type
    argTypes:
    - patch_fill_state_t*
    - int
    - int
    - gs_fixed_point[]
    - patch_color_t*
    - patch_color_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2401
      start: 2351
    functionDepth: 11
    functionLinenumber: 2351
    functionLinenumberEnd: 2401
    functionName: fill_wedges_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - split_curve
    - mesh_padding
    - patch_interpolate_color
    - reserve_colors_inline
    - bbox_of_points
    - rect_intersect
    - wedge_by_triangles
    - release_colors_inline
    - return_error
    - fill_wedges_aux
    linkageType: ''
    returnType: int
    signature: "int fill_wedges_aux(patch_fill_state_t *pfs, int k, int ka,\n        const
      gs_fixed_point pole[4], const patch_color_t *c0, const patch_color_t *c1,\n
      \       int wedge_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fill_wedges_aux
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - pfs
    - k0
    - k1
    - pole
    - pole_step
    - c0
    - c1
    - wedge_type
    argTypes:
    - patch_fill_state_t*
    - int
    - int
    - gs_fixed_point*
    - int
    - patch_color_t*
    - patch_color_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2423
      start: 2403
    functionDepth: 12
    functionLinenumber: 2403
    functionLinenumberEnd: 2423
    functionName: fill_wedges
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_wedges_aux
    linkageType: ''
    returnType: int
    signature: "int fill_wedges(patch_fill_state_t *pfs, int k0, int k1,\n        const
      gs_fixed_point *pole, int pole_step,\n        const patch_color_t *c0, const
      patch_color_t *c1,\n        int wedge_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - q
    - p
    argTypes:
    - gs_fixed_point[]
    - quadrangle_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2425
    functionDepth: 0
    functionLinenumber: 2425
    functionLinenumberEnd: 2432
    functionName: make_vertices
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_vertices(gs_fixed_point q[4], const quadrangle_patch *p)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - q
    - s
    argTypes:
    - gs_fixed_point[]
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2450
      start: 2434
    functionDepth: 0
    functionLinenumber: 2434
    functionLinenumberEnd: 2450
    functionName: wrap_vertices_by_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void wrap_vertices_by_y(gs_fixed_point q[4], const gs_fixed_point s[4])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2463,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2467,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2472,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2476,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2481,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2485,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - pfs
    - le
    - re
    - c
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2488
      start: 2452
    functionDepth: 3
    functionLinenumber: 2452
    functionLinenumberEnd: 2488
    functionName: ordered_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_color_to_device_color_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int ordered_triangle(patch_fill_state_t *pfs, gs_fixed_edge *le, gs_fixed_edge
      *re, patch_color_t *c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2499,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2502,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2503,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2504,1
    - Dst: ordered_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2517,1
    - Dst: ordered_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2519,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2525,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - pfs
    - p0
    - p1
    - p2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2490
    functionDepth: 4
    functionLinenumber: 2490
    functionLinenumberEnd: 2527
    functionName: constant_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_interpolate_color
    - reserve_colors_inline
    - release_colors_inline
    - return_error
    - ordered_triangle
    linkageType: ''
    returnType: int
    signature: "int constant_color_triangle(patch_fill_state_t *pfs,\n        const
      shading_vertex_t *p0, const shading_vertex_t *p1, const shading_vertex_t *p2)"
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2542,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2543,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2544,1
    - Dst: patch_color_to_device_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2545,1
    - Dst: make_vertices
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2550,1
    - Dst: span_x
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2555,1
    - Dst: span_y
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2556,1
    - Dst: do_swap_axes
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2558,1
    - Dst: wrap_vertices_by_y
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2562,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2577,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2579,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2581,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2583,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2592,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2594,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2596,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2598,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2605,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2606,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2608,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2610,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2612,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2614,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2616,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2618,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2621,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2622,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2624,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2626,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2628,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2630,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2632,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2634,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2637,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2638,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2640,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2642,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2644,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2645,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2646,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2648,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2650,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2652,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2654,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2656,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2658,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2661,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2663,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2665,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2667,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2669,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2670,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2672,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2674,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2676,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2678,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2680,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2682,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2684,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2687,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2688,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2690,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2692,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2694,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2696,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2698,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2700,1
    - Dst: intersection_of_small_bars
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2703,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2704,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2706,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2708,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2710,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2712,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2714,1
    - Dst: gx_shade_trapezoid
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2716,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2720,1
    CyclomaticComplexity: 80
    EdgeCount: 80
    ICount: 169
    argCount: 4
    argNames:
    - pfs
    - p
    - self_intersecting
    - c
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    - patch_color_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2529
    functionDepth: 3
    functionLinenumber: 2529
    functionLinenumberEnd: 2722
    functionName: constant_color_quadrangle_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - intersection_of_small_bars
    - do_swap_axes
    - patch_interpolate_color
    - span_y
    - patch_color_to_device_color_inline
    - wrap_vertices_by_y
    - gx_shade_trapezoid
    - make_vertices
    - return_error
    - span_x
    linkageType: ''
    returnType: int
    signature: "int constant_color_quadrangle_aux(patch_fill_state_t *pfs, const quadrangle_patch
      *p, bool self_intersecting,\n        patch_color_t *c[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2728,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2732,1
    - Dst: constant_color_quadrangle_aux
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2733,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2734,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pfs
    - p
    - self_intersecting
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2736
      start: 2724
    functionDepth: 4
    functionLinenumber: 2724
    functionLinenumberEnd: 2736
    functionName: constant_color_quadrangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - return_error
    - constant_color_quadrangle_aux
    - reserve_colors_inline
    - release_colors_inline
    linkageType: ''
    returnType: int
    signature: int constant_color_quadrangle(patch_fill_state_t *pfs, const quadrangle_patch
      *p, bool self_intersecting)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2748,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - pfs
    - s0
    - s1
    - q
    - p
    - c
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - quadrangle_patch*
    - shading_vertex_t[]
    - quadrangle_patch*
    - patch_color_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2756
      start: 2738
    functionDepth: 3
    functionLinenumber: 2738
    functionLinenumberEnd: 2756
    functionName: divide_quadrangle_by_v
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_interpolate_color
    linkageType: ''
    returnType: void
    signature: "void divide_quadrangle_by_v(patch_fill_state_t *pfs, quadrangle_patch
      *s0, quadrangle_patch *s1,\n            shading_vertex_t q[2], const quadrangle_patch
      *p, patch_color_t *c[2])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2768,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 6
    argNames:
    - pfs
    - s0
    - s1
    - q
    - p
    - c
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - quadrangle_patch*
    - shading_vertex_t[]
    - quadrangle_patch*
    - patch_color_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2758
    functionDepth: 3
    functionLinenumber: 2758
    functionLinenumberEnd: 2776
    functionName: divide_quadrangle_by_u
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_interpolate_color
    linkageType: ''
    returnType: void
    signature: "void divide_quadrangle_by_u(patch_fill_state_t *pfs, quadrangle_patch
      *s0, quadrangle_patch *s1,\n            shading_vertex_t q[2], const quadrangle_patch
      *p, patch_color_t *c[2])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isnt_color_monotonic
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2784,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pfs
    - p
    - not_monotonic_by_u
    - not_monotonic_by_v
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2793
      start: 2778
    functionDepth: 2
    functionLinenumber: 2778
    functionLinenumberEnd: 2793
    functionName: is_quadrangle_color_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - isnt_color_monotonic
    linkageType: ''
    returnType: int
    signature: "int is_quadrangle_color_monotonic(const patch_fill_state_t *pfs, const
      quadrangle_patch *p,\n                              bool *not_monotonic_by_u,
      bool *not_monotonic_by_v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - pfs
    - p0
    - p1
    - radix
    - p
    - c
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - int
    - shading_vertex_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2795
    functionDepth: 3
    functionLinenumber: 2795
    functionLinenumberEnd: 2804
    functionName: divide_bar
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - patch_interpolate_color
    linkageType: ''
    returnType: void
    signature: "void divide_bar(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, int radix, shading_vertex_t *p,\n        patch_color_t
      *c)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: bbox_of_points
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2822,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2824,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2828,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2830,1
    - Dst: try_device_linear_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2834,1
    - Dst: constant_color_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2843,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2847,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2848,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2849,1
    - Dst: constant_color_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2854,1
    - Dst: constant_color_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2858,1
    - Dst: constant_color_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2864,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2876,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2877,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2878,1
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2880,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2880,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2881,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2883,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2885,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2887,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2889,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2891,1
    - Dst: triangle_by_4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2894,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2897,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2898,1
    - Dst: triangle_by_4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2900,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2904,1
    - Dst: triangle_by_4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2905,1
    - Dst: triangle_by_4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2909,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2913,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2915,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2917,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2919,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2921,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2923,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2927,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 107
    argCount: 9
    argNames:
    - pfs
    - p0
    - p1
    - p2
    - l01
    - l12
    - l20
    - cd
    - sd
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    - double
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2929
      start: 2806
    functionDepth: 14
    functionLinenumber: 2806
    functionLinenumberEnd: 2929
    functionName: triangle_by_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - color_span
    - count_of
    - make_wedge_median
    - reserve_colors_inline
    - terminate_wedge_vertex_list
    - fill_triangle_wedge
    - bbox_of_points
    - try_device_linear_color
    - divide_bar
    - init_wedge_vertex_list
    - rect_intersect
    - move_wedge
    - constant_color_triangle
    - return_error
    - close_wedge_median
    - triangle_by_4
    - release_colors_inline
    linkageType: ''
    returnType: int
    signature: "int triangle_by_4(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, const shading_vertex_t *p2,\n        wedge_vertex_list_t
      *l01, wedge_vertex_list_t *l12, wedge_vertex_list_t *l20,\n        double cd,
      fixed sd)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2936,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2936,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2936,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2937,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2937,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2937,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2938,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2938,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2938,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2939,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2940,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2947,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2948,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2949,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2950,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2952,1
    - Dst: triangle_by_4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2954,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 7
    argNames:
    - pfs
    - p0
    - p1
    - p2
    - l01
    - l12
    - l20
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    - wedge_vertex_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2955
      start: 2931
    functionDepth: 15
    functionLinenumber: 2931
    functionLinenumberEnd: 2955
    functionName: fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 5
    functionsReached:
    - color_span
    - any_abs
    - triangle_by_4
    - max
    linkageType: ''
    returnType: int
    signature: "int fill_triangle(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, const shading_vertex_t *p2,\n        wedge_vertex_list_t
      *l01, wedge_vertex_list_t *l12, wedge_vertex_list_t *l20)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2964,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2964,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2965,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2968,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2971,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:2974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pfs
    - p0
    - p1
    - p2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2975
      start: 2957
    functionDepth: 16
    functionLinenumber: 2957
    functionLinenumberEnd: 2975
    functionName: small_mesh_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - count_of
    - init_wedge_vertex_list
    - fill_triangle
    - terminate_wedge_vertex_list
    linkageType: ''
    returnType: int
    signature: "int small_mesh_triangle(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, const shading_vertex_t *p2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3001,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3001,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3003,1
    - Dst: alloc_patch_fill_memory
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3022,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 3
    argNames:
    - dev
    - pfs
    - memory
    argTypes:
    - gx_device*
    - patch_fill_state_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3023
      start: 2977
    functionDepth: 3
    functionLinenumber: 2977
    functionLinenumberEnd: 3023
    functionName: gx_init_patch_fill_state_for_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - alloc_patch_fill_memory
    - min
    - max
    linkageType: ''
    returnType: int
    signature: int gx_init_patch_fill_state_for_clist(gx_device *dev, patch_fill_state_t
      *pfs, gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: small_mesh_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3066,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3027
    functionDepth: 17
    functionLinenumber: 3027
    functionLinenumberEnd: 3067
    functionName: gx_fill_triangle_small
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - small_mesh_triangle
    linkageType: ''
    returnType: int
    signature: "int gx_fill_triangle_small(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2,\n        const frac31 *c0, const frac31 *c1, const frac31
      *c2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_linear_color_applicable
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3073,1
    - Dst: manhattan_dist
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3074,1
    - Dst: manhattan_dist
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3075,1
    - Dst: manhattan_dist
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3076,1
    - Dst: small_mesh_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3077,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3092,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3095,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3099,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3100,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3101,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3102,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3104,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3106,1
    - Dst: mesh_triangle_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3108,1
    - Dst: mesh_triangle_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3110,1
    - Dst: mesh_triangle_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3112,1
    - Dst: mesh_triangle_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3114,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3115,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - pfs
    - p0
    - p1
    - p2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3118
      start: 3069
    functionDepth: 17
    functionLinenumber: 3069
    functionLinenumberEnd: 3118
    functionName: mesh_triangle_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - reserve_colors_inline
    - fill_triangle_wedge
    - small_mesh_triangle
    - divide_bar
    - manhattan_dist
    - is_linear_color_applicable
    - release_colors_inline
    - return_error
    - mesh_triangle_rec
    linkageType: ''
    returnType: int
    signature: "int mesh_triangle_rec(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, const shading_vertex_t *p2)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3124,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3136,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3137,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3139,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3141,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3143,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3145,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3147,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3148,1
    - Dst: mesh_triangle_rec
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3152,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pfs
    - p0
    - p1
    - p2
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3120
    functionDepth: 18
    functionLinenumber: 3120
    functionLinenumberEnd: 3153
    functionName: mesh_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 2
    functionsReached:
    - gx_path_free
    - gx_path_add_line
    - gx_path_init_local
    - gx_path_add_point
    - gx_path_close_subpath
    - dev_proc
    - mesh_triangle_rec
    linkageType: ''
    returnType: int
    signature: "int mesh_triangle(patch_fill_state_t *pfs,\n        const shading_vertex_t
      *p0, const shading_vertex_t *p1, const shading_vertex_t *p2)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3162,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3165,1
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3169,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3169,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3170,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3171,1
    - Dst: divide_bar
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3172,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3173,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3177,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3181,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3185,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3188,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3190,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3192,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3194,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3195,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - pfs
    - p
    - dummy_argument
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3155
    functionDepth: 16
    functionLinenumber: 3155
    functionLinenumberEnd: 3197
    functionName: triangles4
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - count_of
    - reserve_colors_inline
    - divide_bar
    - init_wedge_vertex_list
    - fill_triangle
    - release_colors_inline
    - return_error
    - terminate_wedge_vertex_list
    linkageType: ''
    returnType: int
    signature: int triangles4(patch_fill_state_t *pfs, const quadrangle_patch *p,
      bool dummy_argument)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3205,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3206,1
    - Dst: fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3210,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pfs
    - p
    - dummy_argument
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3217
      start: 3199
    functionDepth: 16
    functionLinenumber: 3199
    functionLinenumberEnd: 3217
    functionName: triangles2
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - fill_triangle
    - init_wedge_vertex_list
    - terminate_wedge_vertex_list
    linkageType: ''
    returnType: int
    signature: int triangles2(patch_fill_state_t *pfs, const quadrangle_patch *p,
      bool dummy_argument)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 4
    argNames:
    - p
    - qq
    - l
    - q
    argTypes:
    - tensor_patch*
    - shading_vertex_t[][]
    - wedge_vertex_list_t[]
    - quadrangle_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3219
    functionDepth: 0
    functionLinenumber: 3219
    functionLinenumberEnd: 3239
    functionName: make_quadrangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void make_quadrangle(const tensor_patch *p, shading_vertex_t qq[2][2],\n
      \       wedge_vertex_list_t l[4], quadrangle_patch *q)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3246,1
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfs
    - p
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3241
    functionDepth: 4
    functionLinenumber: 3241
    functionLinenumberEnd: 3250
    functionName: is_quadrangle_color_linear_by_u
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - is_color_linear
    linkageType: ''
    returnType: int
    signature: int is_quadrangle_color_linear_by_u(const patch_fill_state_t *pfs,
      const quadrangle_patch *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3257,1
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfs
    - p
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3261
      start: 3252
    functionDepth: 4
    functionLinenumber: 3252
    functionLinenumberEnd: 3261
    functionName: is_quadrangle_color_linear_by_v
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - is_color_linear
    linkageType: ''
    returnType: int
    signature: int is_quadrangle_color_linear_by_v(const patch_fill_state_t *pfs,
      const quadrangle_patch *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3268,1
    - Dst: is_color_linear
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3271,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfs
    - p
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3272
      start: 3263
    functionDepth: 4
    functionLinenumber: 3263
    functionLinenumberEnd: 3272
    functionName: is_quadrangle_color_linear_by_diagonals
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - is_color_linear
    linkageType: ''
    returnType: int
    signature: int is_quadrangle_color_linear_by_diagonals(const patch_fill_state_t
      *pfs, const quadrangle_patch *p)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: color_diff
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3291,1
    - Dst: color_diff
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3292,1
    - Dst: color_norm
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3293,1
    - Dst: color_norm
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3294,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3295,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3296,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3297,1
    - Dst: color_span
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3298,1
    - Dst: color_diff
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3321,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3322,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3323,1
    - Dst: color_norm
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3330,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 57
    argCount: 8
    argNames:
    - pfs
    - p
    - is_big_u
    - is_big_v
    - size_u
    - size_v
    - divide_u
    - divide_v
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    - bool
    - double
    - double
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3282
    functionDepth: 2
    functionLinenumber: 3282
    functionLinenumberEnd: 3358
    functionName: quadrangle_color_change
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - color_norm
    - max
    - color_diff
    - color_span
    linkageType: ''
    returnType: color_change_type_t
    signature: "color_change_type_t quadrangle_color_change(const patch_fill_state_t
      *pfs, const quadrangle_patch *p,\n                        bool is_big_u, bool
      is_big_v, double size_u, double size_v,\n                        bool *divide_u,
      bool *divide_v)"
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: bbox_of_points
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3379,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3381,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3390,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3390,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3390,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3391,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3392,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3392,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3393,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3394,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3394,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3394,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3395,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3396,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3396,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3397,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3415,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3416,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3417,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3418,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3419,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3420,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3421,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3422,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3423,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3423,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3423,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3424,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3424,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3424,1
    - Dst: is_quadrangle_color_monotonic
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3437,1
    - Dst: is_quadrangle_color_linear_by_u
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3455,1
    - Dst: is_quadrangle_color_linear_by_v
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3461,1
    - Dst: is_quadrangle_color_linear_by_diagonals
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3467,1
    - Dst: quadrangle_color_change
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3486,1
    - Dst: triangles4
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3496,1
    - Dst: triangles2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3503,1
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3519,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3522,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3525,1
    - Dst: divide_quadrangle_by_v
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3528,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3530,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3532,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3541,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3543,1
    - Dst: fill_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3546,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3550,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3551,1
    - Dst: fill_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3553,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3557,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3559,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3561,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3562,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3566,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3569,1
    - Dst: divide_quadrangle_by_u
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3572,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3574,1
    - Dst: make_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3576,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3585,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3587,1
    - Dst: fill_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3590,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3594,1
    - Dst: move_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3595,1
    - Dst: fill_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3597,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3601,1
    - Dst: close_wedge_median
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3603,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3605,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3606,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 197
    argCount: 3
    argNames:
    - pfs
    - p
    - big
    argTypes:
    - patch_fill_state_t*
    - quadrangle_patch*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3360
    functionDepth: 17
    functionLinenumber: 3360
    functionLinenumberEnd: 3616
    functionName: fill_quadrangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - reserve_colors_inline
    - max
    - move_wedge
    - release_colors_inline
    - divide_quadrangle_by_v
    - terminate_wedge_vertex_list
    - make_wedge_median
    - divide_quadrangle_by_u
    - rect_intersect
    - triangles2
    - is_quadrangle_color_linear_by_diagonals
    - is_quadrangle_color_linear_by_u
    - fill_triangle_wedge
    - fill_quadrangle
    - any_abs
    - is_quadrangle_color_monotonic
    - bbox_of_points
    - is_quadrangle_color_linear_by_v
    - init_wedge_vertex_list
    - quadrangle_color_change
    - triangles4
    - return_error
    - close_wedge_median
    linkageType: ''
    returnType: int
    signature: int fill_quadrangle(patch_fill_state_t *pfs, const quadrangle_patch
      *p, bool big)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3624,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3625,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3626,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3627,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3632,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - pfs
    - s0
    - s1
    - p
    - c
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    - tensor_patch*
    - tensor_patch*
    - patch_color_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3619
    functionDepth: 3
    functionLinenumber: 3619
    functionLinenumberEnd: 3636
    functionName: split_stripe
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - split_curve_s
    - patch_interpolate_color
    linkageType: ''
    returnType: void
    signature: void split_stripe(patch_fill_state_t *pfs, tensor_patch *s0, tensor_patch
      *s1, const tensor_patch *p, patch_color_t *c[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3644,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3645,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3646,1
    - Dst: split_curve_s
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3647,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3652,1
    - Dst: patch_interpolate_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 5
    argNames:
    - pfs
    - s0
    - s1
    - p
    - c
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    - tensor_patch*
    - tensor_patch*
    - patch_color_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3656
      start: 3639
    functionDepth: 3
    functionLinenumber: 3639
    functionLinenumberEnd: 3656
    functionName: split_patch
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - split_curve_s
    - patch_interpolate_color
    linkageType: ''
    returnType: void
    signature: void split_patch(patch_fill_state_t *pfs, tensor_patch *s0, tensor_patch
      *s1, const tensor_patch *p, patch_color_t *c[2])
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - r
    - p
    argTypes:
    - gs_fixed_rect*
    - tensor_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3679
      start: 3658
    functionDepth: 0
    functionLinenumber: 3658
    functionLinenumberEnd: 3679
    functionName: tensor_patch_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tensor_patch_bbox(gs_fixed_rect *r, const tensor_patch *p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: tensor_patch_bbox
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3694,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3696,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3703,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3705,1
    - Dst: split_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3706,1
    - Dst: decompose_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3707,1
    - Dst: decompose_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3709,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3710,1
    - Dst: init_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3719,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3719,1
    - Dst: make_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3720,1
    - Dst: fill_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3724,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3728,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3731,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3734,1
    - Dst: terminate_wedge_vertex_list
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3737,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 3
    argNames:
    - pfs
    - p
    - ku
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3743
      start: 3681
    functionDepth: 18
    functionLinenumber: 3681
    functionLinenumberEnd: 3743
    functionName: decompose_stripe
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - tensor_patch_bbox
    - split_stripe
    - count_of
    - reserve_colors_inline
    - fill_quadrangle
    - init_wedge_vertex_list
    - decompose_stripe
    - rect_intersect
    - make_quadrangle
    - release_colors_inline
    - return_error
    - terminate_wedge_vertex_list
    linkageType: ''
    returnType: int
    signature: int decompose_stripe(patch_fill_state_t *pfs, const tensor_patch *p,
      int ku)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3757,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3758,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3759,1
    - Dst: fill_wedges
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3760,1
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3764,1
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3767,1
    - Dst: decompose_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3771,1
    - Dst: fill_wedges
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - pfs
    - p
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3775
      start: 3745
    functionDepth: 19
    functionLinenumber: 3745
    functionLinenumberEnd: 3775
    functionName: fill_stripe
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - mesh_padding
    - fill_wedges
    - curve_samples
    - max
    - decompose_stripe
    linkageType: ''
    returnType: int
    signature: int fill_stripe(patch_fill_state_t *pfs, const tensor_patch *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3784
      start: 3777
    functionDepth: 0
    functionLinenumber: 3777
    functionLinenumberEnd: 3784
    functionName: neqs
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool neqs(int *a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p0
    - p1
    - p2
    argTypes:
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3793
      start: 3786
    functionDepth: 0
    functionLinenumber: 3786
    functionLinenumberEnd: 3793
    functionName: vector_pair_orientation
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int vector_pair_orientation(const gs_fixed_point *p0, const gs_fixed_point
      *p1, const gs_fixed_point *p2)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3798,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3800,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3800,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3802,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3802,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3804,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3804,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3807,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3807,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3809,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3809,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3811,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3811,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3813,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3813,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3816,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3816,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3818,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3818,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3820,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3820,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3822,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3822,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3825,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3825,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3827,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3827,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3829,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3829,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3831,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3831,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - p
    argTypes:
    - tensor_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3834
      start: 3795
    functionDepth: 1
    functionLinenumber: 3795
    functionLinenumberEnd: 3834
    functionName: is_x_bended
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - vector_pair_orientation
    - neqs
    linkageType: ''
    returnType: bool
    signature: bool is_x_bended(const tensor_patch *p)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3839,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3841,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3841,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3843,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3843,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3845,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3845,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3848,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3848,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3850,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3850,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3852,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3852,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3854,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3854,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3857,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3857,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3859,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3859,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3861,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3861,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3863,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3863,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3866,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3866,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3868,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3868,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3870,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3870,1
    - Dst: neqs
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3872,1
    - Dst: vector_pair_orientation
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3872,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 1
    argNames:
    - p
    argTypes:
    - tensor_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3836
    functionDepth: 1
    functionLinenumber: 3836
    functionLinenumberEnd: 3875
    functionName: is_y_bended
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - vector_pair_orientation
    - neqs
    linkageType: ''
    returnType: bool
    signature: bool is_y_bended(const tensor_patch *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3880,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3881,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3882,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3883,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3884,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pfs
    - pole
    - pole_step
    - fixed_flat
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point*
    - int
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3890
      start: 3877
    functionDepth: 0
    functionLinenumber: 3877
    functionLinenumberEnd: 3890
    functionName: is_curve_x_small
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: bool
    signature: bool is_curve_x_small(const patch_fill_state_t *pfs, const gs_fixed_point
      *pole, int pole_step, fixed fixed_flat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3895,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3896,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3897,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3898,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3899,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3900,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pfs
    - pole
    - pole_step
    - fixed_flat
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_point*
    - int
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3905
      start: 3892
    functionDepth: 0
    functionLinenumber: 3892
    functionLinenumberEnd: 3905
    functionName: is_curve_y_small
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: bool
    signature: bool is_curve_y_small(const patch_fill_state_t *pfs, const gs_fixed_point
      *pole, int pole_step, fixed fixed_flat)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: is_curve_x_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3910,1
    - Dst: is_curve_x_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3912,1
    - Dst: is_curve_x_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3914,1
    - Dst: is_curve_x_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3916,1
    - Dst: is_curve_y_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3918,1
    - Dst: is_curve_y_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3920,1
    - Dst: is_curve_y_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3922,1
    - Dst: is_curve_y_small
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3924,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pfs
    - p
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3927
      start: 3907
    functionDepth: 1
    functionLinenumber: 3907
    functionLinenumberEnd: 3927
    functionName: is_patch_narrow
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - is_curve_x_small
    - is_curve_y_small
    linkageType: ''
    returnType: bool
    signature: bool is_patch_narrow(const patch_fill_state_t *pfs, const tensor_patch
      *p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: is_patch_narrow
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3933,1
    - Dst: fill_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3934,1
    - Dst: is_x_bended
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3935,1
    - Dst: fill_stripe
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3936,1
    - Dst: tensor_patch_bbox
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3948,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3954,1
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3961,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3963,1
    - Dst: split_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3964,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3972,1
    - Dst: fill_triangle_wedge
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3981,1
    - Dst: fill_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3984,1
    - Dst: fill_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:3986,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4006,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 5
    argNames:
    - pfs
    - p
    - kv
    - kv0
    - kv1
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4010
      start: 3929
    functionDepth: 20
    functionLinenumber: 3929
    functionLinenumberEnd: 4010
    functionName: fill_patch
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 1
    functionsReached:
    - tensor_patch_bbox
    - reserve_colors_inline
    - fill_triangle_wedge
    - fill_stripe
    - split_patch
    - rect_intersect
    - is_patch_narrow
    - fill_patch
    - release_colors_inline
    - is_x_bended
    - return_error
    linkageType: ''
    returnType: int
    signature: int fill_patch(patch_fill_state_t *pfs, const tensor_patch *p, int
      kv, int kv0, int kv1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p0
    - p3
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4016
      start: 4012
    functionDepth: 0
    functionLinenumber: 4012
    functionLinenumberEnd: 4016
    functionName: lcp1
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t lcp1(int64_t p0, int64_t p3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p0
    - p3
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4021
      start: 4017
    functionDepth: 0
    functionLinenumber: 4017
    functionLinenumberEnd: 4021
    functionName: lcp2
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t lcp2(int64_t p0, int64_t p3)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4030,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pfs
    - c
    - cc
    argTypes:
    - patch_fill_state_t*
    - patch_color_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 4023
    functionDepth: 0
    functionLinenumber: 4023
    functionLinenumberEnd: 4031
    functionName: patch_set_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void patch_set_color(const patch_fill_state_t *pfs, patch_color_t *c,
      const float *cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4057,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4058,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4059,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4059,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4060,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4061,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4062,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4063,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4063,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4064,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4065,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4066,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4067,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4067,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4068,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4069,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4070,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4071,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4071,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4072,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4074,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4075,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4076,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4076,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4077,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4078,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4079,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4080,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4080,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4081,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4082,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4083,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4084,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4084,1
    - Dst: lcp1
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4085,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4086,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4087,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4088,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4088,1
    - Dst: lcp2
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4089,1
    - Dst: patch_set_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4091,1
    - Dst: patch_set_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4092,1
    - Dst: patch_set_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4093,1
    - Dst: patch_set_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4094,1
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4095,1
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4096,1
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4097,1
    - Dst: patch_resolve_color_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4098,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4100,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4101,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4102,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 42
    argCount: 4
    argNames:
    - pfs
    - p
    - curve
    - interior
    argTypes:
    - patch_fill_state_t*
    - tensor_patch*
    - patch_curve_t[]
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4105
      start: 4033
    functionDepth: 2
    functionLinenumber: 4033
    functionLinenumberEnd: 4105
    functionName: make_tensor_patch
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - lcp2
    - patch_set_color
    - patch_resolve_color_inline
    - gs_color_space*::type::restrict_color
    - lcp1
    linkageType: ''
    returnType: void
    signature: "void make_tensor_patch(const patch_fill_state_t *pfs, tensor_patch
      *p, const patch_curve_t curve[4],\n           const gs_fixed_point interior[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pdev
    - rect
    - pdevc
    - log_op
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4107
    functionDepth: 1
    functionLinenumber: 4107
    functionLinenumberEnd: 4123
    functionName: gx_shade_background
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_shade_background(gx_device *pdev, const gs_fixed_rect *rect,\n
      \       const gx_device_color *pdevc, gs_logical_operation_t log_op)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4135,1
    - Dst: make_tensor_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4148,1
    - Dst: is_linear_color_applicable
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4149,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4151,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4170,1
    - Dst: is_x_bended
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4171,1
    - Dst: is_y_bended
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4171,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4177,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4181,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4184,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4190,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4193,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4194,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4199,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4200,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4201,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4202,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4203,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4203,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4203,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4204,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4205,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4206,1
    - Dst: curve_samples
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4207,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4208,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4208,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4208,1
    - Dst: fill_wedges
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4212,1
    - Dst: fill_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4223,1
    - Dst: fill_patch
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4226,1
    - Dst: fill_wedges
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4229,1
    - Dst: release_colors_inline
      Src: /src/libspectre/ghostscript/base/gxshade6.c:4232,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - pfs
    - curve
    - interior
    argTypes:
    - patch_fill_state_t*
    - patch_curve_t[]
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4234
      start: 4125
    functionDepth: 21
    functionLinenumber: 4125
    functionLinenumberEnd: 4234
    functionName: patch_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade6.c
    functionUses: 2
    functionsReached:
    - gx_path_free
    - make_tensor_patch
    - is_y_bended
    - fill_wedges
    - reserve_colors_inline
    - curve_samples
    - gx_path_add_curve
    - max
    - gx_path_add_line
    - is_linear_color_applicable
    - fill_patch
    - gx_path_init_local
    - is_x_bended
    - gx_path_add_point
    - release_colors_inline
    - gx_path_close_subpath
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int patch_fill(patch_fill_state_t *pfs, const patch_curve_t curve[4],\n
      \          const gs_fixed_point interior[4],\n           void (*transform) (gs_fixed_point
      *, const patch_curve_t[4],\n                              const gs_fixed_point[4],
      double, double))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - v
    - min_v
    - comp
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: shadow_here
    functionSourceFile: /src/libspectre/ghostscript/base/claptrap-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int shadow_here(int v, int min_v, int comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - max_v
    - comp
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: trap_here
    functionSourceFile: /src/libspectre/ghostscript/base/claptrap-impl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int trap_here(int v, int max_v, int comp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 33
    functionName: gx_color_value_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_to_byte(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: gx_color_value_from_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_color_value_from_byte(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: frac2cv
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2cv(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: cv2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cv2frac(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: frac312cv
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac312cv(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: cv2frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cv2frac31(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - TO
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    functionName: COLROUND_SETUP
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLROUND_SETUP(TO)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: COLROUND_ROUND
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLROUND_ROUND(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - FROM
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: COLDUP_SETUP
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLDUP_SETUP(FROM)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: COLDUP_DUP
    functionSourceFile: /src/libspectre/ghostscript/base/gxcvalue.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLDUP_DUP(X)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_non_gc_memory_t
      Src: /src/libspectre/ghostscript/base/gp_mspol.c:38,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 44
    functionName: gp_check_interrupts
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mspol.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_non_gc_memory_t
    linkageType: ''
    returnType: int
    signature: int gp_check_interrupts(const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - curve
    argTypes:
    - patch_curve_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: make_other_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void make_other_poles(patch_curve_t curve[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gxshade1.c:75,1
    - Dst: clamp_coord
      Src: /src/libspectre/ghostscript/base/gxshade1.c:76,1
    - Dst: clamp_coord
      Src: /src/libspectre/ghostscript/base/gxshade1.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pmat
    - x
    - y
    - ppt
    argTypes:
    - gs_matrix_fixed*
    - double
    - double
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 78
    functionName: gs_point_transform2fixed_clamped
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform
    - clamp_coord
    linkageType: ''
    returnType: void
    signature: "void gs_point_transform2fixed_clamped(const gs_matrix_fixed * pmat,\n
      \                        double x, double y, gs_fixed_point * ppt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxshade1.c:88,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:90,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:96,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:97,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:98,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:99,1
    - Dst: make_other_poles
      Src: /src/libspectre/ghostscript/base/gxshade1.c:100,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:105,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:106,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - pfs
    - rect
    argTypes:
    - Fb_fill_state_t*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 80
    functionDepth: 22
    functionLinenumber: 80
    functionLinenumberEnd: 109
    functionName: Fb_fill_region
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - make_other_poles
    - term_patch_fill_state
    - patch_fill
    - memcpy
    - return_error
    - init_patch_fill_state
    linkageType: ''
    returnType: int
    signature: int Fb_fill_region(Fb_fill_state_t * pfs, const gs_fixed_rect *rect)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:122,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/base/gxshade1.c:127,1
    - Dst: gs_concat
      Src: /src/libspectre/ghostscript/base/gxshade1.c:128,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gxshade1.c:130,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxshade1.c:135,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:138,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade1.c:139,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:140,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade1.c:141,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade1.c:145,1
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gxshade1.c:153,1
    - Dst: Fb_fill_region
      Src: /src/libspectre/ghostscript/base/gxshade1.c:160,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade1.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 111
    functionDepth: 23
    functionLinenumber: 111
    functionLinenumberEnd: 163
    functionName: gs_shading_Fb_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_concat
    - gs_bbox_transform_inverse
    - max
    - shade_init_fill_state
    - gs_function_evaluate
    - Fb_fill_region
    - gs_setmatrix
    - gs_currentmatrix
    - gsicc_release_link
    - min
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Fb_fill_rectangle(const gs_shading_t * psh0, const
      gs_rect * rect,\n                             const gs_fixed_rect * rect_clip,\n
      \                            gx_device * dev, gs_gstate * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:190,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:193,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:196,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:199,1
    - Dst: make_other_poles
      Src: /src/libspectre/ghostscript/base/gxshade1.c:210,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - pfs
    - pfs1
    argTypes:
    - A_fill_state_t*
    - patch_fill_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 178
    functionDepth: 22
    functionLinenumber: 178
    functionLinenumberEnd: 212
    functionName: A_fill_region
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - make_other_poles
    - patch_fill
    linkageType: ''
    returnType: int
    signature: int A_fill_region(A_fill_state_t * pfs, patch_fill_state_t *pfs1)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:232,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:237,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxshade1.c:255,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade1.c:260,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:260,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:261,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade1.c:261,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxshade1.c:268,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxshade1.c:268,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:272,1
    - Dst: A_fill_region
      Src: /src/libspectre/ghostscript/base/gxshade1.c:273,1
    - Dst: A_fill_region
      Src: /src/libspectre/ghostscript/base/gxshade1.c:281,1
    - Dst: A_fill_region
      Src: /src/libspectre/ghostscript/base/gxshade1.c:290,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade1.c:293,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:294,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:295,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    argCount: 5
    argNames:
    - psh0
    - rect
    - clip_rect
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 214
    functionDepth: 23
    functionLinenumber: 214
    functionLinenumberEnd: 297
    functionName: gs_shading_A_fill_rectangle_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - A_fill_region
    - hypot
    - gs_bbox_transform_inverse
    - ctm_only
    - term_patch_fill_state
    - gs_distance_transform
    - max
    - shade_init_fill_state
    - return_error
    - gsicc_release_link
    - min
    - init_patch_fill_state
    linkageType: ''
    returnType: int
    signature: "int gs_shading_A_fill_rectangle_aux(const gs_shading_t * psh0, const
      gs_rect * rect,\n                            const gs_fixed_rect *clip_rect,\n
      \                           gx_device * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_shading_A_fill_rectangle_aux
      Src: /src/libspectre/ghostscript/base/gxshade1.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 24
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: gs_shading_A_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_shading_A_fill_rectangle_aux
    linkageType: ''
    returnType: int
    signature: "int gs_shading_A_fill_rectangle(const gs_shading_t * psh0, const gs_rect
      * rect,\n                            const gs_fixed_rect * rect_clip,\n                            gx_device
      * dev, gs_gstate * pgs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:365,1
    - Dst: make_quadrant_arc
      Src: /src/libspectre/ghostscript/base/gxshade1.c:408,1
    - Dst: make_quadrant_arc
      Src: /src/libspectre/ghostscript/base/gxshade1.c:409,1
    - Dst: make_quadrant_arc
      Src: /src/libspectre/ghostscript/base/gxshade1.c:411,1
    - Dst: make_quadrant_arc
      Src: /src/libspectre/ghostscript/base/gxshade1.c:412,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:425,1
    - Dst: gs_point_transform2fixed_clamped
      Src: /src/libspectre/ghostscript/base/gxshade1.c:426,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:428,1
    - Dst: gs_point_transform2fixed_clamped
      Src: /src/libspectre/ghostscript/base/gxshade1.c:429,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:431,1
    - Dst: gs_point_transform2fixed_clamped
      Src: /src/libspectre/ghostscript/base/gxshade1.c:432,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:441,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 9
    argNames:
    - pfs
    - x0
    - y0
    - r0
    - t0
    - x1
    - y1
    - r1
    - t1
    argTypes:
    - patch_fill_state_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 359
    functionDepth: 22
    functionLinenumber: 359
    functionLinenumberEnd: 462
    functionName: R_tensor_annulus
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - hypot
    - patch_fill
    - make_quadrant_arc
    - gs_point_transform2fixed_clamped
    linkageType: ''
    returnType: int
    signature: "int R_tensor_annulus(patch_fill_state_t *pfs,\n    double x0, double
      y0, double r0, double t0,\n    double x1, double y1, double r1, double t1)"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxshade1.c:471,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:512,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:515,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:518,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:519,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:521,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:522,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:527,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:533,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:537,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:538,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:540,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:541,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:549,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:553,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:556,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:557,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:559,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:560,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:565,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:571,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:575,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:576,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:578,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:579,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:584,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:590,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:594,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:595,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:597,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:598,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:603,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:610,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:614,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:615,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:617,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:618,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:623,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:629,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:633,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:634,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:636,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:637,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:645,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:648,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:651,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:652,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:654,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:655,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxshade1.c:659,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 149
    argCount: 5
    argNames:
    - from
    - to
    - from_control
    - to_control
    - centre
    argTypes:
    - gs_point*
    - gs_point*
    - gs_point*
    - gs_point*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 667
    functionName: find_arc_control_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - sqrt
    - tan
    - sin
    - cos
    - atan
    linkageType: ''
    returnType: int
    signature: int find_arc_control_points(gs_point *from, gs_point *to, gs_point
      *from_control, gs_point *to_control, gs_point *centre)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:679,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:680,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - ctm
    - from
    - to
    - p
    - t
    argTypes:
    - gs_matrix_fixed*
    - gs_point*
    - gs_point*
    - patch_curve_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 688
    functionName: patch_lineto
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    linkageType: ''
    returnType: int
    signature: int patch_lineto(gs_matrix_fixed *ctm, gs_point *from, gs_point *to,
      patch_curve_t *p, float t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: find_arc_control_points
      Src: /src/libspectre/ghostscript/base/gxshade1.c:694,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:696,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:697,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - ctm
    - centre
    - from
    - to
    - p
    - t
    argTypes:
    - gs_matrix_fixed*
    - gs_point*
    - gs_point*
    - gs_point*
    - patch_curve_t*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 2
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: patch_curveto
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - find_arc_control_points
    linkageType: ''
    returnType: int
    signature: int patch_curveto(gs_matrix_fixed *ctm, gs_point *centre, gs_point
      *from, gs_point *to, patch_curve_t *p, float t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:722,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:725,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:732,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:733,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:734,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:743,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:747,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:751,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:752,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:754,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 5
    argNames:
    - pfs
    - centre
    - radius
    - corner
    - t
    argTypes:
    - patch_fill_state_t*
    - gs_point*
    - double
    - gs_point*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 706
    functionDepth: 22
    functionLinenumber: 706
    functionLinenumberEnd: 755
    functionName: draw_quarter_annulus
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - patch_lineto
    - patch_fill
    - patch_curveto
    linkageType: ''
    returnType: int
    signature: int draw_quarter_annulus(patch_fill_state_t *pfs, gs_point *centre,
      double radius, gs_point *corner, float t)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:774,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:776,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:778,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:780,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:786,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:788,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:790,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:792,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:798,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:800,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:802,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:804,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:810,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:812,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:814,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:816,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:860,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:861,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:867,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:869,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:871,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:874,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:875,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:886,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:888,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:891,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:893,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:895,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:897,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:898,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:906,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:912,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:918,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:924,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:926,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:928,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:931,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:932,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:940,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:951,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:954,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:956,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:958,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:960,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:961,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:968,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:993,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:994,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1000,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1002,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1004,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1007,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1008,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1019,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1021,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1024,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1026,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1028,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1030,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1031,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1039,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1045,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1051,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1057,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1059,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1061,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1064,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1065,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1073,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1084,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1087,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1089,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1091,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1093,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1094,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1101,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1126,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1127,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1133,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1135,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1137,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1140,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1141,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1151,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1153,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1156,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1158,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1160,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1162,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1163,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1170,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1178,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1184,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1190,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1192,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1194,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1197,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1198,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1206,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1217,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1220,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1222,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1224,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1226,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1227,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1234,1
    - Dst: asin
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1259,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1260,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1266,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1268,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1270,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1273,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1274,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1284,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1286,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1289,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1291,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1293,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1295,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1296,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1304,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1309,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1315,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1321,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1323,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1325,1
    - Dst: patch_curveto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1328,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1329,1
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1337,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1348,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1351,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1353,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1355,1
    - Dst: patch_lineto
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1357,1
    - Dst: patch_fill
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1358,1
    - Dst: draw_quarter_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1365,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 418
    argCount: 10
    argNames:
    - pfs
    - x0
    - y0
    - r0
    - t0
    - x1
    - y1
    - r1
    - t1
    - r2
    argTypes:
    - patch_fill_state_t*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 757
    functionDepth: 23
    functionLinenumber: 757
    functionLinenumberEnd: 1371
    functionName: R_tensor_annulus_extend_tangent
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - tan
    - draw_quarter_annulus
    - patch_curveto
    - asin
    - patch_fill
    - cos
    - patch_lineto
    linkageType: ''
    returnType: int
    signature: "int R_tensor_annulus_extend_tangent(patch_fill_state_t *pfs,\n    double
      x0, double y0, double r0, double t0,\n    double x1, double y1, double r1, double
      t1, double r2)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1386,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1386,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1397,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1399,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1407,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1412,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 11
    argNames:
    - pfs
    - rect
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    - x2
    - y2
    - r2
    argTypes:
    - patch_fill_state_t*
    - gs_rect*
    - double
    - double
    - double
    - double
    - double
    - double
    - double*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1430
    functionName: R_outer_circle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - return_error
    - any_abs
    - max
    linkageType: ''
    returnType: int
    signature: "int R_outer_circle(patch_fill_state_t *pfs, const gs_rect *rect,\n
      \       double x0, double y0, double r0,\n        double x1, double y1, double
      r1,\n        double *x2, double *y2, double *r2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1437,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1438,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1439,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1440,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1441,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1442,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - rect
    - x0
    - y0
    argTypes:
    - gs_rect*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1445
    functionName: R_rect_radius
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - hypot
    - max
    linkageType: ''
    returnType: double
    signature: double R_rect_radius(const gs_rect *rect, double x0, double y0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reserve_colors
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1454,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1459,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1461,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1463,1
    - Dst: patch_resolve_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1466,1
    - Dst: mesh_triangle
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1467,1
    - Dst: release_colors
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1469,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 9
    argNames:
    - pfs
    - rect
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    - t
    argTypes:
    - patch_fill_state_t*
    - gs_rect*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1447
    functionDepth: 19
    functionLinenumber: 1447
    functionLinenumberEnd: 1471
    functionName: R_fill_triangle_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - mesh_triangle
    - release_colors
    - reserve_colors
    - patch_resolve_color
    linkageType: ''
    returnType: int
    signature: "int R_fill_triangle_new(patch_fill_state_t *pfs, const gs_rect *rect,\n
      \   double x0, double y0, double x1, double y1, double x2, double y2, double
      t)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1478,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1479,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1489,1
    - Dst: R_fill_triangle_new
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1505,1
    - Dst: R_fill_triangle_new
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1508,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1526,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 10
    argNames:
    - pfs
    - rect
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    - t0
    - r_rect
    argTypes:
    - patch_fill_state_t*
    - gs_rect*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1473
    functionDepth: 23
    functionLinenumber: 1473
    functionLinenumberEnd: 1532
    functionName: R_obtuse_cone
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - sqrt
    - any_abs
    - hypot
    - R_tensor_annulus
    - R_fill_triangle_new
    linkageType: ''
    returnType: int
    signature: "int R_obtuse_cone(patch_fill_state_t *pfs, const gs_rect *rect,\n
      \       double x0, double y0, double r0,\n        double x1, double y1, double
      r1, double t0, double r_rect)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - pfs
    - rect
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    - t
    argTypes:
    - patch_fill_state_t*
    - gs_rect*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1534
    functionDepth: 23
    functionLinenumber: 1534
    functionLinenumberEnd: 1544
    functionName: R_tensor_cone_apex
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - R_tensor_annulus
    linkageType: ''
    returnType: int
    signature: "int R_tensor_cone_apex(patch_fill_state_t *pfs, const gs_rect *rect,\n
      \       double x0, double y0, double r0,\n        double x1, double y1, double
      r1, double t)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1600,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1601,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1640,1
    - Dst: R_rect_radius
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1642,1
    - Dst: R_tensor_annulus_extend_tangent
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1644,1
    - Dst: R_tensor_annulus_extend_tangent
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1646,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1652,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1656,1
    - Dst: R_rect_radius
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1664,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1666,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1672,1
    - Dst: R_rect_radius
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1675,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1677,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1683,1
    - Dst: R_rect_radius
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1689,1
    - Dst: R_obtuse_cone
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1690,1
    - Dst: R_tensor_cone_apex
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1695,1
    - Dst: R_rect_radius
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1699,1
    - Dst: R_obtuse_cone
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1700,1
    - Dst: R_tensor_cone_apex
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1705,1
    - Dst: R_outer_circle
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1712,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1716,1
    - Dst: R_outer_circle
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1722,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1726,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 88
    argCount: 7
    argNames:
    - pfs
    - psh
    - rect
    - t0
    - t1
    - Extend0
    - Extend1
    argTypes:
    - patch_fill_state_t*
    - gs_shading_R_t*
    - gs_rect*
    - double
    - double
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1592
    functionDepth: 24
    functionLinenumber: 1592
    functionLinenumberEnd: 1733
    functionName: R_extensions
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - any_abs
    - R_outer_circle
    - hypot
    - R_obtuse_cone
    - R_tensor_annulus
    - R_rect_radius
    - R_tensor_annulus_extend_tangent
    - R_tensor_cone_apex
    linkageType: ''
    returnType: int
    signature: "int R_extensions(patch_fill_state_t *pfs, const gs_shading_R_t *psh,
      const gs_rect *rect,\n        double t0, double t1, bool Extend0, bool Extend1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1745,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1748,1
    - Dst: patch_color_to_device_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1749,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1752,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1752,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1752,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1753,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1753,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1754,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1754,1
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1766,1
    - Dst: gs_color_space*::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1769,1
    - Dst: constant_color_quadrangle
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1782,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - pfs
    - clip_rect
    - t
    argTypes:
    - patch_fill_state_t*
    - gs_fixed_rect*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1735
    functionDepth: 5
    functionLinenumber: 1735
    functionLinenumberEnd: 1784
    functionName: R_fill_rect_with_const_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - patch_color_to_device_color
    - fixed2int_pixround
    - gs_color_space*::type::restrict_color
    - gx_fill_rectangle_device_rop
    - gs_function_evaluate
    - constant_color_quadrangle
    linkageType: ''
    returnType: int
    signature: int R_fill_rect_with_const_color(patch_fill_state_t *pfs, const gs_fixed_rect
      *clip_rect, float t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1797
    functionDepth: 0
    functionLinenumber: 1797
    functionLinenumberEnd: 1798
    functionName: Pw2
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Pw2(a)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 7
    argNames:
    - rsa
    - point_index
    - t
    - r0
    - r1
    - at_corner
    - root_index
    argTypes:
    - radial_shading_attrs_t*
    - int
    - double
    - double
    - double
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1799
    functionDepth: 0
    functionLinenumber: 1799
    functionLinenumberEnd: 1821
    functionName: radial_shading_external_contact
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void radial_shading_external_contact(radial_shading_attrs_t *rsa, int
      point_index, double t, double r0, double r1, bool at_corner, int root_index)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: radial_shading_external_contact
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1835,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 7
    argNames:
    - rsa
    - have_root
    - t
    - r0
    - r1
    - point_index
    - at_corner
    argTypes:
    - radial_shading_attrs_t*
    - bool[]
    - double[]
    - double
    - double
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1847
      start: 1823
    functionDepth: 1
    functionLinenumber: 1823
    functionLinenumberEnd: 1847
    functionName: store_roots
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - radial_shading_external_contact
    linkageType: ''
    returnType: void
    signature: void store_roots(radial_shading_attrs_t *rsa, const bool have_root[2],
      const double t[2], double r0, double r1, int point_index, bool at_corner)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: store_roots
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1897,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - rsa
    - r0
    - r1
    - point_index
    argTypes:
    - radial_shading_attrs_t*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1849
    functionDepth: 2
    functionLinenumber: 1849
    functionLinenumberEnd: 1898
    functionName: compute_radial_shading_span_extended_side
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - store_roots
    linkageType: ''
    returnType: void
    signature: void compute_radial_shading_span_extended_side(radial_shading_attrs_t
      *rsa, double r0, double r1, int point_index)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1930,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1930,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1930,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1934,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1940,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1940,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1946,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1946,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1946,1
    - Dst: Pw2
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1947,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1953,1
    - Dst: store_roots
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1965,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - rsa
    - r0
    - r1
    - point_index
    argTypes:
    - radial_shading_attrs_t*
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1900
    functionDepth: 2
    functionLinenumber: 1900
    functionLinenumberEnd: 1973
    functionName: compute_radial_shading_span_extended_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - sqrt
    - Pw2
    - store_roots
    - fabs
    linkageType: ''
    returnType: int
    signature: int compute_radial_shading_span_extended_point(radial_shading_attrs_t
      *rsa, double r0, double r1, int point_index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compute_radial_shading_span_extended_point
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1982,1
    - Dst: compute_radial_shading_span_extended_point
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1985,1
    - Dst: compute_radial_shading_span_extended_point
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1988,1
    - Dst: compute_radial_shading_span_extended_point
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1991,1
    - Dst: compute_radial_shading_span_extended_side
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1994,1
    - Dst: compute_radial_shading_span_extended_side
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1995,1
    - Dst: compute_radial_shading_span_extended_side
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1996,1
    - Dst: compute_radial_shading_span_extended_side
      Src: /src/libspectre/ghostscript/base/gxshade1.c:1997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - rsa
    - r0
    - r1
    argTypes:
    - radial_shading_attrs_t*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1977
    functionDepth: 3
    functionLinenumber: 1977
    functionLinenumberEnd: 1999
    functionName: compute_radial_shading_span_extended
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - compute_radial_shading_span_extended_point
    - compute_radial_shading_span_extended_side
    linkageType: ''
    returnType: int
    signature: int compute_radial_shading_span_extended(radial_shading_attrs_t *rsa,
      double r0, double r1)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2064,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2075,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2075,1
    - Dst: compute_radial_shading_span_extended
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2077,1
    - Dst: compute_radial_shading_span_extended
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2080,1
    - Dst: compute_radial_shading_span_extended
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2083,1
    - Dst: compute_radial_shading_span_extended
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2086,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 52
    argCount: 8
    argNames:
    - rsa
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    - rect
    argTypes:
    - radial_shading_attrs_t*
    - float
    - float
    - double
    - float
    - float
    - double
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2114
      start: 2001
    functionDepth: 4
    functionLinenumber: 2001
    functionLinenumberEnd: 2114
    functionName: compute_radial_shading_span
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - memset
    - compute_radial_shading_span_extended
    - any_abs
    linkageType: ''
    returnType: int
    signature: int compute_radial_shading_span(radial_shading_attrs_t *rsa, float
      x0, float y0, double r0, float x1, float y1, double r1, const gs_rect * rect)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 9
    argNames:
    - x0
    - y0
    - r0
    - d0
    - x1
    - y1
    - r1
    - d1
    - span_
    argTypes:
    - float*
    - float*
    - double*
    - float*
    - float*
    - float*
    - double*
    - float*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2116
    functionDepth: 0
    functionLinenumber: 2116
    functionLinenumberEnd: 2148
    functionName: shorten_radial_shading
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool shorten_radial_shading(float *x0, float *y0, double *r0, float
      *d0, float *x1, float *y1, double *r1, float *d1, double span_[2])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - x0
    - y0
    - r0
    - x1
    - y1
    - r1
    - rect
    argTypes:
    - double
    - double
    - double
    - double
    - double
    - double
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2172
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2172
    functionName: is_radial_shading_large
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - hypot
    linkageType: ''
    returnType: bool
    signature: bool is_radial_shading_large(double x0, double y0, double r0, double
      x1, double y1, double r1, const gs_rect * rect)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2192,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2196,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2198,1
    - Dst: is_radial_shading_large
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2204,1
    - Dst: compute_radial_shading_span
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2205,1
    - Dst: R_extensions
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2209,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2211,1
    - Dst: R_extensions
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2213,1
    - Dst: R_fill_rect_with_const_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2215,1
    - Dst: R_fill_rect_with_const_color
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2217,1
    - Dst: R_extensions
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2223,1
    - Dst: shorten_radial_shading
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2233,1
    - Dst: shorten_radial_shading
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2236,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2238,1
    - Dst: shorten_radial_shading
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2245,1
    - Dst: R_tensor_annulus
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2246,1
    - Dst: R_extensions
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2250,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2252,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2253,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2254,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 60
    argCount: 5
    argNames:
    - psh0
    - rect
    - clip_rect
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2174
    functionDepth: 25
    functionLinenumber: 2174
    functionLinenumberEnd: 2256
    functionName: gs_shading_R_fill_rectangle_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - return_error
    - term_patch_fill_state
    - shorten_radial_shading
    - shade_init_fill_state
    - compute_radial_shading_span
    - R_tensor_annulus
    - R_fill_rect_with_const_color
    - R_extensions
    - gsicc_release_link
    - is_radial_shading_large
    - init_patch_fill_state
    linkageType: ''
    returnType: int
    signature: "int gs_shading_R_fill_rectangle_aux(const gs_shading_t * psh0, const
      gs_rect * rect,\n                            const gs_fixed_rect *clip_rect,\n
      \                           gx_device * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_shading_R_fill_rectangle_aux
      Src: /src/libspectre/ghostscript/base/gxshade1.c:2263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2258
    functionDepth: 26
    functionLinenumber: 2258
    functionLinenumberEnd: 2264
    functionName: gs_shading_R_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade1.c
    functionUses: 0
    functionsReached:
    - gs_shading_R_fill_rectangle_aux
    linkageType: ''
    returnType: int
    signature: "int gs_shading_R_fill_rectangle(const gs_shading_t * psh0, const gs_rect
      * rect,\n                            const gs_fixed_rect * rect_clip,\n                            gx_device
      * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: gx_device_forward_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: void gx_device_forward_finalize(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - fdev
    - target
    argTypes:
    - gx_device_forward*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 50
    functionName: gx_device_set_target
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 15
    functionsReached:
    - rc_assign
    linkageType: ''
    returnType: void
    signature: void gx_device_set_target(gx_device_forward *fdev, gx_device *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:58,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:60,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:61,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:62,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:64,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:65,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:71,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:72,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:73,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:74,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:75,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:76,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:77,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:78,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:81,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:82,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:83,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:84,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:85,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:86,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:87,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:88,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:89,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:90,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:94,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:95,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:96,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:97,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:98,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:99,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:100,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:101,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:102,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:103,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:104,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:105,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:106,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:107,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:108,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:109,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:110,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:111,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:112,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:113,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:114,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:115,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:116,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:117,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:118,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:119,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:120,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:121,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:122,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 55
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_forward*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 124
    functionName: gx_device_forward_fill_in_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 3
    functionsReached:
    - gx_device_fill_in_procs
    - gx_device_set_procs
    - fill_dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_device_forward_fill_in_procs(register gx_device_forward * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:130,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:131,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:132,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:133,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:134,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:135,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:136,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:137,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:138,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:140,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_forward*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 142
    functionName: gx_device_forward_color_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - set_dev_proc
    - fill_dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_device_forward_color_procs(gx_device_forward * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_close_device
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:149,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 155
    functionName: gx_forward_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_close_device
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_close_device(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_initial_matrix
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:164,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 167
    functionName: gx_forward_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_get_initial_matrix
    linkageType: ''
    returnType: void
    signature: void gx_forward_get_initial_matrix(gx_device * dev, gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_sync_output
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:175,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: gx_forward_sync_output
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_sync_output
    linkageType: ''
    returnType: int
    signature: int gx_forward_sync_output(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_output_page
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:185,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:186,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: gx_forward_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_output_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_error_encode_color
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:199,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 201
    functionName: gx_forward_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - gx_error_encode_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_forward_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_map_color_rgb
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:210,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 212
    functionName: gx_forward_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int gx_forward_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                        gx_color_value prgb[3])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:222,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 224
    functionName: gx_forward_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:233,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:235,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 238
    functionName: gx_forward_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_tile_rectangle
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_tile_rectangle(gx_device * dev, const gx_tile_bitmap
      * tile,\n                          int x, int y, int w, int h, gx_color_index
      color0,\n                          gx_color_index color1, int px, int py)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:250,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: gx_forward_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_mono(gx_device * dev, const byte * data,\n                     int
      dx, int raster, gx_bitmap_id id,\n                     int x, int y, int w,
      int h,\n                     gx_color_index zero, gx_color_index one)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:264,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 267
    functionName: gx_forward_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_alpha(gx_device * dev, const byte * data, int
      data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width, int
      height,\n                      gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:278,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: gx_forward_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_color(gx_device * dev, const byte * data,\n                      int
      dx, int raster, gx_bitmap_id id,\n                      int x, int y, int w,
      int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:292,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: gx_forward_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_planes(gx_device * dev, const byte * data,\n                       int
      dx, int raster, gx_bitmap_id id,\n                       int x, int y, int w,
      int h, int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_bits
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:303,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 305
    functionName: gx_forward_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_bits
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_get_bits(gx_device * dev, int y, byte * data, byte **
      actual_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:313,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: gx_forward_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:326,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:328,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: gx_forward_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_device_decache_colors
    - dev_proc
    - gx_default_put_params
    linkageType: ''
    returnType: int
    signature: int gx_forward_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_map_cmyk_color
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:343,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 345
    functionName: gx_forward_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_cmyk_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_forward_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_xfont_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:353,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: gx_forward_get_xfont_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_get_xfont_procs
    linkageType: ''
    returnType: gx_xfont_procs
    signature: 'gx_xfont_procs *

      gx_forward_get_xfont_procs(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_xfont_device
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:363,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: gx_forward_get_xfont_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_xfont_device
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_forward_get_xfont_device(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_map_rgb_alpha_color
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:376,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - r
    - g
    - b
    - alpha
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: gx_forward_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_map_rgb_alpha_color
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index gx_forward_map_rgb_alpha_color(gx_device * dev, gx_color_value
      r,\n                               gx_color_value g, gx_color_value b,\n                               gx_color_value
      alpha)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_page_device
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:388,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: gx_forward_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_page_device
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_forward_get_page_device(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_band
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:400,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - y
    - band_start
    argTypes:
    - gx_device*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: gx_forward_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_band
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_get_band(gx_device * dev, int y, int *band_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:415,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:417,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 422
    functionName: gx_forward_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc_copy_rop
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_rop(gx_device * dev,\n                    const
      byte * sdata, int sourcex, uint sraster,\n                    gx_bitmap_id id,
      const gx_color_index * scolors,\n                    const gx_tile_bitmap *
      texture,\n                    const gx_color_index * tcolors,\n                    int
      x, int y, int width, int height,\n                    int phase_x, int phase_y,
      gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_path
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:432,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:434,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 437
    functionName: gx_forward_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_fill_path
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_path(gx_device * dev, const gs_gstate * pgs,\n
      \                    gx_path * ppath, const gx_fill_params * params,\n                     const
      gx_drawing_color * pdcolor,\n                     const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:447,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:449,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 452
    functionName: gx_forward_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - dev_proc_stroke_path
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_stroke_path(gx_device * dev, const gs_gstate * pgs,\n
      \                      gx_path * ppath, const gx_stroke_params * params,\n                       const
      gx_drawing_color * pdcolor,\n                       const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:465,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:467,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - params_fill
    - pdcolor_fill
    - params_stroke
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 470
    functionName: gx_forward_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_fill_stroke_path
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_stroke_path(gx_device * dev, const gs_gstate *
      pgs,\n                            gx_path * ppath,\n                            const
      gx_fill_params * params_fill,\n                            const gx_drawing_color
      * pdcolor_fill,\n                            const gx_stroke_params * params_stroke,\n
      \                           const gx_drawing_color * pdcolor_stroke,\n                            const
      gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:481,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:483,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 13
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 487
    functionName: gx_forward_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_fill_mask
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_mask(gx_device * dev,\n                     const
      byte * data, int dx, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h,\n                     const gx_drawing_color * pdcolor,
      int depth,\n                     gs_logical_operation_t lop, const gx_clip_path
      * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:499,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:501,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 504
    functionName: gx_forward_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_fill_trapezoid
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_trapezoid(gx_device * dev,\n                          const
      gs_fixed_edge * left,\n                          const gs_fixed_edge * right,\n
      \                         fixed ybot, fixed ytop, bool swap_axes,\n                          const
      gx_drawing_color * pdcolor,\n                          gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:513,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:515,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 518
    functionName: gx_forward_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_fill_parallelogram
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_parallelogram(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n               const
      gx_drawing_color * pdcolor, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:527,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:529,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 532
    functionName: gx_forward_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_triangle(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n               const
      gx_drawing_color * pdcolor, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_draw_thin_line
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:542,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:544,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 547
    functionName: gx_forward_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_draw_thin_line
    linkageType: ''
    returnType: int
    signature: "int gx_forward_draw_thin_line(gx_device * dev,\n                          fixed
      fx0, fixed fy0, fixed fx1, fixed fy1,\n               const gx_drawing_color
      * pdcolor, gs_logical_operation_t lop,\n                          fixed adjustx,
      fixed adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_begin_image
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:559,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:561,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 549
    functionDepth: 1
    functionLinenumber: 549
    functionLinenumberEnd: 565
    functionName: gx_forward_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - dev_proc_begin_image
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_begin_image(gx_device * dev,\n                       const
      gs_gstate * pgs, const gs_image_t * pim,\n                       gs_image_format_t
      format, const gs_int_rect * prect,\n                       const gx_drawing_color
      * pdcolor,\n                       const gx_clip_path * pcpath,\n                       gs_memory_t
      * memory, gx_image_enum_common_t ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:574,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:576,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 579
    functionName: gx_forward_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_strip_tile_rectangle
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, gx_color_index color0, gx_color_index
      color1,\n                                int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:592,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:594,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 599
    functionName: gx_forward_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_strip_copy_rop
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_strip_copy_rop(gx_device * dev, const byte * sdata,
      int sourcex,\n                          uint sraster, gx_bitmap_id id,\n                          const
      gx_color_index * scolors,\n                          const gx_strip_bitmap *
      textures,\n                          const gx_color_index * tcolors,\n                          int
      x, int y, int width, int height,\n                          int phase_x, int
      phase_y, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:615,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:617,1
    - Dst: proc2
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:619,1
    - Dst: dev_proc_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:623,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:625,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 631
    functionName: gx_forward_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_strip_copy_rop2
    - proc2
    - dev_proc_strip_copy_rop
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_strip_copy_rop2(gx_device * dev, const byte * sdata,
      int sourcex,\n                           uint sraster, gx_bitmap_id id,\n                           const
      gx_color_index * scolors,\n                           const gx_strip_bitmap
      * textures,\n                           const gx_color_index * tcolors,\n                           int
      x, int y, int width, int height,\n                           int phase_x, int
      phase_y, gs_logical_operation_t lop,\n                           uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_strip_tile_rect_devn
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:642,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 647
    functionName: gx_forward_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rect_devn
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, const gx_drawing_color * pdcolor0,\n
      \  const gx_drawing_color * pdcolor1, int px, int py)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_clipping_box
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:656,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: gx_forward_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_clipping_box
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_forward_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:673,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:675,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pim
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 679
    functionName: gx_forward_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_begin_typed_image
    linkageType: ''
    returnType: int
    signature: "int gx_forward_begin_typed_image(gx_device * dev, const gs_gstate
      * pgs,\n                             const gs_matrix * pmat,\n                             const
      gs_image_common_t * pim,\n                             const gs_int_rect * prect,\n
      \                            const gx_drawing_color * pdcolor,\n                             const
      gx_clip_path * pcpath,\n                             gs_memory_t * memory,\n
      \                            gx_image_enum_common_t ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:687,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:689,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 692
    functionName: gx_forward_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_get_bits_rectangle
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_get_bits_rectangle(gx_device * dev, const gs_int_rect
      * prect,\n                       gs_get_bits_params_t * params, gs_int_rect
      ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_map_color_rgb_alpha
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:701,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - color
    - prgba
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 703
    functionName: gx_forward_map_color_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_map_color_rgb_alpha
    linkageType: ''
    returnType: int
    signature: "int gx_forward_map_color_rgb_alpha(gx_device * dev, gx_color_index
      color,\n                               gx_color_value prgba[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_hardware_params
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:711,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 705
    functionDepth: 1
    functionLinenumber: 705
    functionLinenumberEnd: 713
    functionName: gx_forward_get_hardware_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_get_hardware_params
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_get_hardware_params(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_text_begin
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:724,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:726,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 730
    functionName: gx_forward_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - dev_proc_text_begin
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_text_begin(gx_device * dev, gs_gstate * pgs,\n                      const
      gs_text_params_t * text, gs_font * font,\n                      gx_path * path,
      const gx_device_color * pdcolor,\n                      const gx_clip_path *
      pcpath, gs_memory_t * memory,\n                      gs_text_enum_t ** ppenum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:745,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:746,1
    - Dst: gray_cs_to_gray_cm
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:749,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 750
    functionName: fwd_map_gray_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - map_gray_subclass
    - gray_cs_to_gray_cm
    - get_color_mapping_procs_subclass
    linkageType: ''
    returnType: void
    signature: void fwd_map_gray_cs(gx_device * dev, frac gray, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:764,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:765,1
    - Dst: rgb_cs_to_rgb_cm
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 2
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: fwd_map_rgb_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - map_rgb_subclass
    - get_color_mapping_procs_subclass
    - rgb_cs_to_rgb_cm
    linkageType: ''
    returnType: void
    signature: "void fwd_map_rgb_cs(gx_device * dev, const gs_gstate *pgs,\n                                   frac
      r, frac g, frac b, frac out[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:782,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:783,1
    - Dst: cmyk_cs_to_cmyk_cm
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:786,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 787
    functionName: fwd_map_cmyk_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - get_color_mapping_procs_subclass
    - cmyk_cs_to_cmyk_cm
    - map_cmyk_subclass
    linkageType: ''
    returnType: void
    signature: void fwd_map_cmyk_cs(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_DevGray_get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 807
    functionName: gx_forward_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_DevGray_get_color_mapping_procs
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_forward_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_error_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:817,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 809
    functionDepth: 1
    functionLinenumber: 809
    functionLinenumberEnd: 821
    functionName: gx_forward_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_error_get_color_comp_index
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_get_color_comp_index(gx_device * dev, const char *
      pname,\n                                        int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_error_encode_color
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:829,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 831
    functionName: gx_forward_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_error_encode_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_forward_encode_color(gx_device * dev, const gx_color_value
      colors[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:840,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:842,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - cindex
    - colors
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 844
    functionName: gx_forward_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - memset
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_decode_color(gx_device * dev, gx_color_index cindex,
      gx_color_value colors[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:856,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:858,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:860,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:869,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - dev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 870
    functionName: gx_forward_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_dev_spec_op(gx_device * dev, int dev_spec_op, void *data,
      int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:884,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 872
    functionDepth: 1
    functionLinenumber: 872
    functionLinenumberEnd: 888
    functionName: gx_forward_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_rectangle_hl_color(gx_device *dev,\n    const
      gs_fixed_rect *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n
      \   const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:899,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 903
    functionName: gx_forward_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_copy_alpha_hl_color(gx_device * dev, const byte * data,
      int data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width,
      int height,\n                      const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - cspace
    - res_name
    - name_length
    argTypes:
    - gx_device*
    - gs_color_space*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 905
    functionDepth: 1
    functionLinenumber: 905
    functionLinenumberEnd: 918
    functionName: gx_forward_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_include_color_space(gx_device *dev, gs_color_space
      *cspace,\n            const byte *res_name, int name_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_linear_color_scanline
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:927,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:929,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - fa
    - i
    - j
    - w
    - c
    - addx
    - mulx
    - divx
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 931
    functionName: gx_forward_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_fill_linear_color_scanline
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i, int j, int w,\n        const frac31 *c, const int32_t *addx,
      const int32_t *mulx, int32_t divx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:942,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:944,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 933
    functionDepth: 1
    functionLinenumber: 933
    functionLinenumberEnd: 946
    functionName: gx_forward_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc
    - dev_proc_fill_linear_color_trapezoid
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_linear_color_trapezoid(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:956,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:958,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 960
    functionName: gx_forward_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_fill_linear_color_triangle
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2,\n        const frac31 *c0, const frac31 *c1, const frac31
      *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 972
    functionName: gx_forward_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_update_spot_equivalent_colors(gx_device *dev, const
      gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 983
    functionName: gx_forward_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      gx_forward_ret_devn_params(gx_device *dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fillpage
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:990,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:992,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 994
      start: 985
    functionDepth: 1
    functionLinenumber: 985
    functionLinenumberEnd: 994
    functionName: gx_forward_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc_fillpage
    - proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_no_create_compositor
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1007,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1013
    functionName: gx_forward_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_no_create_compositor
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_forward_create_compositor(gx_device * dev, gx_device ** pcdev,\n
      \                       const gs_composite_t * pcte,\n                        gs_gstate
      * pgs, gs_memory_t * memory,\n                        gx_device *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_get_profile
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1020,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1022,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - profile
    argTypes:
    - gx_device*
    - cmm_dev_profile_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1024
    functionName: gx_forward_get_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - proc
    - dev_proc_get_profile
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_get_profile(gx_device *dev,  cmm_dev_profile_t **profile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - graphics_type_tag
    argTypes:
    - gx_device*
    - gs_graphics_type_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: gx_forward_set_graphics_type_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_forward_set_graphics_type_tag(gx_device *dev, gs_graphics_type_tag_t
      graphics_type_tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1047,1
    - Dst: gx_default_put_image
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - pdev
    - mdev
    - buffers
    - num_chan
    - xstart
    - ystart
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1050
    functionName: gx_forward_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_default_put_image
    linkageType: ''
    returnType: int
    signature: "int gx_forward_put_image(gx_device *pdev, gx_device *mdev, const byte
      **buffers, int num_chan, int xstart,\n              int ystart, int width, int
      height, int row_stride,\n              int alpha_plane_index, int tag_plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1059,1
    - Dst: gx_default_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1061,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1052
    functionDepth: 1
    functionLinenumber: 1052
    functionLinenumberEnd: 1062
    functionName: gx_forward_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_transform_pixel_region
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_forward_transform_pixel_region(gx_device *pdev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_upright_get_initial_matrix
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1191,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1184
    functionDepth: 1
    functionLinenumber: 1184
    functionLinenumberEnd: 1194
    functionName: gx_forward_upright_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_upright_get_initial_matrix
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_forward_upright_get_initial_matrix(gx_device * dev, gs_matrix
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - cindex
    - colors
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1201
    functionName: null_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int null_decode_color(gx_device * dev, gx_color_index cindex, gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1203
    functionDepth: 0
    functionLinenumber: 1203
    functionLinenumberEnd: 1208
    functionName: null_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                    gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1209
    functionDepth: 0
    functionLinenumber: 1209
    functionLinenumberEnd: 1215
    functionName: null_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_copy_mono(gx_device * dev, const byte * data, int dx, int
      raster,\n               gx_bitmap_id id, int x, int y, int w, int h,\n               gx_color_index
      zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1216
    functionDepth: 0
    functionLinenumber: 1216
    functionLinenumberEnd: 1222
    functionName: null_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_copy_color(gx_device * dev, const byte * data,\n                int
      data_x, int raster, gx_bitmap_id id,\n                int x, int y, int width,
      int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_put_params
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1236,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1237,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1223
    functionDepth: 2
    functionLinenumber: 1223
    functionLinenumberEnd: 1244
    functionName: null_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_forward_put_params
    - dev_proc
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int null_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1251
    functionName: null_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_copy_alpha(gx_device * dev, const byte * data, int data_x,
      int raster,\n                gx_bitmap_id id, int x, int y, int width, int height,\n
      \               gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1252
    functionDepth: 0
    functionLinenumber: 1252
    functionLinenumberEnd: 1261
    functionName: null_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_copy_rop(gx_device * dev,\n              const byte * sdata,
      int sourcex, uint sraster, gx_bitmap_id id,\n              const gx_color_index
      * scolors,\n              const gx_tile_bitmap * texture, const gx_color_index
      * tcolors,\n              int x, int y, int width, int height,\n              int
      phase_x, int phase_y, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1262
    functionDepth: 0
    functionLinenumber: 1262
    functionLinenumberEnd: 1268
    functionName: null_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_path(gx_device * dev, const gs_gstate * pgs,\n               gx_path
      * ppath, const gx_fill_params * params,\n               const gx_drawing_color
      * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: null_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_stroke_path(gx_device * dev, const gs_gstate * pgs,\n                 gx_path
      * ppath, const gx_stroke_params * params,\n                 const gx_drawing_color
      * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1276
    functionDepth: 0
    functionLinenumber: 1276
    functionLinenumberEnd: 1284
    functionName: null_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_trapezoid(gx_device * dev,\n                    const
      gs_fixed_edge * left, const gs_fixed_edge * right,\n                    fixed
      ybot, fixed ytop, bool swap_axes,\n                    const gx_drawing_color
      * pdcolor,\n                    gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1285
    functionDepth: 0
    functionLinenumber: 1285
    functionLinenumberEnd: 1292
    functionName: null_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_parallelogram(gx_device * dev, fixed px, fixed py,\n
      \                       fixed ax, fixed ay, fixed bx, fixed by,\n                        const
      gx_drawing_color * pdcolor,\n                        gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1293
    functionDepth: 0
    functionLinenumber: 1293
    functionLinenumberEnd: 1300
    functionName: null_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_triangle(gx_device * dev,\n                   fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                   const
      gx_drawing_color * pdcolor,\n                   gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1301
    functionDepth: 0
    functionLinenumber: 1301
    functionLinenumberEnd: 1309
    functionName: null_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_draw_thin_line(gx_device * dev,\n                    fixed
      fx0, fixed fy0, fixed fx1, fixed fy1,\n                    const gx_drawing_color
      * pdcolor,\n                    gs_logical_operation_t lop,\n                    fixed
      adjustx, fixed adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1320
    functionName: null_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_strip_copy_rop(gx_device * dev, const byte * sdata, int sourcex,\n
      \                   uint sraster, gx_bitmap_id id,\n                    const
      gx_color_index * scolors,\n                    const gx_strip_bitmap * textures,\n
      \                   const gx_color_index * tcolors,\n                    int
      x, int y, int width, int height,\n                    int phase_x, int phase_y,
      gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1321
    functionDepth: 0
    functionLinenumber: 1321
    functionLinenumberEnd: 1332
    functionName: null_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_strip_copy_rop2(gx_device * dev, const byte * sdata, int
      sourcex,\n                     uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n                     const gx_strip_bitmap * textures,\n
      \                    const gx_color_index * tcolors,\n                     int
      x, int y, int width, int height,\n                     int phase_x, int phase_y,
      gs_logical_operation_t lop,\n                     uint plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1334
    functionDepth: 0
    functionLinenumber: 1334
    functionLinenumberEnd: 1340
    functionName: null_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, const gx_drawing_color * pdcolor0,\n
      \  const gx_drawing_color * pdcolor1, int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1350
    functionDepth: 0
    functionLinenumber: 1350
    functionLinenumberEnd: 1356
    functionName: null_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int null_fill_rectangle_hl_color(gx_device *pdev,\n    const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1368
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1368
    functionName: null_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int null_spec_op(gx_device *pdev, int dev_spec_op, void *data, int
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1370
    functionDepth: 1
    functionLinenumber: 1370
    functionLinenumberEnd: 1380
    functionName: fwd_uses_fwd_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool fwd_uses_fwd_cmap_procs(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1389,1
    - Dst: get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1389,1
    - Dst: fwd_get_target_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1394
    functionName: fwd_get_target_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - fwd_get_target_cmap_procs
    - dev_proc
    - get_color_mapping_procs
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      fwd_get_target_cmap_procs(gx_device * dev)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1404,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1406,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1409,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1414,1
    - Dst: do_device_dump
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1416,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - dev
    - n
    argTypes:
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1397
    functionDepth: 1
    functionLinenumber: 1397
    functionLinenumberEnd: 1418
    functionName: do_device_dump
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 1
    functionsReached:
    - do_device_dump
    - dmlprintf3
    - dev_proc
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void do_device_dump(gx_device *dev, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1422,1
    - Dst: do_device_dump
      Src: /src/libspectre/ghostscript/base/gdevnfwd.c:1423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - text
    argTypes:
    - gx_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1420
    functionDepth: 2
    functionLinenumber: 1420
    functionLinenumberEnd: 1424
    functionName: gx_device_dump
    functionSourceFile: /src/libspectre/ghostscript/base/gdevnfwd.c
    functionUses: 0
    functionsReached:
    - do_device_dump
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: void gx_device_dump(gx_device *dev, const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init_on_stack
      Src: /src/libspectre/ghostscript/base/gxclip.c:138,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxclip.c:140,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - dev
    - pcpath
    - target
    argTypes:
    - gx_device_clip*
    - gx_clip_path*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 153
    functionName: gx_make_clip_device_on_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 6
    functionsReached:
    - gx_device_init_on_stack
    - gx_cpath_list
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_make_clip_device_on_stack(gx_device_clip * dev, const gx_clip_path
      *pcpath, gx_device *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_clip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 160
    functionName: gx_destroy_clip_device_on_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_destroy_clip_device_on_stack(gx_device_clip * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init_on_stack
      Src: /src/libspectre/ghostscript/base/gxclip.c:183,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxclip.c:184,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:196,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - dev
    - pcpath
    - target
    - rect
    argTypes:
    - gx_device_clip*
    - gx_clip_path*
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 198
    functionName: gx_make_clip_device_on_stack_if_needed
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 1
    functionsReached:
    - gx_device_init_on_stack
    - gx_cpath_list
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_make_clip_device_on_stack_if_needed(gx_device_clip * dev, const gx_clip_path
      *pcpath, gx_device *target, gs_fixed_rect *rect)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gxclip.c:203,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxclip.c:204,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gxclip.c:213,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxclip.c:214,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - dev
    - pcpath
    - target
    - mem
    argTypes:
    - gx_device_clip*
    - gx_clip_path*
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 216
    functionName: gx_make_clip_device_in_heap
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - gx_cpath_list
    - gx_device_set_target
    - gx_device_init
    - dev_proc
    - gx_device_retain
    linkageType: ''
    returnType: void
    signature: "void gx_make_clip_device_in_heap(gx_device_clip * dev, const gx_clip_path
      *pcpath, gx_device *target,\n                              gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: INCR_THEN
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_THEN(v, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: INCR_THEN
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_THEN(v, e)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:251,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclip.c:251,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/base/gxclip.c:252,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gxclip.c:256,1
    - Dst: INCR_THEN
      Src: /src/libspectre/ghostscript/base/gxclip.c:276,1
    - Dst: INCR_THEN
      Src: /src/libspectre/ghostscript/base/gxclip.c:280,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:282,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclip.c:296,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclip.c:298,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxclip.c:308,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclip.c:309,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:310,1
    - Dst: process
      Src: /src/libspectre/ghostscript/base/gxclip.c:334,1
    - Dst: process
      Src: /src/libspectre/ghostscript/base/gxclip.c:336,1
    - Dst: INCR_THEN
      Src: /src/libspectre/ghostscript/base/gxclip.c:340,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 51
    argCount: 6
    argNames:
    - rdev
    - x
    - y
    - xe
    - ye
    - pccd
    argTypes:
    - gx_device_clip*
    - int
    - int
    - int
    - int
    - clip_callback_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 348
    functionName: clip_enumerate_rest
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - process
    - gs_debug_c
    - INCR
    - INCR_THEN
    - clip_rect_print
    - dmprintf5
    - if_debug2m
    - dmprintf4
    - min
    linkageType: ''
    returnType: int
    signature: "int clip_enumerate_rest(gx_device_clip * rdev,\n                    int
      x, int y, int xe, int ye,\n                    int (*process)(clip_callback_data_t
      * pccd,\n                                   int xc, int yc, int xec, int yec),\n
      \                   clip_callback_data_t * pccd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INCR_THEN
      Src: /src/libspectre/ghostscript/base/gxclip.c:381,1
    - Dst: process
      Src: /src/libspectre/ghostscript/base/gxclip.c:381,1
    - Dst: INCR_THEN
      Src: /src/libspectre/ghostscript/base/gxclip.c:383,1
    - Dst: process
      Src: /src/libspectre/ghostscript/base/gxclip.c:383,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:386,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 6
    argNames:
    - rdev
    - x
    - y
    - w
    - h
    - pccd
    argTypes:
    - gx_device_clip*
    - int
    - int
    - int
    - int
    - clip_callback_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 350
    functionDepth: 2
    functionLinenumber: 350
    functionLinenumberEnd: 387
    functionName: clip_enumerate
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - process
    - INCR_THEN
    linkageType: ''
    returnType: int
    signature: "int clip_enumerate(gx_device_clip * rdev, int x, int y, int w, int
      h,\n               int (*process)(clip_callback_data_t * pccd,\n                              int
      xc, int yc, int xec, int yec),\n               clip_callback_data_t * pccd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_copy_color_procs
      Src: /src/libspectre/ghostscript/base/gxclip.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 407
    functionName: clip_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - gx_device_copy_color_procs
    linkageType: ''
    returnType: int
    signature: int clip_open(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 415
    functionName: clip_call_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_fill_rectangle(clip_callback_data_t * pccd, int xc, int
      yc, int xec, int yec)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:442,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:444,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:445,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:450,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:457,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:462,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 463
    functionName: clip_fill_rectangle_t0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_t0(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:493,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:495,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:496,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:501,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:508,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:513,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 514
    functionName: clip_fill_rectangle_t1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_t1(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 542
    functionName: clip_fill_rectangle_s0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_s0(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:570,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 544
    functionDepth: 1
    functionLinenumber: 544
    functionLinenumberEnd: 571
    functionName: clip_fill_rectangle_s1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_s1(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:580,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:582,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:585,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:587,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:589,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: clip_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                    gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:598,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:599,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:600,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:601,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 604
    functionName: clip_call_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clip_call_fill_rectangle_hl_color(clip_callback_data_t * pccd,
      int xc, int yc, \n                                  int xec, int yec)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:619,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:620,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:621,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:622,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:639,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:641,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:642,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:643,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:644,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:645,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:646,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:652,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:660,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:661,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:662,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:663,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:664,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:673,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 606
    functionDepth: 2
    functionLinenumber: 606
    functionLinenumberEnd: 675
    functionName: clip_fill_rectangle_hl_color_t0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - INCR
    - fixed2int
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_hl_color_t0(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:690,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:691,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:692,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:693,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:713,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:715,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:716,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:717,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:718,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:719,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:720,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:726,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:734,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:735,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:736,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:737,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:738,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:747,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 749
    functionName: clip_fill_rectangle_hl_color_t1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - INCR
    - fixed2int
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_hl_color_t1(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:761,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:762,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:763,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:764,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:784,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:785,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:786,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:787,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 790
    functionName: clip_fill_rectangle_hl_color_s0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_hl_color_s0(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:802,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:803,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:804,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:805,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:826,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:827,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:828,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:829,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:830,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 792
    functionDepth: 1
    functionLinenumber: 792
    functionLinenumberEnd: 832
    functionName: clip_fill_rectangle_hl_color_s1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_hl_color_s1(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:843,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:845,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:848,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:850,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:852,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 853
    functionName: clip_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 863
    functionName: clip_call_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_copy_mono(clip_callback_data_t * pccd, int xc, int yc,
      int xec, int yec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:887,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:889,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:890,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:897,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 899
    functionName: clip_copy_mono_t0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_copy_mono_t0(gx_device * dev,\n                  const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                  int x,
      int y, int w, int h,\n                  gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:925,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:927,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:928,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:935,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 900
    functionDepth: 2
    functionLinenumber: 900
    functionLinenumberEnd: 937
    functionName: clip_copy_mono_t1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_copy_mono_t1(gx_device * dev,\n                  const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                  int x,
      int y, int w, int h,\n                  gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:971,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 973
    functionName: clip_copy_mono_s0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_mono_s0(gx_device * dev,\n                  const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                  int x,
      int y, int w, int h,\n                  gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1008,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1010
    functionName: clip_copy_mono_s1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_mono_s1(gx_device * dev,\n                  const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                  int x,
      int y, int w, int h,\n                  gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1021,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1023,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1026,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1028,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1031
    functionName: clip_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_mono(gx_device * dev,\n               const byte * data,
      int sourcex, int raster, gx_bitmap_id id,\n               int x, int y, int
      w, int h,\n               gx_color_index color0, gx_color_index color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1041
    functionName: clip_call_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_copy_planes(clip_callback_data_t * pccd, int xc, int
      yc, int xec, int yec)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:1064,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:1066,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1067,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:1074,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1042
    functionDepth: 2
    functionLinenumber: 1042
    functionLinenumberEnd: 1076
    functionName: clip_copy_planes_t0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_copy_planes_t0(gx_device * dev,\n                    const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                    int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:1102,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxclip.c:1104,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1105,1
    - Dst: clip_enumerate_rest
      Src: /src/libspectre/ghostscript/base/gxclip.c:1112,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1077
    functionDepth: 2
    functionLinenumber: 1077
    functionLinenumberEnd: 1114
    functionName: clip_copy_planes_t1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate_rest
    - dev_proc
    - INCR
    linkageType: ''
    returnType: int
    signature: "int clip_copy_planes_t1(gx_device * dev,\n                    const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                    int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1147
    functionName: clip_copy_planes_s0
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_planes_s0(gx_device * dev,\n                    const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                    int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1181
    functionName: clip_copy_planes_s1
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_planes_s1(gx_device * dev,\n                    const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                    int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1191,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1193,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1196,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1198,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1201
    functionName: clip_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_copy_planes(gx_device * dev,\n                 const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                 int x, int
      y, int w, int h, int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1211
    functionName: clip_call_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_copy_color(clip_callback_data_t * pccd, int xc, int yc,
      int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1222
    functionName: clip_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_copy_color(gx_device * dev,\n                const byte *
      data, int sourcex, int raster, gx_bitmap_id id,\n                int x, int
      y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1225
    functionDepth: 1
    functionLinenumber: 1225
    functionLinenumberEnd: 1232
    functionName: clip_call_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_copy_alpha(clip_callback_data_t * pccd, int xc, int yc,
      int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1233
    functionDepth: 3
    functionLinenumber: 1233
    functionLinenumberEnd: 1245
    functionName: clip_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_copy_alpha(gx_device * dev,\n                const byte *
      data, int sourcex, int raster, gx_bitmap_id id,\n                int x, int
      y, int w, int h,\n                gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1255
    functionName: clip_call_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_call_copy_alpha_hl_color(clip_callback_data_t * pccd, int
      xc, int yc, \n                              int xec, int yec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1257
    functionDepth: 3
    functionLinenumber: 1257
    functionLinenumberEnd: 1269
    functionName: clip_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_copy_alpha_hl_color(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                int
      x, int y, int w, int h,\n                const gx_drawing_color *pdcolor, int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1280
    functionName: clip_call_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_fill_mask(clip_callback_data_t * pccd, int xc, int yc,
      int xec, int yec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/base/gxclip.c:1292,1
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 13
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1281
    functionDepth: 3
    functionLinenumber: 1281
    functionLinenumberEnd: 1298
    functionName: clip_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    - gx_default_fill_mask
    linkageType: ''
    returnType: int
    signature: "int clip_fill_mask(gx_device * dev,\n               const byte * data,
      int sourcex, int raster, gx_bitmap_id id,\n               int x, int y, int
      w, int h,\n               const gx_drawing_color * pdcolor, int depth,\n               gs_logical_operation_t
      lop, const gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1301
    functionDepth: 1
    functionLinenumber: 1301
    functionLinenumberEnd: 1307
    functionName: clip_call_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_strip_tile_rect_devn(clip_callback_data_t * pccd, int
      xc, int yc, int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1308
    functionDepth: 3
    functionLinenumber: 1308
    functionLinenumberEnd: 1323
    functionName: clip_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                                int x, int y, int w, int h,\n                                const
      gx_drawing_color *pdcolor0, \n                                const gx_drawing_color
      *pdcolor1, int phase_x, \n                                int phase_y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1332
      start: 1326
    functionDepth: 1
    functionLinenumber: 1326
    functionLinenumberEnd: 1332
    functionName: clip_call_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_strip_tile_rectangle(clip_callback_data_t * pccd, int
      xc, int yc, int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1333
    functionDepth: 3
    functionLinenumber: 1333
    functionLinenumberEnd: 1345
    functionName: clip_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                          int x, int y, int w, int h,\n     gx_color_index
      color0, gx_color_index color1, int phase_x, int phase_y)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1357
    functionName: clip_call_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_strip_copy_rop(clip_callback_data_t * pccd, int xc, int
      yc, int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1358
    functionDepth: 3
    functionLinenumber: 1358
    functionLinenumberEnd: 1374
    functionName: clip_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_strip_copy_rop(gx_device * dev,\n              const byte
      * sdata, int sourcex, uint raster, gx_bitmap_id id,\n                    const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                    int x, int y, int w, int h,\n
      \                   int phase_x, int phase_y, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1386
    functionName: clip_call_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int clip_call_strip_copy_rop2(clip_callback_data_t * pccd, int xc,
      int yc, int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1387
    functionDepth: 3
    functionLinenumber: 1387
    functionLinenumberEnd: 1405
    functionName: clip_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_strip_copy_rop2(gx_device * dev,\n              const byte
      * sdata, int sourcex, uint raster, gx_bitmap_id id,\n                    const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                    int x, int y, int w, int h,\n
      \                   int phase_x, int phase_y, gs_logical_operation_t lop,\n
      \                   uint planar_height)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1417,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1422,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1423,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1424,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1425,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1444,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1445,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1446,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1447,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxclip.c:1458,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1461,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1462,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 51
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1477
    functionName: clip_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - rect_intersect
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void clip_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1492,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1480
    functionDepth: 1
    functionLinenumber: 1480
    functionLinenumberEnd: 1505
    functionName: clip_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clip_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect,\n
      \                       gs_get_bits_params_t * params, gs_int_rect ** unread)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_path
      Src: /src/libspectre/ghostscript/base/gxclip.c:1511,1
    - Dst: gx_cpath_init_local_shared_nested
      Src: /src/libspectre/ghostscript/base/gxclip.c:1522,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclip.c:1525,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gxclip.c:1526,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1526,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1526,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1526,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1526,1
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gxclip.c:1529,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclip.c:1531,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1534,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1535,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1536,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1537,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gxclip.c:1538,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxclip.c:1539,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1543,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclip.c:1548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1550
    functionName: clip_call_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_cpath_init_local
    - gx_cpath_free
    - dev_proc_fill_path
    - gx_cpath_intersect
    - gx_path_add_rectangle
    - gx_cpath_from_rectangle
    - gx_path_init_local
    - gx_cpath_init_local_shared_nested
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: int clip_call_fill_path(clip_callback_data_t * pccd, int xc, int yc,
      int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_get_clipping_box
      Src: /src/libspectre/ghostscript/base/gxclip.c:1566,1
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1567,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1568,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1569,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1570,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1551
    functionDepth: 3
    functionLinenumber: 1551
    functionLinenumberEnd: 1573
    functionName: clip_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - clip_get_clipping_box
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_fill_path(gx_device * dev, const gs_gstate * pgs,\n               gx_path
      * ppath, const gx_fill_params * params,\n               const gx_drawing_color
      * pdcolor,\n               const gx_clip_path * pcpath)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclip.c:1597,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1625,1
    - Dst: gx_default_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gxclip.c:1629,1
    - Dst: gx_default_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gxclip.c:1638,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1640,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclip.c:1643,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 52
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1580
    functionDepth: 1
    functionLinenumber: 1580
    functionLinenumberEnd: 1649
    functionName: clip_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - gx_default_transform_pixel_region
    - gs_free_object
    - dev_proc
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int clip_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gxclip.c:1655,1
    - Dst: gx_cpath_init_local_shared_nested
      Src: /src/libspectre/ghostscript/base/gxclip.c:1666,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxclip.c:1669,1
    - Dst: gx_path_add_rectangle
      Src: /src/libspectre/ghostscript/base/gxclip.c:1670,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1670,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1670,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1670,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1670,1
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gxclip.c:1673,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxclip.c:1675,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1678,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1679,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1680,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclip.c:1681,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gxclip.c:1682,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxclip.c:1683,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip.c:1687,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxclip.c:1693,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 5
    argNames:
    - pccd
    - xc
    - yc
    - xec
    - yec
    argTypes:
    - clip_callback_data_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1695
    functionName: clip_call_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gx_cpath_init_local
    - gx_cpath_free
    - gx_cpath_intersect
    - gx_path_add_rectangle
    - dev_proc_fill_stroke_path
    - gx_cpath_from_rectangle
    - gx_path_init_local
    - gx_cpath_init_local_shared_nested
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: int clip_call_fill_stroke_path(clip_callback_data_t * pccd, int xc,
      int yc, int xec, int yec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_get_clipping_box
      Src: /src/libspectre/ghostscript/base/gxclip.c:1717,1
    - Dst: clip_enumerate
      Src: /src/libspectre/ghostscript/base/gxclip.c:1718,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1719,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1720,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1721,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip.c:1722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - stroke_params
    - pstroke_dcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1697
    functionDepth: 3
    functionLinenumber: 1697
    functionLinenumberEnd: 1724
    functionName: clip_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - clip_get_clipping_box
    - clip_enumerate
    linkageType: ''
    returnType: int
    signature: "int clip_fill_stroke_path(gx_device *dev, const gs_gstate *pgs,\n
      \              gx_path *ppath,\n               const gx_fill_params *params,\n
      \              const gx_drawing_color *pdcolor,\n               const gx_stroke_params
      *stroke_params,\n               const gx_drawing_color *pstroke_dcolor,\n               const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_type1_encrypt
      Src: /src/libspectre/ghostscript/base/seexec.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 53
    functionName: s_exE_process
    functionSourceFile: /src/libspectre/ghostscript/base/seexec.c
    functionUses: 0
    functionsReached:
    - gs_type1_encrypt
    linkageType: ''
    returnType: int
    signature: "int s_exE_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 77
    functionName: s_exD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/seexec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_exD_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: s_exD_init
    functionSourceFile: /src/libspectre/ghostscript/base/seexec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_exD_init(stream_state * st)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/seexec.c:124,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/seexec.c:138,1
    - Dst: s_hex_process
      Src: /src/libspectre/ghostscript/base/seexec.c:168,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/base/seexec.c:194,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/base/seexec.c:200,1
    - Dst: gs_type1_decrypt
      Src: /src/libspectre/ghostscript/base/seexec.c:203,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 209
    functionName: s_exD_process
    functionSourceFile: /src/libspectre/ghostscript/base/seexec.c
    functionUses: 0
    functionsReached:
    - gs_type1_decrypt
    - min
    - s_hex_process
    linkageType: ''
    returnType: int
    signature: "int s_exD_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pixel_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage4.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pim
    - color_space
    argTypes:
    - gs_image4_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: gs_image4_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage4.c
    functionUses: 0
    functionsReached:
    - gs_pixel_image_t_init
    linkageType: ''
    returnType: void
    signature: void gs_image4_t_init(gs_image4_t * pim, gs_color_space * color_space)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gximage4.c:71,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gximage4.c:83,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage4.c:95,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage4.c:96,1
    - Dst: gx_image_enum_begin
      Src: /src/libspectre/ghostscript/base/gximage4.c:107,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 115
    functionName: gx_begin_image4
    functionSourceFile: /src/libspectre/ghostscript/base/gximage4.c
    functionUses: 0
    functionsReached:
    - gx_image_enum_alloc
    - gx_image_enum_begin
    - cs_num_components
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image4(gx_device * dev,\n                const gs_gstate
      * pgs, const gs_matrix * pmat,\n                const gs_image_common_t * pic,
      const gs_int_rect * prect,\n                const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                gs_memory_t * mem, gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_sput
      Src: /src/libspectre/ghostscript/base/gximage4.c:125,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage4.c:128,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage4.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pic
    - s
    - ppcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 137
    functionName: gx_image4_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gximage4.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - gx_pixel_image_sput
    - sput_variable_uint
    linkageType: ''
    returnType: int
    signature: "int gx_image4_sput(const gs_image_common_t *pic, stream *s,\n               const
      gs_color_space **ppcs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_sget
      Src: /src/libspectre/ghostscript/base/gximage4.c:146,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage4.c:153,1
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage4.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - pic
    - s
    - pcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: gx_image4_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gximage4.c
    functionUses: 0
    functionsReached:
    - gx_pixel_image_sget
    - gs_color_space_num_components
    - sget_variable_uint
    linkageType: ''
    returnType: int
    signature: "int gx_image4_sget(gs_image_common_t *pic, stream *s,\n               gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_release
      Src: /src/libspectre/ghostscript/base/gximage4.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pic
    - mem
    argTypes:
    - gs_image_common_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gx_image4_release
    functionSourceFile: /src/libspectre/ghostscript/base/gximage4.c
    functionUses: 0
    functionsReached:
    - gx_pixel_image_release
    linkageType: ''
    returnType: void
    signature: void gx_image4_release(gs_image_common_t *pic, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: private_st_exE_state
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_exE_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 72
    functionName: private_st_exD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_exD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: private_st_PFBD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_PFBD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: private_st_SFD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_SFD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: sreadline_proc
    functionSourceFile: /src/libspectre/ghostscript/base/srdline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sreadline_proc(proc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:49,1
    - Dst: ENUM_USING_PREFIX
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pfn
    argTypes:
    - gs_function_Sd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - ENUM_USING_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(function_Sd_enum_ptrs, gs_function_Sd_t *pfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:59,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:60,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:62,1
    - Dst: RELOC_PTR3
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pfn
    argTypes:
    - gs_function_Sd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 64
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR3
    - RELOC_PREFIX
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(function_Sd_reloc_ptrs, gs_function_Sd_t
      *pfn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bps
    - ','
    - nbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 86
    functionName: SETUP_SAMPLES
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_SAMPLES(bps, nbytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: fn_gets_1
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_1(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 108
    functionName: fn_gets_2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_2(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 117
    functionName: fn_gets_4
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_4(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: fn_gets_8
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_8(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: fn_gets_12
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_12(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: fn_gets_16
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_16(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: fn_gets_24
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_24(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SETUP_SAMPLES
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pfn
    - offset
    - samples
    argTypes:
    - gs_function_Sd_t*
    - ulong
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 169
    functionName: fn_gets_32
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - SETUP_SAMPLES
    linkageType: ''
    returnType: int
    signature: int fn_gets_32(const gs_function_Sd_t * pfn, ulong offset, uint * samples)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:200,1
    - Dst: SQR
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:200,1
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:201,1
    - Dst: SQR
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:201,1
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:202,1
    - Dst: SQR
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:202,1
    - Dst: CUBE
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:203,1
    - Dst: SQR
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:203,1
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - x
    - f0
    - f1
    - f2
    - f3
    argTypes:
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 211
    functionName: interpolate_cubic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - CUBE
    - if_debug6
    - SQR
    linkageType: ''
    returnType: double
    signature: double interpolate_cubic(double x, double f0, double f1, double f2,
      double f3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: SQR
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: CUBE
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUBE(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - x
    - f0
    - f1
    - f2
    argTypes:
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: interpolate_quadratic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - interpolate_cubic
    linkageType: ''
    returnType: double
    signature: double interpolate_quadratic(double x, double f0, double f1, double
      f2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:250,1
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:252,1
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:254,1
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:269,1
    - Dst: interpolate_quadratic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:273,1
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:278,1
    - Dst: interpolate_quadratic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:284,1
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:289,1
    - Dst: interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:293,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - pfn
    - fparts
    - iparts
    - factors
    - samples
    - offset
    - m
    argTypes:
    - gs_function_Sd_t*
    - float*
    - int*
    - ulong*
    - float*
    - ulong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 296
    functionName: fn_interpolate_cubic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - fn_interpolate_cubic
    - interpolate_cubic
    - interpolate_quadratic
    - is_fzero
    linkageType: ''
    returnType: void
    signature: "void fn_interpolate_cubic(const gs_function_Sd_t *pfn, const float
      *fparts,\n                     const int *iparts, const ulong *factors,\n                     float
      *samples, ulong offset, int m)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:316,1
    - Dst: fn_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:321,1
    - Dst: fn_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:323,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 6
    argNames:
    - pfn
    - fparts
    - factors
    - samples
    - offset
    - m
    argTypes:
    - gs_function_Sd_t*
    - float*
    - ulong*
    - float*
    - ulong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 328
    functionName: fn_interpolate_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - fn_interpolate_linear
    - is_fzero
    linkageType: ''
    returnType: void
    signature: "void fn_interpolate_linear(const gs_function_Sd_t *pfn, const float
      *fparts,\n                 const ulong *factors, float *samples, ulong offset,
      int m)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - pfn
    - i
    - sample
    argTypes:
    - gs_function_Sd_t*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 354
    functionName: fn_Sd_encode
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double fn_Sd_encode(const gs_function_Sd_t *pfn, int i, double sample)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fn_interpolate_cubic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:413,1
    - Dst: fn_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:416,1
    - Dst: fn_Sd_encode
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:422,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - pfn_common
    - in
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 358
    functionDepth: 4
    functionLinenumber: 358
    functionLinenumberEnd: 425
    functionName: fn_Sd_evaluate_general
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_interpolate_linear
    - fn_interpolate_cubic
    - fn_Sd_encode
    linkageType: ''
    returnType: int
    signature: int fn_Sd_evaluate_general(const gs_function_t * pfn_common, const
      float *in, float *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - p
    - f0
    - f1
    - f2
    - f3
    - pole_step_minor
    argTypes:
    - double*
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 438
    functionName: fn_make_cubic_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void fn_make_cubic_poles(double *p, double f0, double f1, double f2,
      double f3,\n            const int pole_step_minor)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fn_make_cubic_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:453,1
    - Dst: fn_make_cubic_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - p
    - pole_step
    - power
    - bias
    argTypes:
    - double*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 467
    functionName: fn_make_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_make_cubic_poles
    linkageType: ''
    returnType: void
    signature: void fn_make_poles(double *p, const int pole_step, int power, int bias)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:487,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:488,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:489,1
    - Dst: fn_Sd_encode
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:498,1
    - Dst: fn_make_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:509,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 3
    argNames:
    - pfn
    - in
    - out
    argTypes:
    - gs_function_Sd_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 526
    functionName: fn_Sd_evaluate_cubic_cached_1d
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_Sd_encode
    - max
    - floor
    - fn_make_poles
    - min
    linkageType: ''
    returnType: int
    signature: int fn_Sd_evaluate_cubic_cached_1d(const gs_function_Sd_t *pfn, const
      float *in, float *out)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pfn
    - in
    - T
    - I
    argTypes:
    - gs_function_Sd_t*
    - float*
    - double[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 547
    functionName: decode_argument
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: void
    signature: void decode_argument(const gs_function_Sd_t *pfn, const float *in,
      double T[max_Sd_m], int I[max_Sd_m])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:554,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - pfn
    - I
    - T
    - ii
    - Ii
    - ib
    - ie
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 560
    functionName: index_span
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: void index_span(const gs_function_Sd_t *pfn, int *I, double *T, int
      ii, int *Ii, int *ib, int *ie)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fn_Sd_encode
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pfn
    - s_offset
    - V
    argTypes:
    - gs_function_Sd_t*
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 574
    functionName: load_vector_to
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_Sd_encode
    linkageType: ''
    returnType: int
    signature: int load_vector_to(const gs_function_Sd_t *pfn, int s_offset, double
      *V)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn_Sd_encode
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:587,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pfn
    - a_offset
    - s_offset
    argTypes:
    - gs_function_Sd_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 576
    functionDepth: 1
    functionLinenumber: 576
    functionLinenumberEnd: 590
    functionName: load_vector
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_Sd_encode
    linkageType: ''
    returnType: int
    signature: int load_vector(const gs_function_Sd_t *pfn, int a_offset, int s_offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn_make_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - pfn
    - offset
    - pole_step
    - power
    - bias
    argTypes:
    - gs_function_Sd_t*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 599
    functionName: interpolate_vector
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_make_poles
    linkageType: ''
    returnType: void
    signature: void interpolate_vector(const gs_function_Sd_t *pfn, int offset, int
      pole_step, int power, int bias)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_vector
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:606,1
    - Dst: interpolate_tensors
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:612,1
    - Dst: interpolate_tensors
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:617,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - pfn
    - I
    - T
    - offset
    - pole_step
    - power
    - bias
    - ii
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 620
    functionName: interpolate_tensors
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - interpolate_vector
    - interpolate_tensors
    linkageType: ''
    returnType: void
    signature: "void interpolate_tensors(const gs_function_Sd_t *pfn, int *I, double
      *T,\n        int offset, int pole_step, int power, int bias, int ii)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - pfn
    - I
    - T
    - a_offset
    - ii
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 636
    functionName: is_tensor_done
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool is_tensor_done(const gs_function_Sd_t *pfn, int *I, double *T,
      int a_offset, int ii)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: load_vector
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:697,1
    - Dst: index_span
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:706,1
    - Dst: is_tensor_done
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:707,1
    - Dst: make_interpolation_tensor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:709,1
    - Dst: interpolate_tensors
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:715,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 6
    argNames:
    - pfn
    - I
    - T
    - a_offset
    - s_offset
    - ii
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 639
    functionDepth: 4
    functionLinenumber: 639
    functionLinenumberEnd: 720
    functionName: make_interpolation_tensor
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - make_interpolation_tensor
    - interpolate_tensors
    - is_tensor_done
    - load_vector
    - index_span
    linkageType: ''
    returnType: int
    signature: "int make_interpolation_tensor(const gs_function_Sd_t *pfn, int *I,
      double *T,\n                            int a_offset, int s_offset, int ii)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: load_vector
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:732,1
    - Dst: make_interpolation_tensor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:737,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:743,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:744,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:749,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:751,1
    - Dst: make_interpolation_nodes
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:755,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 8
    argNames:
    - pfn
    - T0
    - T1
    - I
    - T
    - a_offset
    - s_offset
    - ii
    argTypes:
    - gs_function_Sd_t*
    - double*
    - double*
    - int*
    - double*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 723
    functionDepth: 5
    functionLinenumber: 723
    functionLinenumberEnd: 762
    functionName: make_interpolation_nodes
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - make_interpolation_tensor
    - make_interpolation_nodes
    - floor
    - ceil
    - return_error
    - load_vector
    linkageType: ''
    returnType: int
    signature: "int make_interpolation_nodes(const gs_function_Sd_t *pfn, double *T0,
      double *T1,\n                            int *I, double *T,\n                            int
      a_offset, int s_offset, int ii)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: evaluate_from_tenzor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:773,1
    - Dst: evaluate_from_tenzor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:779,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - pfn
    - I
    - T
    - offset
    - ii
    - y
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - int
    - int
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 790
    functionName: evaluate_from_tenzor
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - evaluate_from_tenzor
    linkageType: ''
    returnType: int
    signature: int evaluate_from_tenzor(const gs_function_Sd_t *pfn, int *I, double
      *T, int offset, int ii, double *y)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: decode_argument
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:801,1
    - Dst: make_interpolation_tensor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:802,1
    - Dst: evaluate_from_tenzor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:805,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - pfn
    - in
    - out
    argTypes:
    - gs_function_Sd_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 795
    functionDepth: 5
    functionLinenumber: 795
    functionLinenumberEnd: 816
    functionName: fn_Sd_evaluate_multicubic_cached
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - decode_argument
    - make_interpolation_tensor
    - evaluate_from_tenzor
    linkageType: ''
    returnType: int
    signature: int fn_Sd_evaluate_multicubic_cached(const gs_function_Sd_t *pfn, const
      float *in, float *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fn_Sd_evaluate_multicubic_cached
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:827,1
    - Dst: fn_Sd_evaluate_cubic_cached_1d
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:829,1
    - Dst: fn_Sd_evaluate_general
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:834,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:836,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:838,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:839,1
    - Dst: fn_Sd_evaluate_general
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:844,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - pfn_common
    - in
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 819
    functionDepth: 6
    functionLinenumber: 819
    functionLinenumberEnd: 846
    functionName: fn_Sd_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - any_abs
    - fn_Sd_evaluate_general
    - fn_Sd_evaluate_cubic_cached_1d
    - return_error
    - fn_Sd_evaluate_multicubic_cached
    linkageType: ''
    returnType: int
    signature: int fn_Sd_evaluate(const gs_function_t * pfn_common, const float *in,
      float *out)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:860,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:878,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:878,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:879,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:880,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:880,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:881,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 6
    argNames:
    - pfn
    - lower
    - upper
    - i
    - pw0
    - pw1
    argTypes:
    - gs_function_Sd_t*
    - float*
    - float*
    - int
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 887
    functionName: get_scaled_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - return_error
    - floor
    - any_abs
    linkageType: ''
    returnType: int
    signature: "int get_scaled_range(const gs_function_Sd_t *const pfn,\n                   const
      float *lower, const float *upper,\n                   int i, float *pw0, float
      *pw1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:898,1
    - Dst: copy_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:907,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 9
    argNames:
    - pfn
    - I
    - T0
    - T1
    - a_offset
    - ii
    - pole
    - p_offset
    - pole_step
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - double*
    - int
    - int
    - double*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 914
    functionName: copy_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - return_error
    - copy_poles
    linkageType: ''
    returnType: int
    signature: "int copy_poles(const gs_function_Sd_t *pfn, int *I, double *T0, double
      *T1, int a_offset,\n                int ii, double *pole, int p_offset, int
      pole_step)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Power2
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:929,1
    - Dst: Power3
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:929,1
    - Dst: Power2
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:931,1
    - Dst: Power2
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:933,1
    - Dst: Power2
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:935,1
    - Dst: Power3
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:935,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:938,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:940,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - pole
    - pole_step
    - t0
    - t1
    argTypes:
    - double*
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 916
    functionDepth: 1
    functionLinenumber: 916
    functionLinenumberEnd: 942
    functionName: subcurve
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - Power3
    - Power2
    - any_abs
    linkageType: ''
    returnType: void
    signature: void subcurve(double *pole, int pole_step, double t0, double t1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 927
    functionDepth: 0
    functionLinenumber: 927
    functionLinenumberEnd: 928
    functionName: Power2
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Power2(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 929
    functionName: Power3
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Power3(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pole
    - pole_step
    - t0
    - t1
    argTypes:
    - double*
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 952
    functionName: subline
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void subline(double *pole, int pole_step, double t0, double t1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: subcurve
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:960,1
    - Dst: subline
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:962,1
    - Dst: clamp_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:964,1
    - Dst: clamp_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:969,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 9
    argNames:
    - T0
    - T1
    - ii
    - i
    - pole
    - p_offset
    - pole_step
    - pole_step_i
    - order
    argTypes:
    - double*
    - double*
    - int
    - int
    - double*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 954
    functionDepth: 2
    functionLinenumber: 954
    functionLinenumberEnd: 972
    functionName: clamp_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - clamp_poles
    - subcurve
    - subline
    linkageType: ''
    returnType: void
    signature: "void clamp_poles(double *T0, double *T1, int ii, int i, double * pole,\n
      \               int p_offset, int pole_step, int pole_step_i, int order)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:982,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 8
    argCount: 2
    argNames:
    - pole
    - pole_step
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 993
    functionName: curve_monotonity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: int
    signature: int curve_monotonity(double *pole, int pole_step)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pole
    - pole_step
    argTypes:
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1006
    functionName: line_monotonity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int line_monotonity(double *pole, int pole_step)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: curve_monotonity
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1016,1
    - Dst: line_monotonity
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1018,1
    - Dst: tensor_dimension_monotonity
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1021,1
    - Dst: tensor_dimension_monotonity
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1027,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 9
    argNames:
    - T0
    - T1
    - ii
    - i0
    - pole
    - p_offset
    - pole_step
    - pole_step_i
    - order
    argTypes:
    - double*
    - double*
    - int
    - int
    - double*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1008
    functionDepth: 2
    functionLinenumber: 1008
    functionLinenumberEnd: 1038
    functionName: tensor_dimension_monotonity
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - tensor_dimension_monotonity
    - curve_monotonity
    - line_monotonity
    linkageType: ''
    returnType: int
    signature: "int tensor_dimension_monotonity(const double *T0, const double *T1,
      int ii, int i0, double *pole,\n                int p_offset, int pole_step,
      int pole_step_i, int order)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1055,1
    - Dst: copy_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1057,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1057,1
    - Dst: clamp_poles
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1064,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1064,1
    - Dst: tensor_dimension_monotonity
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1069,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1070,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 7
    argNames:
    - pfn
    - I
    - T0
    - T1
    - i0
    - k
    - mask
    argTypes:
    - gs_function_Sd_t*
    - int*
    - double*
    - double*
    - int
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1072
    functionName: is_tensor_monotonic_by_dimension
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - count_of
    - copy_poles
    - return_error
    - clamp_poles
    - tensor_dimension_monotonity
    linkageType: ''
    returnType: int
    signature: "int is_tensor_monotonic_by_dimension(const gs_function_Sd_t *pfn,
      int *I, double *T0, double *T1, int i0, int k,\n                    uint *mask
      /* 3 bits per guide : 3 - non-monotonic or don't know,\n                    2
      - decreesing, 0 - constant, 1 - increasing.\n                    The number
      of guides is order+1. */)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_tensor_monotonic_by_dimension
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1082,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1086,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1087,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1090,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1096,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1097,1
    - Dst: is_lattice_monotonic_by_dimension
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1098,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 10
    argNames:
    - pfn
    - T0
    - T1
    - I
    - S0
    - S1
    - ii
    - i0
    - k
    - mask
    argTypes:
    - gs_function_Sd_t*
    - double*
    - double*
    - int*
    - double*
    - double*
    - int
    - int
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1074
    functionDepth: 4
    functionLinenumber: 1074
    functionLinenumberEnd: 1112
    functionName: is_lattice_monotonic_by_dimension
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - is_tensor_monotonic_by_dimension
    - max
    - floor
    - is_lattice_monotonic_by_dimension
    - min
    linkageType: ''
    returnType: int
    signature: "int is_lattice_monotonic_by_dimension(const gs_function_Sd_t *pfn,
      const double *T0, const double *T1,\n        int *I, double *S0, double *S1,
      int ii, int i0, int k,\n        uint *mask /* 3 bits per guide : 1 - non-monotonic
      or don't know, 0 - monotonic;\n                      The number of guides is
      order+1. */)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_lattice_monotonic_by_dimension
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1125,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - pfn
    - T0
    - T1
    - I
    - S0
    - S1
    - k
    - mask
    argTypes:
    - gs_function_Sd_t*
    - double*
    - double*
    - int*
    - double*
    - double*
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1114
    functionDepth: 5
    functionLinenumber: 1114
    functionLinenumberEnd: 1134
    functionName: is_lattice_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - is_lattice_monotonic_by_dimension
    linkageType: ''
    returnType: int
    signature: "int is_lattice_monotonic(const gs_function_Sd_t *pfn, const double
      *T0, const double *T1,\n         int *I, double *S0, double *S1,\n         int
      k, uint *mask /* 1 bit per dimension : 1 - non-monotonic or don't know,\n                      0
      - monotonic. */)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: load_vector_to
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1156,1
    - Dst: fn_Sd_1arg_linear_monotonic_rec
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1161,1
    - Dst: fn_Sd_1arg_linear_monotonic_rec
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 5
    argNames:
    - pfn
    - i0
    - i1
    - V0
    - V1
    argTypes:
    - gs_function_Sd_t*
    - int
    - int
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1169
    functionName: fn_Sd_1arg_linear_monotonic_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 1
    functionsReached:
    - fn_Sd_1arg_linear_monotonic_rec
    - load_vector_to
    linkageType: ''
    returnType: int
    signature: "int fn_Sd_1arg_linear_monotonic_rec(const gs_function_Sd_t *const
      pfn, int i0, int i1,\n                                const double *V0, const
      double *V1)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1175,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1176,1
    - Dst: load_vector_to
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1180,1
    - Dst: load_vector_to
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1183,1
    - Dst: fn_Sd_1arg_linear_monotonic_rec
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1186,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - pfn
    - T0
    - T1
    - mask
    argTypes:
    - gs_function_Sd_t*
    - double
    - double
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1171
    functionDepth: 3
    functionLinenumber: 1171
    functionLinenumberEnd: 1196
    functionName: fn_Sd_1arg_linear_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_Sd_1arg_linear_monotonic_rec
    - floor
    - load_vector_to
    - ceil
    linkageType: ''
    returnType: int
    signature: "int fn_Sd_1arg_linear_monotonic(const gs_function_Sd_t *const pfn,
      double T0, double T1,\n                            uint *mask /* 1 - non-monotonic
      or don't know, 0 - monotonic. */)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1209,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1209,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1210,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1210,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1216,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1219,1
    - Dst: get_scaled_range
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1224,1
    - Dst: fn_Sd_1arg_linear_monotonic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1231,1
    - Dst: make_interpolation_nodes
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1240,1
    - Dst: is_lattice_monotonic
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1245,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1254,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1256,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - pfn
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_Sd_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1201
    functionDepth: 6
    functionLinenumber: 1201
    functionLinenumberEnd: 1260
    functionName: fn_Sd_is_monotonic_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - count_of
    - is_lattice_monotonic
    - make_interpolation_nodes
    - get_scaled_range
    - return_error
    - fn_Sd_1arg_linear_monotonic
    linkageType: ''
    returnType: int
    signature: "int fn_Sd_is_monotonic_aux(const gs_function_Sd_t *const pfn,\n                   const
      float *lower, const float *upper,\n                   uint *mask /* 1 bit per
      dimension : 1 - non-monotonic or don't know,\n                      0 - monotonic.
      */)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn_Sd_is_monotonic_aux
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pfn_common
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1264
    functionDepth: 7
    functionLinenumber: 1264
    functionLinenumberEnd: 1272
    functionName: fn_Sd_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_Sd_is_monotonic_aux
    linkageType: ''
    returnType: int
    signature: "int fn_Sd_is_monotonic(const gs_function_t * pfn_common,\n                   const
      float *lower, const float *upper, uint *mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_get_info_default
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pfn_common
    - pfi
    argTypes:
    - gs_function_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1275
    functionDepth: 1
    functionLinenumber: 1275
    functionLinenumberEnd: 1289
    functionName: fn_Sd_get_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - gs_function_get_info_default
    linkageType: ''
    returnType: void
    signature: void fn_Sd_get_info(const gs_function_t *pfn_common, gs_function_info_t
      *pfi)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_get_params
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1297,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1301,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1304,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1308,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1314,1
    - Dst: param_write_int_values
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1320,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - pfn_common
    - plist
    argTypes:
    - gs_function_t*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1325
    functionName: fn_Sd_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - param_write_int_values
    - fn_common_get_params
    - param_write_float_values
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int fn_Sd_get_params(const gs_function_t *pfn_common, gs_param_list
      *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1333,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1338,1
    - Dst: fn_copy_values
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1343,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1345,1
    - Dst: fn_common_scale
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1346,1
    - Dst: fn_scale_pairs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1349,1
    - Dst: fn_scale_pairs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1351,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 4
    argNames:
    - pfn
    - ppsfn
    - pranges
    - mem
    argTypes:
    - gs_function_Sd_t*
    - gs_function_Sd_t**
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1357
    functionName: fn_Sd_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - fn_scale_pairs
    - gs_function_free
    - fn_copy_values
    - return_error
    - gs_note_error
    - fn_common_scale
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int fn_Sd_make_scaled(const gs_function_Sd_t *pfn, gs_function_Sd_t
      **ppsfn,\n                  const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1363,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1365,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1367,1
    - Dst: fn_common_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1369,1
    - Dst: s_close_filters
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1371,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1374,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1376,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1378,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_Sd_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1380
    functionName: gs_function_Sd_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - s_close_filters
    - gs_free_const_object
    - fn_common_free_params
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_function_Sd_free_params(gs_function_Sd_params_t * params, gs_memory_t
      * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1390,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1392,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - a
    - half_size
    - s
    argTypes:
    - float*
    - int
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1383
    functionDepth: 0
    functionLinenumber: 1383
    functionLinenumberEnd: 1397
    functionName: serialize_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int serialize_array(const float *a, int half_size, stream *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1406,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1414,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1417,1
    - Dst: serialize_array
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1420,1
    - Dst: serialize_array
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1423,1
    - Dst: gs_function_get_info
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1426,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1427,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1431,1
    - Dst: data_source_access_only
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1432,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1433,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1438
    functionName: gs_function_Sd_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 0
    functionsReached:
    - sputs
    - fn_common_serialize
    - serialize_array
    - data_source_access_only
    - min
    - gs_function_get_info
    linkageType: ''
    returnType: int
    signature: int gs_function_Sd_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: fn_check_mnDR
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1462,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1467,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1474,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1487,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1491,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1494,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1499,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1511,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1513,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1516,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1527,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc0.c:1530,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 67
    argCount: 3
    argNames:
    - ppfn
    - params
    - mem
    argTypes:
    - gs_function_t**
    - gs_function_Sd_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1441
    functionDepth: 1
    functionLinenumber: 1441
    functionLinenumberEnd: 1538
    functionName: gs_function_Sd_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.c
    functionUses: 3
    functionsReached:
    - return_error
    - fn_check_mnDR
    - gs_alloc_byte_array
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_function_Sd_init(gs_function_t ** ppfn,\n                  const
      gs_function_Sd_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: private_st_BT_state
    functionSourceFile: /src/libspectre/ghostscript/base/sbtx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_BT_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: public_st_halftone_component
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_halftone_component()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: public_st_ht_component_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_ht_component_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: public_st_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_halftone()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - penum
    - ','
    - pgs
    - ','
    - phsp
    - ','
    - accurate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: gs_screen_init_accurate
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_screen_init_accurate(penum, pgs, phsp, accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - px
    - ','
    - ty
    - ','
    - textures
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_offset(px, ty, textures)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gdevm1.c:74,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gdevm1.c:77,1
    - Dst: rop3_know_S_1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:82,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/base/gdevm1.c:90,1
    - Dst: rop3_invert_T
      Src: /src/libspectre/ghostscript/base/gdevm1.c:93,1
    - Dst: rop3_know_T_1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:98,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm1.c:112,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:122,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:123,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm1.c:134,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm1.c:138,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gdevm1.c:147,1
    - Dst: copy_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:148,1
    - Dst: copy_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:150,1
    - Dst: copy_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:152,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gdevm1.c:153,1
    - Dst: copy_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:154,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm1.c:159,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm1.c:170,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:174,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gdevm1.c:182,1
    - Dst: tile_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:183,1
    - Dst: tile_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:185,1
    - Dst: tile_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:187,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gdevm1.c:188,1
    - Dst: tile_case
      Src: /src/libspectre/ghostscript/base/gdevm1.c:189,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:194,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm1.c:202,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevm1.c:207,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:213,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:246,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:257,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:265,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:273,1
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevm1.c:276,1
    - Dst: rop_run_subbyte
      Src: /src/libspectre/ghostscript/base/gdevm1.c:277,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:279,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:284,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevm1.c:291,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm1.c:303,1
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevm1.c:304,1
    - Dst: rop_set_t_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevm1.c:305,1
    - Dst: rop_run_subbyte
      Src: /src/libspectre/ghostscript/base/gdevm1.c:306,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:309,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevm1.c:320,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm1.c:329,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:347,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevm1.c:369,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm1.c:380,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:401,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevm1.c:402,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevm1.c:417,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gdevm1.c:418,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:418,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 190
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 422
    functionName: mem_mono_strip_copy_rop_dev
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - rop3_know_T_0
    - scan_line_base
    - fetch1
    - debug_dump_bitmap
    - fit_fill
    - rop3_know_T_1
    - rop_set_s_bitmap_subbyte
    - gs_debug_c
    - rop_run_subbyte
    - x_offset
    - rop3_know_S_1
    - rop3_invert_T
    - rop3_not
    - min
    - fit_copy
    - copy_case
    - tile_case
    - rop3_know_S_0
    - rop_release_run_op
    - rop3_invert_S
    - dev_proc
    - rop_set_t_bitmap_subbyte
    - rop_get_run_op
    linkageType: ''
    returnType: int
    signature: "int mem_mono_strip_copy_rop_dev(gx_device * dev, const byte * sdata,\n
      \                           int sourcex,uint sraster, gx_bitmap_id id,\n                            const
      gx_color_index * scolors,\n                            const gx_strip_bitmap
      * textures,\n                            const gx_color_index * tcolors,\n                            int
      x, int y, int width, int height,\n                            int phase_x, int
      phase_y,\n                            gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c0
    - ','
    - c1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: copy_case
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: copy_case(c0, c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c0
    - ','
    - c1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 181
    functionName: tile_case
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tile_case(c0, c1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: fetch1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetch1(ptr, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: fetch1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetch1(ptr, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 401
    functionName: fetch1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetch1(ptr, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_w_b_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gdevm1.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 449
    functionName: mem_mono_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - gx_default_w_b_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index mem_mono_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_w_b_map_color_rgb
      Src: /src/libspectre/ghostscript/base/gdevm1.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: mem_mono_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - gx_default_w_b_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int mem_mono_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                      gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_mono_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevm1.c:468,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:473,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm1.c:474,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: mem_mono_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - mem_mono_strip_copy_rop
    - scan_line_base
    - bits_fill_rectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_mono_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                        gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 482
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 495
    functionName: CFETCH_ALIGNED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH_ALIGNED(cptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - shift
    - ','
    - cshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 506
    functionName: CFETCH_RIGHT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH_RIGHT(cptr, shift, cshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - shift
    - ','
    - cshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 508
    functionName: CFETCH_LEFT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH_LEFT(cptr, shift, cshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - cskew
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: CFETCH2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH2(cptr, cskew, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cptr
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 525
    functionName: CCONT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CCONT(cptr, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - shift
    - ','
    - cshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 530
    functionName: CFETCH_RIGHT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH_RIGHT(cptr, shift, cshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - shift
    - ','
    - cshift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 530
    functionDepth: 0
    functionLinenumber: 530
    functionLinenumberEnd: 535
    functionName: CFETCH_LEFT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH_LEFT(cptr, shift, cshift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cptr
    - ','
    - cskew
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: CFETCH2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFETCH2(cptr, cskew, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 584
    functionName: FUNNY_CASE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FUNNY_CASE()
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm1.c:617,1
    - Dst: mem_mono_strip_copy_rop_dev
      Src: /src/libspectre/ghostscript/base/gdevm1.c:620,1
    - Dst: set_mono_thin_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:651,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:670,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:670,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:676,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:676,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:684,1
    - Dst: CFETCH_LEFT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:684,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:689,1
    - Dst: CFETCH2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:689,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:699,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:700,1
    - Dst: WRITE_1TO2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:725,1
    - Dst: WRITE_1TO2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:728,1
    - Dst: WRITE_1TO2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:731,1
    - Dst: FUNNY_CASE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:734,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:747,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:748,1
    - Dst: wr_op_masked
      Src: /src/libspectre/ghostscript/base/gdevm1.c:755,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:755,1
    - Dst: NEXT_X_CHUNK
      Src: /src/libspectre/ghostscript/base/gdevm1.c:758,1
    - Dst: wr_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:758,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:758,1
    - Dst: wr_op_masked
      Src: /src/libspectre/ghostscript/base/gdevm1.c:761,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:761,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:763,1
    - Dst: WRITE_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:768,1
    - Dst: WRITE_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:771,1
    - Dst: WRITE_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:774,1
    - Dst: FUNNY_CASE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:777,1
    - Dst: CFETCH2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:796,1
    - Dst: NEXT_X_CHUNK
      Src: /src/libspectre/ghostscript/base/gdevm1.c:797,1
    - Dst: wr_op
      Src: /src/libspectre/ghostscript/base/gdevm1.c:797,1
    - Dst: CFETCH_LEFT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:801,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:802,1
    - Dst: wr_op_masked
      Src: /src/libspectre/ghostscript/base/gdevm1.c:803,1
    - Dst: WRITE_UNALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:811,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:814,1
    - Dst: WRITE_UNALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:821,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:824,1
    - Dst: WRITE_UNALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:831,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:834,1
    - Dst: FUNNY_CASE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:838,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 121
    argCount: 11
    argNames:
    - dev
    - source_data
    - source_x
    - source_raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 841
    functionName: mem_mono_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - CFETCH2
    - set_mono_thin_mask
    - CFETCH_RIGHT
    - wr_op_masked
    - WRITE_1TO2
    - CFETCH_ALIGNED
    - set_mono_right_mask
    - NEXT_X_CHUNK
    - END_Y_LOOP
    - CFETCH_LEFT
    - WRITE1_LOOP
    - FUNNY_CASE
    - mem_mono_strip_copy_rop_dev
    - WRITE_ALIGNED
    - set_mono_left_mask
    - wr_op
    - WRITE_UNALIGNED
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mono_copy_mono(gx_device * dev,\n const byte * source_data,
      int source_x, int source_raster, gx_bitmap_id id,\n   int x, int y, int w, int
      h, gx_color_index color0, gx_color_index color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: CINVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CINVERT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bits
    - ','
    - mask
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 597
    functionName: WRITE_OR_MASKED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_OR_MASKED(bits, mask, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bits
    - ','
    - mask
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 599
    functionName: WRITE_STORE_MASKED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_STORE_MASKED(bits, mask, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - bits
    - ','
    - mask
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 601
    functionName: WRITE_AND_MASKED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_AND_MASKED(bits, mask, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 603
    functionName: WRITE_OR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_OR(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 604
    functionName: WRITE_STORE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_STORE(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 605
    functionName: WRITE_AND
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_AND(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: NEXT_X_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_X_CHUNK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sdelta
    - ','
    - ddelta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 647
    functionDepth: 0
    functionLinenumber: 647
    functionLinenumberEnd: 649
    functionName: END_Y_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_Y_LOOP(sdelta, ddelta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wr_op
    - ','
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 659
    functionName: WRITE_SINGLE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_SINGLE(wr_op, src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 667
    functionName: WRITE1_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE1_LOOP(src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 702
    functionDepth: 0
    functionLinenumber: 702
    functionLinenumberEnd: 703
    functionName: CINVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CINVERT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wr_op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 713
    functionName: WRITE_1TO2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_1TO2(wr_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - wr_op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 721
    functionName: WRITE_1TO2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_1TO2(wr_op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 738
    functionName: CINVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CINVERT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wr_op
    - ','
    - wr_op_masked
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 754
    functionName: WRITE_ALIGNED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_ALIGNED(wr_op, wr_op_masked)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - wr_op
    - ','
    - wr_op_masked
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 794
    functionName: WRITE_UNALIGNED
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE_UNALIGNED(wr_op, wr_op_masked)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm1.c:868,1
    - Dst: mem_mono_strip_copy_rop_dev
      Src: /src/libspectre/ghostscript/base/gdevm1.c:870,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm1.c:892,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:894,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:906,1
    - Dst: set_mono_thin_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:927,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:936,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:936,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:942,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:942,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:950,1
    - Dst: CFETCH_LEFT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:950,1
    - Dst: WRITE1_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:955,1
    - Dst: CFETCH2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:955,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:964,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:965,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:970,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:972,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:973,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:976,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:982,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:982,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:983,1
    - Dst: CFETCH_LEFT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:983,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:986,1
    - Dst: set_mono_right_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1000,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1005,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1011,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1011,1
    - Dst: WRITE_STORE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1013,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1013,1
    - Dst: NEXT_X_CHUNK
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1016,1
    - Dst: WRITE_STORE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1017,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1017,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1021,1
    - Dst: CFETCH_ALIGNED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1021,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1025,1
    - Dst: set_mono_left_mask
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1034,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1039,1
    - Dst: CFETCH2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1041,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1042,1
    - Dst: CFETCH2
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1045,1
    - Dst: NEXT_X_CHUNK
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1046,1
    - Dst: WRITE_STORE
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1047,1
    - Dst: CFETCH_LEFT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1052,1
    - Dst: CFETCH_RIGHT
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1054,1
    - Dst: WRITE_STORE_MASKED
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1055,1
    - Dst: END_Y_LOOP
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1059,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 10
    argNames:
    - dev
    - tiles
    - tx
    - y
    - tw
    - th
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 852
    functionDepth: 2
    functionLinenumber: 852
    functionLinenumberEnd: 1075
    functionName: mem_mono_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - set_mono_thin_mask
    - CFETCH_RIGHT
    - CFETCH2
    - WRITE_STORE_MASKED
    - CFETCH_ALIGNED
    - set_mono_right_mask
    - NEXT_X_CHUNK
    - scan_line_base
    - CFETCH_LEFT
    - END_Y_LOOP
    - WRITE_STORE
    - WRITE1_LOOP
    - mem_mono_strip_copy_rop_dev
    - fit_fill
    - set_mono_left_mask
    linkageType: ''
    returnType: int
    signature: "int mem_mono_strip_tile_rectangle(gx_device * dev,\n                              register
      const gx_strip_bitmap * tiles,\nint tx, int y, int tw, int th, gx_color_index
      color0, gx_color_index color1,\n                              int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - src
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 934
    functionName: WRITE1_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITE1_LOOP(src)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 969
    functionName: CINVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CINVERT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 980
    functionName: CINVERT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CINVERT(bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 999
    functionName: NEXT_X_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEXT_X_CHUNK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1108,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1109,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1111,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1112,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1100
    functionDepth: 2
    functionLinenumber: 1100
    functionLinenumberEnd: 1115
    functionName: mem1_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem1_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1128,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1129,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1132,1
    - Dst: mem_mono_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1133,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm1.c:1135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - source_data
    - source_x
    - source_raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1118
    functionDepth: 3
    functionLinenumber: 1118
    functionLinenumberEnd: 1137
    functionName: mem1_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm1.c
    functionUses: 0
    functionsReached:
    - mem_mono_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem1_word_copy_mono(gx_device * dev,\n const byte * source_data,
      int source_x, int source_raster, gx_bitmap_id id,\n   int x, int y, int w, int
      h, gx_color_index color0, gx_color_index color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: FORCE_UNIT
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORCE_UNIT(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: gx_restrict01_paint_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached:
    - FORCE_UNIT
    linkageType: ''
    returnType: void
    signature: void gx_restrict01_paint_1(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:83,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:84,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: gx_restrict01_paint_3
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached:
    - FORCE_UNIT
    linkageType: ''
    returnType: void
    signature: void gx_restrict01_paint_3(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:90,1
    - Dst: gx_restrict01_paint_3
      Src: /src/libspectre/ghostscript/base/gscolor.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gx_restrict01_paint_4
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached:
    - FORCE_UNIT
    - gx_restrict01_paint_3
    linkageType: ''
    returnType: void
    signature: void gx_restrict01_paint_4(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - pcc
    - pcs
    - delta
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: gx_no_adjust_color_count
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_no_adjust_color_count(const gs_client_color * pcc,\n                         const
      gs_color_space * pcs, int delta)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gscolor.c:111,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor.c:113,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gscolor.c:114,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gscolor.c:115,1
    - Dst: cs_adjust_color_count
      Src: /src/libspectre/ghostscript/base/gscolor.c:117,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:118,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor.c:120,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gscolor.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - gray
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 124
    functionName: gs_setgray
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - cs_adjust_color_count
    - gx_unset_dev_color
    - gs_setcolorspace
    - gs_currentcolor_inline
    - FORCE_UNIT
    - return_error
    - gs_cspace_new_DeviceGray
    - rc_decrement_cs
    linkageType: ''
    returnType: int
    signature: int gs_setgray(gs_gstate * pgs, double gray)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gscolor.c:133,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor.c:135,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gscolor.c:136,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gscolor.c:137,1
    - Dst: cs_adjust_color_count
      Src: /src/libspectre/ghostscript/base/gscolor.c:139,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:140,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:141,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor.c:142,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor.c:144,1
    - Dst: rc_decrement_cs
      Src: /src/libspectre/ghostscript/base/gscolor.c:146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - pgs
    - r
    - g
    - b
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 148
    functionName: gs_setrgbcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - cs_adjust_color_count
    - gs_cspace_new_DeviceRGB
    - gx_unset_dev_color
    - gs_setcolorspace
    - gs_currentcolor_inline
    - FORCE_UNIT
    - return_error
    - rc_decrement_cs
    linkageType: ''
    returnType: int
    signature: int gs_setrgbcolor(gs_gstate * pgs, double r, double g, double b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor.c:157,1
    - Dst: gs_setgray
      Src: /src/libspectre/ghostscript/base/gscolor.c:158,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gscolor.c:159,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gscolor.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 4
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: gs_setnullcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached:
    - return_error
    - color_set_null
    - gs_setgray
    - gs_currentdevicecolor_inline
    linkageType: ''
    returnType: int
    signature: int gs_setnullcolor(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_settransfer_remap
      Src: /src/libspectre/ghostscript/base/gscolor.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - tproc
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: gs_settransfer
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - gs_settransfer_remap
    linkageType: ''
    returnType: int
    signature: int gs_settransfer(gs_gstate * pgs, gs_mapping_proc tproc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscolor.c:180,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscolor.c:181,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscolor.c:182,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor.c:183,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gscolor.c:186,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor.c:191,1
    - Dst: gx_set_effective_transfer
      Src: /src/libspectre/ghostscript/base/gscolor.c:192,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor.c:193,1
    - Dst: gx_set_effective_transfer
      Src: /src/libspectre/ghostscript/base/gscolor.c:195,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscolor.c:198,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscolor.c:199,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscolor.c:200,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscolor.c:201,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - pgs
    - tproc
    - remap
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 203
    functionName: gs_settransfer_remap
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - gx_set_effective_transfer
    - rc_increment
    - gx_unset_dev_color
    - rc_unshare_struct
    - load_transfer_map
    - rc_decrement
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: int gs_settransfer_remap(gs_gstate * pgs, gs_mapping_proc tproc, bool
      remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 210
    functionName: gs_currenttransfer
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_mapping_proc
    signature: gs_mapping_proc gs_currenttransfer(const gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_setstrokeoverprint
      Src: /src/libspectre/ghostscript/base/gscolor.c:224,1
    - Dst: gs_setfilloverprint
      Src: /src/libspectre/ghostscript/base/gscolor.c:226,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gscolor.c:228,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gscolor.c:230,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscolor.c:231,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor.c:234,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor.c:236,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gscolor.c:236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 215
    functionDepth: 3
    functionLinenumber: 215
    functionLinenumberEnd: 240
    functionName: gx_set_device_color_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - rc_decrement_only_cs
    - gs_setstrokeoverprint
    - gs_setcolorspace
    - gs_setfilloverprint
    - return_error
    - gs_cspace_new_DeviceGray
    - gs_currentdevicecolor_inline
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: int gx_set_device_color_1(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - value
    - pmap
    - ignore_proc_data
    argTypes:
    - double
    - gx_transfer_map*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 253
    functionName: transfer_use_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: "float transfer_use_proc(double value, const gx_transfer_map * pmap,\n
      \                 const void *ignore_proc_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor.c:260,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pgs
    - pmap
    - min_value
    argTypes:
    - gs_gstate*
    - gx_transfer_map*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 276
    functionName: load_transfer_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor.c
    functionUses: 1
    functionsReached:
    - float2frac
    linkageType: ''
    returnType: void
    signature: void load_transfer_map(gs_gstate * pgs, gx_transfer_map * pmap, double
      min_value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:57,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 66
    functionName: gsicc_profilecache_new
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_profilecache.c
    functionUses: 0
    functionsReached:
    - rc_init_free
    - gs_alloc_struct
    linkageType: ''
    returnType: gsicc_profile_cache_t
    signature: 'gsicc_profile_cache_t *

      gsicc_profilecache_new(gs_memory_t *memory)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:76,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:77,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:84,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 89
    functionName: rc_gsicc_profile_cache_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_profilecache.c
    functionUses: 0
    functionsReached:
    - emprintf1
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void rc_gsicc_profile_cache_free(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:100,1
    - Dst: gsicc_remove_cs_entry
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:107,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:114,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pgs
    - colorspace
    - dictkey
    argTypes:
    - gs_gstate*
    - gs_color_space*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 120
    functionName: gsicc_add_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_profilecache.c
    functionUses: 0
    functionsReached:
    - rc_increment
    - if_debug2m
    - gsicc_remove_cs_entry
    - gs_alloc_struct
    linkageType: ''
    returnType: void
    signature: void gsicc_add_cs(gs_gstate * pgs, gs_color_space * colorspace, uint64_t
      dictkey)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - key_test
    - pgs
    argTypes:
    - uint64_t
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 147
    functionName: gsicc_find_cs
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_profilecache.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gsicc_find_cs(uint64_t key_test, gs_gstate * pgs)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:160,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:174,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:184,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:187,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_profilecache.c:188,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - profile_cache
    argTypes:
    - gsicc_profile_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 189
    functionName: gsicc_remove_cs_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_profilecache.c
    functionUses: 1
    functionsReached:
    - emprintf1
    - emprintf
    - rc_decrement
    - if_debug2m
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_remove_cs_entry(gsicc_profile_cache_t *profile_cache)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_GET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:58,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:63,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:129,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:133,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:135,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:137,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:139,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:141,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:143,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:145,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 74
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - smap
    - spread
    - num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 150
    functionName: TEMPLATE_sample_unpack_1
    functionSourceFile: /src/libspectre/ghostscript/base/gxsamplp.h
    functionUses: 0
    functionsReached:
    - VALGRIND_SET_VBITS
    - VALGRIND_GET_VBITS
    linkageType: ''
    returnType: byte
    signature: "byte *\nTEMPLATE_sample_unpack_1(byte * bptr, int *pdata_x, const
      byte * data, int data_x,\n                uint dsize, const sample_map *smap,
      int spread,\n                int num_components_per_plane)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_GET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:175,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:180,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:220,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:224,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:226,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:228,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - smap
    - spread
    - num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 232
    functionName: TEMPLATE_sample_unpack_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxsamplp.h
    functionUses: 0
    functionsReached:
    - VALGRIND_SET_VBITS
    - VALGRIND_GET_VBITS
    linkageType: ''
    returnType: byte
    signature: "byte *\nTEMPLATE_sample_unpack_2(byte * bptr, int *pdata_x, const
      byte * data, int data_x,\n                uint dsize, const sample_map *smap,
      int spread,\n                int num_components_per_plane)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_GET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:252,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:257,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:273,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxsamplp.h:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - smap
    - spread
    - num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 281
    functionName: TEMPLATE_sample_unpack_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxsamplp.h
    functionUses: 0
    functionsReached:
    - VALGRIND_SET_VBITS
    - VALGRIND_GET_VBITS
    linkageType: ''
    returnType: byte
    signature: "byte *\nTEMPLATE_sample_unpack_4(byte * bptr, int *pdata_x, const
      byte * data, int data_x,\n                uint dsize, const sample_map *smap,
      int spread,\n                int num_components_per_plane)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - smap
    - spread
    - num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 319
    functionName: TEMPLATE_sample_unpack_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxsamplp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\nTEMPLATE_sample_unpack_8(byte * bptr, int *pdata_x, const
      byte * data, int data_x,\n                uint dsize, const sample_map *smap,
      int spread,\n                int num_components_per_plane)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - param
    argTypes:
    - long
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: JP2_Callback_Conv::s_jpx_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    linkageType: ''
    returnType: void
    signature: 'void * JP2_Callback_Conv

      s_jpx_alloc(long size, JP2_Callback_Param param)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ptr
    - param
    argTypes:
    - void*
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: JP2_Callback_Conv::s_jpx_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: JP2_Error
    signature: 'JP2_Error JP2_Callback_Conv

      s_jpx_free(void *ptr, JP2_Callback_Param param)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:69,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pucData
    - ulPos
    - ulSize
    - param
    argTypes:
    - unsigned char*
    - unsigned long
    - unsigned long
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: s_jpxd_read_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    linkageType: ''
    returnType: unsigned long JP2_Callback_Conv
    signature: "unsigned long JP2_Callback_Conv s_jpxd_read_data(unsigned char *pucData,\n
      \                           unsigned long ulPos, unsigned long ulSize,\n                            JP2_Callback_Param
      param)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:84,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - handle
    - tag
    - comp
    - def
    argTypes:
    - JP2_Decomp_Handle*
    - JP2_Property_Tag
    - short
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 88
    functionName: jp2_get_value
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - JP2_Decompress_GetProp
    linkageType: ''
    returnType: unsigned long
    signature: "unsigned long jp2_get_value(JP2_Decomp_Handle *handle,\n              JP2_Property_Tag
      tag,\n              short comp,\n              unsigned long def)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Decompress_GetPalette
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:118,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:146,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:151,1
    - Dst: jp2_get_value
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:204,1
    - Dst: jp2_get_value
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:205,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 118
    argCount: 6
    argNames:
    - pucData
    - sComponent
    - ulRow
    - ulStart
    - ulNum
    - param
    argTypes:
    - unsigned char*
    - short
    - unsigned long
    - unsigned long
    - unsigned long
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 270
    functionName: JP2_Callback_Conv::s_jpxd_write_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - JP2_Decompress_GetPalette
    - memcpy
    - jp2_get_value
    linkageType: ''
    returnType: JP2_Error
    signature: "JP2_Error JP2_Callback_Conv\ns_jpxd_write_data(unsigned char * pucData,\n
      \                              short sComponent,\n                               unsigned
      long ulRow,\n                               unsigned long ulStart,\n                               unsigned
      long ulNum,\n                               JP2_Callback_Param param)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jp2_get_value
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_jpxd_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 324
    functionName: s_jpxd_ycc_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - jp2_get_value
    linkageType: ''
    returnType: int
    signature: int s_jpxd_ycc_to_rgb(stream_jpxd_state *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:333,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:334,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:347,1
    - Dst: gs_resize_object::gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:350,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:351,1
    - Dst: state::state
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:353,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:360,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - state
    - pr
    argTypes:
    - stream_jpxd_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 365
    functionName: s_jpxd_inbuf
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - s_jpx_alloc
    - memcpy
    - state::state
    - return_error
    - gs_resize_object::gs_resize_object
    linkageType: ''
    returnType: int
    signature: int s_jpxd_inbuf(stream_jpxd_state *state, stream_cursor_read * pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 391
    functionName: s_jpxd_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_jpxd_init(stream_state * ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 401
    functionName: s_jpxd_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_jpxd_set_defaults(stream_state * ss)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - chans
    - nchans
    - alpha
    - clut
    argTypes:
    - JP2_Channel_Def_Params*
    - int
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 434
    functionName: map_components
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_components(JP2_Channel_Def_Params *chans, int nchans, int alpha,
      int clut[])
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: s_jpxd_inbuf
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:452,1
    - Dst: JP2_Decompress_Start
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:461,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:469,1
    - Dst: JP2_Decompress_SetLicense
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:474,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:477,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:482,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:485,1
    - Dst: JP2_Decompress_GetChannelDefs
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:493,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:495,1
    - Dst: s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:498,1
    - Dst: map_components
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:499,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:501,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:506,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:511,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:514,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:570,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:582,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:585,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:590,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:593,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:598,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:601,1
    - Dst: JP2_Decompress_GetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:606,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:609,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:614,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:625,1
    - Dst: s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:638,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:640,1
    - Dst: s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:641,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:646,1
    - Dst: JP2_Decompress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:649,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:652,1
    - Dst: JP2_Decompress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:655,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:659,1
    - Dst: JP2_Decompress_Image
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:664,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:666,1
    - Dst: s_jpxd_ycc_to_rgb
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:671,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:678,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:680,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 176
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 439
    functionDepth: 2
    functionLinenumber: 439
    functionLinenumberEnd: 693
    functionName: s_jpxd_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - max
    - JP2_Decompress_SetLicense
    - s_jpxd_inbuf
    - if_debug5m
    - JP2_Decompress_GetProp
    - s_jpx_alloc
    - memset
    - s_jpxd_ycc_to_rgb
    - min
    - JP2_Decompress_GetChannelDefs
    - map_components
    - JP2_Decompress_SetProp
    - dmlprintf1
    - dmlprintf2
    - dmlprintf
    - if_debug3m
    - JP2_Decompress_Image
    - memcpy
    - JP2_Decompress_Start
    linkageType: ''
    returnType: int
    signature: "int s_jpxd_process(stream_state * ss, stream_cursor_read * pr,\n                 stream_cursor_write
      * pw, bool last)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Decompress_End
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:704,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:706,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:708,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 712
    functionName: s_jpxd_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - JP2_Decompress_End
    linkageType: ''
    returnType: void
    signature: void s_jpxd_release(stream_state *ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:746,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:756,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:757,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:761,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - buffer
    - component
    - row
    - start
    - num
    - param
    argTypes:
    - unsigned char*
    - short
    - unsigned long
    - unsigned long
    - unsigned long
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 769
    functionName: JP2_Callback_Conv::s_jpxe_read
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - dmlprintf2
    - memcpy
    - min
    linkageType: ''
    returnType: JP2_Error
    signature: "JP2_Error JP2_Callback_Conv\ns_jpxe_read(unsigned char *buffer, short
      component,\n                unsigned long row, unsigned long start,\n                unsigned
      long num, JP2_Callback_Param param)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Callback_Conv::s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:784,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:786,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:794,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:797,1
    - Dst: state::state
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:801,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:803,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:808,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 4
    argNames:
    - buffer
    - pos
    - size
    - param
    argTypes:
    - unsigned char*
    - unsigned long
    - unsigned long
    - JP2_Callback_Param
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 813
    functionName: JP2_Callback_Conv::s_jpxe_write
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - JP2_Callback_Conv::s_jpx_alloc
    - dmprintf1
    - gs_resize_object
    - memcpy
    - state::state
    - dmprintf
    linkageType: ''
    returnType: JP2_Error
    signature: "JP2_Error JP2_Callback_Conv\ns_jpxe_write(unsigned char *buffer,\n
      \               unsigned long pos, unsigned long size,\n                JP2_Callback_Param
      param)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 827
    functionName: s_jpxe_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_jpxe_set_defaults(stream_state *ss)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:847,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:849,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:852,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:855,1
    - Dst: JP2_Compress_Start
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:870,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:876,1
    - Dst: JP2_Compress_SetLicense
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:882,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:885,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:891,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:894,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:897,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:900,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:903,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:906,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:909,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:912,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:917,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:920,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:923,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:926,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:929,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:932,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:941,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:945,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:948,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:958,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:961,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:964,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:967,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 109
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 974
    functionName: s_jpxe_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - if_debug3m
    - JP2_Compress_SetLicense
    - JP2_Compress_SetProp
    - dmlprintf1
    - JP2_Compress_Start
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int s_jpxe_init(stream_state *ss)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:991,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:994,1
    - Dst: JP2_Compress_SetProp
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:997,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1000,1
    - Dst: s_jpx_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1007,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1009,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1017,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1019,1
    - Dst: state::state
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1022,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1027,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1035,1
    - Dst: JP2_Compress_Image
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1036,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1038,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1045,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1046,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 1057
    functionName: s_jpxe_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - s_jpx_alloc
    - JP2_Compress_SetProp
    - gs_resize_object
    - memcpy
    - dmlprintf1
    - state::state
    - JP2_Compress_Image
    - min
    - dmprintf
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int s_jpxe_process(stream_state *ss, stream_cursor_read *pr,\n                stream_cursor_write
      *pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JP2_Compress_End
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1067,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1070,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1075,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_luratech.c:1076,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1077
    functionName: s_jpxe_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached:
    - JP2_Compress_End
    - if_debug1m
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jpxe_release(stream_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1082
    functionName: sjpxd_create
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sjpxd_create(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1086
    functionName: sjpxd_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sjpxd_destroy(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: private_st_BCPD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sbcp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_BCPD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gsmemory.c:51,1
    - Dst: ENUM_STRING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pep
    - pbs
    argTypes:
    - enum_ptr_t*
    - gs_bytestring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: enum_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - ENUM_OBJ
    - ENUM_STRING
    linkageType: ''
    returnType: gs_ptr_type_t
    signature: gs_ptr_type_t enum_bytestring(enum_ptr_t *pep, const gs_bytestring
      *pbs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gsmemory.c:56,1
    - Dst: ENUM_CONST_STRING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pep
    - pbs
    argTypes:
    - enum_ptr_t*
    - gs_const_bytestring*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: enum_const_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - ENUM_OBJ
    - ENUM_CONST_STRING
    linkageType: ''
    returnType: gs_ptr_type_t
    signature: gs_ptr_type_t enum_const_bytestring(enum_ptr_t *pep, const gs_const_bytestring
      *pbs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/base/gsmemory.c:65,1
    - Dst: RELOC_STRING_VAR
      Src: /src/libspectre/ghostscript/base/gsmemory.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pbs
    - gcst
    argTypes:
    - gs_bytestring*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: reloc_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - RELOC_STRING_VAR
    - RELOC_OBJ
    linkageType: ''
    returnType: void
    signature: void reloc_bytestring(gs_bytestring *pbs, gc_state_t *gcst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/base/gsmemory.c:77,1
    - Dst: RELOC_CONST_STRING_VAR
      Src: /src/libspectre/ghostscript/base/gsmemory.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pbs
    - gcst
    argTypes:
    - gs_const_bytestring*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: reloc_const_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - RELOC_CONST_STRING_VAR
    - RELOC_OBJ
    linkageType: ''
    returnType: void
    signature: void reloc_const_bytestring(gs_const_bytestring *pbs, gc_state_t *gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsmemory.c:93,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmemory.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ptr
    - fill
    - lsize
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: gs_alloc_memset
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - memset
    - min
    linkageType: ''
    returnType: void
    signature: void gs_alloc_memset(void *ptr, int /*byte */ fill, size_t lsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsmemory.c:107,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gsmemory.c:109,1
    - Dst: lprintf3
      Src: /src/libspectre/ghostscript/base/gsmemory.c:110,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gsmemory.c:111,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsmemory.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - mem
    - obj
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 116
    functionName: gs_resize_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_object_type
    - gs_resize_object
    - lprintf3
    linkageType: ''
    returnType: void
    signature: "void *\ngs_resize_struct_array(gs_memory_t *mem, void *obj, size_t
      num_elements,\n                       gs_memory_type_ptr_t pstype, client_name_t
      cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsmemory.c:128,1
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/base/gsmemory.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - rmem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 129
    functionName: gs_raw_alloc_struct_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - gs_struct_type_size
    linkageType: ''
    returnType: void
    signature: "void *\ngs_raw_alloc_struct_immovable(gs_memory_t * rmem,\n                              gs_memory_type_ptr_t
      pstype,\n                              client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mem
    - data
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: gs_ignore_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_ignore_free_object(gs_memory_t * mem, void *data, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: gs_ignore_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_ignore_free_string(gs_memory_t * mem, byte * data, size_t
      nbytes,\n                      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmemory.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - data
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 151
    functionName: gs_free_const_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_free_const_object(gs_memory_t * mem, const void *data, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsmemory.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: gs_free_const_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 5
    functionsReached:
    - gs_free_string
    linkageType: ''
    returnType: void
    signature: "void gs_free_const_string(gs_memory_t * mem, const byte * data, size_t
      nbytes,\n                     client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmemory.c:167,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsmemory.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - pbs
    - cname
    argTypes:
    - gs_memory_t*
    - gs_bytestring*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 170
    functionName: gs_free_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_free_string
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_free_bytestring(gs_memory_t *mem, gs_bytestring *pbs, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsmemory.c:176,1
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/base/gsmemory.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - pbs
    - cname
    argTypes:
    - gs_memory_t*
    - gs_const_bytestring*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: gs_free_const_bytestring
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_free_const_object
    - gs_free_const_string
    linkageType: ''
    returnType: void
    signature: "void gs_free_const_bytestring(gs_memory_t *mem, gs_const_bytestring
      *pbs,\n                         client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 185
    functionName: gs_ignore_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_ignore_consolidate_free(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 197
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(gs_no_struct_reloc_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pstype
    argTypes:
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 205
    functionName: gs_struct_type_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gs_struct_type_size(gs_memory_type_ptr_t pstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pstype
    argTypes:
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: gs_struct_type_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: struct_name_t
    signature: struct_name_t gs_struct_type_name(gs_memory_type_ptr_t pstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_register_root
      Src: /src/libspectre/ghostscript/base/gsmemory.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - root
    - pp
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t**
    - void**
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: gs_register_struct_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 1
    functionsReached:
    - gs_register_root
    linkageType: ''
    returnType: int
    signature: "int gs_register_struct_root(gs_memory_t *mem, gs_gc_root_t **root,\n
      \                       void **pp, client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gsmemory.c:233,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmemory.c:248,1
    - Dst: gs_struct_type_name
      Src: /src/libspectre/ghostscript/base/gsmemory.c:248,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - vp
    - prc
    argTypes:
    - void*
    - rc_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: rc_object_type_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_object_type
    - client_name_string
    - gs_struct_type_name
    linkageType: ''
    returnType: char
    signature: 'char *

      rc_object_type_name(const void *vp, const rc_header *prc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsmemory.c:255,1
    - Dst: rc_object_type_name
      Src: /src/libspectre/ghostscript/base/gsmemory.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vp
    - prc
    argTypes:
    - void*
    - rc_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: rc_trace_init_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - rc_object_type_name
    - dmprintf3
    linkageType: ''
    returnType: void
    signature: void rc_trace_init_free(const void *vp, const rc_header *prc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsmemory.c:261,1
    - Dst: rc_object_type_name
      Src: /src/libspectre/ghostscript/base/gsmemory.c:262,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmemory.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vp
    - prc
    - cname
    argTypes:
    - void*
    - rc_header*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 264
    functionName: rc_trace_free_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - rc_object_type_name
    - client_name_string
    - dmprintf3
    linkageType: ''
    returnType: void
    signature: void rc_trace_free_struct(const void *vp, const rc_header *prc, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsmemory.c:268,1
    - Dst: rc_object_type_name
      Src: /src/libspectre/ghostscript/base/gsmemory.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vp
    - prc
    argTypes:
    - void*
    - rc_header*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 271
    functionName: rc_trace_increment
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - rc_object_type_name
    - dmprintf3
    linkageType: ''
    returnType: void
    signature: void rc_trace_increment(const void *vp, const rc_header *prc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/base/gsmemory.c:275,1
    - Dst: rc_object_type_name
      Src: /src/libspectre/ghostscript/base/gsmemory.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vp
    - prc
    - delta
    - cname
    argTypes:
    - void*
    - rc_header*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 278
    functionName: rc_trace_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - rc_object_type_name
    - dmprintf5
    linkageType: ''
    returnType: void
    signature: void rc_trace_adjust(const void *vp, const rc_header *prc, int delta,
      const char *cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmemory.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - data
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: rc_free_struct_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_free_struct_only(gs_memory_t * mem, void *data, client_name_t
      cname)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsmemory.c:301,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gsmemory.c:313,1
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gsmemory.c:320,1
    - Dst: ENUM_STRING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:322,1
    - Dst: ENUM_CONST_STRING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:324,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:329,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 333
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - ENUM_CONST_STRING
    - ENUM_STRING
    - dmprintf2
    - ENUM_OBJ
    - ENUM_USING
    - dmprintf4
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(basic_enum_ptrs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_OBJ_VAR
      Src: /src/libspectre/ghostscript/base/gsmemory.c:348,1
    - Dst: RELOC_STRING_VAR
      Src: /src/libspectre/ghostscript/base/gsmemory.c:351,1
    - Dst: RELOC_CONST_STRING_VAR
      Src: /src/libspectre/ghostscript/base/gsmemory.c:354,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gsmemory.c:359,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 362
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemory.c
    functionUses: 0
    functionsReached:
    - RELOC_OBJ_VAR
    - RELOC_CONST_STRING_VAR
    - RELOC_STRING_VAR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(basic_reloc_ptrs)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxifast.c:59,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxifast.c:60,1
    - Dst: fixed2long_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:68,1
    - Dst: fixed2long_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:69,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxifast.c:77,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxifast.c:77,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxifast.c:82,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxifast.c:84,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxifast.c:90,1
    - Dst: fixed2long_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:98,1
    - Dst: fixed2long_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:99,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxifast.c:101,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxifast.c:102,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxifast.c:103,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxifast.c:112,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxifast.c:118,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxifast.c:120,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxifast.c:121,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxifast.c:127,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxifast.c:128,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxifast.c:136,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxifast.c:136,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxifast.c:152,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxifast.c:156,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 2
    argNames:
    - penum
    - render_fn
    argTypes:
    - gx_image_enum*
    - irender_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 168
    functionName: gs_image_class_1_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - any_abs
    - gs_alloc_bytes
    - ROUND_UP
    - if_debug3m
    - fixed2int_var_rounded
    - memset
    - fixed2long_pixround
    - if_debug2m
    - dda_current
    - bitmap_raster
    - set_nonclient_dev_color
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_image_class_1_simple(gx_image_enum * penum, irender_proc_t *render_fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: DC_IS_NULL
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DC_IS_NULL(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 181
    functionName: image_render_skip
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int image_render_skip(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                  uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: INCS
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCS(stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stat
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 207
    functionName: ADDS
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDS(stat, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 209
    functionName: INCS
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCS(stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - stat
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: ADDS
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDS(stat, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxifast.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - line
    - line_x
    - raster
    - value
    argTypes:
    - byte*
    - int
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: fill_row
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void fill_row(byte *line, int line_x, uint raster, int value)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:262,1
    - Dst: VALGRIND_GET_VBITS
      Src: /src/libspectre/ghostscript/base/gxifast.c:291,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxifast.c:294,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:314,1
    - Dst: fill_row
      Src: /src/libspectre/ghostscript/base/gxifast.c:315,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:332,1
    - Dst: fill_row
      Src: /src/libspectre/ghostscript/base/gxifast.c:333,1
    - Dst: fill_row
      Src: /src/libspectre/ghostscript/base/gxifast.c:346,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxifast.c:357,1
    - Dst: fixed_pre_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:357,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxifast.c:358,1
    - Dst: fixed_pre_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:358,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxifast.c:359,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxifast.c:363,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:365,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:371,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:373,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:375,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:377,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gxifast.c:379,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:396,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:401,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:403,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:408,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:410,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:412,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:414,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:416,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:418,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:420,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:422,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:424,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:431,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:435,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:437,1
    - Dst: dda_current_fixed2int
      Src: /src/libspectre/ghostscript/base/gxifast.c:440,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxifast.c:447,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:452,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:454,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:459,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:460,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:466,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxifast.c:469,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:471,1
    - Dst: dda_current_fixed2int
      Src: /src/libspectre/ghostscript/base/gxifast.c:474,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:484,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:488,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxifast.c:494,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:496,1
    - Dst: ADDS
      Src: /src/libspectre/ghostscript/base/gxifast.c:497,1
    - Dst: ADDS
      Src: /src/libspectre/ghostscript/base/gxifast.c:499,1
    - Dst: INCS
      Src: /src/libspectre/ghostscript/base/gxifast.c:502,1
    - Dst: VALGRIND_SET_VBITS
      Src: /src/libspectre/ghostscript/base/gxifast.c:510,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 177
    argCount: 9
    argNames:
    - line
    - line_x
    - raster
    - buffer
    - data_x
    - w
    - xcur
    - x_extent
    - zero
    argTypes:
    - byte*
    - int
    - uint
    - byte*
    - int
    - uint
    - fixed
    - fixed
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 511
    functionName: image_simple_expand
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - INCS
    - VALGRIND_SET_VBITS
    - dda_state_next
    - VALGRIND_GET_VBITS
    - dda_init
    - fill_row
    - dda_step_add
    - fixed_fraction
    - fixed2int
    - fixed_pre_pixround
    - memset
    - ADDS
    - dda_next
    - int2fixed
    - dda_current_fixed2int
    linkageType: ''
    returnType: void
    signature: "void image_simple_expand(byte * line, int line_x, uint raster,\n                    const
      byte * buffer, int data_x, uint w,\n                    fixed xcur, fixed x_extent,
      byte zero /* 0 or 0xff */ )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/gxifast.c:520,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxifast.c:532,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxifast.c:532,1
    - Dst: dev_proc_copy_mono
      Src: /src/libspectre/ghostscript/base/gxifast.c:534,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxifast.c:536,1
    - Dst: DC_IS_NULL
      Src: /src/libspectre/ghostscript/base/gxifast.c:551,1
    - Dst: DC_IS_NULL
      Src: /src/libspectre/ghostscript/base/gxifast.c:555,1
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxifast.c:556,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 9
    argNames:
    - penum
    - data
    - dx
    - raster
    - x
    - y
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - int
    - int
    - int
    - int
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 570
    functionName: copy_portrait
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pure
    - gx_device_color_fill_rectangle
    - dev_proc_copy_mono
    - ALIGNMENT_MOD
    - dev_proc
    - DC_IS_NULL
    linkageType: ''
    returnType: int
    signature: "int copy_portrait(gx_image_enum * penum, const byte * data, int dx,
      int raster,\n              int x, int y, int w, int h, gx_device * dev)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_copy_mono
      Src: /src/libspectre/ghostscript/base/gxifast.c:578,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxifast.c:578,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxifast.c:583,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:584,1
    - Dst: DC_IS_NULL
      Src: /src/libspectre/ghostscript/base/gxifast.c:594,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gxifast.c:595,1
    - Dst: DC_IS_NULL
      Src: /src/libspectre/ghostscript/base/gxifast.c:596,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gxifast.c:597,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxifast.c:605,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxifast.c:606,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxifast.c:606,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:616,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gxifast.c:623,1
    - Dst: image_simple_expand
      Src: /src/libspectre/ghostscript/base/gxifast.c:634,1
    - Dst: image_simple_expand
      Src: /src/libspectre/ghostscript/base/gxifast.c:667,1
    - Dst: copy_portrait
      Src: /src/libspectre/ghostscript/base/gxifast.c:676,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 46
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 684
    functionName: image_render_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pure
    - scan_line_base
    - dev_proc_copy_mono
    - fixed2int_pixround
    - copy_portrait
    - gx_color_load
    - dda_current
    - dev_proc
    - image_simple_expand
    - DC_IS_NULL
    linkageType: ''
    returnType: int
    signature: "int image_render_simple(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                    uint w, int h, gx_device * dev)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxifast.c:694,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gxifast.c:701,1
    - Dst: copy_landscape
      Src: /src/libspectre/ghostscript/base/gxifast.c:714,1
    - Dst: copy_landscape
      Src: /src/libspectre/ghostscript/base/gxifast.c:715,1
    - Dst: image_simple_expand
      Src: /src/libspectre/ghostscript/base/gxifast.c:729,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxifast.c:731,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxifast.c:735,1
    - Dst: copy_landscape
      Src: /src/libspectre/ghostscript/base/gxifast.c:740,1
    - Dst: copy_landscape
      Src: /src/libspectre/ghostscript/base/gxifast.c:750,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 689
    functionDepth: 2
    functionLinenumber: 689
    functionLinenumberEnd: 761
    functionName: image_render_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 0
    functionsReached:
    - copy_landscape
    - memcpy
    - is_fneg
    - dda_current
    - bitmap_raster
    - image_simple_expand
    linkageType: ''
    returnType: int
    signature: "int image_render_landscape(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                       uint w, int h, gx_device * dev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxifast.c:770,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxifast.c:773,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxifast.c:773,1
    - Dst: memflip8x8_eol
      Src: /src/libspectre/ghostscript/base/gxifast.c:784,1
    - Dst: memflip8x8
      Src: /src/libspectre/ghostscript/base/gxifast.c:793,1
    - Dst: copy_portrait
      Src: /src/libspectre/ghostscript/base/gxifast.c:802,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 5
    argNames:
    - penum
    - x0
    - x1
    - y_neg
    - dev
    argTypes:
    - gx_image_enum*
    - int
    - int
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 804
    functionName: copy_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gxifast.c
    functionUses: 1
    functionsReached:
    - memflip8x8_eol
    - fixed2int_pixround
    - copy_portrait
    - memflip8x8
    - dda_current
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: "int copy_landscape(gx_image_enum * penum, int x0, int x1, bool y_neg,\n
      \              gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: get_mem_hdr_id
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_id
    signature: gs_id get_mem_hdr_id (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - imem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: alloc_trace_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int alloc_trace_space(const gs_ref_memory_t *imem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:71,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:72,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:72,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 6
    argNames:
    - chars
    - imem
    - cname
    - stype
    - size
    - ptr
    argTypes:
    - char*
    - gs_ref_memory_t*
    - client_name_t
    - gs_memory_type_ptr_t
    - uint
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: alloc_trace
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - client_name_string
    - alloc_trace_space
    - if_debug7m
    - struct_type_name_string
    linkageType: ''
    returnType: void
    signature: "void alloc_trace(const char *chars, gs_ref_memory_t * imem, client_name_t
      cname,\n            gs_memory_type_ptr_t stype, uint size, const void *ptr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - stype
    argTypes:
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: alloc_size_is_ok
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool alloc_size_is_ok(gs_memory_type_ptr_t stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - stype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: ALLOC_CHECK_SIZE
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_CHECK_SIZE(mem,stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - chars
    - ','
    - imem
    - ','
    - cname
    - ','
    - stype
    - ','
    - size
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: alloc_trace
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alloc_trace(chars, imem, cname, stype, size, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - stype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: ALLOC_CHECK_SIZE
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_CHECK_SIZE(mem,stype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsalloc.c:108,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsalloc.c:109,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsalloc.c:110,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsalloc.c:111,1
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/base/gsalloc.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mptr
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR
    - RELOC_OBJ
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(ref_memory_reloc_ptrs, gs_ref_memory_t
      *mptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 222
    functionName: SANITY_CHECK
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITY_CHECK(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 223
    functionName: SANITY_CHECK_MID
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITY_CHECK_MID(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: broken_splay
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - dlprintf
    linkageType: ''
    returnType: void
    signature: void broken_splay()
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: broken_splay
      Src: /src/libspectre/ghostscript/base/gsalloc.c:242,1
    - Dst: broken_splay
      Src: /src/libspectre/ghostscript/base/gsalloc.c:256,1
    - Dst: broken_splay
      Src: /src/libspectre/ghostscript/base/gsalloc.c:270,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 275
    functionName: sanity_check_rec
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - broken_splay
    linkageType: ''
    returnType: void
    signature: void sanity_check_rec(clump_t *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sanity_check_rec
      Src: /src/libspectre/ghostscript/base/gsalloc.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 280
    functionName: sanity_check
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - sanity_check_rec
    linkageType: ''
    returnType: void
    signature: void sanity_check(clump_t *cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: broken_splay
      Src: /src/libspectre/ghostscript/base/gsalloc.c:291,1
    - Dst: broken_splay
      Src: /src/libspectre/ghostscript/base/gsalloc.c:294,1
    - Dst: sanity_check_rec
      Src: /src/libspectre/ghostscript/base/gsalloc.c:298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 3
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: sanity_check_mid
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - sanity_check_rec
    - broken_splay
    linkageType: ''
    returnType: void
    signature: void sanity_check_mid(clump_t *cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: SANITY_CHECK
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITY_CHECK(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: SANITY_CHECK_MID
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SANITY_CHECK_MID(cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/base/gsalloc.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sw
    - mem
    argTypes:
    - clump_splay_walker*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 327
    functionName: clump_splay_walk_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - SANITY_CHECK
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_walk_init(clump_splay_walker *sw, const gs_ref_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/base/gsalloc.c:336,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - sw
    - mem
    argTypes:
    - clump_splay_walker*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 347
    functionName: clump_splay_walk_bwd_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - SANITY_CHECK
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_walk_bwd_init(clump_splay_walker *sw, const gs_ref_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK_MID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sw
    - cp
    argTypes:
    - clump_splay_walker*
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 364
    functionName: clump_splay_walk_init_mid
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - SANITY_CHECK_MID
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_walk_init_mid(clump_splay_walker *sw, clump_t *cp)'
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 1
    argNames:
    - sw
    argTypes:
    - clump_splay_walker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 439
    functionName: clump_splay_walk_fwd
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_walk_fwd(clump_splay_walker *sw)'
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 36
    argCount: 1
    argNames:
    - sw
    argTypes:
    - clump_splay_walker*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 501
    functionName: clump_splay_walk_bwd
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_walk_bwd(clump_splay_walker *sw)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: clump_splay_remove
      Src: /src/libspectre/ghostscript/base/gsalloc.c:526,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - cp
    - imem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 546
    functionName: clump_splay_remove
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - clump_splay_remove
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_remove(clump_t *cp, gs_ref_memory_t *imem)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/base/gsalloc.c:564,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gsalloc.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 3
    argNames:
    - root
    - imem
    - arg
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 613
    functionName: clump_splay_app
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - fn
    - SANITY_CHECK
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      clump_splay_app(clump_t *root, gs_ref_memory_t *imem, splay_app_result_t (*fn)(clump_t
      *, void *), void *arg)'
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 72
    argCount: 2
    argNames:
    - x
    - mem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 731
    functionName: splay_move_to_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void splay_move_to_root(clump_t *x, gs_ref_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PTR_LT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:741,1
    - Dst: splay_move_to_root
      Src: /src/libspectre/ghostscript/base/gsalloc.c:751,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cp
    - mem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 752
    functionName: splay_insert
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - splay_move_to_root
    - PTR_LT
    linkageType: ''
    returnType: void
    signature: void splay_insert(clump_t *cp, gs_ref_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_solo
      Src: /src/libspectre/ghostscript/base/gsalloc.c:764,1
    - Dst: ialloc_reset
      Src: /src/libspectre/ghostscript/base/gsalloc.c:788,1
    - Dst: ialloc_set_limit
      Src: /src/libspectre/ghostscript/base/gsalloc.c:790,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 2
    argNames:
    - parent
    - clump_size
    argTypes:
    - gs_memory_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 801
    functionName: ialloc_alloc_state
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ialloc_set_limit
    - ialloc_solo
    - ialloc_reset
    linkageType: ''
    returnType: gs_ref_memory_t
    signature: 'gs_ref_memory_t *

      ialloc_alloc_state(gs_memory_t * parent, uint clump_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_raw_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:813,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gsalloc.c:816,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:819,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:823,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:824,1
    - Dst: alloc_init_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:827,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - parent
    - pstype
    - pcp
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - clump_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 804
    functionDepth: 2
    functionLinenumber: 804
    functionLinenumberEnd: 838
    functionName: ialloc_solo
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - ROUND_UP
    - gs_alloc_bytes_immovable
    - gs_raw_alloc_struct_immovable
    - alloc_init_clump
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void *\nialloc_solo(gs_memory_t * parent, gs_memory_type_ptr_t pstype,\n
      \           clump_t ** pcp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:851,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:852,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - iimem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 840
    functionDepth: 0
    functionLinenumber: 840
    functionLinenumberEnd: 853
    functionName: ialloc_free_state
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ialloc_free_state(gs_ref_memory_t *iimem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_add_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:871,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsalloc.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - imem
    - space
    - cname
    argTypes:
    - gs_ref_memory_t*
    - ulong
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 890
    functionName: ialloc_add_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - alloc_add_clump
    linkageType: ''
    returnType: int
    signature: int ialloc_add_clump(gs_ref_memory_t *imem, ulong space, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 906
    functionName: ialloc_gc_prepare
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ialloc_gc_prepare(gs_ref_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_reset_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 920
    functionName: ialloc_reset
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - ialloc_reset_free
    linkageType: ''
    returnType: void
    signature: void ialloc_reset(gs_ref_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 936
    functionName: ialloc_reset_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ialloc_reset_free(gs_ref_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:968,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:971,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:972,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 979
    functionName: ialloc_set_limit
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - min
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: void ialloc_set_limit(register gs_ref_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_free_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 998
    functionName: free_all_not_allocator
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_free_clump
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t free_all_not_allocator(clump_t *cp, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_free_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1000
    functionDepth: 1
    functionLinenumber: 1000
    functionLinenumberEnd: 1011
    functionName: free_all_allocator
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_free_clump
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t free_all_allocator(clump_t *cp, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1029,1
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1038,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - free_mask
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1018
    functionDepth: 1
    functionLinenumber: 1018
    functionLinenumberEnd: 1040
    functionName: i_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - clump_splay_app
    linkageType: ''
    returnType: void
    signature: void i_free_all(gs_memory_t * mem, uint free_mask, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pre_obj_contents_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - obj
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: i_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - pre_obj_contents_size
    linkageType: ''
    returnType: size_t
    signature: size_t i_object_size(gs_memory_t * mem, const void /*obj_header_t */
      *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - obj
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 0
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    functionName: i_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_type_ptr_t
    signature: gs_memory_type_ptr_t i_object_type(const gs_memory_t * mem, const void
      /*obj_header_t */ *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_ref_memory_t*
    - gs_memory_gc_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1059
    functionDepth: 0
    functionLinenumber: 1059
    functionLinenumberEnd: 1063
    functionName: gs_memory_gc_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_memory_gc_status(const gs_ref_memory_t * mem, gs_memory_gc_status_t
      * pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_set_limit
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_ref_memory_t*
    - gs_memory_gc_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1071
    functionName: gs_memory_set_gc_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ialloc_set_limit
    linkageType: ''
    returnType: void
    signature: void gs_memory_set_gc_status(gs_ref_memory_t * mem, const gs_memory_gc_status_t
      * pstat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1084,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1086,1
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1087,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1089,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - val
    argTypes:
    - gs_ref_memory_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1074
    functionDepth: 3
    functionLinenumber: 1074
    functionLinenumberEnd: 1090
    functionName: gs_memory_set_vm_threshold
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - gs_memory_set_gc_status
    - gs_memory_gc_status
    linkageType: ''
    returnType: void
    signature: void gs_memory_set_vm_threshold(gs_ref_memory_t * mem, int64_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1099,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1101,1
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1102,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - enabled
    argTypes:
    - gs_ref_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1105
    functionName: gs_memory_set_vm_reclaim
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - gs_memory_set_gc_status
    - gs_memory_gc_status
    linkageType: ''
    returnType: void
    signature: void gs_memory_set_vm_reclaim(gs_ref_memory_t * mem, bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - ptr
    - ','
    - imem
    - ','
    - size
    - ','
    - pstype
    - ','
    - pfl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1123
    functionName: IF_FREELIST_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_FREELIST_ALLOC(ptr, imem, size, pstype, pfl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - imem
    - ','
    - size
    - ','
    - pstype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1125
    functionDepth: 0
    functionLinenumber: 1125
    functionLinenumberEnd: 1132
    functionName: ELSEIF_BIG_FREELIST_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELSEIF_BIG_FREELIST_ALLOC(ptr, imem, size, pstype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - imem
    - ','
    - size
    - ','
    - pstype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1149
    functionName: ELSEIF_LIFO_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ELSEIF_LIFO_ALLOC(ptr, imem, size, pstype)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1164,1
    - Dst: IF_FREELIST_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1171,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1172,1
    - Dst: ELSEIF_BIG_FREELIST_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1173,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1174,1
    - Dst: ELSEIF_LIFO_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1175,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1176,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1179,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - ssize
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1183
    functionName: i_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ELSEIF_BIG_FREELIST_ALLOC
    - ELSEIF_LIFO_ALLOC
    - alloc_obj
    - Memento_failThisEvent
    - IF_FREELIST_ALLOC
    - alloc_trace
    linkageType: ''
    returnType: byte
    signature: 'byte *

      i_alloc_bytes(gs_memory_t * mem, size_t ssize, client_name_t cname)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1197,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1204,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - ssize
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1210
    functionName: i_alloc_bytes_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_trace
    - alloc_obj
    - Memento_failThisEvent
    linkageType: ''
    returnType: byte
    signature: 'byte *

      i_alloc_bytes_immovable(gs_memory_t * mem, size_t ssize, client_name_t cname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1221,1
    - Dst: ALLOC_CHECK_SIZE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1225,1
    - Dst: IF_FREELIST_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1226,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1227,1
    - Dst: ELSEIF_BIG_FREELIST_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1228,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1229,1
    - Dst: ELSEIF_LIFO_ALLOC
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1230,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1231,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1234,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1211
    functionDepth: 2
    functionLinenumber: 1211
    functionLinenumberEnd: 1238
    functionName: i_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ELSEIF_BIG_FREELIST_ALLOC
    - ELSEIF_LIFO_ALLOC
    - alloc_obj
    - ALLOC_CHECK_SIZE
    - Memento_failThisEvent
    - IF_FREELIST_ALLOC
    - alloc_trace
    linkageType: ''
    returnType: void
    signature: "void *\ni_alloc_struct(gs_memory_t * mem, gs_memory_type_ptr_t pstype,\n
      \              client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1253,1
    - Dst: ALLOC_CHECK_SIZE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1257,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1258,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1261
    functionName: i_alloc_struct_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ALLOC_CHECK_SIZE
    - alloc_trace
    - alloc_obj
    - Memento_failThisEvent
    linkageType: ''
    returnType: void
    signature: "void *\ni_alloc_struct_immovable(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                         client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - num_elements
    - elt_size
    - lsize
    argTypes:
    - size_t
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1263
    functionDepth: 0
    functionLinenumber: 1263
    functionLinenumberEnd: 1284
    functionName: alloc_array_check_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool alloc_array_check_size(size_t num_elements, size_t elt_size, size_t
      *lsize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1295,1
    - Dst: alloc_array_check_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1298,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1303,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1306,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1307,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1286
    functionDepth: 1
    functionLinenumber: 1286
    functionLinenumberEnd: 1311
    functionName: i_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_trace_space
    - alloc_obj
    - client_name_string
    - if_debug6m
    - alloc_array_check_size
    - Memento_failThisEvent
    linkageType: ''
    returnType: byte
    signature: "byte *\ni_alloc_byte_array(gs_memory_t * mem, size_t num_elements,
      size_t elt_size,\n                   client_name_t cname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1321,1
    - Dst: alloc_array_check_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1324,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1329,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1333,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1334,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1312
    functionDepth: 1
    functionLinenumber: 1312
    functionLinenumberEnd: 1338
    functionName: i_alloc_byte_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_trace_space
    - alloc_obj
    - client_name_string
    - if_debug6m
    - alloc_array_check_size
    - Memento_failThisEvent
    linkageType: ''
    returnType: byte
    signature: "byte *\ni_alloc_byte_array_immovable(gs_memory_t * mem, size_t num_elements,\n
      \                            size_t elt_size, client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1348,1
    - Dst: ALLOC_CHECK_SIZE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1352,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1355,1
    - Dst: alloc_array_check_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1360,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1365,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1366,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1367,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1367,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1339
    functionDepth: 1
    functionLinenumber: 1339
    functionLinenumberEnd: 1372
    functionName: i_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_trace_space
    - alloc_obj
    - ALLOC_CHECK_SIZE
    - dmprintf2
    - client_name_string
    - struct_type_name_string
    - alloc_array_check_size
    - if_debug7m
    - Memento_failThisEvent
    linkageType: ''
    returnType: void
    signature: "void *\ni_alloc_struct_array(gs_memory_t * mem, size_t num_elements,\n
      \                    gs_memory_type_ptr_t pstype, client_name_t cname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1382,1
    - Dst: ALLOC_CHECK_SIZE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1386,1
    - Dst: alloc_array_check_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1387,1
    - Dst: alloc_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1392,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1393,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1394,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1394,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1395,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1373
    functionDepth: 1
    functionLinenumber: 1373
    functionLinenumberEnd: 1399
    functionName: i_alloc_struct_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_trace_space
    - alloc_obj
    - ALLOC_CHECK_SIZE
    - client_name_string
    - struct_type_name_string
    - alloc_array_check_size
    - if_debug7m
    - Memento_failThisEvent
    linkageType: ''
    returnType: void
    signature: "void *\ni_alloc_struct_array_immovable(gs_memory_t * mem, size_t num_elements,\n
      \                              gs_memory_type_ptr_t pstype, client_name_t cname)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pre_obj_contents_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1407,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1409,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1410,1
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1414,1
    - Dst: trim_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1432,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1436,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1437,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1440,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1441,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1446,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1450,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1450,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1451,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 4
    argNames:
    - mem
    - obj
    - new_num_elements
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1400
    functionDepth: 1
    functionLinenumber: 1400
    functionLinenumberEnd: 1453
    functionName: i_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - pre_obj_contents_size
    - gs_alloc_struct_array
    - alloc_trace_space
    - trim_obj
    - client_name_string
    - struct_type_name_string
    - memcpy
    - gs_free_object
    - obj_align_round
    - min
    - if_debug8m
    - Memento_failThisEvent
    linkageType: ''
    returnType: void
    signature: "void *\ni_resize_object(gs_memory_t * mem, void *obj, size_t new_num_elements,\n
      \               client_name_t cname)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: struct_proc_finalize
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1462,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1470,1
    - Dst: mlprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1474,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1475,1
    - Dst: clump_locate_ptr
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1481,1
    - Dst: mlprintf3
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1484,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1485,1
    - Dst: PTR_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1494,1
    - Dst: mlprintf5
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1497,1
    - Dst: pre_obj_contents_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1505,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1506,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1516,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1517,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1518,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1525,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1526,1
    - Dst: consolidate_clump_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1531,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1549,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1550,1
    - Dst: clump_locate_ptr
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1551,1
    - Dst: clump_locate_ptr
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1557,1
    - Dst: alloc_free_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1559,1
    - Dst: clump_locate
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1571,1
    - Dst: o_set_unmarked
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1598,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1599,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1602,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1609,1
    - Dst: alloc_trace
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1611,1
    - Dst: obj_size_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1612,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 3
    argNames:
    - mem
    - ptr
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1454
    functionDepth: 2
    functionLinenumber: 1454
    functionLinenumberEnd: 1613
    functionName: i_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - clump_locate_ptr
    - consolidate_clump_free
    - clump_locate
    - o_set_unmarked
    - obj_align_round
    - alloc_free_clump
    - pre_obj_contents_size
    - gs_debug_c
    - mlprintf2
    - gs_alloc_fill
    - PTR_BETWEEN
    - obj_size_round
    - struct_proc_finalize
    - mlprintf3
    - struct_type_name_string
    - if_debug3m
    - client_name_string
    - mlprintf5
    - alloc_trace
    linkageType: ''
    returnType: void
    signature: void i_free_object(gs_memory_t * mem, void *ptr, client_name_t cname)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clump_splay_walk_init_mid
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1625,1
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1633,1
    - Dst: clump_splay_walk_init
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1638,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1639,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1643,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1644,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1647,1
    - Dst: ASSIGN_HDR_ID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1649,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1653,1
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1657,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1659,1
    - Dst: string_space_quanta
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1662,1
    - Dst: i_alloc_string_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1668,1
    - Dst: alloc_acquire_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1670,1
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1674,1
    - Dst: clump_splay_walk_init_mid
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1675,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1676,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1680
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1680
    functionName: i_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_acquire_clump
    - string_space_quanta
    - alloc_close_clump
    - client_name_string
    - alloc_open_clump
    - clump_splay_walk_fwd
    - clump_splay_walk_init_mid
    - if_debug4m
    - gs_alloc_fill
    - ASSIGN_HDR_ID
    - clump_splay_walk_init
    - i_alloc_string_immovable
    - Memento_failThisEvent
    linkageType: ''
    returnType: byte
    signature: 'byte *

      i_alloc_string(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEvent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1692,1
    - Dst: string_clump_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1696,1
    - Dst: alloc_acquire_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1697,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1704,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1705,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1707,1
    - Dst: ASSIGN_HDR_ID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1709,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1712
      start: 1681
    functionDepth: 1
    functionLinenumber: 1681
    functionLinenumberEnd: 1712
    functionName: i_alloc_string_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - alloc_acquire_clump
    - client_name_string
    - string_clump_space
    - if_debug4m
    - ASSIGN_HDR_ID
    - gs_alloc_fill
    - Memento_failThisEvent
    linkageType: ''
    returnType: byte
    signature: 'byte *

      i_alloc_string_immovable(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1733,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1734,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1736,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1739,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1739,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1742,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1745,1
    - Dst: ASSIGN_HDR_ID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1748,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1754,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1756,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1757,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1757,1
    - Dst: ASSIGN_HDR_ID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1760,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1766,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1769,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1769,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1770,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - mem
    - data
    - old_num
    - new_num
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1714
    functionDepth: 1
    functionLinenumber: 1714
    functionLinenumberEnd: 1774
    functionName: i_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - if_debug5m
    - alloc_trace_space
    - client_name_string
    - if_debug6m
    - gs_free_string
    - memmove
    - memcpy
    - ASSIGN_HDR_ID
    - gs_alloc_fill
    - min
    linkageType: ''
    returnType: byte
    signature: "byte *\ni_resize_string(gs_memory_t * mem, byte * data, size_t old_num,
      size_t new_num,\n                client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1786,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1787,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1787,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1791,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1792,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1792,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1798
    functionName: i_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - client_name_string
    - alloc_trace_space
    - gs_alloc_fill
    - if_debug4m
    linkageType: ''
    returnType: void
    signature: "void i_free_string(gs_memory_t * mem, byte * data, size_t nbytes,\n
      \             client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1800
    functionDepth: 0
    functionLinenumber: 1800
    functionLinenumberEnd: 1804
    functionName: i_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      i_stable(gs_memory_t *mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1815,1
    - Dst: clump_splay_walk_init
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1819,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1819,1
    - Dst: compute_free_objects
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1825,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_memory_t*
    - gs_memory_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1832
    functionName: i_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_close_clump
    - clump_splay_walk_fwd
    - compute_free_objects
    - clump_splay_walk_init
    linkageType: ''
    returnType: void
    signature: void i_status(gs_memory_t * mem, gs_memory_status_t * pstat)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - enable
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1843
    functionName: i_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void i_enable_free(gs_memory_t * mem, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr
    - type
    argTypes:
    - gs_memory_t*
    - void*
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1845
    functionDepth: 0
    functionLinenumber: 1845
    functionLinenumberEnd: 1853
    functionName: i_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void i_set_object_type(gs_memory_t *mem, void *ptr, gs_memory_type_ptr_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem
    - defer
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1855
    functionDepth: 0
    functionLinenumber: 1855
    functionLinenumberEnd: 1857
    functionName: i_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void i_defer_frees(gs_memory_t *mem, int defer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1878
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1878
    functionName: compute_free_objects
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - obj_align_round
    linkageType: ''
    returnType: size_t
    signature: size_t compute_free_objects(gs_ref_memory_t * mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1886,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1889,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1901,1
    - Dst: trim_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1928,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - gs_ref_memory_t*
    - obj_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1934
      start: 1881
    functionDepth: 1
    functionLinenumber: 1881
    functionLinenumberEnd: 1934
    functionName: large_freelist_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - obj_align_round
    - trim_obj
    linkageType: ''
    returnType: obj_header_t
    signature: "obj_header_t *\t/* rets obj if allocated, else 0 */\nlarge_freelist_alloc(gs_ref_memory_t
      *mem, obj_size_t size)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: alloc_acquire_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1952,1
    - Dst: clump_splay_walk_init_mid
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1971,1
    - Dst: obj_size_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1972,1
    - Dst: large_freelist_alloc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1977,1
    - Dst: clump_splay_walk_init
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1985,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1986,1
    - Dst: CAN_ALLOC_AT_END
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1994,1
    - Dst: gs_consolidate_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:1999,1
    - Dst: CAN_ALLOC_AT_END
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2000,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2006,1
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2010,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2012,1
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2026,1
    - Dst: clump_splay_walk_init_mid
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2027,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2027,1
    - Dst: consolidate_clump_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2029,1
    - Dst: CAN_ALLOC_AT_END
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2030,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2032,1
    - Dst: alloc_add_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2046,1
    - Dst: scavenge_low_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2064,1
    - Dst: ASSIGN_HDR_ID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2076,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2077,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 79
    argCount: 5
    argNames:
    - mem
    - lsize
    - pstype
    - flags
    - cname
    argTypes:
    - gs_ref_memory_t*
    - obj_size_t
    - gs_memory_type_ptr_t
    - alloc_flags_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 1937
    functionDepth: 2
    functionLinenumber: 1937
    functionLinenumberEnd: 2079
    functionName: alloc_obj
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 8
    functionsReached:
    - alloc_acquire_clump
    - alloc_close_clump
    - large_freelist_alloc
    - alloc_open_clump
    - consolidate_clump_free
    - clump_splay_walk_init
    - clump_splay_walk_fwd
    - gs_consolidate_free
    - CAN_ALLOC_AT_END
    - scavenge_low_free
    - ASSIGN_HDR_ID
    - gs_alloc_fill
    - clump_splay_walk_init_mid
    - alloc_add_clump
    - obj_size_round
    linkageType: ''
    returnType: obj_header_t
    signature: "obj_header_t *\nalloc_obj(gs_ref_memory_t *mem, obj_size_t lsize,
      gs_memory_type_ptr_t pstype,\n          alloc_flags_t flags, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1989
    functionDepth: 0
    functionLinenumber: 1989
    functionLinenumberEnd: 1992
    functionName: CAN_ALLOC_AT_END
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAN_ALLOC_AT_END(cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2092,1
    - Dst: if
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - cp
    - mem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2101
    functionName: consolidate_clump_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 2
    functionsReached:
    - if
    - SCAN_CLUMP_OBJECTS
    linkageType: ''
    returnType: void
    signature: void consolidate_clump_free(clump_t *cp, gs_ref_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_range_from_freelist
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2106,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2112
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2112
    functionName: if
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 10
    functionsReached:
    - remove_range_from_freelist
    - if_debug4m
    linkageType: ''
    returnType: END_OBJECTS_SCAN
    signature: END_OBJECTS_SCAN if (begin_free)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: consolidate_clump_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2120,1
    - Dst: alloc_free_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2124,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 2115
    functionDepth: 2
    functionLinenumber: 2115
    functionLinenumberEnd: 2131
    functionName: consolidate
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_free_clump
    - consolidate_clump_free
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t consolidate(clump_t *cp, void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2137,1
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2143,1
    - Dst: alloc_open_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2151
    functionName: ialloc_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - alloc_close_clump
    - clump_splay_app
    - alloc_open_clump
    linkageType: ''
    returnType: void
    signature: void ialloc_consolidate_free(gs_ref_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_consolidate_free
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2152
    functionDepth: 2
    functionLinenumber: 2152
    functionLinenumberEnd: 2156
    functionName: i_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ialloc_consolidate_free
    linkageType: ''
    returnType: void
    signature: void i_consolidate_free(gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2175,1
    - Dst: pre_obj_rounded_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2182,1
    - Dst: remove_range_from_freelist
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2191,1
    - Dst: trim_obj
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2166
    functionDepth: 1
    functionLinenumber: 2166
    functionLinenumberEnd: 2205
    functionName: scavenge
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - remove_range_from_freelist
    - trim_obj
    - pre_obj_rounded_size
    - SCAN_CLUMP_OBJECTS
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t scavenge(clump_t *cp, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: obj_size_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2213,1
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - request_size
    argTypes:
    - gs_ref_memory_t*
    - obj_size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2208
    functionDepth: 1
    functionLinenumber: 2208
    functionLinenumberEnd: 2222
    functionName: scavenge_low_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - clump_splay_app
    - obj_size_round
    linkageType: ''
    returnType: obj_header_t
    signature: "obj_header_t *\t/* returns uninitialized object hdr, NULL if none
      found */\nscavenge_low_free(gs_ref_memory_t *mem, obj_size_t request_size)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: obj_size_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2242,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2255,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2262,1
    - Dst: PTR_GE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2284,1
    - Dst: PTR_LT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2284,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2287,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - mem
    - bottom
    - top
    argTypes:
    - gs_ref_memory_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2295
      start: 2225
    functionDepth: 1
    functionLinenumber: 2225
    functionLinenumberEnd: 2295
    functionName: remove_range_from_freelist
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 2
    functionsReached:
    - PTR_GE
    - memset
    - PTR_LT
    - obj_align_round
    - obj_size_round
    linkageType: ''
    returnType: void
    signature: void remove_range_from_freelist(gs_ref_memory_t *mem, void* bottom,
      void* top)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2303,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2306,1
    - Dst: clump_locate
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2320,1
    - Dst: lprintf3
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2327,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 41
    argCount: 4
    argNames:
    - mem
    - obj
    - size
    - cp
    argTypes:
    - gs_ref_memory_t*
    - obj_header_t*
    - obj_size_t
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2298
    functionDepth: 1
    functionLinenumber: 2298
    functionLinenumberEnd: 2372
    functionName: trim_obj
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 3
    functionsReached:
    - obj_align_round
    - lprintf3
    - clump_locate
    linkageType: ''
    returnType: void
    signature: void trim_obj(gs_ref_memory_t *mem, obj_header_t *obj, obj_size_t size,
      clump_t *cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_raw_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2385,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2388,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2396,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - mem
    - rpp
    - ptype
    - up
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t**
    - gs_ptr_type_t
    - void**
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2377
    functionDepth: 2
    functionLinenumber: 2377
    functionLinenumberEnd: 2403
    functionName: i_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - return_error
    - if_debug3m
    - gs_raw_alloc_struct_immovable
    - client_name_string
    linkageType: ''
    returnType: int
    signature: "int i_register_root(gs_memory_t * mem, gs_gc_root_t ** rpp, gs_ptr_type_t
      ptype,\n                void **up, client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2412,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2413,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - rp
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2406
    functionDepth: 1
    functionLinenumber: 2406
    functionLinenumberEnd: 2419
    functionName: i_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - client_name_string
    - gs_free_object
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void i_unregister_root(gs_memory_t * mem, gs_gc_root_t * rp, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: splay_insert
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2430,1
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cp
    - imem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2427
    functionDepth: 2
    functionLinenumber: 2427
    functionLinenumberEnd: 2432
    functionName: alloc_link_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - splay_insert
    - SANITY_CHECK
    linkageType: ''
    returnType: void
    signature: void alloc_link_clump(clump_t * cp, gs_ref_memory_t * imem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: alloc_acquire_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2438,1
    - Dst: alloc_close_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2441,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - csize
    - cname
    argTypes:
    - gs_ref_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2435
    functionDepth: 1
    functionLinenumber: 2435
    functionLinenumberEnd: 2447
    functionName: alloc_add_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 2
    functionsReached:
    - alloc_close_clump
    - alloc_acquire_clump
    - gs_alloc_fill
    linkageType: ''
    returnType: clump_t
    signature: 'clump_t *

      alloc_add_clump(gs_ref_memory_t * mem, size_t csize, client_name_t cname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_raw_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2466,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2478,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2481,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2488,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2490,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2491,1
    - Dst: alloc_init_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2495,1
    - Dst: alloc_link_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2496,1
    - Dst: SANITY_CHECK
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2498,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - mem
    - csize
    - has_strings
    - cname
    argTypes:
    - gs_ref_memory_t*
    - size_t
    - bool
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2453
    functionDepth: 3
    functionLinenumber: 2453
    functionLinenumberEnd: 2500
    functionName: alloc_acquire_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 4
    functionsReached:
    - SANITY_CHECK
    - gs_alloc_bytes_immovable
    - gs_raw_alloc_struct_immovable
    - alloc_link_clump
    - alloc_init_clump
    - if_debug4m
    - gs_free_object
    linkageType: ''
    returnType: clump_t
    signature: "clump_t *\nalloc_acquire_clump(gs_ref_memory_t * mem, size_t csize,
      bool has_strings,\n                    client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_space_quanta
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2529,1
    - Dst: string_quanta_mark_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2533,1
    - Dst: alloc_init_free_strings
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 5
    argNames:
    - cp
    - bot
    - top
    - has_strings
    - outer
    argTypes:
    - clump_t*
    - byte*
    - byte*
    - bool
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2547
    functionName: alloc_init_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 2
    functionsReached:
    - alloc_init_free_strings
    - string_quanta_mark_size
    - string_space_quanta
    linkageType: ''
    returnType: void
    signature: "void alloc_init_clump(clump_t * cp, byte * bot, byte * top, bool has_strings,\n
      \                clump_t * outer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2554,1
    - Dst: STRING_FREELIST_SPACE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2556
      start: 2550
    functionDepth: 1
    functionLinenumber: 2550
    functionLinenumberEnd: 2556
    functionName: alloc_init_free_strings
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - memset
    - STRING_FREELIST_SPACE
    linkageType: ''
    returnType: void
    signature: void alloc_init_free_strings(clump_t * cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2564,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2565,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2565,1
    - Dst: dmprintf_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2569
      start: 2560
    functionDepth: 1
    functionLinenumber: 2560
    functionLinenumberEnd: 2569
    functionName: alloc_close_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 5
    functionsReached:
    - dmprintf_clump
    - alloc_trace_space
    - gs_debug_c
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: void alloc_close_clump(gs_ref_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2576,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2577,1
    - Dst: alloc_trace_space
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2577,1
    - Dst: dmprintf_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2578,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2581
      start: 2572
    functionDepth: 1
    functionLinenumber: 2572
    functionLinenumberEnd: 2581
    functionName: alloc_open_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 3
    functionsReached:
    - dmprintf_clump
    - alloc_trace_space
    - gs_debug_c
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: void alloc_open_clump(gs_ref_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2584
    functionDepth: 0
    functionLinenumber: 2584
    functionLinenumberEnd: 2594
    functionName: check_in_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t check_in_clump(clump_t *cp, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SANITY_CHECK_MID
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2601,1
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2605,1
    - Dst: mlprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2608,1
    - Dst: clump_splay_remove
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2614,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - cp
    - mem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2618
      start: 2598
    functionDepth: 2
    functionLinenumber: 2598
    functionLinenumberEnd: 2618
    functionName: alloc_unlink_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - clump_splay_app
    - SANITY_CHECK_MID
    - clump_splay_remove
    - mlprintf2
    linkageType: ''
    returnType: void
    signature: void alloc_unlink_clump(clump_t * cp, gs_ref_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_unlink_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2633,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2639,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2642,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - cp
    - mem
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2626
    functionDepth: 3
    functionLinenumber: 2626
    functionLinenumberEnd: 2645
    functionName: alloc_free_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 4
    functionsReached:
    - gs_alloc_fill
    - gs_free_object
    - alloc_unlink_clump
    linkageType: ''
    returnType: void
    signature: void alloc_free_clump(clump_t * cp, gs_ref_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTR_LT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2659,1
    - Dst: PTR_GE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2664,1
    - Dst: splay_move_to_root
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2670,1
    - Dst: ptr_is_in_inner_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2672,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - ptr
    - clp
    argTypes:
    - void*
    - clump_locator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2652
    functionDepth: 1
    functionLinenumber: 2652
    functionLinenumberEnd: 2675
    functionName: clump_locate_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - PTR_GE
    - splay_move_to_root
    - PTR_LT
    - ptr_is_in_inner_clump
    linkageType: ''
    returnType: bool
    signature: bool clump_locate_ptr(const void *ptr, clump_locator_t * clp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PTR_LT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2683,1
    - Dst: PTR_GE
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2688,1
    - Dst: splay_move_to_root
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2694,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - ptr
    - mem
    argTypes:
    - void*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2677
    functionDepth: 1
    functionLinenumber: 2677
    functionLinenumberEnd: 2698
    functionName: ptr_is_within_mem_clumps
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - PTR_GE
    - splay_move_to_root
    - PTR_LT
    linkageType: ''
    returnType: bool
    signature: bool ptr_is_within_mem_clumps(const void *ptr, gs_ref_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PTR_GT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2711,1
    - Dst: PTR_LT
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - obot
    - otop
    - pdc
    argTypes:
    - void*
    - void*
    - dump_control_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2713
      start: 2706
    functionDepth: 1
    functionLinenumber: 2706
    functionLinenumberEnd: 2713
    functionName: obj_in_control_region
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - PTR_GT
    - PTR_LT
    linkageType: ''
    returnType: bool
    signature: "bool obj_in_control_region(const void *obot, const void *otop,\n                      const
      dump_control_t *pdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2741,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - indent
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2742
      start: 2735
    functionDepth: 1
    functionLinenumber: 2735
    functionLinenumberEnd: 2742
    functionName: debug_indent
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - dmputc
    linkageType: ''
    returnType: void
    signature: void debug_indent(const gs_memory_t *mem, int indent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2762,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2763,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2766,1
    - Dst: debug_indent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2768,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2769,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2773,1
    - Dst: debug_indent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2774,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2775,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2779,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2781,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2783,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2785,1
    - Dst: debug_indent
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2787,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2787,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2792,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2796,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2798,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2800,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 33
    argCount: 5
    argNames:
    - mem
    - bot
    - top
    - indent
    - as_chars
    argTypes:
    - gs_memory_t*
    - byte*
    - byte*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2804
      start: 2743
    functionDepth: 5
    functionLinenumber: 2743
    functionLinenumberEnd: 2804
    functionName: debug_dump_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - dmputc
    - strlen
    - debug_indent
    - gs_sprintf
    - dmprintf1
    - memcmp
    - dmputs
    linkageType: ''
    returnType: void
    signature: "void debug_dump_contents(const gs_memory_t *mem, const byte * bot,\n
      \                   const byte * top, int indent, bool as_chars)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: pre_obj_contents_size
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2813,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2817,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2821,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2824,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2824,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2828,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2828,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2833,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2835,1
    - Dst: struct_proc_enum_ptrs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2839,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2851,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2855,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2857,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2859,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2861,1
    - Dst: debug_dump_contents
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2863,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2866,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2869,1
    - Dst: PTR_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2869,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2874,1
    - Dst: debug_dump_contents
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2879,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - mem
    - obj
    - control
    argTypes:
    - gs_memory_t*
    - void*
    - dump_control_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2882
      start: 2809
    functionDepth: 6
    functionLinenumber: 2809
    functionLinenumberEnd: 2882
    functionName: debug_print_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - pre_obj_contents_size
    - dmputc
    - struct_proc_enum_ptrs
    - debug_dump_contents
    - dmprintf2
    - struct_type_name_string
    - dmprintf1
    - dmprintf
    - PTR_BETWEEN
    - dmputs
    - dmprintf3
    linkageType: ''
    returnType: void
    signature: void debug_print_object(const gs_memory_t *mem, const void *obj, const
      dump_control_t * control)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2889,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2890,1
    - Dst: dmprintf3
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2892,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2894,1
    - Dst: u
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2894,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2897,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2899,1
    - Dst: s
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2899,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2903,1
    - Dst: debug_dump_contents
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2906,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2907,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2909,1
    - Dst: obj_in_control_region
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2914,1
    - Dst: clump_splay_walk_init
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2938,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2938,1
    - Dst: obj_in_control_region
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2940,1
    - Dst: debug_dump_clump
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2941,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mem
    - cp
    - control
    argTypes:
    - gs_memory_t*
    - clump_t*
    - dump_control_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2886
    functionDepth: 6
    functionLinenumber: 2886
    functionLinenumberEnd: 2943
    functionName: debug_dump_clump
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - debug_dump_contents
    - dmprintf2
    - max
    - obj_in_control_region
    - dmprintf1
    - dmprintf6
    - clump_splay_walk_init
    - clump_splay_walk_fwd
    - debug_dump_clump
    - dmprintf4
    - dmprintf3
    - min
    - s
    - u
    linkageType: ''
    returnType: void
    signature: void debug_dump_clump(const gs_memory_t *mem, const clump_t * cp, const
      dump_control_t * control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_dump_memory
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2945
    functionDepth: 0
    functionLinenumber: 2945
    functionLinenumberEnd: 2949
    functionName: debug_dump_allocator
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - debug_dump_memory
    linkageType: ''
    returnType: void
    signature: void debug_dump_allocator(const gs_ref_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clump_splay_walk_init
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2960,1
    - Dst: clump_splay_walk_fwd
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2960,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2962,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2973,1
    - Dst: debug_print_object
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2974,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - target
    argTypes:
    - gs_ref_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2978
      start: 2952
    functionDepth: 7
    functionLinenumber: 2952
    functionLinenumberEnd: 2978
    functionName: debug_find_pointers
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - SCAN_CLUMP_OBJECTS
    - dmprintf1
    - clump_splay_walk_fwd
    - debug_print_object
    - clump_splay_walk_init
    linkageType: ''
    returnType: void
    signature: void debug_find_pointers(const gs_ref_memory_t *mem, const void *target)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2986,1
    - Dst: dmlprintf7
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2988,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2993,1
    - Dst: ddct
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2994,1
    - Dst: ddct
      Src: /src/libspectre/ghostscript/base/gsalloc.c:2995,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - cp
    - parent
    - depth
    argTypes:
    - gs_memory_t*
    - clump_t*
    - clump_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2979
    functionDepth: 1
    functionLinenumber: 2979
    functionLinenumberEnd: 2996
    functionName: ddct
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 1
    functionsReached:
    - dmlprintf7
    - ddct
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void ddct(const gs_memory_t *mem, clump_t *cp, clump_t *parent, int
      depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddct
      Src: /src/libspectre/ghostscript/base/gsalloc.c:3000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2997
    functionDepth: 2
    functionLinenumber: 2997
    functionLinenumberEnd: 3001
    functionName: debug_dump_clump_tree
    functionSourceFile: /src/libspectre/ghostscript/base/gsalloc.c
    functionUses: 0
    functionsReached:
    - ddct
    linkageType: ''
    returnType: void
    signature: void debug_dump_clump_tree(const gs_ref_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 43
    functionName: private_st_indexed_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxcolor2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_indexed_map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: public_st_pattern1_instance
    functionSourceFile: /src/libspectre/ghostscript/base/gxcolor2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pattern1_instance()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - float_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: float_color_to_byte_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcolor2.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float_color_to_byte_color(float_color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - float_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: float_color_to_color16
    functionSourceFile: /src/libspectre/ghostscript/base/gxcolor2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float_color_to_color16(float_color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:32,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:33,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:35,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:36,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:39,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:40,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:42,1
    - Dst: cb
      Src: /src/libspectre/ghostscript/base/shc.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - reverse_bits
    - q
    - cw
    argTypes:
    - bool
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 46
    functionName: hc_put_code_proc
    functionSourceFile: /src/libspectre/ghostscript/base/shc.c
    functionUses: 0
    functionsReached:
    - cb
    linkageType: ''
    returnType: void
    signature: void hc_put_code_proc(bool reverse_bits, byte * q, uint cw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: cb
    functionSourceFile: /src/libspectre/ghostscript/base/shc.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cb(n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - ss
    - q
    - bits
    - bits_left
    argTypes:
    - stream_hc_state*
    - byte*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: hc_put_last_bits_proc
    functionSourceFile: /src/libspectre/ghostscript/base/shc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      hc_put_last_bits_proc(stream_hc_state * ss, byte * q, uint bits, int bits_left)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: private_st_A85E_state
    functionSourceFile: /src/libspectre/ghostscript/base/sa85x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_A85E_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: s_A85E_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/sa85x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_A85E_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: stream_exception_repeat
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_exception_repeat(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: stream_proc_init
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_init(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: stream_proc_process
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_process(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: stream_proc_release
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_release(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 132
    functionName: stream_proc_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_set_defaults(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: stream_proc_reinit
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_reinit(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: stream_proc_report_error
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_proc_report_error(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - state_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 154
    functionName: stream_state_proc_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_state_proc_get_params(proc, state_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - state_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: stream_state_proc_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_state_proc_put_params(proc, state_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: public_st_stream_state
    functionSourceFile: /src/libspectre/ghostscript/base/scommon.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_stream_state()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:41,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsfunc.c:42,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:45,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfunc.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - count
    - pFunctions
    - mem
    argTypes:
    - uint
    - gs_function_t***
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 49
    functionName: alloc_function_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct_array
    - memset
    linkageType: ''
    returnType: int
    signature: "int alloc_function_array(uint count, gs_function_t *** pFunctions,\n
      \                    gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc.c:55,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: fn_common_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 2
    functionsReached:
    - gs_free_const_object
    linkageType: ''
    returnType: void
    signature: void fn_common_free_params(gs_function_params_t * params, gs_memory_t
      * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc.c:66,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfunc.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pfn
    - free_params
    - mem
    argTypes:
    - gs_function_t*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: fn_common_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 0
    functionsReached:
    - gs_function_free_params
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void fn_common_free(gs_function_t * pfn, bool free_params, gs_memory_t
      * mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:77,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:80,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:84,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 3
    argNames:
    - params
    - m
    - n
    argTypes:
    - gs_function_params_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: fn_check_mnDR
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int fn_check_mnDR(const gs_function_params_t * params, int m, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pfn
    - pfi
    argTypes:
    - gs_function_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 94
    functionName: gs_function_get_info_default
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_function_get_info_default(const gs_function_t *pfn, gs_function_info_t
      *pfi)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsfunc.c:102,1
    - Dst: FunctionType
      Src: /src/libspectre/ghostscript/base/gsfunc.c:102,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc.c:106,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - pfn
    - plist
    argTypes:
    - gs_function_t*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 118
    functionName: fn_common_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 1
    functionsReached:
    - param_write_float_values
    - FunctionType
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int fn_common_get_params(const gs_function_t *pfn, gs_param_list *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc.c:127,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pvalues
    - count
    - size
    - mem
    argTypes:
    - void*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 134
    functionName: fn_copy_values
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 1
    functionsReached:
    - gs_alloc_byte_array
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      fn_copy_values(const void *pvalues, int count, int size, gs_memory_t *mem)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc.c:148,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:153,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc.c:164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - ppvalues
    - pvalues
    - npairs
    - pranges
    - mem
    argTypes:
    - float**
    - float*
    - int
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 167
    functionName: fn_scale_pairs
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 1
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int fn_scale_pairs(const float **ppvalues, const float *pvalues, int
      npairs,\n               const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fn_scale_pairs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:182,1
    - Dst: fn_scale_pairs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - psfn
    - pfn
    - pranges
    - mem
    argTypes:
    - gs_function_t*
    - gs_function_t*
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 188
    functionName: fn_common_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 2
    functionsReached:
    - fn_scale_pairs
    linkageType: ''
    returnType: int
    signature: "int fn_common_scale(gs_function_t *psfn, const gs_function_t *pfn,\n
      \               const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:196,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:201,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:204,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:207,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gsfunc.c:210,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc.c:211,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 214
    functionName: fn_common_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc.c
    functionUses: 2
    functionsReached:
    - return_error
    - count_of
    - sputs
    linkageType: ''
    returnType: int
    signature: int fn_common_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: FORCE_UNIT
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FORCE_UNIT(p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceCMYK
      Src: /src/libspectre/ghostscript/base/gscolor1.c:49,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor1.c:51,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gscolor1.c:52,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gscolor1.c:53,1
    - Dst: cs_adjust_color_count
      Src: /src/libspectre/ghostscript/base/gscolor1.c:55,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor1.c:56,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor1.c:57,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor1.c:58,1
    - Dst: FORCE_UNIT
      Src: /src/libspectre/ghostscript/base/gscolor1.c:59,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor1.c:61,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscolor1.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - pgs
    - c
    - m
    - y
    - k
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 65
    functionName: gs_setcmykcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only_cs
    - gs_cspace_new_DeviceCMYK
    - cs_adjust_color_count
    - gx_unset_dev_color
    - gs_setcolorspace
    - gs_currentcolor_inline
    - FORCE_UNIT
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setcmykcolor(gs_gstate * pgs, double c, double m, double y,
      double k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setblackgeneration_remap
      Src: /src/libspectre/ghostscript/base/gscolor1.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - proc
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: gs_setblackgeneration
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached:
    - gs_setblackgeneration_remap
    linkageType: ''
    returnType: int
    signature: int gs_setblackgeneration(gs_gstate * pgs, gs_mapping_proc proc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:77,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor1.c:79,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gscolor1.c:82,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:84,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor1.c:85,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - proc
    - remap
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 74
    functionDepth: 2
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: gs_setblackgeneration_remap
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 1
    functionsReached:
    - gx_unset_dev_color
    - rc_unshare_struct
    - load_transfer_map
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: int gs_setblackgeneration_remap(gs_gstate * pgs, gs_mapping_proc proc,
      bool remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: gs_currentblackgeneration
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_mapping_proc
    signature: gs_mapping_proc gs_currentblackgeneration(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setundercolorremoval_remap
      Src: /src/libspectre/ghostscript/base/gscolor1.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - proc
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: gs_setundercolorremoval
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached:
    - gs_setundercolorremoval_remap
    linkageType: ''
    returnType: int
    signature: int gs_setundercolorremoval(gs_gstate * pgs, gs_mapping_proc proc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:107,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor1.c:109,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gscolor1.c:112,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:114,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor1.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - proc
    - remap
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 118
    functionName: gs_setundercolorremoval_remap
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 1
    functionsReached:
    - gx_unset_dev_color
    - rc_unshare_struct
    - load_transfer_map
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: int gs_setundercolorremoval_remap(gs_gstate * pgs, gs_mapping_proc
      proc, bool remap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: gs_currentundercolorremoval
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_mapping_proc
    signature: gs_mapping_proc gs_currentundercolorremoval(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gscolor1.c:137,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:141,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:143,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:145,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscolor1.c:147,1
    - Dst: gs_color_name_component_number
      Src: /src/libspectre/ghostscript/base/gscolor1.c:158,1
    - Dst: gs_color_name_component_number
      Src: /src/libspectre/ghostscript/base/gscolor1.c:160,1
    - Dst: gs_color_name_component_number
      Src: /src/libspectre/ghostscript/base/gscolor1.c:162,1
    - Dst: gs_color_name_component_number
      Src: /src/libspectre/ghostscript/base/gscolor1.c:164,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:166,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:167,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:168,1
    - Dst: load_transfer_map
      Src: /src/libspectre/ghostscript/base/gscolor1.c:169,1
    - Dst: gx_set_effective_transfer
      Src: /src/libspectre/ghostscript/base/gscolor1.c:170,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor1.c:171,1
    - Dst: gx_set_effective_transfer
      Src: /src/libspectre/ghostscript/base/gscolor1.c:173,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gscolor1.c:176,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gscolor1.c:178,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gscolor1.c:180,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor1.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 6
    argNames:
    - pgs
    - red_proc
    - green_proc
    - blue_proc
    - gray_proc
    - remap
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    - gs_mapping_proc
    - gs_mapping_proc
    - gs_mapping_proc
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 183
    functionName: gs_setcolortransfer_remap
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached:
    - gx_set_effective_transfer
    - gs_color_name_component_number
    - gx_unset_dev_color
    - rc_unshare_struct
    - rc_assign
    - load_transfer_map
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: "int gs_setcolortransfer_remap(gs_gstate * pgs, gs_mapping_proc red_proc,\n
      \                         gs_mapping_proc green_proc,\n                          gs_mapping_proc
      blue_proc,\n                          gs_mapping_proc gray_proc, bool remap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcolortransfer_remap
      Src: /src/libspectre/ghostscript/base/gscolor1.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pgs
    - red_proc
    - green_proc
    - blue_proc
    - gray_proc
    argTypes:
    - gs_gstate*
    - gs_mapping_proc
    - gs_mapping_proc
    - gs_mapping_proc
    - gs_mapping_proc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 191
    functionName: gs_setcolortransfer
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached:
    - gs_setcolortransfer_remap
    linkageType: ''
    returnType: int
    signature: "int gs_setcolortransfer(gs_gstate * pgs, gs_mapping_proc red_proc,\n
      \                   gs_mapping_proc green_proc, gs_mapping_proc blue_proc,\n
      \                   gs_mapping_proc gray_proc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - procs
    argTypes:
    - gs_gstate*
    - gs_mapping_proc[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: gs_currentcolortransfer
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_currentcolortransfer(const gs_gstate * pgs, gs_mapping_proc
      procs[4])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/ramfs.c:83,1
    - Dst: ramfs_destroy
      Src: /src/libspectre/ghostscript/base/ramfs.c:102,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:111,1
    - Dst: unlink_node
      Src: /src/libspectre/ghostscript/base/ramfs.c:112,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 116
    functionName: gs_private_st_simple
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - unlink_node
    - gs_free_object
    - ramfs_destroy
    - gs_alloc_struct
    linkageType: ''
    returnType: void
    signature: "void gs_private_st_simple(st_ramfs, struct _ramfs, \"gsram_ramfs\");\n\nstruct
      _ramdirent {\n    char* filename;\n    struct _ramfile* inode;\n    struct _ramdirent*
      next;\n};\n\ngs_private_st_simple(st_ramdirent, struct _ramdirent, \"gsram_ramdirent\");\n\ntypedef
      struct _ramfile {\n    ramfs* fs;\n    int refcount;\n    int size;\n    int
      blocks;\n    int blocklist_size;\n    char** data;\n} ramfile;\n\ngs_private_st_simple(st_ramfile,
      struct _ramfile, \"gsram_ramfile\");\n\nstruct _ramhandle {\n    ramfile * file;\n
      \   int last_error;\n    int filepos;\n    int mode;\n};\n\ngs_private_st_simple(st_ramhandle,
      struct _ramhandle, \"gsram_ramhandle\");\n\nstruct _ramfs_enum {\n    ramfs*
      fs;\n    ramdirent * current;\n    struct _ramfs_enum* next;\n};\n\ngs_private_st_simple(st_ramfs_enum,
      struct _ramfs_enum, \"gsram_ramfs_enum\");\n\nstatic void unlink_node(ramfile
      * inode);\nstatic int ramfile_truncate(ramhandle * handle,int size);\n\nramfs
      * ramfs_new(gs_memory_t *mem, int size)\n{\n    ramfs * fs = gs_alloc_struct(mem->non_gc_memory,
      ramfs, &st_ramfs, \"ramfs_new\");\n\n    if (fs == NULL) {\n        return NULL;\n
      \   }\n    size = size/(RAMFS_BLOCKSIZE/1024);\n    fs->files = NULL;\n    fs->active_enums
      = NULL;\n    fs->blocksfree = size;\n    fs->last_error = 0;\n    fs->memory
      = mem->non_gc_memory;\n    return fs;\n}\n\n/* This function makes no attempt
      to check that there are no open files or\n   enums.  If there are any when this
      function is called, memory leakage will\n   result and any attempt to access
      the open files or enums will probably\n   cause a segfault.  Caveat emptor,
      or something.\n*/\nvoid ramfs_destroy(gs_memory_t *mem, ramfs * fs)\n{\n    ramdirent
      * ent;\n\n    if(fs == NULL) return;\n\n    ent = fs->files;\n    while(ent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - ramfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 120
    functionName: ramfs_error
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfs_error(const ramfs* fs)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/ramfs.c:142,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/ramfs.c:144,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ramfs.c:145,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:146,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/ramfs.c:152,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:163,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - ramfile*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 168
    functionName: resize
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 11
    functionsReached:
    - gs_alloc_bytes
    - gs_alloc_bytes_immovable
    - memcpy
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int resize(ramfile * file,int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/ramfs.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - fs
    - filename
    argTypes:
    - ramfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 178
    functionName: ramfs_findfile
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: ramdirent
    signature: ramdirent * ramfs_findfile(const ramfs* fs,const char *filename)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ramfs_findfile
      Src: /src/libspectre/ghostscript/base/ramfs.c:188,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/ramfs.c:199,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/ramfs.c:200,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/ramfs.c:201,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/ramfs.c:201,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:203,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:204,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:205,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/ramfs.c:209,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/ramfs.c:224,1
    - Dst: resize
      Src: /src/libspectre/ghostscript/base/ramfs.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 4
    argNames:
    - mem
    - fs
    - filename
    - mode
    argTypes:
    - gs_memory_t*
    - ramfs*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 238
    functionName: ramfs_open
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - resize
    - strlen
    - ramfs_findfile
    - strcpy
    - gs_alloc_struct
    - gs_free_object
    linkageType: ''
    returnType: ramhandle
    signature: ramhandle * ramfs_open(gs_memory_t *mem, ramfs* fs,const char * filename,int
      mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - ramfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 240
    functionName: ramfs_blocksize
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfs_blocksize(ramfs * fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fs
    argTypes:
    - ramfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 241
    functionName: ramfs_blocksfree
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfs_blocksfree(ramfs * fs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ramhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 242
    functionName: ramfile_error
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfile_error(ramhandle * handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:253,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:256,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - inode
    argTypes:
    - ramfile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 258
    functionName: unlink_node
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void unlink_node(ramfile * inode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/ramfs.c:272,1
    - Dst: unlink_node
      Src: /src/libspectre/ghostscript/base/ramfs.c:276,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:277,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:286,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - fs
    - filename
    argTypes:
    - ramfs*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 288
    functionName: ramfs_unlink
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - unlink_node
    - gs_free_object
    - strcmp
    linkageType: ''
    returnType: int
    signature: int ramfs_unlink(ramfs * fs,const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ramfs_findfile
      Src: /src/libspectre/ghostscript/base/ramfs.c:295,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/ramfs.c:303,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/ramfs.c:305,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/ramfs.c:305,1
    - Dst: ramfs_unlink
      Src: /src/libspectre/ghostscript/base/ramfs.c:312,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/ramfs.c:314,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - fs
    - oldname
    - newname
    argTypes:
    - ramfs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 318
    functionName: ramfs_rename
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strcmp
    - strlen
    - ramfs_findfile
    - strcpy
    - ramfs_unlink
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int ramfs_rename(ramfs * fs,const char* oldname,const char* newname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/ramfs.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fs
    argTypes:
    - ramfs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 334
    functionName: ramfs_enum_new
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: ramfs_enum
    signature: ramfs_enum * ramfs_enum_new(ramfs * fs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - e
    argTypes:
    - ramfs_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 344
    functionName: ramfs_enum_next
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char * ramfs_enum_next(ramfs_enum * e)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:356,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - e
    argTypes:
    - ramfs_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 357
    functionName: ramfs_enum_end
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ramfs_enum_end(ramfs_enum * e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ramfs.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - ramhandle*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 380
    functionName: ramfile_read
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int ramfile_read(ramhandle * handle,void * buf,int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ramfile_truncate
      Src: /src/libspectre/ghostscript/base/ramfs.c:399,1
    - Dst: resize
      Src: /src/libspectre/ghostscript/base/ramfs.c:403,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ramfs.c:419,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - handle
    - buf
    - len
    argTypes:
    - ramhandle*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 425
    functionName: ramfile_write
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - ramfile_truncate
    - memcpy
    - resize
    linkageType: ''
    returnType: int
    signature: int ramfile_write(ramhandle * handle,const void * buf,int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - pos
    - whence
    argTypes:
    - ramhandle*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: ramfile_seek
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfile_seek(ramhandle * handle,int pos,int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ramhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: ramfile_size
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfile_size(ramhandle * handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: resize
      Src: /src/libspectre/ghostscript/base/ramfs.c:451,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/ramfs.c:465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - handle
    - size
    argTypes:
    - ramhandle*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 468
    functionName: ramfile_truncate
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 1
    functionsReached:
    - memset
    - resize
    linkageType: ''
    returnType: int
    signature: int ramfile_truncate(ramhandle * handle,int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink_node
      Src: /src/libspectre/ghostscript/base/ramfs.c:473,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ramfs.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ramhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: ramfile_close
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached:
    - unlink_node
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ramfile_close(ramhandle * handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ramhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 480
    functionName: ramfile_tell
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfile_tell(ramhandle* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - ramhandle*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 485
    functionName: ramfile_eof
    functionSourceFile: /src/libspectre/ghostscript/base/ramfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ramfile_eof(ramhandle* handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(ht_tiles_enum_ptrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/base/gxht.c:99,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gxht.c:100,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gxht.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 108
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - size_of
    - RELOC_VAR
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(ht_tiles_reloc_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxht.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: gx_ht_cache_default_tiles
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    linkageType: ''
    returnType: uint
    signature: uint gx_ht_cache_default_tiles(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxht.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: gx_ht_cache_default_bits_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    linkageType: ''
    returnType: uint
    signature: uint gx_ht_cache_default_bits_size(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxht.c:139,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht.c:142,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gxht.c:144,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:148,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:149,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:150,1
    - Dst: gx_ht_clear_cache
      Src: /src/libspectre/ghostscript/base/gxht.c:159,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - max_tiles
    - max_bits_size
    argTypes:
    - gs_memory_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 161
    functionName: gx_ht_alloc_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_bytes
    - gs_alloc_struct
    - gx_ht_clear_cache
    - gs_free_object
    linkageType: ''
    returnType: gx_ht_cache
    signature: 'gx_ht_cache *

      gx_ht_alloc_cache(gs_memory_t * mem, uint max_tiles, uint max_bits_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:167,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:168,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - pcache
    argTypes:
    - gs_memory_t*
    - gx_ht_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 170
    functionName: gx_ht_free_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_ht_free_cache(gs_memory_t * mem, gx_ht_cache * pcache)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: render_ht
      Src: /src/libspectre/ghostscript/base/gxht.c:188,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pcache
    - b_level
    argTypes:
    - gx_ht_cache*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 194
    functionName: gx_render_ht_default
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - render_ht
    linkageType: ''
    returnType: gx_ht_tile
    signature: 'gx_ht_tile *

      gx_render_ht_default(gx_ht_cache * pcache, int b_level)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: gx_dc_ht_binary_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_dc_ht_binary_save_dc(const gx_device_color * pdevc,\n                        gx_device_color_saved
      * psdc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: gx_dc_ht_binary_get_dev_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_halftone
    signature: 'gx_device_halftone *

      gx_dc_ht_binary_get_dev_halftone(const gx_device_color * pdevc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_init_cache
      Src: /src/libspectre/ghostscript/base/gxht.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 240
    functionName: gx_dc_ht_binary_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - gx_ht_init_cache
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                     gx_device * dev, gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: render_ht
      Src: /src/libspectre/ghostscript/base/gxht.c:262,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 269
    functionName: gx_dc_ht_binary_load_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - return_error
    - render_ht
    linkageType: ''
    returnType: int
    signature: int gx_dc_ht_binary_load_cache(const gx_device_color * pdevc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gxht.c:280,1
    - Dst: gx_dc_ht_binary_load_cache
      Src: /src/libspectre/ghostscript/base/gxht.c:282,1
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxht.c:291,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht.c:292,1
    - Dst: rop3_use_D_when_T_0
      Src: /src/libspectre/ghostscript/base/gxht.c:299,1
    - Dst: rop3_use_D_when_T_1
      Src: /src/libspectre/ghostscript/base/gxht.c:301,1
    - Dst: set_rop_no_source
      Src: /src/libspectre/ghostscript/base/gxht.c:303,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht.c:305,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht.c:314,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 322
    functionName: gx_dc_ht_binary_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - rop3_use_D_when_T_1
    - gx_dc_ht_binary_load_cache
    - rop3_use_D_when_T_0
    - fit_fill
    - set_rop_no_source
    - lop_no_S_is_T
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_fill_rectangle(const gx_device_color * pdevc,
      int x, int y,\n                  int w, int h, gx_device * dev, gs_logical_operation_t
      lop,\n                               const gx_rop_source_t * source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_ht_binary_load_cache
      Src: /src/libspectre/ghostscript/base/gxht.c:336,1
    - Dst: gx_dc_default_fill_masked
      Src: /src/libspectre/ghostscript/base/gxht.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 342
    functionName: gx_dc_ht_binary_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - gx_dc_ht_binary_load_cache
    - gx_dc_default_fill_masked
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_fill_masked(const gx_device_color * pdevc, const
      byte * data,\n        int data_x, int raster, gx_bitmap_id id, int x, int y,
      int w, int h,\n                   gx_device * dev, gs_logical_operation_t lop,
      bool invert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_binary_color0
      Src: /src/libspectre/ghostscript/base/gxht.c:352,1
    - Dst: gx_dc_binary_color0
      Src: /src/libspectre/ghostscript/base/gxht.c:352,1
    - Dst: gx_dc_binary_color1
      Src: /src/libspectre/ghostscript/base/gxht.c:353,1
    - Dst: gx_dc_binary_color1
      Src: /src/libspectre/ghostscript/base/gxht.c:353,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 355
    functionName: gx_dc_ht_binary_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - gx_dc_binary_color0
    - gx_dc_binary_color1
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_ht_binary_equal(const gx_device_color * pdevc1,\n                      const
      gx_device_color * pdevc2)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:417,1
    - Dst: gx_dc_write_color
      Src: /src/libspectre/ghostscript/base/gxht.c:428,1
    - Dst: gx_dc_write_color
      Src: /src/libspectre/ghostscript/base/gxht.c:438,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxht.c:448,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:466,1
    - Dst: gx_dc_write_color
      Src: /src/libspectre/ghostscript/base/gxht.c:475,1
    - Dst: gx_dc_write_color
      Src: /src/libspectre/ghostscript/base/gxht.c:485,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxht.c:494,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 6
    argNames:
    - pdevc
    - psdc0
    - dev
    - offset
    - pdata
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 500
    functionName: gx_dc_ht_binary_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_dc_write_color
    - enc_u_sizew
    - enc_u_putw
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_write(\n    const gx_device_color *         pdevc,\n
      \   const gx_device_color_saved *   psdc0,\n    const gx_device *               dev,\n
      \   int64_t\t\t\t    offset,\n    byte *                          pdata,\n    uint
      *                          psize )"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:548,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht.c:554,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:565,1
    - Dst: gx_dc_read_color
      Src: /src/libspectre/ghostscript/base/gxht.c:571,1
    - Dst: gx_dc_read_color
      Src: /src/libspectre/ghostscript/base/gxht.c:581,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:594,1
    - Dst: enc_u_getw
      Src: /src/libspectre/ghostscript/base/gxht.c:595,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:600,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:606,1
    - Dst: color_set_phase_mod
      Src: /src/libspectre/ghostscript/base/gxht.c:608,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 617
    functionName: gx_dc_ht_binary_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - color_set_phase_mod
    - gx_dc_read_color
    - memset
    - return_error
    - enc_u_getw
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate        * pgs,\n    const gx_device_color * prior_devc,\n    const
      gx_device *       dev,        /* ignored */\n    int64_t\t\t    offset,\n    const
      byte *            pdata,\n    uint                    size,\n    gs_memory_t
      *           mem )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht.c:638,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht.c:641,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - pdevc
    - dev
    - pcomp_bits
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 656
    functionName: gx_dc_ht_binary_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_ht_binary_get_nonzero_comps(\n    const gx_device_color
      * pdevc,\n    const gx_device *       dev,\n    gx_color_index *        pcomp_bits
      )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht.c:711,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxht.c:714,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht.c:721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - mem
    - pcache
    - porder
    argTypes:
    - gs_memory_t*
    - gx_ht_cache*
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 737
    functionName: gx_ht_init_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 2
    functionsReached:
    - memset
    - bitmap_raster
    - gs_next_ids
    linkageType: ''
    returnType: void
    signature: void gx_ht_init_cache(const gs_memory_t *mem, gx_ht_cache * pcache,
      const gx_ht_order * porder)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: if_debug7
      Src: /src/libspectre/ghostscript/base/gxht.c:755,1
    - Dst: lprintf3
      Src: /src/libspectre/ghostscript/base/gxht.c:761,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxht.c:763,1
    - Dst: gx_ht_order*::procs::render
      Src: /src/libspectre/ghostscript/base/gxht.c:766,1
    - Dst: bits_replicate_horizontally
      Src: /src/libspectre/ghostscript/base/gxht.c:782,1
    - Dst: bits_replicate_vertically
      Src: /src/libspectre/ghostscript/base/gxht.c:788,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxht.c:791,1
    - Dst: dmprintf8
      Src: /src/libspectre/ghostscript/base/gxht.c:797,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gxht.c:802,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 4
    argNames:
    - pbt
    - level
    - porder
    - new_id
    argTypes:
    - gx_ht_tile*
    - int
    - gx_ht_order*
    - gx_bitmap_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 807
    functionName: render_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gxht.c
    functionUses: 3
    functionsReached:
    - lprintf3
    - dmprintf8
    - gs_debug_c
    - dmputc
    - gx_ht_order*::procs::render
    - bits_replicate_horizontally
    - bits_replicate_vertically
    - return_error
    - if_debug7
    linkageType: ''
    returnType: int
    signature: "int render_ht(gx_ht_tile * pbt, int level /* [1..num_bits-1] */ ,\n
      \         const gx_ht_order * porder, gx_bitmap_id new_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 156
    functionName: intcmp
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int intcmp(const void *a, const void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:166,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:167,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:173,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:176,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 180
    functionName: gx_edgebuffer_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf4
    - dlprintf
    - dlprintf2
    - dlprintf3
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_print(gx_edgebuffer * edgebuffer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:187,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:189,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:191,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:193,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:194,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - str
    - x
    - y
    argTypes:
    - char*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: coord
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 3
    functionsReached:
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void coord(const char *str, fixed x, fixed y)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - sx
    - ex
    - zf
    argTypes:
    - fixed
    - fixed
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: mark_line_zero
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mark_line_zero(fixed sx, fixed ex, fixed *zf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:221,1
    - Dst: mark_line_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:223,1
    - Dst: mark_curve_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:226,1
    - Dst: mark_curve_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - sx
    - c1x
    - c2x
    - ex
    - depth
    - zf
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    - fixed*
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 220
        line_start: 220
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 229
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 229
    functionName: mark_curve_zero
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_curve_zero
    - mark_line_zero
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_zero(fixed sx, fixed c1x, fixed c2x, fixed ex, int
      depth, fixed *zf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:240,1
    - Dst: mark_line_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:242,1
    - Dst: mark_curve_big_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:245,1
    - Dst: mark_curve_big_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - sx
    - c1x
    - c2x
    - ex
    - depth
    - zf
    argTypes:
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - int
    - fixed*
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: mark_curve_big_zero
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_line_zero
    - mark_curve_big_zero
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_big_zero(fixed64 sx, fixed64 c1x, fixed64 c2x, fixed64
      ex, int depth, fixed *zf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_curve_big_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:255,1
    - Dst: mark_curve_zero
      Src: /src/libspectre/ghostscript/base/gxscanc.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - sx
    - c1x
    - c2x
    - ex
    - depth
    - zf
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 258
    functionName: mark_curve_top_zero
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - mark_curve_zero
    - mark_curve_big_zero
    linkageType: ''
    returnType: void
    signature: void mark_curve_top_zero(fixed sx, fixed c1x, fixed c2x, fixed ex,
      int depth, fixed *zf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gxscanc.c:329,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:329,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:329,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:332,1
    - Dst: coord
      Src: /src/libspectre/ghostscript/base/gxscanc.c:333,1
    - Dst: coord
      Src: /src/libspectre/ghostscript/base/gxscanc.c:334,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:335,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:338,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:338,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:353,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:354,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:357,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:358,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:381,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:382,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:383,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:386,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:388,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:414,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:439,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 8
    argNames:
    - sx
    - sy
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    - int
    - int*
    - int*
    assertStmts:
    - condition: (ih >= 0)
      pos:
        line_end: 381
        line_start: 381
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 413
        line_start: 413
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 387
        line_start: 387
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 438
        line_start: 438
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 445
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 445
    functionName: mark_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - coord
    - assert
    - dlprintf6
    - fixed2int
    - dlprintf2
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void mark_line(fixed sx, fixed sy, fixed ex, fixed ey, int base_y,
      int height, int *table, int *index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:462,1
    - Dst: mark_line
      Src: /src/libspectre/ghostscript/base/gxscanc.c:464,1
    - Dst: mark_curve
      Src: /src/libspectre/ghostscript/base/gxscanc.c:467,1
    - Dst: mark_curve
      Src: /src/libspectre/ghostscript/base/gxscanc.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 13
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - depth
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int*
    - int*
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 461
        line_start: 461
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 470
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 470
    functionName: mark_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_curve
    - mark_line
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve(fixed sx, fixed sy, fixed c1x, fixed c1y, fixed c2x,
      fixed c2y, fixed ex, fixed ey, fixed base_y, fixed height, int *table, int *index,
      int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:487,1
    - Dst: mark_line
      Src: /src/libspectre/ghostscript/base/gxscanc.c:489,1
    - Dst: mark_curve_big
      Src: /src/libspectre/ghostscript/base/gxscanc.c:492,1
    - Dst: mark_curve_big
      Src: /src/libspectre/ghostscript/base/gxscanc.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 13
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - depth
    argTypes:
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed
    - fixed
    - int*
    - int*
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 486
        line_start: 486
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 495
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 495
    functionName: mark_curve_big
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_curve_big
    - mark_line
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_big(fixed64 sx, fixed64 sy, fixed64 c1x, fixed64 c1y,
      fixed64 c2x, fixed64 c2y, fixed64 ex, fixed64 ey, fixed base_y, fixed height,
      int *table, int *index, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_curve_big
      Src: /src/libspectre/ghostscript/base/gxscanc.c:502,1
    - Dst: mark_curve
      Src: /src/libspectre/ghostscript/base/gxscanc.c:504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 13
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - depth
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: mark_curve_top
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - mark_curve
    - mark_curve_big
    linkageType: ''
    returnType: void
    signature: void mark_curve_top(fixed sx, fixed sy, fixed c1x, fixed c1y, fixed
      c2x, fixed c2y, fixed ex, fixed ey, fixed base_y, fixed height, int *table,
      int *index, int depth)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxscanc.c:517,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:547,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:548,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:549,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:550,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 5
    argNames:
    - path
    - clip
    - bbox
    - ibox
    - adjust
    argTypes:
    - gx_path*
    - gs_fixed_rect*
    - gs_fixed_rect*
    - gs_fixed_rect*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 553
    functionName: make_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - gx_path_bbox
    linkageType: ''
    returnType: int
    signature: "int make_bbox(gx_path       * path,\n               const gs_fixed_rect
      * clip,\n                     gs_fixed_rect * bbox,\n                     gs_fixed_rect
      * ibox,\n                     fixed           adjust)"
  - BBCount: 52
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxscanc.c:592,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxscanc.c:596,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxscanc.c:599,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:606,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:608,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:629,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:651,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:653,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:659,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:663,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:669,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:677,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:689,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:699,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:701,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:707,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:711,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:717,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:725,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:742,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:744,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:750,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:754,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:760,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:768,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:773,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxscanc.c:801,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxscanc.c:809,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxscanc.c:810,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxscanc.c:818,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxscanc.c:821,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxscanc.c:822,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 159
    argCount: 8
    argNames:
    - pdev
    - path
    - ibox
    - intersection_size
    - adjust
    - scanlinesp
    - indexp
    - tablep
    argTypes:
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - int
    - int
    - int*
    - int**
    - int**
    assertStmts:
    - condition: ("This should never happen" == NULL)
      pos:
        line_end: 628
        line_start: 628
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (pseg->type == s_start)
      pos:
        line_end: 607
        line_start: 607
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 837
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 837
    functionName: make_table_template
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - dlprintf
    - assert
    - fixed2int
    - dlprintf2
    - memset
    - return_error
    - dlprintf1
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int make_table_template(gx_device     * pdev,\n                    gx_path
      \      * path,\n                    gs_fixed_rect * ibox,\n                    int
      \            intersection_size,\n                    int             adjust,\n
      \                   int           * scanlinesp,\n                    int          **
      indexp,\n                    int          ** tablep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_table_template
      Src: /src/libspectre/ghostscript/base/gxscanc.c:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdev
    - path
    - ibox
    - scanlines
    - index
    - table
    argTypes:
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - int*
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 839
    functionDepth: 2
    functionLinenumber: 839
    functionLinenumberEnd: 847
    functionName: make_table
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - make_table_template
    linkageType: ''
    returnType: int
    signature: "int make_table(gx_device     * pdev,\n                      gx_path
      \      * path,\n                      gs_fixed_rect * ibox,\n                      int
      \          * scanlines,\n                      int          ** index,\n                      int
      \         ** table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - row
    - x
    argTypes:
    - int*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 855
    functionName: fill_zero
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zero(int *row, const fixed *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1085
    functionDepth: 0
    functionLinenumber: 1085
    functionLinenumberEnd: 1093
    functionName: edgecmp
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int edgecmp(const void *a, const void *b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1105,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1106,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1114,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1120,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1123,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:1126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1131
    functionName: gx_edgebuffer_print_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf4
    - dlprintf1
    - dlprintf3
    - dlprintf
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_print_app(gx_edgebuffer * edgebuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1424
    functionDepth: 0
    functionLinenumber: 1424
    functionLinenumberEnd: 1430
    functionName: cursor_null
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cursor_null(cursor *cr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2002,1
    - Dst: mark_line_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2004,1
    - Dst: mark_curve_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2007,1
    - Dst: mark_curve_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - cr
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - depth
    argTypes:
    - cursor*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 2001
        line_start: 2001
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 2010
      start: 1987
    functionDepth: 1
    functionLinenumber: 1987
    functionLinenumberEnd: 2010
    functionName: mark_curve_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_curve_app
    - mark_line_app
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_app(cursor *cr, fixed sx, fixed sy, fixed c1x, fixed
      c1y, fixed c2x, fixed c2y, fixed ex, fixed ey, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2027,1
    - Dst: mark_line_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2029,1
    - Dst: mark_curve_big_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2032,1
    - Dst: mark_curve_big_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - cr
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - depth
    argTypes:
    - cursor*
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 2026
        line_start: 2026
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 2035
      start: 2012
    functionDepth: 1
    functionLinenumber: 2012
    functionLinenumberEnd: 2035
    functionName: mark_curve_big_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_curve_big_app
    - mark_line_app
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_big_app(cursor *cr, fixed64 sx, fixed64 sy, fixed64
      c1x, fixed64 c1y, fixed64 c2x, fixed64 c2y, fixed64 ex, fixed64 ey, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_curve_big_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2042,1
    - Dst: mark_curve_app
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - cr
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - depth
    argTypes:
    - cursor*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2037
    functionDepth: 2
    functionLinenumber: 2037
    functionLinenumberEnd: 2045
    functionName: mark_curve_top_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - mark_curve_big_app
    - mark_curve_app
    linkageType: ''
    returnType: void
    signature: void mark_curve_top_app(cursor *cr, fixed sx, fixed sy, fixed c1x,
      fixed c1y, fixed c2x, fixed c2y, fixed ex, fixed ey, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_table_template
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdev
    - path
    - ibox
    - scanlines
    - index
    - table
    argTypes:
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - int*
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2047
    functionDepth: 2
    functionLinenumber: 2047
    functionLinenumberEnd: 2055
    functionName: make_table_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - make_table_template
    linkageType: ''
    returnType: int
    signature: "int make_table_app(gx_device     * pdev,\n                          gx_path
      \      * path,\n                          gs_fixed_rect * ibox,\n                          int
      \          * scanlines,\n                          int          ** index,\n
      \                         int          ** table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - row
    - x
    argTypes:
    - int*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2065
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2065
    functionName: fill_zero_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zero_app(int *row, const fixed *x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2349
      start: 2342
    functionDepth: 0
    functionLinenumber: 2342
    functionLinenumberEnd: 2349
    functionName: intcmp_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int intcmp_tr(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2360,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2361,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2368,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2372,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2352
    functionDepth: 1
    functionLinenumber: 2352
    functionLinenumberEnd: 2376
    functionName: gx_edgebuffer_print_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf4
    - dlprintf1
    - dlprintf3
    - dlprintf
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_print_tr(gx_edgebuffer * edgebuffer)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2389,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2389,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2389,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2392,1
    - Dst: coord
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2393,1
    - Dst: coord
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2394,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2395,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2398,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2398,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2413,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2414,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2417,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2418,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2441,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2442,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2443,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2446,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2448,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2476,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2503,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 93
    argCount: 9
    argNames:
    - sx
    - sy
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - id
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - int
    - int
    - int*
    - int*
    - int
    assertStmts:
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 2447
        line_start: 2447
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 2475
        line_start: 2475
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (iy >= 0 && iy < height)
      pos:
        line_end: 2502
        line_start: 2502
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    - condition: (ih >= 0)
      pos:
        line_end: 2441
        line_start: 2441
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 2511
      start: 2379
    functionDepth: 2
    functionLinenumber: 2379
    functionLinenumberEnd: 2511
    functionName: mark_line_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - coord
    - assert
    - dlprintf6
    - fixed2int
    - dlprintf2
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void mark_line_tr(fixed sx, fixed sy, fixed ex, fixed ey, int base_y,
      int height, int *table, int *index, int id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2528,1
    - Dst: mark_line_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2531,1
    - Dst: mark_curve_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2534,1
    - Dst: mark_curve_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 14
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - id
    - depth
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int*
    - int*
    - int*
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 2527
        line_start: 2527
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 2537
      start: 2513
    functionDepth: 3
    functionLinenumber: 2513
    functionLinenumberEnd: 2537
    functionName: mark_curve_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_line_tr
    - assert
    - mark_curve_tr
    linkageType: ''
    returnType: void
    signature: void mark_curve_tr(fixed sx, fixed sy, fixed c1x, fixed c1y, fixed
      c2x, fixed c2y, fixed ex, fixed ey, fixed base_y, fixed height, int *table,
      int *index, int *id, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2554,1
    - Dst: mark_line_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2557,1
    - Dst: mark_curve_big_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2560,1
    - Dst: mark_curve_big_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 14
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - id
    - depth
    argTypes:
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed64
    - fixed
    - fixed
    - int*
    - int*
    - int*
    - int
    assertStmts:
    - condition: (depth >= 0)
      pos:
        line_end: 2553
        line_start: 2553
        source_file: /src/libspectre/ghostscript/base/gxscanc.c
    constantsTouched: []
    func_position:
      end: 2563
      start: 2539
    functionDepth: 3
    functionLinenumber: 2539
    functionLinenumberEnd: 2563
    functionName: mark_curve_big_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 1
    functionsReached:
    - mark_line_tr
    - mark_curve_big_tr
    - assert
    linkageType: ''
    returnType: void
    signature: void mark_curve_big_tr(fixed64 sx, fixed64 sy, fixed64 c1x, fixed64
      c1y, fixed64 c2x, fixed64 c2y, fixed64 ex, fixed64 ey, fixed base_y, fixed height,
      int *table, int *index, int *id, int depth)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mark_curve_big_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2570,1
    - Dst: mark_curve_tr
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 14
    argNames:
    - sx
    - sy
    - c1x
    - c1y
    - c2x
    - c2y
    - ex
    - ey
    - base_y
    - height
    - table
    - index
    - id
    - depth
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - int*
    - int*
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2565
    functionDepth: 4
    functionLinenumber: 2565
    functionLinenumberEnd: 2573
    functionName: mark_curve_top_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - mark_curve_big_tr
    - mark_curve_tr
    linkageType: ''
    returnType: void
    signature: void mark_curve_top_tr(fixed sx, fixed sy, fixed c1x, fixed c1y, fixed
      c2x, fixed c2y, fixed ex, fixed ey, fixed base_y, fixed height, int *table,
      int *index, int *id, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_table_template
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdev
    - path
    - ibox
    - scanlines
    - index
    - table
    argTypes:
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - int*
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2575
    functionDepth: 2
    functionLinenumber: 2575
    functionLinenumberEnd: 2583
    functionName: make_table_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - make_table_template
    linkageType: ''
    returnType: int
    signature: "int make_table_tr(gx_device     * pdev,\n                         gx_path
      \      * path,\n                         gs_fixed_rect * ibox,\n                         int
      \          * scanlines,\n                         int          ** index,\n                         int
      \         ** table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - row
    - x
    argTypes:
    - int*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2593
      start: 2585
    functionDepth: 0
    functionLinenumber: 2585
    functionLinenumberEnd: 2593
    functionName: fill_zero_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zero_tr(int *row, const fixed *x)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2977
      start: 2964
    functionDepth: 0
    functionLinenumber: 2964
    functionLinenumberEnd: 2977
    functionName: edgecmp_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int edgecmp_tr(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2988,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2989,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:2996,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3002,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3004,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3006
      start: 2980
    functionDepth: 1
    functionLinenumber: 2980
    functionLinenumberEnd: 3006
    functionName: gx_edgebuffer_print_filtered_tr_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf4
    - dlprintf1
    - dlprintf3
    - dlprintf
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_print_filtered_tr_app(gx_edgebuffer * edgebuffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3017,1
    - Dst: dlprintf4
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3018,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3027,1
    - Dst: dlprintf5
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3037,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3040,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxscanc.c:3043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3048
      start: 3008
    functionDepth: 1
    functionLinenumber: 3008
    functionLinenumberEnd: 3048
    functionName: gx_edgebuffer_print_tr_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - dlprintf5
    - dlprintf4
    - dlprintf
    - dlprintf3
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_print_tr_app(gx_edgebuffer * edgebuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cr
    argTypes:
    - cursor_tr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3390
    functionDepth: 0
    functionLinenumber: 3390
    functionLinenumberEnd: 3396
    functionName: cursor_null_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cursor_null_tr(cursor_tr *cr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_table_template
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdev
    - path
    - ibox
    - scanlines
    - index
    - table
    argTypes:
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - int*
    - int**
    - int**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4027
      start: 4019
    functionDepth: 2
    functionLinenumber: 4019
    functionLinenumberEnd: 4027
    functionName: make_table_tr_app
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - make_table_template
    linkageType: ''
    returnType: int
    signature: "int make_table_tr_app(gx_device     * pdev,\n                             gx_path
      \      * path,\n                             gs_fixed_rect * ibox,\n                             int
      \          * scanlines,\n                             int          ** index,\n
      \                            int          ** table)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - row
    - x
    argTypes:
    - int*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4041
      start: 4029
    functionDepth: 0
    functionLinenumber: 4029
    functionLinenumberEnd: 4041
    functionName: fill_zero_app_tr
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void fill_zero_app_tr(int *row, const fixed *x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - edgebuffer
    argTypes:
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4540
      start: 4533
    functionDepth: 0
    functionLinenumber: 4533
    functionLinenumberEnd: 4540
    functionName: gx_edgebuffer_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_edgebuffer_init(gx_edgebuffer * edgebuffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4546,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pdev
    - edgebuffer
    argTypes:
    - gx_device*
    - gx_edgebuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4550
      start: 4542
    functionDepth: 0
    functionLinenumber: 4542
    functionLinenumberEnd: 4550
    functionName: gx_edgebuffer_fin
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gx_edgebuffer_fin(gx_device     * pdev,\n                  gx_edgebuffer
      * edgebuffer)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_edgebuffer_init
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4603,1
    - Dst: gx_scan_converter_t*::scan_convert
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4608,1
    - Dst: gx_scan_converter_t*::filter
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4630,1
    - Dst: gx_scan_converter_t*::fill
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4634,1
    - Dst: gx_edgebuffer_fin
      Src: /src/libspectre/ghostscript/base/gxscanc.c:4638,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 35
    argCount: 8
    argNames:
    - sc
    - dev
    - ppath
    - ibox
    - flat
    - rule
    - pdevc
    - lop
    argTypes:
    - gx_scan_converter_t*
    - gx_device*
    - gx_path*
    - gs_fixed_rect*
    - fixed
    - int
    - gx_device_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4644
      start: 4580
    functionDepth: 1
    functionLinenumber: 4580
    functionLinenumberEnd: 4644
    functionName: gx_scan_convert_and_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxscanc.c
    functionUses: 0
    functionsReached:
    - gx_edgebuffer_fin
    - gx_scan_converter_t*::filter
    - gx_edgebuffer_init
    - gx_scan_converter_t*::scan_convert
    - gx_scan_converter_t*::fill
    linkageType: ''
    returnType: int
    signature: "int gx_scan_convert_and_fill(const gx_scan_converter_t *sc,\n                               gx_device
      \      *dev,\n                               gx_path         *ppath,\n                         const
      gs_fixed_rect   *ibox,\n                               fixed            flat,\n
      \                              int              rule,\n                         const
      gx_device_color *pdevc,\n                               int              lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - pdev
    - ','
    - pmat
    - ','
    - w
    - ','
    - h
    - ','
    - colors
    - ','
    - colors_size
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: gs_makeimagedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_makeimagedevice(pdev, pmat, w, h, colors, colors_size, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - mdev
    - ','
    - pmat
    - ','
    - w
    - ','
    - h
    - ','
    - colors
    - ','
    - colors_size
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: gs_initialize_imagedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_initialize_imagedevice(mdev, pmat, w, h, colors, colors_size, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - plist
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: gs_getdeviceparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_getdeviceparams(dev, plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - plist
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: gs_gethardwareparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_gethardwareparams(dev, plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: gs_currentdevice_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentdevice_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: encode_hash
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: encode_hash(code, chr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/slzwe.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - ss
    - q
    - code
    argTypes:
    - stream_LZW_state*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 74
    functionName: lzw_put_code
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    linkageType: ''
    returnType: byte
    signature: 'byte *

      lzw_put_code(register stream_LZW_state *ss, byte *q, uint code)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: encode_hash
      Src: /src/libspectre/ghostscript/base/slzwe.c:88,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_LZW_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 96
    functionName: lzw_reset_encode
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 0
    functionsReached:
    - encode_hash
    linkageType: ''
    returnType: void
    signature: void lzw_reset_encode(stream_LZW_state *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/slzwe.c:105,1
    - Dst: lzw_reset_encode
      Src: /src/libspectre/ghostscript/base/slzwe.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 112
    functionName: s_LZWE_init
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 0
    functionsReached:
    - lzw_reset_encode
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int s_LZWE_init(stream_state *st)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: set_limit_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:130,1
    - Dst: lzw_put_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:135,1
    - Dst: encode_hash
      Src: /src/libspectre/ghostscript/base/slzwe.c:141,1
    - Dst: lzw_put_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:158,1
    - Dst: lzw_put_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:163,1
    - Dst: lzw_reset_encode
      Src: /src/libspectre/ghostscript/base/slzwe.c:164,1
    - Dst: set_limit_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:165,1
    - Dst: set_limit_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:169,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/slzwe.c:171,1
    - Dst: lzw_put_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:187,1
    - Dst: lzw_put_code
      Src: /src/libspectre/ghostscript/base/slzwe.c:191,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 67
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 200
    functionName: s_LZWE_process
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 0
    functionsReached:
    - encode_hash
    - if_debug3m
    - lzw_reset_encode
    - lzw_put_code
    - set_limit_code
    linkageType: ''
    returnType: int
    signature: "int s_LZWE_process(stream_state *st, stream_cursor_read *pr,\n  stream_cursor_write
      *pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 130
    functionName: set_limit_code
    functionSourceFile: /src/libspectre/ghostscript/base/slzwe.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_limit_code()
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/echogs.c:110,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:119,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/echogs.c:130,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:131,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:131,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/echogs.c:132,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/echogs.c:135,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/echogs.c:136,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/echogs.c:153,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/echogs.c:156,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/echogs.c:160,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:164,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/echogs.c:165,1
    - Dst: fgets
      Src: /src/libspectre/ghostscript/base/echogs.c:174,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/echogs.c:177,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:181,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/echogs.c:182,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:185,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/echogs.c:227,1
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/base/echogs.c:229,1
    - Dst: time
      Src: /src/libspectre/ghostscript/base/echogs.c:239,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/echogs.c:240,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/base/echogs.c:240,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/base/echogs.c:254,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/echogs.c:284,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/echogs.c:286,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/echogs.c:291,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/echogs.c:293,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/echogs.c:294,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/echogs.c:296,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/base/echogs.c:303,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/base/echogs.c:315,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/base/echogs.c:318,1
    - Dst: isupper
      Src: /src/libspectre/ghostscript/base/echogs.c:319,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/base/echogs.c:319,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/echogs.c:334,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 198
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/echogs.c
    functionUses: 15
    functionsReached:
    - exit
    - strlen
    - fputs
    - isxdigit
    - isalnum
    - time
    - fclose
    - tolower
    - isupper
    - toupper
    - fgets
    - fread
    - strcmp
    - ctime
    - fopen
    - strcat
    - strcpy
    - strncpy
    - isdigit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/base/echogs.c:344,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/base/echogs.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - out
    argTypes:
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 347
    functionName: hputc
    functionSourceFile: /src/libspectre/ghostscript/base/echogs.c
    functionUses: 0
    functionsReached:
    - putc
    linkageType: ''
    returnType: int
    signature: int hputc(int ch, FILE * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hputc
      Src: /src/libspectre/ghostscript/base/echogs.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - out
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: hputs
    functionSourceFile: /src/libspectre/ghostscript/base/echogs.c
    functionUses: 0
    functionsReached:
    - hputc
    linkageType: ''
    returnType: int
    signature: int hputs(const char *str, FILE * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: public_st_gs_image_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_image_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: Interpolate
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool Interpolate
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: public_st_gs_data_image
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_data_image()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: public_st_gs_pixel_image
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_pixel_image()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 242
    functionName: public_st_gs_image1
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_image1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pim
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: gs_image_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_image_t_init(pim, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pim
    - ','
    - write_1s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 297
    functionName: gs_image_t_init_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparam.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_image_t_init_mask(pim, write_1s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pval
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 29
    functionName: check_unit
    functionSourceFile: /src/libspectre/ghostscript/base/gstrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_unit(float *pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pval
    argTypes:
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: check_positive
    functionSourceFile: /src/libspectre/ghostscript/base/gstrap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_positive(float *pval)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/base/gstrap.c:41,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gstrap.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - plist
    - param_name
    - pval
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: trap_put_float_param
    functionSourceFile: /src/libspectre/ghostscript/base/gstrap.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_float
    linkageType: ''
    returnType: int
    signature: "int trap_put_float_param(gs_param_list * plist, gs_param_name param_name,\n
      \                    float *pval, bool(*check) (float *pval), int ecode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:67,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:69,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:72,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/base/gstrap.c:74,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/base/gstrap.c:76,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/base/gstrap.c:78,1
    - Dst: param_put_int
      Src: /src/libspectre/ghostscript/base/gstrap.c:80,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gstrap.c:83,1
    - Dst: param_put_bool
      Src: /src/libspectre/ghostscript/base/gstrap.c:85,1
    - Dst: param_put_enum
      Src: /src/libspectre/ghostscript/base/gstrap.c:90,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:94,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:96,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:98,1
    - Dst: trap_put_float_param
      Src: /src/libspectre/ghostscript/base/gstrap.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - pparams
    - plist
    argTypes:
    - gs_trap_params_t*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 106
    functionName: gs_settrapparams
    functionSourceFile: /src/libspectre/ghostscript/base/gstrap.c
    functionUses: 0
    functionsReached:
    - param_put_enum
    - param_put_int
    - param_signal_error
    - param_put_bool
    - trap_put_float_param
    linkageType: ''
    returnType: int
    signature: int gs_settrapparams(gs_trap_params_t * pparams, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gxcmap.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(device_color_enum_ptrs, gx_device_color *cptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxcmap.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_color_reloc_ptrs, gx_device_color
      *cptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gxcmap.c:73,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxcmap.c:74,1
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxcmap.c:80,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxcmap.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 85
    functionName: gx_color_index::gx_default_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - colors_are_separable_and_linear
    - COLROUND_SETUP
    - COLROUND_ROUND
    - dmprintf
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: 'RELOC_PTRS_END gx_color_index

      gx_default_encode_color(gx_device * dev, const gx_color_value cv[])'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gxcmap.c:102,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxcmap.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcmap.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 128
    functionName: gx_default_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    - colors_are_separable_and_linear
    - dmprintf
    linkageType: ''
    returnType: int
    signature: int gx_default_decode_color(gx_device * dev, gx_color_index color,
      gx_color_value cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxcmap.c:135,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxcmap.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 139
    functionName: gx_error_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 4
    functionsReached:
    - dmprintf
    - strcmp
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_error_encode_color(gx_device * dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxcmap.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcmap.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - cindex
    - colors
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 152
    functionName: gx_error_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    - dmprintf
    linkageType: ''
    returnType: int
    signature: int gx_error_decode_color(gx_device * dev, gx_color_index cindex, gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxcmap.c:180,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxcmap.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 182
    functionName: gx_default_gray_fast_encode
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_gray_fast_encode(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: gx_default_gray_encode
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_gray_encode(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 207
    functionName: gx_backwards_compatible_gray_encode
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index gx_backwards_compatible_gray_encode(gx_device *dev,\n
      \                                   const gx_color_value cv[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 215
    functionName: gray_cs_to_gray_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_gray_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/base/gxcmap.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 222
    functionName: rgb_cs_to_gray_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_rgb_to_gray
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_gray_cm(gx_device * dev, const gs_gstate *pgs,\n                                   frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_gray
      Src: /src/libspectre/ghostscript/base/gxcmap.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: cmyk_cs_to_gray_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_gray
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_gray_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: gray_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_rgb_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    functionName: rgb_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_rgb_cm(gx_device * dev, const gs_gstate *pgs,\n                                  frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/base/gxcmap.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: cmyk_cs_to_rgb_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_rgb_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 256
    functionName: gray_cs_to_rgbk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_rgbk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 272
    functionName: rgb_cs_to_rgbk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_rgbk_cm(gx_device * dev, const gs_gstate *pgs,\n                                  frac
      r, frac g, frac b, frac out[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/base/gxcmap.c:283,1
    - Dst: rgb_cs_to_rgbk_cm
      Src: /src/libspectre/ghostscript/base/gxcmap.c:284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 286
    functionName: cmyk_cs_to_rgbk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_rgbk_cm
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_rgbk_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: gray_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_cmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:315,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxcmap.c:318,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxcmap.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 325
    functionName: rgb_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - min
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_cmyk_cm(gx_device * dev, const gs_gstate *pgs,\n                           frac
      r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 334
    functionName: cmyk_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_cmyk_cm(gx_device * dev, frac c, frac m, frac y, frac
      k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 362
    functionName: gx_default_DevGray_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_default_DevGray_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 368
    functionName: gx_default_DevRGB_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_default_DevRGB_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 374
    functionName: gx_default_DevCMYK_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_default_DevCMYK_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: gx_default_DevRGBK_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_default_DevRGBK_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxcmap.c:390,1
    - Dst: gx_default_DevGray_get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:395,1
    - Dst: gx_default_DevRGB_get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:398,1
    - Dst: gx_default_DevCMYK_get_color_mapping_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 404
    functionName: gx_error_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_default_DevCMYK_get_color_mapping_procs
    - gx_default_DevGray_get_color_mapping_procs
    - gx_default_DevRGB_get_color_mapping_procs
    - emprintf1
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_error_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pname
    - ','
    - name_size
    - ','
    - name_str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 410
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(pname, name_size, name_str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:416,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 421
    functionName: gx_default_DevGray_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int gx_default_DevGray_get_color_comp_index(gx_device * dev, const
      char * pname,\n                                          int name_size, int
      component_type)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:428,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:430,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 436
    functionName: gx_default_DevRGB_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int gx_default_DevRGB_get_color_comp_index(gx_device * dev, const
      char * pname,\n                                           int name_size, int
      component_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:443,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:445,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:447,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 453
    functionName: gx_default_DevCMYK_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int gx_default_DevCMYK_get_color_comp_index(gx_device * dev, const
      char * pname,\n                                            int name_size, int
      component_type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:460,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:462,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:464,1
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gxcmap.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: gx_default_DevRGBK_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int gx_default_DevRGBK_get_color_comp_index(gx_device * dev, const
      char * pname,\n                                            int name_size, int
      component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxcmap.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 485
    functionName: gx_error_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_error_get_color_comp_index(gx_device * dev, const char * pname,\n
      \                                       int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: gx_get_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_color_map_procs
    signature: 'gx_color_map_procs *

      gx_get_cmap_procs(const gs_gstate *pgs, const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxcmap.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: gx_default_get_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_device_must_halftone
    linkageType: ''
    returnType: gx_color_map_procs
    signature: 'gx_color_map_procs *

      gx_default_get_cmap_procs(const gs_gstate *pgs, const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_get_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: gx_set_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 7
    functionsReached:
    - gx_get_cmap_procs
    linkageType: ''
    returnType: void
    signature: void gx_set_cmap_procs(gs_gstate * pgs, const gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:562,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:568,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:568,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:569,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 574
    functionName: gx_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pure
    - gs_currentcolorspace_inline
    - gs_currentdevicecolor_inline
    - gs_currentcolor_inline
    linkageType: ''
    returnType: int
    signature: int gx_remap_color(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: gx_no_concrete_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gx_no_concrete_space(const gs_color_space * pcs, const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 588
    functionName: gx_same_concrete_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gx_same_concrete_space(const gs_color_space * pcs, const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcmap.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pcc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 596
    functionName: gx_no_concretize_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_concretize_color(const gs_client_color * pcc, const gs_color_space
      * pcs,\n                       frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gxcmap.c:617,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxcmap.c:619,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:632,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxcmap.c:639,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:646,1
    - Dst: gsicc_transform_named_color
      Src: /src/libspectre/ghostscript/base/gxcmap.c:654,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcmap.c:657,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:670,1
    - Dst: named_color_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gxcmap.c:674,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:681,1
    - Dst: gsicc_set_devicen_equiv_colors
      Src: /src/libspectre/ghostscript/base/gxcmap.c:692,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:698,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:709,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:712,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:715,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 601
    functionDepth: 7
    functionLinenumber: 601
    functionLinenumberEnd: 722
    functionName: gx_remap_named_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - any_abs
    - gs_color_space_get_index
    - gx_remap_concrete_devicen
    - gs_alloc_bytes
    - strlen
    - named_color_equivalent_cmyk_colors
    - gs_color_space*::type::num_components
    - gsicc_transform_named_color
    - gsicc_set_devicen_equiv_colors
    - float2frac
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: bool
    signature: 'bool gx_remap_named_color(const gs_client_color * pcc, const gs_color_space
      * pcs,

      gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,

      gs_color_select_t select)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gxcmap.c:733,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gxcmap.c:739,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxcmap.c:741,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:742,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 753
    functionName: gx_default_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gs_note_error
    - cs_concrete_space
    - gs_color_space*::type::num_components
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_remap_color(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                      gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 766
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 766
    functionName: gx_concretize_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_unit_frac
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_DeviceGray(const gs_client_color * pc, const gs_color_space
      * pcs,\n                         frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 775
    functionName: gx_remap_concrete_DGray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_DGray(const gs_color_space * pcs, const frac
      * pconc,\n                        gx_device_color * pdc, const gs_gstate * pgs,\n
      \                       gx_device * dev, gs_color_select_t select,\n                        const
      cmm_dev_profile_t *dev_profile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:781,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:792,1
    - Dst: gs_currentcolor_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:795,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 776
    functionDepth: 2
    functionLinenumber: 776
    functionLinenumberEnd: 809
    functionName: gx_remap_DeviceGray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gs_currentdevicecolor_inline
    - gs_currentcolor_inline
    - gx_unit_frac
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: int
    signature: "int gx_remap_DeviceGray(const gs_client_color * pc, const gs_color_space
      * pcs,\n                    gx_device_color * pdc, const gs_gstate * pgs,\n
      \                   gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:816,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:817,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 820
    functionName: gx_concretize_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_unit_frac
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_DeviceRGB(const gs_client_color * pc, const gs_color_space
      * pcs,\n                        frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_remap_concrete_rgb
      Src: /src/libspectre/ghostscript/base/gxcmap.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 830
    functionName: gx_remap_concrete_DRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - gx_remap_concrete_rgb
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_DRGB(const gs_color_space * pcs, const frac
      * pconc,\n                       gx_device_color * pdc, const gs_gstate * pgs,\n
      \                      gx_device * dev, gs_color_select_t select,\n                       const
      cmm_dev_profile_t *dev_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:836,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:836,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:837,1
    - Dst: gx_remap_concrete_rgb
      Src: /src/libspectre/ghostscript/base/gxcmap.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 847
    functionName: gx_remap_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_rgb
    - gx_unit_frac
    linkageType: ''
    returnType: int
    signature: "int gx_remap_DeviceRGB(const gs_client_color * pc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                  gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:854,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:855,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:856,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:857,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: gx_concretize_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_unit_frac
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_DeviceCMYK(const gs_client_color * pc, const gs_color_space
      * pcs,\n                         frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 870
    functionName: gx_remap_concrete_DCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - gx_remap_concrete_cmyk
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_DCMYK(const gs_color_space * pcs, const frac
      * pconc,\n                        gx_device_color * pdc, const gs_gstate * pgs,\n
      \                       gx_device * dev, gs_color_select_t select,\n                        const
      cmm_dev_profile_t *dev_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:883,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:883,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:884,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:885,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 889
    functionName: gx_remap_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_unit_frac
    - gx_remap_concrete_cmyk
    linkageType: ''
    returnType: int
    signature: "int gx_remap_DeviceCMYK(const gs_client_color * pc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                   gs_color_select_t select)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:902,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:903,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:908,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:911,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:915,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:919,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:923,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:927,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:929,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 5
    argNames:
    - gray
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 930
    functionName: cmap_gray_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - check_cmyk_color_model_comps
    - map_gray_subclass
    linkageType: ''
    returnType: void
    signature: "void cmap_gray_halftoned(frac gray, gx_device_color * pdc,\n     const
      gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:943,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:944,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:949,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:951,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:954,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:956,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:960,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:964,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:967,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:970,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:972,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:977,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:981,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:984,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:986,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 5
    argNames:
    - gray
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 987
    functionName: cmap_gray_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - check_cmyk_color_model_comps
    - frac2cv
    - map_gray_subclass
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_gray_direct(frac gray, gx_device_color * pdc, const gs_gstate
      * pgs,\n                 gx_device * dev, gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1000,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1001,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1007,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1011,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1015,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1017,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - r
    - g
    - b
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 991
    functionDepth: 2
    functionLinenumber: 991
    functionLinenumberEnd: 1018
    functionName: cmap_rgb_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - map_rgb_subclass
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_halftoned(frac r, frac g, frac b, gx_device_color *
      pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1031,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1032,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1037,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1040,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1042,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1046,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1048,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1052,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1056,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1059,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1061,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - r
    - g
    - b
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1062
    functionName: cmap_rgb_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - map_rgb_subclass
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_direct(frac r, frac g, frac b, gx_device_color * pdc,\n
      \    const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1082,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1083,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1089,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1095,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1104,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1105,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1106,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1111,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1116,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1117,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1119,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1124,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1126,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1130,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1131,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1133,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1135,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1137,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 9
    argNames:
    - c
    - m
    - y
    - k
    - pdc
    - pgs
    - dev
    - select
    - source_pcs
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1141
    functionName: cmap_cmyk_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - map_cmyk_subclass
    - gx_device_must_halftone
    - gx_color_load_select
    - strlen
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_cmyk_direct(frac c, frac m, frac y, frac k, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select,\n
      \    const gs_color_space *source_pcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1153,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1154,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1172,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1176,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1180,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1182,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 8
    argNames:
    - r
    - g
    - b
    - alpha
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1143
    functionDepth: 2
    functionLinenumber: 1143
    functionLinenumberEnd: 1183
    functionName: cmap_rgb_alpha_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - map_rgb_subclass
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_alpha_halftoned(frac r, frac g, frac b, frac alpha,\n
      \       gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n                         gs_color_select_t
      select)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1196,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1197,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1214,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1217,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1217,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1221,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1221,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1225,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1226,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1227,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1229,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1233,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1236,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1238,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 8
    argNames:
    - r
    - g
    - b
    - alpha
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1239
    functionName: cmap_rgb_alpha_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - gx_color_load_select
    - get_color_mapping_procs_subclass
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - map_rgb_subclass
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_rgb_alpha_direct(frac r, frac g, frac b, frac alpha, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pcc
    - pcolor_component_map
    - plist
    argTypes:
    - frac*
    - gs_devicen_color_map*
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1274
    functionName: map_components_to_colorants
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void map_components_to_colorants(const frac * pcc,\n        const
      gs_devicen_color_map * pcolor_component_map, frac * plist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1279,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1292
    functionName: named_color_supported
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool named_color_supported(const gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - des_profile
    argTypes:
    - gx_device*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1308
    functionName: devicen_has_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool devicen_has_cmyk(gx_device * dev, cmm_profile_t *des_profile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1325,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1331,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1342,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1350,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1361,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1370,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1374,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1393,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1396,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 43
    argCount: 4
    argNames:
    - cm_comps
    - pgs
    - pcs
    - dev
    argTypes:
    - frac[]
    - gs_gstate*
    - gs_color_space*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1310
    functionDepth: 6
    functionLinenumber: 1310
    functionLinenumberEnd: 1397
    functionName: devicen_sep_icc_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - dev_proc
    - gsicc_extract_profile
    - frac2cv
    - gsicc_release_link
    - float2frac
    - gsicc_get_link_profile
    linkageType: ''
    returnType: void
    signature: "void devicen_sep_icc_cmyk(frac cm_comps[], const gs_gstate * pgs,\n
      \   const gs_color_space * pcs, gx_device *dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1412,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1413,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1429,1
    - Dst: devicen_has_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1432,1
    - Dst: named_color_supported
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1434,1
    - Dst: devicen_sep_icc_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1435,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1442,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1446,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1450,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1452,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 23
    argCount: 6
    argNames:
    - all
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1399
    functionDepth: 7
    functionLinenumber: 1399
    functionLinenumberEnd: 1453
    functionName: cmap_separation_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - map_components_to_colorants
    - gx_color_load_select
    - named_color_supported
    - devicen_sep_icc_cmyk
    - gx_render_device_DeviceN
    - gsicc_extract_profile
    - gx_map_color_frac
    - devicen_has_cmyk
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_separation_halftoned(frac all, gx_device_color * pdc,\n
      \    const gs_gstate * pgs, gx_device * dev, gs_color_select_t select,\n     const
      gs_color_space *pcs)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1470,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1471,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1496,1
    - Dst: devicen_has_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1501,1
    - Dst: named_color_supported
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1502,1
    - Dst: devicen_sep_icc_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1510,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1516,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1519,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1521,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1525,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1527,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1544,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1552,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1559,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1567,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1571,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1575,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1577,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 6
    argNames:
    - all
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1455
    functionDepth: 7
    functionLinenumber: 1455
    functionLinenumberEnd: 1578
    functionName: cmap_separation_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - frac2cv
    - map_components_to_colorants
    - gsicc_get_link_profile
    - color_set_pure
    - gx_color_load_select
    - named_color_supported
    - devicen_sep_icc_cmyk
    - gx_render_device_DeviceN
    - gsicc_extract_profile
    - gx_map_color_frac
    - devicen_has_cmyk
    - gsicc_release_link
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_separation_direct(frac all, gx_device_color * pdc, const
      gs_gstate * pgs,\n                 gx_device * dev, gs_color_select_t select,
      const gs_color_space *pcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1597,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1598,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1601,1
    - Dst: devicen_has_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1603,1
    - Dst: named_color_supported
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1605,1
    - Dst: devicen_sep_icc_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1606,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1612,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1616,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1621,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1623,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 6
    argNames:
    - pcc
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1586
    functionDepth: 7
    functionLinenumber: 1586
    functionLinenumberEnd: 1624
    functionName: cmap_devicen_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - map_components_to_colorants
    - gx_color_load_select
    - named_color_supported
    - devicen_sep_icc_cmyk
    - gx_render_device_DeviceN
    - gsicc_extract_profile
    - gx_map_color_frac
    - devicen_has_cmyk
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_devicen_halftoned(const frac * pcc,\n    gx_device_color
      * pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select,
      const gs_color_space *pcs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1643,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1644,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1649,1
    - Dst: map_components_to_colorants
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1652,1
    - Dst: devicen_has_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1665,1
    - Dst: named_color_supported
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1666,1
    - Dst: devicen_sep_icc_cmyk
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1674,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1678,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1681,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1684,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1684,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1688,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1688,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1696,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1699,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1701,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1705,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1707,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1710,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1713,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1716,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1718,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 6
    argNames:
    - pcc
    - pdc
    - pgs
    - dev
    - select
    - pcs
    argTypes:
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1719
      start: 1630
    functionDepth: 7
    functionLinenumber: 1630
    functionLinenumberEnd: 1719
    functionName: cmap_devicen_direct
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - frac2cv
    - map_components_to_colorants
    - color_set_pure
    - gx_color_load_select
    - named_color_supported
    - devicen_sep_icc_cmyk
    - gx_render_device_DeviceN
    - gsicc_extract_profile
    - gx_map_color_frac
    - devicen_has_cmyk
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_devicen_direct(const frac * pcc,\n    gx_device_color *
      pdc, const gs_gstate * pgs, gx_device * dev,\n    gs_color_select_t select,
      const gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1727
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1727
    functionName: cmap_halftoned_is_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmap_halftoned_is_halftoned(const gs_gstate * pgs, gx_device *
      dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1729
    functionDepth: 0
    functionLinenumber: 1729
    functionLinenumberEnd: 1733
    functionName: cmap_direct_is_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cmap_direct_is_halftoned(const gs_gstate * pgs, gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - pmap
    argTypes:
    - double
    - gx_transfer_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1738
    functionDepth: 0
    functionLinenumber: 1738
    functionLinenumberEnd: 1742
    functionName: gs_identity_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float gs_identity_transfer(double value, const gx_transfer_map * pmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_map_color_float
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - value
    - pmap
    argTypes:
    - double
    - gx_transfer_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1746
    functionDepth: 1
    functionLinenumber: 1746
    functionLinenumberEnd: 1750
    functionName: gs_mapped_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_float
    linkageType: ''
    returnType: float
    signature: float gs_mapped_transfer(double value, const gx_transfer_map * pmap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pmap
    argTypes:
    - gx_transfer_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1762
    functionName: gx_set_identity_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - bits2frac
    linkageType: ''
    returnType: void
    signature: void gx_set_identity_transfer(gx_transfer_map *pmap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: frac2bits_floor
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1772,1
    - Dst: bits2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1777,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - cv
    - values
    argTypes:
    - frac
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1768
    functionDepth: 1
    functionLinenumber: 1768
    functionLinenumberEnd: 1790
    functionName: gx_color_frac_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - bits2frac
    - frac2bits_floor
    linkageType: ''
    returnType: frac
    signature: frac gx_color_frac_map(frac cv, const frac * values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1796
    functionDepth: 0
    functionLinenumber: 1796
    functionLinenumberEnd: 1807
    functionName: gx_default_w_b_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_w_b_map_rgb_color(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1809
    functionDepth: 0
    functionLinenumber: 1809
    functionLinenumberEnd: 1815
    functionName: gx_default_w_b_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_w_b_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                            gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1828
    functionName: gx_default_b_w_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_b_w_map_rgb_color(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1830
    functionDepth: 0
    functionLinenumber: 1830
    functionLinenumberEnd: 1836
    functionName: gx_default_b_w_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_b_w_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                            gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1852
    functionName: gx_default_gray_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_gray_map_rgb_color(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1854
    functionDepth: 0
    functionLinenumber: 1854
    functionLinenumberEnd: 1865
    functionName: gx_default_gray_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_gray_map_color_rgb(gx_device * dev, gx_color_index
      color,\n                              gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1873
    functionName: gx_default_8bit_map_gray_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_8bit_map_gray_color(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - pgray
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1875
    functionDepth: 0
    functionLinenumber: 1875
    functionLinenumberEnd: 1881
    functionName: gx_default_8bit_map_color_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_8bit_map_color_gray(gx_device * dev, gx_color_index
      color,\n                              gx_color_value pgray[1])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1889,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1890,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1891,1
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1895,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1897,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1898,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1901
    functionName: gx_default_rgb_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - COLROUND_ROUND
    - gx_color_value_to_byte
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_rgb_map_rgb_color(gx_device * dev, const
      gx_color_value cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1909,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1910,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1911,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1904
    functionDepth: 1
    functionLinenumber: 1904
    functionLinenumberEnd: 1924
    functionName: gx_default_rgb_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int gx_default_rgb_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                            gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1933,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1933,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1933,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1933,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1933,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1935,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1936,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1937,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1939
    functionName: gx_default_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - frac2cv
    - dev_proc
    - cv2frac
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_default_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CV_BIT
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1948,1
    - Dst: CV_BIT
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1948,1
    - Dst: CV_BIT
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1948,1
    - Dst: CV_BIT
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1943
    functionDepth: 1
    functionLinenumber: 1943
    functionLinenumberEnd: 1950
    functionName: cmyk_1bit_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - CV_BIT
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index cmyk_1bit_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1946
    functionDepth: 0
    functionLinenumber: 1946
    functionLinenumberEnd: 1947
    functionName: CV_BIT
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CV_BIT(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1953
    functionDepth: 0
    functionLinenumber: 1953
    functionLinenumberEnd: 1965
    functionName: cmyk_1bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmyk_1bit_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - pcv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1976
    functionName: cmyk_1bit_map_color_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmyk_1bit_map_color_cmyk(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value pcv[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1982,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1983,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1984,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:1985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1978
    functionDepth: 1
    functionLinenumber: 1978
    functionLinenumberEnd: 1992
    functionName: cmyk_8bit_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index cmyk_8bit_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1994
    functionDepth: 0
    functionLinenumber: 1994
    functionLinenumberEnd: 2004
    functionName: cmyk_16bit_map_cmyk_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index cmyk_16bit_map_cmyk_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2017,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2018,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2021
    functionName: cmyk_8bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int cmyk_8bit_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2027,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2028,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2029,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - pcv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 2023
    functionDepth: 1
    functionLinenumber: 2023
    functionLinenumberEnd: 2032
    functionName: cmyk_8bit_map_color_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int cmyk_8bit_map_color_cmyk(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value pcv[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - pcv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2043
      start: 2034
    functionDepth: 0
    functionLinenumber: 2034
    functionLinenumberEnd: 2043
    functionName: cmyk_16bit_map_color_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int cmyk_16bit_map_color_cmyk(gx_device * dev, gx_color_index color,\n
      \                         gx_color_value pcv[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - dev
    - r
    - g
    - b
    - alpha
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2047
    functionDepth: 1
    functionLinenumber: 2047
    functionLinenumberEnd: 2054
    functionName: gx_default_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index gx_default_map_rgb_alpha_color(gx_device * dev,\n gx_color_value
      r, gx_color_value g, gx_color_value b, gx_color_value alpha)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - prgba
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2062
    functionName: gx_default_map_color_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_map_color_rgb_alpha(gx_device * dev, gx_color_index
      color,\n                               gx_color_value prgba[4])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2068,1
    - Dst: is_fge1
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2070,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2073,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fvalue
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2075
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2075
    functionName: gx_unit_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 7
    functionsReached:
    - float2frac
    - is_fneg
    - is_fge1
    linkageType: ''
    returnType: frac
    signature: frac gx_unit_frac(float fvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2091,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2092,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2095,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2077
    functionDepth: 1
    functionLinenumber: 2077
    functionLinenumberEnd: 2098
    functionName: cmapper_transfer_halftone_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - gx_color_load_select
    - gx_render_device_DeviceN
    - cv2frac
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_halftone_add(gx_cmapper_t *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2115,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2117,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2124,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2126,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2100
    functionDepth: 1
    functionLinenumber: 2100
    functionLinenumberEnd: 2127
    functionName: cmapper_transfer_halftone_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - gx_color_load_select
    - gx_render_device_DeviceN
    - cv2frac
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_halftone_op(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2143,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2144,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2148,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2151
    functionName: cmapper_transfer_halftone_sub
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - gx_color_load_select
    - gx_render_device_DeviceN
    - cv2frac
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_halftone_sub(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2166,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2167,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2169,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2172,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2176
    functionName: cmapper_transfer_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - cv2frac
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_add(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2189,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2190,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2192,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2194,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2198
    functionName: cmapper_transfer_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - cv2frac
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_op(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2213,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2214,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2216,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2219,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2223
    functionName: cmapper_transfer_sub
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - cv2frac
    - gx_map_color_frac
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void cmapper_transfer_sub(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2242,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2244,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2246,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2229
    functionDepth: 1
    functionLinenumber: 2229
    functionLinenumberEnd: 2247
    functionName: cmapper_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_color_load_select
    - gx_render_device_DeviceN
    - cv2frac
    linkageType: ''
    returnType: void
    signature: void cmapper_halftone(gx_cmapper_t *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2260,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - gx_cmapper_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2264
    functionName: cmapper_vanilla
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - color_set_pure
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void cmapper_vanilla(gx_cmapper_t *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2271,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2278,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2302,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - data
    - pgs
    - dev
    - has_transfer
    - has_halftone
    - select
    argTypes:
    - gx_cmapper_t*
    - gs_gstate*
    - gx_device*
    - bool
    - bool
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2266
    functionDepth: 2
    functionLinenumber: 2266
    functionLinenumberEnd: 2307
    functionName: gx_get_cmapper
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 2
    functionsReached:
    - memset
    - dev_proc
    - check_cmyk_color_model_comps
    linkageType: ''
    returnType: void
    signature: "void gx_get_cmapper(gx_cmapper_t *data, const gs_gstate *pgs,\n               gx_device
      *dev, bool has_transfer, bool has_halftone,\n               gs_color_select_t
      select)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2329,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2331,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2334,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2335,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2340,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2345,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2347,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2350,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2355,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2356,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2365,1
    - Dst: gx_render_device_DeviceN
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2371,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2373,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2378,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2380,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2383,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 51
    argCount: 7
    argNames:
    - pconc
    - pdc
    - pgs
    - dev
    - has_transfer
    - has_halftone
    - select
    argTypes:
    - gx_color_value*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - bool
    - bool
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2313
    functionDepth: 2
    functionLinenumber: 2313
    functionLinenumberEnd: 2385
    functionName: cmap_transfer_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 1
    functionsReached:
    - color_set_pure
    - gx_color_load_select
    - cv2frac
    - gx_render_device_DeviceN
    - gx_map_color_frac
    - check_cmyk_color_model_comps
    - frac2cv
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void cmap_transfer_halftone(gx_color_value *pconc, gx_device_color
      * pdc,\n     const gs_gstate * pgs, gx_device * dev, bool has_transfer,\n     bool
      has_halftone, gs_color_select_t select)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2398,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2401,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2401,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2402,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2405,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2410,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2410,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2411,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2414,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2414,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2415,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - pconc
    - pgs
    - dev
    argTypes:
    - gx_color_value*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2418
      start: 2389
    functionDepth: 2
    functionLinenumber: 2389
    functionLinenumberEnd: 2418
    functionName: cmap_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - cv2frac
    - check_cmyk_color_model_comps
    - frac2cv
    linkageType: ''
    returnType: void
    signature: void cmap_transfer(gx_color_value *pconc, const gs_gstate * pgs, gx_device
      * dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2430,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2431,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2432,1
    - Dst: check_cmyk_color_model_comps
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2435,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2440,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2441,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2443,1
    - Dst: cv2frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2446,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2447,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2449,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pconc
    - pgs
    - dev
    - plane
    argTypes:
    - gx_color_value*
    - gs_gstate*
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2452
      start: 2421
    functionDepth: 2
    functionLinenumber: 2421
    functionLinenumberEnd: 2452
    functionName: cmap_transfer_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 0
    functionsReached:
    - gx_map_color_frac
    - frac2cv
    - check_cmyk_color_model_comps
    - cv2frac
    linkageType: ''
    returnType: void
    signature: "void cmap_transfer_plane(gx_color_value *pconc, const gs_gstate *pgs,\n
      \                   gx_device *dev, int plane)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2464,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2465,1
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2469,1
    - Dst: fwd_uses_fwd_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2476,1
    - Dst: fwd_get_target_cmap_procs
      Src: /src/libspectre/ghostscript/base/gxcmap.c:2477,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2455
    functionDepth: 2
    functionLinenumber: 2455
    functionLinenumberEnd: 2500
    functionName: gx_device_uses_std_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gxcmap.c
    functionUses: 3
    functionsReached:
    - fwd_get_target_cmap_procs
    - fwd_uses_fwd_cmap_procs
    - get_color_mapping_procs_subclass
    - gsicc_extract_profile
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool gx_device_uses_std_cmap_procs(gx_device * dev, const gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: public_st_pattern_template
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pattern_template()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: pattern_id
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_id
    signature: gs_id pattern_id
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: public_st_pattern_instance
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pattern_instance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_SUPER_ELT
      Src: /src/libspectre/ghostscript/base/gsptype1.c:59,1
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gsptype1.c:64,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gsptype1.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 67
    functionName: ENUM_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_OBJ
    - ENUM_SUPER_ELT
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN(pattern1_instance_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gsptype1.c:69,1
    - Dst: RELOC_SUPER
      Src: /src/libspectre/ghostscript/base/gsptype1.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - RELOC_SUPER
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(pattern1_instance_reloc_ptrs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gsptype1.c:96,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:97,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:99,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - ppcspace
    - pbase_cspace
    - pmem
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 110
    functionName: gs_cspace_build_Pattern1
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - return_error
    - gs_cspace_alloc
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_Pattern1(gs_color_space ** ppcspace,\n                    gs_color_space
      * pbase_cspace, gs_memory_t * pmem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pattern_common_init
      Src: /src/libspectre/ghostscript/base/gsptype1.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ppat
    argTypes:
    - gs_pattern1_template_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 118
    functionName: gs_pattern1_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_pattern_common_init
    linkageType: ''
    returnType: void
    signature: void gs_pattern1_init(gs_pattern1_template_t * ppat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pattern1_make_pattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pcc
    - pcp
    - pmat
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gs_pattern1_template_t*
    - gs_matrix*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 132
    functionName: gs_makepattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_pattern1_make_pattern
    linkageType: ''
    returnType: int
    signature: "int gs_makepattern(gs_client_color * pcc, const gs_pattern1_template_t
      * pcp,\n               const gs_matrix * pmat, gs_gstate * pgs, gs_memory_t
      * mem)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_pattern_common
      Src: /src/libspectre/ghostscript/base/gsptype1.c:148,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:156,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsptype1.c:169,1
    - Dst: gs_set_logical_op
      Src: /src/libspectre/ghostscript/base/gsptype1.c:176,1
    - Dst: gx_set_device_color_1
      Src: /src/libspectre/ghostscript/base/gsptype1.c:179,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:184,1
    - Dst: compute_inst_matrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:188,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:201,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:202,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:215,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:218,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsptype1.c:227,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsptype1.c:228,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gsptype1.c:235,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:239,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:240,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:245,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:245,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:246,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:246,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:248,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:248,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:249,1
    - Dst: compute_inst_matrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:250,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:259,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:259,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:259,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:260,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:260,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:262,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:265,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:269,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:269,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:270,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:270,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:274,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:274,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:295,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:296,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:301,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:307,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:307,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:307,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:311,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:311,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:316,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:317,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:322,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gsptype1.c:324,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:324,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:324,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:327,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:327,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:336,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:336,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:339,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:339,1
    - Dst: gs_translate_untransformed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:341,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:342,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:342,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gsptype1.c:348,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:350,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:352,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsptype1.c:353,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:354,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:362,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsptype1.c:362,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsptype1.c:363,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:369,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:370,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/base/gsptype1.c:371,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsptype1.c:375,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gsptype1.c:377,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsptype1.c:379,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsptype1.c:381,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsptype1.c:383,1
    - Dst: gs_clip
      Src: /src/libspectre/ghostscript/base/gsptype1.c:385,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsptype1.c:389,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsptype1.c:392,1
    - Dst: gs_gstate_free
      Src: /src/libspectre/ghostscript/base/gsptype1.c:395,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:396,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 149
    argCount: 5
    argNames:
    - pcc
    - ptemp
    - pmat
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gs_pattern_template_t*
    - gs_matrix*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 133
    functionDepth: 4
    functionLinenumber: 133
    functionLinenumberEnd: 398
    functionName: gs_pattern1_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 1
    functionsReached:
    - gs_newpath
    - gs_gstate_free
    - gs_next_ids
    - if_debug5m
    - gs_translate_untransformed
    - ctm_only
    - gs_gstate_memory
    - gx_clip_to_rectangle
    - memset
    - if_debug4m
    - if_debug2m
    - gs_moveto
    - gs_note_error
    - gs_set_logical_op
    - gs_bbox_transform
    - gs_free_object
    - compute_inst_matrix
    - floor
    - gs_make_pattern_common
    - gx_set_device_color_1
    - gs_clip
    - float2fixed_rounded
    - gs_scale
    - int2fixed
    - gs_bbox_transform_inverse
    - if_debug6m
    - gs_make_identity
    - gs_lineto
    - fabs
    - ceil
    - gx_translate_to_fixed
    linkageType: ''
    returnType: int
    signature: "int gs_pattern1_make_pattern(gs_client_color * pcc,\n                         const
      gs_pattern_template_t * ptemp,\n                         const gs_matrix * pmat,
      gs_gstate * pgs,\n                         gs_memory_t * mem)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gsptype1.c:448,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:454,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:460,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:461,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:471,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 5
    argNames:
    - pinst
    - pbbox
    - width
    - height
    - pmat
    argTypes:
    - gs_pattern1_instance_t*
    - gs_rect*
    - int
    - int
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 527
    functionName: clamp_pattern_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_bbox_transform_inverse
    - gs_point_transform
    - floor
    linkageType: ''
    returnType: int
    signature: "int clamp_pattern_bbox(gs_pattern1_instance_t * pinst, gs_rect * pbbox,\n
      \                   int width, int height, const gs_matrix * pmat)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:538,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:546,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:553,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:554,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:555,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:556,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:560,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:561,1
    - Dst: gx_translate_to_fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:567,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsptype1.c:567,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsptype1.c:568,1
    - Dst: gx_path_translate
      Src: /src/libspectre/ghostscript/base/gsptype1.c:573,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:573,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:573,1
    - Dst: clamp_pattern_bbox
      Src: /src/libspectre/ghostscript/base/gsptype1.c:606,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:607,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 7
    argNames:
    - pinst
    - saved
    - pbbox
    - width
    - height
    - pbbw
    - pbbh
    argTypes:
    - gs_pattern1_instance_t*
    - gs_gstate*
    - gs_rect*
    - int
    - int
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 610
    functionName: compute_inst_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - gx_path_translate
    - clamp_pattern_bbox
    - ctm_only
    - floor
    - gx_translate_to_fixed
    - float2fixed_rounded
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: "int compute_inst_matrix(gs_pattern1_instance_t * pinst, gs_gstate
      * saved,\n                    gs_rect * pbbox, int width, int height,\n                    float
      *pbbw, float *pbbh)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptemp
    argTypes:
    - gs_pattern_template_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 617
    functionName: gs_pattern1_uses_base_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_pattern1_uses_base_space(const gs_pattern_template_t *ptemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pinst
    argTypes:
    - gs_pattern_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 626
    functionName: gs_pattern1_get_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_pattern_template_t
    signature: 'gs_pattern_template_t *

      gs_pattern1_get_pattern(const gs_pattern_instance_t *pinst)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 636
    functionName: gx_pattern1_get_transptr
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      gx_pattern1_get_transptr(const gx_device_color *pdevc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 648
    functionName: gx_pattern1_clist_has_trans
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_pattern1_clist_has_trans(const gx_device_color *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gsptype1.c:654,1
    - Dst: gx_pattern_tile_is_clist
      Src: /src/libspectre/ghostscript/base/gsptype1.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 657
    functionName: gx_dc_is_pattern1_color_clist_based
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gx_dc_is_pattern1_color
    - gx_pattern_tile_is_clist
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_is_pattern1_color_clist_based(const gx_device_color *pdevc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gsptype1.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 668
    functionName: gs_dc_get_pattern_id
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 1
    functionsReached:
    - gx_dc_is_pattern1_color
    linkageType: ''
    returnType: gs_id
    signature: gs_id gs_dc_get_pattern_id(const gx_device_color *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gsptype1.c:716,1
    - Dst: gs_color_space*::type::set_overprint
      Src: /src/libspectre/ghostscript/base/gsptype1.c:719,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gsptype1.c:729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pcc
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 709
    functionDepth: 2
    functionLinenumber: 709
    functionLinenumberEnd: 731
    functionName: gs_pattern1_set_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - gs_gstate_update_overprint
    - gs_color_space*::type::set_overprint
    linkageType: ''
    returnType: int
    signature: int gs_pattern1_set_color(const gs_client_color * pcc, gs_gstate *
      pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pcc
    argTypes:
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 740
    functionName: gs_getpattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_pattern1_template_t
    signature: 'gs_pattern1_template_t *

      gs_getpattern(const gs_client_color * pcc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pcc
    argTypes:
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 780
    functionName: gs_get_pattern_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_get_pattern_client_data(const gs_client_color * pcc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - vpinst
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 804
    functionName: pixmap_free_notify
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void pixmap_free_notify (gs_memory_t * mem, void *vpinst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_get_pattern_client_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:815,1
    - Dst: gs_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:817,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:817,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:821,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/base/gsptype1.c:822,1
    - Dst: gs_image_init
      Src: /src/libspectre/ghostscript/base/gsptype1.c:825,1
    - Dst: bitmap_paint
      Src: /src/libspectre/ghostscript/base/gsptype1.c:826,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:827,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pcolor
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 829
    functionName: mask_PaintProc
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_get_pattern_client_data
    - gs_image_enum_alloc
    - bitmap_paint
    - gs_gstate_memory
    - gs_image_t_init_mask
    - gs_image_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int mask_PaintProc(const gs_client_color * pcolor, gs_gstate * pgs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_get_pattern_client_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:833,1
    - Dst: gs_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:836,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:836,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:859,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsptype1.c:862,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:864,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsptype1.c:867,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsptype1.c:870,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:872,1
    - Dst: gs_image4_t_init
      Src: /src/libspectre/ghostscript/base/gsptype1.c:876,1
    - Dst: gs_image_t_init_adjust
      Src: /src/libspectre/ghostscript/base/gsptype1.c:878,1
    - Dst: gs_image_begin_typed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:894,1
    - Dst: gs_image_enum_init
      Src: /src/libspectre/ghostscript/base/gsptype1.c:899,1
    - Dst: bitmap_paint
      Src: /src/libspectre/ghostscript/base/gsptype1.c:903,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:904,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:904,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:905,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:908,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:911,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:911,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 2
    argNames:
    - pcolor
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 830
    functionDepth: 3
    functionLinenumber: 830
    functionLinenumberEnd: 913
    functionName: image_PaintProc
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_get_pattern_client_data
    - gs_image_enum_alloc
    - gs_grestore
    - gs_setcolorspace
    - bitmap_paint
    - gs_gstate_memory
    - gs_image_t_init_adjust
    - gs_image4_t_init
    - gs_image_begin_typed
    - return_error
    - gs_cspace_new_DeviceGray
    - gs_image_enum_init
    - gs_gsave
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int image_PaintProc(const gs_client_color * pcolor, gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_next
      Src: /src/libspectre/ghostscript/base/gsptype1.c:927,1
    - Dst: gs_image_next
      Src: /src/libspectre/ghostscript/base/gsptype1.c:930,1
    - Dst: gs_image_cleanup
      Src: /src/libspectre/ghostscript/base/gsptype1.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 4
    argNames:
    - pen
    - pim
    - pbitmap
    - pgs
    argTypes:
    - gs_image_enum*
    - gs_data_image_t*
    - gs_depth_bitmap*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 935
    functionName: bitmap_paint
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 2
    functionsReached:
    - gs_image_next
    - gs_image_cleanup
    linkageType: ''
    returnType: int
    signature: "int bitmap_paint(gs_image_enum * pen, gs_data_image_t * pim,\n             const
      gs_depth_bitmap * pbitmap, gs_gstate * pgs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gsptype1.c:943,1
    - Dst: gs_getpattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:944,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/base/gsptype1.c:947,1
    - Dst: gs_get_pattern_client_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:948,1
    - Dst: gx_pattern_cache_add_dummy_entry
      Src: /src/libspectre/ghostscript/base/gsptype1.c:950,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsptype1.c:954,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:958,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:959,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsptype1.c:960,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsptype1.c:960,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:962,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:965,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:966,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:967,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsptype1.c:968,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/base/gsptype1.c:969,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:971,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:981,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:986,1
    - Dst: image_PaintProc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:991,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsptype1.c:993,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:995,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:996,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gsptype1.c:998,1
    - Dst: mask_PaintProc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:999,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1002,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1006,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1016,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 937
    functionDepth: 4
    functionLinenumber: 937
    functionLinenumberEnd: 1021
    functionName: pixmap_high_level_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - image_PaintProc
    - mask_PaintProc
    - gs_get_pattern_client_data
    - return_error
    - gs_currentcolor
    - ctm_only
    - gs_grestore
    - gs_setcolorspace
    - gs_getpattern
    - gx_pattern_cache_add_dummy_entry
    - gx_clip_to_rectangle
    - gs_setmatrix
    - gs_currentdevicecolor_inline
    - gs_cspace_new_DeviceGray
    - dev_proc
    - gs_gsave
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: int pixmap_high_level_pattern(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_getpattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1025,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1033,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1044,1
    - Dst: mask_PaintProc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pcc
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1049
    functionName: pixmap_remap_mask_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_getpattern
    - mask_PaintProc
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pixmap_remap_mask_pattern(const gs_client_color *pcc, gs_gstate
      *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_getpattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1053,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1061,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1072,1
    - Dst: image_PaintProc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1074,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pcc
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1051
    functionDepth: 4
    functionLinenumber: 1051
    functionLinenumberEnd: 1076
    functionName: pixmap_remap_image_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_getpattern
    - image_PaintProc
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pixmap_remap_image_pattern(const gs_client_color *pcc, gs_gstate
      *pgs)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1108,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1110,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1111,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1113,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1117,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1124,1
    - Dst: gs_pattern1_init
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1130,1
    - Dst: uid_set_UniqueID
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1131,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1131,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1143,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1144,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1145,1
    - Dst: gs_makepattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1150,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1151,1
    - Dst: gs_setgray
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1174,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1177,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 9
    argNames:
    - pcc
    - pbitmap
    - mask
    - pmat
    - id
    - pcspace
    - white_index
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gs_depth_bitmap*
    - bool
    - gs_matrix*
    - long
    - gs_color_space*
    - uint
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1086
    functionDepth: 4
    functionLinenumber: 1086
    functionLinenumberEnd: 1179
    functionName: gs_makepixmappattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    - gs_setgray
    - gs_gstate_memory
    - gs_setmatrix
    - uid_set_UniqueID
    - gs_make_identity
    - gs_currentmatrix
    - gs_makepattern
    - return_error
    - gs_free_object
    - gs_pattern1_init
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_makepixmappattern(\n                        gs_client_color
      * pcc,\n                        const gs_depth_bitmap * pbitmap,\n                        bool
      mask,\n                        const gs_matrix * pmat,\n                        long
      id,\n                        gs_color_space * pcspace,\n                        uint
      white_index,\n                        gs_gstate * pgs,\n                        gs_memory_t
      * mem\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_makepixmappattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - pcc
    - ptile
    - mask
    - pmat
    - id
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gx_tile_bitmap*
    - bool
    - gs_matrix*
    - long
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1184
    functionDepth: 5
    functionLinenumber: 1184
    functionLinenumberEnd: 1207
    functionName: gs_makebitmappattern_xform
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_makepixmappattern
    linkageType: ''
    returnType: int
    signature: "int gs_makebitmappattern_xform(\n                              gs_client_color
      * pcc,\n                              const gx_tile_bitmap * ptile,\n                              bool
      mask,\n                              const gs_matrix * pmat,\n                              long
      id,\n                              gs_gstate * pgs,\n                              gs_memory_t
      * mem\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cptr
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1323
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(dc_pattern_enum_ptrs, gx_device_color *cptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1473
    functionDepth: 0
    functionLinenumber: 1473
    functionLinenumberEnd: 1480
    functionName: gx_dc_pattern_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_load(gx_device_color * pdevc, const gs_gstate *
      pgs,\n                   gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1491
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1491
    functionName: gx_dc_pure_masked_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_masked_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                       gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1501
    functionName: gx_dc_devn_masked_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_masked_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                       gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1511
    functionName: gx_dc_binary_masked_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_binary_masked_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                         gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1512
    functionDepth: 0
    functionLinenumber: 1512
    functionLinenumberEnd: 1521
    functionName: gx_dc_colored_masked_load
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_colored_masked_load(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                          gx_device * dev, gs_color_select_t select)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: color_set_null_pattern
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1532,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1539,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1550,1
    - Dst: color_set_phase_mod
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1556,1
    - Dst: color_set_phase
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1560,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - pdevc
    - pgs
    - dev
    - select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1524
    functionDepth: 1
    functionLinenumber: 1524
    functionLinenumberEnd: 1572
    functionName: gx_pattern_cache_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 1
    functionsReached:
    - gx_dc_is_pattern1_color
    - color_set_phase_mod
    - color_set_phase
    - color_set_null_pattern
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: "bool gx_pattern_cache_lookup(gx_device_color * pdevc, const gs_gstate
      * pgs,\n                        gx_device * dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1577
    functionDepth: 0
    functionLinenumber: 1577
    functionLinenumberEnd: 1585
    functionName: gx_dc_pattern_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_pattern_equal(const gx_device_color * pdevc1,\n                    const
      gx_device_color * pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdevc_ignored
    - dev_ignored
    - pcomp_bits_ignored
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1600
    functionName: gx_dc_pattern_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_get_nonzero_comps(\n    const gx_device_color *
      pdevc_ignored,\n    const gx_device *       dev_ignored,\n    gx_color_index
      *        pcomp_bits_ignored )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1608
    functionName: gx_dc_devn_masked_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_devn_masked_equal(const gx_device_color * pdevc1,\n                        const
      gx_device_color * pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1615
      start: 1609
    functionDepth: 0
    functionLinenumber: 1609
    functionLinenumberEnd: 1615
    functionName: gx_dc_pure_masked_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_pure_masked_equal(const gx_device_color * pdevc1,\n                        const
      gx_device_color * pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1622
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1622
    functionName: gx_dc_binary_masked_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_binary_masked_equal(const gx_device_color * pdevc1,\n                          const
      gx_device_color * pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1623
    functionDepth: 0
    functionLinenumber: 1623
    functionLinenumberEnd: 1629
    functionName: gx_dc_colored_masked_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_dc_colored_masked_equal(const gx_device_color * pdevc1,\n
      \                          const gx_device_color * pdevc2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1701,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1703,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1712,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1714,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1720,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1722,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1735,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1738,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1744,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1746,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 5
    argNames:
    - ptile
    - offset
    - data
    - psize
    - dev
    argTypes:
    - gx_color_tile*
    - int64_t
    - byte*
    - uint*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1749
    functionName: gx_dc_pattern_write_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_write_raster(gx_color_tile *ptile, int64_t offset,
      byte *data,\n                           uint *psize, const gx_device *dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1797,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1799,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1817,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1819,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1832,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1836,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 49
    argCount: 4
    argNames:
    - ptile
    - offset
    - data
    - psize
    argTypes:
    - gx_color_tile*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1839
    functionName: gx_dc_pattern_trans_write_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: int gx_dc_pattern_trans_write_raster(gx_color_tile *ptile, int64_t
      offset, byte *data, uint *psize)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1870,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1873,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1882,1
    - Dst: gx_dc_pattern_trans_write_raster
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1885,1
    - Dst: gx_dc_pattern_write_raster
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1889,1
    - Dst: clist_data_size
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1891,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1893,1
    - Dst: clist_data_size
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1894,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1896,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1921,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1923,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1929,1
    - Dst: clist_get_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1930,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1938,1
    - Dst: clist_get_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1939,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 6
    argNames:
    - pdevc
    - psdc
    - dev
    - offset
    - data
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1842
    functionDepth: 2
    functionLinenumber: 1842
    functionLinenumberEnd: 1944
    functionName: gx_dc_pattern_write
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - clist_get_data
    - clist_data_size
    - memcpy
    - gx_dc_pattern_write_raster
    - return_error
    - gx_dc_pattern_trans_write_raster
    - min
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_write(\n    const gx_device_color *         pdevc,\n
      \   const gx_device_color_saved *   psdc,\n    const gx_device *               dev,\n
      \   int64_t                         offset,\n    byte *                          data,\n
      \   uint *                          psize )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1958,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1960,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1962,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1964,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1969,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1970,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1974,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1977,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1986,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1988,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:1998,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2001,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2010,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2012,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 6
    argNames:
    - ptile
    - buf
    - offset
    - data
    - size
    - mem
    argTypes:
    - gx_color_tile*
    - gx_dc_serialized_tile_t*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1946
    functionDepth: 1
    functionLinenumber: 1946
    functionLinenumberEnd: 2017
    functionName: gx_dc_pattern_read_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memcpy
    - gs_object_size
    - return_error
    - min
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_read_raster(gx_color_tile *ptile, const gx_dc_serialized_tile_t
      *buf,\n                          int64_t offset, const byte *data, uint size,
      gs_memory_t *mem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2036,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2039,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2044,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - ptile
    - offset
    - data
    - size
    - mem
    argTypes:
    - gx_color_tile*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2020
    functionDepth: 1
    functionLinenumber: 2020
    functionLinenumberEnd: 2053
    functionName: gx_dc_pattern_read_trans_buff
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - min
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_read_trans_buff(gx_color_tile *ptile, int64_t offset,\n
      \                             const byte *data, uint size, gs_memory_t *mem)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2075,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2092,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2099,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2101,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2109,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2112,1
    - Dst: gx_pattern_cache_ensure_space
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2126,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2134,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2135,1
    - Dst: gx_pattern_cache_get_entry
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2140,1
    - Dst: gx_pattern_cache_update_used
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2144,1
    - Dst: new_pattern_trans_buff
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2166,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2182,1
    - Dst: gx_dc_pattern_read_trans_buff
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2186,1
    - Dst: gx_dc_pattern_read_raster
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2192,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2209,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2210,1
    - Dst: gx_pattern_accum_alloc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2221,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2223,1
    - Dst: gx_dc_pattern_read_trans_buff
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2231,1
    - Dst: gx_dc_pattern_read_raster
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2234,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2239,1
    - Dst: clist_put_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2240,1
    - Dst: clist_put_data
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2251,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 138
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - data
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2055
    functionDepth: 4
    functionLinenumber: 2055
    functionLinenumberEnd: 2258
    functionName: gx_dc_pattern_read
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gx_pattern_cache_get_entry
    - device_is_deep
    - gx_pattern_cache_entry_set_lock
    - gx_dc_pattern_read_trans_buff
    - gx_pattern_cache_update_used
    - new_pattern_trans_buff
    - gx_pattern_accum_alloc
    - gx_pattern_cache_ensure_space
    - memcpy
    - gx_dc_pattern_read_raster
    - memset
    - if_debug2m
    - return_error
    - clist_put_data
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pattern_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate * pgs,\n    const gx_device_color * prior_devc,\n    const gx_device
      *       dev,\n    int64_t                    offset,\n    const byte *            data,\n
      \   uint                    size,\n    gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2261
    functionDepth: 0
    functionLinenumber: 2261
    functionLinenumberEnd: 2266
    functionName: gx_set_pattern_procs_trans
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_set_pattern_procs_trans(gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2274
      start: 2269
    functionDepth: 0
    functionLinenumber: 2269
    functionLinenumberEnd: 2274
    functionName: gx_set_pattern_procs_standard
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_set_pattern_procs_standard(gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2277
    functionDepth: 0
    functionLinenumber: 2277
    functionLinenumberEnd: 2281
    functionName: gx_pattern_procs_istrans
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_pattern_procs_istrans(gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2284
    functionDepth: 0
    functionLinenumber: 2284
    functionLinenumberEnd: 2288
    functionName: gx_dc_is_pattern1_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_is_pattern1_color(const gx_device_color *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_pattern1_get_transptr
      Src: /src/libspectre/ghostscript/base/gsptype1.c:2297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2291
    functionDepth: 1
    functionLinenumber: 2291
    functionLinenumberEnd: 2298
    functionName: gx_dc_is_pattern1_color_with_trans
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype1.c
    functionUses: 0
    functionsReached:
    - gx_pattern1_get_transptr
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_is_pattern1_color_with_trans(const gx_device_color *pdevc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: s_PFBD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_PFBD_init(stream_state * st)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sfilter1.c:135,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 109
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 169
    functionName: s_PFBD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter1.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s_PFBD_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 190
    functionName: s_SFD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_SFD_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: s_SFD_init
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_SFD_init(stream_state * st)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfilter1.c:231,1
    - Dst: stream_move
      Src: /src/libspectre/ghostscript/base/sfilter1.c:233,1
    - Dst: stream_move
      Src: /src/libspectre/ghostscript/base/sfilter1.c:236,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sfilter1.c:240,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfilter1.c:254,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sfilter1.c:256,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/sfilter1.c:308,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 100
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 333
    functionName: s_SFD_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter1.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    - stream_move
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int s_SFD_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_RLE_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/srle.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: s_RLE_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/srle.c
    functionUses: 0
    functionsReached:
    - s_RLE_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_RLE_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_RLE_init_inline
      Src: /src/libspectre/ghostscript/base/srle.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: s_RLE_init
    functionSourceFile: /src/libspectre/ghostscript/base/srle.c
    functionUses: 0
    functionsReached:
    - s_RLE_init_inline
    linkageType: ''
    returnType: int
    signature: int s_RLE_init(stream_state * st)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:78,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:80,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:82,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:85,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:89,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/srle.c:91,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:94,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:97,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:99,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/srle.c:101,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:103,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:105,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:108,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/srle.c:110,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 5
    argNames:
    - p
    - plimit
    - q
    - qlimit
    - ret
    argTypes:
    - byte*
    - byte*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: debug_ate
    functionSourceFile: /src/libspectre/ghostscript/base/srle.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - dlprintf2
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: "void debug_ate(const byte *p, const byte *plimit,\n          const
      byte *q, const byte *qlimit,\n          int ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: debug_ate
    functionSourceFile: /src/libspectre/ghostscript/base/srle.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_ate(a,b,c,d,e)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf7
      Src: /src/libspectre/ghostscript/base/srle.c:138,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/srle.c:144,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srle.c:218,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srle.c:244,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srle.c:268,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srle.c:319,1
    - Dst: debug_ate
      Src: /src/libspectre/ghostscript/base/srle.c:345,1
    - Dst: debug_ate
      Src: /src/libspectre/ghostscript/base/srle.c:358,1
    - Dst: debug_ate
      Src: /src/libspectre/ghostscript/base/srle.c:371,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 219
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 373
    functionName: s_RLE_process
    functionSourceFile: /src/libspectre/ghostscript/base/srle.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - dlprintf7
    - memcpy
    - debug_ate
    linkageType: ''
    returnType: int
    signature: "int s_RLE_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:39,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:41,1
    - Dst: gx_device_color::type::save_dc
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - psc
    argTypes:
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: gx_hld_saved_color_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 0
    functionsReached:
    - gx_device_color::type::save_dc
    - memset
    - color_set_null
    linkageType: ''
    returnType: void
    signature: void gx_hld_saved_color_init(gx_hl_saved_color * psc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:55,1
    - Dst: gx_hld_saved_color_init
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:59,1
    - Dst: gx_device_color*::type::save_dc
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:64,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:73,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:74,1
    - Dst: gx_device_color*::type::save_dc
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:77,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - pgs
    - pdevc
    - psc
    argTypes:
    - gs_gstate*
    - gx_device_color*
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 93
    functionName: gx_hld_save_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 5
    functionsReached:
    - gx_hld_saved_color_init
    - gx_device_color*::type::save_dc
    - gs_color_space_num_components
    - memset
    - gs_currentcolorspace_inline
    linkageType: ''
    returnType: bool
    signature: "bool gx_hld_save_color(const gs_gstate * pgs, const gx_device_color
      * pdevc,\n                gx_hl_saved_color * psc)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:118,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:127,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:141,1
    - Dst: gx_dc_is_binary_halftone
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:146,1
    - Dst: gx_dc_is_colored_halftone
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:156,1
    - Dst: gx_dc_is_devn
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:166,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 2
    argNames:
    - psc1
    - psc2
    argTypes:
    - gx_hl_saved_color*
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 177
    functionName: gx_hld_saved_color_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 3
    functionsReached:
    - gx_dc_is_pattern2_color
    - gx_dc_is_pure
    - gx_dc_is_colored_halftone
    - gx_dc_is_devn
    - gx_dc_is_pattern1_color
    - gx_dc_is_binary_halftone
    linkageType: ''
    returnType: bool
    signature: "bool gx_hld_saved_color_equal(const gx_hl_saved_color * psc1,\n                           const
      gx_hl_saved_color * psc2)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - psc1
    - psc2
    argTypes:
    - gx_hl_saved_color*
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: gx_hld_saved_color_same_cspace
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_hld_saved_color_same_cspace(const gx_hl_saved_color * psc1,\n
      \                          const gx_hl_saved_color * psc2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - pdevc
    argTypes:
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: gx_hld_is_hl_color_available
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_hld_is_hl_color_available(const gs_gstate * pgs,\n                const
      gx_device_color * pdevc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_is_hl_color_available
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:219,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - pgs
    - pdevc
    - ppcs
    - ppcc
    argTypes:
    - gs_gstate*
    - gx_device_color*
    - gs_color_space**
    - gs_client_color**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 236
    functionName: gx_hld_get_color_space_and_ccolor
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 2
    functionsReached:
    - gs_currentcolorspace_inline
    - gx_hld_is_hl_color_available
    linkageType: ''
    returnType: gx_hld_get_color_space_and_ccolor_status
    signature: "gx_hld_get_color_space_and_ccolor_status gx_hld_get_color_space_and_ccolor(const
      gs_gstate * pgs,\n                const gx_device_color * pdevc, const gs_color_space
      ** ppcs,\n                const gs_client_color ** ppcc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:247,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: gx_hld_get_number_color_components
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 1
    functionsReached:
    - gs_color_space_num_components
    - gs_currentcolorspace_inline
    linkageType: ''
    returnType: int
    signature: int gx_hld_get_number_color_components(const gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_hld_get_number_color_components
      Src: /src/libspectre/ghostscript/base/gxhldevc.c:266,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 4
    argNames:
    - pgs
    - pdevc
    - comp_num
    - output
    argTypes:
    - gs_gstate*
    - gx_device_color*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 276
    functionName: gx_hld_get_color_component
    functionSourceFile: /src/libspectre/ghostscript/base/gxhldevc.c
    functionUses: 0
    functionsReached:
    - gx_hld_get_number_color_components
    linkageType: ''
    returnType: gx_hld_get_color_component_status
    signature: "gx_hld_get_color_component_status gx_hld_get_color_component(const
      gs_gstate * pgs,\n                          const gx_device_color * pdevc,\n
      \                         int comp_num, float * output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_CONST_BYTESTRING_VAR
      Src: /src/libspectre/ghostscript/base/gsgdata.c:34,1
    - Dst: RELOC_OBJ_VAR
      Src: /src/libspectre/ghostscript/base/gsgdata.c:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pgd
    argTypes:
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 1
    functionsReached:
    - RELOC_OBJ_VAR
    - RELOC_CONST_BYTESTRING_VAR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gs_glyph_data_reloc_ptrs, gs_glyph_data_t
      *pgd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsgdata.c:47,1
    - Dst: gs_glyph_data_t*::procs::substring
      Src: /src/libspectre/ghostscript/base/gsgdata.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pgd
    - offset
    - size
    argTypes:
    - gs_glyph_data_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 49
    functionName: gs_glyph_data_substring
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_glyph_data_t*::procs::substring
    linkageType: ''
    returnType: int
    signature: int gs_glyph_data_substring(gs_glyph_data_t *pgd, uint offset, uint
      size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_data_t*::procs::free
      Src: /src/libspectre/ghostscript/base/gsgdata.c:57,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/base/gsgdata.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pgd
    - cname
    argTypes:
    - gs_glyph_data_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 60
    functionName: gs_glyph_data_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 19
    functionsReached:
    - gs_glyph_data_from_null
    - gs_glyph_data_t*::procs::free
    linkageType: ''
    returnType: void
    signature: void gs_glyph_data_free(gs_glyph_data_t *pgd, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pgd
    - cname
    argTypes:
    - gs_glyph_data_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 68
    functionName: glyph_data_free_permanent
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void glyph_data_free_permanent(gs_glyph_data_t *pgd, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pgd
    - offset
    - size
    argTypes:
    - gs_glyph_data_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 75
    functionName: glyph_data_substring_permanent
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int glyph_data_substring_permanent(gs_glyph_data_t *pgd, uint offset,
      uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_bytestring
      Src: /src/libspectre/ghostscript/base/gsgdata.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgd
    - cname
    argTypes:
    - gs_glyph_data_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: glyph_data_free_by_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached:
    - gs_free_const_bytestring
    linkageType: ''
    returnType: void
    signature: void glyph_data_free_by_font(gs_glyph_data_t *pgd, client_name_t cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: glyph_data_substring_permanent
      Src: /src/libspectre/ghostscript/base/gsgdata.c:91,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gsgdata.c:93,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/base/gsgdata.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pgd
    - offset
    - size
    argTypes:
    - gs_glyph_data_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 99
    functionName: glyph_data_substring_by_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached:
    - gs_resize_string
    - memmove
    - glyph_data_substring_permanent
    linkageType: ''
    returnType: int
    signature: int glyph_data_substring_by_font(gs_glyph_data_t *pgd, uint offset,
      uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_bytestring_from_string
      Src: /src/libspectre/ghostscript/base/gsgdata.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pgd
    - data
    - size
    - font
    argTypes:
    - gs_glyph_data_t*
    - byte*
    - uint
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 122
    functionName: gs_glyph_data_from_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 8
    functionsReached:
    - gs_bytestring_from_string
    linkageType: ''
    returnType: void
    signature: "void gs_glyph_data_from_string(gs_glyph_data_t *pgd, const byte *data,\n
      \                         uint size, gs_font *font)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_bytestring_from_bytes
      Src: /src/libspectre/ghostscript/base/gsgdata.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pgd
    - bytes
    - offset
    - size
    - font
    argTypes:
    - gs_glyph_data_t*
    - byte*
    - uint
    - uint
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: gs_glyph_data_from_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 0
    functionsReached:
    - gs_bytestring_from_bytes
    linkageType: ''
    returnType: void
    signature: "void gs_glyph_data_from_bytes(gs_glyph_data_t *pgd, const byte *bytes,\n
      \                        uint offset, uint size, gs_font *font)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/base/gsgdata.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgd
    argTypes:
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: gs_glyph_data_from_null
    functionSourceFile: /src/libspectre/ghostscript/base/gsgdata.c
    functionUses: 5
    functionsReached:
    - gs_glyph_data_from_string
    linkageType: ''
    returnType: void
    signature: void gs_glyph_data_from_null(gs_glyph_data_t *pgd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:122,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:123,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:125,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:126,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:128,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:129,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:136,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:137,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:137,1
    - Dst: _color_set_c
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:144,1
    - Dst: gx_complete_halftone
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:145,1
    - Dst: color_set_phase_mod
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:148,1
    - Dst: gx_devn_reduce_colored_halftone
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:155,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 5
    argNames:
    - pcolor
    - pdevc
    - dev
    - pdht
    - ht_phase
    argTypes:
    - frac*
    - gx_device_color*
    - gx_device*
    - gx_device_halftone*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 159
    functionName: gx_render_device_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevndi.c
    functionUses: 16
    functionsReached:
    - _color_set_c
    - color_set_pure
    - gs_debug_c
    - color_set_phase_mod
    - fractional_color
    - gx_complete_halftone
    - dmlprintf1
    - dmlprintf2
    - gx_devn_reduce_colored_halftone
    - dev_proc
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: "int gx_render_device_DeviceN(frac * pcolor,\n        gx_device_color
      * pdevc, gx_device * dev,\n        gx_device_halftone * pdht, const gs_int_point
      * ht_phase)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:179,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:181,1
    - Dst: color_set_pure
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:189,1
    - Dst: fractional_color
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:217,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:219,1
    - Dst: color_set_binary_halftone_component
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:222,1
    - Dst: color_set_binary_halftone_component
      Src: /src/libspectre/ghostscript/base/gxdevndi.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - pdevc
    - dev
    argTypes:
    - gx_device_color*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 228
    functionName: gx_devn_reduce_colored_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevndi.c
    functionUses: 1
    functionsReached:
    - color_set_pure
    - fractional_color
    - color_set_binary_halftone_component
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_devn_reduce_colored_halftone(gx_device_color *pdevc, gx_device
      *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_io_procs_t*::rewind
      Src: /src/libspectre/ghostscript/base/gxclread.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: s_band_read_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - clist_io_procs_t*::rewind
    linkageType: ''
    returnType: int
    signature: int s_band_read_init(stream_state * st)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclread.c:99,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxclread.c:102,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - crdev
    - st
    argTypes:
    - gx_device_clist_reader*
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: s_band_read_init_offset_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - gs_debug_c
    linkageType: ''
    returnType: int
    signature: int s_band_read_init_offset_map(gx_device_clist_reader *crdev, stream_state
      * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclread.c:122,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclread.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - crdev
    - st
    argTypes:
    - gx_device_clist_reader*
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 128
    functionName: s_band_read_dnit_offset_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_band_read_dnit_offset_map(gx_device_clist_reader *crdev, stream_state
      * st)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclread.c:150,1
    - Dst: clist_io_procs_t*::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclread.c:153,1
    - Dst: clist_io_procs_t*::ferror_code
      Src: /src/libspectre/ghostscript/base/gxclread.c:154,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/gxclread.c:160,1
    - Dst: clist_io_procs_t*::ftell
      Src: /src/libspectre/ghostscript/base/gxclread.c:169,1
    - Dst: clist_io_procs_t*::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclread.c:179,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gxclread.c:181,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:181,1
    - Dst: clist_io_procs_t*::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:186,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclread.c:189,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gxclread.c:191,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:191,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxclread.c:199,1
    - Dst: clist_io_procs_t*::ftell
      Src: /src/libspectre/ghostscript/base/gxclread.c:202,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 208
    functionName: s_band_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - DISCARD
    - gs_debug_c
    - clist_io_procs_t*::fread_chars
    - clist_io_procs_t*::ferror_code
    - process_interrupts
    - clist_io_procs_t*::fseek
    - gs_note_error
    - clist_io_procs_t*::ftell
    linkageType: ''
    returnType: int
    signature: "int s_band_read_process(stream_state * st, stream_cursor_read * ignore_pr,\n
      \                   stream_cursor_write * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - ss
    - buffer_offset
    - poffset0
    argTypes:
    - stream_band_read_state*
    - uint
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 231
    functionName: buffer_segment_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int buffer_segment_index(const stream_band_read_state *ss, uint buffer_offset,
      uint *poffset0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: buffer_segment_index
      Src: /src/libspectre/ghostscript/base/gxclread.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - buffer_offset
    argTypes:
    - stream_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: clist_file_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 1
    functionsReached:
    - buffer_segment_index
    linkageType: ''
    returnType: int64_t
    signature: int64_t clist_file_offset(const stream_state * st, uint buffer_offset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclread.c:254,1
    - Dst: buffer_segment_index
      Src: /src/libspectre/ghostscript/base/gxclread.c:265,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:268,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclread.c:273,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - st
    - buf
    - ptr
    - end
    argTypes:
    - stream_state*
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 279
    functionName: top_up_offset_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 3
    functionsReached:
    - return_error
    - buffer_segment_index
    - gs_debug_c
    - memmove
    linkageType: ''
    returnType: int
    signature: int top_up_offset_map(stream_state * st, const byte *buf, const byte
      *ptr, const byte *end)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster_plane
      Src: /src/libspectre/ghostscript/base/gxclread.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - render_plane
    argTypes:
    - gx_device*
    - gx_render_plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 289
    functionName: clist_plane_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gx_device_raster_plane
    linkageType: ''
    returnType: int
    signature: int clist_plane_raster(const gx_device *dev, const gx_render_plane_t
      *render_plane)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_color_usage
      Src: /src/libspectre/ghostscript/base/gxclread.c:300,1
    - Dst: gx_render_plane_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:307,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - dev
    - y
    - height
    - render_plane
    - index
    argTypes:
    - gx_device*
    - int
    - int
    - gx_render_plane_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: clist_select_render_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gx_render_plane_init
    - gdev_prn_color_usage
    linkageType: ''
    returnType: void
    signature: "void clist_select_render_plane(gx_device *dev, int y, int height,\n
      \                         gx_render_plane_t *render_plane, int index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_render_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:321,1
    - Dst: clist_playback_file_bands
      Src: /src/libspectre/ghostscript/base/gxclread.c:326,1
    - Dst: clist_render_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 333
    functionName: clist_setup_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - clist_playback_file_bands
    - clist_render_init
    linkageType: ''
    returnType: int
    signature: int clist_setup_params(gx_device *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: clist_end_page
      Src: /src/libspectre/ghostscript/base/gxclread.c:345,1
    - Dst: clist_render_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:348,1
    - Dst: clist_read_color_usage_array
      Src: /src/libspectre/ghostscript/base/gxclread.c:352,1
    - Dst: clist_read_icctable
      Src: /src/libspectre/ghostscript/base/gxclread.c:356,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/base/gxclread.c:362,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:364,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gxclread.c:368,1
    - Dst: check_device_compatible_encoding
      Src: /src/libspectre/ghostscript/base/gxclread.c:372,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - cldev
    argTypes:
    - gx_device_clist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 375
    functionName: clist_close_writer_and_init_reader
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 4
    functionsReached:
    - gs_memory_status
    - gsicc_cache_new
    - check_device_compatible_encoding
    - clist_read_icctable
    - clist_read_color_usage_array
    - return_error
    - clist_end_page
    - clist_render_init
    linkageType: ''
    returnType: int
    signature: int clist_close_writer_and_init_reader(gx_device_clist *cldev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxclread.c:397,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gxclread.c:398,1
    - Dst: gx_band_page_info_t*::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclread.c:399,1
    - Dst: gx_band_page_info_t*::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclread.c:402,1
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:411,1
    - Dst: gx_band_page_info_t*::io_procs::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclread.c:413,1
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:418,1
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:423,1
    - Dst: gx_band_page_info_t*::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:426,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - crdev
    - band
    - cb
    argTypes:
    - gx_device_clist_reader*
    - int
    - cmd_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 428
    functionName: clist_find_pseudoband
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - strncat
    - gx_band_page_info_t*::io_procs::fread_chars
    - gx_band_page_info_t*::io_procs::fopen
    - strcpy
    - gx_band_page_info_t*::io_procs::fseek
    linkageType: ''
    returnType: int
    signature: int clist_find_pseudoband(gx_device_clist_reader *crdev, int band,
      cmd_block *cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_clist_reader*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclread.c:438,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:440,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclread.c:442,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - crdev
    - position
    - size
    - buf
    argTypes:
    - gx_device_clist_reader*
    - int64_t
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 446
    functionName: clist_read_chunk
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 2
    functionsReached:
    - gx_device_clist_reader*::page_info::io_procs::fread_chars
    - gx_device_clist_reader*::page_info::io_procs::fseek
    - gx_device_clist_reader*::page_info::io_procs::ftell
    linkageType: ''
    returnType: int
    signature: int clist_read_chunk(gx_device_clist_reader *crdev, int64_t position,
      int size, unsigned char *buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclread.c:456,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclread.c:458,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:461,1
    - Dst: clist_find_pseudoband
      Src: /src/libspectre/ghostscript/base/gxclread.c:463,1
    - Dst: clist_read_chunk
      Src: /src/libspectre/ghostscript/base/gxclread.c:467,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - crdev
    argTypes:
    - gx_device_clist_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 469
    functionName: clist_read_color_usage_array
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - clist_read_chunk
    - return_error
    - clist_find_pseudoband
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_read_color_usage_array(gx_device_clist_reader *crdev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_clist_reader*::page_info::io_procs::ftell
      Src: /src/libspectre/ghostscript/base/gxclread.c:487,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:488,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fread_chars
      Src: /src/libspectre/ghostscript/base/gxclread.c:490,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclread.c:493,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclread.c:496,1
    - Dst: clist_read_chunk
      Src: /src/libspectre/ghostscript/base/gxclread.c:498,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclread.c:499,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclread.c:502,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclread.c:503,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxclread.c:512,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclread.c:515,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxclread.c:516,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclread.c:518,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclread.c:530,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fseek
      Src: /src/libspectre/ghostscript/base/gxclread.c:531,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - crdev
    - cb
    argTypes:
    - gx_device_clist_reader*
    - cmd_block*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 533
    functionName: clist_unserialize_icctable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 0
    functionsReached:
    - gx_device_clist_reader*::page_info::io_procs::fseek
    - gs_alloc_bytes
    - gs_rethrow
    - gx_device_clist_reader*::page_info::io_procs::fread_chars
    - memcpy
    - clist_read_chunk
    - gs_free_object
    - gx_device_clist_reader*::page_info::io_procs::ftell
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int clist_unserialize_icctable(gx_device_clist_reader *crdev, cmd_block
      *cb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_find_pseudoband
      Src: /src/libspectre/ghostscript/base/gxclread.c:545,1
    - Dst: clist_unserialize_icctable
      Src: /src/libspectre/ghostscript/base/gxclread.c:549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - crdev
    argTypes:
    - gx_device_clist_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 536
    functionDepth: 3
    functionLinenumber: 536
    functionLinenumberEnd: 551
    functionName: clist_read_icctable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 4
    functionsReached:
    - clist_find_pseudoband
    - clist_unserialize_icctable
    linkageType: ''
    returnType: int
    signature: int clist_read_icctable(gx_device_clist_reader *crdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_clist*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 570
    functionName: clist_render_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clist_render_init(gx_device_clist *dev)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:600,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclread.c:616,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclread.c:622,1
    - Dst: clist_select_render_plane
      Src: /src/libspectre/ghostscript/base/gxclread.c:625,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:626,1
    - Dst: clist_rasterize_lines
      Src: /src/libspectre/ghostscript/base/gxclread.c:632,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclread.c:634,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclread.c:639,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:642,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gxclread.c:653,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gxclread.c:663,1
    - Dst: gdev_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:665,1
    - Dst: clist_rasterize_lines
      Src: /src/libspectre/ghostscript/base/gxclread.c:680,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclread.c:684,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclread.c:687,1
    - Dst: gx_device_clist_common*::buf_procs::destroy_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:695,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 63
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 573
    functionDepth: 3
    functionLinenumber: 573
    functionLinenumberEnd: 698
    functionName: clist_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 1
    functionsReached:
    - gdev_create_buf_device
    - gx_default_get_bits_rectangle
    - gx_device_raster
    - clist_close_writer_and_init_reader
    - gx_device_clist_common*::buf_procs::destroy_buf_device
    - return_error
    - clist_rasterize_lines
    - clist_select_render_plane
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int clist_get_bits_rectangle(gx_device *dev, const gs_int_rect * prect,\n
      \                        gs_get_bits_params_t *params, gs_int_rect **unread)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clist_plane_raster
      Src: /src/libspectre/ghostscript/base/gxclread.c:710,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclread.c:735,1
    - Dst: gx_device_clist_reader*::buf_procs::setup_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:736,1
    - Dst: clist_render_rectangle
      Src: /src/libspectre/ghostscript/base/gxclread.c:743,1
    - Dst: gx_device_clist_reader*::buf_procs::setup_buf_device
      Src: /src/libspectre/ghostscript/base/gxclread.c:756,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 6
    argNames:
    - dev
    - y
    - line_count
    - bdev
    - render_plane
    - pmy
    argTypes:
    - gx_device*
    - int
    - int
    - gx_device*
    - gx_render_plane_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 702
    functionDepth: 2
    functionLinenumber: 702
    functionLinenumberEnd: 764
    functionName: clist_rasterize_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 3
    functionsReached:
    - return_error
    - gx_device_clist_reader*::buf_procs::setup_buf_device
    - clist_render_rectangle
    - clist_plane_raster
    linkageType: ''
    returnType: int
    signature: "int clist_rasterize_lines(gx_device *dev, int y, int line_count,\n
      \                     gx_device *bdev, const gx_render_plane_t *render_plane,\n
      \                     int *pmy)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclread.c:791,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclread.c:818,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclread.c:819,1
    - Dst: pdf14_ok_to_optimize
      Src: /src/libspectre/ghostscript/base/gxclread.c:849,1
    - Dst: clist_playback_file_bands
      Src: /src/libspectre/ghostscript/base/gxclread.c:854,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - cldev
    - prect
    - bdev
    - render_plane
    - clear
    argTypes:
    - gx_device_clist*
    - gs_int_rect*
    - gx_device*
    - gx_render_plane_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 770
    functionDepth: 3
    functionLinenumber: 770
    functionLinenumberEnd: 863
    functionName: clist_render_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 2
    functionsReached:
    - pdf14_ok_to_optimize
    - clist_playback_file_bands
    - strncpy
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int clist_render_rectangle(gx_device_clist *cldev, const gs_int_rect
      *prect,\n                       gx_device *bdev,\n                       const
      gx_render_plane_t *render_plane, bool clear)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/base/gxclread.c:882,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclread.c:891,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclread.c:897,1
    - Dst: s_band_read_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:910,1
    - Dst: s_band_read_init_offset_map
      Src: /src/libspectre/ghostscript/base/gxclread.c:912,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:915,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/gxclread.c:916,1
    - Dst: clist_playback_band
      Src: /src/libspectre/ghostscript/base/gxclread.c:920,1
    - Dst: s_band_read_dnit_offset_map
      Src: /src/libspectre/ghostscript/base/gxclread.c:922,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclread.c:928,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclread.c:930,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 8
    argNames:
    - action
    - crdev
    - page_info
    - target
    - band_first
    - band_last
    - x0
    - y0
    argTypes:
    - clist_playback_action
    - gx_device_clist_reader*
    - gx_band_page_info_t*
    - gx_device*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 866
    functionDepth: 5
    functionLinenumber: 866
    functionLinenumberEnd: 933
    functionName: clist_playback_file_bands
    functionSourceFile: /src/libspectre/ghostscript/base/gxclread.c
    functionUses: 3
    functionsReached:
    - s_band_read_init_offset_map
    - s_init_state
    - gx_device_clist_reader*::page_info::io_procs::fopen
    - s_band_read_init
    - s_band_read_dnit_offset_map
    - gx_device_clist_reader*::page_info::io_procs::fclose
    - clist_playback_band
    - s_std_init
    - s_init
    linkageType: ''
    returnType: int
    signature: "int clist_playback_file_bands(clist_playback_action action,\n                          gx_device_clist_reader
      *crdev,\n                          gx_band_page_info_t *page_info, gx_device
      *target,\n                          int band_first, int band_last, int x0, int
      y0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - r
    - g
    - b
    - pgs
    argTypes:
    - frac
    - frac
    - frac
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 54
    functionName: color_rgb_to_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcconv.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: frac
    signature: frac color_rgb_to_gray(frac r, frac g, frac b, const gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:63,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:63,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:71,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:74,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:81,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:91,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:96,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:99,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:102,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:106,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - r
    - g
    - b
    - pgs
    - cmyk
    - mem
    argTypes:
    - frac
    - frac
    - frac
    - gs_gstate*
    - frac[]
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 108
    functionName: color_rgb_to_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcconv.c
    functionUses: 10
    functionsReached:
    - gs_currentcpsimode
    - gx_map_color_frac
    - frac2float
    - is_fneg
    - min
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void color_rgb_to_cmyk(frac r, frac g, frac b, const gs_gstate * pgs,\n
      \                 frac cmyk[4], gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_gray
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - c
    - m
    - y
    - k
    - pgs
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 118
    functionName: color_cmyk_to_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcconv.c
    functionUses: 4
    functionsReached:
    - color_rgb_to_gray
    linkageType: ''
    returnType: frac
    signature: frac color_cmyk_to_gray(frac c, frac m, frac y, frac k, const gs_gstate
      * pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:135,1
    - Dst: deduct_black
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:151,1
    - Dst: deduct_black
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:152,1
    - Dst: deduct_black
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:153,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxdcconv.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 7
    argNames:
    - c
    - m
    - y
    - k
    - pgs
    - rgb
    - mem
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gs_gstate*
    - frac[]
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 159
    functionName: color_cmyk_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcconv.c
    functionUses: 12
    functionsReached:
    - deduct_black
    - gs_currentcpsimode
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void color_cmyk_to_rgb(frac c, frac m, frac y, frac k, const gs_gstate
      * pgs,\n                  frac rgb[3], gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: deduct_black
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcconv.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: deduct_black(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: private_st_gs_image4
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparm4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_image4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: private_st_printer_param_list
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_printer_param_list()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pclose
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:35,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:37,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 41
    functionName: do_pclose
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpipe.c
    functionUses: 0
    functionsReached:
    - return_error
    - pclose
    linkageType: ''
    returnType: int
    signature: int do_pclose(FILE *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:46,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:55,1
    - Dst: popen
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:55,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:57,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:57,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:61,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 6
    argNames:
    - mem
    - secret
    - fname
    - rfname
    - mode
    - file
    argTypes:
    - gs_memory_t*
    - void*
    - char*
    - char*
    - char*
    - gp_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: fs_file_open_pipe
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpipe.c
    functionUses: 0
    functionsReached:
    - popen
    - strcpy
    - return_error
    - gs_fopen_errno_to_code
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    linkageType: ''
    returnType: int
    signature: int fs_file_open_pipe(const gs_memory_t *mem, void *secret, const char
      *fname, char *rfname, const char *mode, gp_file **file)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:76,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:83,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:84,1
    - Dst: gs_fs_list_t*::fs::open_pipe
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:91,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 7
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 100
    functionName: pipe_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpipe.c
    functionUses: 0
    functionsReached:
    - return_error
    - strchr
    - gp_validate_path
    - gs_fs_list_t*::fs::open_pipe
    linkageType: ''
    returnType: int
    signature: "int pipe_fopen(gx_io_device * iodev, const char *fname, const char
      *access,\n           gp_file ** pfile, char *rfname, uint rnamelen, gs_memory_t
      *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gdevpipe.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 110
    functionName: pipe_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpipe.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: int
    signature: int pipe_fclose(gx_io_device * iodev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: pipe_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpipe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pipe_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/scfdgen.c:33,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/scfdgen.c:34,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:36,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:37,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:38,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:39,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:40,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:41,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:42,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:43,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:44,1
    - Dst: cfd_build_tree
      Src: /src/libspectre/ghostscript/base/scfdgen.c:45,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:46,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:47,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:48,1
    - Dst: cfd_build_tree
      Src: /src/libspectre/ghostscript/base/scfdgen.c:49,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:50,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:51,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:52,1
    - Dst: cfd_build_tree
      Src: /src/libspectre/ghostscript/base/scfdgen.c:53,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:54,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:55,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:56,1
    - Dst: cfd_build_tree
      Src: /src/libspectre/ghostscript/base/scfdgen.c:57,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:58,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:59,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:60,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/scfdgen.c:61,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/scfdgen.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 64
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 15
    functionsReached:
    - fputs
    - max
    - fopen
    - cfd_build_tree
    - fclose
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/scfdgen.c:84,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - tree
    - ignore_extn
    - code
    - code_length
    - run_length
    - initial_bits
    argTypes:
    - cfd_node*
    - cfd_node*
    - uint
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 86
    functionName: cfd_count_nodes
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: void
    signature: "void cfd_count_nodes(cfd_node * tree, cfd_node * ignore_extn,\n                uint
      code, int code_length, int run_length, int initial_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tree
    - extn
    - code
    - code_length
    - run_length
    - initial_bits
    argTypes:
    - cfd_node*
    - cfd_node*
    - uint
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 108
    functionName: cfd_init2_nodes
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cfd_init2_nodes(cfd_node * tree, cfd_node * extn,\n                uint
      code, int code_length, int run_length, int initial_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - proc
    - tree
    - extn
    - initial_bits
    - tt
    - mut
    argTypes:
    - cfd_node_proc
    - cfd_node*
    - cfd_node*
    - int
    - cfe_run*
    - cfe_run*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 128
    functionName: cfd_enumerate_codes
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cfd_enumerate_codes(cfd_node_proc proc, cfd_node * tree, cfd_node
      * extn,\n                  int initial_bits, const cfe_run * tt, const cfe_run
      * mut)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfd_enumerate_codes
      Src: /src/libspectre/ghostscript/base/scfdgen.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proc
    - tree
    - extn
    - initial_bits
    argTypes:
    - cfd_node_proc
    - cfd_node*
    - cfd_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: cfd_enumerate_white
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached:
    - cfd_enumerate_codes
    linkageType: ''
    returnType: void
    signature: "void cfd_enumerate_white(cfd_node_proc proc, cfd_node * tree, cfd_node
      * extn,\n                    int initial_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfd_enumerate_codes
      Src: /src/libspectre/ghostscript/base/scfdgen.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - proc
    - tree
    - extn
    - initial_bits
    argTypes:
    - cfd_node_proc
    - cfd_node*
    - cfd_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: cfd_enumerate_black
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached:
    - cfd_enumerate_codes
    linkageType: ''
    returnType: void
    signature: "void cfd_enumerate_black(cfd_node_proc proc, cfd_node * tree, cfd_node
      * extn,\n                    int initial_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/scfdgen.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - proc
    - tree
    - extn
    - initial_bits
    argTypes:
    - cfd_node_proc
    - cfd_node*
    - cfd_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 163
    functionName: cfd_enumerate_2d
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: void
    signature: "void cfd_enumerate_2d(cfd_node_proc proc, cfd_node * tree, cfd_node
      * extn,\n                 int initial_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/scfdgen.c:173,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/scfdgen.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - proc
    - tree
    - extn
    - initial_bits
    argTypes:
    - cfd_node_proc
    - cfd_node*
    - cfd_node*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 181
    functionName: cfd_enumerate_uncompressed
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: void
    signature: "void cfd_enumerate_uncompressed(cfd_node_proc proc, cfd_node * tree,
      cfd_node * extn,\n                           int initial_bits)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfdgen.c:193,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/scfdgen.c:202,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/scfdgen.c:206,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/scfdgen.c:212,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/scfdgen.c:213,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - tree
    - enum_proc
    - initial_bits
    - f
    argTypes:
    - cfd_node*
    - cfd_enum_proc
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 214
    functionName: cfd_build_tree
    functionSourceFile: /src/libspectre/ghostscript/base/scfdgen.c
    functionUses: 1
    functionsReached:
    - fprintf
    - free
    - memset
    - malloc
    linkageType: ''
    returnType: void
    signature: "void cfd_build_tree(cfd_node * tree, cfd_enum_proc enum_proc, int
      initial_bits,\n               FILE * f)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclbits.c:52,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - width_bits
    - height
    - compression_mask
    - width_bytes
    - raster
    argTypes:
    - uint
    - uint
    - int
    - uint*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 67
    functionName: clist_bitmap_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 2
    functionsReached:
    - bitmap_raster
    linkageType: ''
    returnType: uint
    signature: "uint clist_bitmap_bytes(uint width_bits, uint height, int compression_mask,\n
      \                  uint * width_bytes, uint * raster)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - end
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: go_process
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int go_process(stream_state * st, stream_cursor_read *pr, stream_cursor_write
      *pw, bool end)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclbits.c:90,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:106,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:113,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:120,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:127,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:132,1
    - Dst: go_process
      Src: /src/libspectre/ghostscript/base/gxclbits.c:137,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 43
    argCount: 6
    argNames:
    - st
    - data
    - width_bits
    - raster
    - height
    - pw
    argTypes:
    - stream_state*
    - byte*
    - uint
    - uint
    - uint
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 144
    functionName: cmd_compress_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - bitmap_raster
    - go_process
    linkageType: ''
    returnType: int
    signature: "int cmd_compress_bitmap(stream_state * st, const byte * data, uint
      width_bits,\n                    uint raster, uint height, stream_cursor_write
      * pw)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: clist_bitmap_bytes
      Src: /src/libspectre/ghostscript/base/gxclbits.c:162,1
    - Dst: clist_bitmap_bytes
      Src: /src/libspectre/ghostscript/base/gxclbits.c:166,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclbits.c:191,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:195,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:196,1
    - Dst: cmd_uncount_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:199,1
    - Dst: clist_cfe_init
      Src: /src/libspectre/ghostscript/base/gxclbits.c:207,1
    - Dst: clist_rle_init
      Src: /src/libspectre/ghostscript/base/gxclbits.c:213,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclbits.c:225,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclbits.c:229,1
    - Dst: cmd_compress_bitmap
      Src: /src/libspectre/ghostscript/base/gxclbits.c:230,1
    - Dst: cmd_shorten_list_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:236,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:245,1
    - Dst: cmd_shorten_list_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:248,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclbits.c:251,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:254,1
    - Dst: cmd_shorten_list_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:256,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclbits.c:263,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:267,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:268,1
    - Dst: cmd_uncount_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:271,1
    - Dst: bytes_rectangle_is_const
      Src: /src/libspectre/ghostscript/base/gxclbits.c:274,1
    - Dst: cmd_shorten_list_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:275,1
    - Dst: bytes_copy_rectangle_zero_padding
      Src: /src/libspectre/ghostscript/base/gxclbits.c:283,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 10
    argNames:
    - cldev
    - pcls
    - data
    - width_bits
    - height
    - raster
    - op_size
    - compression_mask
    - pdp
    - psize
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - byte*
    - uint
    - uint
    - uint
    - int
    - int
    - byte**
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 289
    functionName: cmd_put_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - set_cmd_put_op
    - return_error
    - clist_bitmap_bytes
    - set_cmd_put_all_op
    - clist_rle_init
    - clist_cfe_init
    - cmd_uncount_op
    - if_debug2m
    - cmd_compress_bitmap
    - bytes_rectangle_is_const
    - bytes_copy_rectangle_zero_padding
    - min
    - cmd_shorten_list_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_bits(gx_device_clist_writer * cldev, gx_clist_state *
      pcls,\n  const byte * data, uint width_bits, uint height, uint raster, int op_size,\n
      \            int compression_mask, byte ** pdp, uint * psize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:295,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:296,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:296,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:298,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:300,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tile
    - for_pattern
    argTypes:
    - gx_strip_bitmap*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 303
    functionName: cmd_size_tile_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - cmd_size_w
    linkageType: ''
    returnType: uint
    signature: uint cmd_size_tile_params(const gx_strip_bitmap * tile, bool for_pattern)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmd_depth_to_code
      Src: /src/libspectre/ghostscript/base/gxclbits.c:309,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:311,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:313,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:314,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:315,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:317,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:321,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - dp
    - tile
    - depth
    - csize
    - for_pattern
    - mem
    argTypes:
    - byte*
    - gx_strip_bitmap*
    - int
    - uint
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 333
    functionName: cmd_store_tile_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - cmd_depth_to_code
    - cmd_put_w
    - cmd_count_op
    linkageType: ''
    returnType: void
    signature: "void cmd_store_tile_params(byte * dp, const gx_strip_bitmap * tile,
      int depth,\n                      uint csize, bool for_pattern, const gs_memory_t
      *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:346,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:351,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cldev
    - pcls
    - indx
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 360
    functionName: cmd_put_tile_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - set_cmd_put_op
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int cmd_put_tile_index(gx_device_clist_writer *cldev, gx_clist_state
      *pcls,\n                   uint indx)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:373,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:384,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:390,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclbits.c:396,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 5
    argNames:
    - cldev
    - map_index
    - comp_num
    - map
    - pid
    argTypes:
    - gx_device_clist_writer*
    - cmd_map_index
    - int
    - gx_transfer_map*
    - gs_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 402
    functionName: cmd_put_color_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - memcpy
    - set_cmd_put_all_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_color_map(gx_device_clist_writer * cldev, cmd_map_index
      map_index,\n        int comp_num, const gx_transfer_map * map, gs_id * pid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - id
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: tile_id_hash
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tile_id_hash(id)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: tile_hash_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tile_hash_next(index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tile_id_hash
      Src: /src/libspectre/ghostscript/base/gxclbits.c:423,1
    - Dst: tile_hash_next
      Src: /src/libspectre/ghostscript/base/gxclbits.c:429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - cldev
    - id
    - ploc
    argTypes:
    - gx_device_clist_writer*
    - gx_bitmap_id
    - tile_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 441
    functionName: clist_find_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - tile_id_hash
    - tile_hash_next
    linkageType: ''
    returnType: bool
    signature: bool clist_find_bits(gx_device_clist_writer * cldev, gx_bitmap_id id,
      tile_loc * ploc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:452,1
    - Dst: gx_bits_cache_free
      Src: /src/libspectre/ghostscript/base/gxclbits.c:454,1
    - Dst: tile_hash_next
      Src: /src/libspectre/ghostscript/base/gxclbits.c:462,1
    - Dst: clist_find_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:466,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:468,1
    - Dst: gx_bits_cache_free
      Src: /src/libspectre/ghostscript/base/gxclbits.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - cldev
    - slot
    argTypes:
    - gx_device_clist_writer*
    - tile_slot*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 477
    functionName: clist_delete_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - clist_find_bits
    - gx_bits_cache_free
    - tile_hash_next
    - if_debug2m
    linkageType: ''
    returnType: void
    signature: void clist_delete_tile(gx_device_clist_writer * cldev, tile_slot *
      slot)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_bits_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxclbits.c:497,1
    - Dst: gx_bits_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxclbits.c:501,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gxclbits.c:505,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclbits.c:506,1
    - Dst: clist_delete_tile
      Src: /src/libspectre/ghostscript/base/gxclbits.c:510,1
    - Dst: gx_bits_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxclbits.c:513,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclbits.c:518,1
    - Dst: clist_delete_tile
      Src: /src/libspectre/ghostscript/base/gxclbits.c:522,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclbits.c:535,1
    - Dst: ts_mask
      Src: /src/libspectre/ghostscript/base/gxclbits.c:535,1
    - Dst: bytes_copy_rectangle_zero_padding
      Src: /src/libspectre/ghostscript/base/gxclbits.c:536,1
    - Dst: ts_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:536,1
    - Dst: clist_find_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:545,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxclbits.c:546,1
    - Dst: clist_find_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:549,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxclbits.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 4
    argNames:
    - cldev
    - tiles
    - sraster
    - depth
    argTypes:
    - gx_device_clist_writer*
    - gx_strip_bitmap*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 559
    functionName: clist_add_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - clist_find_bits
    - lprintf
    - ts_mask
    - clist_delete_tile
    - memset
    - gx_bits_cache_alloc
    - lprintf1
    - ts_bits
    - return_error
    - bytes_copy_rectangle_zero_padding
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: "int clist_add_tile(gx_device_clist_writer * cldev, const gx_strip_bitmap
      * tiles,\n               uint sraster, int depth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclbits.c:593,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclbits.c:600,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclbits.c:605,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclbits.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - new_tile
    - tiles
    - depth
    - cldev
    argTypes:
    - gx_strip_bitmap*
    - gx_strip_bitmap*
    - int
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 622
    functionName: clist_new_tile_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - min
    - bitmap_raster
    - max
    linkageType: ''
    returnType: void
    signature: "void clist_new_tile_params(gx_strip_bitmap * new_tile, const gx_strip_bitmap
      * tiles,\n                      int depth, const gx_device_clist_writer * cldev)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: clist_find_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:640,1
    - Dst: ts_mask
      Src: /src/libspectre/ghostscript/base/gxclbits.c:643,1
    - Dst: gx_device_is_pattern_clist
      Src: /src/libspectre/ghostscript/base/gxclbits.c:645,1
    - Dst: cmd_put_tile_index
      Src: /src/libspectre/ghostscript/base/gxclbits.c:650,1
    - Dst: tile_params_differ
      Src: /src/libspectre/ghostscript/base/gxclbits.c:655,1
    - Dst: clist_new_tile_params
      Src: /src/libspectre/ghostscript/base/gxclbits.c:667,1
    - Dst: cmd_size_tile_params
      Src: /src/libspectre/ghostscript/base/gxclbits.c:680,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:693,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:693,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:702,1
    - Dst: ts_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:702,1
    - Dst: cmd_store_tile_params
      Src: /src/libspectre/ghostscript/base/gxclbits.c:715,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:725,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:727,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:728,1
    - Dst: tile_params_differ
      Src: /src/libspectre/ghostscript/base/gxclbits.c:743,1
    - Dst: clist_new_tile_params
      Src: /src/libspectre/ghostscript/base/gxclbits.c:744,1
    - Dst: clist_add_tile
      Src: /src/libspectre/ghostscript/base/gxclbits.c:751,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 61
    argCount: 4
    argNames:
    - cldev
    - pcls
    - tiles
    - depth
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_strip_bitmap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 627
    functionDepth: 4
    functionLinenumber: 627
    functionLinenumberEnd: 757
    functionName: clist_change_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - cmd_count_op
    - cmd_size_w
    - clist_new_tile_params
    - clist_find_bits
    - cmd_put_w
    - ts_mask
    - gx_device_is_pattern_clist
    - cmd_store_tile_params
    - cmd_put_bits
    - cmd_put_tile_index
    - clist_add_tile
    - ts_bits
    - tile_params_differ
    - cmd_size_tile_params
    linkageType: ''
    returnType: int
    signature: "int clist_change_tile(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                  const gx_strip_bitmap * tiles, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cldev
    - ','
    - tiles
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: tile_params_differ
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: tile_params_differ(cldev, tiles, depth)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: clist_find_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:767,1
    - Dst: ts_mask
      Src: /src/libspectre/ghostscript/base/gxclbits.c:770,1
    - Dst: cmd_put_tile_index
      Src: /src/libspectre/ghostscript/base/gxclbits.c:776,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:781,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:782,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:782,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:783,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:795,1
    - Dst: ts_bits
      Src: /src/libspectre/ghostscript/base/gxclbits.c:795,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclbits.c:805,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:808,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:809,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:810,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclbits.c:811,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclbits.c:813,1
    - Dst: ts_mask
      Src: /src/libspectre/ghostscript/base/gxclbits.c:813,1
    - Dst: clist_add_tile
      Src: /src/libspectre/ghostscript/base/gxclbits.c:826,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 4
    argNames:
    - cldev
    - pcls
    - tiles
    - depth
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_strip_bitmap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 760
    functionDepth: 4
    functionLinenumber: 760
    functionLinenumberEnd: 830
    functionName: clist_change_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclbits.c
    functionUses: 0
    functionsReached:
    - cmd_count_op
    - cmd_size_w
    - clist_find_bits
    - cmd_put_w
    - ts_mask
    - memset
    - cmd_put_bits
    - cmd_put_tile_index
    - clist_add_tile
    - ts_bits
    linkageType: ''
    returnType: int
    signature: "int clist_change_bits(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                  const gx_strip_bitmap * tiles, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: scan_line_base
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevmem.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scan_line_base(dev,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: public_st_device_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_memory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mdev
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: gdev_mem_bitmap_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevmem.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_mem_bitmap_size(mdev, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: gdev_mem_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevmem.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_mem_raster(mdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_mcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:69,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 80
    functionName: gsicc_mcm_planar_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gsicc_mcm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_planar_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: gsicc_mcm_planar_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_planar_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_mcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:121,1
    - Dst: gsicc_mcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:138,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 158
    functionName: gsicc_mcm_chunky_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gsicc_mcm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_chunky_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_mcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 195
    functionName: gsicc_mcm_chunky_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gsicc_mcm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_chunky_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_mcm_planar_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:206,1
    - Dst: gsicc_mcm_planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:210,1
    - Dst: gsicc_mcm_chunky_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:216,1
    - Dst: gsicc_mcm_chunky_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 225
    functionName: gsicc_mcm_transform_color_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gsicc_mcm_chunky_to_chunky
    - gsicc_mcm_planar_to_planar
    - gsicc_mcm_chunky_to_planar
    - gsicc_mcm_planar_to_chunky
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_transform_color_buffer(gx_device *dev, gsicc_link_t
      *icclink,\n                                  gsicc_bufferdesc_t *input_buff_desc,\n
      \                                 gsicc_bufferdesc_t *output_buff_desc,\n                                  void
      *inputbuffer, void *outputbuffer)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:240,1
    - Dst: gsicc_link_t*::procs::is_color
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:246,1
    - Dst: gsicc_mcm_end_monitor
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:256,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:267,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:273,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:279,1
    - Dst: gsicc_link_t*::orig_procs::map_color
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:285,1
    - Dst: gsicc_link_t*::orig_procs::map_color
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:288,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:294,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:300,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 6
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes_in
    - num_bytes_out
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 306
    functionName: gsicc_mcm_transform_general
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 3
    functionsReached:
    - gsicc_mcm_end_monitor
    - gx_color_value_to_byte
    - memcpy
    - gsicc_link_t*::procs::is_color
    - dev_proc
    - gsicc_link_t*::orig_procs::map_color
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_transform_general(gx_device *dev, gsicc_link_t *icclink,\n
      \                            void *inputcolor, void *outputcolor,\n                             int
      num_bytes_in, int num_bytes_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_mcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 315
    functionName: gsicc_mcm_transform_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gsicc_mcm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_mcm_transform_color(gx_device *dev, gsicc_link_t *icclink,
      void *inputcolor,\n                           void *outputcolor, int num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:321,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:322,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:323,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:328,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:329,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:330,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 2
    argNames:
    - inputcolor
    - num_bytes
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 334
    functionName: gsicc_mcm_monitor_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: bool
    signature: bool gsicc_mcm_monitor_rgb(void *inputcolor, int num_bytes)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:352,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:353,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:354,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:359,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:360,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 11
    argCount: 2
    argNames:
    - inputcolor
    - num_bytes
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 366
    functionName: gsicc_mcm_monitor_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: bool
    signature: bool gsicc_mcm_monitor_cmyk(void *inputcolor, int num_bytes)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:372,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:373,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:377,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - inputcolor
    - num_bytes
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 381
    functionName: gsicc_mcm_monitor_lab
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - abs
    linkageType: ''
    returnType: bool
    signature: bool gsicc_mcm_monitor_lab(void *inputcolor, int num_bytes)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - link
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 407
    functionName: gsicc_mcm_set_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_mcm_set_link(gsicc_link_t* link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:420,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:427,1
    - Dst: gs_pdf14_device_color_mon_set
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:428,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:432,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:442,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:445,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - cache
    - dev
    argTypes:
    - gsicc_link_cache_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 447
    functionName: gsicc_mcm_end_monitor
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 1
    functionsReached:
    - gx_monitor_leave
    - gx_monitor_enter
    - gs_pdf14_device_color_mon_set
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gsicc_mcm_end_monitor(gsicc_link_cache_t *cache, gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:461,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:468,1
    - Dst: gs_pdf14_device_color_mon_set
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:469,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:473,1
    - Dst: gsicc_mcm_set_link
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:478,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:480,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_monitorcm.c:484,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - cache
    - dev
    argTypes:
    - gsicc_link_cache_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 486
    functionName: gsicc_mcm_begin_monitor
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_monitorcm.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    - gx_monitor_enter
    - gs_pdf14_device_color_mon_set
    - gsicc_mcm_set_link
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gsicc_mcm_begin_monitor(gsicc_link_cache_t *cache, gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_custom_color_params_t*::client_procs::install_Separation
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: custom_color_callback_install_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - client_custom_color_params_t*::client_procs::install_Separation
    linkageType: ''
    returnType: bool
    signature: bool custom_color_callback_install_Separation(gs_color_space * pcs,
      gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_custom_color_params_t*::client_procs::install_DeviceN
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:74,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 75
    functionName: custom_color_callback_install_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - client_custom_color_params_t*::client_procs::install_DeviceN
    linkageType: ''
    returnType: bool
    signature: bool custom_color_callback_install_DeviceN(gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:90,1
    - Dst: client_custom_color_params_t*::client_procs::remap_Separation
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: gx_remap_concrete_custom_color_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - return_error
    - client_custom_color_params_t*::client_procs::remap_Separation
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_custom_color_Separation(const frac * pconc,\n
      \       const gs_color_space * pcs, gx_device_color * pdc,\n                const
      gs_gstate * pgs, gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:110,1
    - Dst: client_custom_color_params_t*::client_procs::remap_DeviceN
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pconc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - frac*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 115
    functionName: gx_remap_concrete_custom_color_DeviceN
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - return_error
    - client_custom_color_params_t*::client_procs::remap_DeviceN
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_custom_color_DeviceN(const frac * pconc,\n        const
      gs_color_space * pcs, gx_device_color * pdc,\n        const gs_gstate * pgs,
      gx_device * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:145,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - plist
    argTypes:
    - gs_gstate*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 149
    functionName: custom_color_callback_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - param_string_from_transient_string
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int custom_color_callback_get_params(gs_gstate * pgs, gs_param_list
      * plist)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:165,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsnamecl.c:204,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - pgs
    - plist
    argTypes:
    - gs_gstate*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 211
    functionName: custom_color_callback_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int custom_color_callback_put_params(gs_gstate * pgs, gs_param_list
      * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pto
    - ','
    - pfrom
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: gs_ht_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_ht_assign(pto, pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pto
    - ','
    - pfrom
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: gs_ht_init_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gshtx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_ht_init_ptr(pto, pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - M
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: CHUNK_ASSERT
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNK_ASSERT(M,A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:70,1
    - Dst: crash
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - m
    - v
    - s
    argTypes:
    - gs_memory_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 73
    functionName: gs_chunk_assert
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - crash
    - dmlprintf1
    linkageType: ''
    returnType: void
    signature: void gs_chunk_assert(gs_memory_t *m, int v, const char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - M
    - ','
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: CHUNK_ASSERT
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHUNK_ASSERT(M,A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: SIZEOF_ROUND_ALIGN
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SIZEOF_ROUND_ALIGN(a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:195,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:200,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - wrapped
    - target
    argTypes:
    - gs_memory_t**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 228
    functionName: gs_memory_chunk_wrap
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes_immovable
    - return_error
    - dmlprintf1
    linkageType: ''
    returnType: int
    signature: "int gs_memory_chunk_wrap(gs_memory_t **wrapped,      /* chunk allocator
      init */\n                    gs_memory_t  *target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_free_all
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: gs_memory_chunk_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 5
    functionsReached:
    - gs_memory_free_all
    linkageType: ''
    returnType: void
    signature: void gs_memory_chunk_release(gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: gs_memory_chunk_unwrap
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - gs_memory_chunk_release
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t * /* Always succeeds */

      gs_memory_chunk_unwrap(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 263
    functionName: gs_memory_chunk_target
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_memory_chunk_target(const gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - cmem
    argTypes:
    - gs_memory_chunk_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 289
    functionName: chunk_mem_node_free_all_slabs
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void chunk_mem_node_free_all_slabs(gs_memory_chunk_t *cmem)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: chunk_mem_node_free_all_slabs
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:298,1
    - Dst: gs_memory_free_all
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:302,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:310,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - mem
    - free_mask
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 311
    functionName: chunk_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_mem_node_free_all_slabs
    - gs_memory_free_all
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void chunk_free_all(gs_memory_t * mem, uint free_mask, client_name_t
      cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:326,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:331,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:333,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:335,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:337,1
    - Dst: CHUNK_ASSERT
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:339,1
    - Dst: dump_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - mem
    - node
    - depth
    - limit
    - total
    argTypes:
    - gs_memory_t*
    - chunk_free_node_t*
    - int
    - void**
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 342
    functionName: dump_free_loc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 1
    functionsReached:
    - CHUNK_ASSERT
    - dmlprintf3
    - dump_free_loc
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int dump_free_loc(gs_memory_t *mem, chunk_free_node_t *node, int depth,
      void **limit, uint *total)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dump_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:354,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:358,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:360,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:362,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:364,1
    - Dst: CHUNK_ASSERT
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:366,1
    - Dst: dump_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:369,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 5
    argNames:
    - mem
    - node
    - depth
    - size
    - addr
    argTypes:
    - gs_memory_t*
    - chunk_free_node_t*
    - int
    - uint*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 370
    functionName: dump_free_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 1
    functionsReached:
    - dump_free_size
    - CHUNK_ASSERT
    - dmlprintf3
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int dump_free_size(gs_memory_t *mem, chunk_free_node_t *node, int depth,
      uint *size, void **addr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:383,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:387,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:389,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:392,1
    - Dst: dump_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:394,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:396,1
    - Dst: dump_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:398,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:401,1
    - Dst: crash
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:402,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:406,1
    - Dst: crash
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 409
    functionName: gs_memory_chunk_dump_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 1
    functionsReached:
    - crash
    - dump_free_loc
    - dmlprintf1
    - dump_free_size
    - dmlprintf2
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void gs_memory_chunk_dump_memory(const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:416,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:416,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 419
    functionName: round_up_to_align
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - SIZEOF_ROUND_ALIGN
    linkageType: ''
    returnType: uint
    signature: uint round_up_to_align(uint size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - chunk_free_node_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: CMP_SIZE
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int CMP_SIZE(const chunk_free_node_t * a, const chunk_free_node_t *
      b)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:441,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:447,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:463,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:483,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:495,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:511,1
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:531,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 2
    argNames:
    - cmem
    - node
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 539
    functionName: insert_free_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - CMP_SIZE
    linkageType: ''
    returnType: void
    signature: void insert_free_size(gs_memory_chunk_t *cmem, chunk_free_node_t *node)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 78
    argCount: 2
    argNames:
    - cmem
    - node
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 650
    functionName: insert_free_loc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_free_loc(gs_memory_chunk_t *cmem, chunk_free_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: insert_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:655,1
    - Dst: insert_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cmem
    - node
    - size
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 652
    functionDepth: 2
    functionLinenumber: 652
    functionLinenumberEnd: 657
    functionName: insert_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - insert_free_loc
    - insert_free_size
    linkageType: ''
    returnType: void
    signature: void insert_free(gs_memory_chunk_t *cmem, chunk_free_node_t *node,
      uint size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cmem
    - node
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 688
    functionName: remove_free_loc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_free_loc(gs_memory_chunk_t *cmem, chunk_free_node_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CMP_SIZE
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:696,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - cmem
    - node
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 719
    functionName: remove_free_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - CMP_SIZE
    linkageType: ''
    returnType: void
    signature: void remove_free_size(gs_memory_chunk_t *cmem, chunk_free_node_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - cmem
    - ap
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 721
    functionDepth: 0
    functionLinenumber: 721
    functionLinenumberEnd: 742
    functionName: remove_free_size_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void remove_free_size_fast(gs_memory_chunk_t *cmem, chunk_free_node_t
      **ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: remove_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:746,1
    - Dst: remove_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmem
    - node
    argTypes:
    - gs_memory_chunk_t*
    - chunk_free_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: remove_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - remove_free_loc
    - remove_free_size
    linkageType: ''
    returnType: void
    signature: void remove_free(gs_memory_chunk_t *cmem, chunk_free_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 751
    functionDepth: 0
    functionLinenumber: 751
    functionLinenumberEnd: 752
    functionName: SINGLE_OBJECT_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SINGLE_OBJECT_CHUNK(size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 754
    functionName: SINGLE_OBJECT_CHUNK
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SINGLE_OBJECT_CHUNK(size)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: round_up_to_align
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:766,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:766,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:769,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:770,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:781,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:784,1
    - Dst: SINGLE_OBJECT_CHUNK
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:790,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:791,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:908,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:911,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:917,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:918,1
    - Dst: insert_free
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:919,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:919,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:920,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:925,1
    - Dst: remove_free_size_fast
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:928,1
    - Dst: remove_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:929,1
    - Dst: insert_free
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:930,1
    - Dst: remove_free_size_fast
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:933,1
    - Dst: remove_free_loc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:934,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:941,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:941,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:941,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:942,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:942,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:953,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:954,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:955,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:958,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:961,1
    - Dst: gs_memory_chunk_dump_memory
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:966,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:969,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 141
    argCount: 4
    argNames:
    - mem
    - size
    - type
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 970
    functionName: chunk_obj_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - round_up_to_align
    - gs_debug_c
    - dmlprintf4
    - SINGLE_OBJECT_CHUNK
    - gs_alloc_bytes_immovable
    - client_name_string
    - dmlprintf3
    - remove_free_loc
    - SIZEOF_ROUND_ALIGN
    - memset
    - remove_free_size_fast
    - dmlprintf5
    - insert_free
    - gs_memory_chunk_dump_memory
    linkageType: ''
    returnType: byte
    signature: 'byte *

      chunk_obj_alloc(gs_memory_t *mem, uint size, gs_memory_type_ptr_t type, client_name_t
      cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 4
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: chunk_alloc_bytes_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: byte
    signature: 'byte *

      chunk_alloc_bytes_immovable(gs_memory_t * mem, size_t size, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 978
    functionDepth: 4
    functionLinenumber: 978
    functionLinenumberEnd: 982
    functionName: chunk_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: byte
    signature: 'byte *

      chunk_alloc_bytes(gs_memory_t * mem, size_t size, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 989
    functionName: chunk_alloc_struct_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: void
    signature: "void *\nchunk_alloc_struct_immovable(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                             client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 991
    functionDepth: 4
    functionLinenumber: 991
    functionLinenumberEnd: 996
    functionName: chunk_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: void
    signature: "void *\nchunk_alloc_struct(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                   client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1003
      start: 998
    functionDepth: 5
    functionLinenumber: 998
    functionLinenumberEnd: 1003
    functionName: chunk_alloc_byte_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: "byte *\nchunk_alloc_byte_array_immovable(gs_memory_t * mem, size_t
      num_elements,\n                                 size_t elt_size, client_name_t
      cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1005
    functionDepth: 5
    functionLinenumber: 1005
    functionLinenumberEnd: 1010
    functionName: chunk_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: "byte *\nchunk_alloc_byte_array(gs_memory_t * mem, size_t num_elements,
      size_t elt_size,\n                   client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1016,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1012
    functionDepth: 4
    functionLinenumber: 1012
    functionLinenumberEnd: 1017
    functionName: chunk_alloc_struct_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: void
    signature: "void *\nchunk_alloc_struct_array_immovable(gs_memory_t * mem, size_t
      num_elements,\n                                   gs_memory_type_ptr_t pstype,
      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1019
    functionDepth: 4
    functionLinenumber: 1019
    functionLinenumberEnd: 1024
    functionName: chunk_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_obj_alloc
    linkageType: ''
    returnType: void
    signature: "void *\nchunk_alloc_struct_array(gs_memory_t * mem, size_t num_elements,\n
      \                        gs_memory_type_ptr_t pstype, client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1033,1
    - Dst: chunk_obj_alloc
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1043,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1045,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1045,1
    - Dst: chunk_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - mem
    - ptr
    - new_num_elements
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1026
    functionDepth: 4
    functionLinenumber: 1026
    functionLinenumberEnd: 1053
    functionName: chunk_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - SIZEOF_ROUND_ALIGN
    - memcpy
    - chunk_free_object
    - chunk_obj_alloc
    - min
    linkageType: ''
    returnType: void
    signature: 'void *

      chunk_resize_object(gs_memory_t * mem, void *ptr, size_t new_num_elements, client_name_t
      cname)'
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: struct_proc_finalize
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1061,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1069,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1083,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1086,1
    - Dst: finalize
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1094,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1098,1
    - Dst: client_name_string
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1099,1
    - Dst: SINGLE_OBJECT_CHUNK
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1101,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1102,1
    - Dst: gs_memory_chunk_dump_memory
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1104,1
    - Dst: remove_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1241,1
    - Dst: remove_free
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1249,1
    - Dst: insert_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1253,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1255,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1255,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1255,1
    - Dst: remove_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1267,1
    - Dst: insert_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1271,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1273,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1273,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1273,1
    - Dst: insert_free_size
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1298,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1300,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1300,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1300,1
    - Dst: gs_memory_chunk_dump_memory
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1304,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 182
    argCount: 3
    argNames:
    - mem
    - ptr
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1306
    functionName: chunk_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 1
    functionsReached:
    - dmlprintf4
    - SINGLE_OBJECT_CHUNK
    - struct_proc_finalize
    - if_debug3m
    - client_name_string
    - remove_free_size
    - SIZEOF_ROUND_ALIGN
    - dmlprintf6
    - remove_free
    - memset
    - finalize
    - insert_free_size
    - gs_memory_chunk_dump_memory
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void chunk_free_object(gs_memory_t *mem, void *ptr, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1308
    functionDepth: 5
    functionLinenumber: 1308
    functionLinenumberEnd: 1313
    functionName: chunk_alloc_string_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      chunk_alloc_string_immovable(gs_memory_t * mem, size_t nbytes, client_name_t
      cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1315
    functionDepth: 5
    functionLinenumber: 1315
    functionLinenumberEnd: 1320
    functionName: chunk_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      chunk_alloc_string(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_resize_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - data
    - old_num
    - new_num
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1328
      start: 1322
    functionDepth: 5
    functionLinenumber: 1322
    functionLinenumberEnd: 1328
    functionName: chunk_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_resize_object
    linkageType: ''
    returnType: byte
    signature: "byte *\nchunk_resize_string(gs_memory_t * mem, byte * data, size_t
      old_num, size_t new_num,\n                    client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: chunk_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1330
    functionDepth: 4
    functionLinenumber: 1330
    functionLinenumberEnd: 1335
    functionName: chunk_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_free_object
    linkageType: ''
    returnType: void
    signature: "void chunk_free_string(gs_memory_t * mem, byte * data, size_t nbytes,\n
      \                 client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_memory_t*
    - gs_memory_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1346
    functionName: chunk_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_status(gs_memory_t * mem, gs_memory_status_t * pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1352
      start: 1348
    functionDepth: 0
    functionLinenumber: 1348
    functionLinenumberEnd: 1352
    functionName: chunk_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      chunk_stable(gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem
    - enable
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1354
    functionDepth: 0
    functionLinenumber: 1354
    functionLinenumberEnd: 1357
    functionName: chunk_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_enable_free(gs_memory_t * mem, bool enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - ptr
    - type
    argTypes:
    - gs_memory_t*
    - void*
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1359
    functionDepth: 1
    functionLinenumber: 1359
    functionLinenumberEnd: 1366
    functionName: chunk_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - SIZEOF_ROUND_ALIGN
    linkageType: ''
    returnType: void
    signature: void chunk_set_object_type(gs_memory_t *mem, void *ptr, gs_memory_type_ptr_t
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: chunk_obj_node_t*::type::finalize
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1382,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1382,1
    - Dst: chunk_free_object
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1395,1
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1395,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - mem
    - defer
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1398
      start: 1368
    functionDepth: 4
    functionLinenumber: 1368
    functionLinenumberEnd: 1398
    functionName: chunk_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - chunk_free_object
    - SIZEOF_ROUND_ALIGN
    - chunk_obj_node_t*::type::finalize
    linkageType: ''
    returnType: void
    signature: void chunk_defer_frees(gs_memory_t *mem, int defer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1403
      start: 1400
    functionDepth: 0
    functionLinenumber: 1400
    functionLinenumberEnd: 1403
    functionName: chunk_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_consolidate_free(gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1410,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1416
    functionName: chunk_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - SIZEOF_ROUND_ALIGN
    linkageType: ''
    returnType: size_t
    signature: size_t chunk_object_size(gs_memory_t * mem, const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIZEOF_ROUND_ALIGN
      Src: /src/libspectre/ghostscript/base/gsmchunk.c:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1423
    functionName: chunk_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached:
    - SIZEOF_ROUND_ALIGN
    linkageType: ''
    returnType: gs_memory_type_ptr_t
    signature: gs_memory_type_ptr_t chunk_object_type(const gs_memory_t * mem, const
      void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - rp
    - ptype
    - up
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t**
    - gs_ptr_type_t
    - void**
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 0
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: chunk_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int chunk_register_root(gs_memory_t * mem, gs_gc_root_t ** rp, gs_ptr_type_t
      ptype,\n                 void **up, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - mem
    - rp
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1432
    functionDepth: 0
    functionLinenumber: 1432
    functionLinenumberEnd: 1435
    functionName: chunk_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmchunk.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void chunk_unregister_root(gs_memory_t * mem, gs_gc_root_t * rp, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cmd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: popen
    functionSourceFile: /src/libspectre/ghostscript/base/pipe_.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: popen(cmd, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: pclose
    functionSourceFile: /src/libspectre/ghostscript/base/pipe_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pclose(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: gp_semaphore_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_semaphore_sizeof(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CreateSemaphoreExW
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:69,1
    - Dst: CreateSemaphore
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:71,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: gp_semaphore_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached:
    - gs_note_error
    - CreateSemaphoreExW
    - CreateSemaphore
    linkageType: ''
    returnType: int
    signature: "int gp_semaphore_open(\n                  gp_semaphore * sema\t/*
      create semaphore here */\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: gp_semaphore_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: "int gp_semaphore_close(\n                   gp_semaphore * sema\t/*
      semaphore to affect */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ReleaseSemaphore
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: gp_semaphore_signal
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - ReleaseSemaphore
    linkageType: ''
    returnType: int
    signature: "int gp_semaphore_signal(\n                    gp_semaphore * sema\t/*
      semaphore to affect */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 132
    functionName: gp_monitor_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_monitor_sizeof(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSectionEx
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:143,1
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: gp_monitor_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached:
    - InitializeCriticalSectionEx
    - InitializeCriticalSection
    linkageType: ''
    returnType: int
    signature: "int gp_monitor_open(\n                gp_monitor * mon\t/* create
      monitor here */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DeleteCriticalSection
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: gp_monitor_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 1
    functionsReached:
    - DeleteCriticalSection
    linkageType: ''
    returnType: int
    signature: "int gp_monitor_close(\n                 gp_monitor * mon\t/* monitor
      to affect */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EnterCriticalSection
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    functionName: gp_monitor_enter
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - EnterCriticalSection
    linkageType: ''
    returnType: int
    signature: "int gp_monitor_enter(\n                 gp_monitor * mon\t/* monitor
      to affect */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LeaveCriticalSection
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: gp_monitor_leave
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - LeaveCriticalSection
    linkageType: ''
    returnType: int
    signature: "int gp_monitor_leave(\n                 gp_monitor * mon\t/* monitor
      to affect */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:201,1
    - Dst: _endthread
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 204
    functionName: gp_thread_begin_wrapper
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - _endthread
    - free
    linkageType: ''
    returnType: void
    signature: "void gp_thread_begin_wrapper(\n                        void *thread_data\t/*
      gp_thread_creation_closure passed as magic data */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:218,1
    - Dst: BEGIN_THREAD
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:233,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:235,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - function
    - data
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 239
    functionName: gp_create_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - malloc
    - BEGIN_THREAD
    - free
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gp_create_thread(\n                 gp_thread_creation_callback_t
      function,\t/* function to start */\n                 void *data\t/* magic data
      to pass to thread fn */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:248,1
    - Dst: _endthreadex
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - thread_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: gp_thread_start_wrapper
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 0
    functionsReached:
    - _endthreadex
    - free
    linkageType: ''
    returnType: unsigned
    signature: unsigned gp_thread_start_wrapper(void *thread_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_create_thread
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:259,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:265,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:268,1
    - Dst: _beginthreadex
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:271,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - function
    - data
    - thread
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    - gp_thread_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 254
    functionDepth: 5
    functionLinenumber: 254
    functionLinenumberEnd: 282
    functionName: gp_thread_start
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 3
    functionsReached:
    - gp_create_thread
    - _beginthreadex
    - malloc
    - free
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gp_thread_start(gp_thread_creation_callback_t function,\n                    void
      *data, gp_thread_id *thread)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WaitForSingleObjectEx
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:290,1
    - Dst: WaitForSingleObject
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:292,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_wsync.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - thread
    argTypes:
    - gp_thread_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: gp_thread_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wsync.c
    functionUses: 3
    functionsReached:
    - CloseHandle
    - WaitForSingleObject
    - WaitForSingleObjectEx
    linkageType: ''
    returnType: void
    signature: void gp_thread_finish(gp_thread_id thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: public_st_client_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsccolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_client_color()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: irender_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxiclass.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: irender_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: iclass_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gxiclass.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iclass_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: hypot
    functionSourceFile: /src/libspectre/ghostscript/base/math_.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: hypot(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: sqrt
    functionSourceFile: /src/libspectre/ghostscript/base/math_.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sqrt(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: isnan
    functionSourceFile: /src/libspectre/ghostscript/base/math_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isnan(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: isfinite
    functionSourceFile: /src/libspectre/ghostscript/base/math_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isfinite(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: isinf
    functionSourceFile: /src/libspectre/ghostscript/base/math_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isinf(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rect
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: cmd_set_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmd_set_rect(rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:40,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:40,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:41,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - prect
    argTypes:
    - gx_cmd_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 42
    functionName: cmd_size_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_sizew
    linkageType: ''
    returnType: int
    signature: int cmd_size_rect(register const gx_cmd_rect * prect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:46,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:47,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:48,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - prect
    - dp
    argTypes:
    - gx_cmd_rect*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 51
    functionName: cmd_put_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_putw
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_rect(const gx_cmd_rect * prect, byte * dp)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmd_set_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:62,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:64,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:65,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:69,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:70,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:75,1
    - Dst: cmd_put_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 8
    argNames:
    - cldev
    - pcls
    - op
    - x
    - y
    - width
    - height
    - extended_command
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    - int
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 2
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: cmd_write_rect_hl_cmd
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - if_debug5m
    - set_cmd_put_op
    - cmd_put_rect
    - cmd_set_rect
    - cmd_size_rect
    linkageType: ''
    returnType: int
    signature: "int cmd_write_rect_hl_cmd(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                      int op, int x, int y, int width, int height,\n
      \                     bool extended_command)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmd_set_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:101,1
    - Dst: check_range_w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:102,1
    - Dst: check_range_xy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:103,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:108,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:112,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:127,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:130,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:133,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:136,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:149,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:149,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:151,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:156,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:158,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:160,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:163,1
    - Dst: cmd_put_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:165,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 7
    argNames:
    - cldev
    - pcls
    - op
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 166
    functionName: cmd_write_rect_cmd
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - if_debug5m
    - set_cmd_put_op
    - cmd_sizew
    - if_debug3m
    - cmd_set_rect
    - cmd_size_rect
    - cmd_put_rect
    - if_debug4m
    - check_range_xy
    - check_range_w
    linkageType: ''
    returnType: int
    signature: "int cmd_write_rect_cmd(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                   int op, int x, int y, int width, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rmin
    - ','
    - rmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: check_range_xy
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_range_xy(rmin, rmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rmin
    - ','
    - rmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: check_range_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_range_w(rmin, rmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rmin
    - ','
    - rmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: check_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_ranges(rmin, rmax)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:127,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:130,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:133,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:136,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: if
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 10
    functionsReached:
    - if_debug3m
    - set_cmd_put_op
    - if_debug4m
    linkageType: ''
    returnType: else
    signature: else if (check_ranges(rmin, rmax))
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:178,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:184,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:185,1
    - Dst: cmd_set_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:189,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:191,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:192,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:193,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:194,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:195,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - cldev
    - op
    argTypes:
    - gx_device_clist_writer*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 197
    functionName: cmd_write_page_rect_cmd
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_putw
    - set_cmd_put_all_op
    - cmd_set_rect
    - cmd_sizew
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int cmd_write_page_rect_cmd(gx_device_clist_writer * cldev, int op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_put_frac31
      Src: /src/libspectre/ghostscript/base/gxclrect.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - cldev
    - c
    - dp
    argTypes:
    - gx_device_clist_writer*
    - frac31*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: cmd_put_frac31_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_put_frac31
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cmd_put_frac31_color(gx_device_clist_writer * cldev, const frac31 *c, byte *dp)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmd_size_frac31
      Src: /src/libspectre/ghostscript/base/gxclrect.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - cldev
    - c
    argTypes:
    - gx_device_clist_writer*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: cmd_size_frac31_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_size_frac31
    linkageType: ''
    returnType: int
    signature: int cmd_size_frac31_color(gx_device_clist_writer * cldev, const frac31
      *c)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:235,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:235,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:236,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:236,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:237,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:237,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:238,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:238,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:239,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:242,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:242,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:244,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:244,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:245,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:245,1
    - Dst: cmd_size_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:248,1
    - Dst: cmd_size_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:252,1
    - Dst: cmd_size_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:256,1
    - Dst: cmd_size_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:260,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:262,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:264,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:268,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:269,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:270,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:271,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:272,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:273,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:274,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:275,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:276,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:278,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:279,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:281,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxclrect.c:284,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:289,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:290,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:291,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:292,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:293,1
    - Dst: cmd_put_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:295,1
    - Dst: cmd_put_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:297,1
    - Dst: cmd_put_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:299,1
    - Dst: cmd_put_frac31_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:301,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 13
    argNames:
    - cldev
    - pcls
    - op
    - left
    - right
    - ybot
    - ytop
    - options
    - fa
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - int
    - gs_fill_attributes*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 304
    functionName: cmd_write_trapezoid_cmd
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - set_cmd_put_op
    - cmd_putw
    - if_debug6m
    - cmd_sizew
    - cmd_size_frac31_color
    - cmd_put_frac31_color
    linkageType: ''
    returnType: int
    signature: "int cmd_write_trapezoid_cmd(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                    int op,  const gs_fixed_edge *left, const gs_fixed_edge
      *right,\n                    fixed ybot, fixed ytop, int options,\n                    const
      gs_fill_attributes *fa,\n                    const frac31 *c0, const frac31
      *c1,\n                    const frac31 *c2, const frac31 *c3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclrect.c:317,1
    - Dst: clist_finish_page
      Src: /src/libspectre/ghostscript/base/gxclrect.c:319,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:324,1
    - Dst: cmd_write_page_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdcolor
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 308
    functionDepth: 6
    functionLinenumber: 308
    functionLinenumberEnd: 328
    functionName: clist_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_write_page_rect_cmd
    - cmd_put_drawing_color
    - clist_close_writer_and_init_reader
    - clist_finish_page
    linkageType: ''
    returnType: int
    signature: int clist_fillpage(gx_device * dev, gs_gstate *pgs, gx_drawing_color
      *pdcolor)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: crop_fill
      Src: /src/libspectre/ghostscript/base/gxclrect.c:340,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:354,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:356,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:357,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:359,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:361,1
    - Dst: cmd_put_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:363,1
    - Dst: cmd_write_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - dev
    - rx
    - ry
    - rwidth
    - rheight
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 375
    functionName: clist_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - crop_fill
    - RECT_ENUM_INIT
    - cmd_write_rect_cmd
    - cmd_disable_lop
    - RECT_STEP_INIT
    - gx_color_index2usage
    - clist_update_trans_bbox
    - cmd_put_color
    linkageType: ''
    returnType: int
    signature: "int clist_fill_rectangle(gx_device * dev, int rx, int ry, int rwidth,
      int rheight,\n                     gx_color_index color)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmd_drawing_color_usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:388,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:390,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:391,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:392,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:393,1
    - Dst: crop_fill
      Src: /src/libspectre/ghostscript/base/gxclrect.c:395,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:409,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:411,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:413,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:415,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:416,1
    - Dst: cmd_write_rect_hl_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:419,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 427
    functionName: clist_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - crop_fill
    - cmd_write_rect_hl_cmd
    - RECT_ENUM_INIT
    - cmd_drawing_color_usage
    - fixed2int
    - cmd_disable_lop
    - cmd_put_drawing_color
    - RECT_STEP_INIT
    - clist_update_trans_bbox
    linkageType: ''
    returnType: int
    signature: "int clist_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:447,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:447,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:447,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:447,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:448,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:448,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:448,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:448,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:449,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:449,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:449,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:449,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:450,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:450,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:450,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:450,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:452,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:452,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:452,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:452,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:453,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:453,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:453,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:453,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:454,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:454,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:454,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:454,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:455,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:455,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:455,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:455,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:463,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:464,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:465,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:465,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:466,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:466,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:468,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:468,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:469,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclrect.c:469,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclrect.c:470,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxclrect.c:471,1
    - Dst: crop_fill_y
      Src: /src/libspectre/ghostscript/base/gxclrect.c:474,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:488,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:490,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:492,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:494,1
    - Dst: gx_default_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gxclrect.c:500,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:502,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclrect.c:506,1
    - Dst: cmd_write_trapezoid_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:512,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 13
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - options
    - pdcolor
    - lop
    - fa
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - int
    - gx_drawing_color*
    - gs_logical_operation_t
    - gs_fill_attributes*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 520
    functionName: clist_write_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - cmd_update_lop
    - RECT_ENUM_INIT
    - max
    - fixed2int
    - cmd_put_drawing_color
    - crop_fill_y
    - gx_default_fill_trapezoid
    - RECT_STEP_INIT
    - cmd_write_trapezoid_cmd
    - clist_update_trans_bbox
    - gx_color_usage_all
    - min
    - fixed2int_ceiling
    linkageType: ''
    returnType: int
    signature: "int clist_write_fill_trapezoid(gx_device * dev,\n    const gs_fixed_edge
      *left, const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, int options,\n
      \   const gx_drawing_color *pdcolor, gs_logical_operation_t lop,\n    const
      gs_fill_attributes *fa,\n    const frac31 *c0, const frac31 *c1,\n    const
      frac31 *c2, const frac31 *c3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_write_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gxclrect.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 522
    functionDepth: 4
    functionLinenumber: 522
    functionLinenumberEnd: 530
    functionName: clist_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - clist_write_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int clist_fill_trapezoid(gx_device * dev,\n    const gs_fixed_edge
      *left, const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, bool swap_axes,\n
      \   const gx_drawing_color *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_write_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gxclrect.c:546,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 532
    functionDepth: 4
    functionLinenumber: 532
    functionLinenumberEnd: 559
    functionName: clist_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - clist_write_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int clist_fill_linear_color_trapezoid(gx_device * dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: clist_write_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gxclrect.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 588
    functionName: clist_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - clist_write_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int clist_fill_linear_color_triangle(gx_device * dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2,\n        const frac31 *c0, const frac31 *c1, const frac31
      *c2)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrect.c:606,1
    - Dst: gx_device_clist_common*::orig_spec_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:628,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclrect.c:629,1
    - Dst: pattern_accum_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:630,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:631,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 593
    functionDepth: 2
    functionLinenumber: 593
    functionLinenumberEnd: 632
    functionName: clist_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    - gx_device_clist_common*::orig_spec_op
    - dev_proc
    - pattern_accum_dev_spec_op
    linkageType: ''
    returnType: int
    signature: int clist_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data,
      int size)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cmd_drawing_color_usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:646,1
    - Dst: crop_fill
      Src: /src/libspectre/ghostscript/base/gxclrect.c:648,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:662,1
    - Dst: cmd_drawing_color_usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:664,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:665,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:669,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:671,1
    - Dst: cls_has_tile_id
      Src: /src/libspectre/ghostscript/base/gxclrect.c:675,1
    - Dst: clist_change_tile
      Src: /src/libspectre/ghostscript/base/gxclrect.c:677,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrect.c:681,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:686,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:688,1
    - Dst: cmd_set_tile_phase
      Src: /src/libspectre/ghostscript/base/gxclrect.c:693,1
    - Dst: cmd_write_rect_hl_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:697,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 10
    argNames:
    - dev
    - tile
    - rx
    - ry
    - rwidth
    - rheight
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 635
    functionDepth: 5
    functionLinenumber: 635
    functionLinenumberEnd: 706
    functionName: clist_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - crop_fill
    - cls_has_tile_id
    - return_error
    - RECT_ENUM_INIT
    - cmd_write_rect_hl_cmd
    - cmd_drawing_color_usage
    - cmd_disable_lop
    - cmd_put_drawing_color
    - RECT_STEP_INIT
    - clist_update_trans_bbox
    - cmd_set_tile_phase
    - clist_change_tile
    linkageType: ''
    returnType: int
    signature: "int clist_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tile,\n                           int rx, int ry, int rwidth, int rheight,\n
      \                          const gx_drawing_color *pdcolor0,\n                           const
      gx_drawing_color *pdcolor1, int px, int py)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclrect.c:721,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:722,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:723,1
    - Dst: crop_fill
      Src: /src/libspectre/ghostscript/base/gxclrect.c:727,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:741,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:743,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:747,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:749,1
    - Dst: cls_has_tile_id
      Src: /src/libspectre/ghostscript/base/gxclrect.c:752,1
    - Dst: clist_change_tile
      Src: /src/libspectre/ghostscript/base/gxclrect.c:754,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gxclrect.c:760,1
    - Dst: cmd_set_tile_colors
      Src: /src/libspectre/ghostscript/base/gxclrect.c:771,1
    - Dst: cmd_set_tile_phase
      Src: /src/libspectre/ghostscript/base/gxclrect.c:774,1
    - Dst: cmd_write_rect_cmd
      Src: /src/libspectre/ghostscript/base/gxclrect.c:777,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 10
    argNames:
    - dev
    - tile
    - rx
    - ry
    - rwidth
    - rheight
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 708
    functionDepth: 5
    functionLinenumber: 708
    functionLinenumberEnd: 785
    functionName: clist_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - crop_fill
    - cmd_set_tile_colors
    - cmd_set_tile_phase
    - cls_has_tile_id
    - RECT_ENUM_INIT
    - cmd_write_rect_cmd
    - cmd_disable_lop
    - gx_color_index2usage
    - RECT_STEP_INIT
    - clist_update_trans_bbox
    - gx_color_usage_all
    - clist_change_tile
    linkageType: ''
    returnType: int
    signature: "int clist_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tile,\n                           int rx, int ry, int rwidth, int rheight,\n
      \              gx_color_index color0, gx_color_index color1, int px, int py)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:798,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:799,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:802,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:815,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:817,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:824,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:826,1
    - Dst: cmd_disable_clip
      Src: /src/libspectre/ghostscript/base/gxclrect.c:828,1
    - Dst: cmd_set_color0
      Src: /src/libspectre/ghostscript/base/gxclrect.c:830,1
    - Dst: cmd_set_color1
      Src: /src/libspectre/ghostscript/base/gxclrect.c:832,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:848,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:848,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:849,1
    - Dst: clist_copy_mono
      Src: /src/libspectre/ghostscript/base/gxclrect.c:870,1
    - Dst: clist_copy_mono
      Src: /src/libspectre/ghostscript/base/gxclrect.c:874,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:885,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:888,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:890,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:891,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:892,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 787
    functionDepth: 3
    functionLinenumber: 787
    functionLinenumberEnd: 897
    functionName: clist_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_count_op
    - cmd_putw
    - clist_copy_mono
    - cmd_set_color0
    - RECT_ENUM_INIT
    - cmd_sizew
    - cmd_size_rect
    - cmd_disable_lop
    - cmd_put_bits
    - RECT_STEP_INIT
    - gx_color_index2usage
    - clist_update_trans_bbox
    - cmd_disable_clip
    - cmd_set_color1
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int clist_copy_mono(gx_device * dev,\n                const byte *
      data, int data_x, int raster, gx_bitmap_id id,\n                int rx, int
      ry, int rwidth, int rheight,\n                gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:917,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gxclrect.c:925,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:938,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:941,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:956,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:957,1
    - Dst: cmd_disable_clip
      Src: /src/libspectre/ghostscript/base/gxclrect.c:959,1
    - Dst: clist_copy_planes
      Src: /src/libspectre/ghostscript/base/gxclrect.c:975,1
    - Dst: clist_copy_planes
      Src: /src/libspectre/ghostscript/base/gxclrect.c:979,1
    - Dst: cmd_write_buffer
      Src: /src/libspectre/ghostscript/base/gxclrect.c:990,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:994,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclrect.c:994,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:996,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1007,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1010,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1011,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1012,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1013,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1020,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 64
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 900
    functionDepth: 3
    functionLinenumber: 900
    functionLinenumberEnd: 1039
    functionName: clist_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_count_op
    - cmd_putw
    - cmd_sizew
    - RECT_ENUM_INIT
    - cmd_write_buffer
    - cmd_size_rect
    - cmd_disable_lop
    - clist_copy_planes
    - dprintf
    - cmd_put_bits
    - RECT_STEP_INIT
    - clist_update_trans_bbox
    - cmd_disable_clip
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int clist_copy_planes(gx_device * dev,\n                  const byte
      * data, int data_x, int raster, gx_bitmap_id id,\n                  int rx,
      int ry, int rwidth, int rheight, int plane_height)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1053,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1056,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1070,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1072,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1079,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1082,1
    - Dst: cmd_disable_clip
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1084,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1091,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1106,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1107,1
    - Dst: clist_copy_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1125,1
    - Dst: clist_copy_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1129,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1139,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1142,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1143,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1144,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1149
    functionName: clist_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_count_op
    - set_cmd_put_op
    - RECT_ENUM_INIT
    - clist_copy_color
    - cmd_size_rect
    - cmd_disable_lop
    - cmd_put_bits
    - RECT_STEP_INIT
    - clist_update_trans_bbox
    - gx_color_usage_all
    - cmd_disable_clip
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int clist_copy_color(gx_device * dev,\n                 const byte
      * data, int data_x, int raster, gx_bitmap_id id,\n                 int rx, int
      ry, int rwidth, int rheight)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1164,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1172,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1174,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1188,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1190,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1197,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1199,1
    - Dst: cmd_disable_clip
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1201,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1207,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1216,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1224,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1235,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1236,1
    - Dst: clist_copy_alpha_hl_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1254,1
    - Dst: clist_copy_alpha_hl_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1258,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1269,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1272,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1274,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1275,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1280
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1280
    functionName: clist_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_count_op
    - set_cmd_put_op
    - clist_update_trans_bbox
    - RECT_ENUM_INIT
    - cmd_size_rect
    - clist_copy_alpha_hl_color
    - cmd_disable_lop
    - cmd_put_drawing_color
    - cmd_put_bits
    - RECT_STEP_INIT
    - return_error
    - gx_color_usage_all
    - cmd_disable_clip
    - ilog2
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int clist_copy_alpha_hl_color(gx_device * dev, const byte * data,
      int data_x,\n           int raster, gx_bitmap_id id, int rx, int ry, int rwidth,
      int rheight,\n                 const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1293,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1301,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1303,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1317,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1319,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1326,1
    - Dst: cmd_disable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1328,1
    - Dst: cmd_disable_clip
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1330,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1336,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1344,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1346,1
    - Dst: cmd_set_color1
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1353,1
    - Dst: cmd_size_rect
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1367,1
    - Dst: cmd_put_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1368,1
    - Dst: clist_copy_alpha
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1386,1
    - Dst: clist_copy_alpha
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1390,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1401,1
    - Dst: cmd_count_op
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1404,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1406,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1407,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1282
    functionDepth: 3
    functionLinenumber: 1282
    functionLinenumberEnd: 1412
    functionName: clist_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_count_op
    - set_cmd_put_op
    - clist_update_trans_bbox
    - RECT_ENUM_INIT
    - clist_copy_alpha
    - cmd_size_rect
    - cmd_disable_lop
    - cmd_put_bits
    - gx_color_index2usage
    - RECT_STEP_INIT
    - return_error
    - cmd_disable_clip
    - cmd_set_color1
    - ilog2
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int clist_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \          int raster, gx_bitmap_id id, int rx, int ry, int rwidth, int rheight,\n
      \                gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clist_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - rx
    - ry
    - rwidth
    - rheight
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1426
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1426
    functionName: clist_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 0
    functionsReached:
    - clist_strip_copy_rop2
    linkageType: ''
    returnType: int
    signature: "int clist_strip_copy_rop(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                     int rx, int ry, int rwidth,
      int rheight,\n                     int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1439,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1444,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1447,1
    - Dst: gx_color_index2usage
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1449,1
    - Dst: crop_fill
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1456,1
    - Dst: crop_copy
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1458,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1472,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1484,1
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1485,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1486,1
    - Dst: rop3_know_S_1
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1487,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1489,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1490,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1491,1
    - Dst: rop3_know_T_1
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1492,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1508,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1510,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1515,1
    - Dst: DOWN
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1532,1
    - Dst: UP
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1534,1
    - Dst: DOWN
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1534,1
    - Dst: DOWN
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1534,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1539,1
    - Dst: cls_has_tile_id
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1543,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1547,1
    - Dst: clist_change_bits
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1550,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1581,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1581,1
    - Dst: clist_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1629,1
    - Dst: cmd_set_tile_phase
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1643,1
    - Dst: cmd_set_tile_colors
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1653,1
    - Dst: cmd_set_tile_colors
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1654,1
    - Dst: cmd_set_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1661,1
    - Dst: cmd_enable_lop
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1663,1
    - Dst: clist_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1671,1
    - Dst: clist_copy_mono
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1674,1
    - Dst: clist_copy_planes
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1678,1
    - Dst: clist_copy_color
      Src: /src/libspectre/ghostscript/base/gxclrect.c:1682,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 123
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - rx
    - ry
    - rwidth
    - rheight
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1690
      start: 1428
    functionDepth: 5
    functionLinenumber: 1428
    functionLinenumberEnd: 1690
    functionName: clist_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 2
    functionsReached:
    - cmd_set_lop
    - rop3_know_T_0
    - clist_copy_color
    - clist_update_trans_bbox
    - cmd_set_tile_phase
    - rop3_know_T_1
    - gx_device_white
    - gs_next_ids
    - gx_device_black
    - cmd_set_tile_colors
    - rop3_uses_T
    - lop_rop
    - RECT_ENUM_INIT
    - DOWN
    - rop3_know_S_1
    - clist_copy_planes
    - clist_copy_mono
    - min
    - cmd_enable_lop
    - clist_change_bits
    - clist_fill_rectangle
    - rop3_know_S_0
    - clist_strip_copy_rop2
    - crop_fill
    - UP
    - crop_copy
    - cls_has_tile_id
    - gx_color_index2usage
    - RECT_STEP_INIT
    - gx_color_usage_all
    linkageType: ''
    returnType: int
    signature: "int clist_strip_copy_rop2(gx_device * dev,\n             const byte
      * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                     const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                     int rx, int ry, int rwidth,
      int rheight,\n                     int phase_x, int phase_y, gs_logical_operation_t
      lop,\n                     uint planar_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1530
    functionDepth: 0
    functionLinenumber: 1530
    functionLinenumberEnd: 1531
    functionName: DOWN
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOWN(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1531
    functionDepth: 0
    functionLinenumber: 1531
    functionLinenumberEnd: 1532
    functionName: UP
    functionSourceFile: /src/libspectre/ghostscript/base/gxclrect.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UP(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: gs_type42_metrics_options_wmode
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont42.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_type42_metrics_options_wmode(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: gs_type42_metrics_options_sbw_requested
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont42.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_type42_metrics_options_sbw_requested(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: gs_type42_metrics_options_bbox_requested
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont42.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_type42_metrics_options_bbox_requested(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: public_st_gs_font_type42
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont42.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_type42()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pfont
    - ','
    - pos
    - ','
    - length
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 147
    functionName: READ_SFNTS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont42.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READ_SFNTS(pfont, pos, length, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sample_value
    - ','
    - cc
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: decode_sample
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_sample(sample_value, cc, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - frac_value
    - ','
    - cc
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: decode_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_frac(frac_value, cc, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - frac_value
    - ','
    - frac_value_out
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    functionName: DECODE_FRAC_FRAC
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_FRAC_FRAC(frac_value, frac_value_out, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: gx_image_enum_do_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_image_enum_do_ptrs(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: private_st_gx_image_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gx_image_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - devc1
    - ','
    - devc2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: dev_color_eq
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_color_eq(devc1, devc2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - px
    - ','
    - ty
    - ','
    - textures
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_offset(px, ty, textures)
  - BBCount: 63
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:58,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:81,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:86,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:87,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:88,1
    - Dst: lop_know_S_1
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:89,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:94,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:99,1
    - Dst: lop_know_T_0
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:100,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:101,1
    - Dst: lop_know_T_1
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:102,1
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:106,1
    - Dst: gx_device_has_color
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:109,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:110,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:110,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:121,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:124,1
    - Dst: mem_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:139,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:151,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:154,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:159,1
    - Dst: rop_set_s_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:220,1
    - Dst: rop_set_t_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:221,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:222,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:229,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:230,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:235,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:240,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:242,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:243,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:246,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:249,1
    - Dst: rop_set_t_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:256,1
    - Dst: rop_set_s_colors
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:257,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:258,1
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:267,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:269,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:270,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:274,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:276,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:281,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:283,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:285,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:286,1
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:292,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:293,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:296,1
    - Dst: rop_set_t_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:300,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:301,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:308,1
    - Dst: rop_set_s_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:310,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:311,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:319,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:326,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:329,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:331,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:334,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:335,1
    - Dst: rop_set_s_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:340,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:341,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:344,1
    - Dst: rop_set_s_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:354,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:355,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:361,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:365,1
    - Dst: rop_set_t_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:370,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:373,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:374,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:379,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:381,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:386,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:388,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:390,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:391,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:394,1
    - Dst: rop_set_s_constant
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:404,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:405,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:412,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:416,1
    - Dst: rop_set_t_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:418,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:421,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:422,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:428,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:433,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:435,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:438,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:439,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:444,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:449,1
    - Dst: rop_set_s_colors
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:460,1
    - Dst: rop_set_s_colors
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:462,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:463,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:475,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:479,1
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:492,1
    - Dst: rop_set_s_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:494,1
    - Dst: rop_set_t_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:496,1
    - Dst: rop_set_t_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:498,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:502,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:503,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:508,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:510,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:512,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:518,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:519,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:521,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:522,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:524,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:527,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:528,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:531,1
    - Dst: rop_get_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:543,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:552,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:556,1
    - Dst: rop_set_s_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:560,1
    - Dst: rop_set_t_bitmap
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:561,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:564,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:568,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:573,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:574,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:576,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:579,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:580,1
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:585,1
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:590,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:633,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:638,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:656,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:658,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:663,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:665,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:674,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:681,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:683,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:698,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:702,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:710,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:712,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:717,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:719,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:727,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:733,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:735,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:755,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:759,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:777,1
    - Dst: cbit8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:779,1
    - Dst: rop_body_8
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:781,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:790,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:791,1
    - Dst: cbit24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:793,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:794,1
    - Dst: rop_body_24
      Src: /src/libspectre/ghostscript/base/gdevmr8n.c:796,1
    CyclomaticComplexity: 112
    EdgeCount: 112
    ICount: 349
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - dirty_lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 49
    functionDepth: 3
    functionLinenumber: 49
    functionLinenumberEnd: 809
    functionName: mem_gray8_rgb24_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - cbit8
    - scan_line_base
    - emprintf
    - rop_body_24
    - fit_fill
    - memcmp
    - gx_device_white
    - gx_device_black
    - lop_know_T_1
    - rop_set_s_bitmap_subbyte
    - rop_set_s_colors
    - rop3_uses_T
    - lop_rop
    - x_offset
    - lop_know_T_0
    - min
    - rop_set_s_constant
    - fit_copy
    - cbit24
    - get24
    - lop_know_S_0
    - rop_run
    - rop3_uses_S
    - rop_body_8
    - lop_know_S_1
    - rop_release_run_op
    - rop_set_t_constant
    - mem_default_strip_copy_rop
    - gx_device_has_color
    - rop_set_t_bitmap_subbyte
    - memcpy
    - rop_set_t_bitmap
    - rop_get_run_op
    - rop_set_s_bitmap
    linkageType: ''
    returnType: int
    signature: "int mem_gray8_rgb24_strip_copy_rop(gx_device * dev,\n             const
      byte * sdata, int sourcex, uint sraster, gx_bitmap_id id,\n                               const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                               int x, int y, int
      width, int height,\n                       int phase_x, int phase_y, gs_logical_operation_t
      dirty_lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: dbit
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbit(base, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - i
    - ','
    - colors
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: cbit8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbit8(base, i, colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_pixel
    - ','
    - t_pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: rop_body_8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_body_8(s_pixel, t_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: get24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get24(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: put24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put24(ptr, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - i
    - ','
    - colors
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: cbit24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbit24(base, i, colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_pixel
    - ','
    - t_pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 215
    functionName: rop_body_24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_body_24(s_pixel, t_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 602
    functionName: dbit
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbit(base, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - i
    - ','
    - colors
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 605
    functionName: cbit8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbit8(base, i, colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_pixel
    - ','
    - t_pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 607
    functionName: rop_body_8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_body_8(s_pixel, t_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 610
    functionName: get24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get24(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 614
    functionName: put24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put24(ptr, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - base
    - ','
    - i
    - ','
    - colors
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 614
    functionDepth: 0
    functionLinenumber: 614
    functionLinenumberEnd: 616
    functionName: cbit24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbit24(base, i, colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s_pixel
    - ','
    - t_pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: rop_body_24
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmr8n.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rop_body_24(s_pixel, t_pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: unlink
    functionSourceFile: /src/libspectre/ghostscript/base/stdio_.h
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unlink(fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: sclose
    functionSourceFile: /src/libspectre/ghostscript/base/stdio_.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sclose(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: fdopen
    functionSourceFile: /src/libspectre/ghostscript/base/stdio_.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fdopen(handle,mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - file
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: fileno
    functionSourceFile: /src/libspectre/ghostscript/base/stdio_.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fileno(file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: dev_bbox_proc_init_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_bbox_proc_init_box(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: dev_bbox_proc_get_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_bbox_proc_get_box(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 88
    functionName: dev_bbox_proc_add_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_bbox_proc_add_rect(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: dev_bbox_proc_in_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_bbox_proc_in_rect(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: public_st_device_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_bbox()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: stream_putc
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stream_putc(s, c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 1
    argNames:
    - blend_mode
    argTypes:
    - gs_blend_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 64
    functionName: blend_valid_for_spot
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool blend_valid_for_spot(gs_blend_mode_t blend_mode)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:88,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:97,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:104,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gxblend.c:145,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gxblend.c:176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 10
    argNames:
    - num_rows
    - num_cols
    - n_chan
    - row_stride
    - plane_stride
    - gs_restrict
    - gs_restrict
    - isadditive
    - SMask_SubType
    - mem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - byte*
    - byte*
    - bool
    - gs_transparency_mask_subtype_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 187
    functionName: do_smask_luminosity_mapping
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - dump_raw_buffer
    - float_color_to_byte_color
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void do_smask_luminosity_mapping(int num_rows, int num_cols, int n_chan,
      int row_stride,\n                            int plane_stride, const byte *gs_restrict
      src,\n                            byte *gs_restrict dst, bool isadditive,\n
      \                           gs_transparency_mask_subtype_t SMask_SubType\n#if
      RAW_DUMP\n                            , const gs_memory_t *mem\n#endif\n                            )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dump_raw_buffer_be
      Src: /src/libspectre/ghostscript/base/gxblend.c:205,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:214,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:221,1
    - Dst: float_color_to_color16
      Src: /src/libspectre/ghostscript/base/gxblend.c:262,1
    - Dst: float_color_to_color16
      Src: /src/libspectre/ghostscript/base/gxblend.c:293,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 10
    argNames:
    - num_rows
    - num_cols
    - n_chan
    - row_stride
    - plane_stride
    - gs_restrict
    - gs_restrict
    - isadditive
    - SMask_SubType
    - mem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - uint16_t*
    - uint16_t*
    - bool
    - gs_transparency_mask_subtype_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 304
    functionName: do_smask_luminosity_mapping_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - float_color_to_color16
    - dump_raw_buffer_be
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void do_smask_luminosity_mapping_16(int num_rows, int num_cols, int
      n_chan, int row_stride,\n                               int plane_stride, const
      uint16_t *gs_restrict src,\n                               uint16_t *gs_restrict
      dst, bool isadditive,\n                               gs_transparency_mask_subtype_t
      SMask_SubType\n#if RAW_DUMP\n                               , const gs_memory_t
      *mem\n#endif\n                               )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_smask_luminosity_mapping_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:317,1
    - Dst: do_smask_luminosity_mapping
      Src: /src/libspectre/ghostscript/base/gxblend.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - num_rows
    - num_cols
    - n_chan
    - row_stride
    - plane_stride
    - gs_restrict
    - gs_restrict
    - isadditive
    - SMask_SubType
    - deep
    - mem
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - byte*
    - byte*
    - bool
    - gs_transparency_mask_subtype_t
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 331
    functionName: smask_luminosity_mapping
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 2
    functionsReached:
    - do_smask_luminosity_mapping
    - do_smask_luminosity_mapping_16
    linkageType: ''
    returnType: void
    signature: "void smask_luminosity_mapping(int num_rows, int num_cols, int n_chan,
      int row_stride,\n                         int plane_stride, const byte *gs_restrict
      src,\n                         byte *gs_restrict dst, bool isadditive,\n                         gs_transparency_mask_subtype_t
      SMask_SubType, bool deep\n#if RAW_DUMP\n                         , const gs_memory_t
      *mem\n#endif\n                         )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - num_rows
    - num_cols
    - row_stride
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - int
    - int
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: smask_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void smask_copy(int num_rows, int num_cols, int row_stride,\n                byte
      *gs_restrict src, const byte *gs_restrict dst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:413,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:423,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - num_rows
    - num_cols
    - n_chan
    - row_stride
    - plane_stride
    - gs_restrict
    - gs_restrict
    - icclink
    - deep
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - int
    - byte*
    - byte*
    - gsicc_link_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 432
    functionName: smask_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - dump_raw_buffer
    - gsicc_init_buffer
    linkageType: ''
    returnType: void
    signature: "void smask_icc(gx_device *dev, int num_rows, int num_cols, int n_chan,\n
      \              int row_stride, int plane_stride, byte *gs_restrict src, const
      byte *gs_restrict dst,\n               gsicc_link_t *icclink, bool deep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 476
    functionName: art_blend_luminosity_rgb_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_rgb_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                           const byte *gs_restrict
      src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 521
    functionName: art_blend_luminosity_rgb_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_rgb_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                            const
      uint16_t *gs_restrict src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:559,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:566,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 574
    functionName: art_blend_luminosity_custom_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_custom_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                              const byte
      *gs_restrict src)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:613,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:620,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 628
    functionName: art_blend_luminosity_custom_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_custom_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                               const
      uint16_t *gs_restrict src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_luminosity_rgb_8
      Src: /src/libspectre/ghostscript/base/gxblend.c:656,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: art_blend_luminosity_cmyk_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_luminosity_rgb_8
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_cmyk_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                           const byte *gs_restrict
      src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_luminosity_rgb_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 671
    functionName: art_blend_luminosity_cmyk_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_luminosity_rgb_16
    linkageType: ''
    returnType: void
    signature: "void art_blend_luminosity_cmyk_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                             const
      uint16_t *gs_restrict src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 709
    functionDepth: 0
    functionLinenumber: 709
    functionLinenumberEnd: 777
    functionName: art_blend_saturation_rgb_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_rgb_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                           const byte *gs_restrict
      src)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 849
    functionName: art_blend_saturation_rgb_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_rgb_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                            const
      uint16_t *gs_restrict src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:867,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:868,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:882,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:883,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:908,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:909,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 851
    functionDepth: 0
    functionLinenumber: 851
    functionLinenumberEnd: 929
    functionName: art_blend_saturation_custom_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_custom_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                              const byte
      *gs_restrict src)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:949,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:950,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:964,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:965,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend.c:990,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend.c:991,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 1011
    functionName: art_blend_saturation_custom_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_custom_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                               const
      uint16_t *gs_restrict src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_saturation_rgb_8
      Src: /src/libspectre/ghostscript/base/gxblend.c:1021,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1024
    functionName: art_blend_saturation_cmyk_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_saturation_rgb_8
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_cmyk_8(int n_chan, byte *gs_restrict dst,
      const byte *gs_restrict backdrop,\n                           const byte *gs_restrict
      src)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_saturation_rgb_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - n_chan
    - gs_restrict
    - gs_restrict
    - gs_restrict
    argTypes:
    - int
    - uint16_t*
    - uint16_t*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1026
    functionDepth: 1
    functionLinenumber: 1026
    functionLinenumberEnd: 1036
    functionName: art_blend_saturation_cmyk_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_saturation_rgb_16
    linkageType: ''
    returnType: void
    signature: "void art_blend_saturation_cmyk_16(int n_chan, uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict backdrop,\n                             const
      uint16_t *gs_restrict src)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:1379,1
    - Dst: art_blend_soft_light_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1423,1
    - Dst: pdf14_nonseparable_blending_procs_t*::blend_luminosity16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1497,1
    - Dst: pdf14_nonseparable_blending_procs_t*::blend_luminosity16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1500,1
    - Dst: pdf14_nonseparable_blending_procs_t*::blend_saturation16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1503,1
    - Dst: pdf14_nonseparable_blending_procs_t*::blend_luminosity16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1509,1
    - Dst: pdf14_nonseparable_blending_procs_t*::blend_saturation16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1510,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gxblend.c:1559,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:1562,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 154
    argCount: 7
    argNames:
    - gs_restrict
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1565
    functionName: art_blend_pixel_16_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - pdf14_nonseparable_blending_procs_t*::blend_luminosity16
    - art_blend_soft_light_16
    - pdf14_nonseparable_blending_procs_t*::blend_saturation16
    - memcpy
    - dlprintf1
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_blend_pixel_16_inline(uint16_t *gs_restrict dst, const
      uint16_t *gs_restrict backdrop,\n                  const uint16_t *gs_restrict
      src, int n_chan, gs_blend_mode_t blend_mode,\n                  const pdf14_nonseparable_blending_procs_t
      * pblend_procs,\n                  pdf14_device *p14dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1423
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1423
    functionName: art_blend_soft_light_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: art_blend_soft_light_16(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_16_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:1573,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - gs_restrict
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1575
    functionName: art_blend_pixel_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_16_inline
    linkageType: ''
    returnType: void
    signature: "void art_blend_pixel_16(uint16_t *gs_restrict dst, const uint16_t
      *gs_restrict backdrop,\n                   const uint16_t *gs_restrict src,
      int n_chan, gs_blend_mode_t blend_mode,\n                   const pdf14_nonseparable_blending_procs_t
      * pblend_procs,\n                   pdf14_device *p14dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - alpha1
    - alpha2
    argTypes:
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1585
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1585
    functionName: art_pdf_union_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte art_pdf_union_8(byte alpha1, byte alpha2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_8
      Src: /src/libspectre/ghostscript/base/gxblend.c:1639,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 8
    argNames:
    - gs_restrict
    - tos_shape
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - pblend_procs
    - p14dev
    argTypes:
    - byte*
    - byte
    - byte*
    - byte*
    - int
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1588
    functionDepth: 0
    functionLinenumber: 1588
    functionLinenumberEnd: 1656
    functionName: art_pdf_knockout_composite_pixel_alpha_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_8
    linkageType: ''
    returnType: byte
    signature: "byte *\nart_pdf_knockout_composite_pixel_alpha_8(byte *gs_restrict
      backdrop, byte tos_shape,\n                        byte *gs_restrict dst, byte
      *gs_restrict src, int n_chan,\n                        gs_blend_mode_t blend_mode,\n
      \                       const pdf14_nonseparable_blending_procs_t * pblend_procs,\n
      \                       pdf14_device *p14dev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 8
    argNames:
    - gs_restrict
    - tos_shape
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1658
    functionDepth: 3
    functionLinenumber: 1658
    functionLinenumberEnd: 1728
    functionName: art_pdf_knockout_composite_pixel_alpha_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_16
    linkageType: ''
    returnType: forceinline
    signature: "forceinline *\nart_pdf_knockout_composite_pixel_alpha_16(uint16_t
      *gs_restrict backdrop, uint16_t tos_shape, uint16_t *gs_restrict dst,\n                        uint16_t
      *gs_restrict src, int n_chan, gs_blend_mode_t blend_mode,\n                        const
      pdf14_nonseparable_blending_procs_t * pblend_procs,\n                        pdf14_device
      *p14dev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:1826,1
    - Dst: art_blend_pixel_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:1845,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 7
    argNames:
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - first_spot
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1802
    functionDepth: 3
    functionLinenumber: 1802
    functionLinenumberEnd: 1874
    functionName: art_pdf_composite_pixel_alpha_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 3
    functionsReached:
    - art_blend_pixel_16
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_pdf_composite_pixel_alpha_16(uint16_t *gs_restrict dst, const
      uint16_t *gs_restrict src, int n_chan,\n        gs_blend_mode_t blend_mode,
      int first_spot,\n        const pdf14_nonseparable_blending_procs_t * pblend_procs,
      pdf14_device *p14dev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_8_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:1914,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 7
    argNames:
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - first_spot
    - pblend_procs
    - p14dev
    argTypes:
    - byte*
    - byte*
    - int
    - gs_blend_mode_t
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1953
    functionName: art_pdf_composite_pixel_alpha_8_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_8_inline
    linkageType: ''
    returnType: forceinline
    signature: "forceinline *\nart_pdf_composite_pixel_alpha_8_inline(byte *gs_restrict
      dst, byte *gs_restrict src, int n_chan,\n        gs_blend_mode_t blend_mode,
      int first_spot,\n        const pdf14_nonseparable_blending_procs_t * pblend_procs,
      pdf14_device *p14dev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_16_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:1995,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 7
    argNames:
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - first_spot
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1955
    functionDepth: 2
    functionLinenumber: 1955
    functionLinenumberEnd: 2033
    functionName: art_pdf_composite_pixel_alpha_16_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_16_inline
    linkageType: ''
    returnType: forceinline
    signature: "forceinline *\nart_pdf_composite_pixel_alpha_16_inline(uint16_t *gs_restrict
      dst, uint16_t *gs_restrict src, int n_chan,\n        gs_blend_mode_t blend_mode,
      int first_spot,\n        const pdf14_nonseparable_blending_procs_t * pblend_procs,
      pdf14_device *p14dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: art_blend_pixel_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:2114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 6
    argNames:
    - gs_restrict
    - gs_restrict
    - blend_mode
    - pblend_procs
    - stride
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - int
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2085
    functionDepth: 3
    functionLinenumber: 2085
    functionLinenumberEnd: 2126
    functionName: art_pdf_composite_pixel_alpha_16_fast_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_blend_pixel_16
    linkageType: ''
    returnType: void
    signature: "void art_pdf_composite_pixel_alpha_16_fast_mono(uint16_t *gs_restrict
      dst, const uint16_t *gs_restrict src,\n                                           gs_blend_mode_t
      blend_mode,\n                                           const pdf14_nonseparable_blending_procs_t
      * pblend_procs,\n                                           int stride, pdf14_device
      *p14dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_recomposite_group_8
      Src: /src/libspectre/ghostscript/base/gxblend.c:2228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 9
    argNames:
    - tos_shape
    - src_alpha_g
    - gs_restrict* dstp
    - gs_restrict dst_alpha_g
    - gs_restrict
    - n_chan
    - alpha
    - blend_mode
    - has_mask
    argTypes:
    - byte
    - byte
    - byte*
    - byte*
    - byte*
    - int
    - byte
    - gs_blend_mode_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2213
    functionDepth: 0
    functionLinenumber: 2213
    functionLinenumberEnd: 2230
    functionName: art_pdf_ko_recomposite_group_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_recomposite_group_8
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_ko_recomposite_group_8(byte tos_shape,\n    byte
      src_alpha_g, byte* gs_restrict* dstp,\n    byte* gs_restrict dst_alpha_g, byte*
      gs_restrict src,\n    int n_chan, byte alpha, gs_blend_mode_t blend_mode, bool
      has_mask)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 7
    argNames:
    - gs_restrict *dstp
    - gs_restrict dst_alpha_g
    - gs_restrict
    - src_alpha_g
    - n_chan
    - alpha
    - blend_mode
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint16_t
    - int
    - uint16_t
    - gs_blend_mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2232
    functionDepth: 0
    functionLinenumber: 2232
    functionLinenumberEnd: 2298
    functionName: art_pdf_recomposite_group_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_recomposite_group_16(uint16_t *gs_restrict *dstp,
      uint16_t *gs_restrict dst_alpha_g,\n        uint16_t *gs_restrict src, uint16_t
      src_alpha_g, int n_chan,\n        uint16_t alpha, gs_blend_mode_t blend_mode)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_recomposite_group_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:2316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 9
    argNames:
    - tos_shape
    - src_alpha_g
    - gs_restrict* dstp
    - gs_restrict dst_alpha_g
    - gs_restrict
    - n_chan
    - alpha
    - blend_mode
    - has_mask
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - int
    - uint16_t
    - gs_blend_mode_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2300
    functionDepth: 1
    functionLinenumber: 2300
    functionLinenumberEnd: 2319
    functionName: art_pdf_ko_recomposite_group_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_recomposite_group_16
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_ko_recomposite_group_16(uint16_t tos_shape,\n
      \   uint16_t src_alpha_g, uint16_t* gs_restrict* dstp,\n    uint16_t* gs_restrict
      dst_alpha_g, uint16_t* gs_restrict src,\n    int n_chan, uint16_t alpha, gs_blend_mode_t
      blend_mode,\n    bool has_mask)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 8
    argNames:
    - tos_shape
    - gs_restrict src_alpha_g
    - gs_restrict
    - gs_restrict dst_alpha_g
    - gs_restrict
    - n_chan
    - alpha
    - has_mask
    argTypes:
    - byte
    - byte*
    - byte*
    - byte*
    - byte*
    - int
    - byte
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2395
      start: 2364
    functionDepth: 0
    functionLinenumber: 2364
    functionLinenumberEnd: 2395
    functionName: art_pdf_ko_composite_group_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_ko_composite_group_8(byte tos_shape,\n    byte*
      gs_restrict src_alpha_g, byte* gs_restrict dst,\n    byte* gs_restrict dst_alpha_g,
      byte* gs_restrict src,\n    int n_chan, byte alpha, bool has_mask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - gs_restrict
    - gs_restrict dst_alpha_g
    - gs_restrict
    - n_chan
    - alpha
    argTypes:
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2419
    functionName: art_pdf_composite_group_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_composite_group_16(uint16_t *gs_restrict dst,
      uint16_t *gs_restrict dst_alpha_g,\n        uint16_t *gs_restrict src, int n_chan,
      uint16_t alpha)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 8
    argNames:
    - tos_shape
    - gs_restrict src_alpha_g
    - gs_restrict
    - gs_restrict dst_alpha_g
    - gs_restrict
    - n_chan
    - alpha
    - has_mask
    argTypes:
    - uint16_t
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - uint16_t*
    - int
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2454
    functionName: art_pdf_ko_composite_group_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: forceinline
    signature: "forceinline art_pdf_ko_composite_group_16(uint16_t tos_shape,\n    uint16_t*
      gs_restrict src_alpha_g, uint16_t* gs_restrict dst,\n    uint16_t* gs_restrict
      dst_alpha_g, uint16_t* gs_restrict src,\n    int n_chan, uint16_t alpha, bool
      has_mask)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:2479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - gs_restrict
    - gs_restrict
    - n_chan
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2470
    functionDepth: 0
    functionLinenumber: 2470
    functionLinenumberEnd: 2480
    functionName: art_pdf_knockoutisolated_group_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 2
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void art_pdf_knockoutisolated_group_16(uint16_t *gs_restrict dst, const
      uint16_t *gs_restrict src, int n_chan)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend.c:2616,1
    - Dst: art_blend_pixel_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:2664,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 6
    argNames:
    - gs_restrict
    - gs_restrict
    - n_chan
    - blend_mode
    - pblend_procs
    - p14dev
    argTypes:
    - uint16_t*
    - uint16_t*
    - int
    - gs_blend_mode_t
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2599
    functionDepth: 3
    functionLinenumber: 2599
    functionLinenumberEnd: 2681
    functionName: art_pdf_composite_knockout_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 2
    functionsReached:
    - art_blend_pixel_16
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void art_pdf_composite_knockout_16(uint16_t *gs_restrict dst,\n                              const
      uint16_t *gs_restrict src,\n                              int n_chan,\n                              gs_blend_mode_t
      blend_mode,\n                              const pdf14_nonseparable_blending_procs_t
      * pblend_procs,\n                              pdf14_device *p14dev)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxblend.c:2707,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gxblend.c:2707,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2708,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2709,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2710,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2717,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2718,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2724,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2726,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gxblend.c:2728,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gxblend.c:2728,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2729,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2730,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2731,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2737,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2738,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2743,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2745,1
    - Dst: dprintf2
      Src: /src/libspectre/ghostscript/base/gxblend.c:2750,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gxblend.c:2750,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2751,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2752,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2753,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2760,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2761,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2767,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2769,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2771,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2772,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2773,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2779,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2780,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2785,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2787,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2790,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2791,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2792,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2796,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2800,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2802,1
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gxblend.c:2808,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gxblend.c:2808,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend.c:2809,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend.c:2810,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2820,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gxblend.c:2821,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxblend.c:2832,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxblend.c:2837,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 122
    argCount: 10
    argNames:
    - mem
    - num_rows
    - width
    - n_chan
    - plane_stride
    - rowstride
    - filename
    - Buffer
    - deep
    - be
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - char[]
    - byte*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2687
    functionDepth: 5
    functionLinenumber: 2687
    functionLinenumberEnd: 2838
    functionName: do_dump_raw_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - dflush
    - gs_sprintf
    - dlprintf2
    - gp_fclose
    - fprintf
    - gp_fputc
    - dprintf2
    - dlprintf6
    - gp_fopen
    - gp_fwrite
    linkageType: ''
    returnType: void
    signature: "void do_dump_raw_buffer(const gs_memory_t *mem, int num_rows, int
      width, int n_chan,\n                   int plane_stride, int rowstride,\n                   char
      filename[], const byte *Buffer, bool deep, bool be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:2845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - mem
    - num_rows
    - width
    - n_chan
    - plane_stride
    - rowstride
    - filename
    - Buffer
    - deep
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - char[]
    - byte*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2847
      start: 2840
    functionDepth: 6
    functionLinenumber: 2840
    functionLinenumberEnd: 2847
    functionName: dump_raw_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 15
    functionsReached:
    - do_dump_raw_buffer
    linkageType: ''
    returnType: void
    signature: "void dump_raw_buffer(const gs_memory_t *mem, int num_rows, int width,
      int n_chan,\n                int plane_stride, int rowstride,\n                char
      filename[],const byte *Buffer, bool deep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - mem
    - num_rows
    - width
    - n_chan
    - plane_stride
    - rowstride
    - filename
    - Buffer
    - deep
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int
    - int
    - char[]
    - byte*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2849
    functionDepth: 6
    functionLinenumber: 2849
    functionLinenumberEnd: 2856
    functionName: dump_raw_buffer_be
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 3
    functionsReached:
    - do_dump_raw_buffer
    linkageType: ''
    returnType: void
    signature: "void dump_raw_buffer_be(const gs_memory_t *mem, int num_rows, int
      width, int n_chan,\n                   int plane_stride, int rowstride,\n                   char
      filename[],const byte *Buffer, bool deep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3123
    functionName: compose_group_knockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_knockout(byte *tos_ptr, bool tos_isolated, int
      tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t
      blend_mode, bool tos_has_shape,\n              int tos_shape_offset, int tos_alpha_g_offset,
      int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr,\n              byte
      *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr,
      bool nos_knockout,\n              int nos_shape_offset, int nos_tag_offset,\n
      \             byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha,
      const byte *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3140
    functionName: compose_group_nonknockout_blend
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_blend(byte *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t
      blend_mode, bool tos_has_shape,\n              int tos_shape_offset, int tos_alpha_g_offset,
      int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr,\n              byte
      *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr,
      bool nos_knockout,\n              int nos_shape_offset, int nos_tag_offset,\n
      \             byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha,
      const byte *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3142
    functionDepth: 0
    functionLinenumber: 3142
    functionLinenumberEnd: 3205
    functionName: compose_group_nonknockout_nonblend_isolated_allmask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_nonblend_isolated_allmask_common(byte
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha,
      byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int
      tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      byte *tos_alpha_g_ptr,\n              byte *nos_ptr, bool nos_isolated, int
      nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              byte
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte
      *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool has_matte,
      int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3207
    functionDepth: 0
    functionLinenumber: 3207
    functionLinenumberEnd: 3295
    functionName: compose_group_nonknockout_nonblend_isolated_mask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_nonblend_isolated_mask_common(byte
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha,
      byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int
      tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      byte *tos_alpha_g_ptr,\n              byte *nos_ptr, bool nos_isolated, int
      nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              byte
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte
      *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool has_matte,
      int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3312
      start: 3297
    functionDepth: 0
    functionLinenumber: 3297
    functionLinenumberEnd: 3312
    functionName: compose_group_nonknockout_nonblend_isolated_nomask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_nonblend_isolated_nomask_common(byte
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha,
      byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int
      tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      byte *tos_alpha_g_ptr,\n              byte *nos_ptr, bool nos_isolated, int
      nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              byte
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte
      *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool has_matte,
      int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3329
      start: 3314
    functionDepth: 0
    functionLinenumber: 3314
    functionLinenumberEnd: 3329
    functionName: compose_group_nonknockout_nonblend_nonisolated_mask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_nonblend_nonisolated_mask_common(byte
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha,
      byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int
      tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      byte *tos_alpha_g_ptr,\n              byte *nos_ptr, bool nos_isolated, int
      nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              byte
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte
      *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool has_matte,
      int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3346
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3346
    functionName: compose_group_nonknockout_nonblend_nonisolated_nomask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_nonblend_nonisolated_nomask_common(byte
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride, byte alpha,
      byte shape, gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int
      tos_shape_offset, int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      byte *tos_alpha_g_ptr,\n              byte *nos_ptr, bool nos_isolated, int
      nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              byte
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha, const byte
      *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool has_matte,
      int n_chan, bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3363
      start: 3348
    functionDepth: 0
    functionLinenumber: 3348
    functionLinenumberEnd: 3363
    functionName: compose_group_nonknockout_noblend_general
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_nonknockout_noblend_general(byte *tos_ptr, bool
      tos_isolated, int tos_planestride, int tos_rowstride, byte alpha, byte shape,
      gs_blend_mode_t blend_mode, bool tos_has_shape,\n              int tos_shape_offset,
      int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr,\n
      \             byte *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride,
      byte *nos_alpha_g_ptr, bool nos_knockout,\n              int nos_shape_offset,
      int nos_tag_offset,\n              byte *mask_row_ptr, int has_mask, pdf14_buf
      *maskbuf, byte mask_bg_alpha, const byte *mask_tr_fn,\n              byte *backdrop_ptr,\n
      \             bool has_matte, int n_chan, bool additive, int num_spots, bool
      overprint, gx_color_index drawn_comps, int x0, int y0, int x1, int y1,\n              const
      pdf14_nonseparable_blending_procs_t *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3365
    functionDepth: 0
    functionLinenumber: 3365
    functionLinenumberEnd: 3380
    functionName: compose_group_alphaless_knockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_alphaless_knockout(byte *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t
      blend_mode, bool tos_has_shape,\n              int tos_shape_offset, int tos_alpha_g_offset,
      int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr,\n              byte
      *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr,
      bool nos_knockout,\n              int nos_shape_offset, int nos_tag_offset,\n
      \             byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha,
      const byte *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - byte*
    - bool
    - int
    - int
    - byte
    - byte
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - byte*
    - byte*
    - bool
    - int
    - int
    - byte*
    - bool
    - int
    - int
    - byte*
    - int
    - pdf14_buf*
    - byte
    - byte*
    - byte*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3397
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3397
    functionName: compose_group_alphaless_nonknockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group
    linkageType: ''
    returnType: void
    signature: "void compose_group_alphaless_nonknockout(byte *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride, byte alpha, byte shape, gs_blend_mode_t
      blend_mode, bool tos_has_shape,\n              int tos_shape_offset, int tos_alpha_g_offset,
      int tos_tag_offset, bool tos_has_tag, byte *tos_alpha_g_ptr,\n              byte
      *nos_ptr, bool nos_isolated, int nos_planestride, int nos_rowstride, byte *nos_alpha_g_ptr,
      bool nos_knockout,\n              int nos_shape_offset, int nos_tag_offset,\n
      \             byte *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, byte mask_bg_alpha,
      const byte *mask_tr_fn,\n              byte *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/base/gxblend.c:3445,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxblend.c:3447,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxblend.c:3451,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:3499,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:3501,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:3504,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/gxblend.c:3534,1
    - Dst: cal_get_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:3561,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:3586,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:3595,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 92
    argCount: 15
    argNames:
    - tos
    - nos
    - maskbuf
    - x0
    - x1
    - y0
    - y1
    - n_chan
    - additive
    - pblend_procs
    - has_matte
    - overprint
    - drawn_comps
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - int
    - bool
    - pdf14_nonseparable_blending_procs_t*
    - bool
    - bool
    - gx_color_index
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3399
    functionDepth: 7
    functionLinenumber: 3399
    functionLinenumberEnd: 3599
    functionName: do_compose_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - atexit
    - fn
    - cal_get_compose_group
    - rect_merge
    - if_debug6m
    - dump_raw_buffer
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void do_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf *maskbuf,\n
      \             int x0, int x1, int y0, int y1, int n_chan, bool additive,\n              const
      pdf14_nonseparable_blending_procs_t * pblend_procs,\n              bool has_matte,
      bool overprint, gx_color_index drawn_comps,\n              gs_memory_t *memory,
      gx_device *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - table
    - idx
    argTypes:
    - uint16_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3601
    functionDepth: 0
    functionLinenumber: 3601
    functionLinenumberEnd: 3609
    functionName: interp16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t interp16(const uint16_t *table, uint16_t idx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: blend_valid_for_spot
      Src: /src/libspectre/ghostscript/base/gxblend.c:3660,1
    - Dst: interp16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3695,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3703,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3731,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3737,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3741,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3747,1
    - Dst: interp16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3752,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3767,1
    - Dst: art_pdf_ko_composite_group_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3796,1
    - Dst: art_pdf_ko_recomposite_group_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3800,1
    - Dst: art_pdf_knockout_composite_pixel_alpha_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3803,1
    - Dst: art_pdf_composite_group_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3808,1
    - Dst: art_pdf_recomposite_group_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3810,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3812,1
    - Dst: art_pdf_composite_pixel_alpha_16_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:3815,1
    - Dst: art_pdf_union_mul_16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3821,1
    - Dst: GET16_2NATIVE
      Src: /src/libspectre/ghostscript/base/gxblend.c:3822,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 133
    argCount: 41
    argNames:
    - gs_restrict
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - gs_restrict tos_alpha_g_ptr
    - gs_restrict
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - gs_restrict nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - gs_restrict mask_row_ptr
    - has_mask
    - gs_restrict
    - mask_bg_alpha
    - gs_restrict
    - gs_restrict backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    - has_alpha
    - tos_is_be
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3871
      start: 3622
    functionDepth: 4
    functionLinenumber: 3622
    functionLinenumberEnd: 3871
    functionName: template_compose_group16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - GET16_2NATIVE
    - art_pdf_ko_recomposite_group_16
    - art_pdf_ko_composite_group_16
    - art_pdf_composite_pixel_alpha_16_inline
    - interp16
    - art_pdf_knockout_composite_pixel_alpha_16
    - blend_valid_for_spot
    - art_pdf_composite_group_16
    - art_pdf_union_mul_16
    - art_pdf_recomposite_group_16
    linkageType: ''
    returnType: forceinline
    signature: "forceinline template_compose_group16(uint16_t *gs_restrict tos_ptr,
      bool tos_isolated,\n                         int tos_planestride, int tos_rowstride,\n
      \                        uint16_t alpha, uint16_t shape, gs_blend_mode_t blend_mode,\n
      \                        bool tos_has_shape, int tos_shape_offset,\n                         int
      tos_alpha_g_offset, int tos_tag_offset,\n                         bool tos_has_tag,
      \ uint16_t *gs_restrict tos_alpha_g_ptr,\n                         uint16_t
      *gs_restrict nos_ptr,\n                         bool nos_isolated, int nos_planestride,\n
      \                        int nos_rowstride, uint16_t *gs_restrict nos_alpha_g_ptr,\n
      \                        bool nos_knockout, int nos_shape_offset,\n                         int
      nos_tag_offset, uint16_t *gs_restrict mask_row_ptr,\n                         int
      has_mask, pdf14_buf *gs_restrict maskbuf,\n                         uint16_t
      mask_bg_alpha, const uint16_t *gs_restrict mask_tr_fn,\n                         uint16_t
      *gs_restrict backdrop_ptr, bool has_matte,\n                         int n_chan,
      bool additive, int num_spots,\n                         bool overprint, gx_color_index
      drawn_comps,\n                         int x0, int y0, int x1, int y1,\n                         const
      pdf14_nonseparable_blending_procs_t *pblend_procs,\n                         pdf14_device
      *pdev, int has_alpha, bool tos_is_be)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - be
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3677
      start: 3675
    functionDepth: 0
    functionLinenumber: 3675
    functionLinenumberEnd: 3677
    functionName: GET16_2NATIVE
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16_2NATIVE(be, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3873
    functionDepth: 5
    functionLinenumber: 3873
    functionLinenumberEnd: 3889
    functionName: compose_group16_knockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_knockout(uint16_t *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride,\n              uint16_t alpha, uint16_t
      shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,\n
      \             int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr,\n              uint16_t *nos_ptr, bool nos_isolated,
      int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              uint16_t
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const
      uint16_t *mask_tr_fn,\n              uint16_t *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3906
      start: 3891
    functionDepth: 5
    functionLinenumber: 3891
    functionLinenumberEnd: 3906
    functionName: compose_group16_nonknockout_blend
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_blend(uint16_t *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride,\n              uint16_t alpha, uint16_t
      shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,
      uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan, bool additive,
      int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int
      x1, int y1,\n              const pdf14_nonseparable_blending_procs_t *pblend_procs,
      pdf14_device *pdev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: interp16
      Src: /src/libspectre/ghostscript/base/gxblend.c:3924,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3976
      start: 3908
    functionDepth: 1
    functionLinenumber: 3908
    functionLinenumberEnd: 3976
    functionName: compose_group16_nonknockout_nonblend_isolated_allmask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - interp16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_nonblend_isolated_allmask_common(uint16_t
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,
      uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan, bool additive,
      int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int
      x1, int y1,\n              const pdf14_nonseparable_blending_procs_t *pblend_procs,
      pdf14_device *pdev)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: interp16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4014,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4070
      start: 3978
    functionDepth: 1
    functionLinenumber: 3978
    functionLinenumberEnd: 4070
    functionName: compose_group16_nonknockout_nonblend_isolated_mask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - interp16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_nonblend_isolated_mask_common(uint16_t
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,
      uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan, bool additive,
      int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int
      x1, int y1,\n              const pdf14_nonseparable_blending_procs_t *pblend_procs,
      pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4086
      start: 4072
    functionDepth: 5
    functionLinenumber: 4072
    functionLinenumberEnd: 4086
    functionName: compose_group16_nonknockout_nonblend_isolated_nomask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_nonblend_isolated_nomask_common(uint16_t
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,
      uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan, bool additive,
      int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int
      x1, int y1,\n              const pdf14_nonseparable_blending_procs_t *pblend_procs,
      pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4088
    functionDepth: 5
    functionLinenumber: 4088
    functionLinenumberEnd: 4103
    functionName: compose_group16_nonknockout_nonblend_nonisolated_mask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_nonblend_nonisolated_mask_common(uint16_t
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,\n
      \             uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan,
      bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int
      x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4105
    functionDepth: 5
    functionLinenumber: 4105
    functionLinenumberEnd: 4119
    functionName: compose_group16_nonknockout_nonblend_nonisolated_nomask_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_nonblend_nonisolated_nomask_common(uint16_t
      *tos_ptr, bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,
      uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan, bool additive,
      int num_spots, bool overprint, gx_color_index drawn_comps, int x0, int y0, int
      x1, int y1,\n              const pdf14_nonseparable_blending_procs_t *pblend_procs,
      pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4136
      start: 4121
    functionDepth: 5
    functionLinenumber: 4121
    functionLinenumberEnd: 4136
    functionName: compose_group16_nonknockout_noblend_general
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_nonknockout_noblend_general(uint16_t *tos_ptr,
      bool tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,\n
      \             int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr,\n              bool nos_isolated,
      int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset, uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf,\n              uint16_t mask_bg_alpha, const
      uint16_t *mask_tr_fn, uint16_t *backdrop_ptr, bool has_matte, int n_chan,\n
      \             bool additive, int num_spots, bool overprint, gx_color_index drawn_comps,
      int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4154
      start: 4138
    functionDepth: 5
    functionLinenumber: 4138
    functionLinenumberEnd: 4154
    functionName: compose_group16_alphaless_knockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_alphaless_knockout(uint16_t *tos_ptr, bool tos_isolated,
      int tos_planestride, int tos_rowstride,\n              uint16_t alpha, uint16_t
      shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,\n
      \             int tos_alpha_g_offset, int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr,\n              bool nos_isolated,
      int nos_planestride, int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,\n
      \             int nos_shape_offset, int nos_tag_offset,\n              uint16_t
      *mask_row_ptr, int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const
      uint16_t *mask_tr_fn,\n              uint16_t *backdrop_ptr,\n              bool
      has_matte, int n_chan, bool additive, int num_spots, bool overprint, gx_color_index
      drawn_comps, int x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 39
    argNames:
    - tos_ptr
    - tos_isolated
    - tos_planestride
    - tos_rowstride
    - alpha
    - shape
    - blend_mode
    - tos_has_shape
    - tos_shape_offset
    - tos_alpha_g_offset
    - tos_tag_offset
    - tos_has_tag
    - tos_alpha_g_ptr
    - nos_ptr
    - nos_isolated
    - nos_planestride
    - nos_rowstride
    - nos_alpha_g_ptr
    - nos_knockout
    - nos_shape_offset
    - nos_tag_offset
    - mask_row_ptr
    - has_mask
    - maskbuf
    - mask_bg_alpha
    - mask_tr_fn
    - backdrop_ptr
    - has_matte
    - n_chan
    - additive
    - num_spots
    - overprint
    - drawn_comps
    - x0
    - y0
    - x1
    - y1
    - pblend_procs
    - pdev
    argTypes:
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t
    - uint16_t
    - gs_blend_mode_t
    - bool
    - int
    - int
    - int
    - bool
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - bool
    - int
    - int
    - uint16_t*
    - int
    - pdf14_buf*
    - uint16_t
    - uint16_t*
    - uint16_t*
    - bool
    - int
    - bool
    - int
    - bool
    - gx_color_index
    - int
    - int
    - int
    - int
    - pdf14_nonseparable_blending_procs_t*
    - pdf14_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4171
      start: 4156
    functionDepth: 5
    functionLinenumber: 4156
    functionLinenumberEnd: 4171
    functionName: compose_group16_alphaless_nonknockout
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_compose_group16
    linkageType: ''
    returnType: void
    signature: "void compose_group16_alphaless_nonknockout(uint16_t *tos_ptr, bool
      tos_isolated, int tos_planestride, int tos_rowstride,\n              uint16_t
      alpha, uint16_t shape, gs_blend_mode_t blend_mode, bool tos_has_shape, int tos_shape_offset,
      int tos_alpha_g_offset,\n              int tos_tag_offset, bool tos_has_tag,
      uint16_t *tos_alpha_g_ptr, uint16_t *nos_ptr, bool nos_isolated, int nos_planestride,\n
      \             int nos_rowstride, uint16_t *nos_alpha_g_ptr, bool nos_knockout,
      int nos_shape_offset, int nos_tag_offset,\n              uint16_t *mask_row_ptr,
      int has_mask, pdf14_buf *maskbuf, uint16_t mask_bg_alpha, const uint16_t *mask_tr_fn,\n
      \             uint16_t *backdrop_ptr,\n              bool has_matte, int n_chan,
      bool additive, int num_spots, bool overprint, gx_color_index drawn_comps, int
      x0, int y0, int x1, int y1,\n              const pdf14_nonseparable_blending_procs_t
      *pblend_procs, pdf14_device *pdev)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/base/gxblend.c:4218,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4220,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4224,1
    - Dst: interp16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4264,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4271,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4273,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4276,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/gxblend.c:4306,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:4354,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4364,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 93
    argCount: 15
    argNames:
    - tos
    - nos
    - maskbuf
    - x0
    - x1
    - y0
    - y1
    - n_chan
    - additive
    - pblend_procs
    - has_matte
    - overprint
    - drawn_comps
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - int
    - bool
    - pdf14_nonseparable_blending_procs_t*
    - bool
    - bool
    - gx_color_index
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4368
      start: 4173
    functionDepth: 7
    functionLinenumber: 4173
    functionLinenumberEnd: 4368
    functionName: do_compose_group16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - atexit
    - fn
    - rect_merge
    - if_debug6m
    - interp16
    - dump_raw_buffer
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void do_compose_group16(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf
      *maskbuf,\n                   int x0, int x1, int y0, int y1, int n_chan, bool
      additive,\n                   const pdf14_nonseparable_blending_procs_t * pblend_procs,\n
      \                  bool has_matte, bool overprint, gx_color_index drawn_comps,\n
      \                  gs_memory_t *memory, gx_device *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_compose_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4378,1
    - Dst: do_compose_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:4382,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 15
    argNames:
    - tos
    - nos
    - maskbuf
    - x0
    - x1
    - y0
    - y1
    - n_chan
    - additive
    - pblend_procs
    - has_matte
    - overprint
    - drawn_comps
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - int
    - bool
    - pdf14_nonseparable_blending_procs_t*
    - bool
    - bool
    - gx_color_index
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4385
      start: 4370
    functionDepth: 8
    functionLinenumber: 4370
    functionLinenumberEnd: 4385
    functionName: pdf14_compose_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - do_compose_group
    - do_compose_group16
    linkageType: ''
    returnType: void
    signature: "void pdf14_compose_group(pdf14_buf *tos, pdf14_buf *nos, pdf14_buf
      *maskbuf,\n              int x0, int x1, int y0, int y1, int n_chan, bool additive,\n
      \             const pdf14_nonseparable_blending_procs_t * pblend_procs,\n              bool
      has_matte, bool overprint, gx_color_index drawn_comps,\n              gs_memory_t
      *memory, gx_device *dev)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/base/gxblend.c:4432,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4434,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4438,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4463,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4465,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/gxblend.c:4492,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:4506,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4516,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 8
    argNames:
    - tos
    - nos
    - x0
    - x1
    - y0
    - y1
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4520
      start: 4387
    functionDepth: 7
    functionLinenumber: 4387
    functionLinenumberEnd: 4520
    functionName: do_compose_alphaless_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - atexit
    - fn
    - rect_merge
    - if_debug6m
    - dump_raw_buffer
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void do_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos,\n
      \                          int x0, int x1, int y0, int y1,\n                           gs_memory_t
      *memory, gx_device *dev)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/base/gxblend.c:4569,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4571,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxblend.c:4575,1
    - Dst: dump_raw_buffer_be
      Src: /src/libspectre/ghostscript/base/gxblend.c:4602,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4604,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/gxblend.c:4631,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:4645,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:4655,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 8
    argNames:
    - tos
    - nos
    - x0
    - x1
    - y0
    - y1
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4522
    functionDepth: 7
    functionLinenumber: 4522
    functionLinenumberEnd: 4659
    functionName: do_compose_alphaless_group16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - atexit
    - fn
    - rect_merge
    - if_debug6m
    - dump_raw_buffer
    - dump_raw_buffer_be
    - if_debug7m
    linkageType: ''
    returnType: void
    signature: "void do_compose_alphaless_group16(pdf14_buf *tos, pdf14_buf *nos,\n
      \                            int x0, int x1, int y0, int y1,\n                             gs_memory_t
      *memory, gx_device *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_compose_alphaless_group16
      Src: /src/libspectre/ghostscript/base/gxblend.c:4667,1
    - Dst: do_compose_alphaless_group
      Src: /src/libspectre/ghostscript/base/gxblend.c:4669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - tos
    - nos
    - x0
    - x1
    - y0
    - y1
    - memory
    - dev
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - int
    - int
    - int
    - int
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4670
      start: 4661
    functionDepth: 8
    functionLinenumber: 4661
    functionLinenumberEnd: 4670
    functionName: pdf14_compose_alphaless_group
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - do_compose_alphaless_group
    - do_compose_alphaless_group16
    linkageType: ''
    returnType: void
    signature: "void pdf14_compose_alphaless_group(pdf14_buf *tos, pdf14_buf *nos,\n
      \                             int x0, int x1, int y0, int y1,\n                              gs_memory_t
      *memory, gx_device *dev)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_composite_pixel_alpha_8_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:4730,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 82
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4800
      start: 4677
    functionDepth: 1
    functionLinenumber: 4677
    functionLinenumberEnd: 4800
    functionName: template_mark_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_8_inline
    linkageType: ''
    returnType: forceinline
    signature: "forceinline template_mark_fill_rect(int w, int h, byte *gs_restrict
      dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4824
      start: 4802
    functionDepth: 0
    functionLinenumber: 4802
    functionLinenumberEnd: 4824
    functionName: mark_fill_rect_alpha0
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_alpha0(int w, int h, byte *gs_restrict dst_ptr,
      byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect
      Src: /src/libspectre/ghostscript/base/gxblend.c:4832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4836
      start: 4826
    functionDepth: 2
    functionLinenumber: 4826
    functionLinenumberEnd: 4836
    functionName: mark_fill_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - template_mark_fill_rect
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect(int w, int h, byte *gs_restrict dst_ptr, byte
      *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n               byte
      src_alpha, int rowstride, int planestride, bool additive, pdf14_device *pdev,
      gs_blend_mode_t blend_mode,\n               bool overprint, gx_color_index drawn_comps,
      int tag_off, gs_graphics_type_tag_t curr_tag,\n               int alpha_g_off,
      int shape_off, byte shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4880
      start: 4838
    functionDepth: 0
    functionLinenumber: 4838
    functionLinenumberEnd: 4880
    functionName: mark_fill_rect_sub4_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_sub4_fast(int w, int h, byte *gs_restrict dst_ptr,
      byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect
      Src: /src/libspectre/ghostscript/base/gxblend.c:4888,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4892
      start: 4882
    functionDepth: 2
    functionLinenumber: 4882
    functionLinenumberEnd: 4892
    functionName: mark_fill_rect_add_nospots
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add_nospots(int w, int h, byte *gs_restrict dst_ptr,
      byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect
      Src: /src/libspectre/ghostscript/base/gxblend.c:4900,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4904
      start: 4894
    functionDepth: 2
    functionLinenumber: 4894
    functionLinenumberEnd: 4904
    functionName: mark_fill_rect_add_nospots_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add_nospots_common(int w, int h, byte *gs_restrict
      dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect
      Src: /src/libspectre/ghostscript/base/gxblend.c:4912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4916
      start: 4906
    functionDepth: 2
    functionLinenumber: 4906
    functionLinenumberEnd: 4916
    functionName: mark_fill_rect_add_nospots_common_no_alpha_g
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add_nospots_common_no_alpha_g(int w, int h, byte
      *gs_restrict dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int
      first_blend_spot,\n               byte src_alpha, int rowstride, int planestride,
      bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool
      overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4960
      start: 4918
    functionDepth: 0
    functionLinenumber: 4918
    functionLinenumberEnd: 4960
    functionName: mark_fill_rect_add3_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add3_common(int w, int h, byte *gs_restrict dst_ptr,
      byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_composite_pixel_alpha_8_fast_mono
      Src: /src/libspectre/ghostscript/base/gxblend.c:4981,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5006
      start: 4962
    functionDepth: 0
    functionLinenumber: 4962
    functionLinenumberEnd: 5006
    functionName: mark_fill_rect_add1_no_spots
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_8_fast_mono
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add1_no_spots(int w, int h, byte *gs_restrict
      dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5060
      start: 5008
    functionDepth: 0
    functionLinenumber: 5008
    functionLinenumberEnd: 5060
    functionName: mark_fill_rect_add1_no_spots_normal
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add1_no_spots_normal(int w, int h, byte *gs_restrict
      dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - byte*
    - byte*
    - int
    - int
    - int
    - byte
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5097
      start: 5062
    functionDepth: 0
    functionLinenumber: 5062
    functionLinenumberEnd: 5097
    functionName: mark_fill_rect_add1_no_spots_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect_add1_no_spots_fast(int w, int h, byte *gs_restrict
      dst_ptr, byte *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              byte src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, byte shape)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: blend_valid_for_spot
      Src: /src/libspectre/ghostscript/base/gxblend.c:5144,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gxblend.c:5154,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gxblend.c:5158,1
    - Dst: pdf14_device*::pdf14_procs::unpack_color
      Src: /src/libspectre/ghostscript/base/gxblend.c:5186,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxblend.c:5187,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxblend.c:5189,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:5246,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:5255,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 93
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5265
      start: 5099
    functionDepth: 7
    functionLinenumber: 5099
    functionLinenumberEnd: 5265
    functionName: do_mark_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - pdf14_device*::pdf14_procs::unpack_color
    - fn
    - floor
    - blend_valid_for_spot
    - dump_raw_buffer
    - if_debug9m
    - if_debug8m
    linkageType: ''
    returnType: int
    signature: "int do_mark_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                       gx_color_index color, const gx_device_color *pdc,\n
      \                      bool devn)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_composite_pixel_alpha_16_inline
      Src: /src/libspectre/ghostscript/base/gxblend.c:5328,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 82
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha_
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape_
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5398
      start: 5272
    functionDepth: 3
    functionLinenumber: 5272
    functionLinenumberEnd: 5398
    functionName: template_mark_fill_rect16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_16_inline
    linkageType: ''
    returnType: forceinline
    signature: "forceinline template_mark_fill_rect16(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha_, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha_
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape_
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5426
      start: 5400
    functionDepth: 0
    functionLinenumber: 5400
    functionLinenumberEnd: 5426
    functionName: mark_fill_rect16_alpha0
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_alpha0(int w, int h, uint16_t *gs_restrict dst_ptr,
      uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha_, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape_)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5428
    functionDepth: 4
    functionLinenumber: 5428
    functionLinenumberEnd: 5438
    functionName: mark_fill_rect16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 1
    functionsReached:
    - template_mark_fill_rect16
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16(int w, int h, uint16_t *gs_restrict dst_ptr,
      uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5440
    functionDepth: 0
    functionLinenumber: 5440
    functionLinenumberEnd: 5487
    functionName: mark_fill_rect16_sub4_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_sub4_fast(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5499
      start: 5489
    functionDepth: 4
    functionLinenumber: 5489
    functionLinenumberEnd: 5499
    functionName: mark_fill_rect16_add_nospots
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect16
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add_nospots(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5511
      start: 5501
    functionDepth: 4
    functionLinenumber: 5501
    functionLinenumberEnd: 5511
    functionName: mark_fill_rect16_add_nospots_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect16
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add_nospots_common(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: template_mark_fill_rect16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5519,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5523
      start: 5513
    functionDepth: 4
    functionLinenumber: 5513
    functionLinenumberEnd: 5523
    functionName: mark_fill_rect16_add_nospots_common_no_alpha_g
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - template_mark_fill_rect16
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add_nospots_common_no_alpha_g(int w, int h,
      uint16_t *gs_restrict dst_ptr, uint16_t *gs_restrict src, int num_comp, int
      num_spots, int first_blend_spot,\n               uint16_t src_alpha, int rowstride,
      int planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode,\n
      \              bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t
      curr_tag,\n               int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5572
      start: 5525
    functionDepth: 0
    functionLinenumber: 5525
    functionLinenumberEnd: 5572
    functionName: mark_fill_rect16_add3_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add3_common(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: art_pdf_composite_pixel_alpha_16_fast_mono
      Src: /src/libspectre/ghostscript/base/gxblend.c:5597,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 28
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha_
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape_
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5622
      start: 5574
    functionDepth: 4
    functionLinenumber: 5574
    functionLinenumberEnd: 5622
    functionName: mark_fill_rect16_add1_no_spots
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - art_pdf_composite_pixel_alpha_16_fast_mono
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add1_no_spots(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha_, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape_)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha_
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape_
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5687
      start: 5624
    functionDepth: 0
    functionLinenumber: 5624
    functionLinenumberEnd: 5687
    functionName: mark_fill_rect16_add1_no_spots_normal
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add1_no_spots_normal(int w, int h, uint16_t
      *gs_restrict dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots,
      int first_blend_spot,\n               uint16_t src_alpha_, int rowstride, int
      planestride, bool additive, pdf14_device *pdev, gs_blend_mode_t blend_mode,\n
      \              bool overprint, gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t
      curr_tag,\n               int alpha_g_off, int shape_off, uint16_t shape_)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 20
    argNames:
    - w
    - h
    - gs_restrict
    - gs_restrict
    - num_comp
    - num_spots
    - first_blend_spot
    - src_alpha
    - rowstride
    - planestride
    - additive
    - pdev
    - blend_mode
    - overprint
    - drawn_comps
    - tag_off
    - curr_tag
    - alpha_g_off
    - shape_off
    - shape
    argTypes:
    - int
    - int
    - uint16_t*
    - uint16_t*
    - int
    - int
    - int
    - uint16_t
    - int
    - int
    - bool
    - pdf14_device*
    - gs_blend_mode_t
    - bool
    - gx_color_index
    - int
    - gs_graphics_type_tag_t
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5730
      start: 5689
    functionDepth: 0
    functionLinenumber: 5689
    functionLinenumberEnd: 5730
    functionName: mark_fill_rect16_add1_no_spots_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void mark_fill_rect16_add1_no_spots_fast(int w, int h, uint16_t *gs_restrict
      dst_ptr, uint16_t *gs_restrict src, int num_comp, int num_spots, int first_blend_spot,\n
      \              uint16_t src_alpha, int rowstride, int planestride, bool additive,
      pdf14_device *pdev, gs_blend_mode_t blend_mode,\n               bool overprint,
      gx_color_index drawn_comps, int tag_off, gs_graphics_type_tag_t curr_tag,\n
      \              int alpha_g_off, int shape_off, uint16_t shape)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: blend_valid_for_spot
      Src: /src/libspectre/ghostscript/base/gxblend.c:5775,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gxblend.c:5785,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gxblend.c:5789,1
    - Dst: pdf14_device*::pdf14_procs::unpack_color16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5817,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxblend.c:5818,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxblend.c:5820,1
    - Dst: fn
      Src: /src/libspectre/ghostscript/base/gxblend.c:5883,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend.c:5892,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 98
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5902
      start: 5732
    functionDepth: 7
    functionLinenumber: 5732
    functionLinenumberEnd: 5902
    functionName: do_mark_fill_rectangle16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - pdf14_device*::pdf14_procs::unpack_color16
    - fn
    - floor
    - blend_valid_for_spot
    - dump_raw_buffer
    - if_debug9m
    - if_debug8m
    linkageType: ''
    returnType: int
    signature: "int do_mark_fill_rectangle16(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color, const gx_device_color
      *pdc,\n                         bool devn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: do_mark_fill_rectangle16
      Src: /src/libspectre/ghostscript/base/gxblend.c:5913,1
    - Dst: do_mark_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxblend.c:5915,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    - pdc
    - devn
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_device_color*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5916
      start: 5904
    functionDepth: 8
    functionLinenumber: 5904
    functionLinenumberEnd: 5916
    functionName: pdf14_mark_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 2
    functionsReached:
    - do_mark_fill_rectangle16
    - do_mark_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int pdf14_mark_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color, const gx_device_color
      *pdc,\n                          bool devn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gxblend.c:5931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5933
      start: 5921
    functionDepth: 0
    functionLinenumber: 5921
    functionLinenumberEnd: 5933
    functionName: dump_track_compose_groups
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void dump_track_compose_groups(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:88,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:91,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: os2_printer_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2pr.c
    functionUses: 0
    functionsReached:
    - return_error
    - memset
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int os2_printer_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 103
    functionName: os2_printer_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2pr.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void os2_printer_finit(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_fs_list_t*::fs::open_printer
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:123,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:134,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:136,1
    - Dst: pm_find_queue
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:137,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:138,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:141,1
    - Dst: gp_open_scratch_file_impl
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:146,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - FILE**
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 149
    functionName: os2_printer_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2pr.c
    functionUses: 0
    functionsReached:
    - gp_open_scratch_file_impl
    - strncpy
    - emprintf
    - return_error
    - gs_fopen_errno_to_code
    - gs_fs_list_t*::fs::open_printer
    - pm_find_queue
    linkageType: ''
    returnType: int
    signature: "int os2_printer_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n           FILE ** pfile, char *rfname, uint rnamelen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:155,1
    - Dst: pm_spool
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:156,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_os2pr.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 151
    functionDepth: 6
    functionLinenumber: 151
    functionLinenumberEnd: 159
    functionName: os2_printer_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2pr.c
    functionUses: 0
    functionsReached:
    - pm_spool
    - unlink
    - fclose
    linkageType: ''
    returnType: int
    signature: int os2_printer_fclose(gx_io_device * iodev, FILE * file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - alpha1
    - alpha2
    - alpha_mask
    argTypes:
    - byte
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: art_pdf_union_mul_8
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: byte art_pdf_union_mul_8(byte alpha1, byte alpha2, byte alpha_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - alpha1
    - alpha2_
    - alpha_mask
    argTypes:
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: art_pdf_union_mul_16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t art_pdf_union_mul_16(uint16_t alpha1, uint16_t alpha2_, uint16_t
      alpha_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: xfont_proc_lookup_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfont_proc_lookup_font(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: xfont_proc_char_xglyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfont_proc_char_xglyph(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: xfont_proc_char_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfont_proc_char_metrics(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    functionName: xfont_proc_render_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfont_proc_render_char(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: xfont_proc_release
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: xfont_proc_release(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - scope_st
    - ','
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 161
    functionName: gs__st_dev_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs__st_dev_ptrs1(scope_st, stname, stype, sname, penum, preloc, de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - stname
    - ','
    - stype
    - ','
    - sname
    - ','
    - penum
    - ','
    - preloc
    - ','
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: gs_private_st_dev_ptrs1
    functionSourceFile: /src/libspectre/ghostscript/base/gxxfont.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_private_st_dev_ptrs1(stname, stype, sname, penum, preloc, de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: private_st_device_rop_texture
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmrop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_rop_texture()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - font
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: DebugTrace
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DebugTrace( font, fmt )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - font
    - ','
    - fmt
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DebugTrace1
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DebugTrace1( font, fmt, x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttload.c:72,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:74,1
    - Dst: GET_ULong
      Src: /src/libspectre/ghostscript/base/ttload.c:77,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:79,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:81,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:82,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:83,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:84,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:86,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:87,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:89,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:90,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:91,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:92,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:93,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:94,1
    - Dst: GET_UShort
      Src: /src/libspectre/ghostscript/base/ttload.c:95,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/base/ttload.c:99,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/base/ttload.c:101,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 1
    argNames:
    - face
    argTypes:
    - PFace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 109
    functionName: Load_TrueType_MaxProfile
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.c
    functionUses: 0
    functionsReached:
    - MAX
    - DebugTrace
    - GET_UShort
    - GET_ULong
    - ttfReader*::Seek
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Load_TrueType_MaxProfile( PFace  face )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttload.c:131,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:135,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttload.c:145,1
    - Dst: ttfReader*::Eof
      Src: /src/libspectre/ghostscript/base/ttload.c:152,1
    - Dst: GET_Short
      Src: /src/libspectre/ghostscript/base/ttload.c:153,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - face
    argTypes:
    - PFace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 158
    functionName: Load_TrueType_CVT
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.c
    functionUses: 0
    functionsReached:
    - DebugTrace
    - ttfReader*::Eof
    - ttfMemory*::alloc_bytes
    - GET_Short
    - ttfReader*::Seek
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Load_TrueType_CVT( PFace  face )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:182,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:190,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttload.c:195,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttload.c:196,1
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttload.c:200,1
    - Dst: DebugTrace1
      Src: /src/libspectre/ghostscript/base/ttload.c:201,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:204,1
    - Dst: DebugTrace
      Src: /src/libspectre/ghostscript/base/ttload.c:211,1
    - Dst: ttfReader*::Seek
      Src: /src/libspectre/ghostscript/base/ttload.c:215,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttload.c:216,1
    - Dst: ttfReader*::Read
      Src: /src/libspectre/ghostscript/base/ttload.c:219,1
    - Dst: DebugTrace1
      Src: /src/libspectre/ghostscript/base/ttload.c:220,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 1
    argNames:
    - face
    argTypes:
    - PFace
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 224
    functionName: Load_TrueType_Programs
    functionSourceFile: /src/libspectre/ghostscript/base/ttload.c
    functionUses: 0
    functionsReached:
    - DebugTrace1
    - DebugTrace
    - ttfReader*::Read
    - ttfMemory*::alloc_bytes
    - ttfReader*::Seek
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error Load_TrueType_Programs( PFace  face )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: clamp_coord
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clamp_coord(xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - prect
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: gs_pathbbox
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_pathbbox(pgs, prect)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - penum
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    functionName: gs_path_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_path_enum_init(mem, penum, pgs)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:135,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:136,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:139,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:140,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:143,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:149,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:153,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:157,1
    - Dst: out_shift_update
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:194,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:239,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:251,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:266,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:289,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:308,1
    - Dst: out_shift_update
      Src: /src/libspectre/ghostscript/base/gsbitcom.c:318,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 102
    argCount: 9
    argNames:
    - src
    - srcx
    - width
    - height
    - sraster
    - dest
    - draster
    - plog2_scale
    - log2_out_bits
    argTypes:
    - byte*
    - int
    - uint
    - uint
    - uint
    - byte*
    - uint
    - gs_log2_scale_point*
    - int
    assertStmts:
    - condition: (log2_x >= 0 && log2_x < 3)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (width % xscale == 0)
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (height % yscale == 0)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (srcx % xscale == 0)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (log2_y >= 0 && log2_y < 3)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (in_shift_initial >= 0 && in_shift_initial < 8)
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (in_shift_initial >= 0 && in_shift_initial < 7 && in_shift_initial
        % 2 == 0)
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    - condition: (in_shift_initial == 0 || in_shift_initial == 4)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/libspectre/ghostscript/base/gsbitcom.c
    constantsTouched: []
    func_position:
      end: 331
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 331
    functionName: bits_compress_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitcom.c
    functionUses: 1
    functionsReached:
    - out_shift_update
    - if_debug1
    - if_debug3
    - assert
    linkageType: ''
    returnType: void
    signature: "void bits_compress_scaled(const byte * src, int srcx, uint width,
      uint height,\n                     uint sraster, byte * dest, uint draster,\n
      \                    const gs_log2_scale_point *plog2_scale, int log2_out_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - out_shift
    - ','
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: out_shift_update
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitcom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: out_shift_update(out_shift, nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - out_shift
    - ','
    - nbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: out_shift_update
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitcom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: out_shift_update(out_shift, nbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gspcolor.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ppat
    - type
    argTypes:
    - gs_pattern_template_t*
    - gs_pattern_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 80
    functionName: gs_pattern_common_init
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 2
    functionsReached:
    - uid_set_invalid
    linkageType: ''
    returnType: void
    signature: "void gs_pattern_common_init(gs_pattern_template_t * ppat,\n                       const
      gs_pattern_type_t *type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pattern_template_t*::type::procs::make_pattern
      Src: /src/libspectre/ghostscript/base/gspcolor.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pcc
    - pcp
    - pmat
    - pgs
    - mem
    argTypes:
    - gs_client_color*
    - gs_pattern_template_t*
    - gs_matrix*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: gs_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 1
    functionsReached:
    - gs_pattern_template_t*::type::procs::make_pattern
    linkageType: ''
    returnType: int
    signature: "int gs_make_pattern(gs_client_color * pcc, const gs_pattern_template_t
      * pcp,\n                const gs_matrix * pmat, gs_gstate * pgs, gs_memory_t
      * mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/base/gspcolor.c:105,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gspcolor.c:106,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspcolor.c:107,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/base/gspcolor.c:111,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gspcolor.c:113,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspcolor.c:114,1
    - Dst: gs_concat
      Src: /src/libspectre/ghostscript/base/gspcolor.c:116,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspcolor.c:117,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gspcolor.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 6
    argNames:
    - pcc
    - ptemp
    - pmat
    - pgs
    - mem
    - pstype
    argTypes:
    - gs_client_color*
    - gs_pattern_template_t*
    - gs_matrix*
    - gs_gstate*
    - gs_memory_t*
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 124
    functionName: gs_make_pattern_common
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 2
    functionsReached:
    - gs_concat
    - gs_newpath
    - rc_alloc_struct_1
    - gs_gstate_memory
    - gs_gstate_copy
    - return_error
    - gs_next_ids
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_make_pattern_common(gs_client_color *pcc,\n                       const
      gs_pattern_template_t *ptemp,\n                       const gs_matrix *pmat,
      gs_gstate *pgs, gs_memory_t *mem,\n                       gs_memory_type_ptr_t
      pstype)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_free
      Src: /src/libspectre/ghostscript/base/gspcolor.c:136,1
    - Dst: rc_free_struct_only
      Src: /src/libspectre/ghostscript/base/gspcolor.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - pinst_void
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: rc_free_pattern_instance
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - gs_gstate_free
    - rc_free_struct_only
    linkageType: ''
    returnType: void
    signature: "void rc_free_pattern_instance(gs_memory_t * mem, void *pinst_void,\n
      \                        client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_setpatternspace
      Src: /src/libspectre/ghostscript/base/gspcolor.c:144,1
    - Dst: gs_setcolor
      Src: /src/libspectre/ghostscript/base/gspcolor.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - pcc
    argTypes:
    - gs_gstate*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: gs_setpattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - gs_setcolor
    - gs_setpatternspace
    linkageType: ''
    returnType: int
    signature: int gs_setpattern(gs_gstate * pgs, const gs_client_color * pcc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspcolor.c:160,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gspcolor.c:161,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gspcolor.c:165,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspcolor.c:167,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gspcolor.c:172,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gspcolor.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 176
    functionName: gs_setpatternspace
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 1
    functionsReached:
    - gs_cspace_alloc
    - gx_unset_dev_color
    - cs_full_init_color
    - return_error
    - gs_currentcolorspace_inline
    linkageType: ''
    returnType: int
    signature: int gs_setpatternspace(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/base/gspcolor.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pcc
    - delta
    argTypes:
    - gs_client_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: gs_pattern_reference
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 1
    functionsReached:
    - rc_adjust
    linkageType: ''
    returnType: void
    signature: void gs_pattern_reference(gs_client_color * pcc, int delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pattern_instance_t*::type::procs::get_pattern
      Src: /src/libspectre/ghostscript/base/gspcolor.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcc
    argTypes:
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: gs_get_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - gs_pattern_instance_t*::type::procs::get_pattern
    linkageType: ''
    returnType: gs_pattern_template_t
    signature: 'gs_pattern_template_t *

      gs_get_pattern(const gs_client_color * pcc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gspcolor.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 214
    functionName: gx_num_components_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: int gx_num_components_Pattern(const gs_color_space * pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_set_null_pattern
      Src: /src/libspectre/ghostscript/base/gspcolor.c:225,1
    - Dst: gs_client_color*::pattern::type::procs::remap_color
      Src: /src/libspectre/ghostscript/base/gspcolor.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - pc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: gx_remap_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - color_set_null_pattern
    - gs_client_color*::pattern::type::procs::remap_color
    linkageType: ''
    returnType: int
    signature: "int gx_remap_Pattern(const gs_client_color * pc, const gs_color_space
      * pcs,\n                 gx_device_color * pdc, const gs_gstate * pgs,\n                 gx_device
      * dev, gs_color_select_t select)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_init_color
      Src: /src/libspectre/ghostscript/base/gspcolor.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 242
    functionName: gx_init_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - cs_init_color
    linkageType: ''
    returnType: void
    signature: void gx_init_Pattern(gs_client_color * pcc, const gs_color_space *
      pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_client_color*::pattern::type::procs::uses_base_space
      Src: /src/libspectre/ghostscript/base/gspcolor.c:254,1
    - Dst: gs_get_pattern
      Src: /src/libspectre/ghostscript/base/gspcolor.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 261
    functionName: gx_restrict_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - gs_client_color*::pattern::type::procs::uses_base_space
    - gs_get_pattern
    linkageType: ''
    returnType: void
    signature: void gx_restrict_Pattern(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: gx_install_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_install_Pattern(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gspcolor.c:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: gx_set_overprint_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_Pattern(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: gx_final_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_final_Pattern(const gs_color_space * pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust_only
      Src: /src/libspectre/ghostscript/base/gspcolor.c:307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - pcc
    - pcs
    - delta
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: gx_adjust_color_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - rc_adjust_only
    linkageType: ''
    returnType: void
    signature: "void gx_adjust_color_Pattern(const gs_client_color * pcc,\n                        const
      gs_color_space * pcs, int delta)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(cs_Pattern_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(cs_Pattern_reloc_ptrs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gspcolor.c:335,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gspcolor.c:339,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/base/gspcolor.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 345
    functionName: gx_serialize_Pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspcolor.c
    functionUses: 0
    functionsReached:
    - cs_serialize
    - sputs
    - gx_serialize_cspace_type
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gx_serialize_Pattern(const gs_color_space * pcs, stream
      * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: public_st_cmap_lookup_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcmap1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cmap_lookup_range()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: public_st_cmap_lookup_range_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcmap1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cmap_lookup_range_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: public_st_cmap_adobe1
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcmap1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cmap_adobe1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: private_st_gs_image3
    functionSourceFile: /src/libspectre/ghostscript/base/gsiparm3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_image3()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:94,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:96,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:97,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:99,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:100,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:101,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:102,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:103,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:104,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:108,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:109,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:110,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:111,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:112,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:113,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:114,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:115,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:116,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:117,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:118,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:119,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:120,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:121,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/ttfmemd.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 1
    argNames:
    - mptr
    argTypes:
    - TExecution_Context*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 123
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/ttfmemd.c
    functionUses: 1
    functionsReached:
    - DISCARD
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(TExecution_Context_reloc_ptrs, TExecution_Context
      *mptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: blend_is_idempotent
    functionSourceFile: /src/libspectre/ghostscript/base/gstparam.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: blend_is_idempotent(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - filename
    - printername
    - result
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 27
    functionName: gp_xpsprint
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nxpsprn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_xpsprint(char *filename, char *printername, int *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: private_st_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_segment()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: private_st_line
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_line()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: private_st_dash
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_dash()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 101
    functionName: private_st_line_close
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_line_close()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: private_st_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_curve()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 150
    functionName: private_st_subpath
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_subpath()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pstart
    - ','
    - pbox
    - ','
    - ppnext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: gx_subpath_is_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_subpath_is_rectangle(pstart, pbox, ppnext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: path_position_valid
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_position_valid(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: path_subpath_open
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_subpath_open(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: path_is_drawing
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_is_drawing(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 223
    functionName: path_outside_range
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_outside_range(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: path_last_is_moveto
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_last_is_moveto(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 231
    functionName: path_position_in_range
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_position_in_range(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: path_start_outside_range
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_start_outside_range(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: path_update_newpath
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_update_newpath(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: path_update_moveto
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_update_moveto(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: path_update_draw
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_update_draw(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: path_update_closepath
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: path_update_closepath(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: private_st_path_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_path_segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 337
    functionName: public_st_path
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_path()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: public_st_path_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_path_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 361
    functionName: gx_path_has_curves_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_has_curves_inline(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: gx_path_has_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_has_curves(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 365
    functionName: gx_path_is_void_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_void_inline(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 365
    functionDepth: 0
    functionLinenumber: 365
    functionLinenumberEnd: 367
    functionName: gx_path_is_void
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_void(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: gx_path_subpath_count
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_subpath_count(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 371
    functionName: gx_path_is_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_shared(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - ppt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 378
    functionName: gx_path_current_point_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gzpath.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_current_point_inline(pgs,ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/sjpegc.c:58,1
    - Dst: longjmp
      Src: /src/libspectre/ghostscript/base/sjpegc.c:60,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegc.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: gs_jpeg_error_exit
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - find_jmp_buf
    - longjmp
    - offset_of
    linkageType: ''
    returnType: void
    signature: void gs_jpeg_error_exit(j_common_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/base/sjpegc.c:71,1
    - Dst: gs_jpeg_error_exit
      Src: /src/libspectre/ghostscript/base/sjpegc.c:74,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - msg_level
    argTypes:
    - j_common_ptr
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 77
    functionName: gs_jpeg_emit_message
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - offset_of
    - gs_jpeg_error_exit
    linkageType: ''
    returnType: void
    signature: void gs_jpeg_emit_message(j_common_ptr cinfo, int msg_level)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 97
    functionName: gs_jpeg_error_setup
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 1
    functionsReached:
    - jpeg_std_error
    linkageType: ''
    returnType: void
    signature: void gs_jpeg_error_setup(stream_DCT_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: gs_jpeg_log_error
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 8
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_log_error(stream_DCT_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegc.c:121,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegc.c:121,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:122,1
    - Dst: jpeg_alloc_quant_table
      Src: /src/libspectre/ghostscript/base/sjpegc.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 127
    functionName: gs_jpeg_alloc_quant_table
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - setjmp
    - find_jmp_buf
    - jpeg_alloc_quant_table
    - gs_jpeg_log_error
    linkageType: ''
    returnType: JQUANT_TBL
    signature: 'JQUANT_TBL *

      gs_jpeg_alloc_quant_table(stream_DCT_state * st)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegc.c:132,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegc.c:132,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:133,1
    - Dst: jpeg_alloc_huff_table
      Src: /src/libspectre/ghostscript/base/sjpegc.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: gs_jpeg_alloc_huff_table
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - setjmp
    - find_jmp_buf
    - gs_jpeg_log_error
    - jpeg_alloc_huff_table
    linkageType: ''
    returnType: JHUFF_TBL
    signature: 'JHUFF_TBL *

      gs_jpeg_alloc_huff_table(stream_DCT_state * st)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegc.c:143,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegc.c:143,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:144,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:144,1
    - Dst: jpeg_destroy
      Src: /src/libspectre/ghostscript/base/sjpegc.c:147,1
    - Dst: gs_jpeg_mem_term
      Src: /src/libspectre/ghostscript/base/sjpegc.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: gs_jpeg_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 4
    functionsReached:
    - find_jmp_buf
    - gs_jpeg_mem_term
    - setjmp
    - jpeg_destroy
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_destroy(stream_DCT_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:156,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjpegc.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cinfo
    - size
    argTypes:
    - j_common_ptr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: gs_j_mem_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *gs_j_mem_alloc(j_common_ptr cinfo, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:163,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpegc.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cinfo
    - object
    - size
    argTypes:
    - j_common_ptr
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 166
    functionName: gs_j_mem_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_j_mem_free(j_common_ptr cinfo, void *object, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:170,1
    - Dst: gs_memory_chunk_wrap
      Src: /src/libspectre/ghostscript/base/sjpegc.c:173,1
    - Dst: jpeg_cust_mem_set_private
      Src: /src/libspectre/ghostscript/base/sjpegc.c:177,1
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 180
    functionName: gs_j_mem_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - gs_memory_chunk_wrap
    - jpeg_cust_mem_set_private
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: long
    signature: long gs_j_mem_init (j_common_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:184,1
    - Dst: gs_memory_chunk_unwrap
      Src: /src/libspectre/ghostscript/base/sjpegc.c:185,1
    - Dst: jpeg_cust_mem_set_private
      Src: /src/libspectre/ghostscript/base/sjpegc.c:190,1
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:190,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 191
    functionName: gs_j_mem_term
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 0
    functionsReached:
    - jpeg_cust_mem_set_private
    - GET_CUST_MEM_DATA
    - gs_memory_chunk_unwrap
    linkageType: ''
    returnType: void
    signature: void gs_j_mem_term (j_common_ptr cinfo)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/sjpegc.c:201,1
    - Dst: jpeg_cust_mem_init
      Src: /src/libspectre/ghostscript/base/sjpegc.c:206,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:209,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjpegc.c:212,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sjpegc.c:214,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpegc.c:217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mem
    - cinfo
    argTypes:
    - gs_memory_t*
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 223
    functionName: gs_jpeg_mem_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - jpeg_cust_mem_init
    - memset
    - memcpy
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_mem_init (gs_memory_t *mem, j_common_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/sjpegc.c:231,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpegc.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 237
    functionName: gs_jpeg_mem_term
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegc.c
    functionUses: 1
    functionsReached:
    - GET_CUST_MEM_DATA
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_jpeg_mem_term(j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 183
    functionName: bbox_default_init_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool bbox_default_init_box(void *pdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: BBOX_INIT_BOX
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BBOX_INIT_BOX(bdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: bbox_default_get_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbox_default_get_box(const void *pdata, gs_fixed_rect *pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bdev
    - ','
    - pbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: BBOX_GET_BOX
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BBOX_GET_BOX(bdev, pbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 5
    argNames:
    - pdata
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - void*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: bbox_default_add_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bbox_default_add_rect(void *pdata, fixed x0, fixed y0, fixed x1,
      fixed y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - bdev
    - ','
    - x0
    - ','
    - y0
    - ','
    - x1
    - ','
    - y1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: BBOX_ADD_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BBOX_ADD_RECT(bdev, x0, y0, x1, y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - bdev
    - ','
    - x0
    - ','
    - y0
    - ','
    - x1
    - ','
    - y1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    functionName: BBOX_ADD_INT_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BBOX_ADD_INT_RECT(bdev, x0, y0, x1, y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rect_within
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 224
    functionName: bbox_default_in_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - rect_within
    linkageType: ''
    returnType: bool
    signature: bool bbox_default_in_rect(const void *pdata, const gs_fixed_rect *pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - bdev
    - ','
    - pbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: BBOX_IN_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BBOX_IN_RECT(bdev, pbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:242,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:244,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - bdev
    - remap_colors
    argTypes:
    - gx_device_bbox*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 249
    functionName: bbox_copy_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - gx_device_copy_params
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: void bbox_copy_params(gx_device_bbox * bdev, bool remap_colors)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdevc
    - ','
    - bdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: GX_DC_IS_TRANSPARENT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_DC_IS_TRANSPARENT(pdevc, bdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:265,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:267,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:270,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 272
    functionName: bbox_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: int bbox_close_device(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:278,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:281,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:282,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:283,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:284,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:285,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:286,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:287,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:288,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:289,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:290,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:291,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:292,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:293,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:294,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:296,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:297,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:298,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:300,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:301,1
    - Dst: bbox_copy_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - dev
    - target
    - mem
    argTypes:
    - gx_device_bbox*
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: gx_device_bbox_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 1
    functionsReached:
    - gx_device_set_target
    - bbox_copy_params
    - gx_device_forward_fill_in_procs
    - gx_device_init
    - set_dev_proc
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: void
    signature: void gx_device_bbox_init(gx_device_bbox * dev, gx_device * target,
      gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - forward_open_close
    argTypes:
    - gx_device_bbox*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: gx_device_bbox_fwd_open_close
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_bbox_fwd_open_close(gx_device_bbox * dev, bool forward_open_close)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - bdev
    - white_is_opaque
    argTypes:
    - gx_device_bbox*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: gx_device_bbox_set_white_opaque
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_bbox_set_white_opaque(gx_device_bbox *bdev, bool white_is_opaque)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device_bbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: gx_device_bbox_release
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    linkageType: ''
    returnType: void
    signature: void gx_device_bbox_release(gx_device_bbox *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_GET_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:340,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:348,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:349,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:350,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:351,1
    - Dst: gs_deviceinitialmatrix
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:352,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:353,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - dev
    - pbbox
    argTypes:
    - gx_device_bbox*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 358
    functionName: gx_device_bbox_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gs_bbox_transform_inverse
    - BBOX_GET_BOX
    - gs_deviceinitialmatrix
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_device_bbox_bbox(gx_device_bbox * dev, gs_rect * pbbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:367,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:371,1
    - Dst: BBOX_INIT_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:376,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:381,1
    - Dst: bbox_copy_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:383,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 386
    functionName: bbox_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - install_internal_subclass_devices
    - bbox_copy_params
    - gx_device_forward_fill_in_procs
    - BBOX_INIT_BOX
    - gs_opendevice
    linkageType: ''
    returnType: int
    signature: int bbox_open_device(gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_bbox_bbox
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:400,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:403,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:404,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:404,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:405,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:405,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:406,1
    - Dst: gx_forward_output_page
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 388
    functionDepth: 2
    functionLinenumber: 388
    functionLinenumberEnd: 410
    functionName: bbox_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - dmlprintf4
    - gx_forward_output_page
    - floor
    - gx_device_bbox_bbox
    - ceil
    linkageType: ''
    returnType: int
    signature: int bbox_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:423,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 427
    functionName: bbox_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_rectangle(gx_device * dev, int x, int y, int w, int
      h,\n                    gx_color_index color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:439,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:445,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 447
    functionName: bbox_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_copy_mono(gx_device * dev, const byte * data,\n            int
      dx, int raster, gx_bitmap_id id, int x, int y, int w, int h,\n               gx_color_index
      zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:458,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 463
    functionName: bbox_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_copy_color(gx_device * dev, const byte * data,\n            int
      dx, int raster, gx_bitmap_id id, int x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:475,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 480
    functionName: bbox_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \               int raster, gx_bitmap_id id, int x, int y, int w, int h,\n                gx_color_index
      color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:492,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 496
    functionName: bbox_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, gx_color_index color0, gx_color_index
      color1,\n                          int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:508,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 512
    functionName: bbox_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n   int x, int y, int w, int h, const gx_drawing_color *pdcolor0, \n
      \  const gx_drawing_color *pdcolor1, int px, int py)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:529,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 535
    functionName: bbox_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_strip_copy_rop(gx_device * dev,\n                    const
      byte * sdata, int sourcex, uint sraster,\n                    gx_bitmap_id id,\n
      \                   const gx_color_index * scolors,\n                    const
      gx_strip_bitmap * textures,\n                    const gx_color_index * tcolors,\n
      \                   int x, int y, int w, int h,\n                    int phase_x,
      int phase_y, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:553,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 537
    functionDepth: 1
    functionLinenumber: 537
    functionLinenumberEnd: 560
    functionName: bbox_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_INT_RECT
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_strip_copy_rop2(gx_device * dev,\n                    const
      byte * sdata, int sourcex, uint sraster,\n                    gx_bitmap_id id,\n
      \                   const gx_color_index * scolors,\n                    const
      gx_strip_bitmap * textures,\n                    const gx_color_index * tcolors,\n
      \                   int x, int y, int w, int h,\n                    int phase_x,
      int phase_y, gs_logical_operation_t lop,\n                    uint planar_height)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_get_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:570,1
    - Dst: BBOX_GET_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:583,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:584,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:585,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:586,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:587,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:589,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:592,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 565
    functionDepth: 2
    functionLinenumber: 565
    functionLinenumberEnd: 594
    functionName: bbox_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_forward_get_params
    - BBOX_GET_BOX
    - param_write_bool
    - param_write_float_array
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int bbox_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:609,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:614,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:620,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:626,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:629,1
    - Dst: gx_forward_put_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:635,1
    - Dst: BBOX_INIT_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:640,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:641,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:641,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:641,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:642,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:642,1
    - Dst: bbox_copy_params
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:646,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 599
    functionDepth: 2
    functionLinenumber: 599
    functionLinenumberEnd: 648
    functionName: bbox_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_forward_put_params
    - bbox_copy_params
    - param_read_bool
    - BBOX_ADD_RECT
    - BBOX_INIT_BOX
    - param_signal_error
    - gs_note_error
    - param_read_float_array
    linkageType: ''
    returnType: int
    signature: int bbox_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - edge
    - y
    argTypes:
    - gs_fixed_edge*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: edge_x_at_y
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - fixed_mult_quo
    linkageType: ''
    returnType: fixed
    signature: fixed edge_x_at_y(const gs_fixed_edge * edge, fixed y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:670,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:673,1
    - Dst: edge_x_at_y
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:676,1
    - Dst: edge_x_at_y
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:679,1
    - Dst: edge_x_at_y
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:682,1
    - Dst: edge_x_at_y
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:685,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:686,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:686,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:687,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:687,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:688,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:688,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:691,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 659
    functionDepth: 2
    functionLinenumber: 659
    functionLinenumberEnd: 696
    functionName: bbox_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_RECT
    - max
    - edge_x_at_y
    - min
    - dev_proc
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_trapezoid(gx_device * dev,\n                    const
      gs_fixed_edge * left, const gs_fixed_edge * right,\n                    fixed
      ybot, fixed ytop, bool swap_axes,\n                    const gx_device_color
      * pdevc, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:709,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:712,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:728,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:729,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 734
    functionName: bbox_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - SET_MIN_MAX
    - dev_proc
    - BBOX_ADD_RECT
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_parallelogram(gx_device * dev,\n                        fixed
      px, fixed py, fixed ax, fixed ay,\n                        fixed bx, fixed by,
      const gx_device_color * pdevc,\n                        gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vmin
    - ','
    - vmax
    - ','
    - av
    - ','
    - bv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: SET_MIN_MAX
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MIN_MAX(vmin, vmax, av, bv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:746,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:749,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:765,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:766,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 771
    functionName: bbox_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - SET_MIN_MAX
    - dev_proc
    - BBOX_ADD_RECT
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_triangle(gx_device * dev,\n                   fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                   const
      gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vmin
    - ','
    - vmax
    - ','
    - av
    - ','
    - bv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 753
    functionDepth: 0
    functionLinenumber: 753
    functionLinenumberEnd: 765
    functionName: SET_MIN_MAX
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MIN_MAX(vmin, vmax, av, bv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:784,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:787,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:798,1
    - Dst: SET_MIN_MAX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:799,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdevc
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 804
    functionName: bbox_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - SET_MIN_MAX
    - dev_proc
    - BBOX_ADD_RECT
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_draw_thin_line(gx_device * dev,\n                    fixed
      fx0, fixed fy0, fixed fx1, fixed fy1,\n                    const gx_device_color
      * pdevc, gs_logical_operation_t lop,\n                    fixed adjustx, fixed
      adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vmin
    - ','
    - vmax
    - ','
    - av
    - ','
    - bv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 798
    functionName: SET_MIN_MAX
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_MIN_MAX(vmin, vmax, av, bv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pbox
    - ','
    - adj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 811
    functionName: adjust_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: adjust_box(pbox, adj)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:819,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:820,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:821,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:832,1
    - Dst: adjust_box
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:834,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:835,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:837,1
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:837,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:841,1
    - Dst: adjust_box
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:844,1
    - Dst: BBOX_IN_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:849,1
    - Dst: fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:850,1
    - Dst: fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:856,1
    - Dst: fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:858,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:871,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:873,1
    - Dst: fill_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:877,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 878
    functionName: bbox_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    - dev_proc_fill_path
    - gx_cpath_inner_box
    - BBOX_IN_RECT
    - adjust_box
    - gx_path_is_void
    - gx_path_bbox
    - BBOX_ADD_RECT
    - fill_path
    - dev_proc
    - set_nonclient_dev_color
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n               const gx_fill_params * params, const gx_device_color
      * pdevc,\n               const gx_clip_path * pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:890,1
    - Dst: GX_DC_IS_TRANSPARENT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:892,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:897,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:898,1
    - Dst: adjust_box
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:901,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:906,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:913,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:915,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:919,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 923
    functionName: bbox_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_cpath_includes_rectangle
    - gx_stroke_path_expansion
    - adjust_box
    - gx_path_bbox
    - BBOX_ADD_RECT
    - gx_default_stroke_path
    - dev_proc
    - set_nonclient_dev_color
    - GX_DC_IS_TRANSPARENT
    linkageType: ''
    returnType: int
    signature: "int bbox_stroke_path(gx_device * dev, const gs_gstate * pgs, gx_path
      * ppath,\n                 const gx_stroke_params * params,\n                 const
      gx_drawing_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:937,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:942,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:942,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:942,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:943,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:944,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:949,1
    - Dst: BBOX_ADD_INT_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:954,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 13
    argNames:
    - dev
    - data
    - dx
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 925
    functionDepth: 2
    functionLinenumber: 925
    functionLinenumberEnd: 957
    functionName: bbox_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_cpath_includes_rectangle
    - gx_default_fill_mask
    - BBOX_ADD_INT_RECT
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int bbox_fill_mask(gx_device * dev,\n               const byte * data,
      int dx, int raster, gx_bitmap_id id,\n               int x, int y, int w, int
      h,\n               const gx_drawing_color * pdcolor, int depth,\n               gs_logical_operation_t
      lop, const gx_clip_path * pcpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:995,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:996,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:997,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1000,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1003,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1017,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 7
    argNames:
    - pgs
    - pmat
    - pic
    - prect
    - pcpath
    - memory
    - ppbe
    argTypes:
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_clip_path*
    - gs_memory_t*
    - bbox_image_enum**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 1025
    functionName: bbox_image_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - ctm_only
    - gs_free_object
    - return_error
    - gs_matrix_invert
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int bbox_image_begin(const gs_gstate * pgs, const gs_matrix * pmat,\n
      \                const gs_image_common_t * pic, const gs_int_rect * prect,\n
      \                const gx_clip_path * pcpath, gs_memory_t * memory,\n                 bbox_image_enum
      ** ppbe)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1033,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pbe
    argTypes:
    - bbox_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1027
    functionDepth: 0
    functionLinenumber: 1027
    functionLinenumberEnd: 1037
    functionName: bbox_image_copy_target_info
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void bbox_image_copy_target_info(bbox_image_enum * pbe)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bbox_image_begin
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1049,1
    - Dst: dev_proc_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1060,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1067,1
    - Dst: bbox_image_end_image
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1073,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1081,1
    - Dst: bbox_image_copy_target_info
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1087,1
    - Dst: gx_image_planes_wanted
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1093
    functionName: bbox_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_image_planes_wanted
    - bbox_image_begin
    - gx_image_enum_common_init
    - dev_proc_begin_typed_image
    - bbox_image_end_image
    - bbox_image_copy_target_info
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_begin_typed_image(gx_device * dev,\n                       const
      gs_gstate * pgs, const gs_matrix * pmat,\n                   const gs_image_common_t
      * pic, const gs_int_rect * prect,\n                       const gx_drawing_color
      * pdcolor,\n                       const gx_clip_path * pcpath,\n                       gs_memory_t
      * memory, gx_image_enum_common_t ** pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1110,1
    - Dst: bbox_image_copy_target_info
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1113,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1117,1
    - Dst: gs_bbox_transform_only
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1118,1
    - Dst: gs_points_bbox
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1119,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1120,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1121,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1122,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1123,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1125,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1132,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1132,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1133,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1133,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1135,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1136,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1138,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1139,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1140,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1142,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1143,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1144,1
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1152
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1152
    functionName: bbox_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_make_clip_device_on_stack
    - bbox_image_copy_target_info
    - float2fixed
    - gx_cpath_includes_rectangle
    - gx_image_plane_data_rows
    - gs_points_bbox
    - BBOX_ADD_RECT
    - gx_default_fill_triangle
    - gs_bbox_transform_only
    - min
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int bbox_image_plane_data(gx_image_enum_common_t * info,\n                      const
      gx_image_plane_t * planes, int height,\n                      int *rows_used)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1161,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1165
    functionName: bbox_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 1
    functionsReached:
    - gx_image_free_enum
    - gx_image_end
    linkageType: ''
    returnType: int
    signature: int bbox_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_image_enum_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1167
    functionDepth: 1
    functionLinenumber: 1167
    functionLinenumberEnd: 1174
    functionName: bbox_image_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_image_flush
    linkageType: ''
    returnType: int
    signature: int bbox_image_flush(gx_image_enum_common_t * info)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_planes_wanted
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - wanted
    argTypes:
    - gx_image_enum_common_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1176
    functionDepth: 1
    functionLinenumber: 1176
    functionLinenumberEnd: 1183
    functionName: bbox_image_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gx_image_planes_wanted
    linkageType: ''
    returnType: bool
    signature: bool bbox_image_planes_wanted(const gx_image_enum_common_t * info,
      byte *wanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_INIT_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1187
    functionDepth: 1
    functionLinenumber: 1187
    functionLinenumberEnd: 1193
    functionName: bbox_forward_init_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_INIT_BOX
    linkageType: ''
    returnType: bool
    signature: bool bbox_forward_init_box(void *pdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_GET_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1194
    functionDepth: 1
    functionLinenumber: 1194
    functionLinenumberEnd: 1200
    functionName: bbox_forward_get_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_GET_BOX
    linkageType: ''
    returnType: void
    signature: void bbox_forward_get_box(const void *pdata, gs_fixed_rect *pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_ADD_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdata
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - void*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1207
    functionName: bbox_forward_add_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_ADD_RECT
    linkageType: ''
    returnType: void
    signature: void bbox_forward_add_rect(void *pdata, fixed x0, fixed y0, fixed x1,
      fixed y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_IN_RECT
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdata
    - pbox
    argTypes:
    - void*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1208
    functionDepth: 1
    functionLinenumber: 1208
    functionLinenumberEnd: 1214
    functionName: bbox_forward_in_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_IN_RECT
    linkageType: ''
    returnType: bool
    signature: bool bbox_forward_in_rect(const void *pdata, const gs_fixed_rect *pbox)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1244,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1252,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1256,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1257,1
    - Dst: gx_device_bbox_init
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1259,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1260,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cindev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1220
    functionDepth: 3
    functionLinenumber: 1220
    functionLinenumberEnd: 1266
    functionName: bbox_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_immovable
    - gx_device_set_target
    - gx_device_bbox_init
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int bbox_create_compositor(gx_device * dev,\n                       gx_device
      ** pcdev, const gs_composite_t * pcte,\n                       gs_gstate * pgs,
      gs_memory_t * memory, gx_device *cindev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1278,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppenum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1270
    functionDepth: 3
    functionLinenumber: 1270
    functionLinenumberEnd: 1287
    functionName: bbox_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - rc_assign
    - gx_default_text_begin
    linkageType: ''
    returnType: int
    signature: "int bbox_text_begin(gx_device * dev, gs_gstate * pgs,\n                const
      gs_text_params_t * text, gs_font * font,\n                gx_path * path, const
      gx_device_color * pdcolor,\n                const gx_clip_path * pcpath,\n                gs_memory_t
      * memory, gs_text_enum_t ** ppenum)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BBOX_INIT_BOX
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1297,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevbbox.c:1300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1301
    functionName: bbox_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevbbox.c
    functionUses: 0
    functionsReached:
    - BBOX_INIT_BOX
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int bbox_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color
      *pdevc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/pack_ps.c:71,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/pack_ps.c:81,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/base/pack_ps.c:83,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/pack_ps.c:88,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - in
    - str
    - len
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 92
    functionName: readline
    functionSourceFile: /src/libspectre/ghostscript/base/pack_ps.c
    functionUses: 2
    functionsReached:
    - getc
    - ungetc
    linkageType: ''
    returnType: bool
    signature: bool readline(FILE * in, char *str, int len)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/pack_ps.c:137,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/pack_ps.c:138,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/pack_ps.c:139,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:140,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/pack_ps.c:158,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/pack_ps.c:164,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/pack_ps.c:175,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:215,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:216,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:224,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:224,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:230,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 80
    argCount: 4
    argNames:
    - inputline
    - outputline
    - comment
    - nopack
    argTypes:
    - char*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 231
    functionName: pack_postscript_line
    functionSourceFile: /src/libspectre/ghostscript/base/pack_ps.c
    functionUses: 0
    functionsReached:
    - strchr
    - strncmp
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int pack_postscript_line(const char *inputline, char *outputline, char
      *comment, bool nopack)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:236,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:237,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:238,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:239,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:240,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:241,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - outfilename
    - arrayname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 243
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/base/pack_ps.c
    functionUses: 35
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void usage(const char *outfilename, const char *arrayname)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/libspectre/ghostscript/base/pack_ps.c:274,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:275,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/base/pack_ps.c:288,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:289,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/base/pack_ps.c:297,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:298,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/base/pack_ps.c:318,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:319,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:323,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:324,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:325,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:326,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:328,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:330,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:331,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:333,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:335,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:336,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:337,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/pack_ps.c:341,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/base/pack_ps.c:342,1
    - Dst: time
      Src: /src/libspectre/ghostscript/base/pack_ps.c:345,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:347,1
    - Dst: readline
      Src: /src/libspectre/ghostscript/base/pack_ps.c:349,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:353,1
    - Dst: pack_postscript_line
      Src: /src/libspectre/ghostscript/base/pack_ps.c:354,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:355,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/pack_ps.c:359,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:359,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:363,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:364,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:365,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:366,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/pack_ps.c:377,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:377,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/pack_ps.c:378,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/pack_ps.c:378,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:383,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:384,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:385,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:386,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:407,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:410,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:414,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:420,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:423,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:427,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:428,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:434,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:435,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:436,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/pack_ps.c:437,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:442,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:443,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/pack_ps.c:445,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:449,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/pack_ps.c:450,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 453
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/pack_ps.c
    functionUses: 15
    functionsReached:
    - usage
    - strtoul
    - printf
    - readline
    - strlen
    - strncmp
    - fprintf
    - pack_postscript_line
    - fopen
    - getenv
    - exit
    - time
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Windows::Foundation::GetActivationFactory
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:30,1
    - Dst: Microsoft::WRL::Wrappers::HStringReference
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:30,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:32,1
    - Dst: Microsoft::WRL::ComPtr<ABI::Windows::Storage::IApplicationDataStatics>::get_Current
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:36,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:37,1
    - Dst: Microsoft::WRL::ComPtr<ABI::Windows::Storage::IApplicationData>::get_TemporaryFolder
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:41,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:42,1
    - Dst: Microsoft::WRL::ComPtr<ABI::Windows::Storage::IStorageFolder>::As
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:46,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:47,1
    - Dst: Microsoft::WRL::ComPtr<ABI::Windows::Storage::IStorageItem>::get_Path
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:51,1
    - Dst: FAILED
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:52,1
    - Dst: WindowsGetStringRawBuffer
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:56,1
    - Dst: wcsncpy
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:58,1
    - Dst: std::wstring::c_str
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:58,1
    - Dst: WindowsDeleteString
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:60,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:61,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - nBufferLength
    - lpBuffer
    argTypes:
    - DWORD
    - LPWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 67
    functionName: GetTempPathWRT
    functionSourceFile: /src/libspectre/ghostscript/base/winrtsup.cpp
    functionUses: 0
    functionsReached:
    - FAILED
    - Windows::Foundation::GetActivationFactory
    - std::wstring::c_str
    - Microsoft::WRL::ComPtr<ABI::Windows::Storage::IApplicationDataStatics>::get_Current
    - WindowsGetStringRawBuffer
    - Microsoft::WRL::ComPtr<ABI::Windows::Storage::IStorageItem>::get_Path
    - Microsoft::WRL::ComPtr<ABI::Windows::Storage::IApplicationData>::get_TemporaryFolder
    - Microsoft::WRL::ComPtr<ABI::Windows::Storage::IStorageFolder>::As
    - wcsncpy
    - WindowsDeleteString
    - Microsoft::WRL::Wrappers::HStringReference
    - std::wstring::length
    linkageType: ''
    returnType: DWORD
    signature: DWORD GetTempPathWRT(DWORD nBufferLength, LPWSTR lpBuffer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: std::wstring::empty
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:77,1
    - Dst: std::wstring::back
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:77,1
    - Dst: std::wstring::push_back
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:78,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:80,1
    - Dst: GetSystemTimeAsFileTime
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:83,1
    - Dst: std::to_wstring
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:90,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:91,1
    - Dst: std::wstring::substr
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:92,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:92,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:94,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:94,1
    - Dst: std::wstring::resize
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:95,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:95,1
    - Dst: FindFirstFileExW
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:100,1
    - Dst: std::wstring::c_str
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:100,1
    - Dst: wcscpy
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:104,1
    - Dst: std::wstring::c_str
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:104,1
    - Dst: std::wstring::length
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:105,1
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - lpPathName
    - lpPrefixString
    - lpTempFileName
    argTypes:
    - LPCWSTR
    - LPCWSTR
    - LPWSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 69
    functionDepth: 2
    functionLinenumber: 69
    functionLinenumberEnd: 119
    functionName: GetTempFileNameWRT
    functionSourceFile: /src/libspectre/ghostscript/base/winrtsup.cpp
    functionUses: 0
    functionsReached:
    - FindClose
    - std::wstring::c_str
    - std::wstring::resize
    - GetSystemTimeAsFileTime
    - std::wstring::push_back
    - std::to_wstring
    - std::wstring::back
    - std::wstring::empty
    - wcscpy
    - std::wstring::substr
    - std::wstring::length
    - FindFirstFileExW
    linkageType: ''
    returnType: UINT
    signature: UINT GetTempFileNameWRT(LPCWSTR lpPathName, LPCWSTR lpPrefixString,
      LPWSTR lpTempFileName)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::string::begin
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:126,1
    - Dst: std::string::end
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:126,1
    - Dst: OutputDebugStringW
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:127,1
    - Dst: std::wstring::c_str
      Src: /src/libspectre/ghostscript/base/winrtsup.cpp:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - LPCSTR
    - DWORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: OutputDebugStringWRT
    functionSourceFile: /src/libspectre/ghostscript/base/winrtsup.cpp
    functionUses: 0
    functionsReached:
    - OutputDebugStringW
    - std::string::begin
    - std::wstring::c_str
    - std::string::end
    linkageType: ''
    returnType: void
    signature: void OutputDebugStringWRT(LPCSTR str, DWORD len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(a, b, c, d, e, f, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ptr
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: put6
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put6(ptr, a, b, c, d, e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - wxyz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: putw
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putw(ptr, wxyz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: set_color48_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color48_cache(color, a, b, c, d, e, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: set_color48_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color48_cache(color, a, b, c, d, e, f)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm48.c:98,1
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:99,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevm48.c:106,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:107,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:114,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:115,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:119,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm48.c:119,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevm48.c:121,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:122,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:133,1
    - Dst: set_color48_cache
      Src: /src/libspectre/ghostscript/base/gdevm48.c:134,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:142,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevm48.c:144,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gdevm48.c:150,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:156,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm48.c:156,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm48.c:165,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm48.c:172,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm48.c:173,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm48.c:174,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm48.c:180,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:187,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm48.c:191,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevm48.c:191,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:192,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:202,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:214,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:226,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:234,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 244
    functionName: mem_true48_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - countof
    - INCR
    - memmove
    - max
    - declare_scan_ptr
    - memset
    - fit_fill_xywh
    - setup_rect
    - set_color48_cache
    - min
    - putw
    linkageType: ''
    returnType: int
    signature: "int mem_true48_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:257,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm48.c:259,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:260,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm48.c:266,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm48.c:267,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:278,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:280,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:287,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm48.c:291,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:313,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:323,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:325,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:327,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:329,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:333,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:335,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:337,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:339,1
    - Dst: put6
      Src: /src/libspectre/ghostscript/base/gdevm48.c:350,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm48.c:357,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 361
    functionName: mem_true48_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - put6
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true48_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm48.c:371,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: mem_true48_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true48_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm48.c:403,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm48.c:404,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:406,1
    - Dst: mem_true48_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm48.c:407,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 410
    functionName: mem48_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_true48_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem48_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm48.c:423,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm48.c:424,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:427,1
    - Dst: mem_true48_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm48.c:428,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: mem48_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - mem_true48_copy_mono
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem48_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm48.c:444,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm48.c:445,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:447,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm48.c:448,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm48.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 452
    functionName: mem48_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm48.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem48_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: cs_always_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cs_always_linear
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: set_colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: clear_colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 374
    functionName: set_colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 377
    functionName: clear_colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clear_colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pbit_map
    - ','
    - comp_list
    - ','
    - comp_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: colorant_present
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: colorant_present(pbit_map, comp_list, comp_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: SET_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NUM_ADJUST(alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: ADD_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_NUM_ADJUST(num, alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: MAX_MINUS_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_MINUS_NUM_ADJUST(alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: SET_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NUM_ADJUST(alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - num
    - ','
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: ADD_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_NUM_ADJUST(num, alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: MAX_MINUS_NUM_ADJUST
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX_MINUS_NUM_ADJUST(alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - alp
    - ','
    - startp
    - ','
    - endp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 63
    functionName: SET_AL_POINTS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_AL_POINTS(alp, startp, endp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alp
    - ','
    - yv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 79
    functionName: AL_X_AT_Y
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AL_X_AT_Y(alp, yv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: INCR_EXPR
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_EXPR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: INCR_BY
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_BY(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: INCR_EXPR
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_EXPR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: INCR_BY
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR_BY(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:132,1
    - Dst: gx_cpath_set_outer_box
      Src: /src/libspectre/ghostscript/base/gxcpath.c:136,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxcpath.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pcpath
    - pbox
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 139
    functionName: cpath_init_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_cpath_set_outer_box
    - gx_clip_list_from_rectangle
    - gs_next_ids
    linkageType: ''
    returnType: void
    signature: void cpath_init_rectangle(gx_clip_path * pcpath, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpath_init_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: cpath_init_own_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - cpath_init_rectangle
    linkageType: ''
    returnType: void
    signature: void cpath_init_own_contents(gx_clip_path * pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pcpath
    - shared
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: cpath_share_own_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cpath_share_own_contents(gx_clip_path * pcpath, const gx_clip_path
      * shared)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gxcpath.c:164,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - prlist
    - mem
    - cname
    argTypes:
    - gx_clip_rect_list**
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: cpath_alloc_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - return_error
    - rc_alloc_struct_1
    linkageType: ''
    returnType: int
    signature: "int cpath_alloc_list(gx_clip_rect_list ** prlist, gs_memory_t * mem,\n
      \                client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxcpath.c:175,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:177,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:182,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:183,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:184,1
    - Dst: cpath_alloc_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:186,1
    - Dst: gx_path_alloc_contained
      Src: /src/libspectre/ghostscript/base/gxcpath.c:190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:192,1
    - Dst: cpath_init_own_contents
      Src: /src/libspectre/ghostscript/base/gxcpath.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 4
    argNames:
    - pcpath
    - shared
    - mem
    - cname
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 199
    functionName: gx_cpath_init_contained_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_path_alloc_contained
    - rc_increment
    - cpath_init_own_contents
    - lprintf1
    - return_error
    - cpath_alloc_list
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_init_contained_shared(gx_clip_path * pcpath,\n        const
      gx_clip_path * shared, gs_memory_t * mem, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pcpath
    - ','
    - shared
    - ','
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: gx_cpath_alloc_contents
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cpath_alloc_contents(pcpath, shared, mem, cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxcpath.c:209,1
    - Dst: gx_cpath_alloc_contents
      Src: /src/libspectre/ghostscript/base/gxcpath.c:214,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - shared
    - mem
    - cname
    argTypes:
    - gx_clip_path*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 221
    functionName: gx_cpath_alloc_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 2
    functionsReached:
    - gx_cpath_alloc_contents
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_clip_path
    signature: "gx_clip_path *\ngx_cpath_alloc_shared(const gx_clip_path * shared,
      gs_memory_t * mem,\n                      client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxcpath.c:233,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:235,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:239,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:241,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:243,1
    - Dst: cpath_share_own_contents
      Src: /src/libspectre/ghostscript/base/gxcpath.c:244,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:247,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:248,1
    - Dst: cpath_init_own_contents
      Src: /src/libspectre/ghostscript/base/gxcpath.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 4
    argNames:
    - pcpath
    - shared
    - mem
    - safely_nested
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 253
    functionName: gx_cpath_init_local_shared_nested
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 3
    functionsReached:
    - rc_init_free
    - rc_increment
    - cpath_init_own_contents
    - gx_path_init_local
    - lprintf1
    - return_error
    - cpath_share_own_contents
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_init_local_shared_nested(gx_clip_path * pcpath,\n                            const
      gx_clip_path * shared,\n                                  gs_memory_t  * mem,\n
      \                                 bool           safely_nested)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_init_local_shared_nested
      Src: /src/libspectre/ghostscript/base/gxcpath.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcpath
    - shared
    - mem
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 255
    functionDepth: 4
    functionLinenumber: 255
    functionLinenumberEnd: 260
    functionName: gx_cpath_init_local_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_init_local_shared_nested
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_init_local_shared(gx_clip_path * pcpath, const gx_clip_path
      * shared,\n                           gs_memory_t * mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_unshare
      Src: /src/libspectre/ghostscript/base/gxcpath.c:266,1
    - Dst: cpath_alloc_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:272,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxcpath.c:280,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 284
    functionName: gx_cpath_unshare
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - cpath_alloc_list
    - memset
    - gx_path_unshare
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_cpath_unshare(gx_clip_path * pcpath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:293,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:294,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:303,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:304,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pcpath
    - cname
    argTypes:
    - gx_clip_path*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 308
    functionName: gx_cpath_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 8
    functionsReached:
    - gx_path_free
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_cpath_free(gx_clip_path * pcpath, client_name_t cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:314,1
    - Dst: cpath_alloc_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:325,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:329,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:332,1
    - Dst: rc_free_cpath_list_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:335,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:340,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:343,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:344,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:346,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - pcpto
    - pcpfrom
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 350
    functionName: gx_cpath_assign_preserve
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_path_assign_preserve
    - rc_increment
    - cpath_alloc_list
    - rc_decrement
    - rc_free_cpath_list_local
    linkageType: ''
    returnType: int
    signature: int gx_cpath_assign_preserve(gx_clip_path * pcpto, gx_clip_path * pcpfrom)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:356,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pcpto
    - pcpfrom
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 353
    functionDepth: 4
    functionLinenumber: 353
    functionLinenumberEnd: 362
    functionName: gx_cpath_assign_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_cpath_free
    - gx_cpath_assign_preserve
    linkageType: ''
    returnType: int
    signature: int gx_cpath_assign_free(gx_clip_path * pcpto, gx_clip_path * pcpfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - vrlist
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 372
    functionName: rc_free_cpath_list_local
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_clip_list_free
    linkageType: ''
    returnType: void
    signature: "void rc_free_cpath_list_local(gs_memory_t * mem, void *vrlist,\n                         client_name_t
      cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_free_cpath_list_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:376,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - vrlist
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 378
    functionName: rc_free_cpath_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - rc_free_cpath_list_local
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_free_cpath_list(gs_memory_t * mem, void *vrlist, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:384,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:385,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - vplist
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 387
    functionName: rc_free_cpath_path_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void rc_free_cpath_path_list(gs_memory_t * mem, void *vplist, client_name_t
      cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxcpath.c:398,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:402,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:403,1
    - Dst: gx_path_init_contained_shared
      Src: /src/libspectre/ghostscript/base/gxcpath.c:405,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:407,1
    - Dst: gx_cpath_to_path
      Src: /src/libspectre/ghostscript/base/gxcpath.c:410,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:412,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:413,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:418,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 6
    argNames:
    - mem
    - pcpath
    - rule
    - ppfrom
    - next
    - pnew
    argTypes:
    - gs_memory_t*
    - gx_clip_path*
    - int
    - gx_path*
    - gx_cpath_path_list*
    - gx_cpath_path_list**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 392
    functionDepth: 3
    functionLinenumber: 392
    functionLinenumberEnd: 422
    functionName: gx_cpath_path_list_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_cpath_to_path
    - rc_init_free
    - gx_path_assign_preserve
    - rc_increment
    - gs_alloc_struct
    - gx_path_init_local
    - return_error
    - gx_path_init_contained_shared
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_path_list_new(gs_memory_t *mem, gx_clip_path *pcpath,
      int rule,\n                        gx_path *ppfrom, gx_cpath_path_list *next,
      gx_cpath_path_list **pnew)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_enum_init
      Src: /src/libspectre/ghostscript/base/gxcpath.c:435,1
    - Dst: gx_cpath_enum_next
      Src: /src/libspectre/ghostscript/base/gxcpath.c:436,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxcpath.c:439,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:442,1
    - Dst: gx_cpath_enum_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:443,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:446,1
    - Dst: gx_cpath_enum_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:447,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:450,1
    - Dst: gx_cpath_enum_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:453,1
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:456,1
    - Dst: gx_cpath_enum_notes
      Src: /src/libspectre/ghostscript/base/gxcpath.c:457,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:461,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - pcpath
    - ppath
    argTypes:
    - gx_clip_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 467
    functionName: gx_cpath_to_path_synthesize
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_path_add_curve_notes
    - gx_cpath_enum_init
    - gx_cpath_enum_notes
    - gx_path_add_gap_notes
    - gx_path_add_point
    - gx_path_add_line_notes
    - gx_path_close_subpath_notes
    - gs_note_error
    - gx_cpath_enum_next
    linkageType: ''
    returnType: int
    signature: int gx_cpath_to_path_synthesize(const gx_clip_path * pcpath, gx_path
      * ppath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:477,1
    - Dst: gx_cpath_to_path_synthesize
      Src: /src/libspectre/ghostscript/base/gxcpath.c:478,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:480,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:483,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pcpath
    - ppath
    argTypes:
    - gx_clip_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 470
    functionDepth: 4
    functionLinenumber: 470
    functionLinenumberEnd: 489
    functionName: gx_cpath_to_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 3
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gx_path_assign_preserve
    - gx_cpath_to_path_synthesize
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int gx_cpath_to_path(gx_clip_path * pcpath, gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_list_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:496,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcpath
    - pbox
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 497
    functionName: gx_cpath_inner_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 3
    functionsReached:
    - gx_cpath_list
    - clip_list_is_rectangle
    linkageType: ''
    returnType: bool
    signature: bool gx_cpath_inner_box(const gx_clip_path * pcpath, gs_fixed_rect
      * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clip_list_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:502,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcpath
    - pbox
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: gx_cpath_outer_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 12
    functionsReached:
    - gx_cpath_list
    - clip_list_is_rectangle
    linkageType: ''
    returnType: bool
    signature: bool gx_cpath_outer_box(const gx_clip_path * pcpath, gs_fixed_rect
      * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 5
    argNames:
    - pcpath
    - x0
    - y0
    - x1
    - y1
    argTypes:
    - gx_clip_path*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 518
    functionName: gx_cpath_includes_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_cpath_includes_rectangle(register const gx_clip_path * pcpath,\n
      \                           fixed x0, fixed y0, fixed x1, fixed y1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxcpath.c:525,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gxcpath.c:526,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxcpath.c:527,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxcpath.c:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: gx_cpath_set_outer_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - fixed_ceiling
    - fixed_floor
    linkageType: ''
    returnType: void
    signature: void gx_cpath_set_outer_box(gx_clip_path * pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: gx_cpath_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: gx_clip_list
    signature: 'gx_clip_list *

      gx_cpath_list(const gx_clip_path *pcpath)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    functionName: gx_cpath_list_private
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_clip_list
    signature: 'gx_clip_list *

      gx_cpath_list_private(const gx_clip_path *pcpath)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:555,1
    - Dst: cpath_alloc_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:557,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:560,1
    - Dst: cpath_init_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pcpath
    - pbox
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 567
    functionName: cpath_set_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_clip_list_free
    - cpath_init_rectangle
    - cpath_alloc_list
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int cpath_set_rectangle(gx_clip_path * pcpath, gs_fixed_rect * pbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxcpath.c:571,1
    - Dst: cpath_set_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcpath
    - pbox
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 576
    functionName: gx_cpath_from_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 5
    functionsReached:
    - cpath_set_rectangle
    - gx_path_new
    linkageType: ''
    returnType: int
    signature: int gx_cpath_from_rectangle(gx_clip_path * pcpath, gs_fixed_rect *
      pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:583,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 4
    functionLinenumber: 577
    functionLinenumberEnd: 585
    functionName: gx_cpath_reset
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_from_rectangle
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_cpath_reset(gx_clip_path * pcpath)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:593,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - pcpath
    - rect
    argTypes:
    - gx_clip_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: cpath_is_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_path_is_rectangle
    linkageType: ''
    returnType: gx_path_rectangular_type
    signature: gx_path_rectangular_type cpath_is_rectangle(const gx_clip_path * pcpath,
      gs_fixed_rect *rect)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_intersect
      Src: /src/libspectre/ghostscript/base/gxcpath.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - pcpath
    - ppath_orig
    - rule
    argTypes:
    - gs_gstate*
    - gx_clip_path*
    - gx_path*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 614
    functionName: gx_cpath_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_intersect
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_clip(gs_gstate *pgs, gx_clip_path *pcpath,\n              /*const*/
      gx_path *ppath_orig, int rule)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_path_list_new
      Src: /src/libspectre/ghostscript/base/gxcpath.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pcpath
    argTypes:
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 616
    functionDepth: 4
    functionLinenumber: 616
    functionLinenumberEnd: 623
    functionName: gx_cpath_ensure_path_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_path_list_new
    linkageType: ''
    returnType: int
    signature: int gx_cpath_ensure_path_list(gx_clip_path *pcpath)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_has_curves_inline
      Src: /src/libspectre/ghostscript/base/gxcpath.c:637,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:638,1
    - Dst: gx_path_add_flattened_accurate
      Src: /src/libspectre/ghostscript/base/gxcpath.c:639,1
    - Dst: gs_currentflat_inline
      Src: /src/libspectre/ghostscript/base/gxcpath.c:640,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gxcpath.c:647,1
    - Dst: gx_path_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:649,1
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/base/gxcpath.c:650,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gxcpath.c:656,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:658,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:659,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:676,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxcpath.c:676,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:677,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxcpath.c:677,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:678,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxcpath.c:678,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxcpath.c:679,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxcpath.c:679,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:699,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxcpath.c:701,1
    - Dst: cpath_set_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:703,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:706,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxcpath.c:714,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/base/gxcpath.c:715,1
    - Dst: gx_cpath_ensure_path_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:723,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gxcpath.c:729,1
    - Dst: gx_cpath_intersect_path_slow
      Src: /src/libspectre/ghostscript/base/gxcpath.c:731,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:734,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gxcpath.c:738,1
    - Dst: gx_cpath_path_list_new
      Src: /src/libspectre/ghostscript/base/gxcpath.c:742,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:745,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxcpath.c:749,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 83
    argCount: 5
    argNames:
    - pcpath
    - ppath_orig
    - rule
    - pgs
    - params
    argTypes:
    - gx_clip_path*
    - gx_path*
    - int
    - gs_gstate*
    - gx_fill_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 625
    functionDepth: 5
    functionLinenumber: 625
    functionLinenumberEnd: 751
    functionName: gx_cpath_intersect_with_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - gx_path_current_point
    - gx_path_assign_preserve
    - gx_cpath_inner_box
    - rc_decrement
    - gx_cpath_includes_rectangle
    - cpath_set_rectangle
    - rc_increment
    - gx_path_is_void
    - gx_path_is_rectangle
    - gx_path_bbox
    - gx_path_new
    - float2fixed
    - fixed2int_pixround
    - gx_cpath_intersect_path_slow
    - gx_cpath_ensure_path_list
    - gx_path_init_local
    - gx_cpath_path_list_new
    - int2fixed
    - gx_path_free
    - gs_currentflat_inline
    - gx_path_add_flattened_accurate
    - gx_path_has_curves_inline
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_intersect_with_params(gx_clip_path *pcpath, /*const*/
      gx_path *ppath_orig,\n                   int rule, gs_gstate *pgs, const gx_fill_params
      * params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_intersect_with_params
      Src: /src/libspectre/ghostscript/base/gxcpath.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pcpath
    - ppath_orig
    - rule
    - pgs
    argTypes:
    - gx_clip_path*
    - gx_path*
    - int
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 6
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: gx_cpath_intersect
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 6
    functionsReached:
    - gx_cpath_intersect_with_params
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_intersect(gx_clip_path *pcpath, /*const*/ gx_path *ppath_orig,\n
      \                  int rule, gs_gstate *pgs)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_scale_exp2_shared
      Src: /src/libspectre/ghostscript/base/gxcpath.c:768,1
    - Dst: gx_cpath_list_private
      Src: /src/libspectre/ghostscript/base/gxcpath.c:771,1
    - Dst: gx_rect_scale_exp2
      Src: /src/libspectre/ghostscript/base/gxcpath.c:777,1
    - Dst: gx_rect_scale_exp2
      Src: /src/libspectre/ghostscript/base/gxcpath.c:778,1
    - Dst: SCALE_V
      Src: /src/libspectre/ghostscript/base/gxcpath.c:791,1
    - Dst: SCALE_V
      Src: /src/libspectre/ghostscript/base/gxcpath.c:792,1
    - Dst: SCALE_V
      Src: /src/libspectre/ghostscript/base/gxcpath.c:793,1
    - Dst: SCALE_V
      Src: /src/libspectre/ghostscript/base/gxcpath.c:794,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxcpath.c:801,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxcpath.c:802,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxcpath.c:805,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - pcpath
    - log2_scale_x
    - log2_scale_y
    - list_shared
    - segments_shared
    argTypes:
    - gx_clip_path*
    - int
    - int
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 807
    functionName: gx_cpath_scale_exp2_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - arith_rshift
    - SCALE_V
    - gx_cpath_list_private
    - gx_rect_scale_exp2
    - gs_next_ids
    - gx_path_scale_exp2_shared
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_scale_exp2_shared(gx_clip_path * pcpath, int log2_scale_x,\n
      \                          int log2_scale_y, bool list_shared,\n                           bool
      segments_shared)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 790
    functionName: SCALE_V
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_V(v, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - clp
    argTypes:
    - gx_clip_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: gx_clip_list_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_clip_list_init(gx_clip_list * clp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_init
      Src: /src/libspectre/ghostscript/base/gxcpath.c:825,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxcpath.c:838,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxcpath.c:839,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxcpath.c:843,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxcpath.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - clp
    - rp
    argTypes:
    - gx_clip_list*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 848
    functionName: gx_clip_list_from_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached:
    - fixed2int_var
    - fixed2int_var_ceiling
    - gx_clip_list_init
    linkageType: ''
    returnType: void
    signature: "void gx_clip_list_from_rectangle(register gx_clip_list * clp,\n                            register
      gs_fixed_rect * rp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gxcpath.c:855,1
    - Dst: gx_cpath_list_private
      Src: /src/libspectre/ghostscript/base/gxcpath.c:860,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxcpath.c:865,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gxcpath.c:866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - penum
    - pcpath
    argTypes:
    - gs_cpath_enum*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 879
    functionName: gx_cpath_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 3
    functionsReached:
    - gx_path_enum_init
    - gx_cpath_list_private
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int gx_cpath_enum_init(gs_cpath_enum * penum, const gx_clip_path *
      pcpath)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gxcpath.c:887,1
    - Dst: set_pt
      Src: /src/libspectre/ghostscript/base/gxcpath.c:893,1
    - Dst: set_pt
      Src: /src/libspectre/ghostscript/base/gxcpath.c:910,1
    - Dst: set_pt
      Src: /src/libspectre/ghostscript/base/gxcpath.c:914,1
    - Dst: set_pt
      Src: /src/libspectre/ghostscript/base/gxcpath.c:928,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:960,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:961,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:976,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:977,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:985,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:986,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1006,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1007,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1022,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1023,1
    - Dst: set_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1031,1
    - Dst: return_line
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1032,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1044,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 100
    argCount: 2
    argNames:
    - penum
    - pts
    argTypes:
    - gs_cpath_enum*
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 883
    functionDepth: 1
    functionLinenumber: 883
    functionLinenumberEnd: 1056
    functionName: gx_cpath_enum_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 3
    functionsReached:
    - return_line
    - gx_path_enum_next
    - set_line
    - return_error
    - set_pt
    linkageType: ''
    returnType: int
    signature: int gx_cpath_enum_next(gs_cpath_enum * penum, gs_fixed_point pts[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xi
    - ','
    - yi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 890
    functionName: set_pt
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_pt(xi, yi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xi
    - ','
    - yi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 892
    functionName: set_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_line(xi, yi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 942
    functionName: return_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_line(px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cpath_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1057
    functionDepth: 0
    functionLinenumber: 1057
    functionLinenumberEnd: 1061
    functionName: gx_cpath_enum_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: segment_notes
    signature: segment_notes gx_cpath_enum_notes(const gs_cpath_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1072,1
    - Dst: gx_clip_list_init
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1075,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - clp
    - mem
    argTypes:
    - gx_clip_list*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1076
    functionName: gx_clip_list_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 2
    functionsReached:
    - gx_clip_list_init
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_clip_list_free(gx_clip_list * clp, gs_memory_t * mem)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - pcpath
    - prect
    argTypes:
    - gx_clip_path*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1106
    functionName: gx_cpath_rect_visible
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_cpath_rect_visible(gx_clip_path * pcpath, gs_int_rect *prect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1117,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1126,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1128,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - from
    - pcpath
    argTypes:
    - gx_clip_path*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1145
    functionName: gx_cpath_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_cpath_copy(const gx_clip_path * from, gx_clip_path * pcpath)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1157,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1170,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - mem
    - list
    argTypes:
    - gs_memory_t*
    - gx_clip_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1172
    functionName: gx_clip_list_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - dmlprintf3
    - dmlprintf4
    linkageType: ''
    returnType: void
    signature: void gx_clip_list_print(const gs_memory_t *mem, const gx_clip_list
      *list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_print
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1179,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1181,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1182,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1183,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1184,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1185,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1186,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1187,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1188,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1189,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1190,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1191,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1192,1
    - Dst: gx_clip_list_print
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1194,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gxcpath.c:1194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - pcpath
    argTypes:
    - gs_memory_t*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1195
    functionName: gx_cpath_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxcpath.c
    functionUses: 0
    functionsReached:
    - gx_cpath_list
    - gx_clip_list_print
    - dmlprintf4
    - dmprintf2
    - gx_path_print
    - dmlputs
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void gx_cpath_print(const gs_memory_t *mem, const gx_clip_path * pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: private_st_flp_text_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_flp_text_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: public_st_device_flp
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_flp()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gp_init
      Src: /src/libspectre/ghostscript/base/gslib.c:98,1
    - Dst: gs_malloc_init
      Src: /src/libspectre/ghostscript/base/gslib.c:99,1
    - Dst: gs_lib_init1
      Src: /src/libspectre/ghostscript/base/gslib.c:100,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gslib.c:102,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:104,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gslib.c:104,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:105,1
    - Dst: gs_iodev_init
      Src: /src/libspectre/ghostscript/base/gslib.c:115,1
    - Dst: gs_lib_device_list
      Src: /src/libspectre/ghostscript/base/gslib.c:117,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gslib.c:118,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gslib.c:119,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gslib.c:120,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gslib.c:122,1
    - Dst: gx_device_bbox_init
      Src: /src/libspectre/ghostscript/base/gslib.c:124,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gslib.c:126,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gslib.c:127,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gslib.c:134,1
    - Dst: gs_getdeviceparams
      Src: /src/libspectre/ghostscript/base/gslib.c:135,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:137,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:138,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gslib.c:140,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gslib.c:141,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:143,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:144,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gslib.c:146,1
    - Dst: debug_print_string
      Src: /src/libspectre/ghostscript/base/gslib.c:147,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gslib.c:148,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gslib.c:149,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gslib.c:159,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gslib.c:160,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gslib.c:161,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:163,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:164,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gslib.c:166,1
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gslib.c:167,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gslib.c:168,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:170,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:171,1
    - Dst: gs_gstate_alloc
      Src: /src/libspectre/ghostscript/base/gslib.c:175,1
    - Dst: gs_setdevice_no_erase
      Src: /src/libspectre/ghostscript/base/gslib.c:176,1
    - Dst: gs_dtransform
      Src: /src/libspectre/ghostscript/base/gslib.c:181,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gslib.c:182,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gslib.c:182,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gslib.c:182,1
    - Dst: gs_setscreen
      Src: /src/libspectre/ghostscript/base/gslib.c:185,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:190,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/base/gslib.c:191,1
    - Dst: gs_output_page
      Src: /src/libspectre/ghostscript/base/gslib.c:194,1
    - Dst: gx_device_bbox_bbox
      Src: /src/libspectre/ghostscript/base/gslib.c:199,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gslib.c:202,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:206,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gslib.c:207,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gslib.c:208,1
    - Dst: gs_lib_finit
      Src: /src/libspectre/ghostscript/base/gslib.c:209,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 86
    functionDepth: 3
    functionLinenumber: 86
    functionLinenumberEnd: 212
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 15
    functionsReached:
    - gs_gstate_alloc
    - gs_iodev_init
    - gp_init
    - debug_print_string
    - gs_c_param_list_release
    - countof
    - gs_alloc_struct_immovable
    - param_string_from_string
    - rc_increment
    - gs_setdevice_no_erase
    - gs_abort
    - gx_device_bbox_bbox
    - gs_getdeviceparams
    - min
    - gx_device_fill_in_procs
    - gs_dtransform
    - param_write_string
    - gx_device_bbox_init
    - gs_malloc_init
    - lprintf1
    - gs_lib_device_list
    - gs_c_param_list_read
    - gs_c_param_list_write
    - gs_putdeviceparams
    - dmputs
    - gs_erasepage
    - dev_proc
    - gs_output_page
    - param_read_string
    - gs_lib_finit
    - gs_lib_init1
    - check_device_separable
    - gs_copydevice
    - fgetc
    - dmprintf1
    - fabs
    - dmprintf4
    - gs_setscreen
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int main(int argc, const char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 240
    functionName: odsf
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float odsf(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gslib.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pgs
    - x
    - y
    - w
    - h
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 251
    functionName: fill_rect1
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_rectfill
    linkageType: ''
    returnType: int
    signature: int fill_rect1(gs_gstate * pgs, double x, double y, double w, double
      h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - obj
    - gcst
    argTypes:
    - void*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: gs_reloc_struct_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\t\t\t\t/* obj_header_t * */\ngs_reloc_struct_ptr(const void
      * /* obj_header_t * */ obj, gc_state_t * gcst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sptr
    - gcst
    argTypes:
    - gs_string*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: gs_reloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_reloc_string(gs_string * sptr, gc_state_t * gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - sptr
    - gcst
    argTypes:
    - gs_const_string*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 272
    functionName: gs_reloc_const_string
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_reloc_const_string(gs_const_string * sptr, gc_state_t * gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_finit
      Src: /src/libspectre/ghostscript/base/gslib.c:282,1
    - Dst: gp_do_exit
      Src: /src/libspectre/ghostscript/base/gslib.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 284
    functionName: gs_abort
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 1
    functionsReached:
    - gs_lib_finit
    - gp_do_exit
    linkageType: ''
    returnType: void
    signature: void gs_abort(const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gslib.c:291,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gslib.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 292
    functionName: gs_copysign
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double gs_copysign(double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 315
    functionName: gs_rand
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long gs_rand(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gslib.c:321,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:322,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gslib.c:323,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gslib.c:324,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:329,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:329,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:329,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: rf
      Src: /src/libspectre/ghostscript/base/gslib.c:330,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:332,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:334,1
    - Dst: gs_rotate
      Src: /src/libspectre/ghostscript/base/gslib.c:335,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gslib.c:336,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:337,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:338,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/base/gslib.c:339,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 345
    functionName: test1
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 1
    functionsReached:
    - gs_newpath
    - gs_rotate
    - gs_grestore
    - gs_translate
    - gs_fill
    - gs_gsave
    - gs_lineto
    - gs_setrgbcolor
    - rf
    - gs_moveto
    - gs_scale
    linkageType: ''
    returnType: int
    signature: int test1(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 329
    functionName: rf
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rf()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gslib.c:369,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gslib.c:370,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:371,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:372,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:373,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:374,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gslib.c:375,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:376,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:377,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/base/gslib.c:378,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:379,1
    - Dst: gs_makebitmappattern
      Src: /src/libspectre/ghostscript/base/gslib.c:385,1
    - Dst: gs_setpattern
      Src: /src/libspectre/ghostscript/base/gslib.c:390,1
    - Dst: gs_eofill
      Src: /src/libspectre/ghostscript/base/gslib.c:391,1
    - Dst: gs_makebitmappattern
      Src: /src/libspectre/ghostscript/base/gslib.c:392,1
    - Dst: gs_setcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:393,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gslib.c:394,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:395,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gslib.c:396,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gslib.c:397,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:398,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:399,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/base/gslib.c:400,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:401,1
    - Dst: gs_setpattern
      Src: /src/libspectre/ghostscript/base/gslib.c:402,1
    - Dst: gs_eofill
      Src: /src/libspectre/ghostscript/base/gslib.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 350
    functionDepth: 4
    functionLinenumber: 350
    functionLinenumberEnd: 405
    functionName: test2
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 1
    functionsReached:
    - gs_newpath
    - gs_setcolor
    - gs_eofill
    - gs_closepath
    - gs_grestore
    - gs_makebitmappattern
    - gs_fill
    - gs_lineto
    - gs_setrgbcolor
    - gs_setpattern
    - gs_moveto
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int test2(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gslib.c:414,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gslib.c:415,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gslib.c:416,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gslib.c:420,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gslib.c:435,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gslib.c:437,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gslib.c:440,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gslib.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 448
    functionName: test3
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - max
    - gs_currentdevice
    - gx_device_white
    - dev_proc
    - gs_next_ids
    - gx_device_black
    linkageType: ''
    returnType: int
    signature: int test3(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gslib.c:460,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gslib.c:462,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gslib.c:467,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:470,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:471,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gslib.c:473,1
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gslib.c:474,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gslib.c:475,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:477,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:478,1
    - Dst: gs_initmatrix
      Src: /src/libspectre/ghostscript/base/gslib.c:480,1
    - Dst: gs_initclip
      Src: /src/libspectre/ghostscript/base/gslib.c:481,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gslib.c:483,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:485,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:486,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gslib.c:489,1
    - Dst: gs_rlineto
      Src: /src/libspectre/ghostscript/base/gslib.c:490,1
    - Dst: gs_rlineto
      Src: /src/libspectre/ghostscript/base/gslib.c:491,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gslib.c:492,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/base/gslib.c:493,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 495
    functionName: test4
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_stroke
    - gs_putdeviceparams
    - dev_proc
    - gs_closepath
    - gs_initmatrix
    - gs_rlineto
    - gs_initclip
    - gs_currentdevice
    - gs_abort
    - param_write_float_array
    - lprintf1
    - gs_c_param_list_read
    - gs_moveto
    - gs_c_param_list_write
    - gs_c_param_list_release
    linkageType: ''
    returnType: int
    signature: int test4(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gslib.c:503,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gslib.c:515,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gslib.c:521,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/base/gslib.c:527,1
    - Dst: gs_copysign
      Src: /src/libspectre/ghostscript/base/gslib.c:528,1
    - Dst: gs_copysign
      Src: /src/libspectre/ghostscript/base/gslib.c:529,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gslib.c:530,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gslib.c:531,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/base/gslib.c:532,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:534,1
    - Dst: fill_rect1
      Src: /src/libspectre/ghostscript/base/gslib.c:535,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:536,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:540,1
    - Dst: gs_rotate
      Src: /src/libspectre/ghostscript/base/gslib.c:541,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gslib.c:542,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gslib.c:553,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gslib.c:555,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:563,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gslib.c:569,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/base/gslib.c:570,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:580,1
    - Dst: gx_device_begin_image
      Src: /src/libspectre/ghostscript/base/gslib.c:581,1
    - Dst: gx_image_data
      Src: /src/libspectre/ghostscript/base/gslib.c:590,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gslib.c:593,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslib.c:595,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:597,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:600,1
    - Dst: gs_image3_t_init
      Src: /src/libspectre/ghostscript/base/gslib.c:622,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:637,1
    - Dst: gx_device_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gslib.c:638,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gslib.c:649,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gslib.c:651,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:660,1
    - Dst: gx_device_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gslib.c:661,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gslib.c:672,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gslib.c:676,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gslib.c:682,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:685,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gslib.c:688,1
    - Dst: gs_image4_t_init
      Src: /src/libspectre/ghostscript/base/gslib.c:693,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:704,1
    - Dst: do_image
      Src: /src/libspectre/ghostscript/base/gslib.c:707,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:710,1
    - Dst: do_image
      Src: /src/libspectre/ghostscript/base/gslib.c:714,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gslib.c:716,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslib.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 102
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 500
    functionDepth: 4
    functionLinenumber: 500
    functionLinenumberEnd: 722
    functionName: test5
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_image4_t_init
    - do_image
    - gx_device_begin_typed_image
    - gs_rotate
    - gs_grestore
    - gs_cspace_new_DeviceGray
    - gs_setrgbcolor
    - gs_translate
    - gs_currentmatrix
    - gs_free_object
    - gx_image_data
    - gx_image_plane_data
    - gx_image_end
    - gs_copysign
    - floor
    - gs_setmatrix
    - gs_image3_t_init
    - gs_scale
    - set_nonclient_dev_color
    - gs_currentdevice
    - gs_image_t_init
    - fill_rect1
    - gx_device_begin_image
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int test5(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - image
    - ','
    - idata
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 549
    functionName: do_image
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: do_image(image, idata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:744,1
    - Dst: fill_rect1
      Src: /src/libspectre/ghostscript/base/gslib.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - n
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 727
    functionDepth: 2
    functionLinenumber: 727
    functionLinenumberEnd: 749
    functionName: spectrum
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_setcolor
    - fill_rect1
    linkageType: ''
    returnType: void
    signature: void spectrum(gs_gstate * pgs, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - ignore_crd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 754
    functionName: render_abc
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float render_abc(double v, const gs_cie_render * ignore_crd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gslib.c:770,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gslib.c:772,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:773,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gslib.c:774,1
    - Dst: spectrum
      Src: /src/libspectre/ghostscript/base/gslib.c:775,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:776,1
    - Dst: gs_cie_render1_build
      Src: /src/libspectre/ghostscript/base/gslib.c:778,1
    - Dst: gs_cie_render1_initialize
      Src: /src/libspectre/ghostscript/base/gslib.c:781,1
    - Dst: gs_setcolorrendering
      Src: /src/libspectre/ghostscript/base/gslib.c:786,1
    - Dst: gs_cspace_build_CIEABC
      Src: /src/libspectre/ghostscript/base/gslib.c:787,1
    - Dst: gs_cie_abc_complete
      Src: /src/libspectre/ghostscript/base/gslib.c:791,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gslib.c:793,1
    - Dst: spectrum
      Src: /src/libspectre/ghostscript/base/gslib.c:794,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslib.c:795,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 797
    functionName: test6
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - spectrum
    - gs_cie_render1_initialize
    - gs_cie_abc_complete
    - gs_cspace_new_DeviceRGB
    - gs_setcolorspace
    - gs_cie_render1_build
    - gs_cspace_build_CIEABC
    - gs_translate
    - gs_setcolorrendering
    - gs_scale
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int test6(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_ht_build
      Src: /src/libspectre/ghostscript/base/gslib.c:822,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:823,1
    - Dst: gs_ht_set_mask_comp
      Src: /src/libspectre/ghostscript/base/gslib.c:824,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:826,1
    - Dst: gs_sethalftone
      Src: /src/libspectre/ghostscript/base/gslib.c:827,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:828,1
    - Dst: gs_setgray
      Src: /src/libspectre/ghostscript/base/gslib.c:830,1
    - Dst: fill_rect1
      Src: /src/libspectre/ghostscript/base/gslib.c:831,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 802
    functionDepth: 4
    functionLinenumber: 802
    functionLinenumberEnd: 834
    functionName: test7
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_ht_set_mask_comp
    - gs_ht_build
    - gs_setgray
    - gs_sethalftone
    - dmprintf1
    - fill_rect1
    linkageType: ''
    returnType: int
    signature: int test7(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gslib.c:871,1
    - Dst: gs_cspace_build_Indexed
      Src: /src/libspectre/ghostscript/base/gslib.c:876,1
    - Dst: gs_makepixmappattern
      Src: /src/libspectre/ghostscript/base/gslib.c:883,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:892,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gslib.c:893,1
    - Dst: gs_setpattern
      Src: /src/libspectre/ghostscript/base/gslib.c:894,1
    - Dst: gs_settexturetransparent
      Src: /src/libspectre/ghostscript/base/gslib.c:895,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gslib.c:896,1
    - Dst: gs_setrgbcolor
      Src: /src/libspectre/ghostscript/base/gslib.c:899,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gslib.c:900,1
    - Dst: gs_setpattern
      Src: /src/libspectre/ghostscript/base/gslib.c:901,1
    - Dst: gs_settexturetransparent
      Src: /src/libspectre/ghostscript/base/gslib.c:902,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/base/gslib.c:903,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslib.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 839
    functionDepth: 5
    functionLinenumber: 839
    functionLinenumberEnd: 907
    functionName: test8
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_settexturetransparent
    - gs_cspace_new_DeviceRGB
    - gs_makepixmappattern
    - gs_setpattern
    - gs_setrgbcolor
    - gs_free_object
    - gs_rectfill
    - gs_cspace_build_Indexed
    linkageType: ''
    returnType: int
    signature: int test8(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gslib.c:935,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gslib.c:939,1
    - Dst: gs_getdeviceparams
      Src: /src/libspectre/ghostscript/base/gslib.c:940,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:942,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:943,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gslib.c:945,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gslib.c:946,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:948,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:949,1
    - Dst: param_read_int_array
      Src: /src/libspectre/ghostscript/base/gslib.c:951,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:954,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:955,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gslib.c:957,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/gslib.c:959,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:962,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:963,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gslib.c:965,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/gslib.c:967,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:970,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:971,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gslib.c:973,1
    - Dst: param_read_size_t
      Src: /src/libspectre/ghostscript/base/gslib.c:975,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:978,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:979,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:981,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gslib.c:983,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gslib.c:988,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslib.c:994,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gslib.c:995,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:998,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/base/gslib.c:1000,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/base/gslib.c:1010,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gslib.c:1013,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gslib.c:1015,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gslib.c:1018,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gslib.c:1021,1
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gslib.c:1022,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gslib.c:1023,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gslib.c:1024,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/base/gslib.c:1027,1
    - Dst: gs_initgraphics
      Src: /src/libspectre/ghostscript/base/gslib.c:1028,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gslib.c:1030,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gslib.c:1031,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/base/gslib.c:1032,1
    - Dst: gs_decrement
      Src: /src/libspectre/ghostscript/base/gslib.c:1033,1
    - Dst: gs_clippath
      Src: /src/libspectre/ghostscript/base/gslib.c:1036,1
    - Dst: gs_pathbbox
      Src: /src/libspectre/ghostscript/base/gslib.c:1037,1
    - Dst: emprintf4
      Src: /src/libspectre/ghostscript/base/gslib.c:1038,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gslib.c:1040,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gslib.c:1061,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:1062,1
    - Dst: gs_translate
      Src: /src/libspectre/ghostscript/base/gslib.c:1065,1
    - Dst: gs_rotate
      Src: /src/libspectre/ghostscript/base/gslib.c:1067,1
    - Dst: gs_scale
      Src: /src/libspectre/ghostscript/base/gslib.c:1068,1
    - Dst: gs_setlinecap
      Src: /src/libspectre/ghostscript/base/gslib.c:1070,1
    - Dst: gs_setlinejoin
      Src: /src/libspectre/ghostscript/base/gslib.c:1071,1
    - Dst: gs_setfilladjust
      Src: /src/libspectre/ghostscript/base/gslib.c:1072,1
    - Dst: capture_exec
      Src: /src/libspectre/ghostscript/base/gslib.c:1074,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 109
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 923
    functionDepth: 3
    functionLinenumber: 923
    functionLinenumberEnd: 1076
    functionName: test10
    functionSourceFile: /src/libspectre/ghostscript/base/gslib.c
    functionUses: 0
    functionsReached:
    - gs_newpath
    - gs_decrement
    - strlen
    - param_write_int_array
    - gs_setlinecap
    - capture_exec
    - param_write_size_t
    - gs_c_param_list_release
    - gs_rotate
    - gs_setcolorspace
    - gs_abort
    - gs_translate
    - emprintf2
    - param_read_int_array
    - gs_getdeviceparams
    - gs_clippath
    - param_write_string
    - gs_pathbbox
    - gs_setlinejoin
    - lprintf1
    - gs_c_param_list_read
    - param_read_size_t
    - gs_putdeviceparams
    - gs_c_param_list_write
    - gs_erasepage
    - emprintf3
    - emprintf4
    - param_read_float_array
    - param_read_string
    - gs_scale
    - gs_setfilladjust
    - emprintf1
    - gs_currentdevice
    - gs_initgraphics
    - param_write_float_array
    - gs_cspace_new_DeviceGray
    linkageType: ''
    returnType: int
    signature: int test10(gs_gstate * pgs, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:67,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:68,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - Int32
    - Int32
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: MulDiv
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 51
    functionsReached:
    - ABS
    linkageType: ''
    returnType: Int32
    signature: Int32 MulDiv( Int32  a, Int32  b, Int32  c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:79,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:80,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - Int32
    - Int32
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 85
    functionName: MulDiv_Round
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 3
    functionsReached:
    - ABS
    linkageType: ''
    returnType: Int32
    signature: Int32 MulDiv_Round( Int32  a, Int32  b, Int32  c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - z
    argTypes:
    - Int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: Order64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int
    signature: Int Order64( Int64  z )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Order64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:105,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - l
    argTypes:
    - Int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 115
    functionName: Sqrt64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached:
    - Order64
    linkageType: ''
    returnType: Int32
    signature: Int32 Sqrt64( Int64  l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:124,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:125,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:126,1
    - Dst: MulTo64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:128,1
    - Dst: Div64by32
      Src: /src/libspectre/ghostscript/base/ttcalc.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - Int32
    - Int32
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: MulDiv
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 51
    functionsReached:
    - Div64by32
    - ABS
    - MulTo64
    linkageType: ''
    returnType: Int32
    signature: Int32 MulDiv( Int32  a, Int32  b, Int32  c )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:139,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:140,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:141,1
    - Dst: MulTo64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:143,1
    - Dst: Add64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:146,1
    - Dst: Div64by32
      Src: /src/libspectre/ghostscript/base/ttcalc.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - Int32
    - Int32
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: MulDiv_Round
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 3
    functionsReached:
    - Add64
    - ABS
    - MulTo64
    - Div64by32
    linkageType: ''
    returnType: Int32
    signature: Int32 MulDiv_Round( Int32  a, Int32  b, Int32  c )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - x
    argTypes:
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 170
    functionName: Neg64__
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Neg64__( Int64*  x )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - Int64*
    - Int64*
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 184
    functionName: Add64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Add64( Int64*  x, Int64*  y, Int64*  z )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - Int64*
    - Int64*
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    functionName: Sub64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Sub64( Int64*  x, Int64*  y, Int64*  z )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:204,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:205,1
    - Dst: Neg64__
      Src: /src/libspectre/ghostscript/base/ttcalc.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - x
    - y
    - z
    argTypes:
    - Int32
    - Int32
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 239
    functionName: MulTo64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 2
    functionsReached:
    - ABS
    - Neg64__
    linkageType: ''
    returnType: void
    signature: void MulTo64( Int32  x, Int32  y, Int64*  z )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Neg64__
      Src: /src/libspectre/ghostscript/base/ttcalc.c:246,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttcalc.c:247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - Int64*
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 279
    functionName: Div64by32
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 2
    functionsReached:
    - ABS
    - Neg64__
    linkageType: ''
    returnType: Int32
    signature: Int32 Div64by32( Int64*  x, Int32  y )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - z
    argTypes:
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 303
    functionName: Order64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Int
    signature: Int Order64( Int64*  z )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Order64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:313,1
    - Dst: Div64by32
      Src: /src/libspectre/ghostscript/base/ttcalc.c:320,1
    - Dst: MulTo64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:321,1
    - Dst: Sub64
      Src: /src/libspectre/ghostscript/base/ttcalc.c:322,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 1
    argNames:
    - l
    argTypes:
    - Int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 327
    functionName: Sqrt64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached:
    - Order64
    - Sub64
    - MulTo64
    - Div64by32
    linkageType: ''
    returnType: Int32
    signature: Int32 Sqrt64( Int64*  l )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - z
    argTypes:
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: Order32
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Int
    signature: Int Order32( Int32  z )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Order32
      Src: /src/libspectre/ghostscript/base/ttcalc.c:353,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - l
    argTypes:
    - Int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 361
    functionName: Sqrt32
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.c
    functionUses: 0
    functionsReached:
    - Order32
    linkageType: ''
    returnType: Int32
    signature: Int32 Sqrt32( Int32  l )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: public_st_gs_font_cid_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_cid_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 87
    functionName: public_st_gs_font_cid0
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_cid0()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: public_st_gs_font_cid1
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_cid1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 122
    functionName: public_st_subst_CID_on_WMode
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_subst_CID_on_WMode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: public_st_gs_font_cid2
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_cid2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: SWAP
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(a, b, t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: fixed_mult_rem
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 0
    functionsReached:
    - fixed_mult_quo
    linkageType: ''
    returnType: fixed
    signature: fixed fixed_mult_rem(fixed a, fixed b, fixed c)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - tl
    - xd
    - ys
    argTypes:
    - trap_line*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    functionName: compute_dx
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compute_dx(trap_line *tl, fixed xd, fixed ys)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:146,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:148,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:148,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:149,1
    - Dst: fixed_mult_rem
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:151,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:155,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:155,1
    - Dst: fixed_mult_rem
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:156,1
    - Dst: fixed_mult_rem
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tl
    - ys
    argTypes:
    - trap_line*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: compute_ldx
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - fixed_mult_rem
    - fixed_mult_quo
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void compute_ldx(trap_line *tl, fixed ys)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:180,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 7
    argNames:
    - g
    - fa
    - e
    - e1
    - l
    - ybot
    - num_components
    argTypes:
    - trap_gradient*
    - gs_fill_attributes*
    - gs_linear_color_edge*
    - gs_linear_color_edge*
    - trap_line*
    - fixed
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: init_gradient
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int init_gradient(trap_gradient *g, const gs_fill_attributes *fa,\n
      \               const gs_linear_color_edge *e, const gs_linear_color_edge *e1,\n
      \               const trap_line *l, fixed ybot, int num_components)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - g
    - num_components
    argTypes:
    - trap_gradient*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 218
    functionName: step_gradient
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void step_gradient(trap_gradient *g, int num_components)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:238,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:239,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:241,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - le
    - re
    argTypes:
    - gs_linear_color_edge*
    - gs_linear_color_edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: check_gradient_overflow
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - min
    - arith_rshift_1
    linkageType: ''
    returnType: bool
    signature: bool check_gradient_overflow(const gs_linear_color_edge *le, const
      gs_linear_color_edge *re)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:254,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:255,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:259,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:260,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - xg
    - lg
    - rg
    - l
    - r
    - il
    - ir
    - num_components
    argTypes:
    - trap_gradient*
    - trap_gradient*
    - trap_gradient*
    - trap_line*
    - trap_line*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 294
    functionName: set_x_gradient_nowedge
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 0
    functionsReached:
    - return_error
    - fixed2int
    - arith_rshift_1
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int set_x_gradient_nowedge(trap_gradient *xg, const trap_gradient
      *lg, const trap_gradient *rg,\n             const trap_line *l, const trap_line
      *r, int il, int ir, int num_components)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_x_gradient_nowedge
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:312,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - xg
    - lg
    - rg
    - l
    - r
    - il
    - ir
    - num_components
    argTypes:
    - trap_gradient*
    - trap_gradient*
    - trap_gradient*
    - trap_line*
    - trap_line*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: set_x_gradient
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - set_x_gradient_nowedge
    linkageType: ''
    returnType: int
    signature: "int set_x_gradient(trap_gradient *xg, const trap_gradient *lg, const
      trap_gradient *rg,\n             const trap_line *l, const trap_line *r, int
      il, int ir, int num_components)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: color_writes_pure
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:422,1
    - Dst: gx_fill_trapezoid_as_fd
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:426,1
    - Dst: gx_fill_trapezoid_as_nd
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:428,1
    - Dst: gx_fill_trapezoid_ns_fd
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:431,1
    - Dst: gx_fill_trapezoid_ns_nd
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 435
    functionName: gx_default_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 3
    functionsReached:
    - gx_fill_trapezoid_ns_fd
    - color_writes_pure
    - gx_fill_trapezoid_as_nd
    - gx_fill_trapezoid_as_fd
    - gx_fill_trapezoid_ns_nd
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_trapezoid(gx_device * dev, const gs_fixed_edge
      * left,\n    const gs_fixed_edge * right, fixed ybot, fixed ytop, bool swap_axes,\n
      \   const gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:441,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:441,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:442,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - fa
    - le
    - re
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_linear_color_edge*
    - gs_linear_color_edge*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 450
    functionName: fill_linear_color_trapezoid_nocheck
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: int
    signature: "int fill_linear_color_trapezoid_nocheck(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_linear_color_edge *le, const gs_linear_color_edge *re)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:486,1
    - Dst: fill_linear_color_trapezoid_nocheck
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 467
    functionDepth: 2
    functionLinenumber: 467
    functionLinenumberEnd: 489
    functionName: gx_default_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - fill_linear_color_trapezoid_nocheck
    - check_gradient_overflow
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_linear_color_trapezoid(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:501,1
    - Dst: gx_default_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:503,1
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:520,1
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:522,1
    - Dst: fill_linear_color_trapezoid_nocheck
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:524,1
    - Dst: fill_linear_color_trapezoid_nocheck
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:527,1
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:534,1
    - Dst: check_gradient_overflow
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:536,1
    - Dst: fill_linear_color_trapezoid_nocheck
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:538,1
    - Dst: fill_linear_color_trapezoid_nocheck
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 543
    functionName: fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 2
    functionsReached:
    - gx_default_fill_linear_color_trapezoid
    - fill_linear_color_trapezoid_nocheck
    - check_gradient_overflow
    linkageType: ''
    returnType: int
    signature: "int fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2,\n        const frac31 *c0, const frac31 *c1, const frac31
      *c2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:565,1
    - Dst: fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:567,1
    - Dst: fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:569,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 570
    functionName: gx_default_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - fill_linear_color_triangle
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2,\n        const frac31 *c0, const frac31 *c1, const frac31
      *c2)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:582,1
    - Dst: PARALLELOGRAM_IS_RECT
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:587,1
    - Dst: INT_RECT_FROM_PARALLELOGRAM
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:590,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:591,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:607,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:607,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:618,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:618,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:620,1
    - Dst: ROUNDED_SAME
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:631,1
    - Dst: ROUNDED_SAME
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:640,1
    - Dst: ROUNDED_SAME
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:649,1
    - Dst: ROUNDED_SAME
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:658,1
    - Dst: ROUNDED_SAME
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:667,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 62
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 673
    functionName: gx_default_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 2
    functionsReached:
    - dev_proc
    - PARALLELOGRAM_IS_RECT
    - INT_RECT_FROM_PARALLELOGRAM
    - ROUNDED_SAME
    - gx_fill_rectangle_device_rop
    - dev_proc_fill_trapezoid
    - SWAP
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_parallelogram(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                  const
      gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p1
    - ','
    - p2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 630
    functionName: ROUNDED_SAME
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUNDED_SAME(p1, p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:685,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:686,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:697,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:697,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:723,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 745
    functionName: gx_default_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 6
    functionsReached:
    - dev_proc_fill_trapezoid
    - SWAP
    - dev_proc
    - fixed_mult_quo
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_triangle(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                  const
      gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: return_if_interrupt
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:757,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:788,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:788,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:803,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:803,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:807,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:807,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:808,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:812,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:812,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:816,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:816,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:817,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:823,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:823,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:824,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:824,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:830,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:830,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:831,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:835,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:835,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:836,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:836,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:842,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:842,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:843,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:849,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:850,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:854,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:855,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:862,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:875,1
    - Dst: SWAP
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:875,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:882,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:882,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:886,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:886,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:887,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:891,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:891,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:895,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:895,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:896,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:902,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:902,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:903,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:903,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:909,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:909,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:910,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:914,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:914,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:915,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:915,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:921,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:921,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:922,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:928,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:929,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:933,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:934,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:941,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevddrw.c:952,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 108
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdevc
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 748
    functionDepth: 1
    functionLinenumber: 748
    functionLinenumberEnd: 956
    functionName: gx_default_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - fixed2int_var
    - return_if_interrupt
    - gx_fill_rectangle_device_rop
    - SWAP
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int gx_default_draw_thin_line(gx_device * dev,\n                          fixed
      fx0, fixed fy0, fixed fx1, fixed fy1,\n                    const gx_device_color
      * pdevc, gs_logical_operation_t lop,\n                          fixed adjustx,
      fixed adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x0
    - y0
    - x1
    - y1
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 959
    functionDepth: 0
    functionLinenumber: 959
    functionLinenumberEnd: 964
    functionName: gx_default_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevddrw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_draw_line(gx_device * dev,\n                     int
      x0, int y0, int x1, int y1, gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pps
    - ','
    - log2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: set_pixel_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_pixel_scale(pps, log2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - pps
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: scaled_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: scaled_rounded(v, pps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - state
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: charstring_this
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charstring_this(ch, state, encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ch
    - ','
    - state
    - ','
    - chvar
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: charstring_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charstring_next(ch, state, chvar, encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - state
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: charstring_skip_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: charstring_skip_next(ch, state, encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 149
    functionName: public_st_gs_type1_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_type1_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cstack
    - ','
    - csp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 159
    functionName: CLEAR_CSTACK
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEAR_CSTACK(cstack, csp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cstack
    - ','
    - csp
    - ','
    - pcis
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: INIT_CSTACK
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT_CSTACK(cstack, csp, pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - csaddr
    - ','
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: CS_CHECK_CSTACK_BOUNDS
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_CSTACK_BOUNDS(csaddr, cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - csaddr
    - ','
    - cs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: CS_CHECK_TRANSIENT_BOUNDS
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_TRANSIENT_BOUNDS(csaddr, cs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - csp
    - ','
    - cstack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: CS_CHECK_PUSH
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_PUSH(csp, cstack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - csp
    - ','
    - cstack
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: CS_CHECK_PUSHN
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_PUSHN(csp, cstack, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - csp
    - ','
    - cstack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 196
    functionName: CS_CHECK_POP
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_POP(csp, cstack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ips
    - ','
    - ipstack
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: CS_CHECK_IPSTACK
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CS_CHECK_IPSTACK(ips, ipstack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: decode_num1
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_num1(var, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - csp
    - ','
    - cstack
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: decode_push_num1
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_push_num1(csp, cstack, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - var
    - ','
    - c
    - ','
    - cip
    - ','
    - state
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: decode_num2
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_num2(var, c, cip, state, encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - csp
    - ','
    - cstack
    - ','
    - c
    - ','
    - cip
    - ','
    - state
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 240
    functionName: decode_push_num2
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_push_num2(csp, cstack, c, cip, state, encrypted)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 246
    functionName: sign_extend_num4
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sign_extend_num4(lw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lw
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: sign_extend_num4
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sign_extend_num4(lw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - lw
    - ','
    - cip
    - ','
    - state
    - ','
    - encrypted
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 262
    functionName: decode_num4
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decode_num4(lw, cip, state, encrypted)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:132,1
    - Dst: ENUM_RETURN_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 137
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN_STRING_PTR
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(gs_image_enum_enum_ptrs, gs_image_enum *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:145,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:146,1
    - Dst: RELOC_CONST_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:148,1
    - Dst: RELOC_STRING_PTR
      Src: /src/libspectre/ghostscript/base/gsimage.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 151
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - RELOC_CONST_STRING_PTR
    - RELOC_STRING_PTR
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gs_image_enum_reloc_ptrs, gs_image_enum
      *eptr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:172,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:173,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:174,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:175,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:179,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:180,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gsimage.c:182,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gsimage.c:185,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsimage.c:185,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsimage.c:189,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsimage.c:192,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsimage.c:193,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsimage.c:194,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsimage.c:195,1
    - Dst: gx_cpath_rect_visible
      Src: /src/libspectre/ghostscript/base/gsimage.c:196,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - pic
    - pgs
    - pcpath
    argTypes:
    - gs_image_common_t*
    - gs_gstate*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 200
    functionName: is_image_visible
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - gs_matrix_multiply
    - ctm_only
    - gx_cpath_rect_visible
    - floor
    - ceil
    - gs_matrix_invert
    - gs_bbox_transform
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END is_image_visible(const gs_image_common_t * pic, gs_gstate
      * pgs, gx_clip_path *pcpath)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gsimage.c:207,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gsimage.c:209,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gsimage.c:211,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gsimage.c:216,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsimage.c:219,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gsimage.c:222,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsimage.c:227,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsimage.c:231,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gsimage.c:233,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gsimage.c:238,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gsimage.c:240,1
    - Dst: gx_image_compute_mat
      Src: /src/libspectre/ghostscript/base/gsimage.c:256,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsimage.c:258,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsimage.c:258,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsimage.c:258,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsimage.c:258,1
    - Dst: gx_image_fill_masked_start
      Src: /src/libspectre/ghostscript/base/gsimage.c:260,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gsimage.c:260,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gsimage.c:272,1
    - Dst: gx_device_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gsimage.c:276,1
    - Dst: is_image_visible
      Src: /src/libspectre/ghostscript/base/gsimage.c:280,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 52
    argCount: 5
    argNames:
    - pic
    - pgs
    - uses_color
    - image_is_text
    - ppie
    argTypes:
    - gs_image_common_t*
    - gs_gstate*
    - bool
    - bool
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 203
    functionDepth: 2
    functionLinenumber: 203
    functionLinenumberEnd: 286
    functionName: gs_image_begin_typed
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - gx_effective_clip_path
    - any_abs
    - gs_gstate_update_overprint
    - ensure_tag_is_set
    - gs_do_set_overprint
    - gx_set_dev_color
    - gx_image_fill_masked_start
    - gs_gstate_color_load
    - gs_currentdevice
    - gx_image_compute_mat
    - gs_currentdevicecolor_inline
    - is_image_visible
    - gx_device_begin_typed_image
    - dev_proc
    - set_nonclient_dev_color
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gs_image_begin_typed(const gs_image_common_t * pic, gs_gstate
      * pgs,\n                     bool uses_color, bool image_is_text, gx_image_enum_common_t
      ** ppie)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 297
    functionName: image_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void image_enum_init(gs_image_enum * penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsimage.c:302,1
    - Dst: image_enum_init
      Src: /src/libspectre/ghostscript/base/gsimage.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - cname
    argTypes:
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 309
    functionName: gs_image_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 2
    functionsReached:
    - image_enum_init
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_image_enum
    signature: 'gs_image_enum *

      gs_image_enum_alloc(gs_memory_t * mem, client_name_t cname)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsimage.c:327,1
    - Dst: gs_cspace_new_DeviceGray
      Src: /src/libspectre/ghostscript/base/gsimage.c:333,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsimage.c:335,1
    - Dst: gs_image_begin_typed
      Src: /src/libspectre/ghostscript/base/gsimage.c:338,1
    - Dst: gs_image_enum_init
      Src: /src/libspectre/ghostscript/base/gsimage.c:343,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 5
    argNames:
    - penum
    - pim
    - multi
    - image_is_text
    - pgs
    argTypes:
    - gs_image_enum*
    - gs_image_t*
    - bool
    - bool
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: gs_image_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_cspace_new_DeviceGray
    - gs_image_enum_init
    - gs_image_begin_typed
    linkageType: ''
    returnType: int
    signature: "int gs_image_init(gs_image_enum * penum, const gs_image_t * pim, bool
      multi,\n              bool image_is_text, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - plane
    argTypes:
    - gs_image_enum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 356
    functionName: gs_image_bytes_per_plane_row
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_image_bytes_per_plane_row(const gs_image_enum * penum, int
      plane)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_planes_wanted
      Src: /src/libspectre/ghostscript/base/gsimage.c:366,1
    - Dst: gs_image_bytes_per_plane_row
      Src: /src/libspectre/ghostscript/base/gsimage.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 374
    functionName: cache_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - gs_image_bytes_per_plane_row
    - gx_image_planes_wanted
    linkageType: ''
    returnType: void
    signature: void cache_planes(gs_image_enum *penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: next_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void next_plane(gs_image_enum *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_planes
      Src: /src/libspectre/ghostscript/base/gsimage.c:394,1
    - Dst: next_plane
      Src: /src/libspectre/ghostscript/base/gsimage.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 391
    functionDepth: 2
    functionLinenumber: 391
    functionLinenumberEnd: 397
    functionName: begin_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - cache_planes
    - next_plane
    linkageType: ''
    returnType: void
    signature: void begin_planes(gs_image_enum *penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gsimage.c:411,1
    - Dst: image_enum_init
      Src: /src/libspectre/ghostscript/base/gsimage.c:414,1
    - Dst: begin_planes
      Src: /src/libspectre/ghostscript/base/gsimage.c:439,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 4
    argNames:
    - penum
    - pie
    - pim
    - dev
    argTypes:
    - gs_image_enum*
    - gx_image_enum_common_t*
    - gs_data_image_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 441
    functionName: gs_image_common_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - image_enum_init
    - gx_image_end
    - begin_planes
    linkageType: ''
    returnType: int
    signature: "int gs_image_common_init(gs_image_enum * penum, gx_image_enum_common_t
      * pie,\n            const gs_data_image_t * pim, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_common_init
      Src: /src/libspectre/ghostscript/base/gsimage.c:451,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsimage.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - penum
    - pie
    - pim
    - pgs
    argTypes:
    - gs_image_enum*
    - gx_image_enum_common_t*
    - gs_data_image_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 446
    functionDepth: 4
    functionLinenumber: 446
    functionLinenumberEnd: 454
    functionName: gs_image_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 2
    functionsReached:
    - gs_image_common_init
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: "int gs_image_enum_init(gs_image_enum * penum, gx_image_enum_common_t
      * pie,\n                   const gs_data_image_t * pim, gs_gstate *pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 472
    functionName: gs_image_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gs_image_planes_wanted(gs_image_enum *penum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gsimage.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 483
    functionName: gs_image_row_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - gs_memory_stable
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_image_row_memory(const gs_image_enum *penum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsimage.c:492,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsimage.c:495,1
    - Dst: gs_image_row_memory
      Src: /src/libspectre/ghostscript/base/gsimage.c:495,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - penum
    - num_planes
    - cname
    argTypes:
    - gs_image_enum*
    - int
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: free_row_buffers
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - gs_image_row_memory
    - if_debug3m
    - gs_free_string
    linkageType: ''
    returnType: void
    signature: void free_row_buffers(gs_image_enum *penum, int num_planes, client_name_t
      cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsimage.c:514,1
    - Dst: gs_image_next_planes
      Src: /src/libspectre/ghostscript/base/gsimage.c:520,1
    - Dst: next_plane
      Src: /src/libspectre/ghostscript/base/gsimage.c:523,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - penum
    - dbytes
    - dsize
    - pused
    argTypes:
    - gs_image_enum*
    - byte*
    - uint
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 525
    functionName: gs_image_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_image_next_planes
    - next_plane
    linkageType: ''
    returnType: int
    signature: "int gs_image_next(gs_image_enum * penum, const byte * dbytes, uint
      dsize,\n              uint * pused)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsimage.c:537,1
    - Dst: dmprintf6
      Src: /src/libspectre/ghostscript/base/gsimage.c:541,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsimage.c:571,1
    - Dst: gs_image_row_memory
      Src: /src/libspectre/ghostscript/base/gsimage.c:576,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsimage.c:580,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/base/gsimage.c:582,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gsimage.c:585,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsimage.c:589,1
    - Dst: free_row_buffers
      Src: /src/libspectre/ghostscript/base/gsimage.c:590,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsimage.c:596,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsimage.c:611,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsimage.c:616,1
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gsimage.c:639,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsimage.c:641,1
    - Dst: cache_planes
      Src: /src/libspectre/ghostscript/base/gsimage.c:664,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 86
    argCount: 3
    argNames:
    - penum
    - plane_data
    - used
    argTypes:
    - gs_image_enum*
    - gs_const_string*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 672
    functionName: gs_image_next_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - gs_image_row_memory
    - if_debug5m
    - gs_debug_c
    - gs_resize_string
    - gx_image_plane_data_rows
    - dmprintf6
    - memcpy
    - cache_planes
    - free_row_buffers
    - if_debug2m
    - gs_alloc_string
    - gs_note_error
    - min
    linkageType: ''
    returnType: int
    signature: "int gs_image_next_planes(gs_image_enum * penum,\n                     gs_const_string
      *plane_data /*[num_planes]*/,\n                     uint *used /*[num_planes]*/)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_row_buffers
      Src: /src/libspectre/ghostscript/base/gsimage.c:681,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsimage.c:683,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gsimage.c:688,1
    - Dst: gx_image_fill_masked_end
      Src: /src/libspectre/ghostscript/base/gsimage.c:689,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gsimage.c:689,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gsimage.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - penum
    - pgs
    argTypes:
    - gs_image_enum*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 676
    functionDepth: 2
    functionLinenumber: 676
    functionLinenumberEnd: 698
    functionName: gs_image_cleanup
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 1
    functionsReached:
    - gx_image_end
    - gx_image_fill_masked_end
    - free_row_buffers
    - gs_currentdevicecolor_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_image_cleanup(gs_image_enum * penum, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_cleanup
      Src: /src/libspectre/ghostscript/base/gsimage.c:704,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsimage.c:706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - penum
    - pgs
    argTypes:
    - gs_image_enum*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 708
    functionName: gs_image_cleanup_and_free_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.c
    functionUses: 0
    functionsReached:
    - gs_image_cleanup
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_image_cleanup_and_free_enum(gs_image_enum * penum, gs_gstate
      *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - a_output
    - a_buffer
    - a_buffer_size
    argTypes:
    - WRF_output*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: WRF_init
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WRF_init(WRF_output * a_output, unsigned char *a_buffer, long
      a_buffer_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - memory
    - a_output
    - a_byte
    argTypes:
    - gs_memory_t*
    - WRF_output*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: WRF_wbyte
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void WRF_wbyte(const gs_memory_t *memory, WRF_output * a_output, unsigned
      char a_byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/wrfont.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - memory
    - a_output
    - a_string
    - a_length
    argTypes:
    - gs_memory_t*
    - WRF_output*
    - unsigned char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 62
    functionName: WRF_wtext
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 9
    functionsReached:
    - WRF_wbyte
    linkageType: ''
    returnType: void
    signature: void WRF_wtext(const gs_memory_t *memory, WRF_output * a_output, const
      unsigned char *a_string, long a_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WRF_wbyte
      Src: /src/libspectre/ghostscript/base/wrfont.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - memory
    - a_output
    - a_string
    argTypes:
    - gs_memory_t*
    - WRF_output*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: WRF_wstring
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 9
    functionsReached:
    - WRF_wbyte
    linkageType: ''
    returnType: void
    signature: void WRF_wstring(const gs_memory_t *memory, WRF_output * a_output,
      const char *a_string)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_snprintf
      Src: /src/libspectre/ghostscript/base/wrfont.c:77,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/wrfont.c:79,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/wrfont.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - memory
    - a_output
    - a_float
    argTypes:
    - gs_memory_t*
    - WRF_output*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 5
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: WRF_wfloat
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 3
    functionsReached:
    - gs_snprintf
    - emprintf
    - WRF_wstring
    linkageType: ''
    returnType: void
    signature: void WRF_wfloat(const gs_memory_t *memory, WRF_output * a_output, double
      a_float)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_snprintf
      Src: /src/libspectre/ghostscript/base/wrfont.c:90,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/wrfont.c:92,1
    - Dst: WRF_wstring
      Src: /src/libspectre/ghostscript/base/wrfont.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - memory
    - a_output
    - a_int
    argTypes:
    - gs_memory_t*
    - WRF_output*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: WRF_wint
    functionSourceFile: /src/libspectre/ghostscript/base/wrfont.c
    functionUses: 6
    functionsReached:
    - gs_snprintf
    - emprintf
    - WRF_wstring
    linkageType: ''
    returnType: void
    signature: void WRF_wint(const gs_memory_t *memory, WRF_output * a_output, long
      a_int)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: private_st_gs_image3x
    functionSourceFile: /src/libspectre/ghostscript/base/gsipar3x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_image3x()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 29
    functionName: btab2_
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: btab2_(v0,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: bit_table_2
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bit_table_2(v0,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - v0
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 33
    functionName: btab4_
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: btab4_(v0,v8,v4,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - v0
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: bit_table_4
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bit_table_4(v0,v8,v4,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - v0
    - ','
    - v20
    - ','
    - v10
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: btab6_
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: btab6_(v0,v20,v10,v8,v4,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - v0
    - ','
    - v20
    - ','
    - v10
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: bit_table_6
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bit_table_6(v0,v20,v10,v8,v4,v2,v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - v0
    - ','
    - v80
    - ','
    - v40
    - ','
    - v20
    - ','
    - v10
    - ','
    - v8
    - ','
    - v4
    - ','
    - v2
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: bit_table_8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbittab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bit_table_8(v0,v80,v40,v20,v10,v8,v4,v2,v1)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/sjbig2.c:66,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/sjbig2.c:73,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2.c:77,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/sjbig2.c:81,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:84,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/sjbig2.c:88,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2.c:92,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2.c:94,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:97,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2.c:99,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2.c:101,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2.c:113,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2.c:115,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:118,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2.c:122,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2.c:124,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/sjbig2.c:139,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/sjbig2.c:141,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 88
    argCount: 4
    argNames:
    - callback_data
    - msg
    - severity
    - seg_idx
    argTypes:
    - void*
    - char*
    - Jbig2Severity
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 43
    functionDepth: 5
    functionLinenumber: 43
    functionLinenumberEnd: 144
    functionName: s_jbig2decode_error
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - strcmp
    - gs_alloc_bytes
    - gs_sprintf
    - dmlprintf1
    - dlprintf3
    - snprintf
    - if_debug3
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void s_jbig2decode_error(void *callback_data, const char *msg, Jbig2Severity
      severity,\n               uint32_t seg_idx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/sjbig2.c:158,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sjbig2.c:160,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:163,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - callback_data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 167
    functionName: s_jbig2decode_flush_errors
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - dmlprintf1
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_flush_errors(void *callback_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - buf
    - length
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 179
    functionName: s_jbig2decode_invert_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_invert_buffer(unsigned char *buf, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - _allocator
    - size
    argTypes:
    - Jbig2Allocator*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 192
    functionName: s_jbig2decode_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *s_jbig2decode_alloc(Jbig2Allocator *_allocator, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - _allocator
    - p
    argTypes:
    - Jbig2Allocator*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: s_jbig2decode_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_free(Jbig2Allocator *_allocator, void *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - _allocator
    - p
    - size
    argTypes:
    - Jbig2Allocator*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 206
    functionName: s_jbig2decode_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - gs_resize_object
    linkageType: ''
    returnType: void
    signature: void *s_jbig2decode_realloc(Jbig2Allocator *_allocator, void *p, size_t
      size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/sjbig2.c:219,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2.c:224,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2.c:228,1
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/base/sjbig2.c:237,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:240,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2.c:241,1
    - Dst: jbig2_data_in
      Src: /src/libspectre/ghostscript/base/sjbig2.c:245,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/base/sjbig2.c:248,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:249,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2.c:251,1
    - Dst: jbig2_make_global_ctx
      Src: /src/libspectre/ghostscript/base/sjbig2.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - mem
    - data
    - length
    - result
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 210
    functionDepth: 3
    functionLinenumber: 210
    functionLinenumberEnd: 258
    functionName: s_jbig2decode_make_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - if_debug0
    - jbig2_data_in
    - gs_alloc_bytes
    - jbig2_ctx_new
    - jbig2_make_global_ctx
    - return_error
    - jbig2_ctx_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_make_global_data(gs_memory_t *mem, byte *data, uint
      length, void **result)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_global_ctx_free
      Src: /src/libspectre/ghostscript/base/sjbig2.c:267,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: s_jbig2decode_free_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 1
    functionsReached:
    - jbig2_global_ctx_free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_free_global_data(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ss
    - gd
    - global_ctx
    argTypes:
    - stream_state*
    - s_jbig2_global_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    functionName: s_jbig2decode_set_global_data
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_set_global_data(stream_state *ss, s_jbig2_global_data_t
      *gd, void *global_ctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2.c:300,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjbig2.c:310,1
    - Dst: s_jbig2decode_error
      Src: /src/libspectre/ghostscript/base/sjbig2.c:312,1
    - Dst: jbig2_ctx_new
      Src: /src/libspectre/ghostscript/base/sjbig2.c:321,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:325,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjbig2.c:338,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 292
    functionDepth: 6
    functionLinenumber: 292
    functionLinenumberEnd: 339
    functionName: s_jbig2decode_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - s_jbig2decode_error
    - gs_alloc_bytes
    - return_error
    - jbig2_ctx_new
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_jbig2decode_init(stream_state * ss)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_data_in
      Src: /src/libspectre/ghostscript/base/sjbig2.c:360,1
    - Dst: jbig2_complete_page
      Src: /src/libspectre/ghostscript/base/sjbig2.c:364,1
    - Dst: jbig2_page_out
      Src: /src/libspectre/ghostscript/base/sjbig2.c:372,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjbig2.c:381,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjbig2.c:382,1
    - Dst: s_jbig2decode_invert_buffer
      Src: /src/libspectre/ghostscript/base/sjbig2.c:383,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 344
    functionDepth: 3
    functionLinenumber: 344
    functionLinenumberEnd: 391
    functionName: s_jbig2decode_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - s_jbig2decode_invert_buffer
    - jbig2_data_in
    - jbig2_complete_page
    - min
    - memcpy
    - jbig2_page_out
    linkageType: ''
    returnType: int
    signature: "int s_jbig2decode_process(stream_state * ss, stream_cursor_read *
      pr,\n                  stream_cursor_write * pw, bool last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: jbig2_release_page
      Src: /src/libspectre/ghostscript/base/sjbig2.c:404,1
    - Dst: s_jbig2decode_flush_errors
      Src: /src/libspectre/ghostscript/base/sjbig2.c:406,1
    - Dst: jbig2_ctx_free
      Src: /src/libspectre/ghostscript/base/sjbig2.c:407,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:410,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:414,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjbig2.c:415,1
    - Dst: s_jbig2decode_free_global_data
      Src: /src/libspectre/ghostscript/base/sjbig2.c:423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 396
    functionDepth: 3
    functionLinenumber: 396
    functionLinenumberEnd: 427
    functionName: s_jbig2decode_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - s_jbig2decode_free_global_data
    - s_jbig2decode_flush_errors
    - jbig2_ctx_free
    - jbig2_release_page
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_release(stream_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_jbig2decode_release
      Src: /src/libspectre/ghostscript/base/sjbig2.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 435
    functionName: s_jbig2decode_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached:
    - s_jbig2decode_release
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: s_jbig2decode_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_jbig2decode_set_defaults(stream_state *ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: public_st_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_color_space()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: gs_color_space_indexed_base_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscspace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_color_space_indexed_base_space(pcspace)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/saes.c:38,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/saes.c:40,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/saes.c:46,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/saes.c:50,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - state
    - key
    - keylength
    argTypes:
    - stream_aes_state*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 55
    functionName: s_aes_set_key
    functionSourceFile: /src/libspectre/ghostscript/base/saes.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - gs_throw
    linkageType: ''
    returnType: int
    signature: "int s_aes_set_key(stream_aes_state * state, const unsigned char *key,\n
      \                 int keylength)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - state
    - use_padding
    argTypes:
    - stream_aes_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: s_aes_set_padding
    functionSourceFile: /src/libspectre/ghostscript/base/saes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_aes_set_padding(stream_aes_state *state, int use_padding)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 77
    functionName: s_aes_init
    functionSourceFile: /src/libspectre/ghostscript/base/saes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_aes_init(stream_state *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/saes.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 87
    functionName: s_aes_release
    functionSourceFile: /src/libspectre/ghostscript/base/saes.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_aes_release(stream_state *ss)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/saes.c:117,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/saes.c:120,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/saes.c:123,1
    - Dst: gs_throw1
      Src: /src/libspectre/ghostscript/base/saes.c:125,1
    - Dst: aes_setkey_dec
      Src: /src/libspectre/ghostscript/base/saes.c:129,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/saes.c:134,1
    - Dst: aes_crypt_cbc
      Src: /src/libspectre/ghostscript/base/saes.c:141,1
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/saes.c:156,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/saes.c:165,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/saes.c:169,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/saes.c:177,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 182
    functionName: s_aes_process
    functionSourceFile: /src/libspectre/ghostscript/base/saes.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gs_alloc_bytes_immovable
    - aes_crypt_cbc
    - memset
    - memcpy
    - gs_throw1
    - aes_setkey_dec
    - gs_warn1
    linkageType: ''
    returnType: int
    signature: "int s_aes_process(stream_state * ss, stream_cursor_read * pr,\n                  stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: private_st_san_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_san_trap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: private_st_san_trap_contact
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_san_trap_contact()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 106
    functionName: public_st_device_spot_analyzer
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_spot_analyzer()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdps1.c:60,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gsdps1.c:66,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gsdps1.c:66,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsdps1.c:71,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsdps1.c:72,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsdps1.c:73,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsdps1.c:74,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdps1.c:76,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsdps1.c:78,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsdps1.c:80,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsdps1.c:82,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gsdps1.c:84,1
    - Dst: gx_path_bbox_set
      Src: /src/libspectre/ghostscript/base/gsdps1.c:85,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsdps1.c:86,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsdps1.c:87,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdps1.c:88,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdps1.c:89,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 5
    argNames:
    - pgs
    - llx
    - lly
    - urx
    - ury
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 95
    functionName: gs_setbbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 0
    functionsReached:
    - gs_bbox_transform
    - ctm_only
    - max
    - gx_path_bbox_set
    - floor
    - ceil
    - return_error
    - min
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_setbbox(gs_gstate * pgs, double llx, double lly, double urx,
      double ury)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/base/gsdps1.c:103,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:120,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:121,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:122,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:123,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:124,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:135,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:136,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:137,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:138,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:139,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:147,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:148,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:149,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gsdps1.c:150,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:151,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 26
    argCount: 4
    argNames:
    - pgs
    - pr
    - count
    - clip
    argTypes:
    - gs_gstate*
    - gs_rect*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 157
    functionName: gs_rectappend_compat
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 0
    functionsReached:
    - gs_moveto
    - gs_currentcpsimode
    - gs_lineto
    - gs_closepath
    linkageType: ''
    returnType: int
    signature: int gs_rectappend_compat(gs_gstate * pgs, const gs_rect * pr, uint
      count, bool clip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_rectappend_compat
      Src: /src/libspectre/ghostscript/base/gsdps1.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pgs
    - pr
    - count
    argTypes:
    - gs_gstate*
    - gs_rect*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 3
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: gs_rectappend
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 0
    functionsReached:
    - gs_rectappend_compat
    linkageType: ''
    returnType: int
    signature: int gs_rectappend(gs_gstate * pgs, const gs_rect * pr, uint count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gsdps1.c:171,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsdps1.c:172,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:173,1
    - Dst: gs_rectappend_compat
      Src: /src/libspectre/ghostscript/base/gsdps1.c:174,1
    - Dst: gs_clip
      Src: /src/libspectre/ghostscript/base/gsdps1.c:175,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gsdps1.c:177,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gsdps1.c:180,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - pgs
    - pr
    - count
    argTypes:
    - gs_gstate*
    - gs_rect*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 165
    functionDepth: 4
    functionLinenumber: 165
    functionLinenumberEnd: 183
    functionName: gs_rectclip
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gs_newpath
    - gx_path_free
    - gx_path_assign_preserve
    - gs_rectappend_compat
    - gx_path_init_local
    - gs_clip
    linkageType: ''
    returnType: int
    signature: int gs_rectclip(gs_gstate * pgs, const gs_rect * pr, uint count)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gsdps1.c:195,1
    - Dst: gx_hld_is_hl_color_available
      Src: /src/libspectre/ghostscript/base/gsdps1.c:197,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdps1.c:199,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gsdps1.c:204,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gsdps1.c:206,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsdps1.c:209,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsdps1.c:210,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gsdps1.c:211,1
    - Dst: clip_list_is_rectangle
      Src: /src/libspectre/ghostscript/base/gsdps1.c:212,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gsdps1.c:212,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gsdps1.c:217,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdps1.c:218,1
    - Dst: gs_currentcolor_eopm
      Src: /src/libspectre/ghostscript/base/gsdps1.c:220,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gsdps1.c:225,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsdps1.c:234,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsdps1.c:235,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsdps1.c:239,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsdps1.c:240,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdps1.c:241,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdps1.c:242,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gsdps1.c:244,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdps1.c:253,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gsdps1.c:261,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsdps1.c:263,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsdps1.c:264,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsdps1.c:265,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsdps1.c:266,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gsdps1.c:268,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/base/gsdps1.c:269,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gsdps1.c:270,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gsdps1.c:271,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsdps1.c:273,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsdps1.c:274,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsdps1.c:275,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsdps1.c:276,1
    - Dst: gx_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gsdps1.c:290,1
    - Dst: gx_path_is_null
      Src: /src/libspectre/ghostscript/base/gsdps1.c:298,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsdps1.c:301,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:303,1
    - Dst: gs_rectappend
      Src: /src/libspectre/ghostscript/base/gsdps1.c:306,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/base/gsdps1.c:307,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsdps1.c:311,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:313,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 74
    argCount: 3
    argNames:
    - pgs
    - pr
    - count
    argTypes:
    - gs_gstate*
    - gs_rect*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 187
    functionDepth: 4
    functionLinenumber: 187
    functionLinenumberEnd: 316
    functionName: gs_rectfill
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 3
    functionsReached:
    - gs_point_transform2fixed
    - gs_newpath
    - gx_cpath_inner_box
    - gs_rectappend
    - max
    - gs_currentdevicecolor_inline
    - fixed_rounded
    - gs_grestore
    - gx_path_is_null
    - gs_gstate_color_load
    - rect_intersect
    - gs_currentcolor_eopm
    - fixed_ceiling
    - clip_list_is_rectangle
    - min
    - gx_effective_clip_path
    - gx_fill_rectangle
    - gx_cpath_list
    - gx_set_dev_color
    - gs_fill
    - fixed2int
    - gx_hld_is_hl_color_available
    - dev_proc
    - fixed_floor
    - ensure_tag_is_set
    - is_fzero2
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int gs_rectfill(gs_gstate * pgs, const gs_rect * pr, uint count)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_null
      Src: /src/libspectre/ghostscript/base/gsdps1.c:324,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gsdps1.c:328,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:330,1
    - Dst: gs_rectappend
      Src: /src/libspectre/ghostscript/base/gsdps1.c:332,1
    - Dst: gs_concat
      Src: /src/libspectre/ghostscript/base/gsdps1.c:333,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/base/gsdps1.c:334,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gsdps1.c:338,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gsdps1.c:340,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 4
    argNames:
    - pgs
    - pr
    - count
    - pmat
    argTypes:
    - gs_gstate*
    - gs_rect*
    - uint
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 320
    functionDepth: 4
    functionLinenumber: 320
    functionLinenumberEnd: 342
    functionName: gs_rectstroke
    functionSourceFile: /src/libspectre/ghostscript/base/gsdps1.c
    functionUses: 0
    functionsReached:
    - gs_concat
    - gs_newpath
    - gs_stroke
    - gs_grestore
    - gx_path_is_null
    - gs_rectappend
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: "int gs_rectstroke(gs_gstate * pgs, const gs_rect * pr, uint count,\n
      \             const gs_matrix * pmat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:48,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxfapi.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - mem
    - I
    - rc
    argTypes:
    - gs_memory_t*
    - gs_fapi_server*
    - gs_fapi_retcode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: gs_fapi_renderer_retcode
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - emprintf2
    - gs_debug_c
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_renderer_retcode(gs_memory_t *mem, gs_fapi_server *I,\n
      \                        gs_fapi_retcode rc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 69
    functionName: import_shift
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int64_t
    signature: int64_t import_shift(int64_t x, int64_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: export_shift
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int export_shift(int x, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: fapi_round
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int fapi_round(double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxfapi.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - I
    argTypes:
    - gs_fapi_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 93
    functionName: add_closepath
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gx_path_close_subpath_notes
    linkageType: ''
    returnType: int
    signature: int add_closepath(gs_fapi_path *I)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:100,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:101,1
    - Dst: add_closepath
      Src: /src/libspectre/ghostscript/base/gxfapi.c:118,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxfapi.c:121,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - I
    - x
    - y
    argTypes:
    - gs_fapi_path*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 124
    functionName: add_move
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - import_shift
    - gx_path_add_point
    - add_closepath
    linkageType: ''
    returnType: int
    signature: int add_move(gs_fapi_path *I, int64_t x, int64_t y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:131,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:132,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxfapi.c:148,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - I
    - x
    - y
    argTypes:
    - gs_fapi_path*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 150
    functionName: add_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 11
    functionsReached:
    - import_shift
    - gx_path_add_line_notes
    linkageType: ''
    returnType: int
    signature: int add_line(gs_fapi_path *I, int64_t x, int64_t y)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:158,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:159,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:160,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:161,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:162,1
    - Dst: import_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:163,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxfapi.c:207,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 7
    argNames:
    - I
    - x0
    - y0
    - x1
    - y1
    - x2
    - y2
    argTypes:
    - gs_fapi_path*
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 210
    functionName: add_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 4
    functionsReached:
    - import_shift
    - gx_path_add_curve_notes
    linkageType: ''
    returnType: int
    signature: "int add_curve(gs_fapi_path *I, int64_t x0, int64_t y0, int64_t x1,
      int64_t y1,\n          int64_t x2, int64_t y2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - ff
    argTypes:
    - gs_fapi_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: gs_fapi_get_metrics_count
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_fapi_get_metrics_count(gs_fapi_font *ff)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_is_width_only
      Src: /src/libspectre/ghostscript/base/gxfapi.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 250
    functionName: fapi_gs_char_show_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_text_is_width_only
    linkageType: ''
    returnType: bool
    signature: bool fapi_gs_char_show_width_only(const gs_text_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxfapi.c:262,1
    - Dst: gs_color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxfapi.c:264,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:265,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 267
    functionName: using_transparency_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_color_writes_pure
    - dev_proc
    - gs_currentdevice_inline
    linkageType: ''
    returnType: bool
    signature: bool using_transparency_pattern(gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gxfapi.c:285,1
    - Dst: gs_fapi_server*::set_mm_weight_vector
      Src: /src/libspectre/ghostscript/base/gxfapi.c:290,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:292,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 1
    argNames:
    - pbfont
    argTypes:
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 297
    functionName: recreate_multiple_master
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gs_fapi_server*::set_mm_weight_vector
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool recreate_multiple_master(gs_font_base *pbfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_text_oversampling
      Src: /src/libspectre/ghostscript/base/gxfapi.c:315,1
    - Dst: using_transparency_pattern
      Src: /src/libspectre/ghostscript/base/gxfapi.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 5
    argCount: 4
    argNames:
    - penum_s
    - pbfont
    - abits
    - log2_scale
    argTypes:
    - gs_show_enum*
    - gs_font_base*
    - int
    - gs_log2_scale_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: produce_outline_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - using_transparency_pattern
    - gx_compute_text_oversampling
    linkageType: ''
    returnType: bool
    signature: "bool produce_outline_char(gs_show_enum *penum_s,\n                     gs_font_base
      *pbfont, int abits,\n                     gs_log2_scale_point *log2_scale)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_server*::release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - I
    - server_font_data
    argTypes:
    - gs_fapi_server*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 334
    functionName: gs_fapi_release_typeface
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_server*::release_typeface
    linkageType: ''
    returnType: void
    signature: void gs_fapi_release_typeface(gs_fapi_server *I, void **server_font_data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - proc_data
    - event_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 348
    functionName: notify_remove_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_release_typeface
    linkageType: ''
    returnType: int
    signature: int notify_remove_font(void *proc_data, void *event_data)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxfapi.c:385,1
    - Dst: FAPI_ISTYPE1GLYPHDATA
      Src: /src/libspectre/ghostscript/base/gxfapi.c:402,1
    - Dst: FAPI_ISCIDFONT
      Src: /src/libspectre/ghostscript/base/gxfapi.c:417,1
    - Dst: gs_fapi_get_metrics_count
      Src: /src/libspectre/ghostscript/base/gxfapi.c:421,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:423,1
    - Dst: gs_fapi_server*::get_scaled_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:423,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:433,1
    - Dst: gs_fapi_server*::get_font_bbox
      Src: /src/libspectre/ghostscript/base/gxfapi.c:434,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:436,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:450,1
    - Dst: gs_fapi_server*::get_decodingID
      Src: /src/libspectre/ghostscript/base/gxfapi.c:451,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:453,1
    - Dst: gs_fapi_get_metrics_count
      Src: /src/libspectre/ghostscript/base/gxfapi.c:482,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:485,1
    - Dst: gs_fapi_server*::get_scaled_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:486,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:497,1
    - Dst: gs_fapi_server*::get_font_bbox
      Src: /src/libspectre/ghostscript/base/gxfapi.c:498,1
    - Dst: gs_notify_register
      Src: /src/libspectre/ghostscript/base/gxfapi.c:502,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxfapi.c:504,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:510,1
    - Dst: gs_fapi_server*::get_scaled_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:511,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:525,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:529,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:531,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:537,1
    - Dst: gs_fapi_server*::get_scaled_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:537,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:544,1
    - Dst: gs_notify_register
      Src: /src/libspectre/ghostscript/base/gxfapi.c:548,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:550,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 101
    argCount: 7
    argNames:
    - pfont
    - I
    - subfont
    - font_file_path
    - full_font_buf
    - xlatmap
    - decodingID
    argTypes:
    - gs_font*
    - gs_fapi_server*
    - int
    - char*
    - gs_string*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 350
    functionDepth: 3
    functionLinenumber: 350
    functionLinenumberEnd: 555
    functionName: gs_fapi_prepare_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_server*::get_scaled_font
    - hypot
    - gs_fapi_server*::get_decodingID
    - gs_fapi_release_typeface
    - FAPI_ISTYPE1GLYPHDATA
    - emprintf
    - FAPI_ISCIDFONT
    - gs_fapi_get_metrics_count
    - return_error
    - gs_notify_register
    - gs_fapi_renderer_retcode
    - gs_fapi_server*::get_font_bbox
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_prepare_font(gs_font *pfont, gs_fapi_server *I, int subfont,
      const char *font_file_path,\n                     gs_string *full_font_buf,
      const char *xlatmap, const char **decodingID)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:575,1
    - Dst: gs_fapi_server*::get_char_outline
      Src: /src/libspectre/ghostscript/base/gxfapi.c:576,1
    - Dst: add_closepath
      Src: /src/libspectre/ghostscript/base/gxfapi.c:585,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 6
    argNames:
    - mem
    - I
    - import_shift_v
    - penum_s
    - path
    - close_path
    argTypes:
    - gs_memory_t*
    - gs_fapi_server*
    - int
    - gs_show_enum*
    - struct gx_path_s*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: outline_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - add_closepath
    - gs_fapi_renderer_retcode
    - gs_fapi_server*::get_char_outline
    linkageType: ''
    returnType: int
    signature: "int outline_char(gs_memory_t *mem, gs_fapi_server *I, int import_shift_v,\n
      \            gs_show_enum *penum_s, struct gx_path_s *path, bool close_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_server*::get_fontmatrix
      Src: /src/libspectre/ghostscript/base/gxfapi.c:602,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:605,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxfapi.c:611,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxfapi.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 5
    argNames:
    - pbfont
    - metrics
    - FontMatrix_div
    - em_scale_x
    - em_scale_y
    argTypes:
    - gs_font_base*
    - gs_fapi_metrics*
    - double
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 617
    functionName: compute_em_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - memset
    - hypot
    - gs_fapi_server*::get_fontmatrix
    linkageType: ''
    returnType: void
    signature: "void compute_em_scale(const gs_font_base *pbfont, gs_fapi_metrics
      *metrics,\n                 double FontMatrix_div, double *em_scale_x,\n                 double
      *em_scale_y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:622,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:625,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxfapi.c:630,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:635,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:638,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:639,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:642,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:644,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - dev1
    - rast
    - dx
    - dy
    argTypes:
    - gx_device*
    - gs_fapi_raster*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 647
    functionName: fapi_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - memcpy
    - memset
    - return_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int fapi_copy_mono(gx_device *dev1, gs_fapi_raster *rast, int dx, int
      dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxfapi.c:661,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - width
    - bold
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - int
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 663
    functionName: alloc_bold_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - bitmap_raster
    linkageType: ''
    returnType: byte
    signature: 'byte *

      alloc_bold_lines(gs_memory_t *mem, uint width, int bold, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - dest
    - src
    - nbytes
    argTypes:
    - byte*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 676
    functionName: bits_merge
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void bits_merge(byte *dest, const byte *src, uint nbytes)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfapi.c:694,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 61
    argCount: 4
    argNames:
    - dest
    - src
    - width
    - smear_width
    argTypes:
    - byte*
    - byte*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 763
    functionName: bits_smear_horizontally
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: "void bits_smear_horizontally(byte *dest, const byte *src, uint width,\n
      \ uint smear_width)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: extern_st
      Src: /src/libspectre/ghostscript/base/gxfapi.c:785,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:789,1
    - Dst: gs_color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxfapi.c:798,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxfapi.c:812,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:815,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:825,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:826,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:833,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gxfapi.c:840,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gxfapi.c:845,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gxfapi.c:846,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gxfapi.c:849,1
    - Dst: gx_image_fill_masked
      Src: /src/libspectre/ghostscript/base/gxfapi.c:853,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:858,1
    - Dst: gs_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:876,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:878,1
    - Dst: alloc_bold_lines
      Src: /src/libspectre/ghostscript/base/gxfapi.c:886,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:888,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxfapi.c:891,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:891,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:893,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:894,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/base/gxfapi.c:901,1
    - Dst: gs_make_translation
      Src: /src/libspectre/ghostscript/base/gxfapi.c:902,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxfapi.c:903,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxfapi.c:903,1
    - Dst: gs_image_init
      Src: /src/libspectre/ghostscript/base/gxfapi.c:907,1
    - Dst: gs_image_next
      Src: /src/libspectre/ghostscript/base/gxfapi.c:918,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:922,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfapi.c:929,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:934,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:935,1
    - Dst: bits_smear_horizontally
      Src: /src/libspectre/ghostscript/base/gxfapi.c:937,1
    - Dst: merged_line
      Src: /src/libspectre/ghostscript/base/gxfapi.c:937,1
    - Dst: bits_merge
      Src: /src/libspectre/ghostscript/base/gxfapi.c:944,1
    - Dst: merged_line
      Src: /src/libspectre/ghostscript/base/gxfapi.c:944,1
    - Dst: merged_line
      Src: /src/libspectre/ghostscript/base/gxfapi.c:944,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxfapi.c:967,1
    - Dst: merged_line
      Src: /src/libspectre/ghostscript/base/gxfapi.c:967,1
    - Dst: bits_merge
      Src: /src/libspectre/ghostscript/base/gxfapi.c:971,1
    - Dst: merged_line
      Src: /src/libspectre/ghostscript/base/gxfapi.c:971,1
    - Dst: gs_image_next
      Src: /src/libspectre/ghostscript/base/gxfapi.c:973,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:980,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:983,1
    - Dst: gs_image_cleanup_and_free_enum
      Src: /src/libspectre/ghostscript/base/gxfapi.c:985,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 118
    argCount: 5
    argNames:
    - pfont
    - pgs
    - penum
    - rast
    - import_shift_v
    argTypes:
    - gs_font*
    - gs_gstate*
    - gs_show_enum*
    - gs_fapi_raster*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 771
    functionDepth: 4
    functionLinenumber: 771
    functionLinenumberEnd: 990
    functionName: fapi_image_uncached_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gs_make_translation
    - gs_object_type
    - bits_smear_horizontally
    - gs_color_writes_pure
    - gs_matrix_multiply
    - ctm_only
    - gs_gstate_color_load
    - memset
    - gs_image_init
    - gs_note_error
    - extern_st
    - min
    - gs_free_object
    - gx_set_dev_color
    - gs_image_cleanup_and_free_enum
    - alloc_bold_lines
    - ensure_tag_is_set
    - gs_alloc_byte_array
    - gs_image_enum_alloc
    - bits_merge
    - gx_image_fill_masked
    - memcpy
    - gs_image_t_init_mask
    - gs_image_next
    - merged_line
    - return_error
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: "int fapi_image_uncached_glyph(gs_font *pfont, gs_gstate *pgs, gs_show_enum
      *penum,\n                          gs_fapi_raster *rast, const int import_shift_v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: merged_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: merged_line(i)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1005,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1009,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1015,1
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1018,1
    - Dst: outline_char
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1022,1
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1028,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1037,1
    - Dst: gs_fapi_server*::get_char_raster
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1039,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1042,1
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1052,1
    - Dst: outline_char
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1056,1
    - Dst: gs_gstate_setflat
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1060,1
    - Dst: gs_char_flatness
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1061,1
    - Dst: gs_currentlinewidth
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1064,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1066,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1067,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1068,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1080,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1087,1
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1101,1
    - Dst: arith_rshift_slow
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1115,1
    - Dst: arith_rshift_slow
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1120,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1129,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1130,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1144,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1145,1
    - Dst: fapi_copy_mono
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1155,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1160,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1162,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1166,1
    - Dst: fapi_image_uncached_glyph
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1168,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 75
    argCount: 4
    argNames:
    - pfont
    - pgs
    - penum
    - I
    argTypes:
    - gs_font*
    - gs_gstate*
    - gs_text_enum_t*
    - gs_fapi_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1176
      start: 992
    functionDepth: 5
    functionLinenumber: 992
    functionLinenumberEnd: 1176
    functionName: gs_fapi_finish_render
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_char_flatness
    - gs_setlinewidth
    - gx_path_add_char_path
    - SHOW_IS
    - gs_currentpoint
    - gs_currentlinewidth
    - fapi_copy_mono
    - gs_currentdevice_inline
    - gs_fapi_server*::get_char_raster
    - gs_debug_c
    - arith_rshift_slow
    - fapi_image_uncached_glyph
    - memset
    - gs_gstate_setflat
    - gs_moveto
    - emprintf2
    - float2fixed
    - gs_stroke
    - outline_char
    - gs_fill
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_fapi_finish_render(gs_font *pfont, gs_gstate *pgs, gs_text_enum_t
      *penum, gs_fapi_server *I)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1180
    functionName: GET_U16_MSB
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_U16_MSB(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1181
    functionName: GET_S16_MSB
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_S16_MSB(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mtx1
    - ','
    - mtx2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1182
    functionDepth: 0
    functionLinenumber: 1182
    functionLinenumberEnd: 1184
    functionName: MTX_EQ
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MTX_EQ(mtx1,mtx2)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1191,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1201,1
    - Dst: FAPI_ISCIDFONT
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1207,1
    - Dst: FAPI_ISTYPE1GLYPHDATA
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1208,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1210,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1212,1
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1233,1
    - Dst: produce_outline_char
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1236,1
    - Dst: SHOW_IS
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1256,1
    - Dst: gs_currentcharmatrix
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1257,1
    - Dst: fapi_gs_char_show_width_only
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1280,1
    - Dst: gs_fapi_get_metrics_count
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1283,1
    - Dst: recreate_multiple_master
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1288,1
    - Dst: gs_fapi_release_typeface
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1290,1
    - Dst: MTX_EQ
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1301,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1330,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1334,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1337,1
    - Dst: gs_fapi_server*::get_fontmatrix
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1340,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1343,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1346,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1371,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1373,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1384,1
    - Dst: gs_fapi_server*::get_scaled_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1385,1
    - Dst: gs_fapi_server*::ff::get_glyphname_or_cid
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1402,1
    - Dst: gs_fapi_server*::ff::get_glyphdirectory_data
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1415,1
    - Dst: GET_S16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1423,1
    - Dst: GET_U16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1424,1
    - Dst: GET_S16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1429,1
    - Dst: GET_U16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1430,1
    - Dst: GET_S16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1431,1
    - Dst: GET_U16_MSB
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1432,1
    - Dst: gs_fapi_server*::ff::fapi_get_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1450,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1456,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1457,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1458,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1472,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1473,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1474,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1475,1
    - Dst: gs_fapi_server*::ff::fapi_get_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1488,1
    - Dst: export_shift
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1498,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1505,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1506,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1507,1
    - Dst: fapi_round
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1508,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1515,1
    - Dst: gs_fapi_server*::get_char_outline_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1518,1
    - Dst: gs_fapi_server*::get_char_outline_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1521,1
    - Dst: gs_fapi_server*::get_char_raster_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1524,1
    - Dst: gs_fapi_server*::release_char_data
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1536,1
    - Dst: gs_fapi_server*::get_char_outline_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1539,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1551,1
    - Dst: compute_em_scale
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1554,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1567,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1568,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1569,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1570,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1586,1
    - Dst: gs_fapi_server*::can_replace_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1587,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1597,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1616,1
    - Dst: gs_fapi_server*::can_replace_metrics
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1617,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1630,1
    - Dst: gs_fapi_server*::ff::fapi_set_cache
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1690,1
    - Dst: gs_fapi_server*::ff::fapi_set_cache
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1695,1
    - Dst: gs_fapi_finish_render
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1706,1
    - Dst: gs_fapi_server*::release_char_data
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1707,1
    - Dst: gs_fapi_server*::release_char_data
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1713,1
    CyclomaticComplexity: 79
    EdgeCount: 79
    ICount: 272
    argCount: 10
    argNames:
    - pfont
    - pgs
    - penum
    - font_file_path
    - bBuildGlyph
    - charstring
    - glyphname
    - chr
    - index
    - subfont
    argTypes:
    - gs_font*
    - gs_gstate*
    - gs_text_enum_t*
    - char*
    - bool
    - gs_string*
    - gs_string*
    - gs_char
    - gs_glyph
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1721
      start: 1185
    functionDepth: 6
    functionLinenumber: 1185
    functionLinenumberEnd: 1721
    functionName: gs_fapi_do_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - hypot
    - SHOW_IS
    - max
    - gs_currentdevice_inline
    - gs_rootfont
    - gs_fapi_server*::get_fontmatrix
    - gs_fapi_server*::ff::get_glyphdirectory_data
    - gs_matrix_multiply
    - ctm_only
    - gs_currentcharmatrix
    - gs_fapi_server*::release_char_data
    - fapi_gs_char_show_width_only
    - memset
    - gs_fapi_get_metrics_count
    - MTX_EQ
    - fapi_round
    - gs_fapi_server*::can_replace_metrics
    - gs_fapi_finish_render
    - gs_fapi_renderer_retcode
    - gs_matrix_invert
    - min
    - gs_fapi_server*::get_char_outline_metrics
    - compute_em_scale
    - gs_fapi_server*::get_scaled_font
    - gs_fapi_server*::get_char_raster_metrics
    - recreate_multiple_master
    - gs_fapi_release_typeface
    - GET_S16_MSB
    - export_shift
    - gs_fapi_server*::ff::fapi_set_cache
    - dev_proc
    - gs_currentaligntopixels
    - produce_outline_char
    - FAPI_ISTYPE1GLYPHDATA
    - GET_U16_MSB
    - gs_distance_transform
    - gs_fapi_server*::ff::fapi_get_metrics
    - FAPI_ISCIDFONT
    - return_error
    - gs_fapi_server*::ff::get_glyphname_or_cid
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_do_char(gs_font *pfont, gs_gstate *pgs, gs_text_enum_t
      *penum, char *font_file_path,\n                bool bBuildGlyph, gs_string *charstring,
      gs_string *glyphname,\n                gs_char chr, gs_glyph index, int subfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_server*::get_font_info
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pfont
    - item
    - index
    - data
    - data_len
    argTypes:
    - gs_font*
    - gs_fapi_font_info
    - int
    - void*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1723
    functionDepth: 0
    functionLinenumber: 1723
    functionLinenumberEnd: 1733
    functionName: gs_fapi_get_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_server*::get_font_info
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_get_font_info(gs_font *pfont, gs_fapi_font_info item,
      int index,\n                      void *data, int *data_len)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_get_server_list
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1753,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1756,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1765,1
    - Dst: dprintf1
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1766,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1769,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1770,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1774,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1775,1
    - Dst: gs_fapi_get_server_list
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1776,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1780,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1781,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1795,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1799,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1807,1
    - Dst: gs_fapi_server*::ensure_open
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1808,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1810,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1816,1
    - Dst: gs_fapi_prepare_font
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1822,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1832,1
    - Dst: dprintf1
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1833,1
    - Dst: gs_fapi_get_server_list
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1836,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 59
    argCount: 8
    argNames:
    - pfont
    - subfont
    - font_file_path
    - full_font_buf
    - fapi_request
    - xlatmap
    - fapi_id
    - get_server_param_cb
    argTypes:
    - gs_font*
    - int
    - char*
    - gs_string*
    - char*
    - char*
    - char**
    - gs_fapi_get_server_param_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1740
    functionDepth: 4
    functionLinenumber: 1740
    functionLinenumberEnd: 1845
    functionName: gs_fapi_passfont
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_prepare_font
    - gs_debug_c
    - dprintf1
    - gs_alloc_bytes_immovable
    - strlen
    - gs_fapi_get_server_list
    - strncmp
    - dprintf
    - gs_fapi_server*::ensure_open
    - return_error
    - gs_fapi_renderer_retcode
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_passfont(gs_font *pfont, int subfont, char *font_file_path,\n
      \                gs_string *full_font_buf, char *fapi_request, char *xlatmap,\n
      \                char **fapi_id, gs_fapi_get_server_param_callback get_server_param_cb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_find_server
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - server
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1847
    functionDepth: 1
    functionLinenumber: 1847
    functionLinenumberEnd: 1861
    functionName: gs_fapi_available
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 1
    functionsReached:
    - gs_fapi_find_server
    linkageType: ''
    returnType: bool
    signature: bool gs_fapi_available(gs_memory_t *mem, char *server)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_get_server_list
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1866,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - mem
    - ff_proto
    - ctx_ptr
    argTypes:
    - gs_memory_t*
    - gs_fapi_font*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1863
    functionDepth: 1
    functionLinenumber: 1863
    functionLinenumberEnd: 1876
    functionName: gs_fapi_set_servers_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_fapi_get_server_list
    linkageType: ''
    returnType: void
    signature: void gs_fapi_set_servers_client_data(gs_memory_t *mem, const gs_fapi_font
      *ff_proto, void *ctx_ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1878
    functionDepth: 0
    functionLinenumber: 1878
    functionLinenumberEnd: 1882
    functionName: gs_fapi_get_server_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_server
    signature: 'gs_fapi_server **

      gs_fapi_get_server_list(gs_memory_t *mem)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_get_server_list
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1888,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1896,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1906,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1910,1
    - Dst: gs_fapi_renderer_retcode
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1918,1
    - Dst: ensure_open
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1919,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1924,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 4
    argNames:
    - mem
    - name
    - server
    - get_server_param_cb
    argTypes:
    - gs_memory_t*
    - char*
    - gs_fapi_server**
    - gs_fapi_get_server_param_callback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1938
    functionName: gs_fapi_find_server
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 1
    functionsReached:
    - strcmp
    - gs_alloc_bytes_immovable
    - gs_fapi_get_server_list
    - return_error
    - gs_fapi_renderer_retcode
    - ensure_open
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_fapi_find_server(gs_memory_t *mem, const char *name, gs_fapi_server
      **server,\n                    gs_fapi_get_server_param_callback get_server_param_cb)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_get_fapi_server_inits
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1947,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1954,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1960,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1940
    functionDepth: 1
    functionLinenumber: 1940
    functionLinenumberEnd: 1983
    functionName: gs_fapi_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - return_error
    - gs_get_fapi_server_inits
    linkageType: ''
    returnType: int
    signature: int gs_fapi_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfapi.c:1994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1985
    functionDepth: 0
    functionLinenumber: 1985
    functionLinenumberEnd: 1997
    functionName: gs_fapi_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_fapi_finit(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: std_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_upapr.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void std_free(void *ptr)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: paperinit
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:60,1
    - Dst: systempapername
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:62,1
    - Dst: defaultpapername
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:66,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:71,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:75,1
    - Dst: paperdone
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:82,1
    - Dst: std_free
      Src: /src/libspectre/ghostscript/base/gp_upapr.c:84,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - ptr
    - plen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 95
    functionName: gp_defaultpapersize
    functionSourceFile: /src/libspectre/ghostscript/base/gp_upapr.c
    functionUses: 0
    functionsReached:
    - systempapername
    - paperinit
    - strlen
    - strcpy
    - paperdone
    - std_free
    - defaultpapername
    linkageType: ''
    returnType: int
    signature: int gp_defaultpapersize(char *ptr, int *plen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: private_st_clip_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gxclipsr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_clip_stack()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _x1
    - ','
    - _x2
    - ','
    - _x3
    - ','
    - _x4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 632
    functionDepth: 0
    functionLinenumber: 632
    functionLinenumberEnd: 634
    functionName: MAKE_TT_TAG
    functionSourceFile: /src/libspectre/ghostscript/base/tttype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAKE_TT_TAG( _x1, _x2, _x3, _x4 )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ins
    - ','
    - ptsize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 664
    functionName: TT_Set_Instance_PointSize
    functionSourceFile: /src/libspectre/ghostscript/base/tttype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_Set_Instance_PointSize( ins, ptsize )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 854
    functionName: TT_Apply_Vector_Matrix
    functionSourceFile: /src/libspectre/ghostscript/base/tttype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT_Apply_Vector_Matrix( x, y, m )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 262
    functionName: px_enumerate_media
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpxen.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: px_enumerate_media(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: Relax
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Relax
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdata
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: jpeg_stream_data_common_init
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jpeg_stream_data_common_init(pdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: public_st_jpeg_compress_data
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_jpeg_compress_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: DCTD_PassThrough
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DCTD_PassThrough(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    functionName: private_st_jpeg_decompress_data
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jpeg_decompress_data()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    functionName: public_st_DCT_state
    functionSourceFile: /src/libspectre/ghostscript/base/sdct.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_DCT_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - count
    argTypes:
    - gs_memory_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: gs_next_ids
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong gs_next_ids(const gs_memory_t *mem, uint count)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:87,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:88,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:91,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:92,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:95,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 4
    argNames:
    - inp
    - line_size
    - outp
    - dist
    argTypes:
    - byte*
    - int
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 112
    functionName: memflip8x8
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 3
    functionsReached:
    - TRANSPOSE
    linkageType: ''
    returnType: void
    signature: void memflip8x8(const byte * inp, int line_size, byte * outp, int dist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - s
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    functionName: TRANSPOSE
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSPOSE(r,s,mask,shift)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:165,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:166,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:169,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:170,1
    - Dst: TRANSPOSE
      Src: /src/libspectre/ghostscript/base/gsutil.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 5
    argNames:
    - inp
    - line_size
    - outp
    - dist
    - bits
    argTypes:
    - byte*
    - int
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 190
    functionName: memflip8x8_eol
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 1
    functionsReached:
    - TRANSPOSE
    linkageType: ''
    returnType: void
    signature: void memflip8x8_eol(const byte * inp, int line_size, byte * outp, int
      dist, int bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - s
    - ','
    - mask
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: TRANSPOSE
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANSPOSE(r,s,mask,shift)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: get_u32_msb
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong get_u32_msb(const byte *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - p
    - n
    - offs
    argTypes:
    - byte*
    - ulong
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: put_u32_msb
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void put_u32_msb(byte *p, const ulong n, const int offs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - s1
    - len1
    - s2
    - len2
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 232
    functionName: bytes_compare
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bytes_compare(const byte * s1, uint len1, const byte * s2, uint
      len2)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 41
    argCount: 5
    argNames:
    - str
    - len
    - pstr
    - plen
    - psmp
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    - string_match_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 294
    functionName: string_match
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool string_match(const byte * str, uint len, const byte * pstr, uint
      plen,\n             register const string_match_params * psmp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsutil.c:308,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - puid1
    - puid2
    argTypes:
    - gs_uid*
    - gs_uid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 311
    functionName: uid_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 1
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool uid_equal(register const gs_uid * puid1, register const gs_uid
      * puid2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/base/gsutil.c:317,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/base/gsutil.c:318,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsutil.c:320,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsutil.c:323,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsutil.c:324,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/base/gsutil.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - puid
    - mem
    - cname
    argTypes:
    - gs_uid*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 328
    functionName: uid_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 2
    functionsReached:
    - uid_XUID_values
    - gs_alloc_byte_array
    - uid_is_XUID
    - uid_XUID_size
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: int uid_copy(gs_uid *puid, gs_memory_t *mem, client_name_t cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsutil.c:347,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsutil.c:352,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsutil.c:359,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsutil.c:364,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - outer
    - inner
    - diffs
    argTypes:
    - gs_int_rect*
    - gs_int_rect*
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 370
    functionName: int_rect_difference
    functionSourceFile: /src/libspectre/ghostscript/base/gsutil.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: int
    signature: "int int_rect_difference(gs_int_rect * outer, const gs_int_rect * inner,\n
      \                   gs_int_rect * diffs /*[4] */ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pSHA256_Init
      Src: /src/libspectre/ghostscript/base/ssha2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: s_SHA256E_init
    functionSourceFile: /src/libspectre/ghostscript/base/ssha2.c
    functionUses: 0
    functionsReached:
    - pSHA256_Init
    linkageType: ''
    returnType: int
    signature: int s_SHA256E_init(stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/base/ssha2.c:46,1
    - Dst: pSHA256_Final
      Src: /src/libspectre/ghostscript/base/ssha2.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: s_SHA256E_process
    functionSourceFile: /src/libspectre/ghostscript/base/ssha2.c
    functionUses: 0
    functionsReached:
    - pSHA256_Final
    - pSHA256_Update
    linkageType: ''
    returnType: int
    signature: "int s_SHA256E_process(stream_state * st, stream_cursor_read * pr,\n
      \              stream_cursor_write * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/ssha2.c:68,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/base/ssha2.c:69,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/base/ssha2.c:74,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ssha2.c:79,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/ssha2.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - digest
    - digest_size
    argTypes:
    - gs_memory_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: s_SHA256E_make_stream
    functionSourceFile: /src/libspectre/ghostscript/base/ssha2.c
    functionUses: 0
    functionsReached:
    - s_init_filter
    - s_alloc
    - s_alloc_state
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: 'stream *

      s_SHA256E_make_stream(gs_memory_t *mem, byte *digest, int digest_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: private_st_PWGD_state
    functionSourceFile: /src/libspectre/ghostscript/base/spwgx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_PWGD_state()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:61,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:62,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:63,1
    - Dst: gp_clearerr
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:66,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:67,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 74
    functionName: sread_file
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - gp_ftell
    - gp_ferror
    - gp_fseek
    - s_std_init
    - gp_clearerr
    linkageType: ''
    returnType: void
    signature: void sread_file(register stream * s, gp_file * file, byte * buf, uint
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - s
    - start
    - length
    argTypes:
    - stream*
    - gs_offset_t
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: sread_subfile
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - sseek
    linkageType: ''
    returnType: int
    signature: int sread_subfile(stream *s, gs_offset_t start, gs_offset_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:96,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:97,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:99,1
    - Dst: sseekable
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:100,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:103,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:104,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:106,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:107,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:110,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pl
    argTypes:
    - stream*
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 121
    functionName: s_file_available
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - gp_feof
    - gp_ftell
    - stell
    - min
    - gp_fseek
    - sseekable
    - sbufavailable
    linkageType: ''
    returnType: int
    signature: int s_file_available(register stream * s, gs_offset_t *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 140
    functionName: s_file_read_seek
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - gp_fseek
    linkageType: ''
    returnType: int
    signature: int s_file_read_seek(register stream * s, gs_offset_t pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: s_file_read_close
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: int
    signature: int s_file_read_close(stream * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:168,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:173,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:177,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:178,1
    - Dst: gp_feof
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 179
    functionName: s_file_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - gp_feof
    - gp_ftell
    - gp_ferror
    - gp_fread
    - process_interrupts
    linkageType: ''
    returnType: int
    signature: "int s_file_read_process(stream_state * st, stream_cursor_read * ignore_pr,\n
      \                   stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:193,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:194,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 200
    functionName: swrite_file
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 13
    functionsReached:
    - gp_get_file
    - if_debug1m
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void swrite_file(register stream * s, gp_file * file, byte * buf, uint
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:205,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:208,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 212
    functionName: sappend_file
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 1
    functionsReached:
    - gp_fseek
    - gp_ftell
    - swrite_file
    linkageType: ''
    returnType: int
    signature: int sappend_file(register stream * s, gp_file * file, byte * buf, uint
      len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:218,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:222,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 226
    functionName: s_file_write_seek
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - sflush
    - gp_fseek
    linkageType: ''
    returnType: int
    signature: int s_file_write_seek(stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:230,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 234
    functionName: s_file_write_flush
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - s_process_write_buf
    - gp_fflush
    linkageType: ''
    returnType: int
    signature: int s_file_write_flush(register stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:238,1
    - Dst: s_file_read_close
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: s_file_write_close
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - s_process_write_buf
    - s_file_read_close
    linkageType: ''
    returnType: int
    signature: int s_file_write_close(register stream * s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:258,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:263,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:264,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:266,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 269
    functionName: s_file_write_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - gp_ferror
    - gp_fwrite
    - process_interrupts
    linkageType: ''
    returnType: int
    signature: "int s_file_write_process(stream_state * st, stream_cursor_read * pr,\n
      \                    stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:284,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:285,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:287,1
    - Dst: sappend_file
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:290,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:293,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:300,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:301,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:303,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:305,1
    - Dst: sread_file
      Src: /src/libspectre/ghostscript/base/sfxstdio.c:307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - s
    - writing
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 274
    functionDepth: 3
    functionLinenumber: 274
    functionLinenumberEnd: 313
    functionName: s_file_switch
    functionSourceFile: /src/libspectre/ghostscript/base/sfxstdio.c
    functionUses: 0
    functionsReached:
    - sread_file
    - stell
    - swrite_file
    - gp_fseek
    - if_debug2m
    - sflush
    - sappend_file
    linkageType: ''
    returnType: int
    signature: int s_file_switch(stream * s, bool writing)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gsfont.c:115,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gsfont.c:115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - dir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 118
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - cc_pair
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(font_dir_enum_ptrs, gs_font_dir *dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: e1
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: r1
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r1(i,elt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsfont.c:163,1
    - Dst: gs_notify_all
      Src: /src/libspectre/ghostscript/base/gsfont.c:166,1
    - Dst: gs_purge_font_from_char_caches
      Src: /src/libspectre/ghostscript/base/gsfont.c:167,1
    - Dst: gs_notify_release
      Src: /src/libspectre/ghostscript/base/gsfont.c:192,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 146
    functionDepth: 5
    functionLinenumber: 146
    functionLinenumberEnd: 193
    functionName: gs_font_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_notify_all
    - gs_notify_release
    - if_debug4m
    - gs_purge_font_from_char_caches
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gs_font_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfont.c:248,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfont.c:254,1
    - Dst: gx_char_cache_alloc
      Src: /src/libspectre/ghostscript/base/gsfont.c:255,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:258,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:259,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 7
    argNames:
    - struct_mem
    - bits_mem
    - smax
    - bmax
    - mmax
    - cmax
    - upper
    argTypes:
    - gs_memory_t*
    - gs_memory_t*
    - uint
    - uint
    - uint
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 278
    functionName: gs_font_dir_alloc2_limits
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - memset
    - gs_free_object
    - gx_char_cache_alloc
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_font_dir
    signature: "gs_font_dir *\ngs_font_dir_alloc2_limits(gs_memory_t * struct_mem,
      gs_memory_t * bits_mem,\n                     uint smax, uint bmax, uint mmax,
      uint cmax, uint upper)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:292,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:293,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:298,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:299,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:305,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 309
    functionName: gs_font_dir_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_font_dir_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfont.c:317,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfont.c:323,1
    - Dst: gs_font_notify_init
      Src: /src/libspectre/ghostscript/base/gsfont.c:326,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsfont.c:327,1
    - Dst: gs_font_notify_init
      Src: /src/libspectre/ghostscript/base/gsfont.c:339,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsfont.c:340,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfont.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 5
    argNames:
    - mem
    - pstype
    - procs
    - dir
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - gs_font_procs*
    - gs_font_dir*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 356
    functionName: gs_font_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_init
    - memset
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_font
    signature: "gs_font *\ngs_font_alloc(gs_memory_t *mem, gs_memory_type_ptr_t pstype,\n
      \             const gs_font_procs *procs, gs_font_dir *dir,\n              client_name_t
      cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_alloc
      Src: /src/libspectre/ghostscript/base/gsfont.c:364,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gsfont.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - mem
    - pstype
    - procs
    - dir
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - gs_font_procs*
    - gs_font_dir*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 373
    functionName: gs_font_base_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_font_alloc
    - uid_set_invalid
    linkageType: ''
    returnType: gs_font_base
    signature: "gs_font_base *\ngs_font_base_alloc(gs_memory_t *mem, gs_memory_type_ptr_t
      pstype,\n                   const gs_font_procs *procs, gs_font_dir *dir,\n
      \                  client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_notify_init
      Src: /src/libspectre/ghostscript/base/gsfont.c:395,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gsfont.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: gs_font_notify_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 2
    functionsReached:
    - gs_notify_init
    - gs_memory_stable
    linkageType: ''
    returnType: void
    signature: void gs_font_notify_init(gs_font *font)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_notify_register
      Src: /src/libspectre/ghostscript/base/gsfont.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - font
    - proc
    - proc_data
    argTypes:
    - gs_font*
    - gs_notify_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 407
    functionName: gs_font_notify_register
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 2
    functionsReached:
    - gs_notify_register
    linkageType: ''
    returnType: int
    signature: int gs_font_notify_register(gs_font *font, gs_notify_proc_t proc, void
      *proc_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_notify_unregister
      Src: /src/libspectre/ghostscript/base/gsfont.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - font
    - proc
    - proc_data
    argTypes:
    - gs_font*
    - gs_notify_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: gs_font_notify_unregister
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 3
    functionsReached:
    - gs_notify_unregister
    linkageType: ''
    returnType: int
    signature: int gs_font_notify_unregister(gs_font *font, gs_notify_proc_t proc,
      void *proc_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pfirst
    - elt
    argTypes:
    - gs_font**
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 415
    functionDepth: 0
    functionLinenumber: 415
    functionLinenumberEnd: 424
    functionName: font_link_first
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void font_link_first(gs_font **pfirst, gs_font *elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: font_link_first
      Src: /src/libspectre/ghostscript/base/gsfont.c:441,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsfont.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - pdir
    - pfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 445
    functionName: gs_definefont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    - font_link_first
    linkageType: ''
    returnType: int
    signature: int gs_definefont(gs_font_dir * pdir, gs_font * pfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: similar
      Src: /src/libspectre/ghostscript/base/gsfont.c:457,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - pdir
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 465
    functionName: gs_font_find_similar
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - similar
    linkageType: ''
    returnType: int
    signature: "int gs_font_find_similar(const gs_font_dir * pdir, const gs_font **ppfont,\n
      \                      int (*similar)(const gs_font *, const gs_font *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/base/gsfont.c:474,1
    - Dst: gs_makefont
      Src: /src/libspectre/ghostscript/base/gsfont.c:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pdir
    - pfont
    - scale
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    - double
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: gs_scalefont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_make_scaling
    - gs_makefont
    linkageType: ''
    returnType: int
    signature: "int gs_scalefont(gs_font_dir * pdir, const gs_font * pfont, double
      scale,\n             gs_font ** ppfont)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gsfont.c:490,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfont.c:499,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsfont.c:503,1
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/base/gsfont.c:504,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsfont.c:505,1
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/base/gsfont.c:506,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsfont.c:507,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gsfont.c:509,1
    - Dst: dmprintf8
      Src: /src/libspectre/ghostscript/base/gsfont.c:510,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsfont.c:532,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfont.c:538,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gsfont.c:538,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont.c:541,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfont.c:542,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/base/gsfont.c:542,1
    - Dst: gs_font_notify_init
      Src: /src/libspectre/ghostscript/base/gsfont.c:543,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsfont.c:560,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsfont.c:603,1
    - Dst: uid_free
      Src: /src/libspectre/ghostscript/base/gsfont.c:606,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gsfont.c:609,1
    - Dst: font_link_first
      Src: /src/libspectre/ghostscript/base/gsfont.c:614,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsfont.c:618,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 4
    argNames:
    - pdir
    - pfont
    - pmat
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    - gs_matrix*
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 621
    functionName: gs_makefont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 2
    functionsReached:
    - uid_is_UniqueID
    - gs_matrix_multiply
    - gs_debug_c
    - dmprintf8
    - if_debug1m
    - uid_is_XUID
    - uid_free
    - font_link_first
    - gs_object_type
    - memcpy
    - uid_set_invalid
    - dmlprintf1
    - gs_object_size
    - if_debug2m
    - return_error
    - gs_font_notify_init
    - dmlprintf
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_makefont(gs_font_dir * pdir, const gs_font * pfont,\n            const
      gs_matrix * pmat, gs_font ** ppfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pfont
    argTypes:
    - gs_gstate*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 625
    functionDepth: 0
    functionLinenumber: 625
    functionLinenumberEnd: 630
    functionName: gs_set_currentfont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_set_currentfont(gs_gstate * pgs, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - pfont
    argTypes:
    - gs_gstate*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 639
    functionName: gs_setfont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setfont(gs_gstate * pgs, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 646
    functionName: gs_currentfont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_font
    signature: 'gs_font *

      gs_currentfont(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 653
    functionName: gs_rootfont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: gs_font
    signature: 'gs_font *

      gs_rootfont(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pdir
    - pstat
    argTypes:
    - gs_font_dir*
    - uint[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 666
    functionName: gs_cachestatus
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_cachestatus(register const gs_font_dir * pdir, register uint
      pstat[7])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_purge_font_from_char_caches_completely
      Src: /src/libspectre/ghostscript/base/gsfont.c:684,1
    - Dst: gs_rethrow_code
      Src: /src/libspectre/ghostscript/base/gsfont.c:686,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:693,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont.c:694,1
    - Dst: gx_char_cache_alloc
      Src: /src/libspectre/ghostscript/base/gsfont.c:696,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - pgs
    - pdir
    - size
    argTypes:
    - gs_gstate*
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 669
    functionDepth: 5
    functionLinenumber: 669
    functionLinenumberEnd: 699
    functionName: gs_setcachesize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_purge_font_from_char_caches_completely
    - gs_rethrow_code
    - gx_char_cache_alloc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_setcachesize(gs_gstate * pgs, gs_font_dir * pdir, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdir
    - size
    argTypes:
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 706
    functionName: gs_setcachelower
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setcachelower(gs_font_dir * pdir, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdir
    - size
    argTypes:
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 707
    functionDepth: 0
    functionLinenumber: 707
    functionLinenumberEnd: 712
    functionName: gs_setcacheupper
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setcacheupper(gs_font_dir * pdir, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdir
    - v
    argTypes:
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 718
    functionName: gs_setaligntopixels
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setaligntopixels(gs_font_dir * pdir, uint v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdir
    - v
    argTypes:
    - gs_font_dir*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 724
    functionName: gs_setgridfittt
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_setgridfittt(gs_font_dir * pdir, uint v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 727
    functionDepth: 0
    functionLinenumber: 727
    functionLinenumberEnd: 731
    functionName: gs_currentcachesize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentcachesize(const gs_font_dir * pdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 736
    functionName: gs_currentcachelower
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentcachelower(const gs_font_dir * pdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 741
    functionName: gs_currentcacheupper
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentcacheupper(const gs_font_dir * pdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 746
    functionName: gs_currentaligntopixels
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentaligntopixels(const gs_font_dir * pdir)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 751
    functionName: gs_currentgridfittt
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_currentgridfittt(const gs_font_dir * pdir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gsfont.c:774,1
    - Dst: gs_purge_font
      Src: /src/libspectre/ghostscript/base/gsfont.c:780,1
    - Dst: gs_purge_font_from_char_caches
      Src: /src/libspectre/ghostscript/base/gsfont.c:791,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 1
    argNames:
    - pfont
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 755
    functionDepth: 5
    functionLinenumber: 755
    functionLinenumberEnd: 792
    functionName: gs_purge_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 1
    functionsReached:
    - gs_purge_font_from_char_caches
    - lprintf1
    - gs_purge_font
    linkageType: ''
    returnType: int
    signature: int gs_purge_font(gs_font * pfont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_compare
      Src: /src/libspectre/ghostscript/base/gsfont.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 3
    argNames:
    - pdir
    - id
    - FontMatrix
    argTypes:
    - gs_font_dir*
    - gs_id
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 805
    functionName: gs_find_font_by_id
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 1
    functionsReached:
    - gs_matrix_compare
    linkageType: ''
    returnType: gs_font
    signature: 'gs_font *

      gs_find_font_by_id(gs_font_dir *pdir, gs_id id, gs_matrix *FontMatrix)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdir
    - pfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 812
    functionDepth: 0
    functionLinenumber: 812
    functionLinenumberEnd: 816
    functionName: gs_no_define_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_no_define_font(gs_font_dir * pdir, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdir
    - pfont
    - pmat
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    - gs_matrix*
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 819
    functionDepth: 0
    functionLinenumber: 819
    functionLinenumberEnd: 824
    functionName: gs_no_make_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gs_no_make_font(gs_font_dir * pdir, const gs_font * pfont,\n                const
      gs_matrix * pmat, gs_font ** ppfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uid_copy
      Src: /src/libspectre/ghostscript/base/gsfont.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdir
    - pfont
    - pmat
    - ppfont
    argTypes:
    - gs_font_dir*
    - gs_font*
    - gs_matrix*
    - gs_font**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 832
    functionName: gs_base_make_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - uid_copy
    linkageType: ''
    returnType: int
    signature: "int gs_base_make_font(gs_font_dir * pdir, const gs_font * pfont,\n
      \                 const gs_matrix * pmat, gs_font ** ppfont)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/base/gsfont.c:850,1
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/base/gsfont.c:881,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfont.c:886,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/base/gsfont.c:887,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/base/gsfont.c:894,1
    - Dst: gs_font*::procs::enumerate_glyph
      Src: /src/libspectre/ghostscript/base/gsfont.c:921,1
    - Dst: gs_font_glyph_is_notdef
      Src: /src/libspectre/ghostscript/base/gsfont.c:928,1
    - Dst: gs_font*::procs::glyph_info
      Src: /src/libspectre/ghostscript/base/gsfont.c:932,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 64
    argCount: 4
    argNames:
    - font
    - pscale
    - members
    - info
    argTypes:
    - gs_font*
    - gs_point*
    - int
    - gs_font_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 945
    functionName: gs_default_font_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 1
    functionsReached:
    - gs_font_glyph_is_notdef
    - gs_font*::procs::glyph_info
    - memset
    - gs_font*::procs::enumerate_glyph
    - gs_make_scaling
    linkageType: ''
    returnType: int
    signature: "int gs_default_font_info(gs_font *font, const gs_point *pscale, int
      members,\n                     gs_font_info_t *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - font
    - ofont
    - mask
    argTypes:
    - gs_font*
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 948
    functionDepth: 0
    functionLinenumber: 948
    functionLinenumberEnd: 959
    functionName: gs_default_same_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_default_same_font(const gs_font *font, const gs_font *ofont,
      int mask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_default_same_font
      Src: /src/libspectre/ghostscript/base/gsfont.c:963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 3
    argNames:
    - font
    - ofont
    - mask
    argTypes:
    - gs_font*
    - gs_font*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 979
    functionName: gs_base_same_font
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - gs_default_same_font
    linkageType: ''
    returnType: int
    signature: int gs_base_same_font(const gs_font *font, const gs_font *ofont, int
      mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_base*::procs::glyph_name
      Src: /src/libspectre/ghostscript/base/gsfont.c:996,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsfont.c:997,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - bfont
    - glyph
    argTypes:
    - gs_font_base*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 998
    functionName: gs_font_glyph_is_notdef
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 6
    functionsReached:
    - gs_font_base*::procs::glyph_name
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool gs_font_glyph_is_notdef(gs_font_base *bfont, gs_glyph glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfont
    - chr
    - glyph_space
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1005
    functionName: gs_no_encode_char
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph gs_no_encode_char(gs_font *pfont, gs_char chr, gs_glyph_space_t
      glyph_space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pfont
    - glyph
    - ch
    - unicode_return
    - length
    argTypes:
    - gs_font*
    - gs_glyph
    - int
    - ushort*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: gs_no_decode_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_no_decode_glyph(gs_font *pfont, gs_glyph glyph, int ch, ushort
      *unicode_return, unsigned int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont.c:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - font
    - pindex
    - glyph_space
    - pglyph
    argTypes:
    - gs_font*
    - int*
    - gs_glyph_space_t
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1020
    functionName: gs_no_enumerate_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_no_enumerate_glyph(gs_font *font, int *pindex, gs_glyph_space_t
      glyph_space,\n                      gs_glyph *pglyph)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_bbox_accumulator
      Src: /src/libspectre/ghostscript/base/gsfont.c:1037,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gsfont.c:1038,1
    - Dst: gs_font*::procs::glyph_outline
      Src: /src/libspectre/ghostscript/base/gsfont.c:1041,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gsfont.c:1051,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1054,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1055,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gsfont.c:1062,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1065,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1066,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1067,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsfont.c:1068,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gsfont.c:1076,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gsfont.c:1087,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1101
    functionName: gs_default_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 1
    functionsReached:
    - gx_path_current_point
    - gx_path_init_bbox_accumulator
    - gx_path_bbox
    - gs_distance_transform
    - gx_path_add_point
    - gs_font*::procs::glyph_outline
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_default_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                      int members, gs_glyph_info_t *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont.c:1108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1109
    functionName: gs_no_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_no_glyph_outline(gs_font *font, int WMode, gs_glyph glyph,
      const gs_matrix *pmat,\n                    gx_path *ppath, double sbw[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont.c:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - font
    - glyph
    - pstr
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1116
    functionName: gs_no_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_no_glyph_name(gs_font *font, gs_glyph glyph, gs_const_string
      *pstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - font
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1123
    functionName: gs_next_text_enum_id
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong gs_next_text_enum_id(const gs_font *font)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 36
    functionName: private_st_AXE_state
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_AXE_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: s_AXE_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_AXE_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 49
    functionName: private_st_AXD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_AXD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: s_AXD_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_AXD_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: private_st_PSSD_state
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_PSSD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: s_PSSD_partially_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/sstring.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_PSSD_partially_init_inline(ss)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchrout.c:38,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchrout.c:38,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:40,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:40,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gxchrout.c:42,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchrout.c:43,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxchrout.c:43,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:45,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:45,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:47,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxchrout.c:47,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 15
    argCount: 2
    argNames:
    - pgs
    - default_scale
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 59
    functionName: gs_char_flatness
    functionSourceFile: /src/libspectre/ghostscript/base/gxchrout.c
    functionUses: 2
    functionsReached:
    - is_xxyy
    - fabs
    - is_fzero
    linkageType: ''
    returnType: double
    signature: double gs_char_flatness(const gs_gstate *pgs, double default_scale)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cache
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: CL_CACHE_NEEDS_INIT
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CL_CACHE_NEEDS_INIT(cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclfile.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 82
    functionName: cl_cache_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: CL_CACHE
    signature: 'CL_CACHE *

      cl_cache_alloc(gs_memory_t *mem)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:91,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:92,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cache
    argTypes:
    - CL_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: cl_cache_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void cl_cache_destroy(CL_CACHE *cache)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclfile.c:107,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:110,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclfile.c:113,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:116,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:117,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 4
    argNames:
    - cache
    - nslots
    - block_size
    - filesize
    argTypes:
    - CL_CACHE*
    - int
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 134
    functionName: cl_cache_read_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: CL_CACHE
    signature: 'CL_CACHE *

      cl_cache_read_init(CL_CACHE *cache, int nslots, int64_t block_size, int64_t
      filesize)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclfile.c:171,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclfile.c:174,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - data
    - len
    - pos
    - cache
    argTypes:
    - byte*
    - int
    - int64_t
    - CL_CACHE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 176
    functionName: cl_cache_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: int cl_cache_read(byte *data, int len, int64_t pos, CL_CACHE *cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - cache
    - pos
    argTypes:
    - CL_CACHE*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 206
    functionName: cl_cache_get_empty_slot
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: CL_CACHE_SLOT
    signature: 'CL_CACHE_SLOT *

      cl_cache_get_empty_slot(CL_CACHE *cache, int64_t pos)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxclfile.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - cache
    - slot
    - pos
    - data
    - len
    argTypes:
    - CL_CACHE*
    - CL_CACHE_SLOT*
    - int64_t
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 213
    functionName: cl_cache_load_slot
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void cl_cache_load_slot(CL_CACHE *cache, CL_CACHE_SLOT *slot, int64_t
      pos, byte *data, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxclfile.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - fname
    argTypes:
    - clist_file_ptr
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 238
    functionName: file_to_fake_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void file_to_fake_path(clist_file_ptr file, char fname[gp_file_name_sizeof])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclfile.c:245,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclfile.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: fake_path_to_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - sscanf
    linkageType: ''
    returnType: clist_file_ptr
    signature: clist_file_ptr fake_path_to_file(const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclfile.c:255,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxclfile.c:257,1
    - Dst: cl_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - mem
    - f
    - fmode
    argTypes:
    - gs_memory_t*
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 266
    functionName: wrap_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - cl_cache_alloc
    - gs_alloc_bytes
    linkageType: ''
    returnType: IFILE
    signature: IFILE *wrap_file(gs_memory_t *mem, gp_file *f, const char *fmode)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxclfile.c:273,1
    - Dst: cl_cache_destroy
      Src: /src/libspectre/ghostscript/base/gxclfile.c:275,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclfile.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - ifile
    argTypes:
    - IFILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 279
    functionName: clist_close_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - cl_cache_destroy
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int clist_close_file(IFILE *ifile)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:290,1
    - Dst: gp_can_share_fdesc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:291,1
    - Dst: wrap_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:292,1
    - Dst: gp_open_scratch_file_rm
      Src: /src/libspectre/ghostscript/base/gxclfile.c:292,1
    - Dst: file_to_fake_path
      Src: /src/libspectre/ghostscript/base/gxclfile.c:298,1
    - Dst: wrap_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:300,1
    - Dst: gp_open_scratch_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:300,1
    - Dst: fake_path_to_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:305,1
    - Dst: wrap_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:308,1
    - Dst: gp_fdup
      Src: /src/libspectre/ghostscript/base/gxclfile.c:308,1
    - Dst: wrap_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:313,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxclfile.c:313,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclfile.c:318,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - fname
    - fmode
    - pcf
    - mem
    - data_mem
    - ok_to_compress
    argTypes:
    - char[]
    - char*
    - clist_file_ptr*
    - gs_memory_t*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 283
    functionDepth: 6
    functionLinenumber: 283
    functionLinenumberEnd: 323
    functionName: clist_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_open_scratch_file_rm
    - gp_fdup
    - gp_open_scratch_file
    - emprintf1
    - wrap_file
    - fake_path_to_file
    - gp_can_share_fdesc
    - return_error
    - gp_fopen
    - file_to_fake_path
    linkageType: ''
    returnType: int
    signature: "int clist_fopen(char fname[gp_file_name_sizeof], const char *fmode,\n
      \           clist_file_ptr * pcf, gs_memory_t * mem, gs_memory_t *data_mem,\n
      \           bool ok_to_compress)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_path_to_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:328,1
    - Dst: clist_close_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:333,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:333,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gxclfile.c:335,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 337
    functionName: clist_unlink
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - fake_path_to_file
    - unlink
    - clist_close_file
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int clist_unlink(const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fake_path_to_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:342,1
    - Dst: clist_close_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:347,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:347,1
    - Dst: clist_close_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:349,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:349,1
    - Dst: clist_unlink
      Src: /src/libspectre/ghostscript/base/gxclfile.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - cf
    - fname
    - delete
    argTypes:
    - clist_file_ptr
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 353
    functionName: clist_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - fake_path_to_file
    - clist_unlink
    - clist_close_file
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int clist_fclose(clist_file_ptr cf, const char *fname, bool delete)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_can_share_fdesc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:363,1
    - Dst: gp_fpwrite
      Src: /src/libspectre/ghostscript/base/gxclfile.c:364,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gxclfile.c:366,1
    - Dst: CL_CACHE_NEEDS_INIT
      Src: /src/libspectre/ghostscript/base/gxclfile.c:371,1
    - Dst: cl_cache_destroy
      Src: /src/libspectre/ghostscript/base/gxclfile.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - data
    - len
    - cf
    argTypes:
    - void*
    - uint
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 377
    functionName: clist_fwrite_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - CL_CACHE_NEEDS_INIT
    - cl_cache_destroy
    - gp_fpwrite
    - gp_can_share_fdesc
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int clist_fwrite_chars(const void *data, uint len, clist_file_ptr cf)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gp_can_share_fdesc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:386,1
    - Dst: CL_CACHE_NEEDS_INIT
      Src: /src/libspectre/ghostscript/base/gxclfile.c:391,1
    - Dst: cl_cache_read_init
      Src: /src/libspectre/ghostscript/base/gxclfile.c:392,1
    - Dst: cl_cache_read
      Src: /src/libspectre/ghostscript/base/gxclfile.c:399,1
    - Dst: cl_cache_get_empty_slot
      Src: /src/libspectre/ghostscript/base/gxclfile.c:403,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/base/gxclfile.c:405,1
    - Dst: cl_cache_load_slot
      Src: /src/libspectre/ghostscript/base/gxclfile.c:407,1
    - Dst: gp_fpread
      Src: /src/libspectre/ghostscript/base/gxclfile.c:414,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/gxclfile.c:427,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:429,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:431,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:433,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:435,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:437,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:439,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:441,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:443,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 3
    argNames:
    - data
    - len
    - cf
    argTypes:
    - void*
    - uint
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 448
    functionName: clist_fread_chars
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - cl_cache_read_init
    - gp_fgetc
    - CL_CACHE_NEEDS_INIT
    - gp_fpread
    - gp_fread
    - cl_cache_read
    - gp_can_share_fdesc
    - cl_cache_get_empty_slot
    - cl_cache_load_slot
    linkageType: ''
    returnType: int
    signature: int clist_fread_chars(void *data, uint len, clist_file_ptr cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cf
    - bytes_left
    argTypes:
    - clist_file_ptr
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 456
    functionName: clist_set_memory_warning
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clist_set_memory_warning(clist_file_ptr cf, int bytes_left)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gxclfile.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 462
    functionName: clist_ferror_code
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_ferror
    linkageType: ''
    returnType: int
    signature: int clist_ferror_code(clist_file_ptr cf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_can_share_fdesc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:469,1
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gxclfile.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cf
    argTypes:
    - clist_file_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 470
    functionName: clist_ftell
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_can_share_fdesc
    - gp_ftell
    linkageType: ''
    returnType: int64_t
    signature: int64_t clist_ftell(clist_file_ptr cf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fake_path_to_file
      Src: /src/libspectre/ghostscript/base/gxclfile.c:476,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gxclfile.c:479,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gxclfile.c:487,1
    - Dst: gp_open_scratch_file_rm
      Src: /src/libspectre/ghostscript/base/gxclfile.c:488,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:490,1
    - Dst: cl_cache_destroy
      Src: /src/libspectre/ghostscript/base/gxclfile.c:494,1
    - Dst: cl_cache_alloc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:495,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:497,1
    - Dst: gp_freopen
      Src: /src/libspectre/ghostscript/base/gxclfile.c:512,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:513,1
    - Dst: gp_freopen
      Src: /src/libspectre/ghostscript/base/gxclfile.c:514,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclfile.c:515,1
    - Dst: gp_rewind
      Src: /src/libspectre/ghostscript/base/gxclfile.c:519,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 3
    argNames:
    - cf
    - discard_data
    - fname
    argTypes:
    - clist_file_ptr
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 523
    functionName: clist_rewind
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_open_scratch_file_rm
    - cl_cache_destroy
    - cl_cache_alloc
    - gp_rewind
    - return_error
    - fake_path_to_file
    - gp_fclose
    - snprintf
    - gp_freopen
    linkageType: ''
    returnType: int
    signature: int clist_rewind(clist_file_ptr cf, bool discard_data, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_can_share_fdesc
      Src: /src/libspectre/ghostscript/base/gxclfile.c:531,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gxclfile.c:532,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - cf
    - offset
    - mode
    - ignore_fname
    argTypes:
    - clist_file_ptr
    - int64_t
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 550
    functionName: clist_fseek
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - gp_can_share_fdesc
    - gp_fseek
    linkageType: ''
    returnType: int
    signature: int clist_fseek(clist_file_ptr cf, int64_t offset, int mode, const
      char *ignore_fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/base/gxclfile.c:570,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 574
    functionName: gs_gxclfile_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxclfile.c
    functionUses: 0
    functionsReached:
    - VALGRIND_HG_DISABLE_CHECKING
    linkageType: ''
    returnType: int
    signature: int gs_gxclfile_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: data_source_proc_access
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_proc_access(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - psrc
    - ','
    - start
    - ','
    - length
    - ','
    - buf
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: data_source_access_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_access_only(psrc, start, length, buf, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - psrc
    - ','
    - start
    - ','
    - length
    - ','
    - buf
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 72
    functionName: data_source_access
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_access(psrc, start, length, buf, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - psrc
    - ','
    - start
    - ','
    - length
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: data_source_copy_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_copy_only(psrc, start, length, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - psrc
    - ','
    - start
    - ','
    - length
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: data_source_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_copy(psrc, start, length, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: public_st_data_source
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_data_source()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - psrc
    - ','
    - strg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: data_source_init_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_init_string(psrc, strg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - psrc
    - ','
    - bytes
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: data_source_init_string2
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_init_string2(psrc, bytes, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - psrc
    - ','
    - bytes
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: data_source_init_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_init_bytes(psrc, bytes, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - psrc
    - ','
    - floats
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: data_source_init_floats
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_init_floats(psrc, floats, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - psrc
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 113
    functionName: data_source_init_stream
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_init_stream(psrc, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsource
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: data_source_is_stream
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_is_stream(dsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dsource
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: data_source_is_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsdsrc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: data_source_is_array(dsource)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsnogc.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: nogc_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      nogc_alloc_string(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsnogc.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - str
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: nogc_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void nogc_free_string(gs_memory_t * mem, byte * str, size_t size, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsnogc.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: nogc_alloc_string_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      nogc_alloc_string_immovable(gs_memory_t * mem, size_t nbytes, client_name_t
      cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsnogc.c:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - data
    - old_num
    - new_num
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 49
    functionName: nogc_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 0
    functionsReached:
    - gs_resize_object
    linkageType: ''
    returnType: byte
    signature: 'byte *

      nogc_resize_string(gs_memory_t * mem, byte * data, size_t old_num, size_t new_num,
      client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: set_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_procs(gs_ref_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gsnogc.c:76,1
    - Dst: set_procs
      Src: /src/libspectre/ghostscript/base/gsnogc.c:83,1
    - Dst: gs_consolidate_free
      Src: /src/libspectre/ghostscript/base/gsnogc.c:84,1
    - Dst: set_procs
      Src: /src/libspectre/ghostscript/base/gsnogc.c:88,1
    - Dst: gs_consolidate_free
      Src: /src/libspectre/ghostscript/base/gsnogc.c:89,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pspaces
    - global
    argTypes:
    - vm_spaces*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 92
    functionName: gs_nogc_reclaim
    functionSourceFile: /src/libspectre/ghostscript/base/gsnogc.c
    functionUses: 0
    functionsReached:
    - set_procs
    - countof
    - gs_consolidate_free
    linkageType: ''
    returnType: void
    signature: void gs_nogc_reclaim(vm_spaces * pspaces, bool global)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: FMulDiv
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMulDiv( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: FMulDiv_Round
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMulDiv_Round( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ADD_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: SUB_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: MUL_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: DIV_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIV_64( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: SQRT_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQRT_64( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: SQRT_32
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQRT_32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: FMulDiv
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMulDiv( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: FMulDiv_Round
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FMulDiv_Round( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 141
    functionName: ADD_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: SUB_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: MUL_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_64( x, y, z )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: DIV_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DIV_64( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: SQRT_64
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQRT_64( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: SQRT_32
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SQRT_32( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: MUL_FIXED
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL_FIXED( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: INT_TO_F26DOT6
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_F26DOT6( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: INT_TO_F2DOT14
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_F2DOT14( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: INT_TO_FIXED
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_TO_FIXED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: F2DOT14_TO_FIXED
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F2DOT14_TO_FIXED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: FLOAT_TO_FIXED
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FLOAT_TO_FIXED( x )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: ROUND_F26DOT6
    functionSourceFile: /src/libspectre/ghostscript/base/ttcalc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND_F26DOT6( x )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/genht.c:71,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/genht.c:72,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genht.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:75,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/base/genht.c:79,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/genht.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - in
    - cname
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 5
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: read_file
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 5
    functionsReached:
    - fread
    - rewind
    - malloc
    - ftell
    - fprintf
    - fseek
    linkageType: ''
    returnType: char
    signature: 'char *

      read_file(FILE *in, char *cname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/genht.c:92,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/genht.c:99,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/genht.c:101,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - pstr
    - pline
    argTypes:
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 106
    functionName: parse_line
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool parse_line(char **pstr, char **pline)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: parse_line
      Src: /src/libspectre/ghostscript/base/genht.c:120,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:127,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:128,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:128,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:133,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:134,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:134,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/genht.c:138,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genht.c:143,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:143,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genht.c:144,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:150,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/genht.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:152,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/genht.c:160,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:165,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:169,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/genht.c:170,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:173,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:176,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/genht.c:177,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:180,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genht.c:183,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:187,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:192,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genht.c:197,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genht.c:199,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genht.c:200,1
    - Dst: s_AXD_init_inline
      Src: /src/libspectre/ghostscript/base/genht.c:201,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genht.c:203,1
    - Dst: process
      Src: /src/libspectre/ghostscript/base/genht.c:206,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:216,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:218,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:220,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:222,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 93
    argCount: 4
    argNames:
    - phtr
    - pThresholds
    - pprefix
    - pcont
    argTypes:
    - gx_device_halftone_resource_t*
    - byte**
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 107
    functionDepth: 5
    functionLinenumber: 107
    functionLinenumberEnd: 232
    functionName: parse_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 0
    functionsReached:
    - process
    - sscanf
    - parse_line
    - strcmp
    - strlen
    - strcpy
    - malloc
    - strchr
    - free
    - fprintf
    - s_AXD_init_inline
    linkageType: ''
    returnType: int
    signature: "int parse_halftone(gx_device_halftone_resource_t *phtr, byte **pThresholds,\n
      \              char **pprefix, char **pcont)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:243,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:245,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:246,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:249,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:252,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:253,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:255,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:258,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:261,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:262,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - out
    - phtr
    - prefix
    - index
    argTypes:
    - FILE*
    - gx_device_halftone_resource_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 273
    functionName: write_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fputs
    linkageType: ''
    returnType: int
    signature: "int write_halftone(FILE *out, gx_device_halftone_resource_t *phtr,\n
      \              const char *prefix, int index)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:293,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genht.c:294,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genht.c:298,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genht.c:300,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:302,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genht.c:303,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/base/genht.c:306,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genht.c:308,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genht.c:309,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genht.c:310,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:312,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genht.c:313,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:315,1
    - Dst: parse_line
      Src: /src/libspectre/ghostscript/base/genht.c:317,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:319,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:322,1
    - Dst: parse_halftone
      Src: /src/libspectre/ghostscript/base/genht.c:324,1
    - Dst: construct_order
      Src: /src/libspectre/ghostscript/base/genht.c:331,1
    - Dst: write_halftone
      Src: /src/libspectre/ghostscript/base/genht.c:332,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:336,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:337,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:338,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:339,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genht.c:342,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genht.c:343,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genht.c:344,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genht.c:346,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 53
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 276
    functionDepth: 6
    functionLinenumber: 276
    functionLinenumberEnd: 348
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 15
    functionsReached:
    - construct_order
    - parse_line
    - parse_halftone
    - read_file
    - fputs
    - fprintf
    - write_halftone
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 355
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(gs_no_struct_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void RELOC_PTRS_BEGIN(gs_no_struct_reloc_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - porder
    argTypes:
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 364
    functionName: gx_ht_complete_threshold_order
    functionSourceFile: /src/libspectre/ghostscript/base/genht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_ht_complete_threshold_order(gx_ht_order *porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: fastfloor
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fastfloor(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - contone
    - threshold_strip
    - contone_stride
    - halftone
    - dithered_stride
    - width
    - num_rows
    argTypes:
    - byte*
    - byte*
    - int
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 102
    functionName: gx_ht_threshold_row_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_ht_threshold_row_byte(byte *contone, byte *threshold_strip,
      int contone_stride,\n                              byte *halftone, int dithered_stride,
      int width,\n                              int num_rows)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - contone_ptr
    - thresh_ptr
    - ht_data
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 124
    functionName: threshold_16_bit
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void threshold_16_bit(byte *contone_ptr, byte *thresh_ptr, byte *ht_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:134,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:137,1
    - Dst: _mm_load_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:138,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:141,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:142,1
    - Dst: _mm_subs_epi8
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:144,1
    - Dst: _mm_movemask_epi8
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - contone_ptr
    - thresh_ptr
    - ht_data
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 150
    functionName: threshold_16_SSE
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - _mm_subs_epi8
    - _mm_xor_si128
    - _mm_load_si128
    - _mm_movemask_epi8
    - _mm_set_epi32
    linkageType: ''
    returnType: void
    signature: void threshold_16_SSE(byte *contone_ptr, byte *thresh_ptr, byte *ht_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _mm_set_epi32
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:161,1
    - Dst: _mm_loadu_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:165,1
    - Dst: _mm_loadu_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:166,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:169,1
    - Dst: _mm_xor_si128
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:170,1
    - Dst: _mm_subs_epi8
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:172,1
    - Dst: _mm_movemask_epi8
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - contone_ptr
    - thresh_ptr
    - ht_data
    argTypes:
    - byte*
    - byte*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 178
    functionName: threshold_16_SSE_unaligned
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - _mm_subs_epi8
    - _mm_xor_si128
    - _mm_loadu_si128
    - _mm_movemask_epi8
    - _mm_set_epi32
    linkageType: ''
    returnType: void
    signature: void threshold_16_SSE_unaligned(byte *contone_ptr, byte *thresh_ptr,
      byte *ht_data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: threshold_16_SSE_unaligned
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:270,1
    - Dst: threshold_16_SSE
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:280,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 8
    argNames:
    - contone
    - threshold_strip
    - contone_stride
    - halftone
    - dithered_stride
    - width
    - num_rows
    - offset_bits
    argTypes:
    - byte*
    - byte*
    - int
    - byte*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 287
    functionName: gx_ht_threshold_row_bit_sub
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - threshold_16_SSE
    - threshold_16_SSE_unaligned
    linkageType: ''
    returnType: void
    signature: "void gx_ht_threshold_row_bit_sub(byte *contone,  byte *threshold_strip,
      \ int contone_stride,\n                  byte *halftone, int dithered_stride,
      int width,\n                  int num_rows, int offset_bits)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: threshold_16_SSE_unaligned
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:375,1
    - Dst: threshold_16_SSE
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:385,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 66
    argCount: 8
    argNames:
    - contone
    - threshold_strip
    - contone_stride
    - halftone
    - dithered_stride
    - width
    - num_rows
    - offset_bits
    argTypes:
    - byte*
    - byte*
    - int
    - byte*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 392
    functionName: gx_ht_threshold_row_bit
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - threshold_16_SSE
    - threshold_16_SSE_unaligned
    linkageType: ''
    returnType: void
    signature: "void gx_ht_threshold_row_bit(byte *contone,  byte *threshold_strip,
      \ int contone_stride,\n                  byte *halftone, int dithered_stride,
      int width,\n                  int num_rows, int offset_bits)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:456,1
    - Dst: threshold_16_SSE
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:469,1
    - Dst: threshold_16_bit
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:471,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 5
    argNames:
    - contone_align
    - thresh_align
    - ht_landscape
    - halftone
    - data_length
    argTypes:
    - byte*
    - byte*
    - ht_landscape_info_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 482
    functionName: gx_ht_threshold_landscape_sub
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - threshold_16_bit
    - threshold_16_SSE
    - memset
    linkageType: ''
    returnType: void
    signature: "void gx_ht_threshold_landscape_sub(byte *contone_align, byte *thresh_align,\n
      \                   ht_landscape_info_t *ht_landscape, byte *halftone,\n                    int
      data_length)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:547,1
    - Dst: threshold_16_SSE
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:560,1
    - Dst: threshold_16_bit
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:562,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 48
    argCount: 5
    argNames:
    - contone_align
    - thresh_align
    - ht_landscape
    - halftone
    - data_length
    argTypes:
    - byte*
    - byte*
    - ht_landscape_info_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 573
    functionName: gx_ht_threshold_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - threshold_16_bit
    - threshold_16_SSE
    - memset
    linkageType: ''
    returnType: void
    signature: "void gx_ht_threshold_landscape(byte *contone_align, byte *thresh_align,\n
      \                   ht_landscape_info_t *ht_landscape, byte *halftone,\n                    int
      data_length)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:587,1
    - Dst: gx_ht_construct_threshold
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:591,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:594,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:603,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:603,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:622,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:622,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:625,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:627,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:628,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:633,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:635,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:639,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:644,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:666,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:666,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:670,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:670,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:672,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:677,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:678,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:679,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:692,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:694,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:695,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:696,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:703,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:703,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:705,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:707,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:712,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:712,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:712,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:720,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:737,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:738,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:740,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:744,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:746,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:754,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:755,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:756,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 95
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 761
    functionName: gxht_thresh_image_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - any_abs
    - gx_device_must_halftone
    - gs_alloc_bytes
    - gs_rethrow
    - gx_ht_construct_threshold
    - fixed2int_var_rounded
    - gxht_dda_length
    - memset
    - dda_translate
    - gs_free_object
    - ceil
    - dda_current
    - bitmap_raster
    - fixed2int_pixround_perfect
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gxht_thresh_image_init(gx_image_enum *penum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:772,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:776,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:780,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - dest_strip
    - src_strip
    - src_width
    - left_offset
    - left_width
    - num_tiles
    - right_width
    argTypes:
    - byte*
    - byte*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 787
    functionName: fill_threshold_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void fill_threshold_buffer(byte *dest_strip, byte *src_strip, int
      src_width,\n                       int left_offset, int left_width, int num_tiles,\n
      \                      int right_width)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ht_landscape
    - contone_align
    - data_length
    argTypes:
    - ht_landscape_info_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 813
    functionName: move_landscape_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void move_landscape_buffer(ht_landscape_info_t *ht_landscape, byte
      *contone_align,\n                       int data_length)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:828,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 4
    argNames:
    - ht_landscape
    - contone_align
    - data_length
    - num_used
    argTypes:
    - ht_landscape_info_t*
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 842
    functionName: reset_landscape_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void reset_landscape_buffer(ht_landscape_info_t *ht_landscape, byte
      *contone_align,\n                       int data_length, int num_used)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:870,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:871,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:892,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:894,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:899,1
    - Dst: fill_threshold_buffer
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:919,1
    - Dst: gx_ht_threshold_row_bit_sub
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:929,1
    - Dst: gx_ht_threshold_row_bit
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:933,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:950,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:952,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:957,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:965,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:970,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:975,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1022,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1047,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1051,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1055,1
    - Dst: fastfloor
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1061,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1064,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1068,1
    - Dst: gx_ht_threshold_landscape_sub
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1073,1
    - Dst: gx_ht_threshold_landscape
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1076,1
    - Dst: move_landscape_buffer
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1083,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1090,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1098,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1108,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1115,1
    - Dst: reset_landscape_buffer
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1125,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1139,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1144,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 144
    argCount: 8
    argNames:
    - penum
    - xrun
    - dest_width
    - dest_height
    - thresh_align
    - dev
    - offset_contone
    - contone_stride
    argTypes:
    - gx_image_enum*
    - fixed
    - int
    - int
    - byte*
    - gx_device*
    - int[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 1147
    functionName: gxht_thresh_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 1
    functionsReached:
    - gx_ht_threshold_landscape
    - fill_threshold_buffer
    - fastfloor
    - gx_ht_threshold_row_bit
    - gx_ht_threshold_landscape_sub
    - gs_rethrow
    - min
    - fixed2int_var_rounded
    - memcpy
    - move_landscape_buffer
    - reset_landscape_buffer
    - memset
    - gx_ht_threshold_row_bit_sub
    - gx_device_white
    - dev_proc
    - gx_device_black
    linkageType: ''
    returnType: int
    signature: "int gxht_thresh_planes(gx_image_enum *penum, fixed xrun,\n                   int
      dest_width, int dest_height,\n                   byte *thresh_align, gx_device
      * dev, int offset_contone[],\n                   int contone_stride)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1152,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1153,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1153,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1153,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1153,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxht_thresh.c:1153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dda
    - src_size
    argTypes:
    - gx_dda_fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1149
    functionDepth: 1
    functionLinenumber: 1149
    functionLinenumberEnd: 1154
    functionName: gxht_dda_length
    functionSourceFile: /src/libspectre/ghostscript/base/gxht_thresh.c
    functionUses: 2
    functionsReached:
    - abs
    - fixed2int_var_rounded
    - dda_current
    - dda_advance
    linkageType: ''
    returnType: int
    signature: int gxht_dda_length(gx_dda_fixed *dda, int src_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - key
    - ','
    - type
    - ','
    - stype
    - ','
    - memb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: dctp
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dctp(key, type, stype, memb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: jpeg_order
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jpeg_order(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: jpeg_inverse_order
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jpeg_inverse_order(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: jpeg_order
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jpeg_order(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: jpeg_inverse_order
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: jpeg_inverse_order(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:96,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:98,1
    - Dst: jpeg_inverse_order
      Src: /src/libspectre/ghostscript/base/sdcparam.c:100,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - pstr
    - count
    - pvals
    - QFactor
    - mem
    argTypes:
    - gs_param_string*
    - int
    - UINT16*
    - double
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 109
    functionName: quant_param_string
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - return_error
    - jpeg_inverse_order
    linkageType: ''
    returnType: int
    signature: "int quant_param_string(gs_param_string * pstr, int count, const UINT16
      * pvals,\n                   double QFactor, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:122,1
    - Dst: jpeg_inverse_order
      Src: /src/libspectre/ghostscript/base/sdcparam.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - pfa
    - count
    - pvals
    - QFactor
    - mem
    argTypes:
    - gs_param_float_array*
    - int
    - UINT16*
    - double
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 129
    functionName: quant_param_array
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - jpeg_inverse_order
    linkageType: ''
    returnType: int
    signature: "int quant_param_array(gs_param_float_array * pfa, int count, const
      UINT16 * pvals,\n                  double QFactor, gs_memory_t * mem)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/sdcparam.c:157,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/sdcparam.c:183,1
    - Dst: param_begin_write_collection
      Src: /src/libspectre/ghostscript/base/sdcparam.c:194,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/sdcparam.c:204,1
    - Dst: quant_param_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:206,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:211,1
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:220,1
    - Dst: quant_param_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:223,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:228,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/sdcparam.c:232,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 4
    argNames:
    - plist
    - pdct
    - defaults
    - is_encode
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 131
    functionDepth: 5
    functionLinenumber: 131
    functionLinenumberEnd: 233
    functionName: s_DCT_get_quantization_tables
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - count_of
    - param_begin_write_collection
    - param_write_string
    - gs_free_const_string
    - quant_param_array
    - quant_param_string
    - gs_sprintf
    - param_write_float_array
    - memcmp
    - param_end_write_dict
    linkageType: ''
    returnType: int
    signature: "int s_DCT_get_quantization_tables(gs_param_list * plist,\n           const
      stream_DCT_state * pdct, const stream_DCT_state * defaults,\n                              bool
      is_encode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:245,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:247,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcparam.c:248,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcparam.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - pstr
    - table
    - mem
    argTypes:
    - gs_param_string*
    - JHUFF_TBL*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 254
    functionName: pack_huff_table
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int pack_huff_table(gs_param_string * pstr, const JHUFF_TBL * table,\n
      \               gs_memory_t * mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:284,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:287,1
    - Dst: pack_huff_table
      Src: /src/libspectre/ghostscript/base/sdcparam.c:289,1
    - Dst: pack_huff_table
      Src: /src/libspectre/ghostscript/base/sdcparam.c:290,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:299,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 4
    argNames:
    - plist
    - pdct
    - defaults
    - is_encode
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 300
    functionName: s_DCT_get_huffman_tables
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - pack_huff_table
    - param_write_string_array
    linkageType: ''
    returnType: int
    signature: "int s_DCT_get_huffman_tables(gs_param_list * plist,\n           const
      stream_DCT_state * pdct, const stream_DCT_state * defaults,\n                         bool
      is_encode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/base/sdcparam.c:307,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/base/sdcparam.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - plist
    - ss
    - defaults
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: s_DCT_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 1
    functionsReached:
    - gs_param_write_items
    linkageType: ''
    returnType: int
    signature: "int s_DCT_get_params(gs_param_list * plist, const stream_DCT_state
      * ss,\n                 const stream_DCT_state * defaults)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:335,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:340,1
    - Dst: param_read_int_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:348,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:351,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:359,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:362,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:368,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:382,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 46
    argCount: 5
    argNames:
    - plist
    - key
    - start
    - count
    - pvals
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int
    - int
    - UINT8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 384
    functionName: s_DCT_byte_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - gs_note_error
    - param_read_int_array
    - param_read_float_array
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int s_DCT_byte_params(gs_param_list * plist, gs_param_name key, int
      start,\n                  int count, UINT8 * pvals)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/sdcparam.c:394,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:399,1
    - Dst: jpeg_order
      Src: /src/libspectre/ghostscript/base/sdcparam.c:405,1
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/sdcparam.c:410,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:413,1
    - Dst: jpeg_order
      Src: /src/libspectre/ghostscript/base/sdcparam.c:419,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 5
    argNames:
    - plist
    - key
    - count
    - pvals
    - QFactor
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int
    - UINT16*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 428
    functionName: quant_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - jpeg_order
    - param_signal_error
    - gs_note_error
    - param_read_float_array
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int quant_params(gs_param_list * plist, gs_param_name key, int count,\n
      \            UINT16 * pvals, double QFactor)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/base/sdcparam.c:437,1
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/base/sdcparam.c:441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:449,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 9
    argCount: 2
    argNames:
    - plist
    - pdct
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 451
    functionName: s_DCT_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_param_read_items
    linkageType: ''
    returnType: int
    signature: int s_DCT_put_params(gs_param_list * plist, stream_DCT_state * pdct)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_read_dict
      Src: /src/libspectre/ghostscript/base/sdcparam.c:467,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:473,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:480,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/sdcparam.c:493,1
    - Dst: quant_params
      Src: /src/libspectre/ghostscript/base/sdcparam.c:494,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/sdcparam.c:500,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:508,1
    - Dst: gs_jpeg_alloc_quant_table
      Src: /src/libspectre/ghostscript/base/sdcparam.c:511,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:513,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcparam.c:516,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - plist
    - pdct
    - is_encode
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 519
    functionName: s_DCT_put_quantization_tables
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 1
    functionsReached:
    - param_begin_read_dict
    - gs_sprintf
    - memcpy
    - gs_jpeg_alloc_quant_table
    - memcmp
    - return_error
    - quant_params
    - param_signal_error
    linkageType: ''
    returnType: int
    signature: "int s_DCT_put_quantization_tables(gs_param_list * plist, stream_DCT_state
      * pdct,\n                              bool is_encode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/sdcparam.c:529,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/sdcparam.c:530,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 5
    argNames:
    - table_ptrs
    - num_tables
    - counts
    - values
    - codes_size
    argTypes:
    - JHUFF_TBL**
    - int
    - UINT8*
    - UINT8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 534
    functionName: find_huff_values
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int find_huff_values(JHUFF_TBL ** table_ptrs, int num_tables,\n               const
      UINT8 * counts, const UINT8 * values, int codes_size)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_read_dict
      Src: /src/libspectre/ghostscript/base/sdcparam.c:552,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:558,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:565,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/sdcparam.c:570,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/sdcparam.c:585,1
    - Dst: s_DCT_byte_params
      Src: /src/libspectre/ghostscript/base/sdcparam.c:586,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:592,1
    - Dst: s_DCT_byte_params
      Src: /src/libspectre/ghostscript/base/sdcparam.c:593,1
    - Dst: find_huff_values
      Src: /src/libspectre/ghostscript/base/sdcparam.c:598,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:605,1
    - Dst: find_huff_values
      Src: /src/libspectre/ghostscript/base/sdcparam.c:608,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:615,1
    - Dst: gs_jpeg_alloc_huff_table
      Src: /src/libspectre/ghostscript/base/sdcparam.c:620,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:622,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcparam.c:625,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcparam.c:626,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdcparam.c:629,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 3
    argNames:
    - plist
    - pdct
    - is_encode
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 535
    functionDepth: 5
    functionLinenumber: 535
    functionLinenumberEnd: 631
    functionName: s_DCT_put_huffman_tables
    functionSourceFile: /src/libspectre/ghostscript/base/sdcparam.c
    functionUses: 1
    functionsReached:
    - param_begin_read_dict
    - s_DCT_byte_params
    - max
    - gs_sprintf
    - memcpy
    - return_error
    - find_huff_values
    - param_signal_error
    - gs_jpeg_alloc_huff_table
    linkageType: ''
    returnType: int
    signature: "int s_DCT_put_huffman_tables(gs_param_list * plist, stream_DCT_state
      * pdct,\n                         bool is_encode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - z
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: map4tox
    functionSourceFile: /src/libspectre/ghostscript/base/gxsample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: map4tox(z,a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - bptr
    - pdata_x
    - data
    - data_x
    - dsize
    - ignore_smap
    - spread
    - ignore_num_components_per_plane
    argTypes:
    - byte*
    - int*
    - byte*
    - int
    - uint
    - sample_map*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 93
    functionName: sample_unpack_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxsample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\nsample_unpack_copy(byte * bptr, int *pdata_x, const byte *
      data, int data_x,\n                uint dsize, const sample_map *ignore_smap,
      int spread,\n                int ignore_num_components_per_plane)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_show_enum*::procs::release
      Src: /src/libspectre/ghostscript/base/gschar.c:39,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gschar.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - penum
    - emem
    argTypes:
    - gs_show_enum*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 42
    functionName: gs_show_enum_release
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_show_enum*::procs::release
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_show_enum_release(gs_show_enum * penum, gs_memory_t * emem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar.c:53,1
    - Dst: gs_text_setcachedevice
      Src: /src/libspectre/ghostscript/base/gschar.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pgs
    - pw
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: gs_setcachedevice_double
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_text_setcachedevice
    linkageType: ''
    returnType: int
    signature: int gs_setcachedevice_double(gs_show_enum *penum, gs_gstate *pgs, const
      double *pw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcachedevice_double
      Src: /src/libspectre/ghostscript/base/gschar.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pgs
    - pw
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: gs_setcachedevice_float
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_setcachedevice_double
    linkageType: ''
    returnType: int
    signature: int gs_setcachedevice_float(gs_show_enum * penum, gs_gstate * pgs,
      const float *pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar.c:76,1
    - Dst: gs_text_setcachedevice2
      Src: /src/libspectre/ghostscript/base/gschar.c:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pgs
    - pw2
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: gs_setcachedevice2_double
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_setcachedevice2
    linkageType: ''
    returnType: int
    signature: "int gs_setcachedevice2_double(gs_show_enum * penum, gs_gstate * pgs,\n
      \                         const double *pw2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcachedevice2_double
      Src: /src/libspectre/ghostscript/base/gschar.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - penum
    - pgs
    - pw2
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 89
    functionName: gs_setcachedevice2_float
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_setcachedevice2_double
    linkageType: ''
    returnType: int
    signature: int gs_setcachedevice2_float(gs_show_enum * penum, gs_gstate * pgs,
      const float *pw2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gschar.c:101,1
    - Dst: gs_text_setcharwidth
      Src: /src/libspectre/ghostscript/base/gschar.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - penum
    - pgs
    - wx
    - wy
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: gs_setcharwidth
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_setcharwidth
    linkageType: ''
    returnType: int
    signature: "int gs_setcharwidth(gs_show_enum * penum, gs_gstate * pgs,\n                double
      wx, double wy)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_process
      Src: /src/libspectre/ghostscript/base/gschar.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: gs_show_next
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_process
    linkageType: ''
    returnType: int
    signature: int gs_show_next(gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_is_width_only
      Src: /src/libspectre/ghostscript/base/gschar.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: gs_show_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_is_width_only
    linkageType: ''
    returnType: bool
    signature: bool gs_show_width_only(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_char
      Src: /src/libspectre/ghostscript/base/gschar.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: gs_show_current_char
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_current_char
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_show_current_char(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_glyph
      Src: /src/libspectre/ghostscript/base/gschar.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: gs_show_current_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_current_glyph
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph gs_show_current_glyph(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_width
      Src: /src/libspectre/ghostscript/base/gschar.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - ppt
    argTypes:
    - gs_show_enum*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: gs_show_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_current_width
    linkageType: ''
    returnType: int
    signature: int gs_show_current_width(const gs_show_enum * penum, gs_point * ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_current_char
      Src: /src/libspectre/ghostscript/base/gschar.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: gs_kshow_previous_char
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_current_char
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_kshow_previous_char(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_show_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: gs_kshow_next_char
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_kshow_next_char(const gs_show_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_total_width
      Src: /src/libspectre/ghostscript/base/gschar.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - ppt
    argTypes:
    - gs_show_enum*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gs_show_width
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - gs_text_total_width
    linkageType: ''
    returnType: void
    signature: void gs_show_width(const gs_show_enum * penum, gs_point * ppt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/base/gschar.c:182,1
    - Dst: dev_proc_text_begin
      Src: /src/libspectre/ghostscript/base/gschar.c:187,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gschar.c:187,1
    - Dst: gs_text_release
      Src: /src/libspectre/ghostscript/base/gschar.c:190,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gschar.c:192,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gschar.c:193,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gschar.c:194,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gschar.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - penum
    - pgs
    - code
    - pte
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - int
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 202
    functionName: show_n_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gschar.c
    functionUses: 0
    functionsReached:
    - dev_proc_text_begin
    - gs_text_begin
    - gs_text_release
    - gs_object_type
    - set_dev_proc
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int show_n_begin(gs_show_enum *penum, gs_gstate *pgs, int code, gs_text_enum_t
      *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - inside
    - ','
    - rule
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: INSIDE_PATH_P
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INSIDE_PATH_P(inside, rule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:112,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - lp1
    - lp2
    argTypes:
    - active_line*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: x_order
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - INCR
    linkageType: ''
    returnType: int
    signature: int x_order(const active_line *lp1, const active_line *lp2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxfill.c:158,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:160,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:160,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxfill.c:161,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:162,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:162,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:164,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:164,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxfill.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - label
    - alp
    argTypes:
    - gs_memory_t*
    - char*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: print_active_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - dmlprintf2
    - dmlprintf5
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void print_active_line(const gs_memory_t *mem, const char *label, const
      active_line * alp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxfill.c:176,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:178,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxfill.c:180,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:180,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gxfill.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - flp
    argTypes:
    - gs_memory_t*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: print_line_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    - dmputc
    - dmlprintf3
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void print_line_list(const gs_memory_t *mem, const active_line * flp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfill.c:187,1
    - Dst: print_active_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - label
    - alp
    argTypes:
    - gs_memory_t*
    - char*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 189
    functionName: print_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - print_active_line
    linkageType: ''
    returnType: void
    signature: void print_al(const gs_memory_t *mem, const char *label, const active_line
      * alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - label
    - ','
    - alp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: print_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_al(mem,label,alp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: is_spotan_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool is_spotan_device(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: FILL_LOOP_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL_LOOP_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - ll
    - mem
    argTypes:
    - line_list*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 255
    functionName: init_line_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - INCR
    linkageType: ''
    returnType: void
    signature: void init_line_list(line_list *ll, gs_memory_t * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ppath
    - count
    argTypes:
    - gx_path*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 275
    functionName: unclose_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unclose_path(gx_path * ppath, int count)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxfill.c:313,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxfill.c:320,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxfill.c:321,1
    - Dst: fixed_ceiling
      Src: /src/libspectre/ghostscript/base/gxfill.c:321,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxfill.c:323,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:324,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:324,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:325,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:325,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:326,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:326,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gxfill.c:328,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:330,1
    - Dst: rect_within
      Src: /src/libspectre/ghostscript/base/gxfill.c:331,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxfill.c:337,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxfill.c:338,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:339,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:339,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:340,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:340,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gxfill.c:341,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gxfill.c:358,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxfill.c:390,1
    - Dst: is_spotan_device
      Src: /src/libspectre/ghostscript/base/gxfill.c:396,1
    - Dst: color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxfill.c:397,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:398,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:399,1
    - Dst: gx_path_has_curves
      Src: /src/libspectre/ghostscript/base/gxfill.c:417,1
    - Dst: lop_is_idempotent
      Src: /src/libspectre/ghostscript/base/gxfill.c:420,1
    - Dst: gx_path_is_rectangular
      Src: /src/libspectre/ghostscript/base/gxfill.c:423,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:424,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:425,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:426,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:427,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxfill.c:429,1
    - Dst: gs_getscanconverter
      Src: /src/libspectre/ghostscript/base/gxfill.c:436,1
    - Dst: gx_path_has_curves
      Src: /src/libspectre/ghostscript/base/gxfill.c:441,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxfill.c:443,1
    - Dst: gx_path_copy_reducing
      Src: /src/libspectre/ghostscript/base/gxfill.c:444,1
    - Dst: lop_is_idempotent
      Src: /src/libspectre/ghostscript/base/gxfill.c:451,1
    - Dst: gx_scan_convert_and_fill
      Src: /src/libspectre/ghostscript/base/gxfill.c:465,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxfill.c:474,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxfill.c:478,1
    - Dst: gx_path_has_curves
      Src: /src/libspectre/ghostscript/base/gxfill.c:479,1
    - Dst: is_spotan_device
      Src: /src/libspectre/ghostscript/base/gxfill.c:481,1
    - Dst: gx_path__check_curves
      Src: /src/libspectre/ghostscript/base/gxfill.c:483,1
    - Dst: gx_path_copy_reducing
      Src: /src/libspectre/ghostscript/base/gxfill.c:486,1
    - Dst: gx_path_merge_contacting_contours
      Src: /src/libspectre/ghostscript/base/gxfill.c:492,1
    - Dst: init_line_list
      Src: /src/libspectre/ghostscript/base/gxfill.c:499,1
    - Dst: add_y_list
      Src: /src/libspectre/ghostscript/base/gxfill.c:500,1
    - Dst: FILL_LOOP_PROC
      Src: /src/libspectre/ghostscript/base/gxfill.c:503,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/base/gxfill.c:510,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxfill.c:511,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxfill.c:512,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfill.c:516,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxfill.c:519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfill.c:521,1
    - Dst: unclose_path
      Src: /src/libspectre/ghostscript/base/gxfill.c:524,1
    - Dst: free_line_list
      Src: /src/libspectre/ghostscript/base/gxfill.c:525,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxfill.c:527,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfill.c:529,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gxfill.c:530,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/base/gxfill.c:532,1
    - Dst: dmlprintf4
      Src: /src/libspectre/ghostscript/base/gxfill.c:536,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxfill.c:539,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gxfill.c:542,1
    - Dst: dmlprintf7
      Src: /src/libspectre/ghostscript/base/gxfill.c:544,1
    - Dst: gx_destroy_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gxfill.c:552,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 138
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 554
    functionName: gx_general_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gx_path_merge_contacting_contours
    - gx_cpath_inner_box
    - gs_currentcpsimode
    - dmlprintf7
    - is_spotan_device
    - gx_path__check_curves
    - init_line_list
    - gs_getscanconverter
    - dmlprintf5
    - countof
    - gs_debug_c
    - color_writes_pure
    - FILL_LOOP_PROC
    - dmlprintf4
    - lop_is_idempotent
    - gx_path_bbox
    - gx_cpath_outer_box
    - rect_intersect
    - memset
    - fixed_ceiling
    - if_debug4m
    - free_line_list
    - gx_destroy_clip_device_on_stack
    - add_y_list
    - gx_make_clip_device_on_stack
    - float2fixed
    - gs_free_object
    - fixed2int_pixround
    - gx_path_copy_reducing
    - dmlprintf3
    - rect_within
    - gx_path_is_rectangular
    - fixed2int
    - dmlputs
    - gx_path_init_local
    - unclose_path
    - dev_proc
    - int2fixed
    - gx_path_free
    - gs_alloc_byte_array
    - if_debug6m
    - gx_path_has_curves
    - gx_scan_convert_and_fill
    - gx_fill_rectangle_device_rop
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gx_general_fill_path(gx_device * pdev, const gs_gstate * pgs,\n
      \                    gx_path * ppath, const gx_fill_params * params,\n                 const
      gx_device_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:564,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gxfill.c:567,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 568
    functionName: pass_shading_area_through_clip_path_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int pass_shading_area_through_clip_path_device(gx_device * pdev, const
      gs_gstate * pgs,\n                     gx_path * ppath, const gx_fill_params
      * params,\n                 const gx_device_color * pdevc, const gx_clip_path
      * pcpath)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxfill.c:581,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxfill.c:583,1
    - Dst: gx_pattern_tile_is_clist
      Src: /src/libspectre/ghostscript/base/gxfill.c:583,1
    - Dst: gx_cpath_init_local_shared_nested
      Src: /src/libspectre/ghostscript/base/gxfill.c:604,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:610,1
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gxfill.c:611,1
    - Dst: gx_cpath_intersect_with_params
      Src: /src/libspectre/ghostscript/base/gxfill.c:614,1
    - Dst: gx_dc_pattern2_clip_with_bbox
      Src: /src/libspectre/ghostscript/base/gxfill.c:621,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxfill.c:630,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:631,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:632,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:633,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:634,1
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gxfill.c:635,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:636,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:641,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gxfill.c:644,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:646,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:648,1
    - Dst: gx_device_color*::type::fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxfill.c:652,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxfill.c:657,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gxfill.c:659,1
    - Dst: gx_general_fill_path
      Src: /src/libspectre/ghostscript/base/gxfill.c:661,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 574
    functionDepth: 6
    functionLinenumber: 574
    functionLinenumberEnd: 664
    functionName: gx_default_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 6
    functionsReached:
    - gx_dc_pattern2_clip_with_bbox
    - gx_make_clip_device_on_stack
    - gx_cpath_free
    - gx_dc_is_pattern2_color
    - gx_device_color*::type::fill_rectangle
    - set_dev_proc
    - gx_cpath_intersect_with_params
    - fixed2int_pixround
    - gx_cpath_from_rectangle
    - gx_cpath_outer_box
    - gx_pattern_tile_is_clist
    - gx_general_fill_path
    - gx_dc_is_pattern1_color
    - gx_cpath_init_local_shared_nested
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_path(gx_device * pdev, const gs_gstate * pgs,\n
      \                    gx_path * ppath, const gx_fill_params * params,\n                 const
      gx_device_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:679,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gxfill.c:684,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxfill.c:685,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gxfill.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 8
    argNames:
    - pdev
    - pgs
    - ppath
    - params_fill
    - pdevc_fill
    - params_stroke
    - pdevc_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_stroke_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 688
    functionName: gx_default_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - gs_swapcolors_quick
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_stroke_path(gx_device * pdev, const gs_gstate
      * pgs,\n                            gx_path * ppath,\n                            const
      gx_fill_params * params_fill,\n                            const gx_device_color
      * pdevc_fill,\n                            const gx_stroke_params * params_stroke,\n
      \                           const gx_device_color * pdevc_stroke,\n                            const
      gx_clip_path * pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfill.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ll
    argTypes:
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 691
    functionDepth: 0
    functionLinenumber: 691
    functionLinenumberEnd: 704
    functionName: free_line_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void free_line_list(line_list *ll)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxfill.c:712,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:718,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - ll
    argTypes:
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 706
    functionDepth: 1
    functionLinenumber: 706
    functionLinenumberEnd: 723
    functionName: make_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - INCR
    - gs_alloc_struct
    linkageType: ''
    returnType: active_line
    signature: 'active_line *

      make_al(line_list *ll)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:737,1
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:748,1
    - Dst: print_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:762,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 2
    argNames:
    - ll
    - alp
    argTypes:
    - line_list*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 763
    functionName: insert_y_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - print_al
    - INCR_EXPR
    linkageType: ''
    returnType: void
    signature: void insert_y_line(line_list *ll, active_line *alp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:779,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - fo
    - y0
    - y1
    argTypes:
    - fill_options*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 776
    functionDepth: 0
    functionLinenumber: 776
    functionLinenumberEnd: 785
    functionName: compute_dir
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: int
    signature: int compute_dir(const fill_options *fo, fixed y0, fixed y1)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: make_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:791,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:795,1
    - Dst: gx_flattened_iterator__switch_to_backscan
      Src: /src/libspectre/ghostscript/base/gxfill.c:801,1
    - Dst: gx_flattened_iterator__prev
      Src: /src/libspectre/ghostscript/base/gxfill.c:804,1
    - Dst: compute_dir
      Src: /src/libspectre/ghostscript/base/gxfill.c:808,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:812,1
    - Dst: insert_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:817,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 8
    argNames:
    - ll
    - s0
    - s1
    - dir
    - fi
    - more1
    - step_back
    - monotonic_x
    argTypes:
    - line_list*
    - segment*
    - segment*
    - int
    - gx_flattened_iterator*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 787
    functionDepth: 4
    functionLinenumber: 787
    functionLinenumberEnd: 819
    functionName: add_y_curve_part
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - compute_dir
    - gx_flattened_iterator__switch_to_backscan
    - insert_y_line
    - step_al
    - return_error
    - gx_flattened_iterator__prev
    - make_al
    linkageType: ''
    returnType: int
    signature: "int add_y_curve_part(line_list *ll, segment *s0, segment *s1, int
      dir,\n    gx_flattened_iterator *fi, bool more1, bool step_back, bool monotonic_x)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_y_line_aux
      Src: /src/libspectre/ghostscript/base/gxfill.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - prev_lp
    - lp
    - dir
    - ll
    argTypes:
    - segment*
    - segment*
    - int
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 825
    functionName: add_y_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - add_y_line_aux
    linkageType: ''
    returnType: int
    signature: int add_y_line(const segment * prev_lp, const segment * lp, int dir,
      line_list *ll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: add_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:833,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:835,1
    - Dst: add_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:840,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:842,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ll
    - q
    - p
    argTypes:
    - line_list*
    - contour_cursor*
    - contour_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 827
    functionDepth: 5
    functionLinenumber: 827
    functionLinenumberEnd: 845
    functionName: start_al_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - add_y_line
    - add_y_curve_part
    linkageType: ''
    returnType: int
    signature: int start_al_pair(line_list *ll, contour_cursor *q, contour_cursor
      *p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:856,1
    - Dst: compute_dir
      Src: /src/libspectre/ghostscript/base/gxfill.c:860,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:867,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:871,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:876,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:882,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 37
    argCount: 2
    argNames:
    - ll
    - q
    argTypes:
    - line_list*
    - contour_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 848
    functionDepth: 5
    functionLinenumber: 848
    functionLinenumberEnd: 896
    functionName: start_al_pair_from_min
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gx_flattened_iterator__next
    - compute_dir
    - add_y_curve_part
    linkageType: ''
    returnType: int
    signature: int start_al_pair_from_min(line_list *ll, contour_cursor *q)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:903,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:903,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:903,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:904,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:904,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:904,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxfill.c:918,1
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxfill.c:920,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:921,1
    - Dst: compute_dir
      Src: /src/libspectre/ghostscript/base/gxfill.c:923,1
    - Dst: gx_flattened_iterator__init_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:924,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 16
    argCount: 2
    argNames:
    - fo
    - q
    argTypes:
    - fill_options*
    - contour_cursor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 898
    functionDepth: 2
    functionLinenumber: 898
    functionLinenumberEnd: 929
    functionName: init_contour_cursor
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gx_curve_log2_samples
    - compute_dir
    - gx_flattened_iterator__init_line
    - max
    - return_error
    - gx_flattened_iterator__init
    - min
    linkageType: ''
    returnType: int
    signature: int init_contour_cursor(const fill_options * const fo, contour_cursor
      *q)
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfill.c:945,1
    - Dst: init_contour_cursor
      Src: /src/libspectre/ghostscript/base/gxfill.c:958,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:962,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxfill.c:963,1
    - Dst: compute_dir
      Src: /src/libspectre/ghostscript/base/gxfill.c:966,1
    - Dst: init_contour_cursor
      Src: /src/libspectre/ghostscript/base/gxfill.c:1012,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1019,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxfill.c:1020,1
    - Dst: compute_dir
      Src: /src/libspectre/ghostscript/base/gxfill.c:1024,1
    - Dst: FILL_ZERO_WIDTH
      Src: /src/libspectre/ghostscript/base/gxfill.c:1040,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1044,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1045,1
    - Dst: add_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1048,1
    - Dst: start_al_pair
      Src: /src/libspectre/ghostscript/base/gxfill.c:1060,1
    - Dst: add_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1067,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:1069,1
    - Dst: add_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1078,1
    - Dst: add_y_curve_part
      Src: /src/libspectre/ghostscript/base/gxfill.c:1080,1
    - Dst: start_al_pair_from_min
      Src: /src/libspectre/ghostscript/base/gxfill.c:1090,1
    - Dst: scan_contour
      Src: /src/libspectre/ghostscript/base/gxfill.c:1150,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1167,1
    - Dst: gx_flattened_iterator__prev
      Src: /src/libspectre/ghostscript/base/gxfill.c:1169,1
    - Dst: SET_NUM_ADJUST
      Src: /src/libspectre/ghostscript/base/gxfill.c:1182,1
    - Dst: MAX_MINUS_NUM_ADJUST
      Src: /src/libspectre/ghostscript/base/gxfill.c:1183,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxfill.c:1199,1
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxfill.c:1201,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1203,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxfill.c:1213,1
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxfill.c:1216,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1220,1
    - Dst: gx_flattened_iterator__switch_to_backscan
      Src: /src/libspectre/ghostscript/base/gxfill.c:1226,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1227,1
    - Dst: gx_flattened_iterator__init_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1237,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1239,1
    - Dst: make_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1257,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:1259,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1263,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:1279,1
    - Dst: insert_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1281,1
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1298,1
    - Dst: x_order
      Src: /src/libspectre/ghostscript/base/gxfill.c:1299,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxfill.c:1340,1
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1380,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1384,1
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1389,1
    - Dst: print_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1393,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1415,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1454,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1455,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1470,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1471,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1514,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1515,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1530,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1531,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1553,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1554,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1555,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1556,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1558,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1560,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1566,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1567,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxfill.c:1569,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1575,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1587,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1595,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1599,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1602,1
    - Dst: x_order
      Src: /src/libspectre/ghostscript/base/gxfill.c:1618,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxfill.c:1619,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1647,1
    - Dst: resort_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1655,1
    - Dst: end_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1659,1
    - Dst: resort_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1664,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:1694,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:1695,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:1731,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1732,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1732,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1733,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gxfill.c:1737,1
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1739,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxfill.c:1739,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:1744,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1745,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1745,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1746,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1754,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1757,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1760,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1763,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1766,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1783,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:1804,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1804,1
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1829,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1832,1
    - Dst: intersect
      Src: /src/libspectre/ghostscript/base/gxfill.c:1840,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1849,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1850,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1856,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1857,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1873,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1898,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1914,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1921,1
    - Dst: set_x_next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1922,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1930,1
    - Dst: set_x_next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1931,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1938,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfill.c:1941,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxfill.c:1942,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1942,1
    - Dst: print_line_list
      Src: /src/libspectre/ghostscript/base/gxfill.c:1943,1
    - Dst: spot_into_trapezoids__spotan
      Src: /src/libspectre/ghostscript/base/gxfill.c:2064,1
    - Dst: spot_into_trapezoids__aj_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2067,1
    - Dst: spot_into_trapezoids__aj_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2069,1
    - Dst: spot_into_trapezoids__nj_fd_sw
      Src: /src/libspectre/ghostscript/base/gxfill.c:2072,1
    - Dst: spot_into_trapezoids__nj_nd_sw
      Src: /src/libspectre/ghostscript/base/gxfill.c:2074,1
    - Dst: spot_into_trapezoids__nj_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2077,1
    - Dst: spot_into_trapezoids__nj_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2079,1
    - Dst: gs_private_st_simple
      Src: /src/libspectre/ghostscript/base/gxfill.c:2119,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxfill.c:2143,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2156,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gxfill.c:2167,1
    - Dst: range_list_clear
      Src: /src/libspectre/ghostscript/base/gxfill.c:2189,1
    - Dst: range_list_clear
      Src: /src/libspectre/ghostscript/base/gxfill.c:2199,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfill.c:2223,1
    - Dst: range_delete
      Src: /src/libspectre/ghostscript/base/gxfill.c:2262,1
    - Dst: range_delete
      Src: /src/libspectre/ghostscript/base/gxfill.c:2269,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2277,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2282,1
    - Dst: range_alloc
      Src: /src/libspectre/ghostscript/base/gxfill.c:2291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:2294,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2295,1
    - Dst: range_list_rescan
      Src: /src/libspectre/ghostscript/base/gxfill.c:2316,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfill.c:2330,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:2331,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfill.c:2332,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:2340,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:2341,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:2342,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:2345,1
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:2349,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfill.c:2353,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:2354,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfill.c:2355,1
    - Dst: spot_into_scan_lines_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2382,1
    - Dst: spot_into_scan_lines_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2384,1
    CyclomaticComplexity: 230
    EdgeCount: 230
    ICount: 710
    argCount: 4
    argNames:
    - ll
    - pfirst
    - plast
    - prev
    argTypes:
    - line_list*
    - segment*
    - segment*
    - segment*
    assertStmts:
    - condition: (code >= 0)
      pos:
        line_end: 1019
        line_start: 1019
        source_file: /src/libspectre/ghostscript/base/gxfill.c
    - condition: (code >= 0)
      pos:
        line_end: 962
        line_start: 962
        source_file: /src/libspectre/ghostscript/base/gxfill.c
    constantsTouched: []
    func_position:
      end: 2385
      start: 931
    functionDepth: 6
    functionLinenumber: 931
    functionLinenumberEnd: 2385
    functionName: scan_contour
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - gx_curve_log2_samples
    - if_debug1m
    - SET_NUM_ADJUST
    - remove_al
    - INCR_EXPR
    - max
    - step_al
    - start_al_pair_from_min
    - intersect
    - spot_into_trapezoids__aj_nd
    - range_delete
    - init_al
    - gs_private_st_simple
    - gs_alloc_struct
    - compute_dir
    - gs_debug_c
    - insert_y_line
    - range_list_clear
    - assert
    - fill_options*::fill_trap
    - end_x_line
    - fixed2int_rounded
    - memset
    - fixed_mult_quo
    - min
    - spot_into_scan_lines_fd
    - spot_into_scan_lines_nd
    - gs_free_object
    - scan_contour
    - x_order
    - spot_into_trapezoids__nj_fd_sw
    - if_debug2
    - gx_flattened_iterator__init_line
    - spot_into_trapezoids__nj_fd
    - fixed2int_pixround
    - AL_X_AT_Y
    - spot_into_trapezoids__nj_nd_sw
    - range_list_rescan
    - print_line_list
    - coord_weight
    - dmlprintf1
    - add_y_curve_part
    - set_x_next
    - gx_flattened_iterator__init
    - gx_flattened_iterator__prev
    - resort_x_line
    - make_al
    - if_debug3
    - size_of
    - range_list_add
    - spot_into_trapezoids__spotan
    - start_al_pair
    - any_abs
    - init_contour_cursor
    - gx_flattened_iterator__switch_to_backscan
    - FILL_ZERO_WIDTH
    - INCR
    - spot_into_trapezoids__nj_nd
    - fixed_pixround
    - if_debug0
    - spot_into_trapezoids__aj_fd
    - MAX_MINUS_NUM_ADJUST
    - fixed2int_var_pixround
    - add_y_line
    - gx_fill_rectangle_device_rop
    - return_error
    - print_al
    - range_alloc
    - gx_flattened_iterator__next
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int scan_contour(line_list *ll, segment *pfirst, segment *plast, segment
      *prev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: scan_contour
      Src: /src/libspectre/ghostscript/base/gxfill.c:1150,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - ppath
    - ll
    argTypes:
    - gx_path*
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1156
      start: 1119
    functionDepth: 7
    functionLinenumber: 1119
    functionLinenumberEnd: 1156
    functionName: add_y_list
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - scan_contour
    linkageType: ''
    returnType: int
    signature: int add_y_list(gx_path * ppath, line_list *ll)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1167,1
    - Dst: gx_flattened_iterator__prev
      Src: /src/libspectre/ghostscript/base/gxfill.c:1169,1
    - Dst: SET_NUM_ADJUST
      Src: /src/libspectre/ghostscript/base/gxfill.c:1182,1
    - Dst: MAX_MINUS_NUM_ADJUST
      Src: /src/libspectre/ghostscript/base/gxfill.c:1183,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - alp
    - move_iterator
    argTypes:
    - active_line*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1158
    functionDepth: 3
    functionLinenumber: 1158
    functionLinenumberEnd: 1186
    functionName: step_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 2
    functionsReached:
    - MAX_MINUS_NUM_ADJUST
    - gx_flattened_iterator__prev
    - gx_flattened_iterator__next
    - SET_NUM_ADJUST
    linkageType: ''
    returnType: int
    signature: int step_al(active_line *alp, bool move_iterator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxfill.c:1199,1
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxfill.c:1201,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1203,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxfill.c:1213,1
    - Dst: gx_flattened_iterator__init
      Src: /src/libspectre/ghostscript/base/gxfill.c:1216,1
    - Dst: gx_flattened_iterator__next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1220,1
    - Dst: gx_flattened_iterator__switch_to_backscan
      Src: /src/libspectre/ghostscript/base/gxfill.c:1226,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1227,1
    - Dst: gx_flattened_iterator__init_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1237,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1239,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 39
    argCount: 4
    argNames:
    - alp
    - s0
    - s1
    - ll
    argTypes:
    - active_line*
    - segment*
    - segment*
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1188
    functionDepth: 4
    functionLinenumber: 1188
    functionLinenumberEnd: 1246
    functionName: init_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - gx_curve_log2_samples
    - gx_flattened_iterator__switch_to_backscan
    - gx_flattened_iterator__init_line
    - step_al
    - gx_flattened_iterator__init
    - gx_flattened_iterator__next
    linkageType: ''
    returnType: int
    signature: int init_al(active_line *alp, const segment *s0, const segment *s1,
      const line_list *ll)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: make_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1257,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:1259,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1263,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:1279,1
    - Dst: insert_y_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1281,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 6
    argNames:
    - prev_lp
    - lp
    - curr
    - prev
    - dir
    - ll
    argTypes:
    - segment*
    - segment*
    - gs_fixed_point*
    - gs_fixed_point*
    - int
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1251
    functionDepth: 5
    functionLinenumber: 1251
    functionLinenumberEnd: 1283
    functionName: add_y_line_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - return_error
    - make_al
    - insert_y_line
    - init_al
    linkageType: ''
    returnType: int
    signature: "int add_y_line_aux(const segment * prev_lp, const segment * lp,\n
      \           const gs_fixed_point *curr, const gs_fixed_point *prev, int dir,
      line_list *ll)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1298,1
    - Dst: x_order
      Src: /src/libspectre/ghostscript/base/gxfill.c:1299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - alp
    - ll
    argTypes:
    - active_line*
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1307
    functionName: insert_x_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - x_order
    - INCR_EXPR
    linkageType: ''
    returnType: void
    signature: void insert_x_new(active_line * alp, line_list *ll)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - alp
    - ll
    argTypes:
    - active_line*
    - line_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1314
    functionDepth: 0
    functionLinenumber: 1314
    functionLinenumberEnd: 1330
    functionName: insert_h_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void insert_h_new(active_line * alp, line_list *ll)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxfill.c:1340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ll
    - alp
    argTypes:
    - line_list*
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1341
      start: 1332
    functionDepth: 1
    functionLinenumber: 1332
    functionLinenumberEnd: 1341
    functionName: remove_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    linkageType: ''
    returnType: void
    signature: void remove_al(const line_list *ll, active_line *alp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1380,1
    - Dst: init_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1384,1
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1389,1
    - Dst: print_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1393,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - alp
    - ll
    - update
    argTypes:
    - active_line*
    - line_list*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1347
    functionDepth: 5
    functionLinenumber: 1347
    functionLinenumberEnd: 1395
    functionName: end_x_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - print_al
    - remove_al
    - init_al
    linkageType: ''
    returnType: int
    signature: int end_x_line(active_line *alp, const line_list *ll, bool update)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1415,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1454,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1455,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1470,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1471,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1514,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1515,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1530,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1531,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1553,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1554,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1555,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1556,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1558,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1560,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1566,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:1567,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gxfill.c:1569,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1575,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1587,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1595,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1599,1
    - Dst: fill_options*::fill_trap
      Src: /src/libspectre/ghostscript/base/gxfill.c:1602,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 109
    argCount: 5
    argNames:
    - ll
    - flp
    - alp
    - y
    - y1
    argTypes:
    - line_list*
    - active_line*
    - active_line*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1606
    functionName: fill_slant_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - INCR
    - fixed_pixround
    - fixed2int_var_pixround
    - fill_options*::fill_trap
    - gx_fill_rectangle_device_rop
    linkageType: ''
    returnType: int
    signature: "int fill_slant_adjust(const line_list *ll,\n        const active_line
      *flp, const active_line *alp, fixed y, fixed y1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: x_order
      Src: /src/libspectre/ghostscript/base/gxfill.c:1618,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxfill.c:1619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - alp
    argTypes:
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1631
    functionName: resort_x_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - x_order
    - if_debug2
    linkageType: ''
    returnType: void
    signature: void resort_x_line(active_line * alp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:1647,1
    - Dst: resort_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1655,1
    - Dst: end_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1659,1
    - Dst: resort_x_line
      Src: /src/libspectre/ghostscript/base/gxfill.c:1664,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 2
    argNames:
    - ll
    - y1
    argTypes:
    - line_list*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1671
      start: 1634
    functionDepth: 6
    functionLinenumber: 1634
    functionLinenumberEnd: 1671
    functionName: move_al_by_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - step_al
    - resort_x_line
    - end_x_line
    linkageType: ''
    returnType: int
    signature: int move_al_by_y(line_list *ll, fixed y1)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ll
    - y
    argTypes:
    - line_list*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1688
    functionName: process_h_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int process_h_segments(line_list *ll, fixed y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:1694,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:1695,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ll
    - le
    - re
    - y
    - y1
    argTypes:
    - line_list*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1701
      start: 1690
    functionDepth: 0
    functionLinenumber: 1690
    functionLinenumberEnd: 1701
    functionName: loop_fill_trap_np
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - min
    - max
    linkageType: ''
    returnType: int
    signature: int loop_fill_trap_np(const line_list *ll, const gs_fixed_edge *le,
      const gs_fixed_edge *re, fixed y, fixed y1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - y
    - ','
    - y1
    - ','
    - adjust_below
    - ','
    - adjust_above
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1716
    functionDepth: 0
    functionLinenumber: 1716
    functionLinenumberEnd: 1718
    functionName: COVERING_PIXEL_CENTERS
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COVERING_PIXEL_CENTERS(y, y1, adjust_below, adjust_above)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:1731,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1732,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1732,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1733,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gxfill.c:1737,1
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1739,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxfill.c:1739,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:1744,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1745,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1745,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1746,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1754,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1757,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1760,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1763,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1766,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1783,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - endp
    - alp
    - y
    - y1
    - p_y_new
    argTypes:
    - active_line*
    - active_line*
    - fixed
    - fixed
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1721
    functionDepth: 1
    functionLinenumber: 1721
    functionLinenumberEnd: 1790
    functionName: intersect
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 32
    functionsReached:
    - INCR
    - AL_X_AT_Y
    - INCR_EXPR
    - fixed_mult_quo
    - size_of
    - if_debug3
    - fixed2float
    linkageType: ''
    returnType: bool
    signature: bool intersect(active_line *endp, active_line *alp, fixed y, fixed
      y1, fixed *p_y_new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - endp
    - alp
    - x
    argTypes:
    - active_line*
    - active_line*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1792
    functionDepth: 0
    functionLinenumber: 1792
    functionLinenumberEnd: 1799
    functionName: set_x_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_x_next(active_line *endp, active_line *alp, fixed x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:1804,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - alp
    argTypes:
    - active_line*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1805
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1805
    functionName: coord_weight
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - any_abs
    - min
    linkageType: ''
    returnType: int
    signature: int coord_weight(const active_line *alp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: INCR_EXPR
      Src: /src/libspectre/ghostscript/base/gxfill.c:1829,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1832,1
    - Dst: intersect
      Src: /src/libspectre/ghostscript/base/gxfill.c:1840,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1849,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1850,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1856,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1857,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1873,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1898,1
    - Dst: coord_weight
      Src: /src/libspectre/ghostscript/base/gxfill.c:1914,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1921,1
    - Dst: set_x_next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1922,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxfill.c:1930,1
    - Dst: set_x_next
      Src: /src/libspectre/ghostscript/base/gxfill.c:1931,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:1938,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxfill.c:1941,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gxfill.c:1942,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxfill.c:1942,1
    - Dst: print_line_list
      Src: /src/libspectre/ghostscript/base/gxfill.c:1943,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 92
    argCount: 5
    argNames:
    - ll
    - y
    - y_top
    - draw
    - all_bands
    argTypes:
    - line_list*
    - fixed
    - fixed*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1947
      start: 1809
    functionDepth: 2
    functionLinenumber: 1809
    functionLinenumberEnd: 1947
    functionName: intersect_al
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gs_debug_c
    - AL_X_AT_Y
    - INCR_EXPR
    - intersect
    - print_line_list
    - coord_weight
    - dmlprintf1
    - set_x_next
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void intersect_al(line_list *ll, fixed y, fixed *y_top, int draw, bool
      all_bands)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1955
      start: 1954
    functionDepth: 0
    functionLinenumber: 1954
    functionLinenumberEnd: 1955
    functionName: signed_eo
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: signed_eo(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - inside
    - ','
    - alp
    - ','
    - ll
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1962
    functionName: ADVANCE_WINDING
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE_WINDING(inside, alp, ll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - inside
    - ','
    - alp
    - ','
    - ll
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1991
      start: 1990
    functionDepth: 0
    functionLinenumber: 1990
    functionLinenumberEnd: 1991
    functionName: ADVANCE_WINDING
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADVANCE_WINDING(inside, alp, ll)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: spot_into_trapezoids__spotan
      Src: /src/libspectre/ghostscript/base/gxfill.c:2064,1
    - Dst: spot_into_trapezoids__aj_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2067,1
    - Dst: spot_into_trapezoids__aj_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2069,1
    - Dst: spot_into_trapezoids__nj_fd_sw
      Src: /src/libspectre/ghostscript/base/gxfill.c:2072,1
    - Dst: spot_into_trapezoids__nj_nd_sw
      Src: /src/libspectre/ghostscript/base/gxfill.c:2074,1
    - Dst: spot_into_trapezoids__nj_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2077,1
    - Dst: spot_into_trapezoids__nj_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2079,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - ll
    - band_mask
    argTypes:
    - line_list*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2081
    functionName: spot_into_trapezoids
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - spot_into_trapezoids__spotan
    - spot_into_trapezoids__nj_fd_sw
    - spot_into_trapezoids__nj_nd
    - spot_into_trapezoids__nj_fd
    - spot_into_trapezoids__aj_fd
    - spot_into_trapezoids__aj_nd
    - spot_into_trapezoids__nj_nd_sw
    linkageType: ''
    returnType: int
    signature: int spot_into_trapezoids(line_list *ll, fixed band_mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxfill.c:2143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pcrl
    argTypes:
    - coord_range_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2151
      start: 2132
    functionDepth: 1
    functionLinenumber: 2132
    functionLinenumberEnd: 2151
    functionName: range_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: coord_range_t
    signature: 'coord_range_t *

      range_alloc(coord_range_list_t *pcrl)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pcrl
    - pcr
    argTypes:
    - coord_range_list_t*
    - coord_range_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2162
    functionName: range_delete
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - if_debug3
    linkageType: ''
    returnType: void
    signature: void range_delete(coord_range_list_t *pcrl, coord_range_t *pcr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gxfill.c:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - pcrl
    argTypes:
    - coord_range_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2171
    functionName: range_list_clear
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - if_debug0
    linkageType: ''
    returnType: void
    signature: void range_list_clear(coord_range_list_t *pcrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: range_list_clear
      Src: /src/libspectre/ghostscript/base/gxfill.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 4
    argNames:
    - pcrl
    - pcr_local
    - num_local
    - mem
    argTypes:
    - coord_range_list_t*
    - coord_range_t*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2177
    functionDepth: 2
    functionLinenumber: 2177
    functionLinenumberEnd: 2190
    functionName: range_list_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - range_list_clear
    linkageType: ''
    returnType: void
    signature: "void range_list_init(coord_range_list_t *pcrl, coord_range_t *pcr_local,\n
      \               int num_local, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range_list_clear
      Src: /src/libspectre/ghostscript/base/gxfill.c:2199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcrl
    argTypes:
    - coord_range_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2201
      start: 2193
    functionDepth: 2
    functionLinenumber: 2193
    functionLinenumberEnd: 2201
    functionName: range_list_reset
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - range_list_clear
    linkageType: ''
    returnType: void
    signature: void range_list_reset(coord_range_list_t *pcrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcrl
    argTypes:
    - coord_range_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2208
    functionDepth: 0
    functionLinenumber: 2208
    functionLinenumberEnd: 2212
    functionName: range_list_rescan
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void range_list_rescan(coord_range_list_t *pcrl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxfill.c:2223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcrl
    argTypes:
    - coord_range_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2226
      start: 2215
    functionDepth: 0
    functionLinenumber: 2215
    functionLinenumberEnd: 2226
    functionName: range_list_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void range_list_free(coord_range_list_t *pcrl)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: range_delete
      Src: /src/libspectre/ghostscript/base/gxfill.c:2262,1
    - Dst: range_delete
      Src: /src/libspectre/ghostscript/base/gxfill.c:2269,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2277,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2282,1
    - Dst: range_alloc
      Src: /src/libspectre/ghostscript/base/gxfill.c:2291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxfill.c:2294,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxfill.c:2295,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 55
    argCount: 3
    argNames:
    - pcrl
    - rmin
    - rmax
    argTypes:
    - coord_range_list_t*
    - coord_value_t
    - coord_value_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2229
    functionDepth: 2
    functionLinenumber: 2229
    functionLinenumberEnd: 2303
    functionName: range_list_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 1
    functionsReached:
    - return_error
    - range_delete
    - if_debug3
    - range_alloc
    linkageType: ''
    returnType: int
    signature: int range_list_add(coord_range_list_t *pcrl, coord_value_t rmin, coord_value_t
      rmax)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: range_list_rescan
      Src: /src/libspectre/ghostscript/base/gxfill.c:2316,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfill.c:2330,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:2331,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfill.c:2332,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfill.c:2340,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfill.c:2341,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfill.c:2342,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:2345,1
    - Dst: remove_al
      Src: /src/libspectre/ghostscript/base/gxfill.c:2349,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfill.c:2353,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfill.c:2354,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfill.c:2355,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 34
    argCount: 4
    argNames:
    - pcrl
    - ll
    - y_min
    - y_top
    argTypes:
    - coord_range_list_t*
    - line_list*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2310
    functionDepth: 4
    functionLinenumber: 2310
    functionLinenumberEnd: 2360
    functionName: merge_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - fixed2int_pixround
    - AL_X_AT_Y
    - remove_al
    - max
    - step_al
    - range_list_rescan
    - fixed2int_rounded
    - range_list_add
    - min
    linkageType: ''
    returnType: int
    signature: int merge_ranges(coord_range_list_t *pcrl, const line_list *ll, fixed
      y_min, fixed y_top)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: spot_into_scan_lines_fd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2382,1
    - Dst: spot_into_scan_lines_nd
      Src: /src/libspectre/ghostscript/base/gxfill.c:2384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ll
    - band_mask
    argTypes:
    - line_list*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2385
      start: 2378
    functionDepth: 0
    functionLinenumber: 2378
    functionLinenumberEnd: 2385
    functionName: spot_into_scan_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gxfill.c
    functionUses: 0
    functionsReached:
    - spot_into_scan_lines_nd
    - spot_into_scan_lines_fd
    linkageType: ''
    returnType: int
    signature: int spot_into_scan_lines(line_list *ll, fixed band_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tab
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: COUNT_RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COUNT_RUN(tab, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/scfe.c:46,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/scfe.c:48,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/scfe.c:50,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/scfe.c:52,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - mem
    - stats
    argTypes:
    - gs_memory_t*
    - stats_runs_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 53
    functionName: print_run_stats
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached:
    - dmprintf1
    linkageType: ''
    returnType: void
    signature: void print_run_stats(const gs_memory_t *mem, const stats_runs_t * stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cnt
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: COUNT_RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COUNT_RUN(cnt, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ss
    - ','
    - lenv
    - ','
    - rt
    - ','
    - stats
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: CF_PUT_RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_PUT_RUN(ss, lenv, rt, stats)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hce_load_state
      Src: /src/libspectre/ghostscript/base/scfe.c:91,1
    - Dst: COUNT_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:94,1
    - Dst: hc_put_value
      Src: /src/libspectre/ghostscript/base/scfe.c:95,1
    - Dst: COUNT_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:99,1
    - Dst: hc_put_value
      Src: /src/libspectre/ghostscript/base/scfe.c:100,1
    - Dst: hce_store_state
      Src: /src/libspectre/ghostscript/base/scfe.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - ss
    - q
    - lenv
    - prt
    argTypes:
    - stream_CFE_state*
    - byte*
    - int
    - cf_runs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 103
    functionName: cf_put_long_run
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached:
    - COUNT_RUN
    - hc_put_value
    - hce_load_state
    - hce_store_state
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cf_put_long_run(stream_CFE_state * ss, byte * q, int lenv, const cf_runs * prt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ss
    - ','
    - lenv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: CF_PUT_WHITE_RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_PUT_WHITE_RUN(ss, lenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ss
    - ','
    - lenv
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: CF_PUT_BLACK_RUN
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CF_PUT_BLACK_RUN(ss, lenv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_CFE_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/scfe.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: s_CFE_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached:
    - s_CFE_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_CFE_set_defaults(register stream_state * st)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/scfe.c:144,1
    - Dst: s_hce_init_inline
      Src: /src/libspectre/ghostscript/base/scfe.c:146,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/scfe.c:153,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/scfe.c:154,1
    - Dst: s_CFE_release
      Src: /src/libspectre/ghostscript/base/scfe.c:156,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfe.c:160,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/scfe.c:162,1
    - Dst: s_CFE_release
      Src: /src/libspectre/ghostscript/base/scfe.c:164,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfe.c:170,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 181
    functionName: s_CFE_init
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - ROUND_UP
    - s_CFE_release
    - s_hce_init_inline
    - memset
    linkageType: ''
    returnType: int
    signature: int s_CFE_init(register stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/scfe.c:189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/scfe.c:190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/scfe.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 192
    functionName: s_CFE_release
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_CFE_release(stream_state * st)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/scfe.c:213,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/scfe.c:215,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/scfe.c:221,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/scfe.c:223,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/scfe.c:234,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/scfe.c:238,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/scfe.c:273,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfe.c:276,1
    - Dst: hce_load_state
      Src: /src/libspectre/ghostscript/base/scfe.c:291,1
    - Dst: hc_put_code
      Src: /src/libspectre/ghostscript/base/scfe.c:303,1
    - Dst: hce_store_state
      Src: /src/libspectre/ghostscript/base/scfe.c:304,1
    - Dst: cf_encode_1d
      Src: /src/libspectre/ghostscript/base/scfe.c:309,1
    - Dst: cf_encode_2d
      Src: /src/libspectre/ghostscript/base/scfe.c:311,1
    - Dst: cf_encode_2d
      Src: /src/libspectre/ghostscript/base/scfe.c:313,1
    - Dst: cf_encode_1d
      Src: /src/libspectre/ghostscript/base/scfe.c:315,1
    - Dst: hce_load_state
      Src: /src/libspectre/ghostscript/base/scfe.c:354,1
    - Dst: hc_put_code
      Src: /src/libspectre/ghostscript/base/scfe.c:358,1
    - Dst: hc_put_last_bits
      Src: /src/libspectre/ghostscript/base/scfe.c:360,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/scfe.c:363,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/scfe.c:370,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/scfe.c:373,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/scfe.c:374,1
    - Dst: print_run_stats
      Src: /src/libspectre/ghostscript/base/scfe.c:375,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/scfe.c:376,1
    - Dst: print_run_stats
      Src: /src/libspectre/ghostscript/base/scfe.c:377,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 99
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 199
    functionDepth: 2
    functionLinenumber: 199
    functionLinenumberEnd: 381
    functionName: s_CFE_process
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_debug_c
    - hc_put_code
    - lprintf
    - hce_load_state
    - if_debug6m
    - if_debug9m
    - cf_encode_2d
    - memcpy
    - cf_encode_1d
    - hc_put_last_bits
    - dmlputs
    - if_debug2m
    - hce_store_state
    - print_run_stats
    - min
    linkageType: ''
    returnType: int
    signature: "int s_CFE_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: hce_load_state
      Src: /src/libspectre/ghostscript/base/scfe.c:401,1
    - Dst: skip_white_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:404,1
    - Dst: CF_PUT_WHITE_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:405,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:409,1
    - Dst: CF_PUT_BLACK_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:410,1
    - Dst: hce_store_state
      Src: /src/libspectre/ghostscript/base/scfe.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - ss
    - lbuf
    - pw
    argTypes:
    - stream_CFE_state*
    - byte*
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 414
    functionName: cf_encode_1d
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 1
    functionsReached:
    - skip_black_pixels
    - hce_load_state
    - CF_PUT_BLACK_RUN
    - skip_white_pixels
    - hce_store_state
    - CF_PUT_WHITE_RUN
    linkageType: ''
    returnType: void
    signature: void cf_encode_1d(stream_CFE_state * ss, const byte * lbuf, stream_cursor_write
      * pw)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hce_load_state
      Src: /src/libspectre/ghostscript/base/scfe.c:447,1
    - Dst: skip_white_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:465,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:469,1
    - Dst: skip_white_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:474,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:482,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/scfe.c:486,1
    - Dst: hc_put_value
      Src: /src/libspectre/ghostscript/base/scfe.c:488,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/scfe.c:498,1
    - Dst: hc_put_code
      Src: /src/libspectre/ghostscript/base/scfe.c:500,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfe.c:507,1
    - Dst: hc_put_value
      Src: /src/libspectre/ghostscript/base/scfe.c:508,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/scfe.c:513,1
    - Dst: CF_PUT_WHITE_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:515,1
    - Dst: CF_PUT_BLACK_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:516,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/scfe.c:518,1
    - Dst: CF_PUT_BLACK_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:520,1
    - Dst: CF_PUT_WHITE_RUN
      Src: /src/libspectre/ghostscript/base/scfe.c:521,1
    - Dst: hce_store_state
      Src: /src/libspectre/ghostscript/base/scfe.c:525,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - ss
    - lbuf
    - pw
    - lprev
    argTypes:
    - stream_CFE_state*
    - byte*
    - stream_cursor_write*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 527
    functionName: cf_encode_2d
    functionSourceFile: /src/libspectre/ghostscript/base/scfe.c
    functionUses: 1
    functionsReached:
    - if_debug5m
    - skip_black_pixels
    - hc_put_code
    - if_debug3m
    - hce_load_state
    - CF_PUT_BLACK_RUN
    - hc_put_value
    - skip_white_pixels
    - if_debug4m
    - hce_store_state
    - CF_PUT_WHITE_RUN
    linkageType: ''
    returnType: void
    signature: "void cf_encode_2d(stream_CFE_state * ss, const byte * lbuf, stream_cursor_write
      * pw,\n             const byte * lprev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - state
    - ','
    - chvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: encrypt_next
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: encrypt_next(ch, state, chvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: decrypt_this
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decrypt_this(ch, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ch
    - ','
    - state
    - ','
    - chvar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: decrypt_next
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decrypt_next(ch, state, chvar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: decrypt_skip_next
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decrypt_skip_next(ch, state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ch
    - ','
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: decrypt_skip_previous
    functionSourceFile: /src/libspectre/ghostscript/base/gscrypt1.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: decrypt_skip_previous(ch, state)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:52,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:98,1
    - Dst: gdev_mem_word_device_for_bits
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:101,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:102,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:104,1
    - Dst: shift_mask
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:130,1
    - Dst: shift_mask
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:131,1
    - Dst: shift_mask
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:132,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:141,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:145,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:163,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:165,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:168,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:172,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:176,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:183,1
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:184,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:188,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:199,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:202,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:203,1
    - Dst: gx_device_set_width_height
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:204,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 118
    argCount: 9
    argNames:
    - new_dev
    - pmat
    - width
    - height
    - colors
    - colors_size
    - word_oriented
    - page_device
    - mem
    argTypes:
    - gx_device_memory*
    - gs_matrix*
    - uint
    - uint
    - byte*
    - int
    - bool
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 217
    functionName: gs_initialize_wordimagedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevmem.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - shift_mask
    - gx_device_set_width_height
    - gdev_mem_mono_set_inverted
    - gdev_mem_device_for_bits
    - gs_bbox_transform_inverse
    - is_fzero2
    - gs_make_mem_device
    - memcpy
    - rc_init
    - fabs
    - return_error
    - gdev_mem_word_device_for_bits
    linkageType: ''
    returnType: int
    signature: "int gs_initialize_wordimagedevice(gx_device_memory * new_dev, const
      gs_matrix * pmat,\n              uint width, uint height, const byte * colors,
      int colors_size,\n                    bool word_oriented, bool page_device,
      gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 130
    functionName: shift_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevmem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shift_mask(b,n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:226,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:230,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:242,1
    - Dst: gs_initialize_wordimagedevice
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:243,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevmem.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 9
    argNames:
    - pnew_dev
    - pmat
    - width
    - height
    - colors
    - num_colors
    - word_oriented
    - page_device
    - mem
    argTypes:
    - gx_device**
    - gs_matrix*
    - uint
    - uint
    - byte*
    - int
    - bool
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 252
    functionName: gs_makewordimagedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevmem.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_immovable
    - memset
    - gs_initialize_wordimagedevice
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_makewordimagedevice(gx_device ** pnew_dev, const gs_matrix
      * pmat,\n               uint width, uint height, const byte * colors, int num_colors,\n
      \                   bool word_oriented, bool page_device, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: if_debug0
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug0(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: if_debug1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug1(c,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: if_debug2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug2(c,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: if_debug3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug3(c,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: if_debug4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug4(c,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: if_debug5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug5(c,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: if_debug6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug6(c,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: if_debug7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug7(c,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: if_debug8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug8(c,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: if_debug9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug9(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: if_debug10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug10(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: if_debug11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug11(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: if_debug12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug12(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: dbgprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: dbgprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf1(s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: dbgprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf2(s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: dbgprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf3(s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: dbgprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf4(s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: dbgprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf5(s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 139
    functionName: dbgprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf6(s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: dbgprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf7(s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: dbgprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf8(s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: dbgprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf9(s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    functionName: dbgprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf10(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: dbgprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf11(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: dbgprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf12(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: if_debug0
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug0(c,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: if_debug1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug1(c,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: if_debug2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug2(c,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: if_debug3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug3(c,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: if_debug4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug4(c,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: if_debug5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug5(c,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: if_debug6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug6(c,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: if_debug7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug7(c,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: if_debug8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug8(c,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: if_debug9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug9(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: if_debug10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug10(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: if_debug11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug11(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - c
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: if_debug12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug12(c,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: dbgprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: dbgprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf1(s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: dbgprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf2(s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: dbgprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf3(s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 172
    functionName: dbgprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf4(s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: dbgprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf5(s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: dbgprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf6(s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: dbgprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf7(s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: dbgprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf8(s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: dbgprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf9(s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: dbgprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf10(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: dbgprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf11(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: dbgprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgprintf12(s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: if_debug0m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug0m(c,m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: if_debug1m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug1m(c,m,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: if_debug2m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug2m(c,m,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: if_debug3m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug3m(c,m,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: if_debug4m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug4m(c,m,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: if_debug5m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug5m(c,m,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: if_debug6m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug6m(c,m,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: if_debug7m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug7m(c,m,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: if_debug8m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug8m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: if_debug9m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug9m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: if_debug10m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug10m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: if_debug11m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug11m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: if_debug12m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug12m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: dbgmprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf(m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: dbgmprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf1(m,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: dbgmprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf2(m,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: dbgmprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf3(m,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: dbgmprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf4(m,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: dbgmprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf5(m,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    functionName: dbgmprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf6(m,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: dbgmprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf7(m,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: dbgmprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf8(m,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 230
    functionName: dbgmprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf9(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 232
    functionName: dbgmprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf10(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 234
    functionName: dbgmprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf11(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 236
    functionName: dbgmprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf12(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: if_debug0m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 74
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug0m(c,m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: if_debug1m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 83
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug1m(c,m,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: if_debug2m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 80
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug2m(c,m,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: if_debug3m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 34
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug3m(c,m,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: if_debug4m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug4m(c,m,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: if_debug5m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug5m(c,m,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 245
    functionName: if_debug6m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug6m(c,m,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 246
    functionName: if_debug7m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug7m(c,m,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: if_debug8m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug8m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: if_debug9m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug9m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: if_debug10m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug10m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: if_debug11m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug11m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - c
    - ','
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: if_debug12m
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug12m(c,m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    functionName: dbgmprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf(m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    functionName: dbgmprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf1(m,s,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: dbgmprintf2
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf2(m,s,a1,a2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: dbgmprintf3
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf3(m,s,a1,a2,a3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: dbgmprintf4
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf4(m,s,a1,a2,a3,a4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 258
    functionName: dbgmprintf5
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf5(m,s,a1,a2,a3,a4,a5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 259
    functionName: dbgmprintf6
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf6(m,s,a1,a2,a3,a4,a5,a6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 260
    functionName: dbgmprintf7
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf7(m,s,a1,a2,a3,a4,a5,a6,a7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 261
    functionName: dbgmprintf8
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf8(m,s,a1,a2,a3,a4,a5,a6,a7,a8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: dbgmprintf9
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf9(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 25
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 263
    functionName: dbgmprintf10
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf10(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: dbgmprintf11
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf11(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - a1
    - ','
    - a2
    - ','
    - a3
    - ','
    - a4
    - ','
    - a5
    - ','
    - a6
    - ','
    - a7
    - ','
    - a8
    - ','
    - a9
    - ','
    - a10
    - ','
    - a11
    - ','
    - a12
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: dbgmprintf12
    functionSourceFile: /src/libspectre/ghostscript/base/gdebug.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dbgmprintf12(m,s,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: declare_scan_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_scan_ptr(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - ptype
    - ','
    - draster
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 65
    functionName: DECLARE_SCAN_PTR_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_SCAN_PTR_VARS(ptr, ptype, draster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: setup_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setup_rect(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - ptype
    - ','
    - draster
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: SETUP_RECT_VARS
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETUP_RECT_VARS(ptr, ptype, draster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - map_rgb_color
    - ','
    - map_color_rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    functionName: declare_mem_map_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_mem_map_procs(map_rgb_color, map_color_rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - copy_mono
    - ','
    - copy_color
    - ','
    - fill_rectangle
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 84
    functionName: declare_mem_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_mem_procs(copy_mono, copy_color, fill_rectangle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rgb_depth
    - ','
    - gray_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    functionName: max_value_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max_value_gray(rgb_depth, gray_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rgb_depth
    - ','
    - gray_depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: max_value_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max_value_rgb(rgb_depth, gray_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - name
    - ','
    - rgb_depth
    - ','
    - gray_depth
    - ','
    - open
    - ','
    - map_rgb_color
    - ','
    - map_color_rgb
    - ','
    - copy_mono
    - ','
    - copy_color
    - ','
    - fill_rectangle
    - ','
    - map_cmyk_color
    - ','
    - copy_alpha
    - ','
    - strip_tile_rectangle
    - ','
    - strip_copy_rop
    - ','
    - get_bits_rectangle
    - ','
    - fill_rectangle_hl_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: mem_full_alpha_device_hl
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mem_full_alpha_device_hl(name, rgb_depth, gray_depth, open, map_rgb_color,
      map_color_rgb, copy_mono, copy_color, fill_rectangle, map_cmyk_color, copy_alpha,
      strip_tile_rectangle, strip_copy_rop, get_bits_rectangle, fill_rectangle_hl_color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - mdev
    - ','
    - base
    - ','
    - sourcex
    - ','
    - sraster
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: mem_copy_byte_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mem_copy_byte_rect(mdev, base, sourcex, sraster, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: T
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 788
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: T(t0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t0
    - ','
    - t1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: TT
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TT(t0,t1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: F
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(f0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t0
    - ','
    - f0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: TF
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TF(t0, f0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t0
    - ','
    - t1
    - ','
    - f0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: TTF
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTF(t0, t1, f0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t0
    - ','
    - f0
    - ','
    - f1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: TFF
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TFF(t0, f0, f1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t0
    - ','
    - t1
    - ','
    - f0
    - ','
    - f1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: TTFF
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TTFF(t0, t1, f0, f1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t0
    - ','
    - t1
    - ','
    - f0
    - ','
    - f1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ANYTTFF
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ANYTTFF(t0, t1, f0, f1)
  - BBCount: 697
    BranchProfiles: []
    Callsites:
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:151,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:164,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:165,1
    - Dst: TTF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:170,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:194,1
    - Dst: TFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:195,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:200,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:222,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:223,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:228,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:240,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:241,1
    - Dst: TTF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:246,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:262,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:263,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:268,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:290,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:291,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:296,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:312,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:313,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:318,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:342,1
    - Dst: TFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:343,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:348,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:370,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:371,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:376,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:408,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:409,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:414,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:446,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:447,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:452,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:488,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:490,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:513,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:513,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:531,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:552,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:553,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:558,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:582,1
    - Dst: TFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:583,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:588,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:608,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:610,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:641,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:642,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:647,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:661,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:661,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:682,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:683,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:688,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:708,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:710,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:741,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:742,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:747,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:761,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:761,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:791,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:807,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:808,1
    - Dst: TTF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:813,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:829,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:830,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:835,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:871,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:873,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:902,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:903,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:908,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:924,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:925,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:930,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:954,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:954,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:978,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:997,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1016,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1018,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1031,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1048,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1050,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1104,1
    - Dst: TFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1105,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1110,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1130,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1132,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1154,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1156,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1192,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1193,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1198,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1212,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1212,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1226,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1286,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1287,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1292,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1304,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1320,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1320,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1353,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1365,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1366,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1371,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1383,1
    - Dst: F
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1393,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1414,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1415,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1420,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1440,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1442,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1482,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1483,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1488,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1502,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1502,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1518,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1520,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1564,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1564,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1610,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1621,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1622,1
    - Dst: TTF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1627,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1649,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1651,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1668,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1669,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1674,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1696,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1698,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1719,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1721,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1734,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1746,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1748,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1770,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1790,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1811,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1812,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1817,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1833,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1833,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1850,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1851,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1856,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1872,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1872,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1904,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1924,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1925,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1930,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1962,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1964,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:1991,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2024,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2026,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2089,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2090,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2095,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2120,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2122,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2140,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2140,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2172,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2182,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2183,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2188,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2197,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2241,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2242,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2247,1
    - Dst: TTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2260,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2262,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2278,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2278,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2309,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2321,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2330,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2351,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2352,1
    - Dst: TF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2357,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2382,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2382,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2409,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2423,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2435,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2436,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2441,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2450,1
    - Dst: T
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2462,1
    - Dst: TT
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2481,1
    - Dst: ANYTTFF
      Src: /src/libspectre/ghostscript/base/simscale_foo.c:2481,1
    CyclomaticComplexity: 199
    EdgeCount: 199
    ICount: 1220
    argCount: 1
    argNames:
    - v5x5
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 2507
    functionName: imscale_foo
    functionSourceFile: /src/libspectre/ghostscript/base/simscale_foo.c
    functionUses: 0
    functionsReached:
    - T
    - ANYTTFF
    - TF
    - TTFF
    - TFF
    - F
    - TT
    - TTF
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int imscale_foo(unsigned int v5x5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: public_st_device_cpath_accum
    functionSourceFile: /src/libspectre/ghostscript/base/gzacpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_cpath_accum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - err
    - ','
    - file
    - ','
    - line
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: gs_log_error
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_log_error(err, file, line)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: gs_note_error
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_note_error(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: return_error
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 858
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_error(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: gs_note_error
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_note_error(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: return_error
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 858
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_error(err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmtarg
    - ','
    - firstvararg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: __printflike
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __printflike(fmtarg, firstvararg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    functionName: gs_throw_code
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw_code(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: gs_throw
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    functionName: gs_throw1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: gs_throw2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: gs_throw3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: gs_throw4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: gs_throw5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: gs_throw6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 189
    functionName: gs_throw7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: gs_throw8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: gs_throw9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: gs_rethrow_code
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow_code(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 201
    functionName: gs_rethrow
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: gs_rethrow1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 205
    functionName: gs_rethrow2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: gs_rethrow3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: gs_rethrow4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    functionName: gs_rethrow5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 213
    functionName: gs_rethrow6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    functionName: gs_rethrow7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: gs_rethrow8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 219
    functionName: gs_rethrow9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: gs_catch
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 227
    functionName: gs_catch1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: gs_catch2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    functionName: gs_catch3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 233
    functionName: gs_catch4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: gs_catch5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: gs_catch6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 239
    functionName: gs_catch7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 241
    functionName: gs_catch8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: gs_catch9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 248
    functionName: gs_warn
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 250
    functionName: gs_warn1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn1(fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 252
    functionName: gs_warn2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn2(fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: gs_warn3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn3(fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: gs_warn4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn4(fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: gs_warn5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn5(fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: gs_warn6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn6(fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: gs_warn7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn7(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: gs_warn8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn8(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: gs_warn9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn9(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: gs_throw_code
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw_code(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 277
    functionName: gs_throw
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: gs_throw1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: gs_throw2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: gs_throw3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: gs_throw4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: gs_throw5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: gs_throw6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: gs_throw7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: gs_throw8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 295
    functionName: gs_throw9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_throw9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 300
    functionName: gs_rethrow_code
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow_code(code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    functionName: gs_rethrow
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    functionName: gs_rethrow1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: gs_rethrow2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 309
    functionName: gs_rethrow3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 311
    functionName: gs_rethrow4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: gs_rethrow5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 315
    functionName: gs_rethrow6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 317
    functionName: gs_rethrow7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 319
    functionName: gs_rethrow8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 321
    functionName: gs_rethrow9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_rethrow9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - code
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 327
    functionName: gs_catch
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch(code, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 329
    functionName: gs_catch1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch1(code, fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 331
    functionName: gs_catch2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch2(code, fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: gs_catch3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch3(code, fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 335
    functionName: gs_catch4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch4(code, fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: gs_catch5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch5(code, fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 339
    functionName: gs_catch6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch6(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 341
    functionName: gs_catch7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch7(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 343
    functionName: gs_catch8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch8(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - code
    - ','
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: gs_catch9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_catch9(code, fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8,
      arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 348
    functionDepth: 0
    functionLinenumber: 348
    functionLinenumberEnd: 350
    functionName: gs_warn
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: gs_warn1
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn1(fmt, arg1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 352
    functionDepth: 0
    functionLinenumber: 352
    functionLinenumberEnd: 354
    functionName: gs_warn2
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn2(fmt, arg1, arg2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: gs_warn3
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn3(fmt, arg1, arg2, arg3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 358
    functionName: gs_warn4
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn4(fmt, arg1, arg2, arg3, arg4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: gs_warn5
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn5(fmt, arg1, arg2, arg3, arg4, arg5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: gs_warn6
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn6(fmt, arg1, arg2, arg3, arg4, arg5, arg6)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: gs_warn7
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn7(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: gs_warn8
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn8(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - fmt
    - ','
    - arg1
    - ','
    - arg2
    - ','
    - arg3
    - ','
    - arg4
    - ','
    - arg5
    - ','
    - arg6
    - ','
    - arg7
    - ','
    - arg8
    - ','
    - arg9
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: gs_warn9
    functionSourceFile: /src/libspectre/ghostscript/base/gserrors.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_warn9(fmt, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: gx_semaphore_label
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_semaphore_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: gx_semaphore_wait
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_semaphore_wait(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: gx_semaphore_signal
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_semaphore_signal(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: gx_monitor_label
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_monitor_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: gx_monitor_enter
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_monitor_enter(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sema
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: gx_monitor_leave
    functionSourceFile: /src/libspectre/ghostscript/base/gxsync.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_monitor_leave(sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    functionName: gs_memory_t_proc_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_alloc_bytes(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: gs_alloc_bytes_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_bytes_immovable(mem, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 126
    functionName: gs_memory_t_proc_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_resize_object(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - obj
    - ','
    - newn
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: gs_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_resize_object(mem, obj, newn, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: gs_memory_t_proc_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_free_object(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: gs_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 433
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free_object(mem, data, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    functionName: gs_memory_t_proc_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_status(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - pst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: gs_memory_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_status(mem, pst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    functionName: gs_memory_t_proc_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_stable(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: gs_memory_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_stable(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: gs_memory_t_proc_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_free_all(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - free_mask
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 191
    functionName: gs_memory_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_free_all(mem, free_mask, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: gs_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free_all(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 203
    functionName: gs_memory_t_proc_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_memory_t_proc_consolidate_free(proc, mem_t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: gs_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_consolidate_free(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem_t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: gs_raw_memory_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemraw.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_raw_memory_procs(mem_t)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sdeparam.c:76,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdeparam.c:81,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdeparam.c:85,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/sdeparam.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 7
    argNames:
    - plist
    - key
    - num_colors
    - jcdp
    - mem
    - is_vert
    - all
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int
    - jpeg_compress_data*
    - gs_memory_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 89
    functionName: dcte_get_samples
    functionSourceFile: /src/libspectre/ghostscript/base/sdeparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - param_write_int_array
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int dcte_get_samples(gs_param_list * plist, gs_param_name key, int
      num_colors,\n const jpeg_compress_data * jcdp, gs_memory_t * mem, bool is_vert,
      bool all)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/sdeparam.c:102,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdeparam.c:105,1
    - Dst: gs_jpeg_create_compress
      Src: /src/libspectre/ghostscript/base/sdeparam.c:110,1
    - Dst: s_DCT_get_params
      Src: /src/libspectre/ghostscript/base/sdeparam.c:125,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/base/sdeparam.c:126,1
    - Dst: dcte_get_samples
      Src: /src/libspectre/ghostscript/base/sdeparam.c:129,1
    - Dst: dcte_get_samples
      Src: /src/libspectre/ghostscript/base/sdeparam.c:131,1
    - Dst: s_DCT_get_quantization_tables
      Src: /src/libspectre/ghostscript/base/sdeparam.c:133,1
    - Dst: s_DCT_get_huffman_tables
      Src: /src/libspectre/ghostscript/base/sdeparam.c:134,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/base/sdeparam.c:139,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sdeparam.c:140,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - plist
    - ss
    - all
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 91
    functionDepth: 6
    functionLinenumber: 91
    functionLinenumberEnd: 144
    functionName: s_DCTE_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdeparam.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_create_compress
    - s_DCT_get_huffman_tables
    - s_DCT_get_params
    - gs_alloc_struct_immovable
    - gs_jpeg_destroy
    - dcte_get_samples
    - gs_param_write_items
    - s_DCT_get_quantization_tables
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_DCTE_get_params(gs_param_list * plist, const stream_DCT_state
      * ss, bool all)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: s_DCT_byte_params
      Src: /src/libspectre/ghostscript/base/sdeparam.c:164,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdeparam.c:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 5
    argNames:
    - plist
    - key
    - num_colors
    - jcdp
    - is_vert
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int
    - jpeg_compress_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 183
    functionName: dcte_put_samples
    functionSourceFile: /src/libspectre/ghostscript/base/sdeparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - s_DCT_byte_params
    linkageType: ''
    returnType: int
    signature: "int dcte_put_samples(gs_param_list * plist, gs_param_name key, int
      num_colors,\n                 jpeg_compress_data * jcdp, bool is_vert)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/base/sdeparam.c:199,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdeparam.c:208,1
    - Dst: s_DCT_put_params
      Src: /src/libspectre/ghostscript/base/sdeparam.c:211,1
    - Dst: gs_jpeg_set_defaults
      Src: /src/libspectre/ghostscript/base/sdeparam.c:230,1
    - Dst: s_DCT_put_huffman_tables
      Src: /src/libspectre/ghostscript/base/sdeparam.c:232,1
    - Dst: s_DCT_put_quantization_tables
      Src: /src/libspectre/ghostscript/base/sdeparam.c:234,1
    - Dst: gs_jpeg_set_linear_quality
      Src: /src/libspectre/ghostscript/base/sdeparam.c:242,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sdeparam.c:243,1
    - Dst: gs_jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/base/sdeparam.c:258,1
    - Dst: gs_jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/base/sdeparam.c:267,1
    - Dst: gs_jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/base/sdeparam.c:271,1
    - Dst: dcte_put_samples
      Src: /src/libspectre/ghostscript/base/sdeparam.c:283,1
    - Dst: dcte_put_samples
      Src: /src/libspectre/ghostscript/base/sdeparam.c:285,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sdeparam.c:301,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 84
    argCount: 2
    argNames:
    - plist
    - pdct
    argTypes:
    - gs_param_list*
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 186
    functionDepth: 6
    functionLinenumber: 186
    functionLinenumberEnd: 310
    functionName: s_DCTE_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/sdeparam.c
    functionUses: 1
    functionsReached:
    - s_DCT_put_quantization_tables
    - s_DCT_put_params
    - s_DCT_put_huffman_tables
    - gs_jpeg_set_linear_quality
    - gs_jpeg_set_colorspace
    - return_error
    - gs_param_read_items
    - gs_jpeg_set_defaults
    - min
    - dcte_put_samples
    linkageType: ''
    returnType: int
    signature: int s_DCTE_put_params(gs_param_list * plist, stream_DCT_state * pdct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: private_st_cached_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cached_fm_pair()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 79
    functionName: private_st_cached_fm_pair_elt
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cached_fm_pair_elt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: fm_pair_is_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fm_pair_is_free(pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: fm_pair_set_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fm_pair_set_free(pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: fm_pair_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fm_pair_init(pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: cc_head_is_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_head_is_free(cch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    functionName: cc_head_set_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_head_set_free(cch)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    functionName: cc_depth
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_depth(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cc
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: cc_set_depth
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_set_depth(cc, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 134
    functionName: cc_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_pair(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: cc_set_pair_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_set_pair_only(cc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: cc_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_raster(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cc
    - ','
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: cc_set_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_set_raster(cc, r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: cc_is_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_is_free(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: cc_set_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_set_free(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    functionName: cc_set_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_set_pair(cc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: cc_has_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_has_bits(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 178
    functionName: private_st_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cached_char()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    functionName: private_st_cached_char_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cached_char_ptr()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 185
    functionName: private_st_cached_char_ptr_elt
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cached_char_ptr_elt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 193
    functionName: cc_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_bits(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 194
    functionName: cc_const_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cc_const_bits(cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - glyph
    - ','
    - pair
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 198
    functionName: chars_head_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chars_head_index(glyph, pair)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 271
    functionName: private_st_font_dir
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_font_dir()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    functionName: font_dir_do_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gxfcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: font_dir_do_ptrs(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - p
    - n
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 37
    functionName: bytes2int
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong bytes2int(const byte *p, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:87,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:88,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:89,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:90,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:91,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:92,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - str
    - key_lo
    - key_hi
    - key_size
    argTypes:
    - byte*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: print_msg_str_in_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - debug_print_string_hex_nomem
    linkageType: ''
    returnType: void
    signature: "void print_msg_str_in_range(const byte *str,\n                       const
      byte *key_lo, const byte *key_hi,\n                       int key_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pcmap
    - pfidx
    argTypes:
    - gx_code_map_t*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 114
    functionName: gs_cmap_get_shortest_chr
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_cmap_get_shortest_chr(const gx_code_map_t * pcmap, uint *pfidx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:133,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:134,1
    - Dst: print_msg_str_in_range
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:135,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - key_str
    - key_lo
    - key_hi
    - key_size
    argTypes:
    - byte*
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 149
    functionName: gs_multidim_CID_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - print_msg_str_in_range
    - if_debug1
    - gs_debug_c
    linkageType: ''
    returnType: int
    signature: "int gs_multidim_CID_offset(const byte *key_str,\n                        const
      byte *key_lo, const byte *key_hi,\n                        int key_size)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:188,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:189,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:190,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:191,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:225,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:226,1
    - Dst: print_msg_str_in_range
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:227,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:234,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:243,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:244,1
    - Dst: print_msg_str_in_range
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:245,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:271,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:272,1
    - Dst: print_msg_str_in_range
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:273,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:286,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:300,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:307,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:308,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:309,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:310,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:318,1
    - Dst: gs_multidim_CID_offset
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:319,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:324,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:327,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:331,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:332,1
    - Dst: bytes2int
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:333,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:336,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:348,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:349,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:350,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:351,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 92
    argCount: 6
    argNames:
    - pcmap
    - pstr
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gx_code_map_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 357
    functionName: code_map_decode_next_multidim_regime
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - debug_print_string_hex_nomem
    - if_debug0
    - gs_debug_c
    - dlprintf
    - gs_multidim_CID_offset
    - dlprintf3
    - return_error
    - print_msg_str_in_range
    - bytes2int
    linkageType: ''
    returnType: int
    signature: "int code_map_decode_next_multidim_regime(const gx_code_map_t * pcmap,\n
      \                    const gs_const_string * pstr,\n                     uint
      * pindex, uint * pfidx,\n                     gs_char * pchr, gs_glyph * pglyph)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:381,1
    - Dst: code_map_decode_next_multidim_regime
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:383,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:395,1
    - Dst: code_map_decode_next_multidim_regime
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:398,1
    - Dst: gs_cmap_get_shortest_chr
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:431,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:439,1
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:441,1
    - Dst: debug_print_string_hex_nomem
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:443,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:444,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:456,1
    - Dst: dlprintf2
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:457,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 6
    argNames:
    - pcmap_in
    - pstr
    - pindex
    - pfidx
    - pchr
    - pglyph
    argTypes:
    - gs_cmap_t*
    - gs_const_string*
    - uint*
    - uint*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 367
    functionDepth: 4
    functionLinenumber: 367
    functionLinenumberEnd: 467
    functionName: gs_cmap_adobe1_decode_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - debug_print_string_hex_nomem
    - gs_cmap_get_shortest_chr
    - if_debug0
    - gs_debug_c
    - dlprintf
    - code_map_decode_next_multidim_regime
    - dlprintf2
    - dlprintf1
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_adobe1_decode_next(const gs_cmap_t * pcmap_in,\n                           const
      gs_const_string * pstr,\n                           uint * pindex, uint * pfidx,\n
      \                          gs_char * pchr, gs_glyph * pglyph)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 486
    functionName: adobe1_next_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int adobe1_next_range(gs_cmap_ranges_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_ranges_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcmap
    - pre
    argTypes:
    - gs_cmap_t*
    - gs_cmap_ranges_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 490
    functionDepth: 1
    functionLinenumber: 490
    functionLinenumberEnd: 494
    functionName: gs_cmap_adobe1_enum_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - gs_cmap_ranges_enum_setup
    linkageType: ''
    returnType: void
    signature: void gs_cmap_adobe1_enum_ranges(const gs_cmap_t *pcmap, gs_cmap_ranges_enum_t
      *pre)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - penum
    - pcm
    argTypes:
    - gs_cmap_lookups_enum_t*
    - gx_code_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 511
    functionName: adobe1_next_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int adobe1_next_lookup(gs_cmap_lookups_enum_t *penum, const gx_code_map_t
      *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adobe1_next_lookup
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: adobe1_next_lookup_def
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - adobe1_next_lookup
    linkageType: ''
    returnType: int
    signature: int adobe1_next_lookup_def(gs_memory_t *mem, gs_cmap_lookups_enum_t
      *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adobe1_next_lookup
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - penum
    argTypes:
    - gs_memory_t*
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 523
    functionName: adobe1_next_lookup_notdef
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - adobe1_next_lookup
    linkageType: ''
    returnType: int
    signature: int adobe1_next_lookup_notdef(gs_memory_t *mem, gs_cmap_lookups_enum_t
      *penum)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:538,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:540,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:541,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - penum
    - pcm
    argTypes:
    - gs_cmap_lookups_enum_t*
    - gx_code_map_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 548
    functionName: adobe1_next_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    linkageType: ''
    returnType: int
    signature: int adobe1_next_entry(gs_cmap_lookups_enum_t *penum, const gx_code_map_t
      *pcm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adobe1_next_entry
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: adobe1_next_entry_def
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - adobe1_next_entry
    linkageType: ''
    returnType: int
    signature: int adobe1_next_entry_def(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adobe1_next_entry
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: adobe1_next_entry_notdef
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - adobe1_next_entry
    linkageType: ''
    returnType: int
    signature: int adobe1_next_entry_notdef(gs_cmap_lookups_enum_t *penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_lookups_enum_setup
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcmap
    - which
    - pre
    argTypes:
    - gs_cmap_t*
    - int
    - gs_cmap_lookups_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 574
    functionName: gs_cmap_adobe1_enum_lookups
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - gs_cmap_lookups_enum_setup
    linkageType: ''
    returnType: void
    signature: "void gs_cmap_adobe1_enum_lookups(const gs_cmap_t *pcmap, int which,\n
      \                           gs_cmap_lookups_enum_t *pre)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:593,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:597,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:602,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:605,1
    - Dst: gs_cmap_alloc
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:607,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:613,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:614,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:615,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:616,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:617,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsfcmap1.c:624,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 11
    argNames:
    - ppcmap
    - wmode
    - map_name
    - name_size
    - num_fonts
    - num_ranges
    - num_lookups
    - keys_size
    - values_size
    - pcidsi_in
    - mem
    argTypes:
    - gs_cmap_adobe1_t**
    - int
    - byte*
    - uint
    - uint
    - uint
    - uint
    - uint
    - uint
    - gs_cid_system_info_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 638
    functionName: gs_cmap_adobe1_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsfcmap1.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_byte_array
    - return_error
    - gs_cmap_alloc
    - gs_free_string
    - memset
    - gs_alloc_string
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_cmap_adobe1_alloc(gs_cmap_adobe1_t **ppcmap, int wmode,\n                     const
      byte *map_name, uint name_size,\n                     uint num_fonts, uint num_ranges,
      uint num_lookups,\n                     uint keys_size, uint values_size,\n
      \                    const gs_cid_system_info_t *pcidsi_in, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - ppt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: gx_stroke_expansion
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_stroke_expansion(pgs, ppt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ppath
    - ','
    - dev
    - ','
    - pgs
    - ','
    - params
    - ','
    - pdevc
    - ','
    - pcpath
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: gx_fill_path_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_fill_path_only(ppath, dev, pgs, params, pdevc, pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:49,1
    - Dst: gx_device_reloc_ptr
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - edev
    argTypes:
    - gx_device_plane_extract*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 1
    functionsReached:
    - gx_device_reloc_ptr
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_plane_extract_reloc_ptrs, gx_device_plane_extract
      *edev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - edev
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: COLOR_PIXEL
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COLOR_PIXEL(edev, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - edev
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    functionName: TRANS_COLOR_PIXEL
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TRANS_COLOR_PIXEL(edev, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - edev
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 180
    functionName: REDUCE_PURE
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REDUCE_PURE(edev, pixel)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:187,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:188,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:188,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:190,1
    - Dst: REDUCE_PURE
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:191,1
    - Dst: gx_dc_is_binary_halftone
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:192,1
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:194,1
    - Dst: gx_dc_binary_color0
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:194,1
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:196,1
    - Dst: gx_dc_binary_color1
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:196,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:199,1
    - Dst: REDUCE_PURE
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:200,1
    - Dst: color_is_colored_halftone
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:208,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:213,1
    - Dst: gx_devn_reduce_colored_halftone
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:220,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:221,1
    - Dst: REDUCE_PURE
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:222,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:222,1
    - Dst: gx_devn_reduce_colored_halftone
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:226,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:228,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:230,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:231,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:251,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:257,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:258,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:260,1
    - Dst: gx_dc_binary_color0
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:263,1
    - Dst: gx_dc_binary_color1
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:264,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 4
    argNames:
    - ppdc
    - edev
    - pdevc
    - plop
    argTypes:
    - gx_device_color*
    - gx_device_plane_extract*
    - gx_drawing_color*
    - gs_logical_operation_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 271
    functionName: reduce_drawing_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_dc_binary_color1
    - countof
    - color_is_colored_halftone
    - gx_device_white
    - gx_dc_is_pure
    - gx_dc_binary_color0
    - TRANS_COLOR_PIXEL
    - COLOR_PIXEL
    - gx_dc_pure_color
    - gx_color_load
    - REDUCE_PURE
    - gx_dc_is_binary_halftone
    - gx_devn_reduce_colored_halftone
    - set_nonclient_dev_color
    linkageType: ''
    returnType: reduced_color_t
    signature: "reduced_color_t reduce_drawing_color(gx_device_color *ppdc, gx_device_plane_extract
      *edev,\n                     const gx_drawing_color *pdevc,\n                     gs_logical_operation_t
      *plop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bits_extract_plane
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - pts
    argTypes:
    - tiling_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 332
    functionName: extract_partial_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - bits_extract_plane
    linkageType: ''
    returnType: int
    signature: int extract_partial_tile(const tiling_state_t *pts)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:344,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:373,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 10
    argNames:
    - pts
    - edev
    - data
    - data_x
    - raster
    - width
    - height
    - local_buffer
    - buffer_size
    - partial_ok
    argTypes:
    - tiling_state_t*
    - gx_device_plane_extract*
    - byte*
    - int
    - uint
    - int
    - int
    - byte*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 385
    functionName: begin_tiling
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - return_error
    - bitmap_raster
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int begin_tiling(tiling_state_t *pts, gx_device_plane_extract *edev,\n
      \   const byte *data, int data_x, uint raster, int width, int height,\n    byte
      *local_buffer, uint buffer_size, bool partial_ok)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pts
    argTypes:
    - tiling_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 403
    functionName: next_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool next_tile(tiling_state_t *pts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pts
    argTypes:
    - tiling_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: end_tiling
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void end_tiling(tiling_state_t *pts)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:423,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:424,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:427,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:428,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:429,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:430,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:432,1
    - Dst: plane_open_device
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:434,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:436,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 5
    argNames:
    - edev
    - target
    - plane_dev
    - render_plane
    - clear
    argTypes:
    - gx_device_plane_extract*
    - gx_device*
    - gx_device*
    - gx_render_plane_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 442
    functionName: plane_device_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 1
    functionsReached:
    - plane_open_device
    - gx_device_retain
    - gx_device_set_target
    - gx_device_forward_fill_in_procs
    - check_device_separable
    - return_error
    - dev_proc
    - gx_device_copy_params
    - gx_device_init
    linkageType: ''
    returnType: int
    signature: "int plane_device_init(gx_device_plane_extract *edev, gx_device *target,\n
      \   gx_device *plane_dev, const gx_render_plane_t *render_plane, bool clear)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:453,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:455,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:458,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: plane_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 1
    functionsReached:
    - gdev_mem_device_for_bits
    - gx_device_white
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int plane_open_device(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:469,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 477
    functionName: plane_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - COLOR_PIXEL
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_fill_rectangle(gx_device *dev,\n    int x, int y, int w,
      int h, gx_color_index color)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:487,1
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:488,1
    - Dst: plane_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:491,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:499,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 501
    functionName: plane_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - TRANS_COLOR_PIXEL
    - plane_fill_rectangle
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_copy_mono(gx_device *dev,\n    const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int w, int h,\n    gx_color_index
      color0, gx_color_index color1)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:518,1
    - Dst: begin_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:519,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:520,1
    - Dst: extract_partial_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:525,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:526,1
    - Dst: begin_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:530,1
    - Dst: extract_partial_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:535,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:536,1
    - Dst: next_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:540,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:541,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 503
    functionDepth: 3
    functionLinenumber: 503
    functionLinenumberEnd: 544
    functionName: plane_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - next_tile
    - scan_line_base
    - fit_copy
    - extract_partial_tile
    - end_tiling
    - dev_proc
    - begin_tiling
    linkageType: ''
    returnType: int
    signature: "int plane_copy_color(gx_device *dev,\n    const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int w, int h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:553,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:559,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 561
    functionName: plane_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - COLOR_PIXEL
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_copy_alpha(gx_device *dev, const byte *data, int data_x,\n
      \   int raster, gx_bitmap_id id, int x, int y, int w, int h,\n    gx_color_index
      color, int depth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:572,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:576,1
    - Dst: gs_set_logical_op
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:585,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:588,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 563
    functionDepth: 7
    functionLinenumber: 563
    functionLinenumberEnd: 594
    functionName: plane_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    - gs_current_logical_op
    - reduce_drawing_color
    - gs_set_logical_op
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_fill_path(gx_device *dev,\n    const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_fill_params *params,\n    const gx_drawing_color *pdevc,
      const gx_clip_path *pcpath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:605,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:609,1
    - Dst: gs_set_logical_op
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:618,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:621,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:625,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 627
    functionName: plane_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gs_current_logical_op
    - gx_default_stroke_path
    - reduce_drawing_color
    - gs_set_logical_op
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_stroke_path(gx_device *dev,\n    const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_stroke_params *params,\n    const gx_drawing_color *pdevc,
      const gx_clip_path *pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:640,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:644,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 629
    functionDepth: 3
    functionLinenumber: 629
    functionLinenumberEnd: 651
    functionName: plane_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - reduce_drawing_color
    - dev_proc
    - gx_default_fill_mask
    linkageType: ''
    returnType: int
    signature: "int plane_fill_mask(gx_device *dev,\n    const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int w, int h,\n    const gx_drawing_color
      *pdcolor, int depth,\n    gs_logical_operation_t lop, const gx_clip_path *pcpath)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:662,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:666,1
    - Dst: gx_default_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 653
    functionDepth: 3
    functionLinenumber: 653
    functionLinenumberEnd: 672
    functionName: plane_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_parallelogram
    - reduce_drawing_color
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_fill_parallelogram(gx_device * dev,\n    fixed px, fixed
      py, fixed ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color * pdcolor,
      gs_logical_operation_t lop)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:683,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:687,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:690,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 693
    functionName: plane_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - reduce_drawing_color
    - dev_proc
    - gx_default_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int plane_fill_triangle(gx_device * dev,\n    fixed px, fixed py,
      fixed ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color * pdcolor,
      gs_logical_operation_t lop)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:703,1
    - Dst: TRANS_COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:704,1
    - Dst: plane_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:708,1
    - Dst: begin_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:715,1
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:720,1
    - Dst: extract_partial_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:722,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:727,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:730,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:742,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 695
    functionDepth: 3
    functionLinenumber: 695
    functionLinenumberEnd: 744
    functionName: plane_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - plane_fill_rectangle
    - extract_partial_tile
    - TRANS_COLOR_PIXEL
    - end_tiling
    - dev_proc
    - begin_tiling
    linkageType: ''
    returnType: int
    signature: "int plane_strip_tile_rectangle(gx_device *dev,\n    const gx_strip_bitmap
      *tiles, int x, int y, int w, int h,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:756,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:770,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:774,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:775,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:782,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:786,1
    - Dst: COLOR_PIXEL
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:787,1
    - Dst: begin_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:795,1
    - Dst: gx_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:798,1
    - Dst: begin_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:806,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:812,1
    - Dst: extract_partial_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:821,1
    - Dst: extract_partial_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:824,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:825,1
    - Dst: next_tile
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:829,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:831,1
    - Dst: end_tiling
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:833,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 57
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 746
    functionDepth: 3
    functionLinenumber: 746
    functionLinenumberEnd: 835
    functionName: plane_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - next_tile
    - dev_proc
    - rop3_uses_T
    - rop3_uses_S
    - extract_partial_tile
    - COLOR_PIXEL
    - end_tiling
    - gx_default_strip_copy_rop
    - begin_tiling
    linkageType: ''
    returnType: int
    signature: "int plane_strip_copy_rop(gx_device *dev,\n    const byte *sdata, int
      sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n
      \   const gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int
      x, int y, int w, int h,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:869,1
    - Dst: gx_remap_concrete_gray
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:872,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - gray
    - pdc
    - pgs_image
    - dev
    - select
    argTypes:
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 875
    functionName: plane_cmap_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_gray
    - reduce_drawing_color
    - gs_current_logical_op_inline
    linkageType: ''
    returnType: void
    signature: "void plane_cmap_gray(frac gray, gx_device_color * pdc,\n    const
      gs_gstate *pgs_image, gx_device *dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:884,1
    - Dst: gx_remap_concrete_rgb
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:887,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 7
    argNames:
    - r
    - g
    - b
    - pdc
    - pgs_image
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 876
    functionDepth: 3
    functionLinenumber: 876
    functionLinenumberEnd: 890
    functionName: plane_cmap_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_rgb
    - reduce_drawing_color
    - gs_current_logical_op_inline
    linkageType: ''
    returnType: void
    signature: "void plane_cmap_rgb(frac r, frac g, frac b, gx_device_color * pdc,\n
      \   const gs_gstate *pgs_image, gx_device *dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:900,1
    - Dst: gx_remap_concrete_cmyk
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:903,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 9
    argNames:
    - c
    - m
    - y
    - k
    - pdc
    - pgs_image
    - dev
    - select
    - source_pcs
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 891
    functionDepth: 3
    functionLinenumber: 891
    functionLinenumberEnd: 906
    functionName: plane_cmap_cmyk
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - reduce_drawing_color
    - gx_remap_concrete_cmyk
    - gs_current_logical_op_inline
    linkageType: ''
    returnType: void
    signature: "void plane_cmap_cmyk(frac c, frac m, frac y, frac k, gx_device_color
      * pdc,\n    const gs_gstate *pgs_image, gx_device *dev, gs_color_select_t select,\n
      \   const gs_color_space *source_pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:915,1
    - Dst: gx_remap_concrete_rgb_alpha
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:918,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:920,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - r
    - g
    - b
    - alpha
    - pdc
    - pgs_image
    - dev
    - select
    argTypes:
    - frac
    - frac
    - frac
    - frac
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 907
    functionDepth: 3
    functionLinenumber: 907
    functionLinenumberEnd: 921
    functionName: plane_cmap_rgb_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_rgb_alpha
    - reduce_drawing_color
    - gs_current_logical_op_inline
    linkageType: ''
    returnType: void
    signature: "void plane_cmap_rgb_alpha(frac r, frac g, frac b, frac alpha, gx_device_color
      * pdc,\n    const gs_gstate *pgs_image, gx_device *dev, gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs_image
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 926
    functionName: plane_cmap_is_halftoned
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool plane_cmap_is_halftoned(const gs_gstate *pgs_image, gx_device
      *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: plane_get_cmap_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_map_procs
    signature: 'gx_color_map_procs *

      plane_get_cmap_procs(const gs_gstate *pgs, const gx_device *dev)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:959,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:984,1
    - Dst: lop_uses_T
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:985,1
    - Dst: reduce_drawing_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:986,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:994,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:996,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:998,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1003,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1011,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1018,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1019,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1020,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 945
    functionDepth: 3
    functionLinenumber: 945
    functionLinenumberEnd: 1022
    functionName: plane_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - gs_next_ids
    - gx_default_begin_typed_image
    - gs_current_logical_op
    - gs_gstate_copy
    - reduce_drawing_color
    - gs_free_object
    - lop_uses_T
    - dev_proc
    - set_nonclient_dev_color
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int plane_begin_typed_image(gx_device * dev,\n                        const
      gs_gstate * pgs, const gs_matrix * pmat,\n                   const gs_image_common_t
      * pic, const gs_int_rect * prect,\n              const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                      gs_memory_t * memory, gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1031,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1032
    functionName: plane_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_image_plane_data_rows
    linkageType: ''
    returnType: int
    signature: "int plane_image_plane_data(gx_image_enum_common_t * info,\n                       const
      gx_image_plane_t * planes, int height,\n                       int *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1038,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1041,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1034
    functionDepth: 1
    functionLinenumber: 1034
    functionLinenumberEnd: 1045
    functionName: plane_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_image_free_enum
    - gx_image_end
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int plane_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1069,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1073,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1080,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1100,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1117,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1118,1
    - Dst: bits_expand_plane
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1125,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevplnx.c:1131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1133
    functionName: plane_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.c
    functionUses: 0
    functionsReached:
    - gx_default_get_bits_rectangle
    - gx_device_raster
    - bits_expand_plane
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int plane_get_bits_rectangle(gx_device * dev, const gs_int_rect *
      prect,\n                         gs_get_bits_params_t * params, gs_int_rect
      ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: gp_semaphore_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_semaphore_sizeof(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: gp_semaphore_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_open(gp_semaphore * sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: gp_semaphore_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_close(gp_semaphore * sema)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_nsync.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: gp_semaphore_wait
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_wait(gp_semaphore * sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sema
    argTypes:
    - gp_semaphore*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: gp_semaphore_signal
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_semaphore_signal(gp_semaphore * sema)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: gp_monitor_sizeof
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_monitor_sizeof(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: gp_monitor_open
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_monitor_open(gp_monitor * mon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: gp_monitor_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_monitor_close(gp_monitor * mon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_nsync.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 91
    functionName: gp_monitor_enter
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_monitor_enter(gp_monitor * mon)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_nsync.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mon
    argTypes:
    - gp_monitor*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: gp_monitor_leave
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_monitor_leave(gp_monitor * mon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_nsync.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - proc
    - proc_data
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: gp_create_thread
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_create_thread(gp_thread_creation_callback_t proc, void *proc_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_nsync.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - proc
    - proc_data
    - thread
    argTypes:
    - gp_thread_creation_callback_t
    - void*
    - gp_thread_id*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    functionName: gp_thread_start
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 3
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gp_thread_start(gp_thread_creation_callback_t proc, void *proc_data,
      gp_thread_id *thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - thread
    argTypes:
    - gp_thread_id
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    functionName: gp_thread_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gp_nsync.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_thread_finish(gp_thread_id thread)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: k_left
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int k_left
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: s_CF_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_CF_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: private_st_CFE_state
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_CFE_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: s_CFE_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_CFE_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 125
    functionName: private_st_CFD_state
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_CFD_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: s_CFD_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/scfx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_CFD_set_defaults_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b1
    - ','
    - b2
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: memcmp_inline
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memcmp_inline(b1,b2,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: memcpy
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 527
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memcpy(dest,src,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - b1
    - ','
    - b2
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: memcmp
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 139
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memcmp(b1,b2,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    functionName: memmove
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 111
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memmove(dest,src,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - src
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: memcpy
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 527
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memcpy(dest,src,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dest
    - ','
    - ch
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: memset
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 519
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memset(dest,ch,len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - ch
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: memchr
    functionSourceFile: /src/libspectre/ghostscript/base/memory_.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: memchr(ptr,ch,len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - map
    - gray
    - out
    argTypes:
    - gx_device*
    - int*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 49
    functionName: gray_cs_to_devn_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_devn_cm(gx_device * dev, int * map, frac gray, frac
      out[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:61,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 7
    argNames:
    - dev
    - map
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - int*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 70
    functionName: rgb_cs_to_devn_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached:
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_devn_cm(gx_device * dev, int * map,\n                const
      gs_gstate *pgs, frac r, frac g, frac b, frac out[])"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 7
    argNames:
    - dev
    - map
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - int*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 89
    functionName: cmyk_cs_to_devn_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cmyk_cs_to_devn_cm(gx_device * dev, const int * map,\n                frac
      c, frac m, frac y, frac k, frac out[])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:105,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 4
    argNames:
    - pdev
    - num_comp
    - equiv_cmyk_colors
    - cmyk_map
    argTypes:
    - gx_device*
    - int
    - equivalent_cmyk_color_params*
    - cmyk_composite_map*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: build_cmyk_map
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void build_cmyk_map(gx_device *pdev, int num_comp,\n    equivalent_cmyk_color_params
      *equiv_cmyk_colors,\n    cmyk_composite_map * cmyk_map)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - ncomp
    - bpc
    argTypes:
    - uchar
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 162
    functionName: bpc_to_depth
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int bpc_to_depth(uchar ncomp, int bpc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - name_size
    - ','
    - str
    - ','
    - str_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: compare_color_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compare_color_names(name, name_size, str, str_size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:180,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - plist
    - pstring
    argTypes:
    - fixed_colorant_names_list
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: check_process_color_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 2
    functionsReached:
    - compare_color_names
    - strlen
    linkageType: ''
    returnType: bool
    signature: "bool check_process_color_names(fixed_colorant_names_list plist,\n
      \                         const gs_param_string * pstring)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - pparams
    - pname
    - name_size
    - component_type
    - number
    argTypes:
    - gx_device*
    - gs_devn_params*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 207
    functionName: check_separation_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - compare_color_names
    linkageType: ''
    returnType: int
    signature: "int check_separation_names(const gx_device * dev, const gs_devn_params
      * pparams,\n    const char * pname, int name_size, int component_type, int number)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: compare_color_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:233,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:233,1
    - Dst: check_separation_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:239,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - dev
    - pparams
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - gs_devn_params*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 241
    functionName: check_pcm_and_separation_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - compare_color_names
    - strlen
    - check_separation_names
    linkageType: ''
    returnType: int
    signature: "int check_pcm_and_separation_names(const gx_device * dev,\n                const
      gs_devn_params * pparams, const char * pname,\n                int name_size,
      int component_type)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_pcm_and_separation_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:277,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:313,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:322,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:329,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:334,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 7
    argNames:
    - dev
    - pdevn_params
    - pequiv_colors
    - pname
    - name_size
    - component_type
    - auto_spot_colors
    argTypes:
    - gx_device*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 352
    functionName: devn_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached:
    - gs_alloc_bytes
    - strncmp
    - check_pcm_and_separation_names
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: "int devn_get_color_comp_index(gx_device * dev, gs_devn_params * pdevn_params,\n
      \                   equivalent_cmyk_color_params * pequiv_colors,\n                    const
      char * pname, int name_size, int component_type,\n                    int auto_spot_colors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:370,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:373,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:374,1
    - Dst: sample_device_crd_get_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:390,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:391,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:392,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:393,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:397,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:401,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 4
    argNames:
    - pdev
    - plist
    - pdevn_params
    - pequiv_colors
    argTypes:
    - gx_device*
    - gs_param_list*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 404
    functionName: devn_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 2
    functionsReached:
    - param_write_name_array
    - set_param_array
    - param_write_bool
    - sample_device_crd_get_params
    - param_write_int_array
    - param_write_int
    - min
    linkageType: ''
    returnType: int
    signature: "int devn_get_params(gx_device * pdev, gs_param_list * plist,\n    gs_devn_params
      * pdevn_params, equivalent_cmyk_color_params * pequiv_colors)"
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:449,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:453,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:455,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:456,1
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:460,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:464,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:466,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:467,1
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:470,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:474,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:476,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:477,1
    - Dst: check_process_color_names
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:493,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:498,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:501,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:504,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:553,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:556,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:557,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:576,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:579,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:584,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:585,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:598,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:602,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:607,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:608,1
    - Dst: bpc_to_depth
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:657,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 121
    argCount: 4
    argNames:
    - pdev
    - plist
    - pdevn_params
    - pequiv_colors
    argTypes:
    - gx_device*
    - gs_param_list*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 662
    functionName: devn_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - check_process_color_names
    - gs_alloc_bytes
    - return_error
    - param_read_int
    - BEGIN_ARRAY_PARAM
    - memcpy
    - END_ARRAY_PARAM
    - param_signal_error
    - dev_proc
    - bpc_to_depth
    linkageType: ''
    returnType: int
    signature: "int devn_put_params(gx_device * pdev, gs_param_list * plist,\n    gs_devn_params
      * pdevn_params, equivalent_cmyk_color_params * pequiv_colors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:671,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:675,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:682,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - thread_cdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 687
    functionName: devn_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 3
    functionsReached:
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void devn_free_params(gx_device *thread_cdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:699,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:700,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:717,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:720,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:722,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:727,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:736,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:739,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 31
    argCount: 2
    argNames:
    - psrcdev
    - pdesdev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 747
    functionName: devn_copy_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - return_error
    - memcpy
    - dev_proc
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int devn_copy_params(gx_device * psrcdev, gx_device * pdesdev)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pequiv_colors1
    - pequiv_colors2
    argTypes:
    - equivalent_cmyk_color_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 768
    functionName: compare_equivalent_cmyk_color_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_equivalent_cmyk_color_params(const equivalent_cmyk_color_params
      *pequiv_colors1, const equivalent_cmyk_color_params *pequiv_colors2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:780,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_separations*
    - gs_separations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 785
    functionName: separations_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool separations_equal(const gs_separations *p1, const gs_separations
      *p2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: separations_equal
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:799,1
    - Dst: separations_equal
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:801,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:803,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_devn_params*
    - gs_devn_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 808
    functionName: devn_params_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - separations_equal
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool devn_params_equal(const gs_devn_params *p1, const gs_devn_params
      *p2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: devn_put_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:828,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:832,1
    - Dst: gx_color_info_equal
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:844,1
    - Dst: devn_params_equal
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:845,1
    - Dst: compare_equivalent_cmyk_color_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:847,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:848,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:850,1
    - Dst: pdf14_put_devn_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:860,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 4
    argNames:
    - pdev
    - plist
    - pdevn_params
    - pequiv_colors
    argTypes:
    - gx_device*
    - gs_param_list*
    - gs_devn_params*
    - equivalent_cmyk_color_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 862
    functionName: devn_printer_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - devn_put_params
    - gs_closedevice
    - set_linear_color_bits_mask_shift
    - compare_equivalent_cmyk_color_params
    - pdf14_put_devn_params
    - gdev_prn_put_params
    - devn_params_equal
    - gx_color_info_equal
    linkageType: ''
    returnType: int
    signature: "int devn_printer_put_params(gx_device * pdev, gs_param_list * plist,\n
      \   gs_devn_params * pdevn_params, equivalent_cmyk_color_params * pequiv_colors)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:875,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - pseparation
    argTypes:
    - gs_memory_t*
    - gs_separations*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 882
    functionName: free_separation_names
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void free_separation_names(gs_memory_t * mem,\n                gs_separations
      * pseparation)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:904,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_devn_prn_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 900
    functionDepth: 1
    functionLinenumber: 900
    functionLinenumberEnd: 907
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_RETURN
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(gx_devn_prn_device_enum_ptrs, gx_devn_prn_device
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:912,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_devn_prn_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 920
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - RELOC_PREFIX
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gx_devn_prn_device_reloc_ptrs, gx_devn_prn_device
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devn_free_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:926,1
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 928
    functionName: gx_devn_prn_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 2
    functionsReached:
    - devn_free_params
    - gx_device_finalize
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gx_devn_prn_device_finalize(const gs_memory_t *cmem,
      void *vpdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_prn_device_finalize
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cmem
    - vpdev
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 937
    functionName: static_gx_devn_prn_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gx_devn_prn_device_finalize
    linkageType: ''
    returnType: void
    signature: void static_gx_devn_prn_device_finalize(const gs_memory_t *cmem, void
      *vpdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1093,1
    - Dst: set_linear_color_bits_mask_shift
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1101
    functionName: spotcmyk_prn_open
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gdev_prn_open
    - set_linear_color_bits_mask_shift
    linkageType: ''
    returnType: int
    signature: int spotcmyk_prn_open(gx_device * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gray_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1105
    functionDepth: 1
    functionLinenumber: 1105
    functionLinenumberEnd: 1111
    functionName: gray_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gray_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void gray_cs_to_spotcmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rgb_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1113
    functionDepth: 1
    functionLinenumber: 1113
    functionLinenumberEnd: 1120
    functionName: rgb_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - rgb_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: "void rgb_cs_to_spotcmyk_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                                  frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmyk_cs_to_devn_cm
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1128
    functionName: cmyk_cs_to_spotcmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - cmyk_cs_to_devn_cm
    linkageType: ''
    returnType: void
    signature: void cmyk_cs_to_spotcmyk_cm(gx_device * dev, frac c, frac m, frac y,
      frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 0
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    functionName: gx_devn_prn_get_color_mapping_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_cm_color_map_procs
    signature: 'gx_cm_color_map_procs *

      gx_devn_prn_get_color_mapping_procs(const gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1152,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1143
    functionDepth: 1
    functionLinenumber: 1143
    functionLinenumberEnd: 1158
    functionName: gx_devn_prn_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_devn_prn_encode_color(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLDUP_SETUP
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1172,1
    - Dst: COLDUP_DUP
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1163
    functionDepth: 1
    functionLinenumber: 1163
    functionLinenumberEnd: 1178
    functionName: gx_devn_prn_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - COLDUP_DUP
    - COLDUP_SETUP
    linkageType: ''
    returnType: int
    signature: int gx_devn_prn_decode_color(gx_device * dev, gx_color_index color,
      gx_color_value * out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1185,1
    - Dst: devn_get_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1191
    functionName: gx_devn_prn_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - devn_get_params
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: int gx_devn_prn_get_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devn_printer_put_params
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1194
    functionDepth: 4
    functionLinenumber: 1194
    functionLinenumberEnd: 1201
    functionName: gx_devn_prn_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 2
    functionsReached:
    - devn_printer_put_params
    linkageType: ''
    returnType: int
    signature: int gx_devn_prn_put_params(gx_device *dev, gs_param_list *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1206
    functionDepth: 0
    functionLinenumber: 1206
    functionLinenumberEnd: 1212
    functionName: gx_devn_prn_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      gx_devn_prn_ret_devn_params(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_spot_equivalent_cmyk_colors
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1217
    functionDepth: 3
    functionLinenumber: 1217
    functionLinenumberEnd: 1224
    functionName: gx_devn_prn_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - update_spot_equivalent_cmyk_colors
    linkageType: ''
    returnType: int
    signature: int gx_devn_prn_update_spot_equivalent_colors(gx_device *dev, const
      gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: devn_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1240
    functionDepth: 3
    functionLinenumber: 1240
    functionLinenumberEnd: 1253
    functionName: gx_devn_prn_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - devn_get_color_comp_index
    linkageType: ''
    returnType: int
    signature: "int gx_devn_prn_get_color_comp_index(gx_device * dev, const char *
      pname,\n                                        int name_size, int component_type)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 6
    argNames:
    - source
    - dest
    - depth
    - first_bit
    - bit_width
    - npixel
    argTypes:
    - byte*
    - byte*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1330
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1330
    functionName: repack_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int repack_data(byte * source, byte * dest, int depth, int first_bit,\n
      \               int bit_width, int npixel)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1367,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1368,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1369,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1385,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1388,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1406,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1407,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1410,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1411,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1413,1
    - Dst: gdev_prn_get_bits
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1420,1
    - Dst: repack_data
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1426,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1427,1
    - Dst: repack_data
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1432,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1433,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1439,1
    - Dst: devn_write_pcx_file
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1445,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1451,1
    - Dst: devn_write_pcx_file
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1452,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1461,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1464,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1466,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1468,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 73
    argCount: 2
    argNames:
    - pdev
    - prn_stream
    argTypes:
    - gx_device_printer*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1364
    functionDepth: 5
    functionLinenumber: 1364
    functionLinenumberEnd: 1470
    functionName: spotcmyk_print_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gs_add_control_path
    - gs_alloc_bytes
    - repack_data
    - gdev_prn_get_bits
    - gs_sprintf
    - devn_write_pcx_file
    - gp_fclose
    - gdev_mem_bytes_per_scan_line
    - gs_remove_control_path
    - gs_note_error
    - gp_fopen
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int spotcmyk_print_page(gx_device_printer * pdev, gp_file * prn_stream)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1482
      start: 1481
    functionDepth: 0
    functionLinenumber: 1481
    functionLinenumberEnd: 1482
    functionName: assign_ushort
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_ushort(a,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1483
    functionDepth: 0
    functionLinenumber: 1483
    functionLinenumberEnd: 1484
    functionName: assign_ushort
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_ushort(a,v)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1584,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1585,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1592,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1599,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1634,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1645,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 89
    argCount: 4
    argNames:
    - pdev
    - phdr
    - num_planes
    - bits_per_plane
    argTypes:
    - gx_device_printer*
    - pcx_header*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1665
      start: 1570
    functionDepth: 0
    functionLinenumber: 1570
    functionLinenumberEnd: 1665
    functionName: devn_setup_pcx_header
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - assign_ushort
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool devn_setup_pcx_header(gx_device_printer * pdev, pcx_header * phdr,
      int num_planes, int bits_per_plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1677,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1679,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - max_index
    - file
    argTypes:
    - gx_device*
    - uint
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1683
    functionName: pc_write_mono_palette
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    - gp_fputc
    linkageType: ''
    returnType: int
    signature: int pc_write_mono_palette(gx_device * dev, uint max_index, gp_file
      * file)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1713,1
    - Dst: pc_write_mono_palette
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1714,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 69
    argCount: 5
    argNames:
    - pdev
    - file
    - header
    - num_planes
    - bits_per_plane
    argTypes:
    - gx_device_printer*
    - gp_file*
    - pcx_header*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1698
    functionDepth: 2
    functionLinenumber: 1698
    functionLinenumberEnd: 1769
    functionName: devn_finish_pcx_file
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 0
    functionsReached:
    - gp_fputc
    - pc_write_mono_palette
    linkageType: ''
    returnType: int
    signature: int devn_finish_pcx_file(gx_device_printer * pdev, gp_file * file,
      pcx_header * header, int num_planes, int bits_per_plane)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1779,1
    - Dst: bpc_to_depth
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1782,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1785,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1789,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1793,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1795,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1798,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1799,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1802,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1804,1
    - Dst: devn_setup_pcx_header
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1811,1
    - Dst: devn_pcx_write_page
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1812,1
    - Dst: devn_finish_pcx_file
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1814,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1817,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1818,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1820,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1822,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1825,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 5
    argNames:
    - pdev
    - filename
    - ncomp
    - bpc
    - linesize
    argTypes:
    - gx_device_printer*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1772
    functionDepth: 5
    functionLinenumber: 1772
    functionLinenumberEnd: 1828
    functionName: devn_write_pcx_file
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - gs_add_control_path
    - devn_pcx_write_page
    - gs_alloc_bytes
    - devn_finish_pcx_file
    - gs_sprintf
    - gp_fclose
    - gs_remove_control_path
    - gs_note_error
    - gp_fopen
    - devn_setup_pcx_header
    - bpc_to_depth
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int devn_write_pcx_file(gx_device_printer * pdev, char * filename,
      int ncomp,\n                            int bpc, int linesize)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1838,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1841,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1849,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1851,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1853,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1861,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1862,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1863,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1864,1
    - Dst: assign_ushort
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1865,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1870,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1879,1
    - Dst: devn_pcx_write_rle
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1903,1
    - Dst: devn_pcx_write_rle
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1933,1
    - Dst: devn_pcx_write_rle
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1943,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1945,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1951,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1960,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1961,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 76
    argCount: 7
    argNames:
    - pdev
    - infile
    - linesize
    - outfile
    - phdr
    - planar
    - depth
    argTypes:
    - gx_device_printer*
    - gp_file*
    - int
    - gp_file*
    - pcx_header*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1833
    functionDepth: 1
    functionLinenumber: 1833
    functionLinenumberEnd: 1964
    functionName: devn_pcx_write_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - ROUND_UP
    - gp_fread
    - devn_pcx_write_rle
    - gp_fputc
    - return_error
    - gs_note_error
    - assign_ushort
    - gp_fwrite
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int devn_pcx_write_page(gx_device_printer * pdev, gp_file * infile,
      int linesize, gp_file * outfile,\n               pcx_header * phdr, bool planar,
      int depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1985,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1993,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1994,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:1998,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevdevn.c:2000,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - from
    - end
    - step
    - file
    argTypes:
    - byte*
    - byte*
    - int
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2003
      start: 1969
    functionDepth: 1
    functionLinenumber: 1969
    functionLinenumberEnd: 2003
    functionName: devn_pcx_write_rle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdevn.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    linkageType: ''
    returnType: void
    signature: void devn_pcx_write_rle(const byte * from, const byte * end, int step,
      gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: gx_dc_is_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_is_pure(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdc
    - ','
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: gx_dc_writes_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_writes_pure(pdc, lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: gx_dc_pure_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_pure_color(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: gx_dc_is_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_is_devn(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: gx_dc_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_phase(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: gx_dc_is_binary_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_is_binary_halftone(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 69
    functionName: gx_dc_binary_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_binary_tile(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: gx_dc_binary_color0
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_binary_color0(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: gx_dc_binary_color1
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_binary_color1(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: gx_dc_is_colored_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_is_colored_halftone(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    functionName: color_is_set
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_set(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    functionName: color_unset
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_unset(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: gx_dc_is_null
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_dc_is_null(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    functionName: color_is_null
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_null(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: color_set_null
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_null(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: color_is_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_pure(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdc
    - ','
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: color_writes_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_writes_pure(pdc, lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: color_is_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_devn(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdc
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    functionName: color_set_pure
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_pure(pdc, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdc
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 123
    functionName: set_nonclient_dev_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_nonclient_dev_color(pdc, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdc
    - ','
    - px
    - ','
    - py
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 128
    functionName: color_set_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_phase(pdc, px, py)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pdc
    - ','
    - px
    - ','
    - py
    - ','
    - tw
    - ','
    - th
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 131
    functionName: color_set_phase_mod
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_phase_mod(pdc, px, py, tw, th)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: color_is_binary_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_binary_halftone(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pdc
    - ','
    - ht
    - ','
    - index
    - ','
    - color0
    - ','
    - color1
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: color_set_binary_halftone_component
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_binary_halftone_component(pdc, ht, index, color0, color1,
      level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pdc
    - ','
    - ht
    - ','
    - color0
    - ','
    - color1
    - ','
    - level
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: color_set_binary_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_binary_halftone(pdc, ht, color0, color1, level)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pdc
    - ','
    - color0
    - ','
    - color1
    - ','
    - tile
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 146
    functionName: color_set_binary_tile
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_binary_tile(pdc, color0, color1, tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: color_is_colored_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_is_colored_halftone(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pdc
    - ','
    - i
    - ','
    - b
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: _color_set_c
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _color_set_c(pdc, i, b, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: color_set_null_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: color_set_null_pattern(pdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: public_st_device_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsdcolor.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_color()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gsmisc.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 35
    functionName: orig_sqrt
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double orig_sqrt(double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gsmisc.c:64,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:65,1
    - Dst: outwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:67,1
    - Dst: outwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:68,1
    - Dst: outwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:70,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gsmisc.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - fmt
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: outprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 2
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    - outwrite
    linkageType: ''
    returnType: int
    signature: int outprintf(const gs_memory_t *mem, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gsmisc.c:83,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:84,1
    - Dst: errwrite_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:86,1
    - Dst: errwrite_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:87,1
    - Dst: errwrite_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:89,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gsmisc.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 93
    functionName: errprintf_nomem
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - vsnprintf
    - va_start
    - errwrite_nomem
    - va_end
    linkageType: ''
    returnType: int
    signature: int errprintf_nomem(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gsmisc.c:102,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:103,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:105,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:106,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gsmisc.c:108,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gsmisc.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - fmt
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 112
    functionName: errprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 43
    functionsReached:
    - vsnprintf
    - va_start
    - errwrite
    - va_end
    linkageType: ''
    returnType: int
    signature: int errprintf(const gs_memory_t *mem, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 139
    functionName: gs_debug_c
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 87
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_debug_c(int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsmisc.c:154,1
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/base/gsmisc.c:157,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 161
    functionName: dprintf_file_tail
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - isalnum
    - strlen
    linkageType: ''
    returnType: char
    signature: 'char *

      dprintf_file_tail(const char *file)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errflush_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: dflush
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - errflush_nomem
    linkageType: ''
    returnType: void
    signature: void dflush(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:173,1
    - Dst: dprintf_file_tail
      Src: /src/libspectre/ghostscript/base/gsmisc.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 175
    functionName: dprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - dpf
    - dprintf_file_tail
    linkageType: ''
    returnType: void
    signature: void dprintf_file_and_line(const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 180
    functionName: lprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: void lprintf_file_and_line(const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:186,1
    - Dst: dprintf_file_tail
      Src: /src/libspectre/ghostscript/base/gsmisc.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 187
    functionName: dprintf_file_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - dpf
    - dprintf_file_tail
    linkageType: ''
    returnType: void
    signature: void dprintf_file_only(const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - file
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 192
    functionName: lprintf_file_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: void lprintf_file_only(gp_file * f, const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:199,1
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:203,1
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - program_name
    - revision_number
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: eprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: "void eprintf_program_ident(const char *program_name,\n                      long
      revision_number)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:214,1
    - Dst: dprintf_file_tail
      Src: /src/libspectre/ghostscript/base/gsmisc.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - file
    - line
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 216
    functionName: dmprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - dprintf_file_tail
    - dpfm
    linkageType: ''
    returnType: void
    signature: void dmprintf_file_and_line(const gs_memory_t *mem,const char *file,
      int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dpfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:222,1
    - Dst: dprintf_file_tail
      Src: /src/libspectre/ghostscript/base/gsmisc.c:222,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - file
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: dmprintf_file_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - dprintf_file_tail
    - dpfm
    linkageType: ''
    returnType: void
    signature: void dmprintf_file_only(const gs_memory_t *mem,const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:234,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - program_name
    - revision_number
    argTypes:
    - gs_memory_t*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: printf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - outprintf
    linkageType: ''
    returnType: void
    signature: void printf_program_ident(const gs_memory_t *mem, const char *program_name,
      long revision_number)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:249,1
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:255,1
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - program_name
    - revision_number
    argTypes:
    - gs_memory_t*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 259
    functionName: emprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epfm
    linkageType: ''
    returnType: void
    signature: "void emprintf_program_ident(const gs_memory_t *mem,\n                       const
      char *program_name,\n                       long revision_number)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - file
    - line
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 265
    functionName: mlprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epfm
    linkageType: ''
    returnType: void
    signature: void mlprintf_file_and_line(const gs_memory_t *mem, const char *file,
      int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/gsmisc.c:270,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - f
    - file
    argTypes:
    - gs_memory_t*
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: mlprintf_file_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - epfm
    linkageType: ''
    returnType: void
    signature: void mlprintf_file_only(const gs_memory_t *mem, gp_file * f, const
      char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:282,1
    - Dst: dprintf3
      Src: /src/libspectre/ghostscript/base/gsmisc.c:284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - err
    - file
    - line
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 288
    functionName: gs_log_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - dprintf1
    - dprintf3
    linkageType: ''
    returnType: int
    signature: int gs_log_error(int err, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_check_interrupts
      Src: /src/libspectre/ghostscript/base/gsmisc.c:297,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsmisc.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - code
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: gs_return_check_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gp_check_interrupts
    linkageType: ''
    returnType: int
    signature: int gs_return_check_interrupt(const gs_memory_t *mem, int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gsmisc.c:311,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:312,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gsmisc.c:314,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsmisc.c:316,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:326,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:330,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:334,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:338,1
    - Dst: errwrite_nomem
      Src: /src/libspectre/ghostscript/base/gsmisc.c:341,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 6
    argNames:
    - func
    - file
    - line
    - op
    - code
    - fmt
    argTypes:
    - char*
    - char*
    - int
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 344
    functionName: gs_throw_imp
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - va_start
    - gs_debug_c
    - errwrite_nomem
    - va_end
    - errprintf_nomem
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int gs_throw_imp(const char *func, const char *file, int line, int
      op, int code, const char *fmt, ...)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 369
    functionName: gs_errstr
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gs_errstr(int code)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PTR_LE
      Src: /src/libspectre/ghostscript/base/gsmisc.c:386,1
    - Dst: PTR_LE
      Src: /src/libspectre/ghostscript/base/gsmisc.c:389,1
    - Dst: PTR_LE
      Src: /src/libspectre/ghostscript/base/gsmisc.c:405,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmisc.c:422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 424
    functionName: gs_memmove
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - PTR_LE
    - memcpy
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_memmove(void *dest, const void *src, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - dest
    - src
    - len
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 450
    functionName: gs_memcpy
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_memcpy(void *dest, const void *src, size_t len)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - ch
    - len
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 470
    functionName: gs_memchr
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_memchr(const void *ptr, int ch, size_t len)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/gsmisc.c:490,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - dest
    - ch
    - len
    argTypes:
    - void*
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 514
    functionName: gs_memset
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - ALIGNMENT_MOD
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_memset(void *dest, register int ch, size_t len)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsmisc.c:525,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmisc.c:534,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsmisc.c:534,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsmisc.c:535,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - old_ptr
    - old_size
    - new_size
    argTypes:
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 519
    functionDepth: 5
    functionLinenumber: 519
    functionLinenumberEnd: 538
    functionName: gs_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - malloc
    - free
    - memcpy
    - min
    linkageType: ''
    returnType: void
    signature: 'void *

      gs_realloc(void *old_ptr, size_t old_size, size_t new_size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:551,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gsmisc.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - chrs
    - len
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 545
    functionDepth: 1
    functionLinenumber: 545
    functionLinenumberEnd: 553
    functionName: debug_print_string_hex_nomem
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 3
    functionsReached:
    - dprintf1
    - dflush
    linkageType: ''
    returnType: void
    signature: void debug_print_string_hex_nomem(const byte * chrs, uint len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:563,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsmisc.c:565,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:567,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:569,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsmisc.c:570,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - mem
    - from
    - to
    - msg
    argTypes:
    - gs_memory_t*
    - byte*
    - byte*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 572
    functionName: debug_dump_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - dmprintf1
    - dmputc
    - min
    linkageType: ''
    returnType: void
    signature: void debug_dump_bytes(const gs_memory_t *mem, const byte * from, const
      byte * to, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug_dump_bytes
      Src: /src/libspectre/ghostscript/base/gsmisc.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - mem
    - bits
    - raster
    - height
    - msg
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    - uint
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 575
    functionDepth: 2
    functionLinenumber: 575
    functionLinenumberEnd: 583
    functionName: debug_dump_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 5
    functionsReached:
    - debug_dump_bytes
    linkageType: ''
    returnType: void
    signature: void debug_dump_bitmap(const gs_memory_t *mem, const byte * bits, uint
      raster, uint height, const char *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/base/gsmisc.c:592,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/base/gsmisc.c:593,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - chrs
    - len
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 594
    functionName: debug_print_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - dmputc
    - dmflush
    linkageType: ''
    returnType: void
    signature: void debug_print_string(const gs_memory_t *mem, const byte * chrs,
      uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsmisc.c:603,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/base/gsmisc.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - chrs
    - len
    argTypes:
    - gs_memory_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 605
    functionName: debug_print_string_hex
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - dmprintf1
    - dmflush
    linkageType: ''
    returnType: void
    signature: void debug_print_string_hex(const gs_memory_t *mem, const byte * chrs,
      uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - first_arg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: BACKTRACE
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BACKTRACE(first_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - m
    - n
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 641
    functionName: imod
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int imod(int m, int n)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 659
    functionName: igcd
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int igcd(int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gsmisc.c:683,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gsmisc.c:683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - a
    - b
    - m
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 684
    functionName: idivmod
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - igcd
    - imod
    linkageType: ''
    returnType: int
    signature: int idivmod(int a, int b, int m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 697
    functionName: ilog2
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ilog2(int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 727
    functionName: mincr
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mincr(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 729
    functionName: mincr
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mincr(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:744,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:760,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:765,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:770,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:785,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:806,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:812,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:817,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:842,1
    - Dst: mincr
      Src: /src/libspectre/ghostscript/base/gsmisc.c:867,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 77
    argCount: 3
    argNames:
    - signed_A
    - B
    - C
    argTypes:
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 874
    functionName: fixed_mult_quo
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 7
    functionsReached:
    - mincr
    linkageType: ''
    returnType: fixed
    signature: fixed fixed_mult_quo(fixed signed_A, fixed B, fixed C)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsmisc.c:889,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsmisc.c:895,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsmisc.c:911,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - signed_A
    - B
    - C
    argTypes:
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 882
    functionDepth: 1
    functionLinenumber: 882
    functionLinenumberEnd: 921
    functionName: fixed_mult_quo
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 7
    functionsReached:
    - floor
    - any_abs
    linkageType: ''
    returnType: fixed
    signature: fixed fixed_mult_quo(fixed signed_A, fixed B, fixed C)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsmisc.c:937,1
    - Dst: dprintf3
      Src: /src/libspectre/ghostscript/base/gsmisc.c:938,1
    - Dst: dflush
      Src: /src/libspectre/ghostscript/base/gsmisc.c:939,1
    - Dst: orig_sqrt
      Src: /src/libspectre/ghostscript/base/gsmisc.c:942,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - x
    - file
    - line
    argTypes:
    - double
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 933
    functionDepth: 2
    functionLinenumber: 933
    functionLinenumberEnd: 943
    functionName: gs_sqrt
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - orig_sqrt
    - gs_debug_c
    - dprintf3
    - dflush
    linkageType: ''
    returnType: double
    signature: double gs_sqrt(double x, const char *file, int line)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsmisc.c:959,1
    - Dst: fmod
      Src: /src/libspectre/ghostscript/base/gsmisc.c:964,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gsmisc.c:966,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ang
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 967
    functionName: gs_sin_degrees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - floor
    - fmod
    - sin
    linkageType: ''
    returnType: double
    signature: double gs_sin_degrees(double ang)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsmisc.c:974,1
    - Dst: fmod
      Src: /src/libspectre/ghostscript/base/gsmisc.c:976,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gsmisc.c:978,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ang
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 979
    functionName: gs_cos_degrees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 1
    functionsReached:
    - floor
    - fmod
    - cos
    linkageType: ''
    returnType: double
    signature: double gs_cos_degrees(double ang)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsmisc.c:986,1
    - Dst: fmod
      Src: /src/libspectre/ghostscript/base/gsmisc.c:988,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gsmisc.c:996,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gsmisc.c:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - ang
    - psincos
    argTypes:
    - double
    - gs_sincos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 1000
    functionName: gs_sincos_degrees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - floor
    - fmod
    - cos
    - sin
    linkageType: ''
    returnType: void
    signature: void gs_sincos_degrees(double ang, gs_sincos_t * psincos)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1012,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1015,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - y
    - x
    - pangle
    argTypes:
    - double
    - double
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1022
    functionName: gs_atan2_degrees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - return_error
    - atan2
    linkageType: ''
    returnType: int
    signature: int gs_atan2_degrees(double y, double x, double *pangle)
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 74
    argCount: 10
    argNames:
    - q0x
    - q0y
    - q1x
    - q1y
    - q2x
    - q2y
    - q3x
    - q3y
    - ry
    - ey
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1033
    functionDepth: 0
    functionLinenumber: 1033
    functionLinenumberEnd: 1135
    functionName: gx_intersect_small_bars
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool gx_intersect_small_bars(fixed q0x, fixed q0y, fixed q1x, fixed
      q1y, fixed q2x, fixed q2y,\n                        fixed q3x, fixed q3y, fixed
      *ry, fixed *ey)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1199,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1205,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1207,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1214,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 48
    argCount: 2
    argNames:
    - heap
    - arg
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1157
    functionDepth: 0
    functionLinenumber: 1157
    functionLinenumberEnd: 1217
    functionName: gs_debug_flags_parse
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - outprintf
    linkageType: ''
    returnType: int
    signature: int gs_debug_flags_parse(gs_memory_t *heap, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1225,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1229,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1236,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1239,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1241,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1243,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/base/gsmisc.c:1249,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - heap
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1219
    functionDepth: 0
    functionLinenumber: 1219
    functionLinenumberEnd: 1251
    functionName: gs_debug_flags_list
    functionSourceFile: /src/libspectre/ghostscript/base/gsmisc.c
    functionUses: 0
    functionsReached:
    - outprintf
    linkageType: ''
    returnType: void
    signature: void gs_debug_flags_list(gs_memory_t *heap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: float_lshift
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float_lshift(v, nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: float_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float_rshift(v, nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: _cix
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cix(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: _cif
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _cif(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: cie_interpolate_between
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate_between(v0, v1, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: cie_interpolate
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: cie_interpolate_fracs
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate_fracs(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    functionName: cie_interpolate_between
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate_between(v0, v1, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: cie_interpolate
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: cie_interpolate_fracs
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_interpolate_fracs(p, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: float2cie_cached
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float2cie_cached(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    functionName: cie_cached2float
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached2float(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: cie_cached2int
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached2int(v, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - factor
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 141
    functionName: cie_cached_product2int
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_product2int(v, factor, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: cie_cached_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_rshift(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    functionName: cie_cached_abs
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_abs(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: float2cie_cached
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float2cie_cached(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: cie_cached2float
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached2float(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: cie_cached2int
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached2int(v, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - factor
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: cie_cached_product2int
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_product2int(v, factor, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: cie_cached_rshift
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_rshift(v, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    functionName: cie_cached_abs
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_cached_abs(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 385
    functionName: public_st_cie_common
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cie_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 402
    functionName: public_st_cie_common_elements
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cie_common_elements()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 422
    functionName: private_st_cie_a
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cie_a()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 438
    functionName: caches
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: "struct {\\\n                bool skipABC;\\\n                gx_cie_vector_cache3_t
      DecodeABC;  /* mult. by MatrixABC */\\\n        }"
    signature: "struct {\\\n                bool skipABC;\\\n                gx_cie_vector_cache3_t
      DecodeABC;  /* mult. by MatrixABC */\\\n        } caches"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 444
    functionName: private_st_cie_abc
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cie_abc()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 461
    functionName: private_st_cie_def
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cie_def()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 478
    functionName: private_st_cie_defg
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cie_defg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 574
    functionDepth: 0
    functionLinenumber: 574
    functionLinenumberEnd: 577
    functionName: public_st_cie_render1
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cie_render1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 597
    functionName: GX_CIE_REMAP_FINISH_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_CIE_REMAP_FINISH_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 640
    functionDepth: 0
    functionLinenumber: 640
    functionLinenumberEnd: 643
    functionName: private_st_joint_caches
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_joint_caches()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - lp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 669
    functionName: SAMPLE_LOOP_VALUE
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_LOOP_VALUE(i, lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: CIE_CLAMP_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_CLAMP_INDEX(index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - pcache
    - ','
    - domains
    - ','
    - rprocs
    - ','
    - dprocs
    - ','
    - pcie
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 712
    functionName: CIE_LOAD_CACHE_BODY
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CIE_LOAD_CACHE_BODY(pcache, domains, rprocs, dprocs, pcie, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 779
    functionName: gs_cie_RangeLMN
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_RangeLMN(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 779
    functionDepth: 0
    functionLinenumber: 779
    functionLinenumberEnd: 780
    functionName: gs_cie_DecodeLMN
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_DecodeLMN(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 781
    functionName: gs_cie_MatrixLMN
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_MatrixLMN(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 783
    functionName: gs_cie_WhitePoint
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_WhitePoint(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 783
    functionDepth: 0
    functionLinenumber: 783
    functionLinenumberEnd: 785
    functionName: gs_cie_BlackPoint
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_BlackPoint(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 787
    functionDepth: 0
    functionLinenumber: 787
    functionLinenumberEnd: 788
    functionName: gs_cie_a_RangeA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_a_RangeA(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 789
    functionName: gs_cie_a_DecodeA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_a_DecodeA(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 789
    functionDepth: 0
    functionLinenumber: 789
    functionLinenumberEnd: 790
    functionName: gs_cie_a_MatrixA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_a_MatrixA(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 790
    functionDepth: 0
    functionLinenumber: 790
    functionLinenumberEnd: 791
    functionName: gs_cie_a_RangeA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_a_RangeA(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 795
    functionName: gs_cie_abc_RangeABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_abc_RangeABC(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 795
    functionDepth: 0
    functionLinenumber: 795
    functionLinenumberEnd: 796
    functionName: gs_cie_abc_DecodeABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_abc_DecodeABC(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 797
    functionName: gs_cie_abc_MatrixABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_abc_MatrixABC(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 799
    functionDepth: 0
    functionLinenumber: 799
    functionLinenumberEnd: 800
    functionName: gs_cie_def_RangeDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_def_RangeDEF(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 801
    functionName: gs_cie_def_DecodeDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_def_DecodeDEF(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 802
    functionName: gs_cie_def_RangeHIJ
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_def_RangeHIJ(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 805
    functionName: gs_cie_defg_RangeDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_defg_RangeDEFG(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 806
    functionName: gs_cie_defg_DecodeDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_defg_DecodeDEFG(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcspace
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 807
    functionName: gs_cie_defg_RangeHIJK
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cie_defg_RangeHIJK(pcspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 66
    functionName: private_st_jpxd_state
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jpxd_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: private_st_jpxe_state
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_luratech.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jpxe_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_rcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 84
    functionName: gsicc_rcm_planar_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gsicc_rcm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_rcm_planar_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 95
    functionName: gsicc_rcm_planar_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_rcm_planar_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_rcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:125,1
    - Dst: gsicc_rcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 153
    functionName: gsicc_rcm_chunky_to_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gsicc_rcm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_rcm_chunky_to_planar(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_rcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 184
    functionName: gsicc_rcm_chunky_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gsicc_rcm_transform_general
    linkageType: ''
    returnType: void
    signature: "void gsicc_rcm_chunky_to_chunky(gx_device *dev, gsicc_link_t *icclink,\n
      \                                 gsicc_bufferdesc_t *input_buff_desc,\n                                  gsicc_bufferdesc_t
      *output_buff_desc,\n                                  void *inputbuffer, void
      *outputbuffer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_rcm_planar_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:199,1
    - Dst: gsicc_rcm_planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:203,1
    - Dst: gsicc_rcm_chunky_to_planar
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:209,1
    - Dst: gsicc_rcm_chunky_to_chunky
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:213,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 219
    functionName: gsicc_rcm_transform_color_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gsicc_rcm_chunky_to_planar
    - gsicc_rcm_chunky_to_chunky
    - gsicc_rcm_planar_to_chunky
    - gsicc_rcm_planar_to_planar
    linkageType: ''
    returnType: int
    signature: "int gsicc_rcm_transform_color_buffer(gx_device *dev, gsicc_link_t
      *icclink,\n                                  gsicc_bufferdesc_t *input_buff_desc,\n
      \                                 gsicc_bufferdesc_t *output_buff_desc,\n                                  void
      *inputbuffer, void *outputbuffer)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: subclass_parentmost_device
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:237,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:243,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:248,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:265,1
    - Dst: frac2ushort
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:271,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:276,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 6
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes_in
    - num_bytes_out
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 280
    functionName: gsicc_rcm_transform_general
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 3
    functionsReached:
    - frac2ushort
    - ushort2frac
    - byte2frac
    - memset
    - frac2byte
    - subclass_parentmost_device
    linkageType: ''
    returnType: void
    signature: "void gsicc_rcm_transform_general(gx_device *dev, gsicc_link_t *icclink,\n
      \                            void *inputcolor, void *outputcolor,\n                             int
      num_bytes_in, int num_bytes_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_rcm_transform_general
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: gsicc_rcm_transform_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gsicc_rcm_transform_general
    linkageType: ''
    returnType: int
    signature: "int gsicc_rcm_transform_color(gx_device *dev, gsicc_link_t *icclink,
      void *inputcolor,\n                           void *outputcolor, int num_bytes)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - icclink
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 300
    functionName: gsicc_rcm_freelink
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_rcm_freelink(gsicc_link_t *icclink)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:324,1
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:331,1
    - Dst: gsicc_findcachelink
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:340,1
    - Dst: gsicc_alloc_link_entry
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:346,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:359,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:365,1
    - Dst: gsicc_link_t*::procs::free_link
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:384,1
    - Dst: gsicc_mcm_set_link
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:403,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_replacecm.c:407,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 70
    argCount: 3
    argNames:
    - pgs
    - dev
    - data_cs
    argTypes:
    - gs_gstate*
    - gx_device*
    - gsicc_colorbuffer_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 410
    functionName: gsicc_rcm_get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_replacecm.c
    functionUses: 2
    functionsReached:
    - gx_monitor_leave
    - gs_alloc_bytes
    - get_color_mapping_procs_subclass
    - gsicc_findcachelink
    - gsicc_link_t*::procs::free_link
    - gsicc_alloc_link_entry
    - gsicc_mcm_set_link
    - min
    - dev_proc
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\ngsicc_rcm_get_link(const gs_gstate *pgs, gx_device
      *dev,\n                   gsicc_colorbuffer_t data_cs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: prn_dev_proc_print_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_dev_proc_print_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: dev_proc_print_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_print_page(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: prn_dev_proc_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_dev_proc_print_page_copies(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: dev_proc_print_page_copies
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_print_page_copies(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    functionName: prn_dev_proc_get_space_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_dev_proc_get_space_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 153
    functionName: save_procs_while_delaying_erasepage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_procs
    signature: gx_device_procs save_procs_while_delaying_erasepage
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: PRINTER_IS_CLIST
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTER_IS_CLIST(pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: public_st_device_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_printer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: prn_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_procs(p_open, p_output_page, p_close)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - ','
    - p_get_params
    - ','
    - p_put_params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 195
    functionName: prn_params_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_params_procs(p_open, p_output_page, p_close, p_get_params, p_put_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - ','
    - p_map_rgb_color
    - ','
    - p_map_color_rgb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 197
    functionName: prn_color_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_color_procs(p_open, p_output_page, p_close, p_map_rgb_color, p_map_color_rgb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - ','
    - p_map_rgb_color
    - ','
    - p_map_color_rgb
    - ','
    - p_encode_color
    - ','
    - p_decode_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 199
    functionName: prn_color_procs_enc_dec
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_color_procs_enc_dec(p_open, p_output_page, p_close, p_map_rgb_color,
      p_map_color_rgb, p_encode_color, p_decode_color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - ','
    - p_map_rgb_color
    - ','
    - p_map_color_rgb
    - ','
    - p_get_params
    - ','
    - p_put_params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 202
    functionName: prn_color_params_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_color_params_procs(p_open, p_output_page, p_close, p_map_rgb_color,
      p_map_color_rgb, p_get_params, p_put_params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - p_open
    - ','
    - p_output_page
    - ','
    - p_close
    - ','
    - p_map_rgb_color
    - ','
    - p_map_color_rgb
    - ','
    - p_get_params
    - ','
    - p_put_params
    - ','
    - p_encode_color
    - ','
    - p_decode_color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: prn_color_params_procs_enc_dec
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_color_params_procs_enc_dec(p_open, p_output_page, p_close, p_map_rgb_color,
      p_map_color_rgb, p_get_params, p_put_params, p_encode_color, p_decode_color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    functionName: gdev_prn_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_prn_raster(pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    functionName: gdev_prn_raster_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_prn_raster_chunky(pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 591
    functionName: dev_print_scan_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_print_scan_lines(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 593
    functionName: gdev_mem_bytes_per_scan_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_mem_bytes_per_scan_line(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - inp
    - ','
    - ils
    - ','
    - outp
    - ','
    - ols
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 595
    functionName: gdev_prn_transpose_8x8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_prn_transpose_8x8(inp,ils,outp,ols)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dtname
    - ','
    - initproc
    - ','
    - pageproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: prn_device_type
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_device_type(dtname, initproc, pageproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dtname
    - ','
    - dname
    - ','
    - initproc
    - ','
    - pageproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 615
    functionName: prn_device_type_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_device_type_mono(dtname, dname, initproc, pageproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - dtname
    - ','
    - dname
    - ','
    - depth
    - ','
    - initproc
    - ','
    - pageproc
    - ','
    - rcproc
    - ','
    - crproc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 616
    functionDepth: 0
    functionLinenumber: 616
    functionLinenumberEnd: 625
    functionName: prn_device_type_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevprn.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prn_device_type_color(dtname, dname, depth, initproc, pageproc, rcproc,
      crproc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:120,1
    - Dst: is_printer
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:122,1
    - Dst: gp_open_scratch_file_impl
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:125,1
    - Dst: mswin_popen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:128,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:129,1
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 134
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gp_open_scratch_file_impl
    - gp_fopen_impl
    - is_printer
    - mswin_popen
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     int
      \         (**close)(FILE *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:142,1
    - Dst: is_printer
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:144,1
    - Dst: gp_printfile
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:147,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    - unlink
    - gp_printfile
    - is_printer
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file * pfile, const char *fname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: SendDlgItemMessage
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:163,1
    - Dst: lstrlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:164,1
    - Dst: SendDlgItemMessage
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:166,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:169,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:171,1
    - Dst: PostMessage
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:172,1
    - Dst: EndDialog
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:175,1
    - Dst: SendDlgItemMessage
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:175,1
    - Dst: EndDialog
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 4
    argNames:
    - hDlg
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 183
    functionName: SpoolDlgProc
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - lstrlen
    - PostMessage
    - LOWORD
    - SendDlgItemMessage
    - EndDialog
    - HIWORD
    linkageType: ''
    returnType: DLGRETURN
    signature: DLGRETURN SpoolDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM
      lParam)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:196,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 1
    argNames:
    - queue
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 203
    functionName: is_spool
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int is_spool(const char *queue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:209,1
    - Dst: is_spool
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: is_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 2
    functionsReached:
    - is_spool
    - strlen
    linkageType: ''
    returnType: int
    signature: int is_printer(const char *name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:245,1
    - Dst: GetProfileStringW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:254,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:255,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:257,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:258,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:259,1
    - Dst: gp_printfile_win32
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:261,1
    - Dst: is_spool
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:262,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:263,1
    - Dst: gp_printfile_win32
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:264,1
    - Dst: gp_printfile_win32
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:266,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - mem
    - filename
    - pmport
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 269
    functionName: gp_printfile
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached:
    - wchar_to_utf8
    - is_spool
    - strlen
    - gp_printfile_win32
    - strchr
    - return_error
    - GetProfileStringW
    linkageType: ''
    returnType: int
    signature: int gp_printfile(const gs_memory_t *mem, const char *filename, const
      char *pmport)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EnumPrinters
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:285,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:288,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:291,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:294,1
    - Dst: EnumPrinters
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:297,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:300,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:301,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:301,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:302,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:306,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:307,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:313,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:314,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:315,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 274
    functionDepth: 5
    functionLinenumber: 274
    functionLinenumberEnd: 321
    functionName: get_queues
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - MessageBox
    - strlen
    - strcpy
    - EnumPrinters
    - malloc
    - gs_sprintf
    - free
    - memset
    - GetLastError
    linkageType: ''
    returnType: char
    signature: 'char *

      get_queues(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_queues
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:333,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:336,1
    - Dst: DialogBoxParam
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:339,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:341,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:345,1
    - Dst: lstrlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:346,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:349,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:350,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:352,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:353,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:356,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - portname
    - queue
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 358
    functionName: get_queuename
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - lstrlen
    - strcat
    - DialogBoxParam
    - strlen
    - strcpy
    - get_queues
    - free
    linkageType: ''
    returnType: BOOL
    signature: BOOL get_queuename(char *portname, const char *queue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:367,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:367,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:369,1
    - Dst: OpenPrinterW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:370,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - port
    - printer
    argTypes:
    - char*
    - LPHANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 361
    functionDepth: 5
    functionLinenumber: 361
    functionLinenumberEnd: 374
    functionName: gp_OpenPrinter
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 3
    functionsReached:
    - malloc
    - free
    - OpenPrinterW
    - utf8_to_wchar
    linkageType: ''
    returnType: BOOL
    signature: BOOL gp_OpenPrinter(char *port, LPHANDLE printer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: get_queuename
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:389,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:393,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:396,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:397,1
    - Dst: gp_OpenPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:401,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:404,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:404,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:405,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:406,1
    - Dst: StartDocPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:414,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:417,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:417,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:418,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:419,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:420,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:424,1
    - Dst: WritePrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:425,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:426,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:427,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:428,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:432,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:433,1
    - Dst: EndDocPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:435,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:438,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:438,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:439,1
    - Dst: AbortPrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:440,1
    - Dst: ClosePrinter
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:443,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:446,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:446,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:447,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 3
    argNames:
    - mem
    - filename
    - port
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 378
    functionDepth: 7
    functionLinenumber: 378
    functionLinenumberEnd: 451
    functionName: gp_printfile_win32
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached:
    - ClosePrinter
    - EndDocPrinter
    - MessageBox
    - gp_fread
    - gp_OpenPrinter
    - malloc
    - gs_sprintf
    - free
    - StartDocPrinter
    - gp_fclose
    - AbortPrinter
    - GetLastError
    - gp_fopen
    - get_queuename
    - WritePrinter
    linkageType: ''
    returnType: int
    signature: int gp_printfile_win32(const gs_memory_t *mem, const char *filename,
      char *port)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:468,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:473,1
    - Dst: CreatePipe
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:486,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:489,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:493,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:497,1
    - Dst: GetStdHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:497,1
    - Dst: DuplicateHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:502,1
    - Dst: GetStdHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:502,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:508,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:516,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:516,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:518,1
    - Dst: CreateProcessW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:524,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:538,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:539,1
    - Dst: _open_osfhandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:540,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:544,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:546,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:548,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:550,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:554,1
    - Dst: _fdopen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:557,1
    - Dst: _close
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:559,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 2
    argNames:
    - cmd
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 562
    functionName: mswin_popen
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 1
    functionsReached:
    - CloseHandle
    - CreatePipe
    - strcmp
    - utf8_to_wchar
    - GetStdHandle
    - GetCurrentProcess
    - malloc
    - free
    - memset
    - DuplicateHandle
    - _close
    - CreateProcessW
    - _open_osfhandle
    - _fdopen
    linkageType: ''
    returnType: FILE
    signature: FILE *mswin_popen(const char *cmd, const char *mode)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:587,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:588,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:588,1
    - Dst: gp_gettmpdir
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:594,1
    - Dst: GetTempPathWRT
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:598,1
    - Dst: GetTempPathW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:600,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:602,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:604,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:606,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:608,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:615,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:616,1
    - Dst: GetTempFileNameWRT
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:618,1
    - Dst: GetTempFileNameW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:620,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:622,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:625,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:628,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:637,1
    - Dst: GetTempFileNameWRT
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:639,1
    - Dst: GetTempFileNameW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:641,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:643,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:647,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:648,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:652,1
    - Dst: CreateFile2
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:654,1
    - Dst: CreateFileW
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:660,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:667,1
    - Dst: _open_osfhandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:673,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:675,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:678,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:682,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:683,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:686,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:691,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - remove
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 569
    functionDepth: 5
    functionLinenumber: 569
    functionLinenumberEnd: 693
    functionName: gp_open_scratch_file_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 3
    functionsReached:
    - strlen
    - gp_gettmpdir
    - CreateFileW
    - CreateFile2
    - fclose
    - wchar_to_utf8
    - memset
    - GetTempPathW
    - fdopen
    - _open_osfhandle
    - gp_file_name_is_absolute
    - GetTempPathWRT
    - malloc
    - free
    - CloseHandle
    - GetTempFileNameW
    - utf8_to_wchar
    - gs_file_name_check_separator
    - strncpy
    - emprintf1
    - GetTempFileNameWRT
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file_impl(const gs_memory_t *mem,\n                          const
      char        *prefix,\n                                char        *fname,\n
      \                         const char        *mode,\n                                int
      \         remove)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:697,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:703,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:706,1
    - Dst: _wstat64
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:707,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct _stat64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 695
    functionDepth: 5
    functionLinenumber: 695
    functionLinenumberEnd: 710
    functionName: gp_stat_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached:
    - malloc
    - _wstat64
    - free
    - utf8_to_wchar
    linkageType: ''
    returnType: int
    signature: int gp_stat_impl(const gs_memory_t *mem, const char *path, struct _stat64
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 716
    functionName: gp_can_share_fdesc
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_can_share_fdesc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 733
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 737
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:753,1
    - Dst: _vsnprintf
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:754,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gp_mswin.c:756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - buffer
    - count
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 760
    functionName: snprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mswin.c
    functionUses: 141
    functionsReached:
    - va_start
    - _vsnprintf
    - va_end
    linkageType: ''
    returnType: int
    signature: int snprintf(char *buffer, size_t count, const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:83,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 88
    functionName: get_os_handle
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mshdl.c
    functionUses: 0
    functionsReached:
    - isxdigit
    - sscanf
    linkageType: ''
    returnType: long
    signature: long get_os_handle(const char *name)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:99,1
    - Dst: gs_fs_list_t*::fs::open_handle
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:111,1
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:121,1
    - Dst: get_os_handle
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:126,1
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:127,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:128,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:128,1
    - Dst: _open_osfhandle
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:132,1
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:134,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:135,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:135,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:139,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:141,1
    - Dst: gs_fopen_errno_to_code
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:141,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:145,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 7
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 148
    functionName: mswin_handle_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mshdl.c
    functionUses: 0
    functionsReached:
    - get_os_handle
    - gp_validate_path
    - strcpy
    - gs_fs_list_t*::fs::open_handle
    - return_error
    - _open_osfhandle
    - gs_fopen_errno_to_code
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - fdopen
    - gp_file_dealloc
    linkageType: ''
    returnType: int
    signature: "int mswin_handle_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n                   gp_file ** pfile, char *rfname, uint rnamelen,
      gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_mshdl.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - iodev
    - file
    argTypes:
    - gx_io_device*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: mswin_handle_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gp_mshdl.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: int
    signature: int mswin_handle_fclose(gx_io_device * iodev, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: dcte_init_destination
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dcte_init_destination(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: dcte_empty_output_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: boolean
    signature: boolean dcte_empty_output_buffer(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: dcte_term_destination
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dcte_term_destination(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_DCT_set_defaults
      Src: /src/libspectre/ghostscript/base/sdcte.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: s_DCTE_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached:
    - s_DCT_set_defaults
    linkageType: ''
    returnType: void
    signature: void s_DCTE_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: s_DCTE_init
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_DCTE_init(stream_state * st)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sdcte.c:91,1
    - Dst: gs_jpeg_start_compress
      Src: /src/libspectre/ghostscript/base/sdcte.c:97,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/sdcte.c:99,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:110,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:129,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:169,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:172,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:173,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:174,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:175,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:189,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sdcte.c:216,1
    - Dst: gs_jpeg_write_scanlines
      Src: /src/libspectre/ghostscript/base/sdcte.c:223,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sdcte.c:226,1
    - Dst: gs_jpeg_finish_compress
      Src: /src/libspectre/ghostscript/base/sdcte.c:243,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sdcte.c:252,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sdcte.c:255,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sdcte.c:256,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 108
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 267
    functionName: s_DCTE_process
    functionSourceFile: /src/libspectre/ghostscript/base/sdcte.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_start_compress
    - if_debug1m
    - if_debug3m
    - gs_jpeg_finish_compress
    - memcpy
    - gs_jpeg_write_scanlines
    - if_debug4m
    - if_debug2m
    - min
    linkageType: ''
    returnType: int
    signature: "int s_DCTE_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - format
    - ','
    - ap
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: Print
    functionSourceFile: /src/libspectre/ghostscript/base/ttconfig.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Print( format, ap )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: gp_semaphore_label
    functionSourceFile: /src/libspectre/ghostscript/base/gpsync.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gp_semaphore_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 90
    functionName: gp_monitor_label
    functionSourceFile: /src/libspectre/ghostscript/base/gpsync.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gp_monitor_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: gp_thread_label
    functionSourceFile: /src/libspectre/ghostscript/base/gpsync.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gp_thread_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: fpat
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fpat(byt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm2.c:55,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm2.c:56,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm2.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 59
    functionName: mem_mapped2_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_fill_rectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_mapped2_fill_rectangle(gx_device * dev,\n                           int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm2.c:76,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm2.c:78,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm2.c:79,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm2.c:143,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 146
    functionName: mem_mapped2_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mapped2_copy_mono(gx_device * dev,\n                      const
      byte * base, int sourcex, int sraster,\n                      gx_bitmap_id id,
      int x, int y, int w, int h,\n                      gx_color_index zero, gx_color_index
      one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm2.c:156,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm2.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: mem_mapped2_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mapped2_copy_color(gx_device * dev,\n                       const
      byte * base, int sourcex, int sraster,\n                       gx_bitmap_id
      id, int x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm2.c:196,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm2.c:197,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm2.c:199,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm2.c:200,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm2.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: mem2_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem2_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm2.c:218,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm2.c:219,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm2.c:222,1
    - Dst: mem_mapped2_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm2.c:223,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm2.c:225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 227
    functionName: mem2_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - mem_mapped2_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem2_word_copy_mono(gx_device * dev,\n                    const
      byte * base, int sourcex, int sraster,\n                    gx_bitmap_id id,
      int x, int y, int w, int h,\n                    gx_color_index zero, gx_color_index
      one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm2.c:237,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm2.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 247
    functionName: mem2_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm2.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem2_word_copy_color(gx_device * dev,\n                     const
      byte * base, int sourcex, int sraster,\n                     gx_bitmap_id id,
      int x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gxacpath.c:51,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxacpath.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_cpath_accum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 53
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - RELOC_PREFIX
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(device_cpath_accum_reloc_ptrs, gx_device_cpath_accum
      *pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init_on_stack
      Src: /src/libspectre/ghostscript/base/gxacpath.c:138,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxacpath.c:141,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gxacpath.c:142,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxacpath.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - padev
    - mem
    - transpose
    argTypes:
    - gx_device_cpath_accum*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 145
    functionName: gx_cpath_accum_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - gx_device_init_on_stack
    - dev_proc
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_cpath_accum_begin(gx_device_cpath_accum * padev, gs_memory_t
      * mem, bool transpose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxacpath.c:152,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxacpath.c:153,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxacpath.c:154,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxacpath.c:155,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxacpath.c:157,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxacpath.c:158,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxacpath.c:159,1
    - Dst: fixed2int_var_ceiling
      Src: /src/libspectre/ghostscript/base/gxacpath.c:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - padev
    - pbox
    argTypes:
    - gx_device_cpath_accum*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 162
    functionName: gx_cpath_accum_set_cbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - fixed2int_var
    - fixed2int_var_ceiling
    linkageType: ''
    returnType: void
    signature: "void gx_cpath_accum_set_cbox(gx_device_cpath_accum * padev,\n                        const
      gs_fixed_rect * pbox)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:170,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:171,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:172,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:173,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:175,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:176,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:177,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 180
    functionName: accum_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void accum_get_clipping_box(gx_device *dev, gs_fixed_rect *pbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxacpath.c:187,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gxacpath.c:193,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:209,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:210,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:211,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:212,1
    - Dst: clip_list_is_rectangle
      Src: /src/libspectre/ghostscript/base/gxacpath.c:220,1
    - Dst: gx_cpath_set_outer_box
      Src: /src/libspectre/ghostscript/base/gxacpath.c:227,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gxacpath.c:229,1
    - Dst: gx_cpath_assign_free
      Src: /src/libspectre/ghostscript/base/gxacpath.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 2
    argNames:
    - padev
    - pcpath
    argTypes:
    - gx_device_cpath_accum*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 233
    functionName: gx_cpath_accum_end
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_init_local
    - gs_next_ids
    - clip_list_is_rectangle
    - gx_cpath_set_outer_box
    - gx_cpath_assign_free
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: int gx_cpath_accum_end(gx_device_cpath_accum * padev, gx_clip_path
      * pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_free
      Src: /src/libspectre/ghostscript/base/gxacpath.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - padev
    argTypes:
    - gx_device_cpath_accum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: gx_cpath_accum_discard
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - gx_clip_list_free
    linkageType: ''
    returnType: void
    signature: void gx_cpath_accum_discard(gx_device_cpath_accum * padev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_current_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gxacpath.c:248,1
    - Dst: gx_cpath_accum_begin
      Src: /src/libspectre/ghostscript/base/gxacpath.c:254,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxacpath.c:255,1
    - Dst: gs_set_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gxacpath.c:256,1
    - Dst: gs_currentfilladjust
      Src: /src/libspectre/ghostscript/base/gxacpath.c:262,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:263,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxacpath.c:264,1
    - Dst: gs_currentflat_inline
      Src: /src/libspectre/ghostscript/base/gxacpath.c:265,1
    - Dst: gx_fill_path_only
      Src: /src/libspectre/ghostscript/base/gxacpath.c:267,1
    - Dst: gx_cpath_accum_end
      Src: /src/libspectre/ghostscript/base/gxacpath.c:269,1
    - Dst: gx_cpath_accum_discard
      Src: /src/libspectre/ghostscript/base/gxacpath.c:270,1
    - Dst: gs_set_logical_op_inline
      Src: /src/libspectre/ghostscript/base/gxacpath.c:271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - pcpath
    - ppath
    - rule
    - pgs
    - params0
    argTypes:
    - gx_clip_path*
    - gx_path*
    - int
    - gs_gstate*
    - gx_fill_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 243
    functionDepth: 6
    functionLinenumber: 243
    functionLinenumberEnd: 273
    functionName: gx_cpath_intersect_path_slow
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - gx_fill_path_only
    - gs_currentfilladjust
    - gx_cpath_accum_discard
    - gs_current_logical_op_inline
    - gx_cpath_accum_end
    - gs_currentflat_inline
    - gs_set_logical_op_inline
    - gx_cpath_accum_begin
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int gx_cpath_intersect_path_slow(gx_clip_path * pcpath, gx_path *
      ppath,\n                             int rule, gs_gstate *pgs,\n                             const
      gx_fill_params * params0)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 12
    argCount: 1
    argNames:
    - clp
    argTypes:
    - gx_clip_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 305
    functionName: clip_list_validate
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - clip_rect_print
    linkageType: ''
    returnType: bool
    signature: bool clip_list_validate(const gx_clip_list * clp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_clip_list_init
      Src: /src/libspectre/ghostscript/base/gxacpath.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 320
    functionName: accum_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - gx_clip_list_init
    linkageType: ''
    returnType: int
    signature: int accum_open_device(register gx_device * dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxacpath.c:336,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gxacpath.c:340,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:346,1
    - Dst: clip_list_validate
      Src: /src/libspectre/ghostscript/base/gxacpath.c:350,1
    - Dst: mlprintf1
      Src: /src/libspectre/ghostscript/base/gxacpath.c:351,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 356
    functionName: accum_close
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - clip_rect_print
    - dmlprintf6
    - return_error
    - mlprintf1
    - clip_list_validate
    linkageType: ''
    returnType: int
    signature: int accum_close(gx_device * dev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gxacpath.c:378,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - pdev1
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 379
    functionName: accum_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 1
    functionsReached:
    - gx_default_dev_spec_op
    linkageType: ''
    returnType: int
    signature: "int accum_dev_spec_op(gx_device *pdev1, int dev_spec_op,\n                void
      *data, int size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxacpath.c:393,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxacpath.c:403,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxacpath.c:406,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxacpath.c:409,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:412,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:413,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:414,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:415,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - adev
    argTypes:
    - gx_device_cpath_accum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 430
    functionName: accum_alloc_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_clip_rect
    signature: 'gx_clip_rect *

      accum_alloc_rect(gx_device_cpath_accum * adev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - ar
    - ','
    - px
    - ','
    - py
    - ','
    - qx
    - ','
    - qy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: ACCUM_ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_ALLOC(s, ar, px, py, qx, qy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - s
    - ','
    - ar
    - ','
    - px
    - ','
    - py
    - ','
    - qx
    - ','
    - qy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: ACCUM_SET
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_SET(s, ar, px, py, qx, qy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 442
    functionName: ACCUM_ADD_LAST
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_ADD_LAST(ar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ar
    - ','
    - rprev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 445
    functionName: ACCUM_ADD_AFTER
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_ADD_AFTER(ar, rprev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ar
    - ','
    - rnext
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 448
    functionName: ACCUM_ADD_BEFORE
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_ADD_BEFORE(ar, rnext)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ar
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    functionName: ACCUM_REMOVE
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_REMOVE(ar)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - ar
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 456
    functionName: ACCUM_FREE
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCUM_FREE(s, ar)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: ACCUM_SET
      Src: /src/libspectre/ghostscript/base/gxacpath.c:514,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:538,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:539,1
    - Dst: ACCUM_ADD_LAST
      Src: /src/libspectre/ghostscript/base/gxacpath.c:540,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:548,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:549,1
    - Dst: ACCUM_ADD_LAST
      Src: /src/libspectre/ghostscript/base/gxacpath.c:550,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:553,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:554,1
    - Dst: ACCUM_ADD_AFTER
      Src: /src/libspectre/ghostscript/base/gxacpath.c:578,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:583,1
    - Dst: ACCUM_FREE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:585,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:586,1
    - Dst: ACCUM_ADD_AFTER
      Src: /src/libspectre/ghostscript/base/gxacpath.c:588,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:590,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:600,1
    - Dst: ACCUM_FREE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:602,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:603,1
    - Dst: ACCUM_ADD_AFTER
      Src: /src/libspectre/ghostscript/base/gxacpath.c:605,1
    - Dst: ACCUM_ALLOC
      Src: /src/libspectre/ghostscript/base/gxacpath.c:618,1
    - Dst: ACCUM_FREE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:620,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxacpath.c:621,1
    - Dst: ACCUM_ADD_BEFORE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:623,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:643,1
    - Dst: ACCUM_FREE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:645,1
    - Dst: ACCUM_REMOVE
      Src: /src/libspectre/ghostscript/base/gxacpath.c:653,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:654,1
    - Dst: ACCUM_ADD_AFTER
      Src: /src/libspectre/ghostscript/base/gxacpath.c:656,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:668,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:671,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxacpath.c:672,1
    - Dst: clip_rect_print
      Src: /src/libspectre/ghostscript/base/gxacpath.c:680,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 176
    argCount: 6
    argNames:
    - dev
    - xi
    - yi
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 685
    functionName: accum_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxacpath.c
    functionUses: 0
    functionsReached:
    - ACCUM_SET
    - ACCUM_ADD_AFTER
    - ACCUM_ADD_LAST
    - ACCUM_ALLOC
    - ACCUM_FREE
    - clip_rect_print
    - ACCUM_REMOVE
    - return_error
    - ACCUM_ADD_BEFORE
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int accum_fill_rectangle(gx_device * dev, int xi, int yi, int w, int
      h,\n                     gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: private_st_PDiff_state
    functionSourceFile: /src/libspectre/ghostscript/base/spdiffx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_PDiff_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: s_PDiff_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/spdiffx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_PDiff_set_defaults_inline(ss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:31,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:48,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:49,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:52,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:53,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 9
    argNames:
    - mem
    - width
    - height
    - num_comps
    - comp_order
    - max_x_offset
    - max_y_offset
    - get_line
    - get_line_arg
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int*
    - int
    - int
    - ClapTrap_LineFn*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 59
    functionName: ClapTrap_Init
    functionSourceFile: /src/libspectre/ghostscript/base/claptrap-init.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: ClapTrap
    signature: "ClapTrap *ClapTrap_Init(gs_memory_t     *mem,\n                        int
      \             width,\n                        int              height,\n                        int
      \             num_comps,\n                        const int       *comp_order,\n
      \                       int              max_x_offset,\n                        int
      \             max_y_offset,\n                        ClapTrap_LineFn *get_line,\n
      \                       void            *get_line_arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:65,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:66,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/claptrap-init.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - ct
    argTypes:
    - gs_memory_t*
    - ClapTrap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: ClapTrap_Fin
    functionSourceFile: /src/libspectre/ghostscript/base/claptrap-init.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ClapTrap_Fin(gs_memory_t *mem, ClapTrap *ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 48
    functionName: s_DCT_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sdctc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_DCT_set_defaults(stream_state * st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/base/sdctc.c:58,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sdctc.c:60,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/base/sdctc.c:68,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sdctc.c:71,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/sdctc.c:71,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sdctc.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 50
    functionDepth: 3
    functionLinenumber: 50
    functionLinenumberEnd: 83
    functionName: stream_dct_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/sdctc.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_destroy
    - gs_memory_stable
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void stream_dct_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - jddp
    argTypes:
    - jpeg_decompress_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: stream_dct_end_passthrough
    functionSourceFile: /src/libspectre/ghostscript/base/sdctc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void stream_dct_end_passthrough(jpeg_decompress_data *jddp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: public_st_flp_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_flp_device()
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevflp.c:227,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevflp.c:230,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:240,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:244,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gdevflp.c:250,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gdevflp.c:263,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gdevflp.c:273,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gdevflp.c:277,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevflp.c:280,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:283,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevflp.c:285,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevflp.c:287,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevflp.c:287,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevflp.c:289,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:292,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevflp.c:294,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevflp.c:294,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gdevflp.c:296,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gdevflp.c:300,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gdevflp.c:304,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gdevflp.c:308,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevflp.c:314,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:315,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gdevflp.c:323,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevflp.c:327,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:328,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevflp.c:337,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 97
    argCount: 3
    argNames:
    - dev
    - psubclass_data
    - PageList
    argTypes:
    - gx_device*
    - first_last_subclass_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 341
    functionName: ParsePageList
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gs_alloc_bytes
    - strcmp
    - strlen
    - strchr
    - memset
    - memcpy
    - emprintf
    - return_error
    - atoi
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int ParsePageList(gx_device *dev, first_last_subclass_data *psubclass_data,
      char *PageList)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: ParsePageList
      Src: /src/libspectre/ghostscript/base/gdevflp.c:354,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 400
    functionName: SkipPage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - ParsePageList
    linkageType: ''
    returnType: int
    signature: int SkipPage(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:408,1
    - Dst: default_subclass_output_page
      Src: /src/libspectre/ghostscript/base/gdevflp.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 414
    functionName: flp_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_output_page
    linkageType: ''
    returnType: int
    signature: int flp_output_page(gx_device *dev, int num_copies, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:422,1
    - Dst: default_subclass_close_device
      Src: /src/libspectre/ghostscript/base/gdevflp.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 428
    functionName: flp_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - gs_free
    - default_subclass_close_device
    linkageType: ''
    returnType: int
    signature: int flp_close_device(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:432,1
    - Dst: default_subclass_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 440
    functionName: flp_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_rectangle
    linkageType: ''
    returnType: int
    signature: int flp_fill_rectangle(gx_device *dev, int x, int y, int width, int
      height, gx_color_index color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:446,1
    - Dst: default_subclass_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 454
    functionName: flp_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_tile_rectangle
    linkageType: ''
    returnType: int
    signature: "int flp_tile_rectangle(gx_device *dev, const gx_tile_bitmap *tile,
      int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:460,1
    - Dst: default_subclass_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevflp.c:465,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: flp_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_mono
    linkageType: ''
    returnType: int
    signature: "int flp_copy_mono(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n    gx_color_index
      color0, gx_color_index color1)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:473,1
    - Dst: default_subclass_copy_color
      Src: /src/libspectre/ghostscript/base/gdevflp.c:478,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 481
    functionName: flp_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_color
    linkageType: ''
    returnType: int
    signature: "int flp_copy_color(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\\\n    int x, int y, int width, int height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:485,1
    - Dst: default_subclass_draw_line
      Src: /src/libspectre/ghostscript/base/gdevflp.c:490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - x0
    - y0
    - x1
    - y1
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: flp_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_draw_line
    linkageType: ''
    returnType: int
    signature: int flp_draw_line(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index
      color)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:497,1
    - Dst: default_subclass_get_bits
      Src: /src/libspectre/ghostscript/base/gdevflp.c:502,1
    - Dst: gx_default_get_bits
      Src: /src/libspectre/ghostscript/base/gdevflp.c:504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 505
    functionName: flp_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - gx_default_get_bits
    - default_subclass_get_bits
    linkageType: ''
    returnType: int
    signature: int flp_get_bits(gx_device *dev, int y, byte *data, byte **actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:513,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 516
    functionName: flp_rc_free_pages_list
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void flp_rc_free_pages_list(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevflp.c:525,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevflp.c:534,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:538,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevflp.c:544,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevflp.c:553,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:557,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevflp.c:563,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevflp.c:575,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevflp.c:583,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:586,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevflp.c:591,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:593,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevflp.c:594,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:596,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:598,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevflp.c:600,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevflp.c:601,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gdevflp.c:603,1
    - Dst: default_subclass_put_params
      Src: /src/libspectre/ghostscript/base/gdevflp.c:609,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 518
    functionDepth: 2
    functionLinenumber: 518
    functionLinenumberEnd: 618
    functionName: flp_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - default_subclass_put_params
    - rc_init_free
    - gs_alloc_bytes
    - gs_note_error
    - param_read_int
    - memset
    - memcpy
    - rc_decrement
    - param_read_bool
    - gs_free
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int flp_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:622,1
    - Dst: default_subclass_get_alpha_bits
      Src: /src/libspectre/ghostscript/base/gdevflp.c:627,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - type
    argTypes:
    - gx_device*
    - graphics_object_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 630
    functionName: flp_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_get_alpha_bits
    linkageType: ''
    returnType: int
    signature: int flp_get_alpha_bits(gx_device *dev, graphics_object_type type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:636,1
    - Dst: default_subclass_copy_alpha
      Src: /src/libspectre/ghostscript/base/gdevflp.c:641,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 632
    functionDepth: 3
    functionLinenumber: 632
    functionLinenumberEnd: 644
    functionName: flp_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_alpha
    linkageType: ''
    returnType: int
    signature: "int flp_copy_alpha(gx_device *dev, const byte *data, int data_x,\n
      \   int raster, gx_bitmap_id id, int x, int y, int width, int height,\n    gx_color_index
      color, int depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:648,1
    - Dst: default_subclass_get_band
      Src: /src/libspectre/ghostscript/base/gdevflp.c:653,1
    - Dst: gx_default_get_band
      Src: /src/libspectre/ghostscript/base/gdevflp.c:655,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - y
    - band_start
    argTypes:
    - gx_device*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 656
    functionName: flp_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - gx_default_get_band
    - default_subclass_get_band
    linkageType: ''
    returnType: int
    signature: int flp_get_band(gx_device *dev, int y, int *band_start)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:664,1
    - Dst: default_subclass_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevflp.c:669,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 672
    functionName: flp_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_rop
    linkageType: ''
    returnType: int
    signature: "int flp_copy_rop(gx_device *dev, const byte *sdata, int sourcex, uint
      sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n    const gx_tile_bitmap
      *texture, const gx_color_index *tcolors,\n    int x, int y, int width, int height,\n
      \   int phase_x, int phase_y, gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:678,1
    - Dst: default_subclass_fill_path
      Src: /src/libspectre/ghostscript/base/gdevflp.c:683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 686
    functionName: flp_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_path
    linkageType: ''
    returnType: int
    signature: "int flp_fill_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath,\n
      \   const gx_fill_params *params,\n    const gx_drawing_color *pdcolor, const
      gx_clip_path *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:692,1
    - Dst: default_subclass_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevflp.c:697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 700
    functionName: flp_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_stroke_path
    linkageType: ''
    returnType: int
    signature: "int flp_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_stroke_params *params,\n    const gx_drawing_color *pdcolor,
      const gx_clip_path *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:707,1
    - Dst: default_subclass_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevflp.c:712,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 702
    functionDepth: 3
    functionLinenumber: 702
    functionLinenumberEnd: 715
    functionName: flp_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_mask
    linkageType: ''
    returnType: int
    signature: "int flp_fill_mask(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n    const
      gx_drawing_color *pdcolor, int depth,\n    gs_logical_operation_t lop, const
      gx_clip_path *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:721,1
    - Dst: default_subclass_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevflp.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 717
    functionDepth: 3
    functionLinenumber: 717
    functionLinenumberEnd: 729
    functionName: flp_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int flp_fill_trapezoid(gx_device *dev, const gs_fixed_edge *left,
      const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, bool swap_axes,\n    const
      gx_drawing_color *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:734,1
    - Dst: default_subclass_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevflp.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 731
    functionDepth: 3
    functionLinenumber: 731
    functionLinenumberEnd: 742
    functionName: flp_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_parallelogram
    linkageType: ''
    returnType: int
    signature: "int flp_fill_parallelogram(gx_device *dev, fixed px, fixed py, fixed
      ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:747,1
    - Dst: default_subclass_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 744
    functionDepth: 3
    functionLinenumber: 744
    functionLinenumberEnd: 755
    functionName: flp_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int flp_fill_triangle(gx_device *dev, fixed px, fixed py, fixed ax,
      fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:761,1
    - Dst: default_subclass_draw_thin_line
      Src: /src/libspectre/ghostscript/base/gdevflp.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 757
    functionDepth: 3
    functionLinenumber: 757
    functionLinenumberEnd: 769
    functionName: flp_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_draw_thin_line
    linkageType: ''
    returnType: int
    signature: "int flp_draw_thin_line(gx_device *dev, fixed fx0, fixed fy0, fixed
      fx1, fixed fy1,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop,\n    fixed adjustx, fixed adjusty)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:776,1
    - Dst: default_subclass_begin_image
      Src: /src/libspectre/ghostscript/base/gdevflp.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 784
    functionName: flp_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_begin_image
    linkageType: ''
    returnType: int
    signature: "int flp_begin_image(gx_device *dev, const gs_gstate *pgs, const gs_image_t
      *pim,\n    gs_image_format_t format, const gs_int_rect *prect,\n    const gx_drawing_color
      *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t *memory, gx_image_enum_common_t
      **pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:789,1
    - Dst: default_subclass_image_data
      Src: /src/libspectre/ghostscript/base/gdevflp.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - info
    - planes
    - data_x
    - raster
    - height
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - byte**
    - int
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 797
    functionName: flp_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_image_data
    linkageType: ''
    returnType: int
    signature: "int flp_image_data(gx_device *dev, gx_image_enum_common_t *info, const
      byte **planes, int data_x,\n    uint raster, int height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:801,1
    - Dst: default_subclass_end_image
      Src: /src/libspectre/ghostscript/base/gdevflp.c:806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - info
    - draw_last
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 799
    functionDepth: 3
    functionLinenumber: 799
    functionLinenumberEnd: 809
    functionName: flp_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_end_image
    linkageType: ''
    returnType: int
    signature: int flp_end_image(gx_device *dev, gx_image_enum_common_t *info, bool
      draw_last)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:815,1
    - Dst: default_subclass_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 811
    functionDepth: 3
    functionLinenumber: 811
    functionLinenumberEnd: 823
    functionName: flp_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_strip_tile_rectangle
    linkageType: ''
    returnType: int
    signature: "int flp_strip_tile_rectangle(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:831,1
    - Dst: default_subclass_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevflp.c:836,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 839
    functionName: flp_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_strip_copy_rop
    linkageType: ''
    returnType: int
    signature: "int flp_strip_copy_rop(gx_device *dev, const byte *sdata, int sourcex,
      uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n    const
      gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int x, int y,
      int width, int height,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gdevflp.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pie
    argTypes:
    - flp_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 857
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 1
    functionsReached:
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(flp_image_enum_reloc_ptrs, flp_image_enum
      *pie)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 858
    functionDepth: 0
    functionLinenumber: 858
    functionLinenumberEnd: 873
    functionName: flp_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END flp_image_plane_data(gx_image_enum_common_t * info,\n
      \                    const gx_image_plane_t * planes, int height,\n                     int
      *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 879
    functionName: flp_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flp_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:894,1
    - Dst: default_subclass_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevflp.c:899,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gdevflp.c:907,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gdevflp.c:909,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevflp.c:912,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:915,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevflp.c:916,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gdevflp.c:918,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 886
    functionDepth: 3
    functionLinenumber: 886
    functionLinenumberEnd: 926
    functionName: flp_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - gx_image_enum_common_init
    - gs_color_space_num_components
    - default_subclass_begin_typed_image
    - memset
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int flp_begin_typed_image(gx_device *dev, const gs_gstate *pgs, const
      gs_matrix *pmat,\n    const gs_image_common_t *pic, const gs_int_rect *prect,\n
      \   const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t
      *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:931,1
    - Dst: default_subclass_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:936,1
    - Dst: gx_default_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:938,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 928
    functionDepth: 3
    functionLinenumber: 928
    functionLinenumberEnd: 939
    functionName: flp_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - gx_default_get_bits_rectangle
    - default_subclass_get_bits_rectangle
    linkageType: ''
    returnType: int
    signature: "int flp_get_bits_rectangle(gx_device *dev, const gs_int_rect *prect,\n
      \   gs_get_bits_params_t *params, gs_int_rect **unread)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:944,1
    - Dst: default_subclass_create_compositor
      Src: /src/libspectre/ghostscript/base/gdevflp.c:957,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 941
    functionDepth: 3
    functionLinenumber: 941
    functionLinenumberEnd: 960
    functionName: flp_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_create_compositor
    linkageType: ''
    returnType: int
    signature: "int flp_create_compositor(gx_device *dev, gx_device **pcdev, const
      gs_composite_t *pcte,\n    gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: flp_text_resync
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flp_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 986
    functionName: flp_text_process
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flp_text_process(gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 991
    functionName: flp_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool flp_text_is_width_only(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 996
    functionName: flp_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flp_text_current_width(const gs_text_enum_t *pte, gs_point *pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pte
    - pw
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 1002
    functionName: flp_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int flp_text_set_cache(gs_text_enum_t *pte, const double *pw,\n                   gs_text_cache_control_t
      control)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1007
    functionName: flp_text_retry
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int flp_text_retry(gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_release
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1012
    functionName: flp_text_release
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - gx_default_text_release
    linkageType: ''
    returnType: void
    signature: void flp_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_text_begin
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1042,1
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1044,1
    - Dst: default_subclass_text_begin
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1048,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1050,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1051,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1053,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1056,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1062
    functionName: flp_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - rc_alloc_struct_1
    - default_subclass_text_begin
    - gs_text_enum_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int flp_text_begin(gx_device *dev, gs_gstate *pgs, const gs_text_params_t
      *text,\n    gs_font *font, gx_path *path, const gx_device_color *pdcolor, const
      gx_clip_path *pcpath,\n    gs_memory_t *memory, gs_text_enum_t **ppte)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1067,1
    - Dst: default_subclass_begin_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1072,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gs_transparency_group_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1075
    functionName: flp_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_begin_transparency_group
    linkageType: ''
    returnType: int
    signature: "int flp_begin_transparency_group(gx_device *dev, const gs_transparency_group_params_t
      *ptgp,\n    const gs_rect *pbbox, gs_gstate *pgs, gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1079,1
    - Dst: default_subclass_end_transparency_group
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1084,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1077
    functionDepth: 3
    functionLinenumber: 1077
    functionLinenumberEnd: 1087
    functionName: flp_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_end_transparency_group
    linkageType: ''
    returnType: int
    signature: int flp_end_transparency_group(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1092,1
    - Dst: default_subclass_begin_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - ptmp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gx_transparency_mask_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1089
    functionDepth: 3
    functionLinenumber: 1089
    functionLinenumberEnd: 1100
    functionName: flp_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_begin_transparency_mask
    linkageType: ''
    returnType: int
    signature: "int flp_begin_transparency_mask(gx_device *dev, const gx_transparency_mask_params_t
      *ptmp,\n    const gs_rect *pbbox, gs_gstate *pgs, gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1104,1
    - Dst: default_subclass_end_transparency_mask
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1102
    functionDepth: 3
    functionLinenumber: 1102
    functionLinenumberEnd: 1112
    functionName: flp_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_end_transparency_mask
    linkageType: ''
    returnType: int
    signature: int flp_end_transparency_mask(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1116,1
    - Dst: default_subclass_discard_transparency_layer
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1124
    functionName: flp_discard_transparency_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_discard_transparency_layer
    linkageType: ''
    returnType: int
    signature: int flp_discard_transparency_layer(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1129,1
    - Dst: default_subclass_pattern_manage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - id
    - pinst
    - function
    argTypes:
    - gx_device*
    - gx_bitmap_id
    - gs_pattern1_instance_t*
    - pattern_manage_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1126
    functionDepth: 3
    functionLinenumber: 1126
    functionLinenumberEnd: 1137
    functionName: flp_pattern_manage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_pattern_manage
    linkageType: ''
    returnType: int
    signature: "int flp_pattern_manage(gx_device *dev, gx_bitmap_id id,\n                gs_pattern1_instance_t
      *pinst, pattern_manage_t function)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1142,1
    - Dst: default_subclass_fill_rectangle_hl_color
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1147,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1150
      start: 1139
    functionDepth: 3
    functionLinenumber: 1139
    functionLinenumberEnd: 1150
    functionName: flp_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_rectangle_hl_color
    linkageType: ''
    returnType: int
    signature: "int flp_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n        const gs_gstate *pgs, const gx_drawing_color *pdcolor, const
      gx_clip_path *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1156,1
    - Dst: default_subclass_fill_linear_color_scanline
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - fa
    - i
    - j
    - w
    - c0
    - c0_f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1152
    functionDepth: 3
    functionLinenumber: 1152
    functionLinenumberEnd: 1164
    functionName: flp_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_linear_color_scanline
    linkageType: ''
    returnType: int
    signature: "int flp_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i, int j, int w, const frac31 *c0, const int32_t *c0_f, const
      int32_t *cg_num,\n        int32_t cg_den)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1172,1
    - Dst: default_subclass_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1166
    functionDepth: 3
    functionLinenumber: 1166
    functionLinenumberEnd: 1180
    functionName: flp_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_linear_color_trapezoid
    linkageType: ''
    returnType: int
    signature: "int flp_fill_linear_color_trapezoid(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1186,1
    - Dst: default_subclass_fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1182
    functionDepth: 3
    functionLinenumber: 1182
    functionLinenumberEnd: 1194
    functionName: flp_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_linear_color_triangle
    linkageType: ''
    returnType: int
    signature: "int flp_fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const frac31 *c0, const frac31 *c1, const frac31 *c2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1198,1
    - Dst: default_subclass_fillpage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1196
    functionDepth: 3
    functionLinenumber: 1196
    functionLinenumberEnd: 1206
    functionName: flp_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fillpage
    linkageType: ''
    returnType: int
    signature: int flp_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color *pdevc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1210,1
    - Dst: default_subclass_push_transparency_state
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: flp_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_push_transparency_state
    linkageType: ''
    returnType: int
    signature: int flp_push_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1222,1
    - Dst: default_subclass_pop_transparency_state
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1220
    functionDepth: 3
    functionLinenumber: 1220
    functionLinenumberEnd: 1230
    functionName: flp_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_pop_transparency_state
    linkageType: ''
    returnType: int
    signature: int flp_pop_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1236,1
    - Dst: default_subclass_put_image
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - mdev
    - buffers
    - num_chan
    - x
    - y
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1244
      start: 1232
    functionDepth: 3
    functionLinenumber: 1232
    functionLinenumberEnd: 1244
    functionName: flp_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_put_image
    linkageType: ''
    returnType: int
    signature: "int flp_put_image(gx_device *dev, gx_device *mdev, const byte **buffers,
      int num_chan, int x, int y,\n            int width, int height, int row_stride,\n
      \           int alpha_plane_index, int tag_plane_index)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1249,1
    - Dst: default_subclass_copy_planes
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1246
    functionDepth: 3
    functionLinenumber: 1246
    functionLinenumberEnd: 1257
    functionName: flp_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_planes
    linkageType: ''
    returnType: int
    signature: "int flp_copy_planes(gx_device *dev, const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int width, int height, int plane_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1263,1
    - Dst: default_subclass_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1259
    functionDepth: 3
    functionLinenumber: 1259
    functionLinenumberEnd: 1271
    functionName: flp_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_strip_copy_rop2
    linkageType: ''
    returnType: int
    signature: "int flp_strip_copy_rop2(gx_device *dev, const byte *sdata, int sourcex,
      uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors, const gx_strip_bitmap
      *textures, const gx_color_index *tcolors,\n    int x, int y, int width, int
      height, int phase_x, int phase_y, gs_logical_operation_t lop, uint planar_height)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1276,1
    - Dst: default_subclass_strip_tile_rect_devn
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - pdcolor0
    - pdcolor1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1273
    functionDepth: 3
    functionLinenumber: 1273
    functionLinenumberEnd: 1284
    functionName: flp_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_strip_tile_rect_devn
    linkageType: ''
    returnType: int
    signature: "int flp_strip_tile_rect_devn(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    const gx_drawing_color *pdcolor0,
      const gx_drawing_color *pdcolor1, int phase_x, int phase_y)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1290,1
    - Dst: default_subclass_copy_alpha_hl_color
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1286
    functionDepth: 3
    functionLinenumber: 1286
    functionLinenumberEnd: 1298
    functionName: flp_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_copy_alpha_hl_color
    linkageType: ''
    returnType: int
    signature: "int flp_copy_alpha_hl_color(gx_device *dev, const byte *data, int
      data_x,\n    int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \   const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1302,1
    - Dst: default_subclass_process_page
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1307,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1300
    functionDepth: 3
    functionLinenumber: 1300
    functionLinenumberEnd: 1310
    functionName: flp_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_process_page
    linkageType: ''
    returnType: int
    signature: int flp_process_page(gx_device *dev, gx_process_page_options_t *options)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1317,1
    - Dst: default_subclass_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1312
    functionDepth: 3
    functionLinenumber: 1312
    functionLinenumberEnd: 1325
    functionName: flp_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_fill_stroke_path
    linkageType: ''
    returnType: int
    signature: "int flp_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill,\n
      \   const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke,\n
      \   const gx_clip_path *pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SkipPage
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1329,1
    - Dst: default_subclass_transform_pixel_region
      Src: /src/libspectre/ghostscript/base/gdevflp.c:1334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1327
    functionDepth: 3
    functionLinenumber: 1327
    functionLinenumberEnd: 1337
    functionName: flp_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevflp.c
    functionUses: 0
    functionsReached:
    - SkipPage
    - default_subclass_transform_pixel_region
    linkageType: ''
    returnType: int
    signature: int flp_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - inner
    - ','
    - outer
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: rect_within
    functionSourceFile: /src/libspectre/ghostscript/base/gsrect.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rect_within(inner, outer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - from
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 41
    functionName: rect_intersect
    functionSourceFile: /src/libspectre/ghostscript/base/gsrect.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rect_intersect(to, from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - to
    - ','
    - from
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: rect_merge
    functionSourceFile: /src/libspectre/ghostscript/base/gsrect.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rect_merge(to, from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ax
    - ','
    - ay
    - ','
    - bx
    - ','
    - by
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: PARALLELOGRAM_IS_RECT
    functionSourceFile: /src/libspectre/ghostscript/base/gsrect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARALLELOGRAM_IS_RECT(ax, ay, bx, by)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - prect
    - ','
    - px
    - ','
    - py
    - ','
    - ax
    - ','
    - ay
    - ','
    - bx
    - ','
    - by
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: INT_RECT_FROM_PARALLELOGRAM
    functionSourceFile: /src/libspectre/ghostscript/base/gsrect.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INT_RECT_FROM_PARALLELOGRAM(prect, px, py, ax, ay, bx, by)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gsdparam.c:51,1
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gsdparam.c:55,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:56,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:57,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:58,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:60,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:61,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:63,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:64,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gsdparam.c:67,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - orig_dev
    - plist
    - is_hardware
    argTypes:
    - gx_device*
    - gs_param_list*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 69
    functionName: gs_get_device_or_hw_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_copydevice
    - gx_device_set_procs
    - fill_dev_proc
    - dev_proc
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: "int gs_get_device_or_hw_params(gx_device * orig_dev, gs_param_list
      * plist,\n                           bool is_hardware)"
  - BBCount: 93
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:93,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:95,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:96,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:99,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:101,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:102,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:105,1
    - Dst: get_process_color_model_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:106,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:112,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:113,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:116,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:118,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:119,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:121,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:123,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:125,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:127,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:129,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:131,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:132,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:134,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:136,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:138,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:140,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:143,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:145,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:148,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:150,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:151,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:153,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:155,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:157,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:158,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:162,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:168,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:169,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:171,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:173,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:174,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:176,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:178,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:179,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:181,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:183,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:184,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:186,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:188,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:190,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:191,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:193,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:195,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:197,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsdparam.c:198,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:200,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:201,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:203,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:204,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:207,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:208,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:211,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:212,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:215,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:216,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:218,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:219,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:221,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:222,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:224,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:225,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:227,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:228,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:230,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:231,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:233,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:234,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:236,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:237,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:239,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:241,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:243,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:246,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:248,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:255,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:256,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:258,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:259,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:261,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:262,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:264,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsdparam.c:265,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:268,1
    - Dst: param_HWColorMap
      Src: /src/libspectre/ghostscript/base/gsdparam.c:271,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:276,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:290,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/base/gsdparam.c:294,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:297,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:304,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:309,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:317,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:319,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:323,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:325,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:329,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:331,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:335,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:337,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:349,1
    - Dst: gsicc_get_dev_icccolorants
      Src: /src/libspectre/ghostscript/base/gsdparam.c:354,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:356,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:358,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:363,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:368,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:369,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:370,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:371,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:372,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:374,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:375,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:377,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:378,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:380,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:381,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:383,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:384,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:386,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:387,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:389,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:390,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:392,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:393,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:395,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:396,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:398,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:399,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:401,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:402,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:404,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:405,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:407,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:408,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:410,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:411,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:413,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:414,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:416,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:417,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:419,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:420,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:422,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:423,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:425,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:426,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:428,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:429,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:431,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:432,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:434,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:435,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:437,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:438,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:440,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:441,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:443,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:444,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:446,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:447,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:449,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:450,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:452,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:453,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:455,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:456,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:458,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:459,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:461,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:463,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:465,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:469,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:472,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:473,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:475,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:477,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:479,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:481,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:483,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:485,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:488,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 330
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 489
    functionName: gx_default_get_param
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 1
    functionsReached:
    - param_write_name
    - param_write_int_array
    - param_write_long
    - param_write_size_t
    - param_string_from_string
    - set_param_array
    - param_write_bool
    - param_HWColorMap
    - param_write_string
    - param_string_from_transient_string
    - param_write_null
    - strcmp
    - param_write_name_array
    - gsicc_get_dev_icccolorants
    - param_write_int
    - dev_proc
    - gsicc_init_device_profile_struct
    - param_write_float_array
    - get_process_color_model_name
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_default_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:532,1
    - Dst: get_process_color_model_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:534,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:539,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:544,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:545,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:546,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:547,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:548,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:553,1
    - Dst: set_param_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:554,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:562,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:563,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/base/gsdparam.c:568,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:571,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:582,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:587,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:596,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:598,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:602,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:604,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:608,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:610,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:614,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:616,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:628,1
    - Dst: gsicc_get_dev_icccolorants
      Src: /src/libspectre/ghostscript/base/gsdparam.c:633,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:635,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:637,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:642,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:647,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:648,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:649,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:650,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:651,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:656,1
    - Dst: PAGESIZE_IS_MEDIASIZE
      Src: /src/libspectre/ghostscript/base/gsdparam.c:657,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:658,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsdparam.c:661,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:662,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:664,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:665,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:666,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:667,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:669,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:671,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:672,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:673,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:674,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:675,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:679,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:680,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:681,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:682,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:683,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:684,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:685,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:686,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:687,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:688,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:689,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:690,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:691,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:692,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:693,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:694,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:695,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:696,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:697,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:698,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:699,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:700,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:701,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:702,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:703,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:704,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:705,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:706,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:707,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:708,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:709,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:710,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:711,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:712,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsdparam.c:713,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:714,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:715,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:717,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:719,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:721,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:722,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:723,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:724,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:725,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:726,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:727,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/base/gsdparam.c:728,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:729,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:736,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:738,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:742,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:744,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:748,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:753,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:756,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:757,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:761,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:764,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:767,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:776,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:777,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:778,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsdparam.c:779,1
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/base/gsdparam.c:783,1
    - Dst: param_HWColorMap
      Src: /src/libspectre/ghostscript/base/gsdparam.c:786,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:791,1
    CyclomaticComplexity: 95
    EdgeCount: 95
    ICount: 130
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 797
    functionName: gx_default_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 6
    functionsReached:
    - param_write_name
    - param_write_int_array
    - param_requested
    - param_write_long
    - param_write_size_t
    - param_string_from_string
    - set_param_array
    - param_write_bool
    - param_HWColorMap
    - param_string_from_transient_string
    - param_write_string
    - param_write_null
    - param_write_name_array
    - gsicc_get_dev_icccolorants
    - param_write_int
    - dev_proc
    - PAGESIZE_IS_MEDIASIZE
    - gsicc_init_device_profile_struct
    - param_write_float_array
    - get_process_color_model_name
    linkageType: ''
    returnType: int
    signature: int gx_default_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - d
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 519
    functionName: set_param_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_param_array(a, d, s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:811,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:815,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gsdparam.c:818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - palette
    argTypes:
    - gx_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 823
    functionName: param_HWColorMap
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 2
    functionsReached:
    - gx_color_value_to_byte
    - dev_proc
    - fill_dev_proc
    linkageType: ''
    returnType: bool
    signature: bool param_HWColorMap(gx_device * dev, byte * palette /* 3 << 8 */
      )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 826
    functionDepth: 0
    functionLinenumber: 826
    functionLinenumberEnd: 830
    functionName: gx_default_get_hardware_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_get_hardware_params(gx_device * dev, gs_param_list *
      plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:843,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mlist
    - key
    - media_type
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 835
    functionDepth: 1
    functionLinenumber: 835
    functionLinenumberEnd: 847
    functionName: finish_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_string
    linkageType: ''
    returnType: int
    signature: int finish_media(gs_param_list * mlist, gs_param_name key, const char
      *media_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mlist
    - pdict
    - count
    argTypes:
    - gs_param_list*
    - gs_param_dict*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 862
    functionName: gdev_begin_input_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 1
    functionsReached:
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: "int gdev_begin_input_media(gs_param_list * mlist, gs_param_dict *
      pdict,\n                       int count)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdparam.c:873,1
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:875,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:888,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:894,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:895,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/base/gsdparam.c:907,1
    - Dst: finish_media
      Src: /src/libspectre/ghostscript/base/gsdparam.c:912,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:915,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 3
    argNames:
    - index
    - pdict
    - pim
    argTypes:
    - int
    - gs_param_dict*
    - gdev_input_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 864
    functionDepth: 5
    functionLinenumber: 864
    functionLinenumberEnd: 916
    functionName: gdev_write_input_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_string_from_string
    - finish_media
    - param_write_float
    - gs_sprintf
    - param_write_float_array
    - param_begin_write_dict
    - param_end_write_dict
    linkageType: ''
    returnType: int
    signature: "int gdev_write_input_media(int index, gs_param_dict * pdict,\n                       const
      gdev_input_media_t * pim)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_write_input_media
      Src: /src/libspectre/ghostscript/base/gsdparam.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - index
    - pdict
    - width_points
    - height_points
    argTypes:
    - int
    - gs_param_dict*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 6
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: gdev_write_input_page_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 1
    functionsReached:
    - gdev_write_input_media
    linkageType: ''
    returnType: int
    signature: "int gdev_write_input_page_size(int index, gs_param_dict * pdict,\n
      \                          double width_points, double height_points)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:935,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mlist
    - pdict
    argTypes:
    - gs_param_list*
    - gs_param_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 936
    functionName: gdev_end_input_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 1
    functionsReached:
    - param_end_write_dict
    linkageType: ''
    returnType: int
    signature: int gdev_end_input_media(gs_param_list * mlist, gs_param_dict * pdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mlist
    - pdict
    - count
    argTypes:
    - gs_param_list*
    - gs_param_dict*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 951
    functionName: gdev_begin_output_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: "int gdev_begin_output_media(gs_param_list * mlist, gs_param_dict *
      pdict,\n                        int count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdparam.c:961,1
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:963,1
    - Dst: finish_media
      Src: /src/libspectre/ghostscript/base/gsdparam.c:966,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:969,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - index
    - pdict
    - pom
    argTypes:
    - int
    - gs_param_dict*
    - gdev_output_media_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 953
    functionDepth: 5
    functionLinenumber: 953
    functionLinenumberEnd: 970
    functionName: gdev_write_output_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - param_end_write_dict
    - finish_media
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: "int gdev_write_output_media(int index, gs_param_dict * pdict,\n                        const
      gdev_output_media_t * pom)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsdparam.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mlist
    - pdict
    argTypes:
    - gs_param_list*
    - gs_param_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 976
    functionName: gdev_end_output_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_end_write_dict
    linkageType: ''
    returnType: int
    signature: int gdev_end_output_media(gs_param_list * mlist, gs_param_dict * pdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - plist
    - ','
    - pname
    - ','
    - ival
    - ','
    - is_defined
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 990
    functionName: param_check_int
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_check_int(plist, pname, ival, is_defined)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - plist
    - ','
    - pname
    - ','
    - str
    - ','
    - is_defined
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 992
    functionDepth: 0
    functionLinenumber: 992
    functionLinenumberEnd: 995
    functionName: param_check_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: param_check_string(plist, pname, str, is_defined)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1005,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1006,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1007,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1008,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1010
    functionName: gs_putdeviceparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 4
    functionsReached:
    - dev_proc
    - gx_device_set_procs
    - fill_dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_putdeviceparams(gx_device * dev, gs_param_list * plist)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1022,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1031,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1036,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - graydetection
    - dev
    argTypes:
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1046
    functionName: gx_default_put_graydetection
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_put_graydetection(bool graydetection, gx_device * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1058,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1067,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1069,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1073,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1076,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1079,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - graytok
    - dev
    argTypes:
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1048
    functionDepth: 2
    functionLinenumber: 1048
    functionLinenumberEnd: 1084
    functionName: gx_default_put_graytok
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_put_graytok(bool graytok, gx_device * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1096,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1107,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1111,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - prebandthreshold
    - dev
    argTypes:
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1122
    functionName: gx_default_put_prebandthreshold
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_put_prebandthreshold(bool prebandthreshold, gx_device
      * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1134,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1143,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1145,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1149,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1152,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1155,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - fastcolor
    - dev
    argTypes:
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1160
      start: 1124
    functionDepth: 2
    functionLinenumber: 1124
    functionLinenumberEnd: 1160
    functionName: gx_default_put_usefastcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_put_usefastcolor(bool fastcolor, gx_device * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1172,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1183,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1187,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1190,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1193,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - sim_overprint
    - dev
    argTypes:
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1162
    functionDepth: 2
    functionLinenumber: 1162
    functionLinenumberEnd: 1198
    functionName: gx_default_put_simulateoverprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_put_simulateoverprint(bool sim_overprint, gx_device
      * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1211,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1218,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1220,1
    - Dst: gsicc_set_device_profile_intent
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1222,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1224,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1229,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1231,1
    - Dst: gsicc_set_device_profile_intent
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - icc_intent
    - dev
    - index
    argTypes:
    - gsicc_rendering_intents_t
    - gx_device*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1236
    functionName: gx_default_put_intent
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - gsicc_set_device_profile_intent
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_put_intent(gsicc_rendering_intents_t icc_intent, gx_device
      * dev,\n                   gsicc_profile_types_t index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1249,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1256,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1258,1
    - Dst: gsicc_set_device_blackpreserve
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1260,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1262,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1267,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1269,1
    - Dst: gsicc_set_device_blackpreserve
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1271,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - blackpreserve
    - dev
    - index
    argTypes:
    - gsicc_blackpreserve_t
    - gx_device*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1238
    functionDepth: 2
    functionLinenumber: 1238
    functionLinenumberEnd: 1274
    functionName: gx_default_put_blackpreserve
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_new_device_profile_array
    - gsicc_set_device_blackpreserve
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_put_blackpreserve(gsicc_blackpreserve_t blackpreserve,
      gx_device * dev,\n                           gsicc_profile_types_t index)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1290,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1299,1
    - Dst: gsicc_set_device_blackptcomp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1301,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1303,1
    - Dst: gsicc_new_device_profile_array
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1308,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1310,1
    - Dst: gsicc_set_device_blackptcomp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1312,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - blackptcomp
    - dev
    - index
    argTypes:
    - gsicc_blackptcomp_t
    - gx_device*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1279
    functionDepth: 2
    functionLinenumber: 1279
    functionLinenumberEnd: 1315
    functionName: gx_default_put_blackptcomp
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - gsicc_set_device_blackptcomp
    - gsicc_new_device_profile_array
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_put_blackptcomp(gsicc_blackptcomp_t blackptcomp, gx_device
      * dev,\n                           gsicc_profile_types_t index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1326,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1327,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1329,1
    - Dst: gsicc_set_device_profile_colorants
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1332,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - colorants
    - dev
    argTypes:
    - gs_param_string*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1335
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1335
    functionName: gx_default_put_icc_colorants
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memcpy
    - fill_dev_proc
    - gsicc_set_device_profile_colorants
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_default_put_icc_colorants(gs_param_string *colorants, gx_device
      * dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1351,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1356,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1357,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1360,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - icc_pro
    - dev
    - index
    argTypes:
    - gs_param_string*
    - gx_device*
    - gsicc_profile_types_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1337
    functionDepth: 3
    functionLinenumber: 1337
    functionLinenumberEnd: 1364
    functionName: gx_default_put_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gsicc_init_device_profile_struct
    - memcpy
    - fill_dev_proc
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_default_put_icc(gs_param_string *icc_pro, gx_device * dev,\n
      \                  gsicc_profile_types_t index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1372,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - ptr_in
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1375
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1375
    functionName: rc_free_pages_list
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void rc_free_pages_list(gs_memory_t * mem, void *ptr_in, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_currentcoloraccuracy
      Src: /src/libspectre/ghostscript/base/gsdparam.c:1433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1470
    functionName: gx_default_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 6
    functionsReached:
    - gsicc_currentcoloraccuracy
    linkageType: ''
    returnType: int
    signature: int gx_default_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pread
    - ','
    - pname
    - ','
    - pa
    - ','
    - psize
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1463
    functionDepth: 0
    functionLinenumber: 1463
    functionLinenumberEnd: 1469
    functionName: BEGIN_ARRAY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_ARRAY_PARAM(pread, pname, pa, psize, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - member
    - ','
    - bad
    - ','
    - label
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1785
    functionDepth: 0
    functionLinenumber: 1785
    functionLinenumberEnd: 1798
    functionName: CHECK_PARAM_CASES
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_PARAM_CASES(member, bad, label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pname
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1840
    functionName: IGNORE_INT_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IGNORE_INT_PARAM(pname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - le_req
    argTypes:
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2148
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2148
    functionName: gx_device_request_leadingedge
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_request_leadingedge(gx_device *dev, int le_req)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - max_gray
    - bits
    argTypes:
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2153
    functionDepth: 0
    functionLinenumber: 2153
    functionLinenumberEnd: 2159
    functionName: param_normalize_anti_alias_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - ilog2
    linkageType: ''
    returnType: int
    signature: int param_normalize_anti_alias_bits( uint max_gray, int bits )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2165,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - plist
    - param_name
    - pa
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2162
    functionDepth: 1
    functionLinenumber: 2162
    functionLinenumberEnd: 2182
    functionName: param_anti_alias_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_int
    linkageType: ''
    returnType: int
    signature: int param_anti_alias_bits(gs_param_list * plist, gs_param_name param_name,
      int *pa)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BEGIN_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2193,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2198,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2202,1
    - Dst: END_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - pname
    - res
    - pa
    argTypes:
    - gs_param_list*
    - gs_param_name
    - float*
    - gs_param_float_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2209
    functionName: param_MediaSize
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - END_ARRAY_PARAM
    - BEGIN_ARRAY_PARAM
    linkageType: ''
    returnType: int
    signature: "int param_MediaSize(gs_param_list * plist, gs_param_name pname,\n
      \               const float *res, gs_param_float_array * pa)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2220,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2224,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2227,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - plist
    - pname
    - value
    - is_defined
    argTypes:
    - gs_param_list*
    - gs_param_name
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2213
    functionDepth: 1
    functionLinenumber: 2213
    functionLinenumberEnd: 2234
    functionName: param_check_bool
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - param_read_bool
    - param_read_null
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: "int param_check_bool(gs_param_list * plist, gs_param_name pname, bool
      value,\n                 bool is_defined)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2242,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2246,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2249,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2251,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - plist
    - pname
    - value
    - is_defined
    argTypes:
    - gs_param_list*
    - gs_param_name
    - long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2256
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2256
    functionName: param_check_long
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_signal_error
    - gs_note_error
    - param_read_null
    - param_read_long
    linkageType: ''
    returnType: int
    signature: "int param_check_long(gs_param_list * plist, gs_param_name pname, long
      value,\n                 bool is_defined)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2264,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2267,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2271,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2274,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsdparam.c:2276,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - plist
    - pname
    - str
    - size
    - is_defined
    argTypes:
    - gs_param_list*
    - gs_param_name
    - byte*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2281
    functionName: param_check_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsdparam.c
    functionUses: 0
    functionsReached:
    - param_read_null
    - memcmp
    - param_signal_error
    - gs_note_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int param_check_bytes(gs_param_list * plist, gs_param_name pname,
      const byte * str,\n                  uint size, bool is_defined)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 96
    functionName: GB_OPTIONS_MAX_DEPTH
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitfmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GB_OPTIONS_MAX_DEPTH(opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 100
    functionName: GB_OPTIONS_DEPTH
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitfmt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GB_OPTIONS_DEPTH(opt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: data_source_is_stream
      Src: /src/libspectre/ghostscript/base/gxshade.c:61,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/gxshade.c:71,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxshade.c:73,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/base/gxshade.c:74,1
    - Dst: data_source_is_array
      Src: /src/libspectre/ghostscript/base/gxshade.c:78,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - cs
    - params
    - pgs
    argTypes:
    - shade_coord_stream_t*
    - gs_shading_mesh_params_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 90
    functionName: shade_next_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 3
    functionsReached:
    - data_source_is_array
    - data_source_is_stream
    - s_init
    - sread_string
    - sseek
    linkageType: ''
    returnType: void
    signature: "void shade_next_init(shade_coord_stream_t * cs,\n                const
      gs_shading_mesh_params_t * params,\n                const gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cs
    argTypes:
    - shade_coord_stream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 97
    functionName: cs_eod
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool cs_eod(const shade_coord_stream_t * cs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gxshade.c:117,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:121,1
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gxshade.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - cs
    - num_bits
    - pvalue
    argTypes:
    - shade_coord_stream_t*
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 141
    functionName: cs_next_packed_value
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - sgetc
    linkageType: ''
    returnType: int
    signature: int cs_next_packed_value(shade_coord_stream_t * cs, int num_bits, uint
      * pvalue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxshade.c:153,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:156,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:162,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 9
    argCount: 3
    argNames:
    - cs
    - num_bits
    - pvalue
    argTypes:
    - shade_coord_stream_t*
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 165
    functionName: cs_next_array_value
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - sgets
    linkageType: ''
    returnType: int
    signature: int cs_next_array_value(shade_coord_stream_t * cs, int num_bits, uint
      * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shade_coord_stream_t*::get_value
      Src: /src/libspectre/ghostscript/base/gxshade.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - cs
    - num_bits
    - decode
    - pvalue
    argTypes:
    - shade_coord_stream_t*
    - int
    - float[]
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 184
    functionName: cs_next_packed_decoded
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - shade_coord_stream_t*::get_value
    linkageType: ''
    returnType: int
    signature: "int cs_next_packed_decoded(shade_coord_stream_t * cs, int num_bits,\n
      \                      const float decode[2], float *pvalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gxshade.c:194,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - cs
    - num_bits
    - decode
    - pvalue
    argTypes:
    - shade_coord_stream_t*
    - int
    - float[]
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: cs_next_array_decoded
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - sgets
    linkageType: ''
    returnType: int
    signature: "int cs_next_array_decoded(shade_coord_stream_t * cs, int num_bits,\n
      \                     const float decode[2], float *pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cs
    - radix
    argTypes:
    - shade_coord_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: cs_packed_align
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cs_packed_align(shade_coord_stream_t *cs, int radix)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - cs
    - radix
    argTypes:
    - shade_coord_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 213
    functionName: cs_array_align
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cs_array_align(shade_coord_stream_t *cs, int radix)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shade_coord_stream_t*::get_value
      Src: /src/libspectre/ghostscript/base/gxshade.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cs
    - BitsPerFlag
    argTypes:
    - shade_coord_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: shade_next_flag
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 2
    functionsReached:
    - shade_coord_stream_t*::get_value
    linkageType: ''
    returnType: int
    signature: int shade_next_flag(shade_coord_stream_t * cs, int BitsPerFlag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shade_coord_stream_t*::get_decoded
      Src: /src/libspectre/ghostscript/base/gxshade.c:241,1
    - Dst: shade_coord_stream_t*::get_decoded
      Src: /src/libspectre/ghostscript/base/gxshade.c:242,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gxshade.c:243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 3
    argNames:
    - cs
    - ppt
    - num_points
    argTypes:
    - shade_coord_stream_t*
    - gs_fixed_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 248
    functionName: shade_next_coords
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 3
    functionsReached:
    - gs_point_transform2fixed
    - shade_coord_stream_t*::get_decoded
    linkageType: ''
    returnType: int
    signature: "int shade_next_coords(shade_coord_stream_t * cs, gs_fixed_point *
      ppt,\n                  int num_points)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxshade.c:256,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxshade.c:260,1
    - Dst: gs_cspace_base_space
      Src: /src/libspectre/ghostscript/base/gxshade.c:260,1
    - Dst: shade_coord_stream_t*::get_decoded
      Src: /src/libspectre/ghostscript/base/gxshade.c:263,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:270,1
    - Dst: gs_cspace_indexed_num_entries
      Src: /src/libspectre/ghostscript/base/gxshade.c:272,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:273,1
    - Dst: gs_cspace_indexed_lookup
      Src: /src/libspectre/ghostscript/base/gxshade.c:274,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxshade.c:282,1
    - Dst: shade_coord_stream_t*::get_decoded
      Src: /src/libspectre/ghostscript/base/gxshade.c:285,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - cs
    - pc
    argTypes:
    - shade_coord_stream_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 298
    functionName: shade_next_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    - gs_color_space_num_components
    - shade_coord_stream_t*::get_decoded
    - gs_cspace_indexed_num_entries
    - gs_cspace_base_space
    - gs_cspace_indexed_lookup
    - return_error
    linkageType: ''
    returnType: int
    signature: int shade_next_color(shade_coord_stream_t * cs, float *pc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_coords
      Src: /src/libspectre/ghostscript/base/gxshade.c:304,1
    - Dst: shade_next_color
      Src: /src/libspectre/ghostscript/base/gxshade.c:307,1
    - Dst: shade_coord_stream_t*::align
      Src: /src/libspectre/ghostscript/base/gxshade.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - cs
    - vertex
    - c
    argTypes:
    - shade_coord_stream_t*
    - shading_vertex_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 311
    functionName: shade_next_vertex
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - shade_next_coords
    - shade_next_color
    - shade_coord_stream_t*::align
    linkageType: ''
    returnType: int
    signature: int shade_next_vertex(shade_coord_stream_t * cs, shading_vertex_t *
      vertex, patch_color_t *c)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxshade.c:321,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxshade.c:332,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxshade.c:342,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxshade.c:343,1
    - Dst: gs_cspace_base_space
      Src: /src/libspectre/ghostscript/base/gxshade.c:346,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxshade.c:387,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gxshade.c:388,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gxshade.c:400,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:403,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gxshade.c:408,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade.c:412,1
    - Dst: using_alt_color_space
      Src: /src/libspectre/ghostscript/base/gxshade.c:430,1
    - Dst: gx_has_transfer
      Src: /src/libspectre/ghostscript/base/gxshade.c:434,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxshade.c:456,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxshade.c:457,1
    - Dst: using_alt_color_space
      Src: /src/libspectre/ghostscript/base/gxshade.c:458,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 4
    argNames:
    - pfs
    - psh
    - dev
    - pgs
    argTypes:
    - shading_fill_state_t*
    - gs_shading_t*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 465
    functionName: shade_init_fill_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 3
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - gsicc_get_link
    - gx_has_transfer
    - gs_color_space_get_index
    - using_alt_color_space
    - max
    - gs_color_space_num_components
    - gs_cspace_base_space
    - return_error
    - min
    linkageType: ''
    returnType: int
    signature: "int shade_init_fill_state(shading_fill_state_t * pfs, const gs_shading_t
      * psh,\n                      gx_device * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxshade.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - pfs
    - ppath
    - pdevc
    - fill_adjust
    argTypes:
    - shading_fill_state_t*
    - gx_path*
    - gx_device_color*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 479
    functionName: shade_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int shade_fill_path(const shading_fill_state_t * pfs, gx_path * ppath,\n
      \               gx_device_color * pdevc, const gs_fixed_point *fill_adjust)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: VALGRIND_HG_DISABLE_CHECKING
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_HG_DISABLE_CHECKING(addr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: VALGRIND_MAKE_MEM_NOACCESS
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_NOACCESS(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: VALGRIND_MAKE_MEM_UNDEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_UNDEFINED(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: VALGRIND_MAKE_MEM_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_DEFINED(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - ','
    - _qzz_desc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: VALGRIND_CREATE_BLOCK
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_CREATE_BLOCK(_qzz_addr,_qzz_len, _qzz_desc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - _qzz_blkindex
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: VALGRIND_DISCARD
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_DISCARD(_qzz_blkindex)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: VALGRIND_CHECK_MEM_IS_ADDRESSABLE
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_CHECK_MEM_IS_ADDRESSABLE(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - _qzz_addr
    - ','
    - _qzz_len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: VALGRIND_CHECK_MEM_IS_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_CHECK_MEM_IS_DEFINED(_qzz_addr,_qzz_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - __lvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: VALGRIND_CHECK_VALUE_IS_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_CHECK_VALUE_IS_DEFINED(__lvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - leaked
    - ','
    - dubious
    - ','
    - reachable
    - ','
    - suppressed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: VALGRIND_COUNT_LEAKS
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_COUNT_LEAKS(leaked, dubious, reachable, suppressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - leaked
    - ','
    - dubious
    - ','
    - reachable
    - ','
    - suppressed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: VALGRIND_COUNT_LEAK_BLOCKS
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_COUNT_LEAK_BLOCKS(leaked, dubious, reachable, suppressed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - zza
    - ','
    - zzvbits
    - ','
    - zznbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 82
    functionName: VALGRIND_GET_VBITS
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_GET_VBITS(zza,zzvbits,zznbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - zza
    - ','
    - zzvbits
    - ','
    - zznbytes
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: VALGRIND_SET_VBITS
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_SET_VBITS(zza,zzvbits,zznbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - addr
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: VALGRIND_HG_DISABLE_CHECKING
    functionSourceFile: /src/libspectre/ghostscript/base/valgrind.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_HG_DISABLE_CHECKING(addr, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - nlist
    - mem
    argTypes:
    - gs_notify_list_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 33
    functionName: gs_notify_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_notify_init(gs_notify_list_t *nlist, gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsnotify.c:41,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsnotify.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nlist
    - proc
    - proc_data
    argTypes:
    - gs_notify_list_t*
    - gs_notify_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 51
    functionName: gs_notify_register
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 3
    functionsReached:
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_notify_register(gs_notify_list_t *nlist, gs_notify_proc_t proc,\n
      \                  void *proc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - pdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: no_unreg_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void no_unreg_proc(void *pdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: unreg_proc
      Src: /src/libspectre/ghostscript/base/gsnotify.c:76,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsnotify.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - nlist
    - proc
    - proc_data
    argTypes:
    - gs_notify_list_t*
    - gs_notify_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 82
    functionName: gs_notify_unregister_calling
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - unreg_proc
    linkageType: ''
    returnType: int
    signature: "int gs_notify_unregister_calling(gs_notify_list_t *nlist, gs_notify_proc_t
      proc,\n                             void *proc_data,\n                             void
      (*unreg_proc)(void *pdata))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_notify_unregister_calling
      Src: /src/libspectre/ghostscript/base/gsnotify.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - nlist
    - proc
    - proc_data
    argTypes:
    - gs_notify_list_t*
    - gs_notify_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: gs_notify_unregister
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 1
    functionsReached:
    - gs_notify_unregister_calling
    linkageType: ''
    returnType: int
    signature: "int gs_notify_unregister(gs_notify_list_t *nlist, gs_notify_proc_t
      proc,\n                     void *proc_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_notify_registration_t*::proc
      Src: /src/libspectre/ghostscript/base/gsnotify.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - nlist
    - event_data
    argTypes:
    - gs_notify_list_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 110
    functionName: gs_notify_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 1
    functionsReached:
    - gs_notify_registration_t*::proc
    linkageType: ''
    returnType: int
    signature: int gs_notify_all(gs_notify_list_t *nlist, void *event_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsnotify.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - nlist
    argTypes:
    - gs_notify_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 124
    functionName: gs_notify_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_notify_release(gs_notify_list_t *nlist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - value
    - ','
    - shift
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: SAMPLE_BOUND_SHIFT
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAMPLE_BOUND_SHIFT(value, shift)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - uint*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: sample_load_next8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_load_next8(uint *value, const byte **sptr, int *sbit, int
      sbpv)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - uint*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 90
    functionName: sample_load_next12
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_load_next12(uint *value, const byte **sptr, int *sbit, int
      sbpv)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - uint*
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: sample_load16
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_load16(uint *value, const byte *sptr, int sbit, int sbpv)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - ushort*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 141
    functionName: sample_load_next16
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_load_next16 (ushort *value, const byte **sptr, int *sbit,
      int sbpv)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - uint32_t*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 174
    functionName: sample_load_next32
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_load_next32(uint32_t *value, const byte **sptr, int *sbit,
      int sbpv)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:201,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:208,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:209,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:216,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:217,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:218,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:225,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:226,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:227,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:228,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - value
    - sptr
    - sbit
    - sbpv
    argTypes:
    - uint64_t*
    - byte**
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 241
    functionName: sample_load_next64
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached:
    - SAMPLE_BOUND_SHIFT
    linkageType: ''
    returnType: int
    signature: int sample_load_next64(uint64_t *value, const byte **sptr, int *sbit,
      int sbpv)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - value
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - uint
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: sample_store_next8
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_store_next8(uint value, byte **dptr, int *dbit, int dbpv,
      byte *dbbyte)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - value
    - dptr
    - dbit
    - dbbyte
    argTypes:
    - uint
    - byte**
    - int*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 277
    functionName: sample_store_next_12
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_store_next_12 (uint value, byte **dptr, int *dbit, byte
      *dbbyte)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 5
    argNames:
    - value
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - uint
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 306
    functionName: sample_store_next12
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_store_next12(uint value, byte **dptr, int *dbit, int dbpv,
      byte *dbbyte)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 5
    argNames:
    - value
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - uint
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 339
    functionName: sample_store_next16
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_store_next16(uint value, byte **dptr, int *dbit, int dbpv,
      byte *dbbyte)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - value
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - uint32_t
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 374
    functionName: sample_store_next32
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sample_store_next32(uint32_t value, byte **dptr, int *dbit, int
      dbpv, byte *dbbyte)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:393,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:394,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:395,1
    - Dst: SAMPLE_BOUND_SHIFT
      Src: /src/libspectre/ghostscript/base/gsbitops.h:396,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 5
    argNames:
    - value
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - uint64_t
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 406
    functionName: sample_store_next64
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 6
    functionsReached:
    - SAMPLE_BOUND_SHIFT
    linkageType: ''
    returnType: int
    signature: int sample_store_next64(uint64_t value, byte **dptr, int *dbit, int
      dbpv, byte *dbbyte)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - dptr
    - dbit
    - dbbyte
    argTypes:
    - byte*
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: sample_store_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sample_store_flush(byte *dptr, int dbit, byte dbbyte)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gsbitops.h:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - dptr
    - dbit
    - dbpv
    - dbbyte
    argTypes:
    - byte**
    - int*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 424
    functionName: sample_store_skip_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 2
    functionsReached:
    - sample_store_flush
    linkageType: ''
    returnType: void
    signature: void sample_store_skip_next(byte **dptr, int *dbit, int dbpv, byte
      *dbbyte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    functionName: mono_fill_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mono_fill_make_pattern(byt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 445
    functionName: mono_fill_make_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mono_fill_make_pattern(byt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_jpeg_error_setup
      Src: /src/libspectre/ghostscript/base/sjpegd.c:36,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegd.c:38,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegd.c:38,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:39,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:39,1
    - Dst: jpeg_stream_data_common_init
      Src: /src/libspectre/ghostscript/base/sjpegd.c:41,1
    - Dst: gs_jpeg_mem_init
      Src: /src/libspectre/ghostscript/base/sjpegd.c:43,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:44,1
    - Dst: jpeg_create_decompress
      Src: /src/libspectre/ghostscript/base/sjpegd.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 48
    functionName: gs_jpeg_create_decompress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegd.c
    functionUses: 0
    functionsReached:
    - gs_jpeg_mem_init
    - jpeg_create_decompress
    - find_jmp_buf
    - jpeg_stream_data_common_init
    - setjmp
    - gs_jpeg_log_error
    - return_error
    - gs_jpeg_error_setup
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_create_decompress(stream_DCT_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegd.c:54,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegd.c:54,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:55,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:55,1
    - Dst: jpeg_read_header
      Src: /src/libspectre/ghostscript/base/sjpegd.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - st
    - require_image
    argTypes:
    - stream_DCT_state*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: gs_jpeg_read_header
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegd.c
    functionUses: 1
    functionsReached:
    - jpeg_read_header
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_read_header(stream_DCT_state * st,\n                    boolean
      require_image)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegd.c:62,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegd.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:63,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:63,1
    - Dst: jpeg_start_decompress
      Src: /src/libspectre/ghostscript/base/sjpegd.c:65,1
    - Dst: jpeg_start_decompress
      Src: /src/libspectre/ghostscript/base/sjpegd.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 71
    functionName: gs_jpeg_start_decompress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegd.c
    functionUses: 1
    functionsReached:
    - jpeg_start_decompress
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_start_decompress(stream_DCT_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegd.c:78,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegd.c:78,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:79,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:79,1
    - Dst: jpeg_read_scanlines
      Src: /src/libspectre/ghostscript/base/sjpegd.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - st
    - scanlines
    - max_lines
    argTypes:
    - stream_DCT_state*
    - JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 82
    functionName: gs_jpeg_read_scanlines
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegd.c
    functionUses: 1
    functionsReached:
    - jpeg_read_scanlines
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_jpeg_read_scanlines(stream_DCT_state * st,\n                       JSAMPARRAY
      scanlines,\n                       int max_lines)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/sjpegd.c:88,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/sjpegd.c:88,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:89,1
    - Dst: gs_jpeg_log_error
      Src: /src/libspectre/ghostscript/base/sjpegd.c:89,1
    - Dst: jpeg_finish_decompress
      Src: /src/libspectre/ghostscript/base/sjpegd.c:91,1
    - Dst: stream_dct_end_passthrough
      Src: /src/libspectre/ghostscript/base/sjpegd.c:92,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_DCT_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 94
    functionName: gs_jpeg_finish_decompress
    functionSourceFile: /src/libspectre/ghostscript/base/sjpegd.c
    functionUses: 1
    functionsReached:
    - jpeg_finish_decompress
    - find_jmp_buf
    - setjmp
    - gs_jpeg_log_error
    - stream_dct_end_passthrough
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gs_jpeg_finish_decompress(stream_DCT_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: public_st_device_plane_extract
    functionSourceFile: /src/libspectre/ghostscript/base/gdevplnx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_plane_extract()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:93,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:105,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:109,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 131
    functionName: gp_enumerate_files_init_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gs_alloc_bytes
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init_impl(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:145,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:150,1
    - Dst: DosFindFirst
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:157,1
    - Dst: DosFindNext
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:162,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:169,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:170,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:176,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:177,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 180
    functionName: gp_enumerate_files_next_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - DosFindFirst
    - strlen
    - DosFindNext
    - strcpy
    - strncpy
    - memcpy
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen,
      char *ptr, uint maxlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DosFindClose
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:191,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 194
    functionName: gp_enumerate_files_close_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - DosFindClose
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close_impl(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:214,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:216,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:217,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:219,1
    - Dst: _tempnam
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:222,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:224,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:225,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:228,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:229,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:233,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:236,1
    - Dst: gp_gettmpdir
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:237,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:245,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:248,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:254,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:256,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:257,1
    - Dst: mktemp
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:258,1
    - Dst: gp_fopentemp
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - remove
    argTypes:
    - gs_memory_t*
    - char*
    - char[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 262
    functionName: gp_open_scratch_file_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 3
    functionsReached:
    - gp_file_name_is_absolute
    - strcat
    - tolower
    - strlen
    - gp_gettmpdir
    - _tempnam
    - strcpy
    - gp_fopentemp
    - free
    - mktemp
    - getenv
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file_impl(const gs_memory_t *mem,\n                          const
      char        *prefix,\n                                char         fname[gp_file_name_sizeof],\n
      \                         const char        *mode,\n                                int
      \         remove)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 269
    functionName: gp_fopen_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 2
    functionsReached:
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_fopen_impl(const gs_memory_t *mem, const char *fname, const char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: gp_unlink_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int gp_unlink_impl(gs_memory_t *mem, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - from
    - to
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: gp_rename_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - rename
    linkageType: ''
    returnType: int
    signature: int gp_rename_impl(gs_memory_t *mem, const char *from, const char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: gp_stat_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: int gp_stat_impl(gs_memory_t *mem, const char *path, struct stat *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 291
    functionName: gp_can_share_fdesc
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_can_share_fdesc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 296
    functionName: gp_fdup_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: FILE *gp_fdup_impl(FILE *f, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 301
    functionName: gp_pread_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_pread_impl(char *buf, size_t count, gs_offset_t offset, FILE
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 306
    functionName: gp_pwrite_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_pwrite_impl(char *buf, size_t count, gs_offset_t offset, FILE
      *f)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 333
    functionName: gp_file_name_root
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_root(const char *fname, uint len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fname
    - len
    - item
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 344
    functionName: gs_file_name_check_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_file_name_check_separator(const char *fname, int len, const
      char *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    functionName: gp_file_name_is_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    functionName: gp_file_name_is_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_current(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 356
    functionName: gp_file_name_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: gp_file_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_directory_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: gp_file_name_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: gp_file_name_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 372
    functionName: gp_file_name_is_parent_allowed
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent_allowed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: gp_file_name_is_empty_item_meanful
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_empty_item_meanful(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine_generic
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 384
    functionName: gp_file_name_combine
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 0
    functionsReached:
    - gp_file_name_combine_generic
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine(const char *prefix,
      uint plen, const char *fname, uint flen,\n                    bool no_sibling,
      char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gp_os2fs.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: gp_file_name_good_char
    functionSourceFile: /src/libspectre/ghostscript/base/gp_os2fs.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_good_char(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vdev
    - flatness
    argTypes:
    - gx_device_vector*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 48
    functionName: gdev_vector_setflat
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gdev_vector_setflat(gx_device_vector * vdev, double flatness)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - start
    - mid
    - end
    argTypes:
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: coord_between
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool coord_between(fixed start, fixed mid, fixed end)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_rectangular
      Src: /src/libspectre/ghostscript/base/gdevvec.c:64,1
    - Dst: gdev_vector_dopath_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:72,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gdevvec.c:81,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gdevvec.c:81,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gdevvec.c:83,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gdevvec.c:84,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:88,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:90,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:92,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:98,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:101,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gdevvec.c:104,1
    - Dst: coord_between
      Src: /src/libspectre/ghostscript/base/gdevvec.c:122,1
    - Dst: coord_between
      Src: /src/libspectre/ghostscript/base/gdevvec.c:129,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:138,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:144,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:156,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:160,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:184,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gdevvec.c:198,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:201,1
    - Dst: gdev_vector_dopath_segment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:208,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 113
    argCount: 4
    argNames:
    - vdev
    - ppath
    - type
    - pmat
    argTypes:
    - gx_device_vector*
    - gx_path*
    - gx_path_type_t
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 214
    functionName: gdev_vector_dopath
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - coord_between
    - is_fzero2
    - gx_path_is_rectangular
    - gx_path_enum_init
    - is_xxyy
    - vdev_proc
    - gx_path_enum_next
    - gdev_vector_dopath_segment
    - gs_point_transform_inverse
    - is_xyyx
    - gdev_vector_dopath_init
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_dopath(gx_device_vector *vdev, const gx_path * ppath,\n
      \                  gx_path_type_t type, const gs_matrix *pmat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:220,1
    - Dst: gdev_vector_write_rectangle
      Src: /src/libspectre/ghostscript/base/gdevvec.c:224,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:229,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - type
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 230
    functionName: gdev_vector_dorect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gdev_vector_write_rectangle
    - vdev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_dorect(gx_device_vector * vdev, fixed x0, fixed y0,
      fixed x1,\n                   fixed y1, gx_path_type_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gdevvec.c:238,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gdevvec.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: gdev_vector_load_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: void gdev_vector_load_cache(gx_device_vector * vdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_reset
      Src: /src/libspectre/ghostscript/base/gdevvec.c:246,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:247,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:248,1
    - Dst: gdev_vector_load_cache
      Src: /src/libspectre/ghostscript/base/gdevvec.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 253
    functionName: gdev_vector_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 3
    functionsReached:
    - set_dev_proc
    - gdev_vector_reset
    - dev_proc
    - gdev_vector_load_cache
    linkageType: ''
    returnType: void
    signature: void gdev_vector_init(gx_device_vector * vdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_initial
      Src: /src/libspectre/ghostscript/base/gdevvec.c:260,1
    - Dst: gx_hld_saved_color_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:263,1
    - Dst: gx_hld_saved_color_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:264,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gdevvec.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: gdev_vector_reset
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 1
    functionsReached:
    - gx_hld_saved_color_init
    - gs_gstate_initial
    - gs_next_ids
    linkageType: ''
    returnType: void
    signature: void gdev_vector_reset(gx_device_vector * vdev)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:282,1
    - Dst: gx_device_open_output_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:291,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:292,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevvec.c:297,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:299,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gdevvec.c:303,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:308,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:312,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:316,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:319,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:321,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:324,1
    - Dst: gx_device_bbox_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:332,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:333,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevvec.c:336,1
    - Dst: gx_device_set_resolution
      Src: /src/libspectre/ghostscript/base/gdevvec.c:338,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:344,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:346,1
    - Dst: install_internal_subclass_devices
      Src: /src/libspectre/ghostscript/base/gdevvec.c:350,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 3
    argNames:
    - vdev
    - strmbuf_size
    - open_options
    argTypes:
    - gx_device_vector*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 355
    functionName: gdev_vector_open_file_options
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - install_internal_subclass_devices
    - gs_alloc_struct_immovable
    - gs_alloc_bytes
    - rc_increment
    - set_dev_proc
    - gx_device_bbox_init
    - swrite_file
    - gx_device_set_resolution
    - s_alloc
    - gx_device_close_output_file
    - return_error
    - gx_device_open_output_file
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_open_file_options(gx_device_vector * vdev, uint strmbuf_size,\n
      \                             int open_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 366
    functionName: gdev_vector_stream
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 26
    functionsReached:
    - vdev_proc
    linkageType: ''
    returnType: stream
    signature: 'stream *

      gdev_vector_stream(gx_device_vector * vdev)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - vdev
    - lop
    argTypes:
    - gx_device_vector*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 382
    functionName: gdev_vector_update_log_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 4
    functionsReached:
    - vdev_proc
    linkageType: ''
    returnType: int
    signature: int gdev_vector_update_log_op(gx_device_vector * vdev, gs_logical_operation_t
      lop)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:396,1
    - Dst: gx_hld_save_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:399,1
    - Dst: gx_hld_saved_color_equal
      Src: /src/libspectre/ghostscript/base/gdevvec.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - vdev
    - pgs
    - pdcolor
    - sc
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    - gx_hl_saved_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 407
    functionName: gdev_vector_update_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - vdev_proc
    - gx_hld_save_color
    - gx_hld_saved_color_equal
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_update_color(gx_device_vector * vdev,\n                              const
      gs_gstate * pgs,\n                              const gx_drawing_color * pdcolor,\n
      \                             gx_hl_saved_color *sc,\n                              int
      (*setcolor) (gx_device_vector * vdev,\n                                               const
      gs_gstate * pgs,\n                                               const gx_drawing_color
      * pdc))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_update_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:415,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vdev
    - pgs
    - pdcolor
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 4
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: gdev_vector_update_fill_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - vdev_proc
    - gdev_vector_update_color
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_update_fill_color(gx_device_vector * vdev,\n                              const
      gs_gstate * pgs,\n                              const gx_drawing_color * pdcolor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_update_fill_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:424,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/base/gdevvec.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - vdev
    - pgs
    - pdcolor
    - lop
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 429
    functionName: update_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gdev_vector_update_fill_color
    - gdev_vector_update_log_op
    linkageType: ''
    returnType: int
    signature: "int update_fill(gx_device_vector * vdev, const gs_gstate * pgs,\n
      \           const gx_drawing_color * pdcolor, gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:437,1
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:443,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - vdev
    - pgs
    - params
    - pdcolor
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_fill_params*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 432
    functionDepth: 6
    functionLinenumber: 432
    functionLinenumberEnd: 444
    functionName: gdev_vector_prepare_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - vdev_proc
    - update_fill
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_prepare_fill(gx_device_vector * vdev, const gs_gstate
      * pgs,\n            const gx_fill_params * params, const gx_drawing_color *
      pdcolor)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - stored
    - set
    - scale
    argTypes:
    - float*
    - gx_dash_params*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 456
    functionName: dash_pattern_eq
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dash_pattern_eq(const float *stored, const gx_dash_params * set,
      double scale)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dash_pattern_eq
      Src: /src/libspectre/ghostscript/base/gdevvec.c:474,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevvec.c:480,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:483,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:488,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:496,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:504,1
    - Dst: gx_set_miter_limit
      Src: /src/libspectre/ghostscript/base/gdevvec.c:509,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:514,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:522,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/base/gdevvec.c:529,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:537,1
    - Dst: gdev_vector_update_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:545,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:546,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 52
    argCount: 5
    argNames:
    - vdev
    - pgs
    - params
    - pdcolor
    - scale
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gx_stroke_params*
    - gx_drawing_color*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 552
    functionName: gdev_vector_prepare_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 4
    functionsReached:
    - dash_pattern_eq
    - gs_alloc_bytes
    - gx_set_miter_limit
    - gdev_vector_update_log_op
    - vdev_proc
    - gdev_vector_update_color
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_prepare_stroke(gx_device_vector * vdev,\n                           const
      gs_gstate * pgs,\t/* may be NULL */\n                           const gx_stroke_params
      * params, /* may be NULL */\n                           const gx_drawing_color
      * pdcolor, /* may be NULL */\n                           double scale)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gdevvec.c:578,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:579,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:580,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gdevvec.c:581,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:582,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:583,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gdevvec.c:587,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:604,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:604,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:604,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gdevvec.c:604,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - vdev
    - pgs
    - pscale
    - pmat
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - double*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 611
    functionName: gdev_vector_stroke_scaling
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - hypot
    - is_xxyy
    - fabs
    - is_xyyx
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_stroke_scaling(const gx_device_vector *vdev,\n                           const
      gs_gstate *pgs,\n                           double *pscale, gs_matrix *pmat)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/base/gdevvec.c:627,1
    - Dst: gs_make_scaling
      Src: /src/libspectre/ghostscript/base/gdevvec.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - state
    - vdev
    - type
    - pmat
    argTypes:
    - gdev_vector_dopath_state_t*
    - gx_device_vector*
    - gx_path_type_t
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 638
    functionName: gdev_vector_dopath_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - gs_make_scaling
    - gs_matrix_scale
    linkageType: ''
    returnType: void
    signature: "void gdev_vector_dopath_init(gdev_vector_dopath_state_t *state,\n
      \                       gx_device_vector *vdev, gx_path_type_t type,\n                        const
      gs_matrix *pmat)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:655,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:655,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:656,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:661,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:668,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:668,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:669,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:672,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:678,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:678,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:679,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:682,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:682,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:683,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gdevvec.c:686,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:686,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:687,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:688,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:694,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - state
    - pe_op
    - vs
    argTypes:
    - gdev_vector_dopath_state_t*
    - int
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 703
    functionName: gdev_vector_dopath_segment
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - gs_point_transform_inverse
    - vdev_proc
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_dopath_segment(gdev_vector_dopath_state_t *state,
      int pe_op,\n                           gs_fixed_point vs[3])"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:714,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:718,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:718,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:722,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:727,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:729,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevvec.c:730,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:734,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:738,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 5
    argNames:
    - vdev
    - points
    - count
    - close
    - type
    argTypes:
    - gx_device_vector*
    - gs_fixed_point*
    - uint
    - bool
    - gx_path_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 739
    functionName: gdev_vector_write_polygon
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - vdev_proc
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_write_polygon(gx_device_vector * vdev, const gs_fixed_point
      * points,\n                          uint count, bool close, gx_path_type_t
      type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_write_polygon
      Src: /src/libspectre/ghostscript/base/gdevvec.c:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - vdev
    - x0
    - y0
    - x1
    - y1
    - close
    - direction
    argTypes:
    - gx_device_vector*
    - fixed
    - fixed
    - fixed
    - fixed
    - bool
    - gx_rect_direction_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 759
    functionName: gdev_vector_write_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 1
    functionsReached:
    - gdev_vector_write_polygon
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_write_rectangle(gx_device_vector * vdev, fixed x0,
      fixed y0,\n              fixed x1, fixed y1, bool close, gx_rect_direction_t
      direction)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:779,1
    - Dst: gx_cpath_list
      Src: /src/libspectre/ghostscript/base/gdevvec.c:786,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:793,1
    - Dst: gdev_vector_write_rectangle
      Src: /src/libspectre/ghostscript/base/gdevvec.c:796,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:797,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:797,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:798,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:798,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:801,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - vdev
    - pcpath
    argTypes:
    - gx_device_vector*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 762
    functionDepth: 3
    functionLinenumber: 762
    functionLinenumberEnd: 803
    functionName: gdev_vector_write_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gdev_vector_write_rectangle
    - vdev_proc
    - gx_cpath_list
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_write_clip_path(gx_device_vector * vdev,\n                            const
      gx_clip_path * pcpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_write_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:812,1
    - Dst: gdev_vector_write_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - vdev
    - pcpath
    argTypes:
    - gx_device_vector*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 828
    functionName: gdev_vector_update_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 3
    functionsReached:
    - gdev_vector_write_clip_path
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_update_clip_path(gx_device_vector * vdev,\n                             const
      gx_clip_path * pcpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:838,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevvec.c:842,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:844,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/gdevvec.c:850,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:851,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:853,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gdevvec.c:858,1
    - Dst: gx_device_close_output_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:860,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:862,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - vdev
    argTypes:
    - gx_device_vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 865
    functionName: gdev_vector_close_file
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 4
    functionsReached:
    - sclose
    - gp_ferror
    - gx_device_close_output_file
    - rc_decrement
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gdev_vector_close_file(gx_device_vector * vdev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gdevvec.c:886,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gdevvec.c:888,1
    - Dst: gdev_vector_update_log_op
      Src: /src/libspectre/ghostscript/base/gdevvec.c:898,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:899,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gdevvec.c:901,1
    - Dst: gdev_vector_update_fill_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:902,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:904,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 19
    argCount: 10
    argNames:
    - vdev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - mem
    - pprocs
    - pie
    argTypes:
    - gx_device_vector*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_procs_t*
    - gdev_vector_image_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 870
    functionDepth: 5
    functionLinenumber: 870
    functionLinenumberEnd: 918
    functionName: gdev_vector_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 2
    functionsReached:
    - gdev_vector_update_log_op
    - rop3_uses_T
    - gx_image_enum_common_init
    - gs_color_space_num_components
    - gdev_vector_update_clip_path
    - gdev_vector_update_fill_color
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_begin_image(gx_device_vector * vdev,\n                        const
      gs_gstate * pgs, const gs_image_t * pim,\n                        gs_image_format_t
      format, const gs_int_rect * prect,\n              const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                    gs_memory_t * mem, const gx_image_enum_procs_t
      * pprocs,\n                        gdev_vector_image_enum_t * pie)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_end_image
      Src: /src/libspectre/ghostscript/base/gdevvec.c:929,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevvec.c:936,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:940,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevvec.c:942,1
    - Dst: gx_image_data
      Src: /src/libspectre/ghostscript/base/gdevvec.c:944,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevvec.c:947,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gdevvec.c:953,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gdevvec.c:958,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - vdev
    - pie
    - draw_last
    - pad
    argTypes:
    - gx_device_vector*
    - gdev_vector_image_enum_t*
    - bool
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 922
    functionDepth: 1
    functionLinenumber: 922
    functionLinenumberEnd: 960
    functionName: gdev_vector_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gx_image_data
    - gs_alloc_bytes
    - gx_default_end_image
    - gx_image_end
    - memset
    - return_error
    - gx_image_free_enum
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_end_image(gx_device_vector * vdev,\n         gdev_vector_image_enum_t
      * pie, bool draw_last, gx_color_index pad)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevvec.c:973,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevvec.c:975,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevvec.c:976,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevvec.c:978,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:979,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevvec.c:981,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:982,1
    - Dst: gx_default_get_param
      Src: /src/libspectre/ghostscript/base/gdevvec.c:984,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - Param
    - list
    argTypes:
    - gx_device*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 966
    functionDepth: 4
    functionLinenumber: 966
    functionLinenumberEnd: 985
    functionName: gdev_vector_get_param
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 1
    functionsReached:
    - param_write_string
    - strcmp
    - strlen
    - param_write_bool
    - gx_default_get_param
    linkageType: ''
    returnType: int
    signature: int gdev_vector_get_param(gx_device *dev, char *Param, void *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_get_params
      Src: /src/libspectre/ghostscript/base/gdevvec.c:991,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevvec.c:999,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1001,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1003,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1005,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 988
    functionDepth: 4
    functionLinenumber: 988
    functionLinenumberEnd: 1008
    functionName: gdev_vector_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 3
    functionsReached:
    - gx_default_get_params
    - strlen
    - param_write_bool
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int gdev_vector_get_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1022,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1026,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1030,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1038,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1041,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1043,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1055,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1062,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1065,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1070,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1073,1
    - Dst: gx_default_put_params
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1085,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1092,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1094,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1099,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1101,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1103,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1105,1
    - Dst: gdev_vector_close_file
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1112,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1117,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1119,1
    - Dst: gdev_vector_open_file_options
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1125,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 87
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1011
    functionDepth: 4
    functionLinenumber: 1011
    functionLinenumberEnd: 1130
    functionName: gdev_vector_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 3
    functionsReached:
    - gdev_vector_open_file_options
    - eprintf1
    - return_error
    - stell
    - param_read_int
    - strlen
    - gs_closedevice
    - gdev_vector_close_file
    - param_read_string
    - gx_default_put_params
    - emprintf
    - memcpy
    - gs_opendevice
    - param_signal_error
    - param_read_bool
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int gdev_vector_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1147,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1150,1
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1154,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1158,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1164,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1164,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1164,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1165,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1165,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1134
    functionDepth: 6
    functionLinenumber: 1134
    functionLinenumberEnd: 1167
    functionName: gdev_vector_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - update_fill
    - vdev_proc
    - gdev_vector_update_clip_path
    - int2fixed
    - dev_proc
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_fill_rectangle(gx_device * dev, int x, int y, int
      w, int h,\n                           gx_color_index color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1176,1
    - Dst: gdev_vector_prepare_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1177,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1179,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1182,1
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdevc
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1169
    functionDepth: 7
    functionLinenumber: 1169
    functionLinenumberEnd: 1191
    functionName: gdev_vector_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 1
    functionsReached:
    - gx_default_fill_path
    - vdev_proc
    - gdev_vector_update_clip_path
    - gdev_vector_prepare_fill
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_fill_path(gx_device * dev, const gs_gstate * pgs,\n
      \                     gx_path * ppath, const gx_fill_params * params,\n                 const
      gx_device_color * pdevc, const gx_clip_path * pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1203,1
    - Dst: gdev_vector_stroke_scaling
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1204,1
    - Dst: gdev_vector_prepare_stroke
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1205,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1207,1
    - Dst: vdev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1210,1
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1193
    functionDepth: 5
    functionLinenumber: 1193
    functionLinenumberEnd: 1215
    functionName: gdev_vector_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 1
    functionsReached:
    - gx_default_stroke_path
    - vdev_proc
    - gdev_vector_update_clip_path
    - gdev_vector_prepare_stroke
    - gdev_vector_stroke_scaling
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_stroke_path(gx_device * dev, const gs_gstate * pgs,\n
      \                       gx_path * ppath, const gx_stroke_params * params,\n
      \             const gx_drawing_color * pdcolor, const gx_clip_path * pcpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1230,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1231,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1232,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1233,1
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1237,1
    - Dst: gx_default_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1241,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1244,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1260,1
    - Dst: gdev_vector_write_polygon
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1267,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1217
    functionDepth: 6
    functionLinenumber: 1217
    functionLinenumberEnd: 1269
    functionName: gdev_vector_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - update_fill
    - gdev_vector_update_clip_path
    - fixed_mult_quo
    - gdev_vector_write_polygon
    - dev_proc
    - gx_default_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_fill_trapezoid(gx_device * dev, const gs_fixed_edge
      * left,\n        const gs_fixed_edge * right, fixed ybot, fixed ytop, bool swap_axes,\n
      \                 const gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1277,1
    - Dst: gx_default_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1282,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1292,1
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1297,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1302,1
    - Dst: gdev_vector_write_polygon
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1312,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1271
    functionDepth: 6
    functionLinenumber: 1271
    functionLinenumberEnd: 1314
    functionName: gdev_vector_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - update_fill
    - gdev_vector_update_clip_path
    - gx_default_fill_parallelogram
    - gdev_vector_write_polygon
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_fill_parallelogram(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                  const
      gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: update_fill
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1321,1
    - Dst: gx_default_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1325,1
    - Dst: gdev_vector_update_clip_path
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1328,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1332,1
    - Dst: gdev_vector_write_polygon
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdevc
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_device_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1316
    functionDepth: 6
    functionLinenumber: 1316
    functionLinenumberEnd: 1343
    functionName: gdev_vector_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - update_fill
    - gx_default_fill_triangle
    - gdev_vector_update_clip_path
    - gdev_vector_write_polygon
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_vector_fill_triangle(gx_device * dev,\n                 fixed
      px, fixed py, fixed ax, fixed ay, fixed bx, fixed by,\n                  const
      gx_device_color * pdevc, gs_logical_operation_t lop)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_vector_get_param
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1351,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gdevvec.c:1355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1345
    functionDepth: 5
    functionLinenumber: 1345
    functionLinenumberEnd: 1356
    functionName: gdev_vector_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    - gdev_vector_get_param
    linkageType: ''
    returnType: int
    signature: int gdev_vector_dev_spec_op(gx_device *pdev, int dev_spec_op, void
      *data, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: gs_image_bytes_per_row
    functionSourceFile: /src/libspectre/ghostscript/base/gsimage.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_image_bytes_per_row(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - fill
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 46
    functionName: gs_alloc_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gsmdebug.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_fill(ptr, fill, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - fill
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gs_alloc_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gsmdebug.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_alloc_fill(ptr, fill, len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gxtype1.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 65
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(gs_type1_state_enum_ptrs, gs_type1_state *pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gxtype1.c:73,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gxtype1.c:74,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gxtype1.c:75,1
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gxtype1.c:76,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxtype1.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 84
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(gs_type1_state_reloc_ptrs, gs_type1_state
      *pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxtype1.c:110,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/base/gxtype1.c:120,1
    - Dst: set_pixel_scale
      Src: /src/libspectre/ghostscript/base/gxtype1.c:132,1
    - Dst: set_pixel_scale
      Src: /src/libspectre/ghostscript/base/gxtype1.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 8
    argNames:
    - pcis
    - pgs
    - ppath
    - pscale
    - psubpixels
    - no_grid_fitting
    - paint_type
    - pfont
    argTypes:
    - gs_type1_state*
    - gs_gstate*
    - gx_path*
    - gs_log2_scale_point*
    - gs_log2_scale_point*
    - bool
    - int
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 98
    functionDepth: 3
    functionLinenumber: 98
    functionLinenumberEnd: 136
    functionName: gs_type1_interp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 2
    functionsReached:
    - gs_glyph_data_from_null
    - set_pixel_scale
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gs_type1_interp_init(register gs_type1_state * pcis, gs_gstate
      * pgs,\n    gx_path * ppath, const gs_log2_scale_point * pscale,\n    const
      gs_log2_scale_point * psubpixels, bool no_grid_fitting,\n                     int
      paint_type, gs_font_type1 * pfont)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcis
    - callback_data
    argTypes:
    - gs_type1_state*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: gs_type1_set_callback_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_type1_set_callback_data(gs_type1_state *pcis, void *callback_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:149,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcis
    - psbpt
    argTypes:
    - gs_type1_state*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    functionName: gs_type1_set_lsb
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - float2fixed
    linkageType: ''
    returnType: void
    signature: void gs_type1_set_lsb(gs_type1_state * pcis, const gs_point * psbpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:156,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcis
    - pwpt
    argTypes:
    - gs_type1_state*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 159
    functionName: gs_type1_set_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - float2fixed
    linkageType: ''
    returnType: void
    signature: void gs_type1_set_width(gs_type1_state * pcis, const gs_point * pwpt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_matrix_to_fixed_coeff
      Src: /src/libspectre/ghostscript/base/gxtype1.c:170,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxtype1.c:170,1
    - Dst: gs_char_flatness
      Src: /src/libspectre/ghostscript/base/gxtype1.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 186
    functionName: gs_type1_finish_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - gx_matrix_to_fixed_coeff
    - ctm_only
    - gs_char_flatness
    linkageType: ''
    returnType: void
    signature: void gs_type1_finish_init(gs_type1_state * pcis)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gxtype1.c:200,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:201,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:201,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:202,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 5
    argNames:
    - pcis
    - lsbx
    - lsby
    - wx
    - wy
    argTypes:
    - gs_type1_state*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 204
    functionName: gs_type1_sbw
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 1
    functionsReached:
    - if_debug4
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_type1_sbw(gs_type1_state * pcis, fixed lsbx, fixed lsby, fixed
      wx, fixed wy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:212,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pcis
    - csp
    - num_results
    argTypes:
    - gs_type1_state*
    - fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 232
    functionName: gs_type1_blend
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 1
    functionsReached:
    - return_error
    - fixed2int_var
    linkageType: ''
    returnType: int
    signature: int gs_type1_blend(gs_type1_state *pcis, fixed *csp, int num_results)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:249,1
    - Dst: gs_font_type1*::data::procs::seac_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:256,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - pcis
    - cstack
    - asb
    - ipsp
    argTypes:
    - gs_type1_state*
    - fixed*
    - fixed
    - ip_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 263
    functionName: gs_type1_seac
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - fixed2int_var
    - gs_font_type1*::data::procs::seac_data
    linkageType: ''
    returnType: int
    signature: "int gs_type1_seac(gs_type1_state * pcis, const fixed * cstack, fixed
      asb,\n              ip_state_t * ipsp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type1*::data::procs::seac_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:295,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxtype1.c:303,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxtype1.c:304,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxtype1.c:306,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxtype1.c:308,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxtype1.c:310,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gxtype1.c:327,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 1
    argNames:
    - pcis
    argTypes:
    - gs_type1_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 329
    functionName: gs_type1_endchar
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - gs_font_type1*::data::procs::seac_data
    - gs_setflat
    - memcpy
    - emprintf2
    - min
    linkageType: ''
    returnType: int
    signature: int gs_type1_endchar(gs_type1_state * pcis)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:335,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:336,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:337,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pcis
    - psbw
    argTypes:
    - gs_type1_state*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 339
    functionName: type1_cis_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 1
    functionsReached:
    - fixed2float
    linkageType: ''
    returnType: void
    signature: void type1_cis_get_metrics(const gs_type1_state * pcis, double psbw[4])
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: CLEAR_CSTACK
      Src: /src/libspectre/ghostscript/base/gxtype1.c:376,1
    - Dst: decrypt_skip_next
      Src: /src/libspectre/ghostscript/base/gxtype1.c:386,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gxtype1.c:403,1
    - Dst: decode_push_num1
      Src: /src/libspectre/ghostscript/base/gxtype1.c:407,1
    - Dst: decode_push_num2
      Src: /src/libspectre/ghostscript/base/gxtype1.c:409,1
    - Dst: decode_num4
      Src: /src/libspectre/ghostscript/base/gxtype1.c:413,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gxtype1.c:414,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:415,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:417,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gxtype1.c:429,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxtype1.c:430,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:460,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:462,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:465,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:480,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:482,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:485,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:497,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gxtype1.c:500,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:503,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gxtype1.c:521,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxtype1.c:522,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxtype1.c:523,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:527,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gxtype1.c:530,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxtype1.c:548,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 184
    argCount: 3
    argNames:
    - pfont
    - pgd
    - chars
    argTypes:
    - gs_font_type1*
    - gs_glyph_data_t*
    - gs_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 570
    functionName: gs_type1_piece_codes
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 1
    functionsReached:
    - decode_push_num1
    - decode_push_num2
    - CS_CHECK_PUSH
    - decrypt_skip_next
    - fixed2int_var
    - gs_type1_data*::procs::subr_data
    - charstring_next
    - CLEAR_CSTACK
    - decode_num4
    - CS_CHECK_CSTACK_BOUNDS
    - fixed2int
    - return_error
    - gs_note_error
    - gs_glyph_data_free
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int gs_type1_piece_codes(/*const*/ gs_font_type1 *pfont,\n                     const
      gs_glyph_data_t *pgd, gs_char *chars)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_type1_piece_codes
      Src: /src/libspectre/ghostscript/base/gxtype1.c:583,1
    - Dst: gs_type1_data*::procs::seac_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:593,1
    - Dst: gs_type1_data*::procs::seac_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - pfont
    - pgd
    - members
    - info
    argTypes:
    - gs_font_type1*
    - gs_glyph_data_t*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 598
    functionName: gs_type1_glyph_pieces
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - gs_type1_piece_codes
    - gs_type1_data*::procs::seac_data
    linkageType: ''
    returnType: int
    signature: "int gs_type1_glyph_pieces(gs_font_type1 *pfont, const gs_glyph_data_t
      *pgd,\n                      int members, gs_glyph_info_t *info)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_default_glyph_info
      Src: /src/libspectre/ghostscript/base/gxtype1.c:616,1
    - Dst: gs_type1_data*::procs::glyph_data
      Src: /src/libspectre/ghostscript/base/gxtype1.c:627,1
    - Dst: gs_type1_glyph_pieces
      Src: /src/libspectre/ghostscript/base/gxtype1.c:631,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/base/gxtype1.c:648,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gxtype1.c:652,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/base/gxtype1.c:653,1
    - Dst: gs_type1_interp_init
      Src: /src/libspectre/ghostscript/base/gxtype1.c:656,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxtype1.c:661,1
    - Dst: gx_path_init_bbox_accumulator
      Src: /src/libspectre/ghostscript/base/gxtype1.c:662,1
    - Dst: gs_type1_data*::interpret
      Src: /src/libspectre/ghostscript/base/gxtype1.c:664,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxtype1.c:676,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:678,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:679,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:680,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxtype1.c:681,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gxtype1.c:687,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 600
    functionDepth: 4
    functionLinenumber: 600
    functionLinenumberEnd: 689
    functionName: gs_type1_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached:
    - gs_type1_interp_init
    - gs_default_glyph_info
    - gs_type1_data*::procs::glyph_data
    - gx_path_init_bbox_accumulator
    - gs_type1_glyph_pieces
    - memset
    - gs_make_identity
    - gs_matrix_fixed_from_matrix
    - return_error
    - gs_type1_data*::interpret
    - gs_glyph_data_free
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_type1_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                    int members, gs_glyph_info_t *info)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pbfont
    argTypes:
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 702
    functionName: gs_font_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gxtype1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_font_base
    signature: 'gs_font_base *

      gs_font_parent(const gs_font_base *pbfont)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: private_st_PNGP_state
    functionSourceFile: /src/libspectre/ghostscript/base/spngpx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_PNGP_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: s_PNGP_set_defaults_inline
    functionSourceFile: /src/libspectre/ghostscript/base/spngpx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_PNGP_set_defaults_inline(ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/base/gpmisc.c:40,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/base/gpmisc.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ptr
    - plen
    argTypes:
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: gp_gettmpdir
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 2
    functionsReached:
    - gp_getenv
    linkageType: ''
    returnType: int
    signature: int gp_gettmpdir(char *ptr, int *plen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/libspectre/ghostscript/base/gpmisc.c:91,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:99,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gpmisc.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - fname
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 103
    functionName: gp_fopentemp
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - fdopen
    - close
    - open
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_fopentemp(const char *fname, const char *mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gpmisc.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - bp
    - bpe
    - ip
    - len
    argTypes:
    - char**
    - char*
    - char**
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: append
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 13
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool append(char **bp, const char *bpe, const char **ip, uint len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:122,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 4
    argNames:
    - ip
    - ipe
    - item
    - direction
    argTypes:
    - char**
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 125
    functionName: search_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gs_file_name_check_separator
    linkageType: ''
    returnType: uint
    signature: uint search_separator(const char **ip, const char *ipe, const char
      *item, int direction)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_root
      Src: /src/libspectre/ghostscript/base/gpmisc.c:167,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:176,1
    - Dst: gp_file_name_root
      Src: /src/libspectre/ghostscript/base/gpmisc.c:188,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:190,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:192,1
    - Dst: gp_file_name_directory_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:195,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:197,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:198,1
    - Dst: search_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:206,1
    - Dst: gp_file_name_is_empty_item_meanful
      Src: /src/libspectre/ghostscript/base/gpmisc.c:208,1
    - Dst: gp_file_name_is_current
      Src: /src/libspectre/ghostscript/base/gpmisc.c:211,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:217,1
    - Dst: gp_file_name_is_parent
      Src: /src/libspectre/ghostscript/base/gpmisc.c:225,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:226,1
    - Dst: gp_file_name_is_parent_allowed
      Src: /src/libspectre/ghostscript/base/gpmisc.c:242,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:249,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:254,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:258,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gpmisc.c:262,1
    - Dst: search_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:262,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:265,1
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gpmisc.c:269,1
    - Dst: search_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:269,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gpmisc.c:270,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:278,1
    - Dst: gp_file_name_current
      Src: /src/libspectre/ghostscript/base/gpmisc.c:291,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:292,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:294,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:298,1
    - Dst: search_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:310,1
    - Dst: gp_file_name_directory_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:311,1
    - Dst: gp_file_name_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:312,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:313,1
    - Dst: append
      Src: /src/libspectre/ghostscript/base/gpmisc.c:316,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 108
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 323
    functionName: gp_file_name_combine_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 2
    functionsReached:
    - gp_file_name_is_empty_item_meanful
    - DISCARD
    - append
    - gp_file_name_is_parent
    - gp_file_name_current
    - gp_file_name_is_current
    - gp_file_name_directory_separator
    - strlen
    - gs_file_name_check_separator
    - search_separator
    - memcmp
    - gp_file_name_is_parent_allowed
    - gp_file_name_separator
    - gp_file_name_root
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine_generic(const char
      *prefix, uint plen, const char *fname, uint flen,\n                    bool
      no_sibling, char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine
      Src: /src/libspectre/ghostscript/base/gpmisc.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - fname
    - flen
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 344
    functionName: gp_file_name_reduce
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_file_name_combine
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: gp_file_name_combine_result gp_file_name_reduce(const char *fname,
      uint flen, char *buffer, uint *blen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_root
      Src: /src/libspectre/ghostscript/base/gpmisc.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - flen
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: gp_file_name_is_absolute
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 2
    functionsReached:
    - gp_file_name_root
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_absolute(const char *fname, uint flen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_root
      Src: /src/libspectre/ghostscript/base/gpmisc.c:362,1
    - Dst: search_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - fname
    - flen
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 378
    functionName: gp_file_name_prefix
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - search_separator
    - gp_file_name_root
    linkageType: ''
    returnType: uint
    signature: "uint gp_file_name_prefix(const char *fname, uint flen,\n                bool
      (*test)(const char *fname, uint flen))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_prefix
      Src: /src/libspectre/ghostscript/base/gpmisc.c:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - flen
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 387
    functionName: gp_file_name_parents
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_file_name_prefix
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_parents(const char *fname, uint flen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_prefix
      Src: /src/libspectre/ghostscript/base/gpmisc.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - flen
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 392
    functionDepth: 2
    functionLinenumber: 392
    functionLinenumberEnd: 396
    functionName: gp_file_name_cwds
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_file_name_prefix
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_cwds(const char *fname, uint flen)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gpmisc.c:402,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gpmisc.c:405,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/base/gpmisc.c:408,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gpmisc.c:411,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - f
    - count
    - offset
    - buf
    argTypes:
    - gp_file*
    - size_t
    - gs_offset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 415
    functionName: generic_pread
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_fread
    - gp_fseek
    - gp_ftell
    linkageType: ''
    returnType: int
    signature: int generic_pread(gp_file *f, size_t count, gs_offset_t offset, void
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell
      Src: /src/libspectre/ghostscript/base/gpmisc.c:421,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gpmisc.c:424,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gpmisc.c:427,1
    - Dst: gp_fseek
      Src: /src/libspectre/ghostscript/base/gpmisc.c:430,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - f
    - count
    - offset
    - buf
    argTypes:
    - gp_file*
    - size_t
    - gs_offset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 434
    functionName: generic_pwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_fseek
    - gp_ftell
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int generic_pwrite(gp_file *f, size_t count, gs_offset_t offset, const
      void *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gpmisc.c:438,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gpmisc.c:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - mem
    - prototype
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - gp_file_ops_t*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 455
    functionName: gp_file_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - memset
    - gs_alloc_bytes
    linkageType: ''
    returnType: gp_file
    signature: gp_file *gp_file_alloc(const gs_memory_t *mem, const gp_file_ops_t
      *prototype, size_t size, const char *cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gpmisc.c:463,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gpmisc.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 457
    functionDepth: 0
    functionLinenumber: 457
    functionLinenumberEnd: 465
    functionName: gp_file_dealloc
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gp_file_dealloc(gp_file *file)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gpmisc.c:478,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gpmisc.c:479,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gpmisc.c:484,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gpmisc.c:485,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gpmisc.c:486,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - f
    - fmt
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 489
    functionName: gp_fprintf
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 45
    functionsReached:
    - va_start
    - gs_alloc_bytes
    - va_end
    - vsnprintf
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gp_fprintf(gp_file *f, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 502
    functionName: gp_file_FILE_close
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_close(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 504
    functionDepth: 0
    functionLinenumber: 504
    functionLinenumberEnd: 510
    functionName: gp_file_FILE_getc
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - fgetc
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_getc(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file_
    - c
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: gp_file_FILE_putc
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - fputc
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_putc(gp_file *file_, int c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gpmisc.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file_
    - size
    - count
    - buf
    argTypes:
    - gp_file*
    - size_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: gp_file_FILE_read
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - fread
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_read(gp_file *file_, size_t size, unsigned int count,
      void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gpmisc.c:533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file_
    - size
    - count
    - buf
    argTypes:
    - gp_file*
    - size_t
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 534
    functionName: gp_file_FILE_write
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_write(gp_file *file_, size_t size, unsigned int count,
      const void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseek_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - file_
    - offset
    - whence
    argTypes:
    - gp_file*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 542
    functionName: gp_file_FILE_seek
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_fseek_impl
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_seek(gp_file *file_, gs_offset_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_ftell_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:549,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: gp_file_FILE_tell
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_ftell_impl
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t gp_file_FILE_tell(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: feof
      Src: /src/libspectre/ghostscript/base/gpmisc.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 558
    functionName: gp_file_FILE_eof
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - feof
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_eof(gp_file *file_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:564,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gpmisc.c:566,1
    - Dst: gp_fdup_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - file_
    - mode
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: gp_file_FILE_dup
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - gp_fdup_impl
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gp_file_FILE_dup(gp_file *file_, const char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fseekable_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 578
    functionName: gp_file_FILE_seekable
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_fseekable_impl
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_seekable(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_pread_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:585,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file_
    - count
    - offset
    - buf
    argTypes:
    - gp_file*
    - size_t
    - gs_offset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 586
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 586
    functionName: gp_file_FILE_pread
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_pread_impl
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_pread(gp_file *file_, size_t count, gs_offset_t offset,
      void *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_pwrite_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - file_
    - count
    - offset
    - buf
    argTypes:
    - gp_file*
    - size_t
    - gs_offset_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 594
    functionName: gp_file_FILE_pwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_pwrite_impl
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_pwrite(gp_file *file_, size_t count, gs_offset_t offset,
      const void *buf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fstat
      Src: /src/libspectre/ghostscript/base/gpmisc.c:602,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gpmisc.c:602,1
    - Dst: S_ISCHR
      Src: /src/libspectre/ghostscript/base/gpmisc.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: gp_file_FILE_is_char_buffered
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - S_ISCHR
    - fileno
    - fstat
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_is_char_buffered(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gpmisc.c:612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 613
    functionName: gp_file_FILE_fflush
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: void
    signature: void gp_file_FILE_fflush(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ferror
      Src: /src/libspectre/ghostscript/base/gpmisc.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 621
    functionName: gp_file_FILE_ferror
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - ferror
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_ferror(gp_file *file_)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 629
    functionName: gp_file_FILE_get_file
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_file_FILE_get_file(gp_file *file_)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clearerr
      Src: /src/libspectre/ghostscript/base/gpmisc.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file_
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 637
    functionName: gp_file_FILE_clearerr
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - clearerr
    linkageType: ''
    returnType: void
    signature: void gp_file_FILE_clearerr(gp_file *file_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freopen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:644,1
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - file_
    - fname
    - mode
    argTypes:
    - gp_file*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 650
    functionName: gp_file_FILE_reopen
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - freopen
    - gp_file_dealloc
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gp_file_FILE_reopen(gp_file *file_, const char *fname, const char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_alloc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 674
    functionDepth: 2
    functionLinenumber: 674
    functionLinenumberEnd: 680
    functionName: gp_file_FILE_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 4
    functionsReached:
    - gp_file_alloc
    linkageType: ''
    returnType: gp_file
    signature: gp_file *gp_file_FILE_alloc(const gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:687,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - file_
    - f
    argTypes:
    - gp_file*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 682
    functionDepth: 1
    functionLinenumber: 682
    functionLinenumberEnd: 695
    functionName: gp_file_FILE_set
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 4
    functionsReached:
    - gp_file_dealloc
    linkageType: ''
    returnType: int
    signature: int gp_file_FILE_set(gp_file *file_, FILE *f, int (*close)(FILE *))
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gpmisc.c:702,1
    - Dst: gp_ferror
      Src: /src/libspectre/ghostscript/base/gpmisc.c:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - buffer
    - n
    - f
    argTypes:
    - char*
    - size_t
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 715
    functionName: gp_fgets
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 2
    functionsReached:
    - gp_fgetc
    - gp_ferror
    linkageType: ''
    returnType: char
    signature: char *gp_fgets(char *buffer, size_t n, gp_file *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:724,1
    - Dst: gs_fs_list_t*::fs::open_file
      Src: /src/libspectre/ghostscript/base/gpmisc.c:731,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 739
    functionName: gp_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 14
    functionsReached:
    - gs_fs_list_t*::fs::open_file
    - gp_validate_path
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gp_fopen(const gs_memory_t *mem, const char *fname, const char *mode)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:750,1
    - Dst: gs_fs_list_t*::fs::open_printer
      Src: /src/libspectre/ghostscript/base/gpmisc.c:757,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 765
    functionName: gp_open_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_validate_path
    - gs_fs_list_t*::fs::open_printer
    linkageType: ''
    returnType: gp_file
    signature: "gp_file *\ngp_open_printer(const gs_memory_t *mem,\n                      char
      \        fname[gp_file_name_sizeof],\n                      int          binary_mode)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gpmisc.c:781,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:781,1
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:782,1
    - Dst: gs_fs_list_t*::fs::open_scratch
      Src: /src/libspectre/ghostscript/base/gpmisc.c:788,1
    - Dst: gs_add_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:808,1
    - Dst: gs_add_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:811,1
    - Dst: gs_add_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:814,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gpmisc.c:818,1
    - Dst: gp_unlink_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:826,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:827,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:829,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:831,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 31
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - rm
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 837
    functionName: do_open_scratch_file
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_file_name_is_absolute
    - gs_remove_control_path_flags
    - gs_add_control_path_flags
    - gp_unlink_impl
    - gp_validate_path
    - strlen
    - gp_fclose
    - gs_fs_list_t*::fs::open_scratch
    linkageType: ''
    returnType: gp_file
    signature: "gp_file *\ndo_open_scratch_file(const gs_memory_t *mem,\n                     const
      char        *prefix,\n                     char              *fname,\n                     const
      char        *mode,\n                     int                rm)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open_scratch_file
      Src: /src/libspectre/ghostscript/base/gpmisc.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - prefix
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 839
    functionDepth: 3
    functionLinenumber: 839
    functionLinenumberEnd: 846
    functionName: gp_open_scratch_file
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 4
    functionsReached:
    - do_open_scratch_file
    linkageType: ''
    returnType: gp_file
    signature: "gp_file *\ngp_open_scratch_file(const gs_memory_t *mem,\n                     const
      char        *prefix,\n                     char              *fname,\n                     const
      char        *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: do_open_scratch_file
      Src: /src/libspectre/ghostscript/base/gpmisc.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - prefix
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 3
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: gp_open_scratch_file_rm
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 5
    functionsReached:
    - do_open_scratch_file
    linkageType: ''
    returnType: gp_file
    signature: "gp_file *\ngp_open_scratch_file_rm(const gs_memory_t *mem,\n                        const
      char        *prefix,\n                        char              *fname,\n                        const
      char        *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:860,1
    - Dst: gp_stat_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 865
    functionName: gp_stat
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - gp_validate_path
    - gp_stat_impl
    linkageType: ''
    returnType: int
    signature: int gp_stat(const gs_memory_t *mem, const char *path, struct stat *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_files_init_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: gp_enumerate_files_init
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - gp_enumerate_files_init_impl
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init(gs_memory_t *mem, const char *pat, uint patlen)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_files_next_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:879,1
    - Dst: gp_validate_path_len
      Src: /src/libspectre/ghostscript/base/gpmisc.c:882,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 887
    functionName: gp_enumerate_files_next
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_enumerate_files_next_impl
    - gp_validate_path_len
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next(gs_memory_t *mem, file_enum * pfen, char
      *ptr, uint maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_files_close_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 888
    functionDepth: 0
    functionLinenumber: 888
    functionLinenumberEnd: 892
    functionName: gp_enumerate_files_close
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 0
    functionsReached:
    - gp_enumerate_files_close_impl
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close(gs_memory_t *mem, file_enum * pfen)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:988,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:990,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:997,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:999,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1000,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1012,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1013,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1023,1
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1025,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 72
    argCount: 3
    argNames:
    - mem
    - path
    - type
    argTypes:
    - gs_memory_t*
    - char*
    - gs_path_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 1037
    functionName: validate
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 130
    functionsReached:
    - gs_file_name_check_separator
    - strlen
    linkageType: ''
    returnType: int
    signature: "int validate(const gs_memory_t *mem,\n         const char        *path,\n
      \        gs_path_control_t  type)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_current
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1048,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1049,1
    - Dst: gp_file_name_separator
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1050,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1051,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1071,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1075,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1076,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1080,1
    - Dst: gp_file_name_reduce
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1085,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1093,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1096,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1099,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1100,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1103,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1106,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1109,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1110,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1113,1
    - Dst: validate
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1114,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1117,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1118,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1122,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1123,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1134,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1136,1
    - Dst: gs_remove_control_path_flags
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1138,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1142,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 65
    argCount: 4
    argNames:
    - mem
    - path
    - len
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1149
    functionName: gp_validate_path_len
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - gp_file_name_is_absolute
    - gp_file_name_reduce
    - gs_remove_control_path_flags
    - gp_file_name_current
    - validate
    - gs_alloc_bytes
    - strlen
    - memcpy
    - memcmp
    - gs_note_error
    - errprintf
    - gp_file_name_separator
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gp_validate_path_len(const gs_memory_t *mem,\n                     const
      char        *path,\n                     const uint         len,\n                     const
      char        *mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path_len
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1156,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - path
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1151
    functionDepth: 2
    functionLinenumber: 1151
    functionLinenumberEnd: 1157
    functionName: gp_validate_path
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 7
    functionsReached:
    - strlen
    - gp_validate_path_len
    linkageType: ''
    returnType: int
    signature: "int gp_validate_path(const gs_memory_t *mem,\n                 const
      char        *path,\n                 const char        *mode)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1162,1
    - Dst: gp_unlink_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1159
    functionDepth: 3
    functionLinenumber: 1159
    functionLinenumberEnd: 1166
    functionName: gp_unlink
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - gp_unlink_impl
    - gp_validate_path
    linkageType: ''
    returnType: int
    signature: int gp_unlink(gs_memory_t *mem, const char *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1173,1
    - Dst: gp_validate_path
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1175,1
    - Dst: gp_rename_impl
      Src: /src/libspectre/ghostscript/base/gpmisc.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - from
    - to
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1168
    functionDepth: 3
    functionLinenumber: 1168
    functionLinenumberEnd: 1179
    functionName: gp_rename
    functionSourceFile: /src/libspectre/ghostscript/base/gpmisc.c
    functionUses: 1
    functionsReached:
    - gp_validate_path
    - gp_rename_impl
    linkageType: ''
    returnType: int
    signature: int gp_rename(gs_memory_t *mem, const char *from, const char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: cbytes
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbytes(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: clog2_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clog2_bytes(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: cbits
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbits(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: clog2_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clog2_bits(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: cbit_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cbit_mask(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: calign_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calign_bytes(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: calign_bit_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: calign_bit_mask(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ct
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: cmask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cmask(ct)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ct
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: chi_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chi_bits(ct,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: chunk_hi_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: chunk_hi_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: inc_ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: inc_ptr(ptr,delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: set_mono_right_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_right_mask(var, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - w
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: set_mono_thin_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_thin_mask(var, w, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: set_mono_left_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_left_mask(var, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: set_mono_left_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_left_mask(var, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - var
    - ','
    - w
    - ','
    - bit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: set_mono_thin_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_thin_mask(var, w, bit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - ebit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: set_mono_right_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitops.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_mono_right_mask(var, ebit)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - ptr
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: member_prt
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: member_prt(type, ptr, offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - s
    argTypes:
    - int24
    - int19
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: mul_shift
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t mul_shift(int24 a, int19 b, unsigned int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - a
    - b
    - s
    argTypes:
    - int24
    - int19
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 175
    functionName: mul_shift_round
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t mul_shift_round(int24 a, int19 b, unsigned int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - s
    argTypes:
    - int32_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 179
    functionName: shift_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t shift_rounded(int32_t v, unsigned int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 183
    functionName: Max
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int32_t
    signature: int32_t Max(int32_t a, int32_t b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: rshift
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long rshift(long a, int b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - self
    - m
    argTypes:
    - double_matrix*
    - gs_matrix_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: double_matrix__set
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void double_matrix__set(double_matrix * self, const gs_matrix_fixed
      * m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:200,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:200,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:200,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:200,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:200,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - self
    - m
    argTypes:
    - double_matrix*
    - double_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: double_matrix__invert_to
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - fabs
    linkageType: ''
    returnType: int
    signature: int double_matrix__invert_to(const double_matrix * self, double_matrix
      * m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:210,1
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:211,1
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:212,1
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - self
    - bits
    argTypes:
    - fraction_matrix*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: fraction_matrix__drop_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - shift_rounded
    linkageType: ''
    returnType: void
    signature: void fraction_matrix__drop_bits(fraction_matrix * self, unsigned int
      bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:219,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:219,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:220,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:220,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:221,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gxhintn.c:224,1
    - Dst: Max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: Max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: Max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:236,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gxhintn.c:237,1
    - Dst: fraction_matrix__drop_bits
      Src: /src/libspectre/ghostscript/base/gxhintn.c:239,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - self
    - pmat
    argTypes:
    - fraction_matrix*
    - double_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 241
    functionName: fraction_matrix__set
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fraction_matrix__drop_bits
    - any_abs
    - frexp
    - Max
    - max
    - fabs
    linkageType: ''
    returnType: void
    signature: void fraction_matrix__set(fraction_matrix * self, const double_matrix
      * pmat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - self
    - pmat
    argTypes:
    - fraction_matrix*
    - double_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 252
    functionName: fraction_matrix__to_double
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int fraction_matrix__to_double(const fraction_matrix * self, double_matrix
      * pmat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fraction_matrix__to_double
      Src: /src/libspectre/ghostscript/base/gxhintn.c:258,1
    - Dst: double_matrix__invert_to
      Src: /src/libspectre/ghostscript/base/gxhintn.c:261,1
    - Dst: fraction_matrix__set
      Src: /src/libspectre/ghostscript/base/gxhintn.c:264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - pmat
    argTypes:
    - fraction_matrix*
    - fraction_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: fraction_matrix__invert_to
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fraction_matrix__set
    - fraction_matrix__to_double
    - double_matrix__invert_to
    linkageType: ''
    returnType: int
    signature: int fraction_matrix__invert_to(const fraction_matrix * self, fraction_matrix
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_shift_round
      Src: /src/libspectre/ghostscript/base/gxhintn.c:269,1
    - Dst: mul_shift_round
      Src: /src/libspectre/ghostscript/base/gxhintn.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - x
    - y
    - s
    argTypes:
    - fraction_matrix*
    - int24
    - int24
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: fraction_matrix__transform_x
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - mul_shift_round
    linkageType: ''
    returnType: int32_t
    signature: int32_t fraction_matrix__transform_x(fraction_matrix *self, int24 x,
      int24 y, unsigned int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_shift_round
      Src: /src/libspectre/ghostscript/base/gxhintn.c:272,1
    - Dst: mul_shift_round
      Src: /src/libspectre/ghostscript/base/gxhintn.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - x
    - y
    - s
    argTypes:
    - fraction_matrix*
    - int24
    - int24
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: fraction_matrix__transform_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - mul_shift_round
    linkageType: ''
    returnType: int32_t
    signature: int32_t fraction_matrix__transform_y(fraction_matrix *self, int24 x,
      int24 y, unsigned int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - beg
    - end
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 279
    functionName: ranger_step_f
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ranger_step_f(int i, int beg, int end)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i
    - beg
    - end
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 283
    functionName: ranger_step_b
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ranger_step_b(int i, int beg, int end)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - h
    - v
    argTypes:
    - t1_hinter*
    - t1_hinter_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 295
    functionName: o2d
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fixed
    signature: fixed o2d(const t1_hinter *h, t1_hinter_space_coord v)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - h
    - v
    argTypes:
    - t1_hinter*
    - t1_hinter_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: d2o
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: fixed
    signature: fixed d2o(const t1_hinter *h, t1_hinter_space_coord v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fraction_matrix__transform_x
      Src: /src/libspectre/ghostscript/base/gxhintn.c:307,1
    - Dst: fraction_matrix__transform_y
      Src: /src/libspectre/ghostscript/base/gxhintn.c:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - h
    - gx
    - gy
    - ox
    - oy
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - t1_hinter_space_coord*
    - t1_hinter_space_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 309
    functionName: g2o
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fraction_matrix__transform_y
    - fraction_matrix__transform_x
    linkageType: ''
    returnType: void
    signature: void g2o(t1_hinter * h, t1_glyph_space_coord gx, t1_glyph_space_coord
      gy, t1_hinter_space_coord *ox, t1_hinter_space_coord *oy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - gd
    - coef
    argTypes:
    - t1_glyph_space_coord
    - int19
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 313
    functionName: g2o_dist
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - mul_shift
    linkageType: ''
    returnType: t1_hinter_space_coord
    signature: t1_hinter_space_coord g2o_dist(t1_glyph_space_coord gd, int19 coef)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fraction_matrix__transform_x
      Src: /src/libspectre/ghostscript/base/gxhintn.c:317,1
    - Dst: fraction_matrix__transform_y
      Src: /src/libspectre/ghostscript/base/gxhintn.c:318,1
    - Dst: o2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:319,1
    - Dst: o2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - h
    - gx
    - gy
    - dx
    - dy
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - fixed*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: g2d
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - o2d
    - fraction_matrix__transform_y
    - fraction_matrix__transform_x
    linkageType: ''
    returnType: void
    signature: void g2d(t1_hinter * h, t1_glyph_space_coord gx, t1_glyph_space_coord
      gy, fixed *dx, fixed *dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fraction_matrix__transform_x
      Src: /src/libspectre/ghostscript/base/gxhintn.c:326,1
    - Dst: fraction_matrix__transform_y
      Src: /src/libspectre/ghostscript/base/gxhintn.c:327,1
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:328,1
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - h
    - ox
    - oy
    - gx
    - gy
    argTypes:
    - t1_hinter*
    - t1_hinter_space_coord
    - t1_hinter_space_coord
    - t1_glyph_space_coord*
    - t1_glyph_space_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: o2g
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - shift_rounded
    - fraction_matrix__transform_y
    - fraction_matrix__transform_x
    linkageType: ''
    returnType: void
    signature: void o2g(t1_hinter * h, t1_hinter_space_coord ox, t1_hinter_space_coord
      oy, t1_glyph_space_coord *gx, t1_glyph_space_coord *gy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shift_rounded
      Src: /src/libspectre/ghostscript/base/gxhintn.c:333,1
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - h
    - od
    - coef
    argTypes:
    - t1_hinter*
    - t1_hinter_space_coord
    - int19
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 334
    functionName: o2g_dist
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - shift_rounded
    - mul_shift
    linkageType: ''
    returnType: t1_glyph_space_coord
    signature: t1_glyph_space_coord o2g_dist(t1_hinter * h, t1_hinter_space_coord
      od, int19 coef)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:341,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:341,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - self
    - gc
    - pole
    - align
    - quality
    argTypes:
    - t1_hint*
    - t1_glyph_space_coord
    - t1_pole*
    - enum t1_align_type
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 348
    functionName: t1_hint__set_aligned_coord
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: void
    signature: void t1_hint__set_aligned_coord(t1_hint * self, t1_glyph_space_coord
      gc, t1_pole * pole, enum t1_align_type align, int quality)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:366,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:367,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:368,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:369,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:370,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:371,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:372,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:373,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:374,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:375,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhintn.c:414,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhintn.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 58
    argCount: 2
    argNames:
    - self
    - output_path
    argTypes:
    - t1_hinter*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 416
    functionName: t1_hinter__init
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - count_of
    - memset
    linkageType: ''
    returnType: void
    signature: void t1_hinter__init(t1_hinter * self, gx_path *output_path)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:420,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:422,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:424,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:426,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:428,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:430,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:432,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:434,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:436,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:438,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 447
    functionName: t1_hinter__free_arrays
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void t1_hinter__free_arrays(t1_hinter * self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: t1_hinter__init_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__init_outline(t1_hinter * self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 467
    functionName: t1_hinter__compute_rat_transform_coef
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compute_rat_transform_coef(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:471,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:471,1
    - Dst: fraction_matrix__drop_bits
      Src: /src/libspectre/ghostscript/base/gxhintn.c:477,1
    - Dst: fraction_matrix__drop_bits
      Src: /src/libspectre/ghostscript/base/gxhintn.c:478,1
    - Dst: t1_hinter__compute_rat_transform_coef
      Src: /src/libspectre/ghostscript/base/gxhintn.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - self
    - xx
    - yy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 487
    functionName: t1_hinter__adjust_matrix_precision
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fraction_matrix__drop_bits
    - any_abs
    - t1_hinter__compute_rat_transform_coef
    linkageType: ''
    returnType: void
    signature: void t1_hinter__adjust_matrix_precision(t1_hinter * self, fixed xx,
      fixed yy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:491,1
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:492,1
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:496,1
    - Dst: d2o
      Src: /src/libspectre/ghostscript/base/gxhintn.c:497,1
    - Dst: d2o
      Src: /src/libspectre/ghostscript/base/gxhintn.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - self
    - dx
    - dy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 489
    functionDepth: 3
    functionLinenumber: 489
    functionLinenumberEnd: 515
    functionName: t1_hinter__set_origin
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - d2o
    - rshift
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: void
    signature: void t1_hinter__set_origin(t1_hinter * self, fixed dx, fixed dy)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:522,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:522,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:523,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:523,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:524,1
    - Dst: double_matrix__set
      Src: /src/libspectre/ghostscript/base/gxhintn.c:534,1
    - Dst: fraction_matrix__set
      Src: /src/libspectre/ghostscript/base/gxhintn.c:535,1
    - Dst: fraction_matrix__drop_bits
      Src: /src/libspectre/ghostscript/base/gxhintn.c:538,1
    - Dst: fraction_matrix__invert_to
      Src: /src/libspectre/ghostscript/base/gxhintn.c:542,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:553,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:561,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:561,1
    - Dst: fraction_matrix__to_double
      Src: /src/libspectre/ghostscript/base/gxhintn.c:569,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:572,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:573,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:574,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:575,1
    - Dst: t1_hinter__compute_rat_transform_coef
      Src: /src/libspectre/ghostscript/base/gxhintn.c:584,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxhintn.c:592,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxhintn.c:593,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gxhintn.c:594,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:595,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:596,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:597,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxhintn.c:599,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxhintn.c:600,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:618,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:618,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:619,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:619,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:620,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:620,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:621,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:621,1
    - Dst: t1_hinter__set_origin
      Src: /src/libspectre/ghostscript/base/gxhintn.c:627,1
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:628,1
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:629,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:630,1
    - Dst: o2g_dist
      Src: /src/libspectre/ghostscript/base/gxhintn.c:630,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:631,1
    - Dst: o2g_dist
      Src: /src/libspectre/ghostscript/base/gxhintn.c:631,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 11
    argNames:
    - self
    - ctm
    - FontMatrix
    - baseFontMatrix
    - log2_pixels_x
    - log2_pixels_y
    - log2_subpixels_x
    - log2_subpixels_y
    - origin_x
    - origin_y
    - align_to_pixels
    argTypes:
    - t1_hinter*
    - gs_matrix_fixed*
    - gs_matrix*
    - gs_matrix*
    - int
    - int
    - int
    - int
    - fixed
    - fixed
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 517
    functionDepth: 4
    functionLinenumber: 517
    functionLinenumberEnd: 633
    functionName: t1_hinter__set_mapping
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fraction_matrix__drop_bits
    - any_abs
    - t1_hinter__compute_rat_transform_coef
    - rshift
    - return_error
    - double_matrix__set
    - hypot
    - t1_hinter__set_origin
    - gs_distance_transform
    - max
    - floor
    - o2g_dist
    - fabs
    - fraction_matrix__set
    - fraction_matrix__to_double
    - fraction_matrix__invert_to
    linkageType: ''
    returnType: int
    signature: "int t1_hinter__set_mapping(t1_hinter * self, gs_matrix_fixed * ctm,\n
      \                   gs_matrix * FontMatrix, gs_matrix * baseFontMatrix,\n                    int
      log2_pixels_x, int log2_pixels_y,\n                    int log2_subpixels_x,
      int log2_subpixels_y,\n                    fixed origin_x, fixed origin_y, bool
      align_to_pixels)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:639,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:640,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:641,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:642,1
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - self
    - zone
    - blues
    - type
    - blue_fuzz
    argTypes:
    - t1_hinter*
    - t1_zone*
    - float*
    - enum t1_zone_type
    - t1_glyph_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 635
    functionDepth: 3
    functionLinenumber: 635
    functionLinenumberEnd: 647
    functionName: t1_hinter__make_zone
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - t1_hinter__adjust_matrix_precision
    - min
    - max
    linkageType: ''
    returnType: void
    signature: void t1_hinter__make_zone(t1_hinter * self, t1_zone *zone, float *
      blues, enum t1_zone_type type, t1_glyph_space_coord blue_fuzz)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxhintn.c:651,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxhintn.c:655,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxhintn.c:657,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - mem
    - a
    - a0
    - max_count
    - elem_size
    - enhancement
    - cname
    argTypes:
    - gs_memory_t*
    - void**
    - void*
    - int*
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 661
    functionName: t1_hinter__realloc_array
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - memcpy
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__realloc_array(gs_memory_t *mem, void **a, void *a0,
      int *max_count, int elem_size, int enhancement, const char *cname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:669,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:670,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:671,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:672,1
    - Dst: t1_hinter__make_zone
      Src: /src/libspectre/ghostscript/base/gxhintn.c:674,1
    - Dst: t1_hinter__make_zone
      Src: /src/libspectre/ghostscript/base/gxhintn.c:680,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:683,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:684,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 6
    argNames:
    - mem
    - self
    - blues
    - count
    - type
    - family
    argTypes:
    - gs_memory_t*
    - t1_hinter*
    - float*
    - int
    - enum t1_zone_type
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 663
    functionDepth: 4
    functionLinenumber: 663
    functionLinenumberEnd: 690
    functionName: t1_hinter__set_alignment_zones
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - count_of
    - any_abs
    - max
    - t1_hinter__realloc_array
    - return_error
    - t1_hinter__make_zone
    linkageType: ''
    returnType: int
    signature: int t1_hinter__set_alignment_zones(gs_memory_t *mem, t1_hinter * self,
      float * blues, int count, enum t1_zone_type type, bool family)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:699,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:700,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:701,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:702,1
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:704,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:705,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:706,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:707,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:708,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:710,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 29
    argCount: 5
    argNames:
    - mem
    - self
    - value
    - count
    - hv
    argTypes:
    - gs_memory_t*
    - t1_hinter*
    - float*
    - int
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 692
    functionDepth: 2
    functionLinenumber: 692
    functionLinenumberEnd: 748
    functionName: t1_hinter__set_stem_snap
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - count_of
    - max
    - t1_hinter__realloc_array
    - return_error
    linkageType: ''
    returnType: int
    signature: int t1_hinter__set_stem_snap(gs_memory_t *mem, t1_hinter * self, float
      * value, int count, unsigned short hv)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__init_outline
      Src: /src/libspectre/ghostscript/base/gxhintn.c:753,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:756,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxhintn.c:757,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:769,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:771,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:771,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:773,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:775,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:777,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:777,1
    - Dst: t1_hinter__set_alignment_zones
      Src: /src/libspectre/ghostscript/base/gxhintn.c:779,1
    - Dst: t1_hinter__set_stem_snap
      Src: /src/libspectre/ghostscript/base/gxhintn.c:781,1
    - Dst: t1_hinter__set_stem_snap
      Src: /src/libspectre/ghostscript/base/gxhintn.c:783,1
    - Dst: t1_hinter__set_stem_snap
      Src: /src/libspectre/ghostscript/base/gxhintn.c:785,1
    - Dst: t1_hinter__set_stem_snap
      Src: /src/libspectre/ghostscript/base/gxhintn.c:787,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - mem
    - self
    - FontType
    - pdata
    - no_grid_fitting
    - is_resource
    argTypes:
    - gs_memory_t*
    - t1_hinter*
    - int
    - gs_type1_data*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 750
    functionDepth: 5
    functionLinenumber: 750
    functionLinenumberEnd: 789
    functionName: t1_hinter__set_font_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - t1_hinter__set_alignment_zones
    - min
    - t1_hinter__set_stem_snap
    - t1_hinter__init_outline
    linkageType: ''
    returnType: int
    signature: int t1_hinter__set_font_data(gs_memory_t *mem, t1_hinter * self, int
      FontType, gs_type1_data *pdata, bool no_grid_fitting, bool is_resource)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__init_outline
      Src: /src/libspectre/ghostscript/base/gxhintn.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - self
    - FontType
    - pdata
    - no_grid_fitting
    argTypes:
    - t1_hinter*
    - int
    - gs_type42_data*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 791
    functionDepth: 1
    functionLinenumber: 791
    functionLinenumberEnd: 808
    functionName: t1_hinter__set_font42_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__init_outline
    linkageType: ''
    returnType: int
    signature: int t1_hinter__set_font42_data(t1_hinter * self, int FontType, gs_type42_data
      *pdata, bool no_grid_fitting)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:812,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:813,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:814,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - pole
    argTypes:
    - t1_hinter*
    - t1_pole**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 817
    functionName: t1_hinter__can_add_pole
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - t1_hinter__realloc_array
    linkageType: ''
    returnType: int
    signature: int t1_hinter__can_add_pole(t1_hinter * self, t1_pole **pole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__can_add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:821,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - self
    - xx
    - yy
    - type
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - enum t1_pole_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 834
    functionName: t1_hinter__add_pole
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__can_add_pole
    linkageType: ''
    returnType: int
    signature: int t1_hinter__add_pole(t1_hinter * self, t1_glyph_space_coord xx,
      t1_glyph_space_coord yy, enum t1_pole_type type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - self
    - sbx
    - sby
    - wx
    - wy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 842
    functionName: t1_hinter__sbw
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t1_hinter__sbw(t1_hinter * self, fixed sbx, fixed sby, fixed wx,  fixed
      wy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - self
    - sbx
    - sby
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 844
    functionDepth: 3
    functionLinenumber: 844
    functionLinenumberEnd: 849
    functionName: t1_hinter__sbw_seac
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: int t1_hinter__sbw_seac(t1_hinter * self, fixed sbx, fixed sby)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:868,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:869,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:875,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:876,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:877,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:892,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:893,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:897,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:917,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:919,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:930,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:931,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 70
    argCount: 12
    argNames:
    - self
    - k
    - contour_beg
    - contour_end
    - pixel_g
    - threshold
    - i0
    - i1
    - N
    - j0
    - j1
    - gm
    argTypes:
    - t1_hinter*
    - int
    - int
    - int
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - int
    - int
    - int
    - int*
    - int*
    - t1_glyph_space_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 948
    functionName: t1_hinter__find_flex
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - member_prt
    - any_abs
    linkageType: ''
    returnType: bool
    signature: "bool t1_hinter__find_flex(t1_hinter * self, int k, int contour_beg,
      int contour_end,\n                       t1_glyph_space_coord pixel_g, t1_glyph_space_coord
      threshold,\n                       int i0, int i1, int N, int *j0, int *j1,\n
      \                      t1_glyph_space_coord *gm)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__compact_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:953,1
    - Dst: t1_hinter__compact_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:954,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxhintn.c:969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 6
    argNames:
    - self
    - contour_beg
    - contour_end
    - i0
    - i1
    - pi
    argTypes:
    - t1_hinter*
    - int
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 977
    functionName: t1_hinter__compact_flex
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 1
    functionsReached:
    - t1_hinter__compact_flex
    - memmove
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compact_flex(t1_hinter * self, int contour_beg, int
      contour_end, int i0, int i1, int *pi)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - self
    - g0
    - gm
    - k
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 1009
    functionName: t1_hinter__adjust_stem_hints_by_missed_flex
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__adjust_stem_hints_by_missed_flex(t1_hinter * self,
      t1_glyph_space_coord g0,\n                                                         t1_glyph_space_coord
      gm, int k)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1033,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1038,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1058,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1059,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1069,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1072,1
    - Dst: t1_hinter__find_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1081,1
    - Dst: t1_hinter__compact_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1082,1
    - Dst: t1_hinter__adjust_stem_hints_by_missed_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1083,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 61
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1088
    functionName: t1_hinter__fix_missed_flex
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__compact_flex
    - member_prt
    - t1_hinter__find_flex
    - t1_hinter__adjust_stem_hints_by_missed_flex
    linkageType: ''
    returnType: void
    signature: void t1_hinter__fix_missed_flex(t1_hinter * self)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1093,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1101,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1106,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1107,1
    - Dst: t1_hinter__closepath
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1117,1
    - Dst: t1_hinter__fix_missed_flex
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1122,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 3
    argNames:
    - self
    - xx
    - yy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1090
    functionDepth: 4
    functionLinenumber: 1090
    functionLinenumberEnd: 1130
    functionName: t1_hinter__rmoveto
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - g2d
    - t1_hinter__fix_missed_flex
    - t1_hinter__closepath
    - gx_path_add_point
    - gx_path_close_subpath
    - t1_hinter__add_pole
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: int t1_hinter__rmoveto(t1_hinter * self, fixed xx, fixed yy)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - self
    - npoles
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1142
    functionName: t1_hinter__skip_degenerate_segnment
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__skip_degenerate_segnment(t1_hinter * self, int npoles)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1146,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1153,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1154,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1156,1
    - Dst: t1_hinter__skip_degenerate_segnment
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - self
    - xx
    - yy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1144
    functionDepth: 4
    functionLinenumber: 1144
    functionLinenumberEnd: 1163
    functionName: t1_hinter__rlineto
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__skip_degenerate_segnment
    - g2d
    - gx_path_add_line
    - t1_hinter__add_pole
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: int t1_hinter__rlineto(t1_hinter * self, fixed xx, fixed yy)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1167,1
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1168,1
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1169,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1180,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1181,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1182,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1183,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1187,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1190,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1193,1
    - Dst: t1_hinter__skip_degenerate_segnment
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 7
    argNames:
    - self
    - xx0
    - yy0
    - xx1
    - yy1
    - xx2
    - yy2
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1165
    functionDepth: 4
    functionLinenumber: 1165
    functionLinenumberEnd: 1199
    functionName: t1_hinter__rcurveto
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__skip_degenerate_segnment
    - g2d
    - gx_path_add_curve
    - t1_hinter__add_pole
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: int t1_hinter__rcurveto(t1_hinter * self, fixed xx0, fixed yy0, fixed
      xx1, fixed yy1, fixed xx2, fixed yy2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1203,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - self
    - xx
    - yy
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1222
    functionName: t1_hinter__setcurrentpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: void
    signature: void t1_hinter__setcurrentpoint(t1_hinter * self, fixed xx, fixed yy)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1227,1
    - Dst: t1_hinter__add_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1241,1
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1249,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1250,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1251,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1255
      start: 1224
    functionDepth: 4
    functionLinenumber: 1224
    functionLinenumberEnd: 1255
    functionName: t1_hinter__closepath
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 1
    functionsReached:
    - count_of
    - t1_hinter__realloc_array
    - return_error
    - gx_path_close_subpath
    - t1_hinter__add_pole
    linkageType: ''
    returnType: int
    signature: int t1_hinter__closepath(t1_hinter * self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1263,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1264,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1257
    functionDepth: 2
    functionLinenumber: 1257
    functionLinenumberEnd: 1268
    functionName: t1_hinter__end_subglyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - t1_hinter__realloc_array
    linkageType: ''
    returnType: int
    signature: int t1_hinter__end_subglyph(t1_hinter * self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1272,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - hint
    argTypes:
    - t1_hinter*
    - t1_hint**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1277
    functionName: t1_hinter__can_add_hint
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - t1_hinter__realloc_array
    linkageType: ''
    returnType: int
    signature: int t1_hinter__can_add_hint(t1_hinter * self, t1_hint **hint)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1281,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 5
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: t1_hinter__flex_beg
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - t1_hinter__rmoveto
    linkageType: ''
    returnType: int
    signature: int t1_hinter__flex_beg(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1294
    functionName: t1_hinter__flex_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int t1_hinter__flex_point(t1_hinter * self)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1303,1
    - Dst: g2o
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1308,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1309,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1309,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1310,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1310,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1316,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1317,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1318,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1319,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1322,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1323,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1324,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1327,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1329,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1329,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1341,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1344,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - self
    - flex_height
    argTypes:
    - t1_hinter*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1296
    functionDepth: 3
    functionLinenumber: 1296
    functionLinenumberEnd: 1353
    functionName: t1_hinter__flex_end
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - g2o
    - count_of
    - any_abs
    - g2d
    - memmove
    - gx_path_add_curve
    - gx_path_add_line
    - return_error
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int t1_hinter__flex_end(t1_hinter * self, fixed flex_height)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1357,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1358,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - hint_range
    argTypes:
    - t1_hinter*
    - t1_hint_range**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1362
    functionName: t1_hinter__can_add_hint_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - t1_hinter__realloc_array
    linkageType: ''
    returnType: int
    signature: int t1_hinter__can_add_hint_range(t1_hinter * self, t1_hint_range **hint_range)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__realloc_array
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1366,1
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1367,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1368,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - hint_applying
    argTypes:
    - t1_hinter*
    - t1_hint_applying**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1364
    functionDepth: 2
    functionLinenumber: 1364
    functionLinenumberEnd: 1371
    functionName: t1_hinter__can_add_hint_applying
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - t1_hinter__realloc_array
    linkageType: ''
    returnType: int
    signature: int t1_hinter__can_add_hint_applying(t1_hinter * self, t1_hint_applying
      **hint_applying)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__can_add_hint_range
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - self
    - mask
    argTypes:
    - t1_hinter*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1413
    functionName: t1_hinter__hint_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__can_add_hint_range
    linkageType: ''
    returnType: int
    signature: int t1_hinter__hint_mask(t1_hinter * self, byte *mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__hint_mask
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1415
    functionDepth: 4
    functionLinenumber: 1415
    functionLinenumberEnd: 1421
    functionName: t1_hinter__drop_hints
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__hint_mask
    linkageType: ''
    returnType: int
    signature: int t1_hinter__drop_hints(t1_hinter * self)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1432,1
    - Dst: t1_hinter__can_add_hint
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1441,1
    - Dst: t1_hinter__can_add_hint_range
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1456,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 6
    argNames:
    - self
    - type
    - stem3_index
    - v0
    - v1
    - side_mask
    argTypes:
    - t1_hinter*
    - enum t1_hint_type
    - unsigned short
    - fixed
    - fixed
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1467
      start: 1423
    functionDepth: 3
    functionLinenumber: 1423
    functionLinenumberEnd: 1467
    functionName: t1_hinter__stem
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__can_add_hint_range
    - t1_hinter__can_add_hint
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: "int t1_hinter__stem(t1_hinter * self, enum t1_hint_type type, unsigned
      short stem3_index\n                                                  , fixed
      v0, fixed v1, int side_mask)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1474,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1469
    functionDepth: 4
    functionLinenumber: 1469
    functionLinenumberEnd: 1475
    functionName: t1_hinter__dotsection
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__dotsection(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - self
    - x0
    - x1
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1481
      start: 1477
    functionDepth: 4
    functionLinenumber: 1477
    functionLinenumberEnd: 1481
    functionName: t1_hinter__hstem
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__hstem(t1_hinter * self, fixed x0, fixed x1)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - self
    - x0
    - x1
    - side_mask
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1483
    functionDepth: 4
    functionLinenumber: 1483
    functionLinenumberEnd: 1488
    functionName: t1_hinter__overall_hstem
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__overall_hstem(t1_hinter * self, fixed x0, fixed x1,
      int side_mask)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - self
    - y0
    - y1
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1490
    functionDepth: 4
    functionLinenumber: 1490
    functionLinenumberEnd: 1494
    functionName: t1_hinter__vstem
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__vstem(t1_hinter * self, fixed y0, fixed y1)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1501,1
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1504,1
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - self
    - x0
    - x1
    - x2
    - x3
    - x4
    - x5
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1496
    functionDepth: 4
    functionLinenumber: 1496
    functionLinenumberEnd: 1508
    functionName: t1_hinter__hstem3
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__hstem3(t1_hinter * self, fixed x0, fixed x1, fixed x2,
      fixed x3, fixed x4, fixed x5)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1515,1
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1518,1
    - Dst: t1_hinter__stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1521,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 7
    argNames:
    - self
    - y0
    - y1
    - y2
    - y3
    - y4
    - y5
    argTypes:
    - t1_hinter*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1510
    functionDepth: 4
    functionLinenumber: 1510
    functionLinenumberEnd: 1522
    functionName: t1_hinter__vstem3
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__stem
    linkageType: ''
    returnType: int
    signature: int t1_hinter__vstem3(t1_hinter * self, fixed y0, fixed y1, fixed y2,
      fixed y3, fixed y4, fixed y5)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1528
    functionName: t1_hinter__is_x_fitting
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t1_hinter__is_x_fitting(t1_hinter * self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1536,1
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - self
    - pole_index
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1532
    functionDepth: 1
    functionLinenumber: 1532
    functionLinenumberEnd: 1541
    functionName: t1_hinter__segment_beg
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - ranger_step_b
    linkageType: ''
    returnType: int
    signature: int t1_hinter__segment_beg(t1_hinter * self, int pole_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1547,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - self
    - pole_index
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1552
    functionName: t1_hinter__segment_end
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - ranger_step_f
    linkageType: ''
    returnType: int
    signature: int t1_hinter__segment_end(t1_hinter * self, int pole_index)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1577
    functionName: t1_hinter__compute_y_span
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compute_y_span(t1_hinter * self)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__segment_beg
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1641,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1579
    functionDepth: 2
    functionLinenumber: 1579
    functionLinenumberEnd: 1643
    functionName: t1_hinter__simplify_representation
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__segment_beg
    linkageType: ''
    returnType: void
    signature: void t1_hinter__simplify_representation(t1_hinter * self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1649,1
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1649,1
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1650,1
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1650,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1651,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 8
    argNames:
    - self
    - pole_index0
    - pole_index1
    - tan_x
    - tan_y
    - alpha
    - alpha_div
    - quality
    argTypes:
    - t1_hinter*
    - int
    - int
    - long
    - long
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1667
    functionName: t1_hinter__is_small_angle
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - mul_shift
    - any_abs
    linkageType: ''
    returnType: bool
    signature: "bool t1_hinter__is_small_angle(t1_hinter * self, int pole_index0,
      int pole_index1,\n        long tan_x, long tan_y, int alpha, int alpha_div,
      int *quality)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - pole_index
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1675
    functionName: t1_hinter__next_contour_pole
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - ranger_step_f
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__next_contour_pole(t1_hinter * self, int pole_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1685,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1686,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1691,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1692,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - self
    - pole_index
    - tan_x
    - tan_y
    - quality
    argTypes:
    - t1_hinter*
    - int
    - long
    - long
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1677
    functionDepth: 2
    functionLinenumber: 1677
    functionLinenumberEnd: 1695
    functionName: t1_hinter__is_good_tangent
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - ranger_step_b
    - ranger_step_f
    - t1_hinter__is_small_angle
    - min
    linkageType: ''
    returnType: bool
    signature: bool t1_hinter__is_good_tangent(t1_hinter * self, int pole_index, long
      tan_x, long tan_y, int *quality)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1715
    functionName: t1_hinter__compute_type1_stem_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compute_type1_stem_ranges(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1717
    functionDepth: 0
    functionLinenumber: 1717
    functionLinenumberEnd: 1723
    functionName: t1_hinter__compute_type2_stem_ranges
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compute_type2_stem_ranges(t1_hinter * self)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - hint
    - g
    - boundary
    argTypes:
    - t1_hinter*
    - t1_hint*
    - t1_glyph_space_coord
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1725
    functionDepth: 1
    functionLinenumber: 1725
    functionLinenumberEnd: 1731
    functionName: t1_hinter__is_stem_boundary_near
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: bool
    signature: "bool t1_hinter__is_stem_boundary_near(t1_hinter * self, const t1_hint
      *hint,\n                t1_glyph_space_coord g, int boundary)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__is_stem_boundary_near
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1738,1
    - Dst: t1_hinter__is_stem_boundary_near
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1739,1
    - Dst: t1_hinter__is_good_tangent
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1740,1
    - Dst: t1_hinter__is_stem_boundary_near
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1743,1
    - Dst: t1_hinter__is_stem_boundary_near
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1744,1
    - Dst: t1_hinter__is_good_tangent
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1745,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 6
    argCount: 4
    argNames:
    - self
    - hint
    - pole_index
    - quality
    argTypes:
    - t1_hinter*
    - t1_hint*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1748
      start: 1733
    functionDepth: 3
    functionLinenumber: 1733
    functionLinenumberEnd: 1748
    functionName: t1_hinter__is_stem_hint_applicable
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__is_stem_boundary_near
    - t1_hinter__is_good_tangent
    linkageType: ''
    returnType: int
    signature: int t1_hinter__is_stem_hint_applicable(t1_hinter * self, t1_hint *hint,
      int pole_index, int *quality)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 7
    argCount: 5
    argNames:
    - self
    - pole_y
    - curve
    - convex
    - concave
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1750
    functionDepth: 0
    functionLinenumber: 1750
    functionLinenumberEnd: 1763
    functionName: t1_hinter__find_zone
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: t1_zone
    signature: t1_zone * t1_hinter__find_zone(t1_hinter * self, t1_glyph_space_coord
      pole_y, bool curve, bool convex, bool concave)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1770,1
    - Dst: rshift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1771,1
    - Dst: g2o
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1774,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 8
    argNames:
    - self
    - unit
    - gx
    - gy
    - pdx
    - pdy
    - align_to_pixels
    - absolute
    argTypes:
    - t1_hinter*
    - int32_t
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - t1_hinter_space_coord*
    - t1_hinter_space_coord*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1765
    functionDepth: 3
    functionLinenumber: 1765
    functionLinenumberEnd: 1791
    functionName: t1_hinter__align_to_grid__general
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - g2o
    - rshift
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__align_to_grid__general(t1_hinter * self, int32_t unit,\n
      \           t1_glyph_space_coord gx, t1_glyph_space_coord gy,\n            t1_hinter_space_coord
      *pdx, t1_hinter_space_coord *pdy,\n            bool align_to_pixels, bool absolute)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: o2g
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - self
    - x
    - y
    - dx
    - dy
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord*
    - t1_glyph_space_coord*
    - t1_hinter_space_coord
    - t1_hinter_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1793
    functionDepth: 3
    functionLinenumber: 1793
    functionLinenumberEnd: 1808
    functionName: t1_hinter__align_to_grid__final
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - o2g
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__align_to_grid__final(t1_hinter * self,\n            t1_glyph_space_coord
      *x, t1_glyph_space_coord *y,\n            t1_hinter_space_coord dx, t1_hinter_space_coord
      dy)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 6
    argNames:
    - self
    - w0
    - w1
    - horiz
    - index0
    - index1
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - bool
    - short*
    - short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1810
    functionDepth: 0
    functionLinenumber: 1810
    functionLinenumberEnd: 1829
    functionName: t1_hinter__hint_stem_snap_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__hint_stem_snap_range(t1_hinter * self,\n                                        t1_glyph_space_coord
      w0, t1_glyph_space_coord w1, bool horiz,\n                                        short
      *index0, short *index1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__align_to_grid__general
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1836,1
    - Dst: t1_hinter__align_to_grid__final
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - self
    - unit
    - x
    - y
    - align_to_pixels
    argTypes:
    - t1_hinter*
    - int32_t
    - t1_glyph_space_coord*
    - t1_glyph_space_coord*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1831
    functionDepth: 4
    functionLinenumber: 1831
    functionLinenumberEnd: 1839
    functionName: t1_hinter__align_to_grid
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__align_to_grid__final
    - t1_hinter__align_to_grid__general
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__align_to_grid(t1_hinter * self, int32_t unit,\n            t1_glyph_space_coord
      *x, t1_glyph_space_coord *y, bool align_to_pixels)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1850,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1853,1
    - Dst: t1_hinter__hint_stem_snap_range
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1855,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1864,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1870,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1872,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - self
    - hv
    argTypes:
    - t1_hinter*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1841
    functionDepth: 1
    functionLinenumber: 1841
    functionLinenumberEnd: 1882
    functionName: t1_hinter_compute_stem_snap_range_hv
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - memset
    - t1_hinter__hint_stem_snap_range
    - any_abs
    linkageType: ''
    returnType: void
    signature: void t1_hinter_compute_stem_snap_range_hv(t1_hinter * self, int hv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter_compute_stem_snap_range_hv
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1887,1
    - Dst: t1_hinter_compute_stem_snap_range_hv
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1890
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1890
    functionName: t1_hinter_compute_stem_snap_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter_compute_stem_snap_range_hv
    linkageType: ''
    returnType: void
    signature: void t1_hinter_compute_stem_snap_range(t1_hinter * self)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 3
    argNames:
    - self
    - pgw
    - hint
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord*
    - t1_hint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1914
      start: 1892
    functionDepth: 0
    functionLinenumber: 1892
    functionLinenumberEnd: 1914
    functionName: t1_hinter__align_stem_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t1_hinter__align_stem_width(t1_hinter * self, t1_glyph_space_coord
      *pgw, const t1_hint *hint)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1925,1
    - Dst: t1_hinter__align_to_grid__general
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1930,1
    - Dst: t1_hinter__align_to_grid__general
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1931,1
    - Dst: t1_hinter__align_stem_width
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1932,1
    - Dst: g2o_dist
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1933,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1941,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1941,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1947,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1947,1
    - Dst: t1_hinter__align_to_grid__final
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1950,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 8
    argNames:
    - self
    - unit
    - x0
    - y0
    - x1
    - y1
    - align_to_pixels
    - hint
    argTypes:
    - t1_hinter*
    - int32_t
    - t1_glyph_space_coord*
    - t1_glyph_space_coord*
    - t1_glyph_space_coord
    - t1_glyph_space_coord
    - bool
    - t1_hint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1916
    functionDepth: 4
    functionLinenumber: 1916
    functionLinenumberEnd: 1952
    functionName: t1_hinter__align_stem_to_grid
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    - t1_hinter__align_stem_width
    - t1_hinter__align_to_grid__final
    - g2o_dist
    - t1_hinter__align_to_grid__general
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__align_stem_to_grid(t1_hinter * self, int32_t unit,\n
      \           t1_glyph_space_coord *x0, t1_glyph_space_coord *y0,\n            t1_glyph_space_coord
      \ x1, t1_glyph_space_coord  y1,\n            bool align_to_pixels, const t1_hint
      *hint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - h
    - gw
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1961
    functionName: g2o_dist_blue
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - fixed2float
    linkageType: ''
    returnType: t1_hinter_space_coord
    signature: t1_hinter_space_coord g2o_dist_blue(t1_hinter * h, t1_glyph_space_coord
      gw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1966,1
    - Dst: g2o_dist_blue
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1967,1
    - Dst: o2g_dist
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - self
    - zone
    - x
    - y
    argTypes:
    - t1_hinter*
    - t1_zone*
    - t1_glyph_space_coord*
    - t1_glyph_space_coord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1963
    functionDepth: 2
    functionLinenumber: 1963
    functionLinenumberEnd: 1972
    functionName: t1_hinter__add_overshoot
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - o2g_dist
    - any_abs
    - g2o_dist_blue
    linkageType: ''
    returnType: void
    signature: void t1_hinter__add_overshoot(t1_hinter * self, t1_zone * zone, t1_glyph_space_coord
      * x, t1_glyph_space_coord * y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:1996,1
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2010,1
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2011,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2012,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2013,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2014,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2015,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2015,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2016,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2017,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2017,1
    - Dst: t1_hinter__find_zone
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2031,1
    - Dst: t1_hinter__add_overshoot
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2057,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 30
    argCount: 6
    argNames:
    - self
    - gc
    - segment_index
    - t
    - hint
    - align0
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord*
    - int
    - fixed
    - t1_hint*
    - enum t1_align_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 1975
    functionDepth: 3
    functionLinenumber: 1975
    functionLinenumberEnd: 2066
    functionName: t1_hinter__compute_aligned_coord
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    - t1_hinter__add_overshoot
    - t1_hinter__segment_end
    - max
    - ranger_step_b
    - ranger_step_f
    - t1_hinter__find_zone
    linkageType: ''
    returnType: enum t1_align_type
    signature: "enum t1_align_type t1_hinter__compute_aligned_coord(t1_hinter * self,\n
      \           t1_glyph_space_coord * gc, int segment_index, fixed t, const t1_hint
      *hint,\n            enum t1_align_type align0)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__next_contour_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2122,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2126,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2127,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - self
    - t
    - pole_index
    - horiz
    argTypes:
    - t1_hinter*
    - fixed*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2108
    functionDepth: 2
    functionLinenumber: 2108
    functionLinenumberEnd: 2135
    functionName: t1_hinter__find_stem_middle
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__is_small_angle
    - t1_hinter__next_contour_pole
    linkageType: ''
    returnType: int
    signature: int t1_hinter__find_stem_middle(t1_hinter * self, fixed *t, int pole_index,
      bool horiz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__next_contour_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2140,1
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2141,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2146,1
    - Dst: t1_hinter__is_small_angle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2147,1
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2148,1
    - Dst: t1_hinter__next_contour_pole
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2153,1
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2154,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - self
    - pole_index
    - horiz
    argTypes:
    - t1_hinter*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2157
      start: 2137
    functionDepth: 2
    functionLinenumber: 2137
    functionLinenumberEnd: 2157
    functionName: t1_hinter__skip_stem
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__segment_end
    - t1_hinter__is_small_angle
    - t1_hinter__next_contour_pole
    linkageType: ''
    returnType: int
    signature: int t1_hinter__skip_stem(t1_hinter * self, int pole_index, bool horiz)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__is_stem_hint_applicable
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2178,1
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2185,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2159
    functionDepth: 4
    functionLinenumber: 2159
    functionLinenumberEnd: 2191
    functionName: t1_hinter__mark_existing_stems
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__segment_end
    - t1_hinter__is_stem_hint_applicable
    linkageType: ''
    returnType: void
    signature: void t1_hinter__mark_existing_stems(t1_hinter * self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ranger_step_b
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2199,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2200,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2207,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2207,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2208,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - self
    - hint
    - pole_index0
    - pole_index1
    argTypes:
    - t1_hinter*
    - t1_hint*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2210
    functionName: t1_hinter__add_boundary_length
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - ranger_step_b
    - ranger_step_f
    - any_abs
    linkageType: ''
    returnType: void
    signature: "void t1_hinter__add_boundary_length(t1_hinter * self, t1_hint *hint,\n
      \                                           int pole_index0, int pole_index1)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__is_stem_hint_applicable
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2236,1
    - Dst: t1_hinter__find_stem_middle
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2238,1
    - Dst: t1_hinter__compute_aligned_coord
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2249,1
    - Dst: t1_hint__set_aligned_coord
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2252,1
    - Dst: t1_hinter__skip_stem
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2254,1
    - Dst: t1_hinter__add_boundary_length
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2255,1
    - Dst: t1_hinter__segment_end
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2263,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2212
    functionDepth: 4
    functionLinenumber: 2212
    functionLinenumberEnd: 2270
    functionName: t1_hinter__align_stem_commands
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__find_stem_middle
    - t1_hinter__segment_end
    - t1_hinter__is_stem_hint_applicable
    - t1_hinter__skip_stem
    - t1_hinter__add_boundary_length
    - t1_hinter__compute_aligned_coord
    - t1_hint__set_aligned_coord
    linkageType: ''
    returnType: void
    signature: void t1_hinter__align_stem_commands(t1_hinter * self)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2288,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2299,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2329
    functionName: t1_hinter__unfix_opposite_to_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: void
    signature: void t1_hinter__unfix_opposite_to_common(t1_hinter * self)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2342,1
    - Dst: t1_hinter__align_stem_width
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2343,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2351,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2352,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2365,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2365,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2365,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2331
    functionDepth: 1
    functionLinenumber: 2331
    functionLinenumberEnd: 2381
    functionName: t1_hinter__compute_opposite_stem_coords
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    - min
    - t1_hinter__align_stem_width
    linkageType: ''
    returnType: void
    signature: void t1_hinter__compute_opposite_stem_coords(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__can_add_hint_applying
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - self
    - hint
    - pole_index
    argTypes:
    - t1_hinter*
    - t1_hint*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2394
      start: 2383
    functionDepth: 3
    functionLinenumber: 2383
    functionLinenumberEnd: 2394
    functionName: t1_hinter__store_hint_applying
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__can_add_hint_applying
    linkageType: ''
    returnType: int
    signature: int t1_hinter__store_hint_applying(t1_hinter * self, t1_hint *hint,
      int pole_index)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2418,1
    - Dst: t1_hinter__store_hint_applying
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2419,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2420,1
    - Dst: t1_hinter__store_hint_applying
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2421,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2422,1
    - Dst: t1_hinter__store_hint_applying
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2423,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2424,1
    - Dst: t1_hinter__store_hint_applying
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2425,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2436,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2436,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2437,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2446,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2446,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2449,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2465,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2465,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 47
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2396
    functionDepth: 4
    functionLinenumber: 2396
    functionLinenumberEnd: 2482
    functionName: t1_hinter__align_stem_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__store_hint_applying
    - any_abs
    linkageType: ''
    returnType: int
    signature: int t1_hinter__align_stem_poles(t1_hinter * self)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2492,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - self
    - gx
    argTypes:
    - t1_hinter*
    - t1_glyph_space_coord
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2484
    functionDepth: 1
    functionLinenumber: 2484
    functionLinenumberEnd: 2500
    functionName: t1_hinter__find_vstem_by_center
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: t1_hint
    signature: t1_hint * t1_hinter__find_vstem_by_center(t1_hinter * self, t1_glyph_space_coord
      gx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2517,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2518,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2519,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2520,1
    - Dst: t1_hinter__find_vstem_by_center
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2540,1
    - Dst: t1_hinter__align_to_grid
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2546,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - self
    - beg_pole
    - end_pole
    argTypes:
    - t1_hinter*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2502
    functionDepth: 5
    functionLinenumber: 2502
    functionLinenumberEnd: 2561
    functionName: t1_hinter__process_dotsection
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__find_vstem_by_center
    - t1_hinter__align_to_grid
    - min
    - max
    linkageType: ''
    returnType: void
    signature: void t1_hinter__process_dotsection(t1_hinter * self, int beg_pole,
      int end_pole)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__process_dotsection
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2573,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2575
      start: 2563
    functionDepth: 6
    functionLinenumber: 2563
    functionLinenumberEnd: 2575
    functionName: t1_hinter__process_dotsections
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__process_dotsection
    linkageType: ''
    returnType: void
    signature: void t1_hinter__process_dotsections(t1_hinter * self)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2598,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2614,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2615,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2616,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2620,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2622,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2623,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2624,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2634,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2641,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2642,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2645,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2645,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2646,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2646,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2668,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2669,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2675,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2676,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2679,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2680,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2682,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2683,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2723,1
    - Dst: ranger_step_f
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2724,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2725,1
    - Dst: member_prt
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2728,1
    - Dst: mul_shift
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2730,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 85
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2577
    functionDepth: 1
    functionLinenumber: 2577
    functionLinenumberEnd: 2741
    functionName: t1_hinter__interpolate_other_poles
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - member_prt
    - any_abs
    - mul_shift
    - ranger_step_f
    linkageType: ''
    returnType: void
    signature: void t1_hinter__interpolate_other_poles(t1_hinter * self)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2751,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2752,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2760,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2762,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2769,1
    - Dst: g2d
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2770,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2771,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2777,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2782
      start: 2743
    functionDepth: 3
    functionLinenumber: 2743
    functionLinenumberEnd: 2782
    functionName: t1_hinter__export
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - g2d
    - gx_path_add_curve
    - gx_path_add_line
    - gx_path_add_point
    - gx_path_close_subpath
    linkageType: ''
    returnType: int
    signature: int t1_hinter__export(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__align_to_grid
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2798,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2800,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2801
      start: 2784
    functionDepth: 5
    functionLinenumber: 2784
    functionLinenumberEnd: 2801
    functionName: t1_hinter__add_trailing_moveto
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__rmoveto
    - t1_hinter__align_to_grid
    linkageType: ''
    returnType: int
    signature: int t1_hinter__add_trailing_moveto(t1_hinter * self)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__add_trailing_moveto
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2806,1
    - Dst: t1_hinter__end_subglyph
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2809,1
    - Dst: t1_hinter__adjust_matrix_precision
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2812,1
    - Dst: t1_hinter__compute_y_span
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2813,1
    - Dst: t1_hinter__simplify_representation
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2814,1
    - Dst: t1_hinter__compute_type1_stem_ranges
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2817,1
    - Dst: t1_hinter__compute_type2_stem_ranges
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2819,1
    - Dst: t1_hinter__mark_existing_stems
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2820,1
    - Dst: t1_hinter_compute_stem_snap_range
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2821,1
    - Dst: t1_hinter__align_stem_commands
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2822,1
    - Dst: t1_hinter__unfix_opposite_to_common
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2823,1
    - Dst: t1_hinter__compute_opposite_stem_coords
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2824,1
    - Dst: t1_hinter__align_stem_poles
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2826,1
    - Dst: t1_hinter__process_dotsections
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2829,1
    - Dst: t1_hinter__interpolate_other_poles
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2830,1
    - Dst: t1_hinter__fix_contour_signs
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2834,1
    - Dst: t1_hinter__export
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2836,1
    - Dst: t1_hinter__free_arrays
      Src: /src/libspectre/ghostscript/base/gxhintn.c:2839,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - self
    argTypes:
    - t1_hinter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2841
      start: 2803
    functionDepth: 8
    functionLinenumber: 2803
    functionLinenumberEnd: 2841
    functionName: t1_hinter__endglyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxhintn.c
    functionUses: 0
    functionsReached:
    - t1_hinter__compute_y_span
    - t1_hinter_compute_stem_snap_range
    - t1_hinter__free_arrays
    - t1_hinter__end_subglyph
    - t1_hinter__align_stem_poles
    - t1_hinter__fix_contour_signs
    - t1_hinter__add_trailing_moveto
    - t1_hinter__simplify_representation
    - t1_hinter__compute_type1_stem_ranges
    - t1_hinter__compute_type2_stem_ranges
    - t1_hinter__compute_opposite_stem_coords
    - t1_hinter__process_dotsections
    - t1_hinter__align_stem_commands
    - t1_hinter__interpolate_other_poles
    - t1_hinter__export
    - t1_hinter__unfix_opposite_to_common
    - t1_hinter__mark_existing_stems
    - t1_hinter__adjust_matrix_precision
    linkageType: ''
    returnType: int
    signature: int t1_hinter__endglyph(t1_hinter * self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gsshade.c:47,1
    - Dst: ENUM_USING_PREFIX
      Src: /src/libspectre/ghostscript/base/gsshade.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - psm
    argTypes:
    - gs_shading_mesh_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 50
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ENUM_USING_PREFIX
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(shading_mesh_enum_ptrs, gs_shading_mesh_t *psm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gsshade.c:57,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gsshade.c:58,1
    - Dst: RELOC_PTR2
      Src: /src/libspectre/ghostscript/base/gsshade.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - psm
    argTypes:
    - gs_shading_mesh_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 61
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 1
    functionsReached:
    - RELOC_PREFIX
    - RELOC_PTR2
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(shading_mesh_reloc_ptrs, gs_shading_mesh_t
      *psm)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gsshade.c:70,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:77,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:80,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 8
    argCount: 4
    argNames:
    - params
    - function
    - domain
    - m
    argTypes:
    - gs_shading_params_t*
    - gs_function_t*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 89
    functionName: check_CBFD
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - return_error
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END check_CBFD(const gs_shading_params_t * params,\n           const
      gs_function_t * function, const float *domain, int m)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: data_source_is_array
      Src: /src/libspectre/ghostscript/base/gsshade.c:97,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:106,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:113,1
    - Dst: check_CBFD
      Src: /src/libspectre/ghostscript/base/gsshade.c:116,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_mesh_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 92
    functionDepth: 3
    functionLinenumber: 92
    functionLinenumberEnd: 118
    functionName: check_mesh
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - data_source_is_array
    - check_CBFD
    linkageType: ''
    returnType: int
    signature: int check_mesh(const gs_shading_mesh_params_t * params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: data_source_is_array
      Src: /src/libspectre/ghostscript/base/gsshade.c:124,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pds
    - bpf
    argTypes:
    - gs_data_source_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: check_BPF
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - data_source_is_array
    linkageType: ''
    returnType: int
    signature: int check_BPF(const gs_data_source_t *pds, int bpf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 143
    functionName: shading_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shading_params_init(gs_shading_params_t *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:149,1
    - Dst: data_source_init_floats
      Src: /src/libspectre/ghostscript/base/gsshade.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_mesh_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 155
    functionName: mesh_shading_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - shading_params_init
    - data_source_init_floats
    linkageType: ''
    returnType: void
    signature: void mesh_shading_params_init(gs_shading_mesh_params_t *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - ppsh
    - ','
    - psh
    - ','
    - mem
    - ','
    - sttype
    - ','
    - stype
    - ','
    - sprocs
    - ','
    - cname
    - ','
    - params
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 168
    functionName: ALLOC_SHADING
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC_SHADING(ppsh, psh, mem, sttype, stype, sprocs, cname, params)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:177,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gsshade.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_Fb_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: gs_shading_Fb_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - shading_params_init
    - gs_make_identity
    linkageType: ''
    returnType: void
    signature: void gs_shading_Fb_params_init(gs_shading_Fb_params_t * params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_CBFD
      Src: /src/libspectre/ghostscript/base/gsshade.c:194,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gsshade.c:198,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_Fb_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: gs_shading_Fb_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ALLOC_SHADING
    - gs_matrix_invert
    - check_CBFD
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Fb_init(gs_shading_t ** ppsh,\n                   const
      gs_shading_Fb_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_A_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 220
    functionName: gs_shading_A_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_A_params_init(gs_shading_A_params_t * params)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_CBFD
      Src: /src/libspectre/ghostscript/base/gsshade.c:231,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_A_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 239
    functionName: gs_shading_A_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ALLOC_SHADING
    - check_CBFD
    linkageType: ''
    returnType: int
    signature: "int gs_shading_A_init(gs_shading_t ** ppsh,\n                  const
      gs_shading_A_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_R_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: gs_shading_R_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_R_params_init(gs_shading_R_params_t * params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:270,1
    - Dst: check_CBFD
      Src: /src/libspectre/ghostscript/base/gsshade.c:271,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:276,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_R_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 279
    functionName: gs_shading_R_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - ALLOC_SHADING
    - check_CBFD
    linkageType: ''
    returnType: int
    signature: "int gs_shading_R_init(gs_shading_t ** ppsh,\n                  const
      gs_shading_R_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_FfGt_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: gs_shading_FfGt_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - mesh_shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_FfGt_params_init(gs_shading_FfGt_params_t * params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_mesh
      Src: /src/libspectre/ghostscript/base/gsshade.c:303,1
    - Dst: check_BPF
      Src: /src/libspectre/ghostscript/base/gsshade.c:304,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_FfGt_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 314
    functionName: gs_shading_FfGt_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ALLOC_SHADING
    - check_mesh
    - check_BPF
    linkageType: ''
    returnType: int
    signature: "int gs_shading_FfGt_init(gs_shading_t ** ppsh,\n                     const
      gs_shading_FfGt_params_t * params,\n                     gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_LfGt_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 326
    functionName: gs_shading_LfGt_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - mesh_shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_LfGt_params_init(gs_shading_LfGt_params_t * params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_mesh
      Src: /src/libspectre/ghostscript/base/gsshade.c:337,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsshade.c:342,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_LfGt_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 346
    functionName: gs_shading_LfGt_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - return_error
    - ALLOC_SHADING
    - check_mesh
    linkageType: ''
    returnType: int
    signature: "int gs_shading_LfGt_init(gs_shading_t ** ppsh,\n                 const
      gs_shading_LfGt_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_Cp_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: gs_shading_Cp_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - mesh_shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_Cp_params_init(gs_shading_Cp_params_t * params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_mesh
      Src: /src/libspectre/ghostscript/base/gsshade.c:369,1
    - Dst: check_BPF
      Src: /src/libspectre/ghostscript/base/gsshade.c:370,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_Cp_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 380
    functionName: gs_shading_Cp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ALLOC_SHADING
    - check_mesh
    - check_BPF
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Cp_init(gs_shading_t ** ppsh,\n                   const
      gs_shading_Cp_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mesh_shading_params_init
      Src: /src/libspectre/ghostscript/base/gsshade.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - params
    argTypes:
    - gs_shading_Tpp_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: gs_shading_Tpp_params_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - mesh_shading_params_init
    linkageType: ''
    returnType: void
    signature: void gs_shading_Tpp_params_init(gs_shading_Tpp_params_t * params)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_mesh
      Src: /src/libspectre/ghostscript/base/gsshade.c:403,1
    - Dst: check_BPF
      Src: /src/libspectre/ghostscript/base/gsshade.c:404,1
    - Dst: ALLOC_SHADING
      Src: /src/libspectre/ghostscript/base/gsshade.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ppsh
    - params
    - mem
    argTypes:
    - gs_shading_t**
    - gs_shading_Tpp_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 398
    functionDepth: 4
    functionLinenumber: 398
    functionLinenumberEnd: 414
    functionName: gs_shading_Tpp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 0
    functionsReached:
    - ALLOC_SHADING
    - check_mesh
    - check_BPF
    linkageType: ''
    returnType: int
    signature: "int gs_shading_Tpp_init(gs_shading_t ** ppsh,\n                  const
      gs_shading_Tpp_params_t * params, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsshade.c:427,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gsshade.c:429,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsshade.c:430,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsshade.c:432,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gsshade.c:434,1
    - Dst: gx_path_add_lines
      Src: /src/libspectre/ghostscript/base/gsshade.c:436,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 4
    argCount: 3
    argNames:
    - ppath
    - pbox
    - pmat
    argTypes:
    - gx_path*
    - gs_rect*
    - gs_matrix_fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 440
    functionName: gs_shading_path_add_box
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 1
    functionsReached:
    - gs_point_transform2fixed
    - gx_path_add_lines
    - gx_path_add_point
    linkageType: ''
    returnType: int
    signature: "int gs_shading_path_add_box(gx_path *ppath, const gs_rect *pbox,\n
      \                    const gs_matrix_fixed *pmat)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsshade.c:454,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gsshade.c:456,1
    - Dst: gx_shade_background
      Src: /src/libspectre/ghostscript/base/gsshade.c:469,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsshade.c:472,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsshade.c:473,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsshade.c:474,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsshade.c:475,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gsshade.c:476,1
    - Dst: gs_shading_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gsshade.c:478,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - psh
    - prect
    - dev
    - pgs
    - fill_background
    argTypes:
    - gs_shading_t*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 481
    functionName: gs_shading_do_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.c
    functionUses: 2
    functionsReached:
    - gs_bbox_transform_inverse
    - gx_shade_background
    - gs_shading_fill_rectangle
    - rect_intersect
    - dev_proc
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_shading_do_fill_rectangle(const gs_shading_t *psh,\n                     const
      gs_fixed_rect *prect, gx_device *dev,\n                     gs_gstate *pgs,
      bool fill_background)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - len
    - ','
    - offset
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: N
    functionSourceFile: /src/libspectre/ghostscript/base/gscedata.h
    functionUses: 155
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(len,offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: N_LEN
    functionSourceFile: /src/libspectre/ghostscript/base/gscedata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_LEN(e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: N_OFFSET
    functionSourceFile: /src/libspectre/ghostscript/base/gscedata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_OFFSET(e)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 43
    functionName: pc_4bit_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpccm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pc_4bit_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: pc_4bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpccm.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pc_4bit_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                     gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: pc_8bit_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpccm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pc_8bit_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 100
    functionName: pc_8bit_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpccm.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int pc_8bit_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                     gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevpccm.c:110,1
    - Dst: gp_fputc
      Src: /src/libspectre/ghostscript/base/gdevpccm.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - max_index
    - file
    argTypes:
    - gx_device*
    - uint
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 118
    functionName: pc_write_palette
    functionSourceFile: /src/libspectre/ghostscript/base/gdevpccm.c
    functionUses: 1
    functionsReached:
    - gp_fputc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pc_write_palette(gx_device * dev, uint max_index, gp_file * file)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.h
    functionUses: 33
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: ROUND
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vdev
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: vdev_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vdev_proc(vdev, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: public_st_device_vector
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_vector()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vdev
    - ','
    - bufsize
    - ','
    - bbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: gdev_vector_open_file_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_vector_open_file_bbox(vdev, bufsize, bbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vdev
    - ','
    - strmbuf_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: gdev_vector_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gdev_vector_open_file(vdev, strmbuf_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: y
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 1500
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int y
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 364
    functionName: public_st_vector_image_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gdevvec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_vector_image_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gspath.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: gs_newpath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 12
    functionsReached:
    - gx_path_new
    linkageType: ''
    returnType: int
    signature: int gs_newpath(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gspath.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: gs_closepath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 3
    functionsReached:
    - gx_path_close_subpath
    linkageType: ''
    returnType: int
    signature: int gs_closepath(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_path
      Src: /src/libspectre/ghostscript/base/gspath.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 74
    functionName: gs_upmergepath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gx_path_add_path
    linkageType: ''
    returnType: int
    signature: int gs_upmergepath(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: gx_current_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_path
    signature: 'gx_path *

      gx_current_path(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clamp_coord
      Src: /src/libspectre/ghostscript/base/gspath.c:88,1
    - Dst: clamp_coord
      Src: /src/libspectre/ghostscript/base/gspath.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ppt
    - x
    - y
    argTypes:
    - gs_fixed_point*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 90
    functionName: clamp_point
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - clamp_coord
    linkageType: ''
    returnType: void
    signature: void clamp_point(gs_fixed_point * ppt, double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:96,1
    - Dst: gs_itransform
      Src: /src/libspectre/ghostscript/base/gspath.c:97,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - ppt
    argTypes:
    - gs_gstate*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: gs_currentpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_itransform
    linkageType: ''
    returnType: int
    signature: int gs_currentpoint(gs_gstate * pgs, gs_point * ppt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:106,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:110,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:111,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gspath.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - x
    - y
    - m
    - pt
    argTypes:
    - double
    - double
    - gs_matrix_fixed*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 116
    functionName: gs_point_transform_compat
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gs_point_transform2fixed
    - gs_point_transform
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_point_transform_compat(double x, double y, const gs_matrix_fixed
      *m, gs_point *pt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:123,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:127,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:128,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gspath.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - x
    - y
    - m
    - pt
    argTypes:
    - double
    - double
    - gs_matrix_fixed*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 133
    functionName: gs_distance_transform_compat
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - fixed2float
    - gs_distance_transform
    - gs_distance_transform2fixed
    linkageType: ''
    returnType: int
    signature: int gs_distance_transform_compat(double x, double y, const gs_matrix_fixed
      *m, gs_point *pt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gspath.c:138,1
    - Dst: f_fits_in_bits
      Src: /src/libspectre/ghostscript/base/gspath.c:138,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:140,1
    - Dst: clamp_point
      Src: /src/libspectre/ghostscript/base/gspath.c:141,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:145,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - clamp_coordinates
    - ppt
    - x
    - y
    argTypes:
    - bool
    - gs_fixed_point*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 149
    functionName: clamp_point_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - return_error
    - f_fits_in_bits
    - clamp_point
    - float2fixed_rounded
    linkageType: ''
    returnType: int
    signature: int clamp_point_aux(bool clamp_coordinates, gs_fixed_point *ppt, double
      x, double y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clamp_point_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:157,1
    - Dst: path_subpath_open
      Src: /src/libspectre/ghostscript/base/gspath.c:160,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gspath.c:162,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath.c:165,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gspath.c:169,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - pgs
    - ppath
    - x
    - y
    argTypes:
    - gs_gstate*
    - gx_path*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 178
    functionName: gs_moveto_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 4
    functionsReached:
    - gx_setcurrentpoint
    - path_subpath_open
    - gx_path_add_gap_notes
    - gx_path_add_point
    - clamp_point_aux
    linkageType: ''
    returnType: int
    signature: int gs_moveto_aux(gs_gstate *pgs, gx_path *ppath, double x, double
      y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:184,1
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pgs
    - x
    - y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 189
    functionName: gs_moveto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 7
    functionsReached:
    - gs_point_transform_compat
    - gs_moveto_aux
    linkageType: ''
    returnType: int
    signature: int gs_moveto(gs_gstate * pgs, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:198,1
    - Dst: gs_distance_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:199,1
    - Dst: gs_moveto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pgs
    - x
    - y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 191
    functionDepth: 4
    functionLinenumber: 191
    functionLinenumberEnd: 205
    functionName: gs_rmoveto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_moveto_aux
    - gs_distance_transform_compat
    linkageType: ''
    returnType: int
    signature: int gs_rmoveto(gs_gstate * pgs, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: clamp_point_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:214,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gspath.c:217,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - x
    - y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 222
    functionName: gs_lineto_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gx_path_add_line
    - gx_setcurrentpoint
    - clamp_point_aux
    linkageType: ''
    returnType: int
    signature: int gs_lineto_aux(gs_gstate * pgs, double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:228,1
    - Dst: gs_lineto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pgs
    - x
    - y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 224
    functionDepth: 4
    functionLinenumber: 224
    functionLinenumberEnd: 233
    functionName: gs_lineto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 4
    functionsReached:
    - gs_point_transform_compat
    - gs_lineto_aux
    linkageType: ''
    returnType: int
    signature: int gs_lineto(gs_gstate * pgs, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:242,1
    - Dst: gs_distance_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:243,1
    - Dst: gs_lineto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - pgs
    - x
    - y
    argTypes:
    - gs_gstate*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 235
    functionDepth: 4
    functionLinenumber: 235
    functionLinenumberEnd: 249
    functionName: gs_rlineto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_lineto_aux
    - gs_distance_transform_compat
    linkageType: ''
    returnType: int
    signature: int gs_rlineto(gs_gstate * pgs, double x, double y)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: clamp_point_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:261,1
    - Dst: clamp_point_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:264,1
    - Dst: clamp_point_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:267,1
    - Dst: gx_path_add_curve
      Src: /src/libspectre/ghostscript/base/gspath.c:270,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath.c:273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - pgs
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 253
    functionDepth: 3
    functionLinenumber: 253
    functionLinenumberEnd: 275
    functionName: gs_curveto_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gx_setcurrentpoint
    - clamp_point_aux
    - gx_path_add_curve
    linkageType: ''
    returnType: int
    signature: "int gs_curveto_aux(gs_gstate * pgs,\n           double x1, double
      y1, double x2, double y2, double x3, double y3)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:284,1
    - Dst: gs_point_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:287,1
    - Dst: gs_point_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:290,1
    - Dst: gs_curveto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - pgs
    - x1
    - y1
    - x2
    - y2
    - x3
    - y3
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 277
    functionDepth: 4
    functionLinenumber: 277
    functionLinenumberEnd: 294
    functionName: gs_curveto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gs_curveto_aux
    - gs_point_transform_compat
    linkageType: ''
    returnType: int
    signature: "int gs_curveto(gs_gstate * pgs,\n           double x1, double y1,
      double x2, double y2, double x3, double y3)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:304,1
    - Dst: gs_distance_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:305,1
    - Dst: gs_distance_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:308,1
    - Dst: gs_distance_transform_compat
      Src: /src/libspectre/ghostscript/base/gspath.c:311,1
    - Dst: gs_curveto_aux
      Src: /src/libspectre/ghostscript/base/gspath.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 7
    argNames:
    - pgs
    - dx1
    - dy1
    - dx2
    - dy2
    - dx3
    - dy3
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 4
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: gs_rcurveto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_curveto_aux
    - gs_distance_transform_compat
    linkageType: ''
    returnType: int
    signature: "int gs_rcurveto(gs_gstate * pgs,\n     double dx1, double dy1, double
      dx2, double dy2, double dx3, double dy3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gspath.c:341,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gspath.c:351,1
    - Dst: gx_stroke_path_expansion
      Src: /src/libspectre/ghostscript/base/gspath.c:356,1
    - Dst: rect_intersect
      Src: /src/libspectre/ghostscript/base/gspath.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 3
    argNames:
    - pgs
    - bbox
    - comp_type
    argTypes:
    - gs_gstate*
    - gs_fixed_rect*
    - gs_bbox_comp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 372
    functionName: gx_curr_fixed_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached:
    - gx_effective_clip_path
    - rect_intersect
    - gx_path_bbox
    - gx_stroke_path_expansion
    linkageType: ''
    returnType: int
    signature: int gx_curr_fixed_bbox(gs_gstate * pgs, gs_fixed_rect *bbox, gs_bbox_comp_t
      comp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_curr_fixed_bbox
      Src: /src/libspectre/ghostscript/base/gspath.c:380,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:381,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:382,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:383,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pgs
    - bbox
    - comp_type
    argTypes:
    - gs_gstate*
    - gs_rect*
    - gs_bbox_comp_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 375
    functionDepth: 3
    functionLinenumber: 375
    functionLinenumberEnd: 386
    functionName: gx_curr_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gx_curr_fixed_bbox
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_curr_bbox(gs_gstate * pgs, gs_rect *bbox, gs_bbox_comp_t comp_type)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gspath.c:403,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gspath.c:416,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gspath.c:422,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gspath.c:423,1
    - Dst: rect_within
      Src: /src/libspectre/ghostscript/base/gspath.c:424,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gspath.c:426,1
    - Dst: gx_cpath_alloc
      Src: /src/libspectre/ghostscript/base/gspath.c:438,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath.c:440,1
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gspath.c:442,1
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gspath.c:443,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspath.c:446,1
    - Dst: gx_cpath_to_path
      Src: /src/libspectre/ghostscript/base/gspath.c:447,1
    - Dst: gx_cpath_clip
      Src: /src/libspectre/ghostscript/base/gspath.c:449,1
    - Dst: gx_cpath_assign_free
      Src: /src/libspectre/ghostscript/base/gspath.c:451,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath.c:454,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gspath.c:455,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 2
    argNames:
    - pgs
    - ppcpath
    argTypes:
    - gs_gstate*
    - gx_clip_path**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 396
    functionDepth: 5
    functionLinenumber: 396
    functionLinenumberEnd: 466
    functionName: gx_effective_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 4
    functionsReached:
    - gx_cpath_to_path
    - gx_cpath_free
    - gx_cpath_init_local
    - gx_cpath_assign_preserve
    - gx_path_free
    - gx_cpath_clip
    - gx_cpath_inner_box
    - rect_within
    - gx_cpath_outer_box
    - gx_cpath_alloc
    - gs_device_is_memory
    - gx_path_init_local
    - return_error
    - gx_cpath_assign_free
    linkageType: ''
    returnType: int
    signature: int gx_effective_clip_path(gs_gstate * pgs, gx_clip_path ** ppcpath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gspath.c:473,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gspath.c:474,1
    - Dst: gx_cpath_print
      Src: /src/libspectre/ghostscript/base/gspath.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: note_set_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gx_cpath_print
    - gs_debug_c
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void note_set_clip_path(const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 480
    functionName: note_set_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: note_set_clip_path(pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspath.c:488,1
    - Dst: gx_cpath_to_path
      Src: /src/libspectre/ghostscript/base/gspath.c:489,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gspath.c:491,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:492,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath.c:493,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 482
    functionDepth: 5
    functionLinenumber: 482
    functionLinenumberEnd: 499
    functionName: gs_clippath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 1
    functionsReached:
    - gx_cpath_to_path
    - gx_path_assign_free
    - gx_path_free
    - gx_path_init_local
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_clippath(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_clip_box
      Src: /src/libspectre/ghostscript/base/gspath.c:505,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/base/gspath.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 510
    functionName: gs_initclip
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached:
    - gx_default_clip_box
    - gx_clip_to_rectangle
    linkageType: ''
    returnType: int
    signature: int gs_initclip(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_clip
      Src: /src/libspectre/ghostscript/base/gspath.c:515,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: gs_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached:
    - common_clip
    linkageType: ''
    returnType: int
    signature: int gs_clip(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_clip
      Src: /src/libspectre/ghostscript/base/gspath.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 522
    functionName: gs_eoclip
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - common_clip
    linkageType: ''
    returnType: int
    signature: int gs_eoclip(gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_clip
      Src: /src/libspectre/ghostscript/base/gspath.c:527,1
    - Dst: note_set_clip_path
      Src: /src/libspectre/ghostscript/base/gspath.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pgs
    - rule
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 524
    functionDepth: 4
    functionLinenumber: 524
    functionLinenumberEnd: 533
    functionName: common_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 2
    functionsReached:
    - note_set_clip_path
    - gx_cpath_clip
    linkageType: ''
    returnType: int
    signature: int common_clip(gs_gstate * pgs, int rule)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_from_rectangle
      Src: /src/libspectre/ghostscript/base/gspath.c:540,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gspath.c:548,1
    - Dst: note_set_clip_path
      Src: /src/libspectre/ghostscript/base/gspath.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - pbox
    argTypes:
    - gs_gstate*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 537
    functionDepth: 4
    functionLinenumber: 537
    functionLinenumberEnd: 552
    functionName: gx_clip_to_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 5
    functionsReached:
    - gx_cpath_from_rectangle
    - note_set_clip_path
    - rc_decrement
    linkageType: ''
    returnType: int
    signature: int gx_clip_to_rectangle(gs_gstate * pgs, gs_fixed_rect * pbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gspath.c:562,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/base/gspath.c:563,1
    - Dst: gs_clip
      Src: /src/libspectre/ghostscript/base/gspath.c:564,1
    - Dst: note_set_clip_path
      Src: /src/libspectre/ghostscript/base/gspath.c:567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 556
    functionDepth: 5
    functionLinenumber: 556
    functionLinenumberEnd: 569
    functionName: gx_clip_to_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 0
    functionsReached:
    - gs_clip
    - gx_clip_to_rectangle
    - gx_path_bbox
    - note_set_clip_path
    linkageType: ''
    returnType: int
    signature: int gx_clip_to_path(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gspath.c:575,1
    - Dst: gs_defaultmatrix
      Src: /src/libspectre/ghostscript/base/gspath.c:581,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspath.c:591,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gspath.c:600,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:604,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:604,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:605,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:605,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:606,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:606,1
    - Dst: fixed_rounded
      Src: /src/libspectre/ghostscript/base/gspath.c:607,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - pgs
    - pbox
    argTypes:
    - gs_gstate*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 609
    functionName: gx_default_clip_box
    functionSourceFile: /src/libspectre/ghostscript/base/gspath.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - fixed_rounded
    - gs_currentdevice
    - gs_defaultmatrix
    - dev_proc
    - gs_bbox_transform
    linkageType: ''
    returnType: int
    signature: int gx_default_clip_box(const gs_gstate * pgs, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    functionName: Memento_checkBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkBlock(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 288
    functionName: Memento_checkAllMemory
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkAllMemory()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    functionName: Memento_check
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_check()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    functionName: Memento_setParanoia
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_setParanoia(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: Memento_paranoidAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_paranoidAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: Memento_breakAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: Memento_breakOnFree
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakOnFree(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: Memento_breakOnRealloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakOnRealloc(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: Memento_getBlockNum
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_getBlockNum(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 296
    functionName: Memento_find
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_find(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 297
    functionName: Memento_breakpoint
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakpoint()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: Memento_failAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_failAt(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    functionName: Memento_failThisEvent
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_failThisEvent()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: Memento_listBlocks
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listBlocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: Memento_listNewBlocks
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listNewBlocks()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: Memento_setMax
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_setMax(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: Memento_stats
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_stats()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    functionName: Memento_label
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_label(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 305
    functionName: Memento_info
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_info(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 306
    functionName: Memento_listBlockInfo
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_listBlockInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: Memento_takeByteRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeByteRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    functionName: Memento_dropByteRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropByteRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    functionName: Memento_takeShortRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeShortRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    functionName: Memento_dropShortRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropShortRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: Memento_takeIntRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeIntRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 312
    functionName: Memento_dropIntRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropIntRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: Memento_takeRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_takeRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 314
    functionName: Memento_dropRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_dropRef(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - V
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: Memento_adjustRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_adjustRef(A,V)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: Memento_reference
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_reference(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 317
    functionName: Memento_checkPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 318
    functionName: Memento_checkBytePointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkBytePointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: Memento_checkShortPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkShortPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 320
    functionName: Memento_checkIntPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_checkIntPointerOrNull(A)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 322
    functionName: Memento_tick
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_tick()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 323
    functionName: Memento_startLeaking
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_startLeaking()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: Memento_stopLeaking
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_stopLeaking()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: Memento_fin
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_fin()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 326
    functionName: Memento_bt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_bt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: Memento_sequence
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_sequence()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 328
    functionName: Memento_squeezing
    functionSourceFile: /src/libspectre/ghostscript/base/memento.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_squeezing()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: std_device_std_body_type
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_body_type(dtype, pprocs, dname, stype, w, h, xdpi, ydpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: std_device_std_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_body(dtype, pprocs, dname, w, h, xdpi, ydpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: std_device_std_body_type_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_body_type_open(dtype, pprocs, dname, stype, w, h, xdpi,
      ydpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    functionName: std_device_std_body_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_body_open(dtype, pprocs, dname, w, h, xdpi, ydpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 41
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 181
    functionName: std_device_full_body_type
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_full_body_type(dtype, pprocs, dname, stype, w, h, xdpi,
      ydpi, ncomp, depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 51
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - mcomp
    - ','
    - ncomp
    - ','
    - pol
    - ','
    - depth
    - ','
    - gi
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - ef
    - ','
    - cn
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: std_device_full_body_type_extended
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_full_body_type_extended(dtype, pprocs, dname, stype, w,
      h, xdpi, ydpi, mcomp, ncomp, pol, depth, gi, mg, mc, dg, dc, ef, cn, xoff, yoff,
      lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 39
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 192
    functionName: std_device_full_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi, ncomp,
      depth, mg, mc, dg, dc, xoff, yoff, lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - ','
    - ta
    - ','
    - ga
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: std_device_dci_alpha_type_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_dci_alpha_type_body(dtype, pprocs, dname, stype, w, h, xdpi,
      ydpi, ncomp, depth, mg, mc, dg, dc, ta, ga)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 203
    functionName: std_device_dci_type_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_dci_type_body(dtype, pprocs, dname, stype, w, h, xdpi, ydpi,
      ncomp, depth, mg, mc, dg, dc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - ncomp
    - ','
    - depth
    - ','
    - mg
    - ','
    - mc
    - ','
    - dg
    - ','
    - dc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: std_device_dci_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_dci_body(dtype, pprocs, dname, w, h, xdpi, ydpi, ncomp,
      depth, mg, mc, dg, dc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 33
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - depth
    - ','
    - max_value
    - ','
    - dither
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 214
    functionName: std_device_color_full_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_color_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi,
      depth, max_value, dither, xoff, yoff, lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - depth
    - ','
    - max_value
    - ','
    - dither
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 220
    functionName: std_device_color_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_color_body(dtype, pprocs, dname, w, h, xdpi, ydpi, depth,
      max_value, dither)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 23
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - depth
    - ','
    - max_value
    - ','
    - dither
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: std_device_color_stype_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_color_stype_body(dtype, pprocs, dname, stype, w, h, xdpi,
      ydpi, depth, max_value, dither)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 31
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - stype
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - depth
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 234
    functionName: std_device_std_color_full_body_type
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_color_full_body_type(dtype, pprocs, dname, stype, w,
      h, xdpi, ydpi, depth, xoff, yoff, lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 29
    argNames:
    - (
    - dtype
    - ','
    - pprocs
    - ','
    - dname
    - ','
    - w
    - ','
    - h
    - ','
    - xdpi
    - ','
    - ydpi
    - ','
    - depth
    - ','
    - xoff
    - ','
    - yoff
    - ','
    - lm
    - ','
    - bm
    - ','
    - rm
    - ','
    - tm
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 238
    functionName: std_device_std_color_full_body
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: std_device_std_color_full_body(dtype, pprocs, dname, w, h, xdpi, ydpi,
      depth, xoff, yoff, lm, bm, rm, tm)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 463
    functionName: gx_device_black_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_black_inline(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 467
    functionName: gx_device_white_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_white_inline(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 527
    functionName: gx_device_must_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_device_must_halftone(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dev
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 0
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: fit_fill_xy
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill_xy(dev, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - y
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 560
    functionName: fit_fill_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill_y(dev, y, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - x
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: fit_fill_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill_w(dev, x, w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - y
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 570
    functionName: fit_fill_h
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill_h(dev, y, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dev
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 576
    functionName: fit_fill_xywh
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill_xywh(dev, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dev
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 585
    functionName: fit_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_fill(dev, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - dev
    - ','
    - data
    - ','
    - data_x
    - ','
    - raster
    - ','
    - id
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 606
    functionName: fit_copy_xyw
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_copy_xyw(dev, data, data_x, raster, id, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - dev
    - ','
    - data
    - ','
    - data_x
    - ','
    - raster
    - ','
    - id
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 617
    functionName: fit_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxdevice.h
    functionUses: 39
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fit_copy(dev, data, data_x, raster, id, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vin
    - ','
    - pcache
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: LOOKUP_INDEX_
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_INDEX_(vin, pcache, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vin
    - ','
    - pcache
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: LOOKUP_ENTRY_
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_ENTRY_(vin, pcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP_INDEX_
      Src: /src/libspectre/ghostscript/base/gsciemap.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vin
    - pcache
    - fbits
    argTypes:
    - cie_cached_value
    - gx_cie_vector_cache*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 55
    functionName: LOOKUP_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - LOOKUP_INDEX_
    linkageType: ''
    returnType: cie_cached_value
    signature: "cie_cached_value LOOKUP_INDEX(cie_cached_value vin, const gx_cie_vector_cache
      *pcache,\n             int fbits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOOKUP_ENTRY_
      Src: /src/libspectre/ghostscript/base/gsciemap.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - vin
    - pcache
    argTypes:
    - cie_cached_value
    - gx_cie_vector_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: LOOKUP_ENTRY
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - LOOKUP_ENTRY_
    linkageType: ''
    returnType: cie_cached_vector3
    signature: 'cie_cached_vector3 *

      LOOKUP_ENTRY(cie_cached_value vin, const gx_cie_vector_cache *pcache)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - vin
    - ','
    - pcache
    - ','
    - fbits
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: LOOKUP_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_INDEX(vin, pcache, fbits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - vin
    - ','
    - pcache
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: LOOKUP_ENTRY
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_ENTRY(vin, pcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - vec3
    - ','
    - pconc
    - ','
    - cie_xyz
    - ','
    - pgs
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: GX_CIE_REMAP_FINISH
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_CIE_REMAP_FINISH(vec3, pconc, cie_xyz, pgs, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - vec3
    - ','
    - pconc
    - ','
    - cie_xyz
    - ','
    - pgs
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: GX_CIE_REMAP_FINISH
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GX_CIE_REMAP_FINISH(vec3, pconc, cie_xyz, pgs, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gsciemap.c:87,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:89,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:89,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:90,1
    - Dst: cie_lookup_mult3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:91,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:92,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:93,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:93,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pvec
    - pc
    - cname
    argTypes:
    - cie_cached_vector3*
    - gx_cie_vector_cache3_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 95
    functionName: cie_lookup_map3
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - cie_lookup_mult3
    - cie_cached2float
    - if_debug3
    - if_debug5
    linkageType: ''
    returnType: void
    signature: "void cie_lookup_map3(cie_cached_vector3 * pvec,\n                const
      gx_cie_vector_cache3_t * pc, const char *cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pvec
    - ','
    - pc
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    functionName: cie_lookup_map3
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_lookup_map3(pvec, pc, cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ranges
    - num_colorants
    argTypes:
    - gs_range*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: check_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_range(gs_range *ranges, int num_colorants)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:119,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:121,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:123,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:125,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: check_cie_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - check_range
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool check_cie_range(const gs_color_space * pcs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 148
    functionName: get_cie_range
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 3
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: gs_range
    signature: 'gs_range *

      get_cie_range(const gs_color_space * pcs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - ranges
    - num_colorants
    - src
    - des
    argTypes:
    - gs_range*
    - int
    - gs_client_color*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 160
    functionName: rescale_input_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rescale_input_color(gs_range *ranges, int num_colorants,\n                    const
      gs_client_color *src, gs_client_color *des)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_cie_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:169,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - pcs
    - cc
    argTypes:
    - gs_color_space*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 197
    functionName: rescale_cie_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    - check_cie_range
    linkageType: ''
    returnType: bool
    signature: bool rescale_cie_colors(const gs_color_space * pcs, gs_client_color
      *cc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_jc_complete
      Src: /src/libspectre/ghostscript/base/gsciemap.c:217,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 3
    argNames:
    - pcs
    - pconc
    - pgs
    argTypes:
    - gs_color_space*
    - frac*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 223
    functionName: gx_cie_check_rendering_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_cie_jc_complete
    linkageType: ''
    returnType: int
    signature: int gx_cie_check_rendering_inline(const gs_color_space * pcs, frac
      * pconc, const gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_cie_check_rendering_inline
      Src: /src/libspectre/ghostscript/base/gsciemap.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pcs
    - pconc
    - pgs
    argTypes:
    - gs_color_space*
    - frac*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 228
    functionName: gx_cie_check_rendering
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gx_cie_check_rendering_inline
    linkageType: ''
    returnType: int
    signature: int gx_cie_check_rendering(const gs_color_space * pcs, frac * pconc,
      const gs_gstate * pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:240,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:243,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:245,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gsciemap.c:248,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsciemap.c:249,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsciemap.c:251,1
    - Dst: gsicc_create_fromdefg
      Src: /src/libspectre/ghostscript/base/gsciemap.c:252,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:256,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsciemap.c:257,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:259,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ppcs_icc
    - pcs
    - memory
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 231
    functionDepth: 3
    functionLinenumber: 231
    functionLinenumberEnd: 264
    functionName: gx_ciedefg_to_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gsicc_create_fromdefg
    - gs_throw
    - gs_rethrow
    - rc_increment_cs
    - gsicc_init_profile_info
    - gs_cspace_build_ICC
    - gsicc_profile_new
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_ciedefg_to_icc(gs_color_space **ppcs_icc, gs_color_space *pcs,
      gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:276,1
    - Dst: gx_ciedefg_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:283,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:285,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:291,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pc
    - pcs_in
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 266
    functionDepth: 4
    functionLinenumber: 266
    functionLinenumberEnd: 303
    functionName: gx_remap_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_rethrow
    - check_range
    - rescale_input_color
    - gx_ciedefg_to_icc
    - if_debug4m
    linkageType: ''
    returnType: int
    signature: "int gx_remap_CIEDEFG(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device *
      dev,\n                gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:315,1
    - Dst: gx_ciedefg_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:322,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:324,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:330,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - pcs_in
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 4
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: gx_concretize_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_rethrow
    - check_range
    - rescale_input_color
    - gx_ciedefg_to_icc
    - if_debug4m
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_CIEDEFG(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n                      frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gsciemap.c:345,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:349,1
    - Dst: gx_cie_check_rendering_inline
      Src: /src/libspectre/ghostscript/base/gsciemap.c:350,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:358,1
    - Dst: GX_CIE_REMAP_FINISH
      Src: /src/libspectre/ghostscript/base/gsciemap.c:361,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - cie_xyz
    - pgs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - float*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 363
    functionName: gx_psconcretize_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - LOOKUP_ENTRY
    - float2cie_cached
    - gx_cie_check_rendering_inline
    - GX_CIE_REMAP_FINISH
    linkageType: ''
    returnType: int
    signature: "int gx_psconcretize_CIEA(const gs_client_color * pc, const gs_color_space
      * pcs,\n                      frac * pconc, float * cie_xyz, const gs_gstate
      * pgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:374,1
    - Dst: gx_cie_check_rendering_inline
      Src: /src/libspectre/ghostscript/base/gsciemap.c:377,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gsciemap.c:383,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gsciemap.c:384,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gsciemap.c:385,1
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:387,1
    - Dst: GX_CIE_REMAP_FINISH
      Src: /src/libspectre/ghostscript/base/gsciemap.c:389,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - cie_xyz
    - pgs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - float*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 391
    functionName: gx_psconcretize_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - if_debug3m
    - cie_lookup_map3
    - float2cie_cached
    - gx_cie_check_rendering_inline
    - GX_CIE_REMAP_FINISH
    linkageType: ''
    returnType: int
    signature: "int gx_psconcretize_CIEABC(const gs_client_color * pc, const gs_color_space
      * pcs,\n                      frac * pconc, float * cie_xyz, const gs_gstate
      * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:405,1
    - Dst: gx_cie_check_rendering_inline
      Src: /src/libspectre/ghostscript/base/gsciemap.c:408,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsciemap.c:434,1
    - Dst: gx_color_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsciemap.c:437,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:444,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:445,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:446,1
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:449,1
    - Dst: GX_CIE_REMAP_FINISH
      Src: /src/libspectre/ghostscript/base/gsciemap.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - cie_xyz
    - pgs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - float*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 453
    functionName: gx_psconcretize_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - SCALE_TO_RANGE
    - cie_lookup_map3
    - gx_color_interpolate_linear
    - gx_cie_check_rendering_inline
    - if_debug4m
    - GX_CIE_REMAP_FINISH
    linkageType: ''
    returnType: int
    signature: "int gx_psconcretize_CIEDEFG(const gs_client_color * pc, const gs_color_space
      * pcs,\n                      frac * pconc, float * cie_xyz, const gs_gstate
      * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - range
    - ','
    - frac
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 443
    functionName: SCALE_TO_RANGE
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_TO_RANGE(range, frac)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:467,1
    - Dst: gx_cie_check_rendering_inline
      Src: /src/libspectre/ghostscript/base/gsciemap.c:470,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsciemap.c:497,1
    - Dst: gx_color_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsciemap.c:500,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:502,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:503,1
    - Dst: SCALE_TO_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:504,1
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:507,1
    - Dst: GX_CIE_REMAP_FINISH
      Src: /src/libspectre/ghostscript/base/gsciemap.c:509,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - cie_xyz
    - pgs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - float*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 511
    functionName: gx_psconcretize_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - SCALE_TO_RANGE
    - if_debug3m
    - cie_lookup_map3
    - gx_color_interpolate_linear
    - gx_cie_check_rendering_inline
    - GX_CIE_REMAP_FINISH
    linkageType: ''
    returnType: int
    signature: "int gx_psconcretize_CIEDEF(const gs_client_color * pc, const gs_color_space
      * pcs,\n                     frac * pconc, float * cie_xyz, const gs_gstate
      * pgs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:524,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:526,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:528,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gsciemap.c:531,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsciemap.c:532,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsciemap.c:534,1
    - Dst: gsicc_create_fromdef
      Src: /src/libspectre/ghostscript/base/gsciemap.c:535,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:539,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsciemap.c:540,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:542,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ppcs_icc
    - pcs
    - memory
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 515
    functionDepth: 3
    functionLinenumber: 515
    functionLinenumberEnd: 550
    functionName: gx_ciedef_to_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gsicc_create_fromdef
    - if_debug0
    - gs_throw
    - gs_rethrow
    - rc_increment_cs
    - gsicc_init_profile_info
    - gs_cspace_build_ICC
    - gsicc_profile_new
    linkageType: ''
    returnType: int
    signature: int gx_ciedef_to_icc(gs_color_space **ppcs_icc, gs_color_space *pcs,
      gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:562,1
    - Dst: gx_ciedef_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:569,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:571,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:577,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:581,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pc
    - pcs_in
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 552
    functionDepth: 4
    functionLinenumber: 552
    functionLinenumberEnd: 589
    functionName: gx_remap_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - check_range
    - gs_rethrow
    - gx_ciedef_to_icc
    - rescale_input_color
    linkageType: ''
    returnType: int
    signature: "int gx_remap_CIEDEF(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device *
      dev,\n                gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:601,1
    - Dst: gx_ciedef_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:608,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:610,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:616,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:620,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - pcs_in
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 592
    functionDepth: 4
    functionLinenumber: 592
    functionLinenumberEnd: 623
    functionName: gx_concretize_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - check_range
    - gs_rethrow
    - gx_ciedef_to_icc
    - rescale_input_color
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_CIEDEF(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n                     frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:636,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:638,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:640,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gsciemap.c:643,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsciemap.c:644,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsciemap.c:646,1
    - Dst: gsicc_create_fromabc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:647,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:651,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsciemap.c:652,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:654,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - ppcs_icc
    - pcs
    - islab
    - memory
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - bool*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 660
    functionName: gx_cieabc_to_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gs_rethrow
    - gsicc_create_fromabc
    - rc_increment_cs
    - gsicc_init_profile_info
    - gs_cspace_build_ICC
    - gsicc_profile_new
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gx_cieabc_to_icc(gs_color_space **ppcs_icc, gs_color_space *pcs,
      bool *islab,\n                 gs_memory_t *memory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:676,1
    - Dst: gx_cieabc_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:683,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:685,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:691,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:695,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 6
    argNames:
    - pc
    - pcs_in
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 665
    functionDepth: 4
    functionLinenumber: 665
    functionLinenumberEnd: 704
    functionName: gx_remap_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - check_range
    - gs_rethrow
    - rescale_input_color
    - gx_cieabc_to_icc
    linkageType: ''
    returnType: int
    signature: "int gx_remap_CIEABC(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device *
      dev,\n                gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:716,1
    - Dst: gx_cieabc_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:723,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:725,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:731,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:735,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - pcs_in
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 738
    functionName: gx_concretize_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - check_range
    - gs_rethrow
    - rescale_input_color
    - gx_cieabc_to_icc
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_CIEABC(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n                     frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:749,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:752,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:754,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gsciemap.c:757,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsciemap.c:758,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsciemap.c:760,1
    - Dst: gsicc_create_froma
      Src: /src/libspectre/ghostscript/base/gsciemap.c:761,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:765,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsciemap.c:766,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:768,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - ppcs_icc
    - pcs
    - memory
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 741
    functionDepth: 3
    functionLinenumber: 741
    functionLinenumberEnd: 774
    functionName: gx_ciea_to_icc
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gsicc_create_froma
    - gs_rethrow
    - rc_increment_cs
    - gsicc_init_profile_info
    - gs_cspace_build_ICC
    - gsicc_profile_new
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gx_ciea_to_icc(gs_color_space **ppcs_icc, gs_color_space *pcs,
      gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:786,1
    - Dst: gx_ciea_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:791,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:793,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:800,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 6
    argNames:
    - pc
    - pcs_in
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 776
    functionDepth: 4
    functionLinenumber: 776
    functionLinenumberEnd: 811
    functionName: gx_remap_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gx_ciea_to_icc
    - gs_rethrow
    - check_range
    - rescale_input_color
    linkageType: ''
    returnType: int
    signature: "int gx_remap_CIEA(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device *
      dev,\n                gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:823,1
    - Dst: gx_ciea_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:828,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsciemap.c:830,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsciemap.c:837,1
    - Dst: rescale_input_color
      Src: /src/libspectre/ghostscript/base/gsciemap.c:841,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 5
    argNames:
    - pc
    - pcs_in
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 814
    functionDepth: 4
    functionLinenumber: 814
    functionLinenumberEnd: 844
    functionName: gx_concretize_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gx_ciea_to_icc
    - gs_rethrow
    - check_range
    - rescale_input_color
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_CIEA(const gs_client_color * pc, const gs_color_space
      * pcs_in,\n                   frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:851,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:856,1
    - Dst: gx_ciedefg_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:861,1
    - Dst: gx_ciedef_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:864,1
    - Dst: gx_cieabc_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:867,1
    - Dst: gx_ciea_to_icc
      Src: /src/libspectre/ghostscript/base/gsciemap.c:870,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pcs
    - islab
    - memory
    argTypes:
    - gs_color_space*
    - bool*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 847
    functionDepth: 4
    functionLinenumber: 847
    functionLinenumberEnd: 877
    functionName: gs_colorspace_set_icc_equivalent
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 5
    functionsReached:
    - gs_color_space_is_PSCIE
    - gs_color_space_get_index
    - gx_ciea_to_icc
    - gx_ciedef_to_icc
    - gx_ciedefg_to_icc
    - gx_cieabc_to_icc
    linkageType: ''
    returnType: int
    signature: "int gs_colorspace_set_icc_equivalent(gs_color_space *pcs, bool *islab,\n
      \                                gs_memory_t *memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate*::cie_joint_caches::remap_finish
      Src: /src/libspectre/ghostscript/base/gsciemap.c:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - vec3
    - pconc
    - cie_xyz
    - pgs
    - pcs
    argTypes:
    - cie_cached_vector3
    - frac*
    - float*
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 886
    functionName: gx_cie_remap_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - gs_gstate*::cie_joint_caches::remap_finish
    linkageType: ''
    returnType: int
    signature: "int gx_cie_remap_finish(cie_cached_vector3 vec3, frac * pconc, float
      *cie_xyz,\n                    const gs_gstate * pgs,\n                    const
      gs_color_space *pcs)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:904,1
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:909,1
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:914,1
    - Dst: SET_TABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:927,1
    - Dst: SET_TABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:928,1
    - Dst: SET_TABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:929,1
    - Dst: EABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:939,1
    - Dst: EABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:940,1
    - Dst: EABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:941,1
    - Dst: FABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:964,1
    - Dst: FABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:965,1
    - Dst: FABC
      Src: /src/libspectre/ghostscript/base/gsciemap.c:966,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:969,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:970,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:970,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:971,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:971,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:972,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:972,1
    - Dst: gx_color_interpolate_linear
      Src: /src/libspectre/ghostscript/base/gsciemap.c:973,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:975,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:976,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:976,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:977,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:981,1
    - Dst: frac2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:981,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:982,1
    - Dst: frac2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:982,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:983,1
    - Dst: frac2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:983,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:985,1
    - Dst: frac2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:985,1
    - Dst: RI
      Src: /src/libspectre/ghostscript/base/gsciemap.c:997,1
    - Dst: RI
      Src: /src/libspectre/ghostscript/base/gsciemap.c:998,1
    - Dst: RI
      Src: /src/libspectre/ghostscript/base/gsciemap.c:999,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1004,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1005,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1005,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1006,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1008,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1009,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1010,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1012,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1025,1
    - Dst: byte2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1025,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1026,1
    - Dst: byte2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1026,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1027,1
    - Dst: byte2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1027,1
    - Dst: RT_LOOKUP
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1029,1
    - Dst: byte2cache_index
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1029,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 45
    argCount: 5
    argNames:
    - vec3
    - pconc
    - xyz
    - pgs
    - pcs
    argTypes:
    - cie_cached_vector3
    - frac*
    - float*
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 891
    functionDepth: 2
    functionLinenumber: 891
    functionLinenumberEnd: 1038
    functionName: gx_cie_real_remap_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - frac2cache_index
    - cie_cached2float
    - if_debug3m
    - fixed2float
    - if_debug6m
    - cie_lookup_map3
    - gx_color_interpolate_linear
    - RT_LOOKUP
    - frac2float
    - byte2frac
    - EABC
    - byte2cache_index
    - FABC
    - RI
    - SET_TABC
    linkageType: ''
    returnType: int
    signature: "int gx_cie_real_remap_finish(cie_cached_vector3 vec3, frac * pconc,
      float * xyz,\n                         const gs_gstate * pgs,\n                         const
      gs_color_space *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 939
    functionName: EABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EABC(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - j
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 951
    functionName: RT_LOOKUP
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RT_LOOKUP(j, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 962
    functionName: EABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EABC(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 964
    functionName: FABC
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FABC(i, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 980
    functionDepth: 0
    functionLinenumber: 980
    functionLinenumberEnd: 981
    functionName: frac2cache_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2cache_index(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 997
    functionName: RI
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RI(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1016
    functionName: byte2cache_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: byte2cache_index(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1018
    functionDepth: 0
    functionLinenumber: 1018
    functionLinenumberEnd: 1021
    functionName: byte2cache_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: byte2cache_index(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1023
    functionName: byte2cache_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: byte2cache_index(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1048,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1049
    functionName: float2frac_clamp
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - float2frac
    linkageType: ''
    returnType: frac
    signature: frac float2frac_clamp(double x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cie_lookup_map3
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1062,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1065,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1066,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1067,1
    - Dst: float2frac_clamp
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1069,1
    - Dst: float2frac_clamp
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1070,1
    - Dst: float2frac_clamp
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - vec3
    - pconc
    - xyz
    - pgs
    - pcs
    argTypes:
    - cie_cached_vector3
    - frac*
    - float*
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1073
    functionName: gx_cie_xyz_remap_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 0
    functionsReached:
    - cie_cached2float
    - float2frac_clamp
    - cie_lookup_map3
    linkageType: ''
    returnType: int
    signature: "int gx_cie_xyz_remap_finish(cie_cached_vector3 vec3, frac * pconc,
      float *xyz,\n                        const gs_gstate * pgs,\n                        const
      gs_color_space *pcs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: I_IN_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1112,1
    - Dst: I_INDEX
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1113,1
    - Dst: I_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1114,1
    - Dst: I_ENTRY1
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1115,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1117,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1118,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1119,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1120,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1122,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1124,1
    - Dst: I_IN_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1128,1
    - Dst: I_INDEX
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1129,1
    - Dst: I_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1130,1
    - Dst: I_ENTRY1
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1131,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1133,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1134,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1135,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1136,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1138,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1140,1
    - Dst: I_IN_RANGE
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1144,1
    - Dst: I_INDEX
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1145,1
    - Dst: I_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1146,1
    - Dst: I_ENTRY1
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1147,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1149,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1150,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1151,1
    - Dst: LOOKUP_INTERPOLATE_BETWEEN
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1152,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1154,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1156,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1171,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1172,1
    - Dst: LOOKUP_ENTRY
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1173,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gsciemap.c:1175,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 2
    argNames:
    - pvec
    - pc
    argTypes:
    - cie_cached_vector3*
    - gx_cie_vector_cache3_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1182
    functionName: cie_lookup_mult3
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached:
    - if_debug0
    - LOOKUP_ENTRY
    - I_ENTRY
    - I_ENTRY1
    - LOOKUP_INTERPOLATE_BETWEEN
    - I_IN_RANGE
    - I_INDEX
    linkageType: ''
    returnType: void
    signature: "void cie_lookup_mult3(cie_cached_vector3 * pvec,\n                 const
      gx_cie_vector_cache3_t * pc)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1086
    functionName: LOOKUP_INTERPOLATE_BETWEEN
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_INTERPOLATE_BETWEEN(v0, v1, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v0
    - ','
    - v1
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1089
    functionDepth: 0
    functionLinenumber: 1089
    functionLinenumberEnd: 1092
    functionName: LOOKUP_INTERPOLATE_BETWEEN
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP_INTERPOLATE_BETWEEN(v0, v1, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - j
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    functionName: I_IN_RANGE
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_IN_RANGE(j, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - j
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1107
    functionName: I_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_INDEX(j, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1107
    functionDepth: 0
    functionLinenumber: 1107
    functionLinenumberEnd: 1109
    functionName: I_ENTRY
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_ENTRY(i, j)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1111
    functionName: I_ENTRY1
    functionSourceFile: /src/libspectre/ghostscript/base/gsciemap.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_ENTRY1(i, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 40
    functionName: private_st_MTF_state
    functionSourceFile: /src/libspectre/ghostscript/base/smtf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_MTF_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rmem
    - proc_data
    argTypes:
    - gs_memory_retrying_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 86
    functionName: no_recover_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_recover_status_t
    signature: gs_memory_recover_status_t no_recover_proc(gs_memory_retrying_t *rmem,
      void *proc_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_retrying_set_recover
      Src: /src/libspectre/ghostscript/base/gsmemret.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - rmem
    - target
    argTypes:
    - gs_memory_retrying_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 106
    functionName: gs_memory_retrying_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 1
    functionsReached:
    - gs_memory_retrying_set_recover
    linkageType: ''
    returnType: int
    signature: "int gs_memory_retrying_init(\n                      gs_memory_retrying_t
      * rmem,\t/* allocator to init */\n                      gs_memory_t * target\t/*
      allocator to wrap */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - rmem
    - recover_proc
    - recover_proc_data
    argTypes:
    - gs_memory_retrying_t*
    - gs_memory_recover_proc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: gs_memory_retrying_set_recover
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_memory_retrying_set_recover(gs_memory_retrying_t *rmem,\n
      \                              gs_memory_recover_proc_t recover_proc,\n                               void
      *recover_proc_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_free_all
      Src: /src/libspectre/ghostscript/base/gsmemret.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rmem
    argTypes:
    - gs_memory_retrying_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    functionName: gs_memory_retrying_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - gs_memory_free_all
    linkageType: ''
    returnType: void
    signature: void gs_memory_retrying_release(gs_memory_retrying_t *rmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rmem
    argTypes:
    - gs_memory_retrying_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: gs_memory_retrying_target
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_memory_retrying_target(const gs_memory_retrying_t *rmem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - call_target
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: DO_FORWARD
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_FORWARD(call_target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - result_type
    - ','
    - call_target
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 162
    functionName: RETURN_RETRYING
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETURN_RETRYING(result_type, call_target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmemret.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - free_mask
    - cname
    argTypes:
    - gs_memory_t*
    - uint
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: gs_forward_free_all
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_forward_free_all(gs_memory_t * mem, uint free_mask, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:178,1
    - Dst: procs::consolidate_free
      Src: /src/libspectre/ghostscript/base/gsmemret.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 179
    functionName: gs_forward_consolidate_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::consolidate_free
    linkageType: ''
    returnType: void
    signature: void gs_forward_consolidate_free(gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: gs_retrying_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gs_retrying_alloc_bytes(gs_memory_t * mem, size_t size, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 196
    functionName: gs_retrying_alloc_bytes_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_retrying_alloc_bytes_immovable(gs_memory_t * mem, size_t
      size,\n                                client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 205
    functionName: gs_retrying_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\ngs_retrying_alloc_struct(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                       client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 214
    functionName: gs_retrying_alloc_struct_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\ngs_retrying_alloc_struct_immovable(gs_memory_t * mem,\n                           gs_memory_type_ptr_t
      pstype, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 224
    functionName: gs_retrying_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_retrying_alloc_byte_array(gs_memory_t * mem, size_t num_elements,
      size_t elt_size,\n                           client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 235
    functionName: gs_retrying_alloc_byte_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_retrying_alloc_byte_array_immovable(gs_memory_t * mem,
      size_t num_elements,\n                                       size_t elt_size,
      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: gs_retrying_alloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\ngs_retrying_alloc_struct_array(gs_memory_t * mem, size_t num_elements,\n
      \                              gs_memory_type_ptr_t pstype, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 258
    functionName: gs_retrying_alloc_struct_array_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\ngs_retrying_alloc_struct_array_immovable(gs_memory_t * mem,
      size_t num_elements,\n                                         gs_memory_type_ptr_t
      pstype,\n                                         client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - obj
    - new_num_elements
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 268
    functionName: gs_retrying_resize_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void *\ngs_retrying_resize_object(gs_memory_t * mem, void *obj, size_t
      new_num_elements,\n                          client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: gs_forward_object_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t gs_forward_object_size(gs_memory_t * mem, const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - mem
    - ptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 278
    functionName: gs_forward_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_type_ptr_t
    signature: gs_memory_type_ptr_t gs_forward_object_type(const gs_memory_t * mem,
      const void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:282,1
    - Dst: procs::free_object
      Src: /src/libspectre/ghostscript/base/gsmemret.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - ptr
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: gs_forward_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::free_object
    linkageType: ''
    returnType: void
    signature: void gs_forward_free_object(gs_memory_t * mem, void *ptr, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 291
    functionName: gs_retrying_alloc_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: 'byte *

      gs_retrying_alloc_string(gs_memory_t * mem, size_t nbytes, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: gs_retrying_alloc_string_immovable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_retrying_alloc_string_immovable(gs_memory_t * mem, size_t
      nbytes,\n                                 client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - data
    - old_num
    - new_num
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 310
    functionName: gs_retrying_resize_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: byte
    signature: "byte *\ngs_retrying_resize_string(gs_memory_t * mem, byte * data,
      size_t old_num,\n                          size_t new_num, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:315,1
    - Dst: procs::free_string
      Src: /src/libspectre/ghostscript/base/gsmemret.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: gs_forward_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::free_string
    linkageType: ''
    returnType: void
    signature: "void gs_forward_free_string(gs_memory_t * mem, byte * data, size_t
      nbytes,\n                      client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - rp
    - ptype
    - up
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t**
    - gs_ptr_type_t
    - void**
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 325
    functionName: gs_retrying_register_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gs_retrying_register_root(gs_memory_t * mem, gs_gc_root_t ** rp,\n
      \                       gs_ptr_type_t ptype, void **up, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:330,1
    - Dst: procs::unregister_root
      Src: /src/libspectre/ghostscript/base/gsmemret.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - rp
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gc_root_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: gs_forward_unregister_root
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::unregister_root
    linkageType: ''
    returnType: void
    signature: "void gs_forward_unregister_root(gs_memory_t * mem, gs_gc_root_t *
      rp,\n                          client_name_t cname)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gsmemret.c:337,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsmemret.c:343,1
    - Dst: gs_memory_retrying_init
      Src: /src/libspectre/ghostscript/base/gsmemret.c:346,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsmemret.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 332
    functionDepth: 2
    functionLinenumber: 332
    functionLinenumberEnd: 356
    functionName: gs_retrying_stable
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - gs_memory_retrying_init
    - gs_free_object
    - gs_memory_stable
    - gs_alloc_bytes
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_retrying_stable(gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:360,1
    - Dst: procs::status
      Src: /src/libspectre/ghostscript/base/gsmemret.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - pstat
    argTypes:
    - gs_memory_t*
    - gs_memory_status_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 365
    functionName: gs_forward_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::status
    linkageType: ''
    returnType: void
    signature: void gs_forward_status(gs_memory_t * mem, gs_memory_status_t * pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:369,1
    - Dst: procs::enable_free
      Src: /src/libspectre/ghostscript/base/gsmemret.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - enable
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: gs_forward_enable_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::enable_free
    linkageType: ''
    returnType: void
    signature: void gs_forward_enable_free(gs_memory_t * mem, bool enable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:374,1
    - Dst: procs::set_object_type
      Src: /src/libspectre/ghostscript/base/gsmemret.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - ptr
    - type
    argTypes:
    - gs_memory_t*
    - void*
    - gs_memory_type_ptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 375
    functionName: gs_forward_set_object_type
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::set_object_type
    linkageType: ''
    returnType: void
    signature: void gs_forward_set_object_type(gs_memory_t *mem, void *ptr, gs_memory_type_ptr_t
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DO_FORWARD
      Src: /src/libspectre/ghostscript/base/gsmemret.c:379,1
    - Dst: procs::defer_frees
      Src: /src/libspectre/ghostscript/base/gsmemret.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - defer
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 380
    functionName: gs_forward_defer_frees
    functionSourceFile: /src/libspectre/ghostscript/base/gsmemret.c
    functionUses: 0
    functionsReached:
    - DO_FORWARD
    - procs::defer_frees
    linkageType: ''
    returnType: void
    signature: void gs_forward_defer_frees(gs_memory_t *mem, int defer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 34
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 41
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:71,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:72,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 83
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 5
    functionsReached:
    - printf
    - lprintf
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 2
    functionsReached:
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: dvx_prn_close
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached:
    - fflush
    linkageType: ''
    returnType: int
    signature: int dvx_prn_close(FILE *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:111,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:111,1
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 116
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached:
    - gp_fopen_impl
    - strlen
    - strcmp
    linkageType: ''
    returnType: gp_file
    signature: "gp_file *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     int
      \        (**close)(FILE *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file*::close
      Src: /src/libspectre/ghostscript/base/gp_dvx.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached:
    - gp_file*::close
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file * pfile, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dvx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: private_st_jbig2decode_state
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jbig2decode_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 84
    functionName: private_st_jbig2encode_state
    functionSourceFile: /src/libspectre/ghostscript/base/sjbig2_luratech.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_jbig2encode_state()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_mask_clip_initialize
      Src: /src/libspectre/ghostscript/base/gxclip2.c:127,1
    - Dst: tile_clip_set_phase
      Src: /src/libspectre/ghostscript/base/gxclip2.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - cdev
    - tiles
    - tdev
    - px
    - py
    argTypes:
    - gx_device_tile_clip*
    - gx_strip_bitmap*
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 136
    functionName: tile_clip_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 1
    functionsReached:
    - tile_clip_set_phase
    - gx_mask_clip_initialize
    linkageType: ''
    returnType: int
    signature: "int tile_clip_initialize(gx_device_tile_clip * cdev, const gx_strip_bitmap
      * tiles,\n                     gx_device * tdev, int px, int py)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_tile_clip*::finalize
      Src: /src/libspectre/ghostscript/base/gxclip2.c:143,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclip2.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cdev
    argTypes:
    - gx_device_tile_clip*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: tile_clip_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 6
    functionsReached:
    - gx_device_tile_clip*::finalize
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void tile_clip_free(gx_device_tile_clip *cdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - cdev
    - px
    - py
    argTypes:
    - gx_device_tile_clip*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: tile_clip_set_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tile_clip_set_phase(gx_device_tile_clip * cdev, int px, int py)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip2.c:175,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip2.c:176,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip2.c:177,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclip2.c:178,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 182
    functionName: tile_clip_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - fixed2int
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int tile_clip_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n                const gs_gstate *pgs, const gx_drawing_color *pdcolor,
      \n                const gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 195
    functionName: tile_clip_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int tile_clip_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ty
    - ','
    - cdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 202
    functionName: x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_offset(ty, cdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setup_mask_copy_mono
      Src: /src/libspectre/ghostscript/base/gxclip2.c:217,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gxclip2.c:221,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclip2.c:223,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclip2.c:229,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:231,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:237,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:242,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 251
    functionName: tile_clip_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - x_offset
    - setup_mask_copy_mono
    - memcpy
    - min
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int tile_clip_copy_mono(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                    int x,
      int y, int w, int h,\n                    gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: t_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: t_next(tx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - data_row
    - ','
    - tx1
    - ','
    - tx
    - ','
    - ty
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FOR_RUNS(data_row, tx1, tx, ty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: END_FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: END_FOR_RUNS()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:314,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:318,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 328
    functionName: tile_clip_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_copy_color(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 324
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 1
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:338,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:342,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: tile_clip_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_copy_planes(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 348
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 2
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:363,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:367,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 377
    functionName: tile_clip_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_copy_alpha(gx_device * dev,\n                const byte
      * data, int sourcex, int raster, gx_bitmap_id id,\n                int x, int
      y, int w, int h, gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 373
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 3
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:387,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:391,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 401
    functionName: tile_clip_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_copy_alpha_hl_color(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                int
      x, int y, int w, int h, const gx_drawing_color *pdcolor, \n                int
      depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 397
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 4
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:414,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:418,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 15
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 429
    functionName: tile_clip_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_strip_copy_rop(gx_device * dev,\n               const
      byte * data, int sourcex, uint raster, gx_bitmap_id id,\n                         const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                         int x, int y, int w, int
      h,\n                       int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 5
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gxclip2.c:442,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:446,1
    - Dst: END_FOR_RUNS
      Src: /src/libspectre/ghostscript/base/gxclip2.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 16
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - w
    - h
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 458
    functionName: tile_clip_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 0
    functionsReached:
    - END_FOR_RUNS
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int tile_clip_strip_copy_rop2(gx_device * dev,\n               const
      byte * data, int sourcex, uint raster, gx_bitmap_id id,\n                         const
      gx_color_index * scolors,\n           const gx_strip_bitmap * textures, const
      gx_color_index * tcolors,\n                         int x, int y, int w, int
      h,\n                       int phase_x, int phase_y, gs_logical_operation_t
      lop,\n                       uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclip2.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 454
    functionName: FOR_RUNS
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.c
    functionUses: 6
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void FOR_RUNS(data_row, txrun, tx, ty)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - proc
    - ','
    - stksize
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: BEGIN_THREAD
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_THREAD(proc, stksize, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - proc
    - ','
    - stksize
    - ','
    - data
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: BEGIN_THREAD
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BEGIN_THREAD(proc, stksize, data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: AllocAlias16
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AllocAlias16(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fp32
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: MK_FP16
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_FP16(fp32)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fp16
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: MK_FP32
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MK_FP32(fp16)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - ptype
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: GetProc16
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetProc16(proc, ptype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - set
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: _fstrtok
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _fstrtok(str, set)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: exception_code
    functionSourceFile: /src/libspectre/ghostscript/base/windows_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exception_code()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:47,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:53,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:56,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:61,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:63,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:65,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/spsdf.c:73,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:82,1
    - Dst: s_AXE_init_inline
      Src: /src/libspectre/ghostscript/base/spsdf.c:87,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:88,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/base/spsdf.c:104,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 4
    argNames:
    - s
    - str
    - size
    - print_ok
    argTypes:
    - stream*
    - byte*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 108
    functionName: s_write_ps_string
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 3
    functionsReached:
    - stream_puts
    - s_AXE_init_inline
    - stream_write
    - stream_putc
    - strchr
    linkageType: ''
    returnType: void
    signature: void s_write_ps_string(stream * s, const byte * str, uint size, int
      print_ok)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/spsdf.c:114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/spsdf.c:117,1
    - Dst: swrite_position_only
      Src: /src/libspectre/ghostscript/base/spsdf.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ps
    - mem
    argTypes:
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: s_alloc_position_stream
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 0
    functionsReached:
    - return_error
    - s_alloc
    - swrite_position_only
    linkageType: ''
    returnType: int
    signature: int s_alloc_position_stream(stream ** ps, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_list_init
      Src: /src/libspectre/ghostscript/base/spsdf.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - prlist
    - ppp
    - s
    argTypes:
    - printer_param_list_t*
    - param_printer_params_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: s_init_param_printer
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 4
    functionsReached:
    - gs_param_list_init
    linkageType: ''
    returnType: int
    signature: "int s_init_param_printer(printer_param_list_t *prlist,\n                     const
      param_printer_params_t * ppp, stream * s)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/spsdf.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/spsdf.c:165,1
    - Dst: s_init_param_printer
      Src: /src/libspectre/ghostscript/base/spsdf.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pplist
    - ppp
    - s
    - mem
    argTypes:
    - gs_param_list**
    - param_printer_params_t*
    - stream*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: s_alloc_param_printer
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 0
    functionsReached:
    - return_error
    - s_init_param_printer
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int s_alloc_param_printer(gs_param_list ** pplist,\n                      const
      param_printer_params_t * ppp, stream * s,\n                      gs_memory_t
      * mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:176,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - prlist
    argTypes:
    - printer_param_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: s_release_param_printer
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 3
    functionsReached:
    - stream_puts
    linkageType: ''
    returnType: void
    signature: void s_release_param_printer(printer_param_list_t *prlist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_release_param_printer
      Src: /src/libspectre/ghostscript/base/spsdf.c:185,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/spsdf.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - plist
    argTypes:
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: s_free_param_printer
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - s_release_param_printer
    linkageType: ''
    returnType: void
    signature: void s_free_param_printer(gs_param_list * plist)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:199,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:203,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/base/spsdf.c:204,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:207,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:210,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/spsdf.c:213,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/base/spsdf.c:216,1
    - Dst: pprintzd1
      Src: /src/libspectre/ghostscript/base/spsdf.c:219,1
    - Dst: pprinti64d1
      Src: /src/libspectre/ghostscript/base/spsdf.c:222,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/spsdf.c:225,1
    - Dst: s_write_ps_string
      Src: /src/libspectre/ghostscript/base/spsdf.c:228,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:233,1
    - Dst: stream_write
      Src: /src/libspectre/ghostscript/base/spsdf.c:234,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:241,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/spsdf.c:243,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:244,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:246,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:254,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/spsdf.c:256,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:257,1
    - Dst: stream_putc
      Src: /src/libspectre/ghostscript/base/spsdf.c:259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/spsdf.c:265,1
    - Dst: stream_puts
      Src: /src/libspectre/ghostscript/base/spsdf.c:268,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_typed_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 270
    functionName: param_print_typed
    functionSourceFile: /src/libspectre/ghostscript/base/spsdf.c
    functionUses: 0
    functionsReached:
    - stream_puts
    - pprintg1
    - pprinti64d1
    - s_write_ps_string
    - pprintld1
    - stream_write
    - pprintzd1
    - pprints1
    - stream_putc
    - pprintd1
    - return_error
    linkageType: ''
    returnType: int
    signature: "int param_print_typed(gs_param_list * plist, gs_param_name pkey,\n
      \                 gs_param_typed_value * pvalue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_zlib_alloc_dynamic_state
      Src: /src/libspectre/ghostscript/base/szlibd.c:28,1
    - Dst: inflateInit2
      Src: /src/libspectre/ghostscript/base/szlibd.c:32,1
    - Dst: s_zlib_free_dynamic_state
      Src: /src/libspectre/ghostscript/base/szlibd.c:36,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 41
    functionName: s_zlibD_init
    functionSourceFile: /src/libspectre/ghostscript/base/szlibd.c
    functionUses: 0
    functionsReached:
    - s_zlib_free_dynamic_state
    - s_zlib_alloc_dynamic_state
    - inflateInit2
    linkageType: ''
    returnType: int
    signature: int s_zlibD_init(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/base/szlibd.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: s_zlibD_reset
    functionSourceFile: /src/libspectre/ghostscript/base/szlibd.c
    functionUses: 0
    functionsReached:
    - inflateReset
    linkageType: ''
    returnType: int
    signature: int s_zlibD_reset(stream_state * st)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/szlibd.c:75,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/base/szlibd.c:83,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/szlibd.c:92,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/szlibd.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - ignore_last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 55
    functionDepth: 3
    functionLinenumber: 55
    functionLinenumberEnd: 104
    functionName: s_zlibD_process
    functionSourceFile: /src/libspectre/ghostscript/base/szlibd.c
    functionUses: 0
    functionsReached:
    - errprintf
    - strcmp
    - inflate
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int s_zlibD_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool ignore_last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/base/szlibd.c:113,1
    - Dst: s_zlib_free_dynamic_state
      Src: /src/libspectre/ghostscript/base/szlibd.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 115
    functionName: s_zlibD_release
    functionSourceFile: /src/libspectre/ghostscript/base/szlibd.c
    functionUses: 0
    functionsReached:
    - s_zlib_free_dynamic_state
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void s_zlibD_release(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: private_st_SHA256E_state
    functionSourceFile: /src/libspectre/ghostscript/base/ssha2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_SHA256E_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: gs_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_bitmap_common
      Src: /src/libspectre/ghostscript/base/gsbitmap.h:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: id
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 197
    functionsReached:
    - gs_bitmap_common
    linkageType: ''
    returnType: gs_bitmap_id
    signature: gs_bitmap_id id
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: gs_tile_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_tile_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: gs_depth_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_depth_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_depth_bitmap_common
      Src: /src/libspectre/ghostscript/base/gsbitmap.h:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: num_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached:
    - gs_depth_bitmap_common
    linkageType: ''
    returnType: byte
    signature: byte num_comps
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: gs_tile_depth_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_tile_depth_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_tile_depth_bitmap_common
      Src: /src/libspectre/ghostscript/base/gsbitmap.h:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: num_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached:
    - gs_tile_depth_bitmap_common
    linkageType: ''
    returnType: byte
    signature: byte num_comps
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: public_st_gs_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: public_st_gs_tile_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_tile_bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 186
    functionName: public_st_gs_depth_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_depth_bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: public_st_gs_tile_depth_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_tile_depth_bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: DEVICE_HALFTONE_RESOURCE_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gxdhtres.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEVICE_HALFTONE_RESOURCE_PROC(proc)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:96,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:123,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:129,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:131,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gendev.c:138,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gendev.c:139,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gendev.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:142,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:146,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gendev.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:153,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:155,1
    - Dst: add_entry
      Src: /src/libspectre/ghostscript/base/gendev.c:163,1
    - Dst: add_entry
      Src: /src/libspectre/ghostscript/base/gendev.c:170,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:173,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:178,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:180,1
    - Dst: add_entry
      Src: /src/libspectre/ghostscript/base/gendev.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:194,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:195,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gendev.c:197,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:198,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/gendev.c
    functionUses: 15
    functionsReached:
    - strcat
    - add_entry
    - strcpy
    - ftell
    - fprintf
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: void
    signature: void main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:215,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gendev.c:218,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gendev.c:219,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:224,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gendev.c:225,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:227,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:231,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:234,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:237,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:238,1
    - Dst: write_item
      Src: /src/libspectre/ghostscript/base/gendev.c:239,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:240,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:243,1
    - Dst: write_item
      Src: /src/libspectre/ghostscript/base/gendev.c:245,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:246,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 5
    argNames:
    - pconf
    - str
    - category
    - item
    - mode
    argTypes:
    - config*
    - char*
    - char*
    - char*
    - uniq_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 250
    functionName: write_item
    functionSourceFile: /src/libspectre/ghostscript/base/gendev.c
    functionUses: 1
    functionsReached:
    - sprintf
    - strcmp
    - strchr
    - fprintf
    - write_item
    - fwrite
    linkageType: ''
    returnType: void
    signature: "void write_item(config * pconf, const char *str, const char *category,\n
      \          const char *item, uniq_mode mode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:258,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:265,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - pconf
    - str
    - category
    - item
    - mode
    argTypes:
    - config*
    - char*
    - char*
    - char*
    - uniq_mode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 269
    functionName: write_scan_item
    functionSourceFile: /src/libspectre/ghostscript/base/gendev.c
    functionUses: 0
    functionsReached:
    - fprintf
    - sprintf
    linkageType: ''
    returnType: void
    signature: "void write_scan_item(config * pconf, const char *str, const char *category,\n
      \               const char *item, uniq_mode mode)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gendev.c:277,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:282,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:283,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:285,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:286,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:290,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:291,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gendev.c:292,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:295,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:296,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:300,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gendev.c:301,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gendev.c:305,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:307,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:314,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gendev.c:318,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:319,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:322,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:325,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:326,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:327,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:328,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:331,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:332,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:337,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:338,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:339,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:340,1
    - Dst: is_cat
      Src: /src/libspectre/ghostscript/base/gendev.c:343,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:344,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gendev.c:345,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gendev.c:352,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gendev.c:353,1
    - Dst: write_scan_item
      Src: /src/libspectre/ghostscript/base/gendev.c:356,1
    - Dst: write_item
      Src: /src/libspectre/ghostscript/base/gendev.c:358,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 70
    argCount: 4
    argNames:
    - pconf
    - category
    - item
    - scan
    argTypes:
    - config*
    - char*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 359
    functionName: add_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gendev.c
    functionUses: 2
    functionsReached:
    - sprintf
    - strcmp
    - printf
    - strlen
    - write_scan_item
    - fprintf
    - write_item
    - is_cat
    - exit
    linkageType: ''
    returnType: void
    signature: void add_entry(config * pconf, const char *category, const char *item,
      bool scan)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: is_cat
    functionSourceFile: /src/libspectre/ghostscript/base/gendev.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_cat(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:30,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 31
    functionName: gx_no_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_no_get_bits(gx_device * dev, int y, byte * data, byte ** actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_get_bits
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:38,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:38,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:51,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:53,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:54,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 60
    functionName: gx_default_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 3
    functionsReached:
    - set_dev_proc
    - dev_proc_get_bits
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_get_bits(gx_device * dev, int y, byte * data, byte **
      actual_data)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 3
    argNames:
    - dev
    - requested
    - stored
    argTypes:
    - gx_device*
    - gs_get_bits_params_t*
    - gs_get_bits_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 99
    functionName: requested_includes_stored
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: "bool requested_includes_stored(const gx_device *dev,\n                          const
      gs_get_bits_params_t *requested,\n                          const gs_get_bits_params_t
      *stored)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: requested_includes_stored
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:117,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:135,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:159,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:166,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 6
    argNames:
    - dev
    - x
    - h
    - params
    - stored
    - stored_base
    argTypes:
    - gx_device*
    - int
    - int
    - gs_get_bits_params_t*
    - gs_get_bits_params_t*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 199
    functionName: gx_get_bits_return_pointer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 1
    functionsReached:
    - igcd
    - arith_rshift
    - gx_device_raster
    - requested_includes_stored
    linkageType: ''
    returnType: int
    signature: "int gx_get_bits_return_pointer(gx_device * dev, int x, int h,\n                           gs_get_bits_params_t
      *params,\n                           const gs_get_bits_params_t *stored,\n                           byte
      **stored_base)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - dest_line
    - dest_raster
    - src_line
    - src_raster
    - src_bit
    - w
    - h
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 229
    functionName: gx_get_bits_copy_cmyk_1bit
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_get_bits_copy_cmyk_1bit(byte *dest_line, uint dest_raster,\n
      \                          const byte *src_line, uint src_raster,\n                           int
      src_bit, int w, int h)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: requested_includes_stored
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:290,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:295,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:311,1
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:327,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:333,1
    - Dst: gx_get_bits_std_to_native
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:340,1
    - Dst: gx_get_bits_native_to_std
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:346,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:373,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:378,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:386,1
    - Dst: bits_extract_plane
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:392,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:396,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 8
    argNames:
    - dev
    - x
    - w
    - h
    - params
    - stored
    - src_base
    - dev_raster
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gs_get_bits_params_t*
    - gs_get_bits_params_t*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 398
    functionName: gx_get_bits_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 1
    functionsReached:
    - bits_extract_plane
    - gx_get_bits_native_to_std
    - bytes_copy_rectangle
    - gx_get_bits_std_to_native
    - requested_includes_stored
    - return_error
    - ALIGNMENT_MOD
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_get_bits_copy(gx_device * dev, int x, int w, int h,\n                 gs_get_bits_params_t
      * params,\n                 const gs_get_bits_params_t *stored,\n                 const
      byte * src_base, uint dev_raster)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: GB_OPTIONS_DEPTH
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:420,1
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:428,1
    - Dst: sample_load_next16
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:452,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:453,1
    - Dst: v2cv
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:454,1
    - Dst: sample_load_next16
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:461,1
    - Dst: v2frac
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:462,1
    - Dst: sample_load_next16
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:465,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:466,1
    - Dst: v2cv
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:467,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:474,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:477,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:483,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:486,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:489,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:492,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:496,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:498,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:501,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:502,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:505,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:506,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:509,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 10
    argNames:
    - dev
    - x
    - w
    - h
    - params
    - stored
    - src_base
    - dev_raster
    - x_offset
    - raster
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gs_get_bits_params_t*
    - gs_get_bits_params_t*
    - byte*
    - uint
    - int
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 512
    functionName: gx_get_bits_std_to_native
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 1
    functionsReached:
    - map_gray_subclass
    - map_cmyk_subclass
    - sample_store_flush
    - GB_OPTIONS_DEPTH
    - get_color_mapping_procs_subclass
    - sample_load_next16
    - v2cv
    - map_rgb_subclass
    - sample_store_next64
    - v2frac
    - frac2cv
    - return_error
    - dev_proc
    - sample_store_next32
    linkageType: ''
    returnType: int
    signature: "int gx_get_bits_std_to_native(gx_device * dev, int x, int w, int h,\n
      \                         gs_get_bits_params_t * params,\n                          const
      gs_get_bits_params_t *stored,\n                          const byte * src_base,
      uint dev_raster,\n                          int x_offset, uint raster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    functionName: v2cv
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v2cv(value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 440
    functionName: v2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: v2frac(value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:540,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:554,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:561,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:569,1
    - Dst: gx_get_bits_copy_cmyk_1bit
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:570,1
    - Dst: sample_load_next64
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:590,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:591,1
    - Dst: sample_load_next32
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:594,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:595,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:600,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:606,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:608,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:611,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:612,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:613,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:618,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:618,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:620,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:621,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:622,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:623,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:627,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:635,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 11
    argNames:
    - dev
    - x
    - w
    - h
    - params
    - stored
    - src_base
    - dev_raster
    - x_offset
    - raster
    - std_raster
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gs_get_bits_params_t*
    - gs_get_bits_params_t*
    - byte*
    - uint
    - int
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 639
    functionName: gx_get_bits_native_to_std
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 1
    functionsReached:
    - sample_load_next32
    - sample_load_next64
    - gx_color_value_to_byte
    - max
    - memcpy
    - gx_get_bits_copy_cmyk_1bit
    - return_error
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_get_bits_native_to_std(gx_device * dev, int x, int w, int h,\n
      \                         gs_get_bits_params_t * params,\n                          const
      gs_get_bits_params_t *stored,\n                          const byte * src_base,
      uint dev_raster,\n                          int x_offset, uint raster, uint
      std_raster)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 648
    functionName: gx_no_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_get_bits_rectangle(gx_device * dev, const gs_int_rect *
      prect,\n                       gs_get_bits_params_t * params, gs_int_rect **
      unread)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:654,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:655,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:662,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:687,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:691,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:695,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:716,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:717,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:725,1
    - Dst: GB_OPTIONS_MAX_DEPTH
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:745,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:755,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:758,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:760,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:763,1
    - Dst: gx_get_bits_copy
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:790,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:796,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdgbr.c:800,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 65
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 650
    functionDepth: 3
    functionLinenumber: 650
    functionLinenumberEnd: 802
    functionName: gx_default_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdgbr.c
    functionUses: 6
    functionsReached:
    - dev_proc_get_bits_rectangle
    - dev_proc
    - gs_alloc_bytes
    - gx_device_raster
    - gx_get_bits_copy
    - GB_OPTIONS_MAX_DEPTH
    - gs_note_error
    - bitmap_raster
    - set_dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_default_get_bits_rectangle(gx_device * dev, const gs_int_rect
      * prect,\n                       gs_get_bits_params_t * params, gs_int_rect
      ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: iodev_proc_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_init(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: iodev_proc_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_finit(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: iodev_proc_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_open_device(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 86
    functionName: iodev_proc_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_open_file(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: iodev_proc_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_fopen(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: iodev_proc_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_fclose(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: iodev_proc_delete_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_delete_file(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: iodev_proc_rename_file
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_rename_file(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: iodev_proc_file_status
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_file_status(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: iodev_proc_enumerate_files
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_enumerate_files(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: iodev_proc_enumerate_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_enumerate_next(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: iodev_proc_enumerate_close
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_enumerate_close(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: iodev_proc_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_get_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: iodev_proc_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_proc_put_params(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: iodev_default
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_default(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - chr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    functionName: streq1
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq1(str, chr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 200
    functionName: private_st_io_device
    functionSourceFile: /src/libspectre/ghostscript/base/gxiodev.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_io_device()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    functionName: any_abs
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 75
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: any_abs(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: fits_in_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fits_in_bits(i, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: fits_in_ubits
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fits_in_ubits(i, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: is_fzero
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_fzero(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f1
    - ','
    - f2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: is_fzero2
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_fzero2(f1,f2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: is_fneg
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_fneg(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: is_fge1
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_fge1(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: f_fits_in_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f_fits_in_bits(f, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 67
    functionName: f_fits_in_ubits
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f_fits_in_ubits(f, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: small_exact_log2
    functionSourceFile: /src/libspectre/ghostscript/base/gxarith.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: small_exact_log2(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: public_st_gs_show_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gxchar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_show_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pname
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: ROP_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsroptab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROP_PROC(pname, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: a
    functionSourceFile: /src/libspectre/ghostscript/base/gsroptab.c
    functionUses: 422
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: a(u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: o
    functionSourceFile: /src/libspectre/ghostscript/base/gsroptab.c
    functionUses: 377
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: o(u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: x
    functionSourceFile: /src/libspectre/ghostscript/base/gsroptab.c
    functionUses: 701
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x(u,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: Bobbin_breakpoint
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Bobbin_breakpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:110,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:111,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:117,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:130,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 136
    functionName: Bobbin_fin
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Bobbin_fin(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/bobbin.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:147,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bobbin.c:148,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/bobbin.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 154
    functionName: grow_threads
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - fprintf
    - realloc
    linkageType: ''
    returnType: void
    signature: void grow_threads(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/base/bobbin.c:161,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/bobbin.c:163,1
    - Dst: grow_threads
      Src: /src/libspectre/ghostscript/base/bobbin.c:166,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/bobbin.c:168,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/bobbin.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: Bobbin_init
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - atexit
    - grow_threads
    - strcpy
    - pthread_mutex_init
    - pthread_self
    linkageType: ''
    returnType: void
    signature: void Bobbin_init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_init
      Src: /src/libspectre/ghostscript/base/bobbin.c:177,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 181
    functionName: Bobbin_lock
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_init
    - pthread_mutex_lock
    linkageType: ''
    returnType: void
    signature: void Bobbin_lock(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 188
    functionName: Bobbin_unlock
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_unlock
    linkageType: ''
    returnType: void
    signature: void Bobbin_unlock(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:199,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 203
    functionName: Bobbin_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_breakpoint
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Bobbin_mutex(void *mutex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/bobbin.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:226,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bobbin.c:227,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/bobbin.c:230,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - thread
    - mutex
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 238
    functionName: Bobbin_mutex_idx
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - fprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: int Bobbin_mutex_idx(int thread, int mutex)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:249,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - cond
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: Bobbin_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_breakpoint
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Bobbin_cond(void *cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/bobbin.c:272,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:276,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bobbin.c:277,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/bobbin.c:280,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 2
    argNames:
    - thread
    - cond
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 288
    functionName: Bobbin_cond_idx
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - fprintf
    - realloc
    linkageType: ''
    returnType: int
    signature: int Bobbin_cond_idx(int thread, int cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: BOBBIN_THREAD_EQUAL
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOBBIN_THREAD_EQUAL(A, B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: BOBBIN_THREAD_EQUAL
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOBBIN_THREAD_EQUAL(A, B)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOBBIN_THREAD_EQUAL
      Src: /src/libspectre/ghostscript/base/bobbin.c:301,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:306,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 1
    argNames:
    - thread
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 310
    functionName: Bobbin_thread
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_breakpoint
    - BOBBIN_THREAD_EQUAL
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Bobbin_thread(void *thread)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_init
      Src: /src/libspectre/ghostscript/base/bobbin.c:317,1
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:319,1
    - Dst: grow_threads
      Src: /src/libspectre/ghostscript/base/bobbin.c:324,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 312
    functionDepth: 3
    functionLinenumber: 312
    functionLinenumberEnd: 330
    functionName: Bobbin_add_thread
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_init
    - Bobbin_lock
    - Bobbin_unlock
    - grow_threads
    linkageType: ''
    returnType: int
    signature: int Bobbin_add_thread(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:336,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:343,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:344,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/bobbin.c:353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:357,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bobbin.c:358,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/bobbin.c:361,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:370,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 371
    functionName: Bobbin_add_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_unlock
    - realloc
    - fprintf
    - Bobbin_breakpoint
    - memset
    - exit
    linkageType: ''
    returnType: void
    signature: void Bobbin_add_mutex(void *mutex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:377,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:384,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:399,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:405,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:408,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 409
    functionName: Bobbin_del_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_unlock
    - Bobbin_lock
    - fprintf
    - Bobbin_breakpoint
    linkageType: ''
    returnType: void
    signature: void Bobbin_del_mutex(void *mutex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:423,1
    - Dst: Bobbin_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:424,1
    - Dst: Bobbin_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:425,1
    - Dst: Bobbin_mutex_idx
      Src: /src/libspectre/ghostscript/base/bobbin.c:426,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:429,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:430,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:433,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - thread
    - mutex
    - mld
    argTypes:
    - void*
    - void*
    - Bobbin_mutex_lock_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 420
    functionDepth: 3
    functionLinenumber: 420
    functionLinenumberEnd: 435
    functionName: Bobbin_prelock_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_thread
    - Bobbin_unlock
    - clock
    - Bobbin_mutex
    - fprintf
    - Bobbin_breakpoint
    - Bobbin_mutex_idx
    linkageType: ''
    returnType: void
    signature: void Bobbin_prelock_mutex(void *thread, void *mutex, Bobbin_mutex_lock_data
      *mld)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:439,1
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:441,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mld
    argTypes:
    - Bobbin_mutex_lock_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 3
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: Bobbin_postlock_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_unlock
    - clock
    linkageType: ''
    returnType: void
    signature: void Bobbin_postlock_mutex(Bobbin_mutex_lock_data *mld)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:452,1
    - Dst: Bobbin_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:453,1
    - Dst: Bobbin_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:454,1
    - Dst: Bobbin_mutex_idx
      Src: /src/libspectre/ghostscript/base/bobbin.c:455,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:459,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:460,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - thread
    - mutex
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 464
    functionName: Bobbin_unlock_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_thread
    - Bobbin_unlock
    - Bobbin_mutex
    - fprintf
    - Bobbin_breakpoint
    - Bobbin_mutex_idx
    linkageType: ''
    returnType: void
    signature: void Bobbin_unlock_mutex(void *thread, void *mutex)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:470,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:477,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:478,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/bobbin.c:487,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:491,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/bobbin.c:492,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/bobbin.c:495,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:504,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - cond
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 505
    functionName: Bobbin_add_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_unlock
    - realloc
    - fprintf
    - Bobbin_breakpoint
    - memset
    - exit
    linkageType: ''
    returnType: void
    signature: void Bobbin_add_cond(void *cond)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:511,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:518,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:519,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:533,1
    - Dst: Bobbin_breakpoint
      Src: /src/libspectre/ghostscript/base/bobbin.c:539,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:542,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - cond
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 543
    functionName: Bobbin_del_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_unlock
    - Bobbin_lock
    - fprintf
    - Bobbin_breakpoint
    linkageType: ''
    returnType: void
    signature: void Bobbin_del_cond(void *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:557,1
    - Dst: Bobbin_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:558,1
    - Dst: Bobbin_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:559,1
    - Dst: Bobbin_cond_idx
      Src: /src/libspectre/ghostscript/base/bobbin.c:560,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:562,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - thread
    - cond
    - cwd
    argTypes:
    - void*
    - void*
    - Bobbin_cond_wait_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 564
    functionName: Bobbin_prewait_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_thread
    - Bobbin_unlock
    - clock
    - Bobbin_cond
    - Bobbin_cond_idx
    linkageType: ''
    returnType: void
    signature: void Bobbin_prewait_cond(void *thread, void *cond, Bobbin_cond_wait_data
      *cwd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:568,1
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:570,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cwd
    argTypes:
    - Bobbin_cond_wait_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 575
    functionName: Bobbin_postwait_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_unlock
    - clock
    linkageType: ''
    returnType: void
    signature: void Bobbin_postwait_cond(Bobbin_cond_wait_data *cwd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:585,1
    - Dst: Bobbin_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:586,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/bobbin.c:588,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - thread
    - name
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 577
    functionDepth: 3
    functionLinenumber: 577
    functionLinenumberEnd: 591
    functionName: label_thread
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 1
    functionsReached:
    - Bobbin_lock
    - Bobbin_thread
    - Bobbin_unlock
    - strncpy
    linkageType: ''
    returnType: void
    signature: void label_thread(void *thread, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:601,1
    - Dst: Bobbin_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:602,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/bobbin.c:604,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mutex
    - name
    argTypes:
    - pthread_mutex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 593
    functionDepth: 3
    functionLinenumber: 593
    functionLinenumberEnd: 607
    functionName: label_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 2
    functionsReached:
    - Bobbin_mutex
    - Bobbin_lock
    - Bobbin_unlock
    - strncpy
    linkageType: ''
    returnType: void
    signature: void label_mutex(pthread_mutex_t *mutex, const char *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:617,1
    - Dst: Bobbin_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:618,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/bobbin.c:620,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - cond
    - name
    argTypes:
    - pthread_cond_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 609
    functionDepth: 3
    functionLinenumber: 609
    functionLinenumberEnd: 623
    functionName: label_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 1
    functionsReached:
    - Bobbin_cond
    - Bobbin_lock
    - Bobbin_unlock
    - strncpy
    linkageType: ''
    returnType: void
    signature: void label_cond(pthread_cond_t *cond, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_add_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:634,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:636,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:637,1
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/base/bobbin.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mutex
    - attr
    argTypes:
    - pthread_mutex_t*
    - pthread_mutexattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 632
    functionDepth: 4
    functionLinenumber: 632
    functionLinenumberEnd: 640
    functionName: Bobbin_pthread_mutex_init
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_add_mutex
    - pthread_mutex_init
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_del_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:644,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:646,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:647,1
    - Dst: pthread_mutex_destroy
      Src: /src/libspectre/ghostscript/base/bobbin.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 642
    functionDepth: 4
    functionLinenumber: 642
    functionLinenumberEnd: 650
    functionName: Bobbin_pthread_mutex_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_del_mutex
    - fprintf
    - pthread_mutex_destroy
    - fflush
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_mutex_destroy(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:658,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:659,1
    - Dst: Bobbin_prelock_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:662,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/bobbin.c:662,1
    - Dst: pthread_mutex_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:663,1
    - Dst: Bobbin_postlock_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 652
    functionDepth: 4
    functionLinenumber: 652
    functionLinenumberEnd: 666
    functionName: Bobbin_pthread_mutex_lock
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - fprintf
    - Bobbin_prelock_mutex
    - fflush
    - Bobbin_postlock_mutex
    - pthread_self
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_mutex_lock(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:671,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:672,1
    - Dst: Bobbin_unlock_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:675,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/bobbin.c:675,1
    - Dst: pthread_mutex_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mutex
    argTypes:
    - pthread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 668
    functionDepth: 4
    functionLinenumber: 668
    functionLinenumberEnd: 677
    functionName: Bobbin_pthread_mutex_unlock
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_unlock_mutex
    - fprintf
    - fflush
    - pthread_self
    - pthread_mutex_unlock
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_mutex_unlock(pthread_mutex_t *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_add_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:681,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:683,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:684,1
    - Dst: pthread_cond_init
      Src: /src/libspectre/ghostscript/base/bobbin.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cond
    - attr
    argTypes:
    - pthread_cond_t*
    - pthread_condattr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 679
    functionDepth: 4
    functionLinenumber: 679
    functionLinenumberEnd: 687
    functionName: Bobbin_pthread_cond_init
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - fprintf
    - pthread_cond_init
    - Bobbin_add_cond
    - fflush
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_cond_init(pthread_cond_t *cond, const pthread_condattr_t
      *attr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_del_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:691,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:693,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:694,1
    - Dst: pthread_cond_destroy
      Src: /src/libspectre/ghostscript/base/bobbin.c:696,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cond
    argTypes:
    - pthread_cond_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 689
    functionDepth: 4
    functionLinenumber: 689
    functionLinenumberEnd: 697
    functionName: Bobbin_pthread_cond_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - pthread_cond_destroy
    - fprintf
    - Bobbin_del_cond
    - fflush
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_cond_destroy(pthread_cond_t *cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:705,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:706,1
    - Dst: Bobbin_prewait_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:709,1
    - Dst: pthread_self
      Src: /src/libspectre/ghostscript/base/bobbin.c:709,1
    - Dst: pthread_cond_wait
      Src: /src/libspectre/ghostscript/base/bobbin.c:710,1
    - Dst: Bobbin_postwait_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - cond
    - mutex
    argTypes:
    - pthread_cond_t*
    - pthread_mutex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 699
    functionDepth: 4
    functionLinenumber: 699
    functionLinenumberEnd: 713
    functionName: Bobbin_pthread_cond_wait
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_postwait_cond
    - fprintf
    - Bobbin_prewait_cond
    - fflush
    - pthread_cond_wait
    - pthread_self
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t
      *mutex)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Bobbin_add_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:718,1
    - Dst: pthread_create
      Src: /src/libspectre/ghostscript/base/bobbin.c:721,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:726,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - thread
    - attr
    - (*fn)(void *)
    - arg
    argTypes:
    - pthread_t*
    - pthread_attr_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 715
    functionDepth: 4
    functionLinenumber: 715
    functionLinenumberEnd: 731
    functionName: Bobbin_pthread_create
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - pthread_create
    - fprintf
    - fflush
    - Bobbin_add_thread
    linkageType: ''
    returnType: int
    signature: "int Bobbin_pthread_create(pthread_t *thread, const pthread_attr_t
      *attr,\n                          void *(*fn)(void *), void *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:740,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:741,1
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:744,1
    - Dst: Bobbin_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:745,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:747,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:749,1
    - Dst: pthread_join
      Src: /src/libspectre/ghostscript/base/bobbin.c:750,1
    - Dst: clock
      Src: /src/libspectre/ghostscript/base/bobbin.c:751,1
    - Dst: Bobbin_lock
      Src: /src/libspectre/ghostscript/base/bobbin.c:753,1
    - Dst: Bobbin_unlock
      Src: /src/libspectre/ghostscript/base/bobbin.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - thread
    - arg
    argTypes:
    - pthread_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 759
    functionName: Bobbin_pthread_join
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 0
    functionsReached:
    - Bobbin_lock
    - Bobbin_thread
    - Bobbin_unlock
    - clock
    - pthread_join
    - fprintf
    - fflush
    linkageType: ''
    returnType: int
    signature: int Bobbin_pthread_join(pthread_t thread, void **arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:764,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:765,1
    - Dst: label_thread
      Src: /src/libspectre/ghostscript/base/bobbin.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - thread
    - name
    argTypes:
    - pthread_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 768
    functionName: Bobbin_label_thread
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 1
    functionsReached:
    - label_thread
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void Bobbin_label_thread(pthread_t thread, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:773,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:774,1
    - Dst: label_mutex
      Src: /src/libspectre/ghostscript/base/bobbin.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mutex
    - name
    argTypes:
    - pthread_mutex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 770
    functionDepth: 4
    functionLinenumber: 770
    functionLinenumberEnd: 777
    functionName: Bobbin_label_mutex
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 2
    functionsReached:
    - label_mutex
    - fprintf
    - fflush
    linkageType: ''
    returnType: void
    signature: void Bobbin_label_mutex(pthread_mutex_t *mutex, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/bobbin.c:782,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/bobbin.c:783,1
    - Dst: label_cond
      Src: /src/libspectre/ghostscript/base/bobbin.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cond
    - name
    argTypes:
    - pthread_cond_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 786
    functionName: Bobbin_label_cond
    functionSourceFile: /src/libspectre/ghostscript/base/bobbin.c
    functionUses: 1
    functionsReached:
    - fprintf
    - label_cond
    - fflush
    linkageType: ''
    returnType: void
    signature: void Bobbin_label_cond(pthread_cond_t *cond, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: public_st_cid_system_info
    functionSourceFile: /src/libspectre/ghostscript/base/gxcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cid_system_info()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: public_st_cid_system_info_element
    functionSourceFile: /src/libspectre/ghostscript/base/gxcid.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_cid_system_info_element()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: UB
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UB(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: B2I
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B2I(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: B2P
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: B2P(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/memento.c:110,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/memento.c:111,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/memento.c:112,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/memento.c:130,1
    - Dst: __android_log_print
      Src: /src/libspectre/ghostscript/base/memento.c:135,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/base/memento.c:136,1
    - Dst: __android_log_print
      Src: /src/libspectre/ghostscript/base/memento.c:143,1
    - Dst: usleep
      Src: /src/libspectre/ghostscript/base/memento.c:144,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 152
    functionName: android_fprintf
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - usleep
    - va_start
    - va_end
    - memcpy
    - __android_log_print
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int android_fprintf(FILE *file, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/memento.c:169,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/base/memento.c:170,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/memento.c:171,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/memento.c:173,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/memento.c:174,1
    - Dst: OutputDebugStringA
      Src: /src/libspectre/ghostscript/base/memento.c:175,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/memento.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - file
    - fmt
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 179
    functionName: windows_fprintf
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - vfprintf
    - vsnprintf
    - OutputDebugStringA
    linkageType: ''
    returnType: int
    signature: int windows_fprintf(FILE *file, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: VALGRIND_MAKE_MEM_NOACCESS
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_NOACCESS(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: VALGRIND_MAKE_MEM_UNDEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_UNDEFINED(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: VALGRIND_MAKE_MEM_DEFINED
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALGRIND_MAKE_MEM_DEFINED(p,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 372
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 373
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: InitializeCriticalSection
      Src: /src/libspectre/ghostscript/base/memento.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 382
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - InitializeCriticalSection
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 386
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 388
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_mutex_init
      Src: /src/libspectre/ghostscript/base/memento.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - m
    argTypes:
    - Memento_mutex*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: Memento_initMutex
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - pthread_mutex_init
    linkageType: ''
    returnType: void
    signature: void Memento_initMutex(Memento_mutex *m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    functionName: MEMENTO_DO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: MEMENTO_DO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_DO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - S
    - ','
    - N
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 449
    functionDepth: 0
    functionLinenumber: 449
    functionLinenumberEnd: 450
    functionName: MEMENTO_ROUNDUP
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_ROUNDUP(S,N)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 451
    functionDepth: 0
    functionLinenumber: 451
    functionLinenumberEnd: 452
    functionName: MEMBLK_SIZE
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_SIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: MEMBLK_FROMBLK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_FROMBLK(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    functionName: MEMBLK_TOBLK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_TOBLK(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 457
    functionName: MEMBLK_POSTPTR
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMBLK_POSTPTR(B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - data
    - msg
    - errnum
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 512
    functionName: error2_cb
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void error2_cb(void *data, const char *msg, int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:517,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - data
    - pc
    - symname
    - symval
    - symsize
    argTypes:
    - void*
    - uintptr_t
    - char*
    - uintptr_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 520
    functionName: syminfo_cb
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void syminfo_cb(void *data, uintptr_t pc, const char *symname, uintptr_t
      symval, uintptr_t symsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_syminfo
      Src: /src/libspectre/ghostscript/base/memento.c:524,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - data
    - msg
    - errnum
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 529
    functionName: error_cb
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_syminfo
    linkageType: ''
    returnType: void
    signature: void error_cb(void *data, const char *msg, int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - data
    - pc
    - fname
    - line
    - fn
    argTypes:
    - void*
    - uintptr_t
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 531
    functionDepth: 0
    functionLinenumber: 531
    functionLinenumberEnd: 538
    functionName: full_cb
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int full_cb(void *data, uintptr_t pc, const char *fname, int line,
      const char *fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_pcinfo
      Src: /src/libspectre/ghostscript/base/memento.c:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 548
    functionName: print_stack_libbt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_pcinfo
    linkageType: ''
    returnType: void
    signature: void print_stack_libbt(void *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/memento.c:562,1
    - Dst: getpid
      Src: /src/libspectre/ghostscript/base/memento.c:565,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/memento.c:566,1
    - Dst: system
      Src: /src/libspectre/ghostscript/base/memento.c:567,1
    - Dst: backtrace_symbols
      Src: /src/libspectre/ghostscript/base/memento.c:575,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:580,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:582,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 589
    functionName: print_stack_libbt_failed
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - getpid
    - printf
    - fprintf
    - snprintf
    - system
    linkageType: ''
    returnType: void
    signature: void print_stack_libbt_failed(void *addr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/memento.c:599,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/memento.c:601,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/memento.c:603,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/memento.c:605,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/memento.c:607,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/base/memento.c:611,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/base/memento.c:612,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/base/memento.c:613,1
    - Dst: backtrace_create_state
      Src: /src/libspectre/ghostscript/base/memento.c:622,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:634,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 642
    functionName: init_libbt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - fprintf
    - backtrace_create_state
    - dlsym
    - dlopen
    linkageType: ''
    returnType: int
    signature: int init_libbt(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: backtrace_symbols
      Src: /src/libspectre/ghostscript/base/memento.c:647,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:651,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/memento.c:654,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/memento.c:657,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/memento.c:661,1
    - Dst: init_libbt
      Src: /src/libspectre/ghostscript/base/memento.c:663,1
    - Dst: print_stack_value
      Src: /src/libspectre/ghostscript/base/memento.c:664,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:670,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 645
    functionDepth: 0
    functionLinenumber: 645
    functionLinenumberEnd: 671
    functionName: print_stack_default
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - backtrace_symbols
    - strchr
    - fprintf
    - memcpy
    - init_libbt
    - print_stack_value
    linkageType: ''
    returnType: void
    signature: void print_stack_default(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: backtrace
      Src: /src/libspectre/ghostscript/base/memento.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - backtrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: print_stack_value
      Src: /src/libspectre/ghostscript/base/memento.c:698,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 700
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 700
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - print_stack_value
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/base/memento.c:760,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/base/memento.c:764,1
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/base/memento.c:767,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/base/memento.c:773,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/base/memento.c:784,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/base/memento.c:789,1
    - Dst: GetCurrentProcess
      Src: /src/libspectre/ghostscript/base/memento.c:794,1
    - Dst: Memento_SymInitialize
      Src: /src/libspectre/ghostscript/base/memento.c:795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 758
    functionDepth: 0
    functionLinenumber: 758
    functionLinenumberEnd: 796
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - GetCurrentProcess
    - GetProcAddress
    - Memento_SymInitialize
    - LoadLibrary
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_CaptureStackBackTrace
      Src: /src/libspectre/ghostscript/base/memento.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 798
    functionDepth: 0
    functionLinenumber: 798
    functionLinenumberEnd: 806
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - Memento_CaptureStackBackTrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_SymFromAddr
      Src: /src/libspectre/ghostscript/base/memento.c:822,1
    - Dst: Memento_SymGetLineFromAddr
      Src: /src/libspectre/ghostscript/base/memento.c:823,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 826
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 826
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - fprintf
    - Memento_SymFromAddr
    - Memento_SymGetLineFromAddr
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 840
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _Unwind_GetIP
      Src: /src/libspectre/ghostscript/base/memento.c:859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - context
    - arg
    argTypes:
    - struct _Unwind_Context*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 850
    functionDepth: 0
    functionLinenumber: 850
    functionLinenumberEnd: 863
    functionName: unwind_populate_callback
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - _Unwind_GetIP
    linkageType: ''
    returnType: _Unwind_Reason_Code
    signature: "_Unwind_Reason_Code unwind_populate_callback(struct _Unwind_Context
      *context,\n                                                    void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _Unwind_Backtrace
      Src: /src/libspectre/ghostscript/base/memento.c:874,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 880
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - _Unwind_Backtrace
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dladdr
      Src: /src/libspectre/ghostscript/base/memento.c:889,1
    - Dst: __cxa_demangle
      Src: /src/libspectre/ghostscript/base/memento.c:893,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:895,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/memento.c:896,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:900,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 882
    functionDepth: 0
    functionLinenumber: 882
    functionLinenumberEnd: 903
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - free
    - fprintf
    - __cxa_demangle
    - dladdr
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 908
    functionName: Memento_initStacktracer
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_initStacktracer(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stack
    - skip
    argTypes:
    - void**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 914
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 914
    functionName: Memento_getStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_getStacktrace(void **stack, int *skip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - stack
    - numberOfFrames
    argTypes:
    - void**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 918
    functionName: Memento_showStacktrace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_showStacktrace(void **stack, int numberOfFrames)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:933,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:939,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/memento.c:944,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:950,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:953,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - head
    - type
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 954
    functionName: Memento_storeDetails
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached:
    - Memento_getStacktrace
    - VALGRIND_MAKE_MEM_NOACCESS
    - memcpy
    - MEMENTO_UNDERLYING_MALLOC
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: void Memento_storeDetails(Memento_BlkHeader *head, int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:964,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 967
    functionName: (Memento_bt)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_showStacktrace
    - Memento_getStacktrace
    linkageType: ''
    returnType: void
    signature: void (Memento_bt)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_getStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:976,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - skip2
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 969
    functionDepth: 0
    functionLinenumber: 969
    functionLinenumberEnd: 979
    functionName: Memento_bt_internal
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_showStacktrace
    - Memento_getStacktrace
    linkageType: ''
    returnType: void
    signature: void Memento_bt_internal(int skip2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 993
    functionName: Memento_breakpoint
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_breakpoint(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 997
    functionDepth: 0
    functionLinenumber: 997
    functionLinenumberEnd: 999
    functionName: MEMENTO_LOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_LOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1002
    functionName: MEMENTO_UNLOCK
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMENTO_UNLOCK()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1005
    functionDepth: 0
    functionLinenumber: 1005
    functionLinenumberEnd: 1007
    functionName: Memento_breakpointLocked
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Memento_breakpointLocked()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1018,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1020,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:1024,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:1025,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1025,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1027,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1027,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1029,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1029,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1031,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1031,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - blks
    - b
    - type
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1008
    functionDepth: 0
    functionLinenumber: 1008
    functionLinenumberEnd: 1034
    functionName: Memento_addBlockHead
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: "void Memento_addBlockHead(Memento_Blocks    *blks,\n                                 Memento_BlkHeader
      *b,\n                                 int                type)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1040,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1046,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1048,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:1052,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:1053,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1053,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1055,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1055,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1057,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1057,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1059,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1059,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1061,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1062,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - blks
    - b
    - type
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1036
    functionDepth: 0
    functionLinenumber: 1036
    functionLinenumberEnd: 1063
    functionName: Memento_addBlockTail
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: void
    signature: "void Memento_addBlockTail(Memento_Blocks    *blks,\n                                 Memento_BlkHeader
      *b,\n                                 int                type)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1092,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 56
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1133
    functionName: Memento_Internal_checkAllocedBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - MEMBLK_POSTPTR
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllocedBlock(Memento_BlkHeader *b, void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1141,1
    - Dst: Memento_Internal_checkAllocedBlock
      Src: /src/libspectre/ghostscript/base/memento.c:1174,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1135
    functionDepth: 0
    functionLinenumber: 1135
    functionLinenumberEnd: 1175
    functionName: Memento_Internal_checkFreedBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - MEMBLK_TOBLK
    - Memento_Internal_checkAllocedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkFreedBlock(Memento_BlkHeader *b, void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1181,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1183,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1185,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1188,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1190,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - blks
    - b
    argTypes:
    - Memento_Blocks*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1178
    functionDepth: 0
    functionLinenumber: 1178
    functionLinenumberEnd: 1196
    functionName: Memento_removeBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: "void Memento_removeBlock(Memento_Blocks    *blks,\n                                Memento_BlkHeader
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/base/memento.c:1206,1
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/base/memento.c:1210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - head
    argTypes:
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1211
    functionName: free_block
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - MEMENTO_UNDERLYING_FREE
    linkageType: ''
    returnType: void
    signature: void free_block(Memento_BlkHeader *head)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1223,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/base/memento.c:1225,1
    - Dst: free_block
      Src: /src/libspectre/ghostscript/base/memento.c:1226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - space
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1233
    functionName: Memento_Internal_makeSpace
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - free_block
    - MEMBLK_SIZE
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_makeSpace(size_t space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1244,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1245,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1245,1
    - Dst: app
      Src: /src/libspectre/ghostscript/base/memento.c:1247,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1249,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1249,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - blks
    - arg
    argTypes:
    - Memento_Blocks*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1256
    functionName: Memento_appBlocks
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 9
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - MEMBLK_POSTPTR
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlocks(Memento_Blocks *blks,\n                             int
      \            (*app)(Memento_BlkHeader *,\n                                                    void
      *),\n                             void           *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1270,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1272,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1272,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1276,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1277,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1277,1
    - Dst: app
      Src: /src/libspectre/ghostscript/base/memento.c:1279,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1280,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1280,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - blks
    - arg
    - b
    argTypes:
    - Memento_Blocks*
    - void*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1260
    functionDepth: 0
    functionLinenumber: 1260
    functionLinenumberEnd: 1285
    functionName: Memento_appBlockUser
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_POSTPTR
    - MEMBLK_TOBLK
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlockUser(Memento_Blocks    *blks,\n                                int
      \               (*app)(Memento_BlkHeader *,\n                                                          void
      *),\n                                void              *arg,\n                                Memento_BlkHeader
      *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1294,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1295,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1295,1
    - Dst: app
      Src: /src/libspectre/ghostscript/base/memento.c:1297,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1298,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:1298,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - blks
    - arg
    - b
    argTypes:
    - Memento_Blocks*
    - void*
    - Memento_BlkHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1287
    functionDepth: 0
    functionLinenumber: 1287
    functionLinenumberEnd: 1301
    functionName: Memento_appBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - MEMBLK_POSTPTR
    - VALGRIND_MAKE_MEM_DEFINED
    - app
    linkageType: ''
    returnType: int
    signature: "int Memento_appBlock(Memento_Blocks    *blks,\n                            int
      \               (*app)(Memento_BlkHeader *,\n                                                      void
      *),\n                            void              *arg,\n                            Memento_BlkHeader
      *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1307,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1308,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1309,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1311,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1313,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - b
    - space
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1304
    functionDepth: 0
    functionLinenumber: 1304
    functionLinenumberEnd: 1317
    functionName: showBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 8
    functionsReached:
    - MEMBLK_TOBLK
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: int
    signature: int showBlock(Memento_BlkHeader *b, int space)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1324,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1333,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:1335,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1336,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - b
    - n
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1319
    functionDepth: 0
    functionLinenumber: 1319
    functionLinenumberEnd: 1337
    functionName: blockDisplay
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - showBlock
    - fprintf
    linkageType: ''
    returnType: void
    signature: void blockDisplay(Memento_BlkHeader *b, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: blockDisplay
      Src: /src/libspectre/ghostscript/base/memento.c:1343,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1345,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1349
    functionName: Memento_listBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - blockDisplay
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: int
    signature: "int Memento_listBlock(Memento_BlkHeader *b,\n                             void
      \             *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: blockDisplay
      Src: /src/libspectre/ghostscript/base/memento.c:1357,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1358,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1366,1
    - Dst: doNestedDisplay
      Src: /src/libspectre/ghostscript/base/memento.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - b
    - depth
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1370
      start: 1351
    functionDepth: 0
    functionLinenumber: 1351
    functionLinenumberEnd: 1370
    functionName: doNestedDisplay
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - blockDisplay
    - doNestedDisplay
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: "void doNestedDisplay(Memento_BlkHeader *b,\n                            int
      depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a_
    - b_
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1372
    functionDepth: 0
    functionLinenumber: 1372
    functionLinenumberEnd: 1377
    functionName: ptrcmp
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ptrcmp(const void *a_, const void *b_)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1392,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:1398,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1404,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1407,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/memento.c:1419,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1423,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1425,1
    - Dst: bsearch
      Src: /src/libspectre/ghostscript/base/memento.c:1435,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1438,1
    - Dst: doNestedDisplay
      Src: /src/libspectre/ghostscript/base/memento.c:1471,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1473,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1474,1
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/base/memento.c:1476,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:1487,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1379
    functionDepth: 0
    functionLinenumber: 1379
    functionLinenumberEnd: 1492
    functionName: Memento_listBlocksNested
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - qsort
    - MEMENTO_UNDERLYING_FREE
    - MEMBLK_FROMBLK
    - bsearch
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - fprintf
    - MEMENTO_UNDERLYING_MALLOC
    - VALGRIND_MAKE_MEM_DEFINED
    - doNestedDisplay
    linkageType: ''
    returnType: int
    signature: int Memento_listBlocksNested(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1496,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1497,1
    - Dst: Memento_listBlocksNested
      Src: /src/libspectre/ghostscript/base/memento.c:1498,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1503,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1504,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1505,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1494
    functionDepth: 0
    functionLinenumber: 1494
    functionLinenumberEnd: 1508
    functionName: Memento_listBlocks
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - fprintf
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    - Memento_listBlocksNested
    linkageType: ''
    returnType: void
    signature: void Memento_listBlocks(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_listBlock
      Src: /src/libspectre/ghostscript/base/memento.c:1516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1517
      start: 1510
    functionDepth: 0
    functionLinenumber: 1510
    functionLinenumberEnd: 1517
    functionName: Memento_listNewBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_listBlock
    linkageType: ''
    returnType: int
    signature: "int Memento_listNewBlock(Memento_BlkHeader *b,\n                                void
      \             *arg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1522,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1525,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1526,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1527,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1528,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1519
    functionDepth: 0
    functionLinenumber: 1519
    functionLinenumberEnd: 1530
    functionName: Memento_listNewBlocks
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_listNewBlocks(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1535,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1536,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1540
      start: 1532
    functionDepth: 0
    functionLinenumber: 1532
    functionLinenumberEnd: 1540
    functionName: Memento_endStats
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void Memento_endStats(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1544,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1545,1
    - Dst: Memento_endStats
      Src: /src/libspectre/ghostscript/base/memento.c:1546,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1542
    functionDepth: 0
    functionLinenumber: 1542
    functionLinenumberEnd: 1548
    functionName: Memento_stats
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_endStats
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_stats(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1555,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1556,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1558,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1559,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1564,1
    - Dst: Memento_showStacktrace
      Src: /src/libspectre/ghostscript/base/memento.c:1565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1551
    functionDepth: 0
    functionLinenumber: 1551
    functionLinenumberEnd: 1569
    functionName: showInfo
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - MEMBLK_TOBLK
    - Memento_showStacktrace
    - fprintf
    linkageType: ''
    returnType: int
    signature: int showInfo(Memento_BlkHeader *b, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1575,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1576,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1577,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1572
    functionDepth: 0
    functionLinenumber: 1572
    functionLinenumberEnd: 1580
    functionName: Memento_listBlockInfo
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - MEMENTO_UNLOCK
    - fprintf
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_listBlockInfo(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1589,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:1592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1598
      start: 1582
    functionDepth: 0
    functionLinenumber: 1582
    functionLinenumberEnd: 1598
    functionName: Memento_nonLeakBlocksLeaked
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - VALGRIND_MAKE_MEM_DEFINED
    linkageType: ''
    returnType: int
    signature: int Memento_nonLeakBlocksLeaked(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkAllMemory
      Src: /src/libspectre/ghostscript/base/memento.c:1602,1
    - Dst: Memento_endStats
      Src: /src/libspectre/ghostscript/base/memento.c:1605,1
    - Dst: Memento_nonLeakBlocksLeaked
      Src: /src/libspectre/ghostscript/base/memento.c:1606,1
    - Dst: Memento_listBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1607,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1609,1
    - Dst: Memento_listBlockInfo
      Src: /src/libspectre/ghostscript/base/memento.c:1610,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:1612,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1617,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1619,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1621,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1625,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1626,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1630,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1631,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1633
    functionName: Memento_fin
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - Memento_listBlockInfo
    - Memento_endStats
    - Memento_nonLeakBlocksLeaked
    - Memento_checkAllMemory
    - fprintf
    - Memento_breakpoint
    - Memento_listBlocks
    linkageType: ''
    returnType: void
    signature: void Memento_fin(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libspectre/ghostscript/base/memento.c:1658,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1660,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - text
    - out
    - relative
    - end
    argTypes:
    - char*
    - int*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1649
    functionDepth: 0
    functionLinenumber: 1649
    functionLinenumberEnd: 1666
    functionName: read_number
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - strtol
    - fprintf
    linkageType: ''
    returnType: int
    signature: int read_number(const char *text, int *out, int *relative, char **end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_number
      Src: /src/libspectre/ghostscript/base/memento.c:1687,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1692,1
    - Dst: read_number
      Src: /src/libspectre/ghostscript/base/memento.c:1699,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1706,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - text
    - out
    - end
    argTypes:
    - char*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1683
    functionDepth: 1
    functionLinenumber: 1683
    functionLinenumberEnd: 1708
    functionName: read_number_delta
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_number
    linkageType: ''
    returnType: int
    signature: int read_number_delta(const char *text, int *out, char **end)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: read_number_delta
      Src: /src/libspectre/ghostscript/base/memento.c:1736,1
    - Dst: read_number
      Src: /src/libspectre/ghostscript/base/memento.c:1742,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1754,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1758,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 4
    argNames:
    - text
    - begin
    - end
    - string_end
    argTypes:
    - char*
    - int*
    - int*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1760
    functionName: read_number_range
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - fprintf
    - read_number_delta
    - read_number
    linkageType: ''
    returnType: int
    signature: int read_number_range(const char *text, int *begin, int *end, char
      **string_end)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_number_range
      Src: /src/libspectre/ghostscript/base/memento.c:1780,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1785,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1789,1
    - Dst: MEMENTO_UNDERLYING_REALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:1792,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1797,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - text
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1811
      start: 1770
    functionDepth: 3
    functionLinenumber: 1770
    functionLinenumberEnd: 1811
    functionName: Memento_add_squeezes
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - read_number_range
    - MEMENTO_UNDERLYING_REALLOC
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Memento_add_squeezes(const char *text)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:1816,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1828,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1829,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1831,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1832,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1834,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1835,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1839,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1840,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1842,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1843,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1845,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1848,1
    - Dst: Memento_add_squeezes
      Src: /src/libspectre/ghostscript/base/memento.c:1849,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1851,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/memento.c:1852,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1856,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1857,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:1859,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/memento.c:1860,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/memento.c:1862,1
    - Dst: Memento_initMutex
      Src: /src/libspectre/ghostscript/base/memento.c:1864,1
    - Dst: Memento_initStacktracer
      Src: /src/libspectre/ghostscript/base/memento.c:1866,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:1868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1813
    functionDepth: 4
    functionLinenumber: 1813
    functionLinenumberEnd: 1869
    functionName: Memento_init
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 16
    functionsReached:
    - Memento_add_squeezes
    - atexit
    - Memento_initMutex
    - Memento_initStacktracer
    - fprintf
    - memset
    - Memento_breakpoint
    - getenv
    - atoi
    - exit
    linkageType: ''
    returnType: void
    signature: void Memento_init(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1881,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1882,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:1889,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - b
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1877
    functionDepth: 0
    functionLinenumber: 1877
    functionLinenumberEnd: 1901
    functionName: Memento_containsAddr
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_TOBLK
    linkageType: ''
    returnType: int
    signature: "int Memento_containsAddr(Memento_BlkHeader *b,\n                                void
      *arg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1908,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1912,1
    - Dst: showInfo
      Src: /src/libspectre/ghostscript/base/memento.c:1914,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:1917,1
    - Dst: showInfo
      Src: /src/libspectre/ghostscript/base/memento.c:1919,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:1920,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/memento.c:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1924
      start: 1903
    functionDepth: 0
    functionLinenumber: 1903
    functionLinenumberEnd: 1924
    functionName: Memento_info
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached:
    - printf
    - showInfo
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_info(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1948,1
    - Dst: Memento_bt_internal
      Src: /src/libspectre/ghostscript/base/memento.c:1950,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/memento.c:1952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1945
    functionDepth: 0
    functionLinenumber: 1945
    functionLinenumberEnd: 1953
    functionName: Memento_signal
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - Memento_bt_internal
    linkageType: ''
    returnType: void
    signature: void Memento_signal(int sig)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1969,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1971,1
    - Dst: dup
      Src: /src/libspectre/ghostscript/base/memento.c:1978,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:1983,1
    - Dst: Memento_bt_internal
      Src: /src/libspectre/ghostscript/base/memento.c:1984,1
    - Dst: fork
      Src: /src/libspectre/ghostscript/base/memento.c:1985,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/base/memento.c:1988,1
    - Dst: waitpid
      Src: /src/libspectre/ghostscript/base/memento.c:2012,1
    - Dst: nanosleep
      Src: /src/libspectre/ghostscript/base/memento.c:2013,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2020,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2021,1
    - Dst: system
      Src: /src/libspectre/ghostscript/base/memento.c:2022,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2029,1
    - Dst: dup2
      Src: /src/libspectre/ghostscript/base/memento.c:2035,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/memento.c:2036,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 1955
    functionDepth: 1
    functionLinenumber: 1955
    functionLinenumberEnd: 2042
    functionName: squeeze
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - dup
    - signal
    - waitpid
    - sprintf
    - fork
    - close
    - dup2
    - fprintf
    - nanosleep
    - system
    - Memento_bt_internal
    linkageType: ''
    returnType: int
    signature: int squeeze(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/memento.c:2054,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/memento.c:2055,1
    - Dst: Memento_fin
      Src: /src/libspectre/ghostscript/base/memento.c:2057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2046
    functionDepth: 0
    functionLinenumber: 2046
    functionLinenumberEnd: 2058
    functionName: Memento_signal
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - getenv
    - Memento_fin
    - exit
    linkageType: ''
    returnType: void
    signature: void Memento_signal(int sig)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2064
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2064
    functionName: squeeze
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int squeeze(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2070,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/memento.c:2071,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/memento.c:2072,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/base/memento.c:2078,1
    - Dst: signal
      Src: /src/libspectre/ghostscript/base/memento.c:2079,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2080,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2067
    functionDepth: 0
    functionLinenumber: 2067
    functionLinenumberEnd: 2082
    functionName: Memento_startFailing
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_breakpointLocked
    - signal
    - fprintf
    - fflush
    - Memento_bt
    linkageType: ''
    returnType: void
    signature: void Memento_startFailing(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkAllMemoryLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2092,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2108
      start: 2084
    functionDepth: 0
    functionLinenumber: 2084
    functionLinenumberEnd: 2108
    functionName: Memento_event
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 12
    functionsReached:
    - fprintf
    - Memento_checkAllMemoryLocked
    linkageType: ''
    returnType: int
    signature: int Memento_event(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 2110
    functionDepth: 0
    functionLinenumber: 2110
    functionLinenumberEnd: 2113
    functionName: Memento_sequence
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_sequence(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2117,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - event
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2121
      start: 2115
    functionDepth: 0
    functionLinenumber: 2115
    functionLinenumberEnd: 2121
    functionName: Memento_breakAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_breakAt(int event)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2131,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2136,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2137,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:2140,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:2141,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:2149,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2123
    functionDepth: 0
    functionLinenumber: 2123
    functionLinenumberEnd: 2155
    functionName: safe_find_block
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached:
    - MEMBLK_FROMBLK
    - Memento_appBlocks
    - VALGRIND_MAKE_MEM_DEFINED
    - VALGRIND_MAKE_MEM_NOACCESS
    linkageType: ''
    returnType: void
    signature: void *safe_find_block(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2163,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/base/memento.c:2164,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2167,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:2169,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2171,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - ptr
    - label
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2173
      start: 2157
    functionDepth: 0
    functionLinenumber: 2157
    functionLinenumberEnd: 2173
    functionName: Memento_label
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - VALGRIND_MAKE_MEM_NOACCESS
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - safe_find_block
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_label(void *ptr, const char *label)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2177,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2178,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2178,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2175
    functionDepth: 0
    functionLinenumber: 2175
    functionLinenumberEnd: 2180
    functionName: Memento_tick
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_event
    - MEMENTO_LOCK
    - Memento_breakpointLocked
    linkageType: ''
    returnType: void
    signature: void Memento_tick(void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2186,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2186,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2208,1
    - Dst: squeeze
      Src: /src/libspectre/ghostscript/base/memento.c:2217,1
    - Dst: Memento_startFailing
      Src: /src/libspectre/ghostscript/base/memento.c:2223,1
    - Dst: squeeze
      Src: /src/libspectre/ghostscript/base/memento.c:2228,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2249
      start: 2182
    functionDepth: 0
    functionLinenumber: 2182
    functionLinenumberEnd: 2249
    functionName: Memento_failThisEventLocked
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - Memento_breakpointLocked
    - Memento_startFailing
    - fprintf
    - Memento_event
    - squeeze
    linkageType: ''
    returnType: int
    signature: int Memento_failThisEventLocked(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2256,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2258,1
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2259,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2251
    functionDepth: 0
    functionLinenumber: 2251
    functionLinenumberEnd: 2262
    functionName: Memento_failThisEvent
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 11
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_failThisEventLocked
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: int
    signature: int Memento_failThisEvent(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/base/memento.c:2267,1
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2269,1
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:2280,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2289,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2289,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/base/memento.c:2301,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/base/memento.c:2303,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2308,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - s
    - eventType
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2309
      start: 2264
    functionDepth: 0
    functionLinenumber: 2264
    functionLinenumberEnd: 2309
    functionName: do_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 5
    functionsReached:
    - Memento_failThisEventLocked
    - Memento_addBlockHead
    - MEMBLK_TOBLK
    - memset
    - MEMENTO_UNDERLYING_MALLOC
    - Memento_storeDetails
    - MEMBLK_SIZE
    linkageType: ''
    returnType: void
    signature: void *do_malloc(size_t s, int eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2316,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2318,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/base/memento.c:2319,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - s
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2322
      start: 2311
    functionDepth: 0
    functionLinenumber: 2311
    functionLinenumberEnd: 2322
    functionName: Memento_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *Memento_malloc(size_t s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2329,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2331,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/base/memento.c:2332,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2334,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2337
      start: 2324
    functionDepth: 0
    functionLinenumber: 2324
    functionLinenumberEnd: 2337
    functionName: Memento_calloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_malloc
    - memset
    - Memento_init
    - MEMENTO_UNLOCK
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_calloc(size_t n, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/base/memento.c:2342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - blk
    - event
    argTypes:
    - Memento_BlkHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2339
    functionDepth: 0
    functionLinenumber: 2339
    functionLinenumberEnd: 2344
    functionName: do_reference
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - Memento_storeDetails
    linkageType: ''
    returnType: void
    signature: void do_reference(Memento_BlkHeader *blk, int event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2351,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2353,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2355,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2357,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2361,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/memento.c:2362,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2363,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/base/memento.c:2364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2346
    functionDepth: 0
    functionLinenumber: 2346
    functionLinenumberEnd: 2367
    functionName: Memento_checkPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - Memento_info
    - fprintf
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkPointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2374,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2379,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2381,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2383,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2389,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/memento.c:2390,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2391,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/base/memento.c:2392,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2394,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2369
    functionDepth: 0
    functionLinenumber: 2369
    functionLinenumberEnd: 2396
    functionName: Memento_checkBytePointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkBytePointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2408,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2410,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2414,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2418,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/memento.c:2419,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2420,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/base/memento.c:2421,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2423,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2425
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2425
    functionName: Memento_checkShortPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkShortPointerOrNull(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_checkPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2432,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2437,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2439,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2441,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2443,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2447,1
    - Dst: Memento_bt
      Src: /src/libspectre/ghostscript/base/memento.c:2448,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2449,1
    - Dst: Memento_info
      Src: /src/libspectre/ghostscript/base/memento.c:2450,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2454
      start: 2427
    functionDepth: 0
    functionLinenumber: 2427
    functionLinenumberEnd: 2454
    functionName: Memento_checkIntPointerOrNull
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_info
    - Memento_checkPointerOrNull
    - fprintf
    - Memento_breakpoint
    - Memento_bt
    linkageType: ''
    returnType: int
    signature: int Memento_checkIntPointerOrNull(void *blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2458,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/base/memento.c:2459,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/base/memento.c:2459,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2462
      start: 2456
    functionDepth: 0
    functionLinenumber: 2456
    functionLinenumberEnd: 2462
    functionName: do_takeRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 5
    functionsReached:
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *do_takeRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2467,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2469,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2469,1
    - Dst: Memento_checkBytePointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2474,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/base/memento.c:2476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2477
      start: 2464
    functionDepth: 0
    functionLinenumber: 2464
    functionLinenumberEnd: 2477
    functionName: Memento_takeByteRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkBytePointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeByteRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2482,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2484,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2484,1
    - Dst: Memento_checkShortPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2489,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/base/memento.c:2491,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2479
    functionDepth: 0
    functionLinenumber: 2479
    functionLinenumberEnd: 2492
    functionName: Memento_takeShortRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkShortPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeShortRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2497,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2499,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2499,1
    - Dst: Memento_checkIntPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2504,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/base/memento.c:2506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2507
      start: 2494
    functionDepth: 0
    functionLinenumber: 2494
    functionLinenumberEnd: 2507
    functionName: Memento_takeIntRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_takeRef
    - Memento_checkIntPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_takeIntRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2512,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2514,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2514,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/base/memento.c:2519,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2509
    functionDepth: 0
    functionLinenumber: 2509
    functionLinenumberEnd: 2520
    functionName: Memento_takeRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_event
    - do_takeRef
    - Memento_init
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_takeRef(void *blk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2524,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/base/memento.c:2525,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/base/memento.c:2525,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2528
      start: 2522
    functionDepth: 0
    functionLinenumber: 2522
    functionLinenumberEnd: 2528
    functionName: do_dropRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 5
    functionsReached:
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *do_dropRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2533,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2535,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2535,1
    - Dst: Memento_checkBytePointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2540,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/base/memento.c:2542,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2543
      start: 2530
    functionDepth: 0
    functionLinenumber: 2530
    functionLinenumberEnd: 2543
    functionName: Memento_dropByteRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkBytePointerOrNull
    - do_dropRef
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropByteRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2548,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2550,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2550,1
    - Dst: Memento_checkShortPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2555,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/base/memento.c:2557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2558
      start: 2545
    functionDepth: 0
    functionLinenumber: 2545
    functionLinenumberEnd: 2558
    functionName: Memento_dropShortRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_checkShortPointerOrNull
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropShortRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2563,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2565,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2565,1
    - Dst: Memento_checkIntPointerOrNull
      Src: /src/libspectre/ghostscript/base/memento.c:2570,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/base/memento.c:2572,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2560
    functionDepth: 0
    functionLinenumber: 2560
    functionLinenumberEnd: 2573
    functionName: Memento_dropIntRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkIntPointerOrNull
    - do_dropRef
    - Memento_init
    - Memento_breakpoint
    - Memento_event
    linkageType: ''
    returnType: void
    signature: void *Memento_dropIntRef(void *blk)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2578,1
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2580,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2580,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/base/memento.c:2585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2586
    functionName: Memento_dropRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_event
    - Memento_init
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_dropRef(void *blk)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2590,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2590,1
    - Dst: do_takeRef
      Src: /src/libspectre/ghostscript/base/memento.c:2597,1
    - Dst: do_dropRef
      Src: /src/libspectre/ghostscript/base/memento.c:2602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - blk
    - adjust
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2588
    functionDepth: 0
    functionLinenumber: 2588
    functionLinenumberEnd: 2607
    functionName: Memento_adjustRef
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_dropRef
    - Memento_event
    - do_takeRef
    - Memento_breakpoint
    linkageType: ''
    returnType: void
    signature: void *Memento_adjustRef(void *blk, int adjust)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2615,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2617,1
    - Dst: do_reference
      Src: /src/libspectre/ghostscript/base/memento.c:2618,1
    - Dst: safe_find_block
      Src: /src/libspectre/ghostscript/base/memento.c:2618,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2609
    functionDepth: 0
    functionLinenumber: 2609
    functionLinenumberEnd: 2621
    functionName: Memento_reference
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_init
    - MEMENTO_UNLOCK
    - safe_find_block
    - do_reference
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_reference(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2630,1
    - Dst: Memento_appBlockUser
      Src: /src/libspectre/ghostscript/base/memento.c:2631,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2635,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2636,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2637,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2638,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2641,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2643,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2645,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2648,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2650,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2655,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - memblk
    - action
    argTypes:
    - Memento_BlkHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2625
    functionDepth: 0
    functionLinenumber: 2625
    functionLinenumberEnd: 2661
    functionName: checkBlockUser
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - fprintf
    - Memento_appBlockUser
    - memset
    linkageType: ''
    returnType: int
    signature: int checkBlockUser(Memento_BlkHeader *memblk, const char *action)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2673,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2674,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2675,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2676,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2681,1
    - Dst: Memento_appBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2682,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2686,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2687,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2688,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2689,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2692,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2693,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2694,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2696,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2699,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2701,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2706,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - memblk
    - action
    argTypes:
    - Memento_BlkHeader*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2712
      start: 2663
    functionDepth: 0
    functionLinenumber: 2663
    functionLinenumberEnd: 2712
    functionName: checkBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 2
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - Memento_appBlock
    - memset
    - fprintf
    linkageType: ''
    returnType: int
    signature: int checkBlock(Memento_BlkHeader *memblk, const char *action)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_event
      Src: /src/libspectre/ghostscript/base/memento.c:2718,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2718,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2723,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2724,1
    - Dst: checkBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2725,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/base/memento.c:2729,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2732,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2734,1
    - Dst: Memento_removeBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2739,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2741,1
    - Dst: Memento_Internal_makeSpace
      Src: /src/libspectre/ghostscript/base/memento.c:2742,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/base/memento.c:2742,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2743,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2744,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2744,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2747,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2747,1
    - Dst: Memento_addBlockTail
      Src: /src/libspectre/ghostscript/base/memento.c:2750,1
    - Dst: free_block
      Src: /src/libspectre/ghostscript/base/memento.c:2752,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - blk
    - eventType
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2754
      start: 2714
    functionDepth: 0
    functionLinenumber: 2714
    functionLinenumberEnd: 2754
    functionName: do_free
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 4
    functionsReached:
    - Memento_addBlockTail
    - free_block
    - Memento_breakpointLocked
    - MEMBLK_FROMBLK
    - MEMBLK_SIZE
    - MEMBLK_TOBLK
    - Memento_storeDetails
    - memset
    - VALGRIND_MAKE_MEM_DEFINED
    - checkBlock
    - Memento_event
    - Memento_removeBlock
    - Memento_Internal_makeSpace
    linkageType: ''
    returnType: void
    signature: void do_free(void *blk, int eventType)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2759,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2761,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/base/memento.c:2762,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2764
      start: 2756
    functionDepth: 0
    functionLinenumber: 2756
    functionLinenumberEnd: 2764
    functionName: Memento_free
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void Memento_free(void *blk)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: Memento_failThisEventLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2772,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2775,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2776,1
    - Dst: checkBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2777,1
    - Dst: Memento_storeDetails
      Src: /src/libspectre/ghostscript/base/memento.c:2781,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2784,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2786,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2788,1
    - Dst: MEMBLK_SIZE
      Src: /src/libspectre/ghostscript/base/memento.c:2792,1
    - Dst: Memento_removeBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2793,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2794,1
    - Dst: MEMENTO_UNDERLYING_REALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:2796,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/base/memento.c:2799,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2811,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2812,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2813,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2814,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2819,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2820,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2821,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2822,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:2822,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2823,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:2823,1
    - Dst: VALGRIND_MAKE_MEM_UNDEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2824,1
    - Dst: MEMBLK_POSTPTR
      Src: /src/libspectre/ghostscript/base/memento.c:2824,1
    - Dst: Memento_addBlockHead
      Src: /src/libspectre/ghostscript/base/memento.c:2826,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2827,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - blk
    - newsize
    - type
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2828
      start: 2766
    functionDepth: 0
    functionLinenumber: 2766
    functionLinenumberEnd: 2828
    functionName: do_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 1
    functionsReached:
    - Memento_breakpointLocked
    - MEMBLK_FROMBLK
    - Memento_failThisEventLocked
    - Memento_addBlockHead
    - MEMBLK_TOBLK
    - MEMENTO_UNDERLYING_REALLOC
    - Memento_storeDetails
    - memset
    - VALGRIND_MAKE_MEM_UNDEFINED
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMBLK_POSTPTR
    - checkBlock
    - Memento_removeBlock
    - MEMBLK_SIZE
    linkageType: ''
    returnType: void
    signature: void *do_realloc(void *blk, size_t newsize, int type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:2835,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2839,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/base/memento.c:2840,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2841,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2845,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/base/memento.c:2846,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2847,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2851,1
    - Dst: do_realloc
      Src: /src/libspectre/ghostscript/base/memento.c:2852,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2853,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - blk
    - newsize
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2855
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2855
    functionName: Memento_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - do_realloc
    - do_malloc
    - Memento_init
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void *Memento_realloc(void *blk, size_t newsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2865,1
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2866,1
    - Dst: checkBlockUser
      Src: /src/libspectre/ghostscript/base/memento.c:2867,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - blk
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2870
      start: 2857
    functionDepth: 0
    functionLinenumber: 2857
    functionLinenumberEnd: 2870
    functionName: Memento_checkBlock
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - MEMBLK_FROMBLK
    - checkBlockUser
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_checkBlock(void *blk)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Memento_Internal_checkAllocedBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2877,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2880,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2883,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2884,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2886,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2889,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2892,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2901,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - memblk
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2873
    functionDepth: 0
    functionLinenumber: 2873
    functionLinenumberEnd: 2907
    functionName: Memento_Internal_checkAllAlloced
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - Memento_breakpointLocked
    - fprintf
    - Memento_Internal_checkAllocedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllAlloced(Memento_BlkHeader *memblk, void
      *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Memento_Internal_checkFreedBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2913,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2916,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2919,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:2920,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2922,1
    - Dst: MEMBLK_TOBLK
      Src: /src/libspectre/ghostscript/base/memento.c:2923,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2925,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2928,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2932,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2935,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:2939,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:2940,1
    - Dst: Memento_breakpointLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2946,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:2948,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - memblk
    - arg
    argTypes:
    - Memento_BlkHeader*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2909
    functionDepth: 0
    functionLinenumber: 2909
    functionLinenumberEnd: 2956
    functionName: Memento_Internal_checkAllFreed
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_breakpointLocked
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - MEMBLK_TOBLK
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - Memento_Internal_checkFreedBlock
    linkageType: ''
    returnType: int
    signature: int Memento_Internal_checkAllFreed(Memento_BlkHeader *memblk, void
      *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/memento.c:2964,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:2965,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:2966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2959
    functionDepth: 0
    functionLinenumber: 2959
    functionLinenumberEnd: 2971
    functionName: Memento_checkAllMemoryLocked
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - memset
    - Memento_appBlocks
    linkageType: ''
    returnType: int
    signature: int Memento_checkAllMemoryLocked(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2978,1
    - Dst: Memento_checkAllMemoryLocked
      Src: /src/libspectre/ghostscript/base/memento.c:2979,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:2980,1
    - Dst: Memento_breakpoint
      Src: /src/libspectre/ghostscript/base/memento.c:2982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2987
      start: 2973
    functionDepth: 0
    functionLinenumber: 2973
    functionLinenumberEnd: 2987
    functionName: Memento_checkAllMemory
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 3
    functionsReached:
    - MEMENTO_UNLOCK
    - Memento_checkAllMemoryLocked
    - MEMENTO_LOCK
    - Memento_breakpoint
    linkageType: ''
    returnType: int
    signature: int Memento_checkAllMemory(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2997
      start: 2989
    functionDepth: 0
    functionLinenumber: 2989
    functionLinenumberEnd: 2997
    functionName: Memento_setParanoia
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_setParanoia(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3003
      start: 2999
    functionDepth: 0
    functionLinenumber: 2999
    functionLinenumberEnd: 3003
    functionName: Memento_paranoidAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_paranoidAt(int i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMBLK_FROMBLK
      Src: /src/libspectre/ghostscript/base/memento.c:3010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3012
      start: 3005
    functionDepth: 0
    functionLinenumber: 3005
    functionLinenumberEnd: 3012
    functionName: Memento_getBlockNum
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMBLK_FROMBLK
    linkageType: ''
    returnType: int
    signature: int Memento_getBlockNum(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3018,1
    - Dst: Memento_checkAllMemory
      Src: /src/libspectre/ghostscript/base/memento.c:3019,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3022
      start: 3014
    functionDepth: 0
    functionLinenumber: 3014
    functionLinenumberEnd: 3022
    functionName: Memento_check
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_checkAllMemory
    - fprintf
    linkageType: ''
    returnType: int
    signature: int Memento_check(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3029,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3033,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3035,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3039,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3040,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3041,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3046,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3048,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3052,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3053,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3054,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3024
    functionDepth: 0
    functionLinenumber: 3024
    functionLinenumberEnd: 3059
    functionName: Memento_find
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - fprintf
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: int
    signature: int Memento_find(void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3065,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3069,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3071,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3075,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3076,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:3077,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:3079,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3080,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3085,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3087,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3091,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3092,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3093,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3096,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3097,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3098
      start: 3061
    functionDepth: 0
    functionLinenumber: 3061
    functionLinenumberEnd: 3098
    functionName: Memento_breakOnFree
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_breakOnFree(void *a)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3104,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3110,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3115,1
    - Dst: VALGRIND_MAKE_MEM_DEFINED
      Src: /src/libspectre/ghostscript/base/memento.c:3116,1
    - Dst: VALGRIND_MAKE_MEM_NOACCESS
      Src: /src/libspectre/ghostscript/base/memento.c:3118,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3119,1
    - Dst: Memento_appBlocks
      Src: /src/libspectre/ghostscript/base/memento.c:3124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3126,1
    - Dst: showBlock
      Src: /src/libspectre/ghostscript/base/memento.c:3130,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3131,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/memento.c:3135,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 28
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3100
    functionDepth: 0
    functionLinenumber: 3100
    functionLinenumberEnd: 3137
    functionName: Memento_breakOnRealloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - showBlock
    - VALGRIND_MAKE_MEM_NOACCESS
    - fprintf
    - VALGRIND_MAKE_MEM_DEFINED
    - MEMENTO_UNLOCK
    - Memento_appBlocks
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void Memento_breakOnRealloc(void *a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Memento_startFailing
      Src: /src/libspectre/ghostscript/base/memento.c:3144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3146
      start: 3139
    functionDepth: 0
    functionLinenumber: 3139
    functionLinenumberEnd: 3146
    functionName: Memento_failAt
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - Memento_startFailing
    linkageType: ''
    returnType: int
    signature: int Memento_failAt(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3148
    functionDepth: 0
    functionLinenumber: 3148
    functionLinenumberEnd: 3152
    functionName: Memento_setMax
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t Memento_setMax(size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3157
      start: 3154
    functionDepth: 0
    functionLinenumber: 3154
    functionLinenumberEnd: 3157
    functionName: Memento_startLeaking
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_startLeaking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3162
      start: 3159
    functionDepth: 0
    functionLinenumber: 3159
    functionLinenumberEnd: 3162
    functionName: Memento_stopLeaking
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Memento_stopLeaking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3167
      start: 3164
    functionDepth: 0
    functionLinenumber: 3164
    functionLinenumberEnd: 3167
    functionName: Memento_squeezing
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Memento_squeezing(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:3179,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3183,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/base/memento.c:3184,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3174
    functionDepth: 0
    functionLinenumber: 3174
    functionLinenumberEnd: 3187
    functionName: '*operator new(size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *operator new(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3194,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/base/memento.c:3195,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3197
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3197
    functionName: operator delete(void *pointer)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void operator delete(void *pointer)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Memento_init
      Src: /src/libspectre/ghostscript/base/memento.c:3206,1
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3210,1
    - Dst: do_malloc
      Src: /src/libspectre/ghostscript/base/memento.c:3211,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3214
      start: 3202
    functionDepth: 0
    functionLinenumber: 3202
    functionLinenumberEnd: 3214
    functionName: '*operator new[](size_t size)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_malloc
    - MEMENTO_LOCK
    - Memento_init
    linkageType: ''
    returnType: void
    signature: void *operator new[](size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_LOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3218,1
    - Dst: do_free
      Src: /src/libspectre/ghostscript/base/memento.c:3219,1
    - Dst: MEMENTO_UNLOCK
      Src: /src/libspectre/ghostscript/base/memento.c:3220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pointer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3221
      start: 3216
    functionDepth: 0
    functionLinenumber: 3216
    functionLinenumberEnd: 3221
    functionName: operator delete[](void *pointer)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNLOCK
    - do_free
    - MEMENTO_LOCK
    linkageType: ''
    returnType: void
    signature: void operator delete[](void *pointer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3230
      start: 3228
    functionDepth: 0
    functionLinenumber: 3228
    functionLinenumberEnd: 3230
    functionName: (Memento_breakpoint)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakpoint)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3232
    functionDepth: 0
    functionLinenumber: 3232
    functionLinenumberEnd: 3235
    functionName: (Memento_checkBlock)(void *b)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_checkBlock)(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3240
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3240
    functionName: (Memento_checkAllMemory)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_checkAllMemory)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3245
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3245
    functionName: (Memento_check)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_check)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3250
      start: 3247
    functionDepth: 0
    functionLinenumber: 3247
    functionLinenumberEnd: 3250
    functionName: (Memento_setParanoia)(int i)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_setParanoia)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3255
      start: 3252
    functionDepth: 0
    functionLinenumber: 3252
    functionLinenumberEnd: 3255
    functionName: (Memento_paranoidAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_paranoidAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3260
      start: 3257
    functionDepth: 0
    functionLinenumber: 3257
    functionLinenumberEnd: 3260
    functionName: (Memento_breakAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_breakAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3265
      start: 3262
    functionDepth: 0
    functionLinenumber: 3262
    functionLinenumberEnd: 3265
    functionName: (Memento_getBlockNum)(void *i)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_getBlockNum)(void *i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3270
      start: 3267
    functionDepth: 0
    functionLinenumber: 3267
    functionLinenumberEnd: 3270
    functionName: (Memento_find)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_find)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3272
    functionDepth: 0
    functionLinenumber: 3272
    functionLinenumberEnd: 3275
    functionName: (Memento_failAt)(int i)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_failAt)(int i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3279
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3279
    functionName: (Memento_breakOnFree)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakOnFree)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3281
    functionDepth: 0
    functionLinenumber: 3281
    functionLinenumberEnd: 3283
    functionName: (Memento_breakOnRealloc)(void *a)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_breakOnRealloc)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3288
    functionName: '*(Memento_takeRef)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_takeRef)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3290
    functionDepth: 0
    functionLinenumber: 3290
    functionLinenumberEnd: 3293
    functionName: '*(Memento_dropRef)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_dropRef)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - adjust
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3298
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3298
    functionName: '*(Memento_adjustRef)(void *a, int adjust)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_adjustRef)(void *a, int adjust)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - a
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3303
      start: 3300
    functionDepth: 0
    functionLinenumber: 3300
    functionLinenumberEnd: 3303
    functionName: '*(Memento_reference)(void *a)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_reference)(void *a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_MALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:3312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3310
    functionDepth: 0
    functionLinenumber: 3310
    functionLinenumberEnd: 3313
    functionName: Memento_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_MALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_FREE
      Src: /src/libspectre/ghostscript/base/memento.c:3317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3315
    functionDepth: 0
    functionLinenumber: 3315
    functionLinenumberEnd: 3318
    functionName: Memento_free
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_FREE
    linkageType: ''
    returnType: void
    signature: void Memento_free(void *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_REALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:3322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - s
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3323
      start: 3320
    functionDepth: 0
    functionLinenumber: 3320
    functionLinenumberEnd: 3323
    functionName: Memento_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_REALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_realloc(void *b, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEMENTO_UNDERLYING_CALLOC
      Src: /src/libspectre/ghostscript/base/memento.c:3327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - s
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3325
    functionDepth: 0
    functionLinenumber: 3325
    functionLinenumberEnd: 3328
    functionName: Memento_calloc
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached:
    - MEMENTO_UNDERLYING_CALLOC
    linkageType: ''
    returnType: void
    signature: void *Memento_calloc(size_t n, size_t s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3330
    functionDepth: 0
    functionLinenumber: 3330
    functionLinenumberEnd: 3332
    functionName: (Memento_listBlocks)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listBlocks)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3336
      start: 3334
    functionDepth: 0
    functionLinenumber: 3334
    functionLinenumberEnd: 3336
    functionName: (Memento_listNewBlocks)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listNewBlocks)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - max
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3341
      start: 3338
    functionDepth: 0
    functionLinenumber: 3338
    functionLinenumberEnd: 3341
    functionName: (Memento_setMax)(size_t max)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t (Memento_setMax)(size_t max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3345
      start: 3343
    functionDepth: 0
    functionLinenumber: 3343
    functionLinenumberEnd: 3345
    functionName: (Memento_stats)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_stats)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - label
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3350
      start: 3347
    functionDepth: 0
    functionLinenumber: 3347
    functionLinenumberEnd: 3350
    functionName: '*(Memento_label)(void *ptr, const char *label)'
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *(Memento_label)(void *ptr, const char *label)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - addr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3354
    functionName: (Memento_info)(void *addr)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_info)(void *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3356
    functionDepth: 0
    functionLinenumber: 3356
    functionLinenumberEnd: 3358
    functionName: (Memento_listBlockInfo)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_listBlockInfo)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3360
    functionDepth: 0
    functionLinenumber: 3360
    functionLinenumberEnd: 3362
    functionName: (Memento_startLeaking)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_startLeaking)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3366
      start: 3364
    functionDepth: 0
    functionLinenumber: 3364
    functionLinenumberEnd: 3366
    functionName: (Memento_stopLeaking)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void (Memento_stopLeaking)(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3371
      start: 3368
    functionDepth: 0
    functionLinenumber: 3368
    functionLinenumberEnd: 3371
    functionName: (Memento_squeezing)(void)
    functionSourceFile: /src/libspectre/ghostscript/base/memento.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int (Memento_squeezing)(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:54,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:56,1
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:59,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 60
    functionName: mem_planar_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mem_planar_dev_spec_op(gx_device *pdev, int dev_spec_op,\n                       void
      *data, int size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_dev_spec_op
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 69
    functionName: mem_planar_dev_spec_op_cmyk4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - gx_default_dev_spec_op
    linkageType: ''
    returnType: int
    signature: "int mem_planar_dev_spec_op_cmyk4(gx_device *pdev, int dev_spec_op,\n
      \                            void *data, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_set_planar_interleaved
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mdev
    - num_planes
    - planes
    argTypes:
    - gx_device_memory*
    - int
    - gx_render_plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 86
    functionName: gdev_mem_set_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 2
    functionsReached:
    - gdev_mem_set_planar_interleaved
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_set_planar(gx_device_memory * mdev, int num_planes,\n
      \                   const gx_render_plane_t *planes /*[num_planes]*/)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:97,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:100,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:107,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:108,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:122,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:124,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:128,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:130,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:135,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:139,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:139,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:140,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:140,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:141,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:141,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:142,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:142,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:143,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:143,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:144,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:144,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:145,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:145,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:146,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:146,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:153,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:155,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:156,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:157,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:158,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:164,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:171,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:172,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:174,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:175,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:176,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:177,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:178,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:179,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:180,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:182,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 58
    argCount: 4
    argNames:
    - mdev
    - num_planes
    - planes
    - interleaved
    argTypes:
    - gx_device_memory*
    - int
    - gx_render_plane_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 184
    functionName: gdev_mem_set_planar_interleaved
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 2
    functionsReached:
    - set_dev_proc
    - gdev_mem_device_for_bits
    - memcpy
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_set_planar_interleaved(gx_device_memory * mdev, int num_planes,\n
      \                               const gx_render_plane_t *planes /*[num_planes]*/,\n
      \                               int interleaved)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:194,1
    - Dst: gdev_mem_open_scan_lines
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: mem_planar_open
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_mem_open_scan_lines
    linkageType: ''
    returnType: int
    signature: int mem_planar_open(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:205,1
    - Dst: gdev_mem_open_scan_lines_interleaved
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: mem_planar_open_interleaved
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_mem_open_scan_lines_interleaved
    linkageType: ''
    returnType: int
    signature: int mem_planar_open_interleaved(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mdev
    - ','
    - msp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 223
    functionName: MEM_SAVE_PARAMS
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_SAVE_PARAMS(mdev, msp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mdev
    - ','
    - msp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: MEM_RESTORE_PARAMS
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEM_RESTORE_PARAMS(mdev, msp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:254,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:259,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:262,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:265,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:270,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:274,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 9
    argNames:
    - dev
    - base_ptr
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte**
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 276
    functionName: put_image_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SAVE_PARAMS
    - dev_proc
    - MEM_RESTORE_PARAMS
    - gdev_mem_device_for_bits
    linkageType: ''
    returnType: int
    signature: "int put_image_copy_planes(gx_device * dev, const byte **base_ptr,
      int sourcex,\n                      int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: put_image_copy_planes
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 11
    argNames:
    - pdev
    - pmdev
    - buffers
    - num_chan
    - xstart
    - ystart
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: mem_planar_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - put_image_copy_planes
    linkageType: ''
    returnType: int
    signature: "int mem_planar_put_image(gx_device *pdev, gx_device *pmdev, const
      byte **buffers, int num_chan, int xstart,\n              int ystart, int width,
      int height, int row_stride,\n              int alpha_plane_index, int tag_plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:307,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:308,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:309,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:310,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:315,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:317,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:322,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:324,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:325,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:329,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 331
    functionName: mem_planar_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - fixed2int
    - gx_fill_rectangle_device_rop
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n    const
      gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:342,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:347,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:349,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:350,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 357
    functionName: mem_planar_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:369,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:375,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:383,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:385,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:387,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 393
    functionName: mem_planar_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_mono(gx_device * dev, const byte * base, int sourcex,\n
      \                    int sraster, gx_bitmap_id id, int x, int y, int w, int
      h,\n                     gx_color_index color0, gx_color_index color1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:409,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:410,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:413,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:414,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:415,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:426,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:431,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:452,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:455,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:458,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:463,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 465
    functionName: mem_planar_copy_color_24to8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - gdev_mem_device_for_bits
    - MEM_SAVE_PARAMS
    - min
    - bitmap_raster
    - dev_proc
    - MEM_RESTORE_PARAMS
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_color_24to8(gx_device * dev, const byte * base,
      int sourcex,\n                            int sraster, gx_bitmap_id id,\n                            int
      x, int y, int w, int h)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:488,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:489,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:494,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:495,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:496,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:497,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:500,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:501,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:502,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:513,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:518,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:635,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:639,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:643,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:647,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:653,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 126
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 655
    functionName: mem_planar_copy_color_4to1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - gdev_mem_device_for_bits
    - MEM_SAVE_PARAMS
    - min
    - memset
    - bitmap_raster
    - dev_proc
    - MEM_RESTORE_PARAMS
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_color_4to1(gx_device * dev, const byte * base,
      int sourcex,\n                            int sraster, gx_bitmap_id id,\n                            int
      x, int y, int w, int h)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:739,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:740,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:743,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:744,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:745,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:756,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:761,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:836,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:840,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:844,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:848,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 86
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 856
    functionName: mem_planar_copy_color_4to1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - gdev_mem_device_for_bits
    - MEM_SAVE_PARAMS
    - min
    - bitmap_raster
    - dev_proc
    - MEM_RESTORE_PARAMS
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_color_4to1(gx_device * dev, const byte * base,
      int sourcex,\n                            int sraster, gx_bitmap_id id,\n                            int
      x, int y, int w, int h)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:885,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:886,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:892,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:900,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:903,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:919,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:925,1
    - Dst: sample_load_next64
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:943,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:944,1
    - Dst: sample_load_next32
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:947,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:948,1
    - Dst: sample_store_next16
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:951,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:953,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:955,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:963,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:967,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:973,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 861
    functionDepth: 2
    functionLinenumber: 861
    functionLinenumberEnd: 977
    functionName: mem_planar_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - sample_load_next32
    - sample_store_next16
    - sample_load_next64
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - sample_store_flush
    - min
    - return_error
    - bitmap_raster
    - dev_proc
    - MEM_RESTORE_PARAMS
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_color(gx_device * dev, const byte * base, int
      sourcex,\n                      int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:992,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:996,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:998,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1003,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1008,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 10
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 980
    functionDepth: 1
    functionLinenumber: 980
    functionLinenumberEnd: 1010
    functionName: mem_planar_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SAVE_PARAMS
    - dev_proc
    - MEM_RESTORE_PARAMS
    - gdev_mem_device_for_bits
    linkageType: ''
    returnType: int
    signature: "int mem_planar_copy_planes(gx_device * dev, const byte * base, int
      sourcex,\n                       int sraster, gx_bitmap_id id,\n                       int
      x, int y, int w, int h, int plane_height)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1022,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1028,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1043,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1046,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1048,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1054,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1054,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1055,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1060,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1061,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - pdcolor0
    - pdcolor1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1063
    functionName: mem_planar_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - dprintf
    - set_dev_proc
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_strip_tile_rect_devn(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                                int x, int y, int w, int h,\n                                const
      gx_drawing_color *pdcolor0,\n                                const gx_drawing_color
      *pdcolor1, int px, int py)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1077,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1079,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1085,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1093,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1095,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1101,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1101,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1102,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1107,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1108,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - w
    - h
    - color0
    - color1
    - px
    - py
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1065
    functionDepth: 2
    functionLinenumber: 1065
    functionLinenumberEnd: 1110
    functionName: mem_planar_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - gx_default_strip_tile_rectangle
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - set_dev_proc
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_strip_tile_rectangle(gx_device * dev, const gx_strip_bitmap
      * tiles,\n                                int x, int y, int w, int h,\n                                gx_color_index
      color0, gx_color_index color1,\n                                int px, int
      py)"
  - BBCount: 84
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1134,1
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1152,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1155,1
    - Dst: rop3_know_S_1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1161,1
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1166,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1169,1
    - Dst: rop3_know_S_1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1175,1
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1180,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1183,1
    - Dst: rop3_know_S_1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1189,1
    - Dst: lop_uses_T
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1204,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1217,1
    - Dst: x_offset
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1230,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1241,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1436,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1666,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1687,1
    - Dst: fetch1
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1705,1
    CyclomaticComplexity: 114
    EdgeCount: 114
    ICount: 413
    argCount: 15
    argNames:
    - mdev
    - srow
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device_memory*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1112
    functionDepth: 1
    functionLinenumber: 1112
    functionLinenumberEnd: 1722
    functionName: planar_cmyk4bit_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - fetch1
    - x_offset
    - min
    - rop3_know_S_1
    - rop3_know_S_0
    - rop3_invert_S
    - lop_uses_T
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int planar_cmyk4bit_strip_copy_rop(gx_device_memory * mdev,\n                               const
      byte * srow, int sourcex, uint sraster,\n                               gx_bitmap_id
      id, const gx_color_index * scolors,\n                               const gx_strip_bitmap
      * textures,\n                               const gx_color_index * tcolors,\n
      \                              int x, int y, int width, int height,\n                               int
      phase_x, int phase_y,\n                               gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - px
    - ','
    - ty
    - ','
    - textures
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1213
    functionDepth: 0
    functionLinenumber: 1213
    functionLinenumberEnd: 1216
    functionName: x_offset
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_offset(px, ty, textures)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1666
    functionName: fetch1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetch1(ptr, skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1738,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1740,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1743,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1743,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1744,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1744,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1747,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1751,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1752,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 16
    argNames:
    - mdev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - plane
    argTypes:
    - gx_device_memory*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1756
    functionName: plane_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SAVE_PARAMS
    - gdev_mem_device_for_bits
    - set_dev_proc
    - dev_proc
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int plane_strip_copy_rop(gx_device_memory * mdev,\n                     const
      byte * sdata, int sourcex, uint sraster,\n                     gx_bitmap_id
      id, const gx_color_index * scolors,\n                     const gx_strip_bitmap
      * textures,\n                     const gx_color_index * tcolors,\n                     int
      x, int y, int width, int height,\n                     int phase_x, int phase_y,\n
      \                    gs_logical_operation_t lop, int plane)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: sample_load_next16
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1845,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1846,1
    - Dst: sample_store_next64
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1850,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1851,1
    - Dst: sample_store_next32
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1854,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1855,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1858,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 63
    argCount: 10
    argNames:
    - mdev
    - x
    - y
    - w
    - h
    - offset
    - draster
    - dest
    - line_ptrs
    - plane_height
    argTypes:
    - gx_device_memory*
    - int
    - int
    - int
    - int
    - int
    - uint
    - byte*
    - byte**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1763
    functionDepth: 2
    functionLinenumber: 1763
    functionLinenumberEnd: 1861
    functionName: planar_to_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 3
    functionsReached:
    - sample_store_flush
    - sample_load_next16
    - sample_store_next64
    - return_error
    - sample_store_next32
    linkageType: ''
    returnType: int
    signature: "int planar_to_chunky(gx_device_memory *mdev, int x, int y, int w,
      int h,\n                 int offset, uint draster, byte *dest, byte **line_ptrs,\n
      \                int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mem_planar_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1897
    functionName: mem_planar_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - mem_planar_strip_copy_rop2
    linkageType: ''
    returnType: int
    signature: "int mem_planar_strip_copy_rop(gx_device * dev,\n                          const
      byte * sdata, int sourcex, uint sraster,\n                          gx_bitmap_id
      id, const gx_color_index * scolors,\n                          const gx_strip_bitmap
      * textures,\n                          const gx_color_index * tcolors,\n                          int
      x, int y, int width, int height,\n                          int phase_x, int
      phase_y,\n                          gs_logical_operation_t lop)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1913,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1931,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1933,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1936,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1938,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1939,1
    - Dst: planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1949,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1951,1
    - Dst: mem_planar_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1952,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1956,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1980,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1989,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1991,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1994,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1996,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:1997,1
    - Dst: planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2005,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2007,1
    - Dst: mem_planar_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2014,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2018,1
    - Dst: lop_uses_T
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2025,1
    - Dst: lop_uses_S
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2027,1
    - Dst: plane_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2046,1
    - Dst: planar_cmyk4bit_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2059,1
    - Dst: planar_cmyk4bit_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2070,1
    - Dst: mem_default_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2079,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 97
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2083
      start: 1899
    functionDepth: 3
    functionLinenumber: 1899
    functionLinenumberEnd: 2083
    functionName: mem_planar_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 2
    functionsReached:
    - lop_sanitize
    - gs_alloc_bytes
    - lop_uses_S
    - planar_to_chunky
    - mem_planar_strip_copy_rop2
    - mem_default_strip_copy_rop
    - planar_cmyk4bit_strip_copy_rop
    - lop_uses_T
    - plane_strip_copy_rop
    - gs_note_error
    - bitmap_raster
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int mem_planar_strip_copy_rop2(gx_device * dev,\n                           const
      byte * sdata, int sourcex, uint sraster,\n                           gx_bitmap_id
      id, const gx_color_index * scolors,\n                           const gx_strip_bitmap
      * textures,\n                           const gx_color_index * tcolors,\n                           int
      x, int y, int width, int height,\n                           int phase_x, int
      phase_y,\n                           gs_logical_operation_t lop,\n                           uint
      planar_height)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2119,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2127,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2133,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2140,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2146,1
    - Dst: gx_get_bits_return_pointer
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2149,1
    - Dst: MEM_SAVE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2180,1
    - Dst: MEM_SET_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2182,1
    - Dst: mem_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2183,1
    - Dst: MEM_RESTORE_PARAMS
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2185,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2199,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2208,1
    - Dst: gx_get_bits_return_pointer
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2212,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2228,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2235,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2258,1
    - Dst: planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2260,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2279,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2312,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2314,1
    - Dst: planar_to_chunky
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2315,1
    - Dst: gx_get_bits_copy
      Src: /src/libspectre/ghostscript/base/gdevmpla.c:2317,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 128
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2329
      start: 2086
    functionDepth: 3
    functionLinenumber: 2086
    functionLinenumberEnd: 2329
    functionName: mem_planar_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmpla.c
    functionUses: 0
    functionsReached:
    - MEM_SET_PARAMS
    - MEM_SAVE_PARAMS
    - scan_line_base
    - planar_to_chunky
    - min
    - gx_get_bits_copy
    - mem_get_bits_rectangle
    - memcpy
    - gx_get_bits_return_pointer
    - return_error
    - bitmap_raster
    - MEM_RESTORE_PARAMS
    linkageType: ''
    returnType: int
    signature: "int mem_planar_get_bits_rectangle(gx_device * dev, const gs_int_rect
      * prect,\n                              gs_get_bits_params_t * params,\n                              gs_int_rect
      ** unread)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(mem, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: FREE
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(mem, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: PRINTF
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: PRINTF2
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF2(mem, str, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: PRINTF4
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF4(mem, str, v1, v2, v3, v4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: PRINTF7
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF7(mem, str, v1, v2, v3, v4, v5, v6, v7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 35
    functionName: EPRINTF
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: EPRINTF1
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF1(mem, str, v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: EPRINTF3
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF3(mem, str, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: ALLOC
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 108
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALLOC(mem, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: FREE
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 244
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FREE(mem, ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: PRINTF
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: PRINTF2
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF2(mem, str, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: PRINTF4
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF4(mem, str, v1, v2, v3, v4)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - ','
    - v5
    - ','
    - v6
    - ','
    - v7
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: PRINTF7
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINTF7(mem, str, v1, v2, v3, v4, v5, v6, v7)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: EPRINTF
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: EPRINTF1
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF1(mem, str, v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - str
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: EPRINTF3
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EPRINTF3(mem, str, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - params
    argTypes:
    - htsc_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: htsc_set_default_params
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void htsc_set_default_params(htsc_param_t *params)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: htsc_determine_cell_shape
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:194,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:198,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:205,1
    - Dst: htsc_matrix_inverse
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:224,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:226,1
    - Dst: htsc_create_dot_mask
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:232,1
    - Dst: htsc_dump_screen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:237,1
    - Dst: htsc_sumsum
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:240,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:241,1
    - Dst: htsc_find_bin_center
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:249,1
    - Dst: htsc_create_dot_profile
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:253,1
    - Dst: htsc_dump_screen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:258,1
    - Dst: htsc_allocate_supercell
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:261,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:264,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:270,1
    - Dst: EPRINTF1
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:271,1
    - Dst: EPRINTF1
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:272,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:273,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:274,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:275,1
    - Dst: EPRINTF1
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:276,1
    - Dst: htsc_tile_supercell
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:280,1
    - Dst: htsc_dump_screen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:282,1
    - Dst: htsc_create_holladay_mask
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:286,1
    - Dst: htsc_create_nondithered_mask
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:290,1
    - Dst: EPRINTF3
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:294,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:297,1
    - Dst: EPRINTF1
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:298,1
    - Dst: EPRINTF1
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:300,1
    - Dst: htsc_create_dither_mask
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:303,1
    - Dst: htsc_mask_to_tos
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:312,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:315,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:316,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 88
    argCount: 3
    argNames:
    - params
    - S
    - final_mask
    argTypes:
    - htsc_param_t
    - int*
    - htsc_dig_grid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 318
    functionName: htsc_gen_ordered
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_create_dot_mask
    - EPRINTF3
    - htsc_create_holladay_mask
    - htsc_tile_supercell
    - ROUND
    - EPRINTF1
    - htsc_create_dot_profile
    - htsc_create_nondithered_mask
    - FREE
    - htsc_matrix_inverse
    - htsc_dump_screen
    - htsc_find_bin_center
    - PRINTF
    - htsc_mask_to_tos
    - htsc_determine_cell_shape
    - htsc_sumsum
    - htsc_allocate_supercell
    - ceil
    - htsc_create_dither_mask
    - EPRINTF
    linkageType: ''
    returnType: int
    signature: int htsc_gen_ordered(htsc_param_t params, int *S, htsc_dig_grid_t *final_mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 336
    functionName: compare
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 29
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare(const void * a, const void * b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:350,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:353,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:356,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:358,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:359,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:377,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:379,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:384,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:386,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:388,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:393,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:401,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - final_mask
    argTypes:
    - htsc_dig_grid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 403
    functionName: htsc_mask_to_tos
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - ALLOC
    - FREE
    - qsort
    - EPRINTF
    linkageType: ''
    returnType: int
    signature: int htsc_mask_to_tos(htsc_dig_grid_t *final_mask)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:423,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:430,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:431,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:435,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:436,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:437,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:445,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:446,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:447,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:454,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:455,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:459,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:461,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:463,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:474,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:480,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:489,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:490,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:494,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:496,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:497,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:499,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:500,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:505,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:506,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:507,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:514,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:515,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:516,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:520,1
    - Dst: atan
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:522,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:523,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:525,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:526,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:534,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:540,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:550,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:551,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:555,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:556,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:557,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:560,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:565,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:566,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:567,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:574,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:575,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:576,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:580,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:581,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:582,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:585,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:594,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:600,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:607,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:608,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:612,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:614,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:616,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:617,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:622,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:623,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:624,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:631,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:632,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:633,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:637,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:639,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:641,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:642,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:651,1
    - Dst: PRINTF7
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:657,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 216
    argCount: 7
    argNames:
    - x_out
    - y_out
    - v_out
    - u_out
    - N_out
    - params
    - mem
    argTypes:
    - int*
    - int*
    - int*
    - int*
    - int*
    - htsc_param_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 669
    functionName: htsc_determine_cell_shape
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - sqrt
    - tan
    - EPRINTF
    - PRINTF7
    - ROUND
    - PRINTF
    - atan
    linkageType: ''
    returnType: void
    signature: "void htsc_determine_cell_shape(int *x_out, int *y_out, int *v_out,\n
      \                         int *u_out, int *N_out, htsc_param_t params, void
      *mem)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:689,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:702,1
    - Dst: htsc_matrix_vector_mult
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:710,1
    - Dst: htsc_spot_value
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:716,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:730,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:755,1
    - Dst: htsc_matrix_vector_mult
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:763,1
    - Dst: htsc_spot_value
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:769,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:783,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 74
    argCount: 12
    argNames:
    - dig_grid
    - N
    - x
    - y
    - u
    - v
    - horiz_dpi
    - vert_dpi
    - vertices
    - one_index
    - spot_type
    - trans_matrix
    argTypes:
    - htsc_dig_grid_t*
    - int
    - int
    - int
    - int
    - int
    - double
    - double
    - htsc_vertices_t
    - htsc_point_t*
    - spottype_t
    - htsc_matrix_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 791
    functionName: htsc_create_dot_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_setpoint
    - htsc_getpoint
    - MIN
    - htsc_matrix_vector_mult
    - htsc_spot_value
    linkageType: ''
    returnType: void
    signature: "void htsc_create_dot_profile(htsc_dig_grid_t *dig_grid, int N, int
      x, int y, int u, int v,\n                        double horiz_dpi, double vert_dpi,
      htsc_vertices_t vertices,\n                        htsc_point_t *one_index,
      spottype_t spot_type, htsc_matrix_t trans_matrix)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: MIN
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:807,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:808,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:811,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:814,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:832,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:842,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:845,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 7
    argNames:
    - dot_grid
    - x
    - y
    - u
    - v
    - screen_angle
    - vertices
    argTypes:
    - htsc_dig_grid_t*
    - int
    - int
    - int
    - int
    - double
    - htsc_vertices_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 849
    functionName: htsc_create_dot_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_setpoint
    - MIN
    - memset
    - ALLOC
    - abs
    linkageType: ''
    returnType: int
    signature: "int htsc_create_dot_mask(htsc_dig_grid_t *dot_grid, int x, int y,
      int u, int v,\n                 double screen_angle, htsc_vertices_t vertices)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:864,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - dot_grid
    - bin_center
    argTypes:
    - htsc_dig_grid_t*
    - htsc_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 879
    functionName: htsc_find_bin_center
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_getpoint
    linkageType: ''
    returnType: void
    signature: void htsc_find_bin_center(htsc_dig_grid_t *dot_grid, htsc_vector_t
      *bin_center)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dig_grid
    - x
    - y
    argTypes:
    - htsc_dig_grid_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: htsc_getpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int htsc_getpoint(htsc_dig_grid_t *dig_grid, int x, int y)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - dig_grid
    - x
    - y
    - value
    argTypes:
    - htsc_dig_grid_t*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 895
    functionName: htsc_setpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void htsc_setpoint(htsc_dig_grid_t *dig_grid, int x, int y, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - dig_grid
    argTypes:
    - htsc_dig_grid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 910
    functionName: htsc_sumsum
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int htsc_sumsum(htsc_dig_grid_t dig_grid)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 928
    functionName: htsc_gcd
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int htsc_gcd(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: htsc_gcd
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 942
    functionName: htsc_lcm
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - htsc_gcd
    linkageType: ''
    returnType: int
    signature: int htsc_lcm(int a, int b)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - matrix_in
    - matrix_out
    argTypes:
    - htsc_matrix_t
    - htsc_matrix_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 958
    functionName: htsc_matrix_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int htsc_matrix_inverse(htsc_matrix_t matrix_in, htsc_matrix_t *matrix_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - matrix_in
    - vector_in
    - vector_out
    argTypes:
    - htsc_matrix_t
    - htsc_vector_t
    - htsc_vector_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 968
    functionName: htsc_matrix_vector_mult
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void htsc_matrix_vector_mult(htsc_matrix_t matrix_in, htsc_vector_t
      vector_in,\n                   htsc_vector_t *vector_out)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: htsc_gcd
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:989,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:989,1
    - Dst: abs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:989,1
    - Dst: htsc_matrix_inverse
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1000,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1002,1
    - Dst: htsc_matrix_vector_mult
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1009,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1011,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1012,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1020,1
    - Dst: htsc_lcm
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1035,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1045,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1046,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1052,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1053,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1061,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1064,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 58
    argCount: 12
    argNames:
    - super_cell
    - x
    - y
    - u
    - v
    - target_size
    - use_holladay_grid
    - dot_grid
    - N
    - S
    - H
    - L
    argTypes:
    - htsc_dig_grid_t*
    - int
    - int
    - int
    - int
    - int
    - bool
    - htsc_dig_grid_t
    - int
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 1066
    functionName: htsc_allocate_supercell
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - MAX
    - ceil
    - htsc_matrix_vector_mult
    - memset
    - fabs
    - ROUND
    - htsc_lcm
    - htsc_gcd
    - ALLOC
    - abs
    - EPRINTF
    - htsc_matrix_inverse
    linkageType: ''
    returnType: int
    signature: "int htsc_allocate_supercell(htsc_dig_grid_t *super_cell, int x, int
      y, int u,\n                        int v, int target_size, bool use_holladay_grid,\n
      \                       htsc_dig_grid_t dot_grid, int N, int *S, int *H, int
      *L)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1073,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1074,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 7
    argNames:
    - new_k
    - new_j
    - sc_xsize
    - sc_ysize
    - super_cell
    - val
    - num_set
    argTypes:
    - int
    - int
    - int
    - int
    - htsc_dig_grid_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1068
    functionDepth: 1
    functionLinenumber: 1068
    functionLinenumberEnd: 1078
    functionName: htsc_supercell_assign_point
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - htsc_setpoint
    - htsc_getpoint
    linkageType: ''
    returnType: void
    signature: "void htsc_supercell_assign_point(int new_k, int new_j, int sc_xsize,
      int sc_ysize,\n                            htsc_dig_grid_t *super_cell, int
      val, int *num_set )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1097,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1099,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1110,1
    - Dst: htsc_supercell_assign_point
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1114,1
    - Dst: htsc_supercell_assign_point
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1118,1
    - Dst: htsc_supercell_assign_point
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1122,1
    - Dst: htsc_supercell_assign_point
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1126,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 7
    argNames:
    - super_cell
    - dot_grid
    - x
    - y
    - u
    - v
    - N
    argTypes:
    - htsc_dig_grid_t*
    - htsc_dig_grid_t*
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1080
    functionDepth: 2
    functionLinenumber: 1080
    functionLinenumberEnd: 1135
    functionName: htsc_tile_supercell
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_supercell_assign_point
    - htsc_setpoint
    - htsc_getpoint
    linkageType: ''
    returnType: void
    signature: "void htsc_tile_supercell(htsc_dig_grid_t *super_cell, htsc_dig_grid_t
      *dot_grid,\n                 int x, int y, int u, int v, int N)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1157,1
    - Dst: htsc_dump_float_image
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1168,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - filter
    - x_size
    - y_size
    - stdvalx
    - stdvaly
    argTypes:
    - double*
    - int
    - int
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1170
    functionName: create_2d_gauss_filter
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - htsc_dump_float_image
    - exp
    linkageType: ''
    returnType: void
    signature: "void create_2d_gauss_filter(double *filter, int x_size, int y_size,\n
      \   double stdvalx, double stdvaly)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 11
    argNames:
    - screen_matrix
    - num_cols_sc
    - num_rows_sc
    - filter
    - num_cols_filt
    - num_rows_filt
    - screen_blur
    - max_val
    - max_pos
    - min_val
    - min_pos
    argTypes:
    - byte*
    - int
    - int
    - double*
    - int
    - int
    - double*
    - double*
    - htsc_point_t*
    - double*
    - htsc_point_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1173
    functionDepth: 0
    functionLinenumber: 1173
    functionLinenumberEnd: 1237
    functionName: htsc_apply_filter
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void htsc_apply_filter(byte *screen_matrix, int num_cols_sc,\n                  int
      num_rows_sc, double *filter, int num_cols_filt,\n                  int num_rows_filt,
      double *screen_blur,\n    double *max_val, htsc_point_t *max_pos, double *min_val,\n
      \                 htsc_point_t *min_pos)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1260,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1261,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1268,1
    - Dst: create_2d_gauss_filter
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1271,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1272,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1274,1
    - Dst: htsc_apply_filter
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1281,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1306,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1307,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 14
    argNames:
    - screen_matrix
    - num_cols
    - num_rows
    - horiz_dpi
    - vert_dpi
    - lpi_act
    - pos_x
    - pos_y
    - locate
    - num_dots
    - dot_level_position
    - level_num
    - num_dots_add
    - mem
    argTypes:
    - byte*
    - int
    - int
    - double
    - double
    - double
    - unsigned short*
    - unsigned short*
    - int*
    - int
    - htsc_dither_pos_t*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1239
    functionDepth: 2
    functionLinenumber: 1239
    functionLinenumberEnd: 1309
    functionName: htsc_add_dots
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - htsc_apply_filter
    - FREE
    - create_2d_gauss_filter
    - ALLOC
    - ROUND
    linkageType: ''
    returnType: int
    signature: "int htsc_add_dots(byte *screen_matrix, int num_cols, int num_rows,\n
      \             double horiz_dpi, double vert_dpi, double lpi_act,\n              unsigned
      short *pos_x, unsigned short *pos_y,\n              int *locate, int num_dots,\n
      \             htsc_dither_pos_t *dot_level_position, int level_num,\n              int
      num_dots_add, void *mem)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1331,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1332,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1339,1
    - Dst: create_2d_gauss_filter
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1342,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1343,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1345,1
    - Dst: htsc_apply_filter
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1351,1
    - Dst: htsc_dump_float_image
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1354,1
    - Dst: htsc_apply_filter
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1372,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1393,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1394,1
    - Dst: EPRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1412,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1413,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1414,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1419,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1420,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 69
    argCount: 11
    argNames:
    - screen_matrix
    - num_cols
    - num_rows
    - horiz_dpi
    - vert_dpi
    - lpi_act
    - pos_x
    - pos_y
    - num_dots
    - dot_level_position
    - mem
    argTypes:
    - byte*
    - int
    - int
    - double
    - double
    - double
    - unsigned short*
    - unsigned short*
    - int
    - htsc_dither_pos_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1311
    functionDepth: 2
    functionLinenumber: 1311
    functionLinenumberEnd: 1422
    functionName: htsc_init_dot_position
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - htsc_dump_float_image
    - htsc_apply_filter
    - FREE
    - create_2d_gauss_filter
    - EPRINTF
    - ALLOC
    - ROUND
    linkageType: ''
    returnType: int
    signature: "int htsc_init_dot_position(byte *screen_matrix, int num_cols, int
      num_rows,\n                       double horiz_dpi, double vert_dpi, double
      lpi_act,\n                       unsigned short *pos_x, unsigned short *pos_y,
      int num_dots,\n                       htsc_dither_pos_t *dot_level_position,
      void *mem)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1456,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1459,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1460,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1465,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1470,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1481,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1486,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1487,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1495,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1500,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1513,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1518,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1527,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1530,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1536,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1550,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1550,1
    - Dst: htsc_dump_byte_image
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1565,1
    - Dst: htsc_init_dot_position
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1571,1
    - Dst: htsc_dump_byte_image
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1577,1
    - Dst: htsc_add_dots
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1582,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1591,1
    - Dst: htsc_dump_byte_image
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1592,1
    - Dst: PRINTF
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1599,1
    - Dst: PRINTF2
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1602,1
    - Dst: PRINTF4
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1606,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1613,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1626,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1628,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1639,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1649,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1678,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1696,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1704,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1705,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1708,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1709,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1710,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1711,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1712,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1713,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1714,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1715,1
    CyclomaticComplexity: 67
    EdgeCount: 67
    ICount: 217
    argCount: 12
    argNames:
    - super_cell
    - final_mask
    - verbose
    - num_levels
    - y
    - x
    - vert_dpi
    - horiz_dpi
    - N
    - gamma
    - dot_grid
    - dot_grid_one_index
    argTypes:
    - htsc_dig_grid_t
    - htsc_dig_grid_t*
    - int
    - int
    - int
    - int
    - double
    - double
    - int
    - double
    - htsc_dig_grid_t
    - htsc_point_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1424
    functionDepth: 3
    functionLinenumber: 1424
    functionLinenumberEnd: 1718
    functionName: htsc_create_dither_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - sqrt
    - pow
    - PRINTF4
    - MAX
    - htsc_add_dots
    - PRINTF2
    - FREE
    - htsc_getpoint
    - htsc_init_dot_position
    - snprintf
    - rand
    - htsc_setpoint
    - memset
    - memcpy
    - htsc_dump_byte_image
    - PRINTF
    - ALLOC
    - ROUND
    linkageType: ''
    returnType: int
    signature: "int htsc_create_dither_mask(htsc_dig_grid_t super_cell, htsc_dig_grid_t
      *final_mask,\n                          int verbose, int num_levels, int y,
      int x, double vert_dpi,\n                          double horiz_dpi, int N,
      double gamma,\n                          htsc_dig_grid_t dot_grid, htsc_point_t
      dot_grid_one_index)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1736,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1742,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1751,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1754,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1756,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1760,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1761,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1762,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1766,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - super_cell
    - H
    - L
    - gamma
    - final_mask
    argTypes:
    - htsc_dig_grid_t
    - int
    - int
    - double
    - htsc_dig_grid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1720
    functionDepth: 1
    functionLinenumber: 1720
    functionLinenumberEnd: 1768
    functionName: htsc_create_holladay_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - pow
    - htsc_setpoint
    - htsc_getpoint
    - FREE
    - floor
    - memset
    - ALLOC
    - ROUND
    linkageType: ''
    returnType: int
    signature: "int htsc_create_holladay_mask(htsc_dig_grid_t super_cell, int H, int
      L,\n                          double gamma, htsc_dig_grid_t *final_mask)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1786,1
    - Dst: ALLOC
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1793,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1802,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1805,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1807,1
    - Dst: htsc_getpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1811,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1812,1
    - Dst: htsc_setpoint
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1813,1
    - Dst: FREE
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1817,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 5
    argNames:
    - super_cell
    - H
    - L
    - gamma
    - final_mask
    argTypes:
    - htsc_dig_grid_t
    - int
    - int
    - double
    - htsc_dig_grid_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1770
    functionDepth: 1
    functionLinenumber: 1770
    functionLinenumberEnd: 1819
    functionName: htsc_create_nondithered_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - pow
    - htsc_setpoint
    - htsc_getpoint
    - FREE
    - floor
    - memset
    - ALLOC
    - ROUND
    linkageType: ''
    returnType: int
    signature: "int htsc_create_nondithered_mask(htsc_dig_grid_t super_cell, int H,
      int L,\n                          double gamma, htsc_dig_grid_t *final_mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1826
    functionName: htsc_spot_circle
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double htsc_spot_circle(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1831,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1831,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1832
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1832
    functionName: htsc_spot_redbook
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - cos
    linkageType: ''
    returnType: double
    signature: double htsc_spot_redbook(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1834
    functionDepth: 0
    functionLinenumber: 1834
    functionLinenumberEnd: 1838
    functionName: htsc_spot_inverted_round
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double htsc_spot_inverted_round(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1843,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1840
    functionDepth: 0
    functionLinenumber: 1840
    functionLinenumberEnd: 1844
    functionName: htsc_spot_rhomboid
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_rhomboid(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1850
      start: 1846
    functionDepth: 0
    functionLinenumber: 1846
    functionLinenumberEnd: 1850
    functionName: htsc_spot_linex
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_linex(double x, double y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1852
    functionDepth: 0
    functionLinenumber: 1852
    functionLinenumberEnd: 1856
    functionName: htsc_spot_liney
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_liney(double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1861,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1874
    functionName: htsc_spot_diamond
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_diamond(double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1879,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1879,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1886
      start: 1876
    functionDepth: 0
    functionLinenumber: 1876
    functionLinenumberEnd: 1886
    functionName: htsc_spot_diamond2
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_diamond2(double x, double y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1891,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1891,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1896,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1896,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1896,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1896,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1898
      start: 1888
    functionDepth: 0
    functionLinenumber: 1888
    functionLinenumberEnd: 1898
    functionName: htsc_spot_roundspot
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 0
    functionsReached:
    - fabs
    linkageType: ''
    returnType: double
    signature: double htsc_spot_roundspot(double x, double y)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: htsc_spot_circle
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1905,1
    - Dst: htsc_spot_redbook
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1907,1
    - Dst: htsc_spot_inverted_round
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1909,1
    - Dst: htsc_spot_rhomboid
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1911,1
    - Dst: htsc_spot_linex
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1913,1
    - Dst: htsc_spot_liney
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1915,1
    - Dst: htsc_spot_diamond
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1917,1
    - Dst: htsc_spot_diamond2
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1919,1
    - Dst: htsc_spot_roundspot
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1921,1
    - Dst: htsc_spot_circle
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1923,1
    - Dst: htsc_spot_circle
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 3
    argNames:
    - spot_type
    - x
    - y
    argTypes:
    - spottype_t
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1927
    functionName: htsc_spot_value
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - htsc_spot_diamond
    - htsc_spot_inverted_round
    - htsc_spot_roundspot
    - htsc_spot_circle
    - htsc_spot_rhomboid
    - htsc_spot_linex
    - htsc_spot_redbook
    - htsc_spot_diamond2
    - htsc_spot_liney
    linkageType: ''
    returnType: double
    signature: double htsc_spot_value(spottype_t spot_type, double x, double y)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1942,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1943,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1960,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1964,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - dig_grid
    - filename
    argTypes:
    - htsc_dig_grid_t*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1930
    functionDepth: 0
    functionLinenumber: 1930
    functionLinenumberEnd: 1965
    functionName: htsc_dump_screen
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - snprintf
    - fclose
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void htsc_dump_screen(htsc_dig_grid_t *dig_grid, char filename[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1977,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1978,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1985,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:1988,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - image
    - height
    - width
    - max_val
    - filename
    argTypes:
    - double*
    - int
    - int
    - double
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1989
    functionName: htsc_dump_float_image
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 2
    functionsReached:
    - snprintf
    - fclose
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: "void htsc_dump_float_image(double *image, int height, int width, double
      max_val,\n                      char filename[])"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:2001,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:2002,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:2009,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gen_ordered.c:2012,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - image
    - height
    - width
    - max_val
    - filename
    argTypes:
    - byte*
    - int
    - int
    - double
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1991
    functionDepth: 0
    functionLinenumber: 1991
    functionLinenumberEnd: 2013
    functionName: htsc_dump_byte_image
    functionSourceFile: /src/libspectre/ghostscript/base/gen_ordered.c
    functionUses: 1
    functionsReached:
    - snprintf
    - fclose
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: "void htsc_dump_byte_image(byte *image, int height, int width, double
      max_val,\n                      char filename[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_PDiff_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/spdiff.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: s_PDiff_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached:
    - s_PDiff_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_PDiff_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 53
    functionName: s_PDiff_reinit
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_PDiff_reinit(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_PDiff_reinit
      Src: /src/libspectre/ghostscript/base/spdiff.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: s_PDiffE_init
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached:
    - s_PDiff_reinit
    linkageType: ''
    returnType: int
    signature: int s_PDiffE_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_PDiffE_init
      Src: /src/libspectre/ghostscript/base/spdiff.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: s_PDiffD_init
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached:
    - s_PDiffE_init
    linkageType: ''
    returnType: int
    signature: int s_PDiffD_init(stream_state * st)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/spdiff.c:109,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:174,1
    - Dst: ENCODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:179,1
    - Dst: ENCODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:181,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:186,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:188,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:190,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:223,1
    - Dst: DECODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:228,1
    - Dst: DECODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:230,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:235,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:238,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:241,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:244,1
    - Dst: ENCODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:258,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:258,1
    - Dst: ENCODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:260,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:260,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:265,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:265,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:267,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:267,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:269,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:269,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:271,1
    - Dst: SUB4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:271,1
    - Dst: DECODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:278,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:278,1
    - Dst: DECODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:280,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:280,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:285,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:286,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:286,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:288,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:288,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:288,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:290,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:290,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:290,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:292,1
    - Dst: ADD4X2
      Src: /src/libspectre/ghostscript/base/spdiff.c:292,1
    - Dst: ENCODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:308,1
    - Dst: SUB2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:308,1
    - Dst: ENCODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:310,1
    - Dst: SUB2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:310,1
    - Dst: ENCODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:315,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:320,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:330,1
    - Dst: SUB2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:331,1
    - Dst: SUB2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:332,1
    - Dst: DECODE_UNALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:341,1
    - Dst: ADD2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:341,1
    - Dst: DECODE_ALIGNED_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:343,1
    - Dst: ADD2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:343,1
    - Dst: DECODE1_LOOP
      Src: /src/libspectre/ghostscript/base/spdiff.c:348,1
    - Dst: ADD2X4R4
      Src: /src/libspectre/ghostscript/base/spdiff.c:348,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:353,1
    - Dst: ADD2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:354,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:361,1
    - Dst: ADD2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:362,1
    - Dst: ADD2X4
      Src: /src/libspectre/ghostscript/base/spdiff.c:363,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:408,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:408,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:412,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:412,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:418,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:418,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:418,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:419,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:427,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:427,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:427,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:428,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:436,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:436,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:436,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:437,1
    - Dst: ENCODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:437,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:445,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:445,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:445,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:446,1
    - Dst: DECODE8
      Src: /src/libspectre/ghostscript/base/spdiff.c:446,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:497,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:497,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:501,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:501,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:507,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:507,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:507,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:508,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:516,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:516,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:516,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:517,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:525,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:525,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:525,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:526,1
    - Dst: ENCODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:526,1
    - Dst: LOOP_BY
      Src: /src/libspectre/ghostscript/base/spdiff.c:534,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:534,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:534,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:535,1
    - Dst: DECODE16
      Src: /src/libspectre/ghostscript/base/spdiff.c:535,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 266
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 558
    functionName: s_PDiff_process
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached:
    - DECODE_UNALIGNED_LOOP
    - LOOP_BY
    - ADD2X4
    - DECODE16
    - SUB4X2
    - ENCODE1_LOOP
    - DECODE1_LOOP
    - DECODE_ALIGNED_LOOP
    - ADD4X2
    - SUB2X4
    - ENCODE16
    - DECODE8
    - ENCODE_ALIGNED_LOOP
    - ENCODE8
    - memset
    - ADD2X4R4
    - ENCODE_UNALIGNED_LOOP
    linkageType: ''
    returnType: int
    signature: "int s_PDiff_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - body
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: LOOP_BY
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOP_BY(n, body)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ee
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    functionName: ENCODE1_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE1_LOOP(ee)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ee
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 154
    functionName: ENCODE_ALIGNED_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_ALIGNED_LOOP(ee)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shift
    - ','
    - cshift
    - ','
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 168
    functionName: ENCODE_UNALIGNED_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE_UNALIGNED_LOOP(shift, cshift, de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - te
    - ','
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    functionName: DECODE1_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE1_LOOP(te, de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: DECODE_ALIGNED_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_ALIGNED_LOOP(de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - shift
    - ','
    - cshift
    - ','
    - de
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: DECODE_UNALIGNED_LOOP
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_UNALIGNED_LOOP(shift, cshift, de)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: ADD4X2
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD4X2(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: SUB4X2
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB4X2(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: ADD2X4
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2X4(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: ADD2X4R4
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADD2X4R4(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 302
    functionName: SUB2X4
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2X4(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: SUB2X4R4
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SUB2X4R4(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: ENCODE8
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE8(s, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    functionName: DECODE8
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE8(s, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: ENCODE16
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENCODE16(s, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: DECODE16
    functionSourceFile: /src/libspectre/ghostscript/base/spdiff.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE16(s, d)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sarc4.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - state
    - key
    - keylength
    argTypes:
    - stream_arcfour_state*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 67
    functionName: s_arcfour_set_key
    functionSourceFile: /src/libspectre/ghostscript/base/sarc4.c
    functionUses: 4
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int s_arcfour_set_key(stream_arcfour_state * state, const unsigned
      char *key,\n                  int keylength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 108
    functionName: s_arcfour_process
    functionSourceFile: /src/libspectre/ghostscript/base/sarc4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_arcfour_process(stream_state * ss, stream_cursor_read * pr,\n
      \                 stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_arcfour_process
      Src: /src/libspectre/ghostscript/base/sarc4.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ss
    - buf
    - buf_size
    argTypes:
    - stream_arcfour_state*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: s_arcfour_process_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/sarc4.c
    functionUses: 5
    functionsReached:
    - s_arcfour_process
    linkageType: ''
    returnType: int
    signature: int s_arcfour_process_buffer(stream_arcfour_state *ss, byte *buf, int
      buf_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetVersion
      Src: /src/libspectre/ghostscript/base/gp_msdll.c:36,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_msdll.c:38,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/base/gp_msdll.c:38,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - hInst
    - fdwReason
    - lpReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 44
    functionName: DllEntryPoint
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdll.c
    functionUses: 0
    functionsReached:
    - GetVersion
    - HIWORD
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT DllEntryPoint(HINSTANCE hInst, DWORD fdwReason, LPVOID
      lpReserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DllEntryPoint
      Src: /src/libspectre/ghostscript/base/gp_msdll.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - hInst
    - fdwReason
    - lpReserved
    argTypes:
    - HINSTANCE
    - DWORD
    - LPVOID
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: DllMain
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdll.c
    functionUses: 0
    functionsReached:
    - DllEntryPoint
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT DllMain(HINSTANCE hInst, DWORD fdwReason, LPVOID lpReserved)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - name
    - ','
    - mode
    - ','
    - m1
    - ','
    - m2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: fopen_VMS
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fopen_VMS(name, mode, m1, m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rmsv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: RMS_IS_ERROR_OR_NMF
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RMS_IS_ERROR_OR_NMF(rmsv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - str
    - maxlen
    - term
    argTypes:
    - char*
    - uint
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 83
    functionName: strlength
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint strlength(char *str, uint maxlen, char term)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_vms.c:104,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_vms.c:106,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_vms.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 109
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:136,1
    - Dst: SYS$BINTIM
      Src: /src/libspectre/ghostscript/base/gp_vms.c:138,1
    - Dst: SYS$GETTIM
      Src: /src/libspectre/ghostscript/base/gp_vms.c:141,1
    - Dst: LIB$SUBX
      Src: /src/libspectre/ghostscript/base/gp_vms.c:142,1
    - Dst: LIB$EDIV
      Src: /src/libspectre/ghostscript/base/gp_vms.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 147
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 6
    functionsReached:
    - LIB$EDIV
    - strlen
    - SYS$BINTIM
    - LIB$SUBX
    - SYS$GETTIM
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_vms.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 2
    functionsReached:
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/gp_vms.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: gp_getenv_display
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_getenv_display(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:176,1
    - Dst: fopen_VMS
      Src: /src/libspectre/ghostscript/base/gp_vms.c:186,1
    - Dst: fopen_VMS
      Src: /src/libspectre/ghostscript/base/gp_vms.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char[]
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 190
    functionName: gp_open_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached:
    - strlen
    - fopen_VMS
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer(const gs_memory_t *mem,\n                      char
      \        fname[gp_file_name_sizeof],\n                      int         *binary_mode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_vms.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file *pfile, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gp_vms.c:238,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:238,1
    - Dst: gp_gettmpdir
      Src: /src/libspectre/ghostscript/base/gp_vms.c:239,1
    - Dst: gp_file_name_combine
      Src: /src/libspectre/ghostscript/base/gp_vms.c:241,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:241,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:247,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:249,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_vms.c:251,1
    - Dst: mktemp
      Src: /src/libspectre/ghostscript/base/gp_vms.c:252,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:253,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_vms.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - remove
    argTypes:
    - gs_memory_t*
    - char*
    - char[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 258
    functionName: gp_open_scratch_file_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 3
    functionsReached:
    - gp_file_name_is_absolute
    - strcat
    - gp_file_name_combine
    - strlen
    - gp_gettmpdir
    - strcpy
    - emprintf1
    - mktemp
    - fopen
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file_impl(const gs_memory_t *mem,\n                          const
      char        *prefix,\n                                char         fname[gp_file_name_sizeof],\n
      \                         const char        *mode,\n                                int
      \         remove)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gp_vms.c:270,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:272,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_vms.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 275
    functionName: gp_fopen_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 3
    functionsReached:
    - stat
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_fopen_impl(gs_memory_t *mem, const char *fname, const char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_vms.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: gp_unlink_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 2
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int gp_unlink_impl(gs_memory_t *mem, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspectre/ghostscript/base/gp_vms.c:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - from
    - to
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: gp_rename_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - rename
    linkageType: ''
    returnType: int
    signature: int gp_rename_impl(gs_memory_t *mem, const char *from, const char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gp_vms.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 292
    functionName: gp_stat_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: int gp_stat_impl(const gs_memory_t *mem, const char *path, struct stat
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    functionName: gp_can_share_fdesc
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_can_share_fdesc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 302
    functionName: gp_fdup_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: FILE *gp_fdup_impl(FILE *f, const char *mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 307
    functionName: gp_pread_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_pread_impl(char *buf, size_t count, gs_offset_t offset, FILE
      *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 312
    functionName: gp_pwrite_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_pwrite_impl(const char *buf, size_t count, gs_offset_t offset,
      FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - binary
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool binary)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LIB$FIND_FILE_END
      Src: /src/libspectre/ghostscript/base/gp_vms.c:327,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:328,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pfen
    argTypes:
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 333
    functionName: gp_free_enumeration
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached:
    - LIB$FIND_FILE_END
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gp_free_enumeration(file_enum * pfen)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_vms.c:345,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_vms.c:347,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:349,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:350,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:391,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_vms.c:392,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 404
    functionName: gp_enumerate_files_init_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init_impl(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIB$FIND_FILE
      Src: /src/libspectre/ghostscript/base/gp_vms.c:424,1
    - Dst: RMS_IS_ERROR_OR_NMF
      Src: /src/libspectre/ghostscript/base/gp_vms.c:428,1
    - Dst: gp_free_enumeration
      Src: /src/libspectre/ghostscript/base/gp_vms.c:429,1
    - Dst: strlength
      Src: /src/libspectre/ghostscript/base/gp_vms.c:431,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 440
    functionName: gp_enumerate_files_next_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - LIB$FIND_FILE
    - gp_free_enumeration
    - RMS_IS_ERROR_OR_NMF
    - strlength
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen,
      char *ptr, uint maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_free_enumeration
      Src: /src/libspectre/ghostscript/base/gp_vms.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    functionName: gp_enumerate_files_close_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - gp_free_enumeration
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close_impl(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 466
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 507
    functionName: gp_file_name_root
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_root(const char *fname, uint len)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 3
    argNames:
    - fname
    - len
    - item
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 531
    functionName: gs_file_name_check_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_file_name_check_separator(const char *fname, int len, const
      char *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 536
    functionName: gp_file_name_is_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 541
    functionName: gp_file_name_is_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_current(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 545
    functionName: gp_file_name_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    functionName: gp_file_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_directory_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    functionName: gp_file_name_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 557
    functionName: gp_file_name_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 561
    functionName: gp_file_name_is_parent_allowed
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent_allowed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 565
    functionName: gp_file_name_is_empty_item_meanful
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_empty_item_meanful(void)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_root
      Src: /src/libspectre/ghostscript/base/gp_vms.c:590,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:598,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:606,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:609,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:610,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/base/gp_vms.c:617,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:622,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:623,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/base/gp_vms.c:628,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/base/gp_vms.c:629,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:646,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:647,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:648,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/base/gp_vms.c:649,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_vms.c:656,1
    - Dst: gp_file_name_combine_generic
      Src: /src/libspectre/ghostscript/base/gp_vms.c:671,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 73
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 567
    functionDepth: 2
    functionLinenumber: 567
    functionLinenumberEnd: 673
    functionName: gp_file_name_combine
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 2
    functionsReached:
    - memcpy
    - gp_file_name_combine_generic
    - memchr
    - gp_file_name_root
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine(const char *prefix,
      uint plen, const char *fname, uint flen,\n                    bool no_sibling,
      char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: gp_file_name_good_char
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_good_char(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 694
    functionDepth: 0
    functionLinenumber: 694
    functionLinenumberEnd: 697
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 699
    functionDepth: 0
    functionLinenumber: 699
    functionLinenumberEnd: 701
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gp_vms.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - strm
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 711
    functionName: gp_ftell_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - ftell
    linkageType: ''
    returnType: int64_t
    signature: int64_t gp_ftell_impl(FILE *strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/gp_vms.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - strm
    - offset
    - origin
    argTypes:
    - FILE*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 720
    functionName: gp_fseek_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - fseek
    linkageType: ''
    returnType: int
    signature: int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_vms.c:727,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/base/gp_vms.c:731,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/base/gp_vms.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 735
    functionName: gp_fseekable_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_vms.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - fileno
    - fstat
    linkageType: ''
    returnType: bool
    signature: bool gp_fseekable_impl(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(a, b, c, d, e, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ptr
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: put5
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put5(ptr, a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - wxyz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: putw
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putw(ptr, wxyz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 83
    functionName: set_color40_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color40_cache(color, a, b, c, d, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - color
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: set_color40_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color40_cache(color, a, b, c, d, e)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm40.c:101,1
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:102,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevm40.c:109,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:110,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:117,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:118,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:122,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm40.c:122,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevm40.c:124,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:125,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:138,1
    - Dst: set_color40_cache
      Src: /src/libspectre/ghostscript/base/gdevm40.c:139,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:147,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevm40.c:149,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gdevm40.c:155,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:161,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm40.c:161,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:169,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:175,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:176,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:183,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:184,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:185,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:192,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:193,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:194,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:195,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:196,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:202,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:206,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:207,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:212,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:213,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm40.c:214,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:222,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm40.c:226,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevm40.c:226,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:227,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:236,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:247,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:258,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:265,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 154
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 275
    functionName: mem_true40_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - countof
    - INCR
    - memmove
    - max
    - declare_scan_ptr
    - memset
    - fit_fill_xywh
    - setup_rect
    - set_color40_cache
    - min
    - putw
    linkageType: ''
    returnType: int
    signature: "int mem_true40_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:288,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm40.c:290,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:291,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm40.c:297,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm40.c:298,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:309,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:311,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:318,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm40.c:322,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:344,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:354,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:356,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:358,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:360,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:364,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:366,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:368,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:370,1
    - Dst: put5
      Src: /src/libspectre/ghostscript/base/gdevm40.c:381,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm40.c:388,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 392
    functionName: mem_true40_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - put5
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true40_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm40.c:402,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 405
    functionName: mem_true40_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true40_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm40.c:434,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm40.c:435,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:437,1
    - Dst: mem_true40_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm40.c:438,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: mem40_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - mem_true40_fill_rectangle
    - scan_line_base
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem40_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm40.c:454,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm40.c:455,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:458,1
    - Dst: mem_true40_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm40.c:459,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 463
    functionName: mem40_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - mem_true40_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem40_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm40.c:475,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm40.c:476,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:478,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm40.c:479,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm40.c:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 483
    functionName: mem40_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm40.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem40_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - destp
    - srcp
    - src_offset
    - width
    - depth
    argTypes:
    - gx_color_index*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 66
    functionName: unpack_scanline_lt8
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unpack_scanline_lt8(\n    gx_color_index *    destp,\n    const
      byte *        srcp,\n    int                 src_offset,\n    int                 width,\n
      \   int                 depth )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - srcp
    - destp
    - dest_offset
    - width
    - depth
    argTypes:
    - gx_color_index*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 110
    functionName: pack_scanline_lt8
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pack_scanline_lt8(\n    const gx_color_index *  srcp,\n    byte
      *                  destp,\n    int                     dest_offset,\n    int
      \                    width,\n    int                     depth )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - destp
    - srcp
    - src_offset
    - width
    - depth
    argTypes:
    - gx_color_index*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 140
    functionName: unpack_scanline_ge8
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void unpack_scanline_ge8(\n    gx_color_index *    destp,\n    const
      byte *        srcp,\n    int                 src_offset,\n    int                 width,\n
      \   int                 depth )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - srcp
    - destp
    - dest_offset
    - width
    - depth
    argTypes:
    - gx_color_index*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 169
    functionName: pack_scanline_ge8
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pack_scanline_ge8(\n    const gx_color_index *  srcp,\n    byte
      *                  destp,\n    int                     dest_offset,\n    int
      \                    width,\n    int                     depth )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gxoprect.c:212,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:227,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxoprect.c:232,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxoprect.c:236,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxoprect.c:239,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxoprect.c:240,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxoprect.c:242,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxoprect.c:245,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:309,1
    - Dst: unpack_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:315,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:321,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:327,1
    - Dst: pack_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:329,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:330,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxoprect.c:338,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxoprect.c:341,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 8
    argNames:
    - tdev
    - drawn_comps
    - x
    - y
    - w
    - h
    - color
    - mem
    argTypes:
    - gx_device*
    - gx_color_index
    - int
    - int
    - int
    - int
    - gx_color_index
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 346
    functionName: gx_overprint_generic_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - unpack_proc
    - pack_proc
    - fit_fill
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_overprint_generic_fill_rectangle(\n    gx_device *             tdev,\n
      \   gx_color_index          drawn_comps,\n    int                     x,\n    int
      \                    y,\n    int                     w,\n    int                     h,\n
      \   gx_color_index          color,\n    gs_memory_t *           mem )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: mono_fill_make_pattern
      Src: /src/libspectre/ghostscript/base/gxoprect.c:388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - depth
    - color
    argTypes:
    - int
    - mono_fill_chunk
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 403
    functionName: replicate_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached:
    - mono_fill_make_pattern
    linkageType: ''
    returnType: mono_fill_chunk
    signature: mono_fill_chunk replicate_color(int depth, mono_fill_chunk color)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gxoprect.c:456,1
    - Dst: replicate_color
      Src: /src/libspectre/ghostscript/base/gxoprect.c:461,1
    - Dst: replicate_color
      Src: /src/libspectre/ghostscript/base/gxoprect.c:462,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxoprect.c:469,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxoprect.c:470,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxoprect.c:472,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:497,1
    - Dst: bits_fill_rectangle_masked
      Src: /src/libspectre/ghostscript/base/gxoprect.c:503,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:510,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxoprect.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 8
    argNames:
    - tdev
    - retain_mask
    - x
    - y
    - w
    - h
    - color
    - mem
    argTypes:
    - gx_device*
    - gx_color_index
    - int
    - int
    - int
    - int
    - gx_color_index
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 523
    functionName: gx_overprint_sep_fill_rectangle_1
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached:
    - bits_fill_rectangle_masked
    - replicate_color
    - gs_alloc_bytes
    - fit_fill
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_overprint_sep_fill_rectangle_1(\n    gx_device *             tdev,\n
      \   gx_color_index          retain_mask,    /* already swapped */\n    int                     x,\n
      \   int                     y,\n    int                     w,\n    int                     h,\n
      \   gx_color_index          color,          /* already swapped */\n    gs_memory_t
      *           mem )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gxoprect.c:544,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxoprect.c:556,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxoprect.c:557,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxoprect.c:559,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:587,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxoprect.c:598,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxoprect.c:606,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 8
    argNames:
    - tdev
    - retain_mask
    - x
    - y
    - w
    - h
    - color
    - mem
    argTypes:
    - gx_device*
    - gx_color_index
    - int
    - int
    - int
    - int
    - gx_color_index
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 611
    functionName: gx_overprint_sep_fill_rectangle_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxoprect.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - fit_fill
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_overprint_sep_fill_rectangle_2(\n    gx_device *             tdev,\n
      \   gx_color_index          retain_mask,    /* already swapped */\n    int                     x,\n
      \   int                     y,\n    int                     w,\n    int                     h,\n
      \   gx_color_index          color,          /* already swapped */\n    gs_memory_t
      *           mem )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gsroprun.c:64,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsroprun.c:67,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsroprun.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 71
    functionName: write_usage
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - fclose
    - fwrite
    - fopen
    linkageType: ''
    returnType: void
    signature: void write_usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gsroprun.c:77,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsroprun.c:79,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gsroprun.c:81,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsroprun.c:82,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsroprun.c:85,1
    - Dst: atexit
      Src: /src/libspectre/ghostscript/base/gsroprun.c:86,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rop
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: record
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 3
    functionsReached:
    - atexit
    - fread
    - memset
    - fopen
    - fclose
    linkageType: ''
    returnType: void
    signature: void record(int rop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: get24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get24(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - pixel
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    functionName: put24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put24(ptr, pixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    functionName: MM_SETUP
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SETUP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    functionName: MM_SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SPECIFIC_CODE(O,D,S,T)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 148
    functionName: invert_rop_run1
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invert_rop_run1(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: MM_SETUP
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SETUP()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: MM_SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    functionName: invert_rop_run8
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void invert_rop_run8(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 245
    functionName: notS_rop_run1_const_s
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void notS_rop_run1_const_s(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 325
    functionName: dors_rop_run1_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dors_rop_run1_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 405
    functionName: xor_rop_run1_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_rop_run1_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 412
    functionDepth: 0
    functionLinenumber: 412
    functionLinenumberEnd: 413
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 414
    functionName: MM_SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SPECIFIC_CODE(O,D,S,T)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 428
    functionName: xor_rop_run8_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void xor_rop_run8_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 436
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:447,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:448,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 452
    functionName: xor_rop_run24_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - get24
    linkageType: ''
    returnType: void
    signature: void xor_rop_run24_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 458
    functionName: nop_rop_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void nop_rop_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:495,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:503,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:512,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:520,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:529,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 532
    functionName: sets_rop_run1
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void sets_rop_run1(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 540
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 541
    functionName: MM_SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: sets_rop_run8
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void sets_rop_run8(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - O
    - ','
    - D
    - ','
    - S
    - ','
    - T
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 560
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(O,D,S,T)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:568,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 564
    functionDepth: 0
    functionLinenumber: 564
    functionLinenumberEnd: 572
    functionName: copys_rop_run24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    linkageType: ''
    returnType: void
    signature: void copys_rop_run24(rop_run_op *op, byte *d, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:619,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:629,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:639,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:647,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:657,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:667,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:678,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 78
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 681
    functionName: generic_rop_run1
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run1(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 698
    functionName: generic_rop_run8
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run8(rop_run_op *op, byte *d, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun.c:711,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:749,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 753
    functionName: generic_rop_run8_1bit
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - lop_rop
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run8_1bit(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:767,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:767,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:767,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:767,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 760
    functionDepth: 0
    functionLinenumber: 760
    functionLinenumberEnd: 774
    functionName: generic_rop_run24
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - get24
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run24(rop_run_op *op, byte *d, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun.c:787,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:806,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:817,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:828,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:828,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:829,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 834
    functionName: generic_rop_run24_1bit
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - lop_rop
    - get24
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run24_1bit(rop_run_op *op, byte *d, int len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:879,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:887,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:896,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:904,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:913,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 916
    functionName: generic_rop_run1_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run1_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 924
    functionDepth: 0
    functionLinenumber: 924
    functionLinenumberEnd: 935
    functionName: generic_rop_run8_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run8_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun.c:947,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 945
    functionDepth: 1
    functionLinenumber: 945
    functionLinenumberEnd: 965
    functionName: generic_rop_run8_1bit_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - lop_rop
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run8_1bit_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:980,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:980,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:980,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 973
    functionDepth: 0
    functionLinenumber: 973
    functionLinenumberEnd: 986
    functionName: generic_rop_run24_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - get24
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run24_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun.c:999,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1017,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1017,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1018,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1022
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1022
    functionName: generic_rop_run24_1bit_const_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - lop_rop
    - get24
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run24_1bit_const_t(rop_run_op *op, byte *d, int len)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1065,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1071,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1078,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1084,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1031
    functionDepth: 0
    functionLinenumber: 1031
    functionLinenumberEnd: 1087
    functionName: generic_rop_run1_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run1_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1096
    functionDepth: 0
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    functionName: generic_rop_run8_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run8_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: proc
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1123,1
    - Dst: get24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1123,1
    - Dst: put24
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1128
    functionName: generic_rop_run24_const_st
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - put24
    - get24
    - proc
    linkageType: ''
    returnType: void
    signature: void generic_rop_run24_const_st(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_run_op*::runswap
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1132
    functionDepth: 0
    functionLinenumber: 1132
    functionLinenumberEnd: 1153
    functionName: record_run
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_run_op*::runswap
    linkageType: ''
    returnType: void
    signature: void record_run(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_run_op*::runswap
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1156
    functionDepth: 0
    functionLinenumber: 1156
    functionLinenumberEnd: 1179
    functionName: rop_run_swapped
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_run_op*::runswap
    linkageType: ''
    returnType: void
    signature: void rop_run_swapped(rop_run_op *op, byte *d, int len)
  - BBCount: 60
    BranchProfiles: []
    Callsites:
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1190,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1203,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1207,1
    - Dst: lop_swap_S_T
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1233,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1341,1
    - Dst: record
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1344,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1351,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1355,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1361,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1365,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1368,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1371,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1374,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1375,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1376,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1380,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1383,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1386,1
    - Dst: ROP_SPECIFIC_KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1390,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1394,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1400,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1403,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1404,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1407,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1410,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1411,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1414,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1420,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1423,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1426,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1429,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1432,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1438,1
    - Dst: KEY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1441,1
    - Dst: KEY_IS_ROP_SPECIFIC
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1447,1
    - Dst: STRIP_ROP_SPECIFICITY
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1449,1
    - Dst: eprintf1
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1452,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 209
    argCount: 4
    argNames:
    - op
    - lop
    - depth
    - flags
    argTypes:
    - rop_run_op*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1469
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1469
    functionName: rop_get_run_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 2
    functionsReached:
    - lop_sanitize
    - ROP_SPECIFIC_KEY
    - lop_swap_S_T
    - KEY
    - eprintf1
    - rop3_uses_T
    - rop3_uses_S
    - KEY_IS_ROP_SPECIFIC
    - STRIP_ROP_SPECIFICITY
    - record
    linkageType: ''
    returnType: int
    signature: int rop_get_run_op(rop_run_op *op, int lop, int depth, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - lop
    - ','
    - depth
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1337
    functionName: ROP_SPECIFIC_KEY
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROP_SPECIFIC_KEY(lop, depth, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1338
    functionName: KEY_IS_ROP_SPECIFIC
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEY_IS_ROP_SPECIFIC(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1339
      start: 1338
    functionDepth: 0
    functionLinenumber: 1338
    functionLinenumberEnd: 1339
    functionName: STRIP_ROP_SPECIFICITY
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRIP_ROP_SPECIFICITY(key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - depth
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1340
    functionName: KEY
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: KEY(depth, flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_s_constant
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - s
    argTypes:
    - rop_run_op*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1471
    functionDepth: 1
    functionLinenumber: 1471
    functionLinenumberEnd: 1474
    functionName: (rop_set_s_constant)(rop_run_op *op, int s)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_s_constant
    linkageType: ''
    returnType: void
    signature: void (rop_set_s_constant)(rop_run_op *op, int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_s_bitmap
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - s
    argTypes:
    - rop_run_op*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1479
    functionName: (rop_set_s_bitmap)(rop_run_op *op, const byte *s)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_s_bitmap
    linkageType: ''
    returnType: void
    signature: void (rop_set_s_bitmap)(rop_run_op *op, const byte *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_s_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - op
    - s
    - pos
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1484
    functionName: (rop_set_s_bitmap_subbyte)(rop_run_op *op, const byte *s, int pos)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_s_bitmap_subbyte
    linkageType: ''
    returnType: void
    signature: void (rop_set_s_bitmap_subbyte)(rop_run_op *op, const byte *s, int
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_s_colors
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - scolors
    argTypes:
    - rop_run_op*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1489
      start: 1486
    functionDepth: 1
    functionLinenumber: 1486
    functionLinenumberEnd: 1489
    functionName: (rop_set_s_colors)(rop_run_op *op, const byte *scolors)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_s_colors
    linkageType: ''
    returnType: void
    signature: void (rop_set_s_colors)(rop_run_op *op, const byte *scolors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_t_constant
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - t
    argTypes:
    - rop_run_op*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: (rop_set_t_constant)(rop_run_op *op, int t)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_t_constant
    linkageType: ''
    returnType: void
    signature: void (rop_set_t_constant)(rop_run_op *op, int t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_t_bitmap
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - t
    argTypes:
    - rop_run_op*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1496
    functionDepth: 1
    functionLinenumber: 1496
    functionLinenumberEnd: 1499
    functionName: (rop_set_t_bitmap)(rop_run_op *op, const byte *t)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_t_bitmap
    linkageType: ''
    returnType: void
    signature: void (rop_set_t_bitmap)(rop_run_op *op, const byte *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_t_bitmap_subbyte
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - op
    - t
    - pos
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1501
    functionDepth: 1
    functionLinenumber: 1501
    functionLinenumberEnd: 1504
    functionName: (rop_set_t_bitmap_subbyte)(rop_run_op *op, const byte *t, int pos)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_t_bitmap_subbyte
    linkageType: ''
    returnType: void
    signature: void (rop_set_t_bitmap_subbyte)(rop_run_op *op, const byte *t, int
      pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_set_t_colors
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - op
    - tcolors
    argTypes:
    - rop_run_op*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1509
      start: 1506
    functionDepth: 1
    functionLinenumber: 1506
    functionLinenumberEnd: 1509
    functionName: (rop_set_t_colors)(rop_run_op *op, const byte *tcolors)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_set_t_colors
    linkageType: ''
    returnType: void
    signature: void (rop_set_t_colors)(rop_run_op *op, const byte *tcolors)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_run
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1514
      start: 1511
    functionDepth: 1
    functionLinenumber: 1511
    functionLinenumberEnd: 1514
    functionName: (rop_run)(rop_run_op *op, byte *d, int len)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_run
    linkageType: ''
    returnType: void
    signature: void (rop_run)(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_run_subbyte
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - op
    - d
    - start
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1516
    functionDepth: 1
    functionLinenumber: 1516
    functionLinenumberEnd: 1519
    functionName: (rop_run_subbyte)(rop_run_op *op, byte *d, int start, int len)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_run_subbyte
    linkageType: ''
    returnType: void
    signature: void (rop_run_subbyte)(rop_run_op *op, byte *d, int start, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rop_release_run_op
      Src: /src/libspectre/ghostscript/base/gsroprun.c:1523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - op
    argTypes:
    - rop_run_op*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1524
    functionName: (rop_release_run_op)(rop_run_op *op)
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun.c
    functionUses: 0
    functionsReached:
    - rop_release_run_op
    linkageType: ''
    returnType: void
    signature: void (rop_release_run_op)(rop_run_op *op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: cs_proc_adjust_client_cspace_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsnamecl.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_adjust_client_cspace_count(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - bc
    - bck
    argTypes:
    - gx_bits_cache*
    - gx_bits_cache_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 37
    functionName: gx_bits_cache_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_bits_cache_init(gx_bits_cache * bc, gx_bits_cache_chunk * bck)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb_head_set_free
      Src: /src/libspectre/ghostscript/base/gxbcache.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - bck
    - data
    - size
    argTypes:
    - gx_bits_cache_chunk*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: gx_bits_cache_chunk_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.c
    functionUses: 3
    functionsReached:
    - cb_head_set_free
    linkageType: ''
    returnType: void
    signature: void gx_bits_cache_chunk_init(gx_bits_cache_chunk * bck, byte * data,
      uint size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxbcache.c:65,1
    - Dst: cb_head_is_free
      Src: /src/libspectre/ghostscript/base/gxbcache.c:85,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxbcache.c:92,1
    - Dst: cb_head_set_free
      Src: /src/libspectre/ghostscript/base/gxbcache.c:99,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxbcache.c:100,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gxbcache.c:103,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 3
    argNames:
    - bc
    - lsize0
    - pcbh
    argTypes:
    - gx_bits_cache*
    - ulong
    - gx_cached_bits_head**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 113
    functionName: gx_bits_cache_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.c
    functionUses: 2
    functionsReached:
    - if_debug2
    - ROUND_UP
    - cb_head_is_free
    - cb_head_set_free
    - gs_alloc_fill
    linkageType: ''
    returnType: int
    signature: int gx_bits_cache_alloc(gx_bits_cache * bc, ulong lsize0, gx_cached_bits_head
      ** pcbh)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cb_head_set_free
      Src: /src/libspectre/ghostscript/base/gxbcache.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - bc
    - cbh
    - diff
    - bck
    argTypes:
    - gx_bits_cache*
    - gx_cached_bits_head*
    - uint
    - gx_bits_cache_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: gx_bits_cache_shorten
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.c
    functionUses: 1
    functionsReached:
    - cb_head_set_free
    linkageType: ''
    returnType: void
    signature: "void gx_bits_cache_shorten(gx_bits_cache * bc, gx_cached_bits_head
      * cbh,\n                      uint diff, gx_bits_cache_chunk * bck)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/base/gxbcache.c:145,1
    - Dst: cb_head_set_free
      Src: /src/libspectre/ghostscript/base/gxbcache.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - bc
    - cbh
    - bck
    argTypes:
    - gx_bits_cache*
    - gx_cached_bits_head*
    - gx_bits_cache_chunk*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 148
    functionName: gx_bits_cache_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.c
    functionUses: 2
    functionsReached:
    - gs_alloc_fill
    - cb_head_set_free
    linkageType: ''
    returnType: void
    signature: "void gx_bits_cache_free(gx_bits_cache * bc, gx_cached_bits_head *
      cbh,\n                   gx_bits_cache_chunk * bck)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: setlocale
    functionSourceFile: /src/libspectre/ghostscript/base/locale_.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setlocale(c,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - s
    - ','
    - dx
    - ','
    - dy
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: add_deltas
    functionSourceFile: /src/libspectre/ghostscript/base/gsimpath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: add_deltas(s, dx, dy, n)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:67,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:67,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:68,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:68,1
    - Dst: trace_from
      Src: /src/libspectre/ghostscript/base/gsimpath.c:69,1
    - Dst: trace_from
      Src: /src/libspectre/ghostscript/base/gsimpath.c:73,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:75,1
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/base/gsimpath.c:76,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 4
    argNames:
    - pgs
    - width
    - height
    - data
    argTypes:
    - gs_gstate*
    - int
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 81
    functionName: gs_imagepath
    functionSourceFile: /src/libspectre/ghostscript/base/gsimpath.c
    functionUses: 0
    functionsReached:
    - get_pixel
    - trace_from
    - add_deltas
    - gs_closepath
    linkageType: ''
    returnType: int
    signature: int gs_imagepath(gs_gstate * pgs, int width, int height, const byte
      * data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - out
    - x
    - y
    argTypes:
    - status*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: get_pixel
    functionSourceFile: /src/libspectre/ghostscript/base/gsimpath.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_pixel(register const status * out, int x, int y)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:106,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/base/gsimpath.c:108,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:121,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:128,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:131,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:132,1
    - Dst: get_pixel
      Src: /src/libspectre/ghostscript/base/gsimpath.c:138,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:140,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:141,1
    - Dst: add_deltas
      Src: /src/libspectre/ghostscript/base/gsimpath.c:147,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 4
    argNames:
    - out
    - x0
    - y0
    - detect
    argTypes:
    - status*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 95
    functionDepth: 5
    functionLinenumber: 95
    functionLinenumberEnd: 159
    functionName: trace_from
    functionSourceFile: /src/libspectre/ghostscript/base/gsimpath.c
    functionUses: 1
    functionsReached:
    - get_pixel
    - gs_moveto
    - add_deltas
    linkageType: ''
    returnType: int
    signature: int trace_from(register status * out, int x0, int y0, int detect)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_rlineto
      Src: /src/libspectre/ghostscript/base/gsimpath.c:171,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - out
    - dx
    - dy
    - count
    argTypes:
    - status*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 163
    functionDepth: 5
    functionLinenumber: 163
    functionLinenumberEnd: 183
    functionName: add_dxdy
    functionSourceFile: /src/libspectre/ghostscript/base/gsimpath.c
    functionUses: 0
    functionsReached:
    - gs_rlineto
    linkageType: ''
    returnType: int
    signature: int add_dxdy(register status * out, int dx, int dy, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:46,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:46,1
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:49,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:54,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:55,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:56,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - adev
    - mem
    - target
    - alpha_bits
    argTypes:
    - gx_device_memory*
    - gs_memory_t*
    - gx_device*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 58
    functionName: gs_make_mem_alpha_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 1
    functionsReached:
    - gdev_mem_device_for_bits
    - gs_make_mem_device
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: "void gs_make_mem_alpha_device(gx_device_memory * adev, gs_memory_t
      * mem,\n                         gx_device * target, int alpha_bits)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: mem_alpha_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - gx_forward_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index mem_alpha_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_map_color_rgb
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:75,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: mem_alpha_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - gx_forward_map_color_rgb
    linkageType: ''
    returnType: int
    signature: "int mem_alpha_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                       gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_forward_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - dev
    - r
    - g
    - b
    - alpha
    argTypes:
    - gx_device*
    - gx_color_value
    - gx_color_value
    - gx_color_value
    - gx_color_value
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 79
    functionDepth: 2
    functionLinenumber: 79
    functionLinenumberEnd: 93
    functionName: mem_alpha_map_rgb_alpha_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - gx_forward_map_rgb_color
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index mem_alpha_map_rgb_alpha_color(gx_device * dev, gx_color_value
      r,\n                   gx_color_value g, gx_color_value b, gx_color_value alpha)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:120,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:123,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 127
    functionName: mem_alpha_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mem_alpha_copy_alpha(gx_device * dev, const byte * data, int data_x,\n
      \          int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \                    gx_color_index color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_mem_device
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:187,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:192,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - adev
    - mem
    - target
    - pscale
    - alpha_bits
    - mapped_x
    - devn
    argTypes:
    - gx_device_memory*
    - gs_memory_t*
    - gx_device*
    - gs_log2_scale_point*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 202
    functionName: gs_make_mem_abuf_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 1
    functionsReached:
    - gs_make_mem_device
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: "void gs_make_mem_abuf_device(gx_device_memory * adev, gs_memory_t
      * mem,\n                     gx_device * target, const gs_log2_scale_point *
      pscale,\n                        int alpha_bits, int mapped_x, bool devn)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: gs_device_is_abuf
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_device_is_abuf(const gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:224,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:230,1
    - Dst: bits_bounding_box
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:244,1
    - Dst: bits_compress_scaled
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:248,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:253,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:261,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - adev
    - y
    argTypes:
    - gx_device_memory*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 270
    functionName: abuf_flush_block
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_bounding_box
    - bits_compress_scaled
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int abuf_flush_block(gx_device_memory * adev, int y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abuf_flush_block
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - adev
    argTypes:
    - gx_device_memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 283
    functionName: abuf_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - abuf_flush_block
    linkageType: ''
    returnType: int
    signature: int abuf_flush(gx_device_memory * adev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: abuf_flush
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:290,1
    - Dst: mem_close
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 4
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: mem_abuf_close
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - mem_close
    - abuf_flush
    linkageType: ''
    returnType: int
    signature: int mem_abuf_close(gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: abuf_flush
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:314,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:319,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pyt
    - dev
    - ty
    - th
    argTypes:
    - y_transfer*
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 307
    functionDepth: 4
    functionLinenumber: 307
    functionLinenumberEnd: 326
    functionName: y_transfer_init
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - memset
    - abuf_flush
    linkageType: ''
    returnType: int
    signature: int y_transfer_init(y_transfer * pyt, gx_device * dev, int ty, int
      th)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: abuf_flush_block
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:343,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:354,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:354,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:368,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - pyt
    - dev
    argTypes:
    - y_transfer*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 377
    functionName: y_transfer_next
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - memset
    - if_debug7m
    - abuf_flush_block
    linkageType: ''
    returnType: int
    signature: int y_transfer_next(y_transfer * pyt, gx_device * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:390,1
    - Dst: fit_copy_xyw
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:392,1
    - Dst: abuf_flush
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:397,1
    - Dst: y_transfer_init
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:402,1
    - Dst: y_transfer_next
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:406,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:409,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 380
    functionDepth: 5
    functionLinenumber: 380
    functionLinenumberEnd: 416
    functionName: mem_abuf_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - y_transfer_init
    - fit_copy_xyw
    - dev_proc
    - return_error
    - y_transfer_next
    - abuf_flush
    linkageType: ''
    returnType: int
    signature: "int mem_abuf_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill_xy
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:428,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:429,1
    - Dst: abuf_flush
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:433,1
    - Dst: y_transfer_init
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:438,1
    - Dst: y_transfer_next
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:442,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:445,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 419
    functionDepth: 5
    functionLinenumber: 419
    functionLinenumberEnd: 450
    functionName: mem_abuf_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - fit_fill_xy
    - y_transfer_init
    - dev_proc
    - fit_fill_w
    - y_transfer_next
    - abuf_flush
    linkageType: ''
    returnType: int
    signature: "int mem_abuf_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                        gx_color_index color)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:461,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:462,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:463,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:464,1
    - Dst: fit_fill_xy
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:469,1
    - Dst: fit_fill_w
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:470,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:473,1
    - Dst: abuf_flush
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:475,1
    - Dst: y_transfer_init
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:480,1
    - Dst: y_transfer_next
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:484,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:487,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 453
    functionDepth: 5
    functionLinenumber: 453
    functionLinenumberEnd: 492
    functionName: mem_abuf_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - fit_fill_xy
    - y_transfer_init
    - dev_proc
    - fit_fill_w
    - fixed2int
    - memcmp
    - y_transfer_next
    - abuf_flush
    linkageType: ''
    returnType: int
    signature: "int mem_abuf_fill_rectangle_hl_color(gx_device * dev, const gs_fixed_rect
      *rect,\n                                 const gs_gstate *pgs,\n                                 const
      gx_drawing_color *pdcolor,\n                                 const gx_clip_path
      *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 506
    functionName: mem_abuf_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void mem_abuf_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:517,1
    - Dst: gs_device_is_abuf
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:518,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevabuf.c:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 524
    functionName: alpha_buffer_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevabuf.c
    functionUses: 0
    functionsReached:
    - gs_device_is_abuf
    - dev_proc
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: int alpha_buffer_bits(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - byt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: fpat
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fpat(byt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm4.c:58,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm4.c:59,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm4.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 2
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: mem_mapped4_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_fill_rectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_mapped4_fill_rectangle(gx_device * dev,\n                           int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm4.c:72,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm4.c:75,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm4.c:76,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm4.c:183,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm4.c:203,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 80
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 206
    functionName: mem_mapped4_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mapped4_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm4.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 225
    functionName: mem_mapped4_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int mem_mapped4_copy_color(gx_device * dev,\n               const
      byte * base, int sourcex, int sraster, gx_bitmap_id id,\n                       int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm4.c:254,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm4.c:255,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm4.c:257,1
    - Dst: bits_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm4.c:258,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm4.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 262
    functionName: mem4_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bits_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem4_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm4.c:275,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm4.c:276,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm4.c:279,1
    - Dst: mem_mapped4_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm4.c:280,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm4.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 284
    functionName: mem4_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - mem_mapped4_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem4_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm4.c:294,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevm4.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: mem4_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm4.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem4_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 134
    functionName: private_st_MEMFILE
    functionSourceFile: /src/libspectre/ghostscript/base/gxclmem.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_MEMFILE()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gshtscr.c:40,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gshtscr.c:44,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gshtscr.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_screen_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 49
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(screen_enum_enum_ptrs, gs_screen_enum *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gshtscr.c:54,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gshtscr.c:55,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gshtscr.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_screen_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 57
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - RELOC_PTR
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(screen_enum_reloc_ptrs, gs_screen_enum
      *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - accurate
    argTypes:
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 67
    functionName: gs_setaccuratescreens
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gs_setaccuratescreens(gs_memory_t *mem, bool accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 74
    functionName: gs_currentaccuratescreens
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: bool
    signature: bool gs_currentaccuratescreens(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - levels
    argTypes:
    - gs_memory_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: gs_setminscreenlevels
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: void
    signature: void gs_setminscreenlevels(gs_memory_t *mem, uint levels)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: gs_currentminscreenlevels
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    linkageType: ''
    returnType: uint
    signature: uint gs_currentminscreenlevels(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setaccuratescreens
      Src: /src/libspectre/ghostscript/base/gshtscr.c:96,1
    - Dst: gs_setminscreenlevels
      Src: /src/libspectre/ghostscript/base/gshtscr.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: gs_gshtscr_init
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_setaccuratescreens
    - gs_setminscreenlevels
    linkageType: ''
    returnType: int
    signature: int gs_gshtscr_init(gs_memory_t *mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:124,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:124,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:125,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:125,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gshtscr.c:127,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gshtscr.c:128,1
    - Dst: imod
      Src: /src/libspectre/ghostscript/base/gshtscr.c:159,1
    - Dst: if_debug12
      Src: /src/libspectre/ghostscript/base/gshtscr.c:162,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - phcp
    argTypes:
    - gx_ht_cell_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: gx_compute_cell_values
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - igcd
    - if_debug12
    - any_abs
    - imod
    linkageType: ''
    returnType: void
    signature: void gx_compute_cell_values(gx_ht_cell_params_t * phcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gshtscr.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - cname
    argTypes:
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: gs_screen_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_screen_enum
    signature: 'gs_screen_enum *

      gs_screen_enum_alloc(gs_memory_t * mem, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:184,1
    - Dst: gs_screen_init_accurate
      Src: /src/libspectre/ghostscript/base/gshtscr.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - penum
    - pgs
    - phsp
    argTypes:
    - gs_screen_enum*
    - gs_gstate*
    - gs_screen_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 188
    functionName: gs_screen_init
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_get_interp_instance
    - gs_screen_init_accurate
    linkageType: ''
    returnType: int
    signature: "int gs_screen_init(gs_screen_enum * penum, gs_gstate * pgs,\n               gs_screen_halftone
      * phsp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_screen_order_init_memory
      Src: /src/libspectre/ghostscript/base/gshtscr.c:194,1
    - Dst: gs_screen_enum_init_memory
      Src: /src/libspectre/ghostscript/base/gshtscr.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - penum
    - pgs
    - phsp
    - accurate
    - mem
    argTypes:
    - gs_screen_enum*
    - gs_gstate*
    - gs_screen_halftone*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 200
    functionName: gs_screen_init_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gs_screen_enum_init_memory
    - gs_screen_order_init_memory
    linkageType: ''
    returnType: int
    signature: "int gs_screen_init_memory(gs_screen_enum * penum, gs_gstate * pgs,\n
      \               gs_screen_halftone * phsp, bool accurate, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gshtscr.c:211,1
    - Dst: gx_ht_alloc_order
      Src: /src/libspectre/ghostscript/base/gshtscr.c:221,1
    - Dst: gx_ht_alloc_order
      Src: /src/libspectre/ghostscript/base/gshtscr.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - porder
    - mem
    argTypes:
    - gx_ht_order*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 233
    functionName: gs_screen_order_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - gx_ht_alloc_order
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: int gs_screen_order_alloc(gx_ht_order *porder, gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_cache_default_bits_size
      Src: /src/libspectre/ghostscript/base/gshtscr.c:240,1
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gshtscr.c:242,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:245,1
    - Dst: gs_deviceinitialmatrix
      Src: /src/libspectre/ghostscript/base/gshtscr.c:246,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gshtscr.c:246,1
    - Dst: pick_cell_size
      Src: /src/libspectre/ghostscript/base/gshtscr.c:247,1
    - Dst: gx_compute_cell_values
      Src: /src/libspectre/ghostscript/base/gshtscr.c:252,1
    - Dst: gs_screen_order_alloc
      Src: /src/libspectre/ghostscript/base/gshtscr.c:255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - porder
    - pgs
    - phsp
    - accurate
    - mem
    argTypes:
    - gx_ht_order*
    - gs_gstate*
    - gs_screen_halftone*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 234
    functionDepth: 2
    functionLinenumber: 234
    functionLinenumberEnd: 256
    functionName: gs_screen_order_init_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - gx_compute_cell_values
    - gx_ht_cache_default_bits_size
    - gs_deviceinitialmatrix
    - gs_currentdevice
    - gs_lib_ctx_get_interp_instance
    - pick_cell_size
    - return_error
    - gs_screen_order_alloc
    linkageType: ''
    returnType: int
    signature: "int gs_screen_order_init_memory(gx_ht_order * porder, const gs_gstate
      * pgs,\n                            gs_screen_halftone * phsp, bool accurate,\n
      \                           gs_memory_t * mem)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:310,1
    - Dst: gs_make_rotation
      Src: /src/libspectre/ghostscript/base/gshtscr.c:334,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gshtscr.c:335,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gshtscr.c:336,1
    - Dst: if_debug10
      Src: /src/libspectre/ghostscript/base/gshtscr.c:337,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:346,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:347,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:347,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:356,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:357,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:369,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:370,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:373,1
    - Dst: gx_compute_cell_values
      Src: /src/libspectre/ghostscript/base/gshtscr.c:375,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gshtscr.c:376,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gshtscr.c:382,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gshtscr.c:392,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gshtscr.c:394,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gshtscr.c:395,1
    - Dst: atan2
      Src: /src/libspectre/ghostscript/base/gshtscr.c:397,1
    - Dst: sin
      Src: /src/libspectre/ghostscript/base/gshtscr.c:399,1
    - Dst: cos
      Src: /src/libspectre/ghostscript/base/gshtscr.c:400,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:401,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:404,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:405,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:406,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:407,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gshtscr.c:408,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gshtscr.c:416,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gshtscr.c:417,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gshtscr.c:432,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gshtscr.c:440,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:457,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:473,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gshtscr.c:478,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 80
    argCount: 6
    argNames:
    - ph
    - pmat
    - max_size
    - min_levels
    - accurate
    - phcp
    argTypes:
    - gs_screen_halftone*
    - gs_matrix*
    - ulong
    - uint
    - bool
    - gx_ht_cell_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 485
    functionName: pick_cell_size
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - sqrt
    - sin
    - return_error
    - if_debug10
    - gx_compute_cell_values
    - gs_distance_transform
    - cos
    - floor
    - if_debug5
    - fabs
    - gs_make_rotation
    - atan2
    - if_debug3
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: "int pick_cell_size(gs_screen_halftone * ph, const gs_matrix * pmat,
      ulong max_size,\n               uint min_levels, bool accurate, gx_ht_cell_params_t
      * phcp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gshtscr.c:536,1
    - Dst: if_debug7
      Src: /src/libspectre/ghostscript/base/gshtscr.c:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 5
    argNames:
    - penum
    - porder
    - pgs
    - phsp
    - mem
    argTypes:
    - gs_screen_enum*
    - gx_ht_order*
    - gs_gstate*
    - gs_screen_halftone*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 543
    functionName: gs_screen_enum_init_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 2
    functionsReached:
    - gs_matrix_invert
    - if_debug7
    linkageType: ''
    returnType: int
    signature: "int gs_screen_enum_init_memory(gs_screen_enum * penum, const gx_ht_order
      * porder,\n                           gs_gstate * pgs, const gs_screen_halftone
      * phsp,\n                           gs_memory_t * mem)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_construct_spot_order
      Src: /src/libspectre/ghostscript/base/gshtscr.c:555,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gshtscr.c:561,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gshtscr.c:565,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gshtscr.c:566,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gshtscr.c:567,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:571,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gshtscr.c:572,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gshtscr.c:575,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gshtscr.c:583,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gshtscr.c:587,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - penum
    - ppt
    argTypes:
    - gs_screen_enum*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 592
    functionName: gs_screen_currentpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - gs_distance_transform
    - floor
    - ceil
    - gx_ht_construct_spot_order
    - gs_point_transform
    linkageType: ''
    returnType: int
    signature: int gs_screen_currentpoint(gs_screen_enum * penum, gs_point * ppt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gshtscr.c:603,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gshtscr.c:606,1
    - Dst: gs_screen_currentpoint
      Src: /src/libspectre/ghostscript/base/gshtscr.c:609,1
    - Dst: dlprintf6
      Src: /src/libspectre/ghostscript/base/gshtscr.c:610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - penum
    - value
    argTypes:
    - gs_screen_enum*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 595
    functionDepth: 2
    functionLinenumber: 595
    functionLinenumberEnd: 618
    functionName: gs_screen_next
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_debug_c
    - dlprintf6
    - gs_screen_currentpoint
    linkageType: ''
    returnType: int
    signature: int gs_screen_next(gs_screen_enum * penum, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_install
      Src: /src/libspectre/ghostscript/base/gshtscr.c:630,1
    - Dst: gx_device_halftone_release
      Src: /src/libspectre/ghostscript/base/gshtscr.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_screen_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 633
    functionName: gs_screen_install
    functionSourceFile: /src/libspectre/ghostscript/base/gshtscr.c
    functionUses: 0
    functionsReached:
    - gx_device_halftone_release
    - gx_ht_install
    linkageType: ''
    returnType: int
    signature: int gs_screen_install(gs_screen_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PTR
      Src: /src/libspectre/ghostscript/base/gscsepr.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - RELOC_PTR
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(cs_Separation_reloc_ptrs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gscsepr.c:92,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gscsepr.c:100,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gscsepr.c:102,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gscsepr.c:107,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 79
    functionDepth: 5
    functionLinenumber: 79
    functionLinenumberEnd: 113
    functionName: "gs_color_space *\ngx_concrete_space_Separation(const gs_color_space
      * pcs,\n                             const gs_gstate * pgs)"
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - dmprintf
    - cs_concrete_space
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END gs_color_space *\ngx_concrete_space_Separation(const
      gs_color_space * pcs,\n                             const gs_gstate * pgs)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscsepr.c:123,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:126,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:127,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:130,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:131,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:132,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:133,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:135,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:136,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:137,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 143
    functionName: gx_check_process_names_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: separation_colors
    signature: separation_colors gx_check_process_names_Separation(gs_color_space
      * pcs, gs_gstate * pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_Separation_component_name
      Src: /src/libspectre/ghostscript/base/gscsepr.c:151,1
    - Dst: gsicc_support_named_color
      Src: /src/libspectre/ghostscript/base/gscsepr.c:157,1
    - Dst: gx_check_process_names_Separation
      Src: /src/libspectre/ghostscript/base/gscsepr.c:161,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscsepr.c:163,1
    - Dst: using_alt_color_space
      Src: /src/libspectre/ghostscript/base/gscsepr.c:164,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscsepr.c:165,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:173,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 178
    functionName: gx_install_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gsicc_support_named_color
    - using_alt_color_space
    - check_Separation_component_name
    - gs_currentcolorspace_inline
    - gx_check_process_names_Separation
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_install_Separation(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_no_overprint
      Src: /src/libspectre/ghostscript/base/gscsepr.c:187,1
    - Dst: gs_overprint_set_drawn_comp
      Src: /src/libspectre/ghostscript/base/gscsepr.c:202,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gscsepr.c:207,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 181
    functionDepth: 3
    functionLinenumber: 181
    functionLinenumberEnd: 209
    functionName: gx_set_overprint_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gx_set_no_overprint
    - gs_overprint_set_drawn_comp
    - gs_gstate_update_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_Separation(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust_const
      Src: /src/libspectre/ghostscript/base/gscsepr.c:215,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscsepr.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: gx_final_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - rc_adjust_const
    linkageType: ''
    returnType: void
    signature: void gx_final_Separation(const gs_color_space * pcs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscsepr.c:236,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:238,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscsepr.c:240,1
    - Dst: alloc_device_n_map
      Src: /src/libspectre/ghostscript/base/gscsepr.c:244,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscsepr.c:247,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscsepr.c:248,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gscsepr.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - ppcs
    - palt_cspace
    - pmem
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 225
    functionDepth: 3
    functionLinenumber: 225
    functionLinenumberEnd: 254
    functionName: gs_cspace_new_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gs_cspace_alloc
    - rc_increment_cs
    - return_error
    - alloc_device_n_map
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_new_Separation(\n    gs_color_space **ppcs,\n    gs_color_space
      * palt_cspace,\n    gs_memory_t * pmem\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscsepr.c:272,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscsepr.c:273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pcspace
    - proc_data
    argTypes:
    - gs_color_space*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 280
    functionName: gs_cspace_set_sepr_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_set_sepr_proc(gs_color_space * pcspace,\n                        int
      (*proc)(const float *,\n                                    float *,\n                                    const
      gs_gstate *,\n                                    void *\n                                    ),\n
      \                       void *proc_data\n                        )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscsepr.c:291,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gscsepr.c:293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscsepr.c:295,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - pcspace
    - pfn
    argTypes:
    - gs_color_space*
    - gs_function_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: gs_cspace_set_sepr_function
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: int gs_cspace_set_sepr_function(const gs_color_space *pcspace, gs_function_t
      *pfn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscsepr.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: gs_cspace_get_sepr_function
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: gs_function_t
    signature: 'gs_function_t *

      gs_cspace_get_sepr_function(const gs_color_space *pcspace)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 324
    functionName: gx_init_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_init_Separation(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_remap_named_color
      Src: /src/libspectre/ghostscript/base/gscsepr.c:344,1
    - Dst: gx_default_remap_color
      Src: /src/libspectre/ghostscript/base/gscsepr.c:347,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gscsepr.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 328
    functionDepth: 8
    functionLinenumber: 328
    functionLinenumberEnd: 355
    functionName: gx_remap_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - color_set_null
    - gx_default_remap_color
    - gx_remap_named_color
    linkageType: ''
    returnType: int
    signature: "int gx_remap_Separation(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \                      gs_color_select_t select)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gscsepr.c:371,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gscsepr.c:384,1
    - Dst: rescale_cie_colors
      Src: /src/libspectre/ghostscript/base/gscsepr.c:386,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gscsepr.c:389,1
    - Dst: cs_concretize_color
      Src: /src/libspectre/ghostscript/base/gscsepr.c:404,1
    - Dst: gx_unit_frac
      Src: /src/libspectre/ghostscript/base/gscsepr.c:406,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 357
    functionDepth: 5
    functionLinenumber: 357
    functionLinenumberEnd: 409
    functionName: gx_concretize_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - rescale_cie_colors
    - cs_concretize_color
    - gs_color_space_num_components
    - gx_unit_frac
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_Separation(const gs_client_color *pc, const gs_color_space
      *pcs,\n                         frac *pconc, const gs_gstate *pgs, gx_device
      *dev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gscsepr.c:421,1
    - Dst: gx_remap_concrete_separation
      Src: /src/libspectre/ghostscript/base/gscsepr.c:431,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 434
    functionName: gx_remap_concrete_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - gx_remap_concrete_separation
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_Separation(const gs_color_space * pcs, const
      frac * pconc,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device
      * dev,\n                             gs_color_select_t select, const cmm_dev_profile_t
      *dev_profile)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:474,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:475,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscsepr.c:484,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscsepr.c:491,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 502
    functionName: check_Separation_component_name
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 1
    functionsReached:
    - strlen
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int check_Separation_component_name(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 513
    functionName: dev_proc_lookup_separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_lookup_separation(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 514
    functionDepth: 0
    functionLinenumber: 514
    functionLinenumberEnd: 517
    functionName: dev_proc_map_tint_color
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dev_proc_map_tint_color(proc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gscsepr.c:544,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscsepr.c:548,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gscsepr.c:548,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/base/gscsepr.c:551,1
    - Dst: gx_serialize_device_n_map
      Src: /src/libspectre/ghostscript/base/gscsepr.c:554,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscsepr.c:557,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: gx_serialize_Separation
    functionSourceFile: /src/libspectre/ghostscript/base/gscsepr.c
    functionUses: 0
    functionsReached:
    - strlen
    - sputs
    - gx_serialize_cspace_type
    - cs_serialize
    - gx_serialize_device_n_map
    linkageType: ''
    returnType: int
    signature: int gx_serialize_Separation(const gs_color_space * pcs, stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_init1
      Src: /src/libspectre/ghostscript/base/gsinit.c:37,1
    - Dst: gs_lib_init0
      Src: /src/libspectre/ghostscript/base/gsinit.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - debug_out
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gs_lib_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsinit.c
    functionUses: 0
    functionsReached:
    - gs_lib_init1
    - gs_lib_init0
    linkageType: ''
    returnType: int
    signature: int gs_lib_init(gp_file * debug_out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/base/gsinit.c:44,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsinit.c:46,1
    - Dst: gs_malloc_init
      Src: /src/libspectre/ghostscript/base/gsinit.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - debug_out
    argTypes:
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: gs_lib_init0
    functionSourceFile: /src/libspectre/ghostscript/base/gsinit.c
    functionUses: 1
    functionsReached:
    - memset
    - VALGRIND_HG_DISABLE_CHECKING
    - gs_malloc_init
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_lib_init0(gp_file * debug_out)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: init_proc
      Src: /src/libspectre/ghostscript/base/gsinit.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 62
    functionName: gs_lib_init1
    functionSourceFile: /src/libspectre/ghostscript/base/gsinit.c
    functionUses: 2
    functionsReached:
    - init_proc
    linkageType: ''
    returnType: int
    signature: int gs_lib_init1(gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_finit
      Src: /src/libspectre/ghostscript/base/gsinit.c:68,1
    - Dst: gp_exit
      Src: /src/libspectre/ghostscript/base/gsinit.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - exit_status
    - code
    - mem
    argTypes:
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 80
    functionName: gs_lib_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsinit.c
    functionUses: 2
    functionsReached:
    - gp_exit
    - gs_fapi_finit
    linkageType: ''
    returnType: void
    signature: void gs_lib_finit(int exit_status, int code, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - v
    - ','
    - c
    - ','
    - fc
    - ','
    - maxb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: m_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gxmatrix.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: m_fixed(v, c, fc, maxb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - state
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: GETRAMFS
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GETRAMFS(state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:119,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:121,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - s_ram_available
    - s_ram_write_seek
    - ramfs_errno_to_code
    argTypes:
    - "struct gsram_enum_s {\n    char *pattern;\n    ramfs_enum* e;\n    gs_memory_t
      *memory;\n}"
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 128
    functionName: gs_private_st_simple_final
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: void
    signature: "void gs_private_st_simple_final(st_ramfs_state, struct ramfs_state_s,
      \"ramfs_state\", ram_finalize);\n\ntypedef struct gsram_enum_s {\n    char *pattern;\n
      \   ramfs_enum* e;\n    gs_memory_t *memory;\n} gsram_enum;\n\ngs_private_st_ptrs3(st_gsram_enum,
      struct gsram_enum_s, \"gsram_enum\",\n    gsram_enum_enum_ptrs, gsram_enum_reloc_ptrs,
      pattern, e, memory);\n\n/* could make this runtime configurable later.  It doesn't
      allocate\n   all the blocks in one go so it's not critical */\n#define MAXBLOCKS
      2000000\n\n#define DEFAULT_BUFFER_SIZE 2048\n\n/* stream stuff */\n\nstatic
      int\ns_ram_available(stream *, gs_offset_t *),\n s_ram_read_seek(stream *, gs_offset_t),\n
      s_ram_read_close(stream *),\n s_ram_read_process(stream_state *, stream_cursor_read
      *,\n     stream_cursor_write *, bool);\nstatic int\ns_ram_write_seek(stream
      *, gs_offset_t),\n s_ram_write_flush(stream *),\n s_ram_write_close(stream *),\n
      s_ram_write_process(stream_state *, stream_cursor_read *,\n     stream_cursor_write
      *, bool);\nstatic int\ns_ram_switch(stream *, bool);\n\nstatic int\nramfs_errno_to_code(int
      error_number)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsioram.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:149,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gsioram.c:150,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:154,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:155,1
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:157,1
    - Dst: file_prepare_stream
      Src: /src/libspectre/ghostscript/base/gsioram.c:158,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:163,1
    - Dst: ramfs_open
      Src: /src/libspectre/ghostscript/base/gsioram.c:188,1
    - Dst: ramfs_errno_to_code
      Src: /src/libspectre/ghostscript/base/gsioram.c:189,1
    - Dst: ramfs_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:189,1
    - Dst: sappend_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:193,1
    - Dst: sread_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:196,1
    - Dst: swrite_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:199,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:207,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 6
    argNames:
    - iodev
    - fname
    - len
    - file_access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - uint
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 135
    functionDepth: 3
    functionLinenumber: 135
    functionLinenumberEnd: 210
    functionName: ram_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - file_prepare_stream
    - ramfs_error
    - swrite_ram
    - strncpy
    - ramfs_open
    - sread_ram
    - sappend_ram
    - ramfs_errno_to_code
    - return_error
    - gs_note_error
    - GETRAMFS
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int ram_open_file(gx_io_device * iodev, const char *fname, uint len,\n
      \   const char *file_access, stream ** ps, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/gsioram.c:222,1
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:226,1
    - Dst: ramfile_tell
      Src: /src/libspectre/ghostscript/base/gsioram.c:227,1
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - ramhandle*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: sread_ram
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 1
    functionsReached:
    - ramfile_seek
    - ramfile_tell
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void sread_ram(register stream * s, ramhandle * file, byte * buf, uint
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gsioram.c:235,1
    - Dst: ramfile_eof
      Src: /src/libspectre/ghostscript/base/gsioram.c:238,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pl
    argTypes:
    - stream*
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: s_ram_available
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfile_eof
    - stell
    linkageType: ''
    returnType: int
    signature: int s_ram_available(register stream * s, gs_offset_t *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: s_ram_read_seek
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfile_seek
    linkageType: ''
    returnType: int
    signature: int s_ram_read_seek(register stream * s, gs_offset_t pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ramfile_close
      Src: /src/libspectre/ghostscript/base/gsioram.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: s_ram_read_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfile_close
    linkageType: ''
    returnType: int
    signature: int s_ram_read_close(stream * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ramfile_tell
      Src: /src/libspectre/ghostscript/base/gsioram.c:290,1
    - Dst: ramfile_read
      Src: /src/libspectre/ghostscript/base/gsioram.c:295,1
    - Dst: ramfile_eof
      Src: /src/libspectre/ghostscript/base/gsioram.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: s_ram_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfile_eof
    - ramfile_read
    - ramfile_tell
    linkageType: ''
    returnType: int
    signature: "int s_ram_read_process(stream_state * st, stream_cursor_read * ignore_pr,\n
      \   stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/gsioram.c:314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - ramhandle*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 319
    functionName: swrite_ram
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 1
    functionsReached:
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void swrite_ram(register stream * s, ramhandle * file, byte * buf,
      uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swrite_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:325,1
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:328,1
    - Dst: ramfile_tell
      Src: /src/libspectre/ghostscript/base/gsioram.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - ramhandle*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 330
    functionName: sappend_ram
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 1
    functionsReached:
    - swrite_ram
    - ramfile_tell
    - ramfile_seek
    linkageType: ''
    returnType: void
    signature: void sappend_ram(register stream * s, ramhandle * file, byte * buf,
      uint len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/gsioram.c:337,1
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 344
    functionName: s_ram_write_seek
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - sflush
    - ramfile_seek
    linkageType: ''
    returnType: int
    signature: int s_ram_write_seek(stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/gsioram.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: s_ram_write_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - s_process_write_buf
    linkageType: ''
    returnType: int
    signature: int s_ram_write_flush(register stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/gsioram.c:356,1
    - Dst: s_ram_read_close
      Src: /src/libspectre/ghostscript/base/gsioram.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 3
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: s_ram_write_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - s_ram_read_close
    - s_process_write_buf
    linkageType: ''
    returnType: int
    signature: int s_ram_write_close(register stream * s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ramfile_write
      Src: /src/libspectre/ghostscript/base/gsioram.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: s_ram_write_process
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfile_write
    linkageType: ''
    returnType: int
    signature: "int s_ram_write_process(stream_state * st, stream_cursor_read * pr,\n
      \   stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gsioram.c:387,1
    - Dst: ramfile_seek
      Src: /src/libspectre/ghostscript/base/gsioram.c:388,1
    - Dst: sappend_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:390,1
    - Dst: swrite_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:392,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gsioram.c:398,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/gsioram.c:399,1
    - Dst: sread_ram
      Src: /src/libspectre/ghostscript/base/gsioram.c:400,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - s
    - writing
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 406
    functionName: s_ram_switch
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - stell
    - ramfile_seek
    - sread_ram
    - sappend_ram
    - swrite_ram
    - sflush
    linkageType: ''
    returnType: int
    signature: int s_ram_switch(stream * s, bool writing)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ramfs_new
      Src: /src/libspectre/ghostscript/base/gsioram.c:414,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsioram.c:415,1
    - Dst: ramfs_destroy
      Src: /src/libspectre/ghostscript/base/gsioram.c:424,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:425,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:426,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: iodev_ram_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_destroy
    - gs_alloc_struct
    - ramfs_new
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int iodev_ram_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 439
    functionName: iodev_ram_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void iodev_ram_finit(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:444,1
    - Dst: ramfs_destroy
      Src: /src/libspectre/ghostscript/base/gsioram.c:445,1
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - memory
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 447
    functionName: ram_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_destroy
    - GETRAMFS
    linkageType: ''
    returnType: void
    signature: void ram_finalize(const gs_memory_t *memory, void * vptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:452,1
    - Dst: ramfs_unlink
      Src: /src/libspectre/ghostscript/base/gsioram.c:454,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:455,1
    - Dst: ramfs_errno_to_code
      Src: /src/libspectre/ghostscript/base/gsioram.c:455,1
    - Dst: ramfs_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iodev
    - fname
    argTypes:
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 458
    functionName: ram_delete
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_error
    - ramfs_errno_to_code
    - return_error
    - ramfs_unlink
    - GETRAMFS
    linkageType: ''
    returnType: int
    signature: int ram_delete(gx_io_device * iodev, const char *fname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:463,1
    - Dst: ramfs_rename
      Src: /src/libspectre/ghostscript/base/gsioram.c:465,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:466,1
    - Dst: ramfs_errno_to_code
      Src: /src/libspectre/ghostscript/base/gsioram.c:466,1
    - Dst: ramfs_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - iodev
    - from
    - to
    argTypes:
    - gx_io_device*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 460
    functionDepth: 3
    functionLinenumber: 460
    functionLinenumberEnd: 469
    functionName: ram_rename
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_rename
    - ramfs_error
    - ramfs_errno_to_code
    - return_error
    - GETRAMFS
    linkageType: ''
    returnType: int
    signature: int ram_rename(gx_io_device * iodev, const char *from, const char *to)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:475,1
    - Dst: ramfs_open
      Src: /src/libspectre/ghostscript/base/gsioram.c:477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:478,1
    - Dst: ramfs_errno_to_code
      Src: /src/libspectre/ghostscript/base/gsioram.c:478,1
    - Dst: ramfs_error
      Src: /src/libspectre/ghostscript/base/gsioram.c:478,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsioram.c:480,1
    - Dst: ramfile_size
      Src: /src/libspectre/ghostscript/base/gsioram.c:481,1
    - Dst: ramfile_close
      Src: /src/libspectre/ghostscript/base/gsioram.c:485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - iodev
    - fname
    - pstat
    argTypes:
    - gx_io_device*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 471
    functionDepth: 3
    functionLinenumber: 471
    functionLinenumberEnd: 487
    functionName: ram_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_error
    - ramfs_open
    - memset
    - ramfile_close
    - ramfs_errno_to_code
    - return_error
    - ramfile_size
    - GETRAMFS
    linkageType: ''
    returnType: int
    signature: int ram_status(gx_io_device * iodev, const char *fname, struct stat
      *pstat)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsioram.c:493,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsioram.c:497,1
    - Dst: ramfs_enum_new
      Src: /src/libspectre/ghostscript/base/gsioram.c:501,1
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:501,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsioram.c:503,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:511,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:513,1
    - Dst: ramfs_enum_end
      Src: /src/libspectre/ghostscript/base/gsioram.c:514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 4
    argNames:
    - mem
    - iodev
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 489
    functionDepth: 2
    functionLinenumber: 489
    functionLinenumberEnd: 516
    functionName: ram_enumerate_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - ramfs_enum_end
    - ramfs_enum_new
    - memcpy
    - gs_free_object
    - GETRAMFS
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: "file_enum *\nram_enumerate_init(gs_memory_t * mem, gx_io_device *iodev,
      const char *pat,\n                   uint patlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ramfs_enum_end
      Src: /src/libspectre/ghostscript/base/gsioram.c:525,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:526,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsioram.c:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 528
    functionName: ram_enumerate_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_enum_end
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ram_enumerate_close(gs_memory_t * mem, file_enum *pfen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ramfs_enum_next
      Src: /src/libspectre/ghostscript/base/gsioram.c:536,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/base/gsioram.c:537,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsioram.c:537,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsioram.c:539,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsioram.c:540,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsioram.c:541,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsioram.c:541,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsioram.c:542,1
    - Dst: ram_enumerate_close
      Src: /src/libspectre/ghostscript/base/gsioram.c:546,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 530
    functionDepth: 2
    functionLinenumber: 530
    functionLinenumberEnd: 548
    functionName: ram_enumerate_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ram_enumerate_close
    - ramfs_enum_next
    - strlen
    - string_match
    - memcpy
    linkageType: ''
    returnType: uint
    signature: uint ram_enumerate_next(gs_memory_t * mem, file_enum *pfen, char *ptr,
      uint maxlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GETRAMFS
      Src: /src/libspectre/ghostscript/base/gsioram.c:556,1
    - Dst: ramfs_blocksize
      Src: /src/libspectre/ghostscript/base/gsioram.c:560,1
    - Dst: ramfs_blocksfree
      Src: /src/libspectre/ghostscript/base/gsioram.c:562,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsioram.c:565,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsioram.c:566,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsioram.c:567,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsioram.c:568,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsioram.c:569,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsioram.c:570,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsioram.c:571,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsioram.c:572,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsioram.c:573,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsioram.c:574,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 7
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 550
    functionDepth: 1
    functionLinenumber: 550
    functionLinenumberEnd: 578
    functionName: ram_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsioram.c
    functionUses: 0
    functionsReached:
    - ramfs_blocksize
    - param_write_bool
    - ramfs_blocksfree
    - param_write_long
    - param_write_int
    - GETRAMFS
    linkageType: ''
    returnType: int
    signature: int ram_get_params(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:41,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - vstack
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 44
    functionName: rc_free_clip_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gsclipsr.c
    functionUses: 0
    functionsReached:
    - gx_cpath_free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rc_free_clip_stack(gs_memory_t * mem, void *vstack, client_name_t
      cname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_alloc_shared
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:52,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:54,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:58,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:59,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:60,1
    - Dst: rc_init_free
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 67
    functionName: gs_clipsave
    functionSourceFile: /src/libspectre/ghostscript/base/gsclipsr.c
    functionUses: 0
    functionsReached:
    - rc_init_free
    - gx_cpath_alloc_shared
    - gs_free_object
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int gs_clipsave(gs_gstate *pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:82,1
    - Dst: gx_cpath_assign_free
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:83,1
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:85,1
    - Dst: gx_cpath_assign_preserve
      Src: /src/libspectre/ghostscript/base/gsclipsr.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 70
    functionDepth: 5
    functionLinenumber: 70
    functionLinenumberEnd: 95
    functionName: gs_cliprestore
    functionSourceFile: /src/libspectre/ghostscript/base/gsclipsr.c
    functionUses: 0
    functionsReached:
    - gx_cpath_assign_free
    - gx_cpath_assign_preserve
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_cliprestore(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 43
    functionName: private_st_obj_filter_text_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_obj_filter_text_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: public_st_device_obj_filter
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_obj_filter()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cindex
    - data
    - psize
    argTypes:
    - gx_color_index
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 77
    functionName: write_color_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int write_color_index(gx_color_index cindex, byte * data, uint * psize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:87,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pcindex
    - data
    - size
    argTypes:
    - gx_color_index*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 99
    functionName: read_color_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int read_color_index(gx_color_index * pcindex, const byte * data, uint
      size)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pct0
    - pct1
    argTypes:
    - gs_composite_t*
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: c_overprint_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool c_overprint_equal(const gs_composite_t * pct0, const gs_composite_t
      * pct1)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: write_color_index
      Src: /src/libspectre/ghostscript/base/gsovrc.c:172,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:185,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - pct
    - data
    - psize
    - cdev
    argTypes:
    - gs_composite_t*
    - byte*
    - uint*
    - gx_device_clist_writer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 190
    functionName: c_overprint_write
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - write_color_index
    - return_error
    - if_debug2m
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int c_overprint_write(const gs_composite_t * pct, byte * data, uint
      * psize, gx_device_clist_writer *cdev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:208,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:210,1
    - Dst: read_color_index
      Src: /src/libspectre/ghostscript/base/gsovrc.c:220,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:224,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:226,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:227,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:228,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:229,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:230,1
    - Dst: gs_create_overprint
      Src: /src/libspectre/ghostscript/base/gsovrc.c:231,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 4
    argNames:
    - ppct
    - data
    - size
    - mem
    argTypes:
    - gs_composite_t**
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 233
    functionName: c_overprint_read
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - read_color_index
    - return_error
    - gs_create_overprint
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int c_overprint_read(\n    gs_composite_t **       ppct,\n    const
      byte *            data,\n    uint                    size,\n    gs_memory_t
      *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - this
    - ppcte
    - dev
    argTypes:
    - gs_composite_t*
    - gs_composite_t**
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: c_overprint_is_closing
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_compositor_closing_state
    signature: gs_compositor_closing_state c_overprint_is_closing(const gs_composite_t
      *this, gs_composite_t **ppcte, gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsovrc.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:283,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsovrc.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ppct
    - pparams
    - mem
    argTypes:
    - gs_composite_t**
    - gs_overprint_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 290
    functionName: gs_create_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_next_ids
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_create_overprint(\n    gs_composite_t **               ppct,\n
      \   const gs_overprint_params_t *   pparams,\n    gs_memory_t *                   mem
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pct
    argTypes:
    - gs_composite_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: gs_is_overprint_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_is_overprint_compositor(const gs_composite_t * pct)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - depth
    - color
    argTypes:
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 737
    functionName: swap_color_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index swap_color_index(int depth, gx_color_index color)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: swap_color_index
      Src: /src/libspectre/ghostscript/base/gsovrc.c:763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - opdev
    - is_fill_color
    argTypes:
    - overprint_device_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 769
    functionName: set_retain_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - swap_color_index
    linkageType: ''
    returnType: void
    signature: void set_retain_mask(overprint_device_t * opdev, bool is_fill_color)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:794,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:812,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:814,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:818,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:822,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gsovrc.c:830,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:831,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:833,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:836,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:838,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:850,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gsovrc.c:855,1
    - Dst: set_retain_mask
      Src: /src/libspectre/ghostscript/base/gsovrc.c:856,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - opdev
    - pparams
    argTypes:
    - overprint_device_t*
    - gs_overprint_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 859
    functionName: update_overprint_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - memcpy
    - set_retain_mask
    - if_debug4m
    - colors_are_separable_and_linear
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int update_overprint_params(\n    overprint_device_t* opdev,\n    const
      gs_overprint_params_t* pparams)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:879,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gsovrc.c:880,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gsovrc.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 886
    functionName: overprint_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_opendevice
    - gx_device_copy_params
    linkageType: ''
    returnType: int
    signature: int overprint_open_device(gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:899,1
    - Dst: gx_device_decache_colors
      Src: /src/libspectre/ghostscript/base/gsovrc.c:900,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gsovrc.c:902,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - plist
    argTypes:
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 905
    functionName: overprint_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_device_decache_colors
    - dev_proc
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: int overprint_put_params(gx_device * dev, gs_param_list * plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_error_get_color_comp_index
      Src: /src/libspectre/ghostscript/base/gsovrc.c:920,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - component_type
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 928
      start: 911
    functionDepth: 2
    functionLinenumber: 911
    functionLinenumberEnd: 928
    functionName: overprint_get_color_comp_index
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_error_get_color_comp_index
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int overprint_get_color_comp_index(gx_device * dev, const char * pname,\n
      \                                       int name_size, int component_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 935
    functionDepth: 1
    functionLinenumber: 935
    functionLinenumberEnd: 942
    functionName: overprint_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      overprint_get_page_device(gx_device * dev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_create_compositor
      Src: /src/libspectre/ghostscript/base/gsovrc.c:958,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gsovrc.c:974,1
    - Dst: update_overprint_params
      Src: /src/libspectre/ghostscript/base/gsovrc.c:979,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 14
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pct
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 948
    functionDepth: 3
    functionLinenumber: 948
    functionLinenumberEnd: 984
    functionName: overprint_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - update_overprint_params
    - gx_default_create_compositor
    - if_debug6m
    linkageType: ''
    returnType: int
    signature: "int overprint_create_compositor(\n    gx_device *             dev,\n
      \   gx_device **            pcdev,\n    const gs_composite_t *  pct,\n    gs_gstate
      *\t            pgs,\n    gs_memory_t *           memory,\n    gx_device *             cdev)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1009,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1016,1
    - Dst: gx_overprint_generic_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1018,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts:
    - condition: (opdev->op_state != 0)
      pos:
        line_end: 1008
        line_start: 1008
        source_file: /src/libspectre/ghostscript/base/gsovrc.c
    constantsTouched: []
    func_position:
      end: 1023
      start: 993
    functionDepth: 2
    functionLinenumber: 993
    functionLinenumberEnd: 1023
    functionName: overprint_generic_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 1
    functionsReached:
    - gx_overprint_generic_fill_rectangle
    - dev_proc
    - assert
    linkageType: ''
    returnType: int
    signature: "int overprint_generic_fill_rectangle(\n    gx_device *     dev,\n
      \   int             x,\n    int             y,\n    int             width,\n
      \   int             height,\n    gx_color_index  color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_copy_alpha_hl_color
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1045
    functionName: overprint_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_default_copy_alpha_hl_color
    linkageType: ''
    returnType: int
    signature: "int overprint_copy_alpha_hl_color(gx_device * dev, const byte * data,
      int data_x,\n           int raster, gx_bitmap_id id, int x, int y, int width,
      int height,\n                      const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1081,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1085,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1086,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1088,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1120,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1123,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1130,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1136,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1139,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1145,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster_in
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1051
    functionDepth: 1
    functionLinenumber: 1051
    functionLinenumberEnd: 1148
    functionName: overprint_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memcpy
    - fit_fill
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int overprint_copy_planes(gx_device * dev, const byte * data, int
      data_x, int raster_in,\n                  gx_bitmap_id id, int x, int y, int
      w, int h, int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dst
    - col
    - w
    argTypes:
    - uint16_t*
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1158
    functionName: my_memset16_be
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void my_memset16_be(uint16_t *dst, uint16_t col, size_t w)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1188,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1195,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1200,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1201,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1202,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1203,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1205,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1212,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1213,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1215,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1244,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1247,1
    - Dst: my_memset16_be
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1258,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1261,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1266,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1269,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts:
    - condition: (opdev->op_state != 0)
      pos:
        line_end: 1187
        line_start: 1187
        source_file: /src/libspectre/ghostscript/base/gsovrc.c
    constantsTouched: []
    func_position:
      end: 1272
      start: 1162
    functionDepth: 1
    functionLinenumber: 1162
    functionLinenumberEnd: 1272
    functionName: overprint_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - my_memset16_be
    - assert
    - fixed2int
    - memset
    - fit_fill
    - gs_note_error
    - bitmap_raster
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int overprint_fill_rectangle_hl_color(gx_device *dev,\n    const gs_fixed_rect
      *rect, const gs_gstate *pgs,\n    const gx_drawing_color *pdcolor, const gx_clip_path
      *pcpath)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1291,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1298,1
    - Dst: swap_color_index
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1307,1
    - Dst: gx_overprint_sep_fill_rectangle_1
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1325,1
    - Dst: gx_overprint_sep_fill_rectangle_2
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1330,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts:
    - condition: (opdev->op_state != 0)
      pos:
        line_end: 1290
        line_start: 1290
        source_file: /src/libspectre/ghostscript/base/gsovrc.c
    constantsTouched: []
    func_position:
      end: 1335
      start: 1274
    functionDepth: 3
    functionLinenumber: 1274
    functionLinenumberEnd: 1335
    functionName: overprint_sep_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_overprint_sep_fill_rectangle_1
    - assert
    - swap_color_index
    - gx_overprint_sep_fill_rectangle_2
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int overprint_sep_fill_rectangle(\n    gx_device *     dev,\n    int
      \            x,\n    int             y,\n    int             width,\n    int
      \            height,\n    gx_color_index  color )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_fill_path
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params_fill
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1338
    functionDepth: 7
    functionLinenumber: 1338
    functionLinenumberEnd: 1348
    functionName: overprint_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_default_fill_path
    linkageType: ''
    returnType: int
    signature: "int overprint_fill_path(gx_device* pdev, const gs_gstate* pgs,\n    gx_path*
      ppath, const gx_fill_params* params_fill,\n    const gx_device_color* pdcolor,
      const gx_clip_path* pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_stroke_path
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - pdev
    - pgs
    - ppath
    - params_stroke
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1351
    functionDepth: 2
    functionLinenumber: 1351
    functionLinenumberEnd: 1369
    functionName: overprint_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_default_stroke_path
    linkageType: ''
    returnType: int
    signature: "int overprint_stroke_path(gx_device* pdev, const gs_gstate* pgs,\n
      \   gx_path* ppath, const gx_stroke_params* params_stroke,\n    const gx_device_color*
      pdcolor, const gx_clip_path* pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1387,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - pdev
    - pgs
    - ppath
    - params_fill
    - pdevc_fill
    - params_stroke
    - pdevc_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_device_color*
    - gx_stroke_params*
    - gx_device_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1395
    functionName: overprint_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int overprint_fill_stroke_path(gx_device * pdev, const gs_gstate *
      pgs,\n                           gx_path * ppath,\n                           const
      gx_fill_params * params_fill,\n                           const gx_device_color
      * pdevc_fill,\n                           const gx_stroke_params * params_stroke,\n
      \                          const gx_device_color * pdevc_stroke,\n                           const
      gx_clip_path * pcpath)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_begin
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1412,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - mem
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1398
    functionDepth: 3
    functionLinenumber: 1398
    functionLinenumberEnd: 1414
    functionName: overprint_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gx_default_text_begin
    linkageType: ''
    returnType: int
    signature: "int overprint_text_begin(gx_device* dev, gs_gstate* pgs,\n    const
      gs_text_params_t* text, gs_font* font,\n    gx_path* path, const gx_device_color*
      pdcolor,\n    const gx_clip_path* pcpath,\n    gs_memory_t* mem, gs_text_enum_t**
      ppte)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1429,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1430
    functionName: overprint_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int overprint_dev_spec_op(gx_device* pdev, int dev_spec_op,\n    void*
      data, int size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1444,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1453,1
    - Dst: gx_device_forward_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1454,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pprocs
    argTypes:
    - gx_device_procs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1456
      start: 1433
    functionDepth: 2
    functionLinenumber: 1433
    functionLinenumberEnd: 1456
    functionName: fill_in_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 20
    functionsReached:
    - gx_device_forward_fill_in_procs
    - memcpy
    linkageType: ''
    returnType: void
    signature: void fill_in_procs(gx_device_procs * pprocs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1488,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1494,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1495,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1499,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1502,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1505,1
    - Dst: fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1508,1
    - Dst: fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1509,1
    - Dst: fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1510,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1512,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1513,1
    - Dst: update_overprint_params
      Src: /src/libspectre/ghostscript/base/gsovrc.c:1528,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 5
    argNames:
    - pct
    - popdev
    - tdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device**
    - gx_device*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1529
      start: 1465
    functionDepth: 3
    functionLinenumber: 1465
    functionLinenumberEnd: 1529
    functionName: c_overprint_create_default_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_immovable
    - gx_device_set_target
    - fill_in_procs
    - update_overprint_params
    - memcpy
    - return_error
    - gx_device_copy_params
    - gx_device_init
    linkageType: ''
    returnType: int
    signature: "int c_overprint_create_default_compositor(\n    const gs_composite_t
      *  pct,\n    gx_device **            popdev,\n    gx_device *             tdev,\n
      \   gs_gstate *\t            pgs,\n    gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: private_st_aes_state
    functionSourceFile: /src/libspectre/ghostscript/base/saes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_aes_state()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: iodev_diskn_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int iodev_diskn_init(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_object_free
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 208
    functionName: iodev_diskn_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_object_free
    linkageType: ''
    returnType: void
    signature: void iodev_diskn_finit(gx_io_device * iodev, gs_memory_t * mem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:215,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:219,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:225,1
    - Dst: map_file_name_get
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:230,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:231,1
    - Dst: map_file_name_add
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:232,1
    - Dst: map_file_name_get
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:233,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:236,1
    - Dst: iodev_os_gp_fopen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:241,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:241,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:245,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - iodev
    - fname
    - access
    - pfile
    - rfname
    - rnamelen
    argTypes:
    - gx_io_device*
    - char*
    - char*
    - gp_file**
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 210
    functionDepth: 2
    functionLinenumber: 210
    functionLinenumberEnd: 248
    functionName: iodev_diskn_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_name_get
    - gs_alloc_bytes
    - iodev_default
    - strchr
    - map_file_name_add
    - iodev_os_gp_fopen
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int iodev_diskn_fopen(gx_io_device * iodev, const char *fname, const
      char *access,\n                  gp_file ** pfile, char *rfname, uint rnamelen)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:254,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:258,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:264,1
    - Dst: map_file_name_get
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:269,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:270,1
    - Dst: map_file_name_del
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:274,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:275,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:275,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:279,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - iodev
    - fname
    argTypes:
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 282
    functionName: diskn_delete
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_name_get
    - gs_alloc_bytes
    - map_file_name_del
    - unlink
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int diskn_delete(gx_io_device * iodev, const char *fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:288,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:292,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:298,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:303,1
    - Dst: map_file_name_get
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:311,1
    - Dst: map_file_name_del
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:312,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:313,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:313,1
    - Dst: map_file_name_ren
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:316,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:320,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 3
    argNames:
    - iodev
    - from
    - to
    argTypes:
    - gx_io_device*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 323
    functionName: diskn_rename
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_name_get
    - strcmp
    - gs_alloc_bytes
    - map_file_name_del
    - map_file_name_ren
    - unlink
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int diskn_rename(gx_io_device * iodev, const char *from, const char
      *to)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:329,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:333,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:339,1
    - Dst: map_file_name_get
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:344,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:345,1
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:348,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:348,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:352,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - iodev
    - fname
    - pstat
    argTypes:
    - gx_io_device*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 355
    functionName: diskn_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_name_get
    - gs_alloc_bytes
    - stat
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int diskn_status(gx_io_device * iodev, const char *fname, struct stat
      *pstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_file_enum_init
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - iodev
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: diskn_enumerate_files
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_enum_init
    linkageType: ''
    returnType: file_enum
    signature: "file_enum *\ndiskn_enumerate_files(gs_memory_t * mem, gx_io_device
      * iodev, const char *pat,\n                      uint patlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: map_file_enum_close
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 371
    functionName: diskn_enumerate_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - map_file_enum_close
    linkageType: ''
    returnType: void
    signature: void diskn_enumerate_close(gs_memory_t * mem, file_enum *pfen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: map_file_enum_next
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:377,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:378,1
    - Dst: diskn_enumerate_close
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 382
    functionName: diskn_enumerate_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - diskn_enumerate_close
    - map_file_enum_next
    - strlen
    linkageType: ''
    returnType: uint
    signature: uint diskn_enumerate_next(gs_memory_t * mem, file_enum *pfen, char
      *ptr, uint maxlen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:405,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:406,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:407,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:408,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:409,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:410,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:411,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:412,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:413,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:414,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:420,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:422,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:425,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 427
    functionName: diskn_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_null
    - strlen
    - param_write_bool
    - param_write_long
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int diskn_get_params(gx_io_device * iodev, gs_param_list * plist)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:436,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:440,1
    - Dst: iodev_no_put_params
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:447,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:457,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:458,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:461,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - iodev
    - plist
    argTypes:
    - gx_io_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 471
    functionName: diskn_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - iodev_no_put_params
    - return_error
    - param_read_string
    - memcpy
    - param_signal_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int diskn_put_params(gx_io_device *iodev, gs_param_list *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:486,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:486,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:491,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:494,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:495,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - rootpath
    - filename
    - attributes
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 481
    functionDepth: 5
    functionLinenumber: 481
    functionLinenumberEnd: 501
    functionName: MapFileOpen
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gs_sprintf
    - gp_fopen
    - gs_free_object
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      MapFileOpen(gs_memory_t *mem, const char * rootpath, const char * filename,
      const char * attributes)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:513,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:518,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:523,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 2
    argNames:
    - mapfile
    - value
    argTypes:
    - gp_file*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 526
    functionName: MapFileReadVersion
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fscanf
    linkageType: ''
    returnType: int
    signature: int MapFileReadVersion(gp_file * mapfile, int * value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mapfile
    - value
    argTypes:
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: MapFileWriteVersion
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void MapFileWriteVersion(gp_file * mapfile, int value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:557,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:562,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:568,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 3
    argNames:
    - mapfile
    - namebuf
    - value
    argTypes:
    - gp_file*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 550
    functionDepth: 0
    functionLinenumber: 550
    functionLinenumberEnd: 572
    functionName: MapFileRead
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - fgetc
    - fscanf
    linkageType: ''
    returnType: int
    signature: int MapFileRead(gp_file * mapfile, char * namebuf, int * value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mapfile
    - namebuf
    - value
    argTypes:
    - gp_file*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: MapFileWrite
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void MapFileWrite(gp_file * mapfile, const char * namebuf, int value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:597,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:597,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:601,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:603,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:605,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - mem
    - rootpath
    - filename
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 593
    functionDepth: 5
    functionLinenumber: 593
    functionLinenumberEnd: 609
    functionName: MapFileUnlink
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - unlink
    - gs_sprintf
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void MapFileUnlink(gs_memory_t *mem, const char * rootpath, const char
      * filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:623,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:623,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:624,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:624,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:630,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:631,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:634,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:635,1
    - Dst: rename
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:636,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:639,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - rootpath
    - newfilename
    - oldfilename
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 618
    functionDepth: 5
    functionLinenumber: 618
    functionLinenumberEnd: 641
    functionName: MapFileRename
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - gs_sprintf
    - rename
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void MapFileRename(gs_memory_t *mem, const char * rootpath, const char
      * newfilename, const char * oldfilename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:660,1
    - Dst: MapFileReadVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:666,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:669,1
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:672,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:673,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:677,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:679,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - rootpath
    - name
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 652
    functionDepth: 6
    functionLinenumber: 652
    functionLinenumberEnd: 681
    functionName: MapToFile
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strcmp
    - MapFileRead
    - fclose
    - MapFileReadVersion
    - MapFileOpen
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int MapToFile(gs_memory_t *mem, const char* rootpath, const char* name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:697,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:702,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:706,1
    - Dst: map_file_enum_close
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:709,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:712,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:717,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:717,1
    - Dst: map_file_enum_close
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:720,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:724,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:726,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:727,1
    - Dst: MapFileReadVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:731,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 4
    argNames:
    - mem
    - root_name
    - search_pattern
    - search_pattern_len
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 693
    functionDepth: 6
    functionLinenumber: 693
    functionLinenumberEnd: 738
    functionName: map_file_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - fclose
    - strlen
    - map_file_enum_close
    - strcpy
    - memset
    - memcpy
    - MapFileReadVersion
    - MapFileOpen
    - gs_alloc_struct
    linkageType: ''
    returnType: void
    signature: 'void *

      map_file_enum_init(gs_memory_t *mem, const char * root_name, const char * search_pattern,
      uint search_pattern_len)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:761,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:762,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:762,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:764,1
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:770,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - enum_mem
    - target
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 774
    functionName: map_file_enum_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 1
    functionsReached:
    - MapFileRead
    - strlen
    - string_match
    linkageType: ''
    returnType: bool
    signature: bool map_file_enum_next(void * enum_mem, char* target)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:789,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:791,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:793,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - enum_mem
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 782
    functionDepth: 0
    functionLinenumber: 782
    functionLinenumberEnd: 795
    functionName: map_file_enum_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 2
    functionsReached:
    - gs_free_object
    - fclose
    linkageType: ''
    returnType: void
    signature: void map_file_enum_close(void * enum_mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MapToFile
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:811,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:815,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:816,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - mem
    - root_name
    - Fname
    - osname
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 808
    functionDepth: 7
    functionLinenumber: 808
    functionLinenumberEnd: 823
    functionName: map_file_name_get
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 4
    functionsReached:
    - gs_sprintf
    - MapToFile
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool map_file_name_get(gs_memory_t *mem, const char * root_name, const
      char * Fname, char * osname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MapToFile
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:837,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:841,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:849,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:850,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:852,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:855,1
    - Dst: MapFileReadVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:856,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:858,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:862,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:863,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:864,1
    - Dst: MapFileWriteVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:870,1
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:871,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:872,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:873,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:874,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:875,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:876,1
    - Dst: MapFileRename
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:877,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:879,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - mem
    - root_name
    - Fname
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 833
    functionDepth: 7
    functionLinenumber: 833
    functionLinenumberEnd: 880
    functionName: map_file_name_del
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 2
    functionsReached:
    - MapToFile
    - gs_alloc_bytes
    - fclose
    - MapFileRead
    - MapFileWriteVersion
    - strcmp
    - MapFileWrite
    - MapFileReadVersion
    - MapFileUnlink
    - MapFileOpen
    - MapFileRename
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void map_file_name_del(gs_memory_t *mem, const char * root_name, const
      char * Fname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:904,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:906,1
    - Dst: MapFileReadVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:907,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:909,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:913,1
    - Dst: MapFileWriteVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:916,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:917,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:918,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:921,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:922,1
    - Dst: MapFileWriteVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:924,1
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:925,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:926,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:932,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:933,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:934,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:935,1
    - Dst: MapFileRename
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:936,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:939,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - mem
    - root_name
    - Fname
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 890
    functionDepth: 6
    functionLinenumber: 890
    functionLinenumberEnd: 941
    functionName: map_file_name_add
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - MapFileRead
    - MapFileWriteVersion
    - MapFileWrite
    - gs_free_object
    - MapFileReadVersion
    - MapFileUnlink
    - MapFileOpen
    - MapFileRename
    - fclose
    linkageType: ''
    returnType: void
    signature: void map_file_name_add(gs_memory_t *mem, const char * root_name, const
      char * Fname)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: MapToFile
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:957,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:959,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:967,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:968,1
    - Dst: MapFileOpen
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:971,1
    - Dst: MapFileReadVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:972,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:974,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:978,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:979,1
    - Dst: MapFileWriteVersion
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:985,1
    - Dst: MapFileRead
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:986,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:987,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:988,1
    - Dst: MapFileWrite
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:990,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:991,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:992,1
    - Dst: MapFileUnlink
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:993,1
    - Dst: MapFileRename
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:994,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodisk.c:996,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 4
    argNames:
    - mem
    - root_name
    - oldname
    - newname
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 997
      start: 952
    functionDepth: 7
    functionLinenumber: 952
    functionLinenumberEnd: 997
    functionName: map_file_name_ren
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodisk.c
    functionUses: 1
    functionsReached:
    - MapToFile
    - gs_alloc_bytes
    - strcmp
    - MapFileRead
    - MapFileWriteVersion
    - MapFileWrite
    - gs_free_object
    - MapFileReadVersion
    - MapFileUnlink
    - MapFileOpen
    - MapFileRename
    - fclose
    linkageType: ''
    returnType: void
    signature: void map_file_name_ren(gs_memory_t *mem, const char* root_name, const
      char * oldname, const char * newname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: stat_blocks
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat_blocks(psbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: stat_blocks
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat_blocks(psbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: stat_is_dir
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat_is_dir(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: stat_is_dir
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat_is_dir(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - stbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: stat_is_dir
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stat_is_dir(stbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: S_ISCHR
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISCHR(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: S_ISREG
    functionSourceFile: /src/libspectre/ghostscript/base/stat_.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S_ISREG(mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_PNGP_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/spngp.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: s_PNGP_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - s_PNGP_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_PNGP_set_defaults(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/spngp.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 58
    functionName: s_PNGP_reinit
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: int
    signature: int s_PNGP_reinit(stream_state * st)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/spngp.c:81,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/spngp.c:85,1
    - Dst: s_PNGP_reinit
      Src: /src/libspectre/ghostscript/base/spngp.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - st
    - need_prev
    argTypes:
    - stream_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 90
    functionName: s_pngp_init
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - memset
    - s_PNGP_reinit
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int s_pngp_init(stream_state * st, bool need_prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_pngp_init
      Src: /src/libspectre/ghostscript/base/spngp.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: s_PNGPE_init
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - s_pngp_init
    linkageType: ''
    returnType: int
    signature: int s_PNGPE_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_pngp_init
      Src: /src/libspectre/ghostscript/base/spngp.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: s_PNGPD_init
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - s_pngp_init
    linkageType: ''
    returnType: int
    signature: int s_PNGPD_init(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/spngp.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: s_PNGP_release
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_PNGP_release(stream_state *st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 3
    argNames:
    - a
    - b
    - c
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 136
    functionName: paeth_predictor
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int paeth_predictor(int a, int b, int c)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:152,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/spngp.c:172,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/spngp.c:176,1
    - Dst: paeth_predictor
      Src: /src/libspectre/ghostscript/base/spngp.c:180,1
    - Dst: paeth_predictor
      Src: /src/libspectre/ghostscript/base/spngp.c:184,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 42
    argCount: 7
    argNames:
    - st
    - pw
    - dprev
    - pr
    - upprev
    - up
    - count
    argTypes:
    - stream_state*
    - stream_cursor_write*
    - byte*
    - stream_cursor_read*
    - byte*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 187
    functionName: s_pngp_process
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - paeth_predictor
    - memcpy
    - arith_rshift_1
    linkageType: ''
    returnType: void
    signature: "void s_pngp_process(stream_state * st, stream_cursor_write * pw,\n
      \              const byte * dprev, stream_cursor_read * pr,\n               const
      byte * upprev, const byte * up, uint count)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - st_const
    - pr
    - pw
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: s_pngp_count
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: "uint s_pngp_count(const stream_state * st_const, const stream_cursor_read
      * pr,\n             const stream_cursor_write * pw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - st
    - pr
    argTypes:
    - stream_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 226
    functionName: optimum_predictor
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int optimum_predictor(const stream_state * st, const stream_cursor_read
      * pr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: optimum_predictor
      Src: /src/libspectre/ghostscript/base/spngp.c:248,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/spngp.c:253,1
    - Dst: s_pngp_count
      Src: /src/libspectre/ghostscript/base/spngp.c:256,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/spngp.c:263,1
    - Dst: s_pngp_process
      Src: /src/libspectre/ghostscript/base/spngp.c:266,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:269,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:270,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:275,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/spngp.c:284,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:285,1
    - Dst: s_pngp_process
      Src: /src/libspectre/ghostscript/base/spngp.c:294,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:296,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:298,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:300,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 47
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 305
    functionName: s_PNGPE_process
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - optimum_predictor
    - memmove
    - s_pngp_process
    - memset
    - memcpy
    - min
    - s_pngp_count
    linkageType: ''
    returnType: int
    signature: "int s_PNGPE_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/spngp.c:343,1
    - Dst: s_pngp_count
      Src: /src/libspectre/ghostscript/base/spngp.c:346,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/spngp.c:353,1
    - Dst: s_pngp_process
      Src: /src/libspectre/ghostscript/base/spngp.c:356,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:359,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:360,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:365,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/spngp.c:374,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:375,1
    - Dst: s_pngp_process
      Src: /src/libspectre/ghostscript/base/spngp.c:384,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:386,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:388,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/spngp.c:390,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 395
    functionName: s_PNGPD_process
    functionSourceFile: /src/libspectre/ghostscript/base/spngp.c
    functionUses: 0
    functionsReached:
    - memmove
    - s_pngp_process
    - memset
    - memcpy
    - min
    - s_pngp_count
    linkageType: ''
    returnType: int
    signature: "int s_PNGPD_process(stream_state * st, stream_cursor_read * pr,\n
      \               stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: GS_NOTIFY_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_NOTIFY_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: private_st_gs_notify_registration
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_notify_registration()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: public_st_gs_notify_list
    functionSourceFile: /src/libspectre/ghostscript/base/gsnotify.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_notify_list()
  - BBCount: 28
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 144
    argCount: 22
    argNames:
    - gs_restrict * gs_restrict
    - gs_restrict * gs_restrict
    - n_planes
    - levels
    - aspect_x
    - aspect_y
    - elo
    - ehi
    - ets_biasing_mode
    - r_style
    - old_quant
    - fancy_coupling
    - gs_restrict
    - gs_restrict
    - tmwidth
    - tmheight
    - y
    - xd
    - gs_restrict * gs_restrict
    - seeds
    - in_plane_step
    - out_plane_step
    argTypes:
    - unsigned char*
    - ETS_SrcPixel*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int*
    - signed char*
    - unsigned int
    - unsigned int
    - unsigned int
    - int
    - ETS_PlaneCtx*
    - uint32*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 439
    functionName: ets_line_template
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void ets_line_template(unsigned char * gs_restrict * gs_restrict dest,
      const ETS_SrcPixel * const gs_restrict * gs_restrict src, int n_planes, int
      levels, int aspect_x, int aspect_y, int elo, int ehi, int ets_biasing_mode,
      int r_style, int old_quant, int fancy_coupling, int * gs_restrict c_line,\n
      \                 const signed char * gs_restrict tmmat, unsigned int tmwidth,
      unsigned int tmheight, unsigned int y, int xd, ETS_PlaneCtx * gs_restrict *
      gs_restrict planes, uint32 *seeds, int in_plane_step, int out_plane_step)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_line_template
      Src: /src/libspectre/ghostscript/base/ets.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - etc
    - dest
    - src
    argTypes:
    - ETS_Ctx*
    - unsigned char**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 466
    functionName: ets_line_none
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_line_template
    linkageType: ''
    returnType: void
    signature: void ets_line_none(ETS_Ctx *etc, unsigned char **dest, const ETS_SrcPixel
      * const *src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_line_template
      Src: /src/libspectre/ghostscript/base/ets.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - etc
    - dest
    - src
    argTypes:
    - ETS_Ctx*
    - unsigned char**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 474
    functionName: ets_line_threshold
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_line_template
    linkageType: ''
    returnType: void
    signature: void ets_line_threshold(ETS_Ctx *etc, unsigned char **dest, const ETS_SrcPixel
      * const * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_line_template
      Src: /src/libspectre/ghostscript/base/ets.c:479,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - etc
    - dest
    - src
    argTypes:
    - ETS_Ctx*
    - unsigned char**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 482
    functionName: ets_line_pseudo
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_line_template
    linkageType: ''
    returnType: void
    signature: void ets_line_pseudo(ETS_Ctx *etc, unsigned char **dest, const ETS_SrcPixel
      * const * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_line_template
      Src: /src/libspectre/ghostscript/base/ets.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - etc
    - dest
    - src
    argTypes:
    - ETS_Ctx*
    - unsigned char**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 491
    functionName: ets_line_default
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_line_template
    linkageType: ''
    returnType: void
    signature: void ets_line_default(ETS_Ctx *etc, unsigned char **dest, const ETS_SrcPixel
      * const * src)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ETS_Ctx*::line_fn
      Src: /src/libspectre/ghostscript/base/ets.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - etc
    - dest
    - gs_restrict
    argTypes:
    - ETS_Ctx*
    - unsigned char**
    - ETS_SrcPixel**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 494
    functionDepth: 0
    functionLinenumber: 494
    functionLinenumberEnd: 499
    functionName: ets_line
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 1
    functionsReached:
    - ETS_Ctx*::line_fn
    linkageType: ''
    returnType: void
    signature: void ets_line(ETS_Ctx *etc, unsigned char **dest, const ETS_SrcPixel
      * const * gs_restrict src)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:513,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:514,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:515,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:516,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - malloc_arg
    - ctx
    argTypes:
    - void*
    - ETS_PlaneCtx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 518
    functionName: ets_plane_free
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 1
    functionsReached:
    - ets_free
    linkageType: ''
    returnType: void
    signature: void ets_plane_free(void *malloc_arg, ETS_PlaneCtx *ctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/ets.c:596,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/ets.c:598,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 70
    argCount: 1
    argNames:
    - params
    argTypes:
    - ETS_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 602
    functionName: compute_distscale
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 1
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: double
    signature: double compute_distscale(const ETS_Params *params)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 613
    functionName: ets_log2
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ets_log2(unsigned int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/base/ets.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 615
    functionDepth: 0
    functionLinenumber: 615
    functionLinenumberEnd: 619
    functionName: ets_log2up
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 1
    functionsReached:
    - ets_log2
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int ets_log2up(unsigned int x)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 34
    argCount: 3
    argNames:
    - nl
    - rs_base
    - levels
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 621
    functionDepth: 0
    functionLinenumber: 621
    functionLinenumberEnd: 663
    functionName: compute_randshift
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compute_randshift(int nl, int rs_base, int levels)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: compute_distscale
      Src: /src/libspectre/ghostscript/base/ets.c:693,1
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/ets.c:699,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/base/ets.c:703,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/base/ets.c:704,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/base/ets.c:704,1
    - Dst: ets_log2up
      Src: /src/libspectre/ghostscript/base/ets.c:710,1
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/ets.c:720,1
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/ets.c:749,1
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/ets.c:752,1
    - Dst: compute_randshift
      Src: /src/libspectre/ghostscript/base/ets.c:824,1
    - Dst: ets_log2
      Src: /src/libspectre/ghostscript/base/ets.c:831,1
    - Dst: ets_calloc
      Src: /src/libspectre/ghostscript/base/ets.c:840,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/base/ets.c:852,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:859,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:860,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:861,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:862,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:864,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 79
    argCount: 5
    argNames:
    - malloc_arg
    - params
    - etc
    - plane_idx
    - strength
    argTypes:
    - void*
    - ETS_Params*
    - ETS_Ctx*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 866
    functionName: ets_plane_new
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 1
    functionsReached:
    - compute_randshift
    - ets_log2up
    - ets_malloc
    - ets_calloc
    - rand
    - ets_log2
    - compute_distscale
    - ets_free
    linkageType: ''
    returnType: ETS_PlaneCtx
    signature: 'ETS_PlaneCtx *

      ets_plane_new(void *malloc_arg, const ETS_Params *params, ETS_Ctx *etc, int
      plane_idx, int strength)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/ets.c:885,1
    - Dst: ets_plane_free
      Src: /src/libspectre/ghostscript/base/ets.c:889,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:890,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:891,1
    - Dst: ets_free
      Src: /src/libspectre/ghostscript/base/ets.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - malloc_arg
    - ctx
    argTypes:
    - void*
    - ETS_Ctx*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 894
    functionName: ets_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_plane_free
    - ets_free
    - fclose
    linkageType: ''
    returnType: void
    signature: void ets_destroy(void *malloc_arg, ETS_Ctx *ctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/ets.c:899,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/ets.c:915,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/ets.c:919,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/ets.c:924,1
    - Dst: ets_calloc
      Src: /src/libspectre/ghostscript/base/ets.c:942,1
    - Dst: ets_calloc
      Src: /src/libspectre/ghostscript/base/ets.c:950,1
    - Dst: ets_plane_new
      Src: /src/libspectre/ghostscript/base/ets.c:955,1
    - Dst: ets_destroy
      Src: /src/libspectre/ghostscript/base/ets.c:982,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 2
    argNames:
    - malloc_arg
    - params
    argTypes:
    - void*
    - ETS_Params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 984
    functionName: ets_create
    functionSourceFile: /src/libspectre/ghostscript/base/ets.c
    functionUses: 0
    functionsReached:
    - ets_plane_new
    - ets_malloc
    - fwrite
    - ets_destroy
    - ets_calloc
    linkageType: ''
    returnType: ETS_Ctx
    signature: 'ETS_Ctx *

      ets_create(void *malloc_arg, const ETS_Params *params)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: private_st_A85D_state
    functionSourceFile: /src/libspectre/ghostscript/base/sa85d.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_A85D_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ss
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 51
    functionName: s_A85D_init_inline
    functionSourceFile: /src/libspectre/ghostscript/base/sa85d.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: s_A85D_init_inline(ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: caching_an_outline_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool caching_an_outline_font(const gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:42,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxpaint.c:44,1
    - Dst: caching_an_outline_font
      Src: /src/libspectre/ghostscript/base/gxpaint.c:52,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpaint.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - ppath
    - pdevc
    - pgs
    - rule
    - adjust_x
    - adjust_y
    argTypes:
    - gx_path*
    - gx_device_color*
    - gs_gstate*
    - int
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: gx_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 1
    functionsReached:
    - gx_effective_clip_path
    - dev_proc
    - caching_an_outline_font
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: "int gx_fill_path(gx_path * ppath, gx_device_color * pdevc, gs_gstate
      * pgs,\n             int rule, fixed adjust_x, fixed adjust_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:61,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxpaint.c:63,1
    - Dst: caching_an_outline_font
      Src: /src/libspectre/ghostscript/base/gxpaint.c:68,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpaint.c:70,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ppath
    - pgs
    argTypes:
    - gx_path*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 58
    functionDepth: 6
    functionLinenumber: 58
    functionLinenumberEnd: 73
    functionName: gx_stroke_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 0
    functionsReached:
    - gx_effective_clip_path
    - caching_an_outline_font
    - gs_currentdevice_inline
    - gs_currentdevicecolor_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_stroke_fill(gx_path * ppath, gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:78,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxpaint.c:80,1
    - Dst: caching_an_outline_font
      Src: /src/libspectre/ghostscript/base/gxpaint.c:89,1
    - Dst: caching_an_outline_font
      Src: /src/libspectre/ghostscript/base/gxpaint.c:90,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxpaint.c:92,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:94,1
    - Dst: gs_altdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxpaint.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pgs
    - rule
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 97
    functionName: gx_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 0
    functionsReached:
    - gx_effective_clip_path
    - gs_altdevicecolor_inline
    - caching_an_outline_font
    - gs_currentdevice_inline
    - gs_currentdevicecolor_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_fill_stroke_path(gs_gstate * pgs, int rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caching_an_outline_font
      Src: /src/libspectre/ghostscript/base/gxpaint.c:105,1
    - Dst: gx_stroke_path_only
      Src: /src/libspectre/ghostscript/base/gxpaint.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ppath
    - to_path
    - pgs
    - traditional
    argTypes:
    - gx_path*
    - gx_path*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 110
    functionName: gx_stroke_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 0
    functionsReached:
    - gx_stroke_path_only
    - caching_an_outline_font
    linkageType: ''
    returnType: int
    signature: "int gx_stroke_add(gx_path * ppath, gx_path * to_path,\n              const
      gs_gstate * pgs, bool traditional)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_stroke_path_only
      Src: /src/libspectre/ghostscript/base/gxpaint.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - ppath
    - to_path
    - dev
    - pgs
    argTypes:
    - gx_path*
    - gx_path*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 122
    functionName: gx_gstate_stroke_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxpaint.c
    functionUses: 0
    functionsReached:
    - gx_stroke_path_only
    linkageType: ''
    returnType: int
    signature: "int gx_gstate_stroke_add(gx_path *ppath, gx_path *to_path,\n                     gx_device
      *dev, const gs_gstate *pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: image_proc_source_size
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_proc_source_size(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 64
    functionName: image_proc_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_proc_sput(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: image_proc_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_proc_sget(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: image_proc_release
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_proc_release(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - dd1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: DECODE_DEFAULT
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECODE_DEFAULT(i, dd1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: image_enum_proc_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_enum_proc_plane_data(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 149
    functionName: image_enum_proc_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_enum_proc_end_image(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: image_enum_proc_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_enum_proc_flush(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 187
    functionName: image_enum_proc_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_enum_proc_planes_wanted(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: public_st_gx_image_enum_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxiparam.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gx_image_enum_common()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: private_st_pattern2_template
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pattern2_template()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: public_st_pattern2_instance
    functionSourceFile: /src/libspectre/ghostscript/base/gsptype2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_pattern2_instance()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmd5.c:170,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:208,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:209,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:210,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:211,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:212,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:213,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:214,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:215,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:216,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:217,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:218,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:219,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:220,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:221,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:222,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:223,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:234,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:235,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:236,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:237,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:238,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:239,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:240,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:241,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:242,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:243,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:244,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:245,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:246,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:247,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:248,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:249,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:260,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:261,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:262,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:263,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:264,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:265,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:266,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:267,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:268,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:269,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:270,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:271,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:272,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:273,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:274,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:275,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:286,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:287,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:288,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:289,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:290,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:291,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:292,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:293,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:294,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:295,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:296,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:297,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:298,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:299,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:300,1
    - Dst: SET
      Src: /src/libspectre/ghostscript/base/gsmd5.c:301,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 83
    argCount: 2
    argNames:
    - pms
    - data
    argTypes:
    - gs_md5_state_t*
    - gs_md5_byte_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 311
    functionName: gs_md5_process
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 0
    functionsReached:
    - memcpy
    - SET
    linkageType: ''
    returnType: void
    signature: void gs_md5_process(gs_md5_state_t *pms, const gs_md5_byte_t *data
      /*[64]*/)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: ROTATE_LEFT
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTATE_LEFT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: F
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: F(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 207
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: G
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 276
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 233
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: H
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 82
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: H(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 259
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: I
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 57
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I(x, y, z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - k
    - ','
    - s
    - ','
    - Ti
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 285
    functionName: SET
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 41
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET(a, b, c, d, k, s, Ti)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pms
    argTypes:
    - gs_md5_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: gs_md5_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_md5_init(gs_md5_state_t *pms)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmd5.c:344,1
    - Dst: gs_md5_process
      Src: /src/libspectre/ghostscript/base/gsmd5.c:349,1
    - Dst: gs_md5_process
      Src: /src/libspectre/ghostscript/base/gsmd5.c:354,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmd5.c:358,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pms
    - data
    - nbytes
    argTypes:
    - gs_md5_state_t*
    - gs_md5_byte_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 323
    functionDepth: 1
    functionLinenumber: 323
    functionLinenumberEnd: 359
    functionName: gs_md5_append
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 9
    functionsReached:
    - gs_md5_process
    - memcpy
    linkageType: ''
    returnType: void
    signature: void gs_md5_append(gs_md5_state_t *pms, const gs_md5_byte_t *data,
      int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/base/gsmd5.c:377,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/base/gsmd5.c:379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pms
    - digest
    argTypes:
    - gs_md5_state_t*
    - gs_md5_byte_t[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 382
    functionName: gs_md5_finish
    functionSourceFile: /src/libspectre/ghostscript/base/gsmd5.c
    functionUses: 9
    functionsReached:
    - gs_md5_append
    linkageType: ''
    returnType: void
    signature: void gs_md5_finish(gs_md5_state_t *pms, gs_md5_byte_t digest[16])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_compact
      Src: /src/libspectre/ghostscript/base/stream.c:748,1
    - Dst: sreadbuf
      Src: /src/libspectre/ghostscript/base/stream.c:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 752
    functionName: s_process_read_buf
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 1
    functionsReached:
    - stream_compact
    - sreadbuf
    linkageType: ''
    returnType: int
    signature: int s_process_read_buf(stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swritebuf
      Src: /src/libspectre/ghostscript/base/stream.c:761,1
    - Dst: stream_compact
      Src: /src/libspectre/ghostscript/base/stream.c:763,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - s
    - last
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 765
    functionName: s_process_write_buf
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 4
    functionsReached:
    - stream_compact
    - swritebuf
    linkageType: ''
    returnType: int
    signature: int s_process_write_buf(stream * s, bool last)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - curr
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 775
    functionName: MOVE_BACK
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVE_BACK(curr, prev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - curr
    - ','
    - prev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 775
    functionDepth: 0
    functionLinenumber: 775
    functionLinenumberEnd: 780
    functionName: MOVE_AHEAD
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVE_AHEAD(curr, prev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sbuf_min_left
      Src: /src/libspectre/ghostscript/base/stream.c:813,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/stream.c:814,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/stream.c:819,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/stream.c:825,1
    - Dst: MOVE_AHEAD
      Src: /src/libspectre/ghostscript/base/stream.c:835,1
    - Dst: stream_compact
      Src: /src/libspectre/ghostscript/base/stream.c:836,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/stream.c:847,1
    - Dst: MOVE_BACK
      Src: /src/libspectre/ghostscript/base/stream.c:856,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 41
    argCount: 2
    argNames:
    - s
    - pbuf
    argTypes:
    - stream*
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 858
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 858
    functionName: sreadbuf
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 1
    functionsReached:
    - stream_compact
    - MOVE_AHEAD
    - if_debug5m
    - sclose
    - sbuf_min_left
    - MOVE_BACK
    - if_debug4m
    - min
    linkageType: ''
    returnType: int
    signature: int sreadbuf(stream * s, stream_cursor_write * pbuf)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/stream.c:902,1
    - Dst: gs_struct_type_name
      Src: /src/libspectre/ghostscript/base/stream.c:905,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/stream.c:911,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/stream.c:935,1
    - Dst: MOVE_AHEAD
      Src: /src/libspectre/ghostscript/base/stream.c:936,1
    - Dst: stream_compact
      Src: /src/libspectre/ghostscript/base/stream.c:937,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/stream.c:950,1
    - Dst: MOVE_BACK
      Src: /src/libspectre/ghostscript/base/stream.c:951,1
    - Dst: MOVE_BACK
      Src: /src/libspectre/ghostscript/base/stream.c:959,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/stream.c:962,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 51
    argCount: 3
    argNames:
    - s
    - pbuf
    - last
    argTypes:
    - stream*
    - stream_cursor_read*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 964
    functionName: swritebuf
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 1
    functionsReached:
    - stream_compact
    - MOVE_AHEAD
    - if_debug5m
    - if_debug1m
    - MOVE_BACK
    - gs_struct_type_name
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int swritebuf(stream * s, stream_cursor_read * pbuf, bool last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/stream.c:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pr
    - pw
    argTypes:
    - stream_cursor_read*
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 984
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 984
    functionName: stream_move
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: int
    signature: int stream_move(stream_cursor_read * pr, stream_cursor_write * pw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/stream.c:993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - always
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 999
    functionName: stream_compact
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 4
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void stream_compact(stream * s, bool always)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/stream.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - s
    - ptr
    - len
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1027
    functionName: sread_string
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 5
    functionsReached:
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void sread_string(register stream *s, const byte *ptr, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1034
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1034
    functionName: s_string_reusable_reset
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_string_reusable_reset(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1040
    functionName: s_string_reusable_flush
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_string_reusable_flush(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/base/stream.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - len
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1041
    functionDepth: 1
    functionLinenumber: 1041
    functionLinenumberEnd: 1056
    functionName: sread_string_reusable
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached:
    - sread_string
    linkageType: ''
    returnType: void
    signature: void sread_string_reusable(stream *s, const byte *ptr, uint len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/base/stream.c:1062,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pl
    argTypes:
    - stream*
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1066
    functionName: s_string_available
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached:
    - sbufavailable
    linkageType: ''
    returnType: int
    signature: int s_string_available(stream *s, gs_offset_t *pl)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1069
    functionDepth: 0
    functionLinenumber: 1069
    functionLinenumberEnd: 1087
    functionName: s_string_read_seek
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_string_read_seek(register stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/stream.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - s
    - ptr
    - len
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1090
    functionDepth: 0
    functionLinenumber: 1090
    functionLinenumberEnd: 1101
    functionName: swrite_string
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 11
    functionsReached:
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void swrite_string(register stream * s, byte * ptr, uint len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1104
    functionDepth: 0
    functionLinenumber: 1104
    functionLinenumberEnd: 1111
    functionName: s_string_write_seek
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_string_write_seek(register stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: s_string_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_string_read_process(stream_state * st, stream_cursor_read *
      ignore_pr,\n                      stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 0
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: s_string_write_process
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_string_write_process(stream_state * st, stream_cursor_read *
      pr,\n                       stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/base/stream.c:1143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1138
    functionDepth: 1
    functionLinenumber: 1138
    functionLinenumberEnd: 1145
    functionName: swrite_position_only
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 12
    functionsReached:
    - swrite_string
    linkageType: ''
    returnType: void
    signature: void swrite_position_only(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1147
    functionDepth: 0
    functionLinenumber: 1147
    functionLinenumberEnd: 1153
    functionName: s_write_position_process
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_write_position_process(stream_state * st, stream_cursor_read
      * pr,\n                         stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/stream.c:1170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - fs
    - fss
    - buf
    - bsize
    - target
    argTypes:
    - stream*
    - stream_state*
    - byte*
    - uint
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1162
    functionDepth: 0
    functionLinenumber: 1162
    functionLinenumberEnd: 1180
    functionName: s_init_filter
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 6
    functionsReached:
    - s_std_init
    linkageType: ''
    returnType: int
    signature: "int s_init_filter(stream *fs, stream_state *fss, byte *buf, uint bsize,\n
      \             stream *target)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/stream.c:1187,1
    - Dst: s_add_filter
      Src: /src/libspectre/ghostscript/base/stream.c:1199,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/stream.c:1202,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/stream.c:1203,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/stream.c:1205,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/stream.c:1206,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/base/stream.c:1213,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - ps
    - templat
    - ss
    - mem
    argTypes:
    - stream**
    - stream_template*
    - stream_state*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1217
    functionName: s_add_filter
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 7
    functionsReached:
    - gs_alloc_bytes
    - max
    - s_alloc
    - s_add_filter
    - s_init_filter
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: "stream *\ns_add_filter(stream **ps, const stream_template *templat,\n
      \            stream_state *ss, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/stream.c:1231,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/stream.c:1237,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/stream.c:1238,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/stream.c:1240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - ps
    - target
    argTypes:
    - stream**
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1245
    functionName: s_close_filters
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 15
    functionsReached:
    - sclose
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_close_filters(stream **ps, stream *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1255
    functionDepth: 0
    functionLinenumber: 1255
    functionLinenumberEnd: 1259
    functionName: file_close_finish
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int file_close_finish(stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1269
    functionDepth: 0
    functionLinenumber: 1269
    functionLinenumberEnd: 1275
    functionName: s_close_disable
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_close_disable(stream *s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_close_disable
      Src: /src/libspectre/ghostscript/base/stream.c:1283,1
    - Dst: file_close_finish
      Src: /src/libspectre/ghostscript/base/stream.c:1284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1276
    functionDepth: 1
    functionLinenumber: 1276
    functionLinenumberEnd: 1285
    functionName: file_close_disable
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 1
    functionsReached:
    - file_close_finish
    - s_close_disable
    linkageType: ''
    returnType: int
    signature: int file_close_disable(stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stream_move
      Src: /src/libspectre/ghostscript/base/stream.c:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1295
    functionName: s_Null_process
    functionSourceFile: /src/libspectre/ghostscript/base/stream.c
    functionUses: 0
    functionsReached:
    - stream_move
    linkageType: ''
    returnType: int
    signature: "int s_Null_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - new_polarity
    argTypes:
    - gx_device*
    - gx_color_polarity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 59
    functionName: set_cinfo_polarity
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - dmprintf
    linkageType: ''
    returnType: void
    signature: void set_cinfo_polarity(gx_device * dev, gx_color_polarity_t new_polarity)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_encode_color
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:64,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:67,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:69,1
    - Dst: set_cinfo_polarity
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:70,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:73,1
    - Dst: set_cinfo_polarity
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:74,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:76,1
    - Dst: set_cinfo_polarity
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:77,1
    - Dst: set_cinfo_polarity
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:93,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:99,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 113
    functionName: (*get_encode_color(gx_device *dev))(gx_device *, const gx_color_value
      *)
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - dev_proc_encode_color
    - colors_are_separable_and_linear
    - set_cinfo_polarity
    - dev_proc
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index (*get_encode_color(gx_device *dev))(gx_device *, const
      gx_color_value *)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:138,1
    - Dst: map_rgb_subclass
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:141,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 154
    functionName: is_like_DeviceRGB
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - map_rgb_subclass
    - get_color_mapping_procs_subclass
    linkageType: ''
    returnType: bool
    signature: bool is_like_DeviceRGB(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:169,1
    - Dst: map_cmyk_subclass
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:173,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 192
    functionName: is_like_DeviceCMYK
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - get_color_mapping_procs_subclass
    - map_cmyk_subclass
    linkageType: ''
    returnType: bool
    signature: bool is_like_DeviceCMYK(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 210
    functionName: gx_default_1_add_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_1_add_decode_color(\n    gx_device *     dev,\n    gx_color_index
      \ color,\n    gx_color_value  cv[1] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: gx_default_1_sub_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_1_sub_decode_color(\n    gx_device *     dev,\n    gx_color_index
      \ color,\n    gx_color_value  cv[1] )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:242,1
    - Dst: gx_default_decode_color
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:243,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:245,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 258
    functionName: gx_default_cmyk_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - colors_are_separable_and_linear
    - gx_default_decode_color
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_default_cmyk_decode_color(\n    gx_device *     dev,\n    gx_color_index
      \ color,\n    gx_color_value  cv[4] )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - cv
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 275
    functionName: gx_1bit_cmyk_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_1bit_cmyk_decode_color(\n    gx_device *     dev,\n    gx_color_index
      \ color,\n    gx_color_value  cv[4] )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:281,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:282,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:290,1
    - Dst: is_like_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:293,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:294,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:297,1
    - Dst: is_like_DeviceCMYK
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:320,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:321,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 277
    functionDepth: 3
    functionLinenumber: 277
    functionLinenumberEnd: 337
    functionName: (*get_decode_color(gx_device * dev))(gx_device *, gx_color_index,
      gx_color_value *)
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - is_like_DeviceCMYK
    - colors_are_separable_and_linear
    - is_like_DeviceRGB
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int (*get_decode_color(gx_device * dev))(gx_device *, gx_color_index,
      gx_color_value *)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:360,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:360,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:364,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 372
    functionName: set_linear_color_bits_mask_shift
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 13
    functionsReached:
    - ilog2
    linkageType: ''
    returnType: void
    signature: void set_linear_color_bits_mask_shift(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    functionName: is_power_of_two
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_power_of_two(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:414,1
    - Dst: is_power_of_two
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:433,1
    - Dst: is_power_of_two
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:434,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:440,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:448,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:475,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 53
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 501
    functionName: check_device_separable
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 12
    functionsReached:
    - is_power_of_two
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void check_device_separable(gx_device * dev)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:535,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:538,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:542,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:568,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 40
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 581
    functionName: check_device_compatible_encoding
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - device_is_deep
    - dev_proc
    - check_device_separable
    linkageType: ''
    returnType: void
    signature: void check_device_compatible_encoding(gx_device *dev)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:589,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:590,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:591,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:592,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:593,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:594,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:596,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:598,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:599,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:600,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:601,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:602,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:603,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:604,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:606,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:607,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:608,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:609,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:610,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:611,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:612,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:613,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:614,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:615,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:616,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:617,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:618,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:619,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:620,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:621,1
    - Dst: CHECK_NON_DEFAULT
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:638,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:640,1
    - Dst: CHECK_NON_DEFAULT
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:641,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:642,1
    - Dst: CHECK_NON_DEFAULT
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:643,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:644,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:646,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:647,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:648,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:649,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:650,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:651,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:652,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:653,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:654,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:655,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:656,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:657,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:659,1
    - Dst: get_encode_color
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:659,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:661,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:661,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:663,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:663,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:665,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:666,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:667,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:668,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:671,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:672,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:673,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:691,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:695,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:696,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:703,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:706,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:710,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:711,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:716,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:717,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:720,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:721,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:722,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:726,1
    - Dst: get_decode_color
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:726,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:727,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:728,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:743,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:744,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:745,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:746,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:747,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:748,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:749,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:750,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:751,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:753,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:754,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:756,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:757,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:758,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:760,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:761,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:762,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:764,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:766,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:767,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:768,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:769,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:770,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 118
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 771
    functionName: gx_device_fill_in_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 15
    functionsReached:
    - get_decode_color
    - dev_proc
    - CHECK_NON_DEFAULT
    - gx_device_set_procs
    - fill_dev_proc
    - set_dev_proc
    - colors_are_separable_and_linear
    - get_encode_color
    linkageType: ''
    returnType: void
    signature: void gx_device_fill_in_procs(register gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - proc
    - ','
    - default
    - ','
    - procname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 0
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: CHECK_NON_DEFAULT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NON_DEFAULT(proc, default, procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - proc
    - ','
    - default
    - ','
    - procname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 635
    functionDepth: 0
    functionLinenumber: 635
    functionLinenumberEnd: 637
    functionName: CHECK_NON_DEFAULT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_NON_DEFAULT(proc, default, procname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:778,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 774
    functionDepth: 2
    functionLinenumber: 774
    functionLinenumberEnd: 780
    functionName: gx_default_open_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - check_device_separable
    linkageType: ''
    returnType: int
    signature: int gx_default_open_device(gx_device * dev)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 829
    functionName: gx_default_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_default_get_initial_matrix(gx_device * dev, register gs_matrix
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 832
    functionDepth: 0
    functionLinenumber: 832
    functionLinenumberEnd: 843
    functionName: gx_upright_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_upright_get_initial_matrix(gx_device * dev, register gs_matrix
      * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: gx_default_sync_output
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_sync_output(gx_device * dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:854,1
    - Dst: gx_finish_output_page
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:857,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 859
    functionName: gx_default_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - gx_finish_output_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_output_page(gx_device * dev, int num_copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 861
    functionDepth: 0
    functionLinenumber: 861
    functionLinenumberEnd: 865
    functionName: gx_default_close_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_close_device(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 871
    functionName: gx_default_get_xfont_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_xfont_procs
    signature: 'gx_xfont_procs *

      gx_default_get_xfont_procs(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 873
    functionDepth: 0
    functionLinenumber: 873
    functionLinenumberEnd: 877
    functionName: gx_default_get_xfont_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_default_get_xfont_device(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: gx_default_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_default_get_page_device(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 888
    functionName: gx_page_device_get_page_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device
    signature: 'gx_device *

      gx_page_device_get_page_device(gx_device * dev)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - type
    argTypes:
    - gx_device*
    - graphics_object_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 895
    functionName: gx_default_get_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_get_alpha_bits(gx_device * dev, graphics_object_type
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - y
    - band_start
    argTypes:
    - gx_device*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 901
    functionName: gx_default_get_band
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_get_band(gx_device * dev, int y, int *band_start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:908,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 910
    functionName: gx_default_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void gx_default_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 918
    functionName: gx_get_largest_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_get_largest_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:926,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 927
    functionName: gx_no_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_create_compositor(gx_device * dev, gx_device ** pcdev,\n
      \                       const gs_composite_t * pcte,\n                        gs_gstate
      * pgs, gs_memory_t * memory,\n                        gx_device *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_composite_t*::type::procs::create_default_compositor
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 936
    functionName: gx_default_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - gs_composite_t*::type::procs::create_default_compositor
    linkageType: ''
    returnType: int
    signature: "int gx_default_create_compositor(gx_device * dev, gx_device ** pcdev,\n
      \                            const gs_composite_t * pcte,\n                             gs_gstate
      * pgs, gs_memory_t * memory,\n                             gx_device *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 945
    functionName: gx_null_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_null_create_compositor(gx_device * dev, gx_device ** pcdev,\n
      \                         const gs_composite_t * pcte,\n                          gs_gstate
      * pgs, gs_memory_t * memory,\n                          gx_device *cdev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - pcte
    - dev
    - pcdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device*
    - gx_device**
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 955
    functionName: gx_default_composite_clist_write_update
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_composite_clist_write_update(const gs_composite_t *pcte,
      gx_device * dev,\n                gx_device ** pcdev, gs_gstate * pgs, gs_memory_t
      * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pcte
    - x0
    - y0
    - pgs
    argTypes:
    - gs_composite_t*
    - int
    - int
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 962
    functionName: gx_default_composite_adjust_ctm
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_composite_adjust_ctm(gs_composite_t *pcte, int x0, int
      y0, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - this
    - pcte
    - dev
    argTypes:
    - gs_composite_t*
    - gs_composite_t**
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 971
    functionName: gx_default_composite_is_closing
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_compositor_closing_state
    signature: gs_compositor_closing_state gx_default_composite_is_closing(const gs_composite_t
      *this, gs_composite_t **pcte, gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - this
    - cmd0
    - cmd1
    argTypes:
    - gs_composite_t*
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 976
    functionDepth: 0
    functionLinenumber: 976
    functionLinenumberEnd: 980
    functionName: gx_default_composite_is_friendly
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_default_composite_is_friendly(const gs_composite_t *this, byte
      cmd0, byte cmd1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pxcte
    - cdev
    - tdev
    - pgs
    - mem
    argTypes:
    - gs_composite_t*
    - gx_device*
    - gx_device*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 986
    functionDepth: 0
    functionLinenumber: 986
    functionLinenumberEnd: 991
    functionName: gx_default_composite_clist_read_update
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_composite_clist_read_update(gs_composite_t *pxcte,
      gx_device * cdev,\n                gx_device * tdev, gs_gstate * pgs, gs_memory_t
      * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pxcte
    - ry
    - rheight
    - cropping_min
    - cropping_max
    argTypes:
    - gs_composite_t*
    - int*
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 996
    functionDepth: 0
    functionLinenumber: 996
    functionLinenumberEnd: 1001
    functionName: gx_default_composite_get_cropping
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_composite_get_cropping(const gs_composite_t *pxcte,
      int *ry, int *rheight,\n                                  int cropping_min,
      int cropping_max)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1003
    functionDepth: 0
    functionLinenumber: 1003
    functionLinenumberEnd: 1008
    functionName: gx_default_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 1
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int gx_default_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1033,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1035,1
    - Dst: gx_default_get_param
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1051,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1059,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1063,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1064,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1071,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 4
    argNames:
    - pdev
    - dev_spec_op
    - data
    - size
    argTypes:
    - gx_device*
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1010
    functionDepth: 4
    functionLinenumber: 1010
    functionLinenumberEnd: 1072
    functionName: gx_default_dev_spec_op
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 11
    functionsReached:
    - return_error
    - gx_default_get_param
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_default_dev_spec_op(gx_device *pdev, int dev_spec_op, void *data,
      int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pdev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1081
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1081
    functionName: gx_default_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_rectangle_hl_color(gx_device *pdev,\n    const
      gs_fixed_rect *rect,\n    const gs_gstate *pgs, const gx_drawing_color *pdcolor,\n
      \   const gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - cspace
    - res_name
    - name_length
    argTypes:
    - gx_device*
    - gs_color_space*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1088
    functionName: gx_default_include_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_default_include_color_space(gx_device *pdev, gs_color_space
      *cspace,\n        const byte *res_name, int name_length)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: gx_default_update_spot_equivalent_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_update_spot_equivalent_colors(gx_device *pdev, const
      gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: gx_default_ret_devn_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_devn_params
    signature: 'gs_devn_params *

      gx_default_ret_devn_params(gx_device *pdev)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_process_page_options_t*::init_buffer_fn
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1123,1
    - Dst: gx_process_page_options_t*::process_fn
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1133,1
    - Dst: gx_process_page_options_t*::output_fn
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1135,1
    - Dst: gx_process_page_options_t*::free_buffer_fn
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1141
    functionName: gx_default_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gx_process_page_options_t*::output_fn
    - gx_process_page_options_t*::process_fn
    - gx_process_page_options_t*::free_buffer_fn
    - gx_process_page_options_t*::init_buffer_fn
    linkageType: ''
    returnType: int
    signature: int gx_default_process_page(gx_device *dev, gx_process_page_options_t
      *options)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gs_transparency_group_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1143
    functionDepth: 0
    functionLinenumber: 1143
    functionLinenumberEnd: 1147
    functionName: gx_default_begin_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_begin_transparency_group(gx_device *dev, const gs_transparency_group_params_t
      *ptgp, const gs_rect *pbbox, gs_gstate *pgs, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1149
    functionDepth: 0
    functionLinenumber: 1149
    functionLinenumberEnd: 1153
    functionName: gx_default_end_transparency_group
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_end_transparency_group(gx_device *dev, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - dev
    - ptgp
    - pbbox
    - pgs
    - mem
    argTypes:
    - gx_device*
    - gx_transparency_mask_params_t*
    - gs_rect*
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1155
    functionDepth: 0
    functionLinenumber: 1155
    functionLinenumberEnd: 1159
    functionName: gx_default_begin_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_begin_transparency_mask(gx_device *dev, const gx_transparency_mask_params_t
      *ptgp, const gs_rect *pbbox, gs_gstate *pgs, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1161
    functionDepth: 0
    functionLinenumber: 1161
    functionLinenumberEnd: 1165
    functionName: gx_default_end_transparency_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_end_transparency_mask(gx_device *dev, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1171
    functionName: gx_default_discard_transparency_layer
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_discard_transparency_layer(gx_device *dev, gs_gstate
      *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdev
    - id
    - pinst
    - function
    argTypes:
    - gx_device*
    - gx_bitmap_id
    - gs_pattern1_instance_t*
    - pattern_manage_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1173
    functionDepth: 1
    functionLinenumber: 1173
    functionLinenumberEnd: 1177
    functionName: gx_default_pattern_manage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_default_pattern_manage(gx_device *pdev, gx_bitmap_id id, gs_pattern1_instance_t
      *pinst, pattern_manage_t function)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1183
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1183
    functionName: gx_default_push_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_push_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1185
    functionDepth: 0
    functionLinenumber: 1185
    functionLinenumberEnd: 1189
    functionName: gx_default_pop_transparency_state
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_pop_transparency_state(gx_device *dev, gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - mdev
    - buffers
    - num_chan
    - x
    - y
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1191
    functionDepth: 1
    functionLinenumber: 1191
    functionLinenumberEnd: 1195
    functionName: gx_default_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_default_put_image(gx_device *dev, gx_device *mdev, const byte
      **buffers, int num_chan, int x, int y, int width, int height, int row_stride,
      int alpha_plane_index, int tag_plane_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1197
    functionDepth: 1
    functionLinenumber: 1197
    functionLinenumberEnd: 1201
    functionName: gx_default_no_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_default_no_copy_alpha_hl_color(gx_device * dev, const byte *
      data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int
      height, const gx_drawing_color *pdcolor, int depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1203
    functionDepth: 1
    functionLinenumber: 1203
    functionLinenumberEnd: 1207
    functionName: gx_default_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_default_copy_planes(gx_device *dev, const byte *data, int data_x,
      int raster, gx_bitmap_id id, int x, int y, int width, int height, int plane_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1211
    functionDepth: 0
    functionLinenumber: 1211
    functionLinenumberEnd: 1215
    functionName: gx_default_install
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_install(gx_device * dev, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - pgs
    argTypes:
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1221
    functionName: gx_default_begin_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_begin_page(gx_device * dev, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - reason
    - pgs
    argTypes:
    - gx_device*
    - int
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1227
    functionName: gx_default_end_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_end_page(gx_device * dev, int reason, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - graphics_type_tag
    argTypes:
    - gx_device*
    - gs_graphics_type_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1234
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1234
    functionName: gx_default_set_graphics_type_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_default_set_graphics_type_tag(gx_device *dev, gs_graphics_type_tag_t
      graphics_type_tag)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1258,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1258,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1259,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1259,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1260,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1260,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1261,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1261,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1262,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1262,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1263,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1263,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1264,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1264,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1265,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1265,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1266,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1266,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1267,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1267,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1268,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1268,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1269,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1269,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1270,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1270,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1271,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1271,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1272,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1272,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1273,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1273,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1274,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1274,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1275,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1275,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1276,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1276,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1277,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1277,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1278,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1278,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1279,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1279,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1280,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1280,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1281,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1281,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1282,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1282,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1283,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1283,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1284,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1284,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1285,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1285,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1286,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1286,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1287,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1287,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1288,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1288,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1289,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1289,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1290,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1290,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1291,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1291,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1292,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1292,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1293,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1293,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1294,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1294,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1295,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1295,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1296,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1296,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1297,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1297,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1298,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1298,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1299,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1299,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1300,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1300,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1301,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1301,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1302,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1302,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1303,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1303,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1304,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1304,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1305,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1305,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1306,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1306,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1307,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1307,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1308,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1308,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1309,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1309,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1310,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1310,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1311,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1311,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1312,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1312,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1313,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1313,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1314,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1314,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1315,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1315,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1316,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1316,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1317,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1317,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1318,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1318,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1319,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1319,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1320,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1320,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1321,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1321,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1322,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1322,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1323,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1323,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1332,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1332,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1340,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1341,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1341,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1342,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1343,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1343,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1344,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1345,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1346,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1347,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1347,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1348,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1349,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1349,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1350,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1351,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 81
    argCount: 3
    argNames:
    - dest
    - src
    - prototype
    argTypes:
    - gx_device*
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1353
    functionName: gx_copy_device_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 3
    functionsReached:
    - dev_proc
    - set_dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_copy_device_procs(gx_device *dest, gx_device *src, gx_device
      *prototype)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1370,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1376,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1379,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1385,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1388,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1392,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1395,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1396,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1397,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1404,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1405,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1409,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1411,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1418,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1419,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1420,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1421,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1423,1
    - Dst: gx_copy_device_procs
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1425,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1426,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1426,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1427,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1427,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1431,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1433,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1440,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1453,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1469,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 3
    argNames:
    - dev_to_subclass
    - new_prototype
    - private_data_size
    argTypes:
    - gx_device*
    - gx_device*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1483
    functionName: gx_device_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_immovable
    - gs_free_const_object
    - dev_proc
    - gs_alloc_bytes
    - gs_alloc_bytes_immovable
    - rc_increment
    - gx_copy_device_procs
    - memcpy
    - memset
    - gs_free_object
    - return_error
    - gs_set_object_type
    - set_dev_proc
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int gx_device_subclass(gx_device *dev_to_subclass, gx_device *new_prototype,
      unsigned int private_data_size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1525,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1530,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1531,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1532,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1534,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1561,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1563,1
    - Dst: gs_set_object_type
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1588,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1590,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1592,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1612
    functionName: gx_device_unsubclass
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gs_free_const_object
    - rc_increment
    - memcpy
    - rc_decrement
    - gs_set_object_type
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_device_unsubclass(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1619,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1620,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1629,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1631,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1632,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1633,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1634,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 35
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1614
    functionDepth: 0
    functionLinenumber: 1614
    functionLinenumberEnd: 1652
    functionName: gx_update_from_subclass
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 5
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int gx_update_from_subclass(gx_device *dev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1664,1
    - Dst: gs_is_pdf14trans_compositor
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1666,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1666,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1679,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1680,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1681,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1682,1
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1686,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1691,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1699,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1703,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1705,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1654
    functionDepth: 2
    functionLinenumber: 1654
    functionLinenumberEnd: 1707
    functionName: gx_subclass_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gs_is_pdf14trans_compositor
    - strncmp
    - gx_set_cmap_procs
    - set_dev_proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_subclass_create_compositor(gx_device *dev, gx_device **pcdev,
      const gs_composite_t *pcte,\n    gs_gstate *pgs, gs_memory_t *memory, gx_device
      *cdev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1741,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1742,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1743,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1749,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - iy
    - ih
    argTypes:
    - gx_default_transform_pixel_region_state_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1751
      start: 1735
    functionDepth: 1
    functionLinenumber: 1735
    functionLinenumberEnd: 1751
    functionName: get_portrait_y_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 6
    functionsReached:
    - dda_current
    - dda_next
    - fixed2int_pixround_perfect
    linkageType: ''
    returnType: void
    signature: void get_portrait_y_extent(gx_default_transform_pixel_region_state_t
      *state, int *iy, int *ih)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1759,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1760,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1761,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1767,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - state
    - ix
    - iw
    argTypes:
    - gx_default_transform_pixel_region_state_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1769
      start: 1753
    functionDepth: 1
    functionLinenumber: 1753
    functionLinenumberEnd: 1769
    functionName: get_landscape_x_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - dda_current
    - dda_next
    - fixed2int_pixround_perfect
    linkageType: ''
    returnType: void
    signature: void get_landscape_x_extent(gx_default_transform_pixel_region_state_t
      *state, int *ix, int *iw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1777,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1778,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1779,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1780,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1781,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - state
    - w
    - h
    argTypes:
    - gx_default_transform_pixel_region_state_t*
    - fixed*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1771
    functionDepth: 1
    functionLinenumber: 1771
    functionLinenumberEnd: 1786
    functionName: get_skew_extents
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - dda_current
    - dda_next
    linkageType: ''
    returnType: void
    signature: void get_skew_extents(gx_default_transform_pixel_region_state_t *state,
      fixed *w, fixed *h)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1812,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1821,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1822,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1822,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1823,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1824,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1824,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1824,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1824,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1827,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1840,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1843,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1850,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1852,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1856,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1856,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1865,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1878,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1902,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1905,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1912,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1914,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1918,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1918,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1929,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1955,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1960,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:1970,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 141
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1980
      start: 1788
    functionDepth: 1
    functionLinenumber: 1788
    functionLinenumberEnd: 1980
    functionName: transform_pixel_region_render_portrait
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 8
    functionsReached:
    - mapper
    - if_debug5m
    - gx_fill_rectangle_device_rop
    - gs_alloc_bytes
    - color_is_pure
    - get_portrait_y_extent
    - fixed2int_var_rounded
    - dda_translate
    - memcmp
    - dda_current
    - dda_next
    - dev_proc
    - gx_color_value_from_byte
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int transform_pixel_region_render_portrait(gx_device *dev, gx_default_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_landscape_x_extent
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2006,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2015,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2016,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2016,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2017,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2018,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2018,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2018,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2018,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2021,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2033,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2036,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2043,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2045,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2049,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2049,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2058,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 1982
    functionDepth: 1
    functionLinenumber: 1982
    functionLinenumberEnd: 2070
    functionName: transform_pixel_region_render_landscape
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 4
    functionsReached:
    - mapper
    - if_debug5m
    - gx_fill_rectangle_device_rop
    - fixed2int_var_rounded
    - memcmp
    - dda_translate
    - dda_next
    - get_landscape_x_extent
    - dda_current
    - dev_proc
    - gx_color_value_from_byte
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int transform_pixel_region_render_landscape(gx_device *dev, gx_default_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_skew_extents
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2096,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2097,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2098,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2099,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2100,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2101,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2101,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2104,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2105,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2106,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2107,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2109,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2113,1
    - Dst: mapper
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2115,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2072
    functionDepth: 2
    functionLinenumber: 2072
    functionLinenumberEnd: 2136
    functionName: transform_pixel_region_render_skew
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - mapper
    - memcmp
    - dda_translate
    - get_skew_extents
    - if_debug4m
    - dda_current
    - dda_next
    - dev_proc
    - gx_color_value_from_byte
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int transform_pixel_region_render_skew(gx_device *dev, gx_default_transform_pixel_region_state_t
      *state, const unsigned char **buffer, int data_x, gx_cmapper_t *cmapper, const
      gs_gstate *pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 9
    argNames:
    - dev
    - w
    - h
    - spp
    - pixels
    - rows
    - clip
    - lop
    - statep
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - gx_dda_fixed_point*
    - gx_dda_fixed_point*
    - gs_int_rect*
    - gs_logical_operation_t
    - gx_default_transform_pixel_region_state_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2176
    functionName: gx_default_transform_pixel_region_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int gx_default_transform_pixel_region_begin(gx_device *dev, int w,
      int h, int spp,\n                             const gx_dda_fixed_point *pixels,
      const gx_dda_fixed_point *rows,\n                             const gs_int_rect
      *clip, gs_logical_operation_t lop,\n                             gx_default_transform_pixel_region_state_t
      **statep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2181,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2182,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2184,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2185,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2186,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2187,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2188,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - gx_default_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2190
    functionName: step_to_next_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 2
    functionsReached:
    - dda_current
    - dda_next
    - dda_translate
    linkageType: ''
    returnType: void
    signature: void step_to_next_line(gx_default_transform_pixel_region_state_t *state)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_portrait_y_extent
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2198,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2202,1
    - Dst: get_landscape_x_extent
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2208,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - state
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2218
      start: 2192
    functionDepth: 0
    functionLinenumber: 2192
    functionLinenumberEnd: 2218
    functionName: gx_default_transform_pixel_region_data_needed
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - step_to_next_line
    - get_portrait_y_extent
    - get_landscape_x_extent
    linkageType: ''
    returnType: int
    signature: int gx_default_transform_pixel_region_data_needed(gx_device *dev, gx_default_transform_pixel_region_state_t
      *state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_transform_pixel_region_state_t*::render
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2223,1
    - Dst: step_to_next_line
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - dev
    - state
    - buffer
    - data_x
    - cmapper
    - pgs
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    - unsigned char**
    - int
    - gx_cmapper_t*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2227
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2227
    functionName: gx_default_transform_pixel_region_process_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gx_default_transform_pixel_region_state_t*::render
    - step_to_next_line
    linkageType: ''
    returnType: int
    signature: int gx_default_transform_pixel_region_process_data(gx_device *dev,
      gx_default_transform_pixel_region_state_t *state, const unsigned char **buffer,
      int data_x, gx_cmapper_t *cmapper, const gs_gstate *pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2233,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - state
    argTypes:
    - gx_device*
    - gx_default_transform_pixel_region_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2229
    functionDepth: 0
    functionLinenumber: 2229
    functionLinenumberEnd: 2237
    functionName: gx_default_transform_pixel_region_end
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_default_transform_pixel_region_end(gx_device *dev, gx_default_transform_pixel_region_state_t
      *state)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_transform_pixel_region_begin
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2249,1
    - Dst: gx_default_transform_pixel_region_data_needed
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2251,1
    - Dst: gx_default_transform_pixel_region_process_data
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2253,1
    - Dst: gx_default_transform_pixel_region_end
      Src: /src/libspectre/ghostscript/base/gdevdflt.c:2256,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2239
    functionDepth: 2
    functionLinenumber: 2239
    functionLinenumberEnd: 2260
    functionName: gx_default_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdflt.c
    functionUses: 3
    functionsReached:
    - gx_default_transform_pixel_region_begin
    - gx_default_transform_pixel_region_data_needed
    - gx_default_transform_pixel_region_process_data
    - gx_default_transform_pixel_region_end
    linkageType: ''
    returnType: int
    signature: "int gx_default_transform_pixel_region(gx_device *dev,\n                       transform_pixel_region_reason
      reason,\n                       transform_pixel_region_data *data)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:81,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:82,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:83,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:84,1
    - Dst: LOOP_FILL_RECTANGLE_DIRECT
      Src: /src/libspectre/ghostscript/base/gxfillts.h:85,1
    - Dst: ADJUSTED_Y_SPANS_PIXEL
      Src: /src/libspectre/ghostscript/base/gxfillts.h:94,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:98,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:99,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:116,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:117,1
    - Dst: loop_fill_trap_np
      Src: /src/libspectre/ghostscript/base/gxfillts.h:138,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfillts.h:143,1
    - Dst: LOOP_FILL_RECTANGLE_DIRECT
      Src: /src/libspectre/ghostscript/base/gxfillts.h:144,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:145,1
    - Dst: loop_fill_trap_np
      Src: /src/libspectre/ghostscript/base/gxfillts.h:150,1
    - Dst: ADJUSTED_Y_SPANS_PIXEL
      Src: /src/libspectre/ghostscript/base/gxfillts.h:158,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:162,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:163,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:180,1
    - Dst: fixed2int_var_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:181,1
    - Dst: loop_fill_trap_np
      Src: /src/libspectre/ghostscript/base/gxfillts.h:202,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfillts.h:207,1
    - Dst: LOOP_FILL_RECTANGLE_DIRECT
      Src: /src/libspectre/ghostscript/base/gxfillts.h:208,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillts.h:209,1
    - Dst: loop_fill_trap_np
      Src: /src/libspectre/ghostscript/base/gxfillts.h:214,1
    - Dst: fill_slant_adjust
      Src: /src/libspectre/ghostscript/base/gxfillts.h:217,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 85
    argCount: 5
    argNames:
    - ll
    - flp
    - alp
    - y
    - y1
    argTypes:
    - line_list*
    - active_line*
    - active_line*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 32
    functionDepth: 2
    functionLinenumber: 32
    functionLinenumberEnd: 218
    functionName: TEMPLATE_slant_into_trapezoids
    functionSourceFile: /src/libspectre/ghostscript/base/gxfillts.h
    functionUses: 0
    functionsReached:
    - fill_slant_adjust
    - INCR
    - fixed2int_pixround
    - fixed2int_var_pixround
    - ADJUSTED_Y_SPANS_PIXEL
    - LOOP_FILL_RECTANGLE_DIRECT
    - loop_fill_trap_np
    linkageType: ''
    returnType: int
    signature: "int TEMPLATE_slant_into_trapezoids (const line_list *ll,\n        const
      active_line *flp, const active_line *alp, fixed y, fixed y1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: ADJUSTED_Y_SPANS_PIXEL
    functionSourceFile: /src/libspectre/ghostscript/base/gxfillts.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUSTED_Y_SPANS_PIXEL(y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsparamx.c:29,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsparamx.c:30,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - str
    argTypes:
    - gs_param_string*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: gs_param_string_eq
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 1
    functionsReached:
    - strncmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool gs_param_string_eq(const gs_param_string * pcs, const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: param_read_name
      Src: /src/libspectre/ghostscript/base/gsparamx.c:39,1
    - Dst: gs_param_string_eq
      Src: /src/libspectre/ghostscript/base/gsparamx.c:49,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:58,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - plist
    - param_name
    - pvalue
    - pnames
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int*
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 61
    functionName: param_put_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 3
    functionsReached:
    - param_signal_error
    - param_read_name
    - gs_param_string_eq
    linkageType: ''
    returnType: int
    signature: "int param_put_enum(gs_param_list * plist, gs_param_name param_name,\n
      \              int *pvalue, const char *const pnames[], int ecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gsparamx.c:70,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - plist
    - param_name
    - pval
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - bool*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 79
    functionName: param_put_bool
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 3
    functionsReached:
    - param_signal_error
    - param_read_bool
    linkageType: ''
    returnType: int
    signature: "int param_put_bool(gs_param_list * plist, gs_param_name param_name,\n
      \              bool * pval, int ecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gsparamx.c:88,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - plist
    - param_name
    - pval
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 97
    functionName: param_put_int
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 3
    functionsReached:
    - param_signal_error
    - param_read_int
    linkageType: ''
    returnType: int
    signature: "int param_put_int(gs_param_list * plist, gs_param_name param_name,\n
      \             int *pval, int ecode)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/base/gsparamx.c:106,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - plist
    - param_name
    - pval
    - ecode
    argTypes:
    - gs_param_list*
    - gs_param_name
    - long*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: param_put_long
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 1
    functionsReached:
    - param_signal_error
    - param_read_long
    linkageType: ''
    returnType: int
    signature: "int param_put_long(gs_param_list * plist, gs_param_name param_name,\n
      \              long *pval, int ecode)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/base/gsparamx.c:130,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/base/gsparamx.c:131,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:138,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparamx.c:141,1
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/base/gsparamx.c:143,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparamx.c:144,1
    - Dst: gs_param_list_set_persistent_keys
      Src: /src/libspectre/ghostscript/base/gsparamx.c:147,1
    - Dst: param_begin_write_collection
      Src: /src/libspectre/ghostscript/base/gsparamx.c:159,1
    - Dst: param_list_copy
      Src: /src/libspectre/ghostscript/base/gsparamx.c:162,1
    - Dst: param_end_write_collection
      Src: /src/libspectre/ghostscript/base/gsparamx.c:164,1
    - Dst: param_end_read_collection
      Src: /src/libspectre/ghostscript/base/gsparamx.c:167,1
    - Dst: param_write_typed
      Src: /src/libspectre/ghostscript/base/gsparamx.c:183,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - plto
    - plfrom
    argTypes:
    - gs_param_list*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 189
    functionName: param_list_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gsparamx.c
    functionUses: 4
    functionsReached:
    - param_list_copy
    - param_write_typed
    - param_get_next_key
    - param_begin_write_collection
    - param_end_read_collection
    - memcpy
    - param_end_write_collection
    - param_read_typed
    - gs_note_error
    - gs_param_list_set_persistent_keys
    - param_init_enumerator
    linkageType: ''
    returnType: int
    signature: int param_list_copy(gs_param_list *plto, gs_param_list *plfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: gs_malloc_memory_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_malloc_memory_release(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - mem
    - ','
    - nelts
    - ','
    - esize
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: gs_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.h
    functionUses: 72
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_malloc(mem, nelts, esize, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - data
    - ','
    - nelts
    - ','
    - esize
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: gs_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsmalloc.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_free(mem, data, nelts, esize, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - n
    - ','
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: RESTRICTED_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESTRICTED_INDEX(v, n, itemp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscie.c:83,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscie.c:84,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscie.c:88,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gscie.c:89,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscie.c:89,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscie.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - params
    - pcf
    argTypes:
    - cie_linear_params_t*
    - cie_cache_floats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 95
    functionName: cache_is_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - countof
    - fabs
    linkageType: ''
    returnType: bool
    signature: bool cache_is_linear(cie_linear_params_t *params, const cie_cache_floats
      *pcf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gscie.c:101,1
    - Dst: cache_is_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:106,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gscie.c:108,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gscie.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - pcf
    argTypes:
    - cie_cache_floats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 120
    functionName: cache_set_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - cache_is_linear
    - if_debug4
    - fabs
    linkageType: ''
    returnType: void
    signature: void cache_set_linear(cie_cache_floats *pcf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:124,1
    - Dst: cache_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:125,1
    - Dst: cache_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pvc
    argTypes:
    - gx_cie_vector_cache3_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 127
    functionName: cache3_set_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cache_set_linear
    linkageType: ''
    returnType: void
    signature: void cache3_set_linear(gx_cie_vector_cache3_t *pvc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gscie.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - vec
    argTypes:
    - char*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: if_debug_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - if_debug4
    linkageType: ''
    returnType: void
    signature: void if_debug_vector3(const char *str, const gs_vector3 *vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug10
      Src: /src/libspectre/ghostscript/base/gscie.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - mat
    argTypes:
    - char*
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 142
    functionName: if_debug_matrix3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - if_debug10
    linkageType: ''
    returnType: void
    signature: void if_debug_matrix3(const char *str, const gs_matrix3 *mat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - vec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: if_debug_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug_vector3(str, vec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - str
    - ','
    - mat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: if_debug_matrix3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_debug_matrix3(str, mat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 156
    functionName: a_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float a_identity(double in, const gs_cie_a * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 161
    functionName: a_from_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float a_from_cache(double in, const gs_cie_a * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 167
    functionName: abc_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float abc_identity(double in, const gs_cie_abc * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 172
    functionName: abc_from_cache_0
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float abc_from_cache_0(double in, const gs_cie_abc * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: abc_from_cache_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float abc_from_cache_1(double in, const gs_cie_abc * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: abc_from_cache_2
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float abc_from_cache_2(double in, const gs_cie_abc * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: def_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float def_identity(double in, const gs_cie_def * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: def_from_cache_0
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float def_from_cache_0(double in, const gs_cie_def * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 198
    functionName: def_from_cache_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float def_from_cache_1(double in, const gs_cie_def * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: def_from_cache_2
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float def_from_cache_2(double in, const gs_cie_def * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: defg_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float defg_identity(double in, const gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 214
    functionName: defg_from_cache_0
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float defg_from_cache_0(double in, const gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 219
    functionName: defg_from_cache_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float defg_from_cache_1(double in, const gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 224
    functionName: defg_from_cache_2
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float defg_from_cache_2(double in, const gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 229
    functionName: defg_from_cache_3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float defg_from_cache_3(double in, const gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 235
    functionName: common_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float common_identity(double in, const gs_cie_common * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: lmn_from_cache_0
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float lmn_from_cache_0(double in, const gs_cie_common * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: lmn_from_cache_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float lmn_from_cache_1(double in, const gs_cie_common * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cached_value
      Src: /src/libspectre/ghostscript/base/gscie.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcie
    argTypes:
    - double
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 250
    functionName: lmn_from_cache_2
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_cached_value
    linkageType: ''
    returnType: float
    signature: float lmn_from_cache_2(double in, const gs_cie_common * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CIE_CLAMP_INDEX
      Src: /src/libspectre/ghostscript/base/gscie.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - in
    - pcache
    argTypes:
    - double
    - cie_cache_floats*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 266
    functionName: gs_cie_cached_value
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 14
    functionsReached:
    - CIE_CLAMP_INDEX
    linkageType: ''
    returnType: float
    signature: float gs_cie_cached_value(double in, const cie_cache_floats *pcache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_init_paint_4
      Src: /src/libspectre/ghostscript/base/gscie.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: gx_init_CIE
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gx_init_paint_4
    linkageType: ''
    returnType: void
    signature: void gx_init_CIE(gs_client_color * pcc, const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pv
    - range
    argTypes:
    - float*
    - gs_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 331
    functionName: cie_restrict
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cie_restrict(float *pv, const gs_range *range)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:338,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:339,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:340,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 342
    functionName: gx_restrict_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_restrict
    linkageType: ''
    returnType: void
    signature: void gx_restrict_CIEDEFG(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:348,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:349,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 351
    functionName: gx_restrict_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_restrict
    linkageType: ''
    returnType: void
    signature: void gx_restrict_CIEDEF(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:357,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:358,1
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 360
    functionName: gx_restrict_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_restrict
    linkageType: ''
    returnType: void
    signature: void gx_restrict_CIEABC(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: gx_restrict_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_restrict
    linkageType: ''
    returnType: void
    signature: void gx_restrict_CIEA(gs_client_color * pcc, const gs_color_space *
      pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:381,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:382,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:383,1
    - Dst: gx_cie_load_common_cache
      Src: /src/libspectre/ghostscript/base/gscie.c:386,1
    - Dst: gs_cie_abc_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:387,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pcie
    - pgs
    argTypes:
    - gs_cie_abc*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 2
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: gx_install_cie_abc
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - gs_cie_abc_complete
    - if_debug_matrix3
    - CIE_LOAD_CACHE_BODY
    - gs_cie_cs_complete
    - cie_matrix_init
    - gx_cie_load_common_cache
    linkageType: ''
    returnType: int
    signature: int gx_install_cie_abc(gs_cie_abc *pcie, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:396,1
    - Dst: gx_install_cie_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 391
    functionDepth: 3
    functionLinenumber: 391
    functionLinenumberEnd: 400
    functionName: gx_install_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - CIE_LOAD_CACHE_BODY
    - gx_install_cie_abc
    linkageType: ''
    returnType: int
    signature: int gx_install_CIEDEFG(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:407,1
    - Dst: gx_install_cie_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 411
    functionName: gx_install_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - CIE_LOAD_CACHE_BODY
    - gx_install_cie_abc
    linkageType: ''
    returnType: int
    signature: int gx_install_CIEDEF(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_install_cie_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 417
    functionName: gx_install_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gx_install_cie_abc
    linkageType: ''
    returnType: int
    signature: int gx_install_CIEABC(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_cache_init
      Src: /src/libspectre/ghostscript/base/gscie.c:426,1
    - Dst: SAMPLE_LOOP_VALUE
      Src: /src/libspectre/ghostscript/base/gscie.c:429,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gscie.c:432,1
    - Dst: gx_cie_load_common_cache
      Src: /src/libspectre/ghostscript/base/gscie.c:435,1
    - Dst: gs_cie_a_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:436,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 438
    functionName: gx_install_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - SAMPLE_LOOP_VALUE
    - gs_cie_a_complete
    - if_debug3m
    - gs_cie_cs_complete
    - gs_cie_cache_init
    - gx_cie_load_common_cache
    linkageType: ''
    returnType: int
    signature: int gx_install_CIEA(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:445,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:446,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:447,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pcie
    - pgs
    argTypes:
    - gs_cie_common*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 2
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: gx_cie_load_common_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 4
    functionsReached:
    - cie_matrix_init
    - if_debug_matrix3
    - CIE_LOAD_CACHE_BODY
    linkageType: ''
    returnType: void
    signature: void gx_cie_load_common_cache(gs_cie_common * pcie, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_common*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: gx_cie_common_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - cache_set_linear
    linkageType: ''
    returnType: void
    signature: void gx_cie_common_complete(gs_cie_common *pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - values
    - range
    - dim
    argTypes:
    - float*
    - gs_range*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 481
    functionName: gs_cie_defx_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_cie_defx_scale(float *values, const gs_range *range, int dim)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_defx_scale
      Src: /src/libspectre/ghostscript/base/gscie.c:491,1
    - Dst: gs_cie_abc_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_defg*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 494
    functionName: gs_cie_defg_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_defx_scale
    - gs_cie_abc_complete
    linkageType: ''
    returnType: void
    signature: void gs_cie_defg_complete(gs_cie_defg * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_defx_scale
      Src: /src/libspectre/ghostscript/base/gscie.c:504,1
    - Dst: gs_cie_abc_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_def*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 507
    functionName: gs_cie_def_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cie_defx_scale
    - gs_cie_abc_complete
    linkageType: ''
    returnType: void
    signature: void gs_cie_def_complete(gs_cie_def * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cache3_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:514,1
    - Dst: cie_cache_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:516,1
    - Dst: gx_cie_common_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_abc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 3
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: gs_cie_abc_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 4
    functionsReached:
    - cache3_set_linear
    - cie_cache_mult3
    - gx_cie_common_complete
    linkageType: ''
    returnType: void
    signature: void gs_cie_abc_complete(gs_cie_abc * pcie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:526,1
    - Dst: cache_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:529,1
    - Dst: gx_cie_common_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - pcie
    argTypes:
    - gs_cie_a*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 531
    functionName: gs_cie_a_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 2
    functionsReached:
    - cache_set_linear
    - gx_cie_common_complete
    - cie_cache_mult
    linkageType: ''
    returnType: void
    signature: void gs_cie_a_complete(gs_cie_a * pcie)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cie_cached_abs
      Src: /src/libspectre/ghostscript/base/gscie.c:547,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gscie.c:547,1
    - Dst: cie_cached_abs
      Src: /src/libspectre/ghostscript/base/gscie.c:547,1
    - Dst: cie_cached_abs
      Src: /src/libspectre/ghostscript/base/gscie.c:547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 4
    argNames:
    - pccr
    - cur
    - i
    - threshold
    argTypes:
    - cie_cache_range_temp_t*
    - cie_cached_value
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: check_interpolation_required
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - min
    - cie_cached_abs
    linkageType: ''
    returnType: void
    signature: "void check_interpolation_required(cie_cache_range_temp_t *pccr,\n
      \                            cie_cached_value cur, int i, double threshold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_interpolation_required
      Src: /src/libspectre/ghostscript/base/gscie.c:570,1
    - Dst: check_interpolation_required
      Src: /src/libspectre/ghostscript/base/gscie.c:572,1
    - Dst: check_interpolation_required
      Src: /src/libspectre/ghostscript/base/gscie.c:574,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gscie.c:583,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gscie.c:584,1
    - Dst: cie_cached2float
      Src: /src/libspectre/ghostscript/base/gscie.c:585,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pcache
    - threshold
    argTypes:
    - gx_cie_vector_cache*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 555
    functionDepth: 2
    functionLinenumber: 555
    functionLinenumberEnd: 588
    functionName: cie_cache_set_interpolation
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_cached2float
    - check_interpolation_required
    - if_debug3
    linkageType: ''
    returnType: void
    signature: void cie_cache_set_interpolation(gx_cie_vector_cache *pcache, double
      threshold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:602,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:603,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:605,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:610,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:611,1
    - Dst: float2cie_cached
      Src: /src/libspectre/ghostscript/base/gscie.c:612,1
    - Dst: cie_cache_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:614,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pcache
    - pvec
    - pcf
    - threshold
    argTypes:
    - gx_cie_vector_cache*
    - gs_vector3*
    - cie_cache_floats*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 615
    functionName: cie_cache_mult
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - cie_cache_set_interpolation
    - float2cie_cached
    linkageType: ''
    returnType: void
    signature: "void cie_cache_mult(gx_cie_vector_cache * pcache, const gs_vector3
      * pvec,\n               const cie_cache_floats * pcf, double threshold)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gscie.c:635,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gscie.c:635,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gscie.c:639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pvc
    argTypes:
    - gx_cie_vector_cache3_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 642
    functionName: cie_cache3_set_interpolation
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - if_debug3
    - min
    - max
    linkageType: ''
    returnType: void
    signature: void cie_cache3_set_interpolation(gx_cie_vector_cache3_t * pvc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:653,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:654,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:655,1
    - Dst: cie_cache3_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pvc
    - pmat
    - threshold
    argTypes:
    - gx_cie_vector_cache3_t*
    - gs_matrix3*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 660
    functionName: cie_cache_mult3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - cie_cache_mult
    - cie_cache3_set_interpolation
    linkageType: ''
    returnType: bool
    signature: "bool cie_cache_mult3(gx_cie_vector_cache3_t * pvc, const gs_matrix3
      * pmat,\n                double threshold)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_vector3*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 674
    functionName: vector_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool vector_equal(const gs_vector3 *p1, const gs_vector3 *p2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:681,1
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:683,1
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_matrix3*
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 688
    functionName: matrix_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - vector_equal
    linkageType: ''
    returnType: bool
    signature: bool matrix_equal(const gs_matrix3 *p1, const gs_matrix3 *p2)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gscie.c:697,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_cie_transform_proc3*
    - gs_cie_transform_proc3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 704
    functionName: transform_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool transform_equal(const gs_cie_transform_proc3 *p1, const gs_cie_transform_proc3
      *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_range3*
    - gs_range3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 718
    functionName: range_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool range_equal(const gs_range3 *p1, const gs_range3 *p2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_render_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:724,1
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:734,1
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:735,1
    - Dst: matrix_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:736,1
    - Dst: range_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:737,1
    - Dst: transform_equal
      Src: /src/libspectre/ghostscript/base/gscie.c:738,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gscie.c:739,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:742,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscie.c:743,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 2
    argNames:
    - pgs
    - pcrd
    argTypes:
    - gs_gstate*
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 745
    functionName: gs_setcolorrendering
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - transform_equal
    - vector_equal
    - range_equal
    - gx_unset_dev_color
    - gs_cie_cs_complete
    - rc_assign
    - gs_cie_render_complete
    - matrix_equal
    linkageType: ''
    returnType: int
    signature: int gs_setcolorrendering(gs_gstate * pgs, gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 748
    functionDepth: 0
    functionLinenumber: 748
    functionLinenumberEnd: 752
    functionName: gs_currentcolorrendering
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_cie_render
    signature: 'gs_cie_render *

      gs_currentcolorrendering(const gs_gstate * pgs)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscie.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: gx_unshare_cie_caches
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - rc_unshare_struct
    linkageType: ''
    returnType: gx_cie_joint_caches
    signature: 'gx_cie_joint_caches *

      gx_unshare_cie_caches(gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gscie.c:780,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gscie.c:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 785
    functionName: gx_get_cie_caches_ref
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - rc_increment
    - rc_unshare_struct
    linkageType: ''
    returnType: gx_cie_joint_caches
    signature: 'gx_cie_joint_caches *

      gx_get_cie_caches_ref(gs_gstate * pgs, gs_memory_t * mem)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gscie.c:844,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gscie.c:844,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gscie.c:846,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/base/gscie.c:849,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gscie.c:851,1
    - Dst: ldexp
      Src: /src/libspectre/ghostscript/base/gscie.c:854,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gscie.c:854,1
    - Dst: ldexp
      Src: /src/libspectre/ghostscript/base/gscie.c:854,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gscie.c:858,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gscie.c:873,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gscie.c:874,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - pcache
    - pslp
    - domain
    - cname
    argTypes:
    - cie_cache_params*
    - gs_sample_loop_params_t*
    - gs_range*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 789
    functionDepth: 1
    functionLinenumber: 789
    functionLinenumberEnd: 882
    functionName: gs_cie_cache_init
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 2
    functionsReached:
    - any_abs
    - frexp
    - if_debug2
    - if_debug4
    - ldexp
    - max
    - floor
    - ceil
    linkageType: ''
    returnType: void
    signature: "void gs_cie_cache_init(cie_cache_params * pcache, gs_sample_loop_params_t
      * pslp,\n                  const gs_range * domain, client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:899,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:900,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:901,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:902,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:903,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:904,1
    - Dst: cie_invert3
      Src: /src/libspectre/ghostscript/base/gscie.c:905,1
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:906,1
    - Dst: cie_transform_range3
      Src: /src/libspectre/ghostscript/base/gscie.c:908,1
    - Dst: cie_transform_range3
      Src: /src/libspectre/ghostscript/base/gscie.c:910,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:912,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:913,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - pcrd
    argTypes:
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 892
    functionDepth: 2
    functionLinenumber: 892
    functionLinenumberEnd: 916
    functionName: gs_cie_render_init
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - if_debug_matrix3
    - cie_matrix_init
    - cie_matrix_mult3
    - cie_mult3
    - cie_transform_range3
    - cie_invert3
    linkageType: ''
    returnType: int
    signature: int gs_cie_render_init(gs_cie_render * pcrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_render_init
      Src: /src/libspectre/ghostscript/base/gscie.c:929,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:932,1
    - Dst: cache3_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:934,1
    - Dst: CIE_LOAD_CACHE_BODY
      Src: /src/libspectre/ghostscript/base/gscie.c:935,1
    - Dst: gs_cie_cache_init
      Src: /src/libspectre/ghostscript/base/gscie.c:943,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gscie.c:968,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gscie.c:970,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - pcrd
    argTypes:
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 976
    functionName: gs_cie_render_sample
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cache3_set_linear
    - CIE_LOAD_CACHE_BODY
    - gs_cie_render_init
    - frac2float
    - gs_cie_cache_init
    - if_debug3
    linkageType: ''
    returnType: int
    signature: int gs_cie_render_sample(gs_cie_render * pcrd)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - in
    - mu
    - mv
    - mw
    - out
    argTypes:
    - gs_range3*
    - double
    - double
    - double
    - gs_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 979
    functionDepth: 0
    functionLinenumber: 979
    functionLinenumberEnd: 996
    functionName: cie_transform_range
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cie_transform_range(const gs_range3 * in, double mu, double mv,
      double mw,\n                    gs_range * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_transform_range
      Src: /src/libspectre/ghostscript/base/gscie.c:1001,1
    - Dst: cie_transform_range
      Src: /src/libspectre/ghostscript/base/gscie.c:1003,1
    - Dst: cie_transform_range
      Src: /src/libspectre/ghostscript/base/gscie.c:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - in
    - mat
    - out
    argTypes:
    - gs_range3*
    - gs_matrix3*
    - gs_range3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1007
    functionName: cie_transform_range3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - cie_transform_range
    linkageType: ''
    returnType: void
    signature: "void cie_transform_range3(const gs_range3 * in, const gs_matrix3 *
      mat,\n                     gs_range3 * out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_render_sample
      Src: /src/libspectre/ghostscript/base/gscie.c:1021,1
    - Dst: cie_cache_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:1041,1
    - Dst: cie_cache_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:1043,1
    - Dst: cie_cache_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:1046,1
    - Dst: gs_cie_cache_to_fracs
      Src: /src/libspectre/ghostscript/base/gscie.c:1048,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gscie.c:1078,1
    - Dst: SCALED_INDEX
      Src: /src/libspectre/ghostscript/base/gscie.c:1081,1
    - Dst: SCALED_INDEX
      Src: /src/libspectre/ghostscript/base/gscie.c:1083,1
    - Dst: MABC
      Src: /src/libspectre/ghostscript/base/gscie.c:1099,1
    - Dst: MABC
      Src: /src/libspectre/ghostscript/base/gscie.c:1100,1
    - Dst: MABC
      Src: /src/libspectre/ghostscript/base/gscie.c:1101,1
    - Dst: cie_cache_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1105,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 1
    argNames:
    - pcrd
    argTypes:
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1014
    functionDepth: 5
    functionLinenumber: 1014
    functionLinenumberEnd: 1109
    functionName: gs_cie_render_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - gs_cie_render_sample
    - cie_cache_mult3
    - SCALED_INDEX
    - gs_cie_cache_to_fracs
    - cie_cache_restrict
    - if_debug5
    - MABC
    linkageType: ''
    returnType: int
    signature: int gs_cie_render_complete(gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - n
    - ','
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1055
    functionDepth: 0
    functionLinenumber: 1055
    functionLinenumberEnd: 1058
    functionName: SCALED_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALED_INDEX(f, n, itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - n
    - ','
    - itemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1065
    functionName: SCALED_INDEX
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALED_INDEX(f, n, itemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1099
    functionName: MABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MABC(i, t)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pcache
    - prange
    argTypes:
    - cie_cache_floats*
    - gs_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1125
    functionName: cie_cache_restrict
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cie_cache_restrict(cie_cache_floats * pcache, const gs_range *
      prange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscie.c:1137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pfloats
    - pfracs
    argTypes:
    - cie_cache_floats*
    - cie_cache_fracs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1139
    functionName: gs_cie_cache_to_fracs
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - float2frac
    linkageType: ''
    returnType: void
    signature: void gs_cie_cache_to_fracs(const cie_cache_floats *pfloats, cie_cache_fracs
      *pfracs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_base_space
      Src: /src/libspectre/ghostscript/base/gscie.c:1165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - pcs_orig
    - ppabc
    argTypes:
    - gs_color_space*
    - gs_cie_abc**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1171
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1171
    functionName: cie_cs_common_abc
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_cspace_base_space
    linkageType: ''
    returnType: gs_cie_common
    signature: 'gs_cie_common *

      cie_cs_common_abc(const gs_color_space *pcs_orig, const gs_cie_abc **ppabc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_cs_common_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:1177,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscie.c:1177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1172
    functionDepth: 2
    functionLinenumber: 1172
    functionLinenumberEnd: 1178
    functionName: gs_cie_cs_common
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - cie_cs_common_abc
    linkageType: ''
    returnType: gs_cie_common
    signature: 'gs_cie_common *

      gs_cie_cs_common(const gs_gstate * pgs)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_unshare_cie_caches
      Src: /src/libspectre/ghostscript/base/gscie.c:1188,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscie.c:1191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - init
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1185
    functionDepth: 2
    functionLinenumber: 1185
    functionLinenumberEnd: 1194
    functionName: gs_cie_cs_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 5
    functionsReached:
    - return_error
    - gx_unshare_cie_caches
    linkageType: ''
    returnType: int
    signature: int gs_cie_cs_complete(gs_gstate * pgs, bool init)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cie_cs_common_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:1200,1
    - Dst: cie_joint_caches_init
      Src: /src/libspectre/ghostscript/base/gscie.c:1209,1
    - Dst: cie_joint_caches_complete
      Src: /src/libspectre/ghostscript/base/gscie.c:1216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - pgs
    - pcs
    argTypes:
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1196
    functionDepth: 2
    functionLinenumber: 1196
    functionLinenumberEnd: 1225
    functionName: gs_cie_jc_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - cie_joint_caches_init
    - cie_cs_common_abc
    - cie_joint_caches_complete
    linkageType: ''
    returnType: int
    signature: int gs_cie_jc_complete(const gs_gstate *pgs, const gs_color_space *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1239,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - pjc
    - pcie
    - pcrd
    argTypes:
    - gx_cie_joint_caches*
    - gs_cie_common*
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1247
    functionName: gs_cie_compute_points_sd
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached:
    - cie_mult3
    linkageType: ''
    returnType: int
    signature: "int gs_cie_compute_points_sd(gx_cie_joint_caches *pjc,\n                         const
      gs_cie_common * pcie,\n                         const gs_cie_render * pcrd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_compute_points_sd
      Src: /src/libspectre/ghostscript/base/gscie.c:1261,1
    - Dst: gs_cie_cache_init
      Src: /src/libspectre/ghostscript/base/gscie.c:1273,1
    - Dst: SAMPLE_LOOP_VALUE
      Src: /src/libspectre/ghostscript/base/gscie.c:1276,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/gscie.c:1284,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pjc
    - pcie
    - pcrd
    argTypes:
    - gx_cie_joint_caches*
    - gs_cie_common*
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1253
    functionDepth: 2
    functionLinenumber: 1253
    functionLinenumberEnd: 1290
    functionName: cie_joint_caches_init
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - SAMPLE_LOOP_VALUE
    - gs_cie_compute_points_sd
    - if_debug4
    - gs_cie_cache_init
    linkageType: ''
    returnType: int
    signature: "int cie_joint_caches_init(gx_cie_joint_caches * pjc,\n                      const
      gs_cie_common * pcie,\n                      gs_cie_render * pcrd)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1329,1
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1330,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1336,1
    - Dst: cache3_set_linear
      Src: /src/libspectre/ghostscript/base/gscie.c:1343,1
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1344,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1353,1
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1354,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1359,1
    - Dst: cie_cache_restrict
      Src: /src/libspectre/ghostscript/base/gscie.c:1362,1
    - Dst: cie_cache_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1365,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1376,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:1382,1
    - Dst: cie_cache3_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:1386,1
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1395,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:1397,1
    - Dst: cie_cache3_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:1401,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/gscie.c:1408,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:1410,1
    - Dst: cie_cache3_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:1414,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 4
    argNames:
    - pjc
    - pcie
    - pabc
    - pcrd
    argTypes:
    - gx_cie_joint_caches*
    - gs_cie_common*
    - gs_cie_abc*
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1419
      start: 1296
    functionDepth: 5
    functionLinenumber: 1296
    functionLinenumberEnd: 1419
    functionName: cie_joint_caches_complete
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - if_debug0
    - cache3_set_linear
    - cie_cache_mult3
    - cie_cache3_set_interpolation
    - cie_cache_restrict
    - cie_matrix_mult3
    - cie_cache_mult
    linkageType: ''
    returnType: void
    signature: "void cie_joint_caches_complete(gx_cie_joint_caches * pjc,\n                          const
      gs_cie_common * pcie,\n                          const gs_cie_abc * pabc /*
      NULL if CIEA */,\n                          const gs_cie_render * pcrd)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gscie.c:1434,1
    - Dst: cie_cs_common_abc
      Src: /src/libspectre/ghostscript/base/gscie.c:1438,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscie.c:1442,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gscie.c:1443,1
    - Dst: GS_STATE_INIT_VALUES
      Src: /src/libspectre/ghostscript/base/gscie.c:1445,1
    - Dst: gs_gstate_initialize
      Src: /src/libspectre/ghostscript/base/gscie.c:1446,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gscie.c:1448,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscie.c:1451,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscie.c:1452,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gscie.c:1454,1
    - Dst: cie_cache_mult
      Src: /src/libspectre/ghostscript/base/gscie.c:1461,1
    - Dst: cie_cache3_set_interpolation
      Src: /src/libspectre/ghostscript/base/gscie.c:1465,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - ppgs
    - pcs
    - mem
    argTypes:
    - gs_gstate**
    - gs_color_space*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1476
      start: 1426
    functionDepth: 4
    functionLinenumber: 1426
    functionLinenumberEnd: 1476
    functionName: gx_cie_to_xyz_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 5
    functionsReached:
    - cie_cache3_set_interpolation
    - rc_init
    - memset
    - gs_free_object
    - cie_cache_mult
    - return_error
    - gs_gstate_initialize
    - GS_STATE_INIT_VALUES
    - cie_cs_common_abc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_cie_to_xyz_alloc(gs_gstate **ppgs, const gs_color_space *pcs,\n
      \                   gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscie.c:1482,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscie.c:1486,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscie.c:1489,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscie.c:1492,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscie.c:1494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1495
    functionName: gx_cie_to_xyz_free
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_cie_to_xyz_free(gs_gstate *pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_vector3
      Src: /src/libspectre/ghostscript/base/gscie.c:1505,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1506,1
    - Dst: if_debug_vector3
      Src: /src/libspectre/ghostscript/base/gscie.c:1514,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - in
    - mat
    - out
    argTypes:
    - gs_vector3*
    - gs_matrix3*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1515
    functionName: cie_mult3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 2
    functionsReached:
    - if_debug_matrix3
    - if_debug_vector3
    linkageType: ''
    returnType: void
    signature: "void cie_mult3(const gs_vector3 * in, register const gs_matrix3 *
      mat,\n          gs_vector3 * out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1527,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1528,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1529,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1530,1
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gscie.c:1531,1
    - Dst: cie_matrix_init
      Src: /src/libspectre/ghostscript/base/gscie.c:1532,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - ma
    - mb
    - mc
    argTypes:
    - gs_matrix3*
    - gs_matrix3*
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1536
      start: 1521
    functionDepth: 3
    functionLinenumber: 1521
    functionLinenumberEnd: 1536
    functionName: cie_matrix_mult3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 2
    functionsReached:
    - cie_matrix_init
    - cie_mult3
    - if_debug_matrix3
    linkageType: ''
    returnType: void
    signature: void cie_matrix_mult3(const gs_matrix3 *ma, const gs_matrix3 *mb, gs_matrix3
      *mc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - gs_matrix3*
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1541
    functionDepth: 0
    functionLinenumber: 1541
    functionLinenumberEnd: 1555
    functionName: cie_matrix_transpose3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cie_matrix_transpose3(const gs_matrix3 *in, gs_matrix3 *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1580,1
    - Dst: if_debug_matrix3
      Src: /src/libspectre/ghostscript/base/gscie.c:1590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - gs_matrix3*
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1559
    functionDepth: 2
    functionLinenumber: 1559
    functionLinenumberEnd: 1601
    functionName: cie_invert3
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - if_debug_matrix3
    linkageType: ''
    returnType: void
    signature: void cie_invert3(const gs_matrix3 *in, gs_matrix3 *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gscie.c:1608,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gscie.c:1609,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gscie.c:1610,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - mat
    argTypes:
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1611
    functionName: cie_matrix_init
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 4
    functionsReached:
    - is_fzero2
    linkageType: ''
    returnType: void
    signature: void cie_matrix_init(register gs_matrix3 * mat)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_space_needs_cie_caches
      Src: /src/libspectre/ghostscript/base/gscie.c:1629,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1633
    functionName: gx_color_space_needs_cie_caches
    functionSourceFile: /src/libspectre/ghostscript/base/gscie.c
    functionUses: 1
    functionsReached:
    - gx_color_space_needs_cie_caches
    linkageType: ''
    returnType: bool
    signature: bool gx_color_space_needs_cie_caches(const gs_color_space * pcs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:64,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:66,1
    - Dst: decode_num1
      Src: /src/libspectre/ghostscript/base/gstype1.c:68,1
    - Dst: decode_num2
      Src: /src/libspectre/ghostscript/base/gstype1.c:70,1
    - Dst: decode_num4
      Src: /src/libspectre/ghostscript/base/gstype1.c:72,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:74,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:76,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:78,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:80,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:82,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gstype1.c:89,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:90,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype1.c:92,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 5
    argNames:
    - state
    - encrypted
    - ci
    - csp
    - lw
    argTypes:
    - crypt_state*
    - bool
    - byte**
    - cs_ptr
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 95
    functionName: gs_type1_check_float
    functionSourceFile: /src/libspectre/ghostscript/base/gstype1.c
    functionUses: 1
    functionsReached:
    - float2fixed
    - decode_num2
    - any_abs
    - decode_num1
    - charstring_next
    - decode_num4
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_type1_check_float(crypt_state *state, bool encrypted, const
      byte **ci, cs_ptr csp, long lw)
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__init
      Src: /src/libspectre/ghostscript/base/gstype1.c:137,1
    - Dst: gs_type1_finish_init
      Src: /src/libspectre/ghostscript/base/gstype1.c:140,1
    - Dst: t1_hinter__set_mapping
      Src: /src/libspectre/ghostscript/base/gstype1.c:141,1
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gstype1.c:147,1
    - Dst: t1_hinter__set_font_data
      Src: /src/libspectre/ghostscript/base/gstype1.c:150,1
    - Dst: INIT_CSTACK
      Src: /src/libspectre/ghostscript/base/gstype1.c:158,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:165,1
    - Dst: decrypt_skip_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:173,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:184,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:186,1
    - Dst: decode_push_num1
      Src: /src/libspectre/ghostscript/base/gstype1.c:191,1
    - Dst: decode_push_num2
      Src: /src/libspectre/ghostscript/base/gstype1.c:193,1
    - Dst: decode_num4
      Src: /src/libspectre/ghostscript/base/gstype1.c:197,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype1.c:198,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gstype1.c:199,1
    - Dst: fixed2long
      Src: /src/libspectre/ghostscript/base/gstype1.c:200,1
    - Dst: gs_type1_check_float
      Src: /src/libspectre/ghostscript/base/gstype1.c:205,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:210,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gstype1.c:211,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype1.c:212,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gstype1.c:221,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gstype1.c:223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:237,1
    - Dst: CS_CHECK_POP
      Src: /src/libspectre/ghostscript/base/gstype1.c:239,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype1.c:240,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/base/gstype1.c:241,1
    - Dst: CS_CHECK_IPSTACK
      Src: /src/libspectre/ghostscript/base/gstype1.c:248,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype1.c:253,1
    - Dst: CS_CHECK_IPSTACK
      Src: /src/libspectre/ghostscript/base/gstype1.c:254,1
    - Dst: t1_hinter__hstem
      Src: /src/libspectre/ghostscript/base/gstype1.c:265,1
    - Dst: t1_hinter__vstem
      Src: /src/libspectre/ghostscript/base/gstype1.c:270,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gstype1.c:278,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype1.c:282,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype1.c:294,1
    - Dst: t1_hinter__init
      Src: /src/libspectre/ghostscript/base/gstype1.c:307,1
    - Dst: t1_hinter__sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:308,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:311,1
    - Dst: t1_hinter__endglyph
      Src: /src/libspectre/ghostscript/base/gstype1.c:314,1
    - Dst: gx_setcurrentpoint_from_path
      Src: /src/libspectre/ghostscript/base/gstype1.c:317,1
    - Dst: t1_hinter__end_subglyph
      Src: /src/libspectre/ghostscript/base/gstype1.c:321,1
    - Dst: gs_type1_endchar
      Src: /src/libspectre/ghostscript/base/gstype1.c:326,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype1.c:341,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype1.c:344,1
    - Dst: t1_hinter__closepath
      Src: /src/libspectre/ghostscript/base/gstype1.c:351,1
    - Dst: t1_hinter__sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:370,1
    - Dst: t1_hinter__sbw_seac
      Src: /src/libspectre/ghostscript/base/gstype1.c:375,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:379,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype1.c:393,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:396,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gstype1.c:403,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gstype1.c:406,1
    - Dst: t1_hinter__dotsection
      Src: /src/libspectre/ghostscript/base/gstype1.c:412,1
    - Dst: t1_hinter__vstem3
      Src: /src/libspectre/ghostscript/base/gstype1.c:417,1
    - Dst: t1_hinter__hstem3
      Src: /src/libspectre/ghostscript/base/gstype1.c:422,1
    - Dst: gs_type1_seac
      Src: /src/libspectre/ghostscript/base/gstype1.c:427,1
    - Dst: t1_hinter__sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:439,1
    - Dst: t1_hinter__sbw_seac
      Src: /src/libspectre/ghostscript/base/gstype1.c:441,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/base/gstype1.c:444,1
    - Dst: CS_CHECK_POP
      Src: /src/libspectre/ghostscript/base/gstype1.c:447,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype1.c:448,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype1.c:460,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype1.c:462,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:463,1
    - Dst: t1_hinter__flex_end
      Src: /src/libspectre/ghostscript/base/gstype1.c:475,1
    - Dst: CS_CHECK_POP
      Src: /src/libspectre/ghostscript/base/gstype1.c:482,1
    - Dst: t1_hinter__flex_beg
      Src: /src/libspectre/ghostscript/base/gstype1.c:483,1
    - Dst: CS_CHECK_POP
      Src: /src/libspectre/ghostscript/base/gstype1.c:490,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:492,1
    - Dst: t1_hinter__flex_point
      Src: /src/libspectre/ghostscript/base/gstype1.c:493,1
    - Dst: CS_CHECK_POP
      Src: /src/libspectre/ghostscript/base/gstype1.c:499,1
    - Dst: t1_hinter__drop_hints
      Src: /src/libspectre/ghostscript/base/gstype1.c:504,1
    - Dst: gs_type1_blend
      Src: /src/libspectre/ghostscript/base/gstype1.c:516,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype1.c:520,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:521,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype1.c:544,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:545,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gstype1.c:548,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:550,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype1.c:551,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:555,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype1.c:562,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype1.c:572,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:577,1
    - Dst: t1_hinter__setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gstype1.c:582,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:585,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype1.c:593,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 398
    argCount: 3
    argNames:
    - pcis
    - pgd
    - pindex
    argTypes:
    - gs_type1_state*
    - gs_glyph_data_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 105
    functionDepth: 9
    functionLinenumber: 105
    functionLinenumberEnd: 596
    functionName: gs_type1_interpret
    functionSourceFile: /src/libspectre/ghostscript/base/gstype1.c
    functionUses: 0
    functionsReached:
    - t1_hinter__init
    - t1_hinter__drop_hints
    - CS_CHECK_PUSH
    - t1_hinter__rlineto
    - t1_hinter__set_font_data
    - CS_CHECK_CSTACK_BOUNDS
    - t1_hinter__closepath
    - gs_type1_check_float
    - gs_glyph_data_free
    - t1_hinter__dotsection
    - gx_setcurrentpoint_from_path
    - t1_hinter__rcurveto
    - decrypt_skip_next
    - fixed2int_var
    - charstring_next
    - t1_hinter__vstem
    - CS_CHECK_IPSTACK
    - fixed2long
    - t1_hinter__endglyph
    - gs_note_error
    - t1_hinter__rmoveto
    - t1_hinter__setcurrentpoint
    - t1_hinter__hstem3
    - gs_type1_endchar
    - float2fixed
    - decode_push_num2
    - t1_hinter__flex_end
    - t1_hinter__sbw_seac
    - dmlprintf3
    - gs_type1_data*::procs::subr_data
    - CS_CHECK_POP
    - gs_type1_sbw
    - t1_hinter__set_mapping
    - dmlprintf2
    - gs_type1_seac
    - int2fixed
    - gs_type1_finish_init
    - decode_push_num1
    - gs_currentaligntopixels
    - t1_hinter__hstem
    - gs_type1_blend
    - t1_hinter__sbw
    - t1_hinter__flex_beg
    - if_debug3m
    - t1_hinter__end_subglyph
    - t1_hinter__flex_point
    - decode_num4
    - memcpy
    - return_error
    - INIT_CSTACK
    - t1_hinter__vstem3
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_type1_interpret(gs_type1_state * pcis, const gs_glyph_data_t
      *pgd,\n                   int *pindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comp_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: compositor_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compositor_(comp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: device_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: device_(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: device2_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: device2_(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: halftone_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: halftone_(dht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: image_class_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_class_(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: image_type_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_type_(i,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: init_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iodev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: io_device_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: io_device_(iodev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - comp_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: compositor_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: compositor_(comp_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: device_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: device_(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: device2_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: device2_(dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dht
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    functionName: halftone_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: halftone_(dht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cls
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: image_class_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_class_(cls)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: image_type_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: image_type_(i,type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    functionName: init_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: init_(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - iodev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: io_device_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: io_device_(iodev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - comp_id
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 167
    functionName: gs_find_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_composite_type_t
    signature: 'gs_composite_type_t *

      gs_find_compositor(int comp_id)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gconf.c:183,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 2
    argNames:
    - plist
    - pst
    argTypes:
    - gx_device***
    - gs_memory_struct_type_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 187
    functionName: gs_lib_device_list
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 1
    functionsReached:
    - countof
    linkageType: ''
    returnType: int
    signature: "int gs_lib_device_list(const gx_device * const **plist,\n                   gs_memory_struct_type_t
      ** pst)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - func
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: fapi_
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fapi_(func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 207
    functionName: gs_get_fapi_server_inits
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_server_init_func
    signature: 'gs_fapi_server_init_func *

      gs_get_fapi_server_inits(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gconf.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 220
    functionName: gs_lib_register_device
    functionSourceFile: /src/libspectre/ghostscript/base/gconf.c
    functionUses: 1
    functionsReached:
    - countof
    linkageType: ''
    returnType: void
    signature: void gs_lib_register_device(const gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: vm_reclaim_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gsgc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: vm_reclaim_proc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pspaces
    - ','
    - global
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: GS_RECLAIM
    functionSourceFile: /src/libspectre/ghostscript/base/gsgc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_RECLAIM(pspaces, global)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pspaces
    - ','
    - global
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 99
    functionName: gs_reclaim
    functionSourceFile: /src/libspectre/ghostscript/base/gsgc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_reclaim(pspaces, global)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscicach.c:71,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscicach.c:73,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscicach.c:75,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscicach.c:77,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gscicach.c:79,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:82,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:83,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:84,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:85,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gscicach.c:88,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gscicach.c:89,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - memory
    - direct_space
    - dev
    - pgs
    - need_frac
    - trans_dev
    argTypes:
    - gs_memory_t*
    - gs_color_space*
    - gx_device*
    - gs_gstate*
    - bool
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 103
    functionName: gs_color_index_cache_create
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 1
    functionsReached:
    - gs_alloc_byte_array
    - cs_num_components
    - gs_alloc_struct
    - memset
    - gs_free_object
    linkageType: ''
    returnType: gs_color_index_cache_t
    signature: "gs_color_index_cache_t *\ngs_color_index_cache_create(gs_memory_t
      *memory, const gs_color_space *direct_space, gx_device *dev,\n                            gs_gstate
      *pgs, bool need_frac, gx_device *trans_dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:108,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:109,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:110,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscicach.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - pcic
    argTypes:
    - gs_color_index_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 115
    functionName: gs_color_index_cache_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_color_index_cache_destroy(gs_color_index_cache_t *pcic)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - self
    - paint_values
    argTypes:
    - gs_color_index_cache_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 131
    functionName: hash_paint_values
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int hash_paint_values(const gs_color_index_cache_t *self, const float
      *paint_values)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - self
    - i
    argTypes:
    - gs_color_index_cache_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 143
    functionName: exclude_from_chain
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exclude_from_chain(gs_color_index_cache_t *self, uint i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - self
    - i
    - c
    argTypes:
    - gs_color_index_cache_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 159
    functionName: include_into_chain
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void include_into_chain(gs_color_index_cache_t *self, uint i, uint
      c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - self
    - i
    argTypes:
    - gs_color_index_cache_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 174
    functionName: exclude_from_touch_list
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void exclude_from_touch_list(gs_color_index_cache_t *self, uint i)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - self
    - i
    argTypes:
    - gs_color_index_cache_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 189
    functionName: include_into_touch_list
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void include_into_touch_list(gs_color_index_cache_t *self, uint i)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: hash_paint_values
      Src: /src/libspectre/ghostscript/base/gscicach.c:196,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gscicach.c:202,1
    - Dst: exclude_from_touch_list
      Src: /src/libspectre/ghostscript/base/gscicach.c:205,1
    - Dst: include_into_touch_list
      Src: /src/libspectre/ghostscript/base/gscicach.c:206,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gscicach.c:212,1
    - Dst: exclude_from_chain
      Src: /src/libspectre/ghostscript/base/gscicach.c:214,1
    - Dst: include_into_chain
      Src: /src/libspectre/ghostscript/base/gscicach.c:215,1
    - Dst: exclude_from_touch_list
      Src: /src/libspectre/ghostscript/base/gscicach.c:217,1
    - Dst: include_into_touch_list
      Src: /src/libspectre/ghostscript/base/gscicach.c:218,1
    - Dst: include_into_touch_list
      Src: /src/libspectre/ghostscript/base/gscicach.c:228,1
    - Dst: exclude_from_chain
      Src: /src/libspectre/ghostscript/base/gscicach.c:233,1
    - Dst: include_into_chain
      Src: /src/libspectre/ghostscript/base/gscicach.c:235,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 3
    argNames:
    - self
    - paint_values
    - pi
    argTypes:
    - gs_color_index_cache_t*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 238
    functionName: get_color_index_cache_elem
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached:
    - hash_paint_values
    - exclude_from_touch_list
    - exclude_from_chain
    - include_into_touch_list
    - memcmp
    - include_into_chain
    linkageType: ''
    returnType: int
    signature: "int get_color_index_cache_elem(gs_color_index_cache_t *self, \n                           const
      float *paint_values, uint *pi)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cv2frac31
      Src: /src/libspectre/ghostscript/base/gscicach.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - self
    - i
    argTypes:
    - gs_color_index_cache_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 267
    functionName: compute_frac_values
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 0
    functionsReached:
    - cv2frac31
    linkageType: ''
    returnType: void
    signature: void compute_frac_values(gs_color_index_cache_t *self, uint i)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: get_color_index_cache_elem
      Src: /src/libspectre/ghostscript/base/gscicach.c:281,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscicach.c:286,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscicach.c:294,1
    - Dst: compute_frac_values
      Src: /src/libspectre/ghostscript/base/gscicach.c:300,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscicach.c:307,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscicach.c:309,1
    - Dst: gs_color_space*::type::remap_color
      Src: /src/libspectre/ghostscript/base/gscicach.c:311,1
    - Dst: compute_frac_values
      Src: /src/libspectre/ghostscript/base/gscicach.c:326,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscicach.c:331,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - self
    - paint_values
    - pdevc
    - frac_values
    argTypes:
    - gs_color_index_cache_t*
    - float*
    - gx_device_color*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 334
    functionName: gs_cached_color_index
    functionSourceFile: /src/libspectre/ghostscript/base/gscicach.c
    functionUses: 1
    functionsReached:
    - gs_color_space*::type::remap_color
    - compute_frac_values
    - memcpy
    - get_color_index_cache_elem
    linkageType: ''
    returnType: int
    signature: "int gs_cached_color_index(gs_color_index_cache_t *self, const float
      *paint_values, \n                      gx_device_color *pdevc, frac31 *frac_values)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_CFD_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/scfd.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 48
    functionName: s_CFD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - s_CFD_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_CFD_set_defaults(register stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/scfd.c:56,1
    - Dst: s_hcd_init_inline
      Src: /src/libspectre/ghostscript/base/scfd.c:59,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/scfd.c:62,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:66,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:67,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/scfd.c:69,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:73,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:75,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/scfd.c:77,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 90
    functionName: s_CFD_init
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - ROUND_UP
    - s_hcd_init_inline
    - memset
    - min
    linkageType: ''
    returnType: int
    signature: int s_CFD_init(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/scfd.c:98,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/scfd.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 100
    functionName: s_CFD_release
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_CFD_release(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: cfd_load_state
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfd_load_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 115
    functionName: cfd_store_state
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfd_store_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: avail_bits
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: avail_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - outl
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    functionName: ensure_bits
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ensure_bits(n, outl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: peek_bits
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: peek_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: peek_var_bits
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: peek_var_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: skip_bits
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_bits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: IF_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_DEBUG(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: IF_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IF_DEBUG(expr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:139,1
    - Dst: hcd_peek_bits_left
      Src: /src/libspectre/ghostscript/base/scfd.c:145,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:150,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:152,1
    - Dst: avail_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:153,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:155,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:156,1
    - Dst: peek_var_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:157,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/scfd.c:158,1
    - Dst: peek_var_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:160,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:163,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/scfd.c:166,1
    - Dst: peek_var_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:167,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:168,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:172,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:175,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 7
    argNames:
    - ss
    - pr
    - decode
    - initial_bits
    - min_bits
    - runlen
    - str
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    - cfd_node[]
    - int
    - int
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 177
    functionName: get_run
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 1
    functionsReached:
    - peek_var_bits
    - cfd_store_state
    - cfd_load_state
    - if_debug4
    - skip_bits
    - avail_bits
    - ensure_bits
    - hcd_peek_bits_left
    - peek_bits
    linkageType: ''
    returnType: int
    signature: "int get_run(stream_CFD_state *ss, stream_cursor_read *pr, const cfd_node
      decode[],\n           int initial_bits, int min_bits, int *runlen, const char
      *str)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hcd_peek_bits_left
      Src: /src/libspectre/ghostscript/base/scfd.c:145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 149
    functionName: HCD_ENSURE_BITS_ELSE
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - hcd_peek_bits_left
    linkageType: ''
    returnType: void
    signature: void HCD_ENSURE_BITS_ELSE(initial_bits)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:185,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:192,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - ss
    - pr
    - rlen
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 198
    functionName: skip_data
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - cfd_load_state
    - cfd_store_state
    linkageType: ''
    returnType: int
    signature: int skip_data(stream_CFD_state *ss, stream_cursor_read *pr, int rlen)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:208,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:253,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:264,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:273,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 4
    argNames:
    - ss
    - pr
    - rlen
    - black_byte
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    - int*
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 275
    functionName: invert_data
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - cfd_load_state
    - memset
    - cfd_store_state
    linkageType: ''
    returnType: int
    signature: int invert_data(stream_CFD_state *ss, stream_cursor_read *pr, int *rlen,
      byte black_byte)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: hcd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:304,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/scfd.c:306,1
    - Dst: cf_decode_eol
      Src: /src/libspectre/ghostscript/base/scfd.c:322,1
    - Dst: hcd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:324,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:325,1
    - Dst: hcd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:326,1
    - Dst: hcd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:332,1
    - Dst: hcd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:334,1
    - Dst: stream_move
      Src: /src/libspectre/ghostscript/base/scfd.c:360,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/scfd.c:380,1
    - Dst: cf_decode_eol
      Src: /src/libspectre/ghostscript/base/scfd.c:398,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/scfd.c:399,1
    - Dst: hcd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:404,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:405,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:406,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:407,1
    - Dst: hcd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:408,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/scfd.c:437,1
    - Dst: cf_decode_2d
      Src: /src/libspectre/ghostscript/base/scfd.c:438,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/scfd.c:440,1
    - Dst: cf_decode_1d
      Src: /src/libspectre/ghostscript/base/scfd.c:441,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:443,1
    - Dst: cf_decode_2d
      Src: /src/libspectre/ghostscript/base/scfd.c:444,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/scfd.c:446,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 144
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 475
    functionName: s_CFD_process
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 0
    functionsReached:
    - hcd_store_state
    - cf_decode_2d
    - if_debug1m
    - stream_move
    - hcd_load_state
    - cf_decode_1d
    - skip_bits
    - cf_decode_eol
    - if_debug3m
    - ensure_bits
    - memset
    - peek_bits
    - if_debug8m
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int s_CFD_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: hcd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:494,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:496,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:497,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:499,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:504,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:505,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:507,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:509,1
    - Dst: hcd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:510,1
    - Dst: hcd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - ss
    - pr
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 522
    functionName: cf_decode_eol
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 1
    functionsReached:
    - hcd_store_state
    - hcd_load_state
    - skip_bits
    - ensure_bits
    - peek_bits
    linkageType: ''
    returnType: int
    signature: int cf_decode_eol(stream_CFD_state * ss, stream_cursor_read * pr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:537,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:538,1
    - Dst: q_at_stop
      Src: /src/libspectre/ghostscript/base/scfd.c:545,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:549,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:550,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:552,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:560,1
    - Dst: cf_decode_uncompressed
      Src: /src/libspectre/ghostscript/base/scfd.c:561,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:564,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:577,1
    - Dst: skip_data
      Src: /src/libspectre/ghostscript/base/scfd.c:578,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:579,1
    - Dst: q_at_stop
      Src: /src/libspectre/ghostscript/base/scfd.c:584,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:591,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:592,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:594,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:606,1
    - Dst: invert_data
      Src: /src/libspectre/ghostscript/base/scfd.c:607,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:608,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:626,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:628,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 111
    argCount: 2
    argNames:
    - ss
    - pr
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 636
    functionName: cf_decode_1d
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - cfd_store_state
    - q_at_stop
    - cfd_load_state
    - invert_data
    - get_run
    - skip_data
    - cf_decode_uncompressed
    linkageType: ''
    returnType: int
    signature: int cf_decode_1d(stream_CFD_state * ss, stream_cursor_read * pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 543
    functionDepth: 0
    functionLinenumber: 543
    functionLinenumberEnd: 544
    functionName: q_at_stop
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: q_at_stop()
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:656,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:660,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:683,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/scfd.c:690,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:700,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:702,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:704,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:708,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:712,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:716,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:722,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:723,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:725,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:741,1
    - Dst: cf_decode_uncompressed
      Src: /src/libspectre/ghostscript/base/scfd.c:742,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:747,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:775,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfd.c:776,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:780,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:783,1
    - Dst: skip_white_pixels
      Src: /src/libspectre/ghostscript/base/scfd.c:784,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:788,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:793,1
    - Dst: skip_black_pixels
      Src: /src/libspectre/ghostscript/base/scfd.c:794,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/scfd.c:800,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/scfd.c:805,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:816,1
    - Dst: invert_data
      Src: /src/libspectre/ghostscript/base/scfd.c:817,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:818,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:826,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:833,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:847,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:848,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:850,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:861,1
    - Dst: skip_data
      Src: /src/libspectre/ghostscript/base/scfd.c:862,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:863,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:871,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:872,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:874,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:885,1
    - Dst: invert_data
      Src: /src/libspectre/ghostscript/base/scfd.c:886,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:887,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:900,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:901,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:903,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:914,1
    - Dst: invert_data
      Src: /src/libspectre/ghostscript/base/scfd.c:915,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:916,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:924,1
    - Dst: get_run
      Src: /src/libspectre/ghostscript/base/scfd.c:925,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:927,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:938,1
    - Dst: skip_data
      Src: /src/libspectre/ghostscript/base/scfd.c:939,1
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:940,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 271
    argCount: 2
    argNames:
    - ss
    - pr
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 950
    functionName: cf_decode_2d
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - skip_black_pixels
    - cfd_store_state
    - cfd_load_state
    - skip_bits
    - invert_data
    - get_run
    - ensure_bits
    - skip_data
    - skip_white_pixels
    - cf_decode_uncompressed
    - peek_bits
    - dmlprintf2
    - if_debug2m
    linkageType: ''
    returnType: int
    signature: int cf_decode_2d(stream_CFD_state * ss, stream_cursor_read * pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ss
    - pr
    argTypes:
    - stream_CFD_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 0
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: cf_decode_uncompressed
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cf_decode_uncompressed(stream_CFD_state * ss, stream_cursor_read
      * pr)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfd_load_state
      Src: /src/libspectre/ghostscript/base/scfd.c:970,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:972,1
    - Dst: peek_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:973,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:980,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:984,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:989,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:992,1
    - Dst: ensure_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:993,1
    - Dst: peek_var_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:994,1
    - Dst: skip_bits
      Src: /src/libspectre/ghostscript/base/scfd.c:996,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/scfd.c:997,1
    - Dst: cfd_store_state
      Src: /src/libspectre/ghostscript/base/scfd.c:1004,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 1006
    functionName: cf_decode_uncompressed
    functionSourceFile: /src/libspectre/ghostscript/base/scfd.c
    functionUses: 2
    functionsReached:
    - if_debug1m
    - peek_var_bits
    - cfd_store_state
    - cfd_load_state
    - skip_bits
    - ensure_bits
    - peek_bits
    linkageType: ''
    returnType: int
    signature: int cf_decode_uncompressed(stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cv
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: icc_value_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gscms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: icc_value_to_byte(cv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: icc_value_from_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gscms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: icc_value_from_byte(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 345
    functionName: rend_cond
    functionSourceFile: /src/libspectre/ghostscript/base/gscms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gsicc_rendering_param_t
    signature: gsicc_rendering_param_t rend_cond
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - st
    - ','
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    functionName: offsetof
    functionSourceFile: /src/libspectre/ghostscript/base/gscms.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: offsetof(st, member)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - gsfjb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    functionName: find_jmp_buf
    functionSourceFile: /src/libspectre/ghostscript/base/setjmp_.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: find_jmp_buf(gsfjb)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - devn1
    - devn2
    - num
    argTypes:
    - frac31[]
    - frac31[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 35
    functionName: gx_devn_diff
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdsha.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_devn_diff(frac31 devn1[], frac31 devn2[], int num)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:56,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:57,1
    - Dst: gx_devn_diff
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:96,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:97,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:97,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:98,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:98,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:101,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:102,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:103,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:104,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:106,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:107,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:108,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:109,1
    - Dst: frac312cv
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:112,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:114,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:149,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:160,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:160,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:161,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:161,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:164,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:165,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:166,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:167,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:169,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:170,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:171,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:172,1
    - Dst: frac312cv
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:175,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:177,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 111
    argCount: 9
    argNames:
    - dev
    - fa
    - i0
    - j
    - w
    - c0
    - c0f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 180
    functionName: gx_hl_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdsha.c
    functionUses: 0
    functionsReached:
    - gx_devn_diff
    - frac312cv
    - max
    - fixed2int
    - return_error
    - min
    - dev_proc
    - int2fixed
    - fixed2int_ceiling
    linkageType: ''
    returnType: int
    signature: "int gx_hl_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i0, int j, int w, const frac31 *c0, const int32_t *c0f,\n
      \       const int32_t *cg_num, int32_t cg_den)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:194,1
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:204,1
    - Dst: gx_hl_fill_linear_color_scanline
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:210,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:212,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:213,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:267,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:267,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:268,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:268,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:272,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:274,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:308,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:319,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:319,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:320,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:320,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:324,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevdsha.c:326,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 97
    argCount: 9
    argNames:
    - dev
    - fa
    - i0
    - j
    - w
    - c0
    - c0f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 330
    functionName: gx_default_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdsha.c
    functionUses: 1
    functionsReached:
    - max
    - device_encodes_tags
    - fixed2int
    - return_error
    - min
    - dev_proc
    - gx_hl_fill_linear_color_scanline
    - fixed2int_ceiling
    linkageType: ''
    returnType: int
    signature: "int gx_default_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i0, int j, int w,\n        const frac31 *c0, const int32_t
      *c0f, const int32_t *cg_num, int32_t cg_den)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:41,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:44,1
    - Dst: gs_color_space*::type::install_cspace
      Src: /src/libspectre/ghostscript/base/gscolor2.c:46,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:48,1
    - Dst: gs_color_space*::type::adjust_color_count
      Src: /src/libspectre/ghostscript/base/gscolor2.c:50,1
    - Dst: rc_decrement_only_cs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pgs
    - pcs
    argTypes:
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 33
    functionDepth: 2
    functionLinenumber: 33
    functionLinenumberEnd: 55
    functionName: gs_setcolorspace_only
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - rc_decrement_only_cs
    - gs_color_space*::type::install_cspace
    - gs_color_space*::type::adjust_color_count
    - rc_increment_cs
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setcolorspace_only(gs_gstate * pgs, gs_color_space * pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcolorspace_only
      Src: /src/libspectre/ghostscript/base/gscolor2.c:63,1
    - Dst: cs_full_init_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:67,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - pcs
    argTypes:
    - gs_gstate*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: gs_setcolorspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 11
    functionsReached:
    - gx_unset_dev_color
    - gs_setcolorspace_only
    - cs_full_init_color
    linkageType: ''
    returnType: int
    signature: int gs_setcolorspace(gs_gstate * pgs, gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: gs_currentcolorspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gs_currentcolorspace(const gs_gstate * pgs)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:91,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gscolor2.c:92,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:94,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:102,1
    - Dst: gs_setfilloverprint
      Src: /src/libspectre/ghostscript/base/gscolor2.c:114,1
    - Dst: gs_setstrokeoverprint
      Src: /src/libspectre/ghostscript/base/gscolor2.c:116,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 2
    argNames:
    - pgs
    - pcc
    argTypes:
    - gs_gstate*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 121
    functionName: gs_setcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 3
    functionsReached:
    - gs_setstrokeoverprint
    - gx_dc_is_pure
    - gx_unset_dev_color
    - cs_num_components
    - gs_setfilloverprint
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_setcolor(gs_gstate * pgs, const gs_client_color * pcc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: gs_currentcolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_client_color
    signature: 'gs_client_color *

      gs_currentcolor(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: gs_currentdevicecolor
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_color
    signature: 'gx_device_color *

      gs_currentdevicecolor(const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:146,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscolor2.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcs
    - index
    - values
    argTypes:
    - gs_color_space*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 151
    functionName: lookup_indexed_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: int lookup_indexed_map(const gs_color_space * pcs, int index, float
      *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscolor2.c:157,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscolor2.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pmem
    - pmap
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 159
    functionName: free_indexed_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void free_indexed_map(gs_memory_t * pmem, void *pmap, client_name_t
      cname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gscolor2.c:170,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:171,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscolor2.c:174,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscolor2.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 4
    argNames:
    - ppmap
    - nvals
    - pmem
    - cname
    argTypes:
    - gs_indexed_map**
    - int
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 187
    functionName: alloc_indexed_map
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_alloc_byte_array
    - rc_alloc_struct_1
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int alloc_indexed_map(gs_indexed_map ** ppmap, int nvals, gs_memory_t
      * pmem,\n                  client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: indexed_table_size
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint indexed_table_size(const gs_color_space *pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 277
    functionName: gx_color_polarity_t::gx_polarity_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: 'RELOC_PTRS_END gx_color_polarity_t

      gx_polarity_Indexed(const gs_color_space * pcs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 283
    functionName: gx_install_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_install_Indexed(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 292
    functionName: gx_set_overprint_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_Indexed(const gs_color_space * pcs, gs_gstate
      * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust_const
      Src: /src/libspectre/ghostscript/base/gscolor2.c:300,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gscolor2.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 308
    functionName: gx_final_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_free_string
    - rc_adjust_const
    linkageType: ''
    returnType: void
    signature: void gx_final_Indexed(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcs
    - indx
    - values
    argTypes:
    - gs_color_space*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: map_palette_entry_1
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_palette_entry_1(const gs_color_space * pcs, int indx, float
      *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pcs
    - indx
    - values
    argTypes:
    - gs_color_space*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 334
    functionName: map_palette_entry_3
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_palette_entry_3(const gs_color_space * pcs, int indx, float
      *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pcs
    - indx
    - values
    argTypes:
    - gs_color_space*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 346
    functionName: map_palette_entry_4
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int map_palette_entry_4(const gs_color_space * pcs, int indx, float
      *values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:351,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscolor2.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pcs
    - indx
    - values
    argTypes:
    - gs_color_space*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 359
    functionName: map_palette_entry_n
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - memcpy
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: int map_palette_entry_n(const gs_color_space * pcs, int indx, float
      *values)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:371,1
    - Dst: alloc_indexed_map
      Src: /src/libspectre/ghostscript/base/gscolor2.c:374,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - pbase_cspace
    - nvals
    - pmem
    argTypes:
    - gs_color_space*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 364
    functionDepth: 2
    functionLinenumber: 364
    functionLinenumberEnd: 388
    functionName: alloc_indexed_palette
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_color_space_num_components
    - alloc_indexed_map
    linkageType: ''
    returnType: gs_indexed_map
    signature: "gs_indexed_map *\nalloc_indexed_palette(\n                         const
      gs_color_space * pbase_cspace,\n                         int nvals,\n                         gs_memory_t
      * pmem\n)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:406,1
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscolor2.c:408,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:410,1
    - Dst: alloc_indexed_palette
      Src: /src/libspectre/ghostscript/base/gscolor2.c:414,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscolor2.c:416,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:417,1
    - Dst: rc_increment_cs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:425,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:427,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 5
    argNames:
    - ppcspace
    - pbase_cspace
    - num_entries
    - ptbl
    - pmem
    argTypes:
    - gs_color_space**
    - gs_color_space*
    - uint
    - gs_const_string*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 393
    functionDepth: 3
    functionLinenumber: 393
    functionLinenumberEnd: 430
    functionName: gs_cspace_build_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached:
    - gs_cspace_alloc
    - cs_num_components
    - rc_increment_cs
    - return_error
    - alloc_indexed_palette
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_Indexed(\n                           gs_color_space
      ** ppcspace,\n                           gs_color_space * pbase_cspace,\n                           uint
      num_entries,\n                           const gs_const_string * ptbl,\n                           gs_memory_t
      * pmem\n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 441
    functionName: gs_cspace_indexed_num_entries
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: int gs_cspace_indexed_num_entries(const gs_color_space * pcspace)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: gs_cspace_indexed_value_array
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_color_space_get_index
    linkageType: ''
    returnType: float
    signature: 'float *

      gs_cspace_indexed_value_array(const gs_color_space * pcspace)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:467,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscolor2.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pcspace
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: gs_cspace_indexed_set_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_indexed_set_proc(\n                           gs_color_space
      * pcspace,\n                           int (*proc)(const gs_color_space *, int,
      float *)\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gscolor2.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: gx_restrict_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - is_fneg
    linkageType: ''
    returnType: void
    signature: void gx_restrict_Indexed(gs_client_color * pcc, const gs_color_space
      * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gscolor2.c:496,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gscolor2.c:498,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gscolor2.c:503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 490
    functionDepth: 5
    functionLinenumber: 490
    functionLinenumberEnd: 504
    functionName: gx_concrete_space_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_colorspace_set_icc_equivalent
    - gs_color_space_is_PSCIE
    - cs_concrete_space
    linkageType: ''
    returnType: gs_color_space
    signature: "gs_color_space *\ngx_concrete_space_Indexed(const gs_color_space *
      pcs,\n                          const gs_gstate * pgs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_indexed_limit_and_lookup
      Src: /src/libspectre/ghostscript/base/gscolor2.c:513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 518
    functionName: gx_concretize_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_indexed_limit_and_lookup
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_Indexed(const gs_client_color * pc, const gs_color_space
      * pcs,\n                      frac * pconc, const gs_gstate * pgs, gx_device
      *dev)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:529,1
    - Dst: gs_indexed_limit_and_lookup
      Src: /src/libspectre/ghostscript/base/gscolor2.c:532,1
    - Dst: cs_concrete_space
      Src: /src/libspectre/ghostscript/base/gscolor2.c:537,1
    - Dst: gx_remap_named_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:540,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscolor2.c:548,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 522
    functionDepth: 8
    functionLinenumber: 522
    functionLinenumberEnd: 565
    functionName: gx_remap_IndexedNamed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gx_remap_named_color
    - gs_indexed_limit_and_lookup
    - cs_concrete_space
    - gs_color_space*::type::num_components
    - dev_proc
    linkageType: ''
    returnType: int
    signature: 'int gx_remap_IndexedNamed(const gs_client_color * pcc, const gs_color_space
      * pcs,

      gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,

      gs_color_select_t select)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_indexed_params*::lookup::map::proc::lookup_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:574,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:578,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - pcs
    - index
    - pcc
    argTypes:
    - gs_color_space*
    - int
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 568
    functionDepth: 1
    functionLinenumber: 568
    functionLinenumberEnd: 600
    functionName: gs_cspace_indexed_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 2
    functionsReached:
    - gs_indexed_params*::lookup::map::proc::lookup_index
    - cs_num_components
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_indexed_lookup(const gs_color_space *pcs, int index,\n
      \                        gs_client_color *pcc)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:609,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gscolor2.c:612,1
    - Dst: gs_indexed_params*::lookup::map::proc::lookup_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:621,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:632,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:636,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:638,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:640,1
    - Dst: float_color_to_byte_color
      Src: /src/libspectre/ghostscript/base/gscolor2.c:642,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - pcs
    - index_float
    - output
    argTypes:
    - gs_color_space*
    - float
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 673
    functionName: gs_cspace_indexed_lookup_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached:
    - float_color_to_byte_color
    - gs_indexed_params*::lookup::map::proc::lookup_index
    - cs_num_components
    - is_fneg
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_indexed_lookup_bytes(const gs_color_space *pcs, float
      index_float,\n                        unsigned char *output)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gscolor2.c:682,1
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gscolor2.c:685,1
    - Dst: gs_indexed_params*::lookup::map::proc::lookup_index
      Src: /src/libspectre/ghostscript/base/gscolor2.c:694,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:705,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:709,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:711,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:713,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:715,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:732,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:736,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:738,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:740,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gscolor2.c:742,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - pcs
    - index_float
    - output
    argTypes:
    - gs_color_space*
    - float
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 676
    functionDepth: 1
    functionLinenumber: 676
    functionLinenumberEnd: 746
    functionName: gs_cspace_indexed_lookup_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 1
    functionsReached:
    - gs_indexed_params*::lookup::map::proc::lookup_index
    - cs_num_components
    - byte2frac
    - is_fneg
    - float2frac
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_indexed_lookup_frac(const gs_color_space *pcs, float
      index_float,\n                        frac *output)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_fneg
      Src: /src/libspectre/ghostscript/base/gscolor2.c:757,1
    - Dst: gs_cspace_indexed_lookup
      Src: /src/libspectre/ghostscript/base/gscolor2.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pc
    - pcs
    - pcc
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gs_client_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 2
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: gs_indexed_limit_and_lookup
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 2
    functionsReached:
    - is_fneg
    - gs_cspace_indexed_lookup
    linkageType: ''
    returnType: int
    signature: "int gs_indexed_limit_and_lookup(const gs_client_color * pc,const gs_color_space
      *pcs,\n                         gs_client_color *pcc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gscolor2.c:771,1
    - Dst: cs_serialize
      Src: /src/libspectre/ghostscript/base/gscolor2.c:775,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:778,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:781,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:785,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:789,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:792,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscolor2.c:796,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 799
    functionName: gx_serialize_Indexed
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - cs_serialize
    - sputs
    - gx_serialize_cspace_type
    linkageType: ''
    returnType: int
    signature: int gx_serialize_Indexed(const gs_color_space * pcs, stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gscolor2.c:818,1
    - Dst: gs_currentcolorspace_inline
      Src: /src/libspectre/ghostscript/base/gscolor2.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pgs
    - res_name
    - name_length
    argTypes:
    - gs_gstate*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 819
    functionName: gs_includecolorspace
    functionSourceFile: /src/libspectre/ghostscript/base/gscolor2.c
    functionUses: 0
    functionsReached:
    - gs_currentcolorspace_inline
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_includecolorspace(gs_gstate * pgs, const byte *res_name, int
      name_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/szlibc.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 46
    functionName: s_zlib_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/szlibc.c
    functionUses: 2
    functionsReached:
    - min
    linkageType: ''
    returnType: void
    signature: void s_zlib_set_defaults(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/szlibc.c:54,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/szlibc.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_zlib_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 67
    functionName: s_zlib_alloc_dynamic_state
    functionSourceFile: /src/libspectre/ghostscript/base/szlibc.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_alloc_struct_immovable
    linkageType: ''
    returnType: int
    signature: int s_zlib_alloc_dynamic_state(stream_zlib_state *ss)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/szlibc.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_zlib_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 76
    functionName: s_zlib_free_dynamic_state
    functionSourceFile: /src/libspectre/ghostscript/base/szlibc.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_zlib_free_dynamic_state(stream_zlib_state *ss)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/szlibc.c:85,1
    - Dst: gs_alloc_byte_array_immovable
      Src: /src/libspectre/ghostscript/base/szlibc.c:88,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/szlibc.c:91,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/szlibc.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - zmem
    - items
    - size
    argTypes:
    - void*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 102
    functionName: s_zlib_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/szlibc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array_immovable
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: void
    signature: 'void *

      s_zlib_alloc(void *zmem, uint items, uint size)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/szlibc.c:110,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/szlibc.c:113,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/szlibc.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - zmem
    - data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 126
    functionName: s_zlib_free
    functionSourceFile: /src/libspectre/ghostscript/base/szlibc.c
    functionUses: 0
    functionsReached:
    - lprintf1
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_zlib_free(void *zmem, void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cinfo
    - sizeofobject
    argTypes:
    - j_common_ptr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 29
    functionName: jpeg_get_small
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void jpeg_get_small (j_common_ptr cinfo, size_t sizeofobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cinfo
    - object
    - sizeofobject
    argTypes:
    - j_common_ptr
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: jpeg_free_small
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void jpeg_free_small (j_common_ptr cinfo, void * object, size_t sizeofobject)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cinfo
    - sizeofobject
    argTypes:
    - j_common_ptr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: GLOBAL
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: 'void GLOBAL(void FAR *)

      jpeg_get_large (j_common_ptr cinfo, size_t sizeofobject)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cinfo
    - object
    - sizeofobject
    argTypes:
    - j_common_ptr
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: jpeg_free_large
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void jpeg_free_large (j_common_ptr cinfo, void FAR * object, size_t
      sizeofobject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - cinfo
    - min_bytes_needed
    - max_bytes_needed
    - already_allocated
    argTypes:
    - j_common_ptr
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: jpeg_mem_available
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: "void jpeg_mem_available (j_common_ptr cinfo, long min_bytes_needed,\n
      \                   long max_bytes_needed, long already_allocated)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:90,1
    - Dst: ERREXIT
      Src: /src/libspectre/ghostscript/base/jmemcust.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - cinfo
    - info
    - total_bytes_needed
    argTypes:
    - j_common_ptr
    - backing_store_ptr
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: jpeg_open_backing_store
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 0
    functionsReached:
    - ERREXIT
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: "void jpeg_open_backing_store (j_common_ptr cinfo, backing_store_ptr
      info,\n                         long total_bytes_needed)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: jpeg_mem_init
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 2
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void jpeg_mem_init (j_common_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/base/jmemcust.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: jpeg_mem_term
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 1
    functionsReached:
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void jpeg_mem_term (j_common_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 10
    argNames:
    - custm
    - priv
    - init
    - term
    - avail
    - get_small
    - free_small
    - get_large
    - free_large
    - open_backing_store
    argTypes:
    - jpeg_cust_mem_data*
    - void*
    - j_custmem_init_ptr
    - j_custmem_term_ptr
    - j_custmem_avail_ptr
    - j_custmem_get_small_ptr
    - j_custmem_free_small_ptr
    - j_cust_mem_get_large_ptr
    - j_custmem_free_large_ptr
    - j_custmem_open_backing_store_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionName: jpeg_cust_mem_init
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void jpeg_cust_mem_init(jpeg_cust_mem_data *custm, void *priv,\n    j_custmem_init_ptr
      \              init,\n    j_custmem_term_ptr               term,\n    j_custmem_avail_ptr
      \             avail,\n    j_custmem_get_small_ptr          get_small,\n    j_custmem_free_small_ptr
      \        free_small,\n    j_cust_mem_get_large_ptr         get_large,\n    j_custmem_free_large_ptr
      \        free_large,\n    j_custmem_open_backing_store_ptr open_backing_store)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - custm
    - priv
    argTypes:
    - jpeg_cust_mem_data*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 164
    functionName: jpeg_cust_mem_set_private
    functionSourceFile: /src/libspectre/ghostscript/base/jmemcust.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void jpeg_cust_mem_set_private(jpeg_cust_mem_data *custm, void *priv)
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 31
    argCount: 2
    argNames:
    - p
    - is_integer
    argTypes:
    - char**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 67
    functionName: walk_number
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int walk_number(char **p, bool *is_integer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 86
    functionName: ends_token
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ends_token(const char *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsparaml.c:102,1
    - Dst: gs_param_list_set_persistent_keys
      Src: /src/libspectre/ghostscript/base/gsparaml.c:106,1
    - Dst: add_tokens
      Src: /src/libspectre/ghostscript/base/gsparaml.c:109,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsparaml.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: process_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - param_end_write_dict
    - add_tokens
    - gs_param_list_set_persistent_keys
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: int process_dict(gs_memory_t *mem, gs_c_param_list *plist, gs_param_name
      key, char **p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: process_dict
      Src: /src/libspectre/ghostscript/base/gsparaml.c:124,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:157,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 158
    functionName: process_dict_or_hexstring
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - process_dict
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int process_dict_or_hexstring(gs_memory_t *mem, gs_c_param_list *plist,
      gs_param_name key, char **p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ends_token
      Src: /src/libspectre/ghostscript/base/gsparaml.c:172,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gsparaml.c:210,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 214
    functionName: process_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - param_write_name
    - ends_token
    linkageType: ''
    returnType: int
    signature: int process_name(gs_memory_t *mem, gs_c_param_list *plist, gs_param_name
      *key, char **p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:234,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: process_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 1
    functionsReached:
    - param_write_string
    linkageType: ''
    returnType: int
    signature: int process_string(gs_memory_t *mem, gs_c_param_list *plist, gs_param_name
      key, char **p)
  - BBCount: 57
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:292,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:294,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:351,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:353,1
    - Dst: ends_token
      Src: /src/libspectre/ghostscript/base/gsparaml.c:365,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:383,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:385,1
    - Dst: walk_number
      Src: /src/libspectre/ghostscript/base/gsparaml.c:431,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:437,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:446,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:457,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:459,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/base/gsparaml.c:472,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/base/gsparaml.c:475,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/base/gsparaml.c:501,1
    - Dst: param_write_name_array
      Src: /src/libspectre/ghostscript/base/gsparaml.c:507,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gsparaml.c:513,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gsparaml.c:519,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:528,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 229
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 531
    functionName: process_array
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - param_write_name_array
    - atol
    - param_write_string_array
    - walk_number
    - param_write_int_array
    - gs_resize_object
    - atof
    - param_write_float_array
    - ends_token
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int process_array(gs_memory_t *mem, gs_c_param_list *plist, gs_param_name
      key, char **p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: walk_number
      Src: /src/libspectre/ghostscript/base/gsparaml.c:540,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/base/gsparaml.c:551,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/base/gsparaml.c:552,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/base/gsparaml.c:555,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/base/gsparaml.c:556,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - plist
    - key
    - p
    argTypes:
    - gs_memory_t*
    - gs_c_param_list*
    - gs_param_name
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 561
    functionName: process_number
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - atol
    - param_write_float
    - walk_number
    - atof
    - param_write_long
    linkageType: ''
    returnType: int
    signature: int process_number(gs_memory_t *mem, gs_c_param_list *plist, gs_param_name
      key, char **p)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsparaml.c:584,1
    - Dst: ends_token
      Src: /src/libspectre/ghostscript/base/gsparaml.c:586,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsparaml.c:588,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsparaml.c:598,1
    - Dst: ends_token
      Src: /src/libspectre/ghostscript/base/gsparaml.c:600,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gsparaml.c:602,1
    - Dst: process_dict_or_hexstring
      Src: /src/libspectre/ghostscript/base/gsparaml.c:612,1
    - Dst: process_name
      Src: /src/libspectre/ghostscript/base/gsparaml.c:623,1
    - Dst: process_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:635,1
    - Dst: process_array
      Src: /src/libspectre/ghostscript/base/gsparaml.c:644,1
    - Dst: process_number
      Src: /src/libspectre/ghostscript/base/gsparaml.c:663,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 108
    argCount: 4
    argNames:
    - plist
    - key
    - pp
    - dict_count
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char**
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 563
    functionDepth: 3
    functionLinenumber: 563
    functionLinenumberEnd: 686
    functionName: add_tokens
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 1
    functionsReached:
    - process_array
    - process_number
    - process_name
    - param_write_bool
    - process_dict_or_hexstring
    - strncmp
    - ends_token
    - process_string
    linkageType: ''
    returnType: int
    signature: int add_tokens(gs_param_list *plist, gs_param_name key, char **pp,
      uint *dict_count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: add_tokens
      Src: /src/libspectre/ghostscript/base/gsparaml.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - p
    argTypes:
    - gs_param_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 695
    functionName: gs_param_list_add_tokens
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - add_tokens
    linkageType: ''
    returnType: int
    signature: int gs_param_list_add_tokens(gs_param_list *plist, char *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsparaml.c:710,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparaml.c:711,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsparaml.c:713,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparaml.c:714,1
    - Dst: add_tokens
      Src: /src/libspectre/ghostscript/base/gsparaml.c:717,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsparaml.c:719,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - plist
    - key
    - p
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 700
    functionDepth: 4
    functionLinenumber: 700
    functionLinenumberEnd: 722
    functionName: gs_param_list_add_parsed_value
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - add_tokens
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_param_list_add_parsed_value(gs_param_list *plist, gs_param_name
      key, const char *p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsparaml.c:733,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparaml.c:754,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 17
    argCount: 2
    argNames:
    - out
    - str
    argTypes:
    - outstate*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 758
    functionName: out_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - strlen
    - memcpy
    linkageType: ''
    returnType: void
    signature: void out_string(outstate *out, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:777,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:783,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:786,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:791,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:797,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - data
    - len
    - out
    argTypes:
    - char*
    - int
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 800
    functionName: string_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - out_string
    linkageType: ''
    returnType: void
    signature: void string_to_string(const char *data, int len, outstate *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:808,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:825,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 15
    argCount: 3
    argNames:
    - data
    - len
    - out
    argTypes:
    - char*
    - int
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 827
    functionName: name_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - out_string
    linkageType: ''
    returnType: void
    signature: void name_to_string(const char *data, int len, outstate *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:835,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:837,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:838,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ia
    - out
    argTypes:
    - gs_param_int_array
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 829
    functionDepth: 5
    functionLinenumber: 829
    functionLinenumberEnd: 841
    functionName: int_array_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - out_string
    linkageType: ''
    returnType: void
    signature: void int_array_to_string(gs_param_int_array ia, outstate *out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:850,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 17
    argCount: 2
    argNames:
    - text
    - f
    argTypes:
    - char*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 843
    functionDepth: 5
    functionLinenumber: 843
    functionLinenumberEnd: 873
    functionName: print_float
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    linkageType: ''
    returnType: void
    signature: void print_float(char *text, float f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:881,1
    - Dst: print_float
      Src: /src/libspectre/ghostscript/base/gsparaml.c:883,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:884,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:886,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fa
    - out
    argTypes:
    - gs_param_float_array
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 875
    functionDepth: 6
    functionLinenumber: 875
    functionLinenumberEnd: 887
    functionName: float_array_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - print_float
    - out_string
    linkageType: ''
    returnType: void
    signature: void float_array_to_string(gs_param_float_array fa, outstate *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:894,1
    - Dst: string_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:896,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:898,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sa
    - out
    argTypes:
    - gs_param_string_array
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 899
    functionName: string_array_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - string_to_string
    - out_string
    linkageType: ''
    returnType: void
    signature: void string_array_to_string(gs_param_string_array sa, outstate *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:906,1
    - Dst: name_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:908,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - na
    - out
    argTypes:
    - gs_param_string_array
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 911
    functionName: name_array_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - name_to_string
    - out_string
    linkageType: ''
    returnType: void
    signature: void name_array_to_string(gs_param_string_array na, outstate *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:923,1
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/base/gsparaml.c:925,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/base/gsparaml.c:926,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparaml.c:930,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparaml.c:933,1
    - Dst: name_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:935,1
    - Dst: to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:936,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - dict
    - out
    argTypes:
    - gs_param_collection*
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 915
    functionDepth: 2
    functionLinenumber: 915
    functionLinenumberEnd: 946
    functionName: out_dict
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - param_get_next_key
    - name_to_string
    - to_string
    - memcpy
    - out_string
    - gs_note_error
    - param_init_enumerator
    linkageType: ''
    returnType: int
    signature: int out_dict(gs_param_collection *dict, outstate *out)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/base/gsparaml.c:955,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsparaml.c:959,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:962,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:966,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:968,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:973,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:974,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:980,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:981,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:987,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:988,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsparaml.c:994,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:995,1
    - Dst: print_float
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1001,1
    - Dst: out_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1002,1
    - Dst: out_dict
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1006,1
    - Dst: string_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1013,1
    - Dst: name_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1016,1
    - Dst: int_array_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1019,1
    - Dst: float_array_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1022,1
    - Dst: string_array_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1025,1
    - Dst: name_array_to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1028,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 70
    argCount: 3
    argNames:
    - plist
    - key
    - out
    argTypes:
    - gs_param_list*
    - gs_param_name
    - outstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 948
    functionDepth: 7
    functionLinenumber: 948
    functionLinenumberEnd: 1035
    functionName: to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 17
    functionsReached:
    - print_float
    - name_to_string
    - return_error
    - out_dict
    - string_array_to_string
    - gs_sprintf
    - out_string
    - param_read_typed
    - int_array_to_string
    - string_to_string
    - float_array_to_string
    - name_array_to_string
    linkageType: ''
    returnType: int
    signature: int to_string(gs_param_list *plist, gs_param_name key, outstate *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: to_string
      Src: /src/libspectre/ghostscript/base/gsparaml.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - key
    - value
    - len
    argTypes:
    - gs_param_list*
    - gs_param_name
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1037
    functionDepth: 8
    functionLinenumber: 1037
    functionLinenumberEnd: 1048
    functionName: gs_param_list_to_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsparaml.c
    functionUses: 0
    functionsReached:
    - to_string
    linkageType: ''
    returnType: int
    signature: int gs_param_list_to_string(gs_param_list *plist, gs_param_name key,
      char *value, int *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 75
    functionName: private_st_function_PtCr
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc4.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_function_PtCr()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: process_transfer
      Src: /src/libspectre/ghostscript/base/gsht1.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - porder
    - pgs
    - phcop
    - mem
    argTypes:
    - gx_ht_order*
    - gs_gstate*
    - gs_client_order_halftone*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: process_client_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht1.c
    functionUses: 0
    functionsReached:
    - process_transfer
    linkageType: ''
    returnType: int
    signature: "int process_client_order(gx_ht_order * porder, gs_gstate * pgs,\n
      \                    gs_client_order_halftone * phcop, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ptr
    - ','
    - abcd
    - ','
    - efgh
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 63
    functionName: put8
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put8(ptr, abcd, efgh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - abcd
    - ','
    - efgh
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 69
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(abcd, efgh, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - abcd
    - ','
    - efgh
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 80
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(abcd, efgh, color)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:89,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm64.c:90,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevm64.c:97,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm64.c:98,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm64.c:105,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:106,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm64.c:113,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevm64.c:115,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gdevm64.c:121,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm64.c:127,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm64.c:127,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:133,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:134,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:135,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:136,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:142,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:145,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:146,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:149,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:150,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:151,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:156,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm64.c:159,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevm64.c:159,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:160,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:164,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:165,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:166,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:167,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:168,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:174,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:175,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:176,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:177,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:183,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:184,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:185,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:191,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:192,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 202
    functionName: mem_true64_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - countof
    - inc_ptr
    - INCR
    - put8
    - memmove
    - max
    - declare_scan_ptr
    - fit_fill_xywh
    - setup_rect
    - min
    linkageType: ''
    returnType: int
    signature: "int mem_true64_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:215,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm64.c:217,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:218,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm64.c:224,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm64.c:225,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:236,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:238,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:245,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm64.c:249,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:271,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:281,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:283,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:285,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:287,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:291,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:293,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:295,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:297,1
    - Dst: put8
      Src: /src/libspectre/ghostscript/base/gdevm64.c:308,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm64.c:315,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 319
    functionName: mem_true64_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - put8
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true64_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm64.c:329,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 332
    functionName: mem_true64_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true64_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm64.c:361,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm64.c:362,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:364,1
    - Dst: mem_true64_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm64.c:365,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 368
    functionName: mem64_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_true64_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem64_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm64.c:381,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm64.c:382,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:385,1
    - Dst: mem_true64_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm64.c:386,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 390
    functionName: mem64_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_true64_copy_mono
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem64_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm64.c:402,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm64.c:403,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:405,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm64.c:406,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm64.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 410
    functionName: mem64_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm64.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem64_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 77
    functionName: declare_unpack_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: declare_unpack_color(r, g, b, color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ptr
    - ','
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: put3
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put3(ptr, r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - wxyz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: putw
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putw(ptr, wxyz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - crgb
    - ','
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: set_color24_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color24_cache(crgb, r, g, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - crgb
    - ','
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 99
    functionName: set_color24_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_color24_cache(crgb, r, g, b)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm24.c:107,1
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:108,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gdevm24.c:110,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevm24.c:117,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:118,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:125,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:126,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:133,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm24.c:133,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:178,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:183,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm24.c:183,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevm24.c:185,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:186,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:198,1
    - Dst: set_color24_cache
      Src: /src/libspectre/ghostscript/base/gdevm24.c:199,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:207,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gdevm24.c:209,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gdevm24.c:215,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:220,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevm24.c:220,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:227,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:233,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:238,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:239,1
    - Dst: PUTW4
      Src: /src/libspectre/ghostscript/base/gdevm24.c:255,1
    - Dst: PUTW4
      Src: /src/libspectre/ghostscript/base/gdevm24.c:256,1
    - Dst: PUTW4
      Src: /src/libspectre/ghostscript/base/gdevm24.c:257,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:260,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:261,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:263,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:267,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:271,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:272,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:273,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:279,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:282,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:287,1
    - Dst: putw
      Src: /src/libspectre/ghostscript/base/gdevm24.c:288,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:294,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gdevm24.c:298,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevm24.c:298,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:299,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:306,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:315,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:324,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:331,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 183
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 341
    functionName: mem_true24_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - countof
    - INCR
    - PUTW4
    - memmove
    - max
    - set_color24_cache
    - declare_scan_ptr
    - memset
    - fit_fill_xywh
    - memcpy
    - if_debug4m
    - setup_rect
    - put3
    - min
    - putw
    linkageType: ''
    returnType: int
    signature: "int mem_true24_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: PUTW4
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTW4(ptr, w)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:354,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:356,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:357,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm24.c:363,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm24.c:364,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:375,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:378,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:395,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm24.c:399,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:421,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:431,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:433,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:435,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:437,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:441,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:443,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:445,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:447,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:458,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:465,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 86
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 469
    functionName: mem_true24_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - put3
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true24_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gdevm24.c:479,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:481,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: mem_true24_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - if_debug1m
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true24_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:495,1
    - Dst: declare_unpack_color
      Src: /src/libspectre/ghostscript/base/gdevm24.c:496,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:498,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:499,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevm24.c:522,1
    - Dst: put3
      Src: /src/libspectre/ghostscript/base/gdevm24.c:525,1
    - Dst: make_shade
      Src: /src/libspectre/ghostscript/base/gdevm24.c:530,1
    - Dst: make_shade
      Src: /src/libspectre/ghostscript/base/gdevm24.c:531,1
    - Dst: make_shade
      Src: /src/libspectre/ghostscript/base/gdevm24.c:532,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm24.c:537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 540
    functionName: mem_true24_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - declare_unpack_color
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - make_shade
    - return_error
    - put3
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true24_copy_alpha(gx_device * dev, const byte * base, int
      sourcex,\n                   int sraster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                      gx_color_index color, int depth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - old
    - ','
    - clr
    - ','
    - alpha
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 530
    functionName: make_shade
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_shade(old, clr, alpha)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm24.c:569,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm24.c:570,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:572,1
    - Dst: mem_true24_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm24.c:573,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 576
    functionName: mem24_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - mem_true24_fill_rectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem24_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                          gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:589,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm24.c:590,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:593,1
    - Dst: mem_true24_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm24.c:594,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 579
    functionDepth: 2
    functionLinenumber: 579
    functionLinenumberEnd: 598
    functionName: mem24_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - mem_true24_copy_mono
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem24_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm24.c:610,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm24.c:611,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:613,1
    - Dst: bytes_copy_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm24.c:614,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm24.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 618
    functionName: mem24_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm24.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - mem_swap_byte_rect
    - bytes_copy_rectangle
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem24_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevppla.c:33,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevppla.c:34,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 36
    functionName: gdev_prn_set_procs_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 1
    functionsReached:
    - set_dev_proc
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gdev_prn_set_procs_planar(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_set_procs_planar
      Src: /src/libspectre/ghostscript/base/gdevppla.c:43,1
    - Dst: gdev_prn_open
      Src: /src/libspectre/ghostscript/base/gdevppla.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - dev
    - upb
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: gdev_prn_open_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 7
    functionsReached:
    - gdev_prn_open
    - gdev_prn_set_procs_planar
    linkageType: ''
    returnType: int
    signature: int gdev_prn_open_planar(gx_device *dev, bool upb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_prn_get_params
      Src: /src/libspectre/ghostscript/base/gdevppla.c:54,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/base/gdevppla.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pdev
    - plist
    - pupb
    argTypes:
    - gx_device*
    - gs_param_list*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: gdev_prn_get_params_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 1
    functionsReached:
    - param_write_bool
    - gdev_prn_get_params
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_get_params_planar(gx_device * pdev, gs_param_list * plist,\n
      \                          bool *pupb)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/base/gdevppla.c:68,1
    - Dst: gdev_prn_put_params
      Src: /src/libspectre/ghostscript/base/gdevppla.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pdev
    - plist
    - pupb
    argTypes:
    - gx_device*
    - gs_param_list*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 60
    functionDepth: 3
    functionLinenumber: 60
    functionLinenumberEnd: 75
    functionName: gdev_prn_put_params_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 1
    functionsReached:
    - param_read_bool
    - gdev_prn_put_params
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_put_params_planar(gx_device * pdev, gs_param_list * plist,\n
      \                          bool *pupb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevppla.c:87,1
    - Dst: gdev_mem_set_planar
      Src: /src/libspectre/ghostscript/base/gdevppla.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - mdev
    - tdev
    argTypes:
    - gx_device_memory*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 100
    functionName: gdev_prn_set_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_mem_set_planar
    linkageType: ''
    returnType: int
    signature: int gdev_prn_set_planar(gx_device_memory *mdev, const gx_device *tdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_create_buf_device
      Src: /src/libspectre/ghostscript/base/gdevppla.c:108,1
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gdevppla.c:113,1
    - Dst: gdev_prn_set_planar
      Src: /src/libspectre/ghostscript/base/gdevppla.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - pbdev
    - target
    - y
    - render_plane
    - mem
    - for_band
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - gx_render_plane_t*
    - gs_memory_t*
    - gx_color_usage_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 103
    functionDepth: 3
    functionLinenumber: 103
    functionLinenumberEnd: 117
    functionName: gdev_prn_create_buf_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 1
    functionsReached:
    - gs_device_is_memory
    - gx_default_create_buf_device
    - gdev_prn_set_planar
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_create_buf_planar(gx_device **pbdev, gx_device *target,
      int y,\n                           const gx_render_plane_t *render_plane,\n
      \                          gs_memory_t *mem, gx_color_usage_t *for_band)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_size_buf_device
      Src: /src/libspectre/ghostscript/base/gdevppla.c:129,1
    - Dst: gdev_prn_set_planar
      Src: /src/libspectre/ghostscript/base/gdevppla.c:135,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gdevppla.c:138,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevppla.c:139,1
    - Dst: gdev_mem_line_ptrs_size
      Src: /src/libspectre/ghostscript/base/gdevppla.c:140,1
    - Dst: bitmap_raster_pad_align
      Src: /src/libspectre/ghostscript/base/gdevppla.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 5
    argNames:
    - space
    - target
    - render_plane
    - height
    - for_band
    argTypes:
    - gx_device_buf_space_t*
    - gx_device*
    - gx_render_plane_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 143
    functionName: gdev_prn_size_buf_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gdevppla.c
    functionUses: 1
    functionsReached:
    - gdev_mem_bits_size
    - gx_default_size_buf_device
    - bitmap_raster_pad_align
    - gdev_prn_set_planar
    - gdev_mem_line_ptrs_size
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_size_buf_planar(gx_device_buf_space_t *space, gx_device
      *target,\n                         const gx_render_plane_t *render_plane,\n
      \                        int height, bool for_band)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_SUPER_ELT
      Src: /src/libspectre/ghostscript/base/gdevrops.c:29,1
    - Dst: ENUM_OBJ
      Src: /src/libspectre/ghostscript/base/gdevrops.c:33,1
    - Dst: ENUM_PREFIX
      Src: /src/libspectre/ghostscript/base/gdevrops.c:35,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 36
    functionName: ENUM_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - ENUM_PREFIX
    - ENUM_OBJ
    - ENUM_SUPER_ELT
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN(device_rop_texture_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_PREFIX
      Src: /src/libspectre/ghostscript/base/gdevrops.c:38,1
    - Dst: RELOC_SUPER
      Src: /src/libspectre/ghostscript/base/gdevrops.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - RELOC_SUPER
    - RELOC_PREFIX
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_BEGIN(device_rop_texture_reloc_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevrops.c:132,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevrops.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - prsdev
    - mem
    - cname
    argTypes:
    - gx_device_rop_texture**
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: gx_alloc_rop_texture_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_alloc_rop_texture_device(gx_device_rop_texture ** prsdev, gs_memory_t
      * mem,\n                            client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gdevrops.c:143,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevrops.c:146,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevrops.c:148,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevrops.c:149,1
    - Dst: gx_device_copy_params
      Src: /src/libspectre/ghostscript/base/gdevrops.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 4
    argNames:
    - dev
    - target
    - log_op
    - texture
    argTypes:
    - gx_device_rop_texture*
    - gx_device*
    - gs_logical_operation_t
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: gx_make_rop_texture_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - gx_device_set_target
    - check_device_separable
    - gx_device_init
    - gx_device_copy_params
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: void
    signature: "void gx_make_rop_texture_device(gx_device_rop_texture * dev, gx_device
      * target,\n             gs_logical_operation_t log_op, const gx_device_color
      * texture)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevrops.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 174
    functionName: rop_texture_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int rop_texture_fill_rectangle(gx_device * dev, int x, int y, int
      w, int h,\n                           gx_color_index color)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rop3_use_D_when_S_0
      Src: /src/libspectre/ghostscript/base/gdevrops.c:197,1
    - Dst: rop3_use_D_when_S_1
      Src: /src/libspectre/ghostscript/base/gdevrops.c:199,1
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevrops.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 11
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 203
    functionName: rop_texture_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - rop3_use_D_when_S_1
    - rop3_use_D_when_S_0
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int rop_texture_copy_mono(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h,\n                      gx_color_index color0, gx_color_index
      color1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevrops.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 9
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 224
    functionName: rop_texture_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int rop_texture_copy_color(gx_device * dev,\n                const
      byte * data, int sourcex, int raster, gx_bitmap_id id,\n                       int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevrops.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - dev
    - data
    - sourcex
    - raster
    - id
    - x
    - y
    - w
    - h
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 247
    functionName: rop_texture_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevrops.c
    functionUses: 0
    functionsReached:
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int rop_texture_copy_planes(gx_device * dev,\n                        const
      byte * data, int sourcex, int raster,\n                        gx_bitmap_id
      id, int x, int y, int w, int h,\n                        int plane_height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: public_st_device_mask_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxmclip.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_mask_clip()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - cdev
    - ','
    - color
    - ','
    - mcolor0
    - ','
    - mcolor1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 85
    functionName: setup_mask_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gxmclip.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setup_mask_copy_mono(cdev, color, mcolor0, mcolor1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: private_st_function_ElIn
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_function_ElIn()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 64
    functionName: private_st_function_1ItSg
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_function_1ItSg()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 83
    functionName: private_st_function_AdOt
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_function_AdOt()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/siinterp.c:89,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/siinterp.c:92,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siinterp.c:95,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siinterp.c:97,1
    - Dst: s_IIEncode_release
      Src: /src/libspectre/ghostscript/base/siinterp.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 119
    functionName: s_IIEncode_init
    functionSourceFile: /src/libspectre/ghostscript/base/siinterp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - s_IIEncode_release
    - dda_init
    linkageType: ''
    returnType: int
    signature: int s_IIEncode_init(stream_state * st)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/siinterp.c:128,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/siinterp.c:136,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/siinterp.c:139,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siinterp.c:150,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/siinterp.c:164,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/siinterp.c:173,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/siinterp.c:175,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/siinterp.c:177,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/siinterp.c:206,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/siinterp.c:219,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siinterp.c:223,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/siinterp.c:232,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 234
    functionName: s_IIEncode_process
    functionSourceFile: /src/libspectre/ghostscript/base/siinterp.c
    functionUses: 0
    functionsReached:
    - min
    - byte2frac
    - memcpy
    - ALIGNMENT_MOD
    - dda_current
    - dda_next
    linkageType: ''
    returnType: int
    signature: "int s_IIEncode_process(stream_state * st, stream_cursor_read * pr,\n
      \                  stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siinterp.c:243,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siinterp.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 247
    functionName: s_IIEncode_release
    functionSourceFile: /src/libspectre/ghostscript/base/siinterp.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_IIEncode_release(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:46,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:47,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - Functions
    - count
    - mem
    argTypes:
    - gs_function_t**
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: fn_free_functions
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_free_const_object
    - gs_function_free
    linkageType: ''
    returnType: void
    signature: "void fn_free_functions(const gs_function_t *const * Functions, int
      count,\n                  gs_memory_t * mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: alloc_function_array
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:61,1
    - Dst: gs_function_make_scaled
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:68,1
    - Dst: fn_free_functions
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:71,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - ppsfns
    - pfns
    - count
    - pranges
    - step_ranges
    - mem
    argTypes:
    - gs_function_t***
    - gs_function_t**
    - int
    - gs_range_t*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 79
    functionName: fn_scale_functions
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_free_functions
    - gs_function_make_scaled
    - alloc_function_array
    linkageType: ''
    returnType: int
    signature: "int fn_scale_functions(gs_function_t ***ppsfns, const gs_function_t
      *const *pfns,\n                   int count, const gs_range_t *pranges, bool
      step_ranges,\n                   gs_memory_t *mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:103,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 3
    argNames:
    - pfn_common
    - in
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 122
    functionName: fn_ElIn_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - pow
    - if_debug3
    linkageType: ''
    returnType: int
    signature: int fn_ElIn_evaluate(const gs_function_t * pfn_common, const float
      *in, float *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - pfn_common
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 138
    functionName: fn_ElIn_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int fn_ElIn_is_monotonic(const gs_function_t * pfn_common,\n                     const
      float *lower, const float *upper, uint *mask)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_get_params
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:146,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:150,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:155,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:159,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - pfn_common
    - plist
    argTypes:
    - gs_function_t*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 162
    functionName: fn_ElIn_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_common_get_params
    - param_write_float_values
    - param_write_float
    linkageType: ''
    returnType: int
    signature: int fn_ElIn_get_params(const gs_function_t *pfn_common, gs_param_list
      *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:171,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:178,1
    - Dst: fn_copy_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:181,1
    - Dst: fn_copy_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:183,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:186,1
    - Dst: fn_common_scale
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:187,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:190,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 4
    argNames:
    - pfn
    - ppsfn
    - pranges
    - mem
    argTypes:
    - gs_function_ElIn_t*
    - gs_function_ElIn_t**
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 165
    functionDepth: 3
    functionLinenumber: 165
    functionLinenumberEnd: 201
    functionName: fn_ElIn_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_free
    - fn_copy_values
    - return_error
    - gs_note_error
    - fn_common_scale
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int fn_ElIn_make_scaled(const gs_function_ElIn_t *pfn,\n                     gs_function_ElIn_t
      **ppsfn,\n                     const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:208,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:210,1
    - Dst: fn_common_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_ElIn_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 213
    functionName: gs_function_ElIn_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_free_const_object
    - fn_common_free_params
    linkageType: ''
    returnType: void
    signature: "void gs_function_ElIn_free_params(gs_function_ElIn_params_t * params,\n
      \                            gs_memory_t * mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:221,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:228,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:230,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:235,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:237,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 241
    functionName: gs_function_ElIn_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_common_serialize
    - sputs
    linkageType: ''
    returnType: int
    signature: int gs_function_ElIn_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fn_check_mnDR
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:265,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:269,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:270,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:278,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:281,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:285,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - ppfn
    - params
    - mem
    argTypes:
    - gs_function_t**
    - gs_function_ElIn_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 292
    functionName: gs_function_ElIn_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 1
    functionsReached:
    - return_error
    - floor
    - fn_check_mnDR
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_function_ElIn_init(gs_function_t ** ppfn,\n                      const
      gs_function_ElIn_params_t * params,\n                      gs_memory_t * mem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:332,1
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:333,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pfn_common
    - in
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 334
    functionName: fn_1ItSg_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_evaluate
    - if_debug3
    linkageType: ''
    returnType: int
    signature: int fn_1ItSg_evaluate(const gs_function_t * pfn_common, const float
      *in, float *out)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:360,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:377,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:381,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:392,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:393,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:394,1
    - Dst: gs_function_is_monotonic
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:412,1
    - Dst: gs_function_is_monotonic
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:415,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 53
    argCount: 4
    argNames:
    - pfn_common
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 421
    functionName: fn_1ItSg_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_is_monotonic
    - any_abs
    - max
    - return_error
    - min
    linkageType: ''
    returnType: int
    signature: "int fn_1ItSg_is_monotonic(const gs_function_t * pfn_common,\n                      const
      float *lower, const float *upper, uint *mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_get_info_default
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pfn_common
    - pfi
    argTypes:
    - gs_function_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 424
    functionDepth: 1
    functionLinenumber: 424
    functionLinenumberEnd: 433
    functionName: fn_1ItSg_get_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_get_info_default
    linkageType: ''
    returnType: void
    signature: void fn_1ItSg_get_info(const gs_function_t *pfn_common, gs_function_info_t
      *pfi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_get_params
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:441,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:444,1
    - Dst: param_write_float_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pfn_common
    - plist
    argTypes:
    - gs_function_t*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 451
    functionName: fn_1ItSg_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_common_get_params
    - param_write_float_values
    linkageType: ''
    returnType: int
    signature: int fn_1ItSg_get_params(const gs_function_t *pfn_common, gs_param_list
      *plist)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:465,1
    - Dst: fn_copy_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:469,1
    - Dst: fn_copy_values
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:472,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:475,1
    - Dst: fn_common_scale
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:476,1
    - Dst: fn_scale_functions
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:479,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:482,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - pfn
    - ppsfn
    - pranges
    - mem
    argTypes:
    - gs_function_1ItSg_t*
    - gs_function_1ItSg_t**
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 487
    functionName: fn_1ItSg_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_free
    - fn_copy_values
    - return_error
    - gs_note_error
    - fn_common_scale
    - fn_scale_functions
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int fn_1ItSg_make_scaled(const gs_function_1ItSg_t *pfn,\n                     gs_function_1ItSg_t
      **ppsfn,\n                     const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:494,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:496,1
    - Dst: fn_free_functions
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:498,1
    - Dst: fn_common_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_1ItSg_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 501
    functionName: gs_function_1ItSg_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_free_functions
    - gs_free_const_object
    - fn_common_free_params
    linkageType: ''
    returnType: void
    signature: "void gs_function_1ItSg_free_params(gs_function_1ItSg_params_t * params,\n
      \                             gs_memory_t * mem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:509,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:514,1
    - Dst: gs_function_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:519,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:522,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:525,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 526
    functionName: gs_function_1ItSg_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_serialize
    - fn_common_serialize
    - sputs
    linkageType: ''
    returnType: int
    signature: int gs_function_1ItSg_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:555,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:559,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:563,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:568,1
    - Dst: fn_check_mnDR
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:570,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:576,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 3
    argNames:
    - ppfn
    - params
    - mem
    argTypes:
    - gs_function_t**
    - gs_function_1ItSg_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 588
    functionName: gs_function_1ItSg_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - return_error
    - fn_check_mnDR
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_function_1ItSg_init(gs_function_t ** ppfn,\n               const
      gs_function_1ItSg_params_t * params, gs_memory_t * mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:617,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:618,1
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:623,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - pfn_common
    - in0
    - out
    argTypes:
    - gs_function_t*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 630
    functionName: fn_AdOt_evaluate
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - gs_function_evaluate
    linkageType: ''
    returnType: int
    signature: int fn_AdOt_evaluate(const gs_function_t *pfn_common, const float *in0,
      float *out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_is_monotonic
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - pfn_common
    - lower
    - upper
    - mask
    argTypes:
    - gs_function_t*
    - float*
    - float*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 649
    functionName: fn_AdOt_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_is_monotonic
    linkageType: ''
    returnType: int
    signature: "int fn_AdOt_is_monotonic(const gs_function_t * pfn_common,\n                     const
      float *lower, const float *upper, uint *mask)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_get_info_default
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pfn_common
    - pfi
    argTypes:
    - gs_function_t*
    - gs_function_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 661
    functionName: fn_AdOt_get_info
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_get_info_default
    linkageType: ''
    returnType: void
    signature: void fn_AdOt_get_info(const gs_function_t *pfn_common, gs_function_info_t
      *pfi)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:669,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:674,1
    - Dst: fn_common_scale
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:677,1
    - Dst: fn_scale_functions
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:680,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:683,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - pfn
    - ppsfn
    - pranges
    - mem
    argTypes:
    - gs_function_AdOt_t*
    - gs_function_AdOt_t**
    - gs_range_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 688
    functionName: fn_AdOt_make_scaled
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_free
    - return_error
    - fn_common_scale
    - fn_scale_functions
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int fn_AdOt_make_scaled(const gs_function_AdOt_t *pfn, gs_function_AdOt_t
      **ppsfn,\n                    const gs_range_t *pranges, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fn_free_functions
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:695,1
    - Dst: fn_common_free_params
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - params
    - mem
    argTypes:
    - gs_function_AdOt_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 698
    functionName: gs_function_AdOt_free_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - fn_free_functions
    - fn_common_free_params
    linkageType: ''
    returnType: void
    signature: "void gs_function_AdOt_free_params(gs_function_AdOt_params_t * params,\n
      \                            gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fn_common_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:705,1
    - Dst: gs_function_serialize
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:711,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pfn
    - s
    argTypes:
    - gs_function_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 701
    functionDepth: 2
    functionLinenumber: 701
    functionLinenumberEnd: 713
    functionName: gs_function_AdOt_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_function_serialize
    - fn_common_serialize
    linkageType: ''
    returnType: int
    signature: int gs_function_AdOt_serialize(const gs_function_t * pfn, stream *s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:737,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:740,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:743,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:748,1
    - Dst: gs_function_free
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:754,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:755,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:766,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:772,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsfunc3.c:773,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - ppfn
    - params
    - mem
    argTypes:
    - gs_function_t**
    - gs_function_AdOt_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 779
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 779
    functionName: gs_function_AdOt_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc3.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - gs_function_free
    - max
    - memcpy
    - return_error
    - min
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gs_function_AdOt_init(gs_function_t ** ppfn,\n                const
      gs_function_AdOt_params_t * params, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 281
    functionName: private_st_gs_overprint_t
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_gs_overprint_t()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - drawn_comps
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 285
    functionName: gs_overprint_set_drawn_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_overprint_set_drawn_comp(drawn_comps, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - drawn_comps
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    functionName: gs_overprint_clear_drawn_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_overprint_clear_drawn_comp(drawn_comps, i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - drawn_comps
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: gs_overprint_clear_all_drawn_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_overprint_clear_all_drawn_comps(drawn_comps)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - drawn_comps
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 294
    functionName: gs_overprint_get_drawn_comp
    functionSourceFile: /src/libspectre/ghostscript/base/gsovrc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_overprint_get_drawn_comp(drawn_comps, i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:115,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:117,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:120,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 125
    functionName: gx_device_black
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 14
    functionsReached:
    - map_gray_subclass
    - get_color_mapping_procs_subclass
    - dev_proc
    - frac2cv
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_device_black(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_color_mapping_procs_subclass
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:135,1
    - Dst: map_gray_subclass
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:137,1
    - Dst: frac2cv
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:140,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 145
    functionName: gx_device_white
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 14
    functionsReached:
    - map_gray_subclass
    - get_color_mapping_procs_subclass
    - dev_proc
    - frac2cv
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index gx_device_white(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 152
    functionName: gx_device_decache_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_decache_colors(gx_device *dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:170,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:170,1
    - Dst: gx_rop_source_set_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - psource
    - pno_source
    - dev
    argTypes:
    - gx_rop_source_t**
    - gx_rop_source_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 177
    functionName: gx_set_rop_no_source
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_rop_source_set_color
    - discard
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: "void gx_set_rop_no_source(const gx_rop_source_t **psource,\n                     gx_rop_source_t
      *pno_source, gx_device *dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color*::type::equal
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: gx_device_color_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_device_color*::type::equal
    linkageType: ''
    returnType: bool
    signature: "bool gx_device_color_equal(const gx_device_color *pdevc1,\n                      const
      gx_device_color *pdevc2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 223
    functionName: gx_get_dc_type_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_get_dc_type_index(const gx_device_color * pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - i
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: gx_get_dc_type_from_index
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_device_color_type_t
    signature: 'gx_device_color_type_t *

      gx_get_dc_type_from_index(int i)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdevc
    - pphase
    argTypes:
    - gx_device_color*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 241
    functionName: gx_dc_no_get_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_no_get_phase(const gx_device_color * pdevc, gs_int_point
      * pphase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdevc
    - pphase
    argTypes:
    - gx_device_color*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 248
    functionName: gx_dc_ht_get_phase
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_ht_get_phase(const gx_device_color * pdevc, gs_int_point
      * pphase)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: gx_dc_no_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_dc_no_save_dc(const gx_device_color * pdevc, gx_device_color_saved
      * psdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdevc
    argTypes:
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: gx_dc_no_get_dev_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_device_halftone
    signature: 'gx_device_halftone *

      gx_dc_no_get_dev_halftone(const gx_device_color * pdevc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - ignore_pgs
    - ignore_dev
    - ignore_select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 268
    functionName: gx_dc_no_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_load(gx_device_color *pdevc, const gs_gstate *ignore_pgs,\n
      \             gx_device *ignore_dev, gs_color_select_t ignore_select)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lop_uses_T
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:281,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:282,1
    - Dst: gx_dc_pure_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:283,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 284
    functionName: gx_dc_no_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_dc_pure_fill_rectangle
    - lop_uses_T
    - set_nonclient_dev_color
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_fill_rectangle(const gx_device_color *pdevc, int x, int
      y,\n                        int w, int h, gx_device *dev,\n                        gs_logical_operation_t
      lop,\n                        const gx_rop_source_t *source)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 295
    functionName: gx_dc_no_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_fill_masked(const gx_device_color *pdevc, const byte
      *data,\n                     int data_x, int raster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h, gx_device *dev,\n                     gs_logical_operation_t
      lop, bool invert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 301
    functionName: gx_dc_no_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_no_equal(const gx_device_color *pdevc1, const gx_device_color
      *pdevc2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 6
    argNames:
    - pdevc
    - psdc
    - dev
    - offset
    - data
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 314
    functionName: gx_dc_no_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_write(\n    const gx_device_color *         pdevc,      /*
      ignored */\n    const gx_device_color_saved *   psdc,       /* ignored */\n
      \   const gx_device *               dev,        /* ignored */\n    int64_t\t\t\t
      \   offset,     /* ignored */\n    byte *                          data,       /*
      ignored */\n    uint *                          psize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: gx_dc_no_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate        * pgs,                /* ignored */\n    const gx_device_color
      * prior_devc,         /* ignored */\n    const gx_device *       dev,                /*
      ignored */\n    int64_t\t\t    offset,             /* ignored */\n    const
      byte *            pdata,              /* ignored */\n    uint                    size,
      \              /* ignored */\n    gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdevc
    - psdc
    - dev
    - offset
    - data
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: gx_dc_cannot_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_cannot_write(\n    const gx_device_color *         pdevc,
      \     /* ignored */\n    const gx_device_color_saved *   psdc,       /* ignored
      */\n    const gx_device *               dev,        /* ignored */\n    int64_t\t\t\t
      \   offset,     /* ignored */\n    byte *                          data,       /*
      ignored */\n    uint *                          psize )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 355
    functionName: gx_dc_cannot_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_cannot_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate  *       pgs,                /* ignored */\n    const gx_device_color
      * prior_devc,         /* ignored */\n    const gx_device *       dev,                /*
      ignored */\n    int64_t\t\t    offset,             /* ignored */\n    const
      byte *            pdata,              /* ignored */\n    uint                    size,
      \              /* ignored */\n    gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pdevc_ignored
    - dev_ignored
    - pcomp_bits_ignored
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 364
    functionName: gx_dc_no_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_no_get_nonzero_comps(\n    const gx_device_color * pdevc_ignored,\n
      \   const gx_device *       dev_ignored,\n    gx_color_index *        pcomp_bits_ignored
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - ignore_pgs
    - ignore_dev
    - ignore_select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 368
    functionDepth: 0
    functionLinenumber: 368
    functionLinenumberEnd: 373
    functionName: gx_dc_null_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_null_load(gx_device_color *pdevc, const gs_gstate *ignore_pgs,\n
      \               gx_device *ignore_dev, gs_color_select_t ignore_select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 382
    functionName: gx_dc_null_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_null_fill_rectangle(const gx_device_color * pdevc, int x,
      int y,\n                          int w, int h, gx_device * dev,\n                          gs_logical_operation_t
      lop,\n                          const gx_rop_source_t * source)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 384
    functionDepth: 0
    functionLinenumber: 384
    functionLinenumberEnd: 391
    functionName: gx_dc_null_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_null_fill_masked(const gx_device_color * pdevc, const byte
      * data,\n                       int data_x, int raster, gx_bitmap_id id,\n                       int
      x, int y, int w, int h, gx_device * dev,\n                       gs_logical_operation_t
      lop, bool invert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: gx_dc_null_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_null_equal(const gx_device_color * pdevc1, const gx_device_color
      * pdevc2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 412
    functionName: gx_dc_null_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_null_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate  *       pgs,                /* ignored */\n    const gx_device_color
      * prior_devc,         /* ignored */\n    const gx_device *       dev,                /*
      ignored */\n    int64_t\t\t    offset,             /* ignored */\n    const
      byte *            pdata,              /* ignored */\n    uint                    size,
      \              /* ignored */\n    gs_memory_t *           mem )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 423
    functionName: gx_dc_devn_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void gx_dc_devn_save_dc(const gx_device_color * pdevc, gx_device_color_saved
      * psdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - ignore_pgs
    - ignore_dev
    - ignore_select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 430
    functionName: gx_dc_devn_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_load(gx_device_color * pdevc, const gs_gstate * ignore_pgs,\n
      \               gx_device * ignore_dev, gs_color_select_t ignore_select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:441,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:442,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:443,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:444,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 433
    functionDepth: 1
    functionLinenumber: 433
    functionLinenumberEnd: 446
    functionName: gx_dc_devn_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - int2fixed
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_fill_rectangle(const gx_device_color * pdevc, int x,
      int y,\n                          int w, int h, gx_device * dev,\n                          gs_logical_operation_t
      lop,\n                          const gx_rop_source_t * source)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:514,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 521
    functionName: gx_dc_devn_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_fill_masked(const gx_device_color * pdevc, const byte
      * data,\n        int data_x, int raster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                   gx_device * dev, gs_logical_operation_t lop, bool
      invert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 523
    functionDepth: 0
    functionLinenumber: 523
    functionLinenumberEnd: 538
    functionName: gx_dc_devn_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_devn_equal(const gx_device_color * pdevc1, const gx_device_color
      * pdevc2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - pdevc
    - dev
    - pdata
    - psize
    argTypes:
    - gx_device_color*
    - gx_device*
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 598
    functionName: gx_devn_write_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_devn_write_color(\n    const gx_device_color *pdevc,\n    const
      gx_device *   dev,\n    byte *              pdata,\n    uint *              psize
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_write_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdevc
    - psdc
    - dev
    - offset
    - pdata
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 647
    functionName: gx_dc_devn_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_devn_write_color
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_write(\n    const gx_device_color *         pdevc,\n
      \   const gx_device_color_saved *   psdc,       /* ignored */\n    const gx_device
      *               dev,\n    int64_t\t\t\t    offset,     /* ignored */\n    byte
      *                          pdata,\n    uint *                          psize
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - values
    - dev
    - pdata
    - size
    argTypes:
    - ushort[]
    - gx_device*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 704
    functionName: gx_devn_read_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_devn_read_color(\n    ushort              values[],\n    const
      gx_device *   dev,\n    const byte *        pdata,\n    int                 size
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_devn_read_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 748
    functionName: gx_dc_devn_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_devn_read_color
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate  *       pgs,                /* ignored */\n    const gx_device_color
      * prior_devc,         /* ignored */\n    const gx_device *       dev,\n    int64_t\t\t
      \   offset,             /* ignored */\n    const byte *            pdata,\n
      \   uint                    size,\n    gs_memory_t *           mem )"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pdevc
    - dev
    - pcomp_bits
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 774
      start: 754
    functionDepth: 0
    functionLinenumber: 754
    functionLinenumberEnd: 774
    functionName: gx_dc_devn_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_devn_get_nonzero_comps(\n    const gx_device_color * pdevc,\n
      \   const gx_device *       dev,\n    gx_color_index *        pcomp_bits )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pdevc
    - psdc
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 783
    functionName: gx_dc_pure_save_dc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_dc_pure_save_dc(const gx_device_color * pdevc, gx_device_color_saved
      * psdc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdevc
    - ignore_pgs
    - ignore_dev
    - ignore_select
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 790
    functionName: gx_dc_pure_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_load(gx_device_color * pdevc, const gs_gstate * ignore_pgs,\n
      \               gx_device * ignore_dev, gs_color_select_t ignore_select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:799,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:800,1
    - Dst: set_rop_no_source
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:808,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:810,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:815,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 8
    argNames:
    - pdevc
    - x
    - y
    - w
    - h
    - dev
    - lop
    - source
    argTypes:
    - gx_device_color*
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - gx_rop_source_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 820
    functionName: gx_dc_pure_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 1
    functionsReached:
    - lop_no_S_is_T
    - dev_proc
    - set_rop_no_source
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_fill_rectangle(const gx_device_color * pdevc, int x,
      int y,\n                  int w, int h, gx_device * dev, gs_logical_operation_t
      lop,\n                          const gx_rop_source_t * source)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:829,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:836,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:843,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:844,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:846,1
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:847,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:852,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:854,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:857,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 824
    functionDepth: 3
    functionLinenumber: 824
    functionLinenumberEnd: 862
    functionName: gx_dc_pure_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - lop_sanitize
    - rop3_uses_S
    - lop_no_S_is_T
    - rop3_invert_S
    - gx_device_white
    - dev_proc
    - gx_device_black
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_fill_masked(const gx_device_color * pdevc, const byte
      * data,\n        int data_x, int raster, gx_bitmap_id id, int x, int y, int
      w, int h,\n                   gx_device * dev, gs_logical_operation_t lop, bool
      invert)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:868,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pdevc1
    - pdevc2
    argTypes:
    - gx_device_color*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 864
    functionDepth: 1
    functionLinenumber: 864
    functionLinenumberEnd: 869
    functionName: gx_dc_pure_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_dc_pure_color
    linkageType: ''
    returnType: bool
    signature: bool gx_dc_pure_equal(const gx_device_color * pdevc1, const gx_device_color
      * pdevc2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_write_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:917,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 6
    argNames:
    - pdevc
    - psdc
    - dev
    - offset
    - pdata
    - psize
    argTypes:
    - gx_device_color*
    - gx_device_color_saved*
    - gx_device*
    - int64_t
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 902
    functionDepth: 1
    functionLinenumber: 902
    functionLinenumberEnd: 918
    functionName: gx_dc_pure_write
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_dc_write_color
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_write(\n    const gx_device_color *         pdevc,\n
      \   const gx_device_color_saved *   psdc,       /* ignored */\n    const gx_device
      *               dev,\n    int64_t\t\t\t    offset,     /* ignored */\n    byte
      *                          pdata,\n    uint *                          psize
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_read_color
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:961,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 8
    argNames:
    - pdevc
    - pgs
    - prior_devc
    - dev
    - offset
    - pdata
    - size
    - mem
    argTypes:
    - gx_device_color*
    - gs_gstate*
    - gx_device_color*
    - gx_device*
    - int64_t
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 962
    functionName: gx_dc_pure_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - gx_dc_read_color
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_read(\n    gx_device_color *       pdevc,\n    const
      gs_gstate        * pgs,                /* ignored */\n    const gx_device_color
      * prior_devc,         /* ignored */\n    const gx_device *       dev,\n    int64_t\t\t
      \   offset,             /* ignored */\n    const byte *            pdata,\n
      \   uint                    size,\n    gs_memory_t *           mem )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:973,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - pdevc
    - dev
    - pcomp_bits
    argTypes:
    - gx_device_color*
    - gx_device*
    - gx_color_index*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 989
    functionName: gx_dc_pure_get_nonzero_comps
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_dc_pure_get_nonzero_comps(\n    const gx_device_color * pdevc,\n
      \   const gx_device *       dev,\n    gx_color_index *        pcomp_bits )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pdevc
    - num_comps
    - pdht
    argTypes:
    - gx_device_color*
    - int
    - gx_device_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1005
    functionName: gx_complete_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_complete_halftone(gx_device_color *pdevc, int num_comps, gx_device_halftone
      *pdht)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:1072,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 46
    argCount: 12
    argNames:
    - pdevc
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - w
    - h
    - dev
    - lop
    - invert
    argTypes:
    - gx_device_color*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device*
    - gs_logical_operation_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1079
    functionName: gx_dc_default_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 2
    functionsReached:
    - gx_device_color_fill_rectangle
    linkageType: ''
    returnType: int
    signature: "int gx_dc_default_fill_masked(const gx_device_color * pdevc, const
      byte * data,\n        int data_x, int raster, gx_bitmap_id id, int x, int y,
      int w, int h,\n                   gx_device * dev, gs_logical_operation_t lop,
      bool invert)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:1130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - color
    - dev
    - pdata
    - psize
    argTypes:
    - gx_color_index
    - gx_device*
    - byte*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1145
    functionName: gx_dc_write_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_write_color(\n    gx_color_index      color,\n    const
      gx_device *   dev,\n    byte *              pdata,\n    uint *              psize
      )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdcolor.c:1178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - pcolor
    - dev
    - pdata
    - size
    argTypes:
    - gx_color_index*
    - gx_device*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1193
    functionName: gx_dc_read_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxdcolor.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_dc_read_color(\n    gx_color_index *    pcolor,\n    const
      gx_device *   dev,\n    const byte *        pdata,\n    int                 size
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 48
    functionName: private_st_function_Sd
    functionSourceFile: /src/libspectre/ghostscript/base/gsfunc0.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_function_Sd()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: private_st_device_tile_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxclip2.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_device_tile_clip()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_init
      Src: /src/libspectre/ghostscript/base/smd5.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 35
    functionName: s_MD5E_init
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 0
    functionsReached:
    - gs_md5_init
    linkageType: ''
    returnType: int
    signature: int s_MD5E_init(stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/base/smd5.c:46,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/base/smd5.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 58
    functionName: s_MD5E_process
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - gs_md5_finish
    linkageType: ''
    returnType: int
    signature: "int s_MD5E_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/smd5.c:68,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/base/smd5.c:69,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/base/smd5.c:74,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/smd5.c:79,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/smd5.c:80,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - mem
    - digest
    - digest_size
    argTypes:
    - gs_memory_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 82
    functionName: s_MD5E_make_stream
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 2
    functionsReached:
    - s_init_filter
    - s_alloc
    - s_alloc_state
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: 'stream *

      s_MD5E_make_stream(gs_memory_t *mem, byte *digest, int digest_size)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/smd5.c:92,1
    - Dst: gs_md5_append
      Src: /src/libspectre/ghostscript/base/smd5.c:94,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/smd5.c:95,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 101
    functionName: s_MD5C_process
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 0
    functionsReached:
    - gs_md5_append
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: "int s_MD5C_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/smd5.c:110,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/base/smd5.c:111,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/smd5.c:113,1
    - Dst: s_init_filter
      Src: /src/libspectre/ghostscript/base/smd5.c:118,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/smd5.c:124,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/smd5.c:125,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/smd5.c:126,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - mem
    - strm
    argTypes:
    - gs_memory_t*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 128
    functionName: s_MD5C_make_stream
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - s_alloc_state
    - s_alloc
    - s_init_filter
    - gs_free_object
    linkageType: ''
    returnType: stream
    signature: 'stream *

      s_MD5C_make_stream(gs_memory_t *mem, stream *strm)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/smd5.c:137,1
    - Dst: gs_md5_finish
      Src: /src/libspectre/ghostscript/base/smd5.c:142,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/smd5.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - s
    - buf
    - buf_length
    argTypes:
    - stream*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 149
    functionName: s_MD5C_get_digest
    functionSourceFile: /src/libspectre/ghostscript/base/smd5.c
    functionUses: 2
    functionsReached:
    - memcpy
    - min
    - gs_md5_finish
    linkageType: ''
    returnType: int
    signature: int s_MD5C_get_digest(stream *s, byte *buf, int buf_length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 54
    functionName: public_st_transfer_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxfmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_transfer_map()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - cf
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: gx_map_color_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfmap.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_map_color_frac(pgs,cf,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - cf
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: gx_map_color_frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfmap.h
    functionUses: 27
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_map_color_frac(pgs,cf,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pmap
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: gx_map_color_float
    functionSourceFile: /src/libspectre/ghostscript/base/gxfmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_map_color_float(pmap,v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - X
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 23
    functionName: APR_DECLARE
    functionSourceFile: /src/libspectre/ghostscript/base/gsstrtok.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: APR_DECLARE(X)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsstrtok.c:32,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsstrtok.c:44,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 3
    argNames:
    - str
    - sep
    - last
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 53
    functionName: apr_strtok
    functionSourceFile: /src/libspectre/ghostscript/base/gsstrtok.c
    functionUses: 0
    functionsReached:
    - strchr
    linkageType: ''
    returnType: void
    signature: void apr_strtok(char *str, const char *sep, char **last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apr_strtok
      Src: /src/libspectre/ghostscript/base/gsstrtok.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - str
    - sep
    - last
    argTypes:
    - char*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: gs_strtok
    functionSourceFile: /src/libspectre/ghostscript/base/gsstrtok.c
    functionUses: 6
    functionsReached:
    - apr_strtok
    linkageType: ''
    returnType: char
    signature: char * gs_strtok(char *str, const char *sep, char **last)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/base/gspaint.c:66,1
    - Dst: gs_setgray
      Src: /src/libspectre/ghostscript/base/gspaint.c:68,1
    - Dst: gs_fillpage
      Src: /src/libspectre/ghostscript/base/gspaint.c:70,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/base/gspaint.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 57
    functionDepth: 4
    functionLinenumber: 57
    functionLinenumberEnd: 74
    functionName: gs_erasepage
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 2
    functionsReached:
    - gs_setgray
    - gs_grestore
    - gs_gsave
    - gs_fillpage
    linkageType: ''
    returnType: int
    signature: int gs_erasepage(gs_gstate * pgs)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/base/gspaint.c:80,1
    - Dst: epo_check_and_install
      Src: /src/libspectre/ghostscript/base/gspaint.c:87,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:90,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gspaint.c:91,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspaint.c:94,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:97,1
    - Dst: gx_unset_alt_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:98,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:99,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:101,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:105,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:105,1
    - Dst: gsicc_mcm_begin_monitor
      Src: /src/libspectre/ghostscript/base/gspaint.c:113,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:117,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 118
    functionName: gs_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 1
    functionsReached:
    - gs_currentdevicecolor_inline
    - gx_unset_alt_dev_color
    - gx_set_dev_color
    - epo_check_and_install
    - gx_unset_dev_color
    - emprintf1
    - gsicc_mcm_begin_monitor
    - gs_currentdevice
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_fillpage(gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_scale_exp2_shared
      Src: /src/libspectre/ghostscript/base/gspaint.c:151,1
    - Dst: gx_cpath_scale_exp2_shared
      Src: /src/libspectre/ghostscript/base/gspaint.c:157,1
    - Dst: gx_cpath_scale_exp2_shared
      Src: /src/libspectre/ghostscript/base/gspaint.c:165,1
    - Dst: gx_path_scale_exp2_shared
      Src: /src/libspectre/ghostscript/base/gspaint.c:175,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 14
    argCount: 4
    argNames:
    - pgs
    - log2_scale_x
    - log2_scale_y
    - do_path
    argTypes:
    - gs_gstate*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 181
    functionName: scale_paths
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gx_cpath_scale_exp2_shared
    - gx_path_scale_exp2_shared
    linkageType: ''
    returnType: int
    signature: int scale_paths(gs_gstate * pgs, int log2_scale_x, int log2_scale_y,
      bool do_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - scale
    argTypes:
    - gs_gstate*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 194
    functionName: scale_dash_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scale_dash_pattern(gs_gstate * pgs, double scale)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:206,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/gspaint.c:207,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gspaint.c:217,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gspaint.c:218,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gspaint.c:219,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gspaint.c:220,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gspaint.c:221,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:222,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gspaint.c:224,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gspaint.c:236,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:242,1
    - Dst: gs_update_trans_marking_params
      Src: /src/libspectre/ghostscript/base/gspaint.c:243,1
    - Dst: gs_make_mem_abuf_device
      Src: /src/libspectre/ghostscript/base/gspaint.c:245,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:250,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gspaint.c:252,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/base/gspaint.c:255,1
    - Dst: scale_paths
      Src: /src/libspectre/ghostscript/base/gspaint.c:256,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 5
    argNames:
    - pgs
    - extra_x
    - extra_y
    - alpha_bits
    - devn
    argTypes:
    - gs_gstate*
    - fixed
    - fixed
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 202
    functionDepth: 6
    functionLinenumber: 202
    functionLinenumberEnd: 258
    functionName: alpha_buffer_init
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_make_mem_abuf_device
    - dev_proc
    - gs_update_trans_marking_params
    - gx_path_bbox
    - fixed2int
    - gs_alloc_struct
    - gs_free_object
    - gs_currentdevice_inline
    - scale_paths
    - gx_set_device_only
    - bitmap_raster
    - ilog2
    - fixed2int_ceiling
    linkageType: ''
    returnType: int
    signature: "int alpha_buffer_init(gs_gstate * pgs, fixed extra_x, fixed extra_y,
      int alpha_bits,\n                  bool devn)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:265,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:266,1
    - Dst: scale_paths
      Src: /src/libspectre/ghostscript/base/gspaint.c:269,1
    - Dst: gx_path_is_shared
      Src: /src/libspectre/ghostscript/base/gspaint.c:270,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/base/gspaint.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - pgs
    - newpath
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 274
    functionName: alpha_buffer_release
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gx_path_is_shared
    - gs_currentdevice_inline
    - scale_paths
    - gx_set_device_only
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int alpha_buffer_release(gs_gstate * pgs, bool newpath)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:298,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:300,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:302,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gspaint.c:305,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:309,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gspaint.c:313,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:315,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:320,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:325,1
    - Dst: color_is_devn
      Src: /src/libspectre/ghostscript/base/gspaint.c:326,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gspaint.c:327,1
    - Dst: alpha_buffer_bits
      Src: /src/libspectre/ghostscript/base/gspaint.c:328,1
    - Dst: alpha_buffer_init
      Src: /src/libspectre/ghostscript/base/gspaint.c:331,1
    - Dst: gx_fill_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:339,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:339,1
    - Dst: alpha_buffer_release
      Src: /src/libspectre/ghostscript/base/gspaint.c:342,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 2
    argNames:
    - pgs
    - rule
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 276
    functionDepth: 7
    functionLinenumber: 276
    functionLinenumberEnd: 347
    functionName: do_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_gstate_update_overprint
    - ensure_tag_is_set
    - gs_do_set_overprint
    - gx_set_dev_color
    - alpha_buffer_bits
    - gx_fill_path
    - alpha_buffer_init
    - gs_gstate_color_load
    - color_is_devn
    - alpha_buffer_release
    - color_is_pure
    - gs_currentdevicecolor_inline
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int do_fill(gs_gstate *pgs, int rule)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:358,1
    - Dst: gs_is_null_device
      Src: /src/libspectre/ghostscript/base/gspaint.c:366,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspaint.c:370,1
    - Dst: do_fill
      Src: /src/libspectre/ghostscript/base/gspaint.c:373,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspaint.c:375,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - rule
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 350
    functionDepth: 8
    functionLinenumber: 350
    functionLinenumberEnd: 378
    functionName: fill_with_rule
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gx_path_add_char_path
    - gs_newpath
    - do_fill
    - gs_is_null_device
    linkageType: ''
    returnType: int
    signature: int fill_with_rule(gs_gstate * pgs, int rule)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_with_rule
      Src: /src/libspectre/ghostscript/base/gspaint.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 380
    functionDepth: 9
    functionLinenumber: 380
    functionLinenumberEnd: 385
    functionName: gs_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 5
    functionsReached:
    - fill_with_rule
    linkageType: ''
    returnType: int
    signature: int gs_fill(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_with_rule
      Src: /src/libspectre/ghostscript/base/gspaint.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 9
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: gs_eofill
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 1
    functionsReached:
    - fill_with_rule
    linkageType: ''
    returnType: int
    signature: int gs_eofill(gs_gstate * pgs)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:418,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:420,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:422,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gspaint.c:425,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:430,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gspaint.c:442,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:444,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:453,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:458,1
    - Dst: color_is_devn
      Src: /src/libspectre/ghostscript/base/gspaint.c:459,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gspaint.c:460,1
    - Dst: alpha_buffer_bits
      Src: /src/libspectre/ghostscript/base/gspaint.c:461,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:469,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:469,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:470,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:470,1
    - Dst: gs_currentlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:472,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspaint.c:475,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspaint.c:475,1
    - Dst: gs_currentflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:476,1
    - Dst: alpha_buffer_init
      Src: /src/libspectre/ghostscript/base/gspaint.c:482,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:498,1
    - Dst: scale_dash_pattern
      Src: /src/libspectre/ghostscript/base/gspaint.c:499,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:500,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspaint.c:505,1
    - Dst: gx_stroke_add
      Src: /src/libspectre/ghostscript/base/gspaint.c:506,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:507,1
    - Dst: scale_dash_pattern
      Src: /src/libspectre/ghostscript/base/gspaint.c:508,1
    - Dst: gx_fill_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:510,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:510,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:514,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspaint.c:515,1
    - Dst: alpha_buffer_release
      Src: /src/libspectre/ghostscript/base/gspaint.c:517,1
    - Dst: gx_stroke_fill
      Src: /src/libspectre/ghostscript/base/gspaint.c:519,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 394
    functionDepth: 7
    functionLinenumber: 394
    functionLinenumberEnd: 527
    functionName: do_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_setlinewidth
    - scale_dash_pattern
    - max
    - gs_currentlinewidth
    - gs_setflat
    - color_is_pure
    - gs_currentdevicecolor_inline
    - gx_fill_path
    - gs_gstate_color_load
    - gx_stroke_fill
    - float2fixed
    - gs_gstate_update_overprint
    - gx_set_dev_color
    - alpha_buffer_bits
    - alpha_buffer_init
    - color_is_devn
    - gx_path_init_local
    - dev_proc
    - if_debug0m
    - gx_path_free
    - ensure_tag_is_set
    - gs_do_set_overprint
    - gs_currentflat
    - gx_stroke_add
    - alpha_buffer_release
    - fabs
    linkageType: ''
    returnType: int
    signature: int do_stroke(gs_gstate * pgs)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_strokepath
      Src: /src/libspectre/ghostscript/base/gspaint.c:545,1
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:549,1
    - Dst: gs_is_null_device
      Src: /src/libspectre/ghostscript/base/gspaint.c:554,1
    - Dst: do_stroke
      Src: /src/libspectre/ghostscript/base/gspaint.c:555,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspaint.c:559,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 530
    functionDepth: 8
    functionLinenumber: 530
    functionLinenumberEnd: 560
    functionName: gs_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 4
    functionsReached:
    - gs_strokepath
    - gs_newpath
    - do_stroke
    - gx_path_add_char_path
    - gs_is_null_device
    linkageType: ''
    returnType: int
    signature: int gs_stroke(gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspaint.c:569,1
    - Dst: gx_stroke_add
      Src: /src/libspectre/ghostscript/base/gspaint.c:570,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspaint.c:572,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gspaint.c:576,1
    - Dst: gx_path_is_void
      Src: /src/libspectre/ghostscript/base/gspaint.c:580,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspaint.c:583,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspaint.c:583,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspaint.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pgs
    - traditional
    argTypes:
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 563
    functionDepth: 4
    functionLinenumber: 563
    functionLinenumberEnd: 587
    functionName: gs_strokepath_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gx_path_is_void
    - gx_setcurrentpoint
    - gx_stroke_add
    - gx_path_init_local
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_strokepath_aux(gs_gstate * pgs, bool traditional)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_strokepath_aux
      Src: /src/libspectre/ghostscript/base/gspaint.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: gs_strokepath
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 1
    functionsReached:
    - gs_strokepath_aux
    linkageType: ''
    returnType: int
    signature: int gs_strokepath(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_strokepath_aux
      Src: /src/libspectre/ghostscript/base/gspaint.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: gs_strokepath2
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_strokepath_aux
    linkageType: ''
    returnType: int
    signature: int gs_strokepath2(gs_gstate * pgs)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:613,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:613,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:616,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:617,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gspaint.c:618,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gspaint.c:625,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:647,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:649,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:652,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gspaint.c:655,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:659,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:659,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:662,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:663,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gspaint.c:664,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:673,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gspaint.c:675,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:677,1
    - Dst: gs_swapcolors_quick
      Src: /src/libspectre/ghostscript/base/gspaint.c:683,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:687,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gspaint.c:689,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:691,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gspaint.c:695,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gspaint.c:703,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gspaint.c:705,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gspaint.c:707,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:714,1
    - Dst: gs_altdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:715,1
    - Dst: color_is_devn
      Src: /src/libspectre/ghostscript/base/gspaint.c:716,1
    - Dst: color_is_devn
      Src: /src/libspectre/ghostscript/base/gspaint.c:716,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gspaint.c:718,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gspaint.c:718,1
    - Dst: alpha_buffer_bits
      Src: /src/libspectre/ghostscript/base/gspaint.c:719,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:729,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:729,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:730,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspaint.c:730,1
    - Dst: gs_currentlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:734,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspaint.c:737,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspaint.c:737,1
    - Dst: gs_currentflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:738,1
    - Dst: alpha_buffer_init
      Src: /src/libspectre/ghostscript/base/gspaint.c:743,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:751,1
    - Dst: scale_dash_pattern
      Src: /src/libspectre/ghostscript/base/gspaint.c:752,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:753,1
    - Dst: gx_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:757,1
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/base/gspaint.c:760,1
    - Dst: scale_dash_pattern
      Src: /src/libspectre/ghostscript/base/gspaint.c:761,1
    - Dst: gs_setflat
      Src: /src/libspectre/ghostscript/base/gspaint.c:762,1
    - Dst: alpha_buffer_release
      Src: /src/libspectre/ghostscript/base/gspaint.c:763,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:767,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:767,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:770,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:771,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gspaint.c:772,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gspaint.c:781,1
    - Dst: gs_altdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:781,1
    - Dst: gs_altdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:784,1
    - Dst: gs_altdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gspaint.c:785,1
    - Dst: gx_pattern_cache_entry_set_lock
      Src: /src/libspectre/ghostscript/base/gspaint.c:786,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 124
    argCount: 3
    argNames:
    - pgs
    - rule
    - restart
    argTypes:
    - gs_gstate*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 601
    functionDepth: 7
    functionLinenumber: 601
    functionLinenumberEnd: 796
    functionName: do_fill_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_setlinewidth
    - scale_dash_pattern
    - max
    - gs_currentlinewidth
    - gs_setflat
    - color_is_pure
    - gs_currentdevicecolor_inline
    - gs_gstate_color_load
    - float2fixed
    - gx_fill_stroke_path
    - gx_pattern_cache_entry_set_lock
    - gx_set_dev_color
    - alpha_buffer_bits
    - alpha_buffer_init
    - color_is_devn
    - gx_dc_is_pattern1_color
    - dev_proc
    - if_debug0m
    - ensure_tag_is_set
    - gs_do_set_overprint
    - gs_currentflat
    - gs_swapcolors_quick
    - gs_altdevicecolor_inline
    - fabs
    - alpha_buffer_release
    linkageType: ''
    returnType: int
    signature: int do_fill_stroke(gs_gstate *pgs, int rule, int *restart)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:814,1
    - Dst: gs_strokepath
      Src: /src/libspectre/ghostscript/base/gspaint.c:823,1
    - Dst: gx_path_add_char_path
      Src: /src/libspectre/ghostscript/base/gspaint.c:826,1
    - Dst: gs_is_null_device
      Src: /src/libspectre/ghostscript/base/gspaint.c:832,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspaint.c:838,1
    - Dst: do_fill_stroke
      Src: /src/libspectre/ghostscript/base/gspaint.c:841,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/base/gspaint.c:843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pgs
    - rule
    - restart
    argTypes:
    - gs_gstate*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 799
    functionDepth: 8
    functionLinenumber: 799
    functionLinenumberEnd: 846
    functionName: fill_stroke_with_rule
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - gs_newpath
    - gs_strokepath
    - gx_path_add_char_path
    - do_fill_stroke
    - gs_is_null_device
    linkageType: ''
    returnType: int
    signature: int fill_stroke_with_rule(gs_gstate * pgs, int rule, int *restart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_stroke_with_rule
      Src: /src/libspectre/ghostscript/base/gspaint.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - restart
    argTypes:
    - gs_gstate*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 848
    functionDepth: 9
    functionLinenumber: 848
    functionLinenumberEnd: 853
    functionName: gs_fillstroke
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - fill_stroke_with_rule
    linkageType: ''
    returnType: int
    signature: int gs_fillstroke(gs_gstate * pgs, int *restart)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fill_stroke_with_rule
      Src: /src/libspectre/ghostscript/base/gspaint.c:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - restart
    argTypes:
    - gs_gstate*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 855
    functionDepth: 9
    functionLinenumber: 855
    functionLinenumberEnd: 860
    functionName: gs_eofillstroke
    functionSourceFile: /src/libspectre/ghostscript/base/gspaint.c
    functionUses: 0
    functionsReached:
    - fill_stroke_with_rule
    linkageType: ''
    returnType: int
    signature: int gs_eofillstroke(gs_gstate * pgs, int *restart)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:83,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:87,1
    - Dst: gp_gettmpdir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:89,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:90,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:92,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:92,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:93,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:95,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:97,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:99,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:100,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:101,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:109,1
    - Dst: mkstemp64
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:111,1
    - Dst: mkstemp
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:113,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:116,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:120,1
    - Dst: fcntl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:120,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:125,1
    - Dst: close
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:127,1
    - Dst: mktemp
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:135,1
    - Dst: gp_fopentemp
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:136,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:139,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:142,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - remove
    argTypes:
    - gs_memory_t*
    - char*
    - char[]
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 146
    functionName: gp_open_scratch_file_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 3
    functionsReached:
    - gp_file_name_is_absolute
    - strcat
    - fcntl
    - strlen
    - gp_gettmpdir
    - strcpy
    - close
    - emprintf1
    - gp_fopentemp
    - unlink
    - mktemp
    - memcpy
    - mkstemp64
    - fdopen
    - mkstemp
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file_impl(const gs_memory_t *mem,\n                          const
      char        *prefix,\n                                char         fname[gp_file_name_sizeof],\n
      \                         const char        *mode,\n                                int
      \         remove)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen64
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:153,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 157
    functionName: gp_fopen_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 3
    functionsReached:
    - fopen64
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_fopen_impl(gs_memory_t *mem, const char *fname, const char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: unlink
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 163
    functionName: gp_unlink_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 2
    functionsReached:
    - unlink
    linkageType: ''
    returnType: int
    signature: int gp_unlink_impl(gs_memory_t *mem, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rename
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - from
    - to
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 169
    functionName: gp_rename_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - rename
    linkageType: ''
    returnType: int
    signature: int gp_rename_impl(gs_memory_t *mem, const char *from, const char *to)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 174
    functionName: gp_stat_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - stat
    linkageType: ''
    returnType: int
    signature: int gp_stat_impl(const gs_memory_t *mem, const char *path, struct stat
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: gp_can_share_fdesc
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_can_share_fdesc(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:190,1
    - Dst: dup
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:193,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: gp_fdup_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - fdopen
    - dup
    - fileno
    linkageType: ''
    returnType: FILE
    signature: FILE *gp_fdup_impl(FILE *f, const char *mode)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pread
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:205,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:205,1
    - Dst: gp_ftell_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:208,1
    - Dst: gp_fseek_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:211,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:214,1
    - Dst: gp_fseek_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:217,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 222
    functionName: gp_pread_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - fread
    - fileno
    - gp_fseek_impl
    - pread
    - gp_ftell_impl
    linkageType: ''
    returnType: int
    signature: int gp_pread_impl(char *buf, size_t count, gs_offset_t offset, FILE
      *f)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pwrite
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:229,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:229,1
    - Dst: gp_ftell_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:232,1
    - Dst: gp_fseek_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:235,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:238,1
    - Dst: gp_fseek_impl
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:241,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: gp_pwrite_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - pwrite
    - fileno
    - gp_fseek_impl
    - gp_ftell_impl
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gp_pwrite_impl(const char *buf, size_t count, gs_offset_t offset,
      FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - mode
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 253
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool mode)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: string_match
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:300,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:302,1
    - Dst: dmlputs
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:304,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:306,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:307,1
    - Dst: errprintf
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:309,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:310,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 5
    argNames:
    - str
    - len
    - pstr
    - plen
    - mem
    argTypes:
    - byte*
    - uint
    - byte*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 313
    functionName: wmatch
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - string_match
    - dmprintf1
    - dmlputs
    - errprintf
    - dmputs
    linkageType: ''
    returnType: bool
    signature: "bool wmatch(const byte * str, uint len, const byte * pstr, uint plen,\n
      \      const gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - S
    - ','
    - L
    - ','
    - PS
    - ','
    - PL
    - ','
    - M
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 316
    functionName: wmatch
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: wmatch(S,L,PS,PL,M)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - str
    - ch
    - len
    argTypes:
    - char*
    - char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: rchr
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 96
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      rchr(char *str, char ch, int len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pfen
    argTypes:
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: popdir
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: bool
    signature: bool popdir(file_enum * pfen)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:373,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:387,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:391,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:394,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:401,1
    - Dst: rchr
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:418,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:433,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:435,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 438
    functionName: gp_enumerate_files_init_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - rchr
    - gs_alloc_bytes
    - gs_alloc_struct
    - memcpy
    - gs_free_object
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init_impl(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:455,1
    - Dst: opendir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:455,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:456,1
    - Dst: gp_enumerate_files_close
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:459,1
    - Dst: readdir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:463,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:467,1
    - Dst: closedir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:468,1
    - Dst: rchr
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:470,1
    - Dst: rchr
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:479,1
    - Dst: popdir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:486,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:487,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:490,1
    - Dst: gp_enumerate_files_close
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:491,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:496,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:497,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:497,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:503,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:505,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:509,1
    - Dst: wmatch
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:514,1
    - Dst: opendir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:523,1
    - Dst: closedir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:530,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:542,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:567,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:577,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:588,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 111
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 592
    functionName: gp_enumerate_files_next_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - rchr
    - strcmp
    - opendir
    - strlen
    - wmatch
    - popdir
    - closedir
    - gs_alloc_struct
    - memcpy
    - if_debug2m
    - readdir
    - gp_enumerate_files_close
    - if_debug0m
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen,
      char *ptr, uint maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:604,1
    - Dst: popdir
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:605,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:607,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:609,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 613
    functionName: gp_enumerate_files_close_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - popdir
    - gs_free_object
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close_impl(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftello64
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:627,1
    - Dst: ftello
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - strm
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 624
    functionDepth: 0
    functionLinenumber: 624
    functionLinenumberEnd: 631
    functionName: gp_ftell_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 3
    functionsReached:
    - ftello
    - ftello64
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t gp_ftell_impl(FILE *strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseeko64
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:636,1
    - Dst: fseeko
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - strm
    - offset
    - origin
    argTypes:
    - FILE*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: gp_fseek_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 3
    functionsReached:
    - fseeko
    - fseeko64
    linkageType: ''
    returnType: int
    signature: int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:651,1
    - Dst: fstat
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:655,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/base/gp_unifs.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 659
    functionName: gp_fseekable_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unifs.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - fileno
    - fstat
    linkageType: ''
    returnType: bool
    signature: bool gp_fseekable_impl(FILE *f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_alloc
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:36,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:40,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:42,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:47,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:48,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:49,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:50,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:55,1
    - Dst: gs_definefont
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:73,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 6
    argNames:
    - ppfont0
    - font
    - pcmap
    - wmode
    - psmat
    - mem
    argTypes:
    - gs_font_type0**
    - gs_font*
    - gs_cmap_t*
    - int
    - gs_matrix*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 78
    functionName: type0_from_cidfont_cmap
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0c.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct_array
    - gs_alloc_bytes
    - gs_definefont
    - gs_font_alloc
    - gs_make_identity
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int type0_from_cidfont_cmap(gs_font_type0 **ppfont0, gs_font *font,\n
      \                       gs_cmap_t *pcmap, int wmode, const gs_matrix *psmat,\n
      \                       gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_cmap_create_identity
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:88,1
    - Dst: type0_from_cidfont_cmap
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:92,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ppfont0
    - font
    - wmode
    - psmat
    - mem
    argTypes:
    - gs_font_type0**
    - gs_font*
    - int
    - gs_matrix*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: gs_font_type0_from_cidfont
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0c.c
    functionUses: 1
    functionsReached:
    - type0_from_cidfont_cmap
    - gs_cmap_create_identity
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_font_type0_from_cidfont(gs_font_type0 **ppfont0, gs_font *font,
      int wmode,\n                           const gs_matrix *psmat, gs_memory_t *mem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid2_from_type42
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:111,1
    - Dst: gs_cmap_from_type42_cmap
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:118,1
    - Dst: type0_from_cidfont_cmap
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:121,1
    - Dst: gs_font_type0_from_cidfont
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:124,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsfont0c.c:128,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - ppfont0
    - pfont42
    - wmode
    - use_cmap
    - mem
    argTypes:
    - gs_font_type0**
    - gs_font_type42*
    - int
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 105
    functionDepth: 4
    functionLinenumber: 105
    functionLinenumberEnd: 135
    functionName: gs_font_type0_from_type42
    functionSourceFile: /src/libspectre/ghostscript/base/gsfont0c.c
    functionUses: 0
    functionsReached:
    - gs_font_cid2_from_type42
    - type0_from_cidfont_cmap
    - gs_font_type0_from_cidfont
    - gs_cmap_from_type42_cmap
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_font_type0_from_type42(gs_font_type0 **ppfont0, gs_font_type42
      *pfont42,\n                          int wmode, bool use_cmap, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm8.c:51,1
    - Dst: bytes_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm8.c:52,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm8.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 55
    functionName: mem_mapped8_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bytes_fill_rectangle
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_mapped8_fill_rectangle(gx_device * dev,\n                           int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm8.c:74,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm8.c:75,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:76,1
    - Dst: is_color
      Src: /src/libspectre/ghostscript/base/gdevm8.c:80,1
    - Dst: is_color
      Src: /src/libspectre/ghostscript/base/gdevm8.c:81,1
    - Dst: mapped8_copy01
      Src: /src/libspectre/ghostscript/base/gdevm8.c:82,1
    - Dst: mapped8_copyN1
      Src: /src/libspectre/ghostscript/base/gdevm8.c:85,1
    - Dst: is_color
      Src: /src/libspectre/ghostscript/base/gdevm8.c:87,1
    - Dst: mapped8_copy0N
      Src: /src/libspectre/ghostscript/base/gdevm8.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 92
    functionName: mem_mapped8_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - mapped8_copyN1
    - mapped8_copy0N
    - declare_scan_ptr
    - mapped8_copy01
    - setup_rect
    - is_color
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mapped8_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: is_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is_color(c)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm8.c:154,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 91
    argCount: 9
    argNames:
    - dest
    - line
    - first_bit
    - sraster
    - draster
    - w
    - h
    - b0
    - b1
    argTypes:
    - chunk*
    - byte*
    - int
    - int
    - uint
    - int
    - int
    - byte
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 156
    functionName: mapped8_copy01
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 1
    functionsReached:
    - inc_ptr
    linkageType: ''
    returnType: void
    signature: "void mapped8_copy01(chunk * dest, const byte * line, int first_bit,\n
      \              int sraster, uint draster, int w, int h, byte b0, byte b1)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm8.c:229,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 8
    argNames:
    - dest
    - line
    - first_bit
    - sraster
    - draster
    - w
    - h
    - b1
    argTypes:
    - chunk*
    - byte*
    - int
    - int
    - uint
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 231
    functionName: mapped8_copyN1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 1
    functionsReached:
    - inc_ptr
    linkageType: ''
    returnType: void
    signature: "void mapped8_copyN1(chunk * dest, const byte * line, int first_bit,\n
      \              int sraster, uint draster, int w, int h, byte b1)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm8.c:304,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 89
    argCount: 8
    argNames:
    - dest
    - line
    - first_bit
    - sraster
    - draster
    - w
    - h
    - b0
    argTypes:
    - chunk*
    - byte*
    - int
    - int
    - uint
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 306
    functionName: mapped8_copy0N
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 1
    functionsReached:
    - inc_ptr
    linkageType: ''
    returnType: void
    signature: "void mapped8_copy0N(chunk * dest, const byte * line, int first_bit,\n
      \              int sraster, uint draster, int w, int h, byte b0)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm8.c:316,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: mem_mapped8_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_mapped8_copy_color(gx_device * dev,\n               const
      byte * base, int sourcex, int sraster, gx_bitmap_id id,\n                       int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm8.c:348,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm8.c:349,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:351,1
    - Dst: bytes_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm8.c:352,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 355
    functionName: mem8_word_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - bytes_fill_rectangle
    - mem_swap_byte_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem8_word_fill_rectangle(gx_device * dev, int x, int y, int w,
      int h,\n                         gx_color_index color)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm8.c:368,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm8.c:369,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:372,1
    - Dst: mem_mapped8_copy_mono
      Src: /src/libspectre/ghostscript/base/gdevm8.c:373,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 377
    functionName: mem8_word_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - mem_mapped8_copy_mono
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem8_word_copy_mono(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n        int x, int y, int
      w, int h, gx_color_index zero, gx_color_index one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm8.c:389,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm8.c:390,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:392,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:393,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm8.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 396
    functionName: mem8_word_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm8.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - scan_line_base
    - mem_swap_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem8_word_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                     int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/spprint.c:32,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - s
    - ptr
    - count
    argTypes:
    - stream*
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: stream_write
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 49
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int stream_write(stream * s, const void *ptr, uint count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/spprint.c:40,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/spprint.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: stream_puts
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 99
    functionsReached:
    - strlen
    - sputs
    linkageType: ''
    returnType: int
    signature: int stream_puts(stream * s, const char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/spprint.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - s
    - format
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: pprintf_scan
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintf_scan(stream * s, const char *format)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/spprint.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - s
    - str
    argTypes:
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 73
    functionName: pputs_short
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void pputs_short(stream *s, const char *str)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:79,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:84,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:86,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:87,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:88,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - s
    - format
    - v
    argTypes:
    - stream*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 89
    functionName: pprintd1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 25
    functionsReached:
    - gs_sprintf
    - pputs_short
    - pprintf_scan
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintd1(stream * s, const char *format, int v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/spprint.c:93,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/spprint.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - v1
    - v2
    argTypes:
    - stream*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 6
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: pprintd2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 7
    functionsReached:
    - pprintd1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintd2(stream * s, const char *format, int v1, int v2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/base/spprint.c:98,1
    - Dst: pprintd1
      Src: /src/libspectre/ghostscript/base/spprint.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    argTypes:
    - stream*
    - char*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 7
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: pprintd3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 2
    functionsReached:
    - pprintd2
    - pprintd1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintd3(stream * s, const char *format, int v1, int v2, int v3)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/base/spprint.c:103,1
    - Dst: pprintd2
      Src: /src/libspectre/ghostscript/base/spprint.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    - v4
    argTypes:
    - stream*
    - char*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 7
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: pprintd4
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 4
    functionsReached:
    - pprintd2
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintd4(stream * s, const char *format, int v1, int v2, int v3, int v4)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:111,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:116,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:118,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:120,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/spprint.c:121,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:123,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/spprint.c:123,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/spprint.c:127,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:131,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:132,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - s
    - format
    - v
    argTypes:
    - stream*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 108
    functionDepth: 5
    functionLinenumber: 108
    functionLinenumberEnd: 133
    functionName: pprintg1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 23
    functionsReached:
    - pprintf_scan
    - pputs_short
    - gs_sprintf
    - strchr
    - fabs
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintg1(stream * s, const char *format, double v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/spprint.c:137,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/spprint.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - v1
    - v2
    argTypes:
    - stream*
    - char*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 134
    functionDepth: 6
    functionLinenumber: 134
    functionLinenumberEnd: 138
    functionName: pprintg2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 11
    functionsReached:
    - pprintg1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintg2(stream * s, const char *format, double v1, double v2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/base/spprint.c:142,1
    - Dst: pprintg1
      Src: /src/libspectre/ghostscript/base/spprint.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    argTypes:
    - stream*
    - char*
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: pprintg3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 2
    functionsReached:
    - pprintg1
    - pprintg2
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintg3(stream * s, const char *format, double v1, double v2, double v3)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/base/spprint.c:148,1
    - Dst: pprintg2
      Src: /src/libspectre/ghostscript/base/spprint.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    - v4
    argTypes:
    - stream*
    - char*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 144
    functionDepth: 7
    functionLinenumber: 144
    functionLinenumberEnd: 149
    functionName: pprintg4
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 11
    functionsReached:
    - pprintg2
    linkageType: ''
    returnType: char
    signature: "char *\npprintg4(stream * s, const char *format, double v1, double
      v2, double v3,\n         double v4)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintg3
      Src: /src/libspectre/ghostscript/base/spprint.c:154,1
    - Dst: pprintg3
      Src: /src/libspectre/ghostscript/base/spprint.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    - v4
    - v5
    - v6
    argTypes:
    - stream*
    - char*
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 150
    functionDepth: 8
    functionLinenumber: 150
    functionLinenumberEnd: 155
    functionName: pprintg6
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 8
    functionsReached:
    - pprintg3
    linkageType: ''
    returnType: char
    signature: "char *\npprintg6(stream * s, const char *format, double v1, double
      v2, double v3,\n         double v4, double v5, double v6)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:161,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:166,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:168,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:169,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:170,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - s
    - format
    - v
    argTypes:
    - stream*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 5
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: pprintld1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 35
    functionsReached:
    - gs_sprintf
    - pputs_short
    - pprintf_scan
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintld1(stream *s, const char *format, long v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/base/spprint.c:175,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/base/spprint.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - v1
    - v2
    argTypes:
    - stream*
    - char*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 172
    functionDepth: 6
    functionLinenumber: 172
    functionLinenumberEnd: 176
    functionName: pprintld2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 6
    functionsReached:
    - pprintld1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintld2(stream *s, const char *format, long v1, long v2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintld2
      Src: /src/libspectre/ghostscript/base/spprint.c:180,1
    - Dst: pprintld1
      Src: /src/libspectre/ghostscript/base/spprint.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    argTypes:
    - stream*
    - char*
    - long
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 177
    functionDepth: 7
    functionLinenumber: 177
    functionLinenumberEnd: 181
    functionName: pprintld3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 2
    functionsReached:
    - pprintld2
    - pprintld1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintld3(stream *s, const char *format, long v1, long v2, long v3)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:187,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/spprint.c:189,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:198,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:200,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:201,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:202,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - s
    - format
    - v
    argTypes:
    - stream*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 184
    functionDepth: 5
    functionLinenumber: 184
    functionLinenumberEnd: 203
    functionName: pprintzd1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 1
    functionsReached:
    - pprintf_scan
    - pputs_short
    - strlen
    - gs_sprintf
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintzd1(stream *s, const char *format, size_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintzd1
      Src: /src/libspectre/ghostscript/base/spprint.c:207,1
    - Dst: pprintzd1
      Src: /src/libspectre/ghostscript/base/spprint.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - v1
    - v2
    argTypes:
    - stream*
    - char*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 204
    functionDepth: 6
    functionLinenumber: 204
    functionLinenumberEnd: 208
    functionName: pprintzd2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprintzd1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintzd2(stream *s, const char *format, size_t v1, size_t v2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprintzd2
      Src: /src/libspectre/ghostscript/base/spprint.c:212,1
    - Dst: pprintzd1
      Src: /src/libspectre/ghostscript/base/spprint.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    argTypes:
    - stream*
    - char*
    - size_t
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 7
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: pprintzd3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprintzd2
    - pprintzd1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprintzd3(stream *s, const char *format, size_t v1, size_t v2, size_t v3)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:219,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/spprint.c:221,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:230,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/spprint.c:232,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:233,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - s
    - format
    - v
    argTypes:
    - stream*
    - char*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 216
    functionDepth: 5
    functionLinenumber: 216
    functionLinenumberEnd: 235
    functionName: pprinti64d1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 1
    functionsReached:
    - pprintf_scan
    - pputs_short
    - strlen
    - gs_sprintf
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprinti64d1(stream *s, const char *format, int64_t v)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprinti64d1
      Src: /src/libspectre/ghostscript/base/spprint.c:239,1
    - Dst: pprinti64d1
      Src: /src/libspectre/ghostscript/base/spprint.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - v1
    - v2
    argTypes:
    - stream*
    - char*
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 6
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: pprinti64d2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprinti64d1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprinti64d2(stream *s, const char *format, int64_t v1, int64_t v2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprinti64d2
      Src: /src/libspectre/ghostscript/base/spprint.c:244,1
    - Dst: pprinti64d1
      Src: /src/libspectre/ghostscript/base/spprint.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - v1
    - v2
    - v3
    argTypes:
    - stream*
    - char*
    - int64_t
    - int64_t
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 241
    functionDepth: 7
    functionLinenumber: 241
    functionLinenumberEnd: 245
    functionName: pprinti64d3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprinti64d1
    - pprinti64d2
    linkageType: ''
    returnType: char
    signature: 'char *

      pprinti64d3(stream *s, const char *format, int64_t v1, int64_t v2, int64_t v3)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:251,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/spprint.c:255,1
    - Dst: pputs_short
      Src: /src/libspectre/ghostscript/base/spprint.c:257,1
    - Dst: pprintf_scan
      Src: /src/libspectre/ghostscript/base/spprint.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - s
    - format
    - str
    argTypes:
    - stream*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 259
    functionName: pprints1
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 32
    functionsReached:
    - pputs_short
    - pprintf_scan
    - lprintf1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprints1(stream * s, const char *format, const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/base/spprint.c:263,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/base/spprint.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - s
    - format
    - str1
    - str2
    argTypes:
    - stream*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: pprints2
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprints1
    linkageType: ''
    returnType: char
    signature: 'char *

      pprints2(stream * s, const char *format, const char *str1, const char *str2)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pprints2
      Src: /src/libspectre/ghostscript/base/spprint.c:269,1
    - Dst: pprints1
      Src: /src/libspectre/ghostscript/base/spprint.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - s
    - format
    - str1
    - str2
    - str3
    argTypes:
    - stream*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: pprints3
    functionSourceFile: /src/libspectre/ghostscript/base/spprint.c
    functionUses: 0
    functionsReached:
    - pprints2
    - pprints1
    linkageType: ''
    returnType: char
    signature: "char *\npprints3(stream * s, const char *format, const char *str1,
      const char *str2,\n         const char *str3)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: fastfloor
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fastfloor(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_white
      Src: /src/libspectre/ghostscript/base/gximono.c:74,1
    - Dst: gx_device_black
      Src: /src/libspectre/ghostscript/base/gximono.c:75,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:78,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ht
    - arg
    argTypes:
    - cal_halftone_data_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: halftone_callback
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - gx_device_white
    - dev_proc
    - gx_device_black
    linkageType: ''
    returnType: void
    signature: void halftone_callback(cal_halftone_data_t *ht, void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gximono.c:100,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gximono.c:107,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gximono.c:115,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gximono.c:116,1
    - Dst: cal_halftone_init
      Src: /src/libspectre/ghostscript/base/gximono.c:117,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gximono.c:126,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gximono.c:127,1
    - Dst: gx_ht_construct_threshold
      Src: /src/libspectre/ghostscript/base/gximono.c:134,1
    - Dst: cal_halftone_add_screen
      Src: /src/libspectre/ghostscript/base/gximono.c:137,1
    - Dst: cal_halftone_fin
      Src: /src/libspectre/ghostscript/base/gximono.c:152,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 154
    functionName: halftone_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 3
    functionsReached:
    - cal_halftone_fin
    - gx_device_must_halftone
    - gx_ht_construct_threshold
    - fixed2int
    - dda_translate
    - cal_halftone_init
    - cal_halftone_add_screen
    - fixed2int_ceiling
    linkageType: ''
    returnType: cal_halftone
    signature: 'cal_halftone *

      halftone_init(gx_image_enum *penum)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gx_transfer_is_monotonic
      Src: /src/libspectre/ghostscript/base/gximono.c:198,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:208,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gximono.c:219,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gximono.c:225,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gximono.c:236,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gximono.c:242,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gximono.c:250,1
    - Dst: check_cie_range
      Src: /src/libspectre/ghostscript/base/gximono.c:253,1
    - Dst: get_cie_range
      Src: /src/libspectre/ghostscript/base/gximono.c:256,1
    - Dst: image_init_color_cache
      Src: /src/libspectre/ghostscript/base/gximono.c:265,1
    - Dst: halftone_init
      Src: /src/libspectre/ghostscript/base/gximono.c:268,1
    - Dst: gxht_thresh_image_init
      Src: /src/libspectre/ghostscript/base/gximono.c:276,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:290,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gximono.c:295,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gximono.c:298,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gximono.c:298,1
    - Dst: gx_image_scale_mask_colors
      Src: /src/libspectre/ghostscript/base/gximono.c:305,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gximono.c:307,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gximono.c:309,1
    - Dst: image_init_clues
      Src: /src/libspectre/ghostscript/base/gximono.c:313,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 2
    argNames:
    - penum
    - render_fn
    argTypes:
    - gx_image_enum*
    - irender_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 157
    functionDepth: 4
    functionLinenumber: 157
    functionLinenumberEnd: 317
    functionName: gs_image_class_3_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - gs_color_space_is_PSCIE
    - gsicc_get_link
    - float2fixed
    - gs_color_space_get_index
    - color_set_null
    - gx_device_must_halftone
    - gx_transfer_is_monotonic
    - get_cie_range
    - image_init_color_cache
    - halftone_init
    - fixed2float
    - check_cie_range
    - gx_image_scale_mask_colors
    - image_init_clues
    - gxht_thresh_image_init
    - color_is_pure
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int gs_image_class_3_mono(gx_image_enum * penum, irender_proc_t *render_fn)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/base/gximono.c:329,1
    - Dst: color_is_set
      Src: /src/libspectre/ghostscript/base/gximono.c:334,1
    - Dst: color_set_null
      Src: /src/libspectre/ghostscript/base/gximono.c:336,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:355,1
    - Dst: gx_color_load_select
      Src: /src/libspectre/ghostscript/base/gximono.c:356,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 11
    argNames:
    - sample_value
    - masked
    - mask_base
    - mask_limit
    - ppdevc
    - cc
    - pcs
    - pgs
    - dev
    - gs_color_select_source
    - penum
    argTypes:
    - byte
    - bool
    - uint
    - uint
    - gx_device_color**
    - gs_client_color*
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 361
    functionName: image_set_gray
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - cs_proc_remap_color
    - color_set_null
    - gx_color_load_select
    - color_is_pure
    - color_is_set
    linkageType: ''
    returnType: int
    signature: "int image_set_gray(byte sample_value, const bool masked, uint mask_base,\n
      \               uint mask_limit, gx_device_color **ppdevc, gs_client_color *cc,\n
      \               const gs_color_space *pcs, const gs_gstate *pgs,\n                gx_device
      * dev, gs_color_select_t gs_color_select_source,\n                gx_image_enum
      * penum)"
  - BBCount: 94
    BranchProfiles: []
    Callsites:
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/base/gximono.c:379,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:431,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:455,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:456,1
    - Dst: dev_proc_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gximono.c:457,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:458,1
    - Dst: gx_color_load
      Src: /src/libspectre/ghostscript/base/gximono.c:470,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gximono.c:495,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:498,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:500,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:502,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:511,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:517,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:521,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:525,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:532,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:543,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gximono.c:572,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:576,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:581,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:610,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:611,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:620,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:621,1
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gximono.c:639,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:640,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:641,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:642,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:653,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:654,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:660,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:666,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:676,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:681,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gximono.c:684,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:695,1
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gximono.c:704,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:705,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:706,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:707,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:718,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:719,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:725,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:731,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:741,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:746,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gximono.c:749,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:760,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:782,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:787,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:800,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:801,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:809,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:814,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gximono.c:817,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gximono.c:818,1
    - Dst: dev_proc_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gximono.c:836,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximono.c:837,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:838,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gximono.c:839,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gximono.c:842,1
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gximono.c:847,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:851,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:853,1
    - Dst: dda_step_add
      Src: /src/libspectre/ghostscript/base/gximono.c:855,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:864,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:870,1
    - Dst: dda_state_next
      Src: /src/libspectre/ghostscript/base/gximono.c:874,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:878,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gximono.c:883,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gximono.c:884,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:904,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gximono.c:910,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:919,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:924,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gximono.c:928,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:941,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gximono.c:945,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gximono.c:948,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gximono.c:949,1
    - Dst: image_set_gray
      Src: /src/libspectre/ghostscript/base/gximono.c:964,1
    - Dst: IMAGE_SET_GRAY
      Src: /src/libspectre/ghostscript/base/gximono.c:969,1
    - Dst: gx_fill_rectangle_device_rop
      Src: /src/libspectre/ghostscript/base/gximono.c:971,1
    CyclomaticComplexity: 172
    EdgeCount: 172
    ICount: 406
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 985
    functionName: image_render_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - if_debug2m
    - cs_proc_remap_color
    - IMAGE_SET_GRAY
    - gx_fill_rectangle_device_rop
    - image_set_gray
    - dda_state_next
    - dev_proc_fill_rectangle
    - fixed2int_pixround
    - fixed2int_var
    - dda_step_add
    - gx_color_load
    - dev_proc_fill_parallelogram
    - dda_translate
    - color_is_pure
    - dda_advance
    - dda_current
    - dda_next
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int image_render_mono(gx_image_enum * penum, const byte * buffer,
      int data_x,\n                  uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sample_value
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 410
    functionName: IMAGE_SET_GRAY
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMAGE_SET_GRAY(sample_value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cal_halftone_next_line_required
      Src: /src/libspectre/ghostscript/base/gximono.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - penum
    - dev
    argTypes:
    - gx_image_enum*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 993
    functionName: image_render_mono_ht_cal_skip_line
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - cal_halftone_next_line_required
    linkageType: ''
    returnType: int
    signature: "int image_render_mono_ht_cal_skip_line(gx_image_enum *penum,\n                                   gx_device
      \    *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cal_halftone_process_planar
      Src: /src/libspectre/ghostscript/base/gximono.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - penum
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 1006
    functionName: image_render_mono_ht_cal
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - cal_halftone_process_planar
    linkageType: ''
    returnType: int
    signature: "int image_render_mono_ht_cal(gx_image_enum * penum, const byte * buffer,
      int data_x,\n    uint w, int h, gx_device * dev)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: dda_translate
      Src: /src/libspectre/ghostscript/base/gximono.c:1057,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1065,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gximono.c:1066,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1079,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gximono.c:1079,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximono.c:1082,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1093,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gximono.c:1093,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1095,1
    - Dst: gxht_dda_length
      Src: /src/libspectre/ghostscript/base/gximono.c:1096,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1150,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1150,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximono.c:1163,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1174,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1175,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1175,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1187,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1188,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1188,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1205,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1206,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1206,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1225,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1234,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1235,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1235,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1267,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1268,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1268,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1278,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1279,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1279,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1294,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1295,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1295,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1309,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1310,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1310,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1334,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1335,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1335,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1346,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1347,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1347,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1365,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1366,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1366,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gximono.c:1382,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gximono.c:1383,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gximono.c:1383,1
    - Dst: gxht_thresh_planes
      Src: /src/libspectre/ghostscript/base/gximono.c:1408,1
    CyclomaticComplexity: 75
    EdgeCount: 75
    ICount: 283
    argCount: 6
    argNames:
    - penum_orig
    - buffer
    - data_x
    - w
    - h
    - dev
    argTypes:
    - gx_image_enum*
    - byte*
    - int
    - uint
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1412
    functionName: image_render_mono_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gximono.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gxht_thresh_planes
    - fixed2int_rounded
    - fixed2int_var_rounded
    - gxht_dda_length
    - memset
    - dda_translate
    - memcpy
    - dda_current
    - dda_next
    linkageType: ''
    returnType: int
    signature: "int image_render_mono_ht(gx_image_enum * penum_orig, const byte *
      buffer, int data_x,\n                  uint w, int h, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: e1
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: E1
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 56
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: E1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: r1
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r1(i,elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: R1
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R1(i,elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_n
      Src: /src/libspectre/ghostscript/base/gsgstate.c:121,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsgstate.c:123,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsgstate.c:126,1
    - Dst: gs_cspace_new_DeviceRGB
      Src: /src/libspectre/ghostscript/base/gsgstate.c:138,1
    - Dst: gs_cspace_new_DeviceCMYK
      Src: /src/libspectre/ghostscript/base/gsgstate.c:139,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsgstate.c:141,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gsgstate.c:142,1
    - Dst: gsicc_manager_new
      Src: /src/libspectre/ghostscript/base/gsgstate.c:143,1
    - Dst: gsicc_profilecache_new
      Src: /src/libspectre/ghostscript/base/gsgstate.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - pgs
    - mem
    argTypes:
    - gs_gstate*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 149
    functionName: gs_gstate_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 3
    functionsReached:
    - gs_cspace_new_DeviceCMYK
    - gsicc_manager_new
    - rc_alloc_struct_n
    - gs_cspace_new_DeviceRGB
    - gsicc_profilecache_new
    - return_error
    - gsicc_cache_new
    - gs_next_ids
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gs_gstate_initialize(gs_gstate * pgs, gs_memory_t *
      mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:155,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:156,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:157,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:158,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:159,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:160,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:161,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:162,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:163,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:164,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:165,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:166,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:167,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:168,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:169,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsgstate.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: gs_gstate_copied
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 1
    functionsReached:
    - rc_increment
    linkageType: ''
    returnType: void
    signature: void gs_gstate_copied(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:182,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:183,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:184,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:185,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:186,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:187,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:188,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:189,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:190,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:191,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:192,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:193,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:194,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:195,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:196,1
    - Dst: RCCOPY
      Src: /src/libspectre/ghostscript/base/gsgstate.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pto
    - pfrom
    argTypes:
    - gs_gstate*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: gs_gstate_pre_assign
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 1
    functionsReached:
    - RCCOPY
    linkageType: ''
    returnType: void
    signature: void gs_gstate_pre_assign(gs_gstate *pto, const gs_gstate *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: RCCOPY
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCCOPY(element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:212,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:213,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:214,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:215,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:216,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:217,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:218,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:219,1
    - Dst: gx_device_halftone_release
      Src: /src/libspectre/ghostscript/base/gsgstate.c:225,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:227,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:228,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:229,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:230,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:231,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:232,1
    - Dst: RCDECR
      Src: /src/libspectre/ghostscript/base/gsgstate.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 235
    functionName: gs_gstate_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 2
    functionsReached:
    - RCDECR
    - gx_device_halftone_release
    linkageType: ''
    returnType: void
    signature: void gs_gstate_release(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - element
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    functionName: RCDECR
    functionSourceFile: /src/libspectre/ghostscript/base/gsgstate.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RCDECR(element)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: public_st_function
    functionSourceFile: /src/libspectre/ghostscript/base/gxfunc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_function()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 35
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX( a, b )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: ABS
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS( a )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: HANDLE_Val
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Val( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    functionName: HANDLE_Engine
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Engine( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: HANDLE_Face
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Face( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    functionName: HANDLE_Instance
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Instance( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    functionName: HANDLE_Glyph
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Glyph( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: HANDLE_CharMap
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_CharMap( handle )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - handle
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: HANDLE_Set
    functionSourceFile: /src/libspectre/ghostscript/base/tttypes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HANDLE_Set( handle, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pal
    - ','
    - str
    - ','
    - parsed
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: arg_push_string
    functionSourceFile: /src/libspectre/ghostscript/base/gsargs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arg_push_string(pal, str, parsed)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    functionName: fgetchar
    functionSourceFile: /src/libspectre/ghostscript/base/gsio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fgetchar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: fputchar
    functionSourceFile: /src/libspectre/ghostscript/base/gsio.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fputchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: getchar
    functionSourceFile: /src/libspectre/ghostscript/base/gsio.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: getchar()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: putchar
    functionSourceFile: /src/libspectre/ghostscript/base/gsio.h
    functionUses: 36
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putchar(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: puts
    functionSourceFile: /src/libspectre/ghostscript/base/gsio.h
    functionUses: 412
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: puts(s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_gstate_setscreenphase
      Src: /src/libspectre/ghostscript/base/gsht.c:196,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gsht.c:207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 4
    argNames:
    - pgs
    - x
    - y
    - select
    argTypes:
    - gs_gstate*
    - int
    - int
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 209
    functionName: gs_setscreenphase
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - gx_gstate_setscreenphase
    - gx_unset_dev_color
    linkageType: ''
    returnType: int
    signature: int gs_setscreenphase(gs_gstate * pgs, int x, int y, gs_color_select_t
      select)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsht.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pgs
    - pphase
    - select
    argTypes:
    - gs_gstate*
    - gs_int_point*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 219
    functionName: gs_currentscreenphase_pgs
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_currentscreenphase_pgs(const gs_gstate * pgs, gs_int_point
      * pphase,\n                      gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentscreenphase_pgs
      Src: /src/libspectre/ghostscript/base/gsht.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pgs
    - pphase
    - select
    argTypes:
    - gs_gstate*
    - gs_int_point*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: gs_currentscreenphase
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gs_currentscreenphase_pgs
    linkageType: ''
    returnType: int
    signature: "int gs_currentscreenphase(const gs_gstate * pgs, gs_int_point * pphase,\n
      \                     gs_color_select_t select)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - pht
    argTypes:
    - gs_gstate*
    - gs_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 235
    functionName: gs_currenthalftone
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_currenthalftone(gs_gstate * pgs, gs_halftone * pht)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_screen_init_memory
      Src: /src/libspectre/ghostscript/base/gsht.c:245,1
    - Dst: gs_screen_currentpoint
      Src: /src/libspectre/ghostscript/base/gsht.c:249,1
    - Dst: gs_screen_next
      Src: /src/libspectre/ghostscript/base/gsht.c:250,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 5
    argNames:
    - penum
    - pgs
    - phsp
    - accurate
    - mem
    argTypes:
    - gs_screen_enum*
    - gs_gstate*
    - gs_screen_halftone*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 240
    functionDepth: 3
    functionLinenumber: 240
    functionLinenumberEnd: 253
    functionName: gx_ht_process_screen_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gs_screen_next
    - gs_screen_init_memory
    - gs_screen_currentpoint
    linkageType: ''
    returnType: int
    signature: "int gx_ht_process_screen_memory(gs_screen_enum * penum, gs_gstate
      * pgs,\n                gs_screen_halftone * phsp, bool accurate, gs_memory_t
      * mem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gsht.c:268,1
    - Dst: ht_order_full_height
      Src: /src/libspectre/ghostscript/base/gsht.c:272,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsht.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsht.c:283,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:284,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsht.c:290,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:294,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsht.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 8
    argNames:
    - porder
    - width
    - height
    - num_levels
    - num_bits
    - strip_shift
    - procs
    - mem
    argTypes:
    - gx_ht_order*
    - uint
    - uint
    - uint
    - uint
    - uint
    - gx_ht_order_procs_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 304
    functionName: gx_ht_alloc_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - ht_order_full_height
    - gs_alloc_byte_array
    - memset
    - return_error
    - bitmap_raster
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_ht_alloc_ht_order(gx_ht_order * porder, uint width, uint height,\n
      \                    uint num_levels, uint num_bits, uint strip_shift,\n                     const
      gx_ht_order_procs_t *procs, gs_memory_t * mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:316,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsht.c:322,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsht.c:324,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsht.c:327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pdest
    - psrc
    - mem
    argTypes:
    - gx_ht_order*
    - gx_ht_order*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 329
    functionName: gx_ht_copy_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - gx_ht_alloc_ht_order
    - memcpy
    - rc_increment
    linkageType: ''
    returnType: int
    signature: int gx_ht_copy_ht_order(gx_ht_order * pdest, gx_ht_order * psrc, gs_memory_t
      * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gsht.c:343,1
    - Dst: ht_order_full_height
      Src: /src/libspectre/ghostscript/base/gsht.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 2
    argNames:
    - pdest
    - psrc
    argTypes:
    - gx_ht_order*
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 356
    functionName: gx_ht_move_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - bitmap_raster
    - ht_order_full_height
    linkageType: ''
    returnType: void
    signature: void gx_ht_move_ht_order(gx_ht_order * pdest, gx_ht_order * psrc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_cell_values
      Src: /src/libspectre/ghostscript/base/gsht.c:368,1
    - Dst: gx_ht_alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - porder
    - width
    - height
    - strip_shift
    - num_levels
    - mem
    argTypes:
    - gx_ht_order*
    - uint
    - uint
    - uint
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 376
    functionName: gx_ht_alloc_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gx_ht_alloc_ht_order
    - gx_compute_cell_values
    linkageType: ''
    returnType: int
    signature: "int gx_ht_alloc_order(gx_ht_order * porder, uint width, uint height,\n
      \                 uint strip_shift, uint num_levels, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_cell_values
      Src: /src/libspectre/ghostscript/base/gsht.c:394,1
    - Dst: gx_ht_alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - porder
    - width
    - height
    - num_levels
    - mem
    argTypes:
    - gx_ht_order*
    - uint
    - uint
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 382
    functionDepth: 2
    functionLinenumber: 382
    functionLinenumberEnd: 401
    functionName: gx_ht_alloc_threshold_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gx_ht_alloc_ht_order
    - gx_compute_cell_values
    linkageType: ''
    returnType: int
    signature: "int gx_ht_alloc_threshold_order(gx_ht_order * porder, uint width,
      uint height,\n                            uint num_levels, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_cell_values
      Src: /src/libspectre/ghostscript/base/gsht.c:416,1
    - Dst: gx_ht_alloc_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:417,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - porder
    - width
    - height
    - num_levels
    - num_bits
    - mem
    argTypes:
    - gx_ht_order*
    - uint
    - uint
    - uint
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 423
    functionName: gx_ht_alloc_client_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gx_ht_alloc_ht_order
    - gx_compute_cell_values
    linkageType: ''
    returnType: int
    signature: "int gx_ht_alloc_client_order(gx_ht_order * porder, uint width, uint
      height,\n                         uint num_levels, uint num_bits, gs_memory_t
      * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: compare_samples
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int compare_samples(const void *p1, const void *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/gsht.c:449,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsht.c:452,1
    - Dst: dlputs
      Src: /src/libspectre/ghostscript/base/gsht.c:455,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/base/gsht.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - recs
    - N
    argTypes:
    - gx_ht_bit*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 462
    functionName: gx_sort_ht_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - dlputs
    - qsort
    - gs_debug_c
    - dlprintf3
    linkageType: ''
    returnType: void
    signature: void gx_sort_ht_order(gx_ht_bit * recs, uint N)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_sort_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:485,1
    - Dst: if_debug5
      Src: /src/libspectre/ghostscript/base/gsht.c:486,1
    - Dst: gx_ht_construct_bits
      Src: /src/libspectre/ghostscript/base/gsht.c:508,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - porder
    argTypes:
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 509
    functionName: gx_ht_construct_spot_order
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - if_debug5
    - gx_ht_construct_bits
    - gx_sort_ht_order
    linkageType: ''
    returnType: void
    signature: void gx_ht_construct_spot_order(gx_ht_order * porder)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gsht.c:515,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/gsht.c:521,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - bit
    - width
    - bit_num
    argTypes:
    - gx_ht_bit*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 534
    functionName: gx_ht_construct_bit
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - size_of
    - bitmap_raster
    linkageType: ''
    returnType: void
    signature: void gx_ht_construct_bit(gx_ht_bit * bit, int width, int bit_num)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_construct_bit
      Src: /src/libspectre/ghostscript/base/gsht.c:548,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsht.c:550,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gsht.c:551,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gsht.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - porder
    argTypes:
    - gx_ht_order*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 539
    functionDepth: 2
    functionLinenumber: 539
    functionLinenumberEnd: 559
    functionName: gx_ht_construct_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gx_ht_construct_bit
    - gs_debug_c
    - dmlprintf1
    - dmlprintf3
    linkageType: ''
    returnType: void
    signature: void gx_ht_construct_bits(gx_ht_order * porder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_free_cache
      Src: /src/libspectre/ghostscript/base/gsht.c:569,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsht.c:572,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:575,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:577,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:580,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - porder
    - mem
    - free_cache
    argTypes:
    - gx_ht_order*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 587
    functionName: gx_ht_order_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 5
    functionsReached:
    - gx_ht_free_cache
    - gs_free_object
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_ht_order_release(gx_ht_order * porder, gs_memory_t * mem, bool
      free_cache)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gsht.c:602,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:604,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gsht.c:609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pdht
    - mem
    argTypes:
    - gx_device_halftone*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 610
    functionName: gx_device_halftone_release
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 3
    functionsReached:
    - gx_ht_order_release
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_device_halftone_release(gx_device_halftone * pdht, gs_memory_t
      * mem)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: check_colorant_name_length
      Src: /src/libspectre/ghostscript/base/gsht.c:650,1
    - Dst: check_name
      Src: /src/libspectre/ghostscript/base/gsht.c:667,1
    - Dst: check_name
      Src: /src/libspectre/ghostscript/base/gsht.c:675,1
    - Dst: check_colorant_name
      Src: /src/libspectre/ghostscript/base/gsht.c:676,1
    - Dst: check_name
      Src: /src/libspectre/ghostscript/base/gsht.c:677,1
    - Dst: check_colorant_name
      Src: /src/libspectre/ghostscript/base/gsht.c:678,1
    - Dst: check_name
      Src: /src/libspectre/ghostscript/base/gsht.c:679,1
    - Dst: check_colorant_name
      Src: /src/libspectre/ghostscript/base/gsht.c:680,1
    - Dst: check_name
      Src: /src/libspectre/ghostscript/base/gsht.c:681,1
    - Dst: check_colorant_name
      Src: /src/libspectre/ghostscript/base/gsht.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - dev
    - pname
    - name_size
    - halftonetype
    argTypes:
    - gx_device*
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 699
    functionName: gs_color_name_component_number
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - check_colorant_name
    - check_colorant_name_length
    - check_name
    linkageType: ''
    returnType: int
    signature: "int gs_color_name_component_number(gx_device * dev, const char * pname,\n
      \                               int name_size, int halftonetype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dev
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 640
    functionName: check_colorant_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_colorant_name(dev, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dev
    - ','
    - name
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 643
    functionName: check_colorant_name_length
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_colorant_name_length(dev, name, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - str
    - ','
    - pname
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 644
    functionDepth: 0
    functionLinenumber: 644
    functionLinenumberEnd: 646
    functionName: check_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_name(str, pname, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_name_component_number
      Src: /src/libspectre/ghostscript/base/gsht.c:713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pgs
    - pname
    - name_size
    - halftonetype
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 715
    functionName: gs_cname_to_colorant_number
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 0
    functionsReached:
    - gs_color_name_component_number
    linkageType: ''
    returnType: int
    signature: "int gs_cname_to_colorant_number(gs_gstate * pgs, byte * pname, uint
      name_size,\n                int halftonetype)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:953,1
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gsht.c:955,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gsht.c:957,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsht.c:964,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:969,1
    - Dst: gx_ht_copy_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:1000,1
    - Dst: gx_ht_move_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:1008,1
    - Dst: gx_ht_copy_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:1023,1
    - Dst: gx_ht_move_ht_order
      Src: /src/libspectre/ghostscript/base/gsht.c:1025,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gsht.c:1033,1
    - Dst: igcd
      Src: /src/libspectre/ghostscript/base/gsht.c:1034,1
    - Dst: gx_ht_cache_default_bits_size
      Src: /src/libspectre/ghostscript/base/gsht.c:1047,1
    - Dst: gx_ht_alloc_cache
      Src: /src/libspectre/ghostscript/base/gsht.c:1061,1
    - Dst: gx_ht_init_cache
      Src: /src/libspectre/ghostscript/base/gsht.c:1067,1
    - Dst: gx_device_halftone_release
      Src: /src/libspectre/ghostscript/base/gsht.c:1098,1
    - Dst: rc_unshare_struct
      Src: /src/libspectre/ghostscript/base/gsht.c:1100,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:1132,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:1135,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsht.c:1139,1
    - Dst: gx_gstate_set_effective_xfer
      Src: /src/libspectre/ghostscript/base/gsht.c:1147,1
    - Dst: gx_ht_order_release
      Src: /src/libspectre/ghostscript/base/gsht.c:1159,1
    - Dst: gx_ht_free_cache
      Src: /src/libspectre/ghostscript/base/gsht.c:1162,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:1166,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 100
    argCount: 4
    argNames:
    - pgs
    - pdht
    - type
    - dev
    argTypes:
    - gs_gstate*
    - gx_device_halftone*
    - gs_halftone_type
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 936
    functionDepth: 3
    functionLinenumber: 936
    functionLinenumberEnd: 1169
    functionName: gx_gstate_dev_ht_install
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - gx_ht_copy_ht_order
    - gx_ht_order_release
    - gx_ht_init_cache
    - gx_ht_move_ht_order
    - gx_device_halftone_release
    - gx_ht_cache_default_bits_size
    - rc_unshare_struct
    - gx_ht_free_cache
    - gx_gstate_set_effective_xfer
    - memset
    - return_error
    - igcd
    - gx_ht_alloc_cache
    - gs_next_ids
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_gstate_dev_ht_install(\n    gs_gstate *       pgs,\n    gx_device_halftone
      *    pdht,\n    gs_halftone_type        type,\n    const gx_device *       dev
      )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gsht.c:1191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsht.c:1192,1
    - Dst: gx_gstate_dev_ht_install
      Src: /src/libspectre/ghostscript/base/gsht.c:1194,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsht.c:1195,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:1198,1
    - Dst: gx_device_halftone_release
      Src: /src/libspectre/ghostscript/base/gsht.c:1206,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsht.c:1209,1
    - Dst: gx_unset_both_dev_colors
      Src: /src/libspectre/ghostscript/base/gsht.c:1218,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - pgs
    - pht
    - pdht
    argTypes:
    - gs_gstate*
    - gs_halftone*
    - gx_device_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1176
    functionDepth: 4
    functionLinenumber: 1176
    functionLinenumberEnd: 1220
    functionName: gx_ht_install
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 2
    functionsReached:
    - gx_unset_both_dev_colors
    - gx_device_halftone_release
    - gx_gstate_dev_ht_install
    - rc_alloc_struct_1
    - gs_currentdevice_inline
    - rc_decrement
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_ht_install(gs_gstate * pgs, const gs_halftone * pht,\n              gx_device_halftone
      * pdht)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - name
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1228
    functionName: check_colorant_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_colorant_name(name, dev)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:1281,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsht.c:1296,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1231
    functionDepth: 0
    functionLinenumber: 1231
    functionLinenumberEnd: 1304
    functionName: gx_gstate_set_effective_xfer
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 2
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_gstate_set_effective_xfer(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_gstate_set_effective_xfer
      Src: /src/libspectre/ghostscript/base/gsht.c:1309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1310
      start: 1306
    functionDepth: 1
    functionLinenumber: 1306
    functionLinenumberEnd: 1310
    functionName: gx_set_effective_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 2
    functionsReached:
    - gx_gstate_set_effective_xfer
    linkageType: ''
    returnType: void
    signature: void gx_set_effective_transfer(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1322,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1324,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1326,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1326,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pgs
    - plane_index
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1334
      start: 1314
    functionDepth: 1
    functionLinenumber: 1314
    functionLinenumberEnd: 1334
    functionName: gx_transfer_is_monotonic
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 2
    functionsReached:
    - gx_map_color_frac
    - byte2frac
    linkageType: ''
    returnType: bool
    signature: bool gx_transfer_is_monotonic(const gs_gstate *pgs, int plane_index)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gsht.c:1367,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1375,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1376,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1395,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1397,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1405,1
    - Dst: gx_map_color_frac
      Src: /src/libspectre/ghostscript/base/gsht.c:1407,1
    - Dst: gx_ht_order*::procs::bit_index
      Src: /src/libspectre/ghostscript/base/gsht.c:1415,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsht.c:1442,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsht.c:1444,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gsht.c:1446,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gsht.c:1447,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 72
    argCount: 4
    argNames:
    - d_order
    - dev
    - pgs
    - plane_index
    argTypes:
    - gx_ht_order*
    - gx_device*
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1452
    functionName: gx_ht_construct_threshold
    functionSourceFile: /src/libspectre/ghostscript/base/gsht.c
    functionUses: 4
    functionsReached:
    - gx_ht_order*::procs::bit_index
    - gs_debug_c
    - gx_map_color_frac
    - dmprintf1
    - byte2frac
    - gs_malloc
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int gx_ht_construct_threshold( gx_ht_order *d_order, gx_device *dev,\n
      \                          const gs_gstate * pgs, int plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:41,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - pfs
    - psh
    - rect_clip
    - dev
    - pgs
    argTypes:
    - mesh_fill_state_t*
    - gs_shading_mesh_t*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 35
    functionDepth: 5
    functionLinenumber: 35
    functionLinenumberEnd: 48
    functionName: mesh_init_fill_state
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade4.c
    functionUses: 2
    functionsReached:
    - shade_init_fill_state
    linkageType: ''
    returnType: int
    signature: "int mesh_init_fill_state(mesh_fill_state_t * pfs, const gs_shading_mesh_t
      * psh,\n                     const gs_fixed_rect * rect_clip, gx_device * dev,\n
      \                    gs_gstate * pgs)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: shade_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:56,1
    - Dst: gs_function_evaluate
      Src: /src/libspectre/ghostscript/base/gxshade4.c:64,1
    - Dst: gs_shading_mesh_t*::params::ColorSpace::type::restrict_color
      Src: /src/libspectre/ghostscript/base/gxshade4.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - psh
    - cs
    - vertex
    - c
    argTypes:
    - gs_shading_mesh_t*
    - shade_coord_stream_t*
    - shading_vertex_t*
    - patch_color_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 69
    functionName: Gt_next_vertex
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade4.c
    functionUses: 0
    functionsReached:
    - gs_function_evaluate
    - shade_next_vertex
    - gs_shading_mesh_t*::params::ColorSpace::type::restrict_color
    linkageType: ''
    returnType: int
    signature: "int Gt_next_vertex(const gs_shading_mesh_t * psh, shade_coord_stream_t
      * cs,\n               shading_vertex_t * vertex, patch_color_t *c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade4.c:78,1
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade4.c:80,1
    - Dst: mesh_padding
      Src: /src/libspectre/ghostscript/base/gxshade4.c:82,1
    - Dst: mesh_triangle
      Src: /src/libspectre/ghostscript/base/gxshade4.c:85,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - pfs
    - va
    - vb
    - vc
    argTypes:
    - patch_fill_state_t*
    - shading_vertex_t*
    - shading_vertex_t*
    - shading_vertex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 71
    functionDepth: 19
    functionLinenumber: 71
    functionLinenumberEnd: 87
    functionName: Gt_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade4.c
    functionUses: 0
    functionsReached:
    - mesh_padding
    - mesh_triangle
    linkageType: ''
    returnType: int
    signature: "int Gt_fill_triangle(patch_fill_state_t * pfs, const shading_vertex_t
      * va,\n                 const shading_vertex_t * vb, const shading_vertex_t
      * vc)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:105,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:111,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade4.c:113,1
    - Dst: reserve_colors
      Src: /src/libspectre/ghostscript/base/gxshade4.c:116,1
    - Dst: shade_next_init
      Src: /src/libspectre/ghostscript/base/gxshade4.c:120,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/base/gxshade4.c:123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:126,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:128,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/base/gxshade4.c:129,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:130,1
    - Dst: shade_next_flag
      Src: /src/libspectre/ghostscript/base/gxshade4.c:131,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:146,1
    - Dst: Gt_fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade4.c:148,1
    - Dst: shade_coord_stream_t::align
      Src: /src/libspectre/ghostscript/base/gxshade4.c:151,1
    - Dst: release_colors
      Src: /src/libspectre/ghostscript/base/gxshade4.c:153,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade4.c:154,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:156,1
    - Dst: shade_coord_stream_t::is_eod
      Src: /src/libspectre/ghostscript/base/gxshade4.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:158,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 53
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 89
    functionDepth: 20
    functionLinenumber: 89
    functionLinenumberEnd: 160
    functionName: gs_shading_FfGt_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade4.c
    functionUses: 0
    functionsReached:
    - shade_next_init
    - term_patch_fill_state
    - Gt_next_vertex
    - shade_init_fill_state
    - Gt_fill_triangle
    - shade_coord_stream_t::is_eod
    - release_colors
    - return_error
    - gsicc_release_link
    - reserve_colors
    - shade_coord_stream_t::align
    - shade_next_flag
    - init_patch_fill_state
    linkageType: ''
    returnType: int
    signature: "int gs_shading_FfGt_fill_rectangle(const gs_shading_t * psh0, const
      gs_rect * rect,\n                               const gs_fixed_rect * rect_clip,\n
      \                              gx_device * dev, gs_gstate * pgs)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: shade_init_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:179,1
    - Dst: init_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:185,1
    - Dst: reserve_colors
      Src: /src/libspectre/ghostscript/base/gxshade4.c:188,1
    - Dst: shade_next_init
      Src: /src/libspectre/ghostscript/base/gxshade4.c:190,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gxshade4.c:193,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:196,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxshade4.c:199,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:203,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxshade4.c:206,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:209,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:216,1
    - Dst: seofp
      Src: /src/libspectre/ghostscript/base/gxshade4.c:219,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:220,1
    - Dst: Gt_fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade4.c:224,1
    - Dst: Gt_next_vertex
      Src: /src/libspectre/ghostscript/base/gxshade4.c:231,1
    - Dst: Gt_fill_triangle
      Src: /src/libspectre/ghostscript/base/gxshade4.c:234,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxshade4.c:244,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxshade4.c:245,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxshade4.c:246,1
    - Dst: release_colors
      Src: /src/libspectre/ghostscript/base/gxshade4.c:247,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxshade4.c:248,1
    - Dst: term_patch_fill_state
      Src: /src/libspectre/ghostscript/base/gxshade4.c:249,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxshade4.c:250,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 77
    argCount: 5
    argNames:
    - psh0
    - rect
    - rect_clip
    - dev
    - pgs
    argTypes:
    - gs_shading_t*
    - gs_rect*
    - gs_fixed_rect*
    - gx_device*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 162
    functionDepth: 20
    functionLinenumber: 162
    functionLinenumberEnd: 252
    functionName: gs_shading_LfGt_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxshade4.c
    functionUses: 0
    functionsReached:
    - shade_next_init
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - seofp
    - term_patch_fill_state
    - Gt_next_vertex
    - shade_init_fill_state
    - Gt_fill_triangle
    - gsicc_release_link
    - gs_free_object
    - release_colors
    - return_error
    - gs_note_error
    - reserve_colors
    - init_patch_fill_state
    linkageType: ''
    returnType: int
    signature: "int gs_shading_LfGt_fill_rectangle(const gs_shading_t * psh0, const
      gs_rect * rect,\n                               const gs_fixed_rect * rect_clip,\n
      \                              gx_device * dev, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:44,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:46,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - fno
    - binary
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 48
    functionName: setmode_binary
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 0
    functionsReached:
    - _setmode
    - setmode
    linkageType: ''
    returnType: int
    signature: int setmode_binary(int fno, bool binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:52,1
    - Dst: setmode_binary
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - prnfno
    - binary
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: gp_set_file_binary
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 2
    functionsReached:
    - DISCARD
    - setmode_binary
    linkageType: ''
    returnType: void
    signature: void gp_set_file_binary(int prnfno, int binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setmode_binary
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:63,1
    - Dst: _fileno
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:63,1
    - Dst: setmode_binary
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:65,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - binary
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 0
    functionsReached:
    - fileno
    - _fileno
    - setmode_binary
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool binary)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:116,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:122,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:127,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:132,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:132,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:133,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:137,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - mem
    - pden
    - directory
    - dir_size
    - filename
    - pattern
    - pat_size
    argTypes:
    - gs_memory_t*
    - directory_enum*
    - char*
    - int
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 149
    functionName: enumerate_directory_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - memcpy
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int enumerate_directory_init(gs_memory_t *mem, directory_enum *pden,
      const char *directory, int dir_size, char *filename, const char *pattern, int
      pat_size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:164,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:167,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:169,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:177,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:180,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:181,1
    - Dst: enumerate_directory_init
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:216,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:218,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:219,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:220,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 45
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 154
    functionDepth: 2
    functionLinenumber: 154
    functionLinenumberEnd: 225
    functionName: gp_enumerate_files_init_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached:
    - enumerate_directory_init
    - gs_alloc_bytes
    - gs_free_object
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init_impl(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_files_close
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:237,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:244,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:244,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:249,1
    - Dst: FindFirstFileExW
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:251,1
    - Dst: FindFirstFileW
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:253,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:255,1
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:258,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:259,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:262,1
    - Dst: FindNextFileW
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:273,1
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:275,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:276,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:279,1
    - Dst: wcscmp
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:289,1
    - Dst: wcscmp
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:290,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:292,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:295,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:295,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:297,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:299,1
    - Dst: enumerate_directory_init
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:300,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:303,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:305,1
    - Dst: gp_enumerate_files_close
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:318,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:321,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:322,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:325,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:326,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 82
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 228
    functionDepth: 5
    functionLinenumber: 228
    functionLinenumberEnd: 331
    functionName: gp_enumerate_files_next_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached:
    - wchar_to_utf8
    - FindClose
    - wcscmp
    - utf8_to_wchar
    - gs_alloc_bytes
    - strlen
    - enumerate_directory_init
    - strcpy
    - malloc
    - FindFirstFileW
    - gp_enumerate_files_close
    - free
    - gs_alloc_struct
    - memcpy
    - FindNextFileW
    - FindFirstFileExW
    - gs_free_object
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen,
      char *ptr, uint maxlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FindClose
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:343,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:344,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:347,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:350,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 353
    functionName: gp_enumerate_files_close_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached:
    - FindClose
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close_impl(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 357
    functionDepth: 0
    functionLinenumber: 357
    functionLinenumberEnd: 380
    functionName: gp_file_name_root
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_root(const char *fname, uint len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fname
    - len
    - item
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 382
    functionDepth: 0
    functionLinenumber: 382
    functionLinenumberEnd: 391
    functionName: gs_file_name_check_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_file_name_check_separator(const char *fname, int len, const
      char *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 395
    functionName: gp_file_name_is_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 399
    functionName: gp_file_name_is_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_current(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 403
    functionName: gp_file_name_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    functionName: gp_file_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_directory_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    functionName: gp_file_name_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 415
    functionName: gp_file_name_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 419
    functionName: gp_file_name_is_parent_allowed
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent_allowed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 423
    functionName: gp_file_name_is_empty_item_meanful
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_empty_item_meanful(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine_generic
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 431
    functionName: gp_file_name_combine
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 2
    functionsReached:
    - gp_file_name_combine_generic
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine(const char *prefix,
      uint plen, const char *fname, uint flen,\n                    bool no_sibling,
      char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gp_ntfs.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: gp_file_name_good_char
    functionSourceFile: /src/libspectre/ghostscript/base/gp_ntfs.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_good_char(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cbh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: cb_head_is_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cb_head_is_free(cbh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cbh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: cb_head_set_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cb_head_set_free(cbh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cb
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: cb_is_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cb_is_free(cb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 90
    functionName: csize
    functionSourceFile: /src/libspectre/ghostscript/base/gxbcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint csize
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - x
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: get_padding
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int get_padding(int x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:223,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:224,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - mat
    argTypes:
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 226
    functionName: gsicc_matrix_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - is_fzero2
    linkageType: ''
    returnType: void
    signature: void gsicc_matrix_init(register gs_matrix3 * mat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - matrix
    - vec
    argTypes:
    - gs_matrix3*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 241
    functionName: gsicc_make_diag_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_make_diag_matrix(gs_matrix3 *matrix, gs_vector3 * vec)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cie_mult3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - mat
    - clut
    argTypes:
    - gs_matrix3*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 284
    functionName: gsicc_matrix3_to_mlut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - cie_mult3
    linkageType: ''
    returnType: void
    signature: void gsicc_matrix3_to_mlut(gs_matrix3 *mat, unsigned short *clut)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - matrix
    - in
    - out
    argTypes:
    - float[]
    - float[]
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    functionName: apply_adaption
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void apply_adaption(float matrix[], float in[], float out[])
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gx_cie_to_xyz_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:319,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:321,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:322,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:329,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:333,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:335,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:360,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:363,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:373,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:376,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:380,1
    - Dst: gx_psconcretize_CIEA
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:388,1
    - Dst: gx_psconcretize_CIEABC
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:399,1
    - Dst: gx_psconcretize_CIEDEF
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:402,1
    - Dst: gx_psconcretize_CIEDEFG
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:405,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:408,1
    - Dst: gx_cie_to_xyz_free
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:422,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:424,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 7
    argNames:
    - pcs
    - clut
    - ranges
    - white_point
    - range_adjust
    - cam
    - memory
    argTypes:
    - gs_color_space*
    - gsicc_clut*
    - gs_range*
    - gs_vector3*
    - bool
    - float[]
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 297
    functionDepth: 5
    functionLinenumber: 297
    functionLinenumberEnd: 427
    functionName: gsicc_create_clut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gx_cie_to_xyz_alloc
    - gs_color_space_get_index
    - gs_alloc_bytes
    - gs_throw
    - gx_psconcretize_CIEA
    - gs_rethrow
    - gx_psconcretize_CIEDEFG
    - gx_psconcretize_CIEDEF
    - floor
    - gx_psconcretize_CIEABC
    - gx_cie_to_xyz_free
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_clut(const gs_color_space *pcs, gsicc_clut *clut,
      gs_range *ranges,\n                  gs_vector3 *white_point, bool range_adjust,
      float cam[],\n                  gs_memory_t *memory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - vec
    - clut
    argTypes:
    - gs_vector3*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 454
    functionName: gsicc_vec_to_mlut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_vec_to_mlut(gs_vector3 *vec, unsigned short *clut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:464,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:465,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:466,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - mem
    - buffer
    - filename
    - buffer_size
    argTypes:
    - gs_memory_t*
    - unsigned char*
    - char[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 458
    functionDepth: 5
    functionLinenumber: 458
    functionLinenumberEnd: 469
    functionName: save_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 8
    functionsReached:
    - gs_sprintf
    - gp_fopen
    - fwrite
    - fclose
    linkageType: ''
    returnType: void
    signature: void save_profile(const gs_memory_t *mem, unsigned char *buffer, char
      filename[], int buffer_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - curr_ptr
    - input
    argTypes:
    - unsigned char*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 472
    functionDepth: 0
    functionLinenumber: 472
    functionLinenumberEnd: 479
    functionName: write_bigendian_4bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_bigendian_4bytes(unsigned char *curr_ptr,ulong input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - curr_ptr
    - input
    argTypes:
    - unsigned char*
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 481
    functionDepth: 0
    functionLinenumber: 481
    functionLinenumberEnd: 486
    functionName: write_bigendian_2bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void write_bigendian_2bytes(unsigned char *curr_ptr,ushort input)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - datetime
    argTypes:
    - icDateTimeNumber*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 488
    functionDepth: 0
    functionLinenumber: 488
    functionLinenumberEnd: 497
    functionName: setdatetime
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setdatetime(icDateTimeNumber *datetime)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 515
    functionName: double2XYZtype
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 3
    functionsReached:
    - gs_warn
    linkageType: ''
    returnType: icS15Fixed16Number
    signature: icS15Fixed16Number double2XYZtype(float number_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 537
    functionName: double2icS15Fixed16Number
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: icS15Fixed16Number
    signature: icS15Fixed16Number double2icS15Fixed16Number(float number_in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - number_in
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 543
    functionName: float2u8Fixed8
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: unsigned short
    signature: unsigned short float2u8Fixed8(float number_in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:561,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:563,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:572,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - tag_list
    - num_tags
    - last_tag
    argTypes:
    - gsicc_tag[]
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 576
    functionName: init_common_tags
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 9
    functionsReached:
    - strlen
    - get_padding
    linkageType: ''
    returnType: void
    signature: void init_common_tags(gsicc_tag tag_list[],int num_tags, int *last_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:588,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:590,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:592,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:594,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:596,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:598,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:600,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:600,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:602,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:605,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 610
    functionName: add_v4_text_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - strlen
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: "void add_v4_text_tag(unsigned char *buffer,const char text[], gsicc_tag
      tag_list[],\n                int curr_tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:617,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:621,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:623,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:625,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:627,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:630,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 632
    functionName: add_desc_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: "void add_desc_tag(unsigned char *buffer, const char text[], gsicc_tag
      tag_list[],\n                int curr_tag)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:642,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:644,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:646,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:649,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - buffer
    - text
    - tag_list
    - curr_tag
    argTypes:
    - unsigned char*
    - char[]
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 651
    functionName: add_text_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - memset
    - strlen
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: "void add_text_tag(unsigned char *buffer, const char text[], gsicc_tag
      tag_list[],\n            int curr_tag)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: add_v4_text_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:660,1
    - Dst: add_v4_text_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:662,1
    - Dst: add_desc_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:664,1
    - Dst: add_text_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - buffer
    - tag_list
    - vers
    argTypes:
    - unsigned char*
    - gsicc_tag[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 668
    functionName: add_common_tag_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 9
    functionsReached:
    - add_text_tag
    - add_desc_tag
    - add_v4_text_tag
    linkageType: ''
    returnType: void
    signature: void add_common_tag_data(unsigned char *buffer,gsicc_tag tag_list[],
      int vers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tag_list
    - last_tag
    - tagsig
    - datasize
    argTypes:
    - gsicc_tag[]
    - int*
    - icTagSignature
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 685
    functionName: init_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 9
    functionsReached:
    - get_padding
    linkageType: ''
    returnType: void
    signature: "void init_tag(gsicc_tag tag_list[], int *last_tag, icTagSignature
      tagsig,\n               int datasize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setdatetime
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:696,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:705,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:706,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:707,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:710,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - header
    - vers
    argTypes:
    - icHeader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 687
    functionDepth: 0
    functionLinenumber: 687
    functionLinenumberEnd: 711
    functionName: setheader_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 8
    functionsReached:
    - double2XYZtype
    - memset
    - setdatetime
    linkageType: ''
    returnType: void
    signature: void setheader_common(icHeader *header, int vers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:719,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:721,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:723,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:725,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:727,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:729,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:733,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:735,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:737,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:739,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:741,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:743,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:745,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 2
    argNames:
    - buffer
    - header
    argTypes:
    - unsigned char*
    - icHeader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 748
    functionName: copy_header
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 9
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void copy_header(unsigned char *buffer,icHeader *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:757,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:760,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:762,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:764,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - buffer
    - tag_list
    - num_tags
    argTypes:
    - unsigned char*
    - gsicc_tag*
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 767
    functionName: copy_tagtable
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 9
    functionsReached:
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void copy_tagtable(unsigned char *buffer,gsicc_tag *tag_list, ulong
      num_tags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:772,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:773,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - XYZ
    argTypes:
    - icS15Fixed16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 775
    functionName: get_D50
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_D50(icS15Fixed16Number XYZ[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:780,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:781,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - XYZ
    - vector
    argTypes:
    - icS15Fixed16Number[]
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 777
    functionDepth: 0
    functionLinenumber: 777
    functionLinenumberEnd: 783
    functionName: get_XYZ
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_XYZ(icS15Fixed16Number XYZ[], gs_vector3 *vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:788,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:789,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - XYZ
    - vector
    argTypes:
    - icS15Fixed16Number[]
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 785
    functionDepth: 0
    functionLinenumber: 785
    functionLinenumberEnd: 791
    functionName: get_XYZ_doubletr
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_XYZ_doubletr(icS15Fixed16Number XYZ[], float *vector)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - matrix_input
    - scale_factor
    argTypes:
    - float*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 801
    functionName: scale_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scale_matrix(float *matrix_input,float scale_factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:810,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:812,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:816,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:820,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:824,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - input_ptr
    - gamma
    - curveType
    argTypes:
    - unsigned char*
    - unsigned short
    - icTagTypeSignature
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 825
    functionName: add_gammadata
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 2
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: "void add_gammadata(unsigned char *input_ptr, unsigned short gamma,\n
      \             icTagTypeSignature curveType)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:834,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:836,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:839,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - input_ptr
    - temp_XYZ
    argTypes:
    - unsigned char*
    - icS15Fixed16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 842
    functionName: add_xyzdata
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 8
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_xyzdata(unsigned char *input_ptr, icS15Fixed16Number temp_XYZ[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - DecodeABC_caches
    - DecodeLMN
    argTypes:
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 845
    functionDepth: 0
    functionLinenumber: 845
    functionLinenumberEnd: 850
    functionName: merge_abc_lmn_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void merge_abc_lmn_curves(gx_cie_vector_cache *DecodeABC_caches,\n
      \                    gx_cie_scalar_cache *DecodeLMN)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:862,1
    - Dst: double2icS15Fixed16Number
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:862,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:867,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - input_ptr
    - float_ptr_in
    - has_bias
    argTypes:
    - unsigned char*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 869
    functionName: add_matrixwithbias
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - memset
    - double2icS15Fixed16Number
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_matrixwithbias(unsigned char *input_ptr, float *float_ptr_in,
      bool has_bias)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 7
    argNames:
    - leftmatrix
    - nlrow
    - nlcol
    - rightmatrix
    - nrrow
    - nrcol
    - result
    argTypes:
    - float[]
    - int
    - int
    - float[]
    - int
    - int
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 893
    functionName: matrixmult
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void matrixmult(float leftmatrix[], int nlrow, int nlcol,\n           float
      rightmatrix[], int nrrow, int nrcol, float result[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - des
    argTypes:
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 899
    functionName: gsicc_create_copy_matrix3
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void gsicc_create_copy_matrix3(float *src, float *des)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:916,1
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:917,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:918,1
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:927,1
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - white_src
    - white_des
    - cam
    argTypes:
    - gs_vector3*
    - gs_vector3*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 930
    functionName: gsicc_create_compute_cam
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - matrixmult
    - memset
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_compute_cam( gs_vector3 *white_src, gs_vector3 *white_des,\n
      \                               float *cam)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:942,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:945,1
    - Dst: gsicc_create_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - icc_luta2bparts
    - memory
    argTypes:
    - gsicc_lutatob*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 932
    functionDepth: 2
    functionLinenumber: 932
    functionLinenumberEnd: 949
    functionName: gsicc_compute_cam
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gsicc_create_compute_cam
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gsicc_compute_cam(gsicc_lutatob *icc_luta2bparts, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:971,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:973,1
    - Dst: gsicc_create_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:976,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - curr_wp
    - memory
    argTypes:
    - float*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 956
    functionDepth: 2
    functionLinenumber: 956
    functionLinenumberEnd: 979
    functionName: gsicc_get_cat02_cam
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gsicc_create_compute_cam
    - gs_alloc_bytes
    linkageType: ''
    returnType: float
    signature: 'float *

      gsicc_get_cat02_cam(float *curr_wp, gs_memory_t *memory)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:990,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:993,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:996,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - input_ptr
    - number_of_curves
    argTypes:
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 981
    functionDepth: 0
    functionLinenumber: 981
    functionLinenumberEnd: 999
    functionName: add_ident_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - memset
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_ident_curves(unsigned char *input_ptr,int number_of_curves)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1011,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1015,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1018,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1021,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1025,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1029,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - input_ptr
    - clut
    argTypes:
    - unsigned char*
    - gsicc_clut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1033
    functionName: add_clutAtoB
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - memcpy
    linkageType: ''
    returnType: void
    signature: void add_clutAtoB(unsigned char *input_ptr, gsicc_clut *clut)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1044,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1047,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1050,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - input_ptr
    - curve_data
    - num_samples
    argTypes:
    - unsigned char*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1061
    functionName: add_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 8
    functionsReached:
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_curve(unsigned char *input_ptr, float *curve_data, int num_samples)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - lutatobparts
    argTypes:
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1104
    functionName: getsize_lutAtoBtype
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int getsize_lutAtoBtype(gsicc_lutatob *lutatobparts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1130,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1133,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1138,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1145,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1148,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1154,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1156,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1158,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1164,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1167,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1174,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1176,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1178,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1187,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1190,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1200,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1204,1
    - Dst: add_matrixwithbias
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1209,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1214,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1218,1
    - Dst: add_clutAtoB
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1224,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1226,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1231,1
    - Dst: add_ident_curves
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1236,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 92
    argCount: 2
    argNames:
    - input_ptr
    - lutatobparts
    argTypes:
    - unsigned char*
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1241
    functionName: add_lutAtoBtype
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - add_ident_curves
    - add_curve
    - memset
    - add_matrixwithbias
    - add_clutAtoB
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_lutAtoBtype(unsigned char *input_ptr, gsicc_lutatob *lutatobparts)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1267,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1281,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1289,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1291,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1292,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1293,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1295,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1296,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1300,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1307,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1310,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1316,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1319,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1324,1
    - Dst: gsicc_get_cat02_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1331,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1334,1
    - Dst: apply_adaption
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1343,1
    - Dst: get_XYZ_doubletr
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1344,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1345,1
    - Dst: get_D50
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1351,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1352,1
    - Dst: apply_adaption
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1356,1
    - Dst: get_XYZ_doubletr
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1357,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1358,1
    - Dst: float2u8Fixed8
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1363,1
    - Dst: add_gammadata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1364,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1368,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1371,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1385,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1388,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1389,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1394,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 106
    argCount: 6
    argNames:
    - white
    - black
    - gamma
    - matrix
    - memory
    - num_colors
    argTypes:
    - float*
    - float*
    - float*
    - float*
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1399
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1399
    functionName: gsicc_create_from_cal
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gsicc_get_icc_buff_hash
    - gs_alloc_bytes
    - gsicc_get_cat02_cam
    - gs_rethrow
    - copy_header
    - apply_adaption
    - add_common_tag_data
    - get_D50
    - copy_tagtable
    - add_xyzdata
    - gsicc_profile_new
    - setheader_common
    - gs_free_object
    - get_XYZ_doubletr
    - init_common_tags
    - gs_throw
    - init_tag
    - save_profile
    - float2u8Fixed8
    - add_gammadata
    linkageType: ''
    returnType: cmm_profile_t
    signature: "cmm_profile_t *\ngsicc_create_from_cal(float *white, float *black,
      float *gamma, float *matrix,\n                      gs_memory_t *memory, int
      num_colors)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1406,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1408,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1410,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1412,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1416,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - memory
    - icc_luta2bparts
    argTypes:
    - gs_memory_t*
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1401
    functionDepth: 0
    functionLinenumber: 1401
    functionLinenumberEnd: 1421
    functionName: gsicc_create_free_luta2bpart
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gsicc_create_free_luta2bpart(gs_memory_t *memory, gsicc_lutatob
      *icc_luta2bparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - icc_luta2bparts
    argTypes:
    - gsicc_lutatob*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1436
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1436
    functionName: gsicc_create_init_luta2bpart
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_create_init_luta2bpart(gsicc_lutatob *icc_luta2bparts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - clut
    argTypes:
    - gsicc_clut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1449
      start: 1438
    functionDepth: 0
    functionLinenumber: 1438
    functionLinenumberEnd: 1449
    functionName: gsicc_create_initialize_clut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gsicc_create_initialize_clut(gsicc_clut *clut)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1469,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1472,1
    - Dst: init_common_tags
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1478,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1479,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1480,1
    - Dst: getsize_lutAtoBtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1484,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1485,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1493,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1496,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1497,1
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1502,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1505,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1510,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1521,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1523,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1524,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1525,1
    - Dst: gsicc_create_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1527,1
    - Dst: get_D50
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1529,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1530,1
    - Dst: get_XYZ
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1533,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1534,1
    - Dst: gsicc_create_copy_matrix3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1540,1
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1567,1
    - Dst: matrixmult
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1570,1
    - Dst: add_lutAtoBtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1578,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1580,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 79
    argCount: 6
    argNames:
    - pp_buffer_in
    - header
    - lutatobparts
    - yonly
    - mashedLUT
    - memory
    argTypes:
    - unsigned char**
    - icHeader*
    - gsicc_lutatob*
    - bool
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1452
    functionDepth: 2
    functionLinenumber: 1452
    functionLinenumberEnd: 1582
    functionName: create_lutAtoBprofile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - get_XYZ
    - matrixmult
    - init_tag
    - add_common_tag_data
    - gs_throw
    - init_common_tags
    - gs_alloc_bytes
    - add_lutAtoBtype
    - get_D50
    - copy_header
    - copy_tagtable
    - add_xyzdata
    - getsize_lutAtoBtype
    - gsicc_create_copy_matrix3
    - gsicc_create_compute_cam
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int create_lutAtoBprofile(unsigned char **pp_buffer_in, icHeader *header,\n
      \                     gsicc_lutatob *lutatobparts, bool yonly, bool mashedLUT,\n
      \                     gs_memory_t *memory)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1602,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1605,1
    - Dst: gsicc_create_initialize_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1625,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1627,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1630,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1631,1
    - Dst: gsicc_create_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1634,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1637,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1638,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1642,1
    - Dst: gsicc_make_diag_matrix
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1649,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1653,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1656,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 9
    argNames:
    - icc_luta2bparts
    - header
    - Table
    - pcs
    - ranges
    - pp_buffer_in
    - profile_size_out
    - range_adjust
    - memory
    argTypes:
    - gsicc_lutatob*
    - icHeader*
    - gx_color_lookup_table*
    - gs_color_space*
    - gs_range*
    - unsigned char**
    - int*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1587
    functionDepth: 6
    functionLinenumber: 1587
    functionLinenumberEnd: 1660
    functionName: gsicc_create_mashed_clut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gsicc_create_initialize_clut
    - gsicc_make_diag_matrix
    - gsicc_create_clut
    - create_lutAtoBprofile
    - gs_throw
    - gs_alloc_bytes
    - gs_rethrow
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_mashed_clut(gsicc_lutatob *icc_luta2bparts,\n                         icHeader
      *header, gx_color_lookup_table *Table,\n                         const gs_color_space
      *pcs, gs_range *ranges,\n                         unsigned char **pp_buffer_in,
      int *profile_size_out,\n                         bool range_adjust, gs_memory_t*
      memory)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: cie_matrix_mult3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1680,1
    - Dst: cie_matrix_transpose3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1681,1
    - Dst: cie_matrix_transpose3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1689,1
    - Dst: merge_abc_lmn_curves
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1694,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1701,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1704,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1706,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1708,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1710,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1713,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1716,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1717,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1720,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1722,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1724,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1731,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1734,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1736,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1738,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1740,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1743,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1746,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1748,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1750,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1752,1
    - Dst: scale_matrix
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1762,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 67
    argCount: 8
    argNames:
    - atob_parts
    - matrixLMN
    - matrixABC
    - has_abc_procs
    - has_lmn_procs
    - abc_caches
    - lmn_caches
    - memory
    argTypes:
    - gsicc_lutatob*
    - gs_matrix3*
    - gs_matrix3*
    - bool
    - bool
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1666
    functionDepth: 4
    functionLinenumber: 1666
    functionLinenumberEnd: 1765
    functionName: gsicc_create_abc_merge
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gs_throw
    - gs_alloc_bytes
    - scale_matrix
    - cie_matrix_mult3
    - memcpy
    - merge_abc_lmn_curves
    - cie_matrix_transpose3
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_abc_merge(gsicc_lutatob *atob_parts, gs_matrix3 *matrixLMN,\n
      \                      gs_matrix3 *matrixABC, bool has_abc_procs,\n                       bool
      has_lmn_procs, gx_cie_vector_cache *abc_caches,\n                       gx_cie_scalar_cache
      *lmn_caches, gs_memory_t *memory)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_init_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1796,1
    - Dst: gsicc_matrix_init
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1797,1
    - Dst: gsicc_matrix_init
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1798,1
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1800,1
    - Dst: gsicc_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1814,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1816,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1830,1
    - Dst: gsicc_create_mashed_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1833,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1837,1
    - Dst: gsicc_create_abc_merge
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1844,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1849,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1853,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1856,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1864,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1867,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1870,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1873,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1876,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1880,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1883,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1885,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1888,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1891,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1894,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1898,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1901,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1903,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1905,1
    - Dst: gsicc_create_initialize_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1913,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1916,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1919,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1921,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1923,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1925,1
    - Dst: gsicc_matrix3_to_mlut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1927,1
    - Dst: cie_matrix_transpose3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1929,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1932,1
    - Dst: gsicc_create_free_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1938,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1943,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 7
    argNames:
    - pcs
    - pp_buffer_in
    - profile_size_out
    - memory
    - abc_caches
    - lmn_caches
    - islab
    argTypes:
    - gs_color_space*
    - unsigned char**
    - int*
    - gs_memory_t*
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1771
    functionDepth: 7
    functionLinenumber: 1771
    functionLinenumberEnd: 1946
    functionName: gsicc_create_fromabc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 2
    functionsReached:
    - gsicc_create_initialize_clut
    - gsicc_create_free_luta2bpart
    - gsicc_create_init_luta2bpart
    - create_lutAtoBprofile
    - gsicc_compute_cam
    - gs_alloc_bytes
    - gs_throw
    - gs_rethrow
    - check_range
    - save_profile
    - gsicc_create_abc_merge
    - gsicc_matrix_init
    - gsicc_matrix3_to_mlut
    - memcpy
    - gsicc_create_mashed_clut
    - setheader_common
    - cie_matrix_transpose3
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_fromabc(const gs_color_space *pcs, unsigned char
      **pp_buffer_in,\n                     int *profile_size_out, gs_memory_t *memory,\n
      \                    gx_cie_vector_cache *abc_caches,\n                     gx_cie_scalar_cache
      *lmn_caches, bool *islab)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_init_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1970,1
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1972,1
    - Dst: gsicc_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1984,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1986,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1994,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1996,1
    - Dst: gsicc_create_mashed_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:1997,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2001,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2010,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2013,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2014,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2019,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2022,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2023,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2026,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2029,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2032,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2036,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2039,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2040,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2041,1
    - Dst: gsicc_create_initialize_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2047,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2050,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2053,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2054,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2055,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2056,1
    - Dst: gsicc_vec_to_mlut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2065,1
    - Dst: cie_matrix_transpose3
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2066,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2074,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2077,1
    - Dst: gsicc_create_free_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2080,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2084,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 72
    argCount: 6
    argNames:
    - pcs
    - pp_buffer_in
    - profile_size_out
    - memory
    - a_cache
    - lmn_caches
    argTypes:
    - gs_color_space*
    - unsigned char**
    - int*
    - gs_memory_t*
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 1948
    functionDepth: 7
    functionLinenumber: 1948
    functionLinenumberEnd: 2087
    functionName: gsicc_create_froma
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 2
    functionsReached:
    - gsicc_create_initialize_clut
    - gsicc_create_free_luta2bpart
    - gsicc_create_init_luta2bpart
    - create_lutAtoBprofile
    - gsicc_compute_cam
    - gs_alloc_bytes
    - gs_throw
    - gs_rethrow
    - check_range
    - gsicc_vec_to_mlut
    - save_profile
    - memcpy
    - gsicc_create_mashed_clut
    - setheader_common
    - cie_matrix_transpose3
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_froma(const gs_color_space *pcs, unsigned char **pp_buffer_in,\n
      \                  int *profile_size_out, gs_memory_t *memory,\n                   gx_cie_vector_cache
      *a_cache, gx_cie_scalar_cache *lmn_caches)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_matrix_init
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2103,1
    - Dst: gsicc_matrix_init
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2104,1
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2105,1
    - Dst: gsicc_compute_cam
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2117,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2119,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2134,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2135,1
    - Dst: check_range
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2137,1
    - Dst: gsicc_create_mashed_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2139,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2143,1
    - Dst: gsicc_create_abc_merge
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2148,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2153,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2156,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2159,1
    - Dst: gsicc_create_initialize_clut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2167,1
    - Dst: create_lutAtoBprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2171,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2174,1
    - Dst: gsicc_create_free_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 11
    argNames:
    - pcie
    - icc_luta2bparts
    - has_lmn_procs
    - has_abc_procs
    - header
    - Table
    - pcs
    - ranges
    - pp_buffer_in
    - profile_size_out
    - memory
    argTypes:
    - gs_cie_abc*
    - gsicc_lutatob*
    - bool
    - bool
    - icHeader*
    - gx_color_lookup_table*
    - gs_color_space*
    - gs_range*
    - unsigned char**
    - int*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2179
      start: 2090
    functionDepth: 7
    functionLinenumber: 2090
    functionLinenumberEnd: 2179
    functionName: gsicc_create_defg_common
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gsicc_create_initialize_clut
    - gsicc_create_free_luta2bpart
    - gs_color_space_get_index
    - gsicc_compute_cam
    - create_lutAtoBprofile
    - gs_alloc_bytes
    - gs_throw
    - gs_rethrow
    - check_range
    - gsicc_create_abc_merge
    - gsicc_matrix_init
    - gsicc_create_mashed_clut
    - setheader_common
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_defg_common(gs_cie_abc *pcie, gsicc_lutatob *icc_luta2bparts,\n
      \                        bool has_lmn_procs, bool has_abc_procs,\n                         icHeader
      *header, gx_color_lookup_table *Table,\n                         const gs_color_space
      *pcs, gs_range *ranges,\n                         unsigned char **pp_buffer_in,
      int *profile_size_out,\n                         gs_memory_t* memory)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_init_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2211,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2217,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2220,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2222,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2225,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2228,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2231,1
    - Dst: gsicc_create_defg_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2235,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 7
    argNames:
    - pcs
    - pp_buffer_in
    - profile_size_out
    - memory
    - abc_caches
    - lmn_caches
    - defg_caches
    argTypes:
    - gs_color_space*
    - unsigned char**
    - int*
    - gs_memory_t*
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    - gx_cie_scalar_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2183
    functionDepth: 8
    functionLinenumber: 2183
    functionLinenumberEnd: 2246
    functionName: gsicc_create_fromdefg
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - gsicc_create_init_luta2bpart
    - gs_throw
    - gs_alloc_bytes
    - gsicc_create_defg_common
    - save_profile
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_fromdefg(const gs_color_space *pcs, unsigned char
      **pp_buffer_in,\n                      int *profile_size_out, gs_memory_t *memory,\n
      \                     gx_cie_vector_cache *abc_caches,\n                      gx_cie_scalar_cache
      *lmn_caches,\n                      gx_cie_scalar_cache *defg_caches)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_init_luta2bpart
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2274,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2281,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2284,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2286,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2289,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2292,1
    - Dst: gsicc_create_defg_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2295,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2302,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 7
    argNames:
    - pcs
    - pp_buffer_in
    - profile_size_out
    - memory
    - abc_caches
    - lmn_caches
    - def_caches
    argTypes:
    - gs_color_space*
    - unsigned char**
    - int*
    - gs_memory_t*
    - gx_cie_vector_cache*
    - gx_cie_scalar_cache*
    - gx_cie_scalar_cache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2248
    functionDepth: 8
    functionLinenumber: 2248
    functionLinenumberEnd: 2305
    functionName: gsicc_create_fromdef
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 1
    functionsReached:
    - gsicc_create_init_luta2bpart
    - gs_throw
    - gs_alloc_bytes
    - gsicc_create_defg_common
    - save_profile
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gsicc_create_fromdef(const gs_color_space *pcs, unsigned char
      **pp_buffer_in,\n                     int *profile_size_out, gs_memory_t *memory,\n
      \                    gx_cie_vector_cache *abc_caches,\n                     gx_cie_scalar_cache
      *lmn_caches,\n                     gx_cie_scalar_cache *def_caches)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buffer
    - memory
    argTypes:
    - unsigned char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2314
      start: 2307
    functionDepth: 0
    functionLinenumber: 2307
    functionLinenumberEnd: 2314
    functionName: gsicc_create_fromcrd
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - setheader_common
    linkageType: ''
    returnType: void
    signature: void gsicc_create_fromcrd(unsigned char *buffer, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2333,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2334,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2342,1
    - Dst: get_padding
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - tag_list
    - num_tags
    - last_tag
    argTypes:
    - gsicc_tag[]
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2346
      start: 2320
    functionDepth: 0
    functionLinenumber: 2320
    functionLinenumberEnd: 2346
    functionName: init_common_tagsv2
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_padding
    linkageType: ''
    returnType: void
    signature: void init_common_tagsv2(gsicc_tag tag_list[], int num_tags, int *last_tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tablesize
    - num_inputs
    - num_outputs
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2357
      start: 2348
    functionDepth: 0
    functionLinenumber: 2348
    functionLinenumberEnd: 2357
    functionName: getsize_lut16Type
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: int
    signature: int getsize_lut16Type(int tablesize, int num_inputs, int num_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tablesize
    - num_inputs
    - num_outputs
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2359
    functionDepth: 0
    functionLinenumber: 2359
    functionLinenumberEnd: 2368
    functionName: getsize_lut8Type
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - pow
    linkageType: ''
    returnType: int
    signature: int getsize_lut8Type(int tablesize, int num_inputs, int num_outputs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: copy_header
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2380,1
    - Dst: copy_tagtable
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2384,1
    - Dst: add_common_tag_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2389,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2395,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2397,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 6
    argNames:
    - buffer
    - profile_size
    - header
    - tag_list
    - num_tags
    - mediawhitept
    argTypes:
    - byte*
    - int
    - icHeader*
    - gsicc_tag*
    - int
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2371
    functionDepth: 0
    functionLinenumber: 2371
    functionLinenumberEnd: 2403
    functionName: write_v2_common_data
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - add_common_tag_data
    - copy_header
    - copy_tagtable
    - memset
    - memcpy
    - write_bigendian_4bytes
    linkageType: ''
    returnType: byte
    signature: "byte *\nwrite_v2_common_data(byte *buffer, int profile_size, icHeader
      *header,\n    gsicc_tag *tag_list, int num_tags, byte *mediawhitept)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - pgs
    - src_profile
    - des_profile
    - intent
    argTypes:
    - gs_gstate*
    - cmm_profile_t*
    - cmm_profile_t*
    - gsicc_rendering_intents_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2405
    functionDepth: 6
    functionLinenumber: 2405
    functionLinenumberEnd: 2420
    functionName: get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 12
    functionsReached:
    - gsicc_get_link_profile
    linkageType: ''
    returnType: gsicc_link_t
    signature: "gsicc_link_t *\nget_link(const gs_gstate *pgs, cmm_profile_t *src_profile,\n
      \   cmm_profile_t *des_profile, gsicc_rendering_intents_t intent)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - index
    - link
    - XYZ_Data
    argTypes:
    - int
    - gsicc_link_t*
    - icS15Fixed16Number[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2422
    functionDepth: 0
    functionLinenumber: 2422
    functionLinenumberEnd: 2436
    functionName: get_colorant
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - double2XYZtype
    linkageType: ''
    returnType: void
    signature: void get_colorant(int index, gsicc_link_t *link, icS15Fixed16Number
      XYZ_Data[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - index
    - link
    - htrc
    - trc_size
    argTypes:
    - int
    - gsicc_link_t*
    - float**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2438
    functionDepth: 0
    functionLinenumber: 2438
    functionLinenumberEnd: 2461
    functionName: get_trc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void get_trc(int index, gsicc_link_t *link, float **htrc, int trc_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2467,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - clut
    - memory
    argTypes:
    - gsicc_clut*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2470
      start: 2463
    functionDepth: 0
    functionLinenumber: 2463
    functionLinenumberEnd: 2470
    functionName: clean_lut
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void clean_lut(gsicc_clut *clut, gs_memory_t *memory)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2489,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2493,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2501,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2509,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2529,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2531,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2538,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2540,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2543,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2584,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 7
    argNames:
    - clut
    - link
    - num_in
    - num_out
    - table_size
    - memory
    - bitdepth
    argTypes:
    - gsicc_clut*
    - gsicc_link_t*
    - int
    - int
    - int
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2586
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2586
    functionName: create_clut_v2
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - pow
    - floor
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int create_clut_v2(gsicc_clut *clut, gsicc_link_t *link, int num_in,\n
      \       int num_out, int table_size, gs_memory_t *memory, int bitdepth)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2605,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2607,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2610,1
    - Dst: add_matrixwithbias
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2619,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2625,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2627,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2632,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2634,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2647,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2658,1
    - Dst: write_bigendian_2bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2660,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - input_ptr
    - lut
    argTypes:
    - byte*
    - gsicc_clut*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2668
      start: 2592
    functionDepth: 0
    functionLinenumber: 2592
    functionLinenumberEnd: 2668
    functionName: add_lutType
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - add_matrixwithbias
    - memset
    - write_bigendian_2bytes
    - write_bigendian_4bytes
    linkageType: ''
    returnType: void
    signature: void add_lutType(byte *input_ptr, gsicc_clut *lut)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2679,1
    - Dst: create_clut_v2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2680,1
    - Dst: add_lutType
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2684,1
    - Dst: clean_lut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2685,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - pgs
    - intent
    - src_profile
    - des_profile
    - curr_ptr
    - table_size
    - bit_depth
    argTypes:
    - gs_gstate*
    - gsicc_rendering_intents_t
    - cmm_profile_t*
    - cmm_profile_t*
    - byte*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2688
      start: 2670
    functionDepth: 7
    functionLinenumber: 2670
    functionLinenumberEnd: 2688
    functionName: create_write_table_intent
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - create_clut_v2
    - clean_lut
    - gsicc_release_link
    - get_link
    - add_lutType
    linkageType: ''
    returnType: int
    signature: "int create_write_table_intent(const gs_gstate *pgs, gsicc_rendering_intents_t
      intent,\n        cmm_profile_t *src_profile, cmm_profile_t *des_profile, byte
      *curr_ptr,\n        int table_size, int bit_depth)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2707,1
    - Dst: init_common_tagsv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2716,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2717,1
    - Dst: getsize_lut16Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2720,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2721,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2729,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2731,1
    - Dst: write_v2_common_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2736,1
    - Dst: get_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2740,1
    - Dst: create_clut_v2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2743,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2746,1
    - Dst: add_lutType
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2751,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2754,1
    - Dst: clean_lut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2755,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2756,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 5
    argNames:
    - pgs
    - header
    - src_profile
    - mediawhitept
    - lab_profile
    argTypes:
    - gs_gstate*
    - icHeader*
    - cmm_profile_t*
    - byte*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2690
    functionDepth: 7
    functionLinenumber: 2690
    functionLinenumberEnd: 2765
    functionName: gsicc_create_v2input
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - getsize_lut16Type
    - init_tag
    - init_common_tagsv2
    - gs_alloc_bytes
    - save_profile
    - create_clut_v2
    - clean_lut
    - gsicc_release_link
    - write_v2_common_data
    - get_link
    - add_lutType
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_v2input(const gs_gstate *pgs, icHeader *header,
      cmm_profile_t *src_profile,\n                byte *mediawhitept, cmm_profile_t
      *lab_profile)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2785,1
    - Dst: init_common_tagsv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2794,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2795,1
    - Dst: getsize_lut16Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2799,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2800,1
    - Dst: getsize_lut8Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2801,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2802,1
    - Dst: getsize_lut16Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2805,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2806,1
    - Dst: getsize_lut8Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2807,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2808,1
    - Dst: getsize_lut16Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2811,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2812,1
    - Dst: getsize_lut8Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2813,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2814,1
    - Dst: getsize_lut8Type
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2818,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2819,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2827,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2829,1
    - Dst: write_v2_common_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2834,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2839,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2841,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2847,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2849,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2856,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2858,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2864,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2866,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2873,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2875,1
    - Dst: create_write_table_intent
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2881,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2883,1
    - Dst: create_clut_v2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2890,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2892,1
    - Dst: add_lutType
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2896,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2899,1
    - Dst: clean_lut
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2900,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2907,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 79
    argCount: 5
    argNames:
    - pgs
    - header
    - src_profile
    - mediawhitept
    - lab_profile
    argTypes:
    - gs_gstate*
    - icHeader*
    - cmm_profile_t*
    - byte*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2767
    functionDepth: 8
    functionLinenumber: 2767
    functionLinenumberEnd: 2909
    functionName: gsicc_create_v2output
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - getsize_lut16Type
    - init_tag
    - init_common_tagsv2
    - gs_alloc_bytes
    - save_profile
    - getsize_lut8Type
    - create_write_table_intent
    - create_clut_v2
    - clean_lut
    - write_v2_common_data
    - add_lutType
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_v2output(const gs_gstate *pgs, icHeader *header,
      cmm_profile_t *src_profile,\n                byte *mediawhitept, cmm_profile_t
      *lab_profile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2931,1
    - Dst: init_common_tagsv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2940,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2941,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2942,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2949,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2951,1
    - Dst: write_v2_common_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2956,1
    - Dst: get_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2962,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2968,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2974,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2978,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2979,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2980,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:2987,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 37
    argCount: 5
    argNames:
    - pgs
    - header
    - src_profile
    - mediawhitept
    - xyz_profile
    argTypes:
    - gs_gstate*
    - icHeader*
    - cmm_profile_t*
    - byte*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2989
      start: 2911
    functionDepth: 7
    functionLinenumber: 2911
    functionLinenumberEnd: 2989
    functionName: gsicc_create_v2displaygray
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - init_tag
    - init_common_tagsv2
    - gs_alloc_bytes
    - save_profile
    - add_curve
    - gsicc_release_link
    - write_v2_common_data
    - get_link
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_v2displaygray(const gs_gstate *pgs, icHeader *header,
      cmm_profile_t *src_profile,\n            byte *mediawhitept, cmm_profile_t *xyz_profile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3011,1
    - Dst: init_common_tagsv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3020,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3021,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3022,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3023,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3024,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3025,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3026,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3027,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3035,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3037,1
    - Dst: write_v2_common_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3042,1
    - Dst: get_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3048,1
    - Dst: get_colorant
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3052,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3053,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3059,1
    - Dst: get_trc
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3062,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3063,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3068,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3069,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3070,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3077,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    argCount: 5
    argNames:
    - pgs
    - header
    - src_profile
    - mediawhitept
    - xyz_profile
    argTypes:
    - gs_gstate*
    - icHeader*
    - cmm_profile_t*
    - byte*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3079
      start: 2991
    functionDepth: 7
    functionLinenumber: 2991
    functionLinenumberEnd: 3079
    functionName: gsicc_create_v2displayrgb
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - get_trc
    - init_tag
    - init_common_tagsv2
    - gs_alloc_bytes
    - get_colorant
    - save_profile
    - add_xyzdata
    - add_curve
    - gsicc_release_link
    - write_v2_common_data
    - get_link
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_v2displayrgb(const gs_gstate *pgs, icHeader *header,
      cmm_profile_t *src_profile,\n        byte *mediawhitept, cmm_profile_t *xyz_profile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_v2displaygray
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3088,1
    - Dst: gsicc_create_v2displayrgb
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3090,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - pgs
    - header
    - src_profile
    - mediawhitept
    - xyz_profile
    argTypes:
    - gs_gstate*
    - icHeader*
    - cmm_profile_t*
    - byte*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3081
    functionDepth: 8
    functionLinenumber: 3081
    functionLinenumberEnd: 3091
    functionName: gsicc_create_v2display
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - gsicc_create_v2displaygray
    - gsicc_create_v2displayrgb
    linkageType: ''
    returnType: void
    signature: "void gsicc_create_v2display(const gs_gstate *pgs, icHeader *header,
      cmm_profile_t *src_profile,\n                    byte *mediawhitept, cmm_profile_t
      *xyz_profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buff
    argTypes:
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3106
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3106
    functionName: readint32
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int readint32(byte *buff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3132,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3140,1
    - Dst: init_common_tagsv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3149,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3150,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3151,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3152,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3153,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3154,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3155,1
    - Dst: init_tag
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3156,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3164,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3166,1
    - Dst: get_D50
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3171,1
    - Dst: write_bigendian_4bytes
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3174,1
    - Dst: write_v2_common_data
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3179,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3183,1
    - Dst: double2XYZtype
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3184,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3189,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3195,1
    - Dst: add_xyzdata
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3201,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3206,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3209,1
    - Dst: add_curve
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3212,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3215,1
    - Dst: gsicc_init_profile_info
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3218,1
    - Dst: save_profile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 65
    argCount: 1
    argNames:
    - xyz_profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3224
      start: 3111
    functionDepth: 3
    functionLinenumber: 3111
    functionLinenumberEnd: 3224
    functionName: get_xyzprofile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - init_tag
    - init_common_tagsv2
    - gs_alloc_bytes
    - save_profile
    - get_D50
    - gsicc_init_profile_info
    - add_xyzdata
    - double2XYZtype
    - add_curve
    - write_bigendian_4bytes
    - setheader_common
    - write_v2_common_data
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int get_xyzprofile(cmm_profile_t *xyz_profile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: readint32
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3230,1
    - Dst: readint32
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3239,1
    - Dst: readint32
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3247,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - src_profile
    - mediawhitept
    argTypes:
    - cmm_profile_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3252
      start: 3226
    functionDepth: 1
    functionLinenumber: 3226
    functionLinenumberEnd: 3252
    functionName: get_mediawp
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - readint32
    - memcpy
    linkageType: ''
    returnType: bool
    signature: bool get_mediawp(cmm_profile_t *src_profile, byte *mediawhitept)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: setheader_common
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3266,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3281,1
    - Dst: gsicc_get_device_class
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3288,1
    - Dst: get_mediawp
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3293,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3295,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3306,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3309,1
    - Dst: get_xyzprofile
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3313,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3315,1
    - Dst: gsicc_create_v2input
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3326,1
    - Dst: gsicc_create_v2display
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3331,1
    - Dst: gsicc_create_v2output
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3336,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3341,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - pgs
    - src_profile
    argTypes:
    - gs_gstate*
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3254
    functionDepth: 9
    functionLinenumber: 3254
    functionLinenumberEnd: 3347
    functionName: gsicc_create_v2
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached:
    - get_xyzprofile
    - gsicc_create_v2input
    - gsicc_create_v2display
    - gsicc_create_v2output
    - get_mediawp
    - gs_warn
    - gsicc_profile_new
    - setheader_common
    - gsicc_get_device_class
    linkageType: ''
    returnType: void
    signature: void gsicc_create_v2(const gs_gstate *pgs, cmm_profile_t *src_profile)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - profile
    argTypes:
    - cmm_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3370
      start: 3352
    functionDepth: 0
    functionLinenumber: 3352
    functionLinenumberEnd: 3370
    functionName: gsicc_create_isv2
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gsicc_create_isv2(cmm_profile_t *profile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_create_isv2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3376,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3383,1
    - Dst: gsicc_create_v2
      Src: /src/libspectre/ghostscript/base/gsicc_create.c:3387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pgs
    - srcprofile
    - size
    argTypes:
    - gs_gstate*
    - cmm_profile_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3391
      start: 3372
    functionDepth: 10
    functionLinenumber: 3372
    functionLinenumberEnd: 3391
    functionName: gsicc_create_getv2buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_create.c
    functionUses: 3
    functionsReached:
    - gsicc_create_isv2
    - gsicc_create_v2
    - gsicc_get_profile_handle_buffer
    linkageType: ''
    returnType: byte
    signature: "byte *\ngsicc_create_getv2buffer(const gs_gstate *pgs, cmm_profile_t
      *srcprofile,\n                        int *size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: MM_SETUP
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun8.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MM_SETUP()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: lop_rop
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:98,1
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:105,1
    - Dst: _mm_set1_epi8
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:122,1
    - Dst: MM_SETUP
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:173,1
    - Dst: MM_SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:221,1
    - Dst: SPECIFIC_CODE
      Src: /src/libspectre/ghostscript/base/gsroprun8.h:274,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 3
    argNames:
    - op
    - d
    - len
    argTypes:
    - rop_run_op*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 278
    functionName: TEMPLATE_NAME
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun8.h
    functionUses: 0
    functionsReached:
    - _mm_set1_epi8
    - lop_rop
    - MM_SETUP
    - MM_SPECIFIC_CODE
    - SPECIFIC_CODE
    linkageType: ''
    returnType: void
    signature: void TEMPLATE_NAME(rop_run_op *op, byte *d, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - OUT_
    - ','
    - D_
    - ','
    - S_
    - ','
    - T_
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 100
    functionName: SPECIFIC_CODE
    functionSourceFile: /src/libspectre/ghostscript/base/gsroprun8.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SPECIFIC_CODE(OUT_, D_,S_,T_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ContextID
    - error_code
    - error_text
    argTypes:
    - cmsContext
    - cmsUInt32Number
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: gscms_error
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gs_warn1
    linkageType: ''
    returnType: void
    signature: "void gscms_error(cmsContext       ContextID,\n            cmsUInt32Number
      \ error_code,\n            const char      *error_text)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:56,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:60,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:62,1
    - Dst: gs_warn2
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:66,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - id
    - size
    argTypes:
    - cmsContext
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 51
    functionDepth: 5
    functionLinenumber: 51
    functionLinenumberEnd: 69
    functionName: gs_lcms2_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - malloc
    - cmsGetContextUserData
    - gs_warn2
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_malloc(cmsContext id, unsigned int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:75,1
    - Dst: gs_warn1
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:80,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:84,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:86,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - id
    - ptr
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 89
    functionName: gs_lcms2_free
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsGetContextUserData
    - gs_warn1
    - free
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_free(cmsContext id, void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:95,1
    - Dst: gs_lcms2_malloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:100,1
    - Dst: gs_lcms2_free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:103,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:107,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:109,1
    - Dst: gs_warn3
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:113,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - id
    - ptr
    - size
    argTypes:
    - cmsContext
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 116
    functionName: gs_lcms2_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gs_lcms2_malloc
    - gs_warn3
    - gs_resize_object
    - gs_lcms2_free
    - cmsGetContextUserData
    - realloc
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_realloc(cmsContext id, void *ptr, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetContextUserData
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:139,1
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:141,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - cmsContext
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 142
    functionName: gs_lcms2_createMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsGetContextUserData
    - gx_monitor_label
    - gx_monitor_alloc
    linkageType: ''
    returnType: void
    signature: void *gs_lcms2_createMutex(cmsContext id)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: gs_lcms2_destroyMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gx_monitor_free
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_destroyMutex(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: gs_lcms2_lockMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    linkageType: ''
    returnType: cmsBool
    signature: cmsBool gs_lcms2_lockMutex(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - id
    - mtx
    argTypes:
    - cmsContext
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 160
    functionName: gs_lcms2_unlockMutex
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    linkageType: ''
    returnType: void
    signature: void gs_lcms2_unlockMutex(cmsContext id, void* mtx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:185,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: gscms_get_input_channel_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 6
    functionsReached:
    - cmsChannelsOf
    - cmsGetColorSpace
    linkageType: ''
    returnType: int
    signature: int gscms_get_input_channel_count(gcmmhprofile_t profile, gs_memory_t
      *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:195,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: gscms_get_output_channel_count
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 5
    functionsReached:
    - cmsGetPCS
    - cmsChannelsOf
    linkageType: ''
    returnType: int
    signature: int gscms_get_output_channel_count(gcmmhprofile_t profile, gs_memory_t
      *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:205,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 200
    functionDepth: 4
    functionLinenumber: 200
    functionLinenumberEnd: 208
    functionName: gscms_get_numberclrtnames
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsReadTag
    - cmsNamedColorCount
    linkageType: ''
    returnType: int
    signature: int gscms_get_numberclrtnames(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmsReadTag
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:219,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:221,1
    - Dst: cmsNamedColorInfo
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:222,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:230,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:231,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - profile
    - colorcount
    - memory
    argTypes:
    - gcmmhprofile_t
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 211
    functionDepth: 4
    functionLinenumber: 211
    functionLinenumberEnd: 235
    functionName: gscms_get_clrtname
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsNamedColorCount
    - gs_alloc_bytes
    - cmsNamedColorInfo
    - strlen
    - strcpy
    - cmsReadTag
    linkageType: ''
    returnType: char
    signature: 'char *

      gscms_get_clrtname(gcmmhprofile_t profile, int colorcount, gs_memory_t *memory)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: gscms_is_device_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsGetDeviceClass
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_device_link(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: gscms_get_device_class
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsGetDeviceClass
    linkageType: ''
    returnType: int
    signature: int gscms_get_device_class(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetDeviceClass
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 256
    functionName: gscms_is_input
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsGetDeviceClass
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_input(gcmmhprofile_t profile, gs_memory_t *memory)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - gcmmhprofile_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 279
    functionName: gscms_get_profile_data_space
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 5
    functionsReached:
    - cmsGetColorSpace
    linkageType: ''
    returnType: gsicc_colorbuffer_t
    signature: gsicc_colorbuffer_t gscms_get_profile_data_space(gcmmhprofile_t profile,
      gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:286,1
    - Dst: cmsSetLogErrorHandlerTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:288,1
    - Dst: cmsOpenProfileFromMemTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - input_size
    - mem
    argTypes:
    - unsigned char*
    - unsigned int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 282
    functionDepth: 1
    functionLinenumber: 282
    functionLinenumberEnd: 290
    functionName: gscms_get_profile_handle_mem
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 2
    functionsReached:
    - cmsOpenProfileFromMemTHR
    - gs_lib_ctx_get_cms_context
    - cmsSetLogErrorHandlerTHR
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: "gcmmhprofile_t gscms_get_profile_handle_mem(unsigned char *buffer,\n
      \                            unsigned int input_size, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:296,1
    - Dst: cmsOpenProfileFromFileTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - mem
    argTypes:
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 299
    functionName: gscms_get_profile_handle_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsOpenProfileFromFileTHR
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: gcmmhprofile_t
    signature: gcmmhprofile_t gscms_get_profile_handle_file(const char *filename,
      gs_memory_t *mem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:324,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:324,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:324,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:325,1
    - Dst: T_COLORSPACE
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:325,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:325,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:330,1
    - Dst: PLANAR_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:332,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:337,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:340,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:344,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:346,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:349,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:349,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:350,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:350,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:354,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:356,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:357,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:364,1
    - Dst: EXTRA_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:365,1
    - Dst: cmsChangeBuffersFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:368,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:385,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:397,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:401,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:402,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:406,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:415,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:420,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:424,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:431,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:433,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:439,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:446,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:447,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:448,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:450,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:452,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:453,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 74
    argCount: 6
    argNames:
    - dev
    - icclink
    - input_buff_desc
    - output_buff_desc
    - inputbuffer
    - outputbuffer
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - gsicc_bufferdesc_t*
    - gsicc_bufferdesc_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 456
    functionName: gscms_transform_color_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - BYTES_SH
    - cmsGetTransformOutputFormat
    - fclose
    - cmsDoTransform
    - COLORSPACE_SH
    - CHANNELS_SH
    - gs_free_object
    - fwrite
    - gp_fopen
    - PLANAR_SH
    - ENDIAN16_SH
    - cmsGetTransformInputFormat
    - cmsChangeBuffersFormat
    - T_COLORSPACE
    - EXTRA_SH
    - memcpy
    - return_error
    - T_CHANNELS
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_color_buffer(gx_device *dev, gsicc_link_t *icclink,\n
      \                            gsicc_bufferdesc_t *input_buff_desc,\n                             gsicc_bufferdesc_t
      *output_buff_desc,\n                             void *inputbuffer,\n                             void
      *outputbuffer)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:472,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:473,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:474,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:475,1
    - Dst: cmsChangeBuffersFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:477,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - dev
    - icclink
    - inputcolor
    - outputcolor
    - num_bytes
    argTypes:
    - gx_device*
    - gsicc_link_t*
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 482
    functionName: gscms_transform_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 6
    functionsReached:
    - cmsChangeBuffersFormat
    - cmsGetTransformInputFormat
    - cmsDoTransform
    - BYTES_SH
    - cmsGetTransformOutputFormat
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_color(gx_device *dev, gsicc_link_t *icclink, void
      *inputcolor,\n                             void *outputcolor, int num_bytes)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 490
    functionName: gscms_avoid_white_fix_flag
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gscms_avoid_white_fix_flag(gs_memory_t *memory)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:496,1
    - Dst: cmsGetTransformInputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:496,1
    - Dst: T_CHANNELS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:497,1
    - Dst: cmsGetTransformOutputFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - link
    - num_inputs
    - num_outputs
    - memory
    argTypes:
    - gcmmhlink_t
    - int*
    - int*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 498
    functionName: gscms_get_link_dim
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsGetTransformOutputFormat
    - cmsGetTransformInputFormat
    - T_CHANNELS
    linkageType: ''
    returnType: void
    signature: "void gscms_get_link_dim(gcmmhlink_t link, int *num_inputs, int *num_outputs,\n
      \   gs_memory_t *memory)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:512,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:518,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:519,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:522,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:525,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:526,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:526,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:528,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:531,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:534,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:536,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:538,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:539,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:540,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:540,1
    - Dst: ENDIAN16_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:543,1
    - Dst: cmsCreateTransformTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:582,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 5
    argNames:
    - lcms_srchandle
    - lcms_deshandle
    - rendering_params
    - cmm_flags
    - memory
    argTypes:
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 501
    functionDepth: 2
    functionLinenumber: 501
    functionLinenumberEnd: 587
    functionName: gscms_get_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 5
    functionsReached:
    - cmsChannelsOf
    - ENDIAN16_SH
    - cmsCreateTransformTHR
    - cmsGetColorSpace
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsGetPCS
    - CHANNELS_SH
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: gcmmhlink_t
    signature: "gcmmhlink_t gscms_get_link(gcmmhprofile_t  lcms_srchandle,\n               gcmmhprofile_t
      lcms_deshandle,\n               gsicc_rendering_param_t *rendering_params, int
      cmm_flags,\n               gs_memory_t *memory)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:609,1
    - Dst: gscms_get_link
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:625,1
    - Dst: cmsTransform2DeviceLink
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:633,1
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:635,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:636,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:637,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:640,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:643,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:644,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:644,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:646,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:648,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:650,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:652,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:653,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:654,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:654,1
    - Dst: cmsCreateMultiprofileTransformTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:672,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:675,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:679,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:680,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:683,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:686,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:687,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:687,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:690,1
    - Dst: cmsGetColorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:692,1
    - Dst: cmsGetPCS
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:695,1
    - Dst: _cmsLCMScolorSpace
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:697,1
    - Dst: cmsChannelsOf
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:699,1
    - Dst: COLORSPACE_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:700,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:701,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:701,1
    - Dst: cmsCreateMultiprofileTransformTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:725,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 78
    argCount: 8
    argNames:
    - lcms_srchandle
    - lcms_proofhandle
    - lcms_deshandle
    - lcms_devlinkhandle
    - rendering_params
    - src_dev_link
    - cmm_flags
    - memory
    argTypes:
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    - bool
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 729
    functionName: gscms_get_link_proof_devlink
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 1
    functionsReached:
    - cmsChannelsOf
    - cmsDeleteTransform
    - gs_lib_ctx_get_cms_context
    - cmsTransform2DeviceLink
    - cmsGetColorSpace
    - BYTES_SH
    - COLORSPACE_SH
    - _cmsLCMScolorSpace
    - cmsCreateMultiprofileTransformTHR
    - cmsGetPCS
    - CHANNELS_SH
    - gscms_get_link
    - cmsCloseProfile
    linkageType: ''
    returnType: gcmmhlink_t
    signature: "gcmmhlink_t gscms_get_link_proof_devlink(gcmmhprofile_t lcms_srchandle,\n
      \                            gcmmhprofile_t lcms_proofhandle,\n                             gcmmhprofile_t
      lcms_deshandle,\n                             gcmmhprofile_t lcms_devlinkhandle,\n
      \                            gsicc_rendering_param_t *rendering_params,\n                             bool
      src_dev_link, int cmm_flags,\n                             gs_memory_t *memory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsCreateContext
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:738,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:740,1
    - Dst: cmsPluginTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:743,1
    - Dst: cmsSetLogErrorHandlerTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:746,1
    - Dst: gs_lib_ctx_set_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:747,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 732
    functionDepth: 3
    functionLinenumber: 732
    functionLinenumberEnd: 749
    functionName: gscms_create
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_set_cms_context
    - cmsCreateContext
    - cmsSetLogErrorHandlerTHR
    - cmsPluginTHR
    - return_error
    linkageType: ''
    returnType: int
    signature: int gscms_create(gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:755,1
    - Dst: cmsDeleteContext
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:759,1
    - Dst: gs_lib_ctx_set_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - memory
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 752
    functionDepth: 3
    functionLinenumber: 752
    functionLinenumberEnd: 761
    functionName: gscms_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsDeleteContext
    - gs_lib_ctx_set_cms_context
    - gs_lib_ctx_get_cms_context
    linkageType: ''
    returnType: void
    signature: void gscms_destroy(gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsDeleteTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - icclink
    argTypes:
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 764
    functionDepth: 4
    functionLinenumber: 764
    functionLinenumberEnd: 771
    functionName: gscms_release_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 3
    functionsReached:
    - cmsDeleteTransform
    linkageType: ''
    returnType: void
    signature: void gscms_release_link(gsicc_link_t *icclink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - profile
    - memory
    argTypes:
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 774
    functionDepth: 7
    functionLinenumber: 774
    functionLinenumberEnd: 781
    functionName: gscms_release_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: void gscms_release_profile(void *profile, gs_memory_t *memory)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cmsNamedColorIndex
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:815,1
    - Dst: cmsDoTransform
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - icclink
    - tint_value
    - ColorName
    - device_values
    argTypes:
    - gsicc_link_t*
    - float
    - char*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 805
    functionDepth: 3
    functionLinenumber: 805
    functionLinenumberEnd: 819
    functionName: gscms_transform_named_color
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsNamedColorIndex
    - cmsDoTransform
    linkageType: ''
    returnType: int
    signature: "int gscms_transform_named_color(gsicc_link_t *icclink,  float tint_value,\n
      \                           const char* ColorName, gx_color_value device_values[]
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_cms_context
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:838,1
    - Dst: cmsCreateProofingTransformTHR
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:849,1
    - Dst: cmsNamedColorCount
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:859,1
    - Dst: cmsGetNamedColorList
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:859,1
    - Dst: CHANNELS_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:861,1
    - Dst: BYTES_SH
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:861,1
    - Dst: cmsChangeBuffersFormat
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:863,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:865,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:866,1
    - Dst: cmsCloseProfile
      Src: /src/libspectre/ghostscript/base/gsicc_lcms2.c:867,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - icclink
    - lcms_srchandle
    - lcms_deshandle
    - lcms_proofhandle
    - rendering_params
    argTypes:
    - gsicc_link_t*
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gcmmhprofile_t
    - gsicc_rendering_param_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 827
    functionDepth: 7
    functionLinenumber: 827
    functionLinenumberEnd: 869
    functionName: gscms_get_name2device_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 0
    functionsReached:
    - cmsCreateProofingTransformTHR
    - cmsNamedColorCount
    - cmsGetNamedColorList
    - cmsChangeBuffersFormat
    - BYTES_SH
    - CHANNELS_SH
    - gs_lib_ctx_get_cms_context
    - cmsCloseProfile
    linkageType: ''
    returnType: void
    signature: "void gscms_get_name2device_link(gsicc_link_t *icclink,\n                           gcmmhprofile_t
      \ lcms_srchandle,\n                           gcmmhprofile_t lcms_deshandle,\n
      \                          gcmmhprofile_t lcms_proofhandle,\n                           gsicc_rendering_param_t
      *rendering_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 875
    functionName: gscms_is_threadsafe
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc_lcms2.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gscms_is_threadsafe(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: fmap_type_is_modal
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont0.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fmap_type_is_modal(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: public_st_gs_font_type0
    functionSourceFile: /src/libspectre/ghostscript/base/gxfont0.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_font_type0()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gscparam.c:68,1
    - Dst: gs_param_typed_value_enum_ptrs
      Src: /src/libspectre/ghostscript/base/gscparam.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - param
    argTypes:
    - gs_c_param*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gscparam.c
    functionUses: 0
    functionsReached:
    - gs_param_typed_value_enum_ptrs
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(c_param_enum_ptrs, gs_c_param *param)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: sfileno
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int sfileno(const stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: ltell
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - lseek
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t ltell(int fd)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - errn
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: errno_is_retry
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool errno_is_retry(int errn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:120,1
    - Dst: ltell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:121,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:122,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/sfxfd.c:124,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxfd.c:126,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 132
    functionName: sread_fileno
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - fileno
    - s_std_init
    - if_debug2m
    - ltell
    - lseek
    linkageType: ''
    returnType: void
    signature: void sread_fileno(register stream * s, gp_file * file, byte * buf,
      uint len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:146,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 7
    argCount: 3
    argNames:
    - s
    - start
    - length
    argTypes:
    - stream*
    - gs_offset_t
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 153
    functionName: sread_subfile
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - sseek
    linkageType: ''
    returnType: int
    signature: int sread_subfile(stream *s, gs_offset_t start, gs_offset_t length)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:160,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/base/sfxfd.c:161,1
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:162,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfxfd.c:164,1
    - Dst: sseekable
      Src: /src/libspectre/ghostscript/base/sfxfd.c:165,1
    - Dst: ltell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:168,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:171,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:172,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sfxfd.c:175,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pl
    argTypes:
    - stream*
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 183
    functionName: s_fileno_available
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - stell
    - sfileno
    - ltell
    - sbufavailable
    - sseekable
    - min
    - lseek
    linkageType: ''
    returnType: int
    signature: int s_fileno_available(register stream * s, gs_offset_t *pl)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:195,1
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 202
    functionName: s_fileno_read_seek
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - sfileno
    - lseek
    linkageType: ''
    returnType: int
    signature: int s_fileno_read_seek(register stream * s, gs_offset_t pos)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/sfxfd.c:210,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 213
    functionName: s_fileno_read_close
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int s_fileno_read_close(stream * s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:222,1
    - Dst: ltell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:230,1
    - Dst: read
      Src: /src/libspectre/ghostscript/base/sfxfd.c:240,1
    - Dst: errno_is_retry
      Src: /src/libspectre/ghostscript/base/sfxfd.c:245,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxfd.c:249,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 251
    functionName: s_fileno_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - read
    - errno_is_retry
    - sfileno
    - process_interrupts
    - ltell
    linkageType: ''
    returnType: int
    signature: "int s_fileno_read_process(stream_state * st, stream_cursor_read *
      ignore_pr,\n                      stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/sfxfd.c:265,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxfd.c:267,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 273
    functionName: swrite_fileno
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - fileno
    - if_debug2m
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void swrite_fileno(register stream * s, gp_file * file, byte * buf,
      uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: swrite_fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:278,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:281,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - s
    - file
    - buf
    - len
    argTypes:
    - stream*
    - gp_file*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 282
    functionName: sappend_fileno
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - swrite_fileno
    - fileno
    - lseek
    linkageType: ''
    returnType: void
    signature: void sappend_fileno(register stream * s, gp_file * file, byte * buf,
      uint len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/sfxfd.c:288,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:292,1
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 296
    functionName: s_fileno_write_seek
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - sflush
    - lseek
    - sfileno
    linkageType: ''
    returnType: int
    signature: int s_fileno_write_seek(stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/sfxfd.c:300,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/sfxfd.c:302,1
    - Dst: fsync
      Src: /src/libspectre/ghostscript/base/sfxfd.c:302,1
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 304
    functionName: s_fileno_write_flush
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - s_process_write_buf
    - sfileno
    - fsync
    - discard
    linkageType: ''
    returnType: int
    signature: int s_fileno_write_flush(register stream * s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_process_write_buf
      Src: /src/libspectre/ghostscript/base/sfxfd.c:308,1
    - Dst: s_fileno_read_close
      Src: /src/libspectre/ghostscript/base/sfxfd.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 310
    functionName: s_fileno_write_close
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - s_process_write_buf
    - s_fileno_read_close
    linkageType: ''
    returnType: int
    signature: int s_fileno_write_close(register stream * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxfd.c:326,1
    - Dst: write
      Src: /src/libspectre/ghostscript/base/sfxfd.c:330,1
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:330,1
    - Dst: errno_is_retry
      Src: /src/libspectre/ghostscript/base/sfxfd.c:334,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/sfxfd.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - st
    - pr
    - ignore_pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 340
    functionName: s_fileno_write_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - write
    - errno_is_retry
    - sfileno
    - process_interrupts
    linkageType: ''
    returnType: int
    signature: "int s_fileno_write_process(stream_state * st, stream_cursor_read *
      pr,\n                       stream_cursor_write * ignore_pw, bool last)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: sfileno
      Src: /src/libspectre/ghostscript/base/sfxfd.c:349,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:355,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxfd.c:356,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:358,1
    - Dst: sappend_file
      Src: /src/libspectre/ghostscript/base/sfxfd.c:360,1
    - Dst: swrite_file
      Src: /src/libspectre/ghostscript/base/sfxfd.c:362,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/sfxfd.c:369,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sfxfd.c:370,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/base/sfxfd.c:372,1
    - Dst: lseek
      Src: /src/libspectre/ghostscript/base/sfxfd.c:374,1
    - Dst: sread_file
      Src: /src/libspectre/ghostscript/base/sfxfd.c:375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 2
    argNames:
    - s
    - writing
    argTypes:
    - stream*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 381
    functionName: s_fileno_switch
    functionSourceFile: /src/libspectre/ghostscript/base/sfxfd.c
    functionUses: 0
    functionsReached:
    - sread_file
    - stell
    - sappend_file
    - sfileno
    - swrite_file
    - if_debug2m
    - sflush
    - lseek
    linkageType: ''
    returnType: int
    signature: int s_fileno_switch(stream * s, bool writing)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DISCARD
      Src: /src/libspectre/ghostscript/base/gxttfb.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mptr
    argTypes:
    - gx_ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 54
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - DISCARD
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(gx_ttfReader_enum_ptrs, gx_ttfReader *mptr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 72
    functionName: gx_ttfReader__Eof
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END gx_ttfReader__Eof(ttfReader *self)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:84,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxttfb.c:86,1
    - Dst: gx_ttfReader*::pfont::data::string_proc
      Src: /src/libspectre/ghostscript/base/gxttfb.c:92,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxttfb.c:96,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxttfb.c:99,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxttfb.c:105,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 3
    argNames:
    - self
    - p
    - n
    argTypes:
    - ttfReader*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 109
    functionName: gx_ttfReader__Read
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gx_ttfReader*::pfont::data::string_proc
    - gs_note_error
    - memcpy
    - memset
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__Read(ttfReader *self, void *p, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - self
    - nPos
    argTypes:
    - ttfReader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: gx_ttfReader__Seek
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__Seek(ttfReader *self, int nPos)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: gx_ttfReader__Tell
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_ttfReader__Tell(ttfReader *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: gx_ttfReader__Error
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_ttfReader__Error(ttfReader *self)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_type42*::data::get_outline
      Src: /src/libspectre/ghostscript/base/gxttfb.c:144,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - self
    - glyph_index
    - p
    - size
    argTypes:
    - ttfReader*
    - int
    - byte**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 157
    functionName: gx_ttfReader__LoadGlyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gs_font_type42*::data::get_outline
    linkageType: ''
    returnType: int
    signature: int gx_ttfReader__LoadGlyph(ttfReader *self, int glyph_index, const
      byte **p, int *size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gxttfb.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - self
    - glyph_index
    argTypes:
    - ttfReader*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 167
    functionName: gx_ttfReader__ReleaseGlyph
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_glyph_data_free
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__ReleaseGlyph(ttfReader *self, int glyph_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gxttfb.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 177
    functionName: gx_ttfReader__Reset
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_glyph_data_free
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__Reset(gx_ttfReader *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxttfb.c:181,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxttfb.c:194,1
    - Dst: gx_ttfReader__Reset
      Src: /src/libspectre/ghostscript/base/gxttfb.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 200
    functionName: gx_ttfReader__create
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - memset
    - gx_ttfReader__Reset
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_ttfReader
    signature: gx_ttfReader *gx_ttfReader__create(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxttfb.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - self
    argTypes:
    - gx_ttfReader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 205
    functionName: gx_ttfReader__destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__destroy(gx_ttfReader *self)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_ttfReader*::pfont::data::get_metrics
      Src: /src/libspectre/ghostscript/base/gxttfb.c:217,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxttfb.c:225,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxttfb.c:226,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - ttf
    - glyph_index
    - bVertical
    - sideBearing
    - nAdvance
    argTypes:
    - ttfReader*
    - uint
    - bool
    - short*
    - unsigned short*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 228
    functionName: gx_ttfReader__default_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - floor
    - gx_ttfReader*::pfont::data::get_metrics
    linkageType: ''
    returnType: int
    signature: "int gx_ttfReader__default_get_metrics(const ttfReader *ttf, uint glyph_index,
      bool bVertical,\n                                  short *sideBearing, unsigned
      short *nAdvance)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - pfont
    argTypes:
    - gx_ttfReader*
    - gs_font_type42*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 234
    functionName: gx_ttfReader__set_font
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_ttfReader__set_font(gx_ttfReader *self, gs_font_type42 *pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ttf
    argTypes:
    - ttfFont*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 240
    functionName: DebugRepaint
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DebugRepaint(ttfFont *ttf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxttfb.c:249,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/gxttfb.c:250,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/gxttfb.c:251,1
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gxttfb.c:254,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/gxttfb.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - ttf
    - fmt
    argTypes:
    - ttfFont*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 258
    functionName: DebugPrint
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - va_start
    - errwrite
    - gs_debug_c
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: int
    signature: int DebugPrint(ttfFont *ttf, const char *fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxttfb.c:270,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxttfb.c:271,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxttfb.c:274,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxttfb.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pfont
    - glyph_index
    argTypes:
    - gs_font_type42*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: WarnBadInstruction
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - emprintf2
    - memcpy
    - min
    - emprintf1
    linkageType: ''
    returnType: void
    signature: void WarnBadInstruction(gs_font_type42 *pfont, int glyph_index)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxttfb.c:297,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxttfb.c:298,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxttfb.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pfont
    - ttf
    - txt
    argTypes:
    - gs_font_type42*
    - ttfFont*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 307
    functionName: WarnPatented
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - emprintf2
    - memcpy
    - min
    linkageType: ''
    returnType: void
    signature: void WarnPatented(gs_font_type42 *pfont, ttfFont *ttf, const char *txt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxttfb.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - size
    - cname
    argTypes:
    - ttfMemory*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 324
    functionName: gx_ttfMemory__alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *gx_ttfMemory__alloc_bytes(ttfMemory *self, int size,  const char
      *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_t*::procs::alloc_struct
      Src: /src/libspectre/ghostscript/base/gxttfb.c:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - d
    - cname
    argTypes:
    - ttfMemory*
    - ttfMemoryDescriptor*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 331
    functionName: gx_ttfMemory__alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_memory_t*::procs::alloc_struct
    linkageType: ''
    returnType: void
    signature: void *gx_ttfMemory__alloc_struct(ttfMemory *self, const ttfMemoryDescriptor
      *d,  const char *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxttfb.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - self
    - p
    - cname
    argTypes:
    - ttfMemory*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 338
    functionName: gx_ttfMemory__free
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_ttfMemory__free(ttfMemory *self, void *p,  const char *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxttfb.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - x
    argTypes:
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 345
    functionName: reminder
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: float
    signature: float reminder(float v, int x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gxttfb.c:363,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxttfb.c:366,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gxttfb.c:367,1
    - Dst: gs_currentgridfittt
      Src: /src/libspectre/ghostscript/base/gxttfb.c:372,1
    - Dst: reminder
      Src: /src/libspectre/ghostscript/base/gxttfb.c:374,1
    - Dst: reminder
      Src: /src/libspectre/ghostscript/base/gxttfb.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 8
    argNames:
    - pfont
    - char_tm
    - log2_scale
    - design_grid
    - char_size
    - subpix_origin
    - post_transform
    - dg
    argTypes:
    - gs_font_type42*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    - gs_point*
    - gs_point*
    - gs_matrix*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 382
    functionName: decompose_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gs_currentgridfittt
    - hypot
    - reminder
    - gs_currentaligntopixels
    linkageType: ''
    returnType: void
    signature: "void decompose_matrix(const gs_font_type42 *pfont, const gs_matrix
      * char_tm,\n    const gs_log2_scale_point *log2_scale, bool design_grid,\n    gs_point
      *char_size, gs_point *subpix_origin, gs_matrix *post_transform, bool *dg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxttfb.c:392,1
    - Dst: ttfInterpreter__obtain
      Src: /src/libspectre/ghostscript/base/gxttfb.c:402,1
    - Dst: gx_san__obtain
      Src: /src/libspectre/ghostscript/base/gxttfb.c:404,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxttfb.c:406,1
    - Dst: ttfFont__init
      Src: /src/libspectre/ghostscript/base/gxttfb.c:410,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxttfb.c:411,1
    - Dst: ttfFont__init
      Src: /src/libspectre/ghostscript/base/gxttfb.c:413,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - dir
    argTypes:
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 417
    functionName: ttfFont__create
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    - gx_san__obtain
    - ttfFont__init
    - ttfInterpreter__obtain
    - gs_alloc_struct
    linkageType: ''
    returnType: ttfFont
    signature: ttfFont *ttfFont__create(gs_font_dir *dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ttfFont__finit
      Src: /src/libspectre/ghostscript/base/gxttfb.c:423,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxttfb.c:424,1
    - Dst: ttfInterpreter__release
      Src: /src/libspectre/ghostscript/base/gxttfb.c:425,1
    - Dst: gx_san__release
      Src: /src/libspectre/ghostscript/base/gxttfb.c:426,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxttfb.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - self
    - dir
    argTypes:
    - ttfFont*
    - gs_font_dir*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 431
    functionName: ttfFont__destroy
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - gx_san__release
    - ttfInterpreter__release
    - ttfFont__finit
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ttfFont__destroy(ttfFont *self, gs_font_dir *dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: decompose_matrix
      Src: /src/libspectre/ghostscript/base/gxttfb.c:447,1
    - Dst: ttfFont__Open
      Src: /src/libspectre/ghostscript/base/gxttfb.c:448,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:452,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:454,1
    - Dst: WarnBadInstruction
      Src: /src/libspectre/ghostscript/base/gxttfb.c:456,1
    - Dst: WarnPatented
      Src: /src/libspectre/ghostscript/base/gxttfb.c:459,1
    - Dst: gx_ttfReader*::super::Error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:464,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:468,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 7
    argNames:
    - self
    - tti
    - r
    - pfont
    - char_tm
    - log2_scale
    - design_grid
    argTypes:
    - ttfFont*
    - ttfInterpreter*
    - gx_ttfReader*
    - gs_font_type42*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 471
    functionName: ttfFont__Open_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - decompose_matrix
    - ttfFont__Open
    - WarnBadInstruction
    - WarnPatented
    - return_error
    - gx_ttfReader*::super::Error
    linkageType: ''
    returnType: int
    signature: "int ttfFont__Open_aux(ttfFont *self, ttfInterpreter *tti, gx_ttfReader
      *r, gs_font_type42 *pfont,\n               const gs_matrix * char_tm, const
      gs_log2_scale_point *log2_scale,\n               bool design_grid)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxttfb.c:488,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:488,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - self
    - p
    argTypes:
    - ttfExport*
    - FloatPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: gx_ttfExport__MoveTo
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_path_add_point
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__MoveTo(ttfExport *self, FloatPoint *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxttfb.c:496,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:496,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:496,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - self
    - p
    argTypes:
    - ttfExport*
    - FloatPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: gx_ttfExport__LineTo
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_path_add_line_notes
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__LineTo(ttfExport *self, FloatPoint *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:508,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:508,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:509,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:509,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:510,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:510,1
    - Dst: gx_curve_monotonize
      Src: /src/libspectre/ghostscript/base/gxttfb.c:511,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxttfb.c:513,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:513,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:513,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:514,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:514,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:515,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - self
    - p0
    - p1
    - p2
    argTypes:
    - ttfExport*
    - FloatPoint*
    - FloatPoint*
    - FloatPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 517
    functionName: gx_ttfExport__CurveTo
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_path_add_curve_notes
    - gx_curve_monotonize
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__CurveTo(ttfExport *self, FloatPoint *p0, FloatPoint
      *p1, FloatPoint *p2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxttfb.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfExport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    functionName: gx_ttfExport__Close
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - gx_path_close_subpath_notes
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__Close(ttfExport *self)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 4
    argNames:
    - self
    - p
    - bOnCurve
    - bNewPath
    argTypes:
    - ttfExport*
    - FloatPoint*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 530
    functionName: gx_ttfExport__Point
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__Point(ttfExport *self, FloatPoint *p, bool bOnCurve,
      bool bNewPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:536,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxttfb.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - self
    - p
    argTypes:
    - ttfExport*
    - FloatPoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 538
    functionName: gx_ttfExport__SetWidth
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - float2fixed
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__SetWidth(ttfExport *self, FloatPoint *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - self
    argTypes:
    - ttfExport*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    functionName: gx_ttfExport__DebugPaint
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_ttfExport__DebugPaint(ttfExport *self)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gxttfb.c:555,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gxttfb.c:558,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gxttfb.c:564,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gxttfb.c:566,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gxttfb.c:570,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gxttfb.c:573,1
    - Dst: t1_hinter__closepath
      Src: /src/libspectre/ghostscript/base/gxttfb.c:579,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:582,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - h
    - path
    argTypes:
    - t1_hinter*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 546
    functionDepth: 5
    functionLinenumber: 546
    functionLinenumberEnd: 589
    functionName: path_to_hinter
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - t1_hinter__rcurveto
    - t1_hinter__rlineto
    - gx_path_enum_next
    - t1_hinter__closepath
    - return_error
    - t1_hinter__rmoveto
    - gx_path_enum_init
    linkageType: ''
    returnType: int
    signature: int path_to_hinter(t1_hinter *h, gx_path *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 591
    functionDepth: 0
    functionLinenumber: 591
    functionLinenumberEnd: 592
    functionName: exch
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exch(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exch
      Src: /src/libspectre/ghostscript/base/gxttfb.c:597,1
    - Dst: exch
      Src: /src/libspectre/ghostscript/base/gxttfb.c:598,1
    - Dst: exch
      Src: /src/libspectre/ghostscript/base/gxttfb.c:603,1
    - Dst: exch
      Src: /src/libspectre/ghostscript/base/gxttfb.c:604,1
    - Dst: exch
      Src: /src/libspectre/ghostscript/base/gxttfb.c:606,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - path
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 608
    functionName: transpose_path
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - exch
    linkageType: ''
    returnType: void
    signature: void transpose_path(gx_path *path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__overall_hstem
      Src: /src/libspectre/ghostscript/base/gxttfb.c:631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - client_data
    - ss
    argTypes:
    - void*
    - gx_san_sect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 616
    functionDepth: 5
    functionLinenumber: 616
    functionLinenumberEnd: 632
    functionName: stem_hint_handler
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - t1_hinter__overall_hstem
    linkageType: ''
    returnType: int
    signature: int stem_hint_handler(void *client_data, gx_san_sect *ss)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gxttfb.c:658,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/base/gxttfb.c:670,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/base/gxttfb.c:673,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/base/gxttfb.c:676,1
    - Dst: t1_hinter__init
      Src: /src/libspectre/ghostscript/base/gxttfb.c:679,1
    - Dst: t1_hinter__set_mapping
      Src: /src/libspectre/ghostscript/base/gxttfb.c:680,1
    - Dst: ttfOutliner__DrawGlyphOutline
      Src: /src/libspectre/ghostscript/base/gxttfb.c:690,1
    - Dst: t1_hinter__set_font42_data
      Src: /src/libspectre/ghostscript/base/gxttfb.c:693,1
    - Dst: t1_hinter__sbw
      Src: /src/libspectre/ghostscript/base/gxttfb.c:696,1
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxttfb.c:699,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxttfb.c:702,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxttfb.c:704,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxttfb.c:707,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxttfb.c:707,1
    - Dst: transpose_path
      Src: /src/libspectre/ghostscript/base/gxttfb.c:712,1
    - Dst: gx_san_begin
      Src: /src/libspectre/ghostscript/base/gxttfb.c:713,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxttfb.c:714,1
    - Dst: gx_san_end
      Src: /src/libspectre/ghostscript/base/gxttfb.c:716,1
    - Dst: gx_san_generate_stems
      Src: /src/libspectre/ghostscript/base/gxttfb.c:718,1
    - Dst: transpose_path
      Src: /src/libspectre/ghostscript/base/gxttfb.c:721,1
    - Dst: path_to_hinter
      Src: /src/libspectre/ghostscript/base/gxttfb.c:729,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxttfb.c:732,1
    - Dst: t1_hinter__endglyph
      Src: /src/libspectre/ghostscript/base/gxttfb.c:735,1
    - Dst: ttfOutliner__DrawGlyphOutline
      Src: /src/libspectre/ghostscript/base/gxttfb.c:737,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 6
    argNames:
    - padev
    - path
    - pfont
    - pscale
    - e
    - o
    argTypes:
    - gx_device_spot_analyzer*
    - gx_path*
    - gs_font_type42*
    - gs_log2_scale_point*
    - gx_ttfExport*
    - ttfOutliner*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 647
    functionDepth: 9
    functionLinenumber: 647
    functionLinenumberEnd: 742
    functionName: grid_fit
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 0
    functionsReached:
    - t1_hinter__init
    - ttfOutliner__DrawGlyphOutline
    - max
    - gx_san_begin
    - gx_path_bbox
    - gx_san_generate_stems
    - t1_hinter__set_font42_data
    - memset
    - gs_matrix_fixed_from_matrix
    - t1_hinter__endglyph
    - transpose_path
    - gx_path_new
    - gx_san_end
    - t1_hinter__set_mapping
    - gs_matrix_scale
    - path_to_hinter
    - dev_proc
    - set_nonclient_dev_color
    - gs_currentaligntopixels
    - t1_hinter__sbw
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int grid_fit(gx_device_spot_analyzer *padev, gx_path *path,\n        gs_font_type42
      *pfont, const gs_log2_scale_point *pscale, gx_ttfExport *e, ttfOutliner *o)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentgridfittt
      Src: /src/libspectre/ghostscript/base/gxttfb.c:756,1
    - Dst: decompose_matrix
      Src: /src/libspectre/ghostscript/base/gxttfb.c:766,1
    - Dst: gx_ttfReader__Reset
      Src: /src/libspectre/ghostscript/base/gxttfb.c:787,1
    - Dst: ttfOutliner__init
      Src: /src/libspectre/ghostscript/base/gxttfb.c:788,1
    - Dst: ttfOutliner__Outline
      Src: /src/libspectre/ghostscript/base/gxttfb.c:789,1
    - Dst: WarnBadInstruction
      Src: /src/libspectre/ghostscript/base/gxttfb.c:791,1
    - Dst: WarnPatented
      Src: /src/libspectre/ghostscript/base/gxttfb.c:796,1
    - Dst: grid_fit
      Src: /src/libspectre/ghostscript/base/gxttfb.c:799,1
    - Dst: grid_fit
      Src: /src/libspectre/ghostscript/base/gxttfb.c:803,1
    - Dst: ttfOutliner__DrawGlyphOutline
      Src: /src/libspectre/ghostscript/base/gxttfb.c:804,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:809,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:811,1
    - Dst: gx_ttfReader*::super::Error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:813,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxttfb.c:817,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 8
    argNames:
    - ttf
    - r
    - pfont
    - glyph_index
    - m
    - pscale
    - path
    - design_grid
    argTypes:
    - ttfFont*
    - gx_ttfReader*
    - gs_font_type42*
    - int
    - gs_matrix*
    - gs_log2_scale_point*
    - gx_path*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 744
    functionDepth: 10
    functionLinenumber: 744
    functionLinenumberEnd: 820
    functionName: gx_ttf_outline
    functionSourceFile: /src/libspectre/ghostscript/base/gxttfb.c
    functionUses: 1
    functionsReached:
    - decompose_matrix
    - WarnBadInstruction
    - WarnPatented
    - gx_ttfReader__Reset
    - ttfOutliner__DrawGlyphOutline
    - gs_currentgridfittt
    - ttfOutliner__Outline
    - ttfOutliner__init
    - return_error
    - grid_fit
    - gx_ttfReader*::super::Error
    linkageType: ''
    returnType: int
    signature: "int gx_ttf_outline(ttfFont *ttf, gx_ttfReader *r, gs_font_type42 *pfont,
      int glyph_index,\n        const gs_matrix *m, const gs_log2_scale_point *pscale,\n
      \       gx_path *path, bool design_grid)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: DPRINTF
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DPRINTF(m,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - f
    - ','
    - a1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: DPRINTF1
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DPRINTF1(m,f,a1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: public_st_epo_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_epo_device()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gdevepo.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - name
    argTypes:
    - gx_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: is_device_installed
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool is_device_installed(gx_device *dev, const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_null_device
      Src: /src/libspectre/ghostscript/base/gdevepo.c:215,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 216
    functionName: device_wants_optimization
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_is_null_device
    linkageType: ''
    returnType: bool
    signature: bool device_wants_optimization(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - flag
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 225
    functionName: epo_disable
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void epo_disable(int flag)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevepo.c:235,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:239,1
    - Dst: is_device_installed
      Src: /src/libspectre/ghostscript/base/gdevepo.c:241,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:244,1
    - Dst: device_wants_optimization
      Src: /src/libspectre/ghostscript/base/gdevepo.c:250,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:253,1
    - Dst: gx_device_unsubclass
      Src: /src/libspectre/ghostscript/base/gdevepo.c:257,1
    - Dst: device_wants_optimization
      Src: /src/libspectre/ghostscript/base/gdevepo.c:261,1
    - Dst: DPRINTF
      Src: /src/libspectre/ghostscript/base/gdevepo.c:271,1
    - Dst: gx_device_subclass
      Src: /src/libspectre/ghostscript/base/gdevepo.c:276,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:278,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:282,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 284
    functionName: epo_check_and_install
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 1
    functionsReached:
    - gx_device_subclass
    - gs_debug_c
    - gx_device_unsubclass
    - DPRINTF
    - device_wants_optimization
    - is_device_installed
    - DPRINTF1
    linkageType: ''
    returnType: int
    signature: int epo_check_and_install(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevepo.c:292,1
    - Dst: gx_device_unsubclass
      Src: /src/libspectre/ghostscript/base/gdevepo.c:293,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:294,1
    - Dst: DPRINTF1
      Src: /src/libspectre/ghostscript/base/gdevepo.c:298,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:302,1
    - Dst: gx_device_unsubclass
      Src: /src/libspectre/ghostscript/base/gdevepo.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 312
    functionName: epo_handle_erase_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - gx_device_unsubclass
    - gs_debug_c
    - dev_proc
    - DPRINTF1
    linkageType: ''
    returnType: int
    signature: int epo_handle_erase_page(gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gdevepo.c:318,1
    - Dst: default_subclass_fillpage
      Src: /src/libspectre/ghostscript/base/gdevepo.c:319,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gdevepo.c:323,1
    - Dst: DPRINTF
      Src: /src/libspectre/ghostscript/base/gdevepo.c:324,1
    - Dst: gx_device_unsubclass
      Src: /src/libspectre/ghostscript/base/gdevepo.c:325,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:326,1
    - Dst: DPRINTF
      Src: /src/libspectre/ghostscript/base/gdevepo.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - pgs
    - pdevc
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 334
    functionName: epo_fillpage
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - gx_device_unsubclass
    - DPRINTF
    - color_is_pure
    - default_subclass_fillpage
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_fillpage(gx_device *dev, gs_gstate * pgs, gx_device_color *pdevc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:338,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - num_copies
    - flush
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: epo_output_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_output_page(gx_device *dev, int num_copies, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:347,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 352
    functionName: epo_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_fill_rectangle(gx_device *dev, int x, int y, int width, int
      height, gx_color_index color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:356,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x0
    - y0
    - x1
    - y1
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 354
    functionDepth: 3
    functionLinenumber: 354
    functionLinenumberEnd: 361
    functionName: epo_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_draw_line(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index
      color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:367,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:371,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 363
    functionDepth: 3
    functionLinenumber: 363
    functionLinenumberEnd: 372
    functionName: epo_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_path(gx_device *dev, const gs_gstate *pgs, gx_path *ppath,\n
      \   const gx_fill_params *params,\n    const gx_drawing_color *pdcolor, const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:379,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:383,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 384
    functionName: epo_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_mask(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n    const
      gx_drawing_color *pdcolor, int depth,\n    gs_logical_operation_t lop, const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:390,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: epo_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_trapezoid(gx_device *dev, const gs_fixed_edge *left,
      const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, bool swap_axes,\n    const
      gx_drawing_color *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:400,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 405
    functionName: epo_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_parallelogram(gx_device *dev, fixed px, fixed py, fixed
      ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:410,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:414,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 407
    functionDepth: 3
    functionLinenumber: 407
    functionLinenumberEnd: 415
    functionName: epo_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_triangle(gx_device *dev, fixed px, fixed py, fixed ax,
      fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:421,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 417
    functionDepth: 3
    functionLinenumber: 417
    functionLinenumberEnd: 426
    functionName: epo_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_draw_thin_line(gx_device *dev, fixed fx0, fixed fy0, fixed
      fx1, fixed fy1,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop,\n    fixed adjustx, fixed adjusty)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:431,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 436
    functionName: epo_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n        const gs_gstate *pgs, const gx_drawing_color *pdcolor, const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:442,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - fa
    - i
    - j
    - w
    - c0
    - c0_f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 447
    functionName: epo_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i, int j, int w, const frac31 *c0, const int32_t *c0_f, const
      int32_t *cg_num,\n        int32_t cg_den)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:455,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: epo_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_linear_color_trapezoid(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:466,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:470,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 462
    functionDepth: 3
    functionLinenumber: 462
    functionLinenumberEnd: 471
    functionName: epo_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const frac31 *c0, const frac31 *c1, const frac31 *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:477,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - mdev
    - buffers
    - num_chan
    - x
    - y
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 482
    functionName: epo_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_put_image(gx_device *dev, gx_device *mdev, const byte **buffers,
      int num_chan, int x, int y,\n            int width, int height, int row_stride,\n
      \           int alpha_plane_index, int tag_plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:487,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - memory
    - cdev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 3
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: epo_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_create_compositor(gx_device *dev, gx_device **pcdev, const
      gs_composite_t *pcte,\n    gs_gstate *pgs, gs_memory_t *memory, gx_device *cdev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:498,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 494
    functionDepth: 3
    functionLinenumber: 494
    functionLinenumberEnd: 503
    functionName: epo_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_text_begin(gx_device *dev, gs_gstate *pgs, const gs_text_params_t
      *text,\n    gs_font *font, gx_path *path, const gx_device_color *pdcolor, const
      gx_clip_path *pcpath,\n    gs_memory_t *memory, gs_text_enum_t **ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevepo.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - from_dev
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 517
    functionName: epo_finish_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int epo_finish_copydevice(gx_device *dev, const gx_device *from_dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:524,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 519
    functionDepth: 3
    functionLinenumber: 519
    functionLinenumberEnd: 529
    functionName: epo_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_begin_image(gx_device *dev, const gs_gstate *pgs, const gs_image_t
      *pim,\n    gs_image_format_t format, const gs_int_rect *prect,\n    const gx_drawing_color
      *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t *memory, gx_image_enum_common_t
      **pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:536,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 3
    functionLinenumber: 531
    functionLinenumberEnd: 541
    functionName: epo_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_begin_typed_image(gx_device *dev, const gs_gstate *pgs, const
      gs_matrix *pmat,\n    const gs_image_common_t *pic, const gs_int_rect *prect,\n
      \   const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t
      *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:547,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 543
    functionDepth: 3
    functionLinenumber: 543
    functionLinenumberEnd: 552
    functionName: epo_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_stroke_params *params,\n    const gx_drawing_color *pdcolor,
      const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:558,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 554
    functionDepth: 3
    functionLinenumber: 554
    functionLinenumberEnd: 563
    functionName: epo_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_tile_rectangle(gx_device *dev, const gx_tile_bitmap *tile,
      int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:569,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color0
    - color1
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 565
    functionDepth: 3
    functionLinenumber: 565
    functionLinenumberEnd: 574
    functionName: epo_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_mono(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n    gx_color_index
      color0, gx_color_index color1)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:579,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 584
    functionName: epo_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_color(gx_device *dev, const byte *data, int data_x, int
      raster, gx_bitmap_id id,\\\n    int x, int y, int width, int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:588,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:592,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - dev
    - y
    - data
    - actual_data
    argTypes:
    - gx_device*
    - int
    - byte*
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 586
    functionDepth: 3
    functionLinenumber: 586
    functionLinenumberEnd: 593
    functionName: epo_get_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_get_bits(gx_device *dev, int y, byte *data, byte **actual_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:599,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - color
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 595
    functionDepth: 3
    functionLinenumber: 595
    functionLinenumberEnd: 604
    functionName: epo_copy_alpha
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_alpha(gx_device *dev, const byte *data, int data_x,\n
      \   int raster, gx_bitmap_id id, int x, int y, int width, int height,\n    gx_color_index
      color, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:612,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - texture
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_tile_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: epo_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_rop(gx_device *dev, const byte *sdata, int sourcex, uint
      sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n    const gx_tile_bitmap
      *texture, const gx_color_index *tcolors,\n    int x, int y, int width, int height,\n
      \   int phase_x, int phase_y, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:623,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 619
    functionDepth: 3
    functionLinenumber: 619
    functionLinenumberEnd: 628
    functionName: epo_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_strip_tile_rectangle(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:636,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 630
    functionDepth: 3
    functionLinenumber: 630
    functionLinenumberEnd: 641
    functionName: epo_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_strip_copy_rop(gx_device *dev, const byte *sdata, int sourcex,
      uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n    const
      gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int x, int y,
      int width, int height,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:647,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:651,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 643
    functionDepth: 3
    functionLinenumber: 643
    functionLinenumberEnd: 652
    functionName: epo_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_strip_copy_rop2(gx_device *dev, const byte *sdata, int sourcex,
      uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors, const gx_strip_bitmap
      *textures, const gx_color_index *tcolors,\n    int x, int y, int width, int
      height, int phase_x, int phase_y, gs_logical_operation_t lop, uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:657,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - plane_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 654
    functionDepth: 3
    functionLinenumber: 654
    functionLinenumberEnd: 662
    functionName: epo_copy_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_planes(gx_device *dev, const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int width, int height, int plane_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:668,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 664
    functionDepth: 3
    functionLinenumber: 664
    functionLinenumberEnd: 673
    functionName: epo_copy_alpha_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_copy_alpha_hl_color(gx_device *dev, const byte *data, int
      data_x,\n    int raster, gx_bitmap_id id, int x, int y, int width, int height,\n
      \   const gx_drawing_color *pdcolor, int depth)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:677,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - options
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 675
    functionDepth: 3
    functionLinenumber: 675
    functionLinenumberEnd: 682
    functionName: epo_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_process_page(gx_device *dev, gx_process_page_options_t *options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:689,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:693,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 695
    functionName: epo_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int epo_fill_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_fill_params *fill_params, const gx_drawing_color *pdcolor_fill,\n
      \   const gx_stroke_params *stroke_params, const gx_drawing_color *pdcolor_stroke,\n
      \   const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: epo_handle_erase_page
      Src: /src/libspectre/ghostscript/base/gdevepo.c:699,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevepo.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - reason
    - data
    argTypes:
    - gx_device*
    - transform_pixel_region_reason
    - transform_pixel_region_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 704
    functionName: epo_transform_pixel_region
    functionSourceFile: /src/libspectre/ghostscript/base/gdevepo.c
    functionUses: 0
    functionsReached:
    - epo_handle_erase_page
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int epo_transform_pixel_region(gx_device *dev, transform_pixel_region_reason
      reason, transform_pixel_region_data *data)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:382,1
    - Dst: alloc_list
      Src: /src/libspectre/ghostscript/base/genconf.c:384,1
    - Dst: alloc_list
      Src: /src/libspectre/ghostscript/base/genconf.c:385,1
    - Dst: alloc_list
      Src: /src/libspectre/ghostscript/base/genconf.c:386,1
    - Dst: alloc_list
      Src: /src/libspectre/ghostscript/base/genconf.c:388,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:393,1
    - Dst: read_dev
      Src: /src/libspectre/ghostscript/base/genconf.c:404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:408,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:410,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:445,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:464,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:467,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:483,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:484,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genconf.c:498,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:500,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:502,1
    - Dst: process_replaces
      Src: /src/libspectre/ghostscript/base/genconf.c:506,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:507,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:508,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:512,1
    - Dst: write_list
      Src: /src/libspectre/ghostscript/base/genconf.c:515,1
    - Dst: process_replaces
      Src: /src/libspectre/ghostscript/base/genconf.c:519,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:520,1
    - Dst: write_list
      Src: /src/libspectre/ghostscript/base/genconf.c:521,1
    - Dst: write_list
      Src: /src/libspectre/ghostscript/base/genconf.c:522,1
    - Dst: sort_uniq
      Src: /src/libspectre/ghostscript/base/genconf.c:523,1
    - Dst: write_list
      Src: /src/libspectre/ghostscript/base/genconf.c:524,1
    - Dst: sort_uniq
      Src: /src/libspectre/ghostscript/base/genconf.c:525,1
    - Dst: write_list
      Src: /src/libspectre/ghostscript/base/genconf.c:526,1
    - Dst: process_replaces
      Src: /src/libspectre/ghostscript/base/genconf.c:535,1
    - Dst: sort_uniq
      Src: /src/libspectre/ghostscript/base/genconf.c:537,1
    - Dst: write_list_pattern
      Src: /src/libspectre/ghostscript/base/genconf.c:538,1
    - Dst: sort_uniq
      Src: /src/libspectre/ghostscript/base/genconf.c:541,1
    - Dst: sort_uniq
      Src: /src/libspectre/ghostscript/base/genconf.c:542,1
    - Dst: write_list_pattern
      Src: /src/libspectre/ghostscript/base/genconf.c:543,1
    - Dst: write_list_pattern
      Src: /src/libspectre/ghostscript/base/genconf.c:544,1
    - Dst: write_list_pattern
      Src: /src/libspectre/ghostscript/base/genconf.c:545,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genconf.c:549,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:550,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:551,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genconf.c:553,1
    - Dst: free_list
      Src: /src/libspectre/ghostscript/base/genconf.c:556,1
    - Dst: free_list
      Src: /src/libspectre/ghostscript/base/genconf.c:557,1
    - Dst: free_list
      Src: /src/libspectre/ghostscript/base/genconf.c:558,1
    - Dst: free_list
      Src: /src/libspectre/ghostscript/base/genconf.c:560,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 166
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 563
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 15
    functionsReached:
    - read_dev
    - alloc_list
    - process_replaces
    - sprintf
    - write_list
    - sort_uniq
    - write_list_pattern
    - strcpy
    - fputs
    - free_list
    - fprintf
    - memcpy
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genconf.c:574,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/genconf.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - s
    - label
    argTypes:
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 565
    functionDepth: 5
    functionLinenumber: 565
    functionLinenumberEnd: 589
    functionName: mmalloc
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mmalloc(size_t s, const char *label)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:596,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/genconf.c:598,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/genconf.c:604,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - nmemb
    - size
    - label
    argTypes:
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 591
    functionDepth: 6
    functionLinenumber: 591
    functionLinenumberEnd: 606
    functionName: mcalloc
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - calloc
    - memset
    - mmalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mcalloc(size_t nmemb, size_t size, const char *label)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/genconf.c:630,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/genconf.c:633,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - om
    - label
    argTypes:
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 635
    functionName: mfree
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void mfree (void *om, const char *label)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:640,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/genconf.c:644,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:648,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/genconf.c:648,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - old_ptr
    - old_size
    - new_size
    - label
    argTypes:
    - void*
    - size_t
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 6
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: mrealloc
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - mfree
    - min
    - memset
    - memcpy
    - mmalloc
    linkageType: ''
    returnType: void
    signature: 'void *

      mrealloc(void *old_ptr, size_t old_size, size_t new_size, const char *label)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: mcalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:660,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/genconf.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - string_list_t*
    assertStmts:
    - condition: (list->items != NULL)
      pos:
        line_end: 660
        line_start: 660
        source_file: /src/libspectre/ghostscript/base/genconf.c
    constantsTouched: []
    func_position:
      end: 663
      start: 655
    functionDepth: 7
    functionLinenumber: 655
    functionLinenumberEnd: 663
    functionName: alloc_list
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 5
    functionsReached:
    - mcalloc
    - assert
    linkageType: ''
    returnType: int
    signature: int alloc_list(string_list_t * list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:672,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:678,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - list
    argTypes:
    - string_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 680
    functionName: free_list
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - mfree
    linkageType: ''
    returnType: void
    signature: void free_list(string_list_t * list)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:686,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:688,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/genconf.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 2
    argNames:
    - str
    - bufsize
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 691
    functionName: dev_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - strcmp
    linkageType: ''
    returnType: void
    signature: void dev_file_name(char *str, int bufsize)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/genconf.c:703,1
    - Dst: dev_file_name
      Src: /src/libspectre/ghostscript/base/genconf.c:705,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:709,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:711,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:730,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:734,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:744,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 33
    argCount: 1
    argNames:
    - pconf
    argTypes:
    - config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 754
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 754
    functionName: process_replaces
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - mfree
    - strcmp
    - printf
    - dev_file_name
    - strncpy
    linkageType: ''
    returnType: int
    signature: int process_replaces(config_t * pconf)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:765,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:765,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:765,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:773,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:775,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:777,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/genconf.c:778,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:780,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:781,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genconf.c:786,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genconf.c:788,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:790,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:791,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:792,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/genconf.c:795,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/genconf.c:796,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genconf.c:798,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:799,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:800,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:801,1
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:805,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:807,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:808,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/base/genconf.c:810,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/genconf.c:811,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genconf.c:813,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:814,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:815,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:816,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:817,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genconf.c:819,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:822,1
    - Dst: add_item
      Src: /src/libspectre/ghostscript/base/genconf.c:823,1
    - Dst: add_item
      Src: /src/libspectre/ghostscript/base/genconf.c:824,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:826,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:827,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 54
    argCount: 2
    argNames:
    - pconf
    - fname
    argTypes:
    - config_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 762
    functionDepth: 6
    functionLinenumber: 762
    functionLinenumberEnd: 829
    functionName: read_file
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 7
    functionsReached:
    - strcat
    - add_item
    - mfree
    - fread
    - strcmp
    - rewind
    - printf
    - strlen
    - strcpy
    - mmalloc
    - ftell
    - fprintf
    - fseek
    - fopen
    - exit
    - fclose
    linkageType: ''
    returnType: string_item_t
    signature: 'string_item_t *

      read_file(config_t * pconf, const char *fname)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:845,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/base/genconf.c:846,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:849,1
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:853,1
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:854,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:856,1
    - Dst: read_token
      Src: /src/libspectre/ghostscript/base/genconf.c:857,1
    - Dst: add_entry
      Src: /src/libspectre/ghostscript/base/genconf.c:858,1
    - Dst: read_file
      Src: /src/libspectre/ghostscript/base/genconf.c:864,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:867,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:870,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:871,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:874,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:875,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - pconf
    - arg
    argTypes:
    - config_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 832
    functionDepth: 6
    functionLinenumber: 832
    functionLinenumberEnd: 877
    functionName: read_dev
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - mfree
    - read_token
    - printf
    - exit
    - add_entry
    - read_file
    - strcpy
    - fprintf
    - mmalloc
    linkageType: ''
    returnType: int
    signature: int read_dev(config_t * pconf, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isspace
      Src: /src/libspectre/ghostscript/base/genconf.c:892,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 3
    argNames:
    - token
    - max_len
    - pin
    argTypes:
    - char*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 880
    functionDepth: 0
    functionLinenumber: 880
    functionLinenumberEnd: 902
    functionName: read_token
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - isspace
    linkageType: ''
    returnType: int
    signature: int read_token(char *token, int max_len, const char **pin)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: islower
      Src: /src/libspectre/ghostscript/base/genconf.c:908,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:909,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:918,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:923,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:929,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:931,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:936,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:940,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:941,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:942,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:948,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:951,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:953,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:959,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:965,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:968,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:970,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:971,1
    - Dst: dev_file_name
      Src: /src/libspectre/ghostscript/base/genconf.c:972,1
    - Dst: read_dev
      Src: /src/libspectre/ghostscript/base/genconf.c:973,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:974,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:976,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:982,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:985,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:988,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:994,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/genconf.c:996,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/genconf.c:997,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:1001,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:1007,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:1008,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:1009,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:1012,1
    - Dst: IS_CAT
      Src: /src/libspectre/ghostscript/base/genconf.c:1018,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:1025,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/genconf.c:1027,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:1030,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/genconf.c:1031,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:1031,1
    - Dst: add_item
      Src: /src/libspectre/ghostscript/base/genconf.c:1032,1
    - Dst: add_item
      Src: /src/libspectre/ghostscript/base/genconf.c:1034,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 146
    argCount: 4
    argNames:
    - pconf
    - category
    - item
    - file_index
    argTypes:
    - config_t*
    - char*
    - char*
    - int
    assertStmts:
    - condition: (strlen(str) < MAX_STR)
      pos:
        line_end: 1030
        line_start: 1030
        source_file: /src/libspectre/ghostscript/base/genconf.c
    constantsTouched: []
    func_position:
      end: 1037
      start: 905
    functionDepth: 7
    functionLinenumber: 905
    functionLinenumberEnd: 1037
    functionName: add_entry
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 3
    functionsReached:
    - read_dev
    - IS_CAT
    - strcat
    - add_item
    - sprintf
    - printf
    - strlen
    - dev_file_name
    - strcpy
    - islower
    - strncpy
    - assert
    - fprintf
    - exit
    linkageType: ''
    returnType: int
    signature: int add_entry(config_t * pconf, char *category, const char *item, int
      file_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 922
    functionName: IS_CAT
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_CAT(str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:1043,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:1043,1
    - Dst: mrealloc
      Src: /src/libspectre/ghostscript/base/genconf.c:1052,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/genconf.c:1058,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:1064,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - list
    - str
    - file_index
    argTypes:
    - string_list_t*
    - char*
    - int
    assertStmts:
    - condition: (list->items != NULL)
      pos:
        line_end: 1057
        line_start: 1057
        source_file: /src/libspectre/ghostscript/base/genconf.c
    constantsTouched: []
    func_position:
      end: 1067
      start: 1040
    functionDepth: 7
    functionLinenumber: 1040
    functionLinenumberEnd: 1067
    functionName: add_item
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 2
    functionsReached:
    - mrealloc
    - strlen
    - strcpy
    - assert
    - mmalloc
    linkageType: ''
    returnType: string_item_t
    signature: 'string_item_t *

      add_item(string_list_t * list, const char *str, int file_index)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1074
    functionDepth: 0
    functionLinenumber: 1074
    functionLinenumberEnd: 1082
    functionName: cmp_index
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int cmp_index(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    functionName: cmp_str
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmp_str(const void *p1, const void *p2)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/genconf.c:1104,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:1106,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:1110,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:1119,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/genconf.c:1128,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - list
    - by_index
    argTypes:
    - string_list_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1129
    functionName: sort_uniq
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - qsort
    - mfree
    - strcmp
    linkageType: ''
    returnType: void
    signature: void sort_uniq(string_list_t * list, bool by_index)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/genconf.c:1139,1
    - Dst: write_list_pattern
      Src: /src/libspectre/ghostscript/base/genconf.c:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - out
    - list
    - pstr
    argTypes:
    - FILE*
    - string_list_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1141
    functionName: write_list
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 1
    functionsReached:
    - write_list_pattern
    - strncpy
    linkageType: ''
    returnType: void
    signature: void write_list(FILE * out, const string_list_t * list, const char
      *pstr)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:1148,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/genconf.c:1153,1
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:1154,1
    - Dst: mmalloc
      Src: /src/libspectre/ghostscript/base/genconf.c:1156,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/genconf.c:1159,1
    - Dst: islower
      Src: /src/libspectre/ghostscript/base/genconf.c:1172,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/base/genconf.c:1173,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:1177,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/genconf.c:1180,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/genconf.c:1183,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:1185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genconf.c:1186,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/genconf.c:1187,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:1192,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:1196,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:1197,1
    - Dst: mfree
      Src: /src/libspectre/ghostscript/base/genconf.c:1198,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/base/genconf.c:1201,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 3
    argNames:
    - out
    - list
    - pat
    argTypes:
    - FILE*
    - string_list_t*
    - string_pattern_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1142
    functionDepth: 6
    functionLinenumber: 1142
    functionLinenumberEnd: 1202
    functionName: write_list_pattern
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 2
    functionsReached:
    - sprintf
    - mfree
    - strcmp
    - strlen
    - strcpy
    - islower
    - fputs
    - toupper
    - strchr
    - strncpy
    - fprintf
    - mmalloc
    linkageType: ''
    returnType: void
    signature: "void write_list_pattern(FILE * out, const string_list_t * list,\n
      \                  const string_pattern_t * pat)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 1
    argNames:
    - sl
    argTypes:
    - string_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1219
    functionName: validate_list
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void validate_list(string_list_t *sl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1225,1
    - Dst: validate_list
      Src: /src/libspectre/ghostscript/base/genconf.c:1226,1
    - Dst: validate_list
      Src: /src/libspectre/ghostscript/base/genconf.c:1227,1
    - Dst: validate_list
      Src: /src/libspectre/ghostscript/base/genconf.c:1228,1
    - Dst: validate_list
      Src: /src/libspectre/ghostscript/base/genconf.c:1230,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - conf
    argTypes:
    - config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1221
    functionDepth: 1
    functionLinenumber: 1221
    functionLinenumberEnd: 1233
    functionName: validate_lists
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - printf
    - validate_list
    linkageType: ''
    returnType: void
    signature: void validate_lists(config_t *conf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1238,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1241,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/genconf.c:1244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1245
    functionName: validate_memory
    functionSourceFile: /src/libspectre/ghostscript/base/genconf.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void validate_memory(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_LZW_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/slzwc.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 32
    functionName: s_LZW_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/slzwc.c
    functionUses: 2
    functionsReached:
    - s_LZW_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_LZW_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/slzwc.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 41
    functionName: s_LZW_release
    functionSourceFile: /src/libspectre/ghostscript/base/slzwc.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_LZW_release(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: s_CF_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/scfparam.c:61,1
    - Dst: gs_param_write_items
      Src: /src/libspectre/ghostscript/base/scfparam.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - plist
    - ss
    - all
    argTypes:
    - gs_param_list*
    - stream_CF_state*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 65
    functionName: s_CF_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/scfparam.c
    functionUses: 1
    functionsReached:
    - gs_param_write_items
    - s_CF_set_defaults_inline
    linkageType: ''
    returnType: int
    signature: int s_CF_get_params(gs_param_list * plist, const stream_CF_state *
      ss, bool all)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_read_items
      Src: /src/libspectre/ghostscript/base/scfparam.c:76,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/scfparam.c:86,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 8
    argCount: 2
    argNames:
    - plist
    - ss
    argTypes:
    - gs_param_list*
    - stream_CF_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 90
    functionName: s_CF_put_params
    functionSourceFile: /src/libspectre/ghostscript/base/scfparam.c
    functionUses: 2
    functionsReached:
    - gs_param_read_items
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int s_CF_put_params(gs_param_list * plist, stream_CF_state * ss)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - psrc
    - psrc_cm
    - icc_link
    argTypes:
    - gx_device*
    - unsigned short*
    - unsigned short*
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 88
    functionName: gsicc_remap_fast
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gsicc_remap_fast(gx_device *dev, unsigned short *psrc, unsigned
      short *psrc_cm,\n                 gsicc_link_t *icc_link)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gsicc.c:97,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsicc.c:108,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:111,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:114,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:123,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:124,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:125,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsicc.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 7
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - smoothness
    - icclink
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - float
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 133
    functionName: gx_icc_is_linear_in_line
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gsicc_get_device_profile_comps
    - max
    - gsicc_remap_fast
    - gs_color_space*::type::num_components
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_icc_is_linear_in_line(const gs_color_space *cs, const gs_gstate
      * pgs,\n                        gx_device *dev,\n                        const
      gs_client_color *c0, const gs_client_color *c1,\n                        float
      smoothness, gsicc_link_t *icclink)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space*::type::num_components
      Src: /src/libspectre/ghostscript/base/gsicc.c:158,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsicc.c:160,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:165,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:168,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:181,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:182,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:183,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:184,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:185,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:186,1
    - Dst: gsicc_remap_fast
      Src: /src/libspectre/ghostscript/base/gsicc.c:187,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsicc.c:191,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsicc.c:194,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsicc.c:197,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gsicc.c:201,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 8
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - c2
    - smoothness
    - icclink
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - float
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 205
    functionName: gx_icc_is_linear_in_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - any_abs
    - gsicc_get_device_profile_comps
    - max
    - gsicc_remap_fast
    - gs_color_space*::type::num_components
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_icc_is_linear_in_triangle(const gs_color_space *cs, const gs_gstate
      * pgs,\n                gx_device *dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                const gs_client_color *c2,
      float smoothness, gsicc_link_t *icclink)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gsicc.c:221,1
    - Dst: colors_are_separable_and_linear
      Src: /src/libspectre/ghostscript/base/gsicc.c:224,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:225,1
    - Dst: gx_icc_is_linear_in_line
      Src: /src/libspectre/ghostscript/base/gsicc.c:227,1
    - Dst: gx_icc_is_linear_in_triangle
      Src: /src/libspectre/ghostscript/base/gsicc.c:228,1
    - Dst: gx_icc_is_linear_in_triangle
      Src: /src/libspectre/ghostscript/base/gsicc.c:234,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 9
    argNames:
    - cs
    - pgs
    - dev
    - c0
    - c1
    - c2
    - c3
    - smoothness
    - icclink
    argTypes:
    - gs_color_space*
    - gs_gstate*
    - gx_device*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - gs_client_color*
    - float
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 236
    functionName: gx_cspace_is_linear_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gx_device_must_halftone
    - gx_icc_is_linear_in_triangle
    - gx_icc_is_linear_in_line
    - return_error
    - colors_are_separable_and_linear
    linkageType: ''
    returnType: int
    signature: "int gx_cspace_is_linear_ICC(const gs_color_space *cs, const gs_gstate
      * pgs,\n                gx_device *dev,\n                const gs_client_color
      *c0, const gs_client_color *c1,\n                const gs_client_color *c2,
      const gs_client_color *c3,\n                float smoothness, gsicc_link_t *icclink)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 244
    functionName: gx_num_components_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_num_components_ICC(const gs_color_space * pcs)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 265
    functionName: gx_polarity_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_polarity_t
    signature: gx_color_polarity_t gx_polarity_ICC(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_restrict_ICC
      Src: /src/libspectre/ghostscript/base/gsicc.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 281
    functionName: gx_init_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gx_restrict_ICC
    linkageType: ''
    returnType: void
    signature: void gx_init_ICC(gs_client_color * pcc, const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - pcc
    - pcs
    argTypes:
    - gs_client_color*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 301
    functionName: gx_restrict_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_restrict_ICC(gs_client_color * pcc, const gs_color_space *
      pcs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_set_devicen_equiv_colors
      Src: /src/libspectre/ghostscript/base/gsicc.c:320,1
    - Dst: gx_remap_concrete_devicen
      Src: /src/libspectre/ghostscript/base/gsicc.c:324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 303
    functionDepth: 4
    functionLinenumber: 303
    functionLinenumberEnd: 326
    functionName: gx_remap_concrete_icc_devicen
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gsicc_set_devicen_equiv_colors
    - gx_remap_concrete_devicen
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_icc_devicen(const gs_color_space * pcs, const
      frac * pconc,\n                              gx_device_color * pdc, const gs_gstate
      * pgs,\n                              gx_device * dev, gs_color_select_t select,\n
      \                             const cmm_dev_profile_t *dev_profile)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:339,1
    - Dst: gx_remap_concrete_DGray
      Src: /src/libspectre/ghostscript/base/gsicc.c:341,1
    - Dst: gx_remap_concrete_DRGB
      Src: /src/libspectre/ghostscript/base/gsicc.c:343,1
    - Dst: gx_remap_concrete_DCMYK
      Src: /src/libspectre/ghostscript/base/gsicc.c:345,1
    - Dst: gx_remap_concrete_icc_devicen
      Src: /src/libspectre/ghostscript/base/gsicc.c:350,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - pcs
    - pconc
    - pdc
    - pgs
    - dev
    - select
    - dev_profile
    argTypes:
    - gs_color_space*
    - frac*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - cmm_dev_profile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 333
    functionDepth: 5
    functionLinenumber: 333
    functionLinenumberEnd: 352
    functionName: gx_remap_concrete_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gsicc_get_device_profile_comps
    - gx_remap_concrete_DRGB
    - gx_remap_concrete_DGray
    - gx_remap_concrete_DCMYK
    - gx_remap_concrete_icc_devicen
    linkageType: ''
    returnType: int
    signature: "int gx_remap_concrete_ICC(const gs_color_space * pcs, const frac *
      pconc,\n                      gx_device_color * pdc, const gs_gstate * pgs,\n
      \                     gx_device * dev, gs_color_select_t select,\n                      const
      cmm_dev_profile_t *dev_profile)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:373,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc.c:377,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc.c:379,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc.c:383,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:396,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:407,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc.c:409,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:411,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc.c:413,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:415,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:418,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:419,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gsicc.c:421,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gsicc.c:423,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/base/gsicc.c:431,1
    - Dst: gx_remap_concrete_ICC
      Src: /src/libspectre/ghostscript/base/gsicc.c:433,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 7
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    - icc_link
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    - gsicc_link_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 357
    functionDepth: 6
    functionLinenumber: 357
    functionLinenumberEnd: 441
    functionName: gx_remap_ICC_with_link
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - gs_throw
    - gx_remap_concrete_ICC
    - gsicc_get_device_profile_comps
    - ushort2frac
    - memset
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gx_remap_ICC_with_link(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \               gs_color_select_t select, gsicc_link_t *icc_link)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:453,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gsicc.c:457,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:466,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc.c:469,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:471,1
    - Dst: gx_remap_ICC_with_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:473,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:475,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 443
    functionDepth: 7
    functionLinenumber: 443
    functionLinenumberEnd: 477
    functionName: gx_remap_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gsicc_get_link
    - gs_throw
    - gs_warn
    - gx_remap_ICC_with_link
    - return_error
    - gsicc_release_link
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_remap_ICC(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \               gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:500,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:503,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsicc.c:512,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:518,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc.c:521,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:523,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:533,1
    - Dst: ushort2frac
      Src: /src/libspectre/ghostscript/base/gsicc.c:539,1
    - Dst: gx_remap_concrete_ICC
      Src: /src/libspectre/ghostscript/base/gsicc.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 6
    argNames:
    - pcc
    - pcs
    - pdc
    - pgs
    - dev
    - select
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - gx_device_color*
    - gs_gstate*
    - gx_device*
    - gs_color_select_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 485
    functionDepth: 6
    functionLinenumber: 485
    functionLinenumberEnd: 549
    functionName: gx_remap_ICC_imagelab
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 4
    functionsReached:
    - gsicc_get_link
    - gx_remap_concrete_ICC
    - gsicc_get_device_profile_comps
    - ushort2frac
    - gs_warn
    - memset
    - return_error
    - gsicc_release_link
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_remap_ICC_imagelab(const gs_client_color * pcc, const gs_color_space
      * pcs,\n        gx_device_color * pdc, const gs_gstate * pgs, gx_device * dev,\n
      \               gs_color_select_t select)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:571,1
    - Dst: gsicc_get_device_profile_comps
      Src: /src/libspectre/ghostscript/base/gsicc.c:574,1
    - Dst: gsicc_get_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:586,1
    - Dst: gs_warn
      Src: /src/libspectre/ghostscript/base/gsicc.c:589,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:591,1
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gsicc.c:603,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gsicc.c:606,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 5
    argNames:
    - pcc
    - pcs
    - pconc
    - pgs
    - dev
    argTypes:
    - gs_client_color*
    - gs_color_space*
    - frac*
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 608
    functionName: gx_concretize_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gsicc_get_link
    - gsicc_get_device_profile_comps
    - gs_warn
    - return_error
    - gsicc_release_link
    - float2frac
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_concretize_ICC(\n    const gs_client_color * pcc,\n    const
      gs_color_space *  pcs,\n    frac *                  pconc,\n    const gs_gstate
      * pgs,\n    gx_device *dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gsicc.c:621,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 623
    functionName: gx_final_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    linkageType: ''
    returnType: void
    signature: void gx_final_ICC(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 636
    functionName: gx_install_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_install_ICC(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gsicc.c:648,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ppcspace
    - client_data
    - pmem
    argTypes:
    - gs_color_space**
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 642
    functionDepth: 3
    functionLinenumber: 642
    functionLinenumberEnd: 655
    functionName: gs_cspace_build_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 8
    functionsReached:
    - return_error
    - gs_cspace_alloc
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_ICC(\n    gs_color_space **   ppcspace,\n    void
      *              client_data,\n    gs_memory_t *       pmem )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gsicc.c:664,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsicc.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 671
    functionName: gx_serialize_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - sputs
    - gx_serialize_cspace_type
    linkageType: ''
    returnType: int
    signature: int gx_serialize_ICC(const gs_color_space * pcs, stream * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_no_overprint
      Src: /src/libspectre/ghostscript/base/gsicc.c:685,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:687,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gsicc.c:696,1
    - Dst: gx_set_no_overprint
      Src: /src/libspectre/ghostscript/base/gsicc.c:701,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsicc.c:705,1
    - Dst: gx_set_spot_only_overprint
      Src: /src/libspectre/ghostscript/base/gsicc.c:706,1
    - Dst: gx_set_no_overprint
      Src: /src/libspectre/ghostscript/base/gsicc.c:708,1
    - Dst: gx_set_overprint_cmyk
      Src: /src/libspectre/ghostscript/base/gsicc.c:711,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 712
    functionName: gx_set_overprint_ICC
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 0
    functionsReached:
    - gx_set_no_overprint
    - gx_set_overprint_cmyk
    - if_debug4m
    - dev_proc
    - gx_set_spot_only_overprint
    linkageType: ''
    returnType: int
    signature: int gx_set_overprint_ICC(const gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dev
    - profile
    argTypes:
    - gx_device*
    - cmm_dev_profile_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 719
    functionName: gx_default_get_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_default_get_profile(gx_device *dev, cmm_dev_profile_t **profile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsicc.c:730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - dev
    - num_comps
    - bit_depth
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 750
    functionName: gx_change_color_model
    functionSourceFile: /src/libspectre/ghostscript/base/gsicc.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_change_color_model(gx_device *dev, int num_comps, int bit_depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:71,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:72,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath1.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pgs
    - path
    argTypes:
    - gs_gstate*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 76
    functionName: gx_setcurrentpoint_from_path
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 2
    functionsReached:
    - gx_setcurrentpoint
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_setcurrentpoint_from_path(gs_gstate *pgs, gx_path *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_arc_add
      Src: /src/libspectre/ghostscript/base/gspath1.c:83,1
    - Dst: gx_setcurrentpoint_from_path
      Src: /src/libspectre/ghostscript/base/gspath1.c:89,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gspath1.c:92,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gspath1.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - pgs
    - cw
    - xc
    - yc
    - rad
    - a1
    - a2
    - add
    argTypes:
    - gs_gstate*
    - bool
    - double
    - double
    - double
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 95
    functionName: gs_arc_add_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_setcurrentpoint_from_path
    - gs_point_transform
    - ctm_only
    - gs_gstate_arc_add
    linkageType: ''
    returnType: int
    signature: "int gs_arc_add_inline(gs_gstate *pgs, bool cw, double xc, double yc,
      double rad,\n                    double a1, double a2, bool add)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_arc_add_inline
      Src: /src/libspectre/ghostscript/base/gspath1.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pgs
    - xc
    - yc
    - r
    - ang1
    - ang2
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 3
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: gs_arc
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gs_arc_add_inline
    linkageType: ''
    returnType: int
    signature: "int gs_arc(gs_gstate * pgs,\n       double xc, double yc, double r,
      double ang1, double ang2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_arc_add_inline
      Src: /src/libspectre/ghostscript/base/gspath1.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pgs
    - xc
    - yc
    - r
    - ang1
    - ang2
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: gs_arcn
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gs_arc_add_inline
    linkageType: ''
    returnType: int
    signature: "int gs_arcn(gs_gstate * pgs,\n        double xc, double yc, double
      r, double ang1, double ang2)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_arc_add_inline
      Src: /src/libspectre/ghostscript/base/gspath1.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 8
    argNames:
    - pgs
    - clockwise
    - axc
    - ayc
    - arad
    - aang1
    - aang2
    - add_line
    argTypes:
    - gs_gstate*
    - bool
    - double
    - double
    - double
    - double
    - double
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: gs_arc_add
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gs_arc_add_inline
    linkageType: ''
    returnType: int
    signature: "int gs_arc_add(gs_gstate * pgs, bool clockwise, double axc, double
      ayc,\n           double arad, double aang1, double aang2, bool add_line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tan
      Src: /src/libspectre/ghostscript/base/gspath1.c:126,1
    - Dst: gs_sincos_degrees
      Src: /src/libspectre/ghostscript/base/gspath1.c:131,1
    - Dst: arc_add
      Src: /src/libspectre/ghostscript/base/gspath1.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - arc
    - anext
    argTypes:
    - arc_curve_params_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 136
    functionName: next_arc_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - tan
    - arc_add
    - gs_sincos_degrees
    linkageType: ''
    returnType: int
    signature: int next_arc_curve(arc_curve_params_t * arc, double anext)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gspath1.c:155,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspath1.c:156,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspath1.c:156,1
    - Dst: is_fzero2
      Src: /src/libspectre/ghostscript/base/gspath1.c:157,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspath1.c:158,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspath1.c:158,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath1.c:163,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gspath1.c:165,1
    - Dst: arc_add
      Src: /src/libspectre/ghostscript/base/gspath1.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 2
    argNames:
    - arc
    - anext
    argTypes:
    - arc_curve_params_t*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 200
    functionName: next_arc_quadrant
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - arc_add
    - float2fixed
    - is_fzero2
    - fabs
    linkageType: ''
    returnType: int
    signature: int next_arc_quadrant(arc_curve_params_t * arc, double anext)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: fmod
      Src: /src/libspectre/ghostscript/base/gspath1.c:226,1
    - Dst: gs_sincos_degrees
      Src: /src/libspectre/ghostscript/base/gspath1.c:227,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gspath1.c:234,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gspath1.c:243,1
    - Dst: next_arc_curve
      Src: /src/libspectre/ghostscript/base/gspath1.c:246,1
    - Dst: next_arc_quadrant
      Src: /src/libspectre/ghostscript/base/gspath1.c:254,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gspath1.c:264,1
    - Dst: next_arc_curve
      Src: /src/libspectre/ghostscript/base/gspath1.c:270,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gspath1.c:277,1
    - Dst: next_arc_curve
      Src: /src/libspectre/ghostscript/base/gspath1.c:280,1
    - Dst: next_arc_quadrant
      Src: /src/libspectre/ghostscript/base/gspath1.c:288,1
    - Dst: next_arc_curve
      Src: /src/libspectre/ghostscript/base/gspath1.c:303,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 10
    argNames:
    - ppath
    - pgs
    - clockwise
    - axc
    - ayc
    - arad
    - aang1
    - aang2
    - add_line
    - p3
    argTypes:
    - gx_path*
    - gs_gstate*
    - bool
    - double
    - double
    - double
    - double
    - double
    - bool
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 308
    functionName: gs_gstate_arc_add
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 1
    functionsReached:
    - gs_sincos_degrees
    - next_arc_curve
    - next_arc_quadrant
    - floor
    - ceil
    - fmod
    linkageType: ''
    returnType: int
    signature: "int gs_gstate_arc_add(gx_path * ppath, gs_gstate * pgs, bool clockwise,\n
      \           double axc, double ayc, double arad, double aang1, double aang2,\n
      \                 bool add_line, gs_point *p3)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/base/gspath1.c:320,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath1.c:339,1
    - Dst: gs_lineto
      Src: /src/libspectre/ghostscript/base/gspath1.c:343,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gspath1.c:350,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gspath1.c:352,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gspath1.c:353,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gspath1.c:353,1
    - Dst: arc_add
      Src: /src/libspectre/ghostscript/base/gspath1.c:369,1
    - Dst: gx_setcurrentpoint_from_path
      Src: /src/libspectre/ghostscript/base/gspath1.c:371,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 7
    argNames:
    - pgs
    - ax1
    - ay1
    - ax2
    - ay2
    - arad
    - retxy
    argTypes:
    - gs_gstate*
    - double
    - double
    - double
    - double
    - double
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 310
    functionDepth: 5
    functionLinenumber: 310
    functionLinenumberEnd: 381
    functionName: gs_arcto
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - sqrt
    - gx_setcurrentpoint_from_path
    - arc_add
    - gs_currentpoint
    - gs_lineto
    - fabs
    - return_error
    linkageType: ''
    returnType: int
    signature: 'int gs_arcto(gs_gstate * pgs,

      double ax1, double ay1, double ax2, double ay2, double arad, float retxy[4])'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: PRECISE_CURRENTPOINT
      Src: /src/libspectre/ghostscript/base/gspath1.c:396,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gspath1.c:397,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gspath1.c:398,1
    - Dst: gs_point_transform2fixed
      Src: /src/libspectre/ghostscript/base/gspath1.c:399,1
    - Dst: gs_point_transform2fixed_rounding
      Src: /src/libspectre/ghostscript/base/gspath1.c:401,1
    - Dst: gs_point_transform2fixed_rounding
      Src: /src/libspectre/ghostscript/base/gspath1.c:402,1
    - Dst: gs_point_transform2fixed_rounding
      Src: /src/libspectre/ghostscript/base/gspath1.c:403,1
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/base/gspath1.c:408,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gspath1.c:409,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gspath1.c:409,1
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/base/gspath1.c:413,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gspath1.c:414,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gspath1.c:416,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gspath1.c:451,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gspath1.c:458,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gspath1.c:464,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - arc
    - is_quadrant
    argTypes:
    - arc_curve_params_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 466
    functionName: arc_add
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 4
    functionsReached:
    - gs_point_transform2fixed
    - PRECISE_CURRENTPOINT
    - sqrt
    - gx_path_add_curve_notes
    - gs_point_transform2fixed_rounding
    - ctm_only
    - gx_path_add_line
    - path_position_valid
    - gx_path_add_point
    - gs_point_transform
    - if_debug8m
    linkageType: ''
    returnType: int
    signature: int arc_add(const arc_curve_params_t * arc, bool is_quadrant)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 5
    argNames:
    - p
    - c
    - p0
    - p1
    - r
    argTypes:
    - gs_point*
    - gs_point*
    - gs_point*
    - gs_point*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 480
    functionName: make_quadrant_arc
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void make_quadrant_arc(gs_point *p, const gs_point *c,\n        const
      gs_point *p0, const gs_point *p1, double r)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdash_length
      Src: /src/libspectre/ghostscript/base/gspath1.c:491,1
    - Dst: gs_flattenpath
      Src: /src/libspectre/ghostscript/base/gspath1.c:493,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspath1.c:497,1
    - Dst: gx_path_add_dash_expansion
      Src: /src/libspectre/ghostscript/base/gspath1.c:498,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:500,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:503,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 484
    functionDepth: 4
    functionLinenumber: 484
    functionLinenumberEnd: 505
    functionName: gs_dashpath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gs_currentdash_length
    - gx_path_add_dash_expansion
    - gs_flattenpath
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int gs_dashpath(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_has_curves
      Src: /src/libspectre/ghostscript/base/gspath1.c:514,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspath1.c:516,1
    - Dst: gx_path_add_flattened_accurate
      Src: /src/libspectre/ghostscript/base/gspath1.c:517,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:520,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:523,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 507
    functionDepth: 4
    functionLinenumber: 507
    functionLinenumberEnd: 525
    functionName: gs_flattenpath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 1
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gx_path_add_flattened_accurate
    - gx_path_has_curves
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int gs_flattenpath(gs_gstate * pgs)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gspath1.c:534,1
    - Dst: gx_path_copy_reversed
      Src: /src/libspectre/ghostscript/base/gspath1.c:535,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:537,1
    - Dst: gx_setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gspath1.c:542,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:542,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:543,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:545,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:546,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 527
    functionDepth: 4
    functionLinenumber: 527
    functionLinenumberEnd: 551
    functionName: gs_reversepath
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gx_setcurrentpoint
    - gx_path_copy_reversed
    - gx_path_init_local
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_reversepath(gs_gstate * pgs)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox_set
      Src: /src/libspectre/ghostscript/base/gspath1.c:560,1
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gspath1.c:566,1
    - Dst: gx_path_current_point_inline
      Src: /src/libspectre/ghostscript/base/gspath1.c:569,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:582,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:583,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:584,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:585,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gspath1.c:586,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gspath1.c:586,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 3
    argNames:
    - pgs
    - pbox
    - include_moveto
    argTypes:
    - gs_gstate*
    - gs_rect*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 555
    functionDepth: 1
    functionLinenumber: 555
    functionLinenumberEnd: 587
    functionName: gs_upathbbox
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gs_bbox_transform_inverse
    - ctm_only
    - gx_path_bbox_set
    - path_last_is_moveto
    - gx_path_current_point_inline
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_upathbbox(gs_gstate * pgs, gs_rect * pbox, bool include_moveto)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_alloc
      Src: /src/libspectre/ghostscript/base/gspath1.c:597,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gspath1.c:601,1
    - Dst: gx_path_copy
      Src: /src/libspectre/ghostscript/base/gspath1.c:602,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:604,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gspath1.c:607,1
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/base/gspath1.c:610,1
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/base/gspath1.c:613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 4
    argNames:
    - mem
    - penum
    - pgs
    - copy
    argTypes:
    - gs_memory_t*
    - gs_path_enum*
    - gs_gstate*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 615
    functionName: gs_path_enum_copy_init
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_path_alloc
    - gx_path_free
    - gs_currentmatrix
    - return_error
    - gx_path_copy
    - gx_path_enum_init
    linkageType: ''
    returnType: int
    signature: int gs_path_enum_copy_init(gs_memory_t *mem, gs_path_enum * penum,
      const gs_gstate * pgs, bool copy)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/base/gspath1.c:624,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gspath1.c:632,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:633,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:634,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gspath1.c:636,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:637,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:638,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gspath1.c:645,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:646,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gspath1.c:647,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - penum
    - ppts
    argTypes:
    - gs_path_enum*
    - gs_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 654
    functionName: gs_path_enum_next
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_path_enum_next
    - gs_point_transform_inverse
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_path_enum_next(gs_path_enum * penum, gs_point ppts[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gspath1.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_path_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 2
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: gs_path_enum_cleanup
    functionSourceFile: /src/libspectre/ghostscript/base/gspath1.c
    functionUses: 0
    functionsReached:
    - gx_path_free
    linkageType: ''
    returnType: void
    signature: void gs_path_enum_cleanup(gs_path_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - width_bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: bitmap_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 58
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitmap_raster(width_bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - width_bits
    - ','
    - pad
    - ','
    - log2_align
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 71
    functionName: bitmap_raster_pad_align_
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitmap_raster_pad_align_(width_bits, pad, log2_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - width_bits
    - ','
    - pad
    - ','
    - log2_align
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: bitmap_raster_pad_align
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bitmap_raster_pad_align(width_bits, pad, log2_align)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: gx_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: gx_tile_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_tile_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - data_type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: gx_strip_bitmap_common
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_strip_bitmap_common(data_type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 162
    functionName: public_st_gx_strip_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gxbitmap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gx_strip_bitmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - pvec
    argTypes:
    - float*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: store_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void store_vector3(float *p, const gs_vector3 * pvec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:44,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:48,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscrdp.c:49,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - plist
    - key
    - values
    - size
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - float*
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 55
    functionName: write_floats
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - param_write_float_array
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int write_floats(gs_param_list * plist, gs_param_name key,\n             const
      float *values, int size, gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: store_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:62,1
    - Dst: write_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - plist
    - key
    - pvec
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_vector3*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 64
    functionName: write_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - store_vector3
    - write_floats
    linkageType: ''
    returnType: int
    signature: "int write_vector3(gs_param_list * plist, gs_param_name key,\n              const
      gs_vector3 * pvec, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: matrix_equal
      Src: /src/libspectre/ghostscript/base/gscrdp.c:70,1
    - Dst: store_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:72,1
    - Dst: store_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:73,1
    - Dst: store_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:74,1
    - Dst: write_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - key
    - pmat
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_matrix3*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 76
    functionName: write_matrix3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - matrix_equal
    - store_vector3
    - write_floats
    linkageType: ''
    returnType: int
    signature: "int write_matrix3(gs_param_list * plist, gs_param_name key,\n              const
      gs_matrix3 * pmat, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: range_equal
      Src: /src/libspectre/ghostscript/base/gscrdp.c:83,1
    - Dst: write_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - key
    - prange
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_range3*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 77
    functionDepth: 2
    functionLinenumber: 77
    functionLinenumberEnd: 89
    functionName: write_range3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - range_equal
    - write_floats
    linkageType: ''
    returnType: int
    signature: "int write_range3(gs_param_list * plist, gs_param_name key,\n             const
      gs_range3 * prange, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gs_cie_render_proc3*
    - gs_cie_render_proc3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: render_proc3_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool render_proc3_equal(const gs_cie_render_proc3 *p1, const gs_cie_render_proc3
      *p2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: render_proc3_equal
      Src: /src/libspectre/ghostscript/base/gscrdp.c:113,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:115,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:119,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 6
    argNames:
    - plist
    - key
    - pcrd
    - procs
    - domain
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_cie_render*
    - gs_cie_render_proc3*
    - gs_range3*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: write_proc3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - return_error
    - render_proc3_equal
    - param_write_float_array
    linkageType: ''
    returnType: int
    signature: "int write_proc3(gs_param_list * plist, gs_param_name key,\n            const
      gs_cie_render * pcrd, const gs_cie_render_proc3 * procs,\n            const
      gs_range3 * domain, gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gscrdp.c:144,1
    - Dst: param_put_cie_render1
      Src: /src/libspectre/ghostscript/base/gscrdp.c:146,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gscrdp.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - key
    - pcrd
    - mem
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_cie_render*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 149
    functionName: param_write_cie_render1
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - param_end_write_dict
    - param_put_cie_render1
    - param_begin_write_dict
    linkageType: ''
    returnType: int
    signature: "int param_write_cie_render1(gs_param_list * plist, gs_param_name key,\n
      \                       gs_cie_render * pcrd, gs_memory_t * mem)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_cie_render_sample
      Src: /src/libspectre/ghostscript/base/gscrdp.c:157,1
    - Dst: param_string_from_string
      Src: /src/libspectre/ghostscript/base/gscrdp.c:164,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/base/gscrdp.c:169,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gscrdp.c:170,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:176,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gscrdp.c:178,1
    - Dst: write_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:179,1
    - Dst: vector_equal
      Src: /src/libspectre/ghostscript/base/gscrdp.c:182,1
    - Dst: write_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:183,1
    - Dst: write_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:186,1
    - Dst: write_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:187,1
    - Dst: write_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:189,1
    - Dst: write_proc3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:190,1
    - Dst: write_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:192,1
    - Dst: write_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:193,1
    - Dst: write_proc3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:194,1
    - Dst: write_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:196,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:204,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:215,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:220,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscrdp.c:222,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:228,1
    - Dst: param_write_string_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:241,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:246,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:253,1
    - Dst: frac2float
      Src: /src/libspectre/ghostscript/base/gscrdp.c:260,1
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:266,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscrdp.c:271,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscrdp.c:272,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 60
    argCount: 3
    argNames:
    - plist
    - pcrd
    - mem
    argTypes:
    - gs_param_list*
    - gs_cie_render*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 152
    functionDepth: 4
    functionLinenumber: 152
    functionLinenumberEnd: 277
    functionName: param_put_cie_render1
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 1
    functionsReached:
    - param_write_name
    - param_write_int_array
    - write_proc3
    - write_vector3
    - param_string_from_string
    - frac2float
    - gs_note_error
    - write_matrix3
    - gs_free_object
    - param_write_string
    - gs_cie_render_sample
    - vector_equal
    - write_range3
    - param_write_int
    - gs_alloc_byte_array
    - param_write_string_array
    - memcpy
    - param_write_float_array
    - return_error
    linkageType: ''
    returnType: int
    signature: "int param_put_cie_render1(gs_param_list * plist, gs_cie_render * pcrd,\n
      \                     gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pvec
    - p
    argTypes:
    - gs_vector3*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 286
    functionName: load_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void load_vector3(gs_vector3 * pvec, const float *p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_read_float_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:291,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:296,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscrdp.c:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - key
    - values
    - count
    argTypes:
    - gs_param_list*
    - gs_param_name
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 287
    functionDepth: 1
    functionLinenumber: 287
    functionLinenumberEnd: 300
    functionName: read_floats
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - param_read_float_array
    linkageType: ''
    returnType: int
    signature: int read_floats(gs_param_list * plist, gs_param_name key, float *values,
      int count)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:306,1
    - Dst: load_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - plist
    - key
    - pvec
    - dflt
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_vector3*
    - gs_vector3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: read_vector3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - load_vector3
    - read_floats
    linkageType: ''
    returnType: int
    signature: "int read_vector3(gs_param_list * plist, gs_param_name key,\n             gs_vector3
      * pvec, const gs_vector3 * dflt)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:324,1
    - Dst: load_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:331,1
    - Dst: load_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:332,1
    - Dst: load_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:333,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - plist
    - key
    - pmat
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_matrix3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 338
    functionName: read_matrix3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - load_vector3
    - read_floats
    linkageType: ''
    returnType: int
    signature: int read_matrix3(gs_param_list * plist, gs_param_name key, gs_matrix3
      * pmat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: read_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - plist
    - key
    - prange
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_range3*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 360
    functionName: read_range3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - read_floats
    linkageType: ''
    returnType: int
    signature: int read_range3(gs_param_list * plist, gs_param_name key, gs_range3
      * prange)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plist
    - key
    - values
    argTypes:
    - gs_param_list*
    - gs_param_name
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 361
    functionDepth: 2
    functionLinenumber: 361
    functionLinenumberEnd: 366
    functionName: read_proc3
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - read_floats
    linkageType: ''
    returnType: int
    signature: "int read_proc3(gs_param_list * plist, gs_param_name key,\n           float
      values[gx_cie_cache_size * 3])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_begin_read_dict
      Src: /src/libspectre/ghostscript/base/gscrdp.c:374,1
    - Dst: param_get_cie_render1
      Src: /src/libspectre/ghostscript/base/gscrdp.c:379,1
    - Dst: param_end_read_dict
      Src: /src/libspectre/ghostscript/base/gscrdp.c:380,1
    - Dst: gs_cie_render_init
      Src: /src/libspectre/ghostscript/base/gscrdp.c:385,1
    - Dst: gs_cie_render_sample
      Src: /src/libspectre/ghostscript/base/gscrdp.c:386,1
    - Dst: gs_cie_render_complete
      Src: /src/libspectre/ghostscript/base/gscrdp.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - pcrd
    - plist
    - key
    - dev
    argTypes:
    - gs_cie_render*
    - gs_param_list*
    - gs_param_name
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 369
    functionDepth: 6
    functionLinenumber: 369
    functionLinenumberEnd: 388
    functionName: gs_cie_render1_param_initialize
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - param_begin_read_dict
    - gs_cie_render_sample
    - gs_cie_render_init
    - gs_cie_render_complete
    - param_get_cie_render1
    - param_end_read_dict
    linkageType: ''
    returnType: int
    signature: "int gs_cie_render1_param_initialize(gs_cie_render * pcrd, gs_param_list
      * plist,\n                                gs_param_name key, gx_device * dev)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - values
    - range
    argTypes:
    - double
    - float[]
    - gs_range*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 406
    functionName: encode_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: "float encode_from_data(double v, const float values[gx_cie_cache_size],\n
      \                const gs_range * range)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 418
    functionName: encode_lmn_0_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_lmn_0_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: encode_lmn_1_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_lmn_1_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: encode_lmn_2_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_lmn_2_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 442
    functionName: encode_abc_0_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_abc_0_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 450
    functionName: encode_abc_1_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_abc_1_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 458
    functionName: encode_abc_2_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    linkageType: ''
    returnType: float
    signature: float encode_abc_2_from_data(double v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscrdp.c:464,1
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:464,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - byte
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 467
    functionName: render_table_t_0_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    - float2frac
    linkageType: ''
    returnType: frac
    signature: frac render_table_t_0_from_data(byte v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscrdp.c:473,1
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - byte
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 476
    functionName: render_table_t_1_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    - float2frac
    linkageType: ''
    returnType: frac
    signature: frac render_table_t_1_from_data(byte v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscrdp.c:482,1
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - byte
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 485
    functionName: render_table_t_2_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    - float2frac
    linkageType: ''
    returnType: frac
    signature: frac render_table_t_2_from_data(byte v, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: float2frac
      Src: /src/libspectre/ghostscript/base/gscrdp.c:491,1
    - Dst: encode_from_data
      Src: /src/libspectre/ghostscript/base/gscrdp.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v
    - pcrd
    argTypes:
    - byte
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 494
    functionName: render_table_t_3_from_data
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 0
    functionsReached:
    - encode_from_data
    - float2frac
    linkageType: ''
    returnType: frac
    signature: frac render_table_t_3_from_data(byte v, const gs_cie_render * pcrd)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gscrdp.c:520,1
    - Dst: read_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:522,1
    - Dst: read_vector3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:524,1
    - Dst: read_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:526,1
    - Dst: read_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:527,1
    - Dst: read_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:529,1
    - Dst: read_proc3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:531,1
    - Dst: read_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:532,1
    - Dst: read_matrix3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:533,1
    - Dst: read_proc3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:535,1
    - Dst: read_range3
      Src: /src/libspectre/ghostscript/base/gscrdp.c:536,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gscrdp.c:540,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:550,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/base/gscrdp.c:553,1
    - Dst: gs_devicename
      Src: /src/libspectre/ghostscript/base/gscrdp.c:564,1
    - Dst: param_read_int_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:576,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscrdp.c:579,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:589,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:597,1
    - Dst: param_read_string_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:598,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:602,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:607,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:611,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gscrdp.c:612,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/base/gscrdp.c:614,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscrdp.c:619,1
    - Dst: read_floats
      Src: /src/libspectre/ghostscript/base/gscrdp.c:626,1
    - Dst: gs_cie_render_init
      Src: /src/libspectre/ghostscript/base/gscrdp.c:633,1
    - Dst: gs_cie_render_sample
      Src: /src/libspectre/ghostscript/base/gscrdp.c:634,1
    - Dst: gs_cie_render_complete
      Src: /src/libspectre/ghostscript/base/gscrdp.c:636,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 90
    argCount: 3
    argNames:
    - pcrd
    - plist
    - dev
    argTypes:
    - gs_cie_render*
    - gs_param_list*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 508
    functionDepth: 6
    functionLinenumber: 508
    functionLinenumberEnd: 646
    functionName: param_get_cie_render1
    functionSourceFile: /src/libspectre/ghostscript/base/gscrdp.c
    functionUses: 1
    functionsReached:
    - gs_alloc_struct_array
    - param_read_string_array
    - gs_cie_render_sample
    - param_read_int
    - read_vector3
    - param_read_int_array
    - gs_cie_render_init
    - read_matrix3
    - gs_cie_render_complete
    - memcpy
    - gs_free_object
    - gs_devicename
    - read_floats
    - return_error
    - read_range3
    - read_proc3
    - param_read_string
    linkageType: ''
    returnType: int
    signature: "int param_get_cie_render1(gs_cie_render * pcrd, gs_param_list * plist,\n
      \                     gx_device * dev)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_label
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:41,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:41,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 46
    functionName: sjpxd_create
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - gx_monitor_label
    - gx_monitor_alloc
    linkageType: ''
    returnType: int
    signature: int sjpxd_create(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: sjpxd_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - gx_monitor_free
    linkageType: ''
    returnType: void
    signature: void sjpxd_destroy(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:65,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts:
    - condition: (opj_memory == NULL)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    constantsTouched: []
    func_position:
      end: 72
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 72
    functionName: opj_lock
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - gx_monitor_enter
    - assert
    linkageType: ''
    returnType: int
    signature: int opj_lock(gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:79,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts:
    - condition: (opj_memory != NULL)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    constantsTouched: []
    func_position:
      end: 85
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 85
    functionName: opj_unlock
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - gx_monitor_leave
    - assert
    linkageType: ''
    returnType: int
    signature: int opj_unlock(gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:94,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts:
    - condition: (opj_memory != NULL)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    constantsTouched: []
    func_position:
      end: 100
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 100
    functionName: opj_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - assert
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *opj_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opj_malloc
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:109,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - n
    - size
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 113
    functionName: opj_calloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - memset
    - opj_malloc
    linkageType: ''
    returnType: void
    signature: void *opj_calloc(size_t n, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opj_malloc
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:118,1
    - Dst: opj_free
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:122,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: opj_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - gs_resize_object
    - opj_free
    - opj_malloc
    linkageType: ''
    returnType: void
    signature: void *opj_realloc(void *ptr, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    functionName: opj_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void opj_free(void *ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: opj_malloc
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - size
    - align
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: opj_aligned_malloc_n
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_malloc
    linkageType: ''
    returnType: void
    signature: void * opj_aligned_malloc_n(size_t size, size_t align)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opj_aligned_malloc_n
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: opj_aligned_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_aligned_malloc_n
    linkageType: ''
    returnType: void
    signature: void * opj_aligned_malloc(size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opj_aligned_malloc_n
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 159
    functionName: opj_aligned_32_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_aligned_malloc_n
    linkageType: ''
    returnType: void
    signature: void *opj_aligned_32_malloc(size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: opj_free
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ptr_
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 170
    functionName: opj_aligned_free
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_free
    linkageType: ''
    returnType: void
    signature: void opj_aligned_free(void* ptr_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: opj_realloc
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: opj_aligned_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_realloc
    linkageType: ''
    returnType: void
    signature: void * opj_aligned_realloc(void *ptr, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:199,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - p_buffer
    - p_nb_bytes
    - p_user_data
    argTypes:
    - void*
    - OPJ_SIZE_T
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 202
    functionName: sjpx_stream_read
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: OPJ_SIZE_T
    signature: OPJ_SIZE_T sjpx_stream_read(void * p_buffer, OPJ_SIZE_T p_nb_bytes,
      void * p_user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - skip
    - p_user_data
    argTypes:
    - OPJ_OFF_T
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: sjpx_stream_skip
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPJ_OFF_T
    signature: OPJ_OFF_T sjpx_stream_skip(OPJ_OFF_T skip, void * p_user_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - seek_pos
    - p_user_data
    argTypes:
    - OPJ_OFF_T
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 222
    functionName: sjpx_stream_seek
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: OPJ_BOOL
    signature: OPJ_BOOL sjpx_stream_seek(OPJ_OFF_T seek_pos, void * p_user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 227
    functionName: sjpx_error_callback
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void sjpx_error_callback(const char *msg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: sjpx_info_callback
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void sjpx_info_callback(const char *msg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dlprintf1
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - ptr
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 240
    functionName: sjpx_warning_callback
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - dlprintf1
    linkageType: ''
    returnType: void
    signature: void sjpx_warning_callback(const char *msg, void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 261
    functionName: s_opjd_init
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int s_opjd_init(stream_state * ss)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: opj_set_default_decoder_parameters
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:274,1
    - Dst: opj_create_decompress
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:277,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:279,1
    - Dst: opj_set_error_handler
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:282,1
    - Dst: opj_set_info_handler
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:283,1
    - Dst: opj_set_warning_handler
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:284,1
    - Dst: opj_setup_decoder
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:291,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:293,1
    - Dst: opj_stream_default_create
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:298,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:301,1
    - Dst: opj_stream_set_read_function
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:305,1
    - Dst: opj_stream_set_skip_function
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:306,1
    - Dst: opj_stream_set_seek_function
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - ss
    - format
    argTypes:
    - stream_state*
    - OPJ_CODEC_FORMAT
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 310
    functionName: s_opjd_set_codec_format
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_set_error_handler
    - opj_set_info_handler
    - dlprintf
    - opj_stream_default_create
    - opj_setup_decoder
    - opj_set_warning_handler
    - opj_stream_set_seek_function
    - opj_set_default_decoder_parameters
    - opj_stream_set_read_function
    - return_error
    - opj_create_decompress
    - opj_stream_set_skip_function
    linkageType: ''
    returnType: int
    signature: int s_opjd_set_codec_format(stream_state * ss, OPJ_CODEC_FORMAT format)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - row
    - row_size
    argTypes:
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 345
    functionName: ycc_to_rgb_8
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ycc_to_rgb_8(unsigned char *row, unsigned long row_size)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - row
    - row_size
    argTypes:
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 383
    functionName: ycc_to_rgb_16
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ycc_to_rgb_16(unsigned char *row, unsigned long row_size)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: opj_read_header
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:390,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:392,1
    - Dst: opj_decode
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:397,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:399,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:476,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:478,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:481,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:483,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 1
    argNames:
    - state
    argTypes:
    - stream_jpxd_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 494
    functionName: decode_image
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - dlprintf
    - gs_alloc_byte_array
    - opj_read_header
    - return_error
    - opj_decode
    linkageType: ''
    returnType: int
    signature: int decode_image(stream_jpxd_state * const state)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:502,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:504,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:520,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:537,1
    - Dst: ycc_to_rgb_8
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:646,1
    - Dst: ycc_to_rgb_16
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:648,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:654,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 97
    argCount: 2
    argNames:
    - state
    - pw
    argTypes:
    - stream_jpxd_state*
    - stream_cursor_write*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 667
    functionName: process_one_trunk
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - ycc_to_rgb_16
    - gs_alloc_byte_array
    - memset
    - memcpy
    - ycc_to_rgb_8
    - min
    linkageType: ''
    returnType: int
    signature: int process_one_trunk(stream_jpxd_state * const state, stream_cursor_write
      * pw)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: opj_lock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:684,1
    - Dst: s_opjd_accumulate_input
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:688,1
    - Dst: s_opjd_set_codec_format
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:695,1
    - Dst: s_opjd_set_codec_format
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:697,1
    - Dst: opj_unlock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:700,1
    - Dst: opj_lock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:714,1
    - Dst: opj_stream_set_user_data
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:720,1
    - Dst: opj_stream_set_user_data
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:722,1
    - Dst: opj_stream_set_user_data_length
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:724,1
    - Dst: decode_image
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:725,1
    - Dst: opj_unlock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:728,1
    - Dst: opj_unlock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:735,1
    - Dst: process_one_trunk
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:740,1
    - Dst: opj_unlock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:745,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 4
    argNames:
    - ss
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 672
    functionDepth: 2
    functionLinenumber: 672
    functionLinenumberEnd: 749
    functionName: s_opjd_process
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_lock
    - process_one_trunk
    - opj_stream_set_user_data
    - decode_image
    - opj_stream_set_user_data_length
    - opj_unlock
    - s_opjd_accumulate_input
    - s_opjd_set_codec_format
    linkageType: ''
    returnType: int
    signature: "int s_opjd_process(stream_state * ss, stream_cursor_read * pr,\n                 stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 758
    functionName: s_opjd_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_opjd_set_defaults(stream_state * ss)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: opj_lock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:772,1
    - Dst: opj_image_destroy
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:776,1
    - Dst: opj_stream_destroy
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:780,1
    - Dst: opj_destroy_codec
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:784,1
    - Dst: opj_unlock
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:786,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:790,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:793,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:796,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:799,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 1
    argNames:
    - ss
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 800
    functionName: s_opjd_release
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 0
    functionsReached:
    - opj_lock
    - opj_stream_destroy
    - opj_unlock
    - opj_image_destroy
    - opj_destroy_codec
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_opjd_release(stream_state *ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:817,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:820,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:822,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:823,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sjpx_openjpeg.c:832,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - state
    - pr
    argTypes:
    - stream_jpxd_state*
    - stream_cursor_read*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 837
    functionName: s_opjd_accumulate_input
    functionSourceFile: /src/libspectre/ghostscript/base/sjpx_openjpeg.c
    functionUses: 1
    functionsReached:
    - gs_alloc_byte_array
    - if_debug1
    - gs_resize_object
    - memcpy
    - return_error
    linkageType: ''
    returnType: int
    signature: int s_opjd_accumulate_input(stream_jpxd_state *state, stream_cursor_read
      * pr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - in
    - out
    - err
    argTypes:
    - FILE**
    - FILE**
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: gs_lib_ctx_get_real_stdio
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_lib_ctx_get_real_stdio(FILE **in, FILE **out, FILE **err)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: gs_lib_ctx_get_non_gc_memory_t
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_lib_ctx_get_non_gc_memory_t()'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gslibctx.c:73,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gslibctx.c:77,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:80,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:86,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - mem_gc
    - pname
    - dir_namelen
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 95
    functionName: gs_lib_ctx_set_icc_directory
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - strcmp
    - strcpy
    - strncmp
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_lib_ctx_set_icc_directory(const gs_memory_t *mem_gc, const
      char* pname,\n                             int dir_namelen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:107,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:111,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:114,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gslibctx.c:119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - dev_list_str
    - list_str_len
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 122
    functionName: gs_lib_ctx_set_default_device_list
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - memcpy
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int gs_lib_ctx_set_default_device_list(const gs_memory_t *mem, const
      char* dev_list_str,\n                        int list_str_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:136,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - dev_list_str
    - list_str_len
    argTypes:
    - gs_memory_t*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 139
    functionName: gs_lib_ctx_get_default_device_list
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: "int gs_lib_ctx_get_default_device_list(const gs_memory_t *mem, char**
      dev_list_str,\n                        int *list_str_len)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_raw_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gslibctx.c:146,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gslibctx.c:148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - rp
    argTypes:
    - gs_memory_t*
    - gs_gc_root_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 151
    functionName: gs_lib_ctx_alloc_root_structure
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - gs_raw_alloc_struct_immovable
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_alloc_root_structure(gs_memory_t *mem, gs_gc_root_ptr
      *rp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gslibctx.c:162,1
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gslibctx.c:165,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gslibctx.c:166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - mem
    - secret
    - fname
    - mode
    - file
    argTypes:
    - gs_memory_t*
    - void*
    - char*
    - char*
    - gp_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 153
    functionDepth: 3
    functionLinenumber: 153
    functionLinenumberEnd: 171
    functionName: fs_file_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gp_fopen_impl
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    linkageType: ''
    returnType: int
    signature: "int fs_file_open_file(const gs_memory_t *mem,\n                        void
      \       *secret,\n                  const char        *fname,\n                  const
      char        *mode,\n                        gp_file    **file)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gslibctx.c:176,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gslibctx.c:179,1
    - Dst: gp_open_scratch_file_impl
      Src: /src/libspectre/ghostscript/base/gslibctx.c:180,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 7
    argNames:
    - mem
    - secret
    - prefix
    - rfname
    - mode
    - rm
    - file
    argTypes:
    - gs_memory_t*
    - void*
    - char*
    - char*
    - char*
    - int
    - gp_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 191
    functionName: fs_file_open_scratch
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gp_open_scratch_file_impl
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    linkageType: ''
    returnType: int
    signature: int fs_file_open_scratch(const gs_memory_t *mem, void *secret, const
      char *prefix, char *rfname, const char *mode, int rm, gp_file **file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gslibctx.c:199,1
    - Dst: gp_open_printer_impl
      Src: /src/libspectre/ghostscript/base/gslibctx.c:202,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gslibctx.c:203,1
    - Dst: gp_setmode_binary_impl
      Src: /src/libspectre/ghostscript/base/gslibctx.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - mem
    - secret
    - fname
    - binary_mode
    - file
    argTypes:
    - gs_memory_t*
    - void*
    - char*
    - int
    - gp_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 193
    functionDepth: 3
    functionLinenumber: 193
    functionLinenumberEnd: 210
    functionName: fs_file_open_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gp_setmode_binary_impl
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - gp_open_printer_impl
    linkageType: ''
    returnType: int
    signature: int fs_file_open_printer(const gs_memory_t *mem, void *secret, const
      char *fname, int binary_mode, gp_file **file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 218
    functionName: cal_do_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: 'void *

      cal_do_malloc(void *opaque, size_t size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - opaque
    - ptr
    - newsize
    argTypes:
    - void*
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    functionName: cal_do_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_resize_object
    linkageType: ''
    returnType: void
    signature: 'void *

      cal_do_realloc(void *opaque, void *ptr, size_t newsize)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - opaque
    - ptr
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: cal_do_free
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void cal_do_free(void *opaque, void *ptr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gslibctx.c:248,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gslibctx.c:257,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gslibctx.c:265,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gslibctx.c:269,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gslibctx.c:271,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gslibctx.c:273,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:277,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gslibctx.c:280,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gslibctx.c:281,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:285,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:286,1
    - Dst: cal_init
      Src: /src/libspectre/ghostscript/base/gslibctx.c:290,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:292,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:293,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:294,1
    - Dst: gx_monitor_alloc
      Src: /src/libspectre/ghostscript/base/gslibctx.c:307,1
    - Dst: cal_fin
      Src: /src/libspectre/ghostscript/base/gslibctx.c:310,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:312,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:313,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:314,1
    - Dst: gs_lib_ctx_get_real_stdio
      Src: /src/libspectre/ghostscript/base/gslibctx.c:321,1
    - Dst: gs_lib_ctx_set_icc_directory
      Src: /src/libspectre/ghostscript/base/gslibctx.c:338,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:338,1
    - Dst: gs_lib_ctx_set_default_device_list
      Src: /src/libspectre/ghostscript/base/gslibctx.c:341,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:342,1
    - Dst: gscms_create
      Src: /src/libspectre/ghostscript/base/gslibctx.c:346,1
    - Dst: sjpxd_create
      Src: /src/libspectre/ghostscript/base/gslibctx.c:350,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gslibctx.c:354,1
    - Dst: gs_lib_ctx_alloc_root_structure
      Src: /src/libspectre/ghostscript/base/gslibctx.c:356,1
    - Dst: gs_lib_ctx_alloc_root_structure
      Src: /src/libspectre/ghostscript/base/gslibctx.c:359,1
    - Dst: gs_lib_ctx_alloc_root_structure
      Src: /src/libspectre/ghostscript/base/gslibctx.c:362,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:364,1
    - Dst: gs_lib_ctx_fin
      Src: /src/libspectre/ghostscript/base/gslibctx.c:370,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 93
    argCount: 2
    argNames:
    - ctx
    - mem
    argTypes:
    - gs_lib_ctx_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 372
    functionName: gs_lib_ctx_init
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gx_monitor_enter
    - gs_lib_ctx_get_real_stdio
    - sjpxd_create
    - strlen
    - gp_get_realtime
    - gs_lib_ctx_set_default_device_list
    - gs_lib_ctx_set_icc_directory
    - gs_lib_ctx_alloc_root_structure
    - memset
    - cal_fin
    - gs_lib_ctx_fin
    - cal_init
    - gs_free_object
    - gx_monitor_leave
    - gs_alloc_bytes_immovable
    - gscms_create
    - gx_monitor_alloc
    - return_error
    - gs_add_control_path
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_init(gs_lib_ctx_t *ctx, gs_memory_t *mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: remove_ctx_pointers
      Src: /src/libspectre/ghostscript/base/gslibctx.c:378,1
    - Dst: remove_ctx_pointers
      Src: /src/libspectre/ghostscript/base/gslibctx.c:380,1
    - Dst: remove_ctx_pointers
      Src: /src/libspectre/ghostscript/base/gslibctx.c:382,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 8
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 383
    functionName: remove_ctx_pointers
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - remove_ctx_pointers
    linkageType: ''
    returnType: void
    signature: void remove_ctx_pointers(gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sjpxd_destroy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:399,1
    - Dst: gscms_destroy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:400,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:401,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:404,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:407,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:408,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:409,1
    - Dst: gx_monitor_enter
      Src: /src/libspectre/ghostscript/base/gslibctx.c:415,1
    - Dst: gx_monitor_leave
      Src: /src/libspectre/ghostscript/base/gslibctx.c:417,1
    - Dst: gx_monitor_free
      Src: /src/libspectre/ghostscript/base/gslibctx.c:419,1
    - Dst: cal_fin
      Src: /src/libspectre/ghostscript/base/gslibctx.c:421,1
    - Dst: gs_purge_scratch_files
      Src: /src/libspectre/ghostscript/base/gslibctx.c:423,1
    - Dst: gs_purge_control_paths
      Src: /src/libspectre/ghostscript/base/gslibctx.c:424,1
    - Dst: gs_purge_control_paths
      Src: /src/libspectre/ghostscript/base/gslibctx.c:425,1
    - Dst: gs_purge_control_paths
      Src: /src/libspectre/ghostscript/base/gslibctx.c:426,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:431,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:438,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:443,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:444,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:446,1
    - Dst: remove_ctx_pointers
      Src: /src/libspectre/ghostscript/base/gslibctx.c:448,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:450,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 451
    functionName: gs_lib_ctx_fin
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 2
    functionsReached:
    - sjpxd_destroy
    - gx_monitor_leave
    - gx_monitor_enter
    - gscms_destroy
    - remove_ctx_pointers
    - gs_purge_scratch_files
    - gx_monitor_free
    - gs_purge_control_paths
    - cal_fin
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_lib_ctx_fin(gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 458
    functionName: gs_lib_ctx_get_interp_instance
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: gs_lib_ctx_t
    signature: gs_lib_ctx_t *gs_lib_ctx_get_interp_instance(const gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 465
    functionName: gs_lib_ctx_get_cms_context
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void *gs_lib_ctx_get_cms_context( const gs_memory_t *mem )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - cms_context
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 472
    functionName: gs_lib_ctx_set_cms_context
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_lib_ctx_set_cms_context( const gs_memory_t *mem, void *cms_context
      )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: gs_lib_ctx_get_act_on_uel
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_get_act_on_uel( const gs_memory_t *mem )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gslibctx.c:494,1
    - Dst: gp_fwrite
      Src: /src/libspectre/ghostscript/base/gslibctx.c:495,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:496,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gslibctx.c:500,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:501,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - mem
    - str
    - len
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 504
    functionName: outwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - errwrite
    - gp_fflush
    - fwrite
    - fflush
    - gp_fwrite
    linkageType: ''
    returnType: int
    signature: int outwrite(const gs_memory_t *mem, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errwrite
      Src: /src/libspectre/ghostscript/base/gslibctx.c:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: errwrite_nomem
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 2
    functionsReached:
    - errwrite
    linkageType: ''
    returnType: int
    signature: int errwrite_nomem(const char *str, int len)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/gslibctx.c:536,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:537,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - mem
    - str
    - len
    argTypes:
    - gs_memory_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 513
    functionDepth: 0
    functionLinenumber: 513
    functionLinenumberEnd: 539
    functionName: errwrite
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 5
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int errwrite(const gs_memory_t *mem, const char *str, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:547,1
    - Dst: gp_fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:550,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 554
    functionName: outflush
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gp_fflush
    - fflush
    linkageType: ''
    returnType: void
    signature: void outflush(const gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: errflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 560
    functionName: errflush_nomem
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - errflush
    linkageType: ''
    returnType: void
    signature: void errflush_nomem(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/libspectre/ghostscript/base/gslibctx.c:566,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 563
    functionDepth: 0
    functionLinenumber: 563
    functionLinenumberEnd: 568
    functionName: errflush
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - fflush
    linkageType: ''
    returnType: void
    signature: void errflush(const gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_t*::gs_lib_ctx::client_check_file_permission
      Src: /src/libspectre/ghostscript/base/gslibctx.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - mem
    - fname
    - len
    - permission
    argTypes:
    - gs_memory_t*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 0
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: gs_check_file_permission
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gs_memory_t*::gs_lib_ctx::client_check_file_permission
    linkageType: ''
    returnType: int
    signature: int gs_check_file_permission (gs_memory_t *mem, const char *fname,
      const int len, const char *permission)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gslibctx.c:631,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 37
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 635
    functionName: rewrite_percent_specifiers
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void rewrite_percent_specifiers(char *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 644
    functionName: IS_WHITESPACE
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WHITESPACE(c)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:649,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:655,1
    - Dst: rewrite_percent_specifiers
      Src: /src/libspectre/ghostscript/base/gslibctx.c:658,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:668,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:671,1
    - Dst: IS_WHITESPACE
      Src: /src/libspectre/ghostscript/base/gslibctx.c:676,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:679,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:682,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 683
    functionName: gs_add_outputfile_control_path
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - rewrite_percent_specifiers
    - strlen
    - strcpy
    - IS_WHITESPACE
    - gs_add_control_path
    linkageType: ''
    returnType: int
    signature: int gs_add_outputfile_control_path(gs_memory_t *mem, const char *fname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:690,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:696,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:708,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:711,1
    - Dst: IS_WHITESPACE
      Src: /src/libspectre/ghostscript/base/gslibctx.c:716,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:719,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/base/gslibctx.c:722,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 723
    functionName: gs_remove_outputfile_control_path
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 3
    functionsReached:
    - IS_WHITESPACE
    - strlen
    - gs_remove_control_path
    - strcpy
    linkageType: ''
    returnType: int
    signature: int gs_remove_outputfile_control_path(gs_memory_t *mem, const char
      *fname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:734,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gslibctx.c:735,1
    - Dst: gs_add_control_path_len
      Src: /src/libspectre/ghostscript/base/gslibctx.c:736,1
    - Dst: gs_add_control_path_len
      Src: /src/libspectre/ghostscript/base/gslibctx.c:740,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - arg
    - control
    argTypes:
    - gs_memory_t*
    - char*
    - gs_path_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 742
    functionName: gs_add_explicit_control_path
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - strchr
    - gs_add_control_path_len
    - strlen
    linkageType: ''
    returnType: int
    signature: int gs_add_explicit_control_path(gs_memory_t *mem, const char *arg,
      gs_path_control_t control)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - len
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 744
    functionDepth: 1
    functionLinenumber: 744
    functionLinenumberEnd: 748
    functionName: gs_add_control_path_len
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gs_add_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_add_control_path_len(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, size_t len)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:781,1
    - Dst: gp_file_name_reduce
      Src: /src/libspectre/ghostscript/base/gslibctx.c:785,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gslibctx.c:792,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:794,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:805,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:807,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:809,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 52
    argCount: 5
    argNames:
    - mem
    - type
    - path
    - len
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 823
    functionName: gs_add_control_path_len_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gp_file_name_reduce
    - gs_alloc_bytes
    - gs_resize_object
    - strncmp
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_add_control_path_len_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, size_t len, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:828,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - type
    - path
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 2
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: gs_add_control_path
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 5
    functionsReached:
    - strlen
    - gs_add_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_add_control_path(const gs_memory_t *mem, gs_path_control_t type,
      const char *path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:834,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: gs_add_control_path_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - strlen
    - gs_add_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_add_control_path_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_remove_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - len
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 1
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: gs_remove_control_path_len
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_remove_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_remove_control_path_len(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, size_t len)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:874,1
    - Dst: gp_file_name_reduce
      Src: /src/libspectre/ghostscript/base/gslibctx.c:878,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gslibctx.c:885,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:889,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:893,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 38
    argCount: 5
    argNames:
    - mem
    - type
    - path
    - len
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 899
    functionName: gs_remove_control_path_len_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gp_file_name_reduce
    - strncmp
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gs_remove_control_path_len_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, size_t len, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_remove_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:907,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - type
    - path
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 2
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: gs_remove_control_path
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 4
    functionsReached:
    - strlen
    - gs_remove_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_remove_control_path(const gs_memory_t *mem, gs_path_control_t
      type, const char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_remove_control_path_len_flags
      Src: /src/libspectre/ghostscript/base/gslibctx.c:916,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:916,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 910
    functionDepth: 2
    functionLinenumber: 910
    functionLinenumberEnd: 917
    functionName: gs_remove_control_path_flags
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 2
    functionsReached:
    - strlen
    - gs_remove_control_path_len_flags
    linkageType: ''
    returnType: int
    signature: int gs_remove_control_path_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, int flags)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:950,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:954,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 2
    argNames:
    - mem
    - type
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 919
    functionDepth: 0
    functionLinenumber: 919
    functionLinenumberEnd: 958
    functionName: gs_purge_control_paths
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_purge_control_paths(const gs_memory_t *mem, gs_path_control_t
      type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gp_unlink_impl
      Src: /src/libspectre/ghostscript/base/gslibctx.c:997,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:999,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1004,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 960
    functionDepth: 0
    functionLinenumber: 960
    functionLinenumberEnd: 1009
    functionName: gs_purge_scratch_files
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - gp_unlink_impl
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_purge_scratch_files(const gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - enable
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1021
    functionName: gs_activate_path_control
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_activate_path_control(gs_memory_t *mem, int enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1033
    functionName: gs_is_path_control_active
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_is_path_control_active(const gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1047,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - fs
    - secret
    argTypes:
    - gs_memory_t*
    - gs_fs_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1059
    functionName: gs_add_fs
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    linkageType: ''
    returnType: int
    signature: "int gs_add_fs(const gs_memory_t *mem,\n                gs_fs_t     *fs,\n
      \               void        *secret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1083,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - rfs
    - secret
    argTypes:
    - gs_memory_t*
    - gs_fs_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1061
    functionDepth: 0
    functionLinenumber: 1061
    functionLinenumberEnd: 1087
    functionName: gs_remove_fs
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: "void gs_remove_fs(const gs_memory_t *mem,\n                   gs_fs_t
      \    *rfs,\n                   void        *secret)"
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1141,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1143,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1145,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1147,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1149,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1151,1
    - Dst: ARG_MATCHES
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1153,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1177,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1184,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1190,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1196,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1200,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 90
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - gs_lib_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1208
    functionName: gs_lib_ctx_stash_sanitized_arg
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - strlen
    - memcpy
    - ARG_MATCHES
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_stash_sanitized_arg(gs_lib_ctx_t *ctx, const char *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - STR
    - ','
    - ARG
    - ','
    - LEN
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1139
    functionDepth: 0
    functionLinenumber: 1139
    functionLinenumberEnd: 1141
    functionName: ARG_MATCHES
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARG_MATCHES(STR, ARG, LEN)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_directory_separator
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1216,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1217,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1226,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1245,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1250,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1251,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1257,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1262,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - arg
    argTypes:
    - gs_lib_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1269
    functionName: gs_lib_ctx_stash_exe
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 1
    functionsReached:
    - strcat
    - gs_alloc_bytes
    - gp_file_name_directory_separator
    - strlen
    - strcpy
    - memcpy
    - memcmp
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_stash_exe(gs_lib_ctx_t *ctx, const char *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - argv
    argTypes:
    - gs_lib_ctx_t*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1271
    functionDepth: 0
    functionLinenumber: 1271
    functionLinenumberEnd: 1281
    functionName: gs_lib_ctx_get_args
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_get_args(gs_lib_ctx_t *ctx, const char * const **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 3
    argNames:
    - mem
    - fn
    - arg
    argTypes:
    - gs_memory_t*
    - gs_callout_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1304
      start: 1283
    functionDepth: 1
    functionLinenumber: 1283
    functionLinenumberEnd: 1304
    functionName: gs_lib_ctx_register_callout
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gs_lib_ctx_register_callout(gs_memory_t *mem, gs_callout_fn fn,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 3
    argNames:
    - mem
    - fn
    - arg
    argTypes:
    - gs_memory_t*
    - gs_callout_fn
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1306
    functionDepth: 0
    functionLinenumber: 1306
    functionLinenumberEnd: 1326
    functionName: gs_lib_ctx_deregister_callout
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gs_lib_ctx_deregister_callout(gs_memory_t *mem, gs_callout_fn
      fn, void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_callout_list_t*::callout
      Src: /src/libspectre/ghostscript/base/gslibctx.c:1340,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - mem
    - dev_name
    - id
    - size
    - data
    argTypes:
    - gs_memory_t*
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1349
    functionName: gs_lib_ctx_callout
    functionSourceFile: /src/libspectre/ghostscript/base/gslibctx.c
    functionUses: 0
    functionsReached:
    - gs_callout_list_t*::callout
    linkageType: ''
    returnType: int
    signature: "int gs_lib_ctx_callout(gs_memory_t *mem, const char *dev_name,\n                       int
      id, int size, void *data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: public_st_gs_text_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_text_enum()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - penum
    - ','
    - op_mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: SHOW_IS
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS(penum, op_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - penum
    - ','
    - op_mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: SHOW_IS_ALL_OF
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_ALL_OF(penum, op_mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: SHOW_IS_ADD_TO_ALL
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_ADD_TO_ALL(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 268
    functionName: SHOW_IS_ADD_TO_SPACE
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_ADD_TO_SPACE(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    functionName: SHOW_IS_DO_KERN
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_DO_KERN(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: SHOW_IS_SLOW
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_SLOW(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    functionName: SHOW_IS_DRAWING
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_DRAWING(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - penum
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: SHOW_IS_STRINGWIDTH
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHOW_IS_STRINGWIDTH(penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    functionName: text_enum_proc_resync
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_resync(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: text_enum_proc_process
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_process(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 333
    functionName: text_enum_proc_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_is_width_only(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 340
    functionDepth: 0
    functionLinenumber: 340
    functionLinenumberEnd: 342
    functionName: text_enum_proc_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_current_width(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 353
    functionName: text_enum_proc_set_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_set_cache(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 363
    functionName: text_enum_proc_retry
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_retry(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 372
    functionDepth: 0
    functionLinenumber: 372
    functionLinenumberEnd: 374
    functionName: text_enum_proc_release
    functionSourceFile: /src/libspectre/ghostscript/base/gxtext.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: text_enum_proc_release(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: AntiAlias
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool AntiAlias
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 76
    functionName: SHADING_FILL_RECTANGLE_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SHADING_FILL_RECTANGLE_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - psh
    - ','
    - prect
    - ','
    - prect_clip
    - ','
    - dev
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: gs_shading_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_shading_fill_rectangle(psh, prect, prect_clip, dev, pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - psh
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ShadingType
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ShadingType(psh)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    functionName: private_st_shading
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: private_st_shading_Fb
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_Fb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: private_st_shading_A
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_A()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 140
    functionName: private_st_shading_R
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_R()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 167
    functionName: private_st_shading_FfGt
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_FfGt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: private_st_shading_LfGt
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_LfGt()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: private_st_shading_Cp
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_Cp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 197
    functionName: private_st_shading_Tpp
    functionSourceFile: /src/libspectre/ghostscript/base/gsshade.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_shading_Tpp()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - basefont
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: FAPI_ISCIDFONT
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAPI_ISCIDFONT(basefont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - basefont
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: FAPI_ISTYPE1GLYPHDATA
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAPI_ISTYPE1GLYPHDATA(basefont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: fapi_init_func
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapi.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fapi_init_func(proc)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfname.c:38,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/base/gsfname.c:46,1
    - Dst: gs_findiodevice
      Src: /src/libspectre/ghostscript/base/gsfname.c:57,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfname.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - pfn
    - pname
    - len
    - memory
    argTypes:
    - gs_parsed_file_name_t*
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 29
    functionDepth: 2
    functionLinenumber: 29
    functionLinenumberEnd: 65
    functionName: gs_parse_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsfname.c
    functionUses: 2
    functionsReached:
    - return_error
    - gs_findiodevice
    - memchr
    linkageType: ''
    returnType: int
    signature: "int gs_parse_file_name(gs_parsed_file_name_t * pfn, const char *pname,
      uint len,\n                   const gs_memory_t *memory)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/base/gsfname.c:72,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfname.c:77,1
    - Dst: gs_terminate_file_name
      Src: /src/libspectre/ghostscript/base/gsfname.c:78,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 5
    argNames:
    - pfn
    - pname
    - len
    - mem
    - cname
    argTypes:
    - gs_parsed_file_name_t*
    - char*
    - uint
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 79
    functionName: gs_parse_real_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsfname.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_terminate_file_name
    - gs_parse_file_name
    linkageType: ''
    returnType: int
    signature: "int gs_parse_real_file_name(gs_parsed_file_name_t * pfn, const char
      *pname,\n                        uint len, gs_memory_t *mem, client_name_t cname)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsfname.c:90,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsfname.c:94,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsfname.c:96,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsfname.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pfn
    - mem
    - cname
    argTypes:
    - gs_parsed_file_name_t*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 103
    functionName: gs_terminate_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsfname.c
    functionUses: 1
    functionsReached:
    - gs_alloc_string
    - return_error
    - iodev_default
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int gs_terminate_file_name(gs_parsed_file_name_t * pfn, gs_memory_t
      *mem,\n                       client_name_t cname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_const_string
      Src: /src/libspectre/ghostscript/base/gsfname.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pfn
    - cname
    argTypes:
    - gs_parsed_file_name_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 112
    functionName: gs_free_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsfname.c
    functionUses: 0
    functionsReached:
    - gs_free_const_string
    linkageType: ''
    returnType: void
    signature: void gs_free_file_name(gs_parsed_file_name_t * pfn, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 57
    functionName: GET_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ULONG_LE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - n
    - ','
    - b
    - ','
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 67
    functionName: PUT_ULONG_LE
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUT_ULONG_LE(n,b,i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 192
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 307
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 311
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 315
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 319
    functionName: V
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: V(a,b,c,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 363
    functionName: ROTL8
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROTL8(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    functionName: XTIME
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XTIME(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 365
    functionName: MUL
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MUL(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIME
      Src: /src/libspectre/ghostscript/base/aes.c:381,1
    - Dst: XTIME
      Src: /src/libspectre/ghostscript/base/aes.c:390,1
    - Dst: XTIME
      Src: /src/libspectre/ghostscript/base/aes.c:419,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:427,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:428,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:429,1
    - Dst: MUL
      Src: /src/libspectre/ghostscript/base/aes.c:433,1
    - Dst: MUL
      Src: /src/libspectre/ghostscript/base/aes.c:434,1
    - Dst: MUL
      Src: /src/libspectre/ghostscript/base/aes.c:435,1
    - Dst: MUL
      Src: /src/libspectre/ghostscript/base/aes.c:436,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:438,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:439,1
    - Dst: ROTL8
      Src: /src/libspectre/ghostscript/base/aes.c:440,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 442
    functionName: aes_gen_tables
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached:
    - ROTL8
    - MUL
    - XTIME
    linkageType: ''
    returnType: void
    signature: void aes_gen_tables( void )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: aes_gen_tables
      Src: /src/libspectre/ghostscript/base/aes.c:457,1
    - Dst: PADLOCK_ALIGN16
      Src: /src/libspectre/ghostscript/base/aes.c:471,1
    - Dst: GET_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 3
    argNames:
    - ctx
    - key
    - keysize
    argTypes:
    - aes_context*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 449
    functionDepth: 2
    functionLinenumber: 449
    functionLinenumberEnd: 547
    functionName: aes_setkey_enc
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached:
    - GET_ULONG_LE
    - PADLOCK_ALIGN16
    - aes_gen_tables
    linkageType: ''
    returnType: void
    signature: void aes_setkey_enc( aes_context *ctx, const unsigned char *key, int
      keysize )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PADLOCK_ALIGN16
      Src: /src/libspectre/ghostscript/base/aes.c:568,1
    - Dst: aes_setkey_enc
      Src: /src/libspectre/ghostscript/base/aes.c:573,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:597,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - ctx
    - key
    - keysize
    argTypes:
    - aes_context*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 552
    functionDepth: 3
    functionLinenumber: 552
    functionLinenumberEnd: 598
    functionName: aes_setkey_dec
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 1
    functionsReached:
    - memset
    - aes_setkey_enc
    - PADLOCK_ALIGN16
    linkageType: ''
    returnType: void
    signature: void aes_setkey_dec( aes_context *ctx, const unsigned char *key, int
      keysize )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - X0
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 600
    functionDepth: 0
    functionLinenumber: 600
    functionLinenumberEnd: 622
    functionName: AES_FROUND
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_FROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - X0
    - ','
    - X1
    - ','
    - X2
    - ','
    - X3
    - ','
    - Y0
    - ','
    - Y1
    - ','
    - Y2
    - ','
    - Y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 645
    functionName: AES_RROUND
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: AES_RROUND(X0,X1,X2,X3,Y0,Y1,Y2,Y3)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: padlock_supports
      Src: /src/libspectre/ghostscript/base/aes.c:658,1
    - Dst: padlock_xcryptecb
      Src: /src/libspectre/ghostscript/base/aes.c:660,1
    - Dst: GET_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:670,1
    - Dst: GET_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:671,1
    - Dst: GET_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:672,1
    - Dst: GET_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:673,1
    - Dst: AES_RROUND
      Src: /src/libspectre/ghostscript/base/aes.c:679,1
    - Dst: AES_RROUND
      Src: /src/libspectre/ghostscript/base/aes.c:680,1
    - Dst: AES_RROUND
      Src: /src/libspectre/ghostscript/base/aes.c:683,1
    - Dst: AES_FROUND
      Src: /src/libspectre/ghostscript/base/aes.c:709,1
    - Dst: AES_FROUND
      Src: /src/libspectre/ghostscript/base/aes.c:710,1
    - Dst: AES_FROUND
      Src: /src/libspectre/ghostscript/base/aes.c:713,1
    - Dst: PUT_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:736,1
    - Dst: PUT_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:737,1
    - Dst: PUT_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:738,1
    - Dst: PUT_ULONG_LE
      Src: /src/libspectre/ghostscript/base/aes.c:739,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - ctx
    - mode
    - input
    - output
    argTypes:
    - aes_context*
    - int
    - unsigned char[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 740
    functionName: aes_crypt_ecb
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached:
    - padlock_xcryptecb
    - AES_FROUND
    - PUT_ULONG_LE
    - GET_ULONG_LE
    - AES_RROUND
    - padlock_supports
    linkageType: ''
    returnType: void
    signature: "void aes_crypt_ecb( aes_context *ctx,\n                    int mode,\n
      \                   const unsigned char input[16],\n                    unsigned
      char output[16] )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: padlock_supports
      Src: /src/libspectre/ghostscript/base/aes.c:756,1
    - Dst: padlock_xcryptcbc
      Src: /src/libspectre/ghostscript/base/aes.c:758,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:767,1
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:768,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:773,1
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:787,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:788,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 6
    argNames:
    - ctx
    - mode
    - length
    - iv
    - input
    - output
    argTypes:
    - aes_context*
    - int
    - int
    - unsigned char[]
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 745
    functionDepth: 2
    functionLinenumber: 745
    functionLinenumberEnd: 795
    functionName: aes_crypt_cbc
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 1
    functionsReached:
    - memcpy
    - padlock_xcryptcbc
    - padlock_supports
    - aes_crypt_ecb
    linkageType: ''
    returnType: void
    signature: "void aes_crypt_cbc( aes_context *ctx,\n                    int mode,\n
      \                   int length,\n                    unsigned char iv[16],\n
      \                   const unsigned char *input,\n                    unsigned
      char *output )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:815,1
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:829,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - ctx
    - mode
    - length
    - iv_off
    - iv
    - input
    - output
    argTypes:
    - aes_context*
    - int
    - int
    - int*
    - unsigned char[]
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 838
    functionName: aes_crypt_cfb
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached:
    - aes_crypt_ecb
    linkageType: ''
    returnType: void
    signature: "void aes_crypt_cfb( aes_context *ctx,\n                    int mode,\n
      \                   int length,\n                    int *iv_off,\n                    unsigned
      char iv[16],\n                    const unsigned char *input,\n                    unsigned
      char *output )"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:924,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:935,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:938,1
    - Dst: aes_setkey_dec
      Src: /src/libspectre/ghostscript/base/aes.c:942,1
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:945,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:947,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:950,1
    - Dst: aes_setkey_enc
      Src: /src/libspectre/ghostscript/base/aes.c:957,1
    - Dst: aes_crypt_ecb
      Src: /src/libspectre/ghostscript/base/aes.c:960,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:962,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:965,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:972,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:976,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:987,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:990,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:991,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:992,1
    - Dst: aes_setkey_dec
      Src: /src/libspectre/ghostscript/base/aes.c:996,1
    - Dst: aes_crypt_cbc
      Src: /src/libspectre/ghostscript/base/aes.c:999,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:1001,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1004,1
    - Dst: aes_setkey_enc
      Src: /src/libspectre/ghostscript/base/aes.c:1011,1
    - Dst: aes_crypt_cbc
      Src: /src/libspectre/ghostscript/base/aes.c:1017,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:1019,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:1020,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/aes.c:1021,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:1024,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1027,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1034,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1038,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1049,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:1052,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/aes.c:1053,1
    - Dst: aes_setkey_dec
      Src: /src/libspectre/ghostscript/base/aes.c:1058,1
    - Dst: aes_crypt_cfb
      Src: /src/libspectre/ghostscript/base/aes.c:1061,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:1063,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1066,1
    - Dst: aes_setkey_enc
      Src: /src/libspectre/ghostscript/base/aes.c:1073,1
    - Dst: aes_crypt_cfb
      Src: /src/libspectre/ghostscript/base/aes.c:1076,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/aes.c:1078,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1081,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1088,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/aes.c:1092,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 101
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 915
    functionDepth: 4
    functionLinenumber: 915
    functionLinenumberEnd: 1095
    functionName: aes_self_test
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 0
    functionsReached:
    - printf
    - aes_setkey_enc
    - aes_crypt_ecb
    - aes_crypt_cbc
    - memset
    - memcpy
    - aes_setkey_dec
    - memcmp
    - aes_crypt_cfb
    linkageType: ''
    returnType: int
    signature: int aes_self_test( int verbose )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: aes_self_test
      Src: /src/libspectre/ghostscript/base/aes.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1097
    functionDepth: 5
    functionLinenumber: 1097
    functionLinenumberEnd: 1100
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/aes.c
    functionUses: 15
    functionsReached:
    - aes_self_test
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:37,1
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:47,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - prnfno
    - binary
    argTypes:
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 48
    functionName: gp_set_file_binary
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 2
    functionsReached:
    - intdos
    linkageType: ''
    returnType: void
    signature: void gp_set_file_binary(int prnfno, bool binary)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_set_file_binary
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:56,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pfile
    - binary
    argTypes:
    - FILE*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: gp_setmode_binary_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached:
    - gp_set_file_binary
    - fileno
    linkageType: ''
    returnType: int
    signature: int gp_setmode_binary_impl(FILE * pfile, bool binary)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 18
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 98
    functionName: gp_file_name_root
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gp_file_name_root(const char *fname, uint len)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - fname
    - len
    - item
    argTypes:
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 109
    functionName: gs_file_name_check_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_file_name_check_separator(const char *fname, int len, const
      char *item)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: gp_file_name_is_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - len
    argTypes:
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: gp_file_name_is_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_current(const char *fname, uint len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: gp_file_name_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: gp_file_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_directory_separator(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: gp_file_name_parent
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_parent(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: gp_file_name_current
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char *gp_file_name_current(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 137
    functionName: gp_file_name_is_parent_allowed
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_parent_allowed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: gp_file_name_is_empty_item_meanful
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_is_empty_item_meanful(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine_generic
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - prefix
    - plen
    - fname
    - flen
    - no_sibling
    - buffer
    - blen
    argTypes:
    - char*
    - uint
    - char*
    - uint
    - bool
    - char*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 149
    functionName: gp_file_name_combine
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 2
    functionsReached:
    - gp_file_name_combine_generic
    linkageType: ''
    returnType: gp_file_name_combine_result
    signature: "gp_file_name_combine_result gp_file_name_combine(const char *prefix,
      uint plen, const char *fname, uint flen,\n                    bool no_sibling,
      char *buffer, uint *blen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gp_dosfs.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 155
    functionName: gp_file_name_good_char
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfs.c
    functionUses: 1
    functionsReached:
    - strchr
    linkageType: ''
    returnType: bool
    signature: bool gp_file_name_good_char(unsigned char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dname
    - ','
    - open
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 36
    functionName: iodev_stdio
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_stdio(dname, open)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: stdio_close_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int stdio_close_file(stream *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: noclose
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int noclose(FILE *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streq1
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:63,1
    - Dst: s_alloc
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:64,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:65,1
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:66,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:68,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:69,1
    - Dst: gp_file_dealloc
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:70,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:71,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:73,1
    - Dst: srw_file
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - iodev
    - access
    - ps
    - mem
    - rw
    - file
    argTypes:
    - gx_io_device*
    - char*
    - stream**
    - gs_memory_t*
    - char
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 78
    functionName: stdio_open
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - srw_file
    - streq1
    - gp_file_dealloc
    - s_alloc
    - return_error
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int stdio_open(gx_io_device * iodev, const char *access, stream **
      ps,\n           gs_memory_t * mem, char rw, FILE *file,\n           void (*srw_file)(stream
      *, gp_file *, byte *, uint))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdio_open
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iodev
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 4
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: stdin_open
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached:
    - stdio_open
    linkageType: ''
    returnType: int
    signature: "int stdin_open(gx_io_device * iodev, const char *access, stream **
      ps,\n           gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdio_open
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iodev
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 89
    functionDepth: 4
    functionLinenumber: 89
    functionLinenumberEnd: 95
    functionName: stdout_open
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached:
    - stdio_open
    linkageType: ''
    returnType: int
    signature: "int stdout_open(gx_io_device * iodev, const char *access, stream **
      ps,\n            gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stdio_open
      Src: /src/libspectre/ghostscript/base/gsiodevs.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - iodev
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 98
    functionDepth: 4
    functionLinenumber: 98
    functionLinenumberEnd: 104
    functionName: stderr_open
    functionSourceFile: /src/libspectre/ghostscript/base/gsiodevs.c
    functionUses: 0
    functionsReached:
    - stdio_open
    linkageType: ''
    returnType: int
    signature: "int stderr_open(gx_io_device * iodev, const char *access, stream **
      ps,\n            gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: assert
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 79
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ULL
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ULL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: ULL
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ULL(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 157
    functionName: REVERSE32
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE32(w,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: REVERSE64
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REVERSE64(w,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 178
    functionName: ADDINC128
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADDINC128(w,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: MEMSET_BZERO
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMSET_BZERO(p,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 200
    functionName: MEMCPY_BCOPY
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMCPY_BCOPY(d,s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: MEMSET_BZERO
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMSET_BZERO(p,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - d
    - ','
    - s
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: MEMCPY_BCOPY
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MEMCPY_BCOPY(d,s,l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 217
    functionName: R
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 993
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: R(b,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 219
    functionName: S32
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S32(b,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - b
    - ','
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 221
    functionName: S64
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: S64(b,x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: Ch
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Ch(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: Maj
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Maj(x,y,z)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: Sigma0_256
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0_256(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: Sigma1_256
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1_256(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: sigma0_256
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0_256(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: sigma1_256
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1_256(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    functionName: Sigma0_512
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma0_512(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    functionName: Sigma1_512
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Sigma1_512(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 236
    functionName: sigma0_512
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma0_512(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 237
    functionName: sigma1_512
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: sigma1_512(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:359,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA256_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 362
    functionName: pSHA256_Init
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 1
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    linkageType: ''
    returnType: void
    signature: void pSHA256_Init(SHA256_CTX* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 377
    functionName: ROUND256_0_TO_15
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND256_0_TO_15(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 386
    functionName: ROUND256_0_TO_15
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND256_0_TO_15(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 399
    functionName: ROUND256
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND256(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:420,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:421,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:422,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:423,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:424,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:425,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:426,1
    - Dst: ROUND256_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:427,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:432,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:433,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:434,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:435,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:436,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:437,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:438,1
    - Dst: ROUND256
      Src: /src/libspectre/ghostscript/base/sha2.c:439,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - context
    - data
    argTypes:
    - SHA256_CTX*
    - sha2_word32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 454
    functionName: pSHA256_Transform
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - ROUND256_0_TO_15
    - ROUND256
    linkageType: ''
    returnType: void
    signature: void pSHA256_Transform(SHA256_CTX* context, const sha2_word32* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE32
      Src: /src/libspectre/ghostscript/base/sha2.c:479,1
    - Dst: Sigma1_256
      Src: /src/libspectre/ghostscript/base/sha2.c:481,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:481,1
    - Dst: Sigma1_256
      Src: /src/libspectre/ghostscript/base/sha2.c:484,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:484,1
    - Dst: Sigma0_256
      Src: /src/libspectre/ghostscript/base/sha2.c:486,1
    - Dst: Maj
      Src: /src/libspectre/ghostscript/base/sha2.c:486,1
    - Dst: sigma0_256
      Src: /src/libspectre/ghostscript/base/sha2.c:502,1
    - Dst: sigma1_256
      Src: /src/libspectre/ghostscript/base/sha2.c:504,1
    - Dst: Sigma1_256
      Src: /src/libspectre/ghostscript/base/sha2.c:507,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:507,1
    - Dst: Sigma0_256
      Src: /src/libspectre/ghostscript/base/sha2.c:509,1
    - Dst: Maj
      Src: /src/libspectre/ghostscript/base/sha2.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 52
    argCount: 2
    argNames:
    - context
    - data
    argTypes:
    - SHA256_CTX*
    - sha2_word32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 534
    functionName: pSHA256_Transform
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - Ch
    - Maj
    - sigma0_256
    - sigma1_256
    - REVERSE32
    - Sigma0_256
    - Sigma1_256
    linkageType: ''
    returnType: void
    signature: void pSHA256_Transform(SHA256_CTX* context, const sha2_word32* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:547,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:556,1
    - Dst: pSHA256_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:560,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:563,1
    - Dst: pSHA256_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:572,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:579,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA256_CTX*
    - sha2_byte*
    - size_t
    assertStmts:
    - condition: (context != (SHA256_CTX*)0 && data != (sha2_byte*)0)
      pos:
        line_end: 546
        line_start: 546
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 584
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 584
    functionName: pSHA256_Update
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 1
    functionsReached:
    - pSHA256_Transform
    - MEMCPY_BCOPY
    - assert
    linkageType: ''
    returnType: void
    signature: void pSHA256_Update(SHA256_CTX* context, const sha2_byte *data, size_t
      len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:591,1
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:598,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:606,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:609,1
    - Dst: pSHA256_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:612,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:615,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:619,1
    - Dst: pSHA256_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:628,1
    - Dst: REVERSE32
      Src: /src/libspectre/ghostscript/base/sha2.c:635,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:640,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - sha2_byte[]
    - SHA256_CTX*
    assertStmts:
    - condition: (context != (SHA256_CTX*)0)
      pos:
        line_end: 590
        line_start: 590
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 647
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 647
    functionName: pSHA256_Final
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 1
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    - pSHA256_Transform
    - assert
    - REVERSE32
    - REVERSE64
    linkageType: ''
    returnType: void
    signature: void pSHA256_Final(sha2_byte digest[], SHA256_CTX* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:654,1
    - Dst: pSHA256_Final
      Src: /src/libspectre/ghostscript/base/sha2.c:657,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:666,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:668,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - context
    - buffer
    argTypes:
    - SHA256_CTX*
    - char[]
    assertStmts:
    - condition: (context != (SHA256_CTX*)0)
      pos:
        line_end: 653
        line_start: 653
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 670
      start: 649
    functionDepth: 3
    functionLinenumber: 649
    functionLinenumberEnd: 670
    functionName: pSHA256_End
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA256_Final
    - MEMSET_BZERO
    - assert
    linkageType: ''
    returnType: char
    signature: char *pSHA256_End(SHA256_CTX* context, char buffer[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pSHA256_Init
      Src: /src/libspectre/ghostscript/base/sha2.c:675,1
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/base/sha2.c:676,1
    - Dst: pSHA256_End
      Src: /src/libspectre/ghostscript/base/sha2.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - len
    - digest
    argTypes:
    - sha2_byte*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 678
    functionName: pSHA256_Data
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA256_Init
    - pSHA256_Update
    - pSHA256_End
    linkageType: ''
    returnType: char
    signature: char * pSHA256_Data(const sha2_byte* data, size_t len, char digest[SHA256_DIGEST_STRING_LENGTH])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:685,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 688
    functionName: pSHA512_Init
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    linkageType: ''
    returnType: void
    signature: void pSHA512_Init(SHA512_CTX* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 695
    functionDepth: 0
    functionLinenumber: 695
    functionLinenumberEnd: 702
    functionName: ROUND512_0_TO_15
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND512_0_TO_15(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: ROUND512_0_TO_15
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND512_0_TO_15(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 17
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - ','
    - f
    - ','
    - g
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 714
    functionDepth: 0
    functionLinenumber: 714
    functionLinenumberEnd: 724
    functionName: ROUND512
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND512(a,b,c,d,e,f,g,h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:742,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:743,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:744,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:745,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:746,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:747,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:748,1
    - Dst: ROUND512_0_TO_15
      Src: /src/libspectre/ghostscript/base/sha2.c:749,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:754,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:755,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:756,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:757,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:758,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:759,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:760,1
    - Dst: ROUND512
      Src: /src/libspectre/ghostscript/base/sha2.c:761,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 2
    argNames:
    - context
    - data
    argTypes:
    - SHA512_CTX*
    - sha2_word64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 776
    functionName: pSHA512_Transform
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - ROUND512_0_TO_15
    - ROUND512
    linkageType: ''
    returnType: void
    signature: void pSHA512_Transform(SHA512_CTX* context, const sha2_word64* data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:799,1
    - Dst: Sigma1_512
      Src: /src/libspectre/ghostscript/base/sha2.c:801,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:801,1
    - Dst: Sigma1_512
      Src: /src/libspectre/ghostscript/base/sha2.c:804,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:804,1
    - Dst: Sigma0_512
      Src: /src/libspectre/ghostscript/base/sha2.c:806,1
    - Dst: Maj
      Src: /src/libspectre/ghostscript/base/sha2.c:806,1
    - Dst: sigma0_512
      Src: /src/libspectre/ghostscript/base/sha2.c:822,1
    - Dst: sigma1_512
      Src: /src/libspectre/ghostscript/base/sha2.c:824,1
    - Dst: Sigma1_512
      Src: /src/libspectre/ghostscript/base/sha2.c:827,1
    - Dst: Ch
      Src: /src/libspectre/ghostscript/base/sha2.c:827,1
    - Dst: Sigma0_512
      Src: /src/libspectre/ghostscript/base/sha2.c:829,1
    - Dst: Maj
      Src: /src/libspectre/ghostscript/base/sha2.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 51
    argCount: 2
    argNames:
    - context
    - data
    argTypes:
    - SHA512_CTX*
    - sha2_word64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 854
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 854
    functionName: pSHA512_Transform
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - Ch
    - sigma0_512
    - Maj
    - Sigma0_512
    - Sigma1_512
    - sigma1_512
    - REVERSE64
    linkageType: ''
    returnType: void
    signature: void pSHA512_Transform(SHA512_CTX* context, const sha2_word64* data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:867,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:876,1
    - Dst: ADDINC128
      Src: /src/libspectre/ghostscript/base/sha2.c:877,1
    - Dst: pSHA512_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:880,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:883,1
    - Dst: ADDINC128
      Src: /src/libspectre/ghostscript/base/sha2.c:884,1
    - Dst: pSHA512_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:892,1
    - Dst: ADDINC128
      Src: /src/libspectre/ghostscript/base/sha2.c:893,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:899,1
    - Dst: ADDINC128
      Src: /src/libspectre/ghostscript/base/sha2.c:900,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA512_CTX*
    - sha2_byte*
    - size_t
    assertStmts:
    - condition: (context != (SHA512_CTX*)0 && data != (sha2_byte*)0)
      pos:
        line_end: 866
        line_start: 866
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 904
      start: 858
    functionDepth: 2
    functionLinenumber: 858
    functionLinenumberEnd: 904
    functionName: pSHA512_Update
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - ADDINC128
    - pSHA512_Transform
    - MEMCPY_BCOPY
    - assert
    linkageType: ''
    returnType: void
    signature: void pSHA512_Update(SHA512_CTX* context, const sha2_byte *data, size_t
      len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:912,1
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:913,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:921,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:924,1
    - Dst: pSHA512_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:927,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:930,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:934,1
    - Dst: pSHA512_Transform
      Src: /src/libspectre/ghostscript/base/sha2.c:944,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA512_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 945
    functionName: pSHA512_Last
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - REVERSE64
    - pSHA512_Transform
    - MEMSET_BZERO
    linkageType: ''
    returnType: void
    signature: void pSHA512_Last(SHA512_CTX* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:951,1
    - Dst: pSHA512_Last
      Src: /src/libspectre/ghostscript/base/sha2.c:955,1
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:963,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:968,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - sha2_byte[]
    - SHA512_CTX*
    assertStmts:
    - condition: (context != (SHA512_CTX*)0)
      pos:
        line_end: 950
        line_start: 950
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 974
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 974
    functionName: pSHA512_Final
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    - pSHA512_Last
    - assert
    - REVERSE64
    linkageType: ''
    returnType: void
    signature: void pSHA512_Final(sha2_byte digest[], SHA512_CTX* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:981,1
    - Dst: pSHA512_Final
      Src: /src/libspectre/ghostscript/base/sha2.c:984,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:993,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:995,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - context
    - buffer
    argTypes:
    - SHA512_CTX*
    - char[]
    assertStmts:
    - condition: (context != (SHA512_CTX*)0)
      pos:
        line_end: 980
        line_start: 980
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 997
      start: 976
    functionDepth: 4
    functionLinenumber: 976
    functionLinenumberEnd: 997
    functionName: pSHA512_End
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA512_Final
    - MEMSET_BZERO
    - assert
    linkageType: ''
    returnType: char
    signature: char *pSHA512_End(SHA512_CTX* context, char buffer[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pSHA512_Init
      Src: /src/libspectre/ghostscript/base/sha2.c:1002,1
    - Dst: pSHA512_Update
      Src: /src/libspectre/ghostscript/base/sha2.c:1003,1
    - Dst: pSHA512_End
      Src: /src/libspectre/ghostscript/base/sha2.c:1004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - len
    - digest
    argTypes:
    - sha2_byte*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 999
    functionDepth: 5
    functionLinenumber: 999
    functionLinenumberEnd: 1005
    functionName: pSHA512_Data
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA512_Init
    - pSHA512_End
    - pSHA512_Update
    linkageType: ''
    returnType: char
    signature: char * pSHA512_Data(const sha2_byte* data, size_t len, char digest[SHA512_DIGEST_STRING_LENGTH])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:1012,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:1013,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - context
    argTypes:
    - SHA384_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: pSHA384_Init
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    linkageType: ''
    returnType: void
    signature: void pSHA384_Init(SHA384_CTX* context)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pSHA512_Update
      Src: /src/libspectre/ghostscript/base/sha2.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - context
    - data
    - len
    argTypes:
    - SHA384_CTX*
    - sha2_byte*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1017
    functionDepth: 3
    functionLinenumber: 1017
    functionLinenumberEnd: 1019
    functionName: pSHA384_Update
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA512_Update
    linkageType: ''
    returnType: void
    signature: void pSHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t
      len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:1025,1
    - Dst: pSHA512_Last
      Src: /src/libspectre/ghostscript/base/sha2.c:1029,1
    - Dst: REVERSE64
      Src: /src/libspectre/ghostscript/base/sha2.c:1037,1
    - Dst: MEMCPY_BCOPY
      Src: /src/libspectre/ghostscript/base/sha2.c:1042,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:1047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - digest
    - context
    argTypes:
    - sha2_byte[]
    - SHA384_CTX*
    assertStmts:
    - condition: (context != (SHA384_CTX*)0)
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 1048
      start: 1021
    functionDepth: 3
    functionLinenumber: 1021
    functionLinenumberEnd: 1048
    functionName: pSHA384_Final
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - MEMCPY_BCOPY
    - MEMSET_BZERO
    - pSHA512_Last
    - assert
    - REVERSE64
    linkageType: ''
    returnType: void
    signature: void pSHA384_Final(sha2_byte digest[], SHA384_CTX* context)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/sha2.c:1055,1
    - Dst: pSHA384_Final
      Src: /src/libspectre/ghostscript/base/sha2.c:1058,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:1067,1
    - Dst: MEMSET_BZERO
      Src: /src/libspectre/ghostscript/base/sha2.c:1069,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - context
    - buffer
    argTypes:
    - SHA384_CTX*
    - char[]
    assertStmts:
    - condition: (context != (SHA384_CTX*)0)
      pos:
        line_end: 1054
        line_start: 1054
        source_file: /src/libspectre/ghostscript/base/sha2.c
    constantsTouched: []
    func_position:
      end: 1071
      start: 1050
    functionDepth: 4
    functionLinenumber: 1050
    functionLinenumberEnd: 1071
    functionName: pSHA384_End
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA384_Final
    - MEMSET_BZERO
    - assert
    linkageType: ''
    returnType: char
    signature: char *pSHA384_End(SHA384_CTX* context, char buffer[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pSHA384_Init
      Src: /src/libspectre/ghostscript/base/sha2.c:1076,1
    - Dst: pSHA384_Update
      Src: /src/libspectre/ghostscript/base/sha2.c:1077,1
    - Dst: pSHA384_End
      Src: /src/libspectre/ghostscript/base/sha2.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - data
    - len
    - digest
    argTypes:
    - sha2_byte*
    - size_t
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1073
    functionDepth: 5
    functionLinenumber: 1073
    functionLinenumberEnd: 1079
    functionName: pSHA384_Data
    functionSourceFile: /src/libspectre/ghostscript/base/sha2.c
    functionUses: 0
    functionsReached:
    - pSHA384_End
    - pSHA384_Update
    - pSHA384_Init
    linkageType: ''
    returnType: char
    signature: char * pSHA384_Data(const sha2_byte* data, size_t len, char digest[SHA384_DIGEST_STRING_LENGTH])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: frac2float
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2float(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fl
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: float2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: float2frac(fl)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: _frac2s
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _frac2s(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fr
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: frac2bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2bits(fr, nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: frac2byte
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2byte(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: bits2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bits2frac(v, nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: byte2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: byte2frac(b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fr
    - ','
    - nb
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: frac2bits_floor
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2bits_floor(fr, nb)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: frac2ushort
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac2ushort(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: ushort2frac
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ushort2frac(us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: frac312ushort
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac312ushort(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: ushort2frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ushort2frac31(us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: frac312ushort
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac312ushort(fr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - us
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ushort2frac31
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ushort2frac31(us)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: frac_1_quo
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac_1_quo(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    functionName: frac_1_rem
    functionSourceFile: /src/libspectre/ghostscript/base/gxfrac.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: frac_1_rem(p, q)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_dc_is_pattern2_color
      Src: /src/libspectre/ghostscript/base/gximask.c:42,1
    - Dst: gx_dc_is_pattern1_color_clist_based
      Src: /src/libspectre/ghostscript/base/gximask.c:42,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximask.c:43,1
    - Dst: extern_st
      Src: /src/libspectre/ghostscript/base/gximask.c:44,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximask.c:49,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximask.c:50,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximask.c:53,1
    - Dst: gx_cpath_accum_begin
      Src: /src/libspectre/ghostscript/base/gximask.c:54,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gximask.c:55,1
    - Dst: gx_cpath_accum_set_cbox
      Src: /src/libspectre/ghostscript/base/gximask.c:56,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximask.c:60,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - dev
    - pdevc
    - transpose
    - pcpath
    - mem
    - lop
    - cdev
    argTypes:
    - gx_device*
    - gx_device_color*
    - bool
    - gx_clip_path*
    - gs_memory_t*
    - gs_logical_operation_t
    - gx_device**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 68
    functionName: gx_image_fill_masked_start
    functionSourceFile: /src/libspectre/ghostscript/base/gximask.c
    functionUses: 1
    functionsReached:
    - gx_dc_is_pattern2_color
    - gx_device_retain
    - gx_dc_is_pattern1_color_clist_based
    - gx_cpath_outer_box
    - gx_cpath_accum_set_cbox
    - return_error
    - gx_cpath_accum_begin
    - extern_st
    - dev_proc
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_image_fill_masked_start(gx_device *dev, const gx_device_color
      *pdevc, bool transpose,\n                           const gx_clip_path *pcpath,
      gs_memory_t *mem, gs_logical_operation_t lop,\n                           gx_device
      **cdev)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_cpath_init_local
      Src: /src/libspectre/ghostscript/base/gximask.c:80,1
    - Dst: gx_cpath_accum_end
      Src: /src/libspectre/ghostscript/base/gximask.c:81,1
    - Dst: gx_dc_pattern2_clip_with_bbox
      Src: /src/libspectre/ghostscript/base/gximask.c:83,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gximask.c:84,1
    - Dst: gx_device_color_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gximask.c:86,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gximask.c:95,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximask.c:96,1
    - Dst: gx_cpath_free
      Src: /src/libspectre/ghostscript/base/gximask.c:97,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - dev
    - tdev
    - pdevc
    argTypes:
    - gx_device*
    - gx_device*
    - gx_device_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 70
    functionDepth: 6
    functionLinenumber: 70
    functionLinenumberEnd: 99
    functionName: gx_image_fill_masked_end
    functionSourceFile: /src/libspectre/ghostscript/base/gximask.c
    functionUses: 1
    functionsReached:
    - gx_dc_pattern2_clip_with_bbox
    - gx_make_clip_device_on_stack
    - gx_cpath_free
    - gx_cpath_init_local
    - gx_device_color_fill_rectangle
    - gx_cpath_accum_end
    - gx_device_retain
    linkageType: ''
    returnType: int
    signature: int gx_image_fill_masked_end(gx_device *dev, gx_device *tdev, const
      gx_device_color *pdevc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_fill_masked_start
      Src: /src/libspectre/ghostscript/base/gximask.c:111,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximask.c:115,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gximask.c:121,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximask.c:122,1
    - Dst: gx_image_fill_masked_end
      Src: /src/libspectre/ghostscript/base/gximask.c:125,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdc
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_device_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 101
    functionDepth: 7
    functionLinenumber: 101
    functionLinenumberEnd: 128
    functionName: gx_image_fill_masked
    functionSourceFile: /src/libspectre/ghostscript/base/gximask.c
    functionUses: 2
    functionsReached:
    - gx_image_fill_masked_start
    - dev_proc
    - set_nonclient_dev_color
    - gx_image_fill_masked_end
    linkageType: ''
    returnType: int
    signature: "int gx_image_fill_masked(gx_device *dev,\n    const byte *data, int
      data_x, int raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n
      \   const gx_device_color *pdc, int depth,\n    gs_logical_operation_t lop,
      const gx_clip_path *pcpath)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 65
    functionName: enc_u_sizew
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_sizew(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w1
    - ','
    - w2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: enc_u_size2w
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_size2w(w1, w2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    functionName: enc_u_sizexy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_sizexy(xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: enc_u_putw
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_putw(w, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w1
    - ','
    - w2
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: enc_u_put2w
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_put2w(w1, w2, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: enc_u_putxy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_putxy(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 118
    functionName: enc_u_getw
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_getw(w, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - w
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: enc_u_getw_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_getw_nc(w, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w1
    - ','
    - w2
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 136
    functionName: enc_u_get2w
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_get2w(w1, w2, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w1
    - ','
    - w2
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 142
    functionName: enc_u_get2w_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_get2w_nc(w1, w2, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    functionName: enc_u_getxy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_getxy(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: enc_u_getxy_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_u_getxy_nc(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 188
    functionName: enc_s_sizew
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_sizew(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xy
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: enc_s_sizexy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_sizexy(xy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 204
    functionName: enc_s_putw
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_putw(v, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 210
    functionName: enc_s_putxy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_putxy(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 224
    functionName: enc_s_getw
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_getw(v, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 238
    functionName: enc_s_getw_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_getw_nc(v, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: enc_s_getxy
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_getxy(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xy
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 245
    functionDepth: 0
    functionLinenumber: 245
    functionLinenumberEnd: 250
    functionName: enc_s_getxy_nc
    functionSourceFile: /src/libspectre/ghostscript/base/gsserial.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: enc_s_getxy_nc(xy, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: color_component_map_alt
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_devicen_color_map
    signature: gs_devicen_color_map color_component_map_alt
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 153
    functionName: gs_cr_state_do_rc_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cr_state_do_rc_ptrs(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 170
    functionName: gs_cr_state_do_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_cr_state_do_ptrs(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: gs_currentdevicecolor_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentdevicecolor_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: gs_currentcolor_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentcolor_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: gs_currentcolorspace_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentcolorspace_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    functionName: gs_altdevicecolor_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_altdevicecolor_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 206
    functionName: gs_currentcolor_eopm
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentcolor_eopm(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: char_tm_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: char_tm_only(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: gs_currentdevice_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentdevice_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 213
    functionName: gs_gstate_client_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_gstate_client_data(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 224
    functionName: ctm_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctm_only(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    functionName: ctm_only_writable
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ctm_only_writable(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - mat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    functionName: set_ctm_only
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_ctm_only(pgs, mat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 227
    functionName: gs_init_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_init_rop(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 228
    functionName: gs_currentflat_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentflat_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    functionName: gs_currentlineparams_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_currentlineparams_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 230
    functionName: gs_current_logical_op_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_current_logical_op_inline(pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - lop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: gs_set_logical_op_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_set_logical_op_inline(pgs, lop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 383
    functionName: public_st_gs_gstate
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_gstate()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 410
    functionName: gs_gstate_do_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_gstate_do_ptrs(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - xx
    - ','
    - yy
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 439
    functionName: gx_setcurrentpoint
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_setcurrentpoint(pgs, xx, yy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxgstate.h:456,1
    - Dst: device_encodes_tags
      Src: /src/libspectre/ghostscript/base/gxgstate.h:457,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/base/gxgstate.h:459,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - pgs
    - dev
    - tag
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_graphics_type_tag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: ensure_tag_is_set
    functionSourceFile: /src/libspectre/ghostscript/base/gxgstate.h
    functionUses: 7
    functionsReached:
    - device_encodes_tags
    - gx_unset_dev_color
    - dev_proc
    linkageType: ''
    returnType: void
    signature: void ensure_tag_is_set(gs_gstate *pgs, gx_device *dev, gs_graphics_type_tag_t
      tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: gx_concrete_space_CIE
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_color_space
    signature: 'gs_color_space *

      gx_concrete_space_CIE(const gs_color_space * pcs, const gs_gstate * pgs)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pcs
    - pgs
    argTypes:
    - gs_color_space*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: gx_install_CIE
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_install_CIE(gs_color_space * pcs, gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:156,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscscie.c:159,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 162
    functionName: gx_final_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_final_CIEDEFG(const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:170,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscscie.c:173,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:175,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 176
    functionName: gx_final_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_final_CIEDEF(const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:184,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscscie.c:187,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 2
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: gx_final_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_final_CIEABC(const gs_color_space * pcs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:198,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gscscie.c:201,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gscscie.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - pcs
    argTypes:
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 204
    functionName: gx_final_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gsicc_adjust_profile_rc
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_final_CIEA(const gs_color_space * pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pcommon
    - client_data
    argTypes:
    - gs_cie_common*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: gx_set_common_cie_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_set_common_cie_defaults(gs_cie_common * pcommon, void *client_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_common_cie_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pabc
    - client_data
    argTypes:
    - gs_cie_abc*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 242
    functionName: set_cie_abc_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_set_common_cie_defaults
    linkageType: ''
    returnType: void
    signature: void set_cie_abc_defaults(gs_cie_abc * pabc, void *client_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gscscie.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - plktblp
    - num_comps
    argTypes:
    - gx_color_lookup_table*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 260
    functionName: set_ctbl_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - countof
    linkageType: ''
    returnType: void
    signature: void set_ctbl_defaults(gx_color_lookup_table * plktblp, int num_comps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_alloc
      Src: /src/libspectre/ghostscript/base/gscscie.c:273,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gscscie.c:278,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gscscie.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - ppcspace
    - pcstype
    - stype
    - pmem
    argTypes:
    - gs_color_space**
    - gs_color_space_type*
    - gs_memory_type_ptr_t
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 268
    functionDepth: 3
    functionLinenumber: 268
    functionLinenumberEnd: 287
    functionName: gx_build_cie_space
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_cspace_alloc
    - rc_alloc_struct_1
    linkageType: ''
    returnType: void
    signature: "void *\ngx_build_cie_space(gs_color_space ** ppcspace,\n                const
      gs_color_space_type * pcstype,\n                gs_memory_type_ptr_t stype,
      gs_memory_t * pmem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_build_cie_space
      Src: /src/libspectre/ghostscript/base/gscscie.c:296,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:299,1
    - Dst: gx_set_common_cie_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - ppcspace
    - client_data
    - pmem
    argTypes:
    - gs_color_space**
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 291
    functionDepth: 4
    functionLinenumber: 291
    functionLinenumberEnd: 309
    functionName: gs_cspace_build_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_set_common_cie_defaults
    - gx_build_cie_space
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_CIEA(gs_color_space ** ppcspace, void *client_data,\n
      \                    gs_memory_t * pmem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_build_cie_space
      Src: /src/libspectre/ghostscript/base/gscscie.c:316,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:320,1
    - Dst: set_cie_abc_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - ppcspace
    - client_data
    - pmem
    argTypes:
    - gs_color_space**
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 327
    functionName: gs_cspace_build_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 1
    functionsReached:
    - return_error
    - set_cie_abc_defaults
    - gx_build_cie_space
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_CIEABC(gs_color_space ** ppcspace, void *client_data,\n
      \                      gs_memory_t * pmem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_build_cie_space
      Src: /src/libspectre/ghostscript/base/gscscie.c:334,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:338,1
    - Dst: set_cie_abc_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:340,1
    - Dst: set_ctbl_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ppcspace
    - client_data
    - pmem
    argTypes:
    - gs_color_space**
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 4
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: gs_cspace_build_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - return_error
    - set_ctbl_defaults
    - set_cie_abc_defaults
    - gx_build_cie_space
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_CIEDEF(gs_color_space ** ppcspace, void *client_data,\n
      \                      gs_memory_t * pmem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_build_cie_space
      Src: /src/libspectre/ghostscript/base/gscscie.c:356,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:360,1
    - Dst: set_cie_abc_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:362,1
    - Dst: set_ctbl_defaults
      Src: /src/libspectre/ghostscript/base/gscscie.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ppcspace
    - client_data
    - pmem
    argTypes:
    - gs_color_space**
    - void*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 371
    functionName: gs_cspace_build_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - return_error
    - set_ctbl_defaults
    - set_cie_abc_defaults
    - gx_build_cie_space
    linkageType: ''
    returnType: int
    signature: "int gs_cspace_build_CIEDEFG(gs_color_space ** ppcspace, void *client_data,\n
      \                       gs_memory_t * pmem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gscscie.c:381,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:390,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - pcspace
    - pdims
    - ptable
    argTypes:
    - gs_color_space*
    - int*
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 398
    functionName: gs_cie_defx_set_lookup_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_color_space_get_index
    linkageType: ''
    returnType: int
    signature: "int gs_cie_defx_set_lookup_table(gs_color_space * pcspace, int *pdims,\n
      \                            const gs_const_string * ptable)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: count_of
      Src: /src/libspectre/ghostscript/base/gscscie.c:405,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscscie.c:411,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:414,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:417,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - c
    - s
    argTypes:
    - cie_cache_floats*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 418
    functionName: gx_serialize_cie_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - return_error
    - count_of
    - sputs
    linkageType: ''
    returnType: int
    signature: int gx_serialize_cie_cache(const cie_cache_floats *c, stream * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cspace_type
      Src: /src/libspectre/ghostscript/base/gscscie.c:425,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:429,1
    - Dst: gx_serialize_cie_cache
      Src: /src/libspectre/ghostscript/base/gscscie.c:434,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:437,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:441,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 443
    functionName: gx_serialize_cie_common_elements
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_serialize_cie_cache
    - sputs
    - gx_serialize_cspace_type
    linkageType: ''
    returnType: int
    signature: int gx_serialize_cie_common_elements(const gs_color_space * pcs, stream
      * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cie_common_elements
      Src: /src/libspectre/ghostscript/base/gscscie.c:450,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:454,1
    - Dst: gx_serialize_cie_cache
      Src: /src/libspectre/ghostscript/base/gscscie.c:457,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 461
    functionName: gx_serialize_CIEA
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_serialize_cie_cache
    - sputs
    - gx_serialize_cie_common_elements
    linkageType: ''
    returnType: int
    signature: int gx_serialize_CIEA(const gs_color_space * pcs, stream * s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cie_common_elements
      Src: /src/libspectre/ghostscript/base/gscscie.c:468,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:472,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:475,1
    - Dst: gx_serialize_cie_cache
      Src: /src/libspectre/ghostscript/base/gscscie.c:481,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:484,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 485
    functionName: gx_serialize_CIEABC
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_serialize_cie_cache
    - sputs
    - gx_serialize_cie_common_elements
    linkageType: ''
    returnType: int
    signature: int gx_serialize_CIEABC(const gs_color_space * pcs, stream * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:491,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:495,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:498,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:501,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:504,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - t
    - s
    argTypes:
    - gx_color_lookup_table*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 505
    functionName: gx_serialize_lookup_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int gx_serialize_lookup_table(const gx_color_lookup_table * t, stream
      * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cie_common_elements
      Src: /src/libspectre/ghostscript/base/gscscie.c:512,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:516,1
    - Dst: gx_serialize_cie_cache
      Src: /src/libspectre/ghostscript/base/gscscie.c:520,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:523,1
    - Dst: gx_serialize_lookup_table
      Src: /src/libspectre/ghostscript/base/gscscie.c:526,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 507
    functionDepth: 3
    functionLinenumber: 507
    functionLinenumberEnd: 527
    functionName: gx_serialize_CIEDEF
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_serialize_lookup_table
    - gx_serialize_cie_cache
    - sputs
    - gx_serialize_cie_common_elements
    linkageType: ''
    returnType: int
    signature: int gx_serialize_CIEDEF(const gs_color_space * pcs, stream * s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_serialize_cie_common_elements
      Src: /src/libspectre/ghostscript/base/gscscie.c:534,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:538,1
    - Dst: gx_serialize_cie_cache
      Src: /src/libspectre/ghostscript/base/gscscie.c:542,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gscscie.c:545,1
    - Dst: gx_serialize_lookup_table
      Src: /src/libspectre/ghostscript/base/gscscie.c:548,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pcs
    - s
    argTypes:
    - gs_color_space*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 549
    functionName: gx_serialize_CIEDEFG
    functionSourceFile: /src/libspectre/ghostscript/base/gscscie.c
    functionUses: 0
    functionsReached:
    - gx_serialize_lookup_table
    - gx_serialize_cie_cache
    - sputs
    - gx_serialize_cie_common_elements
    linkageType: ''
    returnType: int
    signature: int gx_serialize_CIEDEFG(const gs_color_space * pcs, stream * s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:72,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unix.c:73,1
    - Dst: opendir
      Src: /src/libspectre/ghostscript/base/gp_unix.c:76,1
    - Dst: readdir
      Src: /src/libspectre/ghostscript/base/gp_unix.c:79,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:80,1
    - Dst: dlopen
      Src: /src/libspectre/ghostscript/base/gp_unix.c:81,1
    - Dst: dlsym
      Src: /src/libspectre/ghostscript/base/gp_unix.c:82,1
    - Dst: closedir
      Src: /src/libspectre/ghostscript/base/gp_unix.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 90
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 3
    functionsReached:
    - readdir
    - opendir
    - strlen
    - strncpy
    - closedir
    - dlsym
    - dlopen
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 96
    functionName: gp_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_init(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - exit_status
    - code
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: gp_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gp_exit(int exit_status, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gp_unix.c:109,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - exit_status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: gp_do_exit
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 1
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void gp_do_exit(int exit_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/base/gp_unix.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 131
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - filename
    - type
    - id
    argTypes:
    - byte*
    - char*
    - uint
    - ushort
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: gp_read_macresource
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gp_read_macresource(byte *buf, const char *filename,\n                    const
      uint type, const ushort id)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/base/gp_unix.c:154,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gp_unix.c:155,1
    - Dst: gettimeofday
      Src: /src/libspectre/ghostscript/base/gp_unix.c:163,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/base/gp_unix.c:164,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/gp_unix.c:178,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 181
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 8
    functionsReached:
    - printf
    - lprintf
    - gettimeofday
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: times
      Src: /src/libspectre/ghostscript/base/gp_unix.c:193,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_unix.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 200
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 2
    functionsReached:
    - times
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/gp_unix.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 209
    functionName: gp_getenv_display
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_getenv_display(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen_impl
      Src: /src/libspectre/ghostscript/base/gp_unix.c:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 1
    functionsReached:
    - gp_fopen_impl
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     int
      \         (**close)(FILE *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/base/gp_unix.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfile
    - fname
    argTypes:
    - gp_file*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 239
    functionName: gp_close_printer
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - gp_fclose
    linkageType: ''
    returnType: void
    signature: void gp_close_printer(gp_file * pfile, const char *fname)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unix.c:272,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unix.c:288,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:291,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_unix.c:296,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:299,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 5
    argNames:
    - family
    - weight
    - slant
    - buf
    - bufsize
    argTypes:
    - char*
    - int
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 304
    functionName: makePSFontName
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - strlen
    - strncpy
    linkageType: ''
    returnType: void
    signature: void makePSFontName(char* family, int weight, int slant, char *buf,
      int bufsize)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gp_unix.c:329,1
    - Dst: FcInitLoadConfigAndFonts
      Src: /src/libspectre/ghostscript/base/gp_unix.c:339,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_unix.c:341,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gp_unix.c:343,1
    - Dst: FcConfigGetFontDirs
      Src: /src/libspectre/ghostscript/base/gp_unix.c:347,1
    - Dst: FcConfigDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:349,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_unix.c:350,1
    - Dst: FcStrListNext
      Src: /src/libspectre/ghostscript/base/gp_unix.c:358,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gp_unix.c:361,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/base/gp_unix.c:362,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/base/gp_unix.c:363,1
    - Dst: FcStrListDone
      Src: /src/libspectre/ghostscript/base/gp_unix.c:365,1
    - Dst: FcConfigDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:367,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_unix.c:368,1
    - Dst: FcPatternBuild
      Src: /src/libspectre/ghostscript/base/gp_unix.c:373,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/base/gp_unix.c:376,1
    - Dst: FcObjectSetBuild
      Src: /src/libspectre/ghostscript/base/gp_unix.c:380,1
    - Dst: FcFontList
      Src: /src/libspectre/ghostscript/base/gp_unix.c:389,1
    - Dst: FcPatternDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:390,1
    - Dst: FcObjectSetDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:391,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_unix.c:393,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 319
    functionDepth: 5
    functionLinenumber: 319
    functionLinenumberEnd: 401
    functionName: gp_enumerate_fonts_init
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - FcStrListNext
    - strncat
    - FcPatternBuild
    - FcObjectSetBuild
    - FcConfigGetFontDirs
    - FcStrListDone
    - FcInitLoadConfigAndFonts
    - malloc
    - FcObjectSetDestroy
    - free
    - FcConfigDestroy
    - defined
    - gs_add_control_path
    - FcPatternDestroy
    - FcFontList
    - dmlprintf
    linkageType: ''
    returnType: void
    signature: void *gp_enumerate_fonts_init(gs_memory_t *mem)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FcPatternGetString
      Src: /src/libspectre/ghostscript/base/gp_unix.c:431,1
    - Dst: dmlprintf
      Src: /src/libspectre/ghostscript/base/gp_unix.c:433,1
    - Dst: FcPatternGetString
      Src: /src/libspectre/ghostscript/base/gp_unix.c:437,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gp_unix.c:439,1
    - Dst: FcPatternGetBool
      Src: /src/libspectre/ghostscript/base/gp_unix.c:443,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gp_unix.c:445,1
    - Dst: FcPatternGetInteger
      Src: /src/libspectre/ghostscript/base/gp_unix.c:449,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gp_unix.c:451,1
    - Dst: FcPatternGetInteger
      Src: /src/libspectre/ghostscript/base/gp_unix.c:455,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/base/gp_unix.c:457,1
    - Dst: makePSFontName
      Src: /src/libspectre/ghostscript/base/gp_unix.c:466,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 3
    argNames:
    - enum_state
    - fontname
    - path
    argTypes:
    - void*
    - char**
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 403
    functionDepth: 1
    functionLinenumber: 403
    functionLinenumberEnd: 477
    functionName: gp_enumerate_fonts_next
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - FcPatternGetBool
    - makePSFontName
    - FcPatternGetString
    - dmlprintf1
    - FcPatternGetInteger
    - dmlprintf2
    - dmlprintf
    linkageType: ''
    returnType: int
    signature: int gp_enumerate_fonts_next(void *enum_state, char **fontname, char
      **path)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: FcFontSetDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:485,1
    - Dst: FcConfigDestroy
      Src: /src/libspectre/ghostscript/base/gp_unix.c:487,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/gp_unix.c:488,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - enum_state
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 479
    functionDepth: 0
    functionLinenumber: 479
    functionLinenumberEnd: 491
    functionName: gp_enumerate_fonts_free
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - free
    - FcConfigDestroy
    - FcFontSetDestroy
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_fonts_free(void *enum_state)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gp_unix.c:509,1
    - Dst: IsDBCSLeadByte
      Src: /src/libspectre/ghostscript/base/gp_unix.c:521,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/base/gp_unix.c:523,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/base/gp_unix.c:538,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - file
    - astr
    argTypes:
    - FILE*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 541
    functionName: gp_local_arg_encoding_get_codepoint
    functionSourceFile: /src/libspectre/ghostscript/base/gp_unix.c
    functionUses: 0
    functionsReached:
    - fgetc
    - IsDBCSLeadByte
    - MultiByteToWideChar
    linkageType: ''
    returnType: int
    signature: int gp_local_arg_encoding_get_codepoint(FILE *file, const char **astr)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:50,1
    - Dst: range_list_init
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:60,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:60,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:68,1
    - Dst: move_al_by_y
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:70,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:83,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:85,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:87,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:88,1
    - Dst: insert_h_new
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:98,1
    - Dst: insert_x_new
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:100,1
    - Dst: end_x_line
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:112,1
    - Dst: step_al
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:116,1
    - Dst: AL_X_AT_Y
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:122,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:154,1
    - Dst: LOOP_FILL_RECTANGLE_DIRECT
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:156,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:157,1
    - Dst: range_list_reset
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:161,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:170,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:171,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:173,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:174,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:191,1
    - Dst: fixed2int_pixround
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:193,1
    - Dst: print_al
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:197,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:198,1
    - Dst: INSIDE_PATH_P
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:200,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:212,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:213,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:226,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:227,1
    - Dst: range_list_add
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:229,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:229,1
    - Dst: fixed2int_rounded
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:230,1
    - Dst: merge_ranges
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:235,1
    - Dst: range_list_free
      Src: /src/libspectre/ghostscript/base/gxfillsl.h:240,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 119
    argCount: 2
    argNames:
    - ll
    - band_mask
    argTypes:
    - line_list*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 30
    functionDepth: 7
    functionLinenumber: 30
    functionLinenumberEnd: 242
    functionName: TEMPLATE_spot_into_scanlines
    functionSourceFile: /src/libspectre/ghostscript/base/gxfillsl.h
    functionUses: 0
    functionsReached:
    - range_list_reset
    - max
    - step_al
    - insert_h_new
    - countof
    - merge_ranges
    - end_x_line
    - fixed2int_rounded
    - if_debug4m
    - insert_x_new
    - range_list_free
    - LOOP_FILL_RECTANGLE_DIRECT
    - min
    - move_al_by_y
    - fixed2int_pixround
    - AL_X_AT_Y
    - fixed2int
    - range_list_add
    - int2fixed
    - range_list_init
    - INSIDE_PATH_P
    - INCR
    - if_debug3m
    - fixed_fraction
    - print_al
    linkageType: ''
    returnType: int
    signature: int TEMPLATE_spot_into_scanlines (line_list *ll, fixed band_mask)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:35,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:43,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:46,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:47,1
    - Dst: _wfopen
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:48,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - fname
    - mode
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 52
    functionName: gp_fopen_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 5
    functionsReached:
    - _wfopen
    - gs_alloc_bytes
    - gs_free_object
    - utf8_to_wchar
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      gp_fopen_impl(gs_memory_t *mem, const char *fname, const char *mode)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:57,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:64,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:67,1
    - Dst: _wunlink
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:68,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 72
    functionName: gp_unlink_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 3
    functionsReached:
    - gs_free_object
    - gs_alloc_bytes
    - _wunlink
    - utf8_to_wchar
    linkageType: ''
    returnType: int
    signature: int gp_unlink_impl(gs_memory_t *mem, const char *fname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:77,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:78,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:85,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:88,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:90,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:93,1
    - Dst: utf8_to_wchar
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:94,1
    - Dst: _wrename
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:95,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:96,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - mem
    - from
    - to
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 100
    functionName: gp_rename_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 1
    functionsReached:
    - _wrename
    - gs_alloc_bytes
    - gs_free_object
    - utf8_to_wchar
    linkageType: ''
    returnType: int
    signature: int gp_rename_impl(gs_memory_t *mem, const char *from, const char *to)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:105,1
    - Dst: dup
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:109,1
    - Dst: fdopen
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:113,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - mode
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 114
    functionName: gp_fdup_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 1
    functionsReached:
    - fdopen
    - dup
    - fileno
    linkageType: ''
    returnType: FILE
    signature: FILE *gp_fdup_impl(FILE *f, const char *mode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:121,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:121,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:126,1
    - Dst: ReadFile
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 134
    functionName: gp_pread_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 1
    functionsReached:
    - _get_osfhandle
    - memset
    - fileno
    - ReadFile
    linkageType: ''
    returnType: int
    signature: int gp_pread_impl(char *buf, size_t count, gs_offset_t offset, FILE
      *f)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _get_osfhandle
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:141,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:141,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:146,1
    - Dst: WriteFile
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - buf
    - count
    - offset
    - f
    argTypes:
    - char*
    - size_t
    - gs_offset_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: gp_pwrite_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 1
    functionsReached:
    - WriteFile
    - _get_osfhandle
    - memset
    - fileno
    linkageType: ''
    returnType: int
    signature: int gp_pwrite_impl(const char *buf, size_t count, gs_offset_t offset,
      FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:172,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:174,1
    - Dst: _ftelli64
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - strm
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 178
    functionName: gp_ftell_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 3
    functionsReached:
    - ftell
    - _ftelli64
    linkageType: ''
    returnType: gs_offset_t
    signature: gs_offset_t gp_ftell_impl(FILE *strm)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:183,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:189,1
    - Dst: _fseeki64
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - strm
    - offset
    - origin
    argTypes:
    - FILE*
    - gs_offset_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 193
    functionName: gp_fseek_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 3
    functionsReached:
    - fseek
    - _fseeki64
    linkageType: ''
    returnType: int
    signature: int gp_fseek_impl(FILE *strm, gs_offset_t offset, int origin)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:200,1
    - Dst: _fstat64
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:204,1
    - Dst: S_ISREG
      Src: /src/libspectre/ghostscript/base/gp_winfs.c:207,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 208
    functionName: gp_fseekable_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs.c
    functionUses: 1
    functionsReached:
    - S_ISREG
    - fileno
    - _fstat64
    linkageType: ''
    returnType: bool
    signature: bool gp_fseekable_impl(FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pixel_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage3.c:58,1
    - Dst: gs_data_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage3.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - pim
    - color_space
    - interleave_type
    argTypes:
    - gs_image3_t*
    - gs_color_space*
    - gs_image3_interleave_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: gs_image3_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 1
    functionsReached:
    - gs_data_image_t_init
    - gs_pixel_image_t_init
    linkageType: ''
    returnType: void
    signature: "void gs_image3_t_init(gs_image3_t * pim, gs_color_space * color_space,\n
      \                gs_image3_interleave_type_t interleave_type)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximage3.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:108,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gximage3.c:109,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gximage3.c:113,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gximage3.c:114,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gximage3.c:115,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximage3.c:116,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:118,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximage3.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 5
    argNames:
    - pmidev
    - dev
    - width
    - height
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - int
    - int
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 98
    functionDepth: 2
    functionLinenumber: 98
    functionLinenumberEnd: 126
    functionName: make_mid_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gx_device_raster
    - check_device_separable
    - gs_free_object
    - return_error
    - gs_make_mem_mono_device
    - gx_device_fill_in_procs
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int make_mid_default(gx_device **pmidev, gx_device *dev, int width,
      int height,\n                 gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximage3.c:140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:146,1
    - Dst: gx_mask_clip_initialize
      Src: /src/libspectre/ghostscript/base/gximage3.c:153,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:157,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximage3.c:161,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 13
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    - pmcdev
    - midev
    - pminfo
    - origin
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    - gx_device**
    - gx_device*
    - gx_image_enum_common_t*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 170
    functionName: make_mcde_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    - gs_free_object
    - return_error
    - dev_proc
    - gx_mask_clip_initialize
    linkageType: ''
    returnType: int
    signature: "int make_mcde_default(gx_device *dev, const gs_gstate *pgs,\n                  const
      gs_matrix *pmat, const gs_image_common_t *pic,\n                  const gs_int_rect
      *prect, const gx_drawing_color *pdcolor,\n                  const gx_clip_path
      *pcpath, gs_memory_t *mem,\n                  gx_image_enum_common_t **pinfo,\n
      \                 gx_device **pmcdev, gx_device *midev,\n                  gx_image_enum_common_t
      *pminfo,\n                  const gs_int_point *origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_begin_image3_generic
      Src: /src/libspectre/ghostscript/base/gximage3.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: gx_begin_image3
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - gx_begin_image3_generic
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image3(gx_device * dev,\n                const gs_gstate
      * pgs, const gs_matrix * pmat,\n                const gs_image_common_t * pic,
      const gs_int_rect * prect,\n                const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                gs_memory_t * mem, gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:212,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:215,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:222,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:228,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:232,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gximage3.c:234,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximage3.c:241,1
    - Dst: gs_matrix_scale
      Src: /src/libspectre/ghostscript/base/gximage3.c:243,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gximage3.c:247,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gximage3.c:250,1
    - Dst: check_image3_extent
      Src: /src/libspectre/ghostscript/base/gximage3.c:253,1
    - Dst: check_image3_extent
      Src: /src/libspectre/ghostscript/base/gximage3.c:255,1
    - Dst: check_image3_extent
      Src: /src/libspectre/ghostscript/base/gximage3.c:257,1
    - Dst: check_image3_extent
      Src: /src/libspectre/ghostscript/base/gximage3.c:259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:262,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximage3.c:264,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximage3.c:265,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:267,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gximage3.c:278,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gximage3.c:280,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximage3.c:285,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gximage3.c:285,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gximage3.c:289,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:292,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage3.c:294,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gximage3.c:295,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gximage3.c:335,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gximage3.c:340,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:343,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gximage3.c:363,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gximage3.c:364,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gximage3.c:365,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:372,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gximage3.c:379,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gximage3.c:380,1
    - Dst: make_mid
      Src: /src/libspectre/ghostscript/base/gximage3.c:381,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gximage3.c:381,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gximage3.c:382,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/base/gximage3.c:386,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gximage3.c:400,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gximage3.c:408,1
    - Dst: gx_device_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gximage3.c:413,1
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage3.c:420,1
    - Dst: make_mcde
      Src: /src/libspectre/ghostscript/base/gximage3.c:428,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximage3.c:462,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gximage3.c:464,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximage3.c:468,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gximage3.c:469,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximage3.c:473,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximage3.c:475,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:476,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:478,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:479,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:480,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 165
    argCount: 11
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - make_mid
    - make_mcde
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - image3_make_mid_proc_t
    - image3_make_mcde_proc_t
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 482
    functionName: gx_begin_image3_generic
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - gx_device_begin_typed_image
    - gx_device_retain
    - gs_matrix_multiply
    - gs_closedevice
    - ctm_only
    - gx_image_enum_common_init
    - check_image3_extent
    - gs_note_error
    - gs_point_transform
    - gs_matrix_invert
    - gs_bbox_transform
    - gs_free_object
    - make_mcde
    - gx_image_end
    - floor
    - gs_matrix_scale
    - dev_proc
    - set_nonclient_dev_color
    - make_mid
    - gs_color_space_num_components
    - memcpy
    - gs_image_t_init_mask
    - fabs
    - ceil
    - return_error
    - gs_image_t_init
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image3_generic(gx_device * dev,\n                        const
      gs_gstate *pgs, const gs_matrix *pmat,\n                        const gs_image_common_t
      *pic, const gs_int_rect *prect,\n                        const gx_drawing_color
      *pdcolor,\n                        const gx_clip_path *pcpath, gs_memory_t *mem,\n
      \                       image3_make_mid_proc_t make_mid,\n                        image3_make_mcde_proc_t
      make_mcde,\n                        gx_image_enum_common_t **pinfo)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - mask_coeff
    - data_coeff
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: check_image3_extent
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool check_image3_extent(double mask_coeff, double data_coeff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf4
      Src: /src/libspectre/ghostscript/base/gximage3.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image3_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 521
    functionName: planes_next
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - lprintf4
    linkageType: ''
    returnType: int
    signature: int planes_next(const gx_image3_enum_t *penum)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gximage3.c:534,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gximage3.c:535,1
    - Dst: gx_image3_plane_data
      Src: /src/libspectre/ghostscript/base/gximage3.c:552,1
    - Dst: sample_load_next12
      Src: /src/libspectre/ghostscript/base/gximage3.c:592,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:593,1
    - Dst: sample_store_next12
      Src: /src/libspectre/ghostscript/base/gximage3.c:594,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:595,1
    - Dst: sample_load_next12
      Src: /src/libspectre/ghostscript/base/gximage3.c:597,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:598,1
    - Dst: sample_store_next12
      Src: /src/libspectre/ghostscript/base/gximage3.c:599,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:600,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gximage3.c:603,1
    - Dst: sample_store_flush
      Src: /src/libspectre/ghostscript/base/gximage3.c:604,1
    - Dst: planes_next
      Src: /src/libspectre/ghostscript/base/gximage3.c:608,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage3.c:630,1
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gximage3.c:654,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximage3.c:668,1
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gximage3.c:669,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gximage3.c:696,1
    - Dst: planes_next
      Src: /src/libspectre/ghostscript/base/gximage3.c:704,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 717
    functionName: gx_image3_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 1
    functionsReached:
    - if_debug5m
    - planes_next
    - sample_store_flush
    - sample_load_next12
    - gx_image_plane_data_rows
    - max
    - sample_store_next12
    - gx_image_flush
    - return_error
    - min
    - gx_image3_plane_data
    linkageType: ''
    returnType: int
    signature: "int gx_image3_plane_data(gx_image_enum_common_t * info,\n                     const
      gx_image_plane_t * planes, int height,\n                     int *rows_used)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximage3.c:724,1
    - Dst: gx_image_flush
      Src: /src/libspectre/ghostscript/base/gximage3.c:727,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_image_enum_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 720
    functionDepth: 1
    functionLinenumber: 720
    functionLinenumberEnd: 729
    functionName: gx_image3_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - gx_image_flush
    linkageType: ''
    returnType: int
    signature: int gx_image3_flush(gx_image_enum_common_t * info)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: planes_next
      Src: /src/libspectre/ghostscript/base/gximage3.c:750,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximage3.c:753,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximage3.c:768,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - info
    - wanted
    argTypes:
    - gx_image_enum_common_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 771
    functionName: gx_image3_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - memset
    - planes_next
    linkageType: ''
    returnType: bool
    signature: bool gx_image3_planes_wanted(const gx_image_enum_common_t * info, byte
      *wanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximage3.c:780,1
    - Dst: gx_image_end
      Src: /src/libspectre/ghostscript/base/gximage3.c:782,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximage3.c:783,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gximage3.c:784,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:786,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:788,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:790,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage3.c:791,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gximage3.c:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 794
    functionName: gx_image3_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gximage3.c
    functionUses: 0
    functionsReached:
    - gx_image_free_enum
    - gx_image_end
    - gs_free_object
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: int gx_image3_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/base/gp_win32.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetSystemTime
      Src: /src/libspectre/ghostscript/base/gp_win32.c:54,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 66
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 9
    functionsReached:
    - GetSystemTime
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: QueryPerformanceFrequency
      Src: /src/libspectre/ghostscript/base/gp_win32.c:78,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_win32.c:79,1
    - Dst: QueryPerformanceCounter
      Src: /src/libspectre/ghostscript/base/gp_win32.c:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 91
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 2
    functionsReached:
    - QueryPerformanceFrequency
    - gp_get_realtime
    - QueryPerformanceCounter
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_win32.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 112
    functionName: gp_file_is_console
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 0
    functionsReached:
    - fileno
    linkageType: ''
    returnType: int
    signature: int gp_file_is_console(FILE * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: gp_getenv_display
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_getenv_display(void)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gp_win32.c:149,1
    - Dst: IsDBCSLeadByte
      Src: /src/libspectre/ghostscript/base/gp_win32.c:161,1
    - Dst: gp_fgetc
      Src: /src/libspectre/ghostscript/base/gp_win32.c:163,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/base/gp_win32.c:178,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - file
    - astr
    argTypes:
    - gp_file*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 181
    functionName: gp_local_arg_encoding_get_codepoint
    functionSourceFile: /src/libspectre/ghostscript/base/gp_win32.c
    functionUses: 0
    functionsReached:
    - gp_fgetc
    - IsDBCSLeadByte
    - MultiByteToWideChar
    linkageType: ''
    returnType: int
    signature: int gp_local_arg_encoding_get_codepoint(gp_file *file, const char **astr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: IMAGE3X_MAKE_MID_PROC
    functionSourceFile: /src/libspectre/ghostscript/base/gximag3x.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IMAGE3X_MAKE_MID_PROC(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: public_st_obj_filter_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_obj_filter_device()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - width
    - height
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 191
    functionName: obj_filter_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_rectangle
    linkageType: ''
    returnType: int
    signature: int obj_filter_fill_rectangle(gx_device *dev, int x, int y, int width,
      int height, gx_color_index color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tile
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_tile_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 200
    functionName: obj_filter_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_tile_rectangle
    linkageType: ''
    returnType: int
    signature: "int obj_filter_tile_rectangle(gx_device *dev, const gx_tile_bitmap
      *tile, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_draw_line
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - x0
    - y0
    - x1
    - y1
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 207
    functionName: obj_filter_draw_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_draw_line
    linkageType: ''
    returnType: int
    signature: int obj_filter_draw_line(gx_device *dev, int x0, int y0, int x1, int
      y1, gx_color_index color)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_path
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: obj_filter_fill_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_path
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_fill_params *params,\n    const gx_drawing_color *pdcolor,
      const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:223,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - ppath
    - params
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: obj_filter_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_stroke_path
    linkageType: ''
    returnType: int
    signature: "int obj_filter_stroke_path(gx_device *dev, const gs_gstate *pgs, gx_path
      *ppath,\n    const gx_stroke_params *params,\n    const gx_drawing_color *pdcolor,
      const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_stroke_path
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - pgs
    - ppath
    - fill_params
    - pdcolor_fill
    - stroke_params
    - pdcolor_stroke
    - pcpath
    argTypes:
    - gx_device*
    - gs_gstate*
    - gx_path*
    - gx_fill_params*
    - gx_drawing_color*
    - gx_stroke_params*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 235
    functionName: obj_filter_fill_stroke_path
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_stroke_path
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_stroke_path(gx_device *dev, const gs_gstate *pgs,
      gx_path *ppath,\n        const gx_fill_params *fill_params, const gx_drawing_color
      *pdcolor_fill,\n        const gx_stroke_params *stroke_params, const gx_drawing_color
      *pdcolor_stroke,\n        const gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_mask
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - x
    - y
    - width
    - height
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 237
    functionDepth: 3
    functionLinenumber: 237
    functionLinenumberEnd: 245
    functionName: obj_filter_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_mask
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_mask(gx_device *dev, const byte *data, int data_x,
      int raster, gx_bitmap_id id,\n    int x, int y, int width, int height,\n    const
      gx_drawing_color *pdcolor, int depth,\n    gs_logical_operation_t lop, const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:252,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - left
    - right
    - ybot
    - ytop
    - swap_axes
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - gs_fixed_edge*
    - gs_fixed_edge*
    - fixed
    - fixed
    - bool
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 254
    functionName: obj_filter_fill_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_trapezoid
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_trapezoid(gx_device *dev, const gs_fixed_edge
      *left, const gs_fixed_edge *right,\n    fixed ybot, fixed ytop, bool swap_axes,\n
      \   const gx_drawing_color *pdcolor, gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_parallelogram
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 262
    functionName: obj_filter_fill_parallelogram
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_parallelogram
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_parallelogram(gx_device *dev, fixed px, fixed
      py, fixed ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor,
      gs_logical_operation_t lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_triangle
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - px
    - py
    - ax
    - ay
    - bx
    - by
    - pdcolor
    - lop
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 270
    functionName: obj_filter_fill_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_triangle
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_triangle(gx_device *dev, fixed px, fixed py, fixed
      ax, fixed ay, fixed bx, fixed by,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_draw_thin_line
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 279
    functionName: obj_filter_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_draw_thin_line
    linkageType: ''
    returnType: int
    signature: "int obj_filter_draw_thin_line(gx_device *dev, fixed fx0, fixed fy0,
      fixed fx1, fixed fy1,\n    const gx_drawing_color *pdcolor, gs_logical_operation_t
      lop,\n    fixed adjustx, fixed adjusty)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_begin_image
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:287,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - pgs
    - pim
    - format
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_image_t*
    - gs_image_format_t
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: obj_filter_begin_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_begin_image
    linkageType: ''
    returnType: int
    signature: "int obj_filter_begin_image(gx_device *dev, const gs_gstate *pgs, const
      gs_image_t *pim,\n    gs_image_format_t format, const gs_int_rect *prect,\n
      \   const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n    gs_memory_t
      *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_image_data
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - info
    - planes
    - data_x
    - raster
    - height
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - byte**
    - int
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 297
    functionName: obj_filter_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_image_data
    linkageType: ''
    returnType: int
    signature: "int obj_filter_image_data(gx_device *dev, gx_image_enum_common_t *info,
      const byte **planes, int data_x,\n    uint raster, int height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_end_image
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - info
    - draw_last
    argTypes:
    - gx_device*
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 304
    functionName: obj_filter_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_end_image
    linkageType: ''
    returnType: int
    signature: int obj_filter_end_image(gx_device *dev, gx_image_enum_common_t *info,
      bool draw_last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_strip_tile_rectangle
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - color0
    - color1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 313
    functionName: obj_filter_strip_tile_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_strip_tile_rectangle
    linkageType: ''
    returnType: int
    signature: "int obj_filter_strip_tile_rectangle(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    gx_color_index color0, gx_color_index
      color1,\n    int phase_x, int phase_y)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_strip_copy_rop
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 15
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 324
    functionName: obj_filter_strip_copy_rop
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_strip_copy_rop
    linkageType: ''
    returnType: int
    signature: "int obj_filter_strip_copy_rop(gx_device *dev, const byte *sdata, int
      sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,\n
      \   const gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int
      x, int y, int width, int height,\n    int phase_x, int phase_y, gs_logical_operation_t
      lop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pie
    argTypes:
    - obj_filter_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 342
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 1
    functionsReached:
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(obj_filter_image_enum_reloc_ptrs, obj_filter_image_enum
      *pie)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 361
    functionName: obj_filter_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: "RELOC_PTRS_END obj_filter_image_plane_data(gx_image_enum_common_t
      * info,\n                     const gx_image_plane_t * planes, int height,\n
      \                    int *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 367
    functionName: obj_filter_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_filter_image_end_image(gx_image_enum_common_t * info, bool
      draw_last)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:384,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:392,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:394,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:397,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:400,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:401,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:403,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - memory
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 374
    functionDepth: 2
    functionLinenumber: 374
    functionLinenumberEnd: 411
    functionName: obj_filter_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - gx_image_enum_common_init
    - gs_color_space_num_components
    - memset
    - default_subclass_begin_typed_image
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int obj_filter_begin_typed_image(gx_device *dev, const gs_gstate *pgs,
      const gs_matrix *pmat,\n    const gs_image_common_t *pic, const gs_int_rect
      *prect,\n    const gx_drawing_color *pdcolor, const gx_clip_path *pcpath,\n
      \   gs_memory_t *memory, gx_image_enum_common_t **pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 432
    functionName: obj_filter_text_resync
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_filter_text_resync(gs_text_enum_t *pte, const gs_text_enum_t
      *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 433
    functionDepth: 0
    functionLinenumber: 433
    functionLinenumberEnd: 437
    functionName: obj_filter_text_process
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_filter_text_process(gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 0
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: obj_filter_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool obj_filter_text_is_width_only(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 447
    functionName: obj_filter_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_filter_text_current_width(const gs_text_enum_t *pte, gs_point
      *pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pte
    - pw
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 453
    functionName: obj_filter_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int obj_filter_text_set_cache(gs_text_enum_t *pte, const double *pw,\n
      \                  gs_text_cache_control_t control)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: obj_filter_text_retry
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int obj_filter_text_retry(gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_text_release
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: obj_filter_text_release
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - gx_default_text_release
    linkageType: ''
    returnType: void
    signature: void obj_filter_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_text_begin
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:493,1
    - Dst: default_subclass_text_begin
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:496,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:498,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:499,1
    - Dst: gs_text_enum_init
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:501,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:504,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 9
    argNames:
    - dev
    - pgs
    - text
    - font
    - path
    - pdcolor
    - pcpath
    - memory
    - ppte
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_text_params_t*
    - gs_font*
    - gx_path*
    - gx_device_color*
    - gx_clip_path*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 510
    functionName: obj_filter_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - rc_alloc_struct_1
    - default_subclass_text_begin
    - gs_text_enum_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int obj_filter_text_begin(gx_device *dev, gs_gstate *pgs, const gs_text_params_t
      *text,\n    gs_font *font, gx_path *path, const gx_device_color *pdcolor, const
      gx_clip_path *pcpath,\n    gs_memory_t *memory, gs_text_enum_t **ppte)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_rectangle_hl_color
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - dev
    - rect
    - pgs
    - pdcolor
    - pcpath
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    - gs_gstate*
    - gx_drawing_color*
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 518
    functionName: obj_filter_fill_rectangle_hl_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_rectangle_hl_color
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_rectangle_hl_color(gx_device *dev, const gs_fixed_rect
      *rect,\n        const gs_gstate *pgs, const gx_drawing_color *pdcolor, const
      gx_clip_path *pcpath)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_linear_color_scanline
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - fa
    - i
    - j
    - w
    - c0
    - c0_f
    - cg_num
    - cg_den
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - int
    - int
    - int
    - frac31*
    - int32_t*
    - int32_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 527
    functionName: obj_filter_fill_linear_color_scanline
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_linear_color_scanline
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_linear_color_scanline(gx_device *dev, const gs_fill_attributes
      *fa,\n        int i, int j, int w, const frac31 *c0, const int32_t *c0_f, const
      int32_t *cg_num,\n        int32_t cg_den)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_linear_color_trapezoid
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - p3
    - c0
    - c1
    - c2
    - c3
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 538
    functionName: obj_filter_fill_linear_color_trapezoid
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_linear_color_trapezoid
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_linear_color_trapezoid(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const gs_fixed_point *p3,\n        const frac31 *c0, const
      frac31 *c1,\n        const frac31 *c2, const frac31 *c3)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_fill_linear_color_triangle
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 8
    argNames:
    - dev
    - fa
    - p0
    - p1
    - p2
    - c0
    - c1
    - c2
    argTypes:
    - gx_device*
    - gs_fill_attributes*
    - gs_fixed_point*
    - gs_fixed_point*
    - gs_fixed_point*
    - frac31*
    - frac31*
    - frac31*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 540
    functionDepth: 2
    functionLinenumber: 540
    functionLinenumberEnd: 547
    functionName: obj_filter_fill_linear_color_triangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_fill_linear_color_triangle
    linkageType: ''
    returnType: int
    signature: "int obj_filter_fill_linear_color_triangle(gx_device *dev, const gs_fill_attributes
      *fa,\n        const gs_fixed_point *p0, const gs_fixed_point *p1,\n        const
      gs_fixed_point *p2, const frac31 *c0, const frac31 *c1, const frac31 *c2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_put_image
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 11
    argNames:
    - dev
    - mdev
    - buffers
    - num_chan
    - x
    - y
    - width
    - height
    - row_stride
    - alpha_plane_index
    - tag_plane_index
    argTypes:
    - gx_device*
    - gx_device*
    - byte**
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 556
    functionName: obj_filter_put_image
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_put_image
    linkageType: ''
    returnType: int
    signature: "int obj_filter_put_image(gx_device *dev, gx_device *mdev, const byte
      **buffers, int num_chan, int x, int y,\n            int width, int height, int
      row_stride,\n            int alpha_plane_index, int tag_plane_index)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_strip_copy_rop2
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 16
    argNames:
    - dev
    - sdata
    - sourcex
    - sraster
    - id
    - scolors
    - textures
    - tcolors
    - x
    - y
    - width
    - height
    - phase_x
    - phase_y
    - lop
    - planar_height
    argTypes:
    - gx_device*
    - byte*
    - int
    - uint
    - gx_bitmap_id
    - gx_color_index*
    - gx_strip_bitmap*
    - gx_color_index*
    - int
    - int
    - int
    - int
    - int
    - int
    - gs_logical_operation_t
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 565
    functionName: obj_filter_strip_copy_rop2
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_strip_copy_rop2
    linkageType: ''
    returnType: int
    signature: "int obj_filter_strip_copy_rop2(gx_device *dev, const byte *sdata,
      int sourcex, uint sraster, gx_bitmap_id id,\n    const gx_color_index *scolors,
      const gx_strip_bitmap *textures, const gx_color_index *tcolors,\n    int x,
      int y, int width, int height, int phase_x, int phase_y, gs_logical_operation_t
      lop, uint planar_height)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: default_subclass_strip_tile_rect_devn
      Src: /src/libspectre/ghostscript/base/gdevoflt.c:571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 10
    argNames:
    - dev
    - tiles
    - x
    - y
    - width
    - height
    - pdcolor0
    - pdcolor1
    - phase_x
    - phase_y
    argTypes:
    - gx_device*
    - gx_strip_bitmap*
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - gx_drawing_color*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 573
    functionName: obj_filter_strip_tile_rect_devn
    functionSourceFile: /src/libspectre/ghostscript/base/gdevoflt.c
    functionUses: 0
    functionsReached:
    - default_subclass_strip_tile_rect_devn
    linkageType: ''
    returnType: int
    signature: "int obj_filter_strip_tile_rect_devn(gx_device *dev, const gx_strip_bitmap
      *tiles, int x, int y, int width, int height,\n    const gx_drawing_color *pdcolor0,
      const gx_drawing_color *pdcolor1, int phase_x, int phase_y)"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - outp
    - inp
    - w
    argTypes:
    - byte*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 85
    functionName: pack_8to1
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pack_8to1(byte *outp, byte *inp, int w)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:114,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:195,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 69
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 196
    functionName: down_core
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core(gx_downscaler_t *ds,\n                      byte            *out_buffer,\n
      \                     byte            *in_buffer,\n                      int
      \             row,\n                      int              plane,\n                      int
      \             span)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:219,1
    - Dst: gx_downscaler_t*::ets_downscale
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:225,1
    - Dst: ets_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:229,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 232
    functionName: down_core_ets_1
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - gx_downscaler_t*::ets_downscale
    - memset
    - ets_line
    linkageType: ''
    returnType: void
    signature: "void down_core_ets_1(gx_downscaler_t *ds,\n                            byte
      \           *out_buffer,\n                            byte            *in_buffer,\n
      \                           int              row,\n                            int
      \             plane,\n                            int              span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:257,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 317
    functionName: down_core_1
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core_1(gx_downscaler_t *ds,\n                        byte
      \           *out_buffer,\n                        byte            *in_buffer,\n
      \                       int              row,\n                        int              plane,\n
      \                       int              span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:345,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 409
    functionName: down_core_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core_2(gx_downscaler_t *ds,\n                        byte
      \           *out_buffer,\n                        byte            *in_buffer,\n
      \                       int              row,\n                        int              plane,\n
      \                       int              span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:437,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:506,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 507
    functionName: down_core_3
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core_3(gx_downscaler_t *ds,\n                        byte
      \           *out_buffer,\n                        byte            *in_buffer,\n
      \                       int              row,\n                        int              plane,\n
      \                       int              span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:535,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:606,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 607
    functionName: down_core_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core_4(gx_downscaler_t *ds,\n                        byte
      \           *out_buffer,\n                        byte            *in_buffer,\n
      \                       int              row,\n                        int              plane,\n
      \                       int              span)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:637,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:772,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 100
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 609
    functionDepth: 1
    functionLinenumber: 609
    functionLinenumberEnd: 773
    functionName: down_core_mfs
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core_mfs(gx_downscaler_t *ds,\n                          byte
      \           *out_buffer,\n                          byte            *in_buffer,\n
      \                         int              row,\n                          int
      \             plane,\n                          int              span)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:803,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:890,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 776
    functionDepth: 1
    functionLinenumber: 776
    functionLinenumberEnd: 891
    functionName: down_core4
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core4(gx_downscaler_t *ds,\n                       byte
      \           *out_buffer,\n                       byte            *in_buffer,\n
      \                      int              row,\n                       int              plane
      /* unused */,\n                       int              span)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:915,1
    - Dst: gx_downscaler_t*::ets_downscale
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:922,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:926,1
    - Dst: gx_ht_threshold_row_bit_sub
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:964,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 893
    functionDepth: 2
    functionLinenumber: 893
    functionLinenumberEnd: 967
    functionName: down_core4_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gx_ht_threshold_row_bit_sub
    - gx_downscaler_t*::ets_downscale
    - memset
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void down_core4_ht(gx_downscaler_t *ds,\n                          byte
      \           *out_buffer, /* Guaranteed aligned */\n                          byte
      \           *in_buffer,  /* Not guaranteed aligned */\n                          int
      \             row,\n                          int              plane /* unused
      */,\n                          int              span)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:990,1
    - Dst: gx_downscaler_t*::ets_downscale
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:996,1
    - Dst: ets_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1006,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1008,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 969
    functionDepth: 1
    functionLinenumber: 969
    functionLinenumberEnd: 1009
    functionName: down_core4_ets
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - gx_downscaler_t*::ets_downscale
    - memset
    - ets_line
    linkageType: ''
    returnType: void
    signature: "void down_core4_ets(gx_downscaler_t *ds,\n                           byte
      \           *out_buffer,\n                           byte            *in_buffer,\n
      \                          int              row,\n                           int
      \             plane /* unused */,\n                           int              span)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1039,1
    - Dst: pack_8to1
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1183,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 113
    argCount: 6
    argNames:
    - ds
    - out_buffer
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1184
    functionName: down_core4_mfs
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - pack_8to1
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core4_mfs(gx_downscaler_t *ds,\n                           byte
      \           *out_buffer,\n                           byte            *in_buffer,\n
      \                          int              row,\n                           int
      \             plane /* unused */,\n                           int              span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1211,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1187
    functionDepth: 0
    functionLinenumber: 1187
    functionLinenumberEnd: 1239
    functionName: down_core16
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core16(gx_downscaler_t *ds,\n                        byte
      \           *outp,\n                        byte            *in_buffer,\n                        int
      \             row,\n                        int              plane,\n                        int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1241
    functionDepth: 0
    functionLinenumber: 1241
    functionLinenumberEnd: 1289
    functionName: down_core8
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8(gx_downscaler_t *ds,\n                       byte
      \           *outp,\n                       byte            *in_buffer,\n                       int
      \             row,\n                       int              plane,\n                       int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1326
    functionName: down_core8_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8_2(gx_downscaler_t *ds,\n                         byte
      \           *outp,\n                         byte            *in_buffer,\n                         int
      \             row,\n                         int              plane,\n                         int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1350,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1365
    functionName: down_core8_3
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8_3(gx_downscaler_t *ds,\n                         byte
      \           *outp,\n                         byte            *in_buffer,\n                         int
      \             row,\n                         int              plane,\n                         int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1367
    functionDepth: 0
    functionLinenumber: 1367
    functionLinenumberEnd: 1406
    functionName: down_core8_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8_4(gx_downscaler_t *ds,\n                         byte
      \           *outp,\n                         byte            *in_buffer,\n                         int
      \             row,\n                         int              plane,\n                         int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1408
    functionDepth: 0
    functionLinenumber: 1408
    functionLinenumberEnd: 1457
    functionName: down_core8_3_2
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8_3_2(gx_downscaler_t *ds,\n                           byte
      \           *outp,\n                           byte            *in_buffer,\n
      \                          int              row,\n                           int
      \             plane,\n                           int              span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1482,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1459
    functionDepth: 0
    functionLinenumber: 1459
    functionLinenumberEnd: 1520
    functionName: down_core8_3_4
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core8_3_4(gx_downscaler_t *ds,\n                           byte
      \           *outp,\n                           byte            *in_buffer,\n
      \                          int              row,\n                           int
      \             plane,\n                           int              span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1548,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1524
    functionDepth: 0
    functionLinenumber: 1524
    functionLinenumberEnd: 1601
    functionName: down_core24
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core24(gx_downscaler_t *ds,\n                        byte
      \           *outp,\n                        byte            *in_buffer,\n                        int
      \             row,\n                        int              plane,\n                        int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1629,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 6
    argNames:
    - ds
    - outp
    - in_buffer
    - row
    - plane
    - span
    argTypes:
    - gx_downscaler_t*
    - byte*
    - byte*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1605
    functionDepth: 0
    functionLinenumber: 1605
    functionLinenumberEnd: 1695
    functionName: down_core32
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void down_core32(gx_downscaler_t *ds,\n                        byte
      \           *outp,\n                        byte            *in_buffer,\n                        int
      \             row,\n                        int              plane,\n                        int
      \             span)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - factor
    - up
    - down
    argTypes:
    - int
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1697
    functionDepth: 0
    functionLinenumber: 1697
    functionLinenumberEnd: 1705
    functionName: gx_downscaler_decode_factor
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_downscaler_decode_factor(int factor, int *up, int *down)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - width
    - factor
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1714
    functionName: gx_downscaler_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 8
    functionsReached:
    - gx_downscaler_decode_factor
    linkageType: ''
    returnType: int
    signature: int gx_downscaler_scale(int width, int factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - factor
    - band_height
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1716
    functionDepth: 1
    functionLinenumber: 1716
    functionLinenumberEnd: 1722
    functionName: gx_downscaler_adjust_bandheight
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 1
    functionsReached:
    - gx_downscaler_decode_factor
    linkageType: ''
    returnType: int
    signature: int gx_downscaler_adjust_bandheight(int factor, int band_height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - width
    - factor
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1724
    functionDepth: 1
    functionLinenumber: 1724
    functionLinenumberEnd: 1731
    functionName: gx_downscaler_scale_rounded
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - gx_downscaler_decode_factor
    linkageType: ''
    returnType: int
    signature: int gx_downscaler_scale_rounded(int width, int factor)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClapTrap_GetLinePlanar
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1751,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - liner_
    - buffer
    - row
    argTypes:
    - gx_downscale_liner*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1744
    functionDepth: 0
    functionLinenumber: 1744
    functionLinenumberEnd: 1752
    functionName: claptrap_planar_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - ClapTrap_GetLinePlanar
    linkageType: ''
    returnType: int
    signature: int claptrap_planar_line(gx_downscale_liner *liner_, void *buffer,
      int row)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ClapTrap_Fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1762,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1764,1
    - Dst: gx_downscale_liner*::drop
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - liner_
    - mem
    argTypes:
    - gx_downscale_liner*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1754
    functionDepth: 1
    functionLinenumber: 1754
    functionLinenumberEnd: 1767
    functionName: claptrap_planar_drop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gx_downscale_liner*::drop
    - ClapTrap_Fin
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void claptrap_planar_drop(gx_downscale_liner *liner_, gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: liner_claptrap_planar*::chain::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1785,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - buf
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1769
    functionDepth: 0
    functionLinenumber: 1769
    functionLinenumberEnd: 1792
    functionName: get_planar_line_for_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - liner_claptrap_planar*::chain::get_line
    linkageType: ''
    returnType: int
    signature: int get_planar_line_for_trap(void *arg, unsigned char *buf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1799,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1800,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1807,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1808,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1825,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1826,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 22
    argCount: 5
    argNames:
    - memory
    - trap_w
    - trap_h
    - num_comps
    - comp_order
    argTypes:
    - gs_memory_t*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1831
      start: 1794
    functionDepth: 1
    functionLinenumber: 1794
    functionLinenumberEnd: 1831
    functionName: check_trapping
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - return_error
    - emprintf
    - dmprintf
    linkageType: ''
    returnType: int
    signature: "int check_trapping(gs_memory_t *memory, int trap_w, int trap_h,\n
      \                         int num_comps, const int *comp_order)"
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 38
    argCount: 3
    argNames:
    - res
    - a
    - b
    argTypes:
    - float*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1882
      start: 1833
    functionDepth: 0
    functionLinenumber: 1833
    functionLinenumberEnd: 1882
    functionName: find_aspect_ratio
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void find_aspect_ratio(float *res, int *a, int *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1907,1
    - Dst: find_aspect_ratio
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1924,1
    - Dst: ets_create
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1935,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1937,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 3
    argNames:
    - ds
    - num_planes
    - downscale_core
    argTypes:
    - gx_downscaler_t*
    - int
    - gx_downscale_core*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1940
      start: 1884
    functionDepth: 2
    functionLinenumber: 1884
    functionLinenumberEnd: 1940
    functionName: init_ets
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - find_aspect_ratio
    - pow
    - ets_create
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int init_ets(gx_downscaler_t *ds, int num_planes, gx_downscale_core
      *downscale_core)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1950,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1958,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1962,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ds
    - num_planes
    - downscale_core
    argTypes:
    - gx_downscaler_t*
    - int
    - gx_downscale_core*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1970
      start: 1942
    functionDepth: 1
    functionLinenumber: 1942
    functionLinenumberEnd: 1970
    functionName: init_ht
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int init_ht(gx_downscaler_t *ds, int num_planes, gx_downscale_core
      *downscale_core)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_init_planar_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ds
    - dev
    - src_bpc
    - dst_bpc
    - num_comps
    - params
    - gb_params
    argTypes:
    - gx_downscaler_t*
    - gx_device*
    - int
    - int
    - int
    - gx_downscaler_params*
    - gs_get_bits_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1983
      start: 1972
    functionDepth: 1
    functionLinenumber: 1972
    functionLinenumberEnd: 1983
    functionName: gx_downscaler_init_planar
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - gx_downscaler_init_planar_cm
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_init_planar(gx_downscaler_t      *ds,\n                              gx_device
      \           *dev,\n                              int                   src_bpc,\n
      \                             int                   dst_bpc,\n                              int
      \                  num_comps,\n                        const gx_downscaler_params
      *params,\n                        const gs_get_bits_params_t *gb_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:1995,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - liner_
    - buffer
    - row
    argTypes:
    - gx_downscale_liner*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 1996
    functionName: getbits_chunky_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int getbits_chunky_line(gx_downscale_liner *liner_, void *buffer, int
      row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - liner_
    - mem
    argTypes:
    - gx_downscale_liner*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2004
      start: 1998
    functionDepth: 0
    functionLinenumber: 1998
    functionLinenumberEnd: 2004
    functionName: getbits_chunky_drop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void getbits_chunky_drop(gx_downscale_liner *liner_, gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2033,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2039,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - liner_
    - output
    - row
    argTypes:
    - gx_downscale_liner*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2013
    functionDepth: 1
    functionLinenumber: 2013
    functionLinenumberEnd: 2042
    functionName: getbits_planar_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - memcpy
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int getbits_planar_line(gx_downscale_liner *liner_, void *output, int
      row)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - liner_
    - mem
    argTypes:
    - gx_downscale_liner*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2044
    functionDepth: 0
    functionLinenumber: 2044
    functionLinenumberEnd: 2050
    functionName: getbits_planar_drop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void getbits_planar_drop(gx_downscale_liner *liner_, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ClapTrap_GetLine
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2065,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - liner_
    - buffer
    - row
    argTypes:
    - gx_downscale_liner*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2066
      start: 2060
    functionDepth: 0
    functionLinenumber: 2060
    functionLinenumberEnd: 2066
    functionName: claptrap_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - ClapTrap_GetLine
    linkageType: ''
    returnType: int
    signature: int claptrap_line(gx_downscale_liner *liner_, void *buffer, int row)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ClapTrap_Fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2076,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2078,1
    - Dst: gx_downscale_liner*::drop
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2080,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - liner_
    - mem
    argTypes:
    - gx_downscale_liner*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2081
      start: 2068
    functionDepth: 1
    functionLinenumber: 2068
    functionLinenumberEnd: 2081
    functionName: claptrap_drop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gx_downscale_liner*::drop
    - ClapTrap_Fin
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void claptrap_drop(gx_downscale_liner *liner_, gs_memory_t *mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cal_deskewer_band_pull
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2106,1
    - Dst: liner_skew*::chain::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2110,1
    - Dst: cal_deskewer_band_push
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2115,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - liner_
    - buffer
    - row
    argTypes:
    - gx_downscale_liner*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2120
      start: 2094
    functionDepth: 0
    functionLinenumber: 2094
    functionLinenumberEnd: 2120
    functionName: skew_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - cal_deskewer_band_pull
    - liner_skew*::chain::get_line
    - cal_deskewer_band_push
    linkageType: ''
    returnType: int
    signature: int skew_line(gx_downscale_liner *liner_, void *buffer, int row)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cal_deskewer_band_end
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2130,1
    - Dst: cal_deskewer_fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2131,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2133,1
    - Dst: gx_downscale_liner*::drop
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2135,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - liner_
    - mem
    argTypes:
    - gx_downscale_liner*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2136
      start: 2122
    functionDepth: 0
    functionLinenumber: 2122
    functionLinenumberEnd: 2136
    functionName: skew_drop
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - cal_deskewer_fin
    - gx_downscale_liner*::drop
    - cal_deskewer_band_end
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void skew_drop(gx_downscale_liner *liner_, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - mem
    - ','
    - type
    - ','
    - get
    - ','
    - drop
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2139
    functionDepth: 0
    functionLinenumber: 2139
    functionLinenumberEnd: 2142
    functionName: alloc_liner
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: alloc_liner(mem, type, get, drop, res)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2151,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - mem
    - size
    - type
    - res
    argTypes:
    - gs_memory_t*
    - size_t
    - char*
    - gx_downscale_liner**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2158
    functionName: do_alloc_liner
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: "int do_alloc_liner(gs_memory_t *mem, size_t size, const char *type,\n
      \              int (*get_line)(gx_downscale_liner *, void *, int),\n               void
      (*drop)(gx_downscale_liner *, gs_memory_t *),\n               gx_downscale_liner
      **res)"
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2171,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2172,1
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2181,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2185,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2194,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2202,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2206,1
    - Dst: alloc_liner
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2217,1
    - Dst: check_trapping
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2229,1
    - Dst: alloc_liner
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2237,1
    - Dst: ClapTrap_Init
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2250,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2260,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2261,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2266,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2269,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2273,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2278,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2282,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2292,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2322,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2326,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2329,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2332,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2336,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2339,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2345,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 134
    argCount: 10
    argNames:
    - ds
    - dev
    - src_bpc
    - dst_bpc
    - num_comps
    - params
    - gb_params
    - apply_cm
    - apply_cm_arg
    - post_cm_num_comps
    argTypes:
    - gx_downscaler_t*
    - gx_device*
    - int
    - int
    - int
    - gx_downscaler_params*
    - gs_get_bits_params_t*
    - gx_downscale_cm_fn*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2347
      start: 2160
    functionDepth: 2
    functionLinenumber: 2160
    functionLinenumberEnd: 2347
    functionName: gx_downscaler_init_planar_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 1
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - check_trapping
    - memset
    - ClapTrap_Init
    - emprintf
    - memcpy
    - gx_downscaler_decode_factor
    - gs_note_error
    - bitmap_raster
    - alloc_liner
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_init_planar_cm(gx_downscaler_t      *ds,\n                                 gx_device
      \           *dev,\n                                 int                   src_bpc,\n
      \                                int                   dst_bpc,\n                                 int
      \                  num_comps,\n                           const gx_downscaler_params
      *params,\n                           const gs_get_bits_params_t *gb_params,\n
      \                                gx_downscale_cm_fn   *apply_cm,\n                                 void
      \                *apply_cm_arg,\n                                 int                   post_cm_num_comps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: liner_claptrap*::chain::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - buf
    argTypes:
    - void*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2349
    functionDepth: 0
    functionLinenumber: 2349
    functionLinenumberEnd: 2360
    functionName: get_line_for_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - liner_claptrap*::chain::get_line
    linkageType: ''
    returnType: int
    signature: int get_line_for_trap(void *arg, unsigned char *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_init_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 7
    argNames:
    - ds
    - dev
    - src_bpc
    - dst_bpc
    - num_comps
    - params
    - adjust_width
    argTypes:
    - gx_downscaler_t*
    - gx_device*
    - int
    - int
    - int
    - gx_downscaler_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2362
    functionDepth: 1
    functionLinenumber: 2362
    functionLinenumberEnd: 2374
    functionName: gx_downscaler_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 7
    functionsReached:
    - gx_downscaler_init_cm
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_init(gx_downscaler_t      *ds,\n                       gx_device
      \           *dev,\n                       int                   src_bpc,\n                       int
      \                  dst_bpc,\n                       int                   num_comps,\n
      \                const gx_downscaler_params *params,\n                       int
      \                (*adjust_width_proc)(int, int),\n                       int
      \                  adjust_width)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_init_cm_halftone
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 10
    argNames:
    - ds
    - dev
    - src_bpc
    - dst_bpc
    - num_comps
    - params
    - adjust_width
    - apply_cm
    - apply_cm_arg
    - post_cm_num_comps
    argTypes:
    - gx_downscaler_t*
    - gx_device*
    - int
    - int
    - int
    - gx_downscaler_params*
    - int
    - gx_downscale_cm_fn*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2378
    functionDepth: 1
    functionLinenumber: 2378
    functionLinenumberEnd: 2396
    functionName: gx_downscaler_init_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 5
    functionsReached:
    - gx_downscaler_init_cm_halftone
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_init_cm(gx_downscaler_t      *ds,\n                          gx_device
      \           *dev,\n                          int                   src_bpc,\n
      \                         int                   dst_bpc,\n                          int
      \                  num_comps,\n                    const gx_downscaler_params
      *params,\n                          int                 (*adjust_width_proc)(int,
      int),\n                          int                   adjust_width,\n                          gx_downscale_cm_fn
      \  *apply_cm,\n                          void                 *apply_cm_arg,\n
      \                         int                   post_cm_num_comps)"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - nc
    - factor
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2398
    functionDepth: 0
    functionLinenumber: 2398
    functionLinenumberEnd: 2420
    functionName: select_8_to_8_core
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_downscale_core
    signature: 'gx_downscale_core *

      select_8_to_8_core(int nc, int factor)'
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_bytes_per_scan_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2456,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2457,1
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2459,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2472,1
    - Dst: alloc_liner
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2493,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2512,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2514,1
    - Dst: cal_skew_init
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2515,1
    - Dst: gx_downscaler_t*::liner::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2521,1
    - Dst: cal_skew_process
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2534,1
    - Dst: cal_skew_detect
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2537,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2538,1
    - Dst: cal_skew_fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2539,1
    - Dst: alloc_liner
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2547,1
    - Dst: cal_deskewer_init
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2559,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2571,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2572,1
    - Dst: cal_deskewer_band_begin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2575,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2579,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2580,1
    - Dst: check_trapping
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2587,1
    - Dst: alloc_liner
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2595,1
    - Dst: ClapTrap_Init
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2606,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2616,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2617,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2630,1
    - Dst: init_ets
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2643,1
    - Dst: select_8_to_8_core
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2643,1
    - Dst: init_ht
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2650,1
    - Dst: select_8_to_8_core
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2650,1
    - Dst: init_ets
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2664,1
    - Dst: select_8_to_8_core
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2664,1
    - Dst: select_8_to_8_core
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2683,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2695,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2701,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2705,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2711,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2715,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2721,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2725,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2728,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2731,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2735,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2738,1
    - Dst: gx_downscaler_fin
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2745,1
    CyclomaticComplexity: 82
    EdgeCount: 82
    ICount: 212
    argCount: 11
    argNames:
    - ds
    - dev
    - src_bpc
    - dst_bpc
    - num_comps
    - params
    - adjust_width
    - apply_cm
    - apply_cm_arg
    - post_cm_num_comps
    - ht
    argTypes:
    - gx_downscaler_t*
    - gx_device*
    - int
    - int
    - int
    - gx_downscaler_params*
    - int
    - gx_downscale_cm_fn*
    - void*
    - int
    - gx_downscaler_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2747
      start: 2428
    functionDepth: 3
    functionLinenumber: 2428
    functionLinenumberEnd: 2747
    functionName: gx_downscaler_init_cm_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - gx_downscaler_fin
    - gs_alloc_bytes
    - emprintf
    - check_trapping
    - select_8_to_8_core
    - cal_deskewer_band_begin
    - gx_downscaler_t*::liner::get_line
    - memset
    - cal_skew_detect
    - init_ets
    - gx_downscaler_decode_factor
    - gs_note_error
    - cal_skew_fin
    - gs_free_object
    - cal_skew_init
    - cal_deskewer_init
    - cal_skew_process
    - alloc_liner
    - ClapTrap_Init
    - gdev_mem_bytes_per_scan_line
    - init_ht
    - return_error
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_init_cm_halftone(gx_downscaler_t      *ds,\n                               gx_device
      \           *dev,\n                               int                   src_bpc,\n
      \                              int                   dst_bpc,\n                               int
      \                  num_comps,\n                         const gx_downscaler_params
      *params,\n                               int                 (*adjust_width_proc)(int,
      int),\n                               int                   adjust_width,\n
      \                              gx_downscale_cm_fn   *apply_cm,\n                               void
      \                *apply_cm_arg,\n                               int                   post_cm_num_comps,\n
      \                              gx_downscaler_ht_t   *ht)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2757,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2759,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2766,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2768,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2770,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2772,1
    - Dst: gx_downscaler_t*::liner::drop
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2777,1
    - Dst: ets_destroy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - ds
    argTypes:
    - gx_downscaler_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2749
    functionDepth: 1
    functionLinenumber: 2749
    functionLinenumberEnd: 2783
    functionName: gx_downscaler_fin
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 12
    functionsReached:
    - gx_downscaler_t*::liner::drop
    - ets_destroy
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_downscaler_fin(gx_downscaler_t *ds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2795,1
    - Dst: gx_downscaler_t*::liner::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2799,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2806,1
    - Dst: gx_downscaler_t*::liner::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2816,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2825,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2832,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 3
    argNames:
    - ds
    - out_data
    - row
    argTypes:
    - gx_downscaler_t*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2840
      start: 2786
    functionDepth: 1
    functionLinenumber: 2786
    functionLinenumberEnd: 2840
    functionName: gx_downscaler_getbits
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 8
    functionsReached:
    - gx_downscaler_decode_factor
    - gx_downscaler_t*::apply_cm
    - gx_downscaler_t*::liner::get_line
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_getbits(gx_downscaler_t *ds,\n                          byte
      \           *out_data,\n                          int              row)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2861,1
    - Dst: gx_downscaler_t*::liner::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2887,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2898,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2908,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2918,1
    - Dst: gx_downscaler_t*::liner::get_line
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2921,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2927,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2939,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2945,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2966,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2968,1
    - Dst: gx_downscaler_t*::apply_cm
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:2972,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 93
    argCount: 3
    argNames:
    - ds
    - params
    - row
    argTypes:
    - gx_downscaler_t*
    - gs_get_bits_params_t*
    - int
    assertStmts:
    - condition: (!ds->early_cm || ds->apply_cm == NULL)
      pos:
        line_end: 2965
        line_start: 2965
        source_file: /src/libspectre/ghostscript/base/gxdownscale.c
    constantsTouched: []
    func_position:
      end: 2978
      start: 2843
    functionDepth: 1
    functionLinenumber: 2843
    functionLinenumberEnd: 2978
    functionName: gx_downscaler_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - gx_downscaler_t*::apply_cm
    - assert
    - gx_downscaler_t*::liner::get_line
    - memcpy
    - gx_downscaler_decode_factor
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_get_bits_rectangle(gx_downscaler_t      *ds,\n                                     gs_get_bits_params_t
      *params,\n                                     int                   row)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3002,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3004,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3005,1
    - Dst: gx_default_create_buf_device
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3008,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3012,1
    - Dst: downscaler_process_page_arg_t*::orig_options::init_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3018,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3024,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3025,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 6
    argNames:
    - arg_
    - dev
    - memory
    - w
    - h
    - pbuffer
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - int
    - int
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3032
      start: 2996
    functionDepth: 2
    functionLinenumber: 2996
    functionLinenumberEnd: 3032
    functionName: downscaler_init_fn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - gx_default_create_buf_device
    - gs_alloc_bytes
    - downscaler_process_page_arg_t*::orig_options::init_buffer_fn
    - memset
    - return_error
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int downscaler_init_fn(void *arg_, gx_device *dev, gs_memory_t *memory,
      int w, int h, void **pbuffer)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3054,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3062,1
    - Dst: downscaler_process_page_arg_t*::ds::down_core
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3077,1
    - Dst: downscaler_process_page_arg_t*::orig_options::process_fn
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3087,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 5
    argNames:
    - arg_
    - dev
    - bdev
    - rect
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - gx_device*
    - gs_int_rect*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3092
      start: 3034
    functionDepth: 2
    functionLinenumber: 3034
    functionLinenumberEnd: 3092
    functionName: downscaler_process_fn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - downscaler_process_page_arg_t*::ds::down_core
    - downscaler_process_page_arg_t*::orig_options::process_fn
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int downscaler_process_fn(void *arg_, gx_device *dev, gx_device *bdev,
      const gs_int_rect *rect, void *buffer_)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: downscaler_process_page_arg_t*::orig_options::free_buffer_fn
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3100,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3103,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3104,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - arg_
    - dev
    - memory
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3105
      start: 3094
    functionDepth: 1
    functionLinenumber: 3094
    functionLinenumberEnd: 3105
    functionName: downscaler_free_fn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - downscaler_process_page_arg_t*::orig_options::free_buffer_fn
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void downscaler_free_fn(void *arg_, gx_device *dev, gs_memory_t *memory,
      void *buffer_)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: downscaler_process_page_arg_t*::orig_options::output_fn
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg_
    - dev
    - buffer_
    argTypes:
    - void*
    - gx_device*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3107
    functionDepth: 0
    functionLinenumber: 3107
    functionLinenumberEnd: 3115
    functionName: downscaler_output_fn
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 0
    functionsReached:
    - downscaler_process_page_arg_t*::orig_options::output_fn
    linkageType: ''
    returnType: int
    signature: int downscaler_output_fn(void *arg_, gx_device *dev, void *buffer_)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_downscaler_decode_factor
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3131,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3135,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3139,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3145,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3169,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - dev
    - options
    - factor
    argTypes:
    - gx_device*
    - gx_process_page_options_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3180
      start: 3119
    functionDepth: 1
    functionLinenumber: 3119
    functionLinenumberEnd: 3180
    functionName: gx_downscaler_process_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 1
    functionsReached:
    - gx_downscaler_decode_factor
    - gs_note_error
    - bitmap_raster
    - dev_proc
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_process_page(gx_device                 *dev,\n                               gx_process_page_options_t
      *options,\n                               int                        factor)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3194,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3206,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3210,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3222,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3228,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3238,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3245,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3258,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3261,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3274,1
    - Dst: param_read_int_array
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3277,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3284,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3323,1
    - Dst: param_signal_error
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3336,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 115
    argCount: 3
    argNames:
    - plist
    - params
    - features
    argTypes:
    - gs_param_list*
    - gx_downscaler_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3342
      start: 3182
    functionDepth: 1
    functionLinenumber: 3182
    functionLinenumberEnd: 3342
    functionName: gx_downscaler_read_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 12
    functionsReached:
    - param_signal_error
    - param_read_int
    - param_read_int_array
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_read_params(gs_param_list        *plist,\n                              gx_downscaler_params
      *params,\n                              int                   features)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3356,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3358,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3362,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3367,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3369,1
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3371,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3376,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - plist
    - params
    - features
    argTypes:
    - gs_param_list*
    - gx_downscaler_params*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3381
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3381
    functionName: gx_downscaler_write_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 12
    functionsReached:
    - param_write_int
    - param_write_int_array
    linkageType: ''
    returnType: int
    signature: "int gx_downscaler_write_params(gs_param_list        *plist,\n                               gx_downscaler_params
      *params,\n                               int                   features)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - malloc_arg
    - size
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3387
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3387
    functionName: ets_malloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *ets_malloc(void *malloc_arg, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ets_malloc
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3391,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - malloc_arg
    - count
    - size
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3389
    functionDepth: 2
    functionLinenumber: 3389
    functionLinenumberEnd: 3395
    functionName: ets_calloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 2
    functionsReached:
    - ets_malloc
    - memset
    linkageType: ''
    returnType: void
    signature: void *ets_calloc(void *malloc_arg, int count, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxdownscale.c:3402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - malloc_arg
    - p
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3403
      start: 3397
    functionDepth: 0
    functionLinenumber: 3397
    functionLinenumberEnd: 3403
    functionName: ets_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxdownscale.c
    functionUses: 4
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void ets_free(void *malloc_arg, void *p)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxclimag.c:67,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxclimag.c:123,1
    - Dst: is_neutral
      Src: /src/libspectre/ghostscript/base/gxclimag.c:124,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 2
    argNames:
    - pcs
    - pim
    argTypes:
    - gs_color_space*
    - gs_pixel_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 131
    functionName: palette_has_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - gs_cspace_indexed_lookup_bytes
    - is_neutral
    - gs_color_space_get_index
    linkageType: ''
    returnType: bool
    signature: bool palette_has_color(const gs_color_space *pcs, const gs_pixel_image_t
      * const pim)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclimag.c:155,1
    - Dst: lop_know_S_0
      Src: /src/libspectre/ghostscript/base/gxclimag.c:155,1
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclimag.c:156,1
    - Dst: lop_know_S_1
      Src: /src/libspectre/ghostscript/base/gxclimag.c:156,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:162,1
    - Dst: crop_copy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:164,1
    - Dst: check_rect_for_trivial_clip
      Src: /src/libspectre/ghostscript/base/gxclimag.c:176,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclimag.c:177,1
    - Dst: color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxclimag.c:178,1
    - Dst: gx_default_fill_mask
      Src: /src/libspectre/ghostscript/base/gxclimag.c:181,1
    - Dst: cmd_check_clip_path
      Src: /src/libspectre/ghostscript/base/gxclimag.c:185,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gxclimag.c:186,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclimag.c:198,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:200,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:205,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclimag.c:206,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:212,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclimag.c:217,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclimag.c:219,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:222,1
    - Dst: cmd_set_color1
      Src: /src/libspectre/ghostscript/base/gxclimag.c:227,1
    - Dst: cls_has_tile_id
      Src: /src/libspectre/ghostscript/base/gxclimag.c:232,1
    - Dst: clist_change_bits
      Src: /src/libspectre/ghostscript/base/gxclimag.c:242,1
    - Dst: cmd_sizexy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:257,1
    - Dst: cmd_sizew
      Src: /src/libspectre/ghostscript/base/gxclimag.c:258,1
    - Dst: cmd_put_set_data_x
      Src: /src/libspectre/ghostscript/base/gxclimag.c:260,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:264,1
    - Dst: cmd_putw
      Src: /src/libspectre/ghostscript/base/gxclimag.c:276,1
    - Dst: cmd_putxy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:278,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 83
    argCount: 13
    argNames:
    - dev
    - data
    - data_x
    - raster
    - id
    - rx
    - ry
    - rwidth
    - rheight
    - pdcolor
    - depth
    - lop
    - pcpath
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_drawing_color*
    - int
    - gs_logical_operation_t
    - gx_clip_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 136
    functionDepth: 5
    functionLinenumber: 136
    functionLinenumberEnd: 287
    functionName: clist_fill_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - check_rect_for_trivial_clip
    - cmd_update_lop
    - gx_default_fill_mask
    - clist_update_trans_bbox
    - cmd_putxy
    - gs_debug_c
    - color_writes_pure
    - set_cmd_put_op
    - RECT_ENUM_INIT
    - cmd_do_write_unknown
    - cmd_put_set_data_x
    - lop_know_S_0
    - cmd_sizexy
    - cmd_putw
    - lop_know_S_1
    - clist_change_bits
    - cmd_sizew
    - cmd_check_clip_path
    - cmd_do_enable_clip
    - crop_copy
    - cls_has_tile_id
    - cmd_slow_rop
    - cmd_put_drawing_color
    - cmd_clear_known
    - RECT_STEP_INIT
    - return_error
    - cmd_set_color1
    linkageType: ''
    returnType: int
    signature: "int clist_fill_mask(gx_device * dev,\n                const byte *
      data, int data_x, int raster, gx_bitmap_id id,\n                int rx, int
      ry, int rwidth, int rheight,\n                const gx_drawing_color * pdcolor,
      int depth,\n                gs_logical_operation_t lop, const gx_clip_path *
      pcpath)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_neutral
      Src: /src/libspectre/ghostscript/base/gxclimag.c:371,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - data_ptr
    - pie_c
    - data_size
    - width
    argTypes:
    - byte*
    - clist_image_enum*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 378
    functionName: row_has_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - is_neutral
    linkageType: ''
    returnType: bool
    signature: bool row_has_color(byte *data_ptr, clist_image_enum *pie_c, int data_size,
      int width)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:422,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:425,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:426,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:426,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gxclimag.c:428,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:429,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:429,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:435,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:435,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:436,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxclimag.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 1
    argNames:
    - pmat
    argTypes:
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 438
    functionName: image_matrix_ok_to_band
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - is_xxyy
    - fabs
    - is_xyyx
    linkageType: ''
    returnType: bool
    signature: bool image_matrix_ok_to_band(const gs_matrix * pmat)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclimag.c:483,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gxclimag.c:496,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:500,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclimag.c:512,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxclimag.c:528,1
    - Dst: gs_color_space_indexed_base_space
      Src: /src/libspectre/ghostscript/base/gxclimag.c:531,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxclimag.c:534,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxclimag.c:538,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gxclimag.c:541,1
    - Dst: rop3_uses_S
      Src: /src/libspectre/ghostscript/base/gxclimag.c:541,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gxclimag.c:543,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gxclimag.c:573,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxclimag.c:574,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxclimag.c:574,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:576,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gxclimag.c:576,1
    - Dst: image_matrix_ok_to_band
      Src: /src/libspectre/ghostscript/base/gxclimag.c:577,1
    - Dst: gx_dc_is_pattern1_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:581,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxclimag.c:581,1
    - Dst: gx_dc_is_pure
      Src: /src/libspectre/ghostscript/base/gxclimag.c:582,1
    - Dst: gx_dc_is_pattern1_color_clist_based
      Src: /src/libspectre/ghostscript/base/gxclimag.c:583,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:633,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxclimag.c:634,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/base/gxclimag.c:660,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/base/gxclimag.c:679,1
    - Dst: gsicc_get_icc_buff_hash
      Src: /src/libspectre/ghostscript/base/gxclimag.c:729,1
    - Dst: clist_icc_addentry
      Src: /src/libspectre/ghostscript/base/gxclimag.c:743,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:754,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gxclimag.c:767,1
    - Dst: check_rect_for_trivial_clip
      Src: /src/libspectre/ghostscript/base/gxclimag.c:770,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:771,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:771,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:772,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:772,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:785,1
    - Dst: gsicc_extract_profile
      Src: /src/libspectre/ghostscript/base/gxclimag.c:788,1
    - Dst: get_unpack_proc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:800,1
    - Dst: get_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:802,1
    - Dst: gsicc_mcm_end_monitor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:806,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclimag.c:813,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:815,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:817,1
    - Dst: palette_has_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:823,1
    - Dst: gsicc_mcm_end_monitor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:826,1
    - Dst: gx_device_must_halftone
      Src: /src/libspectre/ghostscript/base/gxclimag.c:834,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:837,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:837,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:838,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:838,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclimag.c:841,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxclimag.c:843,1
    - Dst: begin_image_command
      Src: /src/libspectre/ghostscript/base/gxclimag.c:850,1
    - Dst: gx_color_usage_all
      Src: /src/libspectre/ghostscript/base/gxclimag.c:862,1
    - Dst: cs_proc_remap_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:868,1
    - Dst: remap_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:877,1
    - Dst: cmd_drawing_color_usage
      Src: /src/libspectre/ghostscript/base/gxclimag.c:879,1
    - Dst: cmd_slow_rop
      Src: /src/libspectre/ghostscript/base/gxclimag.c:885,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:892,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:893,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxclimag.c:897,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:898,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:898,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclimag.c:898,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:899,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:899,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxclimag.c:899,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:901,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:902,1
    - Dst: cmd_clear_known
      Src: /src/libspectre/ghostscript/base/gxclimag.c:911,1
    - Dst: clist_image_unknowns
      Src: /src/libspectre/ghostscript/base/gxclimag.c:911,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:930,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:931,1
    - Dst: gx_default_begin_typed_image
      Src: /src/libspectre/ghostscript/base/gxclimag.c:937,1
    CyclomaticComplexity: 94
    EdgeCount: 94
    ICount: 288
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 940
    functionName: clist_begin_typed_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - gsicc_get_icc_buff_hash
    - check_rect_for_trivial_clip
    - gsicc_mcm_end_monitor
    - gs_alloc_bytes
    - gx_dc_is_pattern1_color_clist_based
    - max
    - gsicc_get_default_type
    - clist_image_unknowns
    - image_matrix_ok_to_band
    - gs_alloc_struct_immovable
    - gs_color_space_get_index
    - gs_debug_c
    - gs_matrix_multiply
    - get_unpack_proc
    - rop3_uses_T
    - get_map
    - ctm_only
    - cs_proc_remap_color
    - remap_color
    - cmd_drawing_color_usage
    - gx_image_enum_common_init
    - gsicc_extract_profile
    - gx_cpath_outer_box
    - memset
    - begin_image_command
    - clist_icc_addentry
    - gs_matrix_invert
    - min
    - gs_bbox_transform
    - gs_free_object
    - gx_device_must_halftone
    - gx_dc_is_pure
    - gx_default_begin_typed_image
    - rop3_uses_S
    - gs_color_space_indexed_base_space
    - fixed2int
    - floor
    - gx_dc_is_pattern1_color
    - dev_proc
    - palette_has_color
    - cmd_slow_rop
    - gs_color_space_num_components
    - is_xxyy
    - cmd_clear_known
    - ceil
    - return_error
    - gx_color_usage_all
    - bitmap_raster
    - is_xyyx
    linkageType: ''
    returnType: int
    signature: "int clist_begin_typed_image(gx_device * dev, const gs_gstate * pgs,\n
      \                       const gs_matrix * pmat, const gs_image_common_t * pic,\n
      \                       const gs_int_rect * prect, const gx_drawing_color *
      pdcolor,\n                        const gx_clip_path * pcpath, gs_memory_t *
      mem,\n                        gx_image_enum_common_t ** pinfo)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write_image_end_all
      Src: /src/libspectre/ghostscript/base/gxclimag.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dev
    - pie
    - yh_used
    - code
    argTypes:
    - gx_device*
    - clist_image_enum*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 943
    functionDepth: 1
    functionLinenumber: 943
    functionLinenumberEnd: 958
    functionName: clist_image_plane_data_retry_cleanup
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - write_image_end_all
    linkageType: ''
    returnType: int
    signature: int clist_image_plane_data_retry_cleanup(gx_device *dev, clist_image_enum
      *pie, int yh_used, int code)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:972,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/base/gxclimag.c:981,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:984,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:994,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1001,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1014,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1015,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1034,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1034,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1043,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1044,1
    - Dst: clist_update_trans_bbox
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1048,1
    - Dst: cmd_check_clip_path
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1052,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1054,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1059,1
    - Dst: image_band_box
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1065,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1073,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1074,1
    - Dst: image_band_box
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1076,1
    - Dst: cmd_put_color_mapping
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1095,1
    - Dst: cmd_do_write_unknown
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1104,1
    - Dst: cmd_do_enable_clip
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1107,1
    - Dst: cmd_update_lop
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1109,1
    - Dst: cmd_put_drawing_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1122,1
    - Dst: clist_image_enum*::dcolor::type::get_phase
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1128,1
    - Dst: cmd_set_tile_phase_generic
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1131,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1140,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1141,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1146,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1149,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1191,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1199,1
    - Dst: cmd_image_plane_data_mon
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1201,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1208,1
    - Dst: gsicc_mcm_end_monitor
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1210,1
    - Dst: cmd_image_plane_data
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1214,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1225,1
    - Dst: cmd_image_plane_data
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1226,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 131
    argCount: 4
    argNames:
    - info
    - planes
    - yh
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1240
    functionName: clist_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - cmd_update_lop
    - gsicc_mcm_end_monitor
    - image_band_box
    - clist_image_enum*::dcolor::type::get_phase
    - cmd_put_color_mapping
    - lprintf2
    - max
    - clist_update_trans_bbox
    - set_cmd_put_op
    - cmd_image_plane_data_mon
    - RECT_ENUM_INIT
    - cmd_set_tile_phase_generic
    - min
    - cmd_do_write_unknown
    - gs_bbox_transform
    - floor
    - cmd_check_clip_path
    - dev_proc
    - cmd_do_enable_clip
    - cmd_put2w
    - ROUND_UP
    - cmd_put_drawing_color
    - memcpy
    - RECT_STEP_INIT
    - ceil
    - return_error
    - cmd_image_plane_data
    linkageType: ''
    returnType: int
    signature: "int clist_image_plane_data(gx_image_enum_common_t * info,\n                       const
      gx_image_plane_t * planes, int yh,\n                       int *rows_used)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1254,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1256,1
    - Dst: write_image_end_all
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1259,1
    - Dst: gx_image_free_enum
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1263
    functionName: clist_image_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - return_error
    - gx_image_free_enum
    - write_image_end_all
    - lprintf2
    linkageType: ''
    returnType: int
    signature: int clist_image_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: gs_composite_t*::type::procs::write
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1279,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1282,1
    - Dst: gs_composite_t*::type::procs::clist_compositor_write_update
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1290,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1295,1
    - Dst: gs_composite_t*::type::procs::get_cropping
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1297,1
    - Dst: CMD_CHECK_LAST_OP_BLOCK_DEFINED
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1299,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1324,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1328,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1330,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1335,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1345,1
    - Dst: gs_composite_t*::type::procs::write
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1357,1
    - Dst: clist_writer_push_cropping
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1362,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1369,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1370,1
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1380,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1382,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1383,1
    - Dst: gs_composite_t*::type::procs::write
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1388,1
    - Dst: clist_writer_pop_cropping
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1395,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 78
    argCount: 6
    argNames:
    - dev
    - pcdev
    - pcte
    - pgs
    - mem
    - cldev
    argTypes:
    - gx_device*
    - gx_device**
    - gs_composite_t*
    - gs_gstate*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1266
    functionDepth: 3
    functionLinenumber: 1266
    functionLinenumberEnd: 1401
    functionName: clist_create_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 2
    functionsReached:
    - gs_composite_t*::type::procs::get_cropping
    - gs_debug_c
    - set_cmd_put_op
    - clist_writer_pop_cropping
    - gs_composite_t*::type::procs::write
    - clist_writer_push_cropping
    - dmprintf2
    - RECT_ENUM_INIT
    - set_cmd_put_all_op
    - max
    - CMD_CHECK_LAST_OP_BLOCK_DEFINED
    - dmprintf1
    - gs_composite_t*::type::procs::clist_compositor_write_update
    - RECT_STEP_INIT
    - min
    linkageType: ''
    returnType: int
    signature: "int clist_create_compositor(gx_device * dev,\n                        gx_device
      ** pcdev, const gs_composite_t * pcte,\n                        gs_gstate *
      pgs, gs_memory_t * mem, gx_device *cldev)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1416,1
    - Dst: cmd_size_w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1417,1
    - Dst: cmd_put_w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1420,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - cldev
    - pcls
    - data_x
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1428
    functionName: cmd_put_set_data_x
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - cmd_put_w
    - cmd_size_w
    - set_cmd_put_op
    linkageType: ''
    returnType: int
    signature: "int cmd_put_set_data_x(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                   int data_x)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gx_ht_write
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1438,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1466,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1469,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1473,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1481,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1485,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1491,1
    - Dst: gx_ht_write
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1496,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1499,1
    - Dst: enc_u_sizew
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1525,1
    - Dst: set_cmd_put_all_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1526,1
    - Dst: enc_u_putw
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1530,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1531,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1536,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 2
    argNames:
    - cldev
    - pdht
    argTypes:
    - gx_device_clist_writer*
    - gx_device_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1544
      start: 1431
    functionDepth: 4
    functionLinenumber: 1431
    functionLinenumberEnd: 1544
    functionName: cmd_put_halftone
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 2
    functionsReached:
    - gs_alloc_bytes
    - enc_u_putw
    - enc_u_sizew
    - set_cmd_put_all_op
    - gx_ht_write
    - memcpy
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int cmd_put_halftone(gx_device_clist_writer * cldev, const gx_device_halftone
      * pdht)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: cmd_put_halftone
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1556,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1562,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1567,1
    - Dst: get_id
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1589,1
    - Dst: get_id
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1590,1
    - Dst: get_id
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1591,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1595,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1613,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1618,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1623,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1630,1
    - Dst: cmd_put_color_map
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1637,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 49
    argCount: 2
    argNames:
    - cldev
    - pgs
    argTypes:
    - gx_device_clist_writer*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1547
    functionDepth: 5
    functionLinenumber: 1547
    functionLinenumberEnd: 1646
    functionName: cmd_put_color_mapping
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 2
    functionsReached:
    - countof
    - cmd_put_color_map
    - get_id
    - cmd_put_halftone
    linkageType: ''
    returnType: int
    signature: "int cmd_put_color_mapping(gx_device_clist_writer * cldev,\n                      const
      gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pgs
    - ','
    - color
    - ','
    - color_num
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1584
    functionDepth: 0
    functionLinenumber: 1584
    functionLinenumberEnd: 1588
    functionName: get_id
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: get_id(pgs, color, color_num)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1656
      start: 1655
    functionDepth: 0
    functionLinenumber: 1655
    functionLinenumberEnd: 1656
    functionName: I_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_FLOOR(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1657
    functionName: I_CEIL
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: I_CEIL(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: I_FLOOR
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1662,1
    - Dst: I_CEIL
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1664,1
    - Dst: I_FLOOR
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1666,1
    - Dst: I_CEIL
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - pbox
    - x
    - y
    argTypes:
    - gs_int_rect*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1657
    functionDepth: 1
    functionLinenumber: 1657
    functionLinenumberEnd: 1670
    functionName: box_merge_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 0
    functionsReached:
    - I_FLOOR
    - I_CEIL
    linkageType: ''
    returnType: void
    signature: void box_merge_point(gs_int_rect * pbox, double x, double y)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1675,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1676,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1684,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1686,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1687,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1688,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1688,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1689,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1689,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1696,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1697,1
    - Dst: dmlprintf10
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1699,1
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1705,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1705,1
    - Dst: gs_bbox_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1713,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1715,1
    - Dst: I_FLOOR
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1715,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1716,1
    - Dst: I_CEIL
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1716,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1717,1
    - Dst: I_FLOOR
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1717,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1718,1
    - Dst: I_CEIL
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1718,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1744,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1746,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1748,1
    - Dst: gs_point_transform_inverse
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1750,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1753,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1771,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1775,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1779,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1788,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1790,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1791,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1793,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1795,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1796,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1801,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1803,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1804,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1806,1
    - Dst: in_range
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1808,1
    - Dst: box_merge_point
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1809,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1814,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 73
    argCount: 5
    argNames:
    - dev
    - pie
    - y
    - h
    - pbox
    argTypes:
    - gx_device*
    - clist_image_enum*
    - int
    - int
    - gs_int_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1671
    functionDepth: 2
    functionLinenumber: 1671
    functionLinenumberEnd: 1829
    functionName: image_band_box
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - I_FLOOR
    - max
    - I_CEIL
    - gs_debug_c
    - in_range
    - if_debug4m
    - gs_point_transform
    - min
    - dmlprintf10
    - box_merge_point
    - dev_proc
    - int2fixed
    - if_debug0m
    - gs_bbox_transform_inverse
    - if_debug3m
    - dmlprintf6
    - is_xxyy
    - gs_point_transform_inverse
    - is_xyyx
    - fixed2float
    linkageType: ''
    returnType: bool
    signature: "bool image_band_box(gx_device * dev, const clist_image_enum * pie,
      int y, int h,\n               gs_int_rect * pbox)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - t
    - ','
    - tc
    - ','
    - p
    - ','
    - q
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1783
    functionDepth: 0
    functionLinenumber: 1783
    functionLinenumberEnd: 1785
    functionName: in_range
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: in_range(t, tc, p, q)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cmd_check_clip_path
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1871,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 41
    argCount: 2
    argNames:
    - dev
    - pie
    argTypes:
    - gx_device*
    - clist_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1904
      start: 1832
    functionDepth: 1
    functionLinenumber: 1832
    functionLinenumberEnd: 1904
    functionName: clist_image_unknowns
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - cmd_check_clip_path
    linkageType: ''
    returnType: uint
    signature: uint clist_image_unknowns(gx_device *dev, const clist_image_enum *pie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1919,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1920,1
    - Dst: swrite_string
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1921,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1922,1
    - Dst: gs_image_common_t*::type::sput
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1923,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1924,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - buf_size
    - pic
    argTypes:
    - byte*
    - uint
    - gs_image_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1925
    functionName: begin_image_command
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - gs_image_common_t*::type::sput
    - sputc
    - stell
    - swrite_string
    - return_error
    - s_init
    linkageType: ''
    returnType: int
    signature: int begin_image_command(byte *buf, uint buf_size, const gs_image_common_t
      *pic)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cmd_size2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1937,1
    - Dst: cmd_put_set_data_x
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1944,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1949,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1953,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 8
    argNames:
    - cldev
    - pcls
    - planes
    - pie
    - bytes_per_plane
    - offsets
    - dx
    - h
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_image_plane_t*
    - gx_image_enum_common_t*
    - uint
    - uint*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1963
    functionName: cmd_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_put_set_data_x
    - set_cmd_put_op
    - cmd_size2w
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int cmd_image_plane_data(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                     const gx_image_plane_t * planes,\n                     const
      gx_image_enum_common_t * pie,\n                     uint bytes_per_plane, const
      uint * offsets,\n                     int dx, int h)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cmd_size2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1976,1
    - Dst: cmd_put_set_data_x
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1989,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1994,1
    - Dst: cmd_put2w
      Src: /src/libspectre/ghostscript/base/gxclimag.c:1999,1
    - Dst: row_has_color
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2018,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2025,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 9
    argNames:
    - cldev
    - pcls
    - planes
    - pie
    - bytes_per_plane
    - offsets
    - dx
    - h
    - found_color
    argTypes:
    - gx_device_clist_writer*
    - gx_clist_state*
    - gx_image_plane_t*
    - gx_image_enum_common_t*
    - uint
    - uint*
    - int
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 1966
    functionDepth: 2
    functionLinenumber: 1966
    functionLinenumberEnd: 2031
    functionName: cmd_image_plane_data_mon
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 1
    functionsReached:
    - cmd_put2w
    - cmd_put_set_data_x
    - set_cmd_put_op
    - cmd_size2w
    - memcpy
    - row_has_color
    linkageType: ''
    returnType: int
    signature: "int cmd_image_plane_data_mon(gx_device_clist_writer * cldev, gx_clist_state
      * pcls,\n                     const gx_image_plane_t * planes,\n                     const
      gx_image_enum_common_t * pie,\n                     uint bytes_per_plane, const
      uint * offsets,\n                     int dx, int h, bool *found_color)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RECT_ENUM_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2052,1
    - Dst: RECT_STEP_INIT
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2056,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2058,1
    - Dst: set_cmd_put_op
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2059,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2068,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - dev
    - pie
    argTypes:
    - gx_device*
    - clist_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2034
    functionDepth: 1
    functionLinenumber: 2034
    functionLinenumberEnd: 2071
    functionName: write_image_end_all
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 2
    functionsReached:
    - if_debug1m
    - set_cmd_put_op
    - RECT_ENUM_INIT
    - RECT_STEP_INIT
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int write_image_end_all(gx_device *dev, const clist_image_enum *pie)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2090,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2091,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2092,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2093,1
    - Dst: gx_cpath_includes_rectangle
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2094,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxclimag.c:2099,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 5
    argNames:
    - pcpath
    - px
    - py
    - qx
    - qy
    argTypes:
    - gx_clip_path*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2078
    functionDepth: 2
    functionLinenumber: 2078
    functionLinenumberEnd: 2102
    functionName: check_rect_for_trivial_clip
    functionSourceFile: /src/libspectre/ghostscript/base/gxclimag.c
    functionUses: 2
    functionsReached:
    - gx_cpath_includes_rectangle
    - int2fixed
    - gx_cpath_outer_box
    linkageType: ''
    returnType: bool
    signature: "bool check_rect_for_trivial_clip(\n    const gx_clip_path *pcpath,
      /* May be NULL, clip to evaluate */\n    int px, int py, int qx, int qy      /*
      corners of box to test */\n)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:42,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:47,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:48,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxclpage.c:63,1
    - Dst: gs_getdeviceparams
      Src: /src/libspectre/ghostscript/base/gxclpage.c:64,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxclpage.c:68,1
    - Dst: gs_param_list_serialize
      Src: /src/libspectre/ghostscript/base/gxclpage.c:69,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:73,1
    - Dst: gs_param_list_serialize
      Src: /src/libspectre/ghostscript/base/gxclpage.c:79,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxclpage.c:82,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclpage.c:89,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:95,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:98,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:100,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:104,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 3
    argNames:
    - pdev
    - page
    - save_files
    argTypes:
    - gx_device_printer*
    - gx_saved_page*
    - clist_file_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 110
    functionName: do_page_save
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_alloc_bytes
    - strncpy
    - memcpy
    - gs_param_list_serialize
    - gs_c_param_list_read
    - gs_c_param_list_write
    - gs_getdeviceparams
    - gs_c_param_list_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int do_page_save(gx_device_printer * pdev, gx_saved_page * page, clist_file_ptr
      *save_files)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PRINTER_IS_CLIST
      Src: /src/libspectre/ghostscript/base/gxclpage.c:121,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:122,1
    - Dst: clist_end_page
      Src: /src/libspectre/ghostscript/base/gxclpage.c:124,1
    - Dst: gx_device_clist*::common::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:125,1
    - Dst: gx_device_clist*::common::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:126,1
    - Dst: do_page_save
      Src: /src/libspectre/ghostscript/base/gxclpage.c:129,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - pdev
    - page
    argTypes:
    - gx_device_printer*
    - gx_saved_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 130
    functionName: gdev_prn_save_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - PRINTER_IS_CLIST
    - do_page_save
    - return_error
    - clist_end_page
    - gx_device_clist*::common::page_info::io_procs::fclose
    linkageType: ''
    returnType: int
    signature: int gdev_prn_save_page(gx_device_printer * pdev, gx_saved_page * page)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxclpage.c:149,1
    - Dst: gx_color_info_equal
      Src: /src/libspectre/ghostscript/base/gxclpage.c:150,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:152,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:162,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:166,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclpage.c:179,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::unlink
      Src: /src/libspectre/ghostscript/base/gxclpage.c:188,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::unlink
      Src: /src/libspectre/ghostscript/base/gxclpage.c:189,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:190,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 3
    argNames:
    - pdev
    - ppages
    - count
    argTypes:
    - gx_device_printer*
    - gx_placed_page*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 195
    functionName: gdev_prn_render_pages
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - strcmp
    - gx_device_clist_reader*::page_info::io_procs::unlink
    - return_error
    - dev_proc
    - gx_color_info_equal
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gdev_prn_render_pages(gx_device_printer * pdev,\n                      const
      gx_placed_page * ppages, int count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:207,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxclpage.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 217
    functionName: gx_saved_pages_list_new
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - memset
    - gs_alloc_bytes
    linkageType: ''
    returnType: gx_saved_pages_list
    signature: 'gx_saved_pages_list *

      gx_saved_pages_list_new(gx_device_printer *pdev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:235,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:238,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:241,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:244,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:245,1
    - Dst: gdev_prn_save_page
      Src: /src/libspectre/ghostscript/base/gxclpage.c:248,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:249,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 1
    argNames:
    - pdev
    argTypes:
    - gx_device_printer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 226
    functionDepth: 3
    functionLinenumber: 226
    functionLinenumberEnd: 267
    functionName: gx_saved_pages_list_add
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 1
    functionsReached:
    - return_error
    - gdev_prn_save_page
    - gs_free_object
    - gs_alloc_bytes
    linkageType: ''
    returnType: int
    signature: int gx_saved_pages_list_add(gx_device_printer * pdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_saved_page*::io_procs::unlink
      Src: /src/libspectre/ghostscript/base/gxclpage.c:281,1
    - Dst: gx_saved_page*::io_procs::unlink
      Src: /src/libspectre/ghostscript/base/gxclpage.c:282,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:283,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:284,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:287,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:292,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - gx_saved_pages_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 293
    functionName: gx_saved_pages_list_free
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 1
    functionsReached:
    - gx_saved_page*::io_procs::unlink
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_saved_pages_list_free(gx_saved_pages_list *list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/libspectre/ghostscript/base/gxclpage.c:332,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 2
    argNames:
    - token
    - token_size
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 315
    functionDepth: 0
    functionLinenumber: 315
    functionLinenumberEnd: 338
    functionName: param_find_key
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    linkageType: ''
    returnType: saved_pages_key_enum
    signature: saved_pages_key_enum param_find_key(byte *token, int token_size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/base/gxclpage.c:354,1
    - Dst: isalnum
      Src: /src/libspectre/ghostscript/base/gxclpage.c:379,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 3
    argNames:
    - param
    - param_left
    - token_size
    argTypes:
    - byte*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 386
    functionName: param_parse_token
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - isalnum
    linkageType: ''
    returnType: byte
    signature: 'byte *

      param_parse_token(byte *param, int param_left, int *token_size)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/base/gxclpage.c:397,1
    - Dst: gs_param_list_unserialize
      Src: /src/libspectre/ghostscript/base/gxclpage.c:398,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/base/gxclpage.c:400,1
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gxclpage.c:401,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/base/gxclpage.c:402,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclpage.c:408,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxclpage.c:414,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxclpage.c:419,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:425,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gxclpage.c:430,1
    - Dst: CLIST_IS_WRITER
      Src: /src/libspectre/ghostscript/base/gxclpage.c:435,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclpage.c:436,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:440,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:442,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:461,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:462,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 3
    argNames:
    - pdev
    - page
    - save_files
    argTypes:
    - gx_device_printer*
    - gx_saved_page*
    - clist_file_ptr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 470
    functionName: do_page_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - gs_putdeviceparams
    - dev_proc
    - gs_param_list_unserialize
    - gs_alloc_bytes
    - CLIST_IS_WRITER
    - clist_close_writer_and_init_reader
    - strncpy
    - memcpy
    - gx_device_clist_reader*::page_info::io_procs::fclose
    - gs_opendevice
    - gs_c_param_list_read
    - gs_c_param_list_write
    - gs_c_param_list_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int do_page_load(gx_device_printer *pdev, gx_saved_page *page, clist_file_ptr
      *save_files)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_page_load
      Src: /src/libspectre/ghostscript/base/gxclpage.c:478,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclpage.c:483,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fopen
      Src: /src/libspectre/ghostscript/base/gxclpage.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pdev
    - page
    argTypes:
    - gx_device_printer*
    - gx_saved_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 472
    functionDepth: 4
    functionLinenumber: 472
    functionLinenumberEnd: 493
    functionName: gx_saved_page_load
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - do_page_load
    - gx_device_clist_reader*::page_info::io_procs::fopen
    linkageType: ''
    returnType: int
    signature: int gx_saved_page_load(gx_device_printer *pdev, gx_saved_page *page)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_saved_page_load
      Src: /src/libspectre/ghostscript/base/gxclpage.c:505,1
    - Dst: clist_read_color_usage_array
      Src: /src/libspectre/ghostscript/base/gxclpage.c:512,1
    - Dst: clist_read_icctable
      Src: /src/libspectre/ghostscript/base/gxclpage.c:514,1
    - Dst: gsicc_cache_new
      Src: /src/libspectre/ghostscript/base/gxclpage.c:516,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxclpage.c:526,1
    - Dst: clist_free_icc_table
      Src: /src/libspectre/ghostscript/base/gxclpage.c:529,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxclpage.c:531,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:535,1
    - Dst: gx_device_clist_reader*::page_info::io_procs::fclose
      Src: /src/libspectre/ghostscript/base/gxclpage.c:538,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - pdev
    - page
    argTypes:
    - gx_device_printer*
    - gx_saved_page*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 549
    functionName: gx_output_saved_page
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - clist_free_icc_table
    - clist_read_icctable
    - clist_read_color_usage_array
    - gx_device_clist_reader*::page_info::io_procs::fclose
    - rc_decrement
    - gx_saved_page_load
    - gsicc_cache_new
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gx_output_saved_page(gx_device_printer *pdev, gx_saved_page *page)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: do_page_save
      Src: /src/libspectre/ghostscript/base/gxclpage.c:622,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:623,1
    - Dst: clist_close_writer_and_init_reader
      Src: /src/libspectre/ghostscript/base/gxclpage.c:629,1
    - Dst: param_parse_token
      Src: /src/libspectre/ghostscript/base/gxclpage.c:652,1
    - Dst: param_find_key
      Src: /src/libspectre/ghostscript/base/gxclpage.c:657,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:661,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:672,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclpage.c:673,1
    - Dst: param_parse_token
      Src: /src/libspectre/ghostscript/base/gxclpage.c:698,1
    - Dst: param_find_key
      Src: /src/libspectre/ghostscript/base/gxclpage.c:699,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:700,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:704,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclpage.c:705,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclpage.c:755,1
    - Dst: gx_output_saved_page
      Src: /src/libspectre/ghostscript/base/gxclpage.c:766,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclpage.c:786,1
    - Dst: gx_output_saved_page
      Src: /src/libspectre/ghostscript/base/gxclpage.c:796,1
    - Dst: do_page_load
      Src: /src/libspectre/ghostscript/base/gxclpage.c:822,1
    - Dst: clist_finish_page
      Src: /src/libspectre/ghostscript/base/gxclpage.c:825,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 162
    argCount: 5
    argNames:
    - pdev
    - list
    - param
    - param_size
    - printed_count
    argTypes:
    - gx_device_printer*
    - gx_saved_pages_list*
    - byte*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 601
    functionDepth: 6
    functionLinenumber: 601
    functionLinenumberEnd: 827
    functionName: gx_saved_pages_list_print
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 0
    functionsReached:
    - param_find_key
    - sscanf
    - param_parse_token
    - clist_close_writer_and_init_reader
    - emprintf1
    - clist_finish_page
    - do_page_save
    - emprintf
    - gx_output_saved_page
    - do_page_load
    linkageType: ''
    returnType: int
    signature: "int gx_saved_pages_list_print(gx_device_printer *pdev, gx_saved_pages_list
      *list,\n                          byte *param, int param_size, int *printed_count)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: param_parse_token
      Src: /src/libspectre/ghostscript/base/gxclpage.c:848,1
    - Dst: param_find_key
      Src: /src/libspectre/ghostscript/base/gxclpage.c:850,1
    - Dst: gx_saved_pages_list_new
      Src: /src/libspectre/ghostscript/base/gxclpage.c:853,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:854,1
    - Dst: gdev_prn_reallocate_memory
      Src: /src/libspectre/ghostscript/base/gxclpage.c:860,1
    - Dst: gx_saved_pages_list_free
      Src: /src/libspectre/ghostscript/base/gxclpage.c:870,1
    - Dst: gdev_prn_reallocate_memory
      Src: /src/libspectre/ghostscript/base/gxclpage.c:873,1
    - Dst: gx_saved_pages_list_free
      Src: /src/libspectre/ghostscript/base/gxclpage.c:884,1
    - Dst: gx_saved_pages_list_new
      Src: /src/libspectre/ghostscript/base/gxclpage.c:887,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:888,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:897,1
    - Dst: param_parse_token
      Src: /src/libspectre/ghostscript/base/gxclpage.c:903,1
    - Dst: param_find_key
      Src: /src/libspectre/ghostscript/base/gxclpage.c:904,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:905,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxclpage.c:906,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gxclpage.c:908,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gxclpage.c:909,1
    - Dst: gx_saved_pages_list_print
      Src: /src/libspectre/ghostscript/base/gxclpage.c:923,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gxclpage.c:936,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gxclpage.c:937,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:939,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxclpage.c:941,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/base/gxclpage.c:943,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gxclpage.c:945,1
    - Dst: gs_free_string
      Src: /src/libspectre/ghostscript/base/gxclpage.c:946,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 82
    argCount: 3
    argNames:
    - pdev
    - param
    - param_size
    argTypes:
    - gx_device_printer*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 835
    functionDepth: 7
    functionLinenumber: 835
    functionLinenumberEnd: 956
    functionName: gx_saved_pages_param_process
    functionSourceFile: /src/libspectre/ghostscript/base/gxclpage.c
    functionUses: 1
    functionsReached:
    - gs_alloc_string
    - param_find_key
    - sscanf
    - gs_free_string
    - param_parse_token
    - gx_saved_pages_list_print
    - emprintf1
    - emprintf
    - memcpy
    - gdev_prn_reallocate_memory
    - return_error
    - emprintf2
    - gx_saved_pages_list_free
    - gx_saved_pages_list_new
    linkageType: ''
    returnType: int
    signature: int gx_saved_pages_param_process(gx_device_printer *pdev, byte *param,
      int param_size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - ch
    - ei
    argTypes:
    - gs_char
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 61
    functionName: gs_c_known_encode
    functionSourceFile: /src/libspectre/ghostscript/base/gscencs.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph gs_c_known_encode(gs_char ch, int ei)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - glyph
    - ei
    argTypes:
    - gs_glyph
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 86
    functionName: gs_c_decode
    functionSourceFile: /src/libspectre/ghostscript/base/gscencs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_c_decode(gs_glyph glyph, int ei)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: N_LEN
      Src: /src/libspectre/ghostscript/base/gscencs.c:95,1
    - Dst: N_OFFSET
      Src: /src/libspectre/ghostscript/base/gscencs.c:96,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gscencs.c:104,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - glyph
    - pstr
    argTypes:
    - gs_glyph
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: gs_c_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/base/gscencs.c
    functionUses: 5
    functionsReached:
    - N_OFFSET
    - return_error
    - N_LEN
    linkageType: ''
    returnType: int
    signature: int gs_c_glyph_name(gs_glyph glyph, gs_const_string *pstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 120
    functionName: gs_is_c_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/base/gscencs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_is_c_glyph_name(const byte *str, uint len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/base/gscencs.c:144,1
    - Dst: N
      Src: /src/libspectre/ghostscript/base/gscencs.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 155
    functionName: gs_c_name_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gscencs.c
    functionUses: 5
    functionsReached:
    - N
    - memcmp
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph gs_c_name_glyph(const byte *str, uint len)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:47,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:61,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:65,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 41
    argCount: 3
    argNames:
    - mem
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 103
    functionName: gp_enumerate_files_init_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfe.c
    functionUses: 1
    functionsReached:
    - memcpy
    - gs_alloc_bytes
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: 'file_enum *

      gp_enumerate_files_init_impl(gs_memory_t * mem, const char *pat, uint patlen)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dos_findfirst
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:118,1
    - Dst: dos_findnext
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:121,1
    - Dst: gp_enumerate_files_close
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:123,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:128,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:134,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 137
    functionName: gp_enumerate_files_next_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfe.c
    functionUses: 1
    functionsReached:
    - dos_findfirst
    - string_match
    - memcpy
    - dos_findnext
    - gp_enumerate_files_close
    linkageType: ''
    returnType: uint
    signature: uint gp_enumerate_files_next_impl(gs_memory_t * mem, file_enum * pfen,
      char *ptr, uint maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:146,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gp_dosfe.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 149
    functionName: gp_enumerate_files_close_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_dosfe.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gp_enumerate_files_close_impl(gs_memory_t * mem, file_enum * pfen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: isbigendian
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isbigendian(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mem
    - path
    - buf
    argTypes:
    - gs_memory_t*
    - char*
    - struct _stat64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    functionName: gp_stat_impl
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_stat_impl(const gs_memory_t *mem, const char *path, struct _stat64
      *buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gs_add_control_path_flags
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_add_control_path_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - type
    - path
    - flags
    argTypes:
    - gs_memory_t*
    - gs_path_control_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: gs_remove_control_path_flags
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_remove_control_path_flags(const gs_memory_t *mem, gs_path_control_t
      type, const char *path, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/mkromfs.c:191,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:192,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:194,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:195,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:197,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/mkromfs.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - fmt
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 201
    functionName: outprintf
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 5
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    - fwrite
    linkageType: ''
    returnType: int
    signature: int outprintf(const gs_memory_t *mem, const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/mkromfs.c:210,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:211,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:213,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:214,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:216,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/mkromfs.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: errprintf_nomem
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 2
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    - fwrite
    linkageType: ''
    returnType: int
    signature: int errprintf_nomem(const char *fmt, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/base/mkromfs.c:229,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:230,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:232,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:233,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/mkromfs.c:235,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/base/mkromfs.c:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mem
    - fmt
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: errprintf
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 46
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    - fwrite
    linkageType: ''
    returnType: int
    signature: int errprintf(const gs_memory_t *mem, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file
    - line
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    functionName: lprintf_file_and_line
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: void lprintf_file_and_line(const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - file
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: lprintf_file_only
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: void lprintf_file_only(FILE * f, const char *file)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:262,1
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:266,1
    - Dst: epf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - program_name
    - revision_number
    argTypes:
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 270
    functionName: eprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - epf
    linkageType: ''
    returnType: void
    signature: "void eprintf_program_ident(const char *program_name,\n                      long
      revision_number)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/mkromfs.c:279,1
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/mkromfs.c:283,1
    - Dst: epfm
      Src: /src/libspectre/ghostscript/base/mkromfs.c:285,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mem
    - program_name
    - revision_number
    argTypes:
    - gs_memory_t*
    - char*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: emprintf_program_ident
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - epfm
    linkageType: ''
    returnType: void
    signature: "void emprintf_program_ident(const gs_memory_t *mem,\n                       const
      char *program_name,\n                       long revision_number)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/mkromfs.c:293,1
    - Dst: errprintf_nomem
      Src: /src/libspectre/ghostscript/base/mkromfs.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - err
    - file
    - line
    argTypes:
    - int
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 298
    functionName: gs_log_error
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - errprintf_nomem
    linkageType: ''
    returnType: int
    signature: int gs_log_error(int err, const char *file, int line)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 5
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: minimal_alloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: byte
    signature: 'byte *

      minimal_alloc_bytes(gs_memory_t * mem, size_t size, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - mem
    - num_elements
    - elt_size
    - cname
    argTypes:
    - gs_memory_t*
    - size_t
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 5
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: minimal_alloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: byte
    signature: "byte *\nminimal_alloc_byte_array(gs_memory_t * mem, size_t num_elements,\n
      \                        size_t elt_size, client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pstype
    - cname
    argTypes:
    - gs_memory_t*
    - gs_memory_type_ptr_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 5
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: minimal_alloc_struct
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: "void *\nminimal_alloc_struct(gs_memory_t * mem, gs_memory_type_ptr_t
      pstype,\n                     client_name_t cname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - data
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: minimal_free_object
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void minimal_free_object(gs_memory_t * mem, void * data, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - mem
    - data
    - nbytes
    - cname
    argTypes:
    - gs_memory_t*
    - byte*
    - size_t
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: minimal_free_string
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void minimal_free_string(gs_memory_t * mem, byte * data, size_t nbytes,
      client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:350,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 352
    functionName: basic_enum_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void basic_enum_ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:355,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 357
    functionName: basic_reloc_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void basic_reloc_ptrs()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:410,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - out
    - q
    argTypes:
    - FILE*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 414
    functionName: put_uint32
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void put_uint32(FILE *out, const unsigned int q)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isbigendian
      Src: /src/libspectre/ghostscript/base/mkromfs.c:436,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:437,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:440,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:443,1
    - Dst: isbigendian
      Src: /src/libspectre/ghostscript/base/mkromfs.c:453,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:454,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:457,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:461,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - out
    - p
    - len
    argTypes:
    - FILE*
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 462
    functionName: put_bytes_padded
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isbigendian
    linkageType: ''
    returnType: void
    signature: void put_bytes_padded(FILE *out, unsigned char *p, unsigned int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:473,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:475,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:477,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - romfs_inode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 479
    functionName: inode_clear
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void inode_clear(romfs_inode* node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:486,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:490,1
    - Dst: put_uint32
      Src: /src/libspectre/ghostscript/base/mkromfs.c:495,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:496,1
    - Dst: put_uint32
      Src: /src/libspectre/ghostscript/base/mkromfs.c:502,1
    - Dst: put_uint32
      Src: /src/libspectre/ghostscript/base/mkromfs.c:503,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:505,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:508,1
    - Dst: put_bytes_padded
      Src: /src/libspectre/ghostscript/base/mkromfs.c:509,1
    - Dst: put_bytes_padded
      Src: /src/libspectre/ghostscript/base/mkromfs.c:513,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:517,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:520,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:521,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:523,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:525,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 7
    argNames:
    - out
    - node
    - compression
    - inode_count
    - totlen
    - split
    - verbose
    argTypes:
    - FILE*
    - romfs_inode*
    - int
    - int
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 530
    functionName: do_inode_write
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - fprintf
    - put_uint32
    - put_bytes_padded
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long do_inode_write(FILE *out, romfs_inode *node, int compression,
      int inode_count, int *totlen, int split, int verbose)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:541,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:543,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:544,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/mkromfs.c:546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - splits
    argTypes:
    - split_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 551
    functionName: prepare_splits
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - exit
    - memset
    - fprintf
    - realloc
    linkageType: ''
    returnType: void
    signature: void prepare_splits(split_data *splits)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:556,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:558,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:560,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:562,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - out
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 564
    functionName: start_file
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void start_file(FILE *out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: prepare_splits
      Src: /src/libspectre/ghostscript/base/mkromfs.c:570,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:581,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:583,1
    - Dst: start_file
      Src: /src/libspectre/ghostscript/base/mkromfs.c:584,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:586,1
    - Dst: do_inode_write
      Src: /src/libspectre/ghostscript/base/mkromfs.c:588,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:589,1
    - Dst: do_inode_write
      Src: /src/libspectre/ghostscript/base/mkromfs.c:591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - out
    - node
    - compression
    - inode_count
    - totlen
    - splits
    - verbose
    argTypes:
    - FILE*
    - romfs_inode*
    - int
    - int
    - int*
    - split_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 567
    functionDepth: 3
    functionLinenumber: 567
    functionLinenumberEnd: 592
    functionName: inode_write
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 1
    functionsReached:
    - sprintf
    - prepare_splits
    - start_file
    - fopen
    - do_inode_write
    - fclose
    linkageType: ''
    returnType: void
    signature: void inode_write(FILE *out, romfs_inode *node, int compression, int
      inode_count, int *totlen, split_data *splits, int verbose)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/mkromfs.c:598,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/mkromfs.c:599,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - prefix
    - filename
    - prefixed_path
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 610
    functionName: prefix_add
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    linkageType: ''
    returnType: void
    signature: void prefix_add(const char *prefix, const char *filename, char *prefixed_path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:652,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:653,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:655,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 8
    argNames:
    - psc
    - myfgetc
    - myungetc
    - myfeof
    - myfile
    - names
    - binary
    - firstnum
    argTypes:
    - pscompstate*
    - psc_getc*
    - psc_ungetc*
    - psc_feof*
    - void*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 649
    functionDepth: 5
    functionLinenumber: 649
    functionLinenumberEnd: 672
    functionName: pscompact_start
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - malloc
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void pscompact_start(pscompstate *psc, psc_getc *myfgetc, psc_ungetc
      *myungetc, psc_feof *myfeof, void *myfile, int names, int binary, int firstnum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:676,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psc
    argTypes:
    - pscompstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: pscompact_end
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void pscompact_end(pscompstate *psc)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - psc
    - c
    - n
    argTypes:
    - pscompstate*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: pscompact_copy
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pscompact_copy(pscompstate *psc, int c, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - psc
    - c1
    - c2
    - n
    argTypes:
    - pscompstate*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 703
    functionName: pscompact_copy2
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pscompact_copy2(pscompstate *psc, int c1, int c2, int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - psc
    - c1
    - c2
    - c3
    - n
    argTypes:
    - pscompstate*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 717
    functionName: pscompact_copy3
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pscompact_copy3(pscompstate *psc, int c1, int c2, int c3, int
      n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:723,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:725,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:726,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - psc
    - c
    argTypes:
    - pscompstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 730
    functionName: pscompact_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - realloc
    linkageType: ''
    returnType: void
    signature: void pscompact_buffer(pscompstate *psc, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:736,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:738,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:739,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/mkromfs.c:742,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - psc
    - c
    argTypes:
    - pscompstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 745
    functionName: pscompact_bufferatstart
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - realloc
    - memmove
    linkageType: ''
    returnType: void
    signature: void pscompact_bufferatstart(pscompstate *psc, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:751,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:753,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:754,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:757,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - psc
    argTypes:
    - pscompstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 762
    functionName: pscompact_copyinout
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - exit
    - fprintf
    - realloc
    - memcpy
    linkageType: ''
    returnType: void
    signature: void pscompact_copyinout(pscompstate *psc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - psc
    argTypes:
    - pscompstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: pscompact_copyinout_bin
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - pscompact_copyinout
    linkageType: ''
    returnType: void
    signature: void pscompact_copyinout_bin(pscompstate *psc)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:785,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:786,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:799,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:800,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - psc
    argTypes:
    - pscompstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 806
    functionName: pscompact_hex2ascii
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void pscompact_hex2ascii(pscompstate *psc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1046,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - psc
    - i
    argTypes:
    - pscompstate*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1056
    functionName: pscompact_isname
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int pscompact_isname(pscompstate *psc, int *i)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1068,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1097,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1100,1
    - Dst: strtod
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1105,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 39
    argCount: 2
    argNames:
    - psc
    - i
    argTypes:
    - pscompstate*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1058
    functionDepth: 0
    functionLinenumber: 1058
    functionLinenumberEnd: 1111
    functionName: pscompact_isint
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - atoi
    - strncmp
    - realloc
    - strtod
    linkageType: ''
    returnType: int
    signature: int pscompact_isint(pscompstate *psc, int *i)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1138,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - psc
    - f
    argTypes:
    - pscompstate*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1143
    functionName: pscompact_isfloat
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - atof
    - realloc
    linkageType: ''
    returnType: int
    signature: int pscompact_isfloat(pscompstate *psc, float *f)
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1156,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1188,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1189,1
    - Dst: pscompact_copy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1193,1
    - Dst: pscompact_copy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1199,1
    - Dst: pscompact_copy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1206,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1212,1
    - Dst: pscompact_copy2
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1214,1
    - Dst: pscompact_copy2
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1216,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1223,1
    - Dst: pscompact_copy2
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1224,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1230,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1231,1
    - Dst: pscompact_copy3
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1232,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1238,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1239,1
    - Dst: pscompact_copy3
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1240,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1244,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1245,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1263,1
    - Dst: pscompstate*::unpgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1270,1
    - Dst: pscompact_isint
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1276,1
    - Dst: pscompact_isfloat
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1317,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1357,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1370,1
    - Dst: pscompact_isname
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1382,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1404,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1514,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1523,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1529,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1530,1
    - Dst: pscompact_copyinout_bin
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1531,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1535,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1536,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1537,1
    - Dst: pscompact_copyinout_bin
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1538,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1544,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1545,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1546,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1549,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1565,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1568,1
    - Dst: pscompstate*::unpgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1572,1
    - Dst: pscompstate*::unpgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1575,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1582,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1586,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1589,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1591,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1592,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1593,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1597,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1599,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1600,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1601,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1605,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1607,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1608,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1609,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1617,1
    - Dst: pscompstate*::pgetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1620,1
    - Dst: pscompact_copy2
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1623,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1627,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1628,1
    - Dst: pscompact_hex2ascii
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1632,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1634,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1635,1
    - Dst: pscompact_copyinout_bin
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1636,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1639,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1640,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1641,1
    - Dst: pscompact_copyinout_bin
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1644,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1645,1
    - Dst: pscompact_bufferatstart
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1651,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1652,1
    - Dst: pscompact_copyinout
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1653,1
    - Dst: pscompact_buffer
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1661,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1663,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1664,1
    - Dst: pscompstate*::peof
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1668,1
    CyclomaticComplexity: 189
    EdgeCount: 189
    ICount: 486
    argCount: 3
    argNames:
    - psc
    - ubuf
    - ulen
    argTypes:
    - pscompstate*
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1670
    functionName: pscompact_getcompactedblock
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - pscompact_isname
    - pscompact_copyinout_bin
    - exit
    - pscompact_copy3
    - pscompstate*::unpgetc
    - pscompstate*::pgetc
    - pscompact_buffer
    - pscompact_copy
    - pscompact_isint
    - fprintf
    - strncmp
    - pscompact_copyinout
    - pscompact_bufferatstart
    - pscompact_hex2ascii
    - pscompact_isfloat
    - pscompact_copy2
    - pscompstate*::peof
    linkageType: ''
    returnType: unsigned long
    signature: unsigned long pscompact_getcompactedblock(pscompstate *psc, unsigned
      char *ubuf, unsigned long ulen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1679
      start: 1672
    functionDepth: 0
    functionLinenumber: 1672
    functionLinenumberEnd: 1679
    functionName: cmpstringp
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpstringp(const void *p1, const void *p2)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1704,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1705,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1706,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1707,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1708,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1711,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1712,1
    - Dst: prefix_add
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1714,1
    - Dst: prefix_add
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1715,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1716,1
    - Dst: gp_enumerate_files_init
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1719,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1720,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1722,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1723,1
    - Dst: gp_enumerate_files_next
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1725,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1730,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1730,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1731,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1731,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1731,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1741,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1743,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1744,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1745,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1746,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1747,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1748,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1749,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1750,1
    - Dst: strdup
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1753,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1756,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1762,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1764,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1766,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1772,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1773,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1773,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1775,1
    - Dst: ftell
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1776,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1778,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1779,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1780,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1781,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1782,1
    - Dst: pscompact_start
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1786,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1787,1
    - Dst: pscompact_getcompactedblock
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1789,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1791,1
    - Dst: compress
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1797,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1799,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1800,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1803,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1807,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1808,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1811,1
    - Dst: pscompact_end
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1815,1
    - Dst: inode_write
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1820,1
    - Dst: inode_clear
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1822,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1823,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1825,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1827,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1828,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1829,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1830,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1831,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1832,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1834,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 112
    argCount: 11
    argNames:
    - path
    - os_prefix
    - rom_prefix
    - Xlist_head
    - compression
    - compaction
    - inode_count
    - totlen
    - out
    - splits
    - verbose
    argTypes:
    - char*
    - char*
    - char*
    - Xlist_element*
    - int
    - int
    - int*
    - int*
    - FILE*
    - split_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1684
    functionDepth: 6
    functionLinenumber: 1684
    functionLinenumberEnd: 1836
    functionName: process_path
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - strlen
    - fseek
    - realloc
    - fclose
    - inode_clear
    - strdup
    - qsort
    - fread
    - strcmp
    - printf
    - pscompact_end
    - malloc
    - free
    - ftell
    - inode_write
    - fopen
    - feof
    - compress
    - strcat
    - prefix_add
    - pscompact_start
    - strcpy
    - gp_enumerate_files_init
    - pscompact_getcompactedblock
    - memcpy
    - calloc
    - exit
    - gp_enumerate_files_next
    linkageType: ''
    returnType: void
    signature: "void process_path(char *path, const char *os_prefix, const char *rom_prefix,\n
      \                 Xlist_element *Xlist_head, int compression,\n                  int
      compaction, int *inode_count, int *totlen, FILE *out,\n                  split_data
      *splits, int verbose)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - ibf
    argTypes:
    - in_block_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1889
    functionDepth: 0
    functionLinenumber: 1889
    functionLinenumberEnd: 1900
    functionName: ib_getc
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ib_getc(in_block_file *ibf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - ibf
    argTypes:
    - int
    - in_block_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1902
    functionDepth: 0
    functionLinenumber: 1902
    functionLinenumberEnd: 1905
    functionName: ib_ungetc
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ib_ungetc(int c, in_block_file *ibf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ibf
    argTypes:
    - in_block_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1910
    functionName: ib_feof
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ib_feof(in_block_file *ibf)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1928,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1929,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1930,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1931,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1934,1
    - Dst: prefix_add
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1940,1
    - Dst: prefix_add
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1941,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1943,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1945,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1949,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1951,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1952,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1956,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1957,1
    - Dst: merge_to_ps
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1960,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1962,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1963,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1977,1
    - Dst: pscompact_start
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1979,1
    - Dst: pscompact_getcompactedblock
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1981,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1984,1
    - Dst: pscompact_end
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1988,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:1991,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2009,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2010,1
    - Dst: compress
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2021,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2023,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2028,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2032,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2033,1
    - Dst: inode_write
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2039,1
    - Dst: inode_clear
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2041,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2044,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2045,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2046,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2047,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2048,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 102
    argCount: 10
    argNames:
    - initfile
    - gconfig_h
    - os_prefix
    - rom_prefix
    - compression
    - inode_count
    - totlen
    - out
    - splits
    - verbose
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - int
    - int*
    - int*
    - FILE*
    - split_data*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 1912
    functionDepth: 6
    functionLinenumber: 1912
    functionLinenumberEnd: 2050
    functionName: process_initfile
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - prefix_add
    - compress
    - printf
    - pscompact_start
    - merge_to_ps
    - inode_clear
    - pscompact_end
    - malloc
    - pscompact_getcompactedblock
    - memset
    - free
    - memcpy
    - inode_write
    - fopen
    - calloc
    - fclose
    linkageType: ''
    returnType: int
    signature: "int process_initfile(char *initfile, char *gconfig_h, const char *os_prefix,\n
      \                const char *rom_prefix, int compression, int *inode_count,\n
      \                int *totlen, FILE *out, split_data *splits, int verbose)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2059,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2065,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2072,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2073,1
    - Dst: calloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2078,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2084,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2088,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - len
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2089
      start: 2052
    functionDepth: 0
    functionLinenumber: 2052
    functionLinenumberEnd: 2089
    functionName: flush_line_buf
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - printf
    - max
    - memcpy
    - memset
    - calloc
    - min
    linkageType: ''
    returnType: void
    signature: void flush_line_buf(int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2100,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2108,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2110,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2114,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 17
    argCount: 3
    argNames:
    - in
    - str
    - len
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2092
    functionDepth: 0
    functionLinenumber: 2092
    functionLinenumberEnd: 2118
    functionName: rl
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 2
    functionsReached:
    - getc
    - ungetc
    linkageType: ''
    returnType: bool
    signature: bool rl(FILE * in, char *str, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2128,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2133,1
    - Dst: flush_line_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2137,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2137,1
    - Dst: flush_line_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2140,1
    - Dst: flush_line_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2145,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2145,1
    - Dst: flush_line_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2121
    functionDepth: 1
    functionLinenumber: 2121
    functionLinenumberEnd: 2149
    functionName: wsc
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - flush_line_buf
    - strlen
    - exit
    - sprintf
    linkageType: ''
    returnType: void
    signature: void wsc(const byte *str, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2154,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2156,1
    - Dst: flush_line_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2158
    functionName: ws
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 19
    functionsReached:
    - flush_line_buf
    - memcpy
    - exit
    linkageType: ''
    returnType: void
    signature: void ws(const byte *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ws
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2163,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2163,1
    - Dst: ws
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2165
      start: 2160
    functionDepth: 2
    functionLinenumber: 2160
    functionLinenumberEnd: 2165
    functionName: wl
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - ws
    - strlen
    linkageType: ''
    returnType: void
    signature: void wl(const char *str)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2186,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2205,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2215,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 50
    argCount: 2
    argNames:
    - line
    - intact
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2237
      start: 2172
    functionDepth: 0
    functionLinenumber: 2172
    functionLinenumberEnd: 2237
    functionName: doit
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 2
    functionsReached:
    - strchr
    - strncmp
    linkageType: ''
    returnType: char
    signature: 'char *

      doit(char *line, bool intact)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2244,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2252,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2253,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2255,1
    - Dst: isxdigit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2256,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2257,1
    - Dst: islower
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2257,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2260,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2262,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2267,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2272,1
    - Dst: ws
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2278,1
    - Dst: ws
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2283,1
    - Dst: ws
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2285,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2286,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 1
    argNames:
    - in
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2240
    functionDepth: 5
    functionLinenumber: 2240
    functionLinenumberEnd: 2288
    functionName: hex_string_to_binary
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - printf
    - islower
    - isspace
    - malloc
    - ws
    - free
    - isdigit
    - isxdigit
    - getc
    - exit
    linkageType: ''
    returnType: void
    signature: void hex_string_to_binary(FILE *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: wl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - buf
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2298
      start: 2291
    functionDepth: 3
    functionLinenumber: 2291
    functionLinenumberEnd: 2298
    functionName: flush_buf
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - wl
    linkageType: ''
    returnType: void
    signature: void flush_buf(char *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2306,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2308,1
    - Dst: prefix_add
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2311,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2313,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2315,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - os_prefix
    - filename
    - verbose
    argTypes:
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2300
    functionDepth: 5
    functionLinenumber: 2300
    functionLinenumberEnd: 2318
    functionName: prefix_open
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - prefix_add
    - printf
    - malloc
    - free
    - fopen
    linkageType: ''
    returnType: FILE
    signature: 'FILE *

      prefix_open(const char *os_prefix, const char *filename, int verbose)'
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: rl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2331,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2335,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2336,1
    - Dst: flush_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2340,1
    - Dst: rl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2342,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2346,1
    - Dst: prefix_open
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2347,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2349,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2350,1
    - Dst: mergefile
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2352,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2353,1
    - Dst: rewind
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2358,1
    - Dst: rl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2359,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2360,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2362,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2364,1
    - Dst: prefix_open
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2367,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2369,1
    - Dst: mergefile
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2370,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2373,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2375,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2377,1
    - Dst: doit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2383,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2386,1
    - Dst: wl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2390,1
    - Dst: flush_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2397,1
    - Dst: wl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2399,1
    - Dst: hex_string_to_binary
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2400,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2404,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2405,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2406,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2406,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2408,1
    - Dst: flush_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2410,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2411,1
    - Dst: flush_buf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2416,1
    - Dst: wl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2418,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 62
    argCount: 6
    argNames:
    - os_prefix
    - inname
    - in
    - config
    - intact
    - verbose
    argTypes:
    - char*
    - char*
    - FILE*
    - FILE*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2419
      start: 2320
    functionDepth: 6
    functionLinenumber: 2320
    functionLinenumberEnd: 2419
    functionName: mergefile
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 1
    functionsReached:
    - strcat
    - sscanf
    - flush_buf
    - strcmp
    - rewind
    - printf
    - strlen
    - doit
    - wl
    - hex_string_to_binary
    - rl
    - strcpy
    - strchr
    - strncmp
    - fprintf
    - mergefile
    - prefix_open
    - exit
    linkageType: ''
    returnType: void
    signature: "void mergefile(const char *os_prefix, const char *inname, FILE * in,
      FILE * config,\n          bool intact, int verbose)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2427,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2428,1
    - Dst: wl
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2429,1
    - Dst: mergefile
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2431,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - os_prefix
    - inname
    - in
    - config
    - verbose
    argTypes:
    - char*
    - char*
    - FILE*
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2422
    functionDepth: 7
    functionLinenumber: 2422
    functionLinenumberEnd: 2432
    functionName: merge_to_ps
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 1
    functionsReached:
    - wl
    - mergefile
    - sprintf
    - rl
    linkageType: ''
    returnType: void
    signature: void merge_to_ps(const char *os_prefix, const char *inname, FILE *
      in, FILE * config, int verbose)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2449,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2450,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2452,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2453,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2455,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2460,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2463,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2464,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2466,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2467,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - splits
    - filename
    argTypes:
    - split_data*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2434
    functionDepth: 5
    functionLinenumber: 2434
    functionLinenumberEnd: 2469
    functionName: make_split_name
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 0
    functionsReached:
    - malloc
    - free
    - fprintf
    - memcpy
    - exit
    linkageType: ''
    returnType: void
    signature: void make_split_name(split_data *splits, const char *filename)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2490,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2493,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2524,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2527,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2535,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2536,1
    - Dst: start_file
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2538,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2540,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2541,1
    - Dst: time
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2544,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2545,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2569,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2570,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2576,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2577,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2579,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2581,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2582,1
    - Dst: make_split_name
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2584,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2591,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2592,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2594,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2596,1
    - Dst: process_initfile
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2597,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2603,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2604,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2610,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2611,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2613,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2615,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2622,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2627,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2627,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2627,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2627,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2627,1
    - Dst: process_path
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2628,1
    - Dst: prepare_splits
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2633,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2637,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2638,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2639,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2640,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2646,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2650,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2652,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2653,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2654,1
    - Dst: free
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2657,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/base/mkromfs.c:2660,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2471
    functionDepth: 7
    functionLinenumber: 2471
    functionLinenumberEnd: 2663
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/mkromfs.c
    functionUses: 15
    functionsReached:
    - strtoul
    - strlen
    - process_path
    - fprintf
    - time
    - fclose
    - prepare_splits
    - memset
    - process_initfile
    - getenv
    - printf
    - malloc
    - free
    - fopen
    - sprintf
    - strncpy
    - start_file
    - make_split_name
    - atoi
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pmat
    argTypes:
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gs_make_identity
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 24
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gs_make_identity(gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dx
    - dy
    - pmat
    argTypes:
    - double
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 48
    functionName: gs_make_translation
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_make_translation(double dx, double dy, gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - sx
    - sy
    - pmat
    argTypes:
    - double
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: gs_make_scaling
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_make_scaling(double sx, double sy, gs_matrix * pmat)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sincos_degrees
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - ang
    - pmat
    argTypes:
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: gs_make_rotation
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 1
    functionsReached:
    - gs_sincos_degrees
    linkageType: ''
    returnType: int
    signature: int gs_make_rotation(double ang, gs_matrix * pmat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:88,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:91,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pm1
    - pm2
    - pmr
    argTypes:
    - gs_matrix*
    - gs_matrix*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 114
    functionName: gs_matrix_multiply
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 35
    functionsReached:
    - is_xxyy
    - is_fzero
    linkageType: ''
    returnType: int
    signature: int gs_matrix_multiply(const gs_matrix * pm1, const gs_matrix * pm2,
      gs_matrix * pmr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:123,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:126,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - pm1
    - pm2
    - pmr
    argTypes:
    - gs_matrix_double*
    - gs_matrix*
    - gs_matrix_double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 149
    functionName: gs_matrix_multiply_double
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached:
    - is_xxyy
    - is_fzero
    linkageType: ''
    returnType: int
    signature: int gs_matrix_multiply_double(const gs_matrix_double * pm1, const gs_matrix
      * pm2, gs_matrix_double * pmr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:156,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:157,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:158,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pm
    - pmr
    argTypes:
    - gs_matrix*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 190
    functionName: gs_matrix_invert
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 20
    functionsReached:
    - return_error
    - is_xxyy
    - is_fzero
    linkageType: ''
    returnType: int
    signature: int gs_matrix_invert(const gs_matrix * pm, gs_matrix * pmr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:195,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:196,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:196,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:197,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:212,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pm
    - pmr
    argTypes:
    - gs_matrix*
    - gs_matrix_double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 221
    functionName: gs_matrix_invert_to_double
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached:
    - return_error
    - is_xxyy
    - is_fzero
    linkageType: ''
    returnType: int
    signature: int gs_matrix_invert_to_double(const gs_matrix * pm, gs_matrix_double
      * pmr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - pm
    - dx
    - dy
    - pmr
    argTypes:
    - gs_matrix*
    - double
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 237
    functionName: gs_matrix_translate
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached:
    - gs_distance_transform
    linkageType: ''
    returnType: int
    signature: int gs_matrix_translate(const gs_matrix * pm, double dx, double dy,
      gs_matrix * pmr)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pm
    - sx
    - sy
    - pmr
    argTypes:
    - gs_matrix*
    - double
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 252
    functionName: gs_matrix_scale
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_matrix_scale(const gs_matrix * pm, double sx, double sy, gs_matrix
      * pmr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_sincos_degrees
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pm
    - ang
    - pmr
    argTypes:
    - gs_matrix*
    - double
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 272
    functionName: gs_matrix_rotate
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 2
    functionsReached:
    - gs_sincos_degrees
    linkageType: ''
    returnType: int
    signature: int gs_matrix_rotate(const gs_matrix * pm, double ang, gs_matrix *
      pmr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:290,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - x
    - y
    - pmat
    - ppt
    argTypes:
    - double
    - double
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 295
    functionName: gs_point_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 19
    functionsReached:
    - is_fzero
    linkageType: ''
    returnType: int
    signature: "int gs_point_transform(double x, double y, const gs_matrix * pmat,\n
      \                  gs_point * ppt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:303,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:304,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:305,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:309,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:310,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:310,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:311,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:318,1
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:322,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - x
    - y
    - pmat
    - ppt
    argTypes:
    - double
    - double
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 324
    functionName: gs_point_transform_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 6
    functionsReached:
    - is_fzero
    - is_xxyy
    - return_error
    - gs_point_transform
    - gs_matrix_invert
    - is_xyyx
    linkageType: ''
    returnType: int
    signature: "int gs_point_transform_inverse(double x, double y, const gs_matrix
      * pmat,\n                           gs_point * ppt)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:333,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - dx
    - dy
    - pmat
    - pdpt
    argTypes:
    - double
    - double
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: gs_distance_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 35
    functionsReached:
    - is_fzero
    linkageType: ''
    returnType: int
    signature: "int gs_distance_transform(double dx, double dy, const gs_matrix *
      pmat,\n                      gs_point * pdpt)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:346,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:347,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:347,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:348,1
    - Dst: is_xyyx
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:351,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:352,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:352,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:360,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 4
    argNames:
    - dx
    - dy
    - pmat
    - pdpt
    argTypes:
    - double
    - double
    - gs_matrix*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 365
    functionName: gs_distance_transform_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 10
    functionsReached:
    - return_error
    - is_xxyy
    - is_xyyx
    - is_fzero
    linkageType: ''
    returnType: int
    signature: "int gs_distance_transform_inverse(double dx, double dy,\n                              const
      gs_matrix * pmat, gs_point * pdpt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assign_min_max_4
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:380,1
    - Dst: assign_min_max_4
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pts
    - pbox
    argTypes:
    - gs_point[]
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 387
    functionName: gs_points_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 2
    functionsReached:
    - assign_min_max_4
    linkageType: ''
    returnType: int
    signature: int gs_points_bbox(const gs_point pts[4], gs_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - vmin
    - ','
    - vmax
    - ','
    - v0
    - ','
    - v1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: assign_min_max
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_min_max(vmin, vmax, v0, v1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - vmin
    - ','
    - vmax
    - ','
    - v0
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 380
    functionName: assign_min_max_4
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assign_min_max_4(vmin, vmax, v0, v1, v2, v3)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 3
    argNames:
    - pbox_in
    - pmat
    - pts
    argTypes:
    - gs_rect*
    - gs_matrix*
    - gs_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 391
    functionDepth: 0
    functionLinenumber: 391
    functionLinenumberEnd: 405
    functionName: bbox_transform_either_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int bbox_transform_either_only(const gs_rect * pbox_in, const gs_matrix
      * pmat,\n                           gs_point pts[4],\n     int (*point_xform)
      (double, double, const gs_matrix *, gs_point *))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bbox_transform_either_only
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:423,1
    - Dst: gs_points_bbox
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - pbox_in
    - pmat
    - pbox_out
    argTypes:
    - gs_rect*
    - gs_matrix*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 407
    functionDepth: 2
    functionLinenumber: 407
    functionLinenumberEnd: 426
    functionName: bbox_transform_either
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached:
    - bbox_transform_either_only
    - gs_points_bbox
    linkageType: ''
    returnType: int
    signature: "int bbox_transform_either(const gs_rect * pbox_in, const gs_matrix
      * pmat,\n                      gs_rect * pbox_out,\n     int (*point_xform)
      (double, double, const gs_matrix *, gs_point *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bbox_transform_either
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pbox_in
    - pmat
    - pbox_out
    argTypes:
    - gs_rect*
    - gs_matrix*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 433
    functionName: gs_bbox_transform
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 15
    functionsReached:
    - bbox_transform_either
    linkageType: ''
    returnType: int
    signature: "int gs_bbox_transform(const gs_rect * pbox_in, const gs_matrix * pmat,\n
      \                 gs_rect * pbox_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bbox_transform_either_only
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pbox_in
    - pmat
    - points
    argTypes:
    - gs_rect*
    - gs_matrix*
    - gs_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 440
    functionName: gs_bbox_transform_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 2
    functionsReached:
    - bbox_transform_either_only
    linkageType: ''
    returnType: int
    signature: "int gs_bbox_transform_only(const gs_rect * pbox_in, const gs_matrix
      * pmat,\n                       gs_point points[4])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bbox_transform_either
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pbox_in
    - pmat
    - pbox_out
    argTypes:
    - gs_rect*
    - gs_matrix*
    - gs_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 441
    functionDepth: 3
    functionLinenumber: 441
    functionLinenumberEnd: 449
    functionName: gs_bbox_transform_inverse
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 15
    functionsReached:
    - bbox_transform_either
    linkageType: ''
    returnType: int
    signature: "int gs_bbox_transform_inverse(const gs_rect * pbox_in, const gs_matrix
      * pmat,\n                          gs_rect * pbox_out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 454
    functionName: f_fits_in_fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: f_fits_in_fixed(f)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:460,1
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:460,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:461,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:461,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:462,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - pfmat
    - pmat
    argTypes:
    - gs_matrix_fixed*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: gs_matrix_fixed_from_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 6
    functionsReached:
    - f_fits_in_fixed
    - float2fixed
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gs_matrix_fixed_from_matrix(gs_matrix_fixed *pfmat, const gs_matrix
      *pmat)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:484,1
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:485,1
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:485,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:486,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:487,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:488,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:491,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:492,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:493,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:496,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:497,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:498,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:499,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:501,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:502,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:505,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:506,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:508,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:509,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:513,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:514,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:517,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:518,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:519,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:520,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:522,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:523,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:527,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:528,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 4
    argNames:
    - pmat
    - x
    - y
    - ppt
    argTypes:
    - gs_matrix_fixed*
    - double
    - double
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 531
    functionName: gs_point_transform2fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 15
    functionsReached:
    - f_fits_in_fixed
    - float2fixed
    - CHECK_DFMUL2FIXED_VARS
    - is_fzero
    - FINISH_DFMUL2FIXED_VARS
    - CHECK_SET_FIXED_SUM
    - return_error
    - gs_point_transform
    linkageType: ''
    returnType: int
    signature: "int gs_point_transform2fixed(const gs_matrix_fixed * pmat,\n                         double
      x, double y, gs_fixed_point * ppt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_point_transform
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:543,1
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:544,1
    - Dst: f_fits_in_fixed
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:544,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:545,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:546,1
    - Dst: float2fixed_rounded
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - pmat
    - x
    - y
    - ppt
    argTypes:
    - gs_matrix_fixed*
    - double
    - double
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 537
    functionDepth: 2
    functionLinenumber: 537
    functionLinenumberEnd: 549
    functionName: gs_point_transform2fixed_rounding
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 1
    functionsReached:
    - return_error
    - f_fits_in_fixed
    - gs_point_transform
    - float2fixed_rounded
    linkageType: ''
    returnType: int
    signature: "int gs_point_transform2fixed_rounding(const gs_matrix_fixed * pmat,\n
      \                        double x, double y, gs_fixed_point * ppt)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:561,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:562,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:565,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:566,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:567,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:568,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:570,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:571,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:574,1
    - Dst: CHECK_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:575,1
    - Dst: FINISH_DFMUL2FIXED_VARS
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:577,1
    - Dst: CHECK_SET_FIXED_SUM
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:578,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - pmat
    - dx
    - dy
    - ppt
    argTypes:
    - gs_matrix_fixed*
    - double
    - double
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 584
    functionName: gs_distance_transform2fixed
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 8
    functionsReached:
    - CHECK_DFMUL2FIXED_VARS
    - FINISH_DFMUL2FIXED_VARS
    - CHECK_SET_FIXED_SUM
    - is_fzero
    linkageType: ''
    returnType: int
    signature: "int gs_distance_transform2fixed(const gs_matrix_fixed * pmat,\n                            double
      dx, double dy, gs_fixed_point * ppt)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:624,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:633,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:644,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - s
    - pmat
    argTypes:
    - stream*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 650
    functionName: sput_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 3
    functionsReached:
    - memcpy
    - sputs
    linkageType: ''
    returnType: int
    signature: int sput_matrix(stream *s, const gs_matrix *pmat)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:656,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:670,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:672,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:682,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:685,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:690,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsmatrix.c:692,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 2
    argNames:
    - s
    - pmat
    argTypes:
    - stream*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 702
    functionName: sget_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 1
    functionsReached:
    - return_error
    - sgets
    - sgetc
    linkageType: ''
    returnType: int
    signature: int sget_matrix(stream *s, gs_matrix *pmat)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - pmat1
    - pmat2
    argTypes:
    - gs_matrix*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 705
    functionDepth: 0
    functionLinenumber: 705
    functionLinenumberEnd: 720
    functionName: gs_matrix_compare
    functionSourceFile: /src/libspectre/ghostscript/base/gsmatrix.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_matrix_compare(const gs_matrix *pmat1, const gs_matrix *pmat2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gzspotan.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - list
    argTypes:
    - gs_memory_t*
    - gx_san_trap**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: free_trap_list
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void free_trap_list(gs_memory_t *mem, gx_san_trap **list)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gzspotan.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mem
    - list
    argTypes:
    - gs_memory_t*
    - gx_san_trap_contact**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 64
    functionName: free_cont_list
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void free_cont_list(gs_memory_t *mem, gx_san_trap_contact **list)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gzspotan.c:76,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - padev
    argTypes:
    - gx_device_spot_analyzer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 89
    functionName: trap_reserve
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_san_trap
    signature: 'gx_san_trap *

      trap_reserve(gx_device_spot_analyzer *padev)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gzspotan.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - padev
    argTypes:
    - gx_device_spot_analyzer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 114
    functionName: cont_reserve
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gx_san_trap_contact
    signature: 'gx_san_trap_contact *

      cont_reserve(gx_device_spot_analyzer *padev)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - padev
    - t
    argTypes:
    - gx_device_spot_analyzer*
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 124
    functionName: trap_unreserve
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int trap_unreserve(gx_device_spot_analyzer *padev, gx_san_trap *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - padev
    - t
    argTypes:
    - gx_device_spot_analyzer*
    - gx_san_trap_contact*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 134
    functionName: cont_unreserve
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int cont_unreserve(gx_device_spot_analyzer *padev, gx_san_trap_contact
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: band_list_last
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_san_trap
    signature: 'gx_san_trap *

      band_list_last(const gx_san_trap *list)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - list
    argTypes:
    - gx_san_trap_contact*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 148
    functionName: cont_list_last
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_san_trap_contact
    signature: 'gx_san_trap_contact *

      cont_list_last(const gx_san_trap_contact *list)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - list
    - t
    argTypes:
    - gx_san_trap**
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: band_list_remove
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void band_list_remove(gx_san_trap **list, gx_san_trap *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: band_list_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - list
    - t
    argTypes:
    - gx_san_trap**
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 179
    functionName: band_list_insert_last
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - band_list_last
    linkageType: ''
    returnType: void
    signature: void band_list_insert_last(gx_san_trap **list, gx_san_trap *t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cont_list_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - list
    - t
    argTypes:
    - gx_san_trap_contact**
    - gx_san_trap_contact*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 195
    functionName: cont_list_insert_last
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - cont_list_last
    linkageType: ''
    returnType: void
    signature: void cont_list_insert_last(gx_san_trap_contact **list, gx_san_trap_contact
      *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - t
    argTypes:
    - gx_san_trap*
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: trap_is_last
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool trap_is_last(const gx_san_trap *list, const gx_san_trap *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 279
    functionName: san_open
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int san_open(register gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free_trap_list
      Src: /src/libspectre/ghostscript/base/gzspotan.c:286,1
    - Dst: free_cont_list
      Src: /src/libspectre/ghostscript/base/gzspotan.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 296
    functionName: san_close
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - free_trap_list
    - free_cont_list
    linkageType: ''
    returnType: int
    signature: int san_close(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - pbox
    argTypes:
    - gx_device*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: san_get_clipping_box
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void san_get_clipping_box(gx_device * dev, gs_fixed_rect * pbox)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - list
    argTypes:
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 324
    functionName: check_band_list
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int check_band_list(const gx_san_trap *list)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: band_list_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:330,1
    - Dst: band_list_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:342,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:344,1
    - Dst: band_list_remove
      Src: /src/libspectre/ghostscript/base/gzspotan.c:345,1
    - Dst: band_list_remove
      Src: /src/libspectre/ghostscript/base/gzspotan.c:346,1
    - Dst: band_list_insert_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:347,1
    - Dst: trap_unreserve
      Src: /src/libspectre/ghostscript/base/gzspotan.c:353,1
    - Dst: cont_unreserve
      Src: /src/libspectre/ghostscript/base/gzspotan.c:356,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 2
    argNames:
    - padev
    - xlbot
    argTypes:
    - gx_device_spot_analyzer*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 364
    functionName: try_unite_last_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - band_list_insert_last
    - trap_unreserve
    - band_list_remove
    - band_list_last
    - cont_unreserve
    - return_error
    linkageType: ''
    returnType: int
    signature: int try_unite_last_trap(gx_device_spot_analyzer *padev, fixed xlbot)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: trap_area
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double trap_area(gx_san_trap *t)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gzspotan.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - t
    argTypes:
    - gx_san_trap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 379
    functionName: trap_axis_length
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - hypot
    linkageType: ''
    returnType: double
    signature: double trap_axis_length(gx_san_trap *t)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gzspotan.c:390,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:392,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/gzspotan.c:397,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:399,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - t
    - side_mask
    argTypes:
    - gx_san_trap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 403
    functionName: is_stem_boundaries
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - hypot
    - any_abs
    linkageType: ''
    returnType: bool
    signature: bool is_stem_boundaries(gx_san_trap *t, int side_mask)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gzspotan.c:418,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:421,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gzspotan.c:422,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gzspotan.c:424,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gzspotan.c:426,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - mem
    - ppadev
    argTypes:
    - gs_memory_t*
    - gx_device_spot_analyzer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 432
    functionName: gx_san__obtain
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 1
    functionsReached:
    - gx_device_init
    - gs_alloc_struct
    - gs_opendevice
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_san__obtain(gs_memory_t *mem, gx_device_spot_analyzer **ppadev)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: eprintf
      Src: /src/libspectre/ghostscript/base/gzspotan.c:441,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gzspotan.c:445,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gzspotan.c:450,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - ppadev
    argTypes:
    - gx_device_spot_analyzer**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 452
    functionName: gx_san__release
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 1
    functionsReached:
    - emprintf
    - eprintf
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_san__release(gx_device_spot_analyzer **ppadev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - padev
    argTypes:
    - gx_device_spot_analyzer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 463
    functionName: gx_san_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_san_begin(gx_device_spot_analyzer *padev)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: try_unite_last_trap
      Src: /src/libspectre/ghostscript/base/gzspotan.c:476,1
    - Dst: try_unite_last_trap
      Src: /src/libspectre/ghostscript/base/gzspotan.c:488,1
    - Dst: check_band_list
      Src: /src/libspectre/ghostscript/base/gzspotan.c:492,1
    - Dst: check_band_list
      Src: /src/libspectre/ghostscript/base/gzspotan.c:495,1
    - Dst: trap_reserve
      Src: /src/libspectre/ghostscript/base/gzspotan.c:499,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:501,1
    - Dst: band_list_insert_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:520,1
    - Dst: check_band_list
      Src: /src/libspectre/ghostscript/base/gzspotan.c:521,1
    - Dst: trap_is_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:525,1
    - Dst: band_list_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:529,1
    - Dst: cont_reserve
      Src: /src/libspectre/ghostscript/base/gzspotan.c:532,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gzspotan.c:535,1
    - Dst: cont_list_insert_last
      Src: /src/libspectre/ghostscript/base/gzspotan.c:538,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gzspotan.c:546,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gzspotan.c:547,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gzspotan.c:549,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gzspotan.c:549,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gzspotan.c:550,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gzspotan.c:550,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 70
    argCount: 11
    argNames:
    - padev
    - ybot
    - ytop
    - xlbot
    - xrbot
    - xltop
    - xrtop
    - l
    - r
    - dir_l
    - dir_r
    argTypes:
    - gx_device_spot_analyzer*
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - fixed
    - segment*
    - segment*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 553
    functionName: gx_san_trap_store
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - cont_list_insert_last
    - check_band_list
    - band_list_insert_last
    - trap_is_last
    - try_unite_last_trap
    - max
    - band_list_last
    - cont_reserve
    - return_error
    - min
    - trap_reserve
    linkageType: ''
    returnType: int
    signature: "int gx_san_trap_store(gx_device_spot_analyzer *padev,\n    fixed ybot,
      fixed ytop, fixed xlbot, fixed xrbot, fixed xltop, fixed xrtop,\n    const segment
      *l, const segment *r, int dir_l, int dir_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - padev
    argTypes:
    - gx_device_spot_analyzer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 556
    functionDepth: 0
    functionLinenumber: 556
    functionLinenumberEnd: 559
    functionName: gx_san_end
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_san_end(const gx_device_spot_analyzer *padev)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:574,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:583,1
    - Dst: handler
      Src: /src/libspectre/ghostscript/base/gzspotan.c:597,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 6
    argNames:
    - padev
    - side_mask
    - client_data
    - t0
    - t1
    - ave_width
    argTypes:
    - gx_device_spot_analyzer*
    - int
    - void*
    - gx_san_trap*
    - gx_san_trap*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 602
    functionName: hint_by_trap
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - any_abs
    - handler
    linkageType: ''
    returnType: int
    signature: "int hint_by_trap(gx_device_spot_analyzer *padev, int side_mask,\n
      \   void *client_data, gx_san_trap *t0, gx_san_trap *t1, double ave_width,\n
      \   int (*handler)(void *client_data, gx_san_sect *ss))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:609,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:609,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gzspotan.c:610,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 10
    argNames:
    - x0
    - y0
    - x1
    - y1
    - s
    - slope
    - len
    - store_segm
    - store_x
    - store_y
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - segment*
    - double*
    - double*
    - segment**
    - fixed*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 620
    functionName: choose_by_vector
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - any_abs
    linkageType: ''
    returnType: void
    signature: "void choose_by_vector(fixed x0, fixed y0, fixed x1, fixed y1, const
      segment *s,\n        double *slope, double *len, const segment **store_segm,
      fixed *store_x, fixed *store_y)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: choose_by_vector
      Src: /src/libspectre/ghostscript/base/gzspotan.c:630,1
    - Dst: choose_by_vector
      Src: /src/libspectre/ghostscript/base/gzspotan.c:632,1
    - Dst: choose_by_vector
      Src: /src/libspectre/ghostscript/base/gzspotan.c:634,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 9
    argNames:
    - p
    - s
    - slope
    - len
    - store_segm
    - store_x
    - store_y
    - ybot
    - ytop
    argTypes:
    - segment*
    - segment*
    - double*
    - double*
    - segment**
    - fixed*
    - fixed*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 636
    functionName: choose_by_tangent
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - choose_by_vector
    linkageType: ''
    returnType: void
    signature: "void choose_by_tangent(const segment *p, const segment *s,\n        double
      *slope, double *len, const segment **store_segm, fixed *store_x, fixed *store_y,\n
      \       fixed ybot, fixed ytop)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - t0
    - left_right
    argTypes:
    - gx_san_trap*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 653
    functionName: upper_neighbour
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_san_trap
    signature: 'gx_san_trap *

      upper_neighbour(gx_san_trap *t0, int left_right)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: upper_neighbour
      Src: /src/libspectre/ghostscript/base/gzspotan.c:671,1
    - Dst: choose_by_tangent
      Src: /src/libspectre/ghostscript/base/gzspotan.c:677,1
    - Dst: choose_by_tangent
      Src: /src/libspectre/ghostscript/base/gzspotan.c:684,1
    - Dst: handler
      Src: /src/libspectre/ghostscript/base/gzspotan.c:703,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 6
    argNames:
    - padev
    - side_mask
    - client_data
    - t0
    - t1
    - ave_width
    argTypes:
    - gx_device_spot_analyzer*
    - int
    - void*
    - gx_san_trap*
    - gx_san_trap*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 708
    functionName: hint_by_tangent
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - choose_by_tangent
    - upper_neighbour
    - handler
    linkageType: ''
    returnType: int
    signature: "int hint_by_tangent(gx_device_spot_analyzer *padev, int side_mask,\n
      \   void *client_data, gx_san_trap *t0, gx_san_trap *t1, double ave_width,\n
      \   int (*handler)(void *client_data, gx_san_sect *ss))"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: is_stem_boundaries
      Src: /src/libspectre/ghostscript/base/gzspotan.c:729,1
    - Dst: upper_neighbour
      Src: /src/libspectre/ghostscript/base/gzspotan.c:734,1
    - Dst: is_stem_boundaries
      Src: /src/libspectre/ghostscript/base/gzspotan.c:738,1
    - Dst: hint_by_tangent
      Src: /src/libspectre/ghostscript/base/gzspotan.c:751,1
    - Dst: is_stem_boundaries
      Src: /src/libspectre/ghostscript/base/gzspotan.c:763,1
    - Dst: is_stem_boundaries
      Src: /src/libspectre/ghostscript/base/gzspotan.c:771,1
    - Dst: trap_axis_length
      Src: /src/libspectre/ghostscript/base/gzspotan.c:785,1
    - Dst: trap_area
      Src: /src/libspectre/ghostscript/base/gzspotan.c:786,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 63
    argCount: 3
    argNames:
    - padev
    - overall_hints
    - client_data
    argTypes:
    - gx_device_spot_analyzer*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 711
    functionDepth: 4
    functionLinenumber: 711
    functionLinenumberEnd: 804
    functionName: gx_san_generate_stems_aux
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 0
    functionsReached:
    - is_stem_boundaries
    - hint_by_tangent
    - trap_axis_length
    - upper_neighbour
    - trap_area
    linkageType: ''
    returnType: int
    signature: "int gx_san_generate_stems_aux(gx_device_spot_analyzer *padev,\n                bool
      overall_hints, void *client_data,\n                int (*handler)(void *client_data,
      gx_san_sect *ss))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_san_generate_stems_aux
      Src: /src/libspectre/ghostscript/base/gzspotan.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - padev
    - overall_hints
    - client_data
    argTypes:
    - gx_device_spot_analyzer*
    - bool
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 806
    functionDepth: 5
    functionLinenumber: 806
    functionLinenumberEnd: 812
    functionName: gx_san_generate_stems
    functionSourceFile: /src/libspectre/ghostscript/base/gzspotan.c
    functionUses: 1
    functionsReached:
    - gx_san_generate_stems_aux
    linkageType: ''
    returnType: int
    signature: "int gx_san_generate_stems(gx_device_spot_analyzer *padev,\n                bool
      overall_hints, void *client_data,\n                int (*handler)(void *client_data,
      gx_san_sect *ss))"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:36,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:37,1
    - Dst: gx_check_fixed_sum_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:40,1
    - Dst: gx_check_fixed_sum_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:44,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:48,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ppath
    - pseg
    argTypes:
    - gx_path*
    - segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 55
    functionName: break_line_if_long
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - gx_check_fixed_diff_overflow
    - gx_check_fixed_sum_overflow
    - gx_path_add_line_notes
    linkageType: ''
    returnType: int
    signature: int break_line_if_long(gx_path *ppath, const segment *pseg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:62,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:63,1
    - Dst: gx_check_fixed_sum_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:66,1
    - Dst: gx_check_fixed_sum_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:70,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - ppath
    - pseg
    argTypes:
    - gx_path*
    - segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 81
    functionName: break_gap_if_long
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - gx_check_fixed_diff_overflow
    - gx_check_fixed_sum_overflow
    - gx_path_add_gap_notes
    linkageType: ''
    returnType: int
    signature: int break_gap_if_long(gx_path *ppath, const segment *pseg)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_unshare
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:97,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:102,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:103,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:110,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:110,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:110,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:112,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:112,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:112,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:119,1
    - Dst: gx_curve_monotonize
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:128,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:130,1
    - Dst: SET_EXTENT
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:162,1
    - Dst: SET_EXTENT
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:163,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:171,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:173,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:175,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:177,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:182,1
    - Dst: fixed_mult_quo
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:185,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:187,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:188,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:191,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:200,1
    - Dst: gx_subdivide_curve
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:207,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:215,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:221,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:223,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:225,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:227,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:229,1
    - Dst: adjust_point_to_tangent
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:231,1
    - Dst: gx_subdivide_curve
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:234,1
    - Dst: break_line_if_long
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:240,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:243,1
    - Dst: break_gap_if_long
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:247,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:250,1
    - Dst: gx_path_add_dash_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:257,1
    - Dst: break_line_if_long
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:262,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:265,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:268,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:271,1
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:276,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:277,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:280,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:286,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:287,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:288,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:289,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:296,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:297,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 124
    argCount: 5
    argNames:
    - ppath_old
    - ppath
    - fixed_flatness
    - pgs
    - options
    argTypes:
    - gx_path*
    - gx_path*
    - fixed
    - gs_gstate*
    - gx_path_copy_options
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 85
    functionDepth: 5
    functionLinenumber: 85
    functionLinenumberEnd: 300
    functionName: gx_path_copy_reducing
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 1
    functionsReached:
    - gx_curve_log2_samples
    - break_line_if_long
    - max
    - path_last_is_moveto
    - gs_debug_c
    - gx_path_unshare
    - gx_curve_monotonize
    - fixed_mult_quo
    - gx_path_add_gap_notes
    - gs_note_error
    - min
    - gx_path_new
    - float2fixed
    - adjust_point_to_tangent
    - gx_path_add_line_notes
    - gx_subdivide_curve
    - gx_path_close_subpath
    - gx_path_add_curve_notes
    - break_gap_if_long
    - gx_dump_path
    - fabs
    - gx_path_add_point
    - gx_path_add_dash_notes
    - SET_EXTENT
    linkageType: ''
    returnType: int
    signature: "int gx_path_copy_reducing(const gx_path *ppath_old, gx_path *ppath,\n
      \                     fixed fixed_flatness, const gs_gstate *pgs,\n                      gx_path_copy_options
      options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 162
    functionName: SET_EXTENT
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_EXTENT(r, c0, c1, c2, c3)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:327,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:331,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:332,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:337,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:339,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:340,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:349,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:356,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - pseg
    - next
    - p1
    argTypes:
    - segment*
    - segment*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 360
    functionName: adjust_point_to_tangent
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 1
    functionsReached:
    - arith_rshift
    - if_debug3
    - if_debug1
    - fixed2float
    linkageType: ''
    returnType: void
    signature: "void adjust_point_to_tangent(segment * pseg, const segment * next,\n
      \                       const gs_fixed_point * p1)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:385,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:386,1
    - Dst: gx_curve_monotonic_points
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:395,1
    - Dst: gx_curve_monotonic_points
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:400,1
    - Dst: gx_curve_log2_samples
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:407,1
    - Dst: curve_coeffs_ranged
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:409,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:413,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:414,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 37
    argCount: 3
    argNames:
    - ppath
    - options
    - fixed_flat
    argTypes:
    - gx_path*
    - gx_path_copy_options
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 426
    functionName: gx_path__check_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 1
    functionsReached:
    - gx_curve_log2_samples
    - gx_curve_monotonic_points
    - gx_check_fixed_diff_overflow
    - curve_coeffs_ranged
    linkageType: ''
    returnType: bool
    signature: bool gx_path__check_curves(const gx_path * ppath, gx_path_copy_options
      options, fixed fixed_flat)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:447,1
    - Dst: gx_check_fixed_diff_overflow
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 435
    functionDepth: 2
    functionLinenumber: 435
    functionLinenumberEnd: 456
    functionName: gx_path_has_long_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - gx_check_fixed_diff_overflow
    linkageType: ''
    returnType: bool
    signature: bool gx_path_has_long_segments(const gx_path * ppath)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gx_curve_monotonic_points
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:473,1
    - Dst: gx_curve_monotonic_points
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:474,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:477,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:503,1
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:513,1
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:514,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:545,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:564,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 2
    argNames:
    - ppath
    - pc
    argTypes:
    - gx_path*
    - curve_segment*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 565
    functionName: gx_curve_monotonize
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 2
    functionsReached:
    - gx_path_add_curve_notes
    - gx_curve_monotonic_points
    - any_abs
    - curve_points_to_coefficients
    linkageType: ''
    returnType: int
    signature: int gx_curve_monotonize(gx_path * ppath, const curve_segment * pc)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: curve_points_to_coefficients
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:598,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:606,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:606,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:618,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:618,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:632,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:632,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:666,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:666,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:680,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:683,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:693,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 5
    argNames:
    - v0
    - v1
    - v2
    - v3
    - pst
    argTypes:
    - fixed
    - fixed
    - fixed
    - fixed
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 709
    functionName: gx_curve_monotonic_points
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 2
    functionsReached:
    - sqrt
    - any_abs
    - if_debug2
    - if_debug1
    - curve_points_to_coefficients
    linkageType: ''
    returnType: int
    signature: "int gx_curve_monotonic_points(fixed v0, fixed v1, fixed v2, fixed
      v3,\n                          double pst[2])"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:736,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:737,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:742,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:742,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:745,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:746,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:755,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:756,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 28
    argCount: 6
    argNames:
    - sp0
    - sp0last
    - sp1
    - sp1last
    - sc0
    - sc1
    argTypes:
    - subpath*
    - segment*
    - subpath*
    - segment*
    - segment**
    - segment**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 770
    functionName: find_contacting_segments
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - any_abs
    - min
    - max
    linkageType: ''
    returnType: bool
    signature: "bool find_contacting_segments(const subpath *sp0, segment *sp0last,\n
      \                        const subpath *sp1, segment *sp1last,\n                         segment
      **sc0, segment **sc1)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: find_contacting_segments
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:793,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:809,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:809,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:813,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:813,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:837,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:837,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 50
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 772
    functionDepth: 2
    functionLinenumber: 772
    functionLinenumberEnd: 853
    functionName: gx_path_merge_contacting_contours
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 1
    functionsReached:
    - find_contacting_segments
    - gs_memory_stable
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_path_merge_contacting_contours(gx_path *ppath)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 3
    argNames:
    - rect
    - x
    - y
    argTypes:
    - gs_fixed_rect*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 927
    functionName: is_colinear
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int is_colinear(gs_fixed_rect *rect, fixed x, fixed y)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_unshare
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:937,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:942,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:943,1
    - Dst: dlprintf
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:955,1
    - Dst: is_colinear
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:962,1
    - Dst: is_colinear
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:963,1
    - Dst: is_colinear
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:964,1
    - Dst: is_colinear
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:966,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:982,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:989,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:995,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:999,1
    - Dst: gx_path_add_dash_notes
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1006,1
    - Dst: gx_path_close_subpath
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1011,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1014,1
    - Dst: gx_path_new
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1019,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1026,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1027,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 68
    argCount: 2
    argNames:
    - ppath_old
    - ppath
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 929
    functionDepth: 3
    functionLinenumber: 929
    functionLinenumberEnd: 1030
    functionName: gx_path_copy_eliding_1d
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - gx_path_add_curve_notes
    - gs_debug_c
    - gs_note_error
    - dlprintf
    - gx_dump_path
    - gx_path_unshare
    - is_colinear
    - gx_path_add_gap_notes
    - gx_path_add_point
    - gx_path_add_line_notes
    - gx_path_add_dash_notes
    - gx_path_close_subpath
    - gx_path_new
    linkageType: ''
    returnType: int
    signature: int gx_path_copy_eliding_1d(const gx_path *ppath_old, gx_path *ppath)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1038,1
    - Dst: gx_path_copy_eliding_1d
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1039,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1042,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/base/gxpcopy.c:1043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1032
    functionDepth: 4
    functionLinenumber: 1032
    functionLinenumberEnd: 1046
    functionName: gx_path_elide_1d
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcopy.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gx_path_free
    - gx_path_copy_eliding_1d
    - gx_path_init_local
    linkageType: ''
    returnType: int
    signature: int gx_path_elide_1d(gx_path *ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: DENT
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DENT(v, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DENT
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - index
    - in
    - pwbsd
    - pcrd
    - out
    argTypes:
    - int
    - double
    - gs_cie_wbsd*
    - gs_cie_render*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: bit_TransformPQR_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 0
    functionsReached:
    - DENT
    linkageType: ''
    returnType: int
    signature: "int bit_TransformPQR_proc(int index, double in, const gs_cie_wbsd
      * pwbsd,\n                      gs_cie_render * pcrd, float *out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DENT
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: bit_EncodeLMN_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 0
    functionsReached:
    - DENT
    linkageType: ''
    returnType: float
    signature: float bit_EncodeLMN_proc(double in, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pow
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:70,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcrd
    argTypes:
    - double
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: bit_EncodeABC_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 0
    functionsReached:
    - pow
    - max
    linkageType: ''
    returnType: float
    signature: float bit_EncodeABC_proc(double in, const gs_cie_render * pcrd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - in
    - pcrd
    argTypes:
    - byte
    - gs_cie_render*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: bit_rt_proc
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: frac
    signature: frac bit_rt_proc(byte in, const gs_cie_render *pcrd)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:114,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:119,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:121,1
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:125,1
    - Dst: gs_cie_render1_build
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:127,1
    - Dst: gs_cie_render1_initialize
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:134,1
    - Dst: param_write_cie_render1
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:141,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:144,1
    - Dst: param_requested
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:149,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:155,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:160,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:164,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/base/gdevdcrd.c:168,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - pdev
    - plist
    - crd_param_name
    argTypes:
    - gx_device*
    - gs_param_list*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 174
    functionName: sample_device_crd_get_params
    functionSourceFile: /src/libspectre/ghostscript/base/gdevdcrd.c
    functionUses: 5
    functionsReached:
    - gs_cie_render1_initialize
    - param_write_cie_render1
    - param_write_string
    - strlen
    - gs_cie_render1_build
    - memcpy
    - param_requested
    - rc_decrement
    - gs_alloc_string
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: "int sample_device_crd_get_params(gx_device *pdev, gs_param_list *plist,\n
      \                            const char *crd_param_name)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dda_previous_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:78,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:79,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:89,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:94,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:103,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:108,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:117,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sidscale.c:120,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:128,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:133,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:142,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:147,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:156,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sidscale.c:159,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 79
    argCount: 3
    argNames:
    - tmp
    - src
    - ss
    argTypes:
    - void*
    - void*
    - stream_ISpecialDownScale_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 162
    functionName: idownscale_x
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - dda_next_assign
    - dda_previous_assign
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: void idownscale_x(void /* PixelIn */ * tmp, const void /* PixelIn */
      *src, stream_ISpecialDownScale_state *const ss)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sidscale.c:179,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:186,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:193,1
    - Dst: frac2byte
      Src: /src/libspectre/ghostscript/base/sidscale.c:194,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:202,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sidscale.c:209,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/sidscale.c:214,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - dst
    - tmp
    - ss
    argTypes:
    - void*
    - void*
    - stream_ISpecialDownScale_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 215
    functionName: idownscale_y
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 0
    functionsReached:
    - frac2byte
    - if_debug1m
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: "void idownscale_y(void /*PixelOut */ *dst, const void /* PixelIn */
      *tmp,\n             stream_ISpecialDownScale_state *const ss)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 231
    functionName: s_ISpecialDownScale_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_ISpecialDownScale_set_defaults(stream_state * st)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/sidscale.c:251,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/sidscale.c:254,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sidscale.c:258,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sidscale.c:262,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/sidscale.c:265,1
    - Dst: s_ISpecialDownScale_release
      Src: /src/libspectre/ghostscript/base/sidscale.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 275
    functionName: s_ISpecialDownScale_init
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - s_ISpecialDownScale_release
    - dda_init
    linkageType: ''
    returnType: int
    signature: int s_ISpecialDownScale_init(stream_state * st)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/sidscale.c:283,1
    - Dst: idownscale_y
      Src: /src/libspectre/ghostscript/base/sidscale.c:311,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/sidscale.c:318,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sidscale.c:321,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sidscale.c:351,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/sidscale.c:356,1
    - Dst: idownscale_x
      Src: /src/libspectre/ghostscript/base/sidscale.c:359,1
    - Dst: dda_next_assign
      Src: /src/libspectre/ghostscript/base/sidscale.c:362,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sidscale.c:366,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 372
    functionName: s_ISpecialDownScale_process
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 0
    functionsReached:
    - idownscale_y
    - memcpy
    - idownscale_x
    - if_debug2m
    - dda_current
    - min
    - dda_next_assign
    linkageType: ''
    returnType: int
    signature: "int s_ISpecialDownScale_process(stream_state * st, stream_cursor_read
      * pr,\n                 stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sidscale.c:381,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sidscale.c:383,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/sidscale.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 387
    functionName: s_ISpecialDownScale_release
    functionSourceFile: /src/libspectre/ghostscript/base/sidscale.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_ISpecialDownScale_release(stream_state * st)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gxipixel.c:83,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gxipixel.c:98,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 100
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(image_enum_enum_ptrs, gx_image_enum *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: e1
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: e1(i,elt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_enum_do_ptrs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:112,1
    - Dst: RELOC_USING
      Src: /src/libspectre/ghostscript/base/gxipixel.c:123,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 127
    functionName: RELOC_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - gx_image_enum_do_ptrs
    - RELOC_USING
    linkageType: ''
    returnType: ENUM_PTRS_END
    signature: ENUM_PTRS_END RELOC_PTRS_WITH(image_enum_reloc_ptrs, gx_image_enum
      *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - elt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: r1
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r1(i,elt)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:158,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:164,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:169,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:176,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxipixel.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:182,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxipixel.c:183,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxipixel.c:202,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gxipixel.c:203,1
    - Dst: dmprintf4
      Src: /src/libspectre/ghostscript/base/gxipixel.c:205,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 4
    argNames:
    - pic
    - prect
    - mem
    - ppenum
    argTypes:
    - gs_image_common_t*
    - gs_int_rect*
    - gs_memory_t*
    - gx_image_enum**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 211
    functionName: gx_image_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    - dmprintf4
    - memset
    - return_error
    - dmlprintf2
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: "int gx_image_enum_alloc(const gs_image_common_t * pic,\n                    const
      gs_int_rect * prect, gs_memory_t * mem,\n                    gx_image_enum **ppenum)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/gxipixel.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 223
    functionName: float2fixed_rounded_boxed
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 0
    functionsReached:
    - floor
    linkageType: ''
    returnType: fixed
    signature: fixed float2fixed_rounded_boxed(double src)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxipixel.c:233,1
    - Dst: gs_matrix_invert_to_double
      Src: /src/libspectre/ghostscript/base/gxipixel.c:242,1
    - Dst: gs_matrix_multiply_double
      Src: /src/libspectre/ghostscript/base/gxipixel.c:243,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - pgs
    - pmat
    - ImageMatrix
    - rmat
    argTypes:
    - gs_gstate*
    - gs_matrix*
    - gs_matrix*
    - gs_matrix_double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 249
    functionName: gx_image_compute_mat
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - ctm_only
    - gs_matrix_invert_to_double
    - gs_matrix_multiply_double
    linkageType: ''
    returnType: int
    signature: "int gx_image_compute_mat(const gs_gstate *pgs, const gs_matrix *pmat,
      const gs_matrix *ImageMatrix,\n                     gs_matrix_double *rmat)"
  - BBCount: 107
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_compute_mat
      Src: /src/libspectre/ghostscript/base/gxipixel.c:298,1
    - Dst: lop_sanitize
      Src: /src/libspectre/ghostscript/base/gxipixel.c:301,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:321,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:339,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:356,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:356,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:356,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:358,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:358,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:358,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:359,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:360,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:362,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:362,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:362,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:364,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:364,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:364,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:365,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:366,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:371,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:371,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:371,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:373,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:373,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:373,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:374,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:375,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:377,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:377,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:377,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:379,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:379,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:379,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:380,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:381,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:387,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:387,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:387,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:389,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:389,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:389,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:390,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:391,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:393,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:393,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:393,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:395,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:395,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:395,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:396,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:397,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:402,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:402,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:402,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:404,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:404,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:404,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:405,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:406,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:408,1
    - Dst: fixed2int_ceiling
      Src: /src/libspectre/ghostscript/base/gxipixel.c:408,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:408,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:410,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxipixel.c:410,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:410,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:411,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:412,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxipixel.c:439,1
    - Dst: gs_matrix_invert
      Src: /src/libspectre/ghostscript/base/gxipixel.c:442,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxipixel.c:443,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxipixel.c:447,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:448,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:449,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:450,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:451,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/base/gxipixel.c:452,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:493,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:495,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:496,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:497,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:498,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:499,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gxipixel.c:500,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/gxipixel.c:564,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:572,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:576,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:576,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:579,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:583,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:583,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:586,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxipixel.c:588,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:589,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxipixel.c:591,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:592,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:593,1
    - Dst: gx_image_enum_common_init
      Src: /src/libspectre/ghostscript/base/gxipixel.c:594,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxipixel.c:597,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxipixel.c:597,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:605,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxipixel.c:607,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:608,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gxipixel.c:610,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:611,1
    - Dst: float2fixed_rounded_boxed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:612,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxipixel.c:617,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:621,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxipixel.c:639,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxipixel.c:640,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:642,1
    - Dst: rop3_know_S_0
      Src: /src/libspectre/ghostscript/base/gxipixel.c:648,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/base/gxipixel.c:653,1
    - Dst: image_init_colors
      Src: /src/libspectre/ghostscript/base/gxipixel.c:679,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:682,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:683,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gxipixel.c:684,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxipixel.c:689,1
    - Dst: gs_colorspace_set_icc_equivalent
      Src: /src/libspectre/ghostscript/base/gxipixel.c:690,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gxipixel.c:698,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:699,1
    - Dst: gsicc_adjust_profile_rc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:701,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/base/gxipixel.c:707,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gxipixel.c:708,1
    - Dst: color_draws_b_w
      Src: /src/libspectre/ghostscript/base/gxipixel.c:708,1
    - Dst: rop3_know_T_0
      Src: /src/libspectre/ghostscript/base/gxipixel.c:709,1
    - Dst: rop3_uses_T
      Src: /src/libspectre/ghostscript/base/gxipixel.c:712,1
    - Dst: color_draws_b_w
      Src: /src/libspectre/ghostscript/base/gxipixel.c:714,1
    - Dst: color_draws_b_w
      Src: /src/libspectre/ghostscript/base/gxipixel.c:715,1
    - Dst: rop3_invert_S
      Src: /src/libspectre/ghostscript/base/gxipixel.c:723,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gxipixel.c:735,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:737,1
    - Dst: set_nonclient_dev_color
      Src: /src/libspectre/ghostscript/base/gxipixel.c:741,1
    - Dst: rop3_not
      Src: /src/libspectre/ghostscript/base/gxipixel.c:745,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:751,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:766,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:790,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxipixel.c:821,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxipixel.c:823,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/base/gxipixel.c:824,1
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxipixel.c:825,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:834,1
    - Dst: gx_cpath_outer_box
      Src: /src/libspectre/ghostscript/base/gxipixel.c:839,1
    - Dst: gx_cpath_inner_box
      Src: /src/libspectre/ghostscript/base/gxipixel.c:840,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxipixel.c:856,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxipixel.c:856,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxipixel.c:857,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxipixel.c:857,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxipixel.c:858,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxipixel.c:858,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxipixel.c:859,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxipixel.c:859,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gxipixel.c:885,1
    - Dst: arith_rshift_1
      Src: /src/libspectre/ghostscript/base/gxipixel.c:891,1
    - Dst: if_debug5m
      Src: /src/libspectre/ghostscript/base/gxipixel.c:896,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:898,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:898,1
    - Dst: if_debug9m
      Src: /src/libspectre/ghostscript/base/gxipixel.c:899,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:901,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:901,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:902,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:902,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:903,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:903,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:904,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxipixel.c:904,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxipixel.c:908,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxipixel.c:909,1
    - Dst: fixed2int_pixround_perfect
      Src: /src/libspectre/ghostscript/base/gxipixel.c:918,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxipixel.c:918,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxipixel.c:923,1
    - Dst: dda_next
      Src: /src/libspectre/ghostscript/base/gxipixel.c:924,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxipixel.c:927,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxipixel.c:928,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxipixel.c:932,1
    - Dst: dda_init
      Src: /src/libspectre/ghostscript/base/gxipixel.c:933,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxipixel.c:935,1
    - Dst: dda_advance
      Src: /src/libspectre/ghostscript/base/gxipixel.c:936,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxipixel.c:939,1
    - Dst: dda_current
      Src: /src/libspectre/ghostscript/base/gxipixel.c:940,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:944,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:944,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:946,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:946,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:948,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:948,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:950,1
    - Dst: fixed_pixround
      Src: /src/libspectre/ghostscript/base/gxipixel.c:950,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxipixel.c:959,1
    - Dst: gx_make_clip_device_in_heap
      Src: /src/libspectre/ghostscript/base/gxipixel.c:966,1
    - Dst: gx_alloc_rop_texture_device
      Src: /src/libspectre/ghostscript/base/gxipixel.c:973,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:979,1
    - Dst: gx_make_rop_texture_device
      Src: /src/libspectre/ghostscript/base/gxipixel.c:981,1
    - Dst: gx_device_retain
      Src: /src/libspectre/ghostscript/base/gxipixel.c:985,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1017,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1034,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1040,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1041,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1042,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1043,1
    CyclomaticComplexity: 169
    EdgeCount: 169
    ICount: 478
    argCount: 8
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - pdcolor
    - pcpath
    - mem
    - penum
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 258
    functionDepth: 5
    functionLinenumber: 258
    functionLinenumberEnd: 1045
    functionName: gx_image_enum_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - lop_sanitize
    - gs_color_space_is_PSCIE
    - if_debug1m
    - gs_alloc_bytes
    - gx_cpath_inner_box
    - image_init_colors
    - rop3_know_T_0
    - max
    - rc_decrement
    - color_is_pure
    - if_debug9m
    - dda_current
    - gs_alloc_struct
    - gx_device_retain
    - if_debug5m
    - gs_matrix_multiply
    - gs_debug_c
    - gsicc_adjust_profile_rc
    - rop3_uses_T
    - ctm_only
    - cs_num_components
    - gx_cpath_outer_box
    - gx_image_enum_common_init
    - dda_init
    - gx_image_compute_mat
    - dda_advance
    - rop3_not
    - gs_matrix_invert
    - min
    - fixed2int_pixround_perfect
    - gs_bbox_transform
    - gs_free_object
    - float2fixed
    - gs_colorspace_set_icc_equivalent
    - color_draws_b_w
    - float2fixed_rounded_boxed
    - gs_throw
    - fixed2int
    - rop3_know_S_0
    - rop3_invert_S
    - dda_next
    - dev_proc
    - int2fixed
    - fixed2int_ceiling
    - set_nonclient_dev_color
    - gx_alloc_rop_texture_device
    - any_abs
    - gx_make_clip_device_in_heap
    - fixed_pixround
    - if_debug6m
    - dmprintf5
    - arith_rshift_1
    - is_fzero
    - dmprintf1
    - memcpy
    - gx_make_rop_texture_device
    - return_error
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gx_image_enum_begin(gx_device * dev, const gs_gstate * pgs,\n
      \                   const gs_matrix *pmat, const gs_image_common_t * pic,\n
      \               const gx_drawing_color * pdcolor, const gx_clip_path * pcpath,\n
      \               gs_memory_t * mem, gx_image_enum *penum)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1052,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1055,1
    - Dst: gx_dc_pure_color
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - pdcolor
    argTypes:
    - gx_device*
    - gx_drawing_color*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1063
    functionName: color_draws_b_w
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - gx_dc_pure_color
    - dev_proc
    - color_is_pure
    linkageType: ''
    returnType: int
    signature: int color_draws_b_w(gx_device * dev, const gx_drawing_color * pdcolor)
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 4
    argNames:
    - penum
    - input
    - output
    - scale
    argTypes:
    - gx_image_enum*
    - byte
    - byte*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1095
    functionName: image_cache_decode
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void image_cache_decode(gx_image_enum *penum, byte input, byte *output,
      bool scale)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_is_ICC
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1103,1
    - Dst: gs_color_space_is_PSCIE
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1104,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gx_image_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1109
    functionName: decode_range_needed
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 0
    functionsReached:
    - gs_color_space_is_PSCIE
    - gs_color_space_is_ICC
    linkageType: ''
    returnType: bool
    signature: bool decode_range_needed(gx_image_enum *penum)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1130,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1138,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1141,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1152,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1155,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1157,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1160,1
    - Dst: decode_range_needed
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1170,1
    - Dst: image_cache_decode
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1180,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1186,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1194,1
    - Dst: cmap_transfer
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1196,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1198,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1201,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1207,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1208,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1217,1
    - Dst: image_cache_decode
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1224,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1225,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1226,1
    - Dst: image_cache_decode
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1231,1
    - Dst: gs_cspace_indexed_lookup_bytes
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1242,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1243,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1247,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1251,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1263,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1265,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1278,1
    - Dst: cmap_transfer
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1280,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1282,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1287,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 103
    argCount: 3
    argNames:
    - penum
    - bps
    - spp
    argTypes:
    - gx_image_enum*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1116
    functionDepth: 3
    functionLinenumber: 1116
    functionLinenumberEnd: 1290
    functionName: image_init_color_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - decode_range_needed
    - gs_color_space_get_index
    - cmap_transfer
    - gs_alloc_bytes
    - gs_rethrow
    - gx_color_value_to_byte
    - gs_color_space_num_components
    - gs_cspace_indexed_lookup_bytes
    - memset
    - image_cache_decode
    - memcpy
    - gs_free_object
    - gsicc_init_buffer
    - gx_color_value_from_byte
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int image_init_color_cache(gx_image_enum * penum, int bps, int spp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1321,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1321,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1321,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1322,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1322,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1322,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1323,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1323,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1323,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1324,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1324,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1324,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1328,1
    - Dst: ictype
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - penum
    - bps
    - spp
    argTypes:
    - gx_image_enum*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1293
    functionDepth: 1
    functionLinenumber: 1293
    functionLinenumberEnd: 1331
    functionName: image_init_clues
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - ictype
    linkageType: ''
    returnType: void
    signature: void image_init_clues(gx_image_enum * penum, int bps, int spp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1297
    functionDepth: 0
    functionLinenumber: 1297
    functionLinenumberEnd: 1299
    functionName: ictype
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ictype(i)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: image_init_clues
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1347,1
    - Dst: image_init_map
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1379,1
    - Dst: image_init_map
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1385,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1392,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxipixel.c:1394,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 68
    argCount: 9
    argNames:
    - penum
    - bps
    - spp
    - format
    - decode
    - pgs
    - dev
    - pcs
    - pdcb
    argTypes:
    - gx_image_enum*
    - int
    - int
    - gs_image_format_t
    - float*
    - gs_gstate*
    - gx_device*
    - gs_color_space*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1334
    functionDepth: 2
    functionLinenumber: 1334
    functionLinenumberEnd: 1452
    functionName: image_init_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 1
    functionsReached:
    - image_init_clues
    - image_init_map
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int image_init_colors(gx_image_enum * penum, int bps, int spp,\n                  gs_image_format_t
      format, const float *decode /*[spp*2] */ ,\n                  const gs_gstate
      * pgs, gx_device * dev,\n                  const gs_color_space * pcs, bool
      * pdcb)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - map
    - map_size
    - decode
    argTypes:
    - byte*
    - int
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1478
    functionName: image_init_map
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void image_init_map(byte * map, int map_size, const float *decode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - penum
    - component_index
    argTypes:
    - gx_image_enum*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1485
    functionDepth: 0
    functionLinenumber: 1485
    functionLinenumberEnd: 1499
    functionName: gx_image_scale_mask_colors
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_image_scale_mask_colors(gx_image_enum *penum, int component_index)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pgs
    - num_comps
    argTypes:
    - gs_gstate*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1502
    functionDepth: 0
    functionLinenumber: 1502
    functionLinenumberEnd: 1513
    functionName: gx_has_transfer
    functionSourceFile: /src/libspectre/ghostscript/base/gxipixel.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gx_has_transfer(const gs_gstate *pgs, int num_comps)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxctable.c:38,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxctable.c:41,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxctable.c:42,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxctable.c:43,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pi
    - pclt
    - pv
    argTypes:
    - fixed*
    - gx_color_lookup_table*
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 50
    functionName: gx_color_interpolate_nearest
    functionSourceFile: /src/libspectre/ghostscript/base/gxctable.c
    functionUses: 0
    functionsReached:
    - fixed2int_var_rounded
    - byte2frac
    linkageType: ''
    returnType: void
    signature: "void gx_color_interpolate_nearest(const fixed * pi,\n                             const
      gx_color_lookup_table * pclt, frac * pv)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxctable.c:65,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxctable.c:66,1
    - Dst: interpolate_accum
      Src: /src/libspectre/ghostscript/base/gxctable.c:74,1
    - Dst: interpolate_accum
      Src: /src/libspectre/ghostscript/base/gxctable.c:78,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxctable.c:80,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxctable.c:81,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxctable.c:83,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxctable.c:84,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gxctable.c:88,1
    - Dst: fixed_fraction
      Src: /src/libspectre/ghostscript/base/gxctable.c:89,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:98,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:99,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:100,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:101,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:102,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:103,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:104,1
    - Dst: byte2frac
      Src: /src/libspectre/ghostscript/base/gxctable.c:105,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:109,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:112,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:115,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:118,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:122,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:125,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:129,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gxctable.c:134,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 4
    argNames:
    - pi
    - pclt
    - pv
    - factor
    argTypes:
    - fixed*
    - gx_color_lookup_table*
    - frac*
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 138
    functionName: interpolate_accum
    functionSourceFile: /src/libspectre/ghostscript/base/gxctable.c
    functionUses: 1
    functionsReached:
    - arith_rshift
    - fixed2int_var
    - byte2frac
    - fixed_fraction
    - interpolate_accum
    linkageType: ''
    returnType: void
    signature: "void interpolate_accum(const fixed * pi, const gx_color_lookup_table
      * pclt,\n                  frac * pv, fixed factor)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: interpolate_accum
      Src: /src/libspectre/ghostscript/base/gxctable.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pi
    - pclt
    - pv
    argTypes:
    - fixed*
    - gx_color_lookup_table*
    - frac*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 144
    functionName: gx_color_interpolate_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxctable.c
    functionUses: 3
    functionsReached:
    - interpolate_accum
    linkageType: ''
    returnType: void
    signature: "void gx_color_interpolate_linear(const fixed * pi,\n                            const
      gx_color_lookup_table * pclt, frac * pv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: gx_path_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_alloc(mem, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ppath
    - ','
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    functionName: gx_path_alloc_contained
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_alloc_contained(ppath, mem, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppath
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: gx_path_init_local
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_init_local(ppath, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ppath
    - ','
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    functionName: gx_path_add_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_line(ppath, x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ppath
    - ','
    - pts
    - ','
    - count
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    functionName: gx_path_add_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_lines(ppath, pts, count)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - ppath
    - ','
    - x1
    - ','
    - y1
    - ','
    - x2
    - ','
    - y2
    - ','
    - x3
    - ','
    - y3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: gx_path_add_curve
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_curve(ppath, x1, y1, x2, y2, x3, y3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 13
    argNames:
    - (
    - ppath
    - ','
    - x3
    - ','
    - y3
    - ','
    - xt
    - ','
    - yt
    - ','
    - fraction
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: gx_path_add_partial_arc
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_partial_arc(ppath, x3, y3, xt, yt, fraction)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: gx_path_close_subpath
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_close_subpath(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 192
    functionName: gx_path_pop_close_subpath
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_pop_close_subpath(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ppath
    - ','
    - pbox
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: gx_path_is_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_rectangle(ppath, pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    functionName: gx_path_is_null_inline
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_null_inline(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x0
    - ','
    - y0
    - ','
    - seg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 244
    functionName: gx_curve_is_really_line
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_curve_is_really_line(x0, y0, seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x0
    - ','
    - y0
    - ','
    - seg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 254
    functionName: gx_curve_is_really_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_curve_is_really_point(x0, y0, seg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - old
    - ','
    - new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: gx_path_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_copy(old, new)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - old
    - ','
    - new
    - ','
    - flatness
    - ','
    - accurate
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 267
    functionName: gx_path_add_flattened_accurate
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_flattened_accurate(old, new, flatness, accurate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - old
    - ','
    - new
    - ','
    - flatness
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 271
    functionName: gx_path_add_flattened_for_stroke
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_add_flattened_for_stroke(old, new, flatness, pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 336
    functionDepth: 0
    functionLinenumber: 336
    functionLinenumberEnd: 338
    functionName: gx_cpath_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cpath_alloc(mem, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pcpath
    - ','
    - mem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 345
    functionName: gx_cpath_alloc_contained
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cpath_alloc_contained(pcpath, mem, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcpath
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 360
    functionName: gx_cpath_init_local
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cpath_init_local(pcpath, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:45,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 50
    functionName: pdf14_unpack_rgb_mix
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack_rgb_mix(int num_comp, gx_color_index color,\n                     pdf14_device
      * p14dev, byte * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: pdf14_unpack16_rgb_mix
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack16_rgb_mix(int num_comp, gx_color_index color,\n
      \                      pdf14_device * p14dev, uint16_t * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 73
    functionName: pdf14_unpack_gray_mix
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack_gray_mix(int num_comp, gx_color_index color,\n                      pdf14_device
      * p14dev, byte * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: pdf14_unpack16_gray_mix
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack16_gray_mix(int num_comp, gx_color_index color,\n
      \                       pdf14_device * p14dev, uint16_t * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 99
    functionName: pdf14_unpack_additive
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack_additive(int num_comp, gx_color_index color,\n                      pdf14_device
      * p14dev, byte * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 111
    functionName: pdf14_unpack16_additive
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack16_additive(int num_comp, gx_color_index color,\n
      \                       pdf14_device * p14dev, uint16_t * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 130
    functionName: pdf14_unpack_subtractive
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack_subtractive(int num_comp, gx_color_index color,\n
      \                               pdf14_device * p14dev, byte * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 142
    functionName: pdf14_unpack16_subtractive
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack16_subtractive(int num_comp, gx_color_index color,\n
      \                          pdf14_device * p14dev, uint16_t * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:157,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gxblend1.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 160
    functionName: pdf14_unpack_custom
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack_custom(int num_comp, gx_color_index color,\n                                pdf14_device
      * p14dev, byte * out)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - num_comp
    - color
    - p14dev
    - out
    argTypes:
    - int
    - gx_color_index
    - pdf14_device*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 173
    functionName: pdf14_unpack16_custom
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: void
    signature: "void pdf14_unpack16_custom(int num_comp, gx_color_index color,\n                      pdf14_device
      * p14dev, uint16_t * out)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gxblend1.c:193,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 7
    argNames:
    - des_ptr
    - des_rowstride
    - src_ptr
    - src_rowstride
    - width
    - height
    - deep
    argTypes:
    - byte*
    - int
    - byte*
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 197
    functionName: copy_plane_part
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void copy_plane_part(byte *des_ptr, int des_rowstride, byte *src_ptr,
      int src_rowstride,\n                int width, int height, bool deep)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: copy_plane_part
      Src: /src/libspectre/ghostscript/base/gxblend1.c:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 6
    argNames:
    - des_buf
    - des_info
    - src_buf
    - src_info
    - width
    - height
    argTypes:
    - byte*
    - pdf14_buf*
    - byte*
    - pdf14_buf*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 215
    functionName: copy_extra_planes
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - copy_plane_part
    linkageType: ''
    returnType: void
    signature: "void copy_extra_planes(byte *des_buf, pdf14_buf *des_info, byte *src_buf,\n
      \                 pdf14_buf *src_info, int width, int height)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend1.c:224,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:225,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend1.c:226,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:227,1
    - Dst: gsicc_get_link_profile
      Src: /src/libspectre/ghostscript/base/gxblend1.c:247,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/base/gxblend1.c:250,1
    - Dst: pdf14_preserve_backdrop
      Src: /src/libspectre/ghostscript/base/gxblend1.c:253,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxblend1.c:258,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:266,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:276,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxblend1.c:279,1
    - Dst: gsicc_init_buffer
      Src: /src/libspectre/ghostscript/base/gxblend1.c:282,1
    - Dst: gsicc_release_link
      Src: /src/libspectre/ghostscript/base/gxblend1.c:288,1
    - Dst: copy_plane_part
      Src: /src/libspectre/ghostscript/base/gxblend1.c:293,1
    - Dst: copy_extra_planes
      Src: /src/libspectre/ghostscript/base/gxblend1.c:299,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend1.c:305,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 8
    argNames:
    - buf
    - group_profile
    - tos
    - tos_profile
    - memory
    - pgs
    - dev
    - knockout_buff
    argTypes:
    - pdf14_buf*
    - cmm_profile_t*
    - pdf14_buf*
    - cmm_profile_t*
    - gs_memory_t*
    - gs_gstate*
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 217
    functionDepth: 7
    functionLinenumber: 217
    functionLinenumberEnd: 311
    functionName: pdf14_preserve_backdrop_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 1
    functionsReached:
    - dump_raw_buffer
    - gs_throw
    - pdf14_preserve_backdrop
    - max
    - memset
    - gsicc_init_buffer
    - copy_extra_planes
    - copy_plane_part
    - gsicc_release_link
    - min
    - gsicc_get_link_profile
    linkageType: ''
    returnType: int
    signature: "int pdf14_preserve_backdrop_cm(pdf14_buf *buf, cmm_profile_t *group_profile,\n
      \                          pdf14_buf *tos, cmm_profile_t *tos_profile,\n                           gs_memory_t
      *memory, gs_gstate *pgs, gx_device *dev,\n                           bool knockout_buff)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend1.c:321,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:322,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gxblend1.c:323,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:324,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:349,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxblend1.c:358,1
    - Dst: copy_plane_part
      Src: /src/libspectre/ghostscript/base/gxblend1.c:367,1
    - Dst: copy_extra_planes
      Src: /src/libspectre/ghostscript/base/gxblend1.c:373,1
    - Dst: dump_raw_buffer
      Src: /src/libspectre/ghostscript/base/gxblend1.c:381,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 35
    argCount: 4
    argNames:
    - buf
    - tos
    - from_backdrop
    - mem
    argTypes:
    - pdf14_buf*
    - pdf14_buf*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 387
    functionName: pdf14_preserve_backdrop
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 2
    functionsReached:
    - dump_raw_buffer
    - max
    - memset
    - copy_extra_planes
    - copy_plane_part
    - min
    linkageType: ''
    returnType: void
    signature: "void pdf14_preserve_backdrop(pdf14_buf *buf, pdf14_buf *tos, bool
      from_backdrop\n#if RAW_DUMP\n                        , const gs_memory_t *mem\n#endif\n
      \                       )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxblend1.c:400,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxblend1.c:403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 406
    functionName: pdf14_encode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index pdf14_encode_color(gx_device *dev, const gx_color_value\tcolors[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxblend1.c:416,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxblend1.c:419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 422
    functionName: pdf14_encode_color16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: "gx_color_index pdf14_encode_color16(gx_device *dev, const gx_color_value\tcolors[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxblend1.c:436,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxblend1.c:441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 444
    functionName: pdf14_encode_color_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pdf14_encode_color_tag(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COLROUND_SETUP
      Src: /src/libspectre/ghostscript/base/gxblend1.c:454,1
    - Dst: COLROUND_ROUND
      Src: /src/libspectre/ghostscript/base/gxblend1.c:459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - dev
    - colors
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 462
    functionName: pdf14_encode_color16_tag
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - COLROUND_ROUND
    - COLROUND_SETUP
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index pdf14_encode_color16_tag(gx_device *dev, const gx_color_value
      colors[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 478
    functionName: pdf14_decode_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf14_decode_color(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - dev
    - color
    - out
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 491
    functionName: pdf14_decode_color16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pdf14_decode_color16(gx_device * dev, gx_color_index color, gx_color_value
      * out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 502
    functionName: pdf14_gray_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf14_gray_cs_to_cmyk_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 513
    functionName: pdf14_gray_cs_to_rgbspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf14_gray_cs_to_rgbspot_cm(gx_device * dev, frac gray, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 526
    functionName: pdf14_rgb_cs_to_rgbspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_rgb_cs_to_rgbspot_cm(gx_device * dev, const gs_gstate *pgs,\n
      \   frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_rgb
      Src: /src/libspectre/ghostscript/base/gxblend1.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 536
    functionName: pdf14_cmyk_cs_to_rgbspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_rgb
    linkageType: ''
    returnType: void
    signature: void pdf14_cmyk_cs_to_rgbspot_cm(gx_device * dev, frac c, frac m, frac
      y, frac k, frac out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - gray
    - out
    argTypes:
    - gx_device*
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 547
    functionName: pdf14_gray_cs_to_grayspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf14_gray_cs_to_grayspot_cm(gx_device * dev, frac gray, frac
      out[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: pdf14_rgb_cs_to_grayspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void pdf14_rgb_cs_to_grayspot_cm(gx_device * dev, const gs_gstate
      *pgs,\n    frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: color_cmyk_to_gray
      Src: /src/libspectre/ghostscript/base/gxblend1.c:565,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 568
    functionName: pdf14_cmyk_cs_to_grayspot_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - color_cmyk_to_gray
    linkageType: ''
    returnType: void
    signature: void pdf14_cmyk_cs_to_grayspot_cm(gx_device * dev, frac c, frac m,
      frac y, frac k, frac out[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: color_rgb_to_cmyk
      Src: /src/libspectre/ghostscript/base/gxblend1.c:592,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:595,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:595,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - dev
    - pgs
    - r
    - g
    - b
    - out
    argTypes:
    - gx_device*
    - gs_gstate*
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 604
    functionName: pdf14_rgb_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached:
    - min
    - color_rgb_to_cmyk
    linkageType: ''
    returnType: void
    signature: "void pdf14_rgb_cs_to_cmyk_cm(gx_device * dev, const gs_gstate *pgs,\n
      \                          frac r, frac g, frac b, frac out[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - dev
    - c
    - m
    - y
    - k
    - out
    argTypes:
    - gx_device*
    - frac
    - frac
    - frac
    - frac
    - frac[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 606
    functionDepth: 0
    functionLinenumber: 606
    functionLinenumberEnd: 617
    functionName: pdf14_cmyk_cs_to_cmyk_cm
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void pdf14_cmyk_cs_to_cmyk_cm(gx_device * dev, frac c, frac m, frac
      y, frac k, frac out[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:627,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gxblend1.c:628,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:632,1
    - Dst: png_create_write_struct
      Src: /src/libspectre/ghostscript/base/gxblend1.c:634,1
    - Dst: png_create_info_struct
      Src: /src/libspectre/ghostscript/base/gxblend1.c:636,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/base/gxblend1.c:647,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxblend1.c:649,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxblend1.c:652,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/gxblend1.c:656,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gxblend1.c:658,1
    - Dst: png_init_io
      Src: /src/libspectre/ghostscript/base/gxblend1.c:664,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gxblend1.c:682,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gxblend1.c:687,1
    - Dst: png_write_info
      Src: /src/libspectre/ghostscript/base/gxblend1.c:692,1
    - Dst: png_write_row
      Src: /src/libspectre/ghostscript/base/gxblend1.c:708,1
    - Dst: png_write_end
      Src: /src/libspectre/ghostscript/base/gxblend1.c:713,1
    - Dst: png_destroy_write_struct
      Src: /src/libspectre/ghostscript/base/gxblend1.c:717,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gxblend1.c:718,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/gxblend1.c:720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 2
    argNames:
    - mem
    - pbuf
    argTypes:
    - gs_memory_t*
    - pdf14_buf*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 621
    functionDepth: 7
    functionLinenumber: 621
    functionLinenumberEnd: 722
    functionName: dump_planar_rgba
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 1
    functionsReached:
    - png_create_info_struct
    - png_init_io
    - gs_note_error
    - fclose
    - png_write_info
    - gs_free
    - strlen
    - setjmp
    - gs_sprintf
    - png_write_row
    - gs_malloc
    - png_create_write_struct
    - gp_fopen
    - png_write_end
    - min
    - png_destroy_write_struct
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: int dump_planar_rgba(gs_memory_t *mem, const pdf14_buf *pbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - gs_restrict
    - planestride
    - width
    - num_comp
    - bg
    - gs_restrict
    argTypes:
    - byte*
    - int
    - int
    - int
    - uint16_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 760
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 760
    functionName: gx_build_blended_image_row
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_build_blended_image_row(const byte *gs_restrict buf_ptr, int
      planestride,\n                           int width, int num_comp, uint16_t bg,
      byte *gs_restrict linebuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - gs_restrict
    - planestride
    - width
    - num_comp
    - bg
    - gs_restrict
    argTypes:
    - byte*
    - int
    - int
    - int
    - uint16_t
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 807
    functionName: gx_build_blended_image_row16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_build_blended_image_row16(const byte *gs_restrict buf_ptr_,
      int planestride,\n                             int width, int num_comp, uint16_t
      bg, byte *gs_restrict linebuf)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 7
    argNames:
    - buf_ptr
    - width
    - height
    - rowstride
    - planestride
    - num_comp
    - bg
    argTypes:
    - byte*
    - int
    - int
    - int
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 809
    functionDepth: 0
    functionLinenumber: 809
    functionLinenumberEnd: 839
    functionName: gx_blend_image_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_blend_image_buffer(byte *buf_ptr, int width, int height, int
      rowstride,\n                      int planestride, int num_comp, byte bg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 7
    argNames:
    - buf_ptr_
    - width
    - height
    - rowstride
    - planestride
    - num_comp
    - bg
    argTypes:
    - byte*
    - int
    - int
    - int
    - int
    - int
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 895
    functionName: gx_blend_image_buffer16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_blend_image_buffer16(byte *buf_ptr_, int width, int height,
      int rowstride,\n                        int planestride, int num_comp, uint16_t
      bg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 8
    argNames:
    - buf_ptr_in
    - buf_ptr_out
    - width
    - height
    - rowstride
    - planestride
    - num_comp
    - bg
    argTypes:
    - byte*
    - unsigned short*
    - int
    - int
    - int
    - int
    - int
    - byte
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 897
    functionDepth: 0
    functionLinenumber: 897
    functionLinenumberEnd: 936
    functionName: gx_blend_image_buffer8to16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_blend_image_buffer8to16(const byte *buf_ptr_in, unsigned short
      *buf_ptr_out, int width,\n    int height, int rowstride, int planestride, int
      num_comp, byte bg)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: GET16
      Src: /src/libspectre/ghostscript/base/gxblend1.c:958,1
    - Dst: GET16
      Src: /src/libspectre/ghostscript/base/gxblend1.c:972,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:977,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:978,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:1012,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxblend1.c:1013,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 11
    argNames:
    - target
    - buf_ptr_
    - planestride
    - rowstride
    - x0
    - y0
    - width
    - height
    - num_comp
    - bg
    - deep
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - uint16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 1023
    functionName: gx_put_blended_image_custom
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - GET16
    linkageType: ''
    returnType: int
    signature: "int gx_put_blended_image_custom(gx_device *target, byte *buf_ptr_,\n
      \                     int planestride, int rowstride,\n                      int
      x0, int y0, int width, int height,\n                      int num_comp, uint16_t
      bg, bool deep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 958
    functionName: GET16
    functionSourceFile: /src/libspectre/ghostscript/base/gxblend1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET16(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gdevmem.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mptr
    argTypes:
    - gx_device_memory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(device_memory_enum_ptrs, gx_device_memory *mptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits_per_pixel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: gdev_mem_device_for_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: gx_device_memory
    signature: 'gx_device_memory *

      gdev_mem_device_for_bits(int bits_per_pixel)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bits_per_pixel
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 123
    functionName: gdev_mem_word_device_for_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gx_device_memory
    signature: 'gx_device_memory *

      gdev_mem_word_device_for_bits(int bits_per_pixel)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmem.c:139,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:140,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:140,1
    - Dst: gdev_mem_word_device_for_bits
      Src: /src/libspectre/ghostscript/base/gdevmem.c:142,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:143,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:143,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 144
    functionName: gs_device_is_memory
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 6
    functionsReached:
    - gdev_mem_device_for_bits
    - gdev_mem_word_device_for_bits
    - dev_proc
    linkageType: ''
    returnType: bool
    signature: bool gs_device_is_memory(const gx_device * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gdevmem.c:152,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:157,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:160,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevmem.c:175,1
    - Dst: gx_device_forward_color_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:177,1
    - Dst: gx_device_copy_color_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:178,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:183,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:184,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gdevmem.c:195,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:196,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevmem.c:198,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:199,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 5
    argNames:
    - dev
    - mdproto
    - mem
    - page_device
    - target
    argTypes:
    - gx_device_memory*
    - gx_device_memory*
    - gs_memory_t*
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 201
    functionName: gs_make_mem_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 12
    functionsReached:
    - dev_proc
    - gdev_mem_mono_set_inverted
    - gx_device_set_target
    - check_device_separable
    - gx_device_fill_in_procs
    - gx_device_forward_color_procs
    - gx_device_copy_color_procs
    - set_dev_proc
    - gx_device_init
    linkageType: ''
    returnType: void
    signature: "void gs_make_mem_device(gx_device_memory * dev, const gx_device_memory
      * mdproto,\n                   gs_memory_t * mem, int page_device, gx_device
      * target)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gdevmem.c:218,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:226,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:229,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevmem.c:244,1
    - Dst: gx_device_forward_color_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:246,1
    - Dst: gx_device_copy_color_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:247,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gdevmem.c:255,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:256,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevmem.c:258,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:259,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 5
    argNames:
    - ppdev
    - mdproto
    - mem
    - page_device
    - target
    argTypes:
    - gx_device_memory**
    - gx_device_memory*
    - gs_memory_t*
    - int
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 263
    functionName: gs_make_mem_device_with_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 1
    functionsReached:
    - dev_proc
    - gdev_mem_mono_set_inverted
    - gx_device_set_target
    - check_device_separable
    - gs_copydevice
    - gx_device_forward_color_procs
    - gx_device_copy_color_procs
    - set_dev_proc
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: "int gs_make_mem_device_with_copydevice(gx_device_memory ** ppdev,\n
      \                                  const gx_device_memory * mdproto,\n                                   gs_memory_t
      * mem,\n                                   int page_device,\n                                   gx_device
      * target)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gdevmem.c:276,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:282,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevmem.c:283,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:285,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gdevmem.c:287,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevmem.c:288,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:289,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - ppdev
    - mem
    - target
    argTypes:
    - gx_device_memory**
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 266
    functionDepth: 2
    functionLinenumber: 266
    functionLinenumberEnd: 292
    functionName: gs_make_mem_mono_device_with_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - gdev_mem_mono_set_inverted
    - gx_device_set_target
    - check_device_separable
    - gs_copydevice
    - set_dev_proc
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: "int gs_make_mem_mono_device_with_copydevice(gx_device_memory ** ppdev,
      gs_memory_t * mem,\n                                        gx_device * target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gdevmem.c:300,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:302,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gdevmem.c:303,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevmem.c:304,1
    - Dst: gdev_mem_mono_set_inverted
      Src: /src/libspectre/ghostscript/base/gdevmem.c:305,1
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gdevmem.c:306,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gdevmem.c:307,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:309,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:310,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gdevmem.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 3
    argNames:
    - dev
    - mem
    - target
    argTypes:
    - gx_device_memory*
    - gs_memory_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: gs_make_mem_mono_device
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 7
    functionsReached:
    - gdev_mem_mono_set_inverted
    - gx_device_set_target
    - gx_device_raster
    - check_device_separable
    - gx_device_fill_in_procs
    - set_dev_proc
    - gx_device_init
    linkageType: ''
    returnType: void
    signature: "void gs_make_mem_mono_device(gx_device_memory * dev, gs_memory_t *
      mem,\n                        gx_device * target)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - black_is_1
    argTypes:
    - gx_device_memory*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 324
    functionName: gdev_mem_mono_set_inverted
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gdev_mem_mono_set_inverted(gx_device_memory * dev, bool black_is_1)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bitmap_raster_pad_align
      Src: /src/libspectre/ghostscript/base/gdevmem.c:352,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:355,1
    - Dst: ROUND_UP
      Src: /src/libspectre/ghostscript/base/gdevmem.c:356,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - dev
    - width
    - height
    - psize
    argTypes:
    - gx_device_memory*
    - int
    - int
    - ulong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 361
    functionName: gdev_mem_bits_size
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 5
    functionsReached:
    - return_error
    - bitmap_raster_pad_align
    - ROUND_UP
    linkageType: ''
    returnType: int
    signature: int gdev_mem_bits_size(const gx_device_memory * dev, int width, int
      height, ulong *psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dev
    - width
    - height
    argTypes:
    - gx_device_memory*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 366
    functionName: gdev_mem_line_ptrs_size
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: ulong
    signature: ulong gdev_mem_line_ptrs_size(const gx_device_memory * dev, int width,
      int height)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_line_ptrs_size
      Src: /src/libspectre/ghostscript/base/gdevmem.c:371,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gdevmem.c:373,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:375,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - width
    - height
    - psize
    argTypes:
    - gx_device_memory*
    - int
    - int
    - ulong*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 378
    functionName: gdev_mem_data_size
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 4
    functionsReached:
    - gdev_mem_bits_size
    - return_error
    - gdev_mem_line_ptrs_size
    linkageType: ''
    returnType: int
    signature: int gdev_mem_data_size(const gx_device_memory * dev, int width, int
      height, ulong *psize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: device_is_deep
      Src: /src/libspectre/ghostscript/base/gdevmem.c:390,1
    - Dst: bitmap_raster_pad_align
      Src: /src/libspectre/ghostscript/base/gdevmem.c:400,1
    - Dst: ESTIMATED_PDF14_ROW_SPACE
      Src: /src/libspectre/ghostscript/base/gdevmem.c:401,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmem.c:403,1
    - Dst: bitmap_raster_pad_align
      Src: /src/libspectre/ghostscript/base/gdevmem.c:407,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gdevmem.c:409,1
    - Dst: gdev_mem_data_size
      Src: /src/libspectre/ghostscript/base/gdevmem.c:415,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 4
    argNames:
    - dev
    - width
    - size
    - page_uses_transparency
    argTypes:
    - gx_device_memory*
    - int
    - ulong
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 383
    functionDepth: 3
    functionLinenumber: 383
    functionLinenumberEnd: 422
    functionName: gdev_mem_max_height
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 1
    functionsReached:
    - device_is_deep
    - gdev_mem_data_size
    - bitmap_raster_pad_align
    - ESTIMATED_PDF14_ROW_SPACE
    - min
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_max_height(const gx_device_memory * dev, int width, ulong
      size,\n                    bool page_uses_transparency)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:433,1
    - Dst: gdev_mem_open_scan_lines
      Src: /src/libspectre/ghostscript/base/gdevmem.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 435
    functionName: mem_open
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - return_error
    - gdev_mem_open_scan_lines
    linkageType: ''
    returnType: int
    signature: int mem_open(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_open_scan_lines_interleaved
      Src: /src/libspectre/ghostscript/base/gdevmem.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mdev
    - setup_height
    argTypes:
    - gx_device_memory*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 440
    functionName: gdev_mem_open_scan_lines
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 3
    functionsReached:
    - gdev_mem_open_scan_lines_interleaved
    linkageType: ''
    returnType: int
    signature: int gdev_mem_open_scan_lines(gx_device_memory *mdev, int setup_height)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:450,1
    - Dst: gdev_mem_bitmap_size
      Src: /src/libspectre/ghostscript/base/gdevmem.c:454,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:455,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:458,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gdevmem.c:459,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:462,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gdevmem.c:468,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gdevmem.c:477,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:481,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:489,1
    - Dst: gdev_mem_bits_size
      Src: /src/libspectre/ghostscript/base/gdevmem.c:491,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevmem.c:497,1
    - Dst: gdev_mem_set_line_ptrs_interleaved
      Src: /src/libspectre/ghostscript/base/gdevmem.c:498,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 3
    argNames:
    - mdev
    - setup_height
    - interleaved
    argTypes:
    - gx_device_memory*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 501
    functionName: gdev_mem_open_scan_lines_interleaved
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 2
    functionsReached:
    - gdev_mem_bits_size
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - gx_device_raster
    - gdev_mem_set_line_ptrs_interleaved
    - gdev_mem_bitmap_size
    - memset
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_open_scan_lines_interleaved(gx_device_memory *mdev,\n
      \                                    int setup_height,\n                                     int
      interleaved)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gdev_mem_set_line_ptrs_interleaved
      Src: /src/libspectre/ghostscript/base/gdevmem.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mdev
    - base
    - raster
    - line_ptrs
    - setup_height
    argTypes:
    - gx_device_memory*
    - byte*
    - int
    - byte**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: gdev_mem_set_line_ptrs
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 1
    functionsReached:
    - gdev_mem_set_line_ptrs_interleaved
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_set_line_ptrs(gx_device_memory *mdev, byte *base, int
      raster,\n                       byte **line_ptrs, int setup_height)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:554,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 6
    argNames:
    - mdev
    - base
    - raster
    - line_ptrs
    - setup_height
    - interleaved
    argTypes:
    - gx_device_memory*
    - byte*
    - int
    - byte**
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 577
    functionName: gdev_mem_set_line_ptrs_interleaved
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 2
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gdev_mem_set_line_ptrs_interleaved(gx_device_memory * mdev, byte
      * base,\n                                   int raster, byte **line_ptrs,\n
      \                                  int setup_height, int interleaved)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - dev
    - pmat
    argTypes:
    - gx_device*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 591
    functionName: mem_get_initial_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mem_get_initial_matrix(gx_device * dev, gs_matrix * pmat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmem.c:600,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gdevmem.c:607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 612
    functionName: mem_close
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int mem_close(gx_device * dev)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:632,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:635,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:638,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:644,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmem.c:647,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gdevmem.c:653,1
    - Dst: gx_get_bits_return_pointer
      Src: /src/libspectre/ghostscript/base/gdevmem.c:656,1
    - Dst: gx_get_bits_copy
      Src: /src/libspectre/ghostscript/base/gdevmem.c:660,1
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevmem.c:661,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 663
    functionName: mem_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 2
    functionsReached:
    - scan_line_base
    - gx_device_raster
    - gx_get_bits_copy
    - gx_get_bits_return_pointer
    - return_error
    - bitmap_raster
    linkageType: ''
    returnType: int
    signature: "int mem_get_bits_rectangle(gx_device * dev, const gs_int_rect * prect,\n
      \                      gs_get_bits_params_t * params, gs_int_rect ** unread)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevmem.c:683,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - base
    - raster
    - x
    - w
    - h
    - store
    argTypes:
    - byte*
    - uint
    - int
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 710
    functionName: mem_swap_byte_rect
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 26
    functionsReached:
    - mem_swap_byte_rect
    linkageType: ''
    returnType: void
    signature: void mem_swap_byte_rect(byte * base, uint raster, int x, int w, int
      h, bool store)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_raster
      Src: /src/libspectre/ghostscript/base/gdevmem.c:719,1
    - Dst: fit_fill_xywh
      Src: /src/libspectre/ghostscript/base/gdevmem.c:727,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gdevmem.c:740,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevmem.c:742,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevmem.c:743,1
    - Dst: mem_get_bits_rectangle
      Src: /src/libspectre/ghostscript/base/gdevmem.c:744,1
    - Dst: mem_swap_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevmem.c:745,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - dev
    - prect
    - params
    - unread
    argTypes:
    - gx_device*
    - gs_int_rect*
    - gs_get_bits_params_t*
    - gs_int_rect**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 713
    functionDepth: 4
    functionLinenumber: 713
    functionLinenumberEnd: 747
    functionName: mem_word_get_bits_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - scan_line_base
    - gx_device_raster
    - mem_swap_byte_rect
    - mem_get_bits_rectangle
    - fit_fill_xywh
    - return_error
    linkageType: ''
    returnType: int
    signature: "int mem_word_get_bits_rectangle(gx_device * dev, const gs_int_rect
      * prect,\n                       gs_get_bits_params_t * params, gs_int_rect
      ** unread)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:758,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:771,1
    - Dst: gx_color_value_to_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:772,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 754
    functionDepth: 1
    functionLinenumber: 754
    functionLinenumberEnd: 814
    functionName: mem_mapped_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - gx_color_value_to_byte
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index mem_mapped_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:824,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:825,1
    - Dst: gx_color_value_from_byte
      Src: /src/libspectre/ghostscript/base/gdevmem.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 828
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 828
    functionName: mem_mapped_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - gx_color_value_from_byte
    linkageType: ''
    returnType: int
    signature: "int mem_mapped_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                        gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_default_draw_thin_line
      Src: /src/libspectre/ghostscript/base/gdevmem.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 9
    argNames:
    - dev
    - fx0
    - fy0
    - fx1
    - fy1
    - pdcolor
    - lop
    - adjustx
    - adjusty
    argTypes:
    - gx_device*
    - fixed
    - fixed
    - fixed
    - fixed
    - gx_drawing_color*
    - gs_logical_operation_t
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 842
      start: 834
    functionDepth: 2
    functionLinenumber: 834
    functionLinenumberEnd: 842
    functionName: mem_draw_thin_line
    functionSourceFile: /src/libspectre/ghostscript/base/gdevmem.c
    functionUses: 0
    functionsReached:
    - gx_default_draw_thin_line
    linkageType: ''
    returnType: int
    signature: "int mem_draw_thin_line(gx_device *dev, fixed fx0, fixed fy0, fixed
      fx1, fixed fy1,\n                   const gx_drawing_color *pdcolor,\n                   gs_logical_operation_t
      lop,\n                   fixed adjustx, fixed adjusty)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - get_u32_big_endian
    argTypes:
    - "struct romfs_file_enum_s {\n    char *pattern;\t\t/* pattern pointer    */\n
      \   int  list_index;\t\t/* next node to visit */\n    gs_memory_t *memory;\t/*
      memory structure used */\n}"
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 96
    functionName: gs_private_st_simple
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_private_st_simple(st_romfs_state, struct romfs_state_s, \"romfs_state\");\n\ntypedef
      struct romfs_file_enum_s {\n    char *pattern;\t\t/* pattern pointer    */\n
      \   int  list_index;\t\t/* next node to visit */\n    gs_memory_t *memory;\t/*
      memory structure used */\n} romfs_file_enum;\n\ngs_private_st_ptrs1(st_romfs_file_enum,
      struct romfs_file_enum_s, \"romfs_file_enum\",\n    romfs_file_enum_enum_ptrs,
      romfs_file_enum_reloc_ptrs, pattern);\n\nstatic uint32_t get_u32_big_endian(const
      uint32_t *a);\n\n/* coverity[ -tainted_data_return ] */\n/* coverity[ -tainted_data_argument
      : arg-0 ] */\nstatic uint32_t\nget_u32_big_endian(const uint32_t *a)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/base/gsiorom.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - s
    - ptr
    - len
    - node
    argTypes:
    - stream*
    - byte*
    - uint
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 123
    functionName: sread_block
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - s_std_init
    linkageType: ''
    returnType: void
    signature: void sread_block(register stream *s,  const byte *ptr, uint len, const
      uint32_t *node )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:130,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/base/gsiorom.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s
    - pl
    argTypes:
    - stream*
    - gs_offset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 136
    functionName: s_block_read_available
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - get_u32_big_endian
    - sbufptr
    linkageType: ''
    returnType: int
    signature: int s_block_read_available(stream *s, gs_offset_t *pl)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:143,1
    - Dst: s_block_read_process
      Src: /src/libspectre/ghostscript/base/gsiorom.c:159,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - s
    - pos
    argTypes:
    - stream*
    - gs_offset_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 169
    functionName: s_block_read_seek
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - get_u32_big_endian
    - s_block_read_process
    linkageType: ''
    returnType: int
    signature: int s_block_read_seek(register stream * s, gs_offset_t pos)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiorom.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - s
    argTypes:
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 179
    functionName: s_block_read_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_block_read_close(stream * s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:190,1
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:191,1
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:194,1
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:195,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/base/gsiorom.c:223,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/base/gsiorom.c:224,1
    - Dst: uncompress
      Src: /src/libspectre/ghostscript/base/gsiorom.c:231,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiorom.c:235,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiorom.c:243,1
    - Dst: process_interrupts
      Src: /src/libspectre/ghostscript/base/gsiorom.c:248,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 34
    argCount: 4
    argNames:
    - st
    - ignore_pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 250
    functionName: s_block_read_process
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 1
    functionsReached:
    - sbufptr
    - process_interrupts
    - get_u32_big_endian
    - emprintf
    - memcpy
    - uncompress
    linkageType: ''
    returnType: int
    signature: "int s_block_read_process(stream_state * st, stream_cursor_read * ignore_pr,\n
      \                     stream_cursor_write * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiorom.c:255,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 261
    functionName: romfs_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int romfs_init(gx_io_device *iodev, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiorom.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iodev
    - mem
    argTypes:
    - gx_io_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 269
    functionName: romfs_finit
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void romfs_finit(gx_io_device *iodev, gs_memory_t *mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:288,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:291,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsiorom.c:292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:299,1
    - Dst: file_prepare_stream
      Src: /src/libspectre/ghostscript/base/gsiorom.c:305,1
    - Dst: sread_block
      Src: /src/libspectre/ghostscript/base/gsiorom.c:308,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - iodev
    - fname
    - namelen
    - access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - uint
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 311
    functionName: romfs_open_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - file_prepare_stream
    - strlen
    - get_u32_big_endian
    - strncmp
    - return_error
    - sread_block
    linkageType: ''
    returnType: int
    signature: "int romfs_open_file(gx_io_device *iodev, const char *fname, uint namelen,\n
      \   const char *access, stream **ps, gs_memory_t *mem)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:329,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsiorom.c:332,1
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:335,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:338,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsiorom.c:339,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - iodev
    - fname
    - pstat
    argTypes:
    - gx_io_device*
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 353
    functionName: romfs_file_status
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - strlen
    - get_u32_big_endian
    - strncmp
    - memset
    - return_error
    linkageType: ''
    returnType: int
    signature: int romfs_file_status(gx_io_device * iodev, const char *fname, struct
      stat *pstat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gsiorom.c:359,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gsiorom.c:363,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsiorom.c:364,1
    - Dst: romfs_enumerate_close
      Src: /src/libspectre/ghostscript/base/gsiorom.c:368,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiorom.c:371,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - iodev
    - pat
    - patlen
    argTypes:
    - gs_memory_t*
    - gx_io_device*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 375
    functionName: romfs_enumerate_files_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - memset
    - memcpy
    - romfs_enumerate_close
    - gs_alloc_struct
    linkageType: ''
    returnType: file_enum
    signature: "file_enum *\nromfs_enumerate_files_init(gs_memory_t * mem, gx_io_device
      *iodev, const char *pat,\n                           uint patlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiorom.c:385,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsiorom.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - pfen
    argTypes:
    - gs_memory_t*
    - file_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 387
    functionName: romfs_enumerate_close
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void romfs_enumerate_close(gs_memory_t * mem, file_enum *pfen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:398,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/base/gsiorom.c:403,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:403,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:405,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:406,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsiorom.c:407,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:407,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:408,1
    - Dst: romfs_enumerate_close
      Src: /src/libspectre/ghostscript/base/gsiorom.c:412,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - mem
    - pfen
    - ptr
    - maxlen
    argTypes:
    - gs_memory_t*
    - file_enum*
    - char*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 414
    functionName: romfs_enumerate_next
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 0
    functionsReached:
    - strlen
    - string_match
    - get_u32_big_endian
    - memcpy
    - romfs_enumerate_close
    linkageType: ''
    returnType: uint
    signature: uint romfs_enumerate_next(gs_memory_t * mem, file_enum *pfen, char
      *ptr, uint maxlen)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:425,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:432,1
    - Dst: get_u32_big_endian
      Src: /src/libspectre/ghostscript/base/gsiorom.c:437,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsiorom.c:440,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/base/gsiorom.c:441,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsiorom.c:448,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - mem
    - fname
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 451
    functionName: romfs_file_len
    functionSourceFile: /src/libspectre/ghostscript/base/gsiorom.c
    functionUses: 1
    functionsReached:
    - return_error
    - strncmp
    - strlen
    - get_u32_big_endian
    linkageType: ''
    returnType: int
    signature: int romfs_file_len(gs_memory_t * mem, const char *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strerror
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - errnum
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: gp_strerror
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 0
    functionsReached:
    - strerror
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_strerror(int errnum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: gp_serialnumber
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gp_serialnumber(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:58,1
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 83
    functionName: gp_get_realtime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 10
    functionsReached:
    - intdos
    linkageType: ''
    returnType: void
    signature: void gp_get_realtime(long *pdt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdt
    argTypes:
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: gp_get_usertime
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 2
    functionsReached:
    - gp_get_realtime
    linkageType: ''
    returnType: void
    signature: void gp_get_usertime(long *pdt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:113,1
    - Dst: intdos
      Src: /src/libspectre/ghostscript/base/gp_msdos.c:114,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 116
    functionName: gp_file_is_console
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 0
    functionsReached:
    - fileno
    - intdos
    linkageType: ''
    returnType: int
    signature: int gp_file_is_console(FILE * f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 125
    functionName: gp_getenv_display
    functionSourceFile: /src/libspectre/ghostscript/base/gp_msdos.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gp_getenv_display(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_RLD_set_defaults_inline
      Src: /src/libspectre/ghostscript/base/srld.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 34
    functionName: s_RLD_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/srld.c
    functionUses: 0
    functionsReached:
    - s_RLD_set_defaults_inline
    linkageType: ''
    returnType: void
    signature: void s_RLD_set_defaults(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_RLD_init_inline
      Src: /src/libspectre/ghostscript/base/srld.c:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 43
    functionName: s_RLD_init
    functionSourceFile: /src/libspectre/ghostscript/base/srld.c
    functionUses: 0
    functionsReached:
    - s_RLD_init_inline
    linkageType: ''
    returnType: int
    signature: int s_RLD_init(stream_state * st)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/srld.c:70,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srld.c:77,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/srld.c:95,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/srld.c:111,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 118
    functionName: s_RLD_process
    functionSourceFile: /src/libspectre/ghostscript/base/srld.c
    functionUses: 0
    functionsReached:
    - memset
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s_RLD_process(stream_state * st, stream_cursor_read * pr,\n              stream_cursor_write
      * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pts
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: ts_mask
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ts_mask(pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cldev
    - ','
    - pts
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    functionName: ts_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ts_bits(cldev,pts)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 165
    functionName: GS_STATE_INIT_VALUES_CLIST
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_STATE_INIT_VALUES_CLIST(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 242
    functionName: private_st_clist_icctable_entry
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_clist_icctable_entry()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: private_st_clist_icctable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_clist_icctable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: clist_band_height
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_band_height(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: clist_cfname
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_cfname(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 267
    functionName: clist_cfile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_cfile(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: clist_bfname
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_bfname(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cldev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 269
    functionName: clist_bfile
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_bfile(cldev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 284
    functionDepth: 0
    functionLinenumber: 284
    functionLinenumberEnd: 288
    functionName: private_st_clist_writer_cropping_buffer
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_clist_writer_cropping_buffer()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: public_st_device_clist
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_clist()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    functionName: CLIST_IS_WRITER
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIST_IS_WRITER(cdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 21
    argNames:
    - (
    - xclist
    - ','
    - xdata
    - ','
    - xdata_size
    - ','
    - xtarget
    - ','
    - xbuf_procs
    - ','
    - xband_params
    - ','
    - xexternal
    - ','
    - xmemory
    - ','
    - xdisable
    - ','
    - pageusestransparency
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 434
    functionName: clist_init_params
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clist_init_params(xclist, xdata, xdata_size, xtarget, xbuf_procs, xband_params,
      xexternal, xmemory, xdisable, pageusestransparency)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cdev
    - ','
    - ry
    - ','
    - rheight
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 589
    functionName: crop_fill_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crop_fill_y(cdev, ry, rheight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - dev
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    functionName: crop_fill
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crop_fill(dev, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - cdev
    - ','
    - data
    - ','
    - data_x
    - ','
    - raster
    - ','
    - id
    - ','
    - ry
    - ','
    - rheight
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 0
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: crop_copy_y
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crop_copy_y(cdev, data, data_x, raster, id, ry, rheight)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - dev
    - ','
    - data
    - ','
    - data_x
    - ','
    - raster
    - ','
    - id
    - ','
    - x
    - ','
    - y
    - ','
    - w
    - ','
    - h
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 617
    functionName: crop_copy
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: crop_copy(dev, data, data_x, raster, id, x, y, w, h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 656
    functionName: public_st_device_clist_mutatable
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_device_clist_mutatable()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdev
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 661
    functionDepth: 0
    functionLinenumber: 661
    functionLinenumberEnd: 663
    functionName: CLIST_MUTATABLE_HAS_MUTATED
    functionSourceFile: /src/libspectre/ghostscript/base/gxclist.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLIST_MUTATABLE_HAS_MUTATED(pdev)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/base/gsparams.c:87,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/base/gsparams.c:114,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparams.c:123,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparams.c:126,1
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/base/gsparams.c:128,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparams.c:129,1
    - Dst: wb_put_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:132,1
    - Dst: wb_put_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:133,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:134,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:147,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:154,1
    - Dst: wb_put_alignment
      Src: /src/libspectre/ghostscript/base/gsparams.c:155,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:157,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:163,1
    - Dst: wb_put_alignment
      Src: /src/libspectre/ghostscript/base/gsparams.c:164,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:166,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:174,1
    - Dst: wb_put_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:180,1
    - Dst: wb_put_alignment
      Src: /src/libspectre/ghostscript/base/gsparams.c:181,1
    - Dst: gs_param_list_serialize
      Src: /src/libspectre/ghostscript/base/gsparams.c:185,1
    - Dst: param_end_read_dict
      Src: /src/libspectre/ghostscript/base/gsparams.c:189,1
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:197,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparams.c:203,1
    - Dst: wb_put_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:212,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 3
    argNames:
    - list
    - buf
    - buf_sizeof
    argTypes:
    - gs_param_list*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 216
    functionName: gs_param_list_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 3
    functionsReached:
    - param_get_next_key
    - wb_put_alignment
    - memcpy
    - wb_put_bytes
    - param_end_read_dict
    - gs_param_list_serialize
    - wb_put_word
    - param_read_typed
    - gs_note_error
    - param_init_enumerator
    linkageType: ''
    returnType: int
    signature: "int gs_param_list_serialize(\n                           gs_param_list
      * list,\t/* root of list to serialize */\n                                        /*
      list MUST BE IN READ MODE */\n                           byte * buf,\t/* destination
      buffer (can be 0) */\n                           int buf_sizeof\t/* # bytes
      available in buf (can be 0) */\n)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: buf_get_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:240,1
    - Dst: buf_get_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:245,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparams.c:256,1
    - Dst: ptr_align_to
      Src: /src/libspectre/ghostscript/base/gsparams.c:273,1
    - Dst: ptr_align_to
      Src: /src/libspectre/ghostscript/base/gsparams.c:281,1
    - Dst: buf_get_word
      Src: /src/libspectre/ghostscript/base/gsparams.c:302,1
    - Dst: param_begin_write_dict
      Src: /src/libspectre/ghostscript/base/gsparams.c:303,1
    - Dst: ptr_align_to
      Src: /src/libspectre/ghostscript/base/gsparams.c:307,1
    - Dst: gs_param_list_unserialize
      Src: /src/libspectre/ghostscript/base/gsparams.c:309,1
    - Dst: param_end_write_dict
      Src: /src/libspectre/ghostscript/base/gsparams.c:310,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparams.c:318,1
    - Dst: param_write_typed
      Src: /src/libspectre/ghostscript/base/gsparams.c:324,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - list
    - buf
    argTypes:
    - gs_param_list*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 329
    functionName: gs_param_list_unserialize
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 3
    functionsReached:
    - param_write_typed
    - gs_param_list_unserialize
    - gs_note_error
    - ptr_align_to
    - memcpy
    - param_begin_write_dict
    - param_end_write_dict
    - buf_get_word
    linkageType: ''
    returnType: int
    signature: "int gs_param_list_unserialize(\n                             gs_param_list
      * list,\t/* root of list to expand to */\n                                        /*
      list MUST BE IN WRITE MODE */\n                             const byte * buf\t/*
      source buffer */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ALIGNMENT_MOD
      Src: /src/libspectre/ghostscript/base/gsparams.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - src
    - alignment
    argTypes:
    - byte**
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: ptr_align_to
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 1
    functionsReached:
    - ALIGNMENT_MOD
    linkageType: ''
    returnType: void
    signature: "void ptr_align_to(\n            const byte ** src,\t/* pointer to
      align */\n            unsigned alignment\t/* alignment, must be power of 2 */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - unsigned
    - WriteBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 361
    functionName: wb_put_word
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void wb_put_word(\n            unsigned source,\t/* number to put
      to buffer */\n            WriteBuffer * dest\t/* destination descriptor */\n)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparams.c:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - source
    - source_sizeof
    - dest
    argTypes:
    - byte*
    - unsigned
    - WriteBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 377
    functionName: wb_put_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 1
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void wb_put_bytes(\n             const byte * source,\t/* bytes to
      put to buffer */\n             unsigned source_sizeof,\t/* # bytes to put */\n
      \            WriteBuffer * dest\t/* destination descriptor */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: wb_put_bytes
      Src: /src/libspectre/ghostscript/base/gsparams.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - alignment
    - dest
    argTypes:
    - unsigned
    - WriteBuffer*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: wb_put_alignment
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 1
    functionsReached:
    - wb_put_bytes
    linkageType: ''
    returnType: void
    signature: "void wb_put_alignment(\n                 unsigned alignment,\t/* alignment
      to match, must be power 2 */\n                 WriteBuffer * dest\t/* destination
      descriptor */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - src
    argTypes:
    - byte**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 411
    functionName: buf_get_word
    functionSourceFile: /src/libspectre/ghostscript/base/gsparams.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: "unsigned buf_get_word(\n            const byte ** src\t/* UPDATES:
      ptr to src buf ptr */\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - width
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: cfe_max_code_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cfe_max_code_bytes(width)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: BYTE0OF2
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE0OF2(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: BYTE1OF2
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE1OF2(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    functionName: BYTE0OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE0OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    functionName: BYTE1OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE1OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: BYTE2OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE2OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: BYTE3OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE3OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    functionName: BYTE0OF2
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE0OF2(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    functionName: BYTE1OF2
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE1OF2(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: BYTE0OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE0OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: BYTE1OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE1OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    functionName: BYTE2OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE2OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - S
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: BYTE3OF4
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BYTE3OF4(S)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - data
    - ','
    - p
    - ','
    - count
    - ','
    - white_byte
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    functionName: skip_white_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_white_pixels(data, p, count, white_byte, rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - data
    - ','
    - p
    - ','
    - count
    - ','
    - white_byte
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 218
    functionName: skip_white_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_white_pixels(data, p, count, white_byte, rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - data
    - ','
    - p
    - ','
    - count
    - ','
    - white_byte
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 253
    functionName: skip_white_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_white_pixels(data, p, count, white_byte, rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - data
    - ','
    - p
    - ','
    - count
    - ','
    - white_byte
    - ','
    - rlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 318
    functionName: skip_black_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/scf.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: skip_black_pixels(data, p, count, white_byte, rlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    functionName: s_IScale_cal_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/siscale_cal.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_IScale_cal_set_defaults(stream_state * st)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:116,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:120,1
    - Dst: cal_rescaler_init
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:125,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:149,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:151,1
    - Dst: cal_rescaler_fin
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:157,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:158,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:159,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 161
    functionName: s_IScale_cal_init
    functionSourceFile: /src/libspectre/ghostscript/base/siscale_cal.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - cal_rescaler_fin
    - memset
    - cal_rescaler_init
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int s_IScale_cal_init(stream_state * st)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:196,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:221,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:245,1
    - Dst: cal_rescaler_process
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:272,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:291,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:301,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:303,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:321,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:322,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 96
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts:
    - condition: (rleft < ss->src_size && ss->dst_offset == 0)
      pos:
        line_end: 320
        line_start: 320
        source_file: /src/libspectre/ghostscript/base/siscale_cal.c
    constantsTouched: []
    func_position:
      end: 329
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 329
    functionName: s_IScale_cal_process
    functionSourceFile: /src/libspectre/ghostscript/base/siscale_cal.c
    functionUses: 0
    functionsReached:
    - cal_rescaler_process
    - memset
    - assert
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s_IScale_cal_process(stream_state * st, stream_cursor_read * pr,\n
      \                    stream_cursor_write * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cal_rescaler_fin
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:340,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:343,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale_cal.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 347
    functionName: s_IScale_cal_release
    functionSourceFile: /src/libspectre/ghostscript/base/siscale_cal.c
    functionUses: 0
    functionsReached:
    - cal_rescaler_fin
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_IScale_cal_release(stream_state * st)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/base/gp_getnv.c:31,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gp_getnv.c:34,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gp_getnv.c:38,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - key
    - ptr
    - plen
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 51
    functionName: gp_getenv
    functionSourceFile: /src/libspectre/ghostscript/base/gp_getnv.c
    functionUses: 1
    functionsReached:
    - getenv
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int gp_getenv(const char *key, char *ptr, int *plen)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:45,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:48,1
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/base/gsparam2.c:51,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/base/gsparam2.c:72,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:82,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsparam2.c:85,1
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/base/gsparam2.c:87,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:89,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:92,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:93,1
    - Dst: sput_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:94,1
    - Dst: sput_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:106,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:121,1
    - Dst: sput_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:122,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:130,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:136,1
    - Dst: sput_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:137,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:145,1
    - Dst: gs_param_list_puts
      Src: /src/libspectre/ghostscript/base/gsparam2.c:146,1
    - Dst: param_end_read_dict
      Src: /src/libspectre/ghostscript/base/gsparam2.c:149,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:157,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsparam2.c:164,1
    - Dst: sput_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:167,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 84
    argCount: 2
    argNames:
    - dest
    - list
    argTypes:
    - stream*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 168
    functionName: gs_param_list_puts
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - param_get_next_key
    - param_read_typed
    - gs_alloc_bytes
    - sput_bytes
    - sput_word
    - memcpy
    - param_end_read_dict
    - gs_free_object
    - return_error
    - gs_note_error
    - gs_param_list_puts
    - param_init_enumerator
    linkageType: ''
    returnType: int
    signature: int gs_param_list_puts(stream *dest, gs_param_list *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gsparam2.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - value
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 186
    functionName: sput_word
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - sputc
    linkageType: ''
    returnType: int
    signature: int sput_word(stream *dest, uint value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gsparam2.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dest
    - data
    - size
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: sput_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - sputs
    linkageType: ''
    returnType: int
    signature: int sput_bytes(stream *dest, const byte *data, uint size)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:211,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:214,1
    - Dst: sget_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:228,1
    - Dst: sget_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:231,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:235,1
    - Dst: sget_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:239,1
    - Dst: sget_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:255,1
    - Dst: sget_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:262,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsparam2.c:273,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsparam2.c:274,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:277,1
    - Dst: sget_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:283,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/gsparam2.c:289,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:292,1
    - Dst: sget_word
      Src: /src/libspectre/ghostscript/base/gsparam2.c:307,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/base/gsparam2.c:310,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:313,1
    - Dst: sget_bytes
      Src: /src/libspectre/ghostscript/base/gsparam2.c:316,1
    - Dst: param_begin_write_collection
      Src: /src/libspectre/ghostscript/base/gsparam2.c:327,1
    - Dst: gs_param_list_gets
      Src: /src/libspectre/ghostscript/base/gsparam2.c:332,1
    - Dst: param_end_write_collection
      Src: /src/libspectre/ghostscript/base/gsparam2.c:335,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:344,1
    - Dst: param_write_typed
      Src: /src/libspectre/ghostscript/base/gsparam2.c:353,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsparam2.c:357,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 102
    argCount: 3
    argNames:
    - src
    - list
    - mem
    argTypes:
    - stream*
    - gs_param_list*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 360
    functionName: gs_param_list_gets
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - gs_alloc_string
    - param_write_typed
    - sget_word
    - sget_bytes
    - param_begin_write_collection
    - gs_alloc_bytes
    - gs_alloc_byte_array
    - param_end_write_collection
    - return_error
    - gs_note_error
    - gs_param_list_gets
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_param_list_gets(stream *src, gs_param_list *list, gs_memory_t
      *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gsparam2.c:373,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - src
    - pvalue
    argTypes:
    - stream*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 383
    functionName: sget_word
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - sgetc
    linkageType: ''
    returnType: int
    signature: int sget_word(stream *src, uint *pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gsparam2.c:391,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsparam2.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - src
    - data
    - size
    argTypes:
    - stream*
    - byte*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 398
    functionName: sget_bytes
    functionSourceFile: /src/libspectre/ghostscript/base/gsparam2.c
    functionUses: 1
    functionsReached:
    - return_error
    - sgets
    linkageType: ''
    returnType: int
    signature: int sget_bytes(stream *src, byte *data, uint size)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 19
    functionDepth: 0
    functionLinenumber: 19
    functionLinenumberEnd: 71
    functionName: utf8_to_wchar
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wutf8.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int utf8_to_wchar(wchar_t *out, const char *in)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - out
    - in
    argTypes:
    - char*
    - wchar_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 107
    functionName: wchar_to_utf8
    functionSourceFile: /src/libspectre/ghostscript/base/gp_wutf8.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int wchar_to_utf8(char *out, const wchar_t *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/base/gximage.c:39,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pic
    argTypes:
    - gs_image_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 36
    functionDepth: 1
    functionLinenumber: 36
    functionLinenumberEnd: 40
    functionName: gs_image_common_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - gs_make_identity
    linkageType: ''
    returnType: void
    signature: void gs_image_common_t_init(gs_image_common_t * pic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_common_t_init
      Src: /src/libspectre/ghostscript/base/gximage.c:46,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pim
    - num_components
    argTypes:
    - gs_data_image_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 57
    functionName: gs_data_image_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 2
    functionsReached:
    - gs_image_common_t_init
    linkageType: ''
    returnType: void
    signature: void gs_data_image_t_init(gs_data_image_t * pim, int num_components)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage.c:66,1
    - Dst: gs_data_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pim
    - color_space
    argTypes:
    - gs_pixel_image_t*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 3
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: gs_pixel_image_t_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 3
    functionsReached:
    - gs_color_space_num_components
    - gs_data_image_t_init
    linkageType: ''
    returnType: void
    signature: "void gs_pixel_image_t_init(gs_pixel_image_t * pim,\n                      gs_color_space
      * color_space)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_next_ids
      Src: /src/libspectre/ghostscript/base/gximage.c:90,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:108,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 6
    argNames:
    - piec
    - pic
    - piep
    - dev
    - num_components
    - format
    argTypes:
    - gx_image_enum_common_t*
    - gs_data_image_t*
    - gx_image_enum_procs_t*
    - gx_device*
    - int
    - gs_image_format_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 113
    functionName: gx_image_enum_common_init
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 10
    functionsReached:
    - return_error
    - gs_next_ids
    linkageType: ''
    returnType: int
    signature: "int gx_image_enum_common_init(gx_image_enum_common_t * piec,\n                          const
      gs_data_image_t * pic,\n                          const gx_image_enum_procs_t
      * piep,\n                          gx_device * dev, int num_components,\n                          gs_image_format_t
      format)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pgs
    - pim
    - psize
    argTypes:
    - gs_gstate*
    - gs_image_common_t*
    - gs_int_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 125
    functionName: gx_data_image_source_size
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gx_data_image_source_size(const gs_gstate * pgs,\n                          const
      gs_image_common_t * pim, gs_int_point * psize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - height_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: gx_no_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_no_plane_data(gx_image_enum_common_t * info,\n                 const
      gx_image_plane_t * planes, int height,\n                 int *height_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: gx_ignore_end_image
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_ignore_end_image(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/base/gximage.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:159,1
    - Dst: gx_image_plane_data
      Src: /src/libspectre/ghostscript/base/gximage.c:167,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - info
    - plane_data
    - data_x
    - raster
    - height
    argTypes:
    - gx_image_enum_common_t*
    - byte**
    - int
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 168
    functionName: gx_image_data
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 2
    functionsReached:
    - return_error
    - gx_image_plane_data
    - lprintf2
    linkageType: ''
    returnType: int
    signature: "int gx_image_data(gx_image_enum_common_t * info, const byte ** plane_data,\n
      \             int data_x, uint raster, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_plane_data_rows
      Src: /src/libspectre/ghostscript/base/gximage.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - info
    - planes
    - height
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: gx_image_plane_data
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 3
    functionsReached:
    - gx_image_plane_data_rows
    linkageType: ''
    returnType: int
    signature: "int gx_image_plane_data(gx_image_enum_common_t * info,\n                    const
      gx_image_plane_t * planes, int height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_enum_common_t*::procs::plane_data
      Src: /src/libspectre/ghostscript/base/gximage.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - info
    - planes
    - height
    - rows_used
    argTypes:
    - gx_image_enum_common_t*
    - gx_image_plane_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 185
    functionName: gx_image_plane_data_rows
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 6
    functionsReached:
    - gx_image_enum_common_t*::procs::plane_data
    linkageType: ''
    returnType: int
    signature: "int gx_image_plane_data_rows(gx_image_enum_common_t * info,\n                         const
      gx_image_plane_t * planes, int height,\n                         int *rows_used)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: flush
      Src: /src/libspectre/ghostscript/base/gximage.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - info
    argTypes:
    - gx_image_enum_common_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 193
    functionName: gx_image_flush
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 6
    functionsReached:
    - flush
    linkageType: ''
    returnType: int
    signature: int gx_image_flush(gx_image_enum_common_t * info)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: planes_wanted
      Src: /src/libspectre/ghostscript/base/gximage.c:202,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximage.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - info
    - wanted
    argTypes:
    - gx_image_enum_common_t*
    - byte*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: gx_image_planes_wanted
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 3
    functionsReached:
    - planes_wanted
    - memset
    linkageType: ''
    returnType: bool
    signature: bool gx_image_planes_wanted(const gx_image_enum_common_t *info, byte
      *wanted)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_enum_common_t*::procs::end_image
      Src: /src/libspectre/ghostscript/base/gximage.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - info
    - draw_last
    argTypes:
    - gx_image_enum_common_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: gx_image_end
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 12
    functionsReached:
    - gx_image_enum_common_t*::procs::end_image
    linkageType: ''
    returnType: int
    signature: int gx_image_end(gx_image_enum_common_t * info, bool draw_last)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pic
    - s
    - ppcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 227
    functionName: gx_image_no_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_image_no_sput(const gs_image_common_t *pic, stream *s,\n                 const
      gs_color_space **ppcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pic
    - s
    - pcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 234
    functionName: gx_image_no_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gx_image_no_sget(gs_image_common_t *pic, stream *s,\n                 gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pic
    - mem
    argTypes:
    - gs_image_common_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 240
    functionName: gx_image_default_release
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_image_default_release(gs_image_common_t *pic, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug6
      Src: /src/libspectre/ghostscript/base/gximage.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pim
    argTypes:
    - gs_pixel_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 250
    functionName: debug_b_print_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - if_debug6
    linkageType: ''
    returnType: void
    signature: void debug_b_print_matrix(const gs_pixel_image_t *pim)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gximage.c:254,1
    - Dst: dprintf2
      Src: /src/libspectre/ghostscript/base/gximage.c:259,1
    - Dst: dputs
      Src: /src/libspectre/ghostscript/base/gximage.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pim
    - num_decode
    argTypes:
    - gs_pixel_image_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: debug_b_print_decode
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - dputs
    - dprintf2
    - gs_debug_c
    linkageType: ''
    returnType: void
    signature: void debug_b_print_decode(const gs_pixel_image_t *pim, int num_decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pim
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    functionName: debug_b_print_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_b_print_matrix(pim)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pim
    - ','
    - num_decode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 266
    functionName: debug_b_print_decode
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_b_print_decode(pim, num_decode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_xxyy
      Src: /src/libspectre/ghostscript/base/gximage.c:272,1
    - Dst: is_fzero
      Src: /src/libspectre/ghostscript/base/gximage.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - pid
    argTypes:
    - gs_data_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 277
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 277
    functionName: gx_image_matrix_is_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached:
    - is_xxyy
    - is_fzero
    linkageType: ''
    returnType: bool
    signature: bool gx_image_matrix_is_default(const gs_data_image_t *pid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gximage.c:284,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gximage.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - s
    - w
    argTypes:
    - stream*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 286
    functionName: sput_variable_uint
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 1
    functionsReached:
    - sputc
    linkageType: ''
    returnType: void
    signature: void sput_variable_uint(stream *s, uint w)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage.c:325,1
    - Dst: gx_image_matrix_is_default
      Src: /src/libspectre/ghostscript/base/gximage.c:334,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:346,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gximage.c:351,1
    - Dst: DECODE_DEFAULT
      Src: /src/libspectre/ghostscript/base/gximage.c:354,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gximage.c:365,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:367,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:368,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:369,1
    - Dst: debug_b_print_matrix
      Src: /src/libspectre/ghostscript/base/gximage.c:371,1
    - Dst: sput_matrix
      Src: /src/libspectre/ghostscript/base/gximage.c:372,1
    - Dst: debug_b_print_decode
      Src: /src/libspectre/ghostscript/base/gximage.c:380,1
    - Dst: DECODE_DEFAULT
      Src: /src/libspectre/ghostscript/base/gximage.c:383,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gximage.c:386,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gximage.c:387,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/base/gximage.c:405,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/base/gximage.c:406,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 71
    argCount: 4
    argNames:
    - pim
    - s
    - ppcs
    - extra
    argTypes:
    - gs_pixel_image_t*
    - stream*
    - gs_color_space**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 410
    functionName: gx_pixel_image_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    - sput_matrix
    - sputc
    - sputs
    - gs_color_space_num_components
    - DECODE_DEFAULT
    - gx_image_matrix_is_default
    - sput_variable_uint
    - return_error
    - if_debug3
    - debug_b_print_matrix
    - debug_b_print_decode
    linkageType: ''
    returnType: int
    signature: "int gx_pixel_image_sput(const gs_pixel_image_t *pim, stream *s,\n
      \                   const gs_color_space **ppcs, int extra)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - pid
    argTypes:
    - gs_data_image_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 422
    functionName: gx_image_matrix_set_default
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_image_matrix_set_default(gs_data_image_t *pid)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gximage.c:432,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:435,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - s
    - pw
    argTypes:
    - stream*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: sget_variable_uint
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 1
    functionsReached:
    - return_error
    - sgetc
    linkageType: ''
    returnType: int
    signature: int sget_variable_uint(stream *s, uint *pw)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:454,1
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:455,1
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage.c:456,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/base/gximage.c:459,1
    - Dst: sget_matrix
      Src: /src/libspectre/ghostscript/base/gximage.c:462,1
    - Dst: debug_b_print_matrix
      Src: /src/libspectre/ghostscript/base/gximage.c:464,1
    - Dst: gx_image_matrix_set_default
      Src: /src/libspectre/ghostscript/base/gximage.c:466,1
    - Dst: gs_color_space_num_components
      Src: /src/libspectre/ghostscript/base/gximage.c:470,1
    - Dst: gs_color_space_get_index
      Src: /src/libspectre/ghostscript/base/gximage.c:472,1
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/base/gximage.c:480,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:482,1
    - Dst: DECODE_DEFAULT
      Src: /src/libspectre/ghostscript/base/gximage.c:486,1
    - Dst: DECODE_DEFAULT
      Src: /src/libspectre/ghostscript/base/gximage.c:489,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gximage.c:493,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:494,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/gximage.c:497,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gximage.c:498,1
    - Dst: debug_b_print_decode
      Src: /src/libspectre/ghostscript/base/gximage.c:502,1
    - Dst: DECODE_DEFAULT
      Src: /src/libspectre/ghostscript/base/gximage.c:505,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 3
    argNames:
    - pim
    - s
    - pcs
    argTypes:
    - gs_pixel_image_t*
    - stream*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 510
    functionName: gx_pixel_image_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 1
    functionsReached:
    - gs_color_space_get_index
    - sgetc
    - gs_color_space_num_components
    - DECODE_DEFAULT
    - sgets
    - sget_variable_uint
    - return_error
    - sget_matrix
    - gx_image_matrix_set_default
    - if_debug3
    - debug_b_print_matrix
    - debug_b_print_decode
    linkageType: ''
    returnType: int
    signature: "int gx_pixel_image_sget(gs_pixel_image_t *pim, stream *s,\n                    gs_color_space
      *pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_default_release
      Src: /src/libspectre/ghostscript/base/gximage.c:518,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pic
    - mem
    argTypes:
    - gs_pixel_image_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: gx_pixel_image_release
    functionSourceFile: /src/libspectre/ghostscript/base/gximage.c
    functionUses: 1
    functionsReached:
    - gx_image_default_release
    linkageType: ''
    returnType: void
    signature: void gx_pixel_image_release(gs_pixel_image_t *pic, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: gs_program_family_name
    functionSourceFile: /src/libspectre/ghostscript/base/gscdef.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gs_program_family_name(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: gs_program_name
    functionSourceFile: /src/libspectre/ghostscript/base/gscdef.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      gs_program_name(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: gs_revision_number
    functionSourceFile: /src/libspectre/ghostscript/base/gscdef.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long gs_revision_number(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 6
    argNames:
    - char_tm
    - log2_scale
    - mxx
    - mxy
    - myx
    - myy
    argTypes:
    - gs_matrix*
    - gs_log2_scale_point*
    - float*
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 59
    functionName: gx_compute_char_matrix
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_compute_char_matrix(const gs_matrix *char_tm, const gs_log2_scale_point
      *log2_scale,\n    float *mxx, float *mxy, float *myx, float *myy)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_char_matrix
      Src: /src/libspectre/ghostscript/base/gxccache.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 8
    argNames:
    - pfont
    - char_tm
    - log2_scale
    - design_grid
    - mxx
    - mxy
    - myx
    - myy
    argTypes:
    - gs_font*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    - float*
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 79
    functionName: gx_compute_ccache_key
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 1
    functionsReached:
    - gx_compute_char_matrix
    linkageType: ''
    returnType: void
    signature: "void gx_compute_ccache_key(gs_font * pfont, const gs_matrix *char_tm,\n
      \   const gs_log2_scale_point *log2_scale, bool design_grid,\n    float *mxx,
      float *mxy, float *myx, float *myy)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gx_compute_ccache_key
      Src: /src/libspectre/ghostscript/base/gxccache.c:93,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/base/gxccache.c:96,1
    - Dst: uid_is_valid
      Src: /src/libspectre/ghostscript/base/gxccache.c:99,1
    - Dst: uid_equal
      Src: /src/libspectre/ghostscript/base/gxccache.c:111,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccache.c:123,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/gxccache.c:126,1
    - Dst: gx_touch_fm_pair
      Src: /src/libspectre/ghostscript/base/gxccache.c:129,1
    - Dst: gx_provide_fm_pair_attributes
      Src: /src/libspectre/ghostscript/base/gxccache.c:132,1
    - Dst: gx_add_fm_pair
      Src: /src/libspectre/ghostscript/base/gxccache.c:140,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 35
    argCount: 5
    argNames:
    - pfont
    - char_tm
    - log2_scale
    - design_grid
    - ppair
    argTypes:
    - gs_font*
    - gs_matrix*
    - gs_log2_scale_point*
    - bool
    - cached_fm_pair**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 82
    functionDepth: 3
    functionLinenumber: 82
    functionLinenumberEnd: 141
    functionName: gx_lookup_fm_pair
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 6
    functionsReached:
    - gx_provide_fm_pair_attributes
    - gx_touch_fm_pair
    - uid_equal
    - gx_add_fm_pair
    - gx_compute_ccache_key
    - uid_set_invalid
    - if_debug2m
    - uid_is_valid
    linkageType: ''
    returnType: int
    signature: "int gx_lookup_fm_pair(gs_font * pfont, const gs_matrix *char_tm,\n
      \   const gs_log2_scale_point *log2_scale, bool design_grid, cached_fm_pair
      **ppair)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: chars_head_index
      Src: /src/libspectre/ghostscript/base/gxccache.c:151,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccache.c:155,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:158,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/base/gxccache.c:160,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:162,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gxccache.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 6
    argNames:
    - pfont
    - pair
    - glyph
    - wmode
    - depth
    - subpix_origin
    argTypes:
    - gs_font*
    - cached_fm_pair*
    - gs_glyph
    - int
    - int
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 170
    functionName: gx_lookup_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 4
    functionsReached:
    - if_debug3m
    - cc_pair
    - chars_head_index
    - if_debug4m
    - cc_depth
    linkageType: ''
    returnType: cached_char
    signature: "cached_char *\ngx_lookup_cached_char(const gs_font * pfont, const
      cached_fm_pair * pair,\n                      gs_glyph glyph, int wmode, int
      depth,\n                      gs_fixed_point *subpix_origin)"
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gxccache.c:180,1
    - Dst: gx_path_current_point_inline
      Src: /src/libspectre/ghostscript/base/gxccache.c:192,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxccache.c:202,1
    - Dst: fixed2int_var_rounded
      Src: /src/libspectre/ghostscript/base/gxccache.c:204,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxccache.c:208,1
    - Dst: cc_has_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:209,1
    - Dst: debug_dump_bitmap
      Src: /src/libspectre/ghostscript/base/gxccache.c:210,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:210,1
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:210,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/base/gxccache.c:213,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gxccache.c:214,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxccache.c:216,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxccache.c:217,1
    - Dst: dmlprintf6
      Src: /src/libspectre/ghostscript/base/gxccache.c:218,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxccache.c:219,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gxccache.c:219,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxccache.c:234,1
    - Dst: gx_make_clip_device_on_stack
      Src: /src/libspectre/ghostscript/base/gxccache.c:237,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gxccache.c:239,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gxccache.c:241,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccache.c:245,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxccache.c:246,1
    - Dst: fixed2int
      Src: /src/libspectre/ghostscript/base/gxccache.c:247,1
    - Dst: gs_color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxccache.c:255,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/base/gxccache.c:259,1
    - Dst: return_check_interrupt
      Src: /src/libspectre/ghostscript/base/gxccache.c:265,1
    - Dst: cc_has_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:269,1
    - Dst: gs_make_mem_mono_device
      Src: /src/libspectre/ghostscript/base/gxccache.c:272,1
    - Dst: gx_open_cache_device
      Src: /src/libspectre/ghostscript/base/gxccache.c:273,1
    - Dst: if_debug7m
      Src: /src/libspectre/ghostscript/base/gxccache.c:277,1
    - Dst: return_check_interrupt
      Src: /src/libspectre/ghostscript/base/gxccache.c:282,1
    - Dst: gx_add_char_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:283,1
    - Dst: cc_pair
      Src: /src/libspectre/ghostscript/base/gxccache.c:283,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:299,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:304,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:304,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccache.c:305,1
    - Dst: lop_no_S_is_T
      Src: /src/libspectre/ghostscript/base/gxccache.c:306,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gxccache.c:314,1
    - Dst: gx_image_fill_masked
      Src: /src/libspectre/ghostscript/base/gxccache.c:316,1
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:317,1
    - Dst: gs_color_writes_pure
      Src: /src/libspectre/ghostscript/base/gxccache.c:322,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccache.c:326,1
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:327,1
    - Dst: return_check_interrupt
      Src: /src/libspectre/ghostscript/base/gxccache.c:330,1
    - Dst: compress_alpha_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:332,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gxccache.c:336,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:337,1
    - Dst: compress_alpha_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:343,1
    - Dst: gs_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gxccache.c:350,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:353,1
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:353,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:354,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:358,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccache.c:359,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/base/gxccache.c:365,1
    - Dst: gs_make_translation
      Src: /src/libspectre/ghostscript/base/gxccache.c:366,1
    - Dst: gs_matrix_multiply
      Src: /src/libspectre/ghostscript/base/gxccache.c:367,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gxccache.c:367,1
    - Dst: gs_image_init
      Src: /src/libspectre/ghostscript/base/gxccache.c:371,1
    - Dst: gs_image_next
      Src: /src/libspectre/ghostscript/base/gxccache.c:379,1
    - Dst: gs_image_cleanup_and_free_enum
      Src: /src/libspectre/ghostscript/base/gxccache.c:382,1
    - Dst: cc_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:386,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gxccache.c:387,1
    - Dst: return_check_interrupt
      Src: /src/libspectre/ghostscript/base/gxccache.c:390,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 116
    argCount: 2
    argNames:
    - penum
    - cc
    argTypes:
    - gs_show_enum*
    - cached_char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 176
    functionDepth: 8
    functionLinenumber: 176
    functionLinenumberEnd: 391
    functionName: gx_image_cached_char
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 2
    functionsReached:
    - gs_make_translation
    - debug_dump_bitmap
    - compress_alpha_bits
    - cc_depth
    - gs_currentdevicecolor_inline
    - gs_color_writes_pure
    - gs_matrix_multiply
    - gs_debug_c
    - cc_has_bits
    - gx_add_char_bits
    - ctm_only
    - gs_image_init
    - cc_bits
    - if_debug8m
    - gs_free_object
    - gx_effective_clip_path
    - gx_make_clip_device_on_stack
    - gx_set_dev_color
    - cc_raster
    - dmlprintf3
    - bitmap_raster
    - gs_image_cleanup_and_free_enum
    - fixed2int
    - fixed2int_var_rounded
    - gx_open_cache_device
    - dmputs
    - if_debug7m
    - dev_proc
    - if_debug0m
    - gs_image_enum_alloc
    - cc_pair
    - dmlprintf6
    - gx_image_fill_masked
    - gs_image_t_init_mask
    - gs_image_next
    - gx_path_current_point_inline
    - gs_make_mem_mono_device
    - lop_no_S_is_T
    - return_check_interrupt
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int gx_image_cached_char(register gs_show_enum * penum, register cached_char
      * cc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cc_const_bits
      Src: /src/libspectre/ghostscript/base/gxccache.c:402,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:409,1
    - Dst: cc_depth
      Src: /src/libspectre/ghostscript/base/gxccache.c:409,1
    - Dst: cc_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:410,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/gxccache.c:412,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gxccache.c:414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - cc
    - mem
    argTypes:
    - cached_char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 447
    functionName: compress_alpha_bits
    functionSourceFile: /src/libspectre/ghostscript/base/gxccache.c
    functionUses: 1
    functionsReached:
    - gs_alloc_bytes
    - cc_raster
    - cc_const_bits
    - cc_depth
    - bitmap_raster
    linkageType: ''
    returnType: byte
    signature: 'byte *

      compress_alpha_bits(const cached_char * cc, gs_memory_t * mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 79
    functionName: DBG_PRINT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG_PRINT(fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fmt
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: DBG_PRINT1
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG_PRINT1(fmt, a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fmt
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: DBG_PRINT3
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG_PRINT3(fmt, a, b, c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - fmt
    - ','
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DBG_PRINT4
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DBG_PRINT4(fmt, a, b, c, d)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 169
    functionName: SKIP_Code
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKIP_Code()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    functionName: GET_ShortIns
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_ShortIns()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: COMPUTE_Funcs
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPUTE_Funcs()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - x
    - ','
    - y
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: NORMalize
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NORMalize( x, y, v )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - scale
    - ','
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    functionName: SET_SuperRound
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_SuperRound( scale, flags )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - range
    - ','
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 181
    functionName: INS_Goto_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INS_Goto_CodeRange( range, ip )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: CUR_Func_project
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_project( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - z
    - ','
    - p
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: CUR_Func_move
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_move( z, p, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    functionName: CUR_Func_dualproj
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_dualproj( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: CUR_Func_freeProj
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_freeProj( x, y )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - d
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    functionName: CUR_Func_round
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_round( d, c )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - index
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    functionName: CUR_Func_read_cvt
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_read_cvt( index )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - index
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 193
    functionName: CUR_Func_write_cvt
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_write_cvt( index, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - index
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: CUR_Func_move_cvt
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Func_move_cvt( index, val )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: CURRENT_Ratio
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_Ratio()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: CURRENT_Ppem
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CURRENT_Ppem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: CALC_Length
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALC_Length()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: INS_SxVTL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INS_SxVTL( a, b, c, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 206
    functionName: COMPUTE_Point_Displacement
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPUTE_Point_Displacement( a, b, c, d )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: MOVE_Zp2_Point
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVE_Zp2_Point( a, b, c, t )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: CUR_Ppem
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CUR_Ppem()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: BOUNDS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BOUNDS(x,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: ABS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 53
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ABS(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MUL_64
      Src: /src/libspectre/ghostscript/base/ttinterp.c:540,1
    - Dst: MUL_64
      Src: /src/libspectre/ghostscript/base/ttinterp.c:541,1
    - Dst: ADD_64
      Src: /src/libspectre/ghostscript/base/ttinterp.c:543,1
    - Dst: SQRT_64
      Src: /src/libspectre/ghostscript/base/ttinterp.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - X
    - Y
    argTypes:
    - TT_F26Dot6
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: Norm
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - SQRT_64
    - ADD_64
    - MUL_64
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Norm( TT_F26Dot6  X, TT_F26Dot6  Y )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - distance
    argTypes:
    - EXEC_OPS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 565
    functionName: FUnits_To_Pixels
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 FUnits_To_Pixels( EXEC_OPS  Int  distance )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:596,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:597,1
    - Dst: Norm
      Src: /src/libspectre/ghostscript/base/ttinterp.c:598,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 581
    functionDepth: 2
    functionLinenumber: 581
    functionLinenumberEnd: 602
    functionName: Current_Ratio
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 4
    functionsReached:
    - Norm
    - MulDiv_Round
    linkageType: ''
    returnType: Long
    signature: Long Current_Ratio( EXEC_OP )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:606,1
    - Dst: CURRENT_Ratio
      Src: /src/libspectre/ghostscript/base/ttinterp.c:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 607
    functionName: Current_Ppem
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - CURRENT_Ratio
    - MulDiv_Round
    linkageType: ''
    returnType: Int
    signature: Int Current_Ppem( EXEC_OP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - EXEC_OPS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    functionName: Read_CVT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Read_CVT( EXEC_OPS Int  index )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:616,1
    - Dst: CURRENT_Ratio
      Src: /src/libspectre/ghostscript/base/ttinterp.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - index
    argTypes:
    - EXEC_OPS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 617
    functionName: Read_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - CURRENT_Ratio
    - MulDiv_Round
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Read_CVT_Stretched( EXEC_OPS Int  index )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 625
    functionName: Write_CVT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - DBG_PRINT3
    linkageType: ''
    returnType: void
    signature: void Write_CVT( EXEC_OPS Int  index, TT_F26Dot6  value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:631,1
    - Dst: CURRENT_Ratio
      Src: /src/libspectre/ghostscript/base/ttinterp.c:631,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 633
    functionName: Write_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - DBG_PRINT3
    - CURRENT_Ratio
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: void Write_CVT_Stretched( EXEC_OPS Int  index, TT_F26Dot6  value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 641
    functionName: Move_CVT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - DBG_PRINT3
    linkageType: ''
    returnType: void
    signature: void Move_CVT( EXEC_OPS  Int index, TT_F26Dot6 value )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:647,1
    - Dst: CURRENT_Ratio
      Src: /src/libspectre/ghostscript/base/ttinterp.c:647,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - index
    - value
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 649
    functionName: Move_CVT_Stretched
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - DBG_PRINT3
    - CURRENT_Ratio
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: void Move_CVT_Stretched( EXEC_OPS  Int index, TT_F26Dot6  value )
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 712
    functionName: Calc_Length
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: Bool Calc_Length( EXEC_OP )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 735
    functionName: GetShortIns
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Short
    signature: Short GetShortIns( EXEC_OP )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - aRange
    - aIP
    argTypes:
    - EXEC_OPS
    - Int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 752
    functionDepth: 0
    functionLinenumber: 752
    functionLinenumberEnd: 786
    functionName: Ins_Goto_CodeRange
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: Bool
    signature: Bool Ins_Goto_CodeRange( EXEC_OPS Int  aRange, Int  aIP )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:813,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - PGlyph_Zone
    - point
    - distance
    argTypes:
    - EXEC_OPS
    - Int
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 830
    functionName: Direct_Move
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: "void Direct_Move( EXEC_OPS PGlyph_Zone zone,\n                                     Int
      \        point,\n                                     TT_F26Dot6  distance )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - PGlyph_Zone
    - point
    - distance
    argTypes:
    - EXEC_OPS
    - Int
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 850
    functionName: Direct_Move_X
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_X( EXEC_OPS PGlyph_Zone  zone,\n                                       Int
      \        point,\n                                       TT_F26Dot6  distance
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - PGlyph_Zone
    - point
    - distance
    argTypes:
    - EXEC_OPS
    - Int
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 857
    functionDepth: 0
    functionLinenumber: 857
    functionLinenumberEnd: 863
    functionName: Direct_Move_Y
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Direct_Move_Y( EXEC_OPS PGlyph_Zone  zone,\n                                       Int
      \        point,\n                                       TT_F26Dot6  distance
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 902
    functionName: Round_None
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_None( EXEC_OPS TT_F26Dot6  distance,\n                                          TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 918
    functionDepth: 0
    functionLinenumber: 918
    functionLinenumberEnd: 938
    functionName: Round_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_To_Grid( EXEC_OPS TT_F26Dot6  distance,\n                                             TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 974
    functionName: Round_To_Half_Grid
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_To_Half_Grid( EXEC_OPS TT_F26Dot6  distance,\n                                                  TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 1010
    functionName: Round_Down_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_Down_To_Grid( EXEC_OPS TT_F26Dot6  distance,\n                                                  TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1046
    functionName: Round_Up_To_Grid
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_Up_To_Grid( EXEC_OPS TT_F26Dot6  distance,\n                                                TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1082
    functionName: Round_To_Double_Grid
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_To_Double_Grid( EXEC_OPS TT_F26Dot6  distance,\n
      \                                                   TT_F26Dot6  compensation
      )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1103
    functionDepth: 0
    functionLinenumber: 1103
    functionLinenumberEnd: 1126
    functionName: Round_Super
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_Super( EXEC_OPS TT_F26Dot6  distance,\n                                           TT_F26Dot6
      \ compensation )"
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - TT_F26Dot6
    - compensation
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1168
    functionName: Round_Super_45
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: "TT_F26Dot6 Round_Super_45( EXEC_OPS TT_F26Dot6  distance,\n                                              TT_F26Dot6
      \ compensation )"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - round_mode
    argTypes:
    - EXEC_OPS
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1175
    functionDepth: 0
    functionLinenumber: 1175
    functionLinenumberEnd: 1211
    functionName: Compute_Round
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Compute_Round( EXEC_OPS Byte  round_mode )
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 2
    argNames:
    - TT_F26Dot6
    - selector
    argTypes:
    - EXEC_OPS
    - Long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1226
    functionDepth: 0
    functionLinenumber: 1226
    functionLinenumberEnd: 1277
    functionName: SetSuperRound
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void SetSuperRound( EXEC_OPS TT_F26Dot6  GridPeriod,\n                                       Long
      \       selector )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - TT_F26Dot6
    - Vy
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1291
    functionDepth: 0
    functionLinenumber: 1291
    functionLinenumberEnd: 1295
    functionName: Project
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Project( EXEC_OPS TT_F26Dot6  Vx, TT_F26Dot6  Vy )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - TT_F26Dot6
    - Vy
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1314
    functionName: Dual_Project
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Dual_Project( EXEC_OPS TT_F26Dot6  Vx, TT_F26Dot6  Vy )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - TT_F26Dot6
    - Vy
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1329
    functionDepth: 0
    functionLinenumber: 1329
    functionLinenumberEnd: 1333
    functionName: Free_Project
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Free_Project( EXEC_OPS TT_F26Dot6  Vx, TT_F26Dot6  Vy )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - TT_F26Dot6
    - Vy
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1347
    functionDepth: 0
    functionLinenumber: 1347
    functionLinenumberEnd: 1350
    functionName: Project_x
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Project_x( EXEC_OPS TT_F26Dot6  Vx, TT_F26Dot6  Vy )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - TT_F26Dot6
    - Vy
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1364
    functionDepth: 0
    functionLinenumber: 1364
    functionLinenumberEnd: 1367
    functionName: Project_y
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TT_F26Dot6
    signature: TT_F26Dot6 Project_y( EXEC_OPS TT_F26Dot6  Vx, TT_F26Dot6  Vy )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1441,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1380
    functionDepth: 0
    functionLinenumber: 1380
    functionLinenumberEnd: 1446
    functionName: Compute_Funcs
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 8
    functionsReached:
    - ABS
    linkageType: ''
    returnType: void
    signature: void Compute_Funcs( EXEC_OP )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1468,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1468,1
    - Dst: Norm
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1473,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1482,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1483,1
    - Dst: Norm
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1488,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1496,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1497,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 3
    argNames:
    - TT_F26Dot6
    - Vy
    - R
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    - TT_UnitVector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1555
      start: 1461
    functionDepth: 2
    functionLinenumber: 1461
    functionLinenumberEnd: 1555
    functionName: Normalize
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 4
    functionsReached:
    - Norm
    - MulDiv_Round
    - ABS
    linkageType: ''
    returnType: Bool
    signature: "Bool Normalize( EXEC_OPS TT_F26Dot6      Vx,\n                                   TT_F26Dot6
      \     Vy,\n                                   TT_UnitVector*  R )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1572
    functionName: Ins_DUP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_DUP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1581
      start: 1578
    functionDepth: 0
    functionLinenumber: 1578
    functionLinenumberEnd: 1581
    functionName: Ins_POP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_POP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1587
    functionDepth: 0
    functionLinenumber: 1587
    functionLinenumberEnd: 1590
    functionName: Ins_CLEAR
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_CLEAR( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1596
    functionDepth: 0
    functionLinenumber: 1596
    functionLinenumberEnd: 1604
    functionName: Ins_SWAP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SWAP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1610
    functionDepth: 0
    functionLinenumber: 1610
    functionLinenumberEnd: 1613
    functionName: Ins_DEPTH
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_DEPTH( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1619
    functionDepth: 0
    functionLinenumber: 1619
    functionLinenumberEnd: 1629
    functionName: Ins_CINDEX
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_CINDEX( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1652,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1635
    functionDepth: 0
    functionLinenumber: 1635
    functionLinenumberEnd: 1657
    functionName: Ins_MINDEX
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: void Ins_MINDEX( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1675
      start: 1663
    functionDepth: 0
    functionLinenumber: 1663
    functionLinenumberEnd: 1675
    functionName: Ins_ROLL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_ROLL( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CALC_Length
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1695
    functionName: SkipCode
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 4
    functionsReached:
    - CALC_Length
    linkageType: ''
    returnType: Bool
    signature: Bool SkipCode( EXEC_OP )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_Code
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1714,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1733
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1733
    functionName: Ins_IF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - SKIP_Code
    linkageType: ''
    returnType: void
    signature: void Ins_IF( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_Code
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1739
    functionDepth: 1
    functionLinenumber: 1739
    functionLinenumberEnd: 1762
    functionName: Ins_ELSE
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - SKIP_Code
    linkageType: ''
    returnType: void
    signature: void Ins_ELSE( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1771
      start: 1768
    functionDepth: 0
    functionLinenumber: 1768
    functionLinenumberEnd: 1771
    functionName: Ins_EIF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_EIF( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1789
      start: 1777
    functionDepth: 0
    functionLinenumber: 1777
    functionLinenumberEnd: 1789
    functionName: Ins_JROT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_JROT( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1797,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1816
      start: 1795
    functionDepth: 0
    functionLinenumber: 1795
    functionLinenumberEnd: 1816
    functionName: Ins_JMPR
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 3
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_JMPR( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1822
    functionDepth: 0
    functionLinenumber: 1822
    functionLinenumberEnd: 1833
    functionName: Ins_JROF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_JROF( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1853
      start: 1847
    functionDepth: 0
    functionLinenumber: 1847
    functionLinenumberEnd: 1853
    functionName: Ins_LT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_LT( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1859
    functionDepth: 0
    functionLinenumber: 1859
    functionLinenumberEnd: 1865
    functionName: Ins_LTEQ
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_LTEQ( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1877
    functionName: Ins_GT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GT( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1883
    functionDepth: 0
    functionLinenumber: 1883
    functionLinenumberEnd: 1889
    functionName: Ins_GTEQ
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GTEQ( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1895
    functionDepth: 0
    functionLinenumber: 1895
    functionLinenumberEnd: 1901
    functionName: Ins_EQ
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_EQ( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1907
    functionDepth: 0
    functionLinenumber: 1907
    functionLinenumberEnd: 1913
    functionName: Ins_NEQ
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_NEQ( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1925
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1925
    functionName: Ins_ODD
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_round
    linkageType: ''
    returnType: void
    signature: void Ins_ODD( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:1933,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1937
    functionName: Ins_EVEN
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_round
    linkageType: ''
    returnType: void
    signature: void Ins_EVEN( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1943
    functionDepth: 0
    functionLinenumber: 1943
    functionLinenumberEnd: 1949
    functionName: Ins_AND
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_AND( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1955
    functionDepth: 0
    functionLinenumber: 1955
    functionLinenumberEnd: 1961
    functionName: Ins_OR
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_OR( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1973
    functionName: Ins_NOT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_NOT( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1990
      start: 1987
    functionDepth: 0
    functionLinenumber: 1987
    functionLinenumberEnd: 1990
    functionName: Ins_ADD
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_ADD( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1999
      start: 1996
    functionDepth: 0
    functionLinenumber: 1996
    functionLinenumberEnd: 1999
    functionName: Ins_SUB
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SUB( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2013,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2014,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 2005
    functionDepth: 1
    functionLinenumber: 2005
    functionLinenumberEnd: 2015
    functionName: Ins_DIV
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: void Ins_DIV( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2024
      start: 2021
    functionDepth: 1
    functionLinenumber: 2021
    functionLinenumberEnd: 2024
    functionName: Ins_MUL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: void Ins_MUL( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 2030
    functionDepth: 0
    functionLinenumber: 2030
    functionLinenumberEnd: 2033
    functionName: Ins_ABS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - ABS
    linkageType: ''
    returnType: void
    signature: void Ins_ABS( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2039
    functionDepth: 0
    functionLinenumber: 2039
    functionLinenumberEnd: 2042
    functionName: Ins_NEG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_NEG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2051
      start: 2048
    functionDepth: 0
    functionLinenumber: 2048
    functionLinenumberEnd: 2051
    functionName: Ins_FLOOR
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_FLOOR( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2060
      start: 2057
    functionDepth: 0
    functionLinenumber: 2057
    functionLinenumberEnd: 2060
    functionName: Ins_CEILING
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_CEILING( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2066
    functionDepth: 0
    functionLinenumber: 2066
    functionLinenumberEnd: 2070
    functionName: Ins_MAX
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_MAX( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2076
    functionDepth: 0
    functionLinenumber: 2076
    functionLinenumberEnd: 2080
    functionName: Ins_MIN
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_MIN( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2098
      start: 2094
    functionDepth: 1
    functionLinenumber: 2094
    functionLinenumberEnd: 2098
    functionName: Ins_ROUND
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_round
    linkageType: ''
    returnType: void
    signature: void Ins_ROUND( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2104
    functionDepth: 0
    functionLinenumber: 2104
    functionLinenumberEnd: 2109
    functionName: Ins_NROUND
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - Round_None
    linkageType: ''
    returnType: void
    signature: void Ins_NROUND( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: SKIP_Code
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2137
    functionName: skip_FDEF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - SKIP_Code
    linkageType: ''
    returnType: void
    signature: void skip_FDEF( EXEC_OP )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2147,1
    - Dst: skip_FDEF
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2143
    functionDepth: 2
    functionLinenumber: 2143
    functionLinenumberEnd: 2161
    functionName: Ins_FDEF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - skip_FDEF
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_FDEF( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INS_Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2203
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2203
    functionName: Ins_ENDF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: void Ins_ENDF( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2213,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2225,1
    - Dst: INS_Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2236,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2240
      start: 2209
    functionDepth: 1
    functionLinenumber: 2209
    functionLinenumberEnd: 2240
    functionName: Ins_CALL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_Goto_CodeRange
    - DBG_PRINT1
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_CALL( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2250,1
    - Dst: INS_Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2246
    functionDepth: 1
    functionLinenumber: 2246
    functionLinenumberEnd: 2278
    functionName: Ins_LOOPCALL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_Goto_CodeRange
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_LOOPCALL( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: skip_FDEF
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2300
      start: 2284
    functionDepth: 2
    functionLinenumber: 2284
    functionLinenumberEnd: 2300
    functionName: Ins_IDEF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - skip_FDEF
    linkageType: ''
    returnType: void
    signature: void Ins_IDEF( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2320,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2314
    functionDepth: 1
    functionLinenumber: 2314
    functionLinenumberEnd: 2332
    functionName: Ins_NPUSHB
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_NPUSHB( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2344,1
    - Dst: GET_ShortIns
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2353,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2354,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2359
      start: 2338
    functionDepth: 1
    functionLinenumber: 2338
    functionLinenumberEnd: 2359
    functionName: Ins_NPUSHW
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - BOUNDS
    - GET_ShortIns
    linkageType: ''
    returnType: void
    signature: void Ins_NPUSHW( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2371,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2379,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2381
      start: 2365
    functionDepth: 1
    functionLinenumber: 2365
    functionLinenumberEnd: 2381
    functionName: Ins_PUSHB
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_PUSHB( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2393,1
    - Dst: GET_ShortIns
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2402,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2403,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2387
    functionDepth: 1
    functionLinenumber: 2387
    functionLinenumberEnd: 2407
    functionName: Ins_PUSHW
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - BOUNDS
    - GET_ShortIns
    linkageType: ''
    returnType: void
    signature: void Ins_PUSHW( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2430
      start: 2421
    functionDepth: 0
    functionLinenumber: 2421
    functionLinenumberEnd: 2430
    functionName: Ins_RS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_RS( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2445
      start: 2436
    functionDepth: 0
    functionLinenumber: 2436
    functionLinenumberEnd: 2445
    functionName: Ins_WS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_WS( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2453,1
    - Dst: CUR_Func_write_cvt
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2460
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2460
    functionName: Ins_WCVTP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_write_cvt
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_WCVTP( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2472,1
    - Dst: FUnits_To_Pixels
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2481,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2466
    functionDepth: 2
    functionLinenumber: 2466
    functionLinenumberEnd: 2485
    functionName: Ins_WCVTF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - FUnits_To_Pixels
    - BOUNDS
    - DBG_PRINT3
    linkageType: ''
    returnType: void
    signature: void Ins_WCVTF( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2494,1
    - Dst: CUR_Func_read_cvt
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2500,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2491
    functionDepth: 1
    functionLinenumber: 2491
    functionLinenumberEnd: 2502
    functionName: Ins_RCVT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT3
    - BOUNDS
    - CUR_Func_read_cvt
    linkageType: ''
    returnType: void
    signature: void Ins_RCVT( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2516
    functionDepth: 1
    functionLinenumber: 2516
    functionLinenumberEnd: 2537
    functionName: Ins_SVTCA
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SVTCA( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2561
      start: 2543
    functionDepth: 1
    functionLinenumber: 2543
    functionLinenumberEnd: 2561
    functionName: Ins_SPVTCA
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SPVTCA( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2583
      start: 2567
    functionDepth: 1
    functionLinenumber: 2567
    functionLinenumberEnd: 2583
    functionName: Ins_SFVTCA
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached:
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SFVTCA( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2592,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2593,1
    - Dst: NORMalize
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2609,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - aIdx1
    - aIdx2
    - aOpc
    - Vec
    argTypes:
    - EXEC_OPS
    - Int
    - Int
    - TT_UnitVector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2619
      start: 2585
    functionDepth: 1
    functionLinenumber: 2585
    functionLinenumberEnd: 2619
    functionName: Ins_SxVTL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 2
    functionsReached:
    - BOUNDS
    - NORMalize
    linkageType: ''
    returnType: Bool
    signature: "Bool Ins_SxVTL( EXEC_OPS  Int             aIdx1,\n                                    Int
      \            aIdx2,\n                                    Int             aOpc,\n
      \                                   TT_UnitVector*  Vec )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INS_SxVTL
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2627,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2634,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2635
    functionName: Ins_SPVTL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_SxVTL
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SPVTL( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INS_SxVTL
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2643,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2649,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2650
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2650
    functionName: Ins_SFVTL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_SxVTL
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SFVTL( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2656
    functionDepth: 1
    functionLinenumber: 2656
    functionLinenumberEnd: 2660
    functionName: Ins_SFVTPV
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Funcs
    linkageType: ''
    returnType: void
    signature: void Ins_SFVTPV( INS_ARG )
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2674,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2675,1
    - Dst: NORMalize
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2691,1
    - Dst: NORMalize
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2704,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2707,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2708
      start: 2666
    functionDepth: 1
    functionLinenumber: 2666
    functionLinenumberEnd: 2708
    functionName: Ins_SDPVTL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Funcs
    - BOUNDS
    - NORMalize
    linkageType: ''
    returnType: void
    signature: void Ins_SDPVTL( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NORMalize
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2725,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2730,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2731
      start: 2714
    functionDepth: 1
    functionLinenumber: 2714
    functionLinenumberEnd: 2731
    functionName: Ins_SPVFS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Funcs
    - NORMalize
    linkageType: ''
    returnType: void
    signature: void Ins_SPVFS( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: NORMalize
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2748,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2752
      start: 2737
    functionDepth: 1
    functionLinenumber: 2737
    functionLinenumberEnd: 2752
    functionName: Ins_SFVFS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Funcs
    - NORMalize
    linkageType: ''
    returnType: void
    signature: void Ins_SFVFS( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2758
    functionDepth: 0
    functionLinenumber: 2758
    functionLinenumberEnd: 2762
    functionName: Ins_GPV
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GPV( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2768
    functionDepth: 0
    functionLinenumber: 2768
    functionLinenumberEnd: 2772
    functionName: Ins_GFV
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GFV( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2781
      start: 2778
    functionDepth: 0
    functionLinenumber: 2778
    functionLinenumberEnd: 2781
    functionName: Ins_SRP0
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SRP0( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2790
      start: 2787
    functionDepth: 0
    functionLinenumber: 2787
    functionLinenumberEnd: 2790
    functionName: Ins_SRP1
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SRP1( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2799
    functionName: Ins_SRP2
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SRP2( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2824
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2824
    functionName: Ins_SZP0
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SZP0( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2848
      start: 2830
    functionDepth: 0
    functionLinenumber: 2830
    functionLinenumberEnd: 2848
    functionName: Ins_SZP1
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SZP1( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2854
    functionDepth: 0
    functionLinenumber: 2854
    functionLinenumberEnd: 2872
    functionName: Ins_SZP2
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SZP2( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2901
      start: 2878
    functionDepth: 0
    functionLinenumber: 2878
    functionLinenumberEnd: 2901
    functionName: Ins_SZPS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SZPS( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2912
      start: 2907
    functionDepth: 0
    functionLinenumber: 2907
    functionLinenumberEnd: 2912
    functionName: Ins_RTHG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTHG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2923
      start: 2918
    functionDepth: 0
    functionLinenumber: 2918
    functionLinenumberEnd: 2923
    functionName: Ins_RTG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2929
    functionDepth: 0
    functionLinenumber: 2929
    functionLinenumberEnd: 2934
    functionName: Ins_RTDG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RTDG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2945
      start: 2940
    functionDepth: 0
    functionLinenumber: 2940
    functionLinenumberEnd: 2945
    functionName: Ins_RUTG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RUTG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2956
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2956
    functionName: Ins_RDTG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_RDTG( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2967
      start: 2962
    functionDepth: 0
    functionLinenumber: 2962
    functionLinenumberEnd: 2967
    functionName: Ins_ROFF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_ROFF( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_SuperRound
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2973
    functionDepth: 1
    functionLinenumber: 2973
    functionLinenumberEnd: 2979
    functionName: Ins_SROUND
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - SET_SuperRound
    linkageType: ''
    returnType: void
    signature: void Ins_SROUND( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_SuperRound
      Src: /src/libspectre/ghostscript/base/ttinterp.c:2987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2991
      start: 2985
    functionDepth: 1
    functionLinenumber: 2985
    functionLinenumberEnd: 2991
    functionName: Ins_S45ROUND
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - SET_SuperRound
    linkageType: ''
    returnType: void
    signature: void Ins_S45ROUND( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2997
    functionDepth: 0
    functionLinenumber: 2997
    functionLinenumberEnd: 3000
    functionName: Ins_SLOOP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SLOOP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3009
      start: 3006
    functionDepth: 0
    functionLinenumber: 3006
    functionLinenumberEnd: 3009
    functionName: Ins_SMD
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SMD( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3015
    functionDepth: 0
    functionLinenumber: 3015
    functionLinenumberEnd: 3029
    functionName: Ins_INSTCTRL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_INSTCTRL( INS_ARG )
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3072
      start: 3035
    functionDepth: 0
    functionLinenumber: 3035
    functionLinenumberEnd: 3072
    functionName: Ins_SCANCTRL
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SCANCTRL( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3090
      start: 3078
    functionDepth: 0
    functionLinenumber: 3078
    functionLinenumberEnd: 3090
    functionName: Ins_SCANTYPE
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SCANTYPE( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3096
    functionDepth: 0
    functionLinenumber: 3096
    functionLinenumberEnd: 3099
    functionName: Ins_SCVTCI
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SCVTCI( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3105
    functionDepth: 0
    functionLinenumber: 3105
    functionLinenumberEnd: 3108
    functionName: Ins_SSWCI
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SSWCI( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3114
    functionDepth: 0
    functionLinenumber: 3114
    functionLinenumberEnd: 3123
    functionName: Ins_SSW
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SSW( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3132
      start: 3129
    functionDepth: 0
    functionLinenumber: 3129
    functionLinenumberEnd: 3132
    functionName: Ins_FLIPON
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPON( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3138
    functionDepth: 0
    functionLinenumber: 3138
    functionLinenumberEnd: 3141
    functionName: Ins_FLIPOFF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPOFF( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3150
      start: 3147
    functionDepth: 0
    functionLinenumber: 3147
    functionLinenumberEnd: 3150
    functionName: Ins_SANGW
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SANGW( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3156
    functionDepth: 0
    functionLinenumber: 3156
    functionLinenumberEnd: 3159
    functionName: Ins_SDB
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SDB( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3168
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3168
    functionName: Ins_SDS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_SDS( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3183,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3192,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3197,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3177
    functionDepth: 1
    functionLinenumber: 3177
    functionLinenumberEnd: 3203
    functionName: Ins_GC
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    - CUR_Func_project
    - CUR_Func_dualproj
    linkageType: ''
    returnType: void
    signature: void Ins_GC( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3221,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3227,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3230,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3239
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3239
    functionName: Ins_SCFS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: void
    signature: void Ins_SCFS( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3260,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3261,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3268,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3271,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3252
    functionDepth: 1
    functionLinenumber: 3252
    functionLinenumberEnd: 3275
    functionName: Ins_MD
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    - CUR_Func_project
    - CUR_Func_dualproj
    linkageType: ''
    returnType: void
    signature: void Ins_MD( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_Ppem
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3283,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3281
    functionDepth: 1
    functionLinenumber: 3281
    functionLinenumberEnd: 3285
    functionName: Ins_MPPEM
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - DBG_PRINT1
    - CURRENT_Ppem
    linkageType: ''
    returnType: void
    signature: void Ins_MPPEM( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3294
      start: 3291
    functionDepth: 0
    functionLinenumber: 3291
    functionLinenumberEnd: 3294
    functionName: Ins_MPS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_MPS( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3325,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3308
    functionDepth: 0
    functionLinenumber: 3308
    functionLinenumberEnd: 3338
    functionName: Ins_FLIPPT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPPT( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3351,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3360
      start: 3344
    functionDepth: 0
    functionLinenumber: 3344
    functionLinenumberEnd: 3360
    functionName: Ins_FLIPRGON
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPRGON( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3373,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3382
      start: 3366
    functionDepth: 0
    functionLinenumber: 3366
    functionLinenumberEnd: 3382
    functionName: Ins_FLIPRGOFF
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_FLIPRGOFF( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3405,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3416,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3419,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - PCoordinates
    - y
    - zone
    - refp
    argTypes:
    - EXEC_OPS
    - PCoordinates
    - PGlyph_Zone
    - Int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3423
      start: 3384
    functionDepth: 1
    functionLinenumber: 3384
    functionLinenumberEnd: 3423
    functionName: Compute_Point_Displacement
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 3
    functionsReached:
    - MulDiv_Round
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: Bool
    signature: "Bool Compute_Point_Displacement( EXEC_OPS\n                                           PCoordinates
      \ x,\n                                           PCoordinates  y,\n                                           PGlyph_Zone
      \  zone,\n                                           Int*          refp )"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - point
    - dx
    - dy
    - touch
    argTypes:
    - EXEC_OPS
    - TT_F26Dot6
    - TT_F26Dot6
    - Bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3451
      start: 3425
    functionDepth: 0
    functionLinenumber: 3425
    functionLinenumberEnd: 3451
    functionName: Move_Zp2_Point
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Move_Zp2_Point( EXEC_OPS\n                               Long
      \       point,\n                               TT_F26Dot6  dx,\n                               TT_F26Dot6
      \ dy,\n                               Bool        touch )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: COMPUTE_Point_Displacement
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3473,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3481,1
    - Dst: MOVE_Zp2_Point
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3488,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3457
    functionDepth: 1
    functionLinenumber: 3457
    functionLinenumberEnd: 3495
    functionName: Ins_SHP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MOVE_Zp2_Point
    - COMPUTE_Point_Displacement
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_SHP( INS_ARG )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3513,1
    - Dst: COMPUTE_Point_Displacement
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3524,1
    - Dst: MOVE_Zp2_Point
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3540
      start: 3501
    functionDepth: 1
    functionLinenumber: 3501
    functionLinenumberEnd: 3540
    functionName: Ins_SHC
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Point_Displacement
    - BOUNDS
    - MOVE_Zp2_Point
    linkageType: ''
    returnType: void
    signature: void Ins_SHC( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3556,1
    - Dst: COMPUTE_Point_Displacement
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3562,1
    - Dst: MOVE_Zp2_Point
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3571,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3573
      start: 3546
    functionDepth: 1
    functionLinenumber: 3546
    functionLinenumberEnd: 3573
    functionName: Ins_SHZ
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - COMPUTE_Point_Displacement
    - BOUNDS
    - MOVE_Zp2_Point
    linkageType: ''
    returnType: void
    signature: void Ins_SHZ( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3590,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3593,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3603,1
    - Dst: MOVE_Zp2_Point
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3609,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3616
      start: 3579
    functionDepth: 1
    functionLinenumber: 3579
    functionLinenumberEnd: 3616
    functionName: Ins_SHPIX
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MOVE_Zp2_Point
    - MulDiv_Round
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_SHPIX( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3629,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3645,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3650,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3622
    functionDepth: 1
    functionLinenumber: 3622
    functionLinenumberEnd: 3657
    functionName: Ins_MSIRP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: void
    signature: void Ins_MSIRP( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3671,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3682,1
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3684,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3694
      start: 3663
    functionDepth: 1
    functionLinenumber: 3663
    functionLinenumberEnd: 3694
    functionName: Ins_MDAP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_round
    - CUR_Func_move
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: void
    signature: void Ins_MDAP( INS_ARG )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3709,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3710,1
    - Dst: CUR_Func_read_cvt
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3742,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3744,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3748,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3752,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3757,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3762,1
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3765,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3768,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3772
    functionName: Ins_MIAP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MulDiv_Round
    - CUR_Func_round
    - DBG_PRINT3
    - ABS
    - CUR_Func_project
    - BOUNDS
    - CUR_Func_move
    - CUR_Func_read_cvt
    linkageType: ''
    returnType: void
    signature: void Ins_MIAP( INS_ARG )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3786,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3787,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3798,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3805,1
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3816,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3819,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3841,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3846,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3853
      start: 3778
    functionDepth: 1
    functionLinenumber: 3778
    functionLinenumberEnd: 3853
    functionName: Ins_MDRP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_round
    - ABS
    - CUR_Func_project
    - Round_None
    - BOUNDS
    - CUR_Func_dualproj
    - CUR_Func_move
    linkageType: ''
    returnType: void
    signature: void Ins_MDRP( INS_ARG )
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3874,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3875,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3876,1
    - Dst: CUR_Func_read_cvt
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3885,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3889,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3902,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3907,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3915,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3920,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3941,1
    - Dst: CUR_Func_round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3944,1
    - Dst: Round_None
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3948,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:3968,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3978
      start: 3859
    functionDepth: 1
    functionLinenumber: 3859
    functionLinenumberEnd: 3978
    functionName: Ins_MIRP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MulDiv_Round
    - CUR_Func_round
    - ABS
    - CUR_Func_project
    - BOUNDS
    - Round_None
    - CUR_Func_dualproj
    - CUR_Func_move
    - CUR_Func_read_cvt
    linkageType: ''
    returnType: void
    signature: void Ins_MIRP( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4002,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4008,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4019
      start: 3984
    functionDepth: 1
    functionLinenumber: 3984
    functionLinenumberEnd: 4019
    functionName: Ins_ALIGNRP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: void
    signature: void Ins_ALIGNRP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4028
      start: 4025
    functionDepth: 0
    functionLinenumber: 4025
    functionLinenumberEnd: 4028
    functionName: Ins_AA
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_AA( INS_ARG )
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4057,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4058,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4059,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4060,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4077,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4078,1
    - Dst: ABS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4080,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4082,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4082,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4084,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4085,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4103
      start: 4034
    functionDepth: 1
    functionLinenumber: 4034
    functionLinenumberEnd: 4103
    functionName: Ins_ISECT
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    - ABS
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: void Ins_ISECT( INS_ARG )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4117,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4118,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4124,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4129,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4132
      start: 4109
    functionDepth: 1
    functionLinenumber: 4109
    functionLinenumberEnd: 4132
    functionName: Ins_ALIGNPTS
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move
    - BOUNDS
    - CUR_Func_project
    linkageType: ''
    returnType: void
    signature: void Ins_ALIGNPTS( INS_ARG )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4147,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4148,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4154,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4157,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4160,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4163,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4171,1
    - Dst: CUR_Func_dualproj
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4177,1
    - Dst: CUR_Func_project
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4180,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4197,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4201,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4138
    functionDepth: 1
    functionLinenumber: 4138
    functionLinenumberEnd: 4208
    functionName: Ins_IP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - MulDiv_Round
    - CUR_Func_project
    - BOUNDS
    - CUR_Func_dualproj
    - CUR_Func_move
    linkageType: ''
    returnType: void
    signature: void Ins_IP( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4218,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4233
      start: 4214
    functionDepth: 0
    functionLinenumber: 4214
    functionLinenumberEnd: 4233
    functionName: Ins_UTP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - BOUNDS
    linkageType: ''
    returnType: void
    signature: void Ins_UTP( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - p1
    - p2
    - p
    - LINK
    argTypes:
    - Int
    - Int
    - Int
    - struct LOC_Ins_IUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4257
      start: 4242
    functionDepth: 0
    functionLinenumber: 4242
    functionLinenumberEnd: 4257
    functionName: Shift
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void Shift( Int  p1,\n                      Int  p2,\n                      Int
      \ p,\n                      struct LOC_Ins_IUP*  LINK )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4304,1
    - Dst: MulDiv_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4326,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 5
    argNames:
    - p1
    - p2
    - ref1
    - ref2
    - LINK
    argTypes:
    - Int
    - Int
    - Int
    - Int
    - struct LOC_Ins_IUP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4332
      start: 4259
    functionDepth: 1
    functionLinenumber: 4259
    functionLinenumberEnd: 4332
    functionName: Interp
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 8
    functionsReached:
    - MulDiv_Round
    linkageType: ''
    returnType: void
    signature: "void Interp( Int  p1, Int  p2,\n                       Int  ref1,
      Int  ref2,\n                       struct LOC_Ins_IUP*  LINK )"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: Interp
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4393,1
    - Dst: Shift
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4405,1
    - Dst: Interp
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4408,1
    - Dst: Interp
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4414,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4424
      start: 4338
    functionDepth: 2
    functionLinenumber: 4338
    functionLinenumberEnd: 4424
    functionName: Ins_IUP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - Shift
    - Interp
    linkageType: ''
    returnType: void
    signature: void Ins_IUP( INS_ARG )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4451,1
    - Dst: BOUNDS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4454,1
    - Dst: CURRENT_Ppem
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4479,1
    - Dst: CUR_Func_move
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4486,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4491
      start: 4430
    functionDepth: 1
    functionLinenumber: 4430
    functionLinenumberEnd: 4491
    functionName: Ins_DELTAP
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move
    - BOUNDS
    - CURRENT_Ppem
    linkageType: ''
    returnType: void
    signature: void Ins_DELTAP( INS_ARG )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CURRENT_Ppem
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4541,1
    - Dst: CUR_Func_move_cvt
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4548,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4553
      start: 4497
    functionDepth: 1
    functionLinenumber: 4497
    functionLinenumberEnd: 4553
    functionName: Ins_DELTAC
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - CUR_Func_move_cvt
    - CURRENT_Ppem
    linkageType: ''
    returnType: void
    signature: void Ins_DELTAC( INS_ARG )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4570
      start: 4567
    functionDepth: 0
    functionLinenumber: 4567
    functionLinenumberEnd: 4570
    functionName: Ins_DEBUG
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_DEBUG( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4596
      start: 4576
    functionDepth: 0
    functionLinenumber: 4576
    functionLinenumberEnd: 4596
    functionName: Ins_GETINFO
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ins_GETINFO( INS_ARG )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INS_Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4634,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4638
      start: 4598
    functionDepth: 1
    functionLinenumber: 4598
    functionLinenumberEnd: 4638
    functionName: Ins_UNKNOWN
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 1
    functionsReached:
    - INS_Goto_CodeRange
    linkageType: ''
    returnType: void
    signature: void Ins_UNKNOWN( INS_ARG )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DBG_PRINT
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4963,1
    - Dst: COMPUTE_Funcs
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4985,1
    - Dst: Compute_Round
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4986,1
    - Dst: EXEC_ARGS
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4986,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4990,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4991,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4992,1
    - Dst: ttfMemory*::alloc_bytes
      Src: /src/libspectre/ghostscript/base/ttinterp.c:4993,1
    - Dst: setjmp
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5000,1
    - Dst: find_jmp_buf
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5000,1
    - Dst: CALC_Length
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5010,1
    - Dst: DBG_PRINT3
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5041,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5048,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5049,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5050,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5051,1
    - Dst: p
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5055,1
    - Dst: DBG_PRINT4
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5077,1
    - Dst: DBG_PRINT
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5080,1
    - Dst: INS_Goto_CodeRange
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5117,1
    - Dst: DBG_PRINT1
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5164,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5168,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5169,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5170,1
    - Dst: ttfMemory*::free
      Src: /src/libspectre/ghostscript/base/ttinterp.c:5171,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 1
    argNames:
    - exc
    argTypes:
    - PExecution_Context
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5176
      start: 4949
    functionDepth: 1
    functionLinenumber: 4949
    functionLinenumberEnd: 5176
    functionName: RunIns
    functionSourceFile: /src/libspectre/ghostscript/base/ttinterp.c
    functionUses: 3
    functionsReached:
    - DBG_PRINT4
    - p
    - COMPUTE_Funcs
    - DBG_PRINT
    - find_jmp_buf
    - DBG_PRINT3
    - CALC_Length
    - Compute_Round
    - setjmp
    - EXEC_ARGS
    - ttfMemory*::alloc_bytes
    - memcpy
    - INS_Goto_CodeRange
    - DBG_PRINT1
    - ttfMemory*::free
    linkageType: ''
    returnType: TT_Error
    signature: TT_Error RunIns( PExecution_Context  exc )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/base/gp_stdia.c:29,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/base/gp_stdia.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - buf
    - len
    - interactive
    - f
    argTypes:
    - char*
    - int
    - int
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 30
    functionName: gp_stdin_read
    functionSourceFile: /src/libspectre/ghostscript/base/gp_stdia.c
    functionUses: 1
    functionsReached:
    - read
    - fileno
    linkageType: ''
    returnType: int
    signature: int gp_stdin_read(char *buf, int len, int interactive, FILE *f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: process_interrupts
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: process_interrupts(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: return_if_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_if_interrupt(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: return_check_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_check_interrupt(mem, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - pcode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 52
    functionName: set_code_on_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_code_on_interrupt(mem, pcode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: gp_check_interrupts
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gp_check_interrupts(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: process_interrupts
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: process_interrupts(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: return_if_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_if_interrupt(mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 58
    functionName: return_check_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_check_interrupt(mem, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: set_code_on_interrupt
    functionSourceFile: /src/libspectre/ghostscript/base/gpcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_code_on_interrupt(mem, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 257
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 169
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DosBeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:126,1
    - Dst: DosSleep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - type
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 130
    functionName: debugbeep
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - DosSleep
    - DosBeep
    linkageType: ''
    returnType: void
    signature: void debugbeep(int type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinMessageBox
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - icon
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: message_box
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinMessageBox
    linkageType: ''
    returnType: int
    signature: int message_box(char *str, int icon)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinMessageBox
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:143,1
    - Dst: WinPostMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:144,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:144,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 145
    functionName: error_message
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinMessageBox
    - WinPostMsg
    - MPFROMLONG
    linkageType: ''
    returnType: void
    signature: void error_message(char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DosQueryEventSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:159,1
    - Dst: DosWaitEventSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:161,1
    - Dst: DosResetEventSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:162,1
    - Dst: WinPostMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:163,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:163,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:163,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - unused
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: update_func
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinPostMsg
    - MPFROMLONG
    - DosResetEventSem
    - DosQueryEventSem
    - DosWaitEventSem
    linkageType: ''
    returnType: VOID
    signature: VOID update_func(ULONG unused)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: write_profile
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:170,1
    - Dst: DosCloseEventSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:171,1
    - Dst: DosCloseMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:172,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:173,1
    - Dst: DosExitList
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - code
    argTypes:
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 176
    functionName: exit_func
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - DosCloseEventSem
    - DosCloseMutexSem
    - DosFreeMem
    - DosExitList
    - write_profile
    linkageType: ''
    returnType: VOID
    signature: VOID exit_func(ULONG code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:196,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:202,1
    - Dst: WinQuerySwitchList
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:204,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:206,1
    - Dst: WinQuerySwitchList
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:207,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - gsid
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 178
    functionDepth: 5
    functionLinenumber: 178
    functionLinenumberEnd: 214
    functionName: find_hwnd_gs
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - malloc
    - atoi
    - WinQuerySwitchList
    - strcpy
    linkageType: ''
    returnType: void
    signature: void find_hwnd_gs(char *gsid)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: WinInitialize
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:223,1
    - Dst: WinCreateMsgQueue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:225,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:229,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:232,1
    - Dst: init_display
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:233,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:234,1
    - Dst: init_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:235,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:238,1
    - Dst: DosCreateThread
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:242,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:244,1
    - Dst: init_window
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:247,1
    - Dst: WinShowWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:250,1
    - Dst: _emxload_env
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:255,1
    - Dst: DosExitList
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:257,1
    - Dst: WinGetMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:260,1
    - Dst: WinDispatchMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:261,1
    - Dst: DosKillThread
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:264,1
    - Dst: WinDestroyWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:265,1
    - Dst: WinDestroyMsgQueue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:266,1
    - Dst: WinTerminate
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 269
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 15
    functionsReached:
    - init_window
    - WinTerminate
    - WinDestroyMsgQueue
    - strcmp
    - DosCreateThread
    - error_message
    - WinDispatchMsg
    - DosKillThread
    - init_bitmap
    - _emxload_env
    - WinGetMsg
    - WinShowWindow
    - init_display
    - WinDestroyWindow
    - WinCreateMsgQueue
    - DosExitList
    - WinInitialize
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DosQuerySysInfo
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:280,1
    - Dst: WinQueryTaskSizePos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:297,1
    - Dst: read_profile
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:301,1
    - Dst: WinGetPS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:306,1
    - Dst: GpiQueryDevice
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:307,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:309,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:310,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:311,1
    - Dst: WinReleasePS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:313,1
    - Dst: WinRegisterClass
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:316,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:323,1
    - Dst: WinCreateStdWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:325,1
    - Dst: fix_sysmenu
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:336,1
    - Dst: restore_window_position
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:338,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 341
    functionName: init_window
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 1
    functionsReached:
    - read_profile
    - WinGetPS
    - restore_window_position
    - WinQueryTaskSizePos
    - GpiQueryDevice
    - WinCreateStdWindow
    - WinRegisterClass
    - DosQuerySysInfo
    - WinReleasePS
    - DevQueryCaps
    - exit
    - fix_sysmenu
    linkageType: ''
    returnType: APIRET
    signature: APIRET init_window()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:348,1
    - Dst: PrfWriteProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:349,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:350,1
    - Dst: PrfWriteProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:351,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:352,1
    - Dst: PrfWriteProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 354
    functionName: write_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 2
    functionsReached:
    - gs_sprintf
    - PrfWriteProfileString
    linkageType: ''
    returnType: void
    signature: void write_profile(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: PrfQueryProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:361,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:362,1
    - Dst: PrfQueryProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:366,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:367,1
    - Dst: PrfQueryProfileString
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:371,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 374
    functionName: read_profile
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 1
    functionsReached:
    - PrfQueryProfileString
    - sscanf
    linkageType: ''
    returnType: void
    signature: void read_profile(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:382,1
    - Dst: WinWindowFromID
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:382,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:383,1
    - Dst: MPFROMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:383,1
    - Dst: message_box
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:384,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:394,1
    - Dst: MPFROMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:394,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:397,1
    - Dst: MPFROMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:397,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:399,1
    - Dst: MPFROMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - hwnd
    argTypes:
    - HWND
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 400
    functionName: fix_sysmenu
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 1
    functionsReached:
    - WinWindowFromID
    - WinSendMsg
    - message_box
    - MPFROM2SHORT
    - MPFROMP
    linkageType: ''
    returnType: void
    signature: void fix_sysmenu(HWND hwnd)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: WinGetMaxPosition
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:411,1
    - Dst: WinQuerySysValue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:425,1
    - Dst: WinQuerySysValue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:426,1
    - Dst: WinQuerySysValue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:427,1
    - Dst: WinQuerySysValue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:428,1
    - Dst: WinQuerySysValue
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:429,1
    - Dst: WinSetWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:472,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - pswp
    argTypes:
    - SWP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 476
    functionName: restore_window_position
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 1
    functionsReached:
    - WinSetWindowPos
    - WinQuerySysValue
    - WinGetMaxPosition
    linkageType: ''
    returnType: APIRET
    signature: APIRET restore_window_position(SWP * pswp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:487,1
    - Dst: find_hwnd_gs
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:489,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:492,1
    - Dst: DosGetNamedSharedMem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:493,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:495,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:496,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:500,1
    - Dst: DosOpenEventSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:501,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:503,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:504,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:508,1
    - Dst: DosOpenMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:509,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:511,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:512,1
    - Dst: scan_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 478
    functionDepth: 6
    functionLinenumber: 478
    functionLinenumberEnd: 520
    functionName: init_display
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 2
    functionsReached:
    - DosGetNamedSharedMem
    - scan_bitmap
    - gs_sprintf
    - find_hwnd_gs
    - DosOpenMutexSem
    - error_message
    - DosOpenEventSem
    linkageType: ''
    returnType: APIRET
    signature: APIRET init_display(int argc, char *argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DosOpen
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:535,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:538,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:539,1
    - Dst: DosSetFilePtr
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:542,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:544,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:545,1
    - Dst: DosSetFilePtr
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:548,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:550,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:551,1
    - Dst: DosAllocMem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:556,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:558,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:559,1
    - Dst: DosRead
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:562,1
    - Dst: DosClose
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:563,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:565,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:566,1
    - Dst: scan_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:573,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:576,1
    - Dst: message_box
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:577,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 522
    functionDepth: 5
    functionLinenumber: 522
    functionLinenumberEnd: 579
    functionName: init_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 1
    functionsReached:
    - DosSetFilePtr
    - message_box
    - gs_sprintf
    - DosAllocMem
    - DosRead
    - scan_bitmap
    - error_message
    - DosClose
    - DosOpen
    linkageType: ''
    returnType: APIRET
    signature: APIRET init_bitmap(int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GpiDeletePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:604,1
    - Dst: GpiCreatePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:605,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - pbm
    argTypes:
    - BMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 607
    functionName: make_palette
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - GpiCreatePalette
    - GpiDeletePalette
    linkageType: ''
    returnType: void
    signature: void make_palette(BMAP * pbm)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:636,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:663,1
    - Dst: make_palette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:683,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    argCount: 1
    argNames:
    - pbm
    argTypes:
    - BMAP*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 702
    functionName: scan_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 2
    functionsReached:
    - error_message
    - make_palette
    linkageType: ''
    returnType: BOOL
    signature: BOOL scan_bitmap(BMAP * pbm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WinQueryWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:710,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:711,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:711,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 712
    functionName: update_scroll_bars
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinSendMsg
    - MPFROM2SHORT
    - WinQueryWindowPos
    linkageType: ''
    returnType: void
    signature: void update_scroll_bars(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: message_box
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:721,1
    - Dst: WinOpenClipbrd
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:724,1
    - Dst: DosRequestMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:726,1
    - Dst: scan_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:727,1
    - Dst: update_scroll_bars
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:729,1
    - Dst: make_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:731,1
    - Dst: WinEmptyClipbrd
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:733,1
    - Dst: WinSetClipbrdData
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:734,1
    - Dst: DosReleaseMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:736,1
    - Dst: WinCloseClipbrd
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:737,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 715
    functionDepth: 2
    functionLinenumber: 715
    functionLinenumberEnd: 739
    functionName: copy_clipboard
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - make_bitmap
    - WinEmptyClipbrd
    - update_scroll_bars
    - WinCloseClipbrd
    - message_box
    - DosReleaseMutexSem
    - WinOpenClipbrd
    - WinSetClipbrdData
    - scan_bitmap
    - DosRequestMutexSem
    linkageType: ''
    returnType: void
    signature: void copy_clipboard(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:762,1
    - Dst: DevOpenDC
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:770,1
    - Dst: GpiCreatePS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:775,1
    - Dst: GpiCreateBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:779,1
    - Dst: GpiSetBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:782,1
    - Dst: WinGetLastError
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:801,1
    - Dst: GpiDrawBits
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:802,1
    - Dst: WinGetLastError
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:807,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:808,1
    - Dst: message_box
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:809,1
    - Dst: GpiSetBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:813,1
    - Dst: GpiDestroyPS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:815,1
    - Dst: DevCloseDC
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:817,1
    - Dst: GpiDeleteBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:822,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:823,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 57
    argCount: 6
    argNames:
    - pbm
    - left
    - bottom
    - right
    - top
    - depth
    argTypes:
    - BMAP*
    - ULONG
    - ULONG
    - ULONG
    - ULONG
    - ULONG
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 741
    functionDepth: 5
    functionLinenumber: 741
    functionLinenumberEnd: 827
    functionName: make_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 2
    functionsReached:
    - GpiCreateBitmap
    - DevCloseDC
    - GpiDrawBits
    - GpiSetBitmap
    - message_box
    - GpiCreatePS
    - GpiDeleteBitmap
    - gs_sprintf
    - memset
    - DevOpenDC
    - GpiDestroyPS
    - WinGetLastError
    - debugbeep
    linkageType: ''
    returnType: HBITMAP
    signature: HBITMAP make_bitmap(BMAP * pbm, ULONG left, ULONG bottom, ULONG right,
      ULONG top, ULONG depth)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: WinIsRectEmpty
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:835,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:838,1
    - Dst: make_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:872,1
    - Dst: WinDrawBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:875,1
    - Dst: GpiDeleteBitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:876,1
    - Dst: GpiDrawBits
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:884,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 4
    argNames:
    - ps
    - prect
    - scrollx
    - scrolly
    argTypes:
    - HPS
    - PRECTL
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 889
    functionName: paint_bitmap
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - make_bitmap
    - GpiDrawBits
    - WinIsRectEmpty
    - GpiDeleteBitmap
    - WinDrawBitmap
    - debugbeep
    linkageType: ''
    returnType: MRESULT
    signature: MRESULT paint_bitmap(HPS ps, PRECTL prect, int scrollx, int scrolly)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: WinInvalidateRect
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:917,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:918,1
    - Dst: WinUpdateWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:919,1
    - Dst: error_message
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:920,1
    - Dst: LONGFROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:923,1
    - Dst: WinDlgBox
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:925,1
    - Dst: copy_clipboard
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:928,1
    - Dst: WinGetPS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:934,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:936,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:937,1
    - Dst: WinRealizePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:938,1
    - Dst: WinInvalidateRect
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:939,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:940,1
    - Dst: WinReleasePS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:941,1
    - Dst: DosRequestMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:949,1
    - Dst: scan_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:950,1
    - Dst: update_scroll_bars
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:951,1
    - Dst: DosReleaseMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:954,1
    - Dst: WinBeginPaint
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:955,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:957,1
    - Dst: WinFillRect
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:958,1
    - Dst: WinEndPaint
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:959,1
    - Dst: WinBeginPaint
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:962,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:964,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:966,1
    - Dst: WinRealizePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:967,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:968,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:969,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:971,1
    - Dst: WinEndPaint
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:972,1
    - Dst: DosReleaseMutexSem
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:974,1
    - Dst: DosSleep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:980,1
    - Dst: WinQueryWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:984,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:984,1
    - Dst: SHORT2FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:993,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:994,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:996,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:999,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1000,1
    - Dst: WinWindowFromID
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1006,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1006,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1007,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1007,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1008,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1010,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1010,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1011,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1013,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1013,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1014,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1016,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1019,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1020,1
    - Dst: WinWindowFromID
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1026,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1026,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1027,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1027,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1028,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1030,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1030,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1031,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1033,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1033,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1034,1
    - Dst: WinQueryWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1039,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1039,1
    - Dst: WinSetWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1040,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1040,1
    - Dst: WinQueryWindowPos
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1048,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1048,1
    - Dst: SHORT2FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1057,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1065,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1068,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1071,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1082,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1083,1
    - Dst: WinWindowFromID
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1086,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1086,1
    - Dst: WinScrollWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1089,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1091,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1091,1
    - Dst: WinInvalidateRect
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1093,1
    - Dst: WinUpdateWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1094,1
    - Dst: WinGetPS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1097,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1099,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1101,1
    - Dst: WinRealizePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1102,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1103,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1104,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1106,1
    - Dst: WinReleasePS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1107,1
    - Dst: SHORT2FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1112,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1120,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1123,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1126,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1131,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1132,1
    - Dst: WinWindowFromID
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1135,1
    - Dst: WinQueryWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1135,1
    - Dst: WinScrollWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1138,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1141,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1141,1
    - Dst: WinInvalidateRect
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1143,1
    - Dst: WinUpdateWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1144,1
    - Dst: WinGetPS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1147,1
    - Dst: debugbeep
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1149,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1151,1
    - Dst: WinRealizePalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1152,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1153,1
    - Dst: GpiSelectPalette
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1154,1
    - Dst: paint_bitmap
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1156,1
    - Dst: WinReleasePS
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1157,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1162,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1164,1
    - Dst: WinSetActiveWindow
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1165,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1168,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1170,1
    - Dst: SHORT2FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1171,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1175,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1175,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1175,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1178,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1178,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1178,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1181,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1181,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1181,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1184,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1184,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1184,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1187,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1187,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1187,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1190,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1190,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1190,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1193,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1194,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1194,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1194,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1196,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1196,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1196,1
    - Dst: SHORT1FROMMP
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1199,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1200,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1200,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1200,1
    - Dst: WinSendMsg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1202,1
    - Dst: MPFROMLONG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1202,1
    - Dst: MPFROM2SHORT
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1202,1
    - Dst: WinDefWindowProc
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1211,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 251
    argCount: 4
    argNames:
    - hwnd
    - mess
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 892
    functionDepth: 3
    functionLinenumber: 892
    functionLinenumberEnd: 1214
    functionName: ClientWndProc
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinBeginPaint
    - WinSetWindowPos
    - WinSendMsg
    - max
    - DosReleaseMutexSem
    - LONGFROMMP
    - WinQueryWindow
    - debugbeep
    - WinWindowFromID
    - SHORT2FROMMP
    - update_scroll_bars
    - WinFillRect
    - MPFROMLONG
    - scan_bitmap
    - GpiSelectPalette
    - min
    - DosRequestMutexSem
    - WinDlgBox
    - WinGetPS
    - paint_bitmap
    - MPFROM2SHORT
    - WinScrollWindow
    - WinDefWindowProc
    - copy_clipboard
    - WinInvalidateRect
    - WinQueryWindowPos
    - WinUpdateWindow
    - SHORT1FROMMP
    - WinSetActiveWindow
    - WinReleasePS
    - DosSleep
    - WinRealizePalette
    - error_message
    - WinEndPaint
    linkageType: ''
    returnType: MRESULT
    signature: "MRESULT ClientWndProc(HWND hwnd, ULONG mess,\n              MPARAM
      mp1, MPARAM mp2)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMMANDMSG
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1222,1
    - Dst: WinDismissDlg
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1224,1
    - Dst: WinDefDlgProc
      Src: /src/libspectre/ghostscript/base/gspmdrv.c:1229,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - hwnd
    - msg
    - mp1
    - mp2
    argTypes:
    - HWND
    - ULONG
    - MPARAM
    - MPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1230
    functionName: AboutDlgProc
    functionSourceFile: /src/libspectre/ghostscript/base/gspmdrv.c
    functionUses: 0
    functionsReached:
    - WinDismissDlg
    - WinDefDlgProc
    - COMMANDMSG
    linkageType: ''
    returnType: MRESULT
    signature: MRESULT AboutDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/libspectre/ghostscript/base/gsdevice.c:54,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:54,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsdevice.c:57,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/base/gsdevice.c:70,1
    - Dst: gx_device*::finalize
      Src: /src/libspectre/ghostscript/base/gsdevice.c:75,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:78,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gsdevice.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 102
    functionName: gx_device_finalize
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 5
    functionsReached:
    - gs_free_const_object
    - gs_debug_c
    - gs_closedevice
    - gx_device*::finalize
    - discard
    - rc_decrement
    linkageType: ''
    returnType: void
    signature: void gx_device_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_finalize
      Src: /src/libspectre/ghostscript/base/gsdevice.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: gx_device_free_local
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - gx_device_finalize
    linkageType: ''
    returnType: void
    signature: void gx_device_free_local(gx_device *dev)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsdevice.c:378,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:381,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/gsdevice.c:390,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:393,1
    - Dst: gx_device_make_struct_type
      Src: /src/libspectre/ghostscript/base/gsdevice.c:394,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/base/gsdevice.c:401,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:404,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:405,1
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:407,1
    - Dst: gx_device_set_procs
      Src: /src/libspectre/ghostscript/base/gsdevice.c:408,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:419,1
    - Dst: fill_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:424,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:425,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:427,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:431,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 4
    argNames:
    - pnew_dev
    - dev
    - keep_open
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 437
    functionName: gs_copydevice2
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - gx_device_make_struct_type
    - gs_alloc_struct_immovable
    - gs_alloc_bytes_immovable
    - gx_device_init
    - gx_device_set_procs
    - fill_dev_proc
    - return_error
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gs_copydevice2(gx_device ** pnew_dev, const gx_device * dev, bool
      keep_open,\n               gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_copydevice2
      Src: /src/libspectre/ghostscript/base/gsdevice.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pnew_dev
    - dev
    - mem
    argTypes:
    - gx_device**
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 442
    functionName: gs_copydevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 9
    functionsReached:
    - gs_copydevice2
    linkageType: ''
    returnType: int
    signature: int gs_copydevice(gx_device ** pnew_dev, const gx_device * dev, gs_memory_t
      * mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_device_separable
      Src: /src/libspectre/ghostscript/base/gsdevice.c:451,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsdevice.c:452,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:454,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:457,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 2
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: gs_opendevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 6
    functionsReached:
    - return_error
    - dev_proc
    - check_device_separable
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int gs_opendevice(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_set_cmap_procs
      Src: /src/libspectre/ghostscript/base/gsdevice.c:466,1
    - Dst: gx_unset_both_dev_colors
      Src: /src/libspectre/ghostscript/base/gsdevice.c:467,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 468
    functionName: gs_gstate_update_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - gx_unset_both_dev_colors
    - gx_set_cmap_procs
    linkageType: ''
    returnType: void
    signature: void gs_gstate_update_device(gs_gstate *pgs, gx_device *dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/base/gsdevice.c:481,1
    - Dst: gs_gstate_update_device
      Src: /src/libspectre/ghostscript/base/gsdevice.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pgs
    - dev
    - plist
    argTypes:
    - gs_gstate*
    - gx_device*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 485
    functionName: gs_gstate_putdeviceparams
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached:
    - gs_putdeviceparams
    - gs_gstate_update_device
    linkageType: ''
    returnType: int
    signature: int gs_gstate_putdeviceparams(gs_gstate *pgs, gx_device *dev, gs_param_list
      *plist)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_setdevice_no_erase
      Src: /src/libspectre/ghostscript/base/gsdevice.c:491,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/base/gsdevice.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 488
    functionDepth: 5
    functionLinenumber: 488
    functionLinenumberEnd: 496
    functionName: gs_setdevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - gs_setdevice_no_erase
    - gs_erasepage
    linkageType: ''
    returnType: int
    signature: int gs_setdevice(gs_gstate * pgs, gx_device * dev)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/base/gsdevice.c:501,1
    - Dst: gsicc_init_iccmanager
      Src: /src/libspectre/ghostscript/base/gsdevice.c:508,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:519,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/base/gsdevice.c:525,1
    - Dst: gsicc_set_device_profile_intent
      Src: /src/libspectre/ghostscript/base/gsdevice.c:529,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/base/gsdevice.c:538,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:552,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/base/gsdevice.c:558,1
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gsdevice.c:565,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:567,1
    - Dst: gs_device_is_memory
      Src: /src/libspectre/ghostscript/base/gsdevice.c:569,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gsdevice.c:571,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:573,1
    - Dst: gs_setdevice_no_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:577,1
    - Dst: gs_initmatrix
      Src: /src/libspectre/ghostscript/base/gsdevice.c:579,1
    - Dst: gs_initclip
      Src: /src/libspectre/ghostscript/base/gsdevice.c:580,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 50
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 497
    functionDepth: 5
    functionLinenumber: 497
    functionLinenumberEnd: 588
    functionName: gs_setdevice_no_erase
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 2
    functionsReached:
    - gsicc_set_device_profile_intent
    - gx_device_set_target
    - gs_initmatrix
    - gsicc_init_iccmanager
    - gs_setdevice_no_init
    - gs_initclip
    - gsicc_init_device_profile_struct
    - gs_lib_ctx_get_interp_instance
    - gs_device_is_memory
    - gs_currentdevice_inline
    - gs_opendevice
    - dev_proc
    - gx_device_fill_in_procs
    linkageType: ''
    returnType: int
    signature: int gs_setdevice_no_erase(gs_gstate * pgs, gx_device * dev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:606,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gsdevice.c:611,1
    - Dst: gs_gstate_update_device
      Src: /src/libspectre/ghostscript/base/gsdevice.c:612,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 589
    functionDepth: 3
    functionLinenumber: 589
    functionLinenumberEnd: 614
    functionName: gs_setdevice_no_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached:
    - rc_assign
    - gs_gstate_update_device
    - gs_closedevice
    linkageType: ''
    returnType: int
    signature: int gs_setdevice_no_init(gs_gstate * pgs, gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdevice.c:621,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:624,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsdevice.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - dev
    - proto
    - mem
    - internal
    argTypes:
    - gx_device*
    - gx_device*
    - gs_memory_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 617
    functionDepth: 1
    functionLinenumber: 617
    functionLinenumberEnd: 626
    functionName: gx_device_init
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 11
    functionsReached:
    - rc_increment
    - rc_init
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gx_device_init(gx_device * dev, const gx_device * proto, gs_memory_t
      * mem,\n               bool internal)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gsdevice.c:632,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - dev
    - proto
    - mem
    argTypes:
    - gx_device*
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 639
    functionName: gx_device_init_on_stack
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 4
    functionsReached:
    - rc_init
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gx_device_init_on_stack(gx_device * dev, const gx_device * proto,\n
      \                       gs_memory_t * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:646,1
    - Dst: gx_device_set_target
      Src: /src/libspectre/ghostscript/base/gsdevice.c:648,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:657,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:658,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:659,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:660,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:661,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:662,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:663,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:664,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:665,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:666,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:667,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:668,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:669,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:670,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:671,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:672,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:673,1
    - Dst: gx_device_copy_color_params
      Src: /src/libspectre/ghostscript/base/gsdevice.c:675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 3
    argNames:
    - dev_null
    - dev
    - mem
    argTypes:
    - gx_device_null*
    - gx_device*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 677
    functionName: gs_make_null_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached:
    - gx_device_set_target
    - gx_device_copy_color_params
    - set_dev_proc
    - gx_device_init
    linkageType: ''
    returnType: void
    signature: "void gs_make_null_device(gx_device_null *dev_null, gx_device *dev,\n
      \                   gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: gs_is_null_device
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool gs_is_null_device(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rc_adjust_only
      Src: /src/libspectre/ghostscript/base/gsdevice.c:694,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - retained
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 696
    functionName: gx_device_retain
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 22
    functionsReached:
    - rc_adjust_only
    linkageType: ''
    returnType: void
    signature: void gx_device_retain(gx_device *dev, bool retained)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_is_null
      Src: /src/libspectre/ghostscript/base/gsdevice.c:705,1
    - Dst: gs_copydevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:707,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:712,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:713,1
    - Dst: rc_init
      Src: /src/libspectre/ghostscript/base/gsdevice.c:722,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:724,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsdevice.c:727,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:728,1
    - Dst: gs_setdevice_no_erase
      Src: /src/libspectre/ghostscript/base/gsdevice.c:731,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:732,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:740,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:740,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/base/gsdevice.c:741,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:741,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:743,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:745,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/base/gsdevice.c:746,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 699
    functionDepth: 6
    functionLinenumber: 699
    functionLinenumberEnd: 749
    functionName: gs_nulldevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached:
    - rc_increment
    - gs_setdevice_no_erase
    - gs_copydevice
    - rc_init
    - gs_currentdevice_inline
    - set_dev_proc
    - gs_note_error
    - gx_device_is_null
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_nulldevice(gs_gstate * pgs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:759,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 765
    functionName: gs_closedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 24
    functionsReached:
    - return_error
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_closedevice(gx_device * dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/base/gsdevice.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pgs
    - dev
    argTypes:
    - gs_gstate*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 775
    functionName: gx_set_device_only
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 5
    functionsReached:
    - rc_assign
    linkageType: ''
    returnType: void
    signature: void gx_set_device_only(gs_gstate * pgs, gx_device * dev)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - dev
    - pad
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 781
    functionDepth: 0
    functionLinenumber: 781
    functionLinenumberEnd: 798
    functionName: gx_device_raster
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 20
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gx_device_raster(const gx_device * dev, bool pad)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dev
    - pad
    argTypes:
    - gx_device*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 814
    functionName: gx_device_raster_chunky
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gx_device_raster_chunky(const gx_device * dev, bool pad)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - dev
    - render_plane
    argTypes:
    - gx_device*
    - gx_render_plane_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 827
    functionName: gx_device_raster_plane
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gx_device_raster_plane(const gx_device * dev, const gx_render_plane_t
      *render_plane)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/base/gsdevice.c:840,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdevice.c:841,1
    - Dst: gx_device_set_width_height
      Src: /src/libspectre/ghostscript/base/gsdevice.c:845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - dev
    - actual_width
    - actual_height
    - fit
    argTypes:
    - gx_device*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 833
    functionDepth: 1
    functionLinenumber: 833
    functionLinenumberEnd: 847
    functionName: gx_device_adjust_resolution
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - min
    - gx_device_set_width_height
    - max
    linkageType: ''
    returnType: int
    signature: "int gx_device_adjust_resolution(gx_device * dev,\n                            int
      actual_width, int actual_height, int fit)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - margins
    - move_origin
    argTypes:
    - gx_device*
    - float*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 864
    functionName: gx_device_set_margins
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_device_set_margins(gx_device * dev, const float *margins /*[4]
      */ ,\n                      bool move_origin)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 875
      start: 866
    functionDepth: 0
    functionLinenumber: 866
    functionLinenumberEnd: 875
    functionName: gx_device_set_hwsize_from_media
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_set_hwsize_from_media(gx_device *dev)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dev
    argTypes:
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 891
    functionName: gx_device_set_media_from_hwsize
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gx_device_set_media_from_hwsize(gx_device *dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_media_from_hwsize
      Src: /src/libspectre/ghostscript/base/gsdevice.c:899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - width
    - height
    argTypes:
    - gx_device*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 900
    functionName: gx_device_set_width_height
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached:
    - gx_device_set_media_from_hwsize
    linkageType: ''
    returnType: void
    signature: void gx_device_set_width_height(gx_device * dev, int width, int height)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_hwsize_from_media
      Src: /src/libspectre/ghostscript/base/gsdevice.c:908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - x_dpi
    - y_dpi
    argTypes:
    - gx_device*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 909
    functionName: gx_device_set_resolution
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached:
    - gx_device_set_hwsize_from_media
    linkageType: ''
    returnType: void
    signature: void gx_device_set_resolution(gx_device * dev, double x_dpi, double
      y_dpi)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_device_set_hwsize_from_media
      Src: /src/libspectre/ghostscript/base/gsdevice.c:917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - dev
    - media_width
    - media_height
    argTypes:
    - gx_device*
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 918
    functionName: gx_device_set_media_size
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached:
    - gx_device_set_hwsize_from_media
    linkageType: ''
    returnType: void
    signature: void gx_device_set_media_size(gx_device * dev, double media_width,
      double media_height)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc_map_cmyk_color
      Src: /src/libspectre/ghostscript/base/gsdevice.c:927,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:928,1
    - Dst: dev_proc_map_rgb_color
      Src: /src/libspectre/ghostscript/base/gsdevice.c:929,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:930,1
    - Dst: dev_proc_map_color_rgb
      Src: /src/libspectre/ghostscript/base/gsdevice.c:931,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:932,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:942,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:943,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:950,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:951,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:958,1
    - Dst: set_dev_proc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:959,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - dev
    - target
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 924
    functionDepth: 1
    functionLinenumber: 924
    functionLinenumberEnd: 964
    functionName: gx_device_copy_color_procs
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 3
    functionsReached:
    - dev_proc_map_rgb_color
    - dev_proc
    - dev_proc_map_cmyk_color
    - dev_proc_map_color_rgb
    - set_dev_proc
    linkageType: ''
    returnType: void
    signature: void gx_device_copy_color_procs(gx_device *dev, const gx_device *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 967
      start: 966
    functionDepth: 0
    functionLinenumber: 966
    functionLinenumberEnd: 967
    functionName: COPY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_PARAM(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:975,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:976,1
    - Dst: gx_device_copy_color_procs
      Src: /src/libspectre/ghostscript/base/gsdevice.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dev
    - target
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 972
    functionDepth: 2
    functionLinenumber: 972
    functionLinenumberEnd: 978
    functionName: gx_device_copy_color_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 2
    functionsReached:
    - gx_device_copy_color_procs
    - COPY_PARAM
    linkageType: ''
    returnType: void
    signature: void gx_device_copy_color_params(gx_device *dev, const gx_device *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:989,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:990,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:991,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:992,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:993,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:994,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:995,1
    - Dst: COPY_ARRAY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:996,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:997,1
    - Dst: COPY_PARAM
      Src: /src/libspectre/ghostscript/base/gsdevice.c:998,1
    - Dst: gx_device_copy_color_params
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - dev
    - target
    argTypes:
    - gx_device*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 985
    functionDepth: 3
    functionLinenumber: 985
    functionLinenumberEnd: 1001
    functionName: gx_device_copy_params
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 7
    functionsReached:
    - gx_device_copy_color_params
    - COPY_PARAM
    - COPY_ARRAY_PARAM
    linkageType: ''
    returnType: void
    signature: void gx_device_copy_params(gx_device *dev, const gx_device *target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 988
    functionDepth: 0
    functionLinenumber: 988
    functionLinenumberEnd: 989
    functionName: COPY_ARRAY_PARAM
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COPY_ARRAY_PARAM(p)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1030,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1035,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1039,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1045,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1062,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1066,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1073,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1074,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 51
    argCount: 2
    argNames:
    - pfn
    - pfmt
    argTypes:
    - gs_parsed_file_name_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1077
    functionName: gx_parse_output_format
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached:
    - return_error
    - strchr
    - max
    linkageType: ''
    returnType: int
    signature: int gx_parse_output_format(gs_parsed_file_name_t *pfn, const char **pfmt)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1103,1
    - Dst: gx_parse_output_format
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1109,1
    - Dst: gs_findiodevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1116,1
    - Dst: gs_findiodevice
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1119,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1122,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1124,1
    - Dst: gx_parse_output_format
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1128,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1131,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1132,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 5
    argNames:
    - pfn
    - pfmt
    - fname
    - fnlen
    - memory
    argTypes:
    - gs_parsed_file_name_t*
    - char**
    - char*
    - uint
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1134
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1134
    functionName: gx_parse_output_file_name
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 9
    functionsReached:
    - strlen
    - gx_parse_output_format
    - gs_parse_file_name
    - iodev_default
    - return_error
    - gs_findiodevice
    linkageType: ''
    returnType: int
    signature: "int gx_parse_output_file_name(gs_parsed_file_name_t *pfn, const char
      **pfmt,\n                          const char *fname, uint fnlen, gs_memory_t
      *memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1142,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - fname
    - memory
    argTypes:
    - char*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1137
    functionDepth: 4
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: gx_outputfile_is_separate_pages
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 4
    functionsReached:
    - strlen
    - gx_parse_output_file_name
    linkageType: ''
    returnType: bool
    signature: bool gx_outputfile_is_separate_pages(const char *fname, gs_memory_t
      *memory)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1153,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1157,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1161,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1161,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1167,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1176,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1178,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1179,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1180,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1185,1
    - Dst: gs_parsed_file_name_t::iodev::procs::delete_file
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1188,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1194,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 36
    argCount: 2
    argNames:
    - dev
    - fname
    argTypes:
    - gx_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1149
    functionDepth: 5
    functionLinenumber: 1149
    functionLinenumberEnd: 1197
    functionName: gx_device_delete_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached:
    - strcmp
    - gx_parse_output_file_name
    - gs_alloc_bytes
    - strlen
    - gs_sprintf
    - strchr
    - gs_parsed_file_name_t::iodev::procs::delete_file
    - gs_note_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gx_device_delete_output_file(const gx_device * dev, const char
      *fname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1203
      start: 1199
    functionDepth: 0
    functionLinenumber: 1199
    functionLinenumberEnd: 1203
    functionName: noclose
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int noclose(FILE *f)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1212,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1216,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1220,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1221,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1222,1
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1225,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1225,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1230,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1232,1
    - Dst: gp_file_FILE_alloc
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1235,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1237,1
    - Dst: gp_file_FILE_set
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1240,1
    - Dst: gp_setmode_binary_impl
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1242,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1244,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1253,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1255,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1256,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1257,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1262,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1265,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1269,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1272,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1274,1
    - Dst: gs_parsed_file_name_t::iodev::procs::gp_fopen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1275,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1278,1
    - Dst: gp_open_printer
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1282,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1284,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1286,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1292,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 75
    argCount: 5
    argNames:
    - dev
    - fname
    - binary
    - positionable
    - pfile
    argTypes:
    - gx_device*
    - char*
    - bool
    - bool
    - gp_file**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1206
    functionDepth: 5
    functionLinenumber: 1206
    functionLinenumberEnd: 1295
    functionName: gx_device_open_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 5
    functionsReached:
    - gp_setmode_binary_impl
    - strcat
    - gx_parse_output_file_name
    - gs_alloc_bytes
    - strcmp
    - gp_open_printer
    - strlen
    - strcpy
    - iodev_default
    - emprintf1
    - gs_sprintf
    - strchr
    - gs_parsed_file_name_t::iodev::procs::gp_fopen
    - gs_note_error
    - gp_file_FILE_set
    - gp_file_FILE_alloc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int gx_device_open_output_file(const gx_device * dev, char *fname,\n
      \                          bool binary, bool positionable, gp_file ** pfile)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_parse_output_file_name
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1304,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1304,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1310,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1313,1
    - Dst: gs_parsed_file_name_t::iodev::procs::fclose
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1314,1
    - Dst: gp_close_printer
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 3
    argNames:
    - dev
    - fname
    - file
    argTypes:
    - gx_device*
    - char*
    - gp_file*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1298
    functionDepth: 4
    functionLinenumber: 1298
    functionLinenumberEnd: 1318
    functionName: gx_device_close_output_file
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 10
    functionsReached:
    - strcmp
    - gs_parsed_file_name_t::iodev::procs::fclose
    - gx_parse_output_file_name
    - strlen
    - iodev_default
    - gp_close_printer
    linkageType: ''
    returnType: int
    signature: "int gx_device_close_output_file(const gx_device * dev, const char
      *fname,\n                            gp_file *file)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1328,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - gx_device_color_info*
    - gx_device_color_info*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1353
    functionName: gx_color_info_equal
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: bool
    signature: bool gx_color_info_equal(const gx_device_color_info * p1, const gx_device_color_info
      * p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_callout
      Src: /src/libspectre/ghostscript/base/gsdevice.c:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - dev
    - id
    - size
    - data
    argTypes:
    - gx_device*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1359
      start: 1355
    functionDepth: 2
    functionLinenumber: 1355
    functionLinenumberEnd: 1359
    functionName: gx_callout
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached:
    - gs_lib_ctx_callout
    linkageType: ''
    returnType: int
    signature: int gx_callout(gx_device *dev, int id, int size, void *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - sp1
    - sp2
    argTypes:
    - gdev_space_params
    - gdev_space_params
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1362
    functionDepth: 0
    functionLinenumber: 1362
    functionLinenumberEnd: 1383
    functionName: gdev_space_params_cmp
    functionSourceFile: /src/libspectre/ghostscript/base/gsdevice.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gdev_space_params_cmp(const gdev_space_params sp1,\n                      const
      gdev_space_params sp2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gstext.c:86,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gstext.c:88,1
    - Dst: ENUM_RETURN
      Src: /src/libspectre/ghostscript/base/gstext.c:92,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/base/gstext.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - eptr
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 95
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - ENUM_RETURN
    - ENUM_USING
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END ENUM_PTRS_WITH(text_enum_enum_ptrs, gs_text_enum_t *eptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/base/gstext.c:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - mem
    - pgs
    - cname
    argTypes:
    - gs_memory_t*
    - gs_gstate*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: gs_text_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - rc_alloc_struct_1
    linkageType: ''
    returnType: gs_text_enum_t
    signature: 'gs_text_enum_t *

      gs_text_enum_alloc(gs_memory_t * mem, gs_gstate * pgs, client_name_t cname)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstext.c:260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 3
    argNames:
    - pto
    - pfrom
    - for_return
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 266
    functionName: gs_text_enum_copy_dynamic
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 5
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: "void gs_text_enum_copy_dynamic(gs_text_enum_t *pto, const gs_text_enum_t
      *pfrom,\n                          bool for_return)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstext.c:276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:288,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:300,1
    - Dst: gx_effective_clip_path
      Src: /src/libspectre/ghostscript/base/gstext.c:302,1
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gstext.c:312,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gstext.c:314,1
    - Dst: gs_gstate_color_load
      Src: /src/libspectre/ghostscript/base/gstext.c:317,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstext.c:322,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gstext.c:324,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstext.c:328,1
    - Dst: gs_do_set_overprint
      Src: /src/libspectre/ghostscript/base/gstext.c:330,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/base/gstext.c:342,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gstext.c:348,1
    - Dst: gs_gstate_update_overprint
      Src: /src/libspectre/ghostscript/base/gstext.c:351,1
    - Dst: gx_device_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:357,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/base/gstext.c:359,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 46
    argCount: 4
    argNames:
    - pgs
    - text
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - gs_text_params_t*
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 269
    functionDepth: 6
    functionLinenumber: 269
    functionLinenumberEnd: 361
    functionName: gs_text_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached:
    - gx_effective_clip_path
    - gs_gstate_update_overprint
    - ensure_tag_is_set
    - gs_do_set_overprint
    - gx_set_dev_color
    - gs_currentdevicecolor_inline
    - gs_gstate_color_load
    - gx_device_text_begin
    - return_error
    - dev_proc
    - if_debug0m
    linkageType: ''
    returnType: int
    signature: "int gs_text_begin(gs_gstate * pgs, const gs_text_params_t * text,\n
      \             gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ensure_tag_is_set
      Src: /src/libspectre/ghostscript/base/gstext.c:379,1
    - Dst: gx_set_dev_color
      Src: /src/libspectre/ghostscript/base/gstext.c:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pgs
    - pte
    argTypes:
    - gs_gstate*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 367
    functionDepth: 2
    functionLinenumber: 367
    functionLinenumberEnd: 387
    functionName: gs_text_update_dev_color
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - ensure_tag_is_set
    - gx_set_dev_color
    linkageType: ''
    returnType: int
    signature: int gs_text_update_dev_color(gs_gstate * pgs, gs_text_enum_t * pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pgs
    argTypes:
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 393
    functionName: text_do_draw
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint text_do_draw(gs_gstate * pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:402,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pgs
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 396
    functionDepth: 7
    functionLinenumber: 396
    functionLinenumberEnd: 405
    functionName: gs_show_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_show_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \             gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:413,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 7
    argNames:
    - pgs
    - ax
    - ay
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - double
    - double
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 406
    functionDepth: 7
    functionLinenumber: 406
    functionLinenumberEnd: 418
    functionName: gs_ashow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_ashow_begin(gs_gstate * pgs, double ax, double ay, const byte
      * str, uint size,\n               gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:427,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 8
    argNames:
    - pgs
    - cx
    - cy
    - chr
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_char
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 419
    functionDepth: 7
    functionLinenumber: 419
    functionLinenumberEnd: 433
    functionName: gs_widthshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_widthshow_begin(gs_gstate * pgs, double cx, double cy, gs_char
      chr,\n                   const byte * str, uint size,\n                   gs_memory_t
      * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:443,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 10
    argNames:
    - pgs
    - cx
    - cy
    - chr
    - ax
    - ay
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - double
    - double
    - gs_char
    - double
    - double
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 434
    functionDepth: 7
    functionLinenumber: 434
    functionLinenumberEnd: 451
    functionName: gs_awidthshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_awidthshow_begin(gs_gstate * pgs, double cx, double cy, gs_char
      chr,\n                    double ax, double ay, const byte * str, uint size,\n
      \                   gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:460,1
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:461,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:464,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - pgs
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 452
    functionDepth: 7
    functionLinenumber: 452
    functionLinenumberEnd: 465
    functionName: gs_kshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_begin
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_kshow_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \              gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 472
    functionName: gs_get_text_params
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_text_params_t
    signature: 'gs_text_params_t *

      gs_get_text_params(gs_text_enum_t *pte)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:484,1
    - Dst: gs_text_count_chars
      Src: /src/libspectre/ghostscript/base/gstext.c:498,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:505,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 8
    argNames:
    - pgs
    - str
    - size
    - x_widths
    - y_widths
    - widths_size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - float*
    - float*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 474
    functionDepth: 7
    functionLinenumber: 474
    functionLinenumberEnd: 507
    functionName: gs_xyshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_text_begin
    - text_do_draw
    - gs_text_count_chars
    linkageType: ''
    returnType: int
    signature: "int gs_xyshow_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \               const float *x_widths, const float *y_widths,\n                uint
      widths_size, gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - pte
    - pfont
    argTypes:
    - gs_text_enum_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 522
    functionName: setup_FontBBox_as_Metrics2
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setup_FontBBox_as_Metrics2 (gs_text_enum_t * pte, gs_font * pfont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: text_do_draw
      Src: /src/libspectre/ghostscript/base/gstext.c:531,1
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:534,1
    - Dst: setup_FontBBox_as_Metrics2
      Src: /src/libspectre/ghostscript/base/gstext.c:536,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pgs
    - glyph
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - gs_glyph
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 524
    functionDepth: 7
    functionLinenumber: 524
    functionLinenumberEnd: 538
    functionName: gs_glyphshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - setup_FontBBox_as_Metrics2
    - text_do_draw
    linkageType: ''
    returnType: int
    signature: "int gs_glyphshow_begin(gs_gstate * pgs, gs_glyph glyph,\n                   gs_memory_t
      * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pgs
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 539
    functionDepth: 7
    functionLinenumber: 539
    functionLinenumberEnd: 548
    functionName: gs_cshow_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    linkageType: ''
    returnType: int
    signature: "int gs_cshow_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \              gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - pgs
    - str
    - size
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 549
    functionDepth: 7
    functionLinenumber: 549
    functionLinenumberEnd: 558
    functionName: gs_stringwidth_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    linkageType: ''
    returnType: int
    signature: "int gs_stringwidth_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \                    gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - pgs
    - str
    - size
    - stroke_path
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - bool
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 559
    functionDepth: 7
    functionLinenumber: 559
    functionLinenumberEnd: 569
    functionName: gs_charpath_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    linkageType: ''
    returnType: int
    signature: "int gs_charpath_begin(gs_gstate * pgs, const byte * str, uint size,
      bool stroke_path,\n                  gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - pgs
    - str
    - size
    - stroke_path
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - byte*
    - uint
    - bool
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 570
    functionDepth: 7
    functionLinenumber: 570
    functionLinenumberEnd: 580
    functionName: gs_charboxpath_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    linkageType: ''
    returnType: int
    signature: "int gs_charboxpath_begin(gs_gstate * pgs, const byte * str, uint size,\n
      \               bool stroke_path, gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:592,1
    - Dst: setup_FontBBox_as_Metrics2
      Src: /src/libspectre/ghostscript/base/gstext.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 5
    argNames:
    - pgs
    - glyph
    - stroke_path
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - gs_glyph
    - bool
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 581
    functionDepth: 7
    functionLinenumber: 581
    functionLinenumberEnd: 596
    functionName: gs_glyphpath_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - setup_FontBBox_as_Metrics2
    linkageType: ''
    returnType: int
    signature: "int gs_glyphpath_begin(gs_gstate * pgs, gs_glyph glyph, bool stroke_path,\n
      \                  gs_memory_t * mem, gs_text_enum_t ** ppte)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_begin
      Src: /src/libspectre/ghostscript/base/gstext.c:607,1
    - Dst: setup_FontBBox_as_Metrics2
      Src: /src/libspectre/ghostscript/base/gstext.c:609,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - pgs
    - glyph
    - mem
    - ppte
    argTypes:
    - gs_gstate*
    - gs_glyph
    - gs_memory_t*
    - gs_text_enum_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 597
    functionDepth: 7
    functionLinenumber: 597
    functionLinenumberEnd: 611
    functionName: gs_glyphwidth_begin
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_begin
    - setup_FontBBox_as_Metrics2
    linkageType: ''
    returnType: int
    signature: "int gs_glyphwidth_begin(gs_gstate * pgs, gs_glyph glyph,\n                    gs_memory_t
      * mem, gs_text_enum_t ** ppte)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_init_dynamic
      Src: /src/libspectre/ghostscript/base/gstext.c:621,1
    - Dst: setup_FontBBox_as_Metrics2
      Src: /src/libspectre/ghostscript/base/gstext.c:622,1
    - Dst: gs_text_resync
      Src: /src/libspectre/ghostscript/base/gstext.c:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pte
    - text
    argTypes:
    - gs_text_enum_t*
    - gs_text_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 624
    functionName: gs_text_restart
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - gs_text_resync
    - setup_FontBBox_as_Metrics2
    - gs_text_enum_init_dynamic
    linkageType: ''
    returnType: int
    signature: int gs_text_restart(gs_text_enum_t *pte, const gs_text_params_t *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::resync
      Src: /src/libspectre/ghostscript/base/gstext.c:632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pfrom
    argTypes:
    - gs_text_enum_t*
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: gs_text_resync
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 3
    functionsReached:
    - gs_text_enum_t*::procs::resync
    linkageType: ''
    returnType: int
    signature: int gs_text_resync(gs_text_enum_t *pte, const gs_text_enum_t *pfrom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::process
      Src: /src/libspectre/ghostscript/base/gstext.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 640
    functionName: gs_text_process
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 3
    functionsReached:
    - gs_text_enum_t*::procs::process
    linkageType: ''
    returnType: int
    signature: int gs_text_process(gs_text_enum_t * pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 647
    functionName: gs_text_current_font
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_font
    signature: 'gs_font *

      gs_text_current_font(const gs_text_enum_t *pte)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 652
    functionName: gs_text_current_char
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_text_current_char(const gs_text_enum_t *pte)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 653
    functionDepth: 0
    functionLinenumber: 653
    functionLinenumberEnd: 665
    functionName: gs_text_next_char
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_text_next_char(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 670
    functionName: gs_text_current_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph gs_text_current_glyph(const gs_text_enum_t *pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    functionName: gs_text_total_width
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_text_total_width(const gs_text_enum_t *pte, gs_point *pwidth)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:690,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:698,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - text
    - index
    - pwidth
    argTypes:
    - gs_text_params_t*
    - uint
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 703
    functionName: gs_text_replaced_width
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 3
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: "int gs_text_replaced_width(const gs_text_params_t *text, uint index,\n
      \                      gs_point *pwidth)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::is_width_only
      Src: /src/libspectre/ghostscript/base/gstext.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 706
    functionDepth: 0
    functionLinenumber: 706
    functionLinenumberEnd: 710
    functionName: gs_text_is_width_only
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 3
    functionsReached:
    - gs_text_enum_t*::procs::is_width_only
    linkageType: ''
    returnType: bool
    signature: bool gs_text_is_width_only(const gs_text_enum_t * pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::current_width
      Src: /src/libspectre/ghostscript/base/gstext.c:716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - pwidth
    argTypes:
    - gs_text_enum_t*
    - gs_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 717
    functionName: gs_text_current_width
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 3
    functionsReached:
    - gs_text_enum_t*::procs::current_width
    linkageType: ''
    returnType: int
    signature: int gs_text_current_width(const gs_text_enum_t * pte, gs_point *pwidth)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::set_cache
      Src: /src/libspectre/ghostscript/base/gstext.c:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pte
    - values
    - control
    argTypes:
    - gs_text_enum_t*
    - double*
    - gs_text_cache_control_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 720
    functionDepth: 0
    functionLinenumber: 720
    functionLinenumberEnd: 725
    functionName: gs_text_set_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 2
    functionsReached:
    - gs_text_enum_t*::procs::set_cache
    linkageType: ''
    returnType: int
    signature: "int gs_text_set_cache(gs_text_enum_t * pte, const double *values,\n
      \                 gs_text_cache_control_t control)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::set_cache
      Src: /src/libspectre/ghostscript/base/gstext.c:729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - wxy
    argTypes:
    - gs_text_enum_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 726
    functionDepth: 0
    functionLinenumber: 726
    functionLinenumberEnd: 730
    functionName: gs_text_setcharwidth
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached:
    - gs_text_enum_t*::procs::set_cache
    linkageType: ''
    returnType: int
    signature: int gs_text_setcharwidth(gs_text_enum_t * pte, const double wxy[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::set_cache
      Src: /src/libspectre/ghostscript/base/gstext.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - wbox
    argTypes:
    - gs_text_enum_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 731
    functionDepth: 0
    functionLinenumber: 731
    functionLinenumberEnd: 735
    functionName: gs_text_setcachedevice
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached:
    - gs_text_enum_t*::procs::set_cache
    linkageType: ''
    returnType: int
    signature: int gs_text_setcachedevice(gs_text_enum_t * pte, const double wbox[6])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::set_cache
      Src: /src/libspectre/ghostscript/base/gstext.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - wbox2
    argTypes:
    - gs_text_enum_t*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: gs_text_setcachedevice2
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached:
    - gs_text_enum_t*::procs::set_cache
    linkageType: ''
    returnType: int
    signature: int gs_text_setcachedevice2(gs_text_enum_t * pte, const double wbox2[10])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::retry
      Src: /src/libspectre/ghostscript/base/gstext.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pte
    argTypes:
    - gs_text_enum_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 747
    functionName: gs_text_retry
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 2
    functionsReached:
    - gs_text_enum_t*::procs::retry
    linkageType: ''
    returnType: int
    signature: int gs_text_retry(gs_text_enum_t * pte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gstext.c:753,1
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gstext.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 755
    functionName: gx_default_text_release
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 4
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: void gx_default_text_release(gs_text_enum_t *pte, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_text_enum_t*::procs::release
      Src: /src/libspectre/ghostscript/base/gstext.c:761,1
    - Dst: rc_free_struct_only
      Src: /src/libspectre/ghostscript/base/gstext.c:762,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - mem
    - obj
    - cname
    argTypes:
    - gs_memory_t*
    - void*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 763
    functionName: rc_free_text_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached:
    - rc_free_struct_only
    - gs_text_enum_t*::procs::release
    linkageType: ''
    returnType: void
    signature: void rc_free_text_enum(gs_memory_t * mem, void *obj, client_name_t
      cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/base/gstext.c:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pte
    - cname
    argTypes:
    - gs_text_enum_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 768
    functionName: gs_text_release
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 7
    functionsReached:
    - rc_decrement_only
    linkageType: ''
    returnType: void
    signature: void gs_text_release(gs_text_enum_t * pte, client_name_t cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pte
    - pfont
    argTypes:
    - gs_text_enum_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 778
    functionName: gs_default_init_fstack
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gs_default_init_fstack(gs_text_enum_t *pte, gs_font *pfont)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstext.c:807,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 3
    argNames:
    - pte
    - pchr
    - pglyph
    argTypes:
    - gs_text_enum_t*
    - gs_char*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 810
    functionName: gs_default_next_char_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 1
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_default_next_char_glyph(gs_text_enum_t *pte, gs_char *pchr,
      gs_glyph *pglyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - pte
    - pgs
    - pfont
    - chr
    - glyph
    argTypes:
    - gs_show_enum*
    - gs_gstate*
    - gs_font*
    - gs_char
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 818
    functionName: gs_no_build_char
    functionSourceFile: /src/libspectre/ghostscript/base/gstext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gs_no_build_char(gs_show_enum *pte, gs_gstate *pgs, gs_font *pfont,\n
      \                gs_char chr, gs_glyph glyph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: private_st_pattern_cache
    functionSourceFile: /src/libspectre/ghostscript/base/gxpcache.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_pattern_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_pixel_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage1.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - pim
    - color_space
    - adjust
    argTypes:
    - gs_image_t*
    - gs_color_space*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 52
    functionDepth: 4
    functionLinenumber: 52
    functionLinenumberEnd: 62
    functionName: gs_image_t_init_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 4
    functionsReached:
    - gs_pixel_image_t_init
    linkageType: ''
    returnType: void
    signature: "void gs_image_t_init_adjust(gs_image_t * pim, gs_color_space * color_space,\n
      \                      bool adjust)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_image_t_init
      Src: /src/libspectre/ghostscript/base/gximage1.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pim
    - write_1s
    - adjust
    argTypes:
    - gs_image_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 72
    functionName: gs_image_t_init_mask_adjust
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 3
    functionsReached:
    - gs_image_t_init
    linkageType: ''
    returnType: void
    signature: void gs_image_t_init_mask_adjust(gs_image_t * pim, bool write_1s, bool
      adjust)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_enum_alloc
      Src: /src/libspectre/ghostscript/base/gximage1.c:84,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gximage1.c:93,1
    - Dst: gx_image_enum_begin
      Src: /src/libspectre/ghostscript/base/gximage1.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 9
    argNames:
    - dev
    - pgs
    - pmat
    - pic
    - prect
    - pdcolor
    - pcpath
    - mem
    - pinfo
    argTypes:
    - gx_device*
    - gs_gstate*
    - gs_matrix*
    - gs_image_common_t*
    - gs_int_rect*
    - gx_drawing_color*
    - gx_clip_path*
    - gs_memory_t*
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 75
    functionDepth: 6
    functionLinenumber: 75
    functionLinenumberEnd: 102
    functionName: gx_begin_image1
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - float2fixed
    - gx_image_enum_alloc
    - gx_image_enum_begin
    linkageType: ''
    returnType: int
    signature: "int gx_begin_image1(gx_device * dev,\n                const gs_gstate
      * pgs, const gs_matrix * pmat,\n                const gs_image_common_t * pic,
      const gs_int_rect * prect,\n                const gx_drawing_color * pdcolor,
      const gx_clip_path * pcpath,\n                gs_memory_t * mem, gx_image_enum_common_t
      ** pinfo)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_sput
      Src: /src/libspectre/ghostscript/base/gximage1.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pic
    - s
    - ppcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 118
    functionName: gx_image1_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - gx_pixel_image_sput
    linkageType: ''
    returnType: int
    signature: "int gx_image1_sput(const gs_image_common_t *pic, stream *s,\n               const
      gs_color_space **ppcs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_sget
      Src: /src/libspectre/ghostscript/base/gximage1.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pic
    - s
    - pcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 120
    functionDepth: 3
    functionLinenumber: 120
    functionLinenumberEnd: 134
    functionName: gx_image1_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - gx_pixel_image_sget
    linkageType: ''
    returnType: int
    signature: "int gx_image1_sget(gs_image_common_t *pic, stream *s,\n               gs_color_space
      *pcs)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_image_matrix_is_default
      Src: /src/libspectre/ghostscript/base/gximage1.c:165,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:173,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:174,1
    - Dst: sput_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:175,1
    - Dst: sput_matrix
      Src: /src/libspectre/ghostscript/base/gximage1.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pic
    - s
    - ignore_ppcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 179
    functionName: gx_image1_mask_sput
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - sput_matrix
    - gx_image_matrix_is_default
    - sput_variable_uint
    linkageType: ''
    returnType: int
    signature: "int gx_image1_mask_sput(const gs_image_common_t *pic, stream *s,\n
      \                   const gs_color_space **ignore_ppcs)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:189,1
    - Dst: gs_image_t_init_mask
      Src: /src/libspectre/ghostscript/base/gximage1.c:191,1
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:192,1
    - Dst: sget_variable_uint
      Src: /src/libspectre/ghostscript/base/gximage1.c:193,1
    - Dst: sget_matrix
      Src: /src/libspectre/ghostscript/base/gximage1.c:197,1
    - Dst: gx_image_matrix_set_default
      Src: /src/libspectre/ghostscript/base/gximage1.c:200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - pic
    - s
    - ignore_pcs
    argTypes:
    - gs_image_common_t*
    - stream*
    - gs_color_space*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 206
    functionName: gx_image1_mask_sget
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - sget_matrix
    - gx_image_matrix_set_default
    - sget_variable_uint
    - gs_image_t_init_mask
    linkageType: ''
    returnType: int
    signature: "int gx_image1_mask_sget(gs_image_common_t *pic, stream *s,\n                    gs_color_space
      *ignore_pcs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_pixel_image_release
      Src: /src/libspectre/ghostscript/base/gximage1.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pic
    - mem
    argTypes:
    - gs_image_common_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 212
    functionName: gx_image1_release
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 0
    functionsReached:
    - gx_pixel_image_release
    linkageType: ''
    returnType: void
    signature: void gx_image1_release(gs_image_common_t *pic, gs_memory_t *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gximage1.c:236,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/base/gximage1.c:236,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/gximage1.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ppenum
    argTypes:
    - gx_image_enum_common_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 239
    functionName: gx_image_free_enum
    functionSourceFile: /src/libspectre/ghostscript/base/gximage1.c
    functionUses: 10
    functionsReached:
    - memset
    - gs_object_size
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void gx_image_free_enum(gx_image_enum_common_t **ppenum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - str
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 47
    functionName: section
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 7
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void section(FILE * f, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - f
    - str
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: define
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void define(FILE *f, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - str
    - value
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    functionName: define_int
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void define_int(FILE *f, const char *str, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - f
    - nbytes
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: print_ffs
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void print_ffs(FILE *f, int nbytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: ilog2
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ilog2(int n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genarch.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:88,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genarch.c:89,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/base/genarch.c:92,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/base/genarch.c:93,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/base/genarch.c:95,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genarch.c:97,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genarch.c:98,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - f
    - infname
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 101
    functionName: copy_existing_file
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 0
    functionsReached:
    - fread
    - fopen
    - fprintf
    - fwrite
    - feof
    - fclose
    linkageType: ''
    returnType: int
    signature: int copy_existing_file(FILE *f, char *infname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:154,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/base/genarch.c:160,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:162,1
    - Dst: copy_existing_file
      Src: /src/libspectre/ghostscript/base/genarch.c:167,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:170,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:171,1
    - Dst: section
      Src: /src/libspectre/ghostscript/base/genarch.c:181,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:184,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:184,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:185,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:185,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:186,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:186,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:187,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:187,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:190,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:196,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:198,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:198,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:202,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:202,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:203,1
    - Dst: OFFSET_IN
      Src: /src/libspectre/ghostscript/base/genarch.c:203,1
    - Dst: section
      Src: /src/libspectre/ghostscript/base/genarch.c:211,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:213,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:213,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:213,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:214,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:214,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:214,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:215,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:215,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:215,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:216,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:216,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:216,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:217,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:217,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:217,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:223,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/base/genarch.c:223,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:223,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:225,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:225,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:226,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:227,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:227,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:228,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:228,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:229,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/base/genarch.c:229,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:231,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:232,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:240,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:241,1
    - Dst: section
      Src: /src/libspectre/ghostscript/base/genarch.c:244,1
    - Dst: PRINT_MAX
      Src: /src/libspectre/ghostscript/base/genarch.c:258,1
    - Dst: PRINT_MAX
      Src: /src/libspectre/ghostscript/base/genarch.c:259,1
    - Dst: define
      Src: /src/libspectre/ghostscript/base/genarch.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:265,1
    - Dst: define
      Src: /src/libspectre/ghostscript/base/genarch.c:266,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:267,1
    - Dst: define
      Src: /src/libspectre/ghostscript/base/genarch.c:268,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/base/genarch.c:269,1
    - Dst: section
      Src: /src/libspectre/ghostscript/base/genarch.c:272,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:274,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:277,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:278,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:289,1
    - Dst: define_int
      Src: /src/libspectre/ghostscript/base/genarch.c:294,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/base/genarch.c:298,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 300
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 15
    functionsReached:
    - section
    - define
    - OFFSET_IN
    - PRINT_MAX
    - copy_existing_file
    - fprintf
    - define_int
    - fopen
    - size_of
    - ilog2
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - s
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    functionName: OFFSET_IN
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OFFSET_IN(s, e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - typ
    - ','
    - tstr
    - ','
    - l
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 258
    functionName: PRINT_MAX
    functionSourceFile: /src/libspectre/ghostscript/base/genarch.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PRINT_MAX(str, typ, tstr, l)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - explicit_width
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    functionName: check_first_operator
    functionSourceFile: /src/libspectre/ghostscript/base/gstype2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_first_operator(explicit_width)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gstype2.c:65,1
    - Dst: t1_hinter__sbw
      Src: /src/libspectre/ghostscript/base/gstype2.c:81,1
    - Dst: gs_type1_sbw
      Src: /src/libspectre/ghostscript/base/gstype2.c:84,1
    - Dst: decrypt_skip_previous
      Src: /src/libspectre/ghostscript/base/gstype2.c:87,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/gstype2.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 5
    argNames:
    - pcis
    - csp
    - cstack
    - ipsp
    - explicit_width
    argTypes:
    - gs_type1_state*
    - cs_ptr
    - cs_ptr
    - ip_state_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 96
    functionName: type2_sbw
    functionSourceFile: /src/libspectre/ghostscript/base/gstype2.c
    functionUses: 0
    functionsReached:
    - t1_hinter__sbw
    - decrypt_skip_previous
    - memmove
    - gs_type1_sbw
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int type2_sbw(gs_type1_state * pcis, cs_ptr csp, cs_ptr cstack, ip_state_t
      * ipsp,\n          bool explicit_width)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__vstem
      Src: /src/libspectre/ghostscript/base/gstype2.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - pcis
    - csp
    - cstack
    argTypes:
    - gs_type1_state*
    - cs_ptr
    - cs_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 5
    functionLinenumber: 97
    functionLinenumberEnd: 112
    functionName: type2_vstem
    functionSourceFile: /src/libspectre/ghostscript/base/gstype2.c
    functionUses: 0
    functionsReached:
    - t1_hinter__vstem
    linkageType: ''
    returnType: int
    signature: int type2_vstem(gs_type1_state * pcis, cs_ptr csp, cs_ptr cstack)
  - BBCount: 147
    BranchProfiles: []
    Callsites:
    - Dst: t1_hinter__init
      Src: /src/libspectre/ghostscript/base/gstype2.c:150,1
    - Dst: gs_type1_finish_init
      Src: /src/libspectre/ghostscript/base/gstype2.c:153,1
    - Dst: t1_hinter__set_mapping
      Src: /src/libspectre/ghostscript/base/gstype2.c:154,1
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/base/gstype2.c:160,1
    - Dst: t1_hinter__set_font_data
      Src: /src/libspectre/ghostscript/base/gstype2.c:163,1
    - Dst: INIT_CSTACK
      Src: /src/libspectre/ghostscript/base/gstype2.c:171,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:178,1
    - Dst: decrypt_skip_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:185,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:189,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:195,1
    - Dst: decode_push_num1
      Src: /src/libspectre/ghostscript/base/gstype2.c:200,1
    - Dst: decode_push_num2
      Src: /src/libspectre/ghostscript/base/gstype2.c:202,1
    - Dst: decode_num4
      Src: /src/libspectre/ghostscript/base/gstype2.c:206,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype2.c:208,1
    - Dst: arith_rshift
      Src: /src/libspectre/ghostscript/base/gstype2.c:209,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:211,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/gstype2.c:212,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:213,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gstype2.c:222,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gstype2.c:225,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:238,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:240,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:241,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/base/gstype2.c:242,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/base/gstype2.c:270,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:285,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:286,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:287,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:295,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:299,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:312,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:314,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:322,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:340,1
    - Dst: gs_type1_seac
      Src: /src/libspectre/ghostscript/base/gstype2.c:341,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:352,1
    - Dst: t1_hinter__endglyph
      Src: /src/libspectre/ghostscript/base/gstype2.c:354,1
    - Dst: gx_setcurrentpoint_from_path
      Src: /src/libspectre/ghostscript/base/gstype2.c:357,1
    - Dst: t1_hinter__setcurrentpoint
      Src: /src/libspectre/ghostscript/base/gstype2.c:361,1
    - Dst: t1_hinter__end_subglyph
      Src: /src/libspectre/ghostscript/base/gstype2.c:363,1
    - Dst: gs_type1_endchar
      Src: /src/libspectre/ghostscript/base/gstype2.c:367,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:384,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:385,1
    - Dst: type2_vstem
      Src: /src/libspectre/ghostscript/base/gstype2.c:391,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:396,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:400,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:402,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:404,1
    - Dst: t1_hinter__rmoveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:408,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:427,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:438,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:440,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:454,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:457,1
    - Dst: t1_hinter__hstem
      Src: /src/libspectre/ghostscript/base/gstype2.c:462,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:476,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:477,1
    - Dst: type2_vstem
      Src: /src/libspectre/ghostscript/base/gstype2.c:478,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:492,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/gstype2.c:493,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstype2.c:495,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstype2.c:501,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/gstype2.c:502,1
    - Dst: t1_hinter__hint_mask
      Src: /src/libspectre/ghostscript/base/gstype2.c:503,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:511,1
    - Dst: check_first_operator
      Src: /src/libspectre/ghostscript/base/gstype2.c:512,1
    - Dst: type2_vstem
      Src: /src/libspectre/ghostscript/base/gstype2.c:513,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:515,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:519,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:524,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:528,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:532,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:542,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:557,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:569,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:571,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype2.c:573,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gstype2.c:574,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:578,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:579,1
    - Dst: gs_type1_data*::procs::subr_data
      Src: /src/libspectre/ghostscript/base/gstype2.c:580,1
    - Dst: charstring_next
      Src: /src/libspectre/ghostscript/base/gstype2.c:588,1
    - Dst: dmlprintf2
      Src: /src/libspectre/ghostscript/base/gstype2.c:596,1
    - Dst: dmlprintf3
      Src: /src/libspectre/ghostscript/base/gstype2.c:599,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:605,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:606,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:611,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:612,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:620,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:621,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:623,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:624,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:625,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:627,1
    - Dst: CS_CHECK_TRANSIENT_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:629,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:630,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gstype2.c:632,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:635,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:645,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:646,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:651,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:652,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:657,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:658,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:660,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype2.c:661,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:665,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:666,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:670,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:671,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:673,1
    - Dst: CS_CHECK_TRANSIENT_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:675,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:676,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/base/gstype2.c:677,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype2.c:680,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:689,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:690,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:695,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:696,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:700,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:701,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:703,1
    - Dst: CS_CHECK_TRANSIENT_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:705,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:706,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:713,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:714,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:716,1
    - Dst: CS_CHECK_TRANSIENT_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:717,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:718,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:724,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:725,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype2.c:731,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:736,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:737,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:739,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/gstype2.c:749,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/base/gstype2.c:749,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:749,1
    - Dst: CS_CHECK_PUSH
      Src: /src/libspectre/ghostscript/base/gstype2.c:752,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:757,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:758,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:766,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:767,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:769,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:772,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:773,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:775,1
    - Dst: fixed2int_var
      Src: /src/libspectre/ghostscript/base/gstype2.c:776,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:781,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/base/gstype2.c:790,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:797,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:798,1
    - Dst: CS_CHECK_PUSHN
      Src: /src/libspectre/ghostscript/base/gstype2.c:799,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:810,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:811,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gstype2.c:822,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:822,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:823,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gstype2.c:824,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/base/gstype2.c:827,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:827,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:828,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/base/gstype2.c:829,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gstype2.c:838,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gstype2.c:838,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/base/gstype2.c:842,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/base/gstype2.c:842,1
    - Dst: t1_hinter__rlineto
      Src: /src/libspectre/ghostscript/base/gstype2.c:844,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:851,1
    - Dst: t1_hinter__rcurveto
      Src: /src/libspectre/ghostscript/base/gstype2.c:856,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:865,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:866,1
    - Dst: CS_CHECK_PUSHN
      Src: /src/libspectre/ghostscript/base/gstype2.c:867,1
    - Dst: CS_CHECK_CSTACK_BOUNDS
      Src: /src/libspectre/ghostscript/base/gstype2.c:877,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:878,1
    - Dst: CS_CHECK_PUSHN
      Src: /src/libspectre/ghostscript/base/gstype2.c:879,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gstype2.c:884,1
    - Dst: any_abs
      Src: /src/libspectre/ghostscript/base/gstype2.c:884,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gstype2.c:899,1
    CyclomaticComplexity: 167
    EdgeCount: 167
    ICount: 587
    argCount: 3
    argNames:
    - pcis
    - pgd
    - ignore_pindex
    argTypes:
    - gs_type1_state*
    - gs_glyph_data_t*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 121
    functionDepth: 9
    functionLinenumber: 121
    functionLinenumberEnd: 902
    functionName: gs_type2_interpret
    functionSourceFile: /src/libspectre/ghostscript/base/gstype2.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - t1_hinter__init
    - CS_CHECK_PUSH
    - t1_hinter__rlineto
    - t1_hinter__set_font_data
    - memmove
    - CS_CHECK_CSTACK_BOUNDS
    - gs_glyph_data_free
    - gx_setcurrentpoint_from_path
    - arith_rshift
    - countof
    - t1_hinter__rcurveto
    - CS_CHECK_PUSHN
    - decrypt_skip_next
    - fixed2int_var
    - ctm_only
    - CS_CHECK_TRANSIENT_BOUNDS
    - charstring_next
    - t1_hinter__endglyph
    - gs_note_error
    - t1_hinter__rmoveto
    - t1_hinter__setcurrentpoint
    - gs_type1_endchar
    - float2fixed
    - decode_push_num2
    - dmlprintf3
    - gs_type1_data*::procs::subr_data
    - type2_vstem
    - t1_hinter__set_mapping
    - check_first_operator
    - dmlprintf2
    - gs_type1_seac
    - int2fixed
    - if_debug0m
    - sqrt
    - gs_type1_finish_init
    - decode_push_num1
    - gs_currentaligntopixels
    - t1_hinter__hstem
    - t1_hinter__hint_mask
    - any_abs
    - if_debug3m
    - t1_hinter__end_subglyph
    - gs_distance_transform
    - decode_num4
    - fabs
    - return_error
    - INIT_CSTACK
    - fixed2float
    linkageType: ''
    returnType: int
    signature: "int gs_type2_interpret(gs_type1_state * pcis, const gs_glyph_data_t
      *pgd,\n                   int *ignore_pindex)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: cs_proc_num_components
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_num_components(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: cs_num_components
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 19
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_num_components(pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 74
    functionName: cs_proc_init_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_init_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcc
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 76
    functionName: cs_init_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_init_color(pcc, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcc
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    functionName: cs_full_init_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_full_init_color(pcc, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    functionName: cs_proc_restrict_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_restrict_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcc
    - ','
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    functionName: cs_restrict_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_restrict_color(pcc, pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 94
    functionName: cs_proc_concrete_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_concrete_space(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcs
    - ','
    - pgs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 96
    functionName: cs_concrete_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_concrete_space(pcs, pgs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 109
    functionName: cs_proc_concretize_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_concretize_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - pcc
    - ','
    - pcs
    - ','
    - values
    - ','
    - pgs
    - ','
    - dev
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: cs_concretize_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_concretize_color(pcc, pcs, values, pgs, dev)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: cs_proc_remap_concrete_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_remap_concrete_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    functionName: cs_proc_remap_color
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_remap_color(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    functionName: cs_proc_install_cspace
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_install_cspace(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 150
    functionName: cs_proc_set_overprint
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_set_overprint(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 156
    functionName: cs_proc_final
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_final(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: cs_proc_adjust_color_count
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_adjust_color_count(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 171
    functionName: cs_adjust_color_count
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_adjust_color_count(pgs, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pgs
    - ','
    - delta
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: cs_adjust_counts
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_adjust_counts(pgs, delta)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    functionName: cs_proc_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_serialize(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pcs
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: cs_serialize
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_serialize(pcs, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 198
    functionName: cs_proc_is_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_is_linear(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 19
    argNames:
    - (
    - pcs
    - ','
    - pgs
    - ','
    - dev
    - ','
    - c0
    - ','
    - c1
    - ','
    - c2
    - ','
    - c3
    - ','
    - smoothness
    - ','
    - icclink
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 200
    functionName: cs_is_linear
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_is_linear(pcs, pgs, dev, c0, c1, c2, c3, smoothness, icclink)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: cs_proc_polarity
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_proc_polarity(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 209
    functionName: cs_polarity
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cs_polarity(pcs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 216
    functionName: public_st_base_color_space
    functionSourceFile: /src/libspectre/ghostscript/base/gxcspace.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_base_color_space()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dev
    - cv
    argTypes:
    - gx_device*
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: mem_true16_map_rgb_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gx_color_index
    signature: gx_color_index mem_true16_map_rgb_color(gx_device * dev, const gx_color_value
      cv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - dev
    - color
    - prgb
    argTypes:
    - gx_device*
    - gx_color_index
    - gx_color_value[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 65
    functionName: mem_true16_map_color_rgb
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int mem_true16_map_color_rgb(gx_device * dev, gx_color_index color,\n
      \                        gx_color_value prgb[3])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: x_to_byte
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: x_to_byte(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm16.c:82,1
    - Dst: fit_fill
      Src: /src/libspectre/ghostscript/base/gdevm16.c:84,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm16.c:85,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm16.c:89,1
    - Dst: bytes_fill_rectangle
      Src: /src/libspectre/ghostscript/base/gdevm16.c:92,1
    - Dst: scan_line_base
      Src: /src/libspectre/ghostscript/base/gdevm16.c:92,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm16.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 6
    argNames:
    - dev
    - x
    - y
    - w
    - h
    - color
    argTypes:
    - gx_device*
    - int
    - int
    - int
    - int
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 111
    functionName: mem_true16_fill_rectangle
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - bytes_fill_rectangle
    - scan_line_base
    - declare_scan_ptr
    - setup_rect
    - fit_fill
    linkageType: ''
    returnType: int
    signature: "int mem_true16_fill_rectangle(gx_device * dev,\n                          int
      x, int y, int w, int h, gx_color_index color)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: declare_scan_ptr
      Src: /src/libspectre/ghostscript/base/gdevm16.c:131,1
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm16.c:132,1
    - Dst: setup_rect
      Src: /src/libspectre/ghostscript/base/gdevm16.c:133,1
    - Dst: inc_ptr
      Src: /src/libspectre/ghostscript/base/gdevm16.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 11
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    - zero
    - one
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    - gx_color_index
    - gx_color_index
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 160
    functionName: mem_true16_copy_mono
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached:
    - inc_ptr
    - declare_scan_ptr
    - setup_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true16_copy_mono(gx_device * dev,\n                     const
      byte * base, int sourcex, int sraster,\n                     gx_bitmap_id id,
      int x, int y, int w, int h,\n                     gx_color_index zero, gx_color_index
      one)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fit_copy
      Src: /src/libspectre/ghostscript/base/gdevm16.c:170,1
    - Dst: mem_copy_byte_rect
      Src: /src/libspectre/ghostscript/base/gdevm16.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 9
    argNames:
    - dev
    - base
    - sourcex
    - sraster
    - id
    - x
    - y
    - w
    - h
    argTypes:
    - gx_device*
    - byte*
    - int
    - int
    - gx_bitmap_id
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 173
    functionName: mem_true16_copy_color
    functionSourceFile: /src/libspectre/ghostscript/base/gdevm16.c
    functionUses: 0
    functionsReached:
    - mem_copy_byte_rect
    - fit_copy
    linkageType: ''
    returnType: int
    signature: "int mem_true16_copy_color(gx_device * dev,\n               const byte
      * base, int sourcex, int sraster, gx_bitmap_id id,\n                      int
      x, int y, int w, int h)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    functionName: public_st_zlib_state
    functionSourceFile: /src/libspectre/ghostscript/base/szlibx.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_zlib_state()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: fsync
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fsync(handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: read
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(fd, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: isatty
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: setmode
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setmode(fd, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: dup
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dup(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fname
    - ','
    - flags
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: open
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 303
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: open(fname, flags, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: close
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 362
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: close(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - handle
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: fsync
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fsync(handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fd
    - ','
    - buf
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: read
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 240
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: read(fd, buf, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: isatty
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isatty(fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fd
    - ','
    - mode
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: setmode
    functionSourceFile: /src/libspectre/ghostscript/base/unistd_.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: setmode(fd, mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 21
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 21
    functionName: GS_STRINGIZE2
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_STRINGIZE2(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 22
    functionName: GS_STRINGIZE
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GS_STRINGIZE(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: extern_gx_device_halftone_list
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gx_device_halftone_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: extern_gx_image_class_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gx_image_class_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: extern_gx_image_type_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gx_image_type_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: extern_gx_init_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gx_init_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: extern_gx_io_device_table
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gx_io_device_table()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 97
    functionName: extern_gs_lib_device_list
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gs_lib_device_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    functionName: extern_gs_find_compositor
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gs_find_compositor()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: extern_gs_get_fapi_server_inits
    functionSourceFile: /src/libspectre/ghostscript/base/gscdefs.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extern_gs_get_fapi_server_inits()
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 121
    functionName: Mitchell_filter
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Mitchell_filter(double t)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - t
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: Interp_filter
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double Interp_filter(double t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - v
    - ','
    - mn
    - ','
    - mx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 145
    functionName: CLAMP
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v, mn, mx)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - scale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 157
    functionName: Interp_contrib_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Interp_contrib_pixels(double scale)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/base/siscale.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - scale
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: Mitchell_contrib_pixels
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - max
    linkageType: ''
    returnType: int
    signature: int Mitchell_contrib_pixels(double scale)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:213,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/siscale.c:215,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/base/siscale.c:245,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/base/siscale.c:246,1
    - Dst: clamp_pixel
      Src: /src/libspectre/ghostscript/base/siscale.c:249,1
    - Dst: clamp_pixel
      Src: /src/libspectre/ghostscript/base/siscale.c:250,1
    - Dst: if_debug4
      Src: /src/libspectre/ghostscript/base/siscale.c:253,1
    - Dst: fproc
      Src: /src/libspectre/ghostscript/base/siscale.c:267,1
    - Dst: fproc
      Src: /src/libspectre/ghostscript/base/siscale.c:269,1
    - Dst: clamp_pixel
      Src: /src/libspectre/ghostscript/base/siscale.c:270,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/siscale.c:278,1
    - Dst: fproc
      Src: /src/libspectre/ghostscript/base/siscale.c:285,1
    - Dst: fproc
      Src: /src/libspectre/ghostscript/base/siscale.c:287,1
    - Dst: clamp_pixel
      Src: /src/libspectre/ghostscript/base/siscale.c:288,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/siscale.c:296,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 14
    argNames:
    - contrib
    - items
    - scale
    - starting_output_index
    - src_y_offset
    - dst_size
    - src_size
    - size
    - limit
    - modulus
    - stride
    - rescale_factor
    - fWidthIn
    - min_scale
    argTypes:
    - CLIST*
    - CONTRIB*
    - double
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - double
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 302
    functionName: calculate_contrib
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug0
    - fproc
    - if_debug2
    - if_debug1
    - if_debug4
    - max
    - floor
    - ceil
    - clamp_pixel
    linkageType: ''
    returnType: int
    signature: "int calculate_contrib(\n        /* Return weight list parameters in
      contrib[0 .. size-1]. */\n                     CLIST * contrib,\n        /*
      Store weights in items[0 .. contrib_pixels(scale)*size-1]. */\n        /* (Less
      space than this may actually be needed.) */\n                     CONTRIB *
      items,\n        /* The output image is scaled by 'scale' relative to the input.
      */\n                     double scale,\n        /* Start generating weights
      for input pixel 'starting_output_index'. */\n                     int starting_output_index,\n
      \       /* Offset of input subimage (data) from the input image start. */\n
      \                    int src_y_offset,\n        /* Entire output image size.
      */\n                     int dst_size,\n        /* Entire input image size.
      */\n                     int src_size,\n        /* Generate 'size' weight lists.
      */\n                     int size,\n        /* Limit pixel indices to 'limit',
      for clamping at the edges */\n        /* of the image. */\n                     int
      limit,\n        /* Wrap pixel indices modulo 'modulus'. */\n                     int
      modulus,\n        /* Successive pixel values are 'stride' distance apart --
      */\n        /* normally, the number of color components. */\n                     int
      stride,\n        /* The unit of output is 'rescale_factor' times the unit of
      input. */\n                     double rescale_factor,\n        /* The filters
      width */\n                     int fWidthIn,\n        /* The filter to use */\n
      \                    double (*fproc)(double),\n        /* minimum scale factor
      to use */\n                     double min_scale\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - j
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: clamp_pixel
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: clamp_pixel(j)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:501,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:516,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:517,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 520
    functionName: zoom_y1_4
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y1_4(void /*PixelOut */ * gs_restrict dst,\n          const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n          int Colors,
      const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:537,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:553,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:554,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 557
    functionName: zoom_y1_5
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y1_5(void /*PixelOut */ * gs_restrict dst,\n          const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n          int Colors,
      const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:570,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:584,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:585,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 9
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    - n
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 588
    functionName: template_zoom_y1
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void template_zoom_y1(void /*PixelOut */ * gs_restrict dst,\n                 const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n                 int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items,
      int n)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zoom_y1_4
      Src: /src/libspectre/ghostscript/base/siscale.c:596,1
    - Dst: zoom_y1_5
      Src: /src/libspectre/ghostscript/base/siscale.c:599,1
    - Dst: template_zoom_y1
      Src: /src/libspectre/ghostscript/base/siscale.c:602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 605
    functionName: zoom_y1
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 1
    functionsReached:
    - zoom_y1_4
    - template_zoom_y1
    - zoom_y1_5
    linkageType: ''
    returnType: void
    signature: "void zoom_y1(void /*PixelOut */ * gs_restrict dst,\n                 const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n                 int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:622,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:637,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:638,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 641
    functionName: zoom_y2_4
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_4(void /*PixelOut */ * gs_restrict dst,\n          const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n          int Colors,
      const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:658,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:674,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:675,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 678
    functionName: zoom_y2_5
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_5(void /*PixelOut */ * gs_restrict dst,\n          const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n          int Colors,
      const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:691,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:705,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:706,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 679
    functionDepth: 1
    functionLinenumber: 679
    functionLinenumberEnd: 709
    functionName: zoom_y2_n
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_n(void /*PixelOut */ * gs_restrict dst,\n          const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n          int Colors,
      const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zoom_y2_4
      Src: /src/libspectre/ghostscript/base/siscale.c:717,1
    - Dst: zoom_y2_5
      Src: /src/libspectre/ghostscript/base/siscale.c:720,1
    - Dst: zoom_y2_n
      Src: /src/libspectre/ghostscript/base/siscale.c:723,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 710
    functionDepth: 2
    functionLinenumber: 710
    functionLinenumberEnd: 726
    functionName: zoom_y2
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - zoom_y2_5
    - zoom_y2_4
    - zoom_y2_n
    linkageType: ''
    returnType: void
    signature: "void zoom_y2(void /*PixelOut */ * gs_restrict dst,\n       const byte
      * gs_restrict tmp, int skip, int WidthOut, int Stride,\n       int Colors, const
      CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:743,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:758,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:759,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 762
    functionName: zoom_y2_frac_4
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_frac_4(void /*PixelOut */ * gs_restrict dst,\n               const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n               int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:779,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:795,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:796,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:798,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 799
    functionName: zoom_y2_frac_5
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_frac_5(void /*PixelOut */ * gs_restrict dst,\n               const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n               int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:812,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/base/siscale.c:826,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/base/siscale.c:827,1
    - Dst: if_debug0
      Src: /src/libspectre/ghostscript/base/siscale.c:829,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 800
    functionDepth: 1
    functionLinenumber: 800
    functionLinenumberEnd: 830
    functionName: zoom_y2_frac_n
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1
    - if_debug0
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_frac_n(void /*PixelOut */ * gs_restrict dst,\n               const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n               int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: zoom_y2_frac_4
      Src: /src/libspectre/ghostscript/base/siscale.c:839,1
    - Dst: zoom_y2_frac_5
      Src: /src/libspectre/ghostscript/base/siscale.c:842,1
    - Dst: zoom_y2_frac_n
      Src: /src/libspectre/ghostscript/base/siscale.c:845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 8
    argNames:
    - gs_restrict
    - gs_restrict
    - skip
    - WidthOut
    - Stride
    - Colors
    - gs_restrict
    - gs_restrict
    argTypes:
    - void*
    - byte*
    - int
    - int
    - int
    - int
    - CLIST*
    - CONTRIB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 848
    functionName: zoom_y2_frac
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - zoom_y2_frac_5
    - zoom_y2_frac_4
    - zoom_y2_frac_n
    linkageType: ''
    returnType: void
    signature: "void zoom_y2_frac(void /*PixelOut */ * gs_restrict dst,\n             const
      byte * gs_restrict tmp, int skip, int WidthOut, int Stride,\n            int
      Colors, const CLIST * gs_restrict contrib, const CONTRIB * gs_restrict items)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calculate_contrib
      Src: /src/libspectre/ghostscript/base/siscale.c:864,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/base/siscale.c:872,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/siscale.c:886,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale.c:888,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/base/siscale.c:892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - ss
    - y
    argTypes:
    - stream_IScale_state*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 893
    functionName: calculate_dst_contrib
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - memcpy
    - if_debug2m
    - calculate_contrib
    - if_debug0m
    linkageType: ''
    returnType: void
    signature: void calculate_dst_contrib(stream_IScale_state * ss, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 896
    functionDepth: 0
    functionLinenumber: 896
    functionLinenumberEnd: 906
    functionName: s_IScale_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void s_IScale_set_defaults(stream_state * st)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: filter_defn_s*::contrib_pixels
      Src: /src/libspectre/ghostscript/base/siscale.c:942,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:947,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:951,1
    - Dst: max
      Src: /src/libspectre/ghostscript/base/siscale.c:952,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:957,1
    - Dst: filter_defn_s*::contrib_pixels
      Src: /src/libspectre/ghostscript/base/siscale.c:958,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:964,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:969,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/base/siscale.c:972,1
    - Dst: s_IScale_release
      Src: /src/libspectre/ghostscript/base/siscale.c:977,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/siscale.c:988,1
    - Dst: calculate_contrib
      Src: /src/libspectre/ghostscript/base/siscale.c:992,1
    - Dst: calculate_dst_contrib
      Src: /src/libspectre/ghostscript/base/siscale.c:1000,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 3
    argNames:
    - st
    - horiz
    - vert
    argTypes:
    - stream_state*
    - filter_defn_s*
    - filter_defn_s*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 1029
    functionName: do_init
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - calculate_contrib
    - s_IScale_release
    - calculate_dst_contrib
    - gs_alloc_byte_array
    - max
    - memset
    - filter_defn_s*::contrib_pixels
    linkageType: ''
    returnType: int
    signature: "int do_init(stream_state        *st,\n        const filter_defn_s
      *horiz,\n        const filter_defn_s *vert)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: do_init
      Src: /src/libspectre/ghostscript/base/siscale.c:1065,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1066
    functionName: s_IScale_init
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - do_init
    linkageType: ''
    returnType: int
    signature: int s_IScale_init(stream_state * st)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: stream_IScale_state*::zoom_y
      Src: /src/libspectre/ghostscript/base/siscale.c:1105,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/siscale.c:1119,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale.c:1122,1
    - Dst: calculate_dst_contrib
      Src: /src/libspectre/ghostscript/base/siscale.c:1132,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale.c:1154,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/base/siscale.c:1159,1
    - Dst: stream_IScale_state*::zoom_x
      Src: /src/libspectre/ghostscript/base/siscale.c:1162,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/siscale.c:1175,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1069
    functionDepth: 3
    functionLinenumber: 1069
    functionLinenumberEnd: 1181
    functionName: s_IScale_process
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 0
    functionsReached:
    - stream_IScale_state*::zoom_x
    - stream_IScale_state*::zoom_y
    - calculate_dst_contrib
    - if_debug2
    - memcpy
    - min
    linkageType: ''
    returnType: int
    signature: "int s_IScale_process(stream_state * st, stream_cursor_read * pr,\n
      \                stream_cursor_write * pw, bool last)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1190,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1192,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1194,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1196,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1198,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/base/siscale.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1184
    functionDepth: 0
    functionLinenumber: 1184
    functionLinenumberEnd: 1202
    functionName: s_IScale_release
    functionSourceFile: /src/libspectre/ghostscript/base/siscale.c
    functionUses: 1
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void s_IScale_release(stream_state * st)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 949
    functionDepth: 0
    functionLinenumber: 949
    functionLinenumberEnd: 952
    functionName: scfdtab_dummy
    functionSourceFile: /src/libspectre/ghostscript/base/scfdtab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void scfdtab_dummy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: ft_emprintf
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_emprintf(m,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - m
    - ','
    - s
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: ft_emprintf1
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ft_emprintf1(m,s,d)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - size
    argTypes:
    - FT_Memory
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: FF_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_malloc
    linkageType: ''
    returnType: void
    signature: void FF_alloc(FT_Memory memory, long size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:146,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:148,1
    - Dst: min
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:148,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - memory
    - cur_size
    - new_size
    - block
    argTypes:
    - FT_Memory
    - long
    - long
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 154
    functionName: FF_realloc
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_free
    - memcpy
    - min
    - gs_malloc
    linkageType: ''
    returnType: void
    signature: void FF_realloc(FT_Memory memory, long cur_size, long new_size, void
      *block)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - memory
    - block
    argTypes:
    - FT_Memory
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 162
    functionName: FF_free
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void FF_free(FT_Memory memory, void *block)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: sseek
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:178,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:184,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - str
    - offset
    - buffer
    - count
    argTypes:
    - FT_Stream
    - unsigned long
    - unsigned char*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 187
    functionName: FF_stream_read
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - return_error
    - sgets
    - sseek
    linkageType: ''
    returnType: FT_ULong
    signature: "FT_ULong FF_stream_read(FT_Stream str, unsigned long offset, unsigned
      char *buffer,\n               unsigned long count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - FT_Stream
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: FF_stream_close
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - sclose
    linkageType: ''
    returnType: void
    signature: void FF_stream_close(FT_Stream str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:208,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:208,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:219,1
    - Dst: iodev_proc_open_file
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:225,1
    - Dst: open_file
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:228,1
    - Dst: file_open_stream
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:235,1
    - Dst: savailable
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:247,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:251,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:256,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:267,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 3
    argNames:
    - mem
    - fname
    - fts
    argTypes:
    - gs_memory_t*
    - char*
    - FT_Stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 272
    functionName: FF_open_read_stream
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - savailable
    - sclose
    - open_file
    - strlen
    - gs_parse_file_name
    - iodev_default
    - file_open_stream
    - memset
    - gs_malloc
    - gs_free
    - iodev_proc_open_file
    linkageType: ''
    returnType: int
    signature: int FF_open_read_stream(gs_memory_t * mem, char *fname, FT_Stream *
      fts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_alloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - a_server
    - a_ft_face
    - a_ft_inc_int
    - ftstrm
    - a_font_data
    - a_font_data_len
    - data_owned
    argTypes:
    - gs_fapi_server*
    - FT_Face
    - FT_Incremental_InterfaceRec*
    - FT_Stream
    - unsigned char*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 294
    functionName: new_face
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FF_alloc
    linkageType: ''
    returnType: ff_face
    signature: "ff_face *\nnew_face(gs_fapi_server * a_server, FT_Face a_ft_face,\n
      \        FT_Incremental_InterfaceRec * a_ft_inc_int, FT_Stream ftstrm,\n         unsigned
      char *a_font_data, int a_font_data_len, bool data_owned)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:305,1
    - Dst: delete_inc_int
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:309,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:312,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:314,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:316,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:318,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 2
    argNames:
    - a_server
    - a_face
    argTypes:
    - gs_fapi_server*
    - ff_face*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 296
    functionDepth: 6
    functionLinenumber: 296
    functionLinenumberEnd: 322
    functionName: delete_face
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Done_Face
    - gs_free
    - delete_inc_int
    - FF_free
    linkageType: ''
    returnType: void
    signature: void delete_face(gs_fapi_server * a_server, ff_face * a_face)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_alloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:330,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - a_server
    - a_fapi_font
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: new_inc_int_info
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FF_alloc
    linkageType: ''
    returnType: FT_IncrementalRec
    signature: 'FT_IncrementalRec *

      new_inc_int_info(gs_fapi_server * a_server, gs_fapi_font * a_fapi_font)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:350,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a_server
    - a_inc_int_info
    argTypes:
    - gs_fapi_server*
    - FT_IncrementalRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: delete_inc_int_info
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FF_free
    linkageType: ''
    returnType: void
    signature: "void delete_inc_int_info(gs_fapi_server * a_server,\n                    FT_IncrementalRec
      * a_inc_int_info)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:372,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:377,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:381,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:383,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:398,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:413,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:418,1
    - Dst: gs_fapi_font*::get_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:426,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - a_info
    - a_index
    - a_data
    argTypes:
    - FT_Incremental
    - FT_UInt
    - FT_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 441
    functionName: get_fapi_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_fapi_font*::get_glyph
    - gs_free
    - gs_malloc
    linkageType: ''
    returnType: FT_Error
    signature: FT_Error get_fapi_glyph_data(FT_Incremental a_info, FT_UInt a_index,
      FT_Data * a_data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a_info
    - a_data
    argTypes:
    - FT_Incremental
    - FT_Data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 454
    functionName: free_fapi_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_free
    linkageType: ''
    returnType: void
    signature: void free_fapi_glyph_data(FT_Incremental a_info, FT_Data * a_data)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 4
    argNames:
    - a_info
    - a_glyph_index
    - bVertical
    - a_metrics
    argTypes:
    - FT_Incremental
    - FT_UInt
    - FT_Bool
    - FT_Incremental_MetricsRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 487
    functionName: get_fapi_glyph_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: FT_Error
    signature: "FT_Error get_fapi_glyph_metrics(FT_Incremental a_info, FT_UInt a_glyph_index,\n
      \                      FT_Bool bVertical,\n                       FT_Incremental_MetricsRec
      * a_metrics)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FF_alloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:501,1
    - Dst: new_inc_int_info
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:506,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - a_server
    - a_fapi_font
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 514
    functionName: new_inc_int
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - new_inc_int_info
    - FF_alloc
    - FF_free
    linkageType: ''
    returnType: FT_Incremental_InterfaceRec
    signature: 'FT_Incremental_InterfaceRec *

      new_inc_int(gs_fapi_server * a_server, gs_fapi_font * a_fapi_font)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: delete_inc_int_info
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:523,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:524,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - a_server
    - a_inc_int
    argTypes:
    - gs_fapi_server*
    - FT_Incremental_InterfaceRec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: delete_inc_int
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 1
    functionsReached:
    - FF_free
    - delete_inc_int_info
    linkageType: ''
    returnType: void
    signature: "void delete_inc_int(gs_fapi_server * a_server,\n               FT_Incremental_InterfaceRec
      * a_inc_int)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:536,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - a_error
    argTypes:
    - FT_Error
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 541
    functionName: ft_to_gs_error
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int ft_to_gs_error(FT_Error a_error)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:571,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:572,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:576,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:577,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:583,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:611,1
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:614,1
    - Dst: FT_MulFix
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:638,1
    - Dst: FT_Vector_Transform
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:639,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:671,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:689,1
    - Dst: FT_Load_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:713,1
    - Dst: FT_Outline_Translate
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:722,1
    - Dst: FT_HAS_VERTICAL
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:757,1
    - Dst: FT_Outline_Get_CBox
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:780,1
    - Dst: bitmap_raster
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:796,1
    - Dst: FT_Render_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:799,1
    - Dst: FT_Get_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:816,1
    - Dst: FT_Get_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:822,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:824,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:825,1
    - Dst: FT_Get_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:831,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:833,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:834,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:842,1
    - Dst: ft_emprintf1
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:843,1
    - Dst: ft_emprintf
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:848,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:858,1
    - Dst: ft_emprintf1
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:859,1
    - Dst: ft_emprintf
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:864,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:874,1
    - Dst: ft_emprintf1
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:875,1
    - Dst: ft_emprintf
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:880,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:890,1
    - Dst: ft_emprintf1
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:891,1
    - Dst: ft_emprintf
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:896,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:904,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 182
    argCount: 7
    argNames:
    - a_server
    - a_fapi_font
    - a_char_ref
    - a_metrics
    - a_glyph
    - a_bitmap
    - max_bitmap
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    - FT_Glyph*
    - bool
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 546
    functionDepth: 6
    functionLinenumber: 546
    functionLinenumberEnd: 905
    functionName: load_glyph
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 6
    functionsReached:
    - FT_Vector_Transform
    - FT_Outline_Done
    - FT_Outline_Translate
    - gs_debug_c
    - FT_Load_Glyph
    - ft_to_gs_error
    - FT_Outline_Get_CBox
    - FT_HAS_VERTICAL
    - FT_Render_Glyph
    - ft_emprintf
    - FT_MulFix
    - ft_emprintf1
    - FT_Bitmap_Done
    - FT_Get_Glyph
    - FF_free
    - bitmap_raster
    - FT_Get_Char_Index
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode load_glyph(gs_fapi_server * a_server, gs_fapi_font
      * a_fapi_font,\n           const gs_fapi_char_ref * a_char_ref, gs_fapi_metrics
      * a_metrics,\n           FT_Glyph * a_glyph, bool a_bitmap, int max_bitmap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_New_Library
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:931,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:933,1
    - Dst: FT_Add_Default_Modules
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:935,1
    - Dst: FT_Property_Set
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:936,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - a_server
    - server_param
    - server_param_size
    argTypes:
    - gs_fapi_server*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 912
    functionDepth: 6
    functionLinenumber: 912
    functionLinenumberEnd: 939
    functionName: gs_fapi_ft_ensure_open
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_New_Library
    - FT_Add_Default_Modules
    - FT_Property_Set
    - ft_to_gs_error
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_ensure_open(gs_fapi_server * a_server,
      const char * server_param,\n                       int server_param_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Matrix_Multiply
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a_A
    - a_B
    argTypes:
    - FT_Matrix*
    - FT_Matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 949
    functionName: transform_concat
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Matrix_Multiply
    linkageType: ''
    returnType: void
    signature: void transform_concat(FT_Matrix * a_A, const FT_Matrix * a_B)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FT_Vector_Length
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:963,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:964,1
    - Dst: FT_DivFix
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:965,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a_transform
    - a_vector
    argTypes:
    - FT_Matrix*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 952
    functionDepth: 3
    functionLinenumber: 952
    functionLinenumberEnd: 969
    functionName: make_rotation
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 1
    functionsReached:
    - FT_DivFix
    - FT_Vector_Length
    linkageType: ''
    returnType: void
    signature: void make_rotation(FT_Matrix * a_transform, const FT_Vector * a_vector)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:991,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:992,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1005,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1006,1
    - Dst: hypot
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1007,1
    - Dst: FT_Matrix_Multiply
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1031,1
    - Dst: FT_Matrix_Multiply
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1096,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1097,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 68
    argCount: 6
    argNames:
    - a_transform
    - xresp
    - yresp
    - a_x_scale
    - a_y_scale
    - units_per_EM
    argTypes:
    - FT_Matrix*
    - FT_UInt*
    - FT_UInt*
    - FT_Fixed*
    - FT_Fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 1104
    functionName: transform_decompose
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - hypot
    - memcpy
    - FT_Matrix_Multiply
    linkageType: ''
    returnType: void
    signature: "void transform_decompose(FT_Matrix * a_transform, FT_UInt * xresp,
      FT_UInt * yresp,\n                    FT_Fixed * a_x_scale, FT_Fixed * a_y_scale,
      int units_per_EM)"
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1122,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1123,1
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1127,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1128,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1160,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1164,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1168,1
    - Dst: FT_New_Memory_Face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1172,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1179,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1180,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1187,1
    - Dst: FF_open_read_stream
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1190,1
    - Dst: FT_Open_Face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1200,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1204,1
    - Dst: gs_fapi_font*::get_word
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1219,1
    - Dst: gs_fapi_serialize_type1_font
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1232,1
    - Dst: gs_fapi_serialize_type2_font
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1234,1
    - Dst: FF_alloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1237,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1239,1
    - Dst: gs_fapi_serialize_type1_font
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1243,1
    - Dst: gs_fapi_serialize_type2_font
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1246,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1249,1
    - Dst: new_inc_int
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1251,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1253,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1254,1
    - Dst: gs_fapi_font*::get_long
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1263,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1267,1
    - Dst: FF_alloc
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1275,1
    - Dst: gs_fapi_font*::serialize_tt_font
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1279,1
    - Dst: new_inc_int
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1285,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1287,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1288,1
    - Dst: FT_Open_Face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1301,1
    - Dst: delete_inc_int
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1304,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1305,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1306,1
    - Dst: new_face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1312,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1315,1
    - Dst: FT_Done_Face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1316,1
    - Dst: delete_inc_int
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1317,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1318,1
    - Dst: transform_decompose
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1346,1
    - Dst: FT_Set_Char_Size
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1349,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1359,1
    - Dst: FT_Set_Transform
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1367,1
    - Dst: FT_Set_Charmap
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1386,1
    - Dst: FT_Select_Charmap
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1393,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 156
    argCount: 5
    argNames:
    - a_server
    - a_font
    - a_font_scale
    - a_map
    - a_descendant_code
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_font_scale*
    - char*
    - gs_fapi_descendant_code
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1109
    functionDepth: 6
    functionLinenumber: 1109
    functionLinenumberEnd: 1415
    functionName: gs_fapi_ft_get_scaled_font
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Done
    - FF_open_read_stream
    - transform_decompose
    - gs_fapi_serialize_type2_font
    - new_inc_int
    - FT_Open_Face
    - memset
    - FT_Set_Transform
    - gs_fapi_serialize_type1_font
    - FT_Select_Charmap
    - FT_Done_Face
    - FT_Set_Char_Size
    - FT_Bitmap_Done
    - gs_fapi_font*::get_word
    - gs_fapi_font*::get_long
    - gs_fapi_font*::serialize_tt_font
    - new_face
    - ft_to_gs_error
    - FT_New_Memory_Face
    - delete_inc_int
    - FT_Set_Charmap
    - memcpy
    - gs_malloc
    - return_error
    - gs_free
    - FF_free
    - FF_alloc
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_scaled_font(gs_fapi_server * a_server,
      gs_fapi_font * a_font,\n                const gs_fapi_font_scale * a_font_scale,\n
      \               const char *a_map, gs_fapi_descendant_code a_descendant_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a_server
    - a_font
    - a_decoding_id
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1429
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1429
    functionName: gs_fapi_ft_get_decodingID
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_decodingID(gs_fapi_server * a_server,
      gs_fapi_font * a_font,\n               const char **a_decoding_id)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_box
    - unitsPerEm
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - int[]
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1434
    functionDepth: 0
    functionLinenumber: 1434
    functionLinenumberEnd: 1447
    functionName: gs_fapi_ft_get_font_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_get_font_bbox(gs_fapi_server * a_server,
      gs_fapi_font * a_font, int a_box[4], int unitsPerEm[2])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - a_server
    - a_font
    - a_proportional
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1459
    functionName: gs_fapi_ft_get_font_proportional_feature
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_font_proportional_feature(gs_fapi_server
      * a_server,\n                              gs_fapi_font * a_font, bool * a_proportional)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_HAS_GLYPH_NAMES
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1474,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1476,1
    - Dst: FT_Get_Name_Index
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_char_ref
    - a_result
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1467
    functionDepth: 2
    functionLinenumber: 1467
    functionLinenumberEnd: 1486
    functionName: gs_fapi_ft_can_retrieve_char_by_name
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Get_Name_Index
    - memcpy
    - FT_HAS_GLYPH_NAMES
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_can_retrieve_char_by_name(gs_fapi_server
      * a_server, gs_fapi_font * a_font,\n                          gs_fapi_char_ref
      * a_char_ref, bool * a_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_char_ref
    - a_result
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1498
      start: 1491
    functionDepth: 0
    functionLinenumber: 1491
    functionLinenumberEnd: 1498
    functionName: gs_fapi_ft_can_replace_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_can_replace_metrics(gs_fapi_server * a_server,
      gs_fapi_font * a_font,\n                    gs_fapi_char_ref * a_char_ref, int
      *a_result)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_char_ref
    - a_metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1503
    functionDepth: 7
    functionLinenumber: 1503
    functionLinenumberEnd: 1512
    functionName: gs_fapi_ft_get_char_width
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - load_glyph
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_char_width(gs_fapi_server * a_server,
      gs_fapi_font * a_font,\n               gs_fapi_char_ref * a_char_ref, gs_fapi_metrics
      * a_metrics)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - server
    - m
    argTypes:
    - gs_fapi_server*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1524
      start: 1514
    functionDepth: 0
    functionLinenumber: 1514
    functionLinenumberEnd: 1524
    functionName: gs_fapi_ft_get_fontmatrix
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_get_fontmatrix(gs_fapi_server * server,
      gs_matrix * m)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_char_ref
    - a_metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1531
    functionDepth: 7
    functionLinenumber: 1531
    functionLinenumberEnd: 1542
    functionName: gs_fapi_ft_get_char_raster_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - load_glyph
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_char_raster_metrics(gs_fapi_server
      * a_server, gs_fapi_font * a_font,\n                        gs_fapi_char_ref
      * a_char_ref,\n                        gs_fapi_metrics * a_metrics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - a_server
    - a_raster
    argTypes:
    - gs_fapi_server*
    - gs_fapi_raster*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1563
      start: 1547
    functionDepth: 0
    functionLinenumber: 1547
    functionLinenumberEnd: 1563
    functionName: gs_fapi_ft_get_char_raster
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_get_char_raster(gs_fapi_server * a_server,
      gs_fapi_raster * a_raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: load_glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - a_server
    - a_font
    - a_char_ref
    - a_metrics
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - gs_fapi_char_ref*
    - gs_fapi_metrics*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1580
      start: 1570
    functionDepth: 7
    functionLinenumber: 1570
    functionLinenumberEnd: 1580
    functionName: gs_fapi_ft_get_char_outline_metrics
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - load_glyph
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: "gs_fapi_retcode gs_fapi_ft_get_char_outline_metrics(gs_fapi_server
      * a_server, gs_fapi_font * a_font,\n                         gs_fapi_char_ref
      * a_char_ref,\n                         gs_fapi_metrics * a_metrics)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - FT_Vector*
    - FT_Vector*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1590
    functionDepth: 0
    functionLinenumber: 1590
    functionLinenumberEnd: 1597
    functionName: FF_points_equal
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int FF_points_equal(const FT_Vector *p1, const FT_Vector *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FF_path_info*::path::moveto
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - aTo
    - aObject
    argTypes:
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1617
    functionName: move_to
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 3
    functionsReached:
    - FF_path_info*::path::moveto
    linkageType: ''
    returnType: int
    signature: int move_to(const FT_Vector * aTo, void *aObject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1624,1
    - Dst: FF_path_info*::path::lineto
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - aTo
    - aObject
    argTypes:
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1634
    functionName: line_to
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 4
    functionsReached:
    - FF_path_info*::path::lineto
    - FF_points_equal
    linkageType: ''
    returnType: int
    signature: int line_to(const FT_Vector * aTo, void *aObject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1644,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1645,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1646,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1669,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1671,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1675,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1676,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1677,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1678,1
    - Dst: FF_path_info*::path::curveto
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1680,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - aControl
    - aTo
    - aObject
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1636
    functionDepth: 1
    functionLinenumber: 1636
    functionLinenumberEnd: 1685
    functionName: conic_to
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 2
    functionsReached:
    - float2fixed
    - FF_path_info*::path::curveto
    - FF_points_equal
    linkageType: ''
    returnType: int
    signature: int conic_to(const FT_Vector * aControl, const FT_Vector * aTo, void
      *aObject)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1694,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1695,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1696,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1697,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1698,1
    - Dst: FF_points_equal
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1699,1
    - Dst: FF_path_info*::path::curveto
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1710,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 4
    argNames:
    - aControl1
    - aControl2
    - aTo
    - aObject
    argTypes:
    - FT_Vector*
    - FT_Vector*
    - FT_Vector*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1687
    functionDepth: 1
    functionLinenumber: 1687
    functionLinenumberEnd: 1714
    functionName: cubic_to
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 2
    functionsReached:
    - FF_path_info*::path::curveto
    - FF_points_equal
    linkageType: ''
    returnType: int
    signature: "int cubic_to(const FT_Vector * aControl1, const FT_Vector * aControl2,\n
      \        const FT_Vector * aTo, void *aObject)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Decompose
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1743,1
    - Dst: gs_fapi_path*::moveto
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1747,1
    - Dst: gs_fapi_path*::closepath
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1751,1
    - Dst: ft_to_gs_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - a_server
    - a_path
    argTypes:
    - gs_fapi_server*
    - gs_fapi_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1728
    functionDepth: 2
    functionLinenumber: 1728
    functionLinenumberEnd: 1753
    functionName: gs_fapi_ft_get_char_outline
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Decompose
    - gs_fapi_path*::moveto
    - ft_to_gs_error
    - gs_fapi_path*::closepath
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_get_char_outline(gs_fapi_server * a_server,
      gs_fapi_path * a_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: FT_Outline_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1761,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1762,1
    - Dst: FT_Bitmap_Done
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1766,1
    - Dst: FF_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - a_server
    argTypes:
    - gs_fapi_server*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1755
    functionDepth: 2
    functionLinenumber: 1755
    functionLinenumberEnd: 1773
    functionName: gs_fapi_ft_release_char_data
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Outline_Done
    - FF_free
    - FT_Bitmap_Done
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_release_char_data(gs_fapi_server * a_server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: delete_face
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - a_server
    - a_server_font_data
    argTypes:
    - gs_fapi_server*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1775
    functionDepth: 7
    functionLinenumber: 1775
    functionLinenumberEnd: 1782
    functionName: gs_fapi_ft_release_typeface
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - delete_face
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_release_typeface(gs_fapi_server * a_server,
      void *a_server_font_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_Char_Index
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - server
    - index
    argTypes:
    - gs_fapi_server*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1792
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1792
    functionName: gs_fapi_ft_check_cmap_for_GID
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - FT_Get_Char_Index
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_check_cmap_for_GID(gs_fapi_server * server,
      uint * index)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: FT_Get_MM_WeightVector
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1811,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1812,1
    - Dst: FT_Set_MM_WeightVector
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1822,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1823,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 4
    argNames:
    - server
    - ff
    - wvector
    - length
    argTypes:
    - gs_fapi_server*
    - gs_fapi_font*
    - float*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1794
    functionDepth: 3
    functionLinenumber: 1794
    functionLinenumberEnd: 1828
    functionName: gs_fapi_ft_set_mm_weight_vector
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - return_error
    - FT_Get_MM_WeightVector
    - FT_Set_MM_WeightVector
    linkageType: ''
    returnType: gs_fapi_retcode
    signature: gs_fapi_retcode gs_fapi_ft_set_mm_weight_vector(gs_fapi_server *server,
      gs_fapi_font *ff, float *wvector, int length)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_chunk_wrap
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1878,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1884,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1886,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1887,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - mem
    - server
    argTypes:
    - gs_memory_t*
    - gs_fapi_server**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1871
    functionDepth: 2
    functionLinenumber: 1871
    functionLinenumberEnd: 1897
    functionName: gs_fapi_ft_init
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - return_error
    - gs_memory_chunk_release
    - memset
    - gs_memory_chunk_wrap
    linkageType: ''
    returnType: int
    signature: int gs_fapi_ft_init(gs_memory_t * mem, gs_fapi_server ** server)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1906,1
    - Dst: FT_Done_Glyph
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1907,1
    - Dst: FT_Done_Library
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1913,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1914,1
    - Dst: gs_memory_chunk_release
      Src: /src/libspectre/ghostscript/base/fapi_ft.c:1916,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - serv
    argTypes:
    - gs_fapi_server**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1900
    functionDepth: 7
    functionLinenumber: 1900
    functionLinenumberEnd: 1917
    functionName: gs_fapi_freetype_destroy
    functionSourceFile: /src/libspectre/ghostscript/base/fapi_ft.c
    functionUses: 0
    functionsReached:
    - gs_memory_chunk_release
    - gs_free
    - FT_Done_Library
    - FT_Done_Glyph
    linkageType: ''
    returnType: void
    signature: void gs_fapi_freetype_destroy(gs_fapi_server ** serv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: s_A85E_init_inline
      Src: /src/libspectre/ghostscript/base/sfilter2.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - st
    argTypes:
    - stream_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 37
    functionName: s_A85E_init
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter2.c
    functionUses: 0
    functionsReached:
    - s_A85E_init_inline
    linkageType: ''
    returnType: int
    signature: int s_A85E_init(stream_state * st)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:55,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:71,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:93,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:117,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:140,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:158,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:169,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/base/sfilter2.c:216,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/base/sfilter2.c:224,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 141
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 231
    functionName: s_A85E_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter2.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - if_debug1m
    - if_debug6m
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int s_A85E_process(stream_state * st, stream_cursor_read * pr,\n               stream_cursor_write
      * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - st
    - pr
    - pw
    - last
    argTypes:
    - stream_state*
    - stream_cursor_read*
    - stream_cursor_write*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 265
    functionName: s_BT_process
    functionSourceFile: /src/libspectre/ghostscript/base/sfilter2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int s_BT_process(stream_state * st, stream_cursor_read * pr,\n             stream_cursor_write
      * pw, bool last)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/base/gxpath2.c:34,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:35,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppath
    - ppt
    argTypes:
    - gx_path*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 40
    functionName: gx_path_current_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 14
    functionsReached:
    - return_error
    - path_position_valid
    linkageType: ''
    returnType: int
    signature: int gx_path_current_point(const gx_path * ppath, gs_fixed_point * ppt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ppath
    - ppt
    argTypes:
    - gx_path*
    - gs_fixed_point*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 52
    functionName: gx_path_subpath_start_point
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_path_subpath_start_point(const gx_path * ppath, gs_fixed_point
      * ppt)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:62,1
    - Dst: gx_path_current_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:71,1
    - Dst: ADJUST_BBOX
      Src: /src/libspectre/ghostscript/base/gxpath2.c:111,1
    - Dst: ADJUST_BBOX
      Src: /src/libspectre/ghostscript/base/gxpath2.c:112,1
    - Dst: ADJUST_BBOX
      Src: /src/libspectre/ghostscript/base/gxpath2.c:115,1
    - Dst: STORE_BBOX
      Src: /src/libspectre/ghostscript/base/gxpath2.c:122,1
    - Dst: STORE_BBOX
      Src: /src/libspectre/ghostscript/base/gxpath2.c:123,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    argCount: 2
    argNames:
    - ppath
    - pbox
    argTypes:
    - gx_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 129
    functionName: gx_path_bbox
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 24
    functionsReached:
    - return_error
    - STORE_BBOX
    - ADJUST_BBOX
    - gx_path_current_point
    linkageType: ''
    returnType: int
    signature: int gx_path_bbox(gx_path * ppath, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: ADJUST_BBOX
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ADJUST_BBOX(pt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    functionName: STORE_BBOX
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STORE_BBOX(b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_bbox
      Src: /src/libspectre/ghostscript/base/gxpath2.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - ppath
    - pbox
    argTypes:
    - gx_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: gx_path_bbox_set
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 2
    functionsReached:
    - gx_path_bbox
    linkageType: ''
    returnType: int
    signature: int gx_path_bbox_set(gx_path * ppath, gs_fixed_rect * pbox)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_has_curves_inline
      Src: /src/libspectre/ghostscript/base/gxpath2.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: gx_path_has_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 3
    functionsReached:
    - gx_path_has_curves_inline
    linkageType: ''
    returnType: bool
    signature: bool gx_path_has_curves(const gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 152
    functionName: gx_path_has_curves
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_has_curves(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_void_inline
      Src: /src/libspectre/ghostscript/base/gxpath2.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: gx_path_is_void
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 10
    functionsReached:
    - gx_path_is_void_inline
    linkageType: ''
    returnType: bool
    signature: bool gx_path_is_void(const gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ppath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: gx_path_is_void
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_path_is_void(ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_is_null_inline
      Src: /src/libspectre/ghostscript/base/gxpath2.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 168
    functionName: gx_path_is_null
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 4
    functionsReached:
    - gx_path_is_null_inline
    linkageType: ''
    returnType: bool
    signature: bool gx_path_is_null(const gx_path * ppath)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: gx_curve_is_really_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:197,1
    - Dst: gx_curve_is_really_line
      Src: /src/libspectre/ghostscript/base/gxpath2.c:199,1
    - Dst: gx_curve_is_really_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:214,1
    - Dst: gx_curve_is_really_line
      Src: /src/libspectre/ghostscript/base/gxpath2.c:216,1
    - Dst: gx_curve_is_really_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:231,1
    - Dst: gx_curve_is_really_line
      Src: /src/libspectre/ghostscript/base/gxpath2.c:233,1
    - Dst: gx_curve_is_really_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:248,1
    - Dst: gx_curve_is_really_line
      Src: /src/libspectre/ghostscript/base/gxpath2.c:250,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 93
    argCount: 3
    argNames:
    - pseg0
    - pbox
    - ppnext
    argTypes:
    - subpath*
    - gs_fixed_rect*
    - subpath**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 285
    functionName: gx_subpath_is_rectangular
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 0
    functionsReached:
    - gx_curve_is_really_line
    - gx_curve_is_really_point
    linkageType: ''
    returnType: gx_path_rectangular_type
    signature: "gx_path_rectangular_type gx_subpath_is_rectangular(const subpath *
      pseg0, gs_fixed_rect * pbox,\n                          const subpath ** ppnext)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_subpath_count
      Src: /src/libspectre/ghostscript/base/gxpath2.c:293,1
    - Dst: gx_subpath_is_rectangular
      Src: /src/libspectre/ghostscript/base/gxpath2.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ppath
    - pbox
    argTypes:
    - gx_path*
    - gs_fixed_rect*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 296
    functionName: gx_path_is_rectangular
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 3
    functionsReached:
    - gx_path_subpath_count
    - gx_subpath_is_rectangular
    linkageType: ''
    returnType: gx_path_rectangular_type
    signature: gx_path_rectangular_type gx_path_is_rectangular(const gx_path * ppath,
      gs_fixed_rect * pbox)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:308,1
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:309,1
    - Dst: path_position_valid
      Src: /src/libspectre/ghostscript/base/gxpath2.c:311,1
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:312,1
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:319,1
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:320,1
    - Dst: update_xy
      Src: /src/libspectre/ghostscript/base/gxpath2.c:324,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - ppath
    - dx
    - dy
    argTypes:
    - gx_path*
    - fixed
    - fixed
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 328
    functionName: gx_path_translate
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 2
    functionsReached:
    - update_xy
    - path_position_valid
    linkageType: ''
    returnType: int
    signature: int gx_path_translate(gx_path * ppath, fixed dx, fixed dy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 307
    functionName: update_xy
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: update_xy(pt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxpath2.c:341,1
    - Dst: int2fixed
      Src: /src/libspectre/ghostscript/base/gxpath2.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - pt
    - sx
    - sy
    argTypes:
    - gs_fixed_point*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 359
    functionName: gx_point_scale_exp2
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 0
    functionsReached:
    - int2fixed
    linkageType: ''
    returnType: void
    signature: void gx_point_scale_exp2(gs_fixed_point * pt, int sx, int sy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_point_scale_exp2
      Src: /src/libspectre/ghostscript/base/gxpath2.c:363,1
    - Dst: gx_point_scale_exp2
      Src: /src/libspectre/ghostscript/base/gxpath2.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pr
    - sx
    - sy
    argTypes:
    - gs_fixed_rect*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 360
    functionDepth: 2
    functionLinenumber: 360
    functionLinenumberEnd: 365
    functionName: gx_rect_scale_exp2
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached:
    - gx_point_scale_exp2
    linkageType: ''
    returnType: void
    signature: void gx_rect_scale_exp2(gs_fixed_rect * pr, int sx, int sy)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gx_rect_scale_exp2
      Src: /src/libspectre/ghostscript/base/gxpath2.c:372,1
    - Dst: SCALE_XY
      Src: /src/libspectre/ghostscript/base/gxpath2.c:374,1
    - Dst: SCALE_XY
      Src: /src/libspectre/ghostscript/base/gxpath2.c:381,1
    - Dst: SCALE_XY
      Src: /src/libspectre/ghostscript/base/gxpath2.c:382,1
    - Dst: SCALE_XY
      Src: /src/libspectre/ghostscript/base/gxpath2.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - ppath
    - log2_scale_x
    - log2_scale_y
    - segments_shared
    argTypes:
    - gx_path*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 390
    functionName: gx_path_scale_exp2_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 2
    functionsReached:
    - SCALE_XY
    - gx_rect_scale_exp2
    linkageType: ''
    returnType: int
    signature: "int gx_path_scale_exp2_shared(gx_path * ppath, int log2_scale_x, int
      log2_scale_y,\n                          bool segments_shared)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pt
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 374
    functionName: SCALE_XY
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE_XY(pt)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpath2.c:409,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpath2.c:410,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:423,1
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:446,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:459,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:466,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:470,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:475,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:479,1
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpath2.c:491,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:493,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpath2.c:500,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpath2.c:501,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - ppath_old
    - ppath
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 504
    functionName: gx_path_copy_reversed
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached:
    - gx_path_add_curve_notes
    - gs_debug_c
    - gx_dump_path
    - path_last_is_moveto
    - gx_path_close_subpath_notes
    - gx_path_add_gap_notes
    - gx_path_add_point
    - gx_path_add_line_notes
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_path_copy_reversed(const gx_path * ppath_old, gx_path * ppath)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpath2.c:512,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpath2.c:513,1
    - Dst: gx_path_add_line
      Src: /src/libspectre/ghostscript/base/gxpath2.c:526,1
    - Dst: gx_path_close_subpath_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:549,1
    - Dst: gx_path_add_curve_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:562,1
    - Dst: gx_path_add_line_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:569,1
    - Dst: gx_path_add_gap_notes
      Src: /src/libspectre/ghostscript/base/gxpath2.c:573,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:578,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:582,1
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpath2.c:594,1
    - Dst: gx_path_add_point
      Src: /src/libspectre/ghostscript/base/gxpath2.c:596,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/base/gxpath2.c:603,1
    - Dst: gx_dump_path
      Src: /src/libspectre/ghostscript/base/gxpath2.c:604,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 55
    argCount: 2
    argNames:
    - ppath_old
    - ppath
    argTypes:
    - gx_path*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 506
    functionDepth: 2
    functionLinenumber: 506
    functionLinenumberEnd: 607
    functionName: gx_path_append_reversed
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached:
    - gx_path_add_curve_notes
    - gs_debug_c
    - gx_dump_path
    - path_last_is_moveto
    - gx_path_add_line
    - gx_path_close_subpath_notes
    - gx_path_add_gap_notes
    - gx_path_add_point
    - gx_path_add_line_notes
    - return_error
    linkageType: ''
    returnType: int
    signature: int gx_path_append_reversed(const gx_path * ppath_old, gx_path * ppath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/base/gxpath2.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - cname
    argTypes:
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 616
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 616
    functionName: gs_path_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_path_enum
    signature: 'gs_path_enum *

      gs_path_enum_alloc(gs_memory_t * mem, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - penum
    - ppath
    argTypes:
    - gs_path_enum*
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 619
    functionDepth: 0
    functionLinenumber: 619
    functionLinenumberEnd: 629
    functionName: gx_path_enum_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gx_path_enum_init(gs_path_enum * penum, const gx_path * ppath)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpath2.c:643,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/base/gxpath2.c:674,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/base/gxpath2.c:675,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - penum
    - ppts
    argTypes:
    - gs_path_enum*
    - gs_fixed_point[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 677
    functionName: gx_path_enum_next
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 8
    functionsReached:
    - path_last_is_moveto
    - return_error
    - lprintf1
    linkageType: ''
    returnType: int
    signature: int gx_path_enum_next(gs_path_enum * penum, gs_fixed_point ppts[3])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_path_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 684
    functionName: gx_path_enum_notes
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: segment_notes
    signature: segment_notes gx_path_enum_notes(const gs_path_enum * penum)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: path_last_is_moveto
      Src: /src/libspectre/ghostscript/base/gxpath2.c:706,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - penum
    argTypes:
    - gs_path_enum*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 719
    functionName: gx_path_enum_backup
    functionSourceFile: /src/libspectre/ghostscript/base/gxpath2.c
    functionUses: 1
    functionsReached:
    - path_last_is_moveto
    linkageType: ''
    returnType: bool
    signature: bool gx_path_enum_backup(gs_path_enum * penum)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: private_st_clip_rect_list
    functionSourceFile: /src/libspectre/ghostscript/base/gzcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_clip_rect_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: private_st_cpath_path_list
    functionSourceFile: /src/libspectre/ghostscript/base/gzcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_cpath_path_list()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: public_st_clip_path
    functionSourceFile: /src/libspectre/ghostscript/base/gzcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_clip_path()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pcpath
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    functionName: gx_cpath_is_shared
    functionSourceFile: /src/libspectre/ghostscript/base/gzcpath.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gx_cpath_is_shared(pcpath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: private_st_line_params
    functionSourceFile: /src/libspectre/ghostscript/base/gzline.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_line_params()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfont_hdr
    - sym_code
    argTypes:
    - FSP
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: stub_PCLEO_charptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 stub_PCLEO_charptr(FSP LPUB8 pfont_hdr, UW16 sym_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - UW16
    argTypes:
    - FSP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: stub_PCLchId2ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 stub_PCLchId2ptr(FSP UW16 chId)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glyphID
    argTypes:
    - FSP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 72
    functionName: stub_PCLglyphID2Ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 stub_PCLglyphID2Ptr(FSP UW16 glyphID)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_PCLEO_charptr
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfont_hdr
    - sym_code
    argTypes:
    - FSP
    - UW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 101
    functionName: PCLEO_charptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - m_PCLEO_charptr
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 PCLEO_charptr(FSP LPUB8 pfont_hdr, UW16 sym_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_PCLchId2ptr
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - UW16
    argTypes:
    - FSP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: PCLchId2ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - m_PCLchId2ptr
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 PCLchId2ptr(FSP UW16 chId)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: m_PCLglyphID2Ptr
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - glyphID
    argTypes:
    - FSP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: PCLglyphID2Ptr
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - m_PCLglyphID2Ptr
    linkageType: ''
    returnType: LPUB8
    signature: LPUB8 PCLglyphID2Ptr(FSP UW16 glyphID)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 116
    functionDepth: 2
    functionLinenumber: 116
    functionLinenumberEnd: 123
    functionName: FAPIU_fopen
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfopen
    linkageType: ''
    returnType: void
    signature: 'void *

      FAPIU_fopen(char *path, char *mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ptr
    - size
    - count
    - s
    argTypes:
    - void*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 129
    functionName: FAPIU_fread
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfread
    linkageType: ''
    returnType: int
    signature: int FAPIU_fread(void *ptr, int size, int count, void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfgetc
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 135
    functionName: FAPIU_fgetc
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfgetc
    linkageType: ''
    returnType: int
    signature: int FAPIU_fgetc(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - offset
    - whence
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: FAPIU_fseek
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfseek
    linkageType: ''
    returnType: int
    signature: int FAPIU_fseek(void *s, int offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: srewind
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 147
    functionName: FAPIU_frewind
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - srewind
    linkageType: ''
    returnType: int
    signature: int FAPIU_frewind(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 153
    functionName: FAPIU_ftell
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sftell
    linkageType: ''
    returnType: int
    signature: int FAPIU_ftell(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfeof
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: FAPIU_feof
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfeof
    linkageType: ''
    returnType: int
    signature: int FAPIU_feof(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sferror
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 165
    functionName: FAPIU_ferror
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sferror
    linkageType: ''
    returnType: int
    signature: int FAPIU_ferror(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: FAPIU_fclose
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfclose
    linkageType: ''
    returnType: int
    signature: int FAPIU_fclose(void *s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sfopen
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:182,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - path
    - mode
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 187
    functionName: FAPIU_open
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfopen
    linkageType: ''
    returnType: void
    signature: 'void *

      FAPIU_open(char *path, int mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfread
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - s
    - ptr
    - count
    argTypes:
    - void*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 193
    functionName: FAPIU_read
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfread
    linkageType: ''
    returnType: int
    signature: int FAPIU_read(void *s, void *ptr, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:198,1
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:201,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - offset
    - whence
    argTypes:
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: FAPIU_lseek
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sftell
    - sfseek
    linkageType: ''
    returnType: int
    signature: int FAPIU_lseek(void *s, int offset, int whence)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sfseek
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:209,1
    - Dst: sftell
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - s
    - offset
    - whence
    argTypes:
    - stream*
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 215
    functionName: fapi_ufseek
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sftell
    - sfseek
    linkageType: ''
    returnType: int
    signature: int fapi_ufseek(stream * s, long offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sfclose
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: FAPIU_close
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - sfclose
    linkageType: ''
    returnType: int
    signature: int FAPIU_close(void *s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: MEMinit
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GLOBAL
    signature: GLOBAL MEMinit(FSP0)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:265,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - UW16
    - size
    argTypes:
    - FSP
    - SL32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 292
    functionName: MEMalloc
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - gs_malloc
    linkageType: ''
    returnType: GLOBAL
    signature: GLOBAL MEMalloc(FSP UW16 pool, SL32 size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:321,1
    - Dst: dprintf
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:327,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:331,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:332,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - UW16
    - ptr0
    argTypes:
    - FSP
    - MEM_HANDLE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 333
    functionName: MEMfree
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - gs_free
    - memset
    - dprintf
    linkageType: ''
    returnType: GLOBAL
    signature: GLOBAL MEMfree(FSP UW16 pool, MEM_HANDLE ptr0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 358
    functionName: gx_set_UFST_Callbacks
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gx_set_UFST_Callbacks(LPUB8(*p_PCLEO_charptr)\n                      (FSP
      LPUB8 pfont_hdr, UW16 sym_code),\n                      LPUB8(*p_PCLchId2ptr)
      (FSP UW16 chId),\n                      LPUB8(*p_PCLglyphID2Ptr) (FSP UW16 glyphID))"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:379,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:380,1
    - Dst: CGIFinit
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:388,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:389,1
    - Dst: CGIFconfig
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:393,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:394,1
    - Dst: CGIFenter
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:399,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:400,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - mem
    - ufst_root_dir
    argTypes:
    - gs_memory_t*
    - UB8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 408
    functionName: gx_UFST_init
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - CGIFenter
    - CGIFinit
    - strcpy
    - dmprintf1
    - CGIFconfig
    linkageType: ''
    returnType: int
    signature: int gx_UFST_init(gs_memory_t * mem, const UB8 * ufst_root_dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CGIFexit
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 419
    functionName: gx_UFST_fini
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - CGIFexit
    linkageType: ''
    returnType: int
    signature: int gx_UFST_fini(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:430,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - font_file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: gx_UFST_find_static_fco
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 2
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: fco_list_elem
    signature: 'fco_list_elem *

      gx_UFST_find_static_fco(const char *font_file_path)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fcHandle
    argTypes:
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 447
    functionName: gx_UFST_find_static_fco_handle
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: fco_list_elem
    signature: 'fco_list_elem *

      gx_UFST_find_static_fco_handle(SW16 fcHandle)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_UFST_find_static_fco
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - font_file_path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 459
    functionName: gx_UFST_find_fco_handle_by_name
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - gx_UFST_find_static_fco
    linkageType: ''
    returnType: SW16
    signature: SW16 gx_UFST_find_fco_handle_by_name(const char *font_file_path)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CGIFfco_Open
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:471,1
    - Dst: FSA
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:471,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - font_file_path
    - result_fcHandle
    argTypes:
    - char*
    - SW16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 487
    functionName: gx_UFST_open_static_fco
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 1
    functionsReached:
    - FSA
    - CGIFfco_Open
    - strncpy
    linkageType: ''
    returnType: UW16
    signature: UW16 gx_UFST_open_static_fco(const char *font_file_path, SW16 * result_fcHandle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:503,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - fcHandle
    argTypes:
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 508
    functionName: gx_UFST_close_static_fco
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: UW16
    signature: UW16 gx_UFST_close_static_fco(SW16 fcHandle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gx_UFST_close_static_fco
      Src: /src/libspectre/ghostscript/base/gxfapiu.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 510
    functionDepth: 1
    functionLinenumber: 510
    functionLinenumberEnd: 517
    functionName: gx_UFST_close_static_fcos
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached:
    - gx_UFST_close_static_fco
    linkageType: ''
    returnType: void
    signature: void gx_UFST_close_static_fcos()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - SW16
    - y
    argTypes:
    - FSP
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 525
    functionDepth: 0
    functionLinenumber: 525
    functionLinenumberEnd: 529
    functionName: BLACKPIX
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GLOBAL
    signature: GLOBAL BLACKPIX(FSP SW16 x, SW16 y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - SW16
    - y
    - v
    argTypes:
    - FSP
    - SW16
    - SW16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 536
    functionDepth: 0
    functionLinenumber: 536
    functionLinenumberEnd: 540
    functionName: GRAYPIX
    functionSourceFile: /src/libspectre/ghostscript/base/gxfapiu.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: GLOBAL
    signature: GLOBAL GRAYPIX(FSP SW16 x, SW16 y, SW16 v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - fname
    - binary_mode
    argTypes:
    - gs_memory_t*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 33
    functionName: gp_open_printer_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs2.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_printer_impl(gs_memory_t *mem,\n                     const
      char  *fname,\n                     int         *binary_mode,\n                     int
      \         (**close)(FILE *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - prefix
    - fname
    - mode
    - remove
    argTypes:
    - gs_memory_t*
    - char*
    - char*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 43
    functionName: gp_open_scratch_file_impl
    functionSourceFile: /src/libspectre/ghostscript/base/gp_winfs2.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: FILE
    signature: "FILE *\ngp_open_scratch_file_impl(const gs_memory_t *mem,\n                          const
      char        *prefix,\n                                char        *fname,\n
      \                         const char        *mode,\n                                int
      \         remove)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:79,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:84,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:87,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:88,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:91,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:92,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:96,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:100,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:104,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:111,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:119,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:123,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:124,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:130,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:131,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:135,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:138,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:140,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:145,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:147,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:153,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:154,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:155,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:160,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:163,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/ascii_tag.c:171,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 173
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/ascii_tag.c
    functionUses: 15
    functionsReached:
    - TIFFGetField
    - TIFFSetField
    - strcmp
    - TIFFClose
    - unlink
    - fprintf
    - memcmp
    - TIFFWriteScanline
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:75,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:79,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:80,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:84,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:87,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:88,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:91,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:92,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:96,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:100,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:104,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:109,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:110,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:115,1
    - Dst: TIFFCreateEXIFDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:123,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:127,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:128,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:133,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:142,1
    - Dst: TIFFCreateCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:144,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:148,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:149,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:153,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:154,1
    - Dst: TIFFWriteCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:159,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:166,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:167,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:168,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:170,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:173,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:175,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:177,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:184,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:188,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:189,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:193,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:194,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:198,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:199,1
    - Dst: TIFFReadCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:206,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:210,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:211,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:215,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:216,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:220,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:221,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:225,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:226,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:230,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:233,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/custom_dir.c:241,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 152
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 243
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/custom_dir.c
    functionUses: 15
    functionsReached:
    - TIFFCreateCustomDirectory
    - TIFFSetDirectory
    - TIFFSetField
    - TIFFGetField
    - TIFFFreeDirectory
    - strcmp
    - TIFFCreateEXIFDirectory
    - TIFFClose
    - TIFFReadCustomDirectory
    - unlink
    - fprintf
    - TIFFReadEXIFDirectory
    - TIFFWriteDirectory
    - TIFFWriteScanline
    - TIFFWriteCustomDirectory
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: create_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:77,1
    - Dst: read_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:80,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:84,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:87,1
    - Dst: create_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:93,1
    - Dst: read_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:96,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:100,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:103,1
    - Dst: create_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:119,1
    - Dst: read_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:126,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:129,1
    - Dst: create_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:136,1
    - Dst: read_image_striped
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:143,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:146,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/strip_rw.c:151,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 153
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip_rw.c
    functionUses: 15
    functionsReached:
    - fprintf
    - read_image_striped
    - create_image_striped
    - unlink
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:67,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:69,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:73,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:74,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:77,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:78,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:81,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:82,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:86,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:89,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:90,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:93,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:94,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:98,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:105,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:113,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:117,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:120,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:122,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:126,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:129,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:132,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:136,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:141,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:144,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:149,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/long_tag.c:150,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 83
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/long_tag.c
    functionUses: 15
    functionsReached:
    - TIFFSetField
    - TIFFClose
    - unlink
    - fprintf
    - CheckLongField
    - TIFFWriteScanline
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:53,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:56,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:59,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:60,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:61,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:62,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:63,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:64,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:65,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:66,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:67,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:68,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:69,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:70,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:74,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:75,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:76,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:77,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:81,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:82,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:83,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:88,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:89,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:93,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:94,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:100,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:102,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:111,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:112,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:126,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:127,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:128,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:132,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:134,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:135,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:146,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:147,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:148,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:150,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:151,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:152,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:154,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:155,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:157,1
    - Dst: TIFFReadFromUserBuffer
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:158,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:161,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:165,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:167,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:168,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:184,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:185,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:188,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:190,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:191,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:202,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:203,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:204,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:206,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:207,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:208,1
    - Dst: fseek
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:210,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:211,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:213,1
    - Dst: TIFFReadFromUserBuffer
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:214,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:220,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:222,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:223,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:236,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:237,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:238,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:240,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:241,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:242,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:249,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:250,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:251,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:253,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:254,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:255,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:261,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:263,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:264,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:265,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:267,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:268,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:271,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:275,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:278,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:279,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:281,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:285,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:287,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:289,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 153
    argCount: 3
    argNames:
    - classictif
    - height
    - tiled
    argTypes:
    - int
    - int
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 1)
      pos:
        line_end: 250
        line_start: 250
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 256)
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (offsets[1] == offsets[0] + 1)
      pos:
        line_end: 277
        line_start: 277
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (offsets)
      pos:
        line_end: 263
        line_start: 263
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (bytecounts)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (size == 1)
      pos:
        line_end: 206
        line_start: 206
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (size == 256)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (offsets[height - 1] == offsets[0] + height - 1)
      pos:
        line_end: 278
        line_start: 278
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 1)
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 241
        line_start: 241
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: ( ret )
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (offset != 0)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 262
        line_start: 262
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 266
        line_start: 266
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 207
        line_start: 207
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (offset != 0)
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 253
        line_start: 253
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 237
        line_start: 237
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (bytecounts[height - 1] == 1)
      pos:
        line_end: 280
        line_start: 280
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: ( ret )
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (bytecounts[0] == 256)
      pos:
        line_end: 270
        line_start: 270
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 256)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret == 0)
      pos:
        line_end: 249
        line_start: 249
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (ret)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 0)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (err == 1)
      pos:
        line_end: 254
        line_start: 254
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    - condition: (bytecounts[0] == 1)
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    constantsTouched: []
    func_position:
      end: 291
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 291
    functionName: test
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    functionUses: 20
    functionsReached:
    - TIFFGetStrileOffsetWithErr
    - fprintf
    - fseek
    - fclose
    - TIFFGetField
    - TIFFReadEncodedStrip
    - TIFFClose
    - assert
    - memset
    - TIFFWriteEncodedTile
    - TIFFSetField
    - fread
    - TIFFReadEncodedTile
    - unlink
    - fopen
    - TIFFWriteEncodedStrip
    - TIFFReadFromUserBuffer
    - TIFFGetStrileByteCountWithErr
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int test(int classictif, int height, int tiled)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:302,1
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:304,1
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 311
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/defer_strile_loading.c
    functionUses: 15
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - t
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: CHECK_TYPE
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/testtypes.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_TYPE(t, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:45,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:46,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:47,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:48,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:49,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:50,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:51,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:52,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:53,1
    - Dst: CHECK_TYPE
      Src: /src/libspectre/ghostscript/tiff/test/testtypes.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 56
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/testtypes.c
    functionUses: 15
    functionsReached:
    - CHECK_TYPE
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:57,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:60,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:64,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:65,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:68,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:69,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:72,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:73,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:77,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:80,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:81,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:84,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:85,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:88,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:89,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:95,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:97,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:102,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:106,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:109,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:118,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:122,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:124,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:130,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 68
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 135
    functionName: test_packbits
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFSetField
    - TIFFClose
    - unlink
    - fprintf
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int test_packbits()
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:151,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:152,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:156,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:161,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:162,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:166,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:167,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:170,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:171,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:174,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:175,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:178,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:179,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:182,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:183,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:186,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:187,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:191,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:197,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:199,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:204,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:209,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:210,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:214,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:216,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:220,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:222,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:226,1
    - Dst: _TIFFRewriteField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:230,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:233,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:237,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:239,1
    - Dst: _TIFFRewriteField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:243,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:246,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:250,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:252,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:256,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:258,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:259,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:263,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:265,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:275,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:286,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:288,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:298,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:309,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:310,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:313,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:318,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:319,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 128
    argCount: 5
    argNames:
    - filename
    - width
    - length
    - bigtiff
    - base_value
    argTypes:
    - char*
    - uint32
    - int
    - int
    - uint64
    assertStmts:
    - condition: (buf)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c
    constantsTouched: []
    func_position:
      end: 324
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 324
    functionName: rewrite_test
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFSetField
    - TIFFClose
    - unlink
    - assert
    - free
    - fprintf
    - _TIFFmalloc
    - TIFFWriteScanline
    - calloc
    - _TIFFRewriteField
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: "int rewrite_test( const char *filename, uint32 width, int length,
      int bigtiff, \n                  uint64 base_value )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: test_packbits
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:334,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:337,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:338,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:341,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:342,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:345,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:346,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:349,1
    - Dst: rewrite_test
      Src: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 353
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/rewrite_tag.c
    functionUses: 15
    functionsReached:
    - rewrite_test
    - test_packbits
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:41,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:43,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:47,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:58,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:60,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - tif
    - array
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 67
    functionName: write_strips
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip.c
    functionUses: 0
    functionsReached:
    - TIFFStripSize
    - TIFFWriteEncodedStrip
    - fprintf
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int write_strips(TIFF *tif, const tdata_t array, const tsize_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:78,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:82,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:84,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:88,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:99,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:100,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:104,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:105,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:107,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:112,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 3
    argNames:
    - tif
    - array
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 115
    functionName: read_strips
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip.c
    functionUses: 0
    functionsReached:
    - TIFFReadEncodedStrip
    - fprintf
    - _TIFFmalloc
    - memcmp
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int read_strips(TIFF *tif, const tdata_t array, const tsize_t size)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:127,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:132,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:135,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:136,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:139,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:140,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:144,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:148,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:151,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:152,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:156,1
    - Dst: write_strips
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:160,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:161,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:165,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:171,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 54
    argCount: 12
    argNames:
    - name
    - width
    - length
    - rowsperstrip
    - compression
    - spp
    - bps
    - photometric
    - sampleformat
    - planarconfig
    - array
    - size
    argTypes:
    - char*
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - uint16
    - uint16
    - uint16
    - uint16
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 179
    functionName: create_image_striped
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    - write_strips
    - TIFFClose
    - fprintf
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: "int create_image_striped(const char *name, uint32 width, uint32 length,\n\t\t
      \     uint32 rowsperstrip, uint16 compression,\n\t\t      uint16 spp, uint16
      bps, uint16 photometric,\n\t\t      uint16 sampleformat, uint16 planarconfig,\n\t\t
      \     const tdata_t array, const tsize_t size)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:193,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:197,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:198,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:202,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:204,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:209,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:212,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:214,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:219,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:224,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:227,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:229,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:232,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:234,1
    - Dst: read_strips
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:238,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:239,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:243,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:247,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:249,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 59
    argCount: 12
    argNames:
    - name
    - width
    - length
    - rowsperstrip
    - compression
    - spp
    - bps
    - photometric
    - sampleformat
    - planarconfig
    - array
    - size
    argTypes:
    - char*
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - uint16
    - uint16
    - uint16
    - uint16
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 257
    functionName: read_image_striped
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - read_strips
    - TIFFClose
    - TIFFIsTiled
    - fprintf
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: "int read_image_striped(const char *name, uint32 width, uint32 length,\n\t\t
      \   uint32 rowsperstrip, uint16 compression,\n\t\t    uint16 spp, uint16 bps,
      uint16 photometric,\n\t\t    uint16 sampleformat, uint16 planarconfig,\n\t\t
      \   const tdata_t array, const tsize_t size)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:266,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:267,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:271,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:273,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:278,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/strip.c:279,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - array
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 286
    functionName: write_scanlines
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/strip.c
    functionUses: 3
    functionsReached:
    - fprintf
    - TIFFScanlineSize
    - TIFFGetField
    - TIFFWriteScanline
    linkageType: ''
    returnType: int
    signature: int write_scanlines(TIFF *tif, const tdata_t array, const tsize_t size)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:86,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:88,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:92,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:93,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:96,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:97,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:100,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:101,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:104,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:105,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:109,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:113,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:116,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:117,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:124,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:131,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:134,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:141,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:142,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:146,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:149,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:151,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:155,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:158,1
    - Dst: CheckShortField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:161,1
    - Dst: CheckShortField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:164,1
    - Dst: CheckShortField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:167,1
    - Dst: CheckLongField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:170,1
    - Dst: CheckShortField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:173,1
    - Dst: CheckShortField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:177,1
    - Dst: CheckShortPairedField
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:183,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:188,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:191,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/short_tag.c:199,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 104
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 201
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/short_tag.c
    functionUses: 15
    functionsReached:
    - TIFFSetField
    - CheckShortField
    - TIFFClose
    - unlink
    - fprintf
    - CheckLongField
    - CheckShortPairedField
    - TIFFWriteScanline
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:50,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:53,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:56,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:57,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:58,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:59,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:60,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:61,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:62,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:63,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:64,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:65,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:66,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:67,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:71,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:72,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:73,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:74,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:78,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:79,1
    - Dst: TIFFDeferStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:82,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:83,1
    - Dst: TIFFWriteCheck
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:85,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:86,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:88,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:89,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:92,1
    - Dst: TIFFCreateDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:93,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:95,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:96,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:97,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:98,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:99,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:100,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:101,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:102,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:103,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:104,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:105,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:106,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:107,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:108,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:109,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:110,1
    - Dst: TIFFDeferStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:112,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:113,1
    - Dst: TIFFWriteCheck
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:115,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:116,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:118,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:119,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:122,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:123,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:125,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:126,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:128,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:129,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:131,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:132,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:135,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:136,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:144,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:145,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:146,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:154,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:155,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:162,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:167,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:180,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:181,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:182,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:186,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:188,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:204,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:208,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:210,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:217,1
    - Dst: unlink
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:219,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 117
    argCount: 3
    argNames:
    - mode
    - tiled
    - height
    argTypes:
    - char*
    - int
    - int
    assertStmts:
    - condition: (ret)
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: ( ret )
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret == 256)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret == 1)
      pos:
        line_end: 204
        line_start: 204
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: ( ret )
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret == 256)
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret == 1)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    - condition: (ret)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    constantsTouched: []
    func_position:
      end: 221
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 221
    functionName: test
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    functionUses: 22
    functionsReached:
    - TIFFWriteCheck
    - TIFFWriteEncodedStrip
    - TIFFCreateDirectory
    - TIFFSetDirectory
    - TIFFSetField
    - TIFFFreeDirectory
    - TIFFReadEncodedTile
    - TIFFReadEncodedStrip
    - TIFFClose
    - unlink
    - assert
    - fprintf
    - TIFFDeferStrileArrayWriting
    - TIFFWriteDirectory
    - TIFFForceStrileArrayWriting
    - memset
    - TIFFWriteEncodedTile
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int test(const char* mode, int tiled, int height)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:229,1
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:231,1
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:233,1
    - Dst: test
      Src: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c:235,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 239
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/defer_strile_writing.c
    functionUses: 15
    functionsReached:
    - test
    linkageType: ''
    returnType: int
    signature: int main()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:82,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:86,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:87,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cluster
    - buffer
    - expected_cluster
    argTypes:
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 100
    functionName: check_cluster
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - fprintf
    - memcmp
    linkageType: ''
    returnType: int
    signature: int check_cluster( int cluster, unsigned char *buffer, unsigned char
      *expected_cluster )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:116,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 8
    argNames:
    - pixel
    - min_red
    - max_red
    - min_green
    - max_green
    - min_blue
    - max_blue
    - buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: check_rgb_pixel
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int check_rgb_pixel( int pixel,\n\t\t\t    int min_red, int max_red,\n\t\t\t
      \   int min_green, int max_green,\n\t\t\t    int min_blue, int max_blue,\n\t\t\t
      \   unsigned char *buffer )"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:133,1
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:134,1
    - Dst: TIFFGetG
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:135,1
    - Dst: TIFFGetG
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:136,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:137,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:138,1
    - Dst: TIFFGetA
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:139,1
    - Dst: TIFFGetA
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:140,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:144,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:145,1
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:146,1
    - Dst: TIFFGetG
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:147,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:148,1
    - Dst: TIFFGetA
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:149,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 7
    argCount: 10
    argNames:
    - pixel
    - min_red
    - max_red
    - min_green
    - max_green
    - min_blue
    - max_blue
    - min_alpha
    - max_alpha
    - buffer
    argTypes:
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 151
    functionName: check_rgba_pixel
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/raw_decode.c
    functionUses: 0
    functionsReached:
    - TIFFGetG
    - TIFFGetB
    - TIFFGetA
    - fprintf
    - TIFFGetR
    linkageType: ''
    returnType: int
    signature: "int check_rgba_pixel( int pixel,\n\t\t\t     int min_red, int max_red,\n\t\t\t
      \    int min_green, int max_green,\n\t\t\t     int min_blue, int max_blue,\n\t\t\t
      \    int min_alpha, int max_alpha,\n\t\t\t     uint32 *buffer )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:170,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:173,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:173,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:174,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:175,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:177,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:178,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:179,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:181,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:183,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:184,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:187,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:189,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:190,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:196,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:198,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:199,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:202,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:209,1
    - Dst: check_cluster
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:215,1
    - Dst: check_cluster
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:216,1
    - Dst: check_cluster
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:217,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:218,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:220,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:225,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:227,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:229,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:230,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:233,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:235,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:237,1
    - Dst: check_rgb_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:251,1
    - Dst: check_rgb_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:252,1
    - Dst: check_rgb_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:253,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:255,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:257,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:262,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:265,1
    - Dst: TIFFReadRGBATile
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:267,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:268,1
    - Dst: check_rgba_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:278,1
    - Dst: check_rgba_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:280,1
    - Dst: check_rgba_pixel
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:282,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:285,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:286,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:289,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/test/raw_decode.c:292,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 153
    functionDepth: 5
    functionLinenumber: 153
    functionLinenumberEnd: 293
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/raw_decode.c
    functionUses: 15
    functionsReached:
    - strcat
    - TIFFGetField
    - check_cluster
    - TIFFSetField
    - TIFFReadEncodedTile
    - check_rgba_pixel
    - TIFFTileSize
    - check_rgb_pixel
    - strlen
    - TIFFClose
    - strcpy
    - malloc
    - TIFFReadRGBATile
    - free
    - fprintf
    - getenv
    - exit
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:37,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:38,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:43,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - value
    argTypes:
    - TIFF*
    - ttag_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 49
    functionName: CheckShortField
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/check_tag.c
    functionUses: 1
    functionsReached:
    - fprintf
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CheckShortField(TIFF *tif, const ttag_t field, const uint16 value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:56,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:57,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:62,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - values
    argTypes:
    - TIFF*
    - ttag_t
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: CheckShortPairedField
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/check_tag.c
    functionUses: 1
    functionsReached:
    - fprintf
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CheckShortPairedField(TIFF *tif, const ttag_t field, const uint16
      *values)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:75,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/test/check_tag.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - field
    - value
    argTypes:
    - TIFF*
    - ttag_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 87
    functionName: CheckLongField
    functionSourceFile: /src/libspectre/ghostscript/tiff/test/check_tag.c
    functionUses: 2
    functionsReached:
    - fprintf
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CheckLongField(TIFF *tif, const ttag_t field, const uint32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: PrivateErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PrivateErrorHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:78,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:83,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:95,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:97,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:100,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:106,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:126,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:130,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:132,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:137,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:138,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:141,1
    - Dst: tiffinfo
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:142,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:144,1
    - Dst: tiffinfo
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:145,1
    - Dst: tiffinfo
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:150,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:151,1
    - Dst: TIFFReadEXIFDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:153,1
    - Dst: tiffinfo
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:154,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:157,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:159,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 163
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 15
    functionsReached:
    - usage
    - strtoul
    - TIFFSetDirectory
    - TIFFGetField
    - TIFFReadDirectory
    - getopt
    - printf
    - TIFFClose
    - streq
    - tiffinfo
    - TIFFSetErrorHandler
    - TIFFSetSubDirectory
    - TIFFReadEXIFDirectory
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:190,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:191,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:191,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:193,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 195
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 38
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:202,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:205,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:207,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:209,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - strip
    - pp
    - nrow
    - scanline
    argTypes:
    - tstrip_t
    - unsigned char*
    - uint32
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 211
    functionName: ShowStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void ShowStrip(tstrip_t strip, unsigned char* pp, uint32 nrow, tsize_t
      scanline)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:217,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:219,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:219,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:224,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:225,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:229,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:230,1
    - Dst: ShowStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:234,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 238
    functionName: TIFFReadContigStripData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFComputeStrip
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - _TIFFmalloc
    - ShowStrip
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFReadContigStripData(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:244,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:246,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:246,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:252,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:253,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:254,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:259,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:260,1
    - Dst: ShowStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:264,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:267,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 269
    functionName: TIFFReadSeparateStripData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFComputeStrip
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - _TIFFmalloc
    - ShowStrip
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFReadSeparateStripData(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:277,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:279,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:280,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:283,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:285,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:287,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 6
    argNames:
    - row
    - col
    - sample
    - pp
    - nrow
    - rowsize
    argTypes:
    - uint32
    - uint32
    - tsample_t
    - unsigned char*
    - uint32
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 289
    functionName: ShowTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: "void ShowTile(uint32 row, uint32 col, tsample_t sample,\n    unsigned
      char* pp, uint32 nrow, tsize_t rowsize)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:295,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:296,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:298,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:303,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:304,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:305,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:306,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:309,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:310,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:315,1
    - Dst: ShowTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:319,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:322,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 291
    functionDepth: 2
    functionLinenumber: 291
    functionLinenumberEnd: 324
    functionName: TIFFReadContigTileData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFReadTile
    - fprintf
    - _TIFFmalloc
    - ShowTile
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: void
    signature: void TIFFReadContigTileData(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:330,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:331,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:333,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:339,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:340,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:341,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:342,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:343,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:346,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:347,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:353,1
    - Dst: ShowTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:357,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:361,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 363
    functionName: TIFFReadSeparateTileData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFReadTile
    - fprintf
    - _TIFFmalloc
    - ShowTile
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: void
    signature: void TIFFReadSeparateTileData(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:370,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:371,1
    - Dst: TIFFReadContigTileData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:373,1
    - Dst: TIFFReadSeparateTileData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:375,1
    - Dst: TIFFReadContigStripData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:378,1
    - Dst: TIFFReadSeparateStripData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 382
    functionName: TIFFReadData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFReadContigTileData
    - TIFFReadContigStripData
    - TIFFIsTiled
    - TIFFReadSeparateTileData
    - TIFFReadSeparateStripData
    linkageType: ''
    returnType: void
    signature: void TIFFReadData(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:390,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:392,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - n
    argTypes:
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 395
    functionName: ShowRawBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void ShowRawBytes(unsigned char* pp, uint32 n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:403,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:405,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - pp
    - n
    argTypes:
    - uint16*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 408
    functionName: ShowRawWords
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void ShowRawWords(uint16* pp, uint32 n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:413,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:414,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:417,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:420,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:425,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:429,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:434,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:435,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:441,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:442,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:445,1
    - Dst: ShowRawWords
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:448,1
    - Dst: ShowRawBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:450,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:454,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 2
    argNames:
    - tif
    - bitrev
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 410
    functionDepth: 2
    functionLinenumber: 410
    functionLinenumberEnd: 456
    functionName: TIFFReadRawData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFReverseBits
    - _TIFFrealloc
    - printf
    - TIFFIsTiled
    - ShowRawBytes
    - ShowRawWords
    - _TIFFmalloc
    - fprintf
    - TIFFReadRawStrip
    - _TIFFfree
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void TIFFReadRawData(TIFF* tif, int bitrev)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFPrintDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:461,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:467,1
    - Dst: TIFFReadRawData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:469,1
    - Dst: TIFFReadRawData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:471,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:474,1
    - Dst: TIFFReadData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c:475,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - tif
    - order
    - flags
    - is_image
    argTypes:
    - TIFF*
    - uint16
    - long
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 458
    functionDepth: 4
    functionLinenumber: 458
    functionLinenumberEnd: 477
    functionName: tiffinfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffinfo.c
    functionUses: 1
    functionsReached:
    - TIFFPrintDirectory
    - TIFFSetField
    - TIFFReadRawData
    - TIFFGetFieldDefaulted
    - TIFFReadData
    linkageType: ''
    returnType: void
    signature: void tiffinfo(TIFF* tif, uint16 order, long flags, int is_image)
  - BBCount: 71
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:255,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:258,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:267,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:273,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:283,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:286,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:289,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:292,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:309,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:311,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:312,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:316,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:318,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:321,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:328,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:331,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:333,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:334,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:338,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:347,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:354,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:365,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:366,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:376,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:404,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:411,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:412,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:418,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:419,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:431,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:432,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:437,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:438,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:443,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:449,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:455,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:463,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:466,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:468,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:472,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:474,1
    - Dst: TIFF2PS
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:477,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:481,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:483,1
    - Dst: PSTail
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:487,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:489,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:491,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 207
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 493
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 15
    functionsReached:
    - TIFFError
    - strtoul
    - usage
    - TIFFSetDirectory
    - getopt
    - strcmp
    - TIFFClose
    - strcpy
    - atof
    - fprintf
    - TIFFSetSubDirectory
    - fopen
    - TIFF2PS
    - atoi
    - exit
    - PSTail
    - TIFFOpen
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:511,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:517,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:524,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:539,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:547,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:555,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:566,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:571,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 573
    functionName: checkImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFSetField
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int checkImage(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - npix
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: PSUNITS
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PSUNITS(npix,res)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:612,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - fd
    - w
    - h
    - bs
    - nc
    - startline
    argTypes:
    - FILE*
    - uint32
    - uint32
    - int
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 607
    functionDepth: 0
    functionLinenumber: 607
    functionLinenumberEnd: 614
    functionName: PhotoshopBanner
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PhotoshopBanner(FILE* fd, uint32 w, uint32 h, int bs, int nc,
      char* startline)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:628,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:629,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:631,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:636,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:637,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:639,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:640,1
    - Dst: PSUNITS
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:663,1
    - Dst: PSUNITS
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:665,1
    - Dst: PSUNITS
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:667,1
    - Dst: PSUNITS
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:669,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 28
    argCount: 5
    argNames:
    - tif
    - pw
    - ph
    - pprw
    - pprh
    argTypes:
    - TIFF*
    - uint32*
    - uint32*
    - double*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 670
    functionName: setupPageState
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - PSUNITS
    - TIFFGetFieldDefaulted
    - TIFFGetField
    - fabs
    linkageType: ''
    returnType: void
    signature: void setupPageState(TIFF* tif, uint32* pw, uint32* ph, double* pprw,
      double* pprh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:676,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 681
    functionName: isCCITTCompression
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF* tif)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:716,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:728,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:731,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:736,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:748,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:750,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:758,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:775,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:777,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:785,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:797,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:800,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:805,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    argCount: 8
    argNames:
    - pagewidth
    - pageheight
    - imagewidth
    - imageheight
    - ximages
    - yimages
    - rotation
    - scale
    argTypes:
    - double
    - double
    - double
    - double
    - int*
    - int*
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 823
    functionName: get_subimage_count
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - ceil
    linkageType: ''
    returnType: int
    signature: "int get_subimage_count(double pagewidth,  double pageheight,\n\t\t
      \      double imagewidth, double imageheight,\n\t\t       int *ximages, int
      *yimages,\n\t\t       int rotation, double scale)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:853,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:962,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:963,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:965,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:966,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:968,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:969,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:971,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:972,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:974,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:975,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 101
    argCount: 12
    argNames:
    - fp
    - pagewidth
    - pageheight
    - imagewidth
    - imageheight
    - row
    - column
    - left_offset
    - bott_offset
    - scale
    - center
    - rotation
    argTypes:
    - FILE*
    - double
    - double
    - double
    - double
    - int
    - int
    - double
    - double
    - double
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 980
    functionName: exportMaskedImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int exportMaskedImage(FILE *fp, double pagewidth, double pageheight,\n
      \                    double imagewidth, double imageheight,\n                      int
      row, int column,\n                      double left_offset, double bott_offset,\n
      \                    double scale, int center, int rotation)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:987,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:992,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:994,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:996,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:998,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1000,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1001,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 6
    argNames:
    - fd
    - rotation
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - int
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 1005
    functionName: psRotateImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int psRotateImage (FILE * fd, int rotation, double pswidth, double
      psheight,\n                    double left_offset, double bottom_offset)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1021,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1022,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1026,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1027,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1031,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1032,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1037,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1038,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1046,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1048,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1050,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1052,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1054,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1056,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1058,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1060,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1062,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1063,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 10
    argNames:
    - fd
    - scale
    - rotation
    - center
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - double
    - int
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1069
    functionName: psScaleImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int psScaleImage(FILE * fd, double scale, int rotation, int center,\n
      \                double reqwidth, double reqheight, double pswidth, double psheight,\n
      \                double left_offset, double bottom_offset)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1099,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1100,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1102,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1104,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1111,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1112,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1116,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1122,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1125,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1126,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1143,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1144,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1146,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1148,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1156,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1159,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1160,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1165,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1166,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1168,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1170,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1175,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1178,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 8
    argNames:
    - fd
    - rotation
    - pgwidth
    - pgheight
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    argTypes:
    - FILE*
    - int
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1181
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1181
    functionName: psPageSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    - TIFFError
    - strlen
    - fputs
    linkageType: ''
    returnType: int
    signature: "int psPageSize (FILE * fd, int rotation, double pgwidth, double pgheight,\n
      \               double reqwidth, double reqheight, double pswidth, double psheight)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: get_viewport
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1198,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1200,1
    - Dst: get_subimage_count
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1204,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1217,1
    - Dst: psPageSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1222,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1226,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1227,1
    - Dst: exportMaskedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1228,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1232,1
    - Dst: PSpage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1235,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1236,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1237,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1238,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 14
    argNames:
    - fd
    - tif
    - rotation
    - center
    - npages
    - pixwidth
    - pixheight
    - left_margin
    - bottom_margin
    - pgwidth
    - pgheight
    - pswidth
    - psheight
    - scale
    argTypes:
    - FILE*
    - TIFF*
    - int
    - int
    - int*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1243
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1243
    functionName: psMaskImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - psPageSize
    - get_viewport
    - get_subimage_count
    - fprintf
    - exportMaskedImage
    - PSpage
    linkageType: ''
    returnType: int
    signature: "int psMaskImage(FILE *fd, TIFF *tif, int rotation, int center,\n                int
      *npages, double pixwidth, double pixheight,\n               double left_margin,
      double bottom_margin,\n                double pgwidth, double pgheight,\n               double
      pswidth, double psheight, double scale)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1275,1
    - Dst: PSHead
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1305,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1393,1
    - Dst: PSHead
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1398,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 88
    argCount: 15
    argNames:
    - fd
    - npages
    - auto_rotate
    - rotation
    - scale
    - ox
    - oy
    - pgwidth
    - pgheight
    - reqwidth
    - reqheight
    - pswidth
    - psheight
    - left_offset
    - bottom_offset
    argTypes:
    - FILE*
    - int
    - int
    - int*
    - double*
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1405
    functionName: psStart
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - PSHead
    linkageType: ''
    returnType: int
    signature: "int psStart(FILE *fd, int npages, int auto_rotate, int *rotation,
      double *scale,\n            double ox, double oy, double pgwidth, double pgheight,\n
      \          double reqwidth, double reqheight, double pswidth, double psheight,\n
      \          double left_offset, double bottom_offset)"
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 7
    argNames:
    - pgwidth
    - pgheight
    - pswidth
    - psheight
    - view_width
    - view_height
    - rotation
    argTypes:
    - double
    - double
    - double
    - double
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1407
    functionDepth: 0
    functionLinenumber: 1407
    functionLinenumberEnd: 1477
    functionName: get_viewport
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int get_viewport (double pgwidth, double pgheight, double pswidth,
      double psheight,\n                  double *view_width, double *view_height,
      int rotation)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1499,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1501,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1506,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1507,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1508,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1509,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1510,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1511,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1512,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1514,1
    - Dst: isCCITTCompression
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1518,1
    - Dst: setupPageState
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1533,1
    - Dst: get_viewport
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1537,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1539,1
    - Dst: psStart
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1544,1
    - Dst: checkImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1549,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1551,1
    - Dst: psMaskImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1558,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1571,1
    - Dst: psPageSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1576,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1580,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1581,1
    - Dst: psScaleImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1582,1
    - Dst: PSpage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1586,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1587,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1588,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1589,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1596,1
    - Dst: psPageSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1601,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1605,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1606,1
    - Dst: psRotateImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1607,1
    - Dst: PSpage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1611,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1612,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1613,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1620,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1621,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 86
    argCount: 7
    argNames:
    - fd
    - tif
    - pgwidth
    - pgheight
    - lm
    - bm
    - center
    argTypes:
    - FILE*
    - TIFF*
    - double
    - double
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1486
    functionDepth: 3
    functionLinenumber: 1486
    functionLinenumberEnd: 1624
    functionName: TIFF2PS
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - psStart
    - TIFFGetField
    - psRotateImage
    - TIFFReadDirectory
    - psPageSize
    - TIFFGetFieldDefaulted
    - psMaskImage
    - psScaleImage
    - checkImage
    - get_viewport
    - TIFFScanlineSize
    - fprintf
    - PSpage
    - TIFFNumberOfStrips
    - setupPageState
    - isCCITTCompression
    linkageType: ''
    returnType: int
    signature: int TIFF2PS(FILE* fd, TIFF* tif, double pgwidth, double pgheight, double
      lm, double bm, int center)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1663,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1664,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1665,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1666,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1667,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1667,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1668,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1672,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1673,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1674,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1674,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1678,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1680,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1681,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1684,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1686,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1688,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1690,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 5
    argNames:
    - fd
    - pagewidth
    - pageheight
    - xoff
    - yoff
    argTypes:
    - FILE*
    - double
    - double
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1658
    functionDepth: 0
    functionLinenumber: 1658
    functionLinenumberEnd: 1693
    functionName: PSHead
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - ceil
    - fprintf
    - time
    - ctime
    linkageType: ''
    returnType: void
    signature: void PSHead(FILE *fd, double pagewidth, double pageheight, double xoff,
      double yoff)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1698,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1700,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - fd
    - npages
    argTypes:
    - FILE*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1702
      start: 1695
    functionDepth: 0
    functionLinenumber: 1695
    functionLinenumberEnd: 1702
    functionName: PSTail
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PSTail(FILE *fd, int npages)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1711,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 5
    argNames:
    - tif
    - n
    - r
    - g
    - b
    argTypes:
    - TIFF*
    - int
    - uint16*
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1713
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1713
    functionName: checkcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFF* tif, int n, uint16* r, uint16* g, uint16* b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1740,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1745,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1753,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1754,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1758,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1764,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1765,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1766,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1770,1
    - Dst: Ascii85Init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1772,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1773,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1776,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1779,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1780,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1781,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1783,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1784,1
    - Dst: Ascii85Flush
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1789,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1791,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1792,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 2
    argNames:
    - fd
    - tif
    argTypes:
    - FILE*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1793
    functionName: PS_Lvl2colorspace
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - Ascii85Init
    - fputs
    - checkcmap
    - Ascii85Flush
    - fprintf
    - Ascii85Put
    - CVT
    linkageType: ''
    returnType: void
    signature: void PS_Lvl2colorspace(FILE* fd, TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1763
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1763
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 69
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1808,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1809,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1810,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1813,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1814,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1815,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1816,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1823,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1826,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1827,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1830,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1831,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1839,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1840,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1842,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1843,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1850,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1853,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1859,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1861,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1862,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1863,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1874,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1875,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1877,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1880,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1881,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1883,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1884,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1890,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1902,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1908,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1913,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1915,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1917,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1924,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1931,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1939,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1947,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1950,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1953,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1955,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1957,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1967,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1971,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1972,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1973,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1977,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1979,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1981,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1986,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1987,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1990,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1993,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1995,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1998,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:1999,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2002,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2003,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2006,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2008,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2009,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2010,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2012,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2013,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2015,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2017,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2022,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2024,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2025,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2026,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2027,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2029,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2030,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2032,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2034,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2040,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2049,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2080,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2081,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2084,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2086,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2089,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2092,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2094,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2095,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2097,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2102,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2104,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2105,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2109,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2114,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2119,1
    CyclomaticComplexity: 70
    EdgeCount: 70
    ICount: 226
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2122
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 2122
    functionName: PS_Lvl2ImageDict
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFGetFieldDefaulted
    - strcpy
    - TIFFIsTiled
    - fputs
    - TIFFNumberOfTiles
    - fprintf
    - snprintf
    linkageType: ''
    returnType: int
    signature: int PS_Lvl2ImageDict(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - count
    argTypes:
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2142
      start: 2125
    functionDepth: 0
    functionLinenumber: 2125
    functionLinenumberEnd: 2142
    functionName: PS_FlipBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PS_FlipBytes(unsigned char* buf, tsize_t count)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: PS_Lvl2colorspace
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2161,1
    - Dst: PS_Lvl2ImageDict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2162,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2166,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2168,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2170,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2172,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2173,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2175,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2176,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2186,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2188,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2190,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2192,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2208,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2211,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2213,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2219,1
    - Dst: Ascii85Init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2222,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2227,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2230,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2233,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2236,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2240,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2245,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2248,1
    - Dst: TIFFIsBigEndian
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2254,1
    - Dst: PS_FlipBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2255,1
    - Dst: Ascii85EncodeBlock
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2289,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2292,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2295,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2301,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2302,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2306,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2314,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2315,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2325,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2328,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2330,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 108
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2333
      start: 2146
    functionDepth: 2
    functionLinenumber: 2146
    functionLinenumberEnd: 2333
    functionName: PS_Lvl2page
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - PS_Lvl2colorspace
    - PS_Lvl2ImageDict
    - TIFFIsBigEndian
    - TIFFIsTiled
    - fputs
    - _TIFFmalloc
    - PS_FlipBytes
    - TIFFReadRawStrip
    - TIFFReadRawTile
    - TIFFGetField
    - TIFFReadEncodedStrip
    - TIFFNumberOfTiles
    - Ascii85Put
    - TIFFError
    - TIFFReverseBits
    - TIFFReadEncodedTile
    - fwrite
    - TIFFStripSize
    - Ascii85EncodeBlock
    - Ascii85Init
    - TIFFGetFieldDefaulted
    - putc
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int PS_Lvl2page(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PS_Lvl2page
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2343,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2349,1
    - Dst: PSColorContigPreamble
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2350,1
    - Dst: PSDataColorContig
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2351,1
    - Dst: PSColorSeparatePreamble
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2353,1
    - Dst: PSDataColorSeparate
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2354,1
    - Dst: PSColorContigPreamble
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2360,1
    - Dst: PSDataColorContig
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2361,1
    - Dst: PSColorSeparatePreamble
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2363,1
    - Dst: PSDataColorSeparate
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2364,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2368,1
    - Dst: PhotoshopBanner
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2369,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2370,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2372,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2374,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2376,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2377,1
    - Dst: PSDataPalette
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2378,1
    - Dst: PhotoshopBanner
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2383,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2387,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2389,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2391,1
    - Dst: PSDataBW
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2392,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2395,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2396
      start: 2335
    functionDepth: 3
    functionLinenumber: 2335
    functionLinenumberEnd: 2396
    functionName: PSpage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached:
    - PS_Lvl2page
    - PhotoshopBanner
    - PSDataPalette
    - PSDataBW
    - PSDataColorContig
    - fprintf
    - PSDataColorSeparate
    - putc
    - PSColorContigPreamble
    - PSColorSeparatePreamble
    linkageType: ''
    returnType: void
    signature: void PSpage(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PhotoshopBanner
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2402,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2404,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2406,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2408,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - fd
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2410
      start: 2398
    functionDepth: 1
    functionLinenumber: 2398
    functionLinenumberEnd: 2410
    functionName: PSColorContigPreamble
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - fprintf
    - PhotoshopBanner
    linkageType: ''
    returnType: void
    signature: void PSColorContigPreamble(FILE* fd, uint32 w, uint32 h, int nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PhotoshopBanner
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2417,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2419,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2421,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2423,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2426,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - fd
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2428
      start: 2412
    functionDepth: 1
    functionLinenumber: 2412
    functionLinenumberEnd: 2428
    functionName: PSColorSeparatePreamble
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - fprintf
    - PhotoshopBanner
    linkageType: ''
    returnType: void
    signature: void PSColorSeparatePreamble(FILE* fd, uint32 w, uint32 h, int nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - len
    - ','
    - howmany
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2430
    functionDepth: 0
    functionLinenumber: 2430
    functionLinenumberEnd: 2435
    functionName: DOBREAK
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOBREAK(len, howmany, fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2435
    functionDepth: 0
    functionLinenumber: 2435
    functionLinenumberEnd: 2436
    functionName: PUTHEX
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTHEX(c,fd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2449,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2452,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2454,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2458,1
    - Dst: PS_FlipBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2466,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2472,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2481,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2482,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2483,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2484,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2491,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2493,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2494,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2495,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2496,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2502,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 5
    argNames:
    - fd
    - tif
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2503
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2503
    functionName: PSDataColorContig
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - PS_FlipBytes
    - DOBREAK
    - PUTHEX
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void PSDataColorContig(FILE* fd, TIFF* tif, uint32 w, uint32 h, int
      nc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2516,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2518,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2524,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2527,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2529,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2533,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 5
    argNames:
    - fd
    - tif
    - w
    - h
    - nc
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2505
    functionDepth: 1
    functionLinenumber: 2505
    functionLinenumberEnd: 2534
    functionName: PSDataColorSeparate
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFfree
    - _TIFFmalloc
    - DOBREAK
    - PUTHEX
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void PSDataColorSeparate(FILE* fd, TIFF* tif, uint32 w, uint32 h, int
      nc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - c
    - ','
    - fd
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2538
      start: 2536
    functionDepth: 0
    functionLinenumber: 2536
    functionLinenumberEnd: 2538
    functionName: PUTRGBHEX
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PUTRGBHEX(c,fd)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2550,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2551,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2558,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2562,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2564,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2567,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2571,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2572,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2573,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2578,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2581,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2584,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2587,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2588,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2591,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2592,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2593,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2594,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2597,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2598,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2599,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2600,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2601,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2602,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2603,1
    - Dst: PUTRGBHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2604,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 77
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2610
      start: 2539
    functionDepth: 1
    functionLinenumber: 2539
    functionLinenumberEnd: 2610
    functionName: PSDataPalette
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFfree
    - TIFFGetField
    - PUTRGBHEX
    - checkcmap
    - _TIFFmalloc
    - DOBREAK
    - CVT
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void PSDataPalette(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2569
    functionDepth: 0
    functionLinenumber: 2569
    functionLinenumberEnd: 2570
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2618,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2627,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2629,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2634,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2647,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2650,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2652,1
    - Dst: Ascii85Init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2659,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2661,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2662,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2664,1
    - Dst: PS_FlipBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2678,1
    - Dst: Ascii85EncodeBlock
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2691,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2694,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2697,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2705,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2713,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2719,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2720,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2729,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2736,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2739,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2740
      start: 2612
    functionDepth: 1
    functionLinenumber: 2612
    functionLinenumberEnd: 2740
    functionName: PSDataBW
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - DOBREAK
    - Ascii85Init
    - TIFFReadEncodedStrip
    - fputs
    - _TIFFmalloc
    - memset
    - PS_FlipBytes
    - fwrite
    - Ascii85EncodeBlock
    - TIFFStripSize
    - Ascii85Put
    - _TIFFfree
    - TIFFNumberOfStrips
    - PUTHEX
    linkageType: ''
    returnType: void
    signature: void PSDataBW(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2760,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2761,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2774,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2776,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2791,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2794,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2796,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2803,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2805,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2809,1
    - Dst: DOBREAK
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2812,1
    - Dst: PUTHEX
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2814,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2816,1
    - Dst: Ascii85Init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2819,1
    - Dst: Ascii85EncodeBlock
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2821,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2824,1
    - Dst: Ascii85Put
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2827,1
    - Dst: Ascii85Flush
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2828,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2832,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2836,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 4
    argNames:
    - fd
    - tif
    - w
    - h
    argTypes:
    - FILE*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2838
      start: 2742
    functionDepth: 1
    functionLinenumber: 2742
    functionLinenumberEnd: 2838
    functionName: PSRawDataBW
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - DOBREAK
    - TIFFGetField
    - TIFFReverseBits
    - Ascii85Init
    - TIFFGetFieldDefaulted
    - fputs
    - Ascii85Flush
    - _TIFFmalloc
    - Ascii85Put
    - TIFFReadRawStrip
    - fwrite
    - Ascii85EncodeBlock
    - _TIFFfree
    - PUTHEX
    linkageType: ''
    returnType: void
    signature: void PSRawDataBW(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2845
      start: 2840
    functionDepth: 0
    functionLinenumber: 2840
    functionLinenumberEnd: 2845
    functionName: Ascii85Init
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Ascii85Init(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - raw
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2847
    functionDepth: 0
    functionLinenumber: 2847
    functionLinenumberEnd: 2874
    functionName: Ascii85Encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      Ascii85Encode(unsigned char* raw)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Ascii85Encode
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2886,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2887,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2889,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2894,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - code
    - fd
    argTypes:
    - unsigned char
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2897
      start: 2876
    functionDepth: 1
    functionLinenumber: 2876
    functionLinenumberEnd: 2897
    functionName: Ascii85Put
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 4
    functionsReached:
    - Ascii85Encode
    - _TIFFmemcpy
    - putc
    linkageType: ''
    returnType: void
    signature: void Ascii85Put(unsigned char code, FILE* fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2904,1
    - Dst: Ascii85Encode
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2905,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2906,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2899
    functionDepth: 1
    functionLinenumber: 2899
    functionLinenumberEnd: 2909
    functionName: Ascii85Flush
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 2
    functionsReached:
    - Ascii85Encode
    - fputs
    - _TIFFmemset
    - fwrite
    linkageType: ''
    returnType: void
    signature: void Ascii85Flush(FILE* fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:2994,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3033,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 4
    argNames:
    - ascii85_p
    - f_eod
    - raw_p
    - raw_l
    argTypes:
    - uint8*
    - unsigned
    - uint8*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3051
      start: 2953
    functionDepth: 0
    functionLinenumber: 2953
    functionLinenumberEnd: 3051
    functionName: Ascii85EncodeBlock
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 3
    functionsReached:
    - _TIFFmemcpy
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t Ascii85EncodeBlock( uint8 * ascii85_p, unsigned f_eod, const
      uint8 * raw_p, tsize_t raw_l )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3098,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3099,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3099,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3101,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c:3102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3103
      start: 3092
    functionDepth: 1
    functionLinenumber: 3092
    functionLinenumberEnd: 3103
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2ps.c
    functionUses: 39
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:74,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:80,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:86,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:90,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:91,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:94,1
    - Dst: tiffcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:98,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:99,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:100,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:102,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:103,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:105,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:106,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:107,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:110,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:113,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:114,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 116
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 15
    functionsReached:
    - usage
    - TIFFReadDirectory
    - TIFFFileName
    - getopt
    - printf
    - TIFFClose
    - tiffcmp
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:133,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:134,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:134,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:136,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 138
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 40
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - row
    - ','
    - sample
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 144
    functionName: checkEOF
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: checkEOF(tif, row, sample)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: CheckShortTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:161,1
    - Dst: CheckShortTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:163,1
    - Dst: CheckLongTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:165,1
    - Dst: cmptags
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:167,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:169,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:170,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:171,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:172,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:173,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:174,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:175,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:176,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:176,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:177,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:177,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:179,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:180,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:183,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:188,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:189,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:191,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:192,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:194,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:195,1
    - Dst: SeparateCompare
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:196,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:201,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:203,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:204,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:206,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:207,1
    - Dst: SeparateCompare
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:208,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:213,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:216,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:217,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:218,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:219,1
    - Dst: ContigCompare
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:220,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:224,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:226,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:227,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:228,1
    - Dst: checkEOF
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:229,1
    - Dst: ContigCompare
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:230,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:235,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:236,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:240,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:242,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:243,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 94
    argCount: 2
    argNames:
    - tif1
    - tif2
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 245
    functionName: tiffcmp
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - cmptags
    - checkEOF
    - pack
    - CheckShortTag
    - _TIFFmalloc
    - TIFFScanlineSize
    - fprintf
    - ContigCompare
    - CheckLongTag
    - _TIFFfree
    - exit
    - TIFFReadScanline
    - SeparateCompare
    linkageType: ''
    returnType: int
    signature: int tiffcmp(TIFF* tif1, TIFF* tif2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: pack
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 249
    functionName: CmpShortField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 251
    functionName: CmpShortField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortField2(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: CmpLongField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpLongField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 255
    functionName: CmpFloatField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpFloatField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 257
    functionName: CmpStringField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpStringField(tag, name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 259
    functionName: CmpShortArrayField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CmpShortArrayField(tag, name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:264,1
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:265,1
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:266,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:267,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:268,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:269,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:270,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:271,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:272,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:273,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:274,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:275,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:276,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:277,1
    - Dst: CmpFloatField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:278,1
    - Dst: CmpFloatField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:279,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:280,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:282,1
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:285,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:287,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:289,1
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:292,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:294,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:295,1
    - Dst: CmpLongField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:296,1
    - Dst: CmpFloatField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:297,1
    - Dst: CmpFloatField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:298,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:299,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:300,1
    - Dst: CmpField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:303,1
    - Dst: CmpField3
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:306,1
    - Dst: CmpField3
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:309,1
    - Dst: CmpShortField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:312,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:313,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:314,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:315,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:316,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:317,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:318,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:319,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:320,1
    - Dst: CmpStringField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:321,1
    - Dst: CmpShortField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:322,1
    - Dst: CmpShortArrayField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:323,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 2
    argNames:
    - tif1
    - tif2
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 325
    functionName: cmptags
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - CmpField
    - CmpShortField2
    - CmpField3
    - CmpShortArrayField
    - CmpShortField
    - CmpLongField
    - CmpFloatField
    - CmpStringField
    linkageType: ''
    returnType: int
    signature: int cmptags(TIFF* tif1, TIFF* tif2)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:335,1
    - Dst: PrintIntDiff
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:351,1
    - Dst: PrintIntDiff
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:353,1
    - Dst: PrintIntDiff
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:371,1
    - Dst: PrintIntDiff
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:389,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:404,1
    - Dst: PrintFloatDiff
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:405,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:414,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:420,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 5
    argNames:
    - sample
    - row
    - p1
    - p2
    - size
    argTypes:
    - int
    - uint32
    - unsigned char*
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 425
    functionName: ContigCompare
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - PrintIntDiff
    - PrintFloatDiff
    - fprintf
    - fabs
    - memcmp
    linkageType: ''
    returnType: int
    signature: "int ContigCompare(int sample, uint32 row,\n\t      unsigned char*
      p1, unsigned char* p2, tsize_t size)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:446,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:454,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:460,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:464,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:467,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:471,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:474,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 5
    argNames:
    - row
    - sample
    - pix
    - w1
    - w2
    argTypes:
    - uint32
    - int
    - uint32
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 483
    functionName: PrintIntDiff
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void PrintIntDiff(uint32 row, int sample, uint32 pix, uint32 w1, uint32
      w2)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:492,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 5
    argNames:
    - row
    - sample
    - pix
    - w1
    - w2
    argTypes:
    - uint32
    - int
    - uint32
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 500
    functionName: PrintFloatDiff
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: void
    signature: void PrintFloatDiff(uint32 row, int sample, uint32 pix, double w1,
      double w2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:512,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:515,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:517,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:519,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - reversed
    - sample
    - row
    - cp1
    - p2
    argTypes:
    - int
    - int
    - uint32
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 502
    functionDepth: 0
    functionLinenumber: 502
    functionLinenumberEnd: 524
    functionName: SeparateCompare
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - printf
    - exit
    linkageType: ''
    returnType: int
    signature: "int SeparateCompare(int reversed, int sample, uint32 row,\n\t\tunsigned
      char* cp1, unsigned char* p2)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:530,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:531,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:532,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:533,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:537,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:538,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:538,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 6
    argNames:
    - tif1
    - tif2
    - tag
    - name
    - p1
    - p2
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 542
    functionName: checkTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int checkTag(TIFF* tif1, TIFF* tif2, int tag, char* name, void* p1,
      void* p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - cmp
    - ','
    - fmt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 552
    functionName: CHECK
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 190
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(cmp, fmt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 558
    functionName: CheckShortTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckShortTag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:565,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:566,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:567,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:568,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:573,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:574,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:575,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:575,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 579
    functionName: CheckShort2Tag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFFileName
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int CheckShort2Tag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:587,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:588,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:589,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:590,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:597,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:599,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:602,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:603,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:606,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:607,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:609,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:610,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:611,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:613,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:614,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:614,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 618
    functionName: CheckShortArrayTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    - TIFFFileName
    - TIFFGetField
    - memcmp
    linkageType: ''
    returnType: int
    signature: int CheckShortArrayTag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:624,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: CheckLongTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 1
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckLongTag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: CheckFloatTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - CHECK
    linkageType: ''
    returnType: int
    signature: int CheckFloatTag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:638,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif1
    - tif2
    - tag
    - name
    argTypes:
    - TIFF*
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: CheckStringTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - CHECK
    - strcmp
    linkageType: ''
    returnType: int
    signature: int CheckStringTag(TIFF* tif1, TIFF* tif2, int tag, char* name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:645,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:647,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - name
    - row
    - s
    argTypes:
    - char*
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: leof
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcmp.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void leof(const char* name, uint32 row, int s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:106,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:114,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:116,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:117,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:120,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:121,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - tif
    - imageSpec
    argTypes:
    - TIFF*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 125
    functionName: nextSrcImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - strtol
    - TIFFFileName
    - TIFFSetDirectory
    - fprintf
    - exit
    - TIFFCurrentDirectory
    linkageType: ''
    returnType: int
    signature: int nextSrcImage (TIFF *tif, char **imageSpec)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:137,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:140,1
    - Dst: nextSrcImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:145,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:146,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - imageSpec
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 128
    functionDepth: 2
    functionLinenumber: 128
    functionLinenumberEnd: 153
    functionName: openSrcImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - strchr
    - TIFFClose
    - nextSrcImage
    - TIFFOpen
    linkageType: ''
    returnType: TIFF
    signature: TIFF * openSrcImage (char **imageSpec)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:176,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:179,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:184,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:185,1
    - Dst: openSrcImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:190,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:191,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:192,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:193,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:194,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:196,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:198,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:199,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:207,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:208,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:211,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:213,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:216,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:223,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:226,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:229,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:231,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:234,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:237,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:247,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:268,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:272,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:273,1
    - Dst: openSrcImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:280,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:282,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:285,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:286,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:286,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:288,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:289,1
    - Dst: tiffcp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:302,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:302,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:303,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:304,1
    - Dst: nextSrcImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:308,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:310,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:312,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:315,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 144
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 317
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 15
    functionsReached:
    - strtoul
    - atol
    - TIFFIsTiled
    - fputs
    - openSrcImage
    - TIFFOpen
    - TIFFGetField
    - getopt
    - TIFFClose
    - TIFFWriteDirectory
    - usage
    - TIFFError
    - TIFFReadDirectory
    - streq
    - TIFFFileName
    - nextSrcImage
    - tiffcp
    - processCompressOptions
    - atoi
    - exit
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:322,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:325,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:326,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:328,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:330,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:331,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: processZIPOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - atoi
    - strchr
    - usage
    - isdigit
    linkageType: ''
    returnType: void
    signature: void processZIPOptions(char* cp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:338,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:343,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:345,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:347,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:350,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:351,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 353
    functionName: processG3Options
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - strchr
    - strneq
    - usage
    linkageType: ''
    returnType: void
    signature: void processG3Options(char* cp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:358,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:360,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:362,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:363,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:368,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:369,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:373,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:375,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:377,1
    - Dst: processG3Options
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:378,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:380,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:382,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:383,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:385,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:387,1
    - Dst: processZIPOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:388,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:390,1
    - Dst: processZIPOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:391,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:393,1
    - Dst: processZIPOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:394,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:396,1
    - Dst: processZIPOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:397,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:399,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:401,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 355
    functionDepth: 1
    functionLinenumber: 355
    functionLinenumberEnd: 406
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached:
    - usage
    - streq
    - strchr
    - processZIPOptions
    - atoi
    - strneq
    - isdigit
    - processG3Options
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:478,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:479,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:479,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:481,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 483
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 44
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 487
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 487
    functionDepth: 0
    functionLinenumber: 487
    functionLinenumberEnd: 489
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 491
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 493
    functionName: CopyField4
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:501,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:504,1
    - Dst: CopyField4
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:507,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:511,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:516,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:522,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:525,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:530,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:536,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:539,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:543,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:543,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 547
    functionName: cpTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField2
    - CopyField
    linkageType: ''
    returnType: void
    signature: void cpTag(TIFF* in, TIFF* out, uint16 tag, uint16 count, TIFFDataType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - count
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 591
    functionName: CopyTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyTag(tag, count, type)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:607,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:608,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:609,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:610,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:612,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:614,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:615,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:616,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:619,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:624,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:627,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:628,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:635,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:637,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:641,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:648,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:651,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:653,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:655,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:659,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:663,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:663,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:672,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:672,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:679,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:686,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:695,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:697,1
    - Dst: TIFFDefaultTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:698,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:699,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:700,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:708,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:711,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:718,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:721,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:723,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:725,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:726,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:730,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:731,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:734,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:735,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:736,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:737,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:746,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:748,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:752,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:754,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:756,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:759,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:761,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:770,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:773,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:775,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:776,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:777,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:778,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:779,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:780,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:781,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:787,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:788,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:793,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:794,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:795,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:796,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:799,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:801,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:804,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:813,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:814,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:816,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:819,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:821,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:823,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:829,1
    - Dst: pickCopyFunc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:831,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 167
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 833
    functionName: tiffcp
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached:
    - TIFFFileName
    - TIFFSetField
    - TIFFGetField
    - pickCopyFunc
    - TIFFDefaultStripSize
    - TIFFGetFieldDefaulted
    - TIFFDefaultTileSize
    - strlen
    - TIFFIsTiled
    - strchr
    - fprintf
    - CopyField
    - TIFFWarning
    - CopyTag
    linkageType: ''
    returnType: int
    signature: int tiffcp(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 838
    functionDepth: 0
    functionLinenumber: 838
    functionLinenumberEnd: 841
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREcpFunc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 842
    functionDepth: 0
    functionLinenumber: 842
    functionLinenumberEnd: 845
    functionName: DECLAREreadFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREreadFunc(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 847
    functionDepth: 0
    functionLinenumber: 847
    functionLinenumberEnd: 850
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREwriteFunc(x)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:857,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:861,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:864,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:867,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:868,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:868,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:873,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:874,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:874,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:880,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:883,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 855
    functionDepth: 1
    functionLinenumber: 855
    functionLinenumberEnd: 885
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - _TIFFmemset
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContig2ContigByRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bits
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 890
    functionDepth: 0
    functionLinenumber: 890
    functionLinenumberEnd: 900
    functionName: subtract
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: subtract(bits)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - bits
    argTypes:
    - unsigned
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 905
    functionDepth: 0
    functionLinenumber: 905
    functionLinenumberEnd: 913
    functionName: lineSubtractFn
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: biasFn
    signature: biasFn *lineSubtractFn (unsigned bits)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:921,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:922,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:925,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:926,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:931,1
    - Dst: lineSubtractFn
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:932,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:935,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:936,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:938,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:940,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:940,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:945,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:947,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:947,1
    - Dst: subtractLine
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:952,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:953,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:954,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:954,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:961,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:962,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:963,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:964,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:967,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:968,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:971,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:971,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:977,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:977,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:979,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:979,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:980,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:980,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:983,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:983,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:985,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:985,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 918
    functionDepth: 1
    functionLinenumber: 918
    functionLinenumberEnd: 989
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - lineSubtractFn
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - TIFFSetDirectory
    - TIFFCurrentDirectory
    - TIFFScanlineSize
    - _TIFFmalloc
    - subtractLine
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpBiasedContig2Contig)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:997,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:998,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1002,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1004,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1007,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1008,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1010,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1010,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1015,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1016,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1016,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1023,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1026,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1026,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1033,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1035
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFFileName
    - _TIFFmemset
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFVStripSize
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpDecodedStrips)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1042,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1048,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1051,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1054,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1055,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1055,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1060,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1061,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1061,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1068,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1071,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1073
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - _TIFFmemset
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparate2SeparateByRow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1080,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1081,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1090,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1093,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1093,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1099,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1100,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1103,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1104,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1108,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1110,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1110,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1121,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1122,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1122,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1129,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1130,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1133,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1134,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1078
    functionDepth: 1
    functionLinenumber: 1078
    functionLinenumberEnd: 1136
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - _TIFFmemset
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContig2SeparateByRow)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1143,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1144,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1153,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1156,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1156,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1162,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1163,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1166,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1167,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1171,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1173,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1173,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1185,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1186,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1186,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1192,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1193,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1196,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1199
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - _TIFFmemset
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparate2ContigByRow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 6
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - uint32
    - int
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1201
    functionDepth: 0
    functionLinenumber: 1201
    functionLinenumberEnd: 1212
    functionName: cpStripToTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpStripToTile(uint8* out, uint8* in,\n    uint32 rows, uint32
      cols, int outskew, int64 inskew)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    - spp
    - bytes_per_sample
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - uint32
    - int
    - int
    - tsample_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1214
    functionDepth: 0
    functionLinenumber: 1214
    functionLinenumberEnd: 1233
    functionName: cpContigBufToSeparateBuf
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpContigBufToSeparateBuf(uint8* out, uint8* in,\n    uint32 rows,
      uint32 cols, int outskew, int inskew, tsample_t spp,\n    int bytes_per_sample
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - outskew
    - inskew
    - spp
    - bytes_per_sample
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - uint32
    - int
    - int
    - tsample_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1253
    functionName: cpSeparateBufToContigBuf
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void cpSeparateBufToContigBuf(uint8* out, uint8* in,\n    uint32 rows,
      uint32 cols, int outskew, int inskew, tsample_t spp,\n    int bytes_per_sample)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRasterScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1261,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1269,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1276,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1278,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1278,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1282,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1282,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 7
    argNames:
    - in
    - out
    - fin
    - fout
    - imagelength
    - imagewidth
    - spp
    argTypes:
    - TIFF*
    - TIFF*
    - readFunc
    - writeFunc
    - uint32
    - uint32
    - tsample_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1255
    functionDepth: 1
    functionLinenumber: 1255
    functionLinenumberEnd: 1286
    functionName: cpImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - _TIFFmalloc
    - _TIFFfree
    - TIFFRasterScanlineSize
    linkageType: ''
    returnType: int
    signature: "int cpImage(TIFF* in, TIFF* out, readFunc fin, writeFunc fout,\n\tuint32
      imagelength, uint32 imagewidth, tsample_t spp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1290,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1296,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1298,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1298,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1307
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1307
    functionName: DECLAREreadFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFScanlineSize
    - TIFFFileName
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readContigStripsIntoBuffer)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1312,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1317,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1320,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1333,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1335,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1335,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1349,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1351
    functionName: DECLAREreadFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - _TIFFmemset
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readSeparateStripsIntoBuffer)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1356,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1358,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1359,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1366,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1369,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1370,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1371,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1379,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1381,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1381,1
    - Dst: cpStripToTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1391,1
    - Dst: cpStripToTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1395,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1403,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1405
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1405
    functionName: DECLAREreadFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - _TIFFmemset
    - TIFFFileName
    - cpStripToTile
    - TIFFReadTile
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readContigTilesIntoBuffer)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRasterScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1410,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1411,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1413,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1422,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1422,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1426,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1429,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1430,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1431,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1432,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1435,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1435,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1441,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1441,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1456,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1458,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1458,1
    - Dst: cpSeparateBufToContigBuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1474,1
    - Dst: cpSeparateBufToContigBuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1482,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1493,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1495
    functionName: DECLAREreadFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - _TIFFmemset
    - TIFFGetField
    - cpSeparateBufToContigBuf
    - TIFFReadTile
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    - TIFFRasterScanlineSize
    linkageType: ''
    returnType: void
    signature: void DECLAREreadFunc(readSeparateTilesIntoBuffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1503,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1507,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1508,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1509,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1497
    functionDepth: 1
    functionLinenumber: 1497
    functionLinenumberEnd: 1516
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFFileName
    - TIFFGetFieldDefaulted
    - TIFFVStripSize
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToContigStrips)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1522,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1527,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1530,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1531,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1537,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1539,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1542,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1543,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1543,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1546,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1551,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1554
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - TIFFError
    - TIFFFileName
    - _TIFFmemset
    - TIFFGetFieldDefaulted
    - cpContigBufToSeparateBuf
    - _TIFFmalloc
    - TIFFStripSize
    - _TIFFfree
    - TIFFVStripSize
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToSeparateStrips)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1558,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1559,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1561,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1569,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1569,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1572,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1573,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1574,1
    - Dst: cpStripToTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1588,1
    - Dst: cpStripToTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1591,1
    - Dst: TIFFWriteTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1593,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1594,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1594,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1598,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1605,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1607
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - _TIFFmemset
    - TIFFFileName
    - cpStripToTile
    - TIFFWriteTile
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToContigTiles)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1611,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1612,1
    - Dst: TIFFRasterScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1613,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1615,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1622,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1622,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1625,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1626,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1627,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1628,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1631,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1631,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1632,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1637,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1637,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1638,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1659,1
    - Dst: cpContigBufToSeparateBuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1665,1
    - Dst: TIFFWriteTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1670,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1671,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1671,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1677,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1685,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1609
    functionDepth: 1
    functionLinenumber: 1609
    functionLinenumberEnd: 1687
    functionName: DECLAREwriteFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - _TIFFmemset
    - TIFFFileName
    - TIFFWriteTile
    - cpContigBufToSeparateBuf
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    - TIFFRasterScanlineSize
    linkageType: ''
    returnType: void
    signature: void DECLAREwriteFunc(writeBufferToSeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1692
    functionDepth: 2
    functionLinenumber: 1692
    functionLinenumberEnd: 1698
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigStrips2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1703
    functionDepth: 2
    functionLinenumber: 1703
    functionLinenumberEnd: 1709
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigStrips2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1714
    functionDepth: 2
    functionLinenumber: 1714
    functionLinenumberEnd: 1720
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateStrips2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1725
    functionDepth: 2
    functionLinenumber: 1725
    functionLinenumberEnd: 1731
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateStrips2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1742
      start: 1736
    functionDepth: 2
    functionLinenumber: 1736
    functionLinenumberEnd: 1742
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1747
    functionDepth: 2
    functionLinenumber: 1747
    functionLinenumberEnd: 1753
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1758
    functionDepth: 2
    functionLinenumber: 1758
    functionLinenumberEnd: 1764
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2ContigTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1775
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1775
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2SeparateTiles)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1780
    functionDepth: 2
    functionLinenumber: 1780
    functionLinenumberEnd: 1786
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2ContigStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1797
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpContigTiles2SeparateStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1804,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1802
    functionDepth: 2
    functionLinenumber: 1802
    functionLinenumberEnd: 1808
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2ContigStrips)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cpImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1815,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1813
    functionDepth: 2
    functionLinenumber: 1813
    functionLinenumberEnd: 1819
    functionName: DECLAREcpFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 0
    functionsReached:
    - cpImage
    linkageType: ''
    returnType: void
    signature: void DECLAREcpFunc(cpSeparateTiles2SeparateStrips)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1831,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1833,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1835,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1838,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1839,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1840,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1840,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1842,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1847,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1849,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1852,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1853,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1855,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1859,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1860,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1867,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1867,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1867,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1869,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1870,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1872,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1873,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1875,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1876,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1878,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1879,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1882,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1883,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1885,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1886,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1888,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1889,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1891,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1892,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1895,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1896,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1898,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1899,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1901,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1902,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1904,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1905,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1908,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1910,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1912,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1913,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1915,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1916,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1918,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1919,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1925,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcp.c:1926,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 81
    argCount: 4
    argNames:
    - in
    - out
    - bitspersample
    - samplesperpixel
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1928
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1928
    functionName: pickCopyFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - TIFFFileName
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - pack
    - fprintf
    linkageType: ''
    returnType: copyFunc
    signature: copyFunc pickCopyFunc(TIFF* in, TIFF* out, uint16 bitspersample, uint16
      samplesperpixel)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - ','
    - d
    - ','
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1866
    functionDepth: 0
    functionLinenumber: 1866
    functionLinenumberEnd: 1867
    functionName: pack
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcp.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a,b,c,d,e)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:54,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 4
    argNames:
    - n
    - r
    - g
    - b
    argTypes:
    - int
    - uint16*
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: checkcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int checkcmap(int n, uint16* r, uint16* g, uint16* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:88,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:91,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:94,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:95,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:98,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:100,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:103,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:106,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:109,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:113,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:114,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:117,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:119,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:121,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:125,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:128,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:132,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:134,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:136,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:139,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:141,1
    - Dst: cpTags
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:144,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:145,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:146,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:148,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:150,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:157,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:158,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:163,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:166,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:167,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:168,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:169,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:170,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:171,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:173,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:182,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:183,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:184,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:190,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:191,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:200,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:203,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:204,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:208,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:216,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:222,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:226,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:230,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:234,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:239,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:240,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:243,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:244,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 138
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 246
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 15
    functionsReached:
    - TIFFDefaultStripSize
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - TIFFWriteScanline
    - TIFFGetField
    - getopt
    - TIFFClose
    - checkcmap
    - TIFFReadScanline
    - usage
    - TIFFSetField
    - streq
    - CVT
    - cpTags
    - processCompressOptions
    - atoi
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 181
    functionDepth: 0
    functionLinenumber: 181
    functionLinenumberEnd: 182
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:251,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:253,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:255,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:256,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:261,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:262,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:266,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:268,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:270,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:271,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:273,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:275,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:276,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:278,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 283
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 2
    functionsReached:
    - usage
    - streq
    - strchr
    - atoi
    - strneq
    - isdigit
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 287
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: CopyField4
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:301,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:304,1
    - Dst: CopyField4
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:307,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:311,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:316,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:322,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:325,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:330,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:336,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:339,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:343,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:343,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 347
    functionName: cpTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField2
    - CopyField
    linkageType: ''
    returnType: void
    signature: void cpTag(TIFF* in, TIFF* out, uint16 tag, uint16 count, TIFFDataType
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:414,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:421,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 427
    functionName: cpTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:456,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:457,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:457,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:459,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c:460,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 461
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/pal2rgb.c
    functionUses: 46
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:54,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 56
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffset.c
    functionUses: 46
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:63,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:64,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:64,1
    - Dst: TIFFFieldWithName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:66,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:69,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tiff
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 74
    functionName: GetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffset.c
    functionUses: 60
    functionsReached:
    - TIFFFieldWithName
    - atoi
    - fprintf
    - TIFFFieldWithTag
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      GetField(TIFF *tiff, const char *tagname)'
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:83,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:85,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:90,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:92,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:92,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:94,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:99,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:101,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:101,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:103,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:109,1
    - Dst: GetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:114,1
    - Dst: TIFFUnsetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:118,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:118,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:120,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:120,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:123,1
    - Dst: GetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:129,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:135,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:136,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:136,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:137,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:138,1
    - Dst: TIFFFieldWriteCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:139,1
    - Dst: TIFFFieldWriteCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:140,1
    - Dst: TIFFFieldWriteCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:144,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:145,1
    - Dst: TIFFFieldWriteCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:150,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:153,1
    - Dst: TIFFFieldWriteCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:157,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:161,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:199,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:201,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:206,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:209,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:213,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:217,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:221,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:225,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:230,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:234,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:239,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:243,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:249,1
    - Dst: TIFFFieldPassCount
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:255,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:256,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:256,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:258,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:259,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:260,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:261,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:262,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:263,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:263,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:265,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:266,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:266,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:270,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:270,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:274,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:276,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:281,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:281,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:282,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:287,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:287,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:288,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:293,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:293,1
    - Dst: strtoll
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:294,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:297,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:297,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:298,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:303,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:303,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:312,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:312,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:315,1
    - Dst: GetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:322,1
    - Dst: TIFFFieldDataType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:327,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:328,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:330,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:335,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:337,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:341,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:342,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:345,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:347,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:347,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:348,1
    - Dst: TIFFFieldName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:349,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:352,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:355,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:357,1
    - Dst: TIFFRewriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:361,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffset.c:362,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 215
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 364
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffset.c
    functionUses: 15
    functionsReached:
    - atol
    - TIFFFieldWriteCount
    - atof
    - fprintf
    - _TIFFmalloc
    - TIFFUnsetField
    - TIFFOpen
    - fclose
    - TIFFClose
    - TIFFFieldDataType
    - TIFFRewriteDirectory
    - TIFFFieldPassCount
    - usage
    - TIFFSetField
    - fread
    - strtoll
    - strcmp
    - GetField
    - malloc
    - fopen
    - TIFFSetDirectory
    - TIFFFieldName
    - TIFFFieldTag
    - atoi
    - _TIFFfree
    - perror
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: howmany
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: roundup
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:78,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:81,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:83,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:85,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:87,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:89,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:92,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:95,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:97,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:100,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:102,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:105,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:116,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:120,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:121,1
    - Dst: setupLumaTables
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:124,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:126,1
    - Dst: tiffcvt
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:129,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:130,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:131,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:134,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:135,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:138,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 60
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 140
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 15
    functionsReached:
    - setupLumaTables
    - usage
    - TIFFReadDirectory
    - getopt
    - TIFFClose
    - streq
    - TIFFWriteDirectory
    - atoi
    - tiffcvt
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - c
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: setupLuma
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: float
    signature: 'float *

      setupLuma(float c)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - f
    - RB
    - RW
    - CR
    argTypes:
    - float
    - float
    - float
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 163
    functionName: V2Code
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned V2Code(float f, float RB, float RW, int CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setupLuma
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:168,1
    - Dst: setupLuma
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:169,1
    - Dst: setupLuma
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:170,1
    - Dst: V2Code
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: setupLumaTables
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 1
    functionsReached:
    - setupLuma
    - V2Code
    linkageType: ''
    returnType: void
    signature: void setupLumaTables(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:188,1
    - Dst: TIFFGetG
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:189,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:190,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:192,1
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:193,1
    - Dst: V2Code
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:195,1
    - Dst: V2Code
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:206,1
    - Dst: V2Code
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - op
    - raster
    - ch
    - cw
    - w
    argTypes:
    - unsigned char*
    - uint32*
    - uint32
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 208
    functionName: cvtClump
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - TIFFGetB
    - TIFFGetG
    - TIFFGetR
    - V2Code
    linkageType: ''
    returnType: void
    signature: void cvtClump(unsigned char* op, uint32* raster, uint32 ch, uint32
      cw, uint32 w)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cvtClump
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:228,1
    - Dst: cvtClump
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:234,1
    - Dst: cvtClump
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:242,1
    - Dst: cvtClump
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 4
    argNames:
    - op
    - raster
    - nrows
    - width
    argTypes:
    - unsigned char*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 249
    functionName: cvtStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - cvtClump
    linkageType: ''
    returnType: void
    signature: void cvtStrip(unsigned char* op, uint32* raster, uint32 nrows, uint32
      width)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: roundup
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:258,1
    - Dst: roundup
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:259,1
    - Dst: roundup
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:261,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:265,1
    - Dst: cvtStrip
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:269,1
    - Dst: roundup
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:270,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:273,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:274,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:278,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - raster
    - width
    - height
    argTypes:
    - TIFF*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 280
    functionName: cvtRaster
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedStrip
    - cvtStrip
    - roundup
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int cvtRaster(TIFF* tif, uint32* raster, uint32 width, uint32 height)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:294,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:295,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:300,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:300,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:307,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:310,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:310,1
    - Dst: TIFFReadRGBAImage
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:317,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:318,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:322,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:323,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:324,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:325,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:326,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:327,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:329,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:330,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:331,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:332,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:333,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:334,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:335,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:336,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:338,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:338,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:339,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:340,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:341,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:343,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:343,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:344,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:346,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:347,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:349,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:350,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:351,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:352,1
    - Dst: cvtRaster
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:354,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 46
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 357
    functionName: tiffcvt
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - TIFFSetField
    - TIFFGetVersion
    - cvtRaster
    - TIFFDefaultStripSize
    - TIFFReadRGBAImage
    - strrchr
    - snprintf
    - _TIFFCheckMalloc
    - CopyField
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int tiffcvt(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:380,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:382,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:384,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 386
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/rgb2ycbcr.c
    functionUses: 48
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:103,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:104,1
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:105,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:108,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:111,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:120,1
    - Dst: photoArg
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:123,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:129,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:135,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:140,1
    - Dst: glutInit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:142,1
    - Dst: glutInitDisplayMode
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:143,1
    - Dst: glutGet
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:148,1
    - Dst: glutGet
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:149,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:157,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:159,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:162,1
    - Dst: nextImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:164,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:165,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:172,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:173,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:174,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:175,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:178,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:179,1
    - Dst: glutInitWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:186,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:187,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:188,1
    - Dst: glutCreateWindow
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:189,1
    - Dst: glutDisplayFunc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:190,1
    - Dst: glutReshapeFunc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:191,1
    - Dst: glutKeyboardFunc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:192,1
    - Dst: glutSpecialFunc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:193,1
    - Dst: glutMainLoop
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:194,1
    - Dst: cleanup_and_exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:196,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 75
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 198
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 15
    functionsReached:
    - strtoul
    - glutDisplayFunc
    - photoArg
    - _TIFFmalloc
    - glutGet
    - TIFFSetErrorHandler
    - snprintf
    - initImage
    - TIFFSetWarningHandler
    - getopt
    - glutKeyboardFunc
    - glutInitDisplayMode
    - _TIFFmemcpy
    - glutInitWindowSize
    - glutInit
    - usage
    - TIFFError
    - nextImage
    - glutMainLoop
    - glutReshapeFunc
    - TIFFCurrentDirectory
    - TIFFSetDirectory
    - glutCreateWindow
    - cleanup_and_exit
    - glutSpecialFunc
    - atoi
    - _TIFFfree
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:203,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:205,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:207,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:209,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:210,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 211
    functionName: cleanup_and_exit
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - exit
    - _TIFFfree
    - TIFFClose
    - TIFFRGBAImageEnd
    linkageType: ''
    returnType: void
    signature: void cleanup_and_exit(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:219,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:221,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:222,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:223,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:224,1
    - Dst: _TIFFMultiply32
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:245,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:247,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:248,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:252,1
    - Dst: cleanup_and_exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:253,1
    - Dst: TIFFRGBAImageGet
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:258,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:260,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 263
    functionName: initImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFSetField
    - cleanup_and_exit
    - TIFFClose
    - TIFFRGBAImageGet
    - TIFFSwabArrayOfLong
    - TIFFRGBAImageBegin
    - _TIFFCheckMalloc
    - _TIFFfree
    - _TIFFMultiply32
    linkageType: ''
    returnType: int
    signature: int initImage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:273,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 278
    functionName: prevImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - TIFFClose
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int prevImage(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:288,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 293
    functionName: nextImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int nextImage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glutReshapeWindow
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 295
    functionDepth: 0
    functionLinenumber: 295
    functionLinenumberEnd: 299
    functionName: setWindowSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glutReshapeWindow
    linkageType: ''
    returnType: void
    signature: void setWindowSize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glDrawPixels
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:304,1
    - Dst: glFlush
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 306
    functionName: raster_draw
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glDrawPixels
    - glFlush
    linkageType: ''
    returnType: void
    signature: void raster_draw(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glPixelZoom
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:315,1
    - Dst: glViewport
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:316,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:317,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:318,1
    - Dst: glutSetWindowTitle
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - win_w
    - win_h
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: raster_reshape
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - glViewport
    - glPixelZoom
    - snprintf
    - glutSetWindowTitle
    - TIFFCurrentDirectory
    linkageType: ''
    returnType: void
    signature: void raster_reshape(int win_w, int win_h)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:330,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:334,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:338,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:342,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:345,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:346,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:349,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:350,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:357,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:359,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:360,1
    - Dst: cleanup_and_exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:364,1
    - Dst: glutPostRedisplay
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:366,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - unsigned char
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 322
    functionDepth: 3
    functionLinenumber: 322
    functionLinenumberEnd: 367
    functionName: raster_keys
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - TIFFSetWarningHandler
    - cleanup_and_exit
    - glutPostRedisplay
    - TIFFSetErrorHandler
    - initImage
    linkageType: ''
    returnType: void
    signature: void raster_keys(unsigned char key, int x, int y)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:376,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:377,1
    - Dst: TIFFCurrentDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:378,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:379,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:380,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:383,1
    - Dst: prevImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:384,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:385,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:386,1
    - Dst: TIFFLastDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:390,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:391,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:392,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:393,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:396,1
    - Dst: nextImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:397,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:398,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:399,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:403,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:404,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:405,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:406,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:410,1
    - Dst: TIFFLastDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:411,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:412,1
    - Dst: initImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:413,1
    - Dst: setWindowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:414,1
    - Dst: glutPostRedisplay
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:417,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 3
    argNames:
    - key
    - x
    - y
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 369
    functionDepth: 3
    functionLinenumber: 369
    functionLinenumberEnd: 418
    functionName: raster_special
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 0
    functionsReached:
    - TIFFSetDirectory
    - TIFFReadDirectory
    - nextImage
    - glutPostRedisplay
    - prevImage
    - TIFFCurrentDirectory
    - TIFFLastDirectory
    - setWindowSize
    - TIFFRGBAImageEnd
    - initImage
    linkageType: ''
    returnType: void
    signature: void raster_special(int key, int x, int y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:448,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:449,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:449,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:451,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 453
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 49
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:458,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:460,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:462,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:464,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:466,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:468,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:470,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:472,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:474,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffgt.c:476,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 455
    functionDepth: 0
    functionLinenumber: 455
    functionLinenumberEnd: 480
    functionName: photoArg
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffgt.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: uint16
    signature: uint16 photoArg(const char* arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 41
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:61,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:61,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:62,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:66,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:69,1
    - Dst: newfilename
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:75,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:77,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:78,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:79,1
    - Dst: strncat
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:81,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:81,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:82,1
    - Dst: TIFFIsBigEndian
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:82,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:83,1
    - Dst: tiffcp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:87,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:89,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:90,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 94
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 15
    functionsReached:
    - strncat
    - TIFFReadDirectory
    - TIFFGetVersion
    - strlen
    - TIFFIsBigEndian
    - tiffcp
    - TIFFClose
    - strncpy
    - fprintf
    - _TIFFmalloc
    - newfilename
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:107,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:119,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 153
    functionName: newfilename
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - fprintf
    - strlen
    - exit
    linkageType: ''
    returnType: void
    signature: void newfilename(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:164,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:165,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:166,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:167,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:168,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:169,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:170,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:171,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:175,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:177,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:180,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:181,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:182,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:183,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:184,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:185,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:186,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:187,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:188,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:189,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:190,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:191,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:192,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:193,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:194,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:195,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:196,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:197,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:198,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:199,1
    - Dst: CopyField3
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:201,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:204,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:206,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:207,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:208,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:209,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:210,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:211,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:212,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:213,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:214,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:215,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:216,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:217,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:218,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:219,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:220,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:221,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:222,1
    - Dst: cpTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:223,1
    - Dst: cpStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:225,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 226
    functionName: tiffcp
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 2
    functionsReached:
    - TIFFGetField
    - TIFFSetField
    - cpStrips
    - CopyField2
    - CopyField3
    - cpTiles
    - TIFFIsTiled
    - CopyField
    linkageType: ''
    returnType: int
    signature: int tiffcp(TIFF* in, TIFF* out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:231,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:232,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:235,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:238,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:239,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:240,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:245,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:250,1
    - Dst: TIFFWriteRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:251,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:252,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 260
    functionName: cpStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - _TIFFrealloc
    - fprintf
    - _TIFFmalloc
    - TIFFReadRawStrip
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFWriteRawStrip
    linkageType: ''
    returnType: int
    signature: int cpStrips(TIFF* in, TIFF* out)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:265,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:266,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:269,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:272,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:273,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:274,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:279,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:284,1
    - Dst: TIFFWriteRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:285,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:286,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 294
    functionName: cpTiles
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffsplit.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - _TIFFrealloc
    - TIFFWriteRawTile
    - TIFFNumberOfTiles
    - fprintf
    - _TIFFmalloc
    - TIFFReadRawTile
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int cpTiles(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:130,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:133,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:134,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:137,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:139,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:142,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:149,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:152,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:156,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:157,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:160,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:161,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:162,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:163,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:165,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:169,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:171,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:174,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:176,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:185,1
    - Dst: get_histogram
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:206,1
    - Dst: largest_box
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:213,1
    - Dst: splitbox
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:215,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:230,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:237,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:238,1
    - Dst: map_colortable
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:241,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:246,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:250,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:251,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:252,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:254,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:259,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:263,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:264,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:265,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:266,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:267,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:268,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:269,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:270,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:271,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:272,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:273,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:274,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:275,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:276,1
    - Dst: quant_fsdither
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:279,1
    - Dst: quant
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:281,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:287,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:288,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:289,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:291,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:292,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 294
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 15
    functionsReached:
    - _TIFFmemset
    - map_colortable
    - TIFFDefaultStripSize
    - fprintf
    - _TIFFmalloc
    - CopyField
    - get_histogram
    - TIFFGetField
    - getopt
    - TIFFClose
    - largest_box
    - quant_fsdither
    - usage
    - TIFFSetField
    - quant
    - splitbox
    - SCALE
    - processCompressOptions
    - atoi
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    functionName: SCALE
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:299,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:301,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:303,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:304,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:306,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:308,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:309,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:311,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 296
    functionDepth: 0
    functionLinenumber: 296
    functionLinenumberEnd: 316
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 3
    functionsReached:
    - atoi
    - strchr
    - strneq
    - streq
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:341,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:342,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:342,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:344,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 50
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:356,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:356,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:358,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:359,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:370,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:378,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:381,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:398,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - in
    - box
    argTypes:
    - TIFF*
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 399
    functionName: get_histogram
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - _TIFFfree
    - exit
    - TIFFReadScanline
    linkageType: ''
    returnType: void
    signature: void get_histogram(TIFF* in, Colorbox* box)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 0
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: largest_box
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Colorbox
    signature: 'Colorbox *

      largest_box(void)'
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: freeboxes::freeboxes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:497,1
    - Dst: next::next
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:498,1
    - Dst: shrinkbox
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:535,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 96
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 536
    functionName: splitbox
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - next::next
    - freeboxes::freeboxes
    - shrinkbox
    linkageType: ''
    returnType: void
    signature: void splitbox(Colorbox* ptr)
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 90
    argCount: 1
    argNames:
    - box
    argTypes:
    - Colorbox*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 621
    functionName: shrinkbox
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void shrinkbox(Colorbox* box)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:634,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 59
    argCount: 3
    argNames:
    - red
    - green
    - blue
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 623
    functionDepth: 0
    functionLinenumber: 623
    functionLinenumberEnd: 709
    functionName: create_colorcell
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: C_cell
    signature: 'C_cell *

      create_colorcell(int red, int green, int blue)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: create_colorcell
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:731,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 751
    functionName: map_colortable
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - create_colorcell
    linkageType: ''
    returnType: void
    signature: void map_colortable(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:766,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:766,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:767,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:769,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:779,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:782,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:783,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 784
    functionName: quant
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void quant(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - type
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 787
    functionName: SWAP
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(type,a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - row
    - ','
    - bad
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 788
    functionDepth: 0
    functionLinenumber: 788
    functionLinenumberEnd: 800
    functionName: GetInputLine
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetInputLine(tif, row, bad)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - raw
    - ','
    - cshift
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 800
    functionDepth: 0
    functionLinenumber: 800
    functionLinenumberEnd: 810
    functionName: GetComponent
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetComponent(raw, cshift, c)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:824,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:824,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:825,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:826,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:827,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:827,1
    - Dst: GetInputLine
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:829,1
    - Dst: GetInputLine
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:834,1
    - Dst: GetComponent
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:843,1
    - Dst: GetComponent
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:844,1
    - Dst: GetComponent
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:845,1
    - Dst: create_colorcell
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:857,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:901,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:905,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:906,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:907,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c:908,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 77
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 909
    functionName: quant_fsdither
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffmedian.c
    functionUses: 1
    functionsReached:
    - GetComponent
    - create_colorcell
    - GetInputLine
    - TIFFScanlineSize
    - _TIFFmalloc
    - _TIFFfree
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void quant_fsdither(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:107,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 109
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 50
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:121,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:130,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:133,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:136,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:140,1
    - Dst: open
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:142,1
    - Dst: perror
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:144,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:148,1
    - Dst: dump
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:152,1
    - Dst: close
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:153,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 156
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 15
    functionsReached:
    - usage
    - strtoul
    - getopt
    - printf
    - close
    - open
    - perror
    - dump
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - e
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: ord
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 120
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ord(e)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:172,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:173,1
    - Dst: ReadError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:174,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:184,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:193,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:196,1
    - Dst: ReadError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:197,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:199,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:200,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:209,1
    - Dst: ReadError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:210,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:213,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:214,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:215,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:217,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:221,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:228,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:235,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:236,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:241,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:246,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:251,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:255,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:260,1
    - Dst: ReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:261,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:264,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 62
    argCount: 2
    argNames:
    - fd
    - diroff
    argTypes:
    - int
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 265
    functionName: dump
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 7
    functionsReached:
    - read
    - ReadError
    - printf
    - TIFFSwabLong
    - TIFFSwabLong8
    - _TIFF_lseek_f
    - ReadDirectory
    - free
    - Fatal
    - TIFFSwabShort
    - TIFFSafeMultiply
    - realloc
    - putchar
    linkageType: ''
    returnType: void
    signature: void dump(int fd, uint64 diroff)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:310,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:311,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:315,1
    - Dst: ReadError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:316,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:320,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:324,1
    - Dst: ReadError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:325,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:329,1
    - Dst: Error
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:331,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:337,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:337,1
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:339,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:342,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:358,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:361,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:364,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:367,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:371,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:375,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:393,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:398,1
    - Dst: PrintTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:399,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:400,1
    - Dst: PrintType
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:401,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:402,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:408,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:414,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:416,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:420,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:422,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:428,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:443,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:456,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:464,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:470,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:474,1
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:476,1
    - Dst: Error
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:479,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:481,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:484,1
    - Dst: Error
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:486,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:488,1
    - Dst: Error
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:492,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:507,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:513,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:517,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:523,1
    - Dst: PrintData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:527,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:529,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:532,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:536,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:540,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 190
    argCount: 3
    argNames:
    - fd
    - ix
    - 'off'
    argTypes:
    - int
    - unsigned int
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 542
    functionName: ReadDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 9
    functionsReached:
    - TIFFSwabArrayOfShort
    - ReadError
    - Error
    - _TIFF_lseek_f
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - read
    - PrintType
    - TIFFSwabLong
    - TIFFSwabArrayOfLong8
    - putchar
    - PrintTag
    - printf
    - TIFFSwabShort
    - Fatal
    - TIFFSafeMultiply
    - PrintData
    - memcpy
    - TIFFSwabLong8
    - _TIFFfree
    linkageType: ''
    returnType: uint64
    signature: uint64 ReadDirectory(int fd, unsigned int ix, uint64 off)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:649,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - tag
    argTypes:
    - FILE*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 642
    functionDepth: 0
    functionLinenumber: 642
    functionLinenumberEnd: 653
    functionName: PrintTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintTag(FILE* fd, uint16 tag)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:682,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - type
    argTypes:
    - FILE*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 685
    functionName: PrintType
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void PrintType(FILE* fd, uint16 type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:696,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:697,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:704,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:706,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:708,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 3
    argNames:
    - fd
    - cc
    - cp
    argTypes:
    - FILE*
    - uint32
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 690
    functionDepth: 0
    functionLinenumber: 690
    functionLinenumberEnd: 710
    functionName: PrintASCII
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void PrintASCII(FILE* fd, uint32 cc, const unsigned char* cp)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:720,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:724,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:728,1
    - Dst: PrintASCII
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:731,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:736,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:742,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:748,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:756,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:763,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:765,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:774,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:776,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:785,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:789,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:800,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:813,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:819,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:825,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:834,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:836,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 103
    argCount: 4
    argNames:
    - fd
    - type
    - count
    - data
    argTypes:
    - FILE*
    - uint16
    - uint32
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 712
    functionDepth: 1
    functionLinenumber: 712
    functionLinenumberEnd: 843
    functionName: PrintData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 1
    functionsReached:
    - PrintASCII
    - fprintf
    - memcpy
    linkageType: ''
    returnType: void
    signature: void PrintData(FILE* fd, uint16 type, uint32 count, unsigned char*
      data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Fatal
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:848,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - what
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 845
    functionDepth: 1
    functionLinenumber: 845
    functionLinenumberEnd: 849
    functionName: ReadError
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 2
    functionsReached:
    - Fatal
    linkageType: ''
    returnType: void
    signature: void ReadError(char* what)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:856,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:857,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - fmt
    - ap
    argTypes:
    - FILE*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 853
    functionDepth: 0
    functionLinenumber: 853
    functionLinenumberEnd: 859
    functionName: vError
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void vError(FILE* fd, const char* fmt, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:865,1
    - Dst: vError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:866,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 868
    functionName: Error
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 276
    functionsReached:
    - va_start
    - va_end
    - vError
    linkageType: ''
    returnType: void
    signature: void Error(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:874,1
    - Dst: vError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:875,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:876,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdump.c:877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 870
    functionDepth: 1
    functionLinenumber: 870
    functionLinenumberEnd: 878
    functionName: Fatal
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdump.c
    functionUses: 3
    functionsReached:
    - va_start
    - exit
    - va_end
    - vError
    linkageType: ''
    returnType: void
    signature: void Fatal(const char* fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    functionName: TIFFhowmany
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: TIFFhowmany8
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:774,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:781,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:800,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:801,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:807,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:814,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:815,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:822,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:823,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:825,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:838,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:841,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:841,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:846,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:870,1
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:889,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:892,1
    - Dst: TIFFCurrentTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:894,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:900,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:906,1
    - Dst: TIFFCurrentTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:908,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:914,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:920,1
    - Dst: TIFFCurrentTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:922,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:926,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:932,1
    - Dst: TIFFCurrentTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:934,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:940,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:946,1
    - Dst: TIFFCurrentTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:948,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:952,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:963,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 108
    argCount: 8
    argNames:
    - in
    - buf
    - imagelength
    - imagewidth
    - tw
    - tl
    - spp
    - bps
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - tsample_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 965
    functionName: readContigTilesIntoBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - extractContigSamplesShifted16bits
    - TIFFTileSize
    - extractContigSamplesShifted8bits
    - TIFFReadTile
    - extractContigSamplesBytes
    - _TIFFmalloc
    - extractContigSamplesShifted24bits
    - _TIFFmemcpy
    - _TIFFfree
    - TIFFCurrentTile
    - exit
    - TIFFTileRowSize
    - extractContigSamplesShifted32bits
    linkageType: ''
    returnType: int
    signature: "int readContigTilesIntoBuffer (TIFF* in, uint8* buf, \n                                      uint32
      imagelength, \n                                      uint32 imagewidth, \n                                      uint32
      tw, uint32 tl,\n                                      tsample_t spp, uint16
      bps)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:978,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:989,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:992,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:995,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1010,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1013,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1013,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1023,1
    - Dst: combineSeparateTileSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1043,1
    - Dst: combineSeparateTileSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1060,1
    - Dst: combineSeparateTileSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1068,1
    - Dst: combineSeparateTileSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1076,1
    - Dst: combineSeparateTileSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1088,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1096,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1108,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 88
    argCount: 8
    argNames:
    - in
    - obuf
    - imagelength
    - imagewidth
    - tw
    - tl
    - spp
    - bps
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 1112
    functionName: readSeparateTilesIntoBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - combineSeparateTileSamples24bits
    - TIFFFileName
    - combineSeparateTileSamples32bits
    - combineSeparateTileSamples16bits
    - TIFFReadTile
    - _TIFFmalloc
    - combineSeparateTileSamplesBytes
    - _TIFFfree
    - combineSeparateTileSamples8bits
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: "int readSeparateTilesIntoBuffer (TIFF* in, uint8 *obuf, \n\t\t\t\t\t
      uint32 imagelength, uint32 imagewidth, \n                                         uint32
      tw, uint32 tl,\n                                         uint16 spp, uint16
      bps)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1120,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1125,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1126,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1128,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - out
    - buf
    - imagelength
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1114
    functionDepth: 1
    functionLinenumber: 1114
    functionLinenumberEnd: 1135
    functionName: writeBufferToContigStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFFileName
    - TIFFGetFieldDefaulted
    - TIFFVStripSize
    linkageType: ''
    returnType: int
    signature: int writeBufferToContigStrips(TIFF* out, uint8* buf, uint32 imagelength)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1156,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1157,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1161,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1162,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1168,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1168,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1177,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1177,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1184,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1194,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1197,1
    - Dst: extractContigSamplesToBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1198,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1200,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1205,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1208,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1211,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1213,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1213,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1214,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1220,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 6
    argNames:
    - out
    - buf
    - length
    - width
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - uint16
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1222
    functionName: writeBufferToSeparateStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - _TIFFfree
    - TIFFFileName
    - dump_buffer
    - TIFFWriteEncodedStrip
    - dump_info
    - TIFFGetFieldDefaulted
    - TIFFScanlineSize
    - _TIFFmalloc
    - memset
    - TIFFStripSize
    - extractContigSamplesToBuffer
    - TIFFVStripSize
    linkageType: ''
    returnType: int
    signature: "int writeBufferToSeparateStrips (TIFF* out, uint8* buf, \n\t\t\t     uint32
      length, uint32 width, uint16 spp,\n\t\t\t     struct dump_opts *dump)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1235,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1238,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1241,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1242,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1243,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1248,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1249,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1256,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1263,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1264,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1272,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1272,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1278,1
    - Dst: extractContigSamplesToTileBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1294,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1297,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1300,1
    - Dst: TIFFWriteTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1304,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1306,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1309,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1314,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 46
    argCount: 6
    argNames:
    - out
    - buf
    - imagelength
    - imagewidth
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - tsample_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1317
    functionName: writeBufferToContigTiles
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - extractContigSamplesToTileBuffer
    - TIFFTileSize
    - TIFFWriteTile
    - _TIFFmalloc
    - _TIFFfree
    - exit
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: "int writeBufferToContigTiles (TIFF* out, uint8* buf, uint32 imagelength,\n\t\t\t\t
      \      uint32 imagewidth, tsample_t spp, \n                                       struct
      dump_opts* dump)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1326,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1326,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1337,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1338,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1339,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1345,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1345,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1347,1
    - Dst: extractContigSamplesToTileBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1368,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1371,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1374,1
    - Dst: TIFFWriteTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1378,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1380,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1384,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1390,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 6
    argNames:
    - out
    - buf
    - imagelength
    - imagewidth
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - tsample_t
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1393
    functionName: writeBufferToSeparateTiles
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - extractContigSamplesToTileBuffer
    - TIFFWriteTile
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: "int writeBufferToSeparateTiles (TIFF* out, uint8* buf, uint32 imagelength,\n\t\t\t\t
      \      uint32 imagewidth, tsample_t spp, \n                                       struct
      dump_opts * dump)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1398,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1403,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1405,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1407,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1410,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1413
      start: 1395
    functionDepth: 0
    functionLinenumber: 1395
    functionLinenumberEnd: 1413
    functionName: processG3Options
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strchr
    - strneq
    - usage
    linkageType: ''
    returnType: void
    signature: void processG3Options(char* cp)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1420,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1424,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1428,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1430,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1435,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1436,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1437,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1439,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1442,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1443,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1446,1
    - Dst: processG3Options
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1448,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1451,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1455,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1457,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1459,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1462,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1464,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1466,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1415
    functionDepth: 0
    functionLinenumber: 1415
    functionLinenumberEnd: 1473
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached:
    - usage
    - streq
    - strchr
    - atoi
    - strneq
    - isdigit
    - processG3Options
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1480,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1480,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1482,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1484
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1484
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 53
    functionsReached:
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1486
    functionDepth: 0
    functionLinenumber: 1486
    functionLinenumberEnd: 1488
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1490
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1490
    functionDepth: 0
    functionLinenumber: 1490
    functionLinenumberEnd: 1492
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1492
    functionDepth: 0
    functionLinenumber: 1492
    functionLinenumberEnd: 1494
    functionName: CopyField4
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1502,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1505,1
    - Dst: CopyField4
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1508,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1512,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1517,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1523,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1526,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1531,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1537,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1540,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1544,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1544,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1548
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1548
    functionName: cpTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField2
    - CopyField
    linkageType: ''
    returnType: void
    signature: void cpTag(TIFF* in, TIFF* out, uint16 tag, uint16 count, TIFFDataType
      type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - count
    - ','
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1591
    functionDepth: 0
    functionLinenumber: 1591
    functionLinenumberEnd: 1592
    functionName: CopyTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyTag(tag, count, type)
  - BBCount: 100
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1613,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1620,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1622,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1623,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1624,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1627,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1630,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1631,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1632,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1636,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1653,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1654,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1655,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1658,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1660,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1664,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1665,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1666,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1669,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1674,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1677,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1679,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1683,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1684,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1685,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1689,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1697,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1697,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1698,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1700,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1701,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1702,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1703,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1707,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1711,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1713,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1716,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1720,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1721,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1722,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1728,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1729,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1730,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1743,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1745,1
    - Dst: strpbrk
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1747,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1750,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1751,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1752,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1757,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1759,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1761,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1764,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1766,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1768,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1771,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1775,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1778,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1782,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1783,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1784,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1790,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1791,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1793,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1795,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1799,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1801,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1804,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1805,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1808,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1808,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1811,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1814,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1815,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1816,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1825,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1827,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1829,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1833,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1843,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1844,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1845,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1850,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1858,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1859,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1860,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1864,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1870,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1875,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1880,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1885,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1891,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1892,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1893,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1896,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1900,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1904,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1906,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1913,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1922,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1931,1
    - Dst: strpbrk
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1935,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1937,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1941,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1942,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1945,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1956,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1964,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1965,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1966,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1970,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1972,1
    - Dst: get_page_geometry
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1976,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1978,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1980,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1982,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1985,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1988,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1989,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1990,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1992,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:1995,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2004,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2012,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2013,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2014,1
    - Dst: strpbrk
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2018,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2022,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2023,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2027,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2028,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2032,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2033,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2038,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2043,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2048,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2055,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2056,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2057,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2061,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2066,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2070,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2074,1
    - Dst: strtok
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2076,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2079,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2081,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2082,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2085,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2086,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2091,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2092,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2095,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2096,1
    CyclomaticComplexity: 127
    EdgeCount: 127
    ICount: 429
    argCount: 15
    argNames:
    - argc
    - argv
    - mp
    - mode
    - dirnum
    - defconfig
    - deffillorder
    - deftilewidth
    - deftilelength
    - defrowsperstrip
    - crop_data
    - page
    - dump
    - imagelist
    - image_count
    argTypes:
    - int
    - char*[]
    - char*
    - char*
    - uint32*
    - uint16*
    - uint16*
    - uint32*
    - uint32*
    - uint32*
    - struct crop_mask*
    - struct pagedef*
    - struct dump_opts*
    - unsigned int*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 2100
    functionName: process_command_opts
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - strtoul
    - sscanf
    - TIFFGetVersion
    - get_page_geometry
    - atol
    - strlen
    - atof
    - tolower
    - getopt
    - TIFFError
    - usage
    - strcmp
    - streq
    - strpbrk
    - strtok
    - strcpy
    - strncpy
    - strchr
    - strncmp
    - processCompressOptions
    - atoi
    - exit
    linkageType: ''
    returnType: void
    signature: "void process_command_opts (int argc, char *argv[], char *mp, char
      *mode, uint32 *dirnum,\n\t                    uint16 *defconfig, uint16 *deffillorder,
      uint32 *deftilewidth,\n                            uint32 *deftilelength, uint32
      *defrowsperstrip,\n\t\t            struct crop_mask *crop_data, struct pagedef
      *page, \n                            struct dump_opts *dump,\n                            unsigned
      int     *imagelist, unsigned int   *image_count )"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2119,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2123,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2124,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2129,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2135,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2135,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2137,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2141,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2143,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2148,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2153,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2157,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2160,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 5
    argNames:
    - tiffout
    - mode
    - autoindex
    - outname
    - page
    argTypes:
    - TIFF**
    - char*
    - int
    - char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2106
    functionDepth: 1
    functionLinenumber: 2106
    functionLinenumberEnd: 2171
    functionName: update_output_file
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - strstr
    - strlen
    - TIFFClose
    - strncpy
    - memset
    - memcpy
    - snprintf
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: "int update_output_file (TIFF **tiffout, char *mode, int autoindex,\n
      \                   char *outname, unsigned int *page)"
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: initImageData
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2218,1
    - Dst: initCropMasks
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2219,1
    - Dst: initPageSetup
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2220,1
    - Dst: initDumpOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2221,1
    - Dst: process_command_opts
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2223,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2228,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2237,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2242,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2245,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2245,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2247,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2275,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2275,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2279,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2283,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2285,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2285,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2287,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2307,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2311,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2315,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2318,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2320,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2321,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2323,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2324,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2326,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2330,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2334,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2337,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2339,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2340,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2342,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2343,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2348,1
    - Dst: loadImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2350,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2352,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2353,1
    - Dst: correct_orientation
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2360,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2361,1
    - Dst: getCropOffsets
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2364,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2366,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2367,1
    - Dst: processCropSelections
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2372,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2374,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2375,1
    - Dst: createCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2380,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2382,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2383,1
    - Dst: writeSelections
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2390,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2395,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2397,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2398,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2401,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2402,1
    - Dst: computeOutputPixelOffsets
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2416,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2418,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2419,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2424,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2425,1
    - Dst: writeImageSections
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2427,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2429,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2430,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2444,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2446,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2449,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2455,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2458,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2461,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2465,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2470,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2474,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2474,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2475,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2479,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2482
      start: 2174
    functionDepth: 2
    functionLinenumber: 2174
    functionLinenumberEnd: 2482
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 15
    functionsReached:
    - strlen
    - initImageData
    - snprintf
    - writeSelections
    - fclose
    - process_command_opts
    - computeOutputPixelOffsets
    - dump_info
    - getCropOffsets
    - processCropSelections
    - TIFFClose
    - TIFFNumberOfDirectories
    - initCropMasks
    - createCroppedImage
    - initPageSetup
    - usage
    - TIFFError
    - writeCroppedImage
    - fopen
    - initDumpOptions
    - update_output_file
    - TIFFFileName
    - TIFFSetDirectory
    - loadImage
    - writeImageSections
    - correct_orientation
    - _TIFFfree
    - exit
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2495,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2501,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2507,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2510,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2512,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2516,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 5
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    - count
    argTypes:
    - FILE*
    - int
    - char*
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2524
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2524
    functionName: dump_data
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    - sprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_data (FILE *dumpfile, int format, char *dump_tag, unsigned
      char *data, uint32 count)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2534,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2540,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2544,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2547,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2551,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2559
      start: 2526
    functionDepth: 1
    functionLinenumber: 2526
    functionLinenumberEnd: 2559
    functionName: dump_byte
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    - sprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_byte (FILE *dumpfile, int format, char *dump_tag, unsigned
      char data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2569,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2575,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2579,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2581,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2584,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2588,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2590,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2561
    functionDepth: 1
    functionLinenumber: 2561
    functionLinenumberEnd: 2596
    functionName: dump_short
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    - sprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_short (FILE *dumpfile, int format, char *dump_tag, uint16
      data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2606,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2612,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2616,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2618,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2621,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2625,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2627,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2632
      start: 2598
    functionDepth: 1
    functionLinenumber: 2598
    functionLinenumberEnd: 2632
    functionName: dump_long
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    - sprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_long (FILE *dumpfile, int format, char *dump_tag, uint32 data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2648,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2652,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2654,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2657,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2661,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2663,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - dumpfile
    - format
    - dump_tag
    - data
    argTypes:
    - FILE*
    - int
    - char*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2669
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2669
    functionName: dump_wide
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - fprintf
    - sprintf
    - fwrite
    linkageType: ''
    returnType: int
    signature: int dump_wide (FILE *dumpfile, int format, char *dump_tag, uint64 data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2677,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2678,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2679,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - dumpfile
    - format
    - prefix
    - msg
    argTypes:
    - FILE*
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2682
      start: 2671
    functionDepth: 0
    functionLinenumber: 2671
    functionLinenumberEnd: 2682
    functionName: dump_info
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - va_start
    - fprintf
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void dump_info(FILE *dumpfile, int format, char *prefix, char *msg,
      ...)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2693,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2701,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2706,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2708,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 6
    argNames:
    - dumpfile
    - format
    - rows
    - width
    - row
    - buff
    argTypes:
    - FILE*
    - int
    - uint32
    - uint32
    - uint32
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2711
      start: 2684
    functionDepth: 2
    functionLinenumber: 2684
    functionLinenumberEnd: 2711
    functionName: dump_buffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_data
    - dump_info
    linkageType: ''
    returnType: int
    signature: "int dump_buffer (FILE* dumpfile, int format, uint32 rows, uint32 width,
      \n                 uint32 row, unsigned char *buff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2732,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2738,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2744,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2756,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 34
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2719
    functionDepth: 1
    functionLinenumber: 2719
    functionLinenumberEnd: 2783
    functionName: extractContigSamplesBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesBytes (uint8 *in, uint8 *out, uint32 cols,
      \n                           tsample_t sample, uint16 spp, uint16 bps, \n                           tsample_t
      count, uint32 start, uint32 end)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2799,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2805,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2811,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2860
      start: 2785
    functionDepth: 1
    functionLinenumber: 2785
    functionLinenumberEnd: 2860
    functionName: extractContigSamples8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples8bits (uint8 *in, uint8 *out, uint32 cols,\n
      \                          tsample_t sample, uint16 spp, uint16 bps, \n                           tsample_t
      count, uint32 start, uint32 end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2877,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2883,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2889,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2862
    functionDepth: 1
    functionLinenumber: 2862
    functionLinenumberEnd: 2948
    functionName: extractContigSamples16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples16bits (uint8 *in, uint8 *out, uint32 cols,
      \n                            tsample_t sample, uint16 spp, uint16 bps, \n                            tsample_t
      count, uint32 start, uint32 end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2966,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2972,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:2978,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3042
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 3042
    functionName: extractContigSamples24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples24bits (uint8 *in, uint8 *out, uint32 cols,\n
      \t                    tsample_t sample, uint16 spp, uint16 bps, \n                            tsample_t
      count, uint32 start, uint32 end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3060,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3067,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3073,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 61
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3044
    functionDepth: 1
    functionLinenumber: 3044
    functionLinenumberEnd: 3147
    functionName: extractContigSamples32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamples32bits (uint8 *in, uint8 *out, uint32 cols,\n
      \                           tsample_t sample, uint16 spp, uint16 bps, \n \t\t\t
      \   tsample_t count, uint32 start, uint32 end)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3164,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3170,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3176,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3149
    functionDepth: 1
    functionLinenumber: 3149
    functionLinenumberEnd: 3227
    functionName: extractContigSamplesShifted8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted8bits (uint8 *in, uint8 *out, uint32
      cols,\n                                  tsample_t sample, uint16 spp, uint16
      bps, \n\t\t\t          tsample_t count, uint32 start, uint32 end,\n \t                          int
      shift)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3245,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3251,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3316
      start: 3229
    functionDepth: 1
    functionLinenumber: 3229
    functionLinenumberEnd: 3316
    functionName: extractContigSamplesShifted16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted16bits (uint8 *in, uint8 *out, uint32
      cols, \n                                   tsample_t sample, uint16 spp, uint16
      bps, \n  \t\t\t           tsample_t count, uint32 start, uint32 end,\n \t                           int
      shift)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3335,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3341,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3347,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3415
      start: 3319
    functionDepth: 1
    functionLinenumber: 3319
    functionLinenumberEnd: 3415
    functionName: extractContigSamplesShifted24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted24bits (uint8 *in, uint8 *out, uint32
      cols,\n \t                           tsample_t sample, uint16 spp, uint16 bps,
      \n                                   tsample_t count, uint32 start, uint32 end,\n\t
      \                          int shift)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3434,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3441,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3447,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 10
    argNames:
    - in
    - out
    - cols
    - sample
    - spp
    - bps
    - count
    - start
    - end
    - shift
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - tsample_t
    - uint16
    - uint16
    - tsample_t
    - uint32
    - uint32
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3523
      start: 3417
    functionDepth: 1
    functionLinenumber: 3417
    functionLinenumberEnd: 3523
    functionName: extractContigSamplesShifted32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesShifted32bits (uint8 *in, uint8 *out, uint32
      cols,\n                                   tsample_t sample, uint16 spp, uint16
      bps, \n \t\t\t           tsample_t count, uint32 start, uint32 end,\n\t                           int
      shift)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3552,1
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3565,1
    - Dst: extractContigSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3571,1
    - Dst: extractContigSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3577,1
    - Dst: extractContigSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3581,1
    - Dst: extractContigSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3587,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3591,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3595,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 8
    argNames:
    - out
    - in
    - rows
    - cols
    - sample
    - spp
    - bps
    - dump
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - uint32
    - tsample_t
    - uint16
    - uint16
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3599
      start: 3525
    functionDepth: 3
    functionLinenumber: 3525
    functionLinenumberEnd: 3599
    functionName: extractContigSamplesToBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    - extractContigSamples24bits
    - extractContigSamplesBytes
    - extractContigSamples8bits
    - extractContigSamples32bits
    - extractContigSamples16bits
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesToBuffer(uint8 *out, uint8 *in, uint32 rows,
      uint32 cols,\n  \t                     tsample_t sample, uint16 spp, uint16
      bps, \n                             struct dump_opts *dump)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3625,1
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3642,1
    - Dst: extractContigSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3648,1
    - Dst: extractContigSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3654,1
    - Dst: extractContigSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3658,1
    - Dst: extractContigSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3664,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3668,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3672,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 11
    argNames:
    - out
    - in
    - rows
    - cols
    - imagewidth
    - tilewidth
    - sample
    - count
    - spp
    - bps
    - dump
    argTypes:
    - uint8*
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - tsample_t
    - uint16
    - uint16
    - uint16
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3676
      start: 3601
    functionDepth: 3
    functionLinenumber: 3601
    functionLinenumberEnd: 3676
    functionName: extractContigSamplesToTileBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    - extractContigSamples24bits
    - extractContigSamplesBytes
    - extractContigSamples8bits
    - extractContigSamples32bits
    - extractContigSamples16bits
    linkageType: ''
    returnType: int
    signature: "int extractContigSamplesToTileBuffer(uint8 *out, uint8 *in, uint32
      rows, uint32 cols,\n  \t                         uint32 imagewidth, uint32 tilewidth,
      tsample_t sample,\n\t\t\t\t uint16 count, uint16 spp, uint16 bps, struct dump_opts
      *dump)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3682,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3683,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3685,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3686,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3689,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3694,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3697,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3702,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 2
    argNames:
    - in
    - buf
    argTypes:
    - TIFF*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3710
      start: 3678
    functionDepth: 1
    functionLinenumber: 3678
    functionLinenumberEnd: 3710
    functionName: readContigStripsIntoBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - TIFFStripSize
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int readContigStripsIntoBuffer (TIFF* in, uint8* buf)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3727,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3741,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3742,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3762,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3763,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 9
    argNames:
    - srcbuffs
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - unsigned char*[]
    - unsigned char*
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3768
      start: 3712
    functionDepth: 3
    functionLinenumber: 3712
    functionLinenumberEnd: 3768
    functionName: combineSeparateSamplesBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamplesBytes (unsigned char *srcbuffs[], unsigned
      char *out,\n                             uint32 cols, uint32 rows, uint16 spp,
      uint16 bps,\n                             FILE *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3789,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3824,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3829,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3835,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3838,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3839,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3840,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3841,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3842,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3853,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3856,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3862,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3863,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3868
      start: 3770
    functionDepth: 3
    functionLinenumber: 3770
    functionLinenumberEnd: 3868
    functionName: combineSeparateSamples8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    - strcpy
    - dump_byte
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples8bits (uint8 *in[], uint8 *out, uint32 cols,\n
      \                           uint32 rows, uint16 spp, uint16 bps, \n \t                    FILE
      *dumpfile, int format, int level)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3889,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3930,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3936,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3942,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3946,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3947,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3948,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3949,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3950,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3951,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3963,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3966,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3972,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3973,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3978
      start: 3870
    functionDepth: 3
    functionLinenumber: 3870
    functionLinenumberEnd: 3978
    functionName: combineSeparateSamples16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_short
    - dump_info
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples16bits (uint8 *in[], uint8 *out, uint32
      cols,\n                              uint32 rows, uint16 spp, uint16 bps, \n
      \t                      FILE *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:3999,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4042,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4048,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4054,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4057,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4058,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4059,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4060,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4061,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4062,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4063,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4081,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4085,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4086,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4087,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4088,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4089,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4090,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4091,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4096,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4097,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4102
      start: 3980
    functionDepth: 3
    functionLinenumber: 3980
    functionLinenumberEnd: 4102
    functionName: combineSeparateSamples24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_long
    - dump_info
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples24bits (uint8 *in[], uint8 *out, uint32
      cols,\n                              uint32 rows, uint16 spp, uint16 bps, \n\t
      \                     FILE *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4124,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4179,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4185,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4191,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4194,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4195,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4196,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4197,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4198,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4212,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4216,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4217,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4218,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4219,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4220,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4221,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4222,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4227,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4228,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 9
    argNames:
    - in
    - out
    - cols
    - rows
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4233
      start: 4104
    functionDepth: 3
    functionLinenumber: 4104
    functionLinenumberEnd: 4233
    functionName: combineSeparateSamples32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_long
    - dump_info
    - dump_wide
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateSamples32bits (uint8 *in[], uint8 *out, uint32
      cols,\n                              uint32 rows, uint16 spp, uint16 bps, \n\t
      \                     FILE *dumpfile, int format, int level)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4251,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4264,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4265,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4271,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4288,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4289,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 11
    argNames:
    - srcbuffs
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - unsigned char*[]
    - unsigned char*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4235
    functionDepth: 3
    functionLinenumber: 4235
    functionLinenumberEnd: 4294
    functionName: combineSeparateTileSamplesBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamplesBytes (unsigned char *srcbuffs[], unsigned
      char *out,\n                                 uint32 cols, uint32 rows, uint32
      imagewidth,\n                                 uint32 tw, uint16 spp, uint16
      bps,\n                                 FILE *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4315,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4349,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4354,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4360,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4363,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4364,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4365,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4366,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4367,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4378,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4381,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4387,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4388,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4393
      start: 4296
    functionDepth: 3
    functionLinenumber: 4296
    functionLinenumberEnd: 4393
    functionName: combineSeparateTileSamples8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_info
    - strcpy
    - dump_byte
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples8bits (uint8 *in[], uint8 *out, uint32
      cols,\n                                 uint32 rows, uint32 imagewidth, \n                                 uint32
      tw, uint16 spp, uint16 bps, \n \t                         FILE *dumpfile, int
      format, int level)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4415,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4454,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4460,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4466,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4470,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4471,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4472,1
    - Dst: dump_short
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4473,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4474,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4475,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4487,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4490,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4496,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4497,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4502
      start: 4395
    functionDepth: 3
    functionLinenumber: 4395
    functionLinenumberEnd: 4502
    functionName: combineSeparateTileSamples16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_short
    - dump_info
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples16bits (uint8 *in[], uint8 *out, uint32
      cols,\n                                  uint32 rows, uint32 imagewidth, \n
      \                                 uint32 tw, uint16 spp, uint16 bps, \n \t                          FILE
      *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4524,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4566,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4572,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4578,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4581,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4582,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4583,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4584,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4585,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4586,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4587,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4605,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4609,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4610,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4611,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4612,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4613,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4614,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4615,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4620,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4621,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4626
      start: 4504
    functionDepth: 3
    functionLinenumber: 4504
    functionLinenumberEnd: 4626
    functionName: combineSeparateTileSamples24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_long
    - dump_info
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples24bits (uint8 *in[], uint8 *out, uint32
      cols,\n                                  uint32 rows, uint32 imagewidth, \n
      \                                 uint32 tw, uint16 spp, uint16 bps, \n \t                          FILE
      *dumpfile, int format, int level)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4649,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4704,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4710,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4716,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4719,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4720,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4721,1
    - Dst: dump_wide
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4722,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4723,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4737,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4741,1
    - Dst: dump_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4742,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4743,1
    - Dst: dump_long
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4744,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4745,1
    - Dst: dump_byte
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4746,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4747,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4752,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4753,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 79
    argCount: 11
    argNames:
    - in
    - out
    - cols
    - rows
    - imagewidth
    - tw
    - spp
    - bps
    - dumpfile
    - format
    - level
    argTypes:
    - uint8*[]
    - uint8*
    - uint32
    - uint32
    - uint32
    - uint32
    - uint16
    - uint16
    - FILE*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4628
    functionDepth: 3
    functionLinenumber: 4628
    functionLinenumberEnd: 4758
    functionName: combineSeparateTileSamples32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - dump_buffer
    - dump_long
    - dump_info
    - dump_wide
    - strcpy
    - dump_byte
    - dump_data
    linkageType: ''
    returnType: int
    signature: "int combineSeparateTileSamples32bits (uint8 *in[], uint8 *out, uint32
      cols,\n                                  uint32 rows, uint32 imagewidth, \n
      \                                 uint32 tw, uint16 spp, uint16 bps, \n \t                          FILE
      *dumpfile, int format, int level)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4775,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4776,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4783,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4787,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4788,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4789,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4790,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4807,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4810,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4820,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4826,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4827,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4833,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4836,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4839,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4855,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4859,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4859,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4866,1
    - Dst: combineSeparateSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4876,1
    - Dst: combineSeparateSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4888,1
    - Dst: combineSeparateSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4896,1
    - Dst: combineSeparateSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4904,1
    - Dst: combineSeparateSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4916,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4924,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4946,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 113
    argCount: 6
    argNames:
    - in
    - obuf
    - length
    - width
    - spp
    - dump
    argTypes:
    - TIFF*
    - uint8*
    - uint32
    - uint32
    - uint16
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4950
      start: 4761
    functionDepth: 4
    functionLinenumber: 4761
    functionLinenumberEnd: 4950
    functionName: readSeparateStripsIntoBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - combineSeparateSamplesBytes
    - combineSeparateSamples16bits
    - dump_info
    - combineSeparateSamples8bits
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - combineSeparateSamples32bits
    - TIFFScanlineSize
    - memset
    - _TIFFmalloc
    - combineSeparateSamples24bits
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    - exit
    linkageType: ''
    returnType: int
    signature: "int readSeparateStripsIntoBuffer (TIFF *in, uint8 *obuf, uint32 length,
      \n                                         uint32 width, uint16 spp,\n                                         struct
      dump_opts *dump)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4959,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4963,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4967,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - name
    - page
    argTypes:
    - char*
    - struct pagedef*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4974
      start: 4952
    functionDepth: 0
    functionLinenumber: 4952
    functionLinenumberEnd: 4974
    functionName: get_page_geometry
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strncpy
    - tolower
    - strcmp
    linkageType: ''
    returnType: int
    signature: int get_page_geometry (char *name, struct pagedef *page)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:4983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - page
    - pagelist
    - seg_buffs
    argTypes:
    - struct pagedef*
    - struct pageseg*
    - struct buffinfo[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5012
      start: 4977
    functionDepth: 0
    functionLinenumber: 4977
    functionLinenumberEnd: 5012
    functionName: initPageSetup
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - strcpy
    linkageType: ''
    returnType: void
    signature: "void initPageSetup (struct pagedef *page, struct pageseg *pagelist,
      \n               struct buffinfo seg_buffs[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - image
    argTypes:
    - struct image_data*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5029
      start: 5014
    functionDepth: 0
    functionLinenumber: 5014
    functionLinenumberEnd: 5029
    functionName: initImageData
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initImageData (struct image_data *image)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 35
    argCount: 1
    argNames:
    - cps
    argTypes:
    - struct crop_mask*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5071
      start: 5031
    functionDepth: 0
    functionLinenumber: 5031
    functionLinenumberEnd: 5071
    functionName: initCropMasks
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void initCropMasks (struct crop_mask *cps)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5078,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5079,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - dump
    argTypes:
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5083
      start: 5073
    functionDepth: 0
    functionLinenumber: 5073
    functionLinenumberEnd: 5083
    functionName: initDumpOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - memset
    - sprintf
    linkageType: ''
    returnType: void
    signature: void initDumpOptions(struct dump_opts *dump)
  - BBCount: 47
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5113,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5114,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5232,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5239,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5340,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5349,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 184
    argCount: 3
    argNames:
    - crop
    - image
    - 'off'
    argTypes:
    - struct crop_mask*
    - struct image_data*
    - struct offset*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5360
      start: 5086
    functionDepth: 1
    functionLinenumber: 5086
    functionLinenumberEnd: 5360
    functionName: computeInputPixelOffsets
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int computeInputPixelOffsets(struct crop_mask *crop, struct image_data
      *image,\n                         struct offset *off)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5383,1
    - Dst: computeInputPixelOffsets
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5395,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5397,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5423,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5425,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5580,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 136
    argCount: 3
    argNames:
    - image
    - crop
    - dump
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5587
      start: 5373
    functionDepth: 2
    functionLinenumber: 5373
    functionLinenumberEnd: 5587
    functionName: getCropOffsets
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - computeInputPixelOffsets
    - TIFFError
    - memset
    - dump_info
    linkageType: ''
    returnType: int
    signature: int getCropOffsets(struct image_data *image, struct crop_mask *crop,
      struct dump_opts *dump)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5640,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5660,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5664,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5684,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5691,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5707,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5710,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5711,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5737,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5738,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5743,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5744,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5753,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5754,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5755,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5756,1
    - Dst: TIFFhowmany8
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5786,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5790,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 144
    argCount: 5
    argNames:
    - crop
    - image
    - page
    - sections
    - dump
    argTypes:
    - struct crop_mask*
    - struct image_data*
    - struct pagedef*
    - struct pageseg*
    - struct dump_opts*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5818
      start: 5590
    functionDepth: 1
    functionLinenumber: 5590
    functionLinenumberEnd: 5818
    functionName: computeOutputPixelOffsets
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFhowmany
    - TIFFError
    - TIFFhowmany8
    linkageType: ''
    returnType: int
    signature: "int computeOutputPixelOffsets (struct crop_mask *crop, struct image_data
      *image,\n                           struct pagedef *page, struct pageseg *sections,\n
      \                          struct dump_opts* dump)"
  - BBCount: 80
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5840,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5841,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5842,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5843,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5844,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5845,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5846,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5847,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5848,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5849,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5850,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5851,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5852,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5854,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5863,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5866,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5869,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5872,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5875,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5878,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5881,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5884,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5887,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5890,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5893,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5896,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5899,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5902,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5905,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5908,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5911,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5914,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5917,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5920,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5923,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5926,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5943,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5946,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5949,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5952,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5955,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5958,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5961,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5964,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5967,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5970,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5973,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5976,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5979,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:5982,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6020,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6025,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6028,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6029,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6030,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6031,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6033,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6036,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6037,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6042,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6043,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6051,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6052,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6056,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6063,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6071,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6072,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6073,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6076,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6077,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6083,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6084,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6089,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6090,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6096,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6103,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6111,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6118,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6122,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6137,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6140,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6148,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6151,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6154,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6155,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6163,1
    - Dst: readContigStripsIntoBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6182,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6184,1
    - Dst: readSeparateStripsIntoBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6190,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6192,1
    - Dst: readContigTilesIntoBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6201,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6203,1
    - Dst: readSeparateTilesIntoBuffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6209,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6211,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6216,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6222,1
    - Dst: dump_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6225,1
    - Dst: dump_buffer
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6229,1
    CyclomaticComplexity: 88
    EdgeCount: 88
    ICount: 301
    argCount: 4
    argNames:
    - in
    - image
    - dump
    - read_ptr
    argTypes:
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6233
      start: 5820
    functionDepth: 5
    functionLinenumber: 5820
    functionLinenumberEnd: 6233
    functionName: loadImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - readContigTilesIntoBuffer
    - TIFFIsTiled
    - TIFFScanlineSize
    - _TIFFmalloc
    - readSeparateTilesIntoBuffer
    - TIFFGetField
    - dump_info
    - TIFFNumberOfTiles
    - readSeparateStripsIntoBuffer
    - TIFFError
    - dump_buffer
    - TIFFSetField
    - _TIFFrealloc
    - TIFFTileSize
    - free
    - TIFFStripSize
    - readContigStripsIntoBuffer
    - TIFFGetFieldDefaulted
    - strcpy
    - TIFFNumberOfStrips
    - exit
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int loadImage(TIFF* in, struct image_data *image, struct dump_opts
      *dump, unsigned char **read_ptr)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6243,1
    - Dst: mirrorImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6250,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6253,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6270,1
    - Dst: rotateImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6275,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - image
    - work_buff_ptr
    argTypes:
    - struct image_data*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6284
      start: 6235
    functionDepth: 1
    functionLinenumber: 6235
    functionLinenumberEnd: 6284
    functionName: correct_orientation
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - rotateImage
    - TIFFError
    - mirrorImage
    linkageType: ''
    returnType: int
    signature: int correct_orientation(struct image_data *image, unsigned char **work_buff_ptr)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6355,1
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6371,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6375,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6382,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6387,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6394,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6399,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6404,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6409,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6416,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6421,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6426,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6436,1
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6453,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6457,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6464,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6469,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6476,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6481,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6486,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6491,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6498,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6503,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6508,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6520,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 152
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff
    - crop_buff
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6523
      start: 6288
    functionDepth: 2
    functionLinenumber: 6288
    functionLinenumberEnd: 6523
    functionName: extractCompositeRegions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - extractContigSamplesShifted16bits
    - extractContigSamplesShifted24bits
    - extractContigSamplesBytes
    - extractContigSamplesShifted8bits
    - extractContigSamplesShifted32bits
    linkageType: ''
    returnType: int
    signature: "int extractCompositeRegions(struct image_data *image,  struct crop_mask
      *crop, \n                        unsigned char *read_buff, unsigned char *crop_buff)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: extractContigSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6596,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6600,1
    - Dst: extractContigSamplesShifted8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6607,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6612,1
    - Dst: extractContigSamplesShifted16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6619,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6624,1
    - Dst: extractContigSamplesShifted24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6629,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6634,1
    - Dst: extractContigSamplesShifted32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6641,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6646,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6651,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 71
    argCount: 5
    argNames:
    - image
    - crop
    - read_buff
    - crop_buff
    - region
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6657
      start: 6536
    functionDepth: 2
    functionLinenumber: 6536
    functionLinenumberEnd: 6657
    functionName: extractSeparateRegion
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - extractContigSamplesShifted16bits
    - extractContigSamplesBytes
    - extractContigSamplesShifted24bits
    - extractContigSamplesShifted8bits
    - extractContigSamplesShifted32bits
    linkageType: ''
    returnType: int
    signature: "int extractSeparateRegion(struct image_data *image,  struct crop_mask
      *crop,\n                      unsigned char *read_buff, unsigned char *crop_buff,\n
      \                     int region)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6705,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6707,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6728,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6730,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6732,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6746,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6748,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6767,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6769,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6770,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6774,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6777,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6784,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6787,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6788,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6789,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6793,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6805,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6810,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6813,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6821,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6830,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6831,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6835,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6845,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6853,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6863,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6873,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6874,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6878,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6881,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 122
    argCount: 4
    argNames:
    - image
    - section
    - src_buff
    - sect_buff
    argTypes:
    - struct image_data*
    - struct pageseg*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6889
      start: 6659
    functionDepth: 5
    functionLinenumber: 6659
    functionLinenumberEnd: 6889
    functionName: extractImageSection
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - malloc
    - TIFFError
    - _TIFFmemcpy
    - sprintf
    linkageType: ''
    returnType: int
    signature: "int extractImageSection(struct image_data *image, struct pageseg *section,
      \n                    unsigned char *src_buff, unsigned char *sect_buff)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6907,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6910,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6915,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6921,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6927,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6932,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6939,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6943,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6948,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6955,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6962,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6967,1
    - Dst: update_output_file
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6977,1
    - Dst: writeCroppedImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6982,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:6987,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 66
    argCount: 10
    argNames:
    - in
    - out
    - crop
    - image
    - dump
    - seg_buffs
    - mp
    - filename
    - page
    - total_pages
    argTypes:
    - TIFF*
    - TIFF**
    - struct crop_mask*
    - struct image_data*
    - struct dump_opts*
    - struct buffinfo[]
    - char*
    - char*
    - unsigned int*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6996
      start: 6891
    functionDepth: 2
    functionLinenumber: 6891
    functionLinenumberEnd: 6996
    functionName: writeSelections
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - update_output_file
    - writeCroppedImage
    linkageType: ''
    returnType: int
    signature: "int writeSelections(TIFF *in, TIFF **out, struct crop_mask *crop,
      \n                struct image_data *image, struct dump_opts *dump,\n                struct
      buffinfo seg_buffs[], char *mp, char *filename, \n                unsigned int
      *page, unsigned int total_pages)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7014,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7024,1
    - Dst: createImageSection
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7026,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7028,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7029,1
    - Dst: extractImageSection
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7033,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7035,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7036,1
    - Dst: writeSingleSection
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7040,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7042,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7043,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 8
    argNames:
    - in
    - out
    - image
    - page
    - sections
    - dump
    - src_buff
    - sect_buff_ptr
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct pagedef*
    - struct pageseg*
    - struct dump_opts*
    - unsigned char*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7048
      start: 6998
    functionDepth: 6
    functionLinenumber: 6998
    functionLinenumberEnd: 7048
    functionName: writeImageSections
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - extractImageSection
    - TIFFError
    - writeSingleSection
    - ceil
    - createImageSection
    - exit
    linkageType: ''
    returnType: int
    signature: "int writeImageSections(TIFF *in, TIFF *out, struct image_data *image,\n\t\t
      \  struct pagedef *page, struct pageseg *sections,\n\t\t   struct dump_opts
      * dump, unsigned char *src_buff,\n                   unsigned char **sect_buff_ptr)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7075,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7076,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7077,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7078,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7081,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7091,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7098,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7101,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7109,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7117,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7119,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7124,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7127,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7131,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7141,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7147,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7149,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7158,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7166,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7175,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7177,1
    - Dst: TIFFDefaultTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7180,1
    - Dst: TIFFDefaultTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7181,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7182,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7183,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7192,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7193,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7203,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7206,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7208,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7210,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7212,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7213,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7223,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7224,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7228,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7237,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7239,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7245,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7247,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7249,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7251,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7252,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7253,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7254,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7255,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7256,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7261,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7262,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7266,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7267,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7268,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7269,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7272,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7275,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7279,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7285,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7287,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7289,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7294,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7297,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7298,1
    - Dst: writeBufferToContigTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7304,1
    - Dst: writeBufferToSeparateTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7306,1
    - Dst: writeBufferToContigStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7311,1
    - Dst: writeBufferToSeparateStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7313,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7316,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7318,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 149
    argCount: 9
    argNames:
    - in
    - out
    - image
    - dump
    - width
    - length
    - hres
    - vres
    - sect_buff
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - uint32
    - uint32
    - double
    - double
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7323
      start: 7056
    functionDepth: 2
    functionLinenumber: 7056
    functionLinenumberEnd: 7323
    functionName: writeSingleSection
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - writeBufferToContigTiles
    - TIFFError
    - TIFFGetField
    - TIFFSetField
    - TIFFDefaultStripSize
    - TIFFGetFieldDefaulted
    - strlen
    - writeBufferToSeparateTiles
    - TIFFIsTiled
    - TIFFClose
    - strchr
    - writeBufferToContigStrips
    - TIFFWriteDirectory
    - writeBufferToSeparateStrips
    - CopyField
    - TIFFDefaultTileSize
    - CopyTag
    linkageType: ''
    returnType: int
    signature: "int writeSingleSection(TIFF *in, TIFF *out, struct image_data *image,\n
      \                  struct dump_opts *dump, uint32 width, uint32 length,\n                   double
      hres, double vres,\n                   unsigned char *sect_buff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7338,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7340,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7346,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7349,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7350,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7355,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7361,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - sectsize
    - sect_buff_ptr
    argTypes:
    - uint32
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7368
      start: 7327
    functionDepth: 1
    functionLinenumber: 7327
    functionLinenumberEnd: 7368
    functionName: createImageSection
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFmemset
    - _TIFFrealloc
    - free
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int createImageSection(uint32 sectsize, unsigned char **sect_buff_ptr)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7391,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7397,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7400,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7401,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7410,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7414,1
    - Dst: extractCompositeRegions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7419,1
    - Dst: invertImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7433,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7436,1
    - Dst: mirrorImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7462,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7465,1
    - Dst: rotateImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7473,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7476,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7493,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7499,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7502,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7503,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7512,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7516,1
    - Dst: extractSeparateRegion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7520,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7522,1
    - Dst: invertImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7540,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7543,1
    - Dst: mirrorImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7568,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7571,1
    - Dst: rotateImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7579,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7582,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 149
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff_ptr
    - seg_buffs
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char**
    - struct buffinfo[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7597
      start: 7372
    functionDepth: 3
    functionLinenumber: 7372
    functionLinenumberEnd: 7597
    functionName: processCropSelections
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFmemset
    - extractSeparateRegion
    - _TIFFrealloc
    - mirrorImage
    - rotateImage
    - extractCompositeRegions
    - invertImage
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: "int processCropSelections(struct image_data *image, struct crop_mask
      *crop, \n                      unsigned char **read_buff_ptr, struct buffinfo
      seg_buffs[])"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7629,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7631,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7638,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7641,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7642,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7646,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7652,1
    - Dst: invertImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7668,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7671,1
    - Dst: mirrorImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7696,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7699,1
    - Dst: rotateImage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7707,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7710,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 4
    argNames:
    - image
    - crop
    - read_buff_ptr
    - crop_buff_ptr
    argTypes:
    - struct image_data*
    - struct crop_mask*
    - unsigned char**
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7720
      start: 7607
    functionDepth: 1
    functionLinenumber: 7607
    functionLinenumberEnd: 7720
    functionName: createCroppedImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFmemset
    - _TIFFrealloc
    - mirrorImage
    - rotateImage
    - invertImage
    - free
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: "int createCroppedImage(struct image_data *image, struct crop_mask
      *crop, \n                   unsigned char **read_buff_ptr, unsigned char **crop_buff_ptr)"
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7749,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7750,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7751,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7752,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7755,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7761,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7768,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7771,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7779,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7787,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7789,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7795,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7803,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7807,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7816,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7822,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7824,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7833,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7841,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7850,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7852,1
    - Dst: TIFFDefaultTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7855,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7856,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7857,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7866,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7867,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7877,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7880,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7882,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7884,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7886,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7887,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7894,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7895,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7899,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7908,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7910,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7916,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7922,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7924,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7926,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7928,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7929,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7930,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7931,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7932,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7933,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7941,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7942,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7946,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7947,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7948,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7949,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7952,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7955,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7959,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7965,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7966,1
    - Dst: CopyTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7971,1
    - Dst: writeBufferToContigTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7978,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7979,1
    - Dst: writeBufferToSeparateTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7983,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7984,1
    - Dst: writeBufferToContigStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7991,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7992,1
    - Dst: writeBufferToSeparateStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7996,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:7997,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8001,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8003,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 164
    argCount: 9
    argNames:
    - in
    - out
    - image
    - dump
    - width
    - length
    - crop_buff
    - pagenum
    - total_pages
    argTypes:
    - TIFF*
    - TIFF*
    - struct image_data*
    - struct dump_opts*
    - uint32
    - uint32
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8008
      start: 7734
    functionDepth: 2
    functionLinenumber: 7734
    functionLinenumberEnd: 8008
    functionName: writeCroppedImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - writeBufferToContigTiles
    - TIFFError
    - TIFFGetField
    - TIFFSetField
    - TIFFDefaultStripSize
    - TIFFGetFieldDefaulted
    - strlen
    - writeBufferToSeparateTiles
    - TIFFIsTiled
    - strchr
    - writeBufferToContigStrips
    - TIFFWriteDirectory
    - writeBufferToSeparateStrips
    - CopyField
    - TIFFDefaultTileSize
    - CopyTag
    linkageType: ''
    returnType: int
    signature: "int writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image,
      \n                  struct dump_opts *dump, uint32 width, uint32 length, \n
      \                 unsigned char *crop_buff, int pagenum, int total_pages)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8024,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8055,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8083
      start: 8010
    functionDepth: 1
    functionLinenumber: 8010
    functionLinenumberEnd: 8083
    functionName: rotateContigSamples8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples8bits(uint16 rotation, uint16 spp, uint16 bps,
      uint32 width, \n                         uint32 length,   uint32 col, uint8
      *src, uint8 *dst)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8101,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8131,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8167
      start: 8086
    functionDepth: 1
    functionLinenumber: 8086
    functionLinenumberEnd: 8167
    functionName: rotateContigSamples16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples16bits(uint16 rotation, uint16 spp, uint16
      bps, uint32 width, \n                         uint32 length,   uint32 col, uint8
      *src, uint8 *dst)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8185,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 57
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8258
      start: 8169
    functionDepth: 1
    functionLinenumber: 8169
    functionLinenumberEnd: 8258
    functionName: rotateContigSamples24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples24bits(uint16 rotation, uint16 spp, uint16
      bps, uint32 width, \n                          uint32 length,   uint32 col,
      uint8 *src, uint8 *dst)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8278,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8315,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 65
    argCount: 8
    argNames:
    - rotation
    - spp
    - bps
    - width
    - length
    - col
    - src
    - dst
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8365
      start: 8260
    functionDepth: 1
    functionLinenumber: 8260
    functionLinenumberEnd: 8365
    functionName: rotateContigSamples32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int rotateContigSamples32bits(uint16 rotation, uint16 spp, uint16
      bps, uint32 width, \n                          uint32 length,   uint32 col,
      uint8 *src, uint8 *dst)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8411,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8415,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8417,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8420,1
    - Dst: reverseSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8454,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8456,1
    - Dst: reverseSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8461,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8463,1
    - Dst: reverseSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8467,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8469,1
    - Dst: reverseSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8475,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8477,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8481,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8482,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8487,1
    - Dst: rotateContigSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8519,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8522,1
    - Dst: rotateContigSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8527,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8530,1
    - Dst: rotateContigSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8534,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8537,1
    - Dst: rotateContigSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8543,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8546,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8550,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8551,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8556,1
    - Dst: rotateContigSamples8bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8596,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8599,1
    - Dst: rotateContigSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8604,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8607,1
    - Dst: rotateContigSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8611,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8614,1
    - Dst: rotateContigSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8620,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8623,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8627,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8628,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8633,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 223
    argCount: 5
    argNames:
    - rotation
    - image
    - img_width
    - img_length
    - ibuff_ptr
    argTypes:
    - uint16
    - struct image_data*
    - uint32*
    - uint32*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8649
      start: 8369
    functionDepth: 2
    functionLinenumber: 8369
    functionLinenumberEnd: 8649
    functionName: rotateImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached:
    - reverseSamples8bits
    - TIFFError
    - rotateContigSamples8bits
    - reverseSamples32bits
    - _TIFFmemset
    - reverseSamples24bits
    - _TIFFmalloc
    - reverseSamples16bits
    - rotateContigSamples16bits
    - _TIFFfree
    - rotateContigSamples32bits
    - rotateContigSamples24bits
    linkageType: ''
    returnType: int
    signature: "int rotateImage(uint16 rotation, struct image_data *image, uint32
      *img_width, \n            uint32 *img_length, unsigned char **ibuff_ptr)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16
    - uint16
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8713
      start: 8651
    functionDepth: 1
    functionLinenumber: 8651
    functionLinenumberEnd: 8713
    functionName: reverseSamples8bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples8bits (uint16 spp, uint16 bps, uint32 width, \n
      \                    uint8 *ibuff, uint8 *obuff)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8733,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16
    - uint16
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8789
      start: 8716
    functionDepth: 1
    functionLinenumber: 8716
    functionLinenumberEnd: 8789
    functionName: reverseSamples16bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples16bits (uint16 spp, uint16 bps, uint32 width, \n
      \                     uint8 *ibuff, uint8 *obuff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8808,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16
    - uint16
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8872
      start: 8791
    functionDepth: 1
    functionLinenumber: 8791
    functionLinenumberEnd: 8872
    functionName: reverseSamples24bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples24bits (uint16 spp, uint16 bps, uint32 width, \n
      \                     uint8 *ibuff, uint8 *obuff)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8894,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 54
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - ibuff
    - obuff
    argTypes:
    - uint16
    - uint16
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8973
      start: 8875
    functionDepth: 1
    functionLinenumber: 8875
    functionLinenumberEnd: 8973
    functionName: reverseSamples32bits
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: "int reverseSamples32bits (uint16 spp, uint16 bps, uint32 width, \n
      \                     uint8 *ibuff, uint8 *obuff)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8986,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:8993,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9004,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9005,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9006,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9021,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 5
    argNames:
    - spp
    - bps
    - width
    - src
    - dst
    argTypes:
    - uint16
    - uint16
    - uint32
    - uint8*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9025
      start: 8975
    functionDepth: 1
    functionLinenumber: 8975
    functionLinenumberEnd: 9025
    functionName: reverseSamplesBytes
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: "int reverseSamplesBytes (uint16 spp, uint16 bps, uint32 width, \n
      \                    uint8 *src, uint8 *dst)"
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9045,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9048,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9055,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9056,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9057,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9062,1
    - Dst: reverseSamplesBytes
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9074,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9082,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9084,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9098,1
    - Dst: reverseSamples16bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9101,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9103,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9106,1
    - Dst: reverseSamples24bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9108,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9110,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9113,1
    - Dst: reverseSamples32bits
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9117,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9119,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9122,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9124,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9125,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9130,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9134,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 87
    argCount: 6
    argNames:
    - spp
    - bps
    - mirror
    - width
    - length
    - ibuff
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9140
      start: 9029
    functionDepth: 2
    functionLinenumber: 9029
    functionLinenumberEnd: 9140
    functionName: mirrorImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 3
    functionsReached:
    - TIFFError
    - _TIFFfree
    - reverseSamples32bits
    - _TIFFmemset
    - reverseSamplesBytes
    - reverseSamples24bits
    - _TIFFmalloc
    - reverseSamples16bits
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: int mirrorImage(uint16 spp, uint16 bps, uint16 mirror, uint32 width,
      uint32 length, unsigned char *ibuff)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9153,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9159,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9166,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c:9198,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 6
    argNames:
    - photometric
    - spp
    - bps
    - width
    - length
    - work_buff
    argTypes:
    - uint16
    - uint16
    - uint16
    - uint32
    - uint32
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9203
      start: 9143
    functionDepth: 1
    functionLinenumber: 9143
    functionLinenumberEnd: 9203
    functionName: invertImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffcrop.c
    functionUses: 2
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: int
    signature: int invertImage(uint16 photometric, uint16 spp, uint16 bps, uint32
      width, uint32 length, unsigned char *work_buff)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:91,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:116,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:119,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:150,1
    - Dst: putchar
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:153,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:156,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 56
    argCount: 4
    argNames:
    - buf
    - runs
    - erun
    - lastx
    argTypes:
    - unsigned char*
    - uint32*
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 157
    functionName: printruns
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - printf
    - putchar
    linkageType: ''
    returnType: void
    signature: void printruns(unsigned char* buf, uint32* runs, uint32* erun, uint32
      lastx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 194
    functionName: emitFont
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void emitFont(FILE* fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:205,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:206,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:207,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:211,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:212,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:212,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:216,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:217,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:217,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:221,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:231,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:232,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:234,1
    - Dst: time
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:236,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:237,1
    - Dst: ctime
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:237,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:238,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:239,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:241,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:242,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:243,1
    - Dst: emitFont
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:244,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:245,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:246,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:247,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:248,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:249,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:250,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:251,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:255,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:258,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:259,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:260,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:261,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:264,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:265,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:266,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - tif
    - pageNumber
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 268
    functionName: printTIF
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFGetField
    - emitFont
    - TIFFSetField
    - printf
    - TIFFReadEncodedStrip
    - ctime
    - TIFFNumberOfStrips
    - TIFFWarning
    - time
    linkageType: ''
    returnType: void
    signature: void printTIF(TIFF* tif, uint16 pageNumber)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    functionName: GetPageNumber
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetPageNumber(tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetPageNumber
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:278,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:279,1
    - Dst: GetPageNumber
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:279,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:283,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - pageNumber
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 284
    functionName: findPage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - TIFFSetDirectory
    - TIFFReadDirectory
    - GetPageNumber
    linkageType: ''
    returnType: int
    signature: int findPage(TIFF* tif, uint16 pageNumber)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetPageNumber
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:293,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:294,1
    - Dst: findPage
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:297,1
    - Dst: printTIF
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:298,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:300,1
    - Dst: printTIF
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:305,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:306,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - tif
    - npages
    - pages
    - filename
    argTypes:
    - TIFF*
    - uint16
    - uint16*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 308
    functionName: fax2ps
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirectory
    - printTIF
    - fprintf
    - findPage
    - GetPageNumber
    linkageType: ''
    returnType: void
    signature: void fax2ps(TIFF* tif, uint16 npages, uint16* pages, char* filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - va
    - vb
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: pcompar
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int pcompar(const void* va, const void* vb)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:333,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:336,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:342,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:345,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:347,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:349,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:352,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:353,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:361,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:364,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:367,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:370,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:373,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:375,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:378,1
    - Dst: fax2ps
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:380,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:381,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:383,1
    - Dst: tmpfile
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:391,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:393,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:394,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:397,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:397,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:399,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:399,1
    - Dst: write
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:400,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:400,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:401,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:402,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:404,1
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:407,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:407,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:409,1
    - Dst: _get_osfhandle
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:409,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:409,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:411,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:411,1
    - Dst: fax2ps
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:414,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:415,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:417,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:418,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:420,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:421,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:422,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 79
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 322
    functionDepth: 5
    functionLinenumber: 322
    functionLinenumberEnd: 425
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 15
    functionsReached:
    - fax2ps
    - _TIFF_lseek_f
    - atof
    - fprintf
    - realloc
    - fclose
    - read
    - TIFFSetWarningHandler
    - getopt
    - write
    - TIFFClose
    - TIFFFdOpen
    - usage
    - qsort
    - printf
    - malloc
    - tmpfile
    - _get_osfhandle
    - setmode
    - fileno
    - atoi
    - exit
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:447,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:448,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:448,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:450,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/fax2ps.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 452
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2ps.c
    functionUses: 56
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 70
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:113,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:116,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:117,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:120,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:123,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:126,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:129,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:132,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:135,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:137,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:139,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:141,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:143,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:145,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:147,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:149,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:153,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:162,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:164,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:166,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:168,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:170,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:172,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:174,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:176,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:185,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:187,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:196,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:203,1
    - Dst: open
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:205,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:207,1
    - Dst: guessSize
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:212,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:217,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:219,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:223,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:224,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:225,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:226,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:227,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:228,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:229,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:230,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:235,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:240,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:244,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:247,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:252,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:258,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:259,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:264,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:270,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:278,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:280,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:284,1
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:286,1
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:291,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:294,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:300,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:301,1
    - Dst: swapBytesInScanline
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:308,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:310,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:316,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:317,1
    - Dst: swapBytesInScanline
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:324,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:328,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:329,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:335,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:337,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:338,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 202
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 340
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 15
    functionsReached:
    - TIFFDefaultStripSize
    - open
    - _TIFF_lseek_f
    - fprintf
    - _TIFFmalloc
    - guessSize
    - TIFFDataWidth
    - TIFFWriteScanline
    - read
    - getopt
    - swapBytesInScanline
    - TIFFClose
    - usage
    - TIFFSetField
    - strncmp
    - memcpy
    - processCompressOptions
    - atoi
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:348,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:353,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:358,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 3
    argNames:
    - buf
    - width
    - dtype
    argTypes:
    - void*
    - uint32
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 364
    functionName: swapBytesInScanline
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfShort
    - TIFFSwabArrayOfDouble
    linkageType: ''
    returnType: void
    signature: void swapBytesInScanline(void *buf, uint32 width, TIFFDataType dtype)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:374,1
    - Dst: _TIFF_fstat_f
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:377,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:378,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:383,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:390,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:394,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:399,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:403,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:409,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:410,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:413,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:418,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:422,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:423,1
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:426,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:428,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:432,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:434,1
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:438,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:440,1
    - Dst: swapBytesInScanline
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:445,1
    - Dst: swapBytesInScanline
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:446,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:448,1
    - Dst: correlation
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:448,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:456,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:457,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:465,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:472,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 7
    argNames:
    - fd
    - dtype
    - hdr_size
    - nbands
    - swab
    - width
    - length
    argTypes:
    - int
    - TIFFDataType
    - _TIFF_off_t
    - uint32
    - int
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 478
    functionName: guessSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - sqrt
    - read
    - swapBytesInScanline
    - _TIFF_fstat_f
    - _TIFF_lseek_f
    - fprintf
    - _TIFFmalloc
    - fabs
    - correlation
    - _TIFFfree
    - TIFFDataWidth
    linkageType: ''
    returnType: int
    signature: "int guessSize(int fd, TIFFDataType dtype, _TIFF_off_t hdr_size, uint32
      nbands,\n\t  int swab, uint32 *width, uint32 *length)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:567,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 82
    argCount: 4
    argNames:
    - buf1
    - buf2
    - n_elem
    - dtype
    argTypes:
    - void*
    - void*
    - uint32
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 570
    functionName: correlation
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 1
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: double
    signature: double correlation(void *buf1, void *buf2, uint32 n_elem, TIFFDataType
      dtype)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:575,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:577,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:579,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:580,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:585,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:586,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:590,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:592,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:594,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:595,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:597,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:599,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:600,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:602,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 607
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 5
    functionsReached:
    - usage
    - strcmp
    - strchr
    - strncmp
    - atoi
    - isdigit
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:675,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:676,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:678,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/raw2tiff.c
    functionUses: 58
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: TIFFhowmany8
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:84,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:86,1
    - Dst: strtoul
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:87,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:88,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:89,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:90,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:91,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:92,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:93,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:94,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:97,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:101,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:103,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:106,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:110,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:112,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:112,1
    - Dst: initScale
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:118,1
    - Dst: generateThumbnail
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:120,1
    - Dst: cpIFD
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:122,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:122,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:124,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:125,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:127,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:130,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 132
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 15
    functionsReached:
    - usage
    - strtoul
    - TIFFError
    - TIFFFileName
    - TIFFReadDirectory
    - getopt
    - TIFFClose
    - streq
    - generateThumbnail
    - _TIFFmalloc
    - initScale
    - cpIFD
    - TIFFWriteDirectory
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    functionName: CopyField4
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:150,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:153,1
    - Dst: CopyField4
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:156,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:160,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:165,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:170,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:175,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:181,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:184,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:189,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:195,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:198,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:203,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:206,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:206,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 210
    functionName: cpTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField2
    - CopyField
    linkageType: ''
    returnType: void
    signature: void cpTag(TIFF* in, TIFF* out, uint16 tag, uint16 count, TIFFDataType
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:284,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:291,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 297
    functionName: cpTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF* in, TIFF* out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:303,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:304,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:307,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:310,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:313,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:318,1
    - Dst: TIFFWriteRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:319,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:320,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:324,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:329,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:329,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 332
    functionName: cpStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - _TIFFrealloc
    - _TIFFmalloc
    - TIFFReadRawStrip
    - TIFFStripSize
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFWriteRawStrip
    linkageType: ''
    returnType: int
    signature: int cpStrips(TIFF* in, TIFF* out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:337,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:338,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:341,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:344,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:347,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:352,1
    - Dst: TIFFWriteRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:353,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:354,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:358,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:363,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 366
    functionName: cpTiles
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - _TIFFrealloc
    - TIFFWriteRawTile
    - TIFFNumberOfTiles
    - _TIFFmalloc
    - TIFFReadRawTile
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int cpTiles(TIFF* in, TIFF* out)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cpTags
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:371,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:372,1
    - Dst: cpTiles
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:373,1
    - Dst: cpStrips
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 380
    functionName: cpIFD
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - cpTiles
    - cpStrips
    - TIFFIsTiled
    - cpTags
    linkageType: ''
    returnType: int
    signature: int cpIFD(TIFF* in, TIFF* out)
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 409
    functionName: setupBitsTables
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setupBitsTables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - v
    - low
    - high
    argTypes:
    - float
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 411
    functionDepth: 0
    functionLinenumber: 411
    functionLinenumberEnd: 412
    functionName: clamp
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int clamp(float v, int low, int high)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - pct
    - p
    - n
    argTypes:
    - float[]
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: expFill
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: void
    signature: void expFill(float pct[], uint32 p, uint32 n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:436,1
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:437,1
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:438,1
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:439,1
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:440,1
    - Dst: expFill
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:441,1
    - Dst: clamp
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:450,1
    - Dst: clamp
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:454,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 457
    functionName: setupCmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - expFill
    - clamp
    linkageType: ''
    returnType: void
    signature: void setupCmap()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:462,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:463,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:464,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:465,1
    - Dst: setupBitsTables
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 469
    functionName: initScale
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - setupBitsTables
    - _TIFFmalloc
    linkageType: ''
    returnType: void
    signature: void initScale()
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - sw
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 507
    functionName: setupStepTables
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setupStepTables(uint32 sw)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - row
    - nrows
    - rows
    argTypes:
    - uint8*
    - uint32
    - uint8*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 543
    functionName: setrow
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setrow(uint8* row, uint32 nrows, const uint8* rows[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany8
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:557,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:564,1
    - Dst: setrow
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - br
    - rw
    - rh
    argTypes:
    - uint8*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 582
    functionName: setImage1
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - setrow
    - fprintf
    - TIFFhowmany8
    linkageType: ''
    returnType: void
    signature: void setImage1(const uint8* br, uint32 rw, uint32 rh)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ceil
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:587,1
    - Dst: setupStepTables
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:588,1
    - Dst: setImage1
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:589,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - br
    - rw
    - rh
    argTypes:
    - uint8*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 590
    functionName: setImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 0
    functionsReached:
    - setImage1
    - setupStepTables
    - ceil
    linkageType: ''
    returnType: void
    signature: void setImage(const uint8* br, uint32 rw, uint32 rh)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:600,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:603,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:604,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:605,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:606,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:607,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:610,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:612,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:615,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:617,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:617,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:626,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:629,1
    - Dst: setupCmap
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:630,1
    - Dst: setImage
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:631,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:632,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:634,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:635,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:636,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:637,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:638,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:639,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:640,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:641,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:642,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:643,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:644,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:645,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:646,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:648,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:649,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 44
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 592
    functionDepth: 3
    functionLinenumber: 592
    functionLinenumberEnd: 651
    functionName: generateThumbnail
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFGetField
    - TIFFFileName
    - TIFFSetField
    - cpTag
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - setupCmap
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - TIFFWriteDirectory
    - _TIFFfree
    - TIFFNumberOfStrips
    - setImage
    linkageType: ''
    returnType: int
    signature: int generateThumbnail(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:675,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:676,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:676,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:678,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/thumbnail.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 680
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/thumbnail.c
    functionUses: 59
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: TIFFhowmany8
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8(x)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:113,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:151,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:154,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:187,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:189,1
    - Dst: atol
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:202,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:220,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:225,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:227,1
    - Dst: TIFFhowmany8
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:227,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:228,1
    - Dst: TIFFhowmany8
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:228,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:230,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:235,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:237,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:243,1
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:245,1
    - Dst: TIFFGetReadProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:246,1
    - Dst: TIFFGetWriteProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:246,1
    - Dst: TIFFGetSeekProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:247,1
    - Dst: TIFFGetCloseProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:247,1
    - Dst: TIFFGetSizeProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:248,1
    - Dst: TIFFGetMapFileProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:248,1
    - Dst: TIFFGetUnmapFileProc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:251,1
    - Dst: TIFFSetMode
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:255,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:256,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:257,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:258,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:259,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:260,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:261,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:262,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:263,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:266,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:268,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:270,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:272,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:274,1
    - Dst: _get_osfhandle
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:279,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:279,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:281,1
    - Dst: TIFFSetClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:283,1
    - Dst: TIFFSetFileName
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:284,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:285,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:286,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:287,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:288,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:289,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:290,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:294,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:296,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:303,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:305,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:312,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:314,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:315,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:316,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:317,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:318,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:320,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:321,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:323,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:324,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:325,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:328,1
    - Dst: copyFaxFile
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:329,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:330,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:332,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:334,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:337,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:338,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:339,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:341,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:345,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:346,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:348,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:350,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:352,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:353,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:354,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 206
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 356
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c
    functionUses: 15
    functionsReached:
    - TIFFSetFileName
    - TIFFDefaultStripSize
    - atol
    - TIFFhowmany8
    - TIFFClientOpen
    - TIFFGetSeekProc
    - copyFaxFile
    - atof
    - fprintf
    - _TIFFmalloc
    - TIFFSetMode
    - fclose
    - TIFFGetCloseProc
    - TIFFGetField
    - TIFFSetWarningHandler
    - TIFFSetClientdata
    - getopt
    - TIFFClose
    - TIFFGetReadProc
    - TIFFGetUnmapFileProc
    - TIFFWriteDirectory
    - TIFFGetWriteProc
    - usage
    - TIFFSetField
    - TIFFClientdata
    - TIFFGetMapFileProc
    - fopen
    - TIFFGetSizeProc
    - _get_osfhandle
    - fileno
    - atoi
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany8
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:362,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:366,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:368,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:371,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:373,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:376,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:377,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:389,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:399,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:404,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:408,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:409,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:415,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:416,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:425,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 55
    argCount: 2
    argNames:
    - tifin
    - tifout
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 358
    functionDepth: 1
    functionLinenumber: 358
    functionLinenumberEnd: 427
    functionName: copyFaxFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFfree
    - _TIFFmemset
    - TIFFhowmany8
    - ReadOK
    - _TIFFmalloc
    - fprintf
    - _TIFFmemcpy
    - TIFFGetFileSize
    - TIFFWriteScanline
    linkageType: ''
    returnType: int
    signature: int copyFaxFile(TIFF* tifin, TIFF* tifout)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:471,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:472,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:472,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:474,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 476
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/fax2tiff.c
    functionUses: 60
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: howmany
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: howmany(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: roundup
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: roundup(x, y)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:71,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:78,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:80,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:82,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:84,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:86,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:89,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:93,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:97,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:109,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:114,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:116,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:121,1
    - Dst: tiffcvt
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:124,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:125,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:126,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:127,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:130,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:131,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:134,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 136
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 15
    functionsReached:
    - usage
    - TIFFReadDirectory
    - getopt
    - TIFFClose
    - streq
    - TIFFWriteDirectory
    - atoi
    - tiffcvt
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:150,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:151,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:153,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:154,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:155,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:155,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:159,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:160,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:168,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:168,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:169,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:171,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:173,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:173,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:184,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:184,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:185,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:187,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:189,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:189,1
    - Dst: TIFFReadRGBATile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:203,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:214,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:228,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:229,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:230,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:237,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:238,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:248,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:249,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 252
    functionName: cvt_by_tile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedTile
    - TIFFError
    - _TIFFfree
    - TIFFGetField
    - TIFFSetField
    - TIFFFileName
    - TIFFComputeTile
    - TIFFReadRGBATile
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - _TIFFmemcpy
    - exit
    linkageType: ''
    returnType: int
    signature: int cvt_by_tile( TIFF *in, TIFF *out )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:265,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:266,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:268,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:269,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:269,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:273,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:281,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:281,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:282,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:284,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:286,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:286,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:297,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:297,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:298,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:300,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:302,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:302,1
    - Dst: TIFFReadRGBAStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:314,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:324,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:347,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:348,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:349,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:356,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:364,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:365,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 368
    functionName: cvt_by_strip
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFGetField
    - TIFFSetField
    - TIFFFileName
    - _TIFFfree
    - TIFFReadRGBAStrip
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - _TIFFmemcpy
    - exit
    linkageType: ''
    returnType: int
    signature: int cvt_by_strip( TIFF *in, TIFF *out )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:387,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:388,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:393,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:393,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:399,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:400,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:402,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:404,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:404,1
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:410,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:412,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:421,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:468,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:471,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:476,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 479
    functionName: cvt_whole_image
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFWriteEncodedStrip
    - TIFFGetField
    - TIFFSetField
    - TIFFFileName
    - TIFFDefaultStripSize
    - TIFFSwabArrayOfLong
    - TIFFReadRGBAImageOriented
    - _TIFFCheckMalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int cvt_whole_image( TIFF *in, TIFF *out )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:492,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:493,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:495,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:496,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:497,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:498,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:499,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:500,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:502,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:503,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:506,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:508,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:513,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:516,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:517,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:518,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:519,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:520,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:520,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:521,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:523,1
    - Dst: cvt_by_tile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:524,1
    - Dst: cvt_by_strip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:526,1
    - Dst: cvt_whole_image
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:528,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 482
    functionDepth: 2
    functionLinenumber: 482
    functionLinenumberEnd: 529
    functionName: tiffcvt
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 2
    functionsReached:
    - TIFFGetField
    - TIFFSetField
    - TIFFGetVersion
    - cvt_by_strip
    - TIFFIsTiled
    - cvt_whole_image
    - CopyField
    - cvt_by_tile
    linkageType: ''
    returnType: int
    signature: int tiffcvt(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:553,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:554,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:554,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:556,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c:557,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - code
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 558
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2rgba.c
    functionUses: 61
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:74,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:74,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:75,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:75,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:76,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:76,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:77,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:78,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:80,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:87,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:99,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:107,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:137,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:145,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:146,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:147,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:148,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 78
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 150
    functionName: fsdither
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - _TIFFmemset
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - TIFFSafeMultiply
    - TIFFReadScanline
    - TIFFWriteScanline
    linkageType: ''
    returnType: int
    signature: int fsdither(TIFF* in, TIFF* out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:159,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:162,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:164,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:166,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:169,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:170,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 172
    functionName: processG3Options
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 2
    functionsReached:
    - strchr
    - strneq
    - usage
    linkageType: ''
    returnType: void
    signature: void processG3Options(char* cp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:177,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:179,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:181,1
    - Dst: processG3Options
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:182,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:184,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:186,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:187,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:189,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:191,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:192,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:194,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 199
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 5
    functionsReached:
    - streq
    - strchr
    - atoi
    - strneq
    - processG3Options
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:216,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:219,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:220,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:223,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:225,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:228,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:231,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:234,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:241,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:245,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:246,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:251,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:254,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:256,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:260,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:263,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:264,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:265,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:266,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:267,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:268,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:269,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:271,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:273,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:274,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:275,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:276,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:277,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:278,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:279,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:280,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:281,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:282,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:285,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:290,1
    - Dst: fsdither
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:293,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:294,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:295,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 78
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 297
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 15
    functionsReached:
    - usage
    - TIFFGetField
    - TIFFSetField
    - getopt
    - TIFFDefaultStripSize
    - TIFFClose
    - snprintf
    - CopyField
    - streq
    - fsdither
    - fprintf
    - processCompressOptions
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:331,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:332,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:332,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:334,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiffdither.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiffdither.c
    functionUses: 63
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:69,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:70,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 71
    functionName: BadPPM
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void BadPPM(char* file)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 83
    functionName: multiply_ms
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:107,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:108,1
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:110,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:113,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:114,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:117,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:120,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:123,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:128,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:129,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:138,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:140,1
    - Dst: setmode
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:147,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:147,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:151,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:152,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:153,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:173,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:178,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:179,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:180,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:182,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:188,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:189,1
    - Dst: feof
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:189,1
    - Dst: ungetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:193,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:198,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:199,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:200,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:201,1
    - Dst: fscanf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:204,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:205,1
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:206,1
    - Dst: BadPPM
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:207,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:210,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:213,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:214,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:215,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:216,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:217,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:218,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:219,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:220,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:223,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:224,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:229,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:232,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:238,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:240,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:242,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:243,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:247,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:248,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:253,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:254,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:255,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:257,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:260,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:261,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:264,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:266,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:268,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:269,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:270,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:273,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:274,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:275,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:278,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:279,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:283,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:287,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:288,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:290,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 164
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 292
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 15
    functionsReached:
    - TIFFDefaultStripSize
    - atof
    - fprintf
    - TIFFScanlineSize
    - _TIFFmalloc
    - TIFFWriteScanline
    - fclose
    - getopt
    - multiply_ms
    - TIFFClose
    - usage
    - TIFFSetField
    - fread
    - feof
    - fopen
    - fscanf
    - setmode
    - fileno
    - BadPPM
    - fgetc
    - strchr
    - ungetc
    - processCompressOptions
    - atoi
    - _TIFFfree
    - exit
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:298,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:301,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:303,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:305,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:308,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:309,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - cp
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 311
    functionName: processG3Options
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 3
    functionsReached:
    - strchr
    - strneq
    - usage
    linkageType: ''
    returnType: void
    signature: void processG3Options(char* cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:316,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:318,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:320,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:321,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:326,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:327,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:331,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:333,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:335,1
    - Dst: processG3Options
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:336,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:338,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:340,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:341,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:343,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:345,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:346,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:348,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 353
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 7
    functionsReached:
    - usage
    - streq
    - strchr
    - atoi
    - strneq
    - isdigit
    - processG3Options
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:384,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:385,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:385,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:387,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c:388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 389
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/ppm2tiff.c
    functionUses: 66
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t2p
    - ','
    - rv
    - ','
    - buf
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: check_snprintf_ret
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_snprintf_ret(t2p, rv, buf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: t2p_disable
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    linkageType: ''
    returnType: void
    signature: void t2p_disable(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 357
    functionName: t2p_enable
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFClientdata
    linkageType: ''
    returnType: void
    signature: void t2p_enable(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:367,1
    - Dst: TIFFGetReadProc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:368,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - data
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: t2pReadFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFGetReadProc
    - proc
    - TIFFClientdata
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2pReadFile(TIFF *tif, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:378,1
    - Dst: TIFFGetWriteProc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:379,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:381,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - data
    - size
    argTypes:
    - TIFF*
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 383
    functionName: t2pWriteFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFGetWriteProc
    - proc
    - TIFFClientdata
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2pWriteFile(TIFF *tif, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:388,1
    - Dst: TIFFGetSeekProc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:389,1
    - Dst: proc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:391,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - offset
    - whence
    argTypes:
    - TIFF*
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 393
    functionName: t2pSeekFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFGetSeekProc
    - proc
    - TIFFClientdata
    linkageType: ''
    returnType: uint64
    signature: uint64 t2pSeekFile(TIFF *tif, toff_t offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - data
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 400
    functionName: t2p_readproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2p_readproc(thandle_t handle, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:407,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - handle
    - data
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 412
    functionName: t2p_writeproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - fwrite
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t t2p_writeproc(thandle_t handle, tdata_t data, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_fseek_f
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - handle
    - offset
    - whence
    argTypes:
    - thandle_t
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 421
    functionName: t2p_seekproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - _TIFF_fseek_f
    linkageType: ''
    returnType: uint64
    signature: uint64 t2p_seekproc(thandle_t handle, uint64 offset, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 428
    functionName: t2p_closeproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - fclose
    linkageType: ''
    returnType: int
    signature: int t2p_closeproc(thandle_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 435
    functionName: t2p_sizeproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 t2p_sizeproc(thandle_t handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - handle
    - data
    - offset
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 442
    functionName: t2p_mapproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_mapproc(thandle_t handle, void **data, toff_t *offset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - data
    - offset
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 444
    functionDepth: 0
    functionLinenumber: 444
    functionLinenumberEnd: 448
    functionName: t2p_unmapproc
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_unmapproc(thandle_t handle, void *data, toff_t offset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - summand1
    - summand2
    - t2p
    argTypes:
    - uint64
    - uint64
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 463
    functionName: checkAdd64
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint64
    signature: uint64 checkAdd64(uint64 summand1, uint64 summand2, T2P* t2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - first
    - second
    - t2p
    argTypes:
    - uint64
    - uint64
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 478
    functionName: checkMultiply64
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: uint64
    signature: uint64 checkMultiply64(uint64 first, uint64 second, T2P* t2p)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: t2p_init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:611,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:614,1
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:619,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:632,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:644,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:650,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:665,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:669,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:674,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:679,1
    - Dst: tiff2pdf_match_paper_size
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:687,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:693,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:708,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:713,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:719,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:723,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:727,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:731,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:735,1
    - Dst: tiff2pdf_usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:743,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:753,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:755,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:761,1
    - Dst: tiff2pdf_usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:762,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:767,1
    - Dst: tiff2pdf_usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:769,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:778,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:780,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:790,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:796,1
    - Dst: t2p_validate
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:804,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:805,1
    - Dst: t2p_write_pdf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:810,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:812,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:822,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:824,1
    - Dst: t2p_free
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:826,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 174
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 829
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 15
    functionsReached:
    - TIFFError
    - getopt
    - strlen
    - TIFFClientOpen
    - t2p_write_pdf
    - TIFFClose
    - strncpy
    - tiff2pdf_match_paper_size
    - atof
    - tiff2pdf_usage
    - t2p_validate
    - t2p_init
    - fopen
    - t2pSeekFile
    - atoi
    - TIFFWarning
    - t2p_free
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char** argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:867,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:867,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:869,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 873
    functionName: tiff2pdf_usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - fprintf
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void tiff2pdf_usage()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:920,1
    - Dst: toupper
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:922,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:925,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - width
    - length
    - papersize
    argTypes:
    - float*
    - float*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 933
    functionName: tiff2pdf_match_paper_size
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - toupper
    - strlen
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tiff2pdf_match_paper_size(float* width, float* length, char* papersize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:941,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:943,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 959
    functionName: t2p_init
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - _TIFFmalloc
    - _TIFFmemset
    linkageType: ''
    returnType: T2P
    signature: T2P * t2p_init()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:971,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:974,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:978,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:982,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:985,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:989,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:992,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 996
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 996
    functionName: t2p_free
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void t2p_free(T2P* t2p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1023,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1035
    functionName: t2p_validate
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    linkageType: ''
    returnType: void
    signature: void t2p_validate(T2P* t2p)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfDirectories
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1055,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1057,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1060,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1064,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1064,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1066,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1070,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1074,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1075,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1075,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1077,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1081,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1085,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1089,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1090,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1094,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1098,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1108,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1116,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1129,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1131,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1138,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1143,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1144,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1146,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1151,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1155,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1161,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1179,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1204,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1215,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1217,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1219,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1222,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1228,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1231,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1240,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1243,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1247,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1247,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1250,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1254,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 149
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1262
    functionName: t2p_read_tiff_init
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - qsort
    - TIFFFileName
    - _TIFFmemset
    - TIFFSetDirectory
    - TIFFGetField
    - TIFFIsTiled
    - TIFFNumberOfDirectories
    - TIFFNumberOfTiles
    - _TIFFmalloc
    - TIFFSafeMultiply
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_init(T2P* t2p, TIFF* input)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - e1
    - e2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1270
    functionDepth: 0
    functionLinenumber: 1270
    functionLinenumberEnd: 1278
    functionName: t2p_cmp_t2p_page
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_cmp_t2p_page(const void* e1, const void* e2)
  - BBCount: 104
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1308,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1310,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1312,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1315,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1320,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1322,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1325,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1330,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1331,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1334,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1339,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1340,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1343,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1351,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1359,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1362,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1366,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1369,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1375,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1377,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1380,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1386,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1389,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1393,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1400,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1403,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1411,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1413,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1414,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1417,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1443,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1450,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1457,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1470,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1480,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1483,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1488,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1491,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1494,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1497,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1503,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1506,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1514,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1517,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1523,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1524,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1527,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1532,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1539,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1543,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1543,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1545,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1549,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1561,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1566,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1568,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1571,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1579,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1582,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1590,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1593,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1599,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1600,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1603,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1608,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1615,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1619,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1619,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1621,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1625,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1653,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1661,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1684,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1692,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1708,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1711,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1715,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1718,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1724,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1727,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1730,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1737,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1740,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1747,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1750,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1757,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1760,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1762,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1766,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1769,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1772,1
    - Dst: t2p_compose_pdf_page
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1783,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1797,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1797,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1806,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1806,1
    - Dst: t2p_process_ojpeg_tables
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1816,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1842,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1845,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1854,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1857,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1874,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1888,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1898,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1910,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1918,1
    CyclomaticComplexity: 120
    EdgeCount: 120
    ICount: 448
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1937
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1937
    functionName: t2p_read_tiff_data
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFSetDirectory
    - TIFFFileName
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - TIFFIsCODECConfigured
    - TIFFSafeMultiply
    - _TIFFmalloc
    - t2p_process_ojpeg_tables
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFWarning
    - t2p_compose_pdf_page
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_data(T2P* t2p, TIFF* input)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1957,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1959,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1968,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1970,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1979,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1980,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1982,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1986,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1988,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1990,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1992,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1994,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1996,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1998,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:1999,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2000,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2001,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2004,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2011,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2013,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2019,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2020,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2021,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2024,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2033,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2041,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2042,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2043,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2045,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2050,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2054,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2055,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2058,1
    - Dst: checkMultiply64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2066,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2066,1
    - Dst: checkMultiply64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2068,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2077,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 109
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 1944
    functionDepth: 2
    functionLinenumber: 1944
    functionLinenumberEnd: 2082
    functionName: t2p_read_tiff_size
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - checkAdd64
    - TIFFGetField
    - TIFFFileName
    - checkMultiply64
    - TIFFScanlineSize
    - TIFFNumberOfStrips
    - TIFFWarning
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_size(T2P* t2p, TIFF* input)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2098,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2099,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2107,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2114,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2118,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2124,1
    - Dst: checkAdd64
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2126,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2134,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 3
    argNames:
    - t2p
    - input
    - tile
    argTypes:
    - T2P*
    - TIFF*
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2139
      start: 2089
    functionDepth: 2
    functionLinenumber: 2089
    functionLinenumberEnd: 2139
    functionName: t2p_read_tiff_size_tile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - checkAdd64
    - t2p_tile_is_bottom_edge
    - TIFFGetField
    - TIFFError
    - t2p_tile_is_right_edge
    - TIFFTileSize
    linkageType: ''
    returnType: void
    signature: void t2p_read_tiff_size_tile(T2P* t2p, TIFF* input, ttile_t tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2163
    functionDepth: 0
    functionLinenumber: 2163
    functionLinenumberEnd: 2171
    functionName: t2p_tile_is_right_edge
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_right_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2186
      start: 2178
    functionDepth: 0
    functionLinenumber: 2178
    functionLinenumberEnd: 2186
    functionName: t2p_tile_is_bottom_edge
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_bottom_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2195,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2193
    functionDepth: 1
    functionLinenumber: 2193
    functionLinenumberEnd: 2196
    functionName: t2p_tile_is_edge
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_tile_is_right_edge
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2205,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tiles
    - tile
    argTypes:
    - T2P_TILES
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2206
      start: 2203
    functionDepth: 1
    functionLinenumber: 2203
    functionLinenumberEnd: 2206
    functionName: t2p_tile_is_corner_edge
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_tile_is_right_edge
    - t2p_tile_is_bottom_edge
    linkageType: ''
    returnType: int
    signature: int t2p_tile_is_corner_edge(T2P_TILES tiles, ttile_t tile)
  - BBCount: 62
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2253,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2255,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2259,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2263,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2270,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2273,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2275,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2282,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2284,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2287,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2291,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2292,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2295,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2298,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2300,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2309,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2311,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2314,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2318,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2320,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2322,1
    - Dst: t2pReadFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2325,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2327,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2329,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2331,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2334,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2336,1
    - Dst: t2pReadFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2339,1
    - Dst: t2pSeekFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2343,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2345,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2355,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2361,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2367,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2372,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2373,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2378,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2380,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2385,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2387,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2390,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2394,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2395,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2397,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2403,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2412,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2413,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2421,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2423,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2434,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2436,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2439,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2443,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2444,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2446,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2450,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2451,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2456,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2458,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2461,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2462,1
    - Dst: TIFFReadRawStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2467,1
    - Dst: t2p_process_jpeg_strip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2468,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2476,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2478,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2479,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2480,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2487,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2488,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2489,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2497,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2499,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2502,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2506,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2507,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2508,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2511,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2514,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2516,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2519,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2520,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2529,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2530,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2535,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2537,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2540,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2544,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2545,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2547,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2550,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2552,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2559,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2562,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2564,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2567,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2568,1
    - Dst: t2p_sample_planar_separate_to_contig
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2574,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2581,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2585,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2587,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2590,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2594,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2595,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2596,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2599,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2602,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2604,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2607,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2608,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2609,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2618,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2622,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2625,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2627,1
    - Dst: t2p_sample_realize_palette
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2633,1
    - Dst: t2p_sample_rgba_to_rgb
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2637,1
    - Dst: t2p_sample_rgbaa_to_rgb
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2643,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2649,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2653,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2656,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2658,1
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2663,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2670,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2672,1
    - Dst: t2p_sample_abgr_to_rgb
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2676,1
    - Dst: t2p_sample_lab_signed_to_unsigned
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2683,1
    - Dst: t2p_disable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2691,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2692,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2693,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2694,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2695,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2696,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2697,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2698,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2699,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2703,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2707,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2714,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2716,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2719,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2720,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2723,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2724,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2726,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2727,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2728,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2732,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2735,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2737,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2739,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2749,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2758,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2760,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2765,1
    - Dst: t2p_enable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2775,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2780,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2786,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2791,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2796,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2798,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 366
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2805
      start: 2215
    functionDepth: 2
    functionLinenumber: 2215
    functionLinenumberEnd: 2805
    functionName: t2p_readwrite_pdf_image
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pReadFile
    - _TIFFmalloc
    - TIFFReadRawStrip
    - TIFFReadRGBAImageOriented
    - t2p_disable
    - TIFFGetField
    - t2p_sample_rgba_to_rgb
    - TIFFReadEncodedStrip
    - memset
    - t2p_enable
    - t2p_sample_planar_separate_to_contig
    - t2pSeekFile
    - _TIFFmemcpy
    - t2pWriteFile
    - TIFFError
    - t2p_sample_realize_palette
    - TIFFReverseBits
    - t2p_sample_abgr_to_rgb
    - t2p_process_jpeg_strip
    - TIFFSetField
    - _TIFFrealloc
    - TIFFStripSize
    - TIFFWriteEncodedStrip
    - TIFFFileName
    - t2p_sample_rgbaa_to_rgb
    - TIFFmin
    - t2p_sample_lab_signed_to_unsigned
    - _TIFFfree
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_readwrite_pdf_image(T2P* t2p, TIFF* input, TIFF* output)
  - BBCount: 56
    BranchProfiles: []
    Callsites:
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2837,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2838,1
    - Dst: defined
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2841,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2848,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2850,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2854,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2858,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2860,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2862,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2863,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2869,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2871,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2875,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2879,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2881,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2883,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2884,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2891,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2894,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2898,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2900,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2904,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2908,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2910,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2916,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2924,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2930,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2931,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2939,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2941,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2945,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2949,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2953,1
    - Dst: TIFFReadRawTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2960,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2967,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2978,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2979,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2987,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2989,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2993,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:2998,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3004,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3007,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3008,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3016,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3017,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3020,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3022,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3026,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3030,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3032,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3036,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3037,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3044,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3049,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3052,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3053,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3054,1
    - Dst: t2p_sample_planar_separate_to_contig
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3060,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3066,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3070,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3072,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3076,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3080,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3086,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3089,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3090,1
    - Dst: t2p_sample_rgba_to_rgb
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3097,1
    - Dst: t2p_sample_rgbaa_to_rgb
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3104,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3111,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3113,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3114,1
    - Dst: t2p_sample_lab_signed_to_unsigned
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3120,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3127,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3128,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3130,1
    - Dst: t2p_tile_collapse_left
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3134,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3136,1
    - Dst: t2p_disable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3144,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3145,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3146,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3147,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3148,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3149,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3154,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3159,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3160,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3164,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3169,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3173,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3178,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3179,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3183,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3187,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3194,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3196,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3199,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3200,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3203,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3204,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3206,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3208,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3210,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3220,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3228,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3230,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3235,1
    - Dst: t2p_enable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3245,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3247,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3248,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3250,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3254,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3256,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 267
    argCount: 4
    argNames:
    - t2p
    - input
    - output
    - tile
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    - ttile_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3264
      start: 2813
    functionDepth: 2
    functionLinenumber: 2813
    functionLinenumberEnd: 3264
    functionName: t2p_readwrite_pdf_image_tile
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    - TIFFReadRawTile
    - t2p_disable
    - TIFFGetField
    - t2p_sample_rgba_to_rgb
    - TIFFNumberOfTiles
    - t2p_enable
    - t2p_sample_planar_separate_to_contig
    - defined
    - _TIFFmemcpy
    - t2pWriteFile
    - TIFFError
    - TIFFReverseBits
    - TIFFSetField
    - TIFFReadEncodedTile
    - t2p_tile_collapse_left
    - TIFFStripSize
    - TIFFWarning
    - TIFFWriteEncodedStrip
    - t2p_tile_is_bottom_edge
    - TIFFFileName
    - t2p_tile_is_right_edge
    - t2p_sample_rgbaa_to_rgb
    - t2p_sample_lab_signed_to_unsigned
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_readwrite_pdf_image_tile(T2P* t2p, TIFF* input, TIFF* output,
      ttile_t tile)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3289,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3290,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3292,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3297,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3299,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3303,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3304,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3306,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3311,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3313,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3317,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3318,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3320,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3325,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3326,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3328,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3333,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3334,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3336,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3340,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3341,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3343,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3348,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3353,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3356,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3358,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3361,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3365,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3383,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3419,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3430,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3439,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3453,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3462,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3468,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3476,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 187
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3508
      start: 3267
    functionDepth: 1
    functionLinenumber: 3267
    functionLinenumberEnd: 3508
    functionName: t2p_process_ojpeg_tables
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFGetField
    - TIFFFileName
    - _TIFFmemset
    - TIFFIsTiled
    - _TIFFmalloc
    - _TIFFmemcpy
    - _TIFFfree
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int t2p_process_ojpeg_tables(T2P* t2p, TIFF* input)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3553,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3564,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3607,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3614,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3627,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 94
    argCount: 7
    argNames:
    - strip
    - striplength
    - buffer
    - buffersize
    - bufferoffset
    - 'no'
    - height
    argTypes:
    - unsigned char*
    - tsize_t*
    - unsigned char*
    - tsize_t
    - tsize_t*
    - tstrip_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3512
    functionDepth: 0
    functionLinenumber: 3512
    functionLinenumberEnd: 3639
    functionName: t2p_process_jpeg_strip
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: "int t2p_process_jpeg_strip(\n\tunsigned char* strip, \n\ttsize_t*
      striplength, \n\tunsigned char* buffer, \n    tsize_t buffersize,\n\ttsize_t*
      bufferoffset, \n\ttstrip_t no, \n\tuint32 height)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3659,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - buffer
    - scanwidth
    - tilewidth
    - edgetilewidth
    - tilelength
    argTypes:
    - tdata_t
    - tsize_t
    - uint32
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3646
    functionDepth: 0
    functionLinenumber: 3646
    functionLinenumberEnd: 3666
    functionName: t2p_tile_collapse_left
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - memmove
    linkageType: ''
    returnType: void
    signature: "void t2p_tile_collapse_left(\n\ttdata_t buffer, \n\ttsize_t scanwidth,
      \n\tuint32 tilewidth, \n\tuint32 edgetilewidth, \n\tuint32 tilelength)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t2p_disable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3678,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3679,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3680,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3682,1
    - Dst: t2p_enable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3688
      start: 3675
    functionDepth: 2
    functionLinenumber: 3675
    functionLinenumberEnd: 3688
    functionName: t2p_write_advance_directory
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - TIFFFileName
    - t2p_enable
    - TIFFWriteDirectory
    - t2p_disable
    linkageType: ''
    returnType: void
    signature: void t2p_write_advance_directory(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - t2p
    - buffer
    - samplebuffer
    - samplebuffersize
    argTypes:
    - T2P*
    - unsigned char*
    - unsigned char*
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3708
      start: 3690
    functionDepth: 0
    functionLinenumber: 3690
    functionLinenumberEnd: 3708
    functionName: t2p_sample_planar_separate_to_contig
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t t2p_sample_planar_separate_to_contig(\n\t\t\t\t\t\t\t\t\t\t\tT2P*
      t2p, \n\t\t\t\t\t\t\t\t\t\t\tunsigned char* buffer, \n\t\t\t\t\t\t\t\t\t\t\tunsigned
      char* samplebuffer, \n\t\t\t\t\t\t\t\t\t\t\ttsize_t samplebuffersize)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3721,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3725,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - t2p
    - buffer
    argTypes:
    - T2P*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3740
      start: 3710
    functionDepth: 1
    functionLinenumber: 3710
    functionLinenumberEnd: 3740
    functionName: t2p_sample_realize_palette
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - TIFFSafeMultiply
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_realize_palette(T2P* t2p, unsigned char* buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3760
      start: 3747
    functionDepth: 0
    functionLinenumber: 3747
    functionLinenumberEnd: 3760
    functionName: t2p_sample_abgr_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_abgr_to_rgb(tdata_t data, uint32 samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3777,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3779,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3782
      start: 3767
    functionDepth: 0
    functionLinenumber: 3767
    functionLinenumberEnd: 3782
    functionName: t2p_sample_rgbaa_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached:
    - memcpy
    - memmove
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_rgbaa_to_rgb(tdata_t data, uint32 samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - data
    - samplecount
    argTypes:
    - tdata_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3805
      start: 3789
    functionDepth: 0
    functionLinenumber: 3789
    functionLinenumberEnd: 3805
    functionName: t2p_sample_rgba_to_rgb
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_rgba_to_rgb(tdata_t data, uint32 samplecount)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - buffer
    - samplecount
    argTypes:
    - tdata_t
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3832
      start: 3812
    functionDepth: 0
    functionLinenumber: 3812
    functionLinenumberEnd: 3832
    functionName: t2p_sample_lab_signed_to_unsigned
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_sample_lab_signed_to_unsigned(tdata_t buffer, uint32 samplecount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3844,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3847,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3848,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3849,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3838
    functionDepth: 2
    functionLinenumber: 3838
    functionLinenumberEnd: 3852
    functionName: t2p_write_pdf_header
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_header(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3864,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3865,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3866,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - number
    - output
    argTypes:
    - uint32
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3870
      start: 3858
    functionDepth: 2
    functionLinenumber: 3858
    functionLinenumberEnd: 3870
    functionName: t2p_write_pdf_obj_start
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_obj_start(uint32 number, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3880,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3883
      start: 3876
    functionDepth: 2
    functionLinenumber: 3876
    functionLinenumberEnd: 3883
    functionName: t2p_write_pdf_obj_end
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_obj_end(TIFF* output)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3897,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3901,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3904,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3906,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3910,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3912,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3918,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3920,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3923,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3925,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3928,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3930,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3933,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3935,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3938,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3940,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3943,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3945,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3948,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3950,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3953,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3955,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3958,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3960,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3963,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3965,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3968,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3970,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3973,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3978,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 84
    argCount: 2
    argNames:
    - name
    - output
    argTypes:
    - unsigned char*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3889
    functionDepth: 2
    functionLinenumber: 3889
    functionLinenumberEnd: 3981
    functionName: t2p_write_pdf_name
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - strlen
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_name(unsigned char* name, TIFF* output)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3994,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3995,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3998,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:3999,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4003,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4006,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4009,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4012,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4015,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4018,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4021,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4024,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4027,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4031,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 2
    argNames:
    - pdfstr
    - output
    argTypes:
    - char*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4034
      start: 3987
    functionDepth: 2
    functionLinenumber: 3987
    functionLinenumberEnd: 4034
    functionName: t2p_write_pdf_string
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - strlen
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_string(char* pdfstr, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - buffer
    - len
    - output
    argTypes:
    - tdata_t
    - tsize_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4048
      start: 4041
    functionDepth: 2
    functionLinenumber: 4041
    functionLinenumberEnd: 4048
    functionName: t2p_write_pdf_stream
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream(tdata_t buffer, tsize_t len, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4061
      start: 4054
    functionDepth: 2
    functionLinenumber: 4054
    functionLinenumberEnd: 4061
    functionName: t2p_write_pdf_stream_start
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_start(TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4074
      start: 4067
    functionDepth: 2
    functionLinenumber: 4067
    functionLinenumberEnd: 4074
    functionName: t2p_write_pdf_stream_end
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_end(TIFF* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4086,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4088,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4090,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4091,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4092,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - len
    - number
    - output
    argTypes:
    - tsize_t
    - uint32
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4097
      start: 4080
    functionDepth: 2
    functionLinenumber: 4080
    functionLinenumberEnd: 4097
    functionName: t2p_write_pdf_stream_dict
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2p_write_pdf_stream_length
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict(tsize_t len, uint32 number, TIFF*
      output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4110
      start: 4103
    functionDepth: 2
    functionLinenumber: 4103
    functionLinenumberEnd: 4110
    functionName: t2p_write_pdf_stream_dict_start
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict_start(TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - output
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4116
    functionDepth: 2
    functionLinenumber: 4116
    functionLinenumberEnd: 4123
    functionName: t2p_write_pdf_stream_dict_end
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_dict_end(TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4135,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4136,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4137,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - len
    - output
    argTypes:
    - tsize_t
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4129
    functionDepth: 2
    functionLinenumber: 4129
    functionLinenumberEnd: 4141
    functionName: t2p_write_pdf_stream_length
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_stream_length(tsize_t len, TIFF* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4153,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4156,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4157,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4158,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4159,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4160,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4162,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4169
      start: 4147
    functionDepth: 2
    functionLinenumber: 4147
    functionLinenumberEnd: 4169
    functionName: t2p_write_pdf_catalog
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    - TIFFmin
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_catalog(T2P* t2p, TIFF* output)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: t2p_pdf_tifftime
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4182,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4183,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4184,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4185,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4186,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4187,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4189,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4190,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4191,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4192,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4194,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4195,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4196,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4198,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4199,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4201,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4202,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4203,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4207,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4208,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4209,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4211,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4212,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4214,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4216,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4217,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4218,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4222,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4223,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4224,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4226,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4227,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4230,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4231,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4232,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4236,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4237,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4238,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4240,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4241,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4243,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4244,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4245,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4249,1
    - Dst: t2p_write_pdf_string
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4250,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4251,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4253,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4256
      start: 4175
    functionDepth: 3
    functionLinenumber: 4175
    functionLinenumberEnd: 4256
    functionName: t2p_write_pdf_info
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - strlen
    - snprintf
    - t2p_write_pdf_string
    - t2pWriteFile
    - t2p_pdf_tifftime
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_info(T2P* t2p, TIFF* input, TIFF* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: time
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4268,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4269,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4270,1
    - Dst: localtime
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4274,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4275,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4277,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4278,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4279,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4280,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4281,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4282,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4285
      start: 4263
    functionDepth: 1
    functionLinenumber: 4263
    functionLinenumberEnd: 4285
    functionName: t2p_pdf_currenttime
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - TIFFError
    - localtime
    - snprintf
    - TIFFmin
    - strerror
    - time
    linkageType: ''
    returnType: void
    signature: void t2p_pdf_currenttime(T2P* t2p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4296,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4297,1
    - Dst: t2p_pdf_currenttime
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - t2p
    - input
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4320
      start: 4292
    functionDepth: 2
    functionLinenumber: 4292
    functionLinenumberEnd: 4320
    functionName: t2p_pdf_tifftime
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_pdf_currenttime
    - TIFFGetField
    - strlen
    linkageType: ''
    returnType: void
    signature: void t2p_pdf_tifftime(T2P* t2p, TIFF* input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4334,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4338,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4339,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4340,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4341,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4343,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4353,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4354,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4355,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4356,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4357,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4360
      start: 4326
    functionDepth: 2
    functionLinenumber: 4326
    functionLinenumberEnd: 4360
    functionName: t2p_write_pdf_pages
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_pages(T2P* t2p, TIFF* output)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4373,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4374,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4375,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4376,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4377,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4378,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4379,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4380,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4381,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4382,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4383,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4384,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4385,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4386,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4387,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4388,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4389,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4390,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4391,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4392,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4393,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4394,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4395,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4396,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4397,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4398,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4399,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4400,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4402,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4404,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4405,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4406,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4407,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4408,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4409,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4410,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4411,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4412,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4413,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4415,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4416,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4417,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4419,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4422,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4424,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4425,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4426,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4427,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4428,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4429,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4430,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4432,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4433,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4434,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4435,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4438,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4439,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4440,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4442,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4443,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4444,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4445,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4447,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4451,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4453,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4455,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 83
    argCount: 3
    argNames:
    - object
    - t2p
    - output
    argTypes:
    - uint32
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4461
      start: 4366
    functionDepth: 2
    functionLinenumber: 4366
    functionLinenumberEnd: 4461
    functionName: t2p_write_pdf_page
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_page(uint32 object, T2P* t2p, TIFF* output)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4540,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4550,1
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4632,1
    - Dst: t2p_compose_pdf_page_orient_flip
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4665,1
    - Dst: t2p_compose_pdf_page_orient
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4667,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 142
    argCount: 1
    argNames:
    - t2p
    argTypes:
    - T2P*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4673
      start: 4467
    functionDepth: 1
    functionLinenumber: 4467
    functionLinenumberEnd: 4673
    functionName: t2p_compose_pdf_page
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - TIFFError
    - t2p_compose_pdf_page_orient
    - t2p_compose_pdf_page_orient_flip
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page(T2P* t2p)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 68
    argCount: 2
    argNames:
    - boxp
    - orientation
    argTypes:
    - T2P_BOX*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4748
      start: 4675
    functionDepth: 0
    functionLinenumber: 4675
    functionLinenumberEnd: 4748
    functionName: t2p_compose_pdf_page_orient
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page_orient(T2P_BOX* boxp, uint16 orientation)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - boxp
    - orientation
    argTypes:
    - T2P_BOX*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4806
      start: 4750
    functionDepth: 0
    functionLinenumber: 4750
    functionLinenumberEnd: 4806
    functionName: t2p_compose_pdf_page_orient_flip
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void t2p_compose_pdf_page_orient_flip(T2P_BOX* boxp, uint16 orientation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4823,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4834,1
    - Dst: t2p_write_pdf_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4835,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4839,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4849,1
    - Dst: t2p_write_pdf_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4850,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4854
      start: 4812
    functionDepth: 3
    functionLinenumber: 4812
    functionLinenumberEnd: 4854
    functionName: t2p_write_pdf_page_content_stream
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_snprintf_ret
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_page_content_stream(T2P* t2p, TIFF* output)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4868,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4869,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4872,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4873,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4874,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4876,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4877,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4878,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4879,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4881,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4883,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4885,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4886,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4889,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4893,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4894,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4895,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4897,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4899,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4900,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4903,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4907,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4908,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4909,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4910,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4911,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4912,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4913,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4914,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4916,1
    - Dst: t2p_write_pdf_xobject_decode
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4924,1
    - Dst: t2p_write_pdf_xobject_stream_filter
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4926,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 3
    argNames:
    - tile
    - t2p
    - output
    argTypes:
    - ttile_t
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4929
      start: 4860
    functionDepth: 3
    functionLinenumber: 4860
    functionLinenumberEnd: 4929
    functionName: t2p_write_pdf_xobject_stream_dict
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream_dict
    - t2p_tile_is_bottom_edge
    - t2p_write_pdf_xobject_decode
    - t2p_tile_is_right_edge
    - t2p_write_pdf_xobject_cs
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    - t2p_write_pdf_xobject_stream_filter
    linkageType: ''
    returnType: tsize_t
    signature: "tsize_t t2p_write_pdf_xobject_stream_dict(ttile_t tile, \n\t\t\t\t\t\t\t\t\t\t\t\tT2P*
      t2p, \n\t\t\t\t\t\t\t\t\t\t\t\tTIFF* output)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_xobject_icccs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4947,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4951,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4953,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4955,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4956,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4957,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4958,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4959,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4960,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4961,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4962,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4966,1
    - Dst: t2p_write_pdf_xobject_calcs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4970,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4972,1
    - Dst: t2p_write_pdf_xobject_calcs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4977,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4979,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4983,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4986,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4987,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4994,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4995,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4996,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4997,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:4998,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5003,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5004,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5005,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 59
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5010
      start: 4936
    functionDepth: 2
    functionLinenumber: 4936
    functionLinenumberEnd: 5010
    functionName: t2p_write_pdf_xobject_cs
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 2
    functionsReached:
    - t2p_write_pdf_xobject_calcs
    - t2p_write_pdf_xobject_cs
    - snprintf
    - t2pWriteFile
    - t2p_write_pdf_xobject_icccs
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_cs(T2P* t2p, TIFF* output)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5018,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5020,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5022,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5023,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5024,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5026,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5027,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5029,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5030,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5031,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5032,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5034,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5035,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5036,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5037,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5039,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5040,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5041,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5042,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5048
      start: 5012
    functionDepth: 2
    functionLinenumber: 5012
    functionLinenumberEnd: 5048
    functionName: t2p_write_pdf_transfer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5057,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5058,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5059,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5060,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5061,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5062,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5063,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - t2p
    - output
    - i
    argTypes:
    - T2P*
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5067
      start: 5050
    functionDepth: 3
    functionLinenumber: 5050
    functionLinenumberEnd: 5067
    functionName: t2p_write_pdf_transfer_dict
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2p_write_pdf_stream_dict
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer_dict(T2P* t2p, TIFF* output, uint16
      i)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5073,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - t2p
    - output
    - i
    argTypes:
    - T2P*
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5079
      start: 5069
    functionDepth: 3
    functionLinenumber: 5069
    functionLinenumberEnd: 5079
    functionName: t2p_write_pdf_transfer_stream
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_transfer_stream(T2P* t2p, TIFF* output, uint16
      i)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5116,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5118,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5127,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5153,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5155,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5156,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5157,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5158,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5159,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5162,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5163,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5164,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5165,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5166,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5167,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5171,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5172,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5173,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5175,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 59
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5178
      start: 5085
    functionDepth: 2
    functionLinenumber: 5085
    functionLinenumberEnd: 5178
    functionName: t2p_write_pdf_xobject_calcs
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_calcs(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5190,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5191,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5192,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5193,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5197
      start: 5184
    functionDepth: 2
    functionLinenumber: 5184
    functionLinenumberEnd: 5197
    functionName: t2p_write_pdf_xobject_icccs
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5205,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5206,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5207,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5208,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5209,1
    - Dst: t2p_write_pdf_xobject_cs
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5211,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5216
      start: 5199
    functionDepth: 3
    functionLinenumber: 5199
    functionLinenumberEnd: 5216
    functionName: t2p_write_pdf_xobject_icccs_dict
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream_dict
    - t2p_write_pdf_xobject_cs
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs_dict(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5228
      start: 5218
    functionDepth: 3
    functionLinenumber: 5218
    functionLinenumberEnd: 5228
    functionName: t2p_write_pdf_xobject_icccs_stream
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_icccs_stream(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2p_write_pdf_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5244
      start: 5234
    functionDepth: 3
    functionLinenumber: 5234
    functionLinenumberEnd: 5244
    functionName: t2p_write_pdf_xobject_palettecs_stream
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - t2p_write_pdf_stream
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_palettecs_stream(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5255,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5257,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5250
    functionDepth: 2
    functionLinenumber: 5250
    functionLinenumberEnd: 5262
    functionName: t2p_write_pdf_xobject_decode
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2pWriteFile
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_decode(T2P* t2p, TIFF* output)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5278,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5282,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5283,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5284,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5286,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5287,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5289,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5290,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5291,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5292,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5294,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5295,1
    - Dst: t2p_tile_is_right_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5297,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5298,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5299,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5301,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5302,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5304,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5305,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5307,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5308,1
    - Dst: t2p_tile_is_bottom_edge
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5310,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5311,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5312,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5314,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5315,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5317,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5318,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5320,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5321,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5325,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5327,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5332,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5335,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5336,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5342,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5344,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5345,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5346,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5347,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5348,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5349,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5350,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5352,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5353,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5354,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5355,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5356,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5357,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5358,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5359,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5360,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5361,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5362,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 82
    argCount: 3
    argNames:
    - tile
    - t2p
    - output
    argTypes:
    - ttile_t
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5371
      start: 5269
    functionDepth: 2
    functionLinenumber: 5269
    functionLinenumberEnd: 5371
    functionName: t2p_write_pdf_xobject_stream_filter
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_tile_is_bottom_edge
    - t2p_tile_is_right_edge
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xobject_stream_filter(ttile_t tile, T2P* t2p,
      TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5384,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5385,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5386,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5387,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5388,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5390,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5396
      start: 5377
    functionDepth: 2
    functionLinenumber: 5377
    functionLinenumberEnd: 5396
    functionName: t2p_write_pdf_xreftable
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_xreftable(T2P* t2p, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5411,1
    - Dst: rand
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5411,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5413,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5414,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5415,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5416,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5417,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5418,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5419,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5420,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5421,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5422,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5423,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5424,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5425,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5426,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5428,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5429,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5431,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5432,1
    - Dst: check_snprintf_ret
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5433,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5434,1
    - Dst: t2pWriteFile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5435,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 2
    argNames:
    - t2p
    - output
    argTypes:
    - T2P*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5438
      start: 5402
    functionDepth: 2
    functionLinenumber: 5402
    functionLinenumberEnd: 5438
    functionName: t2p_write_pdf_trailer
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 0
    functionsReached:
    - snprintf
    - t2pWriteFile
    - check_snprintf_ret
    - rand
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf_trailer(T2P* t2p, TIFF* output)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: t2p_read_tiff_init
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5487,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5489,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5489,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5491,1
    - Dst: t2p_write_pdf_header
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5502,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5505,1
    - Dst: t2p_write_pdf_catalog
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5506,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5507,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5510,1
    - Dst: t2p_write_pdf_info
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5511,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5512,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5515,1
    - Dst: t2p_write_pdf_pages
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5516,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5517,1
    - Dst: t2p_read_tiff_data
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5519,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5522,1
    - Dst: t2p_write_pdf_page
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5523,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5524,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5526,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5527,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5528,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5529,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5530,1
    - Dst: t2p_write_pdf_page_content_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5532,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5534,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5535,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5537,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5538,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5539,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5542,1
    - Dst: t2p_write_pdf_transfer
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5543,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5544,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5547,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5548,1
    - Dst: t2p_write_pdf_transfer_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5549,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5550,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5551,1
    - Dst: t2p_write_pdf_transfer_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5553,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5555,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5556,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5562,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5563,1
    - Dst: t2p_write_pdf_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5564,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5565,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5566,1
    - Dst: t2p_write_pdf_xobject_palettecs_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5568,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5570,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5571,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5576,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5577,1
    - Dst: t2p_write_pdf_xobject_icccs_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5578,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5579,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5580,1
    - Dst: t2p_write_pdf_xobject_icccs_stream
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5582,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5584,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5585,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5590,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5591,1
    - Dst: t2p_write_pdf_xobject_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5592,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5596,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5597,1
    - Dst: t2p_read_tiff_size_tile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5599,1
    - Dst: t2p_readwrite_pdf_image_tile
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5600,1
    - Dst: t2p_write_advance_directory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5601,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5604,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5605,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5607,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5608,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5609,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5613,1
    - Dst: t2p_write_pdf_stream_dict_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5614,1
    - Dst: t2p_write_pdf_xobject_stream_dict
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5615,1
    - Dst: t2p_write_pdf_stream_dict_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5619,1
    - Dst: t2p_write_pdf_stream_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5620,1
    - Dst: t2p_read_tiff_size
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5622,1
    - Dst: t2p_readwrite_pdf_image
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5623,1
    - Dst: t2p_write_advance_directory
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5624,1
    - Dst: t2p_write_pdf_stream_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5627,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5628,1
    - Dst: t2p_write_pdf_obj_start
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5630,1
    - Dst: t2p_write_pdf_stream_length
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5631,1
    - Dst: t2p_write_pdf_obj_end
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5632,1
    - Dst: t2p_write_pdf_xreftable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5636,1
    - Dst: t2p_write_pdf_trailer
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5637,1
    - Dst: t2p_disable
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c:5638,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 147
    argCount: 3
    argNames:
    - t2p
    - input
    - output
    argTypes:
    - T2P*
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5641
      start: 5480
    functionDepth: 4
    functionLinenumber: 5480
    functionLinenumberEnd: 5641
    functionName: t2p_write_pdf
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2pdf.c
    functionUses: 1
    functionsReached:
    - t2p_write_pdf_page
    - t2p_write_advance_directory
    - t2p_write_pdf_xobject_icccs_dict
    - t2p_write_pdf_transfer_dict
    - _TIFFmalloc
    - t2p_write_pdf_obj_start
    - t2p_disable
    - t2p_write_pdf_trailer
    - t2p_read_tiff_size_tile
    - t2p_write_pdf_stream_dict
    - t2p_write_pdf_info
    - t2p_write_pdf_stream_length
    - t2p_readwrite_pdf_image
    - t2p_write_pdf_obj_end
    - t2p_write_pdf_catalog
    - t2p_write_pdf_stream_start
    - t2p_write_pdf_stream_dict_start
    - t2p_write_pdf_xobject_palettecs_stream
    - t2p_read_tiff_size
    - TIFFError
    - t2p_write_pdf_transfer
    - t2p_write_pdf_xobject_icccs_stream
    - t2p_read_tiff_data
    - t2p_readwrite_pdf_image_tile
    - t2p_write_pdf_stream_end
    - t2p_write_pdf_stream_dict_end
    - t2p_write_pdf_page_content_stream
    - t2p_write_pdf_transfer_stream
    - t2p_write_pdf_pages
    - TIFFSafeMultiply
    - t2p_write_pdf_header
    - t2p_write_pdf_xobject_stream_dict
    - t2p_write_pdf_xreftable
    - t2p_read_tiff_init
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t t2p_write_pdf(T2P* t2p, TIFF* input, TIFF* output)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: PCT
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PCT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - out
    - rgb
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: compresscontig
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compresscontig(unsigned char* out, unsigned char* rgb, uint32
      n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 5
    argNames:
    - out
    - r
    - g
    - b
    - n
    argTypes:
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: compresssep
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void compresssep(unsigned char* out,\n\t    unsigned char* r, unsigned
      char* g, unsigned char* b, uint32 n)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:82,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - n
    - r
    - g
    - b
    argTypes:
    - TIFF*
    - int
    - uint16*
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: checkcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - TIFFFileName
    - TIFFWarning
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFF* tif, int n, uint16* r, uint16* g, uint16* b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - out
    - data
    - n
    - rmap
    - gmap
    - bmap
    argTypes:
    - unsigned char*
    - unsigned char*
    - uint32
    - uint16*
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: compresspalette
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void compresspalette(unsigned char* out, unsigned char* data, uint32
      n, uint16* rmap, uint16* gmap, uint16* bmap)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:136,1
    - Dst: processCompressOptions
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:139,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:140,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:143,1
    - Dst: PCT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:146,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:146,1
    - Dst: PCT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:149,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:149,1
    - Dst: PCT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:152,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:152,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:155,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:159,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:160,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:164,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:166,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:171,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:173,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:178,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:182,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:184,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:188,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:189,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:190,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:192,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:197,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:198,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:199,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:200,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:201,1
    - Dst: cpTags
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:202,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:204,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:207,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:208,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:213,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:217,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:218,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:219,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:220,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:221,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:221,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:224,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:227,1
    - Dst: TIFFDefaultStripSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:228,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:231,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:232,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:233,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:234,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:239,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:243,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:244,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:245,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:249,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:252,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:256,1
    - Dst: compresspalette
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:258,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:259,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:263,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:264,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:264,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:267,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:271,1
    - Dst: compresscontig
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:273,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:274,1
    - Dst: pack
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:278,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:281,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:282,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:283,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:286,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:291,1
    - Dst: compresssep
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:294,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:296,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:304,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:306,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:307,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:308,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:313,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:315,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:317,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:319,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 173
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 321
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 15
    functionsReached:
    - PCT
    - TIFFDefaultStripSize
    - pack
    - TIFFScanlineSize
    - fprintf
    - _TIFFmalloc
    - snprintf
    - TIFFWriteScanline
    - TIFFGetField
    - getopt
    - TIFFClose
    - checkcmap
    - compresspalette
    - compresssep
    - TIFFReadScanline
    - usage
    - TIFFSetField
    - compresscontig
    - TIFFSafeMultiply
    - CVT
    - cpTags
    - processCompressOptions
    - atoi
    - _TIFFfree
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 231
    functionName: pack
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pack(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:326,1
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:328,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:330,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:331,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:336,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:337,1
    - Dst: usage
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:341,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:343,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:345,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:346,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:348,1
    - Dst: strneq
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:350,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:351,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:353,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 28
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 358
    functionName: processCompressOptions
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 8
    functionsReached:
    - usage
    - streq
    - strchr
    - atoi
    - strneq
    - isdigit
    linkageType: ''
    returnType: int
    signature: int processCompressOptions(char* opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tag
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 362
    functionName: CopyField
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField(tag, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 362
    functionDepth: 0
    functionLinenumber: 362
    functionLinenumberEnd: 364
    functionName: CopyField2
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField2(tag, v1, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 366
    functionName: CopyField3
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField3(tag, v1, v2, v3)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tag
    - ','
    - v1
    - ','
    - v2
    - ','
    - v3
    - ','
    - v4
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 368
    functionName: CopyField4
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CopyField4(tag, v1, v2, v3, v4)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:376,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:379,1
    - Dst: CopyField4
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:382,1
    - Dst: CopyField2
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:386,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:391,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:397,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:400,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:405,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:411,1
    - Dst: CopyField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:414,1
    - Dst: TIFFError
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:418,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:418,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 5
    argNames:
    - in
    - out
    - tag
    - count
    - type
    argTypes:
    - TIFF*
    - TIFF*
    - uint16
    - uint16
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 422
    functionName: cpTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - TIFFError
    - TIFFFileName
    - CopyField4
    - CopyField2
    - CopyField
    linkageType: ''
    returnType: void
    signature: void cpTag(TIFF* in, TIFF* out, uint16 tag, uint16 count, TIFFDataType
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:479,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:486,1
    - Dst: cpTag
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:490,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - TIFF*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 492
    functionName: cpTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 3
    functionsReached:
    - TIFFGetField
    - cpTag
    linkageType: ''
    returnType: void
    signature: void cpTags(TIFF* in, TIFF* out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:523,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:524,1
    - Dst: TIFFGetVersion
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:524,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:526,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c:527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 528
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/tools/tiff2bw.c
    functionUses: 69
    functionsReached:
    - setbuf
    - fprintf
    - exit
    - TIFFGetVersion
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/port/getopt.c:78,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/port/getopt.c:86,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/port/getopt.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/port/getopt.c:114,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 49
    argCount: 3
    argNames:
    - argc
    - argv
    - optstring
    argTypes:
    - int
    - char*[]
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 123
    functionName: getopt
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/getopt.c
    functionUses: 27
    functionsReached:
    - strchr
    - fprintf
    linkageType: ''
    returnType: int
    signature: int getopt(int argc, char * const argv[], const char *optstring)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/port/_strtol.h:54,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/tiff/port/_strtol.h:74,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 74
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts:
    - condition: (nptr != NULL)
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/libspectre/ghostscript/tiff/port/_strtol.h
    constantsTouched: []
    func_position:
      end: 160
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 160
    functionName: _FUNCNAME
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/_strtol.h
    functionUses: 0
    functionsReached:
    - assert
    - isspace
    linkageType: ''
    returnType: __INT
    signature: __INT _FUNCNAME(const char *nptr, char **endptr, int base)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _vsnprintf
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:20,1
    - Dst: _vsnprintf_s
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:22,1
    - Dst: _vscprintf
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - str
    - size
    - format
    - ap
    argTypes:
    - char*
    - size_t
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 14
    functionDepth: 0
    functionLinenumber: 14
    functionLinenumberEnd: 28
    functionName: _TIFF_vsnprintf_f
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/snprintf.c
    functionUses: 0
    functionsReached:
    - _vsnprintf
    - _vsnprintf_s
    - _vscprintf
    linkageType: ''
    returnType: int
    signature: int _TIFF_vsnprintf_f(char* str, size_t size, const char* format, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:35,1
    - Dst: vsnprintf
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:36,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/port/snprintf.c:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - str
    - size
    - format
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: _TIFF_snprintf_f
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/snprintf.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - va_end
    linkageType: ''
    returnType: int
    signature: int _TIFF_snprintf_f(char* str, size_t size, const char* format, ...)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/port/_strtoul.h:53,1
    - Dst: isspace
      Src: /src/libspectre/ghostscript/tiff/port/_strtoul.h:73,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 56
    argCount: 3
    argNames:
    - nptr
    - endptr
    - base
    argTypes:
    - char*
    - char**
    - int
    assertStmts:
    - condition: (nptr != NULL)
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/libspectre/ghostscript/tiff/port/_strtoul.h
    constantsTouched: []
    func_position:
      end: 127
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 127
    functionName: _FUNCNAME
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/_strtoul.h
    functionUses: 0
    functionsReached:
    - assert
    - isspace
    linkageType: ''
    returnType: __UINT
    signature: __UINT _FUNCNAME(const char *nptr, char **endptr, int base)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9
      start: 5
    functionDepth: 0
    functionLinenumber: 5
    functionLinenumberEnd: 9
    functionName: libport_dummy_function
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/dummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void libport_dummy_function()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/port/strcasecmp.c:45,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/port/strcasecmp.c:45,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/port/strcasecmp.c:48,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/port/strcasecmp.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - s1
    - s2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: strcasecmp
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/strcasecmp.c
    functionUses: 111
    functionsReached:
    - tolower
    linkageType: ''
    returnType: int
    signature: int strcasecmp(const char *s1, const char *s2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/libspectre/ghostscript/tiff/port/lfind.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - key
    - base
    - nmemb
    - size
    argTypes:
    - void*
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    functionName: lfind
    functionSourceFile: /src/libspectre/ghostscript/tiff/port/lfind.c
    functionUses: 0
    functionsReached:
    - compar
    linkageType: ''
    returnType: void
    signature: "void *\nlfind(const void *key, const void *base, size_t *nmemb, size_t
      size,\n      int(*compar)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: EndOfData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EndOfData()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: NeedBits8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NeedBits8(n,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 154
    functionName: NeedBits16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NeedBits16(n,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: GetBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetBits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 177
    functionName: ClrBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ClrBits(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 207
    functionName: LOOKUP8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP8(wid,tab,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: LOOKUP16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP16(wid,tab,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 226
    functionName: SETVALUE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETVALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 232
    functionName: LOOKUP8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP8(wid,tab,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - wid
    - ','
    - tab
    - ','
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: LOOKUP16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LOOKUP16(wid,tab,eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 247
    functionName: SETVALUE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETVALUE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 276
    functionName: SYNC_EOL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SYNC_EOL(eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 304
    functionName: CLEANUP_RUNS
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP_RUNS()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 373
    functionName: EXPAND1D
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND1D(eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - eoflab
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 401
    functionName: EXPAND2D
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EXPAND2D(eoflab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: TIFFSetWarningHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandler
    signature: TIFFErrorHandler TIFFSetWarningHandler(TIFFErrorHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandlerExt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: TIFFSetWarningHandlerExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandlerExt
    signature: TIFFErrorHandlerExt TIFFSetWarningHandlerExt(TIFFErrorHandlerExt handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:53,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:55,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:58,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - module
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: TIFFWarning
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c
    functionUses: 9
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void TIFFWarning(const char* module, const char* fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:69,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:71,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:74,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - module
    - fmt
    argTypes:
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: TIFFWarningExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_warning.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void TIFFWarningExt(thandle_t fd, const char* module, const char* fmt,
      ...)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:69,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:72,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:99,1
    - Dst: TIFFroundup_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:100,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:103,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:107,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:111,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:114,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:127,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:131,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:136,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:145,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:157,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 6
    argNames:
    - tif
    - size
    - rawdata_offset
    - is_strip
    - strip_or_tile
    - module
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - int
    - uint32
    - char*
    assertStmts:
    - condition: ((tif->tif_flags & TIFF_MYBUFFER) != 0)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 180
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 180
    functionName: TIFFReadAndRealloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFroundup_64
    - _TIFFrealloc
    - TIFFErrorExt
    - assert
    - TIFFReadFile
    - memset
    - _TIFFfree
    - TIFFGetFileSize
    linkageType: ''
    returnType: int
    signature: "int TIFFReadAndRealloc( TIFF* tif, tmsize_t size,\n                               tmsize_t
      rawdata_offset,\n                               int is_strip, uint32 strip_or_tile,\n
      \                              const char* module )"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:209,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:213,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:237,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:238,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:244,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:247,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:248,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:261,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:264,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:268,1
    - Dst: TIFFReadAndRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:269,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:283,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:285,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:286,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:303,1
    - Dst: TIFFJPEGIsFullStripRequired
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:305,1
    - Dst: TIFFFillStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:307,1
    - Dst: TIFFStartStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:312,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 4
    argNames:
    - tif
    - strip
    - read_ahead
    - restart
    argTypes:
    - TIFF*
    - int
    - tmsize_t
    - int
    assertStmts:
    - condition: ( restart )
      pos:
        line_end: 208
        line_start: 208
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags&TIFF_BUFFERMMAP)==0)
      pos:
        line_end: 236
        line_start: 236
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags&TIFF_BUFFERMMAP)==0)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags&TIFF_BUFFERMMAP)==0)
      pos:
        line_end: 284
        line_start: 284
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 318
      start: 183
    functionDepth: 2
    functionLinenumber: 183
    functionLinenumberEnd: 318
    functionName: TIFFFillStripPartial
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - SeekOK
    - isFillOrder
    - TIFFReverseBits
    - TIFFErrorExt
    - TIFFReadAndRealloc
    - TIFFFillStrip
    - memmove
    - assert
    - TIFFGetStrileOffset
    - TIFFJPEGIsFullStripRequired
    - TIFFGetStrileByteCount
    - TIFFStartStrip
    linkageType: ''
    returnType: int
    signature: int TIFFFillStripPartial( TIFF *tif, int strip, tmsize_t read_ahead,
      int restart )
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:340,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:348,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:362,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:363,1
    - Dst: TIFFFillStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:399,1
    - Dst: TIFFFillStripPartial
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:404,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:415,1
    - Dst: TIFFFillStripPartial
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:417,1
    - Dst: TIFFFillStripPartial
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:434,1
    - Dst: TIFFStartStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:439,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 55
    argCount: 3
    argNames:
    - tif
    - row
    - sample
    argTypes:
    - TIFF*
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 457
    functionName: TIFFSeek
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFFillStrip
    - TIFFErrorExt
    - TIFFFillStripPartial
    - TIFFGetStrileByteCount
    - TIFFStartStrip
    - isMapped
    linkageType: ''
    returnType: int
    signature: int TIFFSeek(TIFF* tif, uint32 row, uint16 sample )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:464,1
    - Dst: TIFFSeek
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:466,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - buf
    - row
    - sample
    argTypes:
    - TIFF*
    - void*
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 481
    functionName: TIFFReadScanline
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 18
    functionsReached:
    - TIFFCheckRead
    - TIFFSeek
    linkageType: ''
    returnType: int
    signature: int TIFFReadScanline(TIFF* tif, void* buf, uint32 row, uint16 sample)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:497,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:501,1
    - Dst: TIFFhowmany_32_maxuint_compat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:510,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:516,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - strip
    - pplane
    argTypes:
    - TIFF*
    - uint32
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 520
    functionName: TIFFReadEncodedStripGetStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFCheckRead
    - TIFFErrorExt
    - TIFFVStripSize
    - TIFFhowmany_32_maxuint_compat
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadEncodedStripGetStripSize(TIFF* tif, uint32 strip,
      uint16* pplane)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedStripGetStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:534,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:541,1
    - Dst: TIFFReadRawStrip1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:544,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:547,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:549,1
    - Dst: TIFFFillStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:557,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 4
    argNames:
    - tif
    - strip
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 563
    functionName: TIFFReadEncodedStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 14
    functionsReached:
    - TIFFReadRawStrip1
    - TIFFReverseBits
    - isFillOrder
    - TIFFFillStrip
    - TIFFReadEncodedStripGetStripSize
    - isMapped
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadEncodedStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t
      size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:581,1
    - Dst: TIFFReadEncodedStripGetStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:584,1
    - Dst: TIFFFillStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:590,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:593,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:595,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:595,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 5
    argNames:
    - tif
    - strip
    - buf
    - bufsizetoalloc
    - size_to_read
    argTypes:
    - TIFF*
    - uint32
    - void**
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 571
    functionDepth: 3
    functionLinenumber: 571
    functionLinenumberEnd: 606
    functionName: _TIFFReadEncodedStripAndAllocBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - _TIFFmemset
    - TIFFErrorExt
    - TIFFFillStrip
    - TIFFReadEncodedStrip
    - _TIFFmalloc
    - TIFFReadEncodedStripGetStripSize
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadEncodedStripAndAllocBuffer(TIFF* tif, uint32 strip,\n
      \                                   void **buf, tmsize_t bufsizetoalloc,\n                                    tmsize_t
      size_to_read)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:612,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:613,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:616,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:616,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:617,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:622,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:625,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:631,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:642,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:643,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:661,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:668,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:677,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 5
    argNames:
    - tif
    - strip
    - buf
    - size
    - module
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    - char*
    assertStmts:
    - condition: ((tif->tif_flags&TIFF_NOREADRAW)==0)
      pos:
        line_end: 611
        line_start: 611
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 681
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 681
    functionName: TIFFReadRawStrip1
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - SeekOK
    - TIFFErrorExt
    - assert
    - TIFFGetStrileOffset
    - TIFFReadFile
    - _TIFFmemcpy
    - isMapped
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadRawStrip1(TIFF* tif, uint32 strip, void* buf, tmsize_t
      size,\n    const char* module)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:687,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:687,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:688,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:690,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:690,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:693,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:700,1
    - Dst: TIFFReadAndRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:709,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - strip_or_tile
    - is_strip
    - size
    - module
    argTypes:
    - TIFF*
    - uint32
    - int
    - tmsize_t
    - char*
    assertStmts:
    - condition: ( !isMapped(tif) )
      pos:
        line_end: 686
        line_start: 686
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    - condition: ((tif->tif_flags&TIFF_NOREADRAW)==0)
      pos:
        line_end: 687
        line_start: 687
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 716
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 716
    functionName: TIFFReadRawStripOrTile2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - SeekOK
    - TIFFErrorExt
    - TIFFReadAndRealloc
    - assert
    - TIFFGetStrileOffset
    - isMapped
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t TIFFReadRawStripOrTile2(TIFF* tif, uint32 strip_or_tile,
      int is_strip,\n                        tmsize_t size, const char* module)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:729,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:732,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:740,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:744,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:748,1
    - Dst: TIFFReadRawStrip1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:752,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tif
    - strip
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 753
    functionName: TIFFReadRawStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 6
    functionsReached:
    - TIFFReadRawStrip1
    - _TIFFCastUInt64ToSSize
    - TIFFCheckRead
    - TIFFErrorExt
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadRawStrip(TIFF* tif, uint32 strip, void* buf, tmsize_t
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 755
    functionDepth: 0
    functionLinenumber: 755
    functionLinenumberEnd: 759
    functionName: NoSantizeSubUInt64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW NoSantizeSubUInt64(uint64 a,
      uint64 b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:773,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:776,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:781,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:796,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:804,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:810,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:821,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:832,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:839,1
    - Dst: NoSantizeSubUInt64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:844,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:844,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:847,1
    - Dst: NoSantizeSubUInt64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:852,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:852,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:860,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:861,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:875,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:881,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:902,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:908,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:921,1
    - Dst: TIFFReadBufferSetup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:924,1
    - Dst: TIFFReadRawStrip1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:928,1
    - Dst: TIFFReadRawStripOrTile2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:936,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:947,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:949,1
    - Dst: TIFFStartStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:952,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 74
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 953
    functionName: TIFFFillStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 4
    functionsReached:
    - TIFFReadRawStrip1
    - TIFFReadRawStripOrTile2
    - isFillOrder
    - NoSantizeSubUInt64
    - TIFFReadBufferSetup
    - TIFFReverseBits
    - TIFFErrorExt
    - TIFFGetStrileOffset
    - TIFFGetStrileByteCount
    - TIFFStripSize
    - _TIFFfree
    - TIFFStartStrip
    - TIFFWarningExt
    - isMapped
    linkageType: ''
    returnType: int
    signature: int TIFFFillStrip(TIFF* tif, uint32 strip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:967,1
    - Dst: TIFFCheckTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:967,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:969,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:970,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 6
    argNames:
    - tif
    - buf
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void*
    - uint32
    - uint32
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 971
    functionName: TIFFReadTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 6
    functionsReached:
    - TIFFCheckRead
    - TIFFCheckTile
    - TIFFComputeTile
    - TIFFReadEncodedTile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadTile(TIFF* tif, void* buf, uint32 x, uint32 y, uint32
      z, uint16 s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:984,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:987,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:996,1
    - Dst: TIFFReadRawTile1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:999,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1002,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1004,1
    - Dst: TIFFFillTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1014,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 4
    argNames:
    - tif
    - tile
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 1020
    functionName: TIFFReadEncodedTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 7
    functionsReached:
    - TIFFReadRawTile1
    - isFillOrder
    - TIFFReverseBits
    - TIFFCheckRead
    - TIFFErrorExt
    - TIFFFillTile
    - isMapped
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadEncodedTile(TIFF* tif, uint32 tile, void* buf, tmsize_t
      size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1033,1
    - Dst: TIFFCheckTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1033,1
    - Dst: _TIFFReadEncodedTileAndAllocBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1035,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 7
    argNames:
    - tif
    - buf
    - bufsizetoalloc
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void**
    - tmsize_t
    - uint32
    - uint32
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1039
    functionName: _TIFFReadTileAndAllocBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFCheckRead
    - _TIFFReadEncodedTileAndAllocBuffer
    - TIFFCheckTile
    - TIFFComputeTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadTileAndAllocBuffer(TIFF* tif,\n                            void
      **buf, tmsize_t bufsizetoalloc,\n                            uint32 x, uint32
      y, uint32 z, uint16 s)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1058,1
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1061,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1064,1
    - Dst: TIFFFillTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1070,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1073,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1075,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1075,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1079,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - tif
    - tile
    - buf
    - bufsizetoalloc
    - size_to_read
    argTypes:
    - TIFF*
    - uint32
    - void**
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1047
    functionDepth: 2
    functionLinenumber: 1047
    functionLinenumberEnd: 1091
    functionName: _TIFFReadEncodedTileAndAllocBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - TIFFFileName
    - _TIFFmemset
    - TIFFReadEncodedTile
    - TIFFCheckRead
    - TIFFErrorExt
    - _TIFFmalloc
    - TIFFFillTile
    linkageType: ''
    returnType: tmsize_t
    signature: "tmsize_t _TIFFReadEncodedTileAndAllocBuffer(TIFF* tif, uint32 tile,\n
      \                                   void **buf, tmsize_t bufsizetoalloc,\n                                    tmsize_t
      size_to_read)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1096,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1097,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1100,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1100,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1101,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1108,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1111,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1118,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1130,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1132,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1140,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1148,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1158,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 29
    argCount: 5
    argNames:
    - tif
    - tile
    - buf
    - size
    - module
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    - char*
    assertStmts:
    - condition: ((tif->tif_flags&TIFF_NOREADRAW)==0)
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1161
      start: 1093
    functionDepth: 1
    functionLinenumber: 1093
    functionLinenumberEnd: 1161
    functionName: TIFFReadRawTile1
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - SeekOK
    - TIFFErrorExt
    - assert
    - TIFFGetStrileOffset
    - TIFFReadFile
    - _TIFFmemcpy
    - isMapped
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadRawTile1(TIFF* tif, uint32 tile, void* buf, tmsize_t
      size, const char* module)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckRead
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1174,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1177,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1184,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1188,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1192,1
    - Dst: TIFFReadRawTile1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 4
    argNames:
    - tif
    - tile
    - buf
    - size
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1166
    functionDepth: 2
    functionLinenumber: 1166
    functionLinenumberEnd: 1197
    functionName: TIFFReadRawTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 4
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFReadRawTile1
    - TIFFCheckRead
    - TIFFErrorExt
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFReadRawTile(TIFF* tif, uint32 tile, void* buf, tmsize_t
      size)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1211,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1214,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1219,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1234,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1242,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1248,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1259,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1270,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1276,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1277,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1291,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1299,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1313,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1319,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1332,1
    - Dst: TIFFReadBufferSetup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1335,1
    - Dst: TIFFReadRawTile1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1339,1
    - Dst: TIFFReadRawStripOrTile2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1347,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1359,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1361,1
    - Dst: TIFFStartTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1365,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 72
    argCount: 2
    argNames:
    - tif
    - tile
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1203
    functionDepth: 3
    functionLinenumber: 1203
    functionLinenumberEnd: 1366
    functionName: TIFFFillTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 2
    functionsReached:
    - TIFFReadRawStripOrTile2
    - TIFFReadRawTile1
    - isFillOrder
    - TIFFReadBufferSetup
    - TIFFReverseBits
    - TIFFStartTile
    - TIFFErrorExt
    - TIFFGetStrileOffset
    - TIFFGetStrileByteCount
    - _TIFFfree
    - TIFFTileSize
    - TIFFWarningExt
    - isMapped
    linkageType: ''
    returnType: int
    signature: int TIFFFillTile(TIFF* tif, uint32 tile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1382,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1387,1
    - Dst: TIFFroundup_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1396,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1398,1
    - Dst: _TIFFcalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1404,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - tif
    - bp
    - size
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    assertStmts:
    - condition: ((tif->tif_flags&TIFF_NOREADRAW)==0)
      pos:
        line_end: 1381
        line_start: 1381
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1415
      start: 1377
    functionDepth: 1
    functionLinenumber: 1377
    functionLinenumberEnd: 1415
    functionName: TIFFReadBufferSetup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 2
    functionsReached:
    - TIFFroundup_64
    - TIFFErrorExt
    - assert
    - _TIFFcalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFReadBufferSetup(TIFF* tif, void* bp, tmsize_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1446,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1450
      start: 1421
    functionDepth: 1
    functionLinenumber: 1421
    functionLinenumberEnd: 1450
    functionName: TIFFStartStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 3
    functionsReached:
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: int
    signature: int TIFFStartStrip(TIFF* tif, uint32 strip)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1469,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1471,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1475,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1477,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1493,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - tif
    - tile
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1456
    functionDepth: 1
    functionLinenumber: 1456
    functionLinenumberEnd: 1497
    functionName: TIFFStartTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - TIFFhowmany_32
    - TIFFErrorExt
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: int
    signature: int TIFFStartTile(TIFF* tif, uint32 tile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1503,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1506,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - tiles
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1513
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1513
    functionName: TIFFCheckRead
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 8
    functionsReached:
    - TIFFErrorExt
    - isTiled
    linkageType: ''
    returnType: int
    signature: int TIFFCheckRead(TIFF* tif, int tiles)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1536,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1541,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1553,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1556,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1559,1
    - Dst: TIFFStartTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1561,1
    - Dst: TIFFhowmany_32_maxuint_compat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1574,1
    - Dst: TIFFStartStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1575,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1587,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1590,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 6
    argNames:
    - tif
    - strile
    - inbuf
    - insize
    - outbuf
    - outsize
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1524
    functionDepth: 2
    functionLinenumber: 1524
    functionLinenumberEnd: 1600
    functionName: TIFFReadFromUserBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 1
    functionsReached:
    - isFillOrder
    - TIFFReverseBits
    - TIFFStartTile
    - TIFFErrorExt
    - TIFFIsTiled
    - TIFFhowmany_32_maxuint_compat
    - TIFFStartStrip
    linkageType: ''
    returnType: int
    signature: "int TIFFReadFromUserBuffer(TIFF* tif, uint32 strile,\n                                void*
      inbuf, tmsize_t insize,\n                                void* outbuf, tmsize_t
      outsize)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1602
    functionDepth: 0
    functionLinenumber: 1602
    functionLinenumberEnd: 1606
    functionName: _TIFFNoPostDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFNoPostDecode(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1612,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 1) == 0)
      pos:
        line_end: 1611
        line_start: 1611
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1614
      start: 1608
    functionDepth: 1
    functionLinenumber: 1608
    functionLinenumberEnd: 1614
    functionName: _TIFFSwab16BitData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab16BitData(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1620,1
    - Dst: TIFFSwabArrayOfTriples
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: ((cc % 3) == 0)
      pos:
        line_end: 1619
        line_start: 1619
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1622
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1622
    functionName: _TIFFSwab24BitData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFSwabArrayOfTriples
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab24BitData(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1628,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 3) == 0)
      pos:
        line_end: 1627
        line_start: 1627
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1630
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1630
    functionName: _TIFFSwab32BitData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfLong
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab32BitData(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1636,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: ((cc & 7) == 0)
      pos:
        line_end: 1635
        line_start: 1635
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    constantsTouched: []
    func_position:
      end: 1638
      start: 1632
    functionDepth: 1
    functionLinenumber: 1632
    functionLinenumberEnd: 1638
    functionName: _TIFFSwab64BitData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_read.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfDouble
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFSwab64BitData(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    functionName: REPEAT
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT(n, op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:160,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:163,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 58
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinearF
    argTypes:
    - uint16*
    - int
    - int
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 169
    functionName: horizontalAccumulateF
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulateF(uint16 *wp, int n, int stride, float *op,\n\tfloat
      *ToLinearF)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:187,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:188,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:189,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:198,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:199,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:200,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:207,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:208,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:209,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:210,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:220,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:221,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:222,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:223,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:226,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:227,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:230,1
    - Dst: CLAMP12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:232,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinearF
    argTypes:
    - uint16*
    - int
    - int
    - int16*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 237
    functionName: horizontalAccumulate12
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - CLAMP12
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate12(uint16 *wp, int n, int stride, int16 *op,\n\tfloat
      *ToLinearF)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 180
    functionName: CLAMP12
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP12(t)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:276,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:279,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear16
    argTypes:
    - uint16*
    - int
    - int
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 285
    functionName: horizontalAccumulate16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate16(uint16 *wp, int n, int stride, uint16
      *op,\n\tuint16 *ToLinear16)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:325,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:328,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 51
    argCount: 4
    argNames:
    - wp
    - n
    - stride
    - op
    argTypes:
    - uint16*
    - int
    - int
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 334
    functionName: horizontalAccumulate11
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: void horizontalAccumulate11(uint16 *wp, int n, int stride, uint16 *op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:373,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:376,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear8
    argTypes:
    - uint16*
    - int
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 382
    functionName: horizontalAccumulate8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate8(uint16 *wp, int n, int stride, unsigned
      char *op,\n\tunsigned char *ToLinear8)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:439,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:442,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 5
    argNames:
    - wp
    - n
    - stride
    - op
    - ToLinear8
    argTypes:
    - uint16*
    - int
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 448
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 448
    functionName: horizontalAccumulate8abgr
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    linkageType: ''
    returnType: void
    signature: "void horizontalAccumulate8abgr(uint16 *wp, int n, int stride, unsigned
      char *op,\n\tunsigned char *ToLinear8)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: log
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:505,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:508,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:509,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:514,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:515,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:516,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:517,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:518,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:519,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:522,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:523,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:524,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:525,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:526,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:527,1
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:545,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 76
    argCount: 1
    argNames:
    - sp
    argTypes:
    - PixarLogState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 592
    functionName: PixarLogMakeTables
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    - log
    - exp
    linkageType: ''
    returnType: int
    signature: int PixarLogMakeTables(PixarLogState *sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 594
    functionDepth: 0
    functionLinenumber: 594
    functionLinenumberEnd: 595
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 595
    functionDepth: 0
    functionLinenumber: 595
    functionLinenumberEnd: 596
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 24
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 635
    functionName: PixarLogGuessDataFmt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PixarLogGuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 641
    functionName: multiply_ms
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 1
    functionsReached:
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:646,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts:
    - condition: (m1 >= 0 && m2 >= 0)
      pos:
        line_end: 645
        line_start: 645
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 654
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 654
    functionName: add_ms
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t add_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 661
    functionName: PixarLogFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int PixarLogFixupTags(TIFF* tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:668,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:672,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:692,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:692,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:692,1
    - Dst: add_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:695,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:698,1
    - Dst: PixarLogGuessDataFmt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:703,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:705,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:708,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:714,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:715,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:718,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 724
      start: 663
    functionDepth: 2
    functionLinenumber: 663
    functionLinenumberEnd: 724
    functionName: PixarLogSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - multiply_ms
    - add_ms
    - TIFFErrorExt
    - assert
    - PixarLogGuessDataFmt
    - _TIFFmalloc
    - _TIFFfree
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int PixarLogSetupDecode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:733,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:736,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:738,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:745,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:748,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    - condition: (sizeof(sp->stream.avail_in)==4)
      pos:
        line_end: 737
        line_start: 737
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 749
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 749
    functionName: PixarLogPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - inflateReset
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int PixarLogPreDecode(TIFF* tif, uint16 s)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:756,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:776,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:785,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:791,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:798,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:804,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:808,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:813,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:819,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:827,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:839,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:847,1
    - Dst: horizontalAccumulateF
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:856,1
    - Dst: horizontalAccumulate16
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:861,1
    - Dst: horizontalAccumulate12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:866,1
    - Dst: horizontalAccumulate11
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:871,1
    - Dst: horizontalAccumulate8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:876,1
    - Dst: horizontalAccumulate8abgr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:881,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:886,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 92
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 784
        line_start: 784
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    - condition: (sizeof(sp->stream.avail_out)==4)
      pos:
        line_end: 790
        line_start: 790
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 894
      start: 751
    functionDepth: 3
    functionLinenumber: 751
    functionLinenumberEnd: 894
    functionName: PixarLogDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - horizontalAccumulate8
    - DecoderState
    - TIFFErrorExt
    - assert
    - horizontalAccumulateF
    - horizontalAccumulate16
    - inflate
    - horizontalAccumulate12
    - horizontalAccumulate8abgr
    - TIFFWarningExt
    - horizontalAccumulate11
    linkageType: ''
    returnType: int
    signature: int PixarLogDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:901,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:904,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:910,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:910,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:910,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:914,1
    - Dst: PixarLogGuessDataFmt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:918,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:920,1
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:924,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:925,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 903
        line_start: 903
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 931
      start: 896
    functionDepth: 1
    functionLinenumber: 896
    functionLinenumberEnd: 931
    functionName: PixarLogSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - multiply_ms
    - TIFFErrorExt
    - assert
    - EncoderState
    - deflateInit
    - PixarLogGuessDataFmt
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int PixarLogSetupEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:940,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:943,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:945,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:952,1
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 942
        line_start: 942
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    - condition: (sizeof(sp->stream.avail_out)==4)
      pos:
        line_end: 944
        line_start: 944
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 956
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 956
    functionName: PixarLogPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - deflateReset
    - assert
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int PixarLogPreEncode(TIFF* tif, uint16 s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:972,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:973,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:974,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:980,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:981,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:982,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:985,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:986,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:987,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:988,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:994,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:995,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:996,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:997,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1000,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1000,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1003,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1004,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1004,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 6
    argNames:
    - sp
    - ip
    - n
    - stride
    - wp
    - FromLT2
    argTypes:
    - PixarLogState*
    - float*
    - int
    - int
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 1010
    functionName: horizontalDifferenceF
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: void horizontalDifferenceF(PixarLogState *sp, float *ip, int n, int
      stride, uint16 *wp, uint16 *FromLT2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 968
    functionName: CLAMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1025,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1025,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1026,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1032,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1033,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1034,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1037,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1037,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1038,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1038,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1044,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1045,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1046,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1047,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1050,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1050,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1053,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1054,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1054,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 5
    argNames:
    - ip
    - n
    - stride
    - wp
    - From14
    argTypes:
    - unsigned short*
    - int
    - int
    - unsigned short*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1060
    functionName: horizontalDifference16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void horizontalDifference16(unsigned short *ip, int n, int stride,
      \n\tunsigned short *wp, uint16 *From14)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1021
    functionName: CLAMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1075,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1075,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1076,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1080,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1081,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1082,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1087,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1087,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1088,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1088,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1092,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1093,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1094,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1095,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1100,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1100,1
    - Dst: REPEAT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1103,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1104,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 5
    argNames:
    - ip
    - n
    - stride
    - wp
    - From8
    argTypes:
    - unsigned char*
    - int
    - int
    - unsigned short*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1110
    functionName: horizontalDifference8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - REPEAT
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void horizontalDifference8(unsigned char *ip, int n, int stride, \n\tunsigned
      short *wp, uint16 *From8)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1070
    functionDepth: 0
    functionLinenumber: 1070
    functionLinenumberEnd: 1071
    functionName: CLAMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(v)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1120,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1142,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1152,1
    - Dst: horizontalDifferenceF
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1160,1
    - Dst: horizontalDifference16
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1165,1
    - Dst: horizontalDifference8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1170,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1175,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1183,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1190,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1196,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1197,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1203,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 63
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sizeof(sp->stream.avail_in)==4)
      pos:
        line_end: 1182
        line_start: 1182
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1209
      start: 1115
    functionDepth: 2
    functionLinenumber: 1115
    functionLinenumberEnd: 1209
    functionName: PixarLogEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - horizontalDifferenceF
    - TIFFErrorExt
    - EncoderState
    - assert
    - deflate
    - TIFFFlushData1
    - horizontalDifference16
    - horizontalDifference8
    linkageType: ''
    returnType: int
    signature: int PixarLogEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1220,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1226,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1233,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1245
    functionName: PixarLogPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFFlushData1
    - TIFFErrorExt
    - EncoderState
    - deflate
    linkageType: ''
    returnType: int
    signature: int PixarLogPostEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1252
        line_start: 1252
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1275
      start: 1247
    functionDepth: 1
    functionLinenumber: 1247
    functionLinenumberEnd: 1275
    functionName: PixarLogClose
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void PixarLogClose(TIFF* tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1282,1
    - Dst: TIFFPredictorCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1284,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1289,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1290,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1291,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1292,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1293,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1294,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1297,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1299,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1302,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1303,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1306,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1281
        line_start: 1281
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1307
      start: 1277
    functionDepth: 2
    functionLinenumber: 1277
    functionLinenumberEnd: 1307
    functionName: PixarLogCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - TIFFPredictorCleanup
    - assert
    - deflateEnd
    - _TIFFSetDefaultCompressionState
    - _TIFFfree
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void PixarLogCleanup(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1318,1
    - Dst: deflateParams
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1320,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1322,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1329,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1338,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1339,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1342,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1343,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1346,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1347,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1350,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1351,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1354,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1355,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1361,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1361,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1362,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1369
    functionName: PixarLogVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - va_arg
    - TIFFSetField
    - TIFFErrorExt
    - deflateParams
    - TIFFScanlineSize
    - isTiled
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int PixarLogVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1378,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1371
    functionDepth: 0
    functionLinenumber: 1371
    functionLinenumberEnd: 1387
    functionName: PixarLogVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int PixarLogVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1401,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1406,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1407,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1408,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1416,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1420,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1455,1
    - Dst: PixarLogMakeTables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1460,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_PIXARLOG)
      pos:
        line_end: 1400
        line_start: 1400
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    constantsTouched: []
    func_position:
      end: 1467
      start: 1394
    functionDepth: 1
    functionLinenumber: 1394
    functionLinenumberEnd: 1467
    functionName: TIFFInitPixarLog
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_pixarlog.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - PixarLogMakeTables
    - _TIFFmalloc
    - TIFFPredictorInit
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitPixarLog(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: MAXCODE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAXCODE(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    functionName: LZWState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LZWState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 158
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 159
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - _tif
    - ','
    - _sp
    - ','
    - _bp
    - ','
    - _code
    - ','
    - _get
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: NextCode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NextCode(_tif, _sp, _bp, _code, _get)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tif
    - ','
    - sp
    - ','
    - bp
    - ','
    - code
    - ','
    - get
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: NextCode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NextCode(tif, sp, bp, code, get)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: LZWFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZWFixupTags(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:201,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:210,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:213,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:217,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:218,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:223,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:225,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:228,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:231,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:233,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:252,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 227
        line_start: 227
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 256
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 256
    functionName: LZWSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExt
    - assert
    - _TIFFmalloc
    - TIFFPredictorInit
    linkageType: ''
    returnType: int
    signature: int LZWSetupDecode(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:265,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:268,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:271,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:283,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:303,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:306,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:313,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:321,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:334,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 267
        line_start: 267
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 338
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 338
    functionName: LZWPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExt
    - assert
    - TIFF*::tif_setupdecode
    - MAXCODE
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int LZWPreDecode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - bp
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: GetNextCode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextCode(sp, bp, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - module
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 360
    functionName: codeLoop
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: void
    signature: void codeLoop(TIFF* tif, const char* module)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:366,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:378,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:379,1
    - Dst: NextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:443,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:449,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:452,1
    - Dst: NextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:454,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:459,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:476,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:485,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:497,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:507,1
    - Dst: codeLoop
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:532,1
    - Dst: codeLoop
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:546,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:549,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:573,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:577,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 145
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 377
        line_start: 377
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    - condition: (sp->dec_codetab != NULL)
      pos:
        line_end: 378
        line_start: 378
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    - condition: (occ >= len)
      pos:
        line_end: 548
        line_start: 548
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 584
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 584
    functionName: LZWDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExt
    - assert
    - NextCode
    - MAXCODE
    - codeLoop
    linkageType: ''
    returnType: int
    signature: int LZWDecode(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - bp
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 601
    functionName: GetNextCodeCompat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GetNextCodeCompat(sp, bp, code)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:606,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:617,1
    - Dst: NextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:677,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:683,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:686,1
    - Dst: NextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:688,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:693,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:710,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:718,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:729,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:739,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:773,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:797,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:801,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 132
    argCount: 4
    argNames:
    - tif
    - op0
    - occ0
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 616
        line_start: 616
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    - condition: (occ >= len)
      pos:
        line_end: 772
        line_start: 772
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 808
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 808
    functionName: LZWDecodeCompat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - DecoderState
    - TIFFErrorExt
    - assert
    - NextCode
    - MAXCODE
    linkageType: ''
    returnType: int
    signature: int LZWDecodeCompat(TIFF* tif, uint8* op0, tmsize_t occ0, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:819,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:821,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:822,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:824,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 820
        line_start: 820
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: LZWSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - assert
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int LZWSetupEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:837,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:840,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:844,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:848,1
    - Dst: cl_hash
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:861,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 839
        line_start: 839
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 864
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 864
    functionName: LZWPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - cl_hash
    - assert
    - EncoderState
    - TIFF*::tif_setupencode
    - MAXCODE
    linkageType: ''
    returnType: int
    signature: int LZWPreEncode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 886
      start: 875
    functionDepth: 0
    functionLinenumber: 875
    functionLinenumberEnd: 886
    functionName: PutNextCode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PutNextCode(op, c)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:904,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:921,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:944,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:995,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:999,1
    - Dst: cl_hash
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1005,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1010,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1012,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1020,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1021,1
    - Dst: CALCRATIO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1031,1
    - Dst: cl_hash
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1033,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1038,1
    - Dst: MAXCODE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1040,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 106
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->enc_hashtab != NULL)
      pos:
        line_end: 920
        line_start: 920
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    - condition: (nbits <= BITS_MAX)
      pos:
        line_end: 1019
        line_start: 1019
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1063
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 1063
    functionName: LZWEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - PutNextCode
    - cl_hash
    - assert
    - EncoderState
    - TIFFFlushData1
    - CALCRATIO
    - MAXCODE
    linkageType: ''
    returnType: int
    signature: int LZWEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1072,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1081,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1088,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1095,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1104,1
    - Dst: PutNextCode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1108,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (nbits <= BITS_MAX)
      pos:
        line_end: 1103
        line_start: 1103
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1114
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1114
    functionName: LZWPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - PutNextCode
    - assert
    - EncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LZWPostEncode(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - sp
    argTypes:
    - LZWCodecState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1119
    functionDepth: 0
    functionLinenumber: 1119
    functionLinenumberEnd: 1139
    functionName: cl_hash
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cl_hash(LZWCodecState* sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFPredictorCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1144,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1146,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1148,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1149,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1149,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1151,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1152,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1152,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1154,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (tif->tif_data != 0)
      pos:
        line_end: 1145
        line_start: 1145
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1158
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1158
    functionName: LZWCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - TIFFPredictorCleanup
    - DecoderState
    - EncoderState
    - assert
    - _TIFFSetDefaultCompressionState
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void LZWCleanup(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1164,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1168,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1171,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1172,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1173,1
    - Dst: LZWState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1174,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1195,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c:1198,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 29
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_LZW)
      pos:
        line_end: 1163
        line_start: 1163
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    constantsTouched: []
    func_position:
      end: 1201
      start: 1160
    functionDepth: 1
    functionLinenumber: 1160
    functionLinenumberEnd: 1201
    functionName: TIFFInitLZW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzw.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExt
    - EncoderState
    - assert
    - _TIFFmalloc
    - TIFFPredictorInit
    - LZWState
    linkageType: ''
    returnType: int
    signature: int TIFFInitLZW(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - wp
    argTypes:
    - uint16*
    assertStmts:
    - condition: (sizeof(uint16)==2)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 40
    functionName: TIFFSwabShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabShort(uint16* wp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - lp
    argTypes:
    - uint32*
    assertStmts:
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 52
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 52
    functionName: TIFFSwabLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabLong(uint32* lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - lp
    argTypes:
    - uint64*
    assertStmts:
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 66
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 66
    functionName: TIFFSwabLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabLong8(uint64* lp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - wp
    - n
    argTypes:
    - uint16*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint16)==2)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 82
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 82
    functionName: TIFFSwabArrayOfShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfShort(register uint16* wp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - tp
    - n
    argTypes:
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 98
    functionName: TIFFSwabArrayOfTriples
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfTriples(register uint8* tp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lp
    - n
    argTypes:
    - uint32*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: TIFFSwabArrayOfLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 7
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfLong(register uint32* lp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - lp
    - n
    argTypes:
    - uint64*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 134
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 134
    functionName: TIFFSwabArrayOfLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfLong8(register uint64* lp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - float*
    assertStmts:
    - condition: (sizeof(float)==4)
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: TIFFSwabFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabFloat(float* fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - fp
    - n
    argTypes:
    - float*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(float)==4)
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 163
    functionName: TIFFSwabArrayOfFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfFloat(register float* fp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - dp
    argTypes:
    - double*
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 177
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 177
    functionName: TIFFSwabDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabDouble(double *dp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - dp
    - n
    argTypes:
    - double*
    - tmsize_t
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    constantsTouched: []
    func_position:
      end: 196
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 196
    functionName: TIFFSwabArrayOfDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 2
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFSwabArrayOfDouble(double* dp, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - reversed
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 277
    functionDepth: 0
    functionLinenumber: 277
    functionLinenumberEnd: 281
    functionName: TIFFGetBitRevTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      TIFFGetBitRevTable(int reversed)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - cp
    - n
    argTypes:
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: TIFFReverseBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_swab.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFReverseBits(uint8* cp, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:35,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:38,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - method
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 47
    functionName: TIFFNoEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFNoEncode(TIFF* tif, const char* method)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 2
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: _TIFFNoRowEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoRowEncode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 61
    functionName: _TIFFNoStripEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoStripEncode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: _TIFFNoTileEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoEncode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoTileEncode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:73,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:76,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - method
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 84
    functionName: TIFFNoDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFNoDecode(TIFF* tif, const char* method)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: _TIFFNoFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFNoFixupTags(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: _TIFFNoRowDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoRowDecode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: _TIFFNoStripDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoStripDecode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNoDecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 107
    functionDepth: 2
    functionLinenumber: 107
    functionLinenumberEnd: 112
    functionName: _TIFFNoTileDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFNoDecode
    linkageType: ''
    returnType: int
    signature: int _TIFFNoTileDecode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 121
    functionName: _TIFFNoSeek
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int _TIFFNoSeek(TIFF* tif, uint32 off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: _TIFFNoPreCode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFNoPreCode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 130
    functionName: _TIFFtrue
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFtrue(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 131
    functionName: _TIFFvoid
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFvoid(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 156
    functionName: _TIFFSetDefaultCompressionState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _TIFFSetDefaultCompressionState(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:161,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 171
    functionName: TIFFSetCompressionScheme
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - _TIFFSetDefaultCompressionState
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFSetCompressionScheme(TIFF* tif, int scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 197
    functionName: TIFFFindCODEC
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: TIFFCodec
    signature: 'TIFFCodec *

      TIFFFindCODEC(uint16 scheme)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:203,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:203,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:209,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - scheme
    - name
    - init
    argTypes:
    - uint16
    - char*
    - TIFFInitMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 220
    functionName: TIFFRegisterCODEC
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - strlen
    - strcpy
    linkageType: ''
    returnType: TIFFCodec
    signature: 'TIFFCodec *

      TIFFRegisterCODEC(uint16 scheme, const char* name, TIFFInitMethod init)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:231,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - c
    argTypes:
    - TIFFCodec*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 236
    functionName: TIFFUnRegisterCODEC
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFFErrorExt
    linkageType: ''
    returnType: void
    signature: void TIFFUnRegisterCODEC(TIFFCodec* c)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:261,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:263,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:267,1
    - Dst: TIFFIsCODECConfigured
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:271,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:273,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:275,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:279,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:284,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:286,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c:290,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 293
    functionName: TIFFGetConfiguredCODECs
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_compress.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - _TIFFrealloc
    - TIFFIsCODECConfigured
    - _TIFFmemcpy
    - _TIFFfree
    linkageType: ''
    returnType: TIFFCodec
    signature: 'TIFFCodec *

      TIFFGetConfiguredCODECs()'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 40
    functionName: TIFFGetTagListCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFGetTagListCount( TIFF *tif )
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - tag_index
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: TIFFGetTagListEntry
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFGetTagListEntry( TIFF *tif, int tag_index )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 62
    functionName: TIFFAccessTagMethods
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFTagMethods
    signature: TIFFTagMethods *TIFFAccessTagMethods( TIFF *tif )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 76
    functionName: TIFFGetClientInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: void
    signature: void *TIFFGetClientInfo( TIFF *tif, const char *name )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:87,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:100,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:101,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:103,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:103,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:104,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c:105,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tif
    - data
    - name
    argTypes:
    - TIFF*
    - void*
    - char*
    assertStmts:
    - condition: (psLink != NULL)
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    - condition: (psLink->name != NULL)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    constantsTouched: []
    func_position:
      end: 109
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 109
    functionName: TIFFSetClientInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_extension.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlen
    - strcpy
    - assert
    - _TIFFmalloc
    linkageType: ''
    returnType: void
    signature: void TIFFSetClientInfo( TIFF *tif, void *data, const char *name )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:45,1
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:49,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:51,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:53,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - vpp
    - vp
    - nmemb
    - elem_size
    argTypes:
    - void**
    - void*
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 55
    functionName: setByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFMultiplySSize
    - _TIFFfree
    - _TIFFmalloc
    - _TIFFmemcpy
    linkageType: ''
    returnType: void
    signature: void setByteArray(void** vpp, void* vp, size_t nmemb, size_t elem_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - vpp
    - vp
    - n
    argTypes:
    - void**
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: _TIFFsetByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetByteArray(void** vpp, void* vp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:59,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cpp
    - cp
    argTypes:
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: _TIFFsetString
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - strlen
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetString(char** cpp, char* cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - cpp
    - cp
    - n
    argTypes:
    - char**
    - char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 2
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: _TIFFsetNString
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetNString(char** cpp, char* cp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - wpp
    - wp
    - n
    argTypes:
    - uint16**
    - uint16*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: _TIFFsetShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetShortArray(uint16** wpp, uint16* wp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lpp
    - lp
    - n
    argTypes:
    - uint32**
    - uint32*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 2
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: _TIFFsetLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetLongArray(uint32** lpp, uint32* lp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - lpp
    - lp
    - n
    argTypes:
    - uint64**
    - uint64*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: _TIFFsetLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetLong8Array(uint64** lpp, uint64* lp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fpp
    - fp
    - n
    argTypes:
    - float**
    - float*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 2
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: _TIFFsetFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetFloatArray(float** fpp, float* fp, uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - dpp
    - dp
    - n
    argTypes:
    - double**
    - double*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 70
    functionDepth: 2
    functionLinenumber: 70
    functionLinenumberEnd: 71
    functionName: _TIFFsetDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - setByteArray
    linkageType: ''
    returnType: void
    signature: void _TIFFsetDoubleArray(double** dpp, double* dp, uint32 n)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:77,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - vpp
    - value
    - nmemb
    argTypes:
    - double**
    - double
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: setDoubleArrayOneValue
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    linkageType: ''
    returnType: void
    signature: void setDoubleArrayOneValue(double** vpp, double value, size_t nmemb)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:100,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:103,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:124,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:127,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:128,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:133,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - ap
    - v
    argTypes:
    - TIFF*
    - va_list
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 137
    functionName: setExtraSamples
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - va_arg
    - _TIFFsetShortArray
    - TIFFClrFieldBit
    - _TIFFfree
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int setExtraSamples(TIFF* tif, va_list ap, uint32* v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - tif
    - slen
    - s
    argTypes:
    - TIFF*
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 167
    functionName: checkInkNamesString
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: uint32
    signature: uint32 checkInkNamesString(TIFF* tif, uint32 slen, const char* s)
  - BBCount: 120
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:179,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:195,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:198,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:201,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:204,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:228,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:234,1
    - Dst: TIFFSetCompressionScheme
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:243,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:249,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:252,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:255,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:261,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:268,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:276,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:279,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:280,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:285,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:288,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:289,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:297,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:300,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:301,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:308,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:312,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:318,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:321,1
    - Dst: _TIFFsetDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:325,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:325,1
    - Dst: setDoubleArrayOneValue
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:327,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:327,1
    - Dst: _TIFFsetDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:331,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:331,1
    - Dst: setDoubleArrayOneValue
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:333,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:333,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:336,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:339,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:342,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:345,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:348,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:354,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:354,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:357,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:357,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:360,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:366,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:367,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:370,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:371,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:375,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:375,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:376,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:376,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:377,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:377,1
    - Dst: setExtraSamples
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:380,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:384,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:387,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:391,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:395,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:402,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:406,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:413,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:419,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:430,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:447,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:451,1
    - Dst: _TIFFsetLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:452,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:452,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:455,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:462,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:465,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:466,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:471,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:472,1
    - Dst: _TIFFsetFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:476,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:476,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:479,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:480,1
    - Dst: checkInkNamesString
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:481,1
    - Dst: _TIFFsetNString
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:484,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:489,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:509,1
    - Dst: isPseudoTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:511,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:525,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:540,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:543,1
    - Dst: _TIFFDataSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:561,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:564,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:577,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:578,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:579,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:583,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:584,1
    - Dst: setByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:587,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:593,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:595,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:606,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:617,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:625,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:631,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:632,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:633,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:641,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:641,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:645,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:651,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:652,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:657,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:658,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:663,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:664,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:669,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:670,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:676,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:677,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:682,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:683,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:689,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:690,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:695,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:696,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:703,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:703,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:704,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:709,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:710,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:714,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:723,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:725,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:730,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:734,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:735,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:739,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:744,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:745,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:749,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:754,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:755,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:759,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 446
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: ( tv->count == 1 )
      pos:
        line_end: 644
        line_start: 644
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    - condition: (fip->field_writecount==TIFF_VARIABLE2)
      pos:
        line_end: 576
        line_start: 576
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 762
      start: 169
    functionDepth: 4
    functionLinenumber: 169
    functionLinenumberEnd: 762
    functionName: _TIFFVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - _TIFFsetLong8Array
    - strlen
    - _TIFFsetDoubleArray
    - TIFFFieldSet
    - TIFFWarningExt
    - setExtraSamples
    - _TIFFsetNString
    - _TIFFfree
    - TIFFSetFieldBit
    - TIFFErrorExt
    - assert
    - _TIFFmemcpy
    - TIFFSetCompressionScheme
    - checkInkNamesString
    - va_arg
    - strcmp
    - _TIFFrealloc
    - va_end
    - setByteArray
    - _TIFFsetFloatArray
    - _TIFFClampDoubleToFloat
    - TIFFFindField
    - TIFFClrFieldBit
    - _TIFFDataSize
    - TIFFFieldWithTag
    - _TIFFCheckMalloc
    - _TIFFsetShortArray
    - isPseudoTag
    - setDoubleArrayOneValue
    linkageType: ''
    returnType: int
    signature: int _TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:776,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:778,1
    - Dst: isPseudoTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:779,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:790,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 796
    functionName: OkToChangeTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFindField
    - TIFFErrorExt
    - isPseudoTag
    linkageType: ''
    returnType: int
    signature: int OkToChangeTag(TIFF* tif, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:811,1
    - Dst: TIFFVSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:812,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:813,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 815
    functionName: TIFFSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 59
    functionsReached:
    - va_start
    - va_end
    - TIFFVSetField
    linkageType: ''
    returnType: int
    signature: int TIFFSetField(TIFF* tif, uint32 tag, ...)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:823,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:830,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:845,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 856
    functionName: TIFFUnsetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFFieldWithTag
    - _TIFFfree
    - TIFFClrFieldBit
    linkageType: ''
    returnType: int
    signature: int TIFFUnsetField(TIFF* tif, uint32 tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OkToChangeTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:867,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 869
    functionName: TIFFVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - OkToChangeTag
    linkageType: ''
    returnType: int
    signature: int TIFFVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 81
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:877,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:908,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:921,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:924,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:927,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:930,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:933,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:936,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:939,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:942,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:945,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:948,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:951,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:954,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:957,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:961,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:975,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:988,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:991,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:994,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:997,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1000,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1003,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1006,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1007,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1010,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1011,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1014,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1015,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1016,1
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1020,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1021,1
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1025,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1026,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1029,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1034,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1035,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1038,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1041,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1044,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1049,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1052,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1055,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1058,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1063,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1066,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1069,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1070,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1073,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1076,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1077,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1080,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1090,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1093,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1110,1
    - Dst: isPseudoTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1114,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1132,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1134,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1138,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1156,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1160,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1165,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1170,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1175,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1181,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1186,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1192,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1197,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1204,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1209,1
    CyclomaticComplexity: 89
    EdgeCount: 89
    ICount: 270
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: ( tv->count == 1 )
      pos:
        line_end: 1155
        line_start: 1155
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 1224
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 1224
    functionName: _TIFFVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFindField
    - va_arg
    - strcmp
    - TIFFErrorExt
    - assert
    - _TIFFFillStriles
    - isPseudoTag
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int _TIFFVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1236,1
    - Dst: TIFFVGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1237,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1240
    functionName: TIFFGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 84
    functionsReached:
    - va_start
    - va_end
    - TIFFVGetField
    linkageType: ''
    returnType: int
    signature: int TIFFGetField(TIFF* tif, uint32 tag, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1251,1
    - Dst: isPseudoTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1252,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1248
    functionDepth: 1
    functionLinenumber: 1248
    functionLinenumberEnd: 1254
    functionName: TIFFVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFFindField
    - isPseudoTag
    - TIFFFieldSet
    linkageType: ''
    returnType: int
    signature: int TIFFVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1262
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1262
    functionName: CleanupField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CleanupField(member)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1272,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1273,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1274,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1275,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1276,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1277,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1278,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1279,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1280,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1281,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1282,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1283,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1284,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1285,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1286,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1288,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1289,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1294,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1298,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1300,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1266
    functionDepth: 1
    functionLinenumber: 1266
    functionLinenumberEnd: 1302
    functionName: TIFFFreeDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 2
    functionsReached:
    - CleanupField
    - TIFFClrFieldBit
    - _TIFFfree
    - _TIFFmemset
    linkageType: ''
    returnType: void
    signature: void TIFFFreeDirectory(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - extender
    argTypes:
    - TIFFExtendProc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1310
    functionDepth: 0
    functionLinenumber: 1310
    functionLinenumberEnd: 1316
    functionName: TIFFSetTagExtender
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFExtendProc
    signature: TIFFExtendProc TIFFSetTagExtender(TIFFExtendProc extender)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1336
    functionName: TIFFCreateDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFDefaultDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFCreateDirectory(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1341,1
    - Dst: _TIFFSetupFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - infoarray
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1338
    functionDepth: 1
    functionLinenumber: 1338
    functionLinenumberEnd: 1357
    functionName: TIFFCreateCustomDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - _TIFFSetupFields
    - TIFFDefaultDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFCreateCustomDirectory(TIFF* tif, const TIFFFieldArray* infoarray)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetExifFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1363,1
    - Dst: TIFFCreateCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1365
    functionName: TIFFCreateEXIFDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached:
    - TIFFCreateCustomDirectory
    - _TIFFGetExifFields
    linkageType: ''
    returnType: int
    signature: int TIFFCreateEXIFDirectory(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1376,1
    - Dst: _TIFFSetupFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1377,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1379,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1413,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1415,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1421,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1370
    functionDepth: 2
    functionLinenumber: 1370
    functionLinenumberEnd: 1440
    functionName: TIFFDefaultDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 2
    functionsReached:
    - _TIFFmemset
    - TIFFSetField
    - _TIFFGetFields
    - _TIFFSetupFields
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultDirectory(TIFF* tif)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1446,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1458,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1462,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1464,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1469,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1474,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1476,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1488,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1491,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1493,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1496,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1504,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1509,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1511,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1521,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1522,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1523,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1528,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1530,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1533,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1535,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1536,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1541,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1548,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1549,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1550,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1555,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1558,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1563,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1566,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1568,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1569,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1575,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 95
    argCount: 3
    argNames:
    - tif
    - nextdir
    - 'off'
    argTypes:
    - TIFF*
    - uint64*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1579
      start: 1442
    functionDepth: 2
    functionLinenumber: 1442
    functionLinenumberEnd: 1579
    functionName: TIFFAdvanceDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - SeekOK
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFSeekFile
    - ReadOK
    - TIFFSwabShort
    - _TIFFmemcpy
    - isMapped
    linkageType: ''
    returnType: int
    signature: int TIFFAdvanceDirectory(TIFF* tif, uint64* nextdir, uint64* off)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFAdvanceDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1595,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1584
    functionDepth: 3
    functionLinenumber: 1584
    functionLinenumberEnd: 1609
    functionName: TIFFNumberOfDirectories
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExt
    - TIFFAdvanceDirectory
    linkageType: ''
    returnType: uint16
    signature: uint16 TIFFNumberOfDirectories(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFAdvanceDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1626,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1640,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - dirn
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1615
    functionDepth: 3
    functionLinenumber: 1615
    functionLinenumberEnd: 1641
    functionName: TIFFSetDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 13
    functionsReached:
    - TIFFReadDirectory
    - TIFFAdvanceDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFSetDirectory(TIFF* tif, uint16 dirn)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1649
    functionDepth: 1
    functionLinenumber: 1649
    functionLinenumberEnd: 1659
    functionName: TIFFSetSubDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 5
    functionsReached:
    - TIFFReadDirectory
    linkageType: ''
    returnType: int
    signature: int TIFFSetSubDirectory(TIFF* tif, uint64 diroff)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1664
    functionDepth: 0
    functionLinenumber: 1664
    functionLinenumberEnd: 1668
    functionName: TIFFCurrentDirOffset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFCurrentDirOffset(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1678
    functionName: TIFFLastDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFLastDirectory(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1692,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1713,1
    - Dst: TIFFAdvanceDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1716,1
    - Dst: TIFFAdvanceDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1723,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1730,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1735,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1737,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1738,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1739,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1746,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1747,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1748,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1761,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1768,1
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c:1769,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 2
    argNames:
    - tif
    - dirn
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: ((uint64)nextdir32==nextdir)
      pos:
        line_end: 1734
        line_start: 1734
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    constantsTouched: []
    func_position:
      end: 1776
      start: 1683
    functionDepth: 3
    functionLinenumber: 1683
    functionLinenumberEnd: 1776
    functionName: TIFFUnlinkDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFFreeDirectory
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - assert
    - TIFFSeekFile
    - TIFFDefaultDirectory
    - TIFFAdvanceDirectory
    - TIFFSwabLong8
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFUnlinkDirectory(TIFF* tif, uint16 dirn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:40,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: JBIGSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int JBIGSetupDecode(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:57,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:59,1
    - Dst: jbg_dec_init
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:62,1
    - Dst: jbg_newlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:65,1
    - Dst: jbg_dec_in
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:78,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:87,1
    - Dst: jbg_strerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:91,1
    - Dst: jbg_strerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:93,1
    - Dst: jbg_dec_free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:96,1
    - Dst: jbg_dec_getsize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:100,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:103,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:109,1
    - Dst: jbg_dec_free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:112,1
    - Dst: jbg_dec_getimage
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:115,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:116,1
    - Dst: jbg_dec_free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:117,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 4
    argNames:
    - tif
    - buffer
    - size
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 123
    functionName: JBIGDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - jbg_strerror
    - TIFFReverseBits
    - isFillOrder
    - jbg_dec_free
    - jbg_newlen
    - jbg_dec_in
    - TIFFErrorExt
    - jbg_dec_getimage
    - _TIFFmemcpy
    - jbg_dec_init
    - jbg_dec_getsize
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JBIGDecode(TIFF* tif, uint8* buffer, tmsize_t size, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:127,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 134
    functionName: JBIGSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int JBIGSetupEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:148,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:149,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:155,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - unsigned char*
    - size_t
    - uint16
    assertStmts:
    - condition: (n > 0)
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    constantsTouched: []
    func_position:
      end: 162
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 162
    functionName: JBIGCopyEncodedData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - assert
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int JBIGCopyEncodedData(TIFF* tif, unsigned char* pp, size_t cc, uint16
      s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:168,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:170,1
    - Dst: JBIGCopyEncodedData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - buffer
    - len
    - userData
    argTypes:
    - unsigned char*
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 164
    functionDepth: 2
    functionLinenumber: 164
    functionLinenumberEnd: 174
    functionName: JBIGOutputBie
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - TIFFReverseBits
    - isFillOrder
    - JBIGCopyEncodedData
    linkageType: ''
    returnType: void
    signature: void JBIGOutputBie(unsigned char* buffer, size_t len, void* userData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jbg_enc_init
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:183,1
    - Dst: jbg_enc_out
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:194,1
    - Dst: jbg_enc_free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buffer
    - size
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 198
    functionName: JBIGEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - jbg_enc_out
    - jbg_enc_init
    - jbg_enc_free
    linkageType: ''
    returnType: int
    signature: int JBIGEncode(TIFF* tif, uint8* buffer, tmsize_t size, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JBIG)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    constantsTouched: []
    func_position:
      end: 220
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 220
    functionName: TIFFInitJBIG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jbig.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFInitJBIG(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: SETPIXEL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETPIXEL(op, v)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:69,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:82,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:98,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:107,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:126,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:130,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:147,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 69
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 150
    functionName: NeXTDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - SETPIXEL
    - TIFFErrorExt
    - isTiled
    linkageType: ''
    returnType: int
    signature: int NeXTDecode(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: NeXTPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int NeXTPreDecode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 177
    functionName: TIFFInitNeXT
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_next.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitNeXT(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: TIFFGetR
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetR(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 238
    functionDepth: 0
    functionLinenumber: 238
    functionLinenumberEnd: 239
    functionName: TIFFGetG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetG(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: TIFFGetB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffio.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetB(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - abgr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: TIFFGetA
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffio.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetA(abgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - module
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: WRITECHECKSTRIPS
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITECHECKSTRIPS(tif, module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - module
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: WRITECHECKTILES
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITECHECKTILES(tif, module)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: BUFFERCHECK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BUFFERCHECK(tif)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:54,1
    - Dst: BUFFERCHECK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:61,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:72,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:84,1
    - Dst: TIFFGrowStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:99,1
    - Dst: TIFFFlushData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:105,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:115,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:117,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:169,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 4
    argNames:
    - tif
    - buf
    - row
    - sample
    argTypes:
    - TIFF*
    - void*
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 177
    functionName: TIFFWriteScanline
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 26
    functionsReached:
    - TIFF*::tif_postdecode
    - TIFFhowmany_32
    - TIFFErrorExt
    - TIFFFlushData
    - BUFFERCHECK
    - TIFFGrowStrips
    - WRITECHECKSTRIPS
    linkageType: ''
    returnType: int
    signature: int TIFFWriteScanline(TIFF* tif, void* buf, uint32 row, uint16 sample)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteBufferSetup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:193,1
    - Dst: TIFFroundup_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - strip_or_tile
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 203
    functionName: _TIFFReserveLargeEnoughWriteBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached:
    - TIFFroundup_64
    - TIFFWriteBufferSetup
    linkageType: ''
    returnType: int
    signature: int _TIFFReserveLargeEnoughWriteBuffer(TIFF* tif, uint32 strip_or_tile)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:218,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:231,1
    - Dst: TIFFGrowStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:235,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:238,1
    - Dst: BUFFERCHECK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:245,1
    - Dst: _TIFFReserveLargeEnoughWriteBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:251,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:259,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:276,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:278,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:280,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:283,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:293,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:299,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:301,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:303,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 308
    functionName: TIFFWriteEncodedStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 16
    functionsReached:
    - TIFF*::tif_postdecode
    - TIFFAppendToStrip
    - isFillOrder
    - TIFFhowmany_32
    - _TIFFReserveLargeEnoughWriteBuffer
    - TIFFReverseBits
    - TIFFErrorExt
    - BUFFERCHECK
    - TIFFGrowStrips
    - WRITECHECKSTRIPS
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data,
      tmsize_t cc)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKSTRIPS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:321,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:334,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:345,1
    - Dst: TIFFGrowStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:346,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:351,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:355,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 357
    functionName: TIFFWriteRawStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 2
    functionsReached:
    - TIFFAppendToStrip
    - TIFFhowmany_32
    - TIFFErrorExt
    - TIFFGrowStrips
    - WRITECHECKSTRIPS
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteRawStrip(TIFF* tif, uint32 strip, void* data, tmsize_t
      cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:366,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:374,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 6
    argNames:
    - tif
    - buf
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - void*
    - uint32
    - uint32
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 363
    functionDepth: 1
    functionLinenumber: 363
    functionLinenumberEnd: 376
    functionName: TIFFWriteTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 4
    functionsReached:
    - TIFFWriteEncodedTile
    - TIFFCheckTile
    - TIFFComputeTile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteTile(TIFF* tif, void* buf, uint32 x, uint32 y, uint32
      z, uint16 s)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKTILES
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:398,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:402,1
    - Dst: BUFFERCHECK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:411,1
    - Dst: _TIFFReserveLargeEnoughWriteBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:417,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:428,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:430,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:434,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:436,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:460,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:462,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:464,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:467,1
    - Dst: TIFF*::tif_postdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:476,1
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:482,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:484,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:485,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 4
    argNames:
    - tif
    - tile
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 491
    functionName: TIFFWriteEncodedTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 5
    functionsReached:
    - TIFF*::tif_postdecode
    - TIFFAppendToStrip
    - isFillOrder
    - _TIFFReserveLargeEnoughWriteBuffer
    - TIFFReverseBits
    - TIFFErrorExt
    - BUFFERCHECK
    - WRITECHECKTILES
    - TIFFhowmany_32
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteEncodedTile(TIFF* tif, uint32 tile, void* data, tmsize_t
      cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WRITECHECKTILES
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:507,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:510,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:515,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - tif
    - tile
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 517
    functionName: TIFFWriteRawTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 2
    functionsReached:
    - WRITECHECKTILES
    - TIFFAppendToStrip
    - TIFFErrorExt
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFWriteRawTile(TIFF* tif, uint32 tile, void* data, tmsize_t
      cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 519
    functionDepth: 0
    functionLinenumber: 519
    functionLinenumberEnd: 521
    functionName: isUnspecified
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isUnspecified(tif, f)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:527,1
    - Dst: isUnspecified
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:529,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:530,1
    - Dst: isUnspecified
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:533,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:534,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:539,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:542,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:550,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:551,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:552,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:553,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 522
    functionDepth: 1
    functionLinenumber: 522
    functionLinenumberEnd: 555
    functionName: TIFFSetupStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFSetFieldBit
    - isUnspecified
    - TIFFNumberOfTiles
    - isTiled
    - _TIFFCheckMalloc
    - TIFFNumberOfStrips
    linkageType: ''
    returnType: int
    signature: int TIFFSetupStrips(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:568,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:571,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:572,1
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:578,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:590,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:591,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:602,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:605,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:606,1
    - Dst: TIFFSetupStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:611,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:613,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:614,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:617,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:619,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:625,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:640,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 42
    argCount: 3
    argNames:
    - tif
    - tiles
    - module
    argTypes:
    - TIFF*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 644
    functionName: TIFFWriteCheck
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFSetupStrips
    - TIFFScanlineSize
    - isTiled
    - TIFFForceStrileArrayWriting
    - TIFFFieldSet
    - _TIFFFillStriles
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int TIFFWriteCheck(TIFF* tif, int tiles, const char* module)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:656,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:662,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:663,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:672,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:674,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - tif
    - bp
    - size
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 686
    functionName: TIFFWriteBufferSetup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - isTiled
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteBufferSetup(TIFF* tif, void* bp, tmsize_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:698,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:699,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:701,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:705,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:707,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:709,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:714,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:716,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - delta
    - module
    argTypes:
    - TIFF*
    - uint32
    - char*
    assertStmts:
    - condition: (td->td_planarconfig == PLANARCONFIG_CONTIG)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    constantsTouched: []
    func_position:
      end: 722
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 722
    functionName: TIFFGrowStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 3
    functionsReached:
    - _TIFFmemset
    - _TIFFrealloc
    - TIFFErrorExt
    - assert
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFGrowStrips(TIFF* tif, uint32 delta, const char* module)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:736,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:749,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:750,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:762,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:780,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:783,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:784,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 4
    argNames:
    - tif
    - strip
    - data
    - cc
    argTypes:
    - TIFF*
    - uint32
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: (td->td_nstrips > 0)
      pos:
        line_end: 735
        line_start: 735
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    constantsTouched: []
    func_position:
      end: 795
      start: 727
    functionDepth: 1
    functionLinenumber: 727
    functionLinenumberEnd: 795
    functionName: TIFFAppendToStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 4
    functionsReached:
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - assert
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int TIFFAppendToStrip(TIFF* tif, uint32 strip, uint8* data, tmsize_t
      cc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:806,1
    - Dst: TIFFReverseBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:808,1
    - Dst: TIFFAppendToStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:810,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c:811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 802
    functionDepth: 2
    functionLinenumber: 802
    functionLinenumberEnd: 825
    functionName: TIFFFlushData1
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 5
    functionsReached:
    - TIFFAppendToStrip
    - TIFFReverseBits
    - isFillOrder
    - isTiled
    linkageType: ''
    returnType: int
    signature: int TIFFFlushData1(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 837
    functionName: TIFFSetWriteOffset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_write.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFSetWriteOffset(TIFF* tif, toff_t off)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:81,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:92,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:97,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:101,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:110,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:121,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:145,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:153,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:155,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:161,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:170,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:178,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:183,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:188,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:197,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:206,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 94
    argCount: 2
    argNames:
    - tif
    - emsg
    argTypes:
    - TIFF*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 73
    functionDepth: 2
    functionLinenumber: 73
    functionLinenumberEnd: 211
    functionName: TIFFRGBAImageOK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFGetField
    - sprintf
    linkageType: ''
    returnType: int
    signature: int TIFFRGBAImageOK(TIFF* tif, char emsg[1024])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:217,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:221,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:225,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:229,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:233,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:237,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:241,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:246,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:247,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:248,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 251
    functionName: TIFFRGBAImageEnd
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFRGBAImageEnd(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 262
    functionName: isCCITTCompression
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF* tif)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:275,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:295,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:304,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:309,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:310,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:327,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:340,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:341,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:342,1
    - Dst: isCCITTCompression
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:345,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:354,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:360,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:362,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:368,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:369,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:370,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:372,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:376,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:377,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:378,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:386,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:407,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:423,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:431,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:433,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:438,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:446,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:450,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:456,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:461,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:465,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:472,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:476,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:477,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:478,1
    - Dst: PickContigCase
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:482,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:483,1
    - Dst: PickSeparateCase
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:487,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:488,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:495,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 184
    argCount: 4
    argNames:
    - img
    - tif
    - stop
    - emsg
    argTypes:
    - TIFFRGBAImage*
    - TIFF*
    - int
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 264
    functionDepth: 3
    functionLinenumber: 264
    functionLinenumberEnd: 497
    functionName: TIFFRGBAImageBegin
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - TIFFSetField
    - sprintf
    - TIFFGetFieldDefaulted
    - TIFFRGBAImageOK
    - PickContigCase
    - _TIFFmalloc
    - PickSeparateCase
    - _TIFFmemcpy
    - TIFFRGBAImageEnd
    - isCCITTCompression
    linkageType: ''
    returnType: int
    signature: int TIFFRGBAImageBegin(TIFFRGBAImage* img, TIFF* tif, int stop, char
      emsg[1024])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:503,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:503,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:507,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:507,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 512
    functionName: TIFFRGBAImageGet
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: int TIFFRGBAImageGet(TIFFRGBAImage* img, uint32* raster, uint32 w,
      uint32 h)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRGBAImageOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:527,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:527,1
    - Dst: TIFFRGBAImageGet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:530,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:532,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:534,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - orientation
    - stop
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 538
    functionName: TIFFReadRGBAImageOriented
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - TIFFRGBAImageGet
    - TIFFRGBAImageOK
    - TIFFRGBAImageEnd
    - TIFFRGBAImageBegin
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBAImageOriented(TIFF* tif,\n\t\t\t  uint32 rwidth, uint32
      rheight, uint32* raster,\n\t\t\t  int orientation, int stop)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBAImageOriented
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:548,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - stop
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 550
    functionName: TIFFReadRGBAImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFReadRGBAImageOriented
    linkageType: ''
    returnType: int
    signature: "int TIFFReadRGBAImage(TIFF* tif,\n\t\t  uint32 rwidth, uint32 rheight,
      uint32* raster, int stop)"
  - BBCount: 22
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 41
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 611
    functionName: setorientation
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int setorientation(TIFFRGBAImage* img)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:637,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:639,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:639,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:643,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:644,1
    - Dst: setorientation
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:646,1
    - Dst: _TIFFReadTileAndAllocBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:673,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:680,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:704,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 724
    functionName: gtTileContig
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFFileName
    - _TIFFReadTileAndAllocBuffer
    - setorientation
    - TIFFErrorExt
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int gtTileContig(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32
      h)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:757,1
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:758,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:763,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:764,1
    - Dst: setorientation
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:766,1
    - Dst: _TIFFReadTileAndAllocBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:808,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:829,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:836,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:844,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:852,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:860,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:903,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 905
    functionName: gtTileSeparate
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - _TIFFReadTileAndAllocBuffer
    - setorientation
    - TIFFReadTile
    - _TIFFMultiplySSize
    - _TIFFfree
    - TIFFTileSize
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int gtTileSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32
      h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:929,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:931,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:931,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:935,1
    - Dst: setorientation
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:937,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:946,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:948,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:961,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:961,1
    - Dst: _TIFFReadEncodedStripAndAllocBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:964,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:965,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:998,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 49
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 913
    functionDepth: 4
    functionLinenumber: 913
    functionLinenumberEnd: 1000
    functionName: gtStripContig
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - _TIFFReadEncodedStripAndAllocBuffer
    - setorientation
    - TIFFComputeStrip
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - TIFFScanlineSize
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int gtStripContig(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32
      h)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1027,1
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1028,1
    - Dst: setorientation
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1033,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1056,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1057,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1068,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1068,1
    - Dst: _TIFFReadEncodedStripAndAllocBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1073,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1074,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1095,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1095,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1103,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1103,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1111,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1111,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1120,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1120,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1153,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 85
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1155
      start: 1008
    functionDepth: 4
    functionLinenumber: 1008
    functionLinenumberEnd: 1155
    functionName: gtStripSeparate
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - _TIFFReadEncodedStripAndAllocBuffer
    - setorientation
    - TIFFComputeStrip
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - TIFFStripSize
    - _TIFFfree
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: int
    signature: int gtStripSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32
      h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1167
    functionDepth: 0
    functionLinenumber: 1167
    functionLinenumberEnd: 1168
    functionName: REPEAT8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT8(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1169
    functionName: REPEAT4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1170
      start: 1169
    functionDepth: 0
    functionLinenumber: 1169
    functionLinenumberEnd: 1170
    functionName: REPEAT2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT2(op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1170
    functionDepth: 0
    functionLinenumber: 1170
    functionLinenumberEnd: 1172
    functionName: CASE8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE8(x,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1180
    functionDepth: 0
    functionLinenumber: 1180
    functionLinenumberEnd: 1180
    functionName: CASE4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CASE4(x,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1183
    functionDepth: 0
    functionLinenumber: 1183
    functionLinenumberEnd: 1194
    functionName: UNROLL8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL8(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1194
    functionDepth: 0
    functionLinenumber: 1194
    functionLinenumberEnd: 1205
    functionName: UNROLL4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL4(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - w
    - ','
    - op1
    - ','
    - op2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1216
    functionName: UNROLL2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNROLL2(w, op1, op2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1217
    functionDepth: 0
    functionLinenumber: 1217
    functionLinenumberEnd: 1218
    functionName: SKEW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKEW(r,g,b,skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - ','
    - skew
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1218
    functionDepth: 0
    functionLinenumber: 1218
    functionLinenumberEnd: 1219
    functionName: SKEW4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SKEW4(r,g,b,a,skew)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1223
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1223
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(r,g,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1223
    functionDepth: 0
    functionLinenumber: 1223
    functionLinenumberEnd: 1225
    functionName: PACK4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK4(r,g,b,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1226
    functionName: W2B
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: W2B(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 0
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    functionName: PACKW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKW(r,g,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - r
    - ','
    - g
    - ','
    - b
    - ','
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1231
      start: 1229
    functionDepth: 0
    functionLinenumber: 1229
    functionLinenumberEnd: 1231
    functionName: PACKW4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACKW4(r,g,b,a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1241
      start: 1232
    functionDepth: 0
    functionLinenumber: 1232
    functionLinenumberEnd: 1241
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1260
      start: 1245
    functionDepth: 0
    functionLinenumber: 1245
    functionLinenumberEnd: 1260
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put8bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1277
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL2
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put4bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1282
    functionDepth: 1
    functionLinenumber: 1282
    functionLinenumberEnd: 1294
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put2bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1311
      start: 1299
    functionDepth: 1
    functionLinenumber: 1299
    functionLinenumberEnd: 1311
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put1bitcmaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1331
      start: 1316
    functionDepth: 0
    functionLinenumber: 1316
    functionLinenumberEnd: 1331
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putgreytile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1351
      start: 1336
    functionDepth: 0
    functionLinenumber: 1336
    functionLinenumberEnd: 1351
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putagreytile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1356
    functionDepth: 0
    functionLinenumber: 1356
    functionLinenumberEnd: 1376
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put16bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1381
    functionDepth: 1
    functionLinenumber: 1381
    functionLinenumberEnd: 1393
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put1bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1398
    functionDepth: 1
    functionLinenumber: 1398
    functionLinenumberEnd: 1410
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put2bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1415
    functionDepth: 1
    functionLinenumber: 1415
    functionLinenumberEnd: 1427
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL2
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(put4bitbwtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1439,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1445
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1458,1
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1459,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1464
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBAAcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1470
    functionDepth: 1
    functionLinenumber: 1470
    functionLinenumberEnd: 1490
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBUAcontig8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1503,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1495
    functionDepth: 0
    functionLinenumber: 1495
    functionLinenumberEnd: 1511
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1525,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1534
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBAAcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1561
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBUAcontig16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1576,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1586
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bitCMYKtile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1593
    functionDepth: 0
    functionLinenumber: 1593
    functionLinenumberEnd: 1613
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putRGBcontig8bitCMYKMaptile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1624
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1632,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1632,1
    - Dst: SKEW
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1633,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1628
    functionDepth: 1
    functionLinenumber: 1628
    functionLinenumberEnd: 1636
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    - PACK
    - SKEW
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNROLL8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1645,1
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1645,1
    - Dst: SKEW4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1646,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1649
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - UNROLL8
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBAAseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1664,1
    - Dst: SKEW4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1669
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1669
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putCMYKseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1686,1
    - Dst: SKEW4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1688,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1691
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBUAseparate8bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1704,1
    - Dst: SKEW
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1707,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1710
      start: 1696
    functionDepth: 1
    functionLinenumber: 1696
    functionLinenumberEnd: 1710
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK
    - SKEW
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1724,1
    - Dst: SKEW4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1728,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1715
    functionDepth: 1
    functionLinenumber: 1715
    functionLinenumberEnd: 1731
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBAAseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PACK4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1752,1
    - Dst: SKEW4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1757
      start: 1736
    functionDepth: 1
    functionLinenumber: 1736
    functionLinenumberEnd: 1757
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - PACK4
    - SKEW4
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putRGBUAseparate16bittile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCIELabToXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1770,1
    - Dst: TIFFXYZToRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1775,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1776,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1762
    functionDepth: 1
    functionLinenumber: 1762
    functionLinenumberEnd: 1782
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFXYZToRGB
    - PACK
    - TIFFCIELabToXYZ
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitCIELab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dst
    - ','
    - Y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1788
    functionDepth: 0
    functionLinenumber: 1788
    functionLinenumberEnd: 1793
    functionName: YCbCrtoRGB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: YCbCrtoRGB(dst, Y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1833,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1844,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1845,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1846,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1847,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1848,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1849,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1850,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1851,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1852,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1853,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1854,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1855,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1856,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1857,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1858,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1859,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 11
    argNames:
    - img
    - cp
    - x
    - y
    - w
    - h
    - fromskew
    - toskew
    - pp
    - h_group
    - v_group
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    - uint32
    - uint32
    - int32
    - int32
    - unsigned char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1803
    functionDepth: 1
    functionLinenumber: 1803
    functionLinenumberEnd: 1867
    functionName: putcontig8bitYCbCrGenericTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    - for
    linkageType: ''
    returnType: void
    signature: "void putcontig8bitYCbCrGenericTile( \n    TIFFRGBAImage* img, \n    uint32*
      cp, \n    uint32 x, uint32 y, \n    uint32 w, uint32 h, \n    int32 fromskew,
      int32 toskew, \n    unsigned char* pp,\n    int h_group, \n    int v_group )"
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1890,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1891,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1892,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1893,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1894,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1895,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1896,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1897,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1898,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1899,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1900,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1901,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1902,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1903,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1904,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1905,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1927,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1928,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1929,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1930,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1934,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1935,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1936,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1937,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1941,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1942,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1943,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1944,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1948,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1949,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1950,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1951,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 109
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1974
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1974
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr44tile)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1993,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1994,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1995,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1996,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1997,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1998,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:1999,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2000,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2018,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2019,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2023,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2024,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2028,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2029,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2033,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2034,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 75
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 1979
    functionDepth: 1
    functionLinenumber: 1979
    functionLinenumberEnd: 2055
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr42tile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2070,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2071,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2072,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2073,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2086,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2087,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2088,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2100
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr41tile)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2117,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2118,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2119,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2120,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2129,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2130,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2145,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2146,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2155,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2158
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr22tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2173,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2174,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2195
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr21tile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2212,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2213,1
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2228,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2200
    functionDepth: 1
    functionLinenumber: 2200
    functionLinenumberEnd: 2233
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr12tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: YCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2248,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2255
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2255
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - YCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putcontig8bitYCbCr11tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFYCbCrtoRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2269,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2270,1
    - Dst: SKEW
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2260
    functionDepth: 1
    functionLinenumber: 2260
    functionLinenumberEnd: 2275
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - SKEW
    - PACK
    - TIFFYCbCrtoRGB
    linkageType: ''
    returnType: void
    signature: void DECLARESepPutFunc(putseparate8bitYCbCr11tile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - f
    argTypes:
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2281
      start: 2278
    functionDepth: 0
    functionLinenumber: 2278
    functionLinenumberEnd: 2281
    functionName: isInRefBlackWhiteRange
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int isInRefBlackWhiteRange(float f)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2291,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2292,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2298,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2304,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2305,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2315,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2320,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2321,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2322,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2323,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2324,1
    - Dst: isInRefBlackWhiteRange
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2325,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2327,1
    - Dst: TIFFYCbCrToRGBInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2332,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 21
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2283
    functionDepth: 1
    functionLinenumber: 2283
    functionLinenumberEnd: 2335
    functionName: initYCbCrConversion
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFYCbCrToRGBInit
    - isInRefBlackWhiteRange
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - _TIFFmalloc
    - TIFFroundup_32
    linkageType: ''
    returnType: int
    signature: int initYCbCrConversion(TIFFRGBAImage* img)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2345,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2347,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2354,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2356,1
    - Dst: TIFFCIELabToRGBInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2366,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2367,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2369,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2337
    functionDepth: 1
    functionLinenumber: 2337
    functionLinenumberEnd: 2374
    functionName: initCIELabConversion
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - TIFFCIELabToRGBInit
    linkageType: ''
    returnType: tileContigRoutine
    signature: tileContigRoutine initCIELabConversion(TIFFRGBAImage* img)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2395,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2398,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2398,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2408,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2409,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2410,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2411,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2412,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2413,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2414,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2415,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2418,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2419,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2420,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2421,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2424,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2425,1
    - Dst: GREY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2429,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2435
      start: 2383
    functionDepth: 1
    functionLinenumber: 2383
    functionLinenumberEnd: 2435
    functionName: makebwmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - _TIFFmalloc
    - GREY
    linkageType: ''
    returnType: int
    signature: int makebwmap(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2407
    functionName: GREY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GREY(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2453,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2455,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2455,1
    - Dst: makebwmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2473,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2476,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2442
    functionDepth: 2
    functionLinenumber: 2442
    functionLinenumberEnd: 2480
    functionName: setupMap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - makebwmap
    linkageType: ''
    returnType: int
    signature: int setupMap(TIFFRGBAImage* img)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2494
    functionName: checkcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkcmap(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2506,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2507,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2508,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2511
      start: 2496
    functionDepth: 0
    functionLinenumber: 2496
    functionLinenumberEnd: 2511
    functionName: cvtcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - CVT
    linkageType: ''
    returnType: void
    signature: void cvtcmap(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2506
      start: 2505
    functionDepth: 0
    functionLinenumber: 2505
    functionLinenumberEnd: 2506
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2531,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2534,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2534,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2544,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2545,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2546,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2547,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2548,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2549,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2550,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2551,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2554,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2555,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2556,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2557,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2560,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2561,1
    - Dst: CMAP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2564,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2570
      start: 2520
    functionDepth: 1
    functionLinenumber: 2520
    functionLinenumberEnd: 2570
    functionName: makecmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - _TIFFmalloc
    - CMAP
    linkageType: ''
    returnType: int
    signature: int makecmap(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2541
    functionDepth: 0
    functionLinenumber: 2541
    functionLinenumberEnd: 2542
    functionName: CMAP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMAP(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: setupMap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2588,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2596,1
    - Dst: cvtcmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2597,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2599,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2599,1
    - Dst: makecmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2604,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2576
    functionDepth: 3
    functionLinenumber: 2576
    functionLinenumberEnd: 2609
    functionName: buildMap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - cvtcmap
    - checkcmap
    - makecmap
    - TIFFWarningExt
    - setupMap
    linkageType: ''
    returnType: int
    signature: int buildMap(TIFFRGBAImage* img)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2617,1
    - Dst: BuildMapUaToAa
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2629,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2639,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2645,1
    - Dst: BuildMapUaToAa
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2646,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2651,1
    - Dst: buildMap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2658,1
    - Dst: buildMap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2668,1
    - Dst: buildMap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2687,1
    - Dst: initYCbCrConversion
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2713,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2726,1
    - Dst: buildMap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2754,1
    - Dst: initCIELabConversion
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2756,1
    CyclomaticComplexity: 59
    EdgeCount: 59
    ICount: 121
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2761
      start: 2614
    functionDepth: 4
    functionLinenumber: 2614
    functionLinenumberEnd: 2761
    functionName: PickContigCase
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - initCIELabConversion
    - TIFFGetFieldDefaulted
    - BuildMapUaToAa
    - TIFFIsTiled
    - initYCbCrConversion
    - buildMap
    - BuildMapBitdepth16To8
    linkageType: ''
    returnType: int
    signature: int PickContigCase(TIFFRGBAImage* img)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2772,1
    - Dst: BuildMapUaToAa
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2785,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2794,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2799,1
    - Dst: BuildMapUaToAa
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2800,1
    - Dst: BuildMapBitdepth16To8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2805,1
    - Dst: initYCbCrConversion
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2821,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2824,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2769
    functionDepth: 2
    functionLinenumber: 2769
    functionLinenumberEnd: 2836
    functionName: PickSeparateCase
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFGetFieldDefaulted
    - BuildMapUaToAa
    - TIFFIsTiled
    - initYCbCrConversion
    - BuildMapBitdepth16To8
    linkageType: ''
    returnType: int
    signature: int PickSeparateCase(TIFFRGBAImage* img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2844,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2845,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2848,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts:
    - condition: (img->UaToAa==NULL)
      pos:
        line_end: 2843
        line_start: 2843
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    constantsTouched: []
    func_position:
      end: 2858
      start: 2838
    functionDepth: 1
    functionLinenumber: 2838
    functionLinenumberEnd: 2858
    functionName: BuildMapUaToAa
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - assert
    linkageType: ''
    returnType: int
    signature: int BuildMapUaToAa(TIFFRGBAImage* img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2866,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2867,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2870,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFRGBAImage*
    assertStmts:
    - condition: (img->Bitdepth16To8==NULL)
      pos:
        line_end: 2865
        line_start: 2865
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    constantsTouched: []
    func_position:
      end: 2877
      start: 2860
    functionDepth: 1
    functionLinenumber: 2860
    functionLinenumberEnd: 2877
    functionName: BuildMapBitdepth16To8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - assert
    linkageType: ''
    returnType: int
    signature: int BuildMapBitdepth16To8(TIFFRGBAImage* img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBAStripExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - row
    - raster
    argTypes:
    - TIFF*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2893
      start: 2888
    functionDepth: 1
    functionLinenumber: 2888
    functionLinenumberEnd: 2893
    functionName: TIFFReadRGBAStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFReadRGBAStripExt
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBAStrip(TIFF* tif, uint32 row, uint32 * raster )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2904,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2906,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2906,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2911,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2914,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2914,1
    - Dst: TIFFRGBAImageOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2919,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2919,1
    - Dst: TIFFRGBAImageGet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2929,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2931,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2933,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2933,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - tif
    - row
    - raster
    - stop_on_error
    argTypes:
    - TIFF*
    - uint32
    - uint32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2895
    functionDepth: 4
    functionLinenumber: 2895
    functionLinenumberEnd: 2938
    functionName: TIFFReadRGBAStripExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - TIFFRGBAImageGet
    - TIFFRGBAImageOK
    - TIFFRGBAImageEnd
    - TIFFRGBAImageBegin
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBAStripExt(TIFF* tif, uint32 row, uint32 * raster, int
      stop_on_error)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadRGBATileExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - col
    - row
    - raster
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2951
      start: 2946
    functionDepth: 1
    functionLinenumber: 2946
    functionLinenumberEnd: 2951
    functionName: TIFFReadRGBATile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 2
    functionsReached:
    - TIFFReadRGBATileExt
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBATile(TIFF* tif, uint32 col, uint32 row, uint32 * raster)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2969,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2971,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2971,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2976,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2977,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2980,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2980,1
    - Dst: TIFFRGBAImageOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2990,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2991,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2992,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:2992,1
    - Dst: TIFFRGBAImageGet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:3020,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:3022,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:3036,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:3039,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c:3044,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 5
    argNames:
    - tif
    - col
    - row
    - raster
    - stop_on_error
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3049
      start: 2954
    functionDepth: 4
    functionLinenumber: 2954
    functionLinenumberEnd: 3049
    functionName: TIFFReadRGBATileExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_getimage.c
    functionUses: 1
    functionsReached:
    - TIFFFileName
    - _TIFFmemset
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFIsTiled
    - memmove
    - TIFFRGBAImageGet
    - TIFFRGBAImageOK
    - TIFFRGBAImageEnd
    - TIFFRGBAImageBegin
    linkageType: ''
    returnType: int
    signature: int TIFFReadRGBATileExt(TIFF* tif, uint32 col, uint32 row, uint32 *
      raster, int stop_on_error )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: strneq
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: strneq(a,b,n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    functionName: isPseudoTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isPseudoTag(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 249
    functionName: isTiled
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isTiled(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    functionName: isMapped
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isMapped(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - o
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    functionName: isFillOrder
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isFillOrder(tif, o)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    functionName: isUpSampled
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isUpSampled(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    functionName: TIFFReadFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFReadFile(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    functionName: TIFFWriteFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteFile(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - 'off'
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    functionName: TIFFSeekFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSeekFile(tif, off, whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: TIFFCloseFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFCloseFile(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 262
    functionName: TIFFGetFileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFGetFileSize(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - paddr
    - ','
    - psize
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 264
    functionName: TIFFMapFileContents
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFMapFileContents(tif, paddr, psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - addr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 266
    functionName: TIFFUnmapFileContents
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFUnmapFileContents(tif, addr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 273
    functionName: ReadOK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ReadOK(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - 'off'
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 276
    functionName: SeekOK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SeekOK(tif, off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - buf
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 280
    functionName: WriteOK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WriteOK(tif, buf, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: TIFFhowmany_32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 290
    functionName: TIFFhowmany_32_maxuint_compat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_32_maxuint_compat(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 291
    functionName: TIFFhowmany8_32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8_32(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 292
    functionName: TIFFroundup_32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFroundup_32(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    functionName: TIFFhowmany_64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany_64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 294
    functionName: TIFFhowmany8_64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFhowmany8_64(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    functionName: TIFFroundup_64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFroundup_64(x, y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - v
    - ','
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 298
    functionName: TIFFSafeMultiply
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSafeMultiply(t,v,m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 300
    functionName: TIFFmax
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmax(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 301
    functionName: TIFFmin
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFmin(A,B)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 303
    functionName: TIFFArrayCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFArrayCount(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 324
    functionName: fseek
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 78
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fseek(stream,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    functionName: ftell
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ftell(stream,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - fildes
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 342
    functionName: _TIFF_lseek_f
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_lseek_f(fildes,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - stream
    - ','
    - offset
    - ','
    - whence
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 344
    functionName: _TIFF_fseek_f
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_fseek_f(stream,offset,whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fildes
    - ','
    - stat_buff
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    functionName: _TIFF_fstat_f
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tiffiop.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _TIFF_fstat_f(fildes,stat_buff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:77,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 86
    functionName: _tiffReadProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - ReadFile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffReadProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: WriteFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 116
    functionName: _tiffWriteProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - WriteFile
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffWriteProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: SetFilePointer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:139,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:140,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 143
    functionName: _tiffSeekProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - SetFilePointer
    - GetLastError
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffSeekProc(thandle_t fd, uint64 off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: _tiffCloseProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    linkageType: ''
    returnType: int
    signature: int _tiffCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 157
    functionName: _tiffSizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - GetFileSize
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 166
    functionName: _tiffDummyMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffDummyMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tiffSizeProc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:186,1
    - Dst: CreateFileMapping
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:193,1
    - Dst: MapViewOfFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:196,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:197,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 202
    functionName: _tiffMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - MapViewOfFile
    - CreateFileMapping
    - CloseHandle
    - _tiffSizeProc
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 210
    functionName: _tiffDummyUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffDummyUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UnmapViewOfFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: _tiffUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - UnmapViewOfFile
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - ifd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 248
    functionName: TIFFFdOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 1
    functionsReached:
    - TIFFClientOpen
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFFdOpen(int ifd, const char* name, const char* mode)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:264,1
    - Dst: CreateFileA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:275,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:281,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:285,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 289
    functionName: TIFFOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 36
    functionsReached:
    - CloseHandle
    - _TIFFgetMode
    - TIFFErrorExt
    - TIFFFdOpen
    - CreateFileA
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFOpen(const char* name, const char* mode)'
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:305,1
    - Dst: CreateFileW
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:316,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:322,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:327,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:329,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:331,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:336,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:340,1
    - Dst: CloseHandle
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:343,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:345,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 348
    functionName: TIFFOpenW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - CloseHandle
    - _TIFFgetMode
    - WideCharToMultiByte
    - TIFFErrorExt
    - TIFFFdOpen
    - CreateFileW
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFOpenW(const wchar_t* name, const char* mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 352
    functionDepth: 5
    functionLinenumber: 352
    functionLinenumberEnd: 359
    functionName: _TIFFmalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 101
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFmalloc(tmsize_t s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - nmemb
    - siz
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 367
    functionName: _TIFFcalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 1
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * _TIFFcalloc(tmsize_t nmemb, tmsize_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 369
    functionDepth: 0
    functionLinenumber: 369
    functionLinenumberEnd: 373
    functionName: _TIFFfree
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 102
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _TIFFfree(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 379
    functionName: _TIFFrealloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 14
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFrealloc(void* p, tmsize_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - c
    argTypes:
    - void*
    - int
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: _TIFFmemset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 37
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _TIFFmemset(void* p, int v, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - s
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 391
    functionName: _TIFFmemcpy
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 25
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _TIFFmemcpy(void* d, const void* s, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: _TIFFmemcmp
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _TIFFmemcmp(const void* p1, const void* p2, tmsize_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:409,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:410,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:411,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: Win32WarningHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void Win32WarningHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:420,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:421,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c:422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 423
    functionName: Win32ErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_win32.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void Win32ErrorHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c:114,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c:117,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 122
    functionName: _notConfigured
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFFindCODEC
    - sprintf
    linkageType: ''
    returnType: int
    signature: int _notConfigured(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: NotConfigured
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int NotConfigured(TIFF* tif, int scheme)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c:151,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - scheme
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 163
    functionName: TIFFIsCODECConfigured
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_codec.c
    functionUses: 2
    functionsReached:
    - TIFFFindCODEC
    linkageType: ''
    returnType: int
    signature: int TIFFIsCODECConfigured(uint16 scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: PredictorState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PredictorState(tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:57,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:68,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:76,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:85,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:92,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:102,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:103,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:105,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 31
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 110
    functionName: PredictorSetup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - TIFFErrorExt
    - TIFFScanlineSize
    - isTiled
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int PredictorSetup(TIFF* tif)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:115,1
    - Dst: PredictorSetup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:121,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 192
    functionName: PredictorSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - PredictorSetup
    linkageType: ''
    returnType: int
    signature: int PredictorSetupDecode(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:197,1
    - Dst: PredictorSetup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:200,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 259
    functionName: PredictorSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - PredictorState
    - PredictorSetup
    linkageType: ''
    returnType: int
    signature: int PredictorSetupEncode(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 264
    functionName: REPEAT4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REPEAT4(n, op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:761,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:763,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:764,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:768,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 762
        line_start: 762
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    - condition: (sp->vsetparent != NULL)
      pos:
        line_end: 763
        line_start: 763
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 776
      start: 758
    functionDepth: 1
    functionLinenumber: 758
    functionLinenumberEnd: 776
    functionName: PredictorVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - TIFFSetFieldBit
    - va_arg
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int PredictorVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:781,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:783,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:784,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:788,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp->vgetparent != NULL)
      pos:
        line_end: 783
        line_start: 783
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    - condition: (sp != NULL)
      pos:
        line_end: 782
        line_start: 782
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 794
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 794
    functionName: PredictorVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - va_arg
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int PredictorVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:799,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:802,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:803,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:805,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:806,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:807,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:809,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 813
    functionName: PredictorPrintDir
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 0
    functionsReached:
    - fprintf
    - PredictorState
    - TIFFFieldSet
    linkageType: ''
    returnType: void
    signature: void PredictorPrintDir(TIFF* tif, FILE* fd, long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:818,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:820,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:825,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:826,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 819
        line_start: 819
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 854
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 854
    functionName: TIFFPredictorInit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 3
    functionsReached:
    - PredictorState
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFPredictorInit(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PredictorState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:859,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c:861,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 860
        line_start: 860
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    constantsTouched: []
    func_position:
      end: 870
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 870
    functionName: TIFFPredictorCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_predict.c
    functionUses: 2
    functionsReached:
    - PredictorState
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFPredictorCleanup(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: SETJMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETJMP(jbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jbuf
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    functionName: LONGJMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGJMP(jbuf,code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 190
    functionName: JState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: JState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:228,1
    - Dst: jpeg_abort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:229,1
    - Dst: LONGJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: TIFFjpeg_error_exit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - LONGJMP
    - jpeg_abort
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_error_exit(j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 245
    functionName: TIFFjpeg_output_message
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_output_message(j_common_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:260,1
    - Dst: jpeg_abort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:267,1
    - Dst: LONGJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 271
    functionName: TIFFjpeg_progress_monitor
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - LONGJMP
    - jpeg_abort
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_progress_monitor(j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - sp
    - ','
    - fail
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 281
    functionName: CALLJPEG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALLJPEG(sp, fail, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sp
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 282
    functionName: CALLVJPEG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CALLVJPEG(sp, op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:287,1
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:294,1
    - Dst: jpeg_create_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 295
    functionName: TIFFjpeg_create_compress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_std_error
    - jpeg_create_compress
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_create_compress(JPEGState* sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:301,1
    - Dst: TIFF*::get_jpeg_mem_ptr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:307,1
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:312,1
    - Dst: jpeg_create_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - tif
    argTypes:
    - JPEGState*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 313
    functionName: TIFFjpeg_create_decompress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_std_error
    - jpeg_create_decompress
    - CALLVJPEG
    - TIFF*::get_jpeg_mem_ptr
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_create_decompress(JPEGState* sp, TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:318,1
    - Dst: jpeg_set_defaults
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 319
    functionName: TIFFjpeg_set_defaults
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_defaults
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_set_defaults(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:324,1
    - Dst: jpeg_set_colorspace
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - colorspace
    argTypes:
    - JPEGState*
    - J_COLOR_SPACE
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: TIFFjpeg_set_colorspace
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_colorspace
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_set_colorspace(JPEGState* sp, J_COLOR_SPACE colorspace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:330,1
    - Dst: jpeg_set_quality
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - quality
    - force_baseline
    argTypes:
    - JPEGState*
    - int
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 332
    functionName: TIFFjpeg_set_quality
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_set_quality
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_set_quality(JPEGState* sp, int quality, boolean force_baseline)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:337,1
    - Dst: jpeg_suppress_tables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - suppress
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    functionName: TIFFjpeg_suppress_tables
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_suppress_tables
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_suppress_tables(JPEGState* sp, boolean suppress)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:343,1
    - Dst: jpeg_start_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - write_all_tables
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 345
    functionName: TIFFjpeg_start_compress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_start_compress
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_start_compress(JPEGState* sp, boolean write_all_tables)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:350,1
    - Dst: jpeg_write_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - scanlines
    - num_lines
    argTypes:
    - JPEGState*
    - JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 352
    functionName: TIFFjpeg_write_scanlines
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_write_scanlines
    - CALLJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_write_scanlines(JPEGState* sp, JSAMPARRAY scanlines, int
      num_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:357,1
    - Dst: jpeg_write_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - data
    - num_lines
    argTypes:
    - JPEGState*
    - JSAMPIMAGE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 359
    functionName: TIFFjpeg_write_raw_data
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_write_raw_data
    - CALLJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_write_raw_data(JPEGState* sp, JSAMPIMAGE data, int num_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:364,1
    - Dst: jpeg_finish_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: TIFFjpeg_finish_compress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_finish_compress
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_finish_compress(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:370,1
    - Dst: jpeg_write_tables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: TIFFjpeg_write_tables
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_write_tables
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_write_tables(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:376,1
    - Dst: jpeg_read_header
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - sp
    - require_image
    argTypes:
    - JPEGState*
    - boolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 373
    functionDepth: 1
    functionLinenumber: 373
    functionLinenumberEnd: 377
    functionName: TIFFjpeg_read_header
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg_read_header
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_read_header(JPEGState* sp, boolean require_image)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:382,1
    - Dst: jpeg_has_multiple_scans
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 383
    functionName: TIFFjpeg_has_multiple_scans
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_has_multiple_scans
    - CALLJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_has_multiple_scans(JPEGState* sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:393,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:395,1
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:397,1
    - Dst: jpeg_start_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: TIFFjpeg_start_decompress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - getenv
    - atoi
    - jpeg_start_decompress
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_start_decompress(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:403,1
    - Dst: jpeg_read_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - scanlines
    - max_lines
    argTypes:
    - JPEGState*
    - JSAMPARRAY
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 405
    functionName: TIFFjpeg_read_scanlines
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_read_scanlines
    - CALLJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_read_scanlines(JPEGState* sp, JSAMPARRAY scanlines, int
      max_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:410,1
    - Dst: jpeg_read_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - sp
    - data
    - max_lines
    argTypes:
    - JPEGState*
    - JSAMPIMAGE
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 412
    functionName: TIFFjpeg_read_raw_data
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_read_raw_data
    - CALLJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_read_raw_data(JPEGState* sp, JSAMPIMAGE data, int max_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:417,1
    - Dst: jpeg_finish_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 414
    functionDepth: 1
    functionLinenumber: 414
    functionLinenumberEnd: 418
    functionName: TIFFjpeg_finish_decompress
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    - jpeg_finish_decompress
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_finish_decompress(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:423,1
    - Dst: jpeg_abort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 424
    functionName: TIFFjpeg_abort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_abort
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_abort(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLVJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:429,1
    - Dst: jpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 430
    functionName: TIFFjpeg_destroy
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - jpeg_destroy
    - CALLVJPEG
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_destroy(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CALLJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:436,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - sp
    - pool_id
    - samplesperrow
    - numrows
    argTypes:
    - JPEGState*
    - int
    - JDIMENSION
    - JDIMENSION
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: TIFFjpeg_alloc_sarray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - CALLJPEG
    linkageType: ''
    returnType: JSAMPARRAY
    signature: "JSAMPARRAY TIFFjpeg_alloc_sarray(JPEGState* sp, int pool_id,\n\t\t
      \     JDIMENSION samplesperrow, JDIMENSION numrows)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 455
    functionName: std_init_destination
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_init_destination(j_compress_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 457
    functionDepth: 3
    functionLinenumber: 457
    functionLinenumberEnd: 483
    functionName: std_empty_output_buffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: boolean
    signature: boolean std_empty_output_buffer(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 485
    functionDepth: 0
    functionLinenumber: 485
    functionLinenumberEnd: 495
    functionName: std_term_destination
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_term_destination(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - tif
    argTypes:
    - JPEGState*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 497
    functionDepth: 0
    functionLinenumber: 497
    functionLinenumberEnd: 505
    functionName: TIFFjpeg_data_dest
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_data_dest(JPEGState* sp, TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 519
    functionName: tables_init_destination
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_init_destination(j_compress_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:528,1
    - Dst: ERREXIT1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 521
    functionDepth: 1
    functionLinenumber: 521
    functionLinenumberEnd: 537
    functionName: tables_empty_output_buffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFrealloc
    - ERREXIT1
    linkageType: ''
    returnType: boolean
    signature: boolean tables_empty_output_buffer(j_compress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_compress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: tables_term_destination
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_term_destination(j_compress_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:557,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:559,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - sp
    - tif
    argTypes:
    - JPEGState*
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 570
    functionName: TIFFjpeg_tables_dest
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFmalloc
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int TIFFjpeg_tables_dest(JPEGState* sp, TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 585
    functionName: std_init_source
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_init_source(j_decompress_ptr cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: WARNMS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 587
    functionDepth: 1
    functionLinenumber: 587
    functionLinenumberEnd: 621
    functionName: std_fill_input_buffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - WARNMS
    linkageType: ''
    returnType: boolean
    signature: boolean std_fill_input_buffer(j_decompress_ptr cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std_fill_input_buffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:631,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - cinfo
    - num_bytes
    argTypes:
    - j_decompress_ptr
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 637
    functionName: std_skip_input_data
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - std_fill_input_buffer
    linkageType: ''
    returnType: void
    signature: void std_skip_input_data(j_decompress_ptr cinfo, long num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 639
    functionDepth: 0
    functionLinenumber: 639
    functionLinenumberEnd: 644
    functionName: std_term_source
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void std_term_source(j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 657
    functionName: TIFFjpeg_data_src
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_data_src(JPEGState* sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_decompress_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 671
    functionName: tables_init_source
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void tables_init_source(j_decompress_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFjpeg_data_src
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sp
    argTypes:
    - JPEGState*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 678
    functionName: TIFFjpeg_tables_src
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFjpeg_data_src
    linkageType: ''
    returnType: void
    signature: void TIFFjpeg_tables_src(JPEGState* sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:691,1
    - Dst: TIFFjpeg_alloc_sarray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:701,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - comp_info
    - num_components
    argTypes:
    - TIFF*
    - jpeg_component_info*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 687
    functionDepth: 2
    functionLinenumber: 687
    functionLinenumberEnd: 710
    functionName: alloc_downsampled_buffers
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_alloc_sarray
    linkageType: ''
    returnType: int
    signature: "int alloc_downsampled_buffers(TIFF* tif, jpeg_component_info* comp_info,\n\t\t\t
      \ int num_components)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:754,1
    - Dst: JPEGFixupTagsSubsampling
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:759,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 763
    functionName: JPEGFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - JPEGFixupTagsSubsampling
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTags(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:792,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:804,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:807,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:815,1
    - Dst: JPEGFixupTagsSubsamplingSec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:816,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:817,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:819,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 820
    functionName: JPEGFixupTagsSubsampling
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFGetStrileOffset
    - JPEGFixupTagsSubsamplingSec
    - _TIFFmalloc
    - TIFFGetStrileByteCount
    - _TIFFfree
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void JPEGFixupTagsSubsampling(TIFF* tif)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:831,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:838,1
    - Dst: JPEGFixupTagsSubsamplingReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:872,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:878,1
    - Dst: JPEGFixupTagsSubsamplingReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:892,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:896,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:897,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:901,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:904,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:905,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:909,1
    - Dst: JPEGFixupTagsSubsamplingSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:913,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:917,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:923,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 1
    argNames:
    - data
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 937
    functionName: JPEGFixupTagsSubsamplingSec
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - JPEGFixupTagsSubsamplingReadWord
    - JPEGFixupTagsSubsamplingSkip
    - JPEGFixupTagsSubsamplingReadByte
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTagsSubsamplingSec(struct JPEGFixupTagsSubsamplingData*
      data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:949,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:955,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:956,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint8*
    assertStmts:
    - condition: (m<0x80000000UL)
      pos:
        line_end: 954
        line_start: 954
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 967
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 967
    functionName: JPEGFixupTagsSubsamplingReadByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFReadFile
    - assert
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTagsSubsamplingReadByte(struct JPEGFixupTagsSubsamplingData*
      data, uint8* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:974,1
    - Dst: JPEGFixupTagsSubsamplingReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - data
    - result
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 980
    functionName: JPEGFixupTagsSubsamplingReadWord
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - JPEGFixupTagsSubsamplingReadByte
    linkageType: ''
    returnType: int
    signature: int JPEGFixupTagsSubsamplingReadWord(struct JPEGFixupTagsSubsamplingData*
      data, uint16* result)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - data
    - skiplength
    argTypes:
    - struct JPEGFixupTagsSubsamplingData*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 982
    functionDepth: 0
    functionLinenumber: 982
    functionLinenumberEnd: 1007
    functionName: JPEGFixupTagsSubsamplingSkip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void JPEGFixupTagsSubsamplingSkip(struct JPEGFixupTagsSubsamplingData*
      data, uint16 skiplength)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1015,1
    - Dst: TIFFReInitJPEG_12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1020,1
    - Dst: JPEGInitializeLibJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1023,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1025,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1026,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1029,1
    - Dst: TIFFjpeg_tables_src
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1030,1
    - Dst: TIFFjpeg_read_header
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1031,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1032,1
    - Dst: TIFFjpeg_data_src
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1052,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1025
        line_start: 1025
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    - condition: (sp != NULL)
      pos:
        line_end: 1024
        line_start: 1024
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1055
      start: 1012
    functionDepth: 2
    functionLinenumber: 1012
    functionLinenumberEnd: 1055
    functionName: JPEGSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_tables_src
    - TIFFjpeg_read_header
    - JPEGInitializeLibJPEG
    - TIFFErrorExt
    - assert
    - TIFFFieldSet
    - TIFFjpeg_data_src
    - TIFFReInitJPEG_12
    linkageType: ''
    returnType: int
    signature: int JPEGSetupDecode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFJPEGIsFullStripRequired_12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1071,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1074,1
    - Dst: TIFFjpeg_create_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1077,1
    - Dst: TIFFjpeg_data_src
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1079,1
    - Dst: TIFFjpeg_read_header
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1081,1
    - Dst: TIFFjpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1083,1
    - Dst: TIFFjpeg_has_multiple_scans
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1086,1
    - Dst: TIFFjpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1064
    functionDepth: 2
    functionLinenumber: 1064
    functionLinenumberEnd: 1091
    functionName: TIFFJPEGIsFullStripRequired
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 1
    functionsReached:
    - TIFFjpeg_read_header
    - TIFFJPEGIsFullStripRequired_12
    - TIFFjpeg_has_multiple_scans
    - TIFFjpeg_destroy
    - TIFFjpeg_create_decompress
    - memset
    - TIFFjpeg_data_src
    linkageType: ''
    returnType: int
    signature: int TIFFJPEGIsFullStripRequired(TIFF* tif)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1099,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1106,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1110,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1113,1
    - Dst: TIFFjpeg_abort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1118,1
    - Dst: TIFFjpeg_read_header
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1124,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1133,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1136,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1142,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1149,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1150,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1154,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1164,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1169,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1183,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1193,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1198,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1205,1
    - Dst: TIFFjpeg_has_multiple_scans
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1212,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1232,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1234,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1254,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1266,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1274,1
    - Dst: TIFFjpeg_start_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1311,1
    - Dst: alloc_downsampled_buffers
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1315,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 106
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1105
        line_start: 1105
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    - condition: (sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1112
        line_start: 1112
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1321
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1321
    functionName: JPEGPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_start_decompress
    - TIFFjpeg_read_header
    - TIFFhowmany_32
    - TIFFjpeg_abort
    - TIFFErrorExt
    - TIFFjpeg_has_multiple_scans
    - assert
    - TIFFScanlineSize
    - isTiled
    - getenv
    - TIFFTileRowSize
    - alloc_downsampled_buffers
    - TIFF*::tif_setupdecode
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JPEGPreDecode(TIFF* tif, uint16 s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1331,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1347,1
    - Dst: TIFFjpeg_read_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1364,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1379,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1380
    functionName: JPEGDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_finish_decompress
    - TIFFWarningExt
    - TIFFjpeg_read_scanlines
    linkageType: ''
    returnType: int
    signature: int JPEGDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1387,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1403,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1421,1
    - Dst: TIFFjpeg_read_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1435,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1476,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1485,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1384
    functionDepth: 2
    functionLinenumber: 1384
    functionLinenumberEnd: 1486
    functionName: JPEGDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_read_scanlines
    - _TIFFmalloc
    - TIFFjpeg_finish_decompress
    - _TIFFfree
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JPEGDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1500
    functionName: DecodeRowError
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int DecodeRowError(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1509,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1518,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1529,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1533,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1544,1
    - Dst: TIFFjpeg_read_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1552,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1576,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1641,1
    - Dst: TIFFjpeg_finish_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1648,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 63
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1649
    functionName: JPEGDecodeRaw
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFErrorExt
    - _TIFFmalloc
    - TIFFjpeg_finish_decompress
    - isTiled
    - _TIFFfree
    - TIFFjpeg_read_raw_data
    linkageType: ''
    returnType: int
    signature: int JPEGDecodeRaw(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1656
    functionDepth: 0
    functionLinenumber: 1656
    functionLinenumberEnd: 1663
    functionName: unsuppress_quant_table
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsuppress_quant_table (JPEGState* sp, int tblno)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1665
    functionDepth: 0
    functionLinenumber: 1665
    functionLinenumberEnd: 1672
    functionName: suppress_quant_table
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppress_quant_table (JPEGState* sp, int tblno)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1674
    functionDepth: 0
    functionLinenumber: 1674
    functionLinenumberEnd: 1683
    functionName: unsuppress_huff_table
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void unsuppress_huff_table (JPEGState* sp, int tblno)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - sp
    - tblno
    argTypes:
    - JPEGState*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1694
      start: 1685
    functionDepth: 0
    functionLinenumber: 1685
    functionLinenumberEnd: 1694
    functionName: suppress_huff_table
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void suppress_huff_table (JPEGState* sp, int tblno)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1699,1
    - Dst: TIFFjpeg_set_quality
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1702,1
    - Dst: TIFFjpeg_suppress_tables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1706,1
    - Dst: unsuppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1709,1
    - Dst: unsuppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1711,1
    - Dst: unsuppress_huff_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1714,1
    - Dst: unsuppress_huff_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1716,1
    - Dst: TIFFjpeg_tables_dest
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1719,1
    - Dst: TIFFjpeg_write_tables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1722,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1726
      start: 1696
    functionDepth: 2
    functionLinenumber: 1696
    functionLinenumberEnd: 1726
    functionName: prepare_JPEGTables
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_suppress_tables
    - TIFFjpeg_set_quality
    - unsuppress_huff_table
    - TIFFjpeg_tables_dest
    - unsuppress_quant_table
    - TIFFjpeg_write_tables
    linkageType: ''
    returnType: int
    signature: int prepare_JPEGTables(TIFF* tif)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1731,1
    - Dst: TIFFReInitJPEG_12
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1737,1
    - Dst: JPEGInitializeLibJPEG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1740,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1742,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1743,1
    - Dst: TIFFjpeg_set_defaults
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1774,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1783,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1789,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1802,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1812,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1819,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1844,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1852,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1854,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1860,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1868,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1878,1
    - Dst: prepare_JPEGTables
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1880,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1885,1
    - Dst: TIFFClrFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1890,1
    - Dst: TIFFjpeg_data_dest
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1894,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 96
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (!sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1742
        line_start: 1742
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    - condition: (sp != NULL)
      pos:
        line_end: 1741
        line_start: 1741
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 1897
      start: 1728
    functionDepth: 3
    functionLinenumber: 1728
    functionLinenumberEnd: 1897
    functionName: JPEGSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFGetField
    - TIFFSetField
    - prepare_JPEGTables
    - TIFFSetFieldBit
    - JPEGInitializeLibJPEG
    - TIFFjpeg_data_dest
    - TIFFClrFieldBit
    - TIFFErrorExt
    - assert
    - memcmp
    - isTiled
    - TIFFjpeg_set_defaults
    - TIFFReInitJPEG_12
    linkageType: ''
    returnType: int
    signature: int JPEGSetupEncode(TIFF* tif)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1905,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1911,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1915,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1918,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1922,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1925,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1931,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1937,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1938,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1941,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1954,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1963,1
    - Dst: TIFFjpeg_set_colorspace
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1968,1
    - Dst: TIFFjpeg_set_quality
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1987,1
    - Dst: suppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1990,1
    - Dst: suppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1991,1
    - Dst: unsuppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1994,1
    - Dst: unsuppress_quant_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:1995,1
    - Dst: suppress_huff_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2002,1
    - Dst: suppress_huff_table
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2003,1
    - Dst: TIFFjpeg_start_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2022,1
    - Dst: alloc_downsampled_buffers
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2026,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 89
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1910
        line_start: 1910
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    - condition: (!sp->cinfo.comm.is_decompressor)
      pos:
        line_end: 1917
        line_start: 1917
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2033
      start: 1902
    functionDepth: 3
    functionLinenumber: 1902
    functionLinenumberEnd: 2033
    functionName: JPEGPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_set_quality
    - alloc_downsampled_buffers
    - TIFFErrorExt
    - assert
    - TIFF*::tif_setupencode
    - TIFFjpeg_start_compress
    - TIFFScanlineSize
    - unsuppress_quant_table
    - TIFFjpeg_set_colorspace
    - isTiled
    - suppress_huff_table
    - TIFFhowmany_32
    - suppress_quant_table
    - TIFFTileRowSize
    linkageType: ''
    returnType: int
    signature: int JPEGPreEncode(TIFF* tif, uint16 s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2042,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2049,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2053,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2057,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2063,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2066,1
    - Dst: TIFFjpeg_write_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2098,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2107,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2048
        line_start: 2048
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2111
      start: 2039
    functionDepth: 2
    functionLinenumber: 2039
    functionLinenumberEnd: 2111
    functionName: JPEGEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFErrorExt
    - assert
    - _TIFFmalloc
    - TIFFjpeg_write_scanlines
    - isTiled
    - _TIFFfree
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JPEGEncode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2120,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2131,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2141,1
    - Dst: TIFFjpeg_write_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2130
        line_start: 2130
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2196
      start: 2117
    functionDepth: 2
    functionLinenumber: 2117
    functionLinenumberEnd: 2196
    functionName: JPEGEncodeRaw
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_write_raw_data
    - assert
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int JPEGEncodeRaw(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2204,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2222,1
    - Dst: TIFFjpeg_write_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2229,1
    - Dst: TIFFjpeg_finish_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2233,1
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2201
    functionDepth: 2
    functionLinenumber: 2201
    functionLinenumberEnd: 2234
    functionName: JPEGPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_write_raw_data
    - _TIFFmemcpy
    - TIFFjpeg_finish_compress
    linkageType: ''
    returnType: int
    signature: int JPEGPostEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2239,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2241,1
    - Dst: TIFFjpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2247,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2249,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2250,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2253,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 2240
        line_start: 2240
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2254
      start: 2236
    functionDepth: 2
    functionLinenumber: 2236
    functionLinenumberEnd: 2254
    functionName: JPEGCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFjpeg_destroy
    - assert
    - _TIFFSetDefaultCompressionState
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void JPEGCleanup(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2259,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2286,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2286,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2289
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2289
    functionName: JPEGResetUpsampled
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFScanlineSize
    - TIFFTileSize
    - isTiled
    linkageType: ''
    returnType: void
    signature: void JPEGResetUpsampled( TIFF* tif )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2294,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2298,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2302,1
    - Dst: _TIFFsetByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2307,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2307,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2309,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2312,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2315,1
    - Dst: JPEGResetUpsampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2316,1
    - Dst: JPEGResetUpsampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2321,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2325,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2336,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 39
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2297
        line_start: 2297
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2344
      start: 2291
    functionDepth: 3
    functionLinenumber: 2291
    functionLinenumberEnd: 2344
    functionName: JPEGVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - va_arg
    - TIFFSetFieldBit
    - TIFFFieldWithTag
    - assert
    - _TIFFsetByteArray
    - JPEGResetUpsampled
    linkageType: ''
    returnType: int
    signature: int JPEGVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2349,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2351,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2355,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2356,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2359,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2362,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2365,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2350
        line_start: 2350
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2371
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2371
    functionName: JPEGVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - va_arg
    - assert
    linkageType: ''
    returnType: int
    signature: int JPEGVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2376,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2378,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2382,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2383,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 2377
        line_start: 2377
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2388
      start: 2373
    functionDepth: 1
    functionLinenumber: 2373
    functionLinenumberEnd: 2388
    functionName: JPEGPrintDir
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - fprintf
    - assert
    - TIFFFieldSet
    linkageType: ''
    returnType: void
    signature: void JPEGPrintDir(TIFF* tif, FILE* fd, long flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2393,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2400
    functionName: JPEGDefaultStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFroundup_32
    linkageType: ''
    returnType: uint32
    signature: uint32 JPEGDefaultStripSize(TIFF* tif, uint32 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2405,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2409,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2411
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2411
    functionName: JPEGDefaultTileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - TIFFroundup_32
    linkageType: ''
    returnType: void
    signature: void JPEGDefaultTileSize(TIFF* tif, uint32* tw, uint32* th)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2437,1
    - Dst: TIFFjpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2442,1
    - Dst: TIFFjpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2444,1
    - Dst: TIFFjpeg_create_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2455,1
    - Dst: TIFFjpeg_create_compress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2458,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2469,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 24
    argCount: 2
    argNames:
    - tif
    - decompress
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2484
      start: 2435
    functionDepth: 2
    functionLinenumber: 2435
    functionLinenumberEnd: 2484
    functionName: JPEGInitializeLibJPEG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 2
    functionsReached:
    - JState
    - TIFFjpeg_create_compress
    - TIFFjpeg_destroy
    - TIFFjpeg_create_decompress
    - getenv
    linkageType: ''
    returnType: int
    signature: int JPEGInitializeLibJPEG( TIFF * tif, int decompress )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2491,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2496,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2496,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2497,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2506,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2509,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2513,1
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2515,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2578,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2581,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c:2585,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 56
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JPEG)
      pos:
        line_end: 2490
        line_start: 2490
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    constantsTouched: []
    func_position:
      end: 2594
      start: 2486
    functionDepth: 1
    functionLinenumber: 2486
    functionLinenumberEnd: 2594
    functionName: TIFFInitJPEG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg.c
    functionUses: 0
    functionsReached:
    - JState
    - _TIFFmemset
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitJPEG(TIFF* tif, int scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:45,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - row
    - sample
    argTypes:
    - TIFF*
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 53
    functionName: TIFFComputeStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 4
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFComputeStrip(TIFF* tif, uint32 row, uint16 sample)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:65,1
    - Dst: _TIFFMultiply32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 70
    functionName: TIFFNumberOfStrips
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 23
    functionsReached:
    - TIFFhowmany_32
    - _TIFFMultiply32
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFNumberOfStrips(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:84,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:102,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:106,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:111,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:118,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:119,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:120,1
    - Dst: TIFFhowmany8_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:121,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:121,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:122,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:125,1
    - Dst: TIFFScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:125,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 126
    functionName: TIFFVStripSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - isUpSampled
    - TIFFhowmany8_64
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFScanlineSize64
    - _TIFFMultiply64
    - TIFFhowmany_32
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFVStripSize64(TIFF* tif, uint32 nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:132,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 2
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: TIFFVStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 6
    functionsReached:
    - TIFFVStripSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFVStripSize(TIFF* tif, uint32 nrows)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:143,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:148,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:153,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 162
    functionName: TIFFRawStripSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFRawStripSize64(TIFF* tif, uint32 strip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRawStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:169,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:177,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - strip
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 182
    functionName: TIFFRawStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFRawStripSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFRawStripSize(TIFF* tif, uint32 strip)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 200
    functionName: TIFFStripSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFVStripSize64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFStripSize64(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:206,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 208
    functionName: TIFFStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 21
    functionsReached:
    - TIFFStripSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFStripSize(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - request
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 220
    functionName: TIFFDefaultStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFDefaultStripSize(TIFF* tif, uint32 request)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:233,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 244
    functionName: _TIFFDefaultStripSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize64
    linkageType: ''
    returnType: uint32
    signature: uint32 _TIFFDefaultStripSize(TIFF* tif, uint32 s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:266,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:275,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:279,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:285,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:290,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:291,1
    - Dst: TIFFhowmany_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:292,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:292,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:298,1
    - Dst: TIFFhowmany_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:299,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:299,1
    - Dst: TIFFhowmany_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:304,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:304,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:308,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 312
    functionName: TIFFScanlineSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 2
    functionsReached:
    - isUpSampled
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - _TIFFMultiply64
    - TIFFhowmany_32
    - TIFFhowmany_64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFScanlineSize64(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:318,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 320
    functionName: TIFFScanlineSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 40
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFScanlineSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFScanlineSize(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:335,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:337,1
    - Dst: TIFFhowmany8_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:338,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:340,1
    - Dst: TIFFhowmany8_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 342
    functionName: TIFFRasterScanlineSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 0
    functionsReached:
    - TIFFhowmany8_64
    - _TIFFMultiply64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFRasterScanlineSize64(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFRasterScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:348,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 350
    functionName: TIFFRasterScanlineSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_strip.c
    functionUses: 3
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFRasterScanlineSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFRasterScanlineSize(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: compar
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - key
    - base
    - nmemb
    - size
    argTypes:
    - void*
    - void*
    - size_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 302
    functionName: td_lfind
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - compar
    linkageType: ''
    returnType: void
    signature: "void *\ntd_lfind(const void *key, const void *base, size_t *nmemb,
      size_t size,\n         int(*compar)(const void *, const void *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 308
    functionName: _TIFFGetFields
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFFieldArray
    signature: 'TIFFFieldArray *

      _TIFFGetFields(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 314
    functionName: _TIFFGetExifFields
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFFieldArray
    signature: 'TIFFFieldArray *

      _TIFFGetExifFields(void)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:325,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:326,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:327,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:331,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:335,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - tif
    - fieldarray
    argTypes:
    - TIFF*
    - TIFFFieldArray*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 339
    functionName: _TIFFSetupFields
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached:
    - TIFFErrorExt
    - strncmp
    - _TIFFfree
    - _TIFFMergeFields
    linkageType: ''
    returnType: void
    signature: void _TIFFSetupFields(TIFF* tif, const TIFFFieldArray* fieldarray)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 341
    functionDepth: 0
    functionLinenumber: 341
    functionLinenumberEnd: 352
    functionName: tagCompare
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int tagCompare(const void* a, const void* b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 366
    functionName: tagNameCompare
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int tagNameCompare(const void* a, const void* b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:380,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:385,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:389,1
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:397,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - info
    - n
    argTypes:
    - TIFF*
    - TIFFField[]
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 411
    functionName: _TIFFMergeFields
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 4
    functionsReached:
    - TIFFFindField
    - qsort
    - TIFFErrorExt
    - _TIFFCheckMalloc
    - _TIFFCheckRealloc
    linkageType: ''
    returnType: int
    signature: int _TIFFMergeFields(TIFF* tif, const TIFFField info[], uint32 n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:418,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - fd
    argTypes:
    - TIFF*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 432
    functionName: _TIFFPrintFieldInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void _TIFFPrintFieldInfo(TIFF* tif, FILE* fd)
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 1
    argNames:
    - type
    argTypes:
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 466
    functionName: TIFFDataWidth
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFDataWidth(TIFFDataType type)
  - BBCount: 18
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 1
    argNames:
    - type
    argTypes:
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 503
    functionName: _TIFFDataSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFDataSize(TIFFDataType type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - dt
    argTypes:
    - TIFF*
    - uint32
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 528
    functionName: TIFFFindField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 5
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      TIFFFindField(TIFF* tif, uint32 tag, TIFFDataType dt)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: streq
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:537,1
    - Dst: td_lfind
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:551,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - field_name
    - dt
    argTypes:
    - TIFF*
    - char*
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 555
    functionName: _TIFFFindFieldByName
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - td_lfind
    - streq
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      _TIFFFindFieldByName(TIFF* tif, const char *field_name, TIFFDataType dt)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:560,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 567
    functionName: TIFFFieldWithTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 4
    functionsReached:
    - TIFFFindField
    - TIFFErrorExt
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      TIFFFieldWithTag(TIFF* tif, uint32 tag)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFindFieldByName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:573,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - field_name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 569
    functionDepth: 2
    functionLinenumber: 569
    functionLinenumberEnd: 579
    functionName: TIFFFieldWithName
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFFindFieldByName
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      TIFFFieldWithName(TIFF* tif, const char *field_name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 585
    functionName: TIFFFieldTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFFieldTag(const TIFFField* fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 591
    functionName: TIFFFieldName
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TIFFFieldName(const TIFFField* fip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: TIFFFieldDataType
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFDataType
    signature: TIFFDataType TIFFFieldDataType(const TIFFField* fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: TIFFFieldPassCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldPassCount(const TIFFField* fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 605
    functionDepth: 0
    functionLinenumber: 605
    functionLinenumberEnd: 609
    functionName: TIFFFieldReadCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldReadCount(const TIFFField* fip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fip
    argTypes:
    - TIFFField*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: TIFFFieldWriteCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFieldWriteCount(const TIFFField* fip)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:623,1
    - Dst: _TIFFCreateAnonField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:625,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - tag
    - dt
    argTypes:
    - TIFF*
    - uint32
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: _TIFFFindOrRegisterField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - TIFFFindField
    - _TIFFMergeFields
    - _TIFFCreateAnonField
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      _TIFFFindOrRegisterField(TIFF *tif, uint32 tag, TIFFDataType dt)'
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:639,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:642,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:711,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:713,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:722,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 80
    argCount: 3
    argNames:
    - tif
    - tag
    - field_type
    argTypes:
    - TIFF*
    - uint32
    - TIFFDataType
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 633
    functionDepth: 0
    functionLinenumber: 633
    functionLinenumberEnd: 725
    functionName: _TIFFCreateAnonField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 1
    functionsReached:
    - snprintf
    - _TIFFfree
    - _TIFFmalloc
    - _TIFFmemset
    linkageType: ''
    returnType: TIFFField
    signature: 'TIFFField *

      _TIFFCreateAnonField(TIFF *tif, uint32 tag, TIFFDataType field_type)'
  - BBCount: 74
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 140
    argCount: 3
    argNames:
    - type
    - count
    - passcount
    argTypes:
    - TIFFDataType
    - short
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 885
    functionName: _TIFFSetGetType
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFFSetGetFieldType
    signature: TIFFSetGetFieldType _TIFFSetGetType(TIFFDataType type, short count,
      unsigned char passcount)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:898,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:903,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:907,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:917,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:920,1
    - Dst: _TIFFSetGetType
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:933,1
    - Dst: _TIFFSetGetType
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:937,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:948,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c:949,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 3
    argNames:
    - tif
    - info
    - n
    argTypes:
    - TIFF*
    - TIFFFieldInfo[]
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 887
    functionDepth: 2
    functionLinenumber: 887
    functionLinenumberEnd: 955
    functionName: TIFFMergeFieldInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached:
    - _TIFFSetGetType
    - TIFFErrorExt
    - _TIFFCheckRealloc
    - _TIFFCheckMalloc
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFMergeFieldInfo(TIFF* tif, const TIFFFieldInfo info[], uint32
      n)
  - BBCount: 59
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - ttag_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 1071
    functionName: _TIFFCheckFieldIsValidForCodec
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirinfo.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFCheckFieldIsValidForCodec(TIFF *tif, ttag_t tag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandler
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 38
    functionName: TIFFSetErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandler
    signature: TIFFErrorHandler TIFFSetErrorHandler(TIFFErrorHandler handler)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handler
    argTypes:
    - TIFFErrorHandlerExt
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: TIFFSetErrorHandlerExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFErrorHandlerExt
    signature: TIFFErrorHandlerExt TIFFSetErrorHandlerExt(TIFFErrorHandlerExt handler)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:53,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:55,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:58,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:60,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - module
    - fmt
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 62
    functionName: TIFFError
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c
    functionUses: 131
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void TIFFError(const char* module, const char* fmt, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:69,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:71,1
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:74,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - fd
    - module
    - fmt
    argTypes:
    - thandle_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 78
    functionName: TIFFErrorExt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_error.c
    functionUses: 100
    functionsReached:
    - va_start
    - va_end
    linkageType: ''
    returnType: void
    signature: void TIFFErrorExt(thandle_t fd, const char* module, const char* fmt,
      ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: SAFE_MSG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SAFE_MSG(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    functionName: ZState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: ZIPFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZIPFixupTags(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:98,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:100,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:104,1
    - Dst: inflateInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:112,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:113,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:113,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 99
        line_start: 99
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 119
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 119
    functionName: ZIPSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExt
    - assert
    - deflateEnd
    - SAFE_MSG
    - inflateInit
    linkageType: ''
    returnType: int
    signature: int ZIPSetupDecode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:127,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:130,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:133,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:136,1
    - Dst: inflateReset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sizeof(sp->stream.avail_in)==4)
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sp != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: ZIPPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - inflateReset
    - assert
    - TIFF*::tif_setupdecode
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int ZIPPreDecode(TIFF* tif, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:148,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:151,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:152,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:157,1
    - Dst: inflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:167,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:173,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:175,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:179,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:180,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:185,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_out)==4)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sp->state == ZSTATE_INIT_DECODE)
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 194
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 194
    functionName: ZIPDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExt
    - assert
    - inflate
    - SAFE_MSG
    linkageType: ''
    returnType: int
    signature: int ZIPDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:200,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:202,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:204,1
    - Dst: deflateInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:208,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:209,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 215
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 215
    functionName: ZIPSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - deflateInit
    - EncoderState
    - SAFE_MSG
    - inflateEnd
    linkageType: ''
    returnType: int
    signature: int ZIPSetupEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:223,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:226,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:228,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:231,1
    - Dst: deflateReset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 225
        line_start: 225
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_out)==4)
      pos:
        line_end: 230
        line_start: 230
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 237
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 237
    functionName: ZIPPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - deflateReset
    - assert
    - EncoderState
    - TIFF*::tif_setupencode
    linkageType: ''
    returnType: int
    signature: int ZIPPreEncode(TIFF* tif, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:246,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:248,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:249,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:253,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:260,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:261,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:263,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 247
        line_start: 247
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sp->state == ZSTATE_INIT_ENCODE)
      pos:
        line_end: 248
        line_start: 248
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    - condition: (sizeof(sp->stream.avail_in)==4)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 275
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 275
    functionName: ZIPEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - EncoderState
    - deflate
    - TIFFFlushData1
    - SAFE_MSG
    linkageType: ''
    returnType: int
    signature: int ZIPEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:285,1
    - Dst: deflate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:290,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:297,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:303,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:304,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 281
    functionDepth: 3
    functionLinenumber: 281
    functionLinenumberEnd: 309
    functionName: ZIPPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - EncoderState
    - TIFFFlushData1
    - deflate
    - SAFE_MSG
    linkageType: ''
    returnType: int
    signature: int ZIPPostEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:314,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:316,1
    - Dst: TIFFPredictorCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:318,1
    - Dst: deflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:324,1
    - Dst: inflateEnd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:327,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:330,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 315
        line_start: 315
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 2
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: ZIPCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - TIFFPredictorCleanup
    - ZState
    - assert
    - deflateEnd
    - _TIFFSetDefaultCompressionState
    - _TIFFfree
    - inflateEnd
    linkageType: ''
    returnType: void
    signature: void ZIPCleanup(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ZState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:340,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:344,1
    - Dst: deflateParams
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:346,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:348,1
    - Dst: SAFE_MSG
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: ZIPVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - va_arg
    - ZState
    - TIFFErrorExt
    - deflateParams
    - SAFE_MSG
    linkageType: ''
    returnType: int
    signature: int ZIPVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ZState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:363,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:367,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 373
    functionName: ZIPVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZState
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ZIPVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:385,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:391,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:391,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:392,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:400,1
    - Dst: ZState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:403,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:440,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c:443,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: "( (scheme == COMPRESSION_DEFLATE)\n\t\t|| (scheme == COMPRESSION_ADOBE_DEFLATE))"
      pos:
        line_end: 385
        line_start: 384
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    constantsTouched: []
    func_position:
      end: 446
      start: 379
    functionDepth: 2
    functionLinenumber: 379
    functionLinenumberEnd: 446
    functionName: TIFFInitZIP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zip.c
    functionUses: 0
    functionsReached:
    - ZState
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - TIFFPredictorInit
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitZIP(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 200
    functionName: TIFFReadUInt64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFReadUInt64(const uint8 *value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:211,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:216,1
    - Dst: TIFFReadDirEntryCheckRangeByteSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:217,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:226,1
    - Dst: TIFFReadDirEntryCheckRangeByteShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:227,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:236,1
    - Dst: TIFFReadDirEntryCheckRangeByteSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:237,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:246,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:247,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:256,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:257,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:266,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:269,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:278,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 290
    functionName: TIFFReadDirEntryByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckRangeByteSlong8
    - TIFFReadDirEntryCheckRangeByteLong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckRangeByteShort
    - TIFFReadDirEntryCheckRangeByteSshort
    - TIFFReadDirEntryCheckRangeByteSlong
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeByteSbyte
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeByteLong
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryByte(TIFF* tif, TIFFDirEntry*
      direntry, uint8* value)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:302,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:309,1
    - Dst: TIFFReadDirEntryCheckRangeShortSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:310,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:317,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:322,1
    - Dst: TIFFReadDirEntryCheckRangeShortSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:323,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:332,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:333,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:342,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:343,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:352,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:355,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:364,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:367,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 67
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 292
    functionDepth: 1
    functionLinenumber: 292
    functionLinenumberEnd: 376
    functionName: TIFFReadDirEntryShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckRangeShortLong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckRangeShortSbyte
    - TIFFReadDirEntryCheckRangeShortSlong
    - TIFFReadDirEntryCheckRangeShortSshort
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeShortLong
    - TIFFReadDirEntryCheckRangeShortSlong8
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryShort(TIFF* tif, TIFFDirEntry*
      direntry, uint16* value)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:388,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:395,1
    - Dst: TIFFReadDirEntryCheckRangeLongSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:396,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:405,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:412,1
    - Dst: TIFFReadDirEntryCheckRangeLongSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:413,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:420,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:425,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:426,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:435,1
    - Dst: TIFFReadDirEntryCheckRangeLongLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:438,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:447,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:450,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 459
    functionName: TIFFReadDirEntryLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckRangeLongSshort
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckRangeLongLong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeLongSlong8
    - TIFFReadDirEntryCheckRangeLongSbyte
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckRangeLongSlong
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong(TIFF* tif, TIFFDirEntry*
      direntry, uint32* value)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:471,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:478,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:479,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:488,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:495,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:496,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:505,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:512,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:513,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:520,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:525,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 59
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 537
    functionName: TIFFReadDirEntryLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckRangeLong8Slong8
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckRangeLong8Sshort
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckRangeLong8Slong
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedShort
    - TIFFReadDirEntryCheckRangeLong8Sbyte
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong8(TIFF* tif, TIFFDirEntry*
      direntry, uint64* value)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:549,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:556,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:563,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:570,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:577,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:584,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:591,1
    - Dst: _TIFFUInt64ToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:600,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:609,1
    - Dst: TIFFReadDirEntryCheckedRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:618,1
    - Dst: TIFFReadDirEntryCheckedSrational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:627,1
    - Dst: TIFFReadDirEntryCheckedFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:634,1
    - Dst: TIFFReadDirEntryCheckedDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:639,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 78
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 650
    functionName: TIFFReadDirEntryFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedSrational
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedFloat
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedDouble
    - TIFFReadDirEntryCheckedRational
    - _TIFFUInt64ToFloat
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryFloat(TIFF* tif, TIFFDirEntry*
      direntry, float* value)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:662,1
    - Dst: TIFFReadDirEntryCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:669,1
    - Dst: TIFFReadDirEntryCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:676,1
    - Dst: TIFFReadDirEntryCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:683,1
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:690,1
    - Dst: TIFFReadDirEntryCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:697,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:704,1
    - Dst: _TIFFUInt64ToDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:713,1
    - Dst: TIFFReadDirEntryCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:722,1
    - Dst: TIFFReadDirEntryCheckedRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:729,1
    - Dst: TIFFReadDirEntryCheckedSrational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:732,1
    - Dst: TIFFReadDirEntryCheckedFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:737,1
    - Dst: TIFFReadDirEntryCheckedDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 66
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 747
    functionName: TIFFReadDirEntryDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedByte
    - _TIFFUInt64ToDouble
    - TIFFReadDirEntryCheckedSbyte
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedSrational
    - TIFFReadDirEntryCheckedLong8
    - TIFFReadDirEntryCheckedFloat
    - TIFFReadDirEntryCheckedSlong
    - TIFFReadDirEntryCheckedSlong8
    - TIFFReadDirEntryCheckedDouble
    - TIFFReadDirEntryCheckedRational
    - TIFFReadDirEntryCheckedSshort
    - TIFFReadDirEntryCheckedShort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryDouble(TIFF* tif, TIFFDirEntry*
      direntry, double* value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:760,1
    - Dst: TIFFReadDirEntryCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 771
    functionName: TIFFReadDirEntryIfd8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckedLong
    - TIFFReadDirEntryCheckedLong8
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryIfd8(TIFF* tif, TIFFDirEntry*
      direntry, uint64* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:786,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:786,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:788,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:810,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:814,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:823,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - tif
    - offset
    - size
    - pdest
    argTypes:
    - TIFF*
    - uint64
    - tmsize_t
    - void**
    assertStmts:
    - condition: ( !isMapped(tif) )
      pos:
        line_end: 785
        line_start: 785
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 831
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 831
    functionName: TIFFReadDirEntryDataAndRealloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - SeekOK
    - _TIFFrealloc
    - TIFFErrorExt
    - assert
    - TIFFReadFile
    - isMapped
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryDataAndRealloc(\n                    TIFF*
      tif, uint64 offset, tmsize_t size, void** pdest)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:841,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:865,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:867,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:870,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:878,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:885,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:891,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:892,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:893,1
    - Dst: TIFFReadDirEntryDataAndRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:895,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:898,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:906,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:912,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:913,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:914,1
    - Dst: TIFFReadDirEntryDataAndRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:916,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:919,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 53
    argCount: 6
    argNames:
    - tif
    - direntry
    - count
    - desttypesize
    - value
    - maxcount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32*
    - uint32
    - void**
    - uint64
    assertStmts:
    - condition: ((tmsize_t)datasize>0)
      pos:
        line_end: 864
        line_start: 864
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 926
      start: 833
    functionDepth: 2
    functionLinenumber: 833
    functionLinenumberEnd: 926
    functionName: TIFFReadDirEntryArrayWithLimit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryData
    - _TIFFfree
    - TIFFReadDirEntryDataAndRealloc
    - TIFFSwabLong
    - TIFFSwabLong8
    - assert
    - _TIFFCheckMalloc
    - _TIFFmemcpy
    - TIFFDataWidth
    - isMapped
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryArrayWithLimit(\n    TIFF*
      tif, TIFFDirEntry* direntry, uint32* count, uint32 desttypesize,\n    void**
      value, uint64 maxcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArrayWithLimit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - direntry
    - count
    - desttypesize
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32*
    - uint32
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 928
    functionDepth: 3
    functionLinenumber: 928
    functionLinenumberEnd: 932
    functionName: TIFFReadDirEntryArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryArrayWithLimit
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryArray(TIFF* tif, TIFFDirEntry*
      direntry, uint32* count, uint32 desttypesize, void** value)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:956,1
    - Dst: TIFFReadDirEntryCheckRangeByteSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:976,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:979,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:988,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:991,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1006,1
    - Dst: TIFFReadDirEntryCheckRangeByteShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1007,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1024,1
    - Dst: TIFFReadDirEntryCheckRangeByteSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1025,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1042,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1043,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1060,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1061,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1078,1
    - Dst: TIFFReadDirEntryCheckRangeByteLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1079,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1096,1
    - Dst: TIFFReadDirEntryCheckRangeByteSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1097,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1105,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1108,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 133
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 934
    functionDepth: 4
    functionLinenumber: 934
    functionLinenumberEnd: 1113
    functionName: TIFFReadDirEntryByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeByteSlong8
    - TIFFReadDirEntryCheckRangeByteLong8
    - TIFFReadDirEntryCheckRangeByteShort
    - TIFFReadDirEntryCheckRangeByteSshort
    - TIFFReadDirEntryCheckRangeByteSlong
    - TIFFSwabLong
    - TIFFReadDirEntryCheckRangeByteSbyte
    - TIFFSwabLong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeByteLong
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryByteArray(TIFF* tif, TIFFDirEntry*
      direntry, uint8** value)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1136,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1152,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1155,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1167,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1170,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1185,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1186,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1203,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1204,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1221,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1222,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1239,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1240,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1257,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1258,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1275,1
    - Dst: TIFFReadDirEntryCheckRangeSbyteSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1276,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1284,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1287,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 131
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int8**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1292
      start: 1115
    functionDepth: 4
    functionLinenumber: 1115
    functionLinenumberEnd: 1292
    functionName: TIFFReadDirEntrySbyteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeSbyteShort
    - TIFFReadDirEntryCheckRangeSbyteLong
    - TIFFReadDirEntryCheckRangeSbyteSlong
    - TIFFSwabLong
    - TIFFSwabLong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeSbyteLong8
    - TIFFReadDirEntryCheckRangeSbyteSlong8
    - TIFFReadDirEntryArray
    - _TIFFfree
    - TIFFReadDirEntryCheckRangeSbyteByte
    - TIFFReadDirEntryCheckRangeSbyteSshort
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySbyteArray(TIFF* tif, TIFFDirEntry*
      direntry, int8** value)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1314,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1325,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1335,1
    - Dst: TIFFReadDirEntryCheckRangeShortSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1336,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1339,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1348,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1351,1
    - Dst: TIFFReadDirEntryCheckRangeShortSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1376,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1393,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1394,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1411,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1412,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1429,1
    - Dst: TIFFReadDirEntryCheckRangeShortLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1430,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1447,1
    - Dst: TIFFReadDirEntryCheckRangeShortSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1448,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1456,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1459,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 125
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1464
      start: 1294
    functionDepth: 4
    functionLinenumber: 1294
    functionLinenumberEnd: 1464
    functionName: TIFFReadDirEntryShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - TIFFReadDirEntryCheckRangeShortLong8
    - TIFFReadDirEntryCheckRangeShortSbyte
    - TIFFReadDirEntryCheckRangeShortSlong
    - TIFFReadDirEntryCheckRangeShortSshort
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFReadDirEntryCheckRangeShortSlong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeShortLong
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryShortArray(TIFF* tif, TIFFDirEntry*
      direntry, uint16** value)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1486,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1502,1
    - Dst: TIFFReadDirEntryCheckRangeSshortShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1503,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1506,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1517,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1520,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1523,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1560,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1561,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1578,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1579,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1596,1
    - Dst: TIFFReadDirEntryCheckRangeSshortLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1597,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1614,1
    - Dst: TIFFReadDirEntryCheckRangeSshortSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1615,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1623,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1626,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 121
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int16**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1631
      start: 1466
    functionDepth: 4
    functionLinenumber: 1466
    functionLinenumberEnd: 1631
    functionName: TIFFReadDirEntrySshortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - TIFFReadDirEntryCheckRangeSshortShort
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFReadDirEntryCheckRangeSshortSlong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeSshortSlong
    - TIFFReadDirEntryArray
    - _TIFFfree
    - TIFFReadDirEntryCheckRangeSshortLong8
    - TIFFReadDirEntryCheckRangeSshortLong
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySshortArray(TIFF* tif, TIFFDirEntry*
      direntry, int16** value)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1653,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1664,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1674,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1675,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1678,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1687,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1690,1
    - Dst: TIFFReadDirEntryCheckRangeLongSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1715,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1732,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1747,1
    - Dst: TIFFReadDirEntryCheckRangeLongSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1748,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1765,1
    - Dst: TIFFReadDirEntryCheckRangeLongLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1766,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1783,1
    - Dst: TIFFReadDirEntryCheckRangeLongSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1784,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1792,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1795,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 122
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1633
    functionDepth: 4
    functionLinenumber: 1633
    functionLinenumberEnd: 1800
    functionName: TIFFReadDirEntryLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeLongSshort
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFSwabArrayOfLong
    - TIFFReadDirEntryCheckRangeLongLong8
    - TIFFReadDirEntryCheckRangeLongSlong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeLongSbyte
    - TIFFReadDirEntryArray
    - TIFFReadDirEntryCheckRangeLongSlong
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLongArray(TIFF* tif, TIFFDirEntry*
      direntry, uint32** value)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1822,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1838,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1839,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1842,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1853,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1856,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1859,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1896,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1911,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1926,1
    - Dst: TIFFReadDirEntryCheckRangeSlongLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1927,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1944,1
    - Dst: TIFFReadDirEntryCheckRangeSlongSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1945,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1953,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1956,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 115
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1961
      start: 1802
    functionDepth: 4
    functionLinenumber: 1802
    functionLinenumberEnd: 1961
    functionName: TIFFReadDirEntrySlongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFReadDirEntryCheckRangeSlongLong8
    - TIFFReadDirEntryCheckRangeSlongSlong8
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryArray
    - _TIFFfree
    - TIFFReadDirEntryCheckRangeSlongLong
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlongArray(TIFF* tif, TIFFDirEntry*
      direntry, int32** value)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArrayWithLimit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1984,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:1995,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2005,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2006,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2009,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2018,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2021,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2046,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2063,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2078,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Sshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2079,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2096,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2111,1
    - Dst: TIFFReadDirEntryCheckRangeLong8Slong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2112,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2120,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2123,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 119
    argCount: 4
    argNames:
    - tif
    - direntry
    - value
    - maxcount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64**
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2128
      start: 1963
    functionDepth: 3
    functionLinenumber: 1963
    functionLinenumberEnd: 2128
    functionName: TIFFReadDirEntryLong8ArrayWithLimit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeLong8Slong8
    - TIFFSwabLong
    - TIFFSwabArrayOfLong8
    - TIFFReadDirEntryCheckRangeLong8Sshort
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryCheckRangeLong8Slong
    - TIFFSwabLong8
    - _TIFFfree
    - TIFFReadDirEntryCheckRangeLong8Sbyte
    - TIFFReadDirEntryArrayWithLimit
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: "enum TIFFReadDirEntryErr TIFFReadDirEntryLong8ArrayWithLimit(\n        TIFF*
      tif, TIFFDirEntry* direntry, uint64** value, uint64 maxcount)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryLong8ArrayWithLimit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2130
    functionDepth: 4
    functionLinenumber: 2130
    functionLinenumberEnd: 2133
    functionName: TIFFReadDirEntryLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryLong8ArrayWithLimit
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryLong8Array(TIFF* tif, TIFFDirEntry*
      direntry, uint64** value)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2155,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2171,1
    - Dst: TIFFReadDirEntryCheckRangeSlong8Long8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2172,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2175,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2186,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2189,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2192,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2229,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2244,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2259,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2274,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2280,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 105
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int64**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2283
      start: 2135
    functionDepth: 4
    functionLinenumber: 2135
    functionLinenumberEnd: 2283
    functionName: TIFFReadDirEntrySlong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryCheckRangeSlong8Long8
    - TIFFSwabLong8
    - TIFFSwabLong
    - TIFFSwabArrayOfLong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntrySlong8Array(TIFF* tif, TIFFDirEntry*
      direntry, int64** value)
  - BBCount: 44
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2309,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2319,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2320,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2324,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2327,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2364,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2379,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2394,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2409,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2424,1
    - Dst: _TIFFUInt64ToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2431,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2448,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2465,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2468,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2489,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2493,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2508,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2509,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2524,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 164
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2285
    functionDepth: 4
    functionLinenumber: 2285
    functionLinenumberEnd: 2527
    functionName: TIFFReadDirEntryFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFCvtIEEEDoubleToNative
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfLong8
    - _TIFFmalloc
    - TIFFSwabShort
    - _TIFFUInt64ToFloat
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryFloatArray(TIFF* tif, TIFFDirEntry*
      direntry, float** value)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2554,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2564,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2565,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2569,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2572,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2609,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2624,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2639,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2654,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2669,1
    - Dst: _TIFFUInt64ToDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2676,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2693,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2710,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2713,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2734,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2738,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2753,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2754,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2762,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 159
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2765
      start: 2529
    functionDepth: 4
    functionLinenumber: 2529
    functionLinenumberEnd: 2765
    functionName: TIFFReadDirEntryDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFUInt64ToDouble
    - TIFFCvtIEEEDoubleToNative
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFCvtIEEEFloatToNative
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfLong8
    - _TIFFmalloc
    - TIFFSwabShort
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryDoubleArray(TIFF* tif, TIFFDirEntry*
      direntry, double** value)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2783,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2795,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2798,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2801,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2817,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2823,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2826
      start: 2767
    functionDepth: 4
    functionLinenumber: 2767
    functionLinenumberEnd: 2826
    functionName: TIFFReadDirEntryIfd8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabLong
    - TIFFSwabArrayOfLong8
    - _TIFFmalloc
    - TIFFReadDirEntryArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryIfd8Array(TIFF* tif, TIFFDirEntry*
      direntry, uint64** value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2836,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2852,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2854
      start: 2828
    functionDepth: 5
    functionLinenumber: 2828
    functionLinenumberEnd: 2854
    functionName: TIFFReadDirEntryPersampleShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryShortArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryPersampleShort(TIFF* tif,
      TIFFDirEntry* direntry, uint16* value)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2865,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2881,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2883
      start: 2857
    functionDepth: 5
    functionLinenumber: 2857
    functionLinenumberEnd: 2883
    functionName: TIFFReadDirEntryPersampleDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFReadDirEntryDoubleArray
    - _TIFFfree
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryPersampleDouble(TIFF* tif,
      TIFFDirEntry* direntry, double* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2886
    functionDepth: 0
    functionLinenumber: 2886
    functionLinenumberEnd: 2890
    functionName: TIFFReadDirEntryCheckedByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedByte(TIFF* tif, TIFFDirEntry* direntry,
      uint8* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2896
      start: 2892
    functionDepth: 0
    functionLinenumber: 2892
    functionLinenumberEnd: 2896
    functionName: TIFFReadDirEntryCheckedSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedSbyte(TIFF* tif, TIFFDirEntry* direntry,
      int8* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2903,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2904
      start: 2898
    functionDepth: 2
    functionLinenumber: 2898
    functionLinenumberEnd: 2904
    functionName: TIFFReadDirEntryCheckedShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - TIFFSwabShort
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedShort(TIFF* tif, TIFFDirEntry* direntry,
      uint16* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2910,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2911
      start: 2906
    functionDepth: 2
    functionLinenumber: 2906
    functionLinenumberEnd: 2911
    functionName: TIFFReadDirEntryCheckedSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - TIFFSwabShort
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedSshort(TIFF* tif, TIFFDirEntry* direntry,
      int16* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2918
      start: 2913
    functionDepth: 2
    functionLinenumber: 2913
    functionLinenumberEnd: 2918
    functionName: TIFFReadDirEntryCheckedLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 7
    functionsReached:
    - TIFFSwabLong
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedLong(TIFF* tif, TIFFDirEntry* direntry,
      uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2924,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2925
      start: 2920
    functionDepth: 2
    functionLinenumber: 2920
    functionLinenumberEnd: 2925
    functionName: TIFFReadDirEntryCheckedSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - TIFFSwabLong
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedSlong(TIFF* tif, TIFFDirEntry* direntry,
      int32* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2934,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2935,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2942,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2944
      start: 2927
    functionDepth: 2
    functionLinenumber: 2927
    functionLinenumberEnd: 2944
    functionName: TIFFReadDirEntryCheckedLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 7
    functionsReached:
    - TIFFSwabLong8
    - TIFFReadDirEntryData
    - TIFFSwabLong
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedLong8(TIFF* tif, TIFFDirEntry*
      direntry, uint64* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2953,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2954,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2961,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2963
      start: 2946
    functionDepth: 2
    functionLinenumber: 2946
    functionLinenumberEnd: 2963
    functionName: TIFFReadDirEntryCheckedSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - TIFFSwabLong8
    - TIFFReadDirEntryData
    - TIFFSwabLong
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedSlong8(TIFF* tif, TIFFDirEntry*
      direntry, int64* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2969,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2970,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2971,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2977,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2978,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2985,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 2968
        line_start: 2968
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 2969
        line_start: 2969
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2970
        line_start: 2970
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 2994
      start: 2965
    functionDepth: 2
    functionLinenumber: 2965
    functionLinenumberEnd: 2994
    functionName: TIFFReadDirEntryCheckedRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFReadDirEntryData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedRational(TIFF* tif,
      TIFFDirEntry* direntry, double* value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:2999,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3000,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3001,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3002,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3008,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3009,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3016,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 2998
        line_start: 2998
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(int32)==4)
      pos:
        line_end: 3000
        line_start: 3000
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 3001
        line_start: 3001
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 2999
        line_start: 2999
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3025
      start: 2996
    functionDepth: 2
    functionLinenumber: 2996
    functionLinenumberEnd: 3025
    functionName: TIFFReadDirEntryCheckedSrational
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFReadDirEntryData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedSrational(TIFF* tif,
      TIFFDirEntry* direntry, double* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3034,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3035,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3036,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3040,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts:
    - condition: (sizeof(float)==4)
      pos:
        line_end: 3033
        line_start: 3033
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 3034
        line_start: 3034
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(float_union)==4)
      pos:
        line_end: 3035
        line_start: 3035
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3041
      start: 3027
    functionDepth: 2
    functionLinenumber: 3027
    functionLinenumberEnd: 3041
    functionName: TIFFReadDirEntryCheckedFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryCheckedFloat(TIFF* tif, TIFFDirEntry* direntry,
      float* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3045,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3046,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3047,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3053,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3054,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3065,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - direntry
    - value
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 3044
        line_start: 3044
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(UInt64Aligned_t)==8)
      pos:
        line_end: 3046
        line_start: 3046
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 3045
        line_start: 3045
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3067
      start: 3043
    functionDepth: 2
    functionLinenumber: 3043
    functionLinenumberEnd: 3067
    functionName: TIFFReadDirEntryCheckedDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFSwabLong8
    - TIFFReadDirEntryData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckedDouble(TIFF* tif, TIFFDirEntry*
      direntry, double* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3075
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3075
    functionName: TIFFReadDirEntryCheckRangeByteSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSbyte(int8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3077
    functionDepth: 0
    functionLinenumber: 3077
    functionLinenumberEnd: 3083
    functionName: TIFFReadDirEntryCheckRangeByteShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteShort(uint16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3091
      start: 3085
    functionDepth: 0
    functionLinenumber: 3085
    functionLinenumberEnd: 3091
    functionName: TIFFReadDirEntryCheckRangeByteSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSshort(int16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3099
      start: 3093
    functionDepth: 0
    functionLinenumber: 3093
    functionLinenumberEnd: 3099
    functionName: TIFFReadDirEntryCheckRangeByteLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteLong(uint32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3107
      start: 3101
    functionDepth: 0
    functionLinenumber: 3101
    functionLinenumberEnd: 3107
    functionName: TIFFReadDirEntryCheckRangeByteSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSlong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3115
      start: 3109
    functionDepth: 0
    functionLinenumber: 3109
    functionLinenumberEnd: 3115
    functionName: TIFFReadDirEntryCheckRangeByteLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3123
      start: 3117
    functionDepth: 0
    functionLinenumber: 3117
    functionLinenumberEnd: 3123
    functionName: TIFFReadDirEntryCheckRangeByteSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeByteSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3131
      start: 3125
    functionDepth: 0
    functionLinenumber: 3125
    functionLinenumberEnd: 3131
    functionName: TIFFReadDirEntryCheckRangeSbyteByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteByte(uint8
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3139
      start: 3133
    functionDepth: 0
    functionLinenumber: 3133
    functionLinenumberEnd: 3139
    functionName: TIFFReadDirEntryCheckRangeSbyteShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteShort(uint16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3141
    functionDepth: 0
    functionLinenumber: 3141
    functionLinenumberEnd: 3147
    functionName: TIFFReadDirEntryCheckRangeSbyteSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSshort(int16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 3149
    functionDepth: 0
    functionLinenumber: 3149
    functionLinenumberEnd: 3155
    functionName: TIFFReadDirEntryCheckRangeSbyteLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteLong(uint32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3163
      start: 3157
    functionDepth: 0
    functionLinenumber: 3157
    functionLinenumberEnd: 3163
    functionName: TIFFReadDirEntryCheckRangeSbyteSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSlong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3171
      start: 3165
    functionDepth: 0
    functionLinenumber: 3165
    functionLinenumberEnd: 3171
    functionName: TIFFReadDirEntryCheckRangeSbyteLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3179
      start: 3173
    functionDepth: 0
    functionLinenumber: 3173
    functionLinenumberEnd: 3179
    functionName: TIFFReadDirEntryCheckRangeSbyteSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSbyteSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3181
    functionDepth: 0
    functionLinenumber: 3181
    functionLinenumberEnd: 3187
    functionName: TIFFReadDirEntryCheckRangeShortSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSbyte(int8
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3195
      start: 3189
    functionDepth: 0
    functionLinenumber: 3189
    functionLinenumberEnd: 3195
    functionName: TIFFReadDirEntryCheckRangeShortSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSshort(int16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3203
      start: 3197
    functionDepth: 0
    functionLinenumber: 3197
    functionLinenumberEnd: 3203
    functionName: TIFFReadDirEntryCheckRangeShortLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortLong(uint32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3211
      start: 3205
    functionDepth: 0
    functionLinenumber: 3205
    functionLinenumberEnd: 3211
    functionName: TIFFReadDirEntryCheckRangeShortSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSlong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3219
      start: 3213
    functionDepth: 0
    functionLinenumber: 3213
    functionLinenumberEnd: 3219
    functionName: TIFFReadDirEntryCheckRangeShortLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3227
      start: 3221
    functionDepth: 0
    functionLinenumber: 3221
    functionLinenumberEnd: 3227
    functionName: TIFFReadDirEntryCheckRangeShortSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeShortSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3235
      start: 3229
    functionDepth: 0
    functionLinenumber: 3229
    functionLinenumberEnd: 3235
    functionName: TIFFReadDirEntryCheckRangeSshortShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortShort(uint16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3243
      start: 3237
    functionDepth: 0
    functionLinenumber: 3237
    functionLinenumberEnd: 3243
    functionName: TIFFReadDirEntryCheckRangeSshortLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortLong(uint32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3245
    functionDepth: 0
    functionLinenumber: 3245
    functionLinenumberEnd: 3251
    functionName: TIFFReadDirEntryCheckRangeSshortSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortSlong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3259
      start: 3253
    functionDepth: 0
    functionLinenumber: 3253
    functionLinenumberEnd: 3259
    functionName: TIFFReadDirEntryCheckRangeSshortLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3267
      start: 3261
    functionDepth: 0
    functionLinenumber: 3261
    functionLinenumberEnd: 3267
    functionName: TIFFReadDirEntryCheckRangeSshortSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSshortSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3275
      start: 3269
    functionDepth: 0
    functionLinenumber: 3269
    functionLinenumberEnd: 3275
    functionName: TIFFReadDirEntryCheckRangeLongSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSbyte(int8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3283
      start: 3277
    functionDepth: 0
    functionLinenumber: 3277
    functionLinenumberEnd: 3283
    functionName: TIFFReadDirEntryCheckRangeLongSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSshort(int16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3291
      start: 3285
    functionDepth: 0
    functionLinenumber: 3285
    functionLinenumberEnd: 3291
    functionName: TIFFReadDirEntryCheckRangeLongSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSlong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3300
      start: 3293
    functionDepth: 0
    functionLinenumber: 3293
    functionLinenumberEnd: 3300
    functionName: TIFFReadDirEntryCheckRangeLongLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3302
    functionDepth: 0
    functionLinenumber: 3302
    functionLinenumberEnd: 3309
    functionName: TIFFReadDirEntryCheckRangeLongSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLongSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 3311
    functionDepth: 0
    functionLinenumber: 3311
    functionLinenumberEnd: 3318
    functionName: TIFFReadDirEntryCheckRangeSlongLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongLong(uint32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3328
      start: 3321
    functionDepth: 0
    functionLinenumber: 3321
    functionLinenumberEnd: 3328
    functionName: TIFFReadDirEntryCheckRangeSlongLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongLong8(uint64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3338
      start: 3331
    functionDepth: 0
    functionLinenumber: 3331
    functionLinenumberEnd: 3338
    functionName: TIFFReadDirEntryCheckRangeSlongSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlongSlong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3340
    functionDepth: 0
    functionLinenumber: 3340
    functionLinenumberEnd: 3347
    functionName: TIFFReadDirEntryCheckRangeLong8Sbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Sbyte(int8
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3356
      start: 3349
    functionDepth: 0
    functionLinenumber: 3349
    functionLinenumberEnd: 3356
    functionName: TIFFReadDirEntryCheckRangeLong8Sshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Sshort(int16
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3365
    functionName: TIFFReadDirEntryCheckRangeLong8Slong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Slong(int32
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3374
      start: 3367
    functionDepth: 0
    functionLinenumber: 3367
    functionLinenumberEnd: 3374
    functionName: TIFFReadDirEntryCheckRangeLong8Slong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeLong8Slong8(int64
      value)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3376
    functionDepth: 0
    functionLinenumber: 3376
    functionLinenumberEnd: 3383
    functionName: TIFFReadDirEntryCheckRangeSlong8Long8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryCheckRangeSlong8Long8(uint64
      value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3388,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3389,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3390,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3392,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3405,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 4
    argNames:
    - tif
    - offset
    - size
    - dest
    argTypes:
    - TIFF*
    - uint64
    - tmsize_t
    - void*
    assertStmts:
    - condition: (size>0)
      pos:
        line_end: 3387
        line_start: 3387
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3408
      start: 3385
    functionDepth: 1
    functionLinenumber: 3385
    functionLinenumberEnd: 3408
    functionName: TIFFReadDirEntryData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 6
    functionsReached:
    - SeekOK
    - assert
    - ReadOK
    - _TIFFmemcpy
    - isMapped
    linkageType: ''
    returnType: enum TIFFReadDirEntryErr
    signature: enum TIFFReadDirEntryErr TIFFReadDirEntryData(TIFF* tif, uint64 offset,
      tmsize_t size, void* dest)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3415,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3420,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3425,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3430,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3435,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3440,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3445,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3450,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3456,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3461,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3466,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3471,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3476,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3481,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3486,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3491,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 56
    argCount: 5
    argNames:
    - tif
    - err
    - module
    - tagname
    - recover
    argTypes:
    - TIFF*
    - enum TIFFReadDirEntryErr
    - char*
    - char*
    - int
    assertStmts:
    - condition: (0)
      pos:
        line_end: 3449
        line_start: 3449
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (0)
      pos:
        line_end: 3490
        line_start: 3490
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 3495
      start: 3410
    functionDepth: 1
    functionLinenumber: 3410
    functionLinenumberEnd: 3495
    functionName: TIFFReadDirEntryOutputErr
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirEntryOutputErr(TIFF* tif, enum TIFFReadDirEntryErr
      err, const char* module, const char* tagname, int recover)
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 1
    argNames:
    - photometric
    argTypes:
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3524
      start: 3502
    functionDepth: 0
    functionLinenumber: 3502
    functionLinenumberEnd: 3524
    functionName: _TIFFGetMaxColorChannels
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _TIFFGetMaxColorChannels( uint16 photometric )
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3541,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3542,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3551,1
    - Dst: TIFFScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3556,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3526
    functionDepth: 2
    functionLinenumber: 3526
    functionLinenumberEnd: 3566
    functionName: ByteCountLooksBad
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize64
    - TIFFGetFileSize
    - TIFFGetStrileOffset
    - TIFFGetStrileByteCount
    linkageType: ''
    returnType: int
    signature: int ByteCountLooksBad(TIFF* tif)
  - BBCount: 119
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCheckDirOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3588,1
    - Dst: TIFFFetchDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3593,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3596,1
    - Dst: TIFFReadDirectoryCheckOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3600,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3627,1
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3628,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3635,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3653,1
    - Dst: TIFFFetchNormalTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3656,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3660,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3671,1
    - Dst: TIFFReadDirEntryPersampleShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3673,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3676,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3679,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3685,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3695,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3698,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3703,1
    - Dst: _TIFFCreateAnonField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3704,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3708,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3715,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3716,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3733,1
    - Dst: TIFFFetchNormalTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3744,1
    - Dst: _TIFFCheckFieldIsValidForCodec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3749,1
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3767,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3769,1
    - Dst: TIFFReadDirectoryFindEntry
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3772,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3777,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3786,1
    - Dst: MissingRequired
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3788,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3794,1
    - Dst: TIFFNumberOfStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3795,1
    - Dst: TIFFNumberOfTiles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3801,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3805,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3807,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3813,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3816,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3826,1
    - Dst: MissingRequired
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3830,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3831,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3861,1
    - Dst: TIFFReadDirEntryPersampleShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3863,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3866,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3867,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3870,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3887,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3890,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3891,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3896,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3898,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3905,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3910,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3928,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3929,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3939,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3940,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3960,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3963,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3964,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3968,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3969,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3978,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3987,1
    - Dst: TIFFFetchNormalTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:3993,1
    - Dst: TIFFSetupStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4010,1
    - Dst: TIFFFetchStripThing
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4016,1
    - Dst: TIFFFetchStripThing
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4025,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4052,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4054,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4056,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4062,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4066,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4068,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4070,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4073,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4077,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4080,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4085,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4088,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4098,1
    - Dst: _TIFFGetMaxColorChannels
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4108,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4113,1
    - Dst: _TIFFcalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4121,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4123,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4129,1
    - Dst: _TIFFsetShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4130,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4131,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4138,1
    - Dst: MissingRequired
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4144,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4158,1
    - Dst: MissingRequired
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4168,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4171,1
    - Dst: EstimateStripByteCounts
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4174,1
    - Dst: ByteCountLooksBad
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4179,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4186,1
    - Dst: EstimateStripByteCounts
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4188,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4195,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4195,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4196,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4197,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4208,1
    - Dst: EstimateStripByteCounts
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4210,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4216,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4219,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4238,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4239,1
    - Dst: ChopUpSingleUncompressedStrip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4266,1
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4275,1
    - Dst: TryChopUpUncompressedBigTiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4277,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4295,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4297,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4302,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4303,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4305,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4310,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4311,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4319,1
    CyclomaticComplexity: 172
    EdgeCount: 172
    ICount: 413
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (fii != FAILED_FII)
      pos:
        line_end: 3715
        line_start: 3715
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 4321
      start: 3573
    functionDepth: 6
    functionLinenumber: 3573
    functionLinenumberEnd: 4321
    functionName: TIFFReadDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 14
    functionsReached:
    - TIFFFreeDirectory
    - _TIFFCreateAnonField
    - TIFFCheckDirOffset
    - ChopUpSingleUncompressedStrip
    - TIFFReadDirEntryOutputErr
    - _TIFFGetMaxColorChannels
    - TIFFScanlineSize
    - TIFFReadDirEntryPersampleShort
    - TIFFReadDirectoryFindEntry
    - TIFFFieldSet
    - TryChopUpUncompressedBigTiff
    - ByteCountLooksBad
    - TIFFWarningExt
    - TIFFReadDirEntryDoubleArray
    - TIFFFetchDirectory
    - TIFFSetFieldBit
    - TIFFErrorExt
    - TIFFReadDirectoryCheckOrder
    - assert
    - TIFFNumberOfTiles
    - TIFFDefaultDirectory
    - TIFFReadDirEntryShort
    - TIFFFetchStripThing
    - isTiled
    - _TIFFFillStriles
    - _TIFFmemcpy
    - TIFFSetField
    - _TIFFsetShortArray
    - TIFFReadDirEntryShortArray
    - EstimateStripByteCounts
    - TIFFGetStrileOffset
    - MissingRequired
    - TIFFStripSize64
    - TIFFFetchNormalTag
    - TIFFGetStrileByteCount
    - _TIFFcalloc
    - TIFFReadDirectoryFindFieldInfo
    - TIFFStripSize
    - _TIFFMergeFields
    - TIFFFieldWithTag
    - TIFFSetupStrips
    - memcpy
    - _TIFFCheckFieldIsValidForCodec
    - _TIFFfree
    - TIFFNumberOfStrips
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int TIFFReadDirectory(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4335,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4341
      start: 4323
    functionDepth: 1
    functionLinenumber: 4323
    functionLinenumberEnd: 4341
    functionName: TIFFReadDirectoryCheckOrder
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirectoryCheckOrder(TIFF* tif, TIFFDirEntry* dir, uint16
      dircount)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - tif
    - dir
    - dircount
    - tagid
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4355
      start: 4343
    functionDepth: 0
    functionLinenumber: 4343
    functionLinenumberEnd: 4355
    functionName: TIFFReadDirectoryFindEntry
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFDirEntry
    signature: 'TIFFDirEntry *

      TIFFReadDirectoryFindEntry(TIFF* tif, TIFFDirEntry* dir, uint16 dircount, uint16
      tagid)'
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 3
    argNames:
    - tif
    - tagid
    - fii
    argTypes:
    - TIFF*
    - uint16
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4387
      start: 4357
    functionDepth: 0
    functionLinenumber: 4357
    functionLinenumberEnd: 4387
    functionName: TIFFReadDirectoryFindFieldInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFReadDirectoryFindFieldInfo(TIFF* tif, uint16 tagid, uint32*
      fii)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFSetupFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4404,1
    - Dst: TIFFFetchDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4405,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4408,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4412,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4413,1
    - Dst: TIFFReadDirectoryCheckOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4414,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4417,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4420,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4423,1
    - Dst: _TIFFCreateAnonField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4423,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4427,1
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4432,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4433,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4457,1
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4473,1
    - Dst: TIFFFetchSubjectDistance
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4482,1
    - Dst: TIFFFetchNormalTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4485,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4492,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    argCount: 3
    argNames:
    - tif
    - diroff
    - infoarray
    argTypes:
    - TIFF*
    - toff_t
    - TIFFFieldArray*
    assertStmts:
    - condition: ( fii != FAILED_FII )
      pos:
        line_end: 4432
        line_start: 4432
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 4494
      start: 4393
    functionDepth: 2
    functionLinenumber: 4393
    functionLinenumberEnd: 4494
    functionName: TIFFReadCustomDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - CheckDirCount
    - _TIFFmemset
    - TIFFFetchDirectory
    - TIFFFreeDirectory
    - _TIFFCreateAnonField
    - TIFFErrorExt
    - TIFFReadDirectoryCheckOrder
    - assert
    - _TIFFSetupFields
    - TIFFFetchNormalTag
    - TIFFReadDirectoryFindFieldInfo
    - _TIFFfree
    - TIFFFetchSubjectDistance
    - _TIFFMergeFields
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: "int TIFFReadCustomDirectory(TIFF* tif, toff_t diroff,\n\t\t\tconst
      TIFFFieldArray* infoarray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetExifFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4504,1
    - Dst: TIFFReadCustomDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4506
      start: 4500
    functionDepth: 3
    functionLinenumber: 4500
    functionLinenumberEnd: 4506
    functionName: TIFFReadEXIFDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFReadCustomDirectory
    - _TIFFGetExifFields
    linkageType: ''
    returnType: int
    signature: int TIFFReadEXIFDirectory(TIFF* tif, toff_t diroff)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStrilesInternal
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4518,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4522,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4524,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4533,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4543,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4545,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4594,1
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4595,1
    - Dst: TIFFScanlineSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4600,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4609,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4610,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4613
      start: 4508
    functionDepth: 2
    functionLinenumber: 4508
    functionLinenumberEnd: 4613
    functionName: EstimateStripByteCounts
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - _TIFFFillStrilesInternal
    - TIFFSetFieldBit
    - TIFFErrorExt
    - TIFFScanlineSize64
    - TIFFFieldSet
    - TIFFTileSize64
    - isTiled
    - _TIFFCheckMalloc
    - _TIFFfree
    - TIFFGetFileSize
    - TIFFDataWidth
    linkageType: ''
    returnType: int
    signature: int EstimateStripByteCounts(TIFF* tif, TIFFDirEntry* dir, uint16 dircount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4623
      start: 4615
    functionDepth: 1
    functionLinenumber: 4615
    functionLinenumberEnd: 4623
    functionName: MissingRequired
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: void
    signature: void MissingRequired(TIFF* tif, const char* tagname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4639,1
    - Dst: _TIFFCheckRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4658,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - tif
    - diroff
    argTypes:
    - TIFF*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4672
      start: 4631
    functionDepth: 1
    functionLinenumber: 4631
    functionLinenumberEnd: 4672
    functionName: TIFFCheckDirOffset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFCheckRealloc
    linkageType: ''
    returnType: int
    signature: int TIFFCheckDirOffset(TIFF* tif, uint64 diroff)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4682,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4683,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4689,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4690,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - dir
    - count
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4698
      start: 4678
    functionDepth: 2
    functionLinenumber: 4678
    functionLinenumberEnd: 4698
    functionName: CheckDirCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFFieldWithTag
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int CheckDirCount(TIFF* tif, TIFFDirEntry* dir, uint32 count)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4719,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4724,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4725,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4726,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4733,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4734,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4740,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4743,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4750,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4751,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4757,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4760,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4767,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4771,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4772,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4775,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4787,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4790,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4793,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4796,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4804,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4822,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4826,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4831,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4834,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4845,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4849,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4854,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4857,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4866,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4870,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4877,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4879,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4882,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4894,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4897,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4906,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4909,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4913,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4918,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4927,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4931,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4937,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4947,1
    - Dst: TIFFReadUInt64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4948,1
    - Dst: TIFFReadUInt64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4950,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4955,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 171
    argCount: 4
    argNames:
    - tif
    - diroff
    - pdir
    - nextdiroff
    argTypes:
    - TIFF*
    - uint64
    - TIFFDirEntry**
    - uint64*
    assertStmts:
    - condition: (pdir)
      pos:
        line_end: 4718
        line_start: 4718
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 4958
      start: 4705
    functionDepth: 2
    functionLinenumber: 4705
    functionLinenumberEnd: 4958
    functionName: TIFFFetchDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - SeekOK
    - TIFFReadUInt64
    - TIFFErrorExt
    - TIFFSwabLong8
    - _TIFFCheckMalloc
    - assert
    - TIFFSwabLong
    - _TIFFmemcpy
    - ReadOK
    - TIFFSwabShort
    - _TIFFfree
    - isMapped
    linkageType: ''
    returnType: uint16
    signature: "uint16 TIFFFetchDirectory(TIFF* tif, uint64 diroff, TIFFDirEntry**
      pdir,\n                   uint64 *nextdiroff)"
  - BBCount: 152
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirectoryFindFieldInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4970,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4973,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4979,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4980,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4981,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4990,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:4991,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5008,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5012,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5016,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5020,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5023,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5026,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5029,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5031,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5040,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5041,1
    - Dst: TIFFReadDirEntryByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5042,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5045,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5053,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5054,1
    - Dst: TIFFReadDirEntryShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5055,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5058,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5066,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5067,1
    - Dst: TIFFReadDirEntryLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5068,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5071,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5079,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5080,1
    - Dst: TIFFReadDirEntryLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5081,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5084,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5092,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5093,1
    - Dst: TIFFReadDirEntryFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5094,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5097,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5105,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5106,1
    - Dst: TIFFReadDirEntryDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5107,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5110,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5118,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5119,1
    - Dst: TIFFReadDirEntryIfd8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5120,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5123,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5131,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5132,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5134,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5139,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5143,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5144,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5153,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5154,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5156,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5163,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5167,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5169,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5179,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5180,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5185,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5189,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5191,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5201,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5202,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5207,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5211,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5213,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5223,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5224,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5229,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5233,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5235,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5245,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5246,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5251,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5257,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5260,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5262,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5272,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5273,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5278,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5282,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5284,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5294,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5295,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5300,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5304,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5306,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5316,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5317,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5322,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5326,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5328,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5338,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5339,1
    - Dst: TIFFReadDirEntryLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5344,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5348,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5350,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5360,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5361,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5366,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5370,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5372,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5382,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5383,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5388,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5392,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5394,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5404,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5405,1
    - Dst: TIFFReadDirEntryIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5410,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5414,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5416,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5426,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5427,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5428,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5434,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5437,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5439,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5448,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5449,1
    - Dst: TIFFReadDirEntryByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5450,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5454,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5456,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5465,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5466,1
    - Dst: TIFFReadDirEntrySbyteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5467,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5471,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5473,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5482,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5483,1
    - Dst: TIFFReadDirEntryShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5484,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5488,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5490,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5499,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5500,1
    - Dst: TIFFReadDirEntrySshortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5501,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5505,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5507,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5516,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5517,1
    - Dst: TIFFReadDirEntryLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5518,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5522,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5524,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5533,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5534,1
    - Dst: TIFFReadDirEntrySlongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5535,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5539,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5541,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5550,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5551,1
    - Dst: TIFFReadDirEntryLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5552,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5556,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5558,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5567,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5568,1
    - Dst: TIFFReadDirEntrySlong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5569,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5573,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5575,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5584,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5585,1
    - Dst: TIFFReadDirEntryFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5586,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5590,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5592,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5601,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5602,1
    - Dst: TIFFReadDirEntryDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5603,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5607,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5609,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5618,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5619,1
    - Dst: TIFFReadDirEntryIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5620,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5624,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5626,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5633,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5638,1
    CyclomaticComplexity: 158
    EdgeCount: 158
    ICount: 505
    argCount: 3
    argNames:
    - tif
    - dp
    - recover
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int
    assertStmts:
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5039
        line_start: 5039
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5091
        line_start: 5091
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==2)
      pos:
        line_end: 5130
        line_start: 5130
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5515
        line_start: 5515
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5131
        line_start: 5131
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5533
        line_start: 5533
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5601
        line_start: 5601
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5244
        line_start: 5244
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5040
        line_start: 5040
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5092
        line_start: 5092
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5617
        line_start: 5617
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5245
        line_start: 5245
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5271
        line_start: 5271
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5293
        line_start: 5293
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5315
        line_start: 5315
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5404
        line_start: 5404
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5272
        line_start: 5272
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5294
        line_start: 5294
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5316
        line_start: 5316
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5359
        line_start: 5359
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5465
        line_start: 5465
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5583
        line_start: 5583
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5549
        line_start: 5549
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount>=1)
      pos:
        line_end: 5152
        line_start: 5152
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 4989
        line_start: 4989
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5078
        line_start: 5078
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5337
        line_start: 5337
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5584
        line_start: 5584
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (0)
      pos:
        line_end: 5632
        line_start: 5632
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5382
        line_start: 5382
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5153
        line_start: 5153
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5338
        line_start: 5338
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5360
        line_start: 5360
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5381
        line_start: 5381
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5516
        line_start: 5516
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5618
        line_start: 5618
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip != NULL)
      pos:
        line_end: 4978
        line_start: 4978
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5079
        line_start: 5079
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 5403
        line_start: 5403
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5425
        line_start: 5425
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5481
        line_start: 5481
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5065
        line_start: 5065
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5117
        line_start: 5117
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount>=1)
      pos:
        line_end: 5178
        line_start: 5178
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5499
        line_start: 5499
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5600
        line_start: 5600
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->set_field_type!=TIFF_SETGET_OTHER)
      pos:
        line_end: 4979
        line_start: 4979
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5179
        line_start: 5179
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5550
        line_start: 5550
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5426
        line_start: 5426
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5482
        line_start: 5482
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5066
        line_start: 5066
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5118
        line_start: 5118
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5448
        line_start: 5448
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5566
        line_start: 5566
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5464
        line_start: 5464
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5052
        line_start: 5052
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5447
        line_start: 5447
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount>=1)
      pos:
        line_end: 5200
        line_start: 5200
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5532
        line_start: 5532
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5053
        line_start: 5053
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount>=1)
      pos:
        line_end: 5222
        line_start: 5222
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==1)
      pos:
        line_end: 5104
        line_start: 5104
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5201
        line_start: 5201
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->set_field_type!=TIFF_SETGET_INT)
      pos:
        line_end: 4980
        line_start: 4980
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 5498
        line_start: 5498
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5223
        line_start: 5223
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==0)
      pos:
        line_end: 5105
        line_start: 5105
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (fip->field_passcount==1)
      pos:
        line_end: 5567
        line_start: 5567
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5642
      start: 4963
    functionDepth: 5
    functionLinenumber: 4963
    functionLinenumberEnd: 5642
    functionName: TIFFFetchNormalTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - TIFFReadDirEntryLong8
    - TIFFReadDirEntrySshortArray
    - TIFFReadDirEntryOutputErr
    - _TIFFmalloc
    - TIFFReadDirEntryLongArray
    - TIFFWarningExt
    - TIFFReadDirEntryDoubleArray
    - TIFFReadDirEntrySbyteArray
    - TIFFReadDirEntrySlongArray
    - TIFFErrorExt
    - TIFFReadDirEntryByteArray
    - assert
    - TIFFReadDirEntryFloatArray
    - TIFFReadDirEntryShort
    - _TIFFmemcpy
    - TIFFSetField
    - TIFFReadDirEntryLong8Array
    - TIFFReadDirEntryShortArray
    - TIFFReadDirEntryFloat
    - TIFFReadDirectoryFindFieldInfo
    - TIFFReadDirEntryDouble
    - TIFFReadDirEntrySlong8Array
    - TIFFReadDirEntryIfd8Array
    - TIFFReadDirEntryIfd8
    - TIFFReadDirEntryLong
    - _TIFFfree
    - TIFFReadDirEntryByte
    linkageType: ''
    returnType: int
    signature: int TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFReadDirEntryLong8ArrayWithLimit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5654,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5657,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5658,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5664,1
    - Dst: getenv
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5665,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5668,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5669,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5676,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5680,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5682,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5685,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5686,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5687,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - tif
    - dir
    - nstrips
    - lpp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32
    - uint64**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5692
      start: 5648
    functionDepth: 4
    functionLinenumber: 5648
    functionLinenumberEnd: 5692
    functionName: TIFFFetchStripThing
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - _TIFFmemset
    - TIFFFieldWithTag
    - TIFFReadDirEntryOutputErr
    - _TIFFCheckMalloc
    - TIFFReadDirEntryLong8ArrayWithLimit
    - _TIFFmemcpy
    - getenv
    - atoi
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32 nstrips,
      uint64** lpp)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5704,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5705,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5706,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5718,1
    - Dst: TIFFReadDirEntryData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5719,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5731,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5743,1
    - Dst: TIFFReadDirEntryOutputErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5747,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 5703
        line_start: 5703
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 5704
        line_start: 5704
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 5705
        line_start: 5705
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5750
      start: 5697
    functionDepth: 2
    functionLinenumber: 5697
    functionLinenumberEnd: 5750
    functionName: TIFFFetchSubjectDistance
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - TIFFReadDirEntryData
    - TIFFSetField
    - TIFFReadDirEntryOutputErr
    - TIFFSwabLong
    - assert
    - TIFFSwabArrayOfLong
    linkageType: ''
    returnType: int
    signature: int TIFFFetchSubjectDistance(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5764,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5765,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5766,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5774,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5776,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5784,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5786,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5808,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5810,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5811,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 4
    argNames:
    - tif
    - nstrips
    - stripbytes
    - rowsperstrip
    argTypes:
    - TIFF*
    - uint32
    - uint64
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5818
      start: 5752
    functionDepth: 2
    functionLinenumber: 5752
    functionLinenumberEnd: 5818
    functionName: allocChoppedUpStripArrays
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFGetStrileOffset
    - TIFFGetStrileByteCount
    - _TIFFCheckMalloc
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: "void allocChoppedUpStripArrays(TIFF* tif, uint32 nstrips,\n                                      uint64
      stripbytes, uint32 rowsperstrip)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5839,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5845,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5846,1
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5848,1
    - Dst: TIFFVTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5852,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5874,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5882,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5883,1
    - Dst: allocChoppedUpStripArrays
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5888,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (td->td_planarconfig == PLANARCONFIG_CONTIG)
      pos:
        line_end: 5845
        line_start: 5845
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5889
      start: 5827
    functionDepth: 3
    functionLinenumber: 5827
    functionLinenumberEnd: 5889
    functionName: ChopUpSingleUncompressedStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - allocChoppedUpStripArrays
    - TIFFVTileSize64
    - assert
    - TIFFGetStrileByteCount
    - TIFFhowmany_32
    - TIFFGetFileSize
    linkageType: ''
    returnType: void
    signature: void ChopUpSingleUncompressedStrip(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5910,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5912,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5913,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5914,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5915,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5920,1
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5924,1
    - Dst: TIFFVStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5928,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5940,1
    - Dst: TIFFVStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5940,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5948,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5952,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5953,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5953,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5966,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5968,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5977,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5978,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5979,1
    - Dst: allocChoppedUpStripArrays
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:5987,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: ( tif->tif_dir.td_planarconfig == PLANARCONFIG_CONTIG )
      pos:
        line_end: 5911
        line_start: 5911
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: ( tif->tif_dir.td_compression == COMPRESSION_NONE )
      pos:
        line_end: 5912
        line_start: 5912
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: ( (tif->tif_flags&(TIFF_STRIPCHOP|TIFF_ISTILED)) == TIFF_STRIPCHOP
        )
      pos:
        line_end: 5913
        line_start: 5913
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: ( stripbytes <= 0x7FFFFFFFUL )
      pos:
        line_end: 5965
        line_start: 5965
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    - condition: ( stripsize > 0x7FFFFFFFUL )
      pos:
        line_end: 5914
        line_start: 5914
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 5988
      start: 5898
    functionDepth: 3
    functionLinenumber: 5898
    functionLinenumberEnd: 5988
    functionName: TryChopUpUncompressedBigTiff
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - allocChoppedUpStripArrays
    - TIFFVStripSize64
    - assert
    - TIFFGetStrileOffset
    - TIFFStripSize64
    - TIFFGetStrileByteCount
    - TIFFhowmany_32
    - TIFFGetFileSize
    linkageType: ''
    returnType: void
    signature: void TryChopUpUncompressedBigTiff( TIFF* tif )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5995
      start: 5991
    functionDepth: 0
    functionLinenumber: 5991
    functionLinenumberEnd: 5995
    functionName: _TIFFUnsanitizedAddUInt64AndInt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW
    signature: TIFF_NOSANITIZE_UNSIGNED_INT_OVERFLOW _TIFFUnsanitizedAddUInt64AndInt(uint64
      a, int b)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6023,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6039,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6050,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6057,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6063,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6082,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6087,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6094,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6097,1
    - Dst: _TIFFUnsanitizedAddUInt64AndInt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6106,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6112,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6116,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6122,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6126,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6132,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6136,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 76
    argCount: 4
    argNames:
    - tif
    - dirent
    - strile
    - panVals
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int
    - uint64*
    assertStmts:
    - condition: ( dirent->tdir_count > 4 )
      pos:
        line_end: 6022
        line_start: 6022
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 6141
      start: 6001
    functionDepth: 2
    functionLinenumber: 6001
    functionLinenumberEnd: 6141
    functionName: _TIFFPartialReadStripArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - SeekOK
    - TIFFErrorExt
    - TIFFSwabLong
    - _TIFFUnsanitizedAddUInt64AndInt
    - assert
    - TIFFReadFile
    - memcpy
    - TIFFSwabShort
    - TIFFSwabLong8
    linkageType: ''
    returnType: int
    signature: "int _TIFFPartialReadStripArray( TIFF* tif, TIFFDirEntry* dirent,\n
      \                               int strile, uint64* panVals )"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6165,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6171,1
    - Dst: TIFF_MAX
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6185,1
    - Dst: TIFF_MIN
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6188,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6190,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6196,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6202,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6204,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6213,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6216,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6222,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6224,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6226,1
    - Dst: _TIFFPartialReadStripArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6236,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 4
    argNames:
    - tif
    - strile
    - dirent
    - parray
    argTypes:
    - TIFF*
    - uint32
    - TIFFDirEntry*
    - uint64**
    assertStmts:
    - condition: ( strile < nStripArrayAllocNew )
      pos:
        line_end: 6189
        line_start: 6189
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    constantsTouched: []
    func_position:
      end: 6244
      start: 6143
    functionDepth: 3
    functionLinenumber: 6143
    functionLinenumberEnd: 6244
    functionName: _TIFFFetchStrileValue
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFF_MAX
    - _TIFFrealloc
    - _TIFFPartialReadStripArray
    - TIFFErrorExt
    - assert
    - memset
    - TIFF_MIN
    - TIFFGetFileSize
    linkageType: ''
    returnType: int
    signature: "int _TIFFFetchStrileValue(TIFF* tif,\n                                 uint32
      strile,\n                                 TIFFDirEntry* dirent,\n                                 uint64**
      parray)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6184
      start: 6183
    functionDepth: 0
    functionLinenumber: 6183
    functionLinenumberEnd: 6184
    functionName: TIFF_MAX
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_MAX(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6185
      start: 6184
    functionDepth: 0
    functionLinenumber: 6184
    functionLinenumberEnd: 6185
    functionName: TIFF_MIN
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_MIN(a,b)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6261,1
    - Dst: _TIFFFetchStrileValue
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6272,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 5
    argNames:
    - tif
    - strile
    - dirent
    - parray
    - pbErr
    argTypes:
    - TIFF*
    - uint32
    - TIFFDirEntry*
    - uint64**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6287
      start: 6246
    functionDepth: 4
    functionLinenumber: 6246
    functionLinenumberEnd: 6287
    functionName: _TIFFGetStrileOffsetOrByteCountValue
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 0
    functionsReached:
    - _TIFFFillStriles
    - _TIFFFetchStrileValue
    linkageType: ''
    returnType: uint64
    signature: "uint64 _TIFFGetStrileOffsetOrByteCountValue(TIFF *tif, uint32 strile,\n
      \                                                  TIFFDirEntry* dirent,\n                                                   uint64**
      parray,\n                                                   int *pbErr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6293
      start: 6290
    functionDepth: 1
    functionLinenumber: 6290
    functionLinenumberEnd: 6293
    functionName: TIFFGetStrileOffset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 11
    functionsReached:
    - TIFFGetStrileOffsetWithErr
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFGetStrileOffset(TIFF *tif, uint32 strile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetStrileOffsetOrByteCountValue
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - strile
    - pbErr
    argTypes:
    - TIFF*
    - uint32
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6302
      start: 6296
    functionDepth: 5
    functionLinenumber: 6296
    functionLinenumberEnd: 6302
    functionName: TIFFGetStrileOffsetWithErr
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFGetStrileOffsetOrByteCountValue
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFGetStrileOffsetWithErr(TIFF *tif, uint32 strile, int *pbErr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6308
      start: 6305
    functionDepth: 1
    functionLinenumber: 6305
    functionLinenumberEnd: 6308
    functionName: TIFFGetStrileByteCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 15
    functionsReached:
    - TIFFGetStrileByteCountWithErr
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFGetStrileByteCount(TIFF *tif, uint32 strile)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFGetStrileOffsetOrByteCountValue
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - strile
    - pbErr
    argTypes:
    - TIFF*
    - uint32
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6317
      start: 6311
    functionDepth: 5
    functionLinenumber: 6311
    functionLinenumberEnd: 6317
    functionName: TIFFGetStrileByteCountWithErr
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFGetStrileOffsetOrByteCountValue
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFGetStrileByteCountWithErr(TIFF *tif, uint32 strile, int
      *pbErr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStrilesInternal
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6323
      start: 6320
    functionDepth: 1
    functionLinenumber: 6320
    functionLinenumberEnd: 6323
    functionName: _TIFFFillStriles
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 4
    functionsReached:
    - _TIFFFillStrilesInternal
    linkageType: ''
    returnType: int
    signature: int _TIFFFillStriles( TIFF *tif )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6337,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6338,1
    - Dst: TIFFFetchStripThing
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6353,1
    - Dst: TIFFFetchStripThing
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6360,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6366,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c:6367,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 33
    argCount: 2
    argNames:
    - tif
    - loadStripByteCount
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6385
      start: 6325
    functionDepth: 0
    functionLinenumber: 6325
    functionLinenumberEnd: 6385
    functionName: _TIFFFillStrilesInternal
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirread.c
    functionUses: 2
    functionsReached:
    - _TIFFfree
    - _TIFFmemset
    - TIFFFetchStripThing
    linkageType: ''
    returnType: int
    signature: int _TIFFFillStrilesInternal( TIFF *tif, int loadStripByteCount )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: streq
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: streq(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - T
    - Size
    - P
    - State
    argTypes:
    - TIFFFaxTabEnt*
    - int
    - struct proto*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 335
    functionName: FillTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void FillTable(TIFFFaxTabEnt *T, int Size, struct proto *P, int State)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:349,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:354,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:365,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - fd
    - T
    - Size
    - name
    argTypes:
    - FILE*
    - TIFFFaxTabEnt*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 375
    functionName: WriteTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void WriteTable(FILE* fd, const TIFFFaxTabEnt* T, int Size, const char*
      name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: getopt
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:390,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:406,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:414,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:418,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:419,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:420,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:421,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:422,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:423,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:424,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:425,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:426,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:427,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:428,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:429,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:430,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:431,1
    - Dst: FillTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:432,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:434,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:435,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:436,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:437,1
    - Dst: WriteTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:438,1
    - Dst: WriteTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:439,1
    - Dst: WriteTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:440,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c:441,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 443
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/mkg3states.c
    functionUses: 15
    functionsReached:
    - WriteTable
    - getopt
    - fprintf
    - FillTable
    - fopen
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char* argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: _tiffosReadProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffosReadProc(thandle_t, void*, tmsize_t)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:116,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:120,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:121,1
    - Dst: tiffis_data*::stream::read
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:123,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:125,1
    - Dst: tiffis_data*::stream::gcount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 126
    functionName: _tiffisReadProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffis_data *>
    - tiffis_data*::stream::gcount
    - tiffis_data*::stream::read
    - static_cast<tmsize_t>
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffisReadProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:131,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:133,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:137,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:138,1
    - Dst: ostream*::write
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:140,1
    - Dst: reinterpret_cast<const char *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:140,1
    - Dst: static_cast<tmsize_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:142,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: _tiffosWriteProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffos_data *>
    - static_cast<tmsize_t>
    - ostream*::write
    - ostream*::tellp
    - reinterpret_cast<const char *>
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffosWriteProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: _tiffisWriteProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffisWriteProc(thandle_t, void*, tmsize_t)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:154,1
    - Dst: ostream*::fail
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:158,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:159,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:165,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:168,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:169,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:170,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:172,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:178,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:179,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:180,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:182,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:188,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:189,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:190,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:192,1
    - Dst: ostream*::fail
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:201,1
    - Dst: ostream*::rdstate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:209,1
    - Dst: ostream*::clear
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:211,1
    - Dst: ostream*::rdstate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:211,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:218,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:221,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:222,1
    - Dst: ostream*::clear
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:226,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:229,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:229,1
    - Dst: ostream*::clear
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:233,1
    - Dst: ostream*::rdstate
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:233,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:236,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:237,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:237,1
    - Dst: ostream*::put
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:239,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:242,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:242,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:242,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:246,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:246,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 247
    functionName: _tiffosSeekProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - static_cast<ios::off_type>
    - reinterpret_cast<tiffos_data *>
    - ostream*::put
    - ostream*::seekp
    - ostream*::fail
    - ostream*::tellp
    - ostream*::clear
    - static_cast<uint64>
    - ostream*::rdstate
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffosSeekProc(thandle_t fd, uint64 off, int whence)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:252,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:258,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:261,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:262,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:263,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:265,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:271,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:272,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:273,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:275,1
    - Dst: static_cast<ios::off_type>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:281,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:282,1
    - Dst: static_cast<uint64>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:283,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:285,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:290,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 291
    functionName: _tiffisSeekProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - tiffis_data*::stream::seekg
    - static_cast<ios::off_type>
    - reinterpret_cast<tiffis_data *>
    - tiffis_data*::stream::tellg
    - static_cast<uint64>
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffisSeekProc(thandle_t fd, uint64 off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:296,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:298,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:301,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:302,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 306
    functionName: _tiffosSizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - ostream*::tellp
    - reinterpret_cast<tiffos_data *>
    - ostream*::seekp
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffosSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:311,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:312,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:315,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:316,1
    - Dst: tiffis_data*::stream::seekg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 320
    functionName: _tiffisSizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - tiffis_data*::stream::seekg
    - reinterpret_cast<tiffis_data *>
    - tiffis_data*::stream::tellg
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffisSizeProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffos_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:326,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 328
    functionName: _tiffosCloseProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffos_data *>
    linkageType: ''
    returnType: int
    signature: int _tiffosCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<tiffis_data *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: _tiffisCloseProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<tiffis_data *>
    linkageType: ''
    returnType: int
    signature: int _tiffisCloseProc(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 338
    functionDepth: 0
    functionLinenumber: 338
    functionLinenumberEnd: 344
    functionName: _tiffDummyMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffDummyMapProc(thandle_t , void** base, toff_t* size )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - size
    argTypes:
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: _tiffDummyUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffDummyUnmapProc(thandle_t , void* base, toff_t size )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:361,1
    - Dst: tiffos_data::tiffos_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:362,1
    - Dst: reinterpret_cast<ostream *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:363,1
    - Dst: tiffos_data*::stream::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:364,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:367,1
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:368,1
    - Dst: tiffis_data::tiffis_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:380,1
    - Dst: reinterpret_cast<istream *>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:381,1
    - Dst: tiffis_data*::stream::tellg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:382,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:384,1
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - name
    - mode
    - fd
    argTypes:
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 399
    functionName: _tiffStreamOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - reinterpret_cast<istream *>
    - tiffos_data::tiffos_data
    - TIFFClientOpen
    - reinterpret_cast<thandle_t>
    - strchr
    - tiffos_data*::stream::tellp
    - reinterpret_cast<ostream *>
    - tiffis_data::tiffis_data
    - tiffis_data*::stream::tellg
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      _tiffStreamOpen(const char* name, const char* mode, void *fd)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ostream*::fail
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:410,1
    - Dst: static_cast<int>
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:410,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:410,1
    - Dst: ostream*::seekp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:412,1
    - Dst: _tiffStreamOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:416,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name
    - os
    argTypes:
    - char*
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 417
    functionName: TIFFStreamOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - ostream*::seekp
    - ostream*::fail
    - ostream*::tellp
    - _tiffStreamOpen
    - static_cast<int>
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFStreamOpen(const char* name, ostream *os)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _tiffStreamOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx:423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - is
    argTypes:
    - char*
    - istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: TIFFStreamOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_stream.cxx
    functionUses: 0
    functionsReached:
    - _tiffStreamOpen
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFStreamOpen(const char* name, istream *is)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: LState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:81,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - data
    - data_size
    - picture
    argTypes:
    - uint8_t*
    - size_t
    - WebPPicture*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 91
    functionName: TWebPDatasetWriter
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: "int TWebPDatasetWriter(const uint8_t* data, size_t data_size,\n                      const
      WebPPicture* const picture)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:100,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:103,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:104,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:109,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    - condition: (sp != NULL)
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 120
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 120
    functionName: TWebPEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - memcpy
    - assert
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int TWebPEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:127,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:130,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:131,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:135,1
    - Dst: WebPIAppend
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:140,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:144,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:147,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:150,1
    - Dst: WebPIDecGetRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:159,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:163,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:172,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    - condition: (sp != NULL)
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 176
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 176
    functionName: TWebPDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExt
    - WebPIAppend
    - assert
    - memcpy
    - WebPIDecGetRGB
    linkageType: ''
    returnType: int
    signature: int TWebPDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 193
    functionName: TWebPFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int TWebPFixupTags(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:202,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:203,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:214,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:226,1
    - Dst: WebPPictureFree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:233,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:235,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 202
        line_start: 202
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 245
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 245
    functionName: TWebPSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPPictureFree
    - DecoderState
    - TIFFErrorExt
    - assert
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TWebPSetupDecode(TIFF* tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:255,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:258,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:260,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:271,1
    - Dst: WebPIDelete
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:274,1
    - Dst: WebPFreeDecBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:275,1
    - Dst: WebPInitDecBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:281,1
    - Dst: WebPINewDecoder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:295,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:298,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 257
        line_start: 257
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 304
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 304
    functionName: TWebPPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPFreeDecBuffer
    - DecoderState
    - TIFFErrorExt
    - assert
    - WebPINewDecoder
    - WebPIDelete
    - WebPInitDecBuffer
    - isTiled
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int TWebPPreDecode(TIFF* tif, uint16 s)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:313,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:314,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:325,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:337,1
    - Dst: WebPIDelete
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:343,1
    - Dst: WebPFreeDecBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:344,1
    - Dst: WebPPictureInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:352,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:353,1
    - Dst: WebPConfigInitInternal
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:358,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:361,1
    - Dst: WebPValidateConfig
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:374,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:375,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 313
        line_start: 313
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 381
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 381
    functionName: TWebPSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPFreeDecBuffer
    - TIFFErrorExt
    - WebPConfigInitInternal
    - assert
    - EncoderState
    - WebPValidateConfig
    - WebPIDelete
    - WebPPictureInit
    linkageType: ''
    returnType: int
    signature: int TWebPSetupEncode(TIFF* tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:391,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:396,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:398,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:403,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:414,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:424,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:428,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:430,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 395
        line_start: 395
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 441
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 441
    functionName: TWebPPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFF*::tif_setupencode
    - _TIFFmalloc
    - isTiled
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TWebPPreEncode(TIFF* tif, uint16 s)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:451,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:452,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:454,1
    - Dst: WebPPictureImportRGBA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:460,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:461,1
    - Dst: WebPPictureImportRGB
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:468,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:469,1
    - Dst: WebPEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:474,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:504,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:510,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:513,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:521,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:523,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 453
        line_start: 453
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    - condition: (sp != NULL)
      pos:
        line_end: 451
        line_start: 451
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 529
      start: 446
    functionDepth: 3
    functionLinenumber: 446
    functionLinenumberEnd: 529
    functionName: TWebPPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - WebPPictureImportRGBA
    - assert
    - EncoderState
    - TIFFFlushData1
    - WebPEncode
    - WebPPictureImportRGB
    linkageType: ''
    returnType: int
    signature: int TWebPPostEncode(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:534,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:536,1
    - Dst: WebPPictureFree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:542,1
    - Dst: WebPIDelete
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:546,1
    - Dst: WebPFreeDecBuffer
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:547,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:553,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:557,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 535
        line_start: 535
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 561
      start: 531
    functionDepth: 1
    functionLinenumber: 531
    functionLinenumberEnd: 561
    functionName: TWebPCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - WebPPictureFree
    - _TIFFfree
    - WebPFreeDecBuffer
    - assert
    - _TIFFSetDefaultCompressionState
    - WebPIDelete
    - LState
    linkageType: ''
    returnType: void
    signature: void TWebPCleanup(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:567,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:571,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:574,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:580,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:586,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 595
    functionName: TWebPVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - LState
    - va_arg
    - TIFFErrorExt
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int TWebPVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:600,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:604,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 597
    functionDepth: 0
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: TWebPVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - LState
    - va_arg
    linkageType: ''
    returnType: int
    signature: int TWebPVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:631,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:636,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:636,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:637,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:645,1
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:648,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c:690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: ( scheme == COMPRESSION_WEBP )
      pos:
        line_end: 630
        line_start: 630
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    constantsTouched: []
    func_position:
      end: 693
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 693
    functionName: TIFFInitWebP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_webp.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - LState
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitWebP(TIFF* tif, int scheme)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:39,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:45,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:46,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:48,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 34
    functionDepth: 3
    functionLinenumber: 34
    functionLinenumberEnd: 50
    functionName: PackBitsPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - _TIFFmalloc
    - TIFFTileRowSize
    - isTiled
    linkageType: ''
    returnType: int
    signature: int PackBitsPreEncode(TIFF* tif, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: PackBitsPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int PackBitsPostEncode(TIFF* tif)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:99,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:107,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 100
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 63
    functionDepth: 3
    functionLinenumber: 63
    functionLinenumberEnd: 185
    functionName: PackBitsEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int PackBitsEncode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PackBitsEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 194
    functionDepth: 4
    functionLinenumber: 194
    functionLinenumberEnd: 211
    functionName: PackBitsEncodeChunk
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - PackBitsEncode
    linkageType: ''
    returnType: int
    signature: int PackBitsEncodeChunk(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:240,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:247,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:259,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:266,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:270,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c:278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 49
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 284
    functionName: PackBitsDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExt
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int PackBitsDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: TIFFInitPackBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_packbits.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitPackBits(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - op
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 67
    functionName: SETPIXEL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETPIXEL(op, v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: ThunderSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int ThunderSetupDecode(TIFF* tif)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:125,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:127,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:129,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:133,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:135,1
    - Dst: SETPIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:138,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:146,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:153,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 53
    argCount: 3
    argNames:
    - tif
    - op
    - maxpixels
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 164
    functionName: ThunderDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - SETPIXEL
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int ThunderDecode(TIFF* tif, uint8* op, tmsize_t maxpixels)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:175,1
    - Dst: ThunderDecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c:179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 185
    functionName: ThunderDecodeRow
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - ThunderDecode
    linkageType: ''
    returnType: int
    signature: int ThunderDecodeRow(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: TIFFInitThunderScan
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_thunder.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitThunderScan(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 32
    functionName: TIFFGetVersion
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_version.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TIFFGetVersion(void)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 92
    functionName: _tiffReadProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffReadProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 121
    functionName: _tiffWriteProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - write
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _tiffWriteProc(thandle_t fd, void* buf, tmsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_lseek_f
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - fd
    - 'off'
    - whence
    argTypes:
    - thandle_t
    - uint64
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 135
    functionName: _tiffSeekProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - _TIFF_lseek_f
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffSeekProc(thandle_t fd, uint64 off, int whence)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: close
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 143
    functionName: _tiffCloseProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - close
    linkageType: ''
    returnType: int
    signature: int _tiffCloseProc(thandle_t fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFF_fstat_f
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: _tiffSizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 1
    functionsReached:
    - _TIFF_fstat_f
    linkageType: ''
    returnType: uint64
    signature: uint64 _tiffSizeProc(thandle_t fd)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _tiffSizeProc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:163,1
    - Dst: mmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 176
    functionName: _tiffMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - mmap
    - _tiffSizeProc
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: munmap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 183
    functionName: _tiffUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - munmap
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: _tiffMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 196
    functionName: _tiffUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 217
    functionName: TIFFFdOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 3
    functionsReached:
    - TIFFClientOpen
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFFdOpen(int fd, const char* name, const char* mode)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:229,1
    - Dst: open
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:238,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:240,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:241,1
    - Dst: strerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:241,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:243,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:248,1
    - Dst: close
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:250,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 252
    functionName: TIFFOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 36
    functionsReached:
    - _TIFFgetMode
    - TIFFErrorExt
    - close
    - TIFFFdOpen
    - open
    - strerror
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFOpen(const char* name, const char* mode)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFgetMode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:268,1
    - Dst: _wopen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:277,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:279,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:284,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:286,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:288,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:293,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:297,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:300,1
    - Dst: close
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:303,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - wchar_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 305
    functionName: TIFFOpenW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - _wopen
    - _TIFFgetMode
    - WideCharToMultiByte
    - TIFFErrorExt
    - close
    - TIFFFdOpen
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TIFFOpenW(const wchar_t* name, const char* mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - s
    argTypes:
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 308
    functionDepth: 5
    functionLinenumber: 308
    functionLinenumberEnd: 315
    functionName: _TIFFmalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 125
    functionsReached:
    - malloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFmalloc(tmsize_t s)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: calloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - nmemb
    - siz
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: _TIFFcalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 2
    functionsReached:
    - calloc
    linkageType: ''
    returnType: void
    signature: void * _TIFFcalloc(tmsize_t nmemb, tmsize_t siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 325
    functionDepth: 0
    functionLinenumber: 325
    functionLinenumberEnd: 329
    functionName: _TIFFfree
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 139
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void _TIFFfree(void* p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p
    - s
    argTypes:
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 335
    functionName: _TIFFrealloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 17
    functionsReached:
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFrealloc(void* p, tmsize_t s)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p
    - v
    - c
    argTypes:
    - void*
    - int
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 341
    functionName: _TIFFmemset
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 42
    functionsReached:
    - memset
    linkageType: ''
    returnType: void
    signature: void _TIFFmemset(void* p, int v, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - d
    - s
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 347
    functionName: _TIFFmemcpy
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 34
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: void
    signature: void _TIFFmemcpy(void* d, const void* s, tmsize_t c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - p1
    - p2
    - c
    argTypes:
    - void*
    - void*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 353
    functionName: _TIFFmemcmp
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: int
    signature: int _TIFFmemcmp(const void* p1, const void* p2, tmsize_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:359,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:360,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:361,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 363
    functionName: unixWarningHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void unixWarningHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:370,1
    - Dst: vfprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:371,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c:372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 373
    functionName: unixErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_unix.c
    functionUses: 0
    functionsReached:
    - fprintf
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void unixErrorHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:53,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:54,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:55,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 66
    functionName: TIFFComputeTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 4
    functionsReached:
    - TIFFhowmany_32
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFComputeTile(TIFF* tif, uint32 x, uint32 y, uint32 z, uint16
      s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:78,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:85,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:92,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:100,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 5
    argNames:
    - tif
    - x
    - y
    - z
    - s
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint32
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 107
    functionName: TIFFCheckTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 3
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int TIFFCheckTile(TIFF* tif, uint32 x, uint32 y, uint32 z, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiply32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:128,1
    - Dst: _TIFFMultiply32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:128,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:128,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:129,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:131,1
    - Dst: _TIFFMultiply32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:133,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 136
    functionName: TIFFNumberOfTiles
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 10
    functionsReached:
    - TIFFhowmany_32
    - _TIFFMultiply32
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFNumberOfTiles(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:151,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:156,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:159,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:165,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:168,1
    - Dst: TIFFhowmany8_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:171,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:174,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 178
    functionName: TIFFTileRowSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - TIFFhowmany8_64
    - TIFFErrorExt
    - _TIFFMultiply64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFTileRowSize64(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:184,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 186
    functionName: TIFFTileRowSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 16
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFTileRowSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFTileRowSize(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:202,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:218,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:223,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:230,1
    - Dst: TIFFhowmany_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:231,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:232,1
    - Dst: TIFFhowmany8_64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:233,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:233,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:234,1
    - Dst: _TIFFMultiply64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:237,1
    - Dst: TIFFTileRowSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:237,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 238
    functionName: TIFFVTileSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 1
    functionsReached:
    - isUpSampled
    - TIFFhowmany8_64
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - _TIFFMultiply64
    - TIFFhowmany_32
    - TIFFTileRowSize64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFVTileSize64(TIFF* tif, uint32 nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:244,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 239
    functionDepth: 3
    functionLinenumber: 239
    functionLinenumberEnd: 246
    functionName: TIFFVTileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - _TIFFCastUInt64ToSSize
    - TIFFVTileSize64
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFVTileSize(TIFF* tif, uint32 nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 3
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: TIFFTileSize64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 1
    functionsReached:
    - TIFFVTileSize64
    linkageType: ''
    returnType: uint64
    signature: uint64 TIFFTileSize64(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:261,1
    - Dst: _TIFFCastUInt64ToSSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 263
    functionName: TIFFTileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 25
    functionsReached:
    - TIFFTileSize64
    - _TIFFCastUInt64ToSSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t TIFFTileSize(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 275
    functionName: TIFFDefaultTileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFDefaultTileSize(TIFF* tif, uint32* tw, uint32* th)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:287,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c:289,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - tw
    - th
    argTypes:
    - TIFF*
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 290
    functionName: _TIFFDefaultTileSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_tile.c
    functionUses: 0
    functionsReached:
    - TIFFroundup_32
    linkageType: ''
    returnType: void
    signature: void _TIFFDefaultTileSize(TIFF* tif, uint32* tw, uint32* th)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:72,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:78,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:81,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:83,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:87,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:90,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:92,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:97,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:100,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:103,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:108,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:110,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:114,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:117,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:121,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:123,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:125,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:129,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:134,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 39
    argCount: 4
    argNames:
    - fd
    - fip
    - value_count
    - raw_data
    argTypes:
    - FILE*
    - TIFFField*
    - uint32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 135
    functionName: _TIFFPrintField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: "void _TIFFPrintField(FILE* fd, const TIFFField *fip,\n\t\tuint32 value_count,
      void *raw_data)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:147,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:155,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:158,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:161,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:172,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:180,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:190,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:192,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:193,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:201,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:207,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:212,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:218,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 56
    argCount: 6
    argNames:
    - tif
    - fip
    - fd
    - tag
    - value_count
    - raw_data
    argTypes:
    - TIFF*
    - TIFFField*
    - FILE*
    - uint32
    - uint32
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 227
    functionName: _TIFFPrettyPrintField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - fputc
    - strncmp
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int _TIFFPrettyPrintField(TIFF* tif, const TIFFField *fip, FILE* fd,
      uint32 tag,\n\t\t      uint32 value_count, void *raw_data)"
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:241,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:245,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:249,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:250,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:253,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:257,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:261,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:262,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:265,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:266,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:268,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:269,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:271,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:273,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:274,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:276,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:277,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:279,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:281,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:282,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:284,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:287,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:290,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:293,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:296,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:302,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:305,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:307,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:308,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:309,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:310,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:313,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:316,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:319,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:322,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:325,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:328,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:331,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:336,1
    - Dst: TIFFFindCODEC
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:337,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:338,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:340,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:342,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:345,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:346,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:348,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:352,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:355,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:358,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:364,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:366,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:371,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:374,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:377,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:380,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:386,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:388,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:391,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:396,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:399,1
    - Dst: _TIFFprintAsciiBounded
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:400,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:403,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:405,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:406,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:409,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:412,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:415,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:418,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:423,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:424,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:427,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:430,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:433,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:438,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:440,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:443,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:444,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:447,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:450,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:453,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:458,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:459,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:461,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:462,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:464,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:466,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:469,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:470,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:471,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:472,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:474,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:476,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:478,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:479,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:480,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:481,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:482,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:485,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:487,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:488,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:490,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:493,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:495,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:496,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:498,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:499,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:502,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:505,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:508,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:513,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:514,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:516,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:517,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:519,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:522,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:528,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:530,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:532,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:534,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:538,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:539,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:541,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:545,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:548,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:550,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:553,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:555,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:557,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:560,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:563,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:566,1
    - Dst: TIFFGetTagListCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:576,1
    - Dst: TIFFGetTagListEntry
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:578,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:584,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:590,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:594,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:598,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:611,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:618,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:624,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:627,1
    - Dst: _TIFFDataSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:628,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:631,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:632,1
    - Dst: _TIFFPrettyPrintField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:644,1
    - Dst: _TIFFPrintField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:645,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:648,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:656,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:659,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:661,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:664,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:666,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:667,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:669,1
    - Dst: TIFFGetStrileOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:671,1
    - Dst: TIFFGetStrileByteCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:672,1
    CyclomaticComplexity: 131
    EdgeCount: 131
    ICount: 324
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: "(fip->field_readcount == TIFF_VARIABLE\n\t\t\t\t\t\t|| fip->field_readcount
        == TIFF_VARIABLE2)"
      pos:
        line_end: 598
        line_start: 597
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    constantsTouched: []
    func_position:
      end: 675
      start: 233
    functionDepth: 2
    functionLinenumber: 233
    functionLinenumberEnd: 675
    functionName: TIFFPrintDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 1
    functionsReached:
    - _TIFFPrintField
    - fputs
    - TIFFGetTagListCount
    - fprintf
    - _TIFFprintAsciiBounded
    - _TIFFmalloc
    - TIFFFieldSet
    - TIFFGetField
    - assert
    - isTiled
    - strcmp
    - fputc
    - TIFFFindCODEC
    - TIFFGetStrileOffset
    - TIFFGetStrileByteCount
    - TIFFGetTagListEntry
    - TIFFFieldWithTag
    - _TIFFDataSize
    - strchr
    - _TIFFPrettyPrintField
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void TIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFprintAsciiBounded
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:680,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - fd
    - cp
    argTypes:
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 681
    functionName: _TIFFprintAscii
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - strlen
    - _TIFFprintAsciiBounded
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAscii(FILE* fd, const char* cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isprint
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:689,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:690,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:697,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:699,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - cp
    - max_chars
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 701
    functionName: _TIFFprintAsciiBounded
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 2
    functionsReached:
    - fputc
    - fprintf
    - isprint
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAsciiBounded(FILE* fd, const char* cp, size_t max_chars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:706,1
    - Dst: _TIFFprintAscii
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:707,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - name
    - value
    argTypes:
    - FILE*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 703
    functionDepth: 2
    functionLinenumber: 703
    functionLinenumberEnd: 709
    functionName: _TIFFprintAsciiTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_print.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _TIFFprintAscii
    linkageType: ''
    returnType: void
    signature: void _TIFFprintAsciiTag(FILE* fd, const char* name, const char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 173
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 174
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:186,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:196,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:197,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:205,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:211,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:234,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:239,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 195
        line_start: 195
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 253
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 253
    functionName: LogL16Decode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFErrorExt
    - assert
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int LogL16Decode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:262,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:269,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:270,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:278,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:296,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:301,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 269
        line_start: 269
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 268
        line_start: 268
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 310
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 310
    functionName: LogLuvDecode24
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int LogLuvDecode24(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:329,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:330,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:331,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:339,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:345,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:368,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:373,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 44
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (s == 0)
      pos:
        line_end: 328
        line_start: 328
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 330
        line_start: 330
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 387
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 387
    functionName: LogLuvDecode32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFErrorExt
    - DecoderState
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecode32(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:397,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:402,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (cc%rowlen == 0)
      pos:
        line_end: 401
        line_start: 401
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 408
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 408
    functionName: LogLuvDecodeStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecodeStrip(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:418,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (cc%rowlen == 0)
      pos:
        line_end: 422
        line_start: 422
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 429
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 429
    functionName: LogLuvDecodeTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFTileRowSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvDecodeTile(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:438,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:450,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:451,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:459,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:473,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:505,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 450
        line_start: 450
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 449
        line_start: 449
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 528
      start: 434
    functionDepth: 3
    functionLinenumber: 434
    functionLinenumberEnd: 528
    functionName: LogL16Encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LogL16Encode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:537,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:544,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:545,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:553,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:566,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 544
        line_start: 544
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 543
        line_start: 543
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 580
      start: 533
    functionDepth: 3
    functionLinenumber: 533
    functionLinenumberEnd: 580
    functionName: LogLuvEncode24
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LogLuvEncode24(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:589,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:601,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:602,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:611,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:625,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:657,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 75
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 601
        line_start: 601
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (s == 0)
      pos:
        line_end: 600
        line_start: 600
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 680
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 680
    functionName: LogLuvEncode32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int LogLuvEncode32(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:689,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:694,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (cc%rowlen == 0)
      pos:
        line_end: 693
        line_start: 693
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 700
      start: 686
    functionDepth: 3
    functionLinenumber: 686
    functionLinenumberEnd: 700
    functionName: LogLuvEncodeStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFScanlineSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncodeStrip(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:709,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:714,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (cc%rowlen == 0)
      pos:
        line_end: 713
        line_start: 713
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 720
      start: 706
    functionDepth: 3
    functionLinenumber: 706
    functionLinenumberEnd: 720
    functionName: LogLuvEncodeTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - TIFFTileRowSize
    - assert
    linkageType: ''
    returnType: int
    signature: int LogLuvEncodeTile(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 742
    functionName: log2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: log2(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 743
    functionDepth: 0
    functionLinenumber: 743
    functionLinenumberEnd: 744
    functionName: exp2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exp2(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rand
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:751,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - x
    - m
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 752
      start: 745
    functionDepth: 0
    functionLinenumber: 745
    functionLinenumberEnd: 752
    functionName: itrunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - rand
    linkageType: ''
    returnType: int
    signature: int itrunc(double x, int m)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:765,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - p16
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 767
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 767
    functionName: LogL16toY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double LogL16toY(int p16)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:780,1
    - Dst: log2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:780,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:782,1
    - Dst: log2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:782,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - Y
    - em
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 772
    functionDepth: 1
    functionLinenumber: 772
    functionLinenumberEnd: 784
    functionName: LogL16fromY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    - log2
    linkageType: ''
    returnType: int
    signature: int LogL16fromY(double Y, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:793,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 794
    functionName: L16toY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void L16toY(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:803,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:804,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 806
    functionName: L16toGry
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - sqrt
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void L16toGry(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogL16fromY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:815,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 816
    functionName: L16fromY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogL16fromY
    linkageType: ''
    returnType: void
    signature: void L16fromY(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:831,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:832,1
    - Dst: sqrt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - xyz
    - rgb
    argTypes:
    - float[]
    - uint8[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 834
    functionName: XYZtoRGB24
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - sqrt
    linkageType: ''
    returnType: void
    signature: void XYZtoRGB24(float xyz[3], uint8 rgb[3])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: exp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p10
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 839
    functionDepth: 0
    functionLinenumber: 839
    functionLinenumberEnd: 845
    functionName: LogL10toY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - exp
    linkageType: ''
    returnType: double
    signature: double LogL10toY(int p10)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:858,1
    - Dst: log2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - Y
    - em
    argTypes:
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 859
    functionName: LogL10fromY
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    - log2
    linkageType: ''
    returnType: int
    signature: int LogL10fromY(double Y, int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - u
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 862
    functionDepth: 0
    functionLinenumber: 862
    functionLinenumberEnd: 864
    functionName: uv2ang
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: uv2ang(u, v)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: uv2ang
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:884,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:886,1
    - Dst: uv2ang
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:911,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 36
    argCount: 2
    argNames:
    - u
    - v
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 865
    functionDepth: 1
    functionLinenumber: 865
    functionLinenumberEnd: 913
    functionName: oog_encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv2ang
    - fabs
    linkageType: ''
    returnType: int
    signature: int oog_encode(double u, double v)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: oog_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:927,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:928,1
    - Dst: oog_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:930,1
    - Dst: oog_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:932,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:933,1
    - Dst: oog_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:935,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - u
    - v
    - em
    argTypes:
    - double
    - double
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 921
    functionDepth: 2
    functionLinenumber: 921
    functionLinenumberEnd: 938
    functionName: uv_encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    - oog_encode
    linkageType: ''
    returnType: int
    signature: int uv_encode(double u, double v, int em)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - up
    - vp
    - c
    argTypes:
    - double*
    - double*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 943
    functionDepth: 0
    functionLinenumber: 943
    functionLinenumberEnd: 970
    functionName: uv_decode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int uv_decode(double *up, double *vp, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogL10toY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:981,1
    - Dst: uv_decode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:988,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - p
    - XYZ
    argTypes:
    - uint32
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 975
    functionDepth: 1
    functionLinenumber: 975
    functionLinenumberEnd: 998
    functionName: LogLuv24toXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv_decode
    - LogL10toY
    linkageType: ''
    returnType: void
    signature: void LogLuv24toXYZ(uint32 p, float XYZ[3])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LogL10fromY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1009,1
    - Dst: uv_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1019,1
    - Dst: uv_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1021,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - XYZ
    - em
    argTypes:
    - float[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1003
    functionDepth: 3
    functionLinenumber: 1003
    functionLinenumberEnd: 1024
    functionName: LogLuv24fromXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv_encode
    - LogL10fromY
    linkageType: ''
    returnType: uint32
    signature: uint32 LogLuv24fromXYZ(float XYZ[3], int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24toXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1026
    functionDepth: 2
    functionLinenumber: 1026
    functionLinenumberEnd: 1037
    functionName: Luv24toXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv24toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv24toXYZ(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uv_decode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1049,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 1039
    functionDepth: 1
    functionLinenumber: 1039
    functionLinenumberEnd: 1057
    functionName: Luv24toLuv48
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - uv_decode
    linkageType: ''
    returnType: void
    signature: void Luv24toLuv48(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24toXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1068,1
    - Dst: XYZtoRGB24
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1059
    functionDepth: 2
    functionLinenumber: 1059
    functionLinenumberEnd: 1072
    functionName: Luv24toRGB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - XYZtoRGB24
    - LogLuv24toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv24toRGB(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv24fromXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1081,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1084
      start: 1074
    functionDepth: 4
    functionLinenumber: 1074
    functionLinenumberEnd: 1084
    functionName: Luv24fromXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv24fromXYZ
    linkageType: ''
    returnType: void
    signature: void Luv24fromXYZ(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1102,1
    - Dst: uv_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1104,1
    - Dst: uv_encode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1086
    functionDepth: 3
    functionLinenumber: 1086
    functionLinenumberEnd: 1111
    functionName: Luv24fromLuv48
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    - uv_encode
    linkageType: ''
    returnType: void
    signature: void Luv24fromLuv48(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LogL16toY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - p
    - XYZ
    argTypes:
    - uint32
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1136
    functionName: LogLuv32toXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL16toY
    linkageType: ''
    returnType: void
    signature: void LogLuv32toXYZ(uint32 p, float XYZ[3])
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LogL16fromY
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1147,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1158,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1161,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - XYZ
    - em
    argTypes:
    - float[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1141
    functionDepth: 2
    functionLinenumber: 1141
    functionLinenumberEnd: 1165
    functionName: LogLuv32fromXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    - LogL16fromY
    linkageType: ''
    returnType: uint32
    signature: uint32 LogLuv32fromXYZ(float XYZ[3], int em)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32toXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1167
    functionDepth: 2
    functionLinenumber: 1167
    functionLinenumberEnd: 1177
    functionName: Luv32toXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv32toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32toXYZ(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1179
    functionDepth: 0
    functionLinenumber: 1179
    functionLinenumberEnd: 1195
    functionName: Luv32toLuv48
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Luv32toLuv48(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32toXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1206,1
    - Dst: XYZtoRGB24
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1207,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1197
    functionDepth: 2
    functionLinenumber: 1197
    functionLinenumberEnd: 1210
    functionName: Luv32toRGB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - XYZtoRGB24
    - LogLuv32toXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32toRGB(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LogLuv32fromXYZ
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1222
      start: 1212
    functionDepth: 3
    functionLinenumber: 1212
    functionLinenumberEnd: 1222
    functionName: Luv32fromXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 1
    functionsReached:
    - LogLuv32fromXYZ
    linkageType: ''
    returnType: void
    signature: void Luv32fromXYZ(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1241,1
    - Dst: itrunc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1242,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1224
    functionDepth: 1
    functionLinenumber: 1224
    functionLinenumberEnd: 1245
    functionName: Luv32fromLuv48
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - itrunc
    linkageType: ''
    returnType: void
    signature: void Luv32fromLuv48(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - sp
    - op
    - n
    argTypes:
    - LogLuvState*
    - uint8*
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1247
    functionDepth: 0
    functionLinenumber: 1247
    functionLinenumberEnd: 1251
    functionName: _logLuvNop
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _logLuvNop(LogLuvState* sp, uint8* op, tmsize_t n)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1257,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1258,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1260,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1261,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1262,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1264,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1253
    functionDepth: 0
    functionLinenumber: 1253
    functionLinenumberEnd: 1270
    functionName: LogL16GuessDataFmt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: int
    signature: int LogL16GuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - s
    - ','
    - b
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1256
    functionDepth: 0
    functionLinenumber: 1256
    functionLinenumberEnd: 1257
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(s,b,f)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - m1
    - m2
    argTypes:
    - tmsize_t
    - tmsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1276
    functionName: multiply_ms
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 3
    functionsReached:
    - _TIFFMultiplySSize
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t multiply_ms(tmsize_t m1, tmsize_t m2)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1283,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1285,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1286,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1290,1
    - Dst: LogL16GuessDataFmt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1298,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1310,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1314,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1315,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1317,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1319,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1320,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1321,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1322,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 1284
        line_start: 1284
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (td->td_photometric == PHOTOMETRIC_LOGL)
      pos:
        line_end: 1285
        line_start: 1285
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1326
      start: 1278
    functionDepth: 1
    functionLinenumber: 1278
    functionLinenumberEnd: 1326
    functionName: LogL16InitState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - multiply_ms
    - LogL16GuessDataFmt
    - TIFFErrorExt
    - assert
    - _TIFFmalloc
    - isTiled
    linkageType: ''
    returnType: int
    signature: int LogL16InitState(TIFF* tif)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1338,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1339,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1342,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1343,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1344,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1347,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1348,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1349,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1352,1
    - Dst: PACK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1353,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1378
    functionName: LogLuvGuessDataFmt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - PACK
    linkageType: ''
    returnType: int
    signature: int LogLuvGuessDataFmt(TIFFDirectory *td)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1337
    functionDepth: 0
    functionLinenumber: 1337
    functionLinenumberEnd: 1338
    functionName: PACK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PACK(a,b)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1385,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1387,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1388,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1392,1
    - Dst: LogLuvGuessDataFmt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1397,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1412,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1416,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1417,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1419,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1421,1
    - Dst: multiply_ms
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1422,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1423,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1424,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (td->td_photometric == PHOTOMETRIC_LOGLUV)
      pos:
        line_end: 1387
        line_start: 1387
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    - condition: (sp != NULL)
      pos:
        line_end: 1386
        line_start: 1386
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1428
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1428
    functionName: LogLuvInitState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - multiply_ms
    - TIFFErrorExt
    - assert
    - LogLuvGuessDataFmt
    - _TIFFmalloc
    - isTiled
    linkageType: ''
    returnType: int
    signature: int LogLuvInitState(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1430
    functionDepth: 0
    functionLinenumber: 1430
    functionLinenumberEnd: 1435
    functionName: LogLuvFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LogLuvFixupTags(TIFF* tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1441,1
    - Dst: LogLuvInitState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1447,1
    - Dst: LogL16InitState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1478,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1491,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 52
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1437
    functionDepth: 2
    functionLinenumber: 1437
    functionLinenumberEnd: 1497
    functionName: LogLuvSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL16InitState
    - TIFFErrorExt
    - LogLuvInitState
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int LogLuvSetupDecode(TIFF* tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1503,1
    - Dst: LogLuvInitState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1508,1
    - Dst: LogL16InitState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1541,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1555,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1563,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 62
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1567
      start: 1499
    functionDepth: 2
    functionLinenumber: 1499
    functionLinenumberEnd: 1567
    functionName: LogLuvSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - LogL16InitState
    - TIFFErrorExt
    - LogLuvInitState
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int LogLuvSetupEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1574
        line_start: 1574
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1593
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1593
    functionName: LogLuvClose
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void LogLuvClose(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1600,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1606,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1607,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1599
        line_start: 1599
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1611
      start: 1595
    functionDepth: 1
    functionLinenumber: 1595
    functionLinenumberEnd: 1611
    functionName: LogLuvCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFSetDefaultCompressionState
    - assert
    linkageType: ''
    returnType: void
    signature: void LogLuvCleanup(TIFF* tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1617,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1622,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1641,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1648,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1653,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1654,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1658,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1658,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1659,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1662,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1665,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1613
    functionDepth: 5
    functionLinenumber: 1613
    functionLinenumberEnd: 1674
    functionName: LogLuvVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - va_arg
    - TIFFSetField
    - DecoderState
    - TIFFErrorExt
    - TIFFScanlineSize
    - isTiled
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int LogLuvVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1683,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1676
    functionDepth: 0
    functionLinenumber: 1676
    functionLinenumberEnd: 1688
    functionName: LogLuvVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - va_arg
    linkageType: ''
    returnType: int
    signature: int LogLuvVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1701,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1706,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1707,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1708,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1716,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1720,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c:1751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_SGILOG24 || scheme == COMPRESSION_SGILOG)
      pos:
        line_end: 1700
        line_start: 1700
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    constantsTouched: []
    func_position:
      end: 1754
      start: 1695
    functionDepth: 2
    functionLinenumber: 1695
    functionLinenumberEnd: 1754
    functionName: TIFFInitSGILog
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_luv.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitSGILog(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: BITn
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITn(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    functionName: BITFIELDn
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BITFIELDn(tif, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: TIFFFieldSet
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFFieldSet(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 198
    functionName: TIFFSetFieldBit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFSetFieldBit(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: TIFFClrFieldBit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFClrFieldBit(tif, field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fields
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: FieldSet
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FieldSet(fields, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fields
    - ','
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    functionName: ResetFieldBit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dir.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ResetFieldBit(fields, f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 37
    functionName: DumpFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DumpFixupTags(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:53,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:60,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:66,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - pp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: ( n > 0 )
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    constantsTouched: []
    func_position:
      end: 70
      start: 42
    functionDepth: 3
    functionLinenumber: 42
    functionLinenumberEnd: 70
    functionName: DumpModeEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - assert
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int DumpModeEncode(TIFF* tif, uint8* pp, tmsize_t cc, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:82,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:88,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c:101,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 105
    functionName: DumpModeDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int DumpModeDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - nrows
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: DumpModeSeek
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int DumpModeSeek(TIFF* tif, uint32 nrows)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 134
    functionName: TIFFInitDumpMode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dumpmode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFInitDumpMode(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: LState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - ret
    argTypes:
    - lzma_ret
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: LZMAStrerror
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      LZMAStrerror(lzma_ret ret)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: LZMAFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int LZMAFixupTags(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:110,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:112,1
    - Dst: lzma_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 122
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 122
    functionName: LZMASetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_end
    - assert
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int LZMASetupDecode(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:131,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:135,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:138,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:143,1
    - Dst: lzma_stream_decoder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:152,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:154,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 160
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 160
    functionName: LZMAPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - DecoderState
    - TIFFErrorExt
    - lzma_stream_decoder
    - assert
    - LZMAStrerror
    - TIFF*::tif_setupdecode
    linkageType: ''
    returnType: int
    signature: int LZMAPreDecode(TIFF* tif, uint16 s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:166,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:169,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:170,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:178,1
    - Dst: lzma_code
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:191,1
    - Dst: lzma_stream_decoder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:195,1
    - Dst: lzma_memusage
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:196,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:198,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:200,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:208,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:210,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:215,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    - condition: (sp != NULL)
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 225
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 225
    functionName: LZMADecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_memusage
    - DecoderState
    - lzma_code
    - TIFFErrorExt
    - lzma_stream_decoder
    - assert
    - LZMAStrerror
    linkageType: ''
    returnType: int
    signature: int LZMADecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:230,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:232,1
    - Dst: lzma_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 231
        line_start: 231
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 240
    functionName: LZMASetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_end
    - assert
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int LZMASetupEncode(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:249,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:253,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:255,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:260,1
    - Dst: lzma_stream_encoder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:264,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:266,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 252
        line_start: 252
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 271
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 271
    functionName: LZMAPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_stream_encoder
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFF*::tif_setupencode
    - LZMAStrerror
    linkageType: ''
    returnType: int
    signature: int LZMAPreEncode(TIFF* tif, uint16 s)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:280,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:282,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:283,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:289,1
    - Dst: lzma_code
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:294,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:296,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:298,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:303,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 282
        line_start: 282
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    - condition: (sp != NULL)
      pos:
        line_end: 281
        line_start: 281
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 309
      start: 276
    functionDepth: 3
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: LZMAEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_code
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFFFlushData1
    - LZMAStrerror
    linkageType: ''
    returnType: int
    signature: int LZMAEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:319,1
    - Dst: lzma_code
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:324,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:331,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:337,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:338,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: LZMAPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_code
    - TIFFErrorExt
    - EncoderState
    - TIFFFlushData1
    - LZMAStrerror
    linkageType: ''
    returnType: int
    signature: int LZMAPostEncode(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:348,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:350,1
    - Dst: TIFFPredictorCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:352,1
    - Dst: lzma_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:358,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:361,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 349
        line_start: 349
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 365
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 365
    functionName: LZMACleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - TIFFPredictorCleanup
    - _TIFFfree
    - lzma_end
    - assert
    - _TIFFSetDefaultCompressionState
    - LState
    linkageType: ''
    returnType: void
    signature: void LZMACleanup(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:371,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:375,1
    - Dst: lzma_lzma_preset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:376,1
    - Dst: lzma_stream_encoder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:378,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:382,1
    - Dst: LZMAStrerror
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 392
    functionName: LZMAVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_lzma_preset
    - va_arg
    - lzma_stream_encoder
    - TIFFErrorExt
    - LZMAStrerror
    - LState
    linkageType: ''
    returnType: int
    signature: int LZMAVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:397,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 407
    functionName: LZMAVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - LState
    - va_arg
    linkageType: ''
    returnType: int
    signature: int LZMAVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:421,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:426,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:426,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:427,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:435,1
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:438,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:439,1
    - Dst: lzma_lzma_preset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:465,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:491,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c:494,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: ( scheme == COMPRESSION_LZMA )
      pos:
        line_end: 420
        line_start: 420
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    constantsTouched: []
    func_position:
      end: 497
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 497
    functionName: TIFFInitLZMA
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_lzma.c
    functionUses: 0
    functionsReached:
    - lzma_lzma_preset
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - memcpy
    - TIFFPredictorInit
    - LState
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitLZMA(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    functionName: LState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 25
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 68
    functionName: ZSTDFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ZSTDFixupTags(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:73,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:75,1
    - Dst: ZSTD_freeCStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 86
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 86
    functionName: ZSTDSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_freeCStream
    - assert
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int ZSTDSetupDecode(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:95,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:99,1
    - Dst: TIFF*::tif_setupdecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:102,1
    - Dst: ZSTD_freeDStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:106,1
    - Dst: ZSTD_createDStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:110,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:112,1
    - Dst: ZSTD_initDStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:116,1
    - Dst: ZSTD_isError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:117,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:118,1
    - Dst: ZSTD_getErrorName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:120,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 125
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 125
    functionName: ZSTDPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - DecoderState
    - ZSTD_initDStream
    - TIFFErrorExt
    - assert
    - TIFF*::tif_setupdecode
    - ZSTD_isError
    - ZSTD_createDStream
    - ZSTD_freeDStream
    linkageType: ''
    returnType: int
    signature: int ZSTDPreDecode(TIFF* tif, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:131,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:137,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:138,1
    - Dst: ZSTD_decompressStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:149,1
    - Dst: ZSTD_isError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:151,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:152,1
    - Dst: ZSTD_getErrorName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:154,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:162,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 4
    argNames:
    - tif
    - op
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    - condition: (sp->state == LSTATE_INIT_DECODE)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 173
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 173
    functionName: ZSTDDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - DecoderState
    - TIFFErrorExt
    - assert
    - ZSTD_isError
    - ZSTD_decompressStream
    linkageType: ''
    returnType: int
    signature: int ZSTDDecode(TIFF* tif, uint8* op, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:178,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:180,1
    - Dst: ZSTD_freeDStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 189
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 189
    functionName: ZSTDSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - assert
    - ZSTD_freeDStream
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int ZSTDSetupEncode(TIFF* tif)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:198,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:202,1
    - Dst: TIFF*::tif_setupencode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:204,1
    - Dst: ZSTD_freeCStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:207,1
    - Dst: ZSTD_createCStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:210,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:212,1
    - Dst: ZSTD_initCStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:217,1
    - Dst: ZSTD_isError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:218,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:219,1
    - Dst: ZSTD_getErrorName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:221,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 201
        line_start: 201
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 230
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 230
    functionName: ZSTDPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_freeCStream
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFF*::tif_setupencode
    - ZSTD_createCStream
    - ZSTD_isError
    - ZSTD_initCStream
    linkageType: ''
    returnType: int
    signature: int ZSTDPreEncode(TIFF* tif, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:239,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:243,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:244,1
    - Dst: ZSTD_compressStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:253,1
    - Dst: ZSTD_isError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:255,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:256,1
    - Dst: ZSTD_getErrorName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:258,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts:
    - condition: (sp->state == LSTATE_INIT_ENCODE)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    - condition: (sp != NULL)
      pos:
        line_end: 242
        line_start: 242
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 270
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 270
    functionName: ZSTDEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - TIFFErrorExt
    - assert
    - EncoderState
    - TIFFFlushData1
    - ZSTD_isError
    - ZSTD_compressStream
    linkageType: ''
    returnType: int
    signature: int ZSTDEncode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:279,1
    - Dst: ZSTD_endStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:283,1
    - Dst: ZSTD_isError
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:284,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:285,1
    - Dst: ZSTD_getErrorName
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:287,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 298
    functionName: ZSTDPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - ZSTD_getErrorName
    - ZSTD_endStream
    - TIFFErrorExt
    - EncoderState
    - TIFFFlushData1
    - ZSTD_isError
    linkageType: ''
    returnType: int
    signature: int ZSTDPostEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:303,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:305,1
    - Dst: TIFFPredictorCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:307,1
    - Dst: ZSTD_freeDStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:313,1
    - Dst: ZSTD_freeCStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:317,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:320,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 304
        line_start: 304
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 324
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 324
    functionName: ZSTDCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - TIFFPredictorCleanup
    - _TIFFfree
    - ZSTD_freeCStream
    - assert
    - _TIFFSetDefaultCompressionState
    - LState
    - ZSTD_freeDStream
    linkageType: ''
    returnType: void
    signature: void ZSTDCleanup(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:330,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:334,1
    - Dst: ZSTD_maxCLevel
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:336,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:338,1
    - Dst: ZSTD_maxCLevel
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:340,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 347
    functionName: ZSTDVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - LState
    - va_arg
    - ZSTD_maxCLevel
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int ZSTDVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:352,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:356,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 362
    functionName: ZSTDVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - LState
    - va_arg
    linkageType: ''
    returnType: int
    signature: int ZSTDVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:376,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:381,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:381,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:382,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:390,1
    - Dst: LState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:393,1
    - Dst: TIFFPredictorInit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:431,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c:434,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 41
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: ( scheme == COMPRESSION_ZSTD )
      pos:
        line_end: 375
        line_start: 375
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    constantsTouched: []
    func_position:
      end: 437
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 437
    functionName: TIFFInitZSTD
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_zstd.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - TIFFPredictorInit
    - LState
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitZSTD(TIFF* tif, int scheme)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 7
    argNames:
    - cielab
    - l
    - a
    - b
    - X
    - Y
    - Z
    argTypes:
    - TIFFCIELabToRGB*
    - uint32
    - int32
    - int32
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 69
    functionName: TIFFCIELabToXYZ
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFCIELabToXYZ(TIFFCIELabToRGB *cielab, uint32 l, int32 a, int32
      b,\n\t\tfloat *X, float *Y, float *Z)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - R
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    functionName: RINT
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RINT(R)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFmax
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:89,1
    - Dst: TIFFmax
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:90,1
    - Dst: TIFFmax
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:91,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:94,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:95,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:96,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:100,1
    - Dst: RINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:101,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:104,1
    - Dst: RINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:105,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:108,1
    - Dst: RINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:109,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:112,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:113,1
    - Dst: TIFFmin
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 7
    argNames:
    - cielab
    - X
    - Y
    - Z
    - r
    - g
    - b
    argTypes:
    - TIFFCIELabToRGB*
    - float
    - float
    - float
    - uint32*
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 115
    functionName: TIFFXYZToRGB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - TIFFmin
    - RINT
    - TIFFmax
    linkageType: ''
    returnType: void
    signature: "void TIFFXYZToRGB(TIFFCIELabToRGB *cielab, float X, float Y, float
      Z,\n\t     uint32 *r, uint32 *g, uint32 *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:131,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:139,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:148,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - cielab
    - display
    - refWhite
    argTypes:
    - TIFFCIELabToRGB*
    - TIFFDisplay*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 166
    functionName: TIFFCIELabToRGBInit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - pow
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: "int TIFFCIELabToRGBInit(TIFFCIELabToRGB* cielab,\n\t\t    const TIFFDisplay
      *display, float *refWhite)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    functionName: FIX
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FIX(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - c
    - ','
    - RB
    - ','
    - RW
    - ','
    - CR
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: Code2V
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Code2V(c, RB, RW, CR)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - f
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: CLAMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLAMP(f,min,max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - f
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 179
    functionName: HICLAMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HICLAMP(f,max)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HICLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:187,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:188,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:189,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:192,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:195,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 7
    argNames:
    - ycbcr
    - Y
    - Cb
    - Cr
    - r
    - g
    - b
    argTypes:
    - TIFFYCbCrToRGB*
    - uint32
    - int32
    - int32
    - uint32*
    - uint32*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: TIFFYCbCrtoRGB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - HICLAMP
    - CLAMP
    linkageType: ''
    returnType: void
    signature: "void TIFFYCbCrtoRGB(TIFFYCbCrToRGB *ycbcr, uint32 Y, int32 Cb, int32
      Cr,\n\t       uint32 *r, uint32 *g, uint32 *b)"
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - v
    - vmin
    - vmax
    argTypes:
    - float
    - float
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 215
    functionName: CLAMPw
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float CLAMPw(float v, float vmin, float vmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:244,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:245,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:249,1
    - Dst: FIX
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:256,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:256,1
    - Dst: FIX
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:257,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:257,1
    - Dst: FIX
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:258,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:258,1
    - Dst: FIX
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:259,1
    - Dst: CLAMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:259,1
    - Dst: CLAMPw
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:274,1
    - Dst: Code2V
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:274,1
    - Dst: CLAMPw
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:277,1
    - Dst: Code2V
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:277,1
    - Dst: CLAMPw
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:286,1
    - Dst: Code2V
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c:286,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 3
    argNames:
    - ycbcr
    - luma
    - refBlackWhite
    argTypes:
    - TIFFYCbCrToRGB*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 292
    functionName: TIFFYCbCrToRGBInit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_color.c
    functionUses: 1
    functionsReached:
    - Code2V
    - _TIFFmemset
    - CLAMPw
    - FIX
    - CLAMP
    - TIFFroundup_32
    linkageType: ''
    returnType: int
    signature: int TIFFYCbCrToRGBInit(TIFFYCbCrToRGB* ycbcr, float *luma, float *refBlackWhite)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: Fax3State
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fax3State(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: DecoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DecoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 89
    functionName: EncoderState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 30
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EncoderState(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    functionName: is2DEncoding
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: is2DEncoding(sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: isAligned
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isAligned(p,t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - sp
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 104
    functionName: DECLARE_STATE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STATE(tif, sp, mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - sp
    - ','
    - mod
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    functionName: DECLARE_STATE_2D
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARE_STATE_2D(tif, sp, mod)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 130
    functionName: CACHE_STATE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CACHE_STATE(tif, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: UNCACHE_STATE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNCACHE_STATE(tif, sp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:147,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:150,1
    - Dst: TIFFGetBitRevTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 169
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 169
    functionName: Fax3PreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFGetBitRevTable
    - assert
    - DecoderState
    linkageType: ''
    returnType: int
    signature: int Fax3PreDecode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:180,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:181,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 184
    functionName: Fax3Unexpected
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - isTiled
    linkageType: ''
    returnType: void
    signature: void Fax3Unexpected(const char* module, TIFF* tif, uint32 line, uint32
      a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - table
    - ','
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    functionName: unexpected
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: unexpected(table, a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:190,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:192,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: Fax3Extension
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - isTiled
    linkageType: ''
    returnType: void
    signature: void Fax3Extension(const char* module, TIFF* tif, uint32 line, uint32
      a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    functionName: extension
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: extension(a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:201,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:203,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - module
    - tif
    - line
    - a0
    - lastx
    argTypes:
    - char*
    - TIFF*
    - uint32
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: Fax3BadLength
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExt
    - isTiled
    linkageType: ''
    returnType: void
    signature: void Fax3BadLength(const char* module, TIFF* tif, uint32 line, uint32
      a0, uint32 lastx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a0
    - ','
    - lastx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 208
    functionName: badlength
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: badlength(a0,lastx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:212,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:213,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - module
    - tif
    - line
    - a0
    argTypes:
    - char*
    - TIFF*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: Fax3PrematureEOF
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExt
    - isTiled
    linkageType: ''
    returnType: void
    signature: void Fax3PrematureEOF(const char* module, TIFF* tif, uint32 line, uint32
      a0)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a0
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 218
    functionName: prematureEOF
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: prematureEOF(a0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:227,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:231,1
    - Dst: CACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:234,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:241,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:242,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:243,1
    - Dst: SYNC_EOL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:245,1
    - Dst: EXPAND1D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:246,1
    - Dst: CLEANUP_RUNS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:253,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:256,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 261
    functionName: Fax3Decode1D
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - EXPAND1D
    - printf
    - UNCACHE_STATE
    - TIFFErrorExt
    - CLEANUP_RUNS
    - DECLARE_STATE
    - SYNC_EOL
    - fflush
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3Decode1D(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    functionName: SWAP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(t,a,b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE_2D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:270,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:275,1
    - Dst: CACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:278,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:284,1
    - Dst: SYNC_EOL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:287,1
    - Dst: NeedBits8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:288,1
    - Dst: GetBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:289,1
    - Dst: ClrBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:290,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:292,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:294,1
    - Dst: EXPAND1D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:299,1
    - Dst: EXPAND2D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:301,1
    - Dst: SETVALUE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:303,1
    - Dst: CLEANUP_RUNS
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:310,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:313,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:316,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 318
    functionName: Fax3Decode2D
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - DECLARE_STATE_2D
    - ClrBits
    - EXPAND1D
    - printf
    - UNCACHE_STATE
    - TIFFErrorExt
    - CLEANUP_RUNS
    - SETVALUE
    - SYNC_EOL
    - NeedBits8
    - fflush
    - EXPAND2D
    - GetBits
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3Decode2D(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 330
    functionName: FILL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL(n, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: ZERO
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERO(n, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 369
    functionName: FILL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FILL(n, cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - n
    - ','
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 380
    functionName: ZERO
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZERO(n, cp)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:425,1
    - Dst: ZERO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:435,1
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:460,1
    - Dst: FILL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:470,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:481,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 71
    argCount: 4
    argNames:
    - buf
    - runs
    - erun
    - lastx
    argTypes:
    - unsigned char*
    - uint32*
    - uint32*
    - uint32
    assertStmts:
    - condition: (x == lastx)
      pos:
        line_end: 480
        line_start: 480
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 482
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 482
    functionName: _TIFFFax3fillruns
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isAligned
    - ZERO
    - FILL
    - assert
    linkageType: ''
    returnType: void
    signature: void _TIFFFax3fillruns(unsigned char* buf, uint32* runs, uint32* erun,
      uint32 lastx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 0
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: Fax3FixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int Fax3FixupTags(TIFF* tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:505,1
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:507,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:512,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:519,1
    - Dst: TIFFTileRowSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:520,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:523,1
    - Dst: TIFFroundup_32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:542,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:544,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:546,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:547,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:552,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:553,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:558,1
    - Dst: TIFFSafeMultiply
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:558,1
    - Dst: is2DEncoding
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:565,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:572,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:580,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:582,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:587,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 590
    functionName: Fax3SetupState
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - Fax3State
    - EncoderState
    - TIFFScanlineSize
    - memset
    - _TIFFmalloc
    - isTiled
    - _TIFFCheckMalloc
    - TIFFSafeMultiply
    - TIFFTileRowSize
    - TIFFroundup_32
    - is2DEncoding
    linkageType: ''
    returnType: int
    signature: int Fax3SetupState(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 596
    functionDepth: 0
    functionLinenumber: 596
    functionLinenumberEnd: 603
    functionName: Fax3FlushBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: Fax3FlushBits(tif, sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 0
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: _FlushBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _FlushBits(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - tif
    - ','
    - bits
    - ','
    - length
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 612
    functionDepth: 0
    functionLinenumber: 612
    functionLinenumberEnd: 624
    functionName: _PutBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _PutBits(tif, bits, length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:633,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - bits
    - length
    argTypes:
    - TIFF*
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 641
    functionName: Fax3PutBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _PutBits
    - EncoderState
    linkageType: ''
    returnType: void
    signature: void Fax3PutBits(TIFF* tif, unsigned int bits, unsigned int length)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tif
    - ','
    - te
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 647
    functionName: putcode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: putcode(tif, te)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - w
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 650
    functionName: DEBUG_COLOR
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_COLOR(w)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - what
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 650
    functionDepth: 0
    functionLinenumber: 650
    functionLinenumberEnd: 657
    functionName: DEBUG_PRINT
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DEBUG_PRINT(what,len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:668,1
    - Dst: DEBUG_PRINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:678,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:680,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:685,1
    - Dst: DEBUG_PRINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:689,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:691,1
    - Dst: DEBUG_PRINT
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:697,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:699,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 3
    argNames:
    - tif
    - span
    - tab
    argTypes:
    - TIFF*
    - int32
    - tableentry*
    assertStmts:
    - condition: (te->runlen == 64*(span>>6))
      pos:
        line_end: 684
        line_start: 684
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 703
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 703
    functionName: putspan
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - DEBUG_PRINT
    - _PutBits
    - assert
    - EncoderState
    linkageType: ''
    returnType: void
    signature: void putspan(TIFF* tif, int32 span, const tableentry* tab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:714,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:732,1
    - Dst: is2DEncoding
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:737,1
    - Dst: _PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:741,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 711
    functionDepth: 1
    functionLinenumber: 711
    functionLinenumberEnd: 745
    functionName: Fax3PutEOL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _PutBits
    - EncoderState
    - is2DEncoding
    linkageType: ''
    returnType: void
    signature: void Fax3PutEOL(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:753,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:756,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:766,1
    - Dst: is2DEncoding
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:767,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (sp != NULL)
      pos:
        line_end: 755
        line_start: 755
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 787
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 787
    functionName: Fax3PreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - assert
    - EncoderState
    - is2DEncoding
    linkageType: ''
    returnType: int
    signature: int Fax3PreEncode(TIFF* tif, uint16 s)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:868,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - bp
    - bs
    - be
    argTypes:
    - unsigned char*
    - int32
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 901
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 901
    functionName: find0span
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isAligned
    linkageType: ''
    returnType: int32
    signature: int32 find0span(unsigned char* bp, int32 bs, int32 be)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:930,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 3
    argNames:
    - bp
    - bs
    - be
    argTypes:
    - unsigned char*
    - int32
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 963
    functionName: find1span
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - isAligned
    linkageType: ''
    returnType: int32
    signature: int32 find1span(unsigned char* bp, int32 bs, int32 be)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _cp
    - ','
    - _bs
    - ','
    - _be
    - ','
    - _color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 973
    functionName: finddiff
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: finddiff(_cp, _bs, _be, _color)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - _cp
    - ','
    - _bs
    - ','
    - _be
    - ','
    - _color
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 977
    functionDepth: 0
    functionLinenumber: 977
    functionLinenumberEnd: 979
    functionName: finddiff2
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: finddiff2(_cp, _bs, _be, _color)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:988,1
    - Dst: find0span
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:993,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:994,1
    - Dst: find1span
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:998,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:999,1
    - Dst: Fax3FlushBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1006,1
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1008,1
    - Dst: Fax3FlushBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1009,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - bp
    - bits
    argTypes:
    - TIFF*
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1012
    functionName: Fax3Encode1DRow
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - find1span
    - find0span
    - Fax3FlushBits
    - EncoderState
    - isAligned
    - putspan
    linkageType: ''
    returnType: int
    signature: int Fax3Encode1DRow(TIFF* tif, unsigned char* bp, uint32 bits)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1037,1
    - Dst: finddiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1037,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1038,1
    - Dst: finddiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1038,1
    - Dst: finddiff2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1042,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1042,1
    - Dst: finddiff2
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1050,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1050,1
    - Dst: putcode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1051,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1052,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1053,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1054,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1056,1
    - Dst: putspan
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1057,1
    - Dst: putcode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1061,1
    - Dst: putcode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1065,1
    - Dst: finddiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1070,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1070,1
    - Dst: finddiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1071,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1071,1
    - Dst: finddiff
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1072,1
    - Dst: PIXEL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1072,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 4
    argNames:
    - tif
    - bp
    - rp
    - bits
    argTypes:
    - TIFF*
    - unsigned char*
    - unsigned char*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1032
    functionDepth: 2
    functionLinenumber: 1032
    functionLinenumberEnd: 1076
    functionName: Fax3Encode2DRow
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - finddiff
    - PIXEL
    - putcode
    - finddiff2
    - putspan
    linkageType: ''
    returnType: int
    signature: int Fax3Encode2DRow(TIFF* tif, unsigned char* bp, unsigned char* rp,
      uint32 bits)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - ix
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1035
    functionDepth: 0
    functionLinenumber: 1035
    functionLinenumberEnd: 1036
    functionName: PIXEL
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PIXEL(buf,ix)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1085,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1089,1
    - Dst: Fax3PutEOL
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1094,1
    - Dst: is2DEncoding
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1095,1
    - Dst: Fax3Encode1DRow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1097,1
    - Dst: Fax3Encode2DRow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1101,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1110,1
    - Dst: Fax3Encode1DRow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1119
    functionName: Fax3Encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3Encode2DRow
    - TIFFErrorExt
    - EncoderState
    - Fax3PutEOL
    - Fax3Encode1DRow
    - _TIFFmemcpy
    - is2DEncoding
    linkageType: ''
    returnType: int
    signature: int Fax3Encode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1124,1
    - Dst: Fax3FlushBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1127,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1129
    functionName: Fax3PostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3FlushBits
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int Fax3PostEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1134,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1135,1
    - Dst: is2DEncoding
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1140,1
    - Dst: Fax3PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1145,1
    - Dst: Fax3FlushBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1146,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1148
    functionName: Fax3Close
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3State
    - Fax3FlushBits
    - EncoderState
    - Fax3PutBits
    - is2DEncoding
    linkageType: ''
    returnType: void
    signature: void Fax3Close(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1153,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1155,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1162,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1164,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1166,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1154
        line_start: 1154
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1170
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1170
    functionName: Fax3Cleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFSetDefaultCompressionState
    - assert
    - DecoderState
    linkageType: ''
    returnType: void
    signature: void Fax3Cleanup(TIFF* tif)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1194,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1197,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1198,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1202,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1205,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1205,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1210,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1215,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1218,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1221,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1224,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1230,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1231,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 35
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1196
        line_start: 1196
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    - condition: (sp->vsetparent != 0)
      pos:
        line_end: 1197
        line_start: 1197
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1237
      start: 1191
    functionDepth: 2
    functionLinenumber: 1191
    functionLinenumberEnd: 1237
    functionName: Fax3VSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - va_arg
    - DecoderState
    - TIFFSetFieldBit
    - TIFFFieldWithTag
    - Fax3State
    - assert
    linkageType: ''
    returnType: int
    signature: int Fax3VSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1242,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1244,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1248,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1251,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1251,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1255,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1258,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1261,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1264,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1243
        line_start: 1243
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1270
      start: 1239
    functionDepth: 1
    functionLinenumber: 1239
    functionLinenumberEnd: 1270
    functionName: Fax3VGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - va_arg
    - Fax3State
    - DecoderState
    - assert
    linkageType: ''
    returnType: int
    signature: int Fax3VGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1275,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1277,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1280,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1283,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1285,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1288,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1290,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1294,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1298,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1300,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1304,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1305,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1308,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1311,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1314,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1317,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1320,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1321,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1323,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1324,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp != 0)
      pos:
        line_end: 1276
        line_start: 1276
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    constantsTouched: []
    func_position:
      end: 1328
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1328
    functionName: Fax3PrintDir
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - fprintf
    - Fax3State
    - assert
    - TIFFFieldSet
    linkageType: ''
    returnType: void
    signature: void Fax3PrintDir(TIFF* tif, FILE* fd, long flags)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1339,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1339,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1340,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1349,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1352,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1356,1
    - Dst: Fax3State
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1358,1
    - Dst: DecoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1374,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1375,1
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 40
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1397
    functionName: InitCCITTFax3
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFSetField
    - DecoderState
    - TIFFErrorExt
    - Fax3State
    - TIFFArrayCount
    - EncoderState
    - _TIFFmalloc
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int InitCCITTFax3(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1403,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1407,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1408,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1409,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1417,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1420
      start: 1399
    functionDepth: 3
    functionLinenumber: 1399
    functionLinenumberEnd: 1420
    functionName: TIFFInitCCITTFax3
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFErrorExt
    - InitCCITTFax3
    - TIFFArrayCount
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTFax3(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - t
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1428
      start: 1427
    functionDepth: 0
    functionLinenumber: 1427
    functionLinenumberEnd: 1428
    functionName: SWAP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 32
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SWAP(t,a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE_2D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1434,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1438,1
    - Dst: CACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1441,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1449,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1450,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1451,1
    - Dst: EXPAND2D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1453,1
    - Dst: SETVALUE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1457,1
    - Dst: NeedBits16
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1464,1
    - Dst: GetBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1467,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1468,1
    - Dst: ClrBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1470,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1472,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1475,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1477
    functionName: Fax4Decode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - DECLARE_STATE_2D
    - ClrBits
    - printf
    - UNCACHE_STATE
    - TIFFErrorExt
    - NeedBits16
    - SETVALUE
    - fputs
    - fflush
    - EXPAND2D
    - GetBits
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax4Decode(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1487,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1491,1
    - Dst: Fax3Encode2DRow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1495,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1497,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - bp
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1483
    functionDepth: 3
    functionLinenumber: 1483
    functionLinenumberEnd: 1502
    functionName: Fax4Encode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - Fax3Encode2DRow
    - TIFFErrorExt
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int Fax4Encode(TIFF* tif, uint8* bp, tmsize_t cc, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EncoderState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1507,1
    - Dst: Fax3PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1510,1
    - Dst: Fax3PutBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1511,1
    - Dst: Fax3FlushBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1513,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1504
    functionDepth: 2
    functionLinenumber: 1504
    functionLinenumberEnd: 1515
    functionName: Fax4PostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - Fax3FlushBits
    - Fax3PutBits
    - EncoderState
    linkageType: ''
    returnType: int
    signature: int Fax4PostEncode(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1521,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1525,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1526,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1527,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1542,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1545
    functionName: TIFFInitCCITTFax4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFErrorExt
    - InitCCITTFax3
    - TIFFArrayCount
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTFax4(TIFF* tif, int scheme)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DECLARE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1558,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1563,1
    - Dst: CACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1566,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1573,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1574,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1575,1
    - Dst: EXPAND1D
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1577,1
    - Dst: ClrBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1584,1
    - Dst: ClrBits
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1587,1
    - Dst: isAligned
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1588,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1597,1
    - Dst: UNCACHE_STATE
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1600,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 4
    argNames:
    - tif
    - buf
    - occ
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1555
    functionDepth: 1
    functionLinenumber: 1555
    functionLinenumberEnd: 1602
    functionName: Fax3DecodeRLE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - ClrBits
    - EXPAND1D
    - printf
    - UNCACHE_STATE
    - TIFFErrorExt
    - DECLARE_STATE
    - isAligned
    - fflush
    - CACHE_STATE
    linkageType: ''
    returnType: int
    signature: int Fax3DecodeRLE(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1608,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1615,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1604
    functionDepth: 3
    functionLinenumber: 1604
    functionLinenumberEnd: 1619
    functionName: TIFFInitCCITTRLE
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - InitCCITTFax3
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTRLE(TIFF* tif, int scheme)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: InitCCITTFax3
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1625,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c:1632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1636
      start: 1621
    functionDepth: 3
    functionLinenumber: 1621
    functionLinenumberEnd: 1636
    functionName: TIFFInitCCITTRLEW
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_fax3.c
    functionUses: 0
    functionsReached:
    - InitCCITTFax3
    - TIFFSetField
    linkageType: ''
    returnType: int
    signature: int TIFFInitCCITTRLEW(TIFF* tif, int scheme)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectorySec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 182
    functionName: TIFFWriteDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 18
    functionsReached:
    - TIFFWriteDirectorySec
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectory(TIFF* tif)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:214,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:220,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: TIFFDeferStrileArrayWriting
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int TIFFDeferStrileArrayWriting(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetupStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:241,1
    - Dst: TIFFWriteDirectorySec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:242,1
    - Dst: TIFFSetWriteOffset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:243,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 235
    functionDepth: 2
    functionLinenumber: 235
    functionLinenumberEnd: 245
    functionName: TIFFCheckpointDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 5
    functionsReached:
    - TIFFWriteDirectorySec
    - TIFFSetupStrips
    - TIFFSetWriteOffset
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int TIFFCheckpointDirectory(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectorySec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - pdiroff
    argTypes:
    - TIFF*
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 251
    functionName: TIFFWriteCustomDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectorySec
    linkageType: ''
    returnType: int
    signature: int TIFFWriteCustomDirectory(TIFF* tif, uint64* pdiroff)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:266,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:280,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:281,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:283,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:296,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:297,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:298,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:303,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:304,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:306,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:307,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:312,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:317,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:319,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:320,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:338,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:339,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:341,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:355,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:356,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:357,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:362,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:365,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:370,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:372,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:373,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:378,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:383,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:385,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:386,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:402,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 86
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 403
    functionName: TIFFRewriteDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSwabLong8
    - TIFFSeekFile
    - ReadOK
    - TIFFWriteDirectory
    - TIFFSwabShort
    linkageType: ''
    returnType: int
    signature: int TIFFRewriteDirectory( TIFF *tif )
  - BBCount: 161
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFFillStriles
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:417,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:431,1
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:447,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:449,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:456,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:473,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:475,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:477,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:480,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:482,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:484,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:487,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:489,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:491,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:494,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:496,1
    - Dst: TIFFWriteDirectoryTagRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:498,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:501,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:503,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:506,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:508,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:511,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:513,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:516,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:518,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:521,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:523,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:526,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:528,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:531,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:533,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:536,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:538,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:541,1
    - Dst: TIFFWriteDirectoryTagShortLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:543,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:546,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:548,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:551,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:553,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:556,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:558,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:561,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:563,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:566,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:568,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:571,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:573,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:575,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:580,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:584,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:586,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:600,1
    - Dst: TIFFWriteDirectoryTagLongLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:605,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:609,1
    - Dst: TIFFWriteDirectoryTagColormap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:611,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:614,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:620,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:621,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:625,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:627,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:630,1
    - Dst: TIFFWriteDirectoryTagSampleformatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:632,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:635,1
    - Dst: TIFFWriteDirectoryTagSampleformatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:637,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:640,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:642,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:645,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:647,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:650,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:652,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:655,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:657,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:660,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:662,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:665,1
    - Dst: TIFFWriteDirectoryTagRationalArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:667,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:670,1
    - Dst: TIFFWriteDirectoryTagTransferfunction
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:672,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:675,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:677,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:680,1
    - Dst: TIFFWriteDirectoryTagSubifd
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:682,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:690,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:698,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:699,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:700,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:701,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:702,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:703,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:710,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:711,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:712,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:713,1
    - Dst: TIFFWriteDirectoryTagShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:714,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:721,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:722,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:723,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:724,1
    - Dst: TIFFWriteDirectoryTagLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:725,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:733,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:734,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:735,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:736,1
    - Dst: TIFFWriteDirectoryTagUndefinedArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:737,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:742,1
    - Dst: TIFFFieldTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:744,1
    - Dst: TIFFWriteDirectoryTagAscii
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:759,1
    - Dst: TIFFWriteDirectoryTagUndefinedArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:763,1
    - Dst: TIFFWriteDirectoryTagByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:767,1
    - Dst: TIFFWriteDirectoryTagSbyteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:771,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:775,1
    - Dst: TIFFWriteDirectoryTagSshortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:779,1
    - Dst: TIFFWriteDirectoryTagLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:783,1
    - Dst: TIFFWriteDirectoryTagSlongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:787,1
    - Dst: TIFFWriteDirectoryTagLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:791,1
    - Dst: TIFFWriteDirectoryTagSlong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:795,1
    - Dst: TIFFWriteDirectoryTagRationalArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:799,1
    - Dst: TIFFWriteDirectoryTagSrationalArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:803,1
    - Dst: TIFFWriteDirectoryTagFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:807,1
    - Dst: TIFFWriteDirectoryTagDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:811,1
    - Dst: TIFFWriteDirectoryTagIfdArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:815,1
    - Dst: TIFFWriteDirectoryTagIfdIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:819,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:823,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:829,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:832,1
    - Dst: TIFFLinkDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:837,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:841,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:853,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:863,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:871,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:884,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:887,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:898,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:905,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:909,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:912,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:914,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:918,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:924,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:925,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:934,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:941,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:945,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:947,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:949,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:951,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:955,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:957,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:959,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:961,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:963,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:966,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:968,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:971,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:974,1
    - Dst: TIFFCreateDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:982,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:987,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:989,1
    CyclomaticComplexity: 244
    EdgeCount: 244
    ICount: 512
    argCount: 4
    argNames:
    - tif
    - isimage
    - imagedone
    - pdiroff
    argTypes:
    - TIFF*
    - int
    - int
    - uint64*
    assertStmts:
    - condition: (o->field_type==TIFF_SHORT)
      pos:
        line_end: 709
        line_start: 709
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type==TIFF_LONG)
      pos:
        line_end: 720
        line_start: 720
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount==1)
      pos:
        line_end: 710
        line_start: 710
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type==TIFF_UNDEFINED)
      pos:
        line_end: 732
        line_start: 732
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (0)
      pos:
        line_end: 822
        line_start: 822
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount==1)
      pos:
        line_end: 721
        line_start: 721
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount==0)
      pos:
        line_end: 711
        line_start: 711
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount==TIFF_VARIABLE2)
      pos:
        line_end: 733
        line_start: 733
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount==1)
      pos:
        line_end: 734
        line_start: 734
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_type==TIFF_ASCII)
      pos:
        line_end: 697
        line_start: 697
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_readcount==TIFF_VARIABLE)
      pos:
        line_end: 698
        line_start: 698
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount==0)
      pos:
        line_end: 699
        line_start: 699
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (o->field_passcount==0)
      pos:
        line_end: 722
        line_start: 722
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 991
      start: 405
    functionDepth: 3
    functionLinenumber: 405
    functionLinenumberEnd: 991
    functionName: TIFFWriteDirectorySec
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFFreeDirectory
    - TIFFWriteDirectoryTagTransferfunction
    - strlen
    - TIFFSwabLong8
    - TIFFFlushData1
    - TIFFWriteDirectoryTagSampleformatArray
    - TIFFWriteDirectoryTagSlong8Array
    - _TIFFmalloc
    - TIFFFieldSet
    - TIFFWriteDirectoryTagLongLong8Array
    - TIFFLinkDirectory
    - TIFFWriteDirectoryTagSubifd
    - TIFFGetField
    - TIFFWriteDirectoryTagIfdArray
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - assert
    - TIFFWriteDirectoryTagSshortArray
    - TIFFWriteDirectoryTagAscii
    - TIFFWriteDirectoryTagShortArray
    - isTiled
    - TIFFWriteDirectoryTagLong
    - _TIFFFillStriles
    - TIFFWriteDirectoryTagSrationalArray
    - TIFFWriteDirectoryTagDoubleArray
    - TIFFWriteDirectoryTagLongArray
    - _TIFFmemcpy
    - TIFFWriteDirectoryTagFloatArray
    - TIFFCreateDirectory
    - TIFFWriteDirectoryTagByteArray
    - TIFFWriteDirectoryTagLong8Array
    - TIFFWriteDirectoryTagRational
    - TIFFWriteDirectoryTagRationalArray
    - SeekOK
    - TIFFWriteDirectoryTagShortPerSample
    - TIFFGetFieldDefaulted
    - TIFFFieldTag
    - TIFFWriteDirectoryTagSbyteArray
    - TIFFWriteDirectoryTagShort
    - TIFFSeekFile
    - TIFFWriteDirectoryTagShortLong
    - TIFFWriteDirectoryTagColormap
    - TIFFWriteDirectoryTagUndefinedArray
    - TIFFWriteDirectoryTagIfdIfd8Array
    - TIFFSwabShort
    - TIFFWriteDirectoryTagSlongArray
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectorySec(TIFF* tif, int isimage, int imagedone, uint64*
      pdiroff)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1000
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 1000
    functionName: TIFFClampDoubleToInt8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int8
    signature: int8 TIFFClampDoubleToInt8( double val )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1009
    functionName: TIFFClampDoubleToInt16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int16
    signature: int16 TIFFClampDoubleToInt16( double val )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 0
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: TIFFClampDoubleToInt32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int32
    signature: int32 TIFFClampDoubleToInt32( double val )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1027
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1027
    functionName: TIFFClampDoubleToUInt8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8
    signature: uint8 TIFFClampDoubleToUInt8( double val )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1029
    functionDepth: 0
    functionLinenumber: 1029
    functionLinenumberEnd: 1036
    functionName: TIFFClampDoubleToUInt16
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 TIFFClampDoubleToUInt16( double val )
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1038
    functionDepth: 0
    functionLinenumber: 1038
    functionLinenumberEnd: 1045
    functionName: TIFFClampDoubleToUInt32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFClampDoubleToUInt32( double val )
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1054,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1057,1
    - Dst: _TIFFClampDoubleToFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1067,1
    - Dst: TIFFWriteDirectoryTagFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1068,1
    - Dst: TIFFWriteDirectoryTagDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1072,1
    - Dst: TIFFClampDoubleToInt8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1079,1
    - Dst: TIFFWriteDirectoryTagSbyteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1080,1
    - Dst: TIFFClampDoubleToInt16
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1085,1
    - Dst: TIFFWriteDirectoryTagSshortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1086,1
    - Dst: TIFFClampDoubleToInt32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1091,1
    - Dst: TIFFWriteDirectoryTagSlongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1092,1
    - Dst: TIFFClampDoubleToUInt8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1099,1
    - Dst: TIFFWriteDirectoryTagByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1100,1
    - Dst: TIFFClampDoubleToUInt16
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1105,1
    - Dst: TIFFWriteDirectoryTagShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1106,1
    - Dst: TIFFClampDoubleToUInt32
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1111,1
    - Dst: TIFFWriteDirectoryTagLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1112,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1119,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 53
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1121
    functionName: TIFFWriteDirectoryTagSampleformatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFClampDoubleToUInt32
    - _TIFFfree
    - TIFFClampDoubleToInt8
    - TIFFErrorExt
    - TIFFWriteDirectoryTagSbyteArray
    - TIFFWriteDirectoryTagSshortArray
    - TIFFClampDoubleToUInt16
    - _TIFFmalloc
    - TIFFClampDoubleToInt32
    - _TIFFClampDoubleToFloat
    - TIFFClampDoubleToInt16
    - TIFFClampDoubleToUInt8
    - TIFFWriteDirectoryTagSlongArray
    - TIFFWriteDirectoryTagByteArray
    - TIFFWriteDirectoryTagDoubleArray
    - TIFFWriteDirectoryTagShortArray
    - TIFFWriteDirectoryTagLongArray
    - TIFFWriteDirectoryTagFloatArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSampleformatArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, double* value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagFloatPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1131,1
    - Dst: TIFFWriteDirectoryTagDoublePerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1133,1
    - Dst: TIFFWriteDirectoryTagSbytePerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1136,1
    - Dst: TIFFWriteDirectoryTagSshortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1138,1
    - Dst: TIFFWriteDirectoryTagSlongPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1140,1
    - Dst: TIFFWriteDirectoryTagBytePerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1143,1
    - Dst: TIFFWriteDirectoryTagShortPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1145,1
    - Dst: TIFFWriteDirectoryTagLongPerSample
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1147,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1124
    functionDepth: 1
    functionLinenumber: 1124
    functionLinenumberEnd: 1151
    functionName: TIFFWriteDirectoryTagSampleformatPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagBytePerSample
    - TIFFWriteDirectoryTagSbytePerSample
    - TIFFWriteDirectoryTagDoublePerSample
    - TIFFWriteDirectoryTagFloatPerSample
    - TIFFWriteDirectoryTagShortPerSample
    - TIFFWriteDirectoryTagSlongPerSample
    - TIFFWriteDirectoryTagSshortPerSample
    - TIFFWriteDirectoryTagLongPerSample
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSampleformatPerSample(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedAscii
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1154
    functionDepth: 1
    functionLinenumber: 1154
    functionLinenumberEnd: 1163
    functionName: TIFFWriteDirectoryTagAscii
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedAscii
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagAscii(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, char* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedUndefinedArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1165
    functionDepth: 1
    functionLinenumber: 1165
    functionLinenumberEnd: 1174
    functionName: TIFFWriteDirectoryTagUndefinedArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedUndefinedArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagUndefinedArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint8* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1185,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1177
    functionDepth: 1
    functionLinenumber: 1177
    functionLinenumberEnd: 1186
    functionName: TIFFWriteDirectoryTagByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedByte
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagByte(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1198
    functionName: TIFFWriteDirectoryTagByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagByteArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint8* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1214,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1217,1
    - Dst: TIFFWriteDirectoryTagCheckedByteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1222,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1201
    functionDepth: 1
    functionLinenumber: 1201
    functionLinenumberEnd: 1225
    functionName: TIFFWriteDirectoryTagBytePerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedByteArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagBytePerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSbyte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1229
    functionDepth: 1
    functionLinenumber: 1229
    functionLinenumberEnd: 1238
    functionName: TIFFWriteDirectoryTagSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSbyte
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSbyte(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSbyteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int8*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1250
    functionName: TIFFWriteDirectoryTagSbyteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSbyteArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSbyteArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, int8* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1266,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1269,1
    - Dst: TIFFWriteDirectoryTagCheckedSbyteArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1274,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1275,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1253
    functionDepth: 1
    functionLinenumber: 1253
    functionLinenumberEnd: 1277
    functionName: TIFFWriteDirectoryTagSbytePerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - TIFFWriteDirectoryTagCheckedSbyteArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSbytePerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int8 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1289
    functionName: TIFFWriteDirectoryTagShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShort
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagShort(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1300
    functionName: TIFFWriteDirectoryTagShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShortArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagShortArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint16* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1315,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1318,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1323,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1326
    functionName: TIFFWriteDirectoryTagShortPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShortArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagShortPerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSshort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1337,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1338
      start: 1329
    functionDepth: 1
    functionLinenumber: 1329
    functionLinenumberEnd: 1338
    functionName: TIFFWriteDirectoryTagSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSshort
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSshort(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSshortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1350
    functionName: TIFFWriteDirectoryTagSshortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSshortArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSshortArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, int16* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1366,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1369,1
    - Dst: TIFFWriteDirectoryTagCheckedSshortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1374,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1377
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1377
    functionName: TIFFWriteDirectoryTagSshortPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - TIFFErrorExt
    - _TIFFmalloc
    - TIFFWriteDirectoryTagCheckedSshortArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSshortPerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1388,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1389
    functionName: TIFFWriteDirectoryTagLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLong(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1400
    functionName: TIFFWriteDirectoryTagLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLongArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLongArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1416,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1419,1
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1424,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1427
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1427
    functionName: TIFFWriteDirectoryTagLongPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - TIFFWriteDirectoryTagCheckedLongArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLongPerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1440
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1440
    functionName: TIFFWriteDirectoryTagSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlong
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSlong(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1443
    functionDepth: 1
    functionLinenumber: 1443
    functionLinenumberEnd: 1452
    functionName: TIFFWriteDirectoryTagSlongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlongArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSlongArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, int32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1468,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1471,1
    - Dst: TIFFWriteDirectoryTagCheckedSlongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1476,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1479
    functionName: TIFFWriteDirectoryTagSlongPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlongArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSlongPerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1483
    functionDepth: 1
    functionLinenumber: 1483
    functionLinenumberEnd: 1492
    functionName: TIFFWriteDirectoryTagLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong8
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLong8(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1504
    functionName: TIFFWriteDirectoryTagLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong8Array
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1507
    functionDepth: 1
    functionLinenumber: 1507
    functionLinenumberEnd: 1516
    functionName: TIFFWriteDirectoryTagSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlong8
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSlong8(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int64 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSlong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1527,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1519
    functionDepth: 1
    functionLinenumber: 1519
    functionLinenumberEnd: 1528
    functionName: TIFFWriteDirectoryTagSlong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSlong8Array
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSlong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, int64* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedRational
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1539
    functionName: TIFFWriteDirectoryTagRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedRational
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagRational(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedRationalArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1541
    functionDepth: 1
    functionLinenumber: 1541
    functionLinenumberEnd: 1550
    functionName: TIFFWriteDirectoryTagRationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedRationalArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagRationalArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedSrationalArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1560,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1561
    functionName: TIFFWriteDirectoryTagSrationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedSrationalArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSrationalArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1572
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1572
    functionName: TIFFWriteDirectoryTagFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedFloat
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagFloat(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, float value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1575
    functionDepth: 1
    functionLinenumber: 1575
    functionLinenumberEnd: 1583
    functionName: TIFFWriteDirectoryTagFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedFloatArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagFloatArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, float* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1598,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1601,1
    - Dst: TIFFWriteDirectoryTagCheckedFloatArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1606,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1607,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1609
      start: 1586
    functionDepth: 1
    functionLinenumber: 1586
    functionLinenumberEnd: 1609
    functionName: TIFFWriteDirectoryTagFloatPerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - TIFFWriteDirectoryTagCheckedFloatArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagFloatPerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, float value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1621
    functionName: TIFFWriteDirectoryTagDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedDouble
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagDouble(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1632
      start: 1624
    functionDepth: 1
    functionLinenumber: 1624
    functionLinenumberEnd: 1632
    functionName: TIFFWriteDirectoryTagDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagCheckedDoubleArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagDoubleArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, double* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1647,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1650,1
    - Dst: TIFFWriteDirectoryTagCheckedDoubleArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1655,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1656,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1658
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1658
    functionName: TIFFWriteDirectoryTagDoublePerSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedDoubleArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagDoublePerSample(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1661
    functionDepth: 1
    functionLinenumber: 1661
    functionLinenumberEnd: 1670
    functionName: TIFFWriteDirectoryTagIfdArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfdArray
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagIfdArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1681,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1682
    functionName: TIFFWriteDirectoryTagIfd8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfd8Array
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagIfd8Array(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1694,1
    - Dst: TIFFWriteDirectoryTagCheckedLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1697
    functionName: TIFFWriteDirectoryTagShortLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedLong
    - TIFFWriteDirectoryTagCheckedShort
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagShortLong(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 value)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - strile_size
    - uncompressed_threshold
    argTypes:
    - TIFF*
    - uint64
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1699
    functionDepth: 0
    functionLinenumber: 1699
    functionLinenumberEnd: 1720
    functionName: _WriteAsType
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _WriteAsType(TIFF* tif, uint64 strile_size, uint64 uncompressed_threshold)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _WriteAsType
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile_size
    argTypes:
    - TIFF*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1725
      start: 1722
    functionDepth: 1
    functionLinenumber: 1722
    functionLinenumberEnd: 1725
    functionName: WriteAsLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - _WriteAsType
    linkageType: ''
    returnType: int
    signature: int WriteAsLong8(TIFF* tif, uint64 strile_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _WriteAsType
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1729,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - strile_size
    argTypes:
    - TIFF*
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1730
    functionName: WriteAsLong4
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - _WriteAsType
    linkageType: ''
    returnType: int
    signature: int WriteAsLong4(TIFF* tif, uint64 strile_size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1755,1
    - Dst: WriteAsLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1768,1
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1768,1
    - Dst: WriteAsLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1772,1
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1772,1
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1776,1
    - Dst: WriteAsLong4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1784,1
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1784,1
    - Dst: WriteAsLong4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1788,1
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1788,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1797,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1804,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1812,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1814,1
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1820,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1821,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1825,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1832,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1841,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1843,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1849,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1850,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 58
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1739
    functionDepth: 4
    functionLinenumber: 1739
    functionLinenumberEnd: 1854
    functionName: TIFFWriteDirectoryTagLongLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFWriteDirectoryTagCheckedShortArray
    - TIFFErrorExt
    - WriteAsLong4
    - TIFFWriteDirectoryTagCheckedLongArray
    - TIFFTileSize64
    - TIFFStripSize64
    - _TIFFmalloc
    - TIFFWriteDirectoryTagCheckedLong8Array
    - _TIFFfree
    - WriteAsLong8
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagLongLong8Array(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteDirectoryTagCheckedIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1881,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1889,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1892,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1900,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1902,1
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1908,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1912
      start: 1862
    functionDepth: 1
    functionLinenumber: 1862
    functionLinenumberEnd: 1912
    functionName: TIFFWriteDirectoryTagIfdIfd8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFWriteDirectoryTagCheckedIfdArray
    - _TIFFmalloc
    - TIFFWriteDirectoryTagCheckedIfd8Array
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagIfdIfd8Array(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1943,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1946,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1951,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1952,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1958,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1961,1
    - Dst: TIFFWriteDirectoryTagCheckedLongArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1966,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1967,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1971,1
    - Dst: TIFFWriteDirectoryTagCheckedLong8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1972,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts:
    - condition: (n==2)
      pos:
        line_end: 1970
        line_start: 1970
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 1975
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1975
    functionName: TIFFWriteDirectoryTagShortLongLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteDirectoryTagCheckedShortArray
    - TIFFErrorExt
    - TIFFWriteDirectoryTagCheckedLongArray
    - assert
    - _TIFFmalloc
    - TIFFWriteDirectoryTagCheckedLong8Array
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagShortLongLong8Array(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1990,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1993,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1996,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1997,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1998,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:1999,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2000,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1977
    functionDepth: 1
    functionLinenumber: 1977
    functionLinenumberEnd: 2002
    functionName: TIFFWriteDirectoryTagColormap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - TIFFWriteDirectoryTagCheckedShortArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagColormap(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2030,1
    - Dst: _TIFFmemcmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2036,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2041,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2044,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2047,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2049,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2051,1
    - Dst: TIFFWriteDirectoryTagCheckedShortArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2052,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2053,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2055
      start: 2004
    functionDepth: 1
    functionLinenumber: 2004
    functionLinenumberEnd: 2055
    functionName: TIFFWriteDirectoryTagTransferfunction
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - _TIFFmemcmp
    - TIFFWriteDirectoryTagCheckedShortArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagTransferfunction(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2077,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2080,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2087,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2092,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2093,1
    - Dst: TIFFWriteDirectoryTagCheckedIfdArray
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2098,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2099,1
    - Dst: TIFFWriteDirectoryTagCheckedIfd8Array
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2102,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 3
    argNames:
    - tif
    - ndir
    - dir
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    assertStmts:
    - condition: (pa != 0)
      pos:
        line_end: 2086
        line_start: 2086
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2120
      start: 2057
    functionDepth: 1
    functionLinenumber: 2057
    functionLinenumberEnd: 2120
    functionName: TIFFWriteDirectoryTagSubifd
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagCheckedIfdArray
    - TIFFErrorExt
    - assert
    - _TIFFmalloc
    - TIFFWriteDirectoryTagCheckedIfd8Array
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagSubifd(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2125,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - char*
    assertStmts:
    - condition: (sizeof(char)==1)
      pos:
        line_end: 2124
        line_start: 2124
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2127
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2127
    functionName: TIFFWriteDirectoryTagCheckedAscii
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedAscii(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, char* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2132,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint8*
    assertStmts:
    - condition: (sizeof(uint8)==1)
      pos:
        line_end: 2131
        line_start: 2131
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2134
      start: 2129
    functionDepth: 1
    functionLinenumber: 2129
    functionLinenumberEnd: 2134
    functionName: TIFFWriteDirectoryTagCheckedUndefinedArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedUndefinedArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint8* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2140,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint8
    assertStmts:
    - condition: (sizeof(uint8)==1)
      pos:
        line_end: 2139
        line_start: 2139
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2142
      start: 2137
    functionDepth: 1
    functionLinenumber: 2137
    functionLinenumberEnd: 2142
    functionName: TIFFWriteDirectoryTagCheckedByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedByte(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint8 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2148,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint8*
    assertStmts:
    - condition: (sizeof(uint8)==1)
      pos:
        line_end: 2147
        line_start: 2147
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2150
      start: 2145
    functionDepth: 1
    functionLinenumber: 2145
    functionLinenumberEnd: 2150
    functionName: TIFFWriteDirectoryTagCheckedByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedByteArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint8* value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2156,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int8
    assertStmts:
    - condition: (sizeof(int8)==1)
      pos:
        line_end: 2155
        line_start: 2155
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2158
      start: 2153
    functionDepth: 1
    functionLinenumber: 2153
    functionLinenumberEnd: 2158
    functionName: TIFFWriteDirectoryTagCheckedSbyte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSbyte(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int8 value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2164,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int8*
    assertStmts:
    - condition: (sizeof(int8)==1)
      pos:
        line_end: 2163
        line_start: 2163
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2166
      start: 2161
    functionDepth: 1
    functionLinenumber: 2161
    functionLinenumberEnd: 2166
    functionName: TIFFWriteDirectoryTagCheckedSbyteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSbyteArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, int8* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2172,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2175,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint16
    assertStmts:
    - condition: (sizeof(uint16)==2)
      pos:
        line_end: 2171
        line_start: 2171
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2177
      start: 2168
    functionDepth: 2
    functionLinenumber: 2168
    functionLinenumberEnd: 2177
    functionName: TIFFWriteDirectoryTagCheckedShort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabShort
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedShort(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2182,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2183,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2185,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint16*
    assertStmts:
    - condition: (count<0x80000000)
      pos:
        line_end: 2181
        line_start: 2181
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint16)==2)
      pos:
        line_end: 2182
        line_start: 2182
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2187
      start: 2179
    functionDepth: 2
    functionLinenumber: 2179
    functionLinenumberEnd: 2187
    functionName: TIFFWriteDirectoryTagCheckedShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 6
    functionsReached:
    - TIFFSwabArrayOfShort
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedShortArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint16* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2194,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2197,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int16
    assertStmts:
    - condition: (sizeof(int16)==2)
      pos:
        line_end: 2193
        line_start: 2193
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2199
      start: 2190
    functionDepth: 2
    functionLinenumber: 2190
    functionLinenumberEnd: 2199
    functionName: TIFFWriteDirectoryTagCheckedSshort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabShort
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSshort(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int16 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2205,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2206,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2208,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2209,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int16*
    assertStmts:
    - condition: (count<0x80000000)
      pos:
        line_end: 2204
        line_start: 2204
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int16)==2)
      pos:
        line_end: 2205
        line_start: 2205
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2210
      start: 2202
    functionDepth: 2
    functionLinenumber: 2202
    functionLinenumberEnd: 2210
    functionName: TIFFWriteDirectoryTagCheckedSshortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfShort
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSshortArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, int16* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2216,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2219,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    assertStmts:
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2215
        line_start: 2215
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2221
      start: 2212
    functionDepth: 2
    functionLinenumber: 2212
    functionLinenumberEnd: 2221
    functionName: TIFFWriteDirectoryTagCheckedLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedLong(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2226,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2227,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2229,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint32*
    assertStmts:
    - condition: (count<0x40000000)
      pos:
        line_end: 2225
        line_start: 2225
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2226
        line_start: 2226
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2231
      start: 2223
    functionDepth: 2
    functionLinenumber: 2223
    functionLinenumberEnd: 2231
    functionName: TIFFWriteDirectoryTagCheckedLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 4
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedLongArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2238,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2241,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int32
    assertStmts:
    - condition: (sizeof(int32)==4)
      pos:
        line_end: 2237
        line_start: 2237
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2243
      start: 2234
    functionDepth: 2
    functionLinenumber: 2234
    functionLinenumberEnd: 2243
    functionName: TIFFWriteDirectoryTagCheckedSlong
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSlong(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int32 value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2249,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2250,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2252,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2253,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int32*
    assertStmts:
    - condition: (count<0x40000000)
      pos:
        line_end: 2248
        line_start: 2248
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int32)==4)
      pos:
        line_end: 2249
        line_start: 2249
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2254
      start: 2246
    functionDepth: 2
    functionLinenumber: 2246
    functionLinenumberEnd: 2254
    functionName: TIFFWriteDirectoryTagCheckedSlongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSlongArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, int32* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2261,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2263,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2268,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint64
    assertStmts:
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 2260
        line_start: 2260
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2270
      start: 2257
    functionDepth: 2
    functionLinenumber: 2257
    functionLinenumberEnd: 2270
    functionName: TIFFWriteDirectoryTagCheckedLong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabLong8
    - TIFFErrorExt
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedLong8(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint64 value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2276,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2277,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2279,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2283,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2284,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts:
    - condition: (count<0x20000000)
      pos:
        line_end: 2275
        line_start: 2275
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 2276
        line_start: 2276
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2285
      start: 2273
    functionDepth: 2
    functionLinenumber: 2273
    functionLinenumberEnd: 2285
    functionName: TIFFWriteDirectoryTagCheckedLong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFSwabArrayOfLong8
    - TIFFErrorExt
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedLong8Array(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2292,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2294,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2299,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - int64
    assertStmts:
    - condition: (sizeof(int64)==8)
      pos:
        line_end: 2291
        line_start: 2291
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2301
      start: 2288
    functionDepth: 2
    functionLinenumber: 2288
    functionLinenumberEnd: 2301
    functionName: TIFFWriteDirectoryTagCheckedSlong8
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabLong8
    - TIFFErrorExt
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSlong8(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, int64 value)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2307,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2308,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2310,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2314,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - int64*
    assertStmts:
    - condition: (count<0x20000000)
      pos:
        line_end: 2306
        line_start: 2306
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(int64)==8)
      pos:
        line_end: 2307
        line_start: 2307
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2316
      start: 2304
    functionDepth: 2
    functionLinenumber: 2304
    functionLinenumberEnd: 2316
    functionName: TIFFWriteDirectoryTagCheckedSlong8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabArrayOfLong8
    - TIFFErrorExt
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSlong8Array(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, int64* value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2323,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2326,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2331,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2356,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2357,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2359,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts:
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2322
        line_start: 2322
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2360
      start: 2318
    functionDepth: 2
    functionLinenumber: 2318
    functionLinenumberEnd: 2360
    functionName: TIFFWriteDirectoryTagCheckedRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFWriteDirectoryTagData
    - TIFFSwabLong
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedRational(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, double value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2371,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2372,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2375,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2403,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2404,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2405,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts:
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2370
        line_start: 2370
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2407
      start: 2362
    functionDepth: 2
    functionLinenumber: 2362
    functionLinenumberEnd: 2407
    functionName: TIFFWriteDirectoryTagCheckedRationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExt
    - assert
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedRationalArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, float* value)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2418,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2419,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2422,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2465,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2466,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2467,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts:
    - condition: (sizeof(int32)==4)
      pos:
        line_end: 2417
        line_start: 2417
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2469
      start: 2409
    functionDepth: 2
    functionLinenumber: 2409
    functionLinenumberEnd: 2469
    functionName: TIFFWriteDirectoryTagCheckedSrationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDirectoryTagData
    - TIFFErrorExt
    - assert
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedSrationalArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2476,1
    - Dst: TIFFCvtNativeToIEEEFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2478,1
    - Dst: TIFFSwabFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2480,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2481,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - float
    assertStmts:
    - condition: (sizeof(float)==4)
      pos:
        line_end: 2475
        line_start: 2475
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2482
      start: 2472
    functionDepth: 2
    functionLinenumber: 2472
    functionLinenumberEnd: 2482
    functionName: TIFFWriteDirectoryTagCheckedFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFCvtNativeToIEEEFloat
    - TIFFSwabFloat
    - assert
    - TIFFWriteDirectoryTagData
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedFloat(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, float value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2488,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2489,1
    - Dst: TIFFCvtNativeToIEEEFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2490,1
    - Dst: TIFFSwabArrayOfFloat
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2492,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - float*
    assertStmts:
    - condition: (count<0x40000000)
      pos:
        line_end: 2487
        line_start: 2487
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(float)==4)
      pos:
        line_end: 2488
        line_start: 2488
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2494
      start: 2485
    functionDepth: 2
    functionLinenumber: 2485
    functionLinenumberEnd: 2494
    functionName: TIFFWriteDirectoryTagCheckedFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfFloat
    - TIFFCvtNativeToIEEEFloat
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedFloatArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, float* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2501,1
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2503,1
    - Dst: TIFFSwabDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2505,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 5
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - double
    assertStmts:
    - condition: (sizeof(double)==8)
      pos:
        line_end: 2500
        line_start: 2500
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2507
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2507
    functionName: TIFFWriteDirectoryTagCheckedDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabDouble
    - TIFFWriteDirectoryTagData
    - TIFFCvtNativeToIEEEDouble
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedDouble(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, double value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2513,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2514,1
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2515,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2517,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - double*
    assertStmts:
    - condition: (count<0x20000000)
      pos:
        line_end: 2512
        line_start: 2512
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(double)==8)
      pos:
        line_end: 2513
        line_start: 2513
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2519
      start: 2510
    functionDepth: 2
    functionLinenumber: 2510
    functionLinenumberEnd: 2519
    functionName: TIFFWriteDirectoryTagCheckedDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFSwabArrayOfDouble
    - TIFFWriteDirectoryTagData
    - TIFFCvtNativeToIEEEDouble
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedDoubleArray(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, double* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2524,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2525,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2527,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint32*
    assertStmts:
    - condition: (count<0x40000000)
      pos:
        line_end: 2523
        line_start: 2523
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 2524
        line_start: 2524
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2529
      start: 2521
    functionDepth: 2
    functionLinenumber: 2521
    functionLinenumberEnd: 2529
    functionName: TIFFWriteDirectoryTagCheckedIfdArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFSwabArrayOfLong
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedIfdArray(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint32 count, uint32* value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2534,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2535,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2536,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2538,1
    - Dst: TIFFWriteDirectoryTagData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - count
    - value
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint32
    - uint64*
    assertStmts:
    - condition: (count<0x20000000)
      pos:
        line_end: 2533
        line_start: 2533
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (tif->tif_flags&TIFF_BIGTIFF)
      pos:
        line_end: 2535
        line_start: 2535
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 2534
        line_start: 2534
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2540
      start: 2531
    functionDepth: 2
    functionLinenumber: 2531
    functionLinenumberEnd: 2540
    functionName: TIFFWriteDirectoryTagCheckedIfd8Array
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 3
    functionsReached:
    - TIFFSwabArrayOfLong8
    - TIFFWriteDirectoryTagData
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagCheckedIfd8Array(TIFF* tif, uint32* ndir,
      TIFFDirEntry* dir, uint16 tag, uint32 count, uint64* value)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2550,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2569,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2581,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2584,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2586,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2589,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2590,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2592,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2603,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2604,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2610,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 54
    argCount: 8
    argNames:
    - tif
    - ndir
    - dir
    - tag
    - datatype
    - count
    - datalength
    - data
    argTypes:
    - TIFF*
    - uint32*
    - TIFFDirEntry*
    - uint16
    - uint16
    - uint32
    - uint32
    - void*
    assertStmts:
    - condition: (dir[m].tdir_tag!=tag)
      pos:
        line_end: 2549
        line_start: 2549
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    - condition: (datalength<0x80000000UL)
      pos:
        line_end: 2588
        line_start: 2588
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    constantsTouched: []
    func_position:
      end: 2615
      start: 2542
    functionDepth: 2
    functionLinenumber: 2542
    functionLinenumberEnd: 2615
    functionName: TIFFWriteDirectoryTagData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 28
    functionsReached:
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - assert
    - TIFFSwabLong8
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: int TIFFWriteDirectoryTagData(TIFF* tif, uint32* ndir, TIFFDirEntry*
      dir, uint16 tag, uint16 datatype, uint32 count, uint32 datalength, void* data)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2625,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2637,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2638,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2639,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2640,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2660,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2661,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2662,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2663,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2686,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2692,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2693,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2694,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2708,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2709,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2710,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2715,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2716,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2718,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2719,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2724,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2727,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2729,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2730,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2745,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2751,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2752,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2753,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2768,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2769,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2770,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2775,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2778,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2783,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2785,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2786,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2791,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2794,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2796,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2797,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 114
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2807
      start: 2620
    functionDepth: 2
    functionLinenumber: 2620
    functionLinenumberEnd: 2807
    functionName: TIFFLinkDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSeekFile
    - ReadOK
    - TIFFSwabShort
    - TIFFSwabLong8
    linkageType: ''
    returnType: int
    signature: int TIFFLinkDirectory(TIFF* tif)
  - BBCount: 64
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFindField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2843,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2848,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2850,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2857,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2865,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2866,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2876,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2877,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2883,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2888,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2889,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2895,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2906,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2907,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2913,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2915,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2925,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2934,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2936,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2942,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2944,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2947,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2949,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2954,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2956,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2958,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2960,1
    - Dst: WriteAsLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2977,1
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2977,1
    - Dst: WriteAsLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2981,1
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2981,1
    - Dst: WriteAsLong4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2992,1
    - Dst: TIFFStripSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2992,1
    - Dst: WriteAsLong4
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2996,1
    - Dst: TIFFTileSize64
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:2996,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3013,1
    - Dst: _TIFFCheckMalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3045,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3045,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3051,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3051,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3062,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3063,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3080,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3081,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3097,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3098,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3106,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3111,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3113,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3114,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3115,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3116,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3117,1
    - Dst: TIFFSwabArrayOfLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3118,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3126,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3134,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3165,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3166,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3167,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3172,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3172,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3173,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3174,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3179,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3188,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3190,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3190,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3191,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3192,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3199,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3199,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3202,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3210,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3212,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3219,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3221,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3224,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3226,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3230,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3232,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3234,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3236,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3242,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3243,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3249,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c:3251,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 237
    argCount: 5
    argNames:
    - tif
    - tag
    - in_datatype
    - count
    - data
    argTypes:
    - TIFF*
    - uint16
    - TIFFDataType
    - tmsize_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3258
      start: 2822
    functionDepth: 4
    functionLinenumber: 2822
    functionLinenumberEnd: 3258
    functionName: _TIFFRewriteField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_dirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFSwabArrayOfShort
    - WriteAsLong4
    - TIFFTileSize64
    - TIFFSwabArrayOfLong
    - ReadOK
    - TIFFDataWidth
    - isMapped
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSwabArrayOfLong8
    - TIFFStripSize64
    - TIFFSwabShort
    - WriteAsLong8
    - TIFFFindField
    - SeekOK
    - _TIFFCheckMalloc
    - TIFFSeekFile
    - memcpy
    - TIFFSwabLong8
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: "int _TIFFRewriteField(TIFF* tif, uint16 tag, TIFFDataType in_datatype,
      \n                  tmsize_t count, void* data)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:36,1
    - Dst: TIFFForceStrileArrayWriting
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:48,1
    - Dst: TIFFRewriteDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:53,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 30
    functionDepth: 3
    functionLinenumber: 30
    functionLinenumberEnd: 57
    functionName: TIFFFlush
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c
    functionUses: 0
    functionsReached:
    - TIFFRewriteDirectory
    - TIFFFlushData
    - TIFFForceStrileArrayWriting
    linkageType: ''
    returnType: int
    signature: int TIFFFlush(TIFF* tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:81,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:85,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:91,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:97,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:114,1
    - Dst: TIFFSetupStrips
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:120,1
    - Dst: _TIFFRewriteField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:124,1
    - Dst: _TIFFRewriteField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:130,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 27
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 78
    functionDepth: 5
    functionLinenumber: 78
    functionLinenumberEnd: 143
    functionName: TIFFForceStrileArrayWriting
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c
    functionUses: 3
    functionsReached:
    - TIFFSetupStrips
    - TIFFErrorExt
    - _TIFFRewriteField
    - TIFFIsTiled
    linkageType: ''
    returnType: int
    signature: int TIFFForceStrileArrayWriting(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData1
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c:164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 165
    functionName: TIFFFlushData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_flush.c
    functionUses: 2
    functionsReached:
    - TIFFFlushData1
    linkageType: ''
    returnType: int
    signature: int TIFFFlushData(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c:21,1
    - Dst: JState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c:23,1
    - Dst: JPEGSetupEncode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c:56,1
    - Dst: JPEGSetupDecode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 3
    argNames:
    - tif
    - scheme
    - is_encode
    argTypes:
    - TIFF*
    - int
    - int
    assertStmts:
    - condition: (scheme == COMPRESSION_JPEG)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c
    constantsTouched: []
    func_position:
      end: 59
      start: 16
    functionDepth: 4
    functionLinenumber: 16
    functionLinenumberEnd: 59
    functionName: TIFFReInitJPEG_12
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_jpeg_12.c
    functionUses: 2
    functionsReached:
    - JState
    - JPEGSetupDecode
    - JPEGSetupEncode
    - assert
    linkageType: ''
    returnType: int
    signature: int TIFFReInitJPEG_12( TIFF *tif, int scheme, int is_encode )
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlush
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:51,1
    - Dst: TIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:53,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:56,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:66,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:67,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:71,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:72,1
    - Dst: TIFFUnmapFileContents
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:73,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:84,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:85,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:86,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:90,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:98,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:100,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:103,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 33
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 104
    functionName: TIFFCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c
    functionUses: 4
    functionsReached:
    - TIFFUnmapFileContents
    - TIFFFreeDirectory
    - strncmp
    - TIFFFlush
    - _TIFFfree
    - isMapped
    linkageType: ''
    returnType: void
    signature: void TIFFCleanup(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 120
    functionDepth: 5
    functionLinenumber: 120
    functionLinenumberEnd: 128
    functionName: TIFFClose
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_close.c
    functionUses: 43
    functionsReached:
    - TIFFCleanup
    linkageType: ''
    returnType: void
    signature: void TIFFClose(TIFF* tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:39,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 44
    functionName: _TIFFMultiply32
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 3
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: uint32
    signature: uint32 _TIFFMultiply32(TIFF* tif, uint32 first, uint32 second, const
      char* where)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - uint64
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: _TIFFMultiply64
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 5
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: uint64
    signature: uint64 _TIFFMultiply64(TIFF* tif, uint64 first, uint64 second, const
      char* where)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:64,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:74,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 14
    argCount: 4
    argNames:
    - tif
    - first
    - second
    - where
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 80
    functionName: _TIFFMultiplySSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 5
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _TIFFMultiplySSize(TIFF* tif, tmsize_t first, tmsize_t second,
      const char* where)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:88,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - val
    - module
    argTypes:
    - TIFF*
    - uint64
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 93
    functionName: _TIFFCastUInt64ToSSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 9
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: tmsize_t
    signature: tmsize_t _TIFFCastUInt64ToSSize(TIFF* tif, uint64 val, const char*
      module)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFMultiplySSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:100,1
    - Dst: _TIFFrealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:106,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - tif
    - buffer
    - nmemb
    - elem_size
    - what
    argTypes:
    - TIFF*
    - void*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 117
    functionName: _TIFFCheckRealloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 3
    functionsReached:
    - _TIFFMultiplySSize
    - TIFFErrorExt
    - _TIFFrealloc
    linkageType: ''
    returnType: void
    signature: "void *\n_TIFFCheckRealloc(TIFF* tif, void* buffer,\n\t\t  tmsize_t
      nmemb, tmsize_t elem_size, const char* what)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFCheckRealloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - tif
    - nmemb
    - elem_size
    - what
    argTypes:
    - TIFF*
    - tmsize_t
    - tmsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 123
    functionName: _TIFFCheckMalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 14
    functionsReached:
    - _TIFFCheckRealloc
    linkageType: ''
    returnType: void
    signature: 'void *

      _TIFFCheckMalloc(TIFF* tif, tmsize_t nmemb, tmsize_t elem_size, const char*
      what)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:137,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:143,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:143,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:147,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:150,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:151,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:154,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:160,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:162,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:164,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 167
    functionName: TIFFDefaultTransferFunction
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - pow
    - _TIFFfree
    - floor
    - _TIFFmalloc
    - _TIFFmemcpy
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultTransferFunction(TIFFDirectory* td)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:174,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - td
    argTypes:
    - TIFFDirectory*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 197
    functionName: TIFFDefaultRefBlackWhite
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - _TIFFmalloc
    linkageType: ''
    returnType: int
    signature: int TIFFDefaultRefBlackWhite(TIFFDirectory* td)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVGetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:212,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:216,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:219,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:222,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:225,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:228,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:231,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:234,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:237,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:240,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:243,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:246,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:253,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:262,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:263,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:266,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:269,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:272,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:273,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:276,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:281,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:284,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:287,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:290,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:300,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:301,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:304,1
    - Dst: TIFFDefaultTransferFunction
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:320,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:321,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:324,1
    - Dst: TIFFDefaultRefBlackWhite
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:331,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:333,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 110
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 337
    functionName: TIFFVGetFieldDefaulted
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - va_arg
    - TIFFVGetField
    - TIFFErrorExt
    - TIFFDefaultRefBlackWhite
    - TIFFDefaultTransferFunction
    linkageType: ''
    returnType: int
    signature: int TIFFVGetFieldDefaulted(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:349,1
    - Dst: TIFFVGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:350,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - tag
    argTypes:
    - TIFF*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 353
    functionName: TIFFGetFieldDefaulted
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 38
    functionsReached:
    - va_start
    - TIFFVGetFieldDefaulted
    - va_end
    linkageType: ''
    returnType: int
    signature: int TIFFGetFieldDefaulted(TIFF* tif, uint32 tag, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ui64
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: _TIFFUInt64ToFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float _TIFFUInt64ToFloat(uint64 ui64)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - ui64
    argTypes:
    - uint64
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 394
    functionName: _TIFFUInt64ToDouble
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: double
    signature: double _TIFFUInt64ToDouble(uint64 ui64)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 396
    functionDepth: 0
    functionLinenumber: 396
    functionLinenumberEnd: 403
    functionName: _TIFFClampDoubleToFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float _TIFFClampDoubleToFloat( double val )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - 'off'
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 410
    functionName: _TIFFSeekOK
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_aux.c
    functionUses: 0
    functionsReached:
    - TIFFSeekFile
    linkageType: ''
    returnType: int
    signature: int _TIFFSeekOK(TIFF* tif, toff_t off)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - fd
    - pbase
    - psize
    argTypes:
    - thandle_t
    - void**
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 38
    functionName: _tiffDummyMapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _tiffDummyMapProc(thandle_t fd, void** pbase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - void*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: _tiffDummyUnmapProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void _tiffDummyUnmapProc(thandle_t fd, void* base, toff_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:64,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - mode
    - module
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 68
    functionName: _TIFFgetMode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 4
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int _TIFFgetMode(const char* mode, const char* module)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:91,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:92,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:93,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:94,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:95,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:96,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:97,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:98,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:99,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:108,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:110,1
    - Dst: _TIFFgetMode
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:114,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:117,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:117,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:119,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:122,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:124,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:132,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:134,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:150,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:288,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:290,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:309,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:320,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:321,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:332,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:333,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:334,1
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:353,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:374,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:378,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:395,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:398,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:407,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:412,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:414,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:420,1
    - Dst: TIFFSwabLong8
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:421,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:425,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:433,1
    - Dst: TIFFMapFileContents
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:462,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:465,1
    - Dst: TIFFReadDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:482,1
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:494,1
    - Dst: TIFFCleanup
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:500,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 235
    argCount: 10
    argNames:
    - name
    - mode
    - clientdata
    - readproc
    - writeproc
    - seekproc
    - closeproc
    - sizeproc
    - mapproc
    - unmapproc
    argTypes:
    - char*
    - char*
    - thandle_t
    - TIFFReadWriteProc
    - TIFFReadWriteProc
    - TIFFSeekProc
    - TIFFCloseProc
    - TIFFSizeProc
    - TIFFMapFileProc
    - TIFFUnmapFileProc
    assertStmts:
    - condition: (sizeof(uint8)==1)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(tmsize_t)==sizeof(void*))
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (n.a16==1)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(uint32)==4)
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(int8)==1)
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(uint16)==2)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(int16)==2)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(int32)==4)
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(uint64)==8)
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (sizeof(int64)==8)
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: (n.a16==256)
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    - condition: ((toff_t)tif->tif_size==n)
      pos:
        line_end: 464
        line_start: 464
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    constantsTouched: []
    func_position:
      end: 503
      start: 70
    functionDepth: 7
    functionLinenumber: 70
    functionLinenumberEnd: 503
    functionName: TIFFClientOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 8
    functionsReached:
    - _TIFFmemset
    - strlen
    - _TIFFSetDefaultCompressionState
    - _TIFFmalloc
    - ReadOK
    - TIFFMapFileContents
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - assert
    - TIFFDefaultDirectory
    - TIFFReadDirectory
    - TIFFSwabShort
    - _TIFFgetMode
    - TIFFCleanup
    - strcpy
    - TIFFSeekFile
    - TIFFSwabLong8
    - _TIFFfree
    linkageType: ''
    returnType: TIFF
    signature: "TIFF *\nTIFFClientOpen(\n\tconst char* name, const char* mode,\n\tthandle_t
      clientdata,\n\tTIFFReadWriteProc readproc,\n\tTIFFReadWriteProc writeproc,\n\tTIFFSeekProc
      seekproc,\n\tTIFFCloseProc closeproc,\n\tTIFFSizeProc sizeproc,\n\tTIFFMapFileProc
      mapproc,\n\tTIFFUnmapFileProc unmapproc\n)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 516
    functionName: TIFFFileName
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TIFFFileName(TIFF* tif)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - name
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: TIFFSetFileName
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      TIFFSetFileName(TIFF* tif, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 536
    functionName: TIFFFileno
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFFileno(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - fd
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 547
    functionName: TIFFSetFileno
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFSetFileno(TIFF* tif, int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 556
    functionName: TIFFClientdata
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: thandle_t
    signature: thandle_t TIFFClientdata(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - newvalue
    argTypes:
    - TIFF*
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 561
    functionDepth: 0
    functionLinenumber: 561
    functionLinenumberEnd: 567
    functionName: TIFFSetClientdata
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: thandle_t
    signature: thandle_t TIFFSetClientdata(TIFF* tif, thandle_t newvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 576
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 576
    functionName: TIFFGetMode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFGetMode(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - tif
    - mode
    argTypes:
    - TIFF*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 581
    functionDepth: 0
    functionLinenumber: 581
    functionLinenumberEnd: 587
    functionName: TIFFSetMode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFSetMode(TIFF* tif, int mode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 597
    functionName: TIFFIsTiled
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 25
    functionsReached:
    - isTiled
    linkageType: ''
    returnType: int
    signature: int TIFFIsTiled(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 602
    functionDepth: 0
    functionLinenumber: 602
    functionLinenumberEnd: 606
    functionName: TIFFCurrentRow
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFCurrentRow(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 611
    functionDepth: 0
    functionLinenumber: 611
    functionLinenumberEnd: 615
    functionName: TIFFCurrentDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: uint16
    signature: uint16 TIFFCurrentDirectory(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 624
    functionName: TIFFCurrentStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFCurrentStrip(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 633
    functionName: TIFFCurrentTile
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: uint32
    signature: uint32 TIFFCurrentTile(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 638
    functionDepth: 0
    functionLinenumber: 638
    functionLinenumberEnd: 642
    functionName: TIFFIsByteSwapped
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFIsByteSwapped(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isUpSampled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:650,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 651
    functionName: TIFFIsUpSampled
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - isUpSampled
    linkageType: ''
    returnType: int
    signature: int TIFFIsUpSampled(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isFillOrder
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 660
    functionName: TIFFIsMSB2LSB
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached:
    - isFillOrder
    linkageType: ''
    returnType: int
    signature: int TIFFIsMSB2LSB(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 669
    functionName: TIFFIsBigEndian
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TIFFIsBigEndian(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: TIFFGetReadProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFReadWriteProc
    signature: TIFFReadWriteProc TIFFGetReadProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: TIFFGetWriteProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFReadWriteProc
    signature: TIFFReadWriteProc TIFFGetWriteProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 692
    functionDepth: 0
    functionLinenumber: 692
    functionLinenumberEnd: 696
    functionName: TIFFGetSeekProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: TIFFSeekProc
    signature: TIFFSeekProc TIFFGetSeekProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 701
    functionDepth: 0
    functionLinenumber: 701
    functionLinenumberEnd: 705
    functionName: TIFFGetCloseProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFCloseProc
    signature: TIFFCloseProc TIFFGetCloseProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 714
    functionName: TIFFGetSizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFSizeProc
    signature: TIFFSizeProc TIFFGetSizeProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 719
    functionDepth: 0
    functionLinenumber: 719
    functionLinenumberEnd: 723
    functionName: TIFFGetMapFileProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFMapFileProc
    signature: TIFFMapFileProc TIFFGetMapFileProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: TIFFGetUnmapFileProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: TIFFUnmapFileProc
    signature: TIFFUnmapFileProc TIFFGetUnmapFileProc(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - (*fn)(thandle_t)
    argTypes:
    - TIFF*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 734
    functionDepth: 0
    functionLinenumber: 734
    functionLinenumberEnd: 739
    functionName: TIFFSetJpegMemFunction
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_open.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFFSetJpegMemFunction(TIFF *tif,\n                       void
      *(*fn)(thandle_t))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - jbuf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: SETJMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SETJMP(jbuf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - jbuf
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    functionName: LONGJMP
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: LONGJMP(jbuf,code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:436,1
    - Dst: _TIFFMergeFields
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:441,1
    - Dst: TIFFArrayCount
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:441,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:442,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:448,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:451,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:454,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:459,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 40
    argCount: 2
    argNames:
    - tif
    - scheme
    argTypes:
    - TIFF*
    - int
    assertStmts:
    - condition: (scheme==COMPRESSION_OJPEG)
      pos:
        line_end: 435
        line_start: 435
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 491
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 491
    functionName: TIFFInitOJPEG
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - TIFFSetField
    - TIFFErrorExt
    - TIFFArrayCount
    - assert
    - _TIFFmalloc
    - _TIFFMergeFields
    linkageType: ''
    returnType: int
    signature: int TIFFInitOJPEG(TIFF* tif, int scheme)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:500,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:503,1
    - Dst: OJPEGSubsamplingCorrect
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:507,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:508,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:509,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:512,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:513,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:516,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:517,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:520,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:521,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:524,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:527,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 36
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 533
    functionName: OJPEGVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - va_arg
    - OJPEGSubsamplingCorrect
    linkageType: ''
    returnType: int
    signature: int OJPEGVGetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:548,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:551,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:555,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:556,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:561,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:566,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:570,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:576,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:581,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:585,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:591,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:596,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:600,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:606,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:609,1
    - Dst: TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:614,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 69
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - uint32
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 620
    functionName: OJPEGVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFFieldWithTag
    - TIFFErrorExt
    - va_arg
    - TIFFSetFieldBit
    linkageType: ''
    returnType: int
    signature: int OJPEGVSetField(TIFF* tif, uint32 tag, va_list ap)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:628,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:629,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:630,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:631,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:632,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:633,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:635,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:637,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:638,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:640,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:642,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:644,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:645,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:647,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:649,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:651,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:652,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:654,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:655,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:656,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:657,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts:
    - condition: (sp!=NULL)
      pos:
        line_end: 627
        line_start: 627
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 660
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 660
    functionName: OJPEGPrintDir
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - fprintf
    - assert
    - TIFFFieldSet
    linkageType: ''
    returnType: void
    signature: void OJPEGPrintDir(TIFF* tif, FILE* fd, long flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 667
    functionName: OJPEGFixupTags
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int OJPEGFixupTags(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 669
    functionDepth: 1
    functionLinenumber: 669
    functionLinenumberEnd: 675
    functionName: OJPEGSetupDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFWarningExt
    linkageType: ''
    returnType: int
    signature: int OJPEGSetupDecode(TIFF* tif)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGSubsamplingCorrect
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:683,1
    - Dst: OJPEGReadHeaderInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:686,1
    - Dst: OJPEGReadSecondarySos
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:691,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:694,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:701,1
    - Dst: OJPEGWriteHeaderInfo
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:720,1
    - Dst: OJPEGPreDecodeSkipRaw
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:727,1
    - Dst: OJPEGPreDecodeSkipScanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:732,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 47
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 739
    functionName: OJPEGPreDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGLibjpegSessionAbort
    - OJPEGPreDecodeSkipScanlines
    - OJPEGReadSecondarySos
    - OJPEGReadHeaderInfo
    - OJPEGWriteHeaderInfo
    - OJPEGSubsamplingCorrect
    - isTiled
    - OJPEGPreDecodeSkipRaw
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecode(TIFF* tif, uint16 s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_read_raw_data_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:762,1
    - Dst: jpeg_read_raw_data_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:768,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 773
    functionName: OJPEGPreDecodeSkipRaw
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_read_raw_data_encap
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecodeSkipRaw(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:783,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:786,1
    - Dst: jpeg_read_scanlines_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:792,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 796
    functionName: OJPEGPreDecodeSkipScanlines
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    - jpeg_read_scanlines_encap
    linkageType: ''
    returnType: int
    signature: int OJPEGPreDecodeSkipScanlines(TIFF* tif)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:806,1
    - Dst: OJPEGDecodeRaw
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:815,1
    - Dst: OJPEGDecodeScanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 824
    functionName: OJPEGDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGDecodeRaw
    - TIFFErrorExt
    - OJPEGDecodeScanlines
    linkageType: ''
    returnType: int
    signature: int OJPEGDecode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:842,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:845,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:878,1
    - Dst: jpeg_read_raw_data_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:882,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: (cc>0)
      pos:
        line_end: 844
        line_start: 844
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 912
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 912
    functionName: OJPEGDecodeRaw
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - jpeg_read_raw_data_encap
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGDecodeRaw(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:923,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:926,1
    - Dst: jpeg_read_scanlines_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:931,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: (cc>0)
      pos:
        line_end: 925
        line_start: 925
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 937
      start: 914
    functionDepth: 1
    functionLinenumber: 914
    functionLinenumberEnd: 937
    functionName: OJPEGDecodeScanlines
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - assert
    - jpeg_read_scanlines_encap
    linkageType: ''
    returnType: int
    signature: int OJPEGDecodeScanlines(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:948,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:949,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - tif
    - buf
    - cc
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    assertStmts:
    - condition: (sp->libjpeg_session_active!=0)
      pos:
        line_end: 947
        line_start: 947
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 952
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 952
    functionName: OJPEGPostDecode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGLibjpegSessionAbort
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGPostDecode(TIFF* tif, uint8* buf, tmsize_t cc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 954
    functionDepth: 1
    functionLinenumber: 954
    functionLinenumberEnd: 960
    functionName: OJPEGSetupEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int OJPEGSetupEncode(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 969
    functionName: OJPEGPreEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int OJPEGPreEncode(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:978,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - buf
    - cc
    - s
    argTypes:
    - TIFF*
    - uint8*
    - tmsize_t
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 980
    functionName: OJPEGEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int OJPEGEncode(TIFF* tif, uint8* buf, tmsize_t cc, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:986,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 982
    functionDepth: 1
    functionLinenumber: 982
    functionLinenumberEnd: 988
    functionName: OJPEGPostEncode
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int OJPEGPostEncode(TIFF* tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1000,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1002,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1004,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1006,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1008,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1010,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1012,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1014,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1016,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1018,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1020,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1022,1
    - Dst: OJPEGLibjpegSessionAbort
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1024,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1026,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1028,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1030,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1031,1
    - Dst: _TIFFSetDefaultCompressionState
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1033,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 41
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1035
    functionName: OJPEGCleanup
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - _TIFFSetDefaultCompressionState
    - OJPEGLibjpegSessionAbort
    linkageType: ''
    returnType: void
    signature: void OJPEGCleanup(TIFF* tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1045,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1050,1
    - Dst: OJPEGReadHeaderInfoSec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1061,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1071,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1073,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1078,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1080,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1085,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsamplingcorrect_done==0)
      pos:
        line_end: 1044
        line_start: 1044
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1089
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1089
    functionName: OJPEGSubsamplingCorrect
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadHeaderInfoSec
    - assert
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void OJPEGSubsamplingCorrect(TIFF* tif)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1096,1
    - Dst: isTiled
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1099,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1123,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1138,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1143,1
    - Dst: OJPEGReadHeaderInfoSec
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->readheader_done==0)
      pos:
        line_end: 1095
        line_start: 1095
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1157
      start: 1091
    functionDepth: 1
    functionLinenumber: 1091
    functionLinenumberEnd: 1157
    functionName: OJPEGReadHeaderInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - OJPEGReadHeaderInfoSec
    - assert
    - isTiled
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfo(TIFF* tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1164,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1165,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1166,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1167,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1182,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1188,1
    - Dst: OJPEGReadHeaderInfoSecStreamSos
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1198,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 2
    argNames:
    - tif
    - s
    argTypes:
    - TIFF*
    - uint16
    assertStmts:
    - condition: (s>0)
      pos:
        line_end: 1163
        line_start: 1163
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (sp->sos_end[s].log==0)
      pos:
        line_end: 1166
        line_start: 1166
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (s<3)
      pos:
        line_end: 1164
        line_start: 1164
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (sp->sos_end[0].log!=0)
      pos:
        line_end: 1165
        line_start: 1165
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1207
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1207
    functionName: OJPEGReadSecondarySos
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadByte
    - OJPEGReadHeaderInfoSecStreamSos
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadSecondarySos(TIFF* tif, uint16 s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cinfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1212
      start: 1210
    functionDepth: 0
    functionLinenumber: 1210
    functionLinenumberEnd: 1212
    functionName: TIFF_FROM_CINFO
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_FROM_CINFO(cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1215,1
    - Dst: OJPEGState*::jmem_parent::j_mem_get_small
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - size
    argTypes:
    - j_common_ptr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1225
      start: 1213
    functionDepth: 1
    functionLinenumber: 1213
    functionLinenumberEnd: 1225
    functionName: j_mem_get_small
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGState*::jmem_parent::j_mem_get_small
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void *j_mem_get_small(j_common_ptr cinfo, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1229,1
    - Dst: OJPEGState*::jmem_parent::j_mem_get_large
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - size
    argTypes:
    - j_common_ptr
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1227
    functionDepth: 1
    functionLinenumber: 1227
    functionLinenumberEnd: 1239
    functionName: j_mem_get_large
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGState*::jmem_parent::j_mem_get_large
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void *j_mem_get_large(j_common_ptr cinfo, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1243,1
    - Dst: OJPEGState*::jmem_parent::j_mem_free_small
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cinfo
    - object
    - size
    argTypes:
    - j_common_ptr
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1250
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1250
    functionName: j_mem_free_small
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - GET_CUST_MEM_DATA
    - OJPEGState*::jmem_parent::j_mem_free_small
    linkageType: ''
    returnType: void
    signature: void j_mem_free_small(j_common_ptr cinfo, void *object, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1254,1
    - Dst: OJPEGState*::jmem_parent::j_mem_free_large
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - cinfo
    - object
    - size
    argTypes:
    - j_common_ptr
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1252
    functionDepth: 1
    functionLinenumber: 1252
    functionLinenumberEnd: 1261
    functionName: j_mem_free_large
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - GET_CUST_MEM_DATA
    - OJPEGState*::jmem_parent::j_mem_free_large
    linkageType: ''
    returnType: void
    signature: void j_mem_free_large(j_common_ptr cinfo, void *object, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1265,1
    - Dst: OJPEGState*::jmem_parent::j_mem_init
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1275
      start: 1263
    functionDepth: 1
    functionLinenumber: 1263
    functionLinenumberEnd: 1275
    functionName: j_mem_init
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - GET_CUST_MEM_DATA
    - OJPEGState*::jmem_parent::j_mem_init
    linkageType: ''
    returnType: long
    signature: long j_mem_init (j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GET_CUST_MEM_DATA
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1279,1
    - Dst: OJPEGState*::jmem_parent::j_mem_term
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - j_common_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1286
    functionName: j_mem_term
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGState*::jmem_parent::j_mem_term
    - GET_CUST_MEM_DATA
    linkageType: ''
    returnType: void
    signature: void j_mem_term (j_common_ptr cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cinfo
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1291
      start: 1289
    functionDepth: 0
    functionLinenumber: 1289
    functionLinenumberEnd: 1291
    functionName: TIFF_FROM_CINFO
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFF_FROM_CINFO(cinfo)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: jpeg_std_error
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1306,1
    - Dst: TIFF*::get_jpeg_mem_ptr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1312,1
    - Dst: jpeg_cust_mem_init
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1313,1
    - Dst: jpeg_create_decompress_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1321,1
    - Dst: jpeg_read_header_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1331,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1342,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1343,1
    - Dst: _TIFFcalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1357,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1360,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1367,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1370,1
    - Dst: jpeg_start_decompress_encap
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1399,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsampling_convert_ycbcrbuf==0)
      pos:
        line_end: 1341
        line_start: 1341
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (sp->subsampling_convert_ycbcrimage==0)
      pos:
        line_end: 1342
        line_start: 1342
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1403
      start: 1294
    functionDepth: 1
    functionLinenumber: 1294
    functionLinenumberEnd: 1403
    functionName: OJPEGWriteHeaderInfo
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFF*::get_jpeg_mem_ptr
    - jpeg_std_error
    - TIFFErrorExt
    - jpeg_cust_mem_init
    - jpeg_create_decompress_encap
    - assert
    - jpeg_read_header_encap
    - _TIFFmalloc
    - _TIFFcalloc
    - jpeg_start_decompress_encap
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteHeaderInfo(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1409,1
    - Dst: jpeg_destroy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->libjpeg_session_active!=0)
      pos:
        line_end: 1408
        line_start: 1408
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1412
      start: 1405
    functionDepth: 1
    functionLinenumber: 1405
    functionLinenumberEnd: 1412
    functionName: OJPEGLibjpegSessionAbort
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 3
    functionsReached:
    - jpeg_destroy
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegSessionAbort(TIFF* tif)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1423,1
    - Dst: OJPEGReadBytePeek
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1446,1
    - Dst: OJPEGReadByteAdvance
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1450,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1453,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1479,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1484,1
    - Dst: OJPEGReadSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1488,1
    - Dst: OJPEGReadHeaderInfoSecStreamDri
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1491,1
    - Dst: OJPEGReadHeaderInfoSecStreamDqt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1495,1
    - Dst: OJPEGReadHeaderInfoSecStreamDht
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1499,1
    - Dst: OJPEGReadHeaderInfoSecStreamSof
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1505,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1513,1
    - Dst: OJPEGReadHeaderInfoSecStreamSos
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1514,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1518,1
    - Dst: OJPEGReadHeaderInfoSecTablesQTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1526,1
    - Dst: OJPEGReadHeaderInfoSecTablesDcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1537,1
    - Dst: OJPEGReadHeaderInfoSecTablesAcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1539,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 111
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->plane_sample_offset==0)
      pos:
        line_end: 1512
        line_start: 1512
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1545
      start: 1414
    functionDepth: 1
    functionLinenumber: 1414
    functionLinenumberEnd: 1545
    functionName: OJPEGReadHeaderInfoSec
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadHeaderInfoSecStreamDht
    - OJPEGReadBytePeek
    - OJPEGReadHeaderInfoSecStreamDqt
    - OJPEGReadByteAdvance
    - OJPEGReadByte
    - TIFFErrorExt
    - OJPEGReadHeaderInfoSecStreamSos
    - OJPEGReadHeaderInfoSecStreamSof
    - OJPEGReadHeaderInfoSecTablesQTable
    - assert
    - OJPEGReadHeaderInfoSecTablesAcTable
    - OJPEGReadWord
    - OJPEGReadHeaderInfoSecStreamDri
    - OJPEGReadHeaderInfoSecTablesDcTable
    - OJPEGReadSkip
    - TIFFGetFileSize
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSec(TIFF* tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1555,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1559,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1562,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1547
    functionDepth: 1
    functionLinenumber: 1547
    functionLinenumberEnd: 1566
    functionName: OJPEGReadHeaderInfoSecStreamDri
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadWord
    - TIFFErrorExt
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDri(TIFF* tif)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1578,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1583,1
    - Dst: OJPEGReadSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1587,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1595,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1599,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1602,1
    - Dst: OJPEGReadBlock
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1610,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1611,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1617,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1618,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1622,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1628
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1628
    functionName: OJPEGReadHeaderInfoSecStreamDqt
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - OJPEGReadBlock
    - OJPEGReadWord
    - _TIFFmalloc
    - OJPEGReadSkip
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDqt(TIFF* tif)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1641,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1646,1
    - Dst: OJPEGReadSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1651,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1656,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1659,1
    - Dst: OJPEGReadBlock
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1667,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1668,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1676,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1677,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1681,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1688,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1689,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1695,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1696,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1700,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1630
    functionDepth: 1
    functionLinenumber: 1630
    functionLinenumberEnd: 1705
    functionName: OJPEGReadHeaderInfoSecStreamDht
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - OJPEGReadBlock
    - OJPEGReadWord
    - _TIFFmalloc
    - OJPEGReadSkip
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamDht(TIFF* tif)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1720,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1726,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1731,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1738,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1746,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1751,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1756,1
    - Dst: OJPEGReadSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1761,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1765,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1769,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1774,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1778,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1783,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1789,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1794,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1802,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1807,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1834,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1842,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1849,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 103
    argCount: 2
    argNames:
    - tif
    - marker_id
    argTypes:
    - TIFF*
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1857
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1857
    functionName: OJPEGReadHeaderInfoSecStreamSof
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadWord
    - OJPEGReadByte
    - TIFFErrorExt
    - OJPEGReadSkip
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamSof(TIFF* tif, uint8 marker_id)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1868,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1871,1
    - Dst: OJPEGReadWord
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1875,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1879,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1883,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1887,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1894,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1898,1
    - Dst: OJPEGReadSkip
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts:
    - condition: (sp->subsamplingcorrect==0)
      pos:
        line_end: 1867
        line_start: 1867
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 1905
      start: 1859
    functionDepth: 1
    functionLinenumber: 1859
    functionLinenumberEnd: 1905
    functionName: OJPEGReadHeaderInfoSecStreamSos
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadByte
    - TIFFErrorExt
    - assert
    - OJPEGReadWord
    - OJPEGReadSkip
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecStreamSos(TIFF* tif)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1919,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1931,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1936,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1939,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1948,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1949,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1952,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1956,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1964
      start: 1907
    functionDepth: 1
    functionLinenumber: 1907
    functionLinenumberEnd: 1964
    functionName: OJPEGReadHeaderInfoSecTablesQTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFSeekFile
    - TIFFReadFile
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesQTable(TIFF* tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1980,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1992,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1996,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:1997,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2004,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2007,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2018,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2021,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2025,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2033
      start: 1966
    functionDepth: 1
    functionLinenumber: 1966
    functionLinenumberEnd: 2033
    functionName: OJPEGReadHeaderInfoSecTablesDcTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFSeekFile
    - TIFFReadFile
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesDcTable(TIFF* tif)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2049,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2061,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2065,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2066,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2073,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2076,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2087,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2090,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2094,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2035
    functionDepth: 1
    functionLinenumber: 2035
    functionLinenumberEnd: 2102
    functionName: OJPEGReadHeaderInfoSecTablesAcTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - TIFFSeekFile
    - TIFFReadFile
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int OJPEGReadHeaderInfoSecTablesAcTable(TIFF* tif)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2117,1
    - Dst: TIFFReadFile
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2123,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2126,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2127,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2128,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2129,1
    - Dst: TIFFGetStrileOffsetWithErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2157,1
    - Dst: TIFFGetStrileByteCountWithErr
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2162,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 64
    argCount: 1
    argNames:
    - sp
    argTypes:
    - OJPEGState*
    assertStmts:
    - condition: (n>0)
      pos:
        line_end: 2125
        line_start: 2125
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (n<65536)
      pos:
        line_end: 2127
        line_start: 2127
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (n<=OJPEG_BUFFER)
      pos:
        line_end: 2126
        line_start: 2126
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: ((uint64)n<=sp->in_buffer_file_togo)
      pos:
        line_end: 2128
        line_start: 2128
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2187
      start: 2104
    functionDepth: 6
    functionLinenumber: 2104
    functionLinenumberEnd: 2187
    functionName: OJPEGReadBufferFill
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFGetStrileByteCountWithErr
    - TIFFSeekFile
    - TIFFGetStrileOffsetWithErr
    - TIFFReadFile
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBufferFill(OJPEGState* sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2194,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2196,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - sp
    - byte
    argTypes:
    - OJPEGState*
    - uint8*
    assertStmts:
    - condition: (sp->in_buffer_togo>0)
      pos:
        line_end: 2195
        line_start: 2195
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2202
      start: 2189
    functionDepth: 7
    functionLinenumber: 2189
    functionLinenumberEnd: 2202
    functionName: OJPEGReadByte
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 4
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadByte(OJPEGState* sp, uint8* byte)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2209,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - byte
    argTypes:
    - OJPEGState*
    - uint8*
    assertStmts:
    - condition: (sp->in_buffer_togo>0)
      pos:
        line_end: 2210
        line_start: 2210
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2215
      start: 2204
    functionDepth: 7
    functionLinenumber: 2204
    functionLinenumberEnd: 2215
    functionName: OJPEGReadBytePeek
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBytePeek(OJPEGState* sp, uint8* byte)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sp
    argTypes:
    - OJPEGState*
    assertStmts:
    - condition: (sp->in_buffer_togo>0)
      pos:
        line_end: 2219
        line_start: 2219
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2223
      start: 2217
    functionDepth: 1
    functionLinenumber: 2217
    functionLinenumberEnd: 2223
    functionName: OJPEGReadByteAdvance
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGReadByteAdvance(OJPEGState* sp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2229,1
    - Dst: OJPEGReadByte
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2232,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - sp
    - word
    argTypes:
    - OJPEGState*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2236
      start: 2225
    functionDepth: 8
    functionLinenumber: 2225
    functionLinenumberEnd: 2236
    functionName: OJPEGReadWord
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 6
    functionsReached:
    - OJPEGReadByte
    linkageType: ''
    returnType: int
    signature: int OJPEGReadWord(OJPEGState* sp, uint16* word)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2244,1
    - Dst: OJPEGReadBufferFill
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2251,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2253,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2258,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - sp
    - len
    - mem
    argTypes:
    - OJPEGState*
    - uint16
    - void*
    assertStmts:
    - condition: (len>0)
      pos:
        line_end: 2243
        line_start: 2243
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (sp->in_buffer_togo>0)
      pos:
        line_end: 2252
        line_start: 2252
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2265
      start: 2238
    functionDepth: 7
    functionLinenumber: 2238
    functionLinenumberEnd: 2265
    functionName: OJPEGReadBlock
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - OJPEGReadBufferFill
    - _TIFFmemcpy
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGReadBlock(OJPEGState* sp, uint16 len, void* mem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2281,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - sp
    - len
    argTypes:
    - OJPEGState*
    - uint16
    assertStmts:
    - condition: (sp->in_buffer_togo==0)
      pos:
        line_end: 2280
        line_start: 2280
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2295
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2295
    functionName: OJPEGReadSkip
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 5
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGReadSkip(OJPEGState* sp, uint16 len)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2304,1
    - Dst: OJPEGWriteStreamSoi
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2308,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2311,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2314,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2317,1
    - Dst: OJPEGWriteStreamQTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2320,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2323,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2326,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2329,1
    - Dst: OJPEGWriteStreamDcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2332,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2335,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2338,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2341,1
    - Dst: OJPEGWriteStreamAcTable
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2344,1
    - Dst: OJPEGWriteStreamDri
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2347,1
    - Dst: OJPEGWriteStreamSof
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2350,1
    - Dst: OJPEGWriteStreamSos
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2353,1
    - Dst: OJPEGWriteStreamCompressed
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2356,1
    - Dst: OJPEGWriteStreamRst
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2360,1
    - Dst: OJPEGWriteStreamEoi
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2363,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 66
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (sp->out_state<=ososEoi)
      pos:
        line_end: 2303
        line_start: 2303
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2368
      start: 2297
    functionDepth: 1
    functionLinenumber: 2297
    functionLinenumberEnd: 2368
    functionName: OJPEGWriteStream
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - OJPEGWriteStreamSos
    - OJPEGWriteStreamSof
    - OJPEGWriteStreamDcTable
    - assert
    - OJPEGWriteStreamAcTable
    - OJPEGWriteStreamRst
    - OJPEGWriteStreamQTable
    - OJPEGWriteStreamDri
    - OJPEGWriteStreamCompressed
    - OJPEGWriteStreamSoi
    - OJPEGWriteStreamEoi
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteStream(TIFF* tif, void** mem, uint32* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=2)
      pos:
        line_end: 2373
        line_start: 2373
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2380
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2380
    functionName: OJPEGWriteStreamSoi
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSoi(TIFF* tif, void** mem, uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8
    - void**
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2392
      start: 2382
    functionDepth: 0
    functionLinenumber: 2382
    functionLinenumberEnd: 2392
    functionName: OJPEGWriteStreamQTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamQTable(TIFF* tif, uint8 table_index, void** mem,
      uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8
    - void**
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2404
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2404
    functionName: OJPEGWriteStreamDcTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamDcTable(TIFF* tif, uint8 table_index, void** mem,
      uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - tif
    - table_index
    - mem
    - len
    argTypes:
    - TIFF*
    - uint8
    - void**
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2416
      start: 2406
    functionDepth: 0
    functionLinenumber: 2406
    functionLinenumberEnd: 2416
    functionName: OJPEGWriteStreamAcTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamAcTable(TIFF* tif, uint8 table_index, void** mem,
      uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2422,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=6)
      pos:
        line_end: 2421
        line_start: 2421
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2435
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2435
    functionName: OJPEGWriteStreamDri
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamDri(TIFF* tif, void** mem, uint32* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2442,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=2+8+sp->samples_per_pixel_per_plane*3)
      pos:
        line_end: 2441
        line_start: 2441
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (255>=8+sp->samples_per_pixel_per_plane*3)
      pos:
        line_end: 2442
        line_start: 2442
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2471
      start: 2437
    functionDepth: 1
    functionLinenumber: 2437
    functionLinenumberEnd: 2471
    functionName: OJPEGWriteStreamSof
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSof(TIFF* tif, void** mem, uint32* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2478,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=2+6+sp->samples_per_pixel_per_plane*2)
      pos:
        line_end: 2477
        line_start: 2477
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    - condition: (255>=6+sp->samples_per_pixel_per_plane*2)
      pos:
        line_end: 2478
        line_start: 2478
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2503
      start: 2473
    functionDepth: 1
    functionLinenumber: 2473
    functionLinenumberEnd: 2503
    functionName: OJPEGWriteStreamSos
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamSos(TIFF* tif, void** mem, uint32* len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: OJPEGReadBufferFill
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2511,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2513,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (sp->in_buffer_togo>0)
      pos:
        line_end: 2512
        line_start: 2512
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2536
      start: 2505
    functionDepth: 7
    functionLinenumber: 2505
    functionLinenumberEnd: 2536
    functionName: OJPEGWriteStreamCompressed
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - OJPEGReadBufferFill
    - assert
    linkageType: ''
    returnType: int
    signature: int OJPEGWriteStreamCompressed(TIFF* tif, void** mem, uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=2)
      pos:
        line_end: 2541
        line_start: 2541
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2551
      start: 2538
    functionDepth: 1
    functionLinenumber: 2538
    functionLinenumberEnd: 2551
    functionName: OJPEGWriteStreamRst
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamRst(TIFF* tif, void** mem, uint32* len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - mem
    - len
    argTypes:
    - TIFF*
    - void**
    - uint32*
    assertStmts:
    - condition: (OJPEG_BUFFER>=2)
      pos:
        line_end: 2556
        line_start: 2556
        source_file: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    constantsTouched: []
    func_position:
      end: 2562
      start: 2553
    functionDepth: 1
    functionLinenumber: 2553
    functionLinenumberEnd: 2562
    functionName: OJPEGWriteStreamEoi
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - assert
    linkageType: ''
    returnType: void
    signature: void OJPEGWriteStreamEoi(TIFF* tif, void** mem, uint32* len)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2568,1
    - Dst: jpeg_create_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2571,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - cinfo
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2574
      start: 2565
    functionDepth: 1
    functionLinenumber: 2565
    functionLinenumberEnd: 2574
    functionName: jpeg_create_decompress_encap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - jpeg_create_decompress
    - SETJMP
    linkageType: ''
    returnType: int
    signature: int jpeg_create_decompress_encap(OJPEGState* sp, jpeg_decompress_struct*
      cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2581,1
    - Dst: jpeg_read_header
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2584,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - sp
    - cinfo
    - require_image
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - uint8
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2578
    functionDepth: 1
    functionLinenumber: 2578
    functionLinenumberEnd: 2587
    functionName: jpeg_read_header_encap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - SETJMP
    - jpeg_read_header
    linkageType: ''
    returnType: int
    signature: int jpeg_read_header_encap(OJPEGState* sp, jpeg_decompress_struct*
      cinfo, uint8 require_image)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2594,1
    - Dst: jpeg_start_decompress
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sp
    - cinfo
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2591
    functionDepth: 1
    functionLinenumber: 2591
    functionLinenumberEnd: 2600
    functionName: jpeg_start_decompress_encap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 1
    functionsReached:
    - SETJMP
    - jpeg_start_decompress
    linkageType: ''
    returnType: int
    signature: int jpeg_start_decompress_encap(OJPEGState* sp, jpeg_decompress_struct*
      cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2607,1
    - Dst: jpeg_read_scanlines
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sp
    - cinfo
    - scanlines
    - max_lines
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2613
    functionName: jpeg_read_scanlines_encap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - jpeg_read_scanlines
    - SETJMP
    linkageType: ''
    returnType: int
    signature: int jpeg_read_scanlines_encap(OJPEGState* sp, jpeg_decompress_struct*
      cinfo, void* scanlines, uint32 max_lines)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SETJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2620,1
    - Dst: jpeg_read_raw_data
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - sp
    - cinfo
    - data
    - max_lines
    argTypes:
    - OJPEGState*
    - jpeg_decompress_struct*
    - void*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2626
    functionName: jpeg_read_raw_data_encap
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 2
    functionsReached:
    - jpeg_read_raw_data
    - SETJMP
    linkageType: ''
    returnType: int
    signature: int jpeg_read_raw_data_encap(OJPEGState* sp, jpeg_decompress_struct*
      cinfo, void* data, uint32 max_lines)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LONGJMP
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2630
    functionDepth: 0
    functionLinenumber: 2630
    functionLinenumberEnd: 2635
    functionName: jpeg_encap_unwind
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - LONGJMP
    linkageType: ''
    returnType: void
    signature: void jpeg_encap_unwind(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_FROM_CINFO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2641,1
    - Dst: TIFFWarningExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2644,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_common_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2645
      start: 2638
    functionDepth: 1
    functionLinenumber: 2638
    functionLinenumberEnd: 2645
    functionName: OJPEGLibjpegJpegErrorMgrOutputMessage
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFF_FROM_CINFO
    - TIFFWarningExt
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegErrorMgrOutputMessage(jpeg_common_struct* cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_FROM_CINFO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2650,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2653,1
    - Dst: jpeg_encap_unwind
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_common_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2655
      start: 2647
    functionDepth: 1
    functionLinenumber: 2647
    functionLinenumberEnd: 2655
    functionName: OJPEGLibjpegJpegErrorMgrErrorExit
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFF_FROM_CINFO
    - TIFFErrorExt
    - jpeg_encap_unwind
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegErrorMgrErrorExit(jpeg_common_struct* cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2661
      start: 2657
    functionDepth: 0
    functionLinenumber: 2657
    functionLinenumberEnd: 2661
    functionName: OJPEGLibjpegJpegSourceMgrInitSource
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegSourceMgrInitSource(jpeg_decompress_struct* cinfo)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_FROM_CINFO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2666,1
    - Dst: OJPEGWriteStream
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2670,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2672,1
    - Dst: jpeg_encap_unwind
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2673,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2678
      start: 2663
    functionDepth: 2
    functionLinenumber: 2663
    functionLinenumberEnd: 2678
    functionName: OJPEGLibjpegJpegSourceMgrFillInputBuffer
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFF_FROM_CINFO
    - TIFFErrorExt
    - OJPEGWriteStream
    - jpeg_encap_unwind
    linkageType: ''
    returnType: boolean
    signature: boolean OJPEGLibjpegJpegSourceMgrFillInputBuffer(jpeg_decompress_struct*
      cinfo)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_FROM_CINFO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2683,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2685,1
    - Dst: jpeg_encap_unwind
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - cinfo
    - num_bytes
    argTypes:
    - jpeg_decompress_struct*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2680
    functionDepth: 1
    functionLinenumber: 2680
    functionLinenumberEnd: 2687
    functionName: OJPEGLibjpegJpegSourceMgrSkipInputData
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFF_FROM_CINFO
    - TIFFErrorExt
    - jpeg_encap_unwind
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegSourceMgrSkipInputData(jpeg_decompress_struct*
      cinfo, long num_bytes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFF_FROM_CINFO
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2696,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2698,1
    - Dst: jpeg_encap_unwind
      Src: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c:2699,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cinfo
    - desired
    argTypes:
    - jpeg_decompress_struct*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2701
      start: 2693
    functionDepth: 1
    functionLinenumber: 2693
    functionLinenumberEnd: 2701
    functionName: OJPEGLibjpegJpegSourceMgrResyncToRestart
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached:
    - TIFF_FROM_CINFO
    - TIFFErrorExt
    - jpeg_encap_unwind
    linkageType: ''
    returnType: boolean
    signature: boolean OJPEGLibjpegJpegSourceMgrResyncToRestart(jpeg_decompress_struct*
      cinfo, int desired)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cinfo
    argTypes:
    - jpeg_decompress_struct*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2710
    functionName: OJPEGLibjpegJpegSourceMgrTermSource
    functionSourceFile: /src/libspectre/ghostscript/tiff/libtiff/tif_ojpeg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void OJPEGLibjpegJpegSourceMgrTermSource(jpeg_decompress_struct* cinfo)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:20,1
    - Dst: SetUpTIFFDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:23,1
    - Dst: WriteImage
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:24,1
    - Dst: XTIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:26,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:27,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:30,1
    - Dst: XTIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:31,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:32,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 16
    functionDepth: 1
    functionLinenumber: 16
    functionLinenumberEnd: 33
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c
    functionUses: 15
    functionsReached:
    - printf
    - XTIFFClose
    - XTIFFOpen
    - WriteImage
    - exit
    - SetUpTIFFDirectory
    linkageType: ''
    returnType: void
    signature: void main()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:42,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:43,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:44,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:45,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:46,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:47,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:48,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:51,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:52,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 54
    functionName: SetUpTIFFDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    linkageType: ''
    returnType: void
    signature: void SetUpTIFFDirectory(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:62,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:64,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: WriteImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/maketif.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    - memset
    - TIFFWriteScanline
    linkageType: ''
    returnType: void
    signature: void WriteImage(TIFF *tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - xt
    - ','
    - pmember
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    functionName: PARENT
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtiffiop.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PARENT(xt,pmember)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - tf
    - ','
    - pmember
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: TIFFMEMBER
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFMEMBER(tf,pmember)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tif
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: XTIFFDIR
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtiffiop.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: XTIFFDIR(tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - a
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: N
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 167
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N(a)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:43,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:48,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:49,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:55,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:61,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:63,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:69,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:70,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:71,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:73,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:76,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:78,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:81,1
    - Dst: _TIFFprintAsciiTag
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:83,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 3
    argNames:
    - tif
    - fd
    - flags
    argTypes:
    - TIFF*
    - FILE*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 86
    functionName: _XTIFFPrintDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - fprintf
    - _TIFFprintAsciiTag
    - PARENT
    - TIFFFieldSet
    - XTIFFDIR
    linkageType: ''
    returnType: void
    signature: void _XTIFFPrintDirectory(TIFF* tif, FILE* fd, long flags)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:91,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:107,1
    - Dst: _TIFFsetDoubleArray
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:108,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:108,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:112,1
    - Dst: _TIFFsetString
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:115,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:115,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:119,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:131,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:131,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:132,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:135,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:135,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:138,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:141,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:142,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:143,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:146,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:147,1
    - Dst: va_end
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:148,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - ttag_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 150
    functionName: _XTIFFVSetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - va_arg
    - TIFFSetFieldBit
    - TIFFMEMBER
    - va_end
    - TIFFErrorExt
    - _TIFFsetDoubleArray
    - PARENT
    - _TIFFsetString
    - _TIFFFieldWithTag
    - XTIFFDIR
    linkageType: ''
    returnType: int
    signature: int _XTIFFVSetField(TIFF* tif, ttag_t tag, va_list ap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:156,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:165,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:166,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:169,1
    - Dst: va_arg
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:172,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:176,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - tif
    - tag
    - ap
    argTypes:
    - TIFF*
    - ttag_t
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 180
    functionName: _XTIFFVGetField
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - va_arg
    - PARENT
    - XTIFFDIR
    linkageType: ''
    returnType: int
    signature: int _XTIFFVGetField(TIFF* tif, ttag_t tag, va_list ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - member
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: CleanupField
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CleanupField(member)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:203,1
    - Dst: CleanupField
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xt
    argTypes:
    - xtiff*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 206
    functionName: _XTIFFFreeDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - CleanupField
    linkageType: ''
    returnType: void
    signature: void _XTIFFFreeDirectory(xtiff* xt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:211,1
    - Dst: _TIFFMergeFieldInfo
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:215,1
    - Dst: N
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:215,1
    - Dst: _XTIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:222,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:223,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:227,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:227,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:228,1
    - Dst: PARENT
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:229,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:229,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 237
    functionName: _XTIFFLocalDefaultDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - _TIFFmemset
    - N
    - TIFFMEMBER
    - _XTIFFFreeDirectory
    - PARENT
    - _TIFFMergeFieldInfo
    - XTIFFDIR
    linkageType: ''
    returnType: void
    signature: void _XTIFFLocalDefaultDirectory(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:261,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:267,1
    - Dst: TIFFMEMBER
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:271,1
    - Dst: _XTIFFLocalDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:276,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 286
    functionName: _XTIFFDefaultDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - _XTIFFLocalDefaultDirectory
    - _TIFFmalloc
    - _TIFFmemset
    - TIFFMEMBER
    linkageType: ''
    returnType: void
    signature: void _XTIFFDefaultDirectory(TIFF *tif)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetTagExtender
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: _XTIFFInitialize
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - TIFFSetTagExtender
    linkageType: ''
    returnType: void
    signature: void _XTIFFInitialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _XTIFFInitialize
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:313,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - mode
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 318
    functionName: XTIFFOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached:
    - _XTIFFInitialize
    - TIFFOpen
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      XTIFFOpen(const char* name, const char* mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: _XTIFFInitialize
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:324,1
    - Dst: TIFFFdOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - fd
    - name
    - mode
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 329
    functionName: XTIFFFdOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 0
    functionsReached:
    - _XTIFFInitialize
    - TIFFFdOpen
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      XTIFFFdOpen(int fd, const char* name, const char* mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFDIR
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:335,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:338,1
    - Dst: _XTIFFFreeDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:341,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 332
    functionDepth: 6
    functionLinenumber: 332
    functionLinenumberEnd: 343
    functionName: XTIFFClose
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/xtif_dir.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - TIFFClose
    - _XTIFFFreeDirectory
    - XTIFFDIR
    linkageType: ''
    returnType: void
    signature: void XTIFFClose(TIFF *tif)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: XTIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:17,1
    - Dst: TIFFPrintDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:23,1
    - Dst: XTIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:24,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:25,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:28,1
    - Dst: XTIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:29,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c:30,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 8
    functionDepth: 7
    functionLinenumber: 8
    functionLinenumberEnd: 31
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/tags/listtif.c
    functionUses: 15
    functionsReached:
    - TIFFPrintDirectory
    - printf
    - XTIFFClose
    - XTIFFOpen
    - exit
    linkageType: ''
    returnType: void
    signature: void main(int argc,char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:88,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - tif
    - n
    - what
    argTypes:
    - TIFF*
    - tsize_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 92
    functionName: CheckMalloc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 14
    functionsReached:
    - TIFFErrorExt
    - _TIFFmalloc
    linkageType: ''
    returnType: char
    signature: 'char *

      CheckMalloc(TIFF* tif, tsize_t n, const char* what)'
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:136,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:137,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:138,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:142,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:143,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:148,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:149,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:153,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:154,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:160,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:165,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:169,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:172,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:173,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:178,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:181,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:185,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:188,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:202,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:203,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:215,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:225,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:253,1
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:266,1
    - Dst: TIFFFetchNormalSubTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:271,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:277,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:281,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 3
    argNames:
    - tif
    - pdir_offset
    - field_info
    argTypes:
    - TIFF*
    - toff_t
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 283
    functionName: TIFFReadPrivateDataSubDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - SeekOK
    - CheckDirCount
    - _TIFFfree
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSwabArrayOfLong
    - TIFFFetchNormalSubTag
    - ReadOK
    - CheckMalloc
    - TIFFSwabShort
    - _TIFFmemcpy
    - TIFFWarning
    - isMapped
    linkageType: ''
    returnType: int
    signature: "int TIFFReadPrivateDataSubDirectory(TIFF* tif, toff_t pdir_offset,\n\t\t\t\tTIFFFieldInfo
      *field_info,\n\t\t\t\tint (*setFieldFn)(TIFF *tif, ttag_t tag, ...))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:293,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:295,1
    - Dst: TIFFGetFileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:302,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:307,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:326,1
    - Dst: TIFFSetFieldBit
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:331,1
    - Dst: TIFFFieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:332,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 3
    argNames:
    - tif
    - dir
    - dircount
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 334
    functionName: EstimateStripByteCounts
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFSetFieldBit
    - CheckMalloc
    - TIFFScanlineSize
    - TIFFFieldSet
    - _TIFFfree
    - TIFFDataWidth
    - TIFFGetFileSize
    linkageType: ''
    returnType: void
    signature: void EstimateStripByteCounts(TIFF* tif, TIFFDirEntry* dir, uint16 dircount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - tagname
    argTypes:
    - TIFF*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 341
    functionName: MissingRequired
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFErrorExt
    linkageType: ''
    returnType: void
    signature: void MissingRequired(TIFF* tif, const char* tagname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:353,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - count
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: CheckDirCount
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached:
    - TIFFWarning
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int CheckDirCount(TIFF* tif, TIFFDirEntry* dir, uint32 count)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:368,1
    - Dst: isMapped
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:371,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:372,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:374,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:379,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:385,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:390,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:394,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:397,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:403,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:404,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 406
    functionName: TIFFFetchData
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - SeekOK
    - TIFFErrorExt
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfDouble
    - ReadOK
    - _TIFFmemcpy
    - TIFFDataWidth
    - _TIFFFieldWithTag
    - isMapped
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TIFFFetchData(TIFF* tif, TIFFDirEntry* dir, char* cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:417,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:418,1
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:421,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 422
    functionName: TIFFFetchString
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - _TIFFmemcpy
    - TIFFSwabLong
    - TIFFFetchData
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TIFFFetchString(TIFF* tif, TIFFDirEntry* dir, char* cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:431,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:433,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - tif
    - dir
    - num
    - denom
    - rv
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 442
    functionName: cvtRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int cvtRational(TIFF* tif, TIFFDirEntry* dir, uint32 num, uint32 denom,
      float* rv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:455,1
    - Dst: cvtRational
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 457
    functionName: TIFFFetchRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    - cvtRational
    linkageType: ''
    returnType: float
    signature: float TIFFFetchRational(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFExtractData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:472,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:473,1
    - Dst: TIFFExtractData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:482,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 488
    functionName: TIFFFetchFloat
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFExtractData
    - TIFFCvtIEEEFloatToNative
    linkageType: ''
    returnType: float
    signature: float TIFFFetchFloat(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:517,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 518
    functionName: TIFFFetchByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchByteArray(TIFF* tif, TIFFDirEntry* dir, uint16* v)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:540,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 541
    functionName: TIFFFetchShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchShortArray(TIFF* tif, TIFFDirEntry* dir, uint16* v)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:555,1
    - Dst: TIFFFetchByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:559,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:563,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 565
    functionName: TIFFFetchShortPair
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFSetField
    - TIFFFetchShortArray
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchShortPair(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 3
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: TIFFFetchLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    linkageType: ''
    returnType: int
    signature: int TIFFFetchLongArray(TIFF* tif, TIFFDirEntry* dir, uint32* v)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:589,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:590,1
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:593,1
    - Dst: cvtRational
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:596,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 605
    functionName: TIFFFetchRationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    - CheckMalloc
    - cvtRational
    - _TIFFfree
    - TIFFDataWidth
    linkageType: ''
    returnType: int
    signature: int TIFFFetchRationalArray(TIFF* tif, TIFFDirEntry* dir, float* v)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:616,1
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:618,1
    - Dst: TIFFCvtIEEEFloatToNative
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 623
    functionName: TIFFFetchFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    - TIFFCvtIEEEFloatToNative
    linkageType: ''
    returnType: int
    signature: int TIFFFetchFloatArray(TIFF* tif, TIFFDirEntry* dir, float* v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:631,1
    - Dst: TIFFCvtIEEEDoubleToNative
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 636
      start: 628
    functionDepth: 3
    functionLinenumber: 628
    functionLinenumberEnd: 636
    functionName: TIFFFetchDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchData
    - TIFFCvtIEEEDoubleToNative
    linkageType: ''
    returnType: int
    signature: int TIFFFetchDoubleArray(TIFF* tif, TIFFDirEntry* dir, double* v)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFetchByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:657,1
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:671,1
    - Dst: TIFFFetchLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:685,1
    - Dst: TIFFFetchRationalArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:699,1
    - Dst: TIFFFetchFloatArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:707,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:715,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:720,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:722,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 3
    argNames:
    - tif
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 649
    functionDepth: 4
    functionLinenumber: 649
    functionLinenumberEnd: 726
    functionName: TIFFFetchAnyArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - TIFFFetchDoubleArray
    - TIFFFetchFloatArray
    - TIFFErrorExt
    - TIFFFetchLongArray
    - TIFFFetchShortArray
    - TIFFFetchRationalArray
    - _TIFFFieldWithTag
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchAnyArray(TIFF* tif, TIFFDirEntry* dir, double* v)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:749,1
    - Dst: TIFFFetchByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:751,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:755,1
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:757,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:761,1
    - Dst: TIFFFetchLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:763,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:767,1
    - Dst: TIFFFetchRationalArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:769,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:772,1
    - Dst: TIFFFetchFloatArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:774,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:777,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:779,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:787,1
    - Dst: TIFFFetchString
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:788,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:798,1
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:799,1
    - Dst: TIFFExtractData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:821,1
    - Dst: TIFFExtractData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:832,1
    - Dst: TIFFFetchFloat
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:842,1
    - Dst: TIFFFetchRational
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:843,1
    - Dst: TIFFFetchDoubleArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:851,1
    - Dst: TIFFFetchString
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:861,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 81
    argCount: 3
    argNames:
    - tif
    - dp
    - fip
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 870
    functionName: TIFFFetchNormalSubTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - _TIFFfree
    - CheckDirCount
    - TIFFFetchDoubleArray
    - TIFFFetchFloatArray
    - TIFFFetchFloat
    - TIFFFetchLongArray
    - TIFFFetchShortArray
    - TIFFFetchRational
    - CheckMalloc
    - TIFFFetchRationalArray
    - TIFFFetchString
    - TIFFExtractData
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFFetchNormalSubTag(TIFF* tif, TIFFDirEntry* dp, const TIFFFieldInfo*
      fip,\n\t\t      int (*setFieldFn)(TIFF *tif, ttag_t tag, ...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 876
    functionDepth: 0
    functionLinenumber: 876
    functionLinenumberEnd: 877
    functionName: NITEMS
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:888,1
    - Dst: NITEMS
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:892,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:893,1
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:894,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:898,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:900,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:908,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - pl
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 882
    functionDepth: 4
    functionLinenumber: 882
    functionLinenumberEnd: 911
    functionName: TIFFFetchPerSampleShorts
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - NITEMS
    - CheckDirCount
    - TIFFErrorExt
    - TIFFFetchShortArray
    - _TIFFmalloc
    - _TIFFfree
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int TIFFFetchPerSampleShorts(TIFF* tif, TIFFDirEntry* dir, int* pl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:924,1
    - Dst: NITEMS
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:928,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:929,1
    - Dst: TIFFFetchAnyArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:930,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:934,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:936,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:944,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 3
    argNames:
    - tif
    - dir
    - pl
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 918
    functionDepth: 5
    functionLinenumber: 918
    functionLinenumberEnd: 947
    functionName: TIFFFetchPerSampleAnys
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - NITEMS
    - CheckDirCount
    - TIFFFetchAnyArray
    - TIFFErrorExt
    - _TIFFmalloc
    - _TIFFfree
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int TIFFFetchPerSampleAnys(TIFF* tif, TIFFDirEntry* dir, double* pl)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CheckDirCount
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:961,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:967,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:975,1
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:979,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:984,1
    - Dst: TIFFFetchLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:986,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - tif
    - dir
    - nstrips
    - lpp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - long
    - uint32**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 955
    functionDepth: 4
    functionLinenumber: 955
    functionLinenumberEnd: 988
    functionName: TIFFFetchStripThing
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached:
    - CheckDirCount
    - TIFFFetchLongArray
    - TIFFFetchShortArray
    - CheckMalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, long nstrips,
      uint32** lpp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 990
    functionDepth: 0
    functionLinenumber: 990
    functionLinenumberEnd: 991
    functionName: NITEMS
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1001,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1002,1
    - Dst: TIFFFetchByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1004,1
    - Dst: TIFFFetchShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1006,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1008,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1010,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 994
    functionDepth: 4
    functionLinenumber: 994
    functionLinenumberEnd: 1012
    functionName: TIFFFetchExtraSamples
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - NITEMS
    - TIFFSetField
    - TIFFFetchShortArray
    - _TIFFmalloc
    - _TIFFfree
    - TIFFFetchByteArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchExtraSamples(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1031,1
    - Dst: TIFFFetchLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1032,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1034,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1039,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1040,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1044,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1019
    functionDepth: 4
    functionLinenumber: 1019
    functionLinenumberEnd: 1046
    functionName: TIFFFetchRefBlackWhite
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - CheckMalloc
    - TIFFSetField
    - TIFFFetchLongArray
    linkageType: ''
    returnType: int
    signature: int TIFFFetchRefBlackWhite(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFVTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1063,1
    - Dst: TIFFhowmany
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1082,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1083,1
    - Dst: CheckMalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1085,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1093,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1095,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1115,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1117,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c:1118,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1057
    functionDepth: 4
    functionLinenumber: 1057
    functionLinenumberEnd: 1121
    functionName: ChopUpSingleUncompressedStrip
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirread.c
    functionUses: 1
    functionsReached:
    - TIFFSetField
    - TIFFVTileSize
    - TIFFhowmany
    - CheckMalloc
    - _TIFFfree
    linkageType: ''
    returnType: void
    signature: void ChopUpSingleUncompressedStrip(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 3
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: isCCITTCompression
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 2
    functionsReached:
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int isCCITTCompression(TIFF* tif)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:80,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:82,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:83,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:93,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:94,1
    - Dst: isCCITTCompression
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:97,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:106,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:112,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:114,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:114,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:132,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:138,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:142,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:149,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:156,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:158,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:163,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:170,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:174,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:175,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:177,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:182,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:182,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:191,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:191,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:201,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:203,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 101
    argCount: 4
    argNames:
    - img
    - tif
    - stop
    - emsg
    argTypes:
    - TIFFImageIter*
    - TIFF*
    - int
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 70
    functionDepth: 4
    functionLinenumber: 70
    functionLinenumberEnd: 206
    functionName: TIFFImageIterBegin
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFFileName
    - sprintf
    - TIFFSetField
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - TIFFIsTiled
    - TIFFWarning
    - isCCITTCompression
    linkageType: ''
    returnType: int
    signature: int TIFFImageIterBegin(TIFFImageIter* img, TIFF* tif, int stop, char
      emsg[1024])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:212,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:212,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:216,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:216,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: TIFFImageIterGet
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFErrorExt
    - TIFFFileName
    linkageType: ''
    returnType: int
    signature: int TIFFImageIterGet(TIFFImageIter* img, void *udata, uint32 w, uint32
      h)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - img
    argTypes:
    - TIFFImageIter*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 226
    functionName: TIFFImageIterEnd
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TIFFImageIterEnd(TIFFImageIter* img)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFImageIterBegin
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:239,1
    - Dst: TIFFImageIterGet
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:241,1
    - Dst: TIFFImageIterEnd
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:242,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:244,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 5
    argNames:
    - tif
    - rwidth
    - rheight
    - raster
    - stop
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - uint8*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 231
    functionDepth: 5
    functionLinenumber: 231
    functionLinenumberEnd: 248
    functionName: TIFFReadImageIter
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - TIFFImageIterBegin
    - TIFFImageIterGet
    - TIFFImageIterEnd
    linkageType: ''
    returnType: int
    signature: "int TIFFReadImageIter(TIFF* tif,\n    uint32 rwidth, uint32 rheight,
      uint8* raster, int stop)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:269,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:269,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:271,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:271,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:274,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:275,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:280,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:295,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 257
    functionDepth: 5
    functionLinenumber: 257
    functionLinenumberEnd: 297
    functionName: gtTileContig
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - TIFFFileName
    - TIFFErrorExt
    - TIFFReadTile
    - _TIFFmalloc
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int gtTileContig(TIFFImageIter* img, void *udata, uint32 w, uint32
      h)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:323,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:324,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:326,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:326,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:334,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:335,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:336,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:341,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:343,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:345,1
    - Dst: TIFFReadTile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:347,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:362,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 37
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 305
    functionDepth: 5
    functionLinenumber: 305
    functionLinenumberEnd: 364
    functionName: gtTileSeparate
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFGetField
    - TIFFErrorExt
    - TIFFReadTile
    - _TIFFmalloc
    - memset
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: int
    signature: int gtTileSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32
      h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:385,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:385,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:387,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:387,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:391,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:392,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:396,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:396,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:401,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 403
    functionName: gtStripContig
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFComputeStrip
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - _TIFFmalloc
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int gtStripContig(TIFFImageIter* img, void *udata, uint32 w, uint32
      h)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:427,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:428,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:430,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:430,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:437,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:439,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:440,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:444,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:444,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:447,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:447,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:450,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:450,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:454,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:454,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:459,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 30
    argCount: 4
    argNames:
    - img
    - udata
    - w
    - h
    argTypes:
    - TIFFImageIter*
    - void*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 411
    functionDepth: 4
    functionLinenumber: 411
    functionLinenumberEnd: 461
    functionName: gtStripSeparate
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFComputeStrip
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - TIFFScanlineSize
    - _TIFFmalloc
    - memset
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int gtStripSeparate(TIFFImageIter* img, void *udata, uint32 w, uint32
      h)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 463
    functionDepth: 0
    functionLinenumber: 463
    functionLinenumberEnd: 467
    functionName: DECLAREContigCallbackFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void DECLAREContigCallbackFunc(TestContigCallback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 470
    functionDepth: 0
    functionLinenumber: 470
    functionLinenumberEnd: 474
    functionName: DECLARESepCallbackFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 0
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void DECLARESepCallbackFunc(TestSepCallback)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:493,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:494,1
    - Dst: PLIGetImage
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:496,1
    - Dst: TIFFImageIterBegin
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:501,1
    - Dst: TIFFImageIterGet
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:508,1
    - Dst: TIFFImageIterEnd
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:509,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:511,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c:511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 478
    functionDepth: 5
    functionLinenumber: 478
    functionLinenumberEnd: 515
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.c
    functionUses: 15
    functionsReached:
    - TIFFFileName
    - TIFFErrorExt
    - TIFFImageIterBegin
    - TIFFImageIterGet
    - TIFFImageIterEnd
    - fprintf
    - PLIGetImage
    - exit
    linkageType: ''
    returnType: void
    signature: void main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - type
    - ','
    - tag1
    - ','
    - v1
    - ','
    - tag2
    - ','
    - v2
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 104
    functionName: WriteRationalPair
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WriteRationalPair(type, tag1, v1, tag2, v2)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - tif
    - ','
    - type
    - ','
    - tag
    - ','
    - dir
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: TIFFWriteRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TIFFWriteRational(tif, type, tag, dir, v)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFFlushData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:162,1
    - Dst: FieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:171,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:176,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:178,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:188,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:194,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:218,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:219,1
    - Dst: FieldSet
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:230,1
    - Dst: TIFFWriteNormalSubTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:232,1
    - Dst: ResetFieldBit
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:235,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:261,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:262,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:265,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:266,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:269,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:270,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:271,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:274,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:275,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:278,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:279,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:284,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:285,1
    - Dst: TIFFDefaultDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:297,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:305,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:306,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 75
    argCount: 4
    argNames:
    - tif
    - pdir_fieldsset
    - pdir_fields_last
    - field_info
    argTypes:
    - TIFF*
    - uint32[]
    - int
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 308
    functionName: TIFFWritePrivateDataSubDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFSwabArrayOfShort
    - _TIFFfree
    - ResetFieldBit
    - WriteOK
    - TIFFErrorExt
    - TIFFFlushData
    - TIFFSwabLong
    - TIFFSeekFile
    - TIFFSwabArrayOfLong
    - _TIFFmalloc
    - TIFFWriteNormalSubTag
    - TIFFDefaultDirectory
    - TIFFSwabShort
    - _TIFFmemcpy
    - FieldSet
    linkageType: ''
    returnType: toff_t
    signature: "toff_t TIFFWritePrivateDataSubDirectory(TIFF* tif,\n\t\t\t\t uint32
      pdir_fieldsset[], int pdir_fields_last,\n\t\t\t\t TIFFFieldInfo *field_info,\n\t\t\t\t
      int (*getFieldFn)(TIFF *tif, ttag_t tag, ...))"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:337,1
    - Dst: TIFFInsertData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:343,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:355,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:371,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:376,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:388,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:393,1
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:423,1
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:424,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:435,1
    - Dst: WRITEF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:440,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:448,1
    - Dst: TIFFWriteByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:449,1
    - Dst: TIFFWriteByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:460,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 108
    argCount: 3
    argNames:
    - tif
    - dir
    - fip
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - TIFFFieldInfo*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 466
    functionName: TIFFWriteNormalSubTag
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteData
    - WRITEF
    - strlen
    - TIFFInsertData
    - TIFFCvtNativeToIEEEDouble
    - TIFFWriteByteArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteNormalSubTag(TIFF* tif, TIFFDirEntry* dir, const TIFFFieldInfo*
      fip,\n\t\t      int (*getFieldFn)(TIFF *tif, ttag_t tag, ...))"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - y
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 327
    functionName: WRITEF
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WRITEF(x,y)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFInsertData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - tag
    - dir
    - v
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 489
    functionName: TIFFSetupShortLong
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFInsertData
    linkageType: ''
    returnType: void
    signature: void TIFFSetupShortLong(TIFF* tif, ttag_t tag, TIFFDirEntry* dir, uint32
      v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteRationalArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - tif
    - type
    - tag
    - dir
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - float
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: TIFFWriteRational
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteRationalArray
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteRational(TIFF* tif,\n    TIFFDataType type, ttag_t tag,
      TIFFDirEntry* dir, float v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 506
    functionName: NITEMS
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NITEMS(x)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:519,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:520,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:521,1
    - Dst: TIFFWriteShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:524,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - tif
    - tag
    - dir
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 528
    functionName: TIFFWritePerSampleShorts
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - NITEMS
    - TIFFGetField
    - TIFFWriteShortArray
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int TIFFWritePerSampleShorts(TIFF* tif, ttag_t tag, TIFFDirEntry* dir)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: NITEMS
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:544,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:545,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:546,1
    - Dst: TIFFWriteAnyArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:549,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - tif
    - type
    - tag
    - dir
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 553
    functionName: TIFFWritePerSampleAnys
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - NITEMS
    - TIFFWriteAnyArray
    - TIFFGetField
    - _TIFFmalloc
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: "int TIFFWritePerSampleAnys(TIFF* tif,\n    TIFFDataType type, ttag_t
      tag, TIFFDirEntry* dir)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:565,1
    - Dst: TIFFWriteShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tif
    - tag
    - dir
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 567
    functionName: TIFFSetupShortPair
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteShortArray
    - TIFFGetField
    linkageType: ''
    returnType: int
    signature: int TIFFSetupShortPair(TIFF* tif, ttag_t tag, TIFFDirEntry* dir)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:586,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 5
    argNames:
    - tif
    - tag
    - dir
    - n
    - table
    argTypes:
    - TIFF*
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - uint16**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 591
    functionName: TIFFWriteShortTable
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteShortTable(TIFF* tif,\n    ttag_t tag, TIFFDirEntry*
      dir, uint32 n, uint16** table)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:600,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:603,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 605
    functionName: TIFFWriteByteArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - _TIFFmemcpy
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: int TIFFWriteByteArray(TIFF* tif, TIFFDirEntry* dir, char* cp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:630,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 631
    functionName: TIFFWriteShortArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 2
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteShortArray(TIFF* tif,\n    TIFFDataType type, ttag_t
      tag, TIFFDirEntry* dir, uint32 n, uint16* v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 649
    functionName: TIFFWriteLongArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteLongArray(TIFF* tif,\n    TIFFDataType type, ttag_t tag,
      TIFFDirEntry* dir, uint32 n, uint32* v)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:666,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:674,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:676,1
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:689,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:690,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 692
    functionName: TIFFWriteRationalArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteData
    - _TIFFmalloc
    - _TIFFfree
    - TIFFWarning
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteRationalArray(TIFF* tif,\n    TIFFDataType type, ttag_t
      tag, TIFFDirEntry* dir, uint32 n, float* v)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtNativeToIEEEFloat
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:701,1
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:706,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 707
    functionName: TIFFWriteFloatArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFCvtNativeToIEEEFloat
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteFloatArray(TIFF* tif,\n    TIFFDataType type, ttag_t
      tag, TIFFDirEntry* dir, uint32 n, float* v)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCvtNativeToIEEEDouble
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:716,1
    - Dst: TIFFWriteData
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 718
    functionName: TIFFWriteDoubleArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFCvtNativeToIEEEDouble
    - TIFFWriteData
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteDoubleArray(TIFF* tif,\n    TIFFDataType type, ttag_t
      tag, TIFFDirEntry* dir, uint32 n, double* v)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:737,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:738,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:738,1
    - Dst: TIFFWriteByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:747,1
    - Dst: TIFFWriteByteArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:758,1
    - Dst: TIFFWriteShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:766,1
    - Dst: TIFFWriteShortArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:774,1
    - Dst: TIFFWriteLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:782,1
    - Dst: TIFFWriteLongArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:790,1
    - Dst: TIFFWriteFloatArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:798,1
    - Dst: TIFFWriteDoubleArray
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:803,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:815,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 78
    argCount: 6
    argNames:
    - tif
    - type
    - tag
    - dir
    - n
    - v
    argTypes:
    - TIFF*
    - TIFFDataType
    - ttag_t
    - TIFFDirEntry*
    - uint32
    - double*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 817
    functionName: TIFFWriteAnyArray
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - TIFFWriteDoubleArray
    - TIFFWriteLongArray
    - TIFFWriteShortArray
    - _TIFFmalloc
    - TIFFWriteFloatArray
    - TIFFWriteByteArray
    - _TIFFfree
    - TIFFDataWidth
    linkageType: ''
    returnType: int
    signature: "int TIFFWriteAnyArray(TIFF* tif,\n    TIFFDataType type, ttag_t tag,
      TIFFDirEntry* dir, uint32 n, double* v)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmemcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:835,1
    - Dst: _TIFFmemcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:836,1
    - Dst: TIFFWriteShortTable
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:839,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - tif
    - dir
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 841
    functionName: TIFFWriteTransferFunction
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 0
    functionsReached:
    - TIFFWriteShortTable
    - _TIFFmemcmp
    linkageType: ''
    returnType: int
    signature: int TIFFWriteTransferFunction(TIFF* tif, TIFFDirEntry* dir)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:856,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:861,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:865,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:868,1
    - Dst: TIFFDataWidth
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:873,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:874,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:875,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:879,1
    - Dst: _TIFFFieldWithTag
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:880,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - tif
    - dir
    - cp
    argTypes:
    - TIFF*
    - TIFFDirEntry*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 882
    functionName: TIFFWriteData
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 8
    functionsReached:
    - TIFFSwabArrayOfShort
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfDouble
    - TIFFDataWidth
    - _TIFFFieldWithTag
    linkageType: ''
    returnType: int
    signature: int TIFFWriteData(TIFF* tif, TIFFDirEntry* dir, char* cp)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:895,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:898,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:901,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:902,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:903,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:926,1
    - Dst: HDROFF
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:926,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:927,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:928,1
    - Dst: SeekOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:940,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:941,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:942,1
    - Dst: TIFFSwabShort
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:946,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:947,1
    - Dst: ReadOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:949,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:950,1
    - Dst: TIFFSwabLong
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:954,1
    - Dst: TIFFSeekFile
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:956,1
    - Dst: WriteOK
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:957,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c:958,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 1
    argNames:
    - tif
    argTypes:
    - TIFF*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 888
    functionDepth: 2
    functionLinenumber: 888
    functionLinenumberEnd: 962
    functionName: TIFFLinkDirectory
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached:
    - HDROFF
    - SeekOK
    - WriteOK
    - TIFFErrorExt
    - TIFFSwabLong
    - TIFFSeekFile
    - ReadOK
    - TIFFSwabShort
    linkageType: ''
    returnType: int
    signature: int TIFFLinkDirectory(TIFF* tif)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 925
    functionDepth: 0
    functionLinenumber: 925
    functionLinenumberEnd: 926
    functionName: HDROFF
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_pdsdirwrite.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: HDROFF(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 22
      start: 13
    functionDepth: 0
    functionLinenumber: 13
    functionLinenumberEnd: 22
    functionName: DECLAREContigCallbackFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigCallbackFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 35
    functionName: DECLARESepCallbackFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/pds/tif_imageiter.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepCallbackFunc(name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:40,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:44,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:45,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:49,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:50,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:51,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:52,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:53,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:54,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:55,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:56,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:57,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:59,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:68,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:77,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:79,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c:80,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 33
    functionDepth: 6
    functionLinenumber: 33
    functionLinenumberEnd: 82
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-bi.c
    functionUses: 15
    functionsReached:
    - TIFFSetField
    - TIFFClose
    - malloc
    - free
    - fprintf
    - TIFFWriteScanline
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: SCALE
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:49,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:51,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:52,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:54,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:74,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:82,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:83,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:84,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:92,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:94,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:96,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:98,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:100,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:102,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:104,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:109,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:111,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:113,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:115,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:117,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:119,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:121,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:124,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:126,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:128,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:130,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:134,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:139,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:144,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:146,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:147,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:148,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:151,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:152,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:154,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:156,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:158,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:159,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:166,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:167,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:168,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:169,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:170,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:171,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:172,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:173,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:174,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:175,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:176,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:177,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:178,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:179,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:180,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:181,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:182,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:183,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:184,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:185,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:186,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:187,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:188,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:189,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:192,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:197,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:202,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:203,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:204,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:205,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:212,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:213,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:214,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:218,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:219,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:220,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:220,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:220,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:224,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:225,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:226,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:227,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:228,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:229,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:230,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:231,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:232,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:233,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:235,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:262,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:265,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:266,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 198
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 38
    functionDepth: 6
    functionLinenumber: 38
    functionLinenumberEnd: 268
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c
    functionUses: 15
    functionsReached:
    - TIFFSetField
    - strcmp
    - Usage
    - TIFFClose
    - malloc
    - SCALE
    - free
    - fprintf
    - TIFFWriteScanline
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:273,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 275
    functionName: Usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-palette.c
    functionUses: 2
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: ROUND
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c
    functionUses: 66
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(x)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:59,1
    - Dst: atof
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:60,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:63,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:66,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:73,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:73,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:74,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:74,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:75,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:75,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:82,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:83,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:84,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:87,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:88,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:89,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:90,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:91,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:92,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:93,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:94,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:95,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:97,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:98,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:100,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:101,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:103,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:141,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:179,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:182,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:183,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:184,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 41
    functionDepth: 6
    functionLinenumber: 41
    functionLinenumberEnd: 185
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c
    functionUses: 15
    functionsReached:
    - pow
    - TIFFSetField
    - Usage
    - strcmp
    - TIFFClose
    - malloc
    - atof
    - fprintf
    - free
    - TIFFWriteScanline
    - TIFFOpen
    - exit
    - ROUND
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:190,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 192
    functionName: Usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-rgb.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:51,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:53,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:54,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:56,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:72,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:76,1
    - Dst: log10
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:80,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:85,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:86,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:87,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:91,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:92,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:93,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:94,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:95,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:96,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:97,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:98,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:99,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:100,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:101,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:103,1
    - Dst: TIFFWriteScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:125,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:128,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:129,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 39
    functionDepth: 6
    functionLinenumber: 39
    functionLinenumberEnd: 131
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c
    functionUses: 15
    functionsReached:
    - TIFFSetField
    - strcmp
    - Usage
    - TIFFClose
    - malloc
    - log10
    - free
    - fprintf
    - TIFFWriteScanline
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:136,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    functionName: Usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/tiff-grayscale.c
    functionUses: 4
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: ROUND
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 67
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ROUND(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: SCALE
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - m
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: MCHECK
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MCHECK(m)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 37
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    functionName: PP
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(args)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - args
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: PP
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PP(args)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:268,1
    - Dst: setbuf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:268,1
    - Dst: XtInitialize
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:270,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:271,1
    - Dst: XSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:273,1
    - Dst: XtGetApplicationResources
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:275,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:276,1
    - Dst: Usage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:280,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:283,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:284,1
    - Dst: XtDisplay
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:289,1
    - Dst: DefaultScreen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:290,1
    - Dst: OpenTIFFFile
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:292,1
    - Dst: GetTIFFHeader
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:293,1
    - Dst: SimpleGammaCorrection
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:294,1
    - Dst: GetVisual
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:295,1
    - Dst: GetTIFFImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:296,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:302,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:303,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:304,1
    - Dst: DefaultDepth
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:305,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:306,1
    - Dst: XCreateBitmapFromData
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:307,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:307,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:309,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:310,1
    - Dst: XtCreateManagedWidget
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:315,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:316,1
    - Dst: XtCreateWidget
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:318,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:319,1
    - Dst: XtCreateWidget
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:321,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:322,1
    - Dst: XtCreateWidget
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:324,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:325,1
    - Dst: XtManageChildren
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:327,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:327,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:333,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:334,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:337,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:338,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:341,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:342,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:343,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:348,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:349,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:350,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:351,1
    - Dst: SetNameLabel
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:353,1
    - Dst: XtAddCallback
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:355,1
    - Dst: XtAddActions
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:358,1
    - Dst: XtNumber
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:358,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:359,1
    - Dst: XtParseTranslationTable
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:360,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:361,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:362,1
    - Dst: XtAddEventHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:368,1
    - Dst: XtRealizeWidget
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:372,1
    - Dst: XCreateFontCursor
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:374,1
    - Dst: XChangeWindowAttributes
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:375,1
    - Dst: XtWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:375,1
    - Dst: CreateXImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:378,1
    - Dst: XtMainLoop
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:380,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 383
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 15
    functionsReached:
    - DefaultDepth
    - XCreateBitmapFromData
    - XSetErrorHandler
    - OpenTIFFFile
    - TIFFSetErrorHandler
    - XtManageChildren
    - XtAddCallback
    - RootWindow
    - TIFFSetWarningHandler
    - XtDisplay
    - XtAddActions
    - XtMainLoop
    - XtGetApplicationResources
    - XCreateFontCursor
    - XtCreateManagedWidget
    - DefaultScreen
    - GetVisual
    - GetTIFFHeader
    - XtParseTranslationTable
    - XChangeWindowAttributes
    - CreateXImage
    - XtInitialize
    - XtWindow
    - Usage
    - XtRealizeWidget
    - XtCreateWidget
    - XtSetValues
    - SimpleGammaCorrection
    - SetNameLabel
    - XtNumber
    - GetTIFFImage
    - XtAddEventHandler
    - XtSetArg
    - setbuf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:389,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:391,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:392,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:394,1
    - Dst: TIFFLastDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:397,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 385
    functionDepth: 6
    functionLinenumber: 385
    functionLinenumberEnd: 398
    functionName: OpenTIFFFile
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - TIFFClose
    - TIFFLastDirectory
    - fprintf
    - exit
    - TIFFOpen
    linkageType: ''
    returnType: void
    signature: void OpenTIFFFile()
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:405,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:406,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:408,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:411,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:412,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:417,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:418,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:419,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:420,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:426,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:427,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:428,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:429,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:429,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:429,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:435,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:441,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:454,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:455,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:456,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:457,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:457,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:457,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:460,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:463,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:465,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:466,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:467,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:468,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:468,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:468,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:471,1
    - Dst: CheckAndCorrectColormap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:473,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:482,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:483,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:484,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:485,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:485,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:485,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:488,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:491,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:492,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:493,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:494,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:494,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:494,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:496,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:499,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:502,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 85
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 400
    functionDepth: 5
    functionLinenumber: 400
    functionLinenumberEnd: 504
    functionName: GetTIFFHeader
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - TIFFSetDirectory
    - CheckAndCorrectColormap
    - TIFFGetFieldDefaulted
    - malloc
    - SCALE
    - fprintf
    - exit
    - MCHECK
    linkageType: ''
    returnType: void
    signature: void GetTIFFHeader()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:513,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:515,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:516,1
    - Dst: XtSetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 518
    functionName: SetNameLabel
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - snprintf
    - XtSetArg
    - XtSetValues
    linkageType: ''
    returnType: void
    signature: void SetNameLabel()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:534,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:535,1
    - Dst: SCALE
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:536,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:538,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 539
    functionName: CheckAndCorrectColormap
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - SCALE
    - TIFFWarning
    linkageType: ''
    returnType: void
    signature: void CheckAndCorrectColormap()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:554,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:554,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:555,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:555,1
    - Dst: ROUND
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:556,1
    - Dst: pow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:556,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:560,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:560,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 561
    functionName: SimpleGammaCorrection
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - pow
    - free
    - ROUND
    linkageType: ''
    returnType: void
    signature: void SimpleGammaCorrection()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: SearchVisualList
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:590,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:591,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:592,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:595,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:596,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:606,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:606,1
    - Dst: XStoreColors
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:608,1
    - Dst: SearchVisualList
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:620,1
    - Dst: SearchVisualList
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:623,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:626,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:627,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:630,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:631,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:651,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:651,1
    - Dst: XCreateColormap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:654,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:654,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:657,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:658,1
    - Dst: XAllocColorCells
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:659,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:662,1
    - Dst: XStoreColors
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:664,1
    - Dst: DefaultVisual
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:668,1
    - Dst: DefaultColormap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:669,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:672,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:673,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:677,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:681,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:683,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:685,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:687,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:689,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 692
    functionName: GetVisual
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - RootWindow
    - XStoreColors
    - XCreateColormap
    - XAllocColorCells
    - malloc
    - SearchVisualList
    - free
    - fprintf
    - DefaultVisual
    - DefaultColormap
    - exit
    - MCHECK
    linkageType: ''
    returnType: void
    signature: void GetVisual()
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:742,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:742,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:743,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:747,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:748,1
    - Dst: ImageByteOrder
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:753,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:771,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:787,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:799,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:800,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:803,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:807,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:808,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:816,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:827,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:828,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:831,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:844,1
    - Dst: MCHECK
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:845,1
    - Dst: TIFFReadScanline
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:848,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:860,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:863,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:867,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 734
    functionDepth: 5
    functionLinenumber: 734
    functionLinenumberEnd: 868
    functionName: GetTIFFImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - malloc
    - TIFFScanlineSize
    - fprintf
    - free
    - ImageByteOrder
    - exit
    - TIFFReadScanline
    - MCHECK
    linkageType: ''
    returnType: void
    signature: void GetTIFFImage()
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: XCreateImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:879,1
    - Dst: XWhitePixel
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:898,1
    - Dst: XBlackPixel
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:899,1
    - Dst: XBlackPixel
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:901,1
    - Dst: XWhitePixel
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:902,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:904,1
    - Dst: XtWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:904,1
    - Dst: XCreatePixmap
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:911,1
    - Dst: RootWindow
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:911,1
    - Dst: XCreateGC
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:923,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:925,1
    - Dst: XPutImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:928,1
    - Dst: XDestroyImage
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:930,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 870
    functionDepth: 0
    functionLinenumber: 870
    functionLinenumberEnd: 933
    functionName: CreateXImage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 1
    functionsReached:
    - RootWindow
    - XCreateGC
    - XWhitePixel
    - XtWindow
    - XCreateImage
    - XBlackPixel
    - free
    - XDestroyImage
    - XPutImage
    - XCreatePixmap
    linkageType: ''
    returnType: void
    signature: void CreateXImage()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 962
    functionDepth: 0
    functionLinenumber: 962
    functionLinenumberEnd: 966
    functionName: QuitProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - exit
    linkageType: ''
    returnType: void
    signature: void QuitProc(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageProc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 968
    functionDepth: 0
    functionLinenumber: 968
    functionLinenumberEnd: 972
    functionName: NextProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - PageProc
    linkageType: ''
    returnType: void
    signature: void NextProc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PageProc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 978
      start: 974
    functionDepth: 0
    functionLinenumber: 974
    functionLinenumberEnd: 978
    functionName: PreviousProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - PageProc
    linkageType: ''
    returnType: void
    signature: void PreviousProc()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1216,1
    - Dst: XtSetArg
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1217,1
    - Dst: XtGetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1218,1
    - Dst: XtGetValues
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1221,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1227,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1229,1
    - Dst: EventProc
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1240,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1205
    functionDepth: 0
    functionLinenumber: 1205
    functionLinenumberEnd: 1242
    functionName: ResizeProc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 0
    functionsReached:
    - XtSetArg
    - XtGetValues
    - MAX
    - EventProc
    linkageType: ''
    returnType: void
    signature: void ResizeProc()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1268,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1269,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1270,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1271,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1272,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1273,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1274,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1275,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1276,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1265
    functionDepth: 0
    functionLinenumber: 1265
    functionLinenumberEnd: 1278
    functionName: Usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/dbs/xtiff/xtiff.c
    functionUses: 5
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void Usage()
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: mem_init
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:126,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:174,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:192,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    argCount: 3
    argNames:
    - buffer
    - size
    - mode
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 119
    functionDepth: 5
    functionLinenumber: 119
    functionLinenumberEnd: 225
    functionName: mfs_open
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 2
    functionsReached:
    - malloc
    - mem_init
    linkageType: ''
    returnType: int
    signature: int mfs_open (void *buffer, int size, char *mode)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: extend_mem_file
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:263,1
    - Dst: extend_mem_file
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:279,1
    - Dst: extend_mem_file
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:296,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 47
    argCount: 3
    argNames:
    - fd
    - offset
    - whence
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 310
    functionName: mfs_lseek
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - extend_mem_file
    linkageType: ''
    returnType: int
    signature: int mfs_lseek (int fd, int offset, int whence)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - fd
    - clnt_buf
    - size
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 350
    functionName: mfs_read
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - memcpy
    linkageType: ''
    returnType: int
    signature: int mfs_read (int fd, void *clnt_buf, int size)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: extend_mem_file
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:384,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:388,1
    - Dst: extend_mem_file
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:400,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - fd
    - clnt_buf
    - size
    argTypes:
    - int
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 410
    functionName: mfs_write
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached:
    - memcpy
    - extend_mem_file
    linkageType: ''
    returnType: int
    signature: int mfs_write (int fd, void *clnt_buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 438
    functionName: mfs_size
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_size (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - fd
    - addr
    - len
    argTypes:
    - int
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 0
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: mfs_map
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_map (int fd, char **addr, size_t *len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: mfs_unmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_unmap (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 523
    functionName: mfs_close
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mfs_close (int fd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 552
    functionName: extend_mem_file
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 2
    functionsReached:
    - realloc
    linkageType: ''
    returnType: int
    signature: int extend_mem_file (int fd, int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 578
    functionName: mem_init
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/mfs/mfs_file.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mem_init ()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<thandle_t>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:18,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 7
    functionDepth: 0
    functionLinenumber: 7
    functionLinenumberEnd: 19
    functionName: TiffStream::TiffStream
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<thandle_t>
    linkageType: ''
    returnType: void
    signature: void TiffStream::TiffStream()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:23,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 24
      start: 21
    functionDepth: 6
    functionLinenumber: 21
    functionLinenumberEnd: 24
    functionName: TiffStream::~TiffStream()
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TIFFClose
    linkageType: ''
    returnType: void
    signature: void TiffStream::~TiffStream()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:32,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:34,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - istream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 26
    functionDepth: 8
    functionLinenumber: 26
    functionLinenumberEnd: 45
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TIFFClientOpen
    - TiffStream::getSize
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TiffStream::makeFileStream(istream* str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:53,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - ostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 8
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TIFFClientOpen
    - TiffStream::getSize
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TiffStream::makeFileStream(ostream* str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::getSize
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:74,1
    - Dst: TIFFClientOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - str
    argTypes:
    - iostream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 68
    functionDepth: 8
    functionLinenumber: 68
    functionLinenumberEnd: 87
    functionName: TiffStream::makeFileStream
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TIFFClientOpen
    - TiffStream::getSize
    linkageType: ''
    returnType: TIFF
    signature: 'TIFF *

      TiffStream::makeFileStream(iostream* str)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:93,1
    - Dst: TiffStream*::tell
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:100,1
    - Dst: istream*::read
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:102,1
    - Dst: reinterpret_cast<char*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:102,1
    - Dst: istream*::gcount
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:103,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 104
    functionName: TiffStream::read
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - istream*::gcount
    - istream*::read
    - reinterpret_cast<char*>
    - TiffStream*::tell
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TiffStream::read(thandle_t fd, tdata_t buf, tsize_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:109,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:117,1
    - Dst: ostream*::write
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:118,1
    - Dst: reinterpret_cast<const char*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:118,1
    - Dst: ostream*::tellp
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:119,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - fd
    - buf
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 120
    functionName: TiffStream::write
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - ostream*::write
    - ostream*::tellp
    - reinterpret_cast<TiffStream*>
    - reinterpret_cast<const char*>
    linkageType: ''
    returnType: tsize_t
    signature: tsize_t TiffStream::write(thandle_t fd, tdata_t buf, tsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:125,1
    - Dst: TiffStream*::seekInt
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - fd
    - offset
    - origin
    argTypes:
    - thandle_t
    - toff_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 128
    functionName: TiffStream::seek
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream*::seekInt
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: toff_t
    signature: toff_t TiffStream::seek(thandle_t fd, toff_t offset, int origin)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:133,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 145
    functionName: TiffStream::close
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: int
    signature: int TiffStream::close(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:150,1
    - Dst: TiffStream*::getSize
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 152
    functionName: TiffStream::size
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached:
    - TiffStream*::getSize
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: toff_t
    signature: toff_t TiffStream::size(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - fd
    - phase
    - psize
    argTypes:
    - thandle_t
    - tdata_t*
    - toff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 158
    functionName: TiffStream::map
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int TiffStream::map(thandle_t fd, tdata_t* phase, toff_t* psize)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - fd
    - base
    - size
    argTypes:
    - thandle_t
    - tdata_t
    - tsize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 163
    functionName: TiffStream::unmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void TiffStream::unmap(thandle_t fd, tdata_t base, tsize_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::isOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:168,1
    - Dst: TiffStream::tell
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:170,1
    - Dst: TiffStream::seekInt
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:171,1
    - Dst: TiffStream::tell
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:172,1
    - Dst: TiffStream::seekInt
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 176
    functionName: TiffStream::getSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 3
    functionsReached:
    - TiffStream::isOpen
    - TiffStream::seekInt
    - TiffStream::tell
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TiffStream::getSize(thandle_t fd)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:181,1
    - Dst: TiffStream*::m_inStream::tellg
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:183,1
    - Dst: TiffStream*::m_outStream::tellp
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:185,1
    - Dst: TiffStream*::m_ioStream::tellg
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: TiffStream::tell
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 1
    functionsReached:
    - TiffStream*::m_outStream::tellp
    - TiffStream*::m_inStream::tellg
    - reinterpret_cast<TiffStream*>
    - TiffStream*::m_ioStream::tellg
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int TiffStream::tell(thandle_t fd)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: TiffStream::isOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:195,1
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:210,1
    - Dst: TiffStream*::m_inStream::seekg
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:212,1
    - Dst: TiffStream*::m_outStream::seekp
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:215,1
    - Dst: TiffStream*::m_ioStream::seekg
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:218,1
    - Dst: TiffStream*::m_ioStream::seekp
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:219,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - fd
    - offset
    - origin
    argTypes:
    - thandle_t
    - unsigned int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 223
    functionName: TiffStream::seekInt
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 1
    functionsReached:
    - TiffStream*::m_ioStream::seekg
    - TiffStream::isOpen
    - TiffStream*::m_ioStream::seekp
    - TiffStream*::m_inStream::seekg
    - TiffStream*::m_outStream::seekp
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: bool
    signature: bool TiffStream::seekInt(thandle_t fd, unsigned int offset, int origin)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: reinterpret_cast<TiffStream*>
      Src: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - fd
    argTypes:
    - thandle_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 232
    functionName: TiffStream::isOpen
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.cpp
    functionUses: 2
    functionsReached:
    - reinterpret_cast<TiffStream*>
    linkageType: ''
    returnType: bool
    signature: bool TiffStream::isOpen(thandle_t fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 42
    functionName: TiffStream::getTiffHandle
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: TIFF
    signature: TIFF * getTiffHandle() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 43
    functionName: TiffStream::getStreamLength
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/stream/tiffstream.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int getStreamLength()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/ras/tif2ras.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/libspectre/ghostscript/tiff/contrib/ras/tif2ras.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/ras/tif2ras.c
    functionUses: 70
    functionsReached:
    - error
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: SCALE
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/ras/ras2tif.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCALE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: error
      Src: /src/libspectre/ghostscript/tiff/contrib/ras/ras2tif.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: usage
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/ras/ras2tif.c
    functionUses: 70
    functionsReached:
    - error
    linkageType: ''
    returnType: void
    signature: void usage()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:96,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:101,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:105,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:108,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:112,1
    - Dst: iscntrl
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:115,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:116,1
    - Dst: putc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:118,1
    - Dst: fputs
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 3
    argNames:
    - ofile
    - s
    - len
    argTypes:
    - FILE*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 123
    functionName: formatString
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - fprintf
    - iscntrl
    - fputs
    - putc
    linkageType: ''
    returnType: void
    signature: void formatString(FILE *ofile, const char *s, int len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:157,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:167,1
    - Dst: STRNICMP
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:181,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:183,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 191
    functionName: convertHTMLcodes
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - STRNICMP
    - sscanf
    - strcpy
    linkageType: ''
    returnType: int
    signature: int convertHTMLcodes(char *s, int len)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:219,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:232,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:238,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:241,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:256,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:266,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:282,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:290,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:294,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:297,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:302,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:305,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:313,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:314,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:316,1
    - Dst: formatString
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:317,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:318,1
    - Dst: getc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:322,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 72
    argCount: 2
    argNames:
    - ifile
    - ofile
    argTypes:
    - FILE*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 193
    functionDepth: 5
    functionLinenumber: 193
    functionLinenumberEnd: 325
    functionName: formatIPTC
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - printf
    - strlen
    - formatString
    - malloc
    - free
    - fprintf
    - getc
    linkageType: ''
    returnType: int
    signature: int formatIPTC(FILE *ifile, FILE *ofile)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fgetc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:343,1
    - Dst: realloc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:353,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 3
    argNames:
    - b
    - blen
    - file
    argTypes:
    - char*
    - int*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 331
    functionDepth: 0
    functionLinenumber: 331
    functionLinenumberEnd: 373
    functionName: super_fgets
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - fgetc
    - realloc
    linkageType: ''
    returnType: char
    signature: char *super_fgets(char *b, int *blen, FILE *file)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: puts
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:399,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:419,1
    - Dst: _fileno
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:419,1
    - Dst: _setmode
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:426,1
    - Dst: _fileno
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:426,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:431,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:433,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:436,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:442,1
    - Dst: fopen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:444,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:447,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:452,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:458,1
    - Dst: formatIPTC
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:464,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:486,1
    - Dst: super_fgets
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:488,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:493,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:494,1
    - Dst: tokenizer
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:495,1
    - Dst: tokenizer
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:510,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:514,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:517,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:535,1
    - Dst: tokenizer
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:536,1
    - Dst: convertHTMLcodes
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:544,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:544,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:548,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:549,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:550,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:553,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:554,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:558,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:559,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:560,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:561,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:565,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:569,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:571,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:574,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:576,1
    - Dst: fclose
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:577,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 104
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 377
    functionDepth: 6
    functionLinenumber: 377
    functionLinenumberEnd: 581
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 15
    functionsReached:
    - _setmode
    - puts
    - convertHTMLcodes
    - printf
    - fputc
    - strlen
    - tokenizer
    - malloc
    - super_fgets
    - free
    - _fileno
    - fopen
    - atoi
    - formatIPTC
    - fclose
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ch
    - string
    argTypes:
    - char
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 780
    functionDepth: 0
    functionLinenumber: 780
    functionLinenumberEnd: 787
    functionName: sindex
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int sindex(char ch,char *string)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: toupper
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:802,1
    - Dst: tolower
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:806,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 3
    argNames:
    - string
    - max
    - ch
    argTypes:
    - char*
    - int
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 816
      start: 791
    functionDepth: 0
    functionLinenumber: 791
    functionLinenumberEnd: 816
    functionName: chstore
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 0
    functionsReached:
    - toupper
    - tolower
    linkageType: ''
    returnType: void
    signature: void chstore(char *string,int max,char ch)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: sindex
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:837,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:849,1
    - Dst: sindex
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:853,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:870,1
    - Dst: sindex
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:879,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:892,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:902,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:916,1
    - Dst: chstore
      Src: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c:933,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 98
    argCount: 11
    argNames:
    - inflag
    - token
    - tokmax
    - line
    - white
    - brkchar
    - quote
    - eschar
    - brkused
    - next
    - quoted
    argTypes:
    - unsigned
    - char*
    - int
    - char*
    - char*
    - char*
    - char*
    - char
    - char*
    - int*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 946
    functionName: tokenizer
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/iptcutil/iptcutil.c
    functionUses: 1
    functionsReached:
    - sindex
    - chstore
    linkageType: ''
    returnType: int
    signature: "int tokenizer(unsigned inflag,char *token,int tokmax,char *line,\n
      \             char *white,char *brkchar,char *quote,char eschar,char *brkused,\n
      \             int *next,char *quoted)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - lpbi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: IS_WIN30_DIB
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IS_WIN30_DIB(lpbi)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: CVT
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CVT(x)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:79,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:84,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:85,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:86,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:87,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:88,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:89,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:91,1
    - Dst: CreateDIB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:101,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:103,1
    - Dst: FindDIBBits
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:108,1
    - Dst: FindDIBBits
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:114,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:118,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:118,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:119,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:135,1
    - Dst: checkcmap
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:138,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:150,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:151,1
    - Dst: CVT
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:152,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:171,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:171,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:191,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:199,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:200,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:201,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:202,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:210,1
    - Dst: GlobalFree
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:211,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:213,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 86
    argCount: 1
    argNames:
    - lpFileName
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 59
    functionDepth: 6
    functionLinenumber: 59
    functionLinenumberEnd: 218
    functionName: LoadTIFFinDIB
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - GlobalFree
    - TIFFComputeStrip
    - GlobalUnlock
    - FindDIBBits
    - TIFFReadEncodedStrip
    - CreateDIB
    - TIFFClose
    - checkcmap
    - GlobalLock
    - TIFFScanlineSize
    - memcpy
    - TIFFStripSize
    - CVT
    - TIFFOpen
    - GlobalAlloc
    linkageType: ''
    returnType: HDIB
    signature: HDIB LoadTIFFinDIB(LPSTR lpFileName)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 4
    argNames:
    - n
    - r
    - g
    - b
    argTypes:
    - int
    - uint16*
    - uint16*
    - uint16*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 221
    functionDepth: 0
    functionLinenumber: 221
    functionLinenumberEnd: 228
    functionName: checkcmap
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int checkcmap(int n, uint16* r, uint16* g, uint16* b)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: PaletteSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:286,1
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:289,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:298,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:307,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - dwWidth
    - dwHeight
    - wBitCount
    argTypes:
    - DWORD
    - DWORD
    - WORD
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 311
    functionName: CreateDIB
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - GlobalLock
    - GlobalUnlock
    - PaletteSize
    - GlobalAlloc
    linkageType: ''
    returnType: HDIB
    signature: HDIB CreateDIB(DWORD dwWidth, DWORD dwHeight, WORD wBitCount)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PaletteSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 317
    functionName: FindDIBBits
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - PaletteSize
    linkageType: ''
    returnType: LPSTR
    signature: LPSTR FindDIBBits(LPSTR lpDIB)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: IS_WIN30_DIB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:323,1
    - Dst: DIBNumColors
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:324,1
    - Dst: DIBNumColors
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: PaletteSize
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 2
    functionsReached:
    - DIBNumColors
    - IS_WIN30_DIB
    linkageType: ''
    returnType: WORD
    signature: WORD PaletteSize(LPSTR lpDIB)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: IS_WIN30_DIB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:340,1
    - Dst: IS_WIN30_DIB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - lpDIB
    argTypes:
    - LPSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 330
    functionDepth: 1
    functionLinenumber: 330
    functionLinenumberEnd: 372
    functionName: DIBNumColors
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/tiff2dib.c
    functionUses: 1
    functionsReached:
    - IS_WIN30_DIB
    linkageType: ''
    returnType: WORD
    signature: WORD DIBNumColors(LPSTR lpDIB)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 50
    functionName: MyWarningHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyWarningHandler(const char* module, const char* fmt, va_list
      ap)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - module
    - fmt
    - ap
    argTypes:
    - char*
    - char*
    - va_list
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: MyErrorHandler
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void MyErrorHandler(const char* module, const char* fmt, va_list ap)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:67,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:68,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:70,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:73,1
    - Dst: TIFFSetErrorHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:76,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:77,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - lpszPath
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 60
    functionDepth: 6
    functionLinenumber: 60
    functionLinenumberEnd: 80
    functionName: ChkTIFF
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - TIFFOpen
    - TIFFSetWarningHandler
    - TIFFClose
    - TIFFSetErrorHandler
    linkageType: ''
    returnType: int
    signature: int ChkTIFF ( LPCTSTR lpszPath )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:89,1
    - Dst: ChkTIFF
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:91,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:92,1
    - Dst: TIFFRGBAImageOK
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:96,1
    - Dst: TIFFRGBAImageBegin
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:100,1
    - Dst: DibInstallHack
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:104,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:107,1
    - Dst: TIFFRGBAImageGet
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:109,1
    - Dst: TIFFRGBA2DIB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:110,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:113,1
    - Dst: TIFFRGBAImageEnd
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:115,1
    - Dst: TRACE
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:118,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:120,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:124,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - lpszPath
    argTypes:
    - LPCTSTR
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 84
    functionDepth: 7
    functionLinenumber: 84
    functionLinenumberEnd: 127
    functionName: ReadTIFF
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFFSetWarningHandler
    - ChkTIFF
    - TIFFRGBA2DIB
    - TIFFClose
    - TIFFRGBAImageGet
    - TIFFRGBAImageOK
    - DibInstallHack
    - _TIFFmalloc
    - TIFFOpen
    - TRACE
    - TIFFRGBAImageEnd
    - TIFFRGBAImageBegin
    linkageType: ''
    returnType: PVOID
    signature: PVOID ReadTIFF ( LPCTSTR lpszPath )
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:146,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:147,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:148,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:149,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:150,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:151,1
    - Dst: WIDTHBYTES
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:160,1
    - Dst: GetDIBSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:167,1
    - Dst: GlobalAllocPtr
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:170,1
    - Dst: GetDIBImagePtr
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:197,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:203,1
    - Dst: WIDTHBYTES
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:215,1
    - Dst: GetDIBSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:222,1
    - Dst: GlobalAllocPtr
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:225,1
    - Dst: TIFFGetR
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:252,1
    - Dst: TIFFGetB
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:253,1
    - Dst: TIFFGetG
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:254,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 61
    argCount: 2
    argNames:
    - dib
    - raster
    argTypes:
    - TIFFDibImage*
    - uint32*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 260
    functionName: TIFFRGBA2DIB
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 1
    functionsReached:
    - TIFFGetField
    - TIFFGetG
    - GetDIBSize
    - GetDIBImagePtr
    - TIFFGetB
    - WIDTHBYTES
    - _TIFFmemcpy
    - TIFFGetR
    - GlobalAllocPtr
    linkageType: ''
    returnType: HANDLE
    signature: HANDLE TIFFRGBA2DIB(TIFFDibImage* dib, uint32* raster)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLAREContigPutFunc(name)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: DECLARESepPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DECLARESepPutFunc(name)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - dib
    argTypes:
    - TIFFDibImage*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 316
    functionName: DibInstallHack
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void DibInstallHack(TIFFDibImage* dib)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIDTHBYTES
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:329,1
    - Dst: _TIFFmemcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:336,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 346
    functionName: DECLAREContigPutFunc
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - WIDTHBYTES
    - _TIFFmemcpy
    linkageType: ''
    returnType: void
    signature: void DECLAREContigPutFunc(putContig1bitTile)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:361,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:361,1
    - Dst: TIFFWarning
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:371,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:371,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - img
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 379
    functionName: setorientation
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 4
    functionsReached:
    - TIFFFileName
    - TIFFWarning
    linkageType: ''
    returnType: uint32
    signature: uint32 setorientation(TIFFRGBAImage* img, uint32 h)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: WIDTHBYTES
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:408,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:411,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:411,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:413,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:413,1
    - Dst: setorientation
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:416,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:419,1
    - Dst: TIFFScanlineSize
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:420,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:426,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:428,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp:439,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 4
    argNames:
    - img
    - raster
    - w
    - h
    argTypes:
    - TIFFRGBAImage*
    - uint32*
    - uint32
    - uint32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 392
    functionDepth: 4
    functionLinenumber: 392
    functionLinenumberEnd: 441
    functionName: getStripContig1Bit
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/win_dib/Tiffile.cpp
    functionUses: 0
    functionsReached:
    - TIFFFileName
    - TIFFComputeStrip
    - setorientation
    - TIFFErrorExt
    - TIFFGetFieldDefaulted
    - TIFFReadEncodedStrip
    - WIDTHBYTES
    - TIFFScanlineSize
    - _TIFFmalloc
    - TIFFStripSize
    - _TIFFfree
    linkageType: ''
    returnType: int
    signature: int getStripContig1Bit(TIFFRGBAImage* img, uint32* raster, uint32 w,
      uint32 h)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:47,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:54,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:55,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:57,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:58,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:60,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:61,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:62,1
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:64,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:66,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:68,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:73,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:74,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:75,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:101,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:103,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:108,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:111,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:112,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:113,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:117,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:118,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:122,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 43
    argCount: 2
    argNames:
    - hTIFF
    - nDirOffset
    argTypes:
    - TIFF*
    - toff_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 41
    functionDepth: 5
    functionLinenumber: 41
    functionLinenumberEnd: 125
    functionName: TIFFCreateOvrCache
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - TIFFGetField
    - _TIFFmemset
    - TIFFCurrentDirOffset
    - TIFFErrorExt
    - TIFFIsTiled
    - _TIFFmalloc
    - TIFFStripSize
    - _TIFFfree
    - TIFFTileSize
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: TIFFOvrCache
    signature: TIFFOvrCache *TIFFCreateOvrCache( TIFF *hTIFF, toff_t nDirOffset )
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsByteSwapped
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:148,1
    - Dst: TIFFSwabArrayOfShort
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:151,1
    - Dst: TIFFSwabArrayOfLong
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:155,1
    - Dst: TIFFSwabArrayOfDouble
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:159,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:167,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:168,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:169,1
    - Dst: TIFFGetOvrBlock
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:184,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:188,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:192,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:194,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:198,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:204,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:206,1
    - Dst: TIFFGetOvrBlock
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:213,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:217,1
    - Dst: TIFFWriteEncodedTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:221,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:223,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:227,1
    - Dst: TIFFWriteEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:233,1
    - Dst: TIFFVStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:235,1
    - Dst: _TIFFmemset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:248,1
    - Dst: TIFFFlush
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:255,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:257,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    argCount: 1
    argNames:
    - psCache
    argTypes:
    - TIFFOvrCache*
    assertStmts:
    - condition: ( nRet == 1 )
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 259
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 259
    functionName: TIFFWriteOvrRow
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - TIFFWriteEncodedTile
    - TIFFSwabArrayOfShort
    - TIFFWriteEncodedStrip
    - _TIFFmemset
    - TIFFComputeTile
    - TIFFComputeStrip
    - TIFFTileSize
    - TIFFCurrentDirOffset
    - assert
    - TIFFSwabArrayOfLong
    - TIFFSwabArrayOfDouble
    - TIFFFlush
    - TIFFIsByteSwapped
    - TIFFGetOvrBlock
    - TIFFVStripSize
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: void
    signature: void TIFFWriteOvrRow( TIFFOvrCache * psCache )
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:274,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:276,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:277,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:278,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:280,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 4
    argNames:
    - psCache
    - iTileX
    - iTileY
    - iSample
    argTypes:
    - TIFFOvrCache*
    - int
    - int
    - int
    assertStmts:
    - condition: "( iTileY >= psCache->nBlockOffset\n            && iTileY < psCache->nBlockOffset+2
        )"
      pos:
        line_end: 278
        line_start: 277
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: ( iTileX >= 0 && iTileX < psCache->nBlocksPerRow )
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: ( iTileY >= 0 && iTileY < psCache->nBlocksPerColumn )
      pos:
        line_end: 276
        line_start: 276
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: ( iSample >= 0 && iSample < psCache->nSamples )
      pos:
        line_end: 279
        line_start: 279
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 293
      start: 267
    functionDepth: 6
    functionLinenumber: 267
    functionLinenumberEnd: 293
    functionName: TIFFGetOvrBlock
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 1
    functionsReached:
    - assert
    - TIFFWriteOvrRow
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *TIFFGetOvrBlock( TIFFOvrCache *psCache, int iTileX,
      int iTileY,\n                                int iSample )"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:306,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:308,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:309,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:310,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:312,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 3
    argNames:
    - psCache
    - iTileX
    - iTileY
    argTypes:
    - TIFFOvrCache*
    - int
    - int
    assertStmts:
    - condition: ( iTileX >= 0 && iTileX < psCache->nBlocksPerRow )
      pos:
        line_end: 307
        line_start: 307
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: ( psCache->nPlanarConfig != PLANARCONFIG_SEPARATE )
      pos:
        line_end: 311
        line_start: 311
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: "( iTileY >= psCache->nBlockOffset\n            && iTileY < psCache->nBlockOffset+2
        )"
      pos:
        line_end: 310
        line_start: 309
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    - condition: ( iTileY >= 0 && iTileY < psCache->nBlocksPerColumn )
      pos:
        line_end: 308
        line_start: 308
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    constantsTouched: []
    func_position:
      end: 320
      start: 299
    functionDepth: 6
    functionLinenumber: 299
    functionLinenumberEnd: 320
    functionName: TIFFGetOvrBlock_Subsampled
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - assert
    - TIFFWriteOvrRow
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *TIFFGetOvrBlock_Subsampled( TIFFOvrCache *psCache,
      \n                                           int iTileX, int iTileY )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TIFFWriteOvrRow
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:330,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:332,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:333,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - psCache
    argTypes:
    - TIFFOvrCache*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 326
    functionDepth: 6
    functionLinenumber: 326
    functionLinenumberEnd: 335
    functionName: TIFFDestroyOvrCache
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_ovrcache.c
    functionUses: 0
    functionsReached:
    - _TIFFfree
    - TIFFWriteOvrRow
    linkageType: ''
    returnType: void
    signature: void TIFFDestroyOvrCache( TIFFOvrCache * psCache )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:88,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:98,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:104,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:112,1
    - Dst: atoi
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:124,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:128,1
    - Dst: TIFFOpen
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:152,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:155,1
    - Dst: TIFFBuildOverviews
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:159,1
    - Dst: TIFFClose
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:162,1
    - Dst: malloc_dump
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c:168,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 44
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 74
    functionDepth: 6
    functionLinenumber: 74
    functionLinenumberEnd: 172
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/addtiffo.c
    functionUses: 15
    functionsReached:
    - strcmp
    - printf
    - TIFFBuildOverviews
    - TIFFClose
    - malloc_dump
    - fprintf
    - atoi
    - TIFFOpen
    linkageType: ''
    returnType: int
    signature: int main( int argc, char ** argv )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 65
    functionName: MIN
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MIN(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 66
    functionName: MAX
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 38
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MAX(a,b)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: TIFFCurrentDirOffset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:100,1
    - Dst: TIFFCreateDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:102,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:107,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:108,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:110,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:112,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:114,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:115,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:116,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:117,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:118,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:122,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:123,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:126,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:128,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:132,1
    - Dst: TIFFSetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:143,1
    - Dst: TIFFWriteCheck
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:149,1
    - Dst: TIFFWriteDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:152,1
    - Dst: TIFFNumberOfDirectories
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:153,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:156,1
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:156,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:159,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:160,1
    - Dst: TIFFSetDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:162,1
    - Dst: TIFFCurrentDirOffset
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:164,1
    - Dst: TIFFSetSubDirectory
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:166,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 18
    argNames:
    - hTIFF
    - nXSize
    - nYSize
    - nBitsPerPixel
    - nPlanarConfig
    - nSamples
    - nBlockXSize
    - nBlockYSize
    - bTiled
    - nCompressFlag
    - nPhotometric
    - nSampleFormat
    - panRed
    - panGreen
    - panBlue
    - bUseSubIFDs
    - nHorSubsampling
    - nVerSubsampling
    argTypes:
    - TIFF*
    - uint32
    - uint32
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - int
    - unsigned short*
    - unsigned short*
    - unsigned short*
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 82
    functionDepth: 4
    functionLinenumber: 82
    functionLinenumberEnd: 169
    functionName: TIFF_WriteOverview
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - TIFFWriteCheck
    - TIFFCreateDirectory
    - TIFFFileName
    - TIFFSetField
    - TIFFSetDirectory
    - TIFFClientdata
    - TIFFCurrentDirOffset
    - TIFFErrorExt
    - TIFFNumberOfDirectories
    - TIFFWriteDirectory
    - exit
    - TIFFSetSubDirectory
    linkageType: ''
    returnType: uint32
    signature: "uint32 TIFF_WriteOverview( TIFF *hTIFF, uint32 nXSize, uint32 nYSize,\n
      \                          int nBitsPerPixel, int nPlanarConfig, int nSamples,
      \n                           int nBlockXSize, int nBlockYSize,\n                           int
      bTiled, int nCompressFlag, int nPhotometric,\n                           int
      nSampleFormat,\n                           unsigned short *panRed,\n                           unsigned
      short *panGreen,\n                           unsigned short *panBlue,\n                           int
      bUseSubIFDs,\n                           int nHorSubsampling, int nVerSubsampling
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 28
    argCount: 8
    argNames:
    - padfSamples
    - pabySrc
    - nPixelBytes
    - nSampleFormat
    - nXSize
    - nYSize
    - nPixelOffset
    - nLineOffset
    argTypes:
    - double*
    - unsigned char*
    - int
    - int
    - uint32
    - uint32
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: TIFF_GetSourceSamples
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void TIFF_GetSourceSamples( double * padfSamples, unsigned char *pabySrc,
      \n                       int nPixelBytes, int nSampleFormat, \n                       uint32
      nXSize, uint32 nYSize, \n                       int nPixelOffset, int nLineOffset
      )"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: MAX
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:237,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:237,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:241,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:241,1
    - Dst: MAX
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:249,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:249,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 22
    argCount: 4
    argNames:
    - pabyData
    - nPixelBytes
    - nSampleFormat
    - dfValue
    argTypes:
    - unsigned char*
    - int
    - int
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 230
    functionDepth: 0
    functionLinenumber: 230
    functionLinenumberEnd: 263
    functionName: TIFF_SetSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - MIN
    - MAX
    linkageType: ''
    returnType: void
    signature: "void TIFF_SetSample( unsigned char * pabyData, int nPixelBytes, int
      nSampleFormat, \n                double dfValue )"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:289,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:307,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:325,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:326,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:352,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:353,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:365,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:366,1
    - Dst: TIFF_GetSourceSamples
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:368,1
    - Dst: TIFF_SetSample
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:380,1
    - Dst: free
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:389,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 13
    argNames:
    - pabySrcTile
    - nBlockXSize
    - nBlockYSize
    - nPixelSkewBits
    - nBitsPerPixel
    - pabyOTile
    - nOBlockXSize
    - nOBlockYSize
    - nTXOff
    - nTYOff
    - nOMult
    - nSampleFormat
    - pszResampling
    argTypes:
    - unsigned char*
    - uint32
    - uint32
    - int
    - int
    - unsigned char*
    - uint32
    - uint32
    - uint32
    - uint32
    - int
    - int
    - char*
    assertStmts:
    - condition: ( nBitsPerPixel >= 8 )
      pos:
        line_end: 288
        line_start: 288
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    constantsTouched: []
    func_position:
      end: 390
      start: 272
    functionDepth: 5
    functionLinenumber: 272
    functionLinenumberEnd: 390
    functionName: TIFF_DownSample
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - TIFF_GetSourceSamples
    - MIN
    - assert
    - malloc
    - strncmp
    - TIFF_SetSample
    - free
    linkageType: ''
    returnType: void
    signature: "void TIFF_DownSample( unsigned char *pabySrcTile,\n                      uint32
      nBlockXSize, uint32 nBlockYSize,\n                      int nPixelSkewBits,
      int nBitsPerPixel,\n                      unsigned char * pabyOTile,\n                      uint32
      nOBlockXSize, uint32 nOBlockYSize,\n                      uint32 nTXOff, uint32
      nTYOff, int nOMult,\n                      int nSampleFormat, const char * pszResampling
      )"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:422,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:423,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:479,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:480,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 78
    argCount: 13
    argNames:
    - pabySrcTile
    - nSample
    - nBlockXSize
    - nBlockYSize
    - pabyOTile
    - nOBlockXSize
    - nOBlockYSize
    - nTXOff
    - nTYOff
    - nOMult
    - pszResampling
    - nHorSubsampling
    - nVerSubsampling
    argTypes:
    - unsigned char*
    - int
    - uint32
    - uint32
    - unsigned char*
    - uint32
    - uint32
    - uint32
    - uint32
    - int
    - char*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 560
    functionName: TIFF_DownSample_Subsampled
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: void
    signature: "void TIFF_DownSample_Subsampled( unsigned char *pabySrcTile, int nSample,\n
      \                                uint32 nBlockXSize, uint32 nBlockYSize,\n                                 unsigned
      char * pabyOTile,\n                                 uint32 nOBlockXSize, uint32
      nOBlockYSize,\n                                 uint32 nTXOff, uint32 nTYOff,
      int nOMult,\n                                 const char *pszResampling,\n                                 int
      nHorSubsampling, int nVerSubsampling )"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TIFFIsTiled
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:592,1
    - Dst: TIFFReadEncodedTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:594,1
    - Dst: TIFFComputeTile
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:595,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:598,1
    - Dst: TIFFReadEncodedStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:602,1
    - Dst: TIFFComputeStrip
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:603,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:606,1
    - Dst: TIFFGetOvrBlock_Subsampled
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:631,1
    - Dst: malloc_chain_check
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:642,1
    - Dst: TIFF_DownSample_Subsampled
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:644,1
    - Dst: malloc_chain_check
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:652,1
    - Dst: TIFFGetOvrBlock
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:659,1
    - Dst: assert
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:672,1
    - Dst: malloc_chain_check
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:688,1
    - Dst: TIFF_DownSample
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:690,1
    - Dst: malloc_chain_check
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:697,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 17
    argNames:
    - hTIFF
    - nPlanarConfig
    - bSubsampled
    - nHorSubsampling
    - nVerSubsampling
    - nOverviews
    - panOvList
    - nBitsPerPixel
    - nSamples
    - papoRawBIs
    - nSXOff
    - nSYOff
    - pabySrcTile
    - nBlockXSize
    - nBlockYSize
    - nSampleFormat
    - pszResampling
    argTypes:
    - TIFF*
    - int
    - int
    - int
    - int
    - int
    - int*
    - int
    - int
    - TIFFOvrCache**
    - uint32
    - uint32
    - unsigned char*
    - uint32
    - uint32
    - int
    - char*
    assertStmts:
    - condition: ( (nBitsPerPixel % 8) == 0 )
      pos:
        line_end: 671
        line_start: 671
        source_file: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    constantsTouched: []
    func_position:
      end: 702
      start: 569
    functionDepth: 7
    functionLinenumber: 569
    functionLinenumberEnd: 702
    functionName: TIFF_ProcessFullResBlock
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 0
    functionsReached:
    - TIFFGetOvrBlock
    - TIFF_DownSample
    - TIFFComputeTile
    - TIFFReadEncodedTile
    - TIFFComputeStrip
    - TIFFReadEncodedStrip
    - TIFF_DownSample_Subsampled
    - TIFFIsTiled
    - assert
    - malloc_chain_check
    - TIFFStripSize
    - TIFFGetOvrBlock_Subsampled
    - TIFFTileSize
    linkageType: ''
    returnType: void
    signature: "void TIFF_ProcessFullResBlock( TIFF *hTIFF, int nPlanarConfig,\n                               int
      bSubsampled,\n                               int nHorSubsampling, int nVerSubsampling,\n
      \                              int nOverviews, int * panOvList,\n                               int
      nBitsPerPixel,\n                               int nSamples, TIFFOvrCache **
      papoRawBIs,\n                               uint32 nSXOff, uint32 nSYOff,\n
      \                              unsigned char *pabySrcTile,\n                               uint32
      nBlockXSize, uint32 nBlockYSize,\n                               int nSampleFormat,
      const char * pszResampling )"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:737,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:738,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:740,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:742,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:743,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:745,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:746,1
    - Dst: TIFFGetFieldDefaulted
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:747,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:755,1
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:755,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:757,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:765,1
    - Dst: TIFFErrorExt
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:773,1
    - Dst: TIFFClientdata
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:773,1
    - Dst: TIFFFileName
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:776,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:788,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:793,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:800,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:801,1
    - Dst: TIFFGetField
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:808,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:814,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:815,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:816,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:818,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:819,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:820,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:834,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:844,1
    - Dst: MIN
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:845,1
    - Dst: TIFF_WriteOverview
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:856,1
    - Dst: TIFFCreateOvrCache
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:865,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:870,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:871,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:872,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:879,1
    - Dst: TIFFTileSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:879,1
    - Dst: _TIFFmalloc
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:881,1
    - Dst: TIFFStripSize
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:881,1
    - Dst: TIFF_ProcessFullResBlock
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:895,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:905,1
    - Dst: TIFFDestroyOvrCache
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:912,1
    - Dst: _TIFFfree
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:916,1
    - Dst: TIFFSetWarningHandler
      Src: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c:918,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 84
    argCount: 6
    argNames:
    - hTIFF
    - nOverviews
    - panOvList
    - bUseSubIFDs
    - pszResampleMethod
    - pProgressData
    argTypes:
    - TIFF*
    - int
    - int*
    - int
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 714
    functionDepth: 8
    functionLinenumber: 714
    functionLinenumberEnd: 919
    functionName: TIFFBuildOverviews
    functionSourceFile: /src/libspectre/ghostscript/tiff/contrib/addtiffo/tif_overview.c
    functionUses: 1
    functionsReached:
    - TIFFCreateOvrCache
    - TIFFFileName
    - TIFFGetField
    - TIFFSetWarningHandler
    - TIFFDestroyOvrCache
    - TIFFClientdata
    - TIFFGetFieldDefaulted
    - TIFFErrorExt
    - MIN
    - TIFF_ProcessFullResBlock
    - _TIFFmalloc
    - memcpy
    - TIFF_WriteOverview
    - TIFFStripSize
    - _TIFFfree
    - TIFFTileSize
    linkageType: ''
    returnType: void
    signature: "void TIFFBuildOverviews( TIFF *hTIFF, int nOverviews, int * panOvList,\n
      \                        int bUseSubIFDs, const char *pszResampleMethod,\n                         int
      (*pfnProgress)( double, void * ),\n                         void * pProgressData
      )"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: REAL_CAN_BE_INT
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REAL_CAN_BE_INT(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - opp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: ACCESS_REF
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ACCESS_REF(opp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/ztype.c:72,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/ztype.c:72,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:76,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:78,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:80,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:80,1
    - Dst: gs_struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/ztype.c:82,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:82,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/ztype.c:84,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/ztype.c:84,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:90,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:92,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/ztype.c:94,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ztype.c:96,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 98
    functionName: ztype
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - ref_assign
    - r_has_type
    - check_op
    - strlen
    - r_set_attrs
    - name_ref
    - gs_struct_type_name_string
    - gs_object_type
    - pop
    - array_get
    - return_error
    - r_btype
    linkageType: ''
    returnType: int
    signature: int ztype(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/ztype.c:108,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/ztype.c:112,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/ztype.c:113,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/ztype.c:115,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 124
    functionName: ztypenames
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - make_null
    - countof
    - r_set_attrs
    - check_ostack
    - name_enter_string
    linkageType: ''
    returnType: int
    signature: int ztypenames(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:133,1
    - Dst: ACCESS_REF
      Src: /src/libspectre/ghostscript/psi/ztype.c:134,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: zcvlit
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - ACCESS_REF
    - check_op
    - r_clear_attrs
    linkageType: ''
    returnType: int
    signature: int zcvlit(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:147,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:152,1
    - Dst: op_index
      Src: /src/libspectre/ghostscript/psi/ztype.c:153,1
    - Dst: op_def_is_internal
      Src: /src/libspectre/ghostscript/psi/ztype.c:154,1
    - Dst: op_index_def
      Src: /src/libspectre/ghostscript/psi/ztype.c:154,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:156,1
    - Dst: ACCESS_REF
      Src: /src/libspectre/ghostscript/psi/ztype.c:157,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:158,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 160
    functionName: zcvx
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - op_def_is_internal
    - r_has_type
    - op_index
    - check_op
    - ACCESS_REF
    - r_set_attrs
    - return_error
    - op_index_def
    linkageType: ''
    returnType: int
    signature: int zcvx(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:168,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/ztype.c:169,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/ztype.c:169,1
    - Dst: ACCESS_REF
      Src: /src/libspectre/ghostscript/psi/ztype.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 171
    functionName: zxcheck
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - r_has_attr
    - check_op
    - ACCESS_REF
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zxcheck(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:178,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:180,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:182,1
    - Dst: access_check
      Src: /src/libspectre/ghostscript/psi/ztype.c:183,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: zexecuteonly
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - return_error
    - r_type
    - check_op
    - access_check
    linkageType: ''
    returnType: int
    signature: int zexecuteonly(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:192,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:193,1
    - Dst: dict_access_ref
      Src: /src/libspectre/ghostscript/psi/ztype.c:194,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:197,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:198,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:198,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:202,1
    - Dst: dict_is_permanent_on_dstack
      Src: /src/libspectre/ghostscript/psi/ztype.c:206,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:207,1
    - Dst: access_check
      Src: /src/libspectre/ghostscript/psi/ztype.c:209,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 210
    functionName: znoaccess
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - r_has_attrs
    - dict_access_ref
    - r_has_type
    - check_op
    - dict_is_permanent_on_dstack
    - return_error
    - access_check
    linkageType: ''
    returnType: int
    signature: int znoaccess(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: access_check
      Src: /src/libspectre/ghostscript/psi/ztype.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 217
    functionName: zreadonly
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - access_check
    linkageType: ''
    returnType: int
    signature: int zreadonly(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_check
      Src: /src/libspectre/ghostscript/psi/ztype.c:224,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/ztype.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: zrcheck
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - access_check
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zrcheck(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: access_check
      Src: /src/libspectre/ghostscript/psi/ztype.c:236,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/ztype.c:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: zwcheck
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - access_check
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zwcheck(i_ctx_t *i_ctx_p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:251,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/ztype.c:258,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/ztype.c:264,1
    - Dst: gs_scan_string_token
      Src: /src/libspectre/ghostscript/psi/ztype.c:265,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:267,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:270,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:278,1
    - Dst: REAL_CAN_BE_INT
      Src: /src/libspectre/ghostscript/psi/ztype.c:282,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:283,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/ztype.c:284,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:286,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:288,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/ztype.c:290,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/ztype.c:294,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 245
    functionDepth: 2
    functionLinenumber: 245
    functionLinenumberEnd: 297
    functionName: zcvi
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - r_type
    - make_int
    - ref_assign
    - return_error
    - gs_currentcpsimode
    - return_op_typecheck
    - REAL_CAN_BE_INT
    - gs_scan_string_token
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int zcvi(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:305,1
    - Dst: name_from_string
      Src: /src/libspectre/ghostscript/psi/ztype.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 307
    functionName: zcvn
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - name_from_string
    - check_read_type
    linkageType: ''
    returnType: int
    signature: int zcvn(i_ctx_t *i_ctx_p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:316,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/ztype.c:324,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/ztype.c:329,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/ztype.c:335,1
    - Dst: gs_scan_string_token
      Src: /src/libspectre/ghostscript/psi/ztype.c:336,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:338,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:341,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/ztype.c:343,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:349,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 353
    functionName: zcvr
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - r_type
    - ref_assign
    - return_error
    - return_op_typecheck
    - gs_scan_string_token
    - make_real
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int zcvr(i_ctx_t *i_ctx_p)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:362,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:364,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:366,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:368,1
    - Dst: convert_to_string
      Src: /src/libspectre/ghostscript/psi/ztype.c:372,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ztype.c:376,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:380,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:382,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/ztype.c:387,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:390,1
    - Dst: REAL_CAN_BE_INT
      Src: /src/libspectre/ghostscript/psi/ztype.c:398,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:399,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/ztype.c:401,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:403,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:411,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/ztype.c:413,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/ztype.c:432,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:433,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/ztype.c:434,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/ztype.c:435,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ztype.c:438,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 356
    functionDepth: 2
    functionLinenumber: 356
    functionLinenumberEnd: 440
    functionName: zcvrs
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - r_type
    - countof
    - gs_currentcpsimode
    - check_type
    - convert_to_string
    - r_size
    - memcpy
    - r_set_size
    - pop
    - REAL_CAN_BE_INT
    - return_error
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zcvrs(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:449,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/ztype.c:450,1
    - Dst: convert_to_string
      Src: /src/libspectre/ghostscript/psi/ztype.c:451,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ztype.c:453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: zcvs
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 0
    functionsReached:
    - check_op
    - convert_to_string
    - pop
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zcvs(i_ctx_t *i_ctx_p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/ztype.c:495,1
    - Dst: dict_access_ref
      Src: /src/libspectre/ghostscript/psi/ztype.c:497,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:499,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:500,1
    - Dst: ref_save
      Src: /src/libspectre/ghostscript/psi/ztype.c:501,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:502,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:503,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/ztype.c:504,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:516,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztype.c:517,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:518,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:519,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/ztype.c:525,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/ztype.c:527,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 3
    argNames:
    - i_ctx_p
    - access
    - modify
    argTypes:
    - i_ctx_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 528
    functionName: access_check
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 5
    functionsReached:
    - r_type
    - r_has_attrs
    - dict_access_ref
    - r_set_attrs
    - return_op_typecheck
    - ref_save
    - dict_set_top
    - r_clear_attrs
    - return_error
    linkageType: ''
    returnType: int
    signature: "int access_check(i_ctx_t *i_ctx_p,\n             int access,        /*
      mask for attrs */\n             bool modify)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: obj_cvs
      Src: /src/libspectre/ghostscript/psi/ztype.c:538,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/ztype.c:538,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/ztype.c:550,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/ztype.c:558,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/ztype.c:559,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/ztype.c:567,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - mem
    - op1
    - op
    argTypes:
    - gs_memory_t*
    - os_ptr
    - os_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 569
    functionName: convert_to_string
    functionSourceFile: /src/libspectre/ghostscript/psi/ztype.c
    functionUses: 2
    functionsReached:
    - obj_cvs
    - memcpy
    - r_set_size
    - r_btype
    - r_size
    linkageType: ''
    returnType: int
    signature: int convert_to_string(const gs_memory_t *mem, os_ptr op1, os_ptr op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 54
    functionName: zpantonecallback
    functionSourceFile: /src/libspectre/ghostscript/psi/zncdummy.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zpantonecallback(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/libspectre/ghostscript/psi/dmmain.c:112,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/psi/dmmain.c:112,1
    - Dst: get_input
      Src: /src/libspectre/ghostscript/psi/dmmain.c:113,1
    - Dst: fread
      Src: /src/libspectre/ghostscript/psi/dmmain.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 116
    functionName: gsdll_stdin
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - fileno
    - get_input
    - isatty
    - fread
    linkageType: ''
    returnType: int
    signature: int gsdll_stdin(void *instance, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dmmain.c:121,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: gsdll_stdout
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stdout(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsdll_stdout
      Src: /src/libspectre/ghostscript/psi/dmmain.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    functionName: gsdll_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - gsdll_stdout
    linkageType: ''
    returnType: int
    signature: int gsdll_stderr(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WaitNextEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:138,1
    - Dst: doEvents
      Src: /src/libspectre/ghostscript/psi/dmmain.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: gsdll_poll
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - doEvents
    - WaitNextEvent
    linkageType: ''
    returnType: int
    signature: int gsdll_poll(void *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dmmain.c:151,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dmmain.c:154,1
    - Dst: window_create
      Src: /src/libspectre/ghostscript/psi/dmmain.c:166,1
    - Dst: gsdll_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:168,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 149
    functionDepth: 5
    functionLinenumber: 149
    functionLinenumberEnd: 170
    functionName: display_open
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - malloc
    - gsdll_poll
    - memset
    - window_create
    linkageType: ''
    returnType: int
    signature: int display_open(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    functionName: display_preclose
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int display_preclose(void *handle, void *device)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dmmain.c:184,1
    - Dst: gsdll_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:188,1
    - Dst: DisposePixMap
      Src: /src/libspectre/ghostscript/psi/dmmain.c:203,1
    - Dst: DisposeWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:204,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dmmain.c:206,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 209
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - gsdll_poll
    - image_find
    - free
    - DisposePixMap
    - DisposeWindow
    linkageType: ''
    returnType: int
    signature: int display_close(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:219,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 225
    functionName: display_presize
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    linkageType: ''
    returnType: int
    signature: "int display_presize(void *handle, void *device, int width, int height,\n
      \   int raster, unsigned int format)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dmmain.c:233,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:240,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:241,1
    - Dst: DisposePixMap
      Src: /src/libspectre/ghostscript/psi/dmmain.c:244,1
    - Dst: NewPixMap
      Src: /src/libspectre/ghostscript/psi/dmmain.c:252,1
    - Dst: window_adjust_scrollbars
      Src: /src/libspectre/ghostscript/psi/dmmain.c:267,1
    - Dst: window_invalidate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:268,1
    - Dst: gsdll_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 270
    functionName: display_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - window_invalidate
    - printf
    - gsdll_poll
    - image_find
    - DisposePixMap
    - fflush
    - window_adjust_scrollbars
    - NewPixMap
    linkageType: ''
    returnType: int
    signature: "int display_size(void *handle, void *device, int width, int height,\n
      \   int raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dmmain.c:275,1
    - Dst: window_invalidate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:279,1
    - Dst: gsdll_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 283
    functionName: display_sync
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - gsdll_poll
    - image_find
    - window_invalidate
    linkageType: ''
    returnType: int
    signature: int display_sync(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_sync
      Src: /src/libspectre/ghostscript/psi/dmmain.c:289,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 290
    functionName: display_page
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - display_sync
    linkageType: ''
    returnType: int
    signature: int display_page(void *handle, void *device, int copies, int flush)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dmmain.c:300,1
    - Dst: Microseconds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:304,1
    - Dst: window_invalidate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:313,1
    - Dst: Microseconds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:318,1
    - Dst: gsdll_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 328
    functionName: display_update
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - Microseconds
    - gsdll_poll
    - image_find
    - window_invalidate
    linkageType: ''
    returnType: int
    signature: "int display_update(void *handle, void *device,\n    int x, int y,
      int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 355
    functionName: image_find
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: IMAGE
    signature: IMAGE * image_find(void *handle, void *device)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: WEGetTextLength
      Src: /src/libspectre/ghostscript/psi/dmmain.c:385,1
    - Dst: WEGetTextLength
      Src: /src/libspectre/ghostscript/psi/dmmain.c:394,1
    - Dst: WEGetText
      Src: /src/libspectre/ghostscript/psi/dmmain.c:406,1
    - Dst: HLock
      Src: /src/libspectre/ghostscript/psi/dmmain.c:407,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dmmain.c:415,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dmmain.c:419,1
    - Dst: memchr
      Src: /src/libspectre/ghostscript/psi/dmmain.c:423,1
    - Dst: HUnlock
      Src: /src/libspectre/ghostscript/psi/dmmain.c:427,1
    - Dst: WaitNextEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:438,1
    - Dst: doEvents
      Src: /src/libspectre/ghostscript/psi/dmmain.c:439,1
    - Dst: SIOUXHandleOneEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:441,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dmmain.c:452,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dmmain.c:453,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dmmain.c:460,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dmmain.c:467,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 58
    argCount: 2
    argNames:
    - ptr
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 372
    functionDepth: 5
    functionLinenumber: 372
    functionLinenumberEnd: 474
    functionName: get_input
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - WaitNextEvent
    - WEGetTextLength
    - SIOUXHandleOneEvent
    - HLock
    - WEGetText
    - memchr
    - malloc
    - HUnlock
    - free
    - memcpy
    - doEvents
    linkageType: ''
    returnType: size_t
    signature: size_t get_input(void *ptr, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: GetAvailableWindowPositioningBounds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:486,1
    - Dst: GetMainDevice
      Src: /src/libspectre/ghostscript/psi/dmmain.c:486,1
    - Dst: NewCWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:495,1
    - Dst: ExitToShell
      Src: /src/libspectre/ghostscript/psi/dmmain.c:497,1
    - Dst: SetWRefCon
      Src: /src/libspectre/ghostscript/psi/dmmain.c:501,1
    - Dst: ChangeWindowAttributes
      Src: /src/libspectre/ghostscript/psi/dmmain.c:506,1
    - Dst: CreateScrollBarControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:508,1
    - Dst: CreateScrollBarControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:511,1
    - Dst: NewControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:514,1
    - Dst: NewControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:515,1
    - Dst: window_adjust_scrollbars
      Src: /src/libspectre/ghostscript/psi/dmmain.c:518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - img
    argTypes:
    - IMAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 519
    functionName: window_create
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - NewCWindow
    - SetWRefCon
    - ExitToShell
    - ChangeWindowAttributes
    - window_adjust_scrollbars
    - GetAvailableWindowPositioningBounds
    - CreateScrollBarControl
    - GetMainDevice
    - NewControl
    linkageType: ''
    returnType: void
    signature: void window_create(IMAGE *img)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetWindowPortBounds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:525,1
    - Dst: InvalWindowRect
      Src: /src/libspectre/ghostscript/psi/dmmain.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - windowRef
    argTypes:
    - WindowRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 527
    functionName: window_invalidate
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 3
    functionsReached:
    - InvalWindowRect
    - GetWindowPortBounds
    linkageType: ''
    returnType: void
    signature: void window_invalidate(WindowRef windowRef)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWRefCon
      Src: /src/libspectre/ghostscript/psi/dmmain.c:534,1
    - Dst: GetWindowPortBounds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:535,1
    - Dst: HideControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:538,1
    - Dst: HideControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:539,1
    - Dst: MoveControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:541,1
    - Dst: MoveControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:543,1
    - Dst: SizeControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:546,1
    - Dst: SizeControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:548,1
    - Dst: SetControl32BitMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:560,1
    - Dst: SetControlViewSize
      Src: /src/libspectre/ghostscript/psi/dmmain.c:562,1
    - Dst: SetControlMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:565,1
    - Dst: SetControl32BitMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:569,1
    - Dst: SetControlViewSize
      Src: /src/libspectre/ghostscript/psi/dmmain.c:571,1
    - Dst: SetControlMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:574,1
    - Dst: ShowControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:577,1
    - Dst: ShowControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:578,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - windowRef
    argTypes:
    - WindowRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 579
    functionName: window_adjust_scrollbars
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 2
    functionsReached:
    - HideControl
    - GetWRefCon
    - ShowControl
    - SetControlMaximum
    - MoveControl
    - GetWindowPortBounds
    - SetControl32BitMaximum
    - SetControlViewSize
    - SizeControl
    linkageType: ''
    returnType: void
    signature: void window_adjust_scrollbars(WindowRef windowRef)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: MoreMasterPointers
      Src: /src/libspectre/ghostscript/psi/dmmain.c:593,1
    - Dst: MoreMasters
      Src: /src/libspectre/ghostscript/psi/dmmain.c:595,1
    - Dst: InitCursor
      Src: /src/libspectre/ghostscript/psi/dmmain.c:597,1
    - Dst: FlushEvents
      Src: /src/libspectre/ghostscript/psi/dmmain.c:598,1
    - Dst: AEInstallEventHandler
      Src: /src/libspectre/ghostscript/psi/dmmain.c:600,1
    - Dst: NewAEEventHandlerUPP
      Src: /src/libspectre/ghostscript/psi/dmmain.c:601,1
    - Dst: ExitToShell
      Src: /src/libspectre/ghostscript/psi/dmmain.c:603,1
    - Dst: NewControlActionUPP
      Src: /src/libspectre/ghostscript/psi/dmmain.c:605,1
    - Dst: Gestalt
      Src: /src/libspectre/ghostscript/psi/dmmain.c:607,1
    - Dst: GetCaretTime
      Src: /src/libspectre/ghostscript/psi/dmmain.c:615,1
    - Dst: ccommand
      Src: /src/libspectre/ghostscript/psi/dmmain.c:619,1
    - Dst: InstallConsole
      Src: /src/libspectre/ghostscript/psi/dmmain.c:622,1
    - Dst: ExitToShell
      Src: /src/libspectre/ghostscript/psi/dmmain.c:623,1
    - Dst: SelectWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:626,1
    - Dst: PostEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:627,1
    - Dst: ReadCharsFromConsole
      Src: /src/libspectre/ghostscript/psi/dmmain.c:628,1
    - Dst: clrscr
      Src: /src/libspectre/ghostscript/psi/dmmain.c:629,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:634,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/psi/dmmain.c:638,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:643,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:644,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/psi/dmmain.c:647,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:649,1
    - Dst: gsapi_set_stdio
      Src: /src/libspectre/ghostscript/psi/dmmain.c:653,1
    - Dst: gsapi_set_poll
      Src: /src/libspectre/ghostscript/psi/dmmain.c:654,1
    - Dst: gsapi_set_display_callback
      Src: /src/libspectre/ghostscript/psi/dmmain.c:655,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/dmmain.c:657,1
    - Dst: gsapi_run_string
      Src: /src/libspectre/ghostscript/psi/dmmain.c:659,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:662,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:663,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/psi/dmmain.c:665,1
    - Dst: printf
      Src: /src/libspectre/ghostscript/psi/dmmain.c:668,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:669,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/psi/dmmain.c:672,1
    - Dst: WriteCharsToConsole
      Src: /src/libspectre/ghostscript/psi/dmmain.c:675,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dmmain.c:676,1
    - Dst: WaitNextEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:683,1
    - Dst: doEvents
      Src: /src/libspectre/ghostscript/psi/dmmain.c:688,1
    - Dst: SIOUXHandleOneEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:691,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 693
      start: 582
    functionDepth: 5
    functionLinenumber: 582
    functionLinenumberEnd: 693
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 15
    functionsReached:
    - MoreMasters
    - memmove
    - gs_sprintf
    - ccommand
    - ReadCharsFromConsole
    - AEInstallEventHandler
    - Gestalt
    - gsapi_set_poll
    - doEvents
    - WriteCharsToConsole
    - clrscr
    - WaitNextEvent
    - gsapi_delete_instance
    - MoreMasterPointers
    - FlushEvents
    - InitCursor
    - NewControlActionUPP
    - ExitToShell
    - InstallConsole
    - printf
    - SIOUXHandleOneEvent
    - NewAEEventHandlerUPP
    - GetCaretTime
    - SelectWindow
    - fflush
    - gsapi_run_string
    - PostEvent
    - gsapi_exit
    - gsapi_set_stdio
    - gsapi_init_with_args
    - gsapi_new_instance
    - gsapi_set_display_callback
    linkageType: ''
    returnType: void
    signature: void main(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: FindWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:702,1
    - Dst: SelectWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:703,1
    - Dst: SIOUXHandleOneEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:706,1
    - Dst: AEProcessAppleEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:718,1
    - Dst: doMouseDown
      Src: /src/libspectre/ghostscript/psi/dmmain.c:722,1
    - Dst: doUpdate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:730,1
    - Dst: DrawGrowIcon
      Src: /src/libspectre/ghostscript/psi/dmmain.c:734,1
    - Dst: doOSEvent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - eventStrucPtr
    argTypes:
    - EventRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 741
    functionName: doEvents
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 3
    functionsReached:
    - FindWindow
    - SIOUXHandleOneEvent
    - DrawGrowIcon
    - AEProcessAppleEvent
    - SelectWindow
    - doOSEvent
    - doMouseDown
    - doUpdate
    linkageType: ''
    returnType: void
    signature: void doEvents(EventRecord *eventStrucPtr)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: FindWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:752,1
    - Dst: FrontWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:760,1
    - Dst: SelectWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:761,1
    - Dst: doInContent
      Src: /src/libspectre/ghostscript/psi/dmmain.c:763,1
    - Dst: DragWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:767,1
    - Dst: GrowWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:777,1
    - Dst: SizeWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:779,1
    - Dst: LoWord
      Src: /src/libspectre/ghostscript/psi/dmmain.c:779,1
    - Dst: HiWord
      Src: /src/libspectre/ghostscript/psi/dmmain.c:779,1
    - Dst: window_adjust_scrollbars
      Src: /src/libspectre/ghostscript/psi/dmmain.c:780,1
    - Dst: window_invalidate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:781,1
    - Dst: GetQDGlobalsScreenBits
      Src: /src/libspectre/ghostscript/psi/dmmain.c:786,1
    - Dst: IsWindowInStandardState
      Src: /src/libspectre/ghostscript/psi/dmmain.c:790,1
    - Dst: TrackBox
      Src: /src/libspectre/ghostscript/psi/dmmain.c:795,1
    - Dst: ZoomWindowIdeal
      Src: /src/libspectre/ghostscript/psi/dmmain.c:797,1
    - Dst: window_adjust_scrollbars
      Src: /src/libspectre/ghostscript/psi/dmmain.c:798,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - eventStrucPtr
    argTypes:
    - EventRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 802
    functionName: doMouseDown
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - window_invalidate
    - FindWindow
    - doInContent
    - DragWindow
    - GetQDGlobalsScreenBits
    - SizeWindow
    - SelectWindow
    - LoWord
    - ZoomWindowIdeal
    - TrackBox
    - IsWindowInStandardState
    - HiWord
    - GrowWindow
    - window_adjust_scrollbars
    - FrontWindow
    linkageType: ''
    returnType: void
    signature: void doMouseDown(EventRecord *eventStrucPtr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_adjust_scrollbars
      Src: /src/libspectre/ghostscript/psi/dmmain.c:810,1
    - Dst: BeginUpdate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:812,1
    - Dst: SetPortWindowPort
      Src: /src/libspectre/ghostscript/psi/dmmain.c:814,1
    - Dst: doUpdateWindow
      Src: /src/libspectre/ghostscript/psi/dmmain.c:815,1
    - Dst: EndUpdate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - eventStrucPtr
    argTypes:
    - EventRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 818
    functionName: doUpdate
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - EndUpdate
    - doUpdateWindow
    - SetPortWindowPort
    - BeginUpdate
    - window_adjust_scrollbars
    linkageType: ''
    returnType: void
    signature: void doUpdate(EventRecord *eventStrucPtr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GetWRefCon
      Src: /src/libspectre/ghostscript/psi/dmmain.c:830,1
    - Dst: GetPortPixMap
      Src: /src/libspectre/ghostscript/psi/dmmain.c:832,1
    - Dst: GetWindowPort
      Src: /src/libspectre/ghostscript/psi/dmmain.c:832,1
    - Dst: GetControl32BitValue
      Src: /src/libspectre/ghostscript/psi/dmmain.c:833,1
    - Dst: GetControl32BitValue
      Src: /src/libspectre/ghostscript/psi/dmmain.c:834,1
    - Dst: NewPixPat
      Src: /src/libspectre/ghostscript/psi/dmmain.c:839,1
    - Dst: MakeRGBPat
      Src: /src/libspectre/ghostscript/psi/dmmain.c:840,1
    - Dst: GetWindowPortBounds
      Src: /src/libspectre/ghostscript/psi/dmmain.c:842,1
    - Dst: FillCRect
      Src: /src/libspectre/ghostscript/psi/dmmain.c:852,1
    - Dst: FillCRect
      Src: /src/libspectre/ghostscript/psi/dmmain.c:861,1
    - Dst: DisposePixPat
      Src: /src/libspectre/ghostscript/psi/dmmain.c:864,1
    - Dst: CopyBits
      Src: /src/libspectre/ghostscript/psi/dmmain.c:872,1
    - Dst: DrawGrowIcon
      Src: /src/libspectre/ghostscript/psi/dmmain.c:876,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 1
    argNames:
    - eventStrucPtr
    argTypes:
    - EventRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 820
    functionDepth: 0
    functionLinenumber: 820
    functionLinenumberEnd: 877
    functionName: doUpdateWindow
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - FillCRect
    - GetWRefCon
    - MakeRGBPat
    - GetControl32BitValue
    - DrawGrowIcon
    - GetPortPixMap
    - CopyBits
    - GetWindowPort
    - DisposePixPat
    - NewPixPat
    - GetWindowPortBounds
    linkageType: ''
    returnType: void
    signature: void doUpdateWindow(EventRecord *eventStrucPtr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetThemeCursor
      Src: /src/libspectre/ghostscript/psi/dmmain.c:885,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - eventStrucPtr
    argTypes:
    - EventRecord*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 879
    functionDepth: 0
    functionLinenumber: 879
    functionLinenumberEnd: 888
    functionName: doOSEvent
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - SetThemeCursor
    linkageType: ''
    returnType: void
    signature: void doOSEvent(EventRecord *eventStrucPtr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SetPortWindowPort
      Src: /src/libspectre/ghostscript/psi/dmmain.c:895,1
    - Dst: GlobalToLocal
      Src: /src/libspectre/ghostscript/psi/dmmain.c:896,1
    - Dst: FindControlUnderMouse
      Src: /src/libspectre/ghostscript/psi/dmmain.c:898,1
    - Dst: TrackControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:901,1
    - Dst: TrackControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:904,1
    - Dst: TrackControl
      Src: /src/libspectre/ghostscript/psi/dmmain.c:906,1
    - Dst: window_invalidate
      Src: /src/libspectre/ghostscript/psi/dmmain.c:909,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - eventStrucPtr
    - windowRef
    argTypes:
    - EventRecord*
    - WindowRef
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 890
    functionDepth: 1
    functionLinenumber: 890
    functionLinenumberEnd: 911
    functionName: doInContent
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 1
    functionsReached:
    - window_invalidate
    - TrackControl
    - FindControlUnderMouse
    - GlobalToLocal
    - SetPortWindowPort
    linkageType: ''
    returnType: void
    signature: void doInContent(EventRecord *eventStrucPtr,WindowRef windowRef)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: GetControl32BitValue
      Src: /src/libspectre/ghostscript/psi/dmmain.c:944,1
    - Dst: GetControl32BitMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:946,1
    - Dst: GetControl32BitMinimum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:947,1
    - Dst: GetControl32BitMaximum
      Src: /src/libspectre/ghostscript/psi/dmmain.c:951,1
    - Dst: SetControl32BitValue
      Src: /src/libspectre/ghostscript/psi/dmmain.c:959,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 33
    argCount: 2
    argNames:
    - controlRef
    - controlPartCode
    argTypes:
    - ControlRef
    - ControlPartCode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 913
    functionDepth: 0
    functionLinenumber: 913
    functionLinenumberEnd: 963
    functionName: actionFunctionScroll
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - GetControl32BitValue
    - SetControl32BitValue
    - GetControl32BitMinimum
    - GetControl32BitMaximum
    linkageType: ''
    returnType: pascal
    signature: pascal actionFunctionScroll(ControlRef controlRef,ControlPartCode controlPartCode)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: AEGetAttributePtr
      Src: /src/libspectre/ghostscript/psi/dmmain.c:971,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - appEvent
    - reply
    - handlerRefcon
    argTypes:
    - AppleEvent*
    - AppleEvent*
    - SInt32
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 965
    functionDepth: 0
    functionLinenumber: 965
    functionLinenumberEnd: 983
    functionName: quitAppEventHandler
    functionSourceFile: /src/libspectre/ghostscript/psi/dmmain.c
    functionUses: 0
    functionsReached:
    - AEGetAttributePtr
    linkageType: ''
    returnType: OSErr
    signature: OSErr quitAppEventHandler(AppleEvent *appEvent,AppleEvent *reply,SInt32
      handlerRefcon)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pstk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: ref_stack_count_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/istack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref_stack_count_inline(pstk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pstk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: ref_stack_max_count
    functionSourceFile: /src/libspectre/ghostscript/psi/istack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref_stack_max_count(pstk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pstk
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    functionName: ref_stack_clear
    functionSourceFile: /src/libspectre/ghostscript/psi/istack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref_stack_clear(pstk)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pstk
    - ','
    - depth
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    functionName: ref_stack_pop_to
    functionSourceFile: /src/libspectre/ghostscript/psi/istack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ref_stack_pop_to(pstk, depth)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: public_st_exec_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/iesdata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_exec_stack()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: build_gs_font_procs
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:47,1
    - Dst: cid_font_system_info_param
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:53,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:56,1
    - Dst: build_gs_simple_font
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:57,1
    - Dst: define_gs_font
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 65
    functionName: zbuildfont10
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - build_gs_simple_font
    - make_null
    - define_gs_font
    - build_gs_font_procs
    - cid_font_system_info_param
    linkageType: ''
    returnType: int
    signature: int zbuildfont10(i_ctx_t *i_ctx_p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:75,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:84,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:86,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:87,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:93,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:94,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:96,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:97,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:98,1
    - Dst: string_array_access_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:101,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:107,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:112,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - pfont
    - glyph
    argTypes:
    - gs_font_cid2*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 114
    functionName: z11_CIDMap_proc
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - r_type
    - make_int
    - r_has_type
    - pfont_data
    - string_array_access_proc
    - dict_find
    - return_error
    - gs_note_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int z11_CIDMap_proc(gs_font_cid2 *pfont, gs_glyph glyph)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid2*::cidata::orig_procs::get_outline
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:123,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:129,1
    - Dst: gs_glyph_data_from_null
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:130,1
    - Dst: gs_glyph_data_substring
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pfont
    - glyph_index
    - pgd
    argTypes:
    - gs_font_type42*
    - uint
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 117
    functionDepth: 3
    functionLinenumber: 117
    functionLinenumberEnd: 136
    functionName: z11_get_outline
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_font_cid2*::cidata::orig_procs::get_outline
    - gs_glyph_data_substring
    - gs_glyph_data_from_null
    - gs_glyph_data_free
    linkageType: ''
    returnType: int
    signature: "int z11_get_outline(gs_font_type42 * pfont, uint glyph_index,\n                gs_glyph_data_t
      *pgd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: GET_U16_MSB
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_U16_MSB(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 140
    functionName: GET_S16_MSB
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GET_S16_MSB(p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_metrics_options_wmode
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:151,1
    - Dst: gs_font_cid2*::cidata::orig_procs::get_outline
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:155,1
    - Dst: gs_font_cid2*::cidata::orig_procs::get_metrics
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:158,1
    - Dst: gs_type42_metrics_options_bbox_requested
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:159,1
    - Dst: gs_font_cid2*::cidata::orig_procs::get_metrics
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:160,1
    - Dst: gs_type42_metrics_options_sbw_requested
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:165,1
    - Dst: GET_S16_MSB
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:167,1
    - Dst: GET_U16_MSB
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:168,1
    - Dst: gs_glyph_data_free
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:181,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - options
    - sbw
    argTypes:
    - gs_font_type42*
    - uint
    - gs_type42_metrics_options_t
    - float[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 183
    functionName: z11_get_metrics
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_font_cid2*::cidata::orig_procs::get_outline
    - gs_type42_metrics_options_bbox_requested
    - gs_glyph_data_free
    - GET_U16_MSB
    - GET_S16_MSB
    - gs_type42_metrics_options_sbw_requested
    - gs_font_cid2*::cidata::orig_procs::get_metrics
    - gs_type42_metrics_options_wmode
    linkageType: ''
    returnType: int
    signature: "int z11_get_metrics(gs_font_type42 * pfont, uint glyph_index,\n                gs_type42_metrics_options_t
      options, float sbw[4])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_cid2*::cidata::CIDMap_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:193,1
    - Dst: gs_type42_glyph_info_by_gid
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: z11_glyph_info_aux
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_font_cid2*::cidata::CIDMap_proc
    - gs_type42_glyph_info_by_gid
    linkageType: ''
    returnType: int
    signature: "int z11_glyph_info_aux(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                     int members, gs_glyph_info_t *info)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: z1_glyph_info_generic
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:207,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 209
    functionName: z11_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - z1_glyph_info_generic
    linkageType: ''
    returnType: int
    signature: "int z11_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n                     int members, gs_glyph_info_t *info)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: z11_CIDMap_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:217,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:221,1
    - Dst: z11_CIDMap_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:224,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 4
    argNames:
    - font
    - pindex
    - glyph_space
    - pglyph
    argTypes:
    - gs_font*
    - int*
    - gs_glyph_space_t
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 240
    functionName: z11_enumerate_glyph
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - return_error
    - z11_CIDMap_proc
    linkageType: ''
    returnType: int
    signature: "int z11_enumerate_glyph(gs_font *font, int *pindex,\n                         gs_glyph_space_t
      glyph_space, gs_glyph *pglyph)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: z11_CIDMap_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pfont
    - glyph
    argTypes:
    - gs_font_type42*
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 248
    functionName: z11_get_glyph_index
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - z11_CIDMap_proc
    linkageType: ''
    returnType: uint
    signature: uint z11_get_glyph_index(gs_font_type42 *pfont, gs_glyph glyph)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_glyph_outline
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:254,1
    - Dst: z11_get_glyph_index
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 4
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: z11_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_type42_glyph_outline
    - z11_get_glyph_index
    linkageType: ''
    returnType: int
    signature: "int z11_glyph_outline(gs_font *font, int WMode, gs_glyph glyph, const
      gs_matrix *pmat,\n                  gx_path *ppath, double sbw[4])"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:264,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:265,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:265,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:266,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:271,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:273,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:274,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:275,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 3
    argNames:
    - subst
    - t
    - WMode
    argTypes:
    - gs_subst_CID_on_WMode_t*
    - ref*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 282
    functionName: get_subst_CID_on_WMode
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - r_type
    - make_int
    - gs_alloc_byte_array
    - dict_find
    - array_get
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int get_subst_CID_on_WMode(gs_subst_CID_on_WMode_t *subst, ref *t,
      int WMode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_font_notify_unregister
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:292,1
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - data
    - event
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 286
    functionDepth: 2
    functionLinenumber: 286
    functionLinenumberEnd: 296
    functionName: release_subst_CID_on_WMode
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_font_notify_unregister
    - rc_adjust
    linkageType: ''
    returnType: int
    signature: int release_subst_CID_on_WMode(void *data, void *event)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_type42_substitute_glyph_index_vertical
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:331,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 4
    argNames:
    - pfont
    - glyph_index
    - WMode
    - glyph
    argTypes:
    - gs_font_type42*
    - uint
    - int
    - gs_glyph
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 332
    functionName: font11_substitute_glyph_index_vertical
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - gs_type42_substitute_glyph_index_vertical
    linkageType: ''
    returnType: uint
    signature: "uint font11_substitute_glyph_index_vertical(gs_font_type42 *pfont,
      uint glyph_index,\n                                          int WMode, gs_glyph
      glyph)"
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: cid_font_data_param
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:349,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:356,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:359,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:368,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:369,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:382,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:383,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:384,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:385,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:387,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:388,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:389,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:391,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:392,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:393,1
    - Dst: font_string_array_param
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:399,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:405,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:410,1
    - Dst: build_gs_TrueType_font
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:421,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:431,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:431,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:436,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:436,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:437,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:446,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:446,1
    - Dst: rc_alloc_struct_1
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:456,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:457,1
    - Dst: get_subst_CID_on_WMode
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:460,1
    - Dst: get_subst_CID_on_WMode
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:463,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:468,1
    - Dst: gs_font_notify_register
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:470,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:473,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:477,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:477,1
    - Dst: get_font_name
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:485,1
    - Dst: copy_font_name
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:486,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:501,1
    - Dst: gs_glyph_cache__alloc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:505,1
    - Dst: define_gs_font
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:507,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 121
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 508
    functionName: zbuildfont11
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - get_subst_CID_on_WMode
    - rc_alloc_struct_1
    - copy_font_name
    - array_get
    - check_read_type
    - check_read_file
    - r_type
    - dict_int_param
    - rc_increment
    - gs_font_notify_register
    - pfont_data
    - font_string_array_param
    - cid_font_data_param
    - build_gs_TrueType_font
    - bytes_compare
    - define_gs_font
    - ref_assign
    - dict_find_string
    - return_error
    - gs_glyph_cache__alloc
    - get_font_name
    - r_size
    linkageType: ''
    returnType: int
    signature: int zbuildfont11(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:516,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:520,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:528,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:534,1
    - Dst: z11_CIDMap_proc
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:535,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:540,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:541,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 511
    functionDepth: 2
    functionLinenumber: 511
    functionLinenumberEnd: 543
    functionName: ztype11mapcid
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - font_param
    - z11_CIDMap_proc
    - make_int
    - check_type
    - pop
    - return_error
    linkageType: ''
    returnType: int
    signature: int ztype11mapcid(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:554,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:555,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:556,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:557,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:558,1
    - Dst: cid_fill_CIDMap
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:559,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 562
    functionName: zfillCIDMap
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - check_type
    - pop
    - cid_fill_CIDMap
    linkageType: ''
    returnType: int
    signature: int zfillCIDMap(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:575,1
    - Dst: cid_fill_Identity_CIDMap
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:576,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfcid1.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 579
    functionName: zfillIdentityCIDMap
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid1.c
    functionUses: 0
    functionsReached:
    - pop
    - check_type
    - cid_fill_Identity_CIDMap
    linkageType: ''
    returnType: int
    signature: int zfillIdentityCIDMap(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - caller_data
    - dsc
    - explanation
    - line
    - line_len
    argTypes:
    - void*
    - CDSC*
    - unsigned int
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 127
    functionName: dsc_error_handler
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int dsc_error_handler(void *caller_data, CDSC *dsc, unsigned int explanation,\n
      \                 const char *line, unsigned int line_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - size
    - closure_data
    argTypes:
    - size_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    functionName: zDSC_memalloc
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    linkageType: ''
    returnType: void
    signature: void *zDSC_memalloc (size_t size, void *closure_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - closure_data
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 141
    functionName: zDSC_memfree
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void zDSC_memfree(void *ptr, void *closure_data)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:158,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:160,1
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:163,1
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:165,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:167,1
    - Dst: dsc_init_with_alloc
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:170,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:173,1
    - Dst: dsc_set_error_function
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:174,1
    - Dst: make_astruct
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:175,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:175,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:176,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 180
    functionName: zinitialize_dsc_parser
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dict_memory
    - dsc_init_with_alloc
    - make_astruct
    - idict_put_string
    - dsc_set_error_function
    - ref_stack_count
    - pop
    - return_error
    - r_space
    - check_read_type
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int zinitialize_dsc_parser(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsc_free
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - cmem
    - vptr
    argTypes:
    - gs_memory_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 194
    functionName: dsc_finalize
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_free
    linkageType: ''
    returnType: void
    signature: void dsc_finalize(const gs_memory_t *cmem, void *vptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plist
    - keyname
    - value
    argTypes:
    - gs_param_list*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 205
    functionName: dsc_put_int
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - param_write_int
    linkageType: ''
    returnType: int
    signature: int dsc_put_int(gs_param_list *plist, const char *keyname, int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:214,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - plist
    - keyname
    - string
    argTypes:
    - gs_param_list*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 216
    functionName: dsc_put_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - param_string_from_transient_string
    - param_write_string
    linkageType: ''
    returnType: int
    signature: "int dsc_put_string(gs_param_list *plist, const char *keyname,\n               const
      char *string)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: param_write_int_array
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - plist
    - keyname
    - pbbox
    argTypes:
    - gs_param_list*
    - char*
    - CDSCBBOX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 237
    functionName: dsc_put_bounding_box
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - param_write_int_array
    linkageType: ''
    returnType: int
    signature: "int dsc_put_bounding_box(gs_param_list *plist, const char *keyname,\n
      \                    const CDSCBBOX *pbbox)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 249
    functionName: dsc_adobe_header
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_int
    linkageType: ''
    returnType: int
    signature: int dsc_adobe_header(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 255
    functionName: dsc_creator
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_string
    linkageType: ''
    returnType: int
    signature: int dsc_creator(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 257
    functionDepth: 2
    functionLinenumber: 257
    functionLinenumberEnd: 261
    functionName: dsc_creation_date
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_string
    linkageType: ''
    returnType: int
    signature: int dsc_creation_date(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 267
    functionName: dsc_title
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_string
    linkageType: ''
    returnType: int
    signature: int dsc_title(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: dsc_for
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_string
    linkageType: ''
    returnType: int
    signature: int dsc_for(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_bounding_box
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 279
    functionName: dsc_bounding_box
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_bounding_box
    linkageType: ''
    returnType: int
    signature: int dsc_bounding_box(gs_param_list *plist, const CDSC *pData)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:287,1
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: dsc_page
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_int
    linkageType: ''
    returnType: int
    signature: int dsc_page(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: dsc_pages
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_int
    linkageType: ''
    returnType: int
    signature: int dsc_pages(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_bounding_box
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: dsc_page_bounding_box
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_bounding_box
    linkageType: ''
    returnType: int
    signature: int dsc_page_bounding_box(gs_param_list *plist, const CDSC *pData)
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - orient
    argTypes:
    - CDSC_ORIENTATION_ENUM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 318
    functionName: convert_orient
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int convert_orient(CDSC_ORIENTATION_ENUM orient)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:331,1
    - Dst: convert_orient
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:332,1
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:334,1
    - Dst: convert_orient
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 336
    functionName: dsc_page_orientation
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_int
    - convert_orient
    linkageType: ''
    returnType: int
    signature: int dsc_page_orientation(gs_param_list *plist, const CDSC *pData)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dsc_put_int
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:341,1
    - Dst: convert_orient
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 343
    functionName: dsc_orientation
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - dsc_put_int
    - convert_orient
    linkageType: ''
    returnType: int
    signature: int dsc_orientation(gs_param_list *plist, const CDSC *pData)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: param_write_float_array
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - plist
    - pData
    argTypes:
    - gs_param_list*
    - CDSC*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 374
    functionName: dsc_viewing_orientation
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - param_write_float_array
    linkageType: ''
    returnType: int
    signature: int dsc_viewing_orientation(gs_param_list *plist, const CDSC *pData)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:448,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:449,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:450,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:451,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:457,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:461,1
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:463,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:464,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:468,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:474,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:474,1
    - Dst: dsc_scan_data
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:492,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:493,1
    - Dst: dict_param_list_write
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:510,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:514,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/zdscpars.c:521,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 48
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 522
    functionName: zparse_dsc_comments
    functionSourceFile: /src/libspectre/ghostscript/psi/zdscpars.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - check_dict_write
    - dict_find_string
    - strlen
    - check_type
    - iparam_list_release
    - dsc_scan_data
    - strncmp
    - r_ptr
    - memcpy
    - dict_param_list_write
    - return_error
    - check_stype
    - name_enter_string
    - r_size
    linkageType: ''
    returnType: int
    signature: int zparse_dsc_comments(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/psi/zpath.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 4
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: znewpath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - gs_newpath
    linkageType: ''
    returnType: int
    signature: int znewpath(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/psi/zpath.c:45,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpath.c:49,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath.c:50,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath.c:51,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 40
    functionDepth: 3
    functionLinenumber: 40
    functionLinenumberEnd: 53
    functionName: zcurrentpoint
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - make_real
    - gs_currentpoint
    - push
    linkageType: ''
    returnType: int
    signature: int zcurrentpoint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_to
      Src: /src/libspectre/ghostscript/psi/zpath.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 60
    functionName: zmoveto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_to
    linkageType: ''
    returnType: int
    signature: int zmoveto(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_to
      Src: /src/libspectre/ghostscript/psi/zpath.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 67
    functionName: zrmoveto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_to
    linkageType: ''
    returnType: int
    signature: int zrmoveto(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_to
      Src: /src/libspectre/ghostscript/psi/zpath.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: zlineto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_to
    linkageType: ''
    returnType: int
    signature: int zlineto(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_to
      Src: /src/libspectre/ghostscript/psi/zpath.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 81
    functionName: zrlineto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_to
    linkageType: ''
    returnType: int
    signature: int zrlineto(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zpath.c:92,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 98
    functionName: common_to
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 4
    functionsReached:
    - num_params
    - pop
    linkageType: ''
    returnType: int
    signature: "int common_to(i_ctx_t *i_ctx_p,\n          int (*add_proc)(gs_gstate
      *, double, double))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_curve
      Src: /src/libspectre/ghostscript/psi/zpath.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: zcurveto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_curve
    linkageType: ''
    returnType: int
    signature: int zcurveto(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_curve
      Src: /src/libspectre/ghostscript/psi/zpath.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    functionName: zrcurveto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - common_curve
    linkageType: ''
    returnType: int
    signature: int zrcurveto(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zpath.c:123,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath.c:127,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: common_curve
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 2
    functionsReached:
    - num_params
    - pop
    linkageType: ''
    returnType: int
    signature: "int common_curve(i_ctx_t *i_ctx_p,\n             int (*add_proc)(gs_gstate
      *, double, double, double, double, double, double))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_closepath
      Src: /src/libspectre/ghostscript/psi/zpath.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: zclosepath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - gs_closepath
    linkageType: ''
    returnType: int
    signature: int zclosepath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_initclip
      Src: /src/libspectre/ghostscript/psi/zpath.c:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 143
    functionName: zinitclip
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - gs_initclip
    linkageType: ''
    returnType: int
    signature: int zinitclip(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_clip
      Src: /src/libspectre/ghostscript/psi/zpath.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 146
    functionDepth: 2
    functionLinenumber: 146
    functionLinenumberEnd: 150
    functionName: zclip
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - gs_clip
    linkageType: ''
    returnType: int
    signature: int zclip(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_eoclip
      Src: /src/libspectre/ghostscript/psi/zpath.c:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 157
    functionName: zeoclip
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath.c
    functionUses: 0
    functionsReached:
    - gs_eoclip
    linkageType: ''
    returnType: int
    signature: int zeoclip(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 37
    functionName: check_ostack
    functionSourceFile: /src/libspectre/ghostscript/psi/ostack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_ostack(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: push
    functionSourceFile: /src/libspectre/ghostscript/psi/ostack.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: push(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: pop
    functionSourceFile: /src/libspectre/ghostscript/psi/ostack.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: pop(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nargs
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: check_op
    functionSourceFile: /src/libspectre/ghostscript/psi/ostack.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_op(nargs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/psi/zpaint.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 10
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: zfill
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - gs_fill
    linkageType: ''
    returnType: int
    signature: int zfill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_eofill
      Src: /src/libspectre/ghostscript/psi/zpaint.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 10
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: zeofill
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - gs_eofill
    linkageType: ''
    returnType: int
    signature: int zeofill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/psi/zpaint.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 9
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: zstroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - gs_stroke
    linkageType: ''
    returnType: int
    signature: int zstroke(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpaint.c:52,1
    - Dst: gs_fillstroke
      Src: /src/libspectre/ghostscript/psi/zpaint.c:54,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpaint.c:59,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 10
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: fillstroke_cont
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - check_type
    - gs_fillstroke
    - pop
    linkageType: ''
    returnType: int
    signature: int fillstroke_cont(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpaint.c:67,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zpaint.c:68,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zpaint.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 71
    functionName: zfillstroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - push_op_estack
    - push
    - make_int
    linkageType: ''
    returnType: int
    signature: int zfillstroke(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpaint.c:79,1
    - Dst: gs_eofillstroke
      Src: /src/libspectre/ghostscript/psi/zpaint.c:81,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpaint.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 73
    functionDepth: 10
    functionLinenumber: 73
    functionLinenumberEnd: 88
    functionName: eofillstroke_cont
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - check_type
    - gs_eofillstroke
    - pop
    linkageType: ''
    returnType: int
    signature: int eofillstroke_cont(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpaint.c:94,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zpaint.c:95,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zpaint.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: zeofillstroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - push_op_estack
    - push
    - make_int
    linkageType: ''
    returnType: int
    signature: int zeofillstroke(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_fillpage
      Src: /src/libspectre/ghostscript/psi/zpaint.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 4
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: zfillpage
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - gs_fillpage
    linkageType: ''
    returnType: int
    signature: int zfillpage(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpaint.c:116,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpaint.c:117,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zpaint.c:118,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpaint.c:119,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpaint.c:120,1
    - Dst: gs_imagepath
      Src: /src/libspectre/ghostscript/psi/zpaint.c:121,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpaint.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 110
    functionDepth: 3
    functionLinenumber: 110
    functionLinenumberEnd: 127
    functionName: zimagepath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpaint.c
    functionUses: 0
    functionsReached:
    - gs_imagepath
    - check_type
    - pop
    - return_error
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zimagepath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: private_st_int_remap_color_info
    functionSourceFile: /src/libspectre/ghostscript/psi/icremap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: private_st_int_remap_color_info()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/zvmem.c:48,1
    - Dst: ref_stack_cleanup
      Src: /src/libspectre/ghostscript/psi/zvmem.c:49,1
    - Dst: ref_stack_cleanup
      Src: /src/libspectre/ghostscript/psi/zvmem.c:50,1
    - Dst: ref_stack_cleanup
      Src: /src/libspectre/ghostscript/psi/zvmem.c:51,1
    - Dst: ivalidate_spaces
      Src: /src/libspectre/ghostscript/psi/zvmem.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 54
    functionName: ivalidate_clean_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - ref_stack_cleanup
    - gs_debug_c
    - ivalidate_spaces
    linkageType: ''
    returnType: void
    signature: void ivalidate_clean_spaces(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/zvmem.c:68,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:69,1
    - Dst: ialloc_struct
      Src: /src/libspectre/ghostscript/psi/zvmem.c:70,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:71,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:73,1
    - Dst: alloc_save_state
      Src: /src/libspectre/ghostscript/psi/zvmem.c:75,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zvmem.c:79,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:80,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/zvmem.c:82,1
    - Dst: gs_gsave_for_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:84,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zvmem.c:88,1
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/zvmem.c:89,1
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/zvmem.c:91,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 93
    functionName: zsave
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - ialloc_struct
    - ifree_object
    - make_tav
    - gs_gsave_for_save
    - push
    - alloc_save_state
    - return_error
    - ivalidate_clean_spaces
    - if_debug2m
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: int zsave(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: restore_check_operand
      Src: /src/libspectre/ghostscript/psi/zvmem.c:105,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/zvmem.c:109,1
    - Dst: alloc_save_client_data
      Src: /src/libspectre/ghostscript/psi/zvmem.c:110,1
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/zvmem.c:113,1
    - Dst: restore_check_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:119,1
    - Dst: restore_check_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:120,1
    - Dst: restore_check_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:121,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - i_ctx_p
    - asave
    argTypes:
    - i_ctx_t*
    - alloc_save_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: restore_check_save
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - alloc_save_client_data
    - restore_check_operand
    - if_debug2m
    - restore_check_stack
    - ivalidate_clean_spaces
    linkageType: ''
    returnType: int
    signature: int restore_check_save(i_ctx_t *i_ctx_p, alloc_save_t **asave)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:151,1
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:152,1
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:153,1
    - Dst: alloc_save_client_data
      Src: /src/libspectre/ghostscript/psi/zvmem.c:157,1
    - Dst: alloc_save_current
      Src: /src/libspectre/ghostscript/psi/zvmem.c:157,1
    - Dst: gs_grestoreall_for_restore
      Src: /src/libspectre/ghostscript/psi/zvmem.c:159,1
    - Dst: alloc_restore_step_in
      Src: /src/libspectre/ghostscript/psi/zvmem.c:170,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:179,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zvmem.c:180,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:181,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/zvmem.c:183,1
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/zvmem.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - i_ctx_p
    - asave
    argTypes:
    - i_ctx_t*
    - alloc_save_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 196
    functionName: dorestore
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - alloc_save_client_data
    - alloc_save_current
    - ialloc_set_space
    - ifree_object
    - gs_grestoreall_for_restore
    - dict_set_top
    - ivalidate_clean_spaces
    - restore_fix_stack
    - alloc_restore_step_in
    linkageType: ''
    returnType: int
    signature: int dorestore(i_ctx_t *i_ctx_p, alloc_save_t *asave)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: restore_check_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:202,1
    - Dst: dorestore
      Src: /src/libspectre/ghostscript/psi/zvmem.c:206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 5
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: zrestore
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - restore_check_save
    - dorestore
    linkageType: ''
    returnType: int
    signature: int zrestore(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zvmem.c:218,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zvmem.c:219,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:221,1
    - Dst: alloc_find_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:223,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - op
    - pasave
    - idmem
    argTypes:
    - os_ptr
    - alloc_save_t**
    - gs_dual_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 228
    functionName: restore_check_operand
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 1
    functionsReached:
    - return_error
    - alloc_find_save
    - r_ptr
    - check_type
    linkageType: ''
    returnType: int
    signature: "int restore_check_operand(os_ptr op, alloc_save_t ** pasave,\n                      gs_dual_memory_t
      *idmem)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_enum_begin
      Src: /src/libspectre/ghostscript/psi/zvmem.c:237,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zvmem.c:245,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zvmem.c:251,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zvmem.c:267,1
    - Dst: file_is_invalid
      Src: /src/libspectre/ghostscript/psi/zvmem.c:268,1
    - Dst: alloc_name_is_since_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:278,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zvmem.c:283,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zvmem.c:284,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zvmem.c:292,1
    - Dst: alloc_find_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:310,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:316,1
    - Dst: alloc_is_since_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:323,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zvmem.c:324,1
    - Dst: ref_stack_enum_next
      Src: /src/libspectre/ghostscript/psi/zvmem.c:326,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 61
    argCount: 4
    argNames:
    - i_ctx_p
    - pstack
    - asave
    - is_estack
    argTypes:
    - i_ctx_t*
    - ref_stack_t*
    - alloc_save_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 328
    functionName: restore_check_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 1
    functionsReached:
    - r_type
    - r_has_attr
    - ref_stack_enum_next
    - alloc_find_save
    - alloc_name_is_since_save
    - alloc_is_since_save
    - file_is_invalid
    - ref_stack_enum_begin
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: "int restore_check_stack(const i_ctx_t *i_ctx_p, const ref_stack_t
      * pstack,\n                    const alloc_save_t * asave, bool is_estack)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_enum_begin
      Src: /src/libspectre/ghostscript/psi/zvmem.c:345,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/zvmem.c:351,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zvmem.c:355,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zvmem.c:356,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zvmem.c:358,1
    - Dst: alloc_is_since_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:359,1
    - Dst: make_empty_const_string
      Src: /src/libspectre/ghostscript/psi/zvmem.c:362,1
    - Dst: alloc_is_since_save
      Src: /src/libspectre/ghostscript/psi/zvmem.c:368,1
    - Dst: make_invalid_file
      Src: /src/libspectre/ghostscript/psi/zvmem.c:371,1
    - Dst: r_copy_attrs
      Src: /src/libspectre/ghostscript/psi/zvmem.c:378,1
    - Dst: ref_stack_enum_next
      Src: /src/libspectre/ghostscript/psi/zvmem.c:382,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 27
    argCount: 4
    argNames:
    - i_ctx_p
    - pstack
    - asave
    - is_estack
    argTypes:
    - i_ctx_t*
    - ref_stack_t*
    - alloc_save_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 383
    functionName: restore_fix_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 1
    functionsReached:
    - r_type
    - ref_stack_enum_next
    - ref_assign
    - alloc_is_since_save
    - r_copy_attrs
    - r_clear_attrs
    - ref_stack_enum_begin
    - make_invalid_file
    - make_empty_const_string
    - r_size
    linkageType: ''
    returnType: void
    signature: "void restore_fix_stack(i_ctx_t *i_ctx_p, ref_stack_t * pstack,\n                  const
      alloc_save_t * asave, bool is_estack)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/zvmem.c:392,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/zvmem.c:396,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/zvmem.c:400,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zvmem.c:401,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zvmem.c:402,1
    - Dst: imemory_save_level
      Src: /src/libspectre/ghostscript/psi/zvmem.c:402,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zvmem.c:403,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zvmem.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 406
    functionName: zvmstatus
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - gs_memory_status
    - push
    - make_int
    - imemory_save_level
    linkageType: ''
    returnType: int
    signature: int zvmstatus(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: restore_check_operand
      Src: /src/libspectre/ghostscript/psi/zvmem.c:417,1
    - Dst: alloc_save_client_data
      Src: /src/libspectre/ghostscript/psi/zvmem.c:421,1
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:423,1
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:424,1
    - Dst: restore_fix_stack
      Src: /src/libspectre/ghostscript/psi/zvmem.c:425,1
    - Dst: gs_gstate_saved
      Src: /src/libspectre/ghostscript/psi/zvmem.c:435,1
    - Dst: gs_gstate_saved
      Src: /src/libspectre/ghostscript/psi/zvmem.c:435,1
    - Dst: gs_gstate_swap_saved
      Src: /src/libspectre/ghostscript/psi/zvmem.c:437,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zvmem.c:438,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zvmem.c:439,1
    - Dst: alloc_forget_save_in
      Src: /src/libspectre/ghostscript/psi/zvmem.c:442,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:448,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zvmem.c:451,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zvmem.c:452,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zvmem.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 456
    functionName: zforgetsave
    functionSourceFile: /src/libspectre/ghostscript/psi/zvmem.c
    functionUses: 0
    functionsReached:
    - gs_gstate_swap_saved
    - alloc_save_client_data
    - ifree_object
    - alloc_forget_save_in
    - gs_grestore
    - gs_gstate_saved
    - restore_check_operand
    - pop
    - restore_fix_stack
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: int zforgetsave(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - fp
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 119
    functionName: make_invalid_file
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 1
    functionsReached:
    - make_file
    linkageType: ''
    returnType: void
    signature: void make_invalid_file(i_ctx_t *i_ctx_p, ref * fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_file_name_check_separator
      Src: /src/libspectre/ghostscript/psi/zfile.c:132,1
    - Dst: gp_file_name_parents
      Src: /src/libspectre/ghostscript/psi/zfile.c:133,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:138,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:143,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:146,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zfile.c:155,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:156,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:160,1
    - Dst: gp_file_name_parents
      Src: /src/libspectre/ghostscript/psi/zfile.c:170,1
    - Dst: gp_file_name_cwds
      Src: /src/libspectre/ghostscript/psi/zfile.c:172,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/psi/zfile.c:177,1
    - Dst: string_match
      Src: /src/libspectre/ghostscript/psi/zfile.c:184,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 22
    argCount: 5
    argNames:
    - i_ctx_p
    - fname
    - len
    - iodev
    - permitgroup
    argTypes:
    - i_ctx_t*
    - char*
    - int
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 123
    functionDepth: 3
    functionLinenumber: 123
    functionLinenumberEnd: 191
    functionName: check_file_permissions_reduced
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gp_file_name_is_absolute
    - r_type
    - dict_find_string
    - gs_file_name_check_separator
    - iodev_default
    - gp_file_name_cwds
    - string_match
    - array_get
    - gp_file_name_parents
    - r_size
    linkageType: ''
    returnType: int
    signature: "int check_file_permissions_reduced(i_ctx_t *i_ctx_p, const char *fname,
      int len,\n                        gx_io_device *iodev, const char *permitgroup)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_reduce
      Src: /src/libspectre/ghostscript/psi/zfile.c:202,1
    - Dst: check_file_permissions_reduced
      Src: /src/libspectre/ghostscript/psi/zfile.c:204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - i_ctx_p
    - fname
    - len
    - iodev
    - permitgroup
    argTypes:
    - i_ctx_t*
    - char*
    - int
    - gx_io_device*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 4
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: check_file_permissions
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gp_file_name_reduce
    - check_file_permissions_reduced
    linkageType: ''
    returnType: int
    signature: "int check_file_permissions(i_ctx_t *i_ctx_p, const char *fname, int
      len,\n                        gx_io_device *iodev, const char *permitgroup)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/zfile.c:212,1
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:215,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:220,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:221,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - mem
    - fname
    - len
    - permission
    argTypes:
    - gs_memory_t*
    - char*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 209
    functionDepth: 5
    functionLinenumber: 209
    functionLinenumberEnd: 227
    functionName: z_check_file_permissions
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - strcmp
    - check_file_permissions
    - gs_parse_file_name
    - gs_note_error
    - get_minst_from_memory
    linkageType: ''
    returnType: int
    signature: int z_check_file_permissions(gs_memory_t *mem, const char *fname, const
      int len, const char *permission)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_access_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:236,1
    - Dst: parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:241,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:250,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:251,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:253,1
    - Dst: gs_findiodevice
      Src: /src/libspectre/ghostscript/psi/zfile.c:256,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:259,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:260,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:266,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:267,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:268,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:269,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:270,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:271,1
    - Dst: zfilelineedit
      Src: /src/libspectre/ghostscript/psi/zfile.c:272,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:280,1
    - Dst: zopen_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:281,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:286,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/psi/zfile.c:287,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:287,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfile.c:289,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:290,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:292,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:293,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 295
    functionName: zfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - make_stream_file
    - sclose
    - make_int
    - strcmp
    - parse_file_access_string
    - iodev_default
    - ssetfilename
    - push
    - parse_file_name
    - make_string
    - zopen_file
    - return_error
    - pop
    - zfilelineedit
    - make_bool
    - gs_findiodevice
    - check_ostack
    - r_size
    linkageType: ''
    returnType: int
    signature: int zfile(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:309,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:310,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zfile.c:312,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zfile.c:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 3
    argNames:
    - i_ctx_p
    - fname
    - len
    argTypes:
    - i_ctx_t*
    - uchar*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 316
    functionName: file_is_tempfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - dict_find
    - name_ref
    linkageType: ''
    returnType: bool
    signature: bool file_is_tempfile(i_ctx_t *i_ctx_p, const uchar *fname, int len)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:326,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:327,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zfile.c:330,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:333,1
    - Dst: idict_put
      Src: /src/libspectre/ghostscript/psi/zfile.c:335,1
    - Dst: idict_undef
      Src: /src/libspectre/ghostscript/psi/zfile.c:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 4
    argNames:
    - i_ctx_p
    - fname
    - len
    - add
    argTypes:
    - i_ctx_t*
    - uchar*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 338
    functionName: record_file_is_tempfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - idict_undef
    - dict_find_string
    - name_ref
    - idict_put
    - make_bool
    linkageType: ''
    returnType: int
    signature: int record_file_is_tempfile(i_ctx_t *i_ctx_p, const uchar *fname, int
      len, bool add)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: parse_real_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:348,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:353,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:354,1
    - Dst: file_is_tempfile
      Src: /src/libspectre/ghostscript/psi/zfile.c:356,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:356,1
    - Dst: record_file_is_tempfile
      Src: /src/libspectre/ghostscript/psi/zfile.c:364,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:364,1
    - Dst: gs_free_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:366,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:369,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 343
    functionDepth: 5
    functionLinenumber: 343
    functionLinenumberEnd: 371
    functionName: zdeletefile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - record_file_is_tempfile
    - strlen
    - iodev_default
    - file_is_tempfile
    - gs_free_file_name
    - pop
    - check_file_permissions
    - parse_real_file_name
    - r_size
    linkageType: ''
    returnType: int
    signature: int zdeletefile(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:385,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zfile.c:386,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:387,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:390,1
    - Dst: parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:392,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:395,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:399,1
    - Dst: gx_io_device*::procs::enumerate_files
      Src: /src/libspectre/ghostscript/psi/zfile.c:402,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:405,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:406,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zfile.c:408,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:410,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:410,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zfile.c:413,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:415,1
    - Dst: file_continue
      Src: /src/libspectre/ghostscript/psi/zfile.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 418
    functionName: zfilenameforall
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - file_continue
    - make_int
    - make_istruct
    - r_size
    - iodev_default
    - push_mark_estack
    - check_proc
    - parse_file_name
    - pop
    - gx_io_device*::procs::enumerate_files
    - return_error
    - check_read_type
    - check_estack
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zfilenameforall(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zfile.c:425,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zfile.c:427,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:428,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:433,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:437,1
    - Dst: gx_io_device*::procs::enumerate_next
      Src: /src/libspectre/ghostscript/psi/zfile.c:438,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:444,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:446,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:447,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:448,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfile.c:449,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:450,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:451,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 420
    functionDepth: 5
    functionLinenumber: 420
    functionLinenumberEnd: 456
    functionName: file_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 1
    functionsReached:
    - gx_io_device*::procs::enumerate_next
    - ref_assign
    - iodev_default
    - push_op_estack
    - r_ptr
    - memcpy
    - push
    - r_set_size
    - return_error
    - check_file_permissions
    - r_size
    linkageType: ''
    returnType: int
    signature: int file_continue(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zfile.c:461,1
    - Dst: gx_io_device*::procs::enumerate_close
      Src: /src/libspectre/ghostscript/psi/zfile.c:463,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zfile.c:463,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 465
    functionName: file_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - r_ptr
    - gx_io_device*::procs::enumerate_close
    linkageType: ''
    returnType: int
    signature: int file_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: parse_real_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:475,1
    - Dst: parse_real_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:480,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:482,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:496,1
    - Dst: file_is_tempfile
      Src: /src/libspectre/ghostscript/psi/zfile.c:498,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:498,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:499,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:501,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:503,1
    - Dst: gs_free_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:509,1
    - Dst: gs_free_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:510,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:513,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 468
    functionDepth: 5
    functionLinenumber: 468
    functionLinenumberEnd: 515
    functionName: zrenamefile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    - iodev_default
    - file_is_tempfile
    - gs_free_file_name
    - pop
    - check_file_permissions
    - parse_real_file_name
    - r_size
    linkageType: ''
    returnType: int
    signature: int zrenamefile(i_ctx_t *i_ctx_p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:525,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:530,1
    - Dst: file_is_valid
      Src: /src/libspectre/ghostscript/psi/zfile.c:530,1
    - Dst: parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:537,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:541,1
    - Dst: gs_terminate_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:546,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:549,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:556,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:562,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:563,1
    - Dst: stat_blocks
      Src: /src/libspectre/ghostscript/psi/zfile.c:563,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:564,1
    - Dst: stat_blocks
      Src: /src/libspectre/ghostscript/psi/zfile.c:574,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:578,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:579,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfile.c:580,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:581,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile.c:584,1
    - Dst: gs_free_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:587,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zfile.c:591,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 42
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 520
    functionDepth: 5
    functionLinenumber: 520
    functionLinenumberEnd: 593
    functionName: zstatus
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - r_type
    - stat_blocks
    - make_int
    - return_op_typecheck
    - gs_terminate_file_name
    - file_is_valid
    - parse_file_name
    - push
    - gs_free_file_name
    - return_error
    - check_file_permissions
    - make_bool
    - check_ostack
    linkageType: ''
    returnType: int
    signature: int zstatus(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type_access
      Src: /src/libspectre/ghostscript/psi/zfile.c:603,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:604,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:605,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zfile.c:607,1
    - Dst: zexec
      Src: /src/libspectre/ghostscript/psi/zfile.c:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 609
    functionName: zexecfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - check_type_access
    - push_mark_estack
    - zexec
    - push_op_estack
    - check_estack
    linkageType: ''
    returnType: int
    signature: int zexecfile(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:614,1
    - Dst: execfile_cleanup
      Src: /src/libspectre/ghostscript/psi/zfile.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 618
    functionName: execfile_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - execfile_cleanup
    - check_ostack
    linkageType: ''
    returnType: int
    signature: int execfile_finish(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:623,1
    - Dst: zclosefile
      Src: /src/libspectre/ghostscript/psi/zfile.c:625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 626
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: execfile_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 1
    functionsReached:
    - zclosefile
    - check_ostack
    linkageType: ''
    returnType: int
    signature: int execfile_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:634,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:635,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: zfilenamelistseparator
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - push
    linkageType: ''
    returnType: int
    signature: int zfilenamelistseparator(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:646,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:648,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 649
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 649
    functionName: zfilenamesplit
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - return_error
    - check_read_type
    linkageType: ''
    returnType: int
    signature: int zfilenamesplit(i_ctx_t *i_ctx_p)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:664,1
    - Dst: parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:665,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:668,1
    - Dst: zopen_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:672,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:673,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/psi/zfile.c:675,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:675,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfile.c:677,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:678,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:682,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zfile.c:683,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:686,1
    - Dst: lib_file_open
      Src: /src/libspectre/ghostscript/psi/zfile.c:690,1
    - Dst: fptr
      Src: /src/libspectre/ghostscript/psi/zfile.c:693,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/psi/zfile.c:694,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfile.c:696,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:697,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:703,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zfile.c:704,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfile.c:707,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:709,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zfile.c:710,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 712
    functionName: zlibfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - sclose
    - make_stream_file
    - lib_file_open
    - make_true
    - ref_assign
    - fptr
    - iodev_default
    - make_false
    - ssetfilename
    - push
    - parse_file_name
    - zopen_file
    - return_error
    - gs_note_error
    - check_ostack
    - r_size
    linkageType: ''
    returnType: int
    signature: int zlibfile(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 6
    argCount: 1
    argNames:
    - pstr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 716
    functionDepth: 0
    functionLinenumber: 716
    functionLinenumberEnd: 728
    functionName: prefix_is_simple
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool prefix_is_simple(const char *pstr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_access_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:738,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zfile.c:748,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zfile.c:749,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:751,1
    - Dst: snprintf
      Src: /src/libspectre/ghostscript/psi/zfile.c:755,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:756,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:761,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:762,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:764,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:767,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/psi/zfile.c:772,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:772,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:773,1
    - Dst: gp_file_name_separator
      Src: /src/libspectre/ghostscript/psi/zfile.c:774,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:776,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:778,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:787,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:789,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:789,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:791,1
    - Dst: prefix_is_simple
      Src: /src/libspectre/ghostscript/psi/zfile.c:794,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:795,1
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/psi/zfile.c:799,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:801,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zfile.c:804,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:807,1
    - Dst: gp_open_scratch_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:810,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:812,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:813,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:816,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:817,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:819,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:820,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:823,1
    - Dst: file_init_stream
      Src: /src/libspectre/ghostscript/psi/zfile.c:824,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/psi/zfile.c:825,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:827,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfile.c:828,1
    - Dst: gx_io_device*::procs::delete_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:829,1
    - Dst: ifree_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:830,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:831,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:834,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:835,1
    - Dst: record_file_is_tempfile
      Src: /src/libspectre/ghostscript/psi/zfile.c:836,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:840,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:842,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 731
    functionDepth: 5
    functionLinenumber: 731
    functionLinenumberEnd: 844
    functionName: ztempfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - prefix_is_simple
    - gs_alloc_bytes
    - strlen
    - parse_file_access_string
    - ialloc_string
    - snprintf
    - check_read_type
    - sclose
    - iodev_default
    - file_init_stream
    - check_file_permissions
    - gs_note_error
    - gp_file_name_separator
    - gs_free_object
    - gp_file_name_is_absolute
    - ifree_string
    - make_stream_file
    - record_file_is_tempfile
    - r_has_type
    - ssetfilename
    - make_string
    - file_alloc_stream
    - gp_open_scratch_file
    - memcpy
    - return_error
    - gx_io_device*::procs::delete_file
    - r_size
    linkageType: ''
    returnType: int
    signature: int ztempfile(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:861,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:862,1
    - Dst: sfilename
      Src: /src/libspectre/ghostscript/psi/zfile.c:866,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:872,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:874,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:877,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:878,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 881
    functionName: zgetfilename
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - ialloc_string
    - memcpy
    - make_string
    - gs_note_error
    - sfilename
    - check_read_type
    - check_ostack
    linkageType: ''
    returnType: int
    signature: int zgetfilename(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfile.c:890,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:891,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:892,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zfile.c:894,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:895,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:896,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:899,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:900,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:903,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:904,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:910,1
    - Dst: gs_is_path_control_active
      Src: /src/libspectre/ghostscript/psi/zfile.c:911,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:912,1
    - Dst: gs_add_control_path_len
      Src: /src/libspectre/ghostscript/psi/zfile.c:914,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:916,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile.c:917,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 919
    functionName: zaddcontrolpath
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - check_type
    - gs_is_path_control_active
    - strncmp
    - gs_add_control_path_len
    - pop
    - gs_note_error
    - check_read_type
    - check_ostack
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: int
    signature: int zaddcontrolpath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_activate_path_control
      Src: /src/libspectre/ghostscript/psi/zfile.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 925
    functionName: zactivatepathcontrol
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gs_activate_path_control
    linkageType: ''
    returnType: int
    signature: int zactivatepathcontrol(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile.c:929,1
    - Dst: gs_is_path_control_active
      Src: /src/libspectre/ghostscript/psi/zfile.c:930,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zfile.c:931,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zfile.c:934,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 926
    functionDepth: 1
    functionLinenumber: 926
    functionLinenumberEnd: 937
    functionName: zcurrentpathcontrolstate
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gs_is_path_control_active
    - push
    - make_true
    - make_false
    linkageType: ''
    returnType: int
    signature: int zcurrentpathcontrolstate(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:974,1
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:975,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:976,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zfile.c:985,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - op
    - pfn
    - safemode
    - memory
    argTypes:
    - ref*
    - gs_parsed_file_name_t*
    - bool
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 988
      start: 968
    functionDepth: 3
    functionLinenumber: 968
    functionLinenumberEnd: 988
    functionName: parse_file_name
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 11
    functionsReached:
    - strcmp
    - check_read_type
    - gs_parse_file_name
    - r_size
    linkageType: ''
    returnType: int
    signature: "int parse_file_name(const ref * op, gs_parsed_file_name_t * pfn, bool
      safemode,\n                gs_memory_t *memory)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:996,1
    - Dst: gs_parse_real_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:997,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - op
    - pfn
    - mem
    - cname
    argTypes:
    - ref*
    - gs_parsed_file_name_t*
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 992
    functionDepth: 4
    functionLinenumber: 992
    functionLinenumberEnd: 999
    functionName: parse_real_file_name
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 3
    functionsReached:
    - check_read_type
    - gs_parse_real_file_name
    - r_size
    linkageType: ''
    returnType: int
    signature: "int parse_real_file_name(const ref *op, gs_parsed_file_name_t *pfn,\n
      \                    gs_memory_t *mem, client_name_t cname)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfile.c:1008,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:1010,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1013,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1021,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1029,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - op
    - file_access
    argTypes:
    - ref*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1033
    functionName: parse_file_access_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 2
    functionsReached:
    - return_error
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int parse_file_access_string(const ref *op, char file_access[4])
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gx_io_device*::procs::open_device
      Src: /src/libspectre/ghostscript/psi/zfile.c:1050,1
    - Dst: iodev_proc_open_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1055,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:1061,1
    - Dst: file_is_tempfile
      Src: /src/libspectre/ghostscript/psi/zfile.c:1064,1
    - Dst: open_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1068,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 5
    argNames:
    - i_ctx_p
    - pfn
    - file_access
    - ps
    - mem
    argTypes:
    - i_ctx_t*
    - gs_parsed_file_name_t*
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1041
    functionDepth: 5
    functionLinenumber: 1041
    functionLinenumberEnd: 1070
    functionName: zopen_file
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 2
    functionsReached:
    - open_file
    - file_is_tempfile
    - gx_io_device*::procs::open_device
    - check_file_permissions
    - iodev_proc_open_file
    linkageType: ''
    returnType: int
    signature: "int zopen_file(i_ctx_t *i_ctx_p, const gs_parsed_file_name_t *pfn,\n
      \          const char *file_access, stream **ps, gs_memory_t *mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: file_open_stream
      Src: /src/libspectre/ghostscript/psi/zfile.c:1080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - iodev
    - fname
    - len
    - file_access
    - ps
    - mem
    argTypes:
    - gx_io_device*
    - char*
    - uint
    - char*
    - stream**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1083
    functionName: iodev_os_open_file
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - file_open_stream
    linkageType: ''
    returnType: int
    signature: "int iodev_os_open_file(gx_io_device * iodev, const char *fname, uint
      len,\n                   const char *file_access, stream ** ps, gs_memory_t
      * mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zfile.c:1091,1
    - Dst: make_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1094,1
    - Dst: make_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1097,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pfile
    - s
    - access
    argTypes:
    - ref*
    - stream*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1086
    functionDepth: 1
    functionLinenumber: 1086
    functionLinenumberEnd: 1100
    functionName: make_stream_file
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 3
    functionsReached:
    - make_file
    - imemory_space
    linkageType: ''
    returnType: void
    signature: void make_stream_file(ref * pfile, stream * s, const char *access)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_reduce
      Src: /src/libspectre/ghostscript/psi/zfile.c:1113,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:1116,1
    - Dst: iodev_os_open_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1117,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1120,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1130,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 12
    argNames:
    - lib_path
    - mem
    - i_ctx_p
    - fname
    - flen
    - buffer
    - blen
    - pclen
    - pfile
    - iodev
    - starting_arg_file
    - fmode
    argTypes:
    - gs_file_path_ptr
    - gs_memory_t*
    - i_ctx_t*
    - char*
    - uint
    - char*
    - int
    - uint*
    - ref*
    - gx_io_device*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1103
    functionDepth: 5
    functionLinenumber: 1103
    functionLinenumberEnd: 1136
    functionName: lib_file_open_search_with_no_combine
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - gp_file_name_reduce
    - make_stream_file
    - iodev_os_open_file
    - gs_note_error
    - check_file_permissions
    linkageType: ''
    returnType: int
    signature: "int lib_file_open_search_with_no_combine(gs_file_path_ptr  lib_path,
      const gs_memory_t *mem, i_ctx_t *i_ctx_p,\n                                     const
      char *fname, uint flen, char *buffer, int blen, uint *pclen, ref *pfile,\n                                     gx_io_device
      *iodev, bool starting_arg_file, char *fmode)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:1149,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:1152,1
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfile.c:1161,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zfile.c:1166,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1167,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1168,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1169,1
    - Dst: gs_parsed_file_name_t::iodev::procs::open_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1170,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1176,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1178,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1179,1
    - Dst: gp_file_name_combine
      Src: /src/libspectre/ghostscript/psi/zfile.c:1183,1
    - Dst: check_file_permissions
      Src: /src/libspectre/ghostscript/psi/zfile.c:1187,1
    - Dst: iodev_os_open_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1190,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1193,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1204,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 12
    argNames:
    - lib_path
    - mem
    - i_ctx_p
    - fname
    - flen
    - buffer
    - blen
    - pclen
    - pfile
    - iodev
    - starting_arg_file
    - fmode
    argTypes:
    - gs_file_path_ptr
    - gs_memory_t*
    - i_ctx_t*
    - char*
    - uint
    - char*
    - int
    - uint*
    - ref*
    - gx_io_device*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1139
    functionDepth: 5
    functionLinenumber: 1139
    functionLinenumberEnd: 1210
    functionName: lib_file_open_search_with_combine
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - make_stream_file
    - iodev_os_open_file
    - gp_file_name_combine
    - gs_note_error
    - gs_parse_file_name
    - max
    - memcpy
    - gs_parsed_file_name_t::iodev::procs::open_file
    - return_error
    - check_file_permissions
    - r_size
    linkageType: ''
    returnType: int
    signature: "int lib_file_open_search_with_combine(gs_file_path_ptr  lib_path,
      const gs_memory_t *mem, i_ctx_t *i_ctx_p,\n                                  const
      char *fname, uint flen, char *buffer, int blen, uint *pclen, ref *pfile,\n                                  gx_io_device
      *iodev, bool starting_arg_file, char *fmode)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfile.c:1226,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/zfile.c:1227,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/psi/zfile.c:1237,1
    - Dst: lib_file_open_search_with_no_combine
      Src: /src/libspectre/ghostscript/psi/zfile.c:1246,1
    - Dst: lib_file_open_search_with_combine
      Src: /src/libspectre/ghostscript/psi/zfile.c:1253,1
    - Dst: lib_file_open_search_with_combine
      Src: /src/libspectre/ghostscript/psi/zfile.c:1261,1
    - Dst: lib_file_open_search_with_no_combine
      Src: /src/libspectre/ghostscript/psi/zfile.c:1268,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1275,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 9
    argNames:
    - lib_path
    - mem
    - i_ctx_p
    - fname
    - flen
    - buffer
    - blen
    - pclen
    - pfile
    argTypes:
    - gs_file_path_ptr
    - gs_memory_t*
    - i_ctx_t*
    - char*
    - uint
    - char*
    - int
    - uint*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1216
    functionDepth: 6
    functionLinenumber: 1216
    functionLinenumberEnd: 1276
    functionName: lib_file_open
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 1
    functionsReached:
    - gp_file_name_is_absolute
    - iodev_default
    - lib_file_open_search_with_no_combine
    - return_error
    - lib_file_open_search_with_combine
    - get_minst_from_memory
    linkageType: ''
    returnType: int
    signature: "int lib_file_open(gs_file_path_ptr  lib_path, const gs_memory_t *mem,
      i_ctx_t *i_ctx_p,\n                       const char *fname, uint flen, char
      *buffer, int blen, uint *pclen, ref *pfile)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: lib_file_open
      Src: /src/libspectre/ghostscript/psi/zfile.c:1290,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile.c:1290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - pfpath
    - mem
    - fname
    argTypes:
    - gs_file_path_ptr
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1279
    functionDepth: 7
    functionLinenumber: 1279
    functionLinenumberEnd: 1297
    functionName: lib_fopen
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - lib_file_open
    - strlen
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      lib_fopen(const gs_file_path_ptr pfpath, const gs_memory_t *mem, const char
      *fname)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/psi/zfile.c:1305,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1308,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/psi/zfile.c:1309,1
    - Dst: make_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1312,1
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zfile.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - str
    - len
    - pfile
    - imem
    argTypes:
    - byte*
    - uint
    - ref*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1302
    functionDepth: 2
    functionLinenumber: 1302
    functionLinenumberEnd: 1316
    functionName: file_read_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - file_alloc_stream
    - make_file
    - return_error
    - sread_string
    - imemory_space
    linkageType: ''
    returnType: int
    signature: int file_read_string(const byte *str, uint len, ref *pfile, gs_ref_memory_t
      *imem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/zfile.c:1322,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - st
    - str
    argTypes:
    - stream_state*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1319
    functionDepth: 1
    functionLinenumber: 1319
    functionLinenumberEnd: 1327
    functionName: filter_report_error
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - strncpy
    linkageType: ''
    returnType: int
    signature: int filter_report_error(stream_state * st, const char *str)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: gs_struct_type_size
      Src: /src/libspectre/ghostscript/psi/zfile.c:1336,1
    - Dst: s_alloc_state
      Src: /src/libspectre/ghostscript/psi/zfile.c:1341,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1343,1
    - Dst: file_open_stream
      Src: /src/libspectre/ghostscript/psi/zfile.c:1345,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:1348,1
    - Dst: s_std_init
      Src: /src/libspectre/ghostscript/psi/zfile.c:1351,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfile.c:1361,1
    - Dst: s_init_state
      Src: /src/libspectre/ghostscript/psi/zfile.c:1363,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:1369,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfile.c:1370,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfile.c:1374,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 7
    argNames:
    - file_access
    - buffer_size
    - pfile
    - procs
    - templat
    - st
    - mem
    argTypes:
    - char*
    - uint
    - ref*
    - stream_procs*
    - stream_template*
    - stream_state*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1376
      start: 1330
    functionDepth: 2
    functionLinenumber: 1330
    functionLinenumberEnd: 1376
    functionName: filter_open
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 0
    functionsReached:
    - make_stream_file
    - s_init_state
    - gs_struct_type_size
    - s_alloc_state
    - file_open_stream
    - memcpy
    - s_std_init
    - return_error
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int filter_open(const char *file_access, uint buffer_size, ref * pfile,\n
      \           const stream_procs * procs, const stream_template * templat,\n            const
      stream_state * st, gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: file_is_valid
      Src: /src/libspectre/ghostscript/psi/zfile.c:1385,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfile.c:1386,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile.c:1387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - pfile
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1390
    functionName: file_close
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile.c
    functionUses: 2
    functionsReached:
    - return_error
    - sclose
    - file_is_valid
    linkageType: ''
    returnType: int
    signature: int file_close(ref * pfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    functionName: public_st_ref_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/isdata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_ref_stack()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/igc.c:126,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/igc.c:127,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/psi/igc.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mem
    - str
    argTypes:
    - gs_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: end_phase
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - dmlprintf1
    - dmflush
    linkageType: ''
    returnType: void
    signature: void end_phase(const gs_memory_t *mem, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sp
    - pms
    argTypes:
    - ms_entry*
    - gc_mark_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: depth_dots
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      depth_dots(const ms_entry * sp, const gc_mark_stack * pms)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_validate_memory
      Src: /src/libspectre/ghostscript/psi/igc.c:151,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - spaces
    - max_space
    - gcst
    argTypes:
    - gs_ref_memory_t**
    - int
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: gc_validate_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - ialloc_validate_memory
    linkageType: ''
    returnType: void
    signature: void gc_validate_spaces(gs_ref_memory_t **spaces, int max_space, gc_state_t
      *gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    functionName: end_phase
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: end_phase(mem,str)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/psi/igc.c:243,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:249,1
    - Dst: gc_validate_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:255,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:257,1
    - Dst: for_collected_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:267,1
    - Dst: for_space_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:268,1
    - Dst: gc_objects_clear_marks
      Src: /src/libspectre/ghostscript/psi/igc.c:269,1
    - Dst: gc_strings_set_marks
      Src: /src/libspectre/ghostscript/psi/igc.c:270,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:273,1
    - Dst: if_debug_root
      Src: /src/libspectre/ghostscript/psi/igc.c:282,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:286,1
    - Dst: get_global_op_array
      Src: /src/libspectre/ghostscript/psi/igc.c:289,1
    - Dst: get_local_op_array
      Src: /src/libspectre/ghostscript/psi/igc.c:290,1
    - Dst: gc_unmark_names
      Src: /src/libspectre/ghostscript/psi/igc.c:291,1
    - Dst: gc_init_mark_stack
      Src: /src/libspectre/ghostscript/psi/igc.c:296,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:306,1
    - Dst: gc_init_mark_stack
      Src: /src/libspectre/ghostscript/psi/igc.c:315,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igc.c:320,1
    - Dst: if_debug_root
      Src: /src/libspectre/ghostscript/psi/igc.c:337,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:338,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:341,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:346,1
    - Dst: gc_trace_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:347,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:353,1
    - Dst: gc_rescan_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:354,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:357,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/igc.c:371,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/psi/igc.c:373,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:379,1
    - Dst: gc_trace_finish
      Src: /src/libspectre/ghostscript/psi/igc.c:382,1
    - Dst: names_trace_finish
      Src: /src/libspectre/ghostscript/psi/igc.c:383,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:385,1
    - Dst: alloc_save__filter_changes
      Src: /src/libspectre/ghostscript/psi/igc.c:396,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:403,1
    - Dst: gc_objects_clear_marks
      Src: /src/libspectre/ghostscript/psi/igc.c:404,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:406,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:408,1
    - Dst: gc_clear_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:409,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:411,1
    - Dst: for_collected_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:422,1
    - Dst: gs_enable_free
      Src: /src/libspectre/ghostscript/psi/igc.c:423,1
    - Dst: for_collected_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:430,1
    - Dst: gc_objects_set_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:431,1
    - Dst: gc_strings_set_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:432,1
    - Dst: for_collected_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:439,1
    - Dst: gs_enable_free
      Src: /src/libspectre/ghostscript/psi/igc.c:440,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:443,1
    - Dst: for_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:448,1
    - Dst: gc_do_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:449,1
    - Dst: for_collected_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:451,1
    - Dst: gc_do_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:452,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:454,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:457,1
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igc.c:463,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:468,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:473,1
    - Dst: for_mem_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:479,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:480,1
    - Dst: gc_objects_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:481,1
    - Dst: gc_strings_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:482,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:483,1
    - Dst: ialloc_reset_free
      Src: /src/libspectre/ghostscript/psi/igc.c:486,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:490,1
    - Dst: gc_free_empty_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:496,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:500,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:532,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/igc.c:535,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:541,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:546,1
    - Dst: for_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:552,1
    - Dst: gs_unregister_root
      Src: /src/libspectre/ghostscript/psi/igc.c:553,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:556,1
    - Dst: gc_validate_spaces
      Src: /src/libspectre/ghostscript/psi/igc.c:562,1
    - Dst: end_phase
      Src: /src/libspectre/ghostscript/psi/igc.c:564,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 172
    argCount: 2
    argNames:
    - pspaces
    - global
    argTypes:
    - vm_spaces*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 567
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 567
    functionName: gs_gc_reclaim
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gc_objects_compact
    - gc_do_reloc
    - gc_strings_set_reloc
    - gc_init_mark_stack
    - alloc_save__filter_changes
    - names_trace_finish
    - gs_memory_status
    - gc_objects_clear_marks
    - ialloc_reset_free
    - gc_strings_compact
    - if_debug2m
    - gs_alloc_fill
    - gc_trace_finish
    - gs_enable_free
    - if_debug_clump
    - gs_free_object
    - gc_objects_set_reloc
    - for_collected_spaces
    - if_debug_root
    - get_local_op_array
    - gc_clear_reloc
    - gc_free_empty_clumps
    - gs_unregister_root
    - for_mem_clumps
    - gs_register_struct_root
    - for_collected_clumps
    - gc_trace
    - gc_strings_set_marks
    - end_phase
    - if_debug3m
    - gc_rescan_clump
    - for_spaces
    - for_space_clumps
    - gc_trace_clump
    - gc_validate_spaces
    - igc_reloc_refs
    - get_global_op_array
    - gc_unmark_names
    - for_clumps
    linkageType: ''
    returnType: void
    signature: void gs_gc_reclaim(vm_spaces * pspaces, bool global)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 210
    functionName: for_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_spaces(i, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - i
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 212
    functionName: for_collected_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_collected_spaces(i)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - i
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    functionName: for_space_mems
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_space_mems(i, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - mem
    - ','
    - cp
    - ','
    - sw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 216
    functionName: for_mem_clumps
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_mem_clumps(mem, cp, sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - i
    - ','
    - mem
    - ','
    - cp
    - ','
    - sw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: for_space_clumps
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_space_clumps(i, mem, cp, sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - i
    - ','
    - n
    - ','
    - mem
    - ','
    - cp
    - ','
    - sw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    functionName: for_clumps
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_clumps(i, n, mem, cp, sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - i
    - ','
    - mem
    - ','
    - cp
    - ','
    - sw
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    functionName: for_collected_clumps
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_collected_clumps(i, mem, cp, sw)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - i
    - ','
    - n
    - ','
    - mem
    - ','
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 225
    functionName: for_roots
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: for_roots(i, n, mem, rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/psi/igc.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 247
    functionName: for_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gs_register_struct_root
    linkageType: ''
    returnType: void
    signature: void for_spaces(ispace, max_trace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_root
      Src: /src/libspectre/ghostscript/psi/igc.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 284
    functionName: for_roots
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - if_debug_root
    linkageType: ''
    returnType: void
    signature: void for_roots(ispace, max_trace, mem, rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_root
      Src: /src/libspectre/ghostscript/psi/igc.c:337,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 339
    functionName: for_roots
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gc_trace
    - if_debug_root
    linkageType: ''
    returnType: void
    signature: void for_roots(ispace, max_trace, mem, rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: alloc_save__filter_changes
      Src: /src/libspectre/ghostscript/psi/igc.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 397
    functionName: for_collected_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - alloc_save__filter_changes
    linkageType: ''
    returnType: void
    signature: void for_collected_spaces(i)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:457,1
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igc.c:463,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 471
    functionName: for_roots
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - if_debug3m
    - igc_reloc_refs
    linkageType: ''
    returnType: void
    signature: void for_roots(ispace, max_trace, mem, rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for_mem_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:479,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:480,1
    - Dst: gc_objects_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:481,1
    - Dst: gc_strings_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:482,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:483,1
    - Dst: ialloc_reset_free
      Src: /src/libspectre/ghostscript/psi/igc.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 488
    functionName: for_collected_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_objects_compact
    - ialloc_reset_free
    - gc_strings_compact
    - for_mem_clumps
    - if_debug_clump
    linkageType: ''
    returnType: void
    signature: void for_collected_spaces(ispace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: for_mem_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:479,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:480,1
    - Dst: gc_objects_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:481,1
    - Dst: gc_strings_compact
      Src: /src/libspectre/ghostscript/psi/igc.c:482,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:483,1
    - Dst: ialloc_reset_free
      Src: /src/libspectre/ghostscript/psi/igc.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 487
    functionName: for_space_mems
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gc_objects_compact
    - ialloc_reset_free
    - gc_strings_compact
    - for_mem_clumps
    - if_debug_clump
    linkageType: ''
    returnType: void
    signature: void for_space_mems(ispace, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_free_empty_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 498
    functionName: for_collected_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_free_empty_clumps
    linkageType: ''
    returnType: void
    signature: void for_collected_spaces(ispace)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_free_empty_clumps
      Src: /src/libspectre/ghostscript/psi/igc.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 497
    functionName: for_space_mems
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gc_free_empty_clumps
    linkageType: ''
    returnType: void
    signature: void for_space_mems(ispace, mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:532,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/igc.c:535,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 544
    functionName: for_collected_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - if_debug3m
    - gs_memory_status
    linkageType: ''
    returnType: void
    signature: void for_collected_spaces(ispace)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pre
    - ','
    - cp
    - ','
    - gcst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 575
    functionName: debug_check_object
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_check_object(pre, cp, gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pre
    - ','
    - cp
    - ','
    - gcst
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: debug_check_object
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: debug_check_object(pre, cp, gcst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: o_set_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - pep
    - ignored
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 589
    functionName: ptr_struct_unmark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - o_set_unmarked
    linkageType: ''
    returnType: void
    signature: void ptr_struct_unmark(enum_ptr_t *pep, gc_state_t * ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/libspectre/ghostscript/psi/igc.c:595,1
    - Dst: gc_string_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pep
    - gcst
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 596
    functionName: ptr_string_unmark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - discard
    - gc_string_mark
    linkageType: ''
    returnType: void
    signature: void ptr_string_unmark(enum_ptr_t *pep, gc_state_t * gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - pep
    - gcst
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 603
    functionName: ptr_name_index_unmark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ptr_name_index_unmark(enum_ptr_t *pep, gc_state_t * gcst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:609,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:610,1
    - Dst: debug_check_object
      Src: /src/libspectre/ghostscript/psi/igc.c:616,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:618,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:619,1
    - Dst: o_set_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:621,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mem
    - cp
    argTypes:
    - gs_memory_t*
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 625
    functionName: gc_objects_clear_marks
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - SCAN_CLUMP_OBJECTS
    - if_debug3m
    - struct_type_name_string
    - debug_check_object
    - o_set_unmarked
    - if_debug_clump
    linkageType: ''
    returnType: void
    signature: void gc_objects_clear_marks(const gs_memory_t *mem, clump_t * cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: names_unmark_all
      Src: /src/libspectre/ghostscript/psi/igc.c:635,1
    - Dst: names_mark_index
      Src: /src/libspectre/ghostscript/psi/igc.c:639,1
    - Dst: names_mark_index
      Src: /src/libspectre/ghostscript/psi/igc.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - nt
    - op_array_table_global
    - op_array_table_local
    argTypes:
    - name_table*
    - op_array_table*
    - op_array_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 646
    functionName: gc_unmark_names
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - names_unmark_all
    - names_mark_index
    linkageType: ''
    returnType: void
    signature: "void gc_unmark_names(name_table * nt, op_array_table *op_array_table_global,\n
      \               op_array_table *op_array_table_local)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pms
    - count
    argTypes:
    - gc_mark_stack*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 651
    functionDepth: 0
    functionLinenumber: 651
    functionLinenumberEnd: 659
    functionName: gc_init_mark_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void gc_init_mark_stack(gc_mark_stack * pms, uint count)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gcst_get_memory_ptr
      Src: /src/libspectre/ghostscript/psi/igc.c:671,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:676,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:679,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igc.c:685,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igc.c:694,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igc.c:695,1
    - Dst: r_clear_pmark
      Src: /src/libspectre/ghostscript/psi/igc.c:696,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:697,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igc.c:704,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igc.c:705,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:706,1
    - Dst: o_is_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:711,1
    - Dst: struct_proc_clear_marks
      Src: /src/libspectre/ghostscript/psi/igc.c:712,1
    - Dst: o_is_untraced
      Src: /src/libspectre/ghostscript/psi/igc.c:716,1
    - Dst: o_set_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:717,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:720,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 3
    argNames:
    - cp
    - pstate
    - pmstack
    argTypes:
    - clump_t*
    - gc_state_t*
    - gc_mark_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 722
    functionName: gc_rescan_clump
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - r_has_attr
    - gcst_get_memory_ptr
    - SCAN_CLUMP_OBJECTS
    - struct_proc_clear_marks
    - o_is_untraced
    - o_is_unmarked
    - r_has_pmark
    - r_is_packed
    - r_clear_pmark
    - r_clear_attrs
    - o_set_unmarked
    - if_debug2m
    - if_debug_clump
    - gc_trace
    linkageType: ''
    returnType: int
    signature: int gc_rescan_clump(clump_t * cp, gc_state_t * pstate, gc_mark_stack
      * pmstack)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:739,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:740,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igc.c:743,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igc.c:752,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/igc.c:757,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igc.c:758,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:759,1
    - Dst: o_is_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:764,1
    - Dst: o_is_untraced
      Src: /src/libspectre/ghostscript/psi/igc.c:765,1
    - Dst: o_set_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:766,1
    - Dst: struct_proc_clear_marks
      Src: /src/libspectre/ghostscript/psi/igc.c:768,1
    - Dst: gc_trace
      Src: /src/libspectre/ghostscript/psi/igc.c:775,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 4
    argNames:
    - mem
    - cp
    - pstate
    - pmstack
    argTypes:
    - gs_memory_t*
    - clump_t*
    - gc_state_t*
    - gc_mark_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 730
    functionDepth: 1
    functionLinenumber: 730
    functionLinenumberEnd: 778
    functionName: gc_trace_clump
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_trace
    - SCAN_CLUMP_OBJECTS
    - o_is_untraced
    - struct_proc_clear_marks
    - o_is_unmarked
    - r_is_packed
    - o_set_unmarked
    - r_clear_attrs
    - if_debug2m
    - if_debug_clump
    - r_space
    linkageType: ''
    returnType: int
    signature: int gc_trace_clump(const gs_memory_t *mem, clump_t * cp, gc_state_t
      * pstate, gc_mark_stack * pmstack)
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: struct_proc_enum_ptrs
      Src: /src/libspectre/ghostscript/psi/igc.c:842,1
    - Dst: debug_check_object
      Src: /src/libspectre/ghostscript/psi/igc.c:852,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/psi/igc.c:853,1
    - Dst: depth_dots
      Src: /src/libspectre/ghostscript/psi/igc.c:854,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:855,1
    - Dst: gcst_get_memory_ptr
      Src: /src/libspectre/ghostscript/psi/igc.c:860,1
    - Dst: pre_obj_contents_size
      Src: /src/libspectre/ghostscript/psi/igc.c:860,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/igc.c:863,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igc.c:872,1
    - Dst: ptr_struct_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:879,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:912,1
    - Dst: depth_dots
      Src: /src/libspectre/ghostscript/psi/igc.c:913,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igc.c:914,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igc.c:915,1
    - Dst: r_set_pmark
      Src: /src/libspectre/ghostscript/psi/igc.c:916,1
    - Dst: r_packed_is_name
      Src: /src/libspectre/ghostscript/psi/igc.c:918,1
    - Dst: packed_name_index
      Src: /src/libspectre/ghostscript/psi/igc.c:919,1
    - Dst: mark_name
      Src: /src/libspectre/ghostscript/psi/igc.c:921,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igc.c:928,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/igc.c:932,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/igc.c:934,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igc.c:939,1
    - Dst: ptr_struct_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:950,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igc.c:970,1
    - Dst: mark_name
      Src: /src/libspectre/ghostscript/psi/igc.c:996,1
    - Dst: names_index
      Src: /src/libspectre/ghostscript/psi/igc.c:996,1
    - Dst: gc_string_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1000,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igc.c:1000,1
    - Dst: gc_extend_stack
      Src: /src/libspectre/ghostscript/psi/igc.c:1016,1
    - Dst: new_added::new_added
      Src: /src/libspectre/ghostscript/psi/igc.c:1019,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 210
    argCount: 3
    argNames:
    - rp
    - pstate
    - pmstack
    argTypes:
    - gs_gc_root_t*
    - gc_state_t*
    - gc_mark_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 788
    functionDepth: 1
    functionLinenumber: 788
    functionLinenumberEnd: 1037
    functionName: gc_trace
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 4
    functionsReached:
    - r_packed_is_name
    - if_debug1m
    - r_has_attr
    - struct_proc_enum_ptrs
    - r_has_pmark
    - debug_check_object
    - mark_name
    - pre_obj_contents_size
    - r_type
    - gcst_get_memory_ptr
    - names_index
    - gc_extend_stack
    - if_debug4m
    - r_set_pmark
    - r_space
    - new_added::new_added
    - packed_name_index
    - gc_string_mark
    - ptr_struct_mark
    - r_set_attrs
    - struct_type_name_string
    - if_debug0m
    - if_debug3m
    - r_is_packed
    - depth_dots
    - r_size
    linkageType: ''
    returnType: int
    signature: int gc_trace(gs_gc_root_t * rp, gc_state_t * pstate, gc_mark_stack
      * pmstack)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 803
    functionDepth: 0
    functionLinenumber: 803
    functionLinenumberEnd: 811
    functionName: mark_name
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: mark_name(nidx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/psi/igc.c:1048,1
    - Dst: gc_locate
      Src: /src/libspectre/ghostscript/psi/igc.c:1058,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/psi/igc.c:1063,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/psi/igc.c:1065,1
    - Dst: gc_init_mark_stack
      Src: /src/libspectre/ghostscript/psi/igc.c:1073,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 2
    argNames:
    - pms
    - pstate
    argTypes:
    - gc_mark_stack*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1078
      start: 1040
    functionDepth: 1
    functionLinenumber: 1040
    functionLinenumberEnd: 1078
    functionName: gc_extend_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_locate
    - gs_alloc_bytes_immovable
    - gs_abort
    - lprintf1
    - gc_init_mark_stack
    linkageType: ''
    returnType: int
    signature: int gc_extend_stack(gc_mark_stack * pms, gc_state_t * pstate)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: o_is_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:1089,1
    - Dst: o_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1091,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pep
    - ignored
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1093
    functionName: ptr_struct_mark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - o_is_unmarked
    - o_mark
    linkageType: ''
    returnType: bool
    signature: bool ptr_struct_mark(enum_ptr_t *pep, gc_state_t * ignored)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gc_string_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pep
    - gcst
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1100
    functionName: ptr_string_mark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - gc_string_mark
    linkageType: ''
    returnType: bool
    signature: bool ptr_string_mark(enum_ptr_t *pep, gc_state_t * gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: names_mark_index
      Src: /src/libspectre/ghostscript/psi/igc.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pep
    - gcst
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1103
    functionDepth: 1
    functionLinenumber: 1103
    functionLinenumberEnd: 1107
    functionName: ptr_name_index_mark
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - names_mark_index
    linkageType: ''
    returnType: bool
    signature: bool ptr_name_index_mark(enum_ptr_t *pep, gc_state_t * gcst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: names_next_valid_index
      Src: /src/libspectre/ghostscript/psi/igc.c:1117,1
    - Dst: names_index_string_inline
      Src: /src/libspectre/ghostscript/psi/igc.c:1118,1
    - Dst: gc_string_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1124,1
    - Dst: names_index_sub_table
      Src: /src/libspectre/ghostscript/psi/igc.c:1128,1
    - Dst: names_index_string_sub_table
      Src: /src/libspectre/ghostscript/psi/igc.c:1129,1
    - Dst: ptr_struct_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1131,1
    - Dst: ptr_struct_mark
      Src: /src/libspectre/ghostscript/psi/igc.c:1132,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - pstate
    argTypes:
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1110
    functionDepth: 2
    functionLinenumber: 1110
    functionLinenumberEnd: 1136
    functionName: gc_trace_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_string_mark
    - names_index_string_inline
    - ptr_struct_mark
    - names_index_sub_table
    - names_index_string_sub_table
    - names_next_valid_index
    linkageType: ''
    returnType: bool
    signature: bool gc_trace_finish(gc_state_t * pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/psi/igc.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1141
    functionDepth: 1
    functionLinenumber: 1141
    functionLinenumberEnd: 1151
    functionName: gc_init_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - offset_of
    linkageType: ''
    returnType: void
    signature: void gc_init_reloc(clump_t * cp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gc_init_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:1159,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:1160,1
    - Dst: o_set_untraced
      Src: /src/libspectre/ghostscript/psi/igc.c:1167,1
    - Dst: gc_strings_clear_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:1171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - cp
    argTypes:
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1172
      start: 1154
    functionDepth: 2
    functionLinenumber: 1154
    functionLinenumberEnd: 1172
    functionName: gc_clear_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - gc_strings_clear_reloc
    - gc_init_reloc
    - o_set_untraced
    - SCAN_CLUMP_OBJECTS
    linkageType: ''
    returnType: void
    signature: void gc_clear_reloc(clump_t * cp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:1183,1
    - Dst: gc_init_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:1184,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:1185,1
    - Dst: o_is_unmarked
      Src: /src/libspectre/ghostscript/psi/igc.c:1191,1
    - Dst: obj_align_round
      Src: /src/libspectre/ghostscript/psi/igc.c:1194,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igc.c:1196,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:1197,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:1204,1
    - Dst: debug_check_object
      Src: /src/libspectre/ghostscript/psi/igc.c:1207,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igc.c:1213,1
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:1214,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - gcst
    - cp
    argTypes:
    - gc_state_t*
    - clump_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1217
    functionName: gc_objects_set_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - if_debug1m
    - SCAN_CLUMP_OBJECTS
    - gc_init_reloc
    - o_is_unmarked
    - if_debug3m
    - struct_type_name_string
    - debug_check_object
    - if_debug2m
    - if_debug_clump
    - obj_align_round
    linkageType: ''
    returnType: void
    signature: void gc_objects_set_reloc(gc_state_t * gcst, clump_t * cp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: if_debug_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:1227,1
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:1228,1
    - Dst: o_is_untraced
      Src: /src/libspectre/ghostscript/psi/igc.c:1237,1
    - Dst: struct_proc_reloc_ptrs
      Src: /src/libspectre/ghostscript/psi/igc.c:1240,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igc.c:1243,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:1245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - cp
    - mem
    - pstate
    argTypes:
    - clump_t*
    - gs_ref_memory_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1222
    functionDepth: 1
    functionLinenumber: 1222
    functionLinenumberEnd: 1254
    functionName: gc_do_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 1
    functionsReached:
    - SCAN_CLUMP_OBJECTS
    - o_is_untraced
    - if_debug3m
    - struct_proc_reloc_ptrs
    - struct_type_name_string
    - if_debug_clump
    linkageType: ''
    returnType: void
    signature: void gc_do_reloc(clump_t * cp, gs_ref_memory_t * mem, gc_state_t *
      pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/psi/igc.c:1262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - obj
    - cname
    - robj
    argTypes:
    - void*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1259
    functionDepth: 1
    functionLinenumber: 1259
    functionLinenumberEnd: 1265
    functionName: print_reloc_proc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - if_debug3
    linkageType: ''
    returnType: void
    signature: 'void *

      print_reloc_proc(const void *obj, const char *cname, const void *robj)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: discard
      Src: /src/libspectre/ghostscript/psi/igc.c:1276,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:1276,1
    - Dst: debug_check_object
      Src: /src/libspectre/ghostscript/psi/igc.c:1279,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/psi/igc.c:1292,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/psi/igc.c:1294,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igc.c:1318,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:1318,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - obj
    - gcst
    argTypes:
    - void*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1321
    functionName: igc_reloc_struct_ptr
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - print_reloc
    - discard
    - lprintf2
    - struct_type_name_string
    - gs_abort
    - debug_check_object
    linkageType: ''
    returnType: void
    signature: 'void *

      igc_reloc_struct_ptr(const void /*obj_header_t */ *obj, gc_state_t * gcst)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: SCAN_CLUMP_OBJECTS
      Src: /src/libspectre/ghostscript/psi/igc.c:1334,1
    - Dst: debug_check_object
      Src: /src/libspectre/ghostscript/psi/igc.c:1341,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/psi/igc.c:1342,1
    - Dst: struct_type_name_string
      Src: /src/libspectre/ghostscript/psi/igc.c:1344,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/psi/igc.c:1348,1
    - Dst: obj_size_round
      Src: /src/libspectre/ghostscript/psi/igc.c:1353,1
    - Dst: gs_alloc_fill
      Src: /src/libspectre/ghostscript/psi/igc.c:1358,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - cp
    - gcst
    argTypes:
    - clump_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1362
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1362
    functionName: gc_objects_compact
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 3
    functionsReached:
    - SCAN_CLUMP_OBJECTS
    - memmove
    - struct_type_name_string
    - debug_check_object
    - if_debug4m
    - gs_alloc_fill
    - obj_size_round
    linkageType: ''
    returnType: void
    signature: void gc_objects_compact(clump_t * cp, gc_state_t * gcst)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: alloc_free_clump
      Src: /src/libspectre/ghostscript/psi/igc.c:1374,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 2
    argNames:
    - cp
    - arg
    argTypes:
    - clump_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1379
      start: 1366
    functionDepth: 4
    functionLinenumber: 1366
    functionLinenumberEnd: 1379
    functionName: free_if_empty
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 0
    functionsReached:
    - alloc_free_clump
    linkageType: ''
    returnType: splay_app_result_t
    signature: splay_app_result_t free_if_empty(clump_t *cp, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: clump_splay_app
      Src: /src/libspectre/ghostscript/psi/igc.c:1387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1388
    functionName: gc_free_empty_clumps
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 3
    functionsReached:
    - clump_splay_app
    linkageType: ''
    returnType: void
    signature: void gc_free_empty_clumps(gs_ref_memory_t * mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - gcst
    argTypes:
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1395
      start: 1390
    functionDepth: 0
    functionLinenumber: 1390
    functionLinenumberEnd: 1395
    functionName: gcst_get_memory_ptr
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: gs_memory_t * gcst_get_memory_ptr(gc_state_t *gcst)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/zcfont.c:49,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/zcfont.c:51,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zcfont.c:55,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcfont.c:56,1
    - Dst: op_show_setup
      Src: /src/libspectre/ghostscript/psi/zcfont.c:58,1
    - Dst: gs_cshow_begin
      Src: /src/libspectre/ghostscript/psi/zcfont.c:59,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zcfont.c:59,1
    - Dst: op_show_finish_setup
      Src: /src/libspectre/ghostscript/psi/zcfont.c:62,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zcfont.c:63,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcfont.c:67,1
    - Dst: cshow_continue
      Src: /src/libspectre/ghostscript/psi/zcfont.c:68,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 35
    functionDepth: 8
    functionLinenumber: 35
    functionLinenumberEnd: 69
    functionName: zcshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcfont.c
    functionUses: 0
    functionsReached:
    - ifree_object
    - gs_cshow_begin
    - cshow_continue
    - check_op
    - r_is_proc
    - op_show_setup
    - op_show_finish_setup
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zcshow(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zcfont.c:77,1
    - Dst: gs_text_process
      Src: /src/libspectre/ghostscript/psi/zcfont.c:78,1
    - Dst: op_show_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zcfont.c:80,1
    - Dst: make_op_estack
      Src: /src/libspectre/ghostscript/psi/zcfont.c:82,1
    - Dst: gs_text_current_font
      Src: /src/libspectre/ghostscript/psi/zcfont.c:89,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:90,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:92,1
    - Dst: pfont_dict
      Src: /src/libspectre/ghostscript/psi/zcfont.c:92,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:93,1
    - Dst: pfont_dict
      Src: /src/libspectre/ghostscript/psi/zcfont.c:93,1
    - Dst: gs_text_current_width
      Src: /src/libspectre/ghostscript/psi/zcfont.c:96,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:110,1
    - Dst: gs_makefont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:111,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:114,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:122,1
    - Dst: gs_makefont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:123,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zcfont.c:125,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcfont.c:129,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcfont.c:130,1
    - Dst: gs_text_current_char
      Src: /src/libspectre/ghostscript/psi/zcfont.c:130,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zcfont.c:131,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zcfont.c:132,1
    - Dst: make_struct
      Src: /src/libspectre/ghostscript/psi/zcfont.c:133,1
    - Dst: make_struct
      Src: /src/libspectre/ghostscript/psi/zcfont.c:134,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zcfont.c:135,1
    - Dst: gs_set_currentfont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:137,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 141
    functionName: cshow_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zcfont.c
    functionUses: 1
    functionsReached:
    - gs_text_current_font
    - gs_makefont
    - make_op_estack
    - make_int
    - make_struct
    - gs_set_currentfont
    - r_space
    - push_op_estack
    - gs_text_current_width
    - push
    - make_real
    - gs_text_current_char
    - gs_rootfont
    - op_show_continue_dispatch
    - pfont_dict
    - check_estack
    - ialloc_set_space
    - gs_text_process
    linkageType: ''
    returnType: int
    signature: int cshow_continue(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setfont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:146,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zcfont.c:146,1
    - Dst: gs_set_currentfont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:147,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zcfont.c:147,1
    - Dst: cshow_continue
      Src: /src/libspectre/ghostscript/psi/zcfont.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 142
    functionDepth: 4
    functionLinenumber: 142
    functionLinenumberEnd: 149
    functionName: cshow_restore_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zcfont.c
    functionUses: 0
    functionsReached:
    - gs_set_currentfont
    - r_ptr
    - cshow_continue
    - gs_setfont
    linkageType: ''
    returnType: int
    signature: int cshow_restore_font(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcfont.c:157,1
    - Dst: pfont_dict
      Src: /src/libspectre/ghostscript/psi/zcfont.c:158,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/psi/zcfont.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 160
    functionName: zrootfont
    functionSourceFile: /src/libspectre/ghostscript/psi/zcfont.c
    functionUses: 0
    functionsReached:
    - pfont_dict
    - gs_rootfont
    - push
    linkageType: ''
    returnType: int
    signature: int zrootfont(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libspectre/ghostscript/psi/dpmain.c:99,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dpmain.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 101
    functionName: gs_addmess
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fflush
    - fputs
    linkageType: ''
    returnType: void
    signature: void gs_addmess(char *str)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DosFreeModule
      Src: /src/libspectre/ghostscript/psi/dpmain.c:117,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:119,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:120,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:121,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 125
    functionName: gs_free_dll
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - gs_sprintf
    - DosFreeModule
    - gs_addmess
    linkageType: ''
    returnType: BOOL
    signature: BOOL gs_free_dll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_dll
      Src: /src/libspectre/ghostscript/psi/dpmain.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 127
    functionDepth: 6
    functionLinenumber: 127
    functionLinenumberEnd: 133
    functionName: gs_load_dll_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - gs_free_dll
    linkageType: ''
    returnType: void
    signature: void gs_load_dll_cleanup(void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: DosGetInfoBlocks
      Src: /src/libspectre/ghostscript/psi/dpmain.c:152,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:153,1
    - Dst: DosQueryModuleName
      Src: /src/libspectre/ghostscript/psi/dpmain.c:157,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:159,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:162,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:169,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:170,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dpmain.c:173,1
    - Dst: DosLoadModule
      Src: /src/libspectre/ghostscript/psi/dpmain.c:174,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:178,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/dpmain.c:181,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:182,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/dpmain.c:187,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:191,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:192,1
    - Dst: DosLoadModule
      Src: /src/libspectre/ghostscript/psi/dpmain.c:195,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:202,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:203,1
    - Dst: DosLoadModule
      Src: /src/libspectre/ghostscript/psi/dpmain.c:206,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:212,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:214,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:216,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:217,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:218,1
    - Dst: revision
      Src: /src/libspectre/ghostscript/psi/dpmain.c:222,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:223,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:224,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:225,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:230,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:231,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:232,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:236,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:238,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:239,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:240,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:243,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:245,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:246,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:247,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:250,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:252,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:253,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:254,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:257,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:259,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:260,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:261,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:264,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:266,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:267,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:268,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:271,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:274,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:275,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:276,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:279,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:281,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:282,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:283,1
    - Dst: DosQueryProcAddr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:286,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:288,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:289,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:290,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:294,1
    - Dst: gs_addmess
      Src: /src/libspectre/ghostscript/psi/dpmain.c:296,1
    - Dst: gs_load_dll_cleanup
      Src: /src/libspectre/ghostscript/psi/dpmain.c:297,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 120
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 301
    functionName: gs_load_dll
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - DosQueryModuleName
    - strcat
    - DosLoadModule
    - strcpy
    - strrchr
    - gs_sprintf
    - fprintf
    - DosGetInfoBlocks
    - memset
    - revision
    - gs_load_dll_cleanup
    - gs_addmess
    - DosQueryProcAddr
    linkageType: ''
    returnType: BOOL
    signature: BOOL gs_load_dll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/libspectre/ghostscript/psi/dpmain.c:309,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/psi/dpmain.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 310
    functionName: gsdll_stdin
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - read
    - fileno
    linkageType: ''
    returnType: int
    signature: int gsdll_stdin(void *instance, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dpmain.c:315,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dpmain.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: gsdll_stdout
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 1
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stdout(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dpmain.c:323,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dpmain.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: gsdll_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stderr(void *instance, const char *str, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 361
    functionDepth: 0
    functionLinenumber: 361
    functionLinenumberEnd: 370
    functionName: image_find
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: IMAGE
    signature: 'IMAGE *

      image_find(void *handle, void *device)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:390,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:392,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:395,1
    - Dst: DosCreateQueue
      Src: /src/libspectre/ghostscript/psi/dpmain.c:396,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:397,1
    - Dst: DosGetInfoBlocks
      Src: /src/libspectre/ghostscript/psi/dpmain.c:401,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:402,1
    - Dst: DosQueryModuleName
      Src: /src/libspectre/ghostscript/psi/dpmain.c:406,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:408,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/psi/dpmain.c:412,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/dpmain.c:417,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:423,1
    - Dst: DosStartSession
      Src: /src/libspectre/ghostscript/psi/dpmain.c:449,1
    - Dst: DosStartSession
      Src: /src/libspectre/ghostscript/psi/dpmain.c:452,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:455,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:457,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:462,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 1
    argNames:
    - img
    argTypes:
    - IMAGE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 373
    functionDepth: 5
    functionLinenumber: 373
    functionLinenumberEnd: 465
    functionName: run_gspmdrv
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - DosQueryModuleName
    - strcat
    - DosStartSession
    - DosCreateQueue
    - strrchr
    - gs_sprintf
    - fprintf
    - DosGetInfoBlocks
    linkageType: ''
    returnType: int
    signature: int run_gspmdrv(IMAGE *img)
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 5
    argNames:
    - format
    - index
    - r
    - g
    - b
    argTypes:
    - unsigned int
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 467
    functionDepth: 0
    functionLinenumber: 467
    functionLinenumberEnd: 519
    functionName: image_color
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void image_color(unsigned int format, int index,\n    unsigned char
      *r, unsigned char *g, unsigned char *b)"
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 1
    argNames:
    - format
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 521
    functionDepth: 0
    functionLinenumber: 521
    functionLinenumberEnd: 553
    functionName: image_palette_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int image_palette_size(int format)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:569,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:570,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:592,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dpmain.c:595,1
    - Dst: DosGetInfoBlocks
      Src: /src/libspectre/ghostscript/psi/dpmain.c:606,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:607,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:611,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:614,1
    - Dst: DosCreateEventSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:615,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:616,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:621,1
    - Dst: DosCreateMutexSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:622,1
    - Dst: DosCloseEventSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:623,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:624,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:631,1
    - Dst: DosAllocSharedMem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:632,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:634,1
    - Dst: DosSetMem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:640,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:641,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:642,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:665,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 557
    functionDepth: 5
    functionLinenumber: 557
    functionLinenumberEnd: 668
    functionName: display_open
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 1
    functionsReached:
    - DosCloseEventSem
    - DosCreateEventSem
    - fputc
    - DosSetMem
    - malloc
    - gs_sprintf
    - DosCreateMutexSem
    - fprintf
    - DosGetInfoBlocks
    - memset
    - DosAllocSharedMem
    - DosFreeMem
    linkageType: ''
    returnType: int
    signature: int display_open(void *handle, void *device)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:680,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:681,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:683,1
    - Dst: DosStopSession
      Src: /src/libspectre/ghostscript/psi/dpmain.c:687,1
    - Dst: DosReadQueue
      Src: /src/libspectre/ghostscript/psi/dpmain.c:692,1
    - Dst: DosCloseQueue
      Src: /src/libspectre/ghostscript/psi/dpmain.c:695,1
    - Dst: DosCloseEventSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:700,1
    - Dst: DosCloseMutexSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:701,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:705,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 708
    functionName: display_preclose
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - DosCloseEventSem
    - fputc
    - DosCloseMutexSem
    - DosCloseQueue
    - image_find
    - fprintf
    - DosStopSession
    - DosReadQueue
    linkageType: ''
    returnType: int
    signature: int display_preclose(void *handle, void *device)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:715,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:716,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:718,1
    - Dst: DosFreeMem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:722,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 731
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - image_find
    - fputc
    - DosFreeMem
    - fprintf
    linkageType: ''
    returnType: int
    signature: int display_close(void *handle, void *device)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:739,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:740,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:743,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:760,1
    - Dst: DosRequestMutexSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:764,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:773,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 776
    functionName: display_presize
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - image_find
    - fputc
    - fprintf
    - DosRequestMutexSem
    linkageType: ''
    returnType: int
    signature: "int display_presize(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:787,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:788,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:791,1
    - Dst: image_palette_size
      Src: /src/libspectre/ghostscript/psi/dpmain.c:811,1
    - Dst: image_color
      Src: /src/libspectre/ghostscript/psi/dpmain.c:837,1
    - Dst: DosReleaseMutexSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:844,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:848,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:849,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:850,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:851,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:852,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:853,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:854,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:855,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:856,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:857,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:858,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:859,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:860,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:863,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 68
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 778
    functionDepth: 1
    functionLinenumber: 778
    functionLinenumberEnd: 866
    functionName: display_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fputc
    - image_color
    - DosReleaseMutexSem
    - image_palette_size
    - image_find
    - fprintf
    linkageType: ''
    returnType: int
    signature: "int display_size(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:873,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:874,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:876,1
    - Dst: run_gspmdrv
      Src: /src/libspectre/ghostscript/psi/dpmain.c:882,1
    - Dst: DosPostEventSem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:883,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:887,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 15
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 890
      start: 868
    functionDepth: 6
    functionLinenumber: 868
    functionLinenumberEnd: 890
    functionName: display_sync
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 1
    functionsReached:
    - fputc
    - image_find
    - fprintf
    - DosPostEventSem
    - run_gspmdrv
    linkageType: ''
    returnType: int
    signature: int display_sync(void *handle, void *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:896,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:897,1
    - Dst: display_sync
      Src: /src/libspectre/ghostscript/psi/dpmain.c:900,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:903,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 906
    functionName: display_page
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fputc
    - fprintf
    - display_sync
    linkageType: ''
    returnType: int
    signature: int display_page(void *handle, void *device, int copies, int flush)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:918,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:919,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dpmain.c:922,1
    - Dst: image_palette_size
      Src: /src/libspectre/ghostscript/psi/dpmain.c:933,1
    - Dst: DosSetMem
      Src: /src/libspectre/ghostscript/psi/dpmain.c:939,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:942,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:950,1
    - Dst: fputc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - handle
    - device
    - size
    argTypes:
    - void*
    - void*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 955
    functionName: display_memalloc
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fputc
    - DosSetMem
    - image_palette_size
    - image_find
    - fprintf
    linkageType: ''
    returnType: void
    signature: void *display_memalloc(void *handle, void *device, unsigned long size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - handle
    - device
    - mem
    argTypes:
    - void*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 957
    functionDepth: 0
    functionLinenumber: 957
    functionLinenumberEnd: 965
    functionName: display_memfree
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: int
    signature: int display_memfree(void *handle, void *device, void *mem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 967
    functionDepth: 0
    functionLinenumber: 967
    functionLinenumberEnd: 972
    functionName: display_update
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_update(void *handle, void *device,\n    int x, int y,
      int w, int h)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: DosQuerySysInfo
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1004,1
    - Dst: gs_load_dll
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1010,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1011,1
    - Dst: WinGetPS
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1019,1
    - Dst: GpiQueryDevice
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1020,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1021,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1022,1
    - Dst: DevQueryCaps
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1023,1
    - Dst: WinReleasePS
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1028,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1039,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1045,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1048,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1051,1
    - Dst: new_instance
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1053,1
    - Dst: set_stdio
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1054,1
    - Dst: set_display_callback
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1055,1
    - Dst: init_with_args
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1057,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1059,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1060,1
    - Dst: delete_instance
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1064,1
    - Dst: gs_free_dll
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1067,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dpmain.c:1069,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 58
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 992
    functionDepth: 8
    functionLinenumber: 992
    functionLinenumberEnd: 1085
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/psi/dpmain.c
    functionUses: 15
    functionsReached:
    - GpiQueryDevice
    - gs_sprintf
    - delete_instance
    - fprintf
    - set_stdio
    - gs_free_dll
    - run_string
    - gs_load_dll
    - new_instance
    - WinGetPS
    - malloc
    - free
    - DevQueryCaps
    - init_with_args
    - DosQuerySysInfo
    - WinReleasePS
    - memcpy
    - set_display_callback
    - exit
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:44,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:47,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:50,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:50,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i_ctx_p
    - npop
    - space
    argTypes:
    - i_ctx_t*
    - int
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: find_stream_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/zfdctd.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - r_space
    - max
    linkageType: ''
    returnType: gs_ref_memory_t
    signature: 'gs_ref_memory_t *

      find_stream_memory(i_ctx_t *i_ctx_p, int npop, uint *space)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:61,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:63,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - d
    - Buffer
    - Size
    argTypes:
    - void*
    - byte*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 68
    functionName: PS_DCTD_PassThrough
    functionSourceFile: /src/libspectre/ghostscript/psi/zfdctd.c
    functionUses: 0
    functionsReached:
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int PS_DCTD_PassThrough(void *d, byte *Buffer, int Size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:83,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:85,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:86,1
    - Dst: find_stream_memory
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:89,1
    - Dst: gs_alloc_struct_immovable
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:92,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:95,1
    - Dst: gs_jpeg_create_decompress
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:102,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:105,1
    - Dst: s_DCTD_put_params
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:107,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:110,1
    - Dst: filter_read
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:123,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:133,1
    - Dst: gs_jpeg_destroy
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:135,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zfdctd.c:136,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 138
    functionName: zDCTD
    functionSourceFile: /src/libspectre/ghostscript/psi/zfdctd.c
    functionUses: 0
    functionsReached:
    - filter_read
    - gs_jpeg_destroy
    - gs_alloc_struct_immovable
    - gs_jpeg_create_decompress
    - r_has_type
    - dict_param_list_read
    - iparam_list_release
    - find_stream_memory
    - gs_currentdevice
    - s_DCTD_put_params
    - return_error
    - r_space
    - dev_proc
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int zDCTD(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pds
    - ','
    - nidx
    - ','
    - htemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 52
    functionName: dstack_find_name_by_index_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/idstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dstack_find_name_by_index_inline(pds,nidx,htemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pds
    - ','
    - nidx
    - ','
    - htemp
    - ','
    - pvslot
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 61
    functionName: if_dstack_find_name_by_index_top
    functionSourceFile: /src/libspectre/ghostscript/psi/idstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_dstack_find_name_by_index_top(pds,nidx,htemp,pvslot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:35,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:37,1
    - Dst: dict_create
      Src: /src/libspectre/ghostscript/psi/zdict.c:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 39
    functionName: zdict
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - return_error
    - check_type
    - dict_create
    linkageType: ''
    returnType: int
    signature: int zdict(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:47,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:48,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zdict.c:49,1
    - Dst: dict_maxlength
      Src: /src/libspectre/ghostscript/psi/zdict.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 51
    functionName: zmaxlength
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - check_dict_read
    - dict_maxlength
    - check_type
    - make_int
    linkageType: ''
    returnType: int
    signature: int zmaxlength(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:59,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:60,1
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/zdict.c:62,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:68,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:74,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/zdict.c:75,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:76,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 78
    functionName: zbegin
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - ref_assign
    - ref_stack_extend
    - check_type
    - dict_set_top
    - pop
    - check_dict_read
    linkageType: ''
    returnType: int
    signature: int zbegin(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count_inline
      Src: /src/libspectre/ghostscript/psi/zdict.c:84,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:86,1
    - Dst: ref_stack_pop_block
      Src: /src/libspectre/ghostscript/psi/zdict.c:90,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/zdict.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: zend
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - return_error
    - dict_set_top
    - ref_stack_pop_block
    - ref_stack_count_inline
    linkageType: ''
    returnType: int
    signature: int zend(i_ctx_t *i_ctx_p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:110,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:113,1
    - Dst: dtop_can_store
      Src: /src/libspectre/ghostscript/psi/zdict.c:117,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:125,1
    - Dst: dtop_can_store
      Src: /src/libspectre/ghostscript/psi/zdict.c:131,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdict.c:132,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:137,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zdict.c:144,1
    - Dst: idict_put
      Src: /src/libspectre/ghostscript/psi/zdict.c:145,1
    - Dst: alloc_save_change
      Src: /src/libspectre/ghostscript/psi/zdict.c:148,1
    - Dst: ref_assign_new_inline
      Src: /src/libspectre/ghostscript/psi/zdict.c:149,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 152
    functionName: zop_def
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - r_type
    - name_index
    - alloc_save_change
    - check_dict_write
    - ref_assign_new_inline
    - dtop_can_store
    - idict_put
    - dict_find
    - return_error
    linkageType: ''
    returnType: int
    signature: int zop_def(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dtop_can_store
      Src: /src/libspectre/ghostscript/psi/zdict.c:117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: if_dict_find_name_by_index_top
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - dtop_can_store
    linkageType: ''
    returnType: void
    signature: void if_dict_find_name_by_index_top(nidx, htemp, pvslot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zop_def
      Src: /src/libspectre/ghostscript/psi/zdict.c:156,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 153
    functionDepth: 2
    functionLinenumber: 153
    functionLinenumberEnd: 162
    functionName: zdef
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - zop_def
    - pop
    linkageType: ''
    returnType: int
    signature: int zdef(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:171,1
    - Dst: dict_find_name
      Src: /src/libspectre/ghostscript/psi/zdict.c:174,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:175,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:176,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:181,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zdict.c:184,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:188,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:190,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zdict.c:191,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:192,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:196,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 199
    functionName: zload
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - r_type
    - ref_assign
    - check_dict_read
    - dict_find_name
    - ref_stack_index
    - ref_stack_count
    - dict_find
    - return_error
    linkageType: ''
    returnType: int
    signature: int zload(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:214,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdict.c:215,1
    - Dst: idict_undef
      Src: /src/libspectre/ghostscript/psi/zdict.c:216,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: zundef
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - check_dict_write
    - idict_undef
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zundef(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:232,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:233,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zdict.c:234,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zdict.c:243,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 246
    functionName: zknown
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - check_type
    - dict_find
    - pop
    - check_dict_read
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zknown(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zdict.c:256,1
    - Dst: ref_stack_enum_begin
      Src: /src/libspectre/ghostscript/psi/zdict.c:257,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:265,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zdict.c:266,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zdict.c:270,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:271,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zdict.c:272,1
    - Dst: ref_stack_enum_next
      Src: /src/libspectre/ghostscript/psi/zdict.c:276,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zdict.c:277,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 279
    functionName: zwhere
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - make_true
    - ref_stack_enum_next
    - ref_assign
    - check_op
    - push
    - dict_find
    - ref_stack_enum_begin
    - check_dict_read
    - make_false
    linkageType: ''
    returnType: int
    signature: int zwhere(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:290,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:291,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdict.c:292,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/zdict.c:294,1
    - Dst: dict_maxlength
      Src: /src/libspectre/ghostscript/psi/zdict.c:294,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/zdict.c:294,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:296,1
    - Dst: idict_copy
      Src: /src/libspectre/ghostscript/psi/zdict.c:297,1
    - Dst: r_copy_attrs
      Src: /src/libspectre/ghostscript/psi/zdict.c:306,1
    - Dst: dict_access_ref
      Src: /src/libspectre/ghostscript/psi/zdict.c:306,1
    - Dst: dict_access_ref
      Src: /src/libspectre/ghostscript/psi/zdict.c:306,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:307,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:308,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 310
    functionName: zcopy_dict
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - idict_copy
    - ref_assign
    - dict_access_ref
    - check_dict_write
    - return_error
    - check_type
    - dict_maxlength
    - r_copy_attrs
    - pop
    - check_dict_read
    - dict_length
    linkageType: ''
    returnType: int
    signature: int zcopy_dict(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zdict.c:318,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 321
    functionName: zcurrentdict
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - push
    - ref_assign
    linkageType: ''
    returnType: int
    signature: int zcurrentdict(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zdict.c:328,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zdict.c:330,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zdict.c:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: zcountdictstack
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - push
    - ref_stack_count
    - make_int
    linkageType: ''
    returnType: int
    signature: int zcountdictstack(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zdict.c:342,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zdict.c:346,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zdict.c:347,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zdict.c:348,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:349,1
    - Dst: r_has_type_attrs
      Src: /src/libspectre/ghostscript/psi/zdict.c:350,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:351,1
    - Dst: ref_stack_store
      Src: /src/libspectre/ghostscript/psi/zdict.c:352,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 354
    functionName: zdictstack
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - r_has_type_attrs
    - ref_stack_store
    - return_op_typecheck
    - r_is_array
    - ref_stack_count
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zdictstack(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zend
      Src: /src/libspectre/ghostscript/psi/zdict.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 363
    functionName: zcleardictstack
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - zend
    linkageType: ''
    returnType: int
    signature: int zcleardictstack(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_counttomark
      Src: /src/libspectre/ghostscript/psi/zdict.c:372,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:378,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:381,1
    - Dst: dict_create
      Src: /src/libspectre/ghostscript/psi/zdict.c:382,1
    - Dst: idict_put
      Src: /src/libspectre/ghostscript/psi/zdict.c:387,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:388,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:389,1
    - Dst: idict_put
      Src: /src/libspectre/ghostscript/psi/zdict.c:399,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:400,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zdict.c:401,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:407,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:408,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 410
    functionName: zdicttomark
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - ref_stack_pop
    - ref_assign
    - ref_stack_counttomark
    - ref_stack_index
    - idict_put
    - dict_create
    - return_error
    linkageType: ''
    returnType: int
    signature: int zdicttomark(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:426,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:427,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:428,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:432,1
    - Dst: idict_copy_new
      Src: /src/libspectre/ghostscript/psi/zdict.c:433,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:436,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:437,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 439
    functionName: zforcecopynew
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - ref_assign
    - return_error
    - check_type
    - idict_copy_new
    - pop
    - check_dict_read
    linkageType: ''
    returnType: int
    signature: int zforcecopynew(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:452,1
    - Dst: idict_undef
      Src: /src/libspectre/ghostscript/psi/zdict.c:454,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: zforceundef
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - idict_undef
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zforceundef(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:468,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zdict.c:469,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zdict.c:470,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zdict.c:471,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:472,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zdict.c:474,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zdict.c:475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 478
    functionName: zknownget
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - make_true
    - ref_assign
    - check_type
    - dict_find
    - pop
    - check_dict_read
    - make_false
    linkageType: ''
    returnType: int
    signature: int zknownget(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:488,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdict.c:489,1
    - Dst: idict_undef
      Src: /src/libspectre/ghostscript/psi/zdict.c:490,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zdict.c:491,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 494
    functionName: zknownundef
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - idict_undef
    - check_dict_write
    - check_type
    - pop
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zknownundef(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:505,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zdict.c:506,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdict.c:507,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:509,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/zdict.c:511,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdict.c:512,1
    - Dst: idict_resize
      Src: /src/libspectre/ghostscript/psi/zdict.c:513,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdict.c:515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 517
    functionName: zsetmaxlength
    functionSourceFile: /src/libspectre/ghostscript/psi/zdict.c
    functionUses: 0
    functionsReached:
    - check_dict_write
    - check_type
    - idict_resize
    - pop
    - return_error
    - dict_length
    linkageType: ''
    returnType: int
    signature: int zsetmaxlength(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: filter_write_simple
      Src: /src/libspectre/ghostscript/psi/zfsha2.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: zSHA256E
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsha2.c
    functionUses: 0
    functionsReached:
    - filter_write_simple
    linkageType: ''
    returnType: int
    signature: int zSHA256E(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentfont
      Src: /src/libspectre/ghostscript/psi/zcharx.c:38,1
    - Dst: check_int_leu
      Src: /src/libspectre/ghostscript/psi/zcharx.c:43,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcharx.c:47,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zcharx.c:48,1
    - Dst: op_show_enum_setup
      Src: /src/libspectre/ghostscript/psi/zcharx.c:50,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - i_ctx_p
    - pglyph
    argTypes:
    - i_ctx_t*
    - gs_glyph*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 51
    functionName: glyph_show_setup
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - name_index
    - op_show_enum_setup
    - gs_currentfont
    - check_type
    - check_int_leu
    linkageType: ''
    returnType: int
    signature: int glyph_show_setup(i_ctx_t *i_ctx_p, gs_glyph *pglyph)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: glyph_show_setup
      Src: /src/libspectre/ghostscript/psi/zcharx.c:61,1
    - Dst: gs_glyphshow_begin
      Src: /src/libspectre/ghostscript/psi/zcharx.c:63,1
    - Dst: op_show_finish_setup
      Src: /src/libspectre/ghostscript/psi/zcharx.c:66,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zcharx.c:67,1
    - Dst: op_show_continue_pop
      Src: /src/libspectre/ghostscript/psi/zcharx.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: zglyphshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - ifree_object
    - gs_glyphshow_begin
    - op_show_finish_setup
    - glyph_show_setup
    - op_show_continue_pop
    linkageType: ''
    returnType: int
    signature: int zglyphshow(i_ctx_t *i_ctx_p)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: op_show_setup
      Src: /src/libspectre/ghostscript/psi/zcharx.c:81,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zcharx.c:85,1
    - Dst: num_array_format
      Src: /src/libspectre/ghostscript/psi/zcharx.c:89,1
    - Dst: num_array_size
      Src: /src/libspectre/ghostscript/psi/zcharx.c:92,1
    - Dst: ialloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zcharx.c:93,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcharx.c:95,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/zcharx.c:97,1
    - Dst: gs_xyshow_begin
      Src: /src/libspectre/ghostscript/psi/zcharx.c:98,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zcharx.c:98,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zcharx.c:102,1
    - Dst: gs_text_count_chars
      Src: /src/libspectre/ghostscript/psi/zcharx.c:112,1
    - Dst: gs_get_text_params
      Src: /src/libspectre/ghostscript/psi/zcharx.c:112,1
    - Dst: num_array_get
      Src: /src/libspectre/ghostscript/psi/zcharx.c:123,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zcharx.c:129,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zcharx.c:132,1
    - Dst: op_show_finish_setup
      Src: /src/libspectre/ghostscript/psi/zcharx.c:137,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zcharx.c:138,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcharx.c:142,1
    - Dst: op_show_continue
      Src: /src/libspectre/ghostscript/psi/zcharx.c:143,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - i_ctx_p
    - have_x
    - have_y
    argTypes:
    - i_ctx_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 76
    functionDepth: 8
    functionLinenumber: 76
    functionLinenumberEnd: 144
    functionName: moveshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - op_show_continue
    - ifree_object
    - num_array_size
    - gs_get_text_params
    - gs_currentcpsimode
    - memset
    - op_show_setup
    - gs_xyshow_begin
    - gs_text_count_chars
    - num_array_get
    - return_error
    - gs_note_error
    - op_show_finish_setup
    - num_array_format
    - pop
    - ialloc_byte_array
    - r_size
    linkageType: ''
    returnType: int
    signature: int moveshow(i_ctx_t *i_ctx_p, bool have_x, bool have_y)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveshow
      Src: /src/libspectre/ghostscript/psi/zcharx.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 145
    functionDepth: 9
    functionLinenumber: 145
    functionLinenumberEnd: 149
    functionName: zxshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - moveshow
    linkageType: ''
    returnType: int
    signature: int zxshow(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveshow
      Src: /src/libspectre/ghostscript/psi/zcharx.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 9
    functionLinenumber: 150
    functionLinenumberEnd: 154
    functionName: zyshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - moveshow
    linkageType: ''
    returnType: int
    signature: int zyshow(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: moveshow
      Src: /src/libspectre/ghostscript/psi/zcharx.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 9
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: zxyshow
    functionSourceFile: /src/libspectre/ghostscript/psi/zcharx.c
    functionUses: 0
    functionsReached:
    - moveshow
    linkageType: ''
    returnType: int
    signature: int zxyshow(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - pfont
    argTypes:
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 84
    functionName: font_uses_charstrings
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool font_uses_charstrings(const gs_font *pfont)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: color_is_pure
      Src: /src/libspectre/ghostscript/psi/zchar1.c:100,1
    - Dst: gs_currentdevicecolor_inline
      Src: /src/libspectre/ghostscript/psi/zchar1.c:100,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:101,1
    - Dst: ilog2
      Src: /src/libspectre/ghostscript/psi/zchar1.c:108,1
    - Dst: gs_type1_interp_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:110,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pcis
    - penum
    - pgs
    - pfont1
    argTypes:
    - gs_type1_state*
    - gs_text_enum_t*
    - gs_gstate*
    - gs_font_type1*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 87
    functionDepth: 4
    functionLinenumber: 87
    functionLinenumberEnd: 115
    functionName: type1_exec_init
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_type1_interp_init
    - color_is_pure
    - gs_currentdevicecolor_inline
    - ilog2
    linkageType: ''
    returnType: int
    signature: "int type1_exec_init(gs_type1_state *pcis, gs_text_enum_t *penum,\n
      \               gs_gstate *pgs, gs_font_type1 *pfont1)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: charstring_execchar
      Src: /src/libspectre/ghostscript/psi/zchar1.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: ztype1execchar
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - charstring_execchar
    linkageType: ''
    returnType: int
    signature: int ztype1execchar(i_ctx_t *i_ctx_p)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: gs_setlinewidth
      Src: /src/libspectre/ghostscript/psi/zchar1.c:210,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:211,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:215,1
    - Dst: zchar_exec_char_proc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:216,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zchar1.c:221,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar1.c:222,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zchar1.c:222,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:223,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:234,1
    - Dst: zchar_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:235,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/psi/zchar1.c:249,1
    - Dst: type1_exec_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:252,1
    - Dst: gs_type1_set_callback_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:255,1
    - Dst: type1exec_bbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:263,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/psi/zchar1.c:271,1
    - Dst: type1exec_bbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:284,1
    - Dst: gs_type1_set_lsb
      Src: /src/libspectre/ghostscript/psi/zchar1.c:300,1
    - Dst: gs_type1_set_width
      Src: /src/libspectre/ghostscript/psi/zchar1.c:307,1
    - Dst: type1_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:313,1
    - Dst: nobbox_finish
      Src: /src/libspectre/ghostscript/psi/zchar1.c:317,1
    - Dst: type1_call_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:321,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/psi/zchar1.c:326,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/psi/zchar1.c:327,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/psi/zchar1.c:330,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/psi/zchar1.c:331,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 88
    argCount: 3
    argNames:
    - i_ctx_p
    - penum
    - pfont
    argTypes:
    - i_ctx_t*
    - gs_text_enum_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 181
    functionDepth: 5
    functionLinenumber: 181
    functionLinenumberEnd: 337
    functionName: charstring_execchar_aux
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - gs_type1_set_lsb
    - gs_setlinewidth
    - nobbox_finish
    - type1_call_OtherSubr
    - max
    - gs_rootfont
    - ctm_only
    - fixed2float
    - gs_moveto
    - gs_type1_set_callback_data
    - gs_type1_set_width
    - check_type
    - zchar_exec_char_proc
    - zchar_get_metrics
    - check_estack
    - type1exec_bbox
    - r_is_proc
    - type1_exec_init
    - return_error
    - type1_continue_dispatch
    - r_size
    linkageType: ''
    returnType: int
    signature: int charstring_execchar_aux(i_ctx_t *i_ctx_p, gs_text_enum_t *penum,
      gs_font *pfont)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: op_show_find
      Src: /src/libspectre/ghostscript/psi/zchar1.c:342,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:345,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:352,1
    - Dst: charstring_execchar_aux
      Src: /src/libspectre/ghostscript/psi/zchar1.c:353,1
    - Dst: gx_free_cached_char
      Src: /src/libspectre/ghostscript/psi/zchar1.c:363,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 13
    argCount: 2
    argNames:
    - i_ctx_p
    - font_type_mask
    argTypes:
    - i_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 339
    functionDepth: 6
    functionLinenumber: 339
    functionLinenumberEnd: 368
    functionName: charstring_execchar
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - font_param
    - gx_free_cached_char
    - op_show_find
    - return_error
    - charstring_execchar_aux
    linkageType: ''
    returnType: int
    signature: int charstring_execchar(i_ctx_t *i_ctx_p, int font_type_mask)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: zchar_get_CDevProc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:391,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zchar1.c:408,1
    - Dst: type1_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:409,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:414,1
    - Dst: type1_call_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:416,1
    - Dst: type1_cis_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:422,1
    - Dst: zchar_set_cache
      Src: /src/libspectre/ghostscript/psi/zchar1.c:423,1
    - Dst: zchar_set_cache
      Src: /src/libspectre/ghostscript/psi/zchar1.c:430,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 5
    argNames:
    - i_ctx_p
    - penum
    - pcxs
    - pfont
    - exec_cont
    argTypes:
    - i_ctx_t*
    - gs_text_enum_t*
    - gs_type1exec_state*
    - gs_font*
    - op_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 439
    functionName: type1exec_bbox
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - zchar_get_CDevProc
    - ref_assign
    - type1_call_OtherSubr
    - type1_cis_get_metrics
    - gs_note_error
    - type1_continue_dispatch
    - zchar_set_cache
    linkageType: ''
    returnType: int
    signature: "int type1exec_bbox(i_ctx_t *i_ctx_p, gs_text_enum_t *penum, gs_type1exec_state
      * pcxs,\n               gs_font * pfont, op_proc_t *exec_cont)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:447,1
    - Dst: type1_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:451,1
    - Dst: op_type1_free
      Src: /src/libspectre/ghostscript/psi/zchar1.c:455,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:456,1
    - Dst: type1_push_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:458,1
    - Dst: type1_cis_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:468,1
    - Dst: op_type1_free
      Src: /src/libspectre/ghostscript/psi/zchar1.c:470,1
    - Dst: zchar_set_cache
      Src: /src/libspectre/ghostscript/psi/zchar1.c:471,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 478
    functionName: bbox_getsbw_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - type1_push_OtherSubr
    - type1_cis_get_metrics
    - op_type1_free
    - r_ptr
    - gs_note_error
    - type1_continue_dispatch
    - zchar_set_cache
    linkageType: ''
    returnType: int
    signature: int bbox_getsbw_continue(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bbox_finish
      Src: /src/libspectre/ghostscript/psi/zchar1.c:489,1
    - Dst: exec_cont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 493
    functionName: bbox_finish_fill
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - bbox_finish
    - exec_cont
    linkageType: ''
    returnType: int
    signature: int bbox_finish_fill(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bbox_finish
      Src: /src/libspectre/ghostscript/psi/zchar1.c:500,1
    - Dst: exec_cont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: bbox_finish_stroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - bbox_finish
    - exec_cont
    linkageType: ''
    returnType: int
    signature: int bbox_finish_stroke(i_ctx_t *i_ctx_p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: op_show_find
      Src: /src/libspectre/ghostscript/psi/zchar1.c:512,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zchar1.c:522,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zchar1.c:523,1
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zchar1.c:524,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zchar1.c:531,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:533,1
    - Dst: font_uses_charstrings
      Src: /src/libspectre/ghostscript/psi/zchar1.c:536,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:537,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar1.c:542,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:543,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:544,1
    - Dst: type1_exec_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:545,1
    - Dst: gs_type1_set_lsb
      Src: /src/libspectre/ghostscript/psi/zchar1.c:549,1
    - Dst: type1_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:553,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:560,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:564,1
    - Dst: type1_call_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:565,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - i_ctx_p
    - cont
    - exec_cont
    argTypes:
    - i_ctx_t*
    - op_proc_t
    - op_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 573
    functionName: bbox_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 3
    functionsReached:
    - font_uses_charstrings
    - font_param
    - gs_type1_set_lsb
    - r_has_type
    - check_op
    - check_type
    - type1_call_OtherSubr
    - op_show_find
    - push_op_estack
    - num_params
    - type1_exec_init
    - pop
    - return_error
    - type1_continue_dispatch
    - check_estack
    - r_size
    linkageType: ''
    returnType: int
    signature: int bbox_finish(i_ctx_t *i_ctx_p, op_proc_t cont, op_proc_t *exec_cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zchar1.c:579,1
    - Dst: type1_callout_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:580,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:585,1
    - Dst: op_type1_free
      Src: /src/libspectre/ghostscript/psi/zchar1.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 590
    functionName: bbox_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - type1_callout_dispatch
    - r_has_type
    - op_type1_free
    - pop
    linkageType: ''
    returnType: int
    signature: int bbox_continue(i_ctx_t *i_ctx_p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: nobbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:610,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:611,1
    - Dst: op_show_find
      Src: /src/libspectre/ghostscript/psi/zchar1.c:613,1
    - Dst: font_uses_charstrings
      Src: /src/libspectre/ghostscript/psi/zchar1.c:614,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:615,1
    - Dst: gs_pathbbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:616,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:622,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/psi/zchar1.c:623,1
    - Dst: gs_currentlinewidth
      Src: /src/libspectre/ghostscript/psi/zchar1.c:630,1
    - Dst: rect_within
      Src: /src/libspectre/ghostscript/psi/zchar1.c:636,1
    - Dst: nobbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:637,1
    - Dst: rect_merge
      Src: /src/libspectre/ghostscript/psi/zchar1.c:639,1
    - Dst: gs_text_retry
      Src: /src/libspectre/ghostscript/psi/zchar1.c:641,1
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:645,1
    - Dst: zchar_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:646,1
    - Dst: type1_exec_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:659,1
    - Dst: type1exec_bbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:663,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 2
    argNames:
    - i_ctx_p
    - exec_cont
    argTypes:
    - i_ctx_t*
    - op_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 665
    functionName: bbox_draw
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - font_uses_charstrings
    - gs_newpath
    - font_param
    - nobbox_draw
    - gs_pathbbox
    - zchar_get_metrics
    - rect_merge
    - rect_within
    - op_show_find
    - gs_currentlinewidth
    - pop
    - gs_text_retry
    - return_error
    - gs_rootfont
    - type1_exec_init
    - type1exec_bbox
    linkageType: ''
    returnType: int
    signature: int bbox_draw(i_ctx_t *i_ctx_p, int (*draw)(gs_gstate *), op_proc_t
      *exec_cont)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 666
    functionDepth: 6
    functionLinenumber: 666
    functionLinenumberEnd: 677
    functionName: bbox_fill
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - bbox_draw
    linkageType: ''
    returnType: int
    signature: int bbox_fill(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: bbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 678
    functionDepth: 6
    functionLinenumber: 678
    functionLinenumberEnd: 688
    functionName: bbox_stroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - bbox_draw
    linkageType: ''
    returnType: int
    signature: int bbox_stroke(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/psi/zchar1.c:707,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar1.c:708,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zchar1.c:720,1
    - Dst: gs_type1_set_callback_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:722,1
    - Dst: gs_type1exec_state*::cis::pfont::data::interpret
      Src: /src/libspectre/ghostscript/psi/zchar1.c:723,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:730,1
    - Dst: gs_currentfont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:730,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zchar1.c:732,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zchar1.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 5
    argNames:
    - i_ctx_p
    - pcxs
    - pcref
    - pos
    - num_args
    argTypes:
    - i_ctx_t*
    - gs_type1exec_state*
    - ref*
    - ref*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 694
    functionDepth: 2
    functionLinenumber: 694
    functionLinenumberEnd: 741
    functionName: type1_continue_dispatch
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 4
    functionsReached:
    - gs_type1_set_callback_data
    - gs_type1exec_state*::cis::pfont::data::interpret
    - gs_currentfont
    - pfont_data
    - memcpy
    - array_get
    - gs_glyph_data_from_string
    - r_size
    linkageType: ''
    returnType: int
    signature: "int type1_continue_dispatch(i_ctx_t *i_ctx_p, gs_type1exec_state *pcxs,\n
      \                       const ref * pcref, ref *pos, int num_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:753,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/zchar1.c:760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - i_ctx_p
    - pcxs
    - pos
    argTypes:
    - i_ctx_t*
    - gs_type1exec_state*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 765
    functionName: type1_push_OtherSubr
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - push_op_estack
    - r_clear_attrs
    linkageType: ''
    returnType: int
    signature: "int type1_push_OtherSubr(i_ctx_t *i_ctx_p, const gs_type1exec_state
      *pcxs,\n                     int (*cont)(i_ctx_t *), const ref *pos)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_struct
      Src: /src/libspectre/ghostscript/psi/zchar1.c:778,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:782,1
    - Dst: gs_type1_set_callback_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:784,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:785,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zchar1.c:787,1
    - Dst: type1_push_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:788,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - i_ctx_p
    - pcxs
    - pos
    argTypes:
    - i_ctx_t*
    - gs_type1exec_state*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 771
    functionDepth: 2
    functionLinenumber: 771
    functionLinenumberEnd: 789
    functionName: type1_call_OtherSubr
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 3
    functionsReached:
    - ialloc_struct
    - type1_push_OtherSubr
    - gs_type1_set_callback_data
    - make_istruct
    - push_mark_estack
    - return_error
    linkageType: ''
    returnType: int
    signature: "int type1_call_OtherSubr(i_ctx_t *i_ctx_p, const gs_type1exec_state
      * pcxs,\n                     int (*cont) (i_ctx_t *),\n                     const
      ref * pos)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:797,1
    - Dst: type1_continue_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:801,1
    - Dst: op_type1_free
      Src: /src/libspectre/ghostscript/psi/zchar1.c:807,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:808,1
    - Dst: type1_push_OtherSubr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - i_ctx_p
    - num_args
    argTypes:
    - i_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 814
    functionName: type1_callout_dispatch
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - type1_push_OtherSubr
    - op_type1_free
    - r_ptr
    - gs_note_error
    - type1_continue_dispatch
    linkageType: ''
    returnType: int
    signature: "int type1_callout_dispatch(i_ctx_t *i_ctx_p, int (*cont)(i_ctx_t *),\n
      \                      int num_args)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zchar1.c:820,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 822
    functionName: op_type1_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - r_ptr
    - ifree_object
    linkageType: ''
    returnType: int
    signature: int op_type1_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_empty_const_array
      Src: /src/libspectre/ghostscript/psi/zchar1.c:833,1
    - Dst: make_empty_const_array
      Src: /src/libspectre/ghostscript/psi/zchar1.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 823
    functionDepth: 1
    functionLinenumber: 823
    functionLinenumberEnd: 835
    functionName: op_type1_free
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 3
    functionsReached:
    - make_empty_const_array
    linkageType: ''
    returnType: void
    signature: void op_type1_free(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: type1_callout_dispatch
      Src: /src/libspectre/ghostscript/psi/zchar1.c:842,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zchar1.c:847,1
    - Dst: gs_type1_set_callback_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:851,1
    - Dst: op_type1_free
      Src: /src/libspectre/ghostscript/psi/zchar1.c:852,1
    - Dst: nobbox_finish
      Src: /src/libspectre/ghostscript/psi/zchar1.c:853,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 839
    functionDepth: 4
    functionLinenumber: 839
    functionLinenumberEnd: 855
    functionName: nobbox_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - type1_callout_dispatch
    - gs_type1_set_callback_data
    - nobbox_finish
    - op_type1_free
    - r_ptr
    linkageType: ''
    returnType: int
    signature: int nobbox_continue(i_ctx_t *i_ctx_p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: op_show_find
      Src: /src/libspectre/ghostscript/psi/zchar1.c:865,1
    - Dst: gs_pathbbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:868,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:869,1
    - Dst: font_uses_charstrings
      Src: /src/libspectre/ghostscript/psi/zchar1.c:872,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:873,1
    - Dst: gs_currentpoint
      Src: /src/libspectre/ghostscript/psi/zchar1.c:882,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:891,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/psi/zchar1.c:893,1
    - Dst: gs_moveto
      Src: /src/libspectre/ghostscript/psi/zchar1.c:894,1
    - Dst: type1_exec_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:895,1
    - Dst: type1exec_bbox
      Src: /src/libspectre/ghostscript/psi/zchar1.c:898,1
    - Dst: zchar_set_cache
      Src: /src/libspectre/ghostscript/psi/zchar1.c:903,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - i_ctx_p
    - pcxs
    argTypes:
    - i_ctx_t*
    - gs_type1exec_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 860
    functionDepth: 5
    functionLinenumber: 860
    functionLinenumberEnd: 913
    functionName: nobbox_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 2
    functionsReached:
    - font_uses_charstrings
    - gs_newpath
    - font_param
    - gs_pathbbox
    - gs_moveto
    - op_show_find
    - gs_currentpoint
    - type1_exec_init
    - return_error
    - dev_proc
    - zchar_set_cache
    - type1exec_bbox
    linkageType: ''
    returnType: int
    signature: int nobbox_finish(i_ctx_t *i_ctx_p, gs_type1exec_state * pcxs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:918,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 923
    functionName: nobbox_draw
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - draw
    - pop
    linkageType: ''
    returnType: int
    signature: int nobbox_draw(i_ctx_t *i_ctx_p, int (*draw)(gs_gstate *))
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nobbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 924
    functionDepth: 2
    functionLinenumber: 924
    functionLinenumberEnd: 929
    functionName: nobbox_fill
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - nobbox_draw
    linkageType: ''
    returnType: int
    signature: int nobbox_fill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nobbox_draw
      Src: /src/libspectre/ghostscript/psi/zchar1.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 942
    functionName: nobbox_stroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - nobbox_draw
    linkageType: ''
    returnType: int
    signature: int nobbox_stroke(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:950,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:957,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:961,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar1.c:963,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:965,1
    - Dst: process_float_array
      Src: /src/libspectre/ghostscript/psi/zchar1.c:966,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zchar1.c:969,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zchar1.c:971,1
    - Dst: gs_purge_font_from_char_caches_completely
      Src: /src/libspectre/ghostscript/psi/zchar1.c:972,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar1.c:974,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 945
    functionDepth: 5
    functionLinenumber: 945
    functionLinenumberEnd: 976
    functionName: zsetweightvector
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - gs_purge_font_from_char_caches_completely
    - font_param
    - process_float_array
    - memcpy
    - pop
    - memcmp
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zsetweightvector(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: glyph_ref
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1002,1
    - Dst: zchar_charstring_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - pfont
    - glyph
    - pgd
    argTypes:
    - gs_font_type1*
    - gs_glyph
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1004
    functionName: z1_glyph_data
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - zchar_charstring_data
    - glyph_ref
    linkageType: ''
    returnType: int
    signature: int z1_glyph_data(gs_font_type1 * pfont, gs_glyph glyph, gs_glyph_data_t
      *pgd)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1010,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1014,1
    - Dst: check_type_only
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1019,1
    - Dst: gs_glyph_data_from_string
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1020,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1020,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - pfont
    - index
    - global
    - pgd
    argTypes:
    - gs_font_type1*
    - int
    - bool
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1006
    functionDepth: 2
    functionLinenumber: 1006
    functionLinenumberEnd: 1023
    functionName: z1_subr_data
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - check_type_only
    - pfont_data
    - array_get
    - gs_glyph_data_from_string
    - r_size
    linkageType: ''
    returnType: int
    signature: "int z1_subr_data(gs_font_type1 * pfont, int index, bool global,\n
      \            gs_glyph_data_t *pgd)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1029,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1035,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1036,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1037,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1041,1
    - Dst: zchar_charstring_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1043,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 5
    argNames:
    - pfont
    - ccode
    - pglyph
    - gstr
    - pgd
    argTypes:
    - gs_font_type1*
    - int
    - gs_glyph*
    - gs_const_string*
    - gs_glyph_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1045
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1045
    functionName: z1_seac_data
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - name_index
    - zchar_charstring_data
    - name_ref
    - gs_c_glyph_name
    - return_error
    - gs_c_known_encode
    linkageType: ''
    returnType: int
    signature: "int z1_seac_data(gs_font_type1 *pfont, int ccode, gs_glyph *pglyph,\n
      \            gs_const_string *gstr, gs_glyph_data_t *pgd)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1055,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1058,1
    - Dst: fixed2float
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1058,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - callback_data
    - pf
    - count
    argTypes:
    - void*
    - fixed*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1061
    functionName: z1_push
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - make_real
    - check_ostack
    - fixed2float
    linkageType: ''
    returnType: int
    signature: int z1_push(void *callback_data, const fixed * pf, int count)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: real_param
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1069,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1073,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - callback_data
    - pf
    argTypes:
    - void*
    - fixed*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1076
    functionName: z1_pop
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - real_param
    - float2fixed
    linkageType: ''
    returnType: int
    signature: int z1_pop(void *callback_data, fixed * pf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: glyph_ref
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1098,1
    - Dst: zchar_charstring_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1100,1
    - Dst: zcharstring_outline
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 6
    argNames:
    - font
    - WMode
    - glyph
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font*
    - int
    - gs_glyph
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1104
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1104
    functionName: zchar1_glyph_outline
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - zchar_charstring_data
    - zcharstring_outline
    - glyph_ref
    linkageType: ''
    returnType: int
    signature: "int zchar1_glyph_outline(gs_font *font, int WMode, gs_glyph glyph,
      const gs_matrix *pmat,\n                     gx_path *ppath, double sbw[4])"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1125,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1126,1
    - Dst: zchar_get_CDevProc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1128,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1129,1
    - Dst: zchar_get_metrics2
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1133,1
    - Dst: zchar_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1143,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1150,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1154,1
    - Dst: gs_matrix_fixed_from_matrix
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1155,1
    - Dst: gs_type1_interp_init
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1158,1
    - Dst: gs_type1_set_callback_data
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1163,1
    - Dst: gs_type1_set_lsb
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1167,1
    - Dst: gs_type1_set_width
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1171,1
    - Dst: gs_font_type1*::data::interpret
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1184,1
    - Dst: type1_cis_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1186,1
    - Dst: type1_cis_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1187,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 59
    argCount: 7
    argNames:
    - pfont1
    - WMode
    - pgref
    - pgd_orig
    - pmat
    - ppath
    - sbw
    argTypes:
    - gs_font_type1*
    - int
    - ref*
    - gs_glyph_data_t*
    - gs_matrix*
    - gx_path*
    - double[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1191
    functionName: zcharstring_outline
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - zchar_get_CDevProc
    - gs_type1_set_lsb
    - gs_type1_set_callback_data
    - zchar_get_metrics2
    - gs_type1_set_width
    - gs_type1_interp_init
    - gs_font_type1*::data::interpret
    - max
    - type1_cis_get_metrics
    - gs_make_identity
    - gs_matrix_fixed_from_matrix
    - zchar_get_metrics
    - return_error
    linkageType: ''
    returnType: int
    signature: "int zcharstring_outline(gs_font_type1 *pfont1, int WMode, const ref
      *pgref,\n                    const gs_glyph_data_t *pgd_orig,\n                    const
      gs_matrix *pmat, gx_path *ppath, double sbw[4])"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: zchar_get_CDevProc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1216,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1220,1
    - Dst: glyph_ref
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1225,1
    - Dst: zchar_get_metrics2
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1228,1
    - Dst: zchar_get_metrics
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1241,1
    - Dst: zchar_get_CDevProc
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1260,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 6
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    - wmode
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1276
    functionName: z1_glyph_info_generic
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 1
    functionsReached:
    - zchar_get_CDevProc
    - zchar_get_metrics2
    - glyph_ref
    - zchar_get_metrics
    - return_error
    linkageType: ''
    returnType: int
    signature: "int z1_glyph_info_generic(gs_font *font, gs_glyph glyph, const gs_matrix
      *pmat,\n              int members, gs_glyph_info_t *info, font_proc_glyph_info((*proc)),
      int wmode)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: z1_glyph_info_generic
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - font
    - glyph
    - pmat
    - members
    - info
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_matrix*
    - int
    - gs_glyph_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1286
    functionName: z1_glyph_info
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - z1_glyph_info_generic
    linkageType: ''
    returnType: int
    signature: "int z1_glyph_info(gs_font *font, gs_glyph glyph, const gs_matrix *pmat,\n
      \             int members, gs_glyph_info_t *info)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_rootfont
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1295,1
    - Dst: gs_default_glyph_info
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1299,1
    - Dst: zchar_set_cache
      Src: /src/libspectre/ghostscript/psi/zchar1.c:1308,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - i_ctx_p
    - pbfont
    - cnref
    - glyph
    - cont
    - exec_cont
    argTypes:
    - i_ctx_t*
    - gs_font_base*
    - ref*
    - gs_glyph
    - op_proc_t
    - op_proc_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1312
      start: 1289
    functionDepth: 3
    functionLinenumber: 1289
    functionLinenumberEnd: 1312
    functionName: z1_set_cache
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar1.c
    functionUses: 0
    functionsReached:
    - gs_rootfont
    - gs_default_glyph_info
    - zchar_set_cache
    linkageType: ''
    returnType: int
    signature: "int z1_set_cache(i_ctx_t *i_ctx_p, gs_font_base *pbfont, ref *cnref,\n
      \           gs_glyph glyph, op_proc_t cont, op_proc_t *exec_cont)"
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:57,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:58,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:58,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:59,1
    - Dst: make_empty_array
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:62,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:63,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:64,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:65,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:66,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:67,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:68,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:75,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:78,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:80,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:81,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:82,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:82,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:83,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:86,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:89,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:90,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:91,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:92,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:93,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:94,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:94,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:96,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:98,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:99,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:99,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:100,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:103,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:104,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:107,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:108,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:110,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:115,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 52
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 45
    functionDepth: 1
    functionLinenumber: 45
    functionLinenumberEnd: 117
    functionName: zrsdparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zfrsd.c
    functionUses: 0
    functionsReached:
    - make_null
    - dict_find_string
    - r_has_type
    - dict_int_param
    - check_op
    - r_size
    - make_array
    - make_empty_array
    - dict_bool_param
    - memcmp
    - push
    - array_get
    - return_error
    - name_string_ref
    - r_is_array
    linkageType: ''
    returnType: int
    signature: int zrsdparams(i_ctx_t *i_ctx_p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:146,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:148,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:149,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:151,1
    - Dst: make_rss
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:152,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:153,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:154,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:155,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:158,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:159,1
    - Dst: make_rss
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:160,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:162,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:163,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:168,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:169,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:172,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:176,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:177,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:179,1
    - Dst: make_rss
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:184,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:185,1
    - Dst: make_aos
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:187,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:187,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:194,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:198,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:199,1
    - Dst: make_rss
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:202,1
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:204,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:205,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:208,1
    - Dst: make_rfs
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:209,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:209,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:216,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:217,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:219,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:219,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:228,1
    - Dst: fptr
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:230,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:237,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 67
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 239
    functionName: zreusablestream
    functionSourceFile: /src/libspectre/ghostscript/psi/zfrsd.c
    functionUses: 0
    functionsReached:
    - max
    - gs_object_type
    - check_read
    - gs_object_size
    - sbufavailable
    - check_read_type
    - imemory_space
    - check_read_file
    - stell
    - make_aos
    - r_space
    - min
    - r_has_type
    - make_rss
    - check_type
    - make_rfs
    - fptr
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zreusablestream(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:248,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:250,1
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:251,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:252,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:254,1
    - Dst: sread_string_reusable
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:255,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:255,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 8
    argNames:
    - i_ctx_p
    - op
    - data
    - size
    - string_space
    - offset
    - length
    - is_bytestring
    argTypes:
    - i_ctx_t*
    - os_ptr
    - byte*
    - uint
    - uint
    - long
    - long
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 242
    functionDepth: 2
    functionLinenumber: 242
    functionLinenumberEnd: 260
    functionName: make_rss
    functionSourceFile: /src/libspectre/ghostscript/psi/zfrsd.c
    functionUses: 1
    functionsReached:
    - make_stream_file
    - file_alloc_stream
    - max
    - sread_string_reusable
    - return_error
    - min
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: "int make_rss(i_ctx_t *i_ctx_p, os_ptr op, const byte * data, uint
      size,\n         uint string_space, long offset, long length, bool is_bytestring)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:267,1
    - Dst: sfilename
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:274,1
    - Dst: gs_parse_file_name
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:275,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:280,1
    - Dst: iodev_default
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:282,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:284,1
    - Dst: zopen_file
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:285,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:286,1
    - Dst: sread_subfile
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:289,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:290,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:291,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:294,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 5
    argNames:
    - i_ctx_p
    - op
    - fs
    - offset
    - length
    argTypes:
    - i_ctx_t*
    - os_ptr
    - stream*
    - long
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 263
    functionDepth: 6
    functionLinenumber: 263
    functionLinenumberEnd: 296
    functionName: make_rfs
    functionSourceFile: /src/libspectre/ghostscript/psi/zfrsd.c
    functionUses: 1
    functionsReached:
    - sclose
    - make_stream_file
    - ialloc_set_space
    - sread_subfile
    - gs_parse_file_name
    - iodev_default
    - zopen_file
    - return_error
    - sfilename
    - imemory_space
    linkageType: ''
    returnType: int
    signature: int make_rfs(i_ctx_t *i_ctx_p, os_ptr op, stream *fs, long offset,
      long length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/zfrsd.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: CLEAR_MARKS_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/zfrsd.c
    functionUses: 0
    functionsReached:
    - r_clear_attrs
    linkageType: ''
    returnType: void
    signature: void CLEAR_MARKS_PROC(aos_clear_marks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ztrap.c:36,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/ztrap.c:37,1
    - Dst: gs_settrapparams
      Src: /src/libspectre/ghostscript/psi/ztrap.c:40,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/ztrap.c:41,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ztrap.c:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 29
    functionDepth: 3
    functionLinenumber: 29
    functionLinenumberEnd: 46
    functionName: zsettrapparams
    functionSourceFile: /src/libspectre/ghostscript/psi/ztrap.c
    functionUses: 0
    functionsReached:
    - dict_param_list_read
    - gs_settrapparams
    - check_type
    - iparam_list_release
    - pop
    linkageType: ''
    returnType: int
    signature: int zsettrapparams(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ztrap.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: zsettrapzone
    functionSourceFile: /src/libspectre/ghostscript/psi/ztrap.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int zsettrapzone(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdref
    - ','
    - key
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 30
    functionName: idict_put
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_put(pdref, key, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdref
    - ','
    - kstr
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: idict_put_string
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_put_string(pdref, kstr, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pdref
    - ','
    - kstr
    - ','
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: idict_put_string_copy
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_put_string_copy(pdref, kstr, pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdref
    - ','
    - key
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: idict_undef
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_undef(pdref, key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dfrom
    - ','
    - dto
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 38
    functionName: idict_copy
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_copy(dfrom, dto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - dfrom
    - ','
    - dto
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: idict_copy_new
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_copy_new(dfrom, dto)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pdref
    - ','
    - newmax
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 42
    functionName: idict_resize
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_resize(pdref, newmax)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: idict_grow
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_grow(pdref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: idict_unpack
    functionSourceFile: /src/libspectre/ghostscript/psi/iddict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: idict_unpack(pdref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfile1.c:42,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfile1.c:43,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfile1.c:44,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile1.c:45,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile1.c:46,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:48,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile1.c:50,1
    - Dst: gp_file_name_combine
      Src: /src/libspectre/ghostscript/psi/zfile1.c:54,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile1.c:57,1
    - Dst: iresize_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:59,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfile1.c:61,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:62,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile1.c:63,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfile1.c:64,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 67
    functionName: zfile_name_combine
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - gp_file_name_combine
    - check_type
    - iresize_string
    - ialloc_string
    - make_string
    - pop
    - return_error
    - make_bool
    - r_size
    linkageType: ''
    returnType: int
    signature: int zfile_name_combine(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfile1.c:78,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfile1.c:79,1
    - Dst: gp_file_name_is_absolute
      Src: /src/libspectre/ghostscript/psi/zfile1.c:79,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfile1.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 82
    functionName: zfile_name_is_absolute
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - gp_file_name_is_absolute
    - make_bool
    - check_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zfile_name_is_absolute(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfile1.c:87,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfile1.c:89,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i_ctx_p
    - v
    argTypes:
    - i_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 93
    functionName: push_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - push
    - strlen
    linkageType: ''
    returnType: int
    signature: int push_string(i_ctx_t *i_ctx_p, const char *v)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:98,1
    - Dst: gp_file_name_separator
      Src: /src/libspectre/ghostscript/psi/zfile1.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: zfile_name_separator
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - push_string
    - gp_file_name_separator
    linkageType: ''
    returnType: int
    signature: int zfile_name_separator(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:104,1
    - Dst: gp_file_name_directory_separator
      Src: /src/libspectre/ghostscript/psi/zfile1.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 105
    functionName: zfile_name_directory_separator
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - push_string
    - gp_file_name_directory_separator
    linkageType: ''
    returnType: int
    signature: int zfile_name_directory_separator(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:110,1
    - Dst: gp_file_name_current
      Src: /src/libspectre/ghostscript/psi/zfile1.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 108
    functionDepth: 2
    functionLinenumber: 108
    functionLinenumberEnd: 111
    functionName: zfile_name_current
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - push_string
    - gp_file_name_current
    linkageType: ''
    returnType: int
    signature: int zfile_name_current(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push_string
      Src: /src/libspectre/ghostscript/psi/zfile1.c:116,1
    - Dst: gp_file_name_parent
      Src: /src/libspectre/ghostscript/psi/zfile1.c:116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 114
    functionDepth: 2
    functionLinenumber: 114
    functionLinenumberEnd: 117
    functionName: zfile_name_parent
    functionSourceFile: /src/libspectre/ghostscript/psi/zfile1.c
    functionUses: 0
    functionsReached:
    - push_string
    - gp_file_name_parent
    linkageType: ''
    returnType: int
    signature: int zfile_name_parent(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/psi/iutil2.c:39,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:44,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iutil2.c:46,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/psi/iutil2.c:56,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/iutil2.c:59,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iutil2.c:60,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - plist
    - kstr
    - ppass
    argTypes:
    - gs_param_list*
    - char*
    - password*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 34
    functionDepth: 5
    functionLinenumber: 34
    functionLinenumberEnd: 62
    functionName: param_read_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - strlen
    - gs_sprintf
    - param_read_long
    - memcpy
    - return_error
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int param_read_password(gs_param_list * plist, const char *kstr, password
      * ppass)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:73,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/psi/iutil2.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - plist
    - kstr
    - ppass
    argTypes:
    - gs_param_list*
    - char*
    - password*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 75
    functionName: param_write_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - return_error
    - param_write_string
    linkageType: ''
    returnType: int
    signature: "int param_write_password(gs_param_list * plist, const char *kstr,\n
      \                    const password * ppass)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: param_read_password
      Src: /src/libspectre/ghostscript/psi/iutil2.c:84,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/psi/iutil2.c:89,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - plist
    - ppass
    argTypes:
    - gs_param_list*
    - password*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 79
    functionDepth: 6
    functionLinenumber: 79
    functionLinenumberEnd: 96
    functionName: param_check_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - param_read_password
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int param_check_password(gs_param_list * plist, const password * ppass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/iutil2.c:105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:106,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iutil2.c:107,1
    - Dst: r_has_attrs
      Src: /src/libspectre/ghostscript/psi/iutil2.c:108,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iutil2.c:109,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:111,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 3
    argNames:
    - ppvalue
    - pdref
    - kstr
    argTypes:
    - ref**
    - ref*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 114
    functionName: dict_find_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - r_has_attrs
    - dict_find_string
    - r_has_type
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int dict_find_password(ref ** ppvalue, const ref * pdref, const char
      *kstr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_password
      Src: /src/libspectre/ghostscript/psi/iutil2.c:119,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:124,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iutil2.c:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ppass
    - pdref
    - pkey
    argTypes:
    - password*
    - ref*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 128
    functionName: dict_read_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - return_error
    - memcpy
    - dict_find_password
    linkageType: ''
    returnType: int
    signature: int dict_read_password(password * ppass, const ref * pdref, const char
      *pkey)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_password
      Src: /src/libspectre/ghostscript/psi/iutil2.c:134,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iutil2.c:138,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:139,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/psi/iutil2.c:141,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iutil2.c:143,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iutil2.c:144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 4
    argNames:
    - ppass
    - pdref
    - pkey
    - change_allowed
    argTypes:
    - password*
    - ref*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 147
    functionName: dict_write_password
    functionSourceFile: /src/libspectre/ghostscript/psi/iutil2.c
    functionUses: 0
    functionsReached:
    - r_size
    - dict_find_password
    - memcpy
    - return_error
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: "int dict_write_password(const password * ppass, ref * pdref, const
      char *pkey,\n                        bool change_allowed)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/psi/gsdll.c:78,1
    - Dst: gsapi_set_stdio
      Src: /src/libspectre/ghostscript/psi/gsdll.c:81,1
    - Dst: gsapi_set_poll
      Src: /src/libspectre/ghostscript/psi/gsdll.c:83,1
    - Dst: gsapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/gsdll.c:95,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/gsdll.c:97,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/psi/gsdll.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - callback
    - hwnd
    - argc
    - argv
    - encoding
    argTypes:
    - GSDLL_CALLBACK
    - HWND
    - int
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 103
    functionName: gsdll_init_with_encoding
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsapi_set_arg_encoding
    - gsapi_exit
    - gsapi_init_with_args
    - gsapi_set_stdio
    - gsapi_new_instance
    - gsapi_set_poll
    linkageType: ''
    returnType: int
    signature: int gsdll_init_with_encoding(GSDLL_CALLBACK callback, HWND hwnd, int
      argc, char * argv[], int encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsdll_init_with_encoding
      Src: /src/libspectre/ghostscript/psi/gsdll.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - callback
    - hwnd
    - argc
    - argv
    argTypes:
    - GSDLL_CALLBACK
    - HWND
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: gsdll_init
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsdll_init_with_encoding
    linkageType: ''
    returnType: int
    signature: int gsdll_init(GSDLL_CALLBACK callback, HWND hwnd, int argc, char *
      argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsdll_init_with_encoding
      Src: /src/libspectre/ghostscript/psi/gsdll.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - callback
    - hwnd
    - argc
    - argv
    argTypes:
    - GSDLL_CALLBACK
    - HWND
    - int
    - wchar_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: gsdll_initW
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsdll_init_with_encoding
    linkageType: ''
    returnType: int
    signature: int gsdll_initW(GSDLL_CALLBACK callback, HWND hwnd, int argc, wchar_t
      * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsdll_init_with_encoding
      Src: /src/libspectre/ghostscript/psi/gsdll.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - callback
    - hwnd
    - argc
    - argv
    argTypes:
    - GSDLL_CALLBACK
    - HWND
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 121
    functionName: gsdll_initA
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsdll_init_with_encoding
    linkageType: ''
    returnType: int
    signature: int gsdll_initA(GSDLL_CALLBACK callback, HWND hwnd, int argc, char
      * argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_run_string_begin
      Src: /src/libspectre/ghostscript/psi/gsdll.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 131
    functionName: gsdll_execute_begin
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsapi_run_string_begin
    linkageType: ''
    returnType: int
    signature: int gsdll_execute_begin(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_run_string_continue
      Src: /src/libspectre/ghostscript/psi/gsdll.c:139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: gsdll_execute_cont
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsapi_run_string_continue
    linkageType: ''
    returnType: int
    signature: int gsdll_execute_cont(const char * str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_run_string_end
      Src: /src/libspectre/ghostscript/psi/gsdll.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 153
    functionName: gsdll_execute_end
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsapi_run_string_end
    linkageType: ''
    returnType: int
    signature: int gsdll_execute_end(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/psi/gsdll.c:158,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/psi/gsdll.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 162
    functionName: gsdll_exit
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached:
    - gsapi_delete_instance
    - gsapi_exit
    linkageType: ''
    returnType: int
    signature: int gsdll_exit(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - product
    - copyright
    - revision
    - revisiondate
    argTypes:
    - char**
    - char**
    - long*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 180
    functionName: gsdll_revision
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int gsdll_revision(const char ** product, const char ** copyright,\n
      \              long * revision, long * revisiondate)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - caller_handle
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 186
    functionName: gsdll_old_stdin
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsdll_old_stdin(void *caller_handle, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - caller_handle
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 191
    functionName: gsdll_old_stdout
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsdll_old_stdout(void *caller_handle, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - caller_handle
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 197
    functionName: gsdll_old_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsdll_old_stderr(void *caller_handle, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - caller_handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 203
    functionName: gsdll_old_poll
    functionSourceFile: /src/libspectre/ghostscript/psi/gsdll.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int gsdll_old_poll(void *caller_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    functionName: num_is_lsb
    functionSourceFile: /src/libspectre/ghostscript/psi/ibnum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_is_lsb(format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: num_is_valid
    functionSourceFile: /src/libspectre/ghostscript/psi/ibnum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: num_is_valid(format)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - format
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: encoded_number_bytes
    functionSourceFile: /src/libspectre/ghostscript/psi/ibnum.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: encoded_number_bytes(format)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:47,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:48,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:49,1
    - Dst: data_source_init_string2
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:51,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:53,1
    - Dst: check_read_known_file_else
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:58,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:59,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:61,1
    - Dst: data_source_init_stream
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:62,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:66,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:68,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:69,1
    - Dst: fn_build_float_array
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:71,1
    - Dst: fn_build_float_array
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:72,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:77,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:80,1
    - Dst: dict_ints_param
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:84,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:88,1
    - Dst: gs_function_Sd_free_params
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:92,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfunc0.c:93,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 6
    argNames:
    - i_ctx_p
    - op
    - mnDR
    - depth
    - ppfn
    - mem
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_function_params_t*
    - int
    - gs_function_t**
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 35
    functionDepth: 2
    functionLinenumber: 35
    functionLinenumberEnd: 94
    functionName: gs_build_function_0
    functionSourceFile: /src/libspectre/ghostscript/psi/zfunc0.c
    functionUses: 0
    functionsReached:
    - r_type
    - gs_function_Sd_free_params
    - dict_find_string
    - dict_int_param
    - fn_build_float_array
    - gs_alloc_byte_array
    - gs_function_Sd_init
    - check_read_known_file_else
    - data_source_init_string2
    - dict_ints_param
    - return_error
    - gs_note_error
    - data_source_init_stream
    - r_size
    linkageType: ''
    returnType: int
    signature: "int gs_build_function_0(i_ctx_t *i_ctx_p, const ref *op, const gs_function_params_t
      * mnDR,\n                    int depth, gs_function_t ** ppfn, gs_memory_t *mem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:43,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:47,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:48,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - pdict
    - kstr
    - defaultval
    - pvalue
    argTypes:
    - ref*
    - char*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 37
    functionDepth: 1
    functionLinenumber: 37
    functionLinenumberEnd: 51
    functionName: dict_bool_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 1
    functionsReached:
    - dict_find_string
    - r_has_type
    - return_error
    linkageType: ''
    returnType: int
    signature: "int dict_bool_param(const ref * pdict, const char *kstr,\n                bool
      defaultval, bool * pvalue)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:65,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:69,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:72,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:81,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:84,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:89,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:95,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:97,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 6
    argNames:
    - pdict
    - kstr
    - minval
    - maxval
    - defaultval
    - pvalue
    argTypes:
    - ref*
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 101
    functionName: dict_int_null_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - r_type
    - return_error
    linkageType: ''
    returnType: int
    signature: "int dict_int_null_param(const ref * pdict, const char *kstr, int minval,\n
      \                   int maxval, int defaultval, int *pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_null_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:108,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - pdict
    - kstr
    - minval
    - maxval
    - defaultval
    - pvalue
    argTypes:
    - ref*
    - char*
    - int
    - int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 112
    functionName: dict_int_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 3
    functionsReached:
    - gs_note_error
    - dict_int_null_param
    linkageType: ''
    returnType: int
    signature: "int dict_int_param(const ref * pdict, const char *kstr, int minval,
      int maxval,\n               int defaultval, int *pvalue)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:126,1
    - Dst: check_type_only
      Src: /src/libspectre/ghostscript/psi/idparam.c:130,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:132,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:138,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:140,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 6
    argNames:
    - pdict
    - kstr
    - minval
    - maxval
    - defaultval
    - pvalue
    argTypes:
    - ref*
    - char*
    - uint
    - uint
    - uint
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 144
    functionName: dict_uint_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - return_error
    - check_type_only
    linkageType: ''
    returnType: int
    signature: "int dict_uint_param(const ref * pdict, const char *kstr,\n                uint
      minval, uint maxval, uint defaultval, uint * pvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:154,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:158,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:166,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - pdict
    - kstr
    - defaultval
    - pvalue
    argTypes:
    - ref*
    - char*
    - double
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 167
    functionName: dict_float_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - r_type
    - return_error
    linkageType: ''
    returnType: int
    signature: "int dict_float_param(const ref * pdict, const char *kstr,\n                 double
      defaultval, float *pvalue)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:179,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:181,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:182,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/idparam.c:183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:185,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/idparam.c:187,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:194,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:202,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:206,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:210,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 7
    argNames:
    - mem
    - pdict
    - kstr
    - len
    - ivec
    - under_error
    - over_error
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - int*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 211
    functionName: dict_int_array_check_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - r_type
    - dict_find_string
    - r_is_array
    - array_get
    - return_error
    - gs_note_error
    - r_size
    linkageType: ''
    returnType: int
    signature: "int dict_int_array_check_param(const gs_memory_t *mem, const ref *
      pdict,\n   const char *kstr, uint len, int *ivec, int under_error, int over_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_array_check_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - pdict
    - kstr
    - maxlen
    - ivec
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 212
    functionDepth: 2
    functionLinenumber: 212
    functionLinenumberEnd: 218
    functionName: dict_int_array_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_int_array_check_param
    linkageType: ''
    returnType: int
    signature: "int dict_int_array_param(const gs_memory_t *mem, const ref * pdict,\n
      \  const char *kstr, uint maxlen, int *ivec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_array_check_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - mem
    - pdict
    - kstr
    - len
    - ivec
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 225
    functionName: dict_ints_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 1
    functionsReached:
    - dict_int_array_check_param
    linkageType: ''
    returnType: int
    signature: "int dict_ints_param(const gs_memory_t *mem, const ref * pdict,\n   const
      char *kstr, uint len, int *ivec)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:242,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/idparam.c:245,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:249,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:250,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/idparam.c:251,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:253,1
    - Dst: process_float_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:255,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 8
    argNames:
    - mem
    - pdict
    - kstr
    - len
    - fvec
    - defaultvec
    - under_error
    - over_error
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - float*
    - float*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 259
    functionName: dict_float_array_check_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - process_float_array
    - dict_find_string
    - r_is_array
    - memcpy
    - return_error
    - gs_note_error
    - r_size
    linkageType: ''
    returnType: int
    signature: "int dict_float_array_check_param(const gs_memory_t *mem,\n                             const
      ref * pdict, const char *kstr,\n                             uint len, float
      *fvec, const float *defaultvec,\n                             int under_error,
      int over_error)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_float_array_check_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mem
    - pdict
    - kstr
    - maxlen
    - fvec
    - defaultvec
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 267
    functionName: dict_float_array_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_float_array_check_param
    linkageType: ''
    returnType: int
    signature: "int dict_float_array_param(const gs_memory_t *mem,\n                       const
      ref * pdict, const char *kstr,\n                       uint maxlen, float *fvec,
      const float *defaultvec)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_float_array_check_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - mem
    - pdict
    - kstr
    - maxlen
    - fvec
    - defaultvec
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - uint
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 268
    functionDepth: 2
    functionLinenumber: 268
    functionLinenumberEnd: 276
    functionName: dict_floats_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_float_array_check_param
    linkageType: ''
    returnType: int
    signature: "int dict_floats_param(const gs_memory_t *mem,\n                  const
      ref * pdict, const char *kstr,\n                  uint maxlen, float *fvec,
      const float *defaultvec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_float_array_check_param
      Src: /src/libspectre/ghostscript/psi/idparam.c:287,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:290,1
    - Dst: gs_errorinfo_put_pair
      Src: /src/libspectre/ghostscript/psi/idparam.c:291,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/idparam.c:291,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 6
    argNames:
    - i_ctx_p
    - pdict
    - kstr
    - maxlen
    - fvec
    - defaultvec
    argTypes:
    - i_ctx_t*
    - ref*
    - char*
    - uint
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 294
    functionName: dict_floats_param_errorinfo
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - dict_float_array_check_param
    - strlen
    - gs_errorinfo_put_pair
    linkageType: ''
    returnType: int
    signature: "int dict_floats_param_errorinfo(i_ctx_t *i_ctx_p,\n                  const
      ref * pdict, const char *kstr,\n                  uint maxlen, float *fvec,
      const float *defaultvec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:308,1
    - Dst: make_empty_const_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:310,1
    - Dst: make_t
      Src: /src/libspectre/ghostscript/psi/idparam.c:312,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/idparam.c:315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 4
    argNames:
    - pdict
    - kstr
    - pproc
    - defaultval
    argTypes:
    - ref*
    - char*
    - ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 318
    functionName: dict_proc_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - check_proc
    - make_empty_const_array
    - make_t
    linkageType: ''
    returnType: int
    signature: "int dict_proc_param(const ref * pdict, const char *kstr, ref * pproc,\n
      \               bool defaultval)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:326,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:327,1
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/idparam.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - mem
    - pdict
    - kstr
    - pmat
    argTypes:
    - gs_memory_t*
    - ref*
    - char*
    - gs_matrix*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 329
    functionName: dict_matrix_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - read_matrix
    - return_error
    linkageType: ''
    returnType: int
    signature: int dict_matrix_param(const gs_memory_t *mem, const ref * pdict, const
      char *kstr, gs_matrix * pmat)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/idparam.c:341,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:346,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:351,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:352,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/idparam.c:353,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:355,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:356,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:360,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:365,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/idparam.c:366,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:367,1
    - Dst: uid_set_XUID
      Src: /src/libspectre/ghostscript/psi/idparam.c:371,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:377,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/idparam.c:378,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:381,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:382,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:384,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/idparam.c:389,1
    - Dst: uid_set_UniqueID
      Src: /src/libspectre/ghostscript/psi/idparam.c:392,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 5
    argNames:
    - pdict
    - puid
    - defaultval
    - mem
    - i_ctx_p
    argTypes:
    - ref*
    - gs_uid*
    - int
    - gs_memory_t*
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 395
    functionName: dict_uid_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - r_has_type
    - gs_alloc_byte_array
    - uid_set_XUID
    - uid_set_invalid
    - gs_free_object
    - uid_set_UniqueID
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: "int dict_uid_param(const ref * pdict, gs_uid * puid, int defaultval,\n
      \              gs_memory_t * mem, const i_ctx_t *i_ctx_p)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: uid_is_XUID
      Src: /src/libspectre/ghostscript/psi/idparam.c:403,1
    - Dst: uid_XUID_size
      Src: /src/libspectre/ghostscript/psi/idparam.c:404,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:407,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:409,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/idparam.c:410,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:416,1
    - Dst: uid_XUID_values
      Src: /src/libspectre/ghostscript/psi/idparam.c:418,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:423,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:425,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - pdict
    - puid
    argTypes:
    - ref*
    - gs_uid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 428
    functionName: dict_check_uid_param
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - uid_XUID_values
    - dict_find_string
    - r_has_type
    - uid_is_XUID
    - uid_XUID_size
    - r_size
    linkageType: ''
    returnType: bool
    signature: bool dict_check_uid_param(const ref * pdict, const gs_uid * puid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/idparam.c:440,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/idparam.c:443,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/idparam.c:447,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/idparam.c:448,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:449,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idparam.c:450,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:451,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idparam.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 4
    argNames:
    - i_ctx_p
    - key
    - len
    - any
    argTypes:
    - i_ctx_t*
    - char*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 455
    functionName: gs_errorinfo_put_pair
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 1
    functionsReached:
    - gs_alloc_ref_array
    - dict_find_string
    - r_has_type
    - idict_put_string
    - ref_assign_new
    - name_ref
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_errorinfo_put_pair(i_ctx_t *i_ctx_p, const char *key, int len,
      const ref *any)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/idparam.c:464,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/idparam.c:465,1
    - Dst: gs_errorinfo_put_pair
      Src: /src/libspectre/ghostscript/psi/idparam.c:468,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/idparam.c:468,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - i_ctx_p
    - op
    - key
    argTypes:
    - i_ctx_t*
    - ref*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 469
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 469
    functionName: gs_errorinfo_put_pair_from_dict
    functionSourceFile: /src/libspectre/ghostscript/psi/idparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - make_null
    - strlen
    - gs_errorinfo_put_pair
    linkageType: ''
    returnType: void
    signature: void gs_errorinfo_put_pair_from_dict(i_ctx_t *i_ctx_p, const ref *op,
      const char *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - hash
    - ','
    - hperm
    - ','
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 63
    functionName: NAME_HASH
    functionSourceFile: /src/libspectre/ghostscript/psi/inamestr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NAME_HASH(hash, hperm, ptr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nidx
    - ','
    - pnstr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 81
    functionName: name_next_index
    functionSourceFile: /src/libspectre/ghostscript/psi/inamestr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: name_next_index(nidx, pnstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nidx
    - ','
    - pnstr
    - ','
    - next
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: set_name_next_index
    functionSourceFile: /src/libspectre/ghostscript/psi/inamestr.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_name_next_index(nidx, pnstr, next)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: gc_proc_clear_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_proc_clear_reloc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 48
    functionName: gc_proc_set_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_proc_set_reloc(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: gc_proc_compact
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gc_proc_compact(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - cname
    - ','
    - nobj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 94
    functionName: print_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_reloc(obj, cname, nobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - obj
    - ','
    - cname
    - ','
    - nobj
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: print_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: print_reloc(obj, cname, nobj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_t*::procs::alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/psi/iplugin.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - nbytes
    - cname
    argTypes:
    - i_plugin_client_memory*
    - unsigned int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: i_plugin_mem_alloc
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached:
    - gs_memory_t*::procs::alloc_bytes_immovable
    linkageType: ''
    returnType: void
    signature: void *i_plugin_mem_alloc(i_plugin_client_memory *mem, unsigned int
      nbytes, const char *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_t*::procs::free_object
      Src: /src/libspectre/ghostscript/psi/iplugin.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - data
    - cname
    argTypes:
    - i_plugin_client_memory*
    - void*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: i_plugin_mem_free
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached:
    - gs_memory_t*::procs::free_object
    linkageType: ''
    returnType: void
    signature: void i_plugin_mem_free(i_plugin_client_memory *mem, void *data, const
      char *cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mem
    - mem_raw
    argTypes:
    - i_plugin_client_memory*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: i_plugin_make_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void i_plugin_make_memory(i_plugin_client_memory *mem, gs_memory_t
      *mem_raw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: i_plugin_make_memory
      Src: /src/libspectre/ghostscript/psi/iplugin.c:58,1
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/psi/iplugin.c:64,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iplugin.c:66,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 72
    functionName: i_plugin_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - i_plugin_make_memory
    - return_error
    linkageType: ''
    returnType: int
    signature: int i_plugin_init(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i_plugin_make_memory
      Src: /src/libspectre/ghostscript/psi/iplugin.c:76,1
    - Dst: i_plugin_holder*::I::d::finit
      Src: /src/libspectre/ghostscript/psi/iplugin.c:80,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iplugin.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mem_raw
    - list
    argTypes:
    - gs_memory_t*
    - i_plugin_holder*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 83
    functionName: i_plugin_finit
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached:
    - i_plugin_holder*::I::d::finit
    - i_plugin_make_memory
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void i_plugin_finit(gs_memory_t *mem_raw, i_plugin_holder *list)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    functionName: i_plugin_get_list
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i_plugin_holder
    signature: i_plugin_holder * i_plugin_get_list(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iplugin.c:93,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iplugin.c:93,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - i_ctx_p
    - type
    - subtype
    argTypes:
    - i_ctx_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: i_plugin_find
    functionSourceFile: /src/libspectre/ghostscript/psi/iplugin.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: i_plugin_instance
    signature: i_plugin_instance *i_plugin_find(i_ctx_t *i_ctx_p, const char *type,
      const char *subtype)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/psi/dscparse.h
    functionUses: 267
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/psi/dscparse.h
    functionUses: 182
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a,b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwreg.c:34,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwreg.c:34,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/dwreg.c:37,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/dwreg.c:38,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/dwreg.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - buf
    - len
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 41
    functionName: win_registry_key
    functionSourceFile: /src/libspectre/ghostscript/psi/dwreg.c
    functionUses: 0
    functionsReached:
    - strcat
    - strlen
    - strcpy
    linkageType: ''
    returnType: int
    signature: int win_registry_key(char *buf, int len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: win_registry_key
      Src: /src/libspectre/ghostscript/psi/dwreg.c:57,1
    - Dst: RegOpenKeyEx
      Src: /src/libspectre/ghostscript/psi/dwreg.c:58,1
    - Dst: RegQueryValueEx
      Src: /src/libspectre/ghostscript/psi/dwreg.c:65,1
    - Dst: RegCloseKey
      Src: /src/libspectre/ghostscript/psi/dwreg.c:66,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - name
    - ptr
    - plen
    argTypes:
    - char*
    - char*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 77
    functionName: win_get_reg_value
    functionSourceFile: /src/libspectre/ghostscript/psi/dwreg.c
    functionUses: 0
    functionsReached:
    - win_registry_key
    - RegOpenKeyEx
    - RegQueryValueEx
    - RegCloseKey
    linkageType: ''
    returnType: int
    signature: int win_get_reg_value(const char *name, char *ptr, int *plen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: win_registry_key
      Src: /src/libspectre/ghostscript/psi/dwreg.c:93,1
    - Dst: RegOpenKeyEx
      Src: /src/libspectre/ghostscript/psi/dwreg.c:94,1
    - Dst: RegCreateKeyEx
      Src: /src/libspectre/ghostscript/psi/dwreg.c:96,1
    - Dst: RegSetValueEx
      Src: /src/libspectre/ghostscript/psi/dwreg.c:99,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwreg.c:100,1
    - Dst: RegCloseKey
      Src: /src/libspectre/ghostscript/psi/dwreg.c:101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - name
    - value
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 105
    functionName: win_set_reg_value
    functionSourceFile: /src/libspectre/ghostscript/psi/dwreg.c
    functionUses: 0
    functionsReached:
    - RegCreateKeyEx
    - strlen
    - win_registry_key
    - RegSetValueEx
    - RegOpenKeyEx
    - RegCloseKey
    linkageType: ''
    returnType: int
    signature: int win_set_reg_value(const char *name, const char *value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/inobtokn.c:27,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_ctx_p
    - pref
    - pstate
    argTypes:
    - i_ctx_t*
    - ref*
    - scanner_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 24
    functionDepth: 1
    functionLinenumber: 24
    functionLinenumberEnd: 28
    functionName: scan_binary_token
    functionSourceFile: /src/libspectre/ghostscript/psi/inobtokn.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int scan_binary_token(i_ctx_t *i_ctx_p, ref *pref, scanner_state *pstate)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pSHA256_Init
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:52,1
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:53,1
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:54,1
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:56,1
    - Dst: pSHA256_Final
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:57,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:62,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:63,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:65,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:68,1
    - Dst: aes_setkey_enc
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:71,1
    - Dst: aes_crypt_cbc
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:72,1
    - Dst: pSHA256_Init
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:83,1
    - Dst: pSHA256_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:84,1
    - Dst: pSHA256_Final
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:85,1
    - Dst: pSHA384_Init
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:88,1
    - Dst: pSHA384_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:89,1
    - Dst: pSHA384_Final
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:90,1
    - Dst: pSHA512_Init
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:93,1
    - Dst: pSHA512_Update
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:94,1
    - Dst: pSHA512_Final
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:95,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:100,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:101,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 5
    argNames:
    - password
    - pwlen
    - salt
    - ownerkey
    - hash
    argTypes:
    - unsigned char*
    - int
    - unsigned char[]
    - unsigned char*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 38
    functionDepth: 4
    functionLinenumber: 38
    functionLinenumberEnd: 102
    functionName: pdf_compute_hardened_hash_r6
    functionSourceFile: /src/libspectre/ghostscript/psi/zpdf_r6.c
    functionUses: 0
    functionsReached:
    - pSHA384_Final
    - aes_setkey_enc
    - pSHA384_Init
    - aes_crypt_cbc
    - pSHA384_Update
    - pSHA256_Init
    - memcpy
    - pSHA512_Final
    - memset
    - pSHA512_Init
    - pSHA256_Final
    - pSHA512_Update
    - pSHA256_Update
    linkageType: ''
    returnType: void
    signature: void pdf_compute_hardened_hash_r6(unsigned char *password, int pwlen,
      unsigned char salt[16], unsigned char *ownerkey, unsigned char hash[32])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pdf_compute_hardened_hash_r6
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:114,1
    - Dst: pdf_compute_hardened_hash_r6
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:117,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:121,1
    - Dst: aes_setkey_dec
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:122,1
    - Dst: aes_crypt_cbc
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 9
    argNames:
    - password
    - pwlen
    - O
    - OE
    - U
    - UE
    - ownerkey
    - validationkey
    - output
    argTypes:
    - unsigned char*
    - int
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - unsigned char*
    - int
    - unsigned char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 104
    functionDepth: 5
    functionLinenumber: 104
    functionLinenumberEnd: 125
    functionName: pdf_compute_encryption_key_r6
    functionSourceFile: /src/libspectre/ghostscript/psi/zpdf_r6.c
    functionUses: 0
    functionsReached:
    - memset
    - pdf_compute_hardened_hash_r6
    - aes_crypt_cbc
    - aes_setkey_dec
    linkageType: ''
    returnType: void
    signature: void pdf_compute_encryption_key_r6(unsigned char *password, int pwlen,
      unsigned char *O, unsigned char *OE, unsigned char *U, unsigned char *UE, int
      ownerkey, unsigned char *validationkey, unsigned char *output)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:139,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:143,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:144,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:145,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:146,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:148,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:152,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:153,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:154,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:155,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:156,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:158,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:162,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:163,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:164,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:165,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:166,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:172,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:173,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:174,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:175,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:176,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:178,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:182,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:184,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:185,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:186,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:188,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:191,1
    - Dst: pdf_compute_encryption_key_r6
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:194,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:197,1
    - Dst: pdf_compute_encryption_key_r6
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:199,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:202,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:204,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:205,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:210,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:212,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:213,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:214,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:215,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:216,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:217,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zpdf_r6.c:218,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 66
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 221
    functionName: zcheck_r6_password
    functionSourceFile: /src/libspectre/ghostscript/psi/zpdf_r6.c
    functionUses: 0
    functionsReached:
    - ref_assign
    - dict_find_string
    - r_has_type
    - check_op
    - pdf_compute_encryption_key_r6
    - ialloc_string
    - push
    - memcpy
    - pop
    - memcmp
    - return_error
    - make_string
    - make_bool
    - r_size
    linkageType: ''
    returnType: int
    signature: int zcheck_r6_password(i_ctx_t * i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gx_pattern_alloc_cache
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:61,1
    - Dst: gx_pat_cache_default_tiles
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:62,1
    - Dst: gx_pat_cache_default_bits
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:63,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:65,1
    - Dst: gstate_set_pattern_cache
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 68
    functionName: zpcolor_init
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - gx_pat_cache_default_tiles
    - gx_pat_cache_default_bits
    - gstate_set_pattern_cache
    - gx_pattern_alloc_cache
    - return_error
    linkageType: ''
    returnType: int
    signature: int zpcolor_init(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:75,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - ppdata
    - op
    - mem
    argTypes:
    - int_pattern**
    - ref*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: int_pattern_alloc
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_alloc_struct
    linkageType: ''
    returnType: int
    signature: int int_pattern_alloc(int_pattern **ppdata, const ref *op, gs_memory_t
      *mem)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:98,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:101,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:102,1
    - Dst: gs_pattern1_init
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:103,1
    - Dst: dict_uid_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:109,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:111,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:115,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:119,1
    - Dst: dict_floats_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:123,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:127,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:133,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:135,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:139,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:141,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:145,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:150,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:152,1
    - Dst: int_pattern_alloc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:159,1
    - Dst: gs_makepattern
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:162,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:164,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:168,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 62
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 85
    functionDepth: 3
    functionLinenumber: 85
    functionLinenumberEnd: 170
    functionName: zbuildpattern1
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - dict_floats_param
    - ifree_object
    - return_error
    - dict_int_param
    - dict_find_string
    - make_istruct
    - check_type
    - check_proc
    - gs_pattern1_init
    - int_pattern_alloc
    - dict_uid_param
    - gs_makepattern
    - check_dict_read
    - dict_float_param
    - read_matrix
    - dict_bool_param
    linkageType: ''
    returnType: int
    signature: int zbuildpattern1(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:191,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pcc
    - pgs
    argTypes:
    - gs_client_color*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 195
    functionName: zPaintProc
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - gs_int_gstate
    - r_ptr
    - return_error
    linkageType: ''
    returnType: int
    signature: int zPaintProc(const gs_client_color * pcc, gs_gstate * pgs)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:202,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:205,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:210,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:212,1
    - Dst: gstate_pattern_cache
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:219,1
    - Dst: gx_pattern_accum_alloc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:221,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:223,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:224,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:226,1
    - Dst: gx_pattern_cache_add_dummy_entry
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:230,1
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:234,1
    - Dst: gs_setgstate
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:237,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:239,1
    - Dst: gs_setdevice_no_init
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:244,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:246,1
    - Dst: gs_push_pdf14trans_device
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:247,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:251,1
    - Dst: gx_erase_colored_pattern
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:252,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:260,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:261,1
    - Dst: gs_bbox_transform
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:262,1
    - Dst: ctm_only
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:262,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:264,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:267,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:268,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:269,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:270,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:271,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:273,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:284,1
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:300,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:303,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:307,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:309,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:311,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:313,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:316,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:316,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:317,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:318,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 84
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 197
    functionDepth: 5
    functionLinenumber: 197
    functionLinenumberEnd: 322
    functionName: pattern_paint_prepare
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - gs_setgstate
    - gs_push_pdf14trans_device
    - push_mark_estack
    - gs_currentdevice_inline
    - gstate_pattern_cache
    - ctm_only
    - gs_grestore
    - gs_setdevice_no_init
    - gx_pattern_cache_add_dummy_entry
    - gx_clip_to_rectangle
    - ref_stack_count
    - gs_bbox_transform
    - float2fixed
    - ifree_object
    - make_istruct
    - gs_setmatrix
    - push_op_estack
    - check_estack
    - dev_proc
    - if_debug0m
    - make_int
    - dict_find_string
    - gs_currentcolor
    - gx_pattern_accum_alloc
    - return_error
    - gx_erase_colored_pattern
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int pattern_paint_prepare(i_ctx_t *i_ctx_p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:327,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:328,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:330,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:332,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:347,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:350,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:352,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:356,1
    - Dst: gs_pop_pdf14trans_device
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:364,1
    - Dst: pdf14_get_buffer_information
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:371,1
    - Dst: gx_pattern_cache_add_entry
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:382,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:388,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:390,1
    - Dst: pattern_paint_cleanup
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:393,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 324
    functionDepth: 6
    functionLinenumber: 324
    functionLinenumberEnd: 395
    functionName: pattern_paint_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 0
    functionsReached:
    - gs_currentcolor
    - gs_grestore
    - pattern_paint_cleanup
    - r_ptr
    - ref_stack_count
    - pdf14_get_buffer_information
    - dmlprintf1
    - pop
    - return_error
    - gx_pattern_cache_add_entry
    - gs_pop_pdf14trans_device
    linkageType: ''
    returnType: int
    signature: int pattern_paint_finish(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:402,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:403,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:404,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:415,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:418,1
    - Dst: gs_currentcolor
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:420,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:425,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:428,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:435,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:438,1
    - Dst: gx_unset_dev_color
      Src: /src/libspectre/ghostscript/psi/zpcolor.c:439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 398
    functionDepth: 3
    functionLinenumber: 398
    functionLinenumberEnd: 444
    functionName: pattern_paint_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zpcolor.c
    functionUses: 1
    functionsReached:
    - gs_currentcolor
    - gx_unset_dev_color
    - gs_grestore
    - r_ptr
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int pattern_paint_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: check_type_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_type_only(rf,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - styp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 34
    functionName: check_stype_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_stype_only(rf,styp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - errstat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 37
    functionName: check_array_else
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_array_else(rf,errstat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 39
    functionName: check_array_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_array_only(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: check_proc
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_proc(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: check_proc_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_proc_only(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - acc1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: check_access
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_access(rf,acc1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    functionName: check_read
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_read(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: check_write
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_write(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rf
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: check_execute
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_execute(rf)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rf
    - ','
    - typ
    - ','
    - acc1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: check_type_access_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_type_access_only(rf,typ,acc1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 60
    functionName: check_read_type_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_read_type_only(rf,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: check_write_type_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_write_type_only(rf,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - orf
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 69
    functionName: check_int_leu
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_int_leu(orf, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rf
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: check_int_leu_only
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_int_leu_only(rf, u)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - orf
    - ','
    - u
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: check_int_ltu
    functionSourceFile: /src/libspectre/ghostscript/psi/opcheck.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_int_ltu(orf, u)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleFileName
      Src: /src/libspectre/ghostscript/psi/dwdll.c:62,1
    - Dst: GetModuleHandle
      Src: /src/libspectre/ghostscript/psi/dwdll.c:62,1
    - Dst: strrchr
      Src: /src/libspectre/ghostscript/psi/dwdll.c:63,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/dwdll.c:68,1
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/psi/dwdll.c:69,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/psi/dwdll.c:74,1
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/psi/dwdll.c:75,1
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/psi/dwdll.c:80,1
    - Dst: GetLastError
      Src: /src/libspectre/ghostscript/psi/dwdll.c:84,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwdll.c:85,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dwdll.c:86,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:104,1
    - Dst: GSDLL*::revision
      Src: /src/libspectre/ghostscript/psi/dwdll.c:107,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwdll.c:108,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dwdll.c:109,1
    - Dst: unload_dll
      Src: /src/libspectre/ghostscript/psi/dwdll.c:110,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwdll.c:114,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dwdll.c:115,1
    - Dst: unload_dll
      Src: /src/libspectre/ghostscript/psi/dwdll.c:116,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:121,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:122,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:123,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:124,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:125,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:126,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:127,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:128,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:129,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:130,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:131,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:132,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:133,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:134,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:135,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:136,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:137,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:138,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:139,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:140,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:141,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:142,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:143,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:144,1
    - Dst: ASSIGN_API_FN
      Src: /src/libspectre/ghostscript/psi/dwdll.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 3
    argNames:
    - gsdll
    - last_error
    - len
    argTypes:
    - GSDLL*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 148
    functionName: load_dll
    functionSourceFile: /src/libspectre/ghostscript/psi/dwdll.c
    functionUses: 2
    functionsReached:
    - strcat
    - sprintf
    - gp_getenv
    - GetModuleHandle
    - unload_dll
    - strrchr
    - strncpy
    - GetModuleFileName
    - GetLastError
    - GSDLL*::revision
    - ASSIGN_API_FN
    - LoadLibrary
    linkageType: ''
    returnType: int
    signature: int load_dll(GSDLL *gsdll, char *last_error, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - A
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: ASSIGN_API_FN
    functionSourceFile: /src/libspectre/ghostscript/psi/dwdll.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ASSIGN_API_FN(A)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FreeLibrary
      Src: /src/libspectre/ghostscript/psi/dwdll.c:164,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - gsdll
    argTypes:
    - GSDLL*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 166
    functionName: unload_dll
    functionSourceFile: /src/libspectre/ghostscript/psi/dwdll.c
    functionUses: 1
    functionsReached:
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void unload_dll(GSDLL *gsdll)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - in
    - ','
    - out
    - ','
    - err
    - ','
    - mlp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 50
    functionName: gs_init0
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_init0(in, out, err, mlp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: gs_init1
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_init1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 56
    functionName: gs_init2
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_init2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - path
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: gs_add_lib_path
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_add_lib_path(path)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 62
    functionName: gs_set_lib_paths
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_set_lib_paths()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fname
    - ','
    - pfile
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 65
    functionName: gs_lib_open
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_lib_open(fname, pfile)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - fn
    - ','
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    functionName: gs_run_file
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_file(fn, ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - str
    - ','
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: gs_run_string
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_string(str, ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - len
    - ','
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 77
    functionName: gs_run_string_with_length
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_string_with_length(str, len, ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - fn
    - ','
    - pfref
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: gs_run_file_open
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_file_open(fn, pfref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: gs_run_string_begin
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_string_begin(ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - str
    - ','
    - len
    - ','
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: gs_run_string_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_string_continue(str, len, ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ue
    - ','
    - pec
    - ','
    - peo
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    functionName: gs_run_string_end
    functionSourceFile: /src/libspectre/ghostscript/psi/main.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_run_string_end(ue, pec, peo)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - paramdict
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: set_user_params
    functionSourceFile: /src/libspectre/ghostscript/psi/inouparm.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_user_params(i_ctx_t *i_ctx_p, const ref *paramdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - dname
    - ','
    - init
    - ','
    - finit
    - ','
    - open
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 51
    functionName: iodev_special
    functionSourceFile: /src/libspectre/ghostscript/psi/ziodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iodev_special(dname, init, finit, open)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ziodev.c:82,1
    - Dst: gs_getiodevice
      Src: /src/libspectre/ghostscript/psi/ziodev.c:83,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:85,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/ziodev.c:88,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:90,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/ziodev.c:91,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 93
    functionName: zgetiodevice
    functionSourceFile: /src/libspectre/ghostscript/psi/ziodev.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - gs_getiodevice
    - make_null
    - strlen
    - check_type
    - return_error
    linkageType: ''
    returnType: int
    signature: int zgetiodevice(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    functionName: COMPILE_TIME_ASSERT
    functionSourceFile: /src/libspectre/ghostscript/psi/ziodev.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPILE_TIME_ASSERT(A,B)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ziodev.c:136,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ziodev.c:139,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/ziodev.c:141,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/ziodev.c:143,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:149,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:152,1
    - Dst: zreadline_from
      Src: /src/libspectre/ghostscript/psi/ziodev.c:158,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:165,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:171,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:179,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:184,1
    - Dst: make_file
      Src: /src/libspectre/ghostscript/psi/ziodev.c:191,1
    - Dst: s_handle_read_exception
      Src: /src/libspectre/ghostscript/psi/ziodev.c:192,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:202,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:209,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:212,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/ziodev.c:228,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:238,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:238,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:241,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:244,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:245,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/psi/ziodev.c:252,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:253,1
    - Dst: gs_scanner_init_stream_options
      Src: /src/libspectre/ghostscript/psi/ziodev.c:255,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/ziodev.c:256,1
    - Dst: gs_scan_token
      Src: /src/libspectre/ghostscript/psi/ziodev.c:257,1
    - Dst: ref_stack_pop_to
      Src: /src/libspectre/ghostscript/psi/ziodev.c:258,1
    - Dst: gs_resize_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:273,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:276,1
    - Dst: file_alloc_stream
      Src: /src/libspectre/ghostscript/psi/ziodev.c:280,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:282,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/psi/ziodev.c:284,1
    - Dst: ssetfilename
      Src: /src/libspectre/ghostscript/psi/ziodev.c:290,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/ziodev.c:290,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/ziodev.c:292,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/ziodev.c:293,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/ziodev.c:296,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/ziodev.c:297,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 125
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 117
    functionDepth: 2
    functionLinenumber: 117
    functionLinenumberEnd: 300
    functionName: zfilelineedit
    functionSourceFile: /src/libspectre/ghostscript/psi/ziodev.c
    functionUses: 1
    functionsReached:
    - gs_scanner_init_stream_options
    - strlen
    - sread_string
    - check_read_file
    - gs_alloc_string
    - sclose
    - gs_resize_string
    - ref_stack_count
    - gs_scan_token
    - gs_note_error
    - make_stream_file
    - check_type
    - make_file
    - ssetfilename
    - s_init
    - file_alloc_stream
    - s_handle_read_exception
    - zreadline_from
    - ref_stack_pop_to
    - pop
    - return_error
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: int zfilelineedit(i_ctx_t *i_ctx_p)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:40,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:42,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:44,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:46,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:50,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:51,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:54,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:55,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:60,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:64,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:66,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:70,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:71,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:74,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:75,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zarith.c:80,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:87,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:99,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 48
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 106
    functionName: zop_add
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - gs_currentcpsimode
    - return_op_typecheck
    - isnan
    - isinf
    - return_error
    - make_real
    linkageType: ''
    returnType: int
    signature: int zop_add(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zop_add
      Src: /src/libspectre/ghostscript/psi/zarith.c:110,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 107
    functionDepth: 3
    functionLinenumber: 107
    functionLinenumberEnd: 116
    functionName: zadd
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - zop_add
    - pop
    linkageType: ''
    returnType: int
    signature: int zadd(i_ctx_t *i_ctx_p)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:128,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:130,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:133,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:134,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:136,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:140,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:141,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:144,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:145,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:152,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:153,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:156,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:157,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:164,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:165,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:167,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:171,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:172,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:175,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:176,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:183,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:184,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:187,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:188,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:190,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:193,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 195
    functionName: zdiv
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - isnan
    - isinf
    - pop
    - return_error
    - make_real
    linkageType: ''
    returnType: int
    signature: int zdiv(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - abc
    - def
    - res
    argTypes:
    - int64_t
    - int64_t
    - int64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 253
    functionName: mul_64_64_overflowcheck
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int mul_64_64_overflowcheck(int64_t abc, int64_t def, int64_t *res)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:262,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:264,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:266,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:268,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:272,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:273,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:276,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:277,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:283,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:287,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:289,1
    - Dst: isinf
      Src: /src/libspectre/ghostscript/psi/zarith.c:293,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:294,1
    - Dst: isnan
      Src: /src/libspectre/ghostscript/psi/zarith.c:297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:298,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zarith.c:303,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:306,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:308,1
    - Dst: mul_64_64_overflowcheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:314,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:316,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:324,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 326
    functionName: zmul
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - gs_currentcpsimode
    - return_op_typecheck
    - isnan
    - isinf
    - pop
    - return_error
    - make_real
    - mul_64_64_overflowcheck
    linkageType: ''
    returnType: int
    signature: int zmul(i_ctx_t *i_ctx_p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:336,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:338,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:340,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:342,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:347,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:351,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:353,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zarith.c:358,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:366,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 38
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 385
    functionName: zop_sub
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - make_real
    - r_type
    - gs_currentcpsimode
    - return_op_typecheck
    linkageType: ''
    returnType: int
    signature: int zop_sub(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zop_sub
      Src: /src/libspectre/ghostscript/psi/zarith.c:389,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:392,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 395
    functionName: zsub
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - zop_sub
    - pop
    linkageType: ''
    returnType: int
    signature: int zsub(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:403,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:404,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zarith.c:405,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:417,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:421,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 423
    functionName: zidiv
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_currentcpsimode
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zidiv(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:431,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:432,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarith.c:434,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:436,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 438
    functionName: zmod
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - return_error
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zmod(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:446,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:448,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zarith.c:453,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:455,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zarith.c:461,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 467
    functionName: zneg
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - make_real
    - r_type
    - gs_currentcpsimode
    - return_op_typecheck
    linkageType: ''
    returnType: int
    signature: int zneg(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:475,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:477,1
    - Dst: zneg
      Src: /src/libspectre/ghostscript/psi/zarith.c:487,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 488
    functionName: zabs
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - zneg
    - return_op_typecheck
    linkageType: ''
    returnType: int
    signature: int zabs(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:496,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:498,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/psi/zarith.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 504
    functionName: zceiling
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - ceil
    linkageType: ''
    returnType: int
    signature: int zceiling(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:512,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:514,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/psi/zarith.c:516,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 520
    functionName: zfloor
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - floor
    linkageType: ''
    returnType: int
    signature: int zfloor(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:528,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:530,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/psi/zarith.c:532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 536
    functionName: zround
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - floor
    linkageType: ''
    returnType: int
    signature: int zround(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:544,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarith.c:546,1
    - Dst: ceil
      Src: /src/libspectre/ghostscript/psi/zarith.c:550,1
    - Dst: floor
      Src: /src/libspectre/ghostscript/psi/zarith.c:551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 539
    functionDepth: 1
    functionLinenumber: 539
    functionLinenumberEnd: 555
    functionName: ztruncate
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - floor
    - ceil
    linkageType: ''
    returnType: int
    signature: int ztruncate(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:565,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarith.c:566,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarith.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 560
    functionDepth: 1
    functionLinenumber: 560
    functionLinenumberEnd: 570
    functionName: zbitadd
    functionSourceFile: /src/libspectre/ghostscript/psi/zarith.c
    functionUses: 0
    functionsReached:
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zbitadd(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - opp
    - ','
    - dflt
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: EQ_CHECK_READ
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: EQ_CHECK_READ(opp, dflt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EQ_CHECK_READ
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:50,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:50,1
    - Dst: EQ_CHECK_READ
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:51,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:52,1
    - Dst: obj_eq
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:52,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 55
    functionName: zeq
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - check_op
    - obj_eq
    - pop
    - EQ_CHECK_READ
    linkageType: ''
    returnType: int
    signature: int zeq(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zeq
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: zne
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - zeq
    linkageType: ''
    returnType: int
    signature: int zne(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:74,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:78,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 81
    functionName: zge
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - pop
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zge(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:89,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:93,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 96
    functionName: zgt
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - pop
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zgt(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:104,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:108,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:109,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 111
    functionName: zle
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - pop
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zle(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:119,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:123,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 126
    functionName: zlt
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - pop
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zlt(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:134,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:139,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:141,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 143
    functionName: zmax
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - pop
    - ref_assign
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zmax(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: obj_le
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:151,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:156,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 160
    functionName: zmin
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - pop
    - ref_assign
    - obj_le
    linkageType: ''
    returnType: int
    signature: int zmin(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:169,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:171,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:175,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:179,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:181,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 183
    functionName: zand
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zand(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:192,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 203
    functionName: znot
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    linkageType: ''
    returnType: int
    signature: int znot(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:212,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:214,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:218,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:222,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:224,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 226
    functionName: zor
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 2
    functionsReached:
    - r_type
    - return_op_typecheck
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zor(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:235,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:237,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:241,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:245,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 249
    functionName: zxor
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - r_type
    - return_op_typecheck
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zxor(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:260,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:261,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:264,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:267,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:276,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:284,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 286
    functionName: zbitshift
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - gs_currentcpsimode
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zbitshift(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EQ_CHECK_READ
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:296,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:296,1
    - Dst: EQ_CHECK_READ
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:297,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:298,1
    - Dst: obj_ident_eq
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:298,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: zidenteq
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - make_bool
    - check_op
    - pop
    - EQ_CHECK_READ
    - obj_ident_eq
    linkageType: ''
    returnType: int
    signature: int zidenteq(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zidenteq
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:309,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: zidentne
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 0
    functionsReached:
    - zidenteq
    linkageType: ''
    returnType: int
    signature: int zidentne(i_ctx_t *i_ctx_p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:347,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:349,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:355,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:358,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:364,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:367,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:368,1
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:369,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:369,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:370,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zrelbit.c:372,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 2
    argNames:
    - op1
    - op
    argTypes:
    - os_ptr
    - os_ptr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 374
    functionName: obj_le
    functionSourceFile: /src/libspectre/ghostscript/psi/zrelbit.c
    functionUses: 6
    functionsReached:
    - r_type
    - r_size
    - return_op_typecheck
    - check_read
    - check_read_type
    - bytes_compare
    linkageType: ''
    returnType: int
    signature: int obj_le(register os_ptr op1, register os_ptr op)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_struct_clear_marks
      Src: /src/libspectre/ghostscript/psi/zbfont.c:44,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/psi/zbfont.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: CLEAR_MARKS_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - offset_of
    - ref_struct_clear_marks
    linkageType: ''
    returnType: void
    signature: void CLEAR_MARKS_PROC(font_data_clear_marks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_struct_enum_ptrs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:49,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/psi/zbfont.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - offset_of
    - ref_struct_enum_ptrs
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(font_data_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_struct_reloc_ptrs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:55,1
    - Dst: offset_of
      Src: /src/libspectre/ghostscript/psi/zbfont.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 56
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - offset_of
    - ref_struct_reloc_ptrs
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(font_data_reloc_ptrs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:69,1
    - Dst: build_gs_font_procs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:70,1
    - Dst: build_gs_simple_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:73,1
    - Dst: define_gs_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: zbuildfont3
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - build_gs_simple_font
    - define_gs_font
    - check_type
    - build_gs_font_procs
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END zbuildfont3(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:84,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zbfont.c:88,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:90,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:92,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:95,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:96,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zbfont.c:97,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:97,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/zbfont.c:112,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:113,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zbfont.c:113,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zbfont.c:121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 3
    argNames:
    - pfont
    - chr
    - gspace
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 81
    functionDepth: 5
    functionLinenumber: 81
    functionLinenumberEnd: 122
    functionName: zfont_encode_char
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - r_type
    - name_index
    - r_has_type
    - strlen
    - name_ref
    - gs_sprintf
    - pfont_data
    - memcmp
    - array_get
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph zfont_encode_char(gs_font *pfont, gs_char chr, gs_glyph_space_t
      gspace)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/zbfont.c:134,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:135,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zbfont.c:135,1
    - Dst: name_index_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:140,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:141,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - font
    - index
    - pstr
    argTypes:
    - gs_font*
    - gs_glyph
    - gs_const_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 125
    functionDepth: 5
    functionLinenumber: 125
    functionLinenumberEnd: 145
    functionName: zfont_glyph_name
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - name_index_ref
    - strlen
    - name_ref
    - gs_sprintf
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: int
    signature: int zfont_glyph_name(gs_font *font, gs_glyph index, gs_const_string
      *pstr)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:155,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zbfont.c:157,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zbfont.c:158,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zbfont.c:161,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:161,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zbfont.c:182,1
    - Dst: name_index_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:184,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zbfont.c:185,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:186,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:187,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zbfont.c:191,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:194,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 5
    argNames:
    - mem
    - map
    - glyph
    - u
    - length
    argTypes:
    - gs_memory_t*
    - ref*
    - gs_glyph
    - ushort*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 213
    functionName: gs_font_map_glyph_by_dict
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - r_type
    - make_int
    - name_index_ref
    - dict_find_string
    - r_has_type
    - memcpy
    - dict_find
    - array_get
    - r_size
    linkageType: ''
    returnType: gs_char
    signature: gs_char gs_font_map_glyph_by_dict(const gs_memory_t *mem, const ref
      *map, gs_glyph glyph, ushort *u, unsigned int length)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:219,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:223,1
    - Dst: gs_font_map_glyph_by_dict
      Src: /src/libspectre/ghostscript/psi/zbfont.c:224,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zbfont.c:239,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zbfont.c:240,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:241,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:242,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zbfont.c:247,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:250,1
    - Dst: zfont_get_to_unicode_map
      Src: /src/libspectre/ghostscript/psi/zbfont.c:276,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:277,1
    - Dst: gs_font_map_glyph_by_dict
      Src: /src/libspectre/ghostscript/psi/zbfont.c:278,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 5
    argNames:
    - font
    - glyph
    - ch
    - u
    - length
    argTypes:
    - gs_font*
    - gs_glyph
    - int
    - ushort*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 281
    functionName: gs_font_map_glyph_to_unicode
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - r_type
    - zfont_get_to_unicode_map
    - make_int
    - gs_font_map_glyph_by_dict
    - r_has_type
    - pfont_data
    - memcpy
    - dict_find
    - r_size
    linkageType: ''
    returnType: int
    signature: int gs_font_map_glyph_to_unicode(gs_font *font, gs_glyph glyph, int
      ch, ushort *u, unsigned int length)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:301,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:303,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zbfont.c:304,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:306,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:309,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:311,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zbfont.c:312,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - mem
    - pbuild
    - bcstr
    - bgstr
    argTypes:
    - gs_memory_t*
    - build_proc_refs*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 317
    functionName: build_proc_name_refs
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - make_null
    - strlen
    - r_set_attrs
    - name_ref
    linkageType: ''
    returnType: int
    signature: "int build_proc_name_refs(const gs_memory_t *mem, build_proc_refs *
      pbuild,\n                     const char *bcstr, const char *bgstr)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:327,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:328,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:329,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:332,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:333,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zbfont.c:335,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:339,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zbfont.c:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - op
    - pbuild
    argTypes:
    - os_ptr
    - build_proc_refs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 345
    functionName: build_gs_font_procs
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 2
    functionsReached:
    - make_null
    - dict_find_string
    - check_type
    - check_proc
    - return_error
    linkageType: ''
    returnType: int
    signature: int build_gs_font_procs(os_ptr op, build_proc_refs * pbuild)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: uid_equal
      Src: /src/libspectre/ghostscript/psi/zbfont.c:352,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:353,1
    - Dst: gs_font_parent
      Src: /src/libspectre/ghostscript/psi/zbfont.c:353,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:354,1
    - Dst: gs_font_parent
      Src: /src/libspectre/ghostscript/psi/zbfont.c:354,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:357,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:359,1
    - Dst: obj_eq
      Src: /src/libspectre/ghostscript/psi/zbfont.c:363,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:365,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:367,1
    - Dst: obj_eq
      Src: /src/libspectre/ghostscript/psi/zbfont.c:371,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 20
    argCount: 2
    argNames:
    - pfont0
    - pfont1
    argTypes:
    - gs_font*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 375
    functionName: font_with_same_UID_and_another_metrics
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - uid_equal
    - dict_find_string
    - gs_font_parent
    - obj_eq
    - pfont_data
    linkageType: ''
    returnType: int
    signature: int font_with_same_UID_and_another_metrics(const gs_font *pfont0, const
      gs_font *pfont1)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:392,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:394,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:398,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:399,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:401,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:403,1
    - Dst: build_gs_outline_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:410,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:415,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zbfont.c:417,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:419,1
    - Dst: uid_is_valid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:422,1
    - Dst: dict_check_uid_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:423,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:425,1
    - Dst: uid_is_valid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:426,1
    - Dst: gs_font_find_similar
      Src: /src/libspectre/ghostscript/psi/zbfont.c:429,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:434,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 29
    argCount: 7
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - options
    argTypes:
    - i_ctx_t*
    - os_ptr
    - gs_font_base**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - build_font_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 380
    functionDepth: 2
    functionLinenumber: 380
    functionLinenumberEnd: 437
    functionName: build_gs_primitive_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - make_null
    - ref_assign
    - dict_find_string
    - r_has_type
    - build_gs_outline_font
    - dict_check_uid_param
    - pfont_data
    - gs_font_find_similar
    - uid_set_invalid
    - return_error
    - uid_is_valid
    linkageType: ''
    returnType: int
    signature: "int build_gs_primitive_font(i_ctx_t *i_ctx_p, os_ptr op, gs_font_base
      ** ppfont,\n                        font_type ftype, gs_memory_type_ptr_t pstype,\n
      \                       const build_proc_refs * pbuild,\n                        build_font_options_t
      options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_gs_sub_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 7
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - ignore_options
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_font_base**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - build_font_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 456
    functionName: build_FDArray_sub_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - build_gs_sub_font
    linkageType: ''
    returnType: int
    signature: "int build_FDArray_sub_font(i_ctx_t *i_ctx_p, ref *op,\n                       gs_font_base
      **ppfont,\n                       font_type ftype, gs_memory_type_ptr_t pstype,\n
      \                      const build_proc_refs * pbuild,\n                       build_font_options_t
      ignore_options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: build_gs_outline_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:465,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:473,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:475,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:477,1
    - Dst: init_gs_simple_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 6
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_font_base**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 457
    functionDepth: 1
    functionLinenumber: 457
    functionLinenumberEnd: 485
    functionName: build_gs_FDArray_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - make_null
    - build_gs_outline_font
    - pfont_data
    - uid_set_invalid
    - init_gs_simple_font
    linkageType: ''
    returnType: int
    signature: "int build_gs_FDArray_font(i_ctx_t *i_ctx_p, ref *op,\n                      gs_font_base
      **ppfont,\n                      font_type ftype, gs_memory_type_ptr_t pstype,\n
      \                     const build_proc_refs * pbuild)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:500,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:504,1
    - Dst: build_base_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:507,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 8
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - options
    - build_base_font
    argTypes:
    - i_ctx_t*
    - os_ptr
    - gs_font_base**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - build_font_options_t
    - build_base_font_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 515
    functionName: build_gs_outline_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 2
    functionsReached:
    - dict_int_param
    - dict_float_param
    - build_base_font
    linkageType: ''
    returnType: int
    signature: "int build_gs_outline_font(i_ctx_t *i_ctx_p, os_ptr op, gs_font_base
      ** ppfont,\n                      font_type ftype, gs_memory_type_ptr_t pstype,\n
      \                     const build_proc_refs * pbuild,\n                      build_font_options_t
      options,\n                      build_base_font_proc_t build_base_font)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:523,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:524,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:525,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:526,1
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:532,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/zbfont.c:533,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 3
    argNames:
    - i_ctx_p
    - pfont
    - pdref
    argTypes:
    - i_ctx_t*
    - gs_font*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 534
    functionName: get_GlyphNames2Unicode
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - r_has_type
    - pfont_data
    - ref_assign_new
    linkageType: ''
    returnType: void
    signature: void get_GlyphNames2Unicode(i_ctx_t *i_ctx_p, gs_font *pfont, ref *pdref)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:548,1
    - Dst: font_bbox_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:550,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:558,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:558,1
    - Dst: dict_uid_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:559,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:560,1
    - Dst: uid_is_UniqueID
      Src: /src/libspectre/ghostscript/psi/zbfont.c:563,1
    - Dst: uid_set_invalid
      Src: /src/libspectre/ghostscript/psi/zbfont.c:564,1
    - Dst: build_gs_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:565,1
    - Dst: init_gs_simple_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:577,1
    - Dst: lookup_gs_simple_font_encoding
      Src: /src/libspectre/ghostscript/psi/zbfont.c:578,1
    - Dst: get_GlyphNames2Unicode
      Src: /src/libspectre/ghostscript/psi/zbfont.c:579,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 7
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - options
    argTypes:
    - i_ctx_t*
    - os_ptr
    - gs_font_base**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - build_font_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 538
    functionDepth: 2
    functionLinenumber: 538
    functionLinenumberEnd: 581
    functionName: build_gs_simple_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 2
    functionsReached:
    - ialloc_space
    - uid_is_UniqueID
    - lookup_gs_simple_font_encoding
    - build_gs_font
    - font_bbox_param
    - uid_set_invalid
    - init_gs_simple_font
    - dict_uid_param
    - get_GlyphNames2Unicode
    - r_space
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: "int build_gs_simple_font(i_ctx_t *i_ctx_p, os_ptr op, gs_font_base
      ** ppfont,\n                     font_type ftype, gs_memory_type_ptr_t pstype,\n
      \                    const build_proc_refs * pbuild,\n                     build_font_options_t
      options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pfont
    - bbox
    - puid
    argTypes:
    - gs_font_base*
    - double[]
    - gs_uid*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 584
    functionDepth: 0
    functionLinenumber: 584
    functionLinenumberEnd: 593
    functionName: init_gs_simple_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void init_gs_simple_font(gs_font_base *pfont, const double bbox[4],\n
      \                   const gs_uid *puid)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: pfont_data
      Src: /src/libspectre/ghostscript/psi/zbfont.c:599,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:603,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:603,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:605,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zbfont.c:615,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:616,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:622,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:624,1
    - Dst: gs_c_glyph_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:634,1
    - Dst: gs_c_known_encode
      Src: /src/libspectre/ghostscript/psi/zbfont.c:634,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zbfont.c:636,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 31
    argCount: 1
    argNames:
    - pfont
    argTypes:
    - gs_font_base*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 596
    functionDepth: 2
    functionLinenumber: 596
    functionLinenumberEnd: 655
    functionName: lookup_gs_simple_font_encoding
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 1
    functionsReached:
    - r_type
    - r_has_type
    - pfont_data
    - gs_c_glyph_name
    - memcmp
    - array_get
    - gs_c_known_encode
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: void
    signature: void lookup_gs_simple_font_encoding(gs_font_base * pfont)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:663,1
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zbfont.c:664,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:666,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:667,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:669,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:670,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:674,1
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zbfont.c:675,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/zbfont.c:677,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:680,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:681,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:682,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:682,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:682,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:683,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:683,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:683,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:684,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:687,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:687,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:688,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:691,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zbfont.c:692,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zbfont.c:694,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:695,1
    - Dst: get_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:697,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:698,1
    - Dst: get_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:700,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:701,1
    - Dst: get_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:702,1
    - Dst: make_empty_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:704,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 30
    argCount: 5
    argNames:
    - mem
    - op
    - pmat
    - pomat
    - pfname
    argTypes:
    - gs_memory_t*
    - ref*
    - gs_matrix*
    - gs_matrix*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 658
    functionDepth: 1
    functionLinenumber: 658
    functionLinenumberEnd: 706
    functionName: sub_font_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 0
    functionsReached:
    - gs_alloc_string
    - make_empty_string
    - dict_find_string
    - r_has_type
    - memset
    - memcpy
    - make_string
    - return_error
    - read_matrix
    - get_font_name
    - r_size
    linkageType: ''
    returnType: int
    signature: int sub_font_params(gs_memory_t *mem, const ref *op, gs_matrix *pmat,
      gs_matrix *pomat, ref *pfname)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dict_access_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:728,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zbfont.c:729,1
    - Dst: get_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:731,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:732,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:733,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:736,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:737,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:739,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zbfont.c:742,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:743,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:746,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zbfont.c:752,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:753,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:753,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:755,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:756,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:762,1
    - Dst: ialloc_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:777,1
    - Dst: r_is_local
      Src: /src/libspectre/ghostscript/psi/zbfont.c:778,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:780,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:782,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zbfont.c:783,1
    - Dst: r_type_attrs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:783,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zbfont.c:788,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:789,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:792,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zbfont.c:793,1
    - Dst: obj_cvs
      Src: /src/libspectre/ghostscript/psi/zbfont.c:797,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:800,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zbfont.c:802,1
    - Dst: dict_put_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:806,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:808,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:811,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:812,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:813,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:814,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zbfont.c:815,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:818,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:819,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zbfont.c:827,1
    - Dst: obj_eq
      Src: /src/libspectre/ghostscript/psi/zbfont.c:833,1
    - Dst: pfont_dict
      Src: /src/libspectre/ghostscript/psi/zbfont.c:833,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:836,1
    - Dst: sub_font_params
      Src: /src/libspectre/ghostscript/psi/zbfont.c:844,1
    - Dst: copy_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:848,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zbfont.c:854,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:855,1
    - Dst: build_gs_sub_font
      Src: /src/libspectre/ghostscript/psi/zbfont.c:867,1
    - Dst: copy_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:880,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 95
    argCount: 7
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - options
    argTypes:
    - i_ctx_t*
    - os_ptr
    - gs_font**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - build_font_options_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 714
    functionDepth: 3
    functionLinenumber: 714
    functionLinenumberEnd: 883
    functionName: build_gs_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 1
    functionsReached:
    - ialloc_space
    - r_has_attr
    - dict_access_ref
    - gs_currentcpsimode
    - copy_font_name
    - array_get
    - sub_font_params
    - dict_int_param
    - obj_eq
    - r_is_local
    - r_has_type
    - ialloc_ref_array
    - name_ref
    - dict_bool_param
    - r_type_attrs
    - r_is_array
    - obj_cvs
    - ref_assign
    - dict_find_string
    - r_ptr
    - build_gs_sub_font
    - return_error
    - pfont_dict
    - dict_put_string
    - get_font_name
    - ialloc_set_space
    - r_size
    linkageType: ''
    returnType: int
    signature: "int build_gs_font(i_ctx_t *i_ctx_p, os_ptr op, gs_font ** ppfont,
      font_type ftype,\n              gs_memory_type_ptr_t pstype, const build_proc_refs
      * pbuild,\n              build_font_options_t options)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:903,1
    - Dst: sub_font_params
      Src: /src/libspectre/ghostscript/psi/zbfont.c:904,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:908,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:908,1
    - Dst: gs_font_alloc
      Src: /src/libspectre/ghostscript/psi/zbfont.c:909,1
    - Dst: ialloc_struct
      Src: /src/libspectre/ghostscript/psi/zbfont.c:911,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zbfont.c:914,1
    - Dst: add_FID
      Src: /src/libspectre/ghostscript/psi/zbfont.c:916,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zbfont.c:918,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zbfont.c:919,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:920,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zbfont.c:923,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/zbfont.c:924,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/zbfont.c:925,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/zbfont.c:926,1
    - Dst: ref_assign_new
      Src: /src/libspectre/ghostscript/psi/zbfont.c:928,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/zbfont.c:940,1
    - Dst: copy_font_name
      Src: /src/libspectre/ghostscript/psi/zbfont.c:941,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 8
    argNames:
    - i_ctx_p
    - op
    - ppfont
    - ftype
    - pstype
    - pbuild
    - pencoding
    - fid_op
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_font**
    - font_type
    - gs_memory_type_ptr_t
    - build_proc_refs*
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 944
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 944
    functionName: build_gs_sub_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 2
    functionsReached:
    - ialloc_struct
    - ialloc_space
    - ifree_object
    - gs_note_error
    - ref_assign_new
    - gs_font_alloc
    - refset_null
    - add_FID
    - copy_font_name
    - r_space
    - sub_font_params
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: "int build_gs_sub_font(i_ctx_t *i_ctx_p, const ref *op, gs_font **ppfont,\n
      \                 font_type ftype, gs_memory_type_ptr_t pstype,\n                  const
      build_proc_refs * pbuild, const ref *pencoding,\n                  ref *fid_op)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zbfont.c:951,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zbfont.c:956,1
    - Dst: make_empty_string
      Src: /src/libspectre/ghostscript/psi/zbfont.c:960,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - mem
    - pfname
    - op
    argTypes:
    - gs_memory_t*
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 962
    functionName: get_font_name
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 3
    functionsReached:
    - make_empty_string
    - r_type
    - name_string_ref
    linkageType: ''
    returnType: void
    signature: void get_font_name(const gs_memory_t *mem, ref * pfname, const ref
      * op)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zbfont.c:968,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zbfont.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pfstr
    - pfname
    argTypes:
    - gs_font_name*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 965
    functionDepth: 1
    functionLinenumber: 965
    functionLinenumberEnd: 976
    functionName: copy_font_name
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 3
    functionsReached:
    - memcpy
    - r_size
    linkageType: ''
    returnType: void
    signature: void copy_font_name(gs_font_name * pfstr, const ref * pfname)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_definefont
      Src: /src/libspectre/ghostscript/psi/zbfont.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pfont
    argTypes:
    - i_ctx_t*
    - gs_font*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 979
    functionDepth: 2
    functionLinenumber: 979
    functionLinenumberEnd: 986
    functionName: define_gs_font
    functionSourceFile: /src/libspectre/ghostscript/psi/zbfont.c
    functionUses: 3
    functionsReached:
    - gs_definefont
    linkageType: ''
    returnType: int
    signature: int define_gs_font(i_ctx_t *i_ctx_p, gs_font * pfont)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pda
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: da_size
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: da_size(pda)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pstate
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 116
    functionName: SCAN_INIT_ERROR
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SCAN_INIT_ERROR(pstate)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: public_st_scanner_state_dynamic
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_scanner_state_dynamic()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sstate
    - ','
    - fop
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 151
    functionName: gs_scanner_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_scanner_init(sstate, fop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - sstate
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 155
    functionName: gs_scanner_init_stream
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_scanner_init_stream(sstate, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - i_ctx_p
    - ','
    - pstr
    - ','
    - pref
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    functionName: gs_scan_string_token
    functionSourceFile: /src/libspectre/ghostscript/psi/iscan.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gs_scan_string_token(i_ctx_p, pstr, pref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 267
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a,b)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: g_print
      Src: /src/libspectre/ghostscript/psi/dxmain.c:82,1
    - Dst: g_io_channel_read_chars
      Src: /src/libspectre/ghostscript/psi/dxmain.c:86,1
    - Dst: g_print
      Src: /src/libspectre/ghostscript/psi/dxmain.c:89,1
    - Dst: g_error_free
      Src: /src/libspectre/ghostscript/psi/dxmain.c:90,1
    - Dst: g_print
      Src: /src/libspectre/ghostscript/psi/dxmain.c:94,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - channel
    - condition
    - data
    argTypes:
    - GIOChannel*
    - GIOCondition
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 98
    functionName: read_stdin_handler
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - g_error_free
    - g_io_channel_read_chars
    - g_print
    linkageType: ''
    returnType: gboolean
    signature: gboolean read_stdin_handler(GIOChannel *channel, GIOCondition condition,
      gpointer data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: g_io_channel_unix_new
      Src: /src/libspectre/ghostscript/psi/dxmain.c:113,1
    - Dst: fileno
      Src: /src/libspectre/ghostscript/psi/dxmain.c:113,1
    - Dst: g_io_channel_set_encoding
      Src: /src/libspectre/ghostscript/psi/dxmain.c:114,1
    - Dst: g_io_channel_set_buffered
      Src: /src/libspectre/ghostscript/psi/dxmain.c:115,1
    - Dst: g_print
      Src: /src/libspectre/ghostscript/psi/dxmain.c:117,1
    - Dst: g_error_free
      Src: /src/libspectre/ghostscript/psi/dxmain.c:118,1
    - Dst: g_io_add_watch
      Src: /src/libspectre/ghostscript/psi/dxmain.c:120,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:124,1
    - Dst: g_source_remove
      Src: /src/libspectre/ghostscript/psi/dxmain.c:125,1
    - Dst: g_io_channel_unref
      Src: /src/libspectre/ghostscript/psi/dxmain.c:126,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - instance
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 129
    functionName: gsdll_stdin
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - g_io_channel_set_buffered
    - g_error_free
    - g_io_channel_unref
    - gtk_main_iteration_do
    - g_io_channel_set_encoding
    - fileno
    - g_source_remove
    - g_io_channel_unix_new
    - g_print
    - g_io_add_watch
    linkageType: ''
    returnType: int
    signature: int gsdll_stdin(void *instance, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:134,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dxmain.c:135,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dxmain.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 138
    functionName: gsdll_stdout
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 1
    functionsReached:
    - gtk_main_iteration_do
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stdout(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:143,1
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dxmain.c:144,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dxmain.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 147
    functionName: gsdll_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - gtk_main_iteration_do
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int gsdll_stderr(void *instance, const char *str, int len)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 199
    functionDepth: 0
    functionLinenumber: 199
    functionLinenumberEnd: 208
    functionName: image_find
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: IMAGE
    signature: 'IMAGE *

      image_find(void *handle, void *device)'
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:222,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:226,1
    - Dst: gdk_cairo_create
      Src: /src/libspectre/ghostscript/psi/dxmain.c:227,1
    - Dst: gtk_widget_get_window
      Src: /src/libspectre/ghostscript/psi/dxmain.c:227,1
    - Dst: gdk_cairo_region
      Src: /src/libspectre/ghostscript/psi/dxmain.c:228,1
    - Dst: cairo_clip
      Src: /src/libspectre/ghostscript/psi/dxmain.c:229,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:231,1
    - Dst: gtk_widget_get_allocated_width
      Src: /src/libspectre/ghostscript/psi/dxmain.c:232,1
    - Dst: gtk_widget_get_allocated_height
      Src: /src/libspectre/ghostscript/psi/dxmain.c:233,1
    - Dst: gtk_render_background
      Src: /src/libspectre/ghostscript/psi/dxmain.c:234,1
    - Dst: gtk_widget_get_style_context
      Src: /src/libspectre/ghostscript/psi/dxmain.c:234,1
    - Dst: gdk_cairo_set_source_color
      Src: /src/libspectre/ghostscript/psi/dxmain.c:236,1
    - Dst: gtk_widget_get_style
      Src: /src/libspectre/ghostscript/psi/dxmain.c:236,1
    - Dst: cairo_paint
      Src: /src/libspectre/ghostscript/psi/dxmain.c:238,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:242,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:247,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:254,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:262,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:267,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:276,1
    - Dst: gdk_pixbuf_new_from_data
      Src: /src/libspectre/ghostscript/psi/dxmain.c:283,1
    - Dst: gdk_cairo_set_source_pixbuf
      Src: /src/libspectre/ghostscript/psi/dxmain.c:289,1
    - Dst: cairo_paint
      Src: /src/libspectre/ghostscript/psi/dxmain.c:290,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:291,1
    - Dst: cairo_destroy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:292,1
    - Dst: g_object_unref
      Src: /src/libspectre/ghostscript/psi/dxmain.c:294,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 44
    argCount: 3
    argNames:
    - widget
    - cr
    - user_data
    argTypes:
    - GtkWidget*
    - cairo_t*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 297
    functionName: window_draw
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - gtk_widget_get_window
    - cairo_paint
    - gtk_widget_get_style
    - gdk_cairo_create
    - gtk_widget_get_style_context
    - g_object_unref
    - gdk_cairo_set_source_color
    - gtk_widget_get_allocated_width
    - cairo_clip
    - gdk_pixbuf_new_from_data
    - cairo_destroy
    - GTK_CHECK_VERSION
    - gdk_cairo_set_source_pixbuf
    - gtk_widget_get_allocated_height
    - gdk_cairo_region
    - gtk_render_background
    linkageType: ''
    returnType: void
    signature: void window_draw(GtkWidget *widget, cairo_t *cr, gpointer user_data)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 305
    functionName: window_destroy
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void window_destroy(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 386
    functionName: signal_sep0
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep0(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 391
    functionName: signal_sep1
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep1(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 396
    functionName: signal_sep2
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep2(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 401
    functionName: signal_sep3
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep3(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    functionName: signal_sep4
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep4(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:410,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 411
    functionName: signal_sep5
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep5(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 413
    functionDepth: 0
    functionLinenumber: 413
    functionLinenumberEnd: 416
    functionName: signal_sep6
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep6(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: window_separation
      Src: /src/libspectre/ghostscript/psi/dxmain.c:420,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    functionName: signal_sep7
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - window_separation
    linkageType: ''
    returnType: void
    signature: void signal_sep7(GtkWidget *w, gpointer data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gtk_check_button_new_with_label
      Src: /src/libspectre/ghostscript/psi/dxmain.c:438,1
    - Dst: gtk_box_pack_start
      Src: /src/libspectre/ghostscript/psi/dxmain.c:439,1
    - Dst: GTK_BOX
      Src: /src/libspectre/ghostscript/psi/dxmain.c:439,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/libspectre/ghostscript/psi/dxmain.c:440,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/libspectre/ghostscript/psi/dxmain.c:440,1
    - Dst: g_signal_connect
      Src: /src/libspectre/ghostscript/psi/dxmain.c:441,1
    - Dst: G_OBJECT
      Src: /src/libspectre/ghostscript/psi/dxmain.c:441,1
    - Dst: gtk_widget_show
      Src: /src/libspectre/ghostscript/psi/dxmain.c:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - img
    - label
    - fn
    argTypes:
    - IMAGE*
    - char*
    - GCallback
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 434
    functionDepth: 0
    functionLinenumber: 434
    functionLinenumberEnd: 444
    functionName: window_add_button
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - gtk_check_button_new_with_label
    - GTK_TOGGLE_BUTTON
    - GTK_BOX
    - G_OBJECT
    - gtk_box_pack_start
    - g_signal_connect
    - gtk_toggle_button_set_active
    - gtk_widget_show
    linkageType: ''
    returnType: GtkWidget
    signature: 'GtkWidget *

      window_add_button(IMAGE *img, const char *label, GCallback fn)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_sync
      Src: /src/libspectre/ghostscript/psi/dxmain.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - w
    - data
    argTypes:
    - GtkWidget*
    - gpointer
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 451
    functionName: signal_show_as_gray
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - display_sync
    linkageType: ''
    returnType: void
    signature: void signal_show_as_gray(GtkWidget *w, gpointer data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:457,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dxmain.c:460,1
    - Dst: window_create
      Src: /src/libspectre/ghostscript/psi/dxmain.c:472,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 454
    functionDepth: 5
    functionLinenumber: 454
    functionLinenumberEnd: 476
    functionName: display_open
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 1
    functionsReached:
    - malloc
    - gtk_main_iteration_do
    - memset
    - window_create
    linkageType: ''
    returnType: int
    signature: int display_open(void *handle, void *device)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dxmain.c:480,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:484,1
    - Dst: gtk_widget_destroy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:492,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dxmain.c:497,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:500,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 503
    functionName: display_preclose
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - free
    - gtk_main_iteration_do
    - image_find
    - gtk_widget_destroy
    linkageType: ''
    returnType: int
    signature: int display_preclose(void *handle, void *device)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dxmain.c:507,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 524
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - image_find
    linkageType: ''
    returnType: int
    signature: int display_close(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 534
    functionName: display_presize
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_presize(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dxmain.c:539,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dxmain.c:549,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dxmain.c:562,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:574,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:581,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:589,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:604,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:615,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:621,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:625,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:629,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:633,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:644,1
    - Dst: GTK_IS_WIDGET
      Src: /src/libspectre/ghostscript/psi/dxmain.c:652,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:654,1
    - Dst: gtk_hbox_new
      Src: /src/libspectre/ghostscript/psi/dxmain.c:655,1
    - Dst: gtk_box_new
      Src: /src/libspectre/ghostscript/psi/dxmain.c:657,1
    - Dst: gtk_box_set_homogeneous
      Src: /src/libspectre/ghostscript/psi/dxmain.c:658,1
    - Dst: GTK_BOX
      Src: /src/libspectre/ghostscript/psi/dxmain.c:658,1
    - Dst: gtk_box_pack_start
      Src: /src/libspectre/ghostscript/psi/dxmain.c:660,1
    - Dst: GTK_BOX
      Src: /src/libspectre/ghostscript/psi/dxmain.c:660,1
    - Dst: window_add_button
      Src: /src/libspectre/ghostscript/psi/dxmain.c:664,1
    - Dst: gtk_check_button_new_with_label
      Src: /src/libspectre/ghostscript/psi/dxmain.c:667,1
    - Dst: gtk_box_pack_end
      Src: /src/libspectre/ghostscript/psi/dxmain.c:668,1
    - Dst: GTK_BOX
      Src: /src/libspectre/ghostscript/psi/dxmain.c:668,1
    - Dst: gtk_toggle_button_set_active
      Src: /src/libspectre/ghostscript/psi/dxmain.c:670,1
    - Dst: GTK_TOGGLE_BUTTON
      Src: /src/libspectre/ghostscript/psi/dxmain.c:670,1
    - Dst: g_signal_connect
      Src: /src/libspectre/ghostscript/psi/dxmain.c:672,1
    - Dst: G_OBJECT
      Src: /src/libspectre/ghostscript/psi/dxmain.c:672,1
    - Dst: G_CALLBACK
      Src: /src/libspectre/ghostscript/psi/dxmain.c:673,1
    - Dst: gtk_widget_show
      Src: /src/libspectre/ghostscript/psi/dxmain.c:674,1
    - Dst: gtk_widget_show
      Src: /src/libspectre/ghostscript/psi/dxmain.c:676,1
    - Dst: GTK_IS_WIDGET
      Src: /src/libspectre/ghostscript/psi/dxmain.c:679,1
    - Dst: gtk_widget_hide
      Src: /src/libspectre/ghostscript/psi/dxmain.c:680,1
    - Dst: window_resize
      Src: /src/libspectre/ghostscript/psi/dxmain.c:683,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:685,1
    - Dst: GTK_WIDGET_FLAGS
      Src: /src/libspectre/ghostscript/psi/dxmain.c:686,1
    - Dst: gtk_widget_get_visible
      Src: /src/libspectre/ghostscript/psi/dxmain.c:688,1
    - Dst: gtk_widget_show_all
      Src: /src/libspectre/ghostscript/psi/dxmain.c:691,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:693,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 110
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 536
    functionDepth: 5
    functionLinenumber: 536
    functionLinenumberEnd: 695
    functionName: display_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - gtk_widget_get_visible
    - window_add_button
    - G_OBJECT
    - gtk_widget_show_all
    - image_find
    - window_resize
    - gtk_box_pack_end
    - gtk_toggle_button_set_active
    - gtk_box_new
    - memset
    - gtk_hbox_new
    - GTK_CHECK_VERSION
    - GTK_IS_WIDGET
    - gtk_check_button_new_with_label
    - GTK_TOGGLE_BUTTON
    - gtk_main_iteration_do
    - gtk_widget_hide
    - GTK_BOX
    - malloc
    - free
    - gtk_box_pack_start
    - gtk_widget_show
    - G_CALLBACK
    - GTK_WIDGET_FLAGS
    - strncpy
    - gtk_box_set_homogeneous
    - g_signal_connect
    linkageType: ''
    returnType: int
    signature: "int display_size(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dxmain.c:699,1
    - Dst: gtk_label_get_text
      Src: /src/libspectre/ghostscript/psi/dxmain.c:722,1
    - Dst: GTK_LABEL
      Src: /src/libspectre/ghostscript/psi/dxmain.c:723,1
    - Dst: gtk_bin_get_child
      Src: /src/libspectre/ghostscript/psi/dxmain.c:723,1
    - Dst: GTK_BIN
      Src: /src/libspectre/ghostscript/psi/dxmain.c:723,1
    - Dst: gtk_widget_hide
      Src: /src/libspectre/ghostscript/psi/dxmain.c:725,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/dxmain.c:726,1
    - Dst: gtk_label_set_text
      Src: /src/libspectre/ghostscript/psi/dxmain.c:728,1
    - Dst: GTK_LABEL
      Src: /src/libspectre/ghostscript/psi/dxmain.c:729,1
    - Dst: gtk_bin_get_child
      Src: /src/libspectre/ghostscript/psi/dxmain.c:729,1
    - Dst: GTK_BIN
      Src: /src/libspectre/ghostscript/psi/dxmain.c:729,1
    - Dst: gtk_widget_show
      Src: /src/libspectre/ghostscript/psi/dxmain.c:731,1
    - Dst: GTK_IS_WIDGET
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1099,1
    - Dst: window_create
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1100,1
    - Dst: window_resize
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1101,1
    - Dst: GTK_CHECK_VERSION
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1103,1
    - Dst: GTK_WIDGET_FLAGS
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1104,1
    - Dst: gtk_widget_get_visible
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1106,1
    - Dst: gtk_widget_show_all
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1109,1
    - Dst: gtk_widget_queue_draw
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1111,1
    - Dst: gtk_main_iteration_do
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1112,1
    CyclomaticComplexity: 98
    EdgeCount: 98
    ICount: 301
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 697
    functionDepth: 2
    functionLinenumber: 697
    functionLinenumberEnd: 1114
    functionName: display_sync
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 3
    functionsReached:
    - gtk_widget_get_visible
    - gtk_bin_get_child
    - strcmp
    - GTK_WIDGET_FLAGS
    - gtk_label_set_text
    - GTK_CHECK_VERSION
    - gtk_widget_hide
    - gtk_main_iteration_do
    - gtk_label_get_text
    - image_find
    - GTK_LABEL
    - GTK_BIN
    - window_create
    - window_resize
    - GTK_IS_WIDGET
    - gtk_widget_show_all
    - gtk_widget_queue_draw
    - gtk_widget_show
    linkageType: ''
    returnType: int
    signature: int display_sync(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: display_sync
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1120
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1120
    functionName: display_page
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - display_sync
    linkageType: ''
    returnType: int
    signature: int display_page(void *handle, void *device, int copies, int flush)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1127
      start: 1122
    functionDepth: 0
    functionLinenumber: 1122
    functionLinenumberEnd: 1127
    functionName: display_update
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int display_update(void *handle, void *device,\n    int x, int y,
      int w, int h)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1135,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 8
    argNames:
    - handle
    - device
    - comp_num
    - name
    - c
    - m
    - y
    - k
    argTypes:
    - void*
    - void*
    - int
    - char*
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 0
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    functionName: display_separation
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - image_find
    - strncpy
    linkageType: ''
    returnType: int
    signature: "int display_separation(void *handle, void *device,\n    int comp_num,
      const char *name,\n    unsigned short c, unsigned short m,\n    unsigned short
      y, unsigned short k)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1171,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1171,1
    - Dst: fflush
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1168
    functionDepth: 0
    functionLinenumber: 1168
    functionLinenumberEnd: 1174
    functionName: write_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 0
    functionsReached:
    - strlen
    - fflush
    - fwrite
    linkageType: ''
    returnType: int
    signature: int write_stderr(const char *str)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1197,1
    - Dst: gtk_init_check
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1198,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1201,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1205,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1208,1
    - Dst: gsapi_new_instance
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1211,1
    - Dst: gsapi_set_stdio
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1212,1
    - Dst: gsapi_set_display_callback
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1214,1
    - Dst: gsapi_get_default_device_list
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1216,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1218,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1218,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1220,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1220,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1221,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1221,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1222,1
    - Dst: gsapi_set_default_device_list
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1223,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1223,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1224,1
    - Dst: write_stderr
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1231,1
    - Dst: gsapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1237,1
    - Dst: gsapi_run_string
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1240,1
    - Dst: gsapi_exit
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1241,1
    - Dst: gsapi_delete_instance
      Src: /src/libspectre/ghostscript/psi/dxmain.c:1247,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1264
      start: 1182
    functionDepth: 5
    functionLinenumber: 1182
    functionLinenumberEnd: 1264
    functionName: main
    functionSourceFile: /src/libspectre/ghostscript/psi/dxmain.c
    functionUses: 15
    functionsReached:
    - gsapi_set_default_device_list
    - gsapi_get_default_device_list
    - gsapi_delete_instance
    - setlocale
    - sprintf
    - strlen
    - gsapi_exit
    - gsapi_set_stdio
    - gsapi_init_with_args
    - malloc
    - free
    - gtk_init_check
    - memcpy
    - gsapi_new_instance
    - gsapi_run_string
    - gsapi_set_display_callback
    - write_stderr
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/iinit.c:95,1
    - Dst: lprintf4
      Src: /src/libspectre/ghostscript/psi/iinit.c:98,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/iinit.c:99,1
    - Dst: dict_maxlength
      Src: /src/libspectre/ghostscript/psi/iinit.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - i_ctx_p
    - pdict
    - nstr
    - pref
    argTypes:
    - i_ctx_t*
    - ref*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 101
    functionName: i_initial_enter_name_in
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - idict_put_string
    - dict_length
    - lprintf4
    - dict_maxlength
    linkageType: ''
    returnType: int
    signature: "int i_initial_enter_name_in(i_ctx_t *i_ctx_p, ref *pdict, const char
      *nstr,\n                        const ref * pref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i_initial_enter_name_in
      Src: /src/libspectre/ghostscript/psi/iinit.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_ctx_p
    - nstr
    - pref
    argTypes:
    - i_ctx_t*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: i_initial_enter_name
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - i_initial_enter_name_in
    linkageType: ''
    returnType: int
    signature: int i_initial_enter_name(i_ctx_t *i_ctx_p, const char *nstr, const
      ref * pref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idict_put_string_copy
      Src: /src/libspectre/ghostscript/psi/iinit.c:113,1
    - Dst: lprintf4
      Src: /src/libspectre/ghostscript/psi/iinit.c:116,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/iinit.c:117,1
    - Dst: dict_maxlength
      Src: /src/libspectre/ghostscript/psi/iinit.c:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - i_ctx_p
    - pdict
    - nstr
    - pref
    argTypes:
    - i_ctx_t*
    - ref*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 119
    functionName: i_initial_enter_name_copy_in
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - dict_maxlength
    - dict_length
    - lprintf4
    - idict_put_string_copy
    linkageType: ''
    returnType: int
    signature: "int i_initial_enter_name_copy_in(i_ctx_t *i_ctx_p, ref *pdict, const
      char *nstr,\n                             const ref * pref)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: i_initial_enter_name_copy_in
      Src: /src/libspectre/ghostscript/psi/iinit.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - i_ctx_p
    - nstr
    - pref
    argTypes:
    - i_ctx_t*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 124
    functionName: i_initial_enter_name_copy
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - i_initial_enter_name_copy_in
    linkageType: ''
    returnType: int
    signature: int i_initial_enter_name_copy(i_ctx_t *i_ctx_p, const char *nstr, const
      ref * pref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/iinit.c:132,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iinit.c:132,1
    - Dst: idict_undef
      Src: /src/libspectre/ghostscript/psi/iinit.c:133,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - nstr
    argTypes:
    - i_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 134
    functionName: i_initial_remove_name
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - strlen
    - idict_undef
    - name_ref
    linkageType: ''
    returnType: void
    signature: void i_initial_remove_name(i_ctx_t *i_ctx_p, const char *nstr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: op_def_is_begin_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:191,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iinit.c:192,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/iinit.c:193,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iinit.c:194,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/iinit.c:195,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: gs_op_language_level
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - op_def_is_begin_dict
    - max
    - strcmp
    linkageType: ''
    returnType: int
    signature: int gs_op_language_level(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_op_language_level
      Src: /src/libspectre/ghostscript/psi/iinit.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 204
    functionName: gs_have_level2
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - gs_op_language_level
    linkageType: ''
    returnType: bool
    signature: bool gs_have_level2(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iinit.c:213,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/iinit.c:215,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iinit.c:219,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iinit.c:222,1
    - Dst: dict_alloc
      Src: /src/libspectre/ghostscript/psi/iinit.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 3
    argNames:
    - i_ctx_p
    - iname
    - idicts
    argTypes:
    - i_ctx_t*
    - char*
    - ref[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 240
    functionName: make_initial_dict
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - dict_alloc
    - r_has_type
    - countof
    - strcmp
    linkageType: ''
    returnType: ref
    signature: 'ref *

      make_initial_dict(i_ctx_t *i_ctx_p, const char *iname, ref idicts[])'
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_op_language_level
      Src: /src/libspectre/ghostscript/psi/iinit.c:247,1
    - Dst: dict_alloc
      Src: /src/libspectre/ghostscript/psi/iinit.c:256,1
    - Dst: gs_interp_init
      Src: /src/libspectre/ghostscript/psi/iinit.c:264,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/iinit.c:277,1
    - Dst: op_def_is_begin_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:297,1
    - Dst: make_initial_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:298,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:299,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/iinit.c:304,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iinit.c:309,1
    - Dst: make_initial_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:311,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:313,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/iinit.c:314,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:318,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iinit.c:322,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:332,1
    - Dst: r_set_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:334,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:335,1
    - Dst: r_set_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:337,1
    - Dst: gs_interp_reset
      Src: /src/libspectre/ghostscript/psi/iinit.c:345,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/iinit.c:354,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/iinit.c:355,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/iinit.c:356,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:357,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:358,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:359,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/iinit.c:366,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/iinit.c:370,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/iinit.c:374,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:377,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 60
    argCount: 2
    argNames:
    - pi_ctx_p
    - idmem
    argTypes:
    - i_ctx_t**
    - gs_dual_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 244
    functionDepth: 3
    functionLinenumber: 244
    functionLinenumberEnd: 379
    functionName: obj_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - gs_interp_init
    - i_initial_enter_name
    - countof
    - make_null
    - gs_op_language_level
    - op_def_is_begin_dict
    - r_space
    - make_true
    - strcmp
    - dict_alloc
    - r_has_type
    - ialloc_ref_array
    - name_enter_string
    - make_false
    - ref_assign
    - r_set_space
    - make_initial_dict
    - refset_null
    - gs_interp_reset
    - return_error
    linkageType: ''
    returnType: int
    signature: int obj_init(i_ctx_t **pi_ctx_p, gs_dual_memory_t *idmem)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: op_def*::proc
      Src: /src/libspectre/ghostscript/psi/iinit.c:396,1
    - Dst: lprintf2
      Src: /src/libspectre/ghostscript/psi/iinit.c:398,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/iinit.c:410,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iinit.c:411,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/iinit.c:412,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iinit.c:413,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/iinit.c:414,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iinit.c:415,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iinit.c:417,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iinit.c:418,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:419,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:420,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:421,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:422,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/iinit.c:423,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 428
    functionName: zop_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - op_def*::proc
    - make_int
    - strlen
    - lprintf2
    - i_initial_enter_name
    linkageType: ''
    returnType: int
    signature: int zop_init(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:435,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:438,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/iinit.c:439,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/iinit.c:441,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/iinit.c:444,1
    - Dst: ialloc_byte_array
      Src: /src/libspectre/ghostscript/psi/iinit.c:446,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - i_ctx_p
    - size
    - space
    - opt
    argTypes:
    - i_ctx_t*
    - uint
    - uint
    - op_array_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 453
    functionName: alloc_op_array_table
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - ialloc_space
    - ialloc_ref_array
    - refset_null
    - return_error
    - ialloc_byte_array
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: "int alloc_op_array_table(i_ctx_t *i_ctx_p, uint size, uint space,\n
      \                    op_array_table *opt)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: op_def_is_begin_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:470,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/iinit.c:473,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iinit.c:473,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/iinit.c:476,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:477,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iinit.c:478,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:479,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/psi/iinit.c:487,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:488,1
    - Dst: gs_interp_make_oper
      Src: /src/libspectre/ghostscript/psi/iinit.c:490,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iinit.c:495,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iinit.c:501,1
    - Dst: i_initial_enter_name_in
      Src: /src/libspectre/ghostscript/psi/iinit.c:503,1
    - Dst: alloc_op_array_table
      Src: /src/libspectre/ghostscript/psi/iinit.c:511,1
    - Dst: alloc_op_array_table
      Src: /src/libspectre/ghostscript/psi/iinit.c:516,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iinit.c:522,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 525
    functionName: op_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - op_def_is_begin_dict
    - r_has_type
    - strlen
    - name_ref
    - alloc_op_array_table
    - gs_interp_make_oper
    - dict_find
    - lprintf1
    - return_error
    - i_initial_enter_name_in
    - r_size
    linkageType: ''
    returnType: int
    signature: int op_init(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: op_def_is_begin_dict
      Src: /src/libspectre/ghostscript/psi/iinit.c:539,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - opproc
    argTypes:
    - op_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: op_get_name_string
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - op_def_is_begin_dict
    linkageType: ''
    returnType: char
    signature: 'char *

      op_get_name_string(op_proc_t opproc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_iodev_init
      Src: /src/libspectre/ghostscript/psi/iinit.c:555,1
    - Dst: gs_iodev_register_dev
      Src: /src/libspectre/ghostscript/psi/iinit.c:558,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dmem
    argTypes:
    - gs_dual_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 548
    functionDepth: 2
    functionLinenumber: 548
    functionLinenumberEnd: 562
    functionName: i_iodev_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - gs_iodev_init
    - gs_iodev_register_dev
    linkageType: ''
    returnType: int
    signature: int i_iodev_init(gs_dual_memory_t *dmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_iodev_finit
      Src: /src/libspectre/ghostscript/psi/iinit.c:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - dmem
    argTypes:
    - gs_dual_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 568
    functionName: i_iodev_finit
    functionSourceFile: /src/libspectre/ghostscript/psi/iinit.c
    functionUses: 0
    functionsReached:
    - gs_iodev_finit
    linkageType: ''
    returnType: void
    signature: void i_iodev_finit(gs_dual_memory_t *dmem)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/idisp.c:61,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idisp.c:64,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/idisp.c:69,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/psi/idisp.c:72,1
    - Dst: gs_opendevice
      Src: /src/libspectre/ghostscript/psi/idisp.c:76,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/psi/idisp.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 53
    functionDepth: 3
    functionLinenumber: 53
    functionLinenumberEnd: 82
    functionName: reopen_device_if_required
    functionSourceFile: /src/libspectre/ghostscript/psi/idisp.c
    functionUses: 0
    functionsReached:
    - gs_closedevice
    - gs_opendevice
    - gs_currentdevice_inline
    - return_error
    - dev_proc
    - dmprintf
    linkageType: ''
    returnType: int
    signature: int reopen_device_if_required(gs_main_instance *minst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zarray.c:36,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarray.c:38,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarray.c:40,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zarray.c:42,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zarray.c:45,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 47
    functionName: zarray
    functionSourceFile: /src/libspectre/ghostscript/psi/zarray.c
    functionUses: 0
    functionsReached:
    - return_error
    - refset_null
    - ialloc_ref_array
    - check_type
    linkageType: ''
    returnType: int
    signature: int zarray(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zarray.c:57,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zarray.c:58,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarray.c:59,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zarray.c:60,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zarray.c:61,1
    - Dst: ref_stack_push
      Src: /src/libspectre/ghostscript/psi/zarray.c:63,1
    - Dst: packed_next
      Src: /src/libspectre/ghostscript/psi/zarray.c:69,1
    - Dst: packed_get
      Src: /src/libspectre/ghostscript/psi/zarray.c:70,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zarray.c:70,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zarray.c:74,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zarray.c:75,1
    - Dst: packed_next
      Src: /src/libspectre/ghostscript/psi/zarray.c:81,1
    - Dst: packed_get
      Src: /src/libspectre/ghostscript/psi/zarray.c:82,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zarray.c:84,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zarray.c:85,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 87
    functionName: zaload
    functionSourceFile: /src/libspectre/ghostscript/psi/zarray.c
    functionUses: 0
    functionsReached:
    - packed_next
    - ref_assign
    - r_has_type
    - return_op_typecheck
    - r_is_array
    - ref_stack_index
    - memcpy
    - push
    - check_read
    - packed_get
    - ref_stack_push
    - r_size
    linkageType: ''
    returnType: int
    signature: int zaload(i_ctx_t *i_ctx_p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zarray.c:97,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zarray.c:98,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zarray.c:99,1
    - Dst: r_has_type_attrs
      Src: /src/libspectre/ghostscript/psi/zarray.c:103,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarray.c:104,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zarray.c:109,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zarray.c:110,1
    - Dst: ref_stack_store
      Src: /src/libspectre/ghostscript/psi/zarray.c:112,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/zarray.c:116,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/zarray.c:117,1
    - Dst: refcpy_to_old
      Src: /src/libspectre/ghostscript/psi/zarray.c:119,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zarray.c:123,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 126
    functionName: zastore
    functionSourceFile: /src/libspectre/ghostscript/psi/zarray.c
    functionUses: 0
    functionsReached:
    - r_has_type_attrs
    - ref_stack_pop
    - refcpy_to_old
    - ref_stack_store
    - return_op_typecheck
    - r_is_array
    - ref_stack_index
    - ref_stack_count
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zastore(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/zusparam.c:132,1
    - Dst: array_param_list_read
      Src: /src/libspectre/ghostscript/psi/zusparam.c:138,1
    - Dst: dict_read_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:139,1
    - Dst: param_check_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:140,1
    - Dst: dict_read_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:143,1
    - Dst: param_check_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:144,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zusparam.c:147,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zusparam.c:148,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 124
    functionDepth: 7
    functionLinenumber: 124
    functionLinenumberEnd: 150
    functionName: zcheckpassword
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - param_check_password
    - dict_read_password
    - make_int
    - iparam_list_release
    - name_ref
    - array_param_list_read
    linkageType: ''
    returnType: int
    signature: int zcheckpassword(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 159
    functionName: current_BuildTime
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long current_BuildTime(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcachesize
      Src: /src/libspectre/ghostscript/psi/zusparam.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 170
    functionName: current_MaxFontCache
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentcachesize
    linkageType: ''
    returnType: long
    signature: long current_MaxFontCache(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcachesize
      Src: /src/libspectre/ghostscript/psi/zusparam.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 6
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: set_MaxFontCache
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setcachesize
    linkageType: ''
    returnType: int
    signature: int set_MaxFontCache(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_cachestatus
      Src: /src/libspectre/ghostscript/psi/zusparam.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: current_CurFontCache
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_cachestatus
    linkageType: ''
    returnType: long
    signature: long current_CurFontCache(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:194,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zusparam.c:199,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/zusparam.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 204
    functionName: current_MaxGlobalVM
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentcpsimode
    - min
    - gs_memory_gc_status
    linkageType: ''
    returnType: size_t
    signature: size_t current_MaxGlobalVM(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:212,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 216
    functionName: set_MaxGlobalVM
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_memory_set_gc_status
    - gs_memory_gc_status
    linkageType: ''
    returnType: int
    signature: int set_MaxGlobalVM(i_ctx_t *i_ctx_p, size_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 217
    functionDepth: 0
    functionLinenumber: 217
    functionLinenumberEnd: 221
    functionName: current_Revision
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long current_Revision(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/zusparam.c:226,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:228,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 232
    functionName: current_PageCount
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentdevice
    - dev_proc
    linkageType: ''
    returnType: long
    signature: long current_PageCount(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    functionName: current_ByteOrder
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool current_ByteOrder(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zusparam.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 273
    functionName: current_RealFormat
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void current_RealFormat(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zusparam.c:300,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/zusparam.c:301,1
    - Dst: dict_read_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:304,1
    - Dst: param_check_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:307,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:310,1
    - Dst: param_read_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:313,1
    - Dst: dict_write_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:320,1
    - Dst: param_read_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:326,1
    - Dst: dict_write_password
      Src: /src/libspectre/ghostscript/psi/zusparam.c:333,1
    - Dst: setparams
      Src: /src/libspectre/ghostscript/psi/zusparam.c:340,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zusparam.c:342,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zusparam.c:345,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 291
    functionDepth: 7
    functionLinenumber: 291
    functionLinenumberEnd: 347
    functionName: zsetsystemparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - param_check_password
    - dict_read_password
    - setparams
    - param_read_password
    - dict_param_list_read
    - iparam_list_release
    - check_type
    - pop
    - dict_write_password
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int zsetsystemparams(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentparams
      Src: /src/libspectre/ghostscript/psi/zusparam.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 354
    functionName: zcurrentsystemparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - currentparams
    linkageType: ''
    returnType: int
    signature: int zcurrentsystemparams(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentparam1
      Src: /src/libspectre/ghostscript/psi/zusparam.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 361
    functionName: zgetsystemparam
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - currentparam1
    linkageType: ''
    returnType: int
    signature: int zgetsystemparam(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 370
    functionName: current_JobTimeout
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long current_JobTimeout(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 375
    functionName: set_JobTimeout
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_JobTimeout(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcacheupper
      Src: /src/libspectre/ghostscript/psi/zusparam.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 380
    functionName: current_MaxFontItem
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentcacheupper
    linkageType: ''
    returnType: long
    signature: long current_MaxFontItem(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcacheupper
      Src: /src/libspectre/ghostscript/psi/zusparam.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 385
    functionName: set_MaxFontItem
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setcacheupper
    linkageType: ''
    returnType: int
    signature: int set_MaxFontItem(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcachelower
      Src: /src/libspectre/ghostscript/psi/zusparam.c:389,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 390
    functionName: current_MinFontCompress
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentcachelower
    linkageType: ''
    returnType: long
    signature: long current_MinFontCompress(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setcachelower
      Src: /src/libspectre/ghostscript/psi/zusparam.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 395
    functionName: set_MinFontCompress
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setcachelower
    linkageType: ''
    returnType: int
    signature: int set_MinFontCompress(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 400
    functionName: current_MaxOpStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_max_count
    linkageType: ''
    returnType: long
    signature: long current_MaxOpStack(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 405
    functionName: set_MaxOpStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_set_max_count
    linkageType: ''
    returnType: int
    signature: int set_MaxOpStack(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:409,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 410
    functionName: current_MaxDictStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_max_count
    linkageType: ''
    returnType: long
    signature: long current_MaxDictStack(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 415
    functionName: set_MaxDictStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_set_max_count
    linkageType: ''
    returnType: int
    signature: int set_MaxDictStack(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 1
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: current_MaxExecStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_max_count
    linkageType: ''
    returnType: long
    signature: long current_MaxExecStack(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/zusparam.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 425
    functionName: set_MaxExecStack
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_set_max_count
    linkageType: ''
    returnType: int
    signature: int set_MaxExecStack(i_ctx_t *i_ctx_p, long val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:432,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zusparam.c:437,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/zusparam.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 442
    functionName: current_MaxLocalVM
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentcpsimode
    - min
    - gs_memory_gc_status
    linkageType: ''
    returnType: size_t
    signature: size_t current_MaxLocalVM(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:449,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: set_MaxLocalVM
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_memory_set_gc_status
    - gs_memory_gc_status
    linkageType: ''
    returnType: int
    signature: int set_MaxLocalVM(i_ctx_t *i_ctx_p, size_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:459,1
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 462
    functionName: current_VMReclaim
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_memory_gc_status
    linkageType: ''
    returnType: long
    signature: long current_VMReclaim(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/zusparam.c:468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 470
    functionName: current_VMThreshold
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_memory_gc_status
    linkageType: ''
    returnType: int64_t
    signature: int64_t current_VMThreshold(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 471
    functionDepth: 0
    functionLinenumber: 471
    functionLinenumberEnd: 475
    functionName: current_WaitTimeout
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: long
    signature: long current_WaitTimeout(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 480
    functionName: set_WaitTimeout
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_WaitTimeout(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentminscreenlevels
      Src: /src/libspectre/ghostscript/psi/zusparam.c:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 485
    functionName: current_MinScreenLevels
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentminscreenlevels
    linkageType: ''
    returnType: long
    signature: long current_MinScreenLevels(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setminscreenlevels
      Src: /src/libspectre/ghostscript/psi/zusparam.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 491
    functionName: set_MinScreenLevels
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setminscreenlevels
    linkageType: ''
    returnType: int
    signature: int set_MinScreenLevels(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentaligntopixels
      Src: /src/libspectre/ghostscript/psi/zusparam.c:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 496
    functionName: current_AlignToPixels
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentaligntopixels
    linkageType: ''
    returnType: long
    signature: long current_AlignToPixels(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setaligntopixels
      Src: /src/libspectre/ghostscript/psi/zusparam.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 502
    functionName: set_AlignToPixels
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setaligntopixels
    linkageType: ''
    returnType: int
    signature: int set_AlignToPixels(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentgridfittt
      Src: /src/libspectre/ghostscript/psi/zusparam.c:506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 507
    functionName: current_GridFitTT
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentgridfittt
    linkageType: ''
    returnType: long
    signature: long current_GridFitTT(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setgridfittt
      Src: /src/libspectre/ghostscript/psi/zusparam.c:511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 513
    functionName: set_GridFitTT
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setgridfittt
    linkageType: ''
    returnType: int
    signature: int set_GridFitTT(i_ctx_t *i_ctx_p, long val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevicenicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 521
    functionName: current_devicen_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentdevicenicc
    linkageType: ''
    returnType: void
    signature: void current_devicen_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setdevicenprofileicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 523
    functionDepth: 5
    functionLinenumber: 523
    functionLinenumberEnd: 527
    functionName: set_devicen_profile_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setdevicenprofileicc
    linkageType: ''
    returnType: int
    signature: int set_devicen_profile_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdefaultgrayicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:532,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 533
    functionName: current_default_gray_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentdefaultgrayicc
    linkageType: ''
    returnType: void
    signature: void current_default_gray_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setdefaultgrayicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 535
    functionDepth: 5
    functionLinenumber: 535
    functionLinenumberEnd: 539
    functionName: set_default_gray_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setdefaultgrayicc
    linkageType: ''
    returnType: int
    signature: int set_default_gray_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currenticcdirectory
      Src: /src/libspectre/ghostscript/psi/zusparam.c:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 545
    functionName: current_icc_directory
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currenticcdirectory
    linkageType: ''
    returnType: void
    signature: void current_icc_directory(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_seticcdirectory
      Src: /src/libspectre/ghostscript/psi/zusparam.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 551
    functionName: set_icc_directory
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 2
    functionsReached:
    - gs_seticcdirectory
    linkageType: ''
    returnType: int
    signature: int set_icc_directory(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentsrcgtagicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 553
    functionDepth: 1
    functionLinenumber: 553
    functionLinenumberEnd: 557
    functionName: current_srcgtag_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentsrcgtagicc
    linkageType: ''
    returnType: void
    signature: void current_srcgtag_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setsrcgtagicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 559
    functionDepth: 5
    functionLinenumber: 559
    functionLinenumberEnd: 563
    functionName: set_srcgtag_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setsrcgtagicc
    linkageType: ''
    returnType: int
    signature: int set_srcgtag_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdefaultrgbicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 569
    functionName: current_default_rgb_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentdefaultrgbicc
    linkageType: ''
    returnType: void
    signature: void current_default_rgb_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setdefaultrgbicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 571
    functionDepth: 5
    functionLinenumber: 571
    functionLinenumberEnd: 575
    functionName: set_default_rgb_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setdefaultrgbicc
    linkageType: ''
    returnType: int
    signature: int set_default_rgb_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentnamedicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 581
    functionName: current_named_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentnamedicc
    linkageType: ''
    returnType: void
    signature: void current_named_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setnamedprofileicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 587
      start: 583
    functionDepth: 5
    functionLinenumber: 583
    functionLinenumberEnd: 587
    functionName: set_named_profile_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setnamedprofileicc
    linkageType: ''
    returnType: int
    signature: int set_named_profile_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdefaultcmykicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 593
    functionName: current_default_cmyk_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentdefaultcmykicc
    linkageType: ''
    returnType: void
    signature: void current_default_cmyk_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setdefaultcmykicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 595
    functionDepth: 5
    functionLinenumber: 595
    functionLinenumberEnd: 599
    functionName: set_default_cmyk_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setdefaultcmykicc
    linkageType: ''
    returnType: int
    signature: int set_default_cmyk_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentlabicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 605
    functionName: current_lab_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentlabicc
    linkageType: ''
    returnType: void
    signature: void current_lab_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setlabicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pval
    argTypes:
    - i_ctx_t*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 607
    functionDepth: 5
    functionLinenumber: 607
    functionLinenumberEnd: 611
    functionName: set_lab_icc
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setlabicc
    linkageType: ''
    returnType: int
    signature: int set_lab_icc(i_ctx_t *i_ctx_p, gs_param_string * pval)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentaccuratescreens
      Src: /src/libspectre/ghostscript/psi/zusparam.c:678,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 679
    functionName: current_AccurateScreens
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentaccuratescreens
    linkageType: ''
    returnType: bool
    signature: bool current_AccurateScreens(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setaccuratescreens
      Src: /src/libspectre/ghostscript/psi/zusparam.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 680
    functionDepth: 2
    functionLinenumber: 680
    functionLinenumberEnd: 685
    functionName: set_AccurateScreens
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setaccuratescreens
    linkageType: ''
    returnType: int
    signature: int set_AccurateScreens(i_ctx_t *i_ctx_p, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentoverrideicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 691
    functionName: current_OverrideICC
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_currentoverrideicc
    linkageType: ''
    returnType: bool
    signature: bool current_OverrideICC(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_setoverrideicc
      Src: /src/libspectre/ghostscript/psi/zusparam.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 697
    functionName: set_OverrideICC
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - gs_setoverrideicc
    linkageType: ''
    returnType: int
    signature: int set_OverrideICC(i_ctx_t *i_ctx_p, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 698
    functionDepth: 0
    functionLinenumber: 698
    functionLinenumberEnd: 702
    functionName: current_LockFilePermissions
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool current_LockFilePermissions(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:708,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: set_LockFilePermissions
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - return_error
    linkageType: ''
    returnType: int
    signature: int set_LockFilePermissions(i_ctx_t *i_ctx_p, bool val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 712
    functionDepth: 0
    functionLinenumber: 712
    functionLinenumberEnd: 716
    functionName: current_RenderTTNotdef
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool current_RenderTTNotdef(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - i_ctx_p
    - val
    argTypes:
    - i_ctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: set_RenderTTNotdef
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int set_RenderTTNotdef(i_ctx_t *i_ctx_p, bool val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zusparam.c:749,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/zusparam.c:750,1
    - Dst: setparams
      Src: /src/libspectre/ghostscript/psi/zusparam.c:753,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zusparam.c:754,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - i_ctx_p
    - paramdict
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 743
    functionDepth: 1
    functionLinenumber: 743
    functionLinenumberEnd: 756
    functionName: set_user_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - dict_param_list_read
    - setparams
    - check_type
    - iparam_list_release
    linkageType: ''
    returnType: int
    signature: int set_user_params(i_ctx_t *i_ctx_p, const ref *paramdict)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_user_params
      Src: /src/libspectre/ghostscript/psi/zusparam.c:761,1
    - Dst: ztoken_scanner_options
      Src: /src/libspectre/ghostscript/psi/zusparam.c:766,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zusparam.c:767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 770
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 770
    functionName: zsetuserparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - set_user_params
    - ztoken_scanner_options
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetuserparams(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentparams
      Src: /src/libspectre/ghostscript/psi/zusparam.c:776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 777
    functionName: zcurrentuserparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - currentparams
    linkageType: ''
    returnType: int
    signature: int zcurrentuserparams(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: currentparam1
      Src: /src/libspectre/ghostscript/psi/zusparam.c:783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 780
    functionDepth: 1
    functionLinenumber: 780
    functionLinenumberEnd: 784
    functionName: zgetuserparam
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - currentparam1
    linkageType: ''
    returnType: int
    signature: int zgetuserparam(i_ctx_t *i_ctx_p)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: param_read_size_t
      Src: /src/libspectre/ghostscript/psi/zusparam.c:820,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:828,1
    - Dst: param_read_i64
      Src: /src/libspectre/ghostscript/psi/zusparam.c:841,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:849,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/psi/zusparam.c:862,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:870,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/psi/zusparam.c:882,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/psi/zusparam.c:895,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 77
    argCount: 3
    argNames:
    - i_ctx_p
    - plist
    - pset
    argTypes:
    - i_ctx_t*
    - gs_param_list*
    - param_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 909
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 909
    functionName: setparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 5
    functionsReached:
    - return_error
    - param_read_i64
    - param_read_long
    - param_read_size_t
    - param_read_bool
    - param_read_string
    linkageType: ''
    returnType: int
    signature: int setparams(i_ctx_t *i_ctx_p, gs_param_list * plist, const param_set
      * pset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bytes_compare
      Src: /src/libspectre/ghostscript/psi/zusparam.c:917,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zusparam.c:917,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zusparam.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - pname
    - psref
    argTypes:
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 912
    functionDepth: 1
    functionLinenumber: 912
    functionLinenumberEnd: 919
    functionName: pname_matches
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - strlen
    - r_size
    - bytes_compare
    linkageType: ''
    returnType: bool
    signature: bool pname_matches(const char *pname, const ref * psref)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: stack_param_list_write
      Src: /src/libspectre/ghostscript/psi/zusparam.c:929,1
    - Dst: pname_matches
      Src: /src/libspectre/ghostscript/psi/zusparam.c:934,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/psi/zusparam.c:937,1
    - Dst: pname_matches
      Src: /src/libspectre/ghostscript/psi/zusparam.c:945,1
    - Dst: param_write_i64
      Src: /src/libspectre/ghostscript/psi/zusparam.c:948,1
    - Dst: pname_matches
      Src: /src/libspectre/ghostscript/psi/zusparam.c:956,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/psi/zusparam.c:959,1
    - Dst: pname_matches
      Src: /src/libspectre/ghostscript/psi/zusparam.c:967,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/psi/zusparam.c:970,1
    - Dst: pname_matches
      Src: /src/libspectre/ghostscript/psi/zusparam.c:978,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/psi/zusparam.c:982,1
    - Dst: ztoken_get_scanner_option
      Src: /src/libspectre/ghostscript/psi/zusparam.c:996,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/psi/zusparam.c:998,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1002,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 55
    argCount: 3
    argNames:
    - i_ctx_p
    - pset
    - psref
    argTypes:
    - i_ctx_t*
    - param_set*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 920
    functionDepth: 2
    functionLinenumber: 920
    functionLinenumberEnd: 1012
    functionName: current_param_list
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 0
    functionsReached:
    - param_write_string
    - param_write_null
    - pname_matches
    - param_write_bool
    - ztoken_get_scanner_option
    - stack_param_list_write
    - param_write_long
    - param_write_i64
    - param_write_size_t
    linkageType: ''
    returnType: int
    signature: "int current_param_list(i_ctx_t *i_ctx_p, const param_set * pset,\n
      \                  const ref * psref /*t_string */ )"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: current_param_list
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1018,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - i_ctx_p
    - pset
    argTypes:
    - i_ctx_t*
    - param_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1015
    functionDepth: 3
    functionLinenumber: 1015
    functionLinenumberEnd: 1019
    functionName: currentparams
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 2
    functionsReached:
    - current_param_list
    linkageType: ''
    returnType: int
    signature: int currentparams(i_ctx_t *i_ctx_p, const param_set * pset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1029,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1030,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1031,1
    - Dst: current_param_list
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1032,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1036,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1038,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zusparam.c:1039,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - i_ctx_p
    - pset
    argTypes:
    - i_ctx_t*
    - param_set*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1041
    functionName: currentparam1
    functionSourceFile: /src/libspectre/ghostscript/psi/zusparam.c
    functionUses: 2
    functionsReached:
    - ref_assign
    - check_type
    - current_param_list
    - pop
    - return_error
    - check_ostack
    - name_string_ref
    linkageType: ''
    returnType: int
    signature: int currentparam1(i_ctx_t *i_ctx_p, const param_set * pset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zform.c:40,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zform.c:47,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zform.c:48,1
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zform.c:50,1
    - Dst: dict_floats_param
      Src: /src/libspectre/ghostscript/psi/zform.c:54,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zform.c:58,1
    - Dst: dict_floats_param
      Src: /src/libspectre/ghostscript/psi/zform.c:65,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zform.c:69,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zform.c:81,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/psi/zform.c:89,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/psi/zform.c:90,1
    - Dst: gs_distance_transform
      Src: /src/libspectre/ghostscript/psi/zform.c:91,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:105,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:106,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:107,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:108,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/psi/zform.c:114,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/psi/zform.c:114,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:117,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:118,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/psi/zform.c:125,1
    - Dst: fabs
      Src: /src/libspectre/ghostscript/psi/zform.c:125,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:128,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zform.c:129,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/psi/zform.c:133,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zform.c:136,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 62
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 37
    functionDepth: 5
    functionLinenumber: 37
    functionLinenumberEnd: 138
    functionName: zbeginform
    functionSourceFile: /src/libspectre/ghostscript/psi/zform.c
    functionUses: 0
    functionsReached:
    - dict_floats_param
    - float2fixed
    - return_error
    - check_type
    - gs_distance_transform
    - gx_clip_to_rectangle
    - gs_setmatrix
    - gs_currentdevice_inline
    - fabs
    - check_dict_read
    - pop
    - read_matrix
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int zbeginform(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zform.c:144,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zform.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 150
    functionName: zendform
    functionSourceFile: /src/libspectre/ghostscript/psi/zform.c
    functionUses: 0
    functionsReached:
    - dev_proc
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: int zendform(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zform.c:158,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zform.c:161,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zform.c:169,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zform.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 172
    functionName: zget_form_id
    functionSourceFile: /src/libspectre/ghostscript/psi/zform.c
    functionUses: 0
    functionsReached:
    - make_int
    - push
    - dev_proc
    - gs_currentdevice_inline
    linkageType: ''
    returnType: int
    signature: int zget_form_id(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice_inline
      Src: /src/libspectre/ghostscript/psi/zform.c:180,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zform.c:185,1
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zform.c:187,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zform.c:191,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zform.c:192,1
    - Dst: dict_floats_param
      Src: /src/libspectre/ghostscript/psi/zform.c:194,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zform.c:198,1
    - Dst: dict_floats_param
      Src: /src/libspectre/ghostscript/psi/zform.c:203,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zform.c:207,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zform.c:220,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zform.c:223,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 177
    functionDepth: 3
    functionLinenumber: 177
    functionLinenumberEnd: 225
    functionName: zrepeatform
    functionSourceFile: /src/libspectre/ghostscript/psi/zform.c
    functionUses: 0
    functionsReached:
    - dict_floats_param
    - return_error
    - check_type
    - gs_currentdevice_inline
    - pop
    - check_dict_read
    - read_matrix
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int zrepeatform(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:46,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:47,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:48,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:49,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:50,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:51,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/icontext.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 53
    functionName: CLEAR_MARKS_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/icontext.c
    functionUses: 0
    functionsReached:
    - r_clear_attrs
    linkageType: ''
    returnType: void
    signature: void CLEAR_MARKS_PROC(context_state_clear_marks)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/psi/icontext.c:58,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/psi/icontext.c:62,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/psi/icontext.c:66,1
    - Dst: ENUM_USING
      Src: /src/libspectre/ghostscript/psi/icontext.c:69,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pcst
    argTypes:
    - gs_context_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 71
    functionName: ENUM_PTRS_WITH
    functionSourceFile: /src/libspectre/ghostscript/psi/icontext.c
    functionUses: 0
    functionsReached:
    - ENUM_USING
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_WITH(context_state_enum_ptrs, gs_context_state_t *pcst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:50,1
    - Dst: file_is_valid
      Src: /src/libspectre/ghostscript/psi/zfileio.c:51,1
    - Dst: sclose
      Src: /src/libspectre/ghostscript/psi/zfileio.c:52,1
    - Dst: s_is_writing
      Src: /src/libspectre/ghostscript/psi/zfileio.c:55,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:56,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:59,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:63,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 65
    functionName: zclosefile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 1
    functionsReached:
    - sclose
    - s_is_writing
    - handle_read_status
    - check_type
    - file_is_valid
    - pop
    - handle_write_status
    linkageType: ''
    returnType: int
    signature: int zclosefile(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:76,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfileio.c:85,1
    - Dst: sgetc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:86,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:88,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:89,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:91,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:94,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:96,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 99
    functionName: zread
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 8
    functionsReached:
    - make_int
    - sgetc
    - handle_read_status
    - push
    - pop
    - make_bool
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int zread(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_write_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:110,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:111,1
    - Dst: sputc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:113,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:115,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 119
    functionName: zwrite
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 8
    functionsReached:
    - handle_write_status
    - check_type
    - pop
    - check_write_file
    - sputc
    linkageType: ''
    returnType: int
    signature: int zwrite(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:136,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:139,1
    - Dst: s_hex_process
      Src: /src/libspectre/ghostscript/psi/zfileio.c:143,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/zfileio.c:146,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zfileio.c:147,1
    - Dst: spgetc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:152,1
    - Dst: sputback
      Src: /src/libspectre/ghostscript/psi/zfileio.c:155,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:160,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/zfileio.c:165,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:166,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zfileio.c:167,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 4
    argNames:
    - i_ctx_p
    - op
    - start
    - odd
    argTypes:
    - i_ctx_t*
    - os_ptr
    - uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 169
    functionName: zreadhexstring_at
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - make_true
    - s_hex_process
    - sputback
    - check_read_file
    - spgetc
    - handle_read_status
    - make_false
    - r_set_size
    - ref_assign_inline
    - r_size
    linkageType: ''
    returnType: int
    signature: int zreadhexstring_at(i_ctx_t *i_ctx_p, os_ptr op, uint start, int
      odd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:175,1
    - Dst: zreadhexstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 2
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: zreadhexstring
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - zreadhexstring_at
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zreadhexstring(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:186,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:190,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:191,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:192,1
    - Dst: zreadhexstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:193,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:195,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 197
    functionName: zreadhexstring_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - r_size
    - check_type
    - zreadhexstring_at
    - pop
    - return_error
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zreadhexstring_continue(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_write_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:214,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:215,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:217,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/zfileio.c:219,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:230,1
    - Dst: write_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:232,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:235,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:244,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:246,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:250,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 32
    argCount: 3
    argNames:
    - i_ctx_p
    - op
    - odd
    argTypes:
    - i_ctx_t*
    - os_ptr
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 253
    functionName: zwritehexstring_at
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - write_string
    - handle_write_status
    - return_error
    - min
    - r_set_size
    - pop
    - check_write_file
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zwritehexstring_at(i_ctx_t *i_ctx_p, os_ptr op, uint odd)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zwritehexstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 260
    functionName: zwritehexstring
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - zwritehexstring_at
    linkageType: ''
    returnType: int
    signature: int zwritehexstring(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:271,1
    - Dst: zwritehexstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:272,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 276
    functionName: zwritehexstring_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - return_error
    - zwritehexstring_at
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zwritehexstring_continue(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:287,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:288,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:289,1
    - Dst: sgets
      Src: /src/libspectre/ghostscript/psi/zfileio.c:290,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:297,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:308,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:309,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - i_ctx_p
    - op
    - start
    argTypes:
    - i_ctx_t*
    - os_ptr
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 313
    functionName: zreadstring_at
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_write_type
    - handle_read_status
    - r_size
    - sgets
    - r_set_size
    - return_error
    - make_bool
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int zreadstring_at(i_ctx_t *i_ctx_p, os_ptr op, uint start)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zreadstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 320
    functionName: zreadstring
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - zreadstring_at
    linkageType: ''
    returnType: int
    signature: int zreadstring(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:329,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:330,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:331,1
    - Dst: zreadstring_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:332,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 336
    functionName: zreadstring_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_type
    - zreadstring_at
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zreadstring_continue(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_write_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:346,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:347,1
    - Dst: write_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:348,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:350,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:353,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 354
    functionName: zwritestring
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - write_string
    - handle_write_status
    - pop
    - check_write_file
    - check_read_type
    linkageType: ''
    returnType: int
    signature: int zwritestring(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:377,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:378,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:380,1
    - Dst: zreadline_from
      Src: /src/libspectre/ghostscript/psi/zfileio.c:381,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:387,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:390,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:394,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:397,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:401,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:403,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 4
    argNames:
    - i_ctx_p
    - op
    - count
    - in_eol
    argTypes:
    - i_ctx_t*
    - os_ptr
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 405
    functionName: zreadline_at
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_write_type
    - handle_read_status
    - r_size
    - zreadline_from
    - r_set_size
    - return_error
    - make_bool
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int zreadline_at(i_ctx_t *i_ctx_p, os_ptr op, uint count, bool in_eol)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zreadline_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 412
    functionName: zreadline
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - zreadline_at
    linkageType: ''
    returnType: int
    signature: int zreadline(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:419,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:423,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:425,1
    - Dst: zreadline_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:427,1
    - Dst: zreadline_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:428,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 432
    functionName: zreadline_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_type
    - zreadline_at
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int zreadline_continue(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sreadline_proc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:441,1
    - Dst: zis_stdin
      Src: /src/libspectre/ghostscript/psi/zfileio.c:443,1
    - Dst: readline
      Src: /src/libspectre/ghostscript/psi/zfileio.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 5
    argNames:
    - s
    - buf
    - bufmem
    - pcount
    - pin_eol
    argTypes:
    - stream*
    - gs_string*
    - gs_memory_t*
    - uint*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 449
    functionName: zreadline_from
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 2
    functionsReached:
    - sreadline_proc
    - zis_stdin
    - readline
    linkageType: ''
    returnType: int
    signature: "int zreadline_from(stream *s, gs_string *buf, gs_memory_t *bufmem,\n
      \              uint *pcount, bool *pin_eol)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:459,1
    - Dst: savailable
      Src: /src/libspectre/ghostscript/psi/zfileio.c:460,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:462,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zfileio.c:468,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 473
    functionName: zbytesavailable
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - make_int
    - gs_currentcpsimode
    - return_error
    - savailable
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int zbytesavailable(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zget_stdout
      Src: /src/libspectre/ghostscript/psi/zfileio.c:482,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:487,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/psi/zfileio.c:488,1
    - Dst: s_is_writing
      Src: /src/libspectre/ghostscript/psi/zfileio.c:493,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:494,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 496
    functionName: zflush
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 1
    functionsReached:
    - make_stream_file
    - s_is_writing
    - handle_read_status
    - zget_stdout
    - handle_write_status
    - sflush
    linkageType: ''
    returnType: int
    signature: int zflush(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:506,1
    - Dst: file_is_invalid
      Src: /src/libspectre/ghostscript/psi/zfileio.c:511,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zfileio.c:512,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:513,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:514,1
    - Dst: sflush
      Src: /src/libspectre/ghostscript/psi/zfileio.c:517,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:519,1
    - Dst: s_is_writing
      Src: /src/libspectre/ghostscript/psi/zfileio.c:523,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:524,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:525,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 526
    functionName: zflushfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - handle_write_status
    - s_is_writing
    - r_has_attr
    - handle_read_status
    - check_type
    - file_is_invalid
    - pop
    - return_error
    - sflush
    linkageType: ''
    returnType: int
    signature: int zflushfile(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:536,1
    - Dst: file_is_valid
      Src: /src/libspectre/ghostscript/psi/zfileio.c:537,1
    - Dst: sreset
      Src: /src/libspectre/ghostscript/psi/zfileio.c:538,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: zresetfile
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - sreset
    - file_is_valid
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zresetfile(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:553,1
    - Dst: zget_stdout
      Src: /src/libspectre/ghostscript/psi/zfileio.c:554,1
    - Dst: write_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:557,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:559,1
    - Dst: make_stream_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:563,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:564,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfileio.c:568,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 544
    functionDepth: 2
    functionLinenumber: 544
    functionLinenumberEnd: 572
    functionName: zprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - write_string
    - make_stream_file
    - zget_stdout
    - push
    - pop
    - handle_write_status
    - check_read_type
    linkageType: ''
    returnType: int
    signature: int zprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:580,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 584
    functionName: zecho
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zecho(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:595,1
    - Dst: s_can_seek
      Src: /src/libspectre/ghostscript/psi/zfileio.c:600,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:601,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:602,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/psi/zfileio.c:602,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 589
    functionDepth: 1
    functionLinenumber: 589
    functionLinenumberEnd: 604
    functionName: zfileposition
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - make_int
    - stell
    - check_file
    - return_error
    - s_can_seek
    linkageType: ''
    returnType: int
    signature: int zfileposition(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:612,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:617,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/psi/zfileio.c:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 619
    functionName: zxfileposition
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - stell
    - make_int
    - check_file
    linkageType: ''
    returnType: int
    signature: int zxfileposition(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:628,1
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:629,1
    - Dst: sseek
      Src: /src/libspectre/ghostscript/psi/zfileio.c:630,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:631,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 634
    functionName: zsetfileposition
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_file
    - check_type
    - pop
    - return_error
    - sseek
    linkageType: ''
    returnType: int
    signature: int zsetfileposition(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:648,1
    - Dst: sfilename
      Src: /src/libspectre/ghostscript/psi/zfileio.c:649,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zfileio.c:650,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfileio.c:653,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:654,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:656,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfileio.c:657,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfileio.c:658,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:659,1
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zfileio.c:660,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/zfileio.c:663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 665
    functionName: zfilename
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - make_true
    - check_file
    - ialloc_string
    - memcpy
    - push
    - return_error
    - sfilename
    - check_ostack
    - imemory_space
    - make_false
    linkageType: ''
    returnType: int
    signature: int zfilename(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:674,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:677,1
    - Dst: s_is_proc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 679
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 679
    functionName: zisprocfilter
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - s_is_proc
    - make_bool
    - check_file
    linkageType: ''
    returnType: int
    signature: int zisprocfilter(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:689,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:690,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:691,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zfileio.c:692,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:705,1
    - Dst: s_process_read_buf
      Src: /src/libspectre/ghostscript/psi/zfileio.c:706,1
    - Dst: handle_read_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:709,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfileio.c:717,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/psi/zfileio.c:717,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:718,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfileio.c:720,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 722
    functionName: zpeekstring
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - check_read_file
    - handle_read_status
    - r_size
    - sbufptr
    - s_process_read_buf
    - memcpy
    - r_set_size
    - return_error
    - make_bool
    - sbufavailable
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zpeekstring(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:732,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:733,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:736,1
    - Dst: sungetc
      Src: /src/libspectre/ghostscript/psi/zfileio.c:737,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:738,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:739,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 741
    functionName: zunread
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - sungetc
    - check_type
    - pop
    - return_error
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int zunread(i_ctx_t *i_ctx_p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: check_write_file
      Src: /src/libspectre/ghostscript/psi/zfileio.c:755,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:756,1
    - Dst: obj_cvp
      Src: /src/libspectre/ghostscript/psi/zfileio.c:757,1
    - Dst: obj_string_data
      Src: /src/libspectre/ghostscript/psi/zfileio.c:760,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:762,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:768,1
    - Dst: write_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:770,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:773,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:778,1
    - Dst: handle_write_status
      Src: /src/libspectre/ghostscript/psi/zfileio.c:781,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfileio.c:786,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zfileio.c:787,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfileio.c:789,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:790,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:794,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfileio.c:796,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 4
    argNames:
    - i_ctx_p
    - op
    - start
    - first
    argTypes:
    - i_ctx_t*
    - os_ptr
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 745
    functionDepth: 1
    functionLinenumber: 745
    functionLinenumberEnd: 798
    functionName: zwritecvp_at
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - write_string
    - handle_write_status
    - make_int
    - return_error
    - check_type
    - obj_string_data
    - push_op_estack
    - push
    - r_set_size
    - pop
    - check_write_file
    - check_ostack
    - obj_cvp
    - r_size
    linkageType: ''
    returnType: int
    signature: int zwritecvp_at(i_ctx_t *i_ctx_p, os_ptr op, uint start, bool first)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zwritecvp_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 799
    functionDepth: 2
    functionLinenumber: 799
    functionLinenumberEnd: 803
    functionName: zwritecvp
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - zwritecvp_at
    linkageType: ''
    returnType: int
    signature: int zwritecvp(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfileio.c:811,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:813,1
    - Dst: zwritecvp_at
      Src: /src/libspectre/ghostscript/psi/zfileio.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 806
    functionDepth: 2
    functionLinenumber: 806
    functionLinenumberEnd: 815
    functionName: zwritecvp_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - return_error
    - zwritecvp_at
    - check_type
    linkageType: ''
    returnType: int
    signature: int zwritecvp_continue(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fptr
      Src: /src/libspectre/ghostscript/psi/zfileio.c:863,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:865,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:866,1
    - Dst: sswitch
      Src: /src/libspectre/ghostscript/psi/zfileio.c:867,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:868,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 872
    functionName: file_switch_to_read
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - return_error
    - fptr
    - sswitch
    - r_size
    linkageType: ''
    returnType: int
    signature: int file_switch_to_read(const ref * op)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fptr
      Src: /src/libspectre/ghostscript/psi/zfileio.c:879,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:881,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:882,1
    - Dst: sswitch
      Src: /src/libspectre/ghostscript/psi/zfileio.c:883,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:884,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - op
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 888
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 888
    functionName: file_switch_to_write
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - return_error
    - fptr
    - sswitch
    - r_size
    linkageType: ''
    returnType: int
    signature: int file_switch_to_write(const ref * op)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:898,1
    - Dst: sputs
      Src: /src/libspectre/ghostscript/psi/zfileio.c:900,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zfileio.c:906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - op
    - s
    argTypes:
    - ref*
    - stream*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 911
    functionName: write_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 61
    functionsReached:
    - sputs
    - r_set_size
    - r_size
    linkageType: ''
    returnType: int
    signature: int write_string(ref * op, stream * s)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fptr
      Src: /src/libspectre/ghostscript/psi/zfileio.c:922,1
    - Dst: gs_errorinfo_put_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:925,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfileio.c:931,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 2
    argNames:
    - i_ctx_p
    - fop
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 917
    functionDepth: 1
    functionLinenumber: 917
    functionLinenumberEnd: 932
    functionName: copy_error_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 0
    functionsReached:
    - return_error
    - fptr
    - gs_errorinfo_put_string
    linkageType: ''
    returnType: int
    signature: int copy_error_string(i_ctx_t *i_ctx_p, const ref *fop)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: copy_error_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:944,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:952,1
    - Dst: s_handle_read_exception
      Src: /src/libspectre/ghostscript/psi/zfileio.c:953,1
    - Dst: s_handle_read_exception
      Src: /src/libspectre/ghostscript/psi/zfileio.c:956,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - i_ctx_p
    - ch
    - fop
    - pindex
    - cont
    argTypes:
    - i_ctx_t*
    - int
    - ref*
    - uint*
    - op_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 938
    functionDepth: 2
    functionLinenumber: 938
    functionLinenumberEnd: 959
    functionName: handle_read_status
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 8
    functionsReached:
    - make_int
    - copy_error_string
    - s_handle_read_exception
    linkageType: ''
    returnType: int
    signature: "int handle_read_status(i_ctx_t *i_ctx_p, int ch, const ref * fop,\n
      \                  const uint * pindex, op_proc_t cont)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: copy_error_string
      Src: /src/libspectre/ghostscript/psi/zfileio.c:971,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zfileio.c:979,1
    - Dst: s_handle_write_exception
      Src: /src/libspectre/ghostscript/psi/zfileio.c:980,1
    - Dst: s_handle_write_exception
      Src: /src/libspectre/ghostscript/psi/zfileio.c:983,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - i_ctx_p
    - ch
    - fop
    - pindex
    - cont
    argTypes:
    - i_ctx_t*
    - int
    - ref*
    - uint*
    - op_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 986
    functionName: handle_write_status
    functionSourceFile: /src/libspectre/ghostscript/psi/zfileio.c
    functionUses: 8
    functionsReached:
    - make_int
    - copy_error_string
    - s_handle_write_exception
    linkageType: ''
    returnType: int
    signature: "int handle_write_status(i_ctx_t *i_ctx_p, int ch, const ref * fop,\n
      \                   const uint * pindex, op_proc_t cont)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/iparam.c:44,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:45,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iparam.c:46,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/iparam.c:49,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iparam.c:49,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - plist
    - pkey
    - pkref
    argTypes:
    - iparam_list*
    - gs_param_name
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 50
    functionName: ref_param_key
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - sscanf
    - make_int
    - strlen
    - name_ref
    - return_error
    linkageType: ''
    returnType: int
    signature: int ref_param_key(const iparam_list * plist, gs_param_name pkey, ref
      * pkref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:56,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/iparam.c:59,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:61,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:63,1
    - Dst: gs_sprintf
      Src: /src/libspectre/ghostscript/psi/iparam.c:68,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iparam.c:69,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/psi/iparam.c:71,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:73,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 3
    argNames:
    - pref
    - key
    - plist
    argTypes:
    - ref*
    - gs_param_key_t*
    - iparam_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 53
    functionDepth: 5
    functionLinenumber: 53
    functionLinenumberEnd: 80
    functionName: ref_to_key
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - r_has_type
    - strlen
    - gs_sprintf
    - gs_alloc_string
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: int
    signature: int ref_to_key(const ref * pref, gs_param_key_t * key, iparam_list
      *plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/iparam.c:114,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/iparam.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pe
    - pvalue
    - i
    - imem
    argTypes:
    - ref*
    - void*
    - uint
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: ref_param_make_int
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - imemory_new_mask
    - make_tav
    linkageType: ''
    returnType: int
    signature: int ref_param_make_int(ref *pe, const void *pvalue, uint i, gs_ref_memory_t
      *imem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/iparam.c:121,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/iparam.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - pe
    - pvalue
    - i
    - imem
    argTypes:
    - ref*
    - void*
    - uint
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 124
    functionName: ref_param_make_float
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - imemory_new_mask
    - make_tav
    linkageType: ''
    returnType: int
    signature: int ref_param_make_float(ref *pe, const void *pvalue, uint i, gs_ref_memory_t
      *imem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_write_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pe
    - pvalue
    - i
    - imem
    argTypes:
    - ref*
    - void*
    - uint
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: ref_param_make_string
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_write_string_value
    linkageType: ''
    returnType: int
    signature: int ref_param_make_string(ref *pe, const void *pvalue, uint i, gs_ref_memory_t
      *imem)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_write_name_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pe
    - pvalue
    - i
    - imem
    argTypes:
    - ref*
    - void*
    - uint
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    functionName: ref_param_make_name
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_write_name_value
    linkageType: ''
    returnType: int
    signature: int ref_param_make_name(ref * pe, const void *pvalue, uint i, gs_ref_memory_t
      *imem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_array_param_requested
      Src: /src/libspectre/ghostscript/psi/iparam.c:150,1
    - Dst: ref_param_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - pkey
    - pvalue
    - count
    argTypes:
    - gs_param_list*
    - gs_param_name
    - void*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 157
    functionName: ref_param_write_typed_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_write
    - ref_array_param_requested
    linkageType: ''
    returnType: int
    signature: "int ref_param_write_typed_array(gs_param_list * plist, gs_param_name
      pkey,\n                            void *pvalue, uint count,\n                            int
      (*make)(ref *, const void *, uint,\n                                        gs_ref_memory_t
      *))"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/iparam.c:166,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/psi/iparam.c:166,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:171,1
    - Dst: dict_alloc
      Src: /src/libspectre/ghostscript/psi/iparam.c:175,1
    - Dst: dict_param_list_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:177,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:183,1
    - Dst: array_new_indexed_plist_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:186,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - plist
    - pkey
    - pvalue
    - coll_type
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_dict*
    - gs_param_collection_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 193
    functionName: ref_param_begin_write_collection
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_ref_array
    - gs_alloc_bytes
    - dict_alloc
    - dict_param_list_write
    - array_new_indexed_plist_write
    - return_error
    - size_of
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int ref_param_begin_write_collection(gs_param_list * plist, gs_param_name
      pkey,\n                                 gs_param_dict * pvalue,\n                                 gs_param_collection_type_t
      coll_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:199,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: ref_param_end_write_collection
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_write
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int ref_param_end_write_collection(gs_param_list * plist, gs_param_name
      pkey,\n                               gs_param_dict * pvalue)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/iparam.c:216,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/iparam.c:219,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iparam.c:222,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iparam.c:226,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iparam.c:230,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/iparam.c:234,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/iparam.c:237,1
    - Dst: ref_param_requested
      Src: /src/libspectre/ghostscript/psi/iparam.c:240,1
    - Dst: ref_param_write_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:242,1
    - Dst: ref_param_requested
      Src: /src/libspectre/ghostscript/psi/iparam.c:246,1
    - Dst: ref_param_write_name_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:248,1
    - Dst: ref_param_write_typed_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:251,1
    - Dst: ref_param_write_typed_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:255,1
    - Dst: ref_param_write_typed_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:259,1
    - Dst: ref_param_write_typed_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:263,1
    - Dst: ref_param_begin_write_collection
      Src: /src/libspectre/ghostscript/psi/iparam.c:269,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:273,1
    - Dst: ref_param_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:277,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 51
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_typed_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 278
    functionName: ref_param_write_typed
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - make_null
    - ref_param_write_typed_array
    - make_int
    - return_error
    - ref_param_requested
    - ref_param_write
    - ref_param_write_string_value
    - make_real
    - ref_param_write_name_value
    - make_bool
    - ref_param_begin_write_collection
    linkageType: ''
    returnType: int
    signature: "int ref_param_write_typed(gs_param_list * plist, gs_param_name pkey,\n
      \                     gs_param_typed_value * pvalue)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:288,1
    - Dst: ref_param_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:290,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/iparam.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - plist
    - pkey
    argTypes:
    - gs_param_list*
    - gs_param_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 293
    functionName: ref_param_requested
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - r_has_type
    - ref_param_key
    - dict_find
    linkageType: ''
    returnType: int
    signature: int ref_param_requested(const gs_param_list * plist, gs_param_name
      pkey)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_requested
      Src: /src/libspectre/ghostscript/psi/iparam.c:303,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 5
    argNames:
    - iplist
    - pkey
    - pvalue
    - size
    - cname
    argTypes:
    - iparam_list*
    - gs_param_name
    - ref*
    - uint
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 297
    functionDepth: 3
    functionLinenumber: 297
    functionLinenumberEnd: 307
    functionName: ref_array_param_requested
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - gs_alloc_ref_array
    - ref_param_requested
    linkageType: ''
    returnType: int
    signature: "int ref_array_param_requested(const iparam_list *iplist, gs_param_name
      pkey,\n                          ref *pvalue, uint size, client_name_t cname)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/iparam.c:320,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/psi/iparam.c:322,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:326,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iparam.c:327,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/iparam.c:328,1
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/iparam.c:328,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - pref
    - pvalue
    - imem
    argTypes:
    - ref*
    - gs_param_string*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 331
    functionName: ref_param_write_string_value
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 2
    functionsReached:
    - make_const_string
    - gs_alloc_string
    - memcpy
    - make_string
    - return_error
    - imemory_space
    linkageType: ''
    returnType: int
    signature: "int ref_param_write_string_value(ref * pref, const gs_param_string
      * pvalue,\n                             gs_ref_memory_t *imem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/iparam.c:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - pref
    - pvalue
    argTypes:
    - gs_memory_t*
    - ref*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 339
    functionName: ref_param_write_name_value
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 2
    functionsReached:
    - name_ref
    linkageType: ''
    returnType: int
    signature: int ref_param_write_name_value(const gs_memory_t *mem, ref * pref,
      const gs_param_string * pvalue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_requested
      Src: /src/libspectre/ghostscript/psi/iparam.c:348,1
    - Dst: ref_param_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - iparam_list*
    - gs_param_name
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 354
    functionName: ref_param_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 3
    functionsReached:
    - ref_param_key
    - ref_param_requested
    linkageType: ''
    returnType: int
    signature: int ref_param_write(iparam_list * plist, gs_param_name pkey, const
      ref * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_list_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:363,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/iparam.c:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - plist
    - pwanted
    - imem
    argTypes:
    - iparam_list*
    - ref*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 372
    functionName: ref_param_write_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - make_null
    - gs_param_list_init
    linkageType: ''
    returnType: void
    signature: "void ref_param_write_init(iparam_list * plist, const ref * pwanted,\n
      \                    gs_ref_memory_t *imem)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_push
      Src: /src/libspectre/ghostscript/psi/iparam.c:383,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - iparam_list*
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 396
    functionName: stack_param_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_stack_index
    - ref_stack_push
    linkageType: ''
    returnType: int
    signature: int stack_param_write(iparam_list * plist, const ref * pkey, const
      ref * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:410,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:413,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:414,1
    - Dst: ref_to_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - plist
    - penum
    - key
    - type
    argTypes:
    - iparam_list*
    - gs_param_enumerator_t*
    - gs_param_key_t*
    - ref_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 399
    functionDepth: 6
    functionLinenumber: 399
    functionLinenumberEnd: 418
    functionName: stack_param_enumerate
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - r_type
    - ref_stack_index
    - ref_to_key
    linkageType: ''
    returnType: int
    signature: "int stack_param_enumerate(iparam_list * plist, gs_param_enumerator_t
      * penum,\n                      gs_param_key_t * key, ref_type * type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_write_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - pstack
    - pwanted
    - imem
    argTypes:
    - stack_param_list*
    - ref_stack_t*
    - ref*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 2
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: stack_param_list_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - ref_param_write_init
    linkageType: ''
    returnType: int
    signature: "int stack_param_list_write(stack_param_list * plist, ref_stack_t *
      pstack,\n                       const ref * pwanted, gs_ref_memory_t *imem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_put
      Src: /src/libspectre/ghostscript/psi/iparam.c:438,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/iparam.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - iparam_list*
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 441
    functionName: dict_param_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - min
    - dict_put
    linkageType: ''
    returnType: int
    signature: int dict_param_write(iparam_list * plist, const ref * pkey, const ref
      * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/iparam.c:452,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/iparam.c:454,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:457,1
    - Dst: ref_to_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - penum
    - key
    - type
    argTypes:
    - iparam_list*
    - gs_param_enumerator_t*
    - gs_param_key_t*
    - ref_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 444
    functionDepth: 6
    functionLinenumber: 444
    functionLinenumberEnd: 461
    functionName: dict_param_enumerate
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - r_type
    - dict_first
    - dict_next
    - ref_to_key
    linkageType: ''
    returnType: int
    signature: "int dict_param_enumerate(iparam_list * plist, gs_param_enumerator_t
      * penum,\n                     gs_param_key_t * key, ref_type * type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:467,1
    - Dst: ref_param_write_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - plist
    - pdict
    - pwanted
    - imem
    argTypes:
    - dict_param_list*
    - ref*
    - ref*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 463
    functionDepth: 2
    functionLinenumber: 463
    functionLinenumberEnd: 473
    functionName: dict_param_list_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 2
    functionsReached:
    - check_dict_write
    - ref_param_write_init
    linkageType: ''
    returnType: int
    signature: "int dict_param_list_write(dict_param_list *plist, ref *pdict, const
      ref *pwanted,\n                      gs_ref_memory_t *imem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:484,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:485,1
    - Dst: check_int_ltu
      Src: /src/libspectre/ghostscript/psi/iparam.c:486,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:486,1
    - Dst: store_check_dest
      Src: /src/libspectre/ghostscript/psi/iparam.c:487,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/iparam.c:490,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/iparam.c:491,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/iparam.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - iplist
    - pkey
    - pvalue
    argTypes:
    - iparam_list*
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 493
    functionName: array_new_indexed_param_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - imemory_new_mask
    - ref_assign
    - r_has_type
    - store_check_dest
    - r_set_attrs
    - check_int_ltu
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: "int array_new_indexed_param_write(iparam_list * iplist, const ref
      * pkey,\n                          const ref * pvalue)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:498,1
    - Dst: check_write
      Src: /src/libspectre/ghostscript/psi/iparam.c:499,1
    - Dst: ref_param_write_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - plist
    - parray
    - pwanted
    - imem
    argTypes:
    - dict_param_list*
    - ref*
    - ref*
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 494
    functionDepth: 2
    functionLinenumber: 494
    functionLinenumberEnd: 505
    functionName: array_new_indexed_plist_write
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - check_array
    - ref_param_write_init
    - check_write
    linkageType: ''
    returnType: int
    signature: "int array_new_indexed_plist_write(dict_param_list * plist, ref * parray,\n
      \                             const ref * pwanted, gs_ref_memory_t *imem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loc
    - ','
    - code
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 541
    functionName: iparam_note_error
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iparam_note_error(loc, code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - loc
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 544
    functionName: iparam_check_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iparam_check_type(loc, typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - loc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: iparam_check_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iparam_check_read(loc)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:554,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:561,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:562,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:566,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/iparam.c:570,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:571,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:572,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:578,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_int_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 585
    functionName: ref_param_read_int_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - r_has_type
    - gs_free_object
    - array_get
    - return_error
    - gs_note_error
    - ref_param_read_array
    - r_size
    linkageType: ''
    returnType: int
    signature: "int ref_param_read_int_array(gs_param_list * plist, gs_param_name
      pkey,\n                         gs_param_int_array * pvalue)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:593,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:600,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:601,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:605,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/iparam.c:609,1
    - Dst: float_param
      Src: /src/libspectre/ghostscript/psi/iparam.c:610,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:613,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_float_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 620
    functionName: ref_param_read_float_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - float_param
    - gs_alloc_byte_array
    - gs_free_object
    - array_get
    - return_error
    - ref_param_read_array
    - r_size
    linkageType: ''
    returnType: int
    signature: "int ref_param_read_float_array(gs_param_list * plist, gs_param_name
      pkey,\n                           gs_param_float_array * pvalue)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:628,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:635,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:637,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:640,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:642,1
    - Dst: ref_param_read_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:645,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/iparam.c:652,1
    - Dst: ref_param_read_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:653,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:657,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_string_array*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 664
    functionName: ref_param_read_string_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_read_string_value
    - gs_alloc_byte_array
    - r_has_type
    - gs_free_object
    - array_get
    - return_error
    - ref_param_read_array
    - r_size
    linkageType: ''
    returnType: int
    signature: "int ref_param_read_string_array(gs_param_list * plist, gs_param_name
      pkey,\n                            gs_param_string_array * pvalue)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:673,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/iparam.c:679,1
    - Dst: size_of
      Src: /src/libspectre/ghostscript/psi/iparam.c:679,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:682,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:683,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:684,1
    - Dst: dict_length
      Src: /src/libspectre/ghostscript/psi/iparam.c:688,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:689,1
    - Dst: array_indexed_param_list_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:690,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:693,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:695,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:697,1
    - Dst: iparam_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:698,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 4
    argNames:
    - plist
    - pkey
    - pvalue
    - coll_type
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_dict*
    - gs_param_collection_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 702
    functionName: ref_param_begin_read_collection
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - dict_length
    - r_has_type
    - dict_param_list_read
    - r_size
    - ref_param_read
    - gs_note_error
    - gs_free_object
    - iparam_note_error
    - return_error
    - size_of
    - array_indexed_param_list_read
    - r_is_array
    linkageType: ''
    returnType: int
    signature: "int ref_param_begin_read_collection(gs_param_list * plist, gs_param_name
      pkey,\n                                gs_param_dict * pvalue,\n                                gs_param_collection_type_t
      coll_type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/iparam.c:707,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/iparam.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_dict*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 711
    functionName: ref_param_end_read_collection
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - iparam_list_release
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int ref_param_end_read_collection(gs_param_list * plist, gs_param_name
      pkey,\n                              gs_param_dict * pvalue)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:719,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:723,1
    - Dst: iparam_check_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:727,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:728,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/iparam.c:740,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:741,1
    - Dst: ref_param_read_int_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:744,1
    - Dst: ref_param_read_float_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:752,1
    - Dst: ref_param_read_string_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:756,1
    - Dst: ref_param_read_string_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:760,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:765,1
    - Dst: ref_param_begin_read_collection
      Src: /src/libspectre/ghostscript/psi/iparam.c:771,1
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/psi/iparam.c:784,1
    - Dst: ref_param_read_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:799,1
    - Dst: ref_param_read_string_value
      Src: /src/libspectre/ghostscript/psi/iparam.c:810,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:814,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 73
    argCount: 3
    argNames:
    - plist
    - pkey
    - pvalue
    argTypes:
    - gs_param_list*
    - gs_param_name
    - gs_param_typed_value*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 815
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 815
    functionName: ref_param_read_typed
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - ref_param_read_string_array
    - ref_param_read_string_value
    - r_type
    - ref_param_read_float_array
    - param_init_enumerator
    - ref_param_read_int_array
    - iparam_check_read
    - ref_param_read
    - array_get
    - gs_note_error
    - ref_param_begin_read_collection
    - r_size
    linkageType: ''
    returnType: int
    signature: "int ref_param_read_typed(gs_param_list * plist, gs_param_name pkey,\n
      \                    gs_param_typed_value * pvalue)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:823,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/iparam.c:824,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:825,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 2
    argNames:
    - plist
    - pkey
    argTypes:
    - gs_param_list*
    - gs_param_name
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 817
    functionDepth: 1
    functionLinenumber: 817
    functionLinenumberEnd: 829
    functionName: ref_param_read_get_policy
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - r_has_type
    linkageType: ''
    returnType: int
    signature: int ref_param_read_get_policy(gs_param_list * plist, gs_param_name
      pkey)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:836,1
    - Dst: ref_param_read_get_policy
      Src: /src/libspectre/ghostscript/psi/iparam.c:839,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:843,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - plist
    - pkey
    - code
    argTypes:
    - gs_param_list*
    - gs_param_name
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 830
    functionDepth: 2
    functionLinenumber: 830
    functionLinenumberEnd: 847
    functionName: ref_param_read_signal_error
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - ref_param_read
    - ref_param_read_get_policy
    linkageType: ''
    returnType: int
    signature: int ref_param_read_signal_error(gs_param_list * plist, gs_param_name
      pkey, int code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:860,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - plist
    argTypes:
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 862
    functionName: ref_param_read_commit
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: int ref_param_read_commit(gs_param_list * plist)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plist
    - penum
    - key
    argTypes:
    - gs_param_list*
    - gs_param_enumerator_t*
    - gs_param_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 863
    functionDepth: 0
    functionLinenumber: 863
    functionLinenumberEnd: 871
    functionName: ref_param_get_next_key
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int ref_param_get_next_key(gs_param_list * plist, gs_param_enumerator_t
      * penum,\n                       gs_param_key_t * key)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:881,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/iparam.c:885,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:887,1
    - Dst: iparam_check_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:892,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:894,1
    - Dst: iparam_check_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:901,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:902,1
    - Dst: iparam_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:903,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/iparam.c:904,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:905,1
    - Dst: iparam_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:909,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - mem
    - ploc
    - pvalue
    argTypes:
    - gs_memory_t*
    - iparam_loc*
    - gs_param_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 912
    functionName: ref_param_read_string_value
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 2
    functionsReached:
    - r_type
    - iparam_check_read
    - gs_object_type
    - r_ptr
    - iparam_note_error
    - gs_object_size
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: int
    signature: int ref_param_read_string_value(gs_memory_t *mem, const iparam_loc
      * ploc, gs_param_string * pvalue)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:918,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:922,1
    - Dst: iparam_note_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:923,1
    - Dst: iparam_check_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:924,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - gs_param_name
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 926
    functionName: ref_param_read_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 3
    functionsReached:
    - iparam_check_read
    - ref_param_read
    - iparam_note_error
    - r_is_array
    linkageType: ''
    returnType: int
    signature: int ref_param_read_array(iparam_list * plist, gs_param_name pkey, iparam_loc
      * ploc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ref_param_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:935,1
    - Dst: iparam_check_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 4
    argNames:
    - plist
    - pkey
    - ploc
    - type
    argTypes:
    - iparam_list*
    - gs_param_name
    - iparam_loc*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 929
    functionDepth: 2
    functionLinenumber: 929
    functionLinenumberEnd: 945
    functionName: ref_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 4
    functionsReached:
    - ref_param_key
    - iparam_check_type
    linkageType: ''
    returnType: int
    signature: "int ref_param_read(iparam_list * plist, gs_param_name pkey, iparam_loc
      * ploc,\n               int type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - ref*
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 0
    functionLinenumber: 950
    functionLinenumberEnd: 954
    functionName: empty_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int empty_param_read(iparam_list * plist, const ref * pkey, iparam_loc
      * ploc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_param_list_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:961,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/iparam.c:965,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/iparam.c:971,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:975,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/iparam.c:976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - plist
    - count
    - ppolicies
    - require_all
    - imem
    argTypes:
    - iparam_list*
    - uint
    - ref*
    - bool
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 980
      start: 957
    functionDepth: 1
    functionLinenumber: 957
    functionLinenumberEnd: 980
    functionName: ref_param_read_init
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - make_null
    - gs_alloc_byte_array
    - gs_param_list_init
    - memset
    - return_error
    linkageType: ''
    returnType: int
    signature: "int ref_param_read_init(iparam_list * plist, uint count, const ref
      * ppolicies,\n                    bool require_all, gs_ref_memory_t *imem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:988,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:989,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - ref*
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 995
    functionName: array_indexed_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - check_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int array_indexed_param_read(iparam_list * plist, const ref * pkey,
      iparam_loc * ploc)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:1004,1
    - Dst: ref_param_read_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:1007,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/iparam.c:1007,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - plist
    - parray
    - ppolicies
    - require_all
    - ref_memory
    argTypes:
    - dict_param_list*
    - ref*
    - ref*
    - bool
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 996
    functionDepth: 2
    functionLinenumber: 996
    functionLinenumberEnd: 1011
    functionName: array_indexed_param_list_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - ref_param_read_init
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: "int array_indexed_param_list_read(dict_param_list * plist, const ref
      * parray,\n                              const ref * ppolicies, bool require_all,\n
      \                             gs_ref_memory_t *ref_memory)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:1022,1
    - Dst: name_eq
      Src: /src/libspectre/ghostscript/psi/iparam.c:1022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - ref*
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1030
    functionName: array_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - name_eq
    linkageType: ''
    returnType: int
    signature: int array_param_read(iparam_list * plist, const ref * pkey, iparam_loc
      * ploc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:1045,1
    - Dst: ref_to_key
      Src: /src/libspectre/ghostscript/psi/iparam.c:1046,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:1048,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - plist
    - penum
    - key
    - type
    argTypes:
    - iparam_list*
    - gs_param_enumerator_t*
    - gs_param_key_t*
    - ref_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1033
    functionDepth: 6
    functionLinenumber: 1033
    functionLinenumberEnd: 1054
    functionName: array_param_enumerate
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - r_type
    - r_has_type
    - ref_to_key
    linkageType: ''
    returnType: int
    signature: "int array_param_enumerate(iparam_list * plist, gs_param_enumerator_t
      * penum,\n                      gs_param_key_t * key, ref_type * type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:1064,1
    - Dst: ref_param_read_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 6
    argNames:
    - plist
    - bot
    - count
    - ppolicies
    - require_all
    - imem
    argTypes:
    - array_param_list*
    - ref*
    - uint
    - ref*
    - bool
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1070
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1070
    functionName: array_param_list_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 1
    functionsReached:
    - return_error
    - ref_param_read_init
    linkageType: ''
    returnType: int
    signature: "int array_param_list_read(array_param_list * plist, ref * bot, uint
      count,\n                      const ref * ppolicies, bool require_all,\n                      gs_ref_memory_t
      *imem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:1084,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/iparam.c:1086,1
    - Dst: name_eq
      Src: /src/libspectre/ghostscript/psi/iparam.c:1086,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:1087,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - ref*
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1094
    functionName: stack_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - ref_stack_index
    - name_eq
    linkageType: ''
    returnType: int
    signature: int stack_param_read(iparam_list * plist, const ref * pkey, iparam_loc
      * ploc)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_counttomark
      Src: /src/libspectre/ghostscript/psi/iparam.c:1101,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:1104,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iparam.c:1107,1
    - Dst: ref_param_read_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:1112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - plist
    - pstack
    - skip
    - ppolicies
    - require_all
    - imem
    argTypes:
    - stack_param_list*
    - ref_stack_t*
    - uint
    - ref*
    - bool
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1095
    functionDepth: 2
    functionLinenumber: 1095
    functionLinenumberEnd: 1113
    functionName: stack_param_list_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - return_error
    - ref_param_read_init
    - ref_stack_counttomark
    linkageType: ''
    returnType: int
    signature: "int stack_param_list_read(stack_param_list * plist, ref_stack_t *
      pstack,\n                      uint skip, const ref * ppolicies, bool require_all,\n
      \                     gs_ref_memory_t *imem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/iparam.c:1120,1
    - Dst: dict_value_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:1125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - plist
    - pkey
    - ploc
    argTypes:
    - iparam_list*
    - ref*
    - iparam_loc*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1128
    functionName: dict_param_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 0
    functionsReached:
    - dict_find
    - dict_value_index
    linkageType: ''
    returnType: int
    signature: int dict_param_read(iparam_list * plist, const ref * pkey, iparam_loc
      * ploc)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/iparam.c:1141,1
    - Dst: dict_max_index
      Src: /src/libspectre/ghostscript/psi/iparam.c:1144,1
    - Dst: ref_param_read_init
      Src: /src/libspectre/ghostscript/psi/iparam.c:1147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 5
    argNames:
    - plist
    - pdict
    - ppolicies
    - require_all
    - imem
    argTypes:
    - dict_param_list*
    - ref*
    - ref*
    - bool
    - gs_ref_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1148
    functionName: dict_param_list_read
    functionSourceFile: /src/libspectre/ghostscript/psi/iparam.c
    functionUses: 5
    functionsReached:
    - check_dict_read
    - dict_max_index
    - ref_param_read_init
    linkageType: ''
    returnType: int
    signature: "int dict_param_list_read(dict_param_list * plist, const ref * pdict,\n
      \                    const ref * ppolicies, bool require_all,\n                     gs_ref_memory_t
      *imem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    functionName: fptr
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fptr(pref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - pref
    - ','
    - a
    - ','
    - id
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 35
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 35
    functionName: make_file
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_file(pref,a,id,s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ctx
    - ','
    - svar
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 66
    functionName: check_read_file
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_read_file(ctx, svar,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - ctx
    - ','
    - svar
    - ','
    - op
    - ','
    - error_return
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: check_read_known_file
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_read_known_file(ctx,svar,op,error_return)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - svar
    - ','
    - op
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: check_write_file
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_write_file(svar,op)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - svar
    - ','
    - op
    - ','
    - error_return
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 97
    functionName: check_write_known_file
    functionSourceFile: /src/libspectre/ghostscript/psi/files.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_write_known_file(svar,op,error_return)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid.c:35,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid.c:36,1
    - Dst: cid_system_info_param
      Src: /src/libspectre/ghostscript/psi/zfcid.c:37,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pcidsi
    - prfont
    argTypes:
    - gs_cid_system_info_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 38
    functionName: cid_font_system_info_param
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid.c
    functionUses: 1
    functionsReached:
    - dict_find_string
    - return_error
    - cid_system_info_param
    linkageType: ''
    returnType: int
    signature: int cid_font_system_info_param(gs_cid_system_info_t *pcidsi, const
      ref *prfont)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfcid.c:47,1
    - Dst: cid_font_system_info_param
      Src: /src/libspectre/ghostscript/psi/zfcid.c:48,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfcid.c:49,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfcid.c:60,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfcid.c:62,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfcid.c:63,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfcid.c:66,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zfcid.c:66,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfcid.c:72,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zfcid.c:79,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/zfcid.c:80,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/zfcid.c:82,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zfcid.c:90,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfcid.c:94,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 3
    argNames:
    - op
    - pdata
    - pGlyphDirectory
    argTypes:
    - os_ptr
    - gs_font_cid_data*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 41
    functionDepth: 3
    functionLinenumber: 41
    functionLinenumberEnd: 96
    functionName: cid_font_data_param
    functionSourceFile: /src/libspectre/ghostscript/psi/zfcid.c
    functionUses: 1
    functionsReached:
    - make_null
    - dict_int_param
    - dict_find_string
    - r_has_type
    - r_size
    - check_type
    - return_error
    - cid_font_system_info_param
    - dict_first
    - dict_next
    - r_is_array
    linkageType: ''
    returnType: int
    signature: int cid_font_data_param(os_ptr op, gs_font_cid_data *pdata, ref *pGlyphDirectory)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: dict_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_memory(pdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: dict_mem
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_mem(pdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - maxlen
    - ','
    - pdref
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 64
    functionName: dict_create
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_create(maxlen, pdref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 70
    functionName: dict_access_ref
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_access_ref(pdref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 75
    functionName: check_dict_read
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_dict_read(dref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    functionName: check_dict_write
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_dict_write(dref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dfrom
    - ','
    - dto
    - ','
    - pds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    functionName: dict_copy
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_copy(dfrom, dto, pds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - dfrom
    - ','
    - dto
    - ','
    - pds
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    functionName: dict_copy_new
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_copy_new(dfrom, dto, pds)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 238
    functionName: dict_name_index_hash
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_name_index_hash(nidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    functionName: dict_hash_mod_rem
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_rem(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: dict_hash_mod_mask
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_mask(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 242
    functionDepth: 0
    functionLinenumber: 242
    functionLinenumberEnd: 243
    functionName: dict_hash_mod_small
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_small(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: dict_hash_mod_inline_small
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_inline_small(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 247
    functionName: dict_hash_mod_large
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_large(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - hash
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    functionName: dict_hash_mod_inline_large
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_inline_large(hash, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    functionName: dict_hash_mod
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 255
    functionDepth: 0
    functionLinenumber: 255
    functionLinenumberEnd: 256
    functionName: dict_hash_mod_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_inline(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: dict_round_size
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_round_size(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 262
    functionName: dict_hash_mod
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 265
    functionName: dict_hash_mod_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_inline(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 268
    functionName: dict_round_size
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_round_size(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 270
    functionName: dict_hash_mod
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - h
    - ','
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 271
    functionName: dict_hash_mod_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_hash_mod_inline(h, s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - s
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 272
    functionName: dict_round_size
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_round_size(s)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    functionName: call_operator
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: call_operator(proc, p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: op_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:86,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/interp.c:87,1
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/interp.c:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - op_proc
    - i_ctx_p
    argTypes:
    - op_proc_t
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 2
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: do_call_operator
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - op_proc
    - gs_debug_c
    - ivalidate_clean_spaces
    linkageType: ''
    returnType: int
    signature: int do_call_operator(op_proc_t op_proc, i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/interp.c:97,1
    - Dst: op_get_name_string
      Src: /src/libspectre/ghostscript/psi/interp.c:97,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/interp.c:99,1
    - Dst: op_get_name_string
      Src: /src/libspectre/ghostscript/psi/interp.c:102,1
    - Dst: do_call_operator
      Src: /src/libspectre/ghostscript/psi/interp.c:104,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/interp.c:106,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/interp.c:110,1
    - Dst: ivalidate_clean_spaces
      Src: /src/libspectre/ghostscript/psi/interp.c:111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - op_proc
    - i_ctx_p
    argTypes:
    - op_proc_t
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 91
    functionDepth: 3
    functionLinenumber: 91
    functionLinenumberEnd: 113
    functionName: do_call_operator_verbose
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - gs_debug_c
    - if_debug3m
    - op_get_name_string
    - do_call_operator
    - if_debug2m
    - ivalidate_clean_spaces
    linkageType: ''
    returnType: int
    signature: int do_call_operator_verbose(op_proc_t op_proc, i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - proc
    - ','
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 116
    functionName: call_operator
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: call_operator(proc, p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 130
    functionDepth: 0
    functionLinenumber: 130
    functionLinenumberEnd: 131
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    functionName: INCR
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 22
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INCR(v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - body_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 221
    functionName: OS_REFS_SIZE
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OS_REFS_SIZE(body_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - body_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: ES_REFS_SIZE
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ES_REFS_SIZE(body_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - body_size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 229
    functionName: DS_REFS_SIZE
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DS_REFS_SIZE(body_size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 293
    functionName: make_null_proc
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_null_proc(pref)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: context_state_alloc
      Src: /src/libspectre/ghostscript/psi/interp.c:301,1
    - Dst: context_state_load
      Src: /src/libspectre/ghostscript/psi/interp.c:303,1
    - Dst: context_state_free
      Src: /src/libspectre/ghostscript/psi/interp.c:305,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/psi/interp.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - pi_ctx_p
    - psystem_dict
    - dmem
    argTypes:
    - i_ctx_t**
    - ref*
    - gs_dual_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 315
    functionName: gs_interp_init
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - context_state_load
    - context_state_alloc
    - lprintf1
    - context_state_free
    linkageType: ''
    returnType: int
    signature: "int gs_interp_init(i_ctx_t **pi_ctx_p, const ref *psystem_dict,\n
      \              gs_dual_memory_t *dmem)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/psi/interp.c:325,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/interp.c:331,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/interp.c:340,1
    - Dst: ref_stack_init
      Src: /src/libspectre/ghostscript/psi/interp.c:341,1
    - Dst: ref_stack_set_error_codes
      Src: /src/libspectre/ghostscript/psi/interp.c:345,1
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/interp.c:346,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/interp.c:354,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/interp.c:355,1
    - Dst: ref_stack_init
      Src: /src/libspectre/ghostscript/psi/interp.c:356,1
    - Dst: ref_stack_set_error_codes
      Src: /src/libspectre/ghostscript/psi/interp.c:360,1
    - Dst: ref_stack_allow_expansion
      Src: /src/libspectre/ghostscript/psi/interp.c:363,1
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/interp.c:364,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/interp.c:371,1
    - Dst: ref_stack_init
      Src: /src/libspectre/ghostscript/psi/interp.c:372,1
    - Dst: ref_stack_set_error_codes
      Src: /src/libspectre/ghostscript/psi/interp.c:375,1
    - Dst: ref_stack_set_max_count
      Src: /src/libspectre/ghostscript/psi/interp.c:377,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 2
    argNames:
    - mem
    - pcst
    argTypes:
    - gs_ref_memory_t*
    - gs_context_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 384
    functionName: gs_interp_alloc_stacks
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - gs_alloc_ref_array
    - ref_stack_init
    - ref_stack_set_error_codes
    - make_oper
    - ref_stack_allow_expansion
    - r_set_size
    - ref_stack_set_max_count
    - gs_memory_stable
    linkageType: ''
    returnType: int
    signature: int gs_interp_alloc_stacks(gs_ref_memory_t *mem, gs_context_state_t
      * pcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_release
      Src: /src/libspectre/ghostscript/psi/interp.c:393,1
    - Dst: ref_stack_release
      Src: /src/libspectre/ghostscript/psi/interp.c:394,1
    - Dst: ref_stack_release
      Src: /src/libspectre/ghostscript/psi/interp.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - smem
    - pcst
    argTypes:
    - gs_ref_memory_t*
    - gs_context_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: gs_interp_free_stacks
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - ref_stack_release
    linkageType: ''
    returnType: void
    signature: void gs_interp_free_stacks(gs_ref_memory_t * smem, gs_context_state_t
      * pcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_clear
      Src: /src/libspectre/ghostscript/psi/interp.c:400,1
    - Dst: ref_stack_clear
      Src: /src/libspectre/ghostscript/psi/interp.c:401,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/interp.c:403,1
    - Dst: ref_stack_pop_to
      Src: /src/libspectre/ghostscript/psi/interp.c:404,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/interp.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 406
    functionName: gs_interp_reset
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - dict_set_top
    - ref_stack_pop_to
    - ref_stack_clear
    - make_oper
    linkageType: ''
    returnType: void
    signature: void gs_interp_reset(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 413
    functionName: estack_underflow
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int estack_underflow(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_tasv
      Src: /src/libspectre/ghostscript/psi/interp.c:428,1
    - Dst: make_tasv
      Src: /src/libspectre/ghostscript/psi/interp.c:430,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - opref
    - proc
    - idx
    argTypes:
    - ref*
    - op_proc_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 431
    functionName: gs_interp_make_oper
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - make_tasv
    linkageType: ''
    returnType: void
    signature: void gs_interp_make_oper(ref * opref, op_proc_t proc, int idx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/interp.c:444,1
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/psi/interp.c:448,1
    - Dst: gs_unregister_root
      Src: /src/libspectre/ghostscript/psi/interp.c:452,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pi_ctx_p
    - space
    argTypes:
    - i_ctx_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 454
    functionName: interp_reclaim
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - gs_unregister_root
    - gs_register_struct_root
    linkageType: ''
    returnType: int
    signature: int interp_reclaim(i_ctx_t **pi_ctx_p, int space)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_register_ref_root
      Src: /src/libspectre/ghostscript/psi/interp.c:475,1
    - Dst: gs_call_interp
      Src: /src/libspectre/ghostscript/psi/interp.c:477,1
    - Dst: gs_unregister_root
      Src: /src/libspectre/ghostscript/psi/interp.c:480,1
    - Dst: set_gc_signal
      Src: /src/libspectre/ghostscript/psi/interp.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - pi_ctx_p
    - pref
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - i_ctx_t**
    - ref*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 484
    functionName: gs_interpret
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - gs_register_ref_root
    - set_gc_signal
    - gs_call_interp
    - gs_unregister_root
    linkageType: ''
    returnType: int
    signature: "int gs_interpret(i_ctx_t **pi_ctx_p, ref * pref, int user_errors,
      int *pexit_code,\n             ref * perror_object)"
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_reset_requested
      Src: /src/libspectre/ghostscript/psi/interp.c:500,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:503,1
    - Dst: gs_register_ref_root
      Src: /src/libspectre/ghostscript/psi/interp.c:511,1
    - Dst: interp_reclaim
      Src: /src/libspectre/ghostscript/psi/interp.c:513,1
    - Dst: gs_unregister_root
      Src: /src/libspectre/ghostscript/psi/interp.c:515,1
    - Dst: interp
      Src: /src/libspectre/ghostscript/psi/interp.c:520,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:522,1
    - Dst: make_t
      Src: /src/libspectre/ghostscript/psi/interp.c:524,1
    - Dst: set_gc_signal
      Src: /src/libspectre/ghostscript/psi/interp.c:530,1
    - Dst: ref_stack_pop_block
      Src: /src/libspectre/ghostscript/psi/interp.c:548,1
    - Dst: interp_reclaim
      Src: /src/libspectre/ghostscript/psi/interp.c:558,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/interp.c:562,1
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/interp.c:581,1
    - Dst: copy_stack
      Src: /src/libspectre/ghostscript/psi/interp.c:585,1
    - Dst: ref_stack_pop_to
      Src: /src/libspectre/ghostscript/psi/interp.c:588,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/interp.c:589,1
    - Dst: ref_stack_pop_block
      Src: /src/libspectre/ghostscript/psi/interp.c:593,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/interp.c:594,1
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/interp.c:606,1
    - Dst: copy_stack
      Src: /src/libspectre/ghostscript/psi/interp.c:609,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:613,1
    - Dst: ref_stack_max_count
      Src: /src/libspectre/ghostscript/psi/interp.c:614,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/interp.c:625,1
    - Dst: r_has_type_attrs
      Src: /src/libspectre/ghostscript/psi/interp.c:627,1
    - Dst: pop_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:632,1
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/interp.c:638,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:642,1
    - Dst: make_null_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:644,1
    - Dst: copy_stack
      Src: /src/libspectre/ghostscript/psi/interp.c:649,1
    - Dst: ref_stack_clear
      Src: /src/libspectre/ghostscript/psi/interp.c:652,1
    - Dst: ref_stack_pop_block
      Src: /src/libspectre/ghostscript/psi/interp.c:656,1
    - Dst: gs_errorname
      Src: /src/libspectre/ghostscript/psi/interp.c:665,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:673,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/interp.c:674,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:675,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/interp.c:676,1
    - Dst: GS_ERROR_IS_INTERRUPT
      Src: /src/libspectre/ghostscript/psi/interp.c:683,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:690,1
    - Dst: errorexec_find
      Src: /src/libspectre/ghostscript/psi/interp.c:693,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:695,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:695,1
    - Dst: obj_cvs
      Src: /src/libspectre/ghostscript/psi/interp.c:696,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/interp.c:699,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/interp.c:700,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:709,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:720,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:722,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 167
    argCount: 5
    argNames:
    - pi_ctx_p
    - pref
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - i_ctx_t**
    - ref*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 727
    functionName: gs_call_interp
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - pop_estack
    - copy_stack
    - gs_errorname
    - strlen
    - ref_stack_clear
    - r_has_type_attrs
    - ialloc_reset_requested
    - make_null
    - return_error
    - ref_stack_index
    - ref_stack_count
    - gs_register_ref_root
    - make_t
    - make_oper
    - r_has_type
    - make_null_proc
    - gs_unregister_root
    - name_ref
    - set_gc_signal
    - ref_stack_max_count
    - errorexec_find
    - obj_cvs
    - dict_find_string
    - interp
    - ref_stack_extend
    - r_is_proc
    - memcpy
    - GS_ERROR_IS_INTERRUPT
    - dict_find
    - ref_stack_pop_block
    - ref_stack_pop_to
    - dict_set_top
    - interp_reclaim
    linkageType: ''
    returnType: int
    signature: "int gs_call_interp(i_ctx_t **pi_ctx_p, ref * pref, int user_errors,\n
      \              int *pexit_code, ref * perror_object)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 732
      start: 728
    functionDepth: 0
    functionLinenumber: 728
    functionLinenumberEnd: 732
    functionName: interp_exit
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int interp_exit(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_file
      Src: /src/libspectre/ghostscript/psi/interp.c:744,1
    - Dst: stell
      Src: /src/libspectre/ghostscript/psi/interp.c:745,1
    - Dst: file_is_valid
      Src: /src/libspectre/ghostscript/psi/interp.c:747,1
    - Dst: sreset
      Src: /src/libspectre/ghostscript/psi/interp.c:748,1
    - Dst: gs_lib_ctx_get_act_on_uel
      Src: /src/libspectre/ghostscript/psi/interp.c:750,1
    - Dst: gs_interp_reset
      Src: /src/libspectre/ghostscript/psi/interp.c:753,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/interp.c:759,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:761,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/interp.c:762,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 764
    functionName: zforceinterp_exit
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - make_null
    - make_int
    - stell
    - check_file
    - gs_lib_ctx_get_act_on_uel
    - file_is_valid
    - push
    - gs_interp_reset
    - return_error
    - sreset
    linkageType: ''
    returnType: int
    signature: int zforceinterp_exit(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/interp.c:773,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/psi/interp.c:781,1
    - Dst: gs_memory_gc_status
      Src: /src/libspectre/ghostscript/psi/interp.c:782,1
    - Dst: gs_memory_set_gc_status
      Src: /src/libspectre/ghostscript/psi/interp.c:784,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - i_ctx_p
    - value
    argTypes:
    - i_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 767
    functionDepth: 3
    functionLinenumber: 767
    functionLinenumberEnd: 789
    functionName: set_gc_signal
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 2
    functionsReached:
    - gs_memory_set_gc_status
    - countof
    - gs_memory_stable
    - gs_memory_gc_status
    linkageType: ''
    returnType: void
    signature: void set_gc_signal(i_ctx_t *i_ctx_p, int value)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:797,1
    - Dst: ialloc_space
      Src: /src/libspectre/ghostscript/psi/interp.c:798,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/interp.c:804,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/interp.c:805,1
    - Dst: ref_stack_store
      Src: /src/libspectre/ghostscript/psi/interp.c:807,1
    - Dst: errorexec_find
      Src: /src/libspectre/ghostscript/psi/interp.c:814,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:815,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:818,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:819,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:819,1
    - Dst: ref_stack_array_sanitize
      Src: /src/libspectre/ghostscript/psi/interp.c:821,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/interp.c:825,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 4
    argNames:
    - i_ctx_p
    - pstack
    - skip
    - arr
    argTypes:
    - i_ctx_t*
    - ref_stack_t*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 827
    functionName: copy_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 2
    functionsReached:
    - errorexec_find
    - ialloc_space
    - make_null
    - dict_find_string
    - r_has_type
    - ref_stack_store
    - ialloc_ref_array
    - ref_stack_array_sanitize
    - ref_stack_count
    - ialloc_set_space
    linkageType: ''
    returnType: int
    signature: int copy_stack(i_ctx_t *i_ctx_p, const ref_stack_t * pstack, int skip,
      ref * arr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:835,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:836,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:838,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/interp.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 3
    argNames:
    - i_ctx_p
    - code
    - perror_name
    argTypes:
    - i_ctx_t*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 840
    functionName: gs_errorname
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - dict_find_string
    - return_error
    - array_get
    linkageType: ''
    returnType: int
    signature: int gs_errorname(i_ctx_t *i_ctx_p, int code, ref * perror_name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: string_to_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:849,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/interp.c:853,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:854,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/interp.c:855,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:857,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 2
    argNames:
    - i_ctx_p
    - str
    argTypes:
    - i_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 844
    functionDepth: 1
    functionLinenumber: 844
    functionLinenumberEnd: 859
    functionName: gs_errorinfo_put_string
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached:
    - dict_find_string
    - r_has_type
    - idict_put_string
    - string_to_ref
    - return_error
    linkageType: ''
    returnType: int
    signature: int gs_errorinfo_put_string(i_ctx_t *i_ctx_p, const char *str)
  - BBCount: 152
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/interp.c:960,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:966,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/interp.c:968,1
    - Dst: set_gc_signal
      Src: /src/libspectre/ghostscript/psi/interp.c:975,1
    - Dst: esfile_clear_cache
      Src: /src/libspectre/ghostscript/psi/interp.c:977,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1013,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1015,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1026,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1030,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1030,1
    - Dst: mlprintf
      Src: /src/libspectre/ghostscript/psi/interp.c:1032,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1033,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/interp.c:1037,1
    - Dst: r_packed_is_name
      Src: /src/libspectre/ghostscript/psi/interp.c:1038,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1039,1
    - Dst: dmlprintf5
      Src: /src/libspectre/ghostscript/psi/interp.c:1046,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:1047,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:1047,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:1048,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:1049,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/interp.c:1051,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:1052,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/psi/interp.c:1054,1
    - Dst: dmflush
      Src: /src/libspectre/ghostscript/psi/interp.c:1057,1
    - Dst: r_type_xe
      Src: /src/libspectre/ghostscript/psi/interp.c:1073,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1129,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1130,1
    - Dst: zop_add
      Src: /src/libspectre/ghostscript/psi/interp.c:1132,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1133,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1135,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1136,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1137,1
    - Dst: zop_def
      Src: /src/libspectre/ghostscript/psi/interp.c:1139,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1140,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1142,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1143,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1144,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1146,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1149,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1152,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1153,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1154,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1155,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1157,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1158,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1159,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1160,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1161,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1162,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1163,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1164,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1165,1
    - Dst: check_proc_failed
      Src: /src/libspectre/ghostscript/psi/interp.c:1165,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1166,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1167,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1171,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1174,1
    - Dst: store_state_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1175,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1179,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1180,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1181,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1182,1
    - Dst: check_proc_failed
      Src: /src/libspectre/ghostscript/psi/interp.c:1182,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1183,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1184,1
    - Dst: check_proc_failed
      Src: /src/libspectre/ghostscript/psi/interp.c:1184,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1185,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1186,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1189,1
    - Dst: store_state_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1190,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1194,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1197,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1204,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1208,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1209,1
    - Dst: zindex
      Src: /src/libspectre/ghostscript/psi/interp.c:1211,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1212,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1213,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1214,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1215,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1217,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1219,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1220,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1221,1
    - Dst: zroll
      Src: /src/libspectre/ghostscript/psi/interp.c:1223,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1224,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1226,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1227,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1228,1
    - Dst: zop_sub
      Src: /src/libspectre/ghostscript/psi/interp.c:1230,1
    - Dst: return_with_error_tx_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1231,1
    - Dst: next_either
      Src: /src/libspectre/ghostscript/psi/interp.c:1233,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1235,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1237,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1239,1
    - Dst: op_index
      Src: /src/libspectre/ghostscript/psi/interp.c:1240,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1243,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1246,1
    - Dst: make_mark_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:1249,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/interp.c:1250,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/interp.c:1251,1
    - Dst: ref_stack_count_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1251,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/interp.c:1252,1
    - Dst: ref_stack_count_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1252,1
    - Dst: make_op_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:1253,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1256,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1262,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1264,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1267,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1274,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1278,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1279,1
    - Dst: call_operator
      Src: /src/libspectre/ghostscript/psi/interp.c:1300,1
    - Dst: real_opproc
      Src: /src/libspectre/ghostscript/psi/interp.c:1300,1
    - Dst: next
      Src: /src/libspectre/ghostscript/psi/interp.c:1304,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1306,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1319,1
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/interp.c:1322,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1324,1
    - Dst: packed_get
      Src: /src/libspectre/ghostscript/psi/interp.c:1327,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/interp.c:1328,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/interp.c:1329,1
    - Dst: return_with_code_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1336,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1337,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1338,1
    - Dst: pv_valid
      Src: /src/libspectre/ghostscript/psi/interp.c:1340,1
    - Dst: names_index
      Src: /src/libspectre/ghostscript/psi/interp.c:1341,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1344,1
    - Dst: dict_find_name_by_index_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1345,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1346,1
    - Dst: r_type_xe
      Src: /src/libspectre/ghostscript/psi/interp.c:1350,1
    - Dst: return_with_stackoverflow
      Src: /src/libspectre/ghostscript/psi/interp.c:1363,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1365,1
    - Dst: next
      Src: /src/libspectre/ghostscript/psi/interp.c:1366,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1367,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1368,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1369,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1370,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1373,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1375,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1377,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1379,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1381,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1383,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1385,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1387,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1389,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1391,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1393,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1395,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1396,1
    - Dst: op_index
      Src: /src/libspectre/ghostscript/psi/interp.c:1397,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1400,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1401,1
    - Dst: call_operator
      Src: /src/libspectre/ghostscript/psi/interp.c:1410,1
    - Dst: real_opproc
      Src: /src/libspectre/ghostscript/psi/interp.c:1410,1
    - Dst: next
      Src: /src/libspectre/ghostscript/psi/interp.c:1416,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1418,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1427,1
    - Dst: plain_exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1429,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1430,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1431,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1434,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1436,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1439,1
    - Dst: check_read_known_file
      Src: /src/libspectre/ghostscript/psi/interp.c:1444,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1447,1
    - Dst: gs_scanner_init_options
      Src: /src/libspectre/ghostscript/psi/interp.c:1449,1
    - Dst: gs_scan_token
      Src: /src/libspectre/ghostscript/psi/interp.c:1451,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/interp.c:1461,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/interp.c:1462,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1467,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1470,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1473,1
    - Dst: esfile_set_cache
      Src: /src/libspectre/ghostscript/psi/interp.c:1474,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1475,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1476,1
    - Dst: gs_scanner_error_object
      Src: /src/libspectre/ghostscript/psi/interp.c:1480,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1481,1
    - Dst: esfile_clear_cache
      Src: /src/libspectre/ghostscript/psi/interp.c:1483,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1488,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1491,1
    - Dst: esfile_set_cache
      Src: /src/libspectre/ghostscript/psi/interp.c:1492,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1493,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1497,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1500,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1503,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1505,1
    - Dst: gs_scan_handle_refill
      Src: /src/libspectre/ghostscript/psi/interp.c:1508,1
    - Dst: esfile_clear_cache
      Src: /src/libspectre/ghostscript/psi/interp.c:1518,1
    - Dst: return_with_code_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1525,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1531,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1532,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1534,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1536,1
    - Dst: ztoken_handle_comment
      Src: /src/libspectre/ghostscript/psi/interp.c:1539,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1546,1
    - Dst: gs_scanner_error_object
      Src: /src/libspectre/ghostscript/psi/interp.c:1547,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1548,1
    - Dst: exec
      Src: /src/libspectre/ghostscript/psi/interp.c:1551,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/psi/interp.c:1556,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/psi/interp.c:1557,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1557,1
    - Dst: gs_scanner_init_stream_options
      Src: /src/libspectre/ghostscript/psi/interp.c:1558,1
    - Dst: gs_scan_token
      Src: /src/libspectre/ghostscript/psi/interp.c:1560,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1565,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/interp.c:1572,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1576,1
    - Dst: sbufptr
      Src: /src/libspectre/ghostscript/psi/interp.c:1579,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1580,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1584,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1594,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1597,1
    - Dst: gs_scanner_error_object
      Src: /src/libspectre/ghostscript/psi/interp.c:1598,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1599,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1611,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1613,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1619,1
    - Dst: next
      Src: /src/libspectre/ghostscript/psi/interp.c:1620,1
    - Dst: op_index_is_operator
      Src: /src/libspectre/ghostscript/psi/interp.c:1627,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1628,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1629,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1634,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1638,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1641,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1671,1
    - Dst: call_operator
      Src: /src/libspectre/ghostscript/psi/interp.c:1674,1
    - Dst: op_index_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1674,1
    - Dst: next_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1678,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1680,1
    - Dst: next_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1685,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1690,1
    - Dst: return_with_code_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1695,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1697,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1699,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/interp.c:1701,1
    - Dst: next_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1704,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1706,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1711,1
    - Dst: name_index_ref_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1713,1
    - Dst: next_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1714,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1717,1
    - Dst: name_index_ptr_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1721,1
    - Dst: pv_valid
      Src: /src/libspectre/ghostscript/psi/interp.c:1722,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1725,1
    - Dst: dict_find_name_by_index_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1726,1
    - Dst: names_index_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:1727,1
    - Dst: return_with_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1728,1
    - Dst: r_has_masked_attrs
      Src: /src/libspectre/ghostscript/psi/interp.c:1731,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1732,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1734,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1736,1
    - Dst: next_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1737,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1739,1
    - Dst: INCR
      Src: /src/libspectre/ghostscript/psi/interp.c:1741,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1742,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1746,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1748,1
    - Dst: return_with_stackoverflow_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1757,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1759,1
    - Dst: next
      Src: /src/libspectre/ghostscript/psi/interp.c:1760,1
    - Dst: IREF_NEXT
      Src: /src/libspectre/ghostscript/psi/interp.c:1766,1
    - Dst: r_is_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1772,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1773,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1777,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/interp.c:1778,1
    - Dst: set_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1788,1
    - Dst: make_null_proc
      Src: /src/libspectre/ghostscript/psi/interp.c:1794,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1795,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1804,1
    - Dst: return_with_error_iref
      Src: /src/libspectre/ghostscript/psi/interp.c:1806,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1808,1
    - Dst: interp_reclaim
      Src: /src/libspectre/ghostscript/psi/interp.c:1817,1
    - Dst: set_code_on_interrupt
      Src: /src/libspectre/ghostscript/psi/interp.c:1822,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/interp.c:1832,1
    - Dst: store_state
      Src: /src/libspectre/ghostscript/psi/interp.c:1833,1
    - Dst: packed_get
      Src: /src/libspectre/ghostscript/psi/interp.c:1839,1
    - Dst: store_state_short
      Src: /src/libspectre/ghostscript/psi/interp.c:1840,1
    - Dst: SET_IREF
      Src: /src/libspectre/ghostscript/psi/interp.c:1842,1
    - Dst: GS_ERROR_IS_INTERRUPT
      Src: /src/libspectre/ghostscript/psi/interp.c:1846,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1855,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/interp.c:1860,1
    - Dst: gs_log_error
      Src: /src/libspectre/ghostscript/psi/interp.c:1867,1
    CyclomaticComplexity: 153
    EdgeCount: 153
    ICount: 723
    argCount: 3
    argNames:
    - pi_ctx_p
    - pref
    - perror_object
    argTypes:
    - i_ctx_t**
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 1868
    functionName: interp
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 4
    functionsReached:
    - r_has_attr
    - gs_log_error
    - plain_exec
    - mlprintf
    - make_mark_estack
    - next_short
    - dmlprintf5
    - names_index_ref
    - set_error
    - esfile_clear_cache
    - gs_scan_handle_refill
    - return_with_error
    - r_is_array
    - gs_scanner_init_options
    - dict_find_name_by_index_inline
    - r_is_proc
    - GS_ERROR_IS_INTERRUPT
    - gs_scanner_init_stream_options
    - zop_add
    - store_state_either
    - ref_assign_inline
    - sread_string
    - make_null
    - r_type
    - zop_def
    - ref_stack_count
    - op_index_proc
    - op_index
    - make_null_proc
    - check_proc_failed
    - set_gc_signal
    - INCR
    - r_is_packed
    - zroll
    - packed_get
    - zindex
    - r_type_xe
    - esfile_set_cache
    - interp_reclaim
    - op_index_is_operator
    - dmputc
    - return_with_stackoverflow_iref
    - return_with_stackoverflow
    - exec
    - real_opproc
    - sbufavailable
    - next
    - store_state_short
    - gs_scan_token
    - gs_note_error
    - make_oper
    - name_index_ptr_inline
    - s_init
    - gs_scanner_error_object
    - debug_print_ref
    - ref_stack_extend
    - set_code_on_interrupt
    - check_read_known_file
    - r_has_masked_attrs
    - r_packed_is_name
    - make_op_estack
    - return_with_error_tx_op
    - r_set_size
    - store_state
    - SET_IREF
    - gs_debug_c
    - names_index
    - dmflush
    - return_with_code_iref
    - ref_stack_count_inline
    - r_has_type
    - zop_sub
    - ztoken_handle_comment
    - sbufptr
    - name_index_ref_inline
    - dmputs
    - make_int
    - call_operator
    - next_either
    - pv_valid
    - r_ptr
    - IREF_NEXT
    - return_with_error_iref
    - r_size
    linkageType: ''
    returnType: int
    signature: "int interp(i_ctx_t **pi_ctx_p /* context for execution, updated if
      resched */,\n       const ref * pref /* object to interpret */,\n       ref
      * perror_object)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 895
    functionDepth: 0
    functionLinenumber: 895
    functionLinenumberEnd: 896
    functionName: SET_IREF
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_IREF(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 928
    functionDepth: 0
    functionLinenumber: 928
    functionLinenumberEnd: 930
    functionName: set_error
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_error(ecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ecode
    - ','
    - objp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 932
      start: 930
    functionDepth: 0
    functionLinenumber: 930
    functionLinenumberEnd: 932
    functionName: return_with_error
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_error(ecode, objp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ecode
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 932
    functionDepth: 0
    functionLinenumber: 932
    functionLinenumberEnd: 934
    functionName: return_with_error_iref
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_error_iref(ecode)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 934
    functionDepth: 0
    functionLinenumber: 934
    functionLinenumberEnd: 936
    functionName: return_with_code_iref
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_code_iref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - objp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 936
    functionDepth: 0
    functionLinenumber: 936
    functionLinenumberEnd: 938
    functionName: return_with_stackoverflow
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_stackoverflow(objp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 938
    functionDepth: 0
    functionLinenumber: 938
    functionLinenumberEnd: 940
    functionName: return_with_stackoverflow_iref
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_stackoverflow_iref()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - err_code
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 947
    functionDepth: 0
    functionLinenumber: 947
    functionLinenumberEnd: 954
    functionName: return_with_error_tx_op
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: return_with_error_tx_op(err_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: IREF_NEXT
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IREF_NEXT(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ip
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: IREF_NEXT_EITHER
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: IREF_NEXT_EITHER(ip)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: store_state
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_state(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 989
    functionDepth: 0
    functionLinenumber: 989
    functionLinenumberEnd: 991
    functionName: store_state_short
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_state_short(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 991
    functionDepth: 0
    functionLinenumber: 991
    functionLinenumberEnd: 993
    functionName: store_state_either
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_state_either(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 993
    functionDepth: 0
    functionLinenumber: 993
    functionLinenumberEnd: 995
    functionName: next
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 116
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: next()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 995
    functionDepth: 0
    functionLinenumber: 995
    functionLinenumberEnd: 998
    functionName: next_short
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: next_short()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 998
    functionDepth: 0
    functionLinenumber: 998
    functionLinenumberEnd: 1001
    functionName: next_either
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: next_either()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1005
    functionName: next_either
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: next_either()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1006
    functionDepth: 0
    functionLinenumber: 1006
    functionLinenumberEnd: 1007
    functionName: store_state_either
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: store_state_either(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1062
    functionDepth: 0
    functionLinenumber: 1062
    functionLinenumberEnd: 1063
    functionName: lit
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: lit(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1063
    functionDepth: 0
    functionLinenumber: 1063
    functionLinenumberEnd: 1064
    functionName: exec
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: exec(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1064
    functionDepth: 0
    functionLinenumber: 1064
    functionLinenumberEnd: 1065
    functionName: nox
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nox(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1066
      start: 1065
    functionDepth: 0
    functionLinenumber: 1065
    functionLinenumberEnd: 1066
    functionName: nox_exec
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: nox_exec(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1067
    functionName: plain
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: plain(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - t
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1068
    functionName: plain_exec
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: plain_exec(t)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1075
    functionDepth: 0
    functionLinenumber: 1075
    functionLinenumberEnd: 1077
    functionName: cases_invalid
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_invalid()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1079
    functionDepth: 0
    functionLinenumber: 1079
    functionLinenumberEnd: 1083
    functionName: cases_nox
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_nox()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1091
    functionDepth: 0
    functionLinenumber: 1091
    functionLinenumberEnd: 1095
    functionName: cases_lit_1
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_1()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1095
    functionDepth: 0
    functionLinenumber: 1095
    functionLinenumberEnd: 1100
    functionName: cases_lit_2
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_2()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1100
    functionDepth: 0
    functionLinenumber: 1100
    functionLinenumberEnd: 1105
    functionName: cases_lit_3
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_3()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 0
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: cases_lit_4
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_4()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1109
    functionDepth: 0
    functionLinenumber: 1109
    functionLinenumberEnd: 1115
    functionName: cases_lit_5
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_5()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 1116
    functionDepth: 0
    functionLinenumber: 1116
    functionLinenumberEnd: 1118
    functionName: cases_lit_array
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cases_lit_array()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - xop
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1653
    functionDepth: 0
    functionLinenumber: 1653
    functionLinenumberEnd: 1654
    functionName: case_xop
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: case_xop(xop)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1871
    functionDepth: 0
    functionLinenumber: 1871
    functionLinenumberEnd: 1876
    functionName: oparray_pop
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int oparray_pop(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:1886,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/interp.c:1887,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/interp.c:1890,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/interp.c:1892,1
    - Dst: dict_set_top
      Src: /src/libspectre/ghostscript/psi/interp.c:1893,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1896
      start: 1880
    functionDepth: 1
    functionLinenumber: 1880
    functionLinenumberEnd: 1896
    functionName: oparray_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - ref_stack_pop
    - dict_set_top
    - ref_stack_count
    linkageType: ''
    returnType: int
    signature: int oparray_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1903
      start: 1899
    functionDepth: 0
    functionLinenumber: 1899
    functionLinenumberEnd: 1903
    functionName: oparray_no_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int oparray_no_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/interp.c:1912,1
    - Dst: r_is_estack_mark
      Src: /src/libspectre/ghostscript/psi/interp.c:1913,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1906
    functionDepth: 1
    functionLinenumber: 1906
    functionLinenumberEnd: 1920
    functionName: oparray_find
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - r_is_estack_mark
    - ref_stack_index
    linkageType: ''
    returnType: ref
    signature: 'ref *

      oparray_find(i_ctx_t *i_ctx_p)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/interp.c:1931,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:1932,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:1933,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/interp.c:1935,1
    - Dst: zexec
      Src: /src/libspectre/ghostscript/psi/interp.c:1936,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/interp.c:1938,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1942
    functionName: zerrorexec
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - check_op
    - push_mark_estack
    - zexec
    - pop
    - push_op_estack
    - check_estack
    linkageType: ''
    returnType: int
    signature: int zerrorexec(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: errorexec_find
      Src: /src/libspectre/ghostscript/psi/interp.c:1954,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/interp.c:1955,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/interp.c:1957,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/interp.c:1959,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/interp.c:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1948
    functionDepth: 1
    functionLinenumber: 1948
    functionLinenumberEnd: 1963
    functionName: zfinderrorobject
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - make_true
    - errorexec_find
    - push
    - make_false
    linkageType: ''
    returnType: int
    signature: int zfinderrorobject(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/interp.c:1976,1
    - Dst: r_is_estack_mark
      Src: /src/libspectre/ghostscript/psi/interp.c:1977,1
    - Dst: op_index_ref
      Src: /src/libspectre/ghostscript/psi/interp.c:1983,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/interp.c:1989,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - i_ctx_p
    - perror_object
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1997
    functionName: errorexec_find
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 3
    functionsReached:
    - r_has_type
    - r_is_estack_mark
    - ref_stack_index
    - op_index_ref
    linkageType: ''
    returnType: int
    signature: int errorexec_find(i_ctx_t *i_ctx_p, ref *perror_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 2000
    functionDepth: 0
    functionLinenumber: 2000
    functionLinenumberEnd: 2005
    functionName: errorexec_pop
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int errorexec_pop(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2008
    functionDepth: 0
    functionLinenumber: 2008
    functionLinenumberEnd: 2012
    functionName: errorexec_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int errorexec_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oparray_find
      Src: /src/libspectre/ghostscript/psi/interp.c:2020,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/interp.c:2022,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:2024,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/interp.c:2027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2016
    functionDepth: 2
    functionLinenumber: 2016
    functionLinenumberEnd: 2029
    functionName: zsetstackprotect
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - return_error
    - check_type
    - pop
    - oparray_find
    linkageType: ''
    returnType: int
    signature: int zsetstackprotect(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: oparray_find
      Src: /src/libspectre/ghostscript/psi/interp.c:2037,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/interp.c:2040,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/interp.c:2041,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/interp.c:2042,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 2033
    functionDepth: 2
    functionLinenumber: 2033
    functionLinenumberEnd: 2044
    functionName: zcurrentstackprotect
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - return_error
    - push
    - make_bool
    - oparray_find
    linkageType: ''
    returnType: int
    signature: int zcurrentstackprotect(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/interp.c:2051,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/interp.c:2052,1
    - Dst: gs_lib_ctx_get_act_on_uel
      Src: /src/libspectre/ghostscript/psi/interp.c:2052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2046
    functionDepth: 1
    functionLinenumber: 2046
    functionLinenumberEnd: 2054
    functionName: zactonuel
    functionSourceFile: /src/libspectre/ghostscript/psi/interp.c
    functionUses: 0
    functionsReached:
    - push
    - gs_lib_ctx_get_act_on_uel
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zactonuel(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - p
    - ','
    - d3
    - ','
    - p3
    - ','
    - c3
    - ','
    - pcie
    - ','
    - imem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 91
    functionName: cie_prepare_cache3
    functionSourceFile: /src/libspectre/ghostscript/psi/icie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_prepare_cache3(p,d3,p3,c3,pcie,imem,cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 15
    argNames:
    - (
    - p
    - ','
    - d4
    - ','
    - p4
    - ','
    - c4
    - ','
    - pcie
    - ','
    - imem
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    functionName: cie_prepare_cache4
    functionSourceFile: /src/libspectre/ghostscript/psi/icie.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: cie_prepare_cache4(p,d4,p4,c4,pcie,imem,cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: _REF_ATTR_PRINT_FLAG
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REF_ATTR_PRINT_FLAG(m,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - v
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 379
    functionName: _REF_ATTR_PRINT_SPACE
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REF_ATTR_PRINT_SPACE(v,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 405
    functionName: real_opproc
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: real_opproc(pref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - rp
    - ','
    - typ
    - ','
    - tspan
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 463
    functionName: _REF_HAS_MASKED_TYPE_ATTRS
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REF_HAS_MASKED_TYPE_ATTRS(rp,typ,tspan,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 475
    functionDepth: 0
    functionLinenumber: 475
    functionLinenumberEnd: 476
    functionName: r_size
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 94
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_size(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - inc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 476
    functionDepth: 0
    functionLinenumber: 476
    functionLinenumberEnd: 477
    functionName: r_inc_size
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_inc_size(rp,inc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - dec
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 477
    functionDepth: 0
    functionLinenumber: 477
    functionLinenumberEnd: 478
    functionName: r_dec_size
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_dec_size(rp,dec)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - siz
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 478
    functionDepth: 0
    functionLinenumber: 478
    functionLinenumberEnd: 479
    functionName: r_set_size
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_set_size(rp,siz)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 490
    functionName: r_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_type(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 492
    functionName: r_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_type(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 494
    functionName: r_has_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_type(rp,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 495
    functionDepth: 0
    functionLinenumber: 495
    functionLinenumberEnd: 496
    functionName: r_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 59
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_type(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 496
    functionDepth: 0
    functionLinenumber: 496
    functionLinenumberEnd: 497
    functionName: r_has_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 46
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_type(rp,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 501
    functionName: r_btype
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_btype(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: r_is_array
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_is_array(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 507
    functionDepth: 0
    functionLinenumber: 507
    functionLinenumberEnd: 509
    functionName: r_is_proc
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_is_proc(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 509
    functionDepth: 0
    functionLinenumber: 509
    functionLinenumberEnd: 511
    functionName: r_is_struct
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_is_struct(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 511
    functionDepth: 0
    functionLinenumber: 511
    functionLinenumberEnd: 513
    functionName: r_is_number
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_is_number(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - mem
    - ','
    - styp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 520
      start: 518
    functionDepth: 0
    functionLinenumber: 518
    functionLinenumberEnd: 520
    functionName: r_has_stype
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_stype(rp,mem,styp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 527
    functionName: r_set_type
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_set_type(rp,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 532
    functionDepth: 0
    functionLinenumber: 532
    functionLinenumberEnd: 533
    functionName: r_type_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_type_attrs(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - typ
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 533
    functionDepth: 0
    functionLinenumber: 533
    functionLinenumberEnd: 535
    functionName: r_has_type_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_type_attrs(rp,typ,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - typ
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 537
    functionName: r_set_type_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_set_type_attrs(rp,typ,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - tas
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 552
    functionDepth: 0
    functionLinenumber: 552
    functionLinenumberEnd: 553
    functionName: _REF_TAS_TYPE_XE
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _REF_TAS_TYPE_XE(tas)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 553
    functionDepth: 0
    functionLinenumber: 553
    functionLinenumberEnd: 555
    functionName: r_type_xe
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_type_xe(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - typ
    - ','
    - xe
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    functionName: type_xe_value
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: type_xe_value(typ,xe)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - mask1
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 560
    functionDepth: 0
    functionLinenumber: 560
    functionLinenumberEnd: 562
    functionName: r_has_attr
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_attr(rp,mask1)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 563
    functionName: r_has_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_attrs(rp,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - attrs
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 570
    functionName: r_has_masked_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_has_masked_attrs(rp,attrs,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 577
    functionName: r_set_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_set_attrs(rp,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - mask
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 578
    functionName: r_clear_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_clear_attrs(rp,mask)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - mask
    - ','
    - attrs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 578
    functionDepth: 0
    functionLinenumber: 578
    functionLinenumberEnd: 580
    functionName: r_store_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_store_attrs(rp,mask,attrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - rp
    - ','
    - mask
    - ','
    - sp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    functionName: r_copy_attrs
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_copy_attrs(rp,mask,sp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - typ
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 587
    functionDepth: 0
    functionLinenumber: 587
    functionLinenumberEnd: 588
    functionName: r_ptr
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 28
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_ptr(rp,typ)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - rp
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 589
    functionName: r_set_ptr
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_set_ptr(rp,ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - type
    - ','
    - attrs
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 593
    functionDepth: 0
    functionLinenumber: 593
    functionLinenumberEnd: 594
    functionName: empty_ref_data
    functionSourceFile: /src/libspectre/ghostscript/psi/iref.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: empty_ref_data(type, attrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pfont
    - chr
    - ignored
    argTypes:
    - gs_font*
    - gs_char
    - gs_glyph_space_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 34
    functionName: zfont_no_encode_char
    functionSourceFile: /src/libspectre/ghostscript/psi/zfont32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_glyph
    signature: gs_glyph zfont_no_encode_char(gs_font *pfont, gs_char chr, gs_glyph_space_t
      ignored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfont32.c:46,1
    - Dst: build_proc_name_refs
      Src: /src/libspectre/ghostscript/psi/zfont32.c:47,1
    - Dst: build_gs_simple_font
      Src: /src/libspectre/ghostscript/psi/zfont32.c:50,1
    - Dst: define_gs_font
      Src: /src/libspectre/ghostscript/psi/zfont32.c:63,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 38
    functionDepth: 3
    functionLinenumber: 38
    functionLinenumberEnd: 64
    functionName: zbuildfont32
    functionSourceFile: /src/libspectre/ghostscript/psi/zfont32.c
    functionUses: 0
    functionsReached:
    - build_gs_simple_font
    - build_proc_name_refs
    - define_gs_font
    - check_type
    linkageType: ''
    returnType: int
    signature: int zbuildfont32(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: op_show_find
      Src: /src/libspectre/ghostscript/psi/zfont32.c:72,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfont32.c:74,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfont32.c:76,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/zfont32.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: zgetshowoperator
    functionSourceFile: /src/libspectre/ghostscript/psi/zfont32.c
    functionUses: 0
    functionsReached:
    - make_null
    - push
    - make_oper
    - op_show_find
    linkageType: ''
    returnType: int
    signature: int zgetshowoperator(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    functionName: public_st_gs_dual_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/imemory.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_gs_dual_memory()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:42,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 47
    functionName: zsetuseciecolor
    functionSourceFile: /src/libspectre/ghostscript/psi/zcolor3.c
    functionUses: 0
    functionsReached:
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetuseciecolor(i_ctx_t * i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:55,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:56,1
    - Dst: gs_currentrenderingintent
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 58
    functionName: zcurrentrenderingintent
    functionSourceFile: /src/libspectre/ghostscript/psi/zcolor3.c
    functionUses: 0
    functionsReached:
    - push
    - make_int
    - gs_currentrenderingintent
    linkageType: ''
    returnType: int
    signature: int zcurrentrenderingintent(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_param
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:68,1
    - Dst: gs_setrenderingintent
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:70,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:72,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 63
    functionDepth: 2
    functionLinenumber: 63
    functionLinenumberEnd: 74
    functionName: zsetrenderingintent
    functionSourceFile: /src/libspectre/ghostscript/psi/zcolor3.c
    functionUses: 0
    functionsReached:
    - int_param
    - pop
    - gs_setrenderingintent
    linkageType: ''
    returnType: int
    signature: int zsetrenderingintent(i_ctx_t * i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:82,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:83,1
    - Dst: gs_currentblackptcomp
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: zcurrentblackptcomp
    functionSourceFile: /src/libspectre/ghostscript/psi/zcolor3.c
    functionUses: 0
    functionsReached:
    - gs_currentblackptcomp
    - push
    - make_int
    linkageType: ''
    returnType: int
    signature: int zcurrentblackptcomp(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_param
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:93,1
    - Dst: gs_setblackptcomp
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:95,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcolor3.c:97,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 99
    functionName: zsetblackptcomp
    functionSourceFile: /src/libspectre/ghostscript/psi/zcolor3.c
    functionUses: 0
    functionsReached:
    - int_param
    - gs_setblackptcomp
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetblackptcomp(i_ctx_t * i_ctx_p)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: gp_enumerate_fonts_init
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:57,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:60,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:61,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:65,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:67,1
    - Dst: gp_enumerate_fonts_next
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:72,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:74,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:78,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:79,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:81,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:83,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:84,1
    - Dst: gs_malloc
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:85,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:87,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:88,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:89,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:92,1
    - Dst: gp_enumerate_fonts_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:99,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:102,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:107,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:108,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:109,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:110,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:111,1
    - Dst: ifree_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:113,1
    - Dst: ifree_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:114,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:117,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:118,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:119,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:120,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:122,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:129,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:130,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:131,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:132,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:133,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:140,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:141,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:142,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:143,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:144,1
    - Dst: gp_enumerate_fonts_free
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:152,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:154,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:155,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zfontenum.c:156,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 89
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 160
    functionName: z_fontenum
    functionSourceFile: /src/libspectre/ghostscript/psi/zfontenum.c
    functionUses: 0
    functionsReached:
    - ifree_string
    - ref_assign
    - gp_enumerate_fonts_next
    - strlen
    - ialloc_ref_array
    - gp_enumerate_fonts_init
    - gp_enumerate_fonts_free
    - push
    - memcpy
    - ialloc_string
    - make_string
    - gs_malloc
    - gs_note_error
    - gs_free
    - make_bool
    linkageType: ''
    returnType: int
    signature: int z_fontenum(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:59,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:60,1
    - Dst: gs_currentoverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 62
    functionName: zcurrentoverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - gs_currentoverprint
    - push
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zcurrentoverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:70,1
    - Dst: gs_setoverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:71,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: zsetoverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - gs_setoverprint
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetoverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:82,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:83,1
    - Dst: gs_currentstrokeoverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 85
    functionName: zcurrentstrokeoverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - push
    - gs_currentstrokeoverprint
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zcurrentstrokeoverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:93,1
    - Dst: gs_setstrokeoverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:94,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 97
    functionName: zsetstrokeoverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - gs_setstrokeoverprint
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetstrokeoverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:105,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:106,1
    - Dst: gs_currentfilloverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 108
    functionName: zcurrentfilloverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - push
    - gs_currentfilloverprint
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zcurrentfilloverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:116,1
    - Dst: gs_setfilloverprint
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:117,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 120
    functionName: zsetfilloverprint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - check_type
    - gs_setfilloverprint
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetfilloverprint(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:128,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:129,1
    - Dst: gs_currentoverprintmode
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 131
    functionName: zcurrentoverprintmode
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - push
    - make_int
    - gs_currentoverprintmode
    linkageType: ''
    returnType: int
    signature: int zcurrentoverprintmode(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: int_param
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:139,1
    - Dst: gs_setoverprintmode
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:141,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcssepr.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 145
    functionName: zsetoverprintmode
    functionSourceFile: /src/libspectre/ghostscript/psi/zcssepr.c
    functionUses: 0
    functionsReached:
    - int_param
    - gs_setoverprintmode
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetoverprintmode(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zfsample.c:104,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zfsample.c:108,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:109,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zfsample.c:110,1
    - Dst: cube_build_func0
      Src: /src/libspectre/ghostscript/psi/zfsample.c:114,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/psi/zfsample.c:125,1
    - Dst: sampled_data_setup
      Src: /src/libspectre/ghostscript/psi/zfsample.c:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 132
    functionName: zbuildsampledfunction
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - sampled_data_setup
    - dict_find_string
    - gs_function_Sd_init
    - cube_build_func0
    - check_type
    - check_proc
    - return_error
    linkageType: ''
    returnType: int
    signature: int zbuildsampledfunction(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    functionName: bits2bytes
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: bits2bytes(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 4
    argNames:
    - num_inputs
    - num_outputs
    - sample_size
    - Size
    argTypes:
    - int
    - int
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 153
    functionName: valid_cube_size
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool valid_cube_size(int num_inputs, int num_outputs, int sample_size,
      const int Size[])
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: valid_cube_size
      Src: /src/libspectre/ghostscript/psi/zfsample.c:194,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 4
    argNames:
    - num_inputs
    - num_outputs
    - sample_size
    - Size
    argTypes:
    - int
    - int
    - int
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 201
    functionName: determine_sampled_data_size
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - valid_cube_size
    linkageType: ''
    returnType: int
    signature: "int determine_sampled_data_size(int num_inputs, int num_outputs,\n
      \                               int sample_size, int Size[])"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_struct
      Src: /src/libspectre/ghostscript/psi/zfsample.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - cname
    argTypes:
    - gs_memory_t*
    - client_name_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: gs_sampled_data_enum_alloc
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - gs_alloc_struct
    linkageType: ''
    returnType: gs_sampled_data_enum
    signature: 'gs_sampled_data_enum *

      gs_sampled_data_enum_alloc(gs_memory_t * mem, client_name_t cname)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bits2bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - params
    - indexes
    argTypes:
    - gs_function_Sd_params_t*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 230
    functionName: cube_ptr_from_index
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - bits2bytes
    linkageType: ''
    returnType: byte
    signature: 'byte *

      cube_ptr_from_index(gs_function_Sd_params_t * params, int indexes[])'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - params
    - indexes
    argTypes:
    - gs_function_Sd_params_t*
    - int[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 237
    functionDepth: 0
    functionLinenumber: 237
    functionLinenumberEnd: 267
    functionName: increment_cube_indexes
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool increment_cube_indexes(gs_function_Sd_params_t * params, int indexes[])
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfsample.c:283,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zfsample.c:284,1
    - Dst: fn_build_float_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:287,1
    - Dst: fn_build_float_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:290,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:304,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:313,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:316,1
    - Dst: dict_ints_param
      Src: /src/libspectre/ghostscript/psi/zfsample.c:320,1
    - Dst: determine_sampled_data_size
      Src: /src/libspectre/ghostscript/psi/zfsample.c:328,1
    - Dst: valid_cube_size
      Src: /src/libspectre/ghostscript/psi/zfsample.c:334,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:336,1
    - Dst: bits2bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:344,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:350,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:352,1
    - Dst: data_source_init_bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:355,1
    - Dst: gs_function_Sd_free_params
      Src: /src/libspectre/ghostscript/psi/zfsample.c:361,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:362,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 50
    argCount: 3
    argNames:
    - pdict
    - params
    - mem
    argTypes:
    - ref*
    - gs_function_Sd_params_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 363
    functionName: cube_build_func0
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 1
    functionsReached:
    - gs_function_Sd_free_params
    - dict_int_param
    - gs_alloc_byte_array
    - data_source_init_bytes
    - bits2bytes
    - dict_ints_param
    - valid_cube_size
    - determine_sampled_data_size
    - gs_note_error
    - fn_build_float_array
    linkageType: ''
    returnType: int
    signature: "int cube_build_func0(const ref * pdict, gs_function_Sd_params_t *
      params,\n                                                        gs_memory_t
      *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:402,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:403,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:404,1
    - Dst: gs_sampled_data_enum_alloc
      Src: /src/libspectre/ghostscript/psi/zfsample.c:409,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:411,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zfsample.c:422,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfsample.c:430,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfsample.c:432,1
    - Dst: make_op_estack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:437,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zfsample.c:439,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 4
    argNames:
    - i_ctx_p
    - pfn
    - pproc
    - mem
    argTypes:
    - i_ctx_t*
    - gs_function_t*
    - ref*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 393
    functionDepth: 2
    functionLinenumber: 393
    functionLinenumberEnd: 442
    functionName: sampled_data_setup
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 1
    functionsReached:
    - make_null
    - make_op_estack
    - make_istruct
    - gs_sampled_data_enum_alloc
    - check_ostack
    - push
    - ref_stack_count
    - return_error
    - check_estack
    - push_op_estack
    linkageType: ''
    returnType: int
    signature: "int sampled_data_setup(i_ctx_t *i_ctx_p, gs_function_t *pfn,\n        const
      ref * pproc, int (*finish_proc)(i_ctx_t *), gs_memory_t * mem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfsample.c:459,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zfsample.c:464,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zfsample.c:469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 472
    functionName: sampled_data_sample
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - make_real
    - push
    - push_op_estack
    linkageType: ''
    returnType: int
    signature: int sampled_data_sample(i_ctx_t *i_ctx_p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: bits2bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:488,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zfsample.c:494,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zfsample.c:495,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfsample.c:507,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:508,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:509,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:510,1
    - Dst: cube_ptr_from_index
      Src: /src/libspectre/ghostscript/psi/zfsample.c:515,1
    - Dst: real_param
      Src: /src/libspectre/ghostscript/psi/zfsample.c:522,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfsample.c:536,1
    - Dst: increment_cube_indexes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:540,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfsample.c:542,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zfsample.c:544,1
    - Dst: esp_finish_proc
      Src: /src/libspectre/ghostscript/psi/zfsample.c:548,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zfsample.c:554,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zfsample.c:556,1
    - Dst: sampled_data_sample
      Src: /src/libspectre/ghostscript/psi/zfsample.c:562,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 477
    functionDepth: 2
    functionLinenumber: 477
    functionLinenumberEnd: 563
    functionName: sampled_data_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - real_param
    - make_null
    - ifree_object
    - bits2bytes
    - push
    - ref_stack_count
    - pop
    - esp_finish_proc
    - return_error
    - sampled_data_sample
    - increment_cube_indexes
    - cube_ptr_from_index
    linkageType: ''
    returnType: int
    signature: int sampled_data_continue(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/psi/zfsample.c:578,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:585,1
    - Dst: make_istruct_new
      Src: /src/libspectre/ghostscript/psi/zfsample.c:592,1
    - Dst: make_oper_new
      Src: /src/libspectre/ghostscript/psi/zfsample.c:593,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zfsample.c:594,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:597,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:598,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 600
    functionName: sampled_data_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - make_oper_new
    - make_istruct_new
    - ref_assign
    - ifree_object
    - gs_function_Sd_init
    - ialloc_ref_array
    linkageType: ''
    returnType: int
    signature: int sampled_data_finish(i_ctx_t *i_ctx_p)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: get_space_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:612,1
    - Dst: PS_colour_space_t*::alternateproc
      Src: /src/libspectre/ghostscript/psi/zfsample.c:617,1
    - Dst: get_space_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:620,1
    - Dst: PS_colour_space_t*::numcomponents
      Src: /src/libspectre/ghostscript/psi/zfsample.c:629,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:632,1
    - Dst: PS_colour_space_t*::domain
      Src: /src/libspectre/ghostscript/psi/zfsample.c:635,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:637,1
    - Dst: numcomponents
      Src: /src/libspectre/ghostscript/psi/zfsample.c:643,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:645,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:648,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:650,1
    - Dst: range
      Src: /src/libspectre/ghostscript/psi/zfsample.c:653,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:655,1
    - Dst: gs_free_const_object
      Src: /src/libspectre/ghostscript/psi/zfsample.c:656,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:666,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:668,1
    - Dst: determine_sampled_data_size
      Src: /src/libspectre/ghostscript/psi/zfsample.c:676,1
    - Dst: bits2bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:683,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zfsample.c:689,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zfsample.c:691,1
    - Dst: data_source_init_bytes
      Src: /src/libspectre/ghostscript/psi/zfsample.c:694,1
    - Dst: gs_function_Sd_init
      Src: /src/libspectre/ghostscript/psi/zfsample.c:705,1
    - Dst: sampled_data_setup
      Src: /src/libspectre/ghostscript/psi/zfsample.c:711,1
    - Dst: gs_function_Sd_free_params
      Src: /src/libspectre/ghostscript/psi/zfsample.c:714,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 74
    argCount: 4
    argNames:
    - i_ctx_p
    - arr
    - pproc
    - func
    argTypes:
    - i_ctx_t*
    - ref*
    - ref*
    - gs_function_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 602
    functionDepth: 3
    functionLinenumber: 602
    functionLinenumberEnd: 716
    functionName: make_sampled_function
    functionSourceFile: /src/libspectre/ghostscript/psi/zfsample.c
    functionUses: 0
    functionsReached:
    - PS_colour_space_t*::alternateproc
    - range
    - gs_function_Sd_free_params
    - gs_free_const_object
    - sampled_data_setup
    - PS_colour_space_t*::domain
    - gs_alloc_byte_array
    - gs_function_Sd_init
    - data_source_init_bytes
    - bits2bytes
    - numcomponents
    - PS_colour_space_t*::numcomponents
    - gs_note_error
    - get_space_object
    - determine_sampled_data_size
    linkageType: ''
    returnType: int
    signature: int make_sampled_function(i_ctx_t * i_ctx_p, ref *arr, ref *pproc,
      gs_function_t **func)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: esfile_clear_cache
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esfile_clear_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: esfile_set_cache
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esfile_set_cache(pref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: esfile_check_cache
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esfile_check_cache()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - ep
    - ','
    - es_idx
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 113
    functionName: make_mark_estack
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_mark_estack(ep, es_idx, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - es_idx
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: push_mark_estack
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: push_mark_estack(es_idx, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    functionName: r_is_estack_mark
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: r_is_estack_mark(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: estack_mark_index
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: estack_mark_index(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ep
    - ','
    - es_idx
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: set_estack_mark_index
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: set_estack_mark_index(ep, es_idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ep
    - ','
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    functionName: make_op_estack
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_op_estack(ep, proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - proc
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: push_op_estack
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: push_op_estack(proc)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 133
    functionName: check_estack
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_estack(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 138
    functionName: check_esp
    functionSourceFile: /src/libspectre/ghostscript/psi/estack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_esp(n)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:45,1
    - Dst: ref_to_string
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:46,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:48,1
    - Dst: MultiByteToWideChar
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:50,1
    - Dst: ifree_string
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:52,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:52,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:54,1
    - Dst: WideCharToMultiByte
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:56,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:59,1
    - Dst: string_to_ref
      Src: /src/libspectre/ghostscript/psi/zwinutf8.c:61,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 67
    functionName: zlocale_to_utf8
    functionSourceFile: /src/libspectre/ghostscript/psi/zwinutf8.c
    functionUses: 0
    functionsReached:
    - ifree_string
    - WideCharToMultiByte
    - string_to_ref
    - MultiByteToWideChar
    - ref_to_string
    - return_error
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zlocale_to_utf8(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pr
    - rvsize
    argTypes:
    - gsapi_revision_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 57
    functionName: gsapi_revision
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_revision(gsapi_revision_t *pr, int rvsize)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_new_instance
      Src: /src/libspectre/ghostscript/psi/iapi.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pinstance
    - caller_handle
    argTypes:
    - void**
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: gsapi_new_instance
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 9
    functionsReached:
    - psapi_new_instance
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_new_instance(void **pinstance, void *caller_handle)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_delete_instance
      Src: /src/libspectre/ghostscript/psi/iapi.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: gsapi_delete_instance
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 10
    functionsReached:
    - psapi_delete_instance
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_delete_instance(void *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_set_stdio_with_handle
      Src: /src/libspectre/ghostscript/psi/iapi.c:90,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 93
    functionName: gsapi_set_stdio
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 5
    functionsReached:
    - gsapi_set_stdio_with_handle
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_set_stdio(void *instance,\n    int(GSDLLCALL *stdin_fn)(void
      *caller_handle, char *buf, int len),\n    int(GSDLLCALL *stdout_fn)(void *caller_handle,
      const char *str, int len),\n    int(GSDLLCALL *stderr_fn)(void *caller_handle,
      const char *str, int len))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - instance
    - caller_handle
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: gsapi_set_stdio_with_handle
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_set_stdio_with_handle(void *instance,\n    int(GSDLLCALL
      *stdin_fn)(void *caller_handle, char *buf, int len),\n    int(GSDLLCALL *stdout_fn)(void
      *caller_handle, const char *str, int len),\n    int(GSDLLCALL *stderr_fn)(void
      *caller_handle, const char *str, int len),\n    void *caller_handle)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gsapi_set_poll_with_handle
      Src: /src/libspectre/ghostscript/psi/iapi.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 122
    functionName: gsapi_set_poll
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 2
    functionsReached:
    - gsapi_set_poll_with_handle
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_set_poll(void *instance,\n    int(GSDLLCALL *poll_fn)(void
      *caller_handle))"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - instance
    - caller_handle
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 135
    functionName: gsapi_set_poll_with_handle
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_set_poll_with_handle(void *instance,\n    int(GSDLLCALL
      *poll_fn)(void *caller_handle),\n    void *caller_handle)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/iapi.c:149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 6
    argNames:
    - instance
    - handle
    - dev_name
    - id
    - size
    - data
    argTypes:
    - void*
    - void*
    - char*
    - int
    - int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 159
    functionName: legacy_display_callout
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: "int legacy_display_callout(void *instance,\n                       void
      *handle,\n                       const char *dev_name,\n                       int
      id,\n                       int size,\n                       void *data)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:170,1
    - Dst: gs_lib_ctx_register_callout
      Src: /src/libspectre/ghostscript/psi/iapi.c:173,1
    - Dst: gs_lib_ctx_deregister_callout
      Src: /src/libspectre/ghostscript/psi/iapi.c:181,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 2
    argNames:
    - instance
    - callback
    argTypes:
    - void*
    - display_callback*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 188
    functionName: gsapi_set_display_callback
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 4
    functionsReached:
    - gs_lib_ctx_register_callout
    - gs_lib_ctx_deregister_callout
    - get_minst_from_memory
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_set_display_callback(void *instance, display_callback
      *callback)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_register_callout
      Src: /src/libspectre/ghostscript/psi/iapi.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - fn
    - handle
    argTypes:
    - void*
    - gs_callout
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 197
    functionName: gsapi_register_callout
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 2
    functionsReached:
    - gs_lib_ctx_register_callout
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_register_callout(void *instance, gs_callout fn, void
      *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_deregister_callout
      Src: /src/libspectre/ghostscript/psi/iapi.c:205,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - fn
    - handle
    argTypes:
    - void*
    - gs_callout
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: gsapi_deregister_callout
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_lib_ctx_deregister_callout
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_deregister_callout(void *instance, gs_callout fn,
      void *handle)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_set_default_device_list
      Src: /src/libspectre/ghostscript/psi/iapi.c:215,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - list
    - listlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: gsapi_set_default_device_list
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - gs_lib_ctx_set_default_device_list
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_set_default_device_list(void *instance, const char
      *list, int listlen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_lib_ctx_get_default_device_list
      Src: /src/libspectre/ghostscript/psi/iapi.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - list
    - listlen
    argTypes:
    - void*
    - char**
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    functionName: gsapi_get_default_device_list
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - gs_lib_ctx_get_default_device_list
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_get_default_device_list(void *instance, char **list,
      int *listlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/iapi.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - instance
    - encoding
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 233
    functionName: gsapi_set_arg_encoding
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - psapi_set_arg_encoding
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_set_arg_encoding(void *instance, int encoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/iapi.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - argc
    - argv
    argTypes:
    - void*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 240
    functionName: gsapi_init_with_args
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 9
    functionsReached:
    - psapi_init_with_args
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_init_with_args(void *instance, int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_string_begin
      Src: /src/libspectre/ghostscript/psi/iapi.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 255
    functionName: gsapi_run_string_begin
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 4
    functionsReached:
    - psapi_run_string_begin
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_string_begin(void *instance,\n                       int
      \  user_errors,\n                       int  *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_string_continue
      Src: /src/libspectre/ghostscript/psi/iapi.c:265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - instance
    - str
    - length
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - char*
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 266
    functionName: gsapi_run_string_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 6
    functionsReached:
    - psapi_run_string_continue
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_string_continue(void         *instance,\n                          const
      char   *str,\n                          unsigned int  length,\n                          int
      \          user_errors,\n                          int          *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_string_end
      Src: /src/libspectre/ghostscript/psi/iapi.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 275
    functionName: gsapi_run_string_end
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 4
    functionsReached:
    - psapi_run_string_end
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_string_end(void *instance,\n                     int
      \  user_errors,\n                     int  *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_string_with_length
      Src: /src/libspectre/ghostscript/psi/iapi.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - instance
    - str
    - length
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - char*
    - unsigned int
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: gsapi_run_string_with_length
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - psapi_run_string_with_length
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_string_with_length(void         *instance,\n
      \                            const char   *str,\n                             unsigned
      int  length,\n                             int           user_errors,\n                             int
      \         *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_string_with_length
      Src: /src/libspectre/ghostscript/psi/iapi.c:295,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/iapi.c:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - instance
    - str
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: gsapi_run_string
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 2
    functionsReached:
    - strlen
    - psapi_run_string_with_length
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_string(void       *instance,\n                 const
      char *str,\n                 int         user_errors,\n                 int
      \       *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_run_file
      Src: /src/libspectre/ghostscript/psi/iapi.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - instance
    - file_name
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 310
    functionName: gsapi_run_file
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - psapi_run_file
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_file(void       *instance,\n               const
      char *file_name,\n               int         user_errors,\n               int
      \       *pexit_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_inst_get_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:324,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:324,1
    - Dst: psapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/iapi.c:325,1
    - Dst: psapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/iapi.c:328,1
    - Dst: gs_main_inst_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:329,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:329,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - instance
    - argc
    - argv
    argTypes:
    - void*
    - int
    - wchar_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 331
    functionName: gsapi_init_with_argsW
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - psapi_set_arg_encoding
    - gs_main_inst_arg_decode
    - gs_main_inst_get_arg_decode
    - psapi_init_with_args
    - get_minst_from_memory
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_init_with_argsW(void     *instance,\n                      int
      \      argc,\n                      wchar_t **argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_inst_get_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:344,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:344,1
    - Dst: psapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/iapi.c:345,1
    - Dst: psapi_init_with_args
      Src: /src/libspectre/ghostscript/psi/iapi.c:348,1
    - Dst: gs_main_inst_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:349,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:349,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - instance
    - argc
    - argv
    argTypes:
    - void*
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 351
    functionName: gsapi_init_with_argsA
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - psapi_set_arg_encoding
    - gs_main_inst_arg_decode
    - gs_main_inst_get_arg_decode
    - psapi_init_with_args
    - get_minst_from_memory
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_init_with_argsA(void  *instance,\n                      int
      \   argc,\n                      char **argv)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_inst_get_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:365,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:365,1
    - Dst: psapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/iapi.c:366,1
    - Dst: psapi_run_file
      Src: /src/libspectre/ghostscript/psi/iapi.c:369,1
    - Dst: gs_main_inst_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:370,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - instance
    - file_name
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - wchar_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 372
    functionName: gsapi_run_fileW
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - psapi_set_arg_encoding
    - gs_main_inst_arg_decode
    - gs_main_inst_get_arg_decode
    - psapi_run_file
    - get_minst_from_memory
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_fileW(void          *instance,\n                const
      wchar_t *file_name,\n                int            user_errors,\n                int
      \          *pexit_code)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_inst_get_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:386,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:386,1
    - Dst: psapi_set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/iapi.c:387,1
    - Dst: psapi_run_file
      Src: /src/libspectre/ghostscript/psi/iapi.c:390,1
    - Dst: gs_main_inst_arg_decode
      Src: /src/libspectre/ghostscript/psi/iapi.c:391,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 4
    argNames:
    - instance
    - file_name
    - user_errors
    - pexit_code
    argTypes:
    - void*
    - char*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 393
    functionName: gsapi_run_fileA
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - psapi_set_arg_encoding
    - gs_main_inst_arg_decode
    - gs_main_inst_get_arg_decode
    - psapi_run_file
    - get_minst_from_memory
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: "GSDLLEXPORT gsapi_run_fileA(void       *instance,\n                const
      char *file_name,\n                int         user_errors,\n                int
      \       *pexit_code)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: psapi_exit
      Src: /src/libspectre/ghostscript/psi/iapi.c:401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 402
    functionName: gsapi_exit
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 11
    functionsReached:
    - psapi_exit
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_exit(void *instance)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:417,1
    - Dst: gs_c_param_list_alloc
      Src: /src/libspectre/ghostscript/psi/iapi.c:423,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iapi.c:425,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/psi/iapi.c:426,1
    - Dst: gs_param_list_set_persistent_keys
      Src: /src/libspectre/ghostscript/psi/iapi.c:427,1
    - Dst: gs_c_param_list_write_more
      Src: /src/libspectre/ghostscript/psi/iapi.c:433,1
    - Dst: param_write_null
      Src: /src/libspectre/ghostscript/psi/iapi.c:437,1
    - Dst: param_write_bool
      Src: /src/libspectre/ghostscript/psi/iapi.c:442,1
    - Dst: param_write_int
      Src: /src/libspectre/ghostscript/psi/iapi.c:446,1
    - Dst: param_write_float
      Src: /src/libspectre/ghostscript/psi/iapi.c:450,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/psi/iapi.c:454,1
    - Dst: param_write_name
      Src: /src/libspectre/ghostscript/psi/iapi.c:455,1
    - Dst: param_string_from_transient_string
      Src: /src/libspectre/ghostscript/psi/iapi.c:459,1
    - Dst: param_write_string
      Src: /src/libspectre/ghostscript/psi/iapi.c:460,1
    - Dst: param_write_long
      Src: /src/libspectre/ghostscript/psi/iapi.c:464,1
    - Dst: param_write_i64
      Src: /src/libspectre/ghostscript/psi/iapi.c:468,1
    - Dst: param_write_size_t
      Src: /src/libspectre/ghostscript/psi/iapi.c:472,1
    - Dst: gs_param_list_add_parsed_value
      Src: /src/libspectre/ghostscript/psi/iapi.c:476,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iapi.c:480,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/iapi.c:483,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/psi/iapi.c:486,1
    - Dst: psapi_set_device_param
      Src: /src/libspectre/ghostscript/psi/iapi.c:494,1
    - Dst: psapi_set_param
      Src: /src/libspectre/ghostscript/psi/iapi.c:498,1
    - Dst: gs_initgraphics
      Src: /src/libspectre/ghostscript/psi/iapi.c:503,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/iapi.c:505,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 68
    argCount: 4
    argNames:
    - lib
    - param
    - value
    - type
    argTypes:
    - void*
    - char*
    - void*
    - gs_set_param_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 404
    functionDepth: 5
    functionLinenumber: 404
    functionLinenumberEnd: 508
    functionName: gsapi_set_param
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 2
    functionsReached:
    - param_write_name
    - param_write_long
    - param_write_size_t
    - psapi_set_param
    - gs_c_param_list_release
    - gs_param_list_add_parsed_value
    - return_error
    - param_write_bool
    - gs_note_error
    - gs_param_list_set_persistent_keys
    - gs_c_param_list_write_more
    - param_string_from_transient_string
    - param_write_string
    - param_write_null
    - psapi_set_device_param
    - gs_c_param_list_alloc
    - gs_c_param_list_read
    - gs_c_param_list_write
    - param_write_int
    - get_minst_from_memory
    - param_write_float
    - gs_initgraphics
    - param_write_i64
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_set_param(void *lib, const char *param, const void
      *value, gs_set_param_type type)
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/psi/iapi.c:521,1
    - Dst: psapi_get_device_params
      Src: /src/libspectre/ghostscript/psi/iapi.c:526,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/iapi.c:528,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/psi/iapi.c:532,1
    - Dst: param_read_null
      Src: /src/libspectre/ghostscript/psi/iapi.c:536,1
    - Dst: param_read_bool
      Src: /src/libspectre/ghostscript/psi/iapi.c:546,1
    - Dst: param_read_int
      Src: /src/libspectre/ghostscript/psi/iapi.c:559,1
    - Dst: param_read_float
      Src: /src/libspectre/ghostscript/psi/iapi.c:572,1
    - Dst: param_read_name
      Src: /src/libspectre/ghostscript/psi/iapi.c:583,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iapi.c:589,1
    - Dst: param_read_string
      Src: /src/libspectre/ghostscript/psi/iapi.c:595,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iapi.c:601,1
    - Dst: param_read_long
      Src: /src/libspectre/ghostscript/psi/iapi.c:609,1
    - Dst: param_read_i64
      Src: /src/libspectre/ghostscript/psi/iapi.c:622,1
    - Dst: param_read_size_t
      Src: /src/libspectre/ghostscript/psi/iapi.c:635,1
    - Dst: gs_param_list_to_string
      Src: /src/libspectre/ghostscript/psi/iapi.c:648,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/iapi.c:657,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/iapi.c:659,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 123
    argCount: 4
    argNames:
    - lib
    - param
    - value
    - type
    argTypes:
    - void*
    - char*
    - void*
    - gs_set_param_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 510
    functionDepth: 9
    functionLinenumber: 510
    functionLinenumberEnd: 662
    functionName: gsapi_get_param
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 2
    functionsReached:
    - param_read_null
    - gs_note_error
    - param_read_int
    - param_read_float
    - param_read_bool
    - param_read_i64
    - gs_param_list_to_string
    - param_read_name
    - memcpy
    - param_read_long
    - gs_c_param_list_read
    - param_read_size_t
    - gs_c_param_list_write
    - psapi_get_device_params
    - gs_c_param_list_release
    - param_read_string
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_get_param(void *lib, const char *param, void *value,
      gs_set_param_type type)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/iapi.c:676,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/iapi.c:687,1
    - Dst: gs_c_param_list_write
      Src: /src/libspectre/ghostscript/psi/iapi.c:692,1
    - Dst: psapi_get_device_params
      Src: /src/libspectre/ghostscript/psi/iapi.c:694,1
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/psi/iapi.c:698,1
    - Dst: gs_c_param_list_read
      Src: /src/libspectre/ghostscript/psi/iapi.c:703,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/psi/iapi.c:704,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/iapi.c:718,1
    - Dst: gs_resize_object
      Src: /src/libspectre/ghostscript/psi/iapi.c:720,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iapi.c:723,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/iapi.c:727,1
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/psi/iapi.c:734,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/iapi.c:738,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 4
    argNames:
    - instance
    - iter
    - key
    - type
    argTypes:
    - void*
    - void**
    - char**
    - gs_set_param_type*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 775
    functionName: gsapi_enumerate_params
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 1
    functionsReached:
    - param_get_next_key
    - param_read_typed
    - gs_c_param_list_release
    - gs_alloc_bytes
    - gs_resize_object
    - memcpy
    - gs_c_param_list_read
    - return_error
    - gs_c_param_list_write
    - psapi_get_device_params
    - get_minst_from_memory
    - param_init_enumerator
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_enumerate_params(void *instance, void **iter, const
      char **key, gs_set_param_type *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/psi/iapi.c:783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - type
    - path
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 784
    functionName: gsapi_add_control_path
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_add_control_path
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_add_control_path(void *instance, int type, const
      char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/psi/iapi.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - type
    - path
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 786
    functionDepth: 3
    functionLinenumber: 786
    functionLinenumberEnd: 793
    functionName: gsapi_remove_control_path
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_remove_control_path
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_remove_control_path(void *instance, int type, const
      char *path)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_purge_control_paths
      Src: /src/libspectre/ghostscript/psi/iapi.c:801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - instance
    - type
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 795
    functionDepth: 1
    functionLinenumber: 795
    functionLinenumberEnd: 802
    functionName: gsapi_purge_control_paths
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_purge_control_paths
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_purge_control_paths(void *instance, int type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_activate_path_control
      Src: /src/libspectre/ghostscript/psi/iapi.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - instance
    - enable
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 811
    functionName: gsapi_activate_path_control
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_activate_path_control
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_activate_path_control(void *instance, int enable)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_is_path_control_active
      Src: /src/libspectre/ghostscript/psi/iapi.c:819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - instance
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 813
    functionDepth: 1
    functionLinenumber: 813
    functionLinenumberEnd: 820
    functionName: gsapi_is_path_control_active
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_is_path_control_active
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_is_path_control_active(void *instance)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_fs
      Src: /src/libspectre/ghostscript/psi/iapi.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - fs
    - secret
    argTypes:
    - void*
    - gsapi_fs_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 1
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: gsapi_add_fs
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_add_fs
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_add_fs(void *instance, gsapi_fs_t *fs, void *secret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_remove_fs
      Src: /src/libspectre/ghostscript/psi/iapi.c:837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - instance
    - fs
    - secret
    argTypes:
    - void*
    - gsapi_fs_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 838
    functionName: gsapi_remove_fs
    functionSourceFile: /src/libspectre/ghostscript/psi/iapi.c
    functionUses: 0
    functionsReached:
    - gs_remove_fs
    linkageType: ''
    returnType: GSDLLEXPORT
    signature: GSDLLEXPORT gsapi_remove_fs(void *instance, gsapi_fs_t *fs, void *secret)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    functionName: rputc
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rputc(m,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - m
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: rputc
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rputc(m,c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 71
    functionName: CLEAR_MARKS_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_clear_attrs
    linkageType: ''
    returnType: void
    signature: void CLEAR_MARKS_PROC(ref_struct_clear_marks)
  - BBCount: 61
    BranchProfiles: []
    Callsites:
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igcref.c:88,1
    - Dst: ref_struct_clear_marks
      Src: /src/libspectre/ghostscript/psi/igcref.c:89,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:100,1
    - Dst: r_clear_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:101,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:103,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:118,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/igcref.c:120,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/igcref.c:121,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/igcref.c:122,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/igcref.c:123,1
    - Dst: r_clear_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:126,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/igcref.c:132,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/igcref.c:133,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/igcref.c:134,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/igcref.c:135,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:138,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:154,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:155,1
    - Dst: r_set_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:157,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:161,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:163,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:186,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:192,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:192,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:193,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:194,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:218,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:220,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:221,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:265,1
    - Dst: r_set_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:275,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:276,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:283,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:290,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/igcref.c:291,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:304,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:305,1
    - Dst: r_set_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:309,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:310,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:313,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:316,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:316,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:317,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:319,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/psi/igcref.c:325,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:346,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:347,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:348,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:355,1
    - Dst: r_set_type_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:356,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:357,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:359,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:359,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:360,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:366,1
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igcref.c:378,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:409,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igcref.c:416,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:417,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/igcref.c:418,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:419,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/igcref.c:420,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:422,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:425,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:425,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:428,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:429,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:434,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:435,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:439,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:440,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:441,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:445,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:459,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:460,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:461,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:464,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:470,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:471,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:479,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:480,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:481,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:482,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:487,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:498,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:509,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:510,1
    - Dst: name_ref_sub_table
      Src: /src/libspectre/ghostscript/psi/igcref.c:517,1
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/psi/igcref.c:518,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:520,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:530,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:532,1
    - Dst: RELOC_STRING_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:532,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:537,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:538,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:539,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:544,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:571,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:580,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:582,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:584,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igcref.c:585,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:604,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igcref.c:605,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:607,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:607,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:609,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:609,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:612,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:643,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:644,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:647,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:647,1
    - Dst: igc_reloc_ref_ptr_nocheck
      Src: /src/libspectre/ghostscript/psi/igcref.c:650,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:688,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:689,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igcref.c:691,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:698,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igcref.c:700,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:701,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:708,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:709,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:710,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:716,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:719,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/igcref.c:724,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:725,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/igcref.c:726,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:740,1
    - Dst: mlprintf3
      Src: /src/libspectre/ghostscript/psi/igcref.c:741,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:743,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/psi/igcref.c:744,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:749,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:755,1
    - Dst: r_set_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:766,1
    CyclomaticComplexity: 83
    EdgeCount: 83
    ICount: 307
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 768
    functionName: ENUM_PTRS_BEGIN_PROC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_has_attr
    - if_debug1m
    - rputc
    - r_has_pmark
    - SET_RELOC
    - RP_REF
    - r_set_size
    - ref_assign_inline
    - igc_reloc_ref_ptr_nocheck
    - r_type
    - gs_debug_c
    - r_set_type_attrs
    - igc_reloc_ref_ptr
    - r_clear_pmark
    - gs_abort
    - if_debug2m
    - r_set_pmark
    - r_space
    - min
    - r_set_type
    - ref_struct_clear_marks
    - RELOC_VAR
    - DO_RELOC
    - if_debug2
    - r_set_attrs
    - mlprintf3
    - RELOC_STRING_VAR
    - dmlprintf1
    - name_ref_sub_table
    - r_btype
    - dmputs
    - if_debug3
    - RELOC_OBJ
    - print_reloc
    - debug_print_ref
    - if_debug1
    - if_debug3m
    - r_is_packed
    - igc_reloc_refs
    - r_clear_attrs
    - ref_type_uses_size_or_null
    - pt_tag
    - r_size
    linkageType: ''
    returnType: void
    signature: void ENUM_PTRS_BEGIN_PROC(ref_struct_enum_ptrs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igcref.c:88,1
    - Dst: ref_struct_clear_marks
      Src: /src/libspectre/ghostscript/psi/igcref.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: RELOC_PTRS_BEGIN
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - igc_reloc_refs
    - ref_struct_clear_marks
    linkageType: ''
    returnType: ENUM_PTRS_END_PROC
    signature: ENUM_PTRS_END_PROC RELOC_PTRS_BEGIN(ref_struct_reloc_ptrs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:100,1
    - Dst: r_clear_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:101,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pep
    - ignored
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 104
    functionName: ptr_ref_unmark
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_is_packed
    - r_clear_pmark
    - r_clear_attrs
    linkageType: ''
    returnType: RELOC_PTRS_END
    signature: RELOC_PTRS_END ptr_ref_unmark(enum_ptr_t *pep, gc_state_t * ignored)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:118,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/igcref.c:120,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/igcref.c:121,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/igcref.c:122,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/igcref.c:123,1
    - Dst: r_clear_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:126,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/igcref.c:132,1
    - Dst: dmlprintf1
      Src: /src/libspectre/ghostscript/psi/igcref.c:133,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/igcref.c:134,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/igcref.c:135,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:138,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 4
    argNames:
    - cmem
    - vptr
    - size
    - pstype
    argTypes:
    - gs_memory_t*
    - void*
    - uint
    - gs_memory_struct_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 144
    functionName: refs_clear_marks
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - gs_debug_c
    - debug_print_ref
    - r_is_packed
    - r_clear_pmark
    - dmlprintf1
    - r_clear_attrs
    - dmputs
    linkageType: ''
    returnType: void
    signature: "void refs_clear_marks(const gs_memory_t *cmem,\n                 void
      /*obj_header_t */ *vptr, uint size,\n                 const gs_memory_struct_type_t
      * pstype)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:154,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:155,1
    - Dst: r_set_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:157,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:161,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:163,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pep
    - ignored
    argTypes:
    - enum_ptr_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 166
    functionName: ptr_ref_mark
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_has_attr
    - r_has_pmark
    - r_set_attrs
    - r_is_packed
    - r_set_pmark
    linkageType: ''
    returnType: bool
    signature: bool ptr_ref_mark(enum_ptr_t *pep, gc_state_t * ignored)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:186,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:192,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:192,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:193,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:194,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - hdr
    - size
    argTypes:
    - obj_header_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 199
    functionName: refs_clear_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_type
    - if_debug1
    - r_is_packed
    - r_set_size
    - ref_type_uses_size_or_null
    linkageType: ''
    returnType: void
    signature: void refs_clear_reloc(obj_header_t *hdr, uint size)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:218,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:220,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:221,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:265,1
    - Dst: r_set_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:275,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:276,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:283,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:290,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/igcref.c:291,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:304,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:305,1
    - Dst: r_set_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:309,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:310,1
    - Dst: if_debug1
      Src: /src/libspectre/ghostscript/psi/igcref.c:313,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:316,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:316,1
    - Dst: if_debug2
      Src: /src/libspectre/ghostscript/psi/igcref.c:317,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:319,1
    - Dst: if_debug3
      Src: /src/libspectre/ghostscript/psi/igcref.c:325,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:346,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:347,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:348,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:355,1
    - Dst: r_set_type_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:356,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:357,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:359,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:359,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:360,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:366,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 68
    argCount: 3
    argNames:
    - hdr
    - reloc
    - size
    argTypes:
    - obj_header_t*
    - uint
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 369
    functionName: refs_set_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - r_type
    - r_has_attr
    - r_set_type_attrs
    - if_debug2
    - if_debug1
    - r_has_pmark
    - r_is_packed
    - r_set_size
    - if_debug3
    - r_clear_attrs
    - r_set_pmark
    - pt_tag
    - min
    - ref_type_uses_size_or_null
    - r_set_type
    linkageType: ''
    returnType: bool
    signature: bool refs_set_reloc(obj_header_t * hdr, uint reloc, uint size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: igc_reloc_refs
      Src: /src/libspectre/ghostscript/psi/igcref.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - vptr
    - size
    - pstype
    - gcst
    argTypes:
    - void*
    - uint
    - gs_memory_struct_type_t*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 374
    functionDepth: 1
    functionLinenumber: 374
    functionLinenumberEnd: 381
    functionName: refs_do_reloc
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - igc_reloc_refs
    linkageType: ''
    returnType: void
    signature: "void refs_do_reloc(void /*obj_header_t */ *vptr, uint size,\n              const
      gs_memory_struct_type_t * pstype, gc_state_t * gcst)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:409,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/igcref.c:416,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:417,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/igcref.c:418,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:419,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/igcref.c:420,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:422,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:425,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:425,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:428,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:429,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:434,1
    - Dst: RELOC_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:435,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:439,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:440,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:441,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:445,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:459,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:460,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:461,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:464,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:470,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:471,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:479,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:480,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:481,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:482,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:487,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:498,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:509,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:510,1
    - Dst: name_ref_sub_table
      Src: /src/libspectre/ghostscript/psi/igcref.c:517,1
    - Dst: RELOC_OBJ
      Src: /src/libspectre/ghostscript/psi/igcref.c:518,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:520,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:530,1
    - Dst: DO_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:532,1
    - Dst: RELOC_STRING_VAR
      Src: /src/libspectre/ghostscript/psi/igcref.c:532,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:537,1
    - Dst: SET_RELOC
      Src: /src/libspectre/ghostscript/psi/igcref.c:538,1
    - Dst: igc_reloc_ref_ptr
      Src: /src/libspectre/ghostscript/psi/igcref.c:539,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:544,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    argCount: 3
    argNames:
    - from
    - to
    - gcst
    argTypes:
    - ref_packed*
    - ref_packed*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 550
    functionName: igc_reloc_refs
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 5
    functionsReached:
    - r_type
    - r_has_attr
    - RELOC_VAR
    - DO_RELOC
    - if_debug3m
    - rputc
    - SET_RELOC
    - RELOC_OBJ
    - RELOC_STRING_VAR
    - r_is_packed
    - igc_reloc_ref_ptr
    - if_debug2m
    - name_ref_sub_table
    - r_space
    - r_btype
    - r_size
    linkageType: ''
    returnType: void
    signature: void igc_reloc_refs(ref_packed * from, ref_packed * to, gc_state_t
      * gcst)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    functionName: DO_RELOC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_RELOC(var, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    functionName: SET_RELOC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RELOC(var, expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - stat
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 406
    functionName: DO_RELOC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DO_RELOC(var, stat)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - var
    - ','
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 407
    functionName: SET_RELOC
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_RELOC(var, expr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:571,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:580,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:582,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:584,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igcref.c:585,1
    - Dst: ref_type_uses_size_or_null
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:602,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:604,1
    - Dst: print_reloc
      Src: /src/libspectre/ghostscript/psi/igcref.c:605,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:607,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:607,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:609,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:609,1
    - Dst: rputc
      Src: /src/libspectre/ghostscript/psi/igcref.c:612,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 2
    argNames:
    - prp
    - gcst
    argTypes:
    - ref_packed*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 623
    functionName: igc_reloc_ref_ptr_nocheck
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 1
    functionsReached:
    - r_type
    - print_reloc
    - rputc
    - r_is_packed
    - RP_REF
    - ref_type_uses_size_or_null
    - pt_tag
    - r_size
    linkageType: ''
    returnType: ref_packed
    signature: 'ref_packed *

      igc_reloc_ref_ptr_nocheck(const ref_packed * prp, gc_state_t *gcst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 565
    functionDepth: 0
    functionLinenumber: 565
    functionLinenumberEnd: 566
    functionName: RP_REF
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_REF(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 567
    functionDepth: 0
    functionLinenumber: 567
    functionLinenumberEnd: 568
    functionName: RP_REF
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_REF(rp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:643,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:644,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:647,1
    - Dst: RP_REF
      Src: /src/libspectre/ghostscript/psi/igcref.c:647,1
    - Dst: igc_reloc_ref_ptr_nocheck
      Src: /src/libspectre/ghostscript/psi/igcref.c:650,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - prp
    - gcst
    argTypes:
    - ref_packed*
    - gc_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 659
    functionName: igc_reloc_ref_ptr
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 2
    functionsReached:
    - igc_reloc_ref_ptr_nocheck
    - r_has_attr
    - r_has_pmark
    - r_is_packed
    - RP_REF
    linkageType: ''
    returnType: ref_packed
    signature: 'ref_packed *

      igc_reloc_ref_ptr(const ref_packed * prp, gc_state_t *gcst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 635
    functionName: RP_REF
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_REF(rp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - rp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 636
    functionDepth: 0
    functionLinenumber: 636
    functionLinenumberEnd: 637
    functionName: RP_REF
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RP_REF(rp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:688,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:689,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igcref.c:691,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:698,1
    - Dst: if_debug1m
      Src: /src/libspectre/ghostscript/psi/igcref.c:700,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:701,1
    - Dst: r_is_packed
      Src: /src/libspectre/ghostscript/psi/igcref.c:708,1
    - Dst: r_has_pmark
      Src: /src/libspectre/ghostscript/psi/igcref.c:709,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:710,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/igcref.c:716,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/igcref.c:719,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/igcref.c:724,1
    - Dst: r_clear_attrs
      Src: /src/libspectre/ghostscript/psi/igcref.c:725,1
    - Dst: ref_assign_inline
      Src: /src/libspectre/ghostscript/psi/igcref.c:726,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:740,1
    - Dst: mlprintf3
      Src: /src/libspectre/ghostscript/psi/igcref.c:741,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/igcref.c:743,1
    - Dst: gs_abort
      Src: /src/libspectre/ghostscript/psi/igcref.c:744,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:749,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/igcref.c:755,1
    - Dst: r_set_type
      Src: /src/libspectre/ghostscript/psi/igcref.c:766,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 61
    argCount: 4
    argNames:
    - mem
    - pre
    - dpre
    - size
    argTypes:
    - gs_memory_t*
    - obj_header_t*
    - obj_header_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 665
    functionDepth: 1
    functionLinenumber: 665
    functionLinenumberEnd: 768
    functionName: refs_compact
    functionSourceFile: /src/libspectre/ghostscript/psi/igcref.c
    functionUses: 0
    functionsReached:
    - if_debug1m
    - r_has_attr
    - r_has_pmark
    - mlprintf3
    - r_is_packed
    - gs_abort
    - r_clear_attrs
    - if_debug2m
    - pt_tag
    - ref_assign_inline
    - r_set_type
    - r_size
    linkageType: ''
    returnType: void
    signature: void refs_compact(const gs_memory_t *mem, obj_header_t * pre, obj_header_t
      * dpre, uint size)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentoverrideicc
      Src: /src/libspectre/ghostscript/psi/zicc.c:63,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:64,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:65,1
    - Dst: gsicc_find_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:66,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/psi/zicc.c:69,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zicc.c:71,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:77,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:78,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zicc.c:79,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/psi/zicc.c:82,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:82,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:84,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:94,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:94,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zicc.c:95,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zicc.c:96,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:96,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zicc.c:97,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/zicc.c:102,1
    - Dst: gsicc_get_profile_handle_file
      Src: /src/libspectre/ghostscript/psi/zicc.c:103,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zicc.c:104,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:104,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zicc.c:108,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:108,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/psi/zicc.c:110,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:110,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/psi/zicc.c:112,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/psi/zicc.c:116,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:118,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:123,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:124,1
    - Dst: gsicc_set_gscs_profile
      Src: /src/libspectre/ghostscript/psi/zicc.c:127,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:127,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:129,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:130,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/psi/zicc.c:136,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:156,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:157,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:158,1
    - Dst: gsicc_init_hash_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:163,1
    - Dst: gs_currentoverrideicc
      Src: /src/libspectre/ghostscript/psi/zicc.c:199,1
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/psi/zicc.c:216,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/psi/zicc.c:217,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/psi/zicc.c:220,1
    - Dst: rc_decrement_only
      Src: /src/libspectre/ghostscript/psi/zicc.c:223,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:228,1
    - Dst: gsicc_add_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:231,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:233,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zicc.c:238,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 110
    argCount: 4
    argNames:
    - i_ctx_p
    - ncomps
    - ICCdict
    - range_buff
    argTypes:
    - i_ctx_t*
    - int
    - ref*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 45
    functionDepth: 4
    functionLinenumber: 45
    functionLinenumberEnd: 240
    functionName: seticc
    functionSourceFile: /src/libspectre/ghostscript/psi/zicc.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - gsicc_get_profile_handle_buffer
    - gs_rethrow
    - strlen
    - rc_decrement
    - rc_adjust
    - gsicc_init_hash_cs
    - check_read_file
    - gscms_get_profile_data_space
    - rc_increment
    - gs_setcolorspace
    - gs_gstate_memory
    - gsicc_profile_new
    - gsicc_find_cs
    - gs_free_object
    - gsicc_set_gscs_profile
    - gs_currentoverrideicc
    - strcmp
    - gs_throw
    - r_has_type
    - gsicc_add_cs
    - rc_decrement_only
    - dict_find_string
    - gsicc_get_profile_handle_file
    - gs_cspace_build_ICC
    - memcpy
    - pop
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int seticc(i_ctx_t * i_ctx_p, int ncomps, ref *ICCdict, float *range_buff)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/zicc.c:253,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:265,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zicc.c:266,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:267,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zicc.c:270,1
    - Dst: gsicc_init_device_profile_struct
      Src: /src/libspectre/ghostscript/psi/zicc.c:275,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zicc.c:278,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:285,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:289,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:290,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:291,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:295,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:296,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zicc.c:297,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/psi/zicc.c:299,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:299,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/psi/zicc.c:301,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/psi/zicc.c:304,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:306,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:308,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/psi/zicc.c:312,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:337,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:338,1
    - Dst: gsicc_init_hash_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:340,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/zicc.c:344,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/zicc.c:347,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zicc.c:347,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zicc.c:348,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/zicc.c:349,1
    - Dst: gsicc_set_icc_range
      Src: /src/libspectre/ghostscript/psi/zicc.c:351,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:366,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/psi/zicc.c:375,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:377,1
    - Dst: rc_increment
      Src: /src/libspectre/ghostscript/psi/zicc.c:386,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:387,1
    - Dst: gsicc_get_default_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:392,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:397,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/psi/zicc.c:398,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:402,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/psi/zicc.c:403,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/zicc.c:407,1
    - Dst: rc_assign
      Src: /src/libspectre/ghostscript/psi/zicc.c:408,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zicc.c:416,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 105
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 418
    functionName: zset_outputintent
    functionSourceFile: /src/libspectre/ghostscript/psi/zicc.c
    functionUses: 0
    functionsReached:
    - gsicc_get_profile_handle_buffer
    - gs_alloc_bytes
    - strlen
    - rc_decrement
    - gsicc_get_default_type
    - gsicc_init_hash_cs
    - check_read_file
    - r_type
    - gscms_get_profile_data_space
    - rc_increment
    - gs_gstate_memory
    - gsicc_profile_new
    - check_dict_read
    - gs_note_error
    - gs_throw
    - check_type
    - gsicc_set_icc_range
    - dev_proc
    - if_debug0m
    - dict_find_string
    - strncpy
    - rc_assign
    - gs_currentdevice
    - gsicc_init_device_profile_struct
    - pop
    - return_error
    linkageType: ''
    returnType: int
    signature: int zset_outputintent(i_ctx_t * i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/psi/zicc.c:429,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:429,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:431,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:439,1
    - Dst: gsicc_set_gscs_profile
      Src: /src/libspectre/ghostscript/psi/zicc.c:442,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:442,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:444,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/psi/zicc.c:454,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - i_ctx_p
    - white
    - black
    - range_buff
    argTypes:
    - i_ctx_t*
    - float*
    - float*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 456
    functionName: seticc_lab
    functionSourceFile: /src/libspectre/ghostscript/psi/zicc.c
    functionUses: 0
    functionsReached:
    - gsicc_set_gscs_profile
    - gs_rethrow
    - gs_setcolorspace
    - gs_gstate_memory
    - gs_cspace_build_ICC
    linkageType: ''
    returnType: int
    signature: int seticc_lab(i_ctx_t * i_ctx_p, float *white, float *black, float
      *range_buff)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gsicc_find_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:470,1
    - Dst: gs_cspace_build_ICC
      Src: /src/libspectre/ghostscript/psi/zicc.c:476,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:478,1
    - Dst: gsicc_create_from_cal
      Src: /src/libspectre/ghostscript/psi/zicc.c:482,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:485,1
    - Dst: gsicc_set_gscs_profile
      Src: /src/libspectre/ghostscript/psi/zicc.c:487,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:491,1
    - Dst: gs_rethrow
      Src: /src/libspectre/ghostscript/psi/zicc.c:493,1
    - Dst: gsicc_add_cs
      Src: /src/libspectre/ghostscript/psi/zicc.c:499,1
    - Dst: gs_setcolorspace
      Src: /src/libspectre/ghostscript/psi/zicc.c:502,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 7
    argNames:
    - i_ctx_p
    - white
    - black
    - gamma
    - matrix
    - num_colorants
    - dictkey
    argTypes:
    - i_ctx_t*
    - float*
    - float*
    - float*
    - float*
    - int
    - ulong
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 459
    functionDepth: 4
    functionLinenumber: 459
    functionLinenumberEnd: 504
    functionName: seticc_cal
    functionSourceFile: /src/libspectre/ghostscript/psi/zicc.c
    functionUses: 0
    functionsReached:
    - gsicc_set_gscs_profile
    - gs_rethrow
    - gs_setcolorspace
    - gsicc_create_from_cal
    - gs_cspace_build_ICC
    - gsicc_find_cs
    - rc_decrement
    - gsicc_add_cs
    linkageType: ''
    returnType: int
    signature: "int seticc_cal(i_ctx_t * i_ctx_p, float *white, float *black, float
      *gamma,\n           float *matrix, int num_colorants, ulong dictkey)"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:516,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zicc.c:517,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:519,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:523,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zicc.c:524,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:525,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zicc.c:528,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zicc.c:529,1
    - Dst: check_read_file
      Src: /src/libspectre/ghostscript/psi/zicc.c:530,1
    - Dst: gsicc_profile_new
      Src: /src/libspectre/ghostscript/psi/zicc.c:532,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:532,1
    - Dst: gs_throw
      Src: /src/libspectre/ghostscript/psi/zicc.c:534,1
    - Dst: gsicc_get_profile_handle_buffer
      Src: /src/libspectre/ghostscript/psi/zicc.c:538,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zicc.c:540,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:542,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zicc.c:543,1
    - Dst: gscms_get_profile_data_space
      Src: /src/libspectre/ghostscript/psi/zicc.c:547,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zicc.c:571,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/zicc.c:573,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 48
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 506
    functionDepth: 3
    functionLinenumber: 506
    functionLinenumberEnd: 575
    functionName: znumicc_components
    functionSourceFile: /src/libspectre/ghostscript/psi/zicc.c
    functionUses: 0
    functionsReached:
    - r_type
    - make_int
    - gscms_get_profile_data_space
    - gs_throw
    - return_error
    - dict_find_string
    - gsicc_get_profile_handle_buffer
    - check_type
    - gs_gstate_memory
    - gsicc_profile_new
    - rc_decrement
    - check_dict_read
    - gs_note_error
    - check_read_file
    linkageType: ''
    returnType: int
    signature: int znumicc_components(i_ctx_t * i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcrd.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 49
    functionName: zcurrentcolorrendering
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - push
    linkageType: ''
    returnType: int
    signature: int zcurrentcolorrendering(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zcrd.c:56,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:62,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zcrd.c:63,1
    - Dst: gs_cie_render1_build
      Src: /src/libspectre/ghostscript/psi/zcrd.c:64,1
    - Dst: zcrd1_params
      Src: /src/libspectre/ghostscript/psi/zcrd.c:67,1
    - Dst: rc_free_struct
      Src: /src/libspectre/ghostscript/psi/zcrd.c:69,1
    - Dst: make_istruct_new
      Src: /src/libspectre/ghostscript/psi/zcrd.c:76,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 78
    functionName: zbuildcolorrendering1
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - rc_free_struct
    - make_istruct_new
    - gs_gstate_memory
    - gs_cie_render1_build
    - check_dict_read
    - check_read_type
    - zcrd1_params
    linkageType: ''
    returnType: int
    signature: int zbuildcolorrendering1(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zcrd.c:85,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:90,1
    - Dst: dict_param_list_read
      Src: /src/libspectre/ghostscript/psi/zcrd.c:91,1
    - Dst: gs_cie_render1_build
      Src: /src/libspectre/ghostscript/psi/zcrd.c:94,1
    - Dst: param_get_cie_render1
      Src: /src/libspectre/ghostscript/psi/zcrd.c:96,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/zcrd.c:97,1
    - Dst: iparam_list_release
      Src: /src/libspectre/ghostscript/psi/zcrd.c:103,1
    - Dst: rc_free_struct
      Src: /src/libspectre/ghostscript/psi/zcrd.c:105,1
    - Dst: make_istruct_new
      Src: /src/libspectre/ghostscript/psi/zcrd.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 81
    functionDepth: 7
    functionLinenumber: 81
    functionLinenumberEnd: 111
    functionName: zbuilddevicecolorrendering1
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - rc_free_struct
    - make_istruct_new
    - dict_param_list_read
    - iparam_list_release
    - check_type
    - gs_gstate_memory
    - gs_cie_render1_build
    - gs_currentdevice
    - param_get_cie_render1
    linkageType: ''
    returnType: int
    signature: int zbuilddevicecolorrendering1(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:122,1
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zcrd.c:123,1
    - Dst: zcrd1_proc_params
      Src: /src/libspectre/ghostscript/psi/zcrd.c:124,1
    - Dst: gs_setcolorrendering
      Src: /src/libspectre/ghostscript/psi/zcrd.c:127,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zcrd.c:127,1
    - Dst: gs_cie_cs_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:130,1
    - Dst: cie_cache_joint
      Src: /src/libspectre/ghostscript/psi/zcrd.c:131,1
    - Dst: gs_cie_cs_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:131,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcrd.c:136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 114
    functionDepth: 3
    functionLinenumber: 114
    functionLinenumberEnd: 138
    functionName: zsetcolorrendering1
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - cie_cache_joint
    - check_type
    - r_ptr
    - pop
    - zcrd1_proc_params
    - gs_cie_cs_common
    - check_stype
    - gs_setcolorrendering
    linkageType: ''
    returnType: int
    signature: int zsetcolorrendering1(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:148,1
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zcrd.c:149,1
    - Dst: gs_setcolorrendering
      Src: /src/libspectre/ghostscript/psi/zcrd.c:150,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zcrd.c:150,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zcrd.c:153,1
    - Dst: gs_cie_cs_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:154,1
    - Dst: cie_cache_joint
      Src: /src/libspectre/ghostscript/psi/zcrd.c:155,1
    - Dst: gs_cie_cs_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:155,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zcrd.c:159,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcrd.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 141
    functionDepth: 3
    functionLinenumber: 141
    functionLinenumberEnd: 163
    functionName: zsetdevicecolorrendering1
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - cie_cache_joint
    - check_type
    - gs_cie_cs_common
    - refset_null
    - r_ptr
    - pop
    - check_stype
    - gs_setcolorrendering
    linkageType: ''
    returnType: int
    signature: int zsetdevicecolorrendering1(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_proc3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:173,1
    - Dst: dict_proc3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:176,1
    - Dst: dict_proc3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:179,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:183,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zcrd.c:184,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:189,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zcrd.c:190,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:192,1
    - Dst: check_proc_only
      Src: /src/libspectre/ghostscript/psi/zcrd.c:195,1
    - Dst: make_const_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:196,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zcrd.c:196,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zcrd.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 3
    argNames:
    - mem
    - op
    - pcprocs
    argTypes:
    - gs_memory_t*
    - os_ptr
    - ref_cie_render_procs*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 201
    functionName: zcrd1_proc_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 1
    functionsReached:
    - make_null
    - dict_proc3_param
    - dict_find_string
    - r_space
    - make_const_array
    - return_error
    - gs_note_error
    - check_proc_only
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: "int zcrd1_proc_params(const gs_memory_t *mem,\n                  os_ptr
      op, ref_cie_render_procs * pcprocs)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:213,1
    - Dst: zcrd1_proc_params
      Src: /src/libspectre/ghostscript/psi/zcrd.c:215,1
    - Dst: dict_matrix3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:218,1
    - Dst: dict_range3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:220,1
    - Dst: dict_matrix3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:222,1
    - Dst: dict_range3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:224,1
    - Dst: cie_points_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:226,1
    - Dst: dict_matrix3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:228,1
    - Dst: dict_range3_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:230,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zcrd.c:233,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:236,1
    - Dst: check_type_only
      Src: /src/libspectre/ghostscript/psi/zcrd.c:239,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:241,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zcrd.c:244,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:245,1
    - Dst: cie_table_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:246,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 40
    argCount: 4
    argNames:
    - op
    - pcrd
    - pcprocs
    - mem
    argTypes:
    - os_ptr
    - gs_cie_render*
    - ref_cie_render_procs*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 257
    functionName: zcrd1_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 1
    functionsReached:
    - check_type_only
    - cie_points_param
    - dict_int_param
    - dict_matrix3_param
    - dict_find_string
    - return_error
    - cie_table_param
    - dict_range3_param
    - zcrd1_proc_params
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: "int zcrd1_params(os_ptr op, gs_cie_render * pcrd,\n             ref_cie_render_procs
      * pcprocs, gs_memory_t * mem)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentcolorrendering
      Src: /src/libspectre/ghostscript/psi/zcrd.c:270,1
    - Dst: gx_unshare_cie_caches
      Src: /src/libspectre/ghostscript/psi/zcrd.c:271,1
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zcrd.c:272,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:281,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zcrd.c:282,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/psi/zcrd.c:287,1
    - Dst: gs_cie_compute_points_sd
      Src: /src/libspectre/ghostscript/psi/zcrd.c:289,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:290,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zcrd.c:295,1
    - Dst: cie_cache_push_finish
      Src: /src/libspectre/ghostscript/psi/zcrd.c:296,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zcrd.c:301,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:307,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:309,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/zcrd.c:311,1
    - Dst: make_oper
      Src: /src/libspectre/ghostscript/psi/zcrd.c:312,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zcrd.c:314,1
    - Dst: cie_prepare_cache3
      Src: /src/libspectre/ghostscript/psi/zcrd.c:316,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 4
    argNames:
    - i_ctx_p
    - pcrprocs
    - pcie
    - pgs
    argTypes:
    - i_ctx_t*
    - ref_cie_render_procs*
    - gs_cie_common*
    - gs_gstate*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 320
    functionName: cie_cache_joint
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 2
    functionsReached:
    - gx_unshare_cie_caches
    - make_oper
    - r_has_type
    - cie_cache_push_finish
    - ialloc_ref_array
    - make_array
    - cie_prepare_cache3
    - gs_gstate_memory
    - gs_cie_cs_complete
    - gs_currentcolorrendering
    - return_error
    - r_space
    - gs_cie_compute_points_sd
    - check_estack
    - make_real
    linkageType: ''
    returnType: int
    signature: "int cie_cache_joint(i_ctx_t *i_ctx_p, const ref_cie_render_procs *
      pcrprocs,\n                const gs_cie_common *pcie, gs_gstate * pgs)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zcrd.c:329,1
    - Dst: check_op
      Src: /src/libspectre/ghostscript/psi/zcrd.c:332,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zcrd.c:333,1
    - Dst: make_const_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:337,1
    - Dst: make_mark
      Src: /src/libspectre/ghostscript/psi/zcrd.c:339,1
    - Dst: zexec
      Src: /src/libspectre/ghostscript/psi/zcrd.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 341
    functionName: cie_exec_tpqr
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - check_op
    - make_const_array
    - make_mark
    - push
    - zexec
    - r_space
    linkageType: ''
    returnType: int
    signature: int cie_exec_tpqr(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_counttomark
      Src: /src/libspectre/ghostscript/psi/zcrd.c:349,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:353,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/zcrd.c:355,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 358
    functionName: cie_post_exec_tpqr
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - return_error
    - ref_stack_pop
    - ref_stack_counttomark
    linkageType: ''
    returnType: int
    signature: int cie_post_exec_tpqr(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zcrd.c:365,1
    - Dst: gs_currentcolorrendering
      Src: /src/libspectre/ghostscript/psi/zcrd.c:367,1
    - Dst: ifree_ref_array
      Src: /src/libspectre/ghostscript/psi/zcrd.c:370,1
    - Dst: gs_cie_cs_complete
      Src: /src/libspectre/ghostscript/psi/zcrd.c:372,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcrd.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 375
    functionName: cie_tpqr_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - ifree_ref_array
    - gs_cie_cs_complete
    - r_ptr
    - gs_currentcolorrendering
    - pop
    linkageType: ''
    returnType: int
    signature: int cie_tpqr_finish(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: real_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:394,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zcrd.c:400,1
    - Dst: real_param
      Src: /src/libspectre/ghostscript/psi/zcrd.c:402,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zcrd.c:407,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zcrd.c:409,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zcrd.c:410,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - i_ctx_p
    - idx
    argTypes:
    - i_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 412
    functionName: ztpqr_scale_wb_common
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - real_param
    - pop
    - array_get
    - return_error
    - make_real
    linkageType: ''
    returnType: int
    signature: int ztpqr_scale_wb_common(i_ctx_t *i_ctx_p, int idx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ztpqr_scale_wb_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:418,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 419
    functionName: ztpqr_scale_wb0
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - ztpqr_scale_wb_common
    linkageType: ''
    returnType: int
    signature: int ztpqr_scale_wb0(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ztpqr_scale_wb_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 426
    functionName: ztpqr_scale_wb1
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - ztpqr_scale_wb_common
    linkageType: ''
    returnType: int
    signature: int ztpqr_scale_wb1(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ztpqr_scale_wb_common
      Src: /src/libspectre/ghostscript/psi/zcrd.c:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 429
    functionDepth: 2
    functionLinenumber: 429
    functionLinenumberEnd: 433
    functionName: ztpqr_scale_wb2
    functionSourceFile: /src/libspectre/ghostscript/psi/zcrd.c
    functionUses: 0
    functionsReached:
    - ztpqr_scale_wb_common
    linkageType: ''
    returnType: int
    signature: int ztpqr_scale_wb2(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pvalue
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: dtop_can_store
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dtop_can_store(pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: dict_set_top
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_set_top()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pdict
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 40
    functionName: dict_is_permanent_on_dstack
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_is_permanent_on_dstack(pdict)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: dicts_gc_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dicts_gc_cleanup()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: check_dstack
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: check_dstack(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nidx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    functionName: dict_find_name_by_index
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_find_name_by_index(nidx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - pnref
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    functionName: dict_find_name
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_find_name(pnref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nidx
    - ','
    - htemp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: dict_find_name_by_index_inline
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dict_find_name_by_index_inline(nidx, htemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nidx
    - ','
    - htemp
    - ','
    - pvslot
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: if_dict_find_name_by_index_top
    functionSourceFile: /src/libspectre/ghostscript/psi/dstack.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: if_dict_find_name_by_index_top(nidx, htemp, pvslot)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PeekMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:62,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:63,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 70
    functionName: poll
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 16
    functionsReached:
    - TranslateMessage
    - DispatchMessage
    - PeekMessage
    linkageType: ''
    returnType: int
    signature: int poll(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_read_line
      Src: /src/libspectre/ghostscript/psi/dwmain.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - instance
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: gsdll_stdin
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - text_read_line
    linkageType: ''
    returnType: int
    signature: int gsdll_stdin(void *instance, char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_write_buf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 85
    functionName: gsdll_stdout
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 1
    functionsReached:
    - text_write_buf
    linkageType: ''
    returnType: int
    signature: int gsdll_stdout(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_write_buf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - instance
    - str
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    functionName: gsdll_stderr
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - text_write_buf
    linkageType: ''
    returnType: int
    signature: int gsdll_stderr(void *instance, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: poll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: gsdll_poll
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 5
    functionsReached:
    - poll
    linkageType: ''
    returnType: int
    signature: int gsdll_poll(void *handle)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwmain.c:106,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:106,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:108,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwmain.c:109,1
    - Dst: add_control_path
      Src: /src/libspectre/ghostscript/psi/dwmain.c:114,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwmain.c:115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - pathfile
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 121
    functionName: dwmain_add_file_control_path
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - wchar_to_utf8
    - strlen
    - malloc
    - add_control_path
    - free
    linkageType: ''
    returnType: int
    signature: int dwmain_add_file_control_path(const TCHAR *pathfile)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwmain.c:126,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:126,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:128,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwmain.c:129,1
    - Dst: remove_control_path
      Src: /src/libspectre/ghostscript/psi/dwmain.c:134,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwmain.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - pathfile
    argTypes:
    - TCHAR*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 122
    functionDepth: 5
    functionLinenumber: 122
    functionLinenumberEnd: 137
    functionName: dwmain_remove_file_control_path
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - wchar_to_utf8
    - strlen
    - malloc
    - free
    - remove_control_path
    linkageType: ''
    returnType: void
    signature: void dwmain_remove_file_control_path(const TCHAR *pathfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:153,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:154,1
    - Dst: image_new
      Src: /src/libspectre/ghostscript/psi/dwmain.c:156,1
    - Dst: image_open
      Src: /src/libspectre/ghostscript/psi/dwmain.c:158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: display_open
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 1
    functionsReached:
    - image_open
    - sprintf
    - image_new
    - text_puts
    linkageType: ''
    returnType: int
    signature: int display_open(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:168,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: display_preclose
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - sprintf
    - text_puts
    linkageType: ''
    returnType: int
    signature: int display_preclose(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:182,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:183,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:185,1
    - Dst: image_delete
      Src: /src/libspectre/ghostscript/psi/dwmain.c:187,1
    - Dst: image_close
      Src: /src/libspectre/ghostscript/psi/dwmain.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 191
    functionName: display_close
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - sprintf
    - text_puts
    - image_close
    - image_find
    - image_delete
    linkageType: ''
    returnType: int
    signature: int display_close(void *handle, void *device)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:200,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 206
    functionName: display_presize
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - sprintf
    - text_puts
    linkageType: ''
    returnType: int
    signature: "int display_presize(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:216,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:219,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:221,1
    - Dst: image_size
      Src: /src/libspectre/ghostscript/psi/dwmain.c:223,1
    - Dst: image_updatesize
      Src: /src/libspectre/ghostscript/psi/dwmain.c:224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - handle
    - device
    - width
    - height
    - raster
    - format
    - pimage
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - unsigned int
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 227
    functionName: display_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - sprintf
    - text_puts
    - image_updatesize
    - image_find
    - image_size
    linkageType: ''
    returnType: int
    signature: "int display_size(void *handle, void *device, int width, int height,\n
      \       int raster, unsigned int format, unsigned char *pimage)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:235,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:236,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:238,1
    - Dst: image_sync
      Src: /src/libspectre/ghostscript/psi/dwmain.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - device
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 242
    functionName: display_sync
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 4
    functionsReached:
    - image_find
    - sprintf
    - image_sync
    - text_puts
    linkageType: ''
    returnType: int
    signature: int display_sync(void *handle, void *device)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:251,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:253,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:255,1
    - Dst: image_page
      Src: /src/libspectre/ghostscript/psi/dwmain.c:257,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - handle
    - device
    - copies
    - flush
    argTypes:
    - void*
    - void*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 259
    functionName: display_page
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - image_page
    - image_find
    - sprintf
    - text_puts
    linkageType: ''
    returnType: int
    signature: int display_page(void *handle, void *device, int copies, int flush)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:267,1
    - Dst: image_poll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:269,1
    - Dst: poll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:270,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - handle
    - device
    - x
    - y
    - w
    - h
    argTypes:
    - void*
    - void*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 271
    functionName: display_update
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - poll
    - image_find
    - image_poll
    linkageType: ''
    returnType: int
    signature: "int display_update(void *handle, void *device,\n    int x, int y,
      int w, int h)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:280,1
    - Dst: image_find
      Src: /src/libspectre/ghostscript/psi/dwmain.c:283,1
    - Dst: image_separation
      Src: /src/libspectre/ghostscript/psi/dwmain.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 8
    argNames:
    - handle
    - device
    - comp_num
    - name
    - c
    - m
    - y
    - k
    argTypes:
    - void*
    - void*
    - int
    - char*
    - unsigned short
    - unsigned short
    - unsigned short
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 287
    functionName: display_separation
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - image_find
    - fprintf
    - image_separation
    linkageType: ''
    returnType: int
    signature: "int display_separation(void *handle, void *device,\n   int comp_num,
      const char *name,\n   unsigned short c, unsigned short m,\n   unsigned short
      y, unsigned short k)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dwmain.c:320,1
    - Dst: load_dll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:321,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:322,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:323,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:324,1
    - Dst: new_instance
      Src: /src/libspectre/ghostscript/psi/dwmain.c:328,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:329,1
    - Dst: set_stdio
      Src: /src/libspectre/ghostscript/psi/dwmain.c:333,1
    - Dst: set_poll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:334,1
    - Dst: set_display_callback
      Src: /src/libspectre/ghostscript/psi/dwmain.c:335,1
    - Dst: GetDC
      Src: /src/libspectre/ghostscript/psi/dwmain.c:340,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/psi/dwmain.c:341,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/psi/dwmain.c:341,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:342,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/psi/dwmain.c:342,1
    - Dst: ReleaseDC
      Src: /src/libspectre/ghostscript/psi/dwmain.c:343,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:360,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwmain.c:363,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dwmain.c:367,1
    - Dst: set_arg_encoding
      Src: /src/libspectre/ghostscript/psi/dwmain.c:372,1
    - Dst: init_with_args
      Src: /src/libspectre/ghostscript/psi/dwmain.c:374,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/dwmain.c:376,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/psi/dwmain.c:377,1
    - Dst: exception_code
      Src: /src/libspectre/ghostscript/psi/dwmain.c:381,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:383,1
    - Dst: text_clear_drag_and_drop_list
      Src: /src/libspectre/ghostscript/psi/dwmain.c:386,1
    - Dst: delete_instance
      Src: /src/libspectre/ghostscript/psi/dwmain.c:387,1
    - Dst: unload_dll
      Src: /src/libspectre/ghostscript/psi/dwmain.c:389,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwmain.c:391,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 309
    functionDepth: 5
    functionLinenumber: 309
    functionLinenumberEnd: 407
    functionName: new_main
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - set_poll
    - delete_instance
    - set_stdio
    - GetDC
    - run_string
    - unload_dll
    - load_dll
    - new_instance
    - GetDeviceCaps
    - memset
    - text_clear_drag_and_drop_list
    - set_arg_encoding
    - text_puts
    - malloc
    - free
    - ReleaseDC
    - sprintf
    - init_with_args
    - exception_code
    - memcpy
    - set_display_callback
    - exit
    linkageType: ''
    returnType: int
    signature: int new_main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetPrivateProfileString
      Src: /src/libspectre/ghostscript/psi/dwmain.c:417,1
    - Dst: GetPrivateProfileInt
      Src: /src/libspectre/ghostscript/psi/dwmain.c:418,1
    - Dst: text_font
      Src: /src/libspectre/ghostscript/psi/dwmain.c:421,1
    - Dst: WritePrivateProfileString
      Src: /src/libspectre/ghostscript/psi/dwmain.c:424,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:425,1
    - Dst: WritePrivateProfileString
      Src: /src/libspectre/ghostscript/psi/dwmain.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 427
    functionName: set_font
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 6
    functionsReached:
    - sprintf
    - WritePrivateProfileString
    - GetPrivateProfileString
    - GetPrivateProfileInt
    - text_font
    linkageType: ''
    returnType: void
    signature: void set_font(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LoadLibrary
      Src: /src/libspectre/ghostscript/psi/dwmain.c:436,1
    - Dst: TEXT
      Src: /src/libspectre/ghostscript/psi/dwmain.c:436,1
    - Dst: GetProcAddress
      Src: /src/libspectre/ghostscript/psi/dwmain.c:439,1
    - Dst: ptr
      Src: /src/libspectre/ghostscript/psi/dwmain.c:441,1
    - Dst: FreeLibrary
      Src: /src/libspectre/ghostscript/psi/dwmain.c:442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 431
    functionDepth: 0
    functionLinenumber: 431
    functionLinenumberEnd: 443
    functionName: avoid_windows_scale
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - GetProcAddress
    - ptr
    - TEXT
    - LoadLibrary
    - FreeLibrary
    linkageType: ''
    returnType: void
    signature: void avoid_windows_scale(void)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: avoid_windows_scale
      Src: /src/libspectre/ghostscript/psi/dwmain.c:465,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/psi/dwmain.c:471,1
    - Dst: GetCommandLineW
      Src: /src/libspectre/ghostscript/psi/dwmain.c:488,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwmain.c:489,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:489,1
    - Dst: wchar_to_utf8
      Src: /src/libspectre/ghostscript/psi/dwmain.c:491,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwmain.c:495,1
    - Dst: lstrlen
      Src: /src/libspectre/ghostscript/psi/dwmain.c:495,1
    - Dst: fprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:497,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwmain.c:531,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwmain.c:533,1
    - Dst: GetModuleFileName
      Src: /src/libspectre/ghostscript/psi/dwmain.c:534,1
    - Dst: text_new
      Src: /src/libspectre/ghostscript/psi/dwmain.c:538,1
    - Dst: MessageBox
      Src: /src/libspectre/ghostscript/psi/dwmain.c:540,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/psi/dwmain.c:547,1
    - Dst: MAKEINTRESOURCE
      Src: /src/libspectre/ghostscript/psi/dwmain.c:547,1
    - Dst: text_register_class
      Src: /src/libspectre/ghostscript/psi/dwmain.c:548,1
    - Dst: set_font
      Src: /src/libspectre/ghostscript/psi/dwmain.c:550,1
    - Dst: text_size
      Src: /src/libspectre/ghostscript/psi/dwmain.c:551,1
    - Dst: text_drag
      Src: /src/libspectre/ghostscript/psi/dwmain.c:552,1
    - Dst: win_get_reg_value
      Src: /src/libspectre/ghostscript/psi/dwmain.c:553,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:554,1
    - Dst: text_setpos
      Src: /src/libspectre/ghostscript/psi/dwmain.c:555,1
    - Dst: text_create
      Src: /src/libspectre/ghostscript/psi/dwmain.c:559,1
    - Dst: exit
      Src: /src/libspectre/ghostscript/psi/dwmain.c:560,1
    - Dst: text_get_handle
      Src: /src/libspectre/ghostscript/psi/dwmain.c:562,1
    - Dst: image_textwindow
      Src: /src/libspectre/ghostscript/psi/dwmain.c:563,1
    - Dst: new_main
      Src: /src/libspectre/ghostscript/psi/dwmain.c:565,1
    - Dst: text_puts
      Src: /src/libspectre/ghostscript/psi/dwmain.c:570,1
    - Dst: IsIconic
      Src: /src/libspectre/ghostscript/psi/dwmain.c:571,1
    - Dst: text_get_handle
      Src: /src/libspectre/ghostscript/psi/dwmain.c:571,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/psi/dwmain.c:572,1
    - Dst: text_get_handle
      Src: /src/libspectre/ghostscript/psi/dwmain.c:572,1
    - Dst: BringWindowToTop
      Src: /src/libspectre/ghostscript/psi/dwmain.c:573,1
    - Dst: text_get_handle
      Src: /src/libspectre/ghostscript/psi/dwmain.c:573,1
    - Dst: FlashWindow
      Src: /src/libspectre/ghostscript/psi/dwmain.c:574,1
    - Dst: text_get_handle
      Src: /src/libspectre/ghostscript/psi/dwmain.c:574,1
    - Dst: GetMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:576,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:577,1
    - Dst: DispatchMessage
      Src: /src/libspectre/ghostscript/psi/dwmain.c:578,1
    - Dst: text_getpos
      Src: /src/libspectre/ghostscript/psi/dwmain.c:583,1
    - Dst: sprintf
      Src: /src/libspectre/ghostscript/psi/dwmain.c:584,1
    - Dst: win_set_reg_value
      Src: /src/libspectre/ghostscript/psi/dwmain.c:585,1
    - Dst: text_destroy
      Src: /src/libspectre/ghostscript/psi/dwmain.c:588,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 4
    argNames:
    - hInstance
    - hPrevInstance
    - lpszCmdLine
    - cmdShow
    argTypes:
    - HINSTANCE
    - HINSTANCE
    - LPSTR
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 445
    functionDepth: 6
    functionLinenumber: 445
    functionLinenumberEnd: 592
    functionName: WinMain
    functionSourceFile: /src/libspectre/ghostscript/psi/dwmain.c
    functionUses: 0
    functionsReached:
    - BringWindowToTop
    - sscanf
    - MessageBox
    - strlen
    - FlashWindow
    - GetModuleFileName
    - win_get_reg_value
    - fprintf
    - avoid_windows_scale
    - GetMessage
    - text_new
    - text_drag
    - set_font
    - wchar_to_utf8
    - lstrlen
    - text_setpos
    - ShowWindow
    - text_size
    - TranslateMessage
    - DispatchMessage
    - LoadIcon
    - text_puts
    - image_textwindow
    - MAKEINTRESOURCE
    - GetCommandLineW
    - malloc
    - free
    - text_register_class
    - IsIconic
    - win_set_reg_value
    - text_getpos
    - sprintf
    - text_destroy
    - text_create
    - new_main
    - text_get_handle
    - exit
    linkageType: ''
    returnType: int
    signature: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpszCmdLine,
      int cmdShow)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - mem
    - ','
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    functionName: puts
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 455
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: puts(mem, str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imainarg.c:120,1
    - Dst: lib_fopen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - fname
    - vminst
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 8
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: gs_main_arg_fopen
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - lib_fopen
    - gs_main_set_lib_paths
    linkageType: ''
    returnType: gp_file
    signature: 'gp_file *

      gs_main_arg_fopen(const char *fname, void *vminst)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - flags
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 131
    functionName: set_debug_flags
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_debug_flags(const char *arg, char *flags)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: arg_init
      Src: /src/libspectre/ghostscript/psi/imainarg.c:142,1
    - Dst: gs_main_init0
      Src: /src/libspectre/ghostscript/psi/imainarg.c:148,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/psi/imainarg.c:160,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/imainarg.c:163,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/psi/imainarg.c:165,1
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imainarg.c:171,1
    - Dst: arg_strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:180,1
    - Dst: arg_strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:185,1
    - Dst: print_help
      Src: /src/libspectre/ghostscript/psi/imainarg.c:186,1
    - Dst: arg_strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:188,1
    - Dst: gs_debug_flags_list
      Src: /src/libspectre/ghostscript/psi/imainarg.c:189,1
    - Dst: arg_strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:191,1
    - Dst: print_version
      Src: /src/libspectre/ghostscript/psi/imainarg.c:192,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:193,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/psi/imainarg.c:207,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/imainarg.c:211,1
    - Dst: gp_getenv
      Src: /src/libspectre/ghostscript/psi/imainarg.c:213,1
    - Dst: arg_push_decoded_memory_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:214,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:218,1
    - Dst: gs_lib_ctx_stash_sanitized_arg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:219,1
    - Dst: swproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:224,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:228,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:232,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:235,1
    - Dst: dmprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:236,1
    - Dst: argproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:242,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:251,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:254,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imainarg.c:259,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:263,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 84
    argCount: 3
    argNames:
    - minst
    - argc
    - argv
    argTypes:
    - gs_main_instance*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 133
    functionDepth: 8
    functionLinenumber: 133
    functionLinenumberEnd: 270
    functionName: gs_main_init_with_args01
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes
    - arg_init
    - print_help
    - swproc
    - arg_strcmp
    - gs_lib_ctx_stash_sanitized_arg
    - argproc
    - arg_push_decoded_memory_string
    - dmprintf
    - gs_main_init0
    - gs_erasepage
    - arg_next
    - dev_proc
    - gp_getenv
    - puts
    - gs_debug_flags_list
    - print_version
    - outprintf
    - dmprintf1
    - gs_currentdevice
    - gx_saved_pages_param_process
    - gs_main_set_lib_paths
    linkageType: ''
    returnType: int
    signature: int gs_main_init_with_args01(gs_main_instance * minst, int argc, char
      *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 284
    functionName: gs_main_init_with_args2
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - gs_main_init2
    linkageType: ''
    returnType: int
    signature: int gs_main_init_with_args2(gs_main_instance * minst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_init_with_args01
      Src: /src/libspectre/ghostscript/psi/imainarg.c:289,1
    - Dst: gs_main_init_with_args2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - minst
    - argc
    - argv
    argTypes:
    - gs_main_instance*
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 286
    functionDepth: 9
    functionLinenumber: 286
    functionLinenumberEnd: 294
    functionName: gs_main_init_with_args
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - gs_main_init_with_args01
    - gs_main_init_with_args2
    linkageType: ''
    returnType: int
    signature: int gs_main_init_with_args(gs_main_instance * minst, int argc, char
      *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - minst
    - get_codepoint
    argTypes:
    - gs_main_instance*
    - gs_arg_get_codepoint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 303
    functionName: gs_main_inst_arg_decode
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void gs_main_inst_arg_decode(gs_main_instance * minst,\n                             gs_arg_get_codepoint
      *get_codepoint)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 308
    functionName: gs_main_inst_get_arg_decode
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: gs_arg_get_codepoint
    signature: gs_arg_get_codepoint *gs_main_inst_get_arg_decode(gs_main_instance
      * minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 317
    functionName: gs_main_run_start
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - run_string
    linkageType: ''
    returnType: int
    signature: int gs_main_run_start(gs_main_instance * minst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:323,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - match
    - match_len
    argTypes:
    - char**
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 333
    functionName: do_arg_match
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - strncmp
    linkageType: ''
    returnType: int
    signature: int do_arg_match(const char **arg, const char *match, size_t match_len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - A
    - ','
    - B
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 336
    functionName: arg_match
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: arg_match(A, B)
  - BBCount: 151
    BranchProfiles: []
    Callsites:
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imainarg.c:346,1
    - Dst: swproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:360,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:363,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:367,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:377,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:380,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imainarg.c:385,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:389,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:394,1
    - Dst: gs_debug_flags_parse
      Src: /src/libspectre/ghostscript/psi/imainarg.c:395,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:399,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/imainarg.c:406,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:407,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:410,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:412,1
    - Dst: arg_finit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:414,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:418,1
    - Dst: arg_finit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:420,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:428,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:429,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:430,1
    - Dst: arg_finit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:433,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:439,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imainarg.c:444,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:445,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:448,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:453,1
    - Dst: arg_match
      Src: /src/libspectre/ghostscript/psi/imainarg.c:457,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:458,1
    - Dst: arg_match
      Src: /src/libspectre/ghostscript/psi/imainarg.c:461,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:462,1
    - Dst: arg_match
      Src: /src/libspectre/ghostscript/psi/imainarg.c:465,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:466,1
    - Dst: arg_match
      Src: /src/libspectre/ghostscript/psi/imainarg.c:469,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:470,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:472,1
    - Dst: gs_add_explicit_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:474,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:480,1
    - Dst: arg_finit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:483,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:494,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:500,1
    - Dst: arg_finit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:501,1
    - Dst: arg_copy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:504,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:508,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:510,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:512,1
    - Dst: gs_lib_ctx_stash_sanitized_arg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:513,1
    - Dst: runarg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:516,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:521,1
    - Dst: argproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:523,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:524,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:536,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:539,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:551,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:555,1
    - Dst: isdigit
      Src: /src/libspectre/ghostscript/psi/imainarg.c:557,1
    - Dst: gs_lib_ctx_stash_sanitized_arg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:560,1
    - Dst: runarg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:563,1
    - Dst: arg_copy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:570,1
    - Dst: arg_push_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:573,1
    - Dst: argproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:580,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:590,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:593,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imainarg.c:598,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:602,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:609,1
    - Dst: argproc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:615,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:626,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imainarg.c:629,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imainarg.c:634,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:638,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:647,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:649,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:650,1
    - Dst: gs_main_force_dimensions
      Src: /src/libspectre/ghostscript/psi/imainarg.c:653,1
    - Dst: print_help
      Src: /src/libspectre/ghostscript/psi/imainarg.c:658,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:665,1
    - Dst: gs_lib_ctx_stash_sanitized_arg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:668,1
    - Dst: gs_main_add_lib_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:675,1
    - Dst: gs_malloc_wrapped_contents
      Src: /src/libspectre/ghostscript/psi/imainarg.c:681,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:683,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:685,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:696,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:698,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:708,1
    - Dst: nsize < 2 || nsize >
      Src: /src/libspectre/ghostscript/psi/imainarg.c:709,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:710,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:725,1
    - Dst: arg_next
      Src: /src/libspectre/ghostscript/psi/imainarg.c:731,1
    - Dst: gs_lib_ctx_stash_sanitized_arg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:736,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:741,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:744,1
    - Dst: gs_add_outputfile_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:745,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imainarg.c:749,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:750,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:751,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:754,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:755,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imainarg.c:756,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imainarg.c:757,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imainarg.c:758,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imainarg.c:759,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:763,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:765,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:768,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:773,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imainarg.c:775,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:781,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:783,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:785,1
    - Dst: gs_main_force_resolutions
      Src: /src/libspectre/ghostscript/psi/imainarg.c:791,1
    - Dst: arg_copy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:800,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:807,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:810,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:813,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:814,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:818,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:819,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imainarg.c:824,1
    - Dst: make_empty_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:826,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:834,1
    - Dst: strncmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:834,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:834,1
    - Dst: gs_add_outputfile_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:835,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imainarg.c:839,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:847,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:847,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:848,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:848,1
    - Dst: sscanf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:849,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:850,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imainarg.c:870,1
    - Dst: s_init
      Src: /src/libspectre/ghostscript/psi/imainarg.c:876,1
    - Dst: sread_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:877,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:878,1
    - Dst: gs_scanner_init_stream
      Src: /src/libspectre/ghostscript/psi/imainarg.c:879,1
    - Dst: gs_scan_token
      Src: /src/libspectre/ghostscript/psi/imainarg.c:880,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:882,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:883,1
    - Dst: r_has_type_attrs
      Src: /src/libspectre/ghostscript/psi/imainarg.c:886,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/imainarg.c:890,1
    - Dst: string_is
      Src: /src/libspectre/ghostscript/psi/imainarg.c:895,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/imainarg.c:896,1
    - Dst: string_is
      Src: /src/libspectre/ghostscript/psi/imainarg.c:897,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imainarg.c:898,1
    - Dst: string_is
      Src: /src/libspectre/ghostscript/psi/imainarg.c:899,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/imainarg.c:900,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:902,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:903,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:909,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:910,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:913,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:914,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:917,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:918,1
    - Dst: try_stdout_redirect
      Src: /src/libspectre/ghostscript/psi/imainarg.c:919,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:920,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imainarg.c:924,1
    - Dst: i_initial_enter_name_copy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:927,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:928,1
    - Dst: arg_copy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:933,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:938,1
    - Dst: strchr
      Src: /src/libspectre/ghostscript/psi/imainarg.c:941,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:943,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:944,1
    - Dst: gsapi_set_param
      Src: /src/libspectre/ghostscript/psi/imainarg.c:950,1
    - Dst: gs_lib_ctx_get_interp_instance
      Src: /src/libspectre/ghostscript/psi/imainarg.c:950,1
    - Dst: arg_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:953,1
    - Dst: puts
      Src: /src/libspectre/ghostscript/psi/imainarg.c:960,1
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:963,1
    - Dst: i_initial_remove_name
      Src: /src/libspectre/ghostscript/psi/imainarg.c:965,1
    - Dst: print_revision
      Src: /src/libspectre/ghostscript/psi/imainarg.c:968,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:976,1
    - Dst: start_x
      Src: /src/libspectre/ghostscript/psi/imainarg.c:989,1
    - Dst: run_x
      Src: /src/libspectre/ghostscript/psi/imainarg.c:990,1
    - Dst: run_x
      Src: /src/libspectre/ghostscript/psi/imainarg.c:991,1
    - Dst: stop_x
      Src: /src/libspectre/ghostscript/psi/imainarg.c:992,1
    - Dst: set_debug_flags
      Src: /src/libspectre/ghostscript/psi/imainarg.c:997,1
    CyclomaticComplexity: 170
    EdgeCount: 170
    ICount: 497
    argCount: 3
    argNames:
    - minst
    - arg
    - pal
    argTypes:
    - gs_main_instance*
    - char*
    - arg_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 339
    functionDepth: 8
    functionLinenumber: 339
    functionLinenumberEnd: 1001
    functionName: swproc
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - sscanf
    - swproc
    - gs_alloc_bytes
    - print_help
    - strlen
    - i_initial_enter_name_copy
    - ialloc_string
    - string_is
    - sread_string
    - i_initial_enter_name
    - make_const_string
    - r_has_type_attrs
    - arg_free
    - make_null
    - arg_finit
    - run_x
    - stop_x
    - run_string
    - gs_malloc_wrapped_contents
    - gs_main_force_dimensions
    - set_debug_flags
    - start_x
    - gs_lib_ctx_stash_sanitized_arg
    - argproc
    - gs_main_init1
    - arg_match
    - gs_scan_token
    - name_string_ref
    - gs_main_init2
    - make_true
    - gs_main_force_resolutions
    - strcmp
    - lprintf
    - nsize < 2 || nsize >
    - gs_lib_ctx_get_interp_instance
    - gs_erasepage
    - runarg
    - make_empty_string
    - arg_next
    - s_init
    - arg_copy
    - dev_proc
    - make_false
    - gs_main_add_lib_path
    - gsapi_set_param
    - make_int
    - puts
    - print_revision
    - strcpy
    - outprintf
    - gs_add_explicit_control_path
    - strchr
    - gs_currentdevice
    - strncmp
    - gs_add_outputfile_control_path
    - gx_saved_pages_param_process
    - memcpy
    - gs_scanner_init_stream
    - try_stdout_redirect
    - i_initial_remove_name
    - arg_push_string
    - isdigit
    - ialloc_set_space
    - gs_debug_flags_parse
    linkageType: ''
    returnType: int
    signature: int swproc(gs_main_instance * minst, const char *arg, arg_list * pal)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nsref
    - ','
    - str
    - ','
    - len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 895
      start: 892
    functionDepth: 0
    functionLinenumber: 892
    functionLinenumberEnd: 895
    functionName: string_is
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: string_is(nsref, str, len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 983
    functionDepth: 0
    functionLinenumber: 983
    functionLinenumberEnd: 985
    functionName: start_x
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: start_x()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - str
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 985
    functionDepth: 0
    functionLinenumber: 985
    functionLinenumberEnd: 987
    functionName: run_x
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: run_x(str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 989
      start: 987
    functionDepth: 0
    functionLinenumber: 987
    functionLinenumberEnd: 989
    functionName: stop_x
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stop_x()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1007
    functionDepth: 0
    functionLinenumber: 1007
    functionLinenumberEnd: 1011
    functionName: esc_strlen
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - strlen
    linkageType: ''
    returnType: int
    signature: int esc_strlen(const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - dest
    - src
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: esc_strcat
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - strlen
    linkageType: ''
    returnType: void
    signature: void esc_strcat(char *dest, const char *src)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1034,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1039,1
    - Dst: run_buffered
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1044,1
    - Dst: runarg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1047,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1050,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 2
    argNames:
    - minst
    - arg
    argTypes:
    - gs_main_instance*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1031
    functionDepth: 3
    functionLinenumber: 1031
    functionLinenumberEnd: 1054
    functionName: argproc
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - gs_main_init1
    - gs_remove_control_path
    - runarg
    - gs_add_control_path
    - run_buffered
    linkageType: ''
    returnType: int
    signature: int argproc(gs_main_instance * minst, const char *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1058,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1064,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1065,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1067,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1069,1
    - Dst: gs_main_run_string_begin
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1072,1
    - Dst: gp_fread
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1079,1
    - Dst: gs_main_run_string_continue
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1080,1
    - Dst: gs_main_run_string_end
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1087,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1091,1
    - Dst: zflush
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1092,1
    - Dst: zflushpage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1093,1
    - Dst: run_finish
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1094,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - minst
    - arg
    argTypes:
    - gs_main_instance*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1055
    functionDepth: 3
    functionLinenumber: 1055
    functionLinenumberEnd: 1095
    functionName: run_buffered
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - gs_main_init2
    - run_finish
    - gs_main_run_string_continue
    - gp_fread
    - zflush
    - gs_main_run_string_end
    - outprintf
    - gp_fclose
    - return_error
    - gs_main_run_string_begin
    - gp_fopen
    - zflushpage
    linkageType: ''
    returnType: int
    signature: int run_buffered(gs_main_instance * minst, const char *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1106,1
    - Dst: esc_strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1106,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1106,1
    - Dst: gs_main_init2
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1111,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1116,1
    - Dst: lprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1118,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1119,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1121,1
    - Dst: esc_strcat
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1122,1
    - Dst: strcat
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1123,1
    - Dst: run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1125,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1127,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 8
    argNames:
    - minst
    - pre
    - arg
    - post
    - options
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - char*
    - char*
    - int
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1129
    functionName: runarg
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - gs_main_init2
    - strcat
    - gs_alloc_bytes
    - run_string
    - lprintf
    - strlen
    - strcpy
    - esc_strlen
    - return_error
    - esc_strcat
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: "int runarg(gs_main_instance *minst,\n       const char       *pre,\n
      \      const char       *arg,\n       const char       *post,\n       int               options,\n
      \      int               user_errors,\n       int              *pexit_code,\n
      \      ref              *perror_object)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1139,1
    - Dst: runarg
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1142,1
    - Dst: gs_remove_control_path
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 5
    argNames:
    - minst
    - filename
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1148
      start: 1130
    functionDepth: 3
    functionLinenumber: 1130
    functionLinenumberEnd: 1148
    functionName: gs_main_run_file2
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - gs_add_control_path
    - gs_remove_control_path
    - runarg
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_file2(gs_main_instance *minst,\n                  const
      char       *filename,\n                  int               user_errors,\n                  int
      \             *pexit_code,\n                  ref              *perror_object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1166,1
    - Dst: zflush
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1170,1
    - Dst: zflushpage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1171,1
    - Dst: run_finish
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1173,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 6
    argNames:
    - minst
    - str
    - options
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - int
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1174
    functionName: run_string
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 8
    functionsReached:
    - zflushpage
    - gs_main_run_string
    - zflush
    - run_finish
    linkageType: ''
    returnType: int
    signature: "int run_string(gs_main_instance *minst,\n           const char       *str,\n
      \          int               options,\n           int               user_errors,\n
      \          int              *pexit_code,\n           ref              *perror_object)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1187,1
    - Dst: gs_main_dump_stack
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - minst
    - code
    - exit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - int
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1175
    functionDepth: 1
    functionLinenumber: 1175
    functionLinenumberEnd: 1195
    functionName: run_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - gs_main_dump_stack
    - emprintf1
    linkageType: ''
    returnType: int
    signature: "int run_finish(gs_main_instance *minst, int code, int exit_code,\n
      \          ref * perror_object)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1211,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1218,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1219,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1220,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1224,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1225,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1225,1
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1226,1
    - Dst: gp_fopen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1229,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1231,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 3
    argNames:
    - minst
    - command
    - filename
    argTypes:
    - gs_main_instance*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1238
    functionName: try_stdout_redirect
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - strcmp
    - strlen
    - gp_get_file
    - gp_fclose
    - return_error
    - gp_fopen
    linkageType: ''
    returnType: int
    signature: "int try_stdout_redirect(gs_main_instance * minst,\n    const char
      *command, const char *filename)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: print_revision
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1282,1
    - Dst: print_usage
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1283,1
    - Dst: print_emulators
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1284,1
    - Dst: print_devices
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1285,1
    - Dst: print_paths
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1286,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1292,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1292,1
    - Dst: gx_io_device*::procs::file_status
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1295,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1303,1
    - Dst: print_help_trailer
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1305,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1306
    functionName: print_help
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - print_revision
    - print_paths
    - strlen
    - print_help_trailer
    - outprintf
    - print_usage
    - memcmp
    - print_devices
    - print_emulators
    - gx_io_device*::procs::file_status
    linkageType: ''
    returnType: void
    signature: void print_help(gs_main_instance * minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf_program_ident
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1312,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1318
      start: 1309
    functionDepth: 1
    functionLinenumber: 1309
    functionLinenumberEnd: 1318
    functionName: print_revision
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - printf_program_ident
    - outprintf
    linkageType: ''
    returnType: void
    signature: void print_revision(const gs_main_instance *minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf_program_ident
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1325
    functionName: print_version
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - printf_program_ident
    linkageType: ''
    returnType: void
    signature: void print_version(const gs_main_instance *minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1331,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1332,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1328
    functionDepth: 0
    functionLinenumber: 1328
    functionLinenumberEnd: 1336
    functionName: print_usage
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 2
    functionsReached:
    - outprintf
    linkageType: ''
    returnType: void
    signature: void print_usage(const gs_main_instance *minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1339
    functionDepth: 0
    functionLinenumber: 1339
    functionLinenumberEnd: 1343
    functionName: cmpstr
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 0
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: int
    signature: int cmpstr(const void *v1, const void *v2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1349,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1350,1
    - Dst: gs_devicename
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1350,1
    - Dst: gs_getdefaultdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1350,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1351,1
    - Dst: gs_getdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1359,1
    - Dst: gs_alloc_bytes
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1362,1
    - Dst: gs_getdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1364,1
    - Dst: gs_devicename
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1365,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1366,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1369,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1370,1
    - Dst: gs_getdevice
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1375,1
    - Dst: gs_devicename
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1376,1
    - Dst: qsort
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1377,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1379,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1382,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1383,1
    - Dst: gs_free
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1386,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1389,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1346
    functionDepth: 1
    functionLinenumber: 1346
    functionLinenumberEnd: 1390
    functionName: print_devices
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - qsort
    - gs_alloc_bytes
    - strlen
    - gs_getdevice
    - outprintf
    - gs_devicename
    - gs_free
    - gs_getdefaultdevice
    linkageType: ''
    returnType: void
    signature: void print_devices(const gs_main_instance *minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1396,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1400,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1401,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1403,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1393
    functionDepth: 0
    functionLinenumber: 1393
    functionLinenumberEnd: 1404
    functionName: print_emulators
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - strlen
    - outprintf
    linkageType: ''
    returnType: void
    signature: void print_emulators(const gs_main_instance *minst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1410,1
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1411,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1413,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1423,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1426,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1427,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1428,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1440,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1442,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1443,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1446,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1448
      start: 1407
    functionDepth: 1
    functionLinenumber: 1407
    functionLinenumberEnd: 1448
    functionName: print_paths
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - r_size
    - strlen
    - gs_main_set_lib_paths
    - outprintf
    linkageType: ''
    returnType: void
    signature: void print_paths(gs_main_instance * minst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gp_file_name_combine
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1458,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1458,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1459,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imainarg.c:1461,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1462
      start: 1451
    functionDepth: 0
    functionLinenumber: 1451
    functionLinenumberEnd: 1462
    functionName: print_help_trailer
    functionSourceFile: /src/libspectre/ghostscript/psi/imainarg.c
    functionUses: 1
    functionsReached:
    - gp_file_name_combine
    - strlen
    - outprintf
    linkageType: ''
    returnType: void
    signature: void print_help_trailer(const gs_main_instance *minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_arc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: zarc
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - common_arc
    linkageType: ''
    returnType: int
    signature: int zarc(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: common_arc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:45,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 46
    functionName: zarcn
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - common_arc
    linkageType: ''
    returnType: int
    signature: int zarcn(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zpath1.c:55,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath1.c:61,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 63
    functionName: common_arc
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 2
    functionsReached:
    - num_params
    - pop
    linkageType: ''
    returnType: int
    signature: "int common_arc(i_ctx_t *i_ctx_p,\n      int (*aproc)(gs_gstate *,
      double, double, double, double, double))"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common_arct
      Src: /src/libspectre/ghostscript/psi/zpath1.c:69,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath1.c:73,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 75
    functionName: zarct
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - common_arct
    - pop
    linkageType: ''
    returnType: int
    signature: int zarct(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: common_arct
      Src: /src/libspectre/ghostscript/psi/zpath1.c:83,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:87,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:88,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:89,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:90,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath1.c:91,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: zarcto
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - make_real
    - common_arct
    - pop
    linkageType: ''
    returnType: int
    signature: int zarcto(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zpath1.c:101,1
    - Dst: gs_arcto
      Src: /src/libspectre/ghostscript/psi/zpath1.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - i_ctx_p
    - tanxy
    argTypes:
    - i_ctx_t*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 96
    functionDepth: 6
    functionLinenumber: 96
    functionLinenumberEnd: 106
    functionName: common_arct
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 2
    functionsReached:
    - gs_arcto
    - num_params
    linkageType: ''
    returnType: int
    signature: int common_arct(i_ctx_t *i_ctx_p, float *tanxy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_dashpath
      Src: /src/libspectre/ghostscript/psi/zpath1.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 5
    functionLinenumber: 109
    functionLinenumberEnd: 113
    functionName: zdashpath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_dashpath
    linkageType: ''
    returnType: int
    signature: int zdashpath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_flattenpath
      Src: /src/libspectre/ghostscript/psi/zpath1.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 5
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: zflattenpath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_flattenpath
    linkageType: ''
    returnType: int
    signature: int zflattenpath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_reversepath
      Src: /src/libspectre/ghostscript/psi/zpath1.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: zreversepath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_reversepath
    linkageType: ''
    returnType: int
    signature: int zreversepath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_strokepath
      Src: /src/libspectre/ghostscript/psi/zpath1.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 134
    functionName: zstrokepath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_strokepath
    linkageType: ''
    returnType: int
    signature: int zstrokepath(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_clippath
      Src: /src/libspectre/ghostscript/psi/zpath1.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 137
    functionDepth: 6
    functionLinenumber: 137
    functionLinenumberEnd: 141
    functionName: zclippath
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_clippath
    linkageType: ''
    returnType: int
    signature: int zclippath(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zpath1.c:151,1
    - Dst: gs_upathbbox
      Src: /src/libspectre/ghostscript/psi/zpath1.c:152,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpath1.c:155,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:156,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:157,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:158,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 161
    functionName: z1pathbbox
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - gs_upathbbox
    - push
    - check_type
    - make_real
    linkageType: ''
    returnType: int
    signature: int z1pathbbox(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zpath1.c:174,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/zpath1.c:175,1
    - Dst: z1pathbbox
      Src: /src/libspectre/ghostscript/psi/zpath1.c:176,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath1.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 181
    functionName: zpathbbox
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - pop
    - push
    - z1pathbbox
    - make_false
    linkageType: ''
    returnType: int
    signature: int zpathbbox(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:193,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:194,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:195,1
    - Dst: check_proc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:196,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zpath1.c:197,1
    - Dst: gs_path_enum_alloc
      Src: /src/libspectre/ghostscript/psi/zpath1.c:199,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zpath1.c:200,1
    - Dst: gs_path_enum_init
      Src: /src/libspectre/ghostscript/psi/zpath1.c:201,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zpath1.c:203,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zpath1.c:207,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/zpath1.c:208,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zpath1.c:210,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zpath1.c:211,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zpath1.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 215
    functionName: zpathforall
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - ifree_object
    - make_istruct
    - gs_path_enum_alloc
    - push_mark_estack
    - gs_path_enum_init
    - check_proc
    - memcpy
    - pop
    - return_error
    - check_estack
    - push_op_estack
    linkageType: ''
    returnType: int
    signature: int zpathforall(i_ctx_t *i_ctx_p)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpath1.c:221,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zpath1.c:227,1
    - Dst: gs_path_enum_next
      Src: /src/libspectre/ghostscript/psi/zpath1.c:228,1
    - Dst: path_cleanup
      Src: /src/libspectre/ghostscript/psi/zpath1.c:232,1
    - Dst: path_cleanup
      Src: /src/libspectre/ghostscript/psi/zpath1.c:236,1
    - Dst: pf_push
      Src: /src/libspectre/ghostscript/psi/zpath1.c:240,1
    - Dst: pf_push
      Src: /src/libspectre/ghostscript/psi/zpath1.c:244,1
    - Dst: pf_push
      Src: /src/libspectre/ghostscript/psi/zpath1.c:248,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zpath1.c:254,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 257
    functionName: path_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 0
    functionsReached:
    - pf_push
    - r_ptr
    - push_op_estack
    - path_cleanup
    - check_ostack
    - gs_path_enum_next
    linkageType: ''
    returnType: int
    signature: int path_continue(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:266,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zpath1.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - i_ctx_p
    - ppts
    - n
    argTypes:
    - i_ctx_t*
    - gs_point*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 271
    functionName: pf_push
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 1
    functionsReached:
    - make_real
    linkageType: ''
    returnType: void
    signature: void pf_push(i_ctx_t *i_ctx_p, gs_point * ppts, int n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zpath1.c:276,1
    - Dst: gs_path_enum_cleanup
      Src: /src/libspectre/ghostscript/psi/zpath1.c:278,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zpath1.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 281
    functionName: path_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zpath1.c
    functionUses: 1
    functionsReached:
    - r_ptr
    - gs_path_enum_cleanup
    - ifree_object
    linkageType: ''
    returnType: int
    signature: int path_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pds
    - ','
    - pdref
    - ','
    - mem
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 73
    functionName: CAN_SET_PVALUE_CACHE
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CAN_SET_PVALUE_CACHE(pds, pdref, mem)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: real_dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:91,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:94,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:94,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:95,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:95,1
    - Dst: dict_hash_mod
      Src: /src/libspectre/ghostscript/psi/idict.c:97,1
    - Dst: dict_name_index_hash
      Src: /src/libspectre/ghostscript/psi/idict.c:97,1
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:97,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/idict.c:100,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/idict.c:104,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/idict.c:109,1
    - Dst: dlprintf3
      Src: /src/libspectre/ghostscript/psi/idict.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 3
    argNames:
    - pdref
    - pkey
    - ppvalue
    argTypes:
    - ref*
    - ref*
    - ref**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 113
    functionName: dict_find
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 24
    functionsReached:
    - name_index
    - dict_name_index_hash
    - gs_debug_c
    - dict_hash_mod
    - r_has_type
    - pt_tag
    - dict_is_packed
    - dict_mem
    - dlprintf3
    - real_dict_find
    - npairs
    linkageType: ''
    returnType: int
    signature: int dict_find(const ref * pdref, const ref * pkey, ref ** ppvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rsize
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 122
    functionName: dict_round_size_small
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint dict_round_size_small(uint rsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rsize
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: dict_round_size_large
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint dict_round_size_large(uint rsize)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:141,1
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/idict.c:149,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/idict.c:150,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/idict.c:150,1
    - Dst: make_struct
      Src: /src/libspectre/ghostscript/psi/idict.c:152,1
    - Dst: dict_create_contents
      Src: /src/libspectre/ghostscript/psi/idict.c:153,1
    - Dst: gs_free_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:155,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - mem
    - size
    - pdref
    argTypes:
    - gs_ref_memory_t*
    - uint
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 160
    functionName: dict_alloc
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 24
    functionsReached:
    - gs_alloc_ref_array
    - imemory_new_mask
    - dict_create_contents
    - make_struct
    - r_space
    - gs_free_ref_array
    - make_tav
    linkageType: ''
    returnType: int
    signature: int dict_alloc(gs_ref_memory_t * mem, uint size, ref * pdref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:167,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:170,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/idict.c:173,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:176,1
    - Dst: refset_null_new
      Src: /src/libspectre/ghostscript/psi/idict.c:177,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - asize
    - pdref
    argTypes:
    - uint
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 181
    functionName: dict_create_unpacked_keys
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached:
    - dict_memory
    - gs_alloc_ref_array
    - imemory_new_mask
    - refset_null_new
    - r_set_attrs
    linkageType: ''
    returnType: int
    signature: int dict_create_unpacked_keys(uint asize, const ref * pdref)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:189,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/idict.c:190,1
    - Dst: dict_round_size
      Src: /src/libspectre/ghostscript/psi/idict.c:191,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:196,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:198,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:202,1
    - Dst: refset_null_new
      Src: /src/libspectre/ghostscript/psi/idict.c:203,1
    - Dst: gs_alloc_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:210,1
    - Dst: make_tasv
      Src: /src/libspectre/ghostscript/psi/idict.c:215,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/idict.c:216,1
    - Dst: dict_create_unpacked_keys
      Src: /src/libspectre/ghostscript/psi/idict.c:222,1
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/idict.c:227,1
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/idict.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - size
    - pdref
    - pack
    argTypes:
    - uint
    - ref*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 230
    functionName: dict_create_contents
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 1
    functionsReached:
    - dict_memory
    - imemory_new_mask
    - gs_alloc_ref_array
    - make_tasv
    - refset_null_new
    - dict_create_unpacked_keys
    - r_set_attrs
    - return_error
    - r_space
    - dict_round_size
    - make_tav
    linkageType: ''
    returnType: int
    signature: int dict_create_contents(uint size, const ref * pdref, bool pack)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:241,1
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:244,1
    - Dst: nslots
      Src: /src/libspectre/ghostscript/psi/idict.c:245,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:252,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:253,1
    - Dst: dict_create_unpacked_keys
      Src: /src/libspectre/ghostscript/psi/idict.c:254,1
    - Dst: r_packed_is_name
      Src: /src/libspectre/ghostscript/psi/idict.c:258,1
    - Dst: packed_get
      Src: /src/libspectre/ghostscript/psi/idict.c:259,1
    - Dst: ref_mark_new_in
      Src: /src/libspectre/ghostscript/psi/idict.c:260,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:262,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:263,1
    - Dst: gs_free_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:264,1
    - Dst: dstack_set_top
      Src: /src/libspectre/ghostscript/psi/idict.c:266,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - pdref
    - pds
    argTypes:
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 269
    functionName: dict_unpack
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached:
    - dict_memory
    - r_packed_is_name
    - ref_mark_new_in
    - dict_create_unpacked_keys
    - ref_must_save_in
    - r_set_attrs
    - nslots
    - dict_is_packed
    - ref_do_save_in
    - packed_get
    - gs_free_ref_array
    - dstack_set_top
    linkageType: ''
    returnType: int
    signature: int dict_unpack(ref * pdref, dict_stack_t *pds)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:281,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:287,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/idict.c:291,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:293,1
    - Dst: dict_name_index_hash
      Src: /src/libspectre/ghostscript/psi/idict.c:295,1
    - Dst: packed_name_key
      Src: /src/libspectre/ghostscript/psi/idict.c:296,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/idict.c:304,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:305,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/idict.c:306,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/idict.c:306,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:309,1
    - Dst: frexp
      Src: /src/libspectre/ghostscript/psi/idict.c:318,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:339,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/idict.c:341,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:347,1
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:362,1
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:362,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:363,1
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:367,1
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:367,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:368,1
    - Dst: dict_hash_mod
      Src: /src/libspectre/ghostscript/psi/idict.c:379,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/idict.c:381,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:382,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:391,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/idict.c:395,1
    - Dst: obj_eq
      Src: /src/libspectre/ghostscript/psi/idict.c:401,1
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:407,1
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:407,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:408,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 92
    argCount: 3
    argNames:
    - pdref
    - pkey
    - ppvalue
    argTypes:
    - ref*
    - ref*
    - ref**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 413
    functionName: dict_find
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 24
    functionsReached:
    - r_type
    - name_index
    - dict_name_index_hash
    - r_has_attr
    - frexp
    - d_length
    - packed_name_key
    - d_maxlength
    - dict_hash_mod
    - r_size
    - name_ref
    - obj_eq
    - dict_mem
    - dict_is_packed
    - return_error
    - r_btype
    - npairs
    linkageType: ''
    returnType: int
    signature: "int dict_find(const ref * pdref, const ref * pkey,\n          ref
      ** ppvalue /* result is stored here */ )"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/idict.c:427,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:427,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/idict.c:428,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:430,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - pdref
    - kstr
    - ppvalue
    argTypes:
    - ref*
    - char*
    - ref**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 436
    functionName: dict_find_string
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 44
    functionsReached:
    - strlen
    - name_ref
    - dict_mem
    - dict_find
    - return_error
    linkageType: ''
    returnType: int
    signature: int dict_find_string(const ref * pdref, const char *kstr, ref ** ppvalue)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:447,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:448,1
    - Dst: store_check_dest
      Src: /src/libspectre/ghostscript/psi/idict.c:454,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:455,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:463,1
    - Dst: dict_grow
      Src: /src/libspectre/ghostscript/psi/idict.c:464,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:473,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/idict.c:476,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:477,1
    - Dst: name_from_string
      Src: /src/libspectre/ghostscript/psi/idict.c:478,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:483,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:486,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:487,1
    - Dst: dict_unpack
      Src: /src/libspectre/ghostscript/psi/idict.c:489,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:496,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:499,1
    - Dst: pt_tag
      Src: /src/libspectre/ghostscript/psi/idict.c:501,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/idict.c:501,1
    - Dst: if_debug2m
      Src: /src/libspectre/ghostscript/psi/idict.c:505,1
    - Dst: store_check_dest
      Src: /src/libspectre/ghostscript/psi/idict.c:507,1
    - Dst: ref_assign_old_in
      Src: /src/libspectre/ghostscript/psi/idict.c:508,1
    - Dst: ref_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:511,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:514,1
    - Dst: CAN_SET_PVALUE_CACHE
      Src: /src/libspectre/ghostscript/psi/idict.c:518,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/idict.c:520,1
    - Dst: if_debug0m
      Src: /src/libspectre/ghostscript/psi/idict.c:523,1
    - Dst: if_debug8m
      Src: /src/libspectre/ghostscript/psi/idict.c:529,1
    - Dst: ref_assign_old_in
      Src: /src/libspectre/ghostscript/psi/idict.c:536,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 61
    argCount: 4
    argNames:
    - pdref
    - pkey
    - pvalue
    - pds
    argTypes:
    - ref*
    - ref*
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 539
    functionName: dict_put
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 13
    functionsReached:
    - name_index
    - r_has_attr
    - dict_is_packed
    - ref_do_save_in
    - store_check_dest
    - ref_must_save_in
    - ref_save_in
    - if_debug2m
    - name_from_string
    - if_debug8m
    - dict_memory
    - ref_assign_old_in
    - r_has_type
    - CAN_SET_PVALUE_CACHE
    - dict_mem
    - dict_grow
    - if_debug0m
    - dict_find
    - dict_unpack
    - return_error
    - pt_tag
    linkageType: ''
    returnType: int
    signature: "int dict_put(ref * pdref /* t_dictionary */ , const ref * pkey, const
      ref * pvalue,\n         dict_stack_t *pds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/idict.c:552,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:552,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/idict.c:553,1
    - Dst: dict_put
      Src: /src/libspectre/ghostscript/psi/idict.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pdref
    - kstr
    - pvalue
    - pds
    argTypes:
    - ref*
    - char*
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 544
    functionDepth: 4
    functionLinenumber: 544
    functionLinenumberEnd: 556
    functionName: dict_put_string
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 12
    functionsReached:
    - strlen
    - dict_mem
    - dict_put
    - name_ref
    linkageType: ''
    returnType: int
    signature: "int dict_put_string(ref * pdref, const char *kstr, const ref * pvalue,\n
      \               dict_stack_t *pds)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/idict.c:569,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:569,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/idict.c:570,1
    - Dst: dict_put
      Src: /src/libspectre/ghostscript/psi/idict.c:572,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - pdref
    - kstr
    - pvalue
    - pds
    argTypes:
    - ref*
    - char*
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 4
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: dict_put_string_copy
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 8
    functionsReached:
    - strlen
    - dict_mem
    - dict_put
    - name_ref
    linkageType: ''
    returnType: int
    signature: "int dict_put_string_copy(ref * pdref, const char *kstr, const ref
      * pvalue,\n                     dict_stack_t *pds)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:583,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:588,1
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:597,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:598,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:600,1
    - Dst: if_debug3m
      Src: /src/libspectre/ghostscript/psi/idict.c:602,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:608,1
    - Dst: nslots
      Src: /src/libspectre/ghostscript/psi/idict.c:620,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:625,1
    - Dst: if_debug4m
      Src: /src/libspectre/ghostscript/psi/idict.c:637,1
    - Dst: make_null_old_in
      Src: /src/libspectre/ghostscript/psi/idict.c:640,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:647,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/idict.c:648,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:650,1
    - Dst: ref_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:652,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:655,1
    - Dst: pv_valid
      Src: /src/libspectre/ghostscript/psi/idict.c:658,1
    - Dst: dstack_dict_is_permanent
      Src: /src/libspectre/ghostscript/psi/idict.c:661,1
    - Dst: lprintf1
      Src: /src/libspectre/ghostscript/psi/idict.c:662,1
    - Dst: make_null_old_in
      Src: /src/libspectre/ghostscript/psi/idict.c:669,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 47
    argCount: 3
    argNames:
    - pdref
    - pkey
    - pds
    argTypes:
    - ref*
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 576
    functionDepth: 2
    functionLinenumber: 576
    functionLinenumberEnd: 671
    functionName: dict_undef
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 5
    functionsReached:
    - dict_memory
    - r_has_attr
    - r_has_type
    - if_debug3m
    - ref_must_save_in
    - make_null_old_in
    - r_set_attrs
    - ref_save_in
    - nslots
    - pv_valid
    - dstack_dict_is_permanent
    - dict_is_packed
    - dict_find
    - ref_do_save_in
    - if_debug4m
    - return_error
    - lprintf1
    linkageType: ''
    returnType: int
    signature: int dict_undef(ref * pdref, const ref * pkey, dict_stack_t *pds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdref
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 678
    functionName: dict_length
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 5
    functionsReached:
    - d_length
    linkageType: ''
    returnType: uint
    signature: uint dict_length(const ref * pdref /* t_dictionary */ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdref
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 685
    functionName: dict_maxlength
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 4
    functionsReached:
    - d_maxlength
    linkageType: ''
    returnType: uint
    signature: uint dict_maxlength(const ref * pdref /* t_dictionary */ )
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdref
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 692
    functionName: dict_max_index
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 1
    functionsReached:
    - npairs
    linkageType: ''
    returnType: uint
    signature: uint dict_max_index(const ref * pdref /* t_dictionary */ )
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/idict.c:708,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/idict.c:716,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/idict.c:717,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:719,1
    - Dst: store_check_space
      Src: /src/libspectre/ghostscript/psi/idict.c:721,1
    - Dst: store_check_space
      Src: /src/libspectre/ghostscript/psi/idict.c:722,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/idict.c:726,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/idict.c:727,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/idict.c:731,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:735,1
    - Dst: pv_valid
      Src: /src/libspectre/ghostscript/psi/idict.c:736,1
    - Dst: dict_put
      Src: /src/libspectre/ghostscript/psi/idict.c:739,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 22
    argCount: 4
    argNames:
    - pdrfrom
    - pdrto
    - options
    - pds
    argTypes:
    - ref*
    - ref*
    - int
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 750
    functionName: dict_copy_elements
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached:
    - store_check_space
    - dict_put
    - r_has_type
    - pv_valid
    - dict_find
    - r_space
    - dict_first
    - dict_next
    linkageType: ''
    returnType: int
    signature: "int dict_copy_elements(const ref * pdrfrom /* t_dictionary */ ,\n
      \                 ref * pdrto /* t_dictionary */ , int options,\n                  dict_stack_t
      *pds)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dict_copy_elements
      Src: /src/libspectre/ghostscript/psi/idict.c:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - pdrfrom
    - pdrto
    - new_only
    - pds
    argTypes:
    - ref*
    - ref*
    - bool
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 751
    functionDepth: 5
    functionLinenumber: 751
    functionLinenumberEnd: 757
    functionName: dict_copy_entries
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached:
    - dict_copy_elements
    linkageType: ''
    returnType: int
    signature: "int dict_copy_entries(const ref *pdrfrom, ref *pdrto, bool new_only,\n
      \                 dict_stack_t *pds)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:764,1
    - Dst: imemory_new_mask
      Src: /src/libspectre/ghostscript/psi/idict.c:765,1
    - Dst: r_type_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:766,1
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:771,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/idict.c:773,1
    - Dst: d_length
      Src: /src/libspectre/ghostscript/psi/idict.c:774,1
    - Dst: make_tav
      Src: /src/libspectre/ghostscript/psi/idict.c:776,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/idict.c:776,1
    - Dst: dict_create_contents
      Src: /src/libspectre/ghostscript/psi/idict.c:779,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:779,1
    - Dst: r_set_space
      Src: /src/libspectre/ghostscript/psi/idict.c:786,1
    - Dst: CAN_SET_PVALUE_CACHE
      Src: /src/libspectre/ghostscript/psi/idict.c:795,1
    - Dst: dict_copy_elements
      Src: /src/libspectre/ghostscript/psi/idict.c:800,1
    - Dst: dict_copy_elements
      Src: /src/libspectre/ghostscript/psi/idict.c:803,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:806,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:807,1
    - Dst: gs_free_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:809,1
    - Dst: ref_must_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:810,1
    - Dst: ref_do_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:811,1
    - Dst: gs_free_ref_array
      Src: /src/libspectre/ghostscript/psi/idict.c:813,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/idict.c:814,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/idict.c:815,1
    - Dst: r_store_attrs
      Src: /src/libspectre/ghostscript/psi/idict.c:816,1
    - Dst: ref_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:817,1
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:817,1
    - Dst: d_set_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:819,1
    - Dst: dstack_set_top
      Src: /src/libspectre/ghostscript/psi/idict.c:821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 3
    argNames:
    - pdref
    - new_size
    - pds
    argTypes:
    - ref*
    - uint
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 760
    functionDepth: 5
    functionLinenumber: 760
    functionLinenumberEnd: 823
    functionName: dict_resize
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 1
    functionsReached:
    - d_set_maxlength
    - d_length
    - dict_is_packed
    - ref_do_save_in
    - make_tav
    - dstack_set_top
    - ref_must_save_in
    - ref_save_in
    - r_space
    - r_store_attrs
    - dict_memory
    - dict_copy_elements
    - CAN_SET_PVALUE_CACHE
    - gs_free_ref_array
    - r_type_attrs
    - imemory_new_mask
    - dict_create_contents
    - ref_assign
    - r_set_space
    - return_error
    linkageType: ''
    returnType: int
    signature: int dict_resize(ref * pdref, uint new_size, dict_stack_t *pds)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:832,1
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:844,1
    - Dst: dict_resize
      Src: /src/libspectre/ghostscript/psi/idict.c:845,1
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:850,1
    - Dst: dict_resize
      Src: /src/libspectre/ghostscript/psi/idict.c:851,1
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:855,1
    - Dst: d_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:855,1
    - Dst: npairs
      Src: /src/libspectre/ghostscript/psi/idict.c:859,1
    - Dst: ref_save_in
      Src: /src/libspectre/ghostscript/psi/idict.c:862,1
    - Dst: dict_memory
      Src: /src/libspectre/ghostscript/psi/idict.c:862,1
    - Dst: d_set_maxlength
      Src: /src/libspectre/ghostscript/psi/idict.c:864,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 2
    argNames:
    - pdref
    - pds
    argTypes:
    - ref*
    - dict_stack_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 826
    functionDepth: 6
    functionLinenumber: 826
    functionLinenumberEnd: 866
    functionName: dict_grow
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 1
    functionsReached:
    - dict_memory
    - d_set_maxlength
    - d_maxlength
    - ref_save_in
    - dict_resize
    - npairs
    linkageType: ''
    returnType: int
    signature: int dict_grow(ref * pdref, dict_stack_t *pds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nslots
      Src: /src/libspectre/ghostscript/psi/idict.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - pdref
    argTypes:
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 869
    functionDepth: 1
    functionLinenumber: 869
    functionLinenumberEnd: 873
    functionName: dict_first
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 3
    functionsReached:
    - nslots
    linkageType: ''
    returnType: int
    signature: int dict_first(const ref * pdref)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/idict.c:883,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:883,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:885,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:886,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:886,1
    - Dst: if_debug6m
      Src: /src/libspectre/ghostscript/psi/idict.c:889,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:889,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - pdref
    - index
    - eltp
    argTypes:
    - ref*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 897
    functionName: dict_next
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 3
    functionsReached:
    - r_has_type
    - if_debug6m
    - dict_mem
    - dict_is_packed
    - array_get
    linkageType: ''
    returnType: int
    signature: int dict_next(const ref * pdref, int index, ref * eltp /* ref eltp[2]
      */ )
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pdref
    - pvalue
    argTypes:
    - ref*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 904
    functionName: dict_value_index
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int dict_value_index(const ref * pdref, const ref * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/idict.c:913,1
    - Dst: dict_mem
      Src: /src/libspectre/ghostscript/psi/idict.c:913,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:914,1
    - Dst: dict_is_packed
      Src: /src/libspectre/ghostscript/psi/idict.c:915,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/idict.c:915,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - pdref
    - index
    - eltp
    argTypes:
    - ref*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 921
    functionName: dict_index_entry
    functionSourceFile: /src/libspectre/ghostscript/psi/idict.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - dict_mem
    - dict_is_packed
    - array_get
    linkageType: ''
    returnType: int
    signature: int dict_index_entry(const ref * pdref, int index, ref * eltp /* ref
      eltp[2] */ )
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_gstate_memory
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:42,1
    - Dst: imemory_space
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:43,1
    - Dst: cs_num_components
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:44,1
    - Dst: alloc_indexed_map
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:47,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:57,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:59,1
    - Dst: make_struct
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:60,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:62,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:63,1
    - Dst: push_op_estack
      Src: /src/libspectre/ghostscript/psi/zcsindex.c:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 6
    argNames:
    - i_ctx_p
    - pmap
    - pproc
    - num_entries
    - base_space
    - map1
    argTypes:
    - i_ctx_t*
    - gs_indexed_map**
    - ref*
    - int
    - gs_color_space*
    - op_proc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 66
    functionName: zcs_begin_map
    functionSourceFile: /src/libspectre/ghostscript/psi/zcsindex.c
    functionUses: 0
    functionsReached:
    - alloc_indexed_map
    - make_int
    - make_struct
    - cs_num_components
    - gs_gstate_memory
    - push_op_estack
    - check_estack
    - imemory_space
    linkageType: ''
    returnType: int
    signature: "int zcs_begin_map(i_ctx_t *i_ctx_p, gs_indexed_map ** pmap, const
      ref * pproc,\n              int num_entries,  const gs_color_space * base_space,\n
      \             op_proc_t map1)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: check_array
      Src: /src/libspectre/ghostscript/psi/zchar32.c:45,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:46,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:55,1
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zchar32.c:57,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:61,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zchar32.c:62,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:70,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:71,1
    - Dst: check_int_leu
      Src: /src/libspectre/ghostscript/psi/zchar32.c:72,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar32.c:73,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:77,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zchar32.c:78,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:79,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:80,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:97,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:105,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 55
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 108
    functionName: zmakeglyph32
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar32.c
    functionUses: 0
    functionsReached:
    - check_write_type
    - check_array
    - font_param
    - num_params
    - r_set_size
    - return_error
    - check_int_leu
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zmakeglyph32(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - cc
    - range_ptr
    argTypes:
    - gs_memory_t*
    - cached_char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: select_cid_range
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar32.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool select_cid_range(const gs_memory_t *mem, cached_char * cc, void
      *range_ptr)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_int_leu
      Src: /src/libspectre/ghostscript/psi/zchar32.c:131,1
    - Dst: check_int_leu
      Src: /src/libspectre/ghostscript/psi/zchar32.c:132,1
    - Dst: font_param
      Src: /src/libspectre/ghostscript/psi/zchar32.c:133,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:137,1
    - Dst: gx_purge_selected_cached_chars
      Src: /src/libspectre/ghostscript/psi/zchar32.c:140,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zchar32.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 144
    functionName: zremoveglyphs
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar32.c
    functionUses: 0
    functionsReached:
    - font_param
    - pop
    - return_error
    - check_int_leu
    - gx_purge_selected_cached_chars
    linkageType: ''
    returnType: int
    signature: int zremoveglyphs(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zchar32.c:157,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zchar32.c:159,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:161,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zchar32.c:168,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:169,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:170,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:171,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:172,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:173,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:174,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:179,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zchar32.c:185,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zchar32.c:189,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:191,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:196,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:197,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zchar32.c:198,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 200
    functionName: zgetmetrics32
    functionSourceFile: /src/libspectre/ghostscript/psi/zchar32.c
    functionUses: 0
    functionsReached:
    - make_int
    - push
    - return_error
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: int zgetmetrics32(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: public_st_dict_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/idsdata.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: public_st_dict_stack()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_test
      Src: /src/libspectre/ghostscript/psi/zupath.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 74
    functionName: zineofill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_test
    linkageType: ''
    returnType: int
    signature: int zineofill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_test
      Src: /src/libspectre/ghostscript/psi/zupath.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 82
    functionName: zinfill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_test
    linkageType: ''
    returnType: int
    signature: int zinfill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_test
      Src: /src/libspectre/ghostscript/psi/zupath.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 90
    functionName: zinstroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_test
    linkageType: ''
    returnType: int
    signature: int zinstroke(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_utest
      Src: /src/libspectre/ghostscript/psi/zupath.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: zinueofill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_utest
    linkageType: ''
    returnType: int
    signature: int zinueofill(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: in_utest
      Src: /src/libspectre/ghostscript/psi/zupath.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 106
    functionName: zinufill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_utest
    linkageType: ''
    returnType: int
    signature: int zinufill(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:116,1
    - Dst: upath_stroke
      Src: /src/libspectre/ghostscript/psi/zupath.c:123,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:124,1
    - Dst: in_path
      Src: /src/libspectre/ghostscript/psi/zupath.c:127,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:128,1
    - Dst: gs_concat
      Src: /src/libspectre/ghostscript/psi/zupath.c:132,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zupath.c:134,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/psi/zupath.c:135,1
    - Dst: in_upath_result
      Src: /src/libspectre/ghostscript/psi/zupath.c:137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 112
    functionDepth: 9
    functionLinenumber: 112
    functionLinenumberEnd: 138
    functionName: zinustroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - in_path
    - gs_concat
    - gs_stroke
    - upath_stroke
    - gs_grestore
    - in_upath_result
    - dev_proc
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int zinustroke(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: in_path
      Src: /src/libspectre/ghostscript/psi/zupath.c:148,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zupath.c:153,1
    - Dst: in_path_result
      Src: /src/libspectre/ghostscript/psi/zupath.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 156
    functionName: in_test
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 3
    functionsReached:
    - in_path
    - dev_proc
    - in_path_result
    linkageType: ''
    returnType: int
    signature: int in_test(i_ctx_t *i_ctx_p, int (*paintproc)(gs_gstate *))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:162,1
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zupath.c:168,1
    - Dst: gs_transform
      Src: /src/libspectre/ghostscript/psi/zupath.c:173,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/psi/zupath.c:174,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zupath.c:174,1
    - Dst: fixed_floor
      Src: /src/libspectre/ghostscript/psi/zupath.c:175,1
    - Dst: float2fixed
      Src: /src/libspectre/ghostscript/psi/zupath.c:175,1
    - Dst: gx_clip_to_rectangle
      Src: /src/libspectre/ghostscript/psi/zupath.c:178,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/psi/zupath.c:190,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/psi/zupath.c:191,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/psi/zupath.c:192,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:193,1
    - Dst: gx_clip_to_path
      Src: /src/libspectre/ghostscript/psi/zupath.c:195,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/psi/zupath.c:196,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:200,1
    - Dst: gx_set_device_color_1
      Src: /src/libspectre/ghostscript/psi/zupath.c:203,1
    - Dst: gx_device_init_on_stack
      Src: /src/libspectre/ghostscript/psi/zupath.c:208,1
    - Dst: gx_device_fill_in_procs
      Src: /src/libspectre/ghostscript/psi/zupath.c:211,1
    - Dst: gx_set_device_only
      Src: /src/libspectre/ghostscript/psi/zupath.c:212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - oppath
    - i_ctx_p
    - phdev
    argTypes:
    - os_ptr
    - i_ctx_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 159
    functionDepth: 6
    functionLinenumber: 159
    functionLinenumberEnd: 214
    functionName: in_path
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 2
    functionsReached:
    - gx_path_assign_free
    - float2fixed
    - gs_newpath
    - gx_path_assign_preserve
    - gs_grestore
    - upath_append
    - gx_device_init_on_stack
    - gx_clip_to_rectangle
    - num_params
    - gx_path_init_local
    - gx_set_device_color_1
    - gx_clip_to_path
    - gs_transform
    - gx_set_device_only
    - gx_device_fill_in_procs
    - gs_gsave
    - fixed_floor
    linkageType: ''
    returnType: int
    signature: int in_path(os_ptr oppath, i_ctx_t *i_ctx_p, gx_device * phdev)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:223,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:231,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zupath.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - i_ctx_p
    - npop
    - code
    argTypes:
    - i_ctx_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: in_path_result
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 1
    functionsReached:
    - make_bool
    - gs_grestore
    - pop
    linkageType: ''
    returnType: int
    signature: int in_path_result(i_ctx_t *i_ctx_p, int npop, int code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: in_upath
      Src: /src/libspectre/ghostscript/psi/zupath.c:243,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/zupath.c:248,1
    - Dst: in_upath_result
      Src: /src/libspectre/ghostscript/psi/zupath.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 251
    functionName: in_utest
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 2
    functionsReached:
    - in_upath
    - in_upath_result
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int in_utest(i_ctx_t *i_ctx_p, int (*paintproc)(gs_gstate *))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:259,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:264,1
    - Dst: in_path
      Src: /src/libspectre/ghostscript/psi/zupath.c:265,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - i_ctx_p
    - phdev
    argTypes:
    - i_ctx_t*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 255
    functionDepth: 7
    functionLinenumber: 255
    functionLinenumberEnd: 271
    functionName: in_upath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 1
    functionsReached:
    - in_path
    - gs_grestore
    - upath_append
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int in_upath(i_ctx_t *i_ctx_p, gx_device * phdev)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:277,1
    - Dst: in_path_result
      Src: /src/libspectre/ghostscript/psi/zupath.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - i_ctx_p
    - npop
    - code
    argTypes:
    - i_ctx_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 274
    functionDepth: 4
    functionLinenumber: 274
    functionLinenumberEnd: 279
    functionName: in_upath_result
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 2
    functionsReached:
    - gs_grestore
    - in_path_result
    linkageType: ''
    returnType: int
    signature: int in_upath_result(i_ctx_t *i_ctx_p, int npop, int code)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 313
    functionName: UP_DATA_PATH
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UP_DATA_PATH(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 343
    functionDepth: 0
    functionLinenumber: 343
    functionLinenumberEnd: 348
    functionName: zucache
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zucache(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:355,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:359,1
    - Dst: gs_upmergepath
      Src: /src/libspectre/ghostscript/psi/zupath.c:360,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:361,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 4
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: zuappend
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gs_grestore
    - upath_append
    - gs_upmergepath
    - pop
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int zuappend(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:373,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:377,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zupath.c:377,1
    - Dst: gs_eofill
      Src: /src/libspectre/ghostscript/psi/zupath.c:378,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:379,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:382,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 369
    functionDepth: 10
    functionLinenumber: 369
    functionLinenumberEnd: 384
    functionName: zueofill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gs_eofill
    - gs_currentcpsimode
    - upath_append
    - gs_grestore
    - pop
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int zueofill(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:391,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:395,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zupath.c:395,1
    - Dst: gs_fill
      Src: /src/libspectre/ghostscript/psi/zupath.c:396,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:397,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:400,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 387
    functionDepth: 10
    functionLinenumber: 387
    functionLinenumberEnd: 402
    functionName: zufill
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gs_currentcpsimode
    - upath_append
    - gs_grestore
    - gs_fill
    - pop
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int zufill(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_gsave
      Src: /src/libspectre/ghostscript/psi/zupath.c:409,1
    - Dst: upath_stroke
      Src: /src/libspectre/ghostscript/psi/zupath.c:414,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zupath.c:414,1
    - Dst: gs_stroke
      Src: /src/libspectre/ghostscript/psi/zupath.c:415,1
    - Dst: gs_grestore
      Src: /src/libspectre/ghostscript/psi/zupath.c:416,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 406
    functionDepth: 9
    functionLinenumber: 406
    functionLinenumberEnd: 421
    functionName: zustroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gs_stroke
    - upath_stroke
    - gs_currentcpsimode
    - gs_grestore
    - pop
    - gs_gsave
    linkageType: ''
    returnType: int
    signature: int zustroke(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: gs_currentmatrix
      Src: /src/libspectre/ghostscript/psi/zupath.c:430,1
    - Dst: gx_path_init_local
      Src: /src/libspectre/ghostscript/psi/zupath.c:435,1
    - Dst: gx_path_assign_preserve
      Src: /src/libspectre/ghostscript/psi/zupath.c:436,1
    - Dst: upath_stroke
      Src: /src/libspectre/ghostscript/psi/zupath.c:437,1
    - Dst: gs_strokepath
      Src: /src/libspectre/ghostscript/psi/zupath.c:438,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/psi/zupath.c:440,1
    - Dst: gs_setmatrix
      Src: /src/libspectre/ghostscript/psi/zupath.c:447,1
    - Dst: gx_path_assign_free
      Src: /src/libspectre/ghostscript/psi/zupath.c:448,1
    - Dst: gx_path_free
      Src: /src/libspectre/ghostscript/psi/zupath.c:452,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:453,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 455
    functionName: zustrokepath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gx_path_assign_free
    - gs_strokepath
    - gx_path_free
    - gx_path_assign_preserve
    - upath_stroke
    - gs_setmatrix
    - gx_path_init_local
    - pop
    - gs_currentmatrix
    linkageType: ''
    returnType: int
    signature: int zustrokepath(i_ctx_t *i_ctx_p)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: gx_path_enum_init
      Src: /src/libspectre/ghostscript/psi/zupath.c:465,1
    - Dst: gx_path_enum_next
      Src: /src/libspectre/ghostscript/psi/zupath.c:466,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:479,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - ppath
    argTypes:
    - gx_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 458
    functionDepth: 2
    functionLinenumber: 458
    functionLinenumberEnd: 483
    functionName: path_length_for_upath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - gx_path_enum_next
    - gx_path_enum_init
    - return_error
    linkageType: ''
    returnType: int
    signature: int path_length_for_upath(const gx_path *ppath)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gs_upathbbox
      Src: /src/libspectre/ghostscript/psi/zupath.c:497,1
    - Dst: gs_currentcpsimode
      Src: /src/libspectre/ghostscript/psi/zupath.c:504,1
    - Dst: path_length_for_upath
      Src: /src/libspectre/ghostscript/psi/zupath.c:509,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:514,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zupath.c:516,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:523,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/zupath.c:525,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:528,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:529,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:530,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:531,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:533,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/zupath.c:535,1
    - Dst: gs_path_enum_copy_init
      Src: /src/libspectre/ghostscript/psi/zupath.c:544,1
    - Dst: gs_path_enum_next
      Src: /src/libspectre/ghostscript/psi/zupath.c:546,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:555,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:556,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:561,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:562,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:563,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:564,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:565,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:566,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:573,1
    - Dst: name_enter_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:575,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/zupath.c:577,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 71
    argCount: 5
    argNames:
    - i_ctx_p
    - rupath
    - pgs
    - ppath
    - with_ucache
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_gstate*
    - gx_path*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 582
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 582
    functionName: make_upath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - return_error
    - gs_currentcpsimode
    - ialloc_ref_array
    - r_set_attrs
    - gs_path_enum_copy_init
    - make_real_new
    - gs_upathbbox
    - path_length_for_upath
    - name_enter_string
    - gs_path_enum_next
    linkageType: ''
    returnType: int
    signature: "int make_upath(i_ctx_t *i_ctx_p, ref *rupath, gs_gstate *pgs, gx_path
      *ppath,\n           bool with_ucache)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zupath.c:590,1
    - Dst: make_upath
      Src: /src/libspectre/ghostscript/psi/zupath.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 585
    functionDepth: 4
    functionLinenumber: 585
    functionLinenumberEnd: 592
    functionName: zupath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - check_type
    - make_upath
    linkageType: ''
    returnType: int
    signature: int zupath(i_ctx_t *i_ctx_p)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zupath.c:601,1
    - Dst: path_length_for_upath
      Src: /src/libspectre/ghostscript/psi/zupath.c:602,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zupath.c:606,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:612,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:613,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:614,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zupath.c:615,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:616,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zupath.c:621,1
    - Dst: gs_path_enum_copy_init
      Src: /src/libspectre/ghostscript/psi/zupath.c:641,1
    - Dst: gs_path_enum_next
      Src: /src/libspectre/ghostscript/psi/zupath.c:642,1
    - Dst: make_real_new
      Src: /src/libspectre/ghostscript/psi/zupath.c:653,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zupath.c:656,1
    - Dst: gs_path_enum_next
      Src: /src/libspectre/ghostscript/psi/zupath.c:657,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:661,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 594
    functionDepth: 3
    functionLinenumber: 594
    functionLinenumberEnd: 667
    functionName: zgetpath
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - ref_assign
    - dict_find_string
    - ialloc_ref_array
    - gs_path_enum_copy_init
    - make_real_new
    - push
    - return_error
    - path_length_for_upath
    - gs_path_enum_next
    linkageType: ''
    returnType: int
    signature: int zgetpath(i_ctx_t *i_ctx_p)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zupath.c:678,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:679,1
    - Dst: r_is_array
      Src: /src/libspectre/ghostscript/psi/zupath.c:680,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:681,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zupath.c:682,1
    - Dst: gs_newpath
      Src: /src/libspectre/ghostscript/psi/zupath.c:683,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zupath.c:686,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zupath.c:687,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zupath.c:688,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zupath.c:696,1
    - Dst: num_array_format
      Src: /src/libspectre/ghostscript/psi/zupath.c:697,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zupath.c:701,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zupath.c:703,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:710,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:721,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zupath.c:729,1
    - Dst: num_array_get
      Src: /src/libspectre/ghostscript/psi/zupath.c:731,1
    - Dst: r_set_type_attrs
      Src: /src/libspectre/ghostscript/psi/zupath.c:734,1
    - Dst: r_set_type_attrs
      Src: /src/libspectre/ghostscript/psi/zupath.c:737,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:740,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zupath.c:753,1
    - Dst: array_get
      Src: /src/libspectre/ghostscript/psi/zupath.c:766,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zupath.c:767,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zupath.c:771,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zupath.c:775,1
    - Dst: dict_find
      Src: /src/libspectre/ghostscript/psi/zupath.c:776,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/zupath.c:777,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:778,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zupath.c:782,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:783,1
    - Dst: real_opproc
      Src: /src/libspectre/ghostscript/psi/zupath.c:784,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:789,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:792,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:799,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:805,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:811,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:816,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zupath.c:820,1
    - Dst: zmoveto
      Src: /src/libspectre/ghostscript/psi/zupath.c:828,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 114
    argCount: 4
    argNames:
    - oppath
    - i_ctx_p
    - pnargs
    - upath_compat
    argTypes:
    - os_ptr
    - i_ctx_t*
    - int*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 672
    functionDepth: 4
    functionLinenumber: 672
    functionLinenumberEnd: 831
    functionName: upath_append_aux
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 0
    functionsReached:
    - real_opproc
    - gs_newpath
    - r_type
    - r_has_attr
    - r_set_type_attrs
    - r_has_type
    - r_size
    - push
    - num_array_get
    - check_read
    - dict_find
    - array_get
    - return_error
    - zmoveto
    - r_btype
    - num_array_format
    - r_is_array
    linkageType: ''
    returnType: int
    signature: int upath_append_aux(os_ptr oppath, i_ctx_t *i_ctx_p, int *pnargs,
      bool upath_compat)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: upath_append_aux
      Src: /src/libspectre/ghostscript/psi/zupath.c:836,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zupath.c:840,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - oppath
    - i_ctx_p
    - upath_compat
    argTypes:
    - os_ptr
    - i_ctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 832
    functionDepth: 5
    functionLinenumber: 832
    functionLinenumberEnd: 844
    functionName: upath_append
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 5
    functionsReached:
    - pop
    - upath_append_aux
    linkageType: ''
    returnType: int
    signature: int upath_append(os_ptr oppath, i_ctx_t *i_ctx_p, bool upath_compat)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zupath.c:855,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:856,1
    - Dst: gs_concat
      Src: /src/libspectre/ghostscript/psi/zupath.c:860,1
    - Dst: upath_append
      Src: /src/libspectre/ghostscript/psi/zupath.c:864,1
    - Dst: gs_make_identity
      Src: /src/libspectre/ghostscript/psi/zupath.c:866,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 3
    argNames:
    - i_ctx_p
    - pmat
    - upath_compat
    argTypes:
    - i_ctx_t*
    - gs_matrix*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 870
      start: 848
    functionDepth: 6
    functionLinenumber: 848
    functionLinenumberEnd: 870
    functionName: upath_stroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zupath.c
    functionUses: 3
    functionsReached:
    - gs_concat
    - read_matrix
    - gs_make_identity
    - upath_append
    linkageType: ''
    returnType: int
    signature: int upath_stroke(i_ctx_t *i_ctx_p, gs_matrix *pmat, bool upath_compat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: zcopy
      Src: /src/libspectre/ghostscript/psi/zdps1.c:48,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zdps1.c:52,1
    - Dst: zcopy_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 55
    functionName: z1copy
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - r_has_type
    - zcopy
    - zcopy_gstate
    linkageType: ''
    returnType: int
    signature: int z1copy(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zdps1.c:65,1
    - Dst: gs_setstrokeadjust
      Src: /src/libspectre/ghostscript/psi/zdps1.c:66,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 69
    functionName: zsetstrokeadjust
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_setstrokeadjust
    - check_type
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetstrokeadjust(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zdps1.c:77,1
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/zdps1.c:78,1
    - Dst: gs_currentstrokeadjust
      Src: /src/libspectre/ghostscript/psi/zdps1.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 80
    functionName: zcurrentstrokeadjust
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_currentstrokeadjust
    - push
    - make_bool
    linkageType: ''
    returnType: int
    signature: int zcurrentstrokeadjust(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: imemory_save_level
      Src: /src/libspectre/ghostscript/psi/zdps1.c:102,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:103,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:106,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - i_ctx_p
    - isp
    - space
    argTypes:
    - i_ctx_t*
    - int_gstate*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 109
    functionName: gstate_check_space
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - return_error
    - imemory_save_level
    - int_gstate_map_refs
    linkageType: ''
    returnType: int
    signature: int gstate_check_space(i_ctx_t *i_ctx_p, int_gstate *isp, uint space)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    functionName: gsref_check
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gsref_check(p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gstate_check_space
      Src: /src/libspectre/ghostscript/psi/zdps1.c:117,1
    - Dst: ialloc_struct
      Src: /src/libspectre/ghostscript/psi/zdps1.c:124,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:126,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/psi/zdps1.c:127,1
    - Dst: ifree_object
      Src: /src/libspectre/ghostscript/psi/zdps1.c:129,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:130,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:132,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:133,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zdps1.c:134,1
    - Dst: make_iastruct
      Src: /src/libspectre/ghostscript/psi/zdps1.c:140,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zdps1.c:142,1
    - Dst: ref_save
      Src: /src/libspectre/ghostscript/psi/zdps1.c:143,1
    - Dst: make_istruct_new
      Src: /src/libspectre/ghostscript/psi/zdps1.c:144,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zdps1.c:146,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 149
    functionName: zgstate
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_int_gstate
    - ialloc_struct
    - make_null
    - make_istruct_new
    - ifree_object
    - make_istruct
    - make_iastruct
    - ref_save
    - gstate_check_space
    - gs_gstate_copy
    - push
    - return_error
    - int_gstate_map_refs
    linkageType: ''
    returnType: int
    signature: int zgstate(i_ctx_t *i_ctx_p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zdps1.c:163,1
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zdps1.c:164,1
    - Dst: check_write
      Src: /src/libspectre/ghostscript/psi/zdps1.c:165,1
    - Dst: gstate_unshare
      Src: /src/libspectre/ghostscript/psi/zdps1.c:166,1
    - Dst: igstate_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:169,1
    - Dst: igstate_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:170,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:171,1
    - Dst: gstate_check_space
      Src: /src/libspectre/ghostscript/psi/zdps1.c:172,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:172,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zdps1.c:172,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:176,1
    - Dst: gs_gstate_swap_memory
      Src: /src/libspectre/ghostscript/psi/zdps1.c:178,1
    - Dst: gs_copygstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:179,1
    - Dst: gs_gstate_swap_memory
      Src: /src/libspectre/ghostscript/psi/zdps1.c:180,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:183,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 187
    functionName: zcopy_gstate
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 1
    functionsReached:
    - gs_int_gstate
    - igstate_ptr
    - check_write
    - gstate_unshare
    - gstate_check_space
    - gs_gstate_swap_memory
    - gs_copygstate
    - pop
    - r_space
    - check_stype
    - int_gstate_map_refs
    linkageType: ''
    returnType: int
    signature: int zcopy_gstate(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: gsref_save
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gsref_save(p)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zdps1.c:199,1
    - Dst: check_write
      Src: /src/libspectre/ghostscript/psi/zdps1.c:200,1
    - Dst: gstate_unshare
      Src: /src/libspectre/ghostscript/psi/zdps1.c:201,1
    - Dst: igstate_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:204,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:205,1
    - Dst: gstate_check_space
      Src: /src/libspectre/ghostscript/psi/zdps1.c:206,1
    - Dst: r_space
      Src: /src/libspectre/ghostscript/psi/zdps1.c:206,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:210,1
    - Dst: gs_gstate_swap_memory
      Src: /src/libspectre/ghostscript/psi/zdps1.c:212,1
    - Dst: gs_currentgstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:213,1
    - Dst: gs_gstate_swap_memory
      Src: /src/libspectre/ghostscript/psi/zdps1.c:214,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 219
    functionName: zcurrentgstate
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_int_gstate
    - igstate_ptr
    - gs_currentgstate
    - check_write
    - gstate_unshare
    - gstate_check_space
    - gs_gstate_swap_memory
    - r_space
    - check_stype
    - int_gstate_map_refs
    linkageType: ''
    returnType: int
    signature: int zcurrentgstate(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 210
    functionName: gsref_save
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: gsref_save(p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_stype
      Src: /src/libspectre/ghostscript/psi/zdps1.c:228,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zdps1.c:229,1
    - Dst: gs_setgstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:230,1
    - Dst: igstate_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:230,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 235
    functionName: zsetgstate
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_setgstate
    - igstate_ptr
    - check_read
    - pop
    - check_stype
    linkageType: ''
    returnType: int
    signature: int zsetgstate(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:261,1
    - Dst: gs_rectappend
      Src: /src/libspectre/ghostscript/psi/zdps1.c:266,1
    - Dst: rect_release
      Src: /src/libspectre/ghostscript/psi/zdps1.c:267,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:270,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 256
    functionDepth: 4
    functionLinenumber: 256
    functionLinenumberEnd: 272
    functionName: zrectappend
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - pop
    - gs_rectappend
    - rect_get
    - rect_release
    linkageType: ''
    returnType: int
    signature: int zrectappend(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:281,1
    - Dst: gs_rectclip
      Src: /src/libspectre/ghostscript/psi/zdps1.c:286,1
    - Dst: rect_release
      Src: /src/libspectre/ghostscript/psi/zdps1.c:287,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 276
    functionDepth: 5
    functionLinenumber: 276
    functionLinenumberEnd: 292
    functionName: zrectclip
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - pop
    - gs_rectclip
    - rect_get
    - rect_release
    linkageType: ''
    returnType: int
    signature: int zrectclip(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rect_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:301,1
    - Dst: gs_rectfill
      Src: /src/libspectre/ghostscript/psi/zdps1.c:306,1
    - Dst: rect_release
      Src: /src/libspectre/ghostscript/psi/zdps1.c:307,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 312
    functionName: zrectfill
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_rectfill
    - pop
    - rect_get
    - rect_release
    linkageType: ''
    returnType: int
    signature: int zrectfill(i_ctx_t *i_ctx_p)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: read_matrix
      Src: /src/libspectre/ghostscript/psi/zdps1.c:324,1
    - Dst: rect_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:326,1
    - Dst: gs_rectstroke
      Src: /src/libspectre/ghostscript/psi/zdps1.c:329,1
    - Dst: rect_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:333,1
    - Dst: gs_rectstroke
      Src: /src/libspectre/ghostscript/psi/zdps1.c:336,1
    - Dst: rect_release
      Src: /src/libspectre/ghostscript/psi/zdps1.c:338,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:341,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 316
    functionDepth: 5
    functionLinenumber: 316
    functionLinenumberEnd: 343
    functionName: zrectstroke
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_rectstroke
    - rect_get
    - rect_release
    - pop
    - read_matrix
    linkageType: ''
    returnType: int
    signature: int zrectstroke(i_ctx_t *i_ctx_p)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zdps1.c:357,1
    - Dst: num_array_format
      Src: /src/libspectre/ghostscript/psi/zdps1.c:362,1
    - Dst: num_array_size
      Src: /src/libspectre/ghostscript/psi/zdps1.c:366,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:368,1
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zdps1.c:372,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/zdps1.c:385,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:388,1
    - Dst: num_array_get
      Src: /src/libspectre/ghostscript/psi/zdps1.c:396,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    argCount: 3
    argNames:
    - plr
    - op
    - mem
    argTypes:
    - local_rects_t*
    - os_ptr
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 413
    functionName: rect_get
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 4
    functionsReached:
    - r_type
    - num_array_size
    - gs_alloc_byte_array
    - num_array_get
    - num_params
    - return_error
    - num_array_format
    linkageType: ''
    returnType: int
    signature: int rect_get(local_rects_t * plr, os_ptr op, gs_memory_t *mem)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zdps1.c:420,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - plr
    - mem
    argTypes:
    - local_rects_t*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 421
    functionName: rect_release
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 4
    functionsReached:
    - gs_free_object
    linkageType: ''
    returnType: void
    signature: void rect_release(local_rects_t * plr, gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: num_params
      Src: /src/libspectre/ghostscript/psi/zdps1.c:432,1
    - Dst: gs_setbbox
      Src: /src/libspectre/ghostscript/psi/zdps1.c:436,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zdps1.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 440
    functionName: zsetbbox
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 0
    functionsReached:
    - gs_setbbox
    - num_params
    - pop
    linkageType: ''
    returnType: int
    signature: int zsetbbox(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:473,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zdps1.c:474,1
    - Dst: ref_must_save
      Src: /src/libspectre/ghostscript/psi/zdps1.c:478,1
    - Dst: gs_gstate_copy
      Src: /src/libspectre/ghostscript/psi/zdps1.c:481,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zdps1.c:483,1
    - Dst: gs_int_gstate
      Src: /src/libspectre/ghostscript/psi/zdps1.c:484,1
    - Dst: int_gstate_map_refs
      Src: /src/libspectre/ghostscript/psi/zdps1.c:485,1
    - Dst: ref_do_save
      Src: /src/libspectre/ghostscript/psi/zdps1.c:486,1
    - Dst: make_istruct_new
      Src: /src/libspectre/ghostscript/psi/zdps1.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 489
    functionName: gstate_unshare
    functionSourceFile: /src/libspectre/ghostscript/psi/zdps1.c
    functionUses: 2
    functionsReached:
    - gs_int_gstate
    - make_istruct_new
    - r_ptr
    - ref_must_save
    - gs_gstate_copy
    - ref_do_save
    - return_error
    - int_gstate_map_refs
    linkageType: ''
    returnType: int
    signature: int gstate_unshare(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 73
    functionName: get_minst_from_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: gs_main_instance
    signature: 'gs_main_instance *

      get_minst_from_memory(const gs_memory_t *mem)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_alloc_bytes_immovable
      Src: /src/libspectre/ghostscript/psi/imain.c:83,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/imain.c:88,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 93
    functionName: gs_main_alloc_instance
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_alloc_bytes_immovable
    - memset
    - memcpy
    linkageType: ''
    returnType: gs_main_instance
    signature: 'gs_main_instance *

      gs_main_alloc_instance(gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/imain.c:98,1
    - Dst: op_index_op_array_table
      Src: /src/libspectre/ghostscript/psi/imain.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - size
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: get_op_array
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - get_minst_from_memory
    - op_index_op_array_table
    linkageType: ''
    returnType: op_array_table
    signature: 'op_array_table *

      get_op_array(const gs_memory_t *mem, int size)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/imain.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 107
    functionName: get_global_op_array
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - get_minst_from_memory
    linkageType: ''
    returnType: op_array_table
    signature: 'op_array_table *

      get_global_op_array(const gs_memory_t *mem)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/imain.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 114
    functionName: get_local_op_array
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - get_minst_from_memory
    linkageType: ''
    returnType: op_array_table
    signature: 'op_array_table *

      get_local_op_array(const gs_memory_t *mem)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:132,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:133,1
    - Dst: gp_init
      Src: /src/libspectre/ghostscript/psi/imain.c:140,1
    - Dst: VALGRIND_HG_DISABLE_CHECKING
      Src: /src/libspectre/ghostscript/psi/imain.c:146,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/imain.c:148,1
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/psi/imain.c:151,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/imain.c:154,1
    - Dst: gs_lib_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:157,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/imain.c:158,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/imain.c:161,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/imain.c:163,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:173,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/psi/imain.c:174,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 5
    argNames:
    - minst
    - in
    - out
    - err
    - max_lib_paths
    argTypes:
    - gs_main_instance*
    - gp_file*
    - gp_file*
    - gp_file*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 178
    functionName: gs_main_init0
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - gs_debug_c
    - gs_alloc_byte_array
    - dmprintf2
    - VALGRIND_HG_DISABLE_CHECKING
    - gp_get_realtime
    - gp_init
    - make_array
    - dmprintf1
    - memset
    - gs_lib_finit
    - gs_note_error
    linkageType: ''
    returnType: int
    signature: "int gs_main_init0(gs_main_instance * minst, gp_file * in, gp_file
      * out, gp_file * err,\n              int max_lib_paths)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:191,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:192,1
    - Dst: ialloc_init
      Src: /src/libspectre/ghostscript/psi/imain.c:195,1
    - Dst: gs_have_level2
      Src: /src/libspectre/ghostscript/psi/imain.c:196,1
    - Dst: gs_lib_init1
      Src: /src/libspectre/ghostscript/psi/imain.c:201,1
    - Dst: alloc_save_init
      Src: /src/libspectre/ghostscript/psi/imain.c:204,1
    - Dst: names_init
      Src: /src/libspectre/ghostscript/psi/imain.c:207,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/imain.c:210,1
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/psi/imain.c:214,1
    - Dst: obj_init
      Src: /src/libspectre/ghostscript/psi/imain.c:221,1
    - Dst: i_plugin_init
      Src: /src/libspectre/ghostscript/psi/imain.c:225,1
    - Dst: i_iodev_init
      Src: /src/libspectre/ghostscript/psi/imain.c:228,1
    - Dst: names_free
      Src: /src/libspectre/ghostscript/psi/imain.c:231,1
    - Dst: ialloc_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:233,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:237,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/psi/imain.c:238,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 49
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 181
    functionDepth: 4
    functionLinenumber: 181
    functionLinenumberEnd: 242
    functionName: gs_main_init1
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - obj_init
    - gs_have_level2
    - gs_debug_c
    - names_free
    - gs_note_error
    - i_plugin_init
    - ialloc_finit
    - gs_lib_init1
    - dmprintf2
    - dmprintf1
    - alloc_save_init
    - gs_register_struct_root
    - ialloc_init
    - names_init
    - i_iodev_init
    linkageType: ''
    returnType: int
    signature: int gs_main_init1(gs_main_instance * minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 5
    argNames:
    - minst
    - pref
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - ref*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 248
    functionDepth: 2
    functionLinenumber: 248
    functionLinenumberEnd: 260
    functionName: gs_main_interpret
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_interpret
    linkageType: ''
    returnType: int
    signature: "int gs_main_interpret(gs_main_instance *minst, ref * pref, int user_errors,\n
      \                 int *pexit_code, ref * perror_object)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: zop_init
      Src: /src/libspectre/ghostscript/psi/imain.c:280,1
    - Dst: op_init
      Src: /src/libspectre/ghostscript/psi/imain.c:283,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:288,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:289,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:294,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:295,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:300,1
    - Dst: gs_run_init_file
      Src: /src/libspectre/ghostscript/psi/imain.c:305,1
    - Dst: reopen_device_if_required
      Src: /src/libspectre/ghostscript/psi/imain.c:313,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:316,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 325
    functionName: gs_main_init2aux
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - zop_init
    - gs_run_init_file
    - gs_main_run_string
    - op_init
    - reopen_device_if_required
    - i_initial_enter_name
    linkageType: ''
    returnType: int
    signature: int gs_main_init2aux(gs_main_instance * minst)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imain.c:339,1
    - Dst: param_init_enumerator
      Src: /src/libspectre/ghostscript/psi/imain.c:341,1
    - Dst: param_get_next_key
      Src: /src/libspectre/ghostscript/psi/imain.c:342,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/imain.c:347,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:350,1
    - Dst: param_read_typed
      Src: /src/libspectre/ghostscript/psi/imain.c:352,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/imain.c:353,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/imain.c:358,1
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imain.c:362,1
    - Dst: make_false
      Src: /src/libspectre/ghostscript/psi/imain.c:364,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:367,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:370,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:373,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:376,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/imain.c:379,1
    - Dst: make_empty_string
      Src: /src/libspectre/ghostscript/psi/imain.c:392,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/imain.c:395,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:399,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:400,1
    - Dst: name_ref
      Src: /src/libspectre/ghostscript/psi/imain.c:404,1
    - Dst: ialloc_set_space
      Src: /src/libspectre/ghostscript/psi/imain.c:421,1
    - Dst: i_initial_enter_name_copy
      Src: /src/libspectre/ghostscript/psi/imain.c:423,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 71
    argCount: 2
    argNames:
    - minst
    - plist
    argTypes:
    - gs_main_instance*
    - gs_param_list*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 427
    functionName: gs_main_set_language_param
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - make_true
    - param_get_next_key
    - make_null
    - make_int
    - make_empty_string
    - make_false
    - name_ref
    - i_initial_enter_name_copy
    - ialloc_string
    - memcpy
    - make_real
    - param_read_typed
    - gs_note_error
    - ialloc_set_space
    - param_init_enumerator
    linkageType: ''
    returnType: int
    signature: "int gs_main_set_language_param(gs_main_instance *minst,\n                           gs_param_list
      \   *plist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_putdeviceparams
      Src: /src/libspectre/ghostscript/psi/imain.c:439,1
    - Dst: gs_main_set_language_param
      Src: /src/libspectre/ghostscript/psi/imain.c:444,1
    - Dst: gs_c_param_list_release
      Src: /src/libspectre/ghostscript/psi/imain.c:448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 429
    functionDepth: 4
    functionLinenumber: 429
    functionLinenumberEnd: 451
    functionName: gs_main_push_params
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_putdeviceparams
    - gs_main_set_language_param
    - gs_c_param_list_release
    linkageType: ''
    returnType: int
    signature: int gs_main_push_params(gs_main_instance *minst)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_init1
      Src: /src/libspectre/ghostscript/psi/imain.c:457,1
    - Dst: gs_main_push_params
      Src: /src/libspectre/ghostscript/psi/imain.c:462,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:469,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:470,1
    - Dst: gs_main_init2aux
      Src: /src/libspectre/ghostscript/psi/imain.c:473,1
    - Dst: gs_currentdevice
      Src: /src/libspectre/ghostscript/psi/imain.c:481,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imain.c:485,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imain.c:489,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imain.c:492,1
    - Dst: dev_proc
      Src: /src/libspectre/ghostscript/psi/imain.c:496,1
    - Dst: outprintf
      Src: /src/libspectre/ghostscript/psi/imain.c:499,1
    - Dst: gx_saved_pages_param_process
      Src: /src/libspectre/ghostscript/psi/imain.c:505,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:506,1
    - Dst: gs_erasepage
      Src: /src/libspectre/ghostscript/psi/imain.c:508,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:514,1
    - Dst: print_resource_usage
      Src: /src/libspectre/ghostscript/psi/imain.c:515,1
    - Dst: gp_readline_init
      Src: /src/libspectre/ghostscript/psi/imain.c:516,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:520,1
    - Dst: dmprintf2
      Src: /src/libspectre/ghostscript/psi/imain.c:521,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 453
    functionDepth: 8
    functionLinenumber: 453
    functionLinenumberEnd: 525
    functionName: gs_main_init2
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 4
    functionsReached:
    - print_resource_usage
    - gp_readline_init
    - gs_debug_c
    - dmprintf2
    - strlen
    - outprintf
    - dmprintf1
    - gs_main_init1
    - gs_currentdevice
    - gx_saved_pages_param_process
    - gs_erasepage
    - gs_main_push_params
    - gs_main_init2aux
    - dev_proc
    linkageType: ''
    returnType: int
    signature: int gs_main_init2(gs_main_instance * minst)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:535,1
    - Dst: gs_alloc_byte_array
      Src: /src/libspectre/ghostscript/psi/imain.c:539,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:543,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/imain.c:545,1
    - Dst: make_array
      Src: /src/libspectre/ghostscript/psi/imain.c:546,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:549,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/imain.c:550,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imain.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - minst
    - pfp
    argTypes:
    - gs_main_instance*
    - gs_file_path*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 554
    functionName: extend_path_list_container
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_alloc_byte_array
    - make_array
    - memcpy
    - r_set_size
    - gs_free_object
    - return_error
    - r_size
    linkageType: ''
    returnType: int
    signature: int extend_path_list_container (gs_main_instance * minst, gs_file_path
      * pfp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:560,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:565,1
    - Dst: extend_path_list_container
      Src: /src/libspectre/ghostscript/psi/imain.c:566,1
    - Dst: emprintf
      Src: /src/libspectre/ghostscript/psi/imain.c:568,1
    - Dst: gs_alloc_string
      Src: /src/libspectre/ghostscript/psi/imain.c:574,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:577,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/psi/imain.c:582,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:585,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/imain.c:590,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - minst
    - pos
    - strlen
    - str
    argTypes:
    - gs_main_instance*
    - int
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 593
    functionName: lib_path_insert_copy_of_string
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_const_string
    - memmove
    - extend_path_list_container
    - emprintf
    - memcpy
    - r_set_size
    - gs_alloc_string
    - r_size
    linkageType: ''
    returnType: int
    signature: int lib_path_insert_copy_of_string(gs_main_instance *minst, int pos,
      size_t strlen, const char *str)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:602,1
    - Dst: gs_add_control_path_len
      Src: /src/libspectre/ghostscript/psi/imain.c:615,1
    - Dst: lib_path_insert_copy_of_string
      Src: /src/libspectre/ghostscript/psi/imain.c:618,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/imain.c:624,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 2
    argNames:
    - minst
    - dirs
    argTypes:
    - gs_main_instance*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 631
    functionName: lib_path_add
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_add_control_path_len
    - lib_path_insert_copy_of_string
    - r_set_size
    - r_size
    linkageType: ''
    returnType: int
    signature: int lib_path_add(gs_main_instance * minst, const char *dirs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:637,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imain.c:642,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/imain.c:643,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - minst
    - newsize
    argTypes:
    - gs_main_instance*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    functionName: set_lib_path_length
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_free_object
    - r_set_size
    - r_size
    linkageType: ''
    returnType: void
    signature: void set_lib_path_length(gs_main_instance * minst, int newsize)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: set_lib_path_length
      Src: /src/libspectre/ghostscript/psi/imain.c:654,1
    - Dst: lib_path_add
      Src: /src/libspectre/ghostscript/psi/imain.c:657,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:662,1
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imain.c:665,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - minst
    - lpath
    argTypes:
    - gs_main_instance*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 647
    functionDepth: 4
    functionLinenumber: 647
    functionLinenumberEnd: 666
    functionName: gs_main_add_lib_path
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - set_lib_path_length
    - lib_path_add
    - gs_main_set_lib_paths
    - r_size
    linkageType: ''
    returnType: int
    signature: int gs_main_add_lib_path(gs_main_instance * minst, const char *lpath)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: gs_add_control_path_len
      Src: /src/libspectre/ghostscript/psi/imain.c:702,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:703,1
    - Dst: lib_path_insert_copy_of_string
      Src: /src/libspectre/ghostscript/psi/imain.c:706,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:707,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:714,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imain.c:717,1
    - Dst: memmove
      Src: /src/libspectre/ghostscript/psi/imain.c:719,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/imain.c:720,1
    - Dst: gs_remove_control_path_len
      Src: /src/libspectre/ghostscript/psi/imain.c:722,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:723,1
    - Dst: set_lib_path_length
      Src: /src/libspectre/ghostscript/psi/imain.c:729,1
    - Dst: lib_path_add
      Src: /src/libspectre/ghostscript/psi/imain.c:733,1
    - Dst: gs_add_control_path
      Src: /src/libspectre/ghostscript/psi/imain.c:736,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:745,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/imain.c:745,1
    - Dst: gx_io_device*::procs::file_status
      Src: /src/libspectre/ghostscript/psi/imain.c:751,1
    - Dst: lib_path_add
      Src: /src/libspectre/ghostscript/psi/imain.c:759,1
    - Dst: lib_path_add
      Src: /src/libspectre/ghostscript/psi/imain.c:762,1
    - Dst: lib_path_add
      Src: /src/libspectre/ghostscript/psi/imain.c:767,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 46
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 675
    functionDepth: 4
    functionLinenumber: 675
    functionLinenumberEnd: 769
    functionName: gs_main_set_lib_paths
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 4
    functionsReached:
    - lib_path_add
    - gs_remove_control_path_len
    - set_lib_path_length
    - strlen
    - r_size
    - memmove
    - gs_add_control_path_len
    - lib_path_insert_copy_of_string
    - r_set_size
    - memcmp
    - gs_add_control_path
    - gx_io_device*::procs::file_status
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int gs_main_set_lib_paths(gs_main_instance * minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: lib_file_open
      Src: /src/libspectre/ghostscript/psi/imain.c:782,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - minst
    - file_name
    - pfile
    argTypes:
    - gs_main_instance*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 772
    functionDepth: 7
    functionLinenumber: 772
    functionLinenumberEnd: 786
    functionName: gs_main_lib_open
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - lib_file_open
    - strlen
    linkageType: ''
    returnType: int
    signature: int gs_main_lib_open(gs_main_instance * minst, const char *file_name,
      ref * pfile)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_run_file_open
      Src: /src/libspectre/ghostscript/psi/imain.c:793,1
    - Dst: gs_main_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:797,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - minst
    - file_name
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 799
    functionName: gs_main_run_file
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_main_interpret
    - gs_main_run_file_open
    linkageType: ''
    returnType: int
    signature: int gs_main_run_file(gs_main_instance * minst, const char *file_name,
      int user_errors, int *pexit_code, ref * perror_object)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imain.c:803,1
    - Dst: gs_main_lib_open
      Src: /src/libspectre/ghostscript/psi/imain.c:804,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:805,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:808,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/imain.c:810,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - minst
    - file_name
    - pfref
    argTypes:
    - gs_main_instance*
    - char*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 800
    functionDepth: 8
    functionLinenumber: 800
    functionLinenumberEnd: 812
    functionName: gs_main_run_file_open
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - r_set_attrs
    - emprintf1
    - return_error
    - gs_main_lib_open
    - gs_main_set_lib_paths
    linkageType: ''
    returnType: int
    signature: int gs_main_run_file_open(gs_main_instance * minst, const char *file_name,
      ref * pfref)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imain.c:824,1
    - Dst: gs_main_run_file_open
      Src: /src/libspectre/ghostscript/psi/imain.c:825,1
    - Dst: gs_scanner_init
      Src: /src/libspectre/ghostscript/psi/imain.c:832,1
    - Dst: gs_scan_token
      Src: /src/libspectre/ghostscript/psi/imain.c:833,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/imain.c:834,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:835,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:839,1
    - Dst: r_set_attrs
      Src: /src/libspectre/ghostscript/psi/imain.c:842,1
    - Dst: gs_main_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:843,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - minst
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 815
    functionDepth: 9
    functionLinenumber: 815
    functionLinenumberEnd: 845
    functionName: gs_run_init_file
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - gs_scan_token
    - return_error
    - r_has_type
    - r_set_attrs
    - emprintf1
    - gs_main_interpret
    - gs_scanner_init
    - gs_main_set_lib_paths
    - gs_main_run_file_open
    linkageType: ''
    returnType: int
    signature: int gs_run_init_file(gs_main_instance * minst, int *pexit_code, ref
      * perror_object)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_run_string_with_length
      Src: /src/libspectre/ghostscript/psi/imain.c:852,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:852,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 5
    argNames:
    - minst
    - str
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 848
    functionDepth: 1
    functionLinenumber: 848
    functionLinenumberEnd: 855
    functionName: gs_main_run_string
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - strlen
    - gs_main_run_string_with_length
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_string(gs_main_instance * minst, const char *str,
      int user_errors,\n                   int *pexit_code, ref * perror_object)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_run_string_begin
      Src: /src/libspectre/ghostscript/psi/imain.c:862,1
    - Dst: gs_main_run_string_continue
      Src: /src/libspectre/ghostscript/psi/imain.c:866,1
    - Dst: gs_main_run_string_end
      Src: /src/libspectre/ghostscript/psi/imain.c:871,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:877,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 6
    argNames:
    - minst
    - str
    - length
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - uint
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 856
    functionDepth: 1
    functionLinenumber: 856
    functionLinenumberEnd: 879
    functionName: gs_main_run_string_with_length
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - return_error
    - gs_main_run_string_begin
    - gs_main_run_string_end
    - gs_main_run_string_continue
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_string_with_length(gs_main_instance * minst, const
      char *str,\n         uint length, int user_errors, int *pexit_code, ref * perror_object)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_set_lib_paths
      Src: /src/libspectre/ghostscript/psi/imain.c:890,1
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:891,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:892,1
    - Dst: gs_main_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - minst
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 896
      start: 882
    functionDepth: 5
    functionLinenumber: 882
    functionLinenumberEnd: 896
    functionName: gs_main_run_string_begin
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - make_const_string
    - strlen
    - gs_main_set_lib_paths
    - gs_main_interpret
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_string_begin(gs_main_instance * minst, int user_errors,\n
      \                        int *pexit_code, ref * perror_object)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:906,1
    - Dst: gs_main_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:908,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 6
    argNames:
    - minst
    - str
    - length
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - char*
    - uint
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 910
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 910
    functionName: gs_main_run_string_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - make_const_string
    - gs_main_interpret
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_string_continue(gs_main_instance * minst, const char
      *str,\n         uint length, int user_errors, int *pexit_code, ref * perror_object)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 917
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 917
    functionName: gs_main_get_uel_offset
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint
    signature: uint gs_main_get_uel_offset(gs_main_instance * minst)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_empty_const_string
      Src: /src/libspectre/ghostscript/psi/imain.c:926,1
    - Dst: gs_main_interpret
      Src: /src/libspectre/ghostscript/psi/imain.c:927,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - minst
    - user_errors
    - pexit_code
    - perror_object
    argTypes:
    - gs_main_instance*
    - int
    - int*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 3
    functionLinenumber: 920
    functionLinenumberEnd: 929
    functionName: gs_main_run_string_end
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - make_empty_const_string
    - gs_main_interpret
    linkageType: ''
    returnType: int
    signature: "int gs_main_run_string_end(gs_main_instance * minst, int user_errors,\n
      \                      int *pexit_code, ref * perror_object)"
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 931
    functionDepth: 0
    functionLinenumber: 931
    functionLinenumberEnd: 940
    functionName: gs_main_get_device_memory
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gs_memory_t
    signature: 'gs_memory_t *

      gs_main_get_device_memory(gs_main_instance * minst)'
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:955,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:963,1
    - Dst: zsetdevice_no_safer
      Src: /src/libspectre/ghostscript/psi/imain.c:978,1
    - Dst: zcurrentdevice
      Src: /src/libspectre/ghostscript/psi/imain.c:980,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:982,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 2
    argNames:
    - minst
    - pdev
    argTypes:
    - gs_main_instance*
    - gx_device*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 942
    functionDepth: 2
    functionLinenumber: 942
    functionLinenumberEnd: 1001
    functionName: gs_main_set_device
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - zcurrentdevice
    - gs_main_run_string
    - zsetdevice_no_safer
    linkageType: ''
    returnType: int
    signature: int gs_main_set_device(gs_main_instance * minst, gx_device *pdev)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_push
      Src: /src/libspectre/ghostscript/psi/imain.c:1011,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/imain.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - minst
    - pvalue
    argTypes:
    - gs_main_instance*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: push_value
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - ref_stack_index
    - ref_stack_push
    linkageType: ''
    returnType: int
    signature: int push_value(gs_main_instance *minst, ref * pvalue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_bool
      Src: /src/libspectre/ghostscript/psi/imain.c:1024,1
    - Dst: push_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - minst
    - value
    argTypes:
    - gs_main_instance*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: gs_push_boolean
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_bool
    - push_value
    linkageType: ''
    returnType: int
    signature: int gs_push_boolean(gs_main_instance * minst, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:1033,1
    - Dst: push_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1034,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - minst
    - value
    argTypes:
    - gs_main_instance*
    - long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1035
    functionName: gs_push_integer
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_int
    - push_value
    linkageType: ''
    returnType: int
    signature: int gs_push_integer(gs_main_instance * minst, long value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/imain.c:1042,1
    - Dst: push_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - minst
    - value
    argTypes:
    - gs_main_instance*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1037
    functionDepth: 2
    functionLinenumber: 1037
    functionLinenumberEnd: 1044
    functionName: gs_push_real
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - make_real
    - push_value
    linkageType: ''
    returnType: int
    signature: int gs_push_real(gs_main_instance * minst, double value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1052,1
    - Dst: push_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1054,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - minst
    - chars
    - length
    - read_only
    argTypes:
    - gs_main_instance*
    - byte*
    - uint
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1055
      start: 1046
    functionDepth: 2
    functionLinenumber: 1046
    functionLinenumberEnd: 1055
    functionName: gs_push_string
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - push_value
    - make_string
    linkageType: ''
    returnType: int
    signature: "int gs_push_string(gs_main_instance * minst, byte * chars, uint length,\n
      \              bool read_only)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/imain.c:1060,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:1061,1
    - Dst: ref_stack_index
      Src: /src/libspectre/ghostscript/psi/imain.c:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - i_ctx_p
    - pvalue
    argTypes:
    - i_ctx_t*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1064
    functionName: pop_value
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - return_error
    - ref_stack_count
    - ref_stack_index
    linkageType: ''
    returnType: int
    signature: int pop_value(i_ctx_t *i_ctx_p, ref * pvalue)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1071,1
    - Dst: check_type_only
      Src: /src/libspectre/ghostscript/psi/imain.c:1075,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/imain.c:1077,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - minst
    - result
    argTypes:
    - gs_main_instance*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1066
    functionDepth: 2
    functionLinenumber: 1066
    functionLinenumberEnd: 1079
    functionName: gs_pop_boolean
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - ref_stack_pop
    - pop_value
    - check_type_only
    linkageType: ''
    returnType: int
    signature: int gs_pop_boolean(gs_main_instance * minst, bool * result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1086,1
    - Dst: check_type_only
      Src: /src/libspectre/ghostscript/psi/imain.c:1090,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/imain.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - minst
    - result
    argTypes:
    - gs_main_instance*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1081
    functionDepth: 2
    functionLinenumber: 1081
    functionLinenumberEnd: 1094
    functionName: gs_pop_integer
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - ref_stack_pop
    - pop_value
    - check_type_only
    linkageType: ''
    returnType: int
    signature: int gs_pop_integer(gs_main_instance * minst, long *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1101,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/imain.c:1105,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:1113,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/imain.c:1115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - minst
    - result
    argTypes:
    - gs_main_instance*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1117
    functionName: gs_pop_real
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - r_type
    - pop_value
    - return_error
    - ref_stack_pop
    linkageType: ''
    returnType: int
    signature: int gs_pop_real(gs_main_instance * minst, float *result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: pop_value
      Src: /src/libspectre/ghostscript/psi/imain.c:1124,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/imain.c:1128,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/imain.c:1130,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/imain.c:1134,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:1136,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:1139,1
    - Dst: ref_stack_pop
      Src: /src/libspectre/ghostscript/psi/imain.c:1141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - minst
    - result
    argTypes:
    - gs_main_instance*
    - gs_string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1119
    functionDepth: 2
    functionLinenumber: 1119
    functionLinenumberEnd: 1143
    functionName: gs_pop_string
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - ref_stack_pop
    - r_type
    - r_has_attr
    - return_error
    - pop_value
    - name_string_ref
    - r_size
    linkageType: ''
    returnType: int
    signature: int gs_pop_string(gs_main_instance * minst, gs_string * result)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1167,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1168,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/imain.c:1171,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/imain.c:1172,1
    - Dst: obj_string_data
      Src: /src/libspectre/ghostscript/psi/imain.c:1173,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/imain.c:1177,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/imain.c:1179,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/imain.c:1181,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/imain.c:1183,1
    - Dst: obj_string_data
      Src: /src/libspectre/ghostscript/psi/imain.c:1184,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:1185,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 1
    argNames:
    - minst
    argTypes:
    - gs_main_instance*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1193
      start: 1154
    functionDepth: 5
    functionLinenumber: 1154
    functionLinenumberEnd: 1193
    functionName: gs_main_tempnames
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - obj_string_data
    - malloc
    - memset
    - memcpy
    - dict_first
    - dict_next
    linkageType: ''
    returnType: char
    signature: char *gs_main_tempnames(gs_main_instance *minst)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_extend
      Src: /src/libspectre/ghostscript/psi/imain.c:1201,1
    - Dst: zend
      Src: /src/libspectre/ghostscript/psi/imain.c:1203,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/imain.c:1207,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1195
    functionDepth: 2
    functionLinenumber: 1195
    functionLinenumberEnd: 1208
    functionName: gs_finit_push_systemdict
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - ref_stack_extend
    - zend
    - ref_assign
    linkageType: ''
    returnType: void
    signature: void gs_finit_push_systemdict(i_ctx_t *i_ctx_p)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_tempnames
      Src: /src/libspectre/ghostscript/psi/imain.c:1230,1
    - Dst: gs_finit_push_systemdict
      Src: /src/libspectre/ghostscript/psi/imain.c:1237,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1246,1
    - Dst: interp_reclaim
      Src: /src/libspectre/ghostscript/psi/imain.c:1263,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/imain.c:1276,1
    - Dst: gs_errorname
      Src: /src/libspectre/ghostscript/psi/imain.c:1278,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/imain.c:1280,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:1281,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:1281,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/psi/imain.c:1282,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:1285,1
    - Dst: Memento_squeezing
      Src: /src/libspectre/ghostscript/psi/imain.c:1288,1
    - Dst: gx_device_is_null
      Src: /src/libspectre/ghostscript/psi/imain.c:1296,1
    - Dst: gs_grestoreall
      Src: /src/libspectre/ghostscript/psi/imain.c:1301,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/imain.c:1303,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:1304,1
    - Dst: gs_register_struct_root
      Src: /src/libspectre/ghostscript/psi/imain.c:1320,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/imain.c:1321,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/imain.c:1322,1
    - Dst: rc_adjust
      Src: /src/libspectre/ghostscript/psi/imain.c:1326,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1328,1
    - Dst: gs_closedevice
      Src: /src/libspectre/ghostscript/psi/imain.c:1333,1
    - Dst: gs_errorname
      Src: /src/libspectre/ghostscript/psi/imain.c:1336,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/imain.c:1338,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/imain.c:1339,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/imain.c:1339,1
    - Dst: emprintf3
      Src: /src/libspectre/ghostscript/psi/imain.c:1340,1
    - Dst: emprintf2
      Src: /src/libspectre/ghostscript/psi/imain.c:1343,1
    - Dst: gs_unregister_root
      Src: /src/libspectre/ghostscript/psi/imain.c:1346,1
    - Dst: rc_decrement
      Src: /src/libspectre/ghostscript/psi/imain.c:1347,1
    - Dst: gs_main_run_string
      Src: /src/libspectre/ghostscript/psi/imain.c:1353,1
    - Dst: gp_readline_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1359,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imain.c:1360,1
    - Dst: gs_debug_c
      Src: /src/libspectre/ghostscript/psi/imain.c:1362,1
    - Dst: print_resource_usage
      Src: /src/libspectre/ghostscript/psi/imain.c:1363,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:1364,1
    - Dst: alloc_restore_all
      Src: /src/libspectre/ghostscript/psi/imain.c:1373,1
    - Dst: emprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:1375,1
    - Dst: i_iodev_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1378,1
    - Dst: i_plugin_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1379,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/psi/imain.c:1385,1
    - Dst: gp_get_file
      Src: /src/libspectre/ghostscript/psi/imain.c:1386,1
    - Dst: gp_fclose
      Src: /src/libspectre/ghostscript/psi/imain.c:1387,1
    - Dst: gp_unlink
      Src: /src/libspectre/ghostscript/psi/imain.c:1397,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/imain.c:1398,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/imain.c:1400,1
    - Dst: gs_lib_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1402,1
    - Dst: set_lib_path_length
      Src: /src/libspectre/ghostscript/psi/imain.c:1404,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/imain.c:1405,1
    - Dst: ialloc_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1410,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 97
    argCount: 3
    argNames:
    - minst
    - exit_status
    - env_code
    argTypes:
    - gs_main_instance*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1412
      start: 1211
    functionDepth: 6
    functionLinenumber: 1211
    functionLinenumberEnd: 1412
    functionName: gs_main_finit
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_errorname
    - Memento_squeezing
    - strlen
    - rc_decrement
    - rc_adjust
    - gp_unlink
    - gs_finit_push_systemdict
    - alloc_restore_all
    - gs_debug_c
    - gs_closedevice
    - emprintf2
    - name_string_ref
    - gs_free_object
    - print_resource_usage
    - i_iodev_finit
    - gs_main_tempnames
    - gs_unregister_root
    - gp_get_file
    - free
    - gs_grestoreall
    - gs_register_struct_root
    - gs_lib_finit
    - emprintf3
    - i_plugin_finit
    - ialloc_finit
    - gp_readline_finit
    - gs_main_run_string
    - set_lib_path_length
    - emprintf1
    - dmprintf1
    - gp_fclose
    - memcpy
    - interp_reclaim
    - return_error
    - gx_device_is_null
    - r_size
    linkageType: ''
    returnType: int
    signature: int gs_main_finit(gs_main_instance * minst, int exit_status, int env_code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_main_finit
      Src: /src/libspectre/ghostscript/psi/imain.c:1416,1
    - Dst: get_minst_from_memory
      Src: /src/libspectre/ghostscript/psi/imain.c:1416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - mem
    - exit_status
    - code
    argTypes:
    - gs_memory_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1417
      start: 1413
    functionDepth: 7
    functionLinenumber: 1413
    functionLinenumberEnd: 1417
    functionName: gs_to_exit_with_code
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_main_finit
    - get_minst_from_memory
    linkageType: ''
    returnType: int
    signature: int gs_to_exit_with_code(const gs_memory_t *mem, int exit_status, int
      code)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gs_to_exit_with_code
      Src: /src/libspectre/ghostscript/psi/imain.c:1421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mem
    - exit_status
    argTypes:
    - gs_memory_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1422
      start: 1418
    functionDepth: 8
    functionLinenumber: 1418
    functionLinenumberEnd: 1422
    functionName: gs_to_exit
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 0
    functionsReached:
    - gs_to_exit_with_code
    linkageType: ''
    returnType: int
    signature: int gs_to_exit(const gs_memory_t *mem, int exit_status)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: gp_do_exit
      Src: /src/libspectre/ghostscript/psi/imain.c:1430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mem
    argTypes:
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1423
    functionDepth: 0
    functionLinenumber: 1423
    functionLinenumberEnd: 1431
    functionName: gs_abort
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 7
    functionsReached:
    - gp_do_exit
    linkageType: ''
    returnType: void
    signature: void gs_abort(const gs_memory_t *mem)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: gp_get_realtime
      Src: /src/libspectre/ghostscript/psi/imain.c:1445,1
    - Dst: countof
      Src: /src/libspectre/ghostscript/psi/imain.c:1447,1
    - Dst: gs_memory_stable
      Src: /src/libspectre/ghostscript/psi/imain.c:1452,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/imain.c:1454,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/imain.c:1457,1
    - Dst: gs_memory_status
      Src: /src/libspectre/ghostscript/psi/imain.c:1463,1
    - Dst: dmprintf5
      Src: /src/libspectre/ghostscript/psi/imain.c:1464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 3
    argNames:
    - minst
    - dmem
    - msg
    argTypes:
    - gs_main_instance*
    - gs_dual_memory_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1468
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1468
    functionName: print_resource_usage
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 2
    functionsReached:
    - countof
    - gs_memory_status
    - gp_get_realtime
    - dmprintf5
    - gs_memory_stable
    linkageType: ''
    returnType: void
    signature: "void print_resource_usage(const gs_main_instance * minst, gs_dual_memory_t
      * dmem,\n                     const char *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zflush
      Src: /src/libspectre/ghostscript/psi/imain.c:1476,1
    - Dst: dmprintf1
      Src: /src/libspectre/ghostscript/psi/imain.c:1477,1
    - Dst: dmputs
      Src: /src/libspectre/ghostscript/psi/imain.c:1479,1
    - Dst: debug_print_ref
      Src: /src/libspectre/ghostscript/psi/imain.c:1480,1
    - Dst: dmputc
      Src: /src/libspectre/ghostscript/psi/imain.c:1481,1
    - Dst: debug_dump_stack
      Src: /src/libspectre/ghostscript/psi/imain.c:1483,1
    - Dst: debug_dump_stack
      Src: /src/libspectre/ghostscript/psi/imain.c:1484,1
    - Dst: debug_dump_stack
      Src: /src/libspectre/ghostscript/psi/imain.c:1485,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - minst
    - code
    - perror_object
    argTypes:
    - gs_main_instance*
    - int
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1471
    functionDepth: 3
    functionLinenumber: 1471
    functionLinenumberEnd: 1486
    functionName: gs_main_dump_stack
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - dmputc
    - debug_print_ref
    - zflush
    - debug_dump_stack
    - dmprintf1
    - dmputs
    linkageType: ''
    returnType: void
    signature: void gs_main_dump_stack(gs_main_instance *minst, int code, ref * perror_object)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imain.c:1500,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1501,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/imain.c:1504,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1505,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/imain.c:1508,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1509,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - minst
    - resolutions
    argTypes:
    - gs_main_instance*
    - float*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1488
    functionDepth: 3
    functionLinenumber: 1488
    functionLinenumberEnd: 1510
    functionName: gs_main_force_resolutions
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - make_real
    - make_true
    - i_initial_enter_name
    linkageType: ''
    returnType: int
    signature: int gs_main_force_resolutions(gs_main_instance * minst, const float
      *resolutions)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: make_true
      Src: /src/libspectre/ghostscript/psi/imain.c:1523,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1524,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:1527,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1528,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/imain.c:1531,1
    - Dst: i_initial_enter_name
      Src: /src/libspectre/ghostscript/psi/imain.c:1532,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - minst
    - dimensions
    argTypes:
    - gs_main_instance*
    - long*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1533
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1533
    functionName: gs_main_force_dimensions
    functionSourceFile: /src/libspectre/ghostscript/psi/imain.c
    functionUses: 1
    functionsReached:
    - make_true
    - make_int
    - i_initial_enter_name
    linkageType: ''
    returnType: int
    signature: int gs_main_force_dimensions(gs_main_instance *minst, const long *dimensions)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type1crypt
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: ztype1encrypt
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 0
    functionsReached:
    - type1crypt
    linkageType: ''
    returnType: int
    signature: int ztype1encrypt(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: type1crypt
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 42
    functionName: ztype1decrypt
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 0
    functionsReached:
    - type1crypt
    linkageType: ''
    returnType: int
    signature: int ztype1decrypt(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:51,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:54,1
    - Dst: check_read_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:55,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:56,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:57,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:58,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:59,1
    - Dst: discard
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:60,1
    - Dst: r_set_size
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:64,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 67
    functionName: type1crypt
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 2
    functionsReached:
    - check_write_type
    - check_type
    - discard
    - r_set_size
    - pop
    - return_error
    - check_read_type
    - r_size
    linkageType: ''
    returnType: int
    signature: "int type1crypt(i_ctx_t *i_ctx_p,\n           int (*proc)(byte *, const
      byte *, uint, ushort *))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:76,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:78,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:81,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - op
    - pcstate
    argTypes:
    - os_ptr
    - ushort*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: eexec_param
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 0
    functionsReached:
    - return_error
    - r_has_type
    - check_type
    linkageType: ''
    returnType: int
    signature: int eexec_param(os_ptr op, ushort * pcstate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: eexec_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:92,1
    - Dst: filter_write
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:96,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 87
    functionDepth: 2
    functionLinenumber: 87
    functionLinenumberEnd: 97
    functionName: zexE
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 0
    functionsReached:
    - filter_write
    - eexec_param
    linkageType: ''
    returnType: int
    signature: int zexE(i_ctx_t *i_ctx_p)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:109,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:113,1
    - Dst: dict_uint_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:114,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:116,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:118,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:120,1
    - Dst: eexec_param
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:129,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:137,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:153,1
    - Dst: sbufavailable
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:155,1
    - Dst: filter_read
      Src: /src/libspectre/ghostscript/psi/zmisc1.c:163,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 30
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 101
    functionDepth: 3
    functionLinenumber: 101
    functionLinenumberEnd: 164
    functionName: zexD
    functionSourceFile: /src/libspectre/ghostscript/psi/zmisc1.c
    functionUses: 0
    functionsReached:
    - filter_read
    - dict_int_param
    - r_has_type
    - eexec_param
    - sbufavailable
    - check_dict_read
    - dict_uint_param
    - dict_bool_param
    linkageType: ''
    returnType: int
    signature: int zexD(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: name_index_ref
      Src: /src/libspectre/ghostscript/psi/zht2.c:56,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zht2.c:57,1
    - Dst: obj_string_data
      Src: /src/libspectre/ghostscript/psi/zht2.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pgs
    - colorname_index
    - ppstr
    - pname_size
    argTypes:
    - gs_gstate*
    - gs_separation_name
    - unsigned char**
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 1
    functionLinenumber: 50
    functionLinenumberEnd: 59
    functionName: gs_get_colorname_string
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - name_index_ref
    - name_string_ref
    - obj_string_data
    linkageType: ''
    returnType: int
    signature: "int gs_get_colorname_string(gs_gstate *pgs, gs_separation_name colorname_index,\n
      \                       unsigned char **ppstr, unsigned int *pname_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - y
    argTypes:
    - double
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 66
    functionName: spot1_dummy
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: float
    signature: float spot1_dummy(double x, double y)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zht2.c:86,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zht2.c:97,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:98,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:99,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:100,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/zht2.c:102,1
    - Dst: r_space_index
      Src: /src/libspectre/ghostscript/psi/zht2.c:103,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:107,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:108,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:109,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:110,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:118,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/zht2.c:131,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:137,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:139,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zht2.c:143,1
    - Dst: gs_get_colorname_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:144,1
    - Dst: gs_cname_to_colorant_number
      Src: /src/libspectre/ghostscript/psi/zht2.c:147,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:154,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:164,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:169,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zht2.c:172,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zht2.c:173,1
    - Dst: refset_null
      Src: /src/libspectre/ghostscript/psi/zht2.c:174,1
    - Dst: rc_alloc_struct_0
      Src: /src/libspectre/ghostscript/psi/zht2.c:175,1
    - Dst: gs_alloc_struct_array
      Src: /src/libspectre/ghostscript/psi/zht2.c:177,1
    - Dst: rc_alloc_struct_0
      Src: /src/libspectre/ghostscript/psi/zht2.c:180,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:186,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/zht2.c:190,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/zht2.c:195,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:201,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:203,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zht2.c:207,1
    - Dst: gs_get_colorname_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:208,1
    - Dst: gs_cname_to_colorant_number
      Src: /src/libspectre/ghostscript/psi/zht2.c:211,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:219,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:220,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:221,1
    - Dst: gs_note_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:226,1
    - Dst: dict_spot_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:229,1
    - Dst: dict_threshold_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:235,1
    - Dst: dict_threshold2_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:240,1
    - Dst: gs_sethalftone_prepare
      Src: /src/libspectre/ghostscript/psi/zht2.c:256,1
    - Dst: dict_first
      Src: /src/libspectre/ghostscript/psi/zht2.c:262,1
    - Dst: dict_next
      Src: /src/libspectre/ghostscript/psi/zht2.c:265,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:269,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:271,1
    - Dst: name_index
      Src: /src/libspectre/ghostscript/psi/zht2.c:275,1
    - Dst: gs_get_colorname_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:276,1
    - Dst: gs_cname_to_colorant_number
      Src: /src/libspectre/ghostscript/psi/zht2.c:279,1
    - Dst: dict_spot_results
      Src: /src/libspectre/ghostscript/psi/zht2.c:285,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zht2.c:298,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zht2.c:303,1
    - Dst: make_mark_estack
      Src: /src/libspectre/ghostscript/psi/zht2.c:306,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zht2.c:308,1
    - Dst: make_istruct
      Src: /src/libspectre/ghostscript/psi/zht2.c:309,1
    - Dst: make_op_estack
      Src: /src/libspectre/ghostscript/psi/zht2.c:310,1
    - Dst: zscreen_enum_init
      Src: /src/libspectre/ghostscript/psi/zht2.c:330,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:338,1
    - Dst: check_ostack
      Src: /src/libspectre/ghostscript/psi/zht2.c:341,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zht2.c:342,1
    - Dst: zcolor_remap_one
      Src: /src/libspectre/ghostscript/psi/zht2.c:343,1
    - Dst: ref_stack_pop_to
      Src: /src/libspectre/ghostscript/psi/zht2.c:354,1
    - Dst: ref_stack_pop_to
      Src: /src/libspectre/ghostscript/psi/zht2.c:355,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:365,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:366,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:367,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zht2.c:370,1
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zht2.c:371,1
    CyclomaticComplexity: 76
    EdgeCount: 76
    ICount: 191
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 372
    functionName: zsethalftone5
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - name_index
    - dict_threshold_params
    - make_op_estack
    - dict_spot_results
    - make_mark_estack
    - gs_alloc_struct_array
    - gs_cname_to_colorant_number
    - dict_int_param
    - gs_sethalftone_prepare
    - ref_stack_count
    - check_dict_read
    - gs_note_error
    - dict_threshold2_params
    - check_ostack
    - gs_get_colorname_string
    - gs_free_object
    - rc_alloc_struct_0
    - zscreen_enum_init
    - r_has_type
    - dict_spot_params
    - make_istruct
    - check_type
    - dict_first
    - check_estack
    - refset_null
    - pop
    - r_space_index
    - return_error
    - zcolor_remap_one
    - ref_stack_pop_to
    - dict_next
    linkageType: ''
    returnType: int
    signature: int zsethalftone5(i_ctx_t *i_ctx_p)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: ref_stack_count
      Src: /src/libspectre/ghostscript/psi/zht2.c:393,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:394,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:395,1
    - Dst: r_space_index
      Src: /src/libspectre/ghostscript/psi/zht2.c:397,1
    - Dst: check_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:400,1
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:401,1
    - Dst: htsc_set_default_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:403,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:410,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:413,1
    - Dst: name_string_ref
      Src: /src/libspectre/ghostscript/psi/zht2.c:415,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:416,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zht2.c:416,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:418,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zht2.c:418,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:420,1
    - Dst: memcmp
      Src: /src/libspectre/ghostscript/psi/zht2.c:420,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:425,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:427,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:429,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:433,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:437,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:441,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:445,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:447,1
    - Dst: htsc_gen_ordered
      Src: /src/libspectre/ghostscript/psi/zht2.c:451,1
    - Dst: ialloc_ref_array
      Src: /src/libspectre/ghostscript/psi/zht2.c:459,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:462,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:463,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:465,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:487,1
    - Dst: ialloc_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:493,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:516,1
    - Dst: dict_create
      Src: /src/libspectre/ghostscript/psi/zht2.c:522,1
    - Dst: make_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:525,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:526,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:528,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:529,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:531,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:532,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zht2.c:534,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:535,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:546,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 133
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 377
    functionDepth: 3
    functionLinenumber: 377
    functionLinenumberEnd: 549
    functionName: zgenordered
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - htsc_gen_ordered
    - idict_put_string
    - ialloc_string
    - memcmp
    - dict_int_param
    - ref_stack_count
    - check_dict_read
    - name_string_ref
    - gs_free_object
    - htsc_set_default_params
    - r_has_type
    - check_type
    - ialloc_ref_array
    - make_string
    - dict_float_param
    - make_int
    - dict_find_string
    - r_size
    - dict_create
    - r_space_index
    - return_error
    - dict_bool_param
    linkageType: ''
    returnType: int
    signature: int zgenordered(i_ctx_t *i_ctx_p)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zht2.c:555,1
    - Dst: gx_ht_install
      Src: /src/libspectre/ghostscript/psi/zht2.c:560,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zht2.c:560,1
    - Dst: sethalftone_cleanup
      Src: /src/libspectre/ghostscript/psi/zht2.c:563,1
    - Dst: sethalftone_cleanup
      Src: /src/libspectre/ghostscript/psi/zht2.c:568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 552
    functionDepth: 5
    functionLinenumber: 552
    functionLinenumberEnd: 570
    functionName: sethalftone_finish
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - sethalftone_cleanup
    - r_ptr
    - gx_ht_install
    linkageType: ''
    returnType: int
    signature: int sethalftone_finish(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zht2.c:575,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zht2.c:576,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:578,1
    - Dst: gs_free_object
      Src: /src/libspectre/ghostscript/psi/zht2.c:580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 583
    functionName: sethalftone_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 1
    functionsReached:
    - r_ptr
    - gs_free_object
    linkageType: ''
    returnType: int
    signature: int sethalftone_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:607,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:608,1
    - Dst: dict_float_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:610,1
    - Dst: dict_proc_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:612,1
    - Dst: dict_bool_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:613,1
    - Dst: gs_currentaccuratescreens
      Src: /src/libspectre/ghostscript/psi/zht2.c:614,1
    - Dst: dict_proc_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:616,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 5
    argNames:
    - pdict
    - psp
    - psproc
    - ptproc
    - mem
    argTypes:
    - ref*
    - gs_spot_halftone*
    - ref*
    - ref*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 623
    functionName: dict_spot_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 1
    functionsReached:
    - gs_currentaccuratescreens
    - dict_proc_param
    - check_dict_read
    - dict_float_param
    - dict_bool_param
    linkageType: ''
    returnType: int
    signature: "int dict_spot_params(const ref * pdict, gs_spot_halftone * psp,\n
      \                ref * psproc, ref * ptproc, gs_memory_t *mem)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:632,1
    - Dst: check_dict_write
      Src: /src/libspectre/ghostscript/psi/zht2.c:635,1
    - Dst: make_real
      Src: /src/libspectre/ghostscript/psi/zht2.c:636,1
    - Dst: idict_put_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - i_ctx_p
    - pdict
    - kstr
    - val
    argTypes:
    - i_ctx_t*
    - ref*
    - char*
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 626
    functionDepth: 3
    functionLinenumber: 626
    functionLinenumberEnd: 640
    functionName: dict_real_result
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - dict_find_string
    - idict_put_string
    - make_real
    - check_dict_write
    linkageType: ''
    returnType: int
    signature: int dict_real_result(i_ctx_t *i_ctx_p, ref * pdict, const char *kstr,
      double val)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dict_real_result
      Src: /src/libspectre/ghostscript/psi/zht2.c:646,1
    - Dst: dict_real_result
      Src: /src/libspectre/ghostscript/psi/zht2.c:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - i_ctx_p
    - pdict
    - psp
    argTypes:
    - i_ctx_t*
    - ref*
    - gs_spot_halftone*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 641
    functionDepth: 4
    functionLinenumber: 641
    functionLinenumberEnd: 652
    functionName: dict_spot_results
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 1
    functionsReached:
    - dict_real_result
    linkageType: ''
    returnType: int
    signature: int dict_spot_results(i_ctx_t *i_ctx_p, ref * pdict, const gs_spot_halftone
      * psp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: check_dict_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:662,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:663,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:665,1
    - Dst: dict_find_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:667,1
    - Dst: dict_proc_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:668,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 4
    argNames:
    - pdict
    - ptp
    - pptstring
    - ptproc
    argTypes:
    - ref*
    - gs_threshold_halftone_common*
    - ref**
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 655
    functionDepth: 3
    functionLinenumber: 655
    functionLinenumberEnd: 674
    functionName: dict_threshold_common_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 0
    functionsReached:
    - check_dict_read
    - dict_proc_param
    - dict_find_string
    - dict_int_param
    linkageType: ''
    returnType: int
    signature: "int dict_threshold_common_params(const ref * pdict,\n                             gs_threshold_halftone_common
      * ptp,\n                             ref **pptstring, ref *ptproc)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dict_threshold_common_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:683,1
    - Dst: check_read_type_only
      Src: /src/libspectre/ghostscript/psi/zht2.c:689,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:690,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:691,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - pdict
    - ptp
    - ptproc
    argTypes:
    - ref*
    - gs_threshold_halftone*
    - ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 677
    functionDepth: 4
    functionLinenumber: 677
    functionLinenumberEnd: 696
    functionName: dict_threshold_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 1
    functionsReached:
    - return_error
    - r_size
    - dict_threshold_common_params
    - check_read_type_only
    linkageType: ''
    returnType: int
    signature: "int dict_threshold_params(const ref * pdict, gs_threshold_halftone
      * ptp,\n                      ref * ptproc)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dict_threshold_common_params
      Src: /src/libspectre/ghostscript/psi/zht2.c:706,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:716,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:718,1
    - Dst: dict_int_param
      Src: /src/libspectre/ghostscript/psi/zht2.c:720,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:726,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:728,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:730,1
    - Dst: gs_bytestring_from_string
      Src: /src/libspectre/ghostscript/psi/zht2.c:731,1
    - Dst: gs_object_type
      Src: /src/libspectre/ghostscript/psi/zht2.c:735,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:736,1
    - Dst: gs_object_size
      Src: /src/libspectre/ghostscript/psi/zht2.c:737,1
    - Dst: gs_bytestring_from_bytes
      Src: /src/libspectre/ghostscript/psi/zht2.c:738,1
    - Dst: r_ptr
      Src: /src/libspectre/ghostscript/psi/zht2.c:738,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:742,1
    - Dst: check_read
      Src: /src/libspectre/ghostscript/psi/zht2.c:744,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zht2.c:747,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 25
    argCount: 4
    argNames:
    - pdict
    - ptp
    - ptproc
    - mem
    argTypes:
    - ref*
    - gs_threshold2_halftone*
    - ref*
    - gs_memory_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 700
    functionDepth: 4
    functionLinenumber: 700
    functionLinenumberEnd: 749
    functionName: dict_threshold2_params
    functionSourceFile: /src/libspectre/ghostscript/psi/zht2.c
    functionUses: 1
    functionsReached:
    - r_type
    - gs_bytestring_from_string
    - dict_int_param
    - gs_object_type
    - r_ptr
    - check_read
    - gs_object_size
    - return_error
    - gs_bytestring_from_bytes
    - dict_threshold_common_params
    - r_size
    linkageType: ''
    returnType: int
    signature: "int dict_threshold2_params(const ref * pdict, gs_threshold2_halftone
      * ptp,\n                       ref * ptproc, gs_memory_t *mem)"
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zalg.c:61,1
    - Dst: r_type
      Src: /src/libspectre/ghostscript/psi/zalg.c:61,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zalg.c:62,1
    - Dst: check_write_type
      Src: /src/libspectre/ghostscript/psi/zalg.c:63,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zalg.c:65,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zalg.c:66,1
    - Dst: r_btype
      Src: /src/libspectre/ghostscript/psi/zalg.c:67,1
    - Dst: r_has_attr
      Src: /src/libspectre/ghostscript/psi/zalg.c:72,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zalg.c:73,1
    - Dst: return_op_typecheck
      Src: /src/libspectre/ghostscript/psi/zalg.c:80,1
    - Dst: r_size
      Src: /src/libspectre/ghostscript/psi/zalg.c:86,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zalg.c:88,1
    - Dst: check_estack
      Src: /src/libspectre/ghostscript/psi/zalg.c:91,1
    - Dst: push_mark_estack
      Src: /src/libspectre/ghostscript/psi/zalg.c:92,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zalg.c:93,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zalg.c:94,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zalg.c:95,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zalg.c:96,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zalg.c:97,1
    - Dst: make_int
      Src: /src/libspectre/ghostscript/psi/zalg.c:98,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:99,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:100,1
    - Dst: make_op_estack
      Src: /src/libspectre/ghostscript/psi/zalg.c:102,1
    - Dst: make_null
      Src: /src/libspectre/ghostscript/psi/zalg.c:103,1
    - Dst: zsort_continue
      Src: /src/libspectre/ghostscript/psi/zalg.c:104,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 106
    functionName: zsort
    functionSourceFile: /src/libspectre/ghostscript/psi/zalg.c
    functionUses: 0
    functionsReached:
    - r_type
    - r_has_attr
    - make_null
    - make_int
    - ref_assign
    - make_op_estack
    - r_size
    - return_op_typecheck
    - zsort_continue
    - push_mark_estack
    - pop
    - return_error
    - r_btype
    - check_estack
    - check_write_type
    linkageType: ''
    returnType: int
    signature: int zsort(i_ctx_t *i_ctx_p)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:130,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:132,1
    - Dst: ref_assign_old
      Src: /src/libspectre/ghostscript/psi/zalg.c:133,1
    - Dst: ref_assign_old
      Src: /src/libspectre/ghostscript/psi/zalg.c:136,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zalg.c:138,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zalg.c:152,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:153,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:154,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zalg.c:158,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zalg.c:159,1
    - Dst: push
      Src: /src/libspectre/ghostscript/psi/zalg.c:163,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:164,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:165,1
    - Dst: r_has_type
      Src: /src/libspectre/ghostscript/psi/zalg.c:168,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zalg.c:170,1
    - Dst: ref_assign_old
      Src: /src/libspectre/ghostscript/psi/zalg.c:173,1
    - Dst: ref_assign_old
      Src: /src/libspectre/ghostscript/psi/zalg.c:176,1
    - Dst: pop
      Src: /src/libspectre/ghostscript/psi/zalg.c:180,1
    - Dst: return_error
      Src: /src/libspectre/ghostscript/psi/zalg.c:182,1
    - Dst: ref_assign
      Src: /src/libspectre/ghostscript/psi/zalg.c:185,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 74
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 194
    functionName: zsort_continue
    functionSourceFile: /src/libspectre/ghostscript/psi/zalg.c
    functionUses: 1
    functionsReached:
    - ref_assign
    - r_has_type
    - ref_assign_old
    - push
    - pop
    - return_error
    linkageType: ''
    returnType: int
    signature: int zsort_continue(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - i_ctx_p
    argTypes:
    - i_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    functionName: zsort_cleanup
    functionSourceFile: /src/libspectre/ghostscript/psi/zalg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int zsort_cleanup(i_ctx_t *i_ctx_p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 43
    functionName: ialloc_bytes
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_bytes(nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 45
    functionName: ialloc_struct
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_struct(typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - nelts
    - ','
    - esize
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 47
    functionName: ialloc_byte_array
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_byte_array(nelts, esize, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - nelts
    - ','
    - typ
    - ','
    - pstype
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 49
    functionName: ialloc_struct_array
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_struct_array(nelts, typ, pstype, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 51
    functionName: ifree_object
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ifree_object(data, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - data
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 53
    functionName: ifree_const_object
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ifree_const_object(data, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 55
    functionName: ialloc_string
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_string(nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - data
    - ','
    - oldn
    - ','
    - newn
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 57
    functionName: iresize_string
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iresize_string(data, oldn, newn, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 59
    functionName: ifree_string
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ifree_string(data, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - data
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 61
    functionName: ifree_const_string
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ifree_const_string(data, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: ivalidate_spaces
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ivalidate_spaces()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dmem
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: ialloc_space
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_space(dmem)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - paref
    - ','
    - attrs
    - ','
    - nrefs
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: ialloc_ref_array
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_ref_array(paref, attrs, nrefs, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - paref
    - ','
    - nrefs
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 109
    functionName: iresize_ref_array
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: iresize_ref_array(paref, nrefs, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - paref
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: ifree_ref_array
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ifree_ref_array(paref, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - psref
    - ','
    - attrs
    - ','
    - nbytes
    - ','
    - cname
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 115
    functionName: ialloc_string_ref
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ialloc_string_ref(psref, attrs, nbytes, cname)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pref
    - ','
    - attrs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: make_istruct
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_istruct(pref,attrs,ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pref
    - ','
    - attrs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: make_istruct_new
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_istruct_new(pref,attrs,ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pref
    - ','
    - attrs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 123
    functionName: make_iastruct
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_iastruct(pref,attrs,ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pref
    - ','
    - attrs
    - ','
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: make_iastruct_new
    functionSourceFile: /src/libspectre/ghostscript/psi/ialloc.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: make_iastruct_new(pref,attrs,ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    functionName: esenum
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esenum(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: esslot
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esslot(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    functionName: esodepth
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esodepth(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    functionName: esddepth
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esddepth(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: esgslevel
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esgslevel(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: essfont
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: essfont(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    functionName: esrfont
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: esrfont(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    functionName: eseproc
    functionSourceFile: /src/libspectre/ghostscript/psi/ichar.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: eseproc(ep)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: min
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 273
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: min(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: max
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 183
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: max(a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - buf
    - w
    - count
    argTypes:
    - wchar_t*
    - wchar_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 78
    functionName: wmemset
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: wchar_t
    signature: wchar_t *wmemset(wchar_t *buf, wchar_t w, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MessageBoxA
      Src: /src/libspectre/ghostscript/psi/dwtext.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - message
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 85
    functionName: text_error
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - MessageBoxA
    linkageType: ''
    returnType: void
    signature: void text_error(char *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetScrollInfo
      Src: /src/libspectre/ghostscript/psi/dwtext.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 99
    functionName: UpdateScrollBarX
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - SetScrollInfo
    linkageType: ''
    returnType: void
    signature: void UpdateScrollBarX(TW *tw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetScrollInfo
      Src: /src/libspectre/ghostscript/psi/dwtext.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 113
    functionName: UpdateScrollBarY
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - SetScrollInfo
    linkageType: ''
    returnType: void
    signature: void UpdateScrollBarY(TW *tw)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:129,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:131,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:136,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:138,1
    - Dst: ScrollWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:143,1
    - Dst: UpdateScrollBarX
      Src: /src/libspectre/ghostscript/psi/dwtext.c:144,1
    - Dst: UpdateScrollBarY
      Src: /src/libspectre/ghostscript/psi/dwtext.c:145,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:146,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 148
    functionName: text_to_cursor
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - ScrollWindow
    - UpdateScrollBarX
    - UpdateScrollBarY
    - max
    - UpdateWindow
    - min
    linkageType: ''
    returnType: void
    signature: void text_to_cursor(TW *tw)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/libspectre/ghostscript/psi/dwtext.c:157,1
    - Dst: wmemset
      Src: /src/libspectre/ghostscript/psi/dwtext.c:159,1
    - Dst: ScrollWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:161,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:162,1
    - Dst: text_to_cursor
      Src: /src/libspectre/ghostscript/psi/dwtext.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 168
    functionName: text_new_line
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - text_to_cursor
    - wmemset
    - ScrollWindow
    - memmove
    - UpdateWindow
    linkageType: ''
    returnType: void
    signature: void text_new_line(TW *tw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: GetDC
      Src: /src/libspectre/ghostscript/psi/dwtext.c:179,1
    - Dst: SelectFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:180,1
    - Dst: TextOutW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:181,1
    - Dst: ReleaseDC
      Src: /src/libspectre/ghostscript/psi/dwtext.c:186,1
    - Dst: text_new_line
      Src: /src/libspectre/ghostscript/psi/dwtext.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - tw
    - count
    argTypes:
    - TW*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 172
    functionDepth: 2
    functionLinenumber: 172
    functionLinenumberEnd: 190
    functionName: text_update_text
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - text_new_line
    - SelectFont
    - ReleaseDC
    - GetDC
    - TextOutW
    linkageType: ''
    returnType: void
    signature: void text_update_text(TW *tw, int count)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:195,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - tw
    - width
    - height
    argTypes:
    - TW*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: text_size
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 4
    functionsReached:
    - max
    linkageType: ''
    returnType: void
    signature: void text_size(TW *tw, int width, int height)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:215,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:216,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:216,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:219,1
    - Dst: GetDC
      Src: /src/libspectre/ghostscript/psi/dwtext.c:223,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dwtext.c:224,1
    - Dst: strncpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:225,1
    - Dst: MulDiv
      Src: /src/libspectre/ghostscript/psi/dwtext.c:226,1
    - Dst: GetDeviceCaps
      Src: /src/libspectre/ghostscript/psi/dwtext.c:226,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/psi/dwtext.c:229,1
    - Dst: strstr
      Src: /src/libspectre/ghostscript/psi/dwtext.c:233,1
    - Dst: DeleteFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:238,1
    - Dst: CreateFontIndirectA
      Src: /src/libspectre/ghostscript/psi/dwtext.c:240,1
    - Dst: SelectFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:243,1
    - Dst: GetTextMetrics
      Src: /src/libspectre/ghostscript/psi/dwtext.c:244,1
    - Dst: CreateCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:249,1
    - Dst: ReleaseDC
      Src: /src/libspectre/ghostscript/psi/dwtext.c:250,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - tw
    - name
    - size
    argTypes:
    - TW*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 199
    functionDepth: 5
    functionLinenumber: 199
    functionLinenumberEnd: 256
    functionName: text_font
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - strstr
    - strlen
    - strcpy
    - GetDeviceCaps
    - strncpy
    - malloc
    - CreateFontIndirectA
    - free
    - memset
    - DeleteFont
    - SelectFont
    - CreateCaret
    - ReleaseDC
    - GetDC
    - MulDiv
    - GetTextMetrics
    linkageType: ''
    returnType: void
    signature: void text_font(TW *tw, const char *name, int size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:263,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:265,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:269,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:269,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:271,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:272,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:272,1
    - Dst: strcpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:274,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - tw
    - pre
    - post
    argTypes:
    - TW*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 5
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: text_drag
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - malloc
    - free
    - strlen
    - strcpy
    linkageType: ''
    returnType: void
    signature: void text_drag(TW *tw, const char *pre, const char *post)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - tw
    - x
    - y
    - cx
    - cy
    argTypes:
    - TW*
    - int
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 285
    functionName: text_setpos
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void text_setpos(TW *tw, int x, int y, int cx, int cy)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 5
    argNames:
    - tw
    - px
    - py
    - pcx
    - pcy
    argTypes:
    - TW*
    - int*
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 295
    functionName: text_getpos
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int text_getpos(TW *tw, int *px, int *py, int *pcx, int *pcy)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:302,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dwtext.c:306,1
    - Dst: text_font
      Src: /src/libspectre/ghostscript/psi/dwtext.c:309,1
    - Dst: text_size
      Src: /src/libspectre/ghostscript/psi/dwtext.c:310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 298
    functionDepth: 6
    functionLinenumber: 298
    functionLinenumberEnd: 326
    functionName: text_new
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 7
    functionsReached:
    - malloc
    - text_font
    - text_size
    - memset
    linkageType: ''
    returnType: TW
    signature: 'TW *

      text_new(void)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DestroyWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:333,1
    - Dst: DeleteFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:337,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:340,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:343,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:346,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:349,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:352,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:355,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 357
    functionName: text_destroy
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - free
    - DestroyWindow
    - DeleteFont
    linkageType: ''
    returnType: void
    signature: void text_destroy(TW *tw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libspectre/ghostscript/psi/dwtext.c:364,1
    - Dst: LoadIcon
      Src: /src/libspectre/ghostscript/psi/dwtext.c:373,1
    - Dst: LoadCursor
      Src: /src/libspectre/ghostscript/psi/dwtext.c:374,1
    - Dst: GetStockBrush
      Src: /src/libspectre/ghostscript/psi/dwtext.c:375,1
    - Dst: RegisterClassW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - tw
    - hicon
    argTypes:
    - TW*
    - HICON
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 360
    functionDepth: 0
    functionLinenumber: 360
    functionLinenumberEnd: 379
    functionName: text_register_class
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - LoadIcon
    - GetModuleHandle
    - LoadCursor
    - RegisterClassW
    - GetStockBrush
    linkageType: ''
    returnType: int
    signature: int text_register_class(TW *tw, HICON hicon)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: GetModuleHandle
      Src: /src/libspectre/ghostscript/psi/dwtext.c:385,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:389,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:389,1
    - Dst: text_error
      Src: /src/libspectre/ghostscript/psi/dwtext.c:391,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:413,1
    - Dst: text_error
      Src: /src/libspectre/ghostscript/psi/dwtext.c:415,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:418,1
    - Dst: text_error
      Src: /src/libspectre/ghostscript/psi/dwtext.c:420,1
    - Dst: wmemset
      Src: /src/libspectre/ghostscript/psi/dwtext.c:423,1
    - Dst: CreateWindowW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:425,1
    - Dst: MessageBoxA
      Src: /src/libspectre/ghostscript/psi/dwtext.c:431,1
    - Dst: ShowWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:435,1
    - Dst: GetSystemMenu
      Src: /src/libspectre/ghostscript/psi/dwtext.c:436,1
    - Dst: AppendMenu
      Src: /src/libspectre/ghostscript/psi/dwtext.c:437,1
    - Dst: AppendMenuA
      Src: /src/libspectre/ghostscript/psi/dwtext.c:438,1
    - Dst: AppendMenuA
      Src: /src/libspectre/ghostscript/psi/dwtext.c:439,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 42
    argCount: 3
    argNames:
    - tw
    - app_name
    - show_cmd
    argTypes:
    - TW*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 382
    functionDepth: 5
    functionLinenumber: 382
    functionLinenumberEnd: 442
    functionName: text_create
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - wmemset
    - text_error
    - AppendMenuA
    - GetModuleHandle
    - ShowWindow
    - strlen
    - AppendMenu
    - CreateWindowW
    - malloc
    - MessageBoxA
    - GetSystemMenu
    linkageType: ''
    returnType: int
    signature: int text_create(TW *tw, const char *app_name, int show_cmd)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: text_to_cursor
      Src: /src/libspectre/ghostscript/psi/dwtext.c:457,1
    - Dst: text_new_line
      Src: /src/libspectre/ghostscript/psi/dwtext.c:460,1
    - Dst: MessageBeep
      Src: /src/libspectre/ghostscript/psi/dwtext.c:463,1
    - Dst: text_to_cursor
      Src: /src/libspectre/ghostscript/psi/dwtext.c:465,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:470,1
    - Dst: text_update_text
      Src: /src/libspectre/ghostscript/psi/dwtext.c:491,1
    - Dst: text_update_text
      Src: /src/libspectre/ghostscript/psi/dwtext.c:502,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 2
    argNames:
    - tw
    - ch
    argTypes:
    - TW*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 506
    functionName: text_putch
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - text_to_cursor
    - text_update_text
    - text_new_line
    - MessageBeep
    - text_putch
    linkageType: ''
    returnType: int
    signature: int text_putch(TW *tw, int ch)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: text_update_text
      Src: /src/libspectre/ghostscript/psi/dwtext.c:534,1
    - Dst: text_new_line
      Src: /src/libspectre/ghostscript/psi/dwtext.c:538,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:543,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 32
    argCount: 3
    argNames:
    - tw
    - str
    - cnt
    argTypes:
    - TW*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 508
    functionDepth: 4
    functionLinenumber: 508
    functionLinenumberEnd: 548
    functionName: text_write_buf
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 2
    functionsReached:
    - text_putch
    - text_new_line
    - text_update_text
    linkageType: ''
    returnType: void
    signature: void text_write_buf(TW *tw, const char *str, int cnt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: text_write_buf
      Src: /src/libspectre/ghostscript/psi/dwtext.c:554,1
    - Dst: strlen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - tw
    - str
    argTypes:
    - TW*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 551
    functionDepth: 5
    functionLinenumber: 551
    functionLinenumberEnd: 555
    functionName: text_puts
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 9
    functionsReached:
    - text_write_buf
    - strlen
    linkageType: ''
    returnType: void
    signature: void text_puts(TW *tw, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 562
    functionName: text_kbhit
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int text_kbhit(TW *tw)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: text_to_cursor
      Src: /src/libspectre/ghostscript/psi/dwtext.c:571,1
    - Dst: SetCaretPos
      Src: /src/libspectre/ghostscript/psi/dwtext.c:574,1
    - Dst: ShowCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:577,1
    - Dst: PeekMessageW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:580,1
    - Dst: GetMessageW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:581,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:582,1
    - Dst: DispatchMessageW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:583,1
    - Dst: text_kbhit
      Src: /src/libspectre/ghostscript/psi/dwtext.c:590,1
    - Dst: GetMessageW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:592,1
    - Dst: TranslateMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:593,1
    - Dst: DispatchMessageW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:594,1
    - Dst: HideCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:607,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 610
    functionName: text_getch
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - text_to_cursor
    - GetMessageW
    - SetCaretPos
    - text_kbhit
    - ShowCaret
    - HideCaret
    - TranslateMessage
    - PeekMessageW
    - DispatchMessageW
    linkageType: ''
    returnType: int
    signature: int text_getch(TW *tw)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: text_getch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:627,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:637,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:638,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:639,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:652,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:653,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:654,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:664,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:676,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:677,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 56
    argCount: 3
    argNames:
    - tw
    - line
    - len
    argTypes:
    - TW*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 618
    functionDepth: 4
    functionLinenumber: 618
    functionLinenumberEnd: 687
    functionName: text_read_line
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - text_putch
    - memcpy
    - min
    - text_getch
    linkageType: ''
    returnType: int
    signature: int text_read_line(TW *tw, char *line, int len)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: text_getch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:700,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:707,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:708,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:709,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:722,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:723,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:724,1
    - Dst: text_putch
      Src: /src/libspectre/ghostscript/psi/dwtext.c:730,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 3
    argNames:
    - tw
    - line
    - len
    argTypes:
    - TW*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 691
    functionDepth: 4
    functionLinenumber: 691
    functionLinenumberEnd: 737
    functionName: text_gets
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - text_putch
    - text_getch
    linkageType: ''
    returnType: int
    signature: int text_gets(TW *tw, char *line, int len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dwmain_remove_file_control_path
      Src: /src/libspectre/ghostscript/psi/dwtext.c:745,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:746,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:751,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - tw
    - freelist
    argTypes:
    - TW*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 739
    functionDepth: 0
    functionLinenumber: 739
    functionLinenumberEnd: 755
    functionName: text_clear_drag_and_drop_list
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsReached:
    - free
    - dwmain_remove_file_control_path
    linkageType: ''
    returnType: void
    signature: void text_clear_drag_and_drop_list(TW* tw, int freelist)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: text_clear_drag_and_drop_list
      Src: /src/libspectre/ghostscript/psi/dwtext.c:767,1
    - Dst: DragQueryFile
      Src: /src/libspectre/ghostscript/psi/dwtext.c:768,1
    - Dst: free
      Src: /src/libspectre/ghostscript/psi/dwtext.c:770,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:771,1
    - Dst: memset
      Src: /src/libspectre/ghostscript/psi/dwtext.c:776,1
    - Dst: DragQueryFile
      Src: /src/libspectre/ghostscript/psi/dwtext.c:780,1
    - Dst: malloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:781,1
    - Dst: DragQueryFile
      Src: /src/libspectre/ghostscript/psi/dwtext.c:783,1
    - Dst: dwmain_add_file_control_path
      Src: /src/libspectre/ghostscript/psi/dwtext.c:785,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:788,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:791,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:793,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:796,1
    - Dst: DragFinish
      Src: /src/libspectre/ghostscript/psi/dwtext.c:801,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 2
    argNames:
    - tw
    - hdrop
    argTypes:
    - TW*
    - HDROP
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 758
    functionDepth: 5
    functionLinenumber: 758
    functionLinenumberEnd: 802
    functionName: text_drag_drop
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - SendMessage
    - DragFinish
    - malloc
    - DragQueryFile
    - free
    - memset
    - dwmain_add_file_control_path
    - text_clear_drag_and_drop_list
    linkageType: ''
    returnType: void
    signature: void text_drag_drop(TW *tw, HDROP hdrop)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: GlobalAlloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:815,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/psi/dwtext.c:816,1
    - Dst: memcpy
      Src: /src/libspectre/ghostscript/psi/dwtext.c:822,1
    - Dst: wcslen
      Src: /src/libspectre/ghostscript/psi/dwtext.c:841,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/psi/dwtext.c:842,1
    - Dst: GlobalReAlloc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:843,1
    - Dst: OpenClipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:846,1
    - Dst: EmptyClipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:847,1
    - Dst: SetClipboardData
      Src: /src/libspectre/ghostscript/psi/dwtext.c:848,1
    - Dst: CloseClipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:849,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 804
    functionDepth: 0
    functionLinenumber: 804
    functionLinenumberEnd: 850
    functionName: text_copy_to_clipboard
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - wcslen
    - OpenClipboard
    - GlobalUnlock
    - GlobalLock
    - EmptyClipboard
    - CloseClipboard
    - memcpy
    - GlobalReAlloc
    - SetClipboardData
    - GlobalAlloc
    linkageType: ''
    returnType: void
    signature: void text_copy_to_clipboard(TW *tw)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: OpenClipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:858,1
    - Dst: IsClipboardFormatAvailable
      Src: /src/libspectre/ghostscript/psi/dwtext.c:859,1
    - Dst: GetClipboardData
      Src: /src/libspectre/ghostscript/psi/dwtext.c:860,1
    - Dst: GlobalLock
      Src: /src/libspectre/ghostscript/psi/dwtext.c:861,1
    - Dst: GlobalUnlock
      Src: /src/libspectre/ghostscript/psi/dwtext.c:897,1
    - Dst: CloseClipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:899,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 900
    functionName: text_paste_from_clipboard
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - OpenClipboard
    - GlobalUnlock
    - GetClipboardData
    - GlobalLock
    - CloseClipboard
    - IsClipboardFormatAvailable
    linkageType: ''
    returnType: void
    signature: void text_paste_from_clipboard(TW *tw)
  - BBCount: 67
    BranchProfiles: []
    Callsites:
    - Dst: SetWindowLongPtr
      Src: /src/libspectre/ghostscript/psi/dwtext.c:917,1
    - Dst: GetWindowLongPtr
      Src: /src/libspectre/ghostscript/psi/dwtext.c:919,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:923,1
    - Dst: text_copy_to_clipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:925,1
    - Dst: text_paste_from_clipboard
      Src: /src/libspectre/ghostscript/psi/dwtext.c:928,1
    - Dst: CreateCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:934,1
    - Dst: SetCaretPos
      Src: /src/libspectre/ghostscript/psi/dwtext.c:935,1
    - Dst: ShowCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:939,1
    - Dst: DestroyCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:942,1
    - Dst: IsIconic
      Src: /src/libspectre/ghostscript/psi/dwtext.c:946,1
    - Dst: IsZoomed
      Src: /src/libspectre/ghostscript/psi/dwtext.c:946,1
    - Dst: GetWindowRect
      Src: /src/libspectre/ghostscript/psi/dwtext.c:947,1
    - Dst: GetWindowRect
      Src: /src/libspectre/ghostscript/psi/dwtext.c:958,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:965,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:966,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:968,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:969,1
    - Dst: UpdateScrollBarY
      Src: /src/libspectre/ghostscript/psi/dwtext.c:971,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:973,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:974,1
    - Dst: UpdateScrollBarX
      Src: /src/libspectre/ghostscript/psi/dwtext.c:976,1
    - Dst: SetCaretPos
      Src: /src/libspectre/ghostscript/psi/dwtext.c:979,1
    - Dst: ShowCaret
      Src: /src/libspectre/ghostscript/psi/dwtext.c:982,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:986,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1000,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1003,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1006,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1011,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1012,1
    - Dst: ScrollWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1015,1
    - Dst: UpdateScrollBarY
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1016,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1017,1
    - Dst: LOWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1021,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1029,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1032,1
    - Dst: HIWORD
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1035,1
    - Dst: max
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1040,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1041,1
    - Dst: ScrollWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1044,1
    - Dst: UpdateScrollBarX
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1045,1
    - Dst: UpdateWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1046,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1052,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1055,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1058,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1061,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1064,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1067,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1070,1
    - Dst: SendMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1073,1
    - Dst: BeginPaint
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1119,1
    - Dst: SelectFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1120,1
    - Dst: SetMapMode
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1121,1
    - Dst: SetBkMode
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1122,1
    - Dst: GetClientRect
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1123,1
    - Dst: TextOutW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1140,1
    - Dst: EndPaint
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1147,1
    - Dst: text_drag_drop
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1151,1
    - Dst: GetWindowRect
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1161,1
    - Dst: GetClientRect
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1162,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1163,1
    - Dst: min
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1164,1
    - Dst: MoveWindow
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1165,1
    - Dst: DragAcceptFiles
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1171,1
    - Dst: GetWindowText
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1178,1
    - Dst: lstrcpyW
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1180,1
    - Dst: SetWindowText
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1181,1
    - Dst: DragAcceptFiles
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1187,1
    - Dst: DeleteFont
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1189,1
    - Dst: PostQuitMessage
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1192,1
    - Dst: DefWindowProc
      Src: /src/libspectre/ghostscript/psi/dwtext.c:1195,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 241
    argCount: 4
    argNames:
    - hwnd
    - message
    - wParam
    - lParam
    argTypes:
    - HWND
    - UINT
    - WPARAM
    - LPARAM
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 903
    functionDepth: 6
    functionLinenumber: 903
    functionLinenumberEnd: 1196
    functionName: WndTextProc
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 0
    functionsReached:
    - DestroyCaret
    - GetWindowText
    - text_copy_to_clipboard
    - max
    - DefWindowProc
    - HIWORD
    - UpdateWindow
    - SelectFont
    - IsZoomed
    - text_drag_drop
    - EndPaint
    - BeginPaint
    - lstrcpyW
    - SetCaretPos
    - UpdateScrollBarX
    - GetWindowRect
    - SetWindowLongPtr
    - SetWindowText
    - min
    - LOWORD
    - DeleteFont
    - DragAcceptFiles
    - IsIconic
    - SetMapMode
    - SendMessage
    - ScrollWindow
    - text_paste_from_clipboard
    - CreateCaret
    - ShowCaret
    - UpdateScrollBarY
    - SetBkMode
    - MoveWindow
    - PostQuitMessage
    - GetWindowLongPtr
    - TextOutW
    - GetClientRect
    linkageType: ''
    returnType: LRESULT
    signature: LRESULT WndTextProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM
      lParam)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tw
    argTypes:
    - TW*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1201
      start: 1198
    functionDepth: 0
    functionLinenumber: 1198
    functionLinenumberEnd: 1201
    functionName: text_get_handle
    functionSourceFile: /src/libspectre/ghostscript/psi/dwtext.c
    functionUses: 1
    functionsRe